feat(cli): add workspace management and MCP operations - #704
Merged
Merged
Conversation
This comment has been minimized.
This comment has been minimized.
Adds workspace lifecycle commands backed by the upstream pinner workspace catalog. Exposes workspace list, create, get, attach, suspend, resume, access, and delete operations through the CLI and MCP surfaces. Uses pinner tip 17000af806af499c104f3c0bcaed00c3bc927d4e and removes the local module replacement.
pcfreak30
force-pushed
the
feat/workspace-support
branch
from
September 13, 2026 16:20
1b1d71c to
c858adf
Compare
This comment has been minimized.
This comment has been minimized.
buildCatalogOpsDeps populated every catalogops domain except Workspaces,
leaving deps.Workspaces as a zero WorkspacesDeps{} (all-nil service
functions). The MCP assembly threads deps.Workspaces and the workspaces
domain is enabled on the surface, so every workspaces_* operation was
advertised yet failed at invocation with a service-unavailable error.
Mirror the Websites line by wiring catalogWorkspacesDeps into the bundle.
Add a regression test pinning that the workspaces domain assembles into
the production MCP surface built from buildCatalogOpsDeps.
Kody Review CompleteGreat news! 🎉 Keep up the excellent work! 🚀 Kody Guide: Usage and ConfigurationInteracting with Kody
Current Kody ConfigurationReview OptionsThe following review options are enabled or disabled:
|
Code Coverage ReportTotal Coverage: 55.2% Generated from commit: 39158a1 |
pcfreak30
marked this pull request as ready for review
September 13, 2026 16:25
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.
Adds workspace lifecycle commands backed by the upstream pinner workspace catalog.
Exposes workspace list, create, get, attach, suspend, resume, access, and delete operations through the CLI and MCP surfaces.
Uses pinner tip
17000af806af499c104f3c0bcaed00c3bc927d4eand removes the local module replacement.This pull request adds a comprehensive new workspaces domain to both the CLI and MCP surfaces, enabling management of isolated workspaces (runtimes with their own portal API key and proxy endpoint, distinct from the website domain-to-CID mapping).
Key changes
New CLI command tree (
workspaces)workspacescommand with eight catalog-driven subcommands:list(withlsalias),create,get,attach,suspend,resume,access, anddelete.internal/catalogops) via the existing shape/compile pipeline, keeping shape and behavior declarations consistent with other domains.workspaces deleteoperation is marked destructive, so the shared pipeline requires--force/--confirmbefore proceeding.workspaces accessoperation (which returns sensitive proxy Basic Auth credentials) is human-only — it is discoverable but never executed by agent/model actors, and its output is rendered as labeled fields rather than table rows.MCP surface integration
AssembleCatalogOpsso they are exposed as MCP tools.Workspacesflag toDomainScope, enabled for both full and hosted surfaces, with a correspondingWorkspacesOn()accessor.workspaces_accessop (kept behind theneeds_humangate), matching the full-surface behavior.Wiring and rendering
catalog_workspaces_wiring.goto adapt catalog operations to urfave CLI actions, instantiate workspace services, and enforce the destructive gate and auth-token overrides.Tests
workspacescommand tree exists with the expected subcommands, thelsalias, thatresolveis intentionally absent, and thatdeleteexposes force flags.workspaces_accessis gated human-only at the catalog layer.resolve, and keeps the credential op gated.Overall, this PR delivers a complete, safe, user-facing workspace management capability across CLI and MCP, with careful handling of destructive actions and sensitive credentials.