cognitive-core 0.0.2 → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (329) hide show
  1. package/README.md +302 -116
  2. package/SKILL.md +193 -0
  3. package/dist/agents/index.d.ts +3 -0
  4. package/dist/agents/index.d.ts.map +1 -0
  5. package/dist/agents/index.js +5 -0
  6. package/dist/agents/index.js.map +1 -0
  7. package/dist/agents/mock-provider.d.ts +23 -0
  8. package/dist/agents/mock-provider.d.ts.map +1 -0
  9. package/dist/agents/mock-provider.js +71 -0
  10. package/dist/agents/mock-provider.js.map +1 -0
  11. package/dist/agents/types.d.ts +98 -0
  12. package/dist/agents/types.d.ts.map +1 -0
  13. package/dist/agents/types.js +44 -0
  14. package/dist/agents/types.js.map +1 -0
  15. package/dist/atlas.d.ts +196 -0
  16. package/dist/atlas.d.ts.map +1 -0
  17. package/dist/atlas.js +373 -0
  18. package/dist/atlas.js.map +1 -0
  19. package/dist/bin/cognitive-core.d.ts +18 -0
  20. package/dist/bin/cognitive-core.d.ts.map +1 -0
  21. package/dist/bin/cognitive-core.js +419 -0
  22. package/dist/bin/cognitive-core.js.map +1 -0
  23. package/dist/embeddings/bm25.d.ts +104 -0
  24. package/dist/embeddings/bm25.d.ts.map +1 -0
  25. package/dist/embeddings/bm25.js +264 -0
  26. package/dist/embeddings/bm25.js.map +1 -0
  27. package/dist/embeddings/index.d.ts +12 -0
  28. package/dist/embeddings/index.d.ts.map +1 -0
  29. package/dist/embeddings/index.js +16 -0
  30. package/dist/embeddings/index.js.map +1 -0
  31. package/dist/embeddings/manager.d.ts +112 -0
  32. package/dist/embeddings/manager.d.ts.map +1 -0
  33. package/dist/embeddings/manager.js +215 -0
  34. package/dist/embeddings/manager.js.map +1 -0
  35. package/dist/embeddings/provider.d.ts +101 -0
  36. package/dist/embeddings/provider.d.ts.map +1 -0
  37. package/dist/embeddings/provider.js +232 -0
  38. package/dist/embeddings/provider.js.map +1 -0
  39. package/dist/embeddings/vector-store.d.ts +101 -0
  40. package/dist/embeddings/vector-store.d.ts.map +1 -0
  41. package/dist/embeddings/vector-store.js +256 -0
  42. package/dist/embeddings/vector-store.js.map +1 -0
  43. package/dist/factory.d.ts +193 -0
  44. package/dist/factory.d.ts.map +1 -0
  45. package/dist/factory.js +109 -0
  46. package/dist/factory.js.map +1 -0
  47. package/dist/index.d.ts +30 -453
  48. package/dist/index.d.ts.map +1 -0
  49. package/dist/index.js +84 -509
  50. package/dist/index.js.map +1 -0
  51. package/dist/learning/analyzer.d.ts +110 -0
  52. package/dist/learning/analyzer.d.ts.map +1 -0
  53. package/dist/learning/analyzer.js +213 -0
  54. package/dist/learning/analyzer.js.map +1 -0
  55. package/dist/learning/effectiveness.d.ts +158 -0
  56. package/dist/learning/effectiveness.d.ts.map +1 -0
  57. package/dist/learning/effectiveness.js +251 -0
  58. package/dist/learning/effectiveness.js.map +1 -0
  59. package/dist/learning/index.d.ts +8 -0
  60. package/dist/learning/index.d.ts.map +1 -0
  61. package/dist/learning/index.js +11 -0
  62. package/dist/learning/index.js.map +1 -0
  63. package/dist/learning/llm-extractor.d.ts +88 -0
  64. package/dist/learning/llm-extractor.d.ts.map +1 -0
  65. package/dist/learning/llm-extractor.js +372 -0
  66. package/dist/learning/llm-extractor.js.map +1 -0
  67. package/dist/learning/meta-learner.d.ts +80 -0
  68. package/dist/learning/meta-learner.d.ts.map +1 -0
  69. package/dist/learning/meta-learner.js +355 -0
  70. package/dist/learning/meta-learner.js.map +1 -0
  71. package/dist/learning/pipeline.d.ts +65 -0
  72. package/dist/learning/pipeline.d.ts.map +1 -0
  73. package/dist/learning/pipeline.js +170 -0
  74. package/dist/learning/pipeline.js.map +1 -0
  75. package/dist/learning/playbook-extractor.d.ts +113 -0
  76. package/dist/learning/playbook-extractor.d.ts.map +1 -0
  77. package/dist/learning/playbook-extractor.js +523 -0
  78. package/dist/learning/playbook-extractor.js.map +1 -0
  79. package/dist/learning/usage-inference.d.ts +82 -0
  80. package/dist/learning/usage-inference.d.ts.map +1 -0
  81. package/dist/learning/usage-inference.js +261 -0
  82. package/dist/learning/usage-inference.js.map +1 -0
  83. package/dist/mcp/index.d.ts +6 -0
  84. package/dist/mcp/index.d.ts.map +1 -0
  85. package/dist/mcp/index.js +6 -0
  86. package/dist/mcp/index.js.map +1 -0
  87. package/dist/mcp/playbook-server.d.ts +120 -0
  88. package/dist/mcp/playbook-server.d.ts.map +1 -0
  89. package/dist/mcp/playbook-server.js +427 -0
  90. package/dist/mcp/playbook-server.js.map +1 -0
  91. package/dist/memory/curated-loader.d.ts +62 -0
  92. package/dist/memory/curated-loader.d.ts.map +1 -0
  93. package/dist/memory/curated-loader.js +106 -0
  94. package/dist/memory/curated-loader.js.map +1 -0
  95. package/dist/memory/experience.d.ts +122 -0
  96. package/dist/memory/experience.d.ts.map +1 -0
  97. package/dist/memory/experience.js +392 -0
  98. package/dist/memory/experience.js.map +1 -0
  99. package/dist/memory/index.d.ts +6 -0
  100. package/dist/memory/index.d.ts.map +1 -0
  101. package/dist/memory/index.js +9 -0
  102. package/dist/memory/index.js.map +1 -0
  103. package/dist/memory/meta.d.ts +90 -0
  104. package/dist/memory/meta.d.ts.map +1 -0
  105. package/dist/memory/meta.js +362 -0
  106. package/dist/memory/meta.js.map +1 -0
  107. package/dist/memory/playbook.d.ts +133 -0
  108. package/dist/memory/playbook.d.ts.map +1 -0
  109. package/dist/memory/playbook.js +357 -0
  110. package/dist/memory/playbook.js.map +1 -0
  111. package/dist/memory/system.d.ts +167 -0
  112. package/dist/memory/system.d.ts.map +1 -0
  113. package/dist/memory/system.js +383 -0
  114. package/dist/memory/system.js.map +1 -0
  115. package/dist/runtime/backends/acp.d.ts +67 -0
  116. package/dist/runtime/backends/acp.d.ts.map +1 -0
  117. package/dist/runtime/backends/acp.js +290 -0
  118. package/dist/runtime/backends/acp.js.map +1 -0
  119. package/dist/runtime/backends/index.d.ts +5 -0
  120. package/dist/runtime/backends/index.d.ts.map +1 -0
  121. package/dist/runtime/backends/index.js +6 -0
  122. package/dist/runtime/backends/index.js.map +1 -0
  123. package/dist/runtime/backends/mock.d.ts +67 -0
  124. package/dist/runtime/backends/mock.d.ts.map +1 -0
  125. package/dist/runtime/backends/mock.js +153 -0
  126. package/dist/runtime/backends/mock.js.map +1 -0
  127. package/dist/runtime/backends/subprocess.d.ts +56 -0
  128. package/dist/runtime/backends/subprocess.d.ts.map +1 -0
  129. package/dist/runtime/backends/subprocess.js +260 -0
  130. package/dist/runtime/backends/subprocess.js.map +1 -0
  131. package/dist/runtime/flows/learning.d.ts +73 -0
  132. package/dist/runtime/flows/learning.d.ts.map +1 -0
  133. package/dist/runtime/flows/learning.js +116 -0
  134. package/dist/runtime/flows/learning.js.map +1 -0
  135. package/dist/runtime/flows/validation.d.ts +122 -0
  136. package/dist/runtime/flows/validation.d.ts.map +1 -0
  137. package/dist/runtime/flows/validation.js +223 -0
  138. package/dist/runtime/flows/validation.js.map +1 -0
  139. package/dist/runtime/index.d.ts +6 -0
  140. package/dist/runtime/index.d.ts.map +1 -0
  141. package/dist/runtime/index.js +8 -0
  142. package/dist/runtime/index.js.map +1 -0
  143. package/dist/runtime/manager.d.ts +116 -0
  144. package/dist/runtime/manager.d.ts.map +1 -0
  145. package/dist/runtime/manager.js +416 -0
  146. package/dist/runtime/manager.js.map +1 -0
  147. package/dist/runtime/types.d.ts +138 -0
  148. package/dist/runtime/types.d.ts.map +1 -0
  149. package/dist/runtime/types.js +2 -0
  150. package/dist/runtime/types.js.map +1 -0
  151. package/dist/search/evaluator.d.ts +102 -0
  152. package/dist/search/evaluator.d.ts.map +1 -0
  153. package/dist/search/evaluator.js +352 -0
  154. package/dist/search/evaluator.js.map +1 -0
  155. package/dist/search/index.d.ts +7 -0
  156. package/dist/search/index.d.ts.map +1 -0
  157. package/dist/search/index.js +11 -0
  158. package/dist/search/index.js.map +1 -0
  159. package/dist/search/refinement-loop.d.ts +73 -0
  160. package/dist/search/refinement-loop.d.ts.map +1 -0
  161. package/dist/search/refinement-loop.js +245 -0
  162. package/dist/search/refinement-loop.js.map +1 -0
  163. package/dist/search/refinement-types.d.ts +154 -0
  164. package/dist/search/refinement-types.d.ts.map +1 -0
  165. package/dist/search/refinement-types.js +99 -0
  166. package/dist/search/refinement-types.js.map +1 -0
  167. package/dist/search/router.d.ts +61 -0
  168. package/dist/search/router.d.ts.map +1 -0
  169. package/dist/search/router.js +197 -0
  170. package/dist/search/router.js.map +1 -0
  171. package/dist/search/solver.d.ts +75 -0
  172. package/dist/search/solver.d.ts.map +1 -0
  173. package/dist/search/solver.js +216 -0
  174. package/dist/search/solver.js.map +1 -0
  175. package/dist/search/verification-runner.d.ts +125 -0
  176. package/dist/search/verification-runner.d.ts.map +1 -0
  177. package/dist/search/verification-runner.js +440 -0
  178. package/dist/search/verification-runner.js.map +1 -0
  179. package/dist/surfacing/index.d.ts +2 -0
  180. package/dist/surfacing/index.d.ts.map +1 -0
  181. package/dist/surfacing/index.js +2 -0
  182. package/dist/surfacing/index.js.map +1 -0
  183. package/dist/surfacing/skill-library.d.ts +158 -0
  184. package/dist/surfacing/skill-library.d.ts.map +1 -0
  185. package/dist/surfacing/skill-library.js +429 -0
  186. package/dist/surfacing/skill-library.js.map +1 -0
  187. package/dist/types/config.d.ts +1113 -0
  188. package/dist/types/config.d.ts.map +1 -0
  189. package/dist/types/config.js +274 -0
  190. package/dist/types/config.js.map +1 -0
  191. package/dist/types/index.d.ts +9 -0
  192. package/dist/types/index.d.ts.map +1 -0
  193. package/dist/types/index.js +14 -0
  194. package/dist/types/index.js.map +1 -0
  195. package/dist/types/memory.d.ts +339 -0
  196. package/dist/types/memory.d.ts.map +1 -0
  197. package/dist/types/memory.js +207 -0
  198. package/dist/types/memory.js.map +1 -0
  199. package/dist/types/meta.d.ts +146 -0
  200. package/dist/types/meta.d.ts.map +1 -0
  201. package/dist/types/meta.js +51 -0
  202. package/dist/types/meta.js.map +1 -0
  203. package/dist/types/outcome.d.ts +42 -0
  204. package/dist/types/outcome.d.ts.map +1 -0
  205. package/dist/types/outcome.js +50 -0
  206. package/dist/types/outcome.js.map +1 -0
  207. package/dist/types/playbook.d.ts +119 -0
  208. package/dist/types/playbook.d.ts.map +1 -0
  209. package/dist/types/playbook.js +71 -0
  210. package/dist/types/playbook.js.map +1 -0
  211. package/dist/types/step.d.ts +44 -0
  212. package/dist/types/step.d.ts.map +1 -0
  213. package/dist/types/step.js +32 -0
  214. package/dist/types/step.js.map +1 -0
  215. package/dist/types/task.d.ts +91 -0
  216. package/dist/types/task.d.ts.map +1 -0
  217. package/dist/types/task.js +39 -0
  218. package/dist/types/task.js.map +1 -0
  219. package/dist/types/trajectory.d.ts +221 -0
  220. package/dist/types/trajectory.d.ts.map +1 -0
  221. package/dist/types/trajectory.js +60 -0
  222. package/dist/types/trajectory.js.map +1 -0
  223. package/dist/utils/index.d.ts +4 -0
  224. package/dist/utils/index.d.ts.map +1 -0
  225. package/dist/utils/index.js +4 -0
  226. package/dist/utils/index.js.map +1 -0
  227. package/dist/utils/similarity.d.ts +31 -0
  228. package/dist/utils/similarity.d.ts.map +1 -0
  229. package/dist/utils/similarity.js +107 -0
  230. package/dist/utils/similarity.js.map +1 -0
  231. package/dist/utils/storage.d.ts +106 -0
  232. package/dist/utils/storage.d.ts.map +1 -0
  233. package/dist/utils/storage.js +203 -0
  234. package/dist/utils/storage.js.map +1 -0
  235. package/dist/utils/validation.d.ts +129 -0
  236. package/dist/utils/validation.d.ts.map +1 -0
  237. package/dist/utils/validation.js +171 -0
  238. package/dist/utils/validation.js.map +1 -0
  239. package/package.json +50 -34
  240. package/scripts/migrate-to-playbooks.ts +307 -0
  241. package/src/agents/index.ts +14 -0
  242. package/src/agents/mock-provider.ts +93 -0
  243. package/src/agents/types.ts +137 -0
  244. package/src/atlas.ts +560 -0
  245. package/src/bin/cognitive-core.ts +470 -0
  246. package/src/embeddings/bm25.ts +337 -0
  247. package/src/embeddings/index.ts +39 -0
  248. package/src/embeddings/manager.ts +288 -0
  249. package/src/embeddings/provider.ts +311 -0
  250. package/src/embeddings/vector-store.ts +353 -0
  251. package/src/factory.ts +263 -0
  252. package/src/index.ts +246 -0
  253. package/src/learning/analyzer.ts +335 -0
  254. package/src/learning/effectiveness.ts +428 -0
  255. package/src/learning/index.ts +58 -0
  256. package/src/learning/llm-extractor.ts +542 -0
  257. package/src/learning/meta-learner.ts +516 -0
  258. package/src/learning/pipeline.ts +244 -0
  259. package/src/learning/playbook-extractor.ts +702 -0
  260. package/src/learning/usage-inference.ts +372 -0
  261. package/src/mcp/index.ts +12 -0
  262. package/src/mcp/playbook-server.ts +565 -0
  263. package/src/memory/curated-loader.ts +160 -0
  264. package/src/memory/experience.ts +515 -0
  265. package/src/memory/index.ts +27 -0
  266. package/src/memory/meta.ts +506 -0
  267. package/src/memory/playbook.ts +493 -0
  268. package/src/memory/system.ts +551 -0
  269. package/src/runtime/backends/acp.ts +378 -0
  270. package/src/runtime/backends/index.ts +24 -0
  271. package/src/runtime/backends/mock.ts +218 -0
  272. package/src/runtime/backends/subprocess.ts +356 -0
  273. package/src/runtime/flows/learning.ts +183 -0
  274. package/src/runtime/flows/validation.ts +381 -0
  275. package/src/runtime/index.ts +53 -0
  276. package/src/runtime/manager.ts +541 -0
  277. package/src/runtime/types.ts +157 -0
  278. package/src/search/evaluator.ts +474 -0
  279. package/src/search/index.ts +59 -0
  280. package/src/search/refinement-loop.ts +363 -0
  281. package/src/search/refinement-types.ts +159 -0
  282. package/src/search/router.ts +261 -0
  283. package/src/search/solver.ts +303 -0
  284. package/src/search/verification-runner.ts +570 -0
  285. package/src/surfacing/index.ts +6 -0
  286. package/src/surfacing/skill-library.ts +594 -0
  287. package/src/types/config.ts +333 -0
  288. package/src/types/index.ts +130 -0
  289. package/src/types/memory.ts +270 -0
  290. package/src/types/meta.ts +218 -0
  291. package/src/types/outcome.ts +66 -0
  292. package/src/types/playbook.ts +196 -0
  293. package/src/types/step.ts +40 -0
  294. package/src/types/task.ts +52 -0
  295. package/src/types/trajectory.ts +80 -0
  296. package/src/utils/index.ts +38 -0
  297. package/src/utils/similarity.ts +139 -0
  298. package/src/utils/storage.ts +249 -0
  299. package/src/utils/validation.ts +286 -0
  300. package/tests/embeddings/bm25.test.ts +130 -0
  301. package/tests/embeddings/manager.test.ts +205 -0
  302. package/tests/integration/atlas.test.ts +266 -0
  303. package/tests/integration/e2e.test.ts +929 -0
  304. package/tests/learning/analyzer.test.ts +426 -0
  305. package/tests/learning/effectiveness.test.ts +542 -0
  306. package/tests/learning/pipeline.test.ts +176 -0
  307. package/tests/learning/playbook-extractor-provenance.test.ts +114 -0
  308. package/tests/learning/usage-inference.test.ts +254 -0
  309. package/tests/mcp/playbook-server.test.ts +252 -0
  310. package/tests/memory/experience.test.ts +198 -0
  311. package/tests/memory/playbook.test.ts +338 -0
  312. package/tests/memory/provenance.test.ts +639 -0
  313. package/tests/memory/system.test.ts +325 -0
  314. package/tests/runtime/agent-manager.test.ts +512 -0
  315. package/tests/runtime/mock-backend.test.ts +248 -0
  316. package/tests/search/refinement-loop.test.ts +468 -0
  317. package/tests/search/refinement.test.ts +267 -0
  318. package/tests/search/router.test.ts +427 -0
  319. package/tests/surfacing/skill-library.test.ts +292 -0
  320. package/tests/types/outcome.test.ts +147 -0
  321. package/tests/types/step.test.ts +133 -0
  322. package/tests/types/task.test.ts +158 -0
  323. package/tests/types/trajectory.test.ts +253 -0
  324. package/tests/utils/similarity.test.ts +188 -0
  325. package/tests/utils/validation.test.ts +252 -0
  326. package/tsconfig.json +25 -0
  327. package/vitest.config.ts +22 -0
  328. package/dist/index.d.mts +0 -466
  329. package/dist/index.mjs +0 -478
@@ -0,0 +1,82 @@
1
+ /**
2
+ * Playbook Usage Inference
3
+ * Infers which playbooks were used and whether they helped
4
+ * from trajectory analysis (no explicit agent reporting needed)
5
+ */
6
+ import type { Trajectory, Playbook } from '../types/index.js';
7
+ /**
8
+ * Result of playbook usage inference
9
+ */
10
+ export interface PlaybookUsageResult {
11
+ playbookId: string;
12
+ playbookName: string;
13
+ /** Did agent follow this playbook? */
14
+ wasUsed: boolean;
15
+ /** How confident are we it was used? */
16
+ usageConfidence: number;
17
+ /** Did it lead to success? */
18
+ wasSuccessful: boolean;
19
+ /** Which trajectory steps matched */
20
+ matchedSteps: number[];
21
+ /** Relevant context for refinement */
22
+ context?: string;
23
+ }
24
+ /**
25
+ * Configuration for usage inference
26
+ */
27
+ export interface UsageInferenceConfig {
28
+ /** Minimum similarity for tactic matching */
29
+ tacticMatchThreshold: number;
30
+ /** Minimum tactics matched to consider playbook used */
31
+ minTacticsMatchRatio: number;
32
+ /** Minimum confidence to report as used */
33
+ minUsageConfidence: number;
34
+ }
35
+ /**
36
+ * Playbook Usage Inference
37
+ * Analyzes trajectories to determine if playbooks were used
38
+ */
39
+ export declare class PlaybookUsageInference {
40
+ private config;
41
+ constructor(config?: Partial<UsageInferenceConfig>);
42
+ /**
43
+ * Analyze trajectory to infer playbook usage
44
+ */
45
+ inferUsage(trajectory: Trajectory, injectedPlaybooks: Playbook[]): Promise<PlaybookUsageResult[]>;
46
+ /**
47
+ * Match trajectory steps against playbook guidance
48
+ */
49
+ private matchStepsToPlaybook;
50
+ /**
51
+ * Match steps against playbook strategy (when no tactics)
52
+ */
53
+ private matchAgainstStrategy;
54
+ /**
55
+ * Extract keywords from text
56
+ */
57
+ private extractKeywords;
58
+ /**
59
+ * Check if word is a stop word
60
+ */
61
+ private isStopWord;
62
+ /**
63
+ * Determine if playbook application was successful
64
+ */
65
+ private inferSuccess;
66
+ /**
67
+ * Extract relevant context for potential refinement
68
+ */
69
+ private extractRelevantContext;
70
+ /**
71
+ * Batch analyze multiple trajectories
72
+ */
73
+ inferUsageBatch(trajectories: Array<{
74
+ trajectory: Trajectory;
75
+ injectedPlaybooks: Playbook[];
76
+ }>): Promise<Map<string, PlaybookUsageResult[]>>;
77
+ }
78
+ /**
79
+ * Create a playbook usage inference instance
80
+ */
81
+ export declare function createUsageInference(config?: Partial<UsageInferenceConfig>): PlaybookUsageInference;
82
+ //# sourceMappingURL=usage-inference.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usage-inference.d.ts","sourceRoot":"","sources":["../../src/learning/usage-inference.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAQ,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAGpE;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,sCAAsC;IACtC,OAAO,EAAE,OAAO,CAAC;IACjB,wCAAwC;IACxC,eAAe,EAAE,MAAM,CAAC;IACxB,8BAA8B;IAC9B,aAAa,EAAE,OAAO,CAAC;IACvB,qCAAqC;IACrC,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,sCAAsC;IACtC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAaD;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,6CAA6C;IAC7C,oBAAoB,EAAE,MAAM,CAAC;IAC7B,wDAAwD;IACxD,oBAAoB,EAAE,MAAM,CAAC;IAC7B,2CAA2C;IAC3C,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAQD;;;GAGG;AACH,qBAAa,sBAAsB;IACjC,OAAO,CAAC,MAAM,CAAuB;gBAEzB,MAAM,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC;IAIlD;;OAEG;IACG,UAAU,CACd,UAAU,EAAE,UAAU,EACtB,iBAAiB,EAAE,QAAQ,EAAE,GAC5B,OAAO,CAAC,mBAAmB,EAAE,CAAC;IAmCjC;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAkE5B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IA6B5B;;OAEG;IACH,OAAO,CAAC,eAAe;IAQvB;;OAEG;IACH,OAAO,CAAC,UAAU;IAgDlB;;OAEG;IACH,OAAO,CAAC,YAAY;IAuCpB;;OAEG;IACH,OAAO,CAAC,sBAAsB;IA4B9B;;OAEG;IACG,eAAe,CACnB,YAAY,EAAE,KAAK,CAAC;QAClB,UAAU,EAAE,UAAU,CAAC;QACvB,iBAAiB,EAAE,QAAQ,EAAE,CAAC;KAC/B,CAAC,GACD,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,mBAAmB,EAAE,CAAC,CAAC;CAU/C;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,GACrC,sBAAsB,CAExB"}
@@ -0,0 +1,261 @@
1
+ /**
2
+ * Playbook Usage Inference
3
+ * Infers which playbooks were used and whether they helped
4
+ * from trajectory analysis (no explicit agent reporting needed)
5
+ */
6
+ import { textSimilarity } from '../utils/similarity.js';
7
+ const DEFAULT_CONFIG = {
8
+ tacticMatchThreshold: 0.5,
9
+ minTacticsMatchRatio: 0.3,
10
+ minUsageConfidence: 0.4,
11
+ };
12
+ /**
13
+ * Playbook Usage Inference
14
+ * Analyzes trajectories to determine if playbooks were used
15
+ */
16
+ export class PlaybookUsageInference {
17
+ config;
18
+ constructor(config) {
19
+ this.config = { ...DEFAULT_CONFIG, ...config };
20
+ }
21
+ /**
22
+ * Analyze trajectory to infer playbook usage
23
+ */
24
+ async inferUsage(trajectory, injectedPlaybooks) {
25
+ const results = [];
26
+ for (const playbook of injectedPlaybooks) {
27
+ const matchResult = this.matchStepsToPlaybook(trajectory.steps, playbook);
28
+ const wasUsed = matchResult.matched &&
29
+ matchResult.confidence >= this.config.minUsageConfidence;
30
+ const wasSuccessful = wasUsed
31
+ ? this.inferSuccess(trajectory, playbook, matchResult)
32
+ : false;
33
+ const context = wasUsed
34
+ ? this.extractRelevantContext(trajectory, playbook, matchResult)
35
+ : undefined;
36
+ results.push({
37
+ playbookId: playbook.id,
38
+ playbookName: playbook.name,
39
+ wasUsed,
40
+ usageConfidence: matchResult.confidence,
41
+ wasSuccessful,
42
+ matchedSteps: matchResult.matchedSteps,
43
+ context,
44
+ });
45
+ }
46
+ return results;
47
+ }
48
+ /**
49
+ * Match trajectory steps against playbook guidance
50
+ */
51
+ matchStepsToPlaybook(steps, playbook) {
52
+ const tactics = playbook.guidance.tactics;
53
+ if (tactics.length === 0) {
54
+ // No tactics to match - check strategy
55
+ const strategyMatch = this.matchAgainstStrategy(steps, playbook);
56
+ return {
57
+ matched: strategyMatch.confidence > 0.3,
58
+ matchedTactics: 0,
59
+ totalTactics: 0,
60
+ matchedSteps: strategyMatch.matchedSteps,
61
+ confidence: strategyMatch.confidence,
62
+ };
63
+ }
64
+ const matchedSteps = [];
65
+ let matchedTactics = 0;
66
+ // Try to match each tactic to trajectory steps
67
+ for (const tactic of tactics) {
68
+ const tacticWords = this.extractKeywords(tactic);
69
+ for (let i = 0; i < steps.length; i++) {
70
+ if (matchedSteps.includes(i))
71
+ continue;
72
+ const step = steps[i];
73
+ const stepText = `${step.thought ?? ''} ${step.action}`.toLowerCase();
74
+ const stepWords = this.extractKeywords(stepText);
75
+ // Check word overlap
76
+ const overlap = tacticWords.filter((w) => stepWords.includes(w)).length;
77
+ const overlapRatio = overlap / Math.max(tacticWords.length, 1);
78
+ // Also check semantic similarity
79
+ const similarity = textSimilarity(tactic, stepText);
80
+ if (overlapRatio >= this.config.tacticMatchThreshold ||
81
+ similarity >= this.config.tacticMatchThreshold) {
82
+ matchedTactics++;
83
+ matchedSteps.push(i);
84
+ break;
85
+ }
86
+ }
87
+ }
88
+ const matchRatio = matchedTactics / tactics.length;
89
+ const matched = matchRatio >= this.config.minTacticsMatchRatio;
90
+ // Calculate confidence based on match ratio and step coverage
91
+ const stepCoverage = matchedSteps.length / Math.max(steps.length, 1);
92
+ const confidence = matched ? (matchRatio * 0.7 + stepCoverage * 0.3) : 0;
93
+ return {
94
+ matched,
95
+ matchedTactics,
96
+ totalTactics: tactics.length,
97
+ matchedSteps,
98
+ confidence,
99
+ };
100
+ }
101
+ /**
102
+ * Match steps against playbook strategy (when no tactics)
103
+ */
104
+ matchAgainstStrategy(steps, playbook) {
105
+ const strategy = playbook.guidance.strategy;
106
+ const strategyWords = this.extractKeywords(strategy);
107
+ const matchedSteps = [];
108
+ for (let i = 0; i < steps.length; i++) {
109
+ const step = steps[i];
110
+ const stepText = `${step.thought ?? ''} ${step.action}`.toLowerCase();
111
+ const stepWords = this.extractKeywords(stepText);
112
+ const overlap = strategyWords.filter((w) => stepWords.includes(w)).length;
113
+ const similarity = textSimilarity(strategy, stepText);
114
+ if (overlap >= 2 || similarity >= 0.4) {
115
+ matchedSteps.push(i);
116
+ }
117
+ }
118
+ const confidence = matchedSteps.length > 0
119
+ ? Math.min(0.6, matchedSteps.length / steps.length + 0.2)
120
+ : 0;
121
+ return { confidence, matchedSteps };
122
+ }
123
+ /**
124
+ * Extract keywords from text
125
+ */
126
+ extractKeywords(text) {
127
+ return text
128
+ .toLowerCase()
129
+ .replace(/[^\w\s]/g, ' ')
130
+ .split(/\s+/)
131
+ .filter((w) => w.length > 2 && !this.isStopWord(w));
132
+ }
133
+ /**
134
+ * Check if word is a stop word
135
+ */
136
+ isStopWord(word) {
137
+ const stopWords = new Set([
138
+ 'the',
139
+ 'a',
140
+ 'an',
141
+ 'and',
142
+ 'or',
143
+ 'but',
144
+ 'is',
145
+ 'are',
146
+ 'was',
147
+ 'were',
148
+ 'be',
149
+ 'been',
150
+ 'have',
151
+ 'has',
152
+ 'had',
153
+ 'do',
154
+ 'does',
155
+ 'did',
156
+ 'will',
157
+ 'would',
158
+ 'could',
159
+ 'should',
160
+ 'can',
161
+ 'to',
162
+ 'of',
163
+ 'in',
164
+ 'for',
165
+ 'on',
166
+ 'with',
167
+ 'at',
168
+ 'by',
169
+ 'from',
170
+ 'as',
171
+ 'then',
172
+ 'that',
173
+ 'this',
174
+ 'these',
175
+ 'those',
176
+ 'you',
177
+ 'your',
178
+ 'they',
179
+ 'their',
180
+ ]);
181
+ return stopWords.has(word);
182
+ }
183
+ /**
184
+ * Determine if playbook application was successful
185
+ */
186
+ inferSuccess(trajectory, playbook, matchResult) {
187
+ // Primary: Check trajectory outcome
188
+ if (!trajectory.outcome.success) {
189
+ return false;
190
+ }
191
+ // Check if success indicators are present
192
+ const successIndicators = playbook.verification.successIndicators;
193
+ if (successIndicators.length > 0) {
194
+ const outcomeText = JSON.stringify(trajectory.outcome).toLowerCase();
195
+ const hasIndicator = successIndicators.some((indicator) => outcomeText.includes(indicator.toLowerCase()));
196
+ if (hasIndicator)
197
+ return true;
198
+ }
199
+ // Check if failure indicators are absent
200
+ const failureIndicators = playbook.verification.failureIndicators;
201
+ if (failureIndicators.length > 0) {
202
+ const trajectoryText = trajectory.steps
203
+ .map((s) => `${s.action} ${s.observation ?? ''}`)
204
+ .join(' ')
205
+ .toLowerCase();
206
+ const hasFailureIndicator = failureIndicators.some((indicator) => trajectoryText.includes(indicator.toLowerCase()));
207
+ if (hasFailureIndicator)
208
+ return false;
209
+ }
210
+ // Default to trajectory success with high match confidence
211
+ return matchResult.confidence >= 0.5;
212
+ }
213
+ /**
214
+ * Extract relevant context for potential refinement
215
+ */
216
+ extractRelevantContext(trajectory, _playbook, _matchResult) {
217
+ // Look for context in task metadata
218
+ const metadata = trajectory.task.metadata ?? {};
219
+ if (metadata.fileType)
220
+ return `${metadata.fileType} files`;
221
+ if (metadata.framework)
222
+ return `${metadata.framework} project`;
223
+ if (metadata.language)
224
+ return `${metadata.language} codebase`;
225
+ // Check for specific patterns in steps
226
+ const allText = trajectory.steps
227
+ .map((s) => `${s.thought ?? ''} ${s.action} ${s.observation ?? ''}`)
228
+ .join(' ')
229
+ .toLowerCase();
230
+ if (allText.includes('monorepo'))
231
+ return 'monorepo';
232
+ if (allText.includes('typescript'))
233
+ return 'typescript';
234
+ if (allText.includes('react'))
235
+ return 'react';
236
+ if (allText.includes('node'))
237
+ return 'nodejs';
238
+ if (allText.includes('python'))
239
+ return 'python';
240
+ // Fall back to domain
241
+ return trajectory.task.domain || undefined;
242
+ }
243
+ /**
244
+ * Batch analyze multiple trajectories
245
+ */
246
+ async inferUsageBatch(trajectories) {
247
+ const results = new Map();
248
+ for (const { trajectory, injectedPlaybooks } of trajectories) {
249
+ const usage = await this.inferUsage(trajectory, injectedPlaybooks);
250
+ results.set(trajectory.id, usage);
251
+ }
252
+ return results;
253
+ }
254
+ }
255
+ /**
256
+ * Create a playbook usage inference instance
257
+ */
258
+ export function createUsageInference(config) {
259
+ return new PlaybookUsageInference(config);
260
+ }
261
+ //# sourceMappingURL=usage-inference.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usage-inference.js","sourceRoot":"","sources":["../../src/learning/usage-inference.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AA2CxD,MAAM,cAAc,GAAyB;IAC3C,oBAAoB,EAAE,GAAG;IACzB,oBAAoB,EAAE,GAAG;IACzB,kBAAkB,EAAE,GAAG;CACxB,CAAC;AAEF;;;GAGG;AACH,MAAM,OAAO,sBAAsB;IACzB,MAAM,CAAuB;IAErC,YAAY,MAAsC;QAChD,IAAI,CAAC,MAAM,GAAG,EAAE,GAAG,cAAc,EAAE,GAAG,MAAM,EAAE,CAAC;IACjD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU,CACd,UAAsB,EACtB,iBAA6B;QAE7B,MAAM,OAAO,GAA0B,EAAE,CAAC;QAE1C,KAAK,MAAM,QAAQ,IAAI,iBAAiB,EAAE,CAAC;YACzC,MAAM,WAAW,GAAG,IAAI,CAAC,oBAAoB,CAC3C,UAAU,CAAC,KAAK,EAChB,QAAQ,CACT,CAAC;YAEF,MAAM,OAAO,GACX,WAAW,CAAC,OAAO;gBACnB,WAAW,CAAC,UAAU,IAAI,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC;YAE3D,MAAM,aAAa,GAAG,OAAO;gBAC3B,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,QAAQ,EAAE,WAAW,CAAC;gBACtD,CAAC,CAAC,KAAK,CAAC;YAEV,MAAM,OAAO,GAAG,OAAO;gBACrB,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC,UAAU,EAAE,QAAQ,EAAE,WAAW,CAAC;gBAChE,CAAC,CAAC,SAAS,CAAC;YAEd,OAAO,CAAC,IAAI,CAAC;gBACX,UAAU,EAAE,QAAQ,CAAC,EAAE;gBACvB,YAAY,EAAE,QAAQ,CAAC,IAAI;gBAC3B,OAAO;gBACP,eAAe,EAAE,WAAW,CAAC,UAAU;gBACvC,aAAa;gBACb,YAAY,EAAE,WAAW,CAAC,YAAY;gBACtC,OAAO;aACR,CAAC,CAAC;QACL,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;OAEG;IACK,oBAAoB,CAC1B,KAAa,EACb,QAAkB;QAElB,MAAM,OAAO,GAAG,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC;QAE1C,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,uCAAuC;YACvC,MAAM,aAAa,GAAG,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;YACjE,OAAO;gBACL,OAAO,EAAE,aAAa,CAAC,UAAU,GAAG,GAAG;gBACvC,cAAc,EAAE,CAAC;gBACjB,YAAY,EAAE,CAAC;gBACf,YAAY,EAAE,aAAa,CAAC,YAAY;gBACxC,UAAU,EAAE,aAAa,CAAC,UAAU;aACrC,CAAC;QACJ,CAAC;QAED,MAAM,YAAY,GAAa,EAAE,CAAC;QAClC,IAAI,cAAc,GAAG,CAAC,CAAC;QAEvB,+CAA+C;QAC/C,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,MAAM,WAAW,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;YAEjD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACtC,IAAI,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC;oBAAE,SAAS;gBAEvC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;gBACtB,MAAM,QAAQ,GAAG,GAAG,IAAI,CAAC,OAAO,IAAI,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,WAAW,EAAE,CAAC;gBACtE,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;gBAEjD,qBAAqB;gBACrB,MAAM,OAAO,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;gBACxE,MAAM,YAAY,GAAG,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;gBAE/D,iCAAiC;gBACjC,MAAM,UAAU,GAAG,cAAc,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;gBAEpD,IACE,YAAY,IAAI,IAAI,CAAC,MAAM,CAAC,oBAAoB;oBAChD,UAAU,IAAI,IAAI,CAAC,MAAM,CAAC,oBAAoB,EAC9C,CAAC;oBACD,cAAc,EAAE,CAAC;oBACjB,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBACrB,MAAM;gBACR,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,UAAU,GAAG,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC;QACnD,MAAM,OAAO,GAAG,UAAU,IAAI,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC;QAE/D,8DAA8D;QAC9D,MAAM,YAAY,GAAG,YAAY,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QACrE,MAAM,UAAU,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,UAAU,GAAG,GAAG,GAAG,YAAY,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAEzE,OAAO;YACL,OAAO;YACP,cAAc;YACd,YAAY,EAAE,OAAO,CAAC,MAAM;YAC5B,YAAY;YACZ,UAAU;SACX,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,oBAAoB,CAC1B,KAAa,EACb,QAAkB;QAElB,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAC5C,MAAM,aAAa,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;QACrD,MAAM,YAAY,GAAa,EAAE,CAAC;QAElC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACtB,MAAM,QAAQ,GAAG,GAAG,IAAI,CAAC,OAAO,IAAI,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,WAAW,EAAE,CAAC;YACtE,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;YAEjD,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;YAC1E,MAAM,UAAU,GAAG,cAAc,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YAEtD,IAAI,OAAO,IAAI,CAAC,IAAI,UAAU,IAAI,GAAG,EAAE,CAAC;gBACtC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACvB,CAAC;QACH,CAAC;QAED,MAAM,UAAU,GACd,YAAY,CAAC,MAAM,GAAG,CAAC;YACrB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,YAAY,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,GAAG,GAAG,CAAC;YACzD,CAAC,CAAC,CAAC,CAAC;QAER,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,CAAC;IACtC,CAAC;IAED;;OAEG;IACK,eAAe,CAAC,IAAY;QAClC,OAAO,IAAI;aACR,WAAW,EAAE;aACb,OAAO,CAAC,UAAU,EAAE,GAAG,CAAC;aACxB,KAAK,CAAC,KAAK,CAAC;aACZ,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;IACxD,CAAC;IAED;;OAEG;IACK,UAAU,CAAC,IAAY;QAC7B,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC;YACxB,KAAK;YACL,GAAG;YACH,IAAI;YACJ,KAAK;YACL,IAAI;YACJ,KAAK;YACL,IAAI;YACJ,KAAK;YACL,KAAK;YACL,MAAM;YACN,IAAI;YACJ,MAAM;YACN,MAAM;YACN,KAAK;YACL,KAAK;YACL,IAAI;YACJ,MAAM;YACN,KAAK;YACL,MAAM;YACN,OAAO;YACP,OAAO;YACP,QAAQ;YACR,KAAK;YACL,IAAI;YACJ,IAAI;YACJ,IAAI;YACJ,KAAK;YACL,IAAI;YACJ,MAAM;YACN,IAAI;YACJ,IAAI;YACJ,MAAM;YACN,IAAI;YACJ,MAAM;YACN,MAAM;YACN,MAAM;YACN,OAAO;YACP,OAAO;YACP,KAAK;YACL,MAAM;YACN,MAAM;YACN,OAAO;SACR,CAAC,CAAC;QACH,OAAO,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IAED;;OAEG;IACK,YAAY,CAClB,UAAsB,EACtB,QAAkB,EAClB,WAAgC;QAEhC,oCAAoC;QACpC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;YAChC,OAAO,KAAK,CAAC;QACf,CAAC;QAED,0CAA0C;QAC1C,MAAM,iBAAiB,GAAG,QAAQ,CAAC,YAAY,CAAC,iBAAiB,CAAC;QAClE,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACjC,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;YACrE,MAAM,YAAY,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CACxD,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,CAC9C,CAAC;YACF,IAAI,YAAY;gBAAE,OAAO,IAAI,CAAC;QAChC,CAAC;QAED,yCAAyC;QACzC,MAAM,iBAAiB,GAAG,QAAQ,CAAC,YAAY,CAAC,iBAAiB,CAAC;QAClE,IAAI,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACjC,MAAM,cAAc,GAAG,UAAU,CAAC,KAAK;iBACpC,GAAG,CAAC,CAAC,CAAO,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,WAAW,IAAI,EAAE,EAAE,CAAC;iBACtD,IAAI,CAAC,GAAG,CAAC;iBACT,WAAW,EAAE,CAAC;YAEjB,MAAM,mBAAmB,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAC/D,cAAc,CAAC,QAAQ,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,CACjD,CAAC;YAEF,IAAI,mBAAmB;gBAAE,OAAO,KAAK,CAAC;QACxC,CAAC;QAED,2DAA2D;QAC3D,OAAO,WAAW,CAAC,UAAU,IAAI,GAAG,CAAC;IACvC,CAAC;IAED;;OAEG;IACK,sBAAsB,CAC5B,UAAsB,EACtB,SAAmB,EACnB,YAAiC;QAEjC,oCAAoC;QACpC,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC;QAEhD,IAAI,QAAQ,CAAC,QAAQ;YAAE,OAAO,GAAG,QAAQ,CAAC,QAAQ,QAAQ,CAAC;QAC3D,IAAI,QAAQ,CAAC,SAAS;YAAE,OAAO,GAAG,QAAQ,CAAC,SAAS,UAAU,CAAC;QAC/D,IAAI,QAAQ,CAAC,QAAQ;YAAE,OAAO,GAAG,QAAQ,CAAC,QAAQ,WAAW,CAAC;QAE9D,uCAAuC;QACvC,MAAM,OAAO,GAAG,UAAU,CAAC,KAAK;aAC7B,GAAG,CAAC,CAAC,CAAO,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,OAAO,IAAI,EAAE,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,WAAW,IAAI,EAAE,EAAE,CAAC;aACzE,IAAI,CAAC,GAAG,CAAC;aACT,WAAW,EAAE,CAAC;QAEjB,IAAI,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC;YAAE,OAAO,UAAU,CAAC;QACpD,IAAI,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC;YAAE,OAAO,YAAY,CAAC;QACxD,IAAI,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC;YAAE,OAAO,OAAO,CAAC;QAC9C,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAE,OAAO,QAAQ,CAAC;QAC9C,IAAI,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAAE,OAAO,QAAQ,CAAC;QAEhD,sBAAsB;QACtB,OAAO,UAAU,CAAC,IAAI,CAAC,MAAM,IAAI,SAAS,CAAC;IAC7C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,eAAe,CACnB,YAGE;QAEF,MAAM,OAAO,GAAG,IAAI,GAAG,EAAiC,CAAC;QAEzD,KAAK,MAAM,EAAE,UAAU,EAAE,iBAAiB,EAAE,IAAI,YAAY,EAAE,CAAC;YAC7D,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC;YACnE,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QACpC,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;CACF;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAClC,MAAsC;IAEtC,OAAO,IAAI,sBAAsB,CAAC,MAAM,CAAC,CAAC;AAC5C,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * @deprecated The MCP server is deprecated in favor of the CLI + SKILL.md approach.
3
+ * See /SKILL.md for agent instructions and use bin/cognitive-core CLI instead.
4
+ */
5
+ export { PlaybookMCPServer, createPlaybookMCPServer, type MCPTool, type MCPToolCall, type MCPToolResult, type PlaybookSearchResult, } from './playbook-server.js';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/mcp/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EACL,iBAAiB,EACjB,uBAAuB,EACvB,KAAK,OAAO,EACZ,KAAK,WAAW,EAChB,KAAK,aAAa,EAClB,KAAK,oBAAoB,GAC1B,MAAM,sBAAsB,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * @deprecated The MCP server is deprecated in favor of the CLI + SKILL.md approach.
3
+ * See /SKILL.md for agent instructions and use bin/cognitive-core CLI instead.
4
+ */
5
+ export { PlaybookMCPServer, createPlaybookMCPServer, } from './playbook-server.js';
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/mcp/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EACL,iBAAiB,EACjB,uBAAuB,GAKxB,MAAM,sBAAsB,CAAC"}
@@ -0,0 +1,120 @@
1
+ /**
2
+ * MCP Playbook Server
3
+ * Exposes playbook retrieval via Model Context Protocol
4
+ *
5
+ * @deprecated This module is deprecated in favor of the CLI interface and SKILL.md approach.
6
+ * See /SKILL.md for instructions on how agents should interact with cognitive-core.
7
+ * Use the CLI at bin/cognitive-core instead of this MCP server.
8
+ *
9
+ * This server provides on-demand access to the full playbook library,
10
+ * allowing agents to search for specific guidance beyond what's in their
11
+ * system prompt.
12
+ */
13
+ import type { PlaybookLibrary } from '../memory/playbook.js';
14
+ import type { SkillLibrary } from '../surfacing/skill-library.js';
15
+ import type { MCPServerConfig } from '../types/config.js';
16
+ /**
17
+ * MCP Tool definition
18
+ */
19
+ export interface MCPTool {
20
+ name: string;
21
+ description: string;
22
+ inputSchema: {
23
+ type: 'object';
24
+ properties: Record<string, unknown>;
25
+ required?: string[];
26
+ };
27
+ }
28
+ /**
29
+ * MCP Tool call request
30
+ */
31
+ export interface MCPToolCall {
32
+ name: string;
33
+ arguments: Record<string, unknown>;
34
+ }
35
+ /**
36
+ * MCP Tool call result
37
+ */
38
+ export interface MCPToolResult {
39
+ content: Array<{
40
+ type: 'text';
41
+ text: string;
42
+ }>;
43
+ isError?: boolean;
44
+ }
45
+ /**
46
+ * Search result for MCP
47
+ */
48
+ export interface PlaybookSearchResult {
49
+ id: string;
50
+ name: string;
51
+ confidence: number;
52
+ matchScore: number;
53
+ matchType: string;
54
+ strategy: string;
55
+ tactics: string[];
56
+ successRate: number;
57
+ domains: string[];
58
+ }
59
+ /**
60
+ * MCP Playbook Server
61
+ * Provides playbook search tools for agents
62
+ */
63
+ export declare class PlaybookMCPServer {
64
+ private playbooks;
65
+ private config;
66
+ constructor(playbooks: PlaybookLibrary, _skillLibrary?: SkillLibrary, config?: Partial<MCPServerConfig>);
67
+ /**
68
+ * Get available MCP tools
69
+ */
70
+ getTools(): MCPTool[];
71
+ /**
72
+ * Handle an MCP tool call
73
+ */
74
+ handleToolCall(call: MCPToolCall): Promise<MCPToolResult>;
75
+ /**
76
+ * Handle search_playbooks tool call
77
+ */
78
+ private handleSearchPlaybooks;
79
+ /**
80
+ * Handle get_playbook_details tool call
81
+ */
82
+ private handleGetPlaybookDetails;
83
+ /**
84
+ * Handle list_domains tool call
85
+ */
86
+ private handleListDomains;
87
+ /**
88
+ * Handle get_playbooks_by_domain tool call
89
+ */
90
+ private handleGetPlaybooksByDomain;
91
+ /**
92
+ * Format playbook match for search results
93
+ */
94
+ private formatPlaybookForSearch;
95
+ /**
96
+ * Format search result as text
97
+ */
98
+ private formatSearchResultAsText;
99
+ /**
100
+ * Format playbook summary
101
+ */
102
+ private formatPlaybookSummary;
103
+ /**
104
+ * Format full playbook details
105
+ */
106
+ private formatPlaybookDetails;
107
+ /**
108
+ * Get server info for MCP protocol
109
+ */
110
+ getServerInfo(): {
111
+ name: string;
112
+ version: string;
113
+ description: string;
114
+ };
115
+ }
116
+ /**
117
+ * Create an MCP playbook server
118
+ */
119
+ export declare function createPlaybookMCPServer(playbooks: PlaybookLibrary, skillLibrary?: SkillLibrary, config?: Partial<MCPServerConfig>): PlaybookMCPServer;
120
+ //# sourceMappingURL=playbook-server.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"playbook-server.d.ts","sourceRoot":"","sources":["../../src/mcp/playbook-server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,KAAK,EAAE,eAAe,EAAiB,MAAM,uBAAuB,CAAC;AAC5E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAQ1D;;GAEG;AACH,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ,CAAC;QACf,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACpC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;KACrB,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,KAAK,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;KACd,CAAC,CAAC;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAeD;;;GAGG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,SAAS,CAAkB;IACnC,OAAO,CAAC,MAAM,CAAkB;gBAG9B,SAAS,EAAE,eAAe,EAC1B,aAAa,CAAC,EAAE,YAAY,EAC5B,MAAM,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC;IAMnC;;OAEG;IACH,QAAQ,IAAI,OAAO,EAAE;IAuErB;;OAEG;IACG,cAAc,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,aAAa,CAAC;IA8B/D;;OAEG;YACW,qBAAqB;IA2CnC;;OAEG;YACW,wBAAwB;IA6BtC;;OAEG;YACW,iBAAiB;IA6B/B;;OAEG;YACW,0BAA0B;IAsCxC;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAkB/B;;OAEG;IACH,OAAO,CAAC,wBAAwB;IA6BhC;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAgB7B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAwG7B;;OAEG;IACH,aAAa,IAAI;QACf,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,WAAW,EAAE,MAAM,CAAC;KACrB;CAQF;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,eAAe,EAC1B,YAAY,CAAC,EAAE,YAAY,EAC3B,MAAM,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,GAChC,iBAAiB,CAEnB"}