@xingular/harness 2.0.0 → 2.0.1-unstable
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +635 -0
- package/LICENSE +202 -0
- package/NOTICE.md +50 -0
- package/README.md +241 -90
- package/THIRD_PARTY_LICENSES.md +942 -0
- package/browser-extension/README.md +32 -0
- package/browser-extension/background.js +612 -0
- package/browser-extension/manifest.json +16 -0
- package/browser-extension/overlay.js +97 -0
- package/browser-extension/popup.css +19 -0
- package/browser-extension/popup.html +30 -0
- package/browser-extension/popup.js +101 -0
- package/browser-extension/site-access.js +63 -0
- package/builtin/skills/plugin-authoring/SKILL.md +53 -0
- package/dist/cli.js +32851 -17155
- package/dist/sdk/accounts/accounts.d.ts +195 -0
- package/dist/sdk/accounts/accounts.js +821 -0
- package/dist/sdk/accounts/choices.d.ts +41 -0
- package/dist/sdk/accounts/choices.js +89 -0
- package/dist/sdk/accounts/env.d.ts +78 -0
- package/dist/sdk/accounts/env.js +294 -0
- package/dist/sdk/accounts/secrets.d.ts +28 -0
- package/dist/sdk/accounts/secrets.js +147 -0
- package/dist/sdk/accounts/store.d.ts +139 -0
- package/dist/sdk/accounts/store.js +255 -0
- package/dist/sdk/agents/builtin.d.ts +2 -0
- package/dist/sdk/agents/builtin.js +50 -0
- package/dist/sdk/agents/narrow.d.ts +13 -0
- package/dist/sdk/agents/narrow.js +29 -0
- package/dist/sdk/agents/planResearch.d.ts +27 -0
- package/dist/sdk/agents/planResearch.js +82 -0
- package/dist/sdk/agents/profiles.d.ts +93 -0
- package/dist/sdk/agents/profiles.js +289 -0
- package/dist/sdk/annotations/bridge.d.ts +44 -0
- package/dist/sdk/annotations/bridge.js +268 -0
- package/dist/sdk/annotations/capture.d.ts +158 -0
- package/dist/sdk/annotations/capture.js +409 -0
- package/dist/sdk/annotations/delivery.d.ts +79 -0
- package/dist/sdk/annotations/delivery.js +163 -0
- package/dist/sdk/annotations/inspect.d.ts +10 -0
- package/dist/sdk/annotations/inspect.js +34 -0
- package/dist/sdk/annotations/isolated.d.ts +6 -0
- package/dist/sdk/annotations/isolated.js +51 -0
- package/dist/sdk/annotations/pageScript.d.ts +28 -0
- package/dist/sdk/annotations/pageScript.js +871 -0
- package/dist/sdk/annotations/part.d.ts +8 -0
- package/dist/sdk/annotations/part.js +126 -0
- package/dist/sdk/annotations/queue.d.ts +4 -0
- package/dist/sdk/annotations/queue.js +45 -0
- package/dist/sdk/annotations/serverMethods.d.ts +3 -0
- package/dist/sdk/annotations/serverMethods.js +66 -0
- package/dist/sdk/annotations/store.d.ts +159 -0
- package/dist/sdk/annotations/store.js +404 -0
- package/dist/sdk/browser/backend.d.ts +16 -0
- package/dist/sdk/browser/backend.js +17 -0
- package/dist/sdk/browser/config.d.ts +19 -0
- package/dist/sdk/browser/config.js +23 -0
- package/dist/sdk/browser/contracts.d.ts +19 -0
- package/dist/sdk/browser/contracts.js +116 -0
- package/dist/sdk/browser/diagnostics.d.ts +4 -0
- package/dist/sdk/browser/diagnostics.js +38 -0
- package/dist/sdk/browser/extension/bridge.d.ts +55 -0
- package/dist/sdk/browser/extension/bridge.js +336 -0
- package/dist/sdk/browser/extension/session.d.ts +50 -0
- package/dist/sdk/browser/extension/session.js +321 -0
- package/dist/sdk/browser/index.d.ts +33 -0
- package/dist/sdk/browser/index.js +105 -0
- package/dist/sdk/browser/network.d.ts +10 -0
- package/dist/sdk/browser/network.js +59 -0
- package/dist/sdk/browser/serverMethods.d.ts +3 -0
- package/dist/sdk/browser/serverMethods.js +10 -0
- package/dist/sdk/browser/session.d.ts +85 -0
- package/dist/sdk/browser/session.js +228 -0
- package/dist/sdk/browser/tools.d.ts +102 -0
- package/dist/sdk/browser/tools.js +257 -0
- package/dist/sdk/capabilities/api.d.ts +22 -0
- package/dist/sdk/capabilities/api.js +54 -0
- package/dist/sdk/capabilities/runSnapshot.d.ts +18 -0
- package/dist/sdk/capabilities/runSnapshot.js +53 -0
- package/dist/sdk/capabilities/types.d.ts +29 -0
- package/dist/sdk/capabilities/types.js +1 -0
- package/dist/sdk/cli.d.ts +2 -0
- package/dist/sdk/cli.js +172 -0
- package/dist/sdk/commands/extensionOwners.d.ts +4 -0
- package/dist/sdk/commands/extensionOwners.js +17 -0
- package/dist/sdk/commands/list.d.ts +3 -0
- package/dist/sdk/commands/list.js +90 -0
- package/dist/sdk/commands/promptLoader.d.ts +5 -0
- package/dist/sdk/commands/promptLoader.js +76 -0
- package/dist/sdk/commands/promptRoutes.d.ts +13 -0
- package/dist/sdk/commands/promptRoutes.js +46 -0
- package/dist/sdk/commands/registry.d.ts +299 -0
- package/dist/sdk/commands/registry.js +54 -0
- package/dist/sdk/commands/routes.d.ts +16 -0
- package/dist/sdk/commands/routes.js +33 -0
- package/dist/sdk/commands/runtimeRouter.d.ts +4 -0
- package/dist/sdk/commands/runtimeRouter.js +48 -0
- package/dist/sdk/computer/boundary.d.ts +40 -0
- package/dist/sdk/computer/boundary.js +79 -0
- package/dist/sdk/computer/contracts.d.ts +127 -0
- package/dist/sdk/computer/contracts.js +13 -0
- package/dist/sdk/computer/control.d.ts +34 -0
- package/dist/sdk/computer/control.js +112 -0
- package/dist/sdk/computer/screenshot.d.ts +32 -0
- package/dist/sdk/computer/screenshot.js +35 -0
- package/dist/sdk/computer/terminalCapture.d.ts +26 -0
- package/dist/sdk/computer/terminalCapture.js +64 -0
- package/dist/sdk/computer/volatileImages.d.ts +9 -0
- package/dist/sdk/computer/volatileImages.js +50 -0
- package/dist/sdk/context/attribution.d.ts +18 -0
- package/dist/sdk/context/attribution.js +295 -0
- package/dist/sdk/context/runDetails.d.ts +16 -0
- package/dist/sdk/context/runDetails.js +22 -0
- package/dist/sdk/context/types.d.ts +94 -0
- package/dist/sdk/context/types.js +10 -0
- package/dist/sdk/core/bus.d.ts +23 -0
- package/dist/sdk/core/bus.js +76 -0
- package/dist/sdk/core/caller.d.ts +22 -0
- package/dist/sdk/core/caller.js +16 -0
- package/dist/sdk/core/changes.d.ts +15 -0
- package/dist/sdk/core/changes.js +15 -0
- package/dist/sdk/core/commandBudget.d.ts +23 -0
- package/dist/sdk/core/commandBudget.js +62 -0
- package/dist/sdk/core/effort.d.ts +2 -0
- package/dist/sdk/core/effort.js +1 -0
- package/dist/sdk/core/env.d.ts +18 -0
- package/dist/sdk/core/env.js +8 -0
- package/dist/sdk/core/errors.d.ts +15 -0
- package/dist/sdk/core/errors.js +24 -0
- package/dist/sdk/core/frontmatter.d.ts +12 -0
- package/dist/sdk/core/frontmatter.js +50 -0
- package/dist/sdk/core/fs.d.ts +18 -0
- package/dist/sdk/core/fs.js +106 -0
- package/dist/sdk/core/index.d.ts +24 -0
- package/dist/sdk/core/index.js +203 -0
- package/dist/sdk/core/interactiveProfile.d.ts +46 -0
- package/dist/sdk/core/interactiveProfile.js +143 -0
- package/dist/sdk/core/links.d.ts +51 -0
- package/dist/sdk/core/links.js +155 -0
- package/dist/sdk/core/path.d.ts +7 -0
- package/dist/sdk/core/path.js +79 -0
- package/dist/sdk/core/projects.d.ts +18 -0
- package/dist/sdk/core/projects.js +67 -0
- package/dist/sdk/core/secrets.d.ts +2 -0
- package/dist/sdk/core/secrets.js +5 -0
- package/dist/sdk/core/shell.d.ts +20 -0
- package/dist/sdk/core/shell.js +73 -0
- package/dist/sdk/core/text.d.ts +7 -0
- package/dist/sdk/core/text.js +40 -0
- package/dist/sdk/core/workspace.d.ts +13 -0
- package/dist/sdk/core/workspace.js +88 -0
- package/dist/sdk/core/workspaceBashTool.d.ts +20 -0
- package/dist/sdk/core/workspaceBashTool.js +50 -0
- package/dist/sdk/core/workspaceSandbox.d.ts +41 -0
- package/dist/sdk/core/workspaceSandbox.js +360 -0
- package/dist/sdk/core/workspaceWriteOperations.d.ts +57 -0
- package/dist/sdk/core/workspaceWriteOperations.js +245 -0
- package/dist/sdk/doctor/checks.d.ts +5 -0
- package/dist/sdk/doctor/checks.js +270 -0
- package/dist/sdk/doctor/probe.d.ts +4 -0
- package/dist/sdk/doctor/probe.js +94 -0
- package/dist/sdk/doctor/serverMethods.d.ts +3 -0
- package/dist/sdk/doctor/serverMethods.js +8 -0
- package/dist/sdk/doctor/service.d.ts +23 -0
- package/dist/sdk/doctor/service.js +144 -0
- package/dist/sdk/doctor/types.d.ts +141 -0
- package/dist/sdk/doctor/types.js +29 -0
- package/dist/sdk/harness.d.ts +172 -0
- package/dist/sdk/harness.js +387 -0
- package/dist/sdk/history/lessonPrompt.d.ts +2 -0
- package/dist/sdk/history/lessonPrompt.js +15 -0
- package/dist/sdk/history/lessons.d.ts +52 -0
- package/dist/sdk/history/lessons.js +173 -0
- package/dist/sdk/history/recall.d.ts +68 -0
- package/dist/sdk/history/recall.js +199 -0
- package/dist/sdk/history/serverMethods.d.ts +3 -0
- package/dist/sdk/history/serverMethods.js +8 -0
- package/dist/sdk/history/trajectory.d.ts +7 -0
- package/dist/sdk/history/trajectory.js +218 -0
- package/dist/sdk/hub/catalog.json +123 -0
- package/dist/sdk/hub/cli.d.ts +7 -0
- package/dist/sdk/hub/cli.js +81 -0
- package/dist/sdk/hub/hub.d.ts +74 -0
- package/dist/sdk/hub/hub.js +476 -0
- package/dist/sdk/hub/schema.d.ts +280 -0
- package/dist/sdk/hub/schema.js +78 -0
- package/dist/sdk/hub/serverMethods.d.ts +3 -0
- package/dist/sdk/hub/serverMethods.js +11 -0
- package/dist/sdk/index.d.ts +80 -0
- package/dist/sdk/index.js +60 -0
- package/dist/sdk/mcp/connections.d.ts +83 -0
- package/dist/sdk/mcp/connections.js +676 -0
- package/dist/sdk/mcp/manager.d.ts +26 -0
- package/dist/sdk/mcp/manager.js +124 -0
- package/dist/sdk/mcp/oauth.d.ts +35 -0
- package/dist/sdk/mcp/oauth.js +171 -0
- package/dist/sdk/mcp/scopeMigration.d.ts +19 -0
- package/dist/sdk/mcp/scopeMigration.js +198 -0
- package/dist/sdk/mcp/serverMethods.d.ts +3 -0
- package/dist/sdk/mcp/serverMethods.js +22 -0
- package/dist/sdk/mcp/service.d.ts +160 -0
- package/dist/sdk/mcp/service.js +510 -0
- package/dist/sdk/mcp/types.d.ts +131 -0
- package/dist/sdk/mcp/types.js +49 -0
- package/dist/sdk/pi/retryPolicy.d.ts +19 -0
- package/dist/sdk/pi/retryPolicy.js +11 -0
- package/dist/sdk/pi/runtime.d.ts +14 -0
- package/dist/sdk/pi/runtime.js +31 -0
- package/dist/sdk/plugins/api.d.ts +66 -0
- package/dist/sdk/plugins/api.js +155 -0
- package/dist/sdk/plugins/attachments.d.ts +46 -0
- package/dist/sdk/plugins/attachments.js +111 -0
- package/dist/sdk/plugins/builtin.d.ts +7 -0
- package/dist/sdk/plugins/builtin.js +182 -0
- package/dist/sdk/plugins/builtinRegistry.d.ts +62 -0
- package/dist/sdk/plugins/builtinRegistry.js +77 -0
- package/dist/sdk/plugins/catalogue.d.ts +29 -0
- package/dist/sdk/plugins/catalogue.js +197 -0
- package/dist/sdk/plugins/cli.d.ts +13 -0
- package/dist/sdk/plugins/cli.js +188 -0
- package/dist/sdk/plugins/commandPrefix.d.ts +8 -0
- package/dist/sdk/plugins/commandPrefix.js +21 -0
- package/dist/sdk/plugins/discover.d.ts +48 -0
- package/dist/sdk/plugins/discover.js +230 -0
- package/dist/sdk/plugins/firstParty.d.ts +50 -0
- package/dist/sdk/plugins/firstParty.js +119 -0
- package/dist/sdk/plugins/hooks.d.ts +94 -0
- package/dist/sdk/plugins/hooks.js +162 -0
- package/dist/sdk/plugins/identity.d.ts +19 -0
- package/dist/sdk/plugins/identity.js +48 -0
- package/dist/sdk/plugins/install.d.ts +24 -0
- package/dist/sdk/plugins/install.js +160 -0
- package/dist/sdk/plugins/inventory.d.ts +22 -0
- package/dist/sdk/plugins/inventory.js +111 -0
- package/dist/sdk/plugins/manifest.d.ts +21 -0
- package/dist/sdk/plugins/manifest.js +94 -0
- package/dist/sdk/plugins/plugins.d.ts +106 -0
- package/dist/sdk/plugins/plugins.js +165 -0
- package/dist/sdk/plugins/proposals.d.ts +17 -0
- package/dist/sdk/plugins/proposals.js +147 -0
- package/dist/sdk/plugins/runtime.d.ts +9 -0
- package/dist/sdk/plugins/runtime.js +95 -0
- package/dist/sdk/plugins/surfaces.d.ts +5 -0
- package/dist/sdk/plugins/surfaces.js +11 -0
- package/dist/sdk/plugins/trust.d.ts +44 -0
- package/dist/sdk/plugins/trust.js +120 -0
- package/dist/sdk/plugins/types.d.ts +174 -0
- package/dist/sdk/plugins/types.js +7 -0
- package/dist/sdk/prompt/compile.d.ts +245 -0
- package/dist/sdk/prompt/compile.js +535 -0
- package/dist/sdk/prompt/reporting.d.ts +2 -0
- package/dist/sdk/prompt/reporting.js +94 -0
- package/dist/sdk/prompt/standard.d.ts +32 -0
- package/dist/sdk/prompt/standard.js +76 -0
- package/dist/sdk/refine/cli.d.ts +4 -0
- package/dist/sdk/refine/cli.js +186 -0
- package/dist/sdk/refine/demo.d.ts +21 -0
- package/dist/sdk/refine/demo.js +114 -0
- package/dist/sdk/refine/evidence.d.ts +55 -0
- package/dist/sdk/refine/evidence.js +330 -0
- package/dist/sdk/refine/host.d.ts +59 -0
- package/dist/sdk/refine/host.js +105 -0
- package/dist/sdk/refine/ledger.d.ts +48 -0
- package/dist/sdk/refine/ledger.js +76 -0
- package/dist/sdk/refine/library.d.ts +55 -0
- package/dist/sdk/refine/library.js +177 -0
- package/dist/sdk/refine/pi.d.ts +72 -0
- package/dist/sdk/refine/pi.js +248 -0
- package/dist/sdk/refine/prompts.d.ts +60 -0
- package/dist/sdk/refine/prompts.js +434 -0
- package/dist/sdk/refine/recursion.d.ts +113 -0
- package/dist/sdk/refine/recursion.js +258 -0
- package/dist/sdk/refine/runner.d.ts +83 -0
- package/dist/sdk/refine/runner.js +151 -0
- package/dist/sdk/refine/selection.d.ts +57 -0
- package/dist/sdk/refine/selection.js +251 -0
- package/dist/sdk/refine/serverMethods.d.ts +3 -0
- package/dist/sdk/refine/serverMethods.js +23 -0
- package/dist/sdk/refine/service.d.ts +115 -0
- package/dist/sdk/refine/service.js +280 -0
- package/dist/sdk/refine/suite.d.ts +67 -0
- package/dist/sdk/refine/suite.js +174 -0
- package/dist/sdk/refine/trajectory.d.ts +9 -0
- package/dist/sdk/refine/trajectory.js +73 -0
- package/dist/sdk/refine/types.d.ts +93 -0
- package/dist/sdk/refine/types.js +10 -0
- package/dist/sdk/remote/addresses.d.ts +19 -0
- package/dist/sdk/remote/addresses.js +52 -0
- package/dist/sdk/remote/pairing.d.ts +59 -0
- package/dist/sdk/remote/pairing.js +160 -0
- package/dist/sdk/remote/seal.d.ts +28 -0
- package/dist/sdk/remote/seal.js +84 -0
- package/dist/sdk/remote/server.d.ts +28 -0
- package/dist/sdk/remote/server.js +158 -0
- package/dist/sdk/remote/service.d.ts +125 -0
- package/dist/sdk/remote/service.js +330 -0
- package/dist/sdk/remote/webClient.d.ts +4 -0
- package/dist/sdk/remote/webClient.js +452 -0
- package/dist/sdk/server/methods.d.ts +3 -0
- package/dist/sdk/server/methods.js +365 -0
- package/dist/sdk/server/params.d.ts +4 -0
- package/dist/sdk/server/params.js +11 -0
- package/dist/sdk/server/remote.d.ts +19 -0
- package/dist/sdk/server/remote.js +109 -0
- package/dist/sdk/server/rpc.d.ts +20 -0
- package/dist/sdk/server/rpc.js +102 -0
- package/dist/sdk/server/serve.d.ts +13 -0
- package/dist/sdk/server/serve.js +25 -0
- package/dist/sdk/server/socket.d.ts +28 -0
- package/dist/sdk/server/socket.js +122 -0
- package/dist/sdk/sessions/approvals.d.ts +47 -0
- package/dist/sdk/sessions/approvals.js +119 -0
- package/dist/sdk/sessions/checkpoint.d.ts +7 -0
- package/dist/sdk/sessions/checkpoint.js +41 -0
- package/dist/sdk/sessions/compactionCheckpoint.d.ts +18 -0
- package/dist/sdk/sessions/compactionCheckpoint.js +79 -0
- package/dist/sdk/sessions/completionCheck.d.ts +51 -0
- package/dist/sdk/sessions/completionCheck.js +161 -0
- package/dist/sdk/sessions/continuation.d.ts +53 -0
- package/dist/sdk/sessions/continuation.js +90 -0
- package/dist/sdk/sessions/contracts.d.ts +991 -0
- package/dist/sdk/sessions/contracts.js +545 -0
- package/dist/sdk/sessions/control.d.ts +72 -0
- package/dist/sdk/sessions/control.js +158 -0
- package/dist/sdk/sessions/extensionUi.d.ts +19 -0
- package/dist/sdk/sessions/extensionUi.js +64 -0
- package/dist/sdk/sessions/goal.d.ts +145 -0
- package/dist/sdk/sessions/goal.js +405 -0
- package/dist/sdk/sessions/goalLoop.d.ts +37 -0
- package/dist/sdk/sessions/goalLoop.js +125 -0
- package/dist/sdk/sessions/goalPrompts.d.ts +4 -0
- package/dist/sdk/sessions/goalPrompts.js +93 -0
- package/dist/sdk/sessions/goalStop.d.ts +27 -0
- package/dist/sdk/sessions/goalStop.js +41 -0
- package/dist/sdk/sessions/history.d.ts +16 -0
- package/dist/sdk/sessions/history.js +68 -0
- package/dist/sdk/sessions/initialBash.d.ts +7 -0
- package/dist/sdk/sessions/initialBash.js +7 -0
- package/dist/sdk/sessions/lineageJoin.d.ts +2 -0
- package/dist/sdk/sessions/lineageJoin.js +61 -0
- package/dist/sdk/sessions/live.d.ts +101 -0
- package/dist/sdk/sessions/live.js +265 -0
- package/dist/sdk/sessions/planMode.d.ts +116 -0
- package/dist/sdk/sessions/planMode.js +281 -0
- package/dist/sdk/sessions/policy.d.ts +43 -0
- package/dist/sdk/sessions/policy.js +1 -0
- package/dist/sdk/sessions/pricing.d.ts +34 -0
- package/dist/sdk/sessions/pricing.js +40 -0
- package/dist/sdk/sessions/reasoningSummaries.d.ts +11 -0
- package/dist/sdk/sessions/reasoningSummaries.js +61 -0
- package/dist/sdk/sessions/registry.d.ts +124 -0
- package/dist/sdk/sessions/registry.js +392 -0
- package/dist/sdk/sessions/runIndex.d.ts +21 -0
- package/dist/sdk/sessions/runIndex.js +65 -0
- package/dist/sdk/sessions/runStore.d.ts +82 -0
- package/dist/sdk/sessions/runStore.js +393 -0
- package/dist/sdk/sessions/runner.d.ts +291 -0
- package/dist/sdk/sessions/runner.js +1040 -0
- package/dist/sdk/sessions/sessionState.d.ts +13 -0
- package/dist/sdk/sessions/sessionState.js +31 -0
- package/dist/sdk/sessions/sessions.d.ts +238 -0
- package/dist/sdk/sessions/sessions.js +923 -0
- package/dist/sdk/sessions/sideQuestionServerMethods.d.ts +3 -0
- package/dist/sdk/sessions/sideQuestionServerMethods.js +19 -0
- package/dist/sdk/sessions/sideQuestions.d.ts +66 -0
- package/dist/sdk/sessions/sideQuestions.js +290 -0
- package/dist/sdk/sessions/stallWatch.d.ts +35 -0
- package/dist/sdk/sessions/stallWatch.js +42 -0
- package/dist/sdk/sessions/subagentServerMethods.d.ts +3 -0
- package/dist/sdk/sessions/subagentServerMethods.js +41 -0
- package/dist/sdk/sessions/subagentService.d.ts +88 -0
- package/dist/sdk/sessions/subagentService.js +546 -0
- package/dist/sdk/sessions/subagents.d.ts +98 -0
- package/dist/sdk/sessions/subagents.js +136 -0
- package/dist/sdk/sessions/workSlice.d.ts +167 -0
- package/dist/sdk/sessions/workSlice.js +266 -0
- package/dist/sdk/sessions/workspaceBoundary.d.ts +15 -0
- package/dist/sdk/sessions/workspaceBoundary.js +46 -0
- package/dist/sdk/terminal/accountsMenu.d.ts +46 -0
- package/dist/sdk/terminal/accountsMenu.js +392 -0
- package/dist/sdk/terminal/browser.d.ts +62 -0
- package/dist/sdk/terminal/browser.js +41 -0
- package/dist/sdk/terminal/browserControl.d.ts +29 -0
- package/dist/sdk/terminal/browserControl.js +187 -0
- package/dist/sdk/terminal/cli.d.ts +20 -0
- package/dist/sdk/terminal/cli.js +121 -0
- package/dist/sdk/terminal/client.d.ts +20 -0
- package/dist/sdk/terminal/client.js +148 -0
- package/dist/sdk/terminal/commandHelp.d.ts +17 -0
- package/dist/sdk/terminal/commandHelp.js +20 -0
- package/dist/sdk/terminal/control.d.ts +4 -0
- package/dist/sdk/terminal/control.js +25 -0
- package/dist/sdk/terminal/controller.d.ts +136 -0
- package/dist/sdk/terminal/controller.js +579 -0
- package/dist/sdk/terminal/credentialStore.d.ts +4 -0
- package/dist/sdk/terminal/credentialStore.js +33 -0
- package/dist/sdk/terminal/daemon.d.ts +44 -0
- package/dist/sdk/terminal/daemon.js +264 -0
- package/dist/sdk/terminal/hubMenu.d.ts +10 -0
- package/dist/sdk/terminal/hubMenu.js +34 -0
- package/dist/sdk/terminal/launch.d.ts +5 -0
- package/dist/sdk/terminal/launch.js +27 -0
- package/dist/sdk/terminal/liveTerminal.d.ts +96 -0
- package/dist/sdk/terminal/liveTerminal.js +436 -0
- package/dist/sdk/terminal/logs.d.ts +14 -0
- package/dist/sdk/terminal/logs.js +59 -0
- package/dist/sdk/terminal/opentui/ansi.d.ts +25 -0
- package/dist/sdk/terminal/opentui/ansi.js +192 -0
- package/dist/sdk/terminal/opentui/model.d.ts +163 -0
- package/dist/sdk/terminal/opentui/model.js +484 -0
- package/dist/sdk/terminal/opentui/subagentsWidget.d.ts +28 -0
- package/dist/sdk/terminal/opentui/subagentsWidget.js +54 -0
- package/dist/sdk/terminal/opentui/theme.d.ts +47 -0
- package/dist/sdk/terminal/opentui/theme.js +93 -0
- package/dist/sdk/terminal/piExtension.d.ts +12 -0
- package/dist/sdk/terminal/piExtension.js +847 -0
- package/dist/sdk/terminal/pluginMenu.d.ts +34 -0
- package/dist/sdk/terminal/pluginMenu.js +101 -0
- package/dist/sdk/terminal/socket.d.ts +73 -0
- package/dist/sdk/terminal/socket.js +287 -0
- package/dist/sdk/terminal/standalone.d.ts +52 -0
- package/dist/sdk/terminal/standalone.js +329 -0
- package/dist/sdk/terminal/subagentMonitor.d.ts +62 -0
- package/dist/sdk/terminal/subagentMonitor.js +176 -0
- package/dist/sdk/terminal/terminals.d.ts +312 -0
- package/dist/sdk/terminal/terminals.js +1782 -0
- package/dist/sdk/terminal/toolName.d.ts +6 -0
- package/dist/sdk/terminal/toolName.js +12 -0
- package/dist/sdk/terminal/trajectory.d.ts +15 -0
- package/dist/sdk/terminal/trajectory.js +38 -0
- package/dist/sdk/terminal/tui/annotateCommand.d.ts +7 -0
- package/dist/sdk/terminal/tui/annotateCommand.js +36 -0
- package/dist/sdk/terminal/tui/annotateSend.d.ts +30 -0
- package/dist/sdk/terminal/tui/annotateSend.js +40 -0
- package/dist/sdk/terminal/tui/chrome.d.ts +68 -0
- package/dist/sdk/terminal/tui/chrome.js +182 -0
- package/dist/sdk/terminal/tui/clipboardFiles.d.ts +11 -0
- package/dist/sdk/terminal/tui/clipboardFiles.js +74 -0
- package/dist/sdk/terminal/tui/commandPages.d.ts +16 -0
- package/dist/sdk/terminal/tui/commandPages.js +136 -0
- package/dist/sdk/terminal/tui/commands.d.ts +71 -0
- package/dist/sdk/terminal/tui/commands.js +496 -0
- package/dist/sdk/terminal/tui/dialogGeometry.d.ts +27 -0
- package/dist/sdk/terminal/tui/dialogGeometry.js +52 -0
- package/dist/sdk/terminal/tui/dialogs.d.ts +81 -0
- package/dist/sdk/terminal/tui/dialogs.js +372 -0
- package/dist/sdk/terminal/tui/goalCommand.d.ts +19 -0
- package/dist/sdk/terminal/tui/goalCommand.js +83 -0
- package/dist/sdk/terminal/tui/harnessRuntime.d.ts +8 -0
- package/dist/sdk/terminal/tui/harnessRuntime.js +771 -0
- package/dist/sdk/terminal/tui/keybindings.d.ts +11 -0
- package/dist/sdk/terminal/tui/keybindings.js +49 -0
- package/dist/sdk/terminal/tui/list.d.ts +86 -0
- package/dist/sdk/terminal/tui/list.js +278 -0
- package/dist/sdk/terminal/tui/markdown.d.ts +16 -0
- package/dist/sdk/terminal/tui/markdown.js +55 -0
- package/dist/sdk/terminal/tui/modeChoices.d.ts +61 -0
- package/dist/sdk/terminal/tui/modeChoices.js +95 -0
- package/dist/sdk/terminal/tui/modelPicker.d.ts +55 -0
- package/dist/sdk/terminal/tui/modelPicker.js +150 -0
- package/dist/sdk/terminal/tui/mouse.d.ts +3 -0
- package/dist/sdk/terminal/tui/mouse.js +3 -0
- package/dist/sdk/terminal/tui/mouseReport.d.ts +30 -0
- package/dist/sdk/terminal/tui/mouseReport.js +80 -0
- package/dist/sdk/terminal/tui/page.d.ts +17 -0
- package/dist/sdk/terminal/tui/page.js +1 -0
- package/dist/sdk/terminal/tui/pageOverlay.d.ts +30 -0
- package/dist/sdk/terminal/tui/pageOverlay.js +183 -0
- package/dist/sdk/terminal/tui/pages/accountsPage.d.ts +76 -0
- package/dist/sdk/terminal/tui/pages/accountsPage.js +409 -0
- package/dist/sdk/terminal/tui/pages/agentsPage.d.ts +74 -0
- package/dist/sdk/terminal/tui/pages/agentsPage.js +193 -0
- package/dist/sdk/terminal/tui/pages/annotatePage.d.ts +148 -0
- package/dist/sdk/terminal/tui/pages/annotatePage.js +576 -0
- package/dist/sdk/terminal/tui/pages/browserPage.d.ts +87 -0
- package/dist/sdk/terminal/tui/pages/browserPage.js +739 -0
- package/dist/sdk/terminal/tui/pages/componentsPage.d.ts +47 -0
- package/dist/sdk/terminal/tui/pages/componentsPage.js +119 -0
- package/dist/sdk/terminal/tui/pages/contextPage.d.ts +91 -0
- package/dist/sdk/terminal/tui/pages/contextPage.js +585 -0
- package/dist/sdk/terminal/tui/pages/doctorPage.d.ts +39 -0
- package/dist/sdk/terminal/tui/pages/doctorPage.js +233 -0
- package/dist/sdk/terminal/tui/pages/followUpQueuePage.d.ts +34 -0
- package/dist/sdk/terminal/tui/pages/followUpQueuePage.js +130 -0
- package/dist/sdk/terminal/tui/pages/hubPage.d.ts +52 -0
- package/dist/sdk/terminal/tui/pages/hubPage.js +292 -0
- package/dist/sdk/terminal/tui/pages/logPage.d.ts +38 -0
- package/dist/sdk/terminal/tui/pages/logPage.js +189 -0
- package/dist/sdk/terminal/tui/pages/permissionsPage.d.ts +44 -0
- package/dist/sdk/terminal/tui/pages/permissionsPage.js +124 -0
- package/dist/sdk/terminal/tui/pages/pluginsPage.d.ts +65 -0
- package/dist/sdk/terminal/tui/pages/pluginsPage.js +519 -0
- package/dist/sdk/terminal/tui/pages/remoteControlPage.d.ts +32 -0
- package/dist/sdk/terminal/tui/pages/remoteControlPage.js +170 -0
- package/dist/sdk/terminal/tui/pages/settingsPage.d.ts +63 -0
- package/dist/sdk/terminal/tui/pages/settingsPage.js +103 -0
- package/dist/sdk/terminal/tui/pages/subagentsPage.d.ts +24 -0
- package/dist/sdk/terminal/tui/pages/subagentsPage.js +155 -0
- package/dist/sdk/terminal/tui/pages/textPage.d.ts +17 -0
- package/dist/sdk/terminal/tui/pages/textPage.js +52 -0
- package/dist/sdk/terminal/tui/pages/trajectoryPage.d.ts +66 -0
- package/dist/sdk/terminal/tui/pages/trajectoryPage.js +490 -0
- package/dist/sdk/terminal/tui/pages/usagePage.d.ts +45 -0
- package/dist/sdk/terminal/tui/pages/usagePage.js +397 -0
- package/dist/sdk/terminal/tui/pages/worktreesPage.d.ts +72 -0
- package/dist/sdk/terminal/tui/pages/worktreesPage.js +203 -0
- package/dist/sdk/terminal/tui/piAdapter.d.ts +17 -0
- package/dist/sdk/terminal/tui/piAdapter.js +46 -0
- package/dist/sdk/terminal/tui/planMode.d.ts +2 -0
- package/dist/sdk/terminal/tui/planMode.js +2 -0
- package/dist/sdk/terminal/tui/pluginCommands.d.ts +16 -0
- package/dist/sdk/terminal/tui/pluginCommands.js +41 -0
- package/dist/sdk/terminal/tui/qr.d.ts +4 -0
- package/dist/sdk/terminal/tui/qr.js +35 -0
- package/dist/sdk/terminal/tui/questionPicker.d.ts +20 -0
- package/dist/sdk/terminal/tui/questionPicker.js +150 -0
- package/dist/sdk/terminal/tui/questions.d.ts +21 -0
- package/dist/sdk/terminal/tui/questions.js +42 -0
- package/dist/sdk/terminal/tui/runtime.d.ts +117 -0
- package/dist/sdk/terminal/tui/runtime.js +544 -0
- package/dist/sdk/terminal/tui/search.d.ts +22 -0
- package/dist/sdk/terminal/tui/search.js +61 -0
- package/dist/sdk/terminal/tui/selection.d.ts +16 -0
- package/dist/sdk/terminal/tui/selection.js +16 -0
- package/dist/sdk/terminal/tui/sessionPicker.d.ts +40 -0
- package/dist/sdk/terminal/tui/sessionPicker.js +141 -0
- package/dist/sdk/terminal/tui/sessionUi.d.ts +3 -0
- package/dist/sdk/terminal/tui/sessionUi.js +30 -0
- package/dist/sdk/terminal/tui/settingsModel.d.ts +14 -0
- package/dist/sdk/terminal/tui/settingsModel.js +195 -0
- package/dist/sdk/terminal/tui/sideQuestion.d.ts +57 -0
- package/dist/sdk/terminal/tui/sideQuestion.js +241 -0
- package/dist/sdk/terminal/tui/skillInvocation.d.ts +28 -0
- package/dist/sdk/terminal/tui/skillInvocation.js +63 -0
- package/dist/sdk/terminal/tui/status.d.ts +18 -0
- package/dist/sdk/terminal/tui/status.js +67 -0
- package/dist/sdk/terminal/tui/theme.d.ts +54 -0
- package/dist/sdk/terminal/tui/theme.js +185 -0
- package/dist/sdk/terminal/tui/thinkingLevels.d.ts +11 -0
- package/dist/sdk/terminal/tui/thinkingLevels.js +31 -0
- package/dist/sdk/terminal/tui/treeModel.d.ts +79 -0
- package/dist/sdk/terminal/tui/treeModel.js +483 -0
- package/dist/sdk/terminal/tui/treePicker.d.ts +49 -0
- package/dist/sdk/terminal/tui/treePicker.js +251 -0
- package/dist/sdk/terminal/tui/ui.d.ts +49 -0
- package/dist/sdk/terminal/tui/ui.js +149 -0
- package/dist/sdk/terminal/tui/variantCommands.d.ts +32 -0
- package/dist/sdk/terminal/tui/variantCommands.js +359 -0
- package/dist/sdk/terminal/tui/workingStatus.d.ts +9 -0
- package/dist/sdk/terminal/tui/workingStatus.js +229 -0
- package/dist/sdk/terminal/variantControl.d.ts +24 -0
- package/dist/sdk/terminal/variantControl.js +145 -0
- package/dist/sdk/tools/askUser.d.ts +6 -0
- package/dist/sdk/tools/askUser.js +92 -0
- package/dist/sdk/tools/defaultSkills.d.ts +23 -0
- package/dist/sdk/tools/defaultSkills.js +46 -0
- package/dist/sdk/tools/definitions.d.ts +32 -0
- package/dist/sdk/tools/definitions.js +133 -0
- package/dist/sdk/tools/dispatch.d.ts +16 -0
- package/dist/sdk/tools/dispatch.js +92 -0
- package/dist/sdk/tools/getCapabilities.d.ts +31 -0
- package/dist/sdk/tools/getCapabilities.js +34 -0
- package/dist/sdk/tools/harnessTools.d.ts +8 -0
- package/dist/sdk/tools/harnessTools.js +20 -0
- package/dist/sdk/tools/sessionName.d.ts +16 -0
- package/dist/sdk/tools/sessionName.js +78 -0
- package/dist/sdk/tools/spawnSubagent.d.ts +4 -0
- package/dist/sdk/tools/spawnSubagent.js +63 -0
- package/dist/sdk/tools/todo.d.ts +15 -0
- package/dist/sdk/tools/todo.js +66 -0
- package/dist/sdk/tools/types.d.ts +48 -0
- package/dist/sdk/tools/types.js +1 -0
- package/dist/sdk/usage/analytics.d.ts +20 -0
- package/dist/sdk/usage/analytics.js +151 -0
- package/dist/sdk/usage/ledger.d.ts +38 -0
- package/dist/sdk/usage/ledger.js +142 -0
- package/dist/sdk/usage/limits/adapters.d.ts +11 -0
- package/dist/sdk/usage/limits/adapters.js +349 -0
- package/dist/sdk/usage/limits/capture.d.ts +8 -0
- package/dist/sdk/usage/limits/capture.js +47 -0
- package/dist/sdk/usage/limits/http.d.ts +12 -0
- package/dist/sdk/usage/limits/http.js +51 -0
- package/dist/sdk/usage/limits/normalize.d.ts +15 -0
- package/dist/sdk/usage/limits/normalize.js +211 -0
- package/dist/sdk/usage/limits/service.d.ts +30 -0
- package/dist/sdk/usage/limits/service.js +176 -0
- package/dist/sdk/usage/limits/types.d.ts +65 -0
- package/dist/sdk/usage/limits/types.js +1 -0
- package/dist/sdk/usage/serverMethods.d.ts +3 -0
- package/dist/sdk/usage/serverMethods.js +22 -0
- package/dist/sdk/usage/service.d.ts +32 -0
- package/dist/sdk/usage/service.js +66 -0
- package/dist/sdk/usage/settings.d.ts +7 -0
- package/dist/sdk/usage/settings.js +28 -0
- package/dist/sdk/usage/types.d.ts +60 -0
- package/dist/sdk/usage/types.js +4 -0
- package/dist/sdk/variant/components.d.ts +34 -0
- package/dist/sdk/variant/components.js +230 -0
- package/dist/sdk/variant/materialise.d.ts +66 -0
- package/dist/sdk/variant/materialise.js +81 -0
- package/dist/sdk/variant/migrate.d.ts +4 -0
- package/dist/sdk/variant/migrate.js +41 -0
- package/dist/sdk/variant/seed.d.ts +20 -0
- package/dist/sdk/variant/seed.js +116 -0
- package/dist/sdk/variant/store.d.ts +114 -0
- package/dist/sdk/variant/store.js +256 -0
- package/dist/sdk/variant/surface.d.ts +56 -0
- package/dist/sdk/variant/surface.js +81 -0
- package/dist/sdk/variant/trust.d.ts +27 -0
- package/dist/sdk/variant/trust.js +64 -0
- package/dist/sdk/variant/variant.d.ts +71 -0
- package/dist/sdk/variant/variant.js +331 -0
- package/dist/sdk/web/markdown.d.ts +10 -0
- package/dist/sdk/web/markdown.js +66 -0
- package/dist/sdk/web/part.d.ts +10 -0
- package/dist/sdk/web/part.js +6 -0
- package/dist/sdk/web/safeRequest.d.ts +34 -0
- package/dist/sdk/web/safeRequest.js +175 -0
- package/dist/sdk/web/search.d.ts +53 -0
- package/dist/sdk/web/search.js +168 -0
- package/dist/sdk/web/serverMethods.d.ts +3 -0
- package/dist/sdk/web/serverMethods.js +7 -0
- package/dist/sdk/web/text.d.ts +2 -0
- package/dist/sdk/web/text.js +7 -0
- package/dist/sdk/web/tools.d.ts +22 -0
- package/dist/sdk/web/tools.js +195 -0
- package/dist/sdk/web/turndown-plugin-gfm.d.ts +4 -0
- package/dist/sdk/wiki/notes.d.ts +68 -0
- package/dist/sdk/wiki/notes.js +297 -0
- package/dist/sdk/wiki/serverMethods.d.ts +3 -0
- package/dist/sdk/wiki/serverMethods.js +26 -0
- package/dist/sdk/worktrees/cli.d.ts +11 -0
- package/dist/sdk/worktrees/cli.js +146 -0
- package/dist/sdk/worktrees/copy.d.ts +9 -0
- package/dist/sdk/worktrees/copy.js +111 -0
- package/dist/sdk/worktrees/git.d.ts +18 -0
- package/dist/sdk/worktrees/git.js +89 -0
- package/dist/sdk/worktrees/serverMethods.d.ts +3 -0
- package/dist/sdk/worktrees/serverMethods.js +30 -0
- package/dist/sdk/worktrees/service.d.ts +73 -0
- package/dist/sdk/worktrees/service.js +483 -0
- package/dist/sdk/worktrees/setup.d.ts +23 -0
- package/dist/sdk/worktrees/setup.js +65 -0
- package/dist/sdk/worktrees/snapshot.d.ts +16 -0
- package/dist/sdk/worktrees/snapshot.js +83 -0
- package/dist/sdk/worktrees/types.d.ts +91 -0
- package/dist/sdk/worktrees/types.js +1 -0
- package/dist/sdk/world/actions.d.ts +23 -0
- package/dist/sdk/world/actions.js +31 -0
- package/dist/sdk/world/cli.d.ts +12 -0
- package/dist/sdk/world/cli.js +166 -0
- package/dist/sdk/world/images.d.ts +20 -0
- package/dist/sdk/world/images.js +48 -0
- package/dist/sdk/world/untrusted.d.ts +12 -0
- package/dist/sdk/world/untrusted.js +20 -0
- package/dist/sdk/world/world.d.ts +75 -0
- package/dist/sdk/world/world.js +117 -0
- package/dist/terminal-opentui.js +30986 -0
- package/dist/terminal-pi.js +3008 -610
- package/docs/README.md +45 -1
- package/docs/architecture/00-overview.md +171 -0
- package/docs/architecture/01-extension-points.md +78 -0
- package/docs/architecture/02-sessions-and-runs.md +505 -0
- package/docs/architecture/03-variants.md +122 -0
- package/docs/architecture/04-prompt.md +277 -0
- package/docs/architecture/05-refinement.md +134 -0
- package/docs/architecture/06-plugins-and-capabilities.md +208 -0
- package/docs/architecture/07-tools-and-gate.md +245 -0
- package/docs/architecture/08-memory-and-history.md +100 -0
- package/docs/architecture/09-accounts-and-connectors.md +153 -0
- package/docs/architecture/10-server-protocol.md +403 -0
- package/docs/architecture/11-terminal.md +555 -0
- package/docs/architecture/12-storage.md +118 -0
- package/docs/architecture/13-world-tools.md +114 -0
- package/docs/architecture/14-surfaces-and-parity.md +151 -0
- package/docs/architecture/15-remote-control.md +120 -0
- package/docs/architecture/README.md +143 -0
- package/docs/architecture/proposals/PROP-0001-reporting-section.md +106 -0
- package/docs/architecture/proposals/PROP-0002-retain-rollout-workspaces.md +104 -0
- package/docs/architecture/proposals/PROP-0003-executor-settings.md +81 -0
- package/docs/architecture/proposals/PROP-0004-flexible-reporting-guidance.md +71 -0
- package/docs/architecture/proposals/PROP-0005-xharness-cli-name.md +78 -0
- package/docs/architecture/proposals/PROP-0006-run-checklist.md +72 -0
- package/docs/architecture/proposals/PROP-0007-run-continuation.md +80 -0
- package/docs/architecture/proposals/PROP-0008-lessons-from-runs.md +80 -0
- package/docs/architecture/proposals/PROP-0009-foundation-and-variants.md +78 -0
- package/docs/architecture/proposals/PROP-0010-session-names.md +73 -0
- package/docs/architecture/proposals/PROP-0011-doctor.md +63 -0
- package/docs/architecture/proposals/PROP-0012-release-baseline.md +56 -0
- package/docs/architecture/proposals/PROP-0013-resource-browser.md +58 -0
- package/docs/architecture/proposals/PROP-0014-fullscreen-browser-tabs.md +58 -0
- package/docs/architecture/proposals/PROP-0015-one-capability-surface.md +88 -0
- package/docs/architecture/proposals/PROP-0016-managed-worktrees.md +156 -0
- package/docs/architecture/proposals/PROP-0017-page-annotations.md +131 -0
- package/docs/architecture/proposals/PROP-0018-annotation-queue-and-app-targets.md +183 -0
- package/docs/architecture/proposals/PROP-0019-contextual-side-questions.md +122 -0
- package/docs/architecture/proposals/PROP-0020-builtin-feature-plugins.md +105 -0
- package/docs/architecture/proposals/PROP-0021-command-namespaces-and-duplicates.md +99 -0
- package/docs/architecture/proposals/PROP-0022-plan-only-questions.md +102 -0
- package/docs/architecture/proposals/PROP-0023-xagent-cli-name.md +61 -0
- package/docs/architecture/proposals/PROP-0024-question-sketch-previews.md +130 -0
- package/docs/architecture/proposals/PROP-0025-contextual-question-wireframes.md +49 -0
- package/docs/architecture/proposals/PROP-0026-connected-sketch-display.md +96 -0
- package/docs/architecture/proposals/PROP-0027-xingular-agent-product-identity.md +60 -0
- package/docs/architecture/proposals/PROP-0028-normalize-question-wireframes.md +55 -0
- package/docs/architecture/proposals/PROP-0029-agent-profiles.md +124 -0
- package/docs/architecture/proposals/PROP-0030-subagent-title.md +86 -0
- package/docs/architecture/proposals/PROP-0031-plugin-command-owner-namespaces.md +54 -0
- package/docs/architecture/proposals/PROP-0032-planning-quality.md +196 -0
- package/docs/architecture/proposals/PROP-0033-compaction-plan-checkpoints.md +75 -0
- package/docs/architecture/proposals/PROP-0034-conversation-fast-mode.md +120 -0
- package/docs/architecture/proposals/PROP-0035-retain-subagent-status.md +47 -0
- package/docs/architecture/proposals/PROP-0036-first-class-harness-commands.md +59 -0
- package/docs/architecture/proposals/PROP-0037-workspace-write-boundary.md +63 -0
- package/docs/architecture/proposals/PROP-0038-annotate-open-shadow-roots.md +73 -0
- package/docs/architecture/proposals/PROP-0039-workspace-boundary-hardening.md +139 -0
- package/docs/architecture/proposals/PROP-0040-one-launch-path.md +87 -0
- package/docs/architecture/proposals/PROP-0041-bounded-work-slices.md +260 -0
- package/docs/architecture/proposals/PROP-0042-usage-and-provider-limits.md +127 -0
- package/docs/architecture/proposals/PROP-0043-read-only-plan-bash.md +74 -0
- package/docs/architecture/proposals/PROP-0044-work-slice-defaults.md +93 -0
- package/docs/architecture/proposals/PROP-0045-rename-checklist-to-todo.md +132 -0
- package/docs/architecture/proposals/PROP-0046-progress-aware-stall-guards.md +82 -0
- package/docs/architecture/proposals/PROP-0047-plugins-hub-separation.md +122 -0
- package/docs/architecture/proposals/PROP-0048-simple-annotate.md +85 -0
- package/docs/architecture/proposals/PROP-0049-context-attribution.md +415 -0
- package/docs/architecture/proposals/PROP-0050-run-stop-codes-and-refusals.md +30 -0
- package/docs/architecture/proposals/PROP-0051-unfinished-run-handoff.md +110 -0
- package/docs/architecture/proposals/PROP-0052-terminal-refine-and-variant-switch.md +111 -0
- package/docs/architecture/proposals/README.md +123 -0
- package/docs/decisions/ADR-0001-owned-terminal.md +10 -3
- package/docs/decisions/ADR-0003-shared-asynchronous-subagents.md +3 -1
- package/docs/decisions/ADR-0004-fullscreen-terminal-layout.md +3 -2
- package/docs/decisions/ADR-0006-opentui-only-terminal.md +47 -0
- package/docs/decisions/ADR-0007-reporting-section.md +33 -0
- package/docs/decisions/ADR-0008-flexible-reporting-guidance.md +41 -0
- package/docs/decisions/ADR-0009-xharness-command.md +39 -0
- package/docs/decisions/ADR-0010-lessons-in-the-wiki.md +31 -0
- package/docs/decisions/ADR-0011-foundation-and-variants.md +28 -0
- package/docs/decisions/ADR-0012-native-session-names.md +34 -0
- package/docs/decisions/ADR-0013-doctor.md +27 -0
- package/docs/decisions/ADR-0014-public-release-baseline.md +22 -0
- package/docs/decisions/ADR-0015-resource-browser.md +28 -0
- package/docs/decisions/ADR-0016-fullscreen-browser-tabs.md +31 -0
- package/docs/decisions/ADR-0017-one-capability-surface.md +34 -0
- package/docs/decisions/ADR-0018-builtin-feature-plugins.md +35 -0
- package/docs/decisions/ADR-0019-managed-git-worktrees.md +31 -0
- package/docs/decisions/ADR-0020-page-annotations.md +37 -0
- package/docs/decisions/ADR-0021-required-command-namespaces.md +40 -0
- package/docs/decisions/ADR-0022-plan-only-question-tools.md +34 -0
- package/docs/decisions/ADR-0023-contextual-side-question-runs.md +35 -0
- package/docs/decisions/ADR-0024-xagent-command.md +40 -0
- package/docs/decisions/ADR-0025-question-choice-sketches.md +49 -0
- package/docs/decisions/ADR-0026-contextual-question-wireframes.md +58 -0
- package/docs/decisions/ADR-0027-connected-sketch-display.md +62 -0
- package/docs/decisions/ADR-0028-xingular-agent-product-identity.md +56 -0
- package/docs/decisions/ADR-0029-normalized-question-wireframe-borders.md +33 -0
- package/docs/decisions/ADR-0030-agent-profiles.md +43 -0
- package/docs/decisions/ADR-0031-plugin-command-owner-namespaces.md +37 -0
- package/docs/decisions/ADR-0032-compaction-run-checkpoints.md +35 -0
- package/docs/decisions/ADR-0033-plan-mode-research-delegation.md +47 -0
- package/docs/decisions/ADR-0034-first-class-harness-terminal-commands.md +25 -0
- package/docs/decisions/ADR-0035-one-launch-path.md +40 -0
- package/docs/decisions/ADR-0036-workspace-write-operation-boundary.md +54 -0
- package/docs/decisions/ADR-0037-usage-ledger-and-provider-limits.md +44 -0
- package/docs/decisions/ADR-0038-plan-bash-os-read-only.md +29 -0
- package/docs/decisions/ADR-0039-progress-aware-stall-guards.md +43 -0
- package/docs/decisions/ADR-0040-architecture-change-workflow.md +31 -0
- package/docs/decisions/ADR-0041-plugins-hub-separation.md +41 -0
- package/docs/decisions/ADR-0042-windows-shell-without-sandbox.md +40 -0
- package/docs/decisions/ADR-0043-parents-continue-stopped-subagents.md +49 -0
- package/docs/decisions/ADR-0044-annotations-pending-or-sent.md +24 -0
- package/docs/decisions/ADR-0045-default-plugin-authoring-skill.md +9 -0
- package/docs/decisions/ADR-0046-hash-bound-plugin-proposals.md +20 -0
- package/docs/decisions/ADR-0047-links-open-with-the-os-handler.md +47 -0
- package/docs/decisions/ADR-0048-required-skills-from-a-message.md +42 -0
- package/docs/decisions/ADR-0050-approved-window-screenshots.md +19 -0
- package/docs/decisions/ADR-0051-terminal-decision-wait.md +10 -0
- package/docs/decisions/ADR-0052-per-profile-subagent-budgets.md +25 -0
- package/docs/decisions/ADR-0053-no-repeated-work-guard.md +45 -0
- package/docs/decisions/ADR-0054-terminal-reply-heartbeat-and-stall.md +52 -0
- package/docs/decisions/ADR-0055-plan-output-repair.md +51 -0
- package/docs/decisions/ADR-0056-remote-control.md +53 -0
- package/docs/decisions/ADR-0057-structured-plan-outcomes.md +39 -0
- package/docs/decisions/ADR-0058-ask-user-only-plan-clarification.md +36 -0
- package/docs/decisions/ADR-0059-run-diagnostic-evidence.md +35 -0
- package/docs/decisions/ADR-0060-approvals-are-controls.md +40 -0
- package/docs/decisions/ADR-0061-strict-plugin-command-namespaces.md +41 -0
- package/docs/decisions/ADR-0062-shared-account-state.md +67 -0
- package/docs/decisions/ADR-0063-unfinished-work-handoffs.md +34 -0
- package/docs/decisions/ADR-0064-account-model-fallback-on-resume.md +79 -0
- package/docs/decisions/ADR-0065-variant-switch-at-turn-boundaries.md +31 -0
- package/docs/decisions/ADR-0066-guided-refinement-from-turn-snapshots.md +37 -0
- package/docs/decisions/ADR-0067-cache-stable-compaction-checkpoint.md +54 -0
- package/docs/decisions/ADR-0068-scope-and-completion-report.md +60 -0
- package/docs/decisions/ADR-0069-stop-gate-and-finish.md +136 -0
- package/docs/decisions/ADR-0070-terminal-slice-continuation.md +49 -0
- package/docs/decisions/ADR-0071-completion-check.md +104 -0
- package/docs/decisions/ADR-0072-codex-prompts-and-goal.md +108 -0
- package/docs/decisions/ADR-0073-large-reporting-prompt.md +89 -0
- package/docs/decisions/ADR-0074-report-content-not-report-blocks.md +90 -0
- package/docs/decisions/ADR-0075-no-todo-gate.md +84 -0
- package/docs/decisions/ADR-0076-codex-final-answer-verbatim.md +98 -0
- package/docs/decisions/ADR-0077-plan-runs-may-conclude-no-plan-needed.md +120 -0
- package/docs/decisions/ADR-0078-child-aware-stall-watch.md +46 -0
- package/docs/decisions/ADR-0079-phase-led-reporting-guidance.md +72 -0
- package/docs/decisions/ADR-0080-fixed-width-question-sketch-canvas.md +50 -0
- package/docs/decisions/ADR-0081-no-work-slice-budget-by-default.md +36 -0
- package/docs/decisions/ADR-0082-connected-brave-browser.md +72 -0
- package/docs/decisions/ADR-0083-one-live-session-runtime.md +256 -0
- package/docs/doctor.md +95 -0
- package/docs/experiments/EXP-0001-terminal-input-latency/plan.md +81 -0
- package/docs/experiments/EXP-0001-terminal-input-latency/results.md +46 -0
- package/docs/experiments/EXP-0002-opentui-typing-latency/plan.md +70 -0
- package/docs/experiments/EXP-0002-opentui-typing-latency/results.md +92 -0
- package/docs/experiments/EXP-0003-performance-audit/data/session-runtime-replication.json +420 -0
- package/docs/experiments/EXP-0003-performance-audit/data/session-runtime.json +420 -0
- package/docs/experiments/EXP-0003-performance-audit/data/terminal-compact.json +376 -0
- package/docs/experiments/EXP-0003-performance-audit/data/terminal-history.json +422 -0
- package/docs/experiments/EXP-0003-performance-audit/data/terminal-question.json +95 -0
- package/docs/experiments/EXP-0003-performance-audit/data/terminal-wide.json +1036 -0
- package/docs/experiments/EXP-0003-performance-audit/plan.md +109 -0
- package/docs/experiments/EXP-0003-performance-audit/results.md +151 -0
- package/docs/features/README.md +46 -0
- package/docs/features/automations/README.md +41 -0
- package/docs/features/cores/README.md +39 -0
- package/docs/features/google-harness2/README.md +52 -0
- package/docs/features/integrations/README.md +40 -0
- package/docs/features/interfaces/README.md +29 -0
- package/docs/features/memory/README.md +28 -0
- package/docs/future-work.md +48 -0
- package/docs/handoff-2026-10-25-app-parity-and-solo-tabs.md +202 -0
- package/docs/parity.md +158 -0
- package/docs/releases/1.0.0.md +40 -0
- package/docs/releases/1.1.1.md +28 -0
- package/docs/releases/1.2.0.md +49 -0
- package/docs/releases/1.3.0.md +21 -0
- package/docs/releases/1.3.1-unstable.1.md +8 -0
- package/docs/releases/1.3.1-unstable.2.md +11 -0
- package/docs/releases/1.3.1-unstable.3.md +54 -0
- package/docs/releases/1.3.1-unstable.4.md +56 -0
- package/docs/releases/1.3.1-unstable.5.md +53 -0
- package/docs/releases/1.3.1-unstable.6.md +31 -0
- package/docs/releases/1.3.1-unstable.7.md +17 -0
- package/docs/releases/1.3.1-unstable.8.md +19 -0
- package/docs/releases/1.3.1-unstable.9.md +54 -0
- package/docs/releases/1.4.0-unstable.md +25 -0
- package/docs/releases/1.5.0-unstable.md +32 -0
- package/docs/releases/1.5.1-unstable.md +24 -0
- package/docs/releases/1.6.0-unstable.md +59 -0
- package/docs/releases/2.0.1-unstable.md +63 -0
- package/docs/releases/4.0.0.md +47 -0
- package/docs/releases/README.md +49 -0
- package/docs/study/00-index.md +112 -0
- package/docs/study/STUDY-0003-long-horizon-runs.md +210 -0
- package/docs/study/STUDY-0004-turn-end-controls.md +130 -0
- package/docs/study/STUDY-0005-skill-installation-guidance.md +146 -0
- package/docs/study/STUDY-0006-reporting-prompts.md +119 -0
- package/docs/study/STUDY-0007-claude-code-prompt.md +162 -0
- package/docs/study/STUDY-0008-browser-control.md +281 -0
- package/docs/study/STUDY-0009-claude-code-reporting.md +205 -0
- package/docs/study/arms/00-matrix.md +20 -0
- package/docs/study/arms/01-system-prompt.md +211 -0
- package/docs/study/arms/02-tools.md +79 -0
- package/docs/study/arms/03-subagents.md +90 -0
- package/docs/study/arms/04-skills.md +81 -0
- package/docs/study/arms/05-context-management.md +90 -0
- package/docs/study/arms/06-memory.md +90 -0
- package/docs/study/arms/07-governance.md +71 -0
- package/docs/study/arms/08-execution.md +69 -0
- package/docs/study/arms/09-observability.md +60 -0
- package/docs/study/arms/10-refinement.md +110 -0
- package/docs/study/autonomous-engineering-sources.md +277 -0
- package/docs/study/autonomy-sources.md +147 -0
- package/docs/study/btw-comparison.md +37 -0
- package/docs/study/feature-gap-review.md +42 -0
- package/docs/study/insights.md +123 -0
- package/docs/study/proactive-autonomy.md +408 -0
- package/docs/study/roadmap.md +72 -0
- package/docs/study/sources/claude-code.md +56 -0
- package/docs/study/sources/deepseek-harness.md +102 -0
- package/docs/study/sources/harness2.md +50 -0
- package/docs/study/sources/kimi-cli.md +42 -0
- package/docs/study/sources/omp.md +93 -0
- package/docs/study/sources/opencode.md +43 -0
- package/docs/study/sources/openhands.md +46 -0
- package/docs/study/sources/smolagents.md +40 -0
- package/docs/study/sources/swe-agent.md +34 -0
- package/docs/study/tui-resource-browser.md +78 -0
- package/docs/system-prompt-design.md +196 -0
- package/docs/terminal-tui.md +887 -109
- package/package.json +46 -13
- package/src/accounts/accounts.test.ts +0 -419
- package/src/accounts/accounts.ts +0 -760
- package/src/accounts/env.test.ts +0 -95
- package/src/accounts/env.ts +0 -338
- package/src/accounts/secrets.ts +0 -50
- package/src/accounts/store.ts +0 -338
- package/src/capabilities/api.ts +0 -75
- package/src/capabilities/runSnapshot.ts +0 -59
- package/src/capabilities/types.ts +0 -34
- package/src/cli.ts +0 -118
- package/src/core/bus.test.ts +0 -22
- package/src/core/bus.ts +0 -49
- package/src/core/changes.ts +0 -33
- package/src/core/env.ts +0 -27
- package/src/core/errors.ts +0 -32
- package/src/core/frontmatter.ts +0 -47
- package/src/core/fs.test.ts +0 -38
- package/src/core/fs.ts +0 -92
- package/src/core/index.ts +0 -193
- package/src/core/path.test.ts +0 -14
- package/src/core/path.ts +0 -79
- package/src/core/projects.ts +0 -90
- package/src/core/text.ts +0 -39
- package/src/harness.ts +0 -322
- package/src/hub/catalog.json +0 -123
- package/src/hub/cli.ts +0 -59
- package/src/hub/hub.test.ts +0 -205
- package/src/hub/hub.ts +0 -256
- package/src/hub/schema.ts +0 -81
- package/src/index.ts +0 -80
- package/src/mcp/connections.ts +0 -641
- package/src/mcp/manager.ts +0 -130
- package/src/mcp/oauth.ts +0 -195
- package/src/mcp/scopeMigration.test.ts +0 -79
- package/src/mcp/scopeMigration.ts +0 -204
- package/src/mcp/service.test.ts +0 -422
- package/src/mcp/service.ts +0 -560
- package/src/mcp/types.ts +0 -118
- package/src/memory/api.test.ts +0 -82
- package/src/memory/api.ts +0 -303
- package/src/memory/blocks.test.ts +0 -78
- package/src/memory/blocks.ts +0 -408
- package/src/memory/caller.ts +0 -69
- package/src/memory/curation.test.ts +0 -206
- package/src/memory/curation.ts +0 -64
- package/src/memory/dispatch.ts +0 -64
- package/src/memory/facts.test.ts +0 -41
- package/src/memory/facts.ts +0 -248
- package/src/memory/graph.ts +0 -103
- package/src/memory/health.test.ts +0 -130
- package/src/memory/health.ts +0 -74
- package/src/memory/maintainer.ts +0 -272
- package/src/memory/maintenance.test.ts +0 -192
- package/src/memory/maintenance.ts +0 -679
- package/src/memory/migrate.ts +0 -79
- package/src/memory/operations.ts +0 -150
- package/src/memory/proposals.test.ts +0 -168
- package/src/memory/proposals.ts +0 -584
- package/src/memory/recall.test.ts +0 -115
- package/src/memory/recall.ts +0 -279
- package/src/memory/references.ts +0 -77
- package/src/memory/runContext.ts +0 -93
- package/src/memory/secrets.ts +0 -6
- package/src/memory/store.test.ts +0 -66
- package/src/memory/store.ts +0 -385
- package/src/memory/trajectory.test.ts +0 -178
- package/src/memory/trajectory.ts +0 -220
- package/src/memory/wiki.test.ts +0 -47
- package/src/memory/wiki.ts +0 -423
- package/src/memory/wikiIndex.test.ts +0 -88
- package/src/memory/wikiIndex.ts +0 -117
- package/src/plugins/api.ts +0 -181
- package/src/plugins/attachments.test.ts +0 -84
- package/src/plugins/attachments.ts +0 -141
- package/src/plugins/builtin.ts +0 -84
- package/src/plugins/catalogue.test.ts +0 -254
- package/src/plugins/catalogue.ts +0 -251
- package/src/plugins/cli.ts +0 -184
- package/src/plugins/discover.ts +0 -151
- package/src/plugins/firstParty.test.ts +0 -143
- package/src/plugins/firstParty.ts +0 -129
- package/src/plugins/hooks.test.ts +0 -250
- package/src/plugins/hooks.ts +0 -239
- package/src/plugins/identity.ts +0 -37
- package/src/plugins/install.test.ts +0 -107
- package/src/plugins/install.ts +0 -106
- package/src/plugins/inventory.ts +0 -123
- package/src/plugins/manifest.ts +0 -76
- package/src/plugins/plugins.test.ts +0 -205
- package/src/plugins/plugins.ts +0 -189
- package/src/plugins/proposal.ts +0 -121
- package/src/plugins/runtime.test.ts +0 -40
- package/src/plugins/runtime.ts +0 -82
- package/src/plugins/trust.ts +0 -142
- package/src/plugins/types.ts +0 -149
- package/src/prompt/compile.test.ts +0 -261
- package/src/prompt/compile.ts +0 -732
- package/src/server/methods.ts +0 -355
- package/src/server/remote.ts +0 -77
- package/src/server/rpc.ts +0 -116
- package/src/server/serve.ts +0 -28
- package/src/server/server.test.ts +0 -193
- package/src/sessions/approvals.test.ts +0 -49
- package/src/sessions/approvals.ts +0 -140
- package/src/sessions/contracts.ts +0 -336
- package/src/sessions/conversation.test.ts +0 -233
- package/src/sessions/extensionSession.test.ts +0 -74
- package/src/sessions/extensionUi.test.ts +0 -65
- package/src/sessions/extensionUi.ts +0 -102
- package/src/sessions/history.ts +0 -51
- package/src/sessions/lineageJoin.ts +0 -75
- package/src/sessions/policy.ts +0 -36
- package/src/sessions/pricing.ts +0 -60
- package/src/sessions/questionBatches.test.ts +0 -110
- package/src/sessions/reasoningSummaries.ts +0 -59
- package/src/sessions/registry.ts +0 -412
- package/src/sessions/runIndex.ts +0 -99
- package/src/sessions/runStore.test.ts +0 -152
- package/src/sessions/runStore.ts +0 -346
- package/src/sessions/runner.ts +0 -610
- package/src/sessions/runtimeResources.test.ts +0 -61
- package/src/sessions/sessions.test.ts +0 -588
- package/src/sessions/sessions.ts +0 -331
- package/src/sessions/subagentService.test.ts +0 -159
- package/src/sessions/subagentService.ts +0 -236
- package/src/sessions/subagents.ts +0 -97
- package/src/skills/registry.test.ts +0 -104
- package/src/skills/registry.ts +0 -413
- package/src/terminal/accountsMenu.test.ts +0 -225
- package/src/terminal/accountsMenu.ts +0 -382
- package/src/terminal/cli.ts +0 -149
- package/src/terminal/client.ts +0 -74
- package/src/terminal/control.test.ts +0 -23
- package/src/terminal/control.ts +0 -23
- package/src/terminal/controller.ts +0 -354
- package/src/terminal/hubMenu.ts +0 -24
- package/src/terminal/launch.test.ts +0 -25
- package/src/terminal/launch.ts +0 -48
- package/src/terminal/piExtension.lifecycle.test.ts +0 -55
- package/src/terminal/piExtension.ts +0 -295
- package/src/terminal/pluginControl.test.ts +0 -146
- package/src/terminal/pluginMenu.ts +0 -112
- package/src/terminal/socket.test.ts +0 -94
- package/src/terminal/socket.ts +0 -256
- package/src/terminal/standalone.test.ts +0 -167
- package/src/terminal/standalone.ts +0 -165
- package/src/terminal/terminal.test.ts +0 -534
- package/src/terminal/terminals.ts +0 -661
- package/src/terminal/trajectory.test.ts +0 -66
- package/src/terminal/trajectory.ts +0 -44
- package/src/terminal/tui/application.test.ts +0 -290
- package/src/terminal/tui/application.ts +0 -653
- package/src/terminal/tui/commands.test.ts +0 -278
- package/src/terminal/tui/commands.ts +0 -443
- package/src/terminal/tui/dialogs.ts +0 -301
- package/src/terminal/tui/editor.test.ts +0 -113
- package/src/terminal/tui/editor.ts +0 -109
- package/src/terminal/tui/keybindings.test.ts +0 -30
- package/src/terminal/tui/keybindings.ts +0 -59
- package/src/terminal/tui/piAdapter.ts +0 -62
- package/src/terminal/tui/planMode.test.ts +0 -10
- package/src/terminal/tui/planMode.ts +0 -12
- package/src/terminal/tui/presentation.test.ts +0 -79
- package/src/terminal/tui/questions.test.ts +0 -41
- package/src/terminal/tui/questions.ts +0 -47
- package/src/terminal/tui/runtime.socket.test.ts +0 -178
- package/src/terminal/tui/runtime.test.ts +0 -225
- package/src/terminal/tui/runtime.ts +0 -403
- package/src/terminal/tui/screen.test.ts +0 -143
- package/src/terminal/tui/screen.ts +0 -121
- package/src/terminal/tui/sessionUi.ts +0 -24
- package/src/terminal/tui/settings.test.ts +0 -150
- package/src/terminal/tui/settings.ts +0 -188
- package/src/terminal/tui/skillInvocation.test.ts +0 -71
- package/src/terminal/tui/skillInvocation.ts +0 -51
- package/src/terminal/tui/status.test.ts +0 -48
- package/src/terminal/tui/status.ts +0 -82
- package/src/terminal/tui/theme.ts +0 -185
- package/src/terminal/tui/tools.test.ts +0 -145
- package/src/terminal/tui/tools.ts +0 -142
- package/src/terminal/tui/trajectoryPanel.test.ts +0 -99
- package/src/terminal/tui/trajectoryPanel.ts +0 -226
- package/src/terminal/tui/transcript.test.ts +0 -39
- package/src/terminal/tui/transcript.ts +0 -135
- package/src/terminal/tui/ui.test.ts +0 -313
- package/src/terminal/tui/ui.ts +0 -166
- package/src/terminal/tui/welcome.ts +0 -102
- package/src/terminal/tui/workingStatus.test.ts +0 -44
- package/src/terminal/tui/workingStatus.ts +0 -238
- package/src/tools/askUser.test.ts +0 -69
- package/src/tools/askUser.ts +0 -59
- package/src/tools/definitions.ts +0 -228
- package/src/tools/maintenance.ts +0 -29
- package/src/tools/memoryTools.ts +0 -22
- package/src/tools/pluginPropose.ts +0 -41
- package/src/tools/registryWrite.test.ts +0 -101
- package/src/tools/registryWrite.ts +0 -182
- package/src/tools/spawnSubagent.ts +0 -47
- package/src/tools/types.ts +0 -41
- package/src/web/safeRequest.ts +0 -171
- package/src/web/text.ts +0 -53
- package/src/web/tools.ts +0 -134
- package/src/web/web.test.ts +0 -141
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/** A short badge for a list row: `better in the app`, or nothing. */
|
|
2
|
+
export function surfaceBadge(surfaces) {
|
|
3
|
+
if (!surfaces)
|
|
4
|
+
return '';
|
|
5
|
+
return surfaces.terminal === 'unavailable' ? 'app only' : 'better in the app';
|
|
6
|
+
}
|
|
7
|
+
/** The plugin's description, followed by what the host adds and what the terminal does instead. */
|
|
8
|
+
export function describePlugin(plugin) {
|
|
9
|
+
const description = plugin.description || 'No description.';
|
|
10
|
+
return plugin.surfaces ? `${description} ${plugin.surfaces.note}` : description;
|
|
11
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import type { Bus } from "../core/bus.js";
|
|
2
|
+
import type { Found } from "./discover.js";
|
|
3
|
+
export interface ProjectCode {
|
|
4
|
+
/** SHA-256 over every file's name and contents. */
|
|
5
|
+
hash: string;
|
|
6
|
+
/** The files, named from the working folder where they are inside it. */
|
|
7
|
+
files: string[];
|
|
8
|
+
}
|
|
9
|
+
/** The code the working folder brings, or `null` when it brings none. */
|
|
10
|
+
export declare function projectCode(found: readonly Found[], cwd: string): ProjectCode | null;
|
|
11
|
+
/**
|
|
12
|
+
* Each package a person installed that brings code, by its folder: the whole package is hashed,
|
|
13
|
+
* so a changed skill or manifest asks again as well. A working folder's packages are part of
|
|
14
|
+
* `projectCode`.
|
|
15
|
+
*/
|
|
16
|
+
export declare function packageCode(found: readonly Found[]): Map<string, ProjectCode>;
|
|
17
|
+
export interface TrustRecord {
|
|
18
|
+
hash: string;
|
|
19
|
+
/** The working folder it was trusted in. */
|
|
20
|
+
folder: string;
|
|
21
|
+
files: string[];
|
|
22
|
+
trustedAt: string;
|
|
23
|
+
}
|
|
24
|
+
export declare class Trust {
|
|
25
|
+
private readonly bus;
|
|
26
|
+
private readonly path;
|
|
27
|
+
constructor(stateDir: string, bus: Bus);
|
|
28
|
+
private read;
|
|
29
|
+
list(): TrustRecord[];
|
|
30
|
+
/** Whether the packages that loaded before trust was asked per package were taken over as trusted. */
|
|
31
|
+
get adopted(): boolean;
|
|
32
|
+
/**
|
|
33
|
+
* Trusts the packages present the first time this runs, so nothing that loaded before stops.
|
|
34
|
+
* It happens once; a package installed later, or one of these after a change, waits for a person.
|
|
35
|
+
*/
|
|
36
|
+
adopt(codes: readonly {
|
|
37
|
+
code: ProjectCode;
|
|
38
|
+
folder: string;
|
|
39
|
+
}[]): void;
|
|
40
|
+
has(hash: string): boolean;
|
|
41
|
+
private save;
|
|
42
|
+
grant(code: ProjectCode, folder: string): void;
|
|
43
|
+
revoke(hash: string): void;
|
|
44
|
+
}
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
// Code a person did not write into the shared folder by hand loads only after they trusted it:
|
|
2
|
+
// a working folder's own (its `.pi/extensions`, or a package its settings name), and every
|
|
3
|
+
// installed package. Trust belongs to the code, not the folder: it is a hash of the files, so a
|
|
4
|
+
// copy of the same code elsewhere is trusted too and a changed file asks again.
|
|
5
|
+
import { createHash } from 'node:crypto';
|
|
6
|
+
import { chmodSync, lstatSync, readdirSync, readFileSync } from 'node:fs';
|
|
7
|
+
import { basename, dirname, join, relative, sep } from 'node:path';
|
|
8
|
+
import { now, readJsonOr, writeJson } from "../core/fs.js";
|
|
9
|
+
import { compareText } from "../core/text.js";
|
|
10
|
+
// Dependencies and version control are left out: the hash says whether the code a person
|
|
11
|
+
// read has changed, and is not a seal on everything that code can import.
|
|
12
|
+
const SKIPPED = new Set(['node_modules', '.git']);
|
|
13
|
+
const MAX_FILES = 5000;
|
|
14
|
+
function walk(path, into) {
|
|
15
|
+
if (into.length >= MAX_FILES)
|
|
16
|
+
return;
|
|
17
|
+
let meta;
|
|
18
|
+
try {
|
|
19
|
+
meta = lstatSync(path);
|
|
20
|
+
}
|
|
21
|
+
catch {
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
if (meta.isSymbolicLink())
|
|
25
|
+
return;
|
|
26
|
+
if (meta.isFile()) {
|
|
27
|
+
into.push(path);
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
if (!meta.isDirectory())
|
|
31
|
+
return;
|
|
32
|
+
for (const name of readdirSync(path).sort(compareText))
|
|
33
|
+
if (!SKIPPED.has(name))
|
|
34
|
+
walk(join(path, name), into);
|
|
35
|
+
}
|
|
36
|
+
/** The folder or file that holds one extension: its package, its own folder, or the file. */
|
|
37
|
+
const unit = (item) => item.packageRoot ?? (basename(item.path).startsWith('index.') ? dirname(item.path) : item.path);
|
|
38
|
+
/** A hash over the files of some folders and files, each named from `base` where it is inside it. */
|
|
39
|
+
function hashOf(units, base) {
|
|
40
|
+
const paths = [];
|
|
41
|
+
for (const path of [...units].sort(compareText))
|
|
42
|
+
walk(path, paths);
|
|
43
|
+
const name = (path) => {
|
|
44
|
+
const within = relative(base, path);
|
|
45
|
+
return within && !within.startsWith('..') ? within.split(sep).join('/') : path;
|
|
46
|
+
};
|
|
47
|
+
const hash = createHash('sha256');
|
|
48
|
+
const files = [];
|
|
49
|
+
for (const path of [...new Set(paths)].sort(compareText)) {
|
|
50
|
+
let contents;
|
|
51
|
+
try {
|
|
52
|
+
contents = readFileSync(path);
|
|
53
|
+
}
|
|
54
|
+
catch {
|
|
55
|
+
continue;
|
|
56
|
+
}
|
|
57
|
+
files.push(name(path));
|
|
58
|
+
hash.update(`${name(path)}\0${contents.length}\0`).update(contents);
|
|
59
|
+
}
|
|
60
|
+
return { hash: hash.digest('hex'), files };
|
|
61
|
+
}
|
|
62
|
+
/** The code the working folder brings, or `null` when it brings none. */
|
|
63
|
+
export function projectCode(found, cwd) {
|
|
64
|
+
const units = [...new Set(found.filter((item) => item.project && item.kind === 'extension' && item.enabled).map(unit))];
|
|
65
|
+
return units.length ? hashOf(units, cwd) : null;
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Each package a person installed that brings code, by its folder: the whole package is hashed,
|
|
69
|
+
* so a changed skill or manifest asks again as well. A working folder's packages are part of
|
|
70
|
+
* `projectCode`.
|
|
71
|
+
*/
|
|
72
|
+
export function packageCode(found) {
|
|
73
|
+
const roots = [...new Set(found.filter((item) => !item.project && (item.kind === 'extension' || item.kind === 'hook') && item.packageRoot).map((item) => item.packageRoot))];
|
|
74
|
+
return new Map(roots.map((root) => [root, hashOf([root], root)]));
|
|
75
|
+
}
|
|
76
|
+
export class Trust {
|
|
77
|
+
bus;
|
|
78
|
+
path;
|
|
79
|
+
constructor(stateDir, bus) {
|
|
80
|
+
this.bus = bus;
|
|
81
|
+
this.path = join(stateDir, 'plugin-trust.json');
|
|
82
|
+
}
|
|
83
|
+
read() {
|
|
84
|
+
return readJsonOr(this.path, {});
|
|
85
|
+
}
|
|
86
|
+
list() {
|
|
87
|
+
const stored = this.read();
|
|
88
|
+
return Array.isArray(stored.trusted) ? stored.trusted.filter((record) => typeof record?.hash === 'string') : [];
|
|
89
|
+
}
|
|
90
|
+
/** Whether the packages that loaded before trust was asked per package were taken over as trusted. */
|
|
91
|
+
get adopted() {
|
|
92
|
+
return this.read().adopted === true;
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Trusts the packages present the first time this runs, so nothing that loaded before stops.
|
|
96
|
+
* It happens once; a package installed later, or one of these after a change, waits for a person.
|
|
97
|
+
*/
|
|
98
|
+
adopt(codes) {
|
|
99
|
+
const records = this.list();
|
|
100
|
+
for (const { code, folder } of codes)
|
|
101
|
+
if (!records.some((record) => record.hash === code.hash))
|
|
102
|
+
records.push({ hash: code.hash, folder, files: code.files, trustedAt: now() });
|
|
103
|
+
writeJson(this.path, { trusted: records, adopted: true });
|
|
104
|
+
chmodSync(this.path, 0o600);
|
|
105
|
+
}
|
|
106
|
+
has(hash) {
|
|
107
|
+
return this.list().some((record) => record.hash === hash);
|
|
108
|
+
}
|
|
109
|
+
save(records) {
|
|
110
|
+
writeJson(this.path, { trusted: records, ...(this.adopted ? { adopted: true } : {}) });
|
|
111
|
+
chmodSync(this.path, 0o600);
|
|
112
|
+
this.bus.emit({ type: 'plugins.changed' });
|
|
113
|
+
}
|
|
114
|
+
grant(code, folder) {
|
|
115
|
+
this.save([...this.list().filter((record) => record.hash !== code.hash), { hash: code.hash, folder, files: code.files, trustedAt: now() }]);
|
|
116
|
+
}
|
|
117
|
+
revoke(hash) {
|
|
118
|
+
this.save(this.list().filter((record) => record.hash !== hash));
|
|
119
|
+
}
|
|
120
|
+
}
|
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
import type { Attachment } from "./attachments.js";
|
|
2
|
+
import type { Registered } from "./plugins.js";
|
|
3
|
+
import type { ProjectCode } from "./trust.js";
|
|
4
|
+
export declare const CONTRIBUTION_KINDS: readonly ["instruction", "skill", "command", "agent", "tool", "connection", "code", "theme"];
|
|
5
|
+
export type ContributionKind = (typeof CONTRIBUTION_KINDS)[number];
|
|
6
|
+
/**
|
|
7
|
+
* Where a plugin comes from: the harness itself, the embedding application, Pi, a person's own
|
|
8
|
+
* registry, the folder every account shares, an installed package, the working folder, or the
|
|
9
|
+
* home folder.
|
|
10
|
+
*/
|
|
11
|
+
export declare const PLUGIN_SOURCES: readonly ["builtin", "application", "pi", "yours", "shared", "package", "project", "home"];
|
|
12
|
+
export type PluginSource = (typeof PLUGIN_SOURCES)[number];
|
|
13
|
+
/** `untrusted` is code that is found and does not load until a person trusts it. */
|
|
14
|
+
export type ContributionState = 'on' | 'off' | 'untrusted';
|
|
15
|
+
export interface Contribution {
|
|
16
|
+
/** `<plugin id>/<kind>/<name>`. */
|
|
17
|
+
id: string;
|
|
18
|
+
kind: ContributionKind;
|
|
19
|
+
name: string;
|
|
20
|
+
description: string;
|
|
21
|
+
path: string | null;
|
|
22
|
+
state: ContributionState;
|
|
23
|
+
/** Who it is switched on for, in words: "Everywhere", a project's name, "2 agents". */
|
|
24
|
+
scope: string | null;
|
|
25
|
+
/** Where it is switched on and off, or `null` when it cannot be switched on its own. */
|
|
26
|
+
attachment: Attachment | null;
|
|
27
|
+
/** What a code contribution registered the last time a session loaded it. */
|
|
28
|
+
registered: Registered | null;
|
|
29
|
+
/** What went wrong the last time it ran, for code the harness runs itself. */
|
|
30
|
+
problem: string | null;
|
|
31
|
+
/** Code the harness runs itself after a change, for everyone, outside any session. */
|
|
32
|
+
background: boolean;
|
|
33
|
+
}
|
|
34
|
+
/** Where a person changes a plugin today. */
|
|
35
|
+
export type PluginManage = 'registry' | 'tools' | 'connections' | 'files';
|
|
36
|
+
export interface Plugin {
|
|
37
|
+
id: string;
|
|
38
|
+
title: string;
|
|
39
|
+
description: string;
|
|
40
|
+
version: string | null;
|
|
41
|
+
source: PluginSource;
|
|
42
|
+
path: string | null;
|
|
43
|
+
runsCode: boolean;
|
|
44
|
+
trust: 'none' | 'trusted' | 'untrusted';
|
|
45
|
+
/** The code a person is asked to trust, for a working folder's own. */
|
|
46
|
+
code: ProjectCode | null;
|
|
47
|
+
/**
|
|
48
|
+
* How a person installed it, when it can be removed here: named in the settings every account
|
|
49
|
+
* shares (`source` is the name there), or a folder kept with their data (`source` is its path).
|
|
50
|
+
*/
|
|
51
|
+
install: {
|
|
52
|
+
kind: 'settings' | 'folder';
|
|
53
|
+
source: string;
|
|
54
|
+
} | null;
|
|
55
|
+
/** The parts it adds to, by plugin id: a package that says it extends Memory, the Wiki or History. */
|
|
56
|
+
extends: string[];
|
|
57
|
+
/** Why it cannot be removed, or `null` when it can. */
|
|
58
|
+
required: string | null;
|
|
59
|
+
manage: PluginManage | null;
|
|
60
|
+
/** Numbers a person can set on it, each with its current value. */
|
|
61
|
+
settings: (PluginSetting & {
|
|
62
|
+
value: number;
|
|
63
|
+
})[];
|
|
64
|
+
/** Declarative connector setup templates; listing one never creates or enables a connection. */
|
|
65
|
+
connectorTemplates: ConnectorTemplate[];
|
|
66
|
+
/** Where the whole plugin is switched on and off, or `null` when only its parts are, or nothing is. */
|
|
67
|
+
attachment: Attachment | null;
|
|
68
|
+
/** Where it works best, for a plugin that works better in a host. */
|
|
69
|
+
surfaces?: PluginSurfaces | null;
|
|
70
|
+
contributions: Contribution[];
|
|
71
|
+
}
|
|
72
|
+
/** A number a person can set on a plugin, such as a limit. */
|
|
73
|
+
export interface PluginSetting {
|
|
74
|
+
key: string;
|
|
75
|
+
label: string;
|
|
76
|
+
description: string;
|
|
77
|
+
default: number;
|
|
78
|
+
min: number;
|
|
79
|
+
max: number;
|
|
80
|
+
}
|
|
81
|
+
/** A remote connector setup form. It contains no endpoint credentials or saved connection state. */
|
|
82
|
+
export interface ConnectorTemplate {
|
|
83
|
+
id: string;
|
|
84
|
+
name: string;
|
|
85
|
+
description: string;
|
|
86
|
+
url: string;
|
|
87
|
+
auth: 'none' | 'headers' | 'oauth';
|
|
88
|
+
oauthClient: 'dynamic' | 'user' | null;
|
|
89
|
+
oauthScopes: string[];
|
|
90
|
+
docsUrl: string | null;
|
|
91
|
+
fields: {
|
|
92
|
+
header: string;
|
|
93
|
+
label: string;
|
|
94
|
+
prefix: string;
|
|
95
|
+
help: string;
|
|
96
|
+
}[];
|
|
97
|
+
setup: string[];
|
|
98
|
+
notice: string | null;
|
|
99
|
+
}
|
|
100
|
+
/** What a part of the harness, or the embedding application, says about itself. Data only. */
|
|
101
|
+
export interface PluginDescriptor {
|
|
102
|
+
id: string;
|
|
103
|
+
title: string;
|
|
104
|
+
description: string;
|
|
105
|
+
/** Why it cannot be removed. */
|
|
106
|
+
required?: string;
|
|
107
|
+
manage?: PluginManage;
|
|
108
|
+
tools?: {
|
|
109
|
+
name: string;
|
|
110
|
+
description?: string;
|
|
111
|
+
}[];
|
|
112
|
+
/** The prompt sections it writes. */
|
|
113
|
+
sections?: {
|
|
114
|
+
id: string;
|
|
115
|
+
name: string;
|
|
116
|
+
description?: string;
|
|
117
|
+
}[];
|
|
118
|
+
/** The tool groups whose paragraph in the tools section it writes. */
|
|
119
|
+
toolGroups?: string[];
|
|
120
|
+
/** It ships with the harness and a person may switch it. `on` is its state until they do. */
|
|
121
|
+
switchable?: {
|
|
122
|
+
on: boolean;
|
|
123
|
+
};
|
|
124
|
+
/** Numbers a person can set on it. */
|
|
125
|
+
settings?: PluginSetting[];
|
|
126
|
+
/** Remote connector setup templates; users must add, configure and enable each connection. */
|
|
127
|
+
connectorTemplates?: ConnectorTemplate[];
|
|
128
|
+
/** Code of its own that runs in a session. */
|
|
129
|
+
code?: {
|
|
130
|
+
name: string;
|
|
131
|
+
description: string;
|
|
132
|
+
}[];
|
|
133
|
+
/** Where it works best, when that is not everywhere alike (PROP-0039). Never a category. */
|
|
134
|
+
surfaces?: PluginSurfaces;
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* A plugin that works better in a host such as a desktop application: an add-on there. The
|
|
138
|
+
* capability is the same in both; the host adds presentation or a native backend the terminal
|
|
139
|
+
* cannot have. `terminal` says what the terminal offers instead (INV-PAR-3).
|
|
140
|
+
*/
|
|
141
|
+
export interface PluginSurfaces {
|
|
142
|
+
preferred: 'host';
|
|
143
|
+
terminal: 'fallback' | 'unavailable';
|
|
144
|
+
/** One sentence for a person: what the host adds, and what the terminal does instead. */
|
|
145
|
+
note: string;
|
|
146
|
+
}
|
|
147
|
+
export type Delivery = 'system' | 'context' | 'tool' | 'on-demand' | 'code' | 'background';
|
|
148
|
+
/** One thing that reaches a caller. */
|
|
149
|
+
export interface InventoryItem {
|
|
150
|
+
pluginId: string;
|
|
151
|
+
contributionId: string | null;
|
|
152
|
+
kind: ContributionKind;
|
|
153
|
+
name: string;
|
|
154
|
+
/** `system` is the stable prefix, `context` an update sent with a request, `on-demand` text a tool loads, `background` code the harness runs after a change. */
|
|
155
|
+
delivery: Delivery;
|
|
156
|
+
/** Characters it adds to what the model is told, when that is known. */
|
|
157
|
+
chars: number | null;
|
|
158
|
+
/** Its text was cut to fit a budget. */
|
|
159
|
+
cut: boolean;
|
|
160
|
+
}
|
|
161
|
+
export interface Inventory {
|
|
162
|
+
/** The plugins the items belong to. */
|
|
163
|
+
plugins: Plugin[];
|
|
164
|
+
/** Every other plugin, with nothing reaching this caller: what could still be switched on for it. */
|
|
165
|
+
others: Plugin[];
|
|
166
|
+
items: InventoryItem[];
|
|
167
|
+
/** Prompt sections, tool groups and tools that no plugin accounts for. */
|
|
168
|
+
unattributed: {
|
|
169
|
+
kind: 'section' | 'toolGroup' | 'tool';
|
|
170
|
+
id: string;
|
|
171
|
+
}[];
|
|
172
|
+
systemChars: number;
|
|
173
|
+
contextChars: number;
|
|
174
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export const CONTRIBUTION_KINDS = ['instruction', 'skill', 'command', 'agent', 'tool', 'connection', 'code', 'theme'];
|
|
2
|
+
/**
|
|
3
|
+
* Where a plugin comes from: the harness itself, the embedding application, Pi, a person's own
|
|
4
|
+
* registry, the folder every account shares, an installed package, the working folder, or the
|
|
5
|
+
* home folder.
|
|
6
|
+
*/
|
|
7
|
+
export const PLUGIN_SOURCES = ['builtin', 'application', 'pi', 'yours', 'shared', 'package', 'project', 'home'];
|
|
@@ -0,0 +1,245 @@
|
|
|
1
|
+
import { type CallerContext } from "../core/caller.js";
|
|
2
|
+
import type { HarnessEnv } from "../core/env.js";
|
|
3
|
+
import type { Materialised } from "../variant/materialise.js";
|
|
4
|
+
import { type SkillFile } from "../tools/defaultSkills.js";
|
|
5
|
+
import type { TodoItem } from "../sessions/contracts.js";
|
|
6
|
+
import type { SessionState } from "../sessions/sessionState.js";
|
|
7
|
+
import { type StandardSession } from "./standard.js";
|
|
8
|
+
import { REPORTING_GUIDANCE } from "./reporting.js";
|
|
9
|
+
export declare const REQUIRED_SKILLS_BUDGET = 12000;
|
|
10
|
+
export declare const REFERENCES_BUDGET = 12000;
|
|
11
|
+
/** An approval is a control the person clicks; the model never asks for permission in a message. */
|
|
12
|
+
export declare const APPROVAL_GUIDANCE = "Approvals: when a call needs a person, the Harness pauses that exact call and shows them Allow and Deny. Never ask for permission in a message, never end your turn to wait for an answer, and never call a task blocked on approval before trying: a denial arrives as the tool result, and you continue from it.";
|
|
13
|
+
/** Where the harness's own sections sit; an application's sections are placed among them by `order`. */
|
|
14
|
+
export declare const SECTION_ORDER: {
|
|
15
|
+
readonly harnessIdentity: 5;
|
|
16
|
+
readonly system: 25;
|
|
17
|
+
readonly sessionState: 30;
|
|
18
|
+
readonly guardrails: 40;
|
|
19
|
+
readonly memory: 45;
|
|
20
|
+
readonly references: 50;
|
|
21
|
+
readonly requiredSkills: 52;
|
|
22
|
+
readonly subagents: 64;
|
|
23
|
+
readonly scripts: 66;
|
|
24
|
+
readonly wiki: 80;
|
|
25
|
+
readonly tools: 90;
|
|
26
|
+
readonly reporting: 95;
|
|
27
|
+
};
|
|
28
|
+
/** Where a section's text came from. */
|
|
29
|
+
export interface Source {
|
|
30
|
+
id: string;
|
|
31
|
+
kind: string;
|
|
32
|
+
revision?: string | null;
|
|
33
|
+
/** Characters this source contributed inside its section, when the compiler measured them. */
|
|
34
|
+
chars?: number;
|
|
35
|
+
}
|
|
36
|
+
export interface Section {
|
|
37
|
+
/** `harness-identity`, `identity`, `role`, `system`, `session-state`, `guardrails`, `memory`, `references`, `required-skills`, `subagents`, `scripts`, `wiki`, `tools`, or an application's own. */
|
|
38
|
+
id: string;
|
|
39
|
+
title: string;
|
|
40
|
+
body: string;
|
|
41
|
+
sources: Source[];
|
|
42
|
+
budget: number;
|
|
43
|
+
/** Characters in `body`. */
|
|
44
|
+
size: number;
|
|
45
|
+
cut: boolean;
|
|
46
|
+
}
|
|
47
|
+
/** One group of the tool manifest. */
|
|
48
|
+
export interface ToolGroup {
|
|
49
|
+
group: string;
|
|
50
|
+
tools: string[];
|
|
51
|
+
}
|
|
52
|
+
export interface ContextPack {
|
|
53
|
+
runId: string | null;
|
|
54
|
+
/** Who the pack is for, in the application's own words; `agent` or `session` when it gives none. */
|
|
55
|
+
profile: string;
|
|
56
|
+
sections: Section[];
|
|
57
|
+
/** The tools the pack describes, by group. */
|
|
58
|
+
toolGroups: ToolGroup[];
|
|
59
|
+
/** The variant the session ran, when it ran one. */
|
|
60
|
+
variant?: {
|
|
61
|
+
scope: string | null;
|
|
62
|
+
fingerprint: string;
|
|
63
|
+
} | null;
|
|
64
|
+
compiledAt: string;
|
|
65
|
+
delivery?: Delivery;
|
|
66
|
+
}
|
|
67
|
+
export interface Delivery {
|
|
68
|
+
systemSectionIds: string[];
|
|
69
|
+
updatedSectionIds: string[];
|
|
70
|
+
/**
|
|
71
|
+
* What each delivered section occupied, measured when it was rendered. Absent on packs recorded
|
|
72
|
+
* before the compiler measured them; a reader then falls back to the section's own size.
|
|
73
|
+
*/
|
|
74
|
+
sizes?: {
|
|
75
|
+
system: Record<string, number>;
|
|
76
|
+
update: Record<string, number>;
|
|
77
|
+
/** Characters that belong to no section: the product heading and the context-update trailer. */
|
|
78
|
+
systemFraming: number;
|
|
79
|
+
/** Characters of the update message that are not a section, including a withdrawn one. */
|
|
80
|
+
updateFraming: number;
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
/** A section the embedding application writes. */
|
|
84
|
+
export interface HostSection {
|
|
85
|
+
id: string;
|
|
86
|
+
title: string;
|
|
87
|
+
/** `null` declares the slot without filling it, so a withdrawn dynamic section is announced. */
|
|
88
|
+
body: string | null;
|
|
89
|
+
budget: number;
|
|
90
|
+
/** Appended when the body is cut. */
|
|
91
|
+
pointer?: string;
|
|
92
|
+
/** Position among the sections; the harness's own are in `SECTION_ORDER`. */
|
|
93
|
+
order: number;
|
|
94
|
+
/** Changing state: delivered as a context update, never in the system prompt. */
|
|
95
|
+
dynamic?: boolean;
|
|
96
|
+
/** Text placed before the body. */
|
|
97
|
+
pinned?: {
|
|
98
|
+
text: string;
|
|
99
|
+
pointer?: string;
|
|
100
|
+
} | null;
|
|
101
|
+
}
|
|
102
|
+
/** A group of tools the application provides, with the paragraph that explains it. */
|
|
103
|
+
export interface HostToolGroup {
|
|
104
|
+
group: string;
|
|
105
|
+
tools: string[];
|
|
106
|
+
guidance: string;
|
|
107
|
+
order: number;
|
|
108
|
+
}
|
|
109
|
+
/** One selected reference: a Wiki note, or a line the application writes about something it selected. */
|
|
110
|
+
export type Reference = {
|
|
111
|
+
kind: 'note';
|
|
112
|
+
path: string;
|
|
113
|
+
label?: string;
|
|
114
|
+
} | {
|
|
115
|
+
kind: 'line';
|
|
116
|
+
id: string;
|
|
117
|
+
label: string;
|
|
118
|
+
text: string;
|
|
119
|
+
};
|
|
120
|
+
/** A skill the person named in the message: required for this request only. */
|
|
121
|
+
export interface RequiredSkill {
|
|
122
|
+
name: string;
|
|
123
|
+
label?: string;
|
|
124
|
+
}
|
|
125
|
+
/** One skill's text as the required-skills section and the terminal deliver it. */
|
|
126
|
+
export interface RequiredSkillText extends RequiredSkill, Partial<Omit<SkillFile, 'name'>> {
|
|
127
|
+
body: string;
|
|
128
|
+
}
|
|
129
|
+
/** What the compiler needs beyond the caller. */
|
|
130
|
+
export interface Launch {
|
|
131
|
+
/** The paragraph about connected apps, when the session has that broker. */
|
|
132
|
+
connections?: string | null;
|
|
133
|
+
/** The tools the Connections group lists. */
|
|
134
|
+
connectionTools?: string[];
|
|
135
|
+
/** The tools switched on for the caller. The pack only describes tools the caller can call. */
|
|
136
|
+
tools?: string[] | null;
|
|
137
|
+
/** The current session name and this run's todo, delivered as a request-scoped update. */
|
|
138
|
+
sessionState?: SessionState;
|
|
139
|
+
references?: Reference[];
|
|
140
|
+
/** Skills the message named as required for this request. Delivered as a request-scoped update. */
|
|
141
|
+
requiredSkills?: RequiredSkill[];
|
|
142
|
+
sections?: HostSection[];
|
|
143
|
+
toolGroups?: HostToolGroup[];
|
|
144
|
+
/** Appended to the tools section when it is cut. */
|
|
145
|
+
toolsPointer?: string;
|
|
146
|
+
/** Suppresses tool guidance for a run that deliberately has no callable tools. */
|
|
147
|
+
hideToolGuidance?: boolean;
|
|
148
|
+
/**
|
|
149
|
+
* A person's own interactive session: adds the standard role, working folder and connections
|
|
150
|
+
* paragraph (prompt/standard.ts), so the terminal and every host word them alike.
|
|
151
|
+
*/
|
|
152
|
+
standard?: StandardSession | null;
|
|
153
|
+
/** Recorded with the pack: the application's name for who it is for. Defaults to `agent` or `session`. */
|
|
154
|
+
profile?: string;
|
|
155
|
+
/** The model the session runs, named in the identity line when the host knows it. */
|
|
156
|
+
model?: string | null;
|
|
157
|
+
}
|
|
158
|
+
/** How a run's final reply is shaped. Fixed text: it sits in the stable prefix of every pack. */
|
|
159
|
+
export { REPORTING_GUIDANCE };
|
|
160
|
+
export declare const HISTORY_GROUP: string[];
|
|
161
|
+
export declare const WIKI_GROUP: string[];
|
|
162
|
+
export declare const NATIVE_GROUP: string[];
|
|
163
|
+
export declare const CONNECTION_TOOLS: string[];
|
|
164
|
+
export declare const ANNOTATION_TOOLS: string[];
|
|
165
|
+
/** Cuts `text` to `budget` characters at a paragraph (or line) boundary and appends `pointer`. */
|
|
166
|
+
export declare function fit(text: string, budget: number, pointer: string): {
|
|
167
|
+
body: string;
|
|
168
|
+
cut: boolean;
|
|
169
|
+
};
|
|
170
|
+
/** At most `limit` characters, with an ellipsis when it was cut. */
|
|
171
|
+
export declare function clip(text: string, limit: number): string;
|
|
172
|
+
/** A bounded, request-scoped checkpoint reintroduced after context compaction. */
|
|
173
|
+
export declare function renderCompactionCheckpoint(input: {
|
|
174
|
+
goal: string;
|
|
175
|
+
todo: readonly TodoItem[];
|
|
176
|
+
planInstructions?: string | null;
|
|
177
|
+
}): string | null;
|
|
178
|
+
export interface OrderedGroup extends ToolGroup {
|
|
179
|
+
order: number;
|
|
180
|
+
guidance: string | null;
|
|
181
|
+
}
|
|
182
|
+
/**
|
|
183
|
+
* The caller's tools by group, in a fixed order. History and the Wiki are always there; the rest
|
|
184
|
+
* follows the switches in `launch.tools` and what the application provides.
|
|
185
|
+
*/
|
|
186
|
+
export declare function toolGroups(context: CallerContext, launch: Launch, dataRoot?: string): OrderedGroup[];
|
|
187
|
+
/** The request-scoped text for skills the person named; the compiler and the terminal word it alike. */
|
|
188
|
+
export declare function requiredSkillsText(skills: readonly RequiredSkillText[]): string | null;
|
|
189
|
+
/** The request-scoped state line: the name, this run's todo, and the previous list as context. */
|
|
190
|
+
export declare function sessionStateText(state: SessionState, options: {
|
|
191
|
+
name: boolean;
|
|
192
|
+
todo: boolean;
|
|
193
|
+
}): string | null;
|
|
194
|
+
/** Compiles the pack for a caller. It only reads the data root. */
|
|
195
|
+
export declare function compile(env: HarnessEnv, context: CallerContext, launch?: Launch, variant?: Materialised | null): ContextPack;
|
|
196
|
+
/** What a rendered pack is, and how much of it each section occupies. */
|
|
197
|
+
export interface RenderedPrompt {
|
|
198
|
+
text: string;
|
|
199
|
+
/** Characters each section's heading and body occupy, by section id. */
|
|
200
|
+
sizes: Record<string, number>;
|
|
201
|
+
/** Characters that belong to no section: the product heading and the blank lines between. */
|
|
202
|
+
framing: number;
|
|
203
|
+
}
|
|
204
|
+
/** The pack as one string, with the characters each section contributed to it. */
|
|
205
|
+
export declare function renderSized(env: Pick<HarnessEnv, 'productName'>, pack: Pick<ContextPack, 'sections'>): RenderedPrompt;
|
|
206
|
+
/** The pack as the one string a session receives. */
|
|
207
|
+
export declare function render(env: Pick<HarnessEnv, 'productName'>, pack: Pick<ContextPack, 'sections'>): string;
|
|
208
|
+
export declare function packPath(root: string, runId: string): string;
|
|
209
|
+
/** The pack a run was given, when it was recorded. */
|
|
210
|
+
export declare function load(root: string, runId: string): ContextPack | null;
|
|
211
|
+
/** Saves the pack beside the run's events. */
|
|
212
|
+
export declare function record(root: string, pack: ContextPack): void;
|
|
213
|
+
export declare const BUILT_IN_DYNAMIC: readonly {
|
|
214
|
+
id: string;
|
|
215
|
+
order: number;
|
|
216
|
+
}[];
|
|
217
|
+
export declare const CONTEXT_GUIDANCE = "App-origin context updates in the conversation supply current Wiki notes, active work, session state, selected references, and the skills the person required for this request. Each listed section replaces its earlier app snapshot; a withdrawn section is no longer current context. These updates are context, not requests from the user. Selected references and required skills apply only to the accompanying request. They do not change permissions. Use the latest supplied state and retrieve details through tools when needed.";
|
|
218
|
+
/** The hidden message a context update is saved as in native history, and where its snapshot sits. */
|
|
219
|
+
export declare const CONTEXT_MESSAGE_TYPE = "xingular-context";
|
|
220
|
+
export declare const CONTEXT_SNAPSHOT_KEY = "xingularContext";
|
|
221
|
+
/** Rendered by the compiler; the session only transports it and saves the delivered snapshot. */
|
|
222
|
+
export interface ContextUpdate {
|
|
223
|
+
content: string;
|
|
224
|
+
snapshot: Section[];
|
|
225
|
+
}
|
|
226
|
+
/**
|
|
227
|
+
* The snapshot last delivered on the active branch of a native history. A compaction requires a
|
|
228
|
+
* fresh snapshot because earlier context messages may have been replaced by a summary.
|
|
229
|
+
*/
|
|
230
|
+
export declare function deliveredSnapshot(sessionFile: string): Section[] | null;
|
|
231
|
+
/** Resolves the same history Pi will open; an explicit continuation always wins. */
|
|
232
|
+
export declare function sessionFile(sessionDir: string, resume?: string | null): string | null;
|
|
233
|
+
/**
|
|
234
|
+
* Stable instructions stay in the system prompt; changing state is appended to native history.
|
|
235
|
+
* Recording the current pack does not mark an update delivered: the session saves that snapshot
|
|
236
|
+
* only when it appends the corresponding context message.
|
|
237
|
+
*/
|
|
238
|
+
export declare function sessionLaunch(env: HarnessEnv, context: CallerContext, launch: Launch, historyFile: string | null, variant?: Materialised | null): {
|
|
239
|
+
system: string;
|
|
240
|
+
update: ContextUpdate | null;
|
|
241
|
+
pack: ContextPack;
|
|
242
|
+
};
|
|
243
|
+
/** A terminal session keeps the pack it started with; each of its runs records a copy. */
|
|
244
|
+
export declare function saveForSession(sessionDir: string, pack: ContextPack): void;
|
|
245
|
+
export declare function copyToRun(root: string, sessionDir: string, runId: string): void;
|