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
package/src/factory.ts ADDED
@@ -0,0 +1,263 @@
1
+ /**
2
+ * Factory Interface for External Integration
3
+ *
4
+ * Provides a unified factory interface for creating cognitive-core components.
5
+ * This is primarily used by skill-tree and other external consumers who need
6
+ * to inject cognitive-core functionality without direct imports.
7
+ *
8
+ * @example
9
+ * ```typescript
10
+ * import { createCognitiveCoreFactory } from 'cognitive-core';
11
+ *
12
+ * const factory = createCognitiveCoreFactory();
13
+ *
14
+ * const memory = factory.createMemorySystem('./.memory');
15
+ * await memory.init();
16
+ *
17
+ * const pipeline = factory.createLearningPipeline(memory, {
18
+ * minTrajectories: 5,
19
+ * });
20
+ * ```
21
+ */
22
+
23
+ import type { Task, Trajectory, Step, Outcome, LearningConfig } from './types/index.js';
24
+ import { createTask, createTrajectory, createStep, successOutcome, failureOutcome } from './types/index.js';
25
+ import type { MemorySystem } from './memory/system.js';
26
+ import { createMemorySystem } from './memory/system.js';
27
+ import type { ProcessResult, BatchResult } from './learning/pipeline.js';
28
+ import { createLearningPipeline } from './learning/pipeline.js';
29
+
30
+ /**
31
+ * Parameters for creating a Task
32
+ */
33
+ export interface TaskParams {
34
+ id?: string;
35
+ domain: string;
36
+ description: string;
37
+ context?: Record<string, unknown>;
38
+ metadata?: Record<string, unknown>;
39
+ }
40
+
41
+ /**
42
+ * Parameters for creating a Trajectory
43
+ */
44
+ export interface TrajectoryParams {
45
+ id?: string;
46
+ task: Task;
47
+ steps: Step[];
48
+ outcome: Outcome;
49
+ agentId: string;
50
+ metadata?: Record<string, unknown>;
51
+ }
52
+
53
+ /**
54
+ * Parameters for creating a Step
55
+ */
56
+ export interface StepParams {
57
+ thought?: string;
58
+ action: string;
59
+ observation: string;
60
+ metadata?: Record<string, unknown>;
61
+ }
62
+
63
+ /**
64
+ * Parameters for creating an Outcome
65
+ */
66
+ export interface OutcomeParams {
67
+ success: boolean;
68
+ solution?: unknown;
69
+ errorInfo?: string;
70
+ partialScore?: number;
71
+ }
72
+
73
+ /**
74
+ * Learning pipeline configuration
75
+ */
76
+ export interface LearningPipelineConfig {
77
+ creditStrategy?: 'simple' | 'contribution';
78
+ minTrajectories?: number;
79
+ deduplicationThreshold?: number;
80
+ minSuccessRate?: number;
81
+ }
82
+
83
+ /**
84
+ * Interface for the LearningPipeline that external consumers need
85
+ */
86
+ export interface ILearningPipeline {
87
+ processTrajectory(trajectory: Trajectory): Promise<ProcessResult>;
88
+ shouldRunBatch(): boolean;
89
+ runBatchLearning(): Promise<BatchResult>;
90
+ getAccumulatedCount(): number;
91
+ clearAccumulated(): void;
92
+ }
93
+
94
+ /**
95
+ * Interface for the MemorySystem that external consumers need
96
+ */
97
+ export interface IMemorySystem {
98
+ init(): Promise<void>;
99
+ close(): Promise<void>;
100
+ playbooks: {
101
+ getAll(): Promise<import('./types/playbook.js').Playbook[]>;
102
+ get(id: string): Promise<import('./types/playbook.js').Playbook | undefined>;
103
+ add(playbook: import('./types/playbook.js').Playbook): Promise<void>;
104
+ recordSuccess(id: string, trajectoryId: string): Promise<void>;
105
+ recordFailure(id: string, trajectoryId: string, context: string, failureMode: string): Promise<void>;
106
+ };
107
+ storeTrajectory(trajectory: Trajectory): Promise<import('./types/memory.js').Experience>;
108
+ }
109
+
110
+ /**
111
+ * Factory interface for creating cognitive-core components
112
+ *
113
+ * This interface allows external consumers (like skill-tree) to create
114
+ * cognitive-core components without directly importing the implementation.
115
+ * This enables dependency injection and cleaner integration.
116
+ */
117
+ export interface CognitiveCoreFactory {
118
+ /**
119
+ * Create a memory system for storing experiences and playbooks
120
+ */
121
+ createMemorySystem(storagePath: string): IMemorySystem;
122
+
123
+ /**
124
+ * Create a learning pipeline for processing trajectories
125
+ */
126
+ createLearningPipeline(
127
+ memory: IMemorySystem,
128
+ config?: LearningPipelineConfig
129
+ ): ILearningPipeline;
130
+
131
+ /**
132
+ * Create a trajectory from parameters
133
+ */
134
+ createTrajectory(params: TrajectoryParams): Trajectory;
135
+
136
+ /**
137
+ * Create a task from parameters
138
+ */
139
+ createTask(params: TaskParams): Task;
140
+
141
+ /**
142
+ * Create a step from parameters
143
+ */
144
+ createStep(params: StepParams): Step;
145
+
146
+ /**
147
+ * Create a success outcome
148
+ */
149
+ createSuccessOutcome(solution: unknown): Outcome;
150
+
151
+ /**
152
+ * Create a failure outcome
153
+ */
154
+ createFailureOutcome(errorInfo: string): Outcome;
155
+ }
156
+
157
+ /**
158
+ * Implementation of the CognitiveCoreFactory
159
+ */
160
+ class CognitiveCoreFactoryImpl implements CognitiveCoreFactory {
161
+ createMemorySystem(storagePath: string): IMemorySystem {
162
+ return createMemorySystem(storagePath) as IMemorySystem;
163
+ }
164
+
165
+ createLearningPipeline(
166
+ memory: IMemorySystem,
167
+ config?: LearningPipelineConfig
168
+ ): ILearningPipeline {
169
+ return createLearningPipeline(
170
+ memory as MemorySystem,
171
+ config as Partial<LearningConfig>
172
+ ) as ILearningPipeline;
173
+ }
174
+
175
+ createTrajectory(params: TrajectoryParams): Trajectory {
176
+ return createTrajectory(params);
177
+ }
178
+
179
+ createTask(params: TaskParams): Task {
180
+ return createTask(params);
181
+ }
182
+
183
+ createStep(params: StepParams): Step {
184
+ return createStep(params);
185
+ }
186
+
187
+ createSuccessOutcome(solution: unknown): Outcome {
188
+ return successOutcome(solution);
189
+ }
190
+
191
+ createFailureOutcome(errorInfo: string): Outcome {
192
+ return failureOutcome(errorInfo);
193
+ }
194
+ }
195
+
196
+ /**
197
+ * Create a factory instance for cognitive-core components
198
+ *
199
+ * @returns A factory that can create memory systems, learning pipelines,
200
+ * trajectories, tasks, steps, and outcomes.
201
+ *
202
+ * @example
203
+ * ```typescript
204
+ * const factory = createCognitiveCoreFactory();
205
+ *
206
+ * // Create memory system
207
+ * const memory = factory.createMemorySystem('./.atlas');
208
+ * await memory.init();
209
+ *
210
+ * // Create learning pipeline
211
+ * const pipeline = factory.createLearningPipeline(memory, {
212
+ * minTrajectories: 10,
213
+ * deduplicationThreshold: 0.85,
214
+ * });
215
+ *
216
+ * // Create and process trajectory
217
+ * const task = factory.createTask({
218
+ * domain: 'code',
219
+ * description: 'Fix the bug',
220
+ * });
221
+ *
222
+ * const trajectory = factory.createTrajectory({
223
+ * task,
224
+ * steps: [
225
+ * factory.createStep({
226
+ * action: 'read file',
227
+ * observation: 'found bug',
228
+ * }),
229
+ * ],
230
+ * outcome: factory.createSuccessOutcome('Fixed'),
231
+ * agentId: 'my-agent',
232
+ * });
233
+ *
234
+ * await pipeline.processTrajectory(trajectory);
235
+ * ```
236
+ */
237
+ export function createCognitiveCoreFactory(): CognitiveCoreFactory {
238
+ return new CognitiveCoreFactoryImpl();
239
+ }
240
+
241
+ /**
242
+ * Get the default factory instance
243
+ *
244
+ * This is a convenience for consumers who just need the factory functions
245
+ * without managing a factory instance.
246
+ */
247
+ export const cognitiveCoreFactory = createCognitiveCoreFactory();
248
+
249
+ /**
250
+ * Individual factory functions (for direct imports)
251
+ *
252
+ * These are re-exports of the underlying creation functions for consumers
253
+ * who prefer direct imports over the factory pattern.
254
+ */
255
+ export {
256
+ createMemorySystem,
257
+ createLearningPipeline,
258
+ createTask,
259
+ createTrajectory,
260
+ createStep,
261
+ successOutcome,
262
+ failureOutcome,
263
+ };
package/src/index.ts ADDED
@@ -0,0 +1,246 @@
1
+ /**
2
+ * Atlas - Adaptive Trajectory Learning and Abstraction System
3
+ *
4
+ * A TypeScript-native cognitive core for building agents that learn
5
+ * from experience. Extracts playbooks from problem-solving trajectories
6
+ * to guide future task solving.
7
+ *
8
+ * @example
9
+ * ```typescript
10
+ * import { createAtlas, createTask } from 'cognitive-core';
11
+ *
12
+ * const atlas = createAtlas();
13
+ * await atlas.init();
14
+ *
15
+ * // Set your LLM provider
16
+ * atlas.setProvider(myProvider);
17
+ *
18
+ * // Solve a task
19
+ * const task = createTask({
20
+ * domain: 'code',
21
+ * description: 'Write a function that...',
22
+ * });
23
+ *
24
+ * const result = await atlas.solve(task);
25
+ * console.log(result.trajectory.outcome);
26
+ *
27
+ * // Close when done
28
+ * await atlas.close();
29
+ * ```
30
+ */
31
+
32
+ // Main Atlas class
33
+ export {
34
+ Atlas,
35
+ createAtlas,
36
+ createAtlasWithProvider,
37
+ createAtlasWithAgents,
38
+ type AtlasStats,
39
+ type SolveResult,
40
+ } from './atlas.js';
41
+
42
+ // Types
43
+ export * from './types/index.js';
44
+
45
+ // Memory system
46
+ export {
47
+ MemorySystem,
48
+ createMemorySystem,
49
+ ExperienceMemory,
50
+ type MemoryQueryResult,
51
+ type MemoryQueryResultV2,
52
+ // Playbook-based memory
53
+ PlaybookLibrary,
54
+ createPlaybookLibrary,
55
+ type PlaybookMatch,
56
+ // Meta-learning memory
57
+ MetaMemory,
58
+ createMetaMemory,
59
+ } from './memory/index.js';
60
+
61
+ // Learning engine
62
+ export {
63
+ LearningPipeline,
64
+ createLearningPipeline,
65
+ TrajectoryAnalyzer,
66
+ createAnalyzer,
67
+ type ProcessResult,
68
+ type BatchResult,
69
+ type AnalysisResult,
70
+ // Playbook-based learning
71
+ PlaybookExtractor,
72
+ createPlaybookExtractor,
73
+ type ExtractedPlaybooks,
74
+ type PlaybookUpdate,
75
+ type PlaybookExtractorConfig,
76
+ // Meta-learning
77
+ MetaLearner,
78
+ createMetaLearner,
79
+ type MetaLearnerConfig,
80
+ // Usage inference
81
+ PlaybookUsageInference,
82
+ createUsageInference,
83
+ type PlaybookUsageResult,
84
+ type UsageInferenceConfig,
85
+ // LLM-based extraction
86
+ LLMPlaybookExtractor,
87
+ createLLMExtractor,
88
+ type LLMExtractorConfig,
89
+ type LLMExtractionResult,
90
+ } from './learning/index.js';
91
+
92
+ // Search/solving
93
+ export {
94
+ TaskRouter,
95
+ createRouter,
96
+ DirectSolver,
97
+ createSolver,
98
+ type RoutingDecision,
99
+ type SolverResult,
100
+ // Refinement
101
+ SolutionEvaluator,
102
+ createSolutionEvaluator,
103
+ RefinementLoop,
104
+ createRefinementLoop,
105
+ createEvaluationResult,
106
+ scoreToQuality,
107
+ isQualityAcceptable,
108
+ type EvaluationResult,
109
+ type EvaluationIssue,
110
+ type EvaluationMethod,
111
+ type QualityLevel,
112
+ type FailureContext,
113
+ type RefinementResult,
114
+ type EvaluatorConfig,
115
+ type VerificationFunction,
116
+ type VerificationResult,
117
+ type RefinementLoopConfig,
118
+ // Verification runner
119
+ VerificationRunner,
120
+ createVerificationRunner,
121
+ TestRunners,
122
+ type CommandVerificationConfig,
123
+ type CommandResult,
124
+ type VerificationIssue,
125
+ } from './search/index.js';
126
+
127
+ // Agents
128
+ export {
129
+ Agent,
130
+ MockLLMProvider,
131
+ createMockProvider,
132
+ type LLMProvider,
133
+ type Message,
134
+ type CompletionOptions,
135
+ type AgentConfig,
136
+ } from './agents/index.js';
137
+
138
+ // Utilities
139
+ export {
140
+ cosineSimilarity,
141
+ textSimilarity,
142
+ findTopK,
143
+ JsonStore,
144
+ saveJson,
145
+ loadJson,
146
+ } from './utils/index.js';
147
+
148
+ // Embeddings - Vector search and similarity
149
+ export {
150
+ // Provider interface and implementations
151
+ type EmbeddingProvider,
152
+ type EmbeddingProviderConfig,
153
+ OpenAIEmbeddingProvider,
154
+ VoyageEmbeddingProvider,
155
+ LocalEmbeddingProvider,
156
+ createEmbeddingProvider,
157
+ // BM25 text search fallback
158
+ BM25Index,
159
+ createBM25Index,
160
+ type MemoryItemType,
161
+ // Vector store
162
+ SqliteVectorStore,
163
+ createVectorStore,
164
+ type VectorSearchResult,
165
+ // Embedding manager
166
+ EmbeddingManager,
167
+ createEmbeddingManager,
168
+ type EmbeddingManagerOptions,
169
+ type SearchResult,
170
+ } from './embeddings/index.js';
171
+
172
+ // Runtime - Agent management and flows
173
+ export {
174
+ // Manager
175
+ AgentManager,
176
+ createAgentManager,
177
+ DefaultKnowledgeInjector,
178
+ DefaultTrajectoryExtractor,
179
+ // Backends
180
+ SubprocessBackend,
181
+ createSubprocessBackend,
182
+ claudeCodeConfig,
183
+ MockBackend,
184
+ createMockBackend,
185
+ ACPBackend,
186
+ createACPBackend,
187
+ claudeCodeACPConfig,
188
+ claudeCodeDirectConfig,
189
+ // Flows
190
+ LearningFlow,
191
+ createLearningFlow,
192
+ ValidationFlow,
193
+ createValidationFlow,
194
+ // Types
195
+ type AgentMessage,
196
+ type ToolCall,
197
+ type AgentState,
198
+ type AgentSession,
199
+ type AgentSpawnConfig,
200
+ type AgentResult,
201
+ type AgentBackend,
202
+ type KnowledgeInjector,
203
+ type TrajectoryExtractor,
204
+ type AgentObserverCallbacks,
205
+ type SubprocessAgentConfig,
206
+ type MockAgentBehavior,
207
+ type ACPAgentConfig,
208
+ type LearningFlowConfig,
209
+ type LearningFlowResult,
210
+ type ValidationFlowConfig,
211
+ type ValidationFlowResult,
212
+ type ValidationMetrics,
213
+ } from './runtime/index.js';
214
+
215
+ // Surfacing - Skill library for agent consumption
216
+ export {
217
+ SkillLibrary,
218
+ createSkillLibrary,
219
+ type AgentSkills,
220
+ type TierRefreshResult,
221
+ } from './surfacing/index.js';
222
+
223
+ // MCP Server - On-demand playbook access
224
+ // @deprecated Use the CLI (bin/cognitive-core) + SKILL.md approach instead
225
+ export {
226
+ PlaybookMCPServer,
227
+ createPlaybookMCPServer,
228
+ type MCPTool,
229
+ type MCPToolCall,
230
+ type MCPToolResult,
231
+ type PlaybookSearchResult,
232
+ } from './mcp/index.js';
233
+
234
+ // Factory - Unified interface for external integration (e.g., skill-tree)
235
+ export {
236
+ createCognitiveCoreFactory,
237
+ cognitiveCoreFactory,
238
+ type CognitiveCoreFactory,
239
+ type ILearningPipeline,
240
+ type IMemorySystem,
241
+ type TaskParams,
242
+ type TrajectoryParams,
243
+ type StepParams,
244
+ type OutcomeParams,
245
+ type LearningPipelineConfig,
246
+ } from './factory.js';