@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,56 @@
|
|
|
1
|
+
# Xingular Harness 1.3.1-unstable.4
|
|
2
|
+
|
|
3
|
+
Unstable preview of the current Harness work. Install with `npm install @xingular/harness@unstable`.
|
|
4
|
+
|
|
5
|
+
- Continue a terminal session from a phone or iPad with `/remote-control` (alias `/rc`), without a
|
|
6
|
+
cloud relay (ADR-0056, [page 15](../architecture/15-remote-control.md)). The harness serves a small
|
|
7
|
+
phone page on the computer's Tailscale address, or its private Wi-Fi address, and the terminal
|
|
8
|
+
shows a half-block QR code for a one-device pairing link. A paired phone sends messages, watches
|
|
9
|
+
the reply stream, stops it, and answers approvals and questions through the same `Terminals` and
|
|
10
|
+
controller methods the terminal uses. Bodies are sealed with NaCl `secretbox` and a replayed
|
|
11
|
+
counter is refused; device keys live in memory only, and remote control ends with the session.
|
|
12
|
+
`xagent --remote-control` (`--rc`) turns it on at start, `/rc off` stops it, and the status bar
|
|
13
|
+
reads `rc` while it is on and `rc ●` while a device is connected. Terminal runs now also record
|
|
14
|
+
streamed `message.delta` events. New dependencies: `tweetnacl`, `uqr`.
|
|
15
|
+
- Classify a plan reply instead of guessing at it, and repair one bad reply. An attended top-level
|
|
16
|
+
plan run has one shared outcome: `plan_ready` for a complete `<proposed_plan>`, `blocked` when a
|
|
17
|
+
required decision cannot be obtained, and `invalid` for missing, incomplete, conflicting or
|
|
18
|
+
malformed blocks; only `plan_ready` offers a plan card and Implement (ADR-0055, ADR-0057,
|
|
19
|
+
ADR-0058). An `invalid` reply gets one hidden format-repair turn in the same run, and a failed
|
|
20
|
+
repair leaves the run completed with a warning instead of a plan choice. Clarification now goes
|
|
21
|
+
through the blocking `ask_user` tool, so new final replies no longer use `<plan_clarification>` or
|
|
22
|
+
free-text questions. Both the server and the terminal use the same classification rather than
|
|
23
|
+
separate heuristics. The App's plan card has not adopted the classification yet.
|
|
24
|
+
- Report a live reply's heartbeat every 30 seconds, and end a reply that produces nothing but
|
|
25
|
+
heartbeats for 15 minutes as `interrupted` with reason `stalled`, instead of showing a run that
|
|
26
|
+
never settles (ADR-0054). A running tool gets 30 minutes, and an unanswered approval or question is
|
|
27
|
+
never cut short. Before this, a terminal reply reported no heartbeat at all, so the run sweep
|
|
28
|
+
waited the full 30-minute silence window and recorded `owner_gone` while the process was alive.
|
|
29
|
+
- Stop refusing repeated work (ADR-0053). A reply is no longer refused or ended for calling the same
|
|
30
|
+
tool with the same arguments three times, for a Bash check that keeps failing, or for editing one
|
|
31
|
+
path more than four times: those calls are ordinary work and the reply budget is the single bound.
|
|
32
|
+
The 320-call/60-minute budget, its checkpoint handoff, slice continuation and the
|
|
33
|
+
three-compaction thrash rule are unchanged, and the `stuck` checkpoint reason stays readable in
|
|
34
|
+
existing runs.
|
|
35
|
+
- Answer what the latest request was made of with `/context`. The page has a Request tab (one row per
|
|
36
|
+
contributor with its estimated tokens and share of the window, four-colour ownership bar with a
|
|
37
|
+
free track and a compaction marker) and a Growth tab (how the window filled over the session).
|
|
38
|
+
`space` folds a group, `enter` shows one row's text, `g` switches grouping between owner and kind,
|
|
39
|
+
and `c` asks the session to compact. `terminal.context` serves it from `context.attribution`; the
|
|
40
|
+
status band reads the same share, such as `18.3%/1M`.
|
|
41
|
+
- Render the `/btw` side answer as Markdown instead of plain text. Headings, emphasis, lists, quotes,
|
|
42
|
+
links, tables and fenced code use the theme's markdown colours, a streaming answer re-renders in
|
|
43
|
+
place, and terminal control sequences in model output are still removed.
|
|
44
|
+
|
|
45
|
+
## Upgrading
|
|
46
|
+
|
|
47
|
+
- Two new runtime dependencies arrive with remote control: `tweetnacl` and `uqr`.
|
|
48
|
+
- A plan reply that ends in `<plan_clarification>` or a free-text question is now `invalid` and gets
|
|
49
|
+
the single repair turn; use `ask_user` for a decision the run needs before it can plan.
|
|
50
|
+
- The `stuck` checkpoint reason is no longer produced, but it stays readable in existing run records.
|
|
51
|
+
|
|
52
|
+
## Publication note
|
|
53
|
+
|
|
54
|
+
This preview was published with the test job removed and without waiting for the smoke job, by
|
|
55
|
+
request. The `check` job and the smoke gate are restored in the next commit; the candidate pack,
|
|
56
|
+
integrity check, preflight, provenance and registry verification in the publish job still ran.
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
# Xingular Harness 1.3.1-unstable.5
|
|
2
|
+
|
|
3
|
+
Unstable preview of the current Harness work. Install with `npm install @xingular/harness@unstable`.
|
|
4
|
+
|
|
5
|
+
- Namespace plugin commands (ADR-0061). A plugin-owned extension command and a plugin-owned prompt
|
|
6
|
+
template now share one owner namespace, `/<owner-prefix>:<name>`, and bare plugin aliases are
|
|
7
|
+
gone. A package can name its root template with `harness.defaultPrompt`; owner and route
|
|
8
|
+
collisions fail closed. Standalone templates, `/skill:<name>` and the core commands are
|
|
9
|
+
unchanged, and structured sessions route through the same registry.
|
|
10
|
+
- Make an approval a control, never a typed permission (INV-GATE-9, ADR-0060). The compiled
|
|
11
|
+
guidance tells the model to call the tool, and the Harness pauses that exact call in
|
|
12
|
+
`waiting_for_approval`; Allow resumes it in the same turn and a denial returns a tool result on
|
|
13
|
+
the still-running turn. No surface accepts a typed approval instead of a control, nothing outside
|
|
14
|
+
the workspace changes before the click, and Full Permission remains the standing bypass.
|
|
15
|
+
- Record refusals and stop codes (ADR-0059). The gate and the work-slice bound emit `tool.refused`
|
|
16
|
+
with a bounded reason and a code (`plan_mode`, `workspace`, `scope`, `policy`, `capability`,
|
|
17
|
+
`approval_denied`, `unattended`, `work_slice`, `controller_unavailable`), `trajectory_search`
|
|
18
|
+
reports `terminalReason` and `terminalCode`, and `/trajectory` shows both. Compaction events carry
|
|
19
|
+
the token measurements that were available when they happened; older run records still read.
|
|
20
|
+
- Answer `/context` from one run view. The page gains a Run details tab fed by
|
|
21
|
+
`context.runDetails`, listing the facts a run recorded (status, mode, model, effort, variant
|
|
22
|
+
version, workspace, tools and more), with `null` where a record has no such fact.
|
|
23
|
+
- Keep a refused question answer in the terminal. A choice, note or typed answer the Harness would
|
|
24
|
+
reject stays in the dock with an inline reason naming the question and the field, instead of
|
|
25
|
+
closing the form and losing the draft.
|
|
26
|
+
- Scroll a `/btw` answer taller than its block: PageUp/PageDown reach the side-question dock while
|
|
27
|
+
it is open and the wheel over the block browses it. When the answer fits, those keys scroll the
|
|
28
|
+
transcript as before.
|
|
29
|
+
- Drop the context-use figure from the composer status line, so it no longer ends the token group
|
|
30
|
+
with a reading such as `6.6%/?`. The project and branch, account, model and effort, and the
|
|
31
|
+
input/cache hit rate/output tokens remain; the share of the window stays in the `/context` page
|
|
32
|
+
header. Both the OpenTUI status bar and the exported `tui/status` band lose the reading.
|
|
33
|
+
- Define the interaction side of computer control, still host-owned (PAR-007). `computer/control.ts`
|
|
34
|
+
is an unregistered adapter whose backend must revalidate session approval, window identity and run
|
|
35
|
+
liveness at the point of effect; `computer/boundary.ts` builds the approval details for one action
|
|
36
|
+
against one window; `computer/terminalCapture.ts` is the trusted host contract for a
|
|
37
|
+
person-selected window with a fresh decision per capture. The Harness registers no computer tool
|
|
38
|
+
and ships no backend, so the terminal has no computer screenshot or interaction surface; a host
|
|
39
|
+
that cannot guarantee the contract must not supply one.
|
|
40
|
+
|
|
41
|
+
## Upgrading
|
|
42
|
+
|
|
43
|
+
- A bare plugin command such as `/xdiag` no longer resolves. Use the owner namespace,
|
|
44
|
+
`/<owner-prefix>:<name>`; `xingular-devkit` 0.2.0 ships `harness.commandPrefix` `xdiag`.
|
|
45
|
+
- A typed "yes" is never an approval. Deny a call to end it; Allow resumes that same call.
|
|
46
|
+
- Run records gain refusal events, `terminalReason` and `terminalCode`. Older records remain
|
|
47
|
+
readable and report `null` for a fact they did not record.
|
|
48
|
+
|
|
49
|
+
## Publication note
|
|
50
|
+
|
|
51
|
+
This preview was published with the test job removed and without waiting for the smoke job, by
|
|
52
|
+
request. The candidate pack, integrity check, preflight, provenance and registry verification in
|
|
53
|
+
the publish job still ran. The `check` job and the smoke gate are restored in the next commit.
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# Xingular Harness 1.3.1-unstable.6
|
|
2
|
+
|
|
3
|
+
Unstable preview of the current Harness work. Install with `npm install @xingular/harness@unstable`.
|
|
4
|
+
|
|
5
|
+
- Refine a variant from the terminal and keep checkpoints of it (PROP-0052, ADR-0065, ADR-0066).
|
|
6
|
+
`/refine [what to look at]` replays the latest request typed in this chat from a snapshot of the
|
|
7
|
+
folder as that turn found it, in throwaway shared clones, after a confirmation that shows the run
|
|
8
|
+
count and models; it runs in the background, and `/refine review` shows every candidate's changes
|
|
9
|
+
and output and adopts any of them. Guidance reaches improvers and composers only, never the blind
|
|
10
|
+
selector. Task runs default to this chat's model; `--model` sets the improver's, and an adopted
|
|
11
|
+
version records the model it was tuned on. `/variant` switches this conversation to another
|
|
12
|
+
version at the next turn (resuming the same conversation), restores, compares, tags, and takes
|
|
13
|
+
single components back from an earlier version. New methods: `refine.fromRun`,
|
|
14
|
+
`refine.candidateDiff`, `refine.candidateOutput`, `variants.tag|untag|tags|resolve|revert`. Run
|
|
15
|
+
records gain `workspaceSnapshot`, version records `tunedFor`, and scopes `tags.json`.
|
|
16
|
+
- Start a conversation this account cannot use on the account's newest selection. A resumed
|
|
17
|
+
conversation keeps its model while the account offers it and holds its provider's credentials;
|
|
18
|
+
otherwise the terminal starts it on the mode's choice, then normal's, then the newest selection in
|
|
19
|
+
any mode, with that selection's effort, writes the model change into the conversation, and says in
|
|
20
|
+
one notice which model it replaced. A fallback is never saved as the person's choice, and with no
|
|
21
|
+
usable saved model Pi's own fallback message stands (ADR-0064).
|
|
22
|
+
- Make unfinished-work handoffs actionable: the stable reporting guidance now names the person’s
|
|
23
|
+
concrete decision or the next action and its owner for each material blocker, without imposing a
|
|
24
|
+
fixed heading (PROP-0051, ADR-0063).
|
|
25
|
+
- Share the account sign-in between `npm run dev` and the installed `xagent`. A standalone launch
|
|
26
|
+
can now take its account identity from another state directory with `--account-state <dir>`
|
|
27
|
+
(`HarnessOptions.accountsDir` plus that state's `secrets.json`), and `npm run dev` passes the
|
|
28
|
+
installed one, so one provider sign-in serves both while development keeps its own data,
|
|
29
|
+
approvals and plugin trust (ADR-0062).
|
|
30
|
+
|
|
31
|
+
Published without the test suites, by request.
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# Xingular Harness 1.3.1-unstable.7
|
|
2
|
+
|
|
3
|
+
Unstable preview of the current Harness work. Install with `npm install @xingular/harness@unstable`.
|
|
4
|
+
|
|
5
|
+
- Keep the provider cache working after a compaction (ADR-0067). The compaction checkpoint now arms only
|
|
6
|
+
for a compaction during the running reply, is built once, and sits right after the summary instead
|
|
7
|
+
of being rebuilt at the end of every request. A request after a compaction is again the previous
|
|
8
|
+
request plus new items, so Codex WebSocket continuation and prefix caching apply. Before, every later
|
|
9
|
+
turn of a compacted session resent its whole context: one measured session fell from 94–99% to
|
|
10
|
+
18–24% cache hits after its first compaction.
|
|
11
|
+
- Flag a low prompt-cache hit rate in the terminal's composer status bar. `R<percentage>%` now covers the
|
|
12
|
+
last 10 model responses instead of the whole session (`recentCacheUsage`, `CACHE_HIT_WINDOW`), and
|
|
13
|
+
gets a yellow `⚠` below 70 percent and a red one below 40 percent. Each drop to a worse level posts
|
|
14
|
+
one transcript notice. A window of one response, or one with no cache reads or writes, is not judged
|
|
15
|
+
(`cacheHitLevel`, `CACHE_HIT_WARNING_PERCENT`, `CACHE_HIT_CRITICAL_PERCENT`).
|
|
16
|
+
|
|
17
|
+
Published without the test suites, by request.
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# Xingular Harness 1.3.1-unstable.8
|
|
2
|
+
|
|
3
|
+
Unstable preview of the current Harness work. Install with `npm install @xingular/harness@unstable`.
|
|
4
|
+
|
|
5
|
+
- Reword the final-reply guidance so the outcome leads and structure follows what the answer needs. The
|
|
6
|
+
reporting guidance is part of every request's stable prefix, so this changes the cached prefix.
|
|
7
|
+
- Keep the provider cache working after a compaction (ADR-0067). The compaction checkpoint now arms only
|
|
8
|
+
for a compaction during the running reply, is built once, and sits right after the summary instead
|
|
9
|
+
of being rebuilt at the end of every request. A request after a compaction is again the previous
|
|
10
|
+
request plus new items, so Codex WebSocket continuation and prefix caching apply. Before, every later
|
|
11
|
+
turn of a compacted session resent its whole context: one measured session fell from 94–99% to
|
|
12
|
+
18–24% cache hits after its first compaction.
|
|
13
|
+
- Flag a low prompt-cache hit rate in the terminal's composer status bar. `R<percentage>%` now covers the
|
|
14
|
+
last 10 model responses instead of the whole session (`recentCacheUsage`, `CACHE_HIT_WINDOW`), and
|
|
15
|
+
gets a yellow `⚠` below 70 percent and a red one below 40 percent. Each drop to a worse level posts
|
|
16
|
+
one transcript notice. A window of one response, or one with no cache reads or writes, is not judged
|
|
17
|
+
(`cacheHitLevel`, `CACHE_HIT_WARNING_PERCENT`, `CACHE_HIT_CRITICAL_PERCENT`).
|
|
18
|
+
|
|
19
|
+
Published without the test suites, by request.
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
# Xingular Harness 1.3.1-unstable.9
|
|
2
|
+
|
|
3
|
+
Unstable preview of the current Harness work. Install with `npm install @xingular/harness@unstable`.
|
|
4
|
+
|
|
5
|
+
- A reply can no longer quietly stop with work open (ADR-0069, ADR-0071). In attended top-level runs,
|
|
6
|
+
terminal included, a reply that ends while its todo list has open items is sent back to the model,
|
|
7
|
+
naming the items, up to three times per reply and never after a nudge produced no work; such a reply
|
|
8
|
+
settles `interrupted` with the stop codes `needs_person` or `unfinished`, never `completed`, with a
|
|
9
|
+
checkpoint the harness writes from the todo list, files and checks. `checkpoint_write` is removed.
|
|
10
|
+
The work-slice budget now covers the whole reply, so Pi's own continuations no longer reset it.
|
|
11
|
+
A live terminal session keeps the code it started with, so restart it to get the gate.
|
|
12
|
+
- A completion check decides whether a reply may end (ADR-0071). When a reply that did work ends with
|
|
13
|
+
its todo list closed or absent, the run's own model, at low effort and with a fresh context, judges
|
|
14
|
+
the person's request against what the reply did: `done`, `continue` (the reply is sent back with the
|
|
15
|
+
reason and next step) or `needs_person`. It shares the stop gate's cap of three nudges per reply and
|
|
16
|
+
its no-progress rule, its request counts in the run's usage, and any failure leaves the reply as it
|
|
17
|
+
was. `finish` is removed: a live run used it after 23 seconds to ask something the handoff already
|
|
18
|
+
answered. `XINGULAR_STOP_GATE=off` and `XINGULAR_COMPLETION_CHECK=off` switch either layer off at
|
|
19
|
+
launch.
|
|
20
|
+
- The model is told it has `edit` and `write`. Pi drops the definition's prompt line and guidelines for
|
|
21
|
+
its edit and write tools and lists only tools that have one, so every terminal and headless run's
|
|
22
|
+
system prompt named only `read` and `bash`; models edited files through shell scripts instead (one
|
|
23
|
+
2-hour run: 156 script edits, 14 failed, no `edit` call). `createWorkspaceFileTools` now restores the
|
|
24
|
+
prompt line and guidelines, for the terminal and the runner alike.
|
|
25
|
+
- A plan no longer leaks its tools into normal mode. A rebuild before Pi recorded the restored normal
|
|
26
|
+
set (a new runtime, resume, switch, fork or tree navigation) replayed the plan set, so normal work
|
|
27
|
+
ran without `edit`, `write`, browser and connected-app tools even though the model had planned to use
|
|
28
|
+
them. The terminal now marks each plan request in the session and restores the normal set after any
|
|
29
|
+
rebuild.
|
|
30
|
+
- Terminal replies continue across work slices (ADR-0070). A reply that reaches its 320-call or
|
|
31
|
+
60-minute budget after doing work continues in place as the next slice, with a checkpoint and a
|
|
32
|
+
notice, up to 8 slices, instead of waiting for "continue" and re-sending the whole context uncached.
|
|
33
|
+
Fruitless, blocked, failed, aborted and plan slices still stop. `XINGULAR_WORK_SLICE` also accepts
|
|
34
|
+
key=value pairs such as `maxToolCalls=15,maxSlices=3`.
|
|
35
|
+
- One copy of each credential: no more `invalid_grant` from terminals. A terminal kept the account's
|
|
36
|
+
tokens in its own `auth.json` under its own lock while the host, its subagents and usage probes
|
|
37
|
+
refreshed the same token in the Keychain, and `terminalEnd` copied the file back over whatever the
|
|
38
|
+
Keychain held; OpenAI rotates refresh tokens, so whichever side refreshed second failed. A terminal
|
|
39
|
+
now reads and refreshes through the host store (`accounts.credentials.*`, INV-ACC-5), holding its
|
|
40
|
+
lock for the refresh, and folds in an `auth.json` left by an older terminal, newest token first.
|
|
41
|
+
- A stalled terminal reply is recorded as `stalled`. Pi's abort reports through `terminal.interrupt`
|
|
42
|
+
like a person's Esc, which closed the run as `user_abort` before the reply settled as `stalled`; one
|
|
43
|
+
silent 15-minute hang was recorded as the person's abort. The interrupt now carries the stall, and an
|
|
44
|
+
interrupt also ends a settling reply's wait for its subagents.
|
|
45
|
+
- `spawn_subagent` returns the child's tools, and the read-only profiles say up front when a brief needs
|
|
46
|
+
a tool they lack.
|
|
47
|
+
- Prompt: the role paragraph sets the scope of the work — the obvious adjacent step, what the work
|
|
48
|
+
itself exposes, the check it needs, inside the working folder and away from what a person must decide
|
|
49
|
+
(a deploy, a secret, remote data, money), without asking first inside those bounds — and the
|
|
50
|
+
reporting guidance requires `## Beyond what you asked` and `## What would make this complete` when
|
|
51
|
+
they apply (ADR-0068). The role budget rises from 1,500 to 2,200 characters and the reporting budget
|
|
52
|
+
from 2,000 to 2,400. All of it is stable-prefix text, so the cached prefix changes once per session.
|
|
53
|
+
|
|
54
|
+
Published without the test suites, by request.
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# Xingular Harness 1.4.0-unstable
|
|
2
|
+
|
|
3
|
+
Unstable preview of the current Harness work. Install with `npm install @xingular/harness@unstable`.
|
|
4
|
+
|
|
5
|
+
- **Long-running `/goal` sessions.** Start a bounded goal run, inspect and update its goal, pause or
|
|
6
|
+
resume it, and let the completion check judge the goal when the run claims completion. Ordinary
|
|
7
|
+
replies no longer incur a model-judged completion check.
|
|
8
|
+
- **Completion and continuation guidance.** Codex-inspired prompt sections cover autonomy,
|
|
9
|
+
persistence, steering, compaction and clear handoffs. Reporting guidance is expanded with examples
|
|
10
|
+
and concrete requirements for changes, checks, blockers and follow-up actions.
|
|
11
|
+
- **Skill installation and discovery.** The plugin-authoring skill documents supported skill
|
|
12
|
+
locations and safe install routes. Foreign plugin manifests can expose skills, and plugin
|
|
13
|
+
installation rejects repository `tree` and `blob` page URLs with actionable guidance.
|
|
14
|
+
- **Terminal and session fixes.** Terminal behavior now accounts for the goal lifecycle, retains the
|
|
15
|
+
right completion behavior, and includes related prompt, status and lifecycle updates.
|
|
16
|
+
|
|
17
|
+
Test suites were not run for this candidate, at the request to bypass tests.
|
|
18
|
+
|
|
19
|
+
Published from commit `5f4c907` with a manual `npm publish --access public --tag unstable`, after the
|
|
20
|
+
reviewed candidate was built from the same commit (SHA-256
|
|
21
|
+
`2b1c12ddcd4c63a57714ab3538ff5198dec88d408230a0ef42bb8ece22cffe00`). The published tarball has that
|
|
22
|
+
relation recorded by its npm integrity, `sha512-zlPE8HB3X0iR7AqELgYMVJzWjZMlEFdOKCjBJHyxQreWaDwyGnZ5M83rcA4Op/+CgGpl8BuYwFOcjcXa6Fayeg==`.
|
|
23
|
+
Because the suites and the exact-tarball smoke checks did not run, and the workflow's OIDC publish path
|
|
24
|
+
was not used, this version carries no provenance attestation and `scripts/release-verify.mjs` cannot
|
|
25
|
+
verify it. The release workflow's gates are unchanged for the next release.
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# Xingular Harness 1.5.0-unstable
|
|
2
|
+
|
|
3
|
+
Unstable preview of the current Harness work. Install with `npm install @xingular/harness@unstable`.
|
|
4
|
+
|
|
5
|
+
- **No todo gate.** The stop gate, its three reminders and the `unfinished` status that open todo
|
|
6
|
+
items produced are removed. A reply the model ends settles `completed`; the goal loop and the
|
|
7
|
+
work-slice guard keep their stop codes and checkpoints. `XINGULAR_STOP_GATE` is retired.
|
|
8
|
+
- **Codex's final-answer guidance.** The reporting section adopts Codex's `gpt-6.1-sol` wording:
|
|
9
|
+
self-contained final, outcome first, what changed and why, how it was tested, risks and limits,
|
|
10
|
+
evidence summarized, tables for comparisons, length by complexity, prose before lists. It falls
|
|
11
|
+
from 9.2k to 3.7k characters.
|
|
12
|
+
- **Personality and model identity.** A person's own session reads Codex's personality paragraph,
|
|
13
|
+
and the identity names the model the session runs when the host knows it. The unclear-scope rule
|
|
14
|
+
uses Codex's wording with `ask_user` for the follow-up.
|
|
15
|
+
- **Work rules and credentials.** The tool guidance gains Codex's `rg`-first search, shell quoting,
|
|
16
|
+
command-separator, variable-name and test-restraint rules, plus the skill and plugin principles.
|
|
17
|
+
A login that blocks the work is answered with the exact command.
|
|
18
|
+
|
|
19
|
+
Test suites were not run for this candidate, at the request to bypass tests.
|
|
20
|
+
|
|
21
|
+
Prepared from commit f7c6fce. The candidate was built from that clean commit: SHA-256
|
|
22
|
+
`c58bbc67a22778f2724a9cbbc101a1bbbcd60434b05acab3013a3690a5c61fef`, npm integrity
|
|
23
|
+
`sha512-PJLxG42u+Wq8AliaplF93kbQeC2vZiqUzPW4pVXDIViVG6AwrGxzu6EvPEE5dZRAysSD07Aw3cLzvnEwLMgfrQ==`.
|
|
24
|
+
Published from commit f7c6fce with a manual `npm publish --access public --tag unstable`, after the
|
|
25
|
+
candidate was built from the same commit (SHA-256
|
|
26
|
+
`c58bbc67a22778f2724a9cbbc101a1bbbcd60434b05acab3013a3690a5c61fef`, tarball shasum
|
|
27
|
+
`e372cb575bffe266ac40d0d5c58581b7c45db1f4`, npm integrity
|
|
28
|
+
`sha512-PJLxG42u+Wq8AliaplF93kbQeC2vZiqUzPW4pVXDIViVG6AwrGxzu6EvPEE5dZRAysSD07Aw3cLzvnEwLMgfrQ==`).
|
|
29
|
+
The registry held the version in its malware scan for about 27 minutes before `unstable` moved to
|
|
30
|
+
it. Because the suites and the exact-tarball smoke checks did not run, and the workflow's OIDC path
|
|
31
|
+
was not used, this version carries no provenance attestation and `scripts/release-verify.mjs`
|
|
32
|
+
cannot verify it. The release workflow's gates are unchanged for the next release.
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# Xingular Harness 1.5.1-unstable
|
|
2
|
+
|
|
3
|
+
Unstable preview of the current Harness work. Install with `npm install @xingular/harness@unstable`.
|
|
4
|
+
|
|
5
|
+
- **Tool names in the terminal transcript.** Tools render in CamelCase (`todo_write` becomes
|
|
6
|
+
`TodoWrite`, `computer_screenshot` becomes `ComputerScreenshot`) instead of the raw tool id. The
|
|
7
|
+
todo card reads `Todo`, a custom message carries its type in the same form, a running child's
|
|
8
|
+
activity reads `Read` rather than `read`, and the phone page's transcript and approval card use
|
|
9
|
+
the same names.
|
|
10
|
+
- **Claude Code prompt study.** `STUDY-0007` reads Claude Code v2.1.88's shipped prompt from the
|
|
11
|
+
leaked source map and compares it with this harness's pack in 20 areas;
|
|
12
|
+
`scripts/study-claude-prompt.mjs` reproduces the measurement.
|
|
13
|
+
|
|
14
|
+
Test suites were not run for this candidate, at the request to bypass tests.
|
|
15
|
+
|
|
16
|
+
The candidate was built from commit `f6870fb`: SHA-256
|
|
17
|
+
`a9f49f244c160cf9bf9e6cf4192822ca658cba24f055c9196ea8a546bf5e45bd`, npm integrity
|
|
18
|
+
`sha512-uWzJE+QJfmsgOuS+EHAc2hbAt6lvHmvzhVqkyAQfwj9rwVb+kkZXnzBk94qHATI17pS3mX8IyJjNePTYJFTsXg==`.
|
|
19
|
+
Publication is blocked on npm's one-time password: publish the tarball with the browser flow, or push
|
|
20
|
+
the `v1.5.1-unstable` tag and let the release workflow publish it with provenance.
|
|
21
|
+
|
|
22
|
+
The tree has since moved past `f6870fb` (the transcript names reach the todo card, custom message
|
|
23
|
+
types, a child's activity and the phone page), so that tarball predates part of the note above: build
|
|
24
|
+
a new candidate from the current commit before publishing.
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
# Xingular Harness 1.6.0-unstable
|
|
2
|
+
|
|
3
|
+
Unstable preview of the current Harness work. Install with `npm install @xingular/harness@unstable`.
|
|
4
|
+
|
|
5
|
+
- **Your own signed-in Brave profile (ADR-0082).** `/settings` → Browser now chooses the browser
|
|
6
|
+
backend: the isolated Harness profile, or Brave through a paired unpacked extension that ships in
|
|
7
|
+
the package. Pairing uses a one-time `port:code` over an authenticated loopback bridge; each site
|
|
8
|
+
is allowed separately by exact origin in the extension popup; an in-page badge offers Pause and
|
|
9
|
+
Stop. The agent gets the same `browser_*` tools and the same approval gate, snapshot refs
|
|
10
|
+
included, and `browser_upload` stays WebKit-only. A disconnect refuses calls and never falls back
|
|
11
|
+
to the isolated browser. New methods `browser.config`, `browser.configure` and
|
|
12
|
+
`browser.extension.status|start|stop`; `browser.json` gains `backend`.
|
|
13
|
+
- **A reply that waits on children or on a flaky network no longer looks stalled (ADR-0078).** Each
|
|
14
|
+
subagent the reply waits on gets its own stall clock, the parent's clock pauses while it only
|
|
15
|
+
waits, and a transient model failure retries for about four minutes instead of fourteen seconds.
|
|
16
|
+
The working row says what the reply is doing: waiting on children, running a long tool, waiting
|
|
17
|
+
for the model, reconnecting, or making no progress.
|
|
18
|
+
- **A plan run may conclude that no plan is needed (ADR-0077).** A plan reply with no plan block
|
|
19
|
+
ends as `no_plan` with no card, notice or repair turn. Only a block the model started and left
|
|
20
|
+
incomplete is repaired, once, in the same run.
|
|
21
|
+
- **No work-slice budget by default (ADR-0081).** A reply is no longer ended at 320 tool calls or
|
|
22
|
+
60 minutes and continued as a "next slice". `workSlice` on a run and `XINGULAR_WORK_SLICE` still
|
|
23
|
+
set a budget, and the three-compaction guard stays.
|
|
24
|
+
- **Phase-led, flexible reporting (ADR-0079).** The `reporting` guidance is written for a reader
|
|
25
|
+
picking up cold: verification that did not run says so, subagents get a concise caller-facing
|
|
26
|
+
report contract, and a substantial report may use content-named headings. The duplicated
|
|
27
|
+
progress-update line moved out of `reporting` and stays in `writing`.
|
|
28
|
+
- **The follow-up and steering queue has a page.** `/follow-up`, and clicking a `Steer:` or
|
|
29
|
+
`Follow-up:` row, opens an editor for the queued messages with edit, send next, remove and
|
|
30
|
+
return. An explicit stop now sends one unconsumed steering message before the follow-ups.
|
|
31
|
+
- **Question sketches use one 80-column canvas (ADR-0080).** The model draws on a fixed 80-column
|
|
32
|
+
canvas and the terminal pads every valid sketch to it, with the frame inside the dock and
|
|
33
|
+
horizontally pannable. Stored sketches and answer payloads are unchanged.
|
|
34
|
+
- **CamelCase names everywhere in the transcript.** The 1.5.1 candidate predated the last of this
|
|
35
|
+
work, so this release carries the todo card, custom message types, a child's activity and the
|
|
36
|
+
phone page using the same `TodoWrite`/`ComputerScreenshot` form.
|
|
37
|
+
|
|
38
|
+
Two prompt sections change (`reporting` and the work-slice wording), so the stable prefix misses the
|
|
39
|
+
provider cache once per existing session after the upgrade. The Brave backend is opt-in and off by
|
|
40
|
+
default; the isolated browser is unchanged.
|
|
41
|
+
|
|
42
|
+
The release workflow builds the tarball from the `v1.6.0-unstable` tag, reruns CI on Ubuntu and
|
|
43
|
+
macOS, smoke-tests that exact tarball on both, and attaches it with `SHA256SUMS` to the GitHub
|
|
44
|
+
release before publishing it to npm's `unstable` dist-tag with provenance. The published SHA-256 and
|
|
45
|
+
npm integrity are the ones in that attached file, which `scripts/release-verify.mjs` checks against
|
|
46
|
+
the registry.
|
|
47
|
+
|
|
48
|
+
Checks on this source before tagging: `npm run typecheck` clean; `npm test` green (220 test files,
|
|
49
|
+
1,794 passing tests, 4 skipped); `npm run prove` green; `npm run release:smoke -- <tarball>
|
|
50
|
+
--terminal` green in a fresh installation (SDK, subpaths, Doctor, packaged CLI, JSON-lines server
|
|
51
|
+
and the terminal in an isolated PTY); `npm run release:preflight` reporting `1.6.0-unstable` unused,
|
|
52
|
+
with `unstable` on `1.5.1-unstable` and `latest` on `1.2.0`. The tarball carries 880 files and the
|
|
53
|
+
`browser-extension/` folder.
|
|
54
|
+
|
|
55
|
+
The live Brave acceptance test did not run: it needs `XINGULAR_BRAVE_LIVE=1` and a disposable Brave
|
|
56
|
+
window, so live control of a real profile is unverified here. The App's own checks were run against
|
|
57
|
+
this Harness source and are reported separately: its typecheck reports pre-existing `@xingular/ui`
|
|
58
|
+
prop-type errors (the `Xingular UI` path its tsconfig expects is absent), and one pre-existing Solo
|
|
59
|
+
test fails because the App does not wire `/goal` (PAR-017). Neither comes from this change.
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
# Xingular Harness 2.0.1-unstable
|
|
2
|
+
|
|
3
|
+
Unstable preview of the current Harness work. Install with `npm install @xingular/harness@unstable`.
|
|
4
|
+
2.0.0-unstable was tagged but never published; this is its first release.
|
|
5
|
+
This is a 2.0 line because the terminal's runtime changes: `xagent` is now a client of the harness
|
|
6
|
+
(ADR-0083), which adds methods and a socket transport and changes who owns execution in the
|
|
7
|
+
terminal. The package API and the stored data layout are otherwise unchanged.
|
|
8
|
+
|
|
9
|
+
- **One session runtime (ADR-0083): the terminal is now a client of the harness.** `xagent` runs no
|
|
10
|
+
agent loop in its window any more. Each turn is a harness run with the same gate, run records,
|
|
11
|
+
plan mode, goals and subagents as a host's, and the harness keeps the conversation's Pi session
|
|
12
|
+
open across turns (`sessions.run { live: true }`), so steering, queued follow-ups and plugin
|
|
13
|
+
state carry from one turn to the next. New methods `sessions.live`, `sessions.close`,
|
|
14
|
+
`sessions.followUp` and `sessions.followUp.clear`. `XINGULAR_TERMINAL_RUNTIME=inprocess` runs the
|
|
15
|
+
previous in-process runtime.
|
|
16
|
+
- **A long-lived harness (opt-in).** `xagent daemon start|stop|status` runs one harness per state
|
|
17
|
+
folder on an owner-only socket; `xagent --daemon` windows use it, so a reply keeps running when
|
|
18
|
+
its window closes, and `xagent attach [session]` reconnects. Plain `xagent` is unchanged: its
|
|
19
|
+
window runs its own private harness.
|
|
20
|
+
- **Every harness run now ends when it stops making progress.** A reply that produces nothing for
|
|
21
|
+
fifteen minutes (thirty with a tool running; a pending approval or a wait for subagents does not
|
|
22
|
+
count) is interrupted with reason `stalled`, whatever front end started it, and its live session
|
|
23
|
+
is closed rather than reused. Every run now sends the 30-second `heartbeat`, not only runs with a
|
|
24
|
+
work slice, so a long quiet tool is no longer settled as `owner_gone`.
|
|
25
|
+
- **Switching accounts starts on the new account's model.** A conversation resumed on another
|
|
26
|
+
account that names a model this account cannot use starts on this account's own latest choice,
|
|
27
|
+
with a notice, instead of showing and sending the old account's model. Plan and normal mode keep
|
|
28
|
+
their own model and effort in the new terminal: a mode that never chose an effort starts on the
|
|
29
|
+
default rather than the other mode's, a mode switch during a reply waits for it to settle, and a
|
|
30
|
+
one-shot `/plan` runs on the plan mode's choice.
|
|
31
|
+
- **The new terminal offers every effort level the model supports.** It stopped at `high`; it now
|
|
32
|
+
lists `xhigh` and `max` where the model maps them, and runs a model at the nearest level it
|
|
33
|
+
supports when asked for one it does not.
|
|
34
|
+
- **Fenced code in labeled panels.** Code blocks appear in a bordered panel labeled with the fence
|
|
35
|
+
language, with tree-sitter highlighting where a grammar is bundled and lightweight Python, shell
|
|
36
|
+
and JSON highlighting otherwise. The final-answer prompt asks for language-labeled fences and
|
|
37
|
+
`bash` fences for commands the person must run.
|
|
38
|
+
- **A reply whose provider request timed out and was retried successfully is now recorded as
|
|
39
|
+
completed**, not failed. A terminal window whose terminal closed no longer leaves its process
|
|
40
|
+
running.
|
|
41
|
+
- Terminal runs now record Pi's session id as `nativeSessionId`, as host runs do (in-process runs
|
|
42
|
+
keep recording their history file). `/session` takes a saved conversation's session id as well
|
|
43
|
+
as its file. Plugin dialogs reach the window as questions.
|
|
44
|
+
|
|
45
|
+
Two prompt lines change (the language-labeled fences), so the stable prefix misses the provider
|
|
46
|
+
cache once per existing session after the upgrade.
|
|
47
|
+
|
|
48
|
+
Behaviour changes to know about: in the default terminal, plugins get the host's interface
|
|
49
|
+
(dialogs, notices, status lines and text widgets); custom terminal components, key handlers,
|
|
50
|
+
renderers, shortcuts and themes need `XINGULAR_TERMINAL_RUNTIME=inprocess`.
|
|
51
|
+
|
|
52
|
+
Known gaps: a list item's wrapped lines are not aligned beneath its text (the renderer that did
|
|
53
|
+
that cost the blank rows between paragraphs, so lists wrap as in the previous release; Known drift
|
|
54
|
+
D-32). Remote control (`/remote-control`) still belongs to a terminal session, so a phone cannot
|
|
55
|
+
reach an App chat, and a reply that outlives its window under `--daemon` loses its phone
|
|
56
|
+
(PAR-018). The stall guard was tested with a fake Pi session and fake timers; no live model
|
|
57
|
+
request exercised it.
|
|
58
|
+
|
|
59
|
+
The release workflow builds the tarball from the `v2.0.1-unstable` tag, reruns CI on Ubuntu and
|
|
60
|
+
macOS, smoke-tests that exact tarball on both, and attaches it with `SHA256SUMS` to the GitHub
|
|
61
|
+
release before publishing it to npm's `unstable` dist-tag with provenance. The published SHA-256 and
|
|
62
|
+
npm integrity are the ones in that attached file, which `scripts/release-verify.mjs` checks against
|
|
63
|
+
the registry.
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
# Xingular Harness 4.0.0
|
|
2
|
+
|
|
3
|
+
This major release builds on the published 1.0.0 baseline. It extends Harness-owned terminal
|
|
4
|
+
surfaces and adds generic worktree and page-annotation capabilities; it also changes the built-in
|
|
5
|
+
terminal command namespace, documented below. Earlier published versions remain available.
|
|
6
|
+
|
|
7
|
+
## Included
|
|
8
|
+
|
|
9
|
+
- Managed Git worktrees for sessions and the terminal, with leases, guarded setup scripts, handoff,
|
|
10
|
+
pruning, restoration, and bounded snapshots that preserve uncommitted work.
|
|
11
|
+
- Web annotations and queued comments, including capture, review, resolution, sharing, and delivery
|
|
12
|
+
through Harness methods and terminal `/annotate:` and `/annotate:notes` pages.
|
|
13
|
+
- A unified terminal resource browser with persistent full-screen sections for browser tabs,
|
|
14
|
+
plugins, skills, connectors, variants, and other Harness resources.
|
|
15
|
+
- A full-screen `/history:trajectory` Runs/Events browser with searchable event details, selected-event
|
|
16
|
+
JSON, and a responsive split-pane layout.
|
|
17
|
+
- Additional terminal controls for browser settings, plugin settings, and subagent activity.
|
|
18
|
+
- Fix Node 22 SQLite parameter binding in recall and run indexes, and guard worktree Git calls
|
|
19
|
+
against early child-process exits while writing input.
|
|
20
|
+
- Updated architecture and parity documentation for Harness capabilities and their terminal and
|
|
21
|
+
host surfaces.
|
|
22
|
+
|
|
23
|
+
## Installation and requirements
|
|
24
|
+
|
|
25
|
+
Use `npm install --global @xingular/harness@4.0.0`, then `xagent`. Node 22.19 or later is required.
|
|
26
|
+
The interactive terminal also requires Bun; release CI uses Node 22.19.0 and Bun 1.4.2. Browser
|
|
27
|
+
operation requires an installed compatible browser or a deliberately configured endpoint. Model
|
|
28
|
+
credentials are configured inside an isolated Harness account.
|
|
29
|
+
|
|
30
|
+
## Compatibility
|
|
31
|
+
|
|
32
|
+
The new server methods are additive. The published executable is `xagent`, replacing the earlier
|
|
33
|
+
`xharness` candidate command without a compatibility alias; scripts using that candidate name must
|
|
34
|
+
be updated. All plugin-owned terminal commands use `/<owner-prefix>:<command>`: for example,
|
|
35
|
+
`/subagents:subagents`, `/history:trajectory`, `/doctor:doctor`, `/worktrees:worktree`, and
|
|
36
|
+
`/annotate:annotate`. The annotation prefix root `/annotate:` opens the default capture pane, and
|
|
37
|
+
`/annotate:notes` opens saved annotations. Existing `/plugin:<command>` and former bare required-plugin
|
|
38
|
+
forms remain hidden compatibility aliases for one release. Existing session, variant, account, plugin,
|
|
39
|
+
and browser contracts remain in place. Install this exact version or use the `latest` tag; historical
|
|
40
|
+
versions remain available.
|
|
41
|
+
|
|
42
|
+
## Verification scope
|
|
43
|
+
|
|
44
|
+
The Harness CI suite, standalone proof, App typecheck/tests/layer check/Rust tests, and App UI
|
|
45
|
+
consistency check must pass for the reviewed release candidate. The release tag workflow separately
|
|
46
|
+
builds and smoke-tests the exact tarball on its supported operating systems before publishing it
|
|
47
|
+
with npm provenance.
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
# Release procedure
|
|
2
|
+
|
|
3
|
+
1. Review and commit the completed Harness changes on the active release branch. Review App
|
|
4
|
+
compatibility changes separately. Preserve old tags and exclude outputs, external references,
|
|
5
|
+
and caches. Stable versions use `X.Y.Z`; unstable previews use `X.Y.Z-unstable` or `X.Y.Z-unstable.N` and publish
|
|
6
|
+
to npm's `unstable` dist-tag. Use a new, unused version for every publication.
|
|
7
|
+
2. Run `npm run ci` and the required App checks. Require green CI on Ubuntu and macOS; install Bun
|
|
8
|
+
1.4.2 and use Node 22.19.0. Do not waive failing checks.
|
|
9
|
+
3. Run `npm run release:pack` and inspect the candidate inventory, SHA-256 and npm integrity. Run
|
|
10
|
+
`npm run release:smoke -- <tarball> --terminal` for a fresh-install SDK/server/terminal check;
|
|
11
|
+
`--offline` is only a local smoke check, not fresh-install acceptance. Unstable candidates go
|
|
12
|
+
through the same checks as stable releases.
|
|
13
|
+
4. Run `npm run release:preflight`. Verify npm scope ownership and trusted-publisher settings for
|
|
14
|
+
`tanntnny/xingular-harness` and `release.yml`, with direct publishing enabled. Configure the
|
|
15
|
+
GitHub `npm-publish` environment with required reviewers. No login is started automatically; an
|
|
16
|
+
already-used version, unreachable registry, or missing publishing configuration blocks release.
|
|
17
|
+
5. Candidate approval is a pre-tag gate. Present the exact clean commit, candidate inventory,
|
|
18
|
+
SHA-256, npm integrity, release notes and check results for approval. Do not create or push the
|
|
19
|
+
matching `v<version>` tag until the person explicitly approves that candidate.
|
|
20
|
+
6. After candidate approval, push the reviewed commit and matching tag. The workflow reruns CI on
|
|
21
|
+
both OSes, builds one candidate, and smoke-tests that exact tarball on both OSes. Before approving
|
|
22
|
+
the protected `npm-publish` environment, compare the uploaded candidate's commit, SHA-256 and npm
|
|
23
|
+
integrity with the approved local candidate; stop if they differ. This environment approval is a
|
|
24
|
+
separate publication gate. The publish job publishes that same tarball with OIDC provenance and
|
|
25
|
+
`--tag latest` for stable versions or `--tag unstable` for unstable previews, then verifies the
|
|
26
|
+
matching registry dist-tag, integrity and provenance and creates a GitHub release (marked
|
|
27
|
+
prerelease for unstable versions). No local publishing token is needed. Inspect registry state before retrying any failed publication.
|
|
28
|
+
|
|
29
|
+
A published version cannot be replaced. Corrections require a later version. This package's
|
|
30
|
+
intentional 1.0.0 reset does not rewrite historical decisions or claim an ordering above older
|
|
31
|
+
2.x–5.x development versions. Publication status and local evidence belong in the candidate report.
|
|
32
|
+
|
|
33
|
+
## Historical 4.0.0 candidate evidence
|
|
34
|
+
|
|
35
|
+
The following report records a prior candidate and registry snapshot; it is not evidence for any
|
|
36
|
+
current candidate or a description of the current release gates.
|
|
37
|
+
|
|
38
|
+
At the time, local checks on that candidate source passed: Harness `npm run ci` (typecheck, 134 test
|
|
39
|
+
files with 1,004 passing tests and 3 skipped, plus the standalone proof); App typecheck, `npm test`
|
|
40
|
+
(566 renderer tests, 47 sidecar tests, and 7 dev-signing tests passed with 1 skipped), layer check,
|
|
41
|
+
and Rust tests (168 passed, 1 ignored); and App UI consistency. The registry snapshot listed 1.0.0 as
|
|
42
|
+
`latest` and 4.0.0 as unused. Its clean-tree preflight, exact-tarball packaging and fresh-install
|
|
43
|
+
smoke test passed. The package-owner verification of npm trusted-publisher configuration for
|
|
44
|
+
`tanntnny/xingular-harness` and `release.yml` was still required; `npm login` does not verify that
|
|
45
|
+
setting. These results and registry values are historical.
|
|
46
|
+
|
|
47
|
+
At that time, the workflow ran full CI and exact-tarball smoke on Ubuntu and macOS before publishing.
|
|
48
|
+
The current workflow and approval gates are described above. No local test failure was waived by the
|
|
49
|
+
historical report.
|