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,91 @@
1
+ import { z } from 'zod';
2
+ /**
3
+ * Verification specification for validating task outcomes
4
+ */
5
+ export declare const VerificationSpecSchema: z.ZodObject<{
6
+ type: z.ZodEnum<["exact_match", "fuzzy_match", "function", "llm"]>;
7
+ expected: z.ZodOptional<z.ZodUnknown>;
8
+ tolerance: z.ZodOptional<z.ZodNumber>;
9
+ verifier_id: z.ZodOptional<z.ZodString>;
10
+ }, "strip", z.ZodTypeAny, {
11
+ type: "function" | "exact_match" | "fuzzy_match" | "llm";
12
+ expected?: unknown;
13
+ tolerance?: number | undefined;
14
+ verifier_id?: string | undefined;
15
+ }, {
16
+ type: "function" | "exact_match" | "fuzzy_match" | "llm";
17
+ expected?: unknown;
18
+ tolerance?: number | undefined;
19
+ verifier_id?: string | undefined;
20
+ }>;
21
+ export type VerificationSpec = z.infer<typeof VerificationSpecSchema>;
22
+ /**
23
+ * Task - The fundamental unit of work
24
+ * Represents what an agent needs to accomplish
25
+ */
26
+ export declare const TaskSchema: z.ZodObject<{
27
+ id: z.ZodString;
28
+ domain: z.ZodString;
29
+ description: z.ZodString;
30
+ context: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
31
+ verification: z.ZodOptional<z.ZodObject<{
32
+ type: z.ZodEnum<["exact_match", "fuzzy_match", "function", "llm"]>;
33
+ expected: z.ZodOptional<z.ZodUnknown>;
34
+ tolerance: z.ZodOptional<z.ZodNumber>;
35
+ verifier_id: z.ZodOptional<z.ZodString>;
36
+ }, "strip", z.ZodTypeAny, {
37
+ type: "function" | "exact_match" | "fuzzy_match" | "llm";
38
+ expected?: unknown;
39
+ tolerance?: number | undefined;
40
+ verifier_id?: string | undefined;
41
+ }, {
42
+ type: "function" | "exact_match" | "fuzzy_match" | "llm";
43
+ expected?: unknown;
44
+ tolerance?: number | undefined;
45
+ verifier_id?: string | undefined;
46
+ }>>;
47
+ embedding: z.ZodOptional<z.ZodArray<z.ZodNumber, "many">>;
48
+ metadata: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
49
+ createdAt: z.ZodDefault<z.ZodDate>;
50
+ }, "strip", z.ZodTypeAny, {
51
+ id: string;
52
+ domain: string;
53
+ description: string;
54
+ context: Record<string, unknown>;
55
+ metadata: Record<string, unknown>;
56
+ createdAt: Date;
57
+ verification?: {
58
+ type: "function" | "exact_match" | "fuzzy_match" | "llm";
59
+ expected?: unknown;
60
+ tolerance?: number | undefined;
61
+ verifier_id?: string | undefined;
62
+ } | undefined;
63
+ embedding?: number[] | undefined;
64
+ }, {
65
+ id: string;
66
+ domain: string;
67
+ description: string;
68
+ context?: Record<string, unknown> | undefined;
69
+ verification?: {
70
+ type: "function" | "exact_match" | "fuzzy_match" | "llm";
71
+ expected?: unknown;
72
+ tolerance?: number | undefined;
73
+ verifier_id?: string | undefined;
74
+ } | undefined;
75
+ embedding?: number[] | undefined;
76
+ metadata?: Record<string, unknown> | undefined;
77
+ createdAt?: Date | undefined;
78
+ }>;
79
+ export type Task = z.infer<typeof TaskSchema>;
80
+ /**
81
+ * Create a new task with defaults
82
+ */
83
+ export declare function createTask(params: {
84
+ id?: string;
85
+ domain: string;
86
+ description: string;
87
+ context?: Record<string, unknown>;
88
+ verification?: VerificationSpec;
89
+ metadata?: Record<string, unknown>;
90
+ }): Task;
91
+ //# sourceMappingURL=task.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"task.d.ts","sourceRoot":"","sources":["../../src/types/task.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;GAEG;AACH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;EAKjC,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE;;;GAGG;AACH,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EASrB,CAAC;AAEH,MAAM,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC;AAE9C;;GAEG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE;IACjC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,YAAY,CAAC,EAAE,gBAAgB,CAAC;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC,GAAG,IAAI,CAUP"}
@@ -0,0 +1,39 @@
1
+ import { z } from 'zod';
2
+ /**
3
+ * Verification specification for validating task outcomes
4
+ */
5
+ export const VerificationSpecSchema = z.object({
6
+ type: z.enum(['exact_match', 'fuzzy_match', 'function', 'llm']),
7
+ expected: z.unknown().optional(),
8
+ tolerance: z.number().optional(),
9
+ verifier_id: z.string().optional(),
10
+ });
11
+ /**
12
+ * Task - The fundamental unit of work
13
+ * Represents what an agent needs to accomplish
14
+ */
15
+ export const TaskSchema = z.object({
16
+ id: z.string(),
17
+ domain: z.string(), // e.g., 'arc', 'swe', 'code', 'reasoning'
18
+ description: z.string(),
19
+ context: z.record(z.unknown()).default({}),
20
+ verification: VerificationSpecSchema.optional(),
21
+ embedding: z.array(z.number()).optional(),
22
+ metadata: z.record(z.unknown()).default({}),
23
+ createdAt: z.date().default(() => new Date()),
24
+ });
25
+ /**
26
+ * Create a new task with defaults
27
+ */
28
+ export function createTask(params) {
29
+ return TaskSchema.parse({
30
+ id: params.id ?? crypto.randomUUID(),
31
+ domain: params.domain,
32
+ description: params.description,
33
+ context: params.context ?? {},
34
+ verification: params.verification,
35
+ metadata: params.metadata ?? {},
36
+ createdAt: new Date(),
37
+ });
38
+ }
39
+ //# sourceMappingURL=task.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"task.js","sourceRoot":"","sources":["../../src/types/task.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;GAEG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,aAAa,EAAE,aAAa,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;IAC/D,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAChC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACnC,CAAC,CAAC;AAIH;;;GAGG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC;IACjC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,0CAA0C;IAC9D,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;IACvB,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IAC1C,YAAY,EAAE,sBAAsB,CAAC,QAAQ,EAAE;IAC/C,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IACzC,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IAC3C,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC;CAC9C,CAAC,CAAC;AAIH;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,MAO1B;IACC,OAAO,UAAU,CAAC,KAAK,CAAC;QACtB,EAAE,EAAE,MAAM,CAAC,EAAE,IAAI,MAAM,CAAC,UAAU,EAAE;QACpC,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,EAAE;QAC7B,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,EAAE;QAC/B,SAAS,EAAE,IAAI,IAAI,EAAE;KACtB,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,221 @@
1
+ import { z } from 'zod';
2
+ import { type Task } from './task.js';
3
+ import { type Step } from './step.js';
4
+ import { type Outcome } from './outcome.js';
5
+ /**
6
+ * Trajectory - A complete record of an agent's task-solving attempt
7
+ * The atomic unit of learning in Atlas
8
+ */
9
+ export declare const TrajectorySchema: z.ZodObject<{
10
+ /** Unique trajectory identifier */
11
+ id: z.ZodString;
12
+ /** The task being solved */
13
+ task: z.ZodObject<{
14
+ id: z.ZodString;
15
+ domain: z.ZodString;
16
+ description: z.ZodString;
17
+ context: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
18
+ verification: z.ZodOptional<z.ZodObject<{
19
+ type: z.ZodEnum<["exact_match", "fuzzy_match", "function", "llm"]>;
20
+ expected: z.ZodOptional<z.ZodUnknown>;
21
+ tolerance: z.ZodOptional<z.ZodNumber>;
22
+ verifier_id: z.ZodOptional<z.ZodString>;
23
+ }, "strip", z.ZodTypeAny, {
24
+ type: "function" | "exact_match" | "fuzzy_match" | "llm";
25
+ expected?: unknown;
26
+ tolerance?: number | undefined;
27
+ verifier_id?: string | undefined;
28
+ }, {
29
+ type: "function" | "exact_match" | "fuzzy_match" | "llm";
30
+ expected?: unknown;
31
+ tolerance?: number | undefined;
32
+ verifier_id?: string | undefined;
33
+ }>>;
34
+ embedding: z.ZodOptional<z.ZodArray<z.ZodNumber, "many">>;
35
+ metadata: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
36
+ createdAt: z.ZodDefault<z.ZodDate>;
37
+ }, "strip", z.ZodTypeAny, {
38
+ id: string;
39
+ domain: string;
40
+ description: string;
41
+ context: Record<string, unknown>;
42
+ metadata: Record<string, unknown>;
43
+ createdAt: Date;
44
+ verification?: {
45
+ type: "function" | "exact_match" | "fuzzy_match" | "llm";
46
+ expected?: unknown;
47
+ tolerance?: number | undefined;
48
+ verifier_id?: string | undefined;
49
+ } | undefined;
50
+ embedding?: number[] | undefined;
51
+ }, {
52
+ id: string;
53
+ domain: string;
54
+ description: string;
55
+ context?: Record<string, unknown> | undefined;
56
+ verification?: {
57
+ type: "function" | "exact_match" | "fuzzy_match" | "llm";
58
+ expected?: unknown;
59
+ tolerance?: number | undefined;
60
+ verifier_id?: string | undefined;
61
+ } | undefined;
62
+ embedding?: number[] | undefined;
63
+ metadata?: Record<string, unknown> | undefined;
64
+ createdAt?: Date | undefined;
65
+ }>;
66
+ /** Sequence of steps taken */
67
+ steps: z.ZodArray<z.ZodObject<{
68
+ thought: z.ZodOptional<z.ZodString>;
69
+ action: z.ZodString;
70
+ observation: z.ZodString;
71
+ timestamp: z.ZodDefault<z.ZodDate>;
72
+ metadata: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
73
+ attributionScore: z.ZodOptional<z.ZodNumber>;
74
+ }, "strip", z.ZodTypeAny, {
75
+ metadata: Record<string, unknown>;
76
+ action: string;
77
+ observation: string;
78
+ timestamp: Date;
79
+ thought?: string | undefined;
80
+ attributionScore?: number | undefined;
81
+ }, {
82
+ action: string;
83
+ observation: string;
84
+ metadata?: Record<string, unknown> | undefined;
85
+ thought?: string | undefined;
86
+ timestamp?: Date | undefined;
87
+ attributionScore?: number | undefined;
88
+ }>, "many">;
89
+ /** Final outcome */
90
+ outcome: z.ZodObject<{
91
+ success: z.ZodBoolean;
92
+ partialScore: z.ZodDefault<z.ZodNumber>;
93
+ errorInfo: z.ZodOptional<z.ZodString>;
94
+ verificationDetails: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
95
+ solution: z.ZodOptional<z.ZodUnknown>;
96
+ }, "strip", z.ZodTypeAny, {
97
+ success: boolean;
98
+ partialScore: number;
99
+ verificationDetails: Record<string, unknown>;
100
+ errorInfo?: string | undefined;
101
+ solution?: unknown;
102
+ }, {
103
+ success: boolean;
104
+ partialScore?: number | undefined;
105
+ errorInfo?: string | undefined;
106
+ verificationDetails?: Record<string, unknown> | undefined;
107
+ solution?: unknown;
108
+ }>;
109
+ /** Identifier of the agent that produced this trajectory */
110
+ agentId: z.ZodString;
111
+ /** When the trajectory was created */
112
+ timestamp: z.ZodDefault<z.ZodDate>;
113
+ /** Number of LLM API calls made */
114
+ llmCalls: z.ZodDefault<z.ZodNumber>;
115
+ /** Total tokens used */
116
+ totalTokens: z.ZodDefault<z.ZodNumber>;
117
+ /** Wall clock time in seconds */
118
+ wallTimeSeconds: z.ZodDefault<z.ZodNumber>;
119
+ /** Additional metadata */
120
+ metadata: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
121
+ }, "strip", z.ZodTypeAny, {
122
+ id: string;
123
+ metadata: Record<string, unknown>;
124
+ timestamp: Date;
125
+ task: {
126
+ id: string;
127
+ domain: string;
128
+ description: string;
129
+ context: Record<string, unknown>;
130
+ metadata: Record<string, unknown>;
131
+ createdAt: Date;
132
+ verification?: {
133
+ type: "function" | "exact_match" | "fuzzy_match" | "llm";
134
+ expected?: unknown;
135
+ tolerance?: number | undefined;
136
+ verifier_id?: string | undefined;
137
+ } | undefined;
138
+ embedding?: number[] | undefined;
139
+ };
140
+ steps: {
141
+ metadata: Record<string, unknown>;
142
+ action: string;
143
+ observation: string;
144
+ timestamp: Date;
145
+ thought?: string | undefined;
146
+ attributionScore?: number | undefined;
147
+ }[];
148
+ outcome: {
149
+ success: boolean;
150
+ partialScore: number;
151
+ verificationDetails: Record<string, unknown>;
152
+ errorInfo?: string | undefined;
153
+ solution?: unknown;
154
+ };
155
+ agentId: string;
156
+ llmCalls: number;
157
+ totalTokens: number;
158
+ wallTimeSeconds: number;
159
+ }, {
160
+ id: string;
161
+ task: {
162
+ id: string;
163
+ domain: string;
164
+ description: string;
165
+ context?: Record<string, unknown> | undefined;
166
+ verification?: {
167
+ type: "function" | "exact_match" | "fuzzy_match" | "llm";
168
+ expected?: unknown;
169
+ tolerance?: number | undefined;
170
+ verifier_id?: string | undefined;
171
+ } | undefined;
172
+ embedding?: number[] | undefined;
173
+ metadata?: Record<string, unknown> | undefined;
174
+ createdAt?: Date | undefined;
175
+ };
176
+ steps: {
177
+ action: string;
178
+ observation: string;
179
+ metadata?: Record<string, unknown> | undefined;
180
+ thought?: string | undefined;
181
+ timestamp?: Date | undefined;
182
+ attributionScore?: number | undefined;
183
+ }[];
184
+ outcome: {
185
+ success: boolean;
186
+ partialScore?: number | undefined;
187
+ errorInfo?: string | undefined;
188
+ verificationDetails?: Record<string, unknown> | undefined;
189
+ solution?: unknown;
190
+ };
191
+ agentId: string;
192
+ metadata?: Record<string, unknown> | undefined;
193
+ timestamp?: Date | undefined;
194
+ llmCalls?: number | undefined;
195
+ totalTokens?: number | undefined;
196
+ wallTimeSeconds?: number | undefined;
197
+ }>;
198
+ export type Trajectory = z.infer<typeof TrajectorySchema>;
199
+ /**
200
+ * Create a new trajectory
201
+ */
202
+ export declare function createTrajectory(params: {
203
+ id?: string;
204
+ task: Task;
205
+ steps: Step[];
206
+ outcome: Outcome;
207
+ agentId: string;
208
+ llmCalls?: number;
209
+ totalTokens?: number;
210
+ wallTimeSeconds?: number;
211
+ metadata?: Record<string, unknown>;
212
+ }): Trajectory;
213
+ /**
214
+ * Check if trajectory was successful
215
+ */
216
+ export declare function isSuccessful(trajectory: Trajectory): boolean;
217
+ /**
218
+ * Get key steps (those with high attribution scores)
219
+ */
220
+ export declare function getKeySteps(trajectory: Trajectory, threshold?: number): Step[];
221
+ //# sourceMappingURL=trajectory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trajectory.d.ts","sourceRoot":"","sources":["../../src/types/trajectory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAc,KAAK,IAAI,EAAE,MAAM,WAAW,CAAC;AAClD,OAAO,EAAc,KAAK,IAAI,EAAE,MAAM,WAAW,CAAC;AAClD,OAAO,EAAiB,KAAK,OAAO,EAAE,MAAM,cAAc,CAAC;AAE3D;;;GAGG;AACH,eAAO,MAAM,gBAAgB;IAC3B,mCAAmC;;IAEnC,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAE5B,8BAA8B;;;;;;;;;;;;;;;;;;;;;;;IAE9B,oBAAoB;;;;;;;;;;;;;;;;;;;;IAEpB,4DAA4D;;IAE5D,sCAAsC;;IAEtC,mCAAmC;;IAEnC,wBAAwB;;IAExB,iCAAiC;;IAEjC,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAE1B,CAAC;AAEH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE1D;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE;IACvC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,IAAI,CAAC;IACX,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC,GAAG,UAAU,CAab;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO,CAE5D;AAED;;GAEG;AACH,wBAAgB,WAAW,CACzB,UAAU,EAAE,UAAU,EACtB,SAAS,SAAO,GACf,IAAI,EAAE,CAIR"}
@@ -0,0 +1,60 @@
1
+ import { z } from 'zod';
2
+ import { TaskSchema } from './task.js';
3
+ import { StepSchema } from './step.js';
4
+ import { OutcomeSchema } from './outcome.js';
5
+ /**
6
+ * Trajectory - A complete record of an agent's task-solving attempt
7
+ * The atomic unit of learning in Atlas
8
+ */
9
+ export const TrajectorySchema = z.object({
10
+ /** Unique trajectory identifier */
11
+ id: z.string(),
12
+ /** The task being solved */
13
+ task: TaskSchema,
14
+ /** Sequence of steps taken */
15
+ steps: z.array(StepSchema),
16
+ /** Final outcome */
17
+ outcome: OutcomeSchema,
18
+ /** Identifier of the agent that produced this trajectory */
19
+ agentId: z.string(),
20
+ /** When the trajectory was created */
21
+ timestamp: z.date().default(() => new Date()),
22
+ /** Number of LLM API calls made */
23
+ llmCalls: z.number().default(0),
24
+ /** Total tokens used */
25
+ totalTokens: z.number().default(0),
26
+ /** Wall clock time in seconds */
27
+ wallTimeSeconds: z.number().default(0),
28
+ /** Additional metadata */
29
+ metadata: z.record(z.unknown()).default({}),
30
+ });
31
+ /**
32
+ * Create a new trajectory
33
+ */
34
+ export function createTrajectory(params) {
35
+ return TrajectorySchema.parse({
36
+ id: params.id ?? crypto.randomUUID(),
37
+ task: params.task,
38
+ steps: params.steps,
39
+ outcome: params.outcome,
40
+ agentId: params.agentId,
41
+ timestamp: new Date(),
42
+ llmCalls: params.llmCalls ?? 0,
43
+ totalTokens: params.totalTokens ?? 0,
44
+ wallTimeSeconds: params.wallTimeSeconds ?? 0,
45
+ metadata: params.metadata ?? {},
46
+ });
47
+ }
48
+ /**
49
+ * Check if trajectory was successful
50
+ */
51
+ export function isSuccessful(trajectory) {
52
+ return trajectory.outcome.success;
53
+ }
54
+ /**
55
+ * Get key steps (those with high attribution scores)
56
+ */
57
+ export function getKeySteps(trajectory, threshold = 0.15) {
58
+ return trajectory.steps.filter((step) => (step.attributionScore ?? 0) >= threshold);
59
+ }
60
+ //# sourceMappingURL=trajectory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"trajectory.js","sourceRoot":"","sources":["../../src/types/trajectory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,UAAU,EAAa,MAAM,WAAW,CAAC;AAClD,OAAO,EAAE,UAAU,EAAa,MAAM,WAAW,CAAC;AAClD,OAAO,EAAE,aAAa,EAAgB,MAAM,cAAc,CAAC;AAE3D;;;GAGG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,mCAAmC;IACnC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE;IACd,4BAA4B;IAC5B,IAAI,EAAE,UAAU;IAChB,8BAA8B;IAC9B,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC;IAC1B,oBAAoB;IACpB,OAAO,EAAE,aAAa;IACtB,4DAA4D;IAC5D,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,sCAAsC;IACtC,SAAS,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC;IAC7C,mCAAmC;IACnC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAC/B,wBAAwB;IACxB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAClC,iCAAiC;IACjC,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IACtC,0BAA0B;IAC1B,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;CAC5C,CAAC,CAAC;AAIH;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAUhC;IACC,OAAO,gBAAgB,CAAC,KAAK,CAAC;QAC5B,EAAE,EAAE,MAAM,CAAC,EAAE,IAAI,MAAM,CAAC,UAAU,EAAE;QACpC,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,SAAS,EAAE,IAAI,IAAI,EAAE;QACrB,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,CAAC;QAC9B,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI,CAAC;QACpC,eAAe,EAAE,MAAM,CAAC,eAAe,IAAI,CAAC;QAC5C,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,EAAE;KAChC,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,UAAsB;IACjD,OAAO,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC;AACpC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW,CACzB,UAAsB,EACtB,SAAS,GAAG,IAAI;IAEhB,OAAO,UAAU,CAAC,KAAK,CAAC,MAAM,CAC5B,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAgB,IAAI,CAAC,CAAC,IAAI,SAAS,CACpD,CAAC;AACJ,CAAC"}
@@ -0,0 +1,4 @@
1
+ export { cosineSimilarity, jaccardSimilarity, textSimilarity, ngramSimilarity, tokenize, findTopK, } from './similarity.js';
2
+ export { ensureDir, saveJson, loadJson, listFiles, exists, JsonStore, saveIndex, loadIndex, type StorageOptions, } from './storage.js';
3
+ export { ValidationError, validateString, validateOptionalString, validateNumber, validateOptionalNumber, validateArray, validateVector, validateTaskInput, validateTrajectoryStepCount, validateMCPArgs, TaskInputSchema, MCPSearchPlaybooksSchema, MCPGetPlaybookDetailsSchema, MCPGetPlaybooksByDomainSchema, type TaskInput, } from './validation.js';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,cAAc,EACd,eAAe,EACf,QAAQ,EACR,QAAQ,GACT,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,MAAM,EACN,SAAS,EACT,SAAS,EACT,SAAS,EACT,KAAK,cAAc,GACpB,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,eAAe,EACf,cAAc,EACd,sBAAsB,EACtB,cAAc,EACd,sBAAsB,EACtB,aAAa,EACb,cAAc,EACd,iBAAiB,EACjB,2BAA2B,EAC3B,eAAe,EACf,eAAe,EACf,wBAAwB,EACxB,2BAA2B,EAC3B,6BAA6B,EAC7B,KAAK,SAAS,GACf,MAAM,iBAAiB,CAAC"}
@@ -0,0 +1,4 @@
1
+ export { cosineSimilarity, jaccardSimilarity, textSimilarity, ngramSimilarity, tokenize, findTopK, } from './similarity.js';
2
+ export { ensureDir, saveJson, loadJson, listFiles, exists, JsonStore, saveIndex, loadIndex, } from './storage.js';
3
+ export { ValidationError, validateString, validateOptionalString, validateNumber, validateOptionalNumber, validateArray, validateVector, validateTaskInput, validateTrajectoryStepCount, validateMCPArgs, TaskInputSchema, MCPSearchPlaybooksSchema, MCPGetPlaybookDetailsSchema, MCPGetPlaybooksByDomainSchema, } from './validation.js';
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,cAAc,EACd,eAAe,EACf,QAAQ,EACR,QAAQ,GACT,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACL,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,MAAM,EACN,SAAS,EACT,SAAS,EACT,SAAS,GAEV,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,eAAe,EACf,cAAc,EACd,sBAAsB,EACtB,cAAc,EACd,sBAAsB,EACtB,aAAa,EACb,cAAc,EACd,iBAAiB,EACjB,2BAA2B,EAC3B,eAAe,EACf,eAAe,EACf,wBAAwB,EACxB,2BAA2B,EAC3B,6BAA6B,GAE9B,MAAM,iBAAiB,CAAC"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Similarity utilities for comparing embeddings and text
3
+ */
4
+ /**
5
+ * Compute cosine similarity between two vectors
6
+ */
7
+ export declare function cosineSimilarity(a: number[], b: number[]): number;
8
+ /**
9
+ * Compute Jaccard similarity between two sets of words
10
+ */
11
+ export declare function jaccardSimilarity(a: string, b: string): number;
12
+ /**
13
+ * Simple tokenization for text similarity
14
+ */
15
+ export declare function tokenize(text: string): string[];
16
+ /**
17
+ * Compute n-gram overlap similarity
18
+ */
19
+ export declare function ngramSimilarity(a: string, b: string, n?: number): number;
20
+ /**
21
+ * Combined text similarity using multiple methods
22
+ */
23
+ export declare function textSimilarity(a: string, b: string): number;
24
+ /**
25
+ * Find top-k most similar items
26
+ */
27
+ export declare function findTopK<T>(query: number[] | string, items: T[], getVector: (item: T) => number[] | string | undefined, k: number): Array<{
28
+ item: T;
29
+ score: number;
30
+ }>;
31
+ //# sourceMappingURL=similarity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"similarity.d.ts","sourceRoot":"","sources":["../../src/utils/similarity.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAuBjE;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAY9D;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAM/C;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,CAAC,SAAI,GACJ,MAAM,CAcR;AAgBD;;GAEG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAM3D;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EACxB,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,EACxB,KAAK,EAAE,CAAC,EAAE,EACV,SAAS,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,EAAE,GAAG,MAAM,GAAG,SAAS,EACrD,CAAC,EAAE,MAAM,GACR,KAAK,CAAC;IAAE,IAAI,EAAE,CAAC,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAsBnC"}
@@ -0,0 +1,107 @@
1
+ /**
2
+ * Similarity utilities for comparing embeddings and text
3
+ */
4
+ /**
5
+ * Compute cosine similarity between two vectors
6
+ */
7
+ export function cosineSimilarity(a, b) {
8
+ if (a.length !== b.length) {
9
+ throw new Error('Vectors must have the same length');
10
+ }
11
+ let dotProduct = 0;
12
+ let normA = 0;
13
+ let normB = 0;
14
+ for (let i = 0; i < a.length; i++) {
15
+ dotProduct += a[i] * b[i];
16
+ normA += a[i] * a[i];
17
+ normB += b[i] * b[i];
18
+ }
19
+ normA = Math.sqrt(normA);
20
+ normB = Math.sqrt(normB);
21
+ if (normA === 0 || normB === 0) {
22
+ return 0;
23
+ }
24
+ return dotProduct / (normA * normB);
25
+ }
26
+ /**
27
+ * Compute Jaccard similarity between two sets of words
28
+ */
29
+ export function jaccardSimilarity(a, b) {
30
+ const setA = new Set(tokenize(a));
31
+ const setB = new Set(tokenize(b));
32
+ const intersection = new Set([...setA].filter((x) => setB.has(x)));
33
+ const union = new Set([...setA, ...setB]);
34
+ if (union.size === 0) {
35
+ return 0;
36
+ }
37
+ return intersection.size / union.size;
38
+ }
39
+ /**
40
+ * Simple tokenization for text similarity
41
+ */
42
+ export function tokenize(text) {
43
+ return text
44
+ .toLowerCase()
45
+ .replace(/[^\w\s]/g, ' ')
46
+ .split(/\s+/)
47
+ .filter((token) => token.length > 0);
48
+ }
49
+ /**
50
+ * Compute n-gram overlap similarity
51
+ */
52
+ export function ngramSimilarity(a, b, n = 3) {
53
+ const ngramsA = getNgrams(a, n);
54
+ const ngramsB = getNgrams(b, n);
55
+ const intersection = new Set([...ngramsA].filter((x) => ngramsB.has(x)));
56
+ const union = new Set([...ngramsA, ...ngramsB]);
57
+ if (union.size === 0) {
58
+ return 0;
59
+ }
60
+ return intersection.size / union.size;
61
+ }
62
+ /**
63
+ * Get character n-grams from text
64
+ */
65
+ function getNgrams(text, n) {
66
+ const ngrams = new Set();
67
+ const normalized = text.toLowerCase();
68
+ for (let i = 0; i <= normalized.length - n; i++) {
69
+ ngrams.add(normalized.slice(i, i + n));
70
+ }
71
+ return ngrams;
72
+ }
73
+ /**
74
+ * Combined text similarity using multiple methods
75
+ */
76
+ export function textSimilarity(a, b) {
77
+ const jaccard = jaccardSimilarity(a, b);
78
+ const ngram = ngramSimilarity(a, b);
79
+ // Weighted average
80
+ return jaccard * 0.6 + ngram * 0.4;
81
+ }
82
+ /**
83
+ * Find top-k most similar items
84
+ */
85
+ export function findTopK(query, items, getVector, k) {
86
+ const scored = items
87
+ .map((item) => {
88
+ const vector = getVector(item);
89
+ if (!vector) {
90
+ return { item, score: 0 };
91
+ }
92
+ let score;
93
+ if (typeof query === 'string' && typeof vector === 'string') {
94
+ score = textSimilarity(query, vector);
95
+ }
96
+ else if (Array.isArray(query) && Array.isArray(vector)) {
97
+ score = cosineSimilarity(query, vector);
98
+ }
99
+ else {
100
+ score = 0;
101
+ }
102
+ return { item, score };
103
+ })
104
+ .sort((a, b) => b.score - a.score);
105
+ return scored.slice(0, k);
106
+ }
107
+ //# sourceMappingURL=similarity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"similarity.js","sourceRoot":"","sources":["../../src/utils/similarity.ts"],"names":[],"mappings":"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"}