conatus 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +189 -0
- package/dist/adapter-layer.d.ts +67 -0
- package/dist/adapter-layer.d.ts.map +1 -0
- package/dist/adapter-layer.js +50 -0
- package/dist/adapter-layer.js.map +1 -0
- package/dist/adapters/a2a-adapter.d.ts +49 -0
- package/dist/adapters/a2a-adapter.d.ts.map +1 -0
- package/dist/adapters/a2a-adapter.js +211 -0
- package/dist/adapters/a2a-adapter.js.map +1 -0
- package/dist/adapters/a2a-client.d.ts +28 -0
- package/dist/adapters/a2a-client.d.ts.map +1 -0
- package/dist/adapters/a2a-client.js +178 -0
- package/dist/adapters/a2a-client.js.map +1 -0
- package/dist/adapters/browser-use-cli.d.ts +19 -0
- package/dist/adapters/browser-use-cli.d.ts.map +1 -0
- package/dist/adapters/browser-use-cli.js +112 -0
- package/dist/adapters/browser-use-cli.js.map +1 -0
- package/dist/adapters/claude-api.d.ts +10 -0
- package/dist/adapters/claude-api.d.ts.map +1 -0
- package/dist/adapters/claude-api.js +63 -0
- package/dist/adapters/claude-api.js.map +1 -0
- package/dist/adapters/claude-code-cli.d.ts +14 -0
- package/dist/adapters/claude-code-cli.d.ts.map +1 -0
- package/dist/adapters/claude-code-cli.js +99 -0
- package/dist/adapters/claude-code-cli.js.map +1 -0
- package/dist/adapters/file-existence-datasource.d.ts +16 -0
- package/dist/adapters/file-existence-datasource.d.ts.map +1 -0
- package/dist/adapters/file-existence-datasource.js +71 -0
- package/dist/adapters/file-existence-datasource.js.map +1 -0
- package/dist/adapters/github-issue-datasource.d.ts +45 -0
- package/dist/adapters/github-issue-datasource.d.ts.map +1 -0
- package/dist/adapters/github-issue-datasource.js +329 -0
- package/dist/adapters/github-issue-datasource.js.map +1 -0
- package/dist/adapters/github-issue.d.ts +87 -0
- package/dist/adapters/github-issue.d.ts.map +1 -0
- package/dist/adapters/github-issue.js +497 -0
- package/dist/adapters/github-issue.js.map +1 -0
- package/dist/adapters/openai-codex.d.ts +26 -0
- package/dist/adapters/openai-codex.d.ts.map +1 -0
- package/dist/adapters/openai-codex.js +112 -0
- package/dist/adapters/openai-codex.js.map +1 -0
- package/dist/adapters/shell-datasource.d.ts +36 -0
- package/dist/adapters/shell-datasource.d.ts.map +1 -0
- package/dist/adapters/shell-datasource.js +138 -0
- package/dist/adapters/shell-datasource.js.map +1 -0
- package/dist/capability-detector.d.ts +124 -0
- package/dist/capability-detector.d.ts.map +1 -0
- package/dist/capability-detector.js +576 -0
- package/dist/capability-detector.js.map +1 -0
- package/dist/character-config.d.ts +34 -0
- package/dist/character-config.d.ts.map +1 -0
- package/dist/character-config.js +53 -0
- package/dist/character-config.js.map +1 -0
- package/dist/cli/cli-logger.d.ts +3 -0
- package/dist/cli/cli-logger.d.ts.map +1 -0
- package/dist/cli/cli-logger.js +12 -0
- package/dist/cli/cli-logger.js.map +1 -0
- package/dist/cli/commands/config.d.ts +12 -0
- package/dist/cli/commands/config.d.ts.map +1 -0
- package/dist/cli/commands/config.js +345 -0
- package/dist/cli/commands/config.js.map +1 -0
- package/dist/cli/commands/daemon.d.ts +6 -0
- package/dist/cli/commands/daemon.d.ts.map +1 -0
- package/dist/cli/commands/daemon.js +99 -0
- package/dist/cli/commands/daemon.js.map +1 -0
- package/dist/cli/commands/goal-raw.d.ts +7 -0
- package/dist/cli/commands/goal-raw.d.ts.map +1 -0
- package/dist/cli/commands/goal-raw.js +93 -0
- package/dist/cli/commands/goal-raw.js.map +1 -0
- package/dist/cli/commands/goal-utils.d.ts +41 -0
- package/dist/cli/commands/goal-utils.d.ts.map +1 -0
- package/dist/cli/commands/goal-utils.js +184 -0
- package/dist/cli/commands/goal-utils.js.map +1 -0
- package/dist/cli/commands/goal.d.ts +22 -0
- package/dist/cli/commands/goal.d.ts.map +1 -0
- package/dist/cli/commands/goal.js +382 -0
- package/dist/cli/commands/goal.js.map +1 -0
- package/dist/cli/commands/plugin.d.ts +9 -0
- package/dist/cli/commands/plugin.d.ts.map +1 -0
- package/dist/cli/commands/plugin.js +336 -0
- package/dist/cli/commands/plugin.js.map +1 -0
- package/dist/cli/commands/report.d.ts +3 -0
- package/dist/cli/commands/report.d.ts.map +1 -0
- package/dist/cli/commands/report.js +29 -0
- package/dist/cli/commands/report.js.map +1 -0
- package/dist/cli/commands/run.d.ts +10 -0
- package/dist/cli/commands/run.d.ts.map +1 -0
- package/dist/cli/commands/run.js +159 -0
- package/dist/cli/commands/run.js.map +1 -0
- package/dist/cli/commands/suggest.d.ts +7 -0
- package/dist/cli/commands/suggest.d.ts.map +1 -0
- package/dist/cli/commands/suggest.js +466 -0
- package/dist/cli/commands/suggest.js.map +1 -0
- package/dist/cli/ensure-api-key.d.ts +14 -0
- package/dist/cli/ensure-api-key.d.ts.map +1 -0
- package/dist/cli/ensure-api-key.js +28 -0
- package/dist/cli/ensure-api-key.js.map +1 -0
- package/dist/cli/setup.d.ts +18 -0
- package/dist/cli/setup.d.ts.map +1 -0
- package/dist/cli/setup.js +147 -0
- package/dist/cli/setup.js.map +1 -0
- package/dist/cli/utils.d.ts +9 -0
- package/dist/cli/utils.d.ts.map +1 -0
- package/dist/cli/utils.js +113 -0
- package/dist/cli/utils.js.map +1 -0
- package/dist/cli-runner.d.ts +32 -0
- package/dist/cli-runner.d.ts.map +1 -0
- package/dist/cli-runner.js +467 -0
- package/dist/cli-runner.js.map +1 -0
- package/dist/codex-llm-client.d.ts +47 -0
- package/dist/codex-llm-client.d.ts.map +1 -0
- package/dist/codex-llm-client.js +193 -0
- package/dist/codex-llm-client.js.map +1 -0
- package/dist/context-provider.d.ts +16 -0
- package/dist/context-provider.d.ts.map +1 -0
- package/dist/context-provider.js +107 -0
- package/dist/context-provider.js.map +1 -0
- package/dist/context-providers/workspace-context.d.ts +8 -0
- package/dist/context-providers/workspace-context.d.ts.map +1 -0
- package/dist/context-providers/workspace-context.js +217 -0
- package/dist/context-providers/workspace-context.js.map +1 -0
- package/dist/core/suggest/repo-context.d.ts +8 -0
- package/dist/core/suggest/repo-context.d.ts.map +1 -0
- package/dist/core/suggest/repo-context.js +154 -0
- package/dist/core/suggest/repo-context.js.map +1 -0
- package/dist/core-loop.d.ts +63 -0
- package/dist/core-loop.d.ts.map +1 -0
- package/dist/core-loop.js +521 -0
- package/dist/core-loop.js.map +1 -0
- package/dist/cross-goal-portfolio.d.ts +153 -0
- package/dist/cross-goal-portfolio.d.ts.map +1 -0
- package/dist/cross-goal-portfolio.js +790 -0
- package/dist/cross-goal-portfolio.js.map +1 -0
- package/dist/curiosity-engine.d.ts +177 -0
- package/dist/curiosity-engine.d.ts.map +1 -0
- package/dist/curiosity-engine.js +736 -0
- package/dist/curiosity-engine.js.map +1 -0
- package/dist/daemon-runner.d.ts +109 -0
- package/dist/daemon-runner.d.ts.map +1 -0
- package/dist/daemon-runner.js +389 -0
- package/dist/daemon-runner.js.map +1 -0
- package/dist/data-source-adapter.d.ts +42 -0
- package/dist/data-source-adapter.d.ts.map +1 -0
- package/dist/data-source-adapter.js +223 -0
- package/dist/data-source-adapter.js.map +1 -0
- package/dist/drive/drive-scorer.d.ts +96 -0
- package/dist/drive/drive-scorer.d.ts.map +1 -0
- package/dist/drive/drive-scorer.js +240 -0
- package/dist/drive/drive-scorer.js.map +1 -0
- package/dist/drive/drive-system.d.ts +99 -0
- package/dist/drive/drive-system.d.ts.map +1 -0
- package/dist/drive/drive-system.js +344 -0
- package/dist/drive/drive-system.js.map +1 -0
- package/dist/drive/gap-calculator.d.ts +80 -0
- package/dist/drive/gap-calculator.d.ts.map +1 -0
- package/dist/drive/gap-calculator.js +219 -0
- package/dist/drive/gap-calculator.js.map +1 -0
- package/dist/drive/reward-log.d.ts +51 -0
- package/dist/drive/reward-log.d.ts.map +1 -0
- package/dist/drive/reward-log.js +48 -0
- package/dist/drive/reward-log.js.map +1 -0
- package/dist/drive/satisficing-helpers.d.ts +28 -0
- package/dist/drive/satisficing-helpers.d.ts.map +1 -0
- package/dist/drive/satisficing-helpers.js +111 -0
- package/dist/drive/satisficing-helpers.js.map +1 -0
- package/dist/drive/satisficing-judge.d.ts +140 -0
- package/dist/drive/satisficing-judge.d.ts.map +1 -0
- package/dist/drive/satisficing-judge.js +432 -0
- package/dist/drive/satisficing-judge.js.map +1 -0
- package/dist/drive/satisficing-propagation.d.ts +30 -0
- package/dist/drive/satisficing-propagation.d.ts.map +1 -0
- package/dist/drive/satisficing-propagation.js +196 -0
- package/dist/drive/satisficing-propagation.js.map +1 -0
- package/dist/drive/stall-detector.d.ts +113 -0
- package/dist/drive/stall-detector.d.ts.map +1 -0
- package/dist/drive/stall-detector.js +378 -0
- package/dist/drive/stall-detector.js.map +1 -0
- package/dist/drive-scorer.d.ts +96 -0
- package/dist/drive-scorer.d.ts.map +1 -0
- package/dist/drive-scorer.js +235 -0
- package/dist/drive-scorer.js.map +1 -0
- package/dist/drive-system.d.ts +92 -0
- package/dist/drive-system.d.ts.map +1 -0
- package/dist/drive-system.js +325 -0
- package/dist/drive-system.js.map +1 -0
- package/dist/embedding-client.d.ts +49 -0
- package/dist/embedding-client.d.ts.map +1 -0
- package/dist/embedding-client.js +141 -0
- package/dist/embedding-client.js.map +1 -0
- package/dist/ethics-gate.d.ts +70 -0
- package/dist/ethics-gate.d.ts.map +1 -0
- package/dist/ethics-gate.js +567 -0
- package/dist/ethics-gate.js.map +1 -0
- package/dist/event-server.d.ts +23 -0
- package/dist/event-server.d.ts.map +1 -0
- package/dist/event-server.js +69 -0
- package/dist/event-server.js.map +1 -0
- package/dist/execution/adapter-layer.d.ts +88 -0
- package/dist/execution/adapter-layer.d.ts.map +1 -0
- package/dist/execution/adapter-layer.js +123 -0
- package/dist/execution/adapter-layer.js.map +1 -0
- package/dist/execution/checkpoint-manager.d.ts +49 -0
- package/dist/execution/checkpoint-manager.d.ts.map +1 -0
- package/dist/execution/checkpoint-manager.js +143 -0
- package/dist/execution/checkpoint-manager.js.map +1 -0
- package/dist/execution/context-budget.d.ts +35 -0
- package/dist/execution/context-budget.d.ts.map +1 -0
- package/dist/execution/context-budget.js +73 -0
- package/dist/execution/context-budget.js.map +1 -0
- package/dist/execution/dimension-selector.d.ts +22 -0
- package/dist/execution/dimension-selector.d.ts.map +1 -0
- package/dist/execution/dimension-selector.js +57 -0
- package/dist/execution/dimension-selector.js.map +1 -0
- package/dist/execution/impact-analyzer.d.ts +24 -0
- package/dist/execution/impact-analyzer.d.ts.map +1 -0
- package/dist/execution/impact-analyzer.js +88 -0
- package/dist/execution/impact-analyzer.js.map +1 -0
- package/dist/execution/parallel-executor.d.ts +35 -0
- package/dist/execution/parallel-executor.d.ts.map +1 -0
- package/dist/execution/parallel-executor.js +162 -0
- package/dist/execution/parallel-executor.js.map +1 -0
- package/dist/execution/pipeline-executor.d.ts +54 -0
- package/dist/execution/pipeline-executor.d.ts.map +1 -0
- package/dist/execution/pipeline-executor.js +250 -0
- package/dist/execution/pipeline-executor.js.map +1 -0
- package/dist/execution/reflection-generator.d.ts +24 -0
- package/dist/execution/reflection-generator.d.ts.map +1 -0
- package/dist/execution/reflection-generator.js +143 -0
- package/dist/execution/reflection-generator.js.map +1 -0
- package/dist/execution/result-reconciler.d.ts +23 -0
- package/dist/execution/result-reconciler.d.ts.map +1 -0
- package/dist/execution/result-reconciler.js +109 -0
- package/dist/execution/result-reconciler.js.map +1 -0
- package/dist/execution/session-manager.d.ts +182 -0
- package/dist/execution/session-manager.d.ts.map +1 -0
- package/dist/execution/session-manager.js +506 -0
- package/dist/execution/session-manager.js.map +1 -0
- package/dist/execution/task-approval-check.d.ts +9 -0
- package/dist/execution/task-approval-check.d.ts.map +1 -0
- package/dist/execution/task-approval-check.js +14 -0
- package/dist/execution/task-approval-check.js.map +1 -0
- package/dist/execution/task-approval.d.ts +37 -0
- package/dist/execution/task-approval.d.ts.map +1 -0
- package/dist/execution/task-approval.js +147 -0
- package/dist/execution/task-approval.js.map +1 -0
- package/dist/execution/task-execution-types.d.ts +14 -0
- package/dist/execution/task-execution-types.d.ts.map +1 -0
- package/dist/execution/task-execution-types.js +2 -0
- package/dist/execution/task-execution-types.js.map +1 -0
- package/dist/execution/task-executor.d.ts +30 -0
- package/dist/execution/task-executor.d.ts.map +1 -0
- package/dist/execution/task-executor.js +196 -0
- package/dist/execution/task-executor.js.map +1 -0
- package/dist/execution/task-generation.d.ts +154 -0
- package/dist/execution/task-generation.d.ts.map +1 -0
- package/dist/execution/task-generation.js +406 -0
- package/dist/execution/task-generation.js.map +1 -0
- package/dist/execution/task-health-check.d.ts +38 -0
- package/dist/execution/task-health-check.d.ts.map +1 -0
- package/dist/execution/task-health-check.js +66 -0
- package/dist/execution/task-health-check.js.map +1 -0
- package/dist/execution/task-lifecycle.d.ts +122 -0
- package/dist/execution/task-lifecycle.d.ts.map +1 -0
- package/dist/execution/task-lifecycle.js +303 -0
- package/dist/execution/task-lifecycle.js.map +1 -0
- package/dist/execution/task-pipeline-cycle.d.ts +45 -0
- package/dist/execution/task-pipeline-cycle.d.ts.map +1 -0
- package/dist/execution/task-pipeline-cycle.js +134 -0
- package/dist/execution/task-pipeline-cycle.js.map +1 -0
- package/dist/execution/task-prompt-builder.d.ts +9 -0
- package/dist/execution/task-prompt-builder.d.ts.map +1 -0
- package/dist/execution/task-prompt-builder.js +165 -0
- package/dist/execution/task-prompt-builder.js.map +1 -0
- package/dist/execution/task-verifier.d.ts +112 -0
- package/dist/execution/task-verifier.d.ts.map +1 -0
- package/dist/execution/task-verifier.js +782 -0
- package/dist/execution/task-verifier.js.map +1 -0
- package/dist/gap-calculator.d.ts +80 -0
- package/dist/gap-calculator.d.ts.map +1 -0
- package/dist/gap-calculator.js +218 -0
- package/dist/gap-calculator.js.map +1 -0
- package/dist/goal/goal-decomposer.d.ts +30 -0
- package/dist/goal/goal-decomposer.d.ts.map +1 -0
- package/dist/goal/goal-decomposer.js +167 -0
- package/dist/goal/goal-decomposer.js.map +1 -0
- package/dist/goal/goal-dependency-graph.d.ts +119 -0
- package/dist/goal/goal-dependency-graph.d.ts.map +1 -0
- package/dist/goal/goal-dependency-graph.js +322 -0
- package/dist/goal/goal-dependency-graph.js.map +1 -0
- package/dist/goal/goal-negotiator.d.ts +66 -0
- package/dist/goal/goal-negotiator.d.ts.map +1 -0
- package/dist/goal/goal-negotiator.js +260 -0
- package/dist/goal/goal-negotiator.js.map +1 -0
- package/dist/goal/goal-suggest.d.ts +85 -0
- package/dist/goal/goal-suggest.d.ts.map +1 -0
- package/dist/goal/goal-suggest.js +178 -0
- package/dist/goal/goal-suggest.js.map +1 -0
- package/dist/goal/goal-tree-manager.d.ts +71 -0
- package/dist/goal/goal-tree-manager.d.ts.map +1 -0
- package/dist/goal/goal-tree-manager.js +580 -0
- package/dist/goal/goal-tree-manager.js.map +1 -0
- package/dist/goal/goal-tree-pruner.d.ts +25 -0
- package/dist/goal/goal-tree-pruner.d.ts.map +1 -0
- package/dist/goal/goal-tree-pruner.js +93 -0
- package/dist/goal/goal-tree-pruner.js.map +1 -0
- package/dist/goal/goal-tree-quality.d.ts +22 -0
- package/dist/goal/goal-tree-quality.d.ts.map +1 -0
- package/dist/goal/goal-tree-quality.js +183 -0
- package/dist/goal/goal-tree-quality.js.map +1 -0
- package/dist/goal/goal-validation.d.ts +20 -0
- package/dist/goal/goal-validation.d.ts.map +1 -0
- package/dist/goal/goal-validation.js +93 -0
- package/dist/goal/goal-validation.js.map +1 -0
- package/dist/goal/negotiator-context.d.ts +13 -0
- package/dist/goal/negotiator-context.d.ts.map +1 -0
- package/dist/goal/negotiator-context.js +119 -0
- package/dist/goal/negotiator-context.js.map +1 -0
- package/dist/goal/negotiator-prompts.d.ts +31 -0
- package/dist/goal/negotiator-prompts.d.ts.map +1 -0
- package/dist/goal/negotiator-prompts.js +65 -0
- package/dist/goal/negotiator-prompts.js.map +1 -0
- package/dist/goal/negotiator-steps.d.ts +59 -0
- package/dist/goal/negotiator-steps.d.ts.map +1 -0
- package/dist/goal/negotiator-steps.js +269 -0
- package/dist/goal/negotiator-steps.js.map +1 -0
- package/dist/goal/state-aggregator.d.ts +89 -0
- package/dist/goal/state-aggregator.d.ts.map +1 -0
- package/dist/goal/state-aggregator.js +292 -0
- package/dist/goal/state-aggregator.js.map +1 -0
- package/dist/goal/tree-loop-orchestrator.d.ts +79 -0
- package/dist/goal/tree-loop-orchestrator.d.ts.map +1 -0
- package/dist/goal/tree-loop-orchestrator.js +230 -0
- package/dist/goal/tree-loop-orchestrator.js.map +1 -0
- package/dist/goal-dependency-graph.d.ts +112 -0
- package/dist/goal-dependency-graph.d.ts.map +1 -0
- package/dist/goal-dependency-graph.js +291 -0
- package/dist/goal-dependency-graph.js.map +1 -0
- package/dist/goal-negotiator.d.ts +109 -0
- package/dist/goal-negotiator.d.ts.map +1 -0
- package/dist/goal-negotiator.js +1044 -0
- package/dist/goal-negotiator.js.map +1 -0
- package/dist/goal-tree-manager.d.ts +120 -0
- package/dist/goal-tree-manager.d.ts.map +1 -0
- package/dist/goal-tree-manager.js +954 -0
- package/dist/goal-tree-manager.js.map +1 -0
- package/dist/guardrail-runner.d.ts +29 -0
- package/dist/guardrail-runner.d.ts.map +1 -0
- package/dist/guardrail-runner.js +81 -0
- package/dist/guardrail-runner.js.map +1 -0
- package/dist/index.d.ts +95 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +75 -0
- package/dist/index.js.map +1 -0
- package/dist/knowledge/drive-score-adapter.d.ts +39 -0
- package/dist/knowledge/drive-score-adapter.d.ts.map +1 -0
- package/dist/knowledge/drive-score-adapter.js +32 -0
- package/dist/knowledge/drive-score-adapter.js.map +1 -0
- package/dist/knowledge/embedding-client.d.ts +49 -0
- package/dist/knowledge/embedding-client.d.ts.map +1 -0
- package/dist/knowledge/embedding-client.js +141 -0
- package/dist/knowledge/embedding-client.js.map +1 -0
- package/dist/knowledge/knowledge-decisions.d.ts +41 -0
- package/dist/knowledge/knowledge-decisions.d.ts.map +1 -0
- package/dist/knowledge/knowledge-decisions.js +191 -0
- package/dist/knowledge/knowledge-decisions.js.map +1 -0
- package/dist/knowledge/knowledge-graph.d.ts +74 -0
- package/dist/knowledge/knowledge-graph.d.ts.map +1 -0
- package/dist/knowledge/knowledge-graph.js +207 -0
- package/dist/knowledge/knowledge-graph.js.map +1 -0
- package/dist/knowledge/knowledge-manager.d.ts +138 -0
- package/dist/knowledge/knowledge-manager.d.ts.map +1 -0
- package/dist/knowledge/knowledge-manager.js +497 -0
- package/dist/knowledge/knowledge-manager.js.map +1 -0
- package/dist/knowledge/knowledge-revalidation.d.ts +27 -0
- package/dist/knowledge/knowledge-revalidation.d.ts.map +1 -0
- package/dist/knowledge/knowledge-revalidation.js +130 -0
- package/dist/knowledge/knowledge-revalidation.js.map +1 -0
- package/dist/knowledge/knowledge-search.d.ts +49 -0
- package/dist/knowledge/knowledge-search.d.ts.map +1 -0
- package/dist/knowledge/knowledge-search.js +108 -0
- package/dist/knowledge/knowledge-search.js.map +1 -0
- package/dist/knowledge/knowledge-transfer-prompts.d.ts +45 -0
- package/dist/knowledge/knowledge-transfer-prompts.d.ts.map +1 -0
- package/dist/knowledge/knowledge-transfer-prompts.js +72 -0
- package/dist/knowledge/knowledge-transfer-prompts.js.map +1 -0
- package/dist/knowledge/knowledge-transfer.d.ts +148 -0
- package/dist/knowledge/knowledge-transfer.d.ts.map +1 -0
- package/dist/knowledge/knowledge-transfer.js +718 -0
- package/dist/knowledge/knowledge-transfer.js.map +1 -0
- package/dist/knowledge/learning-cross-goal.d.ts +19 -0
- package/dist/knowledge/learning-cross-goal.d.ts.map +1 -0
- package/dist/knowledge/learning-cross-goal.js +173 -0
- package/dist/knowledge/learning-cross-goal.js.map +1 -0
- package/dist/knowledge/learning-feedback.d.ts +26 -0
- package/dist/knowledge/learning-feedback.d.ts.map +1 -0
- package/dist/knowledge/learning-feedback.js +183 -0
- package/dist/knowledge/learning-feedback.js.map +1 -0
- package/dist/knowledge/learning-pipeline-prompts.d.ts +134 -0
- package/dist/knowledge/learning-pipeline-prompts.d.ts.map +1 -0
- package/dist/knowledge/learning-pipeline-prompts.js +103 -0
- package/dist/knowledge/learning-pipeline-prompts.js.map +1 -0
- package/dist/knowledge/learning-pipeline.d.ts +108 -0
- package/dist/knowledge/learning-pipeline.d.ts.map +1 -0
- package/dist/knowledge/learning-pipeline.js +467 -0
- package/dist/knowledge/learning-pipeline.js.map +1 -0
- package/dist/knowledge/memory-compression.d.ts +44 -0
- package/dist/knowledge/memory-compression.d.ts.map +1 -0
- package/dist/knowledge/memory-compression.js +289 -0
- package/dist/knowledge/memory-compression.js.map +1 -0
- package/dist/knowledge/memory-distill.d.ts +31 -0
- package/dist/knowledge/memory-distill.d.ts.map +1 -0
- package/dist/knowledge/memory-distill.js +170 -0
- package/dist/knowledge/memory-distill.js.map +1 -0
- package/dist/knowledge/memory-index.d.ts +11 -0
- package/dist/knowledge/memory-index.d.ts.map +1 -0
- package/dist/knowledge/memory-index.js +134 -0
- package/dist/knowledge/memory-index.js.map +1 -0
- package/dist/knowledge/memory-lifecycle.d.ts +172 -0
- package/dist/knowledge/memory-lifecycle.d.ts.map +1 -0
- package/dist/knowledge/memory-lifecycle.js +398 -0
- package/dist/knowledge/memory-lifecycle.js.map +1 -0
- package/dist/knowledge/memory-persistence.d.ts +30 -0
- package/dist/knowledge/memory-persistence.d.ts.map +1 -0
- package/dist/knowledge/memory-persistence.js +120 -0
- package/dist/knowledge/memory-persistence.js.map +1 -0
- package/dist/knowledge/memory-phases.d.ts +14 -0
- package/dist/knowledge/memory-phases.d.ts.map +1 -0
- package/dist/knowledge/memory-phases.js +14 -0
- package/dist/knowledge/memory-phases.js.map +1 -0
- package/dist/knowledge/memory-query.d.ts +4 -0
- package/dist/knowledge/memory-query.d.ts.map +1 -0
- package/dist/knowledge/memory-query.js +64 -0
- package/dist/knowledge/memory-query.js.map +1 -0
- package/dist/knowledge/memory-selection.d.ts +80 -0
- package/dist/knowledge/memory-selection.d.ts.map +1 -0
- package/dist/knowledge/memory-selection.js +356 -0
- package/dist/knowledge/memory-selection.js.map +1 -0
- package/dist/knowledge/memory-stats.d.ts +7 -0
- package/dist/knowledge/memory-stats.d.ts.map +1 -0
- package/dist/knowledge/memory-stats.js +162 -0
- package/dist/knowledge/memory-stats.js.map +1 -0
- package/dist/knowledge/memory-tier.d.ts +47 -0
- package/dist/knowledge/memory-tier.d.ts.map +1 -0
- package/dist/knowledge/memory-tier.js +212 -0
- package/dist/knowledge/memory-tier.js.map +1 -0
- package/dist/knowledge/transfer-trust.d.ts +40 -0
- package/dist/knowledge/transfer-trust.d.ts.map +1 -0
- package/dist/knowledge/transfer-trust.js +137 -0
- package/dist/knowledge/transfer-trust.js.map +1 -0
- package/dist/knowledge/vector-index.d.ts +65 -0
- package/dist/knowledge/vector-index.d.ts.map +1 -0
- package/dist/knowledge/vector-index.js +153 -0
- package/dist/knowledge/vector-index.js.map +1 -0
- package/dist/knowledge-graph.d.ts +70 -0
- package/dist/knowledge-graph.d.ts.map +1 -0
- package/dist/knowledge-graph.js +194 -0
- package/dist/knowledge-graph.js.map +1 -0
- package/dist/knowledge-manager.d.ts +110 -0
- package/dist/knowledge-manager.d.ts.map +1 -0
- package/dist/knowledge-manager.js +544 -0
- package/dist/knowledge-manager.js.map +1 -0
- package/dist/knowledge-transfer.d.ts +101 -0
- package/dist/knowledge-transfer.d.ts.map +1 -0
- package/dist/knowledge-transfer.js +484 -0
- package/dist/knowledge-transfer.js.map +1 -0
- package/dist/learning-pipeline.d.ts +107 -0
- package/dist/learning-pipeline.d.ts.map +1 -0
- package/dist/learning-pipeline.js +840 -0
- package/dist/learning-pipeline.js.map +1 -0
- package/dist/llm/base-llm-client.d.ts +20 -0
- package/dist/llm/base-llm-client.d.ts.map +1 -0
- package/dist/llm/base-llm-client.js +48 -0
- package/dist/llm/base-llm-client.js.map +1 -0
- package/dist/llm/codex-llm-client.d.ts +41 -0
- package/dist/llm/codex-llm-client.d.ts.map +1 -0
- package/dist/llm/codex-llm-client.js +188 -0
- package/dist/llm/codex-llm-client.js.map +1 -0
- package/dist/llm/llm-client.d.ts +54 -0
- package/dist/llm/llm-client.d.ts.map +1 -0
- package/dist/llm/llm-client.js +148 -0
- package/dist/llm/llm-client.js.map +1 -0
- package/dist/llm/ollama-client.d.ts +24 -0
- package/dist/llm/ollama-client.d.ts.map +1 -0
- package/dist/llm/ollama-client.js +94 -0
- package/dist/llm/ollama-client.js.map +1 -0
- package/dist/llm/openai-client.d.ts +34 -0
- package/dist/llm/openai-client.d.ts.map +1 -0
- package/dist/llm/openai-client.js +140 -0
- package/dist/llm/openai-client.js.map +1 -0
- package/dist/llm/provider-config.d.ts +55 -0
- package/dist/llm/provider-config.d.ts.map +1 -0
- package/dist/llm/provider-config.js +136 -0
- package/dist/llm/provider-config.js.map +1 -0
- package/dist/llm/provider-factory.d.ts +25 -0
- package/dist/llm/provider-factory.d.ts.map +1 -0
- package/dist/llm/provider-factory.js +111 -0
- package/dist/llm/provider-factory.js.map +1 -0
- package/dist/llm-client.d.ts +65 -0
- package/dist/llm-client.d.ts.map +1 -0
- package/dist/llm-client.js +151 -0
- package/dist/llm-client.js.map +1 -0
- package/dist/logger.d.ts +30 -0
- package/dist/logger.d.ts.map +1 -0
- package/dist/logger.js +121 -0
- package/dist/logger.js.map +1 -0
- package/dist/loop/core-loop-capability.d.ts +19 -0
- package/dist/loop/core-loop-capability.d.ts.map +1 -0
- package/dist/loop/core-loop-capability.js +107 -0
- package/dist/loop/core-loop-capability.js.map +1 -0
- package/dist/loop/core-loop-learning.d.ts +34 -0
- package/dist/loop/core-loop-learning.d.ts.map +1 -0
- package/dist/loop/core-loop-learning.js +78 -0
- package/dist/loop/core-loop-learning.js.map +1 -0
- package/dist/loop/core-loop-phases-b.d.ts +25 -0
- package/dist/loop/core-loop-phases-b.d.ts.map +1 -0
- package/dist/loop/core-loop-phases-b.js +510 -0
- package/dist/loop/core-loop-phases-b.js.map +1 -0
- package/dist/loop/core-loop-phases.d.ts +40 -0
- package/dist/loop/core-loop-phases.d.ts.map +1 -0
- package/dist/loop/core-loop-phases.js +228 -0
- package/dist/loop/core-loop-phases.js.map +1 -0
- package/dist/loop/core-loop-types.d.ts +202 -0
- package/dist/loop/core-loop-types.d.ts.map +1 -0
- package/dist/loop/core-loop-types.js +38 -0
- package/dist/loop/core-loop-types.js.map +1 -0
- package/dist/loop/tree-loop-runner.d.ts +24 -0
- package/dist/loop/tree-loop-runner.d.ts.map +1 -0
- package/dist/loop/tree-loop-runner.js +116 -0
- package/dist/loop/tree-loop-runner.js.map +1 -0
- package/dist/memory-lifecycle.d.ts +244 -0
- package/dist/memory-lifecycle.d.ts.map +1 -0
- package/dist/memory-lifecycle.js +1328 -0
- package/dist/memory-lifecycle.js.map +1 -0
- package/dist/notification-dispatcher.d.ts +36 -0
- package/dist/notification-dispatcher.d.ts.map +1 -0
- package/dist/notification-dispatcher.js +363 -0
- package/dist/notification-dispatcher.js.map +1 -0
- package/dist/observation/capability-dependencies.d.ts +45 -0
- package/dist/observation/capability-dependencies.d.ts.map +1 -0
- package/dist/observation/capability-dependencies.js +208 -0
- package/dist/observation/capability-dependencies.js.map +1 -0
- package/dist/observation/capability-detector.d.ts +72 -0
- package/dist/observation/capability-detector.d.ts.map +1 -0
- package/dist/observation/capability-detector.js +372 -0
- package/dist/observation/capability-detector.js.map +1 -0
- package/dist/observation/capability-registry.d.ts +48 -0
- package/dist/observation/capability-registry.d.ts.map +1 -0
- package/dist/observation/capability-registry.js +131 -0
- package/dist/observation/capability-registry.js.map +1 -0
- package/dist/observation/context-provider.d.ts +39 -0
- package/dist/observation/context-provider.d.ts.map +1 -0
- package/dist/observation/context-provider.js +177 -0
- package/dist/observation/context-provider.js.map +1 -0
- package/dist/observation/data-source-adapter.d.ts +42 -0
- package/dist/observation/data-source-adapter.d.ts.map +1 -0
- package/dist/observation/data-source-adapter.js +227 -0
- package/dist/observation/data-source-adapter.js.map +1 -0
- package/dist/observation/observation-apply.d.ts +18 -0
- package/dist/observation/observation-apply.d.ts.map +1 -0
- package/dist/observation/observation-apply.js +138 -0
- package/dist/observation/observation-apply.js.map +1 -0
- package/dist/observation/observation-datasource.d.ts +21 -0
- package/dist/observation/observation-datasource.d.ts.map +1 -0
- package/dist/observation/observation-datasource.js +96 -0
- package/dist/observation/observation-datasource.js.map +1 -0
- package/dist/observation/observation-engine.d.ts +156 -0
- package/dist/observation/observation-engine.d.ts.map +1 -0
- package/dist/observation/observation-engine.js +359 -0
- package/dist/observation/observation-engine.js.map +1 -0
- package/dist/observation/observation-helpers.d.ts +112 -0
- package/dist/observation/observation-helpers.d.ts.map +1 -0
- package/dist/observation/observation-helpers.js +173 -0
- package/dist/observation/observation-helpers.js.map +1 -0
- package/dist/observation/observation-llm.d.ts +46 -0
- package/dist/observation/observation-llm.d.ts.map +1 -0
- package/dist/observation/observation-llm.js +220 -0
- package/dist/observation/observation-llm.js.map +1 -0
- package/dist/observation/observation-task.d.ts +29 -0
- package/dist/observation/observation-task.d.ts.map +1 -0
- package/dist/observation/observation-task.js +51 -0
- package/dist/observation/observation-task.js.map +1 -0
- package/dist/observation/workspace-context.d.ts +8 -0
- package/dist/observation/workspace-context.d.ts.map +1 -0
- package/dist/observation/workspace-context.js +229 -0
- package/dist/observation/workspace-context.js.map +1 -0
- package/dist/observation-engine.d.ts +218 -0
- package/dist/observation-engine.d.ts.map +1 -0
- package/dist/observation-engine.js +711 -0
- package/dist/observation-engine.js.map +1 -0
- package/dist/ollama-client.d.ts +30 -0
- package/dist/ollama-client.d.ts.map +1 -0
- package/dist/ollama-client.js +112 -0
- package/dist/ollama-client.js.map +1 -0
- package/dist/openai-client.d.ts +40 -0
- package/dist/openai-client.d.ts.map +1 -0
- package/dist/openai-client.js +155 -0
- package/dist/openai-client.js.map +1 -0
- package/dist/pid-manager.d.ts +18 -0
- package/dist/pid-manager.d.ts.map +1 -0
- package/dist/pid-manager.js +64 -0
- package/dist/pid-manager.js.map +1 -0
- package/dist/portfolio-manager.d.ts +147 -0
- package/dist/portfolio-manager.d.ts.map +1 -0
- package/dist/portfolio-manager.js +371 -0
- package/dist/portfolio-manager.js.map +1 -0
- package/dist/portfolio-rebalance.d.ts +75 -0
- package/dist/portfolio-rebalance.d.ts.map +1 -0
- package/dist/portfolio-rebalance.js +254 -0
- package/dist/portfolio-rebalance.js.map +1 -0
- package/dist/prompt/context-assembler.d.ts +70 -0
- package/dist/prompt/context-assembler.d.ts.map +1 -0
- package/dist/prompt/context-assembler.js +346 -0
- package/dist/prompt/context-assembler.js.map +1 -0
- package/dist/prompt/formatters.d.ts +49 -0
- package/dist/prompt/formatters.d.ts.map +1 -0
- package/dist/prompt/formatters.js +136 -0
- package/dist/prompt/formatters.js.map +1 -0
- package/dist/prompt/gateway.d.ts +30 -0
- package/dist/prompt/gateway.d.ts.map +1 -0
- package/dist/prompt/gateway.js +43 -0
- package/dist/prompt/gateway.js.map +1 -0
- package/dist/prompt/index.d.ts +12 -0
- package/dist/prompt/index.d.ts.map +1 -0
- package/dist/prompt/index.js +9 -0
- package/dist/prompt/index.js.map +1 -0
- package/dist/prompt/purposes/capability.d.ts +64 -0
- package/dist/prompt/purposes/capability.d.ts.map +1 -0
- package/dist/prompt/purposes/capability.js +38 -0
- package/dist/prompt/purposes/capability.js.map +1 -0
- package/dist/prompt/purposes/checkpoint.d.ts +22 -0
- package/dist/prompt/purposes/checkpoint.d.ts.map +1 -0
- package/dist/prompt/purposes/checkpoint.js +17 -0
- package/dist/prompt/purposes/checkpoint.js.map +1 -0
- package/dist/prompt/purposes/curiosity.d.ts +41 -0
- package/dist/prompt/purposes/curiosity.d.ts.map +1 -0
- package/dist/prompt/purposes/curiosity.js +20 -0
- package/dist/prompt/purposes/curiosity.js.map +1 -0
- package/dist/prompt/purposes/dependency.d.ts +34 -0
- package/dist/prompt/purposes/dependency.d.ts.map +1 -0
- package/dist/prompt/purposes/dependency.js +21 -0
- package/dist/prompt/purposes/dependency.js.map +1 -0
- package/dist/prompt/purposes/ethics.d.ts +47 -0
- package/dist/prompt/purposes/ethics.d.ts.map +1 -0
- package/dist/prompt/purposes/ethics.js +89 -0
- package/dist/prompt/purposes/ethics.js.map +1 -0
- package/dist/prompt/purposes/final-migration.d.ts +15 -0
- package/dist/prompt/purposes/final-migration.d.ts.map +1 -0
- package/dist/prompt/purposes/final-migration.js +15 -0
- package/dist/prompt/purposes/final-migration.js.map +1 -0
- package/dist/prompt/purposes/goal-decomposition.d.ts +46 -0
- package/dist/prompt/purposes/goal-decomposition.d.ts.map +1 -0
- package/dist/prompt/purposes/goal-decomposition.js +20 -0
- package/dist/prompt/purposes/goal-decomposition.js.map +1 -0
- package/dist/prompt/purposes/goal-quality.d.ts +61 -0
- package/dist/prompt/purposes/goal-quality.d.ts.map +1 -0
- package/dist/prompt/purposes/goal-quality.js +37 -0
- package/dist/prompt/purposes/goal-quality.js.map +1 -0
- package/dist/prompt/purposes/index.d.ts +29 -0
- package/dist/prompt/purposes/index.d.ts.map +1 -0
- package/dist/prompt/purposes/index.js +320 -0
- package/dist/prompt/purposes/index.js.map +1 -0
- package/dist/prompt/purposes/knowledge-transfer.d.ts +81 -0
- package/dist/prompt/purposes/knowledge-transfer.d.ts.map +1 -0
- package/dist/prompt/purposes/knowledge-transfer.js +33 -0
- package/dist/prompt/purposes/knowledge-transfer.js.map +1 -0
- package/dist/prompt/purposes/knowledge.d.ts +88 -0
- package/dist/prompt/purposes/knowledge.d.ts.map +1 -0
- package/dist/prompt/purposes/knowledge.js +59 -0
- package/dist/prompt/purposes/knowledge.js.map +1 -0
- package/dist/prompt/purposes/learning.d.ts +70 -0
- package/dist/prompt/purposes/learning.d.ts.map +1 -0
- package/dist/prompt/purposes/learning.js +32 -0
- package/dist/prompt/purposes/learning.js.map +1 -0
- package/dist/prompt/purposes/memory-distill.d.ts +75 -0
- package/dist/prompt/purposes/memory-distill.d.ts.map +1 -0
- package/dist/prompt/purposes/memory-distill.js +27 -0
- package/dist/prompt/purposes/memory-distill.js.map +1 -0
- package/dist/prompt/purposes/observation.d.ts +25 -0
- package/dist/prompt/purposes/observation.d.ts.map +1 -0
- package/dist/prompt/purposes/observation.js +17 -0
- package/dist/prompt/purposes/observation.js.map +1 -0
- package/dist/prompt/purposes/strategy-template.d.ts +57 -0
- package/dist/prompt/purposes/strategy-template.d.ts.map +1 -0
- package/dist/prompt/purposes/strategy-template.js +31 -0
- package/dist/prompt/purposes/strategy-template.js.map +1 -0
- package/dist/prompt/purposes/strategy.d.ts +41 -0
- package/dist/prompt/purposes/strategy.d.ts.map +1 -0
- package/dist/prompt/purposes/strategy.js +19 -0
- package/dist/prompt/purposes/strategy.js.map +1 -0
- package/dist/prompt/purposes/task-generation.d.ts +26 -0
- package/dist/prompt/purposes/task-generation.d.ts.map +1 -0
- package/dist/prompt/purposes/task-generation.js +22 -0
- package/dist/prompt/purposes/task-generation.js.map +1 -0
- package/dist/prompt/purposes/verification.d.ts +25 -0
- package/dist/prompt/purposes/verification.d.ts.map +1 -0
- package/dist/prompt/purposes/verification.js +17 -0
- package/dist/prompt/purposes/verification.js.map +1 -0
- package/dist/prompt/slot-definitions 2.d.ts +33 -0
- package/dist/prompt/slot-definitions 2.d.ts.map +1 -0
- package/dist/prompt/slot-definitions 2.js +332 -0
- package/dist/prompt/slot-definitions 2.js.map +1 -0
- package/dist/prompt/slot-definitions.d.ts +33 -0
- package/dist/prompt/slot-definitions.d.ts.map +1 -0
- package/dist/prompt/slot-definitions.js +383 -0
- package/dist/prompt/slot-definitions.js.map +1 -0
- package/dist/provider-config.d.ts +43 -0
- package/dist/provider-config.d.ts.map +1 -0
- package/dist/provider-config.js +131 -0
- package/dist/provider-config.js.map +1 -0
- package/dist/provider-factory.d.ts +23 -0
- package/dist/provider-factory.d.ts.map +1 -0
- package/dist/provider-factory.js +83 -0
- package/dist/provider-factory.js.map +1 -0
- package/dist/reporting-engine.d.ts +58 -0
- package/dist/reporting-engine.d.ts.map +1 -0
- package/dist/reporting-engine.js +592 -0
- package/dist/reporting-engine.js.map +1 -0
- package/dist/runtime/daemon-runner.d.ts +147 -0
- package/dist/runtime/daemon-runner.d.ts.map +1 -0
- package/dist/runtime/daemon-runner.js +549 -0
- package/dist/runtime/daemon-runner.js.map +1 -0
- package/dist/runtime/event-server.d.ts +50 -0
- package/dist/runtime/event-server.d.ts.map +1 -0
- package/dist/runtime/event-server.js +192 -0
- package/dist/runtime/event-server.js.map +1 -0
- package/dist/runtime/logger.d.ts +57 -0
- package/dist/runtime/logger.d.ts.map +1 -0
- package/dist/runtime/logger.js +254 -0
- package/dist/runtime/logger.js.map +1 -0
- package/dist/runtime/notification-dispatcher.d.ts +49 -0
- package/dist/runtime/notification-dispatcher.d.ts.map +1 -0
- package/dist/runtime/notification-dispatcher.js +444 -0
- package/dist/runtime/notification-dispatcher.js.map +1 -0
- package/dist/runtime/notifier-registry.d.ts +26 -0
- package/dist/runtime/notifier-registry.d.ts.map +1 -0
- package/dist/runtime/notifier-registry.js +36 -0
- package/dist/runtime/notifier-registry.js.map +1 -0
- package/dist/runtime/pid-manager.d.ts +18 -0
- package/dist/runtime/pid-manager.d.ts.map +1 -0
- package/dist/runtime/pid-manager.js +61 -0
- package/dist/runtime/pid-manager.js.map +1 -0
- package/dist/runtime/plugin-loader.d.ts +78 -0
- package/dist/runtime/plugin-loader.d.ts.map +1 -0
- package/dist/runtime/plugin-loader.js +349 -0
- package/dist/runtime/plugin-loader.js.map +1 -0
- package/dist/satisficing-judge.d.ts +113 -0
- package/dist/satisficing-judge.d.ts.map +1 -0
- package/dist/satisficing-judge.js +592 -0
- package/dist/satisficing-judge.js.map +1 -0
- package/dist/session-manager.d.ts +159 -0
- package/dist/session-manager.d.ts.map +1 -0
- package/dist/session-manager.js +458 -0
- package/dist/session-manager.js.map +1 -0
- package/dist/stall-detector.d.ts +100 -0
- package/dist/stall-detector.d.ts.map +1 -0
- package/dist/stall-detector.js +306 -0
- package/dist/stall-detector.js.map +1 -0
- package/dist/state-aggregator.d.ts +89 -0
- package/dist/state-aggregator.d.ts.map +1 -0
- package/dist/state-aggregator.js +290 -0
- package/dist/state-aggregator.js.map +1 -0
- package/dist/state-manager.d.ts +121 -0
- package/dist/state-manager.d.ts.map +1 -0
- package/dist/state-manager.js +547 -0
- package/dist/state-manager.js.map +1 -0
- package/dist/strategy/cross-goal-portfolio.d.ts +118 -0
- package/dist/strategy/cross-goal-portfolio.d.ts.map +1 -0
- package/dist/strategy/cross-goal-portfolio.js +431 -0
- package/dist/strategy/cross-goal-portfolio.js.map +1 -0
- package/dist/strategy/portfolio-allocation.d.ts +36 -0
- package/dist/strategy/portfolio-allocation.d.ts.map +1 -0
- package/dist/strategy/portfolio-allocation.js +215 -0
- package/dist/strategy/portfolio-allocation.js.map +1 -0
- package/dist/strategy/portfolio-momentum.d.ts +11 -0
- package/dist/strategy/portfolio-momentum.d.ts.map +1 -0
- package/dist/strategy/portfolio-momentum.js +64 -0
- package/dist/strategy/portfolio-momentum.js.map +1 -0
- package/dist/strategy/portfolio-scheduling.d.ts +25 -0
- package/dist/strategy/portfolio-scheduling.d.ts.map +1 -0
- package/dist/strategy/portfolio-scheduling.js +133 -0
- package/dist/strategy/portfolio-scheduling.js.map +1 -0
- package/dist/strategy/strategy-helpers.d.ts +109 -0
- package/dist/strategy/strategy-helpers.d.ts.map +1 -0
- package/dist/strategy/strategy-helpers.js +125 -0
- package/dist/strategy/strategy-helpers.js.map +1 -0
- package/dist/strategy/strategy-manager-base.d.ts +95 -0
- package/dist/strategy/strategy-manager-base.d.ts.map +1 -0
- package/dist/strategy/strategy-manager-base.js +363 -0
- package/dist/strategy/strategy-manager-base.js.map +1 -0
- package/dist/strategy/strategy-manager.d.ts +65 -0
- package/dist/strategy/strategy-manager.d.ts.map +1 -0
- package/dist/strategy/strategy-manager.js +226 -0
- package/dist/strategy/strategy-manager.js.map +1 -0
- package/dist/strategy/strategy-template-registry.d.ts +84 -0
- package/dist/strategy/strategy-template-registry.d.ts.map +1 -0
- package/dist/strategy/strategy-template-registry.js +350 -0
- package/dist/strategy/strategy-template-registry.js.map +1 -0
- package/dist/strategy-manager.d.ts +128 -0
- package/dist/strategy-manager.d.ts.map +1 -0
- package/dist/strategy-manager.js +579 -0
- package/dist/strategy-manager.js.map +1 -0
- package/dist/strategy-template-registry.d.ts +80 -0
- package/dist/strategy-template-registry.d.ts.map +1 -0
- package/dist/strategy-template-registry.js +320 -0
- package/dist/strategy-template-registry.js.map +1 -0
- package/dist/task-lifecycle.d.ts +167 -0
- package/dist/task-lifecycle.d.ts.map +1 -0
- package/dist/task-lifecycle.js +1161 -0
- package/dist/task-lifecycle.js.map +1 -0
- package/dist/traits/character-config.d.ts +34 -0
- package/dist/traits/character-config.d.ts.map +1 -0
- package/dist/traits/character-config.js +53 -0
- package/dist/traits/character-config.js.map +1 -0
- package/dist/traits/curiosity-engine.d.ts +185 -0
- package/dist/traits/curiosity-engine.d.ts.map +1 -0
- package/dist/traits/curiosity-engine.js +530 -0
- package/dist/traits/curiosity-engine.js.map +1 -0
- package/dist/traits/curiosity-proposals.d.ts +38 -0
- package/dist/traits/curiosity-proposals.d.ts.map +1 -0
- package/dist/traits/curiosity-proposals.js +259 -0
- package/dist/traits/curiosity-proposals.js.map +1 -0
- package/dist/traits/curiosity-transfer.d.ts +27 -0
- package/dist/traits/curiosity-transfer.d.ts.map +1 -0
- package/dist/traits/curiosity-transfer.js +50 -0
- package/dist/traits/curiosity-transfer.js.map +1 -0
- package/dist/traits/ethics-gate.d.ts +72 -0
- package/dist/traits/ethics-gate.d.ts.map +1 -0
- package/dist/traits/ethics-gate.js +591 -0
- package/dist/traits/ethics-gate.js.map +1 -0
- package/dist/traits/trust-manager.d.ts +90 -0
- package/dist/traits/trust-manager.d.ts.map +1 -0
- package/dist/traits/trust-manager.js +276 -0
- package/dist/traits/trust-manager.js.map +1 -0
- package/dist/tree-loop-orchestrator.d.ts +79 -0
- package/dist/tree-loop-orchestrator.d.ts.map +1 -0
- package/dist/tree-loop-orchestrator.js +225 -0
- package/dist/tree-loop-orchestrator.js.map +1 -0
- package/dist/trust-manager.d.ts +67 -0
- package/dist/trust-manager.d.ts.map +1 -0
- package/dist/trust-manager.js +201 -0
- package/dist/trust-manager.js.map +1 -0
- package/dist/tui/actions.d.ts +38 -0
- package/dist/tui/actions.d.ts.map +1 -0
- package/dist/tui/actions.js +229 -0
- package/dist/tui/actions.js.map +1 -0
- package/dist/tui/app.d.ts +24 -0
- package/dist/tui/app.d.ts.map +1 -0
- package/dist/tui/app.js +159 -0
- package/dist/tui/app.js.map +1 -0
- package/dist/tui/approval-overlay.d.ts +8 -0
- package/dist/tui/approval-overlay.d.ts.map +1 -0
- package/dist/tui/approval-overlay.js +20 -0
- package/dist/tui/approval-overlay.js.map +1 -0
- package/dist/tui/chat.d.ts +15 -0
- package/dist/tui/chat.d.ts.map +1 -0
- package/dist/tui/chat.js +196 -0
- package/dist/tui/chat.js.map +1 -0
- package/dist/tui/dashboard.d.ts +9 -0
- package/dist/tui/dashboard.d.ts.map +1 -0
- package/dist/tui/dashboard.js +69 -0
- package/dist/tui/dashboard.js.map +1 -0
- package/dist/tui/entry.d.ts +3 -0
- package/dist/tui/entry.d.ts.map +1 -0
- package/dist/tui/entry.js +222 -0
- package/dist/tui/entry.js.map +1 -0
- package/dist/tui/fuzzy.d.ts +22 -0
- package/dist/tui/fuzzy.d.ts.map +1 -0
- package/dist/tui/fuzzy.js +66 -0
- package/dist/tui/fuzzy.js.map +1 -0
- package/dist/tui/help-overlay.d.ts +6 -0
- package/dist/tui/help-overlay.d.ts.map +1 -0
- package/dist/tui/help-overlay.js +12 -0
- package/dist/tui/help-overlay.js.map +1 -0
- package/dist/tui/intent-recognizer.d.ts +19 -0
- package/dist/tui/intent-recognizer.d.ts.map +1 -0
- package/dist/tui/intent-recognizer.js +125 -0
- package/dist/tui/intent-recognizer.js.map +1 -0
- package/dist/tui/markdown-renderer.d.ts +37 -0
- package/dist/tui/markdown-renderer.d.ts.map +1 -0
- package/dist/tui/markdown-renderer.js +220 -0
- package/dist/tui/markdown-renderer.js.map +1 -0
- package/dist/tui/report-view.d.ts +6 -0
- package/dist/tui/report-view.d.ts.map +1 -0
- package/dist/tui/report-view.js +79 -0
- package/dist/tui/report-view.js.map +1 -0
- package/dist/tui/use-loop.d.ts +54 -0
- package/dist/tui/use-loop.d.ts.map +1 -0
- package/dist/tui/use-loop.js +185 -0
- package/dist/tui/use-loop.js.map +1 -0
- package/dist/types/a2a.d.ts +972 -0
- package/dist/types/a2a.d.ts.map +1 -0
- package/dist/types/a2a.js +130 -0
- package/dist/types/a2a.js.map +1 -0
- package/dist/types/capability.d.ts +292 -0
- package/dist/types/capability.d.ts.map +1 -0
- package/dist/types/capability.js +53 -0
- package/dist/types/capability.js.map +1 -0
- package/dist/types/character.d.ts +20 -0
- package/dist/types/character.d.ts.map +1 -0
- package/dist/types/character.js +10 -0
- package/dist/types/character.js.map +1 -0
- package/dist/types/checkpoint.d.ts +109 -0
- package/dist/types/checkpoint.d.ts.map +1 -0
- package/dist/types/checkpoint.js +27 -0
- package/dist/types/checkpoint.js.map +1 -0
- package/dist/types/core.d.ts +175 -0
- package/dist/types/core.d.ts.map +1 -0
- package/dist/types/core.js +154 -0
- package/dist/types/core.js.map +1 -0
- package/dist/types/cross-portfolio.d.ts +378 -0
- package/dist/types/cross-portfolio.d.ts.map +1 -0
- package/dist/types/cross-portfolio.js +155 -0
- package/dist/types/cross-portfolio.js.map +1 -0
- package/dist/types/curiosity.d.ts +443 -0
- package/dist/types/curiosity.d.ts.map +1 -0
- package/dist/types/curiosity.js +86 -0
- package/dist/types/curiosity.js.map +1 -0
- package/dist/types/daemon.d.ts +111 -0
- package/dist/types/daemon.d.ts.map +1 -0
- package/dist/types/daemon.js +37 -0
- package/dist/types/daemon.js.map +1 -0
- package/dist/types/data-source.d.ts +311 -0
- package/dist/types/data-source.d.ts.map +1 -0
- package/dist/types/data-source.js +53 -0
- package/dist/types/data-source.js.map +1 -0
- package/dist/types/dependency.d.ts +108 -0
- package/dist/types/dependency.d.ts.map +1 -0
- package/dist/types/dependency.js +21 -0
- package/dist/types/dependency.js.map +1 -0
- package/dist/types/drive.d.ts +194 -0
- package/dist/types/drive.d.ts.map +1 -0
- package/dist/types/drive.js +77 -0
- package/dist/types/drive.js.map +1 -0
- package/dist/types/embedding.d.ts +59 -0
- package/dist/types/embedding.d.ts.map +1 -0
- package/dist/types/embedding.js +22 -0
- package/dist/types/embedding.js.map +1 -0
- package/dist/types/ethics.d.ts +169 -0
- package/dist/types/ethics.d.ts.map +1 -0
- package/dist/types/ethics.js +47 -0
- package/dist/types/ethics.js.map +1 -0
- package/dist/types/gap.d.ts +146 -0
- package/dist/types/gap.d.ts.map +1 -0
- package/dist/types/gap.js +41 -0
- package/dist/types/gap.js.map +1 -0
- package/dist/types/goal-tree.d.ts +180 -0
- package/dist/types/goal-tree.d.ts.map +1 -0
- package/dist/types/goal-tree.js +73 -0
- package/dist/types/goal-tree.js.map +1 -0
- package/dist/types/goal.d.ts +1233 -0
- package/dist/types/goal.d.ts.map +1 -0
- package/dist/types/goal.js +119 -0
- package/dist/types/goal.js.map +1 -0
- package/dist/types/guardrail.d.ts +104 -0
- package/dist/types/guardrail.d.ts.map +1 -0
- package/dist/types/guardrail.js +34 -0
- package/dist/types/guardrail.js.map +1 -0
- package/dist/types/index.d.ts +31 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +31 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/knowledge.d.ts +402 -0
- package/dist/types/knowledge.d.ts.map +1 -0
- package/dist/types/knowledge.js +116 -0
- package/dist/types/knowledge.js.map +1 -0
- package/dist/types/learning.d.ts +292 -0
- package/dist/types/learning.d.ts.map +1 -0
- package/dist/types/learning.js +120 -0
- package/dist/types/learning.js.map +1 -0
- package/dist/types/memory-lifecycle.d.ts +617 -0
- package/dist/types/memory-lifecycle.d.ts.map +1 -0
- package/dist/types/memory-lifecycle.js +159 -0
- package/dist/types/memory-lifecycle.js.map +1 -0
- package/dist/types/negotiation.d.ts +450 -0
- package/dist/types/negotiation.d.ts.map +1 -0
- package/dist/types/negotiation.js +84 -0
- package/dist/types/negotiation.js.map +1 -0
- package/dist/types/notification.d.ts +879 -0
- package/dist/types/notification.d.ts.map +1 -0
- package/dist/types/notification.js +75 -0
- package/dist/types/notification.js.map +1 -0
- package/dist/types/pipeline.d.ts +191 -0
- package/dist/types/pipeline.d.ts.map +1 -0
- package/dist/types/pipeline.js +62 -0
- package/dist/types/pipeline.js.map +1 -0
- package/dist/types/plugin.d.ts +335 -0
- package/dist/types/plugin.d.ts.map +1 -0
- package/dist/types/plugin.js +61 -0
- package/dist/types/plugin.js.map +1 -0
- package/dist/types/portfolio.d.ts +146 -0
- package/dist/types/portfolio.d.ts.map +1 -0
- package/dist/types/portfolio.js +55 -0
- package/dist/types/portfolio.js.map +1 -0
- package/dist/types/reflection.d.ts +34 -0
- package/dist/types/reflection.d.ts.map +1 -0
- package/dist/types/reflection.js +14 -0
- package/dist/types/reflection.js.map +1 -0
- package/dist/types/report.d.ts +205 -0
- package/dist/types/report.d.ts.map +1 -0
- package/dist/types/report.js +59 -0
- package/dist/types/report.js.map +1 -0
- package/dist/types/satisficing.d.ts +130 -0
- package/dist/types/satisficing.d.ts.map +1 -0
- package/dist/types/satisficing.js +54 -0
- package/dist/types/satisficing.js.map +1 -0
- package/dist/types/session.d.ts +95 -0
- package/dist/types/session.d.ts.map +1 -0
- package/dist/types/session.js +36 -0
- package/dist/types/session.js.map +1 -0
- package/dist/types/stall.d.ts +68 -0
- package/dist/types/stall.d.ts.map +1 -0
- package/dist/types/stall.js +28 -0
- package/dist/types/stall.js.map +1 -0
- package/dist/types/state.d.ts +245 -0
- package/dist/types/state.d.ts.map +1 -0
- package/dist/types/state.js +36 -0
- package/dist/types/state.js.map +1 -0
- package/dist/types/strategy.d.ts +541 -0
- package/dist/types/strategy.d.ts.map +1 -0
- package/dist/types/strategy.js +55 -0
- package/dist/types/strategy.js.map +1 -0
- package/dist/types/suggest.d.ts +92 -0
- package/dist/types/suggest.d.ts.map +1 -0
- package/dist/types/suggest.js +15 -0
- package/dist/types/suggest.js.map +1 -0
- package/dist/types/task-group.d.ts +231 -0
- package/dist/types/task-group.d.ts.map +1 -0
- package/dist/types/task-group.js +14 -0
- package/dist/types/task-group.js.map +1 -0
- package/dist/types/task.d.ts +258 -0
- package/dist/types/task.d.ts.map +1 -0
- package/dist/types/task.js +66 -0
- package/dist/types/task.js.map +1 -0
- package/dist/types/trust.d.ts +126 -0
- package/dist/types/trust.d.ts.map +1 -0
- package/dist/types/trust.js +38 -0
- package/dist/types/trust.js.map +1 -0
- package/dist/utils/errors.d.ts +17 -0
- package/dist/utils/errors.d.ts.map +1 -0
- package/dist/utils/errors.js +34 -0
- package/dist/utils/errors.js.map +1 -0
- package/dist/utils/json-io.d.ts +28 -0
- package/dist/utils/json-io.d.ts.map +1 -0
- package/dist/utils/json-io.js +71 -0
- package/dist/utils/json-io.js.map +1 -0
- package/dist/utils/paths.d.ts +14 -0
- package/dist/utils/paths.d.ts.map +1 -0
- package/dist/utils/paths.js +38 -0
- package/dist/utils/paths.js.map +1 -0
- package/dist/utils/sleep.d.ts +2 -0
- package/dist/utils/sleep.d.ts.map +1 -0
- package/dist/utils/sleep.js +4 -0
- package/dist/utils/sleep.js.map +1 -0
- package/dist/vector-index.d.ts +39 -0
- package/dist/vector-index.d.ts.map +1 -0
- package/dist/vector-index.js +111 -0
- package/dist/vector-index.js.map +1 -0
- package/package.json +78 -0
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
import type { Session, SessionType, ContextSlot } from "../types/session.js";
|
|
2
|
+
import type { StateManager } from "../state-manager.js";
|
|
3
|
+
import type { KnowledgeEntry } from "../types/knowledge.js";
|
|
4
|
+
import type { VectorIndex } from "../knowledge/vector-index.js";
|
|
5
|
+
import type { GoalDependencyGraph } from "../goal/goal-dependency-graph.js";
|
|
6
|
+
import { CheckpointManager } from './checkpoint-manager.js';
|
|
7
|
+
import type { Checkpoint } from '../types/checkpoint.js';
|
|
8
|
+
export declare const DEFAULT_CONTEXT_BUDGET = 50000;
|
|
9
|
+
export interface ContextBudget {
|
|
10
|
+
totalTokens: number;
|
|
11
|
+
usedTokens: number;
|
|
12
|
+
remaining: number;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* SessionManager creates and manages the 4 session types
|
|
16
|
+
* (task_execution, observation, task_review, goal_review).
|
|
17
|
+
*
|
|
18
|
+
* MVP: Fixed priority-1–4 context templates per session type.
|
|
19
|
+
* Context isolation is enforced: each session type receives only
|
|
20
|
+
* what it needs to prevent bias (e.g., observation sessions never
|
|
21
|
+
* receive task execution details; task review sessions never receive
|
|
22
|
+
* the executor's self-report).
|
|
23
|
+
*
|
|
24
|
+
* Persistence: sessions/<session_id>.json via StateManager readRaw/writeRaw.
|
|
25
|
+
*/
|
|
26
|
+
export declare class SessionManager {
|
|
27
|
+
private readonly stateManager;
|
|
28
|
+
private readonly dependencyGraph?;
|
|
29
|
+
private checkpointManager?;
|
|
30
|
+
constructor(stateManager: StateManager, dependencyGraph?: GoalDependencyGraph);
|
|
31
|
+
setCheckpointManager(cm: CheckpointManager): void;
|
|
32
|
+
/**
|
|
33
|
+
* Estimates token count for a string.
|
|
34
|
+
* Simple heuristic: Math.ceil(text.length / 4)
|
|
35
|
+
*/
|
|
36
|
+
estimateTokens(text: string): number;
|
|
37
|
+
/**
|
|
38
|
+
* Compresses a context slot to fit within maxTokens.
|
|
39
|
+
* Uses head + tail strategy: keeps first 60% and last 40% of allowed chars.
|
|
40
|
+
*/
|
|
41
|
+
compressSlot(slot: ContextSlot, maxTokens: number): ContextSlot;
|
|
42
|
+
/**
|
|
43
|
+
* Creates a new session of the given type for goalId/taskId.
|
|
44
|
+
* Context slots are built based on session type using fixed MVP templates.
|
|
45
|
+
*/
|
|
46
|
+
createSession(sessionType: SessionType, goalId: string, taskId: string | null, contextBudget?: number): Promise<Session>;
|
|
47
|
+
/**
|
|
48
|
+
* Marks a session as completed and records the result summary.
|
|
49
|
+
*/
|
|
50
|
+
endSession(sessionId: string, resultSummary: string): Promise<void>;
|
|
51
|
+
/**
|
|
52
|
+
* Returns a session by ID, or null if not found.
|
|
53
|
+
*/
|
|
54
|
+
getSession(sessionId: string): Promise<Session | null>;
|
|
55
|
+
/**
|
|
56
|
+
* Returns all active (not yet ended) sessions for a given goal.
|
|
57
|
+
* Note: MVP scans all sessions matching goalId with status="active".
|
|
58
|
+
* This reads the session index; sessions without ended_at are active.
|
|
59
|
+
*/
|
|
60
|
+
getActiveSessions(goalId: string): Promise<Session[]>;
|
|
61
|
+
/**
|
|
62
|
+
* Builds context slots for task execution sessions.
|
|
63
|
+
*
|
|
64
|
+
* Priority assignments:
|
|
65
|
+
* p1 — task definition and success criteria
|
|
66
|
+
* p2 — target dimension current state
|
|
67
|
+
* p3 — recent observation summary
|
|
68
|
+
* p4 — constraints
|
|
69
|
+
*
|
|
70
|
+
* Excluded: goal history, other goals, strategic background
|
|
71
|
+
*/
|
|
72
|
+
buildTaskExecutionContext(goalId: string, taskId: string, isRetry?: boolean): ContextSlot[];
|
|
73
|
+
/**
|
|
74
|
+
* Builds context slots for observation sessions.
|
|
75
|
+
*
|
|
76
|
+
* Priority assignments:
|
|
77
|
+
* p1 — goal definition and dimension definitions
|
|
78
|
+
* p2 — observation methods
|
|
79
|
+
* p3 — previous observation results
|
|
80
|
+
* p4 — constraints
|
|
81
|
+
*
|
|
82
|
+
* Excluded: task details, execution session content (bias prevention)
|
|
83
|
+
*/
|
|
84
|
+
buildObservationContext(goalId: string, dimensionNames: string[]): ContextSlot[];
|
|
85
|
+
/**
|
|
86
|
+
* Builds context slots for task review sessions.
|
|
87
|
+
*
|
|
88
|
+
* Priority assignments:
|
|
89
|
+
* p1 — task definition and success criteria
|
|
90
|
+
* p2 — artifact access information
|
|
91
|
+
*
|
|
92
|
+
* Excluded: goal-level context, task generation background,
|
|
93
|
+
* executor's self-report (independent judgment must be preserved)
|
|
94
|
+
*/
|
|
95
|
+
buildTaskReviewContext(goalId: string, taskId: string): ContextSlot[];
|
|
96
|
+
/**
|
|
97
|
+
* Builds context slots for goal review sessions.
|
|
98
|
+
*
|
|
99
|
+
* Priority assignments:
|
|
100
|
+
* p1 — goal definition (full)
|
|
101
|
+
* p2 — state vector and recent changes
|
|
102
|
+
* p3 — achievement thresholds
|
|
103
|
+
* p4 — (reserved; not used in MVP but slot reserved for consistency)
|
|
104
|
+
*
|
|
105
|
+
* Excluded: individual task execution details, full execution history
|
|
106
|
+
*/
|
|
107
|
+
buildGoalReviewContext(goalId: string): ContextSlot[];
|
|
108
|
+
/**
|
|
109
|
+
* Inject relevant KnowledgeEntry items into an existing set of context slots.
|
|
110
|
+
*
|
|
111
|
+
* Each non-superseded entry is formatted as structured text and appended as
|
|
112
|
+
* a new low-priority context slot (`domain_knowledge`). Empty entry arrays
|
|
113
|
+
* are a no-op — the original slots are returned unchanged.
|
|
114
|
+
*/
|
|
115
|
+
injectKnowledgeContext(slots: ContextSlot[], entries: KnowledgeEntry[]): ContextSlot[];
|
|
116
|
+
/**
|
|
117
|
+
* Phase 2 (Progressive Disclosure): Inject knowledge context using semantic search.
|
|
118
|
+
* 1. searchMetadata() — fetch id+score for up to 20 candidates (no full text)
|
|
119
|
+
* 2. selectWithinBudget() — pick candidates that fit the knowledge budget
|
|
120
|
+
* 3. getEntryById() — load full text only for selected candidates
|
|
121
|
+
*
|
|
122
|
+
* Falls back to empty if no vectorIndex available.
|
|
123
|
+
*/
|
|
124
|
+
injectSemanticKnowledgeContext(slots: ContextSlot[], query: string, vectorIndex: VectorIndex | undefined, contextBudget?: number): Promise<ContextSlot[]>;
|
|
125
|
+
/**
|
|
126
|
+
* Inject learning feedback into context slots.
|
|
127
|
+
* Adds a single "learning_feedback" slot containing all feedback strings.
|
|
128
|
+
*/
|
|
129
|
+
injectLearningFeedback(slots: ContextSlot[], feedback: string[]): ContextSlot[];
|
|
130
|
+
/**
|
|
131
|
+
* Filters context slots to fit within a token budget.
|
|
132
|
+
*
|
|
133
|
+
* Slots are sorted by priority (ascending = higher priority first).
|
|
134
|
+
* Slots are accumulated until the budget is exceeded; any slot that
|
|
135
|
+
* would push the total over budget is dropped along with all subsequent slots.
|
|
136
|
+
*
|
|
137
|
+
* The returned array preserves the original slot order.
|
|
138
|
+
*/
|
|
139
|
+
filterSlotsByBudget(slots: ContextSlot[], budget: number): ContextSlot[];
|
|
140
|
+
/**
|
|
141
|
+
* Reads resource_conflict edges from the dependency graph for goalId.
|
|
142
|
+
* Returns list of conflicting goals and their shared resources (affected_dimensions).
|
|
143
|
+
*/
|
|
144
|
+
checkResourceConflicts(goalId: string): {
|
|
145
|
+
conflictingGoalId: string;
|
|
146
|
+
sharedResources: string[];
|
|
147
|
+
}[];
|
|
148
|
+
/**
|
|
149
|
+
* Builds context slots for a given goalId/sessionType, then if a dependency graph
|
|
150
|
+
* is available, inserts a conflict-awareness slot (priority 4.5) describing
|
|
151
|
+
* active resource conflicts and instructing the session to avoid concurrent
|
|
152
|
+
* operations on shared resources.
|
|
153
|
+
*
|
|
154
|
+
* The conflict-awareness slot sits between constraints (p4) and previous session
|
|
155
|
+
* results (p5).
|
|
156
|
+
*/
|
|
157
|
+
buildContextWithConflictAwareness(goalId: string, sessionType: SessionType, options?: {
|
|
158
|
+
tokenBudget?: number;
|
|
159
|
+
taskId?: string | null;
|
|
160
|
+
}): ContextSlot[];
|
|
161
|
+
saveCheckpoint(params: {
|
|
162
|
+
goalId: string;
|
|
163
|
+
taskId: string;
|
|
164
|
+
agentId: string;
|
|
165
|
+
sessionContextSnapshot: string;
|
|
166
|
+
intermediateResults?: string[];
|
|
167
|
+
metadata?: Record<string, unknown>;
|
|
168
|
+
}): Promise<Checkpoint | null>;
|
|
169
|
+
loadCheckpoint(goalId: string, currentAgentId: string, taskId?: string): Promise<{
|
|
170
|
+
checkpoint: Checkpoint;
|
|
171
|
+
adaptedContext: string;
|
|
172
|
+
wasAdapted: boolean;
|
|
173
|
+
} | null>;
|
|
174
|
+
gcCheckpoints(goalId: string, maxAgeDays?: number): Promise<number>;
|
|
175
|
+
private buildContextForType;
|
|
176
|
+
private persistSession;
|
|
177
|
+
/** Loads the session index (list of all session IDs). */
|
|
178
|
+
private loadSessionIndex;
|
|
179
|
+
/** Adds a session ID to the index if not already present. */
|
|
180
|
+
private updateSessionIndex;
|
|
181
|
+
}
|
|
182
|
+
//# sourceMappingURL=session-manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-manager.d.ts","sourceRoot":"","sources":["../../src/execution/session-manager.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAC7E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAE5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAIzD,eAAO,MAAM,sBAAsB,QAAS,CAAC;AAI7C,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACnB;AAID;;;;;;;;;;;GAWG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAe;IAC5C,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAsB;IACvD,OAAO,CAAC,iBAAiB,CAAC,CAAoB;gBAElC,YAAY,EAAE,YAAY,EAAE,eAAe,CAAC,EAAE,mBAAmB;IAK7E,oBAAoB,CAAC,EAAE,EAAE,iBAAiB,GAAG,IAAI;IAMjD;;;OAGG;IACH,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAIpC;;;OAGG;IACH,YAAY,CAAC,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,GAAG,WAAW;IAuB/D;;;OAGG;IACG,aAAa,CACjB,WAAW,EAAE,WAAW,EACxB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,GAAG,IAAI,EACrB,aAAa,GAAE,MAA+B,GAC7C,OAAO,CAAC,OAAO,CAAC;IA2BnB;;OAEG;IACG,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAezE;;OAEG;IACG,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IAM5D;;;;OAIG;IACG,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAoB3D;;;;;;;;;;OAUG;IACH,yBAAyB,CACvB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,OAAe,GACvB,WAAW,EAAE;IAwChB;;;;;;;;;;OAUG;IACH,uBAAuB,CACrB,MAAM,EAAE,MAAM,EACd,cAAc,EAAE,MAAM,EAAE,GACvB,WAAW,EAAE;IA6BhB;;;;;;;;;OASG;IACH,sBAAsB,CACpB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,GACb,WAAW,EAAE;IAiBhB;;;;;;;;;;OAUG;IACH,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW,EAAE;IAyBrD;;;;;;OAMG;IACH,sBAAsB,CACpB,KAAK,EAAE,WAAW,EAAE,EACpB,OAAO,EAAE,cAAc,EAAE,GACxB,WAAW,EAAE;IA0BhB;;;;;;;OAOG;IACG,8BAA8B,CAClC,KAAK,EAAE,WAAW,EAAE,EACpB,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,WAAW,GAAG,SAAS,EACpC,aAAa,GAAE,MAA+B,GAC7C,OAAO,CAAC,WAAW,EAAE,CAAC;IA0CzB;;;OAGG;IACH,sBAAsB,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,WAAW,EAAE;IAsB/E;;;;;;;;OAQG;IACH,mBAAmB,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE,MAAM,EAAE,MAAM,GAAG,WAAW,EAAE;IA0BxE;;;OAGG;IACH,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG;QAAE,iBAAiB,EAAE,MAAM,CAAC;QAAC,eAAe,EAAE,MAAM,EAAE,CAAA;KAAE,EAAE;IAWlG;;;;;;;;OAQG;IACH,iCAAiC,CAC/B,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,WAAW,EACxB,OAAO,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,GACzD,WAAW,EAAE;IA4CV,cAAc,CAAC,MAAM,EAAE;QAC3B,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,MAAM,CAAC;QAChB,sBAAsB,EAAE,MAAM,CAAC;QAC/B,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;QAC/B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACpC,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;IAKxB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;QACrF,UAAU,EAAE,UAAU,CAAC;QACvB,cAAc,EAAE,MAAM,CAAC;QACvB,UAAU,EAAE,OAAO,CAAC;KACrB,GAAG,IAAI,CAAC;IAKH,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAOzE,OAAO,CAAC,mBAAmB;YA4Bb,cAAc;IAK5B,yDAAyD;YAC3C,gBAAgB;IAO9B,6DAA6D;YAC/C,kBAAkB;CAOjC"}
|
|
@@ -0,0 +1,506 @@
|
|
|
1
|
+
import { randomUUID } from "node:crypto";
|
|
2
|
+
import { SessionSchema, ContextSlotSchema } from "../types/session.js";
|
|
3
|
+
import { allocateBudget, selectWithinBudget } from "./context-budget.js";
|
|
4
|
+
// ─── Constants ───
|
|
5
|
+
export const DEFAULT_CONTEXT_BUDGET = 50_000;
|
|
6
|
+
// ─── SessionManager ───
|
|
7
|
+
/**
|
|
8
|
+
* SessionManager creates and manages the 4 session types
|
|
9
|
+
* (task_execution, observation, task_review, goal_review).
|
|
10
|
+
*
|
|
11
|
+
* MVP: Fixed priority-1–4 context templates per session type.
|
|
12
|
+
* Context isolation is enforced: each session type receives only
|
|
13
|
+
* what it needs to prevent bias (e.g., observation sessions never
|
|
14
|
+
* receive task execution details; task review sessions never receive
|
|
15
|
+
* the executor's self-report).
|
|
16
|
+
*
|
|
17
|
+
* Persistence: sessions/<session_id>.json via StateManager readRaw/writeRaw.
|
|
18
|
+
*/
|
|
19
|
+
export class SessionManager {
|
|
20
|
+
stateManager;
|
|
21
|
+
dependencyGraph;
|
|
22
|
+
checkpointManager;
|
|
23
|
+
constructor(stateManager, dependencyGraph) {
|
|
24
|
+
this.stateManager = stateManager;
|
|
25
|
+
this.dependencyGraph = dependencyGraph;
|
|
26
|
+
}
|
|
27
|
+
setCheckpointManager(cm) {
|
|
28
|
+
this.checkpointManager = cm;
|
|
29
|
+
}
|
|
30
|
+
// ─── Token Estimation ───
|
|
31
|
+
/**
|
|
32
|
+
* Estimates token count for a string.
|
|
33
|
+
* Simple heuristic: Math.ceil(text.length / 4)
|
|
34
|
+
*/
|
|
35
|
+
estimateTokens(text) {
|
|
36
|
+
return Math.ceil(text.length / 4);
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Compresses a context slot to fit within maxTokens.
|
|
40
|
+
* Uses head + tail strategy: keeps first 60% and last 40% of allowed chars.
|
|
41
|
+
*/
|
|
42
|
+
compressSlot(slot, maxTokens) {
|
|
43
|
+
const maxChars = maxTokens * 4;
|
|
44
|
+
if (slot.content.length <= maxChars) {
|
|
45
|
+
return { ...slot, token_estimate: this.estimateTokens(slot.content) };
|
|
46
|
+
}
|
|
47
|
+
// Head: 60%, tail: 40%
|
|
48
|
+
const headChars = Math.floor(maxChars * 0.6);
|
|
49
|
+
const tailChars = maxChars - headChars;
|
|
50
|
+
const compressed = slot.content.slice(0, headChars) +
|
|
51
|
+
"\n...[truncated]...\n" +
|
|
52
|
+
slot.content.slice(slot.content.length - tailChars);
|
|
53
|
+
return {
|
|
54
|
+
...slot,
|
|
55
|
+
content: compressed,
|
|
56
|
+
token_estimate: this.estimateTokens(compressed),
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
// ─── Session Lifecycle ───
|
|
60
|
+
/**
|
|
61
|
+
* Creates a new session of the given type for goalId/taskId.
|
|
62
|
+
* Context slots are built based on session type using fixed MVP templates.
|
|
63
|
+
*/
|
|
64
|
+
async createSession(sessionType, goalId, taskId, contextBudget = DEFAULT_CONTEXT_BUDGET) {
|
|
65
|
+
const sessionId = randomUUID();
|
|
66
|
+
const now = new Date().toISOString();
|
|
67
|
+
const contextSlots = this.dependencyGraph
|
|
68
|
+
? this.buildContextWithConflictAwareness(goalId, sessionType, {
|
|
69
|
+
tokenBudget: contextBudget,
|
|
70
|
+
taskId,
|
|
71
|
+
})
|
|
72
|
+
: this.buildContextForType(sessionType, goalId, taskId, contextBudget);
|
|
73
|
+
const session = SessionSchema.parse({
|
|
74
|
+
id: sessionId,
|
|
75
|
+
session_type: sessionType,
|
|
76
|
+
goal_id: goalId,
|
|
77
|
+
task_id: taskId,
|
|
78
|
+
context_slots: contextSlots,
|
|
79
|
+
context_budget: contextBudget,
|
|
80
|
+
started_at: now,
|
|
81
|
+
ended_at: null,
|
|
82
|
+
result_summary: null,
|
|
83
|
+
});
|
|
84
|
+
await this.persistSession(session);
|
|
85
|
+
return session;
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Marks a session as completed and records the result summary.
|
|
89
|
+
*/
|
|
90
|
+
async endSession(sessionId, resultSummary) {
|
|
91
|
+
const session = await this.getSession(sessionId);
|
|
92
|
+
if (session === null) {
|
|
93
|
+
throw new Error(`SessionManager.endSession: session "${sessionId}" not found`);
|
|
94
|
+
}
|
|
95
|
+
const updated = SessionSchema.parse({
|
|
96
|
+
...session,
|
|
97
|
+
ended_at: new Date().toISOString(),
|
|
98
|
+
result_summary: resultSummary,
|
|
99
|
+
});
|
|
100
|
+
await this.persistSession(updated);
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Returns a session by ID, or null if not found.
|
|
104
|
+
*/
|
|
105
|
+
async getSession(sessionId) {
|
|
106
|
+
const raw = await this.stateManager.readRaw(`sessions/${sessionId}.json`);
|
|
107
|
+
if (raw === null)
|
|
108
|
+
return null;
|
|
109
|
+
return SessionSchema.parse(raw);
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Returns all active (not yet ended) sessions for a given goal.
|
|
113
|
+
* Note: MVP scans all sessions matching goalId with status="active".
|
|
114
|
+
* This reads the session index; sessions without ended_at are active.
|
|
115
|
+
*/
|
|
116
|
+
async getActiveSessions(goalId) {
|
|
117
|
+
const index = await this.loadSessionIndex();
|
|
118
|
+
const sessions = [];
|
|
119
|
+
for (const sessionId of index) {
|
|
120
|
+
const session = await this.getSession(sessionId);
|
|
121
|
+
if (session !== null &&
|
|
122
|
+
session.goal_id === goalId &&
|
|
123
|
+
session.ended_at === null) {
|
|
124
|
+
sessions.push(session);
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
return sessions;
|
|
128
|
+
}
|
|
129
|
+
// ─── Context Building ───
|
|
130
|
+
/**
|
|
131
|
+
* Builds context slots for task execution sessions.
|
|
132
|
+
*
|
|
133
|
+
* Priority assignments:
|
|
134
|
+
* p1 — task definition and success criteria
|
|
135
|
+
* p2 — target dimension current state
|
|
136
|
+
* p3 — recent observation summary
|
|
137
|
+
* p4 — constraints
|
|
138
|
+
*
|
|
139
|
+
* Excluded: goal history, other goals, strategic background
|
|
140
|
+
*/
|
|
141
|
+
buildTaskExecutionContext(goalId, taskId, isRetry = false) {
|
|
142
|
+
const slots = [
|
|
143
|
+
{
|
|
144
|
+
priority: 1,
|
|
145
|
+
label: "task_definition_and_success_criteria",
|
|
146
|
+
content: `goal_id:${goalId} task_id:${taskId}`,
|
|
147
|
+
token_estimate: 0,
|
|
148
|
+
},
|
|
149
|
+
{
|
|
150
|
+
priority: 2,
|
|
151
|
+
label: "target_dimension_current_state",
|
|
152
|
+
content: `goal_id:${goalId}`,
|
|
153
|
+
token_estimate: 0,
|
|
154
|
+
},
|
|
155
|
+
{
|
|
156
|
+
priority: 3,
|
|
157
|
+
label: "recent_observation_summary",
|
|
158
|
+
content: `goal_id:${goalId}`,
|
|
159
|
+
token_estimate: 0,
|
|
160
|
+
},
|
|
161
|
+
{
|
|
162
|
+
priority: 4,
|
|
163
|
+
label: "constraints",
|
|
164
|
+
content: `goal_id:${goalId}`,
|
|
165
|
+
token_estimate: 0,
|
|
166
|
+
},
|
|
167
|
+
];
|
|
168
|
+
if (isRetry) {
|
|
169
|
+
slots.push({
|
|
170
|
+
priority: 5,
|
|
171
|
+
label: "previous_attempt_result",
|
|
172
|
+
content: `goal_id:${goalId} task_id:${taskId} retry:true`,
|
|
173
|
+
token_estimate: 0,
|
|
174
|
+
});
|
|
175
|
+
}
|
|
176
|
+
return slots;
|
|
177
|
+
}
|
|
178
|
+
/**
|
|
179
|
+
* Builds context slots for observation sessions.
|
|
180
|
+
*
|
|
181
|
+
* Priority assignments:
|
|
182
|
+
* p1 — goal definition and dimension definitions
|
|
183
|
+
* p2 — observation methods
|
|
184
|
+
* p3 — previous observation results
|
|
185
|
+
* p4 — constraints
|
|
186
|
+
*
|
|
187
|
+
* Excluded: task details, execution session content (bias prevention)
|
|
188
|
+
*/
|
|
189
|
+
buildObservationContext(goalId, dimensionNames) {
|
|
190
|
+
return [
|
|
191
|
+
{
|
|
192
|
+
priority: 1,
|
|
193
|
+
label: "goal_and_dimension_definitions",
|
|
194
|
+
content: `goal_id:${goalId} dimensions:${dimensionNames.join(",")}`,
|
|
195
|
+
token_estimate: 0,
|
|
196
|
+
},
|
|
197
|
+
{
|
|
198
|
+
priority: 2,
|
|
199
|
+
label: "observation_methods",
|
|
200
|
+
content: `goal_id:${goalId} dimensions:${dimensionNames.join(",")}`,
|
|
201
|
+
token_estimate: 0,
|
|
202
|
+
},
|
|
203
|
+
{
|
|
204
|
+
priority: 3,
|
|
205
|
+
label: "previous_observation_results",
|
|
206
|
+
content: `goal_id:${goalId} dimensions:${dimensionNames.join(",")}`,
|
|
207
|
+
token_estimate: 0,
|
|
208
|
+
},
|
|
209
|
+
{
|
|
210
|
+
priority: 4,
|
|
211
|
+
label: "constraints",
|
|
212
|
+
content: `goal_id:${goalId}`,
|
|
213
|
+
token_estimate: 0,
|
|
214
|
+
},
|
|
215
|
+
];
|
|
216
|
+
}
|
|
217
|
+
/**
|
|
218
|
+
* Builds context slots for task review sessions.
|
|
219
|
+
*
|
|
220
|
+
* Priority assignments:
|
|
221
|
+
* p1 — task definition and success criteria
|
|
222
|
+
* p2 — artifact access information
|
|
223
|
+
*
|
|
224
|
+
* Excluded: goal-level context, task generation background,
|
|
225
|
+
* executor's self-report (independent judgment must be preserved)
|
|
226
|
+
*/
|
|
227
|
+
buildTaskReviewContext(goalId, taskId) {
|
|
228
|
+
return [
|
|
229
|
+
{
|
|
230
|
+
priority: 1,
|
|
231
|
+
label: "task_definition_and_success_criteria",
|
|
232
|
+
content: `goal_id:${goalId} task_id:${taskId}`,
|
|
233
|
+
token_estimate: 0,
|
|
234
|
+
},
|
|
235
|
+
{
|
|
236
|
+
priority: 2,
|
|
237
|
+
label: "artifact_access_information",
|
|
238
|
+
content: `goal_id:${goalId} task_id:${taskId}`,
|
|
239
|
+
token_estimate: 0,
|
|
240
|
+
},
|
|
241
|
+
];
|
|
242
|
+
}
|
|
243
|
+
/**
|
|
244
|
+
* Builds context slots for goal review sessions.
|
|
245
|
+
*
|
|
246
|
+
* Priority assignments:
|
|
247
|
+
* p1 — goal definition (full)
|
|
248
|
+
* p2 — state vector and recent changes
|
|
249
|
+
* p3 — achievement thresholds
|
|
250
|
+
* p4 — (reserved; not used in MVP but slot reserved for consistency)
|
|
251
|
+
*
|
|
252
|
+
* Excluded: individual task execution details, full execution history
|
|
253
|
+
*/
|
|
254
|
+
buildGoalReviewContext(goalId) {
|
|
255
|
+
return [
|
|
256
|
+
{
|
|
257
|
+
priority: 1,
|
|
258
|
+
label: "goal_definition",
|
|
259
|
+
content: `goal_id:${goalId}`,
|
|
260
|
+
token_estimate: 0,
|
|
261
|
+
},
|
|
262
|
+
{
|
|
263
|
+
priority: 2,
|
|
264
|
+
label: "state_vector_and_recent_changes",
|
|
265
|
+
content: `goal_id:${goalId}`,
|
|
266
|
+
token_estimate: 0,
|
|
267
|
+
},
|
|
268
|
+
{
|
|
269
|
+
priority: 3,
|
|
270
|
+
label: "achievement_thresholds",
|
|
271
|
+
content: `goal_id:${goalId}`,
|
|
272
|
+
token_estimate: 0,
|
|
273
|
+
},
|
|
274
|
+
];
|
|
275
|
+
}
|
|
276
|
+
// ─── Knowledge Context Injection ───
|
|
277
|
+
/**
|
|
278
|
+
* Inject relevant KnowledgeEntry items into an existing set of context slots.
|
|
279
|
+
*
|
|
280
|
+
* Each non-superseded entry is formatted as structured text and appended as
|
|
281
|
+
* a new low-priority context slot (`domain_knowledge`). Empty entry arrays
|
|
282
|
+
* are a no-op — the original slots are returned unchanged.
|
|
283
|
+
*/
|
|
284
|
+
injectKnowledgeContext(slots, entries) {
|
|
285
|
+
const activeEntries = entries.filter((e) => e.superseded_by === null);
|
|
286
|
+
if (activeEntries.length === 0)
|
|
287
|
+
return slots;
|
|
288
|
+
const content = activeEntries
|
|
289
|
+
.map((e) => `[Knowledge] Q: ${e.question}\nA: ${e.answer} (confidence: ${e.confidence})`)
|
|
290
|
+
.join("\n\n");
|
|
291
|
+
const maxPriority = slots.reduce((max, s) => (s.priority > max ? s.priority : max), 0);
|
|
292
|
+
const knowledgeSlot = {
|
|
293
|
+
priority: maxPriority + 1,
|
|
294
|
+
label: "domain_knowledge",
|
|
295
|
+
content,
|
|
296
|
+
token_estimate: 0,
|
|
297
|
+
};
|
|
298
|
+
return [...slots, knowledgeSlot];
|
|
299
|
+
}
|
|
300
|
+
/**
|
|
301
|
+
* Phase 2 (Progressive Disclosure): Inject knowledge context using semantic search.
|
|
302
|
+
* 1. searchMetadata() — fetch id+score for up to 20 candidates (no full text)
|
|
303
|
+
* 2. selectWithinBudget() — pick candidates that fit the knowledge budget
|
|
304
|
+
* 3. getEntryById() — load full text only for selected candidates
|
|
305
|
+
*
|
|
306
|
+
* Falls back to empty if no vectorIndex available.
|
|
307
|
+
*/
|
|
308
|
+
async injectSemanticKnowledgeContext(slots, query, vectorIndex, contextBudget = DEFAULT_CONTEXT_BUDGET) {
|
|
309
|
+
if (!vectorIndex)
|
|
310
|
+
return slots;
|
|
311
|
+
try {
|
|
312
|
+
// Step 1: lightweight metadata scan (no full text)
|
|
313
|
+
const candidates = await vectorIndex.searchMetadata(query, 20, 0.5);
|
|
314
|
+
if (candidates.length === 0)
|
|
315
|
+
return slots;
|
|
316
|
+
// Step 2: allocate the knowledge portion of the total budget
|
|
317
|
+
const allocation = allocateBudget(contextBudget);
|
|
318
|
+
const knowledgeBudget = allocation.knowledge;
|
|
319
|
+
// Build lightweight objects with text for budget selection
|
|
320
|
+
const withText = candidates
|
|
321
|
+
.map((c) => {
|
|
322
|
+
const entry = vectorIndex.getEntryById(c.id);
|
|
323
|
+
return entry ? { ...c, text: entry.text } : null;
|
|
324
|
+
})
|
|
325
|
+
.filter((c) => c !== null);
|
|
326
|
+
// Step 3: select within budget, then build slots from full entries
|
|
327
|
+
const selected = selectWithinBudget(withText, knowledgeBudget);
|
|
328
|
+
if (selected.length === 0)
|
|
329
|
+
return slots;
|
|
330
|
+
const maxPriority = slots.reduce((max, s) => (s.priority > max ? s.priority : max), 0);
|
|
331
|
+
const knowledgeSlots = selected.map((result, i) => ({
|
|
332
|
+
priority: maxPriority + 1 + i,
|
|
333
|
+
label: `semantic_knowledge_${i}`,
|
|
334
|
+
content: result.text,
|
|
335
|
+
token_estimate: Math.ceil(result.text.length / 4),
|
|
336
|
+
}));
|
|
337
|
+
return [...slots, ...knowledgeSlots];
|
|
338
|
+
}
|
|
339
|
+
catch {
|
|
340
|
+
return slots; // Non-critical failure
|
|
341
|
+
}
|
|
342
|
+
}
|
|
343
|
+
/**
|
|
344
|
+
* Inject learning feedback into context slots.
|
|
345
|
+
* Adds a single "learning_feedback" slot containing all feedback strings.
|
|
346
|
+
*/
|
|
347
|
+
injectLearningFeedback(slots, feedback) {
|
|
348
|
+
if (feedback.length === 0) {
|
|
349
|
+
return slots;
|
|
350
|
+
}
|
|
351
|
+
const maxPriority = slots.reduce((max, s) => Math.max(max, s.priority), 0);
|
|
352
|
+
const feedbackSlot = ContextSlotSchema.parse({
|
|
353
|
+
label: "learning_feedback",
|
|
354
|
+
content: feedback.join("\n---\n"),
|
|
355
|
+
token_estimate: feedback.join("\n---\n").length / 4,
|
|
356
|
+
priority: maxPriority + 1,
|
|
357
|
+
});
|
|
358
|
+
return [...slots, feedbackSlot];
|
|
359
|
+
}
|
|
360
|
+
// ─── Dynamic Budget Filtering ───
|
|
361
|
+
/**
|
|
362
|
+
* Filters context slots to fit within a token budget.
|
|
363
|
+
*
|
|
364
|
+
* Slots are sorted by priority (ascending = higher priority first).
|
|
365
|
+
* Slots are accumulated until the budget is exceeded; any slot that
|
|
366
|
+
* would push the total over budget is dropped along with all subsequent slots.
|
|
367
|
+
*
|
|
368
|
+
* The returned array preserves the original slot order.
|
|
369
|
+
*/
|
|
370
|
+
filterSlotsByBudget(slots, budget) {
|
|
371
|
+
// Sort by priority ascending (lower number = higher priority)
|
|
372
|
+
const sorted = [...slots].sort((a, b) => a.priority - b.priority);
|
|
373
|
+
let accumulated = 0;
|
|
374
|
+
const kept = [];
|
|
375
|
+
for (const slot of sorted) {
|
|
376
|
+
const estimate = slot.token_estimate > 0
|
|
377
|
+
? slot.token_estimate
|
|
378
|
+
: Math.ceil(slot.content.length / 4);
|
|
379
|
+
if (accumulated + estimate <= budget) {
|
|
380
|
+
accumulated += estimate;
|
|
381
|
+
kept.push(slot);
|
|
382
|
+
}
|
|
383
|
+
// Once budget exceeded, drop this slot and all lower-priority slots
|
|
384
|
+
}
|
|
385
|
+
// Restore original insertion order
|
|
386
|
+
const keptSet = new Set(kept);
|
|
387
|
+
return slots.filter((s) => keptSet.has(s));
|
|
388
|
+
}
|
|
389
|
+
// ─── Resource Conflict Awareness ───
|
|
390
|
+
/**
|
|
391
|
+
* Reads resource_conflict edges from the dependency graph for goalId.
|
|
392
|
+
* Returns list of conflicting goals and their shared resources (affected_dimensions).
|
|
393
|
+
*/
|
|
394
|
+
checkResourceConflicts(goalId) {
|
|
395
|
+
if (!this.dependencyGraph)
|
|
396
|
+
return [];
|
|
397
|
+
const conflictEdges = this.dependencyGraph.getResourceConflicts(goalId);
|
|
398
|
+
return conflictEdges.map((edge) => ({
|
|
399
|
+
conflictingGoalId: edge.from_goal_id === goalId ? edge.to_goal_id : edge.from_goal_id,
|
|
400
|
+
sharedResources: edge.affected_dimensions,
|
|
401
|
+
}));
|
|
402
|
+
}
|
|
403
|
+
/**
|
|
404
|
+
* Builds context slots for a given goalId/sessionType, then if a dependency graph
|
|
405
|
+
* is available, inserts a conflict-awareness slot (priority 4.5) describing
|
|
406
|
+
* active resource conflicts and instructing the session to avoid concurrent
|
|
407
|
+
* operations on shared resources.
|
|
408
|
+
*
|
|
409
|
+
* The conflict-awareness slot sits between constraints (p4) and previous session
|
|
410
|
+
* results (p5).
|
|
411
|
+
*/
|
|
412
|
+
buildContextWithConflictAwareness(goalId, sessionType, options) {
|
|
413
|
+
const slots = this.buildContextForType(sessionType, goalId, options?.taskId ?? null);
|
|
414
|
+
const conflicts = this.checkResourceConflicts(goalId);
|
|
415
|
+
if (conflicts.length > 0) {
|
|
416
|
+
const conflictLines = conflicts.map((c) => {
|
|
417
|
+
const resources = c.sharedResources.length > 0
|
|
418
|
+
? c.sharedResources.join(", ")
|
|
419
|
+
: "(unspecified resources)";
|
|
420
|
+
return `- Conflicting goal: ${c.conflictingGoalId} | Shared resources: ${resources}`;
|
|
421
|
+
});
|
|
422
|
+
const conflictContent = [
|
|
423
|
+
"RESOURCE CONFLICT AWARENESS:",
|
|
424
|
+
"The following goals are competing for shared resources with this goal.",
|
|
425
|
+
"Avoid concurrent operations on these shared resources.",
|
|
426
|
+
"",
|
|
427
|
+
...conflictLines,
|
|
428
|
+
].join("\n");
|
|
429
|
+
const conflictSlot = {
|
|
430
|
+
priority: 4.5,
|
|
431
|
+
label: "resource_conflict_awareness",
|
|
432
|
+
content: conflictContent,
|
|
433
|
+
token_estimate: this.estimateTokens(conflictContent),
|
|
434
|
+
};
|
|
435
|
+
const withConflict = [...slots, conflictSlot];
|
|
436
|
+
if (options?.tokenBudget !== undefined) {
|
|
437
|
+
return this.filterSlotsByBudget(withConflict, options.tokenBudget);
|
|
438
|
+
}
|
|
439
|
+
return withConflict;
|
|
440
|
+
}
|
|
441
|
+
if (options?.tokenBudget !== undefined) {
|
|
442
|
+
return this.filterSlotsByBudget(slots, options.tokenBudget);
|
|
443
|
+
}
|
|
444
|
+
return slots;
|
|
445
|
+
}
|
|
446
|
+
// ─── Checkpoint Delegation ───
|
|
447
|
+
async saveCheckpoint(params) {
|
|
448
|
+
if (!this.checkpointManager)
|
|
449
|
+
return null;
|
|
450
|
+
return this.checkpointManager.saveCheckpoint(params);
|
|
451
|
+
}
|
|
452
|
+
async loadCheckpoint(goalId, currentAgentId, taskId) {
|
|
453
|
+
if (!this.checkpointManager)
|
|
454
|
+
return null;
|
|
455
|
+
return this.checkpointManager.loadAndAdaptCheckpoint(goalId, currentAgentId, taskId);
|
|
456
|
+
}
|
|
457
|
+
async gcCheckpoints(goalId, maxAgeDays) {
|
|
458
|
+
if (!this.checkpointManager)
|
|
459
|
+
return 0;
|
|
460
|
+
return this.checkpointManager.garbageCollect(goalId, maxAgeDays);
|
|
461
|
+
}
|
|
462
|
+
// ─── Private Helpers ───
|
|
463
|
+
buildContextForType(sessionType, goalId, taskId, tokenBudget) {
|
|
464
|
+
let slots;
|
|
465
|
+
switch (sessionType) {
|
|
466
|
+
case "task_execution":
|
|
467
|
+
slots = this.buildTaskExecutionContext(goalId, taskId ?? "");
|
|
468
|
+
break;
|
|
469
|
+
case "observation":
|
|
470
|
+
slots = this.buildObservationContext(goalId, []);
|
|
471
|
+
break;
|
|
472
|
+
case "task_review":
|
|
473
|
+
slots = this.buildTaskReviewContext(goalId, taskId ?? "");
|
|
474
|
+
break;
|
|
475
|
+
case "goal_review":
|
|
476
|
+
slots = this.buildGoalReviewContext(goalId);
|
|
477
|
+
break;
|
|
478
|
+
}
|
|
479
|
+
if (tokenBudget !== undefined) {
|
|
480
|
+
return this.filterSlotsByBudget(slots, tokenBudget);
|
|
481
|
+
}
|
|
482
|
+
return slots;
|
|
483
|
+
}
|
|
484
|
+
async persistSession(session) {
|
|
485
|
+
await this.stateManager.writeRaw(`sessions/${session.id}.json`, session);
|
|
486
|
+
await this.updateSessionIndex(session.id);
|
|
487
|
+
}
|
|
488
|
+
/** Loads the session index (list of all session IDs). */
|
|
489
|
+
async loadSessionIndex() {
|
|
490
|
+
const raw = await this.stateManager.readRaw("sessions/index.json");
|
|
491
|
+
if (raw === null)
|
|
492
|
+
return [];
|
|
493
|
+
if (!Array.isArray(raw))
|
|
494
|
+
return [];
|
|
495
|
+
return raw.filter((item) => typeof item === "string");
|
|
496
|
+
}
|
|
497
|
+
/** Adds a session ID to the index if not already present. */
|
|
498
|
+
async updateSessionIndex(sessionId) {
|
|
499
|
+
const index = await this.loadSessionIndex();
|
|
500
|
+
if (!index.includes(sessionId)) {
|
|
501
|
+
index.push(sessionId);
|
|
502
|
+
await this.stateManager.writeRaw("sessions/index.json", index);
|
|
503
|
+
}
|
|
504
|
+
}
|
|
505
|
+
}
|
|
506
|
+
//# sourceMappingURL=session-manager.js.map
|