@action-llama/action-llama 0.15.0 → 0.17.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/dist/agents/container-runner.d.ts +1 -1
- package/dist/agents/container-runner.d.ts.map +1 -1
- package/dist/agents/runner.d.ts +0 -4
- package/dist/agents/runner.d.ts.map +1 -1
- package/dist/agents/runner.js +0 -10
- package/dist/agents/runner.js.map +1 -1
- package/dist/build-info.json +1 -1
- package/dist/cli/commands/agent.d.ts.map +1 -1
- package/dist/cli/commands/agent.js +0 -46
- package/dist/cli/commands/agent.js.map +1 -1
- package/dist/cli/commands/doctor.d.ts +2 -0
- package/dist/cli/commands/doctor.d.ts.map +1 -1
- package/dist/cli/commands/doctor.js +128 -14
- package/dist/cli/commands/doctor.js.map +1 -1
- package/dist/cli/commands/new.d.ts +7 -1
- package/dist/cli/commands/new.d.ts.map +1 -1
- package/dist/cli/commands/new.js +54 -23
- package/dist/cli/commands/new.js.map +1 -1
- package/dist/cli/commands/push.d.ts.map +1 -1
- package/dist/cli/commands/push.js +1 -0
- package/dist/cli/commands/push.js.map +1 -1
- package/dist/cli/commands/webhook.d.ts +11 -0
- package/dist/cli/commands/webhook.d.ts.map +1 -0
- package/dist/cli/commands/webhook.js +271 -0
- package/dist/cli/commands/webhook.js.map +1 -0
- package/dist/cli/main.js +22 -2
- package/dist/cli/main.js.map +1 -1
- package/dist/{gateway → control}/api-key.d.ts.map +1 -1
- package/dist/{gateway → control}/api-key.js.map +1 -1
- package/dist/{gateway → control}/auth.d.ts.map +1 -1
- package/dist/{gateway → control}/auth.js.map +1 -1
- package/dist/control/index.d.ts +11 -0
- package/dist/control/index.d.ts.map +1 -0
- package/dist/control/index.js +8 -0
- package/dist/control/index.js.map +1 -0
- package/dist/{gateway → control}/routes/control.d.ts.map +1 -1
- package/dist/{gateway → control}/routes/control.js.map +1 -1
- package/dist/{gateway → control}/routes/dashboard.d.ts.map +1 -1
- package/dist/{gateway → control}/routes/dashboard.js +68 -35
- package/dist/control/routes/dashboard.js.map +1 -0
- package/dist/{gateway → control}/routes/logs.d.ts.map +1 -1
- package/dist/{gateway → control}/routes/logs.js.map +1 -1
- package/dist/{gateway → control}/routes/stats.d.ts.map +1 -1
- package/dist/{gateway → control}/routes/stats.js +13 -0
- package/dist/control/routes/stats.js.map +1 -0
- package/dist/{gateway → control}/session-store.d.ts.map +1 -1
- package/dist/{gateway → control}/session-store.js.map +1 -1
- package/dist/control/types.d.ts +6 -0
- package/dist/control/types.d.ts.map +1 -0
- package/dist/{gateway → control}/types.js.map +1 -1
- package/dist/{gateway → control}/views/agent-detail-page.d.ts +2 -2
- package/dist/control/views/agent-detail-page.d.ts.map +1 -0
- package/dist/{gateway → control}/views/agent-detail-page.js +137 -52
- package/dist/control/views/agent-detail-page.js.map +1 -0
- package/dist/control/views/agent-skill-page.d.ts +2 -0
- package/dist/control/views/agent-skill-page.d.ts.map +1 -0
- package/dist/control/views/agent-skill-page.js +32 -0
- package/dist/control/views/agent-skill-page.js.map +1 -0
- package/dist/control/views/dashboard-page.d.ts +4 -0
- package/dist/control/views/dashboard-page.d.ts.map +1 -0
- package/dist/{gateway → control}/views/dashboard-page.js +65 -1
- package/dist/{gateway → control}/views/dashboard-page.js.map +1 -1
- package/dist/{gateway → control}/views/instance-detail-page.d.ts +9 -0
- package/dist/{gateway → control}/views/instance-detail-page.d.ts.map +1 -1
- package/dist/{gateway → control}/views/instance-detail-page.js +28 -1
- package/dist/control/views/instance-detail-page.js.map +1 -0
- package/dist/{gateway → control}/views/layout.d.ts.map +1 -1
- package/dist/{gateway → control}/views/layout.js.map +1 -1
- package/dist/{gateway → control}/views/login-page.d.ts.map +1 -1
- package/dist/{gateway → control}/views/login-page.js.map +1 -1
- package/dist/control/views/markdown.d.ts +6 -0
- package/dist/control/views/markdown.d.ts.map +1 -0
- package/dist/control/views/markdown.js +119 -0
- package/dist/control/views/markdown.js.map +1 -0
- package/dist/{gateway → control}/views/project-config-page.d.ts +0 -4
- package/dist/control/views/project-config-page.d.ts.map +1 -0
- package/dist/{gateway → control}/views/project-config-page.js +0 -82
- package/dist/control/views/project-config-page.js.map +1 -0
- package/dist/control/views/trigger-history-page.d.ts +10 -0
- package/dist/control/views/trigger-history-page.d.ts.map +1 -0
- package/dist/control/views/trigger-history-page.js +89 -0
- package/dist/control/views/trigger-history-page.js.map +1 -0
- package/dist/credentials/providers/file.d.ts +13 -0
- package/dist/credentials/providers/file.d.ts.map +1 -0
- package/dist/credentials/providers/file.js +34 -0
- package/dist/credentials/providers/file.js.map +1 -0
- package/dist/credentials/providers/index.d.ts +13 -0
- package/dist/credentials/providers/index.d.ts.map +1 -0
- package/dist/credentials/providers/index.js +70 -0
- package/dist/credentials/providers/index.js.map +1 -0
- package/dist/credentials/providers/vault.d.ts +19 -0
- package/dist/credentials/providers/vault.d.ts.map +1 -0
- package/dist/credentials/providers/vault.js +94 -0
- package/dist/credentials/providers/vault.js.map +1 -0
- package/dist/docker/local-runtime.d.ts.map +1 -1
- package/dist/docker/local-runtime.js +36 -7
- package/dist/docker/local-runtime.js.map +1 -1
- package/dist/docker/providers/index.d.ts +13 -0
- package/dist/docker/providers/index.d.ts.map +1 -0
- package/dist/docker/providers/index.js +74 -0
- package/dist/docker/providers/index.js.map +1 -0
- package/dist/docker/runtime.d.ts +4 -0
- package/dist/docker/runtime.d.ts.map +1 -1
- package/dist/{scheduler → events}/cron-setup.d.ts +7 -12
- package/dist/events/cron-setup.d.ts.map +1 -0
- package/dist/{scheduler → events}/cron-setup.js +4 -33
- package/dist/events/cron-setup.js.map +1 -0
- package/dist/events/event-queue-sqlite.d.ts.map +1 -0
- package/dist/events/event-queue-sqlite.js.map +1 -0
- package/dist/events/event-queue-unified.d.ts +50 -0
- package/dist/events/event-queue-unified.d.ts.map +1 -0
- package/dist/events/event-queue-unified.js +280 -0
- package/dist/events/event-queue-unified.js.map +1 -0
- package/dist/{scheduler → events}/event-queue.d.ts +2 -16
- package/dist/events/event-queue.d.ts.map +1 -0
- package/dist/events/event-queue.js.map +1 -0
- package/dist/events/index.d.ts +9 -0
- package/dist/events/index.d.ts.map +1 -0
- package/dist/events/index.js +5 -0
- package/dist/events/index.js.map +1 -0
- package/dist/{gateway → events}/routes/webhooks.d.ts +3 -1
- package/dist/events/routes/webhooks.d.ts.map +1 -0
- package/dist/events/routes/webhooks.js +201 -0
- package/dist/events/routes/webhooks.js.map +1 -0
- package/dist/{scheduler → events}/webhook-setup.d.ts +9 -6
- package/dist/events/webhook-setup.d.ts.map +1 -0
- package/dist/{scheduler → events}/webhook-setup.js +16 -26
- package/dist/events/webhook-setup.js.map +1 -0
- package/dist/{scheduler → execution}/call-dispatcher.d.ts.map +1 -1
- package/dist/{scheduler → execution}/call-dispatcher.js.map +1 -1
- package/dist/execution/call-store.d.ts.map +1 -0
- package/dist/execution/call-store.js.map +1 -0
- package/dist/execution/container-registry.d.ts.map +1 -0
- package/dist/execution/container-registry.js.map +1 -0
- package/dist/{scheduler → execution}/execution.d.ts +6 -4
- package/dist/execution/execution.d.ts.map +1 -0
- package/dist/{scheduler → execution}/execution.js +49 -8
- package/dist/execution/execution.js.map +1 -0
- package/dist/{scheduler → execution}/image-builder.d.ts +1 -1
- package/dist/execution/image-builder.d.ts.map +1 -0
- package/dist/{scheduler → execution}/image-builder.js +2 -0
- package/dist/execution/image-builder.js.map +1 -0
- package/dist/execution/index.d.ts +21 -0
- package/dist/execution/index.d.ts.map +1 -0
- package/dist/execution/index.js +14 -0
- package/dist/execution/index.js.map +1 -0
- package/dist/execution/lifecycle/agent-lifecycle.d.ts +114 -0
- package/dist/execution/lifecycle/agent-lifecycle.d.ts.map +1 -0
- package/dist/execution/lifecycle/agent-lifecycle.js +236 -0
- package/dist/execution/lifecycle/agent-lifecycle.js.map +1 -0
- package/dist/execution/lifecycle/index.d.ts +60 -0
- package/dist/execution/lifecycle/index.d.ts.map +1 -0
- package/dist/execution/lifecycle/index.js +103 -0
- package/dist/execution/lifecycle/index.js.map +1 -0
- package/dist/execution/lifecycle/instance-lifecycle.d.ts +88 -0
- package/dist/execution/lifecycle/instance-lifecycle.d.ts.map +1 -0
- package/dist/execution/lifecycle/instance-lifecycle.js +142 -0
- package/dist/execution/lifecycle/instance-lifecycle.js.map +1 -0
- package/dist/execution/lock-store.d.ts.map +1 -0
- package/dist/execution/lock-store.js.map +1 -0
- package/dist/execution/routes/calls.d.ts.map +1 -0
- package/dist/execution/routes/calls.js.map +1 -0
- package/dist/execution/routes/locks.d.ts.map +1 -0
- package/dist/execution/routes/locks.js.map +1 -0
- package/dist/execution/routes/shutdown.d.ts.map +1 -0
- package/dist/execution/routes/shutdown.js.map +1 -0
- package/dist/execution/routes/signals.d.ts.map +1 -0
- package/dist/execution/routes/signals.js.map +1 -0
- package/dist/{scheduler → execution}/runner-pool.d.ts.map +1 -1
- package/dist/{scheduler → execution}/runner-pool.js.map +1 -1
- package/dist/{scheduler → execution}/runner-setup.d.ts +1 -1
- package/dist/execution/runner-setup.d.ts.map +1 -0
- package/dist/{scheduler → execution}/runner-setup.js.map +1 -1
- package/dist/{scheduler → execution}/runtime-factory.d.ts +1 -1
- package/dist/{scheduler → execution}/runtime-factory.d.ts.map +1 -1
- package/dist/execution/runtime-factory.js +46 -0
- package/dist/execution/runtime-factory.js.map +1 -0
- package/dist/{gateway → execution}/types.d.ts +0 -5
- package/dist/execution/types.d.ts.map +1 -0
- package/dist/execution/types.js +2 -0
- package/dist/execution/types.js.map +1 -0
- package/dist/extensions/index.d.ts +4 -0
- package/dist/extensions/index.d.ts.map +1 -0
- package/dist/extensions/index.js +5 -0
- package/dist/extensions/index.js.map +1 -0
- package/dist/extensions/loader.d.ts +15 -0
- package/dist/extensions/loader.d.ts.map +1 -0
- package/dist/extensions/loader.js +116 -0
- package/dist/extensions/loader.js.map +1 -0
- package/dist/extensions/registry.d.ts +32 -0
- package/dist/extensions/registry.d.ts.map +1 -0
- package/dist/extensions/registry.js +123 -0
- package/dist/extensions/registry.js.map +1 -0
- package/dist/extensions/types.d.ts +74 -0
- package/dist/extensions/types.d.ts.map +1 -0
- package/dist/extensions/types.js +2 -0
- package/dist/extensions/types.js.map +1 -0
- package/dist/gateway/index.d.ts +10 -8
- package/dist/gateway/index.d.ts.map +1 -1
- package/dist/gateway/index.js +16 -15
- package/dist/gateway/index.js.map +1 -1
- package/dist/models/providers/anthropic.d.ts +17 -0
- package/dist/models/providers/anthropic.d.ts.map +1 -0
- package/dist/models/providers/anthropic.js +74 -0
- package/dist/models/providers/anthropic.js.map +1 -0
- package/dist/models/providers/custom.d.ts +18 -0
- package/dist/models/providers/custom.d.ts.map +1 -0
- package/dist/models/providers/custom.js +104 -0
- package/dist/models/providers/custom.js.map +1 -0
- package/dist/models/providers/index.d.ts +17 -0
- package/dist/models/providers/index.d.ts.map +1 -0
- package/dist/models/providers/index.js +107 -0
- package/dist/models/providers/index.js.map +1 -0
- package/dist/models/providers/openai.d.ts +18 -0
- package/dist/models/providers/openai.d.ts.map +1 -0
- package/dist/models/providers/openai.js +94 -0
- package/dist/models/providers/openai.js.map +1 -0
- package/dist/models/types.d.ts +51 -0
- package/dist/models/types.d.ts.map +1 -0
- package/dist/models/types.js +5 -0
- package/dist/models/types.js.map +1 -0
- package/dist/remote/push.d.ts.map +1 -1
- package/dist/remote/push.js +35 -5
- package/dist/remote/push.js.map +1 -1
- package/dist/scheduler/gateway-setup.d.ts +2 -1
- package/dist/scheduler/gateway-setup.d.ts.map +1 -1
- package/dist/scheduler/gateway-setup.js +7 -6
- package/dist/scheduler/gateway-setup.js.map +1 -1
- package/dist/scheduler/index.d.ts +3 -3
- package/dist/scheduler/index.d.ts.map +1 -1
- package/dist/scheduler/index.js +62 -92
- package/dist/scheduler/index.js.map +1 -1
- package/dist/scheduler/shutdown.d.ts +1 -1
- package/dist/scheduler/shutdown.d.ts.map +1 -1
- package/dist/scheduler/state.d.ts +2 -2
- package/dist/scheduler/state.d.ts.map +1 -1
- package/dist/scheduler/types.d.ts +2 -0
- package/dist/scheduler/types.d.ts.map +1 -1
- package/dist/scheduler/validation.js +2 -2
- package/dist/scheduler/validation.js.map +1 -1
- package/dist/scheduler/watcher.d.ts +2 -2
- package/dist/scheduler/watcher.d.ts.map +1 -1
- package/dist/scheduler/watcher.js +36 -10
- package/dist/scheduler/watcher.js.map +1 -1
- package/dist/shared/config.d.ts +12 -13
- package/dist/shared/config.d.ts.map +1 -1
- package/dist/shared/config.js +59 -25
- package/dist/shared/config.js.map +1 -1
- package/dist/shared/constants.d.ts +8 -0
- package/dist/shared/constants.d.ts.map +1 -1
- package/dist/shared/constants.js +8 -0
- package/dist/shared/constants.js.map +1 -1
- package/dist/shared/environment.d.ts +7 -0
- package/dist/shared/environment.d.ts.map +1 -1
- package/dist/shared/environment.js +29 -0
- package/dist/shared/environment.js.map +1 -1
- package/dist/shared/persistence/adapters/state-store.d.ts +24 -0
- package/dist/shared/persistence/adapters/state-store.d.ts.map +1 -0
- package/dist/shared/persistence/adapters/state-store.js +32 -0
- package/dist/shared/persistence/adapters/state-store.js.map +1 -0
- package/dist/shared/persistence/adapters/stats-store.d.ts +49 -0
- package/dist/shared/persistence/adapters/stats-store.d.ts.map +1 -0
- package/dist/shared/persistence/adapters/stats-store.js +213 -0
- package/dist/shared/persistence/adapters/stats-store.js.map +1 -0
- package/dist/shared/persistence/backends/memory.d.ts +39 -0
- package/dist/shared/persistence/backends/memory.d.ts.map +1 -0
- package/dist/shared/persistence/backends/memory.js +214 -0
- package/dist/shared/persistence/backends/memory.js.map +1 -0
- package/dist/shared/persistence/backends/sqlite.d.ts +38 -0
- package/dist/shared/persistence/backends/sqlite.d.ts.map +1 -0
- package/dist/shared/persistence/backends/sqlite.js +250 -0
- package/dist/shared/persistence/backends/sqlite.js.map +1 -0
- package/dist/shared/persistence/event-store.d.ts +77 -0
- package/dist/shared/persistence/event-store.d.ts.map +1 -0
- package/dist/shared/persistence/event-store.js +139 -0
- package/dist/shared/persistence/event-store.js.map +1 -0
- package/dist/shared/persistence/index.d.ts +119 -0
- package/dist/shared/persistence/index.d.ts.map +1 -0
- package/dist/shared/persistence/index.js +93 -0
- package/dist/shared/persistence/index.js.map +1 -0
- package/dist/shared/persistence/migration.d.ts +47 -0
- package/dist/shared/persistence/migration.d.ts.map +1 -0
- package/dist/shared/persistence/migration.js +297 -0
- package/dist/shared/persistence/migration.js.map +1 -0
- package/dist/shared/validation.d.ts +54 -0
- package/dist/shared/validation.d.ts.map +1 -0
- package/dist/shared/validation.js +231 -0
- package/dist/shared/validation.js.map +1 -0
- package/dist/shared/work-queue.d.ts +17 -0
- package/dist/shared/work-queue.d.ts.map +1 -0
- package/dist/shared/work-queue.js +2 -0
- package/dist/shared/work-queue.js.map +1 -0
- package/dist/stats/event-store.d.ts +37 -0
- package/dist/stats/event-store.d.ts.map +1 -0
- package/dist/stats/event-store.js +366 -0
- package/dist/stats/event-store.js.map +1 -0
- package/dist/stats/index.d.ts +1 -1
- package/dist/stats/index.d.ts.map +1 -1
- package/dist/stats/store.d.ts +45 -0
- package/dist/stats/store.d.ts.map +1 -1
- package/dist/stats/store.js +118 -2
- package/dist/stats/store.js.map +1 -1
- package/dist/telemetry/index.d.ts.map +1 -1
- package/dist/telemetry/index.js +7 -9
- package/dist/telemetry/index.js.map +1 -1
- package/dist/telemetry/providers/index.d.ts +5 -0
- package/dist/telemetry/providers/index.d.ts.map +1 -0
- package/dist/telemetry/providers/index.js +5 -0
- package/dist/telemetry/providers/index.js.map +1 -0
- package/dist/telemetry/providers/otel.d.ts +5 -0
- package/dist/telemetry/providers/otel.d.ts.map +1 -1
- package/dist/telemetry/providers/otel.js +45 -0
- package/dist/telemetry/providers/otel.js.map +1 -1
- package/dist/tui/App.js +2 -2
- package/dist/tui/App.js.map +1 -1
- package/dist/tui/status-tracker.d.ts +19 -0
- package/dist/tui/status-tracker.d.ts.map +1 -1
- package/dist/tui/status-tracker.js +96 -1
- package/dist/tui/status-tracker.js.map +1 -1
- package/dist/webhooks/providers/github.d.ts +2 -1
- package/dist/webhooks/providers/github.d.ts.map +1 -1
- package/dist/webhooks/providers/github.js +5 -2
- package/dist/webhooks/providers/github.js.map +1 -1
- package/dist/webhooks/providers/index.d.ts +25 -0
- package/dist/webhooks/providers/index.d.ts.map +1 -0
- package/dist/webhooks/providers/index.js +144 -0
- package/dist/webhooks/providers/index.js.map +1 -0
- package/dist/webhooks/providers/linear.d.ts +1 -1
- package/dist/webhooks/providers/linear.d.ts.map +1 -1
- package/dist/webhooks/providers/linear.js +2 -2
- package/dist/webhooks/providers/linear.js.map +1 -1
- package/dist/webhooks/providers/mintlify.d.ts +1 -1
- package/dist/webhooks/providers/mintlify.d.ts.map +1 -1
- package/dist/webhooks/providers/mintlify.js +2 -2
- package/dist/webhooks/providers/mintlify.js.map +1 -1
- package/dist/webhooks/providers/sentry.d.ts +1 -1
- package/dist/webhooks/providers/sentry.d.ts.map +1 -1
- package/dist/webhooks/providers/sentry.js +2 -2
- package/dist/webhooks/providers/sentry.js.map +1 -1
- package/dist/webhooks/providers/test.d.ts +1 -1
- package/dist/webhooks/providers/test.d.ts.map +1 -1
- package/dist/webhooks/providers/test.js +1 -1
- package/dist/webhooks/providers/test.js.map +1 -1
- package/dist/webhooks/registry.d.ts +8 -2
- package/dist/webhooks/registry.d.ts.map +1 -1
- package/dist/webhooks/registry.js +159 -3
- package/dist/webhooks/registry.js.map +1 -1
- package/dist/webhooks/types.d.ts +30 -1
- package/dist/webhooks/types.d.ts.map +1 -1
- package/dist/webhooks/validation.d.ts +7 -6
- package/dist/webhooks/validation.d.ts.map +1 -1
- package/dist/webhooks/validation.js +11 -9
- package/dist/webhooks/validation.js.map +1 -1
- package/package.json +1 -1
- package/dist/agents/feedback-monitor.d.ts +0 -56
- package/dist/agents/feedback-monitor.d.ts.map +0 -1
- package/dist/agents/feedback-monitor.js +0 -176
- package/dist/agents/feedback-monitor.js.map +0 -1
- package/dist/agents/feedback-runner.d.ts +0 -28
- package/dist/agents/feedback-runner.d.ts.map +0 -1
- package/dist/agents/feedback-runner.js +0 -138
- package/dist/agents/feedback-runner.js.map +0 -1
- package/dist/gateway/call-store.d.ts.map +0 -1
- package/dist/gateway/call-store.js.map +0 -1
- package/dist/gateway/container-registry.d.ts.map +0 -1
- package/dist/gateway/container-registry.js.map +0 -1
- package/dist/gateway/lock-store.d.ts.map +0 -1
- package/dist/gateway/lock-store.js.map +0 -1
- package/dist/gateway/routes/calls.d.ts.map +0 -1
- package/dist/gateway/routes/calls.js.map +0 -1
- package/dist/gateway/routes/dashboard.js.map +0 -1
- package/dist/gateway/routes/locks.d.ts.map +0 -1
- package/dist/gateway/routes/locks.js.map +0 -1
- package/dist/gateway/routes/shutdown.d.ts.map +0 -1
- package/dist/gateway/routes/shutdown.js.map +0 -1
- package/dist/gateway/routes/signals.d.ts.map +0 -1
- package/dist/gateway/routes/signals.js.map +0 -1
- package/dist/gateway/routes/stats.js.map +0 -1
- package/dist/gateway/routes/webhooks.d.ts.map +0 -1
- package/dist/gateway/routes/webhooks.js +0 -64
- package/dist/gateway/routes/webhooks.js.map +0 -1
- package/dist/gateway/types.d.ts.map +0 -1
- package/dist/gateway/views/agent-detail-page.d.ts.map +0 -1
- package/dist/gateway/views/agent-detail-page.js.map +0 -1
- package/dist/gateway/views/dashboard-page.d.ts +0 -3
- package/dist/gateway/views/dashboard-page.d.ts.map +0 -1
- package/dist/gateway/views/instance-detail-page.js.map +0 -1
- package/dist/gateway/views/project-config-page.d.ts.map +0 -1
- package/dist/gateway/views/project-config-page.js.map +0 -1
- package/dist/scheduler/cron-setup.d.ts.map +0 -1
- package/dist/scheduler/cron-setup.js.map +0 -1
- package/dist/scheduler/event-queue-sqlite.d.ts.map +0 -1
- package/dist/scheduler/event-queue-sqlite.js.map +0 -1
- package/dist/scheduler/event-queue.d.ts.map +0 -1
- package/dist/scheduler/event-queue.js.map +0 -1
- package/dist/scheduler/execution.d.ts.map +0 -1
- package/dist/scheduler/execution.js.map +0 -1
- package/dist/scheduler/image-builder.d.ts.map +0 -1
- package/dist/scheduler/image-builder.js.map +0 -1
- package/dist/scheduler/runner-setup.d.ts.map +0 -1
- package/dist/scheduler/runtime-factory.js +0 -37
- package/dist/scheduler/runtime-factory.js.map +0 -1
- package/dist/scheduler/webhook-setup.d.ts.map +0 -1
- package/dist/scheduler/webhook-setup.js.map +0 -1
- package/dist/shared/default-feedback-agent.d.ts +0 -10
- package/dist/shared/default-feedback-agent.d.ts.map +0 -1
- package/dist/shared/default-feedback-agent.js +0 -114
- package/dist/shared/default-feedback-agent.js.map +0 -1
- /package/dist/{gateway → control}/api-key.d.ts +0 -0
- /package/dist/{gateway → control}/api-key.js +0 -0
- /package/dist/{gateway → control}/auth.d.ts +0 -0
- /package/dist/{gateway → control}/auth.js +0 -0
- /package/dist/{gateway → control}/routes/control.d.ts +0 -0
- /package/dist/{gateway → control}/routes/control.js +0 -0
- /package/dist/{gateway → control}/routes/dashboard.d.ts +0 -0
- /package/dist/{gateway → control}/routes/logs.d.ts +0 -0
- /package/dist/{gateway → control}/routes/logs.js +0 -0
- /package/dist/{gateway → control}/routes/stats.d.ts +0 -0
- /package/dist/{gateway → control}/session-store.d.ts +0 -0
- /package/dist/{gateway → control}/session-store.js +0 -0
- /package/dist/{gateway → control}/types.js +0 -0
- /package/dist/{gateway → control}/views/layout.d.ts +0 -0
- /package/dist/{gateway → control}/views/layout.js +0 -0
- /package/dist/{gateway → control}/views/login-page.d.ts +0 -0
- /package/dist/{gateway → control}/views/login-page.js +0 -0
- /package/dist/{scheduler → events}/event-queue-sqlite.d.ts +0 -0
- /package/dist/{scheduler → events}/event-queue-sqlite.js +0 -0
- /package/dist/{scheduler → events}/event-queue.js +0 -0
- /package/dist/{scheduler → execution}/call-dispatcher.d.ts +0 -0
- /package/dist/{scheduler → execution}/call-dispatcher.js +0 -0
- /package/dist/{gateway → execution}/call-store.d.ts +0 -0
- /package/dist/{gateway → execution}/call-store.js +0 -0
- /package/dist/{gateway → execution}/container-registry.d.ts +0 -0
- /package/dist/{gateway → execution}/container-registry.js +0 -0
- /package/dist/{gateway → execution}/lock-store.d.ts +0 -0
- /package/dist/{gateway → execution}/lock-store.js +0 -0
- /package/dist/{gateway → execution}/routes/calls.d.ts +0 -0
- /package/dist/{gateway → execution}/routes/calls.js +0 -0
- /package/dist/{gateway → execution}/routes/locks.d.ts +0 -0
- /package/dist/{gateway → execution}/routes/locks.js +0 -0
- /package/dist/{gateway → execution}/routes/shutdown.d.ts +0 -0
- /package/dist/{gateway → execution}/routes/shutdown.js +0 -0
- /package/dist/{gateway → execution}/routes/signals.d.ts +0 -0
- /package/dist/{gateway → execution}/routes/signals.js +0 -0
- /package/dist/{scheduler → execution}/runner-pool.d.ts +0 -0
- /package/dist/{scheduler → execution}/runner-pool.js +0 -0
- /package/dist/{scheduler → execution}/runner-setup.js +0 -0
package/dist/shared/config.js
CHANGED
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import { readFileSync, writeFileSync, existsSync, readdirSync, statSync } from "fs";
|
|
2
|
-
import { resolve } from "path";
|
|
2
|
+
import { resolve, relative, join } from "path";
|
|
3
3
|
import { parse as parseTOML, stringify as stringifyTOML } from "smol-toml";
|
|
4
4
|
import { ConfigError } from "./errors.js";
|
|
5
5
|
import { resolveEnvironmentName, loadEnvToml, loadEnvironmentConfig, deepMerge, } from "./environment.js";
|
|
6
6
|
import { parseFrontmatter } from "./frontmatter.js";
|
|
7
|
-
import { stringify as stringifyYAML } from "yaml";
|
|
8
7
|
// --- Loaders ---
|
|
9
8
|
/**
|
|
10
9
|
* Load the raw project config.toml without environment merging.
|
|
@@ -59,6 +58,27 @@ export function loadGlobalConfig(projectPath, envName) {
|
|
|
59
58
|
if (projectName) {
|
|
60
59
|
config.projectName = projectName;
|
|
61
60
|
}
|
|
61
|
+
// Validate per-agent runtime override values (scale, timeout).
|
|
62
|
+
// Note: config.agents is a shared namespace — the webhook command also stores
|
|
63
|
+
// trigger bindings here. We only validate the runtime-override keys we own;
|
|
64
|
+
// unknown keys are ignored so both uses coexist.
|
|
65
|
+
if (config.agents) {
|
|
66
|
+
for (const [name, overrides] of Object.entries(config.agents)) {
|
|
67
|
+
if (typeof overrides !== "object" || overrides === null || Array.isArray(overrides)) {
|
|
68
|
+
continue; // skip non-table entries
|
|
69
|
+
}
|
|
70
|
+
if (overrides.scale !== undefined) {
|
|
71
|
+
if (!Number.isInteger(overrides.scale) || overrides.scale < 0) {
|
|
72
|
+
throw new ConfigError(`[agents.${name}].scale must be a non-negative integer.`);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
if (overrides.timeout !== undefined) {
|
|
76
|
+
if (!Number.isInteger(overrides.timeout) || overrides.timeout <= 0) {
|
|
77
|
+
throw new ConfigError(`[agents.${name}].timeout must be a positive integer.`);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
}
|
|
62
82
|
return config;
|
|
63
83
|
}
|
|
64
84
|
export function loadAgentConfig(projectPath, agentName) {
|
|
@@ -91,7 +111,6 @@ export function loadAgentConfig(projectPath, agentName) {
|
|
|
91
111
|
params: meta.params,
|
|
92
112
|
scale: meta.scale,
|
|
93
113
|
timeout: meta.timeout,
|
|
94
|
-
feedback: meta.feedback,
|
|
95
114
|
};
|
|
96
115
|
// Resolve named model references from global config
|
|
97
116
|
const rawModels = parsed.models;
|
|
@@ -112,6 +131,14 @@ export function loadAgentConfig(projectPath, agentName) {
|
|
|
112
131
|
resolvedModels.push(modelDef);
|
|
113
132
|
}
|
|
114
133
|
parsed.models = resolvedModels;
|
|
134
|
+
// Apply per-agent runtime overrides from .env.toml / environment config
|
|
135
|
+
const overrides = global.agents?.[agentName];
|
|
136
|
+
if (overrides) {
|
|
137
|
+
if (overrides.scale !== undefined)
|
|
138
|
+
parsed.scale = overrides.scale;
|
|
139
|
+
if (overrides.timeout !== undefined)
|
|
140
|
+
parsed.timeout = overrides.timeout;
|
|
141
|
+
}
|
|
115
142
|
return parsed;
|
|
116
143
|
}
|
|
117
144
|
/**
|
|
@@ -131,6 +158,35 @@ export function loadAgentBody(projectPath, agentName) {
|
|
|
131
158
|
throw new ConfigError(`Error parsing ${skillPath}: ${err instanceof Error ? err.message : String(err)}`, { cause: err });
|
|
132
159
|
}
|
|
133
160
|
}
|
|
161
|
+
/**
|
|
162
|
+
* Load all files from `<projectPath>/shared/` recursively.
|
|
163
|
+
* Returns a map of relative paths (prefixed with `shared/`) to file contents.
|
|
164
|
+
* Returns an empty object if the directory doesn't exist.
|
|
165
|
+
*/
|
|
166
|
+
export function loadSharedFiles(projectPath) {
|
|
167
|
+
const sharedDir = resolve(projectPath, "shared");
|
|
168
|
+
if (!existsSync(sharedDir) || !statSync(sharedDir).isDirectory()) {
|
|
169
|
+
return {};
|
|
170
|
+
}
|
|
171
|
+
const result = {};
|
|
172
|
+
function walk(dir) {
|
|
173
|
+
for (const entry of readdirSync(dir)) {
|
|
174
|
+
if (entry.startsWith("."))
|
|
175
|
+
continue;
|
|
176
|
+
const fullPath = resolve(dir, entry);
|
|
177
|
+
const stat = statSync(fullPath);
|
|
178
|
+
if (stat.isDirectory()) {
|
|
179
|
+
walk(fullPath);
|
|
180
|
+
}
|
|
181
|
+
else if (stat.isFile()) {
|
|
182
|
+
const relPath = join("shared", relative(sharedDir, fullPath));
|
|
183
|
+
result[relPath] = readFileSync(fullPath, "utf-8");
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
walk(sharedDir);
|
|
188
|
+
return result;
|
|
189
|
+
}
|
|
134
190
|
const AGENT_NAME_PATTERN = /^[a-z0-9](?:[a-z0-9]|-(?=[a-z0-9]))*$/;
|
|
135
191
|
export function validateAgentName(name) {
|
|
136
192
|
if (!name || name.length > 64) {
|
|
@@ -185,28 +241,6 @@ export function updateProjectScale(projectPath, scale) {
|
|
|
185
241
|
const tomlStr = stringifyTOML(config);
|
|
186
242
|
writeFileSync(configPath, tomlStr);
|
|
187
243
|
}
|
|
188
|
-
/**
|
|
189
|
-
* Update an agent's scale in its SKILL.md frontmatter
|
|
190
|
-
*/
|
|
191
|
-
export function updateAgentScale(projectPath, agentName, scale) {
|
|
192
|
-
const agentDir = resolve(projectPath, "agents", agentName);
|
|
193
|
-
const skillPath = resolve(agentDir, "SKILL.md");
|
|
194
|
-
if (!existsSync(skillPath)) {
|
|
195
|
-
throw new ConfigError(`Agent config not found at ${skillPath}.`);
|
|
196
|
-
}
|
|
197
|
-
// Read current SKILL.md
|
|
198
|
-
const raw = readFileSync(skillPath, "utf-8");
|
|
199
|
-
const { data, body } = parseFrontmatter(raw);
|
|
200
|
-
// Update the scale in metadata
|
|
201
|
-
const metadata = (data.metadata ?? {});
|
|
202
|
-
metadata.scale = scale;
|
|
203
|
-
// Reconstruct the file with updated metadata
|
|
204
|
-
const updatedData = { ...data, metadata };
|
|
205
|
-
const yamlStr = Object.keys(updatedData).length > 0
|
|
206
|
-
? stringifyYAML(updatedData).trimEnd()
|
|
207
|
-
: "";
|
|
208
|
-
writeFileSync(skillPath, `---\n${yamlStr}\n---\n\n${body}`);
|
|
209
|
-
}
|
|
210
244
|
/**
|
|
211
245
|
* Get current project scale from config
|
|
212
246
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/shared/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC;AACpF,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAC/
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/shared/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -34,5 +34,13 @@ export declare const CONSTANTS: {
|
|
|
34
34
|
CREDS_TEMP_PREFIX: string;
|
|
35
35
|
/** Scheduler Docker image tag (primary — git SHA) */
|
|
36
36
|
SCHEDULER_IMAGE: string;
|
|
37
|
+
/** Restrictive directory permissions for credential staging */
|
|
38
|
+
CREDS_DIR_MODE: number;
|
|
39
|
+
/** Read-only file permissions for credential files */
|
|
40
|
+
CREDS_FILE_MODE: number;
|
|
41
|
+
/** Container user ID */
|
|
42
|
+
CONTAINER_UID: number;
|
|
43
|
+
/** Container group ID */
|
|
44
|
+
CONTAINER_GID: number;
|
|
37
45
|
};
|
|
38
46
|
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/shared/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AAQH,QAAA,MAAM,OAAO,EAAE,MAA4F,CAAC;AAsB5G,QAAA,MAAM,OAAO,QAAc,CAAC;AAE5B,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;AAE5B;;;GAGG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,CAAC,CAE/E;AAED,eAAO,MAAM,SAAS;IACpB,2DAA2D;;IAG3D,oDAAoD;;IAGpD,+EAA+E;6BACtD,MAAM;IAE/B,uDAAuD;kCACzB,MAAM;IAEpC,kDAAkD;+BACvB,MAAM,SAAS,MAAM;IAEhD,0CAA0C;;IAG1C,0BAA0B;;IAG1B,yEAAyE;;IAGzE,gFAAgF;;IAGhF,0DAA0D;4BAClC,MAAM;IAE9B,mDAAmD;;IAGnD,qDAAqD;;
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/shared/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AAQH,QAAA,MAAM,OAAO,EAAE,MAA4F,CAAC;AAsB5G,QAAA,MAAM,OAAO,QAAc,CAAC;AAE5B,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;AAE5B;;;GAGG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,CAAC,CAE/E;AAED,eAAO,MAAM,SAAS;IACpB,2DAA2D;;IAG3D,oDAAoD;;IAGpD,+EAA+E;6BACtD,MAAM;IAE/B,uDAAuD;kCACzB,MAAM;IAEpC,kDAAkD;+BACvB,MAAM,SAAS,MAAM;IAEhD,0CAA0C;;IAG1C,0BAA0B;;IAG1B,yEAAyE;;IAGzE,gFAAgF;;IAGhF,0DAA0D;4BAClC,MAAM;IAE9B,mDAAmD;;IAGnD,qDAAqD;;IAGrD,+DAA+D;;IAG/D,sDAAsD;;IAGtD,wBAAwB;;IAGxB,yBAAyB;;CAE+C,CAAC"}
|
package/dist/shared/constants.js
CHANGED
|
@@ -62,5 +62,13 @@ export const CONSTANTS = {
|
|
|
62
62
|
CREDS_TEMP_PREFIX: "al-creds-",
|
|
63
63
|
/** Scheduler Docker image tag (primary — git SHA) */
|
|
64
64
|
SCHEDULER_IMAGE: `al-scheduler:${GIT_SHA}`,
|
|
65
|
+
/** Restrictive directory permissions for credential staging */
|
|
66
|
+
CREDS_DIR_MODE: process.env.NODE_ENV === "test" ? 0o755 : 0o700,
|
|
67
|
+
/** Read-only file permissions for credential files */
|
|
68
|
+
CREDS_FILE_MODE: process.env.NODE_ENV === "test" ? 0o644 : 0o400,
|
|
69
|
+
/** Container user ID */
|
|
70
|
+
CONTAINER_UID: 1000,
|
|
71
|
+
/** Container group ID */
|
|
72
|
+
CONTAINER_GID: 1000,
|
|
65
73
|
};
|
|
66
74
|
//# sourceMappingURL=constants.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/shared/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AAEpC,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAC1D,MAAM,OAAO,GAAW,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,EAAE,oBAAoB,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;AAE5G,SAAS,SAAS;IAChB,4DAA4D;IAC5D,IAAI,CAAC;QACH,MAAM,aAAa,GAAG,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,iBAAiB,CAAC,CAAC;QAClE,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC,CAAC;QACpE,IAAI,MAAM;YAAE,OAAO,MAAM,CAAC;IAC5B,CAAC;IAAC,MAAM,CAAC,CAAA,CAAC;IAEV,yDAAyD;IACzD,IAAI,CAAC;QACH,OAAO,YAAY,CAAC,KAAK,EAAE,CAAC,WAAW,EAAE,WAAW,EAAE,MAAM,CAAC,EAAE;YAC7D,QAAQ,EAAE,OAAO;YACjB,OAAO,EAAE,IAAI;YACb,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;SAChC,CAAC,CAAC,IAAI,EAAE,CAAC;IACZ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,MAAM,OAAO,GAAG,SAAS,EAAE,CAAC;AAE5B,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;AAE5B;;;GAGG;AACH,MAAM,UAAU,SAAS,CAAC,IAAY;IACpC,OAAO,CAAC,GAAG,IAAI,IAAI,OAAO,EAAE,EAAE,GAAG,IAAI,IAAI,OAAO,EAAE,EAAE,GAAG,IAAI,SAAS,CAAC,CAAC;AACxE,CAAC;AAED,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,2DAA2D;IAC3D,qBAAqB,EAAE,cAAc;IAErC,oDAAoD;IACpD,UAAU,EAAE,cAAc;IAE1B,+EAA+E;IAC/E,WAAW,EAAE,CAAC,SAAiB,EAAE,EAAE,CAAC,MAAM,SAAS,EAAE;IAErD,uDAAuD;IACvD,mBAAmB,EAAE,CAAC,MAAc,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM;IAE5F,kDAAkD;IAClD,aAAa,EAAE,CAAC,SAAiB,EAAE,KAAa,EAAE,EAAE,CAAC,MAAM,SAAS,IAAI,KAAK,EAAE;IAE/E,0CAA0C;IAC1C,gBAAgB,EAAE,KAAK;IAEvB,0BAA0B;IAC1B,YAAY,EAAE,QAAQ;IAEtB,yEAAyE;IACzE,aAAa,EAAE,YAAY,OAAO,EAAE;IAEpC,gFAAgF;IAChF,kBAAkB,EAAE,mBAAmB,OAAO,EAAE;IAEhD,0DAA0D;IAC1D,UAAU,EAAE,CAAC,SAAiB,EAAE,EAAE,CAAC,MAAM,SAAS,IAAI,OAAO,EAAE;IAE/D,mDAAmD;IACnD,iBAAiB,EAAE,WAAW;IAE9B,qDAAqD;IACrD,eAAe,EAAE,gBAAgB,OAAO,EAAE;
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/shared/constants.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { ServerConfig } from "./server.js";
|
|
2
|
+
import type { AgentRuntimeOverrides } from "./config.js";
|
|
2
3
|
export interface EnvironmentConfig {
|
|
3
4
|
server?: ServerConfig;
|
|
4
5
|
gateway?: {
|
|
@@ -13,6 +14,7 @@ export interface EnvironmentConfig {
|
|
|
13
14
|
headers?: Record<string, string>;
|
|
14
15
|
samplingRate?: number;
|
|
15
16
|
};
|
|
17
|
+
agents?: Record<string, AgentRuntimeOverrides>;
|
|
16
18
|
}
|
|
17
19
|
export interface EnvToml {
|
|
18
20
|
environment?: string;
|
|
@@ -59,6 +61,11 @@ export declare function writeEnvironmentConfig(name: string, config: Environment
|
|
|
59
61
|
* Get the full path to an environment file.
|
|
60
62
|
*/
|
|
61
63
|
export declare function environmentPath(name: string): string;
|
|
64
|
+
/**
|
|
65
|
+
* Update per-agent runtime overrides in .env.toml.
|
|
66
|
+
* Creates or updates the [agents.<agentName>] section, preserving other fields.
|
|
67
|
+
*/
|
|
68
|
+
export declare function updateAgentRuntimeOverride(projectPath: string, agentName: string, overrides: Partial<AgentRuntimeOverrides>): void;
|
|
62
69
|
/**
|
|
63
70
|
* Deep merge two objects. Later values win. Arrays are replaced, not concatenated.
|
|
64
71
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"environment.d.ts","sourceRoot":"","sources":["../../src/shared/environment.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"environment.d.ts","sourceRoot":"","sources":["../../src/shared/environment.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAEzD,MAAM,WAAW,iBAAiB;IAChC,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,OAAO,CAAC,EAAE;QAAE,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1C,SAAS,CAAC,EAAE;QAAE,OAAO,CAAC,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACvJ,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;CAChD;AAED,MAAM,WAAW,OAAO;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,IAAI,CAqBjF;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAYpE;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB,CAoBrE;AAED;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,WAAW,EAAE,MAAM,GAClB,MAAM,GAAG,SAAS,CAKpB;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,EAAE,CAM3C;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEvD;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,iBAAiB,GAAG,IAAI,CAIpF;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEpD;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CACxC,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,OAAO,CAAC,qBAAqB,CAAC,GACxC,IAAI,CA2BN;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC,CAmBlG"}
|
|
@@ -111,6 +111,35 @@ export function writeEnvironmentConfig(name, config) {
|
|
|
111
111
|
export function environmentPath(name) {
|
|
112
112
|
return resolve(ENVIRONMENTS_DIR, `${name}.toml`);
|
|
113
113
|
}
|
|
114
|
+
/**
|
|
115
|
+
* Update per-agent runtime overrides in .env.toml.
|
|
116
|
+
* Creates or updates the [agents.<agentName>] section, preserving other fields.
|
|
117
|
+
*/
|
|
118
|
+
export function updateAgentRuntimeOverride(projectPath, agentName, overrides) {
|
|
119
|
+
const envPath = resolve(projectPath, ".env.toml");
|
|
120
|
+
let existing = {};
|
|
121
|
+
if (existsSync(envPath)) {
|
|
122
|
+
try {
|
|
123
|
+
existing = parseTOML(readFileSync(envPath, "utf-8"));
|
|
124
|
+
}
|
|
125
|
+
catch (err) {
|
|
126
|
+
throw new ConfigError(`Error parsing ${envPath}: ${err instanceof Error ? err.message : String(err)}`, { cause: err });
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
const agents = (existing.agents ?? {});
|
|
130
|
+
const current = agents[agentName] ?? {};
|
|
131
|
+
for (const [key, value] of Object.entries(overrides)) {
|
|
132
|
+
if (value === undefined) {
|
|
133
|
+
delete current[key];
|
|
134
|
+
}
|
|
135
|
+
else {
|
|
136
|
+
current[key] = value;
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
agents[agentName] = current;
|
|
140
|
+
existing.agents = agents;
|
|
141
|
+
writeFileSync(envPath, stringifyTOML(existing) + "\n");
|
|
142
|
+
}
|
|
114
143
|
/**
|
|
115
144
|
* Deep merge two objects. Later values win. Arrays are replaced, not concatenated.
|
|
116
145
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"environment.js","sourceRoot":"","sources":["../../src/shared/environment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,IAAI,CAAC;AACrF,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AACzC,OAAO,EAAE,KAAK,IAAI,SAAS,EAAE,SAAS,IAAI,aAAa,EAAE,MAAM,WAAW,CAAC;AAC3E,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"environment.js","sourceRoot":"","sources":["../../src/shared/environment.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* StateStore adapter for backward compatibility.
|
|
3
|
+
*
|
|
4
|
+
* Implements the old StateStore interface using the new unified persistence layer,
|
|
5
|
+
* allowing gradual migration without breaking existing code.
|
|
6
|
+
*/
|
|
7
|
+
import type { StateStore } from "../../state-store.js";
|
|
8
|
+
import type { PersistenceStore } from "../index.js";
|
|
9
|
+
export declare class StateStoreAdapter implements StateStore {
|
|
10
|
+
private persistence;
|
|
11
|
+
constructor(persistence: PersistenceStore);
|
|
12
|
+
get<T>(ns: string, key: string): Promise<T | null>;
|
|
13
|
+
set<T>(ns: string, key: string, value: T, opts?: {
|
|
14
|
+
ttl?: number;
|
|
15
|
+
}): Promise<void>;
|
|
16
|
+
delete(ns: string, key: string): Promise<void>;
|
|
17
|
+
deleteAll(ns: string): Promise<void>;
|
|
18
|
+
list<T>(ns: string): Promise<Array<{
|
|
19
|
+
key: string;
|
|
20
|
+
value: T;
|
|
21
|
+
}>>;
|
|
22
|
+
close(): Promise<void>;
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=state-store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"state-store.d.ts","sourceRoot":"","sources":["../../../../src/shared/persistence/adapters/state-store.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEpD,qBAAa,iBAAkB,YAAW,UAAU;IACtC,OAAO,CAAC,WAAW;gBAAX,WAAW,EAAE,gBAAgB;IAE3C,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IAIlD,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,CAAC,EAAE;QAAE,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAIjF,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI9C,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIpC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,CAAC,CAAA;KAAE,CAAC,CAAC;IAI9D,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAI7B"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* StateStore adapter for backward compatibility.
|
|
3
|
+
*
|
|
4
|
+
* Implements the old StateStore interface using the new unified persistence layer,
|
|
5
|
+
* allowing gradual migration without breaking existing code.
|
|
6
|
+
*/
|
|
7
|
+
export class StateStoreAdapter {
|
|
8
|
+
persistence;
|
|
9
|
+
constructor(persistence) {
|
|
10
|
+
this.persistence = persistence;
|
|
11
|
+
}
|
|
12
|
+
async get(ns, key) {
|
|
13
|
+
return this.persistence.kv.get(ns, key);
|
|
14
|
+
}
|
|
15
|
+
async set(ns, key, value, opts) {
|
|
16
|
+
return this.persistence.kv.set(ns, key, value, opts);
|
|
17
|
+
}
|
|
18
|
+
async delete(ns, key) {
|
|
19
|
+
return this.persistence.kv.delete(ns, key);
|
|
20
|
+
}
|
|
21
|
+
async deleteAll(ns) {
|
|
22
|
+
return this.persistence.kv.deleteAll(ns);
|
|
23
|
+
}
|
|
24
|
+
async list(ns) {
|
|
25
|
+
return this.persistence.kv.list(ns);
|
|
26
|
+
}
|
|
27
|
+
async close() {
|
|
28
|
+
// Don't close the underlying store since it might be shared
|
|
29
|
+
// The actual store will be closed by the main application
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=state-store.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"state-store.js","sourceRoot":"","sources":["../../../../src/shared/persistence/adapters/state-store.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,MAAM,OAAO,iBAAiB;IACR;IAApB,YAAoB,WAA6B;QAA7B,gBAAW,GAAX,WAAW,CAAkB;IAAG,CAAC;IAErD,KAAK,CAAC,GAAG,CAAI,EAAU,EAAE,GAAW;QAClC,OAAO,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,GAAG,CAAI,EAAE,EAAE,GAAG,CAAC,CAAC;IAC7C,CAAC;IAED,KAAK,CAAC,GAAG,CAAI,EAAU,EAAE,GAAW,EAAE,KAAQ,EAAE,IAAuB;QACrE,OAAO,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;IACvD,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAU,EAAE,GAAW;QAClC,OAAO,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;IAC7C,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,EAAU;QACxB,OAAO,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,IAAI,CAAI,EAAU;QACtB,OAAO,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,IAAI,CAAI,EAAE,CAAC,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,KAAK;QACT,4DAA4D;QAC5D,0DAA0D;IAC5D,CAAC;CACF"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* StatsStore adapter for backward compatibility.
|
|
3
|
+
*
|
|
4
|
+
* Implements the old StatsStore interface using event sourcing on the new persistence layer.
|
|
5
|
+
* Converts method calls to events and builds projections for queries.
|
|
6
|
+
*/
|
|
7
|
+
import type { PersistenceStore } from "../index.js";
|
|
8
|
+
import type { RunRecord, CallEdgeRecord, RunQuery, AgentSummary, CallEdgeSummary } from "../../../stats/store.js";
|
|
9
|
+
export declare class StatsStoreAdapter {
|
|
10
|
+
private persistence;
|
|
11
|
+
private statsStream;
|
|
12
|
+
private callIdCounter;
|
|
13
|
+
constructor(persistence: PersistenceStore);
|
|
14
|
+
recordRun(run: RunRecord): void;
|
|
15
|
+
private recordRunAsync;
|
|
16
|
+
recordCallEdge(edge: CallEdgeRecord): number;
|
|
17
|
+
private recordCallEdgeAsync;
|
|
18
|
+
updateCallEdge(id: number, updates: {
|
|
19
|
+
durationMs?: number;
|
|
20
|
+
status?: string;
|
|
21
|
+
targetInstance?: string;
|
|
22
|
+
}): void;
|
|
23
|
+
private updateCallEdgeAsync;
|
|
24
|
+
queryRunsByAgentPaginated(agent: string, limit: number, offset: number): Promise<any[]>;
|
|
25
|
+
countRunsByAgent(agent: string): Promise<number>;
|
|
26
|
+
queryRunByInstanceId(instanceId: string): Promise<any | undefined>;
|
|
27
|
+
queryRuns(query?: RunQuery): Promise<any[]>;
|
|
28
|
+
queryAgentSummary(query?: {
|
|
29
|
+
agent?: string;
|
|
30
|
+
since?: number;
|
|
31
|
+
}): Promise<AgentSummary[]>;
|
|
32
|
+
queryGlobalSummary(since?: number): Promise<{
|
|
33
|
+
totalRuns: number;
|
|
34
|
+
okRuns: number;
|
|
35
|
+
errorRuns: number;
|
|
36
|
+
totalTokens: number;
|
|
37
|
+
totalCost: number;
|
|
38
|
+
}>;
|
|
39
|
+
queryCallGraph(query?: {
|
|
40
|
+
since?: number;
|
|
41
|
+
}): Promise<CallEdgeSummary[]>;
|
|
42
|
+
prune(olderThanDays: number): {
|
|
43
|
+
runs: number;
|
|
44
|
+
callEdges: number;
|
|
45
|
+
};
|
|
46
|
+
private pruneAsync;
|
|
47
|
+
close(): void;
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=stats-store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stats-store.d.ts","sourceRoot":"","sources":["../../../../src/shared/persistence/adapters/stats-store.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAe,MAAM,aAAa,CAAC;AACjE,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,QAAQ,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAGlH,qBAAa,iBAAiB;IAIhB,OAAO,CAAC,WAAW;IAH/B,OAAO,CAAC,WAAW,CAAqB;IACxC,OAAO,CAAC,aAAa,CAAK;gBAEN,WAAW,EAAE,gBAAgB;IAIjD,SAAS,CAAC,GAAG,EAAE,SAAS,GAAG,IAAI;YAOjB,cAAc;IA8C5B,cAAc,CAAC,IAAI,EAAE,cAAc,GAAG,MAAM;YAW9B,mBAAmB;IA2CjC,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE;QAAE,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,cAAc,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;YAQ9F,mBAAmB;IAmB3B,yBAAyB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAQvF,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAQhD,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,GAAG,SAAS,CAAC;IAQlE,SAAS,CAAC,KAAK,GAAE,QAAa,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAiB/C,iBAAiB,CAAC,KAAK,GAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAO,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAyC1F,kBAAkB,CAAC,KAAK,GAAE,MAAU,GAAG,OAAO,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IAsBhJ,cAAc,CAAC,KAAK,GAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAO,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC;IAiBhF,KAAK,CAAC,aAAa,EAAE,MAAM,GAAG;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE;YAWnD,UAAU;IAKxB,KAAK,IAAI,IAAI;CAId"}
|
|
@@ -0,0 +1,213 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* StatsStore adapter for backward compatibility.
|
|
3
|
+
*
|
|
4
|
+
* Implements the old StatsStore interface using event sourcing on the new persistence layer.
|
|
5
|
+
* Converts method calls to events and builds projections for queries.
|
|
6
|
+
*/
|
|
7
|
+
import { EventTypes, EventStreamWrapper } from "../event-store.js";
|
|
8
|
+
export class StatsStoreAdapter {
|
|
9
|
+
persistence;
|
|
10
|
+
statsStream;
|
|
11
|
+
callIdCounter = 0;
|
|
12
|
+
constructor(persistence) {
|
|
13
|
+
this.persistence = persistence;
|
|
14
|
+
this.statsStream = new EventStreamWrapper(persistence.events.stream("stats"));
|
|
15
|
+
}
|
|
16
|
+
recordRun(run) {
|
|
17
|
+
// Record as events asynchronously
|
|
18
|
+
this.recordRunAsync(run).catch(error => {
|
|
19
|
+
console.error("Failed to record run event:", error);
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
async recordRunAsync(run) {
|
|
23
|
+
// Create run started event
|
|
24
|
+
await this.statsStream.appendTyped(EventTypes.RUN_STARTED, {
|
|
25
|
+
instanceId: run.instanceId,
|
|
26
|
+
agentName: run.agentName,
|
|
27
|
+
triggerType: run.triggerType,
|
|
28
|
+
triggerSource: run.triggerSource,
|
|
29
|
+
}, {
|
|
30
|
+
source: "stats-adapter",
|
|
31
|
+
correlationId: run.instanceId,
|
|
32
|
+
actor: run.agentName,
|
|
33
|
+
});
|
|
34
|
+
// Create run completed/failed event
|
|
35
|
+
const eventType = run.result === "error" ? EventTypes.RUN_FAILED : EventTypes.RUN_COMPLETED;
|
|
36
|
+
await this.statsStream.appendTyped(eventType, {
|
|
37
|
+
instanceId: run.instanceId,
|
|
38
|
+
agentName: run.agentName,
|
|
39
|
+
result: run.result,
|
|
40
|
+
exitCode: run.exitCode,
|
|
41
|
+
durationMs: run.durationMs,
|
|
42
|
+
inputTokens: run.inputTokens || 0,
|
|
43
|
+
outputTokens: run.outputTokens || 0,
|
|
44
|
+
cacheReadTokens: run.cacheReadTokens || 0,
|
|
45
|
+
cacheWriteTokens: run.cacheWriteTokens || 0,
|
|
46
|
+
totalTokens: run.totalTokens || 0,
|
|
47
|
+
costUsd: run.costUsd || 0,
|
|
48
|
+
turnCount: run.turnCount || 0,
|
|
49
|
+
errorMessage: run.errorMessage,
|
|
50
|
+
preHookMs: run.preHookMs,
|
|
51
|
+
postHookMs: run.postHookMs,
|
|
52
|
+
}, {
|
|
53
|
+
source: "stats-adapter",
|
|
54
|
+
correlationId: run.instanceId,
|
|
55
|
+
actor: run.agentName,
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
recordCallEdge(edge) {
|
|
59
|
+
const callId = ++this.callIdCounter;
|
|
60
|
+
// Record as events asynchronously
|
|
61
|
+
this.recordCallEdgeAsync(edge, callId).catch(error => {
|
|
62
|
+
console.error("Failed to record call edge event:", error);
|
|
63
|
+
});
|
|
64
|
+
return callId;
|
|
65
|
+
}
|
|
66
|
+
async recordCallEdgeAsync(edge, callId) {
|
|
67
|
+
// Create call initiated event
|
|
68
|
+
await this.statsStream.appendTyped(EventTypes.CALL_INITIATED, {
|
|
69
|
+
callId,
|
|
70
|
+
callerAgent: edge.callerAgent,
|
|
71
|
+
callerInstance: edge.callerInstance,
|
|
72
|
+
targetAgent: edge.targetAgent,
|
|
73
|
+
targetInstance: edge.targetInstance,
|
|
74
|
+
depth: edge.depth,
|
|
75
|
+
}, {
|
|
76
|
+
source: "stats-adapter",
|
|
77
|
+
correlationId: edge.callerInstance,
|
|
78
|
+
actor: edge.callerAgent,
|
|
79
|
+
});
|
|
80
|
+
// If the call already has completion data, record that too
|
|
81
|
+
if (edge.durationMs !== undefined) {
|
|
82
|
+
const eventType = edge.status === "error" ? EventTypes.CALL_FAILED : EventTypes.CALL_COMPLETED;
|
|
83
|
+
await this.statsStream.appendTyped(eventType, {
|
|
84
|
+
callId,
|
|
85
|
+
callerAgent: edge.callerAgent,
|
|
86
|
+
callerInstance: edge.callerInstance,
|
|
87
|
+
targetAgent: edge.targetAgent,
|
|
88
|
+
targetInstance: edge.targetInstance,
|
|
89
|
+
depth: edge.depth,
|
|
90
|
+
durationMs: edge.durationMs,
|
|
91
|
+
status: edge.status,
|
|
92
|
+
}, {
|
|
93
|
+
source: "stats-adapter",
|
|
94
|
+
correlationId: edge.callerInstance,
|
|
95
|
+
actor: edge.callerAgent,
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
updateCallEdge(id, updates) {
|
|
100
|
+
// This is tricky since we need to find the original call and update it
|
|
101
|
+
// For now, we'll just record a completion event with the call ID
|
|
102
|
+
this.updateCallEdgeAsync(id, updates).catch(error => {
|
|
103
|
+
console.error("Failed to update call edge event:", error);
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
async updateCallEdgeAsync(id, updates) {
|
|
107
|
+
if (updates.durationMs !== undefined) {
|
|
108
|
+
const eventType = updates.status === "error" ? EventTypes.CALL_FAILED : EventTypes.CALL_COMPLETED;
|
|
109
|
+
await this.statsStream.appendTyped(eventType, {
|
|
110
|
+
callId: id,
|
|
111
|
+
durationMs: updates.durationMs,
|
|
112
|
+
status: updates.status,
|
|
113
|
+
targetInstance: updates.targetInstance,
|
|
114
|
+
}, {
|
|
115
|
+
source: "stats-adapter",
|
|
116
|
+
tags: ["call-update"],
|
|
117
|
+
});
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
async queryRunsByAgentPaginated(agent, limit, offset) {
|
|
121
|
+
// Use SQL fallback for complex queries during migration
|
|
122
|
+
return this.persistence.query.sql(`SELECT * FROM runs WHERE agent_name = ? ORDER BY started_at DESC LIMIT ? OFFSET ?`, [agent, limit, offset]);
|
|
123
|
+
}
|
|
124
|
+
async countRunsByAgent(agent) {
|
|
125
|
+
const result = await this.persistence.query.sql(`SELECT COUNT(*) as count FROM runs WHERE agent_name = ?`, [agent]);
|
|
126
|
+
return result[0]?.count || 0;
|
|
127
|
+
}
|
|
128
|
+
async queryRunByInstanceId(instanceId) {
|
|
129
|
+
const result = await this.persistence.query.sql(`SELECT * FROM runs WHERE instance_id = ? LIMIT 1`, [instanceId]);
|
|
130
|
+
return result[0];
|
|
131
|
+
}
|
|
132
|
+
async queryRuns(query = {}) {
|
|
133
|
+
const since = query.since || 0;
|
|
134
|
+
const limit = query.limit || 100;
|
|
135
|
+
if (query.agent) {
|
|
136
|
+
return this.persistence.query.sql(`SELECT * FROM runs WHERE agent_name = ? AND started_at >= ? ORDER BY started_at DESC LIMIT ?`, [query.agent, since, limit]);
|
|
137
|
+
}
|
|
138
|
+
return this.persistence.query.sql(`SELECT * FROM runs WHERE started_at >= ? ORDER BY started_at DESC LIMIT ?`, [since, limit]);
|
|
139
|
+
}
|
|
140
|
+
async queryAgentSummary(query = {}) {
|
|
141
|
+
const since = query.since || 0;
|
|
142
|
+
if (query.agent) {
|
|
143
|
+
return this.persistence.query.sql(`SELECT
|
|
144
|
+
agent_name as agentName,
|
|
145
|
+
COUNT(*) as totalRuns,
|
|
146
|
+
SUM(CASE WHEN result IN ('completed', 'rerun') THEN 1 ELSE 0 END) as okRuns,
|
|
147
|
+
SUM(CASE WHEN result = 'error' THEN 1 ELSE 0 END) as errorRuns,
|
|
148
|
+
AVG(duration_ms) as avgDurationMs,
|
|
149
|
+
SUM(total_tokens) as totalTokens,
|
|
150
|
+
SUM(cost_usd) as totalCost,
|
|
151
|
+
AVG(pre_hook_ms) as avgPreHookMs,
|
|
152
|
+
AVG(post_hook_ms) as avgPostHookMs
|
|
153
|
+
FROM runs
|
|
154
|
+
WHERE agent_name = ? AND started_at >= ?
|
|
155
|
+
GROUP BY agent_name`, [query.agent, since]);
|
|
156
|
+
}
|
|
157
|
+
return this.persistence.query.sql(`SELECT
|
|
158
|
+
agent_name as agentName,
|
|
159
|
+
COUNT(*) as totalRuns,
|
|
160
|
+
SUM(CASE WHEN result IN ('completed', 'rerun') THEN 1 ELSE 0 END) as okRuns,
|
|
161
|
+
SUM(CASE WHEN result = 'error' THEN 1 ELSE 0 END) as errorRuns,
|
|
162
|
+
AVG(duration_ms) as avgDurationMs,
|
|
163
|
+
SUM(total_tokens) as totalTokens,
|
|
164
|
+
SUM(cost_usd) as totalCost,
|
|
165
|
+
AVG(pre_hook_ms) as avgPreHookMs,
|
|
166
|
+
AVG(post_hook_ms) as avgPostHookMs
|
|
167
|
+
FROM runs
|
|
168
|
+
WHERE started_at >= ?
|
|
169
|
+
GROUP BY agent_name
|
|
170
|
+
ORDER BY totalRuns DESC`, [since]);
|
|
171
|
+
}
|
|
172
|
+
async queryGlobalSummary(since = 0) {
|
|
173
|
+
const result = await this.persistence.query.sql(`SELECT
|
|
174
|
+
COUNT(*) as totalRuns,
|
|
175
|
+
SUM(CASE WHEN result IN ('completed', 'rerun') THEN 1 ELSE 0 END) as okRuns,
|
|
176
|
+
SUM(CASE WHEN result = 'error' THEN 1 ELSE 0 END) as errorRuns,
|
|
177
|
+
SUM(total_tokens) as totalTokens,
|
|
178
|
+
SUM(cost_usd) as totalCost
|
|
179
|
+
FROM runs
|
|
180
|
+
WHERE started_at >= ?`, [since]);
|
|
181
|
+
return result[0] || { totalRuns: 0, okRuns: 0, errorRuns: 0, totalTokens: 0, totalCost: 0 };
|
|
182
|
+
}
|
|
183
|
+
async queryCallGraph(query = {}) {
|
|
184
|
+
const since = query.since || 0;
|
|
185
|
+
return this.persistence.query.sql(`SELECT
|
|
186
|
+
caller_agent as callerAgent,
|
|
187
|
+
target_agent as targetAgent,
|
|
188
|
+
COUNT(*) as count,
|
|
189
|
+
AVG(depth) as avgDepth,
|
|
190
|
+
AVG(duration_ms) as avgDurationMs
|
|
191
|
+
FROM call_edges
|
|
192
|
+
WHERE started_at >= ?
|
|
193
|
+
GROUP BY caller_agent, target_agent
|
|
194
|
+
ORDER BY count DESC`, [since]);
|
|
195
|
+
}
|
|
196
|
+
prune(olderThanDays) {
|
|
197
|
+
const threshold = Date.now() - olderThanDays * 24 * 60 * 60 * 1000;
|
|
198
|
+
// This is a synchronous method in the original, so we'll make it async internally
|
|
199
|
+
this.pruneAsync(threshold).catch(error => {
|
|
200
|
+
console.error("Failed to prune stats:", error);
|
|
201
|
+
});
|
|
202
|
+
return { runs: 0, callEdges: 0 }; // Return dummy values for compatibility
|
|
203
|
+
}
|
|
204
|
+
async pruneAsync(threshold) {
|
|
205
|
+
await this.persistence.query.sql("DELETE FROM runs WHERE started_at < ?", [threshold]);
|
|
206
|
+
await this.persistence.query.sql("DELETE FROM call_edges WHERE started_at < ?", [threshold]);
|
|
207
|
+
}
|
|
208
|
+
close() {
|
|
209
|
+
// Don't close the underlying store since it might be shared
|
|
210
|
+
// The actual store will be closed by the main application
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
//# sourceMappingURL=stats-store.js.map
|