pulseed 0.4.4 → 0.4.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +30 -102
- package/dist/adapters/agents/native-agent-loop.d.ts +7 -0
- package/dist/adapters/agents/native-agent-loop.d.ts.map +1 -0
- package/dist/adapters/agents/native-agent-loop.js +19 -0
- package/dist/adapters/agents/native-agent-loop.js.map +1 -0
- package/dist/adapters/agents/openai-codex.d.ts +3 -0
- package/dist/adapters/agents/openai-codex.d.ts.map +1 -1
- package/dist/adapters/agents/openai-codex.js +7 -1
- package/dist/adapters/agents/openai-codex.js.map +1 -1
- package/dist/adapters/datasources/github-issue-datasource.d.ts +13 -0
- package/dist/adapters/datasources/github-issue-datasource.d.ts.map +1 -1
- package/dist/adapters/datasources/github-issue-datasource.js +114 -134
- package/dist/adapters/datasources/github-issue-datasource.js.map +1 -1
- package/dist/adapters/spawn-helper.js +3 -3
- package/dist/adapters/spawn-helper.js.map +1 -1
- package/dist/base/llm/provider-config.d.ts +11 -2
- package/dist/base/llm/provider-config.d.ts.map +1 -1
- package/dist/base/llm/provider-config.js +13 -7
- package/dist/base/llm/provider-config.js.map +1 -1
- package/dist/base/llm/provider-factory.d.ts +2 -2
- package/dist/base/llm/provider-factory.js +4 -4
- package/dist/base/llm/provider-factory.js.map +1 -1
- package/dist/base/state/state-lock.d.ts +3 -1
- package/dist/base/state/state-lock.d.ts.map +1 -1
- package/dist/base/state/state-lock.js +52 -10
- package/dist/base/state/state-lock.js.map +1 -1
- package/dist/base/state/state-manager-goal-write.d.ts +4 -0
- package/dist/base/state/state-manager-goal-write.d.ts.map +1 -1
- package/dist/base/state/state-manager-goal-write.js +45 -3
- package/dist/base/state/state-manager-goal-write.js.map +1 -1
- package/dist/base/state/state-manager-wal.d.ts.map +1 -1
- package/dist/base/state/state-manager-wal.js +12 -0
- package/dist/base/state/state-manager-wal.js.map +1 -1
- package/dist/base/state/state-manager.d.ts +12 -0
- package/dist/base/state/state-manager.d.ts.map +1 -1
- package/dist/base/state/state-manager.js +221 -177
- package/dist/base/state/state-manager.js.map +1 -1
- package/dist/index.d.ts +13 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +9 -0
- package/dist/index.js.map +1 -1
- package/dist/interface/chat/chat-event-state.d.ts.map +1 -1
- package/dist/interface/chat/chat-event-state.js +12 -24
- package/dist/interface/chat/chat-event-state.js.map +1 -1
- package/dist/interface/chat/chat-events.d.ts +9 -1
- package/dist/interface/chat/chat-events.d.ts.map +1 -1
- package/dist/interface/chat/chat-history.d.ts +3 -2
- package/dist/interface/chat/chat-history.d.ts.map +1 -1
- package/dist/interface/chat/chat-history.js +3 -0
- package/dist/interface/chat/chat-history.js.map +1 -1
- package/dist/interface/chat/chat-runner.d.ts +28 -0
- package/dist/interface/chat/chat-runner.d.ts.map +1 -1
- package/dist/interface/chat/chat-runner.js +392 -45
- package/dist/interface/chat/chat-runner.js.map +1 -1
- package/dist/interface/chat/cross-platform-session.d.ts +78 -0
- package/dist/interface/chat/cross-platform-session.d.ts.map +1 -0
- package/dist/interface/chat/cross-platform-session.js +249 -0
- package/dist/interface/chat/cross-platform-session.js.map +1 -0
- package/dist/interface/chat/event-subscriber.d.ts +3 -1
- package/dist/interface/chat/event-subscriber.d.ts.map +1 -1
- package/dist/interface/chat/event-subscriber.js +13 -3
- package/dist/interface/chat/event-subscriber.js.map +1 -1
- package/dist/interface/cli/commands/chat.d.ts.map +1 -1
- package/dist/interface/cli/commands/chat.js +57 -3
- 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 +30 -1
- 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 +29 -6
- package/dist/interface/cli/commands/daemon.js.map +1 -1
- package/dist/interface/cli/commands/doctor.d.ts +4 -0
- package/dist/interface/cli/commands/doctor.d.ts.map +1 -1
- package/dist/interface/cli/commands/doctor.js +172 -1
- package/dist/interface/cli/commands/doctor.js.map +1 -1
- package/dist/interface/cli/commands/install.d.ts +1 -0
- package/dist/interface/cli/commands/install.d.ts.map +1 -1
- package/dist/interface/cli/commands/install.js +6 -1
- package/dist/interface/cli/commands/install.js.map +1 -1
- package/dist/interface/cli/commands/notify.d.ts.map +1 -1
- package/dist/interface/cli/commands/notify.js +33 -21
- package/dist/interface/cli/commands/notify.js.map +1 -1
- package/dist/interface/cli/commands/setup/import/apply.d.ts +3 -0
- package/dist/interface/cli/commands/setup/import/apply.d.ts.map +1 -0
- package/dist/interface/cli/commands/setup/import/apply.js +140 -0
- package/dist/interface/cli/commands/setup/import/apply.js.map +1 -0
- package/dist/interface/cli/commands/setup/import/constants.d.ts +5 -0
- package/dist/interface/cli/commands/setup/import/constants.d.ts.map +1 -0
- package/dist/interface/cli/commands/setup/import/constants.js +19 -0
- package/dist/interface/cli/commands/setup/import/constants.js.map +1 -0
- package/dist/interface/cli/commands/setup/import/discovery.d.ts +3 -0
- package/dist/interface/cli/commands/setup/import/discovery.d.ts.map +1 -0
- package/dist/interface/cli/commands/setup/import/discovery.js +140 -0
- package/dist/interface/cli/commands/setup/import/discovery.js.map +1 -0
- package/dist/interface/cli/commands/setup/import/flow.d.ts +5 -0
- package/dist/interface/cli/commands/setup/import/flow.d.ts.map +1 -0
- package/dist/interface/cli/commands/setup/import/flow.js +138 -0
- package/dist/interface/cli/commands/setup/import/flow.js.map +1 -0
- package/dist/interface/cli/commands/setup/import/fs-utils.d.ts +9 -0
- package/dist/interface/cli/commands/setup/import/fs-utils.d.ts.map +1 -0
- package/dist/interface/cli/commands/setup/import/fs-utils.js +83 -0
- package/dist/interface/cli/commands/setup/import/fs-utils.js.map +1 -0
- package/dist/interface/cli/commands/setup/import/mcp.d.ts +4 -0
- package/dist/interface/cli/commands/setup/import/mcp.d.ts.map +1 -0
- package/dist/interface/cli/commands/setup/import/mcp.js +71 -0
- package/dist/interface/cli/commands/setup/import/mcp.js.map +1 -0
- package/dist/interface/cli/commands/setup/import/parse.d.ts +7 -0
- package/dist/interface/cli/commands/setup/import/parse.d.ts.map +1 -0
- package/dist/interface/cli/commands/setup/import/parse.js +40 -0
- package/dist/interface/cli/commands/setup/import/parse.js.map +1 -0
- package/dist/interface/cli/commands/setup/import/provider.d.ts +4 -0
- package/dist/interface/cli/commands/setup/import/provider.d.ts.map +1 -0
- package/dist/interface/cli/commands/setup/import/provider.js +142 -0
- package/dist/interface/cli/commands/setup/import/provider.js.map +1 -0
- package/dist/interface/cli/commands/setup/import/types.d.ts +53 -0
- package/dist/interface/cli/commands/setup/import/types.d.ts.map +1 -0
- package/dist/interface/cli/commands/setup/import/types.js +2 -0
- package/dist/interface/cli/commands/setup/import/types.js.map +1 -0
- package/dist/interface/cli/commands/setup/steps-adapter.d.ts +1 -1
- package/dist/interface/cli/commands/setup/steps-adapter.d.ts.map +1 -1
- package/dist/interface/cli/commands/setup/steps-adapter.js +32 -5
- package/dist/interface/cli/commands/setup/steps-adapter.js.map +1 -1
- package/dist/interface/cli/commands/setup/steps-identity.d.ts +2 -2
- package/dist/interface/cli/commands/setup/steps-identity.d.ts.map +1 -1
- package/dist/interface/cli/commands/setup/steps-identity.js +10 -4
- package/dist/interface/cli/commands/setup/steps-identity.js.map +1 -1
- package/dist/interface/cli/commands/setup/steps-notification.d.ts.map +1 -1
- package/dist/interface/cli/commands/setup/steps-notification.js +3 -2
- package/dist/interface/cli/commands/setup/steps-notification.js.map +1 -1
- package/dist/interface/cli/commands/setup/steps-provider.d.ts +4 -4
- package/dist/interface/cli/commands/setup/steps-provider.d.ts.map +1 -1
- package/dist/interface/cli/commands/setup/steps-provider.js +58 -10
- package/dist/interface/cli/commands/setup/steps-provider.js.map +1 -1
- package/dist/interface/cli/commands/setup/steps-runtime.d.ts.map +1 -1
- package/dist/interface/cli/commands/setup/steps-runtime.js +2 -3
- package/dist/interface/cli/commands/setup/steps-runtime.js.map +1 -1
- package/dist/interface/cli/commands/setup-shared.js +6 -6
- package/dist/interface/cli/commands/setup-shared.js.map +1 -1
- package/dist/interface/cli/commands/setup-wizard.d.ts.map +1 -1
- package/dist/interface/cli/commands/setup-wizard.js +309 -62
- package/dist/interface/cli/commands/setup-wizard.js.map +1 -1
- package/dist/interface/cli/commands/setup.d.ts.map +1 -1
- package/dist/interface/cli/commands/setup.js +38 -1
- package/dist/interface/cli/commands/setup.js.map +1 -1
- package/dist/interface/cli/commands/telegram.d.ts.map +1 -1
- package/dist/interface/cli/commands/telegram.js +15 -1
- package/dist/interface/cli/commands/telegram.js.map +1 -1
- package/dist/interface/cli/setup.d.ts +12 -1
- package/dist/interface/cli/setup.d.ts.map +1 -1
- package/dist/interface/cli/setup.js +146 -17
- package/dist/interface/cli/setup.js.map +1 -1
- package/dist/interface/cli/utils.js +1 -1
- package/dist/interface/tui/entry.d.ts.map +1 -1
- package/dist/interface/tui/entry.js +69 -17
- package/dist/interface/tui/entry.js.map +1 -1
- package/dist/orchestrator/execution/adapter-layer.d.ts +19 -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-budget.d.ts +15 -0
- package/dist/orchestrator/execution/agent-loop/agent-loop-budget.d.ts.map +1 -0
- package/dist/orchestrator/execution/agent-loop/agent-loop-budget.js +12 -0
- package/dist/orchestrator/execution/agent-loop/agent-loop-budget.js.map +1 -0
- package/dist/orchestrator/execution/agent-loop/agent-loop-command-classifier.d.ts +9 -0
- package/dist/orchestrator/execution/agent-loop/agent-loop-command-classifier.d.ts.map +1 -0
- package/dist/orchestrator/execution/agent-loop/agent-loop-command-classifier.js +40 -0
- package/dist/orchestrator/execution/agent-loop/agent-loop-command-classifier.js.map +1 -0
- package/dist/orchestrator/execution/agent-loop/agent-loop-compactor.d.ts +33 -0
- package/dist/orchestrator/execution/agent-loop/agent-loop-compactor.d.ts.map +1 -0
- package/dist/orchestrator/execution/agent-loop/agent-loop-compactor.js +68 -0
- package/dist/orchestrator/execution/agent-loop/agent-loop-compactor.js.map +1 -0
- package/dist/orchestrator/execution/agent-loop/agent-loop-context-assembler.d.ts +38 -0
- package/dist/orchestrator/execution/agent-loop/agent-loop-context-assembler.d.ts.map +1 -0
- package/dist/orchestrator/execution/agent-loop/agent-loop-context-assembler.js +109 -0
- package/dist/orchestrator/execution/agent-loop/agent-loop-context-assembler.js.map +1 -0
- package/dist/orchestrator/execution/agent-loop/agent-loop-dogfood-benchmark.d.ts +76 -0
- package/dist/orchestrator/execution/agent-loop/agent-loop-dogfood-benchmark.d.ts.map +1 -0
- package/dist/orchestrator/execution/agent-loop/agent-loop-dogfood-benchmark.js +164 -0
- package/dist/orchestrator/execution/agent-loop/agent-loop-dogfood-benchmark.js.map +1 -0
- package/dist/orchestrator/execution/agent-loop/agent-loop-evaluator.d.ts +46 -0
- package/dist/orchestrator/execution/agent-loop/agent-loop-evaluator.d.ts.map +1 -0
- package/dist/orchestrator/execution/agent-loop/agent-loop-evaluator.js +75 -0
- package/dist/orchestrator/execution/agent-loop/agent-loop-evaluator.js.map +1 -0
- package/dist/orchestrator/execution/agent-loop/agent-loop-events.d.ts +98 -0
- package/dist/orchestrator/execution/agent-loop/agent-loop-events.d.ts.map +1 -0
- package/dist/orchestrator/execution/agent-loop/agent-loop-events.js +6 -0
- package/dist/orchestrator/execution/agent-loop/agent-loop-events.js.map +1 -0
- package/dist/orchestrator/execution/agent-loop/agent-loop-history.d.ts +8 -0
- package/dist/orchestrator/execution/agent-loop/agent-loop-history.d.ts.map +1 -0
- package/dist/orchestrator/execution/agent-loop/agent-loop-history.js +7 -0
- package/dist/orchestrator/execution/agent-loop/agent-loop-history.js.map +1 -0
- package/dist/orchestrator/execution/agent-loop/agent-loop-model-client-factory.d.ts +9 -0
- package/dist/orchestrator/execution/agent-loop/agent-loop-model-client-factory.d.ts.map +1 -0
- package/dist/orchestrator/execution/agent-loop/agent-loop-model-client-factory.js +19 -0
- package/dist/orchestrator/execution/agent-loop/agent-loop-model-client-factory.js.map +1 -0
- package/dist/orchestrator/execution/agent-loop/agent-loop-model-client.d.ts +13 -0
- package/dist/orchestrator/execution/agent-loop/agent-loop-model-client.d.ts.map +1 -0
- package/dist/orchestrator/execution/agent-loop/agent-loop-model-client.js +72 -0
- package/dist/orchestrator/execution/agent-loop/agent-loop-model-client.js.map +1 -0
- package/dist/orchestrator/execution/agent-loop/agent-loop-model-registry.d.ts +10 -0
- package/dist/orchestrator/execution/agent-loop/agent-loop-model-registry.d.ts.map +1 -0
- package/dist/orchestrator/execution/agent-loop/agent-loop-model-registry.js +26 -0
- package/dist/orchestrator/execution/agent-loop/agent-loop-model-registry.js.map +1 -0
- package/dist/orchestrator/execution/agent-loop/agent-loop-model.d.ts +87 -0
- package/dist/orchestrator/execution/agent-loop/agent-loop-model.d.ts.map +1 -0
- package/dist/orchestrator/execution/agent-loop/agent-loop-model.js +22 -0
- package/dist/orchestrator/execution/agent-loop/agent-loop-model.js.map +1 -0
- package/dist/orchestrator/execution/agent-loop/agent-loop-prompts.d.ts +5 -0
- package/dist/orchestrator/execution/agent-loop/agent-loop-prompts.d.ts.map +1 -0
- package/dist/orchestrator/execution/agent-loop/agent-loop-prompts.js +18 -0
- package/dist/orchestrator/execution/agent-loop/agent-loop-prompts.js.map +1 -0
- package/dist/orchestrator/execution/agent-loop/agent-loop-real-dogfood.d.ts +2 -0
- package/dist/orchestrator/execution/agent-loop/agent-loop-real-dogfood.d.ts.map +1 -0
- package/dist/orchestrator/execution/agent-loop/agent-loop-real-dogfood.js +362 -0
- package/dist/orchestrator/execution/agent-loop/agent-loop-real-dogfood.js.map +1 -0
- package/dist/orchestrator/execution/agent-loop/agent-loop-result.d.ts +42 -0
- package/dist/orchestrator/execution/agent-loop/agent-loop-result.d.ts.map +1 -0
- package/dist/orchestrator/execution/agent-loop/agent-loop-result.js +2 -0
- package/dist/orchestrator/execution/agent-loop/agent-loop-result.js.map +1 -0
- package/dist/orchestrator/execution/agent-loop/agent-loop-session-factory.d.ts +15 -0
- package/dist/orchestrator/execution/agent-loop/agent-loop-session-factory.d.ts.map +1 -0
- package/dist/orchestrator/execution/agent-loop/agent-loop-session-factory.js +26 -0
- package/dist/orchestrator/execution/agent-loop/agent-loop-session-factory.js.map +1 -0
- package/dist/orchestrator/execution/agent-loop/agent-loop-session-state.d.ts +40 -0
- package/dist/orchestrator/execution/agent-loop/agent-loop-session-state.d.ts.map +1 -0
- package/dist/orchestrator/execution/agent-loop/agent-loop-session-state.js +125 -0
- package/dist/orchestrator/execution/agent-loop/agent-loop-session-state.js.map +1 -0
- package/dist/orchestrator/execution/agent-loop/agent-loop-session.d.ts +21 -0
- package/dist/orchestrator/execution/agent-loop/agent-loop-session.d.ts.map +1 -0
- package/dist/orchestrator/execution/agent-loop/agent-loop-session.js +16 -0
- package/dist/orchestrator/execution/agent-loop/agent-loop-session.js.map +1 -0
- package/dist/orchestrator/execution/agent-loop/agent-loop-tool-output.d.ts +21 -0
- package/dist/orchestrator/execution/agent-loop/agent-loop-tool-output.d.ts.map +1 -0
- package/dist/orchestrator/execution/agent-loop/agent-loop-tool-output.js +2 -0
- package/dist/orchestrator/execution/agent-loop/agent-loop-tool-output.js.map +1 -0
- package/dist/orchestrator/execution/agent-loop/agent-loop-tool-router.d.ts +19 -0
- package/dist/orchestrator/execution/agent-loop/agent-loop-tool-router.d.ts.map +1 -0
- package/dist/orchestrator/execution/agent-loop/agent-loop-tool-router.js +34 -0
- package/dist/orchestrator/execution/agent-loop/agent-loop-tool-router.js.map +1 -0
- package/dist/orchestrator/execution/agent-loop/agent-loop-tool-runtime.d.ts +21 -0
- package/dist/orchestrator/execution/agent-loop/agent-loop-tool-runtime.d.ts.map +1 -0
- package/dist/orchestrator/execution/agent-loop/agent-loop-tool-runtime.js +114 -0
- package/dist/orchestrator/execution/agent-loop/agent-loop-tool-runtime.js.map +1 -0
- package/dist/orchestrator/execution/agent-loop/agent-loop-trace-store.d.ts +18 -0
- package/dist/orchestrator/execution/agent-loop/agent-loop-trace-store.d.ts.map +1 -0
- package/dist/orchestrator/execution/agent-loop/agent-loop-trace-store.js +31 -0
- package/dist/orchestrator/execution/agent-loop/agent-loop-trace-store.js.map +1 -0
- package/dist/orchestrator/execution/agent-loop/agent-loop-turn-context.d.ts +39 -0
- package/dist/orchestrator/execution/agent-loop/agent-loop-turn-context.d.ts.map +1 -0
- package/dist/orchestrator/execution/agent-loop/agent-loop-turn-context.js +5 -0
- package/dist/orchestrator/execution/agent-loop/agent-loop-turn-context.js.map +1 -0
- package/dist/orchestrator/execution/agent-loop/anthropic-messages-agent-loop-model-client.d.ts +23 -0
- package/dist/orchestrator/execution/agent-loop/anthropic-messages-agent-loop-model-client.d.ts.map +1 -0
- package/dist/orchestrator/execution/agent-loop/anthropic-messages-agent-loop-model-client.js +156 -0
- package/dist/orchestrator/execution/agent-loop/anthropic-messages-agent-loop-model-client.js.map +1 -0
- package/dist/orchestrator/execution/agent-loop/bounded-agent-loop-runner.d.ts +38 -0
- package/dist/orchestrator/execution/agent-loop/bounded-agent-loop-runner.d.ts.map +1 -0
- package/dist/orchestrator/execution/agent-loop/bounded-agent-loop-runner.js +479 -0
- package/dist/orchestrator/execution/agent-loop/bounded-agent-loop-runner.js.map +1 -0
- package/dist/orchestrator/execution/agent-loop/chat-agent-loop-runner.d.ts +67 -0
- package/dist/orchestrator/execution/agent-loop/chat-agent-loop-runner.d.ts.map +1 -0
- package/dist/orchestrator/execution/agent-loop/chat-agent-loop-runner.js +113 -0
- package/dist/orchestrator/execution/agent-loop/chat-agent-loop-runner.js.map +1 -0
- package/dist/orchestrator/execution/agent-loop/core-loop-control-tools.d.ts +33 -0
- package/dist/orchestrator/execution/agent-loop/core-loop-control-tools.d.ts.map +1 -0
- package/dist/orchestrator/execution/agent-loop/core-loop-control-tools.js +89 -0
- package/dist/orchestrator/execution/agent-loop/core-loop-control-tools.js.map +1 -0
- package/dist/orchestrator/execution/agent-loop/core-phase-runner.d.ts +32 -0
- package/dist/orchestrator/execution/agent-loop/core-phase-runner.d.ts.map +1 -0
- package/dist/orchestrator/execution/agent-loop/core-phase-runner.js +40 -0
- package/dist/orchestrator/execution/agent-loop/core-phase-runner.js.map +1 -0
- package/dist/orchestrator/execution/agent-loop/index.d.ts +35 -0
- package/dist/orchestrator/execution/agent-loop/index.d.ts.map +1 -0
- package/dist/orchestrator/execution/agent-loop/index.js +35 -0
- package/dist/orchestrator/execution/agent-loop/index.js.map +1 -0
- package/dist/orchestrator/execution/agent-loop/openai-responses-agent-loop-model-client.d.ts +18 -0
- package/dist/orchestrator/execution/agent-loop/openai-responses-agent-loop-model-client.d.ts.map +1 -0
- package/dist/orchestrator/execution/agent-loop/openai-responses-agent-loop-model-client.js +148 -0
- package/dist/orchestrator/execution/agent-loop/openai-responses-agent-loop-model-client.js.map +1 -0
- package/dist/orchestrator/execution/agent-loop/task-agent-loop-context.d.ts +26 -0
- package/dist/orchestrator/execution/agent-loop/task-agent-loop-context.d.ts.map +1 -0
- package/dist/orchestrator/execution/agent-loop/task-agent-loop-context.js +79 -0
- package/dist/orchestrator/execution/agent-loop/task-agent-loop-context.js.map +1 -0
- package/dist/orchestrator/execution/agent-loop/task-agent-loop-factory.d.ts +28 -0
- package/dist/orchestrator/execution/agent-loop/task-agent-loop-factory.d.ts.map +1 -0
- package/dist/orchestrator/execution/agent-loop/task-agent-loop-factory.js +96 -0
- package/dist/orchestrator/execution/agent-loop/task-agent-loop-factory.js.map +1 -0
- package/dist/orchestrator/execution/agent-loop/task-agent-loop-result.d.ts +54 -0
- package/dist/orchestrator/execution/agent-loop/task-agent-loop-result.d.ts.map +1 -0
- package/dist/orchestrator/execution/agent-loop/task-agent-loop-result.js +61 -0
- package/dist/orchestrator/execution/agent-loop/task-agent-loop-result.js.map +1 -0
- package/dist/orchestrator/execution/agent-loop/task-agent-loop-runner.d.ts +46 -0
- package/dist/orchestrator/execution/agent-loop/task-agent-loop-runner.d.ts.map +1 -0
- package/dist/orchestrator/execution/agent-loop/task-agent-loop-runner.js +70 -0
- package/dist/orchestrator/execution/agent-loop/task-agent-loop-runner.js.map +1 -0
- package/dist/orchestrator/execution/agent-loop/task-agent-loop-verification.d.ts +5 -0
- package/dist/orchestrator/execution/agent-loop/task-agent-loop-verification.d.ts.map +1 -0
- package/dist/orchestrator/execution/agent-loop/task-agent-loop-verification.js +94 -0
- package/dist/orchestrator/execution/agent-loop/task-agent-loop-verification.js.map +1 -0
- package/dist/orchestrator/execution/agent-loop/task-agent-loop-worktree.d.ts +23 -0
- package/dist/orchestrator/execution/agent-loop/task-agent-loop-worktree.d.ts.map +1 -0
- package/dist/orchestrator/execution/agent-loop/task-agent-loop-worktree.js +145 -0
- package/dist/orchestrator/execution/agent-loop/task-agent-loop-worktree.js.map +1 -0
- package/dist/orchestrator/execution/context/dimension-selector.d.ts +5 -1
- package/dist/orchestrator/execution/context/dimension-selector.d.ts.map +1 -1
- package/dist/orchestrator/execution/context/dimension-selector.js +9 -5
- package/dist/orchestrator/execution/context/dimension-selector.js.map +1 -1
- package/dist/orchestrator/execution/pipeline-executor.d.ts +1 -0
- package/dist/orchestrator/execution/pipeline-executor.d.ts.map +1 -1
- package/dist/orchestrator/execution/pipeline-executor.js +39 -8
- package/dist/orchestrator/execution/pipeline-executor.js.map +1 -1
- package/dist/orchestrator/execution/result-reconciler.d.ts.map +1 -1
- package/dist/orchestrator/execution/result-reconciler.js +79 -54
- package/dist/orchestrator/execution/result-reconciler.js.map +1 -1
- package/dist/orchestrator/execution/task/task-execution-helpers.d.ts +2 -1
- package/dist/orchestrator/execution/task/task-execution-helpers.d.ts.map +1 -1
- package/dist/orchestrator/execution/task/task-execution-helpers.js +11 -1
- package/dist/orchestrator/execution/task/task-execution-helpers.js.map +1 -1
- package/dist/orchestrator/execution/task/task-generation.d.ts.map +1 -1
- package/dist/orchestrator/execution/task/task-generation.js +46 -6
- package/dist/orchestrator/execution/task/task-generation.js.map +1 -1
- package/dist/orchestrator/execution/task/task-health-check.d.ts +1 -1
- package/dist/orchestrator/execution/task/task-health-check.d.ts.map +1 -1
- package/dist/orchestrator/execution/task/task-health-check.js +8 -8
- package/dist/orchestrator/execution/task/task-health-check.js.map +1 -1
- package/dist/orchestrator/execution/task/task-lifecycle.d.ts +23 -4
- package/dist/orchestrator/execution/task/task-lifecycle.d.ts.map +1 -1
- package/dist/orchestrator/execution/task/task-lifecycle.js +188 -25
- package/dist/orchestrator/execution/task/task-lifecycle.js.map +1 -1
- package/dist/orchestrator/execution/task/task-prompt-builder.d.ts.map +1 -1
- package/dist/orchestrator/execution/task/task-prompt-builder.js +63 -3
- package/dist/orchestrator/execution/task/task-prompt-builder.js.map +1 -1
- package/dist/orchestrator/execution/task/task-verifier-llm.d.ts.map +1 -1
- package/dist/orchestrator/execution/task/task-verifier-llm.js +19 -1
- package/dist/orchestrator/execution/task/task-verifier-llm.js.map +1 -1
- package/dist/orchestrator/execution/task/task-verifier-rules.d.ts.map +1 -1
- package/dist/orchestrator/execution/task/task-verifier-rules.js +96 -44
- package/dist/orchestrator/execution/task/task-verifier-rules.js.map +1 -1
- package/dist/orchestrator/execution/task/task-verifier-types.d.ts +8 -0
- package/dist/orchestrator/execution/task/task-verifier-types.d.ts.map +1 -1
- package/dist/orchestrator/execution/task/task-verifier-types.js.map +1 -1
- package/dist/orchestrator/execution/task/task-verifier.d.ts.map +1 -1
- package/dist/orchestrator/execution/task/task-verifier.js +19 -1
- package/dist/orchestrator/execution/task/task-verifier.js.map +1 -1
- package/dist/orchestrator/goal/goal-dependency-graph.d.ts.map +1 -1
- package/dist/orchestrator/goal/goal-dependency-graph.js +20 -8
- package/dist/orchestrator/goal/goal-dependency-graph.js.map +1 -1
- package/dist/orchestrator/goal/goal-refiner.d.ts +3 -5
- package/dist/orchestrator/goal/goal-refiner.d.ts.map +1 -1
- package/dist/orchestrator/goal/goal-refiner.js +3 -5
- package/dist/orchestrator/goal/goal-refiner.js.map +1 -1
- package/dist/orchestrator/goal/tree-loop-orchestrator.d.ts +9 -0
- package/dist/orchestrator/goal/tree-loop-orchestrator.d.ts.map +1 -1
- package/dist/orchestrator/goal/tree-loop-orchestrator.js +32 -0
- package/dist/orchestrator/goal/tree-loop-orchestrator.js.map +1 -1
- package/dist/orchestrator/loop/core-loop/contracts.d.ts +9 -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/decision-engine.d.ts +79 -0
- package/dist/orchestrator/loop/core-loop/decision-engine.d.ts.map +1 -0
- package/dist/orchestrator/loop/core-loop/decision-engine.js +141 -0
- package/dist/orchestrator/loop/core-loop/decision-engine.js.map +1 -0
- package/dist/orchestrator/loop/core-loop/evidence-ledger.d.ts +22 -0
- package/dist/orchestrator/loop/core-loop/evidence-ledger.d.ts.map +1 -0
- package/dist/orchestrator/loop/core-loop/evidence-ledger.js +36 -0
- package/dist/orchestrator/loop/core-loop/evidence-ledger.js.map +1 -0
- package/dist/orchestrator/loop/core-loop/iteration-kernel.d.ts +34 -0
- package/dist/orchestrator/loop/core-loop/iteration-kernel.d.ts.map +1 -0
- package/dist/orchestrator/loop/core-loop/iteration-kernel.js +356 -0
- package/dist/orchestrator/loop/core-loop/iteration-kernel.js.map +1 -0
- package/dist/orchestrator/loop/core-loop/phase-policy.d.ts +20 -0
- package/dist/orchestrator/loop/core-loop/phase-policy.d.ts.map +1 -0
- package/dist/orchestrator/loop/core-loop/phase-policy.js +96 -0
- package/dist/orchestrator/loop/core-loop/phase-policy.js.map +1 -0
- package/dist/orchestrator/loop/core-loop/phase-runtime.d.ts +29 -0
- package/dist/orchestrator/loop/core-loop/phase-runtime.d.ts.map +1 -0
- package/dist/orchestrator/loop/core-loop/phase-runtime.js +62 -0
- package/dist/orchestrator/loop/core-loop/phase-runtime.js.map +1 -0
- package/dist/orchestrator/loop/core-loop/phase-specs.d.ts +180 -0
- package/dist/orchestrator/loop/core-loop/phase-specs.d.ts.map +1 -0
- package/dist/orchestrator/loop/core-loop/phase-specs.js +116 -0
- package/dist/orchestrator/loop/core-loop/phase-specs.js.map +1 -0
- package/dist/orchestrator/loop/core-loop/preparation.d.ts +1 -5
- package/dist/orchestrator/loop/core-loop/preparation.d.ts.map +1 -1
- package/dist/orchestrator/loop/core-loop/preparation.js +2 -1
- package/dist/orchestrator/loop/core-loop/preparation.js.map +1 -1
- package/dist/orchestrator/loop/core-loop/task-cycle.d.ts +10 -2
- package/dist/orchestrator/loop/core-loop/task-cycle.d.ts.map +1 -1
- package/dist/orchestrator/loop/core-loop/task-cycle.js +37 -54
- package/dist/orchestrator/loop/core-loop/task-cycle.js.map +1 -1
- package/dist/orchestrator/loop/core-loop.d.ts +3 -0
- package/dist/orchestrator/loop/core-loop.d.ts.map +1 -1
- package/dist/orchestrator/loop/core-loop.js +58 -217
- package/dist/orchestrator/loop/core-loop.js.map +1 -1
- package/dist/orchestrator/loop/loop-result-types.d.ts +23 -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/loop/tree-loop-runner.d.ts +6 -2
- package/dist/orchestrator/loop/tree-loop-runner.d.ts.map +1 -1
- package/dist/orchestrator/loop/tree-loop-runner.js +62 -6
- package/dist/orchestrator/loop/tree-loop-runner.js.map +1 -1
- package/dist/orchestrator/strategy/cross-goal-portfolio.d.ts.map +1 -1
- package/dist/orchestrator/strategy/cross-goal-portfolio.js +20 -12
- package/dist/orchestrator/strategy/cross-goal-portfolio.js.map +1 -1
- package/dist/orchestrator/strategy/portfolio-manager.d.ts +3 -3
- package/dist/orchestrator/strategy/portfolio-manager.d.ts.map +1 -1
- package/dist/orchestrator/strategy/portfolio-manager.js +11 -7
- package/dist/orchestrator/strategy/portfolio-manager.js.map +1 -1
- package/dist/orchestrator/strategy/portfolio-rebalance.d.ts +3 -3
- package/dist/orchestrator/strategy/portfolio-rebalance.d.ts.map +1 -1
- package/dist/orchestrator/strategy/portfolio-rebalance.js +14 -7
- package/dist/orchestrator/strategy/portfolio-rebalance.js.map +1 -1
- package/dist/orchestrator/strategy/strategy-manager-base.d.ts.map +1 -1
- package/dist/orchestrator/strategy/strategy-manager-base.js +29 -24
- package/dist/orchestrator/strategy/strategy-manager-base.js.map +1 -1
- package/dist/orchestrator/strategy/strategy-manager.d.ts +11 -1
- package/dist/orchestrator/strategy/strategy-manager.d.ts.map +1 -1
- package/dist/orchestrator/strategy/strategy-manager.js +23 -2
- package/dist/orchestrator/strategy/strategy-manager.js.map +1 -1
- package/dist/platform/dream/dream-activation-artifacts.d.ts +5 -0
- package/dist/platform/dream/dream-activation-artifacts.d.ts.map +1 -0
- package/dist/platform/dream/dream-activation-artifacts.js +35 -0
- package/dist/platform/dream/dream-activation-artifacts.js.map +1 -0
- package/dist/platform/dream/dream-activation.d.ts +7 -0
- package/dist/platform/dream/dream-activation.d.ts.map +1 -1
- package/dist/platform/dream/dream-activation.js +41 -0
- package/dist/platform/dream/dream-activation.js.map +1 -1
- package/dist/platform/dream/dream-consolidator.d.ts +51 -1
- package/dist/platform/dream/dream-consolidator.d.ts.map +1 -1
- package/dist/platform/dream/dream-consolidator.js +425 -74
- package/dist/platform/dream/dream-consolidator.js.map +1 -1
- package/dist/platform/dream/dream-event-workflows.d.ts +115 -0
- package/dist/platform/dream/dream-event-workflows.d.ts.map +1 -0
- package/dist/platform/dream/dream-event-workflows.js +328 -0
- package/dist/platform/dream/dream-event-workflows.js.map +1 -0
- package/dist/platform/dream/dream-soil-mutation.d.ts +28 -0
- package/dist/platform/dream/dream-soil-mutation.d.ts.map +1 -0
- package/dist/platform/dream/dream-soil-mutation.js +605 -0
- package/dist/platform/dream/dream-soil-mutation.js.map +1 -0
- package/dist/platform/dream/dream-soil-sync.d.ts +32 -0
- package/dist/platform/dream/dream-soil-sync.d.ts.map +1 -0
- package/dist/platform/dream/dream-soil-sync.js +106 -0
- package/dist/platform/dream/dream-soil-sync.js.map +1 -0
- package/dist/platform/dream/dream-types.d.ts +635 -50
- package/dist/platform/dream/dream-types.d.ts.map +1 -1
- package/dist/platform/dream/dream-types.js +70 -0
- package/dist/platform/dream/dream-types.js.map +1 -1
- package/dist/platform/dream/index.d.ts +4 -0
- package/dist/platform/dream/index.d.ts.map +1 -1
- package/dist/platform/dream/index.js +4 -0
- package/dist/platform/dream/index.js.map +1 -1
- package/dist/platform/drive/satisficing-judge.d.ts.map +1 -1
- package/dist/platform/drive/satisficing-judge.js +20 -6
- package/dist/platform/drive/satisficing-judge.js.map +1 -1
- package/dist/platform/knowledge/knowledge-decisions.d.ts.map +1 -1
- package/dist/platform/knowledge/knowledge-decisions.js +32 -0
- package/dist/platform/knowledge/knowledge-decisions.js.map +1 -1
- package/dist/platform/knowledge/knowledge-manager-lint.d.ts +1 -0
- package/dist/platform/knowledge/knowledge-manager-lint.d.ts.map +1 -1
- package/dist/platform/knowledge/knowledge-manager-lint.js +20 -6
- package/dist/platform/knowledge/knowledge-manager-lint.js.map +1 -1
- package/dist/platform/knowledge/knowledge-manager.d.ts +3 -0
- package/dist/platform/knowledge/knowledge-manager.d.ts.map +1 -1
- package/dist/platform/knowledge/knowledge-manager.js +40 -1
- package/dist/platform/knowledge/knowledge-manager.js.map +1 -1
- package/dist/platform/knowledge/knowledge-search.d.ts.map +1 -1
- package/dist/platform/knowledge/knowledge-search.js +15 -3
- package/dist/platform/knowledge/knowledge-search.js.map +1 -1
- package/dist/platform/knowledge/learning/learning-cross-goal.d.ts.map +1 -1
- package/dist/platform/knowledge/learning/learning-cross-goal.js +9 -5
- package/dist/platform/knowledge/learning/learning-cross-goal.js.map +1 -1
- package/dist/platform/observation/observation-apply.d.ts.map +1 -1
- package/dist/platform/observation/observation-apply.js +93 -99
- package/dist/platform/observation/observation-apply.js.map +1 -1
- package/dist/platform/observation/workspace-context.d.ts.map +1 -1
- package/dist/platform/observation/workspace-context.js +12 -6
- package/dist/platform/observation/workspace-context.js.map +1 -1
- package/dist/platform/soil/checksum.d.ts +2 -0
- package/dist/platform/soil/checksum.d.ts.map +1 -0
- package/dist/platform/soil/checksum.js +17 -0
- package/dist/platform/soil/checksum.js.map +1 -0
- package/dist/platform/soil/compiled-memory-projections.d.ts +12 -0
- package/dist/platform/soil/compiled-memory-projections.d.ts.map +1 -0
- package/dist/platform/soil/compiled-memory-projections.js +238 -0
- package/dist/platform/soil/compiled-memory-projections.js.map +1 -0
- package/dist/platform/soil/compiler.d.ts +27 -0
- package/dist/platform/soil/compiler.d.ts.map +1 -0
- package/dist/platform/soil/compiler.js +78 -0
- package/dist/platform/soil/compiler.js.map +1 -0
- package/dist/platform/soil/config.d.ts +16 -0
- package/dist/platform/soil/config.d.ts.map +1 -0
- package/dist/platform/soil/config.js +30 -0
- package/dist/platform/soil/config.js.map +1 -0
- package/dist/platform/soil/content-projections.d.ts +20 -0
- package/dist/platform/soil/content-projections.d.ts.map +1 -0
- package/dist/platform/soil/content-projections.js +451 -0
- package/dist/platform/soil/content-projections.js.map +1 -0
- package/dist/platform/soil/context-compiler.d.ts +34 -0
- package/dist/platform/soil/context-compiler.d.ts.map +1 -0
- package/dist/platform/soil/context-compiler.js +298 -0
- package/dist/platform/soil/context-compiler.js.map +1 -0
- package/dist/platform/soil/context-evaluation.d.ts +63 -0
- package/dist/platform/soil/context-evaluation.d.ts.map +1 -0
- package/dist/platform/soil/context-evaluation.js +90 -0
- package/dist/platform/soil/context-evaluation.js.map +1 -0
- package/dist/platform/soil/contracts.d.ts +1366 -0
- package/dist/platform/soil/contracts.d.ts.map +1 -0
- package/dist/platform/soil/contracts.js +281 -0
- package/dist/platform/soil/contracts.js.map +1 -0
- package/dist/platform/soil/ddl.d.ts +8 -0
- package/dist/platform/soil/ddl.d.ts.map +1 -0
- package/dist/platform/soil/ddl.js +150 -0
- package/dist/platform/soil/ddl.js.map +1 -0
- package/dist/platform/soil/doctor.d.ts +38 -0
- package/dist/platform/soil/doctor.d.ts.map +1 -0
- package/dist/platform/soil/doctor.js +473 -0
- package/dist/platform/soil/doctor.js.map +1 -0
- package/dist/platform/soil/feedback-store.d.ts +10 -0
- package/dist/platform/soil/feedback-store.d.ts.map +1 -0
- package/dist/platform/soil/feedback-store.js +38 -0
- package/dist/platform/soil/feedback-store.js.map +1 -0
- package/dist/platform/soil/frontmatter.d.ts +15 -0
- package/dist/platform/soil/frontmatter.d.ts.map +1 -0
- package/dist/platform/soil/frontmatter.js +82 -0
- package/dist/platform/soil/frontmatter.js.map +1 -0
- package/dist/platform/soil/health.d.ts +35 -0
- package/dist/platform/soil/health.d.ts.map +1 -0
- package/dist/platform/soil/health.js +126 -0
- package/dist/platform/soil/health.js.map +1 -0
- package/dist/platform/soil/importer.d.ts +118 -0
- package/dist/platform/soil/importer.d.ts.map +1 -0
- package/dist/platform/soil/importer.js +145 -0
- package/dist/platform/soil/importer.js.map +1 -0
- package/dist/platform/soil/index-store.d.ts +89 -0
- package/dist/platform/soil/index-store.d.ts.map +1 -0
- package/dist/platform/soil/index-store.js +408 -0
- package/dist/platform/soil/index-store.js.map +1 -0
- package/dist/platform/soil/index.d.ts +24 -0
- package/dist/platform/soil/index.d.ts.map +1 -0
- package/dist/platform/soil/index.js +24 -0
- package/dist/platform/soil/index.js.map +1 -0
- package/dist/platform/soil/io.d.ts +18 -0
- package/dist/platform/soil/io.d.ts.map +1 -0
- package/dist/platform/soil/io.js +56 -0
- package/dist/platform/soil/io.js.map +1 -0
- package/dist/platform/soil/open.d.ts +32 -0
- package/dist/platform/soil/open.d.ts.map +1 -0
- package/dist/platform/soil/open.js +78 -0
- package/dist/platform/soil/open.js.map +1 -0
- package/dist/platform/soil/paths.d.ts +9 -0
- package/dist/platform/soil/paths.d.ts.map +1 -0
- package/dist/platform/soil/paths.js +78 -0
- package/dist/platform/soil/paths.js.map +1 -0
- package/dist/platform/soil/projection-support.d.ts +48 -0
- package/dist/platform/soil/projection-support.d.ts.map +1 -0
- package/dist/platform/soil/projection-support.js +107 -0
- package/dist/platform/soil/projection-support.js.map +1 -0
- package/dist/platform/soil/projections.d.ts +16 -0
- package/dist/platform/soil/projections.d.ts.map +1 -0
- package/dist/platform/soil/projections.js +265 -0
- package/dist/platform/soil/projections.js.map +1 -0
- package/dist/platform/soil/publish/apple-notes.d.ts +15 -0
- package/dist/platform/soil/publish/apple-notes.d.ts.map +1 -0
- package/dist/platform/soil/publish/apple-notes.js +58 -0
- package/dist/platform/soil/publish/apple-notes.js.map +1 -0
- package/dist/platform/soil/publish/config.d.ts +14 -0
- package/dist/platform/soil/publish/config.d.ts.map +1 -0
- package/dist/platform/soil/publish/config.js +59 -0
- package/dist/platform/soil/publish/config.js.map +1 -0
- package/dist/platform/soil/publish/index.d.ts +7 -0
- package/dist/platform/soil/publish/index.d.ts.map +1 -0
- package/dist/platform/soil/publish/index.js +7 -0
- package/dist/platform/soil/publish/index.js.map +1 -0
- package/dist/platform/soil/publish/notion.d.ts +51 -0
- package/dist/platform/soil/publish/notion.d.ts.map +1 -0
- package/dist/platform/soil/publish/notion.js +201 -0
- package/dist/platform/soil/publish/notion.js.map +1 -0
- package/dist/platform/soil/publish/publisher.d.ts +13 -0
- package/dist/platform/soil/publish/publisher.d.ts.map +1 -0
- package/dist/platform/soil/publish/publisher.js +55 -0
- package/dist/platform/soil/publish/publisher.js.map +1 -0
- package/dist/platform/soil/publish/snapshot.d.ts +4 -0
- package/dist/platform/soil/publish/snapshot.d.ts.map +1 -0
- package/dist/platform/soil/publish/snapshot.js +40 -0
- package/dist/platform/soil/publish/snapshot.js.map +1 -0
- package/dist/platform/soil/publish/types.d.ts +169 -0
- package/dist/platform/soil/publish/types.d.ts.map +1 -0
- package/dist/platform/soil/publish/types.js +32 -0
- package/dist/platform/soil/publish/types.js.map +1 -0
- package/dist/platform/soil/retriever.d.ts +52 -0
- package/dist/platform/soil/retriever.d.ts.map +1 -0
- package/dist/platform/soil/retriever.js +262 -0
- package/dist/platform/soil/retriever.js.map +1 -0
- package/dist/platform/soil/runtime-rebuild.d.ts +33 -0
- package/dist/platform/soil/runtime-rebuild.d.ts.map +1 -0
- package/dist/platform/soil/runtime-rebuild.js +200 -0
- package/dist/platform/soil/runtime-rebuild.js.map +1 -0
- package/dist/platform/soil/sqlite-repository.d.ts +25 -0
- package/dist/platform/soil/sqlite-repository.d.ts.map +1 -0
- package/dist/platform/soil/sqlite-repository.js +929 -0
- package/dist/platform/soil/sqlite-repository.js.map +1 -0
- package/dist/platform/soil/types.d.ts +506 -0
- package/dist/platform/soil/types.d.ts.map +1 -0
- package/dist/platform/soil/types.js +146 -0
- package/dist/platform/soil/types.js.map +1 -0
- package/dist/reflection/types.d.ts +2 -2
- package/dist/reporting/reporting-engine.d.ts.map +1 -1
- package/dist/reporting/reporting-engine.js +10 -0
- package/dist/reporting/reporting-engine.js.map +1 -1
- package/dist/runtime/approval-broker.d.ts.map +1 -1
- package/dist/runtime/approval-broker.js +32 -9
- package/dist/runtime/approval-broker.js.map +1 -1
- package/dist/runtime/command-dispatcher.d.ts +2 -0
- package/dist/runtime/command-dispatcher.d.ts.map +1 -1
- package/dist/runtime/command-dispatcher.js +11 -0
- package/dist/runtime/command-dispatcher.js.map +1 -1
- package/dist/runtime/control/daemon-runtime-control-executor.d.ts +13 -0
- package/dist/runtime/control/daemon-runtime-control-executor.d.ts.map +1 -0
- package/dist/runtime/control/daemon-runtime-control-executor.js +46 -0
- package/dist/runtime/control/daemon-runtime-control-executor.js.map +1 -0
- package/dist/runtime/control/index.d.ts +7 -0
- package/dist/runtime/control/index.d.ts.map +1 -0
- package/dist/runtime/control/index.js +4 -0
- package/dist/runtime/control/index.js.map +1 -0
- package/dist/runtime/control/runtime-control-intent.d.ts +7 -0
- package/dist/runtime/control/runtime-control-intent.d.ts.map +1 -0
- package/dist/runtime/control/runtime-control-intent.js +31 -0
- package/dist/runtime/control/runtime-control-intent.js.map +1 -0
- package/dist/runtime/control/runtime-control-service.d.ts +44 -0
- package/dist/runtime/control/runtime-control-service.d.ts.map +1 -0
- package/dist/runtime/control/runtime-control-service.js +143 -0
- package/dist/runtime/control/runtime-control-service.js.map +1 -0
- package/dist/runtime/daemon/client.d.ts +17 -0
- package/dist/runtime/daemon/client.d.ts.map +1 -1
- package/dist/runtime/daemon/client.js +45 -2
- package/dist/runtime/daemon/client.js.map +1 -1
- package/dist/runtime/daemon/runner-errors.d.ts +28 -0
- package/dist/runtime/daemon/runner-errors.d.ts.map +1 -0
- package/dist/runtime/daemon/runner-errors.js +41 -0
- package/dist/runtime/daemon/runner-errors.js.map +1 -0
- package/dist/runtime/daemon/runner-recovery.d.ts +12 -0
- package/dist/runtime/daemon/runner-recovery.d.ts.map +1 -0
- package/dist/runtime/daemon/runner-recovery.js +146 -0
- package/dist/runtime/daemon/runner-recovery.js.map +1 -0
- package/dist/runtime/daemon/runner.d.ts +8 -3
- package/dist/runtime/daemon/runner.d.ts.map +1 -1
- package/dist/runtime/daemon/runner.js +211 -169
- package/dist/runtime/daemon/runner.js.map +1 -1
- package/dist/runtime/event/server-sse.d.ts.map +1 -1
- package/dist/runtime/event/server-sse.js +0 -1
- package/dist/runtime/event/server-sse.js.map +1 -1
- package/dist/runtime/event/server.d.ts +28 -0
- package/dist/runtime/event/server.d.ts.map +1 -1
- package/dist/runtime/event/server.js +341 -71
- package/dist/runtime/event/server.js.map +1 -1
- package/dist/runtime/leader-lock-manager.d.ts.map +1 -1
- package/dist/runtime/leader-lock-manager.js +2 -1
- package/dist/runtime/leader-lock-manager.js.map +1 -1
- package/dist/runtime/notification-dispatcher.d.ts +7 -0
- package/dist/runtime/notification-dispatcher.d.ts.map +1 -1
- package/dist/runtime/notification-dispatcher.js +43 -1
- package/dist/runtime/notification-dispatcher.js.map +1 -1
- package/dist/runtime/notification-routing.d.ts +16 -0
- package/dist/runtime/notification-routing.d.ts.map +1 -0
- package/dist/runtime/notification-routing.js +147 -0
- package/dist/runtime/notification-routing.js.map +1 -0
- package/dist/runtime/plugin-loader.d.ts +2 -0
- package/dist/runtime/plugin-loader.d.ts.map +1 -1
- package/dist/runtime/plugin-loader.js +34 -2
- package/dist/runtime/plugin-loader.js.map +1 -1
- package/dist/runtime/schedule/engine-layers.d.ts.map +1 -1
- package/dist/runtime/schedule/engine-layers.js +106 -6
- package/dist/runtime/schedule/engine-layers.js.map +1 -1
- package/dist/runtime/schedule/engine.d.ts +2 -0
- package/dist/runtime/schedule/engine.d.ts.map +1 -1
- package/dist/runtime/schedule/engine.js +28 -0
- package/dist/runtime/schedule/engine.js.map +1 -1
- package/dist/runtime/schedule/history.d.ts +3 -3
- package/dist/runtime/schedule/presets.d.ts +128 -15
- package/dist/runtime/schedule/presets.d.ts.map +1 -1
- package/dist/runtime/schedule/presets.js +24 -0
- package/dist/runtime/schedule/presets.js.map +1 -1
- package/dist/runtime/schedule/source.d.ts +2 -2
- package/dist/runtime/store/index.d.ts +3 -0
- package/dist/runtime/store/index.d.ts.map +1 -1
- package/dist/runtime/store/index.js +2 -0
- package/dist/runtime/store/index.js.map +1 -1
- package/dist/runtime/store/runtime-operation-schemas.d.ts +213 -0
- package/dist/runtime/store/runtime-operation-schemas.d.ts.map +1 -0
- package/dist/runtime/store/runtime-operation-schemas.js +62 -0
- package/dist/runtime/store/runtime-operation-schemas.js.map +1 -0
- package/dist/runtime/store/runtime-operation-store.d.ts +17 -0
- package/dist/runtime/store/runtime-operation-store.d.ts.map +1 -0
- package/dist/runtime/store/runtime-operation-store.js +57 -0
- package/dist/runtime/store/runtime-operation-store.js.map +1 -0
- package/dist/runtime/store/runtime-schemas.d.ts +2 -2
- package/dist/runtime/types/cron.d.ts +4 -4
- 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 +2 -0
- package/dist/runtime/types/daemon.js.map +1 -1
- package/dist/runtime/types/notification.d.ts +91 -0
- package/dist/runtime/types/notification.d.ts.map +1 -1
- package/dist/runtime/types/notification.js +10 -0
- package/dist/runtime/types/notification.js.map +1 -1
- package/dist/runtime/types/schedule.d.ts +60 -60
- package/dist/runtime/types/schedule.js +1 -1
- package/dist/runtime/types/schedule.js.map +1 -1
- package/dist/runtime/types/trigger.d.ts +6 -6
- package/dist/runtime/watchdog.d.ts +22 -0
- package/dist/runtime/watchdog.d.ts.map +1 -1
- package/dist/runtime/watchdog.js +47 -3
- package/dist/runtime/watchdog.js.map +1 -1
- package/dist/tools/builtin/index.d.ts +17 -0
- package/dist/tools/builtin/index.d.ts.map +1 -1
- package/dist/tools/builtin/index.js +46 -3
- package/dist/tools/builtin/index.js.map +1 -1
- package/dist/tools/execution/RunAdapterTool/RunAdapterTool.d.ts.map +1 -1
- package/dist/tools/execution/RunAdapterTool/RunAdapterTool.js +20 -0
- package/dist/tools/execution/RunAdapterTool/RunAdapterTool.js.map +1 -1
- package/dist/tools/execution/SoilDoctorTool/SoilDoctorTool.d.ts +43 -0
- package/dist/tools/execution/SoilDoctorTool/SoilDoctorTool.d.ts.map +1 -0
- package/dist/tools/execution/SoilDoctorTool/SoilDoctorTool.js +83 -0
- package/dist/tools/execution/SoilDoctorTool/SoilDoctorTool.js.map +1 -0
- package/dist/tools/execution/SoilDoctorTool/constants.d.ts +8 -0
- package/dist/tools/execution/SoilDoctorTool/constants.d.ts.map +1 -0
- package/dist/tools/execution/SoilDoctorTool/constants.js +8 -0
- package/dist/tools/execution/SoilDoctorTool/constants.js.map +1 -0
- package/dist/tools/execution/SoilDoctorTool/prompt.d.ts +2 -0
- package/dist/tools/execution/SoilDoctorTool/prompt.d.ts.map +1 -0
- package/dist/tools/execution/SoilDoctorTool/prompt.js +2 -0
- package/dist/tools/execution/SoilDoctorTool/prompt.js.map +1 -0
- package/dist/tools/execution/SoilImportTool/SoilImportTool.d.ts +109 -0
- package/dist/tools/execution/SoilImportTool/SoilImportTool.d.ts.map +1 -0
- package/dist/tools/execution/SoilImportTool/SoilImportTool.js +72 -0
- package/dist/tools/execution/SoilImportTool/SoilImportTool.js.map +1 -0
- package/dist/tools/execution/SoilImportTool/constants.d.ts +6 -0
- package/dist/tools/execution/SoilImportTool/constants.d.ts.map +1 -0
- package/dist/tools/execution/SoilImportTool/constants.js +6 -0
- package/dist/tools/execution/SoilImportTool/constants.js.map +1 -0
- package/dist/tools/execution/SoilImportTool/prompt.d.ts +2 -0
- package/dist/tools/execution/SoilImportTool/prompt.d.ts.map +1 -0
- package/dist/tools/execution/SoilImportTool/prompt.js +2 -0
- package/dist/tools/execution/SoilImportTool/prompt.js.map +1 -0
- package/dist/tools/execution/SoilOpenTool/SoilOpenTool.d.ts +46 -0
- package/dist/tools/execution/SoilOpenTool/SoilOpenTool.d.ts.map +1 -0
- package/dist/tools/execution/SoilOpenTool/SoilOpenTool.js +64 -0
- package/dist/tools/execution/SoilOpenTool/SoilOpenTool.js.map +1 -0
- package/dist/tools/execution/SoilOpenTool/constants.d.ts +6 -0
- package/dist/tools/execution/SoilOpenTool/constants.d.ts.map +1 -0
- package/dist/tools/execution/SoilOpenTool/constants.js +6 -0
- package/dist/tools/execution/SoilOpenTool/constants.js.map +1 -0
- package/dist/tools/execution/SoilOpenTool/prompt.d.ts +2 -0
- package/dist/tools/execution/SoilOpenTool/prompt.d.ts.map +1 -0
- package/dist/tools/execution/SoilOpenTool/prompt.js +2 -0
- package/dist/tools/execution/SoilOpenTool/prompt.js.map +1 -0
- package/dist/tools/execution/SoilPublishTool/SoilPublishTool.d.ts +49 -0
- package/dist/tools/execution/SoilPublishTool/SoilPublishTool.d.ts.map +1 -0
- package/dist/tools/execution/SoilPublishTool/SoilPublishTool.js +71 -0
- package/dist/tools/execution/SoilPublishTool/SoilPublishTool.js.map +1 -0
- package/dist/tools/execution/SoilPublishTool/constants.d.ts +6 -0
- package/dist/tools/execution/SoilPublishTool/constants.d.ts.map +1 -0
- package/dist/tools/execution/SoilPublishTool/constants.js +6 -0
- package/dist/tools/execution/SoilPublishTool/constants.js.map +1 -0
- package/dist/tools/execution/SoilPublishTool/prompt.d.ts +2 -0
- package/dist/tools/execution/SoilPublishTool/prompt.d.ts.map +1 -0
- package/dist/tools/execution/SoilPublishTool/prompt.js +2 -0
- package/dist/tools/execution/SoilPublishTool/prompt.js.map +1 -0
- package/dist/tools/execution/SoilRebuildTool/SoilRebuildTool.d.ts +34 -0
- package/dist/tools/execution/SoilRebuildTool/SoilRebuildTool.d.ts.map +1 -0
- package/dist/tools/execution/SoilRebuildTool/SoilRebuildTool.js +66 -0
- package/dist/tools/execution/SoilRebuildTool/SoilRebuildTool.js.map +1 -0
- package/dist/tools/execution/SoilRebuildTool/constants.d.ts +6 -0
- package/dist/tools/execution/SoilRebuildTool/constants.d.ts.map +1 -0
- package/dist/tools/execution/SoilRebuildTool/constants.js +6 -0
- package/dist/tools/execution/SoilRebuildTool/constants.js.map +1 -0
- package/dist/tools/execution/SoilRebuildTool/prompt.d.ts +2 -0
- package/dist/tools/execution/SoilRebuildTool/prompt.d.ts.map +1 -0
- package/dist/tools/execution/SoilRebuildTool/prompt.js +2 -0
- package/dist/tools/execution/SoilRebuildTool/prompt.js.map +1 -0
- package/dist/tools/executor.d.ts.map +1 -1
- package/dist/tools/executor.js +5 -2
- package/dist/tools/executor.js.map +1 -1
- package/dist/tools/fs/ApplyPatchTool/ApplyPatchTool.d.ts +38 -0
- package/dist/tools/fs/ApplyPatchTool/ApplyPatchTool.d.ts.map +1 -0
- package/dist/tools/fs/ApplyPatchTool/ApplyPatchTool.js +247 -0
- package/dist/tools/fs/ApplyPatchTool/ApplyPatchTool.js.map +1 -0
- package/dist/tools/fs/FileValidationTool/FileValidationTool.d.ts.map +1 -1
- package/dist/tools/fs/FileValidationTool/FileValidationTool.js +3 -2
- package/dist/tools/fs/FileValidationTool/FileValidationTool.js.map +1 -1
- package/dist/tools/fs/GlobTool/GlobTool.d.ts +1 -1
- package/dist/tools/fs/GlobTool/GlobTool.d.ts.map +1 -1
- package/dist/tools/fs/GlobTool/GlobTool.js +12 -1
- package/dist/tools/fs/GlobTool/GlobTool.js.map +1 -1
- package/dist/tools/fs/GrepTool/GrepTool.d.ts +1 -1
- package/dist/tools/fs/GrepTool/GrepTool.d.ts.map +1 -1
- package/dist/tools/fs/GrepTool/GrepTool.js +10 -3
- package/dist/tools/fs/GrepTool/GrepTool.js.map +1 -1
- package/dist/tools/fs/JsonQueryTool/JsonQueryTool.d.ts +1 -1
- package/dist/tools/fs/JsonQueryTool/JsonQueryTool.d.ts.map +1 -1
- package/dist/tools/fs/JsonQueryTool/JsonQueryTool.js +8 -1
- 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 +13 -5
- 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 +8 -1
- package/dist/tools/fs/ReadTool/ReadTool.js.map +1 -1
- package/dist/tools/index.d.ts +2 -0
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +1 -0
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/media/ViewImageTool/ViewImageTool.d.ts +31 -0
- package/dist/tools/media/ViewImageTool/ViewImageTool.d.ts.map +1 -0
- package/dist/tools/media/ViewImageTool/ViewImageTool.js +53 -0
- package/dist/tools/media/ViewImageTool/ViewImageTool.js.map +1 -0
- package/dist/tools/mutation/ConfigureNotificationRoutingTool/ConfigureNotificationRoutingTool.d.ts +25 -0
- package/dist/tools/mutation/ConfigureNotificationRoutingTool/ConfigureNotificationRoutingTool.d.ts.map +1 -0
- package/dist/tools/mutation/ConfigureNotificationRoutingTool/ConfigureNotificationRoutingTool.js +59 -0
- package/dist/tools/mutation/ConfigureNotificationRoutingTool/ConfigureNotificationRoutingTool.js.map +1 -0
- package/dist/tools/mutation/ConfigureNotificationRoutingTool/constants.d.ts +5 -0
- package/dist/tools/mutation/ConfigureNotificationRoutingTool/constants.d.ts.map +1 -0
- package/dist/tools/mutation/ConfigureNotificationRoutingTool/constants.js +5 -0
- package/dist/tools/mutation/ConfigureNotificationRoutingTool/constants.js.map +1 -0
- package/dist/tools/mutation/ConfigureNotificationRoutingTool/prompt.d.ts +2 -0
- package/dist/tools/mutation/ConfigureNotificationRoutingTool/prompt.d.ts.map +1 -0
- package/dist/tools/mutation/ConfigureNotificationRoutingTool/prompt.js +5 -0
- package/dist/tools/mutation/ConfigureNotificationRoutingTool/prompt.js.map +1 -0
- package/dist/tools/mutation/TaskCreateTool/TaskCreateTool.d.ts +4 -4
- package/dist/tools/mutation/TaskOutputTool/TaskOutputTool.d.ts +2 -2
- package/dist/tools/network/GitHubCliTool/GitHubCliTool.d.ts +144 -0
- package/dist/tools/network/GitHubCliTool/GitHubCliTool.d.ts.map +1 -0
- package/dist/tools/network/GitHubCliTool/GitHubCliTool.js +245 -0
- package/dist/tools/network/GitHubCliTool/GitHubCliTool.js.map +1 -0
- package/dist/tools/network/HttpFetchTool/HttpFetchTool.d.ts +16 -0
- package/dist/tools/network/HttpFetchTool/HttpFetchTool.d.ts.map +1 -1
- package/dist/tools/network/HttpFetchTool/HttpFetchTool.js +252 -13
- package/dist/tools/network/HttpFetchTool/HttpFetchTool.js.map +1 -1
- package/dist/tools/network/McpStdioTool/McpStdioTool.d.ts +109 -0
- package/dist/tools/network/McpStdioTool/McpStdioTool.d.ts.map +1 -0
- package/dist/tools/network/McpStdioTool/McpStdioTool.js +121 -0
- package/dist/tools/network/McpStdioTool/McpStdioTool.js.map +1 -0
- package/dist/tools/query/GoalStateTool/GoalStateTool.js +1 -1
- package/dist/tools/query/GoalStateTool/GoalStateTool.js.map +1 -1
- package/dist/tools/query/MemoryRecallTool/MemoryRecallTool.d.ts +4 -4
- package/dist/tools/query/SoilQueryTool/SoilQueryTool.d.ts +118 -0
- package/dist/tools/query/SoilQueryTool/SoilQueryTool.d.ts.map +1 -0
- package/dist/tools/query/SoilQueryTool/SoilQueryTool.js +335 -0
- package/dist/tools/query/SoilQueryTool/SoilQueryTool.js.map +1 -0
- package/dist/tools/query/SoilQueryTool/constants.d.ts +8 -0
- package/dist/tools/query/SoilQueryTool/constants.d.ts.map +1 -0
- package/dist/tools/query/SoilQueryTool/constants.js +8 -0
- package/dist/tools/query/SoilQueryTool/constants.js.map +1 -0
- package/dist/tools/query/SoilQueryTool/prompt.d.ts +2 -0
- package/dist/tools/query/SoilQueryTool/prompt.d.ts.map +1 -0
- package/dist/tools/query/SoilQueryTool/prompt.js +2 -0
- package/dist/tools/query/SoilQueryTool/prompt.js.map +1 -0
- package/dist/tools/schedule/CreateScheduleTool/CreateScheduleTool.d.ts +164 -52
- package/dist/tools/schedule/CreateScheduleTool/CreateScheduleTool.d.ts.map +1 -1
- package/dist/tools/schedule/ListSchedulesTool/ListSchedulesTool.d.ts +4 -4
- package/dist/tools/schedule/UpdateScheduleTool/UpdateScheduleTool.d.ts +76 -76
- package/dist/tools/system/EnvTool/EnvTool.d.ts +4 -4
- package/dist/tools/system/GitLogTool/GitLogTool.d.ts +4 -4
- package/dist/tools/system/ProcessSessionTool/ProcessSessionTool.d.ts +220 -0
- package/dist/tools/system/ProcessSessionTool/ProcessSessionTool.d.ts.map +1 -0
- package/dist/tools/system/ProcessSessionTool/ProcessSessionTool.js +354 -0
- package/dist/tools/system/ProcessSessionTool/ProcessSessionTool.js.map +1 -0
- package/dist/tools/system/ShellCommandTool/ShellCommandTool.d.ts +44 -0
- package/dist/tools/system/ShellCommandTool/ShellCommandTool.d.ts.map +1 -0
- package/dist/tools/system/ShellCommandTool/ShellCommandTool.js +40 -0
- package/dist/tools/system/ShellCommandTool/ShellCommandTool.js.map +1 -0
- package/dist/tools/system/UpdatePlanTool/UpdatePlanTool.d.ts +61 -0
- package/dist/tools/system/UpdatePlanTool/UpdatePlanTool.d.ts.map +1 -0
- package/dist/tools/system/UpdatePlanTool/UpdatePlanTool.js +42 -0
- package/dist/tools/system/UpdatePlanTool/UpdatePlanTool.js.map +1 -0
- package/dist/tools/types.d.ts +6 -2
- package/dist/tools/types.d.ts.map +1 -1
- package/dist/tools/types.js.map +1 -1
- package/package.json +7 -1
- package/dist/adapters/agents/browser-use-cli.d.ts +0 -19
- package/dist/adapters/agents/browser-use-cli.d.ts.map +0 -1
- package/dist/adapters/agents/browser-use-cli.js +0 -74
- package/dist/adapters/agents/browser-use-cli.js.map +0 -1
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import * as path from "node:path";
|
|
2
|
+
import { execFileNoThrow } from "../../base/utils/execFileNoThrow.js";
|
|
3
|
+
import { createSoilConfig } from "./config.js";
|
|
4
|
+
import { resolveSoilPageFilePath } from "./paths.js";
|
|
5
|
+
function isInside(rootDir, candidate) {
|
|
6
|
+
const root = path.resolve(rootDir);
|
|
7
|
+
const resolved = path.resolve(candidate);
|
|
8
|
+
const prefix = root.endsWith(path.sep) ? root : `${root}${path.sep}`;
|
|
9
|
+
return resolved === root || resolved.startsWith(prefix);
|
|
10
|
+
}
|
|
11
|
+
export function resolveSoilOpenPath(input) {
|
|
12
|
+
const config = createSoilConfig(input);
|
|
13
|
+
const target = input.target ?? "root";
|
|
14
|
+
if (target === "path") {
|
|
15
|
+
if (!input.targetPath) {
|
|
16
|
+
throw new Error("targetPath is required when target is path");
|
|
17
|
+
}
|
|
18
|
+
const candidate = path.isAbsolute(input.targetPath)
|
|
19
|
+
? path.resolve(input.targetPath)
|
|
20
|
+
: resolveSoilPageFilePath(config.rootDir, input.targetPath);
|
|
21
|
+
if (!isInside(config.rootDir, candidate)) {
|
|
22
|
+
throw new Error(`Soil open target escapes the root: ${input.targetPath}`);
|
|
23
|
+
}
|
|
24
|
+
return { rootDir: config.rootDir, target, path: candidate };
|
|
25
|
+
}
|
|
26
|
+
const relativeByTarget = {
|
|
27
|
+
schedule_active: path.join("schedule", "active.md"),
|
|
28
|
+
status: "status.md",
|
|
29
|
+
report: "report",
|
|
30
|
+
schedule: "schedule",
|
|
31
|
+
memory: "memory",
|
|
32
|
+
knowledge: "knowledge",
|
|
33
|
+
};
|
|
34
|
+
const targetPath = target === "root" ? config.rootDir : path.join(config.rootDir, relativeByTarget[target]);
|
|
35
|
+
return { rootDir: config.rootDir, target, path: targetPath };
|
|
36
|
+
}
|
|
37
|
+
function platformOpenCommand(targetPathOrUrl) {
|
|
38
|
+
if (process.platform === "darwin") {
|
|
39
|
+
return { command: "open", args: [targetPathOrUrl] };
|
|
40
|
+
}
|
|
41
|
+
if (process.platform === "win32") {
|
|
42
|
+
return { command: "cmd", args: ["/c", "start", "", targetPathOrUrl] };
|
|
43
|
+
}
|
|
44
|
+
return { command: "xdg-open", args: [targetPathOrUrl] };
|
|
45
|
+
}
|
|
46
|
+
export function buildSoilOpenCommand(input) {
|
|
47
|
+
const resolved = resolveSoilOpenPath(input);
|
|
48
|
+
const viewer = input.viewer ?? "default";
|
|
49
|
+
if (viewer === "vscode") {
|
|
50
|
+
return { command: "code", args: [resolved.path], path: resolved.path, viewer, target: resolved.target };
|
|
51
|
+
}
|
|
52
|
+
if (viewer === "obsidian") {
|
|
53
|
+
const url = `obsidian://open?path=${encodeURIComponent(resolved.path)}`;
|
|
54
|
+
const command = platformOpenCommand(url);
|
|
55
|
+
return { ...command, path: resolved.path, viewer, target: resolved.target };
|
|
56
|
+
}
|
|
57
|
+
if (viewer === "logseq") {
|
|
58
|
+
const url = `logseq://graph/${encodeURIComponent(resolved.rootDir)}?page=${encodeURIComponent(resolved.path)}`;
|
|
59
|
+
const command = platformOpenCommand(url);
|
|
60
|
+
return { ...command, path: resolved.path, viewer, target: resolved.target };
|
|
61
|
+
}
|
|
62
|
+
const command = platformOpenCommand(resolved.path);
|
|
63
|
+
if (viewer === "finder" && process.platform === "darwin") {
|
|
64
|
+
return { command: "open", args: ["-R", resolved.path], path: resolved.path, viewer, target: resolved.target };
|
|
65
|
+
}
|
|
66
|
+
return { ...command, path: resolved.path, viewer, target: resolved.target };
|
|
67
|
+
}
|
|
68
|
+
export async function openSoil(input, runner = execFileNoThrow) {
|
|
69
|
+
const command = buildSoilOpenCommand(input);
|
|
70
|
+
const result = await runner(command.command, command.args, { timeoutMs: 10_000 });
|
|
71
|
+
return {
|
|
72
|
+
...command,
|
|
73
|
+
exitCode: result.exitCode,
|
|
74
|
+
stdout: result.stdout,
|
|
75
|
+
stderr: result.stderr,
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
//# sourceMappingURL=open.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"open.js","sourceRoot":"","sources":["../../../src/platform/soil/open.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export declare function normalizeSoilId(input: string): string;
|
|
2
|
+
export declare function normalizeSoilRelativePath(input: string): string;
|
|
3
|
+
export declare function soilIdToRelativePath(soilId: string): string;
|
|
4
|
+
export declare function relativePathToSoilId(relativePath: string): string;
|
|
5
|
+
export declare function resolveSoilPageRelativePath(input: string): string;
|
|
6
|
+
export declare function resolveSoilPageFilePath(rootDir: string, input: string): string;
|
|
7
|
+
export declare function soilPageRelativePathFromAbsolute(rootDir: string, absolutePath: string): string;
|
|
8
|
+
export declare function isLikelySoilMarkdownPath(value: string): boolean;
|
|
9
|
+
//# sourceMappingURL=paths.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../../src/platform/soil/paths.ts"],"names":[],"mappings":"AA4CA,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAErD;AAED,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAG/D;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAE3D;AAED,wBAAgB,oBAAoB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAEjE;AAED,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEjE;AAED,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAS9E;AAED,wBAAgB,gCAAgC,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,CAS9F;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE/D"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import * as path from "node:path";
|
|
2
|
+
const POSIX_SEP = "/";
|
|
3
|
+
function toPosixPath(value) {
|
|
4
|
+
return value.replaceAll("\\", POSIX_SEP);
|
|
5
|
+
}
|
|
6
|
+
function assertSafeSegmentPath(value) {
|
|
7
|
+
if (!value) {
|
|
8
|
+
throw new Error("Soil path cannot be empty");
|
|
9
|
+
}
|
|
10
|
+
if (path.posix.isAbsolute(value)) {
|
|
11
|
+
throw new Error(`Soil path must be relative: ${value}`);
|
|
12
|
+
}
|
|
13
|
+
if (value.includes("\0")) {
|
|
14
|
+
throw new Error("Soil path cannot contain NUL bytes");
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
function normalizeRelativePath(value) {
|
|
18
|
+
const posixValue = toPosixPath(value.trim());
|
|
19
|
+
assertSafeSegmentPath(posixValue);
|
|
20
|
+
const normalized = path.posix.normalize(posixValue);
|
|
21
|
+
if (normalized === "." || normalized.startsWith("../") || normalized === "..") {
|
|
22
|
+
throw new Error(`Soil path escapes the root: ${value}`);
|
|
23
|
+
}
|
|
24
|
+
const trimmed = normalized.replace(/^\.\/+/, "");
|
|
25
|
+
if (!trimmed || trimmed === ".") {
|
|
26
|
+
throw new Error(`Soil path cannot be empty: ${value}`);
|
|
27
|
+
}
|
|
28
|
+
const segments = trimmed.split("/");
|
|
29
|
+
for (const segment of segments) {
|
|
30
|
+
if (!segment || segment === "." || segment === "..") {
|
|
31
|
+
throw new Error(`Soil path contains unsafe segment: ${value}`);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
return trimmed;
|
|
35
|
+
}
|
|
36
|
+
function stripMdExtension(value) {
|
|
37
|
+
return value.endsWith(".md") ? value.slice(0, -3) : value;
|
|
38
|
+
}
|
|
39
|
+
export function normalizeSoilId(input) {
|
|
40
|
+
return stripMdExtension(normalizeRelativePath(input));
|
|
41
|
+
}
|
|
42
|
+
export function normalizeSoilRelativePath(input) {
|
|
43
|
+
const normalized = normalizeRelativePath(input);
|
|
44
|
+
return normalized.endsWith(".md") ? normalized : `${normalized}.md`;
|
|
45
|
+
}
|
|
46
|
+
export function soilIdToRelativePath(soilId) {
|
|
47
|
+
return normalizeSoilRelativePath(soilId);
|
|
48
|
+
}
|
|
49
|
+
export function relativePathToSoilId(relativePath) {
|
|
50
|
+
return normalizeSoilId(relativePath);
|
|
51
|
+
}
|
|
52
|
+
export function resolveSoilPageRelativePath(input) {
|
|
53
|
+
return normalizeSoilRelativePath(input);
|
|
54
|
+
}
|
|
55
|
+
export function resolveSoilPageFilePath(rootDir, input) {
|
|
56
|
+
const relativePath = normalizeSoilRelativePath(input);
|
|
57
|
+
const absolutePath = path.resolve(rootDir, relativePath);
|
|
58
|
+
const resolvedRoot = path.resolve(rootDir);
|
|
59
|
+
const rootPrefix = resolvedRoot.endsWith(path.sep) ? resolvedRoot : `${resolvedRoot}${path.sep}`;
|
|
60
|
+
if (absolutePath !== resolvedRoot && !absolutePath.startsWith(rootPrefix)) {
|
|
61
|
+
throw new Error(`Soil path escapes the root: ${input}`);
|
|
62
|
+
}
|
|
63
|
+
return absolutePath;
|
|
64
|
+
}
|
|
65
|
+
export function soilPageRelativePathFromAbsolute(rootDir, absolutePath) {
|
|
66
|
+
const resolvedRoot = path.resolve(rootDir);
|
|
67
|
+
const resolvedFile = path.resolve(absolutePath);
|
|
68
|
+
const rootPrefix = resolvedRoot.endsWith(path.sep) ? resolvedRoot : `${resolvedRoot}${path.sep}`;
|
|
69
|
+
if (resolvedFile !== resolvedRoot && !resolvedFile.startsWith(rootPrefix)) {
|
|
70
|
+
throw new Error(`Soil file path escapes the root: ${absolutePath}`);
|
|
71
|
+
}
|
|
72
|
+
const relative = path.relative(resolvedRoot, resolvedFile);
|
|
73
|
+
return normalizeSoilRelativePath(relative);
|
|
74
|
+
}
|
|
75
|
+
export function isLikelySoilMarkdownPath(value) {
|
|
76
|
+
return value.endsWith(".md");
|
|
77
|
+
}
|
|
78
|
+
//# sourceMappingURL=paths.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"paths.js","sourceRoot":"","sources":["../../../src/platform/soil/paths.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { type SoilPageFrontmatter, type SoilSourceRef } from "./types.js";
|
|
2
|
+
export declare const SOIL_PROJECTION_VERSION = "soil-v1";
|
|
3
|
+
export declare const SOIL_PAGE_FORMAT_VERSION = "soil-page-v1";
|
|
4
|
+
export declare const SOIL_COMPILED_MEMORY_SCHEMA_VERSION = "soil-compiled-memory-v1";
|
|
5
|
+
export interface SoilProjectionOptions {
|
|
6
|
+
baseDir: string;
|
|
7
|
+
rootDir?: string;
|
|
8
|
+
clock?: () => Date;
|
|
9
|
+
}
|
|
10
|
+
export declare function soilRootFromBaseDir(input: SoilProjectionOptions): string;
|
|
11
|
+
export declare function nowIso(clock?: () => Date): string;
|
|
12
|
+
export declare function sortByDate<T>(values: T[], select: (value: T) => string | undefined): T[];
|
|
13
|
+
export declare function trimText(value: string, maxLength?: number): string;
|
|
14
|
+
export declare function sourceRefsFromPaths(sourceType: SoilSourceRef["source_type"], paths: Array<{
|
|
15
|
+
sourcePath: string;
|
|
16
|
+
sourceHash?: string;
|
|
17
|
+
reliability?: SoilSourceRef["reliability"];
|
|
18
|
+
}>): SoilSourceRef[];
|
|
19
|
+
export declare function baseFrontmatter(input: {
|
|
20
|
+
soilId: string;
|
|
21
|
+
title: string;
|
|
22
|
+
kind: SoilPageFrontmatter["kind"];
|
|
23
|
+
route: SoilPageFrontmatter["route"];
|
|
24
|
+
createdAt: string;
|
|
25
|
+
updatedAt: string;
|
|
26
|
+
generatedAt: string;
|
|
27
|
+
sourceRefs: SoilSourceRef[];
|
|
28
|
+
sourceTruth: SoilPageFrontmatter["source_truth"];
|
|
29
|
+
renderedFrom: string;
|
|
30
|
+
summary?: string;
|
|
31
|
+
goalId?: string;
|
|
32
|
+
taskId?: string;
|
|
33
|
+
scheduleId?: string;
|
|
34
|
+
decisionId?: string;
|
|
35
|
+
entryId?: string;
|
|
36
|
+
domain?: string;
|
|
37
|
+
confidence?: number;
|
|
38
|
+
priority?: number;
|
|
39
|
+
inputChecksums?: Record<string, string>;
|
|
40
|
+
}): SoilPageFrontmatter;
|
|
41
|
+
export declare function writeProjectedPage(input: SoilProjectionOptions, page: {
|
|
42
|
+
frontmatter: SoilPageFrontmatter;
|
|
43
|
+
body: string;
|
|
44
|
+
}): Promise<void>;
|
|
45
|
+
export declare function sourceHashFromText(content: string | null): Promise<string | undefined>;
|
|
46
|
+
export declare function sourceHashFromFileOrValue(sourcePath: string, fallback: unknown): Promise<string>;
|
|
47
|
+
export declare function renderIndexPage(title: string, summary: string, sections: string[]): string;
|
|
48
|
+
//# sourceMappingURL=projection-support.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"projection-support.d.ts","sourceRoot":"","sources":["../../../src/platform/soil/projection-support.ts"],"names":[],"mappings":"AAIA,OAAO,EAA6B,KAAK,mBAAmB,EAAE,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AAErG,eAAO,MAAM,uBAAuB,YAAY,CAAC;AACjD,eAAO,MAAM,wBAAwB,iBAAiB,CAAC;AACvD,eAAO,MAAM,mCAAmC,4BAA4B,CAAC;AAE7E,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,IAAI,CAAC;CACpB;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,qBAAqB,GAAG,MAAM,CAExE;AAED,wBAAgB,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,IAAI,GAAG,MAAM,CAEjD;AAED,wBAAgB,UAAU,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,MAAM,GAAG,SAAS,GAAG,CAAC,EAAE,CAMxF;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,SAAM,GAAG,MAAM,CAM/D;AAED,wBAAgB,mBAAmB,CACjC,UAAU,EAAE,aAAa,CAAC,aAAa,CAAC,EACxC,KAAK,EAAE,KAAK,CAAC;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,aAAa,CAAC,aAAa,CAAC,CAAA;CAAE,CAAC,GACpG,aAAa,EAAE,CAOjB;AAqBD,wBAAgB,eAAe,CAAC,KAAK,EAAE;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAClC,KAAK,EAAE,mBAAmB,CAAC,OAAO,CAAC,CAAC;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,aAAa,EAAE,CAAC;IAC5B,WAAW,EAAE,mBAAmB,CAAC,cAAc,CAAC,CAAC;IACjD,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACzC,GAAG,mBAAmB,CAyCtB;AAED,wBAAsB,kBAAkB,CAAC,KAAK,EAAE,qBAAqB,EAAE,IAAI,EAAE;IAAE,WAAW,EAAE,mBAAmB,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAE9I;AAED,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAK5F;AAED,wBAAsB,yBAAyB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAMtG;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,CAE1F"}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import * as fsp from "node:fs/promises";
|
|
2
|
+
import { computeSoilChecksum } from "./checksum.js";
|
|
3
|
+
import { SoilCompiler } from "./compiler.js";
|
|
4
|
+
import { getDefaultSoilRootDir } from "./config.js";
|
|
5
|
+
import { SoilPageFrontmatterSchema } from "./types.js";
|
|
6
|
+
export const SOIL_PROJECTION_VERSION = "soil-v1";
|
|
7
|
+
export const SOIL_PAGE_FORMAT_VERSION = "soil-page-v1";
|
|
8
|
+
export const SOIL_COMPILED_MEMORY_SCHEMA_VERSION = "soil-compiled-memory-v1";
|
|
9
|
+
export function soilRootFromBaseDir(input) {
|
|
10
|
+
return input.rootDir ?? getDefaultSoilRootDir(input.baseDir);
|
|
11
|
+
}
|
|
12
|
+
export function nowIso(clock) {
|
|
13
|
+
return (clock?.() ?? new Date()).toISOString();
|
|
14
|
+
}
|
|
15
|
+
export function sortByDate(values, select) {
|
|
16
|
+
return [...values].sort((left, right) => {
|
|
17
|
+
const leftTs = select(left) ?? "";
|
|
18
|
+
const rightTs = select(right) ?? "";
|
|
19
|
+
return rightTs.localeCompare(leftTs);
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
export function trimText(value, maxLength = 180) {
|
|
23
|
+
const normalized = value.replace(/\s+/g, " ").trim();
|
|
24
|
+
if (normalized.length <= maxLength) {
|
|
25
|
+
return normalized;
|
|
26
|
+
}
|
|
27
|
+
return `${normalized.slice(0, maxLength - 3)}...`;
|
|
28
|
+
}
|
|
29
|
+
export function sourceRefsFromPaths(sourceType, paths) {
|
|
30
|
+
return paths.map((item) => ({
|
|
31
|
+
source_type: sourceType,
|
|
32
|
+
source_path: item.sourcePath,
|
|
33
|
+
source_hash: item.sourceHash,
|
|
34
|
+
reliability: item.reliability,
|
|
35
|
+
}));
|
|
36
|
+
}
|
|
37
|
+
function watermarkFromSourceRefs(scope, generatedAt, sourceRefs, inputChecksums) {
|
|
38
|
+
return {
|
|
39
|
+
scope,
|
|
40
|
+
source_path: sourceRefs[0]?.source_path,
|
|
41
|
+
source_paths: sourceRefs.map((ref) => ref.source_path),
|
|
42
|
+
source_hash: sourceRefs[0]?.source_hash,
|
|
43
|
+
source_hashes: sourceRefs.map((ref) => ref.source_hash).filter((value) => Boolean(value)),
|
|
44
|
+
generated_at: generatedAt,
|
|
45
|
+
projection_version: SOIL_PROJECTION_VERSION,
|
|
46
|
+
input_commit_ids: [],
|
|
47
|
+
input_checksums: inputChecksums,
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
export function baseFrontmatter(input) {
|
|
51
|
+
return SoilPageFrontmatterSchema.parse({
|
|
52
|
+
soil_id: input.soilId,
|
|
53
|
+
kind: input.kind,
|
|
54
|
+
status: "confirmed",
|
|
55
|
+
title: input.title,
|
|
56
|
+
route: input.route,
|
|
57
|
+
source: "compiled",
|
|
58
|
+
version: "1",
|
|
59
|
+
created_at: input.createdAt,
|
|
60
|
+
updated_at: input.updatedAt,
|
|
61
|
+
generated_at: input.generatedAt,
|
|
62
|
+
source_refs: input.sourceRefs,
|
|
63
|
+
generation_watermark: watermarkFromSourceRefs(input.soilId, input.generatedAt, input.sourceRefs, input.inputChecksums ?? {}),
|
|
64
|
+
stale: false,
|
|
65
|
+
manual_overlay: {
|
|
66
|
+
enabled: false,
|
|
67
|
+
status: "candidate",
|
|
68
|
+
},
|
|
69
|
+
goal_id: input.goalId,
|
|
70
|
+
task_id: input.taskId,
|
|
71
|
+
schedule_id: input.scheduleId,
|
|
72
|
+
decision_id: input.decisionId,
|
|
73
|
+
entry_id: input.entryId,
|
|
74
|
+
domain: input.domain,
|
|
75
|
+
confidence: input.confidence,
|
|
76
|
+
priority: input.priority,
|
|
77
|
+
owner: "pulseed",
|
|
78
|
+
summary: input.summary,
|
|
79
|
+
source_truth: input.sourceTruth,
|
|
80
|
+
rendered_from: input.renderedFrom,
|
|
81
|
+
import_status: "none",
|
|
82
|
+
approval_status: "none",
|
|
83
|
+
supersedes: [],
|
|
84
|
+
page_format_version: SOIL_PAGE_FORMAT_VERSION,
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
export async function writeProjectedPage(input, page) {
|
|
88
|
+
await SoilCompiler.create({ rootDir: soilRootFromBaseDir(input) }, { clock: input.clock }).write(page);
|
|
89
|
+
}
|
|
90
|
+
export async function sourceHashFromText(content) {
|
|
91
|
+
if (content === null) {
|
|
92
|
+
return undefined;
|
|
93
|
+
}
|
|
94
|
+
return computeSoilChecksum(content);
|
|
95
|
+
}
|
|
96
|
+
export async function sourceHashFromFileOrValue(sourcePath, fallback) {
|
|
97
|
+
try {
|
|
98
|
+
return computeSoilChecksum(await fsp.readFile(sourcePath, "utf-8"));
|
|
99
|
+
}
|
|
100
|
+
catch {
|
|
101
|
+
return computeSoilChecksum(fallback);
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
export function renderIndexPage(title, summary, sections) {
|
|
105
|
+
return [`# ${title}`, "", summary, "", ...sections, ""].join("\n");
|
|
106
|
+
}
|
|
107
|
+
//# sourceMappingURL=projection-support.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"projection-support.js","sourceRoot":"","sources":["../../../src/platform/soil/projection-support.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { Report } from "../../base/types/report.js";
|
|
2
|
+
import type { ScheduleEntry } from "../../runtime/types/schedule.js";
|
|
3
|
+
export interface SoilProjectionOptions {
|
|
4
|
+
baseDir: string;
|
|
5
|
+
rootDir?: string;
|
|
6
|
+
clock?: () => Date;
|
|
7
|
+
}
|
|
8
|
+
export interface ProjectReportToSoilInput extends SoilProjectionOptions {
|
|
9
|
+
report: Report;
|
|
10
|
+
}
|
|
11
|
+
export interface ProjectSchedulesToSoilInput extends SoilProjectionOptions {
|
|
12
|
+
entries: ScheduleEntry[];
|
|
13
|
+
}
|
|
14
|
+
export declare function projectReportToSoil(input: ProjectReportToSoilInput): Promise<void>;
|
|
15
|
+
export declare function projectSchedulesToSoil(input: ProjectSchedulesToSoilInput): Promise<void>;
|
|
16
|
+
//# sourceMappingURL=projections.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"projections.d.ts","sourceRoot":"","sources":["../../../src/platform/soil/projections.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAQrE,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,IAAI,CAAC;CACpB;AAED,MAAM,WAAW,wBAAyB,SAAQ,qBAAqB;IACrE,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,2BAA4B,SAAQ,qBAAqB;IACxE,OAAO,EAAE,aAAa,EAAE,CAAC;CAC1B;AA4GD,wBAAsB,mBAAmB,CAAC,KAAK,EAAE,wBAAwB,GAAG,OAAO,CAAC,IAAI,CAAC,CAuCxF;AAkGD,wBAAsB,sBAAsB,CAAC,KAAK,EAAE,2BAA2B,GAAG,OAAO,CAAC,IAAI,CAAC,CAoD9F"}
|
|
@@ -0,0 +1,265 @@
|
|
|
1
|
+
import * as fsp from "node:fs/promises";
|
|
2
|
+
import * as path from "node:path";
|
|
3
|
+
import { computeSoilChecksum } from "./checksum.js";
|
|
4
|
+
import { SoilCompiler } from "./compiler.js";
|
|
5
|
+
import { SoilPageFrontmatterSchema } from "./types.js";
|
|
6
|
+
const SOIL_PROJECTION_VERSION = "soil-v1";
|
|
7
|
+
const SOIL_PAGE_FORMAT_VERSION = "soil-page-v1";
|
|
8
|
+
function soilRootFromBaseDir(input) {
|
|
9
|
+
return input.rootDir ?? path.join(input.baseDir, "soil");
|
|
10
|
+
}
|
|
11
|
+
function nowIso(clock) {
|
|
12
|
+
return (clock?.() ?? new Date()).toISOString();
|
|
13
|
+
}
|
|
14
|
+
async function hashFile(filePath) {
|
|
15
|
+
try {
|
|
16
|
+
return computeSoilChecksum(await fsp.readFile(filePath, "utf-8"));
|
|
17
|
+
}
|
|
18
|
+
catch {
|
|
19
|
+
return undefined;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
function summaryFromText(text, maxLength = 180) {
|
|
23
|
+
const normalized = text.replace(/\s+/g, " ").trim();
|
|
24
|
+
if (normalized.length <= maxLength) {
|
|
25
|
+
return normalized;
|
|
26
|
+
}
|
|
27
|
+
return `${normalized.slice(0, maxLength - 3)}...`;
|
|
28
|
+
}
|
|
29
|
+
function reportBucket(reportType) {
|
|
30
|
+
if (reportType.includes("weekly")) {
|
|
31
|
+
return "weekly";
|
|
32
|
+
}
|
|
33
|
+
if (reportType.includes("daily")) {
|
|
34
|
+
return "daily";
|
|
35
|
+
}
|
|
36
|
+
if (reportType.includes("notification")) {
|
|
37
|
+
return "notification";
|
|
38
|
+
}
|
|
39
|
+
return reportType.replace(/[^a-zA-Z0-9._-]+/g, "-");
|
|
40
|
+
}
|
|
41
|
+
function reportSourcePath(baseDir, report) {
|
|
42
|
+
return path.join(baseDir, "reports", report.goal_id ?? "_global", `${report.id}.json`);
|
|
43
|
+
}
|
|
44
|
+
function baseFrontmatter(input) {
|
|
45
|
+
const inputChecksums = input.sourceHash ? { [input.sourcePath]: input.sourceHash } : {};
|
|
46
|
+
return SoilPageFrontmatterSchema.parse({
|
|
47
|
+
soil_id: input.soilId,
|
|
48
|
+
kind: input.kind,
|
|
49
|
+
status: "confirmed",
|
|
50
|
+
title: input.title,
|
|
51
|
+
route: input.route,
|
|
52
|
+
source: "compiled",
|
|
53
|
+
version: "1",
|
|
54
|
+
created_at: input.createdAt,
|
|
55
|
+
updated_at: input.updatedAt,
|
|
56
|
+
generated_at: input.generatedAt,
|
|
57
|
+
source_refs: [
|
|
58
|
+
{
|
|
59
|
+
source_type: "runtime_json",
|
|
60
|
+
source_path: input.sourcePath,
|
|
61
|
+
source_hash: input.sourceHash,
|
|
62
|
+
reliability: "high",
|
|
63
|
+
},
|
|
64
|
+
],
|
|
65
|
+
generation_watermark: {
|
|
66
|
+
scope: input.soilId,
|
|
67
|
+
source_path: input.sourcePath,
|
|
68
|
+
source_paths: [input.sourcePath],
|
|
69
|
+
source_hash: input.sourceHash,
|
|
70
|
+
source_hashes: input.sourceHash ? [input.sourceHash] : [],
|
|
71
|
+
generated_at: input.generatedAt,
|
|
72
|
+
projection_version: SOIL_PROJECTION_VERSION,
|
|
73
|
+
input_checksums: inputChecksums,
|
|
74
|
+
},
|
|
75
|
+
stale: false,
|
|
76
|
+
manual_overlay: {
|
|
77
|
+
enabled: false,
|
|
78
|
+
status: "candidate",
|
|
79
|
+
},
|
|
80
|
+
goal_id: input.goalId ?? undefined,
|
|
81
|
+
schedule_id: input.scheduleId ?? undefined,
|
|
82
|
+
domain: input.domain,
|
|
83
|
+
summary: input.summary,
|
|
84
|
+
owner: "pulseed",
|
|
85
|
+
source_truth: "runtime_json",
|
|
86
|
+
rendered_from: input.renderedFrom,
|
|
87
|
+
import_status: "none",
|
|
88
|
+
approval_status: "none",
|
|
89
|
+
supersedes: [],
|
|
90
|
+
page_format_version: SOIL_PAGE_FORMAT_VERSION,
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
export async function projectReportToSoil(input) {
|
|
94
|
+
const generatedAt = nowIso(input.clock);
|
|
95
|
+
const bucket = reportBucket(input.report.report_type);
|
|
96
|
+
const goalSegment = input.report.goal_id ?? "_global";
|
|
97
|
+
const soilId = `report/${bucket}/${goalSegment}/${input.report.id}`;
|
|
98
|
+
const sourcePath = reportSourcePath(input.baseDir, input.report);
|
|
99
|
+
const sourceHash = await hashFile(sourcePath);
|
|
100
|
+
const frontmatter = baseFrontmatter({
|
|
101
|
+
soilId,
|
|
102
|
+
title: input.report.title,
|
|
103
|
+
kind: "report",
|
|
104
|
+
route: "report",
|
|
105
|
+
createdAt: input.report.generated_at,
|
|
106
|
+
updatedAt: input.report.generated_at,
|
|
107
|
+
generatedAt,
|
|
108
|
+
sourcePath,
|
|
109
|
+
sourceHash,
|
|
110
|
+
summary: summaryFromText(input.report.content),
|
|
111
|
+
goalId: input.report.goal_id,
|
|
112
|
+
domain: input.report.report_type,
|
|
113
|
+
renderedFrom: "reporting-engine",
|
|
114
|
+
});
|
|
115
|
+
const body = [
|
|
116
|
+
`# ${input.report.title}`,
|
|
117
|
+
"",
|
|
118
|
+
`- Type: ${input.report.report_type}`,
|
|
119
|
+
`- Goal: ${input.report.goal_id ?? "_global"}`,
|
|
120
|
+
`- Generated: ${input.report.generated_at}`,
|
|
121
|
+
"",
|
|
122
|
+
"## Content",
|
|
123
|
+
"",
|
|
124
|
+
input.report.content,
|
|
125
|
+
"",
|
|
126
|
+
].join("\n");
|
|
127
|
+
await SoilCompiler.create({ rootDir: soilRootFromBaseDir(input) }, { clock: input.clock }).write({
|
|
128
|
+
frontmatter,
|
|
129
|
+
body,
|
|
130
|
+
});
|
|
131
|
+
}
|
|
132
|
+
function scheduleTriggerSummary(entry) {
|
|
133
|
+
if (entry.trigger.type === "cron") {
|
|
134
|
+
return `cron ${entry.trigger.expression} (${entry.trigger.timezone})`;
|
|
135
|
+
}
|
|
136
|
+
return `every ${entry.trigger.seconds}s`;
|
|
137
|
+
}
|
|
138
|
+
function scheduleBody(entries) {
|
|
139
|
+
const lines = [
|
|
140
|
+
"# Current schedules",
|
|
141
|
+
"",
|
|
142
|
+
`Total: ${entries.length}`,
|
|
143
|
+
"",
|
|
144
|
+
"| Name | Layer | Enabled | Trigger | Next fire | Last fired |",
|
|
145
|
+
"| --- | --- | --- | --- | --- | --- |",
|
|
146
|
+
];
|
|
147
|
+
for (const entry of entries) {
|
|
148
|
+
lines.push(`| ${entry.name} | ${entry.layer} | ${entry.enabled ? "yes" : "no"} | ${scheduleTriggerSummary(entry)} | ${entry.next_fire_at} | ${entry.last_fired_at ?? ""} |`);
|
|
149
|
+
}
|
|
150
|
+
lines.push("");
|
|
151
|
+
return lines.join("\n");
|
|
152
|
+
}
|
|
153
|
+
function schedulePurpose(entry) {
|
|
154
|
+
if (entry.cron) {
|
|
155
|
+
if (entry.cron.job_kind === "reflection") {
|
|
156
|
+
return entry.cron.reflection_kind ? `reflection:${entry.cron.reflection_kind}` : "reflection";
|
|
157
|
+
}
|
|
158
|
+
if (entry.cron.job_kind === "soil_publish") {
|
|
159
|
+
return "soil snapshot publish";
|
|
160
|
+
}
|
|
161
|
+
return summaryFromText(entry.cron.prompt_template, 120);
|
|
162
|
+
}
|
|
163
|
+
if (entry.probe) {
|
|
164
|
+
return `probe ${entry.probe.data_source_id}${entry.probe.probe_dimension ? `/${entry.probe.probe_dimension}` : ""}`;
|
|
165
|
+
}
|
|
166
|
+
if (entry.heartbeat) {
|
|
167
|
+
return `heartbeat ${entry.heartbeat.check_type}`;
|
|
168
|
+
}
|
|
169
|
+
if (entry.goal_trigger) {
|
|
170
|
+
return `goal trigger ${entry.goal_trigger.goal_id}`;
|
|
171
|
+
}
|
|
172
|
+
return entry.metadata?.note ?? "none";
|
|
173
|
+
}
|
|
174
|
+
function scheduleOutputHint(entry) {
|
|
175
|
+
if (entry.cron) {
|
|
176
|
+
return [
|
|
177
|
+
entry.cron.output_format,
|
|
178
|
+
entry.cron.report_type ? `report:${entry.cron.report_type}` : undefined,
|
|
179
|
+
].filter(Boolean).join(" / ");
|
|
180
|
+
}
|
|
181
|
+
if (entry.probe) {
|
|
182
|
+
return entry.probe.llm_on_change ? "probe change + optional LLM note" : "probe change";
|
|
183
|
+
}
|
|
184
|
+
if (entry.heartbeat) {
|
|
185
|
+
return "health status";
|
|
186
|
+
}
|
|
187
|
+
if (entry.goal_trigger) {
|
|
188
|
+
return `run goal ${entry.goal_trigger.goal_id}`;
|
|
189
|
+
}
|
|
190
|
+
return "none";
|
|
191
|
+
}
|
|
192
|
+
function activeScheduleBody(entries) {
|
|
193
|
+
const active = [...entries]
|
|
194
|
+
.filter((entry) => entry.enabled)
|
|
195
|
+
.sort((left, right) => left.next_fire_at.localeCompare(right.next_fire_at));
|
|
196
|
+
const lines = [
|
|
197
|
+
"# Active schedules",
|
|
198
|
+
"",
|
|
199
|
+
`Active: ${active.length}`,
|
|
200
|
+
`Total: ${entries.length}`,
|
|
201
|
+
"",
|
|
202
|
+
"| Name | Layer | Trigger | Next fire | Purpose | Output hint | Last fired |",
|
|
203
|
+
"| --- | --- | --- | --- | --- | --- | --- |",
|
|
204
|
+
];
|
|
205
|
+
for (const entry of active) {
|
|
206
|
+
lines.push(`| ${entry.name} | ${entry.layer} | ${scheduleTriggerSummary(entry)} | ${entry.next_fire_at} | ${schedulePurpose(entry)} | ${scheduleOutputHint(entry)} | ${entry.last_fired_at ?? ""} |`);
|
|
207
|
+
}
|
|
208
|
+
if (active.length === 0) {
|
|
209
|
+
lines.push("| none | | | | | | |");
|
|
210
|
+
}
|
|
211
|
+
lines.push("");
|
|
212
|
+
return lines.join("\n");
|
|
213
|
+
}
|
|
214
|
+
export async function projectSchedulesToSoil(input) {
|
|
215
|
+
const generatedAt = nowIso(input.clock);
|
|
216
|
+
const sourcePath = path.join(input.baseDir, "schedules.json");
|
|
217
|
+
const sourceHash = await hashFile(sourcePath);
|
|
218
|
+
const enabledCount = input.entries.filter((entry) => entry.enabled).length;
|
|
219
|
+
const updatedAt = input.entries
|
|
220
|
+
.map((entry) => entry.updated_at)
|
|
221
|
+
.sort()
|
|
222
|
+
.at(-1) ?? generatedAt;
|
|
223
|
+
const createdAt = input.entries
|
|
224
|
+
.map((entry) => entry.created_at)
|
|
225
|
+
.sort()
|
|
226
|
+
.at(0) ?? generatedAt;
|
|
227
|
+
const currentFrontmatter = baseFrontmatter({
|
|
228
|
+
soilId: "schedule/current",
|
|
229
|
+
title: "Current schedules",
|
|
230
|
+
kind: "schedule",
|
|
231
|
+
route: "schedule",
|
|
232
|
+
createdAt,
|
|
233
|
+
updatedAt,
|
|
234
|
+
generatedAt,
|
|
235
|
+
sourcePath,
|
|
236
|
+
sourceHash,
|
|
237
|
+
summary: `${enabledCount}/${input.entries.length} schedules enabled`,
|
|
238
|
+
domain: "schedule",
|
|
239
|
+
renderedFrom: "schedule-engine",
|
|
240
|
+
});
|
|
241
|
+
const activeFrontmatter = baseFrontmatter({
|
|
242
|
+
soilId: "schedule/active",
|
|
243
|
+
title: "Active schedules",
|
|
244
|
+
kind: "schedule",
|
|
245
|
+
route: "schedule",
|
|
246
|
+
createdAt,
|
|
247
|
+
updatedAt,
|
|
248
|
+
generatedAt,
|
|
249
|
+
sourcePath,
|
|
250
|
+
sourceHash,
|
|
251
|
+
summary: `${enabledCount} active schedules`,
|
|
252
|
+
domain: "schedule",
|
|
253
|
+
renderedFrom: "schedule-engine",
|
|
254
|
+
});
|
|
255
|
+
const compiler = SoilCompiler.create({ rootDir: soilRootFromBaseDir(input) }, { clock: input.clock });
|
|
256
|
+
await compiler.write({
|
|
257
|
+
frontmatter: currentFrontmatter,
|
|
258
|
+
body: scheduleBody(input.entries),
|
|
259
|
+
});
|
|
260
|
+
await compiler.write({
|
|
261
|
+
frontmatter: activeFrontmatter,
|
|
262
|
+
body: activeScheduleBody(input.entries),
|
|
263
|
+
});
|
|
264
|
+
}
|
|
265
|
+
//# sourceMappingURL=projections.js.map
|