@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/driver/cloud.js
DELETED
|
@@ -1,232 +0,0 @@
|
|
|
1
|
-
import { randomUUID } from 'node:crypto';
|
|
2
|
-
import { nodeGitRunner } from '@gemstack/agent-data';
|
|
3
|
-
import { errorMessage } from '../error-message.js';
|
|
4
|
-
import { githubSlugFor } from '../dashboard/github.js';
|
|
5
|
-
import { WEB_START_PREFIX } from '../dashboard/web-start-endpoints.js';
|
|
6
|
-
import { makeEmit } from 'agent-driver';
|
|
7
|
-
/**
|
|
8
|
-
* A {@link Driver} that hands the task to **Claude Code on the web** (#610): it has a cloud
|
|
9
|
-
* session created on claude.ai and returns its id and URL.
|
|
10
|
-
*
|
|
11
|
-
* The session is created by the browser extension, in the user's own signed-in browser,
|
|
12
|
-
* through claude.ai's repository picker (#1328): the run asks its daemon to queue the request
|
|
13
|
-
* — the repository, the pushed hand-off ref, the prompt — and the extension drives the page
|
|
14
|
-
* and reports the session it became. A session created that way is bound to the repository,
|
|
15
|
-
* so it can push its work and open its pull request; the CLI's own `--cloud` flag, the earlier
|
|
16
|
-
* mechanism, produced on some accounts a bundle upload that never could (#1320), and is gone.
|
|
17
|
-
* The account, the auth and the quota are the user's, exactly as with the local driver (#495).
|
|
18
|
-
*
|
|
19
|
-
* So a web run needs four things, and names whichever is missing: a daemon that spawned it
|
|
20
|
-
* (the daemon's URL travels in the run's environment), the browser bridge switched on, the
|
|
21
|
-
* extension present, and a GitHub remote for the picker to name.
|
|
22
|
-
*
|
|
23
|
-
* **What this target is, and is not.** It is a hand-off: the session runs on Anthropic's
|
|
24
|
-
* infrastructure, does its own git worktree and opens its own PR, at 0% local CPU — the
|
|
25
|
-
* whole point of #610. What it is not is a streamed peer like the local, device and
|
|
26
|
-
* Actions targets, and that is not a shortcut in this implementation but a property of
|
|
27
|
-
* the surface: a cloud session exposes **no read-back API** of any kind — no status, no
|
|
28
|
-
* transcript, no output endpoint, only the session URL. So the turn resolves once the
|
|
29
|
-
* session is created, and following the work happens on claude.ai, through the browser
|
|
30
|
-
* bridge's mirror and gate relay (#1237/#1554), or by pulling it back with
|
|
31
|
-
* `claude --teleport <id>`.
|
|
32
|
-
*
|
|
33
|
-
* For the same reason there is no `readCode`: the workspace lives in a cloud VM this
|
|
34
|
-
* machine never sees.
|
|
35
|
-
*/
|
|
36
|
-
export class CloudDriver {
|
|
37
|
-
opts;
|
|
38
|
-
id = 'claude-web';
|
|
39
|
-
constructor(opts = {}) {
|
|
40
|
-
this.opts = opts;
|
|
41
|
-
}
|
|
42
|
-
start(opts) {
|
|
43
|
-
return Promise.resolve(new CloudSession(this.opts, opts));
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
/** Counter feeding the per-process half of a session id. */
|
|
47
|
-
let sessionCounter = 0;
|
|
48
|
-
export const CLOUD_PROMPT_SEPARATOR = '===============================';
|
|
49
|
-
/**
|
|
50
|
-
* The prompt handed to the cloud session (#1497): the task first, then every block The Framework
|
|
51
|
-
* injects — the framing, a per-call system — behind a labeled rule. On claude.ai this string is
|
|
52
|
-
* read by a human, and the task is what they open the session to find.
|
|
53
|
-
*/
|
|
54
|
-
export function cloudHandOffPrompt(task, ...injected) {
|
|
55
|
-
const blocks = injected.filter((part) => Boolean(part));
|
|
56
|
-
if (blocks.length === 0)
|
|
57
|
-
return task;
|
|
58
|
-
const rule = `\n\n\n${CLOUD_PROMPT_SEPARATOR}\n\n\n`;
|
|
59
|
-
const header = 'Instructions from The Framework, the tool that started this session:';
|
|
60
|
-
return `${task}${rule}${header}\n\n${blocks.join(rule)}`;
|
|
61
|
-
}
|
|
62
|
-
/** What a web run is missing when it cannot hand off, each named so the fix is the message. */
|
|
63
|
-
const NO_DAEMON = '[framework] claude-web: this run was not started by a daemon, so nothing can hand it to the browser extension — start web runs from the dashboard.';
|
|
64
|
-
const NO_REMOTE = '[framework] claude-web: no GitHub remote here — the cloud session is created on a repository the browser extension picks on claude.ai, so the project needs an `origin` on GitHub.';
|
|
65
|
-
const NO_EXTENSION = '[framework] claude-web: no browser extension has spoken to this daemon recently — install or reload The Framework extension on a claude.ai tab (and keep the browser bridge on in Settings), then start the run again.';
|
|
66
|
-
const BRIDGE_OFF = '[framework] claude-web: the browser bridge is off — turn it on in Settings so the extension can create the cloud session.';
|
|
67
|
-
export class CloudSession {
|
|
68
|
-
config;
|
|
69
|
-
startOpts;
|
|
70
|
-
id;
|
|
71
|
-
cwd;
|
|
72
|
-
emit;
|
|
73
|
-
framing;
|
|
74
|
-
controllers = new Set();
|
|
75
|
-
disposed = false;
|
|
76
|
-
/** The cloud session this agent was handed to, once it exists. Set at most once. */
|
|
77
|
-
handedOff;
|
|
78
|
-
/** The hand-off anchor commit (#1601), once it is on origin. Set at most once, with the hand-off. */
|
|
79
|
-
anchorSha;
|
|
80
|
-
constructor(config, startOpts) {
|
|
81
|
-
this.config = config;
|
|
82
|
-
this.startOpts = startOpts;
|
|
83
|
-
const tag = (config.agentTag ?? (() => randomUUID().slice(0, 8)))();
|
|
84
|
-
this.id = `cloud-${++sessionCounter}-${tag}`;
|
|
85
|
-
this.cwd = startOpts.cwd;
|
|
86
|
-
this.emit = makeEmit(startOpts.onEvent, 'claude-web');
|
|
87
|
-
this.framing = startOpts.system;
|
|
88
|
-
}
|
|
89
|
-
async prompt(text, opts = {}) {
|
|
90
|
-
if (this.disposed)
|
|
91
|
-
throw new Error('[framework] claude-web session disposed');
|
|
92
|
-
const full = cloudHandOffPrompt(text, this.framing, opts.system);
|
|
93
|
-
this.emit({ type: 'start', prompt: full });
|
|
94
|
-
// Already handed off: say so and spend nothing. This is the guard that keeps one agent to
|
|
95
|
-
// one cloud session however many times the loop comes back round.
|
|
96
|
-
if (this.handedOff)
|
|
97
|
-
return this.report(this.handedOff, 'again');
|
|
98
|
-
const controller = new AbortController();
|
|
99
|
-
this.controllers.add(controller);
|
|
100
|
-
for (const signal of [this.startOpts.signal, opts.signal]) {
|
|
101
|
-
if (!signal)
|
|
102
|
-
continue;
|
|
103
|
-
if (signal.aborted) {
|
|
104
|
-
this.controllers.delete(controller);
|
|
105
|
-
throw new Error('[framework] claude-web prompt aborted');
|
|
106
|
-
}
|
|
107
|
-
signal.addEventListener('abort', () => controller.abort(), { once: true });
|
|
108
|
-
}
|
|
109
|
-
const timer = setTimeout(() => controller.abort(), this.config.timeoutMs ?? 120_000);
|
|
110
|
-
try {
|
|
111
|
-
const ext = this.config.extension;
|
|
112
|
-
if (!ext)
|
|
113
|
-
throw new Error(NO_DAEMON);
|
|
114
|
-
const git = this.config.git ?? nodeGitRunner();
|
|
115
|
-
const slug = await githubSlugFor(this.cwd, git);
|
|
116
|
-
if (!slug)
|
|
117
|
-
throw new Error(NO_REMOTE);
|
|
118
|
-
// The pre-hand-off push (#1320): the cloud session opens on a named origin ref, so the
|
|
119
|
-
// repository picker's branch list must offer this run's starting point. What gets pushed is
|
|
120
|
-
// not HEAD itself but the hand-off anchor (#1601): an empty commit on top of it, so the ref
|
|
121
|
-
// is recognizably this run's and a later sweep can tell it from a branch a person made.
|
|
122
|
-
// Minting and pushing are one step: a checkout that cannot mint an empty commit on its
|
|
123
|
-
// HEAD has no HEAD to push either. A push that fails fails the run — the session cannot
|
|
124
|
-
// open on a ref origin does not have.
|
|
125
|
-
let anchor;
|
|
126
|
-
try {
|
|
127
|
-
anchor = (await git(['commit-tree', 'HEAD^{tree}', '-p', 'HEAD', '-m', `[The Framework] web hand-off ${this.id}`], this.cwd)).trim();
|
|
128
|
-
await git(['push', 'origin', `${anchor}:refs/heads/${this.id}`], this.cwd);
|
|
129
|
-
}
|
|
130
|
-
catch (err) {
|
|
131
|
-
throw new Error(`[framework] claude-web: could not push the hand-off ref ${this.id} to origin (${errorMessage(err)}) — the cloud session opens on that ref, so the project needs a pushable GitHub remote.`);
|
|
132
|
-
}
|
|
133
|
-
const found = await this.createViaExtension(ext, `${slug.owner}/${slug.repo}`, this.id, full, this.startOpts.model, controller.signal);
|
|
134
|
-
this.anchorSha = anchor;
|
|
135
|
-
this.handedOff = found;
|
|
136
|
-
return this.report(found, 'first');
|
|
137
|
-
}
|
|
138
|
-
catch (err) {
|
|
139
|
-
// A user abort (Stop, the agent signal) lands here too; name it what it was.
|
|
140
|
-
if (this.startOpts.signal?.aborted || opts.signal?.aborted)
|
|
141
|
-
throw new Error('[framework] claude-web prompt aborted');
|
|
142
|
-
throw err;
|
|
143
|
-
}
|
|
144
|
-
finally {
|
|
145
|
-
clearTimeout(timer);
|
|
146
|
-
this.controllers.delete(controller);
|
|
147
|
-
}
|
|
148
|
-
}
|
|
149
|
-
/**
|
|
150
|
-
* Hand the session request to the daemon's start-queue and wait for the extension's word
|
|
151
|
-
* (#1328). Throws, naming the cure, when the daemon has no extension to ask (409) or the
|
|
152
|
-
* bridge is off (404); throws with the extension's own note when it tried and could not create
|
|
153
|
-
* the session; throws when the wait was aborted or timed out. The model the run was started
|
|
154
|
-
* with travels along (#1697): the extension picks it in claude.ai's model menu, so a web run
|
|
155
|
-
* honours the choice the way a local one does instead of dropping it on the page's default.
|
|
156
|
-
*/
|
|
157
|
-
async createViaExtension(ext, repo, ref, prompt, model, signal) {
|
|
158
|
-
const doFetch = ext.fetch ?? fetch;
|
|
159
|
-
const base = ext.daemonUrl.replace(/\/+$/, '');
|
|
160
|
-
const headers = { authorization: `Bearer ${ext.token}` };
|
|
161
|
-
const queued = await doFetch(`${base}${WEB_START_PREFIX}`, {
|
|
162
|
-
method: 'POST',
|
|
163
|
-
headers: { ...headers, 'content-type': 'application/json' },
|
|
164
|
-
body: JSON.stringify({ repo, branch: ref, prompt, ...(model ? { model } : {}) }),
|
|
165
|
-
signal,
|
|
166
|
-
});
|
|
167
|
-
if (queued.status === 409)
|
|
168
|
-
throw new Error(NO_EXTENSION);
|
|
169
|
-
if (queued.status === 404)
|
|
170
|
-
throw new Error(BRIDGE_OFF);
|
|
171
|
-
if (!queued.ok)
|
|
172
|
-
throw new Error(`[framework] claude-web: the daemon refused the session request (${queued.status}): ${(await queued.text()).slice(0, 300)}`);
|
|
173
|
-
const { id } = (await queued.json());
|
|
174
|
-
this.emit({ type: 'notice', message: `[framework] claude-web: asked the browser extension to create the cloud session on ${repo} at ${ref}${model ? ` on ${model}` : ''} (request ${id}).` });
|
|
175
|
-
const pollMs = ext.pollMs ?? 2000;
|
|
176
|
-
for (;;) {
|
|
177
|
-
if (signal.aborted)
|
|
178
|
-
throw new Error('[framework] claude-web: gave up waiting for the browser extension to create the session.');
|
|
179
|
-
const res = await doFetch(`${base}${WEB_START_PREFIX}/${id}`, { headers, signal });
|
|
180
|
-
if (!res.ok)
|
|
181
|
-
throw new Error(`[framework] claude-web: lost the session request ${id} (${res.status})`);
|
|
182
|
-
const state = (await res.json());
|
|
183
|
-
if (state.state === 'created' && state.sessionId && state.url)
|
|
184
|
-
return { url: state.url, sessionId: state.sessionId };
|
|
185
|
-
if (state.state === 'failed') {
|
|
186
|
-
throw new Error(`[framework] claude-web: the browser extension could not create the session${state.note ? ` — ${state.note}` : ''}.`);
|
|
187
|
-
}
|
|
188
|
-
await new Promise(resolve => {
|
|
189
|
-
const t = setTimeout(resolve, pollMs);
|
|
190
|
-
signal.addEventListener('abort', () => { clearTimeout(t); resolve(); }, { once: true });
|
|
191
|
-
});
|
|
192
|
-
}
|
|
193
|
-
}
|
|
194
|
-
/**
|
|
195
|
-
* Report where this agent went. The `first` hand-off emits the `cloud <url>` action the agent
|
|
196
|
-
* view links through to — mirroring the Actions driver's `run <url>` — and a later pass
|
|
197
|
-
* says the work is already there, so a loop that keeps prompting cannot read the same turn
|
|
198
|
-
* as fresh progress and cannot spend a second session.
|
|
199
|
-
*/
|
|
200
|
-
report(session, when) {
|
|
201
|
-
if (when === 'first')
|
|
202
|
-
this.emit({ type: 'action', label: `cloud ${session.url}` });
|
|
203
|
-
const summary = when === 'first'
|
|
204
|
-
? ['Handed off to Claude Code on the web.', '', `View the session: ${session.url}`, `Continue it here: claude --teleport ${session.sessionId}`].join('\n')
|
|
205
|
-
: [
|
|
206
|
-
'This run was already handed off to Claude Code on the web, so there is nothing further to do here.',
|
|
207
|
-
'The work continues in that cloud session, which opens its own pull request.',
|
|
208
|
-
'',
|
|
209
|
-
`View the session: ${session.url}`,
|
|
210
|
-
`Continue it here: claude --teleport ${session.sessionId}`,
|
|
211
|
-
].join('\n');
|
|
212
|
-
// The result also carries the session's real URL (#1317) and the hand-off anchor (#1601):
|
|
213
|
-
// the action above is what the agent view links through, the result is what reaches the meta.
|
|
214
|
-
this.emit({
|
|
215
|
-
type: 'result',
|
|
216
|
-
text: summary,
|
|
217
|
-
sessionId: session.sessionId,
|
|
218
|
-
sessionLink: session.url,
|
|
219
|
-
...(this.anchorSha ? { anchorSha: this.anchorSha } : {}),
|
|
220
|
-
});
|
|
221
|
-
return { text: summary, sessionId: session.sessionId };
|
|
222
|
-
}
|
|
223
|
-
// No `readCode`: the cloud VM's workspace is not on this machine, and the branch it
|
|
224
|
-
// pushes is not known until it pushes one.
|
|
225
|
-
async dispose() {
|
|
226
|
-
this.disposed = true;
|
|
227
|
-
for (const controller of this.controllers)
|
|
228
|
-
controller.abort();
|
|
229
|
-
this.controllers.clear();
|
|
230
|
-
}
|
|
231
|
-
}
|
|
232
|
-
//# sourceMappingURL=cloud.js.map
|
package/dist/driver/cloud.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cloud.js","sourceRoot":"","sources":["../../src/driver/cloud.ts"],"names":[],"mappings":"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"}
|
package/dist/driver/codex.d.ts
DELETED
|
@@ -1,99 +0,0 @@
|
|
|
1
|
-
import { type AgentCliParser, type SpawnLike } from './cli-session.js';
|
|
2
|
-
import type { Driver, DriverEvent, DriverPromptOptions, DriverSession, DriverStartOptions, DriverTurn, DriverUsage } from './types.js';
|
|
3
|
-
/**
|
|
4
|
-
* Codex's sandbox policy for the shell commands the model writes.
|
|
5
|
-
* `workspace-write` is our default: the agent can edit the workspace it was
|
|
6
|
-
* pointed at, but not the rest of the machine. It is the counterpart of Claude
|
|
7
|
-
* Code's `acceptEdits`, and the reason we never pass Codex's
|
|
8
|
-
* `--dangerously-bypass-approvals-and-sandbox`.
|
|
9
|
-
*/
|
|
10
|
-
export type CodexSandbox = 'read-only' | 'workspace-write' | 'danger-full-access';
|
|
11
|
-
/** Options for {@link CodexDriver}. */
|
|
12
|
-
export interface CodexDriverOptions {
|
|
13
|
-
/** CLI binary to spawn. Default `"codex"` (resolved on `PATH`). */
|
|
14
|
-
bin?: string;
|
|
15
|
-
/** Sandbox policy. Default `"workspace-write"`. */
|
|
16
|
-
sandbox?: CodexSandbox;
|
|
17
|
-
/** Extra CLI args appended verbatim (escape hatch). */
|
|
18
|
-
extraArgs?: string[];
|
|
19
|
-
/** Environment for the child process. Default `process.env`. */
|
|
20
|
-
env?: NodeJS.ProcessEnv;
|
|
21
|
-
/** `spawn` override for tests. Default `node:child_process.spawn`. */
|
|
22
|
-
spawn?: SpawnLike;
|
|
23
|
-
}
|
|
24
|
-
/**
|
|
25
|
-
* The second real {@link Driver} (#539): wraps the **Codex CLI** in its
|
|
26
|
-
* non-interactive mode (`codex exec --json`), on the user's own ChatGPT
|
|
27
|
-
* subscription — no API key (#495's "bring your own subscription").
|
|
28
|
-
*
|
|
29
|
-
* The seam always said "Claude Code today, Codex later", and this is that. Same
|
|
30
|
-
* black box: prompt it, let its own loop run, read the code it wrote.
|
|
31
|
-
*
|
|
32
|
-
* Three ways it differs from Claude Code, all of them the agent's business
|
|
33
|
-
* rather than ours:
|
|
34
|
-
*
|
|
35
|
-
* - **No system-prompt flag.** Codex has no `--append-system-prompt`, so the
|
|
36
|
-
* framing is prepended to the prompt instead. Same words reach the agent.
|
|
37
|
-
* - **Tokens, no price.** Codex reports token counts but never a price, so usage
|
|
38
|
-
* carries the counts and omits `costUsd` rather than claim a turn cost `$0`,
|
|
39
|
-
* which would read as free (#540). The budget cap (#322) gates on a price, so
|
|
40
|
-
* it cannot fire here; the CLI says so at startup instead of implying it.
|
|
41
|
-
* - **No quota read.** No `readQuota`, for the same reason: the seam is optional
|
|
42
|
-
* precisely so an agent that can't report one simply doesn't.
|
|
43
|
-
*/
|
|
44
|
-
export declare class CodexDriver implements Driver {
|
|
45
|
-
private readonly opts;
|
|
46
|
-
readonly id = "codex";
|
|
47
|
-
constructor(opts?: CodexDriverOptions);
|
|
48
|
-
start(opts: DriverStartOptions): Promise<DriverSession>;
|
|
49
|
-
}
|
|
50
|
-
/** One workspace-bound Codex session. `prompt` is a fresh CLI invocation. */
|
|
51
|
-
export declare class CodexSession implements DriverSession {
|
|
52
|
-
private readonly config;
|
|
53
|
-
private readonly startOpts;
|
|
54
|
-
readonly id: string;
|
|
55
|
-
readonly cwd: string;
|
|
56
|
-
constructor(config: CodexDriverOptions, startOpts: DriverStartOptions);
|
|
57
|
-
prompt(text: string, opts?: DriverPromptOptions): Promise<DriverTurn>;
|
|
58
|
-
readCode(path: string): Promise<string>;
|
|
59
|
-
dispose(): Promise<void>;
|
|
60
|
-
private buildArgs;
|
|
61
|
-
}
|
|
62
|
-
/**
|
|
63
|
-
* Parses Codex's `exec --json` output: one JSON event per line.
|
|
64
|
-
*
|
|
65
|
-
* The dialect, as observed on codex-cli 0.144.4:
|
|
66
|
-
* ```
|
|
67
|
-
* {"type":"thread.started","thread_id":"019f..."}
|
|
68
|
-
* {"type":"turn.started"}
|
|
69
|
-
* {"type":"item.completed","item":{"type":"agent_message","text":"..."}}
|
|
70
|
-
* {"type":"item.started","item":{"type":"file_change","status":"in_progress"}}
|
|
71
|
-
* {"type":"turn.completed","usage":{"input_tokens":12210,"output_tokens":5}}
|
|
72
|
-
* ```
|
|
73
|
-
*/
|
|
74
|
-
export declare class CodexJsonParser implements AgentCliParser {
|
|
75
|
-
private text;
|
|
76
|
-
private sessionId;
|
|
77
|
-
private usage;
|
|
78
|
-
push(line: string): DriverEvent[];
|
|
79
|
-
result(): DriverTurn;
|
|
80
|
-
}
|
|
81
|
-
/**
|
|
82
|
-
* Map Codex's `turn.completed` usage onto {@link DriverUsage}. The dialect is
|
|
83
|
-
* OpenAI's Responses API shape, flattened:
|
|
84
|
-
* `{input_tokens, cached_input_tokens, output_tokens, reasoning_output_tokens}`.
|
|
85
|
-
*
|
|
86
|
-
* Two things that shape the mapping, both verified against codex-cli 0.144.4:
|
|
87
|
-
*
|
|
88
|
-
* - `input_tokens` is the **total** input, cached included. Repeating one prompt
|
|
89
|
-
* held it at 12218 while `cached_input_tokens` rose 9984 -> 12032; a non-cached
|
|
90
|
-
* count would have fallen. So the uncached part is the difference, which is what
|
|
91
|
-
* `inputTokens` means here.
|
|
92
|
-
* - `reasoning_output_tokens` is a **subset** of `output_tokens` (as
|
|
93
|
-
* `cached_input_tokens` is of `input_tokens`), so adding it would double-count.
|
|
94
|
-
*
|
|
95
|
-
* No price, and no cache-*write* count: OpenAI caches implicitly and bills no
|
|
96
|
-
* separate write, so `cacheCreationTokens` is honestly 0 rather than a guess.
|
|
97
|
-
*/
|
|
98
|
-
export declare function parseCodexUsage(raw: unknown): DriverUsage | undefined;
|
|
99
|
-
//# sourceMappingURL=codex.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"codex.d.ts","sourceRoot":"","sources":["../../src/driver/codex.ts"],"names":[],"mappings":"AACA,OAAO,EAAiB,KAAK,cAAc,EAAE,KAAK,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAErF,OAAO,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,mBAAmB,EAAE,aAAa,EAAE,kBAAkB,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAEtI;;;;;;GAMG;AACH,MAAM,MAAM,YAAY,GAAG,WAAW,GAAG,iBAAiB,GAAG,oBAAoB,CAAA;AAEjF,uCAAuC;AACvC,MAAM,WAAW,kBAAkB;IACjC,mEAAmE;IACnE,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,mDAAmD;IACnD,OAAO,CAAC,EAAE,YAAY,CAAA;IACtB,uDAAuD;IACvD,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;IACpB,gEAAgE;IAChE,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAA;IACvB,sEAAsE;IACtE,KAAK,CAAC,EAAE,SAAS,CAAA;CAClB;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,qBAAa,WAAY,YAAW,MAAM;IAE5B,OAAO,CAAC,QAAQ,CAAC,IAAI;IADjC,QAAQ,CAAC,EAAE,WAAU;IACrB,YAA6B,IAAI,GAAE,kBAAuB,EAAI;IAE9D,KAAK,CAAC,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,aAAa,CAAC,CAEtD;CACF;AAID,6EAA6E;AAC7E,qBAAa,YAAa,YAAW,aAAa;IAK9C,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAL5B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IAEpB,YACmB,MAAM,EAAE,kBAAkB,EAC1B,SAAS,EAAE,kBAAkB,EAI/C;IAED,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,GAAE,mBAAwB,GAAG,OAAO,CAAC,UAAU,CAAC,CAiBxE;IAED,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAEtC;IAED,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAGvB;IAED,OAAO,CAAC,SAAS;CASlB;AAED;;;;;;;;;;;GAWG;AACH,qBAAa,eAAgB,YAAW,cAAc;IACpD,OAAO,CAAC,IAAI,CAAK;IACjB,OAAO,CAAC,SAAS,CAAoB;IACrC,OAAO,CAAC,KAAK,CAAyB;IAEtC,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,EAAE,CA4ChC;IAED,MAAM,IAAI,UAAU,CAQnB;CACF;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,OAAO,GAAG,WAAW,GAAG,SAAS,CAerE"}
|
package/dist/driver/codex.js
DELETED
|
@@ -1,190 +0,0 @@
|
|
|
1
|
-
import { spawn as nodeSpawn } from 'node:child_process';
|
|
2
|
-
import { runCliSession } from './cli-session.js';
|
|
3
|
-
import { combineFraming, combineSignals, makeEmit, readWorkspaceFile } from './session-support.js';
|
|
4
|
-
/**
|
|
5
|
-
* The second real {@link Driver} (#539): wraps the **Codex CLI** in its
|
|
6
|
-
* non-interactive mode (`codex exec --json`), on the user's own ChatGPT
|
|
7
|
-
* subscription — no API key (#495's "bring your own subscription").
|
|
8
|
-
*
|
|
9
|
-
* The seam always said "Claude Code today, Codex later", and this is that. Same
|
|
10
|
-
* black box: prompt it, let its own loop run, read the code it wrote.
|
|
11
|
-
*
|
|
12
|
-
* Three ways it differs from Claude Code, all of them the agent's business
|
|
13
|
-
* rather than ours:
|
|
14
|
-
*
|
|
15
|
-
* - **No system-prompt flag.** Codex has no `--append-system-prompt`, so the
|
|
16
|
-
* framing is prepended to the prompt instead. Same words reach the agent.
|
|
17
|
-
* - **Tokens, no price.** Codex reports token counts but never a price, so usage
|
|
18
|
-
* carries the counts and omits `costUsd` rather than claim a turn cost `$0`,
|
|
19
|
-
* which would read as free (#540). The budget cap (#322) gates on a price, so
|
|
20
|
-
* it cannot fire here; the CLI says so at startup instead of implying it.
|
|
21
|
-
* - **No quota read.** No `readQuota`, for the same reason: the seam is optional
|
|
22
|
-
* precisely so an agent that can't report one simply doesn't.
|
|
23
|
-
*/
|
|
24
|
-
export class CodexDriver {
|
|
25
|
-
opts;
|
|
26
|
-
id = 'codex';
|
|
27
|
-
constructor(opts = {}) {
|
|
28
|
-
this.opts = opts;
|
|
29
|
-
}
|
|
30
|
-
start(opts) {
|
|
31
|
-
return Promise.resolve(new CodexSession(this.opts, opts));
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
let sessionCounter = 0;
|
|
35
|
-
/** One workspace-bound Codex session. `prompt` is a fresh CLI invocation. */
|
|
36
|
-
export class CodexSession {
|
|
37
|
-
config;
|
|
38
|
-
startOpts;
|
|
39
|
-
id;
|
|
40
|
-
cwd;
|
|
41
|
-
constructor(config, startOpts) {
|
|
42
|
-
this.config = config;
|
|
43
|
-
this.startOpts = startOpts;
|
|
44
|
-
this.cwd = startOpts.cwd;
|
|
45
|
-
this.id = `codex-${++sessionCounter}`;
|
|
46
|
-
}
|
|
47
|
-
prompt(text, opts = {}) {
|
|
48
|
-
// Codex takes no system-prompt flag, so the framing rides in front of the
|
|
49
|
-
// prompt. Blank-line separated, so it reads as its own block.
|
|
50
|
-
const framing = combineFraming(this.startOpts.system, opts.system);
|
|
51
|
-
const prompt = framing ? `${framing}\n\n${text}` : text;
|
|
52
|
-
return runCliSession({
|
|
53
|
-
bin: this.config.bin ?? 'codex',
|
|
54
|
-
args: this.buildArgs(),
|
|
55
|
-
cwd: this.cwd,
|
|
56
|
-
env: this.config.env ?? process.env,
|
|
57
|
-
prompt,
|
|
58
|
-
spawn: this.config.spawn ?? nodeSpawn,
|
|
59
|
-
emit: makeEmit(this.startOpts.onEvent, 'codex'),
|
|
60
|
-
signals: combineSignals(this.startOpts.signal, opts.signal),
|
|
61
|
-
parser: new CodexJsonParser(),
|
|
62
|
-
driver: 'codex',
|
|
63
|
-
});
|
|
64
|
-
}
|
|
65
|
-
readCode(path) {
|
|
66
|
-
return readWorkspaceFile(this.cwd, path);
|
|
67
|
-
}
|
|
68
|
-
dispose() {
|
|
69
|
-
// Each prompt spawns and reaps its own process; nothing durable to free.
|
|
70
|
-
return Promise.resolve();
|
|
71
|
-
}
|
|
72
|
-
buildArgs() {
|
|
73
|
-
// No prompt argument: it goes over stdin, so a long one never hits the
|
|
74
|
-
// arg-length limit. `--skip-git-repo-check` because Codex otherwise refuses
|
|
75
|
-
// to run outside a git repo, and a workspace may legitimately not be one yet.
|
|
76
|
-
const args = ['exec', '--json', '--skip-git-repo-check', '--sandbox', this.config.sandbox ?? 'workspace-write', '-C', this.cwd];
|
|
77
|
-
if (this.startOpts.model)
|
|
78
|
-
args.push('-m', this.startOpts.model);
|
|
79
|
-
if (this.config.extraArgs)
|
|
80
|
-
args.push(...this.config.extraArgs);
|
|
81
|
-
return args;
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
/**
|
|
85
|
-
* Parses Codex's `exec --json` output: one JSON event per line.
|
|
86
|
-
*
|
|
87
|
-
* The dialect, as observed on codex-cli 0.144.4:
|
|
88
|
-
* ```
|
|
89
|
-
* {"type":"thread.started","thread_id":"019f..."}
|
|
90
|
-
* {"type":"turn.started"}
|
|
91
|
-
* {"type":"item.completed","item":{"type":"agent_message","text":"..."}}
|
|
92
|
-
* {"type":"item.started","item":{"type":"file_change","status":"in_progress"}}
|
|
93
|
-
* {"type":"turn.completed","usage":{"input_tokens":12210,"output_tokens":5}}
|
|
94
|
-
* ```
|
|
95
|
-
*/
|
|
96
|
-
export class CodexJsonParser {
|
|
97
|
-
text = '';
|
|
98
|
-
sessionId;
|
|
99
|
-
usage;
|
|
100
|
-
push(line) {
|
|
101
|
-
let obj;
|
|
102
|
-
try {
|
|
103
|
-
obj = JSON.parse(line);
|
|
104
|
-
}
|
|
105
|
-
catch {
|
|
106
|
-
return []; // Banners and other noise: not every line is an event.
|
|
107
|
-
}
|
|
108
|
-
// `null` parses, so the catch above lets it through and every field read below throws — from
|
|
109
|
-
// inside a readline handler, where nothing catches it. Noise is noise whatever it parses to.
|
|
110
|
-
if (typeof obj !== 'object' || obj === null)
|
|
111
|
-
return [];
|
|
112
|
-
const type = obj['type'];
|
|
113
|
-
if (type === 'thread.started') {
|
|
114
|
-
const id = obj['thread_id'];
|
|
115
|
-
if (typeof id === 'string')
|
|
116
|
-
this.sessionId = id;
|
|
117
|
-
return [];
|
|
118
|
-
}
|
|
119
|
-
if (type === 'turn.completed') {
|
|
120
|
-
const usage = parseCodexUsage(obj['usage']);
|
|
121
|
-
if (usage)
|
|
122
|
-
this.usage = usage;
|
|
123
|
-
return [];
|
|
124
|
-
}
|
|
125
|
-
const item = obj['item'];
|
|
126
|
-
if (typeof item !== 'object' || item === null)
|
|
127
|
-
return [];
|
|
128
|
-
const itemObj = item;
|
|
129
|
-
const itemType = itemObj['type'];
|
|
130
|
-
if (itemType === 'agent_message' && type === 'item.completed') {
|
|
131
|
-
const text = itemObj['text'];
|
|
132
|
-
if (typeof text !== 'string')
|
|
133
|
-
return [];
|
|
134
|
-
// Codex narrates in several messages; the last is its answer, and the
|
|
135
|
-
// rest are progress. Keep the last as the turn, stream them all.
|
|
136
|
-
this.text = text;
|
|
137
|
-
return [{ type: 'text', text }];
|
|
138
|
-
}
|
|
139
|
-
// Any other item is the agent using a tool. We surface the kind only, never
|
|
140
|
-
// the arguments: the seam is the code and the outcome, not the tool calls.
|
|
141
|
-
if (type === 'item.started' && typeof itemType === 'string') {
|
|
142
|
-
return [{ type: 'action', label: itemType }];
|
|
143
|
-
}
|
|
144
|
-
return [];
|
|
145
|
-
}
|
|
146
|
-
result() {
|
|
147
|
-
// Tokens but no `costUsd`: Codex prices nothing, and a `$0` would read as free
|
|
148
|
-
// rather than as "we don't know" (#540).
|
|
149
|
-
return {
|
|
150
|
-
text: this.text,
|
|
151
|
-
...(this.sessionId ? { sessionId: this.sessionId } : {}),
|
|
152
|
-
...(this.usage ? { usage: this.usage } : {}),
|
|
153
|
-
};
|
|
154
|
-
}
|
|
155
|
-
}
|
|
156
|
-
/**
|
|
157
|
-
* Map Codex's `turn.completed` usage onto {@link DriverUsage}. The dialect is
|
|
158
|
-
* OpenAI's Responses API shape, flattened:
|
|
159
|
-
* `{input_tokens, cached_input_tokens, output_tokens, reasoning_output_tokens}`.
|
|
160
|
-
*
|
|
161
|
-
* Two things that shape the mapping, both verified against codex-cli 0.144.4:
|
|
162
|
-
*
|
|
163
|
-
* - `input_tokens` is the **total** input, cached included. Repeating one prompt
|
|
164
|
-
* held it at 12218 while `cached_input_tokens` rose 9984 -> 12032; a non-cached
|
|
165
|
-
* count would have fallen. So the uncached part is the difference, which is what
|
|
166
|
-
* `inputTokens` means here.
|
|
167
|
-
* - `reasoning_output_tokens` is a **subset** of `output_tokens` (as
|
|
168
|
-
* `cached_input_tokens` is of `input_tokens`), so adding it would double-count.
|
|
169
|
-
*
|
|
170
|
-
* No price, and no cache-*write* count: OpenAI caches implicitly and bills no
|
|
171
|
-
* separate write, so `cacheCreationTokens` is honestly 0 rather than a guess.
|
|
172
|
-
*/
|
|
173
|
-
export function parseCodexUsage(raw) {
|
|
174
|
-
if (typeof raw !== 'object' || raw === null)
|
|
175
|
-
return undefined;
|
|
176
|
-
const usage = raw;
|
|
177
|
-
const num = (key) => {
|
|
178
|
-
const value = usage[key];
|
|
179
|
-
return typeof value === 'number' && Number.isFinite(value) && value >= 0 ? value : 0;
|
|
180
|
-
};
|
|
181
|
-
const input = num('input_tokens');
|
|
182
|
-
const cached = Math.min(num('cached_input_tokens'), input);
|
|
183
|
-
return {
|
|
184
|
-
inputTokens: input - cached,
|
|
185
|
-
outputTokens: num('output_tokens'),
|
|
186
|
-
cacheReadTokens: cached,
|
|
187
|
-
cacheCreationTokens: 0,
|
|
188
|
-
};
|
|
189
|
-
}
|
|
190
|
-
//# sourceMappingURL=codex.js.map
|
package/dist/driver/codex.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"codex.js","sourceRoot":"","sources":["../../src/driver/codex.ts"],"names":[],"mappings":"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"}
|
package/dist/driver/fake.d.ts
DELETED
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
import type { Driver, DriverPromptOptions, DriverSession, DriverStartOptions, DriverTurn, DriverUsage } from './types.js';
|
|
2
|
-
/** One scripted turn the {@link FakeDriver} replays. */
|
|
3
|
-
export interface FakeTurn {
|
|
4
|
-
/** The final assistant text. */
|
|
5
|
-
text: string;
|
|
6
|
-
/** Tool names to emit as `action` events before the result (visual only). */
|
|
7
|
-
actions?: string[];
|
|
8
|
-
/** Token + cost accounting to report for this turn (#322). Omitted = no usage. */
|
|
9
|
-
usage?: DriverUsage;
|
|
10
|
-
}
|
|
11
|
-
/** Options for {@link FakeDriver}. */
|
|
12
|
-
export interface FakeDriverOptions {
|
|
13
|
-
/**
|
|
14
|
-
* Scripted turns, consumed in order across all `prompt` calls of a session.
|
|
15
|
-
* Once exhausted the last one repeats, so a short script never starves a
|
|
16
|
-
* longer run. Ignored when {@link respond} is set.
|
|
17
|
-
*/
|
|
18
|
-
turns?: FakeTurn[];
|
|
19
|
-
/** Answer dynamically from the prompt. Takes precedence over {@link turns}. */
|
|
20
|
-
respond?: (prompt: string, index: number) => FakeTurn | string;
|
|
21
|
-
/** Files each session is pre-seeded with, exposed via {@link DriverSession.readCode}. */
|
|
22
|
-
files?: Record<string, string>;
|
|
23
|
-
/** Session id to report (default `"fake-session"`). */
|
|
24
|
-
sessionId?: string;
|
|
25
|
-
}
|
|
26
|
-
/**
|
|
27
|
-
* An in-memory {@link Driver} for tests and `FRAMEWORK_FAKE` runs: it never spawns a
|
|
28
|
-
* process, replays scripted turns deterministically, and emits the same
|
|
29
|
-
* {@link DriverEvent} shape a real driver does. Mirrors `AiFake` /
|
|
30
|
-
* `FakeRunner`, so the whole flow runs offline with no CLI and no model.
|
|
31
|
-
*/
|
|
32
|
-
export declare class FakeDriver implements Driver {
|
|
33
|
-
private readonly opts;
|
|
34
|
-
readonly id = "fake";
|
|
35
|
-
constructor(opts?: FakeDriverOptions);
|
|
36
|
-
start(opts: DriverStartOptions): Promise<FakeDriverSession>;
|
|
37
|
-
}
|
|
38
|
-
/** A single {@link FakeDriver} session. Records every prompt for assertions. */
|
|
39
|
-
export declare class FakeDriverSession implements DriverSession {
|
|
40
|
-
private readonly config;
|
|
41
|
-
private readonly startOpts;
|
|
42
|
-
readonly id: string;
|
|
43
|
-
readonly cwd: string;
|
|
44
|
-
/** Every prompt this session received, in order. */
|
|
45
|
-
readonly prompts: string[];
|
|
46
|
-
private index;
|
|
47
|
-
constructor(config: FakeDriverOptions, startOpts: DriverStartOptions);
|
|
48
|
-
prompt(text: string, opts?: DriverPromptOptions): Promise<DriverTurn>;
|
|
49
|
-
readCode(path: string): Promise<string>;
|
|
50
|
-
dispose(): Promise<void>;
|
|
51
|
-
private resolveTurn;
|
|
52
|
-
private emit;
|
|
53
|
-
}
|
|
54
|
-
//# sourceMappingURL=fake.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"fake.d.ts","sourceRoot":"","sources":["../../src/driver/fake.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAe,mBAAmB,EAAE,aAAa,EAAE,kBAAkB,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAGtI,wDAAwD;AACxD,MAAM,WAAW,QAAQ;IACvB,gCAAgC;IAChC,IAAI,EAAE,MAAM,CAAA;IACZ,6EAA6E;IAC7E,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAClB,kFAAkF;IAClF,KAAK,CAAC,EAAE,WAAW,CAAA;CACpB;AAED,sCAAsC;AACtC,MAAM,WAAW,iBAAiB;IAChC;;;;OAIG;IACH,KAAK,CAAC,EAAE,QAAQ,EAAE,CAAA;IAClB,+EAA+E;IAC/E,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,QAAQ,GAAG,MAAM,CAAA;IAC9D,yFAAyF;IACzF,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC9B,uDAAuD;IACvD,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAMD;;;;;GAKG;AACH,qBAAa,UAAW,YAAW,MAAM;IAE3B,OAAO,CAAC,QAAQ,CAAC,IAAI;IADjC,QAAQ,CAAC,EAAE,UAAS;IACpB,YAA6B,IAAI,GAAE,iBAAsB,EAAI;IAG7D,KAAK,CAAC,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAE1D;CACF;AAED,gFAAgF;AAChF,qBAAa,iBAAkB,YAAW,aAAa;IAQnD,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAR5B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,oDAAoD;IACpD,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,CAAK;IAC/B,OAAO,CAAC,KAAK,CAAI;IAEjB,YACmB,MAAM,EAAE,iBAAiB,EACzB,SAAS,EAAE,kBAAkB,EAI/C;IAED,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,GAAE,mBAAwB,GAAG,OAAO,CAAC,UAAU,CAAC,CAcxE;IAED,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAItC;IAED,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAEvB;IAED,OAAO,CAAC,WAAW;IAOnB,OAAO,CAAC,IAAI;CAGb"}
|