@openagt/dashboard 0.8.0 → 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/README.md +6 -6
- package/dist/agent-view.d.ts +3 -3
- package/dist/bridge-browser.d.ts +4 -4
- package/dist/bridge-browser.d.ts.map +1 -1
- package/dist/bridge-browser.js +8 -8
- package/dist/bridge-browser.js.map +1 -1
- package/dist/built-in.d.ts +13 -4
- package/dist/built-in.d.ts.map +1 -1
- package/dist/built-in.js +45 -4
- package/dist/built-in.js.map +1 -1
- package/dist/chrome-extension/background.js +11 -11
- package/dist/chrome-extension/content.js +37 -37
- package/dist/chrome-extension/driver-plan.js +1 -1
- package/dist/chrome-extension/fingerprint.js +1 -1
- package/dist/chrome-extension/manifest.json +3 -3
- package/dist/chrome-extension/options.html +4 -4
- package/dist/chrome-extension/options.js +4 -4
- package/dist/cli.d.ts +1 -1
- package/dist/cli.js +7 -7
- package/dist/cli.js.map +1 -1
- package/dist/client.d.ts +1 -1
- package/dist/client.js +2 -2
- package/dist/cloud-run-state.d.ts +1 -1
- package/dist/cloud-scratch-refs.js +7 -7
- package/dist/cloud-scratch-refs.js.map +1 -1
- package/dist/cloud-work.js +2 -2
- package/dist/daemon-runtime.d.ts +5 -4
- package/dist/daemon-runtime.d.ts.map +1 -1
- package/dist/daemon-runtime.js +59 -9
- package/dist/daemon-runtime.js.map +1 -1
- package/dist/daemon-services.d.ts +4 -3
- package/dist/daemon-services.d.ts.map +1 -1
- package/dist/daemon-services.js +14 -8
- package/dist/daemon-services.js.map +1 -1
- package/dist/daemon-tick.js +1 -1
- package/dist/daemon.d.ts +1 -12
- package/dist/daemon.d.ts.map +1 -1
- package/dist/daemon.js +9 -32
- package/dist/daemon.js.map +1 -1
- package/dist/dashboard/agent-handoff.d.ts +4 -4
- package/dist/dashboard/agent-handoff.js +7 -7
- package/dist/dashboard/agent-handoff.js.map +1 -1
- package/dist/dashboard/bridge-endpoints.d.ts +3 -3
- package/dist/dashboard/bridge-endpoints.js +3 -3
- package/dist/dashboard/content-type.js +1 -1
- package/dist/dashboard/docs.d.ts +1 -1
- package/dist/dashboard/docs.js +1 -1
- package/dist/dashboard/git-status.d.ts +1 -1
- package/dist/dashboard/index.d.ts +1 -1
- package/dist/dashboard/index.d.ts.map +1 -1
- package/dist/dashboard/interventions.d.ts +2 -2
- package/dist/dashboard/open-in-app.d.ts +3 -3
- package/dist/dashboard/open-in-app.js +4 -4
- package/dist/dashboard/open-questions.d.ts +2 -2
- package/dist/dashboard/projects.d.ts +6 -5
- package/dist/dashboard/projects.d.ts.map +1 -1
- package/dist/dashboard/projects.js.map +1 -1
- package/dist/dashboard/pull-requests.d.ts +5 -5
- package/dist/dashboard/pull-requests.d.ts.map +1 -1
- package/dist/dashboard/pull-requests.js +2 -2
- package/dist/dashboard/pull-requests.js.map +1 -1
- package/dist/dashboard/relay-endpoints.d.ts +3 -3
- package/dist/dashboard/relay-endpoints.js +1 -1
- package/dist/dashboard/remote-run.d.ts +5 -5
- package/dist/dashboard/remote-run.js +3 -3
- package/dist/dashboard/rpc-serve.d.ts +7 -4
- package/dist/dashboard/rpc-serve.d.ts.map +1 -1
- package/dist/dashboard/rpc-serve.js.map +1 -1
- package/dist/dashboard/run-inbox.d.ts +2 -2
- package/dist/dashboard/run-inbox.js +4 -4
- package/dist/dashboard/run-inbox.js.map +1 -1
- package/dist/dashboard/server.d.ts +6 -4
- package/dist/dashboard/server.d.ts.map +1 -1
- package/dist/dashboard/server.js +3 -2
- package/dist/dashboard/server.js.map +1 -1
- package/dist/dashboard/static.js +1 -1
- package/dist/dashboard/types.d.ts +29 -3
- package/dist/dashboard/types.d.ts.map +1 -1
- package/dist/dashboard/web-start-endpoints.d.ts +1 -1
- package/dist/dashboard/web-start-endpoints.d.ts.map +1 -1
- package/dist/dashboard/web-start-endpoints.js +1 -1
- package/dist/dashboard/web-start-endpoints.js.map +1 -1
- package/dist/dashboard-bundle/assets/{main-om0WOAku.js → main-B98UOA3_.js} +48 -48
- package/dist/dashboard-bundle/assets/main-ByRjbCiA.css +2 -0
- package/dist/dashboard-bundle/assets/{module-jASZmfSB.js → module-v213KWfH.js} +4 -4
- package/dist/dashboard-bundle/host/module.js +1 -1
- package/dist/dashboard-bundle/index.html +6 -6
- package/dist/dashboard-rpc/context.d.ts +2 -0
- package/dist/dashboard-rpc/context.d.ts.map +1 -1
- package/dist/dashboard-rpc/context.js +4 -0
- package/dist/dashboard-rpc/context.js.map +1 -1
- package/dist/dashboard-rpc/control.d.ts +1 -1
- package/dist/dashboard-rpc/control.js +3 -3
- package/dist/dashboard-rpc/control.js.map +1 -1
- package/dist/dashboard-rpc/events.d.ts +3 -3
- package/dist/dashboard-rpc/index.d.ts +1 -1
- package/dist/dashboard-rpc/index.d.ts.map +1 -1
- package/dist/dashboard-rpc/index.js +1 -1
- package/dist/dashboard-rpc/index.js.map +1 -1
- package/dist/dashboard-rpc/modules.d.ts +8 -6
- package/dist/dashboard-rpc/modules.d.ts.map +1 -1
- package/dist/dashboard-rpc/modules.js +8 -6
- package/dist/dashboard-rpc/modules.js.map +1 -1
- package/dist/dashboard-rpc/preferences.d.ts +2 -2
- package/dist/dashboard-rpc/preferences.d.ts.map +1 -1
- package/dist/dashboard-rpc/preferences.js +2 -2
- package/dist/dashboard-rpc/preferences.js.map +1 -1
- package/dist/dashboard-rpc/projects.d.ts +29 -3
- package/dist/dashboard-rpc/projects.d.ts.map +1 -1
- package/dist/dashboard-rpc/projects.js +49 -7
- package/dist/dashboard-rpc/projects.js.map +1 -1
- package/dist/dashboard-rpc/reads.d.ts +3 -3
- package/dist/dashboard-rpc/reads.js +1 -1
- package/dist/dashboard-rpc/test-context.d.ts.map +1 -1
- package/dist/dashboard-rpc/test-context.js +4 -3
- package/dist/dashboard-rpc/test-context.js.map +1 -1
- package/dist/event-stream.d.ts +1 -1
- package/dist/event-stream.js +1 -1
- package/dist/events.d.ts +8 -8
- package/dist/events.d.ts.map +1 -1
- package/dist/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/install.d.ts +9 -7
- package/dist/install.d.ts.map +1 -1
- package/dist/install.js +28 -14
- package/dist/install.js.map +1 -1
- package/dist/module-server.d.ts +1 -1
- package/dist/module-types/dashboard/lib/route.d.ts +2 -1
- package/dist/module-types/dashboard/lib/use-modules.d.ts +4 -3
- package/dist/module-types/dashboard/module/index.d.ts +5 -5
- package/dist/module-types/src/agent-view.d.ts +3 -3
- package/dist/module-types/src/bridge-browser.d.ts +4 -4
- package/dist/module-types/src/built-in.d.ts +13 -4
- package/dist/module-types/src/client.d.ts +1 -1
- package/dist/module-types/src/cloud-run-state.d.ts +1 -1
- package/dist/module-types/src/dashboard/agent-handoff.d.ts +4 -4
- package/dist/module-types/src/dashboard/bridge-endpoints.d.ts +3 -3
- package/dist/module-types/src/dashboard/docs.d.ts +1 -1
- package/dist/module-types/src/dashboard/git-status.d.ts +1 -1
- package/dist/module-types/src/dashboard/interventions.d.ts +2 -2
- package/dist/module-types/src/dashboard/open-in-app.d.ts +3 -3
- package/dist/module-types/src/dashboard/open-questions.d.ts +2 -2
- package/dist/module-types/src/dashboard/projects.d.ts +6 -5
- package/dist/module-types/src/dashboard/pull-requests.d.ts +5 -5
- package/dist/module-types/src/dashboard/remote-run.d.ts +5 -5
- package/dist/module-types/src/dashboard/rpc-serve.d.ts +7 -4
- package/dist/module-types/src/dashboard/run-inbox.d.ts +2 -2
- package/dist/module-types/src/dashboard/types.d.ts +29 -3
- package/dist/module-types/src/dashboard-rpc/context.d.ts +2 -0
- package/dist/module-types/src/dashboard-rpc/control.d.ts +1 -1
- package/dist/module-types/src/dashboard-rpc/events.d.ts +3 -3
- package/dist/module-types/src/dashboard-rpc/index.d.ts +1 -1
- package/dist/module-types/src/dashboard-rpc/modules.d.ts +8 -6
- package/dist/module-types/src/dashboard-rpc/preferences.d.ts +2 -2
- package/dist/module-types/src/dashboard-rpc/projects.d.ts +29 -3
- package/dist/module-types/src/dashboard-rpc/reads.d.ts +3 -3
- package/dist/module-types/src/event-stream.d.ts +1 -1
- package/dist/module-types/src/events.d.ts +8 -8
- package/dist/module-types/src/index.d.ts +3 -2
- package/dist/module-types/src/open-choices.d.ts +2 -2
- package/dist/module-types/src/{framework-dir.d.ts → openagent-dir.d.ts} +2 -2
- package/dist/module-types/src/openagent-gitignore.d.ts +11 -0
- package/dist/module-types/src/project-commands.d.ts +1 -1
- package/dist/module-types/src/project-errors.d.ts +11 -7
- package/dist/module-types/src/project-hooks.d.ts +4 -4
- package/dist/module-types/src/project-modules.d.ts +5 -5
- package/dist/module-types/src/project-presets.d.ts +4 -4
- package/dist/module-types/src/project.d.ts +6 -6
- package/dist/module-types/src/publish-levels.d.ts +4 -4
- package/dist/module-types/src/quota-boundary.d.ts +2 -2
- package/dist/module-types/src/registry.d.ts +13 -7
- package/dist/module-types/src/store/agent-checkout.d.ts +1 -1
- package/dist/module-types/src/store/agent-store.d.ts +6 -6
- package/dist/module-types/src/store/branches.d.ts +7 -7
- package/dist/module-types/src/store/git-host.d.ts +7 -7
- package/dist/module-types/src/store/provided.d.ts +3 -3
- package/dist/module-types/src/store/queue.d.ts +8 -8
- package/dist/module-types/src/store/repository.d.ts +2 -2
- package/dist/module-types/src/store/run-record.d.ts +10 -10
- package/dist/module-types/src/store/runs.d.ts +6 -6
- package/dist/module-types/src/store/tickets.d.ts +7 -7
- package/dist/module-types/src/terminal.d.ts +3 -3
- package/dist/open-choices.d.ts +2 -2
- package/dist/{framework-dir.js → openagent-dir.d.ts} +3 -3
- package/dist/openagent-dir.d.ts.map +1 -0
- package/dist/{framework-dir.d.ts → openagent-dir.js} +3 -3
- 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.js +2 -2
- package/dist/pick-directory.js.map +1 -1
- package/dist/project-commands.d.ts +1 -1
- package/dist/project-commands.js +1 -1
- package/dist/project-errors.d.ts +11 -7
- package/dist/project-errors.d.ts.map +1 -1
- package/dist/project-errors.js +10 -8
- package/dist/project-errors.js.map +1 -1
- package/dist/project-hooks.d.ts +4 -4
- package/dist/project-hooks.d.ts.map +1 -1
- package/dist/project-hooks.js +8 -8
- package/dist/project-hooks.js.map +1 -1
- package/dist/project-modules.d.ts +5 -5
- package/dist/project-modules.js +2 -2
- package/dist/project-presets.d.ts +4 -4
- package/dist/project-presets.d.ts.map +1 -1
- package/dist/project-presets.js +9 -9
- package/dist/project-presets.js.map +1 -1
- package/dist/project.d.ts +6 -6
- package/dist/project.js +6 -6
- package/dist/publish-levels.d.ts +4 -4
- package/dist/publish-levels.d.ts.map +1 -1
- package/dist/publish-levels.js +7 -5
- package/dist/publish-levels.js.map +1 -1
- package/dist/quota-boundary.d.ts +2 -2
- package/dist/quota-boundary.js +2 -2
- package/dist/registry.d.ts +13 -7
- package/dist/registry.d.ts.map +1 -1
- package/dist/registry.js +19 -3
- package/dist/registry.js.map +1 -1
- 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/store/agent-checkout.d.ts +1 -1
- package/dist/store/agent-checkout.js +3 -3
- package/dist/store/agent-checkout.js.map +1 -1
- package/dist/store/agent-store.d.ts +6 -6
- package/dist/store/agent-store.js +8 -8
- package/dist/store/agent-store.js.map +1 -1
- package/dist/store/branches.d.ts +7 -7
- package/dist/store/branches.d.ts.map +1 -1
- package/dist/store/branches.js +1 -1
- package/dist/store/branches.js.map +1 -1
- package/dist/store/git-host.d.ts +7 -7
- package/dist/store/git-host.d.ts.map +1 -1
- package/dist/store/git-host.js +1 -1
- package/dist/store/git-host.js.map +1 -1
- package/dist/store/provided.d.ts +3 -3
- package/dist/store/provided.d.ts.map +1 -1
- package/dist/store/provided.js +3 -3
- package/dist/store/provided.js.map +1 -1
- package/dist/store/queue.d.ts +8 -8
- package/dist/store/queue.d.ts.map +1 -1
- package/dist/store/queue.js +1 -1
- package/dist/store/queue.js.map +1 -1
- package/dist/store/repository.d.ts +2 -2
- package/dist/store/run-record.d.ts +10 -10
- package/dist/store/run-record.d.ts.map +1 -1
- package/dist/store/run-record.js +7 -7
- package/dist/store/run-record.js.map +1 -1
- package/dist/store/runs.d.ts +6 -6
- package/dist/store/runs.d.ts.map +1 -1
- package/dist/store/runs.js +2 -2
- package/dist/store/runs.js.map +1 -1
- package/dist/store/tickets.d.ts +7 -7
- package/dist/store/tickets.d.ts.map +1 -1
- package/dist/store/tickets.js +1 -1
- package/dist/store/tickets.js.map +1 -1
- package/dist/terminal.d.ts +3 -3
- package/dist/terminal.js +3 -3
- package/package.json +19 -19
- package/dist/agent-archive.d.ts +0 -35
- package/dist/agent-archive.d.ts.map +0 -1
- package/dist/agent-archive.js +0 -67
- package/dist/agent-archive.js.map +0 -1
- package/dist/agent-commit.d.ts +0 -140
- package/dist/agent-commit.d.ts.map +0 -1
- package/dist/agent-commit.js +0 -254
- package/dist/agent-commit.js.map +0 -1
- package/dist/agent-driver.d.ts +0 -28
- package/dist/agent-driver.d.ts.map +0 -1
- package/dist/agent-driver.js +0 -18
- package/dist/agent-driver.js.map +0 -1
- package/dist/agent-location.d.ts +0 -11
- package/dist/agent-location.d.ts.map +0 -1
- package/dist/agent-location.js +0 -10
- package/dist/agent-location.js.map +0 -1
- package/dist/agent-messages.d.ts +0 -55
- package/dist/agent-messages.d.ts.map +0 -1
- package/dist/agent-messages.js +0 -73
- package/dist/agent-messages.js.map +0 -1
- package/dist/agent-names.d.ts +0 -24
- package/dist/agent-names.d.ts.map +0 -1
- package/dist/agent-names.js +0 -33
- package/dist/agent-names.js.map +0 -1
- package/dist/agent-options.d.ts +0 -45
- package/dist/agent-options.d.ts.map +0 -1
- package/dist/agent-options.js +0 -83
- package/dist/agent-options.js.map +0 -1
- package/dist/agent-spec.d.ts +0 -56
- package/dist/agent-spec.d.ts.map +0 -1
- package/dist/agent-spec.js +0 -56
- package/dist/agent-spec.js.map +0 -1
- package/dist/agent-telemetry.d.ts +0 -88
- package/dist/agent-telemetry.d.ts.map +0 -1
- package/dist/agent-telemetry.js +0 -97
- package/dist/agent-telemetry.js.map +0 -1
- package/dist/agent.d.ts +0 -113
- package/dist/agent.d.ts.map +0 -1
- package/dist/agent.js +0 -168
- package/dist/agent.js.map +0 -1
- package/dist/archived-agent-patch.d.ts +0 -14
- package/dist/archived-agent-patch.d.ts.map +0 -1
- package/dist/archived-agent-patch.js +0 -22
- package/dist/archived-agent-patch.js.map +0 -1
- package/dist/auto-pm.d.ts +0 -538
- package/dist/auto-pm.d.ts.map +0 -1
- package/dist/auto-pm.js +0 -707
- package/dist/auto-pm.js.map +0 -1
- package/dist/await-gate.d.ts +0 -184
- package/dist/await-gate.d.ts.map +0 -1
- package/dist/await-gate.js +0 -252
- package/dist/await-gate.js.map +0 -1
- package/dist/branch-links-pass.d.ts +0 -15
- package/dist/branch-links-pass.d.ts.map +0 -1
- package/dist/branch-links-pass.js +0 -13
- package/dist/branch-links-pass.js.map +0 -1
- package/dist/branch-links.d.ts +0 -53
- package/dist/branch-links.d.ts.map +0 -1
- package/dist/branch-links.js +0 -94
- package/dist/branch-links.js.map +0 -1
- package/dist/branch-names.d.ts +0 -57
- package/dist/branch-names.d.ts.map +0 -1
- package/dist/branch-names.js +0 -72
- package/dist/branch-names.js.map +0 -1
- package/dist/ci-watch.d.ts +0 -123
- package/dist/ci-watch.d.ts.map +0 -1
- package/dist/ci-watch.js +0 -228
- package/dist/ci-watch.js.map +0 -1
- package/dist/claude-trust.d.ts +0 -16
- package/dist/claude-trust.d.ts.map +0 -1
- package/dist/claude-trust.js +0 -72
- package/dist/claude-trust.js.map +0 -1
- package/dist/cli-exec.d.ts +0 -36
- package/dist/cli-exec.d.ts.map +0 -1
- package/dist/cli-exec.js +0 -44
- package/dist/cli-exec.js.map +0 -1
- package/dist/closing-keywords.d.ts +0 -28
- package/dist/closing-keywords.d.ts.map +0 -1
- package/dist/closing-keywords.js +0 -49
- package/dist/closing-keywords.js.map +0 -1
- package/dist/config-layers.d.ts +0 -62
- package/dist/config-layers.d.ts.map +0 -1
- package/dist/config-layers.js +0 -70
- package/dist/config-layers.js.map +0 -1
- package/dist/config.d.ts +0 -54
- package/dist/config.d.ts.map +0 -1
- package/dist/config.js +0 -78
- package/dist/config.js.map +0 -1
- package/dist/consumption-guard.d.ts +0 -53
- package/dist/consumption-guard.d.ts.map +0 -1
- package/dist/consumption-guard.js +0 -69
- package/dist/consumption-guard.js.map +0 -1
- package/dist/control.d.ts +0 -75
- package/dist/control.d.ts.map +0 -1
- package/dist/control.js +0 -68
- package/dist/control.js.map +0 -1
- package/dist/conversation-commit.d.ts +0 -166
- package/dist/conversation-commit.d.ts.map +0 -1
- package/dist/conversation-commit.js +0 -309
- package/dist/conversation-commit.js.map +0 -1
- package/dist/conversations.d.ts +0 -93
- package/dist/conversations.d.ts.map +0 -1
- package/dist/conversations.js +0 -176
- package/dist/conversations.js.map +0 -1
- package/dist/daemon-writes.d.ts +0 -33
- package/dist/daemon-writes.d.ts.map +0 -1
- package/dist/daemon-writes.js +0 -45
- package/dist/daemon-writes.js.map +0 -1
- package/dist/dashboard/agent-tree.d.ts +0 -106
- package/dist/dashboard/agent-tree.d.ts.map +0 -1
- package/dist/dashboard/agent-tree.js +0 -180
- package/dist/dashboard/agent-tree.js.map +0 -1
- package/dist/dashboard/browser-proxy.d.ts +0 -41
- package/dist/dashboard/browser-proxy.d.ts.map +0 -1
- package/dist/dashboard/browser-proxy.js +0 -96
- package/dist/dashboard/browser-proxy.js.map +0 -1
- package/dist/dashboard/discord-webhook.d.ts +0 -17
- package/dist/dashboard/discord-webhook.d.ts.map +0 -1
- package/dist/dashboard/discord-webhook.js +0 -36
- package/dist/dashboard/discord-webhook.js.map +0 -1
- package/dist/dashboard/file-diff.d.ts +0 -67
- package/dist/dashboard/file-diff.d.ts.map +0 -1
- package/dist/dashboard/file-diff.js +0 -132
- package/dist/dashboard/file-diff.js.map +0 -1
- package/dist/dashboard/file-read.d.ts +0 -42
- package/dist/dashboard/file-read.d.ts.map +0 -1
- package/dist/dashboard/file-read.js +0 -69
- package/dist/dashboard/file-read.js.map +0 -1
- package/dist/dashboard/file-status.d.ts +0 -21
- package/dist/dashboard/file-status.d.ts.map +0 -1
- package/dist/dashboard/file-status.js +0 -37
- package/dist/dashboard/file-status.js.map +0 -1
- package/dist/dashboard/gh.d.ts +0 -131
- package/dist/dashboard/gh.d.ts.map +0 -1
- package/dist/dashboard/gh.js +0 -150
- package/dist/dashboard/gh.js.map +0 -1
- package/dist/dashboard/github.d.ts +0 -11
- package/dist/dashboard/github.d.ts.map +0 -1
- package/dist/dashboard/github.js +0 -33
- package/dist/dashboard/github.js.map +0 -1
- package/dist/dashboard/run-handoff.d.ts +0 -311
- package/dist/dashboard/run-handoff.d.ts.map +0 -1
- package/dist/dashboard/run-handoff.js +0 -485
- package/dist/dashboard/run-handoff.js.map +0 -1
- package/dist/dashboard/scheduler-state.d.ts +0 -73
- package/dist/dashboard/scheduler-state.d.ts.map +0 -1
- package/dist/dashboard/scheduler-state.js +0 -120
- package/dist/dashboard/scheduler-state.js.map +0 -1
- package/dist/dashboard/subagent-settings.d.ts +0 -26
- package/dist/dashboard/subagent-settings.d.ts.map +0 -1
- package/dist/dashboard/subagent-settings.js +0 -52
- package/dist/dashboard/subagent-settings.js.map +0 -1
- package/dist/dashboard/telefunc-serve.d.ts +0 -118
- package/dist/dashboard/telefunc-serve.d.ts.map +0 -1
- package/dist/dashboard/telefunc-serve.js +0 -108
- package/dist/dashboard/telefunc-serve.js.map +0 -1
- package/dist/dashboard/tickets.d.ts +0 -29
- package/dist/dashboard/tickets.d.ts.map +0 -1
- package/dist/dashboard/tickets.js +0 -38
- package/dist/dashboard/tickets.js.map +0 -1
- package/dist/dashboard/widget-serve.d.ts +0 -15
- package/dist/dashboard/widget-serve.d.ts.map +0 -1
- package/dist/dashboard/widget-serve.js +0 -45
- package/dist/dashboard/widget-serve.js.map +0 -1
- package/dist/dashboard-bundle/assets/main-B3HghPQy.css +0 -2
- package/dist/dashboard-client/assets/chunks/chunk-BF9pJudf.js +0 -4
- package/dist/dashboard-client/assets/entries/entry-client-routing.CT1e9F0o.js +0 -1
- package/dist/dashboard-client/assets/entries/pages_index.CkW5JQ8X.js +0 -428
- package/dist/dashboard-client/assets/static/layouts_tailwind-00e65532.8OjKGAbA.css +0 -2
- package/dist/dashboard-client/index.html +0 -27
- package/dist/dashboard-client/index.pageContext.json +0 -1
- package/dist/dashboard-client/logo-animated.svg +0 -34
- package/dist/dashboard-client/logo.svg +0 -16
- package/dist/dashboard-rpc/control.telefunc.d.ts +0 -176
- package/dist/dashboard-rpc/control.telefunc.d.ts.map +0 -1
- package/dist/dashboard-rpc/control.telefunc.js +0 -373
- package/dist/dashboard-rpc/control.telefunc.js.map +0 -1
- package/dist/dashboard-rpc/devices.telefunc.d.ts +0 -9
- package/dist/dashboard-rpc/devices.telefunc.d.ts.map +0 -1
- package/dist/dashboard-rpc/devices.telefunc.js +0 -12
- package/dist/dashboard-rpc/devices.telefunc.js.map +0 -1
- package/dist/dashboard-rpc/events.telefunc.d.ts +0 -36
- package/dist/dashboard-rpc/events.telefunc.d.ts.map +0 -1
- package/dist/dashboard-rpc/events.telefunc.js +0 -70
- package/dist/dashboard-rpc/events.telefunc.js.map +0 -1
- package/dist/dashboard-rpc/preferences.telefunc.d.ts +0 -97
- package/dist/dashboard-rpc/preferences.telefunc.d.ts.map +0 -1
- package/dist/dashboard-rpc/preferences.telefunc.js +0 -157
- package/dist/dashboard-rpc/preferences.telefunc.js.map +0 -1
- package/dist/dashboard-rpc/projects.telefunc.d.ts +0 -56
- package/dist/dashboard-rpc/projects.telefunc.d.ts.map +0 -1
- package/dist/dashboard-rpc/projects.telefunc.js +0 -96
- package/dist/dashboard-rpc/projects.telefunc.js.map +0 -1
- package/dist/dashboard-rpc/quota.telefunc.d.ts +0 -40
- package/dist/dashboard-rpc/quota.telefunc.d.ts.map +0 -1
- package/dist/dashboard-rpc/quota.telefunc.js +0 -84
- package/dist/dashboard-rpc/quota.telefunc.js.map +0 -1
- package/dist/dashboard-rpc/reads.telefunc.d.ts +0 -197
- package/dist/dashboard-rpc/reads.telefunc.d.ts.map +0 -1
- package/dist/dashboard-rpc/reads.telefunc.js +0 -403
- package/dist/dashboard-rpc/reads.telefunc.js.map +0 -1
- package/dist/dashboard-rpc/register.d.ts +0 -18
- package/dist/dashboard-rpc/register.d.ts.map +0 -1
- package/dist/dashboard-rpc/register.js +0 -66
- package/dist/dashboard-rpc/register.js.map +0 -1
- package/dist/dashboard-rpc/relay-run.d.ts +0 -9
- package/dist/dashboard-rpc/relay-run.d.ts.map +0 -1
- package/dist/dashboard-rpc/relay-run.js +0 -21
- package/dist/dashboard-rpc/relay-run.js.map +0 -1
- package/dist/dashboard-rpc/stream-channel.d.ts +0 -23
- package/dist/dashboard-rpc/stream-channel.d.ts.map +0 -1
- package/dist/dashboard-rpc/stream-channel.js +0 -52
- package/dist/dashboard-rpc/stream-channel.js.map +0 -1
- package/dist/dashboard-rpc/subagents.d.ts +0 -12
- package/dist/dashboard-rpc/subagents.d.ts.map +0 -1
- package/dist/dashboard-rpc/subagents.js +0 -13
- package/dist/dashboard-rpc/subagents.js.map +0 -1
- package/dist/dashboard-rpc/widgets.d.ts +0 -33
- package/dist/dashboard-rpc/widgets.d.ts.map +0 -1
- package/dist/dashboard-rpc/widgets.js +0 -54
- package/dist/dashboard-rpc/widgets.js.map +0 -1
- package/dist/data-branch.d.ts +0 -120
- package/dist/data-branch.d.ts.map +0 -1
- package/dist/data-branch.js +0 -319
- package/dist/data-branch.js.map +0 -1
- package/dist/discord/bot.d.ts +0 -61
- package/dist/discord/bot.d.ts.map +0 -1
- package/dist/discord/bot.js +0 -94
- package/dist/discord/bot.js.map +0 -1
- package/dist/discord/gateway.d.ts +0 -137
- package/dist/discord/gateway.d.ts.map +0 -1
- package/dist/discord/gateway.js +0 -315
- package/dist/discord/gateway.js.map +0 -1
- package/dist/discord/live-run.d.ts +0 -31
- package/dist/discord/live-run.d.ts.map +0 -1
- package/dist/discord/live-run.js +0 -57
- package/dist/discord/live-run.js.map +0 -1
- package/dist/discord/reply-mirror.d.ts +0 -83
- package/dist/discord/reply-mirror.d.ts.map +0 -1
- package/dist/discord/reply-mirror.js +0 -84
- package/dist/discord/reply-mirror.js.map +0 -1
- package/dist/discord/rest.d.ts +0 -20
- package/dist/discord/rest.d.ts.map +0 -1
- package/dist/discord/rest.js +0 -41
- package/dist/discord/rest.js.map +0 -1
- package/dist/discord/routing.d.ts +0 -81
- package/dist/discord/routing.d.ts.map +0 -1
- package/dist/discord/routing.js +0 -91
- package/dist/discord/routing.js.map +0 -1
- package/dist/discord-credentials-store.d.ts +0 -14
- package/dist/discord-credentials-store.d.ts.map +0 -1
- package/dist/discord-credentials-store.js +0 -53
- package/dist/discord-credentials-store.js.map +0 -1
- package/dist/discord-credentials.d.ts +0 -80
- package/dist/discord-credentials.d.ts.map +0 -1
- package/dist/discord-credentials.js +0 -55
- package/dist/discord-credentials.js.map +0 -1
- package/dist/driver/actions-zip.d.ts +0 -2
- package/dist/driver/actions-zip.d.ts.map +0 -1
- package/dist/driver/actions-zip.js +0 -70
- package/dist/driver/actions-zip.js.map +0 -1
- package/dist/driver/actions.d.ts +0 -130
- package/dist/driver/actions.d.ts.map +0 -1
- package/dist/driver/actions.js +0 -261
- package/dist/driver/actions.js.map +0 -1
- package/dist/driver/agent-cli.d.ts +0 -57
- package/dist/driver/agent-cli.d.ts.map +0 -1
- package/dist/driver/agent-cli.js +0 -134
- package/dist/driver/agent-cli.js.map +0 -1
- package/dist/driver/child-registry.d.ts +0 -25
- package/dist/driver/child-registry.d.ts.map +0 -1
- package/dist/driver/child-registry.js +0 -53
- package/dist/driver/child-registry.js.map +0 -1
- package/dist/driver/claude-code-quota.d.ts +0 -40
- package/dist/driver/claude-code-quota.d.ts.map +0 -1
- package/dist/driver/claude-code-quota.js +0 -144
- package/dist/driver/claude-code-quota.js.map +0 -1
- package/dist/driver/claude-code.d.ts +0 -104
- package/dist/driver/claude-code.d.ts.map +0 -1
- package/dist/driver/claude-code.js +0 -314
- package/dist/driver/claude-code.js.map +0 -1
- package/dist/driver/cli-session.d.ts +0 -57
- package/dist/driver/cli-session.d.ts.map +0 -1
- package/dist/driver/cli-session.js +0 -134
- package/dist/driver/cli-session.js.map +0 -1
- package/dist/driver/cloud.d.ts +0 -109
- package/dist/driver/cloud.d.ts.map +0 -1
- package/dist/driver/cloud.js +0 -232
- package/dist/driver/cloud.js.map +0 -1
- package/dist/driver/codex.d.ts +0 -99
- package/dist/driver/codex.d.ts.map +0 -1
- package/dist/driver/codex.js +0 -190
- package/dist/driver/codex.js.map +0 -1
- package/dist/driver/fake.d.ts +0 -54
- package/dist/driver/fake.d.ts.map +0 -1
- package/dist/driver/fake.js +0 -73
- package/dist/driver/fake.js.map +0 -1
- package/dist/driver/index.d.ts +0 -10
- package/dist/driver/index.d.ts.map +0 -1
- package/dist/driver/index.js +0 -14
- package/dist/driver/index.js.map +0 -1
- package/dist/driver/session-support.d.ts +0 -14
- package/dist/driver/session-support.d.ts.map +0 -1
- package/dist/driver/session-support.js +0 -37
- package/dist/driver/session-support.js.map +0 -1
- package/dist/driver/types.d.ts +0 -310
- package/dist/driver/types.d.ts.map +0 -1
- package/dist/driver/types.js +0 -5
- package/dist/driver/types.js.map +0 -1
- package/dist/driver-cli.d.ts +0 -61
- package/dist/driver-cli.d.ts.map +0 -1
- package/dist/driver-cli.js +0 -66
- package/dist/driver-cli.js.map +0 -1
- package/dist/fake-script.d.ts +0 -15
- package/dist/fake-script.d.ts.map +0 -1
- package/dist/fake-script.js +0 -58
- package/dist/fake-script.js.map +0 -1
- package/dist/framework-dir.d.ts.map +0 -1
- package/dist/framework-dir.js.map +0 -1
- package/dist/framework-gitignore.d.ts +0 -12
- package/dist/framework-gitignore.d.ts.map +0 -1
- package/dist/framework-gitignore.js +0 -19
- package/dist/framework-gitignore.js.map +0 -1
- package/dist/gate-keepalive.d.ts +0 -47
- package/dist/gate-keepalive.d.ts.map +0 -1
- package/dist/gate-keepalive.js +0 -62
- package/dist/gate-keepalive.js.map +0 -1
- package/dist/git-exclude.d.ts +0 -11
- package/dist/git-exclude.d.ts.map +0 -1
- package/dist/git-exclude.js +0 -23
- package/dist/git-exclude.js.map +0 -1
- package/dist/handoff-level.d.ts +0 -56
- package/dist/handoff-level.d.ts.map +0 -1
- package/dist/handoff-level.js +0 -62
- package/dist/handoff-level.js.map +0 -1
- package/dist/host-exec.d.ts +0 -21
- package/dist/host-exec.d.ts.map +0 -1
- package/dist/host-exec.js +0 -30
- package/dist/host-exec.js.map +0 -1
- package/dist/layout.d.ts +0 -41
- package/dist/layout.d.ts.map +0 -1
- package/dist/layout.js +0 -69
- package/dist/layout.js.map +0 -1
- package/dist/logs.d.ts +0 -73
- package/dist/logs.d.ts.map +0 -1
- package/dist/logs.js +0 -218
- package/dist/logs.js.map +0 -1
- package/dist/maintenance.d.ts +0 -90
- package/dist/maintenance.d.ts.map +0 -1
- package/dist/maintenance.js +0 -141
- package/dist/maintenance.js.map +0 -1
- package/dist/merged-worktrees.d.ts +0 -74
- package/dist/merged-worktrees.d.ts.map +0 -1
- package/dist/merged-worktrees.js +0 -84
- package/dist/merged-worktrees.js.map +0 -1
- package/dist/module-types/src/dashboard/agent-tree.d.ts +0 -105
- package/dist/module-types/src/dashboard/file-diff.d.ts +0 -66
- package/dist/module-types/src/dashboard/file-read.d.ts +0 -41
- package/dist/module-types/src/dashboard/file-status.d.ts +0 -20
- package/dist/module-types/src/dashboard/scheduler-state.d.ts +0 -72
- package/dist/module-types/src/dashboard/subagent-settings.d.ts +0 -25
- package/dist/module-types/src/dashboard-rpc/subagents.d.ts +0 -11
- package/dist/module-types/src/framework-gitignore.d.ts +0 -11
- package/dist/module-types/src/subagent-settings.d.ts +0 -26
- package/dist/on-before-mergeable-prompt.d.ts +0 -32
- package/dist/on-before-mergeable-prompt.d.ts.map +0 -1
- package/dist/on-before-mergeable-prompt.js +0 -26
- package/dist/on-before-mergeable-prompt.js.map +0 -1
- package/dist/planned-quick-wins.d.ts +0 -102
- package/dist/planned-quick-wins.d.ts.map +0 -1
- package/dist/planned-quick-wins.js +0 -171
- package/dist/planned-quick-wins.js.map +0 -1
- package/dist/preflight.d.ts +0 -77
- package/dist/preflight.d.ts.map +0 -1
- package/dist/preflight.js +0 -91
- package/dist/preflight.js.map +0 -1
- package/dist/preset-catalog.d.ts +0 -98
- package/dist/preset-catalog.d.ts.map +0 -1
- package/dist/preset-catalog.js +0 -129
- package/dist/preset-catalog.js.map +0 -1
- package/dist/preset-prompt.d.ts +0 -81
- package/dist/preset-prompt.d.ts.map +0 -1
- package/dist/preset-prompt.js +0 -51
- package/dist/preset-prompt.js.map +0 -1
- package/dist/preset-registry.d.ts +0 -32
- package/dist/preset-registry.d.ts.map +0 -1
- package/dist/preset-registry.js +0 -35
- package/dist/preset-registry.js.map +0 -1
- package/dist/presets.d.ts +0 -20
- package/dist/presets.d.ts.map +0 -1
- package/dist/presets.js +0 -33
- package/dist/presets.js.map +0 -1
- package/dist/preview-runtime.d.ts +0 -33
- package/dist/preview-runtime.d.ts.map +0 -1
- package/dist/preview-runtime.js +0 -96
- package/dist/preview-runtime.js.map +0 -1
- package/dist/preview.d.ts +0 -78
- package/dist/preview.d.ts.map +0 -1
- package/dist/preview.js +0 -301
- package/dist/preview.js.map +0 -1
- package/dist/project-widgets.d.ts +0 -46
- package/dist/project-widgets.d.ts.map +0 -1
- package/dist/project-widgets.js +0 -93
- package/dist/project-widgets.js.map +0 -1
- package/dist/prompt-run.d.ts +0 -104
- package/dist/prompt-run.d.ts.map +0 -1
- package/dist/prompt-run.js +0 -112
- package/dist/prompt-run.js.map +0 -1
- package/dist/prompt-template.d.ts +0 -16
- package/dist/prompt-template.d.ts.map +0 -1
- package/dist/prompt-template.js +0 -56
- package/dist/prompt-template.js.map +0 -1
- package/dist/prompts.generated.d.ts +0 -53
- package/dist/prompts.generated.d.ts.map +0 -1
- package/dist/prompts.generated.js +0 -55
- package/dist/prompts.generated.js.map +0 -1
- package/dist/queue-promote.d.ts +0 -70
- package/dist/queue-promote.d.ts.map +0 -1
- package/dist/queue-promote.js +0 -118
- package/dist/queue-promote.js.map +0 -1
- package/dist/relay.d.ts +0 -84
- package/dist/relay.d.ts.map +0 -1
- package/dist/relay.js +0 -199
- package/dist/relay.js.map +0 -1
- package/dist/repos-directory.d.ts +0 -19
- package/dist/repos-directory.d.ts.map +0 -1
- package/dist/repos-directory.js +0 -23
- package/dist/repos-directory.js.map +0 -1
- package/dist/retired-project-settings.d.ts +0 -43
- package/dist/retired-project-settings.d.ts.map +0 -1
- package/dist/retired-project-settings.js +0 -125
- package/dist/retired-project-settings.js.map +0 -1
- package/dist/routine-locks.d.ts +0 -53
- package/dist/routine-locks.d.ts.map +0 -1
- package/dist/routine-locks.js +0 -125
- package/dist/routine-locks.js.map +0 -1
- package/dist/run-driver.d.ts +0 -26
- package/dist/run-driver.d.ts.map +0 -1
- package/dist/run-driver.js +0 -17
- package/dist/run-driver.js.map +0 -1
- package/dist/run-locks.d.ts +0 -3
- package/dist/run-locks.d.ts.map +0 -1
- package/dist/run-locks.js +0 -39
- package/dist/run-locks.js.map +0 -1
- package/dist/run-messages.d.ts +0 -64
- package/dist/run-messages.d.ts.map +0 -1
- package/dist/run-messages.js +0 -76
- package/dist/run-messages.js.map +0 -1
- package/dist/run-options.d.ts +0 -53
- package/dist/run-options.d.ts.map +0 -1
- package/dist/run-options.js +0 -110
- package/dist/run-options.js.map +0 -1
- package/dist/run-telemetry.d.ts +0 -115
- package/dist/run-telemetry.d.ts.map +0 -1
- package/dist/run-telemetry.js +0 -137
- package/dist/run-telemetry.js.map +0 -1
- package/dist/run-view.d.ts +0 -109
- package/dist/run-view.d.ts.map +0 -1
- package/dist/run-view.js +0 -118
- package/dist/run-view.js.map +0 -1
- package/dist/run.d.ts +0 -261
- package/dist/run.d.ts.map +0 -1
- package/dist/run.js +0 -420
- package/dist/run.js.map +0 -1
- package/dist/runtime-keys.d.ts +0 -17
- package/dist/runtime-keys.d.ts.map +0 -1
- package/dist/runtime-keys.js +0 -17
- package/dist/runtime-keys.js.map +0 -1
- package/dist/sandbox.d.ts +0 -27
- package/dist/sandbox.d.ts.map +0 -1
- package/dist/sandbox.js +0 -63
- package/dist/sandbox.js.map +0 -1
- package/dist/session-link.d.ts +0 -19
- package/dist/session-link.d.ts.map +0 -1
- package/dist/session-link.js +0 -26
- package/dist/session-link.js.map +0 -1
- package/dist/sessions.d.ts +0 -77
- package/dist/sessions.d.ts.map +0 -1
- package/dist/sessions.js +0 -146
- package/dist/sessions.js.map +0 -1
- package/dist/spike-locks.d.ts +0 -75
- package/dist/spike-locks.d.ts.map +0 -1
- package/dist/spike-locks.js +0 -208
- package/dist/spike-locks.js.map +0 -1
- package/dist/stale-branch.d.ts +0 -21
- package/dist/stale-branch.d.ts.map +0 -1
- package/dist/stale-branch.js +0 -32
- package/dist/stale-branch.js.map +0 -1
- package/dist/steps.d.ts +0 -9
- package/dist/steps.d.ts.map +0 -1
- package/dist/steps.js +0 -13
- package/dist/steps.js.map +0 -1
- package/dist/store/forge.d.ts +0 -110
- package/dist/store/forge.d.ts.map +0 -1
- package/dist/store/forge.js +0 -97
- package/dist/store/forge.js.map +0 -1
- package/dist/store/run-checkout.d.ts +0 -33
- package/dist/store/run-checkout.d.ts.map +0 -1
- package/dist/store/run-checkout.js +0 -59
- package/dist/store/run-checkout.js.map +0 -1
- package/dist/store/run-store.d.ts +0 -501
- package/dist/store/run-store.d.ts.map +0 -1
- package/dist/store/run-store.js +0 -806
- package/dist/store/run-store.js.map +0 -1
- package/dist/store/suspend.d.ts +0 -38
- package/dist/store/suspend.d.ts.map +0 -1
- package/dist/store/suspend.js +0 -45
- package/dist/store/suspend.js.map +0 -1
- package/dist/store/worktree-deps.d.ts +0 -30
- package/dist/store/worktree-deps.d.ts.map +0 -1
- package/dist/store/worktree-deps.js +0 -115
- package/dist/store/worktree-deps.js.map +0 -1
- package/dist/store/worktree.d.ts +0 -194
- package/dist/store/worktree.d.ts.map +0 -1
- package/dist/store/worktree.js +0 -331
- package/dist/store/worktree.js.map +0 -1
- package/dist/subagent-settings.d.ts +0 -27
- package/dist/subagent-settings.d.ts.map +0 -1
- package/dist/subagent-settings.js +0 -35
- package/dist/subagent-settings.js.map +0 -1
- package/dist/system-prompt-file.d.ts +0 -18
- package/dist/system-prompt-file.d.ts.map +0 -1
- package/dist/system-prompt-file.js +0 -28
- package/dist/system-prompt-file.js.map +0 -1
- package/dist/system-prompt.d.ts +0 -148
- package/dist/system-prompt.d.ts.map +0 -1
- package/dist/system-prompt.js +0 -170
- package/dist/system-prompt.js.map +0 -1
- package/dist/target-driver.d.ts +0 -28
- package/dist/target-driver.d.ts.map +0 -1
- package/dist/target-driver.js +0 -18
- package/dist/target-driver.js.map +0 -1
- package/dist/ticket-locks.d.ts +0 -61
- package/dist/ticket-locks.d.ts.map +0 -1
- package/dist/ticket-locks.js +0 -137
- package/dist/ticket-locks.js.map +0 -1
- package/dist/tickets-file.d.ts +0 -7
- package/dist/tickets-file.d.ts.map +0 -1
- package/dist/tickets-file.js +0 -21
- package/dist/tickets-file.js.map +0 -1
- package/dist/tickets.d.ts +0 -18
- package/dist/tickets.d.ts.map +0 -1
- package/dist/tickets.js +0 -23
- package/dist/tickets.js.map +0 -1
- package/dist/todo-loop.d.ts +0 -110
- package/dist/todo-loop.d.ts.map +0 -1
- package/dist/todo-loop.js +0 -175
- package/dist/todo-loop.js.map +0 -1
- package/dist/turn-gate.d.ts +0 -144
- package/dist/turn-gate.d.ts.map +0 -1
- package/dist/turn-gate.js +0 -217
- package/dist/turn-gate.js.map +0 -1
- package/dist/usage.d.ts +0 -32
- package/dist/usage.d.ts.map +0 -1
- package/dist/usage.js +0 -46
- package/dist/usage.js.map +0 -1
- package/dist/widget-types/dashboard/components/LinkActions.d.ts +0 -26
- package/dist/widget-types/dashboard/components/Markdown.d.ts +0 -4
- package/dist/widget-types/dashboard/components/StartAgentButton.d.ts +0 -39
- package/dist/widget-types/dashboard/components/ui/badge.d.ts +0 -2
- package/dist/widget-types/dashboard/components/ui/button.d.ts +0 -10
- package/dist/widget-types/dashboard/components/ui/card.d.ts +0 -5
- package/dist/widget-types/dashboard/components/ui/checkbox.d.ts +0 -7
- package/dist/widget-types/dashboard/components/ui/dropdown-menu.d.ts +0 -16
- package/dist/widget-types/dashboard/components/ui/input.d.ts +0 -2
- package/dist/widget-types/dashboard/components/ui/option-label.d.ts +0 -4
- package/dist/widget-types/dashboard/components/ui/popover.d.ts +0 -8
- package/dist/widget-types/dashboard/components/ui/scroll-area.d.ts +0 -10
- package/dist/widget-types/dashboard/components/ui/separator.d.ts +0 -3
- package/dist/widget-types/dashboard/components/ui/skeleton.d.ts +0 -2
- package/dist/widget-types/dashboard/components/ui/slider.d.ts +0 -9
- package/dist/widget-types/dashboard/components/ui/tooltip.d.ts +0 -11
- package/dist/widget-types/dashboard/lib/draft-handoff.d.ts +0 -15
- package/dist/widget-types/dashboard/lib/format-date.d.ts +0 -51
- package/dist/widget-types/dashboard/lib/host-services.d.ts +0 -12
- package/dist/widget-types/dashboard/lib/route.d.ts +0 -24
- package/dist/widget-types/dashboard/lib/rpc.d.ts +0 -31
- package/dist/widget-types/dashboard/lib/use-action.d.ts +0 -25
- package/dist/widget-types/dashboard/lib/use-async.d.ts +0 -39
- package/dist/widget-types/dashboard/lib/use-widgets.d.ts +0 -42
- package/dist/widget-types/dashboard/lib/utils.d.ts +0 -3
- package/dist/widget-types/dashboard/rpc/widgets.d.ts +0 -4
- package/dist/widget-types/dashboard/widget/index.d.ts +0 -207
- package/dist/widget-types/src/agent-id.d.ts +0 -12
- package/dist/widget-types/src/agent-locks.d.ts +0 -2
- package/dist/widget-types/src/agent-view.d.ts +0 -38
- package/dist/widget-types/src/bridge-browser.d.ts +0 -216
- package/dist/widget-types/src/browser-stream.d.ts +0 -19
- package/dist/widget-types/src/browser.d.ts +0 -15
- package/dist/widget-types/src/cli-exec.d.ts +0 -35
- package/dist/widget-types/src/cloud-run-state.d.ts +0 -26
- package/dist/widget-types/src/dashboard/activity.d.ts +0 -40
- package/dist/widget-types/src/dashboard/agent-handoff.d.ts +0 -211
- package/dist/widget-types/src/dashboard/agent-tree.d.ts +0 -105
- package/dist/widget-types/src/dashboard/bridge-endpoints.d.ts +0 -157
- package/dist/widget-types/src/dashboard/bridge-question.d.ts +0 -32
- package/dist/widget-types/src/dashboard/bridge-store.d.ts +0 -178
- package/dist/widget-types/src/dashboard/cache.d.ts +0 -46
- package/dist/widget-types/src/dashboard/content-type.d.ts +0 -2
- package/dist/widget-types/src/dashboard/dashboard.d.ts +0 -37
- package/dist/widget-types/src/dashboard/discord-webhook.d.ts +0 -16
- package/dist/widget-types/src/dashboard/docs.d.ts +0 -38
- package/dist/widget-types/src/dashboard/file-diff.d.ts +0 -66
- package/dist/widget-types/src/dashboard/file-read.d.ts +0 -41
- package/dist/widget-types/src/dashboard/file-status.d.ts +0 -20
- package/dist/widget-types/src/dashboard/gh.d.ts +0 -130
- package/dist/widget-types/src/dashboard/git-status.d.ts +0 -32
- package/dist/widget-types/src/dashboard/github.d.ts +0 -10
- package/dist/widget-types/src/dashboard/http.d.ts +0 -28
- package/dist/widget-types/src/dashboard/interventions.d.ts +0 -66
- package/dist/widget-types/src/dashboard/keys.d.ts +0 -30
- package/dist/widget-types/src/dashboard/models.d.ts +0 -24
- package/dist/widget-types/src/dashboard/open-in-app.d.ts +0 -42
- package/dist/widget-types/src/dashboard/open-questions.d.ts +0 -52
- package/dist/widget-types/src/dashboard/overview.d.ts +0 -77
- package/dist/widget-types/src/dashboard/projects.d.ts +0 -89
- package/dist/widget-types/src/dashboard/pull-requests.d.ts +0 -126
- package/dist/widget-types/src/dashboard/queue.d.ts +0 -16
- package/dist/widget-types/src/dashboard/quota.d.ts +0 -59
- package/dist/widget-types/src/dashboard/remote-run.d.ts +0 -94
- package/dist/widget-types/src/dashboard/rpc-serve.d.ts +0 -102
- package/dist/widget-types/src/dashboard/run-inbox.d.ts +0 -30
- package/dist/widget-types/src/dashboard/scheduler-state.d.ts +0 -64
- package/dist/widget-types/src/dashboard/tickets.d.ts +0 -28
- package/dist/widget-types/src/dashboard/types.d.ts +0 -99
- package/dist/widget-types/src/dashboard/widget-serve.d.ts +0 -14
- package/dist/widget-types/src/dashboard-rpc/context.d.ts +0 -53
- package/dist/widget-types/src/dashboard-rpc/control.d.ts +0 -108
- package/dist/widget-types/src/dashboard-rpc/devices.d.ts +0 -8
- package/dist/widget-types/src/dashboard-rpc/events-tail.d.ts +0 -53
- package/dist/widget-types/src/dashboard-rpc/events.d.ts +0 -29
- package/dist/widget-types/src/dashboard-rpc/index.d.ts +0 -28
- package/dist/widget-types/src/dashboard-rpc/models.d.ts +0 -3
- package/dist/widget-types/src/dashboard-rpc/preferences.d.ts +0 -40
- package/dist/widget-types/src/dashboard-rpc/projects.d.ts +0 -54
- package/dist/widget-types/src/dashboard-rpc/quota.d.ts +0 -26
- package/dist/widget-types/src/dashboard-rpc/reads.d.ts +0 -227
- package/dist/widget-types/src/dashboard-rpc/relay-agent.d.ts +0 -8
- package/dist/widget-types/src/dashboard-rpc/stream-forward.d.ts +0 -16
- package/dist/widget-types/src/dashboard-rpc/widgets.d.ts +0 -32
- package/dist/widget-types/src/discord-credentials.d.ts +0 -79
- package/dist/widget-types/src/driver-names.d.ts +0 -21
- package/dist/widget-types/src/error-message.d.ts +0 -7
- package/dist/widget-types/src/event-stream.d.ts +0 -32
- package/dist/widget-types/src/events.d.ts +0 -235
- package/dist/widget-types/src/framework-dir.d.ts +0 -10
- package/dist/widget-types/src/framework-gitignore.d.ts +0 -11
- package/dist/widget-types/src/index.d.ts +0 -42
- package/dist/widget-types/src/jsonl-tail.d.ts +0 -54
- package/dist/widget-types/src/loopback-host.d.ts +0 -19
- package/dist/widget-types/src/node-fs.d.ts +0 -32
- package/dist/widget-types/src/open-choices.d.ts +0 -14
- package/dist/widget-types/src/pick-directory.d.ts +0 -29
- package/dist/widget-types/src/preference-defaults.d.ts +0 -53
- package/dist/widget-types/src/project-commands.d.ts +0 -23
- package/dist/widget-types/src/project-errors.d.ts +0 -43
- package/dist/widget-types/src/project-hooks.d.ts +0 -133
- package/dist/widget-types/src/project-presets.d.ts +0 -29
- package/dist/widget-types/src/project-widgets.d.ts +0 -45
- package/dist/widget-types/src/project.d.ts +0 -28
- package/dist/widget-types/src/quota-boundary.d.ts +0 -115
- package/dist/widget-types/src/quota-poller.d.ts +0 -82
- package/dist/widget-types/src/registry.d.ts +0 -210
- package/dist/widget-types/src/store/agent-checkout.d.ts +0 -46
- package/dist/widget-types/src/store/agent-store.d.ts +0 -237
- package/dist/widget-types/src/store/branches.d.ts +0 -133
- package/dist/widget-types/src/store/forge.d.ts +0 -109
- package/dist/widget-types/src/store/git-host.d.ts +0 -111
- package/dist/widget-types/src/store/index.d.ts +0 -9
- package/dist/widget-types/src/store/provided.d.ts +0 -16
- package/dist/widget-types/src/store/queue.d.ts +0 -45
- package/dist/widget-types/src/store/run-record.d.ts +0 -21
- package/dist/widget-types/src/store/runs.d.ts +0 -101
- package/dist/widget-types/src/store/tickets.d.ts +0 -72
- package/dist/widget-types/src/tickets.d.ts +0 -17
- package/dist/widget-types/src/worktrees.d.ts +0 -89
- package/dist/widget.css +0 -50
package/dist/logs.d.ts
DELETED
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
import { THE_FRAMEWORK_DIR } from './framework-dir.js';
|
|
2
|
-
import { type StoreFs } from './store/index.js';
|
|
3
|
-
/**
|
|
4
|
-
* The `.the-framework/LOGS.md` project log (#378): a human-readable markdown
|
|
5
|
-
* record of every loop, prompt, and build run in a project. Pure core over the
|
|
6
|
-
* same {@link StoreFs} seam as the run store; the run-lifecycle wiring and UI
|
|
7
|
-
* land in later issues (#379/#380).
|
|
8
|
-
*/
|
|
9
|
-
/** The directory, under the project root, that holds the log. Defined in its own node-free
|
|
10
|
-
* module (#874) so the browser-reachable preset registry can share it; re-exported here
|
|
11
|
-
* because this is where every existing import site expects to find it. */
|
|
12
|
-
export { THE_FRAMEWORK_DIR };
|
|
13
|
-
/** The markdown log file name. */
|
|
14
|
-
export declare const LOGS_FILE = "LOGS.md";
|
|
15
|
-
/**
|
|
16
|
-
* The `.the-framework/.gitignore` that keeps run state transient (#313): the dir
|
|
17
|
-
* holds both the committed DB (LOGS.md) and the transient run logs, so this
|
|
18
|
-
* ignores everything except LOGS.md and itself.
|
|
19
|
-
*
|
|
20
|
-
* An allow-list, so anything else meant to be committed needs its own negation —
|
|
21
|
-
* see `CONVERSATIONS_GITIGNORE` (#908), which install appends to this.
|
|
22
|
-
*/
|
|
23
|
-
export declare const LOGS_GITIGNORE = "# The Framework: the committed project DB; session state is transient.\n*\n!.gitignore\n!LOGS.md\n";
|
|
24
|
-
/** One project-log entry: a loop, or a standalone prompt/build. */
|
|
25
|
-
export interface LogEntry {
|
|
26
|
-
/** ISO timestamp. */
|
|
27
|
-
at: string;
|
|
28
|
-
kind: 'loop' | 'prompt' | 'build';
|
|
29
|
-
/** The run's intent/prompt. Escaped to one line on write (#897), so it may hold a whole prompt. */
|
|
30
|
-
title: string;
|
|
31
|
-
status: 'done' | 'stopped' | 'failed' | 'running';
|
|
32
|
-
/**
|
|
33
|
-
* The run's id (#898): the join key from this committed entry to the rest of the run, whose
|
|
34
|
-
* `runs/<id>.json` meta and `runs/<id>.jsonl` events are transient and stay out of git.
|
|
35
|
-
*/
|
|
36
|
-
id?: string;
|
|
37
|
-
/** Claude Code session id. */
|
|
38
|
-
sessionId?: string;
|
|
39
|
-
/** e.g. `https://claude.ai/code/<id>` */
|
|
40
|
-
sessionLink?: string;
|
|
41
|
-
/** The name the agent gave the session (#326), also its `the-framework/<name>` branch. */
|
|
42
|
-
sessionName?: string;
|
|
43
|
-
/**
|
|
44
|
-
* The branch the run's work landed on (#799). Read from the checkout as the run settles,
|
|
45
|
-
* because it is not derivable later: a clean run loses its worktree, and the agent may have
|
|
46
|
-
* branched itself.
|
|
47
|
-
*/
|
|
48
|
-
branch?: string;
|
|
49
|
-
/** For a loop: constituent prompt summaries. */
|
|
50
|
-
prompts?: string[];
|
|
51
|
-
}
|
|
52
|
-
/** The one-time first line of the file, written on the first append. */
|
|
53
|
-
export declare const LOGS_HEADER = "# The Framework logs\n";
|
|
54
|
-
/** The log path under `cwd`. */
|
|
55
|
-
export declare function logsPath(cwd: string): string;
|
|
56
|
-
/** The `.gitignore` path under `cwd`'s `.the-framework/`. */
|
|
57
|
-
export declare function gitignorePath(cwd: string): string;
|
|
58
|
-
/** Markdown for one entry, starting at `## ` (no file header, no blank lines around it). */
|
|
59
|
-
export declare function renderLogEntry(entry: LogEntry): string;
|
|
60
|
-
/**
|
|
61
|
-
* Parse every entry out of the markdown, in file order (append order, so
|
|
62
|
-
* oldest-first). Forgiving: a malformed or torn entry is skipped, never thrown.
|
|
63
|
-
*/
|
|
64
|
-
export declare function parseLogs(md: string): LogEntry[];
|
|
65
|
-
/**
|
|
66
|
-
* Append one entry to `.the-framework/LOGS.md`, creating the dir and the
|
|
67
|
-
* one-time file header when absent. A raw write (may reject); the caller
|
|
68
|
-
* decides best-effort.
|
|
69
|
-
*/
|
|
70
|
-
export declare function appendLog(cwd: string, entry: LogEntry, fs?: StoreFs): Promise<void>;
|
|
71
|
-
/** Read the project log, newest-first (append order reversed). Missing file yields `[]`. */
|
|
72
|
-
export declare function readLogs(cwd: string, fs?: StoreFs): Promise<LogEntry[]>;
|
|
73
|
-
//# sourceMappingURL=logs.d.ts.map
|
package/dist/logs.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"logs.d.ts","sourceRoot":"","sources":["../src/logs.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AACtD,OAAO,EAAe,KAAK,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAE5D;;;;;GAKG;AAEH;;0EAE0E;AAC1E,OAAO,EAAE,iBAAiB,EAAE,CAAA;AAE5B,kCAAkC;AAClC,eAAO,MAAM,SAAS,YAAY,CAAA;AAElC;;;;;;;GAOG;AACH,eAAO,MAAM,cAAc,uGAC2E,CAAA;AAEtG,mEAAmE;AACnE,MAAM,WAAW,QAAQ;IACvB,qBAAqB;IACrB,EAAE,EAAE,MAAM,CAAA;IACV,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAA;IACjC,mGAAmG;IACnG,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,CAAA;IACjD;;;OAGG;IACH,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,8BAA8B;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,yCAAyC;IACzC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,0FAA0F;IAC1F,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,gDAAgD;IAChD,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;CACnB;AAwBD,wEAAwE;AACxE,eAAO,MAAM,WAAW,2BAA2B,CAAA;AAEnD,gCAAgC;AAChC,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE5C;AAED,6DAA6D;AAC7D,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEjD;AA0ED,4FAA4F;AAC5F,wBAAgB,cAAc,CAAC,KAAK,EAAE,QAAQ,GAAG,MAAM,CAWtD;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,QAAQ,EAAE,CAmBhD;AA8CD;;;;GAIG;AACH,wBAAsB,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,GAAE,OAAuB,GAAG,OAAO,CAAC,IAAI,CAAC,CAKxG;AAED,4FAA4F;AAC5F,wBAAsB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,GAAE,OAAuB,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC,CAI5F"}
|
package/dist/logs.js
DELETED
|
@@ -1,218 +0,0 @@
|
|
|
1
|
-
import { join } from 'node:path';
|
|
2
|
-
import { THE_FRAMEWORK_DIR } from './framework-dir.js';
|
|
3
|
-
import { nodeStoreFs } from './store/index.js';
|
|
4
|
-
/**
|
|
5
|
-
* The `.the-framework/LOGS.md` project log (#378): a human-readable markdown
|
|
6
|
-
* record of every loop, prompt, and build run in a project. Pure core over the
|
|
7
|
-
* same {@link StoreFs} seam as the run store; the run-lifecycle wiring and UI
|
|
8
|
-
* land in later issues (#379/#380).
|
|
9
|
-
*/
|
|
10
|
-
/** The directory, under the project root, that holds the log. Defined in its own node-free
|
|
11
|
-
* module (#874) so the browser-reachable preset registry can share it; re-exported here
|
|
12
|
-
* because this is where every existing import site expects to find it. */
|
|
13
|
-
export { THE_FRAMEWORK_DIR };
|
|
14
|
-
/** The markdown log file name. */
|
|
15
|
-
export const LOGS_FILE = 'LOGS.md';
|
|
16
|
-
/**
|
|
17
|
-
* The `.the-framework/.gitignore` that keeps run state transient (#313): the dir
|
|
18
|
-
* holds both the committed DB (LOGS.md) and the transient run logs, so this
|
|
19
|
-
* ignores everything except LOGS.md and itself.
|
|
20
|
-
*
|
|
21
|
-
* An allow-list, so anything else meant to be committed needs its own negation —
|
|
22
|
-
* see `CONVERSATIONS_GITIGNORE` (#908), which install appends to this.
|
|
23
|
-
*/
|
|
24
|
-
export const LOGS_GITIGNORE = '# The Framework: the committed project DB; session state is transient.\n*\n!.gitignore\n!LOGS.md\n';
|
|
25
|
-
const KINDS = ['loop', 'prompt', 'build'];
|
|
26
|
-
const STATUSES = ['done', 'stopped', 'failed', 'running'];
|
|
27
|
-
/** Heading field separator: a middle dot (U+00B7) with a space on each side. */
|
|
28
|
-
const SEP = ' · ';
|
|
29
|
-
/**
|
|
30
|
-
* Escape a free-text field so it stays on its own line (#897). A title is the run's prompt and a
|
|
31
|
-
* prompt bullet is agent text, but the file is committed history parsed line by line: an unescaped
|
|
32
|
-
* newline spills the rest of the prompt into the file, where a `## ` line forges an entry and a
|
|
33
|
-
* `- status: ` line rewrites one. Reversed by {@link decodeField}.
|
|
34
|
-
*/
|
|
35
|
-
function encodeField(value) {
|
|
36
|
-
return value.replace(/\\/g, '\\\\').replace(/\r\n|\r|\n/g, '\\n');
|
|
37
|
-
}
|
|
38
|
-
/** Reverse {@link encodeField}. Entries written before #897 are unescaped, so a literal `\n` in
|
|
39
|
-
* one of them decodes to a newline; harmless next to reading the rest of the prompt as entries. */
|
|
40
|
-
function decodeField(value) {
|
|
41
|
-
return value.replace(/\\(\\|n)/g, (_, char) => (char === 'n' ? '\n' : '\\'));
|
|
42
|
-
}
|
|
43
|
-
/** The one-time first line of the file, written on the first append. */
|
|
44
|
-
export const LOGS_HEADER = '# The Framework logs\n';
|
|
45
|
-
/** The log path under `cwd`. */
|
|
46
|
-
export function logsPath(cwd) {
|
|
47
|
-
return join(cwd, THE_FRAMEWORK_DIR, LOGS_FILE);
|
|
48
|
-
}
|
|
49
|
-
/** The `.gitignore` path under `cwd`'s `.the-framework/`. */
|
|
50
|
-
export function gitignorePath(cwd) {
|
|
51
|
-
return join(cwd, THE_FRAMEWORK_DIR, '.gitignore');
|
|
52
|
-
}
|
|
53
|
-
/**
|
|
54
|
-
* The single-line `- key: ` fields, in render order, each owning both directions of its own
|
|
55
|
-
* encoding. render and parse both walk this one list, so a field's name, prefix, and escaping
|
|
56
|
-
* can never drift between the two sides — the file's one real hazard when they were hand-mirrored.
|
|
57
|
-
* The heading and the `- prompts:` nested list are structurally different and stay bespoke.
|
|
58
|
-
*/
|
|
59
|
-
const LOG_FIELDS = [
|
|
60
|
-
{
|
|
61
|
-
prefix: '- status: ',
|
|
62
|
-
render: entry => entry.status,
|
|
63
|
-
parse: (body, draft) => {
|
|
64
|
-
draft.status = body.trim();
|
|
65
|
-
},
|
|
66
|
-
},
|
|
67
|
-
{
|
|
68
|
-
prefix: '- run: ',
|
|
69
|
-
render: entry => (entry.id ? encodeField(entry.id) : undefined),
|
|
70
|
-
parse: (body, draft) => {
|
|
71
|
-
draft.id = decodeField(body.trim());
|
|
72
|
-
},
|
|
73
|
-
},
|
|
74
|
-
{
|
|
75
|
-
prefix: '- session: ',
|
|
76
|
-
render: entry => entry.sessionId === undefined
|
|
77
|
-
? undefined
|
|
78
|
-
: entry.sessionLink
|
|
79
|
-
? `[${entry.sessionId}](${entry.sessionLink})`
|
|
80
|
-
: entry.sessionId,
|
|
81
|
-
parse: (body, draft) => {
|
|
82
|
-
const value = body.trim();
|
|
83
|
-
const linked = /^\[(.+)\]\((.+)\)$/.exec(value);
|
|
84
|
-
if (linked) {
|
|
85
|
-
draft.sessionId = linked[1];
|
|
86
|
-
draft.sessionLink = linked[2];
|
|
87
|
-
}
|
|
88
|
-
else {
|
|
89
|
-
draft.sessionId = value;
|
|
90
|
-
}
|
|
91
|
-
},
|
|
92
|
-
},
|
|
93
|
-
{
|
|
94
|
-
prefix: '- name: ',
|
|
95
|
-
render: entry => (entry.sessionName ? encodeField(entry.sessionName) : undefined),
|
|
96
|
-
parse: (body, draft) => {
|
|
97
|
-
draft.sessionName = decodeField(body.trim());
|
|
98
|
-
},
|
|
99
|
-
},
|
|
100
|
-
{
|
|
101
|
-
prefix: '- branch: ',
|
|
102
|
-
render: entry => (entry.branch ? encodeField(entry.branch) : undefined),
|
|
103
|
-
parse: (body, draft) => {
|
|
104
|
-
draft.branch = decodeField(body.trim());
|
|
105
|
-
},
|
|
106
|
-
},
|
|
107
|
-
];
|
|
108
|
-
/** Markdown for one entry, starting at `## ` (no file header, no blank lines around it). */
|
|
109
|
-
export function renderLogEntry(entry) {
|
|
110
|
-
const lines = [`## ${entry.at}${SEP}${entry.kind}${SEP}${encodeField(entry.title)}`, ''];
|
|
111
|
-
for (const field of LOG_FIELDS) {
|
|
112
|
-
const body = field.render(entry);
|
|
113
|
-
if (body !== undefined)
|
|
114
|
-
lines.push(`${field.prefix}${body}`);
|
|
115
|
-
}
|
|
116
|
-
if (entry.prompts && entry.prompts.length > 0) {
|
|
117
|
-
lines.push('- prompts:');
|
|
118
|
-
for (const prompt of entry.prompts)
|
|
119
|
-
lines.push(` - ${encodeField(prompt)}`);
|
|
120
|
-
}
|
|
121
|
-
return lines.join('\n');
|
|
122
|
-
}
|
|
123
|
-
/**
|
|
124
|
-
* Parse every entry out of the markdown, in file order (append order, so
|
|
125
|
-
* oldest-first). Forgiving: a malformed or torn entry is skipped, never thrown.
|
|
126
|
-
*/
|
|
127
|
-
export function parseLogs(md) {
|
|
128
|
-
const entries = [];
|
|
129
|
-
let block;
|
|
130
|
-
const flush = () => {
|
|
131
|
-
const entry = block && parseEntry(block);
|
|
132
|
-
if (entry)
|
|
133
|
-
entries.push(entry);
|
|
134
|
-
block = undefined;
|
|
135
|
-
};
|
|
136
|
-
for (const line of md.split('\n')) {
|
|
137
|
-
if (line.startsWith('## ')) {
|
|
138
|
-
flush();
|
|
139
|
-
block = [line];
|
|
140
|
-
}
|
|
141
|
-
else if (block) {
|
|
142
|
-
block.push(line);
|
|
143
|
-
}
|
|
144
|
-
// Anything before the first `## ` (the file header) is ignored.
|
|
145
|
-
}
|
|
146
|
-
flush();
|
|
147
|
-
return entries;
|
|
148
|
-
}
|
|
149
|
-
/** Parse one `## `-headed block; `undefined` when a required field is missing/invalid. */
|
|
150
|
-
function parseEntry(lines) {
|
|
151
|
-
const heading = lines[0]?.slice('## '.length) ?? '';
|
|
152
|
-
const parts = heading.split(SEP);
|
|
153
|
-
const at = parts[0];
|
|
154
|
-
const kind = parts[1];
|
|
155
|
-
// Re-join the rest so a title containing the separator survives.
|
|
156
|
-
const title = decodeField(parts.slice(2).join(SEP));
|
|
157
|
-
if (!at || !kind || !title || !KINDS.includes(kind))
|
|
158
|
-
return undefined;
|
|
159
|
-
const draft = {};
|
|
160
|
-
let prompts;
|
|
161
|
-
let inPrompts = false;
|
|
162
|
-
for (const line of lines.slice(1)) {
|
|
163
|
-
if (inPrompts && line.startsWith(' - ')) {
|
|
164
|
-
prompts.push(decodeField(line.slice(' - '.length)));
|
|
165
|
-
continue;
|
|
166
|
-
}
|
|
167
|
-
inPrompts = false;
|
|
168
|
-
if (line.trim() === '- prompts:') {
|
|
169
|
-
prompts = [];
|
|
170
|
-
inPrompts = true;
|
|
171
|
-
continue;
|
|
172
|
-
}
|
|
173
|
-
const field = LOG_FIELDS.find(f => line.startsWith(f.prefix));
|
|
174
|
-
if (field)
|
|
175
|
-
field.parse(line.slice(field.prefix.length), draft);
|
|
176
|
-
}
|
|
177
|
-
if (!draft.status || !STATUSES.includes(draft.status))
|
|
178
|
-
return undefined;
|
|
179
|
-
const entry = {
|
|
180
|
-
at,
|
|
181
|
-
kind: kind,
|
|
182
|
-
title,
|
|
183
|
-
status: draft.status,
|
|
184
|
-
};
|
|
185
|
-
if (draft.id)
|
|
186
|
-
entry.id = draft.id;
|
|
187
|
-
if (draft.sessionId)
|
|
188
|
-
entry.sessionId = draft.sessionId;
|
|
189
|
-
if (draft.sessionLink)
|
|
190
|
-
entry.sessionLink = draft.sessionLink;
|
|
191
|
-
if (draft.sessionName)
|
|
192
|
-
entry.sessionName = draft.sessionName;
|
|
193
|
-
if (draft.branch)
|
|
194
|
-
entry.branch = draft.branch;
|
|
195
|
-
if (prompts && prompts.length > 0)
|
|
196
|
-
entry.prompts = prompts;
|
|
197
|
-
return entry;
|
|
198
|
-
}
|
|
199
|
-
/**
|
|
200
|
-
* Append one entry to `.the-framework/LOGS.md`, creating the dir and the
|
|
201
|
-
* one-time file header when absent. A raw write (may reject); the caller
|
|
202
|
-
* decides best-effort.
|
|
203
|
-
*/
|
|
204
|
-
export async function appendLog(cwd, entry, fs = nodeStoreFs()) {
|
|
205
|
-
await fs.mkdir(join(cwd, THE_FRAMEWORK_DIR));
|
|
206
|
-
const path = logsPath(cwd);
|
|
207
|
-
if (!(await fs.exists(path)))
|
|
208
|
-
await fs.write(path, LOGS_HEADER);
|
|
209
|
-
await fs.append(path, '\n' + renderLogEntry(entry) + '\n');
|
|
210
|
-
}
|
|
211
|
-
/** Read the project log, newest-first (append order reversed). Missing file yields `[]`. */
|
|
212
|
-
export async function readLogs(cwd, fs = nodeStoreFs()) {
|
|
213
|
-
const path = logsPath(cwd);
|
|
214
|
-
if (!(await fs.exists(path)))
|
|
215
|
-
return [];
|
|
216
|
-
return parseLogs(await fs.read(path)).reverse();
|
|
217
|
-
}
|
|
218
|
-
//# sourceMappingURL=logs.js.map
|
package/dist/logs.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"logs.js","sourceRoot":"","sources":["../src/logs.ts"],"names":[],"mappings":"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"}
|
package/dist/maintenance.d.ts
DELETED
|
@@ -1,90 +0,0 @@
|
|
|
1
|
-
import { type GitRunner } from '@gemstack/agent-data';
|
|
2
|
-
/** What a repo's last maintenance review recorded. */
|
|
3
|
-
export interface MaintenanceState {
|
|
4
|
-
/** The HEAD commit the maintenance loop last reviewed (a full SHA). */
|
|
5
|
-
reviewedSha?: string;
|
|
6
|
-
/** ISO timestamp of that review. */
|
|
7
|
-
reviewedAt?: string;
|
|
8
|
-
}
|
|
9
|
-
/** Minimal fs seam so the state IO is unit-testable without touching disk. */
|
|
10
|
-
export interface MaintenanceFs {
|
|
11
|
-
read(path: string): Promise<string>;
|
|
12
|
-
write(path: string, contents: string): Promise<void>;
|
|
13
|
-
mkdir(path: string): Promise<void>;
|
|
14
|
-
}
|
|
15
|
-
/** The review-state file path for a repo. */
|
|
16
|
-
export declare function maintenanceStatePath(cwd: string): string;
|
|
17
|
-
/** Read a repo's review state. Forgiving: a missing/unreadable/malformed file yields `{}`. */
|
|
18
|
-
export declare function readMaintenanceState(cwd: string, fs?: MaintenanceFs): Promise<MaintenanceState>;
|
|
19
|
-
/** Record a repo's review state, creating `.the-framework/` as needed. */
|
|
20
|
-
export declare function writeMaintenanceState(cwd: string, state: MaintenanceState, fs?: MaintenanceFs): Promise<void>;
|
|
21
|
-
/**
|
|
22
|
-
* Record part of a repo's state, leaving the keys not mentioned alone: {@link writeMaintenanceState}
|
|
23
|
-
* replaces the file wholesale, and a caller that knows only the part it changed must not erase the
|
|
24
|
-
* rest.
|
|
25
|
-
*/
|
|
26
|
-
export declare function mergeMaintenanceState(cwd: string, patch: MaintenanceState, fs?: MaintenanceFs): Promise<void>;
|
|
27
|
-
/** What the sweep decided for one repo. */
|
|
28
|
-
export type MaintenanceAction = 'baseline' | 'review' | 'skip' | 'error';
|
|
29
|
-
/** A repo's assessed maintenance status. */
|
|
30
|
-
export interface RepoReview {
|
|
31
|
-
/** Registry id, when assessed from the registry. */
|
|
32
|
-
id?: string;
|
|
33
|
-
/** Absolute repo path. */
|
|
34
|
-
path: string;
|
|
35
|
-
/** Current HEAD SHA, when resolvable. */
|
|
36
|
-
headSha?: string;
|
|
37
|
-
/** The last-reviewed SHA, when the repo has been reviewed before. */
|
|
38
|
-
reviewedSha?: string;
|
|
39
|
-
/** Commits in `reviewedSha..HEAD` (0 for a first-seen or up-to-date repo). */
|
|
40
|
-
newCommits: number;
|
|
41
|
-
/** What to do: baseline a first-seen repo, review new commits, skip an up-to-date one, or an error. */
|
|
42
|
-
action: MaintenanceAction;
|
|
43
|
-
/** Context for an `error` or an unusual `review` (e.g. rewritten history). */
|
|
44
|
-
note?: string;
|
|
45
|
-
}
|
|
46
|
-
/**
|
|
47
|
-
* Assess one repo: resolve HEAD, read its review state, and count the commits since
|
|
48
|
-
* the last review. A never-reviewed repo is `baseline` (we record HEAD without
|
|
49
|
-
* reviewing history retroactively); an unchanged repo is `skip`; new commits are
|
|
50
|
-
* `review`. A non-repo / missing git is `error` (skipped, never throws). A reviewed
|
|
51
|
-
* SHA git no longer knows (rebased away) falls back to `review`.
|
|
52
|
-
*/
|
|
53
|
-
export declare function assessRepo(path: string, git?: GitRunner, fs?: MaintenanceFs): Promise<RepoReview>;
|
|
54
|
-
/** Assess every registered repo, tagging each review with its registry id. */
|
|
55
|
-
export declare function planMaintenanceSweep(repos: readonly {
|
|
56
|
-
id?: string;
|
|
57
|
-
path: string;
|
|
58
|
-
}[], git?: GitRunner, fs?: MaintenanceFs): Promise<RepoReview[]>;
|
|
59
|
-
/** The tally a sweep returns. */
|
|
60
|
-
export interface SweepSummary {
|
|
61
|
-
reviewed: number;
|
|
62
|
-
baselined: number;
|
|
63
|
-
skipped: number;
|
|
64
|
-
failed: number;
|
|
65
|
-
/** Repos not reached because `maxRepos` was hit. */
|
|
66
|
-
pending: number;
|
|
67
|
-
}
|
|
68
|
-
/** Injected effects for {@link maintainSweep}, so the orchestration is testable off disk/process. */
|
|
69
|
-
export interface SweepDeps {
|
|
70
|
-
/** Run the maintenance loop on a repo; resolves true on success. */
|
|
71
|
-
agent(review: RepoReview): Promise<boolean>;
|
|
72
|
-
/** Persist a repo's review state (called after a baseline or a successful review). */
|
|
73
|
-
record(path: string, state: MaintenanceState): Promise<void>;
|
|
74
|
-
/** Progress line. */
|
|
75
|
-
log(message: string): void;
|
|
76
|
-
/** ISO timestamp for a recorded review (injected so runs are deterministic in tests). */
|
|
77
|
-
now(): string;
|
|
78
|
-
/** Stop after reviewing this many repos in one sweep (baselines/skips don't count). */
|
|
79
|
-
maxRepos?: number;
|
|
80
|
-
}
|
|
81
|
-
/**
|
|
82
|
-
* Orchestrate a sweep over pre-assessed reviews: baseline first-seen repos (record
|
|
83
|
-
* HEAD, no run), skip up-to-date ones, and run the maintenance loop on the rest —
|
|
84
|
-
* recording the reviewed SHA only when the agent succeeds, so a failure is retried next
|
|
85
|
-
* sweep. Honors `maxRepos`; the remainder is reported as `pending`.
|
|
86
|
-
*/
|
|
87
|
-
export declare function maintainSweep(reviews: readonly RepoReview[], deps: SweepDeps): Promise<SweepSummary>;
|
|
88
|
-
/** Short SHA for logs. */
|
|
89
|
-
export declare function short(sha: string | undefined): string;
|
|
90
|
-
//# sourceMappingURL=maintenance.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"maintenance.d.ts","sourceRoot":"","sources":["../src/maintenance.ts"],"names":[],"mappings":"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"}
|
package/dist/maintenance.js
DELETED
|
@@ -1,141 +0,0 @@
|
|
|
1
|
-
import { join } from 'node:path';
|
|
2
|
-
import { nodeGitRunner } from '@gemstack/agent-data';
|
|
3
|
-
import { THE_FRAMEWORK_DIR } from './framework-dir.js';
|
|
4
|
-
import { nodeFs } from './node-fs.js';
|
|
5
|
-
/**
|
|
6
|
-
* The maintenance sweep (#298): a background job that walks the registered repos,
|
|
7
|
-
* finds the commits each repo has grown since its last maintenance review, and runs
|
|
8
|
-
* the maintainability loop on them. Per-repo review state is a small local file
|
|
9
|
-
* (`.the-framework/maintenance.json`, gitignored) recording the last-reviewed commit,
|
|
10
|
-
* so a sweep only ever acts on new work. The capacity gate is the quota boundary, which
|
|
11
|
-
* decides whether unattended work may start. #298's "check the limit" half is reachable — the agent
|
|
12
|
-
* reports the account's quota per turn (#517) and on demand (#521) — but this sweep
|
|
13
|
-
* does not gate on it yet; that is #519's consumption limits.
|
|
14
|
-
*/
|
|
15
|
-
/** The per-repo review-state filename under `.the-framework/`. */
|
|
16
|
-
const MAINTENANCE_FILE = 'maintenance.json';
|
|
17
|
-
/** A {@link MaintenanceFs} backed by `node:fs/promises`. See {@link nodeFs}. */
|
|
18
|
-
function nodeMaintenanceFs() {
|
|
19
|
-
const { read, write, mkdir } = nodeFs();
|
|
20
|
-
return { read, write, mkdir };
|
|
21
|
-
}
|
|
22
|
-
/** The review-state file path for a repo. */
|
|
23
|
-
export function maintenanceStatePath(cwd) {
|
|
24
|
-
return join(cwd, THE_FRAMEWORK_DIR, MAINTENANCE_FILE);
|
|
25
|
-
}
|
|
26
|
-
/** Read a repo's review state. Forgiving: a missing/unreadable/malformed file yields `{}`. */
|
|
27
|
-
export async function readMaintenanceState(cwd, fs = nodeMaintenanceFs()) {
|
|
28
|
-
try {
|
|
29
|
-
const parsed = JSON.parse(await fs.read(maintenanceStatePath(cwd)));
|
|
30
|
-
if (parsed && typeof parsed === 'object') {
|
|
31
|
-
const record = parsed;
|
|
32
|
-
const state = {};
|
|
33
|
-
if (typeof record['reviewedSha'] === 'string')
|
|
34
|
-
state.reviewedSha = record['reviewedSha'];
|
|
35
|
-
if (typeof record['reviewedAt'] === 'string')
|
|
36
|
-
state.reviewedAt = record['reviewedAt'];
|
|
37
|
-
return state;
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
catch {
|
|
41
|
-
// absent / unreadable / malformed -> no prior review
|
|
42
|
-
}
|
|
43
|
-
return {};
|
|
44
|
-
}
|
|
45
|
-
/** Record a repo's review state, creating `.the-framework/` as needed. */
|
|
46
|
-
export async function writeMaintenanceState(cwd, state, fs = nodeMaintenanceFs()) {
|
|
47
|
-
await fs.mkdir(join(cwd, THE_FRAMEWORK_DIR));
|
|
48
|
-
await fs.write(maintenanceStatePath(cwd), JSON.stringify(state, null, 2));
|
|
49
|
-
}
|
|
50
|
-
/**
|
|
51
|
-
* Record part of a repo's state, leaving the keys not mentioned alone: {@link writeMaintenanceState}
|
|
52
|
-
* replaces the file wholesale, and a caller that knows only the part it changed must not erase the
|
|
53
|
-
* rest.
|
|
54
|
-
*/
|
|
55
|
-
export async function mergeMaintenanceState(cwd, patch, fs = nodeMaintenanceFs()) {
|
|
56
|
-
await writeMaintenanceState(cwd, { ...(await readMaintenanceState(cwd, fs)), ...patch }, fs);
|
|
57
|
-
}
|
|
58
|
-
/**
|
|
59
|
-
* Assess one repo: resolve HEAD, read its review state, and count the commits since
|
|
60
|
-
* the last review. A never-reviewed repo is `baseline` (we record HEAD without
|
|
61
|
-
* reviewing history retroactively); an unchanged repo is `skip`; new commits are
|
|
62
|
-
* `review`. A non-repo / missing git is `error` (skipped, never throws). A reviewed
|
|
63
|
-
* SHA git no longer knows (rebased away) falls back to `review`.
|
|
64
|
-
*/
|
|
65
|
-
export async function assessRepo(path, git = nodeGitRunner(), fs = nodeMaintenanceFs()) {
|
|
66
|
-
let headSha;
|
|
67
|
-
try {
|
|
68
|
-
headSha = (await git(['rev-parse', 'HEAD'], path)).trim();
|
|
69
|
-
}
|
|
70
|
-
catch {
|
|
71
|
-
return { path, newCommits: 0, action: 'error', note: 'not a git repo, or it has no commits' };
|
|
72
|
-
}
|
|
73
|
-
const { reviewedSha } = await readMaintenanceState(path, fs);
|
|
74
|
-
if (!reviewedSha)
|
|
75
|
-
return { path, headSha, newCommits: 0, action: 'baseline' };
|
|
76
|
-
if (reviewedSha === headSha)
|
|
77
|
-
return { path, headSha, reviewedSha, newCommits: 0, action: 'skip' };
|
|
78
|
-
try {
|
|
79
|
-
const count = Number.parseInt((await git(['rev-list', '--count', `${reviewedSha}..HEAD`], path)).trim(), 10);
|
|
80
|
-
const newCommits = Number.isFinite(count) ? count : 0;
|
|
81
|
-
return { path, headSha, reviewedSha, newCommits, action: newCommits > 0 ? 'review' : 'skip' };
|
|
82
|
-
}
|
|
83
|
-
catch {
|
|
84
|
-
// The reviewed commit is unknown to git (history was rewritten): re-review to be safe.
|
|
85
|
-
return { path, headSha, reviewedSha, newCommits: 0, action: 'review', note: 'reviewed commit not found (history changed); re-reviewing' };
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
/** Assess every registered repo, tagging each review with its registry id. */
|
|
89
|
-
export async function planMaintenanceSweep(repos, git = nodeGitRunner(), fs = nodeMaintenanceFs()) {
|
|
90
|
-
return Promise.all(repos.map(async (repo) => ({ ...(await assessRepo(repo.path, git, fs)), ...(repo.id ? { id: repo.id } : {}) })));
|
|
91
|
-
}
|
|
92
|
-
/**
|
|
93
|
-
* Orchestrate a sweep over pre-assessed reviews: baseline first-seen repos (record
|
|
94
|
-
* HEAD, no run), skip up-to-date ones, and run the maintenance loop on the rest —
|
|
95
|
-
* recording the reviewed SHA only when the agent succeeds, so a failure is retried next
|
|
96
|
-
* sweep. Honors `maxRepos`; the remainder is reported as `pending`.
|
|
97
|
-
*/
|
|
98
|
-
export async function maintainSweep(reviews, deps) {
|
|
99
|
-
const summary = { reviewed: 0, baselined: 0, skipped: 0, failed: 0, pending: 0 };
|
|
100
|
-
const limit = deps.maxRepos ?? Infinity;
|
|
101
|
-
for (const review of reviews) {
|
|
102
|
-
if (review.action === 'skip') {
|
|
103
|
-
summary.skipped++;
|
|
104
|
-
continue;
|
|
105
|
-
}
|
|
106
|
-
if (review.action === 'error') {
|
|
107
|
-
summary.failed++;
|
|
108
|
-
deps.log(`✗ ${review.path}: ${review.note ?? 'could not assess'}`);
|
|
109
|
-
continue;
|
|
110
|
-
}
|
|
111
|
-
if (review.action === 'baseline') {
|
|
112
|
-
if (review.headSha)
|
|
113
|
-
await deps.record(review.path, { reviewedSha: review.headSha, reviewedAt: deps.now() });
|
|
114
|
-
summary.baselined++;
|
|
115
|
-
deps.log(`◆ baselined ${review.path} at ${short(review.headSha)}`);
|
|
116
|
-
continue;
|
|
117
|
-
}
|
|
118
|
-
// action === 'review'
|
|
119
|
-
if (summary.reviewed >= limit) {
|
|
120
|
-
summary.pending++;
|
|
121
|
-
continue;
|
|
122
|
-
}
|
|
123
|
-
deps.log(`▶ maintaining ${review.path} (${review.newCommits} new commit${review.newCommits === 1 ? '' : 's'})…`);
|
|
124
|
-
const ok = await deps.agent(review);
|
|
125
|
-
if (ok && review.headSha) {
|
|
126
|
-
await deps.record(review.path, { reviewedSha: review.headSha, reviewedAt: deps.now() });
|
|
127
|
-
summary.reviewed++;
|
|
128
|
-
deps.log(`✓ ${review.path} reviewed`);
|
|
129
|
-
}
|
|
130
|
-
else {
|
|
131
|
-
summary.failed++;
|
|
132
|
-
deps.log(`✗ ${review.path} maintenance session failed; will retry next sweep`);
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
return summary;
|
|
136
|
-
}
|
|
137
|
-
/** Short SHA for logs. */
|
|
138
|
-
export function short(sha) {
|
|
139
|
-
return sha ? sha.slice(0, 7) : '(unknown)';
|
|
140
|
-
}
|
|
141
|
-
//# sourceMappingURL=maintenance.js.map
|
package/dist/maintenance.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"maintenance.js","sourceRoot":"","sources":["../src/maintenance.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
import { type RemoveResult, type WorktreeRow } from './worktrees.js';
|
|
2
|
-
import { type ProjectPass, type ProjectsSource } from './project-pass.js';
|
|
3
|
-
/** One worktree this sweep removed. */
|
|
4
|
-
export interface RemovedWorktree {
|
|
5
|
-
/** The agent id, which is also the worktree's directory name. */
|
|
6
|
-
agentId: string;
|
|
7
|
-
/** Branches that went with it: one holding nothing the remote lacks (#1650), a run-id branch the kept branch contains (#1657). */
|
|
8
|
-
branchesDeleted?: string[];
|
|
9
|
-
}
|
|
10
|
-
/** A worktree the sweep tried to reclaim and could not, and why. */
|
|
11
|
-
export interface FailedRemoval {
|
|
12
|
-
agentId: string;
|
|
13
|
-
error: string;
|
|
14
|
-
}
|
|
15
|
-
/** What {@link removeMergedWorktrees} did. */
|
|
16
|
-
export interface MergedSweepResult {
|
|
17
|
-
removed: RemovedWorktree[];
|
|
18
|
-
/** Worktrees it tried and could not reclaim — most often a branch it could not push. */
|
|
19
|
-
failed: FailedRemoval[];
|
|
20
|
-
}
|
|
21
|
-
/** Injectable seams so the sweep is unit-testable off disk. */
|
|
22
|
-
export interface MergedSweepDeps {
|
|
23
|
-
/** The worktrees on disk (default {@link listProjectWorktrees}). */
|
|
24
|
-
worktrees?: (cwd: string) => Promise<WorktreeRow[]>;
|
|
25
|
-
/** Removes one worktree (default {@link removeProjectWorktree}). */
|
|
26
|
-
remove?: (cwd: string, agentId: string) => Promise<RemoveResult>;
|
|
27
|
-
/** Whether the repo has a remote at all (default {@link repoHasRemote}). */
|
|
28
|
-
hasRemote?: (cwd: string) => Promise<boolean>;
|
|
29
|
-
/** Agent ids whose checkouts the daemon is still responsible for; see {@link MergedSweepOptions.busy}. */
|
|
30
|
-
busy?: ReadonlySet<string>;
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
* Reclaim every retained worktree in `cwd` whose work can reach the remote (E5).
|
|
34
|
-
*
|
|
35
|
-
* The decision is entirely {@link removeProjectWorktree}'s — keep a dirty checkout, push the
|
|
36
|
-
* branch, remove only once the remote has it — so the automatic path and the manual one (the
|
|
37
|
-
* dashboard's Remove button) are one behaviour rather than two that can disagree. This adds the
|
|
38
|
-
* loop, the one thing it must never touch (a live agent's checkout, where its agent is working), and
|
|
39
|
-
* the agent lock.
|
|
40
|
-
*
|
|
41
|
-
* The lock is load-bearing: an agent's meta flips to `done` a beat before its teardown finishes
|
|
42
|
-
* archiving, so a sweep landing in that window would remove the checkout out from under the
|
|
43
|
-
* archive — which then recreates the directory it was reading from, and the removal silently
|
|
44
|
-
* un-happens. Every other actor on a checkout already takes this lock.
|
|
45
|
-
*/
|
|
46
|
-
export declare function removeMergedWorktrees(cwd: string, deps?: MergedSweepDeps): Promise<MergedSweepResult>;
|
|
47
|
-
/** `its branch x` / `its branches x and y`, for the removal line. */
|
|
48
|
-
export declare function describeDeleted(branches: readonly string[]): string;
|
|
49
|
-
/** What {@link startMergedWorktreeSweep} needs from the daemon. */
|
|
50
|
-
export interface MergedSweepOptions {
|
|
51
|
-
/** The registered projects to sweep. */
|
|
52
|
-
projects: ProjectsSource;
|
|
53
|
-
log: (message: string) => void;
|
|
54
|
-
/**
|
|
55
|
-
* The agents the daemon is still responsible for — spawning, running, or mid-retirement — whose
|
|
56
|
-
* checkouts this must not touch.
|
|
57
|
-
*
|
|
58
|
-
* "Not live" on disk is not "the daemon is finished with it": an agent's meta flips to `done` a
|
|
59
|
-
* beat before its teardown archives the history and reclaims the checkout, and a sweep landing
|
|
60
|
-
* in that window races the teardown for the same directory. Absent means nothing is busy, which
|
|
61
|
-
* is right for a caller that spawns no agents.
|
|
62
|
-
*/
|
|
63
|
-
busy?: () => ReadonlySet<string>;
|
|
64
|
-
/** The per-project sweep (default {@link removeMergedWorktrees}). */
|
|
65
|
-
sweep?: (cwd: string) => Promise<MergedSweepResult>;
|
|
66
|
-
}
|
|
67
|
-
/**
|
|
68
|
-
* Sweep every registered project's reclaimable worktrees (#1036), one turn per call.
|
|
69
|
-
*
|
|
70
|
-
* Says what it removed rather than removing it silently: a checkout vanishing from under someone
|
|
71
|
-
* with no line explaining why reads as a bug, even when the work behind it is safe.
|
|
72
|
-
*/
|
|
73
|
-
export declare function startMergedWorktreeSweep(opts: MergedSweepOptions): ProjectPass;
|
|
74
|
-
//# sourceMappingURL=merged-worktrees.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"merged-worktrees.d.ts","sourceRoot":"","sources":["../src/merged-worktrees.ts"],"names":[],"mappings":"AAAA,OAAO,EAA+C,KAAK,YAAY,EAAE,KAAK,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAGjH,OAAO,EAAoB,KAAK,WAAW,EAAE,KAAK,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAmB3F,uCAAuC;AACvC,MAAM,WAAW,eAAe;IAC9B,iEAAiE;IACjE,OAAO,EAAE,MAAM,CAAA;IACf,kIAAkI;IAClI,eAAe,CAAC,EAAE,MAAM,EAAE,CAAA;CAC3B;AAED,oEAAoE;AACpE,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;CACd;AAED,8CAA8C;AAC9C,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,eAAe,EAAE,CAAA;IAC1B,wFAAwF;IACxF,MAAM,EAAE,aAAa,EAAE,CAAA;CACxB;AAED,+DAA+D;AAC/D,MAAM,WAAW,eAAe;IAC9B,oEAAoE;IACpE,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,WAAW,EAAE,CAAC,CAAA;IACnD,oEAAoE;IACpE,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,YAAY,CAAC,CAAA;IAChE,4EAA4E;IAC5E,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;IAC7C,0GAA0G;IAC1G,IAAI,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;CAC3B;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,qBAAqB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,GAAE,eAAoB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAyB/G;AAED,qEAAqE;AACrE,wBAAgB,eAAe,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAEnE;AAED,mEAAmE;AACnE,MAAM,WAAW,kBAAkB;IACjC,wCAAwC;IACxC,QAAQ,EAAE,cAAc,CAAA;IACxB,GAAG,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAA;IAC9B;;;;;;;;OAQG;IACH,IAAI,CAAC,EAAE,MAAM,WAAW,CAAC,MAAM,CAAC,CAAA;IAChC,qEAAqE;IACrE,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,iBAAiB,CAAC,CAAA;CACpD;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,kBAAkB,GAAG,WAAW,CA6B9E"}
|