@openagt/dashboard 0.0.0-stage → 0.8.0
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/LICENSE +21 -0
- package/README.md +125 -2
- package/dist/agent-archive.d.ts +35 -0
- package/dist/agent-archive.d.ts.map +1 -0
- package/dist/agent-archive.js +67 -0
- package/dist/agent-archive.js.map +1 -0
- package/dist/agent-commit.d.ts +140 -0
- package/dist/agent-commit.d.ts.map +1 -0
- package/dist/agent-commit.js +254 -0
- package/dist/agent-commit.js.map +1 -0
- package/dist/agent-driver.d.ts +28 -0
- package/dist/agent-driver.d.ts.map +1 -0
- package/dist/agent-driver.js +18 -0
- package/dist/agent-driver.js.map +1 -0
- package/dist/agent-id.d.ts +13 -0
- package/dist/agent-id.d.ts.map +1 -0
- package/dist/agent-id.js +20 -0
- package/dist/agent-id.js.map +1 -0
- package/dist/agent-location.d.ts +11 -0
- package/dist/agent-location.d.ts.map +1 -0
- package/dist/agent-location.js +10 -0
- package/dist/agent-location.js.map +1 -0
- package/dist/agent-locks.d.ts +3 -0
- package/dist/agent-locks.d.ts.map +1 -0
- package/dist/agent-locks.js +40 -0
- package/dist/agent-locks.js.map +1 -0
- package/dist/agent-messages.d.ts +55 -0
- package/dist/agent-messages.d.ts.map +1 -0
- package/dist/agent-messages.js +73 -0
- package/dist/agent-messages.js.map +1 -0
- package/dist/agent-names.d.ts +24 -0
- package/dist/agent-names.d.ts.map +1 -0
- package/dist/agent-names.js +33 -0
- package/dist/agent-names.js.map +1 -0
- package/dist/agent-options.d.ts +45 -0
- package/dist/agent-options.d.ts.map +1 -0
- package/dist/agent-options.js +83 -0
- package/dist/agent-options.js.map +1 -0
- package/dist/agent-spec.d.ts +56 -0
- package/dist/agent-spec.d.ts.map +1 -0
- package/dist/agent-spec.js +56 -0
- package/dist/agent-spec.js.map +1 -0
- package/dist/agent-telemetry.d.ts +88 -0
- package/dist/agent-telemetry.d.ts.map +1 -0
- package/dist/agent-telemetry.js +97 -0
- package/dist/agent-telemetry.js.map +1 -0
- package/dist/agent-view.d.ts +39 -0
- package/dist/agent-view.d.ts.map +1 -0
- package/dist/agent-view.js +45 -0
- package/dist/agent-view.js.map +1 -0
- package/dist/agent.d.ts +113 -0
- package/dist/agent.d.ts.map +1 -0
- package/dist/agent.js +168 -0
- package/dist/agent.js.map +1 -0
- package/dist/archived-agent-patch.d.ts +14 -0
- package/dist/archived-agent-patch.d.ts.map +1 -0
- package/dist/archived-agent-patch.js +22 -0
- package/dist/archived-agent-patch.js.map +1 -0
- package/dist/auto-pm.d.ts +538 -0
- package/dist/auto-pm.d.ts.map +1 -0
- package/dist/auto-pm.js +707 -0
- package/dist/auto-pm.js.map +1 -0
- package/dist/await-gate.d.ts +184 -0
- package/dist/await-gate.d.ts.map +1 -0
- package/dist/await-gate.js +252 -0
- package/dist/await-gate.js.map +1 -0
- package/dist/bin.d.ts +3 -0
- package/dist/bin.d.ts.map +1 -0
- package/dist/bin.js +11 -0
- package/dist/bin.js.map +1 -0
- package/dist/branch-links-pass.d.ts +15 -0
- package/dist/branch-links-pass.d.ts.map +1 -0
- package/dist/branch-links-pass.js +13 -0
- package/dist/branch-links-pass.js.map +1 -0
- package/dist/branch-links.d.ts +53 -0
- package/dist/branch-links.d.ts.map +1 -0
- package/dist/branch-links.js +94 -0
- package/dist/branch-links.js.map +1 -0
- package/dist/branch-name.d.ts +8 -0
- package/dist/branch-name.d.ts.map +1 -0
- package/dist/branch-name.js +20 -0
- package/dist/branch-name.js.map +1 -0
- package/dist/branch-names.d.ts +57 -0
- package/dist/branch-names.d.ts.map +1 -0
- package/dist/branch-names.js +72 -0
- package/dist/branch-names.js.map +1 -0
- package/dist/bridge-browser.d.ts +217 -0
- package/dist/bridge-browser.d.ts.map +1 -0
- package/dist/bridge-browser.js +520 -0
- package/dist/bridge-browser.js.map +1 -0
- package/dist/browser-stream.d.ts +20 -0
- package/dist/browser-stream.d.ts.map +1 -0
- package/dist/browser-stream.js +51 -0
- package/dist/browser-stream.js.map +1 -0
- package/dist/browser.d.ts +16 -0
- package/dist/browser.d.ts.map +1 -0
- package/dist/browser.js +38 -0
- package/dist/browser.js.map +1 -0
- package/dist/built-in.d.ts +29 -0
- package/dist/built-in.d.ts.map +1 -0
- package/dist/built-in.js +78 -0
- package/dist/built-in.js.map +1 -0
- package/dist/chrome-extension/background.js +532 -0
- package/dist/chrome-extension/content.js +1475 -0
- package/dist/chrome-extension/driver-plan.js +41 -0
- package/dist/chrome-extension/fingerprint.js +43 -0
- package/dist/chrome-extension/manifest.json +31 -0
- package/dist/chrome-extension/options.html +48 -0
- package/dist/chrome-extension/options.js +122 -0
- package/dist/ci-watch.d.ts +123 -0
- package/dist/ci-watch.d.ts.map +1 -0
- package/dist/ci-watch.js +228 -0
- package/dist/ci-watch.js.map +1 -0
- package/dist/claude-trust.d.ts +16 -0
- package/dist/claude-trust.d.ts.map +1 -0
- package/dist/claude-trust.js +72 -0
- package/dist/claude-trust.js.map +1 -0
- package/dist/cli-exec.d.ts +36 -0
- package/dist/cli-exec.d.ts.map +1 -0
- package/dist/cli-exec.js +44 -0
- package/dist/cli-exec.js.map +1 -0
- package/dist/cli.d.ts +43 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +186 -0
- package/dist/cli.js.map +1 -0
- package/dist/client.d.ts +16 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +30 -0
- package/dist/client.js.map +1 -0
- package/dist/closing-keywords.d.ts +28 -0
- package/dist/closing-keywords.d.ts.map +1 -0
- package/dist/closing-keywords.js +49 -0
- package/dist/closing-keywords.js.map +1 -0
- package/dist/cloud-run-state.d.ts +27 -0
- package/dist/cloud-run-state.d.ts.map +1 -0
- package/dist/cloud-run-state.js +36 -0
- package/dist/cloud-run-state.js.map +1 -0
- package/dist/cloud-scratch-refs.d.ts +85 -0
- package/dist/cloud-scratch-refs.d.ts.map +1 -0
- package/dist/cloud-scratch-refs.js +275 -0
- package/dist/cloud-scratch-refs.js.map +1 -0
- package/dist/cloud-work.d.ts +66 -0
- package/dist/cloud-work.d.ts.map +1 -0
- package/dist/cloud-work.js +204 -0
- package/dist/cloud-work.js.map +1 -0
- package/dist/config-layers.d.ts +62 -0
- package/dist/config-layers.d.ts.map +1 -0
- package/dist/config-layers.js +70 -0
- package/dist/config-layers.js.map +1 -0
- package/dist/config.d.ts +54 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +78 -0
- package/dist/config.js.map +1 -0
- package/dist/consumption-guard.d.ts +53 -0
- package/dist/consumption-guard.d.ts.map +1 -0
- package/dist/consumption-guard.js +69 -0
- package/dist/consumption-guard.js.map +1 -0
- package/dist/control.d.ts +75 -0
- package/dist/control.d.ts.map +1 -0
- package/dist/control.js +68 -0
- package/dist/control.js.map +1 -0
- package/dist/conversation-commit.d.ts +166 -0
- package/dist/conversation-commit.d.ts.map +1 -0
- package/dist/conversation-commit.js +309 -0
- package/dist/conversation-commit.js.map +1 -0
- package/dist/conversations.d.ts +93 -0
- package/dist/conversations.d.ts.map +1 -0
- package/dist/conversations.js +176 -0
- package/dist/conversations.js.map +1 -0
- package/dist/daemon-runtime.d.ts +41 -0
- package/dist/daemon-runtime.d.ts.map +1 -0
- package/dist/daemon-runtime.js +133 -0
- package/dist/daemon-runtime.js.map +1 -0
- package/dist/daemon-services.d.ts +36 -0
- package/dist/daemon-services.d.ts.map +1 -0
- package/dist/daemon-services.js +120 -0
- package/dist/daemon-services.js.map +1 -0
- package/dist/daemon-tick.d.ts +68 -0
- package/dist/daemon-tick.d.ts.map +1 -0
- package/dist/daemon-tick.js +97 -0
- package/dist/daemon-tick.js.map +1 -0
- package/dist/daemon-writes.d.ts +33 -0
- package/dist/daemon-writes.d.ts.map +1 -0
- package/dist/daemon-writes.js +45 -0
- package/dist/daemon-writes.js.map +1 -0
- package/dist/daemon.d.ts +76 -0
- package/dist/daemon.d.ts.map +1 -0
- package/dist/daemon.js +225 -0
- package/dist/daemon.js.map +1 -0
- package/dist/dashboard/activity.d.ts +41 -0
- package/dist/dashboard/activity.d.ts.map +1 -0
- package/dist/dashboard/activity.js +56 -0
- package/dist/dashboard/activity.js.map +1 -0
- package/dist/dashboard/agent-handoff.d.ts +244 -0
- package/dist/dashboard/agent-handoff.d.ts.map +1 -0
- package/dist/dashboard/agent-handoff.js +310 -0
- package/dist/dashboard/agent-handoff.js.map +1 -0
- package/dist/dashboard/agent-tree.d.ts +106 -0
- package/dist/dashboard/agent-tree.d.ts.map +1 -0
- package/dist/dashboard/agent-tree.js +180 -0
- package/dist/dashboard/agent-tree.js.map +1 -0
- package/dist/dashboard/bridge-endpoints.d.ts +158 -0
- package/dist/dashboard/bridge-endpoints.d.ts.map +1 -0
- package/dist/dashboard/bridge-endpoints.js +382 -0
- package/dist/dashboard/bridge-endpoints.js.map +1 -0
- package/dist/dashboard/bridge-question.d.ts +33 -0
- package/dist/dashboard/bridge-question.d.ts.map +1 -0
- package/dist/dashboard/bridge-question.js +20 -0
- package/dist/dashboard/bridge-question.js.map +1 -0
- package/dist/dashboard/bridge-sessions.d.ts +25 -0
- package/dist/dashboard/bridge-sessions.d.ts.map +1 -0
- package/dist/dashboard/bridge-sessions.js +46 -0
- package/dist/dashboard/bridge-sessions.js.map +1 -0
- package/dist/dashboard/bridge-starts.d.ts +61 -0
- package/dist/dashboard/bridge-starts.d.ts.map +1 -0
- package/dist/dashboard/bridge-starts.js +94 -0
- package/dist/dashboard/bridge-starts.js.map +1 -0
- package/dist/dashboard/bridge-store.d.ts +179 -0
- package/dist/dashboard/bridge-store.d.ts.map +1 -0
- package/dist/dashboard/bridge-store.js +262 -0
- package/dist/dashboard/bridge-store.js.map +1 -0
- package/dist/dashboard/browser-proxy.d.ts +41 -0
- package/dist/dashboard/browser-proxy.d.ts.map +1 -0
- package/dist/dashboard/browser-proxy.js +96 -0
- package/dist/dashboard/browser-proxy.js.map +1 -0
- package/dist/dashboard/bundle.d.ts +12 -0
- package/dist/dashboard/bundle.d.ts.map +1 -0
- package/dist/dashboard/bundle.js +22 -0
- package/dist/dashboard/bundle.js.map +1 -0
- package/dist/dashboard/cache.d.ts +47 -0
- package/dist/dashboard/cache.d.ts.map +1 -0
- package/dist/dashboard/cache.js +87 -0
- package/dist/dashboard/cache.js.map +1 -0
- package/dist/dashboard/content-type.d.ts +3 -0
- package/dist/dashboard/content-type.d.ts.map +1 -0
- package/dist/dashboard/content-type.js +31 -0
- package/dist/dashboard/content-type.js.map +1 -0
- package/dist/dashboard/dashboard.d.ts +38 -0
- package/dist/dashboard/dashboard.d.ts.map +1 -0
- package/dist/dashboard/dashboard.js +42 -0
- package/dist/dashboard/dashboard.js.map +1 -0
- package/dist/dashboard/discord-webhook.d.ts +17 -0
- package/dist/dashboard/discord-webhook.d.ts.map +1 -0
- package/dist/dashboard/discord-webhook.js +36 -0
- package/dist/dashboard/discord-webhook.js.map +1 -0
- package/dist/dashboard/docs.d.ts +39 -0
- package/dist/dashboard/docs.d.ts.map +1 -0
- package/dist/dashboard/docs.js +59 -0
- package/dist/dashboard/docs.js.map +1 -0
- package/dist/dashboard/file-diff.d.ts +67 -0
- package/dist/dashboard/file-diff.d.ts.map +1 -0
- package/dist/dashboard/file-diff.js +132 -0
- package/dist/dashboard/file-diff.js.map +1 -0
- package/dist/dashboard/file-read.d.ts +42 -0
- package/dist/dashboard/file-read.d.ts.map +1 -0
- package/dist/dashboard/file-read.js +69 -0
- package/dist/dashboard/file-read.js.map +1 -0
- package/dist/dashboard/file-status.d.ts +21 -0
- package/dist/dashboard/file-status.d.ts.map +1 -0
- package/dist/dashboard/file-status.js +37 -0
- package/dist/dashboard/file-status.js.map +1 -0
- package/dist/dashboard/gh.d.ts +131 -0
- package/dist/dashboard/gh.d.ts.map +1 -0
- package/dist/dashboard/gh.js +150 -0
- package/dist/dashboard/gh.js.map +1 -0
- package/dist/dashboard/git-status.d.ts +44 -0
- package/dist/dashboard/git-status.d.ts.map +1 -0
- package/dist/dashboard/git-status.js +37 -0
- package/dist/dashboard/git-status.js.map +1 -0
- package/dist/dashboard/github.d.ts +11 -0
- package/dist/dashboard/github.d.ts.map +1 -0
- package/dist/dashboard/github.js +33 -0
- package/dist/dashboard/github.js.map +1 -0
- package/dist/dashboard/http.d.ts +29 -0
- package/dist/dashboard/http.d.ts.map +1 -0
- package/dist/dashboard/http.js +74 -0
- package/dist/dashboard/http.js.map +1 -0
- package/dist/dashboard/index.d.ts +24 -0
- package/dist/dashboard/index.d.ts.map +1 -0
- package/dist/dashboard/index.js +23 -0
- package/dist/dashboard/index.js.map +1 -0
- package/dist/dashboard/interventions.d.ts +67 -0
- package/dist/dashboard/interventions.d.ts.map +1 -0
- package/dist/dashboard/interventions.js +169 -0
- package/dist/dashboard/interventions.js.map +1 -0
- package/dist/dashboard/keyed-watcher.d.ts +29 -0
- package/dist/dashboard/keyed-watcher.d.ts.map +1 -0
- package/dist/dashboard/keyed-watcher.js +42 -0
- package/dist/dashboard/keyed-watcher.js.map +1 -0
- package/dist/dashboard/keys.d.ts +31 -0
- package/dist/dashboard/keys.d.ts.map +1 -0
- package/dist/dashboard/keys.js +37 -0
- package/dist/dashboard/keys.js.map +1 -0
- package/dist/dashboard/models.d.ts +25 -0
- package/dist/dashboard/models.d.ts.map +1 -0
- package/dist/dashboard/models.js +30 -0
- package/dist/dashboard/models.js.map +1 -0
- package/dist/dashboard/module-host.d.ts +44 -0
- package/dist/dashboard/module-host.d.ts.map +1 -0
- package/dist/dashboard/module-host.js +91 -0
- package/dist/dashboard/module-host.js.map +1 -0
- package/dist/dashboard/module-serve.d.ts +15 -0
- package/dist/dashboard/module-serve.d.ts.map +1 -0
- package/dist/dashboard/module-serve.js +45 -0
- package/dist/dashboard/module-serve.js.map +1 -0
- package/dist/dashboard/open-in-app.d.ts +43 -0
- package/dist/dashboard/open-in-app.d.ts.map +1 -0
- package/dist/dashboard/open-in-app.js +98 -0
- package/dist/dashboard/open-in-app.js.map +1 -0
- package/dist/dashboard/open-questions.d.ts +45 -0
- package/dist/dashboard/open-questions.d.ts.map +1 -0
- package/dist/dashboard/open-questions.js +62 -0
- package/dist/dashboard/open-questions.js.map +1 -0
- package/dist/dashboard/overview.d.ts +78 -0
- package/dist/dashboard/overview.d.ts.map +1 -0
- package/dist/dashboard/overview.js +87 -0
- package/dist/dashboard/overview.js.map +1 -0
- package/dist/dashboard/projects.d.ts +100 -0
- package/dist/dashboard/projects.d.ts.map +1 -0
- package/dist/dashboard/projects.js +63 -0
- package/dist/dashboard/projects.js.map +1 -0
- package/dist/dashboard/pull-requests.d.ts +127 -0
- package/dist/dashboard/pull-requests.d.ts.map +1 -0
- package/dist/dashboard/pull-requests.js +137 -0
- package/dist/dashboard/pull-requests.js.map +1 -0
- package/dist/dashboard/queue.d.ts +17 -0
- package/dist/dashboard/queue.d.ts.map +1 -0
- package/dist/dashboard/queue.js +19 -0
- package/dist/dashboard/queue.js.map +1 -0
- package/dist/dashboard/quota.d.ts +53 -0
- package/dist/dashboard/quota.d.ts.map +1 -0
- package/dist/dashboard/quota.js +42 -0
- package/dist/dashboard/quota.js.map +1 -0
- package/dist/dashboard/relay-endpoints.d.ts +32 -0
- package/dist/dashboard/relay-endpoints.d.ts.map +1 -0
- package/dist/dashboard/relay-endpoints.js +115 -0
- package/dist/dashboard/relay-endpoints.js.map +1 -0
- package/dist/dashboard/remote-run.d.ts +95 -0
- package/dist/dashboard/remote-run.d.ts.map +1 -0
- package/dist/dashboard/remote-run.js +235 -0
- package/dist/dashboard/remote-run.js.map +1 -0
- package/dist/dashboard/rpc-serve.d.ts +103 -0
- package/dist/dashboard/rpc-serve.d.ts.map +1 -0
- package/dist/dashboard/rpc-serve.js +180 -0
- package/dist/dashboard/rpc-serve.js.map +1 -0
- package/dist/dashboard/run-handoff.d.ts +311 -0
- package/dist/dashboard/run-handoff.d.ts.map +1 -0
- package/dist/dashboard/run-handoff.js +485 -0
- package/dist/dashboard/run-handoff.js.map +1 -0
- package/dist/dashboard/run-inbox.d.ts +31 -0
- package/dist/dashboard/run-inbox.d.ts.map +1 -0
- package/dist/dashboard/run-inbox.js +51 -0
- package/dist/dashboard/run-inbox.js.map +1 -0
- package/dist/dashboard/scheduler-state.d.ts +73 -0
- package/dist/dashboard/scheduler-state.d.ts.map +1 -0
- package/dist/dashboard/scheduler-state.js +120 -0
- package/dist/dashboard/scheduler-state.js.map +1 -0
- package/dist/dashboard/server.d.ts +103 -0
- package/dist/dashboard/server.d.ts.map +1 -0
- package/dist/dashboard/server.js +230 -0
- package/dist/dashboard/server.js.map +1 -0
- package/dist/dashboard/static.d.ts +9 -0
- package/dist/dashboard/static.d.ts.map +1 -0
- package/dist/dashboard/static.js +54 -0
- package/dist/dashboard/static.js.map +1 -0
- package/dist/dashboard/subagent-settings.d.ts +26 -0
- package/dist/dashboard/subagent-settings.d.ts.map +1 -0
- package/dist/dashboard/subagent-settings.js +52 -0
- package/dist/dashboard/subagent-settings.js.map +1 -0
- package/dist/dashboard/telefunc-serve.d.ts +118 -0
- package/dist/dashboard/telefunc-serve.d.ts.map +1 -0
- package/dist/dashboard/telefunc-serve.js +108 -0
- package/dist/dashboard/telefunc-serve.js.map +1 -0
- package/dist/dashboard/tickets.d.ts +29 -0
- package/dist/dashboard/tickets.d.ts.map +1 -0
- package/dist/dashboard/tickets.js +38 -0
- package/dist/dashboard/tickets.js.map +1 -0
- package/dist/dashboard/types.d.ts +109 -0
- package/dist/dashboard/types.d.ts.map +1 -0
- package/dist/dashboard/types.js +2 -0
- package/dist/dashboard/types.js.map +1 -0
- package/dist/dashboard/web-start-endpoints.d.ts +32 -0
- package/dist/dashboard/web-start-endpoints.d.ts.map +1 -0
- package/dist/dashboard/web-start-endpoints.js +75 -0
- package/dist/dashboard/web-start-endpoints.js.map +1 -0
- package/dist/dashboard/widget-serve.d.ts +15 -0
- package/dist/dashboard/widget-serve.d.ts.map +1 -0
- package/dist/dashboard/widget-serve.js +45 -0
- package/dist/dashboard/widget-serve.js.map +1 -0
- package/dist/dashboard-bundle/assets/client-CbBRB9m4.js +9 -0
- package/dist/dashboard-bundle/assets/jsx-runtime-By8HlURe.js +1 -0
- package/dist/dashboard-bundle/assets/main-B3HghPQy.css +2 -0
- package/dist/dashboard-bundle/assets/main-om0WOAku.js +140 -0
- package/dist/dashboard-bundle/assets/module-jASZmfSB.js +21 -0
- package/dist/dashboard-bundle/assets/react-CZI7_Jkm.js +1 -0
- package/dist/dashboard-bundle/assets/react-dom-cJyBB_A4.js +1 -0
- package/dist/dashboard-bundle/assets/rolldown-runtime-QTnfLwEv.js +1 -0
- package/dist/dashboard-bundle/host/module.js +1 -0
- package/dist/dashboard-bundle/host/react-dom-client.js +1 -0
- package/dist/dashboard-bundle/host/react-dom.js +1 -0
- package/dist/dashboard-bundle/host/react-jsx-runtime.js +1 -0
- package/dist/dashboard-bundle/host/react.js +1 -0
- package/dist/dashboard-bundle/index.html +42 -0
- package/dist/dashboard-bundle/logo-animated.svg +34 -0
- package/dist/dashboard-bundle/logo.svg +16 -0
- package/dist/dashboard-client/assets/chunks/chunk-BF9pJudf.js +4 -0
- package/dist/dashboard-client/assets/entries/entry-client-routing.CT1e9F0o.js +1 -0
- package/dist/dashboard-client/assets/entries/pages_index.CkW5JQ8X.js +428 -0
- package/dist/dashboard-client/assets/static/layouts_tailwind-00e65532.8OjKGAbA.css +2 -0
- package/dist/dashboard-client/index.html +27 -0
- package/dist/dashboard-client/index.pageContext.json +1 -0
- package/dist/dashboard-client/logo-animated.svg +34 -0
- package/dist/dashboard-client/logo.svg +16 -0
- package/dist/dashboard-rpc/context.d.ts +54 -0
- package/dist/dashboard-rpc/context.d.ts.map +1 -0
- package/dist/dashboard-rpc/context.js +102 -0
- package/dist/dashboard-rpc/context.js.map +1 -0
- package/dist/dashboard-rpc/control.d.ts +124 -0
- package/dist/dashboard-rpc/control.d.ts.map +1 -0
- package/dist/dashboard-rpc/control.js +284 -0
- package/dist/dashboard-rpc/control.js.map +1 -0
- package/dist/dashboard-rpc/control.telefunc.d.ts +176 -0
- package/dist/dashboard-rpc/control.telefunc.d.ts.map +1 -0
- package/dist/dashboard-rpc/control.telefunc.js +373 -0
- package/dist/dashboard-rpc/control.telefunc.js.map +1 -0
- package/dist/dashboard-rpc/devices.d.ts +9 -0
- package/dist/dashboard-rpc/devices.d.ts.map +1 -0
- package/dist/dashboard-rpc/devices.js +12 -0
- package/dist/dashboard-rpc/devices.js.map +1 -0
- package/dist/dashboard-rpc/devices.telefunc.d.ts +9 -0
- package/dist/dashboard-rpc/devices.telefunc.d.ts.map +1 -0
- package/dist/dashboard-rpc/devices.telefunc.js +12 -0
- package/dist/dashboard-rpc/devices.telefunc.js.map +1 -0
- package/dist/dashboard-rpc/events-tail.d.ts +68 -0
- package/dist/dashboard-rpc/events-tail.d.ts.map +1 -0
- package/dist/dashboard-rpc/events-tail.js +257 -0
- package/dist/dashboard-rpc/events-tail.js.map +1 -0
- package/dist/dashboard-rpc/events.d.ts +39 -0
- package/dist/dashboard-rpc/events.d.ts.map +1 -0
- package/dist/dashboard-rpc/events.js +47 -0
- package/dist/dashboard-rpc/events.js.map +1 -0
- package/dist/dashboard-rpc/events.telefunc.d.ts +36 -0
- package/dist/dashboard-rpc/events.telefunc.d.ts.map +1 -0
- package/dist/dashboard-rpc/events.telefunc.js +70 -0
- package/dist/dashboard-rpc/events.telefunc.js.map +1 -0
- package/dist/dashboard-rpc/index.d.ts +29 -0
- package/dist/dashboard-rpc/index.d.ts.map +1 -0
- package/dist/dashboard-rpc/index.js +40 -0
- package/dist/dashboard-rpc/index.js.map +1 -0
- package/dist/dashboard-rpc/models.d.ts +4 -0
- package/dist/dashboard-rpc/models.d.ts.map +1 -0
- package/dist/dashboard-rpc/models.js +8 -0
- package/dist/dashboard-rpc/models.js.map +1 -0
- package/dist/dashboard-rpc/modules.d.ts +43 -0
- package/dist/dashboard-rpc/modules.d.ts.map +1 -0
- package/dist/dashboard-rpc/modules.js +77 -0
- package/dist/dashboard-rpc/modules.js.map +1 -0
- package/dist/dashboard-rpc/preferences.d.ts +41 -0
- package/dist/dashboard-rpc/preferences.d.ts.map +1 -0
- package/dist/dashboard-rpc/preferences.js +65 -0
- package/dist/dashboard-rpc/preferences.js.map +1 -0
- package/dist/dashboard-rpc/preferences.telefunc.d.ts +97 -0
- package/dist/dashboard-rpc/preferences.telefunc.d.ts.map +1 -0
- package/dist/dashboard-rpc/preferences.telefunc.js +157 -0
- package/dist/dashboard-rpc/preferences.telefunc.js.map +1 -0
- package/dist/dashboard-rpc/projects.d.ts +59 -0
- package/dist/dashboard-rpc/projects.d.ts.map +1 -0
- package/dist/dashboard-rpc/projects.js +87 -0
- package/dist/dashboard-rpc/projects.js.map +1 -0
- package/dist/dashboard-rpc/projects.telefunc.d.ts +56 -0
- package/dist/dashboard-rpc/projects.telefunc.d.ts.map +1 -0
- package/dist/dashboard-rpc/projects.telefunc.js +96 -0
- package/dist/dashboard-rpc/projects.telefunc.js.map +1 -0
- package/dist/dashboard-rpc/quota.d.ts +4 -0
- package/dist/dashboard-rpc/quota.d.ts.map +1 -0
- package/dist/dashboard-rpc/quota.js +15 -0
- package/dist/dashboard-rpc/quota.js.map +1 -0
- package/dist/dashboard-rpc/quota.telefunc.d.ts +40 -0
- package/dist/dashboard-rpc/quota.telefunc.d.ts.map +1 -0
- package/dist/dashboard-rpc/quota.telefunc.js +84 -0
- package/dist/dashboard-rpc/quota.telefunc.js.map +1 -0
- package/dist/dashboard-rpc/reads.d.ts +185 -0
- package/dist/dashboard-rpc/reads.d.ts.map +1 -0
- package/dist/dashboard-rpc/reads.js +370 -0
- package/dist/dashboard-rpc/reads.js.map +1 -0
- package/dist/dashboard-rpc/reads.telefunc.d.ts +197 -0
- package/dist/dashboard-rpc/reads.telefunc.d.ts.map +1 -0
- package/dist/dashboard-rpc/reads.telefunc.js +403 -0
- package/dist/dashboard-rpc/reads.telefunc.js.map +1 -0
- package/dist/dashboard-rpc/register.d.ts +18 -0
- package/dist/dashboard-rpc/register.d.ts.map +1 -0
- package/dist/dashboard-rpc/register.js +66 -0
- package/dist/dashboard-rpc/register.js.map +1 -0
- package/dist/dashboard-rpc/relay-agent.d.ts +9 -0
- package/dist/dashboard-rpc/relay-agent.d.ts.map +1 -0
- package/dist/dashboard-rpc/relay-agent.js +21 -0
- package/dist/dashboard-rpc/relay-agent.js.map +1 -0
- package/dist/dashboard-rpc/relay-dispatch.d.ts +9 -0
- package/dist/dashboard-rpc/relay-dispatch.d.ts.map +1 -0
- package/dist/dashboard-rpc/relay-dispatch.js +24 -0
- package/dist/dashboard-rpc/relay-dispatch.js.map +1 -0
- package/dist/dashboard-rpc/relay-run.d.ts +9 -0
- package/dist/dashboard-rpc/relay-run.d.ts.map +1 -0
- package/dist/dashboard-rpc/relay-run.js +21 -0
- package/dist/dashboard-rpc/relay-run.js.map +1 -0
- package/dist/dashboard-rpc/stream-channel.d.ts +23 -0
- package/dist/dashboard-rpc/stream-channel.d.ts.map +1 -0
- package/dist/dashboard-rpc/stream-channel.js +52 -0
- package/dist/dashboard-rpc/stream-channel.js.map +1 -0
- package/dist/dashboard-rpc/stream-forward.d.ts +17 -0
- package/dist/dashboard-rpc/stream-forward.d.ts.map +1 -0
- package/dist/dashboard-rpc/stream-forward.js +38 -0
- package/dist/dashboard-rpc/stream-forward.js.map +1 -0
- package/dist/dashboard-rpc/subagents.d.ts +12 -0
- package/dist/dashboard-rpc/subagents.d.ts.map +1 -0
- package/dist/dashboard-rpc/subagents.js +13 -0
- package/dist/dashboard-rpc/subagents.js.map +1 -0
- package/dist/dashboard-rpc/test-context.d.ts +23 -0
- package/dist/dashboard-rpc/test-context.d.ts.map +1 -0
- package/dist/dashboard-rpc/test-context.js +42 -0
- package/dist/dashboard-rpc/test-context.js.map +1 -0
- package/dist/dashboard-rpc/widgets.d.ts +33 -0
- package/dist/dashboard-rpc/widgets.d.ts.map +1 -0
- package/dist/dashboard-rpc/widgets.js +54 -0
- package/dist/dashboard-rpc/widgets.js.map +1 -0
- package/dist/data-branch.d.ts +120 -0
- package/dist/data-branch.d.ts.map +1 -0
- package/dist/data-branch.js +319 -0
- package/dist/data-branch.js.map +1 -0
- package/dist/discord/bot.d.ts +61 -0
- package/dist/discord/bot.d.ts.map +1 -0
- package/dist/discord/bot.js +94 -0
- package/dist/discord/bot.js.map +1 -0
- package/dist/discord/gateway.d.ts +137 -0
- package/dist/discord/gateway.d.ts.map +1 -0
- package/dist/discord/gateway.js +315 -0
- package/dist/discord/gateway.js.map +1 -0
- package/dist/discord/live-run.d.ts +31 -0
- package/dist/discord/live-run.d.ts.map +1 -0
- package/dist/discord/live-run.js +57 -0
- package/dist/discord/live-run.js.map +1 -0
- package/dist/discord/reply-mirror.d.ts +83 -0
- package/dist/discord/reply-mirror.d.ts.map +1 -0
- package/dist/discord/reply-mirror.js +84 -0
- package/dist/discord/reply-mirror.js.map +1 -0
- package/dist/discord/rest.d.ts +20 -0
- package/dist/discord/rest.d.ts.map +1 -0
- package/dist/discord/rest.js +41 -0
- package/dist/discord/rest.js.map +1 -0
- package/dist/discord/routing.d.ts +81 -0
- package/dist/discord/routing.d.ts.map +1 -0
- package/dist/discord/routing.js +91 -0
- package/dist/discord/routing.js.map +1 -0
- package/dist/discord-credentials-store.d.ts +14 -0
- package/dist/discord-credentials-store.d.ts.map +1 -0
- package/dist/discord-credentials-store.js +53 -0
- package/dist/discord-credentials-store.js.map +1 -0
- package/dist/discord-credentials.d.ts +80 -0
- package/dist/discord-credentials.d.ts.map +1 -0
- package/dist/discord-credentials.js +55 -0
- package/dist/discord-credentials.js.map +1 -0
- package/dist/driver/actions-zip.d.ts +2 -0
- package/dist/driver/actions-zip.d.ts.map +1 -0
- package/dist/driver/actions-zip.js +70 -0
- package/dist/driver/actions-zip.js.map +1 -0
- package/dist/driver/actions.d.ts +130 -0
- package/dist/driver/actions.d.ts.map +1 -0
- package/dist/driver/actions.js +261 -0
- package/dist/driver/actions.js.map +1 -0
- package/dist/driver/agent-cli.d.ts +57 -0
- package/dist/driver/agent-cli.d.ts.map +1 -0
- package/dist/driver/agent-cli.js +134 -0
- package/dist/driver/agent-cli.js.map +1 -0
- package/dist/driver/child-registry.d.ts +25 -0
- package/dist/driver/child-registry.d.ts.map +1 -0
- package/dist/driver/child-registry.js +53 -0
- package/dist/driver/child-registry.js.map +1 -0
- package/dist/driver/claude-code-quota.d.ts +40 -0
- package/dist/driver/claude-code-quota.d.ts.map +1 -0
- package/dist/driver/claude-code-quota.js +144 -0
- package/dist/driver/claude-code-quota.js.map +1 -0
- package/dist/driver/claude-code.d.ts +104 -0
- package/dist/driver/claude-code.d.ts.map +1 -0
- package/dist/driver/claude-code.js +314 -0
- package/dist/driver/claude-code.js.map +1 -0
- package/dist/driver/cli-session.d.ts +57 -0
- package/dist/driver/cli-session.d.ts.map +1 -0
- package/dist/driver/cli-session.js +134 -0
- package/dist/driver/cli-session.js.map +1 -0
- package/dist/driver/cloud.d.ts +109 -0
- package/dist/driver/cloud.d.ts.map +1 -0
- package/dist/driver/cloud.js +232 -0
- package/dist/driver/cloud.js.map +1 -0
- package/dist/driver/codex.d.ts +99 -0
- package/dist/driver/codex.d.ts.map +1 -0
- package/dist/driver/codex.js +190 -0
- package/dist/driver/codex.js.map +1 -0
- package/dist/driver/fake.d.ts +54 -0
- package/dist/driver/fake.d.ts.map +1 -0
- package/dist/driver/fake.js +73 -0
- package/dist/driver/fake.js.map +1 -0
- package/dist/driver/index.d.ts +10 -0
- package/dist/driver/index.d.ts.map +1 -0
- package/dist/driver/index.js +14 -0
- package/dist/driver/index.js.map +1 -0
- package/dist/driver/session-support.d.ts +14 -0
- package/dist/driver/session-support.d.ts.map +1 -0
- package/dist/driver/session-support.js +37 -0
- package/dist/driver/session-support.js.map +1 -0
- package/dist/driver/types.d.ts +310 -0
- package/dist/driver/types.d.ts.map +1 -0
- package/dist/driver/types.js +5 -0
- package/dist/driver/types.js.map +1 -0
- package/dist/driver-cli.d.ts +61 -0
- package/dist/driver-cli.d.ts.map +1 -0
- package/dist/driver-cli.js +66 -0
- package/dist/driver-cli.js.map +1 -0
- package/dist/driver-names.d.ts +22 -0
- package/dist/driver-names.d.ts.map +1 -0
- package/dist/driver-names.js +29 -0
- package/dist/driver-names.js.map +1 -0
- package/dist/error-message.d.ts +8 -0
- package/dist/error-message.d.ts.map +1 -0
- package/dist/error-message.js +10 -0
- package/dist/error-message.js.map +1 -0
- package/dist/event-stream.d.ts +33 -0
- package/dist/event-stream.d.ts.map +1 -0
- package/dist/event-stream.js +104 -0
- package/dist/event-stream.js.map +1 -0
- package/dist/events.d.ts +236 -0
- package/dist/events.d.ts.map +1 -0
- package/dist/events.js +5 -0
- package/dist/events.js.map +1 -0
- package/dist/fake-script.d.ts +15 -0
- package/dist/fake-script.d.ts.map +1 -0
- package/dist/fake-script.js +58 -0
- package/dist/fake-script.js.map +1 -0
- package/dist/format-bytes.d.ts +3 -0
- package/dist/format-bytes.d.ts.map +1 -0
- package/dist/format-bytes.js +18 -0
- package/dist/format-bytes.js.map +1 -0
- package/dist/framework-dir.d.ts +11 -0
- package/dist/framework-dir.d.ts.map +1 -0
- package/dist/framework-dir.js +11 -0
- package/dist/framework-dir.js.map +1 -0
- package/dist/framework-gitignore.d.ts +12 -0
- package/dist/framework-gitignore.d.ts.map +1 -0
- package/dist/framework-gitignore.js +19 -0
- package/dist/framework-gitignore.js.map +1 -0
- package/dist/gate-keepalive.d.ts +47 -0
- package/dist/gate-keepalive.d.ts.map +1 -0
- package/dist/gate-keepalive.js +62 -0
- package/dist/gate-keepalive.js.map +1 -0
- package/dist/git-exclude.d.ts +11 -0
- package/dist/git-exclude.d.ts.map +1 -0
- package/dist/git-exclude.js +23 -0
- package/dist/git-exclude.js.map +1 -0
- package/dist/handoff-level.d.ts +56 -0
- package/dist/handoff-level.d.ts.map +1 -0
- package/dist/handoff-level.js +62 -0
- package/dist/handoff-level.js.map +1 -0
- package/dist/has-remote.d.ts +8 -0
- package/dist/has-remote.d.ts.map +1 -0
- package/dist/has-remote.js +10 -0
- package/dist/has-remote.js.map +1 -0
- package/dist/host-exec.d.ts +21 -0
- package/dist/host-exec.d.ts.map +1 -0
- package/dist/host-exec.js +30 -0
- package/dist/host-exec.js.map +1 -0
- package/dist/index.d.ts +41 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +16 -0
- package/dist/index.js.map +1 -0
- package/dist/install.d.ts +29 -0
- package/dist/install.d.ts.map +1 -0
- package/dist/install.js +40 -0
- package/dist/install.js.map +1 -0
- package/dist/jsonl-tail.d.ts +59 -0
- package/dist/jsonl-tail.d.ts.map +1 -0
- package/dist/jsonl-tail.js +152 -0
- package/dist/jsonl-tail.js.map +1 -0
- package/dist/layout.d.ts +41 -0
- package/dist/layout.d.ts.map +1 -0
- package/dist/layout.js +69 -0
- package/dist/layout.js.map +1 -0
- package/dist/logs.d.ts +73 -0
- package/dist/logs.d.ts.map +1 -0
- package/dist/logs.js +218 -0
- package/dist/logs.js.map +1 -0
- package/dist/loopback-host.d.ts +20 -0
- package/dist/loopback-host.d.ts.map +1 -0
- package/dist/loopback-host.js +31 -0
- package/dist/loopback-host.js.map +1 -0
- package/dist/maintenance.d.ts +90 -0
- package/dist/maintenance.d.ts.map +1 -0
- package/dist/maintenance.js +141 -0
- package/dist/maintenance.js.map +1 -0
- package/dist/merged-worktrees.d.ts +74 -0
- package/dist/merged-worktrees.d.ts.map +1 -0
- package/dist/merged-worktrees.js +84 -0
- package/dist/merged-worktrees.js.map +1 -0
- package/dist/module-server.d.ts +56 -0
- package/dist/module-types/dashboard/components/DiffStat.d.ts +6 -0
- package/dist/module-types/dashboard/components/DriverModelMenu.d.ts +23 -0
- package/dist/module-types/dashboard/components/LinkActions.d.ts +26 -0
- package/dist/module-types/dashboard/components/Markdown.d.ts +4 -0
- package/dist/module-types/dashboard/components/SettingsRows.d.ts +37 -0
- package/dist/module-types/dashboard/components/StartAgentButton.d.ts +39 -0
- package/dist/module-types/dashboard/components/ui/badge.d.ts +2 -0
- package/dist/module-types/dashboard/components/ui/button.d.ts +10 -0
- package/dist/module-types/dashboard/components/ui/card.d.ts +5 -0
- package/dist/module-types/dashboard/components/ui/checkbox.d.ts +7 -0
- package/dist/module-types/dashboard/components/ui/dropdown-menu.d.ts +16 -0
- package/dist/module-types/dashboard/components/ui/input.d.ts +2 -0
- package/dist/module-types/dashboard/components/ui/option-label.d.ts +4 -0
- package/dist/module-types/dashboard/components/ui/popover.d.ts +8 -0
- package/dist/module-types/dashboard/components/ui/scroll-area.d.ts +10 -0
- package/dist/module-types/dashboard/components/ui/separator.d.ts +3 -0
- package/dist/module-types/dashboard/components/ui/skeleton.d.ts +2 -0
- package/dist/module-types/dashboard/components/ui/slider.d.ts +9 -0
- package/dist/module-types/dashboard/components/ui/tooltip.d.ts +11 -0
- package/dist/module-types/dashboard/lib/agent-settings.d.ts +2 -0
- package/dist/module-types/dashboard/lib/draft-handoff.d.ts +15 -0
- package/dist/module-types/dashboard/lib/format-date.d.ts +51 -0
- package/dist/module-types/dashboard/lib/host-services.d.ts +12 -0
- package/dist/module-types/dashboard/lib/models.d.ts +24 -0
- package/dist/module-types/dashboard/lib/route.d.ts +37 -0
- package/dist/module-types/dashboard/lib/rpc.d.ts +31 -0
- package/dist/module-types/dashboard/lib/use-action.d.ts +25 -0
- package/dist/module-types/dashboard/lib/use-async.d.ts +45 -0
- package/dist/module-types/dashboard/lib/use-modules.d.ts +78 -0
- package/dist/module-types/dashboard/lib/utils.d.ts +3 -0
- package/dist/module-types/dashboard/module/index.d.ts +335 -0
- package/dist/module-types/dashboard/rpc/models.d.ts +2 -0
- package/dist/module-types/dashboard/rpc/modules.d.ts +5 -0
- package/dist/module-types/src/agent-id.d.ts +12 -0
- package/dist/module-types/src/agent-locks.d.ts +2 -0
- package/dist/module-types/src/agent-view.d.ts +38 -0
- package/dist/module-types/src/bridge-browser.d.ts +216 -0
- package/dist/module-types/src/browser-stream.d.ts +19 -0
- package/dist/module-types/src/browser.d.ts +15 -0
- package/dist/module-types/src/built-in.d.ts +28 -0
- package/dist/module-types/src/client.d.ts +15 -0
- package/dist/module-types/src/cloud-run-state.d.ts +26 -0
- package/dist/module-types/src/dashboard/activity.d.ts +40 -0
- package/dist/module-types/src/dashboard/agent-handoff.d.ts +243 -0
- package/dist/module-types/src/dashboard/agent-tree.d.ts +105 -0
- package/dist/module-types/src/dashboard/bridge-endpoints.d.ts +157 -0
- package/dist/module-types/src/dashboard/bridge-question.d.ts +32 -0
- package/dist/module-types/src/dashboard/bridge-store.d.ts +178 -0
- package/dist/module-types/src/dashboard/cache.d.ts +46 -0
- package/dist/module-types/src/dashboard/content-type.d.ts +2 -0
- package/dist/module-types/src/dashboard/dashboard.d.ts +37 -0
- package/dist/module-types/src/dashboard/docs.d.ts +38 -0
- package/dist/module-types/src/dashboard/file-diff.d.ts +66 -0
- package/dist/module-types/src/dashboard/file-read.d.ts +41 -0
- package/dist/module-types/src/dashboard/file-status.d.ts +20 -0
- package/dist/module-types/src/dashboard/git-status.d.ts +43 -0
- package/dist/module-types/src/dashboard/http.d.ts +28 -0
- package/dist/module-types/src/dashboard/interventions.d.ts +66 -0
- package/dist/module-types/src/dashboard/keyed-watcher.d.ts +28 -0
- package/dist/module-types/src/dashboard/keys.d.ts +30 -0
- package/dist/module-types/src/dashboard/models.d.ts +24 -0
- package/dist/module-types/src/dashboard/module-host.d.ts +43 -0
- package/dist/module-types/src/dashboard/module-serve.d.ts +14 -0
- package/dist/module-types/src/dashboard/open-in-app.d.ts +42 -0
- package/dist/module-types/src/dashboard/open-questions.d.ts +44 -0
- package/dist/module-types/src/dashboard/overview.d.ts +77 -0
- package/dist/module-types/src/dashboard/projects.d.ts +99 -0
- package/dist/module-types/src/dashboard/pull-requests.d.ts +126 -0
- package/dist/module-types/src/dashboard/queue.d.ts +16 -0
- package/dist/module-types/src/dashboard/quota.d.ts +52 -0
- package/dist/module-types/src/dashboard/remote-run.d.ts +94 -0
- package/dist/module-types/src/dashboard/rpc-serve.d.ts +102 -0
- package/dist/module-types/src/dashboard/run-inbox.d.ts +30 -0
- package/dist/module-types/src/dashboard/scheduler-state.d.ts +72 -0
- package/dist/module-types/src/dashboard/subagent-settings.d.ts +25 -0
- package/dist/module-types/src/dashboard/types.d.ts +108 -0
- package/dist/module-types/src/dashboard-rpc/context.d.ts +53 -0
- package/dist/module-types/src/dashboard-rpc/control.d.ts +123 -0
- package/dist/module-types/src/dashboard-rpc/devices.d.ts +8 -0
- package/dist/module-types/src/dashboard-rpc/events-tail.d.ts +67 -0
- package/dist/module-types/src/dashboard-rpc/events.d.ts +38 -0
- package/dist/module-types/src/dashboard-rpc/index.d.ts +28 -0
- package/dist/module-types/src/dashboard-rpc/models.d.ts +3 -0
- package/dist/module-types/src/dashboard-rpc/modules.d.ts +42 -0
- package/dist/module-types/src/dashboard-rpc/preferences.d.ts +40 -0
- package/dist/module-types/src/dashboard-rpc/projects.d.ts +58 -0
- package/dist/module-types/src/dashboard-rpc/quota.d.ts +3 -0
- package/dist/module-types/src/dashboard-rpc/reads.d.ts +184 -0
- package/dist/module-types/src/dashboard-rpc/relay-agent.d.ts +8 -0
- package/dist/module-types/src/dashboard-rpc/stream-forward.d.ts +16 -0
- package/dist/module-types/src/dashboard-rpc/subagents.d.ts +11 -0
- package/dist/module-types/src/driver-names.d.ts +21 -0
- package/dist/module-types/src/error-message.d.ts +7 -0
- package/dist/module-types/src/event-stream.d.ts +32 -0
- package/dist/module-types/src/events.d.ts +235 -0
- package/dist/module-types/src/format-bytes.d.ts +2 -0
- package/dist/module-types/src/framework-dir.d.ts +10 -0
- package/dist/module-types/src/framework-gitignore.d.ts +11 -0
- package/dist/module-types/src/has-remote.d.ts +7 -0
- package/dist/module-types/src/index.d.ts +40 -0
- package/dist/module-types/src/jsonl-tail.d.ts +58 -0
- package/dist/module-types/src/loopback-host.d.ts +19 -0
- package/dist/module-types/src/node-fs.d.ts +32 -0
- package/dist/module-types/src/open-choices.d.ts +14 -0
- package/dist/module-types/src/pick-directory.d.ts +29 -0
- package/dist/module-types/src/preference-defaults.d.ts +42 -0
- package/dist/module-types/src/project-commands.d.ts +23 -0
- package/dist/module-types/src/project-errors.d.ts +55 -0
- package/dist/module-types/src/project-hooks.d.ts +129 -0
- package/dist/module-types/src/project-modules.d.ts +49 -0
- package/dist/module-types/src/project-presets.d.ts +29 -0
- package/dist/module-types/src/project.d.ts +28 -0
- package/dist/module-types/src/publish-levels.d.ts +32 -0
- package/dist/module-types/src/quota-boundary.d.ts +64 -0
- package/dist/module-types/src/quota-poller.d.ts +82 -0
- package/dist/module-types/src/registry.d.ts +220 -0
- package/dist/module-types/src/store/agent-checkout.d.ts +53 -0
- package/dist/module-types/src/store/agent-store.d.ts +266 -0
- package/dist/module-types/src/store/branches.d.ts +163 -0
- package/dist/module-types/src/store/git-host.d.ts +113 -0
- package/dist/module-types/src/store/index.d.ts +9 -0
- package/dist/module-types/src/store/provided.d.ts +16 -0
- package/dist/module-types/src/store/queue.d.ts +45 -0
- package/dist/module-types/src/store/repository.d.ts +32 -0
- package/dist/module-types/src/store/run-record.d.ts +21 -0
- package/dist/module-types/src/store/runs.d.ts +107 -0
- package/dist/module-types/src/store/tickets.d.ts +72 -0
- package/dist/module-types/src/subagent-settings.d.ts +26 -0
- package/dist/module-types/src/terminal.d.ts +3 -0
- package/dist/module-types/src/worktrees.d.ts +89 -0
- package/dist/module.css +50 -0
- package/dist/node-fs.d.ts +33 -0
- package/dist/node-fs.d.ts.map +1 -0
- package/dist/node-fs.js +57 -0
- package/dist/node-fs.js.map +1 -0
- package/dist/on-before-mergeable-prompt.d.ts +32 -0
- package/dist/on-before-mergeable-prompt.d.ts.map +1 -0
- package/dist/on-before-mergeable-prompt.js +26 -0
- package/dist/on-before-mergeable-prompt.js.map +1 -0
- package/dist/open-choices.d.ts +15 -0
- package/dist/open-choices.d.ts.map +1 -0
- package/dist/open-choices.js +31 -0
- package/dist/open-choices.js.map +1 -0
- package/dist/pick-directory.d.ts +30 -0
- package/dist/pick-directory.d.ts.map +1 -0
- package/dist/pick-directory.js +102 -0
- package/dist/pick-directory.js.map +1 -0
- package/dist/planned-quick-wins.d.ts +102 -0
- package/dist/planned-quick-wins.d.ts.map +1 -0
- package/dist/planned-quick-wins.js +171 -0
- package/dist/planned-quick-wins.js.map +1 -0
- package/dist/preference-defaults.d.ts +43 -0
- package/dist/preference-defaults.d.ts.map +1 -0
- package/dist/preference-defaults.js +34 -0
- package/dist/preference-defaults.js.map +1 -0
- package/dist/preflight.d.ts +77 -0
- package/dist/preflight.d.ts.map +1 -0
- package/dist/preflight.js +91 -0
- package/dist/preflight.js.map +1 -0
- package/dist/preset-catalog.d.ts +98 -0
- package/dist/preset-catalog.d.ts.map +1 -0
- package/dist/preset-catalog.js +129 -0
- package/dist/preset-catalog.js.map +1 -0
- package/dist/preset-prompt.d.ts +81 -0
- package/dist/preset-prompt.d.ts.map +1 -0
- package/dist/preset-prompt.js +51 -0
- package/dist/preset-prompt.js.map +1 -0
- package/dist/preset-registry.d.ts +32 -0
- package/dist/preset-registry.d.ts.map +1 -0
- package/dist/preset-registry.js +35 -0
- package/dist/preset-registry.js.map +1 -0
- package/dist/presets.d.ts +20 -0
- package/dist/presets.d.ts.map +1 -0
- package/dist/presets.js +33 -0
- package/dist/presets.js.map +1 -0
- package/dist/preview-runtime.d.ts +33 -0
- package/dist/preview-runtime.d.ts.map +1 -0
- package/dist/preview-runtime.js +96 -0
- package/dist/preview-runtime.js.map +1 -0
- package/dist/preview.d.ts +78 -0
- package/dist/preview.d.ts.map +1 -0
- package/dist/preview.js +301 -0
- package/dist/preview.js.map +1 -0
- package/dist/project-commands.d.ts +24 -0
- package/dist/project-commands.d.ts.map +1 -0
- package/dist/project-commands.js +57 -0
- package/dist/project-commands.js.map +1 -0
- package/dist/project-errors.d.ts +56 -0
- package/dist/project-errors.d.ts.map +1 -0
- package/dist/project-errors.js +49 -0
- package/dist/project-errors.js.map +1 -0
- package/dist/project-hooks.d.ts +130 -0
- package/dist/project-hooks.d.ts.map +1 -0
- package/dist/project-hooks.js +232 -0
- package/dist/project-hooks.js.map +1 -0
- package/dist/project-modules.d.ts +50 -0
- package/dist/project-modules.d.ts.map +1 -0
- package/dist/project-modules.js +110 -0
- package/dist/project-modules.js.map +1 -0
- package/dist/project-pass.d.ts +32 -0
- package/dist/project-pass.d.ts.map +1 -0
- package/dist/project-pass.js +45 -0
- package/dist/project-pass.js.map +1 -0
- package/dist/project-presets.d.ts +30 -0
- package/dist/project-presets.d.ts.map +1 -0
- package/dist/project-presets.js +74 -0
- package/dist/project-presets.js.map +1 -0
- package/dist/project-widgets.d.ts +46 -0
- package/dist/project-widgets.d.ts.map +1 -0
- package/dist/project-widgets.js +93 -0
- package/dist/project-widgets.js.map +1 -0
- package/dist/project.d.ts +29 -0
- package/dist/project.d.ts.map +1 -0
- package/dist/project.js +41 -0
- package/dist/project.js.map +1 -0
- package/dist/prompt-run.d.ts +104 -0
- package/dist/prompt-run.d.ts.map +1 -0
- package/dist/prompt-run.js +112 -0
- package/dist/prompt-run.js.map +1 -0
- package/dist/prompt-template.d.ts +16 -0
- package/dist/prompt-template.d.ts.map +1 -0
- package/dist/prompt-template.js +56 -0
- package/dist/prompt-template.js.map +1 -0
- package/dist/prompts.generated.d.ts +53 -0
- package/dist/prompts.generated.d.ts.map +1 -0
- package/dist/prompts.generated.js +55 -0
- package/dist/prompts.generated.js.map +1 -0
- package/dist/publish-levels.d.ts +33 -0
- package/dist/publish-levels.d.ts.map +1 -0
- package/dist/publish-levels.js +51 -0
- package/dist/publish-levels.js.map +1 -0
- package/dist/queue-promote.d.ts +70 -0
- package/dist/queue-promote.d.ts.map +1 -0
- package/dist/queue-promote.js +118 -0
- package/dist/queue-promote.js.map +1 -0
- package/dist/quota-boundary.d.ts +65 -0
- package/dist/quota-boundary.d.ts.map +1 -0
- package/dist/quota-boundary.js +135 -0
- package/dist/quota-boundary.js.map +1 -0
- package/dist/quota-poller.d.ts +83 -0
- package/dist/quota-poller.d.ts.map +1 -0
- package/dist/quota-poller.js +118 -0
- package/dist/quota-poller.js.map +1 -0
- package/dist/registry.d.ts +221 -0
- package/dist/registry.d.ts.map +1 -0
- package/dist/registry.js +348 -0
- package/dist/registry.js.map +1 -0
- package/dist/relay.d.ts +84 -0
- package/dist/relay.d.ts.map +1 -0
- package/dist/relay.js +199 -0
- package/dist/relay.js.map +1 -0
- package/dist/repos-directory.d.ts +19 -0
- package/dist/repos-directory.d.ts.map +1 -0
- package/dist/repos-directory.js +23 -0
- package/dist/repos-directory.js.map +1 -0
- package/dist/request-path.d.ts +10 -0
- package/dist/request-path.d.ts.map +1 -0
- package/dist/request-path.js +16 -0
- package/dist/request-path.js.map +1 -0
- package/dist/retired-project-settings.d.ts +43 -0
- package/dist/retired-project-settings.d.ts.map +1 -0
- package/dist/retired-project-settings.js +125 -0
- package/dist/retired-project-settings.js.map +1 -0
- package/dist/routine-locks.d.ts +53 -0
- package/dist/routine-locks.d.ts.map +1 -0
- package/dist/routine-locks.js +125 -0
- package/dist/routine-locks.js.map +1 -0
- package/dist/run-driver.d.ts +26 -0
- package/dist/run-driver.d.ts.map +1 -0
- package/dist/run-driver.js +17 -0
- package/dist/run-driver.js.map +1 -0
- package/dist/run-locks.d.ts +3 -0
- package/dist/run-locks.d.ts.map +1 -0
- package/dist/run-locks.js +39 -0
- package/dist/run-locks.js.map +1 -0
- package/dist/run-messages.d.ts +64 -0
- package/dist/run-messages.d.ts.map +1 -0
- package/dist/run-messages.js +76 -0
- package/dist/run-messages.js.map +1 -0
- package/dist/run-options.d.ts +53 -0
- package/dist/run-options.d.ts.map +1 -0
- package/dist/run-options.js +110 -0
- package/dist/run-options.js.map +1 -0
- package/dist/run-telemetry.d.ts +115 -0
- package/dist/run-telemetry.d.ts.map +1 -0
- package/dist/run-telemetry.js +137 -0
- package/dist/run-telemetry.js.map +1 -0
- package/dist/run-view.d.ts +109 -0
- package/dist/run-view.d.ts.map +1 -0
- package/dist/run-view.js +118 -0
- package/dist/run-view.js.map +1 -0
- package/dist/run.d.ts +261 -0
- package/dist/run.d.ts.map +1 -0
- package/dist/run.js +420 -0
- package/dist/run.js.map +1 -0
- package/dist/runtime-keys.d.ts +17 -0
- package/dist/runtime-keys.d.ts.map +1 -0
- package/dist/runtime-keys.js +17 -0
- package/dist/runtime-keys.js.map +1 -0
- package/dist/sandbox.d.ts +27 -0
- package/dist/sandbox.d.ts.map +1 -0
- package/dist/sandbox.js +63 -0
- package/dist/sandbox.js.map +1 -0
- package/dist/session-link.d.ts +19 -0
- package/dist/session-link.d.ts.map +1 -0
- package/dist/session-link.js +26 -0
- package/dist/session-link.js.map +1 -0
- package/dist/sessions.d.ts +77 -0
- package/dist/sessions.d.ts.map +1 -0
- package/dist/sessions.js +146 -0
- package/dist/sessions.js.map +1 -0
- package/dist/spike-locks.d.ts +75 -0
- package/dist/spike-locks.d.ts.map +1 -0
- package/dist/spike-locks.js +208 -0
- package/dist/spike-locks.js.map +1 -0
- package/dist/stale-branch.d.ts +21 -0
- package/dist/stale-branch.d.ts.map +1 -0
- package/dist/stale-branch.js +32 -0
- package/dist/stale-branch.js.map +1 -0
- package/dist/steps.d.ts +9 -0
- package/dist/steps.d.ts.map +1 -0
- package/dist/steps.js +13 -0
- package/dist/steps.js.map +1 -0
- package/dist/store/agent-checkout.d.ts +54 -0
- package/dist/store/agent-checkout.d.ts.map +1 -0
- package/dist/store/agent-checkout.js +61 -0
- package/dist/store/agent-checkout.js.map +1 -0
- package/dist/store/agent-store.d.ts +267 -0
- package/dist/store/agent-store.d.ts.map +1 -0
- package/dist/store/agent-store.js +190 -0
- package/dist/store/agent-store.js.map +1 -0
- package/dist/store/branches.d.ts +164 -0
- package/dist/store/branches.d.ts.map +1 -0
- package/dist/store/branches.js +187 -0
- package/dist/store/branches.js.map +1 -0
- package/dist/store/forge.d.ts +110 -0
- package/dist/store/forge.d.ts.map +1 -0
- package/dist/store/forge.js +97 -0
- package/dist/store/forge.js.map +1 -0
- package/dist/store/git-host.d.ts +114 -0
- package/dist/store/git-host.d.ts.map +1 -0
- package/dist/store/git-host.js +103 -0
- package/dist/store/git-host.js.map +1 -0
- package/dist/store/index.d.ts +10 -0
- package/dist/store/index.d.ts.map +1 -0
- package/dist/store/index.js +10 -0
- package/dist/store/index.js.map +1 -0
- package/dist/store/provided.d.ts +17 -0
- package/dist/store/provided.d.ts.map +1 -0
- package/dist/store/provided.js +37 -0
- package/dist/store/provided.js.map +1 -0
- package/dist/store/queue.d.ts +46 -0
- package/dist/store/queue.d.ts.map +1 -0
- package/dist/store/queue.js +61 -0
- package/dist/store/queue.js.map +1 -0
- package/dist/store/repository.d.ts +33 -0
- package/dist/store/repository.d.ts.map +1 -0
- package/dist/store/repository.js +25 -0
- package/dist/store/repository.js.map +1 -0
- package/dist/store/run-checkout.d.ts +33 -0
- package/dist/store/run-checkout.d.ts.map +1 -0
- package/dist/store/run-checkout.js +59 -0
- package/dist/store/run-checkout.js.map +1 -0
- package/dist/store/run-record.d.ts +22 -0
- package/dist/store/run-record.d.ts.map +1 -0
- package/dist/store/run-record.js +108 -0
- package/dist/store/run-record.js.map +1 -0
- package/dist/store/run-store.d.ts +501 -0
- package/dist/store/run-store.d.ts.map +1 -0
- package/dist/store/run-store.js +806 -0
- package/dist/store/run-store.js.map +1 -0
- package/dist/store/runs.d.ts +108 -0
- package/dist/store/runs.d.ts.map +1 -0
- package/dist/store/runs.js +146 -0
- package/dist/store/runs.js.map +1 -0
- package/dist/store/suspend.d.ts +38 -0
- package/dist/store/suspend.d.ts.map +1 -0
- package/dist/store/suspend.js +45 -0
- package/dist/store/suspend.js.map +1 -0
- package/dist/store/test-branches.d.ts +18 -0
- package/dist/store/test-branches.d.ts.map +1 -0
- package/dist/store/test-branches.js +59 -0
- package/dist/store/test-branches.js.map +1 -0
- package/dist/store/test-runs.d.ts +15 -0
- package/dist/store/test-runs.d.ts.map +1 -0
- package/dist/store/test-runs.js +37 -0
- package/dist/store/test-runs.js.map +1 -0
- package/dist/store/tickets.d.ts +73 -0
- package/dist/store/tickets.d.ts.map +1 -0
- package/dist/store/tickets.js +67 -0
- package/dist/store/tickets.js.map +1 -0
- package/dist/store/worktree-deps.d.ts +30 -0
- package/dist/store/worktree-deps.d.ts.map +1 -0
- package/dist/store/worktree-deps.js +115 -0
- package/dist/store/worktree-deps.js.map +1 -0
- package/dist/store/worktree.d.ts +194 -0
- package/dist/store/worktree.d.ts.map +1 -0
- package/dist/store/worktree.js +331 -0
- package/dist/store/worktree.js.map +1 -0
- package/dist/subagent-settings.d.ts +27 -0
- package/dist/subagent-settings.d.ts.map +1 -0
- package/dist/subagent-settings.js +35 -0
- package/dist/subagent-settings.js.map +1 -0
- package/dist/system-prompt-file.d.ts +18 -0
- package/dist/system-prompt-file.d.ts.map +1 -0
- package/dist/system-prompt-file.js +28 -0
- package/dist/system-prompt-file.js.map +1 -0
- package/dist/system-prompt.d.ts +148 -0
- package/dist/system-prompt.d.ts.map +1 -0
- package/dist/system-prompt.js +170 -0
- package/dist/system-prompt.js.map +1 -0
- package/dist/target-driver.d.ts +28 -0
- package/dist/target-driver.d.ts.map +1 -0
- package/dist/target-driver.js +18 -0
- package/dist/target-driver.js.map +1 -0
- package/dist/terminal.d.ts +4 -0
- package/dist/terminal.d.ts.map +1 -0
- package/dist/terminal.js +97 -0
- package/dist/terminal.js.map +1 -0
- package/dist/ticket-locks.d.ts +61 -0
- package/dist/ticket-locks.d.ts.map +1 -0
- package/dist/ticket-locks.js +137 -0
- package/dist/ticket-locks.js.map +1 -0
- package/dist/tickets-file.d.ts +7 -0
- package/dist/tickets-file.d.ts.map +1 -0
- package/dist/tickets-file.js +21 -0
- package/dist/tickets-file.js.map +1 -0
- package/dist/tickets.d.ts +18 -0
- package/dist/tickets.d.ts.map +1 -0
- package/dist/tickets.js +23 -0
- package/dist/tickets.js.map +1 -0
- package/dist/todo-loop.d.ts +110 -0
- package/dist/todo-loop.d.ts.map +1 -0
- package/dist/todo-loop.js +175 -0
- package/dist/todo-loop.js.map +1 -0
- package/dist/turn-gate.d.ts +144 -0
- package/dist/turn-gate.d.ts.map +1 -0
- package/dist/turn-gate.js +217 -0
- package/dist/turn-gate.js.map +1 -0
- package/dist/update-check.d.ts +44 -0
- package/dist/update-check.d.ts.map +1 -0
- package/dist/update-check.js +71 -0
- package/dist/update-check.js.map +1 -0
- package/dist/usage.d.ts +32 -0
- package/dist/usage.d.ts.map +1 -0
- package/dist/usage.js +46 -0
- package/dist/usage.js.map +1 -0
- package/dist/widget-types/dashboard/components/LinkActions.d.ts +26 -0
- package/dist/widget-types/dashboard/components/Markdown.d.ts +4 -0
- package/dist/widget-types/dashboard/components/StartAgentButton.d.ts +39 -0
- package/dist/widget-types/dashboard/components/ui/badge.d.ts +2 -0
- package/dist/widget-types/dashboard/components/ui/button.d.ts +10 -0
- package/dist/widget-types/dashboard/components/ui/card.d.ts +5 -0
- package/dist/widget-types/dashboard/components/ui/checkbox.d.ts +7 -0
- package/dist/widget-types/dashboard/components/ui/dropdown-menu.d.ts +16 -0
- package/dist/widget-types/dashboard/components/ui/input.d.ts +2 -0
- package/dist/widget-types/dashboard/components/ui/option-label.d.ts +4 -0
- package/dist/widget-types/dashboard/components/ui/popover.d.ts +8 -0
- package/dist/widget-types/dashboard/components/ui/scroll-area.d.ts +10 -0
- package/dist/widget-types/dashboard/components/ui/separator.d.ts +3 -0
- package/dist/widget-types/dashboard/components/ui/skeleton.d.ts +2 -0
- package/dist/widget-types/dashboard/components/ui/slider.d.ts +9 -0
- package/dist/widget-types/dashboard/components/ui/tooltip.d.ts +11 -0
- package/dist/widget-types/dashboard/lib/draft-handoff.d.ts +15 -0
- package/dist/widget-types/dashboard/lib/format-date.d.ts +51 -0
- package/dist/widget-types/dashboard/lib/host-services.d.ts +12 -0
- package/dist/widget-types/dashboard/lib/route.d.ts +24 -0
- package/dist/widget-types/dashboard/lib/rpc.d.ts +31 -0
- package/dist/widget-types/dashboard/lib/use-action.d.ts +25 -0
- package/dist/widget-types/dashboard/lib/use-async.d.ts +39 -0
- package/dist/widget-types/dashboard/lib/use-widgets.d.ts +42 -0
- package/dist/widget-types/dashboard/lib/utils.d.ts +3 -0
- package/dist/widget-types/dashboard/rpc/widgets.d.ts +4 -0
- package/dist/widget-types/dashboard/widget/index.d.ts +207 -0
- package/dist/widget-types/src/agent-id.d.ts +12 -0
- package/dist/widget-types/src/agent-locks.d.ts +2 -0
- package/dist/widget-types/src/agent-view.d.ts +38 -0
- package/dist/widget-types/src/bridge-browser.d.ts +216 -0
- package/dist/widget-types/src/browser-stream.d.ts +19 -0
- package/dist/widget-types/src/browser.d.ts +15 -0
- package/dist/widget-types/src/cli-exec.d.ts +35 -0
- package/dist/widget-types/src/cloud-run-state.d.ts +26 -0
- package/dist/widget-types/src/dashboard/activity.d.ts +40 -0
- package/dist/widget-types/src/dashboard/agent-handoff.d.ts +211 -0
- package/dist/widget-types/src/dashboard/agent-tree.d.ts +105 -0
- package/dist/widget-types/src/dashboard/bridge-endpoints.d.ts +157 -0
- package/dist/widget-types/src/dashboard/bridge-question.d.ts +32 -0
- package/dist/widget-types/src/dashboard/bridge-store.d.ts +178 -0
- package/dist/widget-types/src/dashboard/cache.d.ts +46 -0
- package/dist/widget-types/src/dashboard/content-type.d.ts +2 -0
- package/dist/widget-types/src/dashboard/dashboard.d.ts +37 -0
- package/dist/widget-types/src/dashboard/discord-webhook.d.ts +16 -0
- package/dist/widget-types/src/dashboard/docs.d.ts +38 -0
- package/dist/widget-types/src/dashboard/file-diff.d.ts +66 -0
- package/dist/widget-types/src/dashboard/file-read.d.ts +41 -0
- package/dist/widget-types/src/dashboard/file-status.d.ts +20 -0
- package/dist/widget-types/src/dashboard/gh.d.ts +130 -0
- package/dist/widget-types/src/dashboard/git-status.d.ts +32 -0
- package/dist/widget-types/src/dashboard/github.d.ts +10 -0
- package/dist/widget-types/src/dashboard/http.d.ts +28 -0
- package/dist/widget-types/src/dashboard/interventions.d.ts +66 -0
- package/dist/widget-types/src/dashboard/keys.d.ts +30 -0
- package/dist/widget-types/src/dashboard/models.d.ts +24 -0
- package/dist/widget-types/src/dashboard/open-in-app.d.ts +42 -0
- package/dist/widget-types/src/dashboard/open-questions.d.ts +52 -0
- package/dist/widget-types/src/dashboard/overview.d.ts +77 -0
- package/dist/widget-types/src/dashboard/projects.d.ts +89 -0
- package/dist/widget-types/src/dashboard/pull-requests.d.ts +126 -0
- package/dist/widget-types/src/dashboard/queue.d.ts +16 -0
- package/dist/widget-types/src/dashboard/quota.d.ts +59 -0
- package/dist/widget-types/src/dashboard/remote-run.d.ts +94 -0
- package/dist/widget-types/src/dashboard/rpc-serve.d.ts +102 -0
- package/dist/widget-types/src/dashboard/run-inbox.d.ts +30 -0
- package/dist/widget-types/src/dashboard/scheduler-state.d.ts +64 -0
- package/dist/widget-types/src/dashboard/tickets.d.ts +28 -0
- package/dist/widget-types/src/dashboard/types.d.ts +99 -0
- package/dist/widget-types/src/dashboard/widget-serve.d.ts +14 -0
- package/dist/widget-types/src/dashboard-rpc/context.d.ts +53 -0
- package/dist/widget-types/src/dashboard-rpc/control.d.ts +108 -0
- package/dist/widget-types/src/dashboard-rpc/devices.d.ts +8 -0
- package/dist/widget-types/src/dashboard-rpc/events-tail.d.ts +53 -0
- package/dist/widget-types/src/dashboard-rpc/events.d.ts +29 -0
- package/dist/widget-types/src/dashboard-rpc/index.d.ts +28 -0
- package/dist/widget-types/src/dashboard-rpc/models.d.ts +3 -0
- package/dist/widget-types/src/dashboard-rpc/preferences.d.ts +40 -0
- package/dist/widget-types/src/dashboard-rpc/projects.d.ts +54 -0
- package/dist/widget-types/src/dashboard-rpc/quota.d.ts +26 -0
- package/dist/widget-types/src/dashboard-rpc/reads.d.ts +227 -0
- package/dist/widget-types/src/dashboard-rpc/relay-agent.d.ts +8 -0
- package/dist/widget-types/src/dashboard-rpc/stream-forward.d.ts +16 -0
- package/dist/widget-types/src/dashboard-rpc/widgets.d.ts +32 -0
- package/dist/widget-types/src/discord-credentials.d.ts +79 -0
- package/dist/widget-types/src/driver-names.d.ts +21 -0
- package/dist/widget-types/src/error-message.d.ts +7 -0
- package/dist/widget-types/src/event-stream.d.ts +32 -0
- package/dist/widget-types/src/events.d.ts +235 -0
- package/dist/widget-types/src/framework-dir.d.ts +10 -0
- package/dist/widget-types/src/framework-gitignore.d.ts +11 -0
- package/dist/widget-types/src/index.d.ts +42 -0
- package/dist/widget-types/src/jsonl-tail.d.ts +54 -0
- package/dist/widget-types/src/loopback-host.d.ts +19 -0
- package/dist/widget-types/src/node-fs.d.ts +32 -0
- package/dist/widget-types/src/open-choices.d.ts +14 -0
- package/dist/widget-types/src/pick-directory.d.ts +29 -0
- package/dist/widget-types/src/preference-defaults.d.ts +53 -0
- package/dist/widget-types/src/project-commands.d.ts +23 -0
- package/dist/widget-types/src/project-errors.d.ts +43 -0
- package/dist/widget-types/src/project-hooks.d.ts +133 -0
- package/dist/widget-types/src/project-presets.d.ts +29 -0
- package/dist/widget-types/src/project-widgets.d.ts +45 -0
- package/dist/widget-types/src/project.d.ts +28 -0
- package/dist/widget-types/src/quota-boundary.d.ts +115 -0
- package/dist/widget-types/src/quota-poller.d.ts +82 -0
- package/dist/widget-types/src/registry.d.ts +210 -0
- package/dist/widget-types/src/store/agent-checkout.d.ts +46 -0
- package/dist/widget-types/src/store/agent-store.d.ts +237 -0
- package/dist/widget-types/src/store/branches.d.ts +133 -0
- package/dist/widget-types/src/store/forge.d.ts +109 -0
- package/dist/widget-types/src/store/git-host.d.ts +111 -0
- package/dist/widget-types/src/store/index.d.ts +9 -0
- package/dist/widget-types/src/store/provided.d.ts +16 -0
- package/dist/widget-types/src/store/queue.d.ts +45 -0
- package/dist/widget-types/src/store/run-record.d.ts +21 -0
- package/dist/widget-types/src/store/runs.d.ts +101 -0
- package/dist/widget-types/src/store/tickets.d.ts +72 -0
- package/dist/widget-types/src/tickets.d.ts +17 -0
- package/dist/widget-types/src/worktrees.d.ts +89 -0
- package/dist/widget.css +50 -0
- package/dist/worktrees.d.ts +90 -0
- package/dist/worktrees.d.ts.map +1 -0
- package/dist/worktrees.js +123 -0
- package/dist/worktrees.js.map +1 -0
- package/package.json +103 -3
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"relay.js","sourceRoot":"","sources":["../src/relay.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAA0D,MAAM,WAAW,CAAA;AAEhG,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAA;AAEpD,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAA;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAA;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AACnD,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AAwE/D,MAAM,QAAQ,GAAG,yBAAyB,CAAA;AAE1C,qDAAqD;AACrD,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,OAAqB,EAAE;IACtD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,SAAS,CAAA;IACnC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAA;IAC9B,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,IAAI,GAAG,GAAG,IAAI,CAAA;IAC/C,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,GAAG,CAAA;IACnC,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,IAAI,CAAC,MAAM,sBAAsB,EAAE,CAAC,CAAA;IAChF,+EAA+E;IAC/E,yEAAyE;IACzE,MAAM,IAAI,GAAG,IAAI,GAAG,EAAe,CAAA;IAEnC,MAAM,GAAG,GAAG,CAAC,EAAU,EAAO,EAAE;QAC9B,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QAC7B,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAA;YACf,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAA,CAAC,oCAAoC;YAC3D,OAAO,QAAQ,CAAA;QACjB,CAAC;QACD,6EAA6E;QAC7E,OAAO,IAAI,CAAC,IAAI,IAAI,OAAO,EAAE,CAAC;YAC5B,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAA;YACvC,IAAI,MAAM,KAAK,SAAS;gBAAE,MAAK;YAC/B,IAAI,CAAC,GAAG,CAAC,MAAM,CAAE,CAAC,MAAM,CAAC,KAAK,EAAE,CAAA,CAAC,iDAAiD;YAClF,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QACrB,CAAC;QACD,MAAM,CAAC,GAAQ,EAAE,MAAM,EAAE,IAAI,WAAW,EAAkB,EAAE,CAAA;QAC5D,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAA;QACf,OAAO,CAAC,CAAA;IACV,CAAC,CAAA;IAED,uFAAuF;IACvF,sFAAsF;IACtF,oFAAoF;IACpF,qEAAqE;IACrE,MAAM,QAAQ,GAAG,iBAAiB,CAAC,EAAE,QAAQ,EAAE,qBAAqB,EAAE,EAAE,YAAY,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAA;IAC7G,MAAM,MAAM,GAAG,YAAY,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAA;IAExG,OAAO,IAAI,OAAO,CAAQ,CAAC,cAAc,EAAE,aAAa,EAAE,EAAE;QAC1D,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,CAAA;QACnC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE;YAC7B,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,aAAa,CAAC,CAAA;YAC7C,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,EAAiB,CAAA;YAC/C,MAAM,GAAG,GAAG,UAAU,IAAI,IAAI,OAAO,CAAC,IAAI,EAAE,CAAA;YAC5C,cAAc,CAAC;gBACb,GAAG;gBACH,SAAS,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,GAAG,SAAS,kBAAkB,CAAC,EAAE,CAAC,EAAE;gBACxD,MAAM,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;gBACjD,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;gBAC9B,KAAK,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC;aACtC,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC;AASD,SAAS,MAAM,CAAC,GAAoB,EAAE,GAAmB,EAAE,GAAc;IACvE,+FAA+F;IAC/F,MAAM,QAAQ,GAAG,eAAe,CAAC,GAAG,CAAC,CAAA;IACrC,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,YAAY,EAAE,CAAC,CAAA;QACpD,GAAG,CAAC,GAAG,CAAC,aAAa,CAAC,CAAA;QACtB,OAAM;IACR,CAAC;IACD,IAAI,QAAQ,KAAK,UAAU,EAAE,CAAC;QAC5B,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,YAAY,EAAE,CAAC,CAAA;QACpD,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QACb,OAAM;IACR,CAAC;IACD,oFAAoF;IACpF,IAAI,QAAQ,KAAK,YAAY,IAAI,QAAQ,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QACpE,KAAK,GAAG,CAAC,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;QAC3B,OAAM;IACR,CAAC;IACD,MAAM,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IACjC,IAAI,CAAC,EAAE,CAAC;QACN,6FAA6F;QAC7F,IAAI,EAAU,CAAA;QACd,IAAI,CAAC;YACH,EAAE,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC,CAAA;QAChC,CAAC;QAAC,MAAM,CAAC;YACP,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,YAAY,EAAE,CAAC,CAAA;YACpD,GAAG,CAAC,GAAG,CAAC,aAAa,CAAC,CAAA;YACtB,OAAM;QACR,CAAC;QACD,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;QACvB,yFAAyF;QACzF,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;YACxB,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;gBAC1B,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAA;gBACnE,GAAG,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAA;gBAC7B,OAAM;YACR,CAAC;YACD,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,CAAA;YAC9C,OAAM;QACR,CAAC;QACD,qFAAqF;QACrF,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,SAAS,kBAAkB,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAA;QACnE,GAAG,CAAC,GAAG,EAAE,CAAA;QACT,OAAM;IACR,CAAC;IACD,uFAAuF;IACvF,IAAI,GAAG,CAAC,eAAe,EAAE,CAAC;QACxB,KAAK,iBAAiB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,eAAe,CAAC,CAAA;QACrD,OAAM;IACR,CAAC;IACD,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,YAAY,EAAE,CAAC,CAAA;IACpD,GAAG,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAA;AACvC,CAAC;AAED,0FAA0F;AAC1F,SAAS,UAAU,CAAC,GAAoB,EAAE,GAAmB,EAAE,CAAM,EAAE,OAAe;IACpF,uFAAuF;IACvF,sFAAsF;IACtF,iDAAiD;IACjD,MAAM,MAAM,GAAa,EAAE,CAAA;IAC3B,IAAI,KAAK,GAAG,CAAC,CAAA;IACb,IAAI,MAAM,GAAG,KAAK,CAAA;IAClB,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;QAC/B,IAAI,MAAM;YAAE,OAAM;QAClB,KAAK,IAAI,KAAK,CAAC,MAAM,CAAA;QACrB,IAAI,KAAK,GAAG,OAAO,EAAE,CAAC;YACpB,MAAM,GAAG,IAAI,CAAA;YACb,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,YAAY,EAAE,CAAC,CAAA;YACpD,GAAG,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAA;YAC5B,GAAG,CAAC,OAAO,EAAE,CAAA;YACb,OAAM;QACR,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IACpB,CAAC,CAAC,CAAA;IACF,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;QACjB,IAAI,MAAM;YAAE,OAAM;QAClB,IAAI,MAAe,CAAA;QACnB,IAAI,CAAC;YACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAA;QAC7D,CAAC;QAAC,MAAM,CAAC;YACP,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,YAAY,EAAE,CAAC,CAAA;YACpD,GAAG,CAAC,GAAG,CAAC,cAAc,CAAC,CAAA;YACvB,OAAM;QACR,CAAC;QACD,MAAM,MAAM,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAqB,CAAA;QAC9E,KAAK,MAAM,KAAK,IAAI,MAAM;YAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAChD,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAA;QAC1D,GAAG,CAAC,GAAG,CAAC,yBAAyB,MAAM,CAAC,MAAM,GAAG,CAAC,CAAA;IACpD,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,MAAc,EAAE,IAAsB;IACxD,KAAK,MAAM,EAAE,MAAM,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE;QAAE,MAAM,CAAC,KAAK,EAAE,CAAA,CAAC,uCAAuC;IAC9F,IAAI,CAAC,KAAK,EAAE,CAAA;IACZ,OAAO,IAAI,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,cAAc,EAAE,CAAC,CAAC,CAAA;AAC5E,CAAC;AAYD;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAC5B,IAAY,EACZ,KAAa,EACb,OAAgC,EAChC,SAAS,GAAG,MAAM;IAElB,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;IACvC,MAAM,IAAI,GAAG,GAAG,MAAM,MAAM,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAA;IACvD,IAAI,KAAK,GAAkB,OAAO,CAAC,OAAO,EAAE,CAAA;IAC5C,OAAO;QACL,iFAAiF;QACjF,GAAG,EAAE,GAAG,MAAM,SAAS,kBAAkB,CAAC,KAAK,CAAC,EAAE;QAClD,OAAO,CAAC,KAAK;YACX,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE;gBAC5B,IAAI,CAAC;oBACH,yEAAyE;oBACzE,wDAAwD;oBACxD,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,UAAU,EAAE;wBACzC,MAAM,EAAE,MAAM;wBACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;wBAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;wBAC3B,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC;qBACvC,CAAC,CAAA;oBACF,0EAA0E;oBAC1E,6EAA6E;oBAC7E,IAAI,CAAC,GAAG,CAAC,EAAE;wBAAE,MAAM,IAAI,KAAK,CAAC,kBAAkB,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC,OAAO,EAAE,CAAC,CAAA;gBAC1F,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,OAAO,EAAE,CAAC,GAAG,CAAC,CAAA;gBAChB,CAAC;YACH,CAAC,CAAC,CAAA;QACJ,CAAC;QACD,KAAK;YACH,OAAO,KAAK,CAAA;QACd,CAAC;KACF,CAAA;AACH,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { type NodeFs } from './node-fs.js';
|
|
2
|
+
/**
|
|
3
|
+
* The repos-directory helper (#1123): find the git repos directly inside a directory the user
|
|
4
|
+
* pointed The Framework at, so the daemon can auto-register them when the opt-in is on.
|
|
5
|
+
*
|
|
6
|
+
* The fs is a seam so this is unit-testable without touching disk, matching the rest of the package.
|
|
7
|
+
*/
|
|
8
|
+
/** The narrow fs the scan needs: list a directory and test its entries. {@link nodeFs} satisfies it. */
|
|
9
|
+
export type ReposDirectoryFs = Pick<NodeFs, 'readdir' | 'isDirectory' | 'exists'>;
|
|
10
|
+
/**
|
|
11
|
+
* The immediate subdirectories of `dir` that are git repos: a child directory holding a `.git`
|
|
12
|
+
* (a directory in a normal clone, a file in a worktree or submodule). Returns absolute paths, sorted.
|
|
13
|
+
*
|
|
14
|
+
* Only one level deep on purpose (#1123): the auto-grant's blast radius is "this directory of repos",
|
|
15
|
+
* not the whole tree beneath it. A missing `dir` yields `[]` (readdir already swallows that), so it
|
|
16
|
+
* never throws on boot.
|
|
17
|
+
*/
|
|
18
|
+
export declare function listReposInDirectory(dir: string, fs?: ReposDirectoryFs): Promise<string[]>;
|
|
19
|
+
//# sourceMappingURL=repos-directory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"repos-directory.d.ts","sourceRoot":"","sources":["../src/repos-directory.ts"],"names":[],"mappings":"AACA,OAAO,EAAU,KAAK,MAAM,EAAE,MAAM,cAAc,CAAA;AAElD;;;;;GAKG;AAEH,wGAAwG;AACxG,MAAM,MAAM,gBAAgB,GAAG,IAAI,CAAC,MAAM,EAAE,SAAS,GAAG,aAAa,GAAG,QAAQ,CAAC,CAAA;AAEjF;;;;;;;GAOG;AACH,wBAAsB,oBAAoB,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,GAAE,gBAA2B,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAS1G"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { join } from 'node:path';
|
|
2
|
+
import { nodeFs } from './node-fs.js';
|
|
3
|
+
/**
|
|
4
|
+
* The immediate subdirectories of `dir` that are git repos: a child directory holding a `.git`
|
|
5
|
+
* (a directory in a normal clone, a file in a worktree or submodule). Returns absolute paths, sorted.
|
|
6
|
+
*
|
|
7
|
+
* Only one level deep on purpose (#1123): the auto-grant's blast radius is "this directory of repos",
|
|
8
|
+
* not the whole tree beneath it. A missing `dir` yields `[]` (readdir already swallows that), so it
|
|
9
|
+
* never throws on boot.
|
|
10
|
+
*/
|
|
11
|
+
export async function listReposInDirectory(dir, fs = nodeFs()) {
|
|
12
|
+
const repos = [];
|
|
13
|
+
for (const name of (await fs.readdir(dir)).sort()) {
|
|
14
|
+
const child = join(dir, name);
|
|
15
|
+
if (!(await fs.isDirectory(child)))
|
|
16
|
+
continue;
|
|
17
|
+
const git = join(child, '.git');
|
|
18
|
+
if ((await fs.exists(git)) || (await fs.isDirectory(git)))
|
|
19
|
+
repos.push(child);
|
|
20
|
+
}
|
|
21
|
+
return repos;
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=repos-directory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"repos-directory.js","sourceRoot":"","sources":["../src/repos-directory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,MAAM,EAAe,MAAM,cAAc,CAAA;AAYlD;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,GAAW,EAAE,KAAuB,MAAM,EAAE;IACrF,MAAM,KAAK,GAAa,EAAE,CAAA;IAC1B,KAAK,MAAM,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC;QAClD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;QAC7B,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;YAAE,SAAQ;QAC5C,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAA;QAC/B,IAAI,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAC9E,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { IncomingMessage } from 'node:http';
|
|
2
|
+
/**
|
|
3
|
+
* A request's pathname, parsed defensively (#938). Node hands the request target through
|
|
4
|
+
* verbatim, including absolute-form targets a proxy client may send (`GET http://[ ...`),
|
|
5
|
+
* and `new URL` throws on those synchronously inside the request handler — an uncaught
|
|
6
|
+
* exception that takes the whole daemon down. `undefined` means "no parseable path":
|
|
7
|
+
* answer 400 (or serve the fallback), never throw.
|
|
8
|
+
*/
|
|
9
|
+
export declare function requestPathname(req: IncomingMessage): string | undefined;
|
|
10
|
+
//# sourceMappingURL=request-path.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"request-path.d.ts","sourceRoot":"","sources":["../src/request-path.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,WAAW,CAAA;AAEhD;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,eAAe,GAAG,MAAM,GAAG,SAAS,CAMxE"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A request's pathname, parsed defensively (#938). Node hands the request target through
|
|
3
|
+
* verbatim, including absolute-form targets a proxy client may send (`GET http://[ ...`),
|
|
4
|
+
* and `new URL` throws on those synchronously inside the request handler — an uncaught
|
|
5
|
+
* exception that takes the whole daemon down. `undefined` means "no parseable path":
|
|
6
|
+
* answer 400 (or serve the fallback), never throw.
|
|
7
|
+
*/
|
|
8
|
+
export function requestPathname(req) {
|
|
9
|
+
try {
|
|
10
|
+
return new URL(req.url ?? '/', 'http://localhost').pathname;
|
|
11
|
+
}
|
|
12
|
+
catch {
|
|
13
|
+
return undefined;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=request-path.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"request-path.js","sourceRoot":"","sources":["../src/request-path.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,MAAM,UAAU,eAAe,CAAC,GAAoB;IAClD,IAAI,CAAC;QACH,OAAO,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,EAAE,kBAAkB,CAAC,CAAC,QAAQ,CAAA;IAC7D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAA;IAClB,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { type HandoffLevel } from './handoff-level.js';
|
|
2
|
+
import { type RegistryFs } from './registry.js';
|
|
3
|
+
/** One project that had a block, as the notice needs to talk about it. */
|
|
4
|
+
export interface RetiredProjectSettings {
|
|
5
|
+
/** The repo the block was about. Its path, because a project id names nothing to a reader. */
|
|
6
|
+
path: string;
|
|
7
|
+
/** The keys the block held, in file order — so the notice can say what stopped applying. */
|
|
8
|
+
keys: string[];
|
|
9
|
+
/** Whether the block set how far this repo publishes, in any spelling. See {@link PUBLISH_KEYS}. */
|
|
10
|
+
publishes: boolean;
|
|
11
|
+
/**
|
|
12
|
+
* The publish rung the block set, when it set one this can name. Absent for a block written
|
|
13
|
+
* before the ladder, which the reader restates by hand — `publishes` is what says to.
|
|
14
|
+
*/
|
|
15
|
+
handoff?: HandoffLevel;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* The retired blocks in the registry file, or `[]` when there are none (which is everyone who
|
|
19
|
+
* never used the tier, and everyone whose file has been written once since).
|
|
20
|
+
*
|
|
21
|
+
* Reads the raw file rather than going through `readRegistry`, which drops the block on the way in
|
|
22
|
+
* — that is the point of the removal, and it is what leaves this the only reader.
|
|
23
|
+
*/
|
|
24
|
+
export declare function readRetiredProjectSettings(fs?: RegistryFs, env?: NodeJS.ProcessEnv): Promise<RetiredProjectSettings[]>;
|
|
25
|
+
/** Read the blocks and hold them for this process. Called once, first thing, by the daemon. */
|
|
26
|
+
export declare function captureRetiredProjectSettings(fs?: RegistryFs, env?: NodeJS.ProcessEnv): Promise<readonly RetiredProjectSettings[]>;
|
|
27
|
+
/** What the boot read found. Empty until {@link captureRetiredProjectSettings} has run. */
|
|
28
|
+
export declare function retiredProjectSettings(): readonly RetiredProjectSettings[];
|
|
29
|
+
/**
|
|
30
|
+
* What a repo's row has to say, as both surfaces say it.
|
|
31
|
+
*
|
|
32
|
+
* A block that set publishing gets the line to write and what happens without it, because that is
|
|
33
|
+
* the direction that acts outward on its own. Everything else is told what applies instead, which
|
|
34
|
+
* is true only for a block that did *not* set publishing — hence the flag rather than the rung.
|
|
35
|
+
*/
|
|
36
|
+
export declare function retiredProjectAdvice(project: RetiredProjectSettings): string;
|
|
37
|
+
/**
|
|
38
|
+
* The notice as the daemon's log prints it: one line naming the tier, then one per project.
|
|
39
|
+
*
|
|
40
|
+
* Empty for an empty list, so the caller prints nothing rather than a heading over nothing.
|
|
41
|
+
*/
|
|
42
|
+
export declare function retiredProjectSettingsNotice(retired: readonly RetiredProjectSettings[]): string[];
|
|
43
|
+
//# sourceMappingURL=retired-project-settings.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"retired-project-settings.d.ts","sourceRoot":"","sources":["../src/retired-project-settings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACtE,OAAO,EAAgC,KAAK,UAAU,EAAE,MAAM,eAAe,CAAA;AA+B7E,0EAA0E;AAC1E,MAAM,WAAW,sBAAsB;IACrC,8FAA8F;IAC9F,IAAI,EAAE,MAAM,CAAA;IACZ,4FAA4F;IAC5F,IAAI,EAAE,MAAM,EAAE,CAAA;IACd,oGAAoG;IACpG,SAAS,EAAE,OAAO,CAAA;IAClB;;;OAGG;IACH,OAAO,CAAC,EAAE,YAAY,CAAA;CACvB;AAED;;;;;;GAMG;AACH,wBAAsB,0BAA0B,CAC9C,EAAE,GAAE,UAA6B,EACjC,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,OAAO,CAAC,sBAAsB,EAAE,CAAC,CAmCnC;AAYD,+FAA+F;AAC/F,wBAAsB,6BAA6B,CACjD,EAAE,CAAC,EAAE,UAAU,EACf,GAAG,GAAE,MAAM,CAAC,UAAwB,GACnC,OAAO,CAAC,SAAS,sBAAsB,EAAE,CAAC,CAG5C;AAED,2FAA2F;AAC3F,wBAAgB,sBAAsB,IAAI,SAAS,sBAAsB,EAAE,CAE1E;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,sBAAsB,GAAG,MAAM,CAI5E;AAED;;;;GAIG;AACH,wBAAgB,4BAA4B,CAAC,OAAO,EAAE,SAAS,sBAAsB,EAAE,GAAG,MAAM,EAAE,CASjG"}
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
import { isHandoffLevel } from './handoff-level.js';
|
|
2
|
+
import { nodeRegistryFs, registryPath } from './registry.js';
|
|
3
|
+
/**
|
|
4
|
+
* The one-time notice for the per-project preference tier B5 deleted (#840).
|
|
5
|
+
*
|
|
6
|
+
* Every other retirement on that branch is silent by design — a renamed key is an unknown key, and
|
|
7
|
+
* an unknown key is dropped. This one is not silent, because dropping it moves in the *permissive*
|
|
8
|
+
* direction and the permissive thing is an outward action under the user's name: a repo they had
|
|
9
|
+
* set to "don't publish" falls through to the user-level default, which pushes the branch and opens
|
|
10
|
+
* a pull request. A setting that quietly stops applying is a bug report; a setting that quietly
|
|
11
|
+
* starts publishing is a pull request on someone else's repo.
|
|
12
|
+
*
|
|
13
|
+
* It is a report, not a migration: nothing here is honoured, carried, or written back. It names
|
|
14
|
+
* what the file holds and the line that replaces it, and the block goes on being ignored.
|
|
15
|
+
*/
|
|
16
|
+
/** The retired block's key in the registry file. Read to report it; never written. */
|
|
17
|
+
const RETIRED_KEY = 'projectPreferences';
|
|
18
|
+
/**
|
|
19
|
+
* Every spelling a block could say "how far this repo publishes" in: the rung, and the three
|
|
20
|
+
* booleans it replaced.
|
|
21
|
+
*
|
|
22
|
+
* Named rather than interpreted. A block written before the ladder cannot be turned back into a
|
|
23
|
+
* rung without the mapping this branch deleted, and resurrecting it here would be the migration
|
|
24
|
+
* code the deletion was about. What the notice needs is only whether this repo's publishing was
|
|
25
|
+
* set here at all, because that decides whether the row warns or reassures — and a row that
|
|
26
|
+
* reassures about a repo whose block said "don't publish" is the failure this exists to prevent.
|
|
27
|
+
*/
|
|
28
|
+
const PUBLISH_KEYS = ['handoff', 'autoPushBranch', 'autoOpenPr', 'autoMerge'];
|
|
29
|
+
/**
|
|
30
|
+
* The retired blocks in the registry file, or `[]` when there are none (which is everyone who
|
|
31
|
+
* never used the tier, and everyone whose file has been written once since).
|
|
32
|
+
*
|
|
33
|
+
* Reads the raw file rather than going through `readRegistry`, which drops the block on the way in
|
|
34
|
+
* — that is the point of the removal, and it is what leaves this the only reader.
|
|
35
|
+
*/
|
|
36
|
+
export async function readRetiredProjectSettings(fs = nodeRegistryFs(), env = process.env) {
|
|
37
|
+
let parsed;
|
|
38
|
+
try {
|
|
39
|
+
parsed = JSON.parse(await fs.read(registryPath(env)));
|
|
40
|
+
}
|
|
41
|
+
catch {
|
|
42
|
+
return []; // missing or malformed: the same nothing readRegistry answers
|
|
43
|
+
}
|
|
44
|
+
if (typeof parsed !== 'object' || parsed === null || Array.isArray(parsed))
|
|
45
|
+
return [];
|
|
46
|
+
const stored = parsed[RETIRED_KEY];
|
|
47
|
+
if (typeof stored !== 'object' || stored === null || Array.isArray(stored))
|
|
48
|
+
return [];
|
|
49
|
+
// The project list is the same file's, so an id resolves to the path the user knows it by.
|
|
50
|
+
const projects = parsed.projects;
|
|
51
|
+
const paths = new Map();
|
|
52
|
+
if (Array.isArray(projects)) {
|
|
53
|
+
for (const project of projects) {
|
|
54
|
+
const record = project;
|
|
55
|
+
if (typeof record?.id === 'string' && typeof record.path === 'string')
|
|
56
|
+
paths.set(record.id, record.path);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
const retired = [];
|
|
60
|
+
for (const [projectId, block] of Object.entries(stored)) {
|
|
61
|
+
if (typeof block !== 'object' || block === null || Array.isArray(block))
|
|
62
|
+
continue;
|
|
63
|
+
const keys = Object.keys(block);
|
|
64
|
+
if (!keys.length)
|
|
65
|
+
continue;
|
|
66
|
+
const handoff = block['handoff'];
|
|
67
|
+
retired.push({
|
|
68
|
+
// A project since removed from the registry still had settings; name it by the id rather
|
|
69
|
+
// than dropping it, since the point is that nothing stopped applying silently.
|
|
70
|
+
path: paths.get(projectId) ?? projectId,
|
|
71
|
+
keys,
|
|
72
|
+
publishes: keys.some(key => PUBLISH_KEYS.includes(key)),
|
|
73
|
+
...(isHandoffLevel(handoff) ? { handoff } : {}),
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
return retired;
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* The boot snapshot, and why there is one.
|
|
80
|
+
*
|
|
81
|
+
* `writeRegistry` rewrites the file from the fields it knows, so the first preference write of a
|
|
82
|
+
* session erases the block this notice is about. A notice raised lazily — at the first publish,
|
|
83
|
+
* say — would race that erasure and lose, so the read happens once at boot, ahead of every write
|
|
84
|
+
* path, and the dashboard is served from what it found.
|
|
85
|
+
*/
|
|
86
|
+
let captured = [];
|
|
87
|
+
/** Read the blocks and hold them for this process. Called once, first thing, by the daemon. */
|
|
88
|
+
export async function captureRetiredProjectSettings(fs, env = process.env) {
|
|
89
|
+
captured = await readRetiredProjectSettings(fs, env).catch(() => []);
|
|
90
|
+
return captured;
|
|
91
|
+
}
|
|
92
|
+
/** What the boot read found. Empty until {@link captureRetiredProjectSettings} has run. */
|
|
93
|
+
export function retiredProjectSettings() {
|
|
94
|
+
return captured;
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* What a repo's row has to say, as both surfaces say it.
|
|
98
|
+
*
|
|
99
|
+
* A block that set publishing gets the line to write and what happens without it, because that is
|
|
100
|
+
* the direction that acts outward on its own. Everything else is told what applies instead, which
|
|
101
|
+
* is true only for a block that did *not* set publishing — hence the flag rather than the rung.
|
|
102
|
+
*/
|
|
103
|
+
export function retiredProjectAdvice(project) {
|
|
104
|
+
if (!project.publishes)
|
|
105
|
+
return 'Your own settings apply to it now.';
|
|
106
|
+
const rung = project.handoff ?? 'local | push | pr | merge';
|
|
107
|
+
return `Add \`handoff: ${rung}\` to its the-framework.yml — without it, agents there push their branch and open a pull request.`;
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* The notice as the daemon's log prints it: one line naming the tier, then one per project.
|
|
111
|
+
*
|
|
112
|
+
* Empty for an empty list, so the caller prints nothing rather than a heading over nothing.
|
|
113
|
+
*/
|
|
114
|
+
export function retiredProjectSettingsNotice(retired) {
|
|
115
|
+
if (!retired.length)
|
|
116
|
+
return [];
|
|
117
|
+
const lines = [
|
|
118
|
+
`[framework] per-project settings are no longer read — a repo's settings live in its own the-framework.yml.`,
|
|
119
|
+
];
|
|
120
|
+
for (const project of retired) {
|
|
121
|
+
lines.push(`[framework] ${project.path} had ${project.keys.join(', ')}. ${retiredProjectAdvice(project)}`);
|
|
122
|
+
}
|
|
123
|
+
return lines;
|
|
124
|
+
}
|
|
125
|
+
//# sourceMappingURL=retired-project-settings.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"retired-project-settings.js","sourceRoot":"","sources":["../src/retired-project-settings.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { type BranchFileFs, type CommitMessage, type FileBranchWrite } from '@gemstack/agent-data';
|
|
2
|
+
/** How long a lock stands before whoever finds it may take it over: four hours, no heartbeat. */
|
|
3
|
+
export declare const ROUTINE_LOCK_TTL_MS: number;
|
|
4
|
+
/** The lock file for a routine, relative to the data branch root: `routines/triage-quick.lock.md`. */
|
|
5
|
+
export declare function routineLockPath(name: string): string;
|
|
6
|
+
/** Who holds a lock: the machine that minted it, and when. */
|
|
7
|
+
export interface RoutineLockHolder {
|
|
8
|
+
host: string;
|
|
9
|
+
/** ISO timestamp. */
|
|
10
|
+
since: string;
|
|
11
|
+
}
|
|
12
|
+
/** What a lock file holds: the claiming machine and the mint time, one line each. */
|
|
13
|
+
export declare function routineLockContent(holder: RoutineLockHolder): string;
|
|
14
|
+
/** The holder a lock file names, or undefined for content that is not a lock. */
|
|
15
|
+
export declare function routineLockHolder(md: string): RoutineLockHolder | undefined;
|
|
16
|
+
/** Injectable seams so every operation is unit-testable off disk and git. */
|
|
17
|
+
export interface RoutineLockDeps extends Partial<BranchFileFs> {
|
|
18
|
+
/** The data branch's write funnel (default the persistent checkout's cycle); a test's fake stands in. */
|
|
19
|
+
funnel?: (root: string, message: CommitMessage, op: (dir: string) => Promise<void>) => Promise<FileBranchWrite>;
|
|
20
|
+
log?: (message: string) => void;
|
|
21
|
+
/** The machine claiming the lock (default this host's name). */
|
|
22
|
+
host?: string;
|
|
23
|
+
now?: () => number;
|
|
24
|
+
}
|
|
25
|
+
/** What acquiring did: ours now, or standing down with the holder named, or the write failed. */
|
|
26
|
+
export type AcquireRoutineLockResult = {
|
|
27
|
+
ok: true;
|
|
28
|
+
} | {
|
|
29
|
+
ok: false;
|
|
30
|
+
reason: string;
|
|
31
|
+
};
|
|
32
|
+
/**
|
|
33
|
+
* Take the lock for `name` on the data branch, in one funneled cycle. An alive lock stands the
|
|
34
|
+
* caller down naming its holder; an expired one is taken over in the same commit. The funnel
|
|
35
|
+
* re-runs the op when a push loses a race, so a lock another machine minted meanwhile is found,
|
|
36
|
+
* not overwritten — and this machine's own lock seen again on the re-run is still ours.
|
|
37
|
+
*
|
|
38
|
+
* Never throws: this runs on a background tick with nothing to catch it.
|
|
39
|
+
*/
|
|
40
|
+
export declare function acquireRoutineLock(cwd: string, name: string, deps?: RoutineLockDeps): Promise<AcquireRoutineLockResult>;
|
|
41
|
+
/**
|
|
42
|
+
* Drop this machine's lock on `name`; a lock naming another machine is left alone. `true` when
|
|
43
|
+
* the lock is dealt with (freed, absent, or someone else's), `false` when the release could not
|
|
44
|
+
* commit, so the caller can retry.
|
|
45
|
+
*/
|
|
46
|
+
export declare function releaseRoutineLock(cwd: string, name: string, deps?: RoutineLockDeps): Promise<boolean>;
|
|
47
|
+
/**
|
|
48
|
+
* On boot (#1659): drop every lock this machine holds whose run is gone. The daemon that minted
|
|
49
|
+
* them is not the one booting, so nothing in memory will release them; `stillRunning` says
|
|
50
|
+
* whether a run of this machine's started since the lock was minted is still going.
|
|
51
|
+
*/
|
|
52
|
+
export declare function releaseDeadRoutineLocks(cwd: string, stillRunning: (since: string) => boolean, deps?: RoutineLockDeps): Promise<string[]>;
|
|
53
|
+
//# sourceMappingURL=routine-locks.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"routine-locks.d.ts","sourceRoot":"","sources":["../src/routine-locks.ts"],"names":[],"mappings":"AAEA,OAAO,EAAiD,KAAK,YAAY,EAAE,KAAK,aAAa,EAAE,KAAK,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAoBjJ,iGAAiG;AACjG,eAAO,MAAM,mBAAmB,QAAqB,CAAA;AAErD,sGAAsG;AACtG,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEpD;AAED,8DAA8D;AAC9D,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAA;IACZ,qBAAqB;IACrB,KAAK,EAAE,MAAM,CAAA;CACd;AAED,qFAAqF;AACrF,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,iBAAiB,GAAG,MAAM,CAEpE;AAED,iFAAiF;AACjF,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS,CAI3E;AAED,6EAA6E;AAC7E,MAAM,WAAW,eAAgB,SAAQ,OAAO,CAAC,YAAY,CAAC;IAC5D,yGAAyG;IACzG,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,EAAE,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,KAAK,OAAO,CAAC,eAAe,CAAC,CAAA;IAC/G,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;IAC/B,gEAAgE;IAChE,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,GAAG,CAAC,EAAE,MAAM,MAAM,CAAA;CACnB;AAsBD,iGAAiG;AACjG,MAAM,MAAM,wBAAwB,GAChC;IAAE,EAAE,EAAE,IAAI,CAAA;CAAE,GACZ;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAA;AAEjC;;;;;;;GAOG;AACH,wBAAsB,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,GAAE,eAAoB,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAyBjI;AAED;;;;GAIG;AACH,wBAAsB,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,GAAE,eAAoB,GAAG,OAAO,CAAC,OAAO,CAAC,CAWhH;AAED;;;;GAIG;AACH,wBAAsB,uBAAuB,CAC3C,GAAG,EAAE,MAAM,EACX,YAAY,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,EACxC,IAAI,GAAE,eAAoB,GACzB,OAAO,CAAC,MAAM,EAAE,CAAC,CAmBnB"}
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
import { hostname } from 'node:os';
|
|
2
|
+
import { join } from 'node:path';
|
|
3
|
+
import { DATA_BRANCH, nodeBranchFileFs, withFileBranch } from '@gemstack/agent-data';
|
|
4
|
+
// The "one triage at a time" guard (#1659): a `routines/<name>.lock.md` on the data branch.
|
|
5
|
+
//
|
|
6
|
+
// The pinned branch (#1293) was this guard before, and stopped being one: since #1644 a triage
|
|
7
|
+
// commits nothing on its branch, so the branch never reaches origin and guards nothing across
|
|
8
|
+
// machines, and locally it was a name the *agent* checked from its prompt — every false abort
|
|
9
|
+
// spent a started agent. The lock is the ticket claim (#1420) applied to a routine: minted by the
|
|
10
|
+
// sweep through the data branch's write funnel before the run starts, so the daemon decides and no
|
|
11
|
+
// agent is started to find out, and read by every machine that shares `agent-data`.
|
|
12
|
+
//
|
|
13
|
+
// Release is the daemon's, not a PR's: a triage never opens one. The daemon that minted a lock
|
|
14
|
+
// drops it when the run ends, whatever the ending, and on boot for any it holds whose run is
|
|
15
|
+
// gone — so a crash on this machine frees the routine at once. A lock another machine left
|
|
16
|
+
// behind counts as dead after {@link ROUTINE_LOCK_TTL_MS}, fixed: a triage over hundreds of
|
|
17
|
+
// tickets can take hours, and a heartbeat would cost code and `agent-data` churn.
|
|
18
|
+
/** Where routine state lives on the data branch, beside the skills' files; only the lock files, for now (#1660). */
|
|
19
|
+
const ROUTINES_DIR = 'routines';
|
|
20
|
+
/** How long a lock stands before whoever finds it may take it over: four hours, no heartbeat. */
|
|
21
|
+
export const ROUTINE_LOCK_TTL_MS = 4 * 60 * 60 * 1000;
|
|
22
|
+
/** The lock file for a routine, relative to the data branch root: `routines/triage-quick.lock.md`. */
|
|
23
|
+
export function routineLockPath(name) {
|
|
24
|
+
return `${ROUTINES_DIR}/${name}.lock.md`;
|
|
25
|
+
}
|
|
26
|
+
/** What a lock file holds: the claiming machine and the mint time, one line each. */
|
|
27
|
+
export function routineLockContent(holder) {
|
|
28
|
+
return `CLAIMED: ${holder.host}\nSINCE: ${holder.since}\n`;
|
|
29
|
+
}
|
|
30
|
+
/** The holder a lock file names, or undefined for content that is not a lock. */
|
|
31
|
+
export function routineLockHolder(md) {
|
|
32
|
+
const host = /^CLAIMED:[ \t]*(.+)$/m.exec(md)?.[1]?.trim();
|
|
33
|
+
const since = /^SINCE:[ \t]*(.+)$/m.exec(md)?.[1]?.trim();
|
|
34
|
+
return host && since ? { host, since } : undefined;
|
|
35
|
+
}
|
|
36
|
+
function resolve(deps) {
|
|
37
|
+
const fs = nodeBranchFileFs();
|
|
38
|
+
return {
|
|
39
|
+
read: deps.read ?? fs.read,
|
|
40
|
+
write: deps.write ?? fs.write,
|
|
41
|
+
remove: deps.remove ?? fs.remove,
|
|
42
|
+
list: deps.list ?? fs.list,
|
|
43
|
+
funnel: deps.funnel ?? ((root, message, op) => withFileBranch(root, DATA_BRANCH, message, op)),
|
|
44
|
+
log: deps.log ?? (() => { }),
|
|
45
|
+
host: deps.host ?? hostname(),
|
|
46
|
+
now: deps.now ?? (() => Date.now()),
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
/** Whether a lock is past its fixed expiry, as of `now`. An unparseable mint time counts as expired. */
|
|
50
|
+
function routineLockExpired(holder, now) {
|
|
51
|
+
const since = Date.parse(holder.since);
|
|
52
|
+
return !Number.isFinite(since) || now - since >= ROUTINE_LOCK_TTL_MS;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Take the lock for `name` on the data branch, in one funneled cycle. An alive lock stands the
|
|
56
|
+
* caller down naming its holder; an expired one is taken over in the same commit. The funnel
|
|
57
|
+
* re-runs the op when a push loses a race, so a lock another machine minted meanwhile is found,
|
|
58
|
+
* not overwritten — and this machine's own lock seen again on the re-run is still ours.
|
|
59
|
+
*
|
|
60
|
+
* Never throws: this runs on a background tick with nothing to catch it.
|
|
61
|
+
*/
|
|
62
|
+
export async function acquireRoutineLock(cwd, name, deps = {}) {
|
|
63
|
+
const r = resolve(deps);
|
|
64
|
+
const mine = { host: r.host, since: new Date(r.now()).toISOString() };
|
|
65
|
+
let held;
|
|
66
|
+
const result = await r.funnel(cwd, `[The Framework] lock the ${name} routine`, async (dataDir) => {
|
|
67
|
+
held = undefined;
|
|
68
|
+
const path = join(dataDir, routineLockPath(name));
|
|
69
|
+
const holder = routineLockHolder(await r.read(path).catch(() => ''));
|
|
70
|
+
// This call's own claim, seen again when the funnel re-runs the op: still ours. Any other
|
|
71
|
+
// alive lock — another machine's, or this machine's from a run still going — stands us down.
|
|
72
|
+
if (holder?.host === mine.host && holder.since === mine.since)
|
|
73
|
+
return;
|
|
74
|
+
if (holder && !routineLockExpired(holder, r.now())) {
|
|
75
|
+
held = holder;
|
|
76
|
+
return;
|
|
77
|
+
}
|
|
78
|
+
await r.write(path, routineLockContent(mine));
|
|
79
|
+
});
|
|
80
|
+
if (held)
|
|
81
|
+
return { ok: false, reason: `${name} is already running on ${held.host} (since ${held.since})` };
|
|
82
|
+
if (!result.ok && !result.committed)
|
|
83
|
+
return { ok: false, reason: `the ${name} lock could not be committed (${result.error})` };
|
|
84
|
+
if (!result.ok)
|
|
85
|
+
r.log(`[framework] routine locks: the ${name} lock could not be pushed, so other machines cannot see it`);
|
|
86
|
+
return { ok: true };
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Drop this machine's lock on `name`; a lock naming another machine is left alone. `true` when
|
|
90
|
+
* the lock is dealt with (freed, absent, or someone else's), `false` when the release could not
|
|
91
|
+
* commit, so the caller can retry.
|
|
92
|
+
*/
|
|
93
|
+
export async function releaseRoutineLock(cwd, name, deps = {}) {
|
|
94
|
+
const r = resolve(deps);
|
|
95
|
+
const result = await r.funnel(cwd, `[The Framework] release the ${name} routine`, async (dataDir) => {
|
|
96
|
+
const path = join(dataDir, routineLockPath(name));
|
|
97
|
+
if (routineLockHolder(await r.read(path).catch(() => ''))?.host === r.host)
|
|
98
|
+
await r.remove(path);
|
|
99
|
+
});
|
|
100
|
+
return result.ok || result.committed;
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* On boot (#1659): drop every lock this machine holds whose run is gone. The daemon that minted
|
|
104
|
+
* them is not the one booting, so nothing in memory will release them; `stillRunning` says
|
|
105
|
+
* whether a run of this machine's started since the lock was minted is still going.
|
|
106
|
+
*/
|
|
107
|
+
export async function releaseDeadRoutineLocks(cwd, stillRunning, deps = {}) {
|
|
108
|
+
const r = resolve(deps);
|
|
109
|
+
let released = [];
|
|
110
|
+
const result = await r.funnel(cwd, () => `[The Framework] release ${released.length} routine lock${released.length === 1 ? '' : 's'} left by a previous daemon`, async (dataDir) => {
|
|
111
|
+
released = [];
|
|
112
|
+
for (const file of await r.list(join(dataDir, ROUTINES_DIR))) {
|
|
113
|
+
const name = /^(.+)\.lock\.md$/.exec(file)?.[1];
|
|
114
|
+
if (!name)
|
|
115
|
+
continue;
|
|
116
|
+
const holder = routineLockHolder(await r.read(join(dataDir, ROUTINES_DIR, file)).catch(() => ''));
|
|
117
|
+
if (holder?.host !== r.host || stillRunning(holder.since))
|
|
118
|
+
continue;
|
|
119
|
+
await r.remove(join(dataDir, ROUTINES_DIR, file));
|
|
120
|
+
released.push(name);
|
|
121
|
+
}
|
|
122
|
+
});
|
|
123
|
+
return result.ok || result.committed ? released : [];
|
|
124
|
+
}
|
|
125
|
+
//# sourceMappingURL=routine-locks.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"routine-locks.js","sourceRoot":"","sources":["../src/routine-locks.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { type CreateDriverOptions } from './agent.js';
|
|
2
|
+
import { type ActionsDriverOptions, type CloudDriverOptions, type Driver } from './driver/index.js';
|
|
3
|
+
/**
|
|
4
|
+
* Build the {@link Driver} for a run's *target* (#1050): where the turn runs, on top of the agent
|
|
5
|
+
* axis {@link createDriver} owns. `actions` returns an {@link ActionsDriver} (#934) built from the
|
|
6
|
+
* resolved owner/repo/token; `web` returns a {@link CloudDriver} (#610), which hands the task to a
|
|
7
|
+
* Claude Code cloud session; anything else falls through to the local agent driver — byte-identical
|
|
8
|
+
* to today.
|
|
9
|
+
*
|
|
10
|
+
* Kept off {@link createDriver} on purpose: ActionsDriver's owner/repo/token do not fit
|
|
11
|
+
* {@link CreateDriverOptions}, and folding them in would push GitHub config onto every local run.
|
|
12
|
+
*/
|
|
13
|
+
export interface CreateRunDriverOptions extends CreateDriverOptions {
|
|
14
|
+
/**
|
|
15
|
+
* Where the run executes: `local` (this device, the default), `actions` (a GitHub Actions
|
|
16
|
+
* runner, #1050) or `web` (a Claude Code cloud session, #610).
|
|
17
|
+
*/
|
|
18
|
+
target?: 'local' | 'actions' | 'web';
|
|
19
|
+
/** The Actions runner config, required when {@link target} is `actions`. */
|
|
20
|
+
actionsConfig?: ActionsDriverOptions;
|
|
21
|
+
/** The cloud-session config used when {@link target} is `web`. Every field has a default. */
|
|
22
|
+
cloudConfig?: CloudDriverOptions;
|
|
23
|
+
}
|
|
24
|
+
/** The one place a run path turns `--run-on` into a real driver. */
|
|
25
|
+
export declare function createRunDriver(opts: CreateRunDriverOptions): Driver;
|
|
26
|
+
//# sourceMappingURL=run-driver.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run-driver.d.ts","sourceRoot":"","sources":["../src/run-driver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,mBAAmB,EAAE,MAAM,YAAY,CAAA;AACnE,OAAO,EAA8B,KAAK,oBAAoB,EAAE,KAAK,kBAAkB,EAAE,KAAK,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAE/H;;;;;;;;;GASG;AACH,MAAM,WAAW,sBAAuB,SAAQ,mBAAmB;IACjE;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,GAAG,SAAS,GAAG,KAAK,CAAA;IACpC,4EAA4E;IAC5E,aAAa,CAAC,EAAE,oBAAoB,CAAA;IACpC,6FAA6F;IAC7F,WAAW,CAAC,EAAE,kBAAkB,CAAA;CACjC;AAED,oEAAoE;AACpE,wBAAgB,eAAe,CAAC,IAAI,EAAE,sBAAsB,GAAG,MAAM,CAWpE"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { createDriver } from './agent.js';
|
|
2
|
+
import { ActionsDriver, CloudDriver } from './driver/index.js';
|
|
3
|
+
/** The one place a run path turns `--run-on` into a real driver. */
|
|
4
|
+
export function createRunDriver(opts) {
|
|
5
|
+
if (opts.target === 'actions') {
|
|
6
|
+
if (!opts.actionsConfig) {
|
|
7
|
+
throw new Error('run target "actions" needs the repo owner/repo and a GitHub token; set a GitHub origin remote and GH_TOKEN');
|
|
8
|
+
}
|
|
9
|
+
return new ActionsDriver(opts.actionsConfig);
|
|
10
|
+
}
|
|
11
|
+
// `web` needs no configuration of ours: the CLI already holds the account it signs the
|
|
12
|
+
// cloud session in with, the same auth the local driver runs on.
|
|
13
|
+
if (opts.target === 'web')
|
|
14
|
+
return new CloudDriver(opts.cloudConfig ?? {});
|
|
15
|
+
return createDriver(opts);
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=run-driver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run-driver.js","sourceRoot":"","sources":["../src/run-driver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAA4B,MAAM,YAAY,CAAA;AACnE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAmE,MAAM,mBAAmB,CAAA;AAwB/H,oEAAoE;AACpE,MAAM,UAAU,eAAe,CAAC,IAA4B;IAC1D,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAC9B,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,4GAA4G,CAAC,CAAA;QAC/H,CAAC;QACD,OAAO,IAAI,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;IAC9C,CAAC;IACD,uFAAuF;IACvF,iEAAiE;IACjE,IAAI,IAAI,CAAC,MAAM,KAAK,KAAK;QAAE,OAAO,IAAI,WAAW,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC,CAAA;IACzE,OAAO,YAAY,CAAC,IAAI,CAAC,CAAA;AAC3B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run-locks.d.ts","sourceRoot":"","sources":["../src/run-locks.ts"],"names":[],"mappings":"AAuBA,2EAA2E;AAC3E,wBAAsB,WAAW,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAgBvF"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { resolve } from 'node:path';
|
|
2
|
+
/**
|
|
3
|
+
* Serialize everything that mutates one run's checkout.
|
|
4
|
+
*
|
|
5
|
+
* A run's meta flips to `done` the moment its child writes it — a beat before the daemon's
|
|
6
|
+
* teardown archives the history, commits the bookkeeping to the run branch, and retires the
|
|
7
|
+
* worktree. Every run-addressed action a user can fire off that fresh `done` (Push / Open PR's
|
|
8
|
+
* commit step, Remove/Delete of the checkout, a Resume that reuses it) used to run its own git
|
|
9
|
+
* against the same checkout teardown was committing in: the loser reported "could not commit the
|
|
10
|
+
* work this session left uncommitted", and a teardown that lost kept a worktree it should have
|
|
11
|
+
* removed. Both actors live in the daemon process by design (the dashboard's RPCs are served
|
|
12
|
+
* in-process, and only the daemon writes to the project checkout), so an in-process lock is the
|
|
13
|
+
* whole fix — there is no second process to coordinate with.
|
|
14
|
+
*
|
|
15
|
+
* Keyed by the checkout path, resolved: teardown and the actions all name the same worktree, so
|
|
16
|
+
* they contend on one key; actions against a run whose worktree is already gone key on the
|
|
17
|
+
* project root, where nothing contends. A waiter chains on the predecessor's *settlement* — a
|
|
18
|
+
* failed teardown must not skip the push waiting behind it — and each caller still gets its own
|
|
19
|
+
* outcome (or failure) back untouched.
|
|
20
|
+
*/
|
|
21
|
+
const chains = new Map();
|
|
22
|
+
/** Run `fn` once every earlier holder of `checkout`'s lock has settled. */
|
|
23
|
+
export async function withRunLock(checkout, fn) {
|
|
24
|
+
const key = resolve(checkout);
|
|
25
|
+
const prev = chains.get(key) ?? Promise.resolve();
|
|
26
|
+
const run = prev.then(fn, fn);
|
|
27
|
+
// What the next waiter chains on: settlement, never rejection — one failed holder must not
|
|
28
|
+
// poison every later acquisition of the same key.
|
|
29
|
+
const settled = run.then(() => { }, () => { });
|
|
30
|
+
chains.set(key, settled);
|
|
31
|
+
try {
|
|
32
|
+
return await run;
|
|
33
|
+
}
|
|
34
|
+
finally {
|
|
35
|
+
if (chains.get(key) === settled)
|
|
36
|
+
chains.delete(key);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=run-locks.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"run-locks.js","sourceRoot":"","sources":["../src/run-locks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAEnC;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,MAAM,GAAG,IAAI,GAAG,EAA4B,CAAA;AAElD,2EAA2E;AAC3E,MAAM,CAAC,KAAK,UAAU,WAAW,CAAI,QAAgB,EAAE,EAAoB;IACzE,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;IAC7B,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,CAAA;IACjD,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;IAC7B,2FAA2F;IAC3F,kDAAkD;IAClD,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,CACtB,GAAG,EAAE,GAAE,CAAC,EACR,GAAG,EAAE,GAAE,CAAC,CACT,CAAA;IACD,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;IACxB,IAAI,CAAC;QACH,OAAO,MAAM,GAAG,CAAA;IAClB,CAAC;YAAS,CAAC;QACT,IAAI,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,OAAO;YAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;IACrD,CAAC;AACH,CAAC"}
|