pulseed 0.1.3 → 0.1.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/adapters/{a2a-adapter.d.ts → agents/a2a-adapter.d.ts} +1 -1
- package/dist/adapters/agents/a2a-adapter.d.ts.map +1 -0
- package/dist/adapters/{a2a-adapter.js → agents/a2a-adapter.js} +1 -1
- package/dist/adapters/agents/a2a-adapter.js.map +1 -0
- package/dist/adapters/{a2a-client.d.ts → agents/a2a-client.d.ts} +1 -1
- package/dist/adapters/agents/a2a-client.d.ts.map +1 -0
- package/dist/adapters/{a2a-client.js → agents/a2a-client.js} +1 -1
- package/dist/adapters/agents/a2a-client.js.map +1 -0
- package/dist/adapters/{agent-profile-loader.d.ts → agents/agent-profile-loader.d.ts} +1 -1
- package/dist/adapters/agents/agent-profile-loader.d.ts.map +1 -0
- package/dist/adapters/{agent-profile-loader.js → agents/agent-profile-loader.js} +1 -1
- package/dist/adapters/agents/agent-profile-loader.js.map +1 -0
- package/dist/adapters/{browser-use-cli.d.ts → agents/browser-use-cli.d.ts} +1 -1
- package/dist/adapters/agents/browser-use-cli.d.ts.map +1 -0
- package/dist/adapters/{browser-use-cli.js → agents/browser-use-cli.js} +6 -2
- package/dist/adapters/agents/browser-use-cli.js.map +1 -0
- package/dist/adapters/{claude-api.d.ts → agents/claude-api.d.ts} +2 -2
- package/dist/adapters/agents/claude-api.d.ts.map +1 -0
- package/dist/adapters/{claude-api.js → agents/claude-api.js} +2 -1
- package/dist/adapters/agents/claude-api.js.map +1 -0
- package/dist/adapters/{claude-code-cli.d.ts → agents/claude-code-cli.d.ts} +1 -1
- package/dist/adapters/agents/claude-code-cli.d.ts.map +1 -0
- package/dist/adapters/{claude-code-cli.js → agents/claude-code-cli.js} +6 -2
- package/dist/adapters/agents/claude-code-cli.js.map +1 -0
- package/dist/adapters/{openai-codex.d.ts → agents/openai-codex.d.ts} +2 -2
- package/dist/adapters/agents/openai-codex.d.ts.map +1 -0
- package/dist/adapters/{openai-codex.js → agents/openai-codex.js} +6 -2
- package/dist/adapters/agents/openai-codex.js.map +1 -0
- package/dist/adapters/{openclaw-acp.d.ts → agents/openclaw-acp.d.ts} +1 -1
- package/dist/adapters/agents/openclaw-acp.d.ts.map +1 -0
- package/dist/adapters/agents/openclaw-acp.js.map +1 -0
- package/dist/adapters/{file-existence-datasource.d.ts → datasources/file-existence-datasource.d.ts} +2 -2
- package/dist/adapters/datasources/file-existence-datasource.d.ts.map +1 -0
- package/dist/adapters/datasources/file-existence-datasource.js.map +1 -0
- package/dist/adapters/{github-issue-datasource.d.ts → datasources/github-issue-datasource.d.ts} +2 -2
- package/dist/adapters/datasources/github-issue-datasource.d.ts.map +1 -0
- package/dist/adapters/datasources/github-issue-datasource.js.map +1 -0
- package/dist/adapters/{mcp-datasource.d.ts → datasources/mcp-datasource.d.ts} +3 -3
- package/dist/adapters/datasources/mcp-datasource.d.ts.map +1 -0
- package/dist/adapters/datasources/mcp-datasource.js.map +1 -0
- package/dist/adapters/{openclaw-datasource.d.ts → datasources/openclaw-datasource.d.ts} +2 -2
- package/dist/adapters/datasources/openclaw-datasource.d.ts.map +1 -0
- package/dist/adapters/datasources/openclaw-datasource.js.map +1 -0
- package/dist/adapters/{shell-datasource.d.ts → datasources/shell-datasource.d.ts} +3 -3
- package/dist/adapters/datasources/shell-datasource.d.ts.map +1 -0
- package/dist/adapters/datasources/shell-datasource.js.map +1 -0
- package/dist/adapters/github-issue.js +1 -1
- package/dist/adapters/github-issue.js.map +1 -1
- package/dist/adapters/mcp-client-manager.d.ts +1 -1
- package/dist/adapters/mcp-client-manager.d.ts.map +1 -1
- package/dist/adapters/mcp-client-manager.js +1 -1
- package/dist/adapters/mcp-client-manager.js.map +1 -1
- package/dist/chat/chat-history.d.ts +80 -0
- package/dist/chat/chat-history.d.ts.map +1 -0
- package/dist/chat/chat-history.js +70 -0
- package/dist/chat/chat-history.js.map +1 -0
- package/dist/chat/chat-runner.d.ts +79 -0
- package/dist/chat/chat-runner.d.ts.map +1 -0
- package/dist/chat/chat-runner.js +279 -0
- package/dist/chat/chat-runner.js.map +1 -0
- package/dist/chat/chat-verifier.d.ts +13 -0
- package/dist/chat/chat-verifier.d.ts.map +1 -0
- package/dist/chat/chat-verifier.js +35 -0
- package/dist/chat/chat-verifier.js.map +1 -0
- package/dist/chat/escalation.d.ts +30 -0
- package/dist/chat/escalation.d.ts.map +1 -0
- package/dist/chat/escalation.js +53 -0
- package/dist/chat/escalation.js.map +1 -0
- package/dist/chat/grounding.d.ts +8 -0
- package/dist/chat/grounding.d.ts.map +1 -0
- package/dist/chat/grounding.js +104 -0
- package/dist/chat/grounding.js.map +1 -0
- package/dist/chat/mutation-tool-defs.d.ts +19 -0
- package/dist/chat/mutation-tool-defs.d.ts.map +1 -0
- package/dist/chat/mutation-tool-defs.js +154 -0
- package/dist/chat/mutation-tool-defs.js.map +1 -0
- package/dist/chat/self-knowledge-mutation-tools.d.ts +5 -0
- package/dist/chat/self-knowledge-mutation-tools.d.ts.map +1 -0
- package/dist/chat/self-knowledge-mutation-tools.js +249 -0
- package/dist/chat/self-knowledge-mutation-tools.js.map +1 -0
- package/dist/chat/self-knowledge-tools.d.ts +22 -0
- package/dist/chat/self-knowledge-tools.d.ts.map +1 -0
- package/dist/chat/self-knowledge-tools.js +261 -0
- package/dist/chat/self-knowledge-tools.js.map +1 -0
- package/dist/cli/cli-command-registry 2.d.ts +16 -0
- package/dist/cli/cli-command-registry 2.d.ts.map +1 -0
- package/dist/cli/cli-command-registry 2.js +408 -0
- package/dist/cli/cli-command-registry 2.js.map +1 -0
- package/dist/cli/cli-command-registry.d.ts +16 -0
- package/dist/cli/cli-command-registry.d.ts.map +1 -0
- package/dist/cli/cli-command-registry.js +408 -0
- package/dist/cli/cli-command-registry.js.map +1 -0
- package/dist/cli/cli-runner.d.ts.map +1 -0
- package/dist/cli/cli-runner.js +122 -0
- package/dist/cli/cli-runner.js.map +1 -0
- package/dist/cli/commands/chat.d.ts +3 -0
- package/dist/cli/commands/chat.d.ts.map +1 -0
- package/dist/cli/commands/chat.js +148 -0
- package/dist/cli/commands/chat.js.map +1 -0
- package/dist/cli/commands/config.d.ts +1 -1
- package/dist/cli/commands/config.d.ts.map +1 -1
- package/dist/cli/commands/config.js +1 -1
- package/dist/cli/commands/config.js.map +1 -1
- package/dist/cli/commands/daemon.d.ts +1 -1
- package/dist/cli/commands/daemon.d.ts.map +1 -1
- package/dist/cli/commands/daemon.js +97 -14
- package/dist/cli/commands/daemon.js.map +1 -1
- package/dist/cli/commands/doctor.d.ts +19 -0
- package/dist/cli/commands/doctor.d.ts.map +1 -0
- package/dist/cli/commands/doctor.js +203 -0
- package/dist/cli/commands/doctor.js.map +1 -0
- package/dist/cli/commands/goal-dispatch.d.ts +1 -1
- package/dist/cli/commands/goal-dispatch.d.ts.map +1 -1
- package/dist/cli/commands/goal-raw.d.ts +1 -1
- package/dist/cli/commands/goal-raw.d.ts.map +1 -1
- package/dist/cli/commands/goal-read.d.ts +2 -2
- package/dist/cli/commands/goal-read.d.ts.map +1 -1
- package/dist/cli/commands/goal-read.js +1 -1
- package/dist/cli/commands/goal-read.js.map +1 -1
- package/dist/cli/commands/goal-utils.d.ts +1 -1
- package/dist/cli/commands/goal-utils.d.ts.map +1 -1
- package/dist/cli/commands/goal-utils.js +1 -0
- package/dist/cli/commands/goal-utils.js.map +1 -1
- package/dist/cli/commands/goal-write.d.ts +1 -1
- package/dist/cli/commands/goal-write.d.ts.map +1 -1
- package/dist/cli/commands/install.d.ts +16 -0
- package/dist/cli/commands/install.d.ts.map +1 -0
- package/dist/cli/commands/install.js +153 -0
- package/dist/cli/commands/install.js.map +1 -0
- package/dist/cli/commands/knowledge.d.ts +1 -1
- package/dist/cli/commands/knowledge.d.ts.map +1 -1
- package/dist/cli/commands/logs.d.ts +2 -0
- package/dist/cli/commands/logs.d.ts.map +1 -0
- package/dist/cli/commands/logs.js +201 -0
- package/dist/cli/commands/logs.js.map +1 -0
- package/dist/cli/commands/notify.d.ts +2 -0
- package/dist/cli/commands/notify.d.ts.map +1 -0
- package/dist/cli/commands/notify.js +277 -0
- package/dist/cli/commands/notify.js.map +1 -0
- package/dist/cli/commands/report.d.ts +1 -1
- package/dist/cli/commands/report.d.ts.map +1 -1
- package/dist/cli/commands/report.js +1 -1
- package/dist/cli/commands/report.js.map +1 -1
- package/dist/cli/commands/run.d.ts +3 -3
- package/dist/cli/commands/run.d.ts.map +1 -1
- package/dist/cli/commands/run.js.map +1 -1
- package/dist/cli/commands/suggest.d.ts +1 -1
- package/dist/cli/commands/suggest.d.ts.map +1 -1
- package/dist/cli/commands/suggest.js +1 -1
- package/dist/cli/commands/suggest.js.map +1 -1
- package/dist/cli/commands/task-read.d.ts +1 -1
- package/dist/cli/commands/task-read.d.ts.map +1 -1
- package/dist/cli/commands/telegram.d.ts +2 -0
- package/dist/cli/commands/telegram.d.ts.map +1 -0
- package/dist/cli/commands/telegram.js +155 -0
- package/dist/cli/commands/telegram.js.map +1 -0
- package/dist/cli/setup.d.ts +5 -5
- package/dist/cli/setup.d.ts.map +1 -1
- package/dist/cli/setup.js +21 -11
- package/dist/cli/setup.js.map +1 -1
- package/dist/cli/utils/loop-runner.d.ts +1 -1
- package/dist/cli/utils/loop-runner.d.ts.map +1 -1
- package/dist/cli/utils.d.ts.map +1 -1
- package/dist/cli/utils.js +11 -0
- package/dist/cli/utils.js.map +1 -1
- package/dist/drive/drive-system.d.ts +1 -1
- package/dist/drive/drive-system.d.ts.map +1 -1
- package/dist/drive/drive-system.js +11 -2
- package/dist/drive/drive-system.js.map +1 -1
- package/dist/drive/satisficing-judge.d.ts +1 -1
- package/dist/drive/satisficing-judge.d.ts.map +1 -1
- package/dist/drive/satisficing-propagation.d.ts +1 -1
- package/dist/drive/satisficing-propagation.d.ts.map +1 -1
- package/dist/drive/stall-detector.d.ts +20 -1
- package/dist/drive/stall-detector.d.ts.map +1 -1
- package/dist/drive/stall-detector.js +75 -0
- package/dist/drive/stall-detector.js.map +1 -1
- package/dist/execution/adapter-layer.d.ts +2 -0
- package/dist/execution/adapter-layer.d.ts.map +1 -1
- package/dist/execution/adapter-layer.js.map +1 -1
- package/dist/execution/checkpoint-manager.d.ts +1 -1
- package/dist/execution/checkpoint-manager.d.ts.map +1 -1
- package/dist/execution/{context-budget.d.ts → context/context-budget.d.ts} +1 -1
- package/dist/execution/context/context-budget.d.ts.map +1 -0
- package/dist/execution/context/context-budget.js.map +1 -0
- package/dist/execution/{context-builder.d.ts → context/context-builder.d.ts} +3 -3
- package/dist/execution/context/context-builder.d.ts.map +1 -0
- package/dist/execution/{context-builder.js → context/context-builder.js} +1 -1
- package/dist/execution/context/context-builder.js.map +1 -0
- package/dist/execution/{dimension-selector.d.ts → context/dimension-selector.d.ts} +3 -3
- package/dist/execution/context/dimension-selector.d.ts.map +1 -0
- package/dist/execution/{dimension-selector.js → context/dimension-selector.js} +1 -1
- package/dist/execution/context/dimension-selector.js.map +1 -0
- package/dist/execution/context/issue-context-fetcher.d.ts +19 -0
- package/dist/execution/context/issue-context-fetcher.d.ts.map +1 -0
- package/dist/execution/context/issue-context-fetcher.js +73 -0
- package/dist/execution/context/issue-context-fetcher.js.map +1 -0
- package/dist/execution/parallel-executor.js +1 -1
- package/dist/execution/parallel-executor.js.map +1 -1
- package/dist/execution/pipeline-executor.d.ts +1 -1
- package/dist/execution/pipeline-executor.d.ts.map +1 -1
- package/dist/execution/session-manager.d.ts +2 -2
- package/dist/execution/session-manager.d.ts.map +1 -1
- package/dist/execution/session-manager.js +4 -1
- package/dist/execution/session-manager.js.map +1 -1
- package/dist/execution/{task-approval-check.d.ts → task/task-approval-check.d.ts} +2 -2
- package/dist/execution/task/task-approval-check.d.ts.map +1 -0
- package/dist/execution/task/task-approval-check.js.map +1 -0
- package/dist/execution/{task-approval.d.ts → task/task-approval.d.ts} +3 -3
- package/dist/execution/task/task-approval.d.ts.map +1 -0
- package/dist/execution/{task-approval.js → task/task-approval.js} +1 -1
- package/dist/execution/task/task-approval.js.map +1 -0
- package/dist/execution/{task-execution-types.d.ts → task/task-execution-types.d.ts} +2 -2
- package/dist/execution/task/task-execution-types.d.ts.map +1 -0
- package/dist/execution/{task-execution-types.js → task/task-execution-types.js} +1 -1
- package/dist/execution/task/task-execution-types.js.map +1 -0
- package/dist/execution/{task-executor.d.ts → task/task-executor.d.ts} +6 -6
- package/dist/execution/task/task-executor.d.ts.map +1 -0
- package/dist/execution/{task-executor.js → task/task-executor.js} +1 -1
- package/dist/execution/task/task-executor.js.map +1 -0
- package/dist/execution/{task-generation.d.ts → task/task-generation.d.ts} +8 -8
- package/dist/execution/task/task-generation.d.ts.map +1 -0
- package/dist/execution/{task-generation.js → task/task-generation.js} +12 -4
- package/dist/execution/task/task-generation.js.map +1 -0
- package/dist/execution/task/task-health-check.d.ts.map +1 -0
- package/dist/execution/task/task-health-check.js.map +1 -0
- package/dist/execution/{task-lifecycle.d.ts → task/task-lifecycle.d.ts} +21 -21
- package/dist/execution/task/task-lifecycle.d.ts.map +1 -0
- package/dist/execution/{task-lifecycle.js → task/task-lifecycle.js} +7 -4
- package/dist/execution/task/task-lifecycle.js.map +1 -0
- package/dist/execution/{task-pipeline-cycle.d.ts → task/task-pipeline-cycle.d.ts} +15 -15
- package/dist/execution/task/task-pipeline-cycle.d.ts.map +1 -0
- package/dist/execution/{task-pipeline-cycle.js → task/task-pipeline-cycle.js} +3 -3
- package/dist/execution/task/task-pipeline-cycle.js.map +1 -0
- package/dist/execution/{task-prompt-builder.d.ts → task/task-prompt-builder.d.ts} +1 -1
- package/dist/execution/task/task-prompt-builder.d.ts.map +1 -0
- package/dist/execution/{task-prompt-builder.js → task/task-prompt-builder.js} +30 -1
- package/dist/execution/task/task-prompt-builder.js.map +1 -0
- package/dist/execution/task/task-verifier-llm 2.d.ts +24 -0
- package/dist/execution/task/task-verifier-llm 2.d.ts.map +1 -0
- package/dist/execution/task/task-verifier-llm 2.js +160 -0
- package/dist/execution/task/task-verifier-llm 2.js.map +1 -0
- package/dist/execution/task/task-verifier-llm.d.ts +24 -0
- package/dist/execution/task/task-verifier-llm.d.ts.map +1 -0
- package/dist/execution/task/task-verifier-llm.js +160 -0
- package/dist/execution/task/task-verifier-llm.js.map +1 -0
- package/dist/execution/task/task-verifier-rules 2.d.ts +31 -0
- package/dist/execution/task/task-verifier-rules 2.d.ts.map +1 -0
- package/dist/execution/task/task-verifier-rules 2.js +207 -0
- package/dist/execution/task/task-verifier-rules 2.js.map +1 -0
- package/dist/execution/task/task-verifier-rules.d.ts +31 -0
- package/dist/execution/task/task-verifier-rules.d.ts.map +1 -0
- package/dist/execution/task/task-verifier-rules.js +207 -0
- package/dist/execution/task/task-verifier-rules.js.map +1 -0
- package/dist/execution/task/task-verifier-types 2.d.ts +78 -0
- package/dist/execution/task/task-verifier-types 2.d.ts.map +1 -0
- package/dist/execution/task/task-verifier-types 2.js +9 -0
- package/dist/execution/task/task-verifier-types 2.js.map +1 -0
- package/dist/execution/task/task-verifier-types.d.ts +78 -0
- package/dist/execution/task/task-verifier-types.d.ts.map +1 -0
- package/dist/execution/task/task-verifier-types.js +9 -0
- package/dist/execution/task/task-verifier-types.js.map +1 -0
- package/dist/execution/task/task-verifier.d.ts +48 -0
- package/dist/execution/task/task-verifier.d.ts.map +1 -0
- package/dist/execution/{task-verifier.js → task/task-verifier.js} +18 -398
- package/dist/execution/task/task-verifier.js.map +1 -0
- package/dist/goal/goal-decomposer.d.ts +1 -1
- package/dist/goal/goal-decomposer.d.ts.map +1 -1
- package/dist/goal/goal-dependency-graph.d.ts +1 -1
- package/dist/goal/goal-dependency-graph.d.ts.map +1 -1
- package/dist/goal/goal-negotiator.d.ts +1 -1
- package/dist/goal/goal-negotiator.d.ts.map +1 -1
- package/dist/goal/goal-refiner.d.ts +1 -1
- package/dist/goal/goal-refiner.d.ts.map +1 -1
- package/dist/goal/goal-refiner.js +1 -1
- package/dist/goal/goal-refiner.js.map +1 -1
- package/dist/goal/goal-suggest.d.ts +8 -8
- package/dist/goal/goal-tree-manager.d.ts +1 -1
- package/dist/goal/goal-tree-manager.d.ts.map +1 -1
- package/dist/goal/goal-tree-manager.js +6 -0
- package/dist/goal/goal-tree-manager.js.map +1 -1
- package/dist/goal/goal-tree-pruner.d.ts +1 -1
- package/dist/goal/goal-tree-pruner.d.ts.map +1 -1
- package/dist/goal/refiner-prompts.d.ts.map +1 -1
- package/dist/goal/refiner-prompts.js +5 -1
- package/dist/goal/refiner-prompts.js.map +1 -1
- package/dist/goal/state-aggregator.d.ts +1 -1
- package/dist/goal/state-aggregator.d.ts.map +1 -1
- package/dist/goal/tree-loop-orchestrator.d.ts +4 -2
- package/dist/goal/tree-loop-orchestrator.d.ts.map +1 -1
- package/dist/goal/tree-loop-orchestrator.js +4 -4
- package/dist/goal/tree-loop-orchestrator.js.map +1 -1
- package/dist/index 2.js +77 -0
- package/dist/index.d 2.ts +97 -0
- package/dist/index.d.ts +20 -20
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +16 -16
- package/dist/index.js.map +1 -1
- package/dist/knowledge/knowledge-decisions.d.ts +1 -1
- package/dist/knowledge/knowledge-decisions.d.ts.map +1 -1
- package/dist/knowledge/knowledge-manager-query 2.d.ts +87 -0
- package/dist/knowledge/knowledge-manager-query 2.d.ts.map +1 -0
- package/dist/knowledge/knowledge-manager-query 2.js +287 -0
- package/dist/knowledge/knowledge-manager-query 2.js.map +1 -0
- package/dist/knowledge/knowledge-manager-query.d.ts +87 -0
- package/dist/knowledge/knowledge-manager-query.d.ts.map +1 -0
- package/dist/knowledge/knowledge-manager-query.js +287 -0
- package/dist/knowledge/knowledge-manager-query.js.map +1 -0
- package/dist/knowledge/knowledge-manager.d.ts +2 -19
- package/dist/knowledge/knowledge-manager.d.ts.map +1 -1
- package/dist/knowledge/knowledge-manager.js +7 -269
- package/dist/knowledge/knowledge-manager.js.map +1 -1
- package/dist/knowledge/knowledge-revalidation.d.ts +1 -1
- package/dist/knowledge/knowledge-revalidation.d.ts.map +1 -1
- package/dist/knowledge/knowledge-search.d.ts +1 -1
- package/dist/knowledge/knowledge-search.d.ts.map +1 -1
- package/dist/knowledge/{learning-cross-goal.d.ts → learning/learning-cross-goal.d.ts} +2 -2
- package/dist/knowledge/learning/learning-cross-goal.d.ts.map +1 -0
- package/dist/knowledge/{learning-cross-goal.js → learning/learning-cross-goal.js} +1 -1
- package/dist/knowledge/learning/learning-cross-goal.js.map +1 -0
- package/dist/knowledge/{learning-exports.d.ts → learning/learning-exports.d.ts} +1 -1
- package/dist/knowledge/learning/learning-exports.d.ts.map +1 -0
- package/dist/knowledge/learning/learning-exports.js.map +1 -0
- package/dist/knowledge/{learning-feedback.d.ts → learning/learning-feedback.d.ts} +3 -3
- package/dist/knowledge/learning/learning-feedback.d.ts.map +1 -0
- package/dist/knowledge/{learning-feedback.js → learning/learning-feedback.js} +1 -1
- package/dist/knowledge/learning/learning-feedback.js.map +1 -0
- package/dist/knowledge/{learning-pipeline-prompts.d.ts → learning/learning-pipeline-prompts.d.ts} +7 -7
- package/dist/knowledge/learning/learning-pipeline-prompts.d.ts.map +1 -0
- package/dist/knowledge/{learning-pipeline-prompts.js → learning/learning-pipeline-prompts.js} +1 -1
- package/dist/knowledge/learning/learning-pipeline-prompts.js.map +1 -0
- package/dist/knowledge/{learning-pipeline.d.ts → learning/learning-pipeline.d.ts} +6 -6
- package/dist/knowledge/learning/learning-pipeline.d.ts.map +1 -0
- package/dist/knowledge/{learning-pipeline.js → learning/learning-pipeline.js} +2 -2
- package/dist/knowledge/learning/learning-pipeline.js.map +1 -0
- package/dist/knowledge/{memory-compression.d.ts → memory/memory-compression.d.ts} +5 -5
- package/dist/knowledge/memory/memory-compression.d.ts.map +1 -0
- package/dist/knowledge/{memory-compression.js → memory/memory-compression.js} +1 -1
- package/dist/knowledge/memory/memory-compression.js.map +1 -0
- package/dist/knowledge/{memory-distill.d.ts → memory/memory-distill.d.ts} +3 -3
- package/dist/knowledge/memory/memory-distill.d.ts.map +1 -0
- package/dist/knowledge/memory/memory-distill.js.map +1 -0
- package/dist/knowledge/{memory-exports.d.ts → memory/memory-exports.d.ts} +1 -1
- package/dist/knowledge/memory/memory-exports.d.ts.map +1 -0
- package/dist/knowledge/memory/memory-exports.js.map +1 -0
- package/dist/knowledge/{memory-index.d.ts → memory/memory-index.d.ts} +1 -1
- package/dist/knowledge/memory/memory-index.d.ts.map +1 -0
- package/dist/knowledge/{memory-index.js → memory/memory-index.js} +1 -1
- package/dist/knowledge/memory/memory-index.js.map +1 -0
- package/dist/knowledge/{memory-lifecycle.d.ts → memory/memory-lifecycle.d.ts} +7 -7
- package/dist/knowledge/memory/memory-lifecycle.d.ts.map +1 -0
- package/dist/knowledge/{memory-lifecycle.js → memory/memory-lifecycle.js} +2 -2
- package/dist/knowledge/memory/memory-lifecycle.js.map +1 -0
- package/dist/knowledge/{memory-persistence.d.ts → memory/memory-persistence.d.ts} +1 -1
- package/dist/knowledge/memory/memory-persistence.d.ts.map +1 -0
- package/dist/knowledge/memory/memory-persistence.js.map +1 -0
- package/dist/knowledge/{memory-query.d.ts → memory/memory-query.d.ts} +1 -1
- package/dist/knowledge/memory/memory-query.d.ts.map +1 -0
- package/dist/knowledge/{memory-query.js → memory/memory-query.js} +1 -1
- package/dist/knowledge/memory/memory-query.js.map +1 -0
- package/dist/knowledge/{memory-selection.d.ts → memory/memory-selection.d.ts} +3 -3
- package/dist/knowledge/memory/memory-selection.d.ts.map +1 -0
- package/dist/knowledge/{memory-selection.js → memory/memory-selection.js} +3 -3
- package/dist/knowledge/memory/memory-selection.js.map +1 -0
- package/dist/knowledge/{memory-stats.d.ts → memory/memory-stats.d.ts} +1 -1
- package/dist/knowledge/memory/memory-stats.d.ts.map +1 -0
- package/dist/knowledge/{memory-stats.js → memory/memory-stats.js} +1 -1
- package/dist/knowledge/memory/memory-stats.js.map +1 -0
- package/dist/knowledge/{memory-tier.d.ts → memory/memory-tier.d.ts} +1 -1
- package/dist/knowledge/memory/memory-tier.d.ts.map +1 -0
- package/dist/knowledge/memory/memory-tier.js.map +1 -0
- package/dist/knowledge/{knowledge-transfer-apply.d.ts → transfer/knowledge-transfer-apply.d.ts} +6 -6
- package/dist/knowledge/transfer/knowledge-transfer-apply.d.ts.map +1 -0
- package/dist/knowledge/{knowledge-transfer-apply.js → transfer/knowledge-transfer-apply.js} +2 -2
- package/dist/knowledge/transfer/knowledge-transfer-apply.js.map +1 -0
- package/dist/knowledge/{knowledge-transfer-detect.d.ts → transfer/knowledge-transfer-detect.d.ts} +5 -5
- package/dist/knowledge/transfer/knowledge-transfer-detect.d.ts.map +1 -0
- package/dist/knowledge/{knowledge-transfer-detect.js → transfer/knowledge-transfer-detect.js} +1 -1
- package/dist/knowledge/transfer/knowledge-transfer-detect.js.map +1 -0
- package/dist/knowledge/{knowledge-transfer-evaluate.d.ts → transfer/knowledge-transfer-evaluate.d.ts} +2 -2
- package/dist/knowledge/transfer/knowledge-transfer-evaluate.d.ts.map +1 -0
- package/dist/knowledge/{knowledge-transfer-evaluate.js → transfer/knowledge-transfer-evaluate.js} +1 -1
- package/dist/knowledge/transfer/knowledge-transfer-evaluate.js.map +1 -0
- package/dist/knowledge/{knowledge-transfer-meta.d.ts → transfer/knowledge-transfer-meta.d.ts} +6 -6
- package/dist/knowledge/transfer/knowledge-transfer-meta.d.ts.map +1 -0
- package/dist/knowledge/{knowledge-transfer-meta.js → transfer/knowledge-transfer-meta.js} +2 -2
- package/dist/knowledge/transfer/knowledge-transfer-meta.js.map +1 -0
- package/dist/knowledge/{knowledge-transfer-prompts.d.ts → transfer/knowledge-transfer-prompts.d.ts} +1 -1
- package/dist/knowledge/transfer/knowledge-transfer-prompts.d.ts.map +1 -0
- package/dist/knowledge/transfer/knowledge-transfer-prompts.js.map +1 -0
- package/dist/knowledge/{knowledge-transfer-types.d.ts → transfer/knowledge-transfer-types.d.ts} +3 -3
- package/dist/knowledge/transfer/knowledge-transfer-types.d.ts.map +1 -0
- package/dist/knowledge/transfer/knowledge-transfer-types.js.map +1 -0
- package/dist/knowledge/{knowledge-transfer.d.ts → transfer/knowledge-transfer.d.ts} +9 -9
- package/dist/knowledge/transfer/knowledge-transfer.d.ts.map +1 -0
- package/dist/knowledge/transfer/knowledge-transfer.js.map +1 -0
- package/dist/knowledge/{transfer-trust.d.ts → transfer/transfer-trust.d.ts} +3 -3
- package/dist/knowledge/transfer/transfer-trust.d.ts.map +1 -0
- package/dist/knowledge/{transfer-trust.js → transfer/transfer-trust.js} +1 -1
- package/dist/knowledge/transfer/transfer-trust.js.map +1 -0
- package/dist/llm/base-llm-client.d.ts +13 -0
- package/dist/llm/base-llm-client.d.ts.map +1 -1
- package/dist/llm/base-llm-client.js +35 -0
- package/dist/llm/base-llm-client.js.map +1 -1
- package/dist/llm/llm-client.d.ts +22 -2
- package/dist/llm/llm-client.d.ts.map +1 -1
- package/dist/llm/llm-client.js +49 -11
- package/dist/llm/llm-client.js.map +1 -1
- package/dist/llm/ollama-client.d.ts +1 -0
- package/dist/llm/ollama-client.d.ts.map +1 -1
- package/dist/llm/ollama-client.js +15 -5
- package/dist/llm/ollama-client.js.map +1 -1
- package/dist/llm/openai-client.d.ts +1 -0
- package/dist/llm/openai-client.d.ts.map +1 -1
- package/dist/llm/openai-client.js +15 -5
- package/dist/llm/openai-client.js.map +1 -1
- package/dist/llm/provider-factory.js +6 -6
- package/dist/llm/provider-factory.js.map +1 -1
- package/dist/loop/checkpoint-manager-loop.d.ts +1 -1
- package/dist/loop/checkpoint-manager-loop.d.ts.map +1 -1
- package/dist/loop/core-loop-phases-c 2.d.ts +27 -0
- package/dist/loop/core-loop-phases-c 2.d.ts.map +1 -0
- package/dist/loop/core-loop-phases-c 2.js +72 -0
- package/dist/loop/core-loop-phases-c 2.js.map +1 -0
- package/dist/loop/core-loop-phases-c.d.ts +27 -0
- package/dist/loop/core-loop-phases-c.d.ts.map +1 -0
- package/dist/loop/core-loop-phases-c.js +72 -0
- package/dist/loop/core-loop-phases-c.js.map +1 -0
- package/dist/loop/core-loop-phases.d.ts +1 -1
- package/dist/loop/core-loop-phases.d.ts.map +1 -1
- package/dist/loop/core-loop-phases.js +9 -3
- package/dist/loop/core-loop-phases.js.map +1 -1
- package/dist/loop/core-loop-types.d.ts +7 -7
- package/dist/loop/core-loop-types.d.ts.map +1 -1
- package/dist/{core-loop.d.ts → loop/core-loop.d.ts} +5 -15
- package/dist/loop/core-loop.d.ts.map +1 -0
- package/dist/{core-loop.js → loop/core-loop.js} +46 -111
- package/dist/loop/core-loop.js.map +1 -0
- package/dist/loop/tree-loop-runner.d.ts.map +1 -1
- package/dist/loop/tree-loop-runner.js +10 -7
- package/dist/loop/tree-loop-runner.js.map +1 -1
- package/dist/mcp-server/index.js +1 -1
- package/dist/mcp-server/index.js.map +1 -1
- package/dist/mcp-server/tools.d.ts +1 -1
- package/dist/mcp-server/tools.d.ts.map +1 -1
- package/dist/observation/capability-dependencies.d.ts +1 -1
- package/dist/observation/capability-dependencies.d.ts.map +1 -1
- package/dist/observation/capability-detector.d.ts +2 -2
- package/dist/observation/capability-detector.d.ts.map +1 -1
- package/dist/observation/capability-registry.d.ts +2 -2
- package/dist/observation/capability-registry.d.ts.map +1 -1
- package/dist/observation/context-provider.d.ts +15 -0
- package/dist/observation/context-provider.d.ts.map +1 -1
- package/dist/observation/context-provider.js +157 -22
- package/dist/observation/context-provider.js.map +1 -1
- package/dist/observation/observation-apply.d.ts +1 -1
- package/dist/observation/observation-apply.d.ts.map +1 -1
- package/dist/observation/observation-engine.d.ts +1 -1
- package/dist/observation/observation-engine.d.ts.map +1 -1
- package/dist/observation/observation-engine.js +1 -0
- package/dist/observation/observation-engine.js.map +1 -1
- package/dist/observation/observation-helpers.d.ts +2 -2
- package/dist/observation/observation-llm.d.ts.map +1 -1
- package/dist/observation/observation-llm.js +7 -3
- package/dist/observation/observation-llm.js.map +1 -1
- package/dist/observation/workspace-context.d.ts.map +1 -1
- package/dist/observation/workspace-context.js +59 -12
- package/dist/observation/workspace-context.js.map +1 -1
- package/dist/prompt/context-assembler.d.ts +1 -1
- package/dist/prompt/context-assembler.d.ts.map +1 -1
- package/dist/prompt/context-assembler.js +14 -4
- package/dist/prompt/context-assembler.js.map +1 -1
- package/dist/prompt/formatters.d.ts +3 -3
- package/dist/prompt/formatters.d.ts.map +1 -1
- package/dist/prompt/formatters.js +2 -2
- package/dist/prompt/formatters.js.map +1 -1
- package/dist/prompt/purposes/capability.d.ts +2 -2
- package/dist/prompt/purposes/ethics.d.ts +4 -4
- package/dist/prompt/purposes/goal-decomposition.d.ts +4 -4
- package/dist/prompt/purposes/knowledge.d.ts +4 -4
- package/dist/prompt/purposes/strategy-template.d.ts +4 -4
- package/dist/prompt/purposes/strategy.d.ts +3 -78
- package/dist/prompt/purposes/strategy.d.ts.map +1 -1
- package/dist/prompt/purposes/strategy.js +2 -18
- package/dist/prompt/purposes/strategy.js.map +1 -1
- package/dist/prompt/purposes/verification.d.ts +2 -2
- package/dist/reflection/dream-consolidation.d.ts +2 -2
- package/dist/reflection/dream-consolidation.d.ts.map +1 -1
- package/dist/reflection/evening-catchup.d.ts +1 -1
- package/dist/reflection/evening-catchup.d.ts.map +1 -1
- package/dist/reflection/morning-planning.d.ts +1 -1
- package/dist/reflection/morning-planning.d.ts.map +1 -1
- package/dist/reflection/types.d.ts +4 -4
- package/dist/reflection/weekly-review.d.ts +1 -1
- package/dist/reflection/weekly-review.d.ts.map +1 -1
- package/dist/reporting/report-formatters 2.d.ts +12 -0
- package/dist/reporting/report-formatters 2.d.ts.map +1 -0
- package/dist/reporting/report-formatters 2.js +166 -0
- package/dist/reporting/report-formatters 2.js.map +1 -0
- package/dist/reporting/report-formatters.d.ts +12 -0
- package/dist/reporting/report-formatters.d.ts.map +1 -0
- package/dist/reporting/report-formatters.js +166 -0
- package/dist/reporting/report-formatters.js.map +1 -0
- package/dist/{reporting-engine.d.ts → reporting/reporting-engine.d.ts} +6 -5
- package/dist/reporting/reporting-engine.d.ts.map +1 -0
- package/dist/{reporting-engine.js → reporting/reporting-engine.js} +13 -170
- package/dist/reporting/reporting-engine.js.map +1 -0
- package/dist/runtime/daemon-health 2.d.ts +31 -0
- package/dist/runtime/daemon-health 2.d.ts.map +1 -0
- package/dist/runtime/daemon-health 2.js +113 -0
- package/dist/runtime/daemon-health 2.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-runner.d.ts +11 -16
- package/dist/runtime/daemon-runner.d.ts.map +1 -1
- package/dist/runtime/daemon-runner.js +20 -116
- package/dist/runtime/daemon-runner.js.map +1 -1
- package/dist/runtime/daemon-signals 2.d.ts +17 -0
- package/dist/runtime/daemon-signals 2.d.ts.map +1 -0
- package/dist/runtime/daemon-signals 2.js +31 -0
- package/dist/runtime/daemon-signals 2.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/event-server.d.ts +1 -1
- package/dist/runtime/event-server.d.ts.map +1 -1
- package/dist/runtime/hook-manager.d.ts.map +1 -1
- package/dist/runtime/hook-manager.js +7 -0
- package/dist/runtime/hook-manager.js.map +1 -1
- package/dist/{state-manager.d.ts → state/state-manager.d.ts} +8 -6
- package/dist/state/state-manager.d.ts.map +1 -0
- package/dist/{state-manager.js → state/state-manager.js} +62 -67
- package/dist/state/state-manager.js.map +1 -0
- package/dist/state/state-persistence 2.d.ts +12 -0
- package/dist/state/state-persistence 2.d.ts.map +1 -0
- package/dist/state/state-persistence 2.js +58 -0
- package/dist/state/state-persistence 2.js.map +1 -0
- package/dist/state/state-persistence.d.ts +12 -0
- package/dist/state/state-persistence.d.ts.map +1 -0
- package/dist/state/state-persistence.js +58 -0
- package/dist/state/state-persistence.js.map +1 -0
- package/dist/strategy/cross-goal-portfolio.d.ts +1 -1
- package/dist/strategy/cross-goal-portfolio.d.ts.map +1 -1
- package/dist/strategy/portfolio-allocation.d.ts +33 -0
- package/dist/strategy/portfolio-allocation.d.ts.map +1 -1
- package/dist/strategy/portfolio-allocation.js +49 -0
- package/dist/strategy/portfolio-allocation.js.map +1 -1
- package/dist/{portfolio-manager.d.ts → strategy/portfolio-manager.d.ts} +4 -4
- package/dist/strategy/portfolio-manager.d.ts.map +1 -0
- package/dist/{portfolio-manager.js → strategy/portfolio-manager.js} +5 -36
- package/dist/strategy/portfolio-manager.js.map +1 -0
- package/dist/{portfolio-rebalance.d.ts → strategy/portfolio-rebalance.d.ts} +2 -2
- package/dist/strategy/portfolio-rebalance.d.ts.map +1 -0
- package/dist/strategy/portfolio-rebalance.js.map +1 -0
- package/dist/strategy/strategy-helpers.d.ts +8 -8
- package/dist/strategy/strategy-helpers.d.ts.map +1 -1
- package/dist/strategy/strategy-helpers.js +35 -5
- package/dist/strategy/strategy-helpers.js.map +1 -1
- package/dist/strategy/strategy-manager-base.d.ts +1 -1
- package/dist/strategy/strategy-manager-base.d.ts.map +1 -1
- package/dist/traits/character-config.d.ts +1 -1
- package/dist/traits/character-config.d.ts.map +1 -1
- package/dist/traits/curiosity-engine.d.ts +2 -2
- package/dist/traits/curiosity-engine.d.ts.map +1 -1
- package/dist/traits/curiosity-proposals.d.ts +1 -1
- package/dist/traits/curiosity-proposals.d.ts.map +1 -1
- package/dist/traits/curiosity-transfer.d.ts +1 -1
- package/dist/traits/curiosity-transfer.d.ts.map +1 -1
- package/dist/traits/ethics-gate.d.ts +1 -1
- package/dist/traits/ethics-gate.d.ts.map +1 -1
- package/dist/{guardrail-runner.d.ts → traits/guardrail-runner.d.ts} +2 -2
- package/dist/traits/guardrail-runner.d.ts.map +1 -0
- package/dist/traits/guardrail-runner.js.map +1 -0
- package/dist/traits/trust-manager.d.ts +1 -1
- package/dist/traits/trust-manager.d.ts.map +1 -1
- package/dist/tui/actions.d.ts +2 -2
- package/dist/tui/actions.d.ts.map +1 -1
- package/dist/tui/app.d.ts +2 -2
- package/dist/tui/app.d.ts.map +1 -1
- package/dist/tui/entry.d.ts.map +1 -1
- package/dist/tui/entry.js +24 -6
- package/dist/tui/entry.js.map +1 -1
- package/dist/tui/use-loop.d.ts +2 -2
- package/dist/tui/use-loop.d.ts.map +1 -1
- package/dist/types/a2a.d.ts +8 -8
- package/dist/types/agent-profile.d.ts +3 -3
- package/dist/types/capability.d.ts +28 -28
- package/dist/types/checkpoint.d.ts +16 -16
- package/dist/types/core.d.ts +14 -14
- package/dist/types/cross-portfolio.d.ts +29 -29
- package/dist/types/curiosity.d.ts +27 -27
- package/dist/types/daemon.d.ts +2 -2
- package/dist/types/daemon.js +1 -1
- package/dist/types/daemon.js.map +1 -1
- package/dist/types/data-source.d.ts +36 -36
- package/dist/types/dependency.d.ts +12 -12
- package/dist/types/drive.d.ts +2 -2
- package/dist/types/embedding.d.ts +4 -4
- package/dist/types/ethics.d.ts +6 -6
- package/dist/types/goal-refiner.d.ts +15 -12
- package/dist/types/goal-refiner.d.ts.map +1 -1
- package/dist/types/goal-refiner.js +1 -0
- package/dist/types/goal-refiner.js.map +1 -1
- package/dist/types/goal-tree.d.ts +2 -2
- package/dist/types/goal.d.ts +74 -74
- package/dist/types/guardrail.d.ts +3 -3
- package/dist/types/hook.d.ts +10 -10
- package/dist/types/knowledge.d.ts +76 -76
- package/dist/types/learning.d.ts +24 -24
- package/dist/types/mcp.d.ts +9 -9
- package/dist/types/memory-lifecycle.d.ts +39 -39
- package/dist/types/negotiation.d.ts +44 -44
- package/dist/types/notification.d.ts +74 -74
- package/dist/types/pipeline.d.ts +12 -12
- package/dist/types/plugin.d.ts +39 -39
- package/dist/types/report.d.ts +16 -16
- package/dist/types/satisficing.d.ts +10 -10
- package/dist/types/session.d.ts +11 -11
- package/dist/types/session.d.ts.map +1 -1
- package/dist/types/session.js +1 -0
- package/dist/types/session.js.map +1 -1
- package/dist/types/stall.d.ts +4 -4
- package/dist/types/state.d.ts +10 -10
- package/dist/types/strategy.d.ts +48 -48
- package/dist/types/task-group.d.ts +4 -4
- package/dist/types/task.d.ts +2 -2
- package/dist/utils/execFileNoThrow.d.ts +20 -0
- package/dist/utils/execFileNoThrow.d.ts.map +1 -0
- package/dist/utils/execFileNoThrow.js +33 -0
- package/dist/utils/execFileNoThrow.js.map +1 -0
- package/package.json +2 -2
- package/dist/adapter-layer.d.ts +0 -67
- package/dist/adapter-layer.d.ts.map +0 -1
- package/dist/adapter-layer.js +0 -50
- package/dist/adapter-layer.js.map +0 -1
- package/dist/adapters/a2a-adapter.d.ts.map +0 -1
- package/dist/adapters/a2a-adapter.js.map +0 -1
- package/dist/adapters/a2a-client.d.ts.map +0 -1
- package/dist/adapters/a2a-client.js.map +0 -1
- package/dist/adapters/agent-profile-loader.d.ts.map +0 -1
- package/dist/adapters/agent-profile-loader.js.map +0 -1
- package/dist/adapters/browser-use-cli.d.ts.map +0 -1
- package/dist/adapters/browser-use-cli.js.map +0 -1
- package/dist/adapters/claude-api.d.ts.map +0 -1
- package/dist/adapters/claude-api.js.map +0 -1
- package/dist/adapters/claude-code-cli.d.ts.map +0 -1
- package/dist/adapters/claude-code-cli.js.map +0 -1
- package/dist/adapters/file-existence-datasource.d.ts.map +0 -1
- package/dist/adapters/file-existence-datasource.js.map +0 -1
- package/dist/adapters/github-issue-datasource.d.ts.map +0 -1
- package/dist/adapters/github-issue-datasource.js.map +0 -1
- package/dist/adapters/mcp-datasource.d.ts.map +0 -1
- package/dist/adapters/mcp-datasource.js.map +0 -1
- package/dist/adapters/openai-codex.d.ts.map +0 -1
- package/dist/adapters/openai-codex.js.map +0 -1
- package/dist/adapters/openclaw-acp.d.ts.map +0 -1
- package/dist/adapters/openclaw-acp.js.map +0 -1
- package/dist/adapters/openclaw-datasource.d.ts.map +0 -1
- package/dist/adapters/openclaw-datasource.js.map +0 -1
- package/dist/adapters/shell-datasource.d.ts.map +0 -1
- package/dist/adapters/shell-datasource.js.map +0 -1
- package/dist/capability-detector.d.ts +0 -124
- package/dist/capability-detector.d.ts.map +0 -1
- package/dist/capability-detector.js +0 -576
- package/dist/capability-detector.js.map +0 -1
- package/dist/character-config.d.ts +0 -34
- package/dist/character-config.d.ts.map +0 -1
- package/dist/character-config.js +0 -53
- package/dist/character-config.js.map +0 -1
- package/dist/cli-runner.d.ts.map +0 -1
- package/dist/cli-runner.js +0 -458
- package/dist/cli-runner.js.map +0 -1
- package/dist/codex-llm-client.d.ts +0 -47
- package/dist/codex-llm-client.d.ts.map +0 -1
- package/dist/codex-llm-client.js +0 -193
- package/dist/codex-llm-client.js.map +0 -1
- package/dist/context-provider.d.ts +0 -16
- package/dist/context-provider.d.ts.map +0 -1
- package/dist/context-provider.js +0 -107
- package/dist/context-provider.js.map +0 -1
- package/dist/context-providers/workspace-context.d.ts +0 -8
- package/dist/context-providers/workspace-context.d.ts.map +0 -1
- package/dist/context-providers/workspace-context.js +0 -217
- package/dist/context-providers/workspace-context.js.map +0 -1
- package/dist/core/suggest/repo-context.d.ts +0 -8
- package/dist/core/suggest/repo-context.d.ts.map +0 -1
- package/dist/core/suggest/repo-context.js +0 -154
- package/dist/core/suggest/repo-context.js.map +0 -1
- package/dist/core-loop.d.ts.map +0 -1
- package/dist/core-loop.js.map +0 -1
- package/dist/cross-goal-portfolio.d.ts +0 -153
- package/dist/cross-goal-portfolio.d.ts.map +0 -1
- package/dist/cross-goal-portfolio.js +0 -790
- package/dist/cross-goal-portfolio.js.map +0 -1
- package/dist/curiosity-engine.d.ts +0 -177
- package/dist/curiosity-engine.d.ts.map +0 -1
- package/dist/curiosity-engine.js +0 -736
- package/dist/curiosity-engine.js.map +0 -1
- package/dist/daemon-runner.d.ts +0 -109
- package/dist/daemon-runner.d.ts.map +0 -1
- package/dist/daemon-runner.js +0 -389
- package/dist/daemon-runner.js.map +0 -1
- package/dist/data-source-adapter.d.ts +0 -42
- package/dist/data-source-adapter.d.ts.map +0 -1
- package/dist/data-source-adapter.js +0 -223
- package/dist/data-source-adapter.js.map +0 -1
- package/dist/drive-scorer.d.ts +0 -96
- package/dist/drive-scorer.d.ts.map +0 -1
- package/dist/drive-scorer.js +0 -235
- package/dist/drive-scorer.js.map +0 -1
- package/dist/drive-system.d.ts +0 -92
- package/dist/drive-system.d.ts.map +0 -1
- package/dist/drive-system.js +0 -325
- package/dist/drive-system.js.map +0 -1
- package/dist/embedding-client.d.ts +0 -49
- package/dist/embedding-client.d.ts.map +0 -1
- package/dist/embedding-client.js +0 -141
- package/dist/embedding-client.js.map +0 -1
- package/dist/ethics-gate.d.ts +0 -70
- package/dist/ethics-gate.d.ts.map +0 -1
- package/dist/ethics-gate.js +0 -567
- package/dist/ethics-gate.js.map +0 -1
- package/dist/event-server.d.ts +0 -23
- package/dist/event-server.d.ts.map +0 -1
- package/dist/event-server.js +0 -69
- package/dist/event-server.js.map +0 -1
- package/dist/execution/context-budget.d.ts.map +0 -1
- package/dist/execution/context-budget.js.map +0 -1
- package/dist/execution/context-builder.d.ts.map +0 -1
- package/dist/execution/context-builder.js.map +0 -1
- package/dist/execution/dimension-selector.d.ts.map +0 -1
- package/dist/execution/dimension-selector.js.map +0 -1
- package/dist/execution/task-approval-check.d.ts.map +0 -1
- package/dist/execution/task-approval-check.js.map +0 -1
- package/dist/execution/task-approval.d.ts.map +0 -1
- package/dist/execution/task-approval.js.map +0 -1
- package/dist/execution/task-execution-types.d.ts.map +0 -1
- package/dist/execution/task-execution-types.js.map +0 -1
- package/dist/execution/task-executor.d.ts.map +0 -1
- package/dist/execution/task-executor.js.map +0 -1
- package/dist/execution/task-generation.d.ts.map +0 -1
- package/dist/execution/task-generation.js.map +0 -1
- package/dist/execution/task-health-check.d.ts.map +0 -1
- package/dist/execution/task-health-check.js.map +0 -1
- package/dist/execution/task-lifecycle.d.ts.map +0 -1
- package/dist/execution/task-lifecycle.js.map +0 -1
- package/dist/execution/task-pipeline-cycle.d.ts.map +0 -1
- package/dist/execution/task-pipeline-cycle.js.map +0 -1
- package/dist/execution/task-prompt-builder.d.ts.map +0 -1
- package/dist/execution/task-prompt-builder.js.map +0 -1
- package/dist/execution/task-verifier.d.ts +0 -115
- package/dist/execution/task-verifier.d.ts.map +0 -1
- package/dist/execution/task-verifier.js.map +0 -1
- package/dist/gap-calculator.d.ts +0 -80
- package/dist/gap-calculator.d.ts.map +0 -1
- package/dist/gap-calculator.js +0 -218
- package/dist/gap-calculator.js.map +0 -1
- package/dist/goal-dependency-graph.d.ts +0 -112
- package/dist/goal-dependency-graph.d.ts.map +0 -1
- package/dist/goal-dependency-graph.js +0 -291
- package/dist/goal-dependency-graph.js.map +0 -1
- package/dist/goal-negotiator.d.ts +0 -109
- package/dist/goal-negotiator.d.ts.map +0 -1
- package/dist/goal-negotiator.js +0 -1044
- package/dist/goal-negotiator.js.map +0 -1
- package/dist/goal-tree-manager.d.ts +0 -120
- package/dist/goal-tree-manager.d.ts.map +0 -1
- package/dist/goal-tree-manager.js +0 -954
- package/dist/goal-tree-manager.js.map +0 -1
- package/dist/guardrail-runner.d.ts.map +0 -1
- package/dist/guardrail-runner.js.map +0 -1
- package/dist/knowledge/knowledge-transfer-apply.d.ts.map +0 -1
- package/dist/knowledge/knowledge-transfer-apply.js.map +0 -1
- package/dist/knowledge/knowledge-transfer-detect.d.ts.map +0 -1
- package/dist/knowledge/knowledge-transfer-detect.js.map +0 -1
- package/dist/knowledge/knowledge-transfer-evaluate.d.ts.map +0 -1
- package/dist/knowledge/knowledge-transfer-evaluate.js.map +0 -1
- package/dist/knowledge/knowledge-transfer-meta.d.ts.map +0 -1
- package/dist/knowledge/knowledge-transfer-meta.js.map +0 -1
- package/dist/knowledge/knowledge-transfer-prompts.d.ts.map +0 -1
- package/dist/knowledge/knowledge-transfer-prompts.js.map +0 -1
- package/dist/knowledge/knowledge-transfer-types.d.ts.map +0 -1
- package/dist/knowledge/knowledge-transfer-types.js.map +0 -1
- package/dist/knowledge/knowledge-transfer.d.ts.map +0 -1
- package/dist/knowledge/knowledge-transfer.js.map +0 -1
- package/dist/knowledge/learning-cross-goal.d.ts.map +0 -1
- package/dist/knowledge/learning-cross-goal.js.map +0 -1
- package/dist/knowledge/learning-exports.d.ts.map +0 -1
- package/dist/knowledge/learning-exports.js.map +0 -1
- package/dist/knowledge/learning-feedback.d.ts.map +0 -1
- package/dist/knowledge/learning-feedback.js.map +0 -1
- package/dist/knowledge/learning-pipeline-prompts.d.ts.map +0 -1
- package/dist/knowledge/learning-pipeline-prompts.js.map +0 -1
- package/dist/knowledge/learning-pipeline.d.ts.map +0 -1
- package/dist/knowledge/learning-pipeline.js.map +0 -1
- package/dist/knowledge/memory-compression.d.ts.map +0 -1
- package/dist/knowledge/memory-compression.js.map +0 -1
- package/dist/knowledge/memory-distill.d.ts.map +0 -1
- package/dist/knowledge/memory-distill.js.map +0 -1
- package/dist/knowledge/memory-exports.d.ts.map +0 -1
- package/dist/knowledge/memory-exports.js.map +0 -1
- package/dist/knowledge/memory-index.d.ts.map +0 -1
- package/dist/knowledge/memory-index.js.map +0 -1
- package/dist/knowledge/memory-lifecycle.d.ts.map +0 -1
- package/dist/knowledge/memory-lifecycle.js.map +0 -1
- package/dist/knowledge/memory-persistence.d.ts.map +0 -1
- package/dist/knowledge/memory-persistence.js.map +0 -1
- package/dist/knowledge/memory-phases.d.ts +0 -14
- package/dist/knowledge/memory-phases.d.ts.map +0 -1
- package/dist/knowledge/memory-phases.js +0 -14
- package/dist/knowledge/memory-phases.js.map +0 -1
- package/dist/knowledge/memory-query.d.ts.map +0 -1
- package/dist/knowledge/memory-query.js.map +0 -1
- package/dist/knowledge/memory-selection.d.ts.map +0 -1
- package/dist/knowledge/memory-selection.js.map +0 -1
- package/dist/knowledge/memory-stats.d.ts.map +0 -1
- package/dist/knowledge/memory-stats.js.map +0 -1
- package/dist/knowledge/memory-tier.d.ts.map +0 -1
- package/dist/knowledge/memory-tier.js.map +0 -1
- package/dist/knowledge/transfer-trust.d.ts.map +0 -1
- package/dist/knowledge/transfer-trust.js.map +0 -1
- package/dist/knowledge-graph.d.ts +0 -70
- package/dist/knowledge-graph.d.ts.map +0 -1
- package/dist/knowledge-graph.js +0 -194
- package/dist/knowledge-graph.js.map +0 -1
- package/dist/knowledge-manager.d.ts +0 -110
- package/dist/knowledge-manager.d.ts.map +0 -1
- package/dist/knowledge-manager.js +0 -544
- package/dist/knowledge-manager.js.map +0 -1
- package/dist/knowledge-transfer.d.ts +0 -101
- package/dist/knowledge-transfer.d.ts.map +0 -1
- package/dist/knowledge-transfer.js +0 -484
- package/dist/knowledge-transfer.js.map +0 -1
- package/dist/learning-pipeline.d.ts +0 -107
- package/dist/learning-pipeline.d.ts.map +0 -1
- package/dist/learning-pipeline.js +0 -840
- package/dist/learning-pipeline.js.map +0 -1
- package/dist/llm-client.d.ts +0 -65
- package/dist/llm-client.d.ts.map +0 -1
- package/dist/llm-client.js +0 -151
- package/dist/llm-client.js.map +0 -1
- package/dist/logger.d.ts +0 -30
- package/dist/logger.d.ts.map +0 -1
- package/dist/logger.js +0 -121
- package/dist/logger.js.map +0 -1
- package/dist/memory-lifecycle.d.ts +0 -244
- package/dist/memory-lifecycle.d.ts.map +0 -1
- package/dist/memory-lifecycle.js +0 -1328
- package/dist/memory-lifecycle.js.map +0 -1
- package/dist/notification-dispatcher.d.ts +0 -36
- package/dist/notification-dispatcher.d.ts.map +0 -1
- package/dist/notification-dispatcher.js +0 -363
- package/dist/notification-dispatcher.js.map +0 -1
- package/dist/observation-engine.d.ts +0 -218
- package/dist/observation-engine.d.ts.map +0 -1
- package/dist/observation-engine.js +0 -711
- package/dist/observation-engine.js.map +0 -1
- package/dist/ollama-client.d.ts +0 -30
- package/dist/ollama-client.d.ts.map +0 -1
- package/dist/ollama-client.js +0 -112
- package/dist/ollama-client.js.map +0 -1
- package/dist/openai-client.d.ts +0 -40
- package/dist/openai-client.d.ts.map +0 -1
- package/dist/openai-client.js +0 -155
- package/dist/openai-client.js.map +0 -1
- package/dist/pid-manager.d.ts +0 -18
- package/dist/pid-manager.d.ts.map +0 -1
- package/dist/pid-manager.js +0 -64
- package/dist/pid-manager.js.map +0 -1
- package/dist/portfolio-manager.d.ts.map +0 -1
- package/dist/portfolio-manager.js.map +0 -1
- package/dist/portfolio-rebalance.d.ts.map +0 -1
- package/dist/portfolio-rebalance.js.map +0 -1
- package/dist/provider-config.d.ts +0 -43
- package/dist/provider-config.d.ts.map +0 -1
- package/dist/provider-config.js +0 -131
- package/dist/provider-config.js.map +0 -1
- package/dist/provider-factory.d.ts +0 -23
- package/dist/provider-factory.d.ts.map +0 -1
- package/dist/provider-factory.js +0 -83
- package/dist/provider-factory.js.map +0 -1
- package/dist/reporting-engine.d.ts.map +0 -1
- package/dist/reporting-engine.js.map +0 -1
- package/dist/satisficing-judge.d.ts +0 -113
- package/dist/satisficing-judge.d.ts.map +0 -1
- package/dist/satisficing-judge.js +0 -592
- package/dist/satisficing-judge.js.map +0 -1
- package/dist/session-manager.d.ts +0 -159
- package/dist/session-manager.d.ts.map +0 -1
- package/dist/session-manager.js +0 -458
- package/dist/session-manager.js.map +0 -1
- package/dist/stall-detector.d.ts +0 -100
- package/dist/stall-detector.d.ts.map +0 -1
- package/dist/stall-detector.js +0 -306
- package/dist/stall-detector.js.map +0 -1
- package/dist/state-aggregator.d.ts +0 -89
- package/dist/state-aggregator.d.ts.map +0 -1
- package/dist/state-aggregator.js +0 -290
- package/dist/state-aggregator.js.map +0 -1
- package/dist/state-manager.d.ts.map +0 -1
- package/dist/state-manager.js.map +0 -1
- package/dist/strategy-manager.d.ts +0 -128
- package/dist/strategy-manager.d.ts.map +0 -1
- package/dist/strategy-manager.js +0 -579
- package/dist/strategy-manager.js.map +0 -1
- package/dist/strategy-template-registry.d.ts +0 -80
- package/dist/strategy-template-registry.d.ts.map +0 -1
- package/dist/strategy-template-registry.js +0 -320
- package/dist/strategy-template-registry.js.map +0 -1
- package/dist/task-lifecycle.d.ts +0 -167
- package/dist/task-lifecycle.d.ts.map +0 -1
- package/dist/task-lifecycle.js +0 -1161
- package/dist/task-lifecycle.js.map +0 -1
- package/dist/tree-loop-orchestrator.d.ts +0 -79
- package/dist/tree-loop-orchestrator.d.ts.map +0 -1
- package/dist/tree-loop-orchestrator.js +0 -225
- package/dist/tree-loop-orchestrator.js.map +0 -1
- package/dist/trust-manager.d.ts +0 -67
- package/dist/trust-manager.d.ts.map +0 -1
- package/dist/trust-manager.js +0 -201
- package/dist/trust-manager.js.map +0 -1
- package/dist/vector-index.d.ts +0 -39
- package/dist/vector-index.d.ts.map +0 -1
- package/dist/vector-index.js +0 -111
- package/dist/vector-index.js.map +0 -1
- /package/dist/adapters/{openclaw-acp.js → agents/openclaw-acp.js} +0 -0
- /package/dist/adapters/{file-existence-datasource.js → datasources/file-existence-datasource.js} +0 -0
- /package/dist/adapters/{github-issue-datasource.js → datasources/github-issue-datasource.js} +0 -0
- /package/dist/adapters/{mcp-datasource.js → datasources/mcp-datasource.js} +0 -0
- /package/dist/adapters/{openclaw-datasource.js → datasources/openclaw-datasource.js} +0 -0
- /package/dist/adapters/{shell-datasource.js → datasources/shell-datasource.js} +0 -0
- /package/dist/{cli-runner.d.ts → cli/cli-runner.d.ts} +0 -0
- /package/dist/execution/{context-budget.js → context/context-budget.js} +0 -0
- /package/dist/execution/{task-approval-check.js → task/task-approval-check.js} +0 -0
- /package/dist/execution/{task-health-check.d.ts → task/task-health-check.d.ts} +0 -0
- /package/dist/execution/{task-health-check.js → task/task-health-check.js} +0 -0
- /package/dist/knowledge/{learning-exports.js → learning/learning-exports.js} +0 -0
- /package/dist/knowledge/{memory-distill.js → memory/memory-distill.js} +0 -0
- /package/dist/knowledge/{memory-exports.js → memory/memory-exports.js} +0 -0
- /package/dist/knowledge/{memory-persistence.js → memory/memory-persistence.js} +0 -0
- /package/dist/knowledge/{memory-tier.js → memory/memory-tier.js} +0 -0
- /package/dist/knowledge/{knowledge-transfer-prompts.js → transfer/knowledge-transfer-prompts.js} +0 -0
- /package/dist/knowledge/{knowledge-transfer-types.js → transfer/knowledge-transfer-types.js} +0 -0
- /package/dist/knowledge/{knowledge-transfer.js → transfer/knowledge-transfer.js} +0 -0
- /package/dist/{portfolio-rebalance.js → strategy/portfolio-rebalance.js} +0 -0
- /package/dist/{guardrail-runner.js → traits/guardrail-runner.js} +0 -0
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { Task } from "../../types/task.js";
|
|
2
|
+
import type { AgentResult } from "../adapter-layer.js";
|
|
3
|
+
import type { Logger } from "../../runtime/logger.js";
|
|
4
|
+
import type { VerifierDeps } from "./task-verifier-types.js";
|
|
5
|
+
/**
|
|
6
|
+
* Wrap a promise with a timeout. Rejects with a TimeoutError if the promise
|
|
7
|
+
* does not resolve within `ms` milliseconds.
|
|
8
|
+
*/
|
|
9
|
+
export declare function withTimeout<T>(promise: Promise<T>, ms: number): Promise<T>;
|
|
10
|
+
/**
|
|
11
|
+
* Call an async function with retry + exponential backoff.
|
|
12
|
+
* On each failure (including timeout), wait `backoffMs * 2^attempt` before retrying.
|
|
13
|
+
* After `maxRetries` retries, the last error is re-thrown.
|
|
14
|
+
*/
|
|
15
|
+
export declare function withRetry<T>(fn: () => Promise<T>, maxRetries: number, backoffMs: number, logger?: Logger, label?: string): Promise<T>;
|
|
16
|
+
export declare function runLLMReview(deps: VerifierDeps, task: Task, executionResult: AgentResult, knowledgeBlock?: string, stateBlock?: string, modelTier?: 'main' | 'light'): Promise<{
|
|
17
|
+
passed: boolean;
|
|
18
|
+
partial: boolean;
|
|
19
|
+
description: string;
|
|
20
|
+
confidence: number;
|
|
21
|
+
criteria_met?: number;
|
|
22
|
+
criteria_total?: number;
|
|
23
|
+
}>;
|
|
24
|
+
//# sourceMappingURL=task-verifier-llm%202.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"task-verifier-llm 2.d.ts","sourceRoot":"","sources":["../../../src/execution/task/task-verifier-llm 2.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAEtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAK7D;;;GAGG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAU1E;AAID;;;;GAIG;AACH,wBAAsB,SAAS,CAAC,CAAC,EAC/B,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACpB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,MAAM,EACf,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,CAAC,CAAC,CAgBZ;AAID,wBAAsB,YAAY,CAChC,IAAI,EAAE,YAAY,EAClB,IAAI,EAAE,IAAI,EACV,eAAe,EAAE,WAAW,EAC5B,cAAc,SAAK,EACnB,UAAU,SAAK,EACf,SAAS,GAAE,MAAM,GAAG,OAAiB,GACpC,OAAO,CAAC;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,OAAO,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAAC,cAAc,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CA2JzI"}
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
import { CompletionJudgerResponseSchema } from "./task-verifier-types.js";
|
|
2
|
+
// ─── withTimeout ───
|
|
3
|
+
/**
|
|
4
|
+
* Wrap a promise with a timeout. Rejects with a TimeoutError if the promise
|
|
5
|
+
* does not resolve within `ms` milliseconds.
|
|
6
|
+
*/
|
|
7
|
+
export function withTimeout(promise, ms) {
|
|
8
|
+
return new Promise((resolve, reject) => {
|
|
9
|
+
const timer = setTimeout(() => {
|
|
10
|
+
reject(new Error(`completion_judger timeout after ${ms}ms`));
|
|
11
|
+
}, ms);
|
|
12
|
+
promise.then((value) => { clearTimeout(timer); resolve(value); }, (err) => { clearTimeout(timer); reject(err); });
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
|
+
// ─── withRetry ───
|
|
16
|
+
/**
|
|
17
|
+
* Call an async function with retry + exponential backoff.
|
|
18
|
+
* On each failure (including timeout), wait `backoffMs * 2^attempt` before retrying.
|
|
19
|
+
* After `maxRetries` retries, the last error is re-thrown.
|
|
20
|
+
*/
|
|
21
|
+
export async function withRetry(fn, maxRetries, backoffMs, logger, label) {
|
|
22
|
+
let lastErr;
|
|
23
|
+
for (let attempt = 0; attempt <= maxRetries; attempt++) {
|
|
24
|
+
try {
|
|
25
|
+
return await fn();
|
|
26
|
+
}
|
|
27
|
+
catch (err) {
|
|
28
|
+
lastErr = err;
|
|
29
|
+
if (attempt < maxRetries) {
|
|
30
|
+
const delay = backoffMs * Math.pow(2, attempt);
|
|
31
|
+
const msg = err instanceof Error ? err.message : String(err);
|
|
32
|
+
logger?.warn(`[completion_judger] ${label ?? "LLM call"} failed (attempt ${attempt + 1}/${maxRetries + 1}): ${msg} — retrying in ${delay}ms`);
|
|
33
|
+
await new Promise((res) => setTimeout(res, delay));
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
throw lastErr;
|
|
38
|
+
}
|
|
39
|
+
// ─── runLLMReview ───
|
|
40
|
+
export async function runLLMReview(deps, task, executionResult, knowledgeBlock = "", stateBlock = "", modelTier = 'light') {
|
|
41
|
+
const timeoutMs = deps.completionJudgerConfig?.timeoutMs ?? 30_000;
|
|
42
|
+
const maxRetries = deps.completionJudgerConfig?.maxRetries ?? 2;
|
|
43
|
+
const retryBackoffMs = deps.completionJudgerConfig?.retryBackoffMs ?? 1_000;
|
|
44
|
+
// Create review session
|
|
45
|
+
const reviewSession = await deps.sessionManager.createSession("task_review", task.goal_id, task.id);
|
|
46
|
+
// Build review context (excludes executor self-report for bias prevention)
|
|
47
|
+
const reviewContext = deps.sessionManager.buildTaskReviewContext(task.goal_id, task.id);
|
|
48
|
+
const criteriaList = task.success_criteria
|
|
49
|
+
.map((c, i) => `${i + 1}. ${c.description} (blocking: ${c.is_blocking}, method: ${c.verification_method})`)
|
|
50
|
+
.join("\n");
|
|
51
|
+
const enrichmentBlocks = [knowledgeBlock, stateBlock].filter(Boolean).join("\n");
|
|
52
|
+
const prompt = `Evaluate task execution against success criteria.
|
|
53
|
+
|
|
54
|
+
Task: ${task.work_description}
|
|
55
|
+
Approach: ${task.approach}
|
|
56
|
+
|
|
57
|
+
Criteria:
|
|
58
|
+
${criteriaList}
|
|
59
|
+
${enrichmentBlocks ? `\n${enrichmentBlocks}\n` : ""}
|
|
60
|
+
Output (first 2000 chars):
|
|
61
|
+
${executionResult.output.slice(0, 2000)}
|
|
62
|
+
|
|
63
|
+
Status: ${executionResult.stopped_reason} | Success: ${executionResult.success}
|
|
64
|
+
Context: ${reviewContext.map((s) => s.content).join(" ")}
|
|
65
|
+
|
|
66
|
+
Return JSON:
|
|
67
|
+
{"verdict": "pass"|"partial"|"fail", "reasoning": "...", "criteria_met": #, "criteria_total": #}`;
|
|
68
|
+
// Gateway path: route through PromptGateway when available
|
|
69
|
+
if (deps.gateway) {
|
|
70
|
+
let parsed;
|
|
71
|
+
try {
|
|
72
|
+
parsed = await withRetry(() => withTimeout(deps.gateway.execute({
|
|
73
|
+
purpose: "verification",
|
|
74
|
+
goalId: task.goal_id,
|
|
75
|
+
additionalContext: { review_prompt: prompt },
|
|
76
|
+
responseSchema: CompletionJudgerResponseSchema,
|
|
77
|
+
maxTokens: 1024,
|
|
78
|
+
}), timeoutMs), maxRetries, retryBackoffMs, deps.logger, `completion_judger for task ${task.id}`);
|
|
79
|
+
}
|
|
80
|
+
catch (err) {
|
|
81
|
+
const msg = err instanceof Error ? err.message : String(err);
|
|
82
|
+
deps.logger?.error(`[completion_judger] All retries exhausted for task ${task.id}: ${msg}`);
|
|
83
|
+
await deps.sessionManager.endSession(reviewSession.id, `completion_judger failed: ${msg}`);
|
|
84
|
+
return {
|
|
85
|
+
passed: false,
|
|
86
|
+
partial: false,
|
|
87
|
+
description: `completion_judger failed after ${maxRetries + 1} attempt(s): ${msg}`,
|
|
88
|
+
confidence: 0.0,
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
const verdictStr = parsed.verdict;
|
|
92
|
+
const result = {
|
|
93
|
+
passed: verdictStr === "pass",
|
|
94
|
+
partial: verdictStr === "partial",
|
|
95
|
+
description: parsed.reasoning || "LLM review completed",
|
|
96
|
+
confidence: verdictStr === "pass" ? 0.8 : verdictStr === "partial" ? 0.6 : 0.8,
|
|
97
|
+
criteria_met: parsed.criteria_met,
|
|
98
|
+
criteria_total: parsed.criteria_total,
|
|
99
|
+
};
|
|
100
|
+
await deps.sessionManager.endSession(reviewSession.id, `LLM review: ${verdictStr}`);
|
|
101
|
+
return result;
|
|
102
|
+
}
|
|
103
|
+
// Direct LLM path (fallback when no gateway)
|
|
104
|
+
let response;
|
|
105
|
+
try {
|
|
106
|
+
response = await withRetry(() => withTimeout((deps.reviewerLlmClient ?? deps.llmClient).sendMessage([{ role: "user", content: prompt }], {
|
|
107
|
+
system: "Review task results objectively against criteria. Ignore executor self-assessment.",
|
|
108
|
+
max_tokens: 1024,
|
|
109
|
+
model_tier: modelTier,
|
|
110
|
+
}), timeoutMs), maxRetries, retryBackoffMs, deps.logger, `completion_judger for task ${task.id}`);
|
|
111
|
+
}
|
|
112
|
+
catch (err) {
|
|
113
|
+
const msg = err instanceof Error ? err.message : String(err);
|
|
114
|
+
deps.logger?.error(`[completion_judger] All retries exhausted for task ${task.id}: ${msg}`);
|
|
115
|
+
await deps.sessionManager.endSession(reviewSession.id, `completion_judger failed: ${msg}`);
|
|
116
|
+
return {
|
|
117
|
+
passed: false,
|
|
118
|
+
partial: false,
|
|
119
|
+
description: `completion_judger failed after ${maxRetries + 1} attempt(s): ${msg}`,
|
|
120
|
+
confidence: 0.0,
|
|
121
|
+
};
|
|
122
|
+
}
|
|
123
|
+
try {
|
|
124
|
+
const rawJson = response.content.replace(/```json\n?/g, "").replace(/```/g, "").trim();
|
|
125
|
+
const parseResult = CompletionJudgerResponseSchema.safeParse(JSON.parse(rawJson));
|
|
126
|
+
if (!parseResult.success) {
|
|
127
|
+
deps.logger?.warn(`[completion_judger] Zod parse failed for task ${task.id}: ${parseResult.error.message}`);
|
|
128
|
+
await deps.sessionManager.endSession(reviewSession.id, "Failed to parse LLM review result");
|
|
129
|
+
return {
|
|
130
|
+
passed: false,
|
|
131
|
+
partial: false,
|
|
132
|
+
description: "Failed to parse LLM review result",
|
|
133
|
+
confidence: 0.3,
|
|
134
|
+
};
|
|
135
|
+
}
|
|
136
|
+
const parsed = parseResult.data;
|
|
137
|
+
const verdictStr = parsed.verdict;
|
|
138
|
+
const result = {
|
|
139
|
+
passed: verdictStr === "pass",
|
|
140
|
+
partial: verdictStr === "partial",
|
|
141
|
+
description: parsed.reasoning || "LLM review completed",
|
|
142
|
+
confidence: verdictStr === "pass" ? 0.8 : verdictStr === "partial" ? 0.6 : 0.8,
|
|
143
|
+
criteria_met: parsed.criteria_met,
|
|
144
|
+
criteria_total: parsed.criteria_total,
|
|
145
|
+
};
|
|
146
|
+
await deps.sessionManager.endSession(reviewSession.id, `LLM review: ${verdictStr}`);
|
|
147
|
+
return result;
|
|
148
|
+
}
|
|
149
|
+
catch {
|
|
150
|
+
deps.logger?.warn(`[completion_judger] JSON.parse failed for task ${task.id}`);
|
|
151
|
+
await deps.sessionManager.endSession(reviewSession.id, "Failed to parse LLM review result");
|
|
152
|
+
return {
|
|
153
|
+
passed: false,
|
|
154
|
+
partial: false,
|
|
155
|
+
description: "Failed to parse LLM review result",
|
|
156
|
+
confidence: 0.3,
|
|
157
|
+
};
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
//# sourceMappingURL=task-verifier-llm%202.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"task-verifier-llm 2.js","sourceRoot":"","sources":["../../../src/execution/task/task-verifier-llm 2.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { Task } from "../../types/task.js";
|
|
2
|
+
import type { AgentResult } from "../adapter-layer.js";
|
|
3
|
+
import type { Logger } from "../../runtime/logger.js";
|
|
4
|
+
import type { VerifierDeps } from "./task-verifier-types.js";
|
|
5
|
+
/**
|
|
6
|
+
* Wrap a promise with a timeout. Rejects with a TimeoutError if the promise
|
|
7
|
+
* does not resolve within `ms` milliseconds.
|
|
8
|
+
*/
|
|
9
|
+
export declare function withTimeout<T>(promise: Promise<T>, ms: number): Promise<T>;
|
|
10
|
+
/**
|
|
11
|
+
* Call an async function with retry + exponential backoff.
|
|
12
|
+
* On each failure (including timeout), wait `backoffMs * 2^attempt` before retrying.
|
|
13
|
+
* After `maxRetries` retries, the last error is re-thrown.
|
|
14
|
+
*/
|
|
15
|
+
export declare function withRetry<T>(fn: () => Promise<T>, maxRetries: number, backoffMs: number, logger?: Logger, label?: string): Promise<T>;
|
|
16
|
+
export declare function runLLMReview(deps: VerifierDeps, task: Task, executionResult: AgentResult, knowledgeBlock?: string, stateBlock?: string, modelTier?: 'main' | 'light'): Promise<{
|
|
17
|
+
passed: boolean;
|
|
18
|
+
partial: boolean;
|
|
19
|
+
description: string;
|
|
20
|
+
confidence: number;
|
|
21
|
+
criteria_met?: number;
|
|
22
|
+
criteria_total?: number;
|
|
23
|
+
}>;
|
|
24
|
+
//# sourceMappingURL=task-verifier-llm.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"task-verifier-llm.d.ts","sourceRoot":"","sources":["../../../src/execution/task/task-verifier-llm.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAEtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAK7D;;;GAGG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAU1E;AAID;;;;GAIG;AACH,wBAAsB,SAAS,CAAC,CAAC,EAC/B,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACpB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,MAAM,EACf,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,CAAC,CAAC,CAgBZ;AAID,wBAAsB,YAAY,CAChC,IAAI,EAAE,YAAY,EAClB,IAAI,EAAE,IAAI,EACV,eAAe,EAAE,WAAW,EAC5B,cAAc,SAAK,EACnB,UAAU,SAAK,EACf,SAAS,GAAE,MAAM,GAAG,OAAiB,GACpC,OAAO,CAAC;IAAE,MAAM,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,OAAO,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAAC,cAAc,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CA2JzI"}
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
import { CompletionJudgerResponseSchema } from "./task-verifier-types.js";
|
|
2
|
+
// ─── withTimeout ───
|
|
3
|
+
/**
|
|
4
|
+
* Wrap a promise with a timeout. Rejects with a TimeoutError if the promise
|
|
5
|
+
* does not resolve within `ms` milliseconds.
|
|
6
|
+
*/
|
|
7
|
+
export function withTimeout(promise, ms) {
|
|
8
|
+
return new Promise((resolve, reject) => {
|
|
9
|
+
const timer = setTimeout(() => {
|
|
10
|
+
reject(new Error(`completion_judger timeout after ${ms}ms`));
|
|
11
|
+
}, ms);
|
|
12
|
+
promise.then((value) => { clearTimeout(timer); resolve(value); }, (err) => { clearTimeout(timer); reject(err); });
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
|
+
// ─── withRetry ───
|
|
16
|
+
/**
|
|
17
|
+
* Call an async function with retry + exponential backoff.
|
|
18
|
+
* On each failure (including timeout), wait `backoffMs * 2^attempt` before retrying.
|
|
19
|
+
* After `maxRetries` retries, the last error is re-thrown.
|
|
20
|
+
*/
|
|
21
|
+
export async function withRetry(fn, maxRetries, backoffMs, logger, label) {
|
|
22
|
+
let lastErr;
|
|
23
|
+
for (let attempt = 0; attempt <= maxRetries; attempt++) {
|
|
24
|
+
try {
|
|
25
|
+
return await fn();
|
|
26
|
+
}
|
|
27
|
+
catch (err) {
|
|
28
|
+
lastErr = err;
|
|
29
|
+
if (attempt < maxRetries) {
|
|
30
|
+
const delay = backoffMs * Math.pow(2, attempt);
|
|
31
|
+
const msg = err instanceof Error ? err.message : String(err);
|
|
32
|
+
logger?.warn(`[completion_judger] ${label ?? "LLM call"} failed (attempt ${attempt + 1}/${maxRetries + 1}): ${msg} — retrying in ${delay}ms`);
|
|
33
|
+
await new Promise((res) => setTimeout(res, delay));
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
throw lastErr;
|
|
38
|
+
}
|
|
39
|
+
// ─── runLLMReview ───
|
|
40
|
+
export async function runLLMReview(deps, task, executionResult, knowledgeBlock = "", stateBlock = "", modelTier = 'light') {
|
|
41
|
+
const timeoutMs = deps.completionJudgerConfig?.timeoutMs ?? 30_000;
|
|
42
|
+
const maxRetries = deps.completionJudgerConfig?.maxRetries ?? 2;
|
|
43
|
+
const retryBackoffMs = deps.completionJudgerConfig?.retryBackoffMs ?? 1_000;
|
|
44
|
+
// Create review session
|
|
45
|
+
const reviewSession = await deps.sessionManager.createSession("task_review", task.goal_id, task.id);
|
|
46
|
+
// Build review context (excludes executor self-report for bias prevention)
|
|
47
|
+
const reviewContext = deps.sessionManager.buildTaskReviewContext(task.goal_id, task.id);
|
|
48
|
+
const criteriaList = task.success_criteria
|
|
49
|
+
.map((c, i) => `${i + 1}. ${c.description} (blocking: ${c.is_blocking}, method: ${c.verification_method})`)
|
|
50
|
+
.join("\n");
|
|
51
|
+
const enrichmentBlocks = [knowledgeBlock, stateBlock].filter(Boolean).join("\n");
|
|
52
|
+
const prompt = `Evaluate task execution against success criteria.
|
|
53
|
+
|
|
54
|
+
Task: ${task.work_description}
|
|
55
|
+
Approach: ${task.approach}
|
|
56
|
+
|
|
57
|
+
Criteria:
|
|
58
|
+
${criteriaList}
|
|
59
|
+
${enrichmentBlocks ? `\n${enrichmentBlocks}\n` : ""}
|
|
60
|
+
Output (first 2000 chars):
|
|
61
|
+
${executionResult.output.slice(0, 2000)}
|
|
62
|
+
|
|
63
|
+
Status: ${executionResult.stopped_reason} | Success: ${executionResult.success}
|
|
64
|
+
Context: ${reviewContext.map((s) => s.content).join(" ")}
|
|
65
|
+
|
|
66
|
+
Return JSON:
|
|
67
|
+
{"verdict": "pass"|"partial"|"fail", "reasoning": "...", "criteria_met": #, "criteria_total": #}`;
|
|
68
|
+
// Gateway path: route through PromptGateway when available
|
|
69
|
+
if (deps.gateway) {
|
|
70
|
+
let parsed;
|
|
71
|
+
try {
|
|
72
|
+
parsed = await withRetry(() => withTimeout(deps.gateway.execute({
|
|
73
|
+
purpose: "verification",
|
|
74
|
+
goalId: task.goal_id,
|
|
75
|
+
additionalContext: { review_prompt: prompt },
|
|
76
|
+
responseSchema: CompletionJudgerResponseSchema,
|
|
77
|
+
maxTokens: 1024,
|
|
78
|
+
}), timeoutMs), maxRetries, retryBackoffMs, deps.logger, `completion_judger for task ${task.id}`);
|
|
79
|
+
}
|
|
80
|
+
catch (err) {
|
|
81
|
+
const msg = err instanceof Error ? err.message : String(err);
|
|
82
|
+
deps.logger?.error(`[completion_judger] All retries exhausted for task ${task.id}: ${msg}`);
|
|
83
|
+
await deps.sessionManager.endSession(reviewSession.id, `completion_judger failed: ${msg}`);
|
|
84
|
+
return {
|
|
85
|
+
passed: false,
|
|
86
|
+
partial: false,
|
|
87
|
+
description: `completion_judger failed after ${maxRetries + 1} attempt(s): ${msg}`,
|
|
88
|
+
confidence: 0.0,
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
const verdictStr = parsed.verdict;
|
|
92
|
+
const result = {
|
|
93
|
+
passed: verdictStr === "pass",
|
|
94
|
+
partial: verdictStr === "partial",
|
|
95
|
+
description: parsed.reasoning || "LLM review completed",
|
|
96
|
+
confidence: verdictStr === "pass" ? 0.8 : verdictStr === "partial" ? 0.6 : 0.8,
|
|
97
|
+
criteria_met: parsed.criteria_met,
|
|
98
|
+
criteria_total: parsed.criteria_total,
|
|
99
|
+
};
|
|
100
|
+
await deps.sessionManager.endSession(reviewSession.id, `LLM review: ${verdictStr}`);
|
|
101
|
+
return result;
|
|
102
|
+
}
|
|
103
|
+
// Direct LLM path (fallback when no gateway)
|
|
104
|
+
let response;
|
|
105
|
+
try {
|
|
106
|
+
response = await withRetry(() => withTimeout((deps.reviewerLlmClient ?? deps.llmClient).sendMessage([{ role: "user", content: prompt }], {
|
|
107
|
+
system: "Review task results objectively against criteria. Ignore executor self-assessment.",
|
|
108
|
+
max_tokens: 1024,
|
|
109
|
+
model_tier: modelTier,
|
|
110
|
+
}), timeoutMs), maxRetries, retryBackoffMs, deps.logger, `completion_judger for task ${task.id}`);
|
|
111
|
+
}
|
|
112
|
+
catch (err) {
|
|
113
|
+
const msg = err instanceof Error ? err.message : String(err);
|
|
114
|
+
deps.logger?.error(`[completion_judger] All retries exhausted for task ${task.id}: ${msg}`);
|
|
115
|
+
await deps.sessionManager.endSession(reviewSession.id, `completion_judger failed: ${msg}`);
|
|
116
|
+
return {
|
|
117
|
+
passed: false,
|
|
118
|
+
partial: false,
|
|
119
|
+
description: `completion_judger failed after ${maxRetries + 1} attempt(s): ${msg}`,
|
|
120
|
+
confidence: 0.0,
|
|
121
|
+
};
|
|
122
|
+
}
|
|
123
|
+
try {
|
|
124
|
+
const rawJson = response.content.replace(/```json\n?/g, "").replace(/```/g, "").trim();
|
|
125
|
+
const parseResult = CompletionJudgerResponseSchema.safeParse(JSON.parse(rawJson));
|
|
126
|
+
if (!parseResult.success) {
|
|
127
|
+
deps.logger?.warn(`[completion_judger] Zod parse failed for task ${task.id}: ${parseResult.error.message}`);
|
|
128
|
+
await deps.sessionManager.endSession(reviewSession.id, "Failed to parse LLM review result");
|
|
129
|
+
return {
|
|
130
|
+
passed: false,
|
|
131
|
+
partial: false,
|
|
132
|
+
description: "Failed to parse LLM review result",
|
|
133
|
+
confidence: 0.3,
|
|
134
|
+
};
|
|
135
|
+
}
|
|
136
|
+
const parsed = parseResult.data;
|
|
137
|
+
const verdictStr = parsed.verdict;
|
|
138
|
+
const result = {
|
|
139
|
+
passed: verdictStr === "pass",
|
|
140
|
+
partial: verdictStr === "partial",
|
|
141
|
+
description: parsed.reasoning || "LLM review completed",
|
|
142
|
+
confidence: verdictStr === "pass" ? 0.8 : verdictStr === "partial" ? 0.6 : 0.8,
|
|
143
|
+
criteria_met: parsed.criteria_met,
|
|
144
|
+
criteria_total: parsed.criteria_total,
|
|
145
|
+
};
|
|
146
|
+
await deps.sessionManager.endSession(reviewSession.id, `LLM review: ${verdictStr}`);
|
|
147
|
+
return result;
|
|
148
|
+
}
|
|
149
|
+
catch {
|
|
150
|
+
deps.logger?.warn(`[completion_judger] JSON.parse failed for task ${task.id}`);
|
|
151
|
+
await deps.sessionManager.endSession(reviewSession.id, "Failed to parse LLM review result");
|
|
152
|
+
return {
|
|
153
|
+
passed: false,
|
|
154
|
+
partial: false,
|
|
155
|
+
description: "Failed to parse LLM review result",
|
|
156
|
+
confidence: 0.3,
|
|
157
|
+
};
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
//# sourceMappingURL=task-verifier-llm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"task-verifier-llm.js","sourceRoot":"","sources":["../../../src/execution/task/task-verifier-llm.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import type { Task } from "../../types/task.js";
|
|
2
|
+
import type { VerificationResult } from "../../types/task.js";
|
|
3
|
+
import type { AgentResult } from "../adapter-layer.js";
|
|
4
|
+
import type { VerifierDeps } from "./task-verifier-types.js";
|
|
5
|
+
export declare function runMechanicalVerification(deps: VerifierDeps, task: Task): Promise<{
|
|
6
|
+
applicable: boolean;
|
|
7
|
+
passed: boolean;
|
|
8
|
+
description: string;
|
|
9
|
+
}>;
|
|
10
|
+
/**
|
|
11
|
+
* Clamp a proposed dimension update to within ±30% absolute or ±30% relative
|
|
12
|
+
* of the current value (whichever is larger). Logs a warning when clamping occurs.
|
|
13
|
+
*
|
|
14
|
+
* Exported for unit testing.
|
|
15
|
+
*/
|
|
16
|
+
export declare function clampDimensionUpdate(current: number, proposed: number, logger?: import("../../runtime/logger.js").Logger, dimName?: string): number;
|
|
17
|
+
/**
|
|
18
|
+
* Check whether a proposed dimension update moves in the intended direction.
|
|
19
|
+
* Returns true if the update should be applied, false if it should be skipped.
|
|
20
|
+
*
|
|
21
|
+
* Exported for unit testing.
|
|
22
|
+
*/
|
|
23
|
+
export declare function checkDimensionDirection(intendedDirection: "increase" | "decrease" | "neutral" | undefined, currentValue: number, proposedValue: number, logger?: {
|
|
24
|
+
warn: (msg: string) => void;
|
|
25
|
+
}, dimName?: string): boolean;
|
|
26
|
+
export declare function parseExecutorReport(executionResult: AgentResult): import("./task-verifier-types.js").ExecutorReport;
|
|
27
|
+
export declare function isDirectionCorrect(verificationResult: VerificationResult): boolean;
|
|
28
|
+
export declare function attemptRevert(deps: VerifierDeps, task: Task): Promise<boolean>;
|
|
29
|
+
export declare function setDimensionIntegrity(deps: VerifierDeps, goalId: string, dimensionName: string, integrity: "ok" | "uncertain"): Promise<void>;
|
|
30
|
+
export declare function appendTaskHistory(deps: VerifierDeps, goalId: string, task: Task): Promise<void>;
|
|
31
|
+
//# sourceMappingURL=task-verifier-rules%202.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"task-verifier-rules 2.d.ts","sourceRoot":"","sources":["../../../src/execution/task/task-verifier-rules 2.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,KAAK,EAAa,WAAW,EAAY,MAAM,qBAAqB,CAAC;AAC5E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAI7D,wBAAsB,yBAAyB,CAC7C,IAAI,EAAE,YAAY,EAClB,IAAI,EAAE,IAAI,GACT,OAAO,CAAC;IAAE,UAAU,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,OAAO,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAE,CAAC,CAsFxE;AAID;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,MAAM,CAAC,EAAE,OAAO,yBAAyB,EAAE,MAAM,EACjD,OAAO,CAAC,EAAE,MAAM,GACf,MAAM,CAWR;AAID;;;;;GAKG;AACH,wBAAgB,uBAAuB,CACrC,iBAAiB,EAAE,UAAU,GAAG,UAAU,GAAG,SAAS,GAAG,SAAS,EAClE,YAAY,EAAE,MAAM,EACpB,aAAa,EAAE,MAAM,EACrB,MAAM,CAAC,EAAE;IAAE,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;CAAE,EACxC,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAuBT;AAID,wBAAgB,mBAAmB,CAAC,eAAe,EAAE,WAAW,GAAG,OAAO,0BAA0B,EAAE,cAAc,CAOnH;AAID,wBAAgB,kBAAkB,CAAC,kBAAkB,EAAE,kBAAkB,GAAG,OAAO,CAElF;AAID,wBAAsB,aAAa,CAAC,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,CA2CpF;AAID,wBAAsB,qBAAqB,CACzC,IAAI,EAAE,YAAY,EAClB,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,IAAI,GAAG,WAAW,GAC5B,OAAO,CAAC,IAAI,CAAC,CAcf;AAID,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAwBrG"}
|
|
@@ -0,0 +1,207 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
// ─── runMechanicalVerification ───
|
|
3
|
+
export async function runMechanicalVerification(deps, task) {
|
|
4
|
+
// Mechanical prefixes that indicate a command can be run directly
|
|
5
|
+
const mechanicalPrefixes = ["npm", "npx", "pytest", "sh", "bash", "node", "make", "cargo", "go ", "gh "];
|
|
6
|
+
// Find the first success criterion with a mechanically-verifiable verification_method
|
|
7
|
+
const mechanicalCriterion = task.success_criteria.find((c) => {
|
|
8
|
+
const method = c.verification_method.toLowerCase().trim();
|
|
9
|
+
return mechanicalPrefixes.some((prefix) => method.startsWith(prefix));
|
|
10
|
+
});
|
|
11
|
+
if (!mechanicalCriterion) {
|
|
12
|
+
return {
|
|
13
|
+
applicable: false,
|
|
14
|
+
passed: false,
|
|
15
|
+
description: "No mechanical verification criteria applicable",
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
// If no adapter registry is available, fall back to assumed pass (backward compat)
|
|
19
|
+
if (!deps.adapterRegistry) {
|
|
20
|
+
return {
|
|
21
|
+
applicable: true,
|
|
22
|
+
passed: true,
|
|
23
|
+
description: "Mechanical verification criteria detected (no adapter: assumed pass)",
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
// Select the first available adapter from the registry for command execution
|
|
27
|
+
const availableAdapters = deps.adapterRegistry.listAdapters();
|
|
28
|
+
if (availableAdapters.length === 0) {
|
|
29
|
+
return {
|
|
30
|
+
applicable: true,
|
|
31
|
+
passed: true,
|
|
32
|
+
description: "Mechanical verification criteria detected (no adapters registered: assumed pass)",
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
const adapterType = availableAdapters[0];
|
|
36
|
+
let adapter;
|
|
37
|
+
try {
|
|
38
|
+
adapter = deps.adapterRegistry.getAdapter(adapterType);
|
|
39
|
+
}
|
|
40
|
+
catch {
|
|
41
|
+
return {
|
|
42
|
+
applicable: true,
|
|
43
|
+
passed: true,
|
|
44
|
+
description: "Mechanical verification criteria detected (adapter lookup failed: assumed pass)",
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
// Execute the verification command via the adapter
|
|
48
|
+
const verificationCommand = mechanicalCriterion.verification_method.trim();
|
|
49
|
+
const verificationTimeoutMs = 30_000; // 30 seconds default for L1 mechanical checks
|
|
50
|
+
const agentTask = {
|
|
51
|
+
prompt: verificationCommand,
|
|
52
|
+
timeout_ms: verificationTimeoutMs,
|
|
53
|
+
adapter_type: adapterType,
|
|
54
|
+
};
|
|
55
|
+
let result;
|
|
56
|
+
try {
|
|
57
|
+
result = await adapter.execute(agentTask);
|
|
58
|
+
}
|
|
59
|
+
catch (err) {
|
|
60
|
+
const errMsg = err instanceof Error ? err.message : String(err);
|
|
61
|
+
deps.logger?.error("runMechanicalVerification: adapter.execute() threw", { error: errMsg });
|
|
62
|
+
return {
|
|
63
|
+
applicable: true,
|
|
64
|
+
passed: false,
|
|
65
|
+
description: `Mechanical verification command threw: ${errMsg}`,
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
if (result.stopped_reason === "timeout") {
|
|
69
|
+
return {
|
|
70
|
+
applicable: true,
|
|
71
|
+
passed: false,
|
|
72
|
+
description: `Mechanical verification timed out after ${verificationTimeoutMs}ms (command: ${verificationCommand})`,
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
const passed = result.exit_code === 0 && result.success;
|
|
76
|
+
const description = passed
|
|
77
|
+
? `Mechanical verification passed (exit 0): ${verificationCommand}`
|
|
78
|
+
: `Mechanical verification failed (exit ${result.exit_code ?? "null"}): ${verificationCommand}${result.error ? ` — ${result.error}` : ""}`;
|
|
79
|
+
return { applicable: true, passed, description };
|
|
80
|
+
}
|
|
81
|
+
// ─── P0 Guard 1: dimension_updates change magnitude limit (§3.2) ───
|
|
82
|
+
/**
|
|
83
|
+
* Clamp a proposed dimension update to within ±30% absolute or ±30% relative
|
|
84
|
+
* of the current value (whichever is larger). Logs a warning when clamping occurs.
|
|
85
|
+
*
|
|
86
|
+
* Exported for unit testing.
|
|
87
|
+
*/
|
|
88
|
+
export function clampDimensionUpdate(current, proposed, logger, dimName) {
|
|
89
|
+
const absLimit = 0.3;
|
|
90
|
+
const relLimit = Math.abs(current) * 0.3;
|
|
91
|
+
const maxDelta = Math.max(absLimit, relLimit);
|
|
92
|
+
const clamped = Math.max(current - maxDelta, Math.min(current + maxDelta, proposed));
|
|
93
|
+
if (clamped !== proposed) {
|
|
94
|
+
logger?.warn(`dimension_update clamped: dim=${dimName}, proposed=${proposed}, applied=${clamped}, current=${current}`);
|
|
95
|
+
}
|
|
96
|
+
return clamped;
|
|
97
|
+
}
|
|
98
|
+
// ─── §4.5 Guard: dimension_updates direction check ───
|
|
99
|
+
/**
|
|
100
|
+
* Check whether a proposed dimension update moves in the intended direction.
|
|
101
|
+
* Returns true if the update should be applied, false if it should be skipped.
|
|
102
|
+
*
|
|
103
|
+
* Exported for unit testing.
|
|
104
|
+
*/
|
|
105
|
+
export function checkDimensionDirection(intendedDirection, currentValue, proposedValue, logger, dimName) {
|
|
106
|
+
if (!intendedDirection || intendedDirection === "neutral")
|
|
107
|
+
return true;
|
|
108
|
+
const actualDirection = proposedValue > currentValue
|
|
109
|
+
? "increase"
|
|
110
|
+
: proposedValue < currentValue
|
|
111
|
+
? "decrease"
|
|
112
|
+
: "neutral";
|
|
113
|
+
if (intendedDirection === "increase" && actualDirection === "decrease") {
|
|
114
|
+
logger?.warn(`dimension_update direction mismatch: task intended ${intendedDirection}, but update suggests ${actualDirection} for dim ${dimName ?? "unknown"}`);
|
|
115
|
+
return false;
|
|
116
|
+
}
|
|
117
|
+
if (intendedDirection === "decrease" && actualDirection === "increase") {
|
|
118
|
+
logger?.warn(`dimension_update direction mismatch: task intended ${intendedDirection}, but update suggests ${actualDirection} for dim ${dimName ?? "unknown"}`);
|
|
119
|
+
return false;
|
|
120
|
+
}
|
|
121
|
+
return true;
|
|
122
|
+
}
|
|
123
|
+
// ─── parseExecutorReport ───
|
|
124
|
+
export function parseExecutorReport(executionResult) {
|
|
125
|
+
return {
|
|
126
|
+
completed: executionResult.success,
|
|
127
|
+
summary: executionResult.output.slice(0, 500),
|
|
128
|
+
partial_results: [],
|
|
129
|
+
blockers: executionResult.error ? [executionResult.error] : [],
|
|
130
|
+
};
|
|
131
|
+
}
|
|
132
|
+
// ─── isDirectionCorrect ───
|
|
133
|
+
export function isDirectionCorrect(verificationResult) {
|
|
134
|
+
return verificationResult.verdict === "partial";
|
|
135
|
+
}
|
|
136
|
+
// ─── attemptRevert ───
|
|
137
|
+
export async function attemptRevert(deps, task) {
|
|
138
|
+
try {
|
|
139
|
+
const filesToRestore = task.scope_boundary.in_scope;
|
|
140
|
+
if (filesToRestore.length > 0) {
|
|
141
|
+
const { execFileSync } = await import("child_process");
|
|
142
|
+
execFileSync("git", ["restore", ...filesToRestore], { cwd: process.cwd(), encoding: "utf-8", stdio: ["pipe", "pipe", "pipe"] });
|
|
143
|
+
deps.logger?.info?.(`[attemptRevert] git restore succeeded for ${filesToRestore.length} files`);
|
|
144
|
+
return true;
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
catch {
|
|
148
|
+
// git not available or failed — fall back to LLM-based revert
|
|
149
|
+
}
|
|
150
|
+
try {
|
|
151
|
+
const revertSession = await deps.sessionManager.createSession("task_execution", task.goal_id, task.id);
|
|
152
|
+
const revertPrompt = `Revert task "${task.work_description}". Undo all changes in: ${task.scope_boundary.in_scope.join(", ")}.
|
|
153
|
+
|
|
154
|
+
Return JSON: {"success": true|false, "reason": "..."}`;
|
|
155
|
+
const response = await deps.llmClient.sendMessage([{ role: "user", content: revertPrompt }], { system: "Revert failed task changes. Respond with JSON only.", max_tokens: 512, model_tier: "main" });
|
|
156
|
+
await deps.sessionManager.endSession(revertSession.id, response.content);
|
|
157
|
+
try {
|
|
158
|
+
const parsed = deps.llmClient.parseJSON(response.content, z.object({ success: z.boolean(), reason: z.string() }));
|
|
159
|
+
return parsed.success;
|
|
160
|
+
}
|
|
161
|
+
catch {
|
|
162
|
+
return false;
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
catch {
|
|
166
|
+
return false;
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
// ─── setDimensionIntegrity ───
|
|
170
|
+
export async function setDimensionIntegrity(deps, goalId, dimensionName, integrity) {
|
|
171
|
+
const goalData = await deps.stateManager.readRaw(`goals/${goalId}/goal.json`);
|
|
172
|
+
if (goalData && typeof goalData === "object") {
|
|
173
|
+
const goal = goalData;
|
|
174
|
+
const dimensions = goal.dimensions;
|
|
175
|
+
if (dimensions) {
|
|
176
|
+
for (const dim of dimensions) {
|
|
177
|
+
if (dim.name === dimensionName) {
|
|
178
|
+
dim.state_integrity = integrity;
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
await deps.stateManager.writeRaw(`goals/${goalId}/goal.json`, goal);
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
// ─── appendTaskHistory ───
|
|
186
|
+
export async function appendTaskHistory(deps, goalId, task) {
|
|
187
|
+
const historyPath = `tasks/${goalId}/task-history.json`;
|
|
188
|
+
const existing = await deps.stateManager.readRaw(historyPath);
|
|
189
|
+
const history = Array.isArray(existing) ? existing : [];
|
|
190
|
+
const actual_elapsed_ms = task.started_at && task.completed_at
|
|
191
|
+
? new Date(task.completed_at).getTime() - new Date(task.started_at).getTime()
|
|
192
|
+
: null;
|
|
193
|
+
const estimated_duration_ms = task.estimated_duration
|
|
194
|
+
? deps.durationToMs(task.estimated_duration)
|
|
195
|
+
: null;
|
|
196
|
+
history.push({
|
|
197
|
+
task_id: task.id,
|
|
198
|
+
status: task.status,
|
|
199
|
+
primary_dimension: task.primary_dimension,
|
|
200
|
+
consecutive_failure_count: task.consecutive_failure_count,
|
|
201
|
+
completed_at: task.completed_at ?? new Date().toISOString(),
|
|
202
|
+
actual_elapsed_ms,
|
|
203
|
+
estimated_duration_ms,
|
|
204
|
+
});
|
|
205
|
+
await deps.stateManager.writeRaw(historyPath, history);
|
|
206
|
+
}
|
|
207
|
+
//# sourceMappingURL=task-verifier-rules%202.js.map
|