pulseed 0.3.0 → 0.4.1
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/base/config/config-metadata.d.ts +1 -1
- package/dist/base/config/config-metadata.d.ts.map +1 -1
- package/dist/base/config/config-metadata.js +1 -1
- package/dist/base/config/config-metadata.js.map +1 -1
- package/dist/base/config/identity-loader.d.ts +1 -1
- package/dist/base/config/identity-loader.d.ts.map +1 -1
- package/dist/base/config/identity-loader.js +4 -3
- package/dist/base/config/identity-loader.js.map +1 -1
- package/dist/base/config/tool-metadata.d.ts +2 -0
- package/dist/base/config/tool-metadata.d.ts.map +1 -1
- package/dist/base/config/tool-metadata.js +30 -6
- package/dist/base/config/tool-metadata.js.map +1 -1
- package/dist/base/llm/llm-client.d.ts +12 -1
- package/dist/base/llm/llm-client.d.ts.map +1 -1
- package/dist/base/llm/llm-client.js +78 -2
- package/dist/base/llm/llm-client.js.map +1 -1
- package/dist/base/llm/ollama-client.d.ts +1 -0
- package/dist/base/llm/ollama-client.d.ts.map +1 -1
- package/dist/base/llm/ollama-client.js +1 -0
- package/dist/base/llm/ollama-client.js.map +1 -1
- package/dist/base/llm/openai-client.d.ts +3 -1
- package/dist/base/llm/openai-client.d.ts.map +1 -1
- package/dist/base/llm/openai-client.js +131 -41
- package/dist/base/llm/openai-client.js.map +1 -1
- package/dist/base/llm/provider-config.d.ts +1 -1
- package/dist/base/llm/provider-config.d.ts.map +1 -1
- package/dist/base/llm/provider-factory.d.ts.map +1 -1
- package/dist/base/llm/provider-factory.js +22 -3
- package/dist/base/llm/provider-factory.js.map +1 -1
- package/dist/base/state/checkpoint-trust-port.d.ts +4 -0
- package/dist/base/state/checkpoint-trust-port.d.ts.map +1 -0
- package/dist/base/state/checkpoint-trust-port.js +2 -0
- package/dist/base/state/checkpoint-trust-port.js.map +1 -0
- package/dist/base/state/state-manager-goal-write.d.ts +22 -0
- package/dist/base/state/state-manager-goal-write.d.ts.map +1 -0
- package/dist/base/state/state-manager-goal-write.js +74 -0
- package/dist/base/state/state-manager-goal-write.js.map +1 -0
- package/dist/base/state/state-manager-wal.d.ts +11 -0
- package/dist/base/state/state-manager-wal.d.ts.map +1 -0
- package/dist/base/state/state-manager-wal.js +89 -0
- package/dist/base/state/state-manager-wal.js.map +1 -0
- package/dist/base/state/state-manager.d.ts +12 -5
- package/dist/base/state/state-manager.d.ts.map +1 -1
- package/dist/base/state/state-manager.js +24 -118
- package/dist/base/state/state-manager.js.map +1 -1
- package/dist/base/utils/errors.d.ts +4 -0
- package/dist/base/utils/errors.d.ts.map +1 -1
- package/dist/base/utils/errors.js +8 -0
- package/dist/base/utils/errors.js.map +1 -1
- package/dist/base/utils/pulseed-meta.d.ts +4 -0
- package/dist/base/utils/pulseed-meta.d.ts.map +1 -0
- package/dist/base/utils/pulseed-meta.js +32 -0
- package/dist/base/utils/pulseed-meta.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/interface/chat/chat-event-state.d.ts +10 -0
- package/dist/interface/chat/chat-event-state.d.ts.map +1 -0
- package/dist/interface/chat/chat-event-state.js +75 -0
- package/dist/interface/chat/chat-event-state.js.map +1 -0
- package/dist/interface/chat/chat-events.d.ts +59 -0
- package/dist/interface/chat/chat-events.d.ts.map +1 -0
- package/dist/interface/chat/chat-events.js +2 -0
- package/dist/interface/chat/chat-events.js.map +1 -0
- package/dist/interface/chat/chat-history.d.ts +4 -4
- package/dist/interface/chat/chat-history.d.ts.map +1 -1
- package/dist/interface/chat/chat-history.js +3 -3
- package/dist/interface/chat/chat-history.js.map +1 -1
- package/dist/interface/chat/chat-runner.d.ts +15 -4
- package/dist/interface/chat/chat-runner.d.ts.map +1 -1
- package/dist/interface/chat/chat-runner.js +241 -27
- package/dist/interface/chat/chat-runner.js.map +1 -1
- package/dist/interface/chat/event-subscriber.d.ts +7 -1
- package/dist/interface/chat/event-subscriber.d.ts.map +1 -1
- package/dist/interface/chat/event-subscriber.js +88 -2
- package/dist/interface/chat/event-subscriber.js.map +1 -1
- package/dist/interface/chat/grounding.d.ts +2 -0
- package/dist/interface/chat/grounding.d.ts.map +1 -1
- package/dist/interface/chat/grounding.js +95 -42
- package/dist/interface/chat/grounding.js.map +1 -1
- package/dist/interface/chat/mutation-tool-defs.js +1 -1
- package/dist/interface/chat/mutation-tool-defs.js.map +1 -1
- package/dist/interface/chat/self-knowledge-mutation-tools.d.ts.map +1 -1
- package/dist/interface/chat/self-knowledge-mutation-tools.js +20 -3
- package/dist/interface/chat/self-knowledge-mutation-tools.js.map +1 -1
- package/dist/interface/chat/self-knowledge-tools.js +2 -2
- package/dist/interface/chat/self-knowledge-tools.js.map +1 -1
- package/dist/interface/chat/tend-command.d.ts +1 -1
- package/dist/interface/cli/cli-command-registry.js +1 -1
- package/dist/interface/cli/cli-command-registry.js.map +1 -1
- package/dist/interface/cli/commands/chat.d.ts.map +1 -1
- package/dist/interface/cli/commands/chat.js +46 -13
- package/dist/interface/cli/commands/chat.js.map +1 -1
- package/dist/interface/cli/commands/config.d.ts.map +1 -1
- package/dist/interface/cli/commands/config.js +37 -6
- package/dist/interface/cli/commands/config.js.map +1 -1
- package/dist/interface/cli/commands/daemon.d.ts.map +1 -1
- package/dist/interface/cli/commands/daemon.js +105 -50
- package/dist/interface/cli/commands/daemon.js.map +1 -1
- package/dist/interface/cli/commands/doctor.d.ts +1 -1
- package/dist/interface/cli/commands/doctor.d.ts.map +1 -1
- package/dist/interface/cli/commands/doctor.js +5 -7
- package/dist/interface/cli/commands/doctor.js.map +1 -1
- package/dist/interface/cli/commands/presets/root-presets.d.ts +3 -3
- package/dist/interface/cli/commands/presets/root-presets.d.ts.map +1 -1
- package/dist/interface/cli/commands/presets/root-presets.js +8 -5
- package/dist/interface/cli/commands/presets/root-presets.js.map +1 -1
- package/dist/interface/cli/commands/schedule.d.ts.map +1 -1
- package/dist/interface/cli/commands/schedule.js +166 -13
- package/dist/interface/cli/commands/schedule.js.map +1 -1
- package/dist/interface/cli/commands/setup/steps-runtime.js +1 -1
- package/dist/interface/cli/ensure-api-key.d.ts +4 -1
- package/dist/interface/cli/ensure-api-key.d.ts.map +1 -1
- package/dist/interface/cli/ensure-api-key.js +52 -15
- package/dist/interface/cli/ensure-api-key.js.map +1 -1
- package/dist/interface/cli/setup.d.ts +9 -0
- package/dist/interface/cli/setup.d.ts.map +1 -1
- package/dist/interface/cli/setup.js +43 -20
- package/dist/interface/cli/setup.js.map +1 -1
- package/dist/interface/cli/utils.d.ts.map +1 -1
- package/dist/interface/cli/utils.js +5 -1
- package/dist/interface/cli/utils.js.map +1 -1
- package/dist/interface/tui/app.d.ts +1 -1
- package/dist/interface/tui/app.d.ts.map +1 -1
- package/dist/interface/tui/app.js +8 -12
- package/dist/interface/tui/app.js.map +1 -1
- package/dist/interface/tui/chat/scroll.d.ts +14 -0
- package/dist/interface/tui/chat/scroll.d.ts.map +1 -0
- package/dist/interface/tui/chat/scroll.js +46 -0
- package/dist/interface/tui/chat/scroll.js.map +1 -0
- package/dist/interface/tui/chat/suggestions.d.ts +8 -0
- package/dist/interface/tui/chat/suggestions.d.ts.map +1 -0
- package/dist/interface/tui/chat/suggestions.js +112 -0
- package/dist/interface/tui/chat/suggestions.js.map +1 -0
- package/dist/interface/tui/chat/types.d.ts +31 -0
- package/dist/interface/tui/chat/types.d.ts.map +1 -0
- package/dist/interface/tui/chat/types.js +2 -0
- package/dist/interface/tui/chat/types.js.map +1 -0
- package/dist/interface/tui/chat/viewport.d.ts +3 -0
- package/dist/interface/tui/chat/viewport.d.ts.map +1 -0
- package/dist/interface/tui/chat/viewport.js +78 -0
- package/dist/interface/tui/chat/viewport.js.map +1 -0
- package/dist/interface/tui/chat.d.ts +5 -49
- package/dist/interface/tui/chat.d.ts.map +1 -1
- package/dist/interface/tui/chat.js +9 -238
- package/dist/interface/tui/chat.js.map +1 -1
- package/dist/interface/tui/checkerboard-spinner.d.ts +3 -0
- package/dist/interface/tui/checkerboard-spinner.d.ts.map +1 -0
- package/dist/interface/tui/checkerboard-spinner.js +20 -0
- package/dist/interface/tui/checkerboard-spinner.js.map +1 -0
- package/dist/interface/tui/dashboard.js +2 -2
- package/dist/interface/tui/dashboard.js.map +1 -1
- package/dist/interface/tui/entry.d.ts.map +1 -1
- package/dist/interface/tui/entry.js +51 -7
- package/dist/interface/tui/entry.js.map +1 -1
- package/dist/interface/tui/use-loop.d.ts +1 -1
- package/dist/orchestrator/ethics-gate.d.ts +3 -0
- package/dist/orchestrator/ethics-gate.d.ts.map +1 -0
- package/dist/orchestrator/ethics-gate.js +2 -0
- package/dist/orchestrator/ethics-gate.js.map +1 -0
- package/dist/orchestrator/execution/context/context-builder.d.ts +8 -0
- package/dist/orchestrator/execution/context/context-builder.d.ts.map +1 -1
- package/dist/orchestrator/execution/context/context-builder.js +38 -0
- package/dist/orchestrator/execution/context/context-builder.js.map +1 -1
- package/dist/orchestrator/execution/parallel-execution-types.d.ts +7 -0
- package/dist/orchestrator/execution/parallel-execution-types.d.ts.map +1 -0
- package/dist/orchestrator/execution/parallel-execution-types.js +2 -0
- package/dist/orchestrator/execution/parallel-execution-types.js.map +1 -0
- package/dist/orchestrator/execution/parallel-executor.d.ts +2 -6
- package/dist/orchestrator/execution/parallel-executor.d.ts.map +1 -1
- package/dist/orchestrator/execution/parallel-executor.js.map +1 -1
- package/dist/orchestrator/execution/result-reconciler.d.ts +1 -1
- package/dist/orchestrator/execution/result-reconciler.d.ts.map +1 -1
- package/dist/orchestrator/execution/task/task-lifecycle.d.ts +8 -10
- package/dist/orchestrator/execution/task/task-lifecycle.d.ts.map +1 -1
- package/dist/orchestrator/execution/task/task-lifecycle.js +28 -1
- package/dist/orchestrator/execution/task/task-lifecycle.js.map +1 -1
- package/dist/orchestrator/execution/task/task-pipeline-cycle.d.ts +5 -35
- package/dist/orchestrator/execution/task/task-pipeline-cycle.d.ts.map +1 -1
- package/dist/orchestrator/execution/task/task-pipeline-cycle.js.map +1 -1
- package/dist/orchestrator/execution/task/task-pipeline-types.d.ts +39 -0
- package/dist/orchestrator/execution/task/task-pipeline-types.d.ts.map +1 -0
- package/dist/orchestrator/execution/task/task-pipeline-types.js +2 -0
- package/dist/orchestrator/execution/task/task-pipeline-types.js.map +1 -0
- package/dist/orchestrator/execution/task/task-verifier-rules.d.ts.map +1 -1
- package/dist/orchestrator/execution/task/task-verifier-rules.js +34 -2
- package/dist/orchestrator/execution/task/task-verifier-rules.js.map +1 -1
- package/dist/orchestrator/execution/task/task-verifier-types.d.ts +2 -0
- package/dist/orchestrator/execution/task/task-verifier-types.d.ts.map +1 -1
- package/dist/orchestrator/goal/goal-negotiator.d.ts.map +1 -1
- package/dist/orchestrator/goal/goal-negotiator.js +2 -1
- package/dist/orchestrator/goal/goal-negotiator.js.map +1 -1
- package/dist/orchestrator/goal/goal-refiner.d.ts.map +1 -1
- package/dist/orchestrator/goal/goal-refiner.js +1 -1
- package/dist/orchestrator/goal/goal-refiner.js.map +1 -1
- package/dist/orchestrator/goal/goal-tree-manager.d.ts +2 -2
- package/dist/orchestrator/goal/goal-tree-manager.d.ts.map +1 -1
- package/dist/orchestrator/goal/goal-tree-manager.js.map +1 -1
- package/dist/orchestrator/goal/negotiator-feasibility.d.ts +10 -0
- package/dist/orchestrator/goal/negotiator-feasibility.d.ts.map +1 -0
- package/dist/orchestrator/goal/negotiator-feasibility.js +55 -0
- package/dist/orchestrator/goal/negotiator-feasibility.js.map +1 -0
- package/dist/orchestrator/goal/negotiator-steps.d.ts +1 -6
- package/dist/orchestrator/goal/negotiator-steps.d.ts.map +1 -1
- package/dist/orchestrator/goal/negotiator-steps.js +4 -56
- package/dist/orchestrator/goal/negotiator-steps.js.map +1 -1
- package/dist/orchestrator/knowledge/knowledge-manager.d.ts +2 -0
- package/dist/orchestrator/knowledge/knowledge-manager.d.ts.map +1 -0
- package/dist/orchestrator/knowledge/knowledge-manager.js +2 -0
- package/dist/orchestrator/knowledge/knowledge-manager.js.map +1 -0
- package/dist/orchestrator/knowledge/memory/memory-lifecycle.d.ts +2 -0
- package/dist/orchestrator/knowledge/memory/memory-lifecycle.d.ts.map +1 -0
- package/dist/orchestrator/knowledge/memory/memory-lifecycle.js +2 -0
- package/dist/orchestrator/knowledge/memory/memory-lifecycle.js.map +1 -0
- package/dist/orchestrator/knowledge/transfer/knowledge-transfer.d.ts +2 -0
- package/dist/orchestrator/knowledge/transfer/knowledge-transfer.d.ts.map +1 -0
- package/dist/orchestrator/knowledge/transfer/knowledge-transfer.js +2 -0
- package/dist/orchestrator/knowledge/transfer/knowledge-transfer.js.map +1 -0
- package/dist/orchestrator/loop/checkpoint-manager-loop.d.ts +1 -1
- package/dist/orchestrator/loop/checkpoint-manager-loop.d.ts.map +1 -1
- package/dist/orchestrator/loop/core-loop/capability.d.ts +22 -0
- package/dist/orchestrator/loop/core-loop/capability.d.ts.map +1 -0
- package/dist/orchestrator/loop/core-loop/capability.js +151 -0
- package/dist/orchestrator/loop/core-loop/capability.js.map +1 -0
- package/dist/orchestrator/loop/core-loop/contracts.d.ts +245 -0
- package/dist/orchestrator/loop/core-loop/contracts.d.ts.map +1 -0
- package/dist/orchestrator/loop/core-loop/contracts.js +40 -0
- package/dist/orchestrator/loop/core-loop/contracts.js.map +1 -0
- package/dist/orchestrator/loop/core-loop/control.d.ts +27 -0
- package/dist/orchestrator/loop/core-loop/control.d.ts.map +1 -0
- package/dist/orchestrator/loop/core-loop/control.js +72 -0
- package/dist/orchestrator/loop/core-loop/control.js.map +1 -0
- package/dist/orchestrator/loop/core-loop/learning.d.ts +31 -0
- package/dist/orchestrator/loop/core-loop/learning.d.ts.map +1 -0
- package/dist/orchestrator/loop/core-loop/learning.js +92 -0
- package/dist/orchestrator/loop/core-loop/learning.js.map +1 -0
- package/dist/orchestrator/loop/core-loop/preparation.d.ts +63 -0
- package/dist/orchestrator/loop/core-loop/preparation.d.ts.map +1 -0
- package/dist/orchestrator/loop/core-loop/preparation.js +362 -0
- package/dist/orchestrator/loop/core-loop/preparation.js.map +1 -0
- package/dist/orchestrator/loop/core-loop/task-cycle.d.ts +29 -0
- package/dist/orchestrator/loop/core-loop/task-cycle.d.ts.map +1 -0
- package/dist/orchestrator/loop/core-loop/task-cycle.js +674 -0
- package/dist/orchestrator/loop/core-loop/task-cycle.js.map +1 -0
- package/dist/orchestrator/loop/core-loop-capability.d.ts +1 -18
- package/dist/orchestrator/loop/core-loop-capability.d.ts.map +1 -1
- package/dist/orchestrator/loop/core-loop-capability.js +1 -106
- package/dist/orchestrator/loop/core-loop-capability.js.map +1 -1
- package/dist/orchestrator/loop/core-loop-learning.d.ts +1 -34
- package/dist/orchestrator/loop/core-loop-learning.d.ts.map +1 -1
- package/dist/orchestrator/loop/core-loop-learning.js +1 -95
- package/dist/orchestrator/loop/core-loop-learning.js.map +1 -1
- package/dist/orchestrator/loop/core-loop-phases-b.d.ts +1 -30
- package/dist/orchestrator/loop/core-loop-phases-b.d.ts.map +1 -1
- package/dist/orchestrator/loop/core-loop-phases-b.js +1 -590
- package/dist/orchestrator/loop/core-loop-phases-b.js.map +1 -1
- package/dist/orchestrator/loop/core-loop-phases-c.d.ts +1 -26
- package/dist/orchestrator/loop/core-loop-phases-c.d.ts.map +1 -1
- package/dist/orchestrator/loop/core-loop-phases-c.js +1 -71
- package/dist/orchestrator/loop/core-loop-phases-c.js.map +1 -1
- package/dist/orchestrator/loop/core-loop-phases.d.ts +1 -68
- package/dist/orchestrator/loop/core-loop-phases.d.ts.map +1 -1
- package/dist/orchestrator/loop/core-loop-phases.js +1 -367
- package/dist/orchestrator/loop/core-loop-phases.js.map +1 -1
- package/dist/orchestrator/loop/core-loop-types.d.ts +1 -307
- package/dist/orchestrator/loop/core-loop-types.d.ts.map +1 -1
- package/dist/orchestrator/loop/core-loop-types.js +1 -64
- package/dist/orchestrator/loop/core-loop-types.js.map +1 -1
- package/dist/orchestrator/loop/core-loop.d.ts +6 -3
- package/dist/orchestrator/loop/core-loop.d.ts.map +1 -1
- package/dist/orchestrator/loop/core-loop.js +92 -8
- package/dist/orchestrator/loop/core-loop.js.map +1 -1
- package/dist/orchestrator/loop/loop-report-helper.d.ts +1 -1
- package/dist/orchestrator/loop/loop-report-helper.d.ts.map +1 -1
- package/dist/orchestrator/loop/loop-result-types.d.ts +67 -0
- package/dist/orchestrator/loop/loop-result-types.d.ts.map +1 -0
- package/dist/orchestrator/loop/loop-result-types.js +27 -0
- package/dist/orchestrator/loop/loop-result-types.js.map +1 -0
- package/dist/orchestrator/loop/parallel-dispatch.d.ts +2 -2
- package/dist/orchestrator/loop/parallel-dispatch.d.ts.map +1 -1
- package/dist/orchestrator/loop/post-loop-hooks.d.ts +4 -1
- package/dist/orchestrator/loop/post-loop-hooks.d.ts.map +1 -1
- package/dist/orchestrator/loop/post-loop-hooks.js +19 -1
- package/dist/orchestrator/loop/post-loop-hooks.js.map +1 -1
- package/dist/orchestrator/loop/tree-loop-runner.d.ts +1 -1
- package/dist/orchestrator/loop/tree-loop-runner.d.ts.map +1 -1
- package/dist/orchestrator/loop/tree-loop-runner.js +1 -1
- package/dist/orchestrator/loop/tree-loop-runner.js.map +1 -1
- package/dist/orchestrator/observation/capability-detector.d.ts +2 -0
- package/dist/orchestrator/observation/capability-detector.d.ts.map +1 -0
- package/dist/orchestrator/observation/capability-detector.js +2 -0
- package/dist/orchestrator/observation/capability-detector.js.map +1 -0
- package/dist/orchestrator/strategy/strategy-manager-base.d.ts +1 -0
- package/dist/orchestrator/strategy/strategy-manager-base.d.ts.map +1 -1
- package/dist/orchestrator/strategy/strategy-manager-base.js +48 -4
- package/dist/orchestrator/strategy/strategy-manager-base.js.map +1 -1
- package/dist/orchestrator/strategy-manager.d.ts +2 -0
- package/dist/orchestrator/strategy-manager.d.ts.map +1 -0
- package/dist/orchestrator/strategy-manager.js +2 -0
- package/dist/orchestrator/strategy-manager.js.map +1 -0
- package/dist/platform/dream/dream-activation.d.ts +52 -0
- package/dist/platform/dream/dream-activation.d.ts.map +1 -0
- package/dist/platform/dream/dream-activation.js +199 -0
- package/dist/platform/dream/dream-activation.js.map +1 -0
- package/dist/platform/dream/dream-analyzer.d.ts +53 -0
- package/dist/platform/dream/dream-analyzer.d.ts.map +1 -0
- package/dist/platform/dream/dream-analyzer.js +489 -0
- package/dist/platform/dream/dream-analyzer.js.map +1 -0
- package/dist/platform/dream/dream-config.d.ts +6 -0
- package/dist/platform/dream/dream-config.d.ts.map +1 -0
- package/dist/platform/dream/dream-config.js +20 -0
- package/dist/platform/dream/dream-config.js.map +1 -0
- package/dist/platform/dream/dream-consolidator.d.ts +35 -0
- package/dist/platform/dream/dream-consolidator.d.ts.map +1 -0
- package/dist/platform/dream/dream-consolidator.js +304 -0
- package/dist/platform/dream/dream-consolidator.js.map +1 -0
- package/dist/platform/dream/dream-importance.d.ts +24 -0
- package/dist/platform/dream/dream-importance.d.ts.map +1 -0
- package/dist/platform/dream/dream-importance.js +71 -0
- package/dist/platform/dream/dream-importance.js.map +1 -0
- package/dist/platform/dream/dream-log-collector.d.ts +73 -0
- package/dist/platform/dream/dream-log-collector.d.ts.map +1 -0
- package/dist/platform/dream/dream-log-collector.js +256 -0
- package/dist/platform/dream/dream-log-collector.js.map +1 -0
- package/dist/platform/dream/dream-log-store.d.ts +22 -0
- package/dist/platform/dream/dream-log-store.d.ts.map +1 -0
- package/dist/platform/dream/dream-log-store.js +150 -0
- package/dist/platform/dream/dream-log-store.js.map +1 -0
- package/dist/platform/dream/dream-schedule-suggestions.d.ts +26 -0
- package/dist/platform/dream/dream-schedule-suggestions.d.ts.map +1 -0
- package/dist/platform/dream/dream-schedule-suggestions.js +195 -0
- package/dist/platform/dream/dream-schedule-suggestions.js.map +1 -0
- package/dist/platform/dream/dream-types.d.ts +2587 -0
- package/dist/platform/dream/dream-types.d.ts.map +1 -0
- package/dist/platform/dream/dream-types.js +265 -0
- package/dist/platform/dream/dream-types.js.map +1 -0
- package/dist/platform/dream/index.d.ts +6 -0
- package/dist/platform/dream/index.d.ts.map +1 -0
- package/dist/platform/dream/index.js +6 -0
- package/dist/platform/dream/index.js.map +1 -0
- package/dist/platform/drive/drive-system.d.ts +8 -0
- package/dist/platform/drive/drive-system.d.ts.map +1 -1
- package/dist/platform/drive/drive-system.js +39 -22
- package/dist/platform/drive/drive-system.js.map +1 -1
- package/dist/platform/ethics-gate.d.ts +2 -0
- package/dist/platform/ethics-gate.d.ts.map +1 -0
- package/dist/platform/ethics-gate.js +2 -0
- package/dist/platform/ethics-gate.js.map +1 -0
- package/dist/platform/execution/task/task-lifecycle.d.ts +2 -0
- package/dist/platform/execution/task/task-lifecycle.d.ts.map +1 -0
- package/dist/platform/execution/task/task-lifecycle.js +2 -0
- package/dist/platform/execution/task/task-lifecycle.js.map +1 -0
- package/dist/platform/knowledge/transfer/knowledge-transfer-apply.d.ts.map +1 -1
- package/dist/platform/knowledge/transfer/knowledge-transfer-apply.js +6 -0
- package/dist/platform/knowledge/transfer/knowledge-transfer-apply.js.map +1 -1
- package/dist/platform/knowledge/transfer/knowledge-transfer-detect.d.ts.map +1 -1
- package/dist/platform/knowledge/transfer/knowledge-transfer-detect.js +32 -0
- package/dist/platform/knowledge/transfer/knowledge-transfer-detect.js.map +1 -1
- package/dist/platform/knowledge/transfer/knowledge-transfer.d.ts +18 -1
- package/dist/platform/knowledge/transfer/knowledge-transfer.d.ts.map +1 -1
- package/dist/platform/knowledge/transfer/knowledge-transfer.js +121 -6
- package/dist/platform/knowledge/transfer/knowledge-transfer.js.map +1 -1
- package/dist/platform/observation/capability-detector.d.ts +8 -0
- package/dist/platform/observation/capability-detector.d.ts.map +1 -1
- package/dist/platform/observation/capability-detector.js +71 -4
- package/dist/platform/observation/capability-detector.js.map +1 -1
- package/dist/platform/observation/data-source-adapter.d.ts +19 -0
- package/dist/platform/observation/data-source-adapter.d.ts.map +1 -1
- package/dist/platform/observation/data-source-adapter.js +166 -0
- package/dist/platform/observation/data-source-adapter.js.map +1 -1
- package/dist/platform/observation/engine/observe-context.d.ts +4 -0
- package/dist/platform/observation/engine/observe-context.d.ts.map +1 -0
- package/dist/platform/observation/engine/observe-context.js +26 -0
- package/dist/platform/observation/engine/observe-context.js.map +1 -0
- package/dist/platform/observation/engine/observe-datasource-stage.d.ts +33 -0
- package/dist/platform/observation/engine/observe-datasource-stage.d.ts.map +1 -0
- package/dist/platform/observation/engine/observe-datasource-stage.js +66 -0
- package/dist/platform/observation/engine/observe-datasource-stage.js.map +1 -0
- package/dist/platform/observation/engine/observe-llm-stage.d.ts +25 -0
- package/dist/platform/observation/engine/observe-llm-stage.d.ts.map +1 -0
- package/dist/platform/observation/engine/observe-llm-stage.js +79 -0
- package/dist/platform/observation/engine/observe-llm-stage.js.map +1 -0
- package/dist/platform/observation/engine/observe-precheck.d.ts +21 -0
- package/dist/platform/observation/engine/observe-precheck.d.ts.map +1 -0
- package/dist/platform/observation/engine/observe-precheck.js +51 -0
- package/dist/platform/observation/engine/observe-precheck.js.map +1 -0
- package/dist/platform/observation/engine/observe-self-report.d.ts +18 -0
- package/dist/platform/observation/engine/observe-self-report.d.ts.map +1 -0
- package/dist/platform/observation/engine/observe-self-report.js +26 -0
- package/dist/platform/observation/engine/observe-self-report.js.map +1 -0
- package/dist/platform/observation/engine/observe-tool-stage.d.ts +21 -0
- package/dist/platform/observation/engine/observe-tool-stage.d.ts.map +1 -0
- package/dist/platform/observation/engine/observe-tool-stage.js +49 -0
- package/dist/platform/observation/engine/observe-tool-stage.js.map +1 -0
- package/dist/platform/observation/observation-engine.d.ts.map +1 -1
- package/dist/platform/observation/observation-engine.js +67 -246
- package/dist/platform/observation/observation-engine.js.map +1 -1
- package/dist/platform/observation/observation-helpers.d.ts +6 -0
- package/dist/platform/observation/observation-helpers.d.ts.map +1 -1
- package/dist/platform/observation/observation-helpers.js +2 -0
- package/dist/platform/observation/observation-helpers.js.map +1 -1
- package/dist/platform/observation/types/data-source.d.ts +12 -0
- package/dist/platform/observation/types/data-source.d.ts.map +1 -1
- package/dist/platform/observation/types/data-source.js +1 -0
- package/dist/platform/observation/types/data-source.js.map +1 -1
- package/dist/platform/runtime/plugin-loader.d.ts +2 -0
- package/dist/platform/runtime/plugin-loader.d.ts.map +1 -0
- package/dist/platform/runtime/plugin-loader.js +2 -0
- package/dist/platform/runtime/plugin-loader.js.map +1 -0
- package/dist/platform/tools/executor.d.ts +2 -0
- package/dist/platform/tools/executor.d.ts.map +1 -0
- package/dist/platform/tools/executor.js +2 -0
- package/dist/platform/tools/executor.js.map +1 -0
- package/dist/prompt/context-assembler.d.ts +61 -13
- package/dist/prompt/context-assembler.d.ts.map +1 -1
- package/dist/prompt/context-assembler.js +18 -3
- package/dist/prompt/context-assembler.js.map +1 -1
- package/dist/prompt/purposes/dream.d.ts +9 -0
- package/dist/prompt/purposes/dream.d.ts.map +1 -0
- package/dist/prompt/purposes/dream.js +71 -0
- package/dist/prompt/purposes/dream.js.map +1 -0
- package/dist/prompt/purposes/index.d.ts +1 -0
- package/dist/prompt/purposes/index.d.ts.map +1 -1
- package/dist/prompt/purposes/index.js +1 -0
- package/dist/prompt/purposes/index.js.map +1 -1
- package/dist/reporting/report-formatters.d.ts +1 -1
- package/dist/reporting/report-formatters.d.ts.map +1 -1
- package/dist/reporting/reporting-engine.d.ts +2 -24
- package/dist/reporting/reporting-engine.d.ts.map +1 -1
- package/dist/reporting/reporting-engine.js +0 -1
- package/dist/reporting/reporting-engine.js.map +1 -1
- package/dist/reporting/reporting-types.d.ts +25 -0
- package/dist/reporting/reporting-types.d.ts.map +1 -0
- package/dist/reporting/reporting-types.js +2 -0
- package/dist/reporting/reporting-types.js.map +1 -0
- package/dist/runtime/approval-broker.d.ts +44 -0
- package/dist/runtime/approval-broker.d.ts.map +1 -0
- package/dist/runtime/approval-broker.js +141 -0
- package/dist/runtime/approval-broker.js.map +1 -0
- package/dist/runtime/command-dispatcher.d.ts +35 -0
- package/dist/runtime/command-dispatcher.d.ts.map +1 -0
- package/dist/runtime/command-dispatcher.js +145 -0
- package/dist/runtime/command-dispatcher.js.map +1 -0
- package/dist/runtime/daemon/client.d.ts +67 -0
- package/dist/runtime/daemon/client.d.ts.map +1 -0
- package/dist/runtime/daemon/client.js +330 -0
- package/dist/runtime/daemon/client.js.map +1 -0
- package/dist/runtime/daemon/health.d.ts +31 -0
- package/dist/runtime/daemon/health.d.ts.map +1 -0
- package/dist/runtime/daemon/health.js +113 -0
- package/dist/runtime/daemon/health.js.map +1 -0
- package/dist/runtime/daemon/index.d.ts +9 -0
- package/dist/runtime/daemon/index.d.ts.map +1 -0
- package/dist/runtime/daemon/index.js +8 -0
- package/dist/runtime/daemon/index.js.map +1 -0
- package/dist/runtime/daemon/maintenance.d.ts +47 -0
- package/dist/runtime/daemon/maintenance.d.ts.map +1 -0
- package/dist/runtime/daemon/maintenance.js +230 -0
- package/dist/runtime/daemon/maintenance.js.map +1 -0
- package/dist/runtime/daemon/persistence.d.ts +20 -0
- package/dist/runtime/daemon/persistence.d.ts.map +1 -0
- package/dist/runtime/daemon/persistence.js +112 -0
- package/dist/runtime/daemon/persistence.js.map +1 -0
- package/dist/runtime/daemon/runner-lifecycle.d.ts +29 -0
- package/dist/runtime/daemon/runner-lifecycle.d.ts.map +1 -0
- package/dist/runtime/daemon/runner-lifecycle.js +56 -0
- package/dist/runtime/daemon/runner-lifecycle.js.map +1 -0
- package/dist/runtime/daemon/runner.d.ts +229 -0
- package/dist/runtime/daemon/runner.d.ts.map +1 -0
- package/dist/runtime/daemon/runner.js +875 -0
- package/dist/runtime/daemon/runner.js.map +1 -0
- package/dist/runtime/daemon/runtime-ownership.d.ts +30 -0
- package/dist/runtime/daemon/runtime-ownership.d.ts.map +1 -0
- package/dist/runtime/daemon/runtime-ownership.js +132 -0
- package/dist/runtime/daemon/runtime-ownership.js.map +1 -0
- package/dist/runtime/daemon/signals.d.ts +17 -0
- package/dist/runtime/daemon/signals.d.ts.map +1 -0
- package/dist/runtime/daemon/signals.js +31 -0
- package/dist/runtime/daemon/signals.js.map +1 -0
- package/dist/runtime/daemon/types.d.ts +8 -0
- package/dist/runtime/daemon/types.d.ts.map +1 -0
- package/dist/runtime/daemon/types.js +2 -0
- package/dist/runtime/daemon/types.js.map +1 -0
- package/dist/runtime/daemon-client.d.ts +1 -55
- package/dist/runtime/daemon-client.d.ts.map +1 -1
- package/dist/runtime/daemon-client.js +1 -297
- package/dist/runtime/daemon-client.js.map +1 -1
- package/dist/runtime/daemon-health.d.ts +1 -30
- package/dist/runtime/daemon-health.d.ts.map +1 -1
- package/dist/runtime/daemon-health.js +1 -112
- package/dist/runtime/daemon-health.js.map +1 -1
- package/dist/runtime/daemon-runner-lifecycle.d.ts +2 -0
- package/dist/runtime/daemon-runner-lifecycle.d.ts.map +1 -0
- package/dist/runtime/daemon-runner-lifecycle.js +2 -0
- package/dist/runtime/daemon-runner-lifecycle.js.map +1 -0
- package/dist/runtime/daemon-runner.d.ts +1 -209
- package/dist/runtime/daemon-runner.d.ts.map +1 -1
- package/dist/runtime/daemon-runner.js +1 -874
- package/dist/runtime/daemon-runner.js.map +1 -1
- package/dist/runtime/daemon-runtime-ownership.d.ts +2 -0
- package/dist/runtime/daemon-runtime-ownership.d.ts.map +1 -0
- package/dist/runtime/daemon-runtime-ownership.js +2 -0
- package/dist/runtime/daemon-runtime-ownership.js.map +1 -0
- package/dist/runtime/daemon-signals.d.ts +1 -16
- package/dist/runtime/daemon-signals.d.ts.map +1 -1
- package/dist/runtime/daemon-signals.js +1 -30
- package/dist/runtime/daemon-signals.js.map +1 -1
- package/dist/runtime/event/dispatcher.d.ts +34 -0
- package/dist/runtime/event/dispatcher.d.ts.map +1 -0
- package/dist/runtime/event/dispatcher.js +124 -0
- package/dist/runtime/event/dispatcher.js.map +1 -0
- package/dist/runtime/event/index.d.ts +5 -0
- package/dist/runtime/event/index.d.ts.map +1 -0
- package/dist/runtime/event/index.js +5 -0
- package/dist/runtime/event/index.js.map +1 -0
- package/dist/runtime/event/server-snapshot-reader.d.ts +31 -0
- package/dist/runtime/event/server-snapshot-reader.d.ts.map +1 -0
- package/dist/runtime/event/server-snapshot-reader.js +94 -0
- package/dist/runtime/event/server-snapshot-reader.js.map +1 -0
- package/dist/runtime/event/server-sse.d.ts +25 -0
- package/dist/runtime/event/server-sse.d.ts.map +1 -0
- package/dist/runtime/event/server-sse.js +149 -0
- package/dist/runtime/event/server-sse.js.map +1 -0
- package/dist/runtime/event/server.d.ts +114 -0
- package/dist/runtime/event/server.d.ts.map +1 -0
- package/dist/runtime/event/server.js +651 -0
- package/dist/runtime/event/server.js.map +1 -0
- package/dist/runtime/event-dispatcher.d.ts +2 -0
- package/dist/runtime/event-dispatcher.d.ts.map +1 -0
- package/dist/runtime/event-dispatcher.js +2 -0
- package/dist/runtime/event-dispatcher.js.map +1 -0
- package/dist/runtime/event-server-snapshot-reader.d.ts +2 -0
- package/dist/runtime/event-server-snapshot-reader.d.ts.map +1 -0
- package/dist/runtime/event-server-snapshot-reader.js +2 -0
- package/dist/runtime/event-server-snapshot-reader.js.map +1 -0
- package/dist/runtime/event-server-sse.d.ts +2 -0
- package/dist/runtime/event-server-sse.d.ts.map +1 -0
- package/dist/runtime/event-server-sse.js +2 -0
- package/dist/runtime/event-server-sse.js.map +1 -0
- package/dist/runtime/event-server.d.ts +1 -81
- package/dist/runtime/event-server.d.ts.map +1 -1
- package/dist/runtime/event-server.js +1 -599
- package/dist/runtime/event-server.js.map +1 -1
- package/dist/runtime/executor/loop-supervisor.d.ts +25 -2
- package/dist/runtime/executor/loop-supervisor.d.ts.map +1 -1
- package/dist/runtime/executor/loop-supervisor.js +249 -57
- package/dist/runtime/executor/loop-supervisor.js.map +1 -1
- package/dist/runtime/gateway/http-channel-adapter.d.ts +1 -1
- package/dist/runtime/gateway/http-channel-adapter.js +2 -2
- package/dist/runtime/gateway/http-channel-adapter.js.map +1 -1
- package/dist/runtime/gateway/ingress-gateway.js +1 -1
- package/dist/runtime/gateway/ingress-gateway.js.map +1 -1
- package/dist/runtime/goal-lease-manager.d.ts +35 -0
- package/dist/runtime/goal-lease-manager.d.ts.map +1 -0
- package/dist/runtime/goal-lease-manager.js +191 -0
- package/dist/runtime/goal-lease-manager.js.map +1 -0
- package/dist/runtime/hook-manager.d.ts +4 -0
- package/dist/runtime/hook-manager.d.ts.map +1 -1
- package/dist/runtime/hook-manager.js +33 -0
- package/dist/runtime/hook-manager.js.map +1 -1
- package/dist/runtime/leader-lock-manager.d.ts +30 -0
- package/dist/runtime/leader-lock-manager.d.ts.map +1 -0
- package/dist/runtime/leader-lock-manager.js +160 -0
- package/dist/runtime/leader-lock-manager.js.map +1 -0
- package/dist/runtime/notification-dispatcher.d.ts +2 -0
- package/dist/runtime/notification-dispatcher.d.ts.map +1 -1
- package/dist/runtime/notification-dispatcher.js +12 -0
- package/dist/runtime/notification-dispatcher.js.map +1 -1
- package/dist/runtime/plugin-loader.d.ts +1 -1
- package/dist/runtime/queue/index.d.ts +4 -4
- package/dist/runtime/queue/index.d.ts.map +1 -1
- package/dist/runtime/queue/index.js +2 -2
- package/dist/runtime/queue/index.js.map +1 -1
- package/dist/runtime/queue/journal-backed-queue.d.ts +80 -0
- package/dist/runtime/queue/journal-backed-queue.d.ts.map +1 -0
- package/dist/runtime/queue/journal-backed-queue.js +511 -0
- package/dist/runtime/queue/journal-backed-queue.js.map +1 -0
- package/dist/runtime/queue/queue-claim-sweeper.d.ts +15 -0
- package/dist/runtime/queue/queue-claim-sweeper.d.ts.map +1 -0
- package/dist/runtime/queue/queue-claim-sweeper.js +28 -0
- package/dist/runtime/queue/queue-claim-sweeper.js.map +1 -0
- package/dist/runtime/schedule/engine-layers.d.ts +44 -0
- package/dist/runtime/schedule/engine-layers.d.ts.map +1 -0
- package/dist/runtime/schedule/engine-layers.js +433 -0
- package/dist/runtime/schedule/engine-layers.js.map +1 -0
- package/dist/runtime/schedule/engine.d.ts +82 -0
- package/dist/runtime/schedule/engine.d.ts.map +1 -0
- package/dist/runtime/schedule/engine.js +480 -0
- package/dist/runtime/schedule/engine.js.map +1 -0
- package/dist/runtime/schedule/index.d.ts +5 -0
- package/dist/runtime/schedule/index.d.ts.map +1 -0
- package/dist/runtime/schedule/index.js +5 -0
- package/dist/runtime/schedule/index.js.map +1 -0
- package/dist/runtime/schedule/presets.d.ts +536 -0
- package/dist/runtime/schedule/presets.d.ts.map +1 -0
- package/dist/runtime/schedule/presets.js +166 -0
- package/dist/runtime/schedule/presets.js.map +1 -0
- package/dist/runtime/schedule/source.d.ts +65 -0
- package/dist/runtime/schedule/source.d.ts.map +1 -0
- package/dist/runtime/schedule/source.js +16 -0
- package/dist/runtime/schedule/source.js.map +1 -0
- package/dist/runtime/schedule-engine-layers.d.ts +1 -37
- package/dist/runtime/schedule-engine-layers.d.ts.map +1 -1
- package/dist/runtime/schedule-engine-layers.js +1 -301
- package/dist/runtime/schedule-engine-layers.js.map +1 -1
- package/dist/runtime/schedule-engine.d.ts +1 -61
- package/dist/runtime/schedule-engine.d.ts.map +1 -1
- package/dist/runtime/schedule-engine.js +1 -397
- package/dist/runtime/schedule-engine.js.map +1 -1
- package/dist/runtime/schedule-presets.d.ts +2 -0
- package/dist/runtime/schedule-presets.d.ts.map +1 -0
- package/dist/runtime/schedule-presets.js +2 -0
- package/dist/runtime/schedule-presets.js.map +1 -0
- package/dist/runtime/schedule-source.d.ts +1 -64
- package/dist/runtime/schedule-source.d.ts.map +1 -1
- package/dist/runtime/schedule-source.js +1 -15
- package/dist/runtime/schedule-source.js.map +1 -1
- package/dist/runtime/store/approval-store.d.ts +26 -0
- package/dist/runtime/store/approval-store.d.ts.map +1 -0
- package/dist/runtime/store/approval-store.js +119 -0
- package/dist/runtime/store/approval-store.js.map +1 -0
- package/dist/runtime/store/health-store.d.ts +16 -0
- package/dist/runtime/store/health-store.d.ts.map +1 -0
- package/dist/runtime/store/health-store.js +68 -0
- package/dist/runtime/store/health-store.js.map +1 -0
- package/dist/runtime/store/index.d.ts +10 -0
- package/dist/runtime/store/index.d.ts.map +1 -0
- package/dist/runtime/store/index.js +7 -0
- package/dist/runtime/store/index.js.map +1 -0
- package/dist/runtime/store/outbox-store.d.ts +16 -0
- package/dist/runtime/store/outbox-store.d.ts.map +1 -0
- package/dist/runtime/store/outbox-store.js +92 -0
- package/dist/runtime/store/outbox-store.js.map +1 -0
- package/dist/runtime/store/runtime-journal.d.ts +19 -0
- package/dist/runtime/store/runtime-journal.d.ts.map +1 -0
- package/dist/runtime/store/runtime-journal.js +77 -0
- package/dist/runtime/store/runtime-journal.js.map +1 -0
- package/dist/runtime/store/runtime-paths.d.ts +35 -0
- package/dist/runtime/store/runtime-paths.d.ts.map +1 -0
- package/dist/runtime/store/runtime-paths.js +108 -0
- package/dist/runtime/store/runtime-paths.js.map +1 -0
- package/dist/runtime/store/runtime-schemas.d.ts +218 -0
- package/dist/runtime/store/runtime-schemas.d.ts.map +1 -0
- package/dist/runtime/store/runtime-schemas.js +94 -0
- package/dist/runtime/store/runtime-schemas.js.map +1 -0
- package/dist/runtime/types/daemon.d.ts +6 -0
- package/dist/runtime/types/daemon.d.ts.map +1 -1
- package/dist/runtime/types/daemon.js +3 -0
- package/dist/runtime/types/daemon.js.map +1 -1
- package/dist/runtime/types/hook.d.ts +12 -12
- package/dist/runtime/types/hook.d.ts.map +1 -1
- package/dist/runtime/types/hook.js +1 -0
- package/dist/runtime/types/hook.js.map +1 -1
- package/dist/runtime/types/schedule.d.ts +204 -27
- package/dist/runtime/types/schedule.d.ts.map +1 -1
- package/dist/runtime/types/schedule.js +25 -0
- package/dist/runtime/types/schedule.js.map +1 -1
- package/dist/runtime/watchdog.d.ts +44 -0
- package/dist/runtime/watchdog.d.ts.map +1 -0
- package/dist/runtime/watchdog.js +185 -0
- package/dist/runtime/watchdog.js.map +1 -0
- package/dist/tools/builtin/index.d.ts +15 -0
- package/dist/tools/builtin/index.d.ts.map +1 -1
- package/dist/tools/builtin/index.js +31 -2
- package/dist/tools/builtin/index.js.map +1 -1
- package/dist/tools/execution/MemoryConsolidateTool/MemoryConsolidateTool.d.ts +1 -1
- package/dist/tools/execution/MemoryConsolidateTool/MemoryConsolidateTool.d.ts.map +1 -1
- package/dist/tools/execution/MemoryConsolidateTool/MemoryConsolidateTool.js +6 -5
- package/dist/tools/execution/MemoryConsolidateTool/MemoryConsolidateTool.js.map +1 -1
- package/dist/tools/fs/FileEditTool/FileEditTool.d.ts +1 -1
- package/dist/tools/fs/FileEditTool/FileEditTool.d.ts.map +1 -1
- package/dist/tools/fs/FileEditTool/FileEditTool.js +1 -1
- package/dist/tools/fs/FileEditTool/FileEditTool.js.map +1 -1
- package/dist/tools/fs/FileWriteTool/FileWriteTool.d.ts +1 -1
- package/dist/tools/fs/FileWriteTool/FileWriteTool.d.ts.map +1 -1
- package/dist/tools/fs/FileWriteTool/FileWriteTool.js +1 -1
- package/dist/tools/fs/FileWriteTool/FileWriteTool.js.map +1 -1
- package/dist/tools/fs/GlobTool/GlobTool.d.ts +2 -2
- package/dist/tools/fs/GlobTool/GlobTool.d.ts.map +1 -1
- package/dist/tools/fs/GlobTool/GlobTool.js +2 -2
- package/dist/tools/fs/GlobTool/GlobTool.js.map +1 -1
- package/dist/tools/fs/GrepTool/GrepTool.d.ts +2 -2
- package/dist/tools/fs/GrepTool/GrepTool.d.ts.map +1 -1
- package/dist/tools/fs/GrepTool/GrepTool.js +9 -3
- package/dist/tools/fs/GrepTool/GrepTool.js.map +1 -1
- package/dist/tools/fs/JsonQueryTool/JsonQueryTool.d.ts +2 -2
- package/dist/tools/fs/JsonQueryTool/JsonQueryTool.d.ts.map +1 -1
- package/dist/tools/fs/JsonQueryTool/JsonQueryTool.js +6 -2
- package/dist/tools/fs/JsonQueryTool/JsonQueryTool.js.map +1 -1
- package/dist/tools/fs/ListDirTool/ListDirTool.d.ts +2 -2
- package/dist/tools/fs/ListDirTool/ListDirTool.d.ts.map +1 -1
- package/dist/tools/fs/ListDirTool/ListDirTool.js +2 -2
- package/dist/tools/fs/ListDirTool/ListDirTool.js.map +1 -1
- package/dist/tools/fs/ReadTool/ReadTool.d.ts +1 -1
- package/dist/tools/fs/ReadTool/ReadTool.d.ts.map +1 -1
- package/dist/tools/fs/ReadTool/ReadTool.js +1 -1
- package/dist/tools/fs/ReadTool/ReadTool.js.map +1 -1
- package/dist/tools/mutation/ArchiveGoalTool/ArchiveGoalTool.d.ts +1 -1
- package/dist/tools/mutation/ArchiveGoalTool/ArchiveGoalTool.d.ts.map +1 -1
- package/dist/tools/mutation/ArchiveGoalTool/ArchiveGoalTool.js +1 -1
- package/dist/tools/mutation/ArchiveGoalTool/ArchiveGoalTool.js.map +1 -1
- package/dist/tools/mutation/DeleteGoalTool/DeleteGoalTool.d.ts +1 -1
- package/dist/tools/mutation/DeleteGoalTool/DeleteGoalTool.d.ts.map +1 -1
- package/dist/tools/mutation/DeleteGoalTool/DeleteGoalTool.js +1 -1
- package/dist/tools/mutation/DeleteGoalTool/DeleteGoalTool.js.map +1 -1
- package/dist/tools/mutation/ResetTrustTool/ResetTrustTool.d.ts +1 -1
- package/dist/tools/mutation/ResetTrustTool/ResetTrustTool.d.ts.map +1 -1
- package/dist/tools/mutation/ResetTrustTool/ResetTrustTool.js +1 -1
- package/dist/tools/mutation/ResetTrustTool/ResetTrustTool.js.map +1 -1
- package/dist/tools/mutation/SetGoalTool/SetGoalTool.d.ts +2 -2
- package/dist/tools/mutation/SetGoalTool/SetGoalTool.d.ts.map +1 -1
- package/dist/tools/mutation/SetGoalTool/SetGoalTool.js +2 -2
- package/dist/tools/mutation/SetGoalTool/SetGoalTool.js.map +1 -1
- package/dist/tools/mutation/TaskCreateTool/TaskCreateTool.d.ts +216 -0
- package/dist/tools/mutation/TaskCreateTool/TaskCreateTool.d.ts.map +1 -0
- package/dist/tools/mutation/TaskCreateTool/TaskCreateTool.js +104 -0
- package/dist/tools/mutation/TaskCreateTool/TaskCreateTool.js.map +1 -0
- package/dist/tools/mutation/TaskCreateTool/constants.d.ts +5 -0
- package/dist/tools/mutation/TaskCreateTool/constants.d.ts.map +1 -0
- package/dist/tools/mutation/TaskCreateTool/constants.js +5 -0
- package/dist/tools/mutation/TaskCreateTool/constants.js.map +1 -0
- package/dist/tools/mutation/TaskCreateTool/prompt.d.ts +2 -0
- package/dist/tools/mutation/TaskCreateTool/prompt.d.ts.map +1 -0
- package/dist/tools/mutation/TaskCreateTool/prompt.js +2 -0
- package/dist/tools/mutation/TaskCreateTool/prompt.js.map +1 -0
- package/dist/tools/mutation/TaskOutputTool/TaskOutputTool.d.ts +46 -0
- package/dist/tools/mutation/TaskOutputTool/TaskOutputTool.d.ts.map +1 -0
- package/dist/tools/mutation/TaskOutputTool/TaskOutputTool.js +95 -0
- package/dist/tools/mutation/TaskOutputTool/TaskOutputTool.js.map +1 -0
- package/dist/tools/mutation/TaskOutputTool/constants.d.ts +5 -0
- package/dist/tools/mutation/TaskOutputTool/constants.d.ts.map +1 -0
- package/dist/tools/mutation/TaskOutputTool/constants.js +5 -0
- package/dist/tools/mutation/TaskOutputTool/constants.js.map +1 -0
- package/dist/tools/mutation/TaskOutputTool/prompt.d.ts +2 -0
- package/dist/tools/mutation/TaskOutputTool/prompt.d.ts.map +1 -0
- package/dist/tools/mutation/TaskOutputTool/prompt.js +2 -0
- package/dist/tools/mutation/TaskOutputTool/prompt.js.map +1 -0
- package/dist/tools/mutation/TaskStopTool/TaskStopTool.d.ts +40 -0
- package/dist/tools/mutation/TaskStopTool/TaskStopTool.d.ts.map +1 -0
- package/dist/tools/mutation/TaskStopTool/TaskStopTool.js +95 -0
- package/dist/tools/mutation/TaskStopTool/TaskStopTool.js.map +1 -0
- package/dist/tools/mutation/TaskStopTool/constants.d.ts +5 -0
- package/dist/tools/mutation/TaskStopTool/constants.d.ts.map +1 -0
- package/dist/tools/mutation/TaskStopTool/constants.js +5 -0
- package/dist/tools/mutation/TaskStopTool/constants.js.map +1 -0
- package/dist/tools/mutation/TaskStopTool/prompt.d.ts +2 -0
- package/dist/tools/mutation/TaskStopTool/prompt.d.ts.map +1 -0
- package/dist/tools/mutation/TaskStopTool/prompt.js +2 -0
- package/dist/tools/mutation/TaskStopTool/prompt.js.map +1 -0
- package/dist/tools/mutation/TaskUpdateTool/TaskUpdateTool.d.ts +270 -0
- package/dist/tools/mutation/TaskUpdateTool/TaskUpdateTool.d.ts.map +1 -0
- package/dist/tools/mutation/TaskUpdateTool/TaskUpdateTool.js +137 -0
- package/dist/tools/mutation/TaskUpdateTool/TaskUpdateTool.js.map +1 -0
- package/dist/tools/mutation/TaskUpdateTool/constants.d.ts +5 -0
- package/dist/tools/mutation/TaskUpdateTool/constants.d.ts.map +1 -0
- package/dist/tools/mutation/TaskUpdateTool/constants.js +5 -0
- package/dist/tools/mutation/TaskUpdateTool/constants.js.map +1 -0
- package/dist/tools/mutation/TaskUpdateTool/prompt.d.ts +2 -0
- package/dist/tools/mutation/TaskUpdateTool/prompt.d.ts.map +1 -0
- package/dist/tools/mutation/TaskUpdateTool/prompt.js +2 -0
- package/dist/tools/mutation/TaskUpdateTool/prompt.js.map +1 -0
- package/dist/tools/mutation/TogglePluginTool/TogglePluginTool.d.ts +1 -1
- package/dist/tools/mutation/TogglePluginTool/TogglePluginTool.d.ts.map +1 -1
- package/dist/tools/mutation/TogglePluginTool/TogglePluginTool.js +1 -1
- package/dist/tools/mutation/TogglePluginTool/TogglePluginTool.js.map +1 -1
- package/dist/tools/mutation/UpdateConfigTool/UpdateConfigTool.d.ts +2 -2
- package/dist/tools/mutation/UpdateConfigTool/UpdateConfigTool.d.ts.map +1 -1
- package/dist/tools/mutation/UpdateConfigTool/UpdateConfigTool.js +11 -2
- package/dist/tools/mutation/UpdateConfigTool/UpdateConfigTool.js.map +1 -1
- package/dist/tools/mutation/UpdateGoalTool/UpdateGoalTool.d.ts +2 -2
- package/dist/tools/mutation/UpdateGoalTool/UpdateGoalTool.d.ts.map +1 -1
- package/dist/tools/mutation/UpdateGoalTool/UpdateGoalTool.js +2 -2
- package/dist/tools/mutation/UpdateGoalTool/UpdateGoalTool.js.map +1 -1
- package/dist/tools/mutation/task-history-utils.d.ts +4 -0
- package/dist/tools/mutation/task-history-utils.d.ts.map +1 -0
- package/dist/tools/mutation/task-history-utils.js +30 -0
- package/dist/tools/mutation/task-history-utils.js.map +1 -0
- package/dist/tools/network/HttpFetchTool/HttpFetchTool.d.ts +1 -1
- package/dist/tools/network/HttpFetchTool/HttpFetchTool.d.ts.map +1 -1
- package/dist/tools/network/HttpFetchTool/HttpFetchTool.js +1 -1
- package/dist/tools/network/HttpFetchTool/HttpFetchTool.js.map +1 -1
- package/dist/tools/query/ArchitectureTool/ArchitectureTool.d.ts +2 -2
- package/dist/tools/query/ArchitectureTool/ArchitectureTool.d.ts.map +1 -1
- package/dist/tools/query/ArchitectureTool/ArchitectureTool.js +2 -2
- package/dist/tools/query/ArchitectureTool/ArchitectureTool.js.map +1 -1
- package/dist/tools/query/ConfigTool/ConfigTool.d.ts +2 -2
- package/dist/tools/query/ConfigTool/ConfigTool.d.ts.map +1 -1
- package/dist/tools/query/ConfigTool/ConfigTool.js +2 -2
- package/dist/tools/query/ConfigTool/ConfigTool.js.map +1 -1
- package/dist/tools/query/GoalStateTool/GoalStateTool.d.ts +2 -2
- package/dist/tools/query/GoalStateTool/GoalStateTool.d.ts.map +1 -1
- package/dist/tools/query/GoalStateTool/GoalStateTool.js +2 -2
- package/dist/tools/query/GoalStateTool/GoalStateTool.js.map +1 -1
- package/dist/tools/query/KnowledgeQueryTool/KnowledgeQueryTool.d.ts +2 -2
- package/dist/tools/query/KnowledgeQueryTool/KnowledgeQueryTool.d.ts.map +1 -1
- package/dist/tools/query/KnowledgeQueryTool/KnowledgeQueryTool.js +2 -2
- package/dist/tools/query/KnowledgeQueryTool/KnowledgeQueryTool.js.map +1 -1
- package/dist/tools/query/MemoryRecallTool/MemoryRecallTool.d.ts +7 -7
- package/dist/tools/query/MemoryRecallTool/MemoryRecallTool.d.ts.map +1 -1
- package/dist/tools/query/MemoryRecallTool/MemoryRecallTool.js +11 -10
- package/dist/tools/query/MemoryRecallTool/MemoryRecallTool.js.map +1 -1
- package/dist/tools/query/PluginStateTool/PluginStateTool.d.ts +2 -2
- package/dist/tools/query/PluginStateTool/PluginStateTool.d.ts.map +1 -1
- package/dist/tools/query/PluginStateTool/PluginStateTool.js +2 -2
- package/dist/tools/query/PluginStateTool/PluginStateTool.js.map +1 -1
- package/dist/tools/query/ProgressHistoryTool/ProgressHistoryTool.d.ts +4 -4
- package/dist/tools/query/ProgressHistoryTool/ProgressHistoryTool.d.ts.map +1 -1
- package/dist/tools/query/ProgressHistoryTool/ProgressHistoryTool.js +2 -2
- package/dist/tools/query/ProgressHistoryTool/ProgressHistoryTool.js.map +1 -1
- package/dist/tools/query/SessionHistoryTool/SessionHistoryTool.d.ts +2 -2
- package/dist/tools/query/SessionHistoryTool/SessionHistoryTool.d.ts.map +1 -1
- package/dist/tools/query/SessionHistoryTool/SessionHistoryTool.js +2 -2
- package/dist/tools/query/SessionHistoryTool/SessionHistoryTool.js.map +1 -1
- package/dist/tools/query/TaskGetTool/TaskGetTool.d.ts +34 -0
- package/dist/tools/query/TaskGetTool/TaskGetTool.d.ts.map +1 -0
- package/dist/tools/query/TaskGetTool/TaskGetTool.js +77 -0
- package/dist/tools/query/TaskGetTool/TaskGetTool.js.map +1 -0
- package/dist/tools/query/TaskGetTool/constants.d.ts +6 -0
- package/dist/tools/query/TaskGetTool/constants.d.ts.map +1 -0
- package/dist/tools/query/TaskGetTool/constants.js +6 -0
- package/dist/tools/query/TaskGetTool/constants.js.map +1 -0
- package/dist/tools/query/TaskGetTool/prompt.d.ts +2 -0
- package/dist/tools/query/TaskGetTool/prompt.d.ts.map +1 -0
- package/dist/tools/query/TaskGetTool/prompt.js +2 -0
- package/dist/tools/query/TaskGetTool/prompt.js.map +1 -0
- package/dist/tools/query/TaskListTool/TaskListTool.d.ts +58 -0
- package/dist/tools/query/TaskListTool/TaskListTool.d.ts.map +1 -0
- package/dist/tools/query/TaskListTool/TaskListTool.js +101 -0
- package/dist/tools/query/TaskListTool/TaskListTool.js.map +1 -0
- package/dist/tools/query/TaskListTool/constants.d.ts +6 -0
- package/dist/tools/query/TaskListTool/constants.d.ts.map +1 -0
- package/dist/tools/query/TaskListTool/constants.js +6 -0
- package/dist/tools/query/TaskListTool/constants.js.map +1 -0
- package/dist/tools/query/TaskListTool/prompt.d.ts +2 -0
- package/dist/tools/query/TaskListTool/prompt.d.ts.map +1 -0
- package/dist/tools/query/TaskListTool/prompt.js +2 -0
- package/dist/tools/query/TaskListTool/prompt.js.map +1 -0
- package/dist/tools/query/TrustStateTool/TrustStateTool.d.ts +2 -2
- package/dist/tools/query/TrustStateTool/TrustStateTool.d.ts.map +1 -1
- package/dist/tools/query/TrustStateTool/TrustStateTool.js +2 -2
- package/dist/tools/query/TrustStateTool/TrustStateTool.js.map +1 -1
- package/dist/tools/schedule/CreateScheduleTool/CreateScheduleTool.d.ts +1638 -0
- package/dist/tools/schedule/CreateScheduleTool/CreateScheduleTool.d.ts.map +1 -0
- package/dist/tools/schedule/CreateScheduleTool/CreateScheduleTool.js +86 -0
- package/dist/tools/schedule/CreateScheduleTool/CreateScheduleTool.js.map +1 -0
- package/dist/tools/schedule/CreateScheduleTool/constants.d.ts +5 -0
- package/dist/tools/schedule/CreateScheduleTool/constants.d.ts.map +1 -0
- package/dist/tools/schedule/CreateScheduleTool/constants.js +5 -0
- package/dist/tools/schedule/CreateScheduleTool/constants.js.map +1 -0
- package/dist/tools/schedule/CreateScheduleTool/prompt.d.ts +2 -0
- package/dist/tools/schedule/CreateScheduleTool/prompt.d.ts.map +1 -0
- package/dist/tools/schedule/CreateScheduleTool/prompt.js +2 -0
- package/dist/tools/schedule/CreateScheduleTool/prompt.js.map +1 -0
- package/dist/tools/schedule/GetScheduleTool/GetScheduleTool.d.ts +28 -0
- package/dist/tools/schedule/GetScheduleTool/GetScheduleTool.d.ts.map +1 -0
- package/dist/tools/schedule/GetScheduleTool/GetScheduleTool.js +79 -0
- package/dist/tools/schedule/GetScheduleTool/GetScheduleTool.js.map +1 -0
- package/dist/tools/schedule/GetScheduleTool/constants.d.ts +6 -0
- package/dist/tools/schedule/GetScheduleTool/constants.d.ts.map +1 -0
- package/dist/tools/schedule/GetScheduleTool/constants.js +6 -0
- package/dist/tools/schedule/GetScheduleTool/constants.js.map +1 -0
- package/dist/tools/schedule/GetScheduleTool/prompt.d.ts +2 -0
- package/dist/tools/schedule/GetScheduleTool/prompt.d.ts.map +1 -0
- package/dist/tools/schedule/GetScheduleTool/prompt.js +2 -0
- package/dist/tools/schedule/GetScheduleTool/prompt.js.map +1 -0
- package/dist/tools/schedule/ListSchedulesTool/ListSchedulesTool.d.ts +40 -0
- package/dist/tools/schedule/ListSchedulesTool/ListSchedulesTool.d.ts.map +1 -0
- package/dist/tools/schedule/ListSchedulesTool/ListSchedulesTool.js +83 -0
- package/dist/tools/schedule/ListSchedulesTool/ListSchedulesTool.js.map +1 -0
- package/dist/tools/schedule/ListSchedulesTool/constants.d.ts +6 -0
- package/dist/tools/schedule/ListSchedulesTool/constants.d.ts.map +1 -0
- package/dist/tools/schedule/ListSchedulesTool/constants.js +6 -0
- package/dist/tools/schedule/ListSchedulesTool/constants.js.map +1 -0
- package/dist/tools/schedule/ListSchedulesTool/prompt.d.ts +2 -0
- package/dist/tools/schedule/ListSchedulesTool/prompt.d.ts.map +1 -0
- package/dist/tools/schedule/ListSchedulesTool/prompt.js +2 -0
- package/dist/tools/schedule/ListSchedulesTool/prompt.js.map +1 -0
- package/dist/tools/schedule/PauseScheduleTool/PauseScheduleTool.d.ts +32 -0
- package/dist/tools/schedule/PauseScheduleTool/PauseScheduleTool.d.ts.map +1 -0
- package/dist/tools/schedule/PauseScheduleTool/PauseScheduleTool.js +94 -0
- package/dist/tools/schedule/PauseScheduleTool/PauseScheduleTool.js.map +1 -0
- package/dist/tools/schedule/PauseScheduleTool/constants.d.ts +5 -0
- package/dist/tools/schedule/PauseScheduleTool/constants.d.ts.map +1 -0
- package/dist/tools/schedule/PauseScheduleTool/constants.js +5 -0
- package/dist/tools/schedule/PauseScheduleTool/constants.js.map +1 -0
- package/dist/tools/schedule/PauseScheduleTool/prompt.d.ts +2 -0
- package/dist/tools/schedule/PauseScheduleTool/prompt.d.ts.map +1 -0
- package/dist/tools/schedule/PauseScheduleTool/prompt.js +2 -0
- package/dist/tools/schedule/PauseScheduleTool/prompt.js.map +1 -0
- package/dist/tools/schedule/RemoveScheduleTool/RemoveScheduleTool.d.ts +35 -0
- package/dist/tools/schedule/RemoveScheduleTool/RemoveScheduleTool.d.ts.map +1 -0
- package/dist/tools/schedule/RemoveScheduleTool/RemoveScheduleTool.js +100 -0
- package/dist/tools/schedule/RemoveScheduleTool/RemoveScheduleTool.js.map +1 -0
- package/dist/tools/schedule/RemoveScheduleTool/constants.d.ts +5 -0
- package/dist/tools/schedule/RemoveScheduleTool/constants.d.ts.map +1 -0
- package/dist/tools/schedule/RemoveScheduleTool/constants.js +5 -0
- package/dist/tools/schedule/RemoveScheduleTool/constants.js.map +1 -0
- package/dist/tools/schedule/RemoveScheduleTool/prompt.d.ts +2 -0
- package/dist/tools/schedule/RemoveScheduleTool/prompt.d.ts.map +1 -0
- package/dist/tools/schedule/RemoveScheduleTool/prompt.js +2 -0
- package/dist/tools/schedule/RemoveScheduleTool/prompt.js.map +1 -0
- package/dist/tools/schedule/ResumeScheduleTool/ResumeScheduleTool.d.ts +32 -0
- package/dist/tools/schedule/ResumeScheduleTool/ResumeScheduleTool.d.ts.map +1 -0
- package/dist/tools/schedule/ResumeScheduleTool/ResumeScheduleTool.js +94 -0
- package/dist/tools/schedule/ResumeScheduleTool/ResumeScheduleTool.js.map +1 -0
- package/dist/tools/schedule/ResumeScheduleTool/constants.d.ts +5 -0
- package/dist/tools/schedule/ResumeScheduleTool/constants.d.ts.map +1 -0
- package/dist/tools/schedule/ResumeScheduleTool/constants.js +5 -0
- package/dist/tools/schedule/ResumeScheduleTool/constants.js.map +1 -0
- package/dist/tools/schedule/ResumeScheduleTool/prompt.d.ts +2 -0
- package/dist/tools/schedule/ResumeScheduleTool/prompt.d.ts.map +1 -0
- package/dist/tools/schedule/ResumeScheduleTool/prompt.js +2 -0
- package/dist/tools/schedule/ResumeScheduleTool/prompt.js.map +1 -0
- package/dist/tools/schedule/UpdateScheduleTool/UpdateScheduleTool.d.ts +770 -0
- package/dist/tools/schedule/UpdateScheduleTool/UpdateScheduleTool.d.ts.map +1 -0
- package/dist/tools/schedule/UpdateScheduleTool/UpdateScheduleTool.js +131 -0
- package/dist/tools/schedule/UpdateScheduleTool/UpdateScheduleTool.js.map +1 -0
- package/dist/tools/schedule/UpdateScheduleTool/constants.d.ts +5 -0
- package/dist/tools/schedule/UpdateScheduleTool/constants.d.ts.map +1 -0
- package/dist/tools/schedule/UpdateScheduleTool/constants.js +5 -0
- package/dist/tools/schedule/UpdateScheduleTool/constants.js.map +1 -0
- package/dist/tools/schedule/UpdateScheduleTool/prompt.d.ts +2 -0
- package/dist/tools/schedule/UpdateScheduleTool/prompt.d.ts.map +1 -0
- package/dist/tools/schedule/UpdateScheduleTool/prompt.js +2 -0
- package/dist/tools/schedule/UpdateScheduleTool/prompt.js.map +1 -0
- package/dist/tools/system/EnvTool/EnvTool.d.ts +2 -2
- package/dist/tools/system/EnvTool/EnvTool.d.ts.map +1 -1
- package/dist/tools/system/EnvTool/EnvTool.js +2 -2
- package/dist/tools/system/EnvTool/EnvTool.js.map +1 -1
- package/dist/tools/system/GitDiffTool/GitDiffTool.d.ts +2 -2
- package/dist/tools/system/GitDiffTool/GitDiffTool.d.ts.map +1 -1
- package/dist/tools/system/GitDiffTool/GitDiffTool.js +2 -2
- package/dist/tools/system/GitDiffTool/GitDiffTool.js.map +1 -1
- package/dist/tools/system/GitLogTool/GitLogTool.d.ts +2 -2
- package/dist/tools/system/GitLogTool/GitLogTool.d.ts.map +1 -1
- package/dist/tools/system/GitLogTool/GitLogTool.js +2 -2
- package/dist/tools/system/GitLogTool/GitLogTool.js.map +1 -1
- package/dist/tools/system/SleepTool/SleepTool.d.ts +2 -2
- package/dist/tools/system/SleepTool/SleepTool.d.ts.map +1 -1
- package/dist/tools/system/SleepTool/SleepTool.js +2 -2
- package/dist/tools/system/SleepTool/SleepTool.js.map +1 -1
- package/dist/tools/system/test-runner.d.ts +2 -52
- package/dist/tools/system/test-runner.d.ts.map +1 -1
- package/dist/tools/system/test-runner.js +1 -180
- package/dist/tools/system/test-runner.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
import * as fsp from "node:fs/promises";
|
|
2
|
+
import * as path from "node:path";
|
|
3
|
+
import { RuntimeJournal } from "./runtime-journal.js";
|
|
4
|
+
import { ApprovalRecordSchema, ApprovalStateSchema, } from "./runtime-schemas.js";
|
|
5
|
+
import { createRuntimeStorePaths, } from "./runtime-paths.js";
|
|
6
|
+
export class ApprovalStore {
|
|
7
|
+
paths;
|
|
8
|
+
journal;
|
|
9
|
+
constructor(runtimeRootOrPaths) {
|
|
10
|
+
this.paths =
|
|
11
|
+
typeof runtimeRootOrPaths === "string"
|
|
12
|
+
? createRuntimeStorePaths(runtimeRootOrPaths)
|
|
13
|
+
: runtimeRootOrPaths ?? createRuntimeStorePaths();
|
|
14
|
+
this.journal = new RuntimeJournal(this.paths);
|
|
15
|
+
}
|
|
16
|
+
async sleep(ms) {
|
|
17
|
+
await new Promise((resolve) => setTimeout(resolve, ms));
|
|
18
|
+
}
|
|
19
|
+
lockPath(approvalId) {
|
|
20
|
+
return path.join(this.paths.approvalsDir, "locks", `${approvalId}.lock`);
|
|
21
|
+
}
|
|
22
|
+
async withApprovalLock(approvalId, fn) {
|
|
23
|
+
const lockPath = this.lockPath(approvalId);
|
|
24
|
+
const staleAfterMs = 30_000;
|
|
25
|
+
for (;;) {
|
|
26
|
+
try {
|
|
27
|
+
await fsp.mkdir(path.dirname(lockPath), { recursive: true });
|
|
28
|
+
const handle = await fsp.open(lockPath, "wx");
|
|
29
|
+
await handle.writeFile(JSON.stringify({ pid: process.pid, acquired_at: Date.now() }));
|
|
30
|
+
try {
|
|
31
|
+
return await fn();
|
|
32
|
+
}
|
|
33
|
+
finally {
|
|
34
|
+
await handle.close();
|
|
35
|
+
await fsp.unlink(lockPath).catch(() => undefined);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
catch (err) {
|
|
39
|
+
if (err.code !== "EEXIST")
|
|
40
|
+
throw err;
|
|
41
|
+
try {
|
|
42
|
+
const stat = await fsp.stat(lockPath);
|
|
43
|
+
if (Date.now() - stat.mtimeMs > staleAfterMs) {
|
|
44
|
+
await fsp.unlink(lockPath);
|
|
45
|
+
continue;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
catch (staleErr) {
|
|
49
|
+
if (staleErr.code === "ENOENT")
|
|
50
|
+
continue;
|
|
51
|
+
throw staleErr;
|
|
52
|
+
}
|
|
53
|
+
await this.sleep(10);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
async ensureReady() {
|
|
58
|
+
await this.journal.ensureReady();
|
|
59
|
+
}
|
|
60
|
+
async load(approvalId) {
|
|
61
|
+
return (await this.loadResolved(approvalId)) ?? (await this.loadPending(approvalId));
|
|
62
|
+
}
|
|
63
|
+
async loadPending(approvalId) {
|
|
64
|
+
return this.journal.load(this.paths.approvalPendingPath(approvalId), ApprovalRecordSchema);
|
|
65
|
+
}
|
|
66
|
+
async loadResolved(approvalId) {
|
|
67
|
+
return this.journal.load(this.paths.approvalResolvedPath(approvalId), ApprovalRecordSchema);
|
|
68
|
+
}
|
|
69
|
+
async listPending() {
|
|
70
|
+
const pending = await this.journal.list(this.paths.approvalsPendingDir, ApprovalRecordSchema);
|
|
71
|
+
const filtered = [];
|
|
72
|
+
for (const record of pending) {
|
|
73
|
+
const resolved = await this.loadResolved(record.approval_id);
|
|
74
|
+
if (resolved === null)
|
|
75
|
+
filtered.push(record);
|
|
76
|
+
}
|
|
77
|
+
return filtered;
|
|
78
|
+
}
|
|
79
|
+
async listResolved() {
|
|
80
|
+
return this.journal.list(this.paths.approvalsResolvedDir, ApprovalRecordSchema);
|
|
81
|
+
}
|
|
82
|
+
async savePending(record) {
|
|
83
|
+
const parsed = ApprovalRecordSchema.parse({ ...record, state: "pending" });
|
|
84
|
+
return this.withApprovalLock(parsed.approval_id, async () => {
|
|
85
|
+
const resolved = await this.loadResolved(parsed.approval_id);
|
|
86
|
+
if (resolved !== null)
|
|
87
|
+
return resolved;
|
|
88
|
+
await this.journal.save(this.paths.approvalPendingPath(parsed.approval_id), ApprovalRecordSchema, parsed);
|
|
89
|
+
return parsed;
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
async saveResolved(record) {
|
|
93
|
+
const parsed = ApprovalRecordSchema.parse({
|
|
94
|
+
...record,
|
|
95
|
+
state: ApprovalStateSchema.parse(record.state),
|
|
96
|
+
resolved_at: record.resolved_at ?? Date.now(),
|
|
97
|
+
});
|
|
98
|
+
await this.journal.save(this.paths.approvalResolvedPath(parsed.approval_id), ApprovalRecordSchema, parsed);
|
|
99
|
+
return parsed;
|
|
100
|
+
}
|
|
101
|
+
async resolvePending(approvalId, update) {
|
|
102
|
+
return this.withApprovalLock(approvalId, async () => {
|
|
103
|
+
const current = await this.loadPending(approvalId);
|
|
104
|
+
if (current === null)
|
|
105
|
+
return this.loadResolved(approvalId);
|
|
106
|
+
const resolved = ApprovalRecordSchema.parse({
|
|
107
|
+
...current,
|
|
108
|
+
...update,
|
|
109
|
+
approval_id: current.approval_id,
|
|
110
|
+
state: ApprovalStateSchema.parse(update.state),
|
|
111
|
+
resolved_at: update.resolved_at ?? Date.now(),
|
|
112
|
+
});
|
|
113
|
+
await this.saveResolved(resolved);
|
|
114
|
+
await this.journal.remove(this.paths.approvalPendingPath(approvalId));
|
|
115
|
+
return resolved;
|
|
116
|
+
});
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
//# sourceMappingURL=approval-store.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"approval-store.js","sourceRoot":"","sources":["../../../src/runtime/store/approval-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { type RuntimeComponentsHealth, type RuntimeDaemonHealth, type RuntimeHealthSnapshot } from "./runtime-schemas.js";
|
|
2
|
+
import { type RuntimeStorePaths } from "./runtime-paths.js";
|
|
3
|
+
export declare class RuntimeHealthStore {
|
|
4
|
+
private readonly paths;
|
|
5
|
+
private readonly journal;
|
|
6
|
+
constructor(runtimeRootOrPaths?: string | RuntimeStorePaths);
|
|
7
|
+
ensureReady(): Promise<void>;
|
|
8
|
+
loadDaemonHealth(): Promise<RuntimeDaemonHealth | null>;
|
|
9
|
+
saveDaemonHealth(health: RuntimeDaemonHealth): Promise<RuntimeDaemonHealth>;
|
|
10
|
+
loadComponentsHealth(): Promise<RuntimeComponentsHealth | null>;
|
|
11
|
+
saveComponentsHealth(health: RuntimeComponentsHealth): Promise<RuntimeComponentsHealth>;
|
|
12
|
+
loadSnapshot(): Promise<RuntimeHealthSnapshot | null>;
|
|
13
|
+
saveSnapshot(snapshot: RuntimeHealthSnapshot): Promise<RuntimeHealthSnapshot>;
|
|
14
|
+
summarizeStatus(components: Record<string, RuntimeHealthSnapshot["status"]>): RuntimeHealthSnapshot["status"];
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=health-store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"health-store.d.ts","sourceRoot":"","sources":["../../../src/runtime/store/health-store.ts"],"names":[],"mappings":"AACA,OAAO,EAKL,KAAK,uBAAuB,EAC5B,KAAK,mBAAmB,EACxB,KAAK,qBAAqB,EAC3B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAEL,KAAK,iBAAiB,EACvB,MAAM,oBAAoB,CAAC;AAE5B,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAoB;IAC1C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiB;gBAE7B,kBAAkB,CAAC,EAAE,MAAM,GAAG,iBAAiB;IAQrD,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAI5B,gBAAgB,IAAI,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC;IAIvD,gBAAgB,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAM3E,oBAAoB,IAAI,OAAO,CAAC,uBAAuB,GAAG,IAAI,CAAC;IAI/D,oBAAoB,CAAC,MAAM,EAAE,uBAAuB,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAMvF,YAAY,IAAI,OAAO,CAAC,qBAAqB,GAAG,IAAI,CAAC;IAerD,YAAY,CAAC,QAAQ,EAAE,qBAAqB,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAiBnF,eAAe,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,QAAQ,CAAC,CAAC,GAAG,qBAAqB,CAAC,QAAQ,CAAC;CAG9G"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { RuntimeJournal } from "./runtime-journal.js";
|
|
2
|
+
import { RuntimeComponentsHealthSchema, RuntimeDaemonHealthSchema, RuntimeHealthSnapshotSchema, summarizeRuntimeHealthStatus, } from "./runtime-schemas.js";
|
|
3
|
+
import { createRuntimeStorePaths, } from "./runtime-paths.js";
|
|
4
|
+
export class RuntimeHealthStore {
|
|
5
|
+
paths;
|
|
6
|
+
journal;
|
|
7
|
+
constructor(runtimeRootOrPaths) {
|
|
8
|
+
this.paths =
|
|
9
|
+
typeof runtimeRootOrPaths === "string"
|
|
10
|
+
? createRuntimeStorePaths(runtimeRootOrPaths)
|
|
11
|
+
: runtimeRootOrPaths ?? createRuntimeStorePaths();
|
|
12
|
+
this.journal = new RuntimeJournal(this.paths);
|
|
13
|
+
}
|
|
14
|
+
async ensureReady() {
|
|
15
|
+
await this.journal.ensureReady();
|
|
16
|
+
}
|
|
17
|
+
async loadDaemonHealth() {
|
|
18
|
+
return this.journal.load(this.paths.daemonHealthPath, RuntimeDaemonHealthSchema);
|
|
19
|
+
}
|
|
20
|
+
async saveDaemonHealth(health) {
|
|
21
|
+
const parsed = RuntimeDaemonHealthSchema.parse(health);
|
|
22
|
+
await this.journal.save(this.paths.daemonHealthPath, RuntimeDaemonHealthSchema, parsed);
|
|
23
|
+
return parsed;
|
|
24
|
+
}
|
|
25
|
+
async loadComponentsHealth() {
|
|
26
|
+
return this.journal.load(this.paths.componentsHealthPath, RuntimeComponentsHealthSchema);
|
|
27
|
+
}
|
|
28
|
+
async saveComponentsHealth(health) {
|
|
29
|
+
const parsed = RuntimeComponentsHealthSchema.parse(health);
|
|
30
|
+
await this.journal.save(this.paths.componentsHealthPath, RuntimeComponentsHealthSchema, parsed);
|
|
31
|
+
return parsed;
|
|
32
|
+
}
|
|
33
|
+
async loadSnapshot() {
|
|
34
|
+
const [daemon, components] = await Promise.all([
|
|
35
|
+
this.loadDaemonHealth(),
|
|
36
|
+
this.loadComponentsHealth(),
|
|
37
|
+
]);
|
|
38
|
+
if (daemon === null || components === null)
|
|
39
|
+
return null;
|
|
40
|
+
return RuntimeHealthSnapshotSchema.parse({
|
|
41
|
+
status: daemon.status,
|
|
42
|
+
leader: daemon.leader,
|
|
43
|
+
checked_at: Math.max(daemon.checked_at, components.checked_at),
|
|
44
|
+
components: components.components,
|
|
45
|
+
details: daemon.details,
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
async saveSnapshot(snapshot) {
|
|
49
|
+
const parsed = RuntimeHealthSnapshotSchema.parse(snapshot);
|
|
50
|
+
await Promise.all([
|
|
51
|
+
this.saveDaemonHealth({
|
|
52
|
+
status: parsed.status,
|
|
53
|
+
leader: parsed.leader,
|
|
54
|
+
checked_at: parsed.checked_at,
|
|
55
|
+
details: parsed.details,
|
|
56
|
+
}),
|
|
57
|
+
this.saveComponentsHealth({
|
|
58
|
+
checked_at: parsed.checked_at,
|
|
59
|
+
components: parsed.components,
|
|
60
|
+
}),
|
|
61
|
+
]);
|
|
62
|
+
return parsed;
|
|
63
|
+
}
|
|
64
|
+
summarizeStatus(components) {
|
|
65
|
+
return summarizeRuntimeHealthStatus(components);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=health-store.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"health-store.js","sourceRoot":"","sources":["../../../src/runtime/store/health-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export { createRuntimeStorePaths, ensureRuntimeStorePaths, resolveRuntimeRootPath, runtimeDateKey, } from "./runtime-paths.js";
|
|
2
|
+
export type { RuntimeStorePaths } from "./runtime-paths.js";
|
|
3
|
+
export { RuntimeJournal, ensureRuntimeDirectory, listRuntimeJson, loadRuntimeJson, moveRuntimeJson, removeRuntimeJson, saveRuntimeJson, } from "./runtime-journal.js";
|
|
4
|
+
export { RuntimeEnvelopeKindSchema, RuntimeEnvelopePrioritySchema, RuntimeEnvelopeSchema, RuntimeQueueStateSchema, RuntimeQueueRecordSchema, GoalLeaseRecordSchema, ApprovalStateSchema, ApprovalRecordSchema, OutboxRecordSchema, RuntimeHealthStatusSchema, RuntimeDaemonHealthSchema, RuntimeComponentsHealthSchema, RuntimeHealthSnapshotSchema, summarizeRuntimeHealthStatus, } from "./runtime-schemas.js";
|
|
5
|
+
export type { RuntimeEnvelope, RuntimeEnvelopeKind, RuntimeEnvelopePriority, RuntimeQueueState, RuntimeQueueRecord, GoalLeaseRecord, ApprovalState, ApprovalRecord, OutboxRecord, RuntimeHealthStatus, RuntimeDaemonHealth, RuntimeComponentsHealth, RuntimeHealthSnapshot, } from "./runtime-schemas.js";
|
|
6
|
+
export { ApprovalStore } from "./approval-store.js";
|
|
7
|
+
export type { ApprovalResolutionInput } from "./approval-store.js";
|
|
8
|
+
export { OutboxStore } from "./outbox-store.js";
|
|
9
|
+
export { RuntimeHealthStore } from "./health-store.js";
|
|
10
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/runtime/store/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,EACvB,uBAAuB,EACvB,sBAAsB,EACtB,cAAc,GACf,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAE5D,OAAO,EACL,cAAc,EACd,sBAAsB,EACtB,eAAe,EACf,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,eAAe,GAChB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,yBAAyB,EACzB,6BAA6B,EAC7B,qBAAqB,EACrB,uBAAuB,EACvB,wBAAwB,EACxB,qBAAqB,EACrB,mBAAmB,EACnB,oBAAoB,EACpB,kBAAkB,EAClB,yBAAyB,EACzB,yBAAyB,EACzB,6BAA6B,EAC7B,2BAA2B,EAC3B,4BAA4B,GAC7B,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EACV,eAAe,EACf,mBAAmB,EACnB,uBAAuB,EACvB,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,aAAa,EACb,cAAc,EACd,YAAY,EACZ,mBAAmB,EACnB,mBAAmB,EACnB,uBAAuB,EACvB,qBAAqB,GACtB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,YAAY,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export { createRuntimeStorePaths, ensureRuntimeStorePaths, resolveRuntimeRootPath, runtimeDateKey, } from "./runtime-paths.js";
|
|
2
|
+
export { RuntimeJournal, ensureRuntimeDirectory, listRuntimeJson, loadRuntimeJson, moveRuntimeJson, removeRuntimeJson, saveRuntimeJson, } from "./runtime-journal.js";
|
|
3
|
+
export { RuntimeEnvelopeKindSchema, RuntimeEnvelopePrioritySchema, RuntimeEnvelopeSchema, RuntimeQueueStateSchema, RuntimeQueueRecordSchema, GoalLeaseRecordSchema, ApprovalStateSchema, ApprovalRecordSchema, OutboxRecordSchema, RuntimeHealthStatusSchema, RuntimeDaemonHealthSchema, RuntimeComponentsHealthSchema, RuntimeHealthSnapshotSchema, summarizeRuntimeHealthStatus, } from "./runtime-schemas.js";
|
|
4
|
+
export { ApprovalStore } from "./approval-store.js";
|
|
5
|
+
export { OutboxStore } from "./outbox-store.js";
|
|
6
|
+
export { RuntimeHealthStore } from "./health-store.js";
|
|
7
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/runtime/store/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,EACvB,uBAAuB,EACvB,sBAAsB,EACtB,cAAc,GACf,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EACL,cAAc,EACd,sBAAsB,EACtB,eAAe,EACf,eAAe,EACf,eAAe,EACf,iBAAiB,EACjB,eAAe,GAChB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EACL,yBAAyB,EACzB,6BAA6B,EAC7B,qBAAqB,EACrB,uBAAuB,EACvB,wBAAwB,EACxB,qBAAqB,EACrB,mBAAmB,EACnB,oBAAoB,EACpB,kBAAkB,EAClB,yBAAyB,EACzB,yBAAyB,EACzB,6BAA6B,EAC7B,2BAA2B,EAC3B,4BAA4B,GAC7B,MAAM,sBAAsB,CAAC;AAiB9B,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { type OutboxRecord } from "./runtime-schemas.js";
|
|
2
|
+
import { type RuntimeStorePaths } from "./runtime-paths.js";
|
|
3
|
+
export declare class OutboxStore {
|
|
4
|
+
private readonly paths;
|
|
5
|
+
private readonly journal;
|
|
6
|
+
constructor(runtimeRootOrPaths?: string | RuntimeStorePaths);
|
|
7
|
+
ensureReady(): Promise<void>;
|
|
8
|
+
load(seq: number): Promise<OutboxRecord | null>;
|
|
9
|
+
loadLatest(): Promise<OutboxRecord | null>;
|
|
10
|
+
list(afterSeq?: number): Promise<OutboxRecord[]>;
|
|
11
|
+
nextSeq(): Promise<number>;
|
|
12
|
+
save(record: OutboxRecord): Promise<OutboxRecord>;
|
|
13
|
+
private acquireAppendLock;
|
|
14
|
+
append(record: Omit<OutboxRecord, "seq">): Promise<OutboxRecord>;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=outbox-store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"outbox-store.d.ts","sourceRoot":"","sources":["../../../src/runtime/store/outbox-store.ts"],"names":[],"mappings":"AAGA,OAAO,EAAsB,KAAK,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAC7E,OAAO,EAEL,KAAK,iBAAiB,EACvB,MAAM,oBAAoB,CAAC;AAU5B,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAoB;IAC1C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiB;gBAE7B,kBAAkB,CAAC,EAAE,MAAM,GAAG,iBAAiB;IAQrD,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAI5B,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;IAI/C,UAAU,IAAI,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC;IAK1C,IAAI,CAAC,QAAQ,SAAI,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAM3C,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC;IAK1B,IAAI,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;YAMzC,iBAAiB;IAuCzB,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,YAAY,EAAE,KAAK,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC;CASvE"}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import * as fs from "node:fs/promises";
|
|
2
|
+
import * as path from "node:path";
|
|
3
|
+
import { RuntimeJournal } from "./runtime-journal.js";
|
|
4
|
+
import { OutboxRecordSchema } from "./runtime-schemas.js";
|
|
5
|
+
import { createRuntimeStorePaths, } from "./runtime-paths.js";
|
|
6
|
+
async function sleep(ms) {
|
|
7
|
+
await new Promise((resolve) => setTimeout(resolve, ms));
|
|
8
|
+
}
|
|
9
|
+
export class OutboxStore {
|
|
10
|
+
paths;
|
|
11
|
+
journal;
|
|
12
|
+
constructor(runtimeRootOrPaths) {
|
|
13
|
+
this.paths =
|
|
14
|
+
typeof runtimeRootOrPaths === "string"
|
|
15
|
+
? createRuntimeStorePaths(runtimeRootOrPaths)
|
|
16
|
+
: runtimeRootOrPaths ?? createRuntimeStorePaths();
|
|
17
|
+
this.journal = new RuntimeJournal(this.paths);
|
|
18
|
+
}
|
|
19
|
+
async ensureReady() {
|
|
20
|
+
await this.journal.ensureReady();
|
|
21
|
+
}
|
|
22
|
+
async load(seq) {
|
|
23
|
+
return this.journal.load(this.paths.outboxRecordPath(seq), OutboxRecordSchema);
|
|
24
|
+
}
|
|
25
|
+
async loadLatest() {
|
|
26
|
+
const records = await this.list();
|
|
27
|
+
return records.at(-1) ?? null;
|
|
28
|
+
}
|
|
29
|
+
async list(afterSeq = 0) {
|
|
30
|
+
const records = await this.journal.list(this.paths.outboxDir, OutboxRecordSchema);
|
|
31
|
+
if (afterSeq <= 0)
|
|
32
|
+
return records;
|
|
33
|
+
return records.filter((record) => record.seq > afterSeq);
|
|
34
|
+
}
|
|
35
|
+
async nextSeq() {
|
|
36
|
+
const latest = await this.loadLatest();
|
|
37
|
+
return latest === null ? 1 : latest.seq + 1;
|
|
38
|
+
}
|
|
39
|
+
async save(record) {
|
|
40
|
+
const parsed = OutboxRecordSchema.parse(record);
|
|
41
|
+
await this.journal.save(this.paths.outboxRecordPath(parsed.seq), OutboxRecordSchema, parsed);
|
|
42
|
+
return parsed;
|
|
43
|
+
}
|
|
44
|
+
async acquireAppendLock() {
|
|
45
|
+
const lockPath = path.join(this.paths.outboxDir, ".append.lock");
|
|
46
|
+
const staleAfterMs = 30_000;
|
|
47
|
+
for (;;) {
|
|
48
|
+
try {
|
|
49
|
+
await fs.mkdir(this.paths.outboxDir, { recursive: true });
|
|
50
|
+
const handle = await fs.open(lockPath, "wx");
|
|
51
|
+
await handle.writeFile(JSON.stringify({
|
|
52
|
+
pid: process.pid,
|
|
53
|
+
acquired_at: Date.now(),
|
|
54
|
+
}));
|
|
55
|
+
return {
|
|
56
|
+
release: async () => {
|
|
57
|
+
await handle.close();
|
|
58
|
+
await fs.unlink(lockPath).catch(() => undefined);
|
|
59
|
+
},
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
catch (err) {
|
|
63
|
+
if (err.code !== "EEXIST")
|
|
64
|
+
throw err;
|
|
65
|
+
try {
|
|
66
|
+
const stat = await fs.stat(lockPath);
|
|
67
|
+
if (Date.now() - stat.mtimeMs > staleAfterMs) {
|
|
68
|
+
await fs.unlink(lockPath);
|
|
69
|
+
continue;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
catch (staleErr) {
|
|
73
|
+
if (staleErr.code === "ENOENT")
|
|
74
|
+
continue;
|
|
75
|
+
throw staleErr;
|
|
76
|
+
}
|
|
77
|
+
await sleep(10);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
async append(record) {
|
|
82
|
+
const lock = await this.acquireAppendLock();
|
|
83
|
+
try {
|
|
84
|
+
const seq = await this.nextSeq();
|
|
85
|
+
return await this.save({ ...record, seq });
|
|
86
|
+
}
|
|
87
|
+
finally {
|
|
88
|
+
await lock.release();
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
//# sourceMappingURL=outbox-store.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"outbox-store.js","sourceRoot":"","sources":["../../../src/runtime/store/outbox-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { RuntimeStorePaths } from "./runtime-paths.js";
|
|
2
|
+
import type { z } from "zod";
|
|
3
|
+
export declare function ensureRuntimeDirectory(dirPath: string): Promise<void>;
|
|
4
|
+
export declare function loadRuntimeJson<T>(filePath: string, schema: z.ZodType<T>): Promise<T | null>;
|
|
5
|
+
export declare function saveRuntimeJson<T>(filePath: string, schema: z.ZodType<T>, value: T): Promise<T>;
|
|
6
|
+
export declare function removeRuntimeJson(filePath: string): Promise<void>;
|
|
7
|
+
export declare function listRuntimeJson<T>(dirPath: string, schema: z.ZodType<T>): Promise<T[]>;
|
|
8
|
+
export declare function moveRuntimeJson(sourcePath: string, targetPath: string): Promise<void>;
|
|
9
|
+
export declare class RuntimeJournal {
|
|
10
|
+
private readonly paths;
|
|
11
|
+
constructor(paths: RuntimeStorePaths);
|
|
12
|
+
ensureReady(): Promise<void>;
|
|
13
|
+
load<T>(filePath: string, schema: z.ZodType<T>): Promise<T | null>;
|
|
14
|
+
save<T>(filePath: string, schema: z.ZodType<T>, value: T): Promise<T>;
|
|
15
|
+
list<T>(dirPath: string, schema: z.ZodType<T>): Promise<T[]>;
|
|
16
|
+
remove(filePath: string): Promise<void>;
|
|
17
|
+
move(sourcePath: string, targetPath: string): Promise<void>;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=runtime-journal.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime-journal.d.ts","sourceRoot":"","sources":["../../../src/runtime/store/runtime-journal.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAE5D,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAE7B,wBAAsB,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE3E;AAED,wBAAsB,eAAe,CAAC,CAAC,EACrC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GACnB,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAKnB;AAED,wBAAsB,eAAe,CAAC,CAAC,EACrC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EACpB,KAAK,EAAE,CAAC,GACP,OAAO,CAAC,CAAC,CAAC,CAIZ;AAED,wBAAsB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAOvE;AAED,wBAAsB,eAAe,CAAC,CAAC,EACrC,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GACnB,OAAO,CAAC,CAAC,EAAE,CAAC,CAgBd;AAED,wBAAsB,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAG3F;AAED,qBAAa,cAAc;IACb,OAAO,CAAC,QAAQ,CAAC,KAAK;gBAAL,KAAK,EAAE,iBAAiB;IAE/C,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAI5B,IAAI,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IAIlE,IAAI,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAIrE,IAAI,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;IAI5D,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIvC,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAGlE"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import * as fsp from "node:fs/promises";
|
|
2
|
+
import * as path from "node:path";
|
|
3
|
+
import { readJsonFileOrNull, writeJsonFileAtomic } from "../../base/utils/json-io.js";
|
|
4
|
+
import { ensureRuntimeStorePaths } from "./runtime-paths.js";
|
|
5
|
+
export async function ensureRuntimeDirectory(dirPath) {
|
|
6
|
+
await fsp.mkdir(dirPath, { recursive: true });
|
|
7
|
+
}
|
|
8
|
+
export async function loadRuntimeJson(filePath, schema) {
|
|
9
|
+
const raw = await readJsonFileOrNull(filePath);
|
|
10
|
+
if (raw === null)
|
|
11
|
+
return null;
|
|
12
|
+
const parsed = schema.safeParse(raw);
|
|
13
|
+
return parsed.success ? parsed.data : null;
|
|
14
|
+
}
|
|
15
|
+
export async function saveRuntimeJson(filePath, schema, value) {
|
|
16
|
+
const parsed = schema.parse(value);
|
|
17
|
+
await writeJsonFileAtomic(filePath, parsed);
|
|
18
|
+
return parsed;
|
|
19
|
+
}
|
|
20
|
+
export async function removeRuntimeJson(filePath) {
|
|
21
|
+
try {
|
|
22
|
+
await fsp.unlink(filePath);
|
|
23
|
+
}
|
|
24
|
+
catch (err) {
|
|
25
|
+
if (err.code === "ENOENT")
|
|
26
|
+
return;
|
|
27
|
+
throw err;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
export async function listRuntimeJson(dirPath, schema) {
|
|
31
|
+
let entries;
|
|
32
|
+
try {
|
|
33
|
+
entries = await fsp.readdir(dirPath);
|
|
34
|
+
}
|
|
35
|
+
catch (err) {
|
|
36
|
+
if (err.code === "ENOENT")
|
|
37
|
+
return [];
|
|
38
|
+
throw err;
|
|
39
|
+
}
|
|
40
|
+
const files = entries.filter((entry) => entry.endsWith(".json")).sort();
|
|
41
|
+
const records = [];
|
|
42
|
+
for (const fileName of files) {
|
|
43
|
+
const record = await loadRuntimeJson(path.join(dirPath, fileName), schema);
|
|
44
|
+
if (record !== null)
|
|
45
|
+
records.push(record);
|
|
46
|
+
}
|
|
47
|
+
return records;
|
|
48
|
+
}
|
|
49
|
+
export async function moveRuntimeJson(sourcePath, targetPath) {
|
|
50
|
+
await fsp.mkdir(path.dirname(targetPath), { recursive: true });
|
|
51
|
+
await fsp.rename(sourcePath, targetPath);
|
|
52
|
+
}
|
|
53
|
+
export class RuntimeJournal {
|
|
54
|
+
paths;
|
|
55
|
+
constructor(paths) {
|
|
56
|
+
this.paths = paths;
|
|
57
|
+
}
|
|
58
|
+
async ensureReady() {
|
|
59
|
+
await ensureRuntimeStorePaths(this.paths);
|
|
60
|
+
}
|
|
61
|
+
async load(filePath, schema) {
|
|
62
|
+
return loadRuntimeJson(filePath, schema);
|
|
63
|
+
}
|
|
64
|
+
async save(filePath, schema, value) {
|
|
65
|
+
return saveRuntimeJson(filePath, schema, value);
|
|
66
|
+
}
|
|
67
|
+
async list(dirPath, schema) {
|
|
68
|
+
return listRuntimeJson(dirPath, schema);
|
|
69
|
+
}
|
|
70
|
+
async remove(filePath) {
|
|
71
|
+
await removeRuntimeJson(filePath);
|
|
72
|
+
}
|
|
73
|
+
async move(sourcePath, targetPath) {
|
|
74
|
+
await moveRuntimeJson(sourcePath, targetPath);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
//# sourceMappingURL=runtime-journal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime-journal.js","sourceRoot":"","sources":["../../../src/runtime/store/runtime-journal.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
export interface RuntimeStorePaths {
|
|
2
|
+
rootDir: string;
|
|
3
|
+
leaderDir: string;
|
|
4
|
+
leaderPath: string;
|
|
5
|
+
inboxDir: string;
|
|
6
|
+
claimsDir: string;
|
|
7
|
+
completedDir: string;
|
|
8
|
+
completedByIdempotencyDir: string;
|
|
9
|
+
completedByMessageDir: string;
|
|
10
|
+
approvalsDir: string;
|
|
11
|
+
approvalsPendingDir: string;
|
|
12
|
+
approvalsResolvedDir: string;
|
|
13
|
+
outboxDir: string;
|
|
14
|
+
leasesDir: string;
|
|
15
|
+
goalLeasesDir: string;
|
|
16
|
+
dlqDir: string;
|
|
17
|
+
healthDir: string;
|
|
18
|
+
daemonHealthPath: string;
|
|
19
|
+
componentsHealthPath: string;
|
|
20
|
+
inboxBucketDir(dateKey: string): string;
|
|
21
|
+
inboxRecordPath(dateKey: string, messageId: string): string;
|
|
22
|
+
approvalPendingPath(approvalId: string): string;
|
|
23
|
+
approvalResolvedPath(approvalId: string): string;
|
|
24
|
+
outboxRecordPath(seq: number): string;
|
|
25
|
+
goalLeasePath(goalId: string): string;
|
|
26
|
+
completedByIdempotencyPath(idempotencyKey: string): string;
|
|
27
|
+
completedByMessagePath(messageId: string): string;
|
|
28
|
+
dlqPath(dateKey: string): string;
|
|
29
|
+
}
|
|
30
|
+
export declare function encodeRuntimePathSegment(value: string): string;
|
|
31
|
+
export declare function resolveRuntimeRootPath(runtimeRoot?: string): string;
|
|
32
|
+
export declare function runtimeDateKey(timestamp?: number | Date): string;
|
|
33
|
+
export declare function createRuntimeStorePaths(runtimeRoot?: string): RuntimeStorePaths;
|
|
34
|
+
export declare function ensureRuntimeStorePaths(paths: RuntimeStorePaths): Promise<void>;
|
|
35
|
+
//# sourceMappingURL=runtime-paths.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime-paths.d.ts","sourceRoot":"","sources":["../../../src/runtime/store/runtime-paths.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,yBAAyB,EAAE,MAAM,CAAC;IAClC,qBAAqB,EAAE,MAAM,CAAC;IAC9B,YAAY,EAAE,MAAM,CAAC;IACrB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,MAAM,CAAC;IACzB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC;IACxC,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5D,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAAC;IAChD,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAAC;IACjD,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;IACtC,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;IACtC,0BAA0B,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3D,sBAAsB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC;IAClD,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC;CAClC;AAUD,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAE9D;AAOD,wBAAgB,sBAAsB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,CAEnE;AAED,wBAAgB,cAAc,CAAC,SAAS,GAAE,MAAM,GAAG,IAAiB,GAAG,MAAM,CAG5E;AAED,wBAAgB,uBAAuB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,iBAAiB,CAgE/E;AAED,wBAAsB,uBAAuB,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAoBrF"}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
import { createHash } from "node:crypto";
|
|
2
|
+
import * as path from "node:path";
|
|
3
|
+
import * as fsp from "node:fs/promises";
|
|
4
|
+
import { getPulseedDirPath } from "../../base/utils/paths.js";
|
|
5
|
+
function recordFileName(recordId) {
|
|
6
|
+
return `${recordId}.json`;
|
|
7
|
+
}
|
|
8
|
+
function outboxFileName(seq) {
|
|
9
|
+
return `${String(seq).padStart(12, "0")}.json`;
|
|
10
|
+
}
|
|
11
|
+
export function encodeRuntimePathSegment(value) {
|
|
12
|
+
return encodeURIComponent(value);
|
|
13
|
+
}
|
|
14
|
+
function hashedRecordFileName(value) {
|
|
15
|
+
const digest = createHash("sha256").update(value).digest("hex");
|
|
16
|
+
return `${digest}.json`;
|
|
17
|
+
}
|
|
18
|
+
export function resolveRuntimeRootPath(runtimeRoot) {
|
|
19
|
+
return runtimeRoot ? path.resolve(runtimeRoot) : path.join(getPulseedDirPath(), "runtime");
|
|
20
|
+
}
|
|
21
|
+
export function runtimeDateKey(timestamp = Date.now()) {
|
|
22
|
+
const date = timestamp instanceof Date ? timestamp : new Date(timestamp);
|
|
23
|
+
return date.toISOString().slice(0, 10);
|
|
24
|
+
}
|
|
25
|
+
export function createRuntimeStorePaths(runtimeRoot) {
|
|
26
|
+
const rootDir = resolveRuntimeRootPath(runtimeRoot);
|
|
27
|
+
const leaderDir = path.join(rootDir, "leader");
|
|
28
|
+
const inboxDir = path.join(rootDir, "inbox");
|
|
29
|
+
const claimsDir = path.join(rootDir, "claims");
|
|
30
|
+
const completedDir = path.join(rootDir, "completed");
|
|
31
|
+
const completedByIdempotencyDir = path.join(completedDir, "by-idempotency");
|
|
32
|
+
const completedByMessageDir = path.join(completedDir, "by-message");
|
|
33
|
+
const approvalsDir = path.join(rootDir, "approvals");
|
|
34
|
+
const approvalsPendingDir = path.join(approvalsDir, "pending");
|
|
35
|
+
const approvalsResolvedDir = path.join(approvalsDir, "resolved");
|
|
36
|
+
const outboxDir = path.join(rootDir, "outbox");
|
|
37
|
+
const leasesDir = path.join(rootDir, "leases");
|
|
38
|
+
const goalLeasesDir = path.join(leasesDir, "goal");
|
|
39
|
+
const dlqDir = path.join(rootDir, "dlq");
|
|
40
|
+
const healthDir = path.join(rootDir, "health");
|
|
41
|
+
return {
|
|
42
|
+
rootDir,
|
|
43
|
+
leaderDir,
|
|
44
|
+
leaderPath: path.join(leaderDir, "leader.json"),
|
|
45
|
+
inboxDir,
|
|
46
|
+
claimsDir,
|
|
47
|
+
completedDir,
|
|
48
|
+
completedByIdempotencyDir,
|
|
49
|
+
completedByMessageDir,
|
|
50
|
+
approvalsDir,
|
|
51
|
+
approvalsPendingDir,
|
|
52
|
+
approvalsResolvedDir,
|
|
53
|
+
outboxDir,
|
|
54
|
+
leasesDir,
|
|
55
|
+
goalLeasesDir,
|
|
56
|
+
dlqDir,
|
|
57
|
+
healthDir,
|
|
58
|
+
daemonHealthPath: path.join(healthDir, "daemon.json"),
|
|
59
|
+
componentsHealthPath: path.join(healthDir, "components.json"),
|
|
60
|
+
inboxBucketDir(dateKey) {
|
|
61
|
+
return path.join(inboxDir, dateKey);
|
|
62
|
+
},
|
|
63
|
+
inboxRecordPath(dateKey, messageId) {
|
|
64
|
+
return path.join(inboxDir, dateKey, recordFileName(messageId));
|
|
65
|
+
},
|
|
66
|
+
approvalPendingPath(approvalId) {
|
|
67
|
+
return path.join(approvalsPendingDir, recordFileName(approvalId));
|
|
68
|
+
},
|
|
69
|
+
approvalResolvedPath(approvalId) {
|
|
70
|
+
return path.join(approvalsResolvedDir, recordFileName(approvalId));
|
|
71
|
+
},
|
|
72
|
+
outboxRecordPath(seq) {
|
|
73
|
+
return path.join(outboxDir, outboxFileName(seq));
|
|
74
|
+
},
|
|
75
|
+
goalLeasePath(goalId) {
|
|
76
|
+
return path.join(goalLeasesDir, `${encodeRuntimePathSegment(goalId)}.json`);
|
|
77
|
+
},
|
|
78
|
+
completedByIdempotencyPath(idempotencyKey) {
|
|
79
|
+
return path.join(completedByIdempotencyDir, hashedRecordFileName(idempotencyKey));
|
|
80
|
+
},
|
|
81
|
+
completedByMessagePath(messageId) {
|
|
82
|
+
return path.join(completedByMessageDir, recordFileName(messageId));
|
|
83
|
+
},
|
|
84
|
+
dlqPath(dateKey) {
|
|
85
|
+
return path.join(dlqDir, `${dateKey}.jsonl`);
|
|
86
|
+
},
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
export async function ensureRuntimeStorePaths(paths) {
|
|
90
|
+
await Promise.all([
|
|
91
|
+
paths.rootDir,
|
|
92
|
+
paths.leaderDir,
|
|
93
|
+
paths.inboxDir,
|
|
94
|
+
paths.claimsDir,
|
|
95
|
+
paths.completedDir,
|
|
96
|
+
paths.completedByIdempotencyDir,
|
|
97
|
+
paths.completedByMessageDir,
|
|
98
|
+
paths.approvalsDir,
|
|
99
|
+
paths.approvalsPendingDir,
|
|
100
|
+
paths.approvalsResolvedDir,
|
|
101
|
+
paths.outboxDir,
|
|
102
|
+
paths.leasesDir,
|
|
103
|
+
paths.goalLeasesDir,
|
|
104
|
+
paths.dlqDir,
|
|
105
|
+
paths.healthDir,
|
|
106
|
+
].map((dir) => fsp.mkdir(dir, { recursive: true })));
|
|
107
|
+
}
|
|
108
|
+
//# sourceMappingURL=runtime-paths.js.map
|