@xingular/harness 0.1.7 → 1.1.1
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 +125 -1
- package/LICENSE +202 -0
- package/NOTICE.md +22 -0
- package/README.md +239 -86
- package/THIRD_PARTY_LICENSES.md +942 -0
- package/dist/cli.js +17853 -13114
- package/dist/sdk/accounts/accounts.d.ts +165 -0
- package/dist/sdk/accounts/accounts.js +730 -0
- package/dist/sdk/accounts/choices.d.ts +23 -0
- package/dist/sdk/accounts/choices.js +62 -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 +16 -0
- package/dist/sdk/accounts/secrets.js +40 -0
- package/dist/sdk/accounts/store.d.ts +114 -0
- package/dist/sdk/accounts/store.js +255 -0
- package/dist/sdk/agents/builtin.d.ts +2 -0
- package/dist/sdk/agents/builtin.js +34 -0
- package/dist/sdk/agents/narrow.d.ts +13 -0
- package/dist/sdk/agents/narrow.js +29 -0
- package/dist/sdk/agents/profiles.d.ts +80 -0
- package/dist/sdk/agents/profiles.js +221 -0
- package/dist/sdk/annotations/bridge.d.ts +42 -0
- package/dist/sdk/annotations/bridge.js +264 -0
- package/dist/sdk/annotations/capture.d.ts +116 -0
- package/dist/sdk/annotations/capture.js +308 -0
- package/dist/sdk/annotations/delivery.d.ts +72 -0
- package/dist/sdk/annotations/delivery.js +130 -0
- package/dist/sdk/annotations/inspect.d.ts +10 -0
- package/dist/sdk/annotations/inspect.js +33 -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 +570 -0
- package/dist/sdk/annotations/part.d.ts +10 -0
- package/dist/sdk/annotations/part.js +144 -0
- package/dist/sdk/annotations/queue.d.ts +4 -0
- package/dist/sdk/annotations/queue.js +40 -0
- package/dist/sdk/annotations/serverMethods.d.ts +3 -0
- package/dist/sdk/annotations/serverMethods.js +62 -0
- package/dist/sdk/annotations/store.d.ts +160 -0
- package/dist/sdk/annotations/store.js +386 -0
- package/dist/sdk/browser/config.d.ts +16 -0
- package/dist/sdk/browser/config.js +22 -0
- package/dist/sdk/browser/diagnostics.d.ts +4 -0
- package/dist/sdk/browser/diagnostics.js +38 -0
- package/dist/sdk/browser/index.d.ts +28 -0
- package/dist/sdk/browser/index.js +72 -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 +7 -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 +8 -0
- package/dist/sdk/browser/tools.js +329 -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 +47 -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 +150 -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/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 +187 -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/text.d.ts +7 -0
- package/dist/sdk/core/text.js +40 -0
- package/dist/sdk/doctor/checks.d.ts +5 -0
- package/dist/sdk/doctor/checks.js +208 -0
- package/dist/sdk/doctor/probe.d.ts +4 -0
- package/dist/sdk/doctor/probe.js +92 -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 +148 -0
- package/dist/sdk/harness.js +338 -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 +216 -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 +474 -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 +73 -0
- package/dist/sdk/index.js +55 -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/runtime.d.ts +13 -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 +163 -0
- package/dist/sdk/plugins/builtinRegistry.d.ts +53 -0
- package/dist/sdk/plugins/builtinRegistry.js +49 -0
- package/dist/sdk/plugins/catalogue.d.ts +29 -0
- package/dist/sdk/plugins/catalogue.js +196 -0
- package/dist/sdk/plugins/cli.d.ts +13 -0
- package/dist/sdk/plugins/cli.js +188 -0
- package/dist/sdk/plugins/discover.d.ts +42 -0
- package/dist/sdk/plugins/discover.js +115 -0
- package/dist/sdk/plugins/firstParty.d.ts +50 -0
- package/dist/sdk/plugins/firstParty.js +113 -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 +20 -0
- package/dist/sdk/plugins/install.js +110 -0
- package/dist/sdk/plugins/inventory.d.ts +22 -0
- package/dist/sdk/plugins/inventory.js +110 -0
- package/dist/sdk/plugins/manifest.d.ts +13 -0
- package/dist/sdk/plugins/manifest.js +56 -0
- package/dist/sdk/plugins/plugins.d.ts +104 -0
- package/dist/sdk/plugins/plugins.js +164 -0
- package/dist/sdk/plugins/runtime.d.ts +9 -0
- package/dist/sdk/plugins/runtime.js +95 -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 +159 -0
- package/dist/sdk/plugins/types.js +7 -0
- package/dist/sdk/prompt/compile.d.ts +177 -0
- package/dist/sdk/prompt/compile.js +413 -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 +51 -0
- package/dist/sdk/refine/host.js +76 -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 +45 -0
- package/dist/sdk/refine/prompts.js +390 -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 +81 -0
- package/dist/sdk/refine/runner.js +150 -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 +20 -0
- package/dist/sdk/refine/service.d.ts +84 -0
- package/dist/sdk/refine/service.js +165 -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 +68 -0
- package/dist/sdk/refine/types.d.ts +77 -0
- package/dist/sdk/refine/types.js +10 -0
- package/dist/sdk/server/methods.d.ts +3 -0
- package/dist/sdk/server/methods.js +293 -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 +84 -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 +10 -0
- package/dist/sdk/server/serve.js +18 -0
- package/dist/sdk/sessions/approvals.d.ts +47 -0
- package/dist/sdk/sessions/approvals.js +119 -0
- package/dist/sdk/sessions/continuation.d.ts +48 -0
- package/dist/sdk/sessions/continuation.js +85 -0
- package/dist/sdk/sessions/contracts.d.ts +551 -0
- package/dist/sdk/sessions/contracts.js +338 -0
- package/dist/sdk/sessions/extensionUi.d.ts +19 -0
- package/dist/sdk/sessions/extensionUi.js +64 -0
- package/dist/sdk/sessions/history.d.ts +16 -0
- package/dist/sdk/sessions/history.js +68 -0
- package/dist/sdk/sessions/lineageJoin.d.ts +2 -0
- package/dist/sdk/sessions/lineageJoin.js +61 -0
- package/dist/sdk/sessions/planMode.d.ts +39 -0
- package/dist/sdk/sessions/planMode.js +93 -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 +103 -0
- package/dist/sdk/sessions/registry.js +386 -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 +66 -0
- package/dist/sdk/sessions/runStore.js +337 -0
- package/dist/sdk/sessions/runner.d.ts +213 -0
- package/dist/sdk/sessions/runner.js +589 -0
- package/dist/sdk/sessions/sessions.d.ts +152 -0
- package/dist/sdk/sessions/sessions.js +461 -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/subagentServerMethods.d.ts +3 -0
- package/dist/sdk/sessions/subagentServerMethods.js +41 -0
- package/dist/sdk/sessions/subagentService.d.ts +52 -0
- package/dist/sdk/sessions/subagentService.js +265 -0
- package/dist/sdk/sessions/subagents.d.ts +58 -0
- package/dist/sdk/sessions/subagents.js +87 -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 +186 -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 +15 -0
- package/dist/sdk/terminal/client.js +126 -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 +78 -0
- package/dist/sdk/terminal/controller.js +383 -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/logs.d.ts +14 -0
- package/dist/sdk/terminal/logs.js +59 -0
- package/dist/sdk/terminal/opentui/subagentsWidget.d.ts +28 -0
- package/dist/sdk/terminal/opentui/subagentsWidget.js +52 -0
- package/dist/sdk/terminal/piExtension.d.ts +6 -0
- package/dist/sdk/terminal/piExtension.js +377 -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 +20 -0
- package/dist/sdk/terminal/standalone.js +186 -0
- package/dist/sdk/terminal/subagentMonitor.d.ts +38 -0
- package/dist/sdk/terminal/subagentMonitor.js +121 -0
- package/dist/sdk/terminal/terminals.d.ts +212 -0
- package/dist/sdk/terminal/terminals.js +1108 -0
- package/dist/sdk/terminal/trajectory.d.ts +10 -0
- package/dist/sdk/terminal/trajectory.js +30 -0
- package/dist/sdk/terminal/tui/annotateCommand.d.ts +3 -0
- package/dist/sdk/terminal/tui/annotateCommand.js +22 -0
- package/dist/sdk/terminal/tui/chrome.d.ts +64 -0
- package/dist/sdk/terminal/tui/chrome.js +169 -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 +11 -0
- package/dist/sdk/terminal/tui/commandPages.js +111 -0
- package/dist/sdk/terminal/tui/commands.d.ts +46 -0
- package/dist/sdk/terminal/tui/commands.js +399 -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 +80 -0
- package/dist/sdk/terminal/tui/dialogs.js +370 -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 +73 -0
- package/dist/sdk/terminal/tui/list.js +196 -0
- package/dist/sdk/terminal/tui/modeChoices.d.ts +42 -0
- package/dist/sdk/terminal/tui/modeChoices.js +70 -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/page.d.ts +17 -0
- package/dist/sdk/terminal/tui/page.js +1 -0
- package/dist/sdk/terminal/tui/pageOverlay.d.ts +27 -0
- package/dist/sdk/terminal/tui/pageOverlay.js +156 -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 +190 -0
- package/dist/sdk/terminal/tui/pages/annotatePage.d.ts +94 -0
- package/dist/sdk/terminal/tui/pages/annotatePage.js +341 -0
- package/dist/sdk/terminal/tui/pages/browserPage.d.ts +87 -0
- package/dist/sdk/terminal/tui/pages/browserPage.js +738 -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/doctorPage.d.ts +39 -0
- package/dist/sdk/terminal/tui/pages/doctorPage.js +233 -0
- package/dist/sdk/terminal/tui/pages/hubPage.d.ts +39 -0
- package/dist/sdk/terminal/tui/pages/hubPage.js +128 -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/notesPage.d.ts +75 -0
- package/dist/sdk/terminal/tui/pages/notesPage.js +201 -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 +57 -0
- package/dist/sdk/terminal/tui/pages/pluginsPage.js +243 -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 +23 -0
- package/dist/sdk/terminal/tui/pages/subagentsPage.js +70 -0
- package/dist/sdk/terminal/tui/pages/trajectoryPage.d.ts +65 -0
- package/dist/sdk/terminal/tui/pages/trajectoryPage.js +450 -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 +18 -0
- package/dist/sdk/terminal/tui/piAdapter.js +48 -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 +14 -0
- package/dist/sdk/terminal/tui/pluginCommands.js +27 -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 +114 -0
- package/dist/sdk/terminal/tui/runtime.js +443 -0
- package/dist/sdk/terminal/tui/search.d.ts +22 -0
- package/dist/sdk/terminal/tui/search.js +60 -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/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 +114 -0
- package/dist/sdk/terminal/tui/sideQuestion.d.ts +53 -0
- package/dist/sdk/terminal/tui/sideQuestion.js +230 -0
- package/dist/sdk/terminal/tui/skillInvocation.d.ts +9 -0
- package/dist/sdk/terminal/tui/skillInvocation.js +43 -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 +45 -0
- package/dist/sdk/terminal/tui/theme.js +176 -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/workingStatus.d.ts +9 -0
- package/dist/sdk/terminal/tui/workingStatus.js +229 -0
- package/dist/sdk/tools/askUser.d.ts +6 -0
- package/dist/sdk/tools/askUser.js +92 -0
- package/dist/sdk/tools/checklist.d.ts +9 -0
- package/dist/sdk/tools/checklist.js +54 -0
- package/dist/sdk/tools/definitions.d.ts +30 -0
- package/dist/sdk/tools/definitions.js +117 -0
- package/dist/sdk/tools/dispatch.d.ts +16 -0
- package/dist/sdk/tools/dispatch.js +67 -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 +7 -0
- package/dist/sdk/tools/sessionName.js +31 -0
- package/dist/sdk/tools/spawnSubagent.d.ts +4 -0
- package/dist/sdk/tools/spawnSubagent.js +58 -0
- package/dist/sdk/tools/types.d.ts +48 -0
- package/dist/sdk/tools/types.js +1 -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 +82 -0
- package/dist/sdk/variant/store.js +151 -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 +16 -0
- package/dist/sdk/worktrees/git.js +81 -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/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 +67 -0
- package/dist/sdk/world/world.js +79 -0
- package/dist/terminal-opentui.js +20778 -0
- package/dist/terminal-pi.js +794 -518
- package/docs/README.md +42 -0
- 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 +203 -0
- package/docs/architecture/03-variants.md +103 -0
- package/docs/architecture/04-prompt.md +122 -0
- package/docs/architecture/05-refinement.md +107 -0
- package/docs/architecture/06-plugins-and-capabilities.md +129 -0
- package/docs/architecture/07-tools-and-gate.md +103 -0
- package/docs/architecture/08-memory-and-history.md +94 -0
- package/docs/architecture/09-accounts-and-connectors.md +98 -0
- package/docs/architecture/10-server-protocol.md +193 -0
- package/docs/architecture/11-terminal.md +261 -0
- package/docs/architecture/12-storage.md +75 -0
- package/docs/architecture/13-world-tools.md +45 -0
- package/docs/architecture/14-surfaces-and-parity.md +89 -0
- package/docs/architecture/README.md +125 -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 +70 -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 +127 -0
- package/docs/architecture/proposals/PROP-0018-annotation-queue-and-app-targets.md +179 -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 +94 -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/README.md +101 -0
- package/docs/decisions/ADR-0002-native-subagent-lifecycle.md +49 -0
- package/docs/decisions/ADR-0003-shared-asynchronous-subagents.md +70 -0
- package/docs/decisions/ADR-0004-fullscreen-terminal-layout.md +50 -0
- package/docs/decisions/ADR-0005-app-provided-oauth-clients.md +54 -0
- 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 +38 -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 +60 -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/doctor.md +80 -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/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/parity.md +78 -0
- package/docs/releases/1.0.0.md +40 -0
- package/docs/releases/4.0.0.md +46 -0
- package/docs/releases/README.md +41 -0
- package/docs/study/00-index.md +83 -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 +75 -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 +44 -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 +707 -58
- package/package.json +43 -13
- package/docs/evidence/terminal-2026-10-17/120x40-completed-transcript.ansi.gz +0 -0
- package/docs/evidence/terminal-2026-10-17/40x20-settings-interaction.ansi.gz +0 -0
- package/docs/evidence/terminal-2026-10-17/40x20-settings-keyboard.ansi.gz +0 -0
- package/docs/evidence/terminal-2026-10-17/40x20-welcome.ansi.gz +0 -0
- package/docs/evidence/terminal-2026-10-17/80x24-approval-0.ansi.gz +0 -0
- package/docs/evidence/terminal-2026-10-17/80x24-question.ansi.gz +0 -0
- package/docs/evidence/terminal-2026-10-17/verification.json +0 -130
- package/docs/evidence/terminal-2026-10-17-followup/120x40-completed-transcript.ansi.gz +0 -0
- package/docs/evidence/terminal-2026-10-17-followup/40x20-settings-interaction.ansi.gz +0 -0
- package/docs/evidence/terminal-2026-10-17-followup/40x20-settings-keyboard.ansi.gz +0 -0
- package/docs/evidence/terminal-2026-10-17-followup/40x20-welcome.ansi.gz +0 -0
- package/docs/evidence/terminal-2026-10-17-followup/80x24-approval-0.ansi.gz +0 -0
- package/docs/evidence/terminal-2026-10-17-followup/80x24-plugin-light.ansi.gz +0 -0
- package/docs/evidence/terminal-2026-10-17-followup/80x24-question-batch.ansi.gz +0 -0
- package/docs/evidence/terminal-2026-10-17-followup/80x24-question.ansi.gz +0 -0
- package/docs/evidence/terminal-2026-10-17-followup/app-bundle/80x24-approval-0.ansi.gz +0 -0
- package/docs/evidence/terminal-2026-10-17-followup/app-bundle/80x24-plugin-light.ansi.gz +0 -0
- package/docs/evidence/terminal-2026-10-17-followup/app-bundle/80x24-question-batch.ansi.gz +0 -0
- package/docs/evidence/terminal-2026-10-17-followup/app-bundle/80x24-question.ansi.gz +0 -0
- package/docs/evidence/terminal-2026-10-17-followup/app-bundle/verification.json +0 -95
- package/docs/evidence/terminal-2026-10-17-followup/global-install/80x24-approval-0.ansi.gz +0 -0
- package/docs/evidence/terminal-2026-10-17-followup/global-install/80x24-plugin-light.ansi.gz +0 -0
- package/docs/evidence/terminal-2026-10-17-followup/global-install/80x24-question-batch.ansi.gz +0 -0
- package/docs/evidence/terminal-2026-10-17-followup/global-install/80x24-question.ansi.gz +0 -0
- package/docs/evidence/terminal-2026-10-17-followup/global-install/README.md +0 -27
- package/docs/evidence/terminal-2026-10-17-followup/global-install/shell-command-80x24.ansi.gz +0 -0
- package/docs/evidence/terminal-2026-10-17-followup/global-install/shell-command.json +0 -18
- package/docs/evidence/terminal-2026-10-17-followup/global-install/verification.json +0 -95
- package/docs/evidence/terminal-2026-10-17-followup/harness-reference-80x24.json.gz +0 -0
- package/docs/evidence/terminal-2026-10-17-followup/harness-reference-final-80x24.json.gz +0 -0
- package/docs/evidence/terminal-2026-10-17-followup/harness-reference-scenario.json +0 -60
- package/docs/evidence/terminal-2026-10-17-followup/live-codex/README.md +0 -24
- package/docs/evidence/terminal-2026-10-17-followup/live-codex/complete-80x24.ansi.gz +0 -0
- package/docs/evidence/terminal-2026-10-17-followup/live-codex/verification.json +0 -57
- package/docs/evidence/terminal-2026-10-17-followup/omp-reference-80x24-early.json.gz +0 -0
- package/docs/evidence/terminal-2026-10-17-followup/omp-reference-80x24.json.gz +0 -0
- package/docs/evidence/terminal-2026-10-17-followup/omp-reference-scenario.json +0 -58
- package/docs/evidence/terminal-2026-10-17-followup/omp-supplemental-static.json.gz +0 -0
- package/docs/evidence/terminal-2026-10-17-followup/rea-artifacts.json +0 -320
- package/docs/evidence/terminal-2026-10-17-followup/reference-comparison.json +0 -30
- package/docs/evidence/terminal-2026-10-17-followup/reference-comparison.md +0 -133
- package/docs/evidence/terminal-2026-10-17-followup/reference-source-observations.json +0 -20
- package/docs/evidence/terminal-2026-10-17-followup/verification.json +0 -207
- package/src/accounts/accounts.test.ts +0 -333
- package/src/accounts/accounts.ts +0 -658
- 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.ts +0 -34
- 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 -312
- 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 -75
- package/src/mcp/connections.ts +0 -614
- 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 -376
- package/src/mcp/service.ts +0 -549
- package/src/mcp/types.ts +0 -108
- 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 -163
- package/src/memory/curation.ts +0 -64
- package/src/memory/dispatch.ts +0 -59
- 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 -176
- package/src/memory/maintenance.ts +0 -518
- 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 -278
- 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/wiki.test.ts +0 -47
- package/src/memory/wiki.ts +0 -422
- package/src/memory/wikiIndex.test.ts +0 -88
- package/src/memory/wikiIndex.ts +0 -116
- 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 -82
- 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 -349
- 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 -174
- package/src/sessions/approvals.ts +0 -118
- package/src/sessions/contracts.ts +0 -336
- package/src/sessions/conversation.test.ts +0 -177
- 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 -381
- package/src/sessions/runIndex.ts +0 -99
- package/src/sessions/runStore.test.ts +0 -152
- package/src/sessions/runStore.ts +0 -332
- package/src/sessions/runner.ts +0 -604
- package/src/sessions/runtimeResources.test.ts +0 -61
- package/src/sessions/sessions.test.ts +0 -549
- package/src/sessions/sessions.ts +0 -339
- 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 -291
- 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 -259
- package/src/terminal/pluginControl.test.ts +0 -146
- package/src/terminal/pluginMenu.ts +0 -112
- package/src/terminal/socket.test.ts +0 -71
- package/src/terminal/socket.ts +0 -232
- package/src/terminal/standalone.test.ts +0 -167
- package/src/terminal/standalone.ts +0 -153
- package/src/terminal/terminal.test.ts +0 -399
- package/src/terminal/terminals.ts +0 -553
- package/src/terminal/tui/application.test.ts +0 -114
- package/src/terminal/tui/application.ts +0 -491
- package/src/terminal/tui/commands.test.ts +0 -218
- package/src/terminal/tui/commands.ts +0 -361
- package/src/terminal/tui/dialogs.ts +0 -301
- package/src/terminal/tui/editor.test.ts +0 -84
- package/src/terminal/tui/editor.ts +0 -79
- package/src/terminal/tui/keybindings.test.ts +0 -22
- package/src/terminal/tui/keybindings.ts +0 -50
- package/src/terminal/tui/piAdapter.ts +0 -62
- 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 -104
- package/src/terminal/tui/runtime.test.ts +0 -215
- package/src/terminal/tui/runtime.ts +0 -388
- 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/status.test.ts +0 -70
- package/src/terminal/tui/status.ts +0 -109
- package/src/terminal/tui/theme.ts +0 -174
- package/src/terminal/tui/tools.test.ts +0 -145
- package/src/terminal/tui/tools.ts +0 -142
- package/src/terminal/tui/transcript.test.ts +0 -25
- package/src/terminal/tui/transcript.ts +0 -124
- 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/tools/askUser.test.ts +0 -69
- package/src/tools/askUser.ts +0 -59
- package/src/tools/definitions.ts +0 -187
- package/src/tools/maintenance.ts +0 -24
- 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 -92
- package/src/tools/types.ts +0 -39
- 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,37 @@
|
|
|
1
|
+
# ADR-0020 — Page annotations and delivery are Harness-owned
|
|
2
|
+
|
|
3
|
+
Status: Accepted (owner approved the parity plan and capture workflow, 2026-10-23).
|
|
4
|
+
Related: [PROP-0017](../architecture/proposals/PROP-0017-page-annotations.md),
|
|
5
|
+
[PROP-0018](../architecture/proposals/PROP-0018-annotation-queue-and-app-targets.md),
|
|
6
|
+
[07 Tools and the gate](../architecture/07-tools-and-the-gate.md),
|
|
7
|
+
[13 World tools](../architecture/13-world-tools.md),
|
|
8
|
+
[14 Surfaces and parity](../architecture/14-surfaces-and-parity.md).
|
|
9
|
+
|
|
10
|
+
## Context
|
|
11
|
+
|
|
12
|
+
Page annotations and the agent's ability to read or act on them must work in both the standalone
|
|
13
|
+
terminal and embedding hosts. Keeping the note store and tools inside one host would split state and
|
|
14
|
+
behavior; trusting arbitrary page-script output could let a page initiate unintended work.
|
|
15
|
+
|
|
16
|
+
## Decision
|
|
17
|
+
|
|
18
|
+
The Harness owns the canonical note store, sharing grants, page-note tools, queue and delivery
|
|
19
|
+
lifecycle, and generic capture contract. The terminal captures in its visible isolated browser; a
|
|
20
|
+
host supplies its own web-view or application-window adapter through the same contract. Capture
|
|
21
|
+
results are trusted only when they come from an isolated script world or the host's own UI; otherwise
|
|
22
|
+
sending requires person confirmation. Page-derived content remains untrusted in the delivered
|
|
23
|
+
instruction. A person controls sharing, queueing, confirmation, and resolution; the agent may mark a
|
|
24
|
+
shared note fixed but cannot resolve it or change grants.
|
|
25
|
+
|
|
26
|
+
## Alternatives
|
|
27
|
+
|
|
28
|
+
A terminal-only capture path would not support host web views. Host-owned stores and tools would
|
|
29
|
+
create different behavior and duplicated data. Trusting page content or automatically sending
|
|
30
|
+
unisolated results would grant a page authority it must not have.
|
|
31
|
+
|
|
32
|
+
## Consequences
|
|
33
|
+
|
|
34
|
+
Notes and grants have one Harness-owned representation and work through the terminal or a host.
|
|
35
|
+
Hosts retain ownership of native windows and browser UI while using Harness methods for notes,
|
|
36
|
+
sharing, and delivery. The server contract can represent capture targets without naming an
|
|
37
|
+
application.
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# ADR-0021 — Required built-in commands use the bare namespace
|
|
2
|
+
|
|
3
|
+
Status: Accepted (owner requested implementation of PROP-0021, 2026-10-24).
|
|
4
|
+
Supersedes: The command-namespace portion of [ADR-0018](ADR-0018-builtin-feature-plugins.md).
|
|
5
|
+
Related: [PROP-0021](../architecture/proposals/PROP-0021-command-namespaces-and-duplicates.md),
|
|
6
|
+
[11 Terminal](../architecture/11-terminal.md),
|
|
7
|
+
[14 Surfaces and parity](../architecture/14-surfaces-and-parity.md).
|
|
8
|
+
|
|
9
|
+
## Context
|
|
10
|
+
|
|
11
|
+
The terminal has a set of required built-in features whose pages are part of normal Harness use.
|
|
12
|
+
Putting their commands behind `/plugin:` made them less direct to use. Separately, built-in and
|
|
13
|
+
loaded extension commands could both appear when their names matched a core command, alias or
|
|
14
|
+
prompt. Duplicate bridge registrations also exposed `/plugin:accounts`, `/plugin:hub`, and
|
|
15
|
+
`/plugin:plugins` beside their existing core commands.
|
|
16
|
+
|
|
17
|
+
## Decision
|
|
18
|
+
|
|
19
|
+
Commands owned by a required built-in plugin use the bare terminal namespace: `/subagents`,
|
|
20
|
+
`/trajectory`, `/doctor`, and `/worktree`. Optional built-in plugin commands, currently
|
|
21
|
+
`/plugin:notes` and `/plugin:annotate`, and Pi extension commands remain under `/plugin:<command>`.
|
|
22
|
+
Core commands `/accounts`, `/hub`, `/plugins`, and `/mcp` remain unprefixed.
|
|
23
|
+
|
|
24
|
+
An existing bare core command, alias, required built-in command, or loaded prompt reserves its
|
|
25
|
+
name. A colliding `/plugin:<name>` is absent from completion/help and direct invocation explains
|
|
26
|
+
which bare command to use. Duplicate extension registrations retain owner-path diagnostics. Remove
|
|
27
|
+
the bridge registrations that duplicate `/accounts`, `/hub`, and `/plugins`.
|
|
28
|
+
|
|
29
|
+
## Alternatives
|
|
30
|
+
|
|
31
|
+
Keeping all built-in commands namespaced preserves duplicate entries and makes required features
|
|
32
|
+
less direct to invoke. Unprefixing every built-in plugin command would also change the optional,
|
|
33
|
+
switchable Annotations commands. Suppressing only a fixed list of observed duplicate names would
|
|
34
|
+
allow the same problem to recur as plugins or prompts are added.
|
|
35
|
+
|
|
36
|
+
## Consequences
|
|
37
|
+
|
|
38
|
+
Required built-in command metadata determines the namespace used by terminal completion, help and
|
|
39
|
+
dispatch. A third-party extension whose command collides with a bare command or prompt must use a
|
|
40
|
+
different command name to expose both. There is no protocol or storage change.
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# ADR-0022 — Question tools are available only in attended plan runs
|
|
2
|
+
|
|
3
|
+
Status: Accepted (owner requested implementation of PROP-0022, 2026-10-24).
|
|
4
|
+
Related: [PROP-0022](../architecture/proposals/PROP-0022-plan-only-questions.md),
|
|
5
|
+
[02 Sessions and runs](../architecture/02-sessions-and-runs.md),
|
|
6
|
+
[11 Terminal](../architecture/11-terminal.md),
|
|
7
|
+
[14 Surfaces and parity](../architecture/14-surfaces-and-parity.md).
|
|
8
|
+
|
|
9
|
+
## Context
|
|
10
|
+
|
|
11
|
+
Ordinary chat exposed the Harness-owned `ask_user` tool, while the terminal also activated its
|
|
12
|
+
single-question `ask_user_question` tool in normal mode. Hiding the required `ask-user` plugin would
|
|
13
|
+
also remove it from plan mode and contradict its required-plugin contract. The callable tool set
|
|
14
|
+
must instead be resolved by run mode.
|
|
15
|
+
|
|
16
|
+
## Decision
|
|
17
|
+
|
|
18
|
+
Newly resolved normal runs omit `ask_user` before their capability set is frozen, regardless of a
|
|
19
|
+
wider requested tool list. An attended plan run may receive it, subject to the caller's narrower
|
|
20
|
+
capabilities. Automatic, probe, improver and reflection runs do not receive it. In the terminal,
|
|
21
|
+
normal mode deactivates both question tools; a plan request temporarily enables the registered
|
|
22
|
+
question tools and restores the previous active set on success, error or interruption.
|
|
23
|
+
|
|
24
|
+
The required `ask-user` built-in remains attached and has no user-facing switch. Approval prompts
|
|
25
|
+
and ordinary assistant text are unaffected. A continuation preserves the earlier frozen capability
|
|
26
|
+
set; if that snapshot includes `ask_user`, an automatic or refinement-triggered continuation is
|
|
27
|
+
rejected with `continuation_mismatch` rather than silently narrowing the snapshot or allowing an
|
|
28
|
+
unattended question.
|
|
29
|
+
|
|
30
|
+
## Consequences
|
|
31
|
+
|
|
32
|
+
Normal and plan requests can have different provider tool schemas, so no cache-preservation claim is
|
|
33
|
+
made; measure any provider-cache effect only under `INV-PRM-8`. Existing records and attachments need
|
|
34
|
+
no migration. The App relies on the Harness-resolved tool set and adds no separate preference.
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# ADR-0023: Contextual side questions are Harness runs
|
|
2
|
+
|
|
3
|
+
**Status:** Accepted
|
|
4
|
+
**Date:** 2026-10-24
|
|
5
|
+
**Proposal:** [PROP-0019](../architecture/proposals/PROP-0019-contextual-side-questions.md)
|
|
6
|
+
|
|
7
|
+
## Context
|
|
8
|
+
|
|
9
|
+
The terminal and App had separate `/btw` implementations. The terminal used a short, in-memory
|
|
10
|
+
Pi session; the App used a bounded, tracked run. Their answers could not consistently use the main
|
|
11
|
+
run's instructions or public tool evidence, and they had different lifecycle and observability.
|
|
12
|
+
|
|
13
|
+
## Decision
|
|
14
|
+
|
|
15
|
+
The Harness owns one side-question service. It creates an independent run with no variant and an
|
|
16
|
+
empty frozen capability set. The service uses a redacted projection of the main run's effective
|
|
17
|
+
prompt, visible transcript, and persisted public events, including tool inputs and results. It
|
|
18
|
+
excludes hidden reasoning and attachment bytes. Context is bounded, credential-like material is
|
|
19
|
+
redacted, and transcript/tool content cannot add permissions. Terminal and host surfaces use the
|
|
20
|
+
same service and ordinary run-event contract.
|
|
21
|
+
|
|
22
|
+
## Consequences
|
|
23
|
+
|
|
24
|
+
Side answers are separately recorded and can be inspected with ordinary run history and usage.
|
|
25
|
+
They never enter or steer the parent conversation. No persistent side-thread store or migration is
|
|
26
|
+
needed. The terminal presents a temporary scrollable dock; a host keeps its own presentation. The
|
|
27
|
+
App's read-only native file tools use the operating system's read boundary across absolute and home
|
|
28
|
+
paths; the App's host gate continues to protect edits, writes and shell commands.
|
|
29
|
+
|
|
30
|
+
## Rejected options
|
|
31
|
+
|
|
32
|
+
- Keeping a separate in-memory terminal session would preserve different answers and observability.
|
|
33
|
+
- Sending hidden reasoning, images or the main run's tools would expose more than a side answer
|
|
34
|
+
needs and could let it act independently.
|
|
35
|
+
- Persisting side threads would require retention, deletion and synchronization rules.
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: ADR-0024
|
|
3
|
+
title: Publish the Harness CLI as xagent
|
|
4
|
+
status: accepted
|
|
5
|
+
created: 2026-10-24
|
|
6
|
+
updated: 2026-10-24
|
|
7
|
+
related: [PROP-0023]
|
|
8
|
+
supersedes: ADR-0009
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
# ADR-0024 — Publish the Harness CLI as xagent
|
|
12
|
+
|
|
13
|
+
## Context and decision drivers
|
|
14
|
+
|
|
15
|
+
The Harness CLI's no-subcommand path starts the standalone OpenTUI terminal. The current executable
|
|
16
|
+
name, `xharness`, is being replaced by the requested shorter product command, `xagent`. The
|
|
17
|
+
published command is part of the package's public interface.
|
|
18
|
+
|
|
19
|
+
## Decision
|
|
20
|
+
|
|
21
|
+
Publish `@xingular/harness` with one executable, `xagent`, mapped to `dist/cli.js`. Invoking
|
|
22
|
+
`xagent` without arguments starts the existing OpenTUI terminal. Do not retain `xharness` as a
|
|
23
|
+
compatibility alias. Keep the package name, `terminal` alias, host subcommands, data/state directory
|
|
24
|
+
names, and `XINGULAR_HARNESS_*` environment variables unchanged.
|
|
25
|
+
|
|
26
|
+
This supersedes ADR-0009's executable-name decision and the `xharness` command-name portion of
|
|
27
|
+
ADR-0014. Other release-baseline decisions remain unchanged.
|
|
28
|
+
|
|
29
|
+
## Consequences
|
|
30
|
+
|
|
31
|
+
- Users and scripts that invoke `xharness` must migrate to `xagent`.
|
|
32
|
+
- No account, data, or state migration is required.
|
|
33
|
+
- If `xharness` has already been released, replacing it requires a new major version; this change is
|
|
34
|
+
intended for the unpublished 4.0.0 candidate.
|
|
35
|
+
|
|
36
|
+
## Implementation and verification
|
|
37
|
+
|
|
38
|
+
- The `bin` mapping and CLI help are tested by [`src/cli.test.ts`](../../src/cli.test.ts).
|
|
39
|
+
- The implementation and migration notes are tracked in
|
|
40
|
+
[PROP-0023](../architecture/proposals/PROP-0023-xagent-cli-name.md).
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: ADR-0025
|
|
3
|
+
title: Store bounded ASCII sketches with question requests
|
|
4
|
+
status: accepted
|
|
5
|
+
created: 2026-10-24
|
|
6
|
+
updated: 2026-10-24
|
|
7
|
+
related: [PROP-0024, INV-RUN-3, INV-PAR-1, INV-PAR-2]
|
|
8
|
+
supersedes: null
|
|
9
|
+
superseded_by: null
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# ADR-0025 — Store bounded ASCII sketches with question requests
|
|
13
|
+
|
|
14
|
+
**Accepted by the product owner on 2026-10-24.**
|
|
15
|
+
|
|
16
|
+
## Context
|
|
17
|
+
|
|
18
|
+
Choice labels and descriptions do not always communicate a layout or other compact visual
|
|
19
|
+
comparison. Both question surfaces need the same safely bounded representation, and the validated
|
|
20
|
+
`question.requested` event is the existing shared contract through which they receive choice data.
|
|
21
|
+
|
|
22
|
+
## Decision
|
|
23
|
+
|
|
24
|
+
- A question may set `uiSketch: true` to enable sketch previews. Each offered choice must then
|
|
25
|
+
provide its own `sketch`; without the flag, a choice must not provide a sketch.
|
|
26
|
+
- Sketches are literal text of 1–8 LF-separated lines, at most 32 printable ASCII characters per
|
|
27
|
+
line, with at least one visible character. The complete value is at most 263 bytes. Tabs, CR,
|
|
28
|
+
control characters, escape sequences and non-ASCII text are invalid. Valid text, including
|
|
29
|
+
interior blank lines and trailing spaces, is preserved exactly.
|
|
30
|
+
- Harness validates the flag/choice relationship and text bounds before emitting a request. The
|
|
31
|
+
persisted `question.requested` event may carry the metadata; `question.answered` and
|
|
32
|
+
`QuestionAnswer` remain unchanged. Older request events remain valid.
|
|
33
|
+
- The terminal and hosts render one shared monospace preview below the choices, following the
|
|
34
|
+
hovered or focused choice. They render the sketch as text, not Markdown, ANSI or executable rich
|
|
35
|
+
output.
|
|
36
|
+
|
|
37
|
+
## Consequences
|
|
38
|
+
|
|
39
|
+
- The existing event schema and persistence path carry the preview; no event kind, image type,
|
|
40
|
+
storage file or protocol version is added. No data migration is needed.
|
|
41
|
+
- Hosts mirror the optional schema fields. Surface parity requires the terminal and each host to
|
|
42
|
+
present the same choice sketches without changing answer semantics.
|
|
43
|
+
- The strict ASCII and dimension limits keep the diagram readable in a 40-column terminal and
|
|
44
|
+
prevent markup, terminal controls and unbounded content from entering the question surface.
|
|
45
|
+
|
|
46
|
+
## Implementation and verification
|
|
47
|
+
|
|
48
|
+
Implemented under [PROP-0024](../architecture/proposals/PROP-0024-question-sketch-previews.md).
|
|
49
|
+
Verification evidence is recorded with that proposal and in the App's implementation-stage log.
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: ADR-0026
|
|
3
|
+
title: Align question columns and preserve contextual ASCII wireframes
|
|
4
|
+
status: accepted
|
|
5
|
+
created: 2026-10-24
|
|
6
|
+
updated: 2026-10-24
|
|
7
|
+
related: [PROP-0025, ADR-0025, INV-RUN-3, INV-PAR-1, INV-PAR-2]
|
|
8
|
+
supersedes: null
|
|
9
|
+
superseded_by: null
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# ADR-0026 — Align question columns and preserve contextual ASCII wireframes
|
|
13
|
+
|
|
14
|
+
**Accepted by the product owner on 2026-10-24** through the plan “Fix TUI question columns and sketch previews”. This is foundation work.
|
|
15
|
+
|
|
16
|
+
## Context
|
|
17
|
+
|
|
18
|
+
Content-dependent choice rows do not align label and description boundaries. The original 32×8
|
|
19
|
+
sketch limit cannot express contextual UI panels, and a caption plus left rule adds redundant
|
|
20
|
+
preview chrome. ADR-0025 records the original sketch contract and its historical evidence; this
|
|
21
|
+
decision amends its bounds and presentation without replacing the optional sketch/answer model.
|
|
22
|
+
|
|
23
|
+
## Decision
|
|
24
|
+
|
|
25
|
+
- Use one measured layout across every choice: marker gutter, one-third label cell, two-cell gap,
|
|
26
|
+
remaining description cell. Wrap within cells, retain empty description cells, and never stack
|
|
27
|
+
columns at compact widths. Use `(Rec.)` when the label column is fewer than 14 cells and a compact
|
|
28
|
+
dock hint below 60 terminal columns.
|
|
29
|
+
- Accept 1–24 LF-separated lines of at most 80 printable ASCII characters each (1,943 bytes
|
|
30
|
+
maximum), with at least one visible character. Reject tabs, CR, controls, escapes and Unicode;
|
|
31
|
+
preserve whitespace literally. Both question tools and validated request events use these bounds.
|
|
32
|
+
- Ask models for contextual UI wireframes containing actual panel/table structure and neighboring
|
|
33
|
+
elements, consistent across alternatives. This is generation guidance, not schema enforcement.
|
|
34
|
+
- Render one shared border-only literal preview without a visible caption or extra left rule.
|
|
35
|
+
Preserve content without wrapping, reflow or truncation; bounded two-axis scrolling exposes
|
|
36
|
+
overflow. Hover/focus chooses the preview without changing the staged answer.
|
|
37
|
+
- Bound and vertically scroll the dock body, keeping tabs and answer/action controls outside it.
|
|
38
|
+
PageUp/PageDown and Ctrl+Home/End scroll that body while the dock is active. Shift+arrows pan the
|
|
39
|
+
sketch; ordinary arrows keep question/choice navigation. Bring focused choices and notes into view.
|
|
40
|
+
- Terminal and hosts accept the same metadata and preserve literal content. Host presentation may
|
|
41
|
+
differ, but the expanded contract requires acceptance on both surfaces under INV-PAR-1/2.
|
|
42
|
+
|
|
43
|
+
## Consequences
|
|
44
|
+
|
|
45
|
+
Existing sketches and events remain valid without a data rewrite. Readers enforcing the old limits
|
|
46
|
+
must update before accepting larger events; rolling readers back requires avoiding sketches above
|
|
47
|
+
those limits. `uiSketch` still requires a sketch on every choice and forbids sketches when disabled.
|
|
48
|
+
`question.answered`, `QuestionAnswer`, the gate, prompt compilation and storage ownership do not
|
|
49
|
+
change. No image format, event kind or executable rich-output contract is introduced.
|
|
50
|
+
|
|
51
|
+
## Implementation and verification
|
|
52
|
+
|
|
53
|
+
The accepted design is [PROP-0025](../architecture/proposals/PROP-0025-contextual-question-wireframes.md).
|
|
54
|
+
Implementation and isolated terminal/host acceptance are recorded in the
|
|
55
|
+
[retained verification](../evidence/terminal-question-wireframes/README.md), including four terminal
|
|
56
|
+
sizes, live resizing, sketch panning, literal persistence and the host's expanded-boundary fixture.
|
|
57
|
+
Earlier PROP-0024/ADR-0025 evidence remains historical; the new evidence does not claim live-model
|
|
58
|
+
diagram quality, every emulator's behavior or native Tauri presentation.
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: ADR-0027
|
|
3
|
+
title: Project structural ASCII sketch lines into connected terminal borders
|
|
4
|
+
status: accepted
|
|
5
|
+
created: 2026-10-24
|
|
6
|
+
updated: 2026-10-24
|
|
7
|
+
related: [PROP-0026, ADR-0026, ADR-0029, INV-RUN-3, INV-PAR-1, INV-PAR-2]
|
|
8
|
+
supersedes: null
|
|
9
|
+
superseded_by: null
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# ADR-0027 — Project structural ASCII sketch lines into connected terminal borders
|
|
13
|
+
|
|
14
|
+
**Design accepted by the product owner on 2026-10-24** with “yes, fix it” after screenshot review.
|
|
15
|
+
This foundation presentation change is implemented and verified in isolated production fixtures;
|
|
16
|
+
see [retained evidence](../evidence/terminal-connected-sketches/README.md).
|
|
17
|
+
|
|
18
|
+
## Context
|
|
19
|
+
|
|
20
|
+
ASCII `+|-` table frames appear disconnected in the terminal, and bare hyphen dividers do not
|
|
21
|
+
reach the preview frame. ADR-0026's absolute literal-render promise prevents correcting those
|
|
22
|
+
structural lines without a documented exception. Raw ASCII persistence and shared host metadata
|
|
23
|
+
remain appropriate; the problem is terminal typography, not the question contract.
|
|
24
|
+
|
|
25
|
+
## Decision
|
|
26
|
+
|
|
27
|
+
Adopt [PROP-0026](../architecture/proposals/PROP-0026-connected-sketch-display.md). The terminal
|
|
28
|
+
preview in `src/terminal/opentui/sketchPanel.ts` uses a bounded structural display projection:
|
|
29
|
+
|
|
30
|
+
- Recognized ASCII table-border rows and enclosed vertical table edges become connected
|
|
31
|
+
box-drawing glyphs. Internal framed tables retain their original widths and positions.
|
|
32
|
+
- Bare standalone hyphen divider rows expand to the larger of the panel viewport width and the
|
|
33
|
+
original sketch's widest line, joining the outer single-line preview frame with `├` and `┤`.
|
|
34
|
+
- No global substitution: prose, content operators and ordinary pipes remain literal. Unrecognized
|
|
35
|
+
rows remain literal. Whitespace and geometry remain unchanged except for recognized structural
|
|
36
|
+
border glyphs and standalone-divider expansion, subject to the high-confidence boundary-cell
|
|
37
|
+
repair separately specified by [ADR-0029](ADR-0029-normalized-question-wireframe-borders.md).
|
|
38
|
+
- Keep bounded two-axis panning, with no wrapping, reflow, truncation or markup interpretation.
|
|
39
|
+
Focus, selection, navigation and answers do not change.
|
|
40
|
+
|
|
41
|
+
The validated source remains at most 80 printable ASCII columns by 24 lines. Persist that source
|
|
42
|
+
literally, including whitespace; never save projected Unicode or divider expansion. No wire/schema
|
|
43
|
+
or answer change is introduced. Hosts may retain literal previews of the same source. INV-PAR-1/2
|
|
44
|
+
require equivalent capability and accepted metadata, not identical structural typography.
|
|
45
|
+
|
|
46
|
+
## Consequences
|
|
47
|
+
|
|
48
|
+
This amends only ADR-0026's terminal literal-render requirement and cross-surface typography
|
|
49
|
+
promise; its bounds, raw persistence, layout and answer decisions remain in force. No migration or
|
|
50
|
+
host code change is needed. Reverting the display projection does not affect saved events.
|
|
51
|
+
Historical decisions and verification evidence remain unchanged.
|
|
52
|
+
|
|
53
|
+
## Verification status
|
|
54
|
+
|
|
55
|
+
The [PROP-0026 verification](../evidence/terminal-connected-sketches/README.md) covers structural
|
|
56
|
+
recognition, content preservation, four terminal sizes, resizing/panning, original ASCII persistence
|
|
57
|
+
and unchanged answers, alongside Harness and host checks. The later [ADR-0029 verification](../evidence/terminal-wireframe-normalization/README.md)
|
|
58
|
+
covers title-bearing rules and bounded repair of missing or displaced frame edges. Prior PROP-0025
|
|
59
|
+
evidence remains a record of the old presentation. Fixture verification is not owner visual
|
|
60
|
+
acceptance, an every-font guarantee or evidence of live-model diagram quality.
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: ADR-0028
|
|
3
|
+
title: Use Xingular Agent as the default Harness product identity
|
|
4
|
+
status: accepted
|
|
5
|
+
created: 2026-10-24
|
|
6
|
+
updated: 2026-10-24
|
|
7
|
+
related: [PROP-0027, INV-BND-2, 00-overview.md, 04-prompt.md, 11-terminal.md]
|
|
8
|
+
supersedes: null
|
|
9
|
+
superseded_by: null
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# ADR-0028 — Use Xingular Agent as the default Harness product identity
|
|
13
|
+
|
|
14
|
+
The product owner accepted [PROP-0027](../architecture/proposals/PROP-0027-xingular-agent-product-identity.md)
|
|
15
|
+
on 2026-10-24.
|
|
16
|
+
|
|
17
|
+
## Context
|
|
18
|
+
|
|
19
|
+
The standalone terminal is Harness-owned, but its welcome and Harness-authored prompt identity used
|
|
20
|
+
the default product name `Xingular Harness`. The requested product identity is `Xingular Agent`,
|
|
21
|
+
with a terminal welcome that presents an orange `X` mark and blue `A G E N T` label. Changing the
|
|
22
|
+
default affects product identity text beyond the welcome, including compiled prompts and Wiki text;
|
|
23
|
+
embedding hosts may need their own name.
|
|
24
|
+
|
|
25
|
+
## Decision
|
|
26
|
+
|
|
27
|
+
Adopt PROP-0027:
|
|
28
|
+
|
|
29
|
+
- Set `DEFAULT_PRODUCT_NAME` to `Xingular Agent`; continue honoring an explicit `productName` from
|
|
30
|
+
an embedding host.
|
|
31
|
+
- Revise `INV-BND-2` to permit the exact canonical product identity `Xingular Agent` as the
|
|
32
|
+
default. Continue to prohibit application concepts, application-specific behavior and other
|
|
33
|
+
application names in Harness code and person/model-visible text.
|
|
34
|
+
- Format a multiword product name in the empty welcome as the first letter of its first word in the
|
|
35
|
+
orange block mark and the remaining word(s), letter-spaced, in blue. Thus the default shows `X`
|
|
36
|
+
and `A G E N T`. A single-word name remains the mark without a subline.
|
|
37
|
+
- Keep the centered greeting, tagline, `/help` hint, model/thinking status, composer and status bar;
|
|
38
|
+
use the existing orange and blue theme accents without adding tokens or changing other surfaces.
|
|
39
|
+
|
|
40
|
+
## Consequences
|
|
41
|
+
|
|
42
|
+
- Consumers that omit `productName` see `Xingular Agent` in Harness-authored product identity
|
|
43
|
+
text. Consumers that supply their own name are unchanged.
|
|
44
|
+
- Existing prompt packs, runs and Wiki notes are not rewritten; newly compiled prompt identity and
|
|
45
|
+
new Wiki text use the default in effect at creation time.
|
|
46
|
+
- No capability, API, storage layout or wire schema changes.
|
|
47
|
+
|
|
48
|
+
## Verification status
|
|
49
|
+
|
|
50
|
+
Implemented and verified on 2026-10-24.
|
|
51
|
+
|
|
52
|
+
- Harness: `npm run typecheck`, `npm test` (143 files passed; 3 skipped), `npm run build`, and
|
|
53
|
+
`npm run prove` passed. Focused PTY verification passed at 40x20, 80x24 and 120x40, including
|
|
54
|
+
the `/help` transition.
|
|
55
|
+
- Xingular Agent: `npm run typecheck`, `npm test` (566 renderer and 67 sidecar tests passed),
|
|
56
|
+
`npm run check:layers`, and `cd src-tauri && cargo test` passed.
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: ADR-0029
|
|
3
|
+
title: Normalize high-confidence question wireframe borders in the terminal preview
|
|
4
|
+
status: accepted
|
|
5
|
+
created: 2026-10-24
|
|
6
|
+
updated: 2026-10-24
|
|
7
|
+
related: [PROP-0028, ADR-0026, ADR-0027, INV-PAR-1, INV-PAR-2]
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# ADR-0029 — Normalize high-confidence question wireframe borders in the terminal preview
|
|
11
|
+
|
|
12
|
+
## Context
|
|
13
|
+
|
|
14
|
+
The terminal displays bounded, model-authored ASCII sketches. The existing connected-glyph projection misses text-bearing top rules and rows with missing or misaligned side edges. The raw source remains the right shared contract, but its terminal display needs a narrowly constrained frame-repair rule.
|
|
15
|
+
|
|
16
|
+
## Decision
|
|
17
|
+
|
|
18
|
+
Adopt [PROP-0028](../architecture/proposals/PROP-0028-normalize-question-wireframes.md). The terminal may normalize only high-confidence, explicitly framed sketch boundaries:
|
|
19
|
+
|
|
20
|
+
- Recognize title-bearing border rows and establish outer columns from matched frame rules.
|
|
21
|
+
- Align a boundary character only across whitespace, or fill a missing boundary cell only where it is whitespace.
|
|
22
|
+
- Preserve interior text, nested frame geometry, ambiguous rows, and ordinary content literally; no global symbol replacement.
|
|
23
|
+
- Keep the source ASCII byte-for-byte in persistence and retain the existing question schema, answer payload, viewport and panning behavior.
|
|
24
|
+
|
|
25
|
+
Hosts may continue rendering the same source literally. This decision changes terminal typography only; it adds no capability or host contract.
|
|
26
|
+
|
|
27
|
+
## Consequences
|
|
28
|
+
|
|
29
|
+
A valid framed sketch can display connected corners and continuous vertical edges even when its source omitted or misplaced a boundary glyph. Repairs are projection-only and deliberately conservative; ambiguous or content-conflicting rows remain untouched. No migration is required.
|
|
30
|
+
|
|
31
|
+
## Verification
|
|
32
|
+
|
|
33
|
+
Use structural unit fixtures and isolated production PTY runs at compact and wide terminal sizes. Verify the displayed topology, panning/resizing, and byte-for-byte source and answer preservation. This does not claim that every emulator/font renders box glyphs identically or that live-model sketches always describe the intended design.
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: ADR-0030
|
|
3
|
+
title: Agent profiles, one checklist per agent, and the subagent roster under the status line
|
|
4
|
+
status: accepted
|
|
5
|
+
created: 2026-10-24
|
|
6
|
+
updated: 2026-10-24
|
|
7
|
+
related: [PROP-0029, PROP-0006, ADR-0003, INV-RUN-2, INV-CAP-1, INV-PAR-1]
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
# ADR-0030 — Agent profiles, one checklist per agent, and the subagent roster under the status line
|
|
11
|
+
|
|
12
|
+
## Context
|
|
13
|
+
|
|
14
|
+
People want to start subagents of a known kind, such as a worker that edits and an explorer that
|
|
15
|
+
only reads, and to follow their progress from the terminal. Subagents were copies of the parent
|
|
16
|
+
or instruction-only c5 definitions, the terminal did not register the checklist tool, and the
|
|
17
|
+
roster sat above the composer with a heading and no indication of each child's kind or progress.
|
|
18
|
+
|
|
19
|
+
## Decision
|
|
20
|
+
|
|
21
|
+
- Adopt [PROP-0029](../architecture/proposals/PROP-0029-agent-profiles.md): agent profiles are
|
|
22
|
+
Markdown files (built-in, `<data root>/agents/`, `<project>/.xingular/agents/`, then c5 names)
|
|
23
|
+
that a spawn resolves by name. A profile narrows tools and plugins and may choose a variant,
|
|
24
|
+
model and effort. It never widens the parent's capabilities.
|
|
25
|
+
- Progress stays **one checklist per run** (PROP-0006). The parent's list is the plan the person
|
|
26
|
+
watches. Each child keeps its own list, and the roster shows its `n of m tasks`. There is no
|
|
27
|
+
shared, claimable task pool.
|
|
28
|
+
- The terminal registers `checklist_write`, shows each write as a checklist block, and the prompt's
|
|
29
|
+
Progress group asks the model to keep it current because the person follows work from it.
|
|
30
|
+
- The roster sits under the status line after one blank line, with no heading. Each row reads: status
|
|
31
|
+
mark, profile name in its colour, session name, tasks.
|
|
32
|
+
|
|
33
|
+
## Consequences
|
|
34
|
+
|
|
35
|
+
Profiles are a foundation feature, not variant data: refinement does not change them. A project
|
|
36
|
+
can carry profiles in its repository. The App gets the same capability through `agents.*` and
|
|
37
|
+
`RunRecord.profile`; it has no Agents screen yet (parity `planned`).
|
|
38
|
+
|
|
39
|
+
## Verification
|
|
40
|
+
|
|
41
|
+
Unit tests for profiles, narrowing, spawn, the monitor, the roster and the Agents page;
|
|
42
|
+
`npm run prove`; and a loopback PTY run that checks the blank row under the status line, the row
|
|
43
|
+
order, and the profile colours.
|
package/docs/doctor.md
ADDED
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
# Doctor
|
|
2
|
+
|
|
3
|
+
Run `/doctor` in the Harness terminal. It opens a readiness report for the selected account/model,
|
|
4
|
+
enabled tools, MCP connections, plugins and skills, pinned variant, runtime and storage.
|
|
5
|
+
|
|
6
|
+
**Local is the default.** It inspects configuration, saved state and resource readability without
|
|
7
|
+
provider requests, token refreshes, browser launch, permission prompts or computer input. A local
|
|
8
|
+
pass does not establish live connectivity. Other accounts show their saved status and timestamp.
|
|
9
|
+
Providers without diagnostics report unverified. Disabled capabilities are not failures.
|
|
10
|
+
|
|
11
|
+
Press `l` to choose live checks, then review the account/model, destinations, possible charges and
|
|
12
|
+
isolation notice. The model check makes one synthetic request with at most 64 output tokens;
|
|
13
|
+
usage appears on a separate diagnostic run. Web checks fetch example.com and search for “example
|
|
14
|
+
domain”. MCP checks connect/list only. Browser checks use a disposable headless profile and an
|
|
15
|
+
offline synthetic page; configured CDP attachment is blocked. Computer input is blocked unless the
|
|
16
|
+
host supplies a disposable diagnostic surface; the current desktop host supplies readiness only.
|
|
17
|
+
|
|
18
|
+
The report keeps mode, progress, account/model and status counts visible above the findings. Wide
|
|
19
|
+
layouts use aligned Status, Check, Category and Verification columns; evidence and any next step
|
|
20
|
+
appear beneath each finding. Narrow layouts stack those fields. Status colors follow the active
|
|
21
|
+
theme: pass is green, warning/blocked amber, fail red, disabled dim and unverified muted.
|
|
22
|
+
|
|
23
|
+
`r` refreshes local readiness, `t` retries a selected local check, `c` cancels, and Escape closes
|
|
24
|
+
and cancels pending work. Use Up/Down to scroll by line, PgUp/PgDn or the mouse wheel to scroll by
|
|
25
|
+
page, and Home/End to jump to the first/last finding. Completed findings survive cancellation. Every finding includes
|
|
26
|
+
evidence and, where useful, a next step. Doctor never signs in, switches accounts, installs, grants
|
|
27
|
+
access, or repairs settings. Findings and jobs are retained in memory until shutdown; live run
|
|
28
|
+
records and usage remain in normal Harness storage.
|
|
29
|
+
|
|
30
|
+
## Embedding
|
|
31
|
+
|
|
32
|
+
```ts
|
|
33
|
+
const job = harness.doctor.start({
|
|
34
|
+
context: { caller: {}, cwd, accountId, model: 'provider/model', tools: ['web_fetch'] }
|
|
35
|
+
})
|
|
36
|
+
const report = harness.doctor.read(job.id)
|
|
37
|
+
harness.doctor.cancel(job.id)
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
Server hosts use `doctor.start`, `doctor.read`, and `doctor.cancel`. A host must obtain consent
|
|
41
|
+
before setting `mode: 'live'`, `checks`, and `confirmed: true`. Supply an exact variant version and
|
|
42
|
+
capability snapshot when reproducing a pinned run. Exported schemas validate reports.
|
|
43
|
+
|
|
44
|
+
Tool providers may attach `diagnostics(context)` returning `DoctorCheck[]`. Local callbacks must
|
|
45
|
+
be passive and network-free. Optional live callbacks declare a notice and receive an AbortSignal,
|
|
46
|
+
a separate real run, and a gated `call(tool, input)` helper. Honor cancellation; release owned
|
|
47
|
+
resources. Route all live tool execution through `call`. Each check has a stable unique ID and
|
|
48
|
+
lists the tools it covers. Existing providers need no changes and appear as unverified.
|
|
49
|
+
|
|
50
|
+
## Working-tree verification — 2026-10-22
|
|
51
|
+
|
|
52
|
+
| Check | Result |
|
|
53
|
+
|---|---|
|
|
54
|
+
| Focused Harness service, protocol, control-key, gate, offline-account, browser-isolation and terminal tests | 69 passed across 7 files |
|
|
55
|
+
| App computer diagnostics and diagnostic report contract | 7 passed |
|
|
56
|
+
| Harness typecheck and build/standalone proof | Passed |
|
|
57
|
+
| App renderer typecheck and UI consistency | Passed; existing UI baseline remains |
|
|
58
|
+
| App Rust tests | 240 passed, 1 ignored |
|
|
59
|
+
| Full Harness suite | Could not complete successfully in this sandbox: terminal socket creation returns EPERM; other platform-dependent failures were also reported. The stalled full run was stopped after failures. |
|
|
60
|
+
| Full App renderer tests | 590 passed, 2 failed on existing Guide links/headings |
|
|
61
|
+
| Full App sidecar tests/typecheck | Blocked by older tree/HarnessChoice imports and contract expectations against the current variant API; diagnostic tests pass |
|
|
62
|
+
| App layer check | Rejects the in-progress Harness browser implementation, including backend diagnostic callbacks; ownership/specification drift is recorded as D-9 |
|
|
63
|
+
|
|
64
|
+
No live provider diagnostic or user browser/computer interaction was performed. Browser regression
|
|
65
|
+
tests use injected launchers. The proof uses isolated scripted fixtures. Changes remain uncommitted
|
|
66
|
+
alongside concurrent work; these results do not establish release readiness for the whole workspace.
|
|
67
|
+
|
|
68
|
+
## Later 1.0.0 candidate preparation — 2026-10-22
|
|
69
|
+
|
|
70
|
+
The release preparation resolved the earlier App migration, Guide-link and browser-layer blockers:
|
|
71
|
+
the App's 592 renderer tests, 40 sidecar tests, typechecks and layer/UI checks pass. Rust has
|
|
72
|
+
240 passing tests and one ignored test. A focused Harness run covering Doctor, browser diagnostics,
|
|
73
|
+
world tools, terminal command/page behavior and Hub has 100 passing tests. The compiled package's
|
|
74
|
+
SDK, TypeScript consumer, server and local Doctor smoke checks also pass using existing locked
|
|
75
|
+
dependencies. These later results supersede the earlier blocker descriptions for those checks.
|
|
76
|
+
|
|
77
|
+
Full Harness acceptance remains blocked locally by sandbox socket denial and HEIC encoder system
|
|
78
|
+
query denial; the complete suite is retained as a mandatory two-OS CI gate. Fresh network install,
|
|
79
|
+
registry availability and npm trusted-publisher configuration remain unverified. No tag or package
|
|
80
|
+
has been published during preparation. See the release procedure and external candidate report.
|