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,64 @@
|
|
|
1
|
+
import * as path from "node:path";
|
|
2
|
+
import { z } from "zod";
|
|
3
|
+
import { LessonEntrySchema } from "../types/memory-lifecycle.js";
|
|
4
|
+
import { readJsonFileAsync } from "./memory-persistence.js";
|
|
5
|
+
// ─── Lesson query ───
|
|
6
|
+
export async function queryLessons(memoryDir, tags, dimensions, maxCount) {
|
|
7
|
+
const results = [];
|
|
8
|
+
const seen = new Set();
|
|
9
|
+
// Query by-dimension lessons
|
|
10
|
+
for (const dim of dimensions) {
|
|
11
|
+
const byDimPath = path.join(memoryDir, "long-term", "lessons", "by-dimension", `${dim}.json`);
|
|
12
|
+
const lessons = (await readJsonFileAsync(byDimPath, z.array(LessonEntrySchema))) ?? [];
|
|
13
|
+
for (const l of lessons) {
|
|
14
|
+
if (!seen.has(l.lesson_id) &&
|
|
15
|
+
l.status === "active" &&
|
|
16
|
+
results.length < maxCount) {
|
|
17
|
+
results.push(l);
|
|
18
|
+
seen.add(l.lesson_id);
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
// Query global lessons matching tags
|
|
23
|
+
if (results.length < maxCount && tags.length > 0) {
|
|
24
|
+
const globalPath = path.join(memoryDir, "long-term", "lessons", "global.json");
|
|
25
|
+
const globalLessons = (await readJsonFileAsync(globalPath, z.array(LessonEntrySchema))) ?? [];
|
|
26
|
+
const matching = globalLessons.filter((l) => !seen.has(l.lesson_id) &&
|
|
27
|
+
l.status === "active" &&
|
|
28
|
+
tags.some((t) => l.relevance_tags.includes(t)));
|
|
29
|
+
// Sort by extracted_at descending (most recent first)
|
|
30
|
+
matching.sort((a, b) => new Date(b.extracted_at).getTime() -
|
|
31
|
+
new Date(a.extracted_at).getTime());
|
|
32
|
+
for (const l of matching) {
|
|
33
|
+
if (results.length >= maxCount)
|
|
34
|
+
break;
|
|
35
|
+
results.push(l);
|
|
36
|
+
seen.add(l.lesson_id);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
return results;
|
|
40
|
+
}
|
|
41
|
+
export async function queryCrossGoalLessons(memoryDir, tags, dimensions, excludeGoalId, maxCount) {
|
|
42
|
+
const results = [];
|
|
43
|
+
const seen = new Set();
|
|
44
|
+
// Query global lessons (which include all goals)
|
|
45
|
+
const globalPath = path.join(memoryDir, "long-term", "lessons", "global.json");
|
|
46
|
+
const globalLessons = (await readJsonFileAsync(globalPath, z.array(LessonEntrySchema))) ?? [];
|
|
47
|
+
// Filter to lessons from other goals that match tags or dimensions
|
|
48
|
+
const crossGoalLessons = globalLessons.filter((l) => l.goal_id !== excludeGoalId &&
|
|
49
|
+
l.status === "active" &&
|
|
50
|
+
(tags.some((t) => l.relevance_tags.includes(t)) ||
|
|
51
|
+
dimensions.some((d) => l.relevance_tags.includes(d))));
|
|
52
|
+
// Sort by recency
|
|
53
|
+
crossGoalLessons.sort((a, b) => new Date(b.extracted_at).getTime() - new Date(a.extracted_at).getTime());
|
|
54
|
+
for (const l of crossGoalLessons) {
|
|
55
|
+
if (results.length >= maxCount)
|
|
56
|
+
break;
|
|
57
|
+
if (!seen.has(l.lesson_id)) {
|
|
58
|
+
results.push(l);
|
|
59
|
+
seen.add(l.lesson_id);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
return results;
|
|
63
|
+
}
|
|
64
|
+
//# sourceMappingURL=memory-query.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"memory-query.js","sourceRoot":"","sources":["../../src/knowledge/memory-query.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import type { VectorIndex } from "./vector-index.js";
|
|
2
|
+
import type { ShortTermEntry, LessonEntry } from "../types/memory-lifecycle.js";
|
|
3
|
+
import type { IDriveScorer } from "./drive-score-adapter.js";
|
|
4
|
+
export interface MemorySelectionDeps {
|
|
5
|
+
memoryDir: string;
|
|
6
|
+
vectorIndex?: VectorIndex;
|
|
7
|
+
driveScorer?: IDriveScorer;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Compute a relevance score for a short-term entry given a context.
|
|
11
|
+
*
|
|
12
|
+
* Score = tag_match_ratio * drive_weight * freshness_factor * (0.7 + 0.3 * importance_factor)
|
|
13
|
+
* - tag_match_ratio = matching tags / total unique tags (0 if no tags)
|
|
14
|
+
* - drive_weight = DriveScorer dissatisfaction score for first matching
|
|
15
|
+
* dimension (1.0 if no DriveScorer or no dimensions)
|
|
16
|
+
* - freshness_factor = Math.exp(-daysSinceCreation / 30)
|
|
17
|
+
* - importance_factor = Math.log2(1 + accessCount) / Math.log2(11)
|
|
18
|
+
* (0 accesses → 0, 10 accesses → 1.0; undefined → multiplier=1.0 for backward compat)
|
|
19
|
+
*/
|
|
20
|
+
export declare function relevanceScore(deps: Pick<MemorySelectionDeps, "driveScorer">, entry: ShortTermEntry, context: {
|
|
21
|
+
goalId: string;
|
|
22
|
+
dimensions: string[];
|
|
23
|
+
tags: string[];
|
|
24
|
+
}, accessCount?: number): number;
|
|
25
|
+
/**
|
|
26
|
+
* Select relevant entries for working memory.
|
|
27
|
+
* Phase 1: tag exact-match + recency sort.
|
|
28
|
+
* Phase 2 (5.2b): semantic search fallback via VectorIndex if tag results are insufficient.
|
|
29
|
+
* Phase 2 (5.2c): includes cross-goal lessons (up to 25% of budget).
|
|
30
|
+
*
|
|
31
|
+
* Tier-aware mode (optional): when activeGoalIds / completedGoalIds are provided,
|
|
32
|
+
* classify entries into tiers and guarantee core-tier entries are included first.
|
|
33
|
+
*/
|
|
34
|
+
export declare function selectForWorkingMemory(deps: MemorySelectionDeps, goalId: string, dimensions: string[], tags: string[], maxEntries?: number, activeGoalIds?: string[], completedGoalIds?: string[], satisfiedDimensions?: string[], highDissatisfactionDimensions?: string[], maxDissatisfaction?: number, useLLMClassification?: boolean, llmClient?: {
|
|
35
|
+
generateStructured: (...args: any[]) => Promise<any>;
|
|
36
|
+
}): Promise<{
|
|
37
|
+
shortTerm: ShortTermEntry[];
|
|
38
|
+
lessons: LessonEntry[];
|
|
39
|
+
}>;
|
|
40
|
+
/**
|
|
41
|
+
* Search long-term lessons across ALL goals using semantic search.
|
|
42
|
+
* Falls back to tag-based global search if VectorIndex is unavailable.
|
|
43
|
+
*
|
|
44
|
+
* @param query - natural language search query
|
|
45
|
+
* @param topK - maximum number of lessons to return (default 5)
|
|
46
|
+
*/
|
|
47
|
+
export declare function searchCrossGoalLessons(deps: Pick<MemorySelectionDeps, "memoryDir" | "vectorIndex">, query: string, topK?: number): Promise<LessonEntry[]>;
|
|
48
|
+
/**
|
|
49
|
+
* Semantic variant of selectForWorkingMemory.
|
|
50
|
+
* Uses VectorIndex.search() to find semantically relevant entries.
|
|
51
|
+
* Applies deadline bonus to relevance scores.
|
|
52
|
+
* Falls back to existing sync method if no vectorIndex available.
|
|
53
|
+
*/
|
|
54
|
+
export declare function selectForWorkingMemorySemantic(deps: MemorySelectionDeps, goalId: string, query: string, dimensions: string[], tags: string[], maxEntries?: number, driveScores?: Array<{
|
|
55
|
+
dimension: string;
|
|
56
|
+
dissatisfaction: number;
|
|
57
|
+
deadline: number;
|
|
58
|
+
}>): Promise<{
|
|
59
|
+
shortTerm: ShortTermEntry[];
|
|
60
|
+
lessons: LessonEntry[];
|
|
61
|
+
}>;
|
|
62
|
+
/**
|
|
63
|
+
* Dissatisfaction drive: delay compression up to 2x for high-dissatisfaction dimensions.
|
|
64
|
+
* For each dimension, if dissatisfaction > 0.7, delay_factor = 1 + dissatisfaction (max 2.0).
|
|
65
|
+
* Returns map of dimension -> delay_factor.
|
|
66
|
+
*/
|
|
67
|
+
export declare function getCompressionDelay(driveScores: Array<{
|
|
68
|
+
dimension: string;
|
|
69
|
+
dissatisfaction: number;
|
|
70
|
+
}>): Map<string, number>;
|
|
71
|
+
/**
|
|
72
|
+
* Deadline drive: boost Working Memory priority up to 30%.
|
|
73
|
+
* For each dimension, bonus = min(deadline * 0.3, 0.3).
|
|
74
|
+
* Returns map of dimension -> bonus_factor.
|
|
75
|
+
*/
|
|
76
|
+
export declare function getDeadlineBonus(driveScores: Array<{
|
|
77
|
+
dimension: string;
|
|
78
|
+
deadline: number;
|
|
79
|
+
}>): Map<string, number>;
|
|
80
|
+
//# sourceMappingURL=memory-selection.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"memory-selection.d.ts","sourceRoot":"","sources":["../../src/knowledge/memory-selection.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAIrD,OAAO,KAAK,EACV,cAAc,EACd,WAAW,EACZ,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAc7D,MAAM,WAAW,mBAAmB;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,WAAW,CAAC,EAAE,YAAY,CAAC;CAC5B;AAID;;;;;;;;;;GAUG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,IAAI,CAAC,mBAAmB,EAAE,aAAa,CAAC,EAC9C,KAAK,EAAE,cAAc,EACrB,OAAO,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,EAAE,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAA;CAAE,EACjE,WAAW,CAAC,EAAE,MAAM,GACnB,MAAM,CAmCR;AAID;;;;;;;;GAQG;AACH,wBAAsB,sBAAsB,CAC1C,IAAI,EAAE,mBAAmB,EACzB,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAAE,EACpB,IAAI,EAAE,MAAM,EAAE,EACd,UAAU,GAAE,MAAW,EACvB,aAAa,CAAC,EAAE,MAAM,EAAE,EACxB,gBAAgB,CAAC,EAAE,MAAM,EAAE,EAC3B,mBAAmB,CAAC,EAAE,MAAM,EAAE,EAC9B,6BAA6B,CAAC,EAAE,MAAM,EAAE,EACxC,kBAAkB,CAAC,EAAE,MAAM,EAC3B,oBAAoB,CAAC,EAAE,OAAO,EAC9B,SAAS,CAAC,EAAE;IAAE,kBAAkB,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC,GAAG,CAAC,CAAA;CAAE,GACnE,OAAO,CAAC;IAAE,SAAS,EAAE,cAAc,EAAE,CAAC;IAAC,OAAO,EAAE,WAAW,EAAE,CAAA;CAAE,CAAC,CA0MlE;AAuBD;;;;;;GAMG;AACH,wBAAsB,sBAAsB,CAC1C,IAAI,EAAE,IAAI,CAAC,mBAAmB,EAAE,WAAW,GAAG,aAAa,CAAC,EAC5D,KAAK,EAAE,MAAM,EACb,IAAI,SAAI,GACP,OAAO,CAAC,WAAW,EAAE,CAAC,CAsExB;AAID;;;;;GAKG;AACH,wBAAsB,8BAA8B,CAClD,IAAI,EAAE,mBAAmB,EACzB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,MAAM,EAAE,EACpB,IAAI,EAAE,MAAM,EAAE,EACd,UAAU,GAAE,MAAW,EACvB,WAAW,CAAC,EAAE,KAAK,CAAC;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,eAAe,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,GACpF,OAAO,CAAC;IAAE,SAAS,EAAE,cAAc,EAAE,CAAC;IAAC,OAAO,EAAE,WAAW,EAAE,CAAA;CAAE,CAAC,CA4ElE;AAID;;;;GAIG;AACH,wBAAgB,mBAAmB,CACjC,WAAW,EAAE,KAAK,CAAC;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,eAAe,EAAE,MAAM,CAAA;CAAE,CAAC,GACjE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAWrB;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,WAAW,EAAE,KAAK,CAAC;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,GAC1D,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAMrB"}
|
|
@@ -0,0 +1,356 @@
|
|
|
1
|
+
import * as path from "node:path";
|
|
2
|
+
import { z } from "zod";
|
|
3
|
+
import { ShortTermEntrySchema, } from "../types/memory-lifecycle.js";
|
|
4
|
+
import { readJsonFileAsync, } from "./memory-persistence.js";
|
|
5
|
+
import { loadIndex, queryLessons, queryCrossGoalLessons, touchIndexEntry, } from "./memory-phases.js";
|
|
6
|
+
import { classifyTier, sortByTier, computeDynamicBudget, llmClassifyTier } from "./memory-tier.js";
|
|
7
|
+
// ─── relevanceScore ───
|
|
8
|
+
/**
|
|
9
|
+
* Compute a relevance score for a short-term entry given a context.
|
|
10
|
+
*
|
|
11
|
+
* Score = tag_match_ratio * drive_weight * freshness_factor * (0.7 + 0.3 * importance_factor)
|
|
12
|
+
* - tag_match_ratio = matching tags / total unique tags (0 if no tags)
|
|
13
|
+
* - drive_weight = DriveScorer dissatisfaction score for first matching
|
|
14
|
+
* dimension (1.0 if no DriveScorer or no dimensions)
|
|
15
|
+
* - freshness_factor = Math.exp(-daysSinceCreation / 30)
|
|
16
|
+
* - importance_factor = Math.log2(1 + accessCount) / Math.log2(11)
|
|
17
|
+
* (0 accesses → 0, 10 accesses → 1.0; undefined → multiplier=1.0 for backward compat)
|
|
18
|
+
*/
|
|
19
|
+
export function relevanceScore(deps, entry, context, accessCount) {
|
|
20
|
+
// 1. Tag match ratio
|
|
21
|
+
const allTags = new Set([...entry.tags, ...context.tags]);
|
|
22
|
+
const matchingTags = entry.tags.filter((t) => context.tags.includes(t)).length;
|
|
23
|
+
const tagMatchRatio = allTags.size > 0 ? matchingTags / allTags.size : 0;
|
|
24
|
+
// 2. Drive weight
|
|
25
|
+
let driveWeight = 1.0;
|
|
26
|
+
if (deps.driveScorer) {
|
|
27
|
+
// Use the first dimension that matches entry dimensions or context dimensions
|
|
28
|
+
const relevantDimensions = entry.dimensions.length > 0
|
|
29
|
+
? entry.dimensions
|
|
30
|
+
: context.dimensions;
|
|
31
|
+
if (relevantDimensions.length > 0) {
|
|
32
|
+
const dim = relevantDimensions[0];
|
|
33
|
+
driveWeight = deps.driveScorer.getDissatisfactionScore(dim);
|
|
34
|
+
// Clamp to [0.1, 2]: floor at 0.1 so satisfied dimensions don't zero out tag-perfect matches
|
|
35
|
+
driveWeight = Math.max(0.1, driveWeight);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
// 3. Freshness factor (exponential decay over 30 days)
|
|
39
|
+
const createdAt = new Date(entry.timestamp).getTime();
|
|
40
|
+
const daysSinceCreation = (Date.now() - createdAt) / (1000 * 60 * 60 * 24);
|
|
41
|
+
const freshnessFactor = Math.exp(-daysSinceCreation / 30);
|
|
42
|
+
// 4. Importance factor based on access_count (proxy for usage importance)
|
|
43
|
+
// 0 accesses → 0, 10 accesses → 1.0; undefined → multiplier = 1.0 (backward compat)
|
|
44
|
+
// When accessCount is provided: multiplier = 0.7 + 0.3 * importanceFactor
|
|
45
|
+
// When accessCount is undefined: multiplier = 1.0 (preserves old formula exactly)
|
|
46
|
+
const importanceMultiplier = accessCount === undefined
|
|
47
|
+
? 1.0
|
|
48
|
+
: 0.7 + 0.3 * (Math.log2(1 + accessCount) / Math.log2(11));
|
|
49
|
+
return tagMatchRatio * driveWeight * freshnessFactor * importanceMultiplier;
|
|
50
|
+
}
|
|
51
|
+
// ─── selectForWorkingMemory ───
|
|
52
|
+
/**
|
|
53
|
+
* Select relevant entries for working memory.
|
|
54
|
+
* Phase 1: tag exact-match + recency sort.
|
|
55
|
+
* Phase 2 (5.2b): semantic search fallback via VectorIndex if tag results are insufficient.
|
|
56
|
+
* Phase 2 (5.2c): includes cross-goal lessons (up to 25% of budget).
|
|
57
|
+
*
|
|
58
|
+
* Tier-aware mode (optional): when activeGoalIds / completedGoalIds are provided,
|
|
59
|
+
* classify entries into tiers and guarantee core-tier entries are included first.
|
|
60
|
+
*/
|
|
61
|
+
export async function selectForWorkingMemory(deps, goalId, dimensions, tags, maxEntries = 10, activeGoalIds, completedGoalIds, satisfiedDimensions, highDissatisfactionDimensions, maxDissatisfaction, useLLMClassification, llmClient) {
|
|
62
|
+
// 1. Tag-based query: short-term entries for this goal matching dimensions/tags
|
|
63
|
+
const stIndex = await loadIndex(deps.memoryDir, "short-term");
|
|
64
|
+
let matchingIndexEntries = stIndex.entries.filter((ie) => ie.goal_id === goalId &&
|
|
65
|
+
(dimensions.some((d) => ie.dimensions.includes(d)) ||
|
|
66
|
+
tags.some((t) => ie.tags.includes(t))));
|
|
67
|
+
// Sort by composite score (recency + importance + relevance) descending
|
|
68
|
+
// before tier re-ordering. Entries without driveScorer fall back to freshness * importance.
|
|
69
|
+
const context = { goalId, dimensions, tags };
|
|
70
|
+
matchingIndexEntries.sort((a, b) => {
|
|
71
|
+
// Build a minimal ShortTermEntry-like object from the index entry for scoring
|
|
72
|
+
const entryA = { tags: a.tags, dimensions: a.dimensions, timestamp: a.last_accessed };
|
|
73
|
+
const entryB = { tags: b.tags, dimensions: b.dimensions, timestamp: b.last_accessed };
|
|
74
|
+
return (relevanceScore(deps, entryB, context, b.access_count) -
|
|
75
|
+
relevanceScore(deps, entryA, context, a.access_count));
|
|
76
|
+
});
|
|
77
|
+
// Tier-aware mode: classify, update memory_tier, then sort by tier
|
|
78
|
+
if (activeGoalIds !== undefined) {
|
|
79
|
+
const resolvedCompleted = completedGoalIds ?? [];
|
|
80
|
+
for (const ie of matchingIndexEntries) {
|
|
81
|
+
ie.memory_tier = classifyTier(ie, activeGoalIds, resolvedCompleted, satisfiedDimensions, highDissatisfactionDimensions);
|
|
82
|
+
}
|
|
83
|
+
// Sub-stage 2.5: LLM classification override (after rule-based)
|
|
84
|
+
if (useLLMClassification && llmClient) {
|
|
85
|
+
const llmTiers = await llmClassifyTier(matchingIndexEntries, { goalId, dimensions, gap: maxDissatisfaction }, llmClient);
|
|
86
|
+
for (const ie of matchingIndexEntries) {
|
|
87
|
+
const llmTier = llmTiers.get(ie.entry_id);
|
|
88
|
+
if (llmTier !== undefined) {
|
|
89
|
+
ie.memory_tier = llmTier;
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
matchingIndexEntries = sortByTier(matchingIndexEntries);
|
|
94
|
+
}
|
|
95
|
+
// Sub-stage 2.3: dynamic budget determines core guarantee ratio
|
|
96
|
+
// Budget filtering is applied to the loaded entries (not index), so small sets still work
|
|
97
|
+
const dynamicBudget = activeGoalIds !== undefined
|
|
98
|
+
? computeDynamicBudget(maxDissatisfaction ?? 0)
|
|
99
|
+
: { core: 1.0, recall: 0.0, archival: 0.0 };
|
|
100
|
+
const coreGuarantee = activeGoalIds !== undefined
|
|
101
|
+
? Math.ceil(maxEntries * dynamicBudget.core)
|
|
102
|
+
: maxEntries;
|
|
103
|
+
const shortTermEntries = [];
|
|
104
|
+
const seenEntryIds = new Set();
|
|
105
|
+
// Pass 1: fill core-guaranteed slots
|
|
106
|
+
if (activeGoalIds !== undefined) {
|
|
107
|
+
const coreEntries = matchingIndexEntries.filter((ie) => ie.memory_tier === "core");
|
|
108
|
+
for (const idxEntry of coreEntries) {
|
|
109
|
+
if (shortTermEntries.length >= coreGuarantee)
|
|
110
|
+
break;
|
|
111
|
+
if (seenEntryIds.has(idxEntry.entry_id))
|
|
112
|
+
continue;
|
|
113
|
+
const found = await loadShortTermEntry(deps, idxEntry);
|
|
114
|
+
if (found) {
|
|
115
|
+
shortTermEntries.push(found);
|
|
116
|
+
seenEntryIds.add(idxEntry.entry_id);
|
|
117
|
+
void touchIndexEntry(deps.memoryDir, "short-term", idxEntry.id);
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
// Pass 2: fill remaining budget (recall first, then archival if space)
|
|
122
|
+
const recallCandidates = activeGoalIds !== undefined
|
|
123
|
+
? matchingIndexEntries.filter((ie) => ie.memory_tier === "recall")
|
|
124
|
+
: matchingIndexEntries;
|
|
125
|
+
for (const idxEntry of recallCandidates) {
|
|
126
|
+
if (shortTermEntries.length >= maxEntries)
|
|
127
|
+
break;
|
|
128
|
+
if (seenEntryIds.has(idxEntry.entry_id))
|
|
129
|
+
continue;
|
|
130
|
+
const found = await loadShortTermEntry(deps, idxEntry);
|
|
131
|
+
if (found) {
|
|
132
|
+
shortTermEntries.push(found);
|
|
133
|
+
seenEntryIds.add(idxEntry.entry_id);
|
|
134
|
+
void touchIndexEntry(deps.memoryDir, "short-term", idxEntry.id);
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
// Pass 2b: archival entries — use semantic search if VectorIndex available
|
|
138
|
+
if (activeGoalIds !== undefined && shortTermEntries.length < maxEntries) {
|
|
139
|
+
const archivalCandidates = matchingIndexEntries.filter((ie) => ie.memory_tier === "archival" && !seenEntryIds.has(ie.entry_id));
|
|
140
|
+
if (archivalCandidates.length > 0) {
|
|
141
|
+
let orderedArchival = archivalCandidates;
|
|
142
|
+
if (deps.vectorIndex) {
|
|
143
|
+
// Derive query from dimensions and tags for semantic ranking
|
|
144
|
+
const query = [...dimensions, ...tags].join(" ");
|
|
145
|
+
const archivalLimit = maxEntries - shortTermEntries.length;
|
|
146
|
+
try {
|
|
147
|
+
const metaResults = await deps.vectorIndex.searchMetadata(query, archivalLimit * 2);
|
|
148
|
+
const metaIds = new Set(metaResults.map((r) => r.id));
|
|
149
|
+
// Put semantically matched entries first, then remaining by recency
|
|
150
|
+
const semantic = archivalCandidates.filter((ie) => metaIds.has(ie.entry_id));
|
|
151
|
+
const rest = archivalCandidates.filter((ie) => !metaIds.has(ie.entry_id));
|
|
152
|
+
orderedArchival = [...semantic, ...rest];
|
|
153
|
+
}
|
|
154
|
+
catch {
|
|
155
|
+
// Graceful fallback to existing order on error
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
for (const idxEntry of orderedArchival) {
|
|
159
|
+
if (shortTermEntries.length >= maxEntries)
|
|
160
|
+
break;
|
|
161
|
+
if (seenEntryIds.has(idxEntry.entry_id))
|
|
162
|
+
continue;
|
|
163
|
+
const found = await loadShortTermEntry(deps, idxEntry);
|
|
164
|
+
if (found) {
|
|
165
|
+
shortTermEntries.push(found);
|
|
166
|
+
seenEntryIds.add(idxEntry.entry_id);
|
|
167
|
+
void touchIndexEntry(deps.memoryDir, "short-term", idxEntry.id);
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
else if (activeGoalIds === undefined) {
|
|
173
|
+
// Non-tier-aware: already handled by recallCandidates = matchingIndexEntries above
|
|
174
|
+
}
|
|
175
|
+
// Phase 2 (5.2b): If results are fewer than needed and VectorIndex available, do sync lookup
|
|
176
|
+
// Note: selectForWorkingMemorySemantic (async) handles full semantic search.
|
|
177
|
+
// Here we merge from the index directly.
|
|
178
|
+
if (shortTermEntries.length < maxEntries && deps.vectorIndex) {
|
|
179
|
+
// Pull all goal entries from the short-term index (not yet in result set) as semantic candidates
|
|
180
|
+
const remaining = stIndex.entries.filter((ie) => ie.goal_id === goalId && !seenEntryIds.has(ie.entry_id));
|
|
181
|
+
// Sort by access count + recency as a proxy
|
|
182
|
+
remaining.sort((a, b) => b.access_count - a.access_count ||
|
|
183
|
+
new Date(b.last_accessed).getTime() - new Date(a.last_accessed).getTime());
|
|
184
|
+
for (const idxEntry of remaining) {
|
|
185
|
+
if (shortTermEntries.length >= maxEntries)
|
|
186
|
+
break;
|
|
187
|
+
if (seenEntryIds.has(idxEntry.entry_id))
|
|
188
|
+
continue;
|
|
189
|
+
const found = await loadShortTermEntry(deps, idxEntry);
|
|
190
|
+
if (found) {
|
|
191
|
+
shortTermEntries.push(found);
|
|
192
|
+
seenEntryIds.add(idxEntry.entry_id);
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
// Re-sort by relevanceScore if driveScorer is available
|
|
196
|
+
if (deps.driveScorer) {
|
|
197
|
+
shortTermEntries.sort((a, b) => relevanceScore(deps, b, { goalId, dimensions, tags }) -
|
|
198
|
+
relevanceScore(deps, a, { goalId, dimensions, tags }));
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
// 2. Query long-term lessons matching tags (cross-goal OK for lessons)
|
|
202
|
+
const goalLessons = await queryLessons(deps.memoryDir, tags, dimensions, Math.ceil(maxEntries * 0.75));
|
|
203
|
+
// Phase 2 (5.2c): Include cross-goal lessons (up to 25% of budget)
|
|
204
|
+
const crossGoalBudget = Math.max(1, Math.floor(maxEntries * 0.25));
|
|
205
|
+
const crossGoalLessonList = await queryCrossGoalLessons(deps.memoryDir, tags, dimensions, goalId, crossGoalBudget);
|
|
206
|
+
// Deduplicate cross-goal lessons against goal lessons
|
|
207
|
+
const seenLessonIds = new Set(goalLessons.map((l) => l.lesson_id));
|
|
208
|
+
const dedupedCrossGoal = crossGoalLessonList.filter((l) => !seenLessonIds.has(l.lesson_id));
|
|
209
|
+
const lessons = [...goalLessons, ...dedupedCrossGoal];
|
|
210
|
+
return { shortTerm: shortTermEntries, lessons };
|
|
211
|
+
}
|
|
212
|
+
// ─── Internal helper ───
|
|
213
|
+
async function loadShortTermEntry(deps, idxEntry) {
|
|
214
|
+
const dataFilePath = path.join(deps.memoryDir, "short-term", idxEntry.data_file);
|
|
215
|
+
const allEntries = (await readJsonFileAsync(dataFilePath, z.array(ShortTermEntrySchema))) ?? [];
|
|
216
|
+
return allEntries.find((e) => e.id === idxEntry.entry_id);
|
|
217
|
+
}
|
|
218
|
+
// ─── searchCrossGoalLessons ───
|
|
219
|
+
/**
|
|
220
|
+
* Search long-term lessons across ALL goals using semantic search.
|
|
221
|
+
* Falls back to tag-based global search if VectorIndex is unavailable.
|
|
222
|
+
*
|
|
223
|
+
* @param query - natural language search query
|
|
224
|
+
* @param topK - maximum number of lessons to return (default 5)
|
|
225
|
+
*/
|
|
226
|
+
export async function searchCrossGoalLessons(deps, query, topK = 5) {
|
|
227
|
+
const { LessonEntrySchema } = await import("../types/memory-lifecycle.js");
|
|
228
|
+
if (deps.vectorIndex) {
|
|
229
|
+
// Semantic search in vector index
|
|
230
|
+
const results = await deps.vectorIndex.search(query, topK * 2, 0.0);
|
|
231
|
+
// Filter to lesson entries (metadata.is_lesson === true)
|
|
232
|
+
const lessonResults = results.filter((r) => r.metadata.is_lesson === true);
|
|
233
|
+
// Load actual lessons from global file
|
|
234
|
+
const globalPath = path.join(deps.memoryDir, "long-term", "lessons", "global.json");
|
|
235
|
+
const globalLessons = (await readJsonFileAsync(globalPath, z.array(LessonEntrySchema))) ?? [];
|
|
236
|
+
const lessonMap = new Map(globalLessons.map((l) => [l.lesson_id, l]));
|
|
237
|
+
const matched = [];
|
|
238
|
+
for (const r of lessonResults) {
|
|
239
|
+
const lesson = lessonMap.get(r.id);
|
|
240
|
+
if (lesson && lesson.status === "active") {
|
|
241
|
+
matched.push(lesson);
|
|
242
|
+
if (matched.length >= topK)
|
|
243
|
+
break;
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
// If we got enough results from semantic search, return them
|
|
247
|
+
if (matched.length > 0) {
|
|
248
|
+
return matched;
|
|
249
|
+
}
|
|
250
|
+
}
|
|
251
|
+
// Fallback: tag-based global search
|
|
252
|
+
const { LessonEntrySchema: LessonSchema } = await import("../types/memory-lifecycle.js");
|
|
253
|
+
const globalPath = path.join(deps.memoryDir, "long-term", "lessons", "global.json");
|
|
254
|
+
const globalLessons = (await readJsonFileAsync(globalPath, z.array(LessonSchema))) ?? [];
|
|
255
|
+
// Simple text match on lesson content
|
|
256
|
+
const queryLower = query.toLowerCase();
|
|
257
|
+
const matching = globalLessons.filter((l) => l.status === "active" &&
|
|
258
|
+
(l.lesson.toLowerCase().includes(queryLower) ||
|
|
259
|
+
l.context.toLowerCase().includes(queryLower) ||
|
|
260
|
+
l.relevance_tags.some((t) => t.toLowerCase().includes(queryLower))));
|
|
261
|
+
// Sort by recency
|
|
262
|
+
matching.sort((a, b) => new Date(b.extracted_at).getTime() - new Date(a.extracted_at).getTime());
|
|
263
|
+
return matching.slice(0, topK);
|
|
264
|
+
}
|
|
265
|
+
// ─── selectForWorkingMemorySemantic ───
|
|
266
|
+
/**
|
|
267
|
+
* Semantic variant of selectForWorkingMemory.
|
|
268
|
+
* Uses VectorIndex.search() to find semantically relevant entries.
|
|
269
|
+
* Applies deadline bonus to relevance scores.
|
|
270
|
+
* Falls back to existing sync method if no vectorIndex available.
|
|
271
|
+
*/
|
|
272
|
+
export async function selectForWorkingMemorySemantic(deps, goalId, query, dimensions, tags, maxEntries = 10, driveScores) {
|
|
273
|
+
// Fall back to sync method if no vectorIndex
|
|
274
|
+
if (!deps.vectorIndex) {
|
|
275
|
+
return selectForWorkingMemory(deps, goalId, dimensions, tags, maxEntries);
|
|
276
|
+
}
|
|
277
|
+
// Compute deadline bonuses per dimension
|
|
278
|
+
const deadlineBonus = driveScores
|
|
279
|
+
? getDeadlineBonus(driveScores.map((d) => ({ dimension: d.dimension, deadline: d.deadline })))
|
|
280
|
+
: new Map();
|
|
281
|
+
const maxBonus = deadlineBonus.size > 0
|
|
282
|
+
? Math.max(...Array.from(deadlineBonus.values()))
|
|
283
|
+
: 0;
|
|
284
|
+
// Search vector index for semantically similar entries
|
|
285
|
+
const searchResults = await deps.vectorIndex.search(query, maxEntries * 2, 0.0);
|
|
286
|
+
// Filter to this goal's entries
|
|
287
|
+
const goalResults = searchResults.filter((r) => r.metadata.goal_id === goalId);
|
|
288
|
+
// Load short-term index for recency data
|
|
289
|
+
const stIndex = await loadIndex(deps.memoryDir, "short-term");
|
|
290
|
+
const indexEntryMap = new Map(stIndex.entries.map((ie) => [ie.entry_id, ie]));
|
|
291
|
+
// Score entries by combining semantic score + recency + deadline bonus
|
|
292
|
+
const now = Date.now();
|
|
293
|
+
const scoredEntries = [];
|
|
294
|
+
const seenEntryIds = new Set();
|
|
295
|
+
for (const result of goalResults) {
|
|
296
|
+
if (seenEntryIds.has(result.id))
|
|
297
|
+
continue;
|
|
298
|
+
const idxEntry = indexEntryMap.get(result.id);
|
|
299
|
+
if (!idxEntry)
|
|
300
|
+
continue;
|
|
301
|
+
// Compute recency score: normalize last_accessed relative to now
|
|
302
|
+
const ageMs = now - new Date(idxEntry.last_accessed).getTime();
|
|
303
|
+
const ageHours = ageMs / (1000 * 60 * 60);
|
|
304
|
+
const recencyScore = Math.max(0, 1 - ageHours / (24 * 7)); // decay over 1 week
|
|
305
|
+
const combinedScore = result.similarity + recencyScore * 0.3 + maxBonus;
|
|
306
|
+
// Load the actual entry from disk
|
|
307
|
+
const dataFilePath = path.join(deps.memoryDir, "short-term", idxEntry.data_file);
|
|
308
|
+
const allEntries = (await readJsonFileAsync(dataFilePath, z.array(ShortTermEntrySchema))) ?? [];
|
|
309
|
+
const found = allEntries.find((e) => e.id === idxEntry.entry_id);
|
|
310
|
+
if (found) {
|
|
311
|
+
scoredEntries.push({ entry: found, combinedScore });
|
|
312
|
+
seenEntryIds.add(result.id);
|
|
313
|
+
touchIndexEntry(deps.memoryDir, "short-term", idxEntry.id);
|
|
314
|
+
}
|
|
315
|
+
}
|
|
316
|
+
// Sort by combined score descending and take top maxEntries
|
|
317
|
+
scoredEntries.sort((a, b) => b.combinedScore - a.combinedScore);
|
|
318
|
+
const shortTermEntries = scoredEntries
|
|
319
|
+
.slice(0, maxEntries)
|
|
320
|
+
.map((s) => s.entry);
|
|
321
|
+
// Still use tag/dimension-based lesson query for long-term
|
|
322
|
+
const lessons = await queryLessons(deps.memoryDir, tags, dimensions, maxEntries);
|
|
323
|
+
return { shortTerm: shortTermEntries, lessons };
|
|
324
|
+
}
|
|
325
|
+
// ─── Drive helpers (used by selection + compression) ───
|
|
326
|
+
/**
|
|
327
|
+
* Dissatisfaction drive: delay compression up to 2x for high-dissatisfaction dimensions.
|
|
328
|
+
* For each dimension, if dissatisfaction > 0.7, delay_factor = 1 + dissatisfaction (max 2.0).
|
|
329
|
+
* Returns map of dimension -> delay_factor.
|
|
330
|
+
*/
|
|
331
|
+
export function getCompressionDelay(driveScores) {
|
|
332
|
+
const result = new Map();
|
|
333
|
+
for (const { dimension, dissatisfaction } of driveScores) {
|
|
334
|
+
if (dissatisfaction > 0.7) {
|
|
335
|
+
const delayFactor = Math.min(2.0, 1 + dissatisfaction);
|
|
336
|
+
result.set(dimension, delayFactor);
|
|
337
|
+
}
|
|
338
|
+
else {
|
|
339
|
+
result.set(dimension, 1.0);
|
|
340
|
+
}
|
|
341
|
+
}
|
|
342
|
+
return result;
|
|
343
|
+
}
|
|
344
|
+
/**
|
|
345
|
+
* Deadline drive: boost Working Memory priority up to 30%.
|
|
346
|
+
* For each dimension, bonus = min(deadline * 0.3, 0.3).
|
|
347
|
+
* Returns map of dimension -> bonus_factor.
|
|
348
|
+
*/
|
|
349
|
+
export function getDeadlineBonus(driveScores) {
|
|
350
|
+
const result = new Map();
|
|
351
|
+
for (const { dimension, deadline } of driveScores) {
|
|
352
|
+
result.set(dimension, Math.min(deadline * 0.3, 0.3));
|
|
353
|
+
}
|
|
354
|
+
return result;
|
|
355
|
+
}
|
|
356
|
+
//# sourceMappingURL=memory-selection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"memory-selection.js","sourceRoot":"","sources":["../../src/knowledge/memory-selection.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { ShortTermEntry, StatisticalSummary } from "../types/memory-lifecycle.js";
|
|
2
|
+
export declare function updateStatistics(memoryDir: string, goalId: string, entries: ShortTermEntry[]): Promise<void>;
|
|
3
|
+
export declare function mergeTaskStats(existing: StatisticalSummary["task_stats"], incoming: StatisticalSummary["task_stats"]): StatisticalSummary["task_stats"];
|
|
4
|
+
export declare function mergeDimStats(existing: StatisticalSummary["dimension_stats"], incoming: StatisticalSummary["dimension_stats"]): StatisticalSummary["dimension_stats"];
|
|
5
|
+
export declare function computeTrend(values: number[]): "rising" | "falling" | "stable";
|
|
6
|
+
export declare function computePeriod(entries: ShortTermEntry[]): string;
|
|
7
|
+
//# sourceMappingURL=memory-stats.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"memory-stats.d.ts","sourceRoot":"","sources":["../../src/knowledge/memory-stats.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,cAAc,EACd,kBAAkB,EACnB,MAAM,8BAA8B,CAAC;AAKtC,wBAAsB,gBAAgB,CACpC,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,cAAc,EAAE,GACxB,OAAO,CAAC,IAAI,CAAC,CAkJf;AAED,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,kBAAkB,CAAC,YAAY,CAAC,EAC1C,QAAQ,EAAE,kBAAkB,CAAC,YAAY,CAAC,GACzC,kBAAkB,CAAC,YAAY,CAAC,CAuBlC;AAED,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,kBAAkB,CAAC,iBAAiB,CAAC,EAC/C,QAAQ,EAAE,kBAAkB,CAAC,iBAAiB,CAAC,GAC9C,kBAAkB,CAAC,iBAAiB,CAAC,CAMvC;AAED,wBAAgB,YAAY,CAC1B,MAAM,EAAE,MAAM,EAAE,GACf,QAAQ,GAAG,SAAS,GAAG,QAAQ,CAWjC;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,cAAc,EAAE,GAAG,MAAM,CAM/D"}
|