cognitive-core 0.1.0 → 0.1.2
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/.claude/settings.json +88 -0
- package/.claude/settings.local.json +11 -0
- package/.entire/settings.json +4 -0
- package/README.md +524 -254
- package/dist/atlas.d.ts +144 -6
- package/dist/atlas.d.ts.map +1 -1
- package/dist/atlas.js +339 -10
- package/dist/atlas.js.map +1 -1
- package/dist/embeddings/provider.d.ts.map +1 -1
- package/dist/embeddings/provider.js +6 -3
- package/dist/embeddings/provider.js.map +1 -1
- package/dist/index.d.ts +8 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +37 -6
- package/dist/index.js.map +1 -1
- package/dist/learning/index.d.ts +5 -1
- package/dist/learning/index.d.ts.map +1 -1
- package/dist/learning/index.js +8 -2
- package/dist/learning/index.js.map +1 -1
- package/dist/learning/knowledge-extractor.d.ts +56 -0
- package/dist/learning/knowledge-extractor.d.ts.map +1 -0
- package/dist/learning/knowledge-extractor.js +336 -0
- package/dist/learning/knowledge-extractor.js.map +1 -0
- package/dist/learning/meta-learner.d.ts +7 -0
- package/dist/learning/meta-learner.d.ts.map +1 -1
- package/dist/learning/meta-learner.js +43 -0
- package/dist/learning/meta-learner.js.map +1 -1
- package/dist/learning/pipeline.d.ts +24 -0
- package/dist/learning/pipeline.d.ts.map +1 -1
- package/dist/learning/pipeline.js +70 -4
- package/dist/learning/pipeline.js.map +1 -1
- package/dist/learning/team-ingester.d.ts +152 -0
- package/dist/learning/team-ingester.d.ts.map +1 -0
- package/dist/learning/team-ingester.js +333 -0
- package/dist/learning/team-ingester.js.map +1 -0
- package/dist/learning/team-meta-learner.d.ts +50 -0
- package/dist/learning/team-meta-learner.d.ts.map +1 -0
- package/dist/learning/team-meta-learner.js +417 -0
- package/dist/learning/team-meta-learner.js.map +1 -0
- package/dist/learning/team-pipeline.d.ts +76 -0
- package/dist/learning/team-pipeline.d.ts.map +1 -0
- package/dist/learning/team-pipeline.js +266 -0
- package/dist/learning/team-pipeline.js.map +1 -0
- package/dist/learning/trajectory-sources/dataclaw.d.ts +41 -0
- package/dist/learning/trajectory-sources/dataclaw.d.ts.map +1 -0
- package/dist/learning/trajectory-sources/dataclaw.js +330 -0
- package/dist/learning/trajectory-sources/dataclaw.js.map +1 -0
- package/dist/learning/trajectory-sources/entire.d.ts +28 -0
- package/dist/learning/trajectory-sources/entire.d.ts.map +1 -0
- package/dist/learning/trajectory-sources/entire.js +182 -0
- package/dist/learning/trajectory-sources/entire.js.map +1 -0
- package/dist/learning/trajectory-sources/file.d.ts +23 -0
- package/dist/learning/trajectory-sources/file.d.ts.map +1 -0
- package/dist/learning/trajectory-sources/file.js +101 -0
- package/dist/learning/trajectory-sources/file.js.map +1 -0
- package/dist/learning/trajectory-sources/huggingface.d.ts +36 -0
- package/dist/learning/trajectory-sources/huggingface.d.ts.map +1 -0
- package/dist/learning/trajectory-sources/huggingface.js +157 -0
- package/dist/learning/trajectory-sources/huggingface.js.map +1 -0
- package/dist/learning/trajectory-sources/in-memory.d.ts +21 -0
- package/dist/learning/trajectory-sources/in-memory.d.ts.map +1 -0
- package/dist/learning/trajectory-sources/in-memory.js +43 -0
- package/dist/learning/trajectory-sources/in-memory.js.map +1 -0
- package/dist/learning/trajectory-sources/index.d.ts +7 -0
- package/dist/learning/trajectory-sources/index.d.ts.map +1 -0
- package/dist/learning/trajectory-sources/index.js +7 -0
- package/dist/learning/trajectory-sources/index.js.map +1 -0
- package/dist/learning/trajectory-sources/pipeline.d.ts +24 -0
- package/dist/learning/trajectory-sources/pipeline.d.ts.map +1 -0
- package/dist/learning/trajectory-sources/pipeline.js +47 -0
- package/dist/learning/trajectory-sources/pipeline.js.map +1 -0
- package/dist/memory/graph-layers/base.d.ts +29 -0
- package/dist/memory/graph-layers/base.d.ts.map +1 -0
- package/dist/memory/graph-layers/base.js +143 -0
- package/dist/memory/graph-layers/base.js.map +1 -0
- package/dist/memory/graph-layers/causal.d.ts +14 -0
- package/dist/memory/graph-layers/causal.d.ts.map +1 -0
- package/dist/memory/graph-layers/causal.js +14 -0
- package/dist/memory/graph-layers/causal.js.map +1 -0
- package/dist/memory/graph-layers/entity.d.ts +14 -0
- package/dist/memory/graph-layers/entity.d.ts.map +1 -0
- package/dist/memory/graph-layers/entity.js +14 -0
- package/dist/memory/graph-layers/entity.js.map +1 -0
- package/dist/memory/graph-layers/index.d.ts +6 -0
- package/dist/memory/graph-layers/index.d.ts.map +1 -0
- package/dist/memory/graph-layers/index.js +6 -0
- package/dist/memory/graph-layers/index.js.map +1 -0
- package/dist/memory/graph-layers/semantic.d.ts +14 -0
- package/dist/memory/graph-layers/semantic.d.ts.map +1 -0
- package/dist/memory/graph-layers/semantic.js +14 -0
- package/dist/memory/graph-layers/semantic.js.map +1 -0
- package/dist/memory/graph-layers/temporal.d.ts +14 -0
- package/dist/memory/graph-layers/temporal.d.ts.map +1 -0
- package/dist/memory/graph-layers/temporal.js +14 -0
- package/dist/memory/graph-layers/temporal.js.map +1 -0
- package/dist/memory/index.d.ts +8 -0
- package/dist/memory/index.d.ts.map +1 -1
- package/dist/memory/index.js +10 -0
- package/dist/memory/index.js.map +1 -1
- package/dist/memory/knowledge-bank.d.ts +220 -0
- package/dist/memory/knowledge-bank.d.ts.map +1 -0
- package/dist/memory/knowledge-bank.js +1003 -0
- package/dist/memory/knowledge-bank.js.map +1 -0
- package/dist/memory/knowledge-defrag.d.ts +49 -0
- package/dist/memory/knowledge-defrag.d.ts.map +1 -0
- package/dist/memory/knowledge-defrag.js +257 -0
- package/dist/memory/knowledge-defrag.js.map +1 -0
- package/dist/memory/knowledge-graph.d.ts +41 -0
- package/dist/memory/knowledge-graph.d.ts.map +1 -0
- package/dist/memory/knowledge-graph.js +273 -0
- package/dist/memory/knowledge-graph.js.map +1 -0
- package/dist/memory/search-provider.d.ts +31 -0
- package/dist/memory/search-provider.d.ts.map +1 -0
- package/dist/memory/search-provider.js +2 -0
- package/dist/memory/search-provider.js.map +1 -0
- package/dist/memory/search-providers/index.d.ts +3 -0
- package/dist/memory/search-providers/index.d.ts.map +1 -0
- package/dist/memory/search-providers/index.js +3 -0
- package/dist/memory/search-providers/index.js.map +1 -0
- package/dist/memory/search-providers/minimem.d.ts +43 -0
- package/dist/memory/search-providers/minimem.d.ts.map +1 -0
- package/dist/memory/search-providers/minimem.js +56 -0
- package/dist/memory/search-providers/minimem.js.map +1 -0
- package/dist/memory/search-providers/text-similarity.d.ts +15 -0
- package/dist/memory/search-providers/text-similarity.d.ts.map +1 -0
- package/dist/memory/search-providers/text-similarity.js +21 -0
- package/dist/memory/search-providers/text-similarity.js.map +1 -0
- package/dist/memory/skill-exporter.d.ts +75 -0
- package/dist/memory/skill-exporter.d.ts.map +1 -0
- package/dist/memory/skill-exporter.js +248 -0
- package/dist/memory/skill-exporter.js.map +1 -0
- package/dist/memory/system.d.ts +15 -3
- package/dist/memory/system.d.ts.map +1 -1
- package/dist/memory/system.js +46 -8
- package/dist/memory/system.js.map +1 -1
- package/dist/memory/team-experience.d.ts +298 -0
- package/dist/memory/team-experience.d.ts.map +1 -0
- package/dist/memory/team-experience.js +355 -0
- package/dist/memory/team-experience.js.map +1 -0
- package/dist/runtime/backends/acp-protocol.d.ts +49 -0
- package/dist/runtime/backends/acp-protocol.d.ts.map +1 -0
- package/dist/runtime/backends/acp-protocol.js +166 -0
- package/dist/runtime/backends/acp-protocol.js.map +1 -0
- package/dist/runtime/backends/acp.d.ts +26 -26
- package/dist/runtime/backends/acp.d.ts.map +1 -1
- package/dist/runtime/backends/acp.js +32 -156
- package/dist/runtime/backends/acp.js.map +1 -1
- package/dist/runtime/backends/index.d.ts +3 -1
- package/dist/runtime/backends/index.d.ts.map +1 -1
- package/dist/runtime/backends/index.js +3 -1
- package/dist/runtime/backends/index.js.map +1 -1
- package/dist/runtime/backends/macro-agent.d.ts +104 -0
- package/dist/runtime/backends/macro-agent.d.ts.map +1 -0
- package/dist/runtime/backends/macro-agent.js +107 -0
- package/dist/runtime/backends/macro-agent.js.map +1 -0
- package/dist/runtime/compute-provider.d.ts +87 -0
- package/dist/runtime/compute-provider.d.ts.map +1 -0
- package/dist/runtime/compute-provider.js +87 -0
- package/dist/runtime/compute-provider.js.map +1 -0
- package/dist/runtime/index.d.ts +3 -2
- package/dist/runtime/index.d.ts.map +1 -1
- package/dist/runtime/index.js +3 -1
- package/dist/runtime/index.js.map +1 -1
- package/dist/runtime/manager.d.ts +37 -4
- package/dist/runtime/manager.d.ts.map +1 -1
- package/dist/runtime/manager.js +139 -20
- package/dist/runtime/manager.js.map +1 -1
- package/dist/runtime/types.d.ts +38 -0
- package/dist/runtime/types.d.ts.map +1 -1
- package/dist/search/evaluator.d.ts +7 -0
- package/dist/search/evaluator.d.ts.map +1 -1
- package/dist/search/evaluator.js +24 -4
- package/dist/search/evaluator.js.map +1 -1
- package/dist/search/index.d.ts +1 -0
- package/dist/search/index.d.ts.map +1 -1
- package/dist/search/index.js +2 -0
- package/dist/search/index.js.map +1 -1
- package/dist/search/refinement-loop.d.ts +17 -0
- package/dist/search/refinement-loop.d.ts.map +1 -1
- package/dist/search/refinement-loop.js +77 -6
- package/dist/search/refinement-loop.js.map +1 -1
- package/dist/search/refinement-types.d.ts +2 -2
- package/dist/search/team-router.d.ts +91 -0
- package/dist/search/team-router.d.ts.map +1 -0
- package/dist/search/team-router.js +315 -0
- package/dist/search/team-router.js.map +1 -0
- package/dist/session-bank/git-reader.d.ts +39 -0
- package/dist/session-bank/git-reader.d.ts.map +1 -0
- package/dist/session-bank/git-reader.js +165 -0
- package/dist/session-bank/git-reader.js.map +1 -0
- package/dist/session-bank/index.d.ts +5 -0
- package/dist/session-bank/index.d.ts.map +1 -0
- package/dist/session-bank/index.js +4 -0
- package/dist/session-bank/index.js.map +1 -0
- package/dist/session-bank/parser.d.ts +39 -0
- package/dist/session-bank/parser.d.ts.map +1 -0
- package/dist/session-bank/parser.js +231 -0
- package/dist/session-bank/parser.js.map +1 -0
- package/dist/session-bank/session-bank.d.ts +35 -0
- package/dist/session-bank/session-bank.d.ts.map +1 -0
- package/dist/session-bank/session-bank.js +326 -0
- package/dist/session-bank/session-bank.js.map +1 -0
- package/dist/session-bank/types.d.ts +129 -0
- package/dist/session-bank/types.d.ts.map +1 -0
- package/dist/session-bank/types.js +7 -0
- package/dist/session-bank/types.js.map +1 -0
- package/dist/surfacing/index.d.ts +4 -0
- package/dist/surfacing/index.d.ts.map +1 -1
- package/dist/surfacing/index.js +3 -0
- package/dist/surfacing/index.js.map +1 -1
- package/dist/surfacing/publisher.d.ts +22 -0
- package/dist/surfacing/publisher.d.ts.map +1 -0
- package/dist/surfacing/publisher.js +9 -0
- package/dist/surfacing/publisher.js.map +1 -0
- package/dist/surfacing/skill-library.d.ts +12 -0
- package/dist/surfacing/skill-library.d.ts.map +1 -1
- package/dist/surfacing/skill-library.js +26 -0
- package/dist/surfacing/skill-library.js.map +1 -1
- package/dist/surfacing/skill-publisher.d.ts +43 -0
- package/dist/surfacing/skill-publisher.d.ts.map +1 -0
- package/dist/surfacing/skill-publisher.js +197 -0
- package/dist/surfacing/skill-publisher.js.map +1 -0
- package/dist/surfacing/sqlite-storage-adapter.d.ts +42 -0
- package/dist/surfacing/sqlite-storage-adapter.d.ts.map +1 -0
- package/dist/surfacing/sqlite-storage-adapter.js +207 -0
- package/dist/surfacing/sqlite-storage-adapter.js.map +1 -0
- package/dist/surfacing/team-skill-library.d.ts +180 -0
- package/dist/surfacing/team-skill-library.d.ts.map +1 -0
- package/dist/surfacing/team-skill-library.js +384 -0
- package/dist/surfacing/team-skill-library.js.map +1 -0
- package/dist/types/config.d.ts +1218 -44
- package/dist/types/config.d.ts.map +1 -1
- package/dist/types/config.js +216 -0
- package/dist/types/config.js.map +1 -1
- package/dist/types/dataclaw.d.ts +286 -0
- package/dist/types/dataclaw.d.ts.map +1 -0
- package/dist/types/dataclaw.js +84 -0
- package/dist/types/dataclaw.js.map +1 -0
- package/dist/types/index.d.ts +8 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +13 -1
- package/dist/types/index.js.map +1 -1
- package/dist/types/knowledge-graph.d.ts +148 -0
- package/dist/types/knowledge-graph.d.ts.map +1 -0
- package/dist/types/knowledge-graph.js +40 -0
- package/dist/types/knowledge-graph.js.map +1 -0
- package/dist/types/knowledge.d.ts +280 -0
- package/dist/types/knowledge.d.ts.map +1 -0
- package/dist/types/knowledge.js +191 -0
- package/dist/types/knowledge.js.map +1 -0
- package/dist/types/team-meta.d.ts +160 -0
- package/dist/types/team-meta.d.ts.map +1 -0
- package/dist/types/team-meta.js +42 -0
- package/dist/types/team-meta.js.map +1 -0
- package/dist/types/team-playbook.d.ts +276 -0
- package/dist/types/team-playbook.d.ts.map +1 -0
- package/dist/types/team-playbook.js +85 -0
- package/dist/types/team-playbook.js.map +1 -0
- package/dist/types/team-trajectory.d.ts +305 -0
- package/dist/types/team-trajectory.d.ts.map +1 -0
- package/dist/types/team-trajectory.js +304 -0
- package/dist/types/team-trajectory.js.map +1 -0
- package/dist/types/trajectory-source.d.ts +39 -0
- package/dist/types/trajectory-source.d.ts.map +1 -0
- package/dist/types/trajectory-source.js +2 -0
- package/dist/types/trajectory-source.js.map +1 -0
- package/dist/utils/frontmatter.d.ts +34 -0
- package/dist/utils/frontmatter.d.ts.map +1 -0
- package/dist/utils/frontmatter.js +93 -0
- package/dist/utils/frontmatter.js.map +1 -0
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +1 -0
- package/dist/utils/index.js.map +1 -1
- package/dist/workspace/index.d.ts +6 -0
- package/dist/workspace/index.d.ts.map +1 -0
- package/dist/workspace/index.js +11 -0
- package/dist/workspace/index.js.map +1 -0
- package/dist/workspace/runner.d.ts +50 -0
- package/dist/workspace/runner.d.ts.map +1 -0
- package/dist/workspace/runner.js +219 -0
- package/dist/workspace/runner.js.map +1 -0
- package/dist/workspace/skill-converter.d.ts +18 -0
- package/dist/workspace/skill-converter.d.ts.map +1 -0
- package/dist/workspace/skill-converter.js +257 -0
- package/dist/workspace/skill-converter.js.map +1 -0
- package/dist/workspace/templates/index.d.ts +11 -0
- package/dist/workspace/templates/index.d.ts.map +1 -0
- package/dist/workspace/templates/index.js +21 -0
- package/dist/workspace/templates/index.js.map +1 -0
- package/dist/workspace/templates/knowledge-defrag.d.ts +25 -0
- package/dist/workspace/templates/knowledge-defrag.d.ts.map +1 -0
- package/dist/workspace/templates/knowledge-defrag.js +154 -0
- package/dist/workspace/templates/knowledge-defrag.js.map +1 -0
- package/dist/workspace/templates/knowledge-extraction.d.ts +25 -0
- package/dist/workspace/templates/knowledge-extraction.d.ts.map +1 -0
- package/dist/workspace/templates/knowledge-extraction.js +246 -0
- package/dist/workspace/templates/knowledge-extraction.js.map +1 -0
- package/dist/workspace/templates/meta-reflection.d.ts +47 -0
- package/dist/workspace/templates/meta-reflection.d.ts.map +1 -0
- package/dist/workspace/templates/meta-reflection.js +135 -0
- package/dist/workspace/templates/meta-reflection.js.map +1 -0
- package/dist/workspace/templates/playbook-extraction.d.ts +20 -0
- package/dist/workspace/templates/playbook-extraction.d.ts.map +1 -0
- package/dist/workspace/templates/playbook-extraction.js +189 -0
- package/dist/workspace/templates/playbook-extraction.js.map +1 -0
- package/dist/workspace/templates/refinement-analysis.d.ts +31 -0
- package/dist/workspace/templates/refinement-analysis.d.ts.map +1 -0
- package/dist/workspace/templates/refinement-analysis.js +107 -0
- package/dist/workspace/templates/refinement-analysis.js.map +1 -0
- package/dist/workspace/templates/solution-evaluation.d.ts +21 -0
- package/dist/workspace/templates/solution-evaluation.d.ts.map +1 -0
- package/dist/workspace/templates/solution-evaluation.js +131 -0
- package/dist/workspace/templates/solution-evaluation.js.map +1 -0
- package/dist/workspace/templates/team-playbook-extraction.d.ts +44 -0
- package/dist/workspace/templates/team-playbook-extraction.d.ts.map +1 -0
- package/dist/workspace/templates/team-playbook-extraction.js +497 -0
- package/dist/workspace/templates/team-playbook-extraction.js.map +1 -0
- package/dist/workspace/templates/team-trajectory-analysis.d.ts +19 -0
- package/dist/workspace/templates/team-trajectory-analysis.d.ts.map +1 -0
- package/dist/workspace/templates/team-trajectory-analysis.js +442 -0
- package/dist/workspace/templates/team-trajectory-analysis.js.map +1 -0
- package/dist/workspace/templates/trajectory-analysis.d.ts +19 -0
- package/dist/workspace/templates/trajectory-analysis.d.ts.map +1 -0
- package/dist/workspace/templates/trajectory-analysis.js +170 -0
- package/dist/workspace/templates/trajectory-analysis.js.map +1 -0
- package/dist/workspace/templates/usage-inference.d.ts +19 -0
- package/dist/workspace/templates/usage-inference.d.ts.map +1 -0
- package/dist/workspace/templates/usage-inference.js +125 -0
- package/dist/workspace/templates/usage-inference.js.map +1 -0
- package/dist/workspace/types.d.ts +145 -0
- package/dist/workspace/types.d.ts.map +1 -0
- package/dist/workspace/types.js +17 -0
- package/dist/workspace/types.js.map +1 -0
- package/docs/DESIGN-agentic-workspace.md +2057 -0
- package/docs/DESIGN-semantic-memory-knowledge-bank.md +1789 -0
- package/docs/DESIGN-session-bank.md +1134 -0
- package/docs/DESIGN-team-extraction-pipeline.md +1369 -0
- package/docs/DESIGN-workspace-migration.md +1079 -0
- package/docs/PLAN-agentic-workspace-implementation.md +717 -0
- package/docs/PLAN-graph-migration.md +299 -0
- package/docs/PLAN-session-bank-implementation.md +474 -0
- package/docs/PROPOSAL-team-aware-learning.md +1080 -0
- package/docs/RESEARCH-semantic-memory-knowledge-structures.md +517 -0
- package/docs/RESEARCH-team-trajectory-learning.md +553 -0
- package/gaps.md +204 -0
- package/package.json +24 -6
- package/references/agent-workspace/CLAUDE.md +74 -0
- package/references/agent-workspace/README.md +587 -0
- package/references/agent-workspace/media/banner.png +0 -0
- package/references/agent-workspace/package-lock.json +2061 -0
- package/references/agent-workspace/package.json +54 -0
- package/references/agent-workspace/src/handle.ts +122 -0
- package/references/agent-workspace/src/index.ts +32 -0
- package/references/agent-workspace/src/manager.ts +102 -0
- package/references/agent-workspace/src/readers/json.ts +71 -0
- package/references/agent-workspace/src/readers/markdown.ts +37 -0
- package/references/agent-workspace/src/readers/raw.ts +27 -0
- package/references/agent-workspace/src/types.ts +68 -0
- package/references/agent-workspace/src/validation.ts +93 -0
- package/references/agent-workspace/src/writers/json.ts +17 -0
- package/references/agent-workspace/src/writers/markdown.ts +27 -0
- package/references/agent-workspace/src/writers/raw.ts +22 -0
- package/references/agent-workspace/tests/errors.test.ts +652 -0
- package/references/agent-workspace/tests/handle.test.ts +144 -0
- package/references/agent-workspace/tests/manager.test.ts +124 -0
- package/references/agent-workspace/tests/readers.test.ts +205 -0
- package/references/agent-workspace/tests/validation.test.ts +196 -0
- package/references/agent-workspace/tests/writers.test.ts +108 -0
- package/references/agent-workspace/tsconfig.json +20 -0
- package/references/agent-workspace/tsup.config.ts +9 -0
- package/references/minimem/.claude/settings.json +7 -0
- package/references/minimem/.sudocode/issues.jsonl +18 -0
- package/references/minimem/.sudocode/specs.jsonl +1 -0
- package/references/minimem/CLAUDE.md +310 -0
- package/references/minimem/README.md +556 -0
- package/references/minimem/claude-plugin/.claude-plugin/plugin.json +10 -0
- package/references/minimem/claude-plugin/.mcp.json +7 -0
- package/references/minimem/claude-plugin/README.md +158 -0
- package/references/minimem/claude-plugin/commands/recall.md +47 -0
- package/references/minimem/claude-plugin/commands/remember.md +41 -0
- package/references/minimem/claude-plugin/hooks/__tests__/hooks.test.ts +272 -0
- package/references/minimem/claude-plugin/hooks/hooks.json +27 -0
- package/references/minimem/claude-plugin/hooks/session-end.sh +86 -0
- package/references/minimem/claude-plugin/hooks/session-start.sh +85 -0
- package/references/minimem/claude-plugin/skills/memory/SKILL.md +108 -0
- package/references/minimem/package-lock.json +5373 -0
- package/references/minimem/package.json +60 -0
- package/references/minimem/scripts/postbuild.js +35 -0
- package/references/minimem/src/__tests__/edge-cases.test.ts +371 -0
- package/references/minimem/src/__tests__/errors.test.ts +265 -0
- package/references/minimem/src/__tests__/helpers.ts +199 -0
- package/references/minimem/src/__tests__/internal.test.ts +407 -0
- package/references/minimem/src/__tests__/knowledge.test.ts +287 -0
- package/references/minimem/src/__tests__/minimem.integration.test.ts +1127 -0
- package/references/minimem/src/__tests__/session.test.ts +190 -0
- package/references/minimem/src/cli/__tests__/commands.test.ts +759 -0
- package/references/minimem/src/cli/commands/__tests__/conflicts.test.ts +141 -0
- package/references/minimem/src/cli/commands/append.ts +76 -0
- package/references/minimem/src/cli/commands/config.ts +262 -0
- package/references/minimem/src/cli/commands/conflicts.ts +413 -0
- package/references/minimem/src/cli/commands/daemon.ts +169 -0
- package/references/minimem/src/cli/commands/index.ts +12 -0
- package/references/minimem/src/cli/commands/init.ts +88 -0
- package/references/minimem/src/cli/commands/mcp.ts +177 -0
- package/references/minimem/src/cli/commands/push-pull.ts +213 -0
- package/references/minimem/src/cli/commands/search.ts +158 -0
- package/references/minimem/src/cli/commands/status.ts +84 -0
- package/references/minimem/src/cli/commands/sync-init.ts +290 -0
- package/references/minimem/src/cli/commands/sync.ts +70 -0
- package/references/minimem/src/cli/commands/upsert.ts +197 -0
- package/references/minimem/src/cli/config.ts +584 -0
- package/references/minimem/src/cli/index.ts +264 -0
- package/references/minimem/src/cli/shared.ts +161 -0
- package/references/minimem/src/cli/sync/__tests__/central.test.ts +152 -0
- package/references/minimem/src/cli/sync/__tests__/conflicts.test.ts +209 -0
- package/references/minimem/src/cli/sync/__tests__/daemon.test.ts +118 -0
- package/references/minimem/src/cli/sync/__tests__/detection.test.ts +207 -0
- package/references/minimem/src/cli/sync/__tests__/integration.test.ts +476 -0
- package/references/minimem/src/cli/sync/__tests__/registry.test.ts +363 -0
- package/references/minimem/src/cli/sync/__tests__/state.test.ts +255 -0
- package/references/minimem/src/cli/sync/__tests__/validation.test.ts +193 -0
- package/references/minimem/src/cli/sync/__tests__/watcher.test.ts +178 -0
- package/references/minimem/src/cli/sync/central.ts +292 -0
- package/references/minimem/src/cli/sync/conflicts.ts +204 -0
- package/references/minimem/src/cli/sync/daemon.ts +407 -0
- package/references/minimem/src/cli/sync/detection.ts +138 -0
- package/references/minimem/src/cli/sync/index.ts +107 -0
- package/references/minimem/src/cli/sync/operations.ts +373 -0
- package/references/minimem/src/cli/sync/registry.ts +279 -0
- package/references/minimem/src/cli/sync/state.ts +355 -0
- package/references/minimem/src/cli/sync/validation.ts +206 -0
- package/references/minimem/src/cli/sync/watcher.ts +234 -0
- package/references/minimem/src/cli/version.ts +34 -0
- package/references/minimem/src/core/index.ts +9 -0
- package/references/minimem/src/core/indexer.ts +628 -0
- package/references/minimem/src/core/searcher.ts +221 -0
- package/references/minimem/src/db/schema.ts +183 -0
- package/references/minimem/src/db/sqlite-vec.ts +24 -0
- package/references/minimem/src/embeddings/__tests__/embeddings.test.ts +431 -0
- package/references/minimem/src/embeddings/batch-gemini.ts +392 -0
- package/references/minimem/src/embeddings/batch-openai.ts +409 -0
- package/references/minimem/src/embeddings/embeddings.ts +434 -0
- package/references/minimem/src/index.ts +109 -0
- package/references/minimem/src/internal.ts +299 -0
- package/references/minimem/src/minimem.ts +1276 -0
- package/references/minimem/src/search/__tests__/hybrid.test.ts +247 -0
- package/references/minimem/src/search/graph.ts +234 -0
- package/references/minimem/src/search/hybrid.ts +151 -0
- package/references/minimem/src/search/search.ts +256 -0
- package/references/minimem/src/server/__tests__/mcp.test.ts +341 -0
- package/references/minimem/src/server/__tests__/tools.test.ts +364 -0
- package/references/minimem/src/server/mcp.ts +326 -0
- package/references/minimem/src/server/tools.ts +720 -0
- package/references/minimem/src/session.ts +460 -0
- package/references/minimem/tsconfig.json +19 -0
- package/references/minimem/tsup.config.ts +26 -0
- package/references/minimem/vitest.config.ts +24 -0
- package/references/skill-tree/.claude/settings.json +6 -0
- package/references/skill-tree/.sudocode/issues.jsonl +11 -0
- package/references/skill-tree/.sudocode/specs.jsonl +1 -0
- package/references/skill-tree/CLAUDE.md +150 -0
- package/references/skill-tree/README.md +324 -0
- package/references/skill-tree/docs/GAPS_v1.md +221 -0
- package/references/skill-tree/docs/INTEGRATION_PLAN.md +467 -0
- package/references/skill-tree/docs/TODOS.md +91 -0
- package/references/skill-tree/docs/anthropic_skill_guide.md +1364 -0
- package/references/skill-tree/docs/design/federated-skill-trees.md +524 -0
- package/references/skill-tree/docs/design/multi-agent-sync.md +759 -0
- package/references/skill-tree/docs/scraper/BRAINSTORM.md +583 -0
- package/references/skill-tree/docs/scraper/POC_PLAN.md +420 -0
- package/references/skill-tree/docs/scraper/README.md +170 -0
- package/references/skill-tree/examples/basic-usage.ts +190 -0
- package/references/skill-tree/package-lock.json +1509 -0
- package/references/skill-tree/package.json +66 -0
- package/references/skill-tree/scraper/README.md +123 -0
- package/references/skill-tree/scraper/docs/DESIGN.md +683 -0
- package/references/skill-tree/scraper/docs/PLAN.md +336 -0
- package/references/skill-tree/scraper/drizzle.config.ts +10 -0
- package/references/skill-tree/scraper/package-lock.json +6329 -0
- package/references/skill-tree/scraper/package.json +68 -0
- package/references/skill-tree/scraper/test/fixtures/invalid-skill/missing-description.md +7 -0
- package/references/skill-tree/scraper/test/fixtures/invalid-skill/missing-name.md +7 -0
- package/references/skill-tree/scraper/test/fixtures/minimal-skill/SKILL.md +27 -0
- package/references/skill-tree/scraper/test/fixtures/skill-json/SKILL.json +21 -0
- package/references/skill-tree/scraper/test/fixtures/skill-with-meta/SKILL.md +54 -0
- package/references/skill-tree/scraper/test/fixtures/skill-with-meta/_meta.json +24 -0
- package/references/skill-tree/scraper/test/fixtures/valid-skill/SKILL.md +93 -0
- package/references/skill-tree/scraper/test/fixtures/valid-skill/_meta.json +22 -0
- package/references/skill-tree/scraper/tsup.config.ts +14 -0
- package/references/skill-tree/scraper/vitest.config.ts +17 -0
- package/references/skill-tree/scripts/convert-to-vitest.ts +166 -0
- package/references/skill-tree/skills/skill-writer/SKILL.md +339 -0
- package/references/skill-tree/skills/skill-writer/references/examples.md +326 -0
- package/references/skill-tree/skills/skill-writer/references/patterns.md +210 -0
- package/references/skill-tree/skills/skill-writer/references/quality-checklist.md +123 -0
- package/references/skill-tree/test/run-all.ts +106 -0
- package/references/skill-tree/test/utils.ts +128 -0
- package/references/skill-tree/vitest.config.ts +16 -0
- package/src/atlas.ts +525 -13
- package/src/embeddings/provider.ts +10 -3
- package/src/index.ts +127 -5
- package/src/learning/index.ts +41 -6
- package/src/learning/knowledge-extractor.ts +470 -0
- package/src/learning/meta-learner.ts +54 -0
- package/src/learning/pipeline.ts +87 -8
- package/src/learning/team-ingester.ts +499 -0
- package/src/learning/team-meta-learner.ts +558 -0
- package/src/learning/team-pipeline.ts +364 -0
- package/src/learning/trajectory-sources/dataclaw.ts +403 -0
- package/src/learning/trajectory-sources/entire.ts +240 -0
- package/src/learning/trajectory-sources/file.ts +136 -0
- package/src/learning/trajectory-sources/huggingface.ts +248 -0
- package/src/learning/trajectory-sources/in-memory.ts +61 -0
- package/src/learning/trajectory-sources/index.ts +15 -0
- package/src/learning/trajectory-sources/pipeline.ts +69 -0
- package/src/memory/graph-layers/base.ts +184 -0
- package/src/memory/graph-layers/causal.ts +16 -0
- package/src/memory/graph-layers/entity.ts +16 -0
- package/src/memory/graph-layers/index.ts +5 -0
- package/src/memory/graph-layers/semantic.ts +16 -0
- package/src/memory/graph-layers/temporal.ts +16 -0
- package/src/memory/index.ts +45 -0
- package/src/memory/knowledge-bank.ts +1260 -0
- package/src/memory/knowledge-defrag.ts +329 -0
- package/src/memory/knowledge-graph.ts +361 -0
- package/src/memory/search-provider.ts +35 -0
- package/src/memory/search-providers/index.ts +3 -0
- package/src/memory/search-providers/minimem.ts +84 -0
- package/src/memory/search-providers/text-similarity.ts +35 -0
- package/src/memory/skill-exporter.ts +357 -0
- package/src/memory/system.ts +61 -8
- package/src/memory/team-experience.ts +604 -0
- package/src/runtime/backends/acp-protocol.ts +231 -0
- package/src/runtime/backends/acp.ts +57 -196
- package/src/runtime/backends/index.ts +14 -0
- package/src/runtime/backends/macro-agent.ts +177 -0
- package/src/runtime/compute-provider.ts +206 -0
- package/src/runtime/index.ts +22 -0
- package/src/runtime/manager.ts +167 -23
- package/src/runtime/types.ts +41 -0
- package/src/search/evaluator.ts +29 -4
- package/src/search/index.ts +9 -0
- package/src/search/refinement-loop.ts +106 -12
- package/src/search/team-router.ts +459 -0
- package/src/session-bank/git-reader.ts +190 -0
- package/src/session-bank/index.ts +24 -0
- package/src/session-bank/parser.ts +366 -0
- package/src/session-bank/session-bank.ts +464 -0
- package/src/session-bank/types.ts +173 -0
- package/src/surfacing/index.ts +23 -0
- package/src/surfacing/publisher.ts +23 -0
- package/src/surfacing/skill-library.ts +31 -0
- package/src/surfacing/skill-publisher.ts +223 -0
- package/src/surfacing/sqlite-storage-adapter.ts +301 -0
- package/src/surfacing/team-skill-library.ts +610 -0
- package/src/types/config.ts +252 -0
- package/src/types/dataclaw.ts +99 -0
- package/src/types/huggingface-transformers.d.ts +12 -0
- package/src/types/index.ts +156 -0
- package/src/types/knowledge-graph.ts +246 -0
- package/src/types/knowledge.ts +388 -0
- package/src/types/team-meta.ts +212 -0
- package/src/types/team-playbook.ts +384 -0
- package/src/types/team-trajectory.ts +673 -0
- package/src/types/trajectory-source.ts +47 -0
- package/src/utils/frontmatter.ts +118 -0
- package/src/utils/index.ts +7 -0
- package/src/workspace/index.ts +48 -0
- package/src/workspace/runner.ts +281 -0
- package/src/workspace/skill-converter.ts +288 -0
- package/src/workspace/templates/index.ts +64 -0
- package/src/workspace/templates/knowledge-defrag.ts +223 -0
- package/src/workspace/templates/knowledge-extraction.ts +337 -0
- package/src/workspace/templates/meta-reflection.ts +208 -0
- package/src/workspace/templates/playbook-extraction.ts +240 -0
- package/src/workspace/templates/refinement-analysis.ts +162 -0
- package/src/workspace/templates/solution-evaluation.ts +199 -0
- package/src/workspace/templates/team-playbook-extraction.ts +631 -0
- package/src/workspace/templates/team-trajectory-analysis.ts +564 -0
- package/src/workspace/templates/trajectory-analysis.ts +234 -0
- package/src/workspace/templates/usage-inference.ts +163 -0
- package/src/workspace/types.ts +233 -0
- package/tests/atlas-knowledge.test.ts +165 -0
- package/tests/gap-fixes.test.ts +1103 -0
- package/tests/integration/dataclaw-e2e.test.ts +559 -0
- package/tests/integration/e2e.test.ts +407 -0
- package/tests/integration/entire-e2e.test.ts +187 -0
- package/tests/integration/huggingface-e2e.test.ts +627 -0
- package/tests/integration/session-bank.test.ts +225 -0
- package/tests/integration/skill-tree-wiring.test.ts +152 -0
- package/tests/learning/dataclaw-trajectory-source.test.ts +642 -0
- package/tests/learning/entire-trajectory-source.test.ts +380 -0
- package/tests/learning/huggingface-trajectory-source.test.ts +817 -0
- package/tests/learning/knowledge-extractor.test.ts +491 -0
- package/tests/learning/team-ingester.test.ts +349 -0
- package/tests/learning/team-meta-learner.test.ts +618 -0
- package/tests/learning/team-pipeline.test.ts +334 -0
- package/tests/learning/trajectory-sources.test.ts +312 -0
- package/tests/memory/graph-layers/semantic.test.ts +219 -0
- package/tests/memory/knowledge-bank-extraction.test.ts +558 -0
- package/tests/memory/knowledge-bank.test.ts +705 -0
- package/tests/memory/knowledge-defrag.test.ts +366 -0
- package/tests/memory/knowledge-evolution.test.ts +563 -0
- package/tests/memory/knowledge-graph.test.ts +492 -0
- package/tests/memory/knowledge-inbox.test.ts +258 -0
- package/tests/memory/knowledge-minimem.test.ts +251 -0
- package/tests/memory/skill-exporter.test.ts +470 -0
- package/tests/memory/team-experience.test.ts +411 -0
- package/tests/runtime/agent-manager.test.ts +1 -1
- package/tests/runtime/compute-provider.test.ts +288 -0
- package/tests/runtime/delegate.test.ts +349 -0
- package/tests/runtime/macro-agent-backend.test.ts +266 -0
- package/tests/search/team-router.test.ts +376 -0
- package/tests/session-bank/fixtures/multi-tool-session/full.jsonl +12 -0
- package/tests/session-bank/fixtures/multi-tool-session/metadata.json +28 -0
- package/tests/session-bank/fixtures/root-metadata.json +18 -0
- package/tests/session-bank/fixtures/simple-session/full.jsonl +6 -0
- package/tests/session-bank/fixtures/simple-session/metadata.json +38 -0
- package/tests/session-bank/git-reader.test.ts +232 -0
- package/tests/session-bank/parser.test.ts +321 -0
- package/tests/session-bank/session-bank.test.ts +546 -0
- package/tests/surfacing/skill-publisher.test.ts +398 -0
- package/tests/surfacing/sqlite-storage-adapter.test.ts +218 -0
- package/tests/surfacing/team-skill-library.test.ts +444 -0
- package/tests/types/team-meta.test.ts +147 -0
- package/tests/types/team-playbook.test.ts +246 -0
- package/tests/types/team-trajectory.test.ts +557 -0
- package/tests/utils/frontmatter.test.ts +208 -0
- package/tests/workspace/full-flow.test.ts +839 -0
- package/tests/workspace/manager.test.ts +215 -0
- package/tests/workspace/runner.test.ts +330 -0
- package/tests/workspace/skill-converter.test.ts +205 -0
- package/tests/workspace/templates/knowledge-extraction.test.ts +235 -0
- package/tests/workspace/templates/team-playbook-extraction.test.ts +341 -0
- package/tests/workspace/templates/team-trajectory-analysis.test.ts +417 -0
- package/src/learning/llm-extractor.ts +0 -542
package/src/atlas.ts
CHANGED
|
@@ -1,21 +1,53 @@
|
|
|
1
1
|
import type {
|
|
2
2
|
Task,
|
|
3
3
|
Trajectory,
|
|
4
|
+
TeamTrajectory,
|
|
5
|
+
TeamPlaybook,
|
|
4
6
|
AtlasConfig,
|
|
5
7
|
Playbook,
|
|
6
8
|
} from './types/index.js';
|
|
9
|
+
import type { KnowledgeMatch } from './types/knowledge.js';
|
|
7
10
|
import { createDefaultConfig } from './types/index.js';
|
|
8
|
-
import { MemorySystem, createMemorySystem } from './memory/index.js';
|
|
11
|
+
import { MemorySystem, createMemorySystem, type TeamExperience } from './memory/index.js';
|
|
9
12
|
import {
|
|
10
13
|
LearningPipeline,
|
|
11
14
|
createLearningPipeline,
|
|
12
15
|
type ProcessResult,
|
|
13
16
|
type BatchResult,
|
|
14
17
|
} from './learning/index.js';
|
|
18
|
+
import {
|
|
19
|
+
TeamLearningPipeline,
|
|
20
|
+
createTeamLearningPipeline,
|
|
21
|
+
type TeamBatchResult,
|
|
22
|
+
type TeamProcessResult,
|
|
23
|
+
} from './learning/team-pipeline.js';
|
|
24
|
+
import {
|
|
25
|
+
TeamMetaLearner,
|
|
26
|
+
createTeamMetaLearner,
|
|
27
|
+
} from './learning/team-meta-learner.js';
|
|
28
|
+
import {
|
|
29
|
+
TeamRouter,
|
|
30
|
+
createTeamRouter,
|
|
31
|
+
type TeamRecommendation,
|
|
32
|
+
type TeamRecommendationInput,
|
|
33
|
+
} from './search/team-router.js';
|
|
34
|
+
import {
|
|
35
|
+
TeamSkillLibrary,
|
|
36
|
+
createTeamSkillLibrary,
|
|
37
|
+
type TeamOutcomeFeedback,
|
|
38
|
+
} from './surfacing/team-skill-library.js';
|
|
15
39
|
import {
|
|
16
40
|
PlaybookUsageInference,
|
|
17
41
|
createUsageInference,
|
|
18
42
|
} from './learning/usage-inference.js';
|
|
43
|
+
import {
|
|
44
|
+
MetaLearner,
|
|
45
|
+
createMetaLearner,
|
|
46
|
+
} from './learning/meta-learner.js';
|
|
47
|
+
import {
|
|
48
|
+
LearningEffectivenessTracker,
|
|
49
|
+
createEffectivenessTracker,
|
|
50
|
+
} from './learning/effectiveness.js';
|
|
19
51
|
import { TaskRouter, createRouter, type RoutingDecision } from './search/router.js';
|
|
20
52
|
import { DirectSolver, createSolver } from './search/solver.js';
|
|
21
53
|
import {
|
|
@@ -25,15 +57,30 @@ import {
|
|
|
25
57
|
import type { RefinementResult } from './search/refinement-types.js';
|
|
26
58
|
import type { LLMProvider } from './agents/types.js';
|
|
27
59
|
import { AgentManager, createAgentManager } from './runtime/manager.js';
|
|
28
|
-
import type { AgentBackend, AgentSpawnConfig } from './runtime/types.js';
|
|
60
|
+
import type { AgentBackend, AgentSpawnConfig, AgentDelegate } from './runtime/types.js';
|
|
29
61
|
import {
|
|
30
62
|
SkillLibrary,
|
|
31
63
|
createSkillLibrary,
|
|
32
64
|
} from './surfacing/skill-library.js';
|
|
65
|
+
import { SqliteStorageAdapter } from './surfacing/sqlite-storage-adapter.js';
|
|
66
|
+
import { join } from 'node:path';
|
|
33
67
|
import {
|
|
34
68
|
PlaybookMCPServer,
|
|
35
69
|
createPlaybookMCPServer,
|
|
36
70
|
} from './mcp/playbook-server.js';
|
|
71
|
+
import {
|
|
72
|
+
AgenticTaskRunner,
|
|
73
|
+
createAgenticTaskRunner,
|
|
74
|
+
} from './workspace/runner.js';
|
|
75
|
+
import { usageInferenceTemplate } from './workspace/templates/usage-inference.js';
|
|
76
|
+
import { metaReflectionTemplate } from './workspace/templates/meta-reflection.js';
|
|
77
|
+
import { WorkspaceManager } from 'agent-workspace';
|
|
78
|
+
|
|
79
|
+
/**
|
|
80
|
+
* Result from processing a team trajectory.
|
|
81
|
+
* Re-exports the pipeline's TeamProcessResult type.
|
|
82
|
+
*/
|
|
83
|
+
export type { TeamProcessResult } from './learning/team-pipeline.js';
|
|
37
84
|
|
|
38
85
|
/**
|
|
39
86
|
* Atlas statistics
|
|
@@ -44,9 +91,16 @@ export interface AtlasStats {
|
|
|
44
91
|
playbookCount: number;
|
|
45
92
|
metaObservationCount: number;
|
|
46
93
|
};
|
|
94
|
+
teamMemory?: {
|
|
95
|
+
teamExperienceCount: number;
|
|
96
|
+
teamPlaybookCount: number;
|
|
97
|
+
rolePlaybookCount: number;
|
|
98
|
+
teamMetaObservationCount: number;
|
|
99
|
+
};
|
|
47
100
|
learning: {
|
|
48
101
|
trajectoriesProcessed: number;
|
|
49
102
|
pendingTrajectories: number;
|
|
103
|
+
teamTrajectoriesProcessed: number;
|
|
50
104
|
};
|
|
51
105
|
execution?: {
|
|
52
106
|
agentManagerEnabled: boolean;
|
|
@@ -91,6 +145,8 @@ export interface SolveResult {
|
|
|
91
145
|
injectedPlaybooks?: Playbook[];
|
|
92
146
|
/** Playbook usage inference results */
|
|
93
147
|
playbookUsage?: PlaybookUsage[];
|
|
148
|
+
/** Knowledge notes that were surfaced for this task */
|
|
149
|
+
surfacedKnowledge?: KnowledgeMatch[];
|
|
94
150
|
}
|
|
95
151
|
|
|
96
152
|
/**
|
|
@@ -112,19 +168,36 @@ export class Atlas {
|
|
|
112
168
|
private config: AtlasConfig;
|
|
113
169
|
private provider: LLMProvider | null = null;
|
|
114
170
|
private trajectoriesProcessed = 0;
|
|
171
|
+
private teamTrajectoriesProcessed = 0;
|
|
115
172
|
|
|
116
173
|
// Playbook-based components
|
|
117
174
|
private skillLibrary: SkillLibrary | null = null;
|
|
175
|
+
private skillTreeStorage: SqliteStorageAdapter | null = null;
|
|
118
176
|
private usageInference: PlaybookUsageInference | null = null;
|
|
119
177
|
private mcpServer: PlaybookMCPServer | null = null;
|
|
120
178
|
|
|
179
|
+
// Meta-learning and effectiveness
|
|
180
|
+
private metaLearner: MetaLearner | null = null;
|
|
181
|
+
private effectivenessTracker: LearningEffectivenessTracker | null = null;
|
|
182
|
+
|
|
183
|
+
// Agentic workspace components
|
|
184
|
+
private taskRunner: AgenticTaskRunner | null = null;
|
|
185
|
+
private workspaceManager: WorkspaceManager | null = null;
|
|
186
|
+
|
|
187
|
+
// Team-aware learning, recommendation, and surfacing
|
|
188
|
+
private teamLearning: TeamLearningPipeline | null = null;
|
|
189
|
+
private teamRouter: TeamRouter | null = null;
|
|
190
|
+
private teamMetaLearner: TeamMetaLearner | null = null;
|
|
191
|
+
private teamSkillLibrary: TeamSkillLibrary | null = null;
|
|
192
|
+
|
|
121
193
|
constructor(config?: Partial<AtlasConfig>) {
|
|
122
194
|
this.config = createDefaultConfig(config);
|
|
123
195
|
|
|
124
|
-
// Initialize memory system
|
|
196
|
+
// Initialize memory system (with optional knowledge bank)
|
|
125
197
|
this.memory = createMemorySystem(
|
|
126
198
|
this.config.storage.baseDir,
|
|
127
|
-
this.config.memory
|
|
199
|
+
this.config.memory,
|
|
200
|
+
this.config.knowledgeBank.enabled ? this.config.knowledgeBank : undefined
|
|
128
201
|
);
|
|
129
202
|
|
|
130
203
|
// Initialize learning pipeline
|
|
@@ -132,6 +205,27 @@ export class Atlas {
|
|
|
132
205
|
|
|
133
206
|
// Initialize router
|
|
134
207
|
this.router = createRouter(this.memory, this.config.router);
|
|
208
|
+
|
|
209
|
+
// Initialize team learning pipeline and router if enabled
|
|
210
|
+
if (this.config.teamLearning.enabled) {
|
|
211
|
+
this.teamLearning = createTeamLearningPipeline(
|
|
212
|
+
this.memory.teamExperiences,
|
|
213
|
+
this.config.teamLearning
|
|
214
|
+
);
|
|
215
|
+
|
|
216
|
+
// Initialize team meta-learner and team router
|
|
217
|
+
this.teamMetaLearner = createTeamMetaLearner(
|
|
218
|
+
this.memory.teamExperiences
|
|
219
|
+
);
|
|
220
|
+
this.teamRouter = createTeamRouter(
|
|
221
|
+
this.memory.teamExperiences,
|
|
222
|
+
undefined,
|
|
223
|
+
this.teamMetaLearner
|
|
224
|
+
);
|
|
225
|
+
this.teamSkillLibrary = createTeamSkillLibrary(
|
|
226
|
+
this.memory.teamExperiences
|
|
227
|
+
);
|
|
228
|
+
}
|
|
135
229
|
}
|
|
136
230
|
|
|
137
231
|
/**
|
|
@@ -148,9 +242,29 @@ export class Atlas {
|
|
|
148
242
|
);
|
|
149
243
|
this.usageInference = createUsageInference();
|
|
150
244
|
|
|
245
|
+
// Wire skill-tree publisher if enabled (default: true)
|
|
246
|
+
if (this.config.skillTree.enabled) {
|
|
247
|
+
const dbPath = join(this.config.storage.baseDir, this.config.skillTree.dbPath);
|
|
248
|
+
this.skillTreeStorage = new SqliteStorageAdapter(dbPath);
|
|
249
|
+
await this.skillTreeStorage.initialize();
|
|
250
|
+
this.skillLibrary.setPublisher(this.skillTreeStorage);
|
|
251
|
+
}
|
|
252
|
+
|
|
151
253
|
// Refresh skill tiers on init
|
|
152
254
|
await this.skillLibrary.refreshTiers();
|
|
153
255
|
}
|
|
256
|
+
|
|
257
|
+
// Initialize meta-learner and connect to router
|
|
258
|
+
if (this.memory.meta) {
|
|
259
|
+
this.metaLearner = createMetaLearner(this.memory.meta);
|
|
260
|
+
this.router.setMetaLearner(this.metaLearner);
|
|
261
|
+
}
|
|
262
|
+
|
|
263
|
+
// Initialize effectiveness tracker
|
|
264
|
+
this.effectivenessTracker = createEffectivenessTracker(
|
|
265
|
+
this.config.storage.baseDir
|
|
266
|
+
);
|
|
267
|
+
await this.effectivenessTracker.init();
|
|
154
268
|
}
|
|
155
269
|
|
|
156
270
|
/**
|
|
@@ -166,15 +280,41 @@ export class Atlas {
|
|
|
166
280
|
* Set up the AgentManager with backends for real action execution
|
|
167
281
|
* This is the recommended way to configure Atlas for execution
|
|
168
282
|
*/
|
|
169
|
-
setAgentManager(
|
|
283
|
+
setAgentManager(
|
|
284
|
+
backends: AgentBackend[],
|
|
285
|
+
options?: { delegate?: AgentDelegate }
|
|
286
|
+
): void {
|
|
170
287
|
// Create AgentManager with memory system
|
|
171
|
-
this.agentManager = createAgentManager(this.memory
|
|
288
|
+
this.agentManager = createAgentManager(this.memory, {
|
|
289
|
+
delegate: options?.delegate,
|
|
290
|
+
});
|
|
172
291
|
|
|
173
292
|
// Register all backends
|
|
174
293
|
for (const backend of backends) {
|
|
175
294
|
this.agentManager.registerBackend(backend);
|
|
176
295
|
}
|
|
177
296
|
|
|
297
|
+
// Create workspace infrastructure (using agent-workspace package)
|
|
298
|
+
this.workspaceManager = new WorkspaceManager({
|
|
299
|
+
baseDir: this.config.agenticTasks.workspaceBaseDir,
|
|
300
|
+
prefix: 'atlas-workspaces',
|
|
301
|
+
});
|
|
302
|
+
this.taskRunner = createAgenticTaskRunner(
|
|
303
|
+
this.workspaceManager,
|
|
304
|
+
this.agentManager,
|
|
305
|
+
this.memory,
|
|
306
|
+
this.learning,
|
|
307
|
+
this.config.agenticTasks
|
|
308
|
+
);
|
|
309
|
+
|
|
310
|
+
// Connect task runner to learning pipeline for workspace-based analysis
|
|
311
|
+
this.learning.setTaskRunner(this.taskRunner);
|
|
312
|
+
|
|
313
|
+
// Connect task runner to team learning pipeline
|
|
314
|
+
if (this.teamLearning) {
|
|
315
|
+
this.teamLearning.setTaskRunner(this.taskRunner);
|
|
316
|
+
}
|
|
317
|
+
|
|
178
318
|
// Create refinement loop with config
|
|
179
319
|
this.refinementLoop = createRefinementLoop(
|
|
180
320
|
this.agentManager,
|
|
@@ -189,6 +329,9 @@ export class Atlas {
|
|
|
189
329
|
confidenceThreshold: this.config.refinement.confidenceThreshold,
|
|
190
330
|
}
|
|
191
331
|
);
|
|
332
|
+
|
|
333
|
+
// Connect task runner to refinement loop for workspace-based evaluation and analysis
|
|
334
|
+
this.refinementLoop.setTaskRunner(this.taskRunner);
|
|
192
335
|
}
|
|
193
336
|
|
|
194
337
|
/**
|
|
@@ -198,6 +341,24 @@ export class Atlas {
|
|
|
198
341
|
return this.agentManager;
|
|
199
342
|
}
|
|
200
343
|
|
|
344
|
+
/**
|
|
345
|
+
* Set a delegate for caller-provided agent execution.
|
|
346
|
+
* Requires AgentManager to be initialized first (via setAgentManager).
|
|
347
|
+
*/
|
|
348
|
+
setDelegate(delegate: AgentDelegate): void {
|
|
349
|
+
if (!this.agentManager) {
|
|
350
|
+
throw new Error('AgentManager not initialized. Call setAgentManager() first.');
|
|
351
|
+
}
|
|
352
|
+
this.agentManager.setDelegate(delegate);
|
|
353
|
+
}
|
|
354
|
+
|
|
355
|
+
/**
|
|
356
|
+
* Get the current delegate, if any.
|
|
357
|
+
*/
|
|
358
|
+
getDelegate(): AgentDelegate | undefined {
|
|
359
|
+
return this.agentManager?.getDelegate();
|
|
360
|
+
}
|
|
361
|
+
|
|
201
362
|
/**
|
|
202
363
|
* Get the RefinementLoop for registering domain verifiers
|
|
203
364
|
*/
|
|
@@ -205,6 +366,13 @@ export class Atlas {
|
|
|
205
366
|
return this.refinementLoop;
|
|
206
367
|
}
|
|
207
368
|
|
|
369
|
+
/**
|
|
370
|
+
* Get the AgenticTaskRunner for running analysis tasks
|
|
371
|
+
*/
|
|
372
|
+
getTaskRunner(): AgenticTaskRunner | null {
|
|
373
|
+
return this.taskRunner;
|
|
374
|
+
}
|
|
375
|
+
|
|
208
376
|
/**
|
|
209
377
|
* Check if agent execution is available
|
|
210
378
|
*/
|
|
@@ -239,11 +407,30 @@ export class Atlas {
|
|
|
239
407
|
}
|
|
240
408
|
}
|
|
241
409
|
|
|
410
|
+
// Surface knowledge from knowledge bank (independent from skill surfacing)
|
|
411
|
+
let knowledgeContext = '';
|
|
412
|
+
let surfacedKnowledge: KnowledgeMatch[] | undefined;
|
|
413
|
+
if (this.memory.knowledgeBank) {
|
|
414
|
+
surfacedKnowledge = await this.memory.knowledgeBank.getRelevantKnowledge(
|
|
415
|
+
{ description: task.description, domain: task.domain },
|
|
416
|
+
);
|
|
417
|
+
if (surfacedKnowledge.length > 0) {
|
|
418
|
+
knowledgeContext = this.memory.knowledgeBank.formatKnowledgeForPrompt(
|
|
419
|
+
surfacedKnowledge,
|
|
420
|
+
);
|
|
421
|
+
}
|
|
422
|
+
}
|
|
423
|
+
|
|
424
|
+
// Combine skill context + knowledge context
|
|
425
|
+
const combinedContext = [skillContext, knowledgeContext]
|
|
426
|
+
.filter(Boolean)
|
|
427
|
+
.join('\n\n');
|
|
428
|
+
|
|
242
429
|
let result: SolveResult;
|
|
243
430
|
|
|
244
431
|
// Prefer AgentManager if available
|
|
245
432
|
if (this.agentManager) {
|
|
246
|
-
result = await this.solveWithAgent(task, routing,
|
|
433
|
+
result = await this.solveWithAgent(task, routing, combinedContext || undefined);
|
|
247
434
|
} else if (this.solver && this.provider) {
|
|
248
435
|
// Fall back to DirectSolver (deprecated)
|
|
249
436
|
const solverResult = await this.solver.solve(task, routing);
|
|
@@ -261,12 +448,13 @@ export class Atlas {
|
|
|
261
448
|
|
|
262
449
|
// Add injected playbooks to result
|
|
263
450
|
result.injectedPlaybooks = injectedPlaybooks;
|
|
451
|
+
result.surfacedKnowledge = surfacedKnowledge;
|
|
264
452
|
|
|
265
453
|
// Infer playbook usage from trajectory
|
|
266
|
-
if (this.
|
|
267
|
-
const usageResults = await this.
|
|
454
|
+
if (this.skillLibrary && injectedPlaybooks.length > 0) {
|
|
455
|
+
const usageResults = await this.inferPlaybookUsage(
|
|
268
456
|
result.trajectory,
|
|
269
|
-
injectedPlaybooks
|
|
457
|
+
injectedPlaybooks,
|
|
270
458
|
);
|
|
271
459
|
|
|
272
460
|
// Convert to PlaybookUsage format and record outcomes
|
|
@@ -292,6 +480,29 @@ export class Atlas {
|
|
|
292
480
|
}
|
|
293
481
|
}
|
|
294
482
|
|
|
483
|
+
// Generate meta-reflection (records observation + periodically generates strategies)
|
|
484
|
+
if (this.metaLearner) {
|
|
485
|
+
await this.reflectOnExecution(result.trajectory, routing);
|
|
486
|
+
}
|
|
487
|
+
|
|
488
|
+
// Annotate trajectory for effectiveness tracking
|
|
489
|
+
if (this.effectivenessTracker) {
|
|
490
|
+
const appliedPlaybookIds = (result.playbookUsage ?? [])
|
|
491
|
+
.filter(u => u.wasUsed)
|
|
492
|
+
.map(u => u.playbookId);
|
|
493
|
+
|
|
494
|
+
const surfacedExperienceIds = routing.memoryContext.experiences.map(
|
|
495
|
+
e => e.experience.id
|
|
496
|
+
);
|
|
497
|
+
|
|
498
|
+
await this.effectivenessTracker.annotate(
|
|
499
|
+
result.trajectory,
|
|
500
|
+
routing.memoryContext.playbooks,
|
|
501
|
+
surfacedExperienceIds,
|
|
502
|
+
appliedPlaybookIds,
|
|
503
|
+
);
|
|
504
|
+
}
|
|
505
|
+
|
|
295
506
|
// Process the trajectory for learning
|
|
296
507
|
await this.learning.processTrajectory(result.trajectory);
|
|
297
508
|
this.trajectoriesProcessed++;
|
|
@@ -385,6 +596,170 @@ export class Atlas {
|
|
|
385
596
|
return result;
|
|
386
597
|
}
|
|
387
598
|
|
|
599
|
+
/**
|
|
600
|
+
* Process a team trajectory through the full team learning pipeline.
|
|
601
|
+
* Ingests, analyzes (heuristic or agentic), stores, and accumulates
|
|
602
|
+
* for batch team playbook extraction.
|
|
603
|
+
*/
|
|
604
|
+
async processTeamTrajectory(
|
|
605
|
+
trajectory: TeamTrajectory
|
|
606
|
+
): Promise<TeamProcessResult> {
|
|
607
|
+
if (!this.config.teamLearning.enabled || !this.teamLearning) {
|
|
608
|
+
return { teamTrajectoryId: trajectory.id, stored: false, analyzed: false };
|
|
609
|
+
}
|
|
610
|
+
|
|
611
|
+
const result = await this.teamLearning.processTeamTrajectory(trajectory);
|
|
612
|
+
this.teamTrajectoriesProcessed++;
|
|
613
|
+
|
|
614
|
+
// Generate team meta-reflection for the meta-learner
|
|
615
|
+
if (this.teamMetaLearner) {
|
|
616
|
+
try {
|
|
617
|
+
await this.teamMetaLearner.generateReflection(trajectory);
|
|
618
|
+
} catch (error) {
|
|
619
|
+
console.error(
|
|
620
|
+
'[Atlas] Team meta-reflection failed:',
|
|
621
|
+
error instanceof Error ? error.message : String(error)
|
|
622
|
+
);
|
|
623
|
+
}
|
|
624
|
+
}
|
|
625
|
+
|
|
626
|
+
// Run batch team learning if ready
|
|
627
|
+
if (this.teamLearning.shouldRunBatch()) {
|
|
628
|
+
await this.runTeamBatchLearning();
|
|
629
|
+
}
|
|
630
|
+
|
|
631
|
+
return result;
|
|
632
|
+
}
|
|
633
|
+
|
|
634
|
+
/**
|
|
635
|
+
* Run batch team playbook extraction explicitly.
|
|
636
|
+
*/
|
|
637
|
+
async runTeamBatchLearning(): Promise<TeamBatchResult | null> {
|
|
638
|
+
if (!this.teamLearning) return null;
|
|
639
|
+
return this.teamLearning.runBatchLearning();
|
|
640
|
+
}
|
|
641
|
+
|
|
642
|
+
/**
|
|
643
|
+
* Get the team learning pipeline for direct access.
|
|
644
|
+
*/
|
|
645
|
+
getTeamLearning(): TeamLearningPipeline | null {
|
|
646
|
+
return this.teamLearning;
|
|
647
|
+
}
|
|
648
|
+
|
|
649
|
+
/**
|
|
650
|
+
* Recommend a team composition for a given task.
|
|
651
|
+
* Uses team playbooks and meta-strategies to produce a recommendation
|
|
652
|
+
* with optional OpenTeams YAML export.
|
|
653
|
+
*/
|
|
654
|
+
async recommendTeam(input: TeamRecommendationInput): Promise<TeamRecommendation> {
|
|
655
|
+
if (!this.teamRouter) {
|
|
656
|
+
throw new Error(
|
|
657
|
+
'Team learning is not enabled. Set teamLearning.enabled = true in config.'
|
|
658
|
+
);
|
|
659
|
+
}
|
|
660
|
+
return this.teamRouter.recommend(input);
|
|
661
|
+
}
|
|
662
|
+
|
|
663
|
+
/**
|
|
664
|
+
* Get the team router for direct access.
|
|
665
|
+
*/
|
|
666
|
+
getTeamRouter(): TeamRouter | null {
|
|
667
|
+
return this.teamRouter;
|
|
668
|
+
}
|
|
669
|
+
|
|
670
|
+
/**
|
|
671
|
+
* Get the team meta-learner for direct access.
|
|
672
|
+
*/
|
|
673
|
+
getTeamMetaLearner(): TeamMetaLearner | null {
|
|
674
|
+
return this.teamMetaLearner;
|
|
675
|
+
}
|
|
676
|
+
|
|
677
|
+
/**
|
|
678
|
+
* Get the team skill library for direct access.
|
|
679
|
+
*/
|
|
680
|
+
getTeamSkillLibrary(): TeamSkillLibrary | null {
|
|
681
|
+
return this.teamSkillLibrary;
|
|
682
|
+
}
|
|
683
|
+
|
|
684
|
+
/**
|
|
685
|
+
* Record team outcome feedback to update playbook evolution.
|
|
686
|
+
* Updates success/failure counts, recalculates confidence, and
|
|
687
|
+
* accumulates average metrics for the team playbook.
|
|
688
|
+
*/
|
|
689
|
+
async recordTeamOutcome(feedback: TeamOutcomeFeedback): Promise<void> {
|
|
690
|
+
if (!this.teamSkillLibrary) {
|
|
691
|
+
throw new Error(
|
|
692
|
+
'Team learning is not enabled. Set teamLearning.enabled = true in config.'
|
|
693
|
+
);
|
|
694
|
+
}
|
|
695
|
+
await this.teamSkillLibrary.recordTeamOutcome(feedback);
|
|
696
|
+
}
|
|
697
|
+
|
|
698
|
+
/**
|
|
699
|
+
* Format role guidance for injection into an agent's system prompt.
|
|
700
|
+
* Returns markdown-formatted role playbook content for the given role.
|
|
701
|
+
*/
|
|
702
|
+
async formatRoleGuidance(
|
|
703
|
+
role: string,
|
|
704
|
+
context?: { topology?: string; domain?: string; taskType?: string }
|
|
705
|
+
): Promise<string> {
|
|
706
|
+
if (!this.teamSkillLibrary) return '';
|
|
707
|
+
|
|
708
|
+
const ranked = await this.teamSkillLibrary.findRolePlaybooks(role, {
|
|
709
|
+
topology: context?.topology,
|
|
710
|
+
domain: context?.domain,
|
|
711
|
+
taskType: context?.taskType,
|
|
712
|
+
});
|
|
713
|
+
|
|
714
|
+
return this.teamSkillLibrary.formatRoleGuidance(
|
|
715
|
+
role,
|
|
716
|
+
ranked.map((r) => r.playbook)
|
|
717
|
+
);
|
|
718
|
+
}
|
|
719
|
+
|
|
720
|
+
/**
|
|
721
|
+
* Query team memory for coordination patterns.
|
|
722
|
+
*/
|
|
723
|
+
async queryTeamMemory(
|
|
724
|
+
query: string,
|
|
725
|
+
options?: {
|
|
726
|
+
domain?: string;
|
|
727
|
+
topology?: string;
|
|
728
|
+
includeExperiences?: boolean;
|
|
729
|
+
includePlaybooks?: boolean;
|
|
730
|
+
}
|
|
731
|
+
) {
|
|
732
|
+
const results: {
|
|
733
|
+
experiences: Array<{ experience: TeamExperience; score: number }>;
|
|
734
|
+
playbooks: Array<{ playbook: TeamPlaybook; score: number }>;
|
|
735
|
+
} = {
|
|
736
|
+
experiences: [],
|
|
737
|
+
playbooks: [],
|
|
738
|
+
};
|
|
739
|
+
|
|
740
|
+
const shouldIncludeAll = !options || (
|
|
741
|
+
options.includeExperiences === undefined &&
|
|
742
|
+
options.includePlaybooks === undefined
|
|
743
|
+
);
|
|
744
|
+
|
|
745
|
+
if (shouldIncludeAll || options?.includeExperiences) {
|
|
746
|
+
results.experiences = await this.memory.teamExperiences.findSimilarTeamExperiences(
|
|
747
|
+
query,
|
|
748
|
+
{ domain: options?.domain, topology: options?.topology }
|
|
749
|
+
);
|
|
750
|
+
}
|
|
751
|
+
|
|
752
|
+
if (shouldIncludeAll || options?.includePlaybooks) {
|
|
753
|
+
results.playbooks = await this.memory.teamExperiences.findMatchingTeamPlaybooks({
|
|
754
|
+
taskType: query,
|
|
755
|
+
domain: options?.domain,
|
|
756
|
+
topology: options?.topology,
|
|
757
|
+
});
|
|
758
|
+
}
|
|
759
|
+
|
|
760
|
+
return results;
|
|
761
|
+
}
|
|
762
|
+
|
|
388
763
|
/**
|
|
389
764
|
* Run batch learning explicitly
|
|
390
765
|
*/
|
|
@@ -416,9 +791,21 @@ export class Atlas {
|
|
|
416
791
|
learning: {
|
|
417
792
|
trajectoriesProcessed: this.trajectoriesProcessed,
|
|
418
793
|
pendingTrajectories: this.learning.getAccumulatedCount(),
|
|
794
|
+
teamTrajectoriesProcessed: this.teamTrajectoriesProcessed,
|
|
419
795
|
},
|
|
420
796
|
};
|
|
421
797
|
|
|
798
|
+
// Add team memory stats if team learning is enabled
|
|
799
|
+
if (this.config.teamLearning.enabled) {
|
|
800
|
+
const teamStats = await this.memory.teamExperiences.getStats();
|
|
801
|
+
stats.teamMemory = {
|
|
802
|
+
teamExperienceCount: teamStats.teamExperienceCount,
|
|
803
|
+
teamPlaybookCount: teamStats.teamPlaybookCount,
|
|
804
|
+
rolePlaybookCount: teamStats.rolePlaybookCount,
|
|
805
|
+
teamMetaObservationCount: teamStats.metaObservationCount,
|
|
806
|
+
};
|
|
807
|
+
}
|
|
808
|
+
|
|
422
809
|
// Add execution stats if AgentManager is available
|
|
423
810
|
if (this.agentManager) {
|
|
424
811
|
stats.execution = {
|
|
@@ -448,6 +835,13 @@ export class Atlas {
|
|
|
448
835
|
return this.memory;
|
|
449
836
|
}
|
|
450
837
|
|
|
838
|
+
/**
|
|
839
|
+
* Get the knowledge bank for direct access (null if not enabled)
|
|
840
|
+
*/
|
|
841
|
+
getKnowledgeBank(): import('./memory/knowledge-bank.js').KnowledgeBank | null {
|
|
842
|
+
return this.memory.knowledgeBank;
|
|
843
|
+
}
|
|
844
|
+
|
|
451
845
|
/**
|
|
452
846
|
* Get the learning pipeline for direct access
|
|
453
847
|
*/
|
|
@@ -462,6 +856,13 @@ export class Atlas {
|
|
|
462
856
|
return this.skillLibrary;
|
|
463
857
|
}
|
|
464
858
|
|
|
859
|
+
/**
|
|
860
|
+
* Get the skill-tree storage adapter (null if not enabled)
|
|
861
|
+
*/
|
|
862
|
+
getSkillTreeStorage(): SqliteStorageAdapter | null {
|
|
863
|
+
return this.skillTreeStorage;
|
|
864
|
+
}
|
|
865
|
+
|
|
465
866
|
/**
|
|
466
867
|
* Get the MCP server for direct access
|
|
467
868
|
*/
|
|
@@ -511,8 +912,102 @@ export class Atlas {
|
|
|
511
912
|
}
|
|
512
913
|
|
|
513
914
|
/**
|
|
514
|
-
*
|
|
915
|
+
* Infer playbook usage via workspace template when taskRunner available,
|
|
916
|
+
* otherwise fall back to heuristic.
|
|
917
|
+
*/
|
|
918
|
+
private async inferPlaybookUsage(
|
|
919
|
+
trajectory: Trajectory,
|
|
920
|
+
injectedPlaybooks: Playbook[],
|
|
921
|
+
): Promise<import('./learning/usage-inference.js').PlaybookUsageResult[]> {
|
|
922
|
+
if (this.taskRunner && injectedPlaybooks.length > 0) {
|
|
923
|
+
try {
|
|
924
|
+
const result = await this.taskRunner.run(usageInferenceTemplate, {
|
|
925
|
+
trajectory,
|
|
926
|
+
injectedPlaybooks,
|
|
927
|
+
});
|
|
928
|
+
return result.output;
|
|
929
|
+
} catch (error) {
|
|
930
|
+
console.error(
|
|
931
|
+
'Workspace-based usage inference failed, falling back to heuristic:',
|
|
932
|
+
error instanceof Error ? error.message : error
|
|
933
|
+
);
|
|
934
|
+
}
|
|
935
|
+
}
|
|
936
|
+
|
|
937
|
+
// Heuristic fallback
|
|
938
|
+
if (this.usageInference) {
|
|
939
|
+
return this.usageInference.inferUsage(trajectory, injectedPlaybooks);
|
|
940
|
+
}
|
|
941
|
+
return [];
|
|
942
|
+
}
|
|
943
|
+
|
|
944
|
+
/**
|
|
945
|
+
* Reflect on execution via workspace template when taskRunner available,
|
|
946
|
+
* otherwise fall back to MetaLearner's built-in heuristic reflection.
|
|
947
|
+
*/
|
|
948
|
+
private async reflectOnExecution(
|
|
949
|
+
trajectory: Trajectory,
|
|
950
|
+
routing: RoutingDecision,
|
|
951
|
+
): Promise<void> {
|
|
952
|
+
if (!this.metaLearner) return;
|
|
953
|
+
|
|
954
|
+
const routingInfo = {
|
|
955
|
+
strategy: routing.strategy,
|
|
956
|
+
confidence: routing.confidence,
|
|
957
|
+
estimatedBudget: routing.estimatedBudget,
|
|
958
|
+
reasoning: routing.reasoning,
|
|
959
|
+
};
|
|
960
|
+
const playbookMatches = routing.memoryContext.playbooks;
|
|
961
|
+
|
|
962
|
+
if (this.taskRunner) {
|
|
963
|
+
try {
|
|
964
|
+
const result = await this.taskRunner.run(metaReflectionTemplate, {
|
|
965
|
+
trajectory,
|
|
966
|
+
routingDecision: routingInfo,
|
|
967
|
+
playbooksUsed: playbookMatches,
|
|
968
|
+
});
|
|
969
|
+
|
|
970
|
+
// Bridge template output into MetaLearner storage
|
|
971
|
+
const playbookIds = playbookMatches.map(p => p.playbook.id);
|
|
972
|
+
const actualEffort = trajectory.llmCalls ?? trajectory.steps.length;
|
|
973
|
+
await this.metaLearner.recordFromReflection(
|
|
974
|
+
result.output,
|
|
975
|
+
trajectory.id,
|
|
976
|
+
routingInfo,
|
|
977
|
+
playbookIds,
|
|
978
|
+
actualEffort,
|
|
979
|
+
);
|
|
980
|
+
return;
|
|
981
|
+
} catch (error) {
|
|
982
|
+
console.error(
|
|
983
|
+
'Workspace-based meta-reflection failed, falling back to heuristic:',
|
|
984
|
+
error instanceof Error ? error.message : error
|
|
985
|
+
);
|
|
986
|
+
}
|
|
987
|
+
}
|
|
988
|
+
|
|
989
|
+
// Heuristic fallback
|
|
990
|
+
await this.metaLearner.generateReflection(
|
|
991
|
+
trajectory,
|
|
992
|
+
routingInfo,
|
|
993
|
+
playbookMatches,
|
|
994
|
+
);
|
|
995
|
+
}
|
|
996
|
+
|
|
997
|
+
/**
|
|
998
|
+
* Get the meta learner for direct access
|
|
515
999
|
*/
|
|
1000
|
+
getMetaLearner(): MetaLearner | null {
|
|
1001
|
+
return this.metaLearner;
|
|
1002
|
+
}
|
|
1003
|
+
|
|
1004
|
+
/**
|
|
1005
|
+
* Get the effectiveness tracker for direct access
|
|
1006
|
+
*/
|
|
1007
|
+
getEffectivenessTracker(): LearningEffectivenessTracker | null {
|
|
1008
|
+
return this.effectivenessTracker;
|
|
1009
|
+
}
|
|
1010
|
+
|
|
516
1011
|
async close(): Promise<void> {
|
|
517
1012
|
// Stop MCP server if running
|
|
518
1013
|
await this.stopMCPServer();
|
|
@@ -521,6 +1016,22 @@ export class Atlas {
|
|
|
521
1016
|
if (this.learning.getAccumulatedCount() > 0) {
|
|
522
1017
|
await this.learning.runBatchLearning();
|
|
523
1018
|
}
|
|
1019
|
+
|
|
1020
|
+
// Flush team learning pipeline
|
|
1021
|
+
if (this.teamLearning && this.teamLearning.getAccumulatedCount() > 0) {
|
|
1022
|
+
await this.teamLearning.runBatchLearning();
|
|
1023
|
+
}
|
|
1024
|
+
|
|
1025
|
+
// Close effectiveness tracker
|
|
1026
|
+
if (this.effectivenessTracker) {
|
|
1027
|
+
await this.effectivenessTracker.close();
|
|
1028
|
+
}
|
|
1029
|
+
|
|
1030
|
+
// Close skill-tree storage
|
|
1031
|
+
if (this.skillTreeStorage) {
|
|
1032
|
+
this.skillTreeStorage.close();
|
|
1033
|
+
}
|
|
1034
|
+
|
|
524
1035
|
// Close memory system
|
|
525
1036
|
await this.memory.close();
|
|
526
1037
|
}
|
|
@@ -552,9 +1063,10 @@ export function createAtlasWithProvider(
|
|
|
552
1063
|
*/
|
|
553
1064
|
export function createAtlasWithAgents(
|
|
554
1065
|
backends: AgentBackend[],
|
|
555
|
-
config?: Partial<AtlasConfig
|
|
1066
|
+
config?: Partial<AtlasConfig>,
|
|
1067
|
+
options?: { delegate?: AgentDelegate }
|
|
556
1068
|
): Atlas {
|
|
557
1069
|
const atlas = new Atlas(config);
|
|
558
|
-
atlas.setAgentManager(backends);
|
|
1070
|
+
atlas.setAgentManager(backends, options);
|
|
559
1071
|
return atlas;
|
|
560
1072
|
}
|