@openagt/dashboard 0.0.0-stage → 0.9.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-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-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-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/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-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/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 +38 -0
- package/dist/built-in.d.ts.map +1 -0
- package/dist/built-in.js +119 -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/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/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/daemon-runtime.d.ts +42 -0
- package/dist/daemon-runtime.d.ts.map +1 -0
- package/dist/daemon-runtime.js +183 -0
- package/dist/daemon-runtime.js.map +1 -0
- package/dist/daemon-services.d.ts +37 -0
- package/dist/daemon-services.d.ts.map +1 -0
- package/dist/daemon-services.js +126 -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.d.ts +65 -0
- package/dist/daemon.d.ts.map +1 -0
- package/dist/daemon.js +202 -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/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/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/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/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/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 +101 -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 +106 -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-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/server.d.ts +105 -0
- package/dist/dashboard/server.d.ts.map +1 -0
- package/dist/dashboard/server.js +231 -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/types.d.ts +135 -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-bundle/assets/client-CbBRB9m4.js +9 -0
- package/dist/dashboard-bundle/assets/jsx-runtime-By8HlURe.js +1 -0
- package/dist/dashboard-bundle/assets/main-B98UOA3_.js +140 -0
- package/dist/dashboard-bundle/assets/main-ByRjbCiA.css +2 -0
- package/dist/dashboard-bundle/assets/module-v213KWfH.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-rpc/context.d.ts +56 -0
- package/dist/dashboard-rpc/context.d.ts.map +1 -0
- package/dist/dashboard-rpc/context.js +106 -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/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/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/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 +45 -0
- package/dist/dashboard-rpc/modules.d.ts.map +1 -0
- package/dist/dashboard-rpc/modules.js +79 -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/projects.d.ts +85 -0
- package/dist/dashboard-rpc/projects.d.ts.map +1 -0
- package/dist/dashboard-rpc/projects.js +129 -0
- package/dist/dashboard-rpc/projects.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/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/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/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/test-context.d.ts +23 -0
- package/dist/dashboard-rpc/test-context.d.ts.map +1 -0
- package/dist/dashboard-rpc/test-context.js +43 -0
- package/dist/dashboard-rpc/test-context.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/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/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/index.d.ts +42 -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 +31 -0
- package/dist/install.d.ts.map +1 -0
- package/dist/install.js +54 -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/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/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 +38 -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 +79 -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 +37 -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/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/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 +100 -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 +105 -0
- package/dist/module-types/src/dashboard/run-inbox.d.ts +30 -0
- package/dist/module-types/src/dashboard/types.d.ts +134 -0
- package/dist/module-types/src/dashboard-rpc/context.d.ts +55 -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 +44 -0
- package/dist/module-types/src/dashboard-rpc/preferences.d.ts +40 -0
- package/dist/module-types/src/dashboard-rpc/projects.d.ts +84 -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/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/has-remote.d.ts +7 -0
- package/dist/module-types/src/index.d.ts +41 -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/openagent-dir.d.ts +10 -0
- package/dist/module-types/src/openagent-gitignore.d.ts +11 -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 +59 -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 +226 -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/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/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/openagent-dir.d.ts +11 -0
- package/dist/openagent-dir.d.ts.map +1 -0
- package/dist/openagent-dir.js +11 -0
- package/dist/openagent-dir.js.map +1 -0
- package/dist/openagent-gitignore.d.ts +12 -0
- package/dist/openagent-gitignore.d.ts.map +1 -0
- package/dist/openagent-gitignore.js +19 -0
- package/dist/openagent-gitignore.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/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/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 +60 -0
- package/dist/project-errors.d.ts.map +1 -0
- package/dist/project-errors.js +51 -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.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/publish-levels.d.ts +33 -0
- package/dist/publish-levels.d.ts.map +1 -0
- package/dist/publish-levels.js +53 -0
- package/dist/publish-levels.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 +227 -0
- package/dist/registry.d.ts.map +1 -0
- package/dist/registry.js +364 -0
- package/dist/registry.js.map +1 -0
- package/dist/remove-files.d.ts +24 -0
- package/dist/remove-files.d.ts.map +1 -0
- package/dist/remove-files.js +98 -0
- package/dist/remove-files.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/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/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-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/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/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/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/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/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,41 @@
|
|
|
1
|
+
import { type EditorInfo } from '../dashboard/open-in-app.js';
|
|
2
|
+
import type { CustomPreset, Preferences } from '../registry.js';
|
|
3
|
+
/** The outcome of a {@link savePreferences} write. */
|
|
4
|
+
export type SavePreferencesResult = {
|
|
5
|
+
ok: true;
|
|
6
|
+
} | {
|
|
7
|
+
ok: false;
|
|
8
|
+
error: string;
|
|
9
|
+
};
|
|
10
|
+
/** The user's stored dashboard preferences, or `{}` when the read fails. */
|
|
11
|
+
export declare function onPreferences(): Promise<Preferences>;
|
|
12
|
+
/** Persist the dashboard preferences (sanitized in the store). */
|
|
13
|
+
export declare function savePreferences(preferences: Preferences): Promise<SavePreferencesResult>;
|
|
14
|
+
/** The outcome of a patch write (#1148): the stored result, so the caller can adopt it. */
|
|
15
|
+
export type PatchPreferencesResult<T> = {
|
|
16
|
+
ok: true;
|
|
17
|
+
preferences: T;
|
|
18
|
+
} | {
|
|
19
|
+
ok: false;
|
|
20
|
+
error: string;
|
|
21
|
+
};
|
|
22
|
+
/**
|
|
23
|
+
* Merge the keys the caller changed into the stored preferences (#1148), and hand back what is
|
|
24
|
+
* now stored. The write half of the fix for a stale tab reverting settings it never touched:
|
|
25
|
+
* {@link savePreferences} replaces the whole block, so a client's snapshot overwrote whatever
|
|
26
|
+
* anyone else had changed since it loaded. Returning the merged result also lets the caller
|
|
27
|
+
* adopt the truth it just wrote against, so a tab converges instead of staying stale.
|
|
28
|
+
*/
|
|
29
|
+
export declare function patchPreferences(patch: Preferences): Promise<PatchPreferencesResult<Preferences>>;
|
|
30
|
+
/**
|
|
31
|
+
* A project's shared custom presets (#1025), committed into its `.openagent/` so they travel
|
|
32
|
+
* with the repo — the team-shared counterpart to the user-tier {@link onPreferences} presets. Read
|
|
33
|
+
* from the project's own checkout, so this resolves the project id to its workspace path rather than
|
|
34
|
+
* touching the home registry. `[]` for an unknown project.
|
|
35
|
+
*/
|
|
36
|
+
export declare function onProjectPresets(projectId: string): Promise<CustomPreset[]>;
|
|
37
|
+
/** Persist a project's shared custom presets into its `.openagent/` (#1025). */
|
|
38
|
+
export declare function saveProjectPresets(projectId: string, presets: CustomPreset[]): Promise<SavePreferencesResult>;
|
|
39
|
+
/** The editors installed on this server (#727), for the "Preferred editor" picker. */
|
|
40
|
+
export declare function onEditors(): Promise<EditorInfo[]>;
|
|
41
|
+
//# sourceMappingURL=preferences.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"preferences.d.ts","sourceRoot":"","sources":["../../src/dashboard-rpc/preferences.ts"],"names":[],"mappings":"AACA,OAAO,EAAiB,KAAK,UAAU,EAAE,MAAM,6BAA6B,CAAA;AAE5E,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAQ/D,sDAAsD;AACtD,MAAM,MAAM,qBAAqB,GAAG;IAAE,EAAE,EAAE,IAAI,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAA;AAE/E,4EAA4E;AAC5E,wBAAsB,aAAa,IAAI,OAAO,CAAC,WAAW,CAAC,CAE1D;AAED,kEAAkE;AAClE,wBAAsB,eAAe,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAS9F;AAED,2FAA2F;AAC3F,MAAM,MAAM,sBAAsB,CAAC,CAAC,IAAI;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,WAAW,EAAE,CAAC,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAA;AAEnG;;;;;;GAMG;AACH,wBAAsB,gBAAgB,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,sBAAsB,CAAC,WAAW,CAAC,CAAC,CAOvG;AAED;;;;;GAKG;AACH,wBAAsB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAIjF;AAED,gFAAgF;AAChF,wBAAsB,kBAAkB,CACtC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,YAAY,EAAE,GACtB,OAAO,CAAC,qBAAqB,CAAC,CAShC;AAED,sFAAsF;AACtF,wBAAsB,SAAS,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC,CAEvD"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { contextPreferences, resolveProjectPath } from './context.js';
|
|
2
|
+
import { detectEditors } from '../dashboard/open-in-app.js';
|
|
3
|
+
import { readProjectPresets, writeProjectPresets } from '../project-presets.js';
|
|
4
|
+
/** The user's stored dashboard preferences, or `{}` when the read fails. */
|
|
5
|
+
export async function onPreferences() {
|
|
6
|
+
return contextPreferences().read().catch(() => ({}));
|
|
7
|
+
}
|
|
8
|
+
/** Persist the dashboard preferences (sanitized in the store). */
|
|
9
|
+
export async function savePreferences(preferences) {
|
|
10
|
+
// A failed write returns the advertised typed error rather than rejecting the RPC, so the
|
|
11
|
+
// client renders it instead of losing the save to an exception it cannot read.
|
|
12
|
+
try {
|
|
13
|
+
await contextPreferences().save(preferences);
|
|
14
|
+
return { ok: true };
|
|
15
|
+
}
|
|
16
|
+
catch {
|
|
17
|
+
return { ok: false, error: 'failed to save preferences' };
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Merge the keys the caller changed into the stored preferences (#1148), and hand back what is
|
|
22
|
+
* now stored. The write half of the fix for a stale tab reverting settings it never touched:
|
|
23
|
+
* {@link savePreferences} replaces the whole block, so a client's snapshot overwrote whatever
|
|
24
|
+
* anyone else had changed since it loaded. Returning the merged result also lets the caller
|
|
25
|
+
* adopt the truth it just wrote against, so a tab converges instead of staying stale.
|
|
26
|
+
*/
|
|
27
|
+
export async function patchPreferences(patch) {
|
|
28
|
+
// Typed error rather than a rejection, like `savePreferences` — one shape for every failure.
|
|
29
|
+
try {
|
|
30
|
+
return { ok: true, preferences: await contextPreferences().patch(patch) };
|
|
31
|
+
}
|
|
32
|
+
catch {
|
|
33
|
+
return { ok: false, error: 'failed to save preferences' };
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* A project's shared custom presets (#1025), committed into its `.openagent/` so they travel
|
|
38
|
+
* with the repo — the team-shared counterpart to the user-tier {@link onPreferences} presets. Read
|
|
39
|
+
* from the project's own checkout, so this resolves the project id to its workspace path rather than
|
|
40
|
+
* touching the home registry. `[]` for an unknown project.
|
|
41
|
+
*/
|
|
42
|
+
export async function onProjectPresets(projectId) {
|
|
43
|
+
const cwd = await resolveProjectPath(projectId);
|
|
44
|
+
if (!cwd)
|
|
45
|
+
return [];
|
|
46
|
+
return readProjectPresets(cwd).catch(() => []);
|
|
47
|
+
}
|
|
48
|
+
/** Persist a project's shared custom presets into its `.openagent/` (#1025). */
|
|
49
|
+
export async function saveProjectPresets(projectId, presets) {
|
|
50
|
+
const cwd = await resolveProjectPath(projectId);
|
|
51
|
+
if (!cwd)
|
|
52
|
+
return { ok: false, error: 'unknown project' };
|
|
53
|
+
try {
|
|
54
|
+
await writeProjectPresets(cwd, presets);
|
|
55
|
+
return { ok: true };
|
|
56
|
+
}
|
|
57
|
+
catch {
|
|
58
|
+
return { ok: false, error: 'failed to save presets' };
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
/** The editors installed on this server (#727), for the "Preferred editor" picker. */
|
|
62
|
+
export async function onEditors() {
|
|
63
|
+
return detectEditors().catch(() => []);
|
|
64
|
+
}
|
|
65
|
+
//# sourceMappingURL=preferences.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"preferences.js","sourceRoot":"","sources":["../../src/dashboard-rpc/preferences.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AACrE,OAAO,EAAE,aAAa,EAAmB,MAAM,6BAA6B,CAAA;AAC5E,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAY/E,4EAA4E;AAC5E,MAAM,CAAC,KAAK,UAAU,aAAa;IACjC,OAAO,kBAAkB,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;AACtD,CAAC;AAED,kEAAkE;AAClE,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,WAAwB;IAC5D,0FAA0F;IAC1F,+EAA+E;IAC/E,IAAI,CAAC;QACH,MAAM,kBAAkB,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;QAC5C,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAA;IACrB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,4BAA4B,EAAE,CAAA;IAC3D,CAAC;AACH,CAAC;AAKD;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,KAAkB;IACvD,6FAA6F;IAC7F,IAAI,CAAC;QACH,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,kBAAkB,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAA;IAC3E,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,4BAA4B,EAAE,CAAA;IAC3D,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,SAAiB;IACtD,MAAM,GAAG,GAAG,MAAM,kBAAkB,CAAC,SAAS,CAAC,CAAA;IAC/C,IAAI,CAAC,GAAG;QAAE,OAAO,EAAE,CAAA;IACnB,OAAO,kBAAkB,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAA;AAChD,CAAC;AAED,gFAAgF;AAChF,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,SAAiB,EACjB,OAAuB;IAEvB,MAAM,GAAG,GAAG,MAAM,kBAAkB,CAAC,SAAS,CAAC,CAAA;IAC/C,IAAI,CAAC,GAAG;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,iBAAiB,EAAE,CAAA;IACxD,IAAI,CAAC;QACH,MAAM,mBAAmB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;QACvC,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAA;IACrB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,wBAAwB,EAAE,CAAA;IACvD,CAAC;AACH,CAAC;AAED,sFAAsF;AACtF,MAAM,CAAC,KAAK,UAAU,SAAS;IAC7B,OAAO,aAAa,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAA;AACxC,CAAC"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { type ProjectCommand } from '../project-commands.js';
|
|
2
|
+
import { type BranchReach } from '@openagt/agent-data';
|
|
3
|
+
import { type StartReadiness } from '../project-hooks.js';
|
|
4
|
+
import { type PickDirectoryResult } from '../pick-directory.js';
|
|
5
|
+
import type { ProjectSummary } from '../dashboard/projects.js';
|
|
6
|
+
import type { AddProjectResult, OnboardingSuggestion, RemoveProjectResult } from '../dashboard/types.js';
|
|
7
|
+
export declare function onProjects(): Promise<ProjectSummary[]>;
|
|
8
|
+
/**
|
|
9
|
+
* Add a project from the dashboard (#396/#433): install the repo and register it so it joins the
|
|
10
|
+
* Projects list. Like `sendStart` this needs the daemon (it spawns git + writes the shared
|
|
11
|
+
* registry), so it calls the daemon's own `addProject` closure off the wired dashboard context.
|
|
12
|
+
* Returns the daemon's {@link AddProjectResult}.
|
|
13
|
+
*
|
|
14
|
+
* `share` is the person's answer, asked before the add: whether the agents' records may go to the
|
|
15
|
+
* repository's remote. Nothing is pushed for a project added with `false`.
|
|
16
|
+
*/
|
|
17
|
+
export declare function sendAddProject(path: string, share: boolean): Promise<AddProjectResult>;
|
|
18
|
+
/**
|
|
19
|
+
* Remove a project from the dashboard: it leaves the Projects list. Nothing in its folder is
|
|
20
|
+
* deleted unless `files` is true: then what OpenAgent left there is removed too, and the answer
|
|
21
|
+
* says what went and what stayed. Like `sendAddProject` this is the daemon's to do (it runs the project's close hooks and
|
|
22
|
+
* writes the shared registry), so it calls the daemon's own closure off the wired dashboard context.
|
|
23
|
+
* Addressed by id and not by path, so a project whose folder is gone can still be removed.
|
|
24
|
+
*/
|
|
25
|
+
export declare function sendRemoveProject(projectId: string, files: boolean): Promise<RemoveProjectResult>;
|
|
26
|
+
/** How far the project's records reach right now, read off its repository; `null` when the project is unknown here. */
|
|
27
|
+
export declare function onRecordsReach(projectId: string): Promise<BranchReach | null>;
|
|
28
|
+
/**
|
|
29
|
+
* The person's switch: share the project's records with its remote, or keep them on this machine.
|
|
30
|
+
* Turning it on sends what is there now, so a remote that refuses is said at once, and the switch
|
|
31
|
+
* goes back to off: the records stay where they were. A project with no remote has nothing to
|
|
32
|
+
* share with, and is refused.
|
|
33
|
+
*/
|
|
34
|
+
export declare function sendShareRecords(projectId: string, on: boolean): Promise<{
|
|
35
|
+
ok: true;
|
|
36
|
+
} | {
|
|
37
|
+
ok: false;
|
|
38
|
+
error: string;
|
|
39
|
+
}>;
|
|
40
|
+
/**
|
|
41
|
+
* Open the OS folder picker on the daemon's machine and wait for the user's choice (#1150). The
|
|
42
|
+
* browser cannot learn an absolute path from any picker of its own, and the daemon — which runs on
|
|
43
|
+
* the machine the user is sitting at — can, so the dialog is the daemon's. A dismissed dialog
|
|
44
|
+
* comes back as `path: null`.
|
|
45
|
+
*/
|
|
46
|
+
export declare function sendPickProjectDirectory(): Promise<PickDirectoryResult>;
|
|
47
|
+
/**
|
|
48
|
+
* The Onboarding checklist's one server-side fact (#958): the directory this server runs in,
|
|
49
|
+
* so the first step can offer "Add {cwd} as project" without the user typing a path.
|
|
50
|
+
*/
|
|
51
|
+
export declare function onOnboarding(): Promise<OnboardingSuggestion>;
|
|
52
|
+
/** What the launcher offers for a project: its commands, and whether a run can be started here at all. */
|
|
53
|
+
export interface ProjectLauncher {
|
|
54
|
+
commands: ProjectCommand[];
|
|
55
|
+
/** Whether the project's `.openagent/hooks.yml` has a `start` line; without one Start is off. */
|
|
56
|
+
startHook: boolean;
|
|
57
|
+
/** Whether one of the project's packages provides a git host; without one no pull request can be opened, so the publish menu stops at the branch. */
|
|
58
|
+
gitHost: boolean;
|
|
59
|
+
/** Whether the project's repository has an `origin` remote; without one nothing can be published, so the publish menu stops at the commit. */
|
|
60
|
+
remote: boolean;
|
|
61
|
+
/**
|
|
62
|
+
* The two branches an agent can start from here, for the launcher's "start from" chip: `main`,
|
|
63
|
+
* the name of origin's default branch, and `local`, the branch the project's folder is on now.
|
|
64
|
+
* Absent where the pick could not be obeyed or has nothing to pick between: the start line does
|
|
65
|
+
* not pass `BASE` on, the repository has no remote, or the folder is on no branch.
|
|
66
|
+
*/
|
|
67
|
+
startFrom?: {
|
|
68
|
+
main: string;
|
|
69
|
+
local: string;
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* The project's commands (#1774), read off its skills folders, whether it has a start hook, whether
|
|
74
|
+
* it has a git host, and the branches an agent can start from. `null` when the project is unknown here.
|
|
75
|
+
*/
|
|
76
|
+
export declare function onCommands(projectId: string): Promise<ProjectLauncher | null>;
|
|
77
|
+
/**
|
|
78
|
+
* What would stop a run in this project before it spends a checkout, said in the launcher before
|
|
79
|
+
* the Start: the project's `check` hook, given the coding agent picked. A missing CLI or a
|
|
80
|
+
* logged-out one is a problem the run itself would refuse on; a warning is said and blocks nothing.
|
|
81
|
+
* A check line that fails is said as a warning: it is a broken check, not a reason to stop.
|
|
82
|
+
* `null` for an unknown project or one without a check hook: nothing to say.
|
|
83
|
+
*/
|
|
84
|
+
export declare function onStartCheck(projectId: string, driver?: string): Promise<StartReadiness | null>;
|
|
85
|
+
//# sourceMappingURL=projects.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"projects.d.ts","sourceRoot":"","sources":["../../src/dashboard-rpc/projects.ts"],"names":[],"mappings":"AACA,OAAO,EAAuB,KAAK,cAAc,EAAE,MAAM,wBAAwB,CAAA;AACjF,OAAO,EAA+E,KAAK,WAAW,EAAE,MAAM,qBAAqB,CAAA;AACnI,OAAO,EAAsD,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAI7G,OAAO,EAAiB,KAAK,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AAE9E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AAC9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAYxG,wBAAsB,UAAU,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC,CAM5D;AAED;;;;;;;;GAQG;AACH,wBAAsB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAM5F;AAED;;;;;;GAMG;AACH,wBAAsB,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAIvG;AAED,uHAAuH;AACvH,wBAAsB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAGnF;AAED;;;;;GAKG;AACH,wBAAsB,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,GAAG,OAAO,CAAC;IAAE,EAAE,EAAE,IAAI,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAU3H;AAED;;;;;GAKG;AACH,wBAAsB,wBAAwB,IAAI,OAAO,CAAC,mBAAmB,CAAC,CAE7E;AAED;;;GAGG;AACH,wBAAsB,YAAY,IAAI,OAAO,CAAC,oBAAoB,CAAC,CAIlE;AAED,0GAA0G;AAC1G,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,cAAc,EAAE,CAAA;IAC1B,iGAAiG;IACjG,SAAS,EAAE,OAAO,CAAA;IAClB,qJAAqJ;IACrJ,OAAO,EAAE,OAAO,CAAA;IAChB,8IAA8I;IAC9I,MAAM,EAAE,OAAO,CAAA;IACf;;;;;OAKG;IACH,SAAS,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAA;CAC5C;AAED;;;GAGG;AACH,wBAAsB,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAOnF;AAED;;;;;;GAMG;AACH,wBAAsB,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAMrG"}
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
import { contextAddProject, contextProjectErrors, contextProjects, contextRemoveProject, resolveProjectPath } from './context.js';
|
|
2
|
+
import { readProjectCommands } from '../project-commands.js';
|
|
3
|
+
import { DATA_BRANCH, branchReach, originDefaultBranch, pullFileBranch, writeSharing } from '@openagt/agent-data';
|
|
4
|
+
import { readProjectHooks, runCheckHook, startLineTakesBase } from '../project-hooks.js';
|
|
5
|
+
import { hasRemote } from '../has-remote.js';
|
|
6
|
+
import { currentBranch } from '../dashboard/git-status.js';
|
|
7
|
+
import { pickDirectory } from '../pick-directory.js';
|
|
8
|
+
import { projectGitHost } from '../store/git-host.js';
|
|
9
|
+
// The Projects sidebar behind the new dashboard (#405): the global registry (#390) the
|
|
10
|
+
// daemon and CLI write — id, path, name, activated, last activity. The per-agent
|
|
11
|
+
// foreground dashboard (#427) scopes this to a single project via the request context.
|
|
12
|
+
// The live event stream is its own endpoint rather than a call (`GET /_rpc/events`).
|
|
13
|
+
//
|
|
14
|
+
// Each project also carries what the daemon's background jobs found wrong with it (#1500) —
|
|
15
|
+
// a data branch that cannot reach origin, say (#1599) — and why its data stays on this machine, if it does.
|
|
16
|
+
// Both ride this list rather than a read of their own because the list is what every project
|
|
17
|
+
// surface already polls, so an error reaches the sidebar dot and the project's banner with
|
|
18
|
+
// nothing new to subscribe to.
|
|
19
|
+
export async function onProjects() {
|
|
20
|
+
const state = contextProjectErrors();
|
|
21
|
+
return (await contextProjects().list()).map(project => {
|
|
22
|
+
const { errors, local } = state(project.path);
|
|
23
|
+
return { ...project, ...(errors.length > 0 ? { errors } : {}), ...(local ? { local } : {}) };
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Add a project from the dashboard (#396/#433): install the repo and register it so it joins the
|
|
28
|
+
* Projects list. Like `sendStart` this needs the daemon (it spawns git + writes the shared
|
|
29
|
+
* registry), so it calls the daemon's own `addProject` closure off the wired dashboard context.
|
|
30
|
+
* Returns the daemon's {@link AddProjectResult}.
|
|
31
|
+
*
|
|
32
|
+
* `share` is the person's answer, asked before the add: whether the agents' records may go to the
|
|
33
|
+
* repository's remote. Nothing is pushed for a project added with `false`.
|
|
34
|
+
*/
|
|
35
|
+
export async function sendAddProject(path, share) {
|
|
36
|
+
// Throws on an unwired context (D3), like `sendStart`: a missing capability is a wiring bug.
|
|
37
|
+
const addProject = contextAddProject();
|
|
38
|
+
const trimmed = path.trim();
|
|
39
|
+
if (!trimmed)
|
|
40
|
+
return { ok: false, error: 'a project path is required' };
|
|
41
|
+
return addProject(trimmed, share === true);
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Remove a project from the dashboard: it leaves the Projects list. Nothing in its folder is
|
|
45
|
+
* deleted unless `files` is true: then what OpenAgent left there is removed too, and the answer
|
|
46
|
+
* says what went and what stayed. Like `sendAddProject` this is the daemon's to do (it runs the project's close hooks and
|
|
47
|
+
* writes the shared registry), so it calls the daemon's own closure off the wired dashboard context.
|
|
48
|
+
* Addressed by id and not by path, so a project whose folder is gone can still be removed.
|
|
49
|
+
*/
|
|
50
|
+
export async function sendRemoveProject(projectId, files) {
|
|
51
|
+
const removeProject = contextRemoveProject();
|
|
52
|
+
if (typeof projectId !== 'string' || !projectId)
|
|
53
|
+
return { ok: false, error: 'a project id is required' };
|
|
54
|
+
return removeProject(projectId, files === true);
|
|
55
|
+
}
|
|
56
|
+
/** How far the project's records reach right now, read off its repository; `null` when the project is unknown here. */
|
|
57
|
+
export async function onRecordsReach(projectId) {
|
|
58
|
+
const cwd = await resolveProjectPath(projectId);
|
|
59
|
+
return cwd ? branchReach(cwd) : null;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* The person's switch: share the project's records with its remote, or keep them on this machine.
|
|
63
|
+
* Turning it on sends what is there now, so a remote that refuses is said at once, and the switch
|
|
64
|
+
* goes back to off: the records stay where they were. A project with no remote has nothing to
|
|
65
|
+
* share with, and is refused.
|
|
66
|
+
*/
|
|
67
|
+
export async function sendShareRecords(projectId, on) {
|
|
68
|
+
const cwd = await resolveProjectPath(projectId);
|
|
69
|
+
if (!cwd)
|
|
70
|
+
return { ok: false, error: 'this project has no local path on this server' };
|
|
71
|
+
if (on && !(await hasRemote(cwd)))
|
|
72
|
+
return { ok: false, error: 'this project has no remote to share with' };
|
|
73
|
+
await writeSharing(cwd, on);
|
|
74
|
+
if (!on)
|
|
75
|
+
return { ok: true };
|
|
76
|
+
const sent = await pullFileBranch(cwd, DATA_BRANCH, { log: () => { } });
|
|
77
|
+
if (sent.ok)
|
|
78
|
+
return { ok: true };
|
|
79
|
+
await writeSharing(cwd, false);
|
|
80
|
+
return { ok: false, error: sent.error };
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Open the OS folder picker on the daemon's machine and wait for the user's choice (#1150). The
|
|
84
|
+
* browser cannot learn an absolute path from any picker of its own, and the daemon — which runs on
|
|
85
|
+
* the machine the user is sitting at — can, so the dialog is the daemon's. A dismissed dialog
|
|
86
|
+
* comes back as `path: null`.
|
|
87
|
+
*/
|
|
88
|
+
export async function sendPickProjectDirectory() {
|
|
89
|
+
return pickDirectory();
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* The Onboarding checklist's one server-side fact (#958): the directory this server runs in,
|
|
93
|
+
* so the first step can offer "Add {cwd} as project" without the user typing a path.
|
|
94
|
+
*/
|
|
95
|
+
export async function onOnboarding() {
|
|
96
|
+
const cwd = process.cwd();
|
|
97
|
+
const registered = await contextProjects().list();
|
|
98
|
+
return { cwd, cwdProjectId: registered.find(p => p.path === cwd)?.id ?? null };
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* The project's commands (#1774), read off its skills folders, whether it has a start hook, whether
|
|
102
|
+
* it has a git host, and the branches an agent can start from. `null` when the project is unknown here.
|
|
103
|
+
*/
|
|
104
|
+
export async function onCommands(projectId) {
|
|
105
|
+
const cwd = await resolveProjectPath(projectId);
|
|
106
|
+
if (!cwd)
|
|
107
|
+
return null;
|
|
108
|
+
const [commands, hooks, gitHost, remote, main, local] = await Promise.all([readProjectCommands(cwd), readProjectHooks(cwd), projectGitHost(cwd).catch(() => undefined), hasRemote(cwd), originDefaultBranch(cwd), currentBranch(cwd)]);
|
|
109
|
+
// Both read locally, never fetched. `HEAD` is a folder on no branch: there is no local branch to start from.
|
|
110
|
+
const startFrom = hooks.start !== undefined && startLineTakesBase(hooks.start) && remote && main !== undefined && local !== undefined && local !== 'HEAD' ? { main: main.slice('origin/'.length), local } : undefined;
|
|
111
|
+
return { commands, startHook: hooks.start !== undefined, gitHost: gitHost !== undefined, remote, ...(startFrom ? { startFrom } : {}) };
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* What would stop a run in this project before it spends a checkout, said in the launcher before
|
|
115
|
+
* the Start: the project's `check` hook, given the coding agent picked. A missing CLI or a
|
|
116
|
+
* logged-out one is a problem the run itself would refuse on; a warning is said and blocks nothing.
|
|
117
|
+
* A check line that fails is said as a warning: it is a broken check, not a reason to stop.
|
|
118
|
+
* `null` for an unknown project or one without a check hook: nothing to say.
|
|
119
|
+
*/
|
|
120
|
+
export async function onStartCheck(projectId, driver) {
|
|
121
|
+
const cwd = await resolveProjectPath(projectId);
|
|
122
|
+
if (!cwd)
|
|
123
|
+
return null;
|
|
124
|
+
const checked = await runCheckHook(cwd, driver !== undefined ? { driver } : {});
|
|
125
|
+
if (checked.ok)
|
|
126
|
+
return { problems: checked.problems, warnings: checked.warnings };
|
|
127
|
+
return checked.noHook ? null : { problems: [], warnings: [checked.error] };
|
|
128
|
+
}
|
|
129
|
+
//# sourceMappingURL=projects.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"projects.js","sourceRoot":"","sources":["../../src/dashboard-rpc/projects.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"quota.d.ts","sourceRoot":"","sources":["../../src/dashboard-rpc/quota.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AAatD,6DAA6D;AAC7D,wBAAsB,OAAO,IAAI,OAAO,CAAC,SAAS,CAAC,CAElD"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { contextQuota } from './context.js';
|
|
2
|
+
// The usage panel's surface (#533): where the account's subscription quota stands, and where the
|
|
3
|
+
// quota boundary (#879) sits. The source is wired into the dashboard context by the daemon, and the panel polls it for its
|
|
4
|
+
// whole life.
|
|
5
|
+
/** An honest empty view: no reading, and so no boundary to measure against. */
|
|
6
|
+
function noReading() {
|
|
7
|
+
// No windows and no boundary rather than zeroes: an empty bar reads as
|
|
8
|
+
// "nothing used", which is the one thing this panel must never imply.
|
|
9
|
+
return { windows: [], unavailable: 'fetch-failed' };
|
|
10
|
+
}
|
|
11
|
+
/** Where the account's quota stands against its boundary. */
|
|
12
|
+
export async function onQuota() {
|
|
13
|
+
return contextQuota().read().catch(() => noReading());
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=quota.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"quota.js","sourceRoot":"","sources":["../../src/dashboard-rpc/quota.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAG3C,iGAAiG;AACjG,2HAA2H;AAC3H,cAAc;AAEd,+EAA+E;AAC/E,SAAS,SAAS;IAChB,uEAAuE;IACvE,sEAAsE;IACtE,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,WAAW,EAAE,cAAc,EAAE,CAAA;AACrD,CAAC;AAED,6DAA6D;AAC7D,MAAM,CAAC,KAAK,UAAU,OAAO;IAC3B,OAAO,YAAY,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,EAAE,CAAC,CAAA;AACvD,CAAC"}
|
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
import type { BridgeBrowserStatus } from '../bridge-browser.js';
|
|
2
|
+
import { type AgentMeta } from '../store/index.js';
|
|
3
|
+
import { type GitHostHome } from '../store/git-host.js';
|
|
4
|
+
import { type RepositoryOffer } from '../store/repository.js';
|
|
5
|
+
import { type WorkspaceDoc } from '../dashboard/docs.js';
|
|
6
|
+
import { type ProjectQueue } from '../dashboard/queue.js';
|
|
7
|
+
import { type Overview, type RecentAgent } from '../dashboard/overview.js';
|
|
8
|
+
import { type Intervention } from '../dashboard/interventions.js';
|
|
9
|
+
import type { ProjectionRead } from '../dashboard/projects.js';
|
|
10
|
+
import { type OpenQuestion } from '../dashboard/open-questions.js';
|
|
11
|
+
import { type Activity } from '../dashboard/activity.js';
|
|
12
|
+
import { type DashboardData } from '../dashboard/dashboard.js';
|
|
13
|
+
import { type GitStatus } from '../dashboard/git-status.js';
|
|
14
|
+
import { type AgentHandoff } from '../dashboard/agent-handoff.js';
|
|
15
|
+
import type { AgentWorktree } from '../dashboard/types.js';
|
|
16
|
+
import type { OpenAgentEvent } from '../events.js';
|
|
17
|
+
import type { BridgeEvent, BridgeHello, BridgeQuestion } from '../dashboard/bridge-endpoints.js';
|
|
18
|
+
import type { BridgeAnswer, BridgeContact, BridgeVersion } from '../dashboard/bridge-store.js';
|
|
19
|
+
/**
|
|
20
|
+
* The project's runs, most-recent first (or `[]`). The archived (finished) runs
|
|
21
|
+
* from `agents/`, plus every live agent prepended — so the sidebar shows an in-progress
|
|
22
|
+
* run with a `running` status the moment it starts, not only after it closes.
|
|
23
|
+
*
|
|
24
|
+
* Since #736 a project has any number of live agents, each in its own worktree, so this reads
|
|
25
|
+
* them all (#738) instead of the single one that used to sit at the project path. They come
|
|
26
|
+
* back as {@link LiveAgent}s, carrying the `cwd` of the checkout that agent is editing.
|
|
27
|
+
*
|
|
28
|
+
* One row per id, and where both a live and an archived copy exist the live one wins (#768): a
|
|
29
|
+
* continued run (#762) has an archive from its first leg while being live again, and the archive
|
|
30
|
+
* would otherwise show a running agent as finished. The status is not filtered on: `readLiveMeta`
|
|
31
|
+
* may have just self-healed a dead agent to `stopped` (#716), and that freshly-archived row can
|
|
32
|
+
* lag `listAgents` by a poll — keeping it regardless leaves the row visible with no flicker.
|
|
33
|
+
*
|
|
34
|
+
* An agent relayed to a connected device (#1067) lives only in the daemon's memory, never on disk, so
|
|
35
|
+
* its in-memory stub is merged in too (#1077): that is what re-opens it after a dashboard reload
|
|
36
|
+
* instead of losing it.
|
|
37
|
+
*/
|
|
38
|
+
export declare function onAgents(projectId: string): Promise<AgentMeta[]>;
|
|
39
|
+
/**
|
|
40
|
+
* A web run whose cloud session is waiting on a human — the bridge holds its parked question, or
|
|
41
|
+
* claude.ai's session list shows it awaiting input (#1332) — is marked waiting (#1668), so its row
|
|
42
|
+
* says so instead of "in cloud": the archive on disk cannot know, only the daemon's bridge store
|
|
43
|
+
* does. Every other run passes through untouched.
|
|
44
|
+
*/
|
|
45
|
+
export declare function markCloudWaiting(agent: AgentMeta): AgentMeta;
|
|
46
|
+
/**
|
|
47
|
+
* A run another machine's daemon started is marked as from another host (#1648): the data branch
|
|
48
|
+
* is shared precisely so other machines' runs show up here, and a row that looked exactly like
|
|
49
|
+
* one of this daemon's own sent the user reading the archive by hand to learn whose it was. A run
|
|
50
|
+
* with no recorded host predates the field and passes through untouched.
|
|
51
|
+
*/
|
|
52
|
+
export declare function markOtherHost(agent: AgentMeta, thisHost?: string): AgentMeta;
|
|
53
|
+
/**
|
|
54
|
+
* A run that ended clean while the process its card names is still alive on this host is marked
|
|
55
|
+
* saving: the tool that runs it saves the run's record and cleans up its checkout after the card says
|
|
56
|
+
* done, and a row that said "done" through that window read as finished with nothing coming. A
|
|
57
|
+
* run of another host, or with no recorded process, passes through untouched.
|
|
58
|
+
*/
|
|
59
|
+
export declare function markSaving(agent: AgentMeta, thisHost?: string, alive?: (pid: number) => boolean): AgentMeta;
|
|
60
|
+
/**
|
|
61
|
+
* The agent ids that still have a worktree on disk (#737). An agent that failed or was stopped keeps
|
|
62
|
+
* its checkout so you can go look at what it was holding; this is how the dashboard knows which
|
|
63
|
+
* finished run has one to offer removing. Live agents are excluded — their worktree is in use.
|
|
64
|
+
*/
|
|
65
|
+
export declare function onRetainedWorktrees(projectId: string): Promise<string[]>;
|
|
66
|
+
/**
|
|
67
|
+
* Where a session is working (#798): the checkout it has, its branch, whether it is holding
|
|
68
|
+
* uncommitted changes, and — once it is no longer live — what that checkout costs on disk.
|
|
69
|
+
*
|
|
70
|
+
* The dashboard could not answer "where is this session working". The git status bar reads the
|
|
71
|
+
* *project*, so a session's own branch was visible nowhere, and a worktree an agent kept (#737) was
|
|
72
|
+
* a name in a list with no size and no way in.
|
|
73
|
+
*
|
|
74
|
+
* Every run works in a checkout of its own, so once that checkout is gone there is no tree left to
|
|
75
|
+
* be clean or dirty: the answer is then only what the run recorded, its branch and its pull
|
|
76
|
+
* request. It used to fall back to the project's root and report the user's own checkout (their
|
|
77
|
+
* branch, their "clean") as the run's.
|
|
78
|
+
*/
|
|
79
|
+
export declare function onAgentWorktree(projectId: string, agentId: string): Promise<AgentWorktree | null>;
|
|
80
|
+
/** One archived agent's event log for replay (or `[]` when the agent or project is gone). */
|
|
81
|
+
export declare function onAgent(projectId: string, agentId: string): Promise<OpenAgentEvent[]>;
|
|
82
|
+
/** What each of the named runs of a project is doing now, by id; a run that is not working has no entry. */
|
|
83
|
+
export declare function onAgentsDoing(projectId: string, agentIds: string[]): Promise<Record<string, string>>;
|
|
84
|
+
/** The surfaced PLAN/TODO docs at the workspace root, in sidebar order (or `[]`). */
|
|
85
|
+
export declare function onDocs(projectId: string): Promise<WorkspaceDoc[]>;
|
|
86
|
+
/** The aggregated open TODO queue across every registered project (#438), most-open first. */
|
|
87
|
+
export declare function onQueue(): Promise<ProjectQueue[]>;
|
|
88
|
+
/** The cross-project Overview (#437): what is running now, the queue size, and recent projects. */
|
|
89
|
+
export declare function onOverview(): Promise<Overview>;
|
|
90
|
+
/** Recent sessions pooled across every project (#shared-shell), newest first, for the home rail. */
|
|
91
|
+
export declare function onRecentAgents(): Promise<RecentAgent[]>;
|
|
92
|
+
/**
|
|
93
|
+
* The cross-project interventions queue (#632, Queue #624): open PRs that need review, newest first,
|
|
94
|
+
* plus which projects were read whole (#1625).
|
|
95
|
+
*
|
|
96
|
+
* The panels render `items` and ignore the rest. The browser's notifier is the caller that cannot:
|
|
97
|
+
* it keeps a baseline of what was already waiting when the page opened, and a queue that came back
|
|
98
|
+
* empty because the git host was unreachable is not a baseline — taking it for one announces the whole
|
|
99
|
+
* backlog the moment the git host answers.
|
|
100
|
+
*/
|
|
101
|
+
export declare function onInterventions(): Promise<ProjectionRead<Intervention>>;
|
|
102
|
+
/** Every session's open question with its full gate (#1455), longest-waiting first: the launcher's hub. */
|
|
103
|
+
export declare function onOpenQuestions(): Promise<OpenQuestion[]>;
|
|
104
|
+
/**
|
|
105
|
+
* The cross-project "New activity" feed (#627): recent run started/finished transitions, newest
|
|
106
|
+
* first, with the projects that were read whole beside them (#1625) — see {@link onInterventions}.
|
|
107
|
+
*/
|
|
108
|
+
export declare function onActivity(): Promise<ProjectionRead<Activity>>;
|
|
109
|
+
/** The Overview dashboard page (#471): the {@link onOverview} rollup plus agent counts, run-status totals, and activity. */
|
|
110
|
+
export declare function onDashboard(): Promise<DashboardData>;
|
|
111
|
+
/**
|
|
112
|
+
* The project's files for the `#` context picker (#504) and the Context's file count (#661): every
|
|
113
|
+
* file git sees (tracked + untracked, honoring .gitignore), repo-relative and sorted, via
|
|
114
|
+
* `git ls-files`. Localhost-only by nature — the relay has no checkout, so it resolves `[]`.
|
|
115
|
+
* Pass a live `agentId` to list that agent's worktree instead of the project root (#738). The
|
|
116
|
+
* Files tab reads its own list, through its module.
|
|
117
|
+
*/
|
|
118
|
+
export declare function onProjectFiles(projectId: string, agentId?: string): Promise<string[]>;
|
|
119
|
+
/** The project's page on its git host and the git host's name (#489, #1820), or null: no git host package, no remote there, or the relay. */
|
|
120
|
+
export declare function onGitHostHome(projectId: string): Promise<GitHostHome | null>;
|
|
121
|
+
/** The repository the project's provider offers to create for it (a project with no remote), or null: no provider, a remote already there, the host out of reach, or the relay. */
|
|
122
|
+
export declare function onRepositoryOffer(projectId: string): Promise<RepositoryOffer | null>;
|
|
123
|
+
/**
|
|
124
|
+
* The project's git status (#491): active branch, dirty flag, linked PR. Null when not a repo /
|
|
125
|
+
* relay. Pass a live `agentId` to read that agent's worktree, which is the branch and the dirty
|
|
126
|
+
* state that actually belong to it (#738). A run-scoped read is since-filtered (#1255): an agent on
|
|
127
|
+
* a reused pinned branch must not wear a predecessor's merged PR as its own badge.
|
|
128
|
+
*/
|
|
129
|
+
export declare function onGitStatus(projectId: string, agentId?: string): Promise<GitStatus | null>;
|
|
130
|
+
/**
|
|
131
|
+
* The end-of-session handoff (#799): the branch a finished session left its work on, what it
|
|
132
|
+
* committed, what it changed, and whether that has been pushed or opened as a PR.
|
|
133
|
+
*
|
|
134
|
+
* Read from the *project* checkout against the session's branch, not from the session's worktree.
|
|
135
|
+
* A clean agent's worktree is removed when it finishes, and `resolveAgentPath` then falls back to the
|
|
136
|
+
* project root — so a worktree-addressed read reports the project's own branch and the user's own
|
|
137
|
+
* uncommitted changes as though they were the session's. The branch is what outlives the agent, so
|
|
138
|
+
* the branch is what this asks about.
|
|
139
|
+
*/
|
|
140
|
+
export declare function onAgentHandoff(projectId: string, agentId: string): Promise<AgentHandoff | null>;
|
|
141
|
+
/**
|
|
142
|
+
* The question a Claude web session is parked on, as reported by the browser bridge (#1237).
|
|
143
|
+
*
|
|
144
|
+
* Keyed by cloud session id rather than agent id because that is what the bridge can see: it reads
|
|
145
|
+
* a claude.ai page, which knows its session and nothing about our runs. The agent view already
|
|
146
|
+
* derives that id from the agent's own `cloud <url>` event, so the join happens on the client
|
|
147
|
+
* without the daemon having to index runs by session.
|
|
148
|
+
*
|
|
149
|
+
* Returns null for anything unrecognised, so an agent with no bridge, no question, or a target that
|
|
150
|
+
* is not `web` renders exactly as it did before.
|
|
151
|
+
*/
|
|
152
|
+
export declare function onBridgeQuestion(sessionId: string): Promise<BridgeQuestion | null>;
|
|
153
|
+
/**
|
|
154
|
+
* Whether anything has reached the browser bridge, and how it went (#1237).
|
|
155
|
+
*
|
|
156
|
+
* A misconfigured extension and an uninstalled one both leave no question behind, so "nothing is
|
|
157
|
+
* showing" cannot be diagnosed from the questions alone. A refused request at least proves
|
|
158
|
+
* something is trying, and its status says which half is wrong.
|
|
159
|
+
*/
|
|
160
|
+
export declare function onBridgeStatus(): Promise<{
|
|
161
|
+
lastContact: BridgeContact | null;
|
|
162
|
+
questions: number;
|
|
163
|
+
page: BridgeHello | null;
|
|
164
|
+
version: BridgeVersion | null;
|
|
165
|
+
}>;
|
|
166
|
+
/**
|
|
167
|
+
* The bridge token, for the setup step where a user pastes it into the extension (#1237).
|
|
168
|
+
*
|
|
169
|
+
* Only while the bridge is on, so a daemon with the feature off never hands the secret to a
|
|
170
|
+
* page. Revealing it here is not a new exposure: anyone who can load this dashboard can already
|
|
171
|
+
* start runs on this machine, and on a non-loopback bind their browser is holding the same token
|
|
172
|
+
* as a cookie. What it replaces is the alternative, which was telling people to open
|
|
173
|
+
* `~/.openagent.json` and copy a field out of it.
|
|
174
|
+
*/
|
|
175
|
+
export declare function onBridgeToken(): Promise<string | null>;
|
|
176
|
+
/**
|
|
177
|
+
* Where the answer picked for that session's question stands (#1237): queued for the
|
|
178
|
+
* extension, delivered, or failed with the extension's reason. Null when nothing was picked.
|
|
179
|
+
*/
|
|
180
|
+
export declare function onBridgeAnswer(sessionId: string): Promise<BridgeAnswer | null>;
|
|
181
|
+
/** What a Claude web session has said so far, as scraped by the browser bridge (#1237). */
|
|
182
|
+
export declare function onBridgeEvents(sessionId: string): Promise<BridgeEvent[]>;
|
|
183
|
+
/** Where the daemon's own bridge browser stands (#1332): off, starting (and on which step), running, or stopped and why. */
|
|
184
|
+
export declare function onBridgeBrowser(): Promise<BridgeBrowserStatus>;
|
|
185
|
+
//# sourceMappingURL=reads.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reads.d.ts","sourceRoot":"","sources":["../../src/dashboard-rpc/reads.ts"],"names":[],"mappings":"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"}
|