cognitive-core 0.0.2 → 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 +563 -107
- package/SKILL.md +193 -0
- package/dist/agents/index.d.ts +3 -0
- package/dist/agents/index.d.ts.map +1 -0
- package/dist/agents/index.js +5 -0
- package/dist/agents/index.js.map +1 -0
- package/dist/agents/mock-provider.d.ts +23 -0
- package/dist/agents/mock-provider.d.ts.map +1 -0
- package/dist/agents/mock-provider.js +71 -0
- package/dist/agents/mock-provider.js.map +1 -0
- package/dist/agents/types.d.ts +98 -0
- package/dist/agents/types.d.ts.map +1 -0
- package/dist/agents/types.js +44 -0
- package/dist/agents/types.js.map +1 -0
- package/dist/atlas.d.ts +334 -0
- package/dist/atlas.d.ts.map +1 -0
- package/dist/atlas.js +702 -0
- package/dist/atlas.js.map +1 -0
- package/dist/bin/cognitive-core.d.ts +18 -0
- package/dist/bin/cognitive-core.d.ts.map +1 -0
- package/dist/bin/cognitive-core.js +419 -0
- package/dist/bin/cognitive-core.js.map +1 -0
- package/dist/embeddings/bm25.d.ts +104 -0
- package/dist/embeddings/bm25.d.ts.map +1 -0
- package/dist/embeddings/bm25.js +264 -0
- package/dist/embeddings/bm25.js.map +1 -0
- package/dist/embeddings/index.d.ts +12 -0
- package/dist/embeddings/index.d.ts.map +1 -0
- package/dist/embeddings/index.js +16 -0
- package/dist/embeddings/index.js.map +1 -0
- package/dist/embeddings/manager.d.ts +112 -0
- package/dist/embeddings/manager.d.ts.map +1 -0
- package/dist/embeddings/manager.js +215 -0
- package/dist/embeddings/manager.js.map +1 -0
- package/dist/embeddings/provider.d.ts +101 -0
- package/dist/embeddings/provider.d.ts.map +1 -0
- package/dist/embeddings/provider.js +235 -0
- package/dist/embeddings/provider.js.map +1 -0
- package/dist/embeddings/vector-store.d.ts +101 -0
- package/dist/embeddings/vector-store.d.ts.map +1 -0
- package/dist/embeddings/vector-store.js +256 -0
- package/dist/embeddings/vector-store.js.map +1 -0
- package/dist/factory.d.ts +193 -0
- package/dist/factory.d.ts.map +1 -0
- package/dist/factory.js +109 -0
- package/dist/factory.js.map +1 -0
- package/dist/index.d.ts +32 -453
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +115 -509
- package/dist/index.js.map +1 -0
- package/dist/learning/analyzer.d.ts +110 -0
- package/dist/learning/analyzer.d.ts.map +1 -0
- package/dist/learning/analyzer.js +213 -0
- package/dist/learning/analyzer.js.map +1 -0
- package/dist/learning/effectiveness.d.ts +158 -0
- package/dist/learning/effectiveness.d.ts.map +1 -0
- package/dist/learning/effectiveness.js +251 -0
- package/dist/learning/effectiveness.js.map +1 -0
- package/dist/learning/index.d.ts +12 -0
- package/dist/learning/index.d.ts.map +1 -0
- package/dist/learning/index.js +17 -0
- package/dist/learning/index.js.map +1 -0
- 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/llm-extractor.d.ts +88 -0
- package/dist/learning/llm-extractor.d.ts.map +1 -0
- package/dist/learning/llm-extractor.js +372 -0
- package/dist/learning/llm-extractor.js.map +1 -0
- package/dist/learning/meta-learner.d.ts +87 -0
- package/dist/learning/meta-learner.d.ts.map +1 -0
- package/dist/learning/meta-learner.js +398 -0
- package/dist/learning/meta-learner.js.map +1 -0
- package/dist/learning/pipeline.d.ts +89 -0
- package/dist/learning/pipeline.d.ts.map +1 -0
- package/dist/learning/pipeline.js +236 -0
- package/dist/learning/pipeline.js.map +1 -0
- package/dist/learning/playbook-extractor.d.ts +113 -0
- package/dist/learning/playbook-extractor.d.ts.map +1 -0
- package/dist/learning/playbook-extractor.js +523 -0
- package/dist/learning/playbook-extractor.js.map +1 -0
- 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/learning/usage-inference.d.ts +82 -0
- package/dist/learning/usage-inference.d.ts.map +1 -0
- package/dist/learning/usage-inference.js +261 -0
- package/dist/learning/usage-inference.js.map +1 -0
- package/dist/mcp/index.d.ts +6 -0
- package/dist/mcp/index.d.ts.map +1 -0
- package/dist/mcp/index.js +6 -0
- package/dist/mcp/index.js.map +1 -0
- package/dist/mcp/playbook-server.d.ts +120 -0
- package/dist/mcp/playbook-server.d.ts.map +1 -0
- package/dist/mcp/playbook-server.js +427 -0
- package/dist/mcp/playbook-server.js.map +1 -0
- package/dist/memory/curated-loader.d.ts +62 -0
- package/dist/memory/curated-loader.d.ts.map +1 -0
- package/dist/memory/curated-loader.js +106 -0
- package/dist/memory/curated-loader.js.map +1 -0
- package/dist/memory/experience.d.ts +122 -0
- package/dist/memory/experience.d.ts.map +1 -0
- package/dist/memory/experience.js +392 -0
- package/dist/memory/experience.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 +14 -0
- package/dist/memory/index.d.ts.map +1 -0
- package/dist/memory/index.js +19 -0
- package/dist/memory/index.js.map +1 -0
- 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/meta.d.ts +90 -0
- package/dist/memory/meta.d.ts.map +1 -0
- package/dist/memory/meta.js +362 -0
- package/dist/memory/meta.js.map +1 -0
- package/dist/memory/playbook.d.ts +133 -0
- package/dist/memory/playbook.d.ts.map +1 -0
- package/dist/memory/playbook.js +357 -0
- package/dist/memory/playbook.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 +179 -0
- package/dist/memory/system.d.ts.map +1 -0
- package/dist/memory/system.js +421 -0
- package/dist/memory/system.js.map +1 -0
- 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 +67 -0
- package/dist/runtime/backends/acp.d.ts.map +1 -0
- package/dist/runtime/backends/acp.js +166 -0
- package/dist/runtime/backends/acp.js.map +1 -0
- package/dist/runtime/backends/index.d.ts +7 -0
- package/dist/runtime/backends/index.d.ts.map +1 -0
- package/dist/runtime/backends/index.js +8 -0
- package/dist/runtime/backends/index.js.map +1 -0
- 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/backends/mock.d.ts +67 -0
- package/dist/runtime/backends/mock.d.ts.map +1 -0
- package/dist/runtime/backends/mock.js +153 -0
- package/dist/runtime/backends/mock.js.map +1 -0
- package/dist/runtime/backends/subprocess.d.ts +56 -0
- package/dist/runtime/backends/subprocess.d.ts.map +1 -0
- package/dist/runtime/backends/subprocess.js +260 -0
- package/dist/runtime/backends/subprocess.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/flows/learning.d.ts +73 -0
- package/dist/runtime/flows/learning.d.ts.map +1 -0
- package/dist/runtime/flows/learning.js +116 -0
- package/dist/runtime/flows/learning.js.map +1 -0
- package/dist/runtime/flows/validation.d.ts +122 -0
- package/dist/runtime/flows/validation.d.ts.map +1 -0
- package/dist/runtime/flows/validation.js +223 -0
- package/dist/runtime/flows/validation.js.map +1 -0
- package/dist/runtime/index.d.ts +7 -0
- package/dist/runtime/index.d.ts.map +1 -0
- package/dist/runtime/index.js +10 -0
- package/dist/runtime/index.js.map +1 -0
- package/dist/runtime/manager.d.ts +149 -0
- package/dist/runtime/manager.d.ts.map +1 -0
- package/dist/runtime/manager.js +535 -0
- package/dist/runtime/manager.js.map +1 -0
- package/dist/runtime/types.d.ts +176 -0
- package/dist/runtime/types.d.ts.map +1 -0
- package/dist/runtime/types.js +2 -0
- package/dist/runtime/types.js.map +1 -0
- package/dist/search/evaluator.d.ts +109 -0
- package/dist/search/evaluator.d.ts.map +1 -0
- package/dist/search/evaluator.js +372 -0
- package/dist/search/evaluator.js.map +1 -0
- package/dist/search/index.d.ts +8 -0
- package/dist/search/index.d.ts.map +1 -0
- package/dist/search/index.js +13 -0
- package/dist/search/index.js.map +1 -0
- package/dist/search/refinement-loop.d.ts +90 -0
- package/dist/search/refinement-loop.d.ts.map +1 -0
- package/dist/search/refinement-loop.js +316 -0
- package/dist/search/refinement-loop.js.map +1 -0
- package/dist/search/refinement-types.d.ts +154 -0
- package/dist/search/refinement-types.d.ts.map +1 -0
- package/dist/search/refinement-types.js +99 -0
- package/dist/search/refinement-types.js.map +1 -0
- package/dist/search/router.d.ts +61 -0
- package/dist/search/router.d.ts.map +1 -0
- package/dist/search/router.js +197 -0
- package/dist/search/router.js.map +1 -0
- package/dist/search/solver.d.ts +75 -0
- package/dist/search/solver.d.ts.map +1 -0
- package/dist/search/solver.js +216 -0
- package/dist/search/solver.js.map +1 -0
- 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/search/verification-runner.d.ts +125 -0
- package/dist/search/verification-runner.d.ts.map +1 -0
- package/dist/search/verification-runner.js +440 -0
- package/dist/search/verification-runner.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 +6 -0
- package/dist/surfacing/index.d.ts.map +1 -0
- package/dist/surfacing/index.js +5 -0
- package/dist/surfacing/index.js.map +1 -0
- 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 +170 -0
- package/dist/surfacing/skill-library.d.ts.map +1 -0
- package/dist/surfacing/skill-library.js +455 -0
- package/dist/surfacing/skill-library.js.map +1 -0
- 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 +2287 -0
- package/dist/types/config.d.ts.map +1 -0
- package/dist/types/config.js +490 -0
- package/dist/types/config.js.map +1 -0
- 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 +16 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +26 -0
- package/dist/types/index.js.map +1 -0
- 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/memory.d.ts +339 -0
- package/dist/types/memory.d.ts.map +1 -0
- package/dist/types/memory.js +207 -0
- package/dist/types/memory.js.map +1 -0
- package/dist/types/meta.d.ts +146 -0
- package/dist/types/meta.d.ts.map +1 -0
- package/dist/types/meta.js +51 -0
- package/dist/types/meta.js.map +1 -0
- package/dist/types/outcome.d.ts +42 -0
- package/dist/types/outcome.d.ts.map +1 -0
- package/dist/types/outcome.js +50 -0
- package/dist/types/outcome.js.map +1 -0
- package/dist/types/playbook.d.ts +119 -0
- package/dist/types/playbook.d.ts.map +1 -0
- package/dist/types/playbook.js +71 -0
- package/dist/types/playbook.js.map +1 -0
- package/dist/types/step.d.ts +44 -0
- package/dist/types/step.d.ts.map +1 -0
- package/dist/types/step.js +32 -0
- package/dist/types/step.js.map +1 -0
- package/dist/types/task.d.ts +91 -0
- package/dist/types/task.d.ts.map +1 -0
- package/dist/types/task.js +39 -0
- package/dist/types/task.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/types/trajectory.d.ts +221 -0
- package/dist/types/trajectory.d.ts.map +1 -0
- package/dist/types/trajectory.js +60 -0
- package/dist/types/trajectory.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 +5 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +5 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/similarity.d.ts +31 -0
- package/dist/utils/similarity.d.ts.map +1 -0
- package/dist/utils/similarity.js +107 -0
- package/dist/utils/similarity.js.map +1 -0
- package/dist/utils/storage.d.ts +106 -0
- package/dist/utils/storage.d.ts.map +1 -0
- package/dist/utils/storage.js +203 -0
- package/dist/utils/storage.js.map +1 -0
- package/dist/utils/validation.d.ts +129 -0
- package/dist/utils/validation.d.ts.map +1 -0
- package/dist/utils/validation.js +171 -0
- package/dist/utils/validation.js.map +1 -0
- 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 +67 -33
- 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/scripts/migrate-to-playbooks.ts +307 -0
- package/src/agents/index.ts +14 -0
- package/src/agents/mock-provider.ts +93 -0
- package/src/agents/types.ts +137 -0
- package/src/atlas.ts +1072 -0
- package/src/bin/cognitive-core.ts +470 -0
- package/src/embeddings/bm25.ts +337 -0
- package/src/embeddings/index.ts +39 -0
- package/src/embeddings/manager.ts +288 -0
- package/src/embeddings/provider.ts +318 -0
- package/src/embeddings/vector-store.ts +353 -0
- package/src/factory.ts +263 -0
- package/src/index.ts +368 -0
- package/src/learning/analyzer.ts +335 -0
- package/src/learning/effectiveness.ts +428 -0
- package/src/learning/index.ts +93 -0
- package/src/learning/knowledge-extractor.ts +470 -0
- package/src/learning/meta-learner.ts +570 -0
- package/src/learning/pipeline.ts +323 -0
- package/src/learning/playbook-extractor.ts +702 -0
- 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/learning/usage-inference.ts +372 -0
- package/src/mcp/index.ts +12 -0
- package/src/mcp/playbook-server.ts +565 -0
- package/src/memory/curated-loader.ts +160 -0
- package/src/memory/experience.ts +515 -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 +72 -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/meta.ts +506 -0
- package/src/memory/playbook.ts +493 -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 +604 -0
- package/src/memory/team-experience.ts +604 -0
- package/src/runtime/backends/acp-protocol.ts +231 -0
- package/src/runtime/backends/acp.ts +239 -0
- package/src/runtime/backends/index.ts +38 -0
- package/src/runtime/backends/macro-agent.ts +177 -0
- package/src/runtime/backends/mock.ts +218 -0
- package/src/runtime/backends/subprocess.ts +356 -0
- package/src/runtime/compute-provider.ts +206 -0
- package/src/runtime/flows/learning.ts +183 -0
- package/src/runtime/flows/validation.ts +381 -0
- package/src/runtime/index.ts +75 -0
- package/src/runtime/manager.ts +685 -0
- package/src/runtime/types.ts +198 -0
- package/src/search/evaluator.ts +499 -0
- package/src/search/index.ts +68 -0
- package/src/search/refinement-loop.ts +457 -0
- package/src/search/refinement-types.ts +159 -0
- package/src/search/router.ts +261 -0
- package/src/search/solver.ts +303 -0
- package/src/search/team-router.ts +459 -0
- package/src/search/verification-runner.ts +570 -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 +29 -0
- package/src/surfacing/publisher.ts +23 -0
- package/src/surfacing/skill-library.ts +625 -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 +585 -0
- package/src/types/dataclaw.ts +99 -0
- package/src/types/huggingface-transformers.d.ts +12 -0
- package/src/types/index.ts +286 -0
- package/src/types/knowledge-graph.ts +246 -0
- package/src/types/knowledge.ts +388 -0
- package/src/types/memory.ts +270 -0
- package/src/types/meta.ts +218 -0
- package/src/types/outcome.ts +66 -0
- package/src/types/playbook.ts +196 -0
- package/src/types/step.ts +40 -0
- package/src/types/task.ts +52 -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/types/trajectory.ts +80 -0
- package/src/utils/frontmatter.ts +118 -0
- package/src/utils/index.ts +45 -0
- package/src/utils/similarity.ts +139 -0
- package/src/utils/storage.ts +249 -0
- package/src/utils/validation.ts +286 -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/embeddings/bm25.test.ts +130 -0
- package/tests/embeddings/manager.test.ts +205 -0
- package/tests/gap-fixes.test.ts +1103 -0
- package/tests/integration/atlas.test.ts +266 -0
- package/tests/integration/dataclaw-e2e.test.ts +559 -0
- package/tests/integration/e2e.test.ts +1336 -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/analyzer.test.ts +426 -0
- package/tests/learning/dataclaw-trajectory-source.test.ts +642 -0
- package/tests/learning/effectiveness.test.ts +542 -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/pipeline.test.ts +176 -0
- package/tests/learning/playbook-extractor-provenance.test.ts +114 -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/learning/usage-inference.test.ts +254 -0
- package/tests/mcp/playbook-server.test.ts +252 -0
- package/tests/memory/experience.test.ts +198 -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/playbook.test.ts +338 -0
- package/tests/memory/provenance.test.ts +639 -0
- package/tests/memory/skill-exporter.test.ts +470 -0
- package/tests/memory/system.test.ts +325 -0
- package/tests/memory/team-experience.test.ts +411 -0
- package/tests/runtime/agent-manager.test.ts +512 -0
- 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/runtime/mock-backend.test.ts +248 -0
- package/tests/search/refinement-loop.test.ts +468 -0
- package/tests/search/refinement.test.ts +267 -0
- package/tests/search/router.test.ts +427 -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-library.test.ts +292 -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/outcome.test.ts +147 -0
- package/tests/types/step.test.ts +133 -0
- package/tests/types/task.test.ts +158 -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/types/trajectory.test.ts +253 -0
- package/tests/utils/frontmatter.test.ts +208 -0
- package/tests/utils/similarity.test.ts +188 -0
- package/tests/utils/validation.test.ts +252 -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/tsconfig.json +25 -0
- package/vitest.config.ts +22 -0
- package/dist/index.d.mts +0 -466
- package/dist/index.mjs +0 -478
|
@@ -0,0 +1,221 @@
|
|
|
1
|
+
# Integration Gaps Tracking - v1
|
|
2
|
+
|
|
3
|
+
This document tracks the remaining work to complete the skill indexer integration as defined in [INTEGRATION_PLAN.md](./INTEGRATION_PLAN.md).
|
|
4
|
+
|
|
5
|
+
## Status Overview
|
|
6
|
+
|
|
7
|
+
| Phase | Status | Completion |
|
|
8
|
+
|-------|--------|------------|
|
|
9
|
+
| Phase 1: Import Pipeline | ✅ Complete | 100% |
|
|
10
|
+
| Phase 2: CLI Unification | ✅ Complete | 100% |
|
|
11
|
+
| Phase 3: Unified Storage | ✅ Complete | 100% |
|
|
12
|
+
| Phase 4: Direct Integration | ✅ Complete | 100% |
|
|
13
|
+
| Phase 5: Bidirectional Sync | ✅ Complete | 100% |
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## High Priority Items
|
|
18
|
+
|
|
19
|
+
### 1. Unified Configuration System
|
|
20
|
+
|
|
21
|
+
**Status**: ✅ Complete
|
|
22
|
+
|
|
23
|
+
**Goal**: Single config file for both skill-tree and indexer settings.
|
|
24
|
+
|
|
25
|
+
**Location**: `~/.skill-tree/config.yaml`
|
|
26
|
+
|
|
27
|
+
**Tasks**:
|
|
28
|
+
- [x] Create `src/config/` module
|
|
29
|
+
- [x] Define `SkillTreeConfig` interface
|
|
30
|
+
- [x] Implement config file loading with defaults
|
|
31
|
+
- [x] Support environment variable substitution
|
|
32
|
+
- [x] Integrate with CLI global options
|
|
33
|
+
- [x] Integrate with IndexerService
|
|
34
|
+
|
|
35
|
+
**Files Created**:
|
|
36
|
+
- `src/config/types.ts` - Configuration type definitions
|
|
37
|
+
- `src/config/loader.ts` - Config loading and merging logic
|
|
38
|
+
- `src/config/index.ts` - Module exports
|
|
39
|
+
- `src/cli/commands/config.ts` - CLI config command
|
|
40
|
+
|
|
41
|
+
**Config Schema**:
|
|
42
|
+
```yaml
|
|
43
|
+
storage:
|
|
44
|
+
type: sqlite | filesystem | memory
|
|
45
|
+
path: ~/.skill-tree/skills.db
|
|
46
|
+
|
|
47
|
+
indexer:
|
|
48
|
+
github_token: ${GITHUB_TOKEN}
|
|
49
|
+
anthropic_key: ${ANTHROPIC_API_KEY}
|
|
50
|
+
sources:
|
|
51
|
+
- https://github.com/VoltAgent/awesome-agent-skills
|
|
52
|
+
batch_size: 10
|
|
53
|
+
min_confidence: 0.7
|
|
54
|
+
|
|
55
|
+
matching:
|
|
56
|
+
embedding_model: text-embedding-3-small
|
|
57
|
+
similarity_threshold: 0.8
|
|
58
|
+
|
|
59
|
+
sync:
|
|
60
|
+
auto_check: false
|
|
61
|
+
check_interval_hours: 24
|
|
62
|
+
conflict_resolution: prompt
|
|
63
|
+
|
|
64
|
+
cli:
|
|
65
|
+
output_format: table
|
|
66
|
+
color: true
|
|
67
|
+
quiet: false
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
---
|
|
71
|
+
|
|
72
|
+
### 2. IndexerService Direct Execution
|
|
73
|
+
|
|
74
|
+
**Status**: ✅ Complete
|
|
75
|
+
|
|
76
|
+
**Goal**: CLI commands execute directly instead of delegating to subprocess.
|
|
77
|
+
|
|
78
|
+
**Tasks**:
|
|
79
|
+
- [x] Update `IndexerService.initialize()` to properly load scraper modules
|
|
80
|
+
- [x] Implement `scrape()` method with actual scraper integration
|
|
81
|
+
- [x] Implement `classify()` method with actual indexer integration
|
|
82
|
+
- [x] Implement `detectRelationships()` method
|
|
83
|
+
- [x] Implement `getTaxonomyTree()` using storage adapter
|
|
84
|
+
- [x] Implement `getStats()` method
|
|
85
|
+
- [x] Update CLI commands to use IndexerService directly
|
|
86
|
+
- [x] Add fallback to subprocess if modules unavailable
|
|
87
|
+
|
|
88
|
+
**Files Modified**:
|
|
89
|
+
- `src/services/indexer.ts` - Full IndexerService implementation
|
|
90
|
+
- `src/cli/commands/indexer/scrape.ts` - Direct execution with fallback
|
|
91
|
+
- `src/cli/commands/indexer/classify.ts` - Direct execution with fallback
|
|
92
|
+
- `src/cli/commands/indexer/taxonomy.ts` - Direct execution with fallback
|
|
93
|
+
- `src/cli/commands/indexer/relationships.ts` - Direct execution with fallback
|
|
94
|
+
- `src/cli/commands/indexer/stats.ts` - Direct execution with fallback
|
|
95
|
+
|
|
96
|
+
---
|
|
97
|
+
|
|
98
|
+
## Medium Priority Items
|
|
99
|
+
|
|
100
|
+
### 3. Direct SkillBank Integration
|
|
101
|
+
|
|
102
|
+
**Status**: ✅ Complete
|
|
103
|
+
|
|
104
|
+
**Goal**: IndexerService writes directly to SkillBank, no export/import step.
|
|
105
|
+
|
|
106
|
+
**Tasks**:
|
|
107
|
+
- [x] Implement `IndexerService.scrapeAndIndex()` method
|
|
108
|
+
- [x] Convert scraped skills on-the-fly using converter
|
|
109
|
+
- [x] Store directly via SkillBank.addSkill()
|
|
110
|
+
- [x] Auto-place in taxonomy after save
|
|
111
|
+
- [x] Update `skill-tree index scrape` to use direct integration
|
|
112
|
+
|
|
113
|
+
**Files Modified**:
|
|
114
|
+
- `src/services/indexer.ts` - Added `scrapeAndIndex()` method
|
|
115
|
+
- `src/skill-bank.ts` - Added `addSkill()` method with taxonomy placement
|
|
116
|
+
- `src/cli/commands/indexer/scrape.ts` - Added `--import` flag for auto-import
|
|
117
|
+
|
|
118
|
+
**Workflow After**:
|
|
119
|
+
```bash
|
|
120
|
+
# One command does everything
|
|
121
|
+
skill-tree index scrape https://github.com/org/repo
|
|
122
|
+
# Skills immediately available in skill-tree
|
|
123
|
+
skill-tree list
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
---
|
|
127
|
+
|
|
128
|
+
### 4. SkillBank Event System
|
|
129
|
+
|
|
130
|
+
**Status**: ✅ Complete
|
|
131
|
+
|
|
132
|
+
**Goal**: Event-driven hooks for skill lifecycle.
|
|
133
|
+
|
|
134
|
+
**Tasks**:
|
|
135
|
+
- [x] Add EventEmitter to SkillBank (already existed via `on()`)
|
|
136
|
+
- [x] Define event types: `skill:created`, `skill:updated`, `skill:deleted`
|
|
137
|
+
- [x] Emit events from `addSkill()`, `updateSkill()`, `deleteSkill()`
|
|
138
|
+
- [x] Hook relationship detection to `skill:created` for imported skills
|
|
139
|
+
- [x] Add `on()` and `off()` methods to SkillBank API
|
|
140
|
+
- [x] Add `onEvent()` for typed event subscriptions
|
|
141
|
+
- [x] Add `getStorage()` for advanced integration
|
|
142
|
+
|
|
143
|
+
**Files Modified**:
|
|
144
|
+
- `src/skill-bank.ts` - Enhanced event system with `off()`, `onEvent()`, `getStorage()`
|
|
145
|
+
|
|
146
|
+
**Event Interface**:
|
|
147
|
+
```typescript
|
|
148
|
+
interface SkillEvent {
|
|
149
|
+
type: 'skill:created' | 'skill:updated' | 'skill:deleted' | 'skill:deprecated';
|
|
150
|
+
skill: Skill;
|
|
151
|
+
timestamp: Date;
|
|
152
|
+
source?: 'manual' | 'imported' | 'extracted';
|
|
153
|
+
}
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
---
|
|
157
|
+
|
|
158
|
+
## Lower Priority Items
|
|
159
|
+
|
|
160
|
+
### 5. Bidirectional Sync
|
|
161
|
+
|
|
162
|
+
**Status**: ✅ Complete
|
|
163
|
+
|
|
164
|
+
**Goal**: Keep skills in sync with remote sources.
|
|
165
|
+
|
|
166
|
+
**Tasks**:
|
|
167
|
+
- [x] Create `src/services/sync.ts`
|
|
168
|
+
- [x] Define `SkillSyncState` type
|
|
169
|
+
- [x] Implement `checkForUpdates()` - compare ETags/versions
|
|
170
|
+
- [x] Implement `pullRemoteChanges()` - fetch and merge
|
|
171
|
+
- [x] Implement `detectConflicts()` - local vs remote changes
|
|
172
|
+
- [x] Add `skill-tree index sync` command with options:
|
|
173
|
+
- [x] `--status` - show sync state
|
|
174
|
+
- [x] `--pull` - pull remote changes
|
|
175
|
+
- [x] `--dry-run` - preview changes
|
|
176
|
+
|
|
177
|
+
**Files Created**:
|
|
178
|
+
- `src/services/sync.ts` - Full SyncService implementation
|
|
179
|
+
|
|
180
|
+
**Files Modified**:
|
|
181
|
+
- `src/cli/commands/indexer/sync.ts` - Updated with sync status and pull commands
|
|
182
|
+
|
|
183
|
+
**Note**: SQLite sync_state table not yet added to schema (sync states stored in memory for now). This can be added in a future iteration.
|
|
184
|
+
|
|
185
|
+
---
|
|
186
|
+
|
|
187
|
+
## Open Questions (Decisions Made)
|
|
188
|
+
|
|
189
|
+
| Question | Status | Decision |
|
|
190
|
+
|----------|--------|----------|
|
|
191
|
+
| Taxonomy ownership | ✅ Resolved | Preserve original, allow re-classification on demand |
|
|
192
|
+
| Deduplication strategy | ✅ Resolved | Use `externalSource.url` as dedup key |
|
|
193
|
+
| Version conflict resolution | ✅ Resolved | Default to manual, with `--resolve` flag for automation |
|
|
194
|
+
| Namespace separation | ✅ Resolved | Use `source.type` field, no namespace prefix |
|
|
195
|
+
|
|
196
|
+
---
|
|
197
|
+
|
|
198
|
+
## Success Criteria Checklist
|
|
199
|
+
|
|
200
|
+
- [x] Single CLI (`skill-tree`) for all operations
|
|
201
|
+
- [x] Single database with skills from all sources
|
|
202
|
+
- [x] Taxonomy browsing works for all skills
|
|
203
|
+
- [x] Relationships detected across indexed and extracted skills
|
|
204
|
+
- [x] Clear provenance tracking (source: extracted vs indexed)
|
|
205
|
+
- [x] Seamless workflow from discovery to usage
|
|
206
|
+
|
|
207
|
+
---
|
|
208
|
+
|
|
209
|
+
## Change Log
|
|
210
|
+
|
|
211
|
+
| Date | Change |
|
|
212
|
+
|------|--------|
|
|
213
|
+
| 2025-01-XX | Initial gap analysis created |
|
|
214
|
+
| 2025-01-XX | Phases 1-3 implemented |
|
|
215
|
+
| 2025-01-XX | Tests added (56 tests) |
|
|
216
|
+
| 2025-02-01 | Unified configuration system implemented |
|
|
217
|
+
| 2025-02-01 | IndexerService direct execution implemented |
|
|
218
|
+
| 2025-02-01 | Direct SkillBank integration implemented |
|
|
219
|
+
| 2025-02-01 | SkillBank event system enhanced |
|
|
220
|
+
| 2025-02-01 | Bidirectional sync service implemented |
|
|
221
|
+
| 2025-02-01 | All phases complete |
|
|
@@ -0,0 +1,467 @@
|
|
|
1
|
+
# Skill Indexer Integration Plan
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
This document outlines the plan to integrate the **skill indexer** (`scraper/`) with the main **skill-tree** CLI and SkillBank. The goal is to create a cohesive system where externally discovered skills from GitHub can seamlessly flow into the skill-tree data structure.
|
|
6
|
+
|
|
7
|
+
## Current Architecture
|
|
8
|
+
|
|
9
|
+
```
|
|
10
|
+
┌─────────────────────────────────────┐ ┌─────────────────────────────────────┐
|
|
11
|
+
│ SKILL INDEXER │ │ SKILL-TREE │
|
|
12
|
+
│ (scraper/) │ │ (src/) │
|
|
13
|
+
├─────────────────────────────────────┤ ├─────────────────────────────────────┤
|
|
14
|
+
│ • GitHub skill discovery │ │ • Agent trajectory extraction │
|
|
15
|
+
│ • AI-based classification │ │ • Skill versioning & lineage │
|
|
16
|
+
│ • Taxonomy management │ │ • Semantic matching │
|
|
17
|
+
│ • Relationship detection │ │ • Storage adapters │
|
|
18
|
+
│ • SQLite (scraper/data/) │ │ • SQLite/Filesystem/Memory │
|
|
19
|
+
├─────────────────────────────────────┤ ├─────────────────────────────────────┤
|
|
20
|
+
│ CLI: skillindexer │ │ CLI: skill-tree │
|
|
21
|
+
│ • scrape, index, tree, etc. │ │ • list, show, import, export, etc. │
|
|
22
|
+
└─────────────────────────────────────┘ └─────────────────────────────────────┘
|
|
23
|
+
│ │
|
|
24
|
+
└──────────── GAP ────────────────────────┘
|
|
25
|
+
(no direct connection)
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
## Target Architecture
|
|
29
|
+
|
|
30
|
+
```
|
|
31
|
+
┌─────────────────────────────────────────────────────────────────────────────────┐
|
|
32
|
+
│ UNIFIED SKILL-TREE │
|
|
33
|
+
├─────────────────────────────────────────────────────────────────────────────────┤
|
|
34
|
+
│ │
|
|
35
|
+
│ ┌─────────────────────┐ ┌─────────────────────┐ ┌──────────────────────┐ │
|
|
36
|
+
│ │ Skill Sources │ │ Core Engine │ │ Storage │ │
|
|
37
|
+
│ ├─────────────────────┤ ├─────────────────────┤ ├──────────────────────┤ │
|
|
38
|
+
│ │ • GitHub Indexer │───▶│ • SkillBank │◀──▶│ • Unified SQLite │ │
|
|
39
|
+
│ │ • Trajectory Extract│───▶│ • Versioning │ │ • Filesystem backup │ │
|
|
40
|
+
│ │ • Manual Import │───▶│ • Lineage Tracking │ │ • Taxonomy tables │ │
|
|
41
|
+
│ │ • Composed Skills │───▶│ • Semantic Match │ │ • Relationship tables│ │
|
|
42
|
+
│ └─────────────────────┘ └─────────────────────┘ └──────────────────────┘ │
|
|
43
|
+
│ │
|
|
44
|
+
│ ┌─────────────────────────────────────────────────────────────────────────────┐│
|
|
45
|
+
│ │ Unified CLI: skill-tree ││
|
|
46
|
+
│ ├─────────────────────────────────────────────────────────────────────────────┤│
|
|
47
|
+
│ │ Core: list | show | search | stats | versions | diff | export | import ││
|
|
48
|
+
│ │ Index: scrape | index | taxonomy | relationships ││
|
|
49
|
+
│ │ Evolve: rollback | fork | deprecate | activate | delete ││
|
|
50
|
+
│ └─────────────────────────────────────────────────────────────────────────────┘│
|
|
51
|
+
└─────────────────────────────────────────────────────────────────────────────────┘
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
---
|
|
55
|
+
|
|
56
|
+
## Phase 1: Import Pipeline (Quick Win)
|
|
57
|
+
|
|
58
|
+
**Goal**: Enable `skill-tree import` to accept indexer output directly.
|
|
59
|
+
|
|
60
|
+
### 1.1 Add `--from-indexer` Flag to Import Command
|
|
61
|
+
|
|
62
|
+
Modify `src/cli/commands/import.ts` to detect and convert indexer format:
|
|
63
|
+
|
|
64
|
+
```typescript
|
|
65
|
+
// New option
|
|
66
|
+
.option('--from-indexer', 'Import from skill-indexer export format')
|
|
67
|
+
|
|
68
|
+
// Detection logic
|
|
69
|
+
if (options.fromIndexer || detectIndexerFormat(content)) {
|
|
70
|
+
skills = convertFromIndexer(content);
|
|
71
|
+
}
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
### 1.2 Integrate Converter
|
|
75
|
+
|
|
76
|
+
Move or re-export the converter from `scraper/src/compat/converter.ts`:
|
|
77
|
+
|
|
78
|
+
```
|
|
79
|
+
src/import/
|
|
80
|
+
├── index.ts
|
|
81
|
+
├── converter.ts # Adapted from scraper/src/compat/converter.ts
|
|
82
|
+
└── detect.ts # Format auto-detection
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
### 1.3 Workflow
|
|
86
|
+
|
|
87
|
+
```bash
|
|
88
|
+
# Current (two-step)
|
|
89
|
+
skillindexer export-skilltree -o indexed-skills.json
|
|
90
|
+
skill-tree import indexed-skills.json
|
|
91
|
+
|
|
92
|
+
# After Phase 1 (still two-step, but seamless)
|
|
93
|
+
skillindexer export -o indexed-skills.json
|
|
94
|
+
skill-tree import --from-indexer indexed-skills.json
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
**Effort**: ~2-3 hours
|
|
98
|
+
**Files**: `src/cli/commands/import.ts`, new `src/import/` directory
|
|
99
|
+
|
|
100
|
+
---
|
|
101
|
+
|
|
102
|
+
## Phase 2: CLI Unification
|
|
103
|
+
|
|
104
|
+
**Goal**: Single CLI with all commands.
|
|
105
|
+
|
|
106
|
+
### 2.1 New Command Group: `skill-tree index`
|
|
107
|
+
|
|
108
|
+
Add indexer commands under a subcommand group:
|
|
109
|
+
|
|
110
|
+
```
|
|
111
|
+
skill-tree index scrape [url] # Discover skills from GitHub
|
|
112
|
+
skill-tree index classify # AI-powered classification
|
|
113
|
+
skill-tree index taxonomy [path] # Browse taxonomy tree
|
|
114
|
+
skill-tree index relationships # Detect skill relationships
|
|
115
|
+
skill-tree index stats # Indexer statistics
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
### 2.2 Implementation Structure
|
|
119
|
+
|
|
120
|
+
```
|
|
121
|
+
src/cli/
|
|
122
|
+
├── index.ts # Main entry (existing)
|
|
123
|
+
├── commands/
|
|
124
|
+
│ ├── list.ts # Existing commands
|
|
125
|
+
│ ├── show.ts
|
|
126
|
+
│ ├── import.ts
|
|
127
|
+
│ ├── ...
|
|
128
|
+
│ └── index/ # NEW: indexer subcommands
|
|
129
|
+
│ ├── index.ts # Parent command group
|
|
130
|
+
│ ├── scrape.ts
|
|
131
|
+
│ ├── classify.ts
|
|
132
|
+
│ ├── taxonomy.ts
|
|
133
|
+
│ └── relationships.ts
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
### 2.3 Shared Services
|
|
137
|
+
|
|
138
|
+
Create a service layer accessible by both command sets:
|
|
139
|
+
|
|
140
|
+
```typescript
|
|
141
|
+
// src/services/indexer.ts
|
|
142
|
+
export class IndexerService {
|
|
143
|
+
constructor(
|
|
144
|
+
private skillBank: SkillBank,
|
|
145
|
+
private config: IndexerConfig
|
|
146
|
+
) {}
|
|
147
|
+
|
|
148
|
+
async scrape(sources: SkillSource[]): Promise<ScrapeResult> { ... }
|
|
149
|
+
async classify(): Promise<ClassifyResult> { ... }
|
|
150
|
+
async detectRelationships(): Promise<RelationshipResult> { ... }
|
|
151
|
+
}
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
### 2.4 Configuration Merge
|
|
155
|
+
|
|
156
|
+
Unify configuration under a single config file:
|
|
157
|
+
|
|
158
|
+
```yaml
|
|
159
|
+
# ~/.skill-tree/config.yaml
|
|
160
|
+
storage:
|
|
161
|
+
type: sqlite
|
|
162
|
+
path: ~/.skill-tree/skills.db
|
|
163
|
+
|
|
164
|
+
indexer:
|
|
165
|
+
github_token: ${GITHUB_TOKEN}
|
|
166
|
+
anthropic_key: ${ANTHROPIC_API_KEY}
|
|
167
|
+
sources:
|
|
168
|
+
- https://github.com/VoltAgent/awesome-agent-skills
|
|
169
|
+
- https://github.com/VoltAgent/awesome-openclaw-skills
|
|
170
|
+
batch_size: 10
|
|
171
|
+
min_confidence: 0.7
|
|
172
|
+
|
|
173
|
+
matching:
|
|
174
|
+
embedding_model: text-embedding-3-small
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
**Effort**: ~6-8 hours
|
|
178
|
+
**Files**: New `src/cli/commands/index/`, `src/services/indexer.ts`
|
|
179
|
+
|
|
180
|
+
---
|
|
181
|
+
|
|
182
|
+
## Phase 3: Unified Storage
|
|
183
|
+
|
|
184
|
+
**Goal**: Single database with shared schema for both indexed and extracted skills.
|
|
185
|
+
|
|
186
|
+
### 3.1 Schema Extension
|
|
187
|
+
|
|
188
|
+
Extend the existing SQLite schema to include indexer tables:
|
|
189
|
+
|
|
190
|
+
```sql
|
|
191
|
+
-- Existing skill-tree tables
|
|
192
|
+
CREATE TABLE skills (...);
|
|
193
|
+
CREATE TABLE skill_versions (...);
|
|
194
|
+
|
|
195
|
+
-- New indexer tables (merged)
|
|
196
|
+
CREATE TABLE taxonomy_nodes (
|
|
197
|
+
id TEXT PRIMARY KEY,
|
|
198
|
+
name TEXT NOT NULL,
|
|
199
|
+
description TEXT,
|
|
200
|
+
parent_id TEXT REFERENCES taxonomy_nodes(id),
|
|
201
|
+
path TEXT NOT NULL, -- Materialized path: "Development/Python/Testing"
|
|
202
|
+
skill_count INTEGER DEFAULT 0,
|
|
203
|
+
created_at DATETIME DEFAULT CURRENT_TIMESTAMP
|
|
204
|
+
);
|
|
205
|
+
|
|
206
|
+
CREATE TABLE skill_taxonomy_placements (
|
|
207
|
+
skill_id TEXT REFERENCES skills(id),
|
|
208
|
+
node_id TEXT REFERENCES taxonomy_nodes(id),
|
|
209
|
+
is_primary BOOLEAN DEFAULT FALSE,
|
|
210
|
+
confidence REAL,
|
|
211
|
+
reasoning TEXT,
|
|
212
|
+
PRIMARY KEY (skill_id, node_id)
|
|
213
|
+
);
|
|
214
|
+
|
|
215
|
+
CREATE TABLE skill_relationships (
|
|
216
|
+
source_skill_id TEXT REFERENCES skills(id),
|
|
217
|
+
target_skill_id TEXT REFERENCES skills(id),
|
|
218
|
+
type TEXT NOT NULL, -- 'depends_on', 'extends', 'alternative', 'related'
|
|
219
|
+
confidence REAL,
|
|
220
|
+
reasoning TEXT,
|
|
221
|
+
created_at DATETIME DEFAULT CURRENT_TIMESTAMP,
|
|
222
|
+
PRIMARY KEY (source_skill_id, target_skill_id, type)
|
|
223
|
+
);
|
|
224
|
+
|
|
225
|
+
-- Track external sources
|
|
226
|
+
CREATE TABLE skill_sources (
|
|
227
|
+
id TEXT PRIMARY KEY,
|
|
228
|
+
type TEXT NOT NULL, -- 'github-repo', 'awesome-list', 'trajectory', 'manual'
|
|
229
|
+
url TEXT,
|
|
230
|
+
last_scraped DATETIME,
|
|
231
|
+
etag TEXT,
|
|
232
|
+
skill_count INTEGER DEFAULT 0
|
|
233
|
+
);
|
|
234
|
+
```
|
|
235
|
+
|
|
236
|
+
### 3.2 Extended Skill Type
|
|
237
|
+
|
|
238
|
+
Add optional indexer fields to the core Skill type:
|
|
239
|
+
|
|
240
|
+
```typescript
|
|
241
|
+
// src/types.ts
|
|
242
|
+
export interface Skill {
|
|
243
|
+
// ... existing fields ...
|
|
244
|
+
|
|
245
|
+
// Indexer extensions (optional)
|
|
246
|
+
taxonomy?: {
|
|
247
|
+
primaryPath: string[];
|
|
248
|
+
secondaryPaths?: string[][];
|
|
249
|
+
confidence?: number;
|
|
250
|
+
};
|
|
251
|
+
relationships?: SkillRelationship[];
|
|
252
|
+
externalSource?: {
|
|
253
|
+
url: string;
|
|
254
|
+
repo: string;
|
|
255
|
+
scrapedAt: Date;
|
|
256
|
+
etag?: string;
|
|
257
|
+
};
|
|
258
|
+
}
|
|
259
|
+
|
|
260
|
+
export interface SkillRelationship {
|
|
261
|
+
targetSkillId: string;
|
|
262
|
+
type: 'depends_on' | 'extends' | 'alternative' | 'related';
|
|
263
|
+
confidence: number;
|
|
264
|
+
reasoning?: string;
|
|
265
|
+
}
|
|
266
|
+
```
|
|
267
|
+
|
|
268
|
+
### 3.3 Storage Adapter Extension
|
|
269
|
+
|
|
270
|
+
Extend `SqliteStorageAdapter` to handle taxonomy and relationships:
|
|
271
|
+
|
|
272
|
+
```typescript
|
|
273
|
+
// src/storage/sqlite.ts
|
|
274
|
+
export class SqliteStorageAdapter implements StorageAdapter {
|
|
275
|
+
// ... existing methods ...
|
|
276
|
+
|
|
277
|
+
// Taxonomy methods
|
|
278
|
+
async getTaxonomyTree(rootPath?: string[]): Promise<TaxonomyTree>;
|
|
279
|
+
async placeInTaxonomy(skillId: string, placement: TaxonomyPlacement): Promise<void>;
|
|
280
|
+
|
|
281
|
+
// Relationship methods
|
|
282
|
+
async addRelationship(rel: SkillRelationship): Promise<void>;
|
|
283
|
+
async getRelationships(skillId: string): Promise<SkillRelationship[]>;
|
|
284
|
+
async getSkillsInNode(nodeId: string): Promise<Skill[]>;
|
|
285
|
+
}
|
|
286
|
+
```
|
|
287
|
+
|
|
288
|
+
**Effort**: ~8-10 hours
|
|
289
|
+
**Files**: `src/storage/sqlite.ts`, `src/types.ts`, migration scripts
|
|
290
|
+
|
|
291
|
+
---
|
|
292
|
+
|
|
293
|
+
## Phase 4: Direct Integration
|
|
294
|
+
|
|
295
|
+
**Goal**: Scraper writes directly to SkillBank, bypassing export/import.
|
|
296
|
+
|
|
297
|
+
### 4.1 Indexer as SkillBank Client
|
|
298
|
+
|
|
299
|
+
Modify indexer to use SkillBank as its storage backend:
|
|
300
|
+
|
|
301
|
+
```typescript
|
|
302
|
+
// src/services/indexer.ts
|
|
303
|
+
export class IndexerService {
|
|
304
|
+
constructor(
|
|
305
|
+
private skillBank: SkillBank,
|
|
306
|
+
private classifier: SkillClassifier,
|
|
307
|
+
private config: IndexerConfig
|
|
308
|
+
) {}
|
|
309
|
+
|
|
310
|
+
async scrapeAndIndex(sources: SkillSource[]): Promise<IndexResult> {
|
|
311
|
+
const rawSkills = await this.scraper.scrape(sources);
|
|
312
|
+
|
|
313
|
+
for (const raw of rawSkills) {
|
|
314
|
+
// Convert to skill-tree format
|
|
315
|
+
const skill = this.converter.convert(raw);
|
|
316
|
+
|
|
317
|
+
// Classify
|
|
318
|
+
const classification = await this.classifier.classify(skill);
|
|
319
|
+
skill.taxonomy = classification;
|
|
320
|
+
|
|
321
|
+
// Store directly in SkillBank
|
|
322
|
+
await this.skillBank.addSkill(skill, {
|
|
323
|
+
source: 'indexed',
|
|
324
|
+
sourceUrl: raw.sourceUrl,
|
|
325
|
+
});
|
|
326
|
+
}
|
|
327
|
+
|
|
328
|
+
return { indexed: rawSkills.length };
|
|
329
|
+
}
|
|
330
|
+
}
|
|
331
|
+
```
|
|
332
|
+
|
|
333
|
+
### 4.2 Event-Driven Updates
|
|
334
|
+
|
|
335
|
+
Use SkillBank events to trigger relationship detection:
|
|
336
|
+
|
|
337
|
+
```typescript
|
|
338
|
+
skillBank.on('skill:created', async (event) => {
|
|
339
|
+
if (event.skill.source?.type === 'imported') {
|
|
340
|
+
await relationshipDetector.detectForSkill(event.skill);
|
|
341
|
+
}
|
|
342
|
+
});
|
|
343
|
+
```
|
|
344
|
+
|
|
345
|
+
### 4.3 Workflow
|
|
346
|
+
|
|
347
|
+
```bash
|
|
348
|
+
# Direct flow (no export/import step)
|
|
349
|
+
skill-tree index scrape https://github.com/VoltAgent/awesome-agent-skills
|
|
350
|
+
# Skills are now in the main skill-tree database with taxonomy and relationships
|
|
351
|
+
```
|
|
352
|
+
|
|
353
|
+
**Effort**: ~6-8 hours
|
|
354
|
+
**Files**: `src/services/indexer.ts`, `src/skill-bank.ts` event handlers
|
|
355
|
+
|
|
356
|
+
---
|
|
357
|
+
|
|
358
|
+
## Phase 5: Bidirectional Sync
|
|
359
|
+
|
|
360
|
+
**Goal**: Keep indexed skills updated and track changes.
|
|
361
|
+
|
|
362
|
+
### 5.1 Change Detection
|
|
363
|
+
|
|
364
|
+
```typescript
|
|
365
|
+
interface SkillSyncState {
|
|
366
|
+
skillId: string;
|
|
367
|
+
sourceUrl: string;
|
|
368
|
+
sourceEtag: string;
|
|
369
|
+
lastSynced: Date;
|
|
370
|
+
localVersion: string;
|
|
371
|
+
remoteVersion: string;
|
|
372
|
+
status: 'synced' | 'local-modified' | 'remote-modified' | 'conflict';
|
|
373
|
+
}
|
|
374
|
+
```
|
|
375
|
+
|
|
376
|
+
### 5.2 Sync Commands
|
|
377
|
+
|
|
378
|
+
```bash
|
|
379
|
+
skill-tree index sync # Check for updates
|
|
380
|
+
skill-tree index sync --pull # Pull remote changes
|
|
381
|
+
skill-tree index sync --push # Push local changes (to forks?)
|
|
382
|
+
skill-tree index sync --status # Show sync status
|
|
383
|
+
```
|
|
384
|
+
|
|
385
|
+
### 5.3 Conflict Resolution
|
|
386
|
+
|
|
387
|
+
When both local and remote have changed:
|
|
388
|
+
|
|
389
|
+
1. Create a new version with merged changes
|
|
390
|
+
2. Keep lineage tracking intact
|
|
391
|
+
3. Mark conflicts for manual review
|
|
392
|
+
|
|
393
|
+
**Effort**: ~10-12 hours
|
|
394
|
+
**Files**: `src/services/sync.ts`, `src/cli/commands/index/sync.ts`
|
|
395
|
+
|
|
396
|
+
---
|
|
397
|
+
|
|
398
|
+
## Implementation Order
|
|
399
|
+
|
|
400
|
+
| Phase | Description | Priority | Effort | Dependencies |
|
|
401
|
+
|-------|-------------|----------|--------|--------------|
|
|
402
|
+
| 1 | Import Pipeline | High | 2-3 hrs | None |
|
|
403
|
+
| 2 | CLI Unification | High | 6-8 hrs | Phase 1 |
|
|
404
|
+
| 3 | Unified Storage | Medium | 8-10 hrs | Phase 2 |
|
|
405
|
+
| 4 | Direct Integration | Medium | 6-8 hrs | Phase 3 |
|
|
406
|
+
| 5 | Bidirectional Sync | Low | 10-12 hrs | Phase 4 |
|
|
407
|
+
|
|
408
|
+
**Recommended starting point**: Phase 1 (immediate value) → Phase 2 (user experience) → Phase 3 (foundation for advanced features)
|
|
409
|
+
|
|
410
|
+
---
|
|
411
|
+
|
|
412
|
+
## Migration Strategy
|
|
413
|
+
|
|
414
|
+
### For Existing Indexer Users
|
|
415
|
+
|
|
416
|
+
```bash
|
|
417
|
+
# Export existing indexed skills
|
|
418
|
+
skillindexer export -o backup.json
|
|
419
|
+
|
|
420
|
+
# After integration, import into unified database
|
|
421
|
+
skill-tree import --from-indexer backup.json
|
|
422
|
+
|
|
423
|
+
# Verify
|
|
424
|
+
skill-tree list --source indexed
|
|
425
|
+
skill-tree index taxonomy
|
|
426
|
+
```
|
|
427
|
+
|
|
428
|
+
### Database Migration
|
|
429
|
+
|
|
430
|
+
Create migration script for existing SQLite databases:
|
|
431
|
+
|
|
432
|
+
```typescript
|
|
433
|
+
// scripts/migrate-indexer-db.ts
|
|
434
|
+
async function migrateIndexerDatabase(
|
|
435
|
+
indexerDbPath: string,
|
|
436
|
+
skillTreeDbPath: string
|
|
437
|
+
): Promise<MigrationResult> {
|
|
438
|
+
// 1. Read all skills from indexer DB
|
|
439
|
+
// 2. Convert using existing converter
|
|
440
|
+
// 3. Insert into skill-tree DB with taxonomy preservation
|
|
441
|
+
// 4. Migrate taxonomy_nodes table
|
|
442
|
+
// 5. Migrate relationships table
|
|
443
|
+
}
|
|
444
|
+
```
|
|
445
|
+
|
|
446
|
+
---
|
|
447
|
+
|
|
448
|
+
## Open Questions
|
|
449
|
+
|
|
450
|
+
1. **Taxonomy ownership**: Should indexed skills always preserve their original taxonomy, or should they be re-classified by skill-tree's own taxonomy?
|
|
451
|
+
|
|
452
|
+
2. **Deduplication**: How to handle the same skill discovered from multiple sources?
|
|
453
|
+
|
|
454
|
+
3. **Version conflicts**: When an indexed skill is updated externally and locally modified, which takes precedence?
|
|
455
|
+
|
|
456
|
+
4. **Namespace separation**: Should indexed skills have a separate namespace (e.g., `indexed:skill-name`) or be fully merged?
|
|
457
|
+
|
|
458
|
+
---
|
|
459
|
+
|
|
460
|
+
## Success Criteria
|
|
461
|
+
|
|
462
|
+
- [ ] Single CLI (`skill-tree`) for all operations
|
|
463
|
+
- [ ] Single database with skills from all sources
|
|
464
|
+
- [ ] Taxonomy browsing works for all skills
|
|
465
|
+
- [ ] Relationships detected across indexed and extracted skills
|
|
466
|
+
- [ ] Clear provenance tracking (source: extracted vs indexed)
|
|
467
|
+
- [ ] Seamless workflow from discovery to usage
|