@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/todo-loop.d.ts
DELETED
|
@@ -1,110 +0,0 @@
|
|
|
1
|
-
import type { DriverSession } from 'agent-driver';
|
|
2
|
-
import type { ChoicePick, ChoiceRequest, FrameworkEvent } from './events.js';
|
|
3
|
-
/**
|
|
4
|
-
* The backlog loop (#323): once the main work settles, consume the agent queue one entry per
|
|
5
|
-
* turn until it is empty. The agent writes the queue itself (a very large scope, the Maintenance
|
|
6
|
-
* follow-ups, or the [Research] preset's deep-dive picks all add entries); the framework only
|
|
7
|
-
* drives: read the queue, gate ("start the next item?") when someone can answer, prompt the agent
|
|
8
|
-
* to complete exactly one entry, take it off the queue, repeat. Termination is Rom's call on the
|
|
9
|
-
* issue: stop when the queue is empty. The dashboard's autopilot auto-accepts the per-item gate,
|
|
10
|
-
* so `[x] autopilot` consumes the whole queue unattended; autopilot off pauses before each entry.
|
|
11
|
-
*
|
|
12
|
-
* The queue is the `queue` skill's (#1748): it lives on the `agent-data` branch, read and changed
|
|
13
|
-
* through the skill's library — the framework holds no copy and edits no file of its own. Which
|
|
14
|
-
* ticket an entry links to is the `tickets` skill's rule.
|
|
15
|
-
*/
|
|
16
|
-
/**
|
|
17
|
-
* Does this session's own backlog still have open work (#1363)?
|
|
18
|
-
*
|
|
19
|
-
* Reads only `TODO_<SESSION_NAME>.agent.md` — the file the [Research] preset (and a very-large
|
|
20
|
-
* scope) has the agent keep for its own session. Never the global queue: the queue is decoupled
|
|
21
|
-
* from sessions (#1390), and withholding a merge on it would mean auto-merge never fires while
|
|
22
|
-
* the project has any backlog at all. `false` on a missing or unreadable file, and on a session
|
|
23
|
-
* name that could not name a file — no pendingness known is not pendingness.
|
|
24
|
-
*
|
|
25
|
-
* TEMPORARY SAFETY BELT, built to be deleted (#1390): the agent's setReadyForMerge() is the
|
|
26
|
-
* authorization, and this only catches the agent declaring done while its own session file says
|
|
27
|
-
* otherwise. When the agent's word is deemed enough, delete this function and its single call
|
|
28
|
-
* site in `maybeAutoHandoff`.
|
|
29
|
-
*/
|
|
30
|
-
export declare function agentTodoPending(cwd: string, sessionName: string | undefined): Promise<boolean>;
|
|
31
|
-
/**
|
|
32
|
-
* The ticket the next drain agent will pick up, or `undefined` when there is none (#1117).
|
|
33
|
-
*
|
|
34
|
-
* "Next" is the first open entry of the queue, because that is what the [Drain queue] preset
|
|
35
|
-
* says to work ("the FIRST open entry only") and the queue reads in file order. Read from the
|
|
36
|
-
* same copy the sweep already consults when it decides whether there is anything to drain, so
|
|
37
|
-
* the entry this names is the entry that decision was made on.
|
|
38
|
-
*
|
|
39
|
-
* A best guess by construction: the agent reads the queue a moment later, and an entry taken off
|
|
40
|
-
* in between would move it on. Being wrong here costs a mislabelled lane on the Overview and
|
|
41
|
-
* nothing else — no run is started or steered by this.
|
|
42
|
-
*/
|
|
43
|
-
export declare function nextQueuedTicket(cwd: string): Promise<string | undefined>;
|
|
44
|
-
/**
|
|
45
|
-
* The ticket an agent started by hand is about to implement, when that agent is a drain (#1117).
|
|
46
|
-
*
|
|
47
|
-
* The daemon already does this for the sweep's own drain, off the `drains` flag on the job. An agent
|
|
48
|
-
* fired from the dashboard reaches the same start with none of that context, so a hand-fired drain
|
|
49
|
-
* showed up working on nothing: the agent implemented the ticket, and the lane it belonged in stayed
|
|
50
|
-
* empty. Same read as the sweep's, so both agree on which entry is next.
|
|
51
|
-
*
|
|
52
|
-
* Undefined for anything that is not a drain, and for a drain over an empty queue. The `read` seam
|
|
53
|
-
* is for tests; production always takes the default.
|
|
54
|
-
*/
|
|
55
|
-
export declare function ticketForPrompt(prompt: string, cwd: string, read?: (cwd: string) => Promise<string | undefined>): Promise<string | undefined>;
|
|
56
|
-
/** Why the loop ended. */
|
|
57
|
-
export type TodoLoopReason =
|
|
58
|
-
/** The queue is empty (or was never written) — the success case. */
|
|
59
|
-
'empty'
|
|
60
|
-
/** The user picked "stop" at a per-item gate. */
|
|
61
|
-
| 'stopped'
|
|
62
|
-
/** Two removals in a row could not be written to the `agent-data` branch. */
|
|
63
|
-
| 'stalled'
|
|
64
|
-
/** The item cap was reached with entries still open. */
|
|
65
|
-
| 'max-items';
|
|
66
|
-
/** What {@link runTodoLoop} resolves with. */
|
|
67
|
-
export interface TodoLoopResult {
|
|
68
|
-
/** Queue entries worked (turns taken), regardless of outcome. */
|
|
69
|
-
completed: number;
|
|
70
|
-
/** Why the loop ended. */
|
|
71
|
-
reason: TodoLoopReason;
|
|
72
|
-
/**
|
|
73
|
-
* An answer marked `stop` (#358) inside an item's turn — a plan the user declined — ends the
|
|
74
|
-
* whole session, not just the loop. Distinct from the benign `reason: 'stopped'` per-item gate,
|
|
75
|
-
* which only stops draining the queue. The caller aborts the session on this.
|
|
76
|
-
*/
|
|
77
|
-
sessionStopped?: boolean;
|
|
78
|
-
}
|
|
79
|
-
/** Options for {@link runTodoLoop}. */
|
|
80
|
-
export interface TodoLoopOptions {
|
|
81
|
-
/** The live driver session the agent already owns. */
|
|
82
|
-
session: DriverSession;
|
|
83
|
-
/** The agent's checkout; the queue is read from the repository it belongs to. */
|
|
84
|
-
cwd: string;
|
|
85
|
-
/** Emit the loop's events onto the agent stream. */
|
|
86
|
-
emit: (event: FrameworkEvent) => void;
|
|
87
|
-
/**
|
|
88
|
-
* The interactive gate handler (#304). When wired, the loop pauses before each
|
|
89
|
-
* entry ("start the next item?") — the dashboard's autopilot auto-accepts, so
|
|
90
|
-
* autopilot off means a human gate per item (#323). Headless runs don't pause.
|
|
91
|
-
*/
|
|
92
|
-
requestChoice?: ((req: ChoiceRequest) => Promise<ChoicePick>) | undefined;
|
|
93
|
-
/** The agent signal; aborting (the Stop button, an answer marked stop) ends the loop. */
|
|
94
|
-
signal?: AbortSignal | undefined;
|
|
95
|
-
/** Hard cap on entries worked in one agent. Default {@link DEFAULT_MAX_TODO_ITEMS}. */
|
|
96
|
-
maxItems?: number | undefined;
|
|
97
|
-
}
|
|
98
|
-
/**
|
|
99
|
-
* Drive the queue to empty: read the next open entry (fresh off the `agent-data` branch), gate, prompt
|
|
100
|
-
* the agent to complete exactly that entry, take it off the queue, and repeat. The removal is the
|
|
101
|
-
* framework's, not the agent's (#1582): the queue lives on a branch the agent's checkout does not
|
|
102
|
-
* hold, and the one writer model keeps every edit going through the same funnel. Caps make it
|
|
103
|
-
* safe to leave unattended (#322's concern): the agent's budget/abort signal ends any turn, a
|
|
104
|
-
* hard item cap bounds the agent, and two removals in a row failing to land stop the loop
|
|
105
|
-
* instead of re-working the same entry. A queue turn is a turn like any other: await gates
|
|
106
|
-
* (`showChoices()` / `showMultiSelect()`) and the signals (`showMarkdown()`, `setReadyForMerge()`,
|
|
107
|
-
* `open-pr`) are honored here too.
|
|
108
|
-
*/
|
|
109
|
-
export declare function runTodoLoop(opts: TodoLoopOptions): Promise<TodoLoopResult>;
|
|
110
|
-
//# sourceMappingURL=todo-loop.d.ts.map
|
package/dist/todo-loop.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"todo-loop.d.ts","sourceRoot":"","sources":["../src/todo-loop.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAGjD,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAK5E;;;;;;;;;;;;GAYG;AAEH;;;;;;;;;;;;;GAaG;AACH,wBAAsB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,CAKrG;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAG/E;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,eAAe,CACnC,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,MAAM,EACX,IAAI,GAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,SAAS,CAAoB,GACpE,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAG7B;AAED,0BAA0B;AAC1B,MAAM,MAAM,cAAc;AACxB,oEAAoE;AAClE,OAAO;AACT,iDAAiD;GAC/C,SAAS;AACX,6EAA6E;GAC3E,SAAS;AACX,wDAAwD;GACtD,WAAW,CAAA;AAEf,8CAA8C;AAC9C,MAAM,WAAW,cAAc;IAC7B,iEAAiE;IACjE,SAAS,EAAE,MAAM,CAAA;IACjB,0BAA0B;IAC1B,MAAM,EAAE,cAAc,CAAA;IACtB;;;;OAIG;IACH,cAAc,CAAC,EAAE,OAAO,CAAA;CACzB;AAED,uCAAuC;AACvC,MAAM,WAAW,eAAe;IAC9B,sDAAsD;IACtD,OAAO,EAAE,aAAa,CAAA;IACtB,iFAAiF;IACjF,GAAG,EAAE,MAAM,CAAA;IACX,oDAAoD;IACpD,IAAI,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,CAAA;IACrC;;;;OAIG;IACH,aAAa,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,aAAa,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC,GAAG,SAAS,CAAA;IACzE,yFAAyF;IACzF,MAAM,CAAC,EAAE,WAAW,GAAG,SAAS,CAAA;IAChC,uFAAuF;IACvF,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAC9B;AAQD;;;;;;;;;;GAUG;AACH,wBAAsB,WAAW,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC,CAwFhF"}
|
package/dist/todo-loop.js
DELETED
|
@@ -1,175 +0,0 @@
|
|
|
1
|
-
import { readFile } from 'node:fs/promises';
|
|
2
|
-
import { join } from 'node:path';
|
|
3
|
-
import { parseQueueEntries, queueDone, readQueueEntries } from '@gemstack/skill-queue';
|
|
4
|
-
import { ticketFromQueueEntry } from '@gemstack/skill-tickets';
|
|
5
|
-
import { requestChoices, runAwaitRounds } from './await-gate.js';
|
|
6
|
-
import { drainsQueue } from './preset-catalog.js';
|
|
7
|
-
import { createTurnSignalEmitter } from './turn-gate.js';
|
|
8
|
-
/**
|
|
9
|
-
* The backlog loop (#323): once the main work settles, consume the agent queue one entry per
|
|
10
|
-
* turn until it is empty. The agent writes the queue itself (a very large scope, the Maintenance
|
|
11
|
-
* follow-ups, or the [Research] preset's deep-dive picks all add entries); the framework only
|
|
12
|
-
* drives: read the queue, gate ("start the next item?") when someone can answer, prompt the agent
|
|
13
|
-
* to complete exactly one entry, take it off the queue, repeat. Termination is Rom's call on the
|
|
14
|
-
* issue: stop when the queue is empty. The dashboard's autopilot auto-accepts the per-item gate,
|
|
15
|
-
* so `[x] autopilot` consumes the whole queue unattended; autopilot off pauses before each entry.
|
|
16
|
-
*
|
|
17
|
-
* The queue is the `queue` skill's (#1748): it lives on the `agent-data` branch, read and changed
|
|
18
|
-
* through the skill's library — the framework holds no copy and edits no file of its own. Which
|
|
19
|
-
* ticket an entry links to is the `tickets` skill's rule.
|
|
20
|
-
*/
|
|
21
|
-
/**
|
|
22
|
-
* Does this session's own backlog still have open work (#1363)?
|
|
23
|
-
*
|
|
24
|
-
* Reads only `TODO_<SESSION_NAME>.agent.md` — the file the [Research] preset (and a very-large
|
|
25
|
-
* scope) has the agent keep for its own session. Never the global queue: the queue is decoupled
|
|
26
|
-
* from sessions (#1390), and withholding a merge on it would mean auto-merge never fires while
|
|
27
|
-
* the project has any backlog at all. `false` on a missing or unreadable file, and on a session
|
|
28
|
-
* name that could not name a file — no pendingness known is not pendingness.
|
|
29
|
-
*
|
|
30
|
-
* TEMPORARY SAFETY BELT, built to be deleted (#1390): the agent's setReadyForMerge() is the
|
|
31
|
-
* authorization, and this only catches the agent declaring done while its own session file says
|
|
32
|
-
* otherwise. When the agent's word is deemed enough, delete this function and its single call
|
|
33
|
-
* site in `maybeAutoHandoff`.
|
|
34
|
-
*/
|
|
35
|
-
export async function agentTodoPending(cwd, sessionName) {
|
|
36
|
-
// The prompt asks for [a-z0-9-]+; anything wider (a path separator above all) names no file.
|
|
37
|
-
if (!sessionName || !/^[A-Za-z0-9._-]+$/.test(sessionName))
|
|
38
|
-
return false;
|
|
39
|
-
const md = await readFile(join(cwd, `TODO_${sessionName}.agent.md`), 'utf8').catch(() => undefined);
|
|
40
|
-
return md !== undefined && parseQueueEntries(md).length > 0;
|
|
41
|
-
}
|
|
42
|
-
/**
|
|
43
|
-
* The ticket the next drain agent will pick up, or `undefined` when there is none (#1117).
|
|
44
|
-
*
|
|
45
|
-
* "Next" is the first open entry of the queue, because that is what the [Drain queue] preset
|
|
46
|
-
* says to work ("the FIRST open entry only") and the queue reads in file order. Read from the
|
|
47
|
-
* same copy the sweep already consults when it decides whether there is anything to drain, so
|
|
48
|
-
* the entry this names is the entry that decision was made on.
|
|
49
|
-
*
|
|
50
|
-
* A best guess by construction: the agent reads the queue a moment later, and an entry taken off
|
|
51
|
-
* in between would move it on. Being wrong here costs a mislabelled lane on the Overview and
|
|
52
|
-
* nothing else — no run is started or steered by this.
|
|
53
|
-
*/
|
|
54
|
-
export async function nextQueuedTicket(cwd) {
|
|
55
|
-
const first = (await readQueueEntries(cwd))[0];
|
|
56
|
-
return first ? ticketFromQueueEntry(first) : undefined;
|
|
57
|
-
}
|
|
58
|
-
/**
|
|
59
|
-
* The ticket an agent started by hand is about to implement, when that agent is a drain (#1117).
|
|
60
|
-
*
|
|
61
|
-
* The daemon already does this for the sweep's own drain, off the `drains` flag on the job. An agent
|
|
62
|
-
* fired from the dashboard reaches the same start with none of that context, so a hand-fired drain
|
|
63
|
-
* showed up working on nothing: the agent implemented the ticket, and the lane it belonged in stayed
|
|
64
|
-
* empty. Same read as the sweep's, so both agree on which entry is next.
|
|
65
|
-
*
|
|
66
|
-
* Undefined for anything that is not a drain, and for a drain over an empty queue. The `read` seam
|
|
67
|
-
* is for tests; production always takes the default.
|
|
68
|
-
*/
|
|
69
|
-
export async function ticketForPrompt(prompt, cwd, read = nextQueuedTicket) {
|
|
70
|
-
if (!drainsQueue(prompt))
|
|
71
|
-
return undefined;
|
|
72
|
-
return read(cwd).catch(() => undefined);
|
|
73
|
-
}
|
|
74
|
-
/** The default per-agent cap on queue entries, so one agent cannot work the queue forever. */
|
|
75
|
-
const DEFAULT_MAX_TODO_ITEMS = 25;
|
|
76
|
-
/** How many consecutive failed removals before the loop stops rather than spins. */
|
|
77
|
-
const MAX_STALLS = 2;
|
|
78
|
-
/**
|
|
79
|
-
* Drive the queue to empty: read the next open entry (fresh off the `agent-data` branch), gate, prompt
|
|
80
|
-
* the agent to complete exactly that entry, take it off the queue, and repeat. The removal is the
|
|
81
|
-
* framework's, not the agent's (#1582): the queue lives on a branch the agent's checkout does not
|
|
82
|
-
* hold, and the one writer model keeps every edit going through the same funnel. Caps make it
|
|
83
|
-
* safe to leave unattended (#322's concern): the agent's budget/abort signal ends any turn, a
|
|
84
|
-
* hard item cap bounds the agent, and two removals in a row failing to land stop the loop
|
|
85
|
-
* instead of re-working the same entry. A queue turn is a turn like any other: await gates
|
|
86
|
-
* (`showChoices()` / `showMultiSelect()`) and the signals (`showMarkdown()`, `setReadyForMerge()`,
|
|
87
|
-
* `open-pr`) are honored here too.
|
|
88
|
-
*/
|
|
89
|
-
export async function runTodoLoop(opts) {
|
|
90
|
-
const { session, cwd, emit } = opts;
|
|
91
|
-
const maxItems = opts.maxItems ?? DEFAULT_MAX_TODO_ITEMS;
|
|
92
|
-
// One emitter for the whole queue, so ready-for-merge fires once across every item
|
|
93
|
-
// and a pull-request description only re-emits when it changes.
|
|
94
|
-
const gateDeps = {
|
|
95
|
-
requestChoice: opts.requestChoice,
|
|
96
|
-
emit,
|
|
97
|
-
signal: opts.signal,
|
|
98
|
-
emitTurnSignals: createTurnSignalEmitter(emit),
|
|
99
|
-
};
|
|
100
|
-
let completed = 0;
|
|
101
|
-
// The queue emptied: announce it if we did any work, and report a clean finish.
|
|
102
|
-
// Both the mid-loop find and the post-loop re-check funnel through here.
|
|
103
|
-
const finishEmpty = () => {
|
|
104
|
-
if (completed > 0)
|
|
105
|
-
emit({ kind: 'log', message: `Queue done: empty after ${completed} item(s).` });
|
|
106
|
-
return { completed, reason: 'empty' };
|
|
107
|
-
};
|
|
108
|
-
for (let item = 0; item < maxItems; item++) {
|
|
109
|
-
if (opts.signal?.aborted)
|
|
110
|
-
break;
|
|
111
|
-
const entries = await readQueueEntries(cwd, { fresh: true });
|
|
112
|
-
if (!entries.length)
|
|
113
|
-
return finishEmpty();
|
|
114
|
-
const next = entries[0];
|
|
115
|
-
const preview = next.length > 100 ? `${next.slice(0, 100)}…` : next;
|
|
116
|
-
if (item === 0)
|
|
117
|
-
emit({ kind: 'log', message: `Queue: ${entries.length} open item(s).` });
|
|
118
|
-
// The per-item gate (#323): pause before starting a new entry when someone
|
|
119
|
-
// can answer. Interactive-only, like the plan-approval gate — a headless agent
|
|
120
|
-
// emits no gate and just proceeds (autopilot semantics, budget-capped).
|
|
121
|
-
if (opts.requestChoice) {
|
|
122
|
-
const picked = await requestChoices({
|
|
123
|
-
id: item === 0 ? 'todo-next' : `todo-next-${item}`,
|
|
124
|
-
title: `Start the next queue item? (${entries.length} open)`,
|
|
125
|
-
options: [
|
|
126
|
-
{ id: 'proceed', label: `Work on: ${preview}` },
|
|
127
|
-
{ id: 'stop', label: 'Stop the queue loop' },
|
|
128
|
-
],
|
|
129
|
-
recommended: 'proceed',
|
|
130
|
-
requestChoice: opts.requestChoice,
|
|
131
|
-
emit,
|
|
132
|
-
...(opts.signal ? { signal: opts.signal } : {}),
|
|
133
|
-
});
|
|
134
|
-
if (picked === 'stop') {
|
|
135
|
-
emit({ kind: 'log', message: `Queue loop stopped by you (${entries.length} item(s) left).` });
|
|
136
|
-
return { completed, reason: 'stopped' };
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
emit({ kind: 'log', message: `Queue item ${completed + 1}: ${preview}` });
|
|
140
|
-
// Complete exactly this entry, honoring await gates. The queue is not the agent's to touch
|
|
141
|
-
// (#1582): it lives on the `agent-data` branch, and the removal below is the framework's.
|
|
142
|
-
const prompt = `Work on exactly this task from the project's agent queue, and nothing else:\n\n${next}\n\nComplete it fully and verify your work. Do not start any other task; the framework takes this entry off the queue when the turn ends.`;
|
|
143
|
-
const rounds = await runAwaitRounds({ session, prompt, ...gateDeps });
|
|
144
|
-
completed++;
|
|
145
|
-
// A plan the user declined with a stop-marked answer (#358) ends the whole session, not just
|
|
146
|
-
// this loop — so the session does not go on to publish work that was just rejected. The caller
|
|
147
|
-
// aborts on `sessionStopped`; `reason` stays descriptive of the loop itself.
|
|
148
|
-
if (rounds.stopped) {
|
|
149
|
-
emit({ kind: 'log', message: `Session stopped by your answer (${entries.length} item(s) left).` });
|
|
150
|
-
return { completed, reason: 'stopped', sessionStopped: true };
|
|
151
|
-
}
|
|
152
|
-
// Take the entry off the queue. A no-op when someone else already removed it meanwhile — the
|
|
153
|
-
// write re-reads the fresh queue either way. Retried inline rather than across rounds: a
|
|
154
|
-
// removal that never lands would re-serve the same entry, and re-doing finished work is worse
|
|
155
|
-
// than stopping with the queue intact.
|
|
156
|
-
let landed = false;
|
|
157
|
-
for (let tries = 0; tries < MAX_STALLS && !landed; tries++) {
|
|
158
|
-
landed = (await queueDone(cwd, next)).ok;
|
|
159
|
-
}
|
|
160
|
-
if (!landed) {
|
|
161
|
-
emit({ kind: 'log', message: `Queue loop stopped: "${preview}" could not be taken off the queue after ${MAX_STALLS} attempt(s).` });
|
|
162
|
-
return { completed, reason: 'stalled' };
|
|
163
|
-
}
|
|
164
|
-
}
|
|
165
|
-
// Aborted mid-loop (the Stop button, an answer marked stop): the agent is ending anyway,
|
|
166
|
-
// so report a clean stop without extra narration.
|
|
167
|
-
if (opts.signal?.aborted)
|
|
168
|
-
return { completed, reason: 'stopped' };
|
|
169
|
-
const remaining = await readQueueEntries(cwd);
|
|
170
|
-
if (!remaining.length)
|
|
171
|
-
return finishEmpty();
|
|
172
|
-
emit({ kind: 'log', message: `Queue loop stopped at the ${maxItems}-item cap; ${remaining.length} item(s) left.` });
|
|
173
|
-
return { completed, reason: 'max-items' };
|
|
174
|
-
}
|
|
175
|
-
//# sourceMappingURL=todo-loop.js.map
|
package/dist/todo-loop.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"todo-loop.js","sourceRoot":"","sources":["../src/todo-loop.ts"],"names":[],"mappings":"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"}
|
package/dist/turn-gate.d.ts
DELETED
|
@@ -1,144 +0,0 @@
|
|
|
1
|
-
import { continuationPrompt, type Question, type QuestionOption } from 'agent-driver';
|
|
2
|
-
import type { FrameworkEvent } from './events.js';
|
|
3
|
-
/**
|
|
4
|
-
* The framework-owned "await" protocol (#337 / #339): the *code side* of the
|
|
5
|
-
* `showChoices()` / `showMultiSelect()` + `AWAIT` macros the system prompt delegates. The
|
|
6
|
-
* driver runs each agent turn as a black box to completion (#165), so the only way
|
|
7
|
-
* the framework can learn the agent stopped to ask (rather than deciding for itself)
|
|
8
|
-
* is a signal in the turn's final message. This appends one to the system prompt: it
|
|
9
|
-
* does not restate the macros, it pins *how* to emit an awaited choice so the
|
|
10
|
-
* turn-boundary gate can detect it. Kept minimal and self-contained so it survives the
|
|
11
|
-
* #326 wording still being written. The text lives in `prompts/protocols/await.md` (#551).
|
|
12
|
-
*/
|
|
13
|
-
export declare const AWAIT_PROTOCOL = "## Awaiting a choice\nWhen these instructions tell you to showChoices() / showMultiSelect() / showMarkdown() and then AWAIT, do not decide for the user.\nEnd your turn with one fenced code block, then stop.\nTag it `await-choices`:\n```await-choices\n{ \"title\": \"<the question>\", \"options\": [{ \"label\": \"<option>\", \"detail\": \"<optional one-liner>\" }], \"recommended\": \"<the label to default to>\" }\n```\nEvery question you stop to ask is this one block, whatever it is about:\n- An approval is two options: `{ \"title\": \"Ship this?\", \"options\": [{ \"label\": \"Approve\" }, { \"label\": \"Decline\", \"stop\": true }], \"recommended\": \"Approve\" }`.\n- A plan or document you wrote and want signed off adds `\"file\": \"PLAN_<slug>.agent.md\"`, and the framework shows that file beside the question.\n- Several answers at once (showMultiSelect) adds `\"multi\": true`, and `\"default\": true` on the entries that start checked.\n- `recommended` is what the framework picks when nobody is there to answer, so name the option that is safe to take unattended \u2014 never an option marked `stop`.\n- `\"stop\": true` marks an answer that ends the session instead of resuming you: the user is taking over and will come back with fresh instructions. Mark the option that rejects your work \u2014 declining a plan, saying no to the approach \u2014 and leave it off everything else. You are not re-prompted with that answer, so do not plan around being told it.\n\nThe framework shows it, waits for the user, and re-prompts you with their answer. Do not continue past it on your own.\n\n## Handing the browser to a human\nWhen you are working in a browser and hit something you cannot or should not get past yourself \u2014 a login wall, a captcha, an SSO or 2FA step \u2014 stop and hand it over. Never type a password, never attempt a captcha, and never use a credential you found lying around in the repo or the environment. Ask with the same `await-choices` block, naming the page and recommending the option that is true when nobody is there:\n```await-choices\n{ \"title\": \"<what the human needs to do> (<the page you are stuck on>)\", \"options\": [{ \"label\": \"Handled it\" }, { \"label\": \"Could not handle it\" }], \"recommended\": \"Could not handle it\" }\n```\nThe user acts in that browser, then you are re-prompted. If their answer says it was not handled, do not retry the same page \u2014 say what you could not reach and work on what you can, or stop.\n\n## Showing a document without waiting\nTo display markdown in the side panel without blocking (a plan, a summary, a writeup) and keep working, put a `show-markdown` block anywhere in your turn. The first line is its title:\n```show-markdown\n# <title>\n<the markdown body>\n```\nThis just shows it; you do not stop. Re-emit the same title to update that view in place.";
|
|
14
|
-
/**
|
|
15
|
-
* Told to a hands-off agent only (#1225): the session leaves this machine and nothing here sees
|
|
16
|
-
* its workspace, so whatever it produces has to be committed and put in a pull request before it
|
|
17
|
-
* ends. The text lives in `prompts/protocols/hands_off.md`.
|
|
18
|
-
*/
|
|
19
|
-
export declare const HANDS_OFF_PROTOCOL = "## This session runs detached \u2014 land everything\nIt was handed to a remote service: no machine sees its workspace, and nothing here follows it to\nthe end. So before ending: commit your work on your session branch and open a pull request for\nit. If the deliverable is analysis, a plan, or a decision, write it into committed files \u2014 a\nresult that lives only in this conversation, or in a gitignored file, reaches nobody. End without\na pull request only when the task genuinely required no repository change, and say so explicitly\nin your final message.";
|
|
20
|
-
/**
|
|
21
|
-
* Told to the agent only when the agent has a browser (#824): that it has one, and that anything
|
|
22
|
-
* it needs to see or act on goes through the chrome-devtools tools rather than `WebFetch`.
|
|
23
|
-
* Lives in `prompts/protocols/browser.md`.
|
|
24
|
-
*/
|
|
25
|
-
export declare const BROWSER_PROTOCOL = "## You have a real browser\n\nThis run has a real Chrome attached, through the `chrome-devtools` tools (`new_page`, `navigate_page`, `click`, `fill`, `take_snapshot`, `evaluate_script`). It is the same browser a human can watch and take over, so use it for anything you need to *see* or *act on*: pages that render their content with JavaScript, a flow you have to click through, a form to fill, an app you are checking actually works.\n\nWhen you only need to read a page, `WebFetch` is still the better tool: it is faster and hands you the text directly. Use the browser when `WebFetch` would come back with nothing useful, such as a page that is blank until its JavaScript runs.\n\nPrefer navigating within a single page rather than opening new pages, so the user can more easily watch you navigate.";
|
|
26
|
-
/**
|
|
27
|
-
* The session-lifecycle protocol (#326): the code side of the `setReadyForMerge()` action the
|
|
28
|
-
* system prompt calls out, plus the pull request and error blocks. Like {@link AWAIT_PROTOCOL},
|
|
29
|
-
* it does not restate *when* to act — the system prompt owns that — it only pins *how* to
|
|
30
|
-
* emit the signal so the turn-boundary can detect it. All are non-blocking: the agent
|
|
31
|
-
* emits the block and keeps going (the framework records it and reflects it in the
|
|
32
|
-
* dashboard). Injected alongside AWAIT_PROTOCOL. The text lives in
|
|
33
|
-
* `prompts/protocols/signal.md` (#551). The session name is not a signal (#1725): the agent
|
|
34
|
-
* names its branch through `branches name`, and the name is read off the branch.
|
|
35
|
-
*/
|
|
36
|
-
export declare const SIGNAL_PROTOCOL = "## Ready for merge\nWhen you call setReadyForMerge() \u2014 you believe the work is complete and ready for human review \u2014 emit an empty `ready-for-merge` block. This flips the dashboard status from building to ready; it does not stop your turn.\n```ready-for-merge\n```\n\n## Opening a pull request\nWhenever you emit `ready-for-merge`, emit an `open-pr` block too, naming and describing the work. The Framework opens the pull request for you \u2014 you do not need to run `gh pr create` yourself. Write it like a commit message: the first line is the title, the rest is the body.\n```open-pr\n<one line naming what the change does, under 100 characters>\n\n<what changed, and why \u2014 markdown, as long as it needs to be>\n```\nWithout it the pull request has no name for your work and can only repeat the prompt you were given, which does not say what the work turned out to be. The Framework supplies the rest: the ticket's issue reference where there is one, and recording the number so every surface shows the same pull request. You do not stop, and you can re-emit it as the work changes \u2014 the last one is used. Opening the pull request yourself instead still works; you then own all of the above.\n\n## Reporting an error\nWhen you hit something only the user can fix \u2014 a missing file you were told to read, a command that will not run, a login you do not have \u2014 emit an `error` block saying what is wrong, then carry on or stop as the task requires. The first line is the headline; anything below it is the detail.\n```error\n<what is wrong, in one line>\n\n<the detail: what you ran, what it said>\n```\nThe Framework marks it in the session log and counts it on the session, so the user sees it without reading the whole log. It does not stop your turn and it does not ask the user anything \u2014 use `AWAIT` for a question. Report the same thing once: a re-emitted identical block is ignored.";
|
|
37
|
-
/** One option of an await gate: what the user picks between. The shape is agent-driver's question option. */
|
|
38
|
-
export type AwaitOption = QuestionOption;
|
|
39
|
-
/** A question the agent stopped to ask, parsed from an `await-choices` block (#337). The shape is agent-driver's question. */
|
|
40
|
-
export type ParsedAwaitGate = Question;
|
|
41
|
-
/**
|
|
42
|
-
* How many times the agent may stop to ask, and be resumed, before an agent stops honoring
|
|
43
|
-
* gates and just finishes. A property of the await protocol, so every path that runs gates
|
|
44
|
-
* shares it: a build and a direct prompt each used to declare their own.
|
|
45
|
-
*/
|
|
46
|
-
export declare const MAX_AWAIT_ROUNDS = 5;
|
|
47
|
-
export { continuationPrompt };
|
|
48
|
-
/**
|
|
49
|
-
* What a session that cannot simply be ended is told when the user picks a `stop` option (#358,
|
|
50
|
-
* #1554). A local session is never re-prompted with a stopping answer — it just ends — but a
|
|
51
|
-
* cloud session lives on claude.ai where nothing of ours can end it, so the bridge types this
|
|
52
|
-
* instead: the decision, and that the user is taking over from here.
|
|
53
|
-
*/
|
|
54
|
-
export declare function takeoverPrompt(question: string, answer: string): string;
|
|
55
|
-
/**
|
|
56
|
-
* The log line for the other outcome: the user picked a `stop` option, so there is no
|
|
57
|
-
* continuation prompt and the session ends here (#358). Addressed to the user rather than to the
|
|
58
|
-
* agent — the agent is not told anything, which is the point — and it names the answer, because
|
|
59
|
-
* "stopped" on its own reads like a failure when it was a decision.
|
|
60
|
-
*/
|
|
61
|
-
export declare function stopMessage(answer: string): string;
|
|
62
|
-
/** A non-blocking markdown view the agent pushed via a `show-markdown` block (#441). */
|
|
63
|
-
export interface ParsedMarkdownView {
|
|
64
|
-
/** Stable id (a slug of the title), so re-showing the same title updates in place. */
|
|
65
|
-
id: string;
|
|
66
|
-
/** The view's title (the first `# ` heading, or a fallback). */
|
|
67
|
-
title: string;
|
|
68
|
-
/** The markdown body (the heading line removed). */
|
|
69
|
-
markdown: string;
|
|
70
|
-
}
|
|
71
|
-
/**
|
|
72
|
-
* Parse every `show-markdown` block (per {@link AWAIT_PROTOCOL}) out of a turn's text
|
|
73
|
-
* (#441) — a non-blocking view the agent pushed to the side panel, so a turn may carry
|
|
74
|
-
* several and does not stop. Each block's first `# ` line is the title (the rest is the
|
|
75
|
-
* body); a block with no heading falls back to "Note". Blank blocks are skipped, and two
|
|
76
|
-
* blocks that slug to the same id keep the later one (an in-turn update). Never throws.
|
|
77
|
-
*/
|
|
78
|
-
export declare function parseMarkdownViews(text: string): ParsedMarkdownView[];
|
|
79
|
-
/** What the agent asked the framework to open a pull request with (#1567/#1618). */
|
|
80
|
-
export interface ParsedPullRequest {
|
|
81
|
-
/** The agent's name for the work: the block's first line, when it reads as a title. */
|
|
82
|
-
title?: string;
|
|
83
|
-
/** What changed and why: everything after that line, or the whole block when there is no title. */
|
|
84
|
-
description?: string;
|
|
85
|
-
}
|
|
86
|
-
/**
|
|
87
|
-
* Parse the pull request the agent asked for this turn (#1567), from the last non-empty
|
|
88
|
-
* `open-pr` block (per {@link SIGNAL_PROTOCOL}). Returns `undefined` when the agent wrote none,
|
|
89
|
-
* which simply leaves the handoff describing the work itself. A later block in the same turn
|
|
90
|
-
* wins, so an agent may revise it as the work changes.
|
|
91
|
-
*
|
|
92
|
-
* The block is how an agent opens a pull request *through the framework* rather than by
|
|
93
|
-
* reaching for `gh` itself: the title and the description are the agent's, and the handoff keeps
|
|
94
|
-
* the parts that have to be consistent — the ticket's issue reference and recording the number
|
|
95
|
-
* on the agent.
|
|
96
|
-
*
|
|
97
|
-
* Shaped like a commit message, and read like one: the first line names the work, the rest
|
|
98
|
-
* describes it. A first line too long to be a name is not treated as one (#1618) — the block is
|
|
99
|
-
* all description then, and the title falls back to the session's name rather than being cut
|
|
100
|
-
* mid-sentence, which is how a raw prompt ended up as a permanent commit subject.
|
|
101
|
-
*/
|
|
102
|
-
export declare function parsePullRequest(text: string): ParsedPullRequest | undefined;
|
|
103
|
-
/** An error the agent reported this turn (#1500), split the way the block is written. */
|
|
104
|
-
export interface ParsedError {
|
|
105
|
-
/** What is wrong, in one line: the block's first line. */
|
|
106
|
-
headline: string;
|
|
107
|
-
/** What it ran and what that said: everything below the headline, when the agent wrote any. */
|
|
108
|
-
detail?: string;
|
|
109
|
-
}
|
|
110
|
-
/**
|
|
111
|
-
* Parse the errors the agent reported this turn (#1500), from every non-empty `error` block
|
|
112
|
-
* (per {@link SIGNAL_PROTOCOL}), in the order they were written.
|
|
113
|
-
*
|
|
114
|
-
* Unlike the other signals, every block is kept rather than only the last: two different things
|
|
115
|
-
* going wrong in one turn are two errors, and collapsing them would lose one. Blocks that are
|
|
116
|
-
* empty are skipped — an error with nothing to say is not an error.
|
|
117
|
-
*/
|
|
118
|
-
export declare function parseErrors(text: string): ParsedError[];
|
|
119
|
-
/**
|
|
120
|
-
* Whether the agent signalled `setReadyForMerge()` this turn (#326): the presence of a
|
|
121
|
-
* `ready-for-merge` block (per {@link SIGNAL_PROTOCOL}) anywhere in the text. Non-blocking
|
|
122
|
-
* and body-less — it just flips the agent from building to ready-for-review.
|
|
123
|
-
*/
|
|
124
|
-
export declare function parseReadyForMerge(text: string): boolean;
|
|
125
|
-
/**
|
|
126
|
-
* Parse the await gate a turn ended on (#337): agent-driver's question parser, which every driver
|
|
127
|
-
* also reports as a `question` event. Returns `undefined` when the agent just finished.
|
|
128
|
-
*/
|
|
129
|
-
export declare function parseAwaitGate(text: string): ParsedAwaitGate | undefined;
|
|
130
|
-
/**
|
|
131
|
-
* Emit the {@link PROTOCOLS_SIGNAL} signals an agent turn carries: markdown views, the errors it
|
|
132
|
-
* reported, `setReadyForMerge()`, and a pull-request description. The session name is not among
|
|
133
|
-
* them: the agent names its branch through the `branches` skill, and the name is read off it. Every turn the framework prompts goes through
|
|
134
|
-
* one of these, because the protocols are unconditional (see `composeAgentSystem`) — the
|
|
135
|
-
* agent is told it can signal on any turn, so any turn we don't parse drops the signal.
|
|
136
|
-
*
|
|
137
|
-
* The returned function holds the dedupe state for the turns it covers: `ready-for-merge`
|
|
138
|
-
* fires once, a pull-request description only re-emits on an actual
|
|
139
|
-
* change, and an error is logged once however often the agent restates it. Each caller makes one
|
|
140
|
-
* for its own span of turns (a build's await rounds, the whole backlog), so keep it for as
|
|
141
|
-
* many turns as should share that dedupe rather than making one per turn.
|
|
142
|
-
*/
|
|
143
|
-
export declare function createTurnSignalEmitter(emit: (event: FrameworkEvent) => void): (text: string) => void;
|
|
144
|
-
//# sourceMappingURL=turn-gate.d.ts.map
|
package/dist/turn-gate.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"turn-gate.d.ts","sourceRoot":"","sources":["../src/turn-gate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAiB,KAAK,QAAQ,EAAE,KAAK,cAAc,EAAE,MAAM,cAAc,CAAA;AACpG,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAKjD;;;;;;;;;GASG;AACH,eAAO,MAAM,cAAc,ozFAAkB,CAAA;AAE7C;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,2jBAAsB,CAAA;AAGrD;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,uyBAAoB,CAAA;AAEjD;;;;;;;;;GASG;AACH,eAAO,MAAM,eAAe,24DAAmB,CAAA;AAE/C,6GAA6G;AAC7G,MAAM,MAAM,WAAW,GAAG,cAAc,CAAA;AAExC,8HAA8H;AAC9H,MAAM,MAAM,eAAe,GAAG,QAAQ,CAAA;AAEtC;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,IAAI,CAAA;AAIjC,OAAO,EAAE,kBAAkB,EAAE,CAAA;AAE7B;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAEvE;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAElD;AAED,wFAAwF;AACxF,MAAM,WAAW,kBAAkB;IACjC,sFAAsF;IACtF,EAAE,EAAE,MAAM,CAAA;IACV,gEAAgE;IAChE,KAAK,EAAE,MAAM,CAAA;IACb,oDAAoD;IACpD,QAAQ,EAAE,MAAM,CAAA;CACjB;AAWD;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,kBAAkB,EAAE,CAerE;AASD,oFAAoF;AACpF,MAAM,WAAW,iBAAiB;IAChC,uFAAuF;IACvF,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,mGAAmG;IACnG,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS,CAc5E;AAED,yFAAyF;AACzF,MAAM,WAAW,WAAW;IAC1B,0DAA0D;IAC1D,QAAQ,EAAE,MAAM,CAAA;IAChB,+FAA+F;IAC/F,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,EAAE,CAUvD;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAExD;AASD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS,CAExE;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CA0BrG"}
|