Repository navigation
feat(cli): add session host registry and kilo cloud adapter - #15351
Merged
Merged
Conversation
Contributor
Code Review SummaryStatus: No Issues Found | Recommendation: Merge The follow-up commit addresses the previously raised findings: idempotent starts now require a stable Files Reviewed (4 files)
Previous Review Summary (commit 2f452d7)Current summary above is authoritative. Previous snapshots are kept for context only. Previous review (commit 2f452d7)Status: 4 Issues Found | Recommendation: Address before merge Overview
Issue Details (click to expand)WARNING
SUGGESTION
Files Reviewed (9 files)
Reviewed by deepseek-flash-latest · Input: 54.9K · Output: 9.4K · Cached: 502.7K Review guidance: REVIEW.md from base branch |
pandemicsyn
approved these changes
Oct 21, 2026
Contributor
|
Tracked for the opencode v2 rewrite in #15352 ( |
This was referenced Oct 21, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Task Board
This PR is part of the Kilo Task Board and implements task-board issue #5.
What Problem This Solves
Kilo clients can already start and follow cloud agent work through a CLI-specific client, but core has no provider-neutral way to describe a session that may not live in the local runtime. Every consumer currently has to know Cloud-specific identities, transport details, and error shapes, which makes local and hosted sessions hard to combine safely.
Why This Change Was Made
Introduce the internal Session Host seam before any local API or IDE integration is added. The seam keeps hosted identity composite (
providerID+ native session ID), so equal remote IDs from different providers cannot collide, and keeps provider availability, transport state, and native turn state as separate concepts. Durability and retryability are reported independently, so a temporary runtime or network failure never hides readable history.Changes:
kilo-cloudprovider with list, get, bounded transcript, start, and an attach descriptor. It reuses Kilo account auth, organization headers, origin validation, Cloud base configuration, and reads the current stored credential per operation.retryableflags, and treat an ambiguous start as retryable only when the caller supplies an idempotency key.workspace_*control identities and thedesktopcreation origin in the existing Kilo-owned Cloud start contract, matching the Cloud start schema this adapter consumes.User Impact
No user-visible behavior changes yet. This is the internal boundary that later hosted-session discovery, attach, and IDE work will consume. Local-only behavior is unchanged, and a signed-out account produces an actionable unavailable state instead of a silent fallback to local execution.
Screenshots / Video
N/A - no visual changes.
Evidence
bun test ./test/kilocode/session-hosting/(frompackages/opencode/): 16 passed, 0 failed.bun test --timeout 30000 ./test/kilocode/cloud/(frompackages/opencode/): 50 passed, 0 failed.bun run typecheck(frompackages/opencode/, also executed by the pre-push hook including the JetBrains plugin): passed.bunx oxlint packages/opencode/src/kilocode/session-hosting packages/opencode/test/kilocode/session-hosting: 0 errors.bun run script/check-opencode-promise-facades.ts: no runtime drift.bun run script/check-opencode-annotations.ts --worktree: no shared upstream source files changed.@kilocode/cli.Dependency
The Cloud-side native session facade and its idempotent start behavior are already merged in
Kilo-Org/cloud. This PR adds no runtime flag, migration, or SDK regeneration; the local attachment/HTTP surface and IDE consumption are follow-up work.