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,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ACP Protocol Handler (Base Class)
|
|
3
|
+
*
|
|
4
|
+
* Extracts the ACP wire protocol handling (processUpdate, runPrompt,
|
|
5
|
+
* session state management) from the monolithic ACPBackend into a
|
|
6
|
+
* reusable base class.
|
|
7
|
+
*
|
|
8
|
+
* Backend implementations (local, remote) extend this and provide
|
|
9
|
+
* their own spawn() / terminate() for their compute environment.
|
|
10
|
+
*/
|
|
11
|
+
import type { Session, ExtendedSessionUpdate } from 'acp-factory';
|
|
12
|
+
import type { AgentSpawnConfig, AgentSession } from '../types.js';
|
|
13
|
+
/**
|
|
14
|
+
* Base session state shared by all ACP backends.
|
|
15
|
+
* Subclasses can extend this with backend-specific fields.
|
|
16
|
+
*/
|
|
17
|
+
export interface ACPSessionBase {
|
|
18
|
+
atlasSession: AgentSession;
|
|
19
|
+
acpSession: Session;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Abstract base class that handles ACP wire protocol concerns:
|
|
23
|
+
* - processUpdate(): Parses ExtendedSessionUpdate into AgentSession messages/tool calls
|
|
24
|
+
* - runPrompt(): Streams updates from an ACP session prompt
|
|
25
|
+
* - Common session accessors (getSession, sendMessage, listSessions)
|
|
26
|
+
*
|
|
27
|
+
* Subclasses provide their own lifecycle management (spawn, terminate).
|
|
28
|
+
*/
|
|
29
|
+
export declare abstract class ACPProtocolHandler<TState extends ACPSessionBase = ACPSessionBase> {
|
|
30
|
+
protected sessions: Map<string, TState>;
|
|
31
|
+
/**
|
|
32
|
+
* Process a session update from the agent.
|
|
33
|
+
* Uses defensive typing since ACP types can vary.
|
|
34
|
+
*/
|
|
35
|
+
protected processUpdate(session: AgentSession, update: ExtendedSessionUpdate, config: AgentSpawnConfig): void;
|
|
36
|
+
/**
|
|
37
|
+
* Run a prompt on an ACP session and collect all streaming updates
|
|
38
|
+
* into the Atlas session.
|
|
39
|
+
*/
|
|
40
|
+
protected runPrompt(state: TState, promptContent: string, config: AgentSpawnConfig): Promise<void>;
|
|
41
|
+
getSession(sessionId: string): Promise<AgentSession | undefined>;
|
|
42
|
+
sendMessage(sessionId: string, message: string): Promise<void>;
|
|
43
|
+
listSessions(): Promise<AgentSession[]>;
|
|
44
|
+
/**
|
|
45
|
+
* Get a raw ACP session for advanced usage
|
|
46
|
+
*/
|
|
47
|
+
getACPSession(sessionId: string): Session | undefined;
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=acp-protocol.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"acp-protocol.d.ts","sourceRoot":"","sources":["../../../src/runtime/backends/acp-protocol.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,EACV,OAAO,EACP,qBAAqB,EACtB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EACV,gBAAgB,EAChB,YAAY,EAGb,MAAM,aAAa,CAAC;AAMrB;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,YAAY,EAAE,YAAY,CAAC;IAC3B,UAAU,EAAE,OAAO,CAAC;CACrB;AAMD;;;;;;;GAOG;AACH,8BAAsB,kBAAkB,CACtC,MAAM,SAAS,cAAc,GAAG,cAAc;IAE9C,SAAS,CAAC,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAa;IAMpD;;;OAGG;IACH,SAAS,CAAC,aAAa,CACrB,OAAO,EAAE,YAAY,EACrB,MAAM,EAAE,qBAAqB,EAC7B,MAAM,EAAE,gBAAgB,GACvB,IAAI;IAuGP;;;OAGG;cACa,SAAS,CACvB,KAAK,EAAE,MAAM,EACb,aAAa,EAAE,MAAM,EACrB,MAAM,EAAE,gBAAgB,GACvB,OAAO,CAAC,IAAI,CAAC;IA2BV,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC;IAIhE,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAe9D,YAAY,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;IAI7C;;OAEG;IACH,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS;CAGtD"}
|
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
// ============================================================
|
|
2
|
+
// Protocol Handler Base Class
|
|
3
|
+
// ============================================================
|
|
4
|
+
/**
|
|
5
|
+
* Abstract base class that handles ACP wire protocol concerns:
|
|
6
|
+
* - processUpdate(): Parses ExtendedSessionUpdate into AgentSession messages/tool calls
|
|
7
|
+
* - runPrompt(): Streams updates from an ACP session prompt
|
|
8
|
+
* - Common session accessors (getSession, sendMessage, listSessions)
|
|
9
|
+
*
|
|
10
|
+
* Subclasses provide their own lifecycle management (spawn, terminate).
|
|
11
|
+
*/
|
|
12
|
+
export class ACPProtocolHandler {
|
|
13
|
+
sessions = new Map();
|
|
14
|
+
// ----------------------------------------------------------
|
|
15
|
+
// Protocol: process a single ACP session update
|
|
16
|
+
// ----------------------------------------------------------
|
|
17
|
+
/**
|
|
18
|
+
* Process a session update from the agent.
|
|
19
|
+
* Uses defensive typing since ACP types can vary.
|
|
20
|
+
*/
|
|
21
|
+
processUpdate(session, update, config) {
|
|
22
|
+
// Cast to any for flexible property access since ACP types are complex unions
|
|
23
|
+
const u = update;
|
|
24
|
+
const updateType = u.sessionUpdate;
|
|
25
|
+
switch (updateType) {
|
|
26
|
+
case 'agent_message_chunk':
|
|
27
|
+
case 'user_message_chunk':
|
|
28
|
+
case 'agent_thought_chunk': {
|
|
29
|
+
// ContentChunk has a single 'content' field (ContentBlock)
|
|
30
|
+
const content = u.content;
|
|
31
|
+
if (content && content.type === 'text' && typeof content.text === 'string') {
|
|
32
|
+
const message = {
|
|
33
|
+
role: updateType === 'user_message_chunk' ? 'user' : 'assistant',
|
|
34
|
+
content: content.text,
|
|
35
|
+
timestamp: new Date(),
|
|
36
|
+
};
|
|
37
|
+
session.messages.push(message);
|
|
38
|
+
config.onMessage?.(message);
|
|
39
|
+
}
|
|
40
|
+
break;
|
|
41
|
+
}
|
|
42
|
+
case 'tool_call': {
|
|
43
|
+
// ToolCall has toolCallId, title, rawInput, status, content, etc.
|
|
44
|
+
const toolCallId = u.toolCallId ?? crypto.randomUUID();
|
|
45
|
+
const title = u.title ?? 'unknown';
|
|
46
|
+
const rawInput = u.rawInput;
|
|
47
|
+
const toolCall = {
|
|
48
|
+
id: toolCallId,
|
|
49
|
+
name: title,
|
|
50
|
+
input: rawInput,
|
|
51
|
+
startTime: new Date(),
|
|
52
|
+
};
|
|
53
|
+
session.toolCalls.push(toolCall);
|
|
54
|
+
config.onToolCall?.(toolCall);
|
|
55
|
+
break;
|
|
56
|
+
}
|
|
57
|
+
case 'tool_call_update': {
|
|
58
|
+
// ToolCallUpdate has toolCallId, status, content, etc.
|
|
59
|
+
const toolCallId = u.toolCallId;
|
|
60
|
+
const status = u.status;
|
|
61
|
+
const content = u.content;
|
|
62
|
+
const existingTc = session.toolCalls.find((t) => t.id === toolCallId);
|
|
63
|
+
if (existingTc) {
|
|
64
|
+
if (status === 'completed' || status === 'failed') {
|
|
65
|
+
existingTc.endTime = new Date();
|
|
66
|
+
}
|
|
67
|
+
if (content && Array.isArray(content)) {
|
|
68
|
+
// Extract text from content blocks
|
|
69
|
+
const outputs = [];
|
|
70
|
+
for (const block of content) {
|
|
71
|
+
if (block.type === 'text' && typeof block.text === 'string') {
|
|
72
|
+
outputs.push(block.text);
|
|
73
|
+
}
|
|
74
|
+
else if (block.type === 'diff' && typeof block.diff === 'string') {
|
|
75
|
+
outputs.push(block.diff);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
if (outputs.length > 0) {
|
|
79
|
+
existingTc.output = outputs.join('\n');
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
if (status === 'failed') {
|
|
83
|
+
existingTc.error = 'Tool call failed';
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
break;
|
|
87
|
+
}
|
|
88
|
+
case 'permission_request': {
|
|
89
|
+
// In auto-approve mode, this shouldn't happen, but log it
|
|
90
|
+
session.messages.push({
|
|
91
|
+
role: 'system',
|
|
92
|
+
content: `Permission requested: ${JSON.stringify(update)}`,
|
|
93
|
+
timestamp: new Date(),
|
|
94
|
+
});
|
|
95
|
+
break;
|
|
96
|
+
}
|
|
97
|
+
case 'plan': {
|
|
98
|
+
// Agent shared its plan
|
|
99
|
+
const plan = u.plan;
|
|
100
|
+
session.messages.push({
|
|
101
|
+
role: 'assistant',
|
|
102
|
+
content: `[Plan] ${JSON.stringify(plan)}`,
|
|
103
|
+
timestamp: new Date(),
|
|
104
|
+
});
|
|
105
|
+
break;
|
|
106
|
+
}
|
|
107
|
+
default:
|
|
108
|
+
// Log other updates for debugging
|
|
109
|
+
session.metadata.lastUpdate = update;
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
// ----------------------------------------------------------
|
|
113
|
+
// Protocol: run a prompt and collect streaming updates
|
|
114
|
+
// ----------------------------------------------------------
|
|
115
|
+
/**
|
|
116
|
+
* Run a prompt on an ACP session and collect all streaming updates
|
|
117
|
+
* into the Atlas session.
|
|
118
|
+
*/
|
|
119
|
+
async runPrompt(state, promptContent, config) {
|
|
120
|
+
const { atlasSession, acpSession } = state;
|
|
121
|
+
try {
|
|
122
|
+
// Stream updates from the agent
|
|
123
|
+
for await (const update of acpSession.prompt(promptContent)) {
|
|
124
|
+
this.processUpdate(atlasSession, update, config);
|
|
125
|
+
}
|
|
126
|
+
// Mark as completed
|
|
127
|
+
atlasSession.state = 'completed';
|
|
128
|
+
atlasSession.endTime = new Date();
|
|
129
|
+
}
|
|
130
|
+
catch (error) {
|
|
131
|
+
atlasSession.state = 'failed';
|
|
132
|
+
atlasSession.error = error instanceof Error ? error.message : 'Unknown error';
|
|
133
|
+
atlasSession.endTime = new Date();
|
|
134
|
+
console.error(`[ACPProtocol] Session ${atlasSession.id} prompt execution failed:`, error instanceof Error ? error.message : String(error));
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
// ----------------------------------------------------------
|
|
138
|
+
// Common session accessors
|
|
139
|
+
// ----------------------------------------------------------
|
|
140
|
+
async getSession(sessionId) {
|
|
141
|
+
return this.sessions.get(sessionId)?.atlasSession;
|
|
142
|
+
}
|
|
143
|
+
async sendMessage(sessionId, message) {
|
|
144
|
+
const state = this.sessions.get(sessionId);
|
|
145
|
+
if (!state) {
|
|
146
|
+
throw new Error('Session not found');
|
|
147
|
+
}
|
|
148
|
+
// Send additional prompt
|
|
149
|
+
for await (const update of state.acpSession.prompt(message)) {
|
|
150
|
+
this.processUpdate(state.atlasSession, update, {
|
|
151
|
+
agentType: state.atlasSession.agentType,
|
|
152
|
+
task: state.atlasSession.task,
|
|
153
|
+
});
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
async listSessions() {
|
|
157
|
+
return Array.from(this.sessions.values()).map((s) => s.atlasSession);
|
|
158
|
+
}
|
|
159
|
+
/**
|
|
160
|
+
* Get a raw ACP session for advanced usage
|
|
161
|
+
*/
|
|
162
|
+
getACPSession(sessionId) {
|
|
163
|
+
return this.sessions.get(sessionId)?.acpSession;
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
//# sourceMappingURL=acp-protocol.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"acp-protocol.js","sourceRoot":"","sources":["../../../src/runtime/backends/acp-protocol.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* ACP Backend using acp-factory
|
|
2
|
+
* Local ACP Backend using acp-factory
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
4
|
+
* Extends ACPProtocolHandler with local process spawning via AgentFactory.
|
|
5
|
+
* The protocol handling (processUpdate, runPrompt, session management) is
|
|
6
|
+
* inherited from the base class so it can be reused by future remote backends.
|
|
6
7
|
*/
|
|
7
|
-
import { AgentHandle,
|
|
8
|
+
import { AgentHandle, type AgentConfig } from 'acp-factory';
|
|
8
9
|
import type { AgentBackend, AgentSpawnConfig, AgentSession } from '../types.js';
|
|
10
|
+
import { ACPProtocolHandler, type ACPSessionBase } from './acp-protocol.js';
|
|
9
11
|
/**
|
|
10
12
|
* ACP agent configuration
|
|
11
13
|
*/
|
|
@@ -14,43 +16,40 @@ export interface ACPAgentConfig extends AgentConfig {
|
|
|
14
16
|
displayName?: string;
|
|
15
17
|
}
|
|
16
18
|
/**
|
|
17
|
-
* ACP
|
|
18
|
-
*
|
|
19
|
+
* Session state for locally-spawned ACP agents.
|
|
20
|
+
* Extends the base with an AgentHandle for process lifecycle.
|
|
19
21
|
*/
|
|
20
|
-
|
|
22
|
+
interface LocalACPSessionState extends ACPSessionBase {
|
|
23
|
+
agentHandle: AgentHandle;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Local ACP Backend
|
|
27
|
+
*
|
|
28
|
+
* Spawns ACP-compatible agents as local processes via AgentFactory.
|
|
29
|
+
* Protocol handling is inherited from ACPProtocolHandler.
|
|
30
|
+
*/
|
|
31
|
+
export declare class LocalACPBackend extends ACPProtocolHandler<LocalACPSessionState> implements AgentBackend {
|
|
21
32
|
readonly name = "acp";
|
|
22
33
|
readonly supportedTypes: string[];
|
|
23
|
-
private sessions;
|
|
24
34
|
private handles;
|
|
25
35
|
constructor(configs: Record<string, ACPAgentConfig>);
|
|
26
36
|
isAvailable(): Promise<boolean>;
|
|
27
37
|
spawn(config: AgentSpawnConfig): Promise<AgentSession>;
|
|
28
|
-
/**
|
|
29
|
-
* Run a prompt and collect all updates
|
|
30
|
-
*/
|
|
31
|
-
private runPrompt;
|
|
32
|
-
/**
|
|
33
|
-
* Process a session update from the agent
|
|
34
|
-
* Uses defensive typing since ACP types can vary
|
|
35
|
-
*/
|
|
36
|
-
private processUpdate;
|
|
37
|
-
getSession(sessionId: string): Promise<AgentSession | undefined>;
|
|
38
|
-
sendMessage(sessionId: string, message: string): Promise<void>;
|
|
39
38
|
terminate(sessionId: string): Promise<void>;
|
|
40
|
-
listSessions(): Promise<AgentSession[]>;
|
|
41
|
-
/**
|
|
42
|
-
* Get a raw ACP session for advanced usage
|
|
43
|
-
*/
|
|
44
|
-
getACPSession(sessionId: string): Session | undefined;
|
|
45
39
|
/**
|
|
46
|
-
* Get a raw agent handle for advanced usage
|
|
40
|
+
* Get a raw agent handle for advanced usage (local-specific)
|
|
47
41
|
*/
|
|
48
42
|
getAgentHandle(sessionId: string): AgentHandle | undefined;
|
|
49
43
|
}
|
|
44
|
+
/**
|
|
45
|
+
* @deprecated Use LocalACPBackend directly. ACPBackend is a backward-compatible alias.
|
|
46
|
+
*/
|
|
47
|
+
export declare const ACPBackend: typeof LocalACPBackend;
|
|
48
|
+
export type ACPBackend = LocalACPBackend;
|
|
50
49
|
/**
|
|
51
50
|
* Create an ACP backend with agent configurations
|
|
52
51
|
*/
|
|
53
|
-
export declare function createACPBackend(configs: Record<string, ACPAgentConfig>):
|
|
52
|
+
export declare function createACPBackend(configs: Record<string, ACPAgentConfig>): LocalACPBackend;
|
|
54
53
|
/**
|
|
55
54
|
* Pre-configured Claude Code agent via claude-code-acp
|
|
56
55
|
*/
|
|
@@ -64,4 +63,5 @@ export declare const claudeCodeDirectConfig: ACPAgentConfig;
|
|
|
64
63
|
* Helper to register common agents
|
|
65
64
|
*/
|
|
66
65
|
export declare function registerCommonAgents(): void;
|
|
66
|
+
export {};
|
|
67
67
|
//# sourceMappingURL=acp.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acp.d.ts","sourceRoot":"","sources":["../../../src/runtime/backends/acp.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"acp.d.ts","sourceRoot":"","sources":["../../../src/runtime/backends/acp.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAEL,WAAW,EACX,KAAK,WAAW,EAEjB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EACV,YAAY,EACZ,gBAAgB,EAChB,YAAY,EACb,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,kBAAkB,EAAE,KAAK,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAM5E;;GAEG;AACH,MAAM,WAAW,cAAe,SAAQ,WAAW;IACjD,iCAAiC;IACjC,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAMD;;;GAGG;AACH,UAAU,oBAAqB,SAAQ,cAAc;IACnD,WAAW,EAAE,WAAW,CAAC;CAC1B;AAMD;;;;;GAKG;AACH,qBAAa,eACX,SAAQ,kBAAkB,CAAC,oBAAoB,CAC/C,YAAW,YAAY;IAEvB,QAAQ,CAAC,IAAI,SAAS;IACtB,QAAQ,CAAC,cAAc,EAAE,MAAM,EAAE,CAAC;IAElC,OAAO,CAAC,OAAO,CAAuC;gBAE1C,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC;IAc7C,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAI/B,KAAK,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,YAAY,CAAC;IAmEtD,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAkCjD;;OAEG;IACH,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS;CAG3D;AAMD;;GAEG;AACH,eAAO,MAAM,UAAU,wBAAkB,CAAC;AAC1C,MAAM,MAAM,UAAU,GAAG,eAAe,CAAC;AAMzC;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,GACtC,eAAe,CAEjB;AAED;;GAEG;AACH,eAAO,MAAM,mBAAmB,EAAE,cAIjC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,sBAAsB,EAAE,cAIpC,CAAC;AAEF;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,IAAI,CAG3C"}
|
|
@@ -1,20 +1,27 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* ACP Backend using acp-factory
|
|
2
|
+
* Local ACP Backend using acp-factory
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
4
|
+
* Extends ACPProtocolHandler with local process spawning via AgentFactory.
|
|
5
|
+
* The protocol handling (processUpdate, runPrompt, session management) is
|
|
6
|
+
* inherited from the base class so it can be reused by future remote backends.
|
|
6
7
|
*/
|
|
7
8
|
import { AgentFactory, } from 'acp-factory';
|
|
9
|
+
import { ACPProtocolHandler } from './acp-protocol.js';
|
|
10
|
+
// ============================================================
|
|
11
|
+
// LocalACPBackend
|
|
12
|
+
// ============================================================
|
|
8
13
|
/**
|
|
9
|
-
* ACP Backend
|
|
10
|
-
*
|
|
14
|
+
* Local ACP Backend
|
|
15
|
+
*
|
|
16
|
+
* Spawns ACP-compatible agents as local processes via AgentFactory.
|
|
17
|
+
* Protocol handling is inherited from ACPProtocolHandler.
|
|
11
18
|
*/
|
|
12
|
-
export class
|
|
19
|
+
export class LocalACPBackend extends ACPProtocolHandler {
|
|
13
20
|
name = 'acp';
|
|
14
21
|
supportedTypes;
|
|
15
|
-
sessions = new Map();
|
|
16
22
|
handles = new Map();
|
|
17
23
|
constructor(configs) {
|
|
24
|
+
super();
|
|
18
25
|
this.supportedTypes = Object.keys(configs);
|
|
19
26
|
// Register all agent configs with AgentFactory
|
|
20
27
|
for (const [name, config] of Object.entries(configs)) {
|
|
@@ -44,7 +51,7 @@ export class ACPBackend {
|
|
|
44
51
|
},
|
|
45
52
|
};
|
|
46
53
|
try {
|
|
47
|
-
// Spawn the agent
|
|
54
|
+
// Spawn the agent locally via AgentFactory
|
|
48
55
|
const spawnOptions = {
|
|
49
56
|
permissionMode: 'auto-approve', // Auto-approve for automated learning
|
|
50
57
|
env: config.env,
|
|
@@ -71,7 +78,7 @@ export class ACPBackend {
|
|
|
71
78
|
if (Object.keys(config.task.context).length > 0) {
|
|
72
79
|
promptContent += `\n\n## Additional Context\n\`\`\`json\n${JSON.stringify(config.task.context, null, 2)}\n\`\`\``;
|
|
73
80
|
}
|
|
74
|
-
// Send prompt and collect updates
|
|
81
|
+
// Send prompt and collect updates (inherited protocol handler)
|
|
75
82
|
await this.runPrompt(state, promptContent, config);
|
|
76
83
|
return atlasSession;
|
|
77
84
|
}
|
|
@@ -79,142 +86,10 @@ export class ACPBackend {
|
|
|
79
86
|
atlasSession.state = 'failed';
|
|
80
87
|
atlasSession.error = error instanceof Error ? error.message : 'Unknown error';
|
|
81
88
|
atlasSession.endTime = new Date();
|
|
82
|
-
console.error(`[
|
|
89
|
+
console.error(`[LocalACPBackend] Session ${atlasSessionId} spawn failed:`, error instanceof Error ? error.message : String(error));
|
|
83
90
|
return atlasSession;
|
|
84
91
|
}
|
|
85
92
|
}
|
|
86
|
-
/**
|
|
87
|
-
* Run a prompt and collect all updates
|
|
88
|
-
*/
|
|
89
|
-
async runPrompt(state, promptContent, config) {
|
|
90
|
-
const { atlasSession, acpSession } = state;
|
|
91
|
-
try {
|
|
92
|
-
// Stream updates from the agent
|
|
93
|
-
for await (const update of acpSession.prompt(promptContent)) {
|
|
94
|
-
this.processUpdate(atlasSession, update, config);
|
|
95
|
-
}
|
|
96
|
-
// Mark as completed
|
|
97
|
-
atlasSession.state = 'completed';
|
|
98
|
-
atlasSession.endTime = new Date();
|
|
99
|
-
}
|
|
100
|
-
catch (error) {
|
|
101
|
-
atlasSession.state = 'failed';
|
|
102
|
-
atlasSession.error = error instanceof Error ? error.message : 'Unknown error';
|
|
103
|
-
atlasSession.endTime = new Date();
|
|
104
|
-
console.error(`[ACPBackend] Session ${atlasSession.id} prompt execution failed:`, error instanceof Error ? error.message : String(error));
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
/**
|
|
108
|
-
* Process a session update from the agent
|
|
109
|
-
* Uses defensive typing since ACP types can vary
|
|
110
|
-
*/
|
|
111
|
-
processUpdate(session, update, config) {
|
|
112
|
-
// Cast to any for flexible property access since ACP types are complex unions
|
|
113
|
-
const u = update;
|
|
114
|
-
const updateType = u.sessionUpdate;
|
|
115
|
-
switch (updateType) {
|
|
116
|
-
case 'agent_message_chunk':
|
|
117
|
-
case 'user_message_chunk':
|
|
118
|
-
case 'agent_thought_chunk': {
|
|
119
|
-
// ContentChunk has a single 'content' field (ContentBlock)
|
|
120
|
-
const content = u.content;
|
|
121
|
-
if (content && content.type === 'text' && typeof content.text === 'string') {
|
|
122
|
-
const message = {
|
|
123
|
-
role: updateType === 'user_message_chunk' ? 'user' : 'assistant',
|
|
124
|
-
content: content.text,
|
|
125
|
-
timestamp: new Date(),
|
|
126
|
-
};
|
|
127
|
-
session.messages.push(message);
|
|
128
|
-
config.onMessage?.(message);
|
|
129
|
-
}
|
|
130
|
-
break;
|
|
131
|
-
}
|
|
132
|
-
case 'tool_call': {
|
|
133
|
-
// ToolCall has toolCallId, title, rawInput, status, content, etc.
|
|
134
|
-
const toolCallId = u.toolCallId ?? crypto.randomUUID();
|
|
135
|
-
const title = u.title ?? 'unknown';
|
|
136
|
-
const rawInput = u.rawInput;
|
|
137
|
-
const toolCall = {
|
|
138
|
-
id: toolCallId,
|
|
139
|
-
name: title,
|
|
140
|
-
input: rawInput,
|
|
141
|
-
startTime: new Date(),
|
|
142
|
-
};
|
|
143
|
-
session.toolCalls.push(toolCall);
|
|
144
|
-
config.onToolCall?.(toolCall);
|
|
145
|
-
break;
|
|
146
|
-
}
|
|
147
|
-
case 'tool_call_update': {
|
|
148
|
-
// ToolCallUpdate has toolCallId, status, content, etc.
|
|
149
|
-
const toolCallId = u.toolCallId;
|
|
150
|
-
const status = u.status;
|
|
151
|
-
const content = u.content;
|
|
152
|
-
const existingTc = session.toolCalls.find((t) => t.id === toolCallId);
|
|
153
|
-
if (existingTc) {
|
|
154
|
-
if (status === 'completed' || status === 'failed') {
|
|
155
|
-
existingTc.endTime = new Date();
|
|
156
|
-
}
|
|
157
|
-
if (content && Array.isArray(content)) {
|
|
158
|
-
// Extract text from content blocks
|
|
159
|
-
const outputs = [];
|
|
160
|
-
for (const block of content) {
|
|
161
|
-
if (block.type === 'text' && typeof block.text === 'string') {
|
|
162
|
-
outputs.push(block.text);
|
|
163
|
-
}
|
|
164
|
-
else if (block.type === 'diff' && typeof block.diff === 'string') {
|
|
165
|
-
outputs.push(block.diff);
|
|
166
|
-
}
|
|
167
|
-
}
|
|
168
|
-
if (outputs.length > 0) {
|
|
169
|
-
existingTc.output = outputs.join('\n');
|
|
170
|
-
}
|
|
171
|
-
}
|
|
172
|
-
if (status === 'failed') {
|
|
173
|
-
existingTc.error = 'Tool call failed';
|
|
174
|
-
}
|
|
175
|
-
}
|
|
176
|
-
break;
|
|
177
|
-
}
|
|
178
|
-
case 'permission_request': {
|
|
179
|
-
// In auto-approve mode, this shouldn't happen, but log it
|
|
180
|
-
session.messages.push({
|
|
181
|
-
role: 'system',
|
|
182
|
-
content: `Permission requested: ${JSON.stringify(update)}`,
|
|
183
|
-
timestamp: new Date(),
|
|
184
|
-
});
|
|
185
|
-
break;
|
|
186
|
-
}
|
|
187
|
-
case 'plan': {
|
|
188
|
-
// Agent shared its plan
|
|
189
|
-
const plan = u.plan;
|
|
190
|
-
session.messages.push({
|
|
191
|
-
role: 'assistant',
|
|
192
|
-
content: `[Plan] ${JSON.stringify(plan)}`,
|
|
193
|
-
timestamp: new Date(),
|
|
194
|
-
});
|
|
195
|
-
break;
|
|
196
|
-
}
|
|
197
|
-
default:
|
|
198
|
-
// Log other updates for debugging
|
|
199
|
-
session.metadata.lastUpdate = update;
|
|
200
|
-
}
|
|
201
|
-
}
|
|
202
|
-
async getSession(sessionId) {
|
|
203
|
-
return this.sessions.get(sessionId)?.atlasSession;
|
|
204
|
-
}
|
|
205
|
-
async sendMessage(sessionId, message) {
|
|
206
|
-
const state = this.sessions.get(sessionId);
|
|
207
|
-
if (!state) {
|
|
208
|
-
throw new Error('Session not found');
|
|
209
|
-
}
|
|
210
|
-
// Send additional prompt
|
|
211
|
-
for await (const update of state.acpSession.prompt(message)) {
|
|
212
|
-
this.processUpdate(state.atlasSession, update, {
|
|
213
|
-
agentType: state.atlasSession.agentType,
|
|
214
|
-
task: state.atlasSession.task,
|
|
215
|
-
});
|
|
216
|
-
}
|
|
217
|
-
}
|
|
218
93
|
async terminate(sessionId) {
|
|
219
94
|
const state = this.sessions.get(sessionId);
|
|
220
95
|
if (!state)
|
|
@@ -225,15 +100,15 @@ export class ACPBackend {
|
|
|
225
100
|
}
|
|
226
101
|
catch (error) {
|
|
227
102
|
// Log cancellation errors but don't throw
|
|
228
|
-
console.error(`[
|
|
103
|
+
console.error(`[LocalACPBackend] Session ${sessionId} cancel error:`, error instanceof Error ? error.message : String(error));
|
|
229
104
|
}
|
|
230
105
|
try {
|
|
231
|
-
// Close the agent handle
|
|
106
|
+
// Close the local agent handle
|
|
232
107
|
await state.agentHandle.close();
|
|
233
108
|
}
|
|
234
109
|
catch (error) {
|
|
235
110
|
// Log close errors but don't throw
|
|
236
|
-
console.error(`[
|
|
111
|
+
console.error(`[LocalACPBackend] Session ${sessionId} close error:`, error instanceof Error ? error.message : String(error));
|
|
237
112
|
}
|
|
238
113
|
state.atlasSession.state = 'failed';
|
|
239
114
|
state.atlasSession.error = 'Terminated';
|
|
@@ -241,27 +116,28 @@ export class ACPBackend {
|
|
|
241
116
|
this.sessions.delete(sessionId);
|
|
242
117
|
this.handles.delete(sessionId);
|
|
243
118
|
}
|
|
244
|
-
async listSessions() {
|
|
245
|
-
return Array.from(this.sessions.values()).map((s) => s.atlasSession);
|
|
246
|
-
}
|
|
247
|
-
/**
|
|
248
|
-
* Get a raw ACP session for advanced usage
|
|
249
|
-
*/
|
|
250
|
-
getACPSession(sessionId) {
|
|
251
|
-
return this.sessions.get(sessionId)?.acpSession;
|
|
252
|
-
}
|
|
253
119
|
/**
|
|
254
|
-
* Get a raw agent handle for advanced usage
|
|
120
|
+
* Get a raw agent handle for advanced usage (local-specific)
|
|
255
121
|
*/
|
|
256
122
|
getAgentHandle(sessionId) {
|
|
257
123
|
return this.sessions.get(sessionId)?.agentHandle;
|
|
258
124
|
}
|
|
259
125
|
}
|
|
126
|
+
// ============================================================
|
|
127
|
+
// Backward-compatible alias
|
|
128
|
+
// ============================================================
|
|
129
|
+
/**
|
|
130
|
+
* @deprecated Use LocalACPBackend directly. ACPBackend is a backward-compatible alias.
|
|
131
|
+
*/
|
|
132
|
+
export const ACPBackend = LocalACPBackend;
|
|
133
|
+
// ============================================================
|
|
134
|
+
// Factory helpers
|
|
135
|
+
// ============================================================
|
|
260
136
|
/**
|
|
261
137
|
* Create an ACP backend with agent configurations
|
|
262
138
|
*/
|
|
263
139
|
export function createACPBackend(configs) {
|
|
264
|
-
return new
|
|
140
|
+
return new LocalACPBackend(configs);
|
|
265
141
|
}
|
|
266
142
|
/**
|
|
267
143
|
* Pre-configured Claude Code agent via claude-code-acp
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acp.js","sourceRoot":"","sources":["../../../src/runtime/backends/acp.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"acp.js","sourceRoot":"","sources":["../../../src/runtime/backends/acp.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
export { SubprocessBackend, createSubprocessBackend, claudeCodeConfig, type SubprocessAgentConfig, } from './subprocess.js';
|
|
2
2
|
export { MockBackend, createMockBackend, type MockAgentBehavior, } from './mock.js';
|
|
3
|
-
export { ACPBackend, createACPBackend, claudeCodeACPConfig, claudeCodeDirectConfig, registerCommonAgents, type ACPAgentConfig, } from './acp.js';
|
|
3
|
+
export { LocalACPBackend, ACPBackend, createACPBackend, claudeCodeACPConfig, claudeCodeDirectConfig, registerCommonAgents, type ACPAgentConfig, } from './acp.js';
|
|
4
|
+
export { ACPProtocolHandler, type ACPSessionBase, } from './acp-protocol.js';
|
|
5
|
+
export { MacroAgentBackendAdapter, adaptMacroBackend, createMacroAgentSource, type MacroAgentBackendLike, type MacroSessionLike, } from './macro-agent.js';
|
|
4
6
|
export { AgentFactory } from 'acp-factory';
|
|
5
7
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/runtime/backends/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,uBAAuB,EACvB,gBAAgB,EAChB,KAAK,qBAAqB,GAC3B,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,WAAW,EACX,iBAAiB,EACjB,KAAK,iBAAiB,GACvB,MAAM,WAAW,CAAC;AAEnB,OAAO,EACL,UAAU,EACV,gBAAgB,EAChB,mBAAmB,EACnB,sBAAsB,EACtB,oBAAoB,EACpB,KAAK,cAAc,GACpB,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/runtime/backends/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,uBAAuB,EACvB,gBAAgB,EAChB,KAAK,qBAAqB,GAC3B,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,WAAW,EACX,iBAAiB,EACjB,KAAK,iBAAiB,GACvB,MAAM,WAAW,CAAC;AAEnB,OAAO,EACL,eAAe,EACf,UAAU,EACV,gBAAgB,EAChB,mBAAmB,EACnB,sBAAsB,EACtB,oBAAoB,EACpB,KAAK,cAAc,GACpB,MAAM,UAAU,CAAC;AAElB,OAAO,EACL,kBAAkB,EAClB,KAAK,cAAc,GACpB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,wBAAwB,EACxB,iBAAiB,EACjB,sBAAsB,EACtB,KAAK,qBAAqB,EAC1B,KAAK,gBAAgB,GACtB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
export { SubprocessBackend, createSubprocessBackend, claudeCodeConfig, } from './subprocess.js';
|
|
2
2
|
export { MockBackend, createMockBackend, } from './mock.js';
|
|
3
|
-
export { ACPBackend, createACPBackend, claudeCodeACPConfig, claudeCodeDirectConfig, registerCommonAgents, } from './acp.js';
|
|
3
|
+
export { LocalACPBackend, ACPBackend, createACPBackend, claudeCodeACPConfig, claudeCodeDirectConfig, registerCommonAgents, } from './acp.js';
|
|
4
|
+
export { ACPProtocolHandler, } from './acp-protocol.js';
|
|
5
|
+
export { MacroAgentBackendAdapter, adaptMacroBackend, createMacroAgentSource, } from './macro-agent.js';
|
|
4
6
|
// Re-export useful types from acp-factory
|
|
5
7
|
export { AgentFactory } from 'acp-factory';
|
|
6
8
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/runtime/backends/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,uBAAuB,EACvB,gBAAgB,GAEjB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,WAAW,EACX,iBAAiB,GAElB,MAAM,WAAW,CAAC;AAEnB,OAAO,EACL,UAAU,EACV,gBAAgB,EAChB,mBAAmB,EACnB,sBAAsB,EACtB,oBAAoB,GAErB,MAAM,UAAU,CAAC;AAElB,0CAA0C;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/runtime/backends/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,uBAAuB,EACvB,gBAAgB,GAEjB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,WAAW,EACX,iBAAiB,GAElB,MAAM,WAAW,CAAC;AAEnB,OAAO,EACL,eAAe,EACf,UAAU,EACV,gBAAgB,EAChB,mBAAmB,EACnB,sBAAsB,EACtB,oBAAoB,GAErB,MAAM,UAAU,CAAC;AAElB,OAAO,EACL,kBAAkB,GAEnB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,wBAAwB,EACxB,iBAAiB,EACjB,sBAAsB,GAGvB,MAAM,kBAAkB,CAAC;AAE1B,0CAA0C;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC"}
|