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
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* macro-agent backend adapter.
|
|
3
|
+
*
|
|
4
|
+
* Wraps macro-agent's MacroAgentBackend as a cognitive-core AgentBackend
|
|
5
|
+
* using structural typing — cognitive-core does not import macro-agent.
|
|
6
|
+
*
|
|
7
|
+
* Usage:
|
|
8
|
+
* ```typescript
|
|
9
|
+
* import { MacroAgentBackend } from 'macro-agent';
|
|
10
|
+
* import { adaptMacroBackend, createMacroAgentSource } from 'cognitive-core';
|
|
11
|
+
*
|
|
12
|
+
* const macroBackend = new MacroAgentBackend(agentManager);
|
|
13
|
+
* const backend = adaptMacroBackend(macroBackend);
|
|
14
|
+
* atlas.setAgentManager([backend]);
|
|
15
|
+
*
|
|
16
|
+
* // Or register as a ComputeSource:
|
|
17
|
+
* const source = createMacroAgentSource(macroBackend, { costTier: 'medium' });
|
|
18
|
+
* computeProvider.register(source);
|
|
19
|
+
* ```
|
|
20
|
+
*/
|
|
21
|
+
|
|
22
|
+
import type {
|
|
23
|
+
AgentBackend,
|
|
24
|
+
AgentSpawnConfig,
|
|
25
|
+
AgentSession,
|
|
26
|
+
AgentMessage,
|
|
27
|
+
ToolCall,
|
|
28
|
+
} from '../types.js';
|
|
29
|
+
import type { ComputeSource, CostTier } from '../compute-provider.js';
|
|
30
|
+
import type { Task } from '../../types/index.js';
|
|
31
|
+
|
|
32
|
+
// ── Structural interface ──────────────────────────────────────
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* Structural contract for macro-agent's MacroAgentBackend.
|
|
36
|
+
*
|
|
37
|
+
* Any object matching this shape can be adapted — no import from
|
|
38
|
+
* macro-agent is needed. macro-agent's bridge types (CognitiveAgentSession,
|
|
39
|
+
* CognitiveAgentMessage, CognitiveToolCall) are structurally identical
|
|
40
|
+
* to cognitive-core's canonical types.
|
|
41
|
+
*/
|
|
42
|
+
export interface MacroAgentBackendLike {
|
|
43
|
+
readonly name: string;
|
|
44
|
+
readonly supportedTypes: readonly string[];
|
|
45
|
+
isAvailable(): Promise<boolean>;
|
|
46
|
+
spawn(config: {
|
|
47
|
+
agentType: string;
|
|
48
|
+
task: { description: string };
|
|
49
|
+
}): Promise<MacroSessionLike>;
|
|
50
|
+
getSession(sessionId: string): Promise<MacroSessionLike | undefined>;
|
|
51
|
+
terminate(sessionId: string): Promise<void>;
|
|
52
|
+
listSessions(): Promise<MacroSessionLike[]>;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
/**
|
|
56
|
+
* Structural contract for macro-agent's CognitiveAgentSession.
|
|
57
|
+
*/
|
|
58
|
+
export interface MacroSessionLike {
|
|
59
|
+
id: string;
|
|
60
|
+
agentType: string;
|
|
61
|
+
task: { description: string };
|
|
62
|
+
state: string;
|
|
63
|
+
messages: AgentMessage[];
|
|
64
|
+
toolCalls: ToolCall[];
|
|
65
|
+
startTime: Date;
|
|
66
|
+
endTime?: Date;
|
|
67
|
+
result?: unknown;
|
|
68
|
+
error?: string;
|
|
69
|
+
metadata: Record<string, unknown>;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
// ── Adapter ───────────────────────────────────────────────────
|
|
73
|
+
|
|
74
|
+
/**
|
|
75
|
+
* Adapter that wraps a macro-agent-compatible backend as a cognitive-core
|
|
76
|
+
* AgentBackend.
|
|
77
|
+
*
|
|
78
|
+
* Handles the type gap between macro-agent's CognitiveTask (description-only
|
|
79
|
+
* subset) and cognitive-core's Task (full schema with id, domain, etc.).
|
|
80
|
+
* Since cognitive-core always passes full Task objects through spawn(),
|
|
81
|
+
* the adapter caches them and re-attaches on session retrieval.
|
|
82
|
+
*/
|
|
83
|
+
export class MacroAgentBackendAdapter implements AgentBackend {
|
|
84
|
+
readonly name: string;
|
|
85
|
+
readonly supportedTypes: string[];
|
|
86
|
+
|
|
87
|
+
private readonly inner: MacroAgentBackendLike;
|
|
88
|
+
private readonly taskCache = new Map<string, Task>();
|
|
89
|
+
|
|
90
|
+
constructor(backend: MacroAgentBackendLike) {
|
|
91
|
+
this.inner = backend;
|
|
92
|
+
this.name = backend.name;
|
|
93
|
+
this.supportedTypes = [...backend.supportedTypes];
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
async isAvailable(): Promise<boolean> {
|
|
97
|
+
return this.inner.isAvailable();
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
async spawn(config: AgentSpawnConfig): Promise<AgentSession> {
|
|
101
|
+
const session = await this.inner.spawn(config);
|
|
102
|
+
this.taskCache.set(session.id, config.task);
|
|
103
|
+
return this.toAgentSession(session);
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
async getSession(sessionId: string): Promise<AgentSession | undefined> {
|
|
107
|
+
const session = await this.inner.getSession(sessionId);
|
|
108
|
+
if (!session) return undefined;
|
|
109
|
+
return this.toAgentSession(session);
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
async terminate(sessionId: string): Promise<void> {
|
|
113
|
+
return this.inner.terminate(sessionId);
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
async listSessions(): Promise<AgentSession[]> {
|
|
117
|
+
const sessions = await this.inner.listSessions();
|
|
118
|
+
return sessions.map(s => this.toAgentSession(s));
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
private toAgentSession(session: MacroSessionLike): AgentSession {
|
|
122
|
+
const task = this.taskCache.get(session.id);
|
|
123
|
+
return {
|
|
124
|
+
id: session.id,
|
|
125
|
+
agentType: session.agentType,
|
|
126
|
+
// Prefer the cached full Task; fall back to runtime object (which IS
|
|
127
|
+
// a full Task when cognitive-core is the caller, just typed narrowly).
|
|
128
|
+
task: task ?? (session.task as Task),
|
|
129
|
+
state: session.state as AgentSession['state'],
|
|
130
|
+
messages: session.messages,
|
|
131
|
+
toolCalls: session.toolCalls,
|
|
132
|
+
startTime: session.startTime,
|
|
133
|
+
endTime: session.endTime,
|
|
134
|
+
result: session.result,
|
|
135
|
+
error: session.error,
|
|
136
|
+
metadata: session.metadata,
|
|
137
|
+
};
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
// ── Factory helpers ───────────────────────────────────────────
|
|
142
|
+
|
|
143
|
+
/**
|
|
144
|
+
* Adapt a macro-agent MacroAgentBackend for use with cognitive-core.
|
|
145
|
+
*
|
|
146
|
+
* @param backend - Any object matching the MacroAgentBackendLike shape
|
|
147
|
+
* @returns An AgentBackend usable with Atlas.setAgentManager()
|
|
148
|
+
*/
|
|
149
|
+
export function adaptMacroBackend(
|
|
150
|
+
backend: MacroAgentBackendLike,
|
|
151
|
+
): AgentBackend {
|
|
152
|
+
return new MacroAgentBackendAdapter(backend);
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
/**
|
|
156
|
+
* Create a ComputeSource for macro-agent backend registration
|
|
157
|
+
* with DefaultComputeProvider.
|
|
158
|
+
*
|
|
159
|
+
* @param backend - Any object matching the MacroAgentBackendLike shape
|
|
160
|
+
* @param options - Cost tier, location, and priority for compute resolution
|
|
161
|
+
*/
|
|
162
|
+
export function createMacroAgentSource(
|
|
163
|
+
backend: MacroAgentBackendLike,
|
|
164
|
+
options?: {
|
|
165
|
+
costTier?: CostTier;
|
|
166
|
+
location?: 'local' | 'remote';
|
|
167
|
+
priority?: number;
|
|
168
|
+
},
|
|
169
|
+
): ComputeSource {
|
|
170
|
+
return {
|
|
171
|
+
name: backend.name,
|
|
172
|
+
backend: adaptMacroBackend(backend),
|
|
173
|
+
costTier: options?.costTier ?? 'medium',
|
|
174
|
+
location: options?.location ?? 'local',
|
|
175
|
+
priority: options?.priority ?? 50,
|
|
176
|
+
};
|
|
177
|
+
}
|
|
@@ -0,0 +1,206 @@
|
|
|
1
|
+
import type { AgentBackend, AgentSpawnConfig } from './types.js';
|
|
2
|
+
import type { AnalysisComplexity } from '../workspace/types.js';
|
|
3
|
+
|
|
4
|
+
// ============================================================
|
|
5
|
+
// Compute Requirements
|
|
6
|
+
// ============================================================
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Requirements for compute resolution.
|
|
10
|
+
* Templates express preferences; the provider resolves them to concrete backends.
|
|
11
|
+
*/
|
|
12
|
+
export interface ComputeRequirements {
|
|
13
|
+
/** Preferred execution location */
|
|
14
|
+
mode?: 'local' | 'remote' | 'any';
|
|
15
|
+
/** Maximum cost budget in cents (for cost-aware routing) */
|
|
16
|
+
maxCostCents?: number;
|
|
17
|
+
/** Required agent capabilities */
|
|
18
|
+
capabilities?: string[];
|
|
19
|
+
/** Timeout hint (provider may select faster backends for short timeouts) */
|
|
20
|
+
timeout?: number;
|
|
21
|
+
/** Complexity hint from template */
|
|
22
|
+
complexity?: AnalysisComplexity;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
// ============================================================
|
|
26
|
+
// Compute Target
|
|
27
|
+
// ============================================================
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* Resolution result: which backend to use and any config overrides.
|
|
31
|
+
*/
|
|
32
|
+
export interface ComputeTarget {
|
|
33
|
+
/** The resolved backend */
|
|
34
|
+
backend: AgentBackend;
|
|
35
|
+
/** Config overrides for this resolution (e.g., different timeout, env vars) */
|
|
36
|
+
overrides?: Partial<AgentSpawnConfig>;
|
|
37
|
+
/** Source identifier for logging/metrics */
|
|
38
|
+
source: string;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
// ============================================================
|
|
42
|
+
// Compute Source
|
|
43
|
+
// ============================================================
|
|
44
|
+
|
|
45
|
+
/** Cost tier for routing decisions */
|
|
46
|
+
export type CostTier = 'free' | 'low' | 'medium' | 'high';
|
|
47
|
+
|
|
48
|
+
/**
|
|
49
|
+
* Registered compute source with metadata.
|
|
50
|
+
*/
|
|
51
|
+
export interface ComputeSource {
|
|
52
|
+
/** Unique name for this source */
|
|
53
|
+
name: string;
|
|
54
|
+
/** Underlying backend */
|
|
55
|
+
backend: AgentBackend;
|
|
56
|
+
/** Cost tier for routing decisions */
|
|
57
|
+
costTier: CostTier;
|
|
58
|
+
/** Execution location */
|
|
59
|
+
location: 'local' | 'remote';
|
|
60
|
+
/** Priority (lower = preferred, for tie-breaking) */
|
|
61
|
+
priority: number;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
// ============================================================
|
|
65
|
+
// ComputeProvider Interface
|
|
66
|
+
// ============================================================
|
|
67
|
+
|
|
68
|
+
/**
|
|
69
|
+
* Resolves agent type + requirements to a concrete compute target.
|
|
70
|
+
*
|
|
71
|
+
* Sits between AgentManager and the raw backend registry.
|
|
72
|
+
* Separates "what agent to run" from "where to run it".
|
|
73
|
+
*/
|
|
74
|
+
export interface ComputeProvider {
|
|
75
|
+
/** Resolve an agent execution request to a backend */
|
|
76
|
+
resolve(
|
|
77
|
+
agentType: string,
|
|
78
|
+
requirements?: ComputeRequirements
|
|
79
|
+
): Promise<ComputeTarget>;
|
|
80
|
+
|
|
81
|
+
/** Register a compute source */
|
|
82
|
+
register(source: ComputeSource): void;
|
|
83
|
+
|
|
84
|
+
/** Remove a compute source */
|
|
85
|
+
unregister(name: string): void;
|
|
86
|
+
|
|
87
|
+
/** List available compute sources */
|
|
88
|
+
listSources(): ComputeSource[];
|
|
89
|
+
|
|
90
|
+
/** Check if any source supports the given agent type */
|
|
91
|
+
supports(agentType: string): boolean;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
// ============================================================
|
|
95
|
+
// Default Implementation
|
|
96
|
+
// ============================================================
|
|
97
|
+
|
|
98
|
+
const COST_ORDER: Record<CostTier, number> = {
|
|
99
|
+
free: 0,
|
|
100
|
+
low: 1,
|
|
101
|
+
medium: 5,
|
|
102
|
+
high: 20,
|
|
103
|
+
};
|
|
104
|
+
|
|
105
|
+
/**
|
|
106
|
+
* Default compute provider.
|
|
107
|
+
*
|
|
108
|
+
* Resolution strategy:
|
|
109
|
+
* 1. Filter to sources that support the requested agent type
|
|
110
|
+
* 2. Apply mode preference (local/remote) if specified
|
|
111
|
+
* 3. Apply cost budget if specified
|
|
112
|
+
* 4. Check availability in priority order
|
|
113
|
+
* 5. Return first available (or first candidate as fallback)
|
|
114
|
+
*/
|
|
115
|
+
export class DefaultComputeProvider implements ComputeProvider {
|
|
116
|
+
private sources: ComputeSource[] = [];
|
|
117
|
+
|
|
118
|
+
register(source: ComputeSource): void {
|
|
119
|
+
// Remove existing source with same name (re-registration)
|
|
120
|
+
this.sources = this.sources.filter(s => s.name !== source.name);
|
|
121
|
+
this.sources.push(source);
|
|
122
|
+
// Keep sorted by priority (lower = preferred)
|
|
123
|
+
this.sources.sort((a, b) => a.priority - b.priority);
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
unregister(name: string): void {
|
|
127
|
+
this.sources = this.sources.filter(s => s.name !== name);
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
listSources(): ComputeSource[] {
|
|
131
|
+
return [...this.sources];
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
supports(agentType: string): boolean {
|
|
135
|
+
return this.sources.some(
|
|
136
|
+
s => s.backend.supportedTypes.includes(agentType)
|
|
137
|
+
);
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
async resolve(
|
|
141
|
+
agentType: string,
|
|
142
|
+
requirements?: ComputeRequirements
|
|
143
|
+
): Promise<ComputeTarget> {
|
|
144
|
+
// Step 1: Filter to sources that support this agent type
|
|
145
|
+
let candidates = this.sources.filter(
|
|
146
|
+
s => s.backend.supportedTypes.includes(agentType)
|
|
147
|
+
);
|
|
148
|
+
|
|
149
|
+
if (candidates.length === 0) {
|
|
150
|
+
// Fallback: try matching by backend name
|
|
151
|
+
candidates = this.sources.filter(s => s.name === agentType);
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
if (candidates.length === 0) {
|
|
155
|
+
throw new Error(
|
|
156
|
+
`No compute source supports agent type '${agentType}'. ` +
|
|
157
|
+
`Available sources: ${this.sources.map(s => `${s.name}[${s.backend.supportedTypes.join(',')}]`).join(', ') || 'none'}`
|
|
158
|
+
);
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
// Step 2: Apply mode preference
|
|
162
|
+
if (requirements?.mode && requirements.mode !== 'any') {
|
|
163
|
+
const locationFiltered = candidates.filter(
|
|
164
|
+
s => s.location === requirements.mode
|
|
165
|
+
);
|
|
166
|
+
if (locationFiltered.length > 0) {
|
|
167
|
+
candidates = locationFiltered;
|
|
168
|
+
}
|
|
169
|
+
// If no match for preferred mode, fall back to all candidates
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
// Step 3: Apply cost budget
|
|
173
|
+
if (requirements?.maxCostCents !== undefined) {
|
|
174
|
+
const budgetFiltered = candidates.filter(
|
|
175
|
+
s => COST_ORDER[s.costTier] <= requirements.maxCostCents!
|
|
176
|
+
);
|
|
177
|
+
if (budgetFiltered.length > 0) {
|
|
178
|
+
candidates = budgetFiltered;
|
|
179
|
+
}
|
|
180
|
+
// If no match within budget, fall back to all candidates
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
// Step 4: Check availability in priority order
|
|
184
|
+
for (const source of candidates) {
|
|
185
|
+
if (await source.backend.isAvailable()) {
|
|
186
|
+
return {
|
|
187
|
+
backend: source.backend,
|
|
188
|
+
source: source.name,
|
|
189
|
+
};
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
// Step 5: Fallback to first candidate regardless of availability
|
|
194
|
+
return {
|
|
195
|
+
backend: candidates[0].backend,
|
|
196
|
+
source: candidates[0].name,
|
|
197
|
+
};
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
/**
|
|
202
|
+
* Create a DefaultComputeProvider.
|
|
203
|
+
*/
|
|
204
|
+
export function createComputeProvider(): DefaultComputeProvider {
|
|
205
|
+
return new DefaultComputeProvider();
|
|
206
|
+
}
|
package/src/runtime/index.ts
CHANGED
|
@@ -10,6 +10,9 @@ export type {
|
|
|
10
10
|
KnowledgeInjector,
|
|
11
11
|
TrajectoryExtractor,
|
|
12
12
|
AgentObserverCallbacks,
|
|
13
|
+
AgentDelegate,
|
|
14
|
+
AgentDelegateOptions,
|
|
15
|
+
AgentDelegateResult,
|
|
13
16
|
} from './types.js';
|
|
14
17
|
|
|
15
18
|
// Manager
|
|
@@ -29,13 +32,32 @@ export {
|
|
|
29
32
|
MockBackend,
|
|
30
33
|
createMockBackend,
|
|
31
34
|
type MockAgentBehavior,
|
|
35
|
+
LocalACPBackend,
|
|
32
36
|
ACPBackend,
|
|
33
37
|
createACPBackend,
|
|
34
38
|
claudeCodeACPConfig,
|
|
35
39
|
claudeCodeDirectConfig,
|
|
36
40
|
type ACPAgentConfig,
|
|
41
|
+
ACPProtocolHandler,
|
|
42
|
+
type ACPSessionBase,
|
|
43
|
+
MacroAgentBackendAdapter,
|
|
44
|
+
adaptMacroBackend,
|
|
45
|
+
createMacroAgentSource,
|
|
46
|
+
type MacroAgentBackendLike,
|
|
47
|
+
type MacroSessionLike,
|
|
37
48
|
} from './backends/index.js';
|
|
38
49
|
|
|
50
|
+
// Compute Provider
|
|
51
|
+
export {
|
|
52
|
+
DefaultComputeProvider,
|
|
53
|
+
createComputeProvider,
|
|
54
|
+
type ComputeProvider,
|
|
55
|
+
type ComputeRequirements,
|
|
56
|
+
type ComputeTarget,
|
|
57
|
+
type ComputeSource,
|
|
58
|
+
type CostTier,
|
|
59
|
+
} from './compute-provider.js';
|
|
60
|
+
|
|
39
61
|
// Flows
|
|
40
62
|
export {
|
|
41
63
|
LearningFlow,
|
package/src/runtime/manager.ts
CHANGED
|
@@ -16,7 +16,10 @@ import type {
|
|
|
16
16
|
AgentObserverCallbacks,
|
|
17
17
|
KnowledgeInjector,
|
|
18
18
|
TrajectoryExtractor,
|
|
19
|
+
AgentDelegate,
|
|
19
20
|
} from './types.js';
|
|
21
|
+
import type { ComputeProvider, ComputeSource } from './compute-provider.js';
|
|
22
|
+
import { DefaultComputeProvider } from './compute-provider.js';
|
|
20
23
|
|
|
21
24
|
/**
|
|
22
25
|
* Default knowledge injector - formats memory for context injection
|
|
@@ -223,29 +226,47 @@ export class DefaultTrajectoryExtractor implements TrajectoryExtractor {
|
|
|
223
226
|
*/
|
|
224
227
|
export class AgentManager {
|
|
225
228
|
private backends: Map<string, AgentBackend> = new Map();
|
|
229
|
+
private computeProvider: ComputeProvider;
|
|
226
230
|
private memory: MemorySystem;
|
|
227
231
|
private injector: KnowledgeInjector;
|
|
228
232
|
private extractor: TrajectoryExtractor;
|
|
229
233
|
private observers: AgentObserverCallbacks[] = [];
|
|
230
234
|
private activeSessions: Map<string, AgentSession> = new Map();
|
|
235
|
+
private delegate?: AgentDelegate;
|
|
231
236
|
|
|
232
237
|
constructor(
|
|
233
238
|
memory: MemorySystem,
|
|
234
239
|
options?: {
|
|
235
240
|
injector?: KnowledgeInjector;
|
|
236
241
|
extractor?: TrajectoryExtractor;
|
|
242
|
+
computeProvider?: ComputeProvider;
|
|
243
|
+
delegate?: AgentDelegate;
|
|
237
244
|
}
|
|
238
245
|
) {
|
|
239
246
|
this.memory = memory;
|
|
240
247
|
this.injector = options?.injector ?? new DefaultKnowledgeInjector();
|
|
241
248
|
this.extractor = options?.extractor ?? new DefaultTrajectoryExtractor();
|
|
249
|
+
this.computeProvider = options?.computeProvider ?? new DefaultComputeProvider();
|
|
250
|
+
this.delegate = options?.delegate;
|
|
242
251
|
}
|
|
243
252
|
|
|
244
253
|
/**
|
|
245
|
-
* Register an agent backend
|
|
254
|
+
* Register an agent backend.
|
|
255
|
+
* Also registers it as a compute source with the ComputeProvider.
|
|
246
256
|
*/
|
|
247
|
-
registerBackend(backend: AgentBackend
|
|
257
|
+
registerBackend(backend: AgentBackend, sourceOptions?: {
|
|
258
|
+
costTier?: ComputeSource['costTier'];
|
|
259
|
+
location?: ComputeSource['location'];
|
|
260
|
+
priority?: number;
|
|
261
|
+
}): void {
|
|
248
262
|
this.backends.set(backend.name, backend);
|
|
263
|
+
this.computeProvider.register({
|
|
264
|
+
name: backend.name,
|
|
265
|
+
backend,
|
|
266
|
+
costTier: sourceOptions?.costTier ?? 'low',
|
|
267
|
+
location: sourceOptions?.location ?? 'local',
|
|
268
|
+
priority: sourceOptions?.priority ?? 10,
|
|
269
|
+
});
|
|
249
270
|
}
|
|
250
271
|
|
|
251
272
|
/**
|
|
@@ -262,6 +283,13 @@ export class AgentManager {
|
|
|
262
283
|
return Array.from(this.backends.keys());
|
|
263
284
|
}
|
|
264
285
|
|
|
286
|
+
/**
|
|
287
|
+
* Get the compute provider for advanced configuration
|
|
288
|
+
*/
|
|
289
|
+
getComputeProvider(): ComputeProvider {
|
|
290
|
+
return this.computeProvider;
|
|
291
|
+
}
|
|
292
|
+
|
|
265
293
|
/**
|
|
266
294
|
* Add an observer for agent events
|
|
267
295
|
*/
|
|
@@ -279,18 +307,48 @@ export class AgentManager {
|
|
|
279
307
|
}
|
|
280
308
|
}
|
|
281
309
|
|
|
310
|
+
/**
|
|
311
|
+
* Set a delegate for caller-provided agent execution.
|
|
312
|
+
* When set, all spawn() calls bypass backend resolution and use the delegate.
|
|
313
|
+
*/
|
|
314
|
+
setDelegate(delegate: AgentDelegate): void {
|
|
315
|
+
this.delegate = delegate;
|
|
316
|
+
}
|
|
317
|
+
|
|
318
|
+
/**
|
|
319
|
+
* Clear the delegate, reverting to normal backend resolution.
|
|
320
|
+
*/
|
|
321
|
+
clearDelegate(): void {
|
|
322
|
+
this.delegate = undefined;
|
|
323
|
+
}
|
|
324
|
+
|
|
325
|
+
/**
|
|
326
|
+
* Get the current delegate, if any.
|
|
327
|
+
*/
|
|
328
|
+
getDelegate(): AgentDelegate | undefined {
|
|
329
|
+
return this.delegate;
|
|
330
|
+
}
|
|
331
|
+
|
|
282
332
|
/**
|
|
283
333
|
* Spawn an agent to execute a task
|
|
284
334
|
* This is the main entry point for running agents
|
|
285
335
|
*/
|
|
286
336
|
async spawn(config: AgentSpawnConfig): Promise<AgentResult> {
|
|
287
|
-
//
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
337
|
+
// Use delegate if available (bypasses backend resolution)
|
|
338
|
+
if (this.delegate) {
|
|
339
|
+
return this.spawnViaDelegate(config);
|
|
340
|
+
}
|
|
341
|
+
|
|
342
|
+
// Resolve compute target via provider
|
|
343
|
+
const target = await this.computeProvider.resolve(
|
|
344
|
+
config.agentType,
|
|
345
|
+
config.computeRequirements,
|
|
346
|
+
);
|
|
347
|
+
const backend = target.backend;
|
|
348
|
+
|
|
349
|
+
// Merge any overrides from compute resolution
|
|
350
|
+
if (target.overrides) {
|
|
351
|
+
config = { ...config, ...target.overrides };
|
|
294
352
|
}
|
|
295
353
|
|
|
296
354
|
// Query memory for relevant knowledge if not provided
|
|
@@ -360,6 +418,96 @@ export class AgentManager {
|
|
|
360
418
|
};
|
|
361
419
|
}
|
|
362
420
|
|
|
421
|
+
/**
|
|
422
|
+
* Spawn via caller-provided delegate.
|
|
423
|
+
* Handles knowledge injection, builds trajectory, notifies observers.
|
|
424
|
+
*/
|
|
425
|
+
private async spawnViaDelegate(config: AgentSpawnConfig): Promise<AgentResult> {
|
|
426
|
+
const startTime = new Date();
|
|
427
|
+
|
|
428
|
+
// Query memory for relevant knowledge if not provided
|
|
429
|
+
let knowledge = config.injectedKnowledge;
|
|
430
|
+
if (!knowledge) {
|
|
431
|
+
knowledge = await this.memory.queryV2(config.task.description, {
|
|
432
|
+
domains: config.task.domain ? [config.task.domain] : undefined,
|
|
433
|
+
});
|
|
434
|
+
}
|
|
435
|
+
|
|
436
|
+
// Format knowledge for injection
|
|
437
|
+
const formattedKnowledge = this.injector.format(knowledge, 'delegate');
|
|
438
|
+
|
|
439
|
+
// Build system context from prompt additions + formatted knowledge
|
|
440
|
+
const systemContext = [
|
|
441
|
+
config.systemPromptAdditions,
|
|
442
|
+
formattedKnowledge
|
|
443
|
+
? `\n## Atlas Knowledge\n${formattedKnowledge}`
|
|
444
|
+
: undefined,
|
|
445
|
+
]
|
|
446
|
+
.filter(Boolean)
|
|
447
|
+
.join('\n\n') || undefined;
|
|
448
|
+
|
|
449
|
+
// Call the delegate
|
|
450
|
+
const result = await this.delegate!.execute(config.task.description, {
|
|
451
|
+
cwd: config.cwd ?? process.cwd(),
|
|
452
|
+
systemContext,
|
|
453
|
+
timeoutMs: config.timeout,
|
|
454
|
+
});
|
|
455
|
+
|
|
456
|
+
const endTime = new Date();
|
|
457
|
+
|
|
458
|
+
// Build trajectory — use delegate's if provided, otherwise build minimal
|
|
459
|
+
const trajectory = result.trajectory ?? createTrajectory({
|
|
460
|
+
task: config.task,
|
|
461
|
+
steps: [
|
|
462
|
+
createStep({
|
|
463
|
+
action: 'delegate_execution',
|
|
464
|
+
observation: result.output,
|
|
465
|
+
}),
|
|
466
|
+
],
|
|
467
|
+
outcome: result.success
|
|
468
|
+
? successOutcome(result.structured ?? result.output)
|
|
469
|
+
: failureOutcome(result.output),
|
|
470
|
+
agentId: 'delegate',
|
|
471
|
+
wallTimeSeconds: (endTime.getTime() - startTime.getTime()) / 1000,
|
|
472
|
+
});
|
|
473
|
+
|
|
474
|
+
// Build session for observer compatibility
|
|
475
|
+
const session: AgentSession = {
|
|
476
|
+
id: crypto.randomUUID(),
|
|
477
|
+
agentType: 'delegate',
|
|
478
|
+
task: config.task,
|
|
479
|
+
state: result.success ? 'completed' : 'failed',
|
|
480
|
+
messages: [
|
|
481
|
+
{
|
|
482
|
+
role: 'assistant',
|
|
483
|
+
content: result.output,
|
|
484
|
+
timestamp: endTime,
|
|
485
|
+
},
|
|
486
|
+
],
|
|
487
|
+
toolCalls: [],
|
|
488
|
+
startTime,
|
|
489
|
+
endTime,
|
|
490
|
+
result: result.structured ?? result.output,
|
|
491
|
+
error: result.success ? undefined : result.output,
|
|
492
|
+
metadata: {},
|
|
493
|
+
};
|
|
494
|
+
|
|
495
|
+
// Notify observers
|
|
496
|
+
this.notifySessionStart(session);
|
|
497
|
+
this.notifySessionEnd(session, trajectory);
|
|
498
|
+
|
|
499
|
+
return {
|
|
500
|
+
session,
|
|
501
|
+
trajectory,
|
|
502
|
+
success: result.success,
|
|
503
|
+
metrics: {
|
|
504
|
+
totalTime: endTime.getTime() - startTime.getTime(),
|
|
505
|
+
toolCallCount: 0,
|
|
506
|
+
messageCount: 1,
|
|
507
|
+
},
|
|
508
|
+
};
|
|
509
|
+
}
|
|
510
|
+
|
|
363
511
|
/**
|
|
364
512
|
* Spawn an agent WITHOUT knowledge injection (for baseline/control)
|
|
365
513
|
*/
|
|
@@ -435,9 +583,14 @@ export class AgentManager {
|
|
|
435
583
|
const session = this.activeSessions.get(sessionId);
|
|
436
584
|
if (!session) return;
|
|
437
585
|
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
await
|
|
586
|
+
// Resolve backend for this agent type (best-effort, ignore errors)
|
|
587
|
+
try {
|
|
588
|
+
const target = await this.computeProvider.resolve(session.agentType);
|
|
589
|
+
if (target.backend.terminate) {
|
|
590
|
+
await target.backend.terminate(sessionId);
|
|
591
|
+
}
|
|
592
|
+
} catch {
|
|
593
|
+
// Backend may no longer be registered; still clean up session
|
|
441
594
|
}
|
|
442
595
|
|
|
443
596
|
this.activeSessions.delete(sessionId);
|
|
@@ -468,17 +621,6 @@ export class AgentManager {
|
|
|
468
621
|
|
|
469
622
|
// Private helpers
|
|
470
623
|
|
|
471
|
-
private findBackend(agentType: string): AgentBackend | undefined {
|
|
472
|
-
// First try exact match
|
|
473
|
-
for (const backend of this.backends.values()) {
|
|
474
|
-
if (backend.supportedTypes.includes(agentType)) {
|
|
475
|
-
return backend;
|
|
476
|
-
}
|
|
477
|
-
}
|
|
478
|
-
// Then try by backend name
|
|
479
|
-
return this.backends.get(agentType);
|
|
480
|
-
}
|
|
481
|
-
|
|
482
624
|
private async waitForCompletion(
|
|
483
625
|
backend: AgentBackend,
|
|
484
626
|
sessionId: string
|
|
@@ -535,6 +677,8 @@ export function createAgentManager(
|
|
|
535
677
|
options?: {
|
|
536
678
|
injector?: KnowledgeInjector;
|
|
537
679
|
extractor?: TrajectoryExtractor;
|
|
680
|
+
computeProvider?: ComputeProvider;
|
|
681
|
+
delegate?: AgentDelegate;
|
|
538
682
|
}
|
|
539
683
|
): AgentManager {
|
|
540
684
|
return new AgentManager(memory, options);
|