feat: update SDK integration for @clinebot 0.0.35#377
Conversation
abeatrix
commented
Apr 21, 2026
- switch Kanban dependencies from local SDK links to published @clinebot/{shared,llms,agents,core} 0.0.35
- update runtime/session boundary code to match the current core session host and start-session contracts
- refresh SDK event typings to include newer session events and hook kinds
- update provider boundary imports for the current @clinebot/core export surface
- adapt system prompt construction to the latest getClineDefaultSystemPrompt options API
- remove temporary local-workspace TS path overrides and legacy persistence fallback introduced during branch-compat work
- fix Kanban type issues surfaced by the stricter 0.0.35 SDK typings
- switch Kanban dependencies from local SDK links to published
@clinebot/{shared,llms,agents,core} 0.0.35
- update runtime/session boundary code to match the current core session
host and start-session contracts
- refresh SDK event typings to include newer session events and hook kinds
- update provider boundary imports for the current @clinebot/core export
surface
- adapt system prompt construction to the latest getClineDefaultSystemPrompt
options API
- remove temporary local-workspace TS path overrides and legacy persistence
fallback introduced during branch-compat work
- fix Kanban type issues surfaced by the stricter 0.0.35 SDK typings
Greptile SummaryThis PR migrates the Kanban SDK integration from Confidence Score: 5/5Safe to merge; all contract-breaking API changes are correctly adapted and tests are updated. All P0/P1-class concerns are addressed: import paths, factory API, start-session contract, system-prompt options, and session-title persistence are all correctly updated. The one remaining finding ( src/cline-sdk/cline-session-runtime.ts — Important Files Changed
Sequence DiagramsequenceDiagram
participant K as Kanban
participant RT as InMemoryClineSessionRuntime
participant SH as SessionHost (ClineCore.create)
K->>RT: startTaskSession(request)
RT->>SH: start({ config, prompt, localRuntime: { userInstructionWatcher } })
SH-->>RT: { sessionId, result }
RT->>SH: update?(sessionId, { title })
Note over RT,SH: best-effort only, errors swallowed
K->>RT: sendTaskSessionInput(taskId, prompt, mode)
RT->>SH: send({ sessionId, prompt, delivery? })
Note over RT,SH: mode change via internal cast (may silently fail)
K->>RT: stopTaskSession / abortTaskSession
RT->>SH: stop(sessionId) / abort(sessionId)
SH-->>RT: ended event
RT->>RT: clearTaskSessionBinding + releaseTaskMcpToolBundle
|