@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,164 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The checkouts and the branches, as OpenAgent reads and acts on them (#1774). OpenAgent
|
|
3
|
+
* keeps no checkout and imports no branches package: a project's checkouts come from whichever of
|
|
4
|
+
* its packages declares that it provides them — `"openagent": { "branches": "<command>" }` in the
|
|
5
|
+
* package's own package.json — and OpenAgent reads and moves them by running that command.
|
|
6
|
+
* Swap the package for another that answers the same command line and prints the same shapes,
|
|
7
|
+
* and nothing here changes. No package declares it: the project has no checkouts, so no run with
|
|
8
|
+
* one, no branch to hand off, nothing to remove.
|
|
9
|
+
*
|
|
10
|
+
* The command line a provider answers, each printing one JSON document and exiting 0 (a refusal
|
|
11
|
+
* exits 1 with its reason on stderr):
|
|
12
|
+
* `<command> list [--sizes]` every checkout, as an array of {@link Checkout}
|
|
13
|
+
* `<command> show [--from <commit>] <branch>...` what each branch holds and where it stands, as an array of {@link BranchState}, in the order asked;
|
|
14
|
+
* measured from `<commit>`, where the branches started, in place of the default branch;
|
|
15
|
+
* a full commit id in place of a branch is read as a branch that ends there
|
|
16
|
+
* `<command> merge <b>` merge the branch into the default branch, on this machine, then delete it
|
|
17
|
+
* `<command> push --branch <b>` push the branch to the remote; a branch only the remote has is answered as it is
|
|
18
|
+
* `<command> remove <id> [--from <commit>] [--discard]` reclaim a run's checkout once its branch holds everything, pushing nothing, its branch measured from the commit it started from; `--discard` drops uncommitted work
|
|
19
|
+
* `list` and `show` read this machine, no network: OpenAgent polls. `show` answers the branch's
|
|
20
|
+
* git facts only; its pull request is the git host provider's (`git-host.ts`), as every pull request is.
|
|
21
|
+
*
|
|
22
|
+
* That is the whole contract: git, and nothing beyond it (#1820). OpenAgent reads checkouts to
|
|
23
|
+
* find the runs that have one, and a branch's state for what it composes: the run page's handoff,
|
|
24
|
+
* the Human Queue's unpushed rows. Opening a pull request is the push here, then the git host
|
|
25
|
+
* provider's `open`. What a checkout is, where it lives, how a branch is pushed is the package's.
|
|
26
|
+
*
|
|
27
|
+
* The shapes, owned here: {@link Checkout}, {@link BranchState}.
|
|
28
|
+
*/
|
|
29
|
+
/** A run's checkout: where it works, as a provider lists it. */
|
|
30
|
+
export interface Checkout {
|
|
31
|
+
/** The run's id. */
|
|
32
|
+
id: string;
|
|
33
|
+
/** The checkout's directory, absolute. */
|
|
34
|
+
path: string;
|
|
35
|
+
/** The branch it is on; absent for a checkout on none, or one git no longer knows. */
|
|
36
|
+
branch?: string;
|
|
37
|
+
/** The name the agent gave its work, as the provider answers it; absent while the run has not named it. Drawn where a branch would be drawn as a name. */
|
|
38
|
+
name?: string;
|
|
39
|
+
/** Its size on disk, when sizes were asked for. */
|
|
40
|
+
sizeBytes?: number;
|
|
41
|
+
}
|
|
42
|
+
/** One commit a branch holds beyond its base. */
|
|
43
|
+
export interface BranchCommit {
|
|
44
|
+
sha: string;
|
|
45
|
+
subject: string;
|
|
46
|
+
}
|
|
47
|
+
/** One file a branch changed against its base. */
|
|
48
|
+
export interface BranchFile {
|
|
49
|
+
path: string;
|
|
50
|
+
insertions: number;
|
|
51
|
+
deletions: number;
|
|
52
|
+
/** A binary file, where line counts mean nothing. */
|
|
53
|
+
binary: boolean;
|
|
54
|
+
}
|
|
55
|
+
/** What a branch holds and where it stands, as a provider answers `show`: git facts, no pull request. */
|
|
56
|
+
export interface BranchState {
|
|
57
|
+
branch: string;
|
|
58
|
+
/** The name the agent gave its work, as the provider answers it; absent while the run has not named it. */
|
|
59
|
+
name?: string;
|
|
60
|
+
/** The branch exists on this machine. Gone: every list below is empty, and only the remote can say more. */
|
|
61
|
+
exists: boolean;
|
|
62
|
+
/** What it is measured against: the commit asked with `--from`, else the project's default branch, when one was found. */
|
|
63
|
+
base?: string;
|
|
64
|
+
/** The branch's own commits beyond the base, newest first. */
|
|
65
|
+
commits: BranchCommit[];
|
|
66
|
+
/** What it changed since it left the base. */
|
|
67
|
+
files: BranchFile[];
|
|
68
|
+
/** The project has a remote to push to. */
|
|
69
|
+
hasRemote: boolean;
|
|
70
|
+
/** The remote has the branch at this same tip. */
|
|
71
|
+
pushed: boolean;
|
|
72
|
+
/** The base already contains it. */
|
|
73
|
+
merged: boolean;
|
|
74
|
+
/** The uncommitted paths in the checkout that is on this branch; absent when no checkout is. */
|
|
75
|
+
pendingFiles?: string[];
|
|
76
|
+
}
|
|
77
|
+
/** What pushing a branch did: `pushed` is false when only the remote had it, so there was nothing here to push. */
|
|
78
|
+
export type PushOutcome = {
|
|
79
|
+
ok: true;
|
|
80
|
+
pushed: boolean;
|
|
81
|
+
} | {
|
|
82
|
+
ok: false;
|
|
83
|
+
error: string;
|
|
84
|
+
};
|
|
85
|
+
/**
|
|
86
|
+
* What merging a branch into the project's default branch did: `into` names that branch, `commit`
|
|
87
|
+
* is the merged branch's last commit and `from` the commit its work began at, and `deleted` says
|
|
88
|
+
* the branch went once its work was in.
|
|
89
|
+
*/
|
|
90
|
+
export type MergeOutcome = {
|
|
91
|
+
ok: true;
|
|
92
|
+
into: string;
|
|
93
|
+
commit: string;
|
|
94
|
+
from: string;
|
|
95
|
+
deleted: boolean;
|
|
96
|
+
} | {
|
|
97
|
+
ok: false;
|
|
98
|
+
error: string;
|
|
99
|
+
};
|
|
100
|
+
/** What reclaiming a checkout did: done, with the branches that went with it when any did, or the provider's reason it stayed. */
|
|
101
|
+
export type RemoveOutcome = {
|
|
102
|
+
ok: true;
|
|
103
|
+
branchesDeleted?: string[];
|
|
104
|
+
} | {
|
|
105
|
+
ok: false;
|
|
106
|
+
error: string;
|
|
107
|
+
};
|
|
108
|
+
/** A project's checkouts and branches: what a provider answers, read and moved by OpenAgent. */
|
|
109
|
+
export interface BranchesSource {
|
|
110
|
+
/**
|
|
111
|
+
* Every checkout; `[]` when none can be read. `fresh` asks past a list read within the window:
|
|
112
|
+
* the caller is looking for a checkout that may have just appeared. A list read less than
|
|
113
|
+
* {@link FRESH_MS} ago still answers, so a caller asking every second for a run that has no
|
|
114
|
+
* checkout is not a process every second.
|
|
115
|
+
*/
|
|
116
|
+
list(opts?: {
|
|
117
|
+
sizes?: boolean;
|
|
118
|
+
fresh?: boolean;
|
|
119
|
+
}): Promise<Checkout[]>;
|
|
120
|
+
/**
|
|
121
|
+
* Each branch's state, in the order asked; a branch the provider did not answer for is missing.
|
|
122
|
+
* `[]` when nothing can be read. `from` is the commit the branches started from, which their
|
|
123
|
+
* commits and files are then measured from. A full commit id in place of a branch reads what a
|
|
124
|
+
* branch that ended there held.
|
|
125
|
+
*/
|
|
126
|
+
show(branches: readonly string[], from?: string): Promise<BranchState[]>;
|
|
127
|
+
/** Push a branch to the remote: the checkout on it under its clean rule, else the branch itself. */
|
|
128
|
+
push(branch: string): Promise<PushOutcome>;
|
|
129
|
+
/** Merge a branch into the project's default branch, on this machine, then delete it; a merge that conflicts changes nothing. */
|
|
130
|
+
merge(branch: string): Promise<MergeOutcome>;
|
|
131
|
+
/**
|
|
132
|
+
* Reclaim a run's checkout, or why it stayed. `from` is the commit the run's branch started
|
|
133
|
+
* from, when that is not the default branch: what tells a branch with nothing of its own.
|
|
134
|
+
* `discard` drops its uncommitted work instead of refusing over it.
|
|
135
|
+
*/
|
|
136
|
+
remove(id: string, opts?: {
|
|
137
|
+
discard?: boolean;
|
|
138
|
+
from?: string;
|
|
139
|
+
}): Promise<RemoveOutcome>;
|
|
140
|
+
}
|
|
141
|
+
/** The checkouts of the project at `root`, or `undefined` when none of its packages provides them. */
|
|
142
|
+
export type BranchesFor = (root: string) => Promise<BranchesSource | undefined>;
|
|
143
|
+
/** A {@link BranchesFor} that also forgets what it read of one project, for when a module or a run just wrote there. */
|
|
144
|
+
export type BranchesReader = BranchesFor & {
|
|
145
|
+
changed(root: string): void;
|
|
146
|
+
};
|
|
147
|
+
/** The rows read back from a provider's `list`: the objects with an id and a path, everything else as printed; anything else is no checkout. */
|
|
148
|
+
export declare function parseCheckouts(output: unknown): Checkout[];
|
|
149
|
+
/** The states read back from a provider's `show`: the objects with a branch and the three verdicts, lists cleaned; anything else is no state. */
|
|
150
|
+
export declare function parseBranchStates(output: unknown): BranchState[];
|
|
151
|
+
/**
|
|
152
|
+
* The production {@link BranchesReader}: the project's provider, looked up by its package.json,
|
|
153
|
+
* one source per project kept while the same command provides — so the cache holds across the
|
|
154
|
+
* many reads of one poll, and a project that installs, swaps or drops its provider is read the new
|
|
155
|
+
* way within {@link CACHE_MS}. `changed(root)` forgets that project's reads, so the next read runs
|
|
156
|
+
* the command again: a run just started there, or a module's command just ran, and a checkout may
|
|
157
|
+
* have come or gone.
|
|
158
|
+
*/
|
|
159
|
+
export declare function providedBranches(now?: () => number): BranchesReader;
|
|
160
|
+
/** OpenAgent's one reader of the checkouts, shared by every caller so they share its cache. */
|
|
161
|
+
export declare const projectBranches: BranchesReader;
|
|
162
|
+
/** A {@link BranchesFor} for a project with no provider: no checkouts. */
|
|
163
|
+
export declare const noBranches: BranchesFor;
|
|
164
|
+
//# sourceMappingURL=branches.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"branches.d.ts","sourceRoot":"","sources":["../../src/store/branches.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,187 @@
|
|
|
1
|
+
import { runPackageCommand } from '@openagt/agent-data';
|
|
2
|
+
import { providedCommand } from '../built-in.js';
|
|
3
|
+
import { isRunId } from './runs.js';
|
|
4
|
+
/** How long a read is reused: the dashboard polls several reads of every project's checkouts every few seconds, and each is a process. */
|
|
5
|
+
const CACHE_MS = 5_000;
|
|
6
|
+
/** How recent a list read still answers a `fresh` ask: younger than this, the checkout the caller looks for was not there a moment ago either. */
|
|
7
|
+
const FRESH_MS = 1_000;
|
|
8
|
+
/** The rows read back from a provider's `list`: the objects with an id and a path, everything else as printed; anything else is no checkout. */
|
|
9
|
+
export function parseCheckouts(output) {
|
|
10
|
+
if (!Array.isArray(output))
|
|
11
|
+
return [];
|
|
12
|
+
const rows = [];
|
|
13
|
+
for (const value of output) {
|
|
14
|
+
if (!value || typeof value !== 'object')
|
|
15
|
+
continue;
|
|
16
|
+
const row = value;
|
|
17
|
+
const id = row['agentId'] ?? row['id'];
|
|
18
|
+
if (typeof id !== 'string' || !isRunId(id) || typeof row['path'] !== 'string' || row['path'] === '')
|
|
19
|
+
continue;
|
|
20
|
+
rows.push({
|
|
21
|
+
id,
|
|
22
|
+
path: row['path'],
|
|
23
|
+
...(typeof row['branch'] === 'string' && row['branch'] !== '' ? { branch: row['branch'] } : {}),
|
|
24
|
+
...(typeof row['name'] === 'string' && row['name'] !== '' ? { name: row['name'] } : {}),
|
|
25
|
+
...(typeof row['sizeBytes'] === 'number' ? { sizeBytes: row['sizeBytes'] } : {}),
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
return rows;
|
|
29
|
+
}
|
|
30
|
+
/** The states read back from a provider's `show`: the objects with a branch and the three verdicts, lists cleaned; anything else is no state. */
|
|
31
|
+
export function parseBranchStates(output) {
|
|
32
|
+
if (!Array.isArray(output))
|
|
33
|
+
return [];
|
|
34
|
+
const states = [];
|
|
35
|
+
for (const value of output) {
|
|
36
|
+
if (!value || typeof value !== 'object')
|
|
37
|
+
continue;
|
|
38
|
+
const row = value;
|
|
39
|
+
if (typeof row['branch'] !== 'string' || row['branch'] === '' || typeof row['exists'] !== 'boolean' || typeof row['pushed'] !== 'boolean' || typeof row['merged'] !== 'boolean')
|
|
40
|
+
continue;
|
|
41
|
+
states.push({
|
|
42
|
+
branch: row['branch'],
|
|
43
|
+
...(typeof row['name'] === 'string' && row['name'] !== '' ? { name: row['name'] } : {}),
|
|
44
|
+
exists: row['exists'],
|
|
45
|
+
...(typeof row['base'] === 'string' && row['base'] !== '' ? { base: row['base'] } : {}),
|
|
46
|
+
commits: commitsOf(row['commits']),
|
|
47
|
+
files: filesOf(row['files']),
|
|
48
|
+
hasRemote: row['hasRemote'] === true,
|
|
49
|
+
pushed: row['pushed'],
|
|
50
|
+
merged: row['merged'],
|
|
51
|
+
...(Array.isArray(row['pendingFiles']) ? { pendingFiles: row['pendingFiles'].filter((path) => typeof path === 'string') } : {}),
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
return states;
|
|
55
|
+
}
|
|
56
|
+
function commitsOf(value) {
|
|
57
|
+
if (!Array.isArray(value))
|
|
58
|
+
return [];
|
|
59
|
+
return value.flatMap(entry => {
|
|
60
|
+
const commit = entry;
|
|
61
|
+
return commit && typeof commit['sha'] === 'string' && commit['sha'] !== '' ? [{ sha: commit['sha'], subject: typeof commit['subject'] === 'string' ? commit['subject'] : '' }] : [];
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
function filesOf(value) {
|
|
65
|
+
if (!Array.isArray(value))
|
|
66
|
+
return [];
|
|
67
|
+
return value.flatMap(entry => {
|
|
68
|
+
const file = entry;
|
|
69
|
+
if (!file || typeof file['path'] !== 'string' || file['path'] === '')
|
|
70
|
+
return [];
|
|
71
|
+
return [
|
|
72
|
+
{
|
|
73
|
+
path: file['path'],
|
|
74
|
+
insertions: typeof file['insertions'] === 'number' ? file['insertions'] : 0,
|
|
75
|
+
deletions: typeof file['deletions'] === 'number' ? file['deletions'] : 0,
|
|
76
|
+
binary: file['binary'] === true,
|
|
77
|
+
},
|
|
78
|
+
];
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
/** The branches source over one provider command: each read one run of the command, cached per {@link CACHE_MS}; each write drops the reads. */
|
|
82
|
+
function commandBranches(root, command, now) {
|
|
83
|
+
const listed = new Map();
|
|
84
|
+
const shown = new Map();
|
|
85
|
+
const drop = () => {
|
|
86
|
+
listed.clear();
|
|
87
|
+
shown.clear();
|
|
88
|
+
};
|
|
89
|
+
return {
|
|
90
|
+
drop,
|
|
91
|
+
list(opts = {}) {
|
|
92
|
+
// Concurrent reads share one process; a read that failed is not kept.
|
|
93
|
+
const key = opts.sizes ? 'sizes' : 'plain';
|
|
94
|
+
const known = listed.get(key);
|
|
95
|
+
if (known && now() - known.at < (opts.fresh ? FRESH_MS : CACHE_MS))
|
|
96
|
+
return known.rows;
|
|
97
|
+
const read = { at: now(), rows: Promise.resolve([]) };
|
|
98
|
+
read.rows = runPackageCommand(root, command, ['list', ...(opts.sizes ? ['--sizes'] : [])]).then(result => {
|
|
99
|
+
if (!result.ok || !Array.isArray(result.output)) {
|
|
100
|
+
if (listed.get(key) === read)
|
|
101
|
+
listed.delete(key);
|
|
102
|
+
return [];
|
|
103
|
+
}
|
|
104
|
+
return parseCheckouts(result.output);
|
|
105
|
+
});
|
|
106
|
+
listed.set(key, read);
|
|
107
|
+
return read.rows;
|
|
108
|
+
},
|
|
109
|
+
show(branches, from) {
|
|
110
|
+
const asked = branches.filter(branch => branch !== '');
|
|
111
|
+
if (asked.length === 0)
|
|
112
|
+
return Promise.resolve([]);
|
|
113
|
+
const key = [from ?? '', ...asked].join('\0');
|
|
114
|
+
const known = shown.get(key);
|
|
115
|
+
if (known && now() - known.at < CACHE_MS)
|
|
116
|
+
return known.states;
|
|
117
|
+
const read = { at: now(), states: Promise.resolve([]) };
|
|
118
|
+
read.states = runPackageCommand(root, command, ['show', ...(from ? ['--from', from] : []), ...asked]).then(result => {
|
|
119
|
+
if (!result.ok || !Array.isArray(result.output)) {
|
|
120
|
+
if (shown.get(key) === read)
|
|
121
|
+
shown.delete(key);
|
|
122
|
+
return [];
|
|
123
|
+
}
|
|
124
|
+
return parseBranchStates(result.output);
|
|
125
|
+
});
|
|
126
|
+
shown.set(key, read);
|
|
127
|
+
return read.states;
|
|
128
|
+
},
|
|
129
|
+
async push(branch) {
|
|
130
|
+
const result = await runPackageCommand(root, command, ['push', '--branch', branch]);
|
|
131
|
+
drop();
|
|
132
|
+
if (!result.ok)
|
|
133
|
+
return { ok: false, error: result.error };
|
|
134
|
+
const pushed = result.output && typeof result.output === 'object' ? result.output['pushed'] : undefined;
|
|
135
|
+
return { ok: true, pushed: pushed !== false };
|
|
136
|
+
},
|
|
137
|
+
async merge(branch) {
|
|
138
|
+
const result = await runPackageCommand(root, command, ['merge', branch]);
|
|
139
|
+
drop();
|
|
140
|
+
if (!result.ok)
|
|
141
|
+
return { ok: false, error: result.error };
|
|
142
|
+
const out = (result.output && typeof result.output === 'object' ? result.output : {});
|
|
143
|
+
const { into, commit, from } = out;
|
|
144
|
+
if (typeof into !== 'string' || typeof commit !== 'string' || typeof from !== 'string')
|
|
145
|
+
return { ok: false, error: 'the branches provider answered no merge' };
|
|
146
|
+
return { ok: true, into, commit, from, deleted: out['deleted'] === true };
|
|
147
|
+
},
|
|
148
|
+
async remove(id, opts = {}) {
|
|
149
|
+
if (!isRunId(id))
|
|
150
|
+
return { ok: false, error: `not a run id: ${id}` };
|
|
151
|
+
const result = await runPackageCommand(root, command, ['remove', id, ...(opts.discard ? ['--discard'] : opts.from ? ['--from', opts.from] : [])]);
|
|
152
|
+
drop();
|
|
153
|
+
if (!result.ok)
|
|
154
|
+
return { ok: false, error: result.error };
|
|
155
|
+
const gone = result.output && typeof result.output === 'object' ? result.output['branchesDeleted'] : undefined;
|
|
156
|
+
const branchesDeleted = Array.isArray(gone) ? gone.filter((branch) => typeof branch === 'string') : [];
|
|
157
|
+
return branchesDeleted.length ? { ok: true, branchesDeleted } : { ok: true };
|
|
158
|
+
},
|
|
159
|
+
};
|
|
160
|
+
}
|
|
161
|
+
/**
|
|
162
|
+
* The production {@link BranchesReader}: the project's provider, looked up by its package.json,
|
|
163
|
+
* one source per project kept while the same command provides — so the cache holds across the
|
|
164
|
+
* many reads of one poll, and a project that installs, swaps or drops its provider is read the new
|
|
165
|
+
* way within {@link CACHE_MS}. `changed(root)` forgets that project's reads, so the next read runs
|
|
166
|
+
* the command again: a run just started there, or a module's command just ran, and a checkout may
|
|
167
|
+
* have come or gone.
|
|
168
|
+
*/
|
|
169
|
+
export function providedBranches(now = Date.now) {
|
|
170
|
+
const sources = new Map();
|
|
171
|
+
const reader = async (root) => {
|
|
172
|
+
let known = sources.get(root);
|
|
173
|
+
if (!known || now() - known.at >= CACHE_MS) {
|
|
174
|
+
const command = await providedCommand(root, 'branches').catch(() => undefined);
|
|
175
|
+
const same = known?.command && command && known.command.bin === command.bin;
|
|
176
|
+
known = { at: now(), ...(command ? { command, source: same ? known.source : commandBranches(root, command, now) } : {}) };
|
|
177
|
+
sources.set(root, known);
|
|
178
|
+
}
|
|
179
|
+
return known.source;
|
|
180
|
+
};
|
|
181
|
+
return Object.assign(reader, { changed: (root) => sources.get(root)?.source?.drop() });
|
|
182
|
+
}
|
|
183
|
+
/** OpenAgent's one reader of the checkouts, shared by every caller so they share its cache. */
|
|
184
|
+
export const projectBranches = providedBranches();
|
|
185
|
+
/** A {@link BranchesFor} for a project with no provider: no checkouts. */
|
|
186
|
+
export const noBranches = async () => undefined;
|
|
187
|
+
//# sourceMappingURL=branches.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"branches.js","sourceRoot":"","sources":["../../src/store/branches.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The project's git host, as OpenAgent reads and acts on it (#1820): the pull requests of the
|
|
3
|
+
* project, opening one, landing one, and the project's page there. OpenAgent names no git host
|
|
4
|
+
* and runs no git host tool: a project's git host comes from whichever of its packages declares that it
|
|
5
|
+
* provides it — `"openagent": { "git-host": "<command>" }` in the package's own package.json — and
|
|
6
|
+
* OpenAgent asks by running that command. Swap the package for another that answers the same
|
|
7
|
+
* command line and prints the same shapes, and nothing here changes. No package declares it: the
|
|
8
|
+
* project has no git host, so no pull requests, and a finished run's last step is the push. A
|
|
9
|
+
* built-in package's git host is the project's only when it answers the project's page there: a
|
|
10
|
+
* project whose remote is on another host, or that has no remote, has none.
|
|
11
|
+
*
|
|
12
|
+
* The command line a provider answers, each printing one JSON document and exiting 0 (a refusal
|
|
13
|
+
* exits 1 with its reason on stderr):
|
|
14
|
+
* `<command> requests [--branch <b>] [--state open|merged|all] [--since <iso>]`
|
|
15
|
+
* the project's pull requests, newest first, as an array of {@link GitHostRequest}
|
|
16
|
+
* `<command> open --branch <b> --title <t> [--body <text>] [--draft]`
|
|
17
|
+
* open the branch's pull request; an open one is answered as it is (`existing`)
|
|
18
|
+
* `<command> merge <number>` land the pull request: armed to merge on green, or merged at once
|
|
19
|
+
* `<command> home` the project's page on the git host, and the git host's name
|
|
20
|
+
* The branch `open` is asked for must already be on the remote: pushing is the branches
|
|
21
|
+
* provider's step, and OpenAgent runs it first.
|
|
22
|
+
*
|
|
23
|
+
* The shapes, owned here: {@link GitHostRequest}, {@link GitHostHome}.
|
|
24
|
+
*/
|
|
25
|
+
/** A pull request, as a provider lists it. */
|
|
26
|
+
export interface GitHostRequest {
|
|
27
|
+
number: number;
|
|
28
|
+
url: string;
|
|
29
|
+
state: 'open' | 'merged' | 'closed';
|
|
30
|
+
title: string;
|
|
31
|
+
draft: boolean;
|
|
32
|
+
/** The branch the request is from. */
|
|
33
|
+
branch: string;
|
|
34
|
+
/** The commit the request's head is at. */
|
|
35
|
+
head: string;
|
|
36
|
+
/** ISO creation time. */
|
|
37
|
+
createdAt: string;
|
|
38
|
+
/** ISO merge time, for a merged request. */
|
|
39
|
+
mergedAt?: string;
|
|
40
|
+
/** The commit a merged request landed as on the base branch. */
|
|
41
|
+
mergeCommit?: string;
|
|
42
|
+
}
|
|
43
|
+
/** The project's page on the git host, and what the git host is called: what a link is drawn from. */
|
|
44
|
+
export interface GitHostHome {
|
|
45
|
+
url: string;
|
|
46
|
+
name: string;
|
|
47
|
+
}
|
|
48
|
+
/** What asking for requests answered: the list, or why there is none: "none" and "could not tell" are different answers. */
|
|
49
|
+
export type RequestsOutcome = {
|
|
50
|
+
ok: true;
|
|
51
|
+
requests: GitHostRequest[];
|
|
52
|
+
} | {
|
|
53
|
+
ok: false;
|
|
54
|
+
error: string;
|
|
55
|
+
};
|
|
56
|
+
/** What opening a pull request left: the request, and whether it was open already. */
|
|
57
|
+
export type OpenOutcome = {
|
|
58
|
+
ok: true;
|
|
59
|
+
request: {
|
|
60
|
+
number: number;
|
|
61
|
+
url: string;
|
|
62
|
+
};
|
|
63
|
+
existing: boolean;
|
|
64
|
+
} | {
|
|
65
|
+
ok: false;
|
|
66
|
+
error: string;
|
|
67
|
+
};
|
|
68
|
+
/** What landing a pull request did: armed to merge on green, merged at once, or the provider watching its checks. */
|
|
69
|
+
export type MergeOutcome = {
|
|
70
|
+
ok: true;
|
|
71
|
+
outcome: 'auto-armed' | 'merged' | 'watching';
|
|
72
|
+
} | {
|
|
73
|
+
ok: false;
|
|
74
|
+
error: string;
|
|
75
|
+
};
|
|
76
|
+
/** A project's git host: what a provider answers, read and moved by OpenAgent. */
|
|
77
|
+
export interface GitHostSource {
|
|
78
|
+
/** The project's pull requests, newest first: all, or one branch's, or by state, or since a time. */
|
|
79
|
+
requests(opts?: {
|
|
80
|
+
branch?: string;
|
|
81
|
+
state?: 'open' | 'merged' | 'all';
|
|
82
|
+
since?: string;
|
|
83
|
+
}): Promise<RequestsOutcome>;
|
|
84
|
+
/** Open a branch's pull request, or answer the open one. */
|
|
85
|
+
open(branch: string, opts: {
|
|
86
|
+
title: string;
|
|
87
|
+
body?: string;
|
|
88
|
+
draft?: boolean;
|
|
89
|
+
}): Promise<OpenOutcome>;
|
|
90
|
+
/** Land a pull request. */
|
|
91
|
+
merge(number: number): Promise<MergeOutcome>;
|
|
92
|
+
/** The project's page on the git host; `undefined` when the provider cannot tell (no remote there). */
|
|
93
|
+
home(): Promise<GitHostHome | undefined>;
|
|
94
|
+
}
|
|
95
|
+
/** The git host of the project at `root`, or `undefined` when none of its packages provides one. */
|
|
96
|
+
export type GitHostFor = (root: string) => Promise<GitHostSource | undefined>;
|
|
97
|
+
/** A {@link GitHostFor} that also forgets what it knows of one project. */
|
|
98
|
+
export type GitHostReader = GitHostFor & {
|
|
99
|
+
changed(root: string): void;
|
|
100
|
+
};
|
|
101
|
+
/** The rows read back from a provider's `requests`: the objects with the facts a request needs; anything else is no request. */
|
|
102
|
+
export declare function parseRequests(output: unknown): GitHostRequest[];
|
|
103
|
+
/**
|
|
104
|
+
* The production {@link GitHostReader}: the project's provider, looked up by its package.json, one
|
|
105
|
+
* source per project kept while the same command provides, so a project that installs, swaps or
|
|
106
|
+
* drops its git host is read the new way within {@link CACHE_MS}. `changed(root)` forgets the
|
|
107
|
+
* project, so the next ask looks its provider up again.
|
|
108
|
+
*/
|
|
109
|
+
export declare function providedGitHost(now?: () => number): GitHostReader;
|
|
110
|
+
/** OpenAgent's one reader of the git host, shared by every caller. */
|
|
111
|
+
export declare const projectGitHost: GitHostReader;
|
|
112
|
+
/** A {@link GitHostFor} for a project with no git host package. */
|
|
113
|
+
export declare const noGitHost: GitHostFor;
|
|
114
|
+
//# sourceMappingURL=git-host.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"git-host.d.ts","sourceRoot":"","sources":["../../src/store/git-host.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import { runPackageCommand } from '@openagt/agent-data';
|
|
2
|
+
import { isBuiltIn, providedCommand } from '../built-in.js';
|
|
3
|
+
/** How long a provider lookup is reused: the dashboard asks for the git host on every handoff read. */
|
|
4
|
+
const CACHE_MS = 5_000;
|
|
5
|
+
/** The rows read back from a provider's `requests`: the objects with the facts a request needs; anything else is no request. */
|
|
6
|
+
export function parseRequests(output) {
|
|
7
|
+
if (!Array.isArray(output))
|
|
8
|
+
return [];
|
|
9
|
+
const requests = [];
|
|
10
|
+
for (const value of output) {
|
|
11
|
+
if (!value || typeof value !== 'object')
|
|
12
|
+
continue;
|
|
13
|
+
const row = value;
|
|
14
|
+
const state = row['state'];
|
|
15
|
+
if (typeof row['number'] !== 'number' || typeof row['url'] !== 'string' || (state !== 'open' && state !== 'merged' && state !== 'closed'))
|
|
16
|
+
continue;
|
|
17
|
+
requests.push({
|
|
18
|
+
number: row['number'],
|
|
19
|
+
url: row['url'],
|
|
20
|
+
state,
|
|
21
|
+
title: typeof row['title'] === 'string' ? row['title'] : '',
|
|
22
|
+
draft: row['draft'] === true,
|
|
23
|
+
branch: typeof row['branch'] === 'string' ? row['branch'] : '',
|
|
24
|
+
head: typeof row['head'] === 'string' ? row['head'] : '',
|
|
25
|
+
createdAt: typeof row['createdAt'] === 'string' ? row['createdAt'] : '',
|
|
26
|
+
...(typeof row['mergedAt'] === 'string' ? { mergedAt: row['mergedAt'] } : {}),
|
|
27
|
+
...(typeof row['mergeCommit'] === 'string' ? { mergeCommit: row['mergeCommit'] } : {}),
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
return requests;
|
|
31
|
+
}
|
|
32
|
+
/** A pull request read back from an `open` answer, or undefined. */
|
|
33
|
+
function requestOf(output) {
|
|
34
|
+
const request = output && typeof output === 'object' ? output['request'] : undefined;
|
|
35
|
+
return request && typeof request === 'object' && typeof request['number'] === 'number' && typeof request['url'] === 'string' ? { number: request['number'], url: request['url'] } : undefined;
|
|
36
|
+
}
|
|
37
|
+
/** The git host source over one provider command: each call one run of the command. */
|
|
38
|
+
function commandGitHost(root, command) {
|
|
39
|
+
return {
|
|
40
|
+
async requests(opts = {}) {
|
|
41
|
+
const args = ['requests', ...(opts.branch ? ['--branch', opts.branch] : []), ...(opts.state ? ['--state', opts.state] : []), ...(opts.since ? ['--since', opts.since] : [])];
|
|
42
|
+
const result = await runPackageCommand(root, command, args);
|
|
43
|
+
if (!result.ok)
|
|
44
|
+
return { ok: false, error: result.error };
|
|
45
|
+
return { ok: true, requests: parseRequests(result.output) };
|
|
46
|
+
},
|
|
47
|
+
async open(branch, opts) {
|
|
48
|
+
const args = ['open', '--branch', branch, '--title', opts.title, ...(opts.body !== undefined ? ['--body', opts.body] : []), ...(opts.draft ? ['--draft'] : [])];
|
|
49
|
+
const result = await runPackageCommand(root, command, args);
|
|
50
|
+
if (!result.ok)
|
|
51
|
+
return { ok: false, error: result.error };
|
|
52
|
+
const request = requestOf(result.output);
|
|
53
|
+
if (!request)
|
|
54
|
+
return { ok: false, error: `${command.name} opened no pull request` };
|
|
55
|
+
return { ok: true, request, existing: result.output['existing'] === true };
|
|
56
|
+
},
|
|
57
|
+
async merge(number) {
|
|
58
|
+
const result = await runPackageCommand(root, command, ['merge', String(number)]);
|
|
59
|
+
if (!result.ok)
|
|
60
|
+
return { ok: false, error: result.error };
|
|
61
|
+
const outcome = result.output && typeof result.output === 'object' ? result.output['outcome'] : undefined;
|
|
62
|
+
if (outcome === 'auto-armed' || outcome === 'merged' || outcome === 'watching')
|
|
63
|
+
return { ok: true, outcome };
|
|
64
|
+
return { ok: false, error: `${command.name} did not merge` };
|
|
65
|
+
},
|
|
66
|
+
async home() {
|
|
67
|
+
const result = await runPackageCommand(root, command, ['home']);
|
|
68
|
+
if (!result.ok || !result.output || typeof result.output !== 'object')
|
|
69
|
+
return undefined;
|
|
70
|
+
const home = result.output;
|
|
71
|
+
return typeof home['url'] === 'string' && typeof home['name'] === 'string' ? { url: home['url'], name: home['name'] } : undefined;
|
|
72
|
+
},
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* The production {@link GitHostReader}: the project's provider, looked up by its package.json, one
|
|
77
|
+
* source per project kept while the same command provides, so a project that installs, swaps or
|
|
78
|
+
* drops its git host is read the new way within {@link CACHE_MS}. `changed(root)` forgets the
|
|
79
|
+
* project, so the next ask looks its provider up again.
|
|
80
|
+
*/
|
|
81
|
+
export function providedGitHost(now = Date.now) {
|
|
82
|
+
const sources = new Map();
|
|
83
|
+
const reader = async (root) => {
|
|
84
|
+
let known = sources.get(root);
|
|
85
|
+
if (!known || now() - known.at >= CACHE_MS) {
|
|
86
|
+
let command = await providedCommand(root, 'git-host').catch(() => undefined);
|
|
87
|
+
// A built-in git host is one the project did not choose: it is the project's only when it
|
|
88
|
+
// knows the project's page there (the origin remote is on that host).
|
|
89
|
+
if (command && (await isBuiltIn(root, command)) && !(await commandGitHost(root, command).home()))
|
|
90
|
+
command = undefined;
|
|
91
|
+
const same = known?.command && command && known.command.bin === command.bin;
|
|
92
|
+
known = { at: now(), ...(command ? { command, source: same ? known.source : commandGitHost(root, command) } : {}) };
|
|
93
|
+
sources.set(root, known);
|
|
94
|
+
}
|
|
95
|
+
return known.source;
|
|
96
|
+
};
|
|
97
|
+
return Object.assign(reader, { changed: (root) => sources.delete(root) });
|
|
98
|
+
}
|
|
99
|
+
/** OpenAgent's one reader of the git host, shared by every caller. */
|
|
100
|
+
export const projectGitHost = providedGitHost();
|
|
101
|
+
/** A {@link GitHostFor} for a project with no git host package. */
|
|
102
|
+
export const noGitHost = async () => undefined;
|
|
103
|
+
//# sourceMappingURL=git-host.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"git-host.js","sourceRoot":"","sources":["../../src/store/git-host.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export { nodeStoreFs, listAgents, readAllAgents, findAgent, isPidAlive, readLiveMeta, loadAgentEvents, readLiveMetas, readDoing, readFinishedDiary, type StoreFs, type AgentMeta, type LiveAgent, type AgentStatus, } from './agent-store.js';
|
|
2
|
+
export { findCheckout, resolveAgentCheckout, resolveAgentDiary, type AgentDiarySource } from './agent-checkout.js';
|
|
3
|
+
export { projectRuns, providedRuns, noRuns, parseRunCard, isRunId, type RunsFor, type RunsReader, type RunsSource, type RunsWrite, type RunCard, type RunPatch, type RunStatus, type AnyDiaryLine, type FinishedRun } from './runs.js';
|
|
4
|
+
export { projectBranches, providedBranches, noBranches, parseCheckouts, parseBranchStates, type BranchesFor, type BranchesReader, type BranchesSource, type RemoveOutcome as BranchRemoveOutcome, type Checkout, type BranchState, type BranchCommit, type BranchFile, type PushOutcome as BranchPushOutcome } from './branches.js';
|
|
5
|
+
export { projectGitHost, providedGitHost, noGitHost, parseRequests, type GitHostFor, type GitHostReader, type GitHostSource, type GitHostRequest, type GitHostHome, type RequestsOutcome as GitHostRequestsOutcome, type OpenOutcome as GitHostOpenOutcome, type MergeOutcome as GitHostMergeOutcome } from './git-host.js';
|
|
6
|
+
export { projectQueue, providedQueue, noQueue, parseQueueEntries, type QueueFor, type QueueReader, type QueueSource } from './queue.js';
|
|
7
|
+
export { providedDataChanged } from './provided.js';
|
|
8
|
+
export { fromRunCard, fromDiaryLine, eventsOf } from './run-record.js';
|
|
9
|
+
export { agentIdFromStartedAt, startedAtFromAgentId } from '../agent-id.js';
|
|
10
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/store/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,UAAU,EACV,aAAa,EACb,SAAS,EACT,UAAU,EACV,YAAY,EACZ,eAAe,EACf,aAAa,EACb,SAAS,EACT,iBAAiB,EACjB,KAAK,OAAO,EACZ,KAAK,SAAS,EACd,KAAK,SAAS,EACd,KAAK,WAAW,GACjB,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,KAAK,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AAClH,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,UAAU,EAAE,KAAK,UAAU,EAAE,KAAK,SAAS,EAAE,KAAK,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,SAAS,EAAE,KAAK,YAAY,EAAE,KAAK,WAAW,EAAE,MAAM,WAAW,CAAA;AACtO,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,UAAU,EAAE,cAAc,EAAE,iBAAiB,EAAE,KAAK,WAAW,EAAE,KAAK,cAAc,EAAE,KAAK,cAAc,EAAE,KAAK,aAAa,IAAI,mBAAmB,EAAE,KAAK,QAAQ,EAAE,KAAK,WAAW,EAAE,KAAK,YAAY,EAAE,KAAK,UAAU,EAAE,KAAK,WAAW,IAAI,iBAAiB,EAAE,MAAM,eAAe,CAAA;AACnU,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,SAAS,EAAE,aAAa,EAAE,KAAK,UAAU,EAAE,KAAK,aAAa,EAAE,KAAK,aAAa,EAAE,KAAK,cAAc,EAAE,KAAK,WAAW,EAAE,KAAK,eAAe,IAAI,sBAAsB,EAAE,KAAK,WAAW,IAAI,kBAAkB,EAAE,KAAK,YAAY,IAAI,mBAAmB,EAAE,MAAM,eAAe,CAAA;AAC3T,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,OAAO,EAAE,iBAAiB,EAAE,KAAK,QAAQ,EAAE,KAAK,WAAW,EAAE,KAAK,WAAW,EAAE,MAAM,YAAY,CAAA;AACvI,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAA;AACnD,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AACtE,OAAO,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAA"}
|