pulseed 0.5.1 → 0.5.2
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/adapters/types/a2a.d.ts +6 -6
- package/dist/base/config/identity-loader.d.ts +6 -0
- package/dist/base/config/identity-loader.d.ts.map +1 -1
- package/dist/base/config/identity-loader.js +34 -8
- package/dist/base/config/identity-loader.js.map +1 -1
- package/dist/grounding/gateway.d.ts.map +1 -1
- package/dist/grounding/gateway.js +2 -1
- package/dist/grounding/gateway.js.map +1 -1
- package/dist/grounding/providers/static-policy-provider.d.ts +1 -1
- package/dist/grounding/providers/static-policy-provider.d.ts.map +1 -1
- package/dist/grounding/providers/static-policy-provider.js +12 -8
- package/dist/grounding/providers/static-policy-provider.js.map +1 -1
- package/dist/interface/chat/chat-runner.d.ts +1 -0
- package/dist/interface/chat/chat-runner.d.ts.map +1 -1
- package/dist/interface/chat/chat-runner.js +73 -16
- package/dist/interface/chat/chat-runner.js.map +1 -1
- package/dist/interface/chat/cross-platform-session.d.ts +3 -0
- package/dist/interface/chat/cross-platform-session.d.ts.map +1 -1
- package/dist/interface/chat/cross-platform-session.js +9 -0
- package/dist/interface/chat/cross-platform-session.js.map +1 -1
- package/dist/interface/chat/grounding.d.ts +1 -1
- package/dist/interface/chat/grounding.d.ts.map +1 -1
- package/dist/interface/chat/grounding.js +2 -2
- package/dist/interface/chat/grounding.js.map +1 -1
- package/dist/interface/chat/ingress-router.d.ts +2 -0
- package/dist/interface/chat/ingress-router.d.ts.map +1 -1
- package/dist/interface/chat/ingress-router.js +11 -1
- package/dist/interface/chat/ingress-router.js.map +1 -1
- package/dist/interface/cli/commands/daemon.d.ts.map +1 -1
- package/dist/interface/cli/commands/daemon.js +41 -7
- package/dist/interface/cli/commands/daemon.js.map +1 -1
- package/dist/interface/cli/commands/setup/steps-identity.d.ts.map +1 -1
- package/dist/interface/cli/commands/setup/steps-identity.js +5 -0
- package/dist/interface/cli/commands/setup/steps-identity.js.map +1 -1
- package/dist/interface/cli/commands/setup/steps-runtime.d.ts +2 -0
- package/dist/interface/cli/commands/setup/steps-runtime.d.ts.map +1 -1
- package/dist/interface/cli/commands/setup/steps-runtime.js +11 -2
- package/dist/interface/cli/commands/setup/steps-runtime.js.map +1 -1
- package/dist/interface/cli/setup.d.ts.map +1 -1
- package/dist/interface/cli/setup.js +14 -1
- package/dist/interface/cli/setup.js.map +1 -1
- package/dist/interface/tui/app.d.ts +2 -0
- package/dist/interface/tui/app.d.ts.map +1 -1
- package/dist/interface/tui/app.js +51 -15
- package/dist/interface/tui/app.js.map +1 -1
- package/dist/interface/tui/entry.d.ts.map +1 -1
- package/dist/interface/tui/entry.js +14 -1
- package/dist/interface/tui/entry.js.map +1 -1
- package/dist/orchestrator/execution/adapter-layer.d.ts +2 -0
- package/dist/orchestrator/execution/adapter-layer.d.ts.map +1 -1
- package/dist/orchestrator/execution/adapter-layer.js.map +1 -1
- package/dist/orchestrator/execution/agent-loop/agent-loop-default-profile.d.ts.map +1 -1
- package/dist/orchestrator/execution/agent-loop/agent-loop-default-profile.js +27 -0
- package/dist/orchestrator/execution/agent-loop/agent-loop-default-profile.js.map +1 -1
- package/dist/orchestrator/execution/agent-loop/agent-loop-prompts.d.ts +1 -0
- package/dist/orchestrator/execution/agent-loop/agent-loop-prompts.d.ts.map +1 -1
- package/dist/orchestrator/execution/agent-loop/agent-loop-prompts.js +10 -3
- package/dist/orchestrator/execution/agent-loop/agent-loop-prompts.js.map +1 -1
- package/dist/orchestrator/execution/agent-loop/agent-loop-session-factory.d.ts.map +1 -1
- package/dist/orchestrator/execution/agent-loop/agent-loop-session-factory.js +2 -1
- package/dist/orchestrator/execution/agent-loop/agent-loop-session-factory.js.map +1 -1
- package/dist/orchestrator/execution/agent-loop/agent-loop-turn-context.d.ts +2 -0
- package/dist/orchestrator/execution/agent-loop/agent-loop-turn-context.d.ts.map +1 -1
- package/dist/orchestrator/execution/agent-loop/agent-loop-turn-context.js.map +1 -1
- package/dist/orchestrator/execution/agent-loop/bounded-agent-loop-runner.d.ts.map +1 -1
- package/dist/orchestrator/execution/agent-loop/bounded-agent-loop-runner.js +45 -0
- package/dist/orchestrator/execution/agent-loop/bounded-agent-loop-runner.js.map +1 -1
- package/dist/orchestrator/execution/agent-loop/chat-agent-loop-runner.d.ts +12 -4
- package/dist/orchestrator/execution/agent-loop/chat-agent-loop-runner.d.ts.map +1 -1
- package/dist/orchestrator/execution/agent-loop/chat-agent-loop-runner.js +43 -126
- package/dist/orchestrator/execution/agent-loop/chat-agent-loop-runner.js.map +1 -1
- package/dist/orchestrator/execution/agent-loop/chat-display-output.d.ts +27 -0
- package/dist/orchestrator/execution/agent-loop/chat-display-output.d.ts.map +1 -0
- package/dist/orchestrator/execution/agent-loop/chat-display-output.js +157 -0
- package/dist/orchestrator/execution/agent-loop/chat-display-output.js.map +1 -0
- package/dist/orchestrator/execution/agent-loop/core-phase-runner.d.ts +1 -1
- package/dist/orchestrator/execution/agent-loop/core-phase-runner.d.ts.map +1 -1
- package/dist/orchestrator/execution/agent-loop/core-phase-runner.js.map +1 -1
- package/dist/orchestrator/execution/agent-loop/task-agent-loop-factory.d.ts +2 -0
- package/dist/orchestrator/execution/agent-loop/task-agent-loop-factory.d.ts.map +1 -1
- package/dist/orchestrator/execution/agent-loop/task-agent-loop-factory.js +10 -0
- package/dist/orchestrator/execution/agent-loop/task-agent-loop-factory.js.map +1 -1
- package/dist/orchestrator/goal/goal-suggest.d.ts +4 -4
- package/dist/orchestrator/goal/types/goal-tree.d.ts +2 -2
- package/dist/orchestrator/loop/core-loop/contracts.d.ts +19 -0
- package/dist/orchestrator/loop/core-loop/contracts.d.ts.map +1 -1
- package/dist/orchestrator/loop/core-loop/contracts.js.map +1 -1
- package/dist/orchestrator/loop/core-loop/iteration-kernel.d.ts +1 -0
- package/dist/orchestrator/loop/core-loop/iteration-kernel.d.ts.map +1 -1
- package/dist/orchestrator/loop/core-loop/iteration-kernel.js +61 -2
- package/dist/orchestrator/loop/core-loop/iteration-kernel.js.map +1 -1
- package/dist/orchestrator/loop/core-loop/phase-policy.d.ts.map +1 -1
- package/dist/orchestrator/loop/core-loop/phase-policy.js +24 -0
- package/dist/orchestrator/loop/core-loop/phase-policy.js.map +1 -1
- package/dist/orchestrator/loop/core-loop/phase-specs.d.ts +37 -0
- package/dist/orchestrator/loop/core-loop/phase-specs.d.ts.map +1 -1
- package/dist/orchestrator/loop/core-loop/phase-specs.js +28 -0
- package/dist/orchestrator/loop/core-loop/phase-specs.js.map +1 -1
- package/dist/orchestrator/loop/core-loop/task-cycle.d.ts +12 -0
- package/dist/orchestrator/loop/core-loop/task-cycle.d.ts.map +1 -1
- package/dist/orchestrator/loop/core-loop/task-cycle.js +170 -23
- package/dist/orchestrator/loop/core-loop/task-cycle.js.map +1 -1
- package/dist/orchestrator/loop/core-loop.d.ts +2 -1
- package/dist/orchestrator/loop/core-loop.d.ts.map +1 -1
- package/dist/orchestrator/loop/core-loop.js +3 -0
- package/dist/orchestrator/loop/core-loop.js.map +1 -1
- package/dist/orchestrator/loop/loop-report-helper.d.ts.map +1 -1
- package/dist/orchestrator/loop/loop-report-helper.js +24 -0
- package/dist/orchestrator/loop/loop-report-helper.js.map +1 -1
- package/dist/orchestrator/loop/loop-result-types.d.ts +7 -0
- package/dist/orchestrator/loop/loop-result-types.d.ts.map +1 -1
- package/dist/orchestrator/loop/loop-result-types.js.map +1 -1
- package/dist/orchestrator/strategy/portfolio-manager.d.ts +2 -2
- package/dist/orchestrator/strategy/portfolio-manager.d.ts.map +1 -1
- package/dist/orchestrator/strategy/portfolio-manager.js +11 -1
- package/dist/orchestrator/strategy/portfolio-manager.js.map +1 -1
- package/dist/orchestrator/strategy/portfolio-rebalance.d.ts +4 -2
- package/dist/orchestrator/strategy/portfolio-rebalance.d.ts.map +1 -1
- package/dist/orchestrator/strategy/portfolio-rebalance.js +490 -12
- package/dist/orchestrator/strategy/portfolio-rebalance.js.map +1 -1
- package/dist/orchestrator/strategy/strategy-manager.js +3 -3
- package/dist/orchestrator/strategy/strategy-manager.js.map +1 -1
- package/dist/orchestrator/strategy/types/cross-portfolio.d.ts +2 -2
- package/dist/orchestrator/strategy/types/portfolio.d.ts +12 -12
- package/dist/orchestrator/strategy/types/strategy.d.ts +639 -8
- package/dist/orchestrator/strategy/types/strategy.d.ts.map +1 -1
- package/dist/orchestrator/strategy/types/strategy.js +122 -0
- package/dist/orchestrator/strategy/types/strategy.js.map +1 -1
- package/dist/platform/dream/dream-types.d.ts +52 -52
- package/dist/platform/drive/types/satisficing.d.ts +2 -2
- package/dist/platform/knowledge/types/memory-lifecycle.d.ts +2 -2
- package/dist/platform/observation/observation-helpers.d.ts +2 -2
- package/dist/platform/soil/contracts.d.ts +47 -47
- package/dist/platform/traits/types/curiosity.d.ts +24 -24
- package/dist/prompt/purposes/learning.d.ts +4 -4
- package/dist/reporting/report-formatters.d.ts.map +1 -1
- package/dist/reporting/report-formatters.js +33 -2
- package/dist/reporting/report-formatters.js.map +1 -1
- package/dist/reporting/reporting-engine.d.ts.map +1 -1
- package/dist/reporting/reporting-engine.js +2 -1
- package/dist/reporting/reporting-engine.js.map +1 -1
- package/dist/reporting/reporting-types.d.ts +11 -0
- package/dist/reporting/reporting-types.d.ts.map +1 -1
- package/dist/reporting/types/report.d.ts +72 -4
- package/dist/reporting/types/report.d.ts.map +1 -1
- package/dist/reporting/types/report.js +10 -0
- package/dist/reporting/types/report.js.map +1 -1
- package/dist/runtime/approval-broker.d.ts +1 -1
- package/dist/runtime/approval-broker.d.ts.map +1 -1
- package/dist/runtime/approval-broker.js +1 -2
- package/dist/runtime/approval-broker.js.map +1 -1
- package/dist/runtime/control/index.d.ts +1 -0
- package/dist/runtime/control/index.d.ts.map +1 -1
- package/dist/runtime/control/index.js +1 -0
- package/dist/runtime/control/index.js.map +1 -1
- package/dist/runtime/control/runtime-control-intent.d.ts.map +1 -1
- package/dist/runtime/control/runtime-control-intent.js +0 -8
- package/dist/runtime/control/runtime-control-intent.js.map +1 -1
- package/dist/runtime/control/runtime-control-result-routing.d.ts +28 -0
- package/dist/runtime/control/runtime-control-result-routing.d.ts.map +1 -0
- package/dist/runtime/control/runtime-control-result-routing.js +47 -0
- package/dist/runtime/control/runtime-control-result-routing.js.map +1 -0
- package/dist/runtime/control/runtime-control-service.d.ts +2 -1
- package/dist/runtime/control/runtime-control-service.d.ts.map +1 -1
- package/dist/runtime/control/runtime-control-service.js +32 -4
- package/dist/runtime/control/runtime-control-service.js.map +1 -1
- package/dist/runtime/daemon/index.d.ts +1 -0
- package/dist/runtime/daemon/index.d.ts.map +1 -1
- package/dist/runtime/daemon/index.js +1 -0
- package/dist/runtime/daemon/index.js.map +1 -1
- package/dist/runtime/daemon/runner-goal-cycle.d.ts.map +1 -1
- package/dist/runtime/daemon/runner-goal-cycle.js +55 -8
- package/dist/runtime/daemon/runner-goal-cycle.js.map +1 -1
- package/dist/runtime/daemon/runner-startup.d.ts +2 -1
- package/dist/runtime/daemon/runner-startup.d.ts.map +1 -1
- package/dist/runtime/daemon/runner-startup.js +10 -4
- package/dist/runtime/daemon/runner-startup.js.map +1 -1
- package/dist/runtime/daemon/runner.d.ts +2 -0
- package/dist/runtime/daemon/runner.d.ts.map +1 -1
- package/dist/runtime/daemon/runner.js +15 -1
- package/dist/runtime/daemon/runner.js.map +1 -1
- package/dist/runtime/daemon/wait-deadline-resolver.d.ts +25 -0
- package/dist/runtime/daemon/wait-deadline-resolver.d.ts.map +1 -0
- package/dist/runtime/daemon/wait-deadline-resolver.js +88 -0
- package/dist/runtime/daemon/wait-deadline-resolver.js.map +1 -0
- package/dist/runtime/gateway/chat-session-dispatch.d.ts +1 -0
- package/dist/runtime/gateway/chat-session-dispatch.d.ts.map +1 -1
- package/dist/runtime/gateway/chat-session-dispatch.js +1 -0
- package/dist/runtime/gateway/chat-session-dispatch.js.map +1 -1
- package/dist/runtime/gateway/discord-gateway-adapter.d.ts.map +1 -1
- package/dist/runtime/gateway/discord-gateway-adapter.js +1 -0
- package/dist/runtime/gateway/discord-gateway-adapter.js.map +1 -1
- package/dist/runtime/gateway/signal-gateway-adapter.d.ts.map +1 -1
- package/dist/runtime/gateway/signal-gateway-adapter.js +1 -0
- package/dist/runtime/gateway/signal-gateway-adapter.js.map +1 -1
- package/dist/runtime/gateway/slack-channel-adapter.d.ts +4 -0
- package/dist/runtime/gateway/slack-channel-adapter.d.ts.map +1 -1
- package/dist/runtime/gateway/slack-channel-adapter.js +105 -10
- package/dist/runtime/gateway/slack-channel-adapter.js.map +1 -1
- package/dist/runtime/gateway/telegram-gateway-adapter.d.ts.map +1 -1
- package/dist/runtime/gateway/telegram-gateway-adapter.js +1 -0
- package/dist/runtime/gateway/telegram-gateway-adapter.js.map +1 -1
- package/dist/runtime/gateway/whatsapp-gateway-adapter.d.ts.map +1 -1
- package/dist/runtime/gateway/whatsapp-gateway-adapter.js +1 -0
- package/dist/runtime/gateway/whatsapp-gateway-adapter.js.map +1 -1
- package/dist/runtime/store/runtime-operation-schemas.d.ts +48 -8
- package/dist/runtime/store/runtime-operation-schemas.d.ts.map +1 -1
- package/dist/runtime/store/runtime-operation-schemas.js +5 -0
- package/dist/runtime/store/runtime-operation-schemas.js.map +1 -1
- package/dist/runtime/store/runtime-schemas.d.ts +6 -6
- package/dist/runtime/types/cron.d.ts +4 -4
- package/dist/runtime/types/daemon.d.ts +57 -0
- package/dist/runtime/types/daemon.d.ts.map +1 -1
- package/dist/runtime/types/daemon.js +13 -0
- package/dist/runtime/types/daemon.js.map +1 -1
- package/dist/runtime/types/envelope.d.ts +2 -2
- package/dist/runtime/types/notification.d.ts +1 -1
- package/dist/tools/query/ArchitectureTool/ArchitectureTool.js +1 -1
- package/dist/tools/query/ArchitectureTool/ArchitectureTool.js.map +1 -1
- package/dist/tools/system/ProcessSessionTool/ProcessSessionTool.d.ts +35 -7
- package/dist/tools/system/ProcessSessionTool/ProcessSessionTool.d.ts.map +1 -1
- package/dist/tools/system/ProcessSessionTool/ProcessSessionTool.js +128 -3
- package/dist/tools/system/ProcessSessionTool/ProcessSessionTool.js.map +1 -1
- package/package.json +1 -1
|
@@ -23,6 +23,16 @@ export const ReportSchema = z.object({
|
|
|
23
23
|
task_id: z.string().nullable().optional(),
|
|
24
24
|
task_action: z.string().nullable().optional(),
|
|
25
25
|
task_verification_diffs: z.array(VerificationFileDiffSchema).optional(),
|
|
26
|
+
wait_status: z.object({
|
|
27
|
+
strategyId: z.string().optional(),
|
|
28
|
+
status: z.string(),
|
|
29
|
+
details: z.string().optional(),
|
|
30
|
+
approvalId: z.string().optional(),
|
|
31
|
+
observeOnly: z.boolean().optional(),
|
|
32
|
+
suppressed: z.boolean().optional(),
|
|
33
|
+
expired: z.boolean().optional(),
|
|
34
|
+
skipReason: z.string().optional(),
|
|
35
|
+
}).nullable().optional(),
|
|
26
36
|
loops_run: z.number().optional(),
|
|
27
37
|
stall_count: z.number().optional(),
|
|
28
38
|
pivot_count: z.number().optional(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"report.js","sourceRoot":"","sources":["../../../src/reporting/types/report.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9E,OAAO,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AAEtE,iBAAiB;AAEjB,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC;IACnC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,WAAW,EAAE,cAAc;IAC3B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IAC5C,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,SAAS,EAAE,kBAAkB,CAAC,OAAO,CAAC,UAAU,CAAC;IACjD,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE;IACxB,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IACjD,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IAChC,+EAA+E;IAC/E,QAAQ,EAAE,CAAC;SACR,MAAM,CAAC;QACN,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QACjC,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QACpC,cAAc,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;QACtC,cAAc,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;QACtC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QACjC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;QACzC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;QAC7C,uBAAuB,EAAE,CAAC,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC,QAAQ,EAAE;QACvE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAChC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAClC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAClC,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QACtC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAClC,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QACnC,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KACpC,CAAC;SACD,QAAQ,EAAE;CACd,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"report.js","sourceRoot":"","sources":["../../../src/reporting/types/report.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9E,OAAO,EAAE,0BAA0B,EAAE,MAAM,0BAA0B,CAAC;AAEtE,iBAAiB;AAEjB,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC;IACnC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,WAAW,EAAE,cAAc;IAC3B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IAC5C,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;IACjB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,SAAS,EAAE,kBAAkB,CAAC,OAAO,CAAC,UAAU,CAAC;IACjD,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE;IACxB,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IACjD,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IAChC,+EAA+E;IAC/E,QAAQ,EAAE,CAAC;SACR,MAAM,CAAC;QACN,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QACjC,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QACpC,cAAc,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;QACtC,cAAc,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;QACtC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QACjC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;QACzC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;QAC7C,uBAAuB,EAAE,CAAC,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC,QAAQ,EAAE;QACvE,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACpB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YACjC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;YAClB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YAC9B,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YACjC,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;YACnC,UAAU,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;YAClC,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;YAC/B,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;SAClC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;QACxB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAChC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAClC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAClC,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QACtC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAClC,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QACnC,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KACpC,CAAC;SACD,QAAQ,EAAE;CACd,CAAC,CAAC"}
|
|
@@ -33,7 +33,7 @@ export declare class ApprovalBroker {
|
|
|
33
33
|
setBroadcast(broadcast: (eventType: string, data: unknown) => void): void;
|
|
34
34
|
start(): Promise<void>;
|
|
35
35
|
stop(): Promise<void>;
|
|
36
|
-
requestApproval(goalId: string, task: ApprovalTaskRequest, timeoutMs?: number): Promise<boolean>;
|
|
36
|
+
requestApproval(goalId: string, task: ApprovalTaskRequest, timeoutMs?: number, approvalId?: string): Promise<boolean>;
|
|
37
37
|
resolveApproval(approvalId: string, approved: boolean, responseChannel?: string): Promise<boolean>;
|
|
38
38
|
getPendingApprovalEvents(): ApprovalRequiredEvent[];
|
|
39
39
|
private trackPending;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"approval-broker.d.ts","sourceRoot":"","sources":["../../src/runtime/approval-broker.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAG1D,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,mBAAmB,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,aAAa,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACvD,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAUD,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAgB;IACtC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAS;IACjC,OAAO,CAAC,SAAS,CAAC,CAA6C;IAC/D,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAe;IACnC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAe;IACxC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAS;IAC1C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA6C;IACrE,OAAO,CAAC,OAAO,CAAS;gBAEZ,OAAO,EAAE,qBAAqB;IAW1C,YAAY,CAAC,SAAS,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,KAAK,IAAI,GAAG,IAAI;IAInE,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAqBtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAQrB,eAAe,CACnB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,mBAAmB,EACzB,SAAS,SAAwB,
|
|
1
|
+
{"version":3,"file":"approval-broker.d.ts","sourceRoot":"","sources":["../../src/runtime/approval-broker.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAG1D,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,mBAAmB,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,aAAa,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACvD,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAUD,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAgB;IACtC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAS;IACjC,OAAO,CAAC,SAAS,CAAC,CAA6C;IAC/D,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAe;IACnC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAe;IACxC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAS;IAC1C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA6C;IACrE,OAAO,CAAC,OAAO,CAAS;gBAEZ,OAAO,EAAE,qBAAqB;IAW1C,YAAY,CAAC,SAAS,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,KAAK,IAAI,GAAG,IAAI;IAInE,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAqBtB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAQrB,eAAe,CACnB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,mBAAmB,EACzB,SAAS,SAAwB,EACjC,UAAU,SAAkB,GAC3B,OAAO,CAAC,OAAO,CAAC;IAqCb,eAAe,CACnB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,OAAO,EACjB,eAAe,SAAS,GACvB,OAAO,CAAC,OAAO,CAAC;IASnB,wBAAwB,IAAI,qBAAqB,EAAE;IAOnD,OAAO,CAAC,YAAY;YA4BN,gBAAgB;IA6C9B,OAAO,CAAC,oBAAoB;IAI5B,OAAO,CAAC,uBAAuB;CAUhC"}
|
|
@@ -46,10 +46,9 @@ export class ApprovalBroker {
|
|
|
46
46
|
this.pending.clear();
|
|
47
47
|
this.started = false;
|
|
48
48
|
}
|
|
49
|
-
async requestApproval(goalId, task, timeoutMs = this.defaultTimeoutMs) {
|
|
49
|
+
async requestApproval(goalId, task, timeoutMs = this.defaultTimeoutMs, approvalId = this.createId()) {
|
|
50
50
|
await this.start();
|
|
51
51
|
const createdAt = this.now();
|
|
52
|
-
const approvalId = this.createId();
|
|
53
52
|
const record = {
|
|
54
53
|
approval_id: approvalId,
|
|
55
54
|
goal_id: goalId,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"approval-broker.js","sourceRoot":"","sources":["../../src/runtime/approval-broker.ts"],"names":[],"mappings":"AAmCA,MAAM,OAAO,cAAc;IACR,KAAK,CAAgB;IACrB,MAAM,CAAU;IACzB,SAAS,CAA8C;IAC9C,GAAG,CAAe;IAClB,QAAQ,CAAe;IACvB,gBAAgB,CAAS;IACzB,OAAO,GAAG,IAAI,GAAG,EAAkC,CAAC;IAC7D,OAAO,GAAG,KAAK,CAAC;IAExB,YAAY,OAA8B;QACxC,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QAC7C,IAAI,CAAC,QAAQ;YACX,OAAO,CAAC,QAAQ;gBAChB,CAAC,GAAG,EAAE,CAAC,YAAY,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;QAC7E,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;IACpE,CAAC;IAED,YAAY,CAAC,SAAqD;QAChE,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,KAAK;QACT,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,OAAO;QACT,CAAC;QACD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QAEpB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;QAC/C,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,IAAI,MAAM,CAAC,UAAU,IAAI,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;gBACpC,MAAM,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,WAAW,EAAE;oBAC9C,KAAK,EAAE,SAAS;oBAChB,QAAQ,EAAE,KAAK;oBACf,MAAM,EAAE,SAAS;oBACjB,eAAe,EAAE,QAAQ;iBAC1B,CAAC,CAAC;gBACH,SAAS;YACX,CAAC;YACD,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;IAED,KAAK,CAAC,IAAI;QACR,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;YAC5C,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,eAAe,CACnB,MAAc,EACd,IAAyB,EACzB,SAAS,GAAG,IAAI,CAAC,gBAAgB
|
|
1
|
+
{"version":3,"file":"approval-broker.js","sourceRoot":"","sources":["../../src/runtime/approval-broker.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,7 @@ export { recognizeRuntimeControlIntent } from "./runtime-control-intent.js";
|
|
|
2
2
|
export type { RuntimeControlIntent } from "./runtime-control-intent.js";
|
|
3
3
|
export { RuntimeControlService } from "./runtime-control-service.js";
|
|
4
4
|
export { createDaemonRuntimeControlExecutor } from "./daemon-runtime-control-executor.js";
|
|
5
|
+
export { publishRuntimeControlResult, toRuntimeControlResultPayload, } from "./runtime-control-result-routing.js";
|
|
5
6
|
export type { DaemonRuntimeControlExecutorOptions, DaemonRuntimeControlRequestBody, } from "./daemon-runtime-control-executor.js";
|
|
6
7
|
export type { RuntimeControlExecutor, RuntimeControlExecutorResult, RuntimeControlRequest, RuntimeControlResult, RuntimeControlServiceOptions, } from "./runtime-control-service.js";
|
|
7
8
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/runtime/control/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAAE,MAAM,6BAA6B,CAAC;AAC5E,YAAY,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,kCAAkC,EAAE,MAAM,sCAAsC,CAAC;AAC1F,YAAY,EACV,mCAAmC,EACnC,+BAA+B,GAChC,MAAM,sCAAsC,CAAC;AAC9C,YAAY,EACV,sBAAsB,EACtB,4BAA4B,EAC5B,qBAAqB,EACrB,oBAAoB,EACpB,4BAA4B,GAC7B,MAAM,8BAA8B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/runtime/control/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAAE,MAAM,6BAA6B,CAAC;AAC5E,YAAY,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACxE,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,kCAAkC,EAAE,MAAM,sCAAsC,CAAC;AAC1F,OAAO,EACL,2BAA2B,EAC3B,6BAA6B,GAC9B,MAAM,qCAAqC,CAAC;AAC7C,YAAY,EACV,mCAAmC,EACnC,+BAA+B,GAChC,MAAM,sCAAsC,CAAC;AAC9C,YAAY,EACV,sBAAsB,EACtB,4BAA4B,EAC5B,qBAAqB,EACrB,oBAAoB,EACpB,4BAA4B,GAC7B,MAAM,8BAA8B,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export { recognizeRuntimeControlIntent } from "./runtime-control-intent.js";
|
|
2
2
|
export { RuntimeControlService } from "./runtime-control-service.js";
|
|
3
3
|
export { createDaemonRuntimeControlExecutor } from "./daemon-runtime-control-executor.js";
|
|
4
|
+
export { publishRuntimeControlResult, toRuntimeControlResultPayload, } from "./runtime-control-result-routing.js";
|
|
4
5
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/runtime/control/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAAE,MAAM,6BAA6B,CAAC;AAE5E,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,kCAAkC,EAAE,MAAM,sCAAsC,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/runtime/control/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAAE,MAAM,6BAA6B,CAAC;AAE5E,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,kCAAkC,EAAE,MAAM,sCAAsC,CAAC;AAC1F,OAAO,EACL,2BAA2B,EAC3B,6BAA6B,GAC9B,MAAM,qCAAqC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime-control-intent.d.ts","sourceRoot":"","sources":["../../../src/runtime/control/runtime-control-intent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,uCAAuC,CAAC;AAEzF,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,2BAA2B,CAAC;IAClC,MAAM,EAAE,MAAM,CAAC;CAChB;
|
|
1
|
+
{"version":3,"file":"runtime-control-intent.d.ts","sourceRoot":"","sources":["../../../src/runtime/control/runtime-control-intent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,uCAAuC,CAAC;AAEzF,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,2BAA2B,CAAC;IAClC,MAAM,EAAE,MAAM,CAAC;CAChB;AAUD,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,MAAM,GAAG,oBAAoB,GAAG,IAAI,CAcxF"}
|
|
@@ -1,6 +1,4 @@
|
|
|
1
1
|
const RESTART_TERMS = [/再起動/, /リスタート/i, /\brestart\b/i];
|
|
2
|
-
const UPDATE_TERMS = [/更新/, /最新版/, /\bupdate\b/i, /\bupgrade\b/i];
|
|
3
|
-
const RELOAD_TERMS = [/読み直/, /再読/, /\breload\b/i];
|
|
4
2
|
const RUNTIME_TERMS = [/pulseed/i, /daemon/i, /gateway/i, /runtime/i, /自身/, /自分/];
|
|
5
3
|
const EXPLANATION_TERMS = [/設計/, /説明/, /教えて/, /どう/, /\bexplain\b/i, /\bhow\b/i, /\bwhy\b/i];
|
|
6
4
|
function anyMatch(input, patterns) {
|
|
@@ -14,12 +12,6 @@ export function recognizeRuntimeControlIntent(input) {
|
|
|
14
12
|
return null;
|
|
15
13
|
if (!anyMatch(trimmed, RUNTIME_TERMS))
|
|
16
14
|
return null;
|
|
17
|
-
if (anyMatch(trimmed, UPDATE_TERMS)) {
|
|
18
|
-
return { kind: "self_update", reason: trimmed };
|
|
19
|
-
}
|
|
20
|
-
if (anyMatch(trimmed, RELOAD_TERMS) && /config|設定|env/i.test(trimmed)) {
|
|
21
|
-
return { kind: "reload_config", reason: trimmed };
|
|
22
|
-
}
|
|
23
15
|
if (anyMatch(trimmed, RESTART_TERMS)) {
|
|
24
16
|
if (/gateway/i.test(trimmed)) {
|
|
25
17
|
return { kind: "restart_gateway", reason: trimmed };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime-control-intent.js","sourceRoot":"","sources":["../../../src/runtime/control/runtime-control-intent.ts"],"names":[],"mappings":"AAOA,MAAM,aAAa,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC;AACxD,MAAM,
|
|
1
|
+
{"version":3,"file":"runtime-control-intent.js","sourceRoot":"","sources":["../../../src/runtime/control/runtime-control-intent.ts"],"names":[],"mappings":"AAOA,MAAM,aAAa,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC;AACxD,MAAM,aAAa,GAAG,CAAC,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAClF,MAAM,iBAAiB,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,cAAc,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;AAE5F,SAAS,QAAQ,CAAC,KAAa,EAAE,QAAkB;IACjD,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;AACzD,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,KAAa;IACzD,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAC1B,IAAI,QAAQ,CAAC,OAAO,EAAE,iBAAiB,CAAC;QAAE,OAAO,IAAI,CAAC;IACtD,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC;QAAE,OAAO,IAAI,CAAC;IAEnD,IAAI,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC,EAAE,CAAC;QACrC,IAAI,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YAC7B,OAAO,EAAE,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;QACtD,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;IACrD,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { OutboxStore } from "../store/outbox-store.js";
|
|
2
|
+
import type { RuntimeControlOperation } from "../store/runtime-operation-schemas.js";
|
|
3
|
+
export interface RuntimeControlResultEventPublisher {
|
|
4
|
+
broadcast(eventType: string, data: unknown): Promise<void> | void;
|
|
5
|
+
}
|
|
6
|
+
export interface PublishRuntimeControlResultOptions {
|
|
7
|
+
operation: RuntimeControlOperation;
|
|
8
|
+
publisher?: RuntimeControlResultEventPublisher;
|
|
9
|
+
outboxStore?: OutboxStore;
|
|
10
|
+
runtimeRoot?: string | null;
|
|
11
|
+
now?: () => number;
|
|
12
|
+
}
|
|
13
|
+
export interface RuntimeControlResultPayload {
|
|
14
|
+
operationId: string;
|
|
15
|
+
operation_id: string;
|
|
16
|
+
kind: RuntimeControlOperation["kind"];
|
|
17
|
+
state: RuntimeControlOperation["state"];
|
|
18
|
+
ok: boolean;
|
|
19
|
+
message: string;
|
|
20
|
+
daemon_status?: string;
|
|
21
|
+
health_error?: string;
|
|
22
|
+
requested_by: RuntimeControlOperation["requested_by"];
|
|
23
|
+
reply_target: RuntimeControlOperation["reply_target"];
|
|
24
|
+
completed_at?: string;
|
|
25
|
+
}
|
|
26
|
+
export declare function publishRuntimeControlResult(options: PublishRuntimeControlResultOptions): Promise<void>;
|
|
27
|
+
export declare function toRuntimeControlResultPayload(operation: RuntimeControlOperation): RuntimeControlResultPayload;
|
|
28
|
+
//# sourceMappingURL=runtime-control-result-routing.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime-control-result-routing.d.ts","sourceRoot":"","sources":["../../../src/runtime/control/runtime-control-result-routing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,uCAAuC,CAAC;AAErF,MAAM,WAAW,kCAAkC;IACjD,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CACnE;AAED,MAAM,WAAW,kCAAkC;IACjD,SAAS,EAAE,uBAAuB,CAAC;IACnC,SAAS,CAAC,EAAE,kCAAkC,CAAC;IAC/C,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,2BAA2B;IAC1C,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,uBAAuB,CAAC,MAAM,CAAC,CAAC;IACtC,KAAK,EAAE,uBAAuB,CAAC,OAAO,CAAC,CAAC;IACxC,EAAE,EAAE,OAAO,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,uBAAuB,CAAC,cAAc,CAAC,CAAC;IACtD,YAAY,EAAE,uBAAuB,CAAC,cAAc,CAAC,CAAC;IACtD,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,wBAAsB,2BAA2B,CAC/C,OAAO,EAAE,kCAAkC,GAC1C,OAAO,CAAC,IAAI,CAAC,CA+Bf;AAED,wBAAgB,6BAA6B,CAC3C,SAAS,EAAE,uBAAuB,GACjC,2BAA2B,CAc7B"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { OutboxStore } from "../store/outbox-store.js";
|
|
2
|
+
export async function publishRuntimeControlResult(options) {
|
|
3
|
+
const payload = toRuntimeControlResultPayload(options.operation);
|
|
4
|
+
const chatResponse = {
|
|
5
|
+
goalId: `runtime_control:${payload.operation_id}`,
|
|
6
|
+
goal_id: `runtime_control:${payload.operation_id}`,
|
|
7
|
+
message: payload.message,
|
|
8
|
+
status: payload.ok ? "verified" : "failed",
|
|
9
|
+
reply_target: payload.reply_target,
|
|
10
|
+
runtime_control: payload,
|
|
11
|
+
};
|
|
12
|
+
if (options.publisher) {
|
|
13
|
+
await options.publisher.broadcast("runtime_control_result", payload);
|
|
14
|
+
await options.publisher.broadcast("chat_response", chatResponse);
|
|
15
|
+
return;
|
|
16
|
+
}
|
|
17
|
+
const outboxStore = options.outboxStore ?? new OutboxStore(options.runtimeRoot ?? undefined);
|
|
18
|
+
const createdAt = options.now?.() ?? Date.now();
|
|
19
|
+
await outboxStore.append({
|
|
20
|
+
event_type: "runtime_control_result",
|
|
21
|
+
correlation_id: payload.operation_id,
|
|
22
|
+
created_at: createdAt,
|
|
23
|
+
payload,
|
|
24
|
+
});
|
|
25
|
+
await outboxStore.append({
|
|
26
|
+
event_type: "chat_response",
|
|
27
|
+
correlation_id: payload.operation_id,
|
|
28
|
+
created_at: options.now?.() ?? Date.now(),
|
|
29
|
+
payload: chatResponse,
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
export function toRuntimeControlResultPayload(operation) {
|
|
33
|
+
return {
|
|
34
|
+
operationId: operation.operation_id,
|
|
35
|
+
operation_id: operation.operation_id,
|
|
36
|
+
kind: operation.kind,
|
|
37
|
+
state: operation.state,
|
|
38
|
+
ok: operation.result?.ok ?? false,
|
|
39
|
+
message: operation.result?.message ?? "Runtime control operation completed.",
|
|
40
|
+
daemon_status: operation.result?.daemon_status,
|
|
41
|
+
health_error: operation.result?.health_error,
|
|
42
|
+
requested_by: operation.requested_by,
|
|
43
|
+
reply_target: operation.reply_target,
|
|
44
|
+
completed_at: operation.completed_at,
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=runtime-control-result-routing.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime-control-result-routing.js","sourceRoot":"","sources":["../../../src/runtime/control/runtime-control-result-routing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AA6BvD,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC/C,OAA2C;IAE3C,MAAM,OAAO,GAAG,6BAA6B,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACjE,MAAM,YAAY,GAAG;QACnB,MAAM,EAAE,mBAAmB,OAAO,CAAC,YAAY,EAAE;QACjD,OAAO,EAAE,mBAAmB,OAAO,CAAC,YAAY,EAAE;QAClD,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ;QAC1C,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,eAAe,EAAE,OAAO;KACzB,CAAC;IAEF,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;QACtB,MAAM,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC,wBAAwB,EAAE,OAAO,CAAC,CAAC;QACrE,MAAM,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC,eAAe,EAAE,YAAY,CAAC,CAAC;QACjE,OAAO;IACT,CAAC;IAED,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,IAAI,WAAW,CAAC,OAAO,CAAC,WAAW,IAAI,SAAS,CAAC,CAAC;IAC7F,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;IAChD,MAAM,WAAW,CAAC,MAAM,CAAC;QACvB,UAAU,EAAE,wBAAwB;QACpC,cAAc,EAAE,OAAO,CAAC,YAAY;QACpC,UAAU,EAAE,SAAS;QACrB,OAAO;KACR,CAAC,CAAC;IACH,MAAM,WAAW,CAAC,MAAM,CAAC;QACvB,UAAU,EAAE,eAAe;QAC3B,cAAc,EAAE,OAAO,CAAC,YAAY;QACpC,UAAU,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,IAAI,CAAC,GAAG,EAAE;QACzC,OAAO,EAAE,YAAY;KACtB,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,6BAA6B,CAC3C,SAAkC;IAElC,OAAO;QACL,WAAW,EAAE,SAAS,CAAC,YAAY;QACnC,YAAY,EAAE,SAAS,CAAC,YAAY;QACpC,IAAI,EAAE,SAAS,CAAC,IAAI;QACpB,KAAK,EAAE,SAAS,CAAC,KAAK;QACtB,EAAE,EAAE,SAAS,CAAC,MAAM,EAAE,EAAE,IAAI,KAAK;QACjC,OAAO,EAAE,SAAS,CAAC,MAAM,EAAE,OAAO,IAAI,sCAAsC;QAC5E,aAAa,EAAE,SAAS,CAAC,MAAM,EAAE,aAAa;QAC9C,YAAY,EAAE,SAAS,CAAC,MAAM,EAAE,YAAY;QAC5C,YAAY,EAAE,SAAS,CAAC,YAAY;QACpC,YAAY,EAAE,SAAS,CAAC,YAAY;QACpC,YAAY,EAAE,SAAS,CAAC,YAAY;KACrC,CAAC;AACJ,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { RuntimeOperationStore } from "../store/runtime-operation-store.js";
|
|
2
|
-
import type { RuntimeControlActor, RuntimeControlOperation, RuntimeControlOperationState, RuntimeControlReplyTarget } from "../store/runtime-operation-schemas.js";
|
|
2
|
+
import type { RuntimeControlActor, RuntimeControlOperation, RuntimeControlOperationKind, RuntimeControlOperationState, RuntimeControlReplyTarget } from "../store/runtime-operation-schemas.js";
|
|
3
3
|
import type { RuntimeControlIntent } from "./runtime-control-intent.js";
|
|
4
4
|
export interface RuntimeControlRequest {
|
|
5
5
|
intent: RuntimeControlIntent;
|
|
@@ -41,4 +41,5 @@ export declare class RuntimeControlService {
|
|
|
41
41
|
private update;
|
|
42
42
|
private nowIso;
|
|
43
43
|
}
|
|
44
|
+
export declare function isExecutableRuntimeControlKind(kind: RuntimeControlOperationKind): kind is Extract<RuntimeControlOperationKind, "restart_daemon" | "restart_gateway">;
|
|
44
45
|
//# sourceMappingURL=runtime-control-service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime-control-service.d.ts","sourceRoot":"","sources":["../../../src/runtime/control/runtime-control-service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAC5E,OAAO,KAAK,EACV,mBAAmB,EACnB,uBAAuB,
|
|
1
|
+
{"version":3,"file":"runtime-control-service.d.ts","sourceRoot":"","sources":["../../../src/runtime/control/runtime-control-service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAC5E,OAAO,KAAK,EACV,mBAAmB,EACnB,uBAAuB,EACvB,2BAA2B,EAC3B,4BAA4B,EAC5B,yBAAyB,EAC1B,MAAM,uCAAuC,CAAC;AAC/C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAExE,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,oBAAoB,CAAC;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,CAAC,EAAE,mBAAmB,CAAC;IAClC,WAAW,CAAC,EAAE,yBAAyB,CAAC;IACxC,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CACnD;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,4BAA4B,CAAC;CACtC;AAED,MAAM,WAAW,4BAA4B;IAC3C,EAAE,EAAE,OAAO,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,4BAA4B,CAAC;CACtC;AAED,MAAM,MAAM,sBAAsB,GAAG,CACnC,SAAS,EAAE,uBAAuB,EAClC,OAAO,EAAE,qBAAqB,KAC3B,OAAO,CAAC,4BAA4B,CAAC,CAAC;AAE3C,MAAM,WAAW,4BAA4B;IAC3C,cAAc,CAAC,EAAE,qBAAqB,CAAC;IACvC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,sBAAsB,CAAC;IAClC,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;CAClB;AAMD,qBAAa,qBAAqB;IAChC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAwB;IACvD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAyB;IACnD,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAa;gBAErB,OAAO,GAAE,4BAAiC;IAMhD,OAAO,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,oBAAoB,CAAC;YAiB9D,sBAAsB;YAiBtB,iBAAiB;IAuC/B,OAAO,CAAC,WAAW;YAOL,4BAA4B;YA+B5B,QAAQ;IAYtB,OAAO,CAAC,QAAQ;YASF,MAAM;IAcpB,OAAO,CAAC,MAAM;CAGf;AAED,wBAAgB,8BAA8B,CAC5C,IAAI,EAAE,2BAA2B,GAChC,IAAI,IAAI,OAAO,CAAC,2BAA2B,EAAE,gBAAgB,GAAG,iBAAiB,CAAC,CAEpF"}
|
|
@@ -10,6 +10,13 @@ export class RuntimeControlService {
|
|
|
10
10
|
this.now = options.now ?? (() => new Date());
|
|
11
11
|
}
|
|
12
12
|
async request(request) {
|
|
13
|
+
if (!isExecutableRuntimeControlKind(request.intent.kind)) {
|
|
14
|
+
return {
|
|
15
|
+
success: false,
|
|
16
|
+
message: `Runtime control operation ${request.intent.kind} is not supported by the production executor.`,
|
|
17
|
+
state: "failed",
|
|
18
|
+
};
|
|
19
|
+
}
|
|
13
20
|
const initial = await this.createInitialOperation(request);
|
|
14
21
|
const approved = await this.approveIfRequired(initial, request.approvalFn);
|
|
15
22
|
if (!approved.ok)
|
|
@@ -26,7 +33,7 @@ export class RuntimeControlService {
|
|
|
26
33
|
requested_at: requestedAt,
|
|
27
34
|
updated_at: requestedAt,
|
|
28
35
|
requested_by: request.requestedBy ?? { surface: "chat" },
|
|
29
|
-
reply_target: request.replyTarget ?? { surface: "chat" },
|
|
36
|
+
reply_target: normalizeReplyTarget(request.replyTarget ?? { surface: "chat" }),
|
|
30
37
|
reason: request.intent.reason,
|
|
31
38
|
expected_health: expectedHealthFor(request.intent.kind),
|
|
32
39
|
};
|
|
@@ -116,13 +123,34 @@ export class RuntimeControlService {
|
|
|
116
123
|
return this.now().toISOString();
|
|
117
124
|
}
|
|
118
125
|
}
|
|
126
|
+
export function isExecutableRuntimeControlKind(kind) {
|
|
127
|
+
return kind === "restart_daemon" || kind === "restart_gateway";
|
|
128
|
+
}
|
|
119
129
|
function requiresApproval(kind) {
|
|
120
|
-
return kind
|
|
130
|
+
return isExecutableRuntimeControlKind(kind);
|
|
131
|
+
}
|
|
132
|
+
function normalizeReplyTarget(target) {
|
|
133
|
+
return {
|
|
134
|
+
...target,
|
|
135
|
+
channel: target.channel ?? defaultChannelForSurface(target.surface),
|
|
136
|
+
};
|
|
137
|
+
}
|
|
138
|
+
function defaultChannelForSurface(surface) {
|
|
139
|
+
switch (surface) {
|
|
140
|
+
case "gateway":
|
|
141
|
+
return "plugin_gateway";
|
|
142
|
+
case "cli":
|
|
143
|
+
case "tui":
|
|
144
|
+
return surface;
|
|
145
|
+
case "chat":
|
|
146
|
+
case undefined:
|
|
147
|
+
return undefined;
|
|
148
|
+
}
|
|
121
149
|
}
|
|
122
150
|
function expectedHealthFor(kind) {
|
|
123
151
|
return {
|
|
124
|
-
daemon_ping: kind
|
|
125
|
-
gateway_acceptance: kind
|
|
152
|
+
daemon_ping: isExecutableRuntimeControlKind(kind),
|
|
153
|
+
gateway_acceptance: isExecutableRuntimeControlKind(kind),
|
|
126
154
|
};
|
|
127
155
|
}
|
|
128
156
|
function approvalReason(kind, reason) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime-control-service.js","sourceRoot":"","sources":["../../../src/runtime/control/runtime-control-service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AA+C5E,MAAM,OAAO,qBAAqB;IACf,cAAc,CAAwB;IACtC,QAAQ,CAA0B;IAClC,GAAG,CAAa;IAEjC,YAAY,UAAwC,EAAE;QACpD,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,IAAI,IAAI,qBAAqB,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAC/F,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,OAA8B;QAC1C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;QAC3D,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;QAC3E,IAAI,CAAC,QAAQ,CAAC,EAAE;YAAE,OAAO,QAAQ,CAAC,MAAM,CAAC;QAEzC,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAChE,OAAO,IAAI,CAAC,4BAA4B,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IAClE,CAAC;IAEO,KAAK,CAAC,sBAAsB,CAAC,OAA8B;QACjE,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAClC,MAAM,SAAS,GAA4B;YACzC,YAAY,EAAE,UAAU,EAAE;YAC1B,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI;YACzB,KAAK,EAAE,SAAS;YAChB,YAAY,EAAE,WAAW;YACzB,UAAU,EAAE,WAAW;YACvB,YAAY,EAAE,OAAO,CAAC,WAAW,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE;YACxD,YAAY,EAAE,OAAO,CAAC,WAAW,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE;
|
|
1
|
+
{"version":3,"file":"runtime-control-service.js","sourceRoot":"","sources":["../../../src/runtime/control/runtime-control-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,7 @@ export type { ShutdownMarker } from "./types.js";
|
|
|
4
4
|
export * from "./runtime-ownership.js";
|
|
5
5
|
export * from "./runner-lifecycle.js";
|
|
6
6
|
export * from "./signals.js";
|
|
7
|
+
export * from "./wait-deadline-resolver.js";
|
|
7
8
|
export { checkCrashRecoveryMarker, cleanupDaemonRun, deleteShutdownMarkerFile, loadDaemonStateFile, readShutdownMarkerFile, restoreInterruptedGoals, saveDaemonStateFile, writeShutdownMarkerFile, } from "./persistence.js";
|
|
8
9
|
export { collectGoalCycleScheduleSnapshot, determineActiveGoalsForCycle, expireOldCronTasks, getMaxGapScoreForGoals, getNextIntervalForGoals, processCronTasksForDaemon, processScheduleEntriesForDaemon, runRuntimeStoreMaintenanceCycle, runProactiveMaintenance, runSupervisorMaintenanceCycleForDaemon, writeChatMessageEvent, } from "./maintenance.js";
|
|
9
10
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/runtime/daemon/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,YAAY,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACjD,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,cAAc,CAAC;AAC7B,OAAO,EACL,wBAAwB,EACxB,gBAAgB,EAChB,wBAAwB,EACxB,mBAAmB,EACnB,sBAAsB,EACtB,uBAAuB,EACvB,mBAAmB,EACnB,uBAAuB,GACxB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,gCAAgC,EAChC,4BAA4B,EAC5B,kBAAkB,EAClB,sBAAsB,EACtB,uBAAuB,EACvB,yBAAyB,EACzB,+BAA+B,EAC/B,+BAA+B,EAC/B,uBAAuB,EACvB,sCAAsC,EACtC,qBAAqB,GACtB,MAAM,kBAAkB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/runtime/daemon/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,YAAY,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACjD,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,cAAc,CAAC;AAC7B,cAAc,6BAA6B,CAAC;AAC5C,OAAO,EACL,wBAAwB,EACxB,gBAAgB,EAChB,wBAAwB,EACxB,mBAAmB,EACnB,sBAAsB,EACtB,uBAAuB,EACvB,mBAAmB,EACnB,uBAAuB,GACxB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,gCAAgC,EAChC,4BAA4B,EAC5B,kBAAkB,EAClB,sBAAsB,EACtB,uBAAuB,EACvB,yBAAyB,EACzB,+BAA+B,EAC/B,+BAA+B,EAC/B,uBAAuB,EACvB,sCAAsC,EACtC,qBAAqB,GACtB,MAAM,kBAAkB,CAAC"}
|
|
@@ -3,6 +3,7 @@ export * from "./health.js";
|
|
|
3
3
|
export * from "./runtime-ownership.js";
|
|
4
4
|
export * from "./runner-lifecycle.js";
|
|
5
5
|
export * from "./signals.js";
|
|
6
|
+
export * from "./wait-deadline-resolver.js";
|
|
6
7
|
export { checkCrashRecoveryMarker, cleanupDaemonRun, deleteShutdownMarkerFile, loadDaemonStateFile, readShutdownMarkerFile, restoreInterruptedGoals, saveDaemonStateFile, writeShutdownMarkerFile, } from "./persistence.js";
|
|
7
8
|
export { collectGoalCycleScheduleSnapshot, determineActiveGoalsForCycle, expireOldCronTasks, getMaxGapScoreForGoals, getNextIntervalForGoals, processCronTasksForDaemon, processScheduleEntriesForDaemon, runRuntimeStoreMaintenanceCycle, runProactiveMaintenance, runSupervisorMaintenanceCycleForDaemon, writeChatMessageEvent, } from "./maintenance.js";
|
|
8
9
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/runtime/daemon/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAE5B,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,cAAc,CAAC;AAC7B,OAAO,EACL,wBAAwB,EACxB,gBAAgB,EAChB,wBAAwB,EACxB,mBAAmB,EACnB,sBAAsB,EACtB,uBAAuB,EACvB,mBAAmB,EACnB,uBAAuB,GACxB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,gCAAgC,EAChC,4BAA4B,EAC5B,kBAAkB,EAClB,sBAAsB,EACtB,uBAAuB,EACvB,yBAAyB,EACzB,+BAA+B,EAC/B,+BAA+B,EAC/B,uBAAuB,EACvB,sCAAsC,EACtC,qBAAqB,GACtB,MAAM,kBAAkB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/runtime/daemon/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAE5B,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,cAAc,CAAC;AAC7B,cAAc,6BAA6B,CAAC;AAC5C,OAAO,EACL,wBAAwB,EACxB,gBAAgB,EAChB,wBAAwB,EACxB,mBAAmB,EACnB,sBAAsB,EACtB,uBAAuB,EACvB,mBAAmB,EACnB,uBAAuB,GACxB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,gCAAgC,EAChC,4BAA4B,EAC5B,kBAAkB,EAClB,sBAAsB,EACtB,uBAAuB,EACvB,yBAAyB,EACzB,+BAA+B,EAC/B,+BAA+B,EAC/B,uBAAuB,EACvB,sCAAsC,EACtC,qBAAqB,GACtB,MAAM,kBAAkB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner-goal-cycle.d.ts","sourceRoot":"","sources":["../../../src/runtime/daemon/runner-goal-cycle.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"runner-goal-cycle.d.ts","sourceRoot":"","sources":["../../../src/runtime/daemon/runner-goal-cycle.ts"],"names":[],"mappings":"AAQA,MAAM,MAAM,sBAAsB,GAAG,GAAG,CAAC;AA8DzC,wBAAsB,sBAAsB,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,CA4H3F"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { errorMessage } from "./runner-errors.js";
|
|
2
|
+
import { getDueWaitGoalIds } from "./wait-deadline-resolver.js";
|
|
2
3
|
const MAX_IDLE_SLEEP_MS = 5_000;
|
|
3
4
|
function buildLoopCompletePayload(goalId, result) {
|
|
4
5
|
const lastIteration = result.iterations.at(-1);
|
|
@@ -7,8 +8,39 @@ function buildLoopCompletePayload(goalId, result) {
|
|
|
7
8
|
iterations: result.totalIterations,
|
|
8
9
|
gap: lastIteration?.gapAggregate,
|
|
9
10
|
status: result.finalStatus,
|
|
11
|
+
wait: lastIteration?.waitExpiryOutcome
|
|
12
|
+
? {
|
|
13
|
+
strategyId: lastIteration.waitStrategyId,
|
|
14
|
+
status: lastIteration.waitExpiryOutcome.status,
|
|
15
|
+
details: lastIteration.waitExpiryOutcome.details,
|
|
16
|
+
approvalId: lastIteration.waitApprovalId,
|
|
17
|
+
observeOnly: lastIteration.waitObserveOnly ?? false,
|
|
18
|
+
}
|
|
19
|
+
: undefined,
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
function buildDaemonStatusPayload(context) {
|
|
23
|
+
return {
|
|
24
|
+
status: context.state.status,
|
|
25
|
+
activeGoals: context.state.active_goals,
|
|
26
|
+
loopCount: context.state.loop_count,
|
|
27
|
+
lastLoopAt: context.state.last_loop_at,
|
|
28
|
+
waitingGoals: context.state.waiting_goals ?? [],
|
|
29
|
+
nextObserveAt: context.state.next_observe_at ?? null,
|
|
30
|
+
lastObserveAt: context.state.last_observe_at ?? null,
|
|
31
|
+
lastWaitReason: context.state.last_wait_reason ?? null,
|
|
32
|
+
approvalPendingCount: context.state.approval_pending_count ?? 0,
|
|
10
33
|
};
|
|
11
34
|
}
|
|
35
|
+
function applyWaitDeadlineStatus(context, waitDeadlines) {
|
|
36
|
+
const resolution = waitDeadlines;
|
|
37
|
+
const waitingGoals = Array.isArray(resolution?.waiting_goals) ? resolution.waiting_goals : [];
|
|
38
|
+
context.state.waiting_goals = waitingGoals;
|
|
39
|
+
context.state.next_observe_at = resolution?.next_observe_at ?? null;
|
|
40
|
+
context.state.last_wait_reason = waitingGoals[0]?.wait_reason ?? null;
|
|
41
|
+
context.state.approval_pending_count = waitingGoals.filter((goal) => goal.approval_pending === true
|
|
42
|
+
|| (typeof goal.wait_reason === "string" && goal.wait_reason.toLowerCase().includes("approval"))).length;
|
|
43
|
+
}
|
|
12
44
|
function buildLoopErrorPayload(goalId, error, context) {
|
|
13
45
|
const message = errorMessage(error);
|
|
14
46
|
return {
|
|
@@ -26,7 +58,13 @@ export async function runDaemonGoalCycleLoop(context) {
|
|
|
26
58
|
const goalIds = [...context.currentGoalIds];
|
|
27
59
|
context.refreshOperationalState();
|
|
28
60
|
const cycleSnapshot = await context.collectGoalCycleSnapshot(goalIds);
|
|
29
|
-
const
|
|
61
|
+
const waitDeadlines = await context.resolveWaitDeadlines?.(goalIds);
|
|
62
|
+
if (waitDeadlines) {
|
|
63
|
+
applyWaitDeadlineStatus(context, waitDeadlines);
|
|
64
|
+
}
|
|
65
|
+
const scheduledActiveGoals = await context.determineActiveGoals(goalIds, cycleSnapshot);
|
|
66
|
+
const dueWaitGoalIds = waitDeadlines ? getDueWaitGoalIds(waitDeadlines) : [];
|
|
67
|
+
const activeGoals = [...new Set([...scheduledActiveGoals, ...dueWaitGoalIds])];
|
|
30
68
|
await context.maybeRefreshProviderRuntime(activeGoals.length);
|
|
31
69
|
if (activeGoals.length === 0) {
|
|
32
70
|
context.logger.info("No goals need activation this cycle", { checked: goalIds.length });
|
|
@@ -57,6 +95,17 @@ export async function runDaemonGoalCycleLoop(context) {
|
|
|
57
95
|
});
|
|
58
96
|
if (context.eventServer) {
|
|
59
97
|
const goal = await context.stateManager.loadGoal(goalId).catch(() => null);
|
|
98
|
+
const lastIteration = result.iterations.at(-1);
|
|
99
|
+
if (lastIteration?.waitObserveOnly) {
|
|
100
|
+
context.state.last_observe_at = new Date().toISOString();
|
|
101
|
+
void context.eventServer.broadcast?.("wait_status", {
|
|
102
|
+
goalId,
|
|
103
|
+
strategyId: lastIteration.waitStrategyId,
|
|
104
|
+
outcome: lastIteration.waitExpiryOutcome,
|
|
105
|
+
approvalId: lastIteration.waitApprovalId,
|
|
106
|
+
skipReason: lastIteration.skipReason,
|
|
107
|
+
});
|
|
108
|
+
}
|
|
60
109
|
void context.eventServer.broadcast?.("iteration_complete", {
|
|
61
110
|
goalId,
|
|
62
111
|
loopCount: context.state.loop_count,
|
|
@@ -78,12 +127,7 @@ export async function runDaemonGoalCycleLoop(context) {
|
|
|
78
127
|
context.refreshOperationalState();
|
|
79
128
|
await context.saveDaemonState();
|
|
80
129
|
if (context.eventServer) {
|
|
81
|
-
void context.eventServer.broadcast?.("daemon_status",
|
|
82
|
-
status: context.state.status,
|
|
83
|
-
activeGoals: context.state.active_goals,
|
|
84
|
-
loopCount: context.state.loop_count,
|
|
85
|
-
lastLoopAt: context.state.last_loop_at,
|
|
86
|
-
});
|
|
130
|
+
void context.eventServer.broadcast?.("daemon_status", buildDaemonStatusPayload(context));
|
|
87
131
|
}
|
|
88
132
|
await context.processCronTasks();
|
|
89
133
|
await context.processScheduleEntries();
|
|
@@ -106,7 +150,10 @@ export async function runDaemonGoalCycleLoop(context) {
|
|
|
106
150
|
const baseIntervalMs = context.getNextInterval(goalIds);
|
|
107
151
|
const maxGapScore = await context.getMaxGapScore(goalIds, cycleSnapshot);
|
|
108
152
|
const intervalMs = context.calculateAdaptiveInterval(baseIntervalMs, activeGoals.length, maxGapScore, context.consecutiveIdleCycles);
|
|
109
|
-
const
|
|
153
|
+
const idleAwareIntervalMs = activeGoals.length === 0 ? Math.min(intervalMs, MAX_IDLE_SLEEP_MS) : intervalMs;
|
|
154
|
+
const sleepIntervalMs = waitDeadlines
|
|
155
|
+
? context.clampIntervalToWaitDeadline(idleAwareIntervalMs, waitDeadlines)
|
|
156
|
+
: idleAwareIntervalMs;
|
|
110
157
|
context.logger.info(`Sleeping for ${sleepIntervalMs}ms until next check`);
|
|
111
158
|
await context.sleep(sleepIntervalMs);
|
|
112
159
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner-goal-cycle.js","sourceRoot":"","sources":["../../../src/runtime/daemon/runner-goal-cycle.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"runner-goal-cycle.js","sourceRoot":"","sources":["../../../src/runtime/daemon/runner-goal-cycle.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
+
import { type RuntimeControlResultEventPublisher } from "../control/runtime-control-result-routing.js";
|
|
1
2
|
export type StartupRunnerContext = any;
|
|
2
3
|
export declare function startDaemonRunner(context: StartupRunnerContext, goalIds: string[]): Promise<void>;
|
|
3
4
|
export declare function reconcileRuntimeControlOperationsAfterStartup(runtimeRoot: string | null, state: {
|
|
4
5
|
status: string;
|
|
5
6
|
}, logger: {
|
|
6
7
|
info(message: string, meta?: Record<string, unknown>): void;
|
|
7
|
-
}): Promise<void>;
|
|
8
|
+
}, publisher?: RuntimeControlResultEventPublisher): Promise<void>;
|
|
8
9
|
export declare function failRuntimeLeadership(context: Pick<StartupRunnerContext, "state" | "logger" | "running" | "shuttingDown" | "shutdownResolve" | "sleepAbortController" | "saveDaemonState"> & {
|
|
9
10
|
currentGoalIds?: string[];
|
|
10
11
|
}, reason: string): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runner-startup.d.ts","sourceRoot":"","sources":["../../../src/runtime/daemon/runner-startup.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"runner-startup.d.ts","sourceRoot":"","sources":["../../../src/runtime/daemon/runner-startup.ts"],"names":[],"mappings":"AAMA,OAAO,EAEL,KAAK,kCAAkC,EACxC,MAAM,8CAA8C,CAAC;AAYtD,MAAM,MAAM,oBAAoB,GAAG,GAAG,CAAC;AA0BvC,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,oBAAoB,EAC7B,OAAO,EAAE,MAAM,EAAE,GAChB,OAAO,CAAC,IAAI,CAAC,CAgRf;AAED,wBAAsB,6CAA6C,CACjE,WAAW,EAAE,MAAM,GAAG,IAAI,EAC1B,KAAK,EAAE;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,EACzB,MAAM,EAAE;IAAE,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAA;CAAE,EACvE,SAAS,CAAC,EAAE,kCAAkC,GAC7C,OAAO,CAAC,IAAI,CAAC,CAmCf;AAED,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,IAAI,CACX,oBAAoB,EACpB,OAAO,GAAG,QAAQ,GAAG,SAAS,GAAG,cAAc,GAAG,iBAAiB,GAAG,sBAAsB,GAAG,iBAAiB,CACjH,GAAG;IAAE,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,EACjC,MAAM,EAAE,MAAM,GACb,IAAI,CAcN;AAED,wBAAgB,eAAe,CAC7B,OAAO,EAAE,IAAI,CAAC,oBAAoB,EAAE,OAAO,GAAG,QAAQ,GAAG,QAAQ,GAAG,kBAAkB,CAAC,GAAG;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,EAC9G,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,OAAO,GACX,OAAO,CAaT;AAED,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,IAAI,CAAC,oBAAoB,EAAE,OAAO,GAAG,QAAQ,GAAG,kBAAkB,GAAG,iBAAiB,CAAC,GAAG;IAAE,OAAO,EAAE,OAAO,CAAA;CAAE,EACvH,GAAG,EAAE,OAAO,GACX,OAAO,CAAC,IAAI,CAAC,CASf;AAED,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,IAAI,CACX,oBAAoB,EACpB,cAAc,GAAG,QAAQ,GAAG,SAAS,GAAG,OAAO,GAAG,iBAAiB,GAAG,sBAAsB,CAC7F,GACA,IAAI,CAYN"}
|
|
@@ -3,6 +3,7 @@ import { EventServer } from "../event/server.js";
|
|
|
3
3
|
import { HttpChannelAdapter } from "../gateway/index.js";
|
|
4
4
|
import { PulSeedEventSchema } from "../../base/types/drive.js";
|
|
5
5
|
import { RuntimeOperationStore } from "../store/index.js";
|
|
6
|
+
import { publishRuntimeControlResult, } from "../control/runtime-control-result-routing.js";
|
|
6
7
|
import { ProcessShutdownCoordinator, startDaemonStatusHeartbeat } from "./runner-lifecycle.js";
|
|
7
8
|
import { handleCriticalDaemonError, handleDaemonLoopError } from "./runner-errors.js";
|
|
8
9
|
import { CommandDispatcher } from "../command-dispatcher.js";
|
|
@@ -268,7 +269,7 @@ export async function startDaemonRunner(context, goalIds) {
|
|
|
268
269
|
throw err;
|
|
269
270
|
}
|
|
270
271
|
}
|
|
271
|
-
export async function reconcileRuntimeControlOperationsAfterStartup(runtimeRoot, state, logger) {
|
|
272
|
+
export async function reconcileRuntimeControlOperationsAfterStartup(runtimeRoot, state, logger, publisher) {
|
|
272
273
|
const operationStore = new RuntimeOperationStore(runtimeRoot ?? undefined);
|
|
273
274
|
const pending = await operationStore.listPending();
|
|
274
275
|
const now = new Date().toISOString();
|
|
@@ -277,7 +278,7 @@ export async function reconcileRuntimeControlOperationsAfterStartup(runtimeRoot,
|
|
|
277
278
|
(operation.kind !== "restart_daemon" && operation.kind !== "restart_gateway")) {
|
|
278
279
|
continue;
|
|
279
280
|
}
|
|
280
|
-
await operationStore.save({
|
|
281
|
+
const verified = await operationStore.save({
|
|
281
282
|
...operation,
|
|
282
283
|
state: "verified",
|
|
283
284
|
updated_at: now,
|
|
@@ -285,11 +286,16 @@ export async function reconcileRuntimeControlOperationsAfterStartup(runtimeRoot,
|
|
|
285
286
|
result: {
|
|
286
287
|
ok: true,
|
|
287
288
|
message: operation.kind === "restart_gateway"
|
|
288
|
-
? "gateway
|
|
289
|
-
: "daemon
|
|
289
|
+
? "gateway の再起動を確認しました。"
|
|
290
|
+
: "PulSeed daemon の再起動を確認しました。",
|
|
290
291
|
daemon_status: state.status,
|
|
291
292
|
},
|
|
292
293
|
});
|
|
294
|
+
await publishRuntimeControlResult({
|
|
295
|
+
operation: verified,
|
|
296
|
+
publisher,
|
|
297
|
+
runtimeRoot,
|
|
298
|
+
});
|
|
293
299
|
logger.info("Runtime control restart operation verified after startup", {
|
|
294
300
|
operation_id: operation.operation_id,
|
|
295
301
|
kind: operation.kind,
|