@jungjaehoon/mama-core 2.4.1 → 4.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 (378) hide show
  1. package/README.md +76 -239
  2. package/db/migrations/030-case-first-memory-substrate.sql +13 -98
  3. package/db/migrations/034-add-connector-event-scope-columns.sql +9 -13
  4. package/db/migrations/039-add-connector-event-operator-ingest-seq.sql +9 -95
  5. package/db/migrations/062-refresh-connector-event-sequences.sql +9 -113
  6. package/db/migrations/063-refresh-legacy-connector-event-updates.sql +9 -32
  7. package/db/migrations/067-add-connector-event-source-entity-id.sql +9 -13
  8. package/db/migrations/069-create-registry-nodes.sql +52 -0
  9. package/db/migrations/070-record-identity.sql +35 -0
  10. package/db/migrations/071-service-operation-origins.sql +187 -0
  11. package/db/migrations/072-observation-versions.sql +29 -0
  12. package/db/migrations/073-registry-corrections.sql +45 -0
  13. package/db/migrations/074-work-graph-ref-kinds.sql +39 -0
  14. package/db/migrations/075-agent-judgments.sql +58 -0
  15. package/db/migrations/076-scoped-checkpoint-bindings.sql +15 -0
  16. package/db/migrations/077-legacy-record-kind.sql +6 -0
  17. package/db/migrations/078-source-ingest-commands.sql +18 -0
  18. package/db/migrations/079-twin-edge-relations.sql +43 -0
  19. package/db/migrations/080-restore-duration-days.sql +7 -0
  20. package/db/migrations/081-mailbox.sql +61 -0
  21. package/db/migrations/082-commitments-row-id.sql +12 -0
  22. package/db/migrations/083-observation-is-the-evidence.sql +49 -0
  23. package/db/migrations/084-scope-kind-is-not-the-cores-to-list.sql +34 -0
  24. package/db/migrations/085-a-migration-has-a-source.sql +37 -0
  25. package/db/migrations/086-the-mailbox-is-generic.sql +110 -0
  26. package/db/migrations/087-mailbox-payload.sql +5 -0
  27. package/db/migrations/088-native-input-journal.sql +14 -0
  28. package/db/migrations/089-native-turn-receipt-lookup.sql +3 -0
  29. package/db/migrations/090-model-run-native-inputs.sql +29 -0
  30. package/db/migrations/091-native-turn-results.sql +11 -0
  31. package/db/migrations/092-restore-decision-fts.sql +34 -0
  32. package/db/migrations/093-native-turn-primary-kind.sql +14 -0
  33. package/db/migrations/094-commitment-run-provenance.sql +9 -0
  34. package/db/migrations/095-model-run-native-input-identity.sql +39 -0
  35. package/db/migrations/096-drop-connector-event-index-fts.sql +9 -0
  36. package/db/migrations/097-native-input-json-validity.sql +37 -0
  37. package/db/migrations/098-workflow-memory-kind.sql +105 -0
  38. package/db/migrations/099-commitment-revision-graph.sql +2 -0
  39. package/dist/action-contracts.d.ts +212 -0
  40. package/dist/action-contracts.js +10 -0
  41. package/dist/api/catalog.d.ts +118 -0
  42. package/dist/api/catalog.js +1756 -0
  43. package/dist/api/dispatch.d.ts +76 -0
  44. package/dist/api/dispatch.js +372 -0
  45. package/dist/canonicalize.d.ts +2 -2
  46. package/dist/canonicalize.js +3 -3
  47. package/dist/client/client.d.ts +33 -0
  48. package/dist/client/client.js +123 -0
  49. package/dist/client/ipc.d.ts +81 -0
  50. package/dist/client/ipc.js +314 -0
  51. package/dist/db-adapter/base-adapter.d.ts +6 -66
  52. package/dist/db-adapter/base-adapter.js +6 -6
  53. package/dist/db-adapter/index.d.ts +5 -5
  54. package/dist/db-adapter/index.js +2 -5
  55. package/dist/db-adapter/node-sqlite-adapter.d.ts +85 -15
  56. package/dist/db-adapter/node-sqlite-adapter.js +1985 -570
  57. package/dist/db-manager.d.ts +53 -97
  58. package/dist/db-manager.js +121 -603
  59. package/dist/embedding/embedder.d.ts +132 -0
  60. package/dist/embedding/embedder.js +299 -0
  61. package/dist/identity/principal-repository.d.ts +2 -2
  62. package/dist/index.d.ts +43 -58
  63. package/dist/index.js +97 -145
  64. package/dist/{context-compile/channel-grant.d.ts → knowledge/access.d.ts} +12 -17
  65. package/dist/knowledge/access.js +663 -0
  66. package/dist/knowledge/case-errors.d.ts +31 -0
  67. package/dist/knowledge/case-errors.js +40 -0
  68. package/dist/{cases/search-rollup.d.ts → knowledge/case-search-rollup.d.ts} +5 -4
  69. package/dist/{cases/search-rollup.js → knowledge/case-search-rollup.js} +6 -8
  70. package/dist/{cases/store.d.ts → knowledge/case-store.d.ts} +3 -6
  71. package/dist/{cases/store.js → knowledge/case-store.js} +7 -42
  72. package/dist/{cases/timeline-range.d.ts → knowledge/case-timeline-range.d.ts} +3 -3
  73. package/dist/{cases/timeline-range.js → knowledge/case-timeline-range.js} +47 -25
  74. package/dist/{cases/types.d.ts → knowledge/case-types.d.ts} +8 -2
  75. package/dist/{cases/types.js → knowledge/case-types.js} +1 -1
  76. package/dist/knowledge/commitment-revision-migration.d.ts +4 -0
  77. package/dist/knowledge/commitment-revision-migration.js +50 -0
  78. package/dist/knowledge/commitments.d.ts +192 -0
  79. package/dist/knowledge/commitments.js +386 -0
  80. package/dist/knowledge/decision-edges.d.ts +70 -0
  81. package/dist/knowledge/decision-edges.js +123 -0
  82. package/dist/{agent-graph/types.d.ts → knowledge/graph-query.d.ts} +80 -70
  83. package/dist/knowledge/graph-query.js +1585 -0
  84. package/dist/knowledge/identity.d.ts +16 -0
  85. package/dist/knowledge/identity.js +22 -0
  86. package/dist/knowledge/index.d.ts +47 -0
  87. package/dist/knowledge/index.js +90 -0
  88. package/dist/knowledge/judgment-edge.d.ts +6 -0
  89. package/dist/knowledge/judgment-edge.js +22 -0
  90. package/dist/knowledge/judgments.d.ts +118 -0
  91. package/dist/knowledge/judgments.js +802 -0
  92. package/dist/knowledge/observations.d.ts +160 -0
  93. package/dist/knowledge/observations.js +449 -0
  94. package/dist/knowledge/question-type.d.ts +34 -0
  95. package/dist/knowledge/question-type.js +70 -0
  96. package/dist/{search → knowledge}/ranker-features.js +1 -1
  97. package/dist/{search → knowledge}/search-quality.d.ts +0 -1
  98. package/dist/knowledge/search.d.ts +38 -0
  99. package/dist/knowledge/search.js +91 -0
  100. package/dist/knowledge/source-ingest.d.ts +65 -0
  101. package/dist/knowledge/source-ingest.js +174 -0
  102. package/dist/{edges/types.d.ts → knowledge/twin-edge-types.d.ts} +31 -4
  103. package/dist/{edges/types.js → knowledge/twin-edge-types.js} +13 -2
  104. package/dist/knowledge/work-dates.d.ts +49 -0
  105. package/dist/knowledge/work-dates.js +120 -0
  106. package/dist/mama-api.d.ts +114 -778
  107. package/dist/mama-api.js +313 -2461
  108. package/dist/memory/api.d.ts +264 -24
  109. package/dist/memory/api.js +1633 -843
  110. package/dist/memory/bootstrap-builder.d.ts +2 -1
  111. package/dist/memory/bootstrap-builder.js +5 -5
  112. package/dist/memory/channel-summary-state-store.d.ts +3 -2
  113. package/dist/memory/channel-summary-state-store.js +53 -51
  114. package/dist/memory/channel-summary-store.d.ts +5 -3
  115. package/dist/memory/channel-summary-store.js +3 -8
  116. package/dist/memory/dashboard-read.d.ts +46 -0
  117. package/dist/memory/dashboard-read.js +94 -0
  118. package/dist/memory/event-store.d.ts +3 -3
  119. package/dist/memory/event-store.js +3 -10
  120. package/dist/memory/finding-store.d.ts +3 -2
  121. package/dist/memory/finding-store.js +2 -7
  122. package/dist/memory/graph-read.d.ts +52 -0
  123. package/dist/memory/graph-read.js +130 -0
  124. package/dist/memory/judgment-types.d.ts +394 -0
  125. package/dist/memory/judgment-types.js +16 -0
  126. package/dist/memory/provenance-audit.d.ts +5 -2
  127. package/dist/memory/provenance-audit.js +8 -14
  128. package/dist/memory/provenance-live.d.ts +141 -0
  129. package/dist/memory/provenance-live.js +409 -0
  130. package/dist/memory/provenance-query.d.ts +5 -4
  131. package/dist/memory/provenance-query.js +21 -29
  132. package/dist/memory/provenance-resolver.d.ts +191 -0
  133. package/dist/memory/provenance-resolver.js +155 -0
  134. package/dist/memory/provenance.d.ts +1 -11
  135. package/dist/memory/provenance.js +2 -33
  136. package/dist/memory/recall-sanitize.d.ts +55 -0
  137. package/dist/memory/recall-sanitize.js +144 -0
  138. package/dist/memory/secret-filter.d.ts +32 -0
  139. package/dist/memory/secret-filter.js +126 -0
  140. package/dist/memory/truth-store.d.ts +2 -1
  141. package/dist/memory/truth-store.js +1 -4
  142. package/dist/memory/types.d.ts +74 -24
  143. package/dist/memory/types.js +75 -5
  144. package/dist/memory/write-adapters.d.ts +98 -0
  145. package/dist/memory/write-adapters.js +242 -0
  146. package/dist/operations/owner-action-effects.d.ts +53 -0
  147. package/dist/operations/owner-action-effects.js +96 -0
  148. package/dist/provenance/source-ref.d.ts +1 -1
  149. package/dist/provenance/source-ref.js +0 -2
  150. package/dist/registry/corrections.d.ts +31 -0
  151. package/dist/registry/corrections.js +332 -0
  152. package/dist/registry/record-identity.d.ts +49 -0
  153. package/dist/registry/record-identity.js +133 -0
  154. package/dist/registry/store.d.ts +101 -0
  155. package/dist/registry/store.js +395 -0
  156. package/dist/registry/types.d.ts +28 -0
  157. package/dist/registry/types.js +5 -0
  158. package/dist/relevance-scorer.js +2 -2
  159. package/dist/runtime/agent-event-bus.d.ts +50 -0
  160. package/dist/runtime/agent-event-bus.js +101 -0
  161. package/dist/runtime/drivers/claude-cli-wrapper.d.ts +152 -0
  162. package/dist/runtime/drivers/claude-cli-wrapper.js +375 -0
  163. package/dist/runtime/drivers/claude-effort.d.ts +4 -0
  164. package/dist/runtime/drivers/claude-effort.js +16 -0
  165. package/dist/runtime/drivers/cli-arg-redaction.d.ts +2 -0
  166. package/dist/runtime/drivers/cli-arg-redaction.js +18 -0
  167. package/dist/runtime/drivers/cli-secret-redaction.d.ts +17 -0
  168. package/dist/runtime/drivers/cli-secret-redaction.js +126 -0
  169. package/dist/runtime/drivers/codex-app-server-process.d.ts +277 -0
  170. package/dist/runtime/drivers/codex-app-server-process.js +2342 -0
  171. package/dist/runtime/drivers/codex-auxiliary-tools.d.ts +17 -0
  172. package/dist/runtime/drivers/codex-auxiliary-tools.js +267 -0
  173. package/dist/runtime/drivers/codex-home.d.ts +20 -0
  174. package/dist/runtime/drivers/codex-home.js +674 -0
  175. package/dist/runtime/drivers/codex-thread-registry.d.ts +63 -0
  176. package/dist/runtime/drivers/codex-thread-registry.js +433 -0
  177. package/dist/runtime/drivers/persistent-cli-adapter.d.ts +160 -0
  178. package/dist/runtime/drivers/persistent-cli-adapter.js +396 -0
  179. package/dist/runtime/drivers/persistent-cli-process.d.ts +425 -0
  180. package/dist/runtime/drivers/persistent-cli-process.js +1529 -0
  181. package/dist/runtime/drivers/types.d.ts +456 -0
  182. package/dist/runtime/drivers/types.js +110 -0
  183. package/dist/runtime/mailbox.d.ts +223 -0
  184. package/dist/runtime/mailbox.js +582 -0
  185. package/dist/runtime/model-run-store.d.ts +28 -0
  186. package/dist/{model-runs/store.js → runtime/model-run-store.js} +81 -41
  187. package/dist/{model-runs/types.d.ts → runtime/model-run-types.d.ts} +33 -4
  188. package/dist/{model-runs/types.js → runtime/model-run-types.js} +1 -1
  189. package/dist/runtime/native-effect-observer.d.ts +22 -0
  190. package/dist/runtime/native-effect-observer.js +103 -0
  191. package/dist/runtime/native-input-journal.d.ts +46 -0
  192. package/dist/runtime/native-input-journal.js +308 -0
  193. package/dist/runtime/native-prompt.d.ts +118 -0
  194. package/dist/runtime/native-prompt.js +496 -0
  195. package/dist/runtime/native-session.d.ts +10 -0
  196. package/dist/{agent-graph/index.js → runtime/native-session.js} +9 -6
  197. package/dist/runtime/native-tool-trace-observer.d.ts +5 -0
  198. package/dist/runtime/native-tool-trace-observer.js +65 -0
  199. package/dist/runtime/native-turn.d.ts +272 -0
  200. package/dist/runtime/native-turn.js +1041 -0
  201. package/dist/runtime/operations.d.ts +236 -0
  202. package/dist/runtime/operations.js +565 -0
  203. package/dist/runtime/post-tool-handler.d.ts +74 -0
  204. package/dist/runtime/post-tool-handler.js +137 -0
  205. package/dist/runtime/prompt-layers.d.ts +126 -0
  206. package/dist/runtime/prompt-layers.js +239 -0
  207. package/dist/runtime/runtime-process.d.ts +102 -0
  208. package/dist/runtime/runtime-process.js +206 -0
  209. package/dist/runtime/runtime.d.ts +278 -0
  210. package/dist/runtime/runtime.js +563 -0
  211. package/dist/runtime/session-pool.d.ts +176 -0
  212. package/dist/runtime/session-pool.js +369 -0
  213. package/dist/runtime/stimulus-payload.d.ts +5 -0
  214. package/dist/runtime/stimulus-payload.js +50 -0
  215. package/dist/runtime/subagent-bridge.d.ts +24 -0
  216. package/dist/{agent-graph/types.js → runtime/subagent-bridge.js} +1 -1
  217. package/dist/runtime/text-completion.d.ts +22 -0
  218. package/dist/{agent-situation/types.js → runtime/text-completion.js} +1 -1
  219. package/dist/runtime/token-estimator.d.ts +25 -0
  220. package/dist/runtime/token-estimator.js +75 -0
  221. package/dist/runtime/tool-trace-store.d.ts +22 -0
  222. package/dist/{model-runs → runtime}/tool-trace-store.js +46 -27
  223. package/dist/runtime/trace-summary.d.ts +5 -0
  224. package/dist/runtime/trace-summary.js +74 -0
  225. package/dist/runtime/turn-text.d.ts +23 -0
  226. package/dist/runtime/turn-text.js +41 -0
  227. package/dist/storage/database.d.ts +67 -0
  228. package/dist/storage/database.js +158 -0
  229. package/package.json +20 -34
  230. package/dist/agent-graph/alias-write.d.ts +0 -3
  231. package/dist/agent-graph/alias-write.js +0 -234
  232. package/dist/agent-graph/entity-resolve.d.ts +0 -3
  233. package/dist/agent-graph/entity-resolve.js +0 -271
  234. package/dist/agent-graph/errors.d.ts +0 -4
  235. package/dist/agent-graph/errors.js +0 -11
  236. package/dist/agent-graph/graph-query.d.ts +0 -5
  237. package/dist/agent-graph/graph-query.js +0 -360
  238. package/dist/agent-graph/index.d.ts +0 -6
  239. package/dist/agent-situation/builder.d.ts +0 -8
  240. package/dist/agent-situation/builder.js +0 -239
  241. package/dist/agent-situation/cache-key.d.ts +0 -4
  242. package/dist/agent-situation/cache-key.js +0 -64
  243. package/dist/agent-situation/index.d.ts +0 -7
  244. package/dist/agent-situation/index.js +0 -28
  245. package/dist/agent-situation/packet-store.d.ts +0 -27
  246. package/dist/agent-situation/packet-store.js +0 -228
  247. package/dist/agent-situation/ranking-policy.d.ts +0 -18
  248. package/dist/agent-situation/ranking-policy.js +0 -75
  249. package/dist/agent-situation/source-readers.d.ts +0 -52
  250. package/dist/agent-situation/source-readers.js +0 -300
  251. package/dist/agent-situation/types.d.ts +0 -195
  252. package/dist/cases/wiki-page-index.d.ts +0 -37
  253. package/dist/cases/wiki-page-index.js +0 -201
  254. package/dist/config-loader.d.ts +0 -68
  255. package/dist/config-loader.js +0 -239
  256. package/dist/connectors/event-index.d.ts +0 -24
  257. package/dist/connectors/event-index.js +0 -245
  258. package/dist/connectors/raw-query.d.ts +0 -40
  259. package/dist/connectors/raw-query.js +0 -412
  260. package/dist/connectors/types.d.ts +0 -117
  261. package/dist/connectors/types.js +0 -3
  262. package/dist/context-compile/boundary-defaults.d.ts +0 -12
  263. package/dist/context-compile/boundary-defaults.js +0 -105
  264. package/dist/context-compile/channel-grant.js +0 -66
  265. package/dist/context-compile/compiler-policy.d.ts +0 -39
  266. package/dist/context-compile/compiler-policy.js +0 -147
  267. package/dist/context-compile/compiler.d.ts +0 -18
  268. package/dist/context-compile/compiler.js +0 -404
  269. package/dist/context-compile/index.d.ts +0 -10
  270. package/dist/context-compile/index.js +0 -26
  271. package/dist/context-compile/packet-store.d.ts +0 -8
  272. package/dist/context-compile/packet-store.js +0 -239
  273. package/dist/context-compile/ref.d.ts +0 -7
  274. package/dist/context-compile/ref.js +0 -102
  275. package/dist/context-compile/source-readers.d.ts +0 -70
  276. package/dist/context-compile/source-readers.js +0 -840
  277. package/dist/context-compile/types.d.ts +0 -155
  278. package/dist/context-compile/types.js +0 -11
  279. package/dist/context-compile/visibility.d.ts +0 -21
  280. package/dist/context-compile/visibility.js +0 -224
  281. package/dist/decision-tracker.d.ts +0 -206
  282. package/dist/decision-tracker.js +0 -481
  283. package/dist/edges/ref-validation.d.ts +0 -7
  284. package/dist/edges/ref-validation.js +0 -321
  285. package/dist/edges/store.d.ts +0 -8
  286. package/dist/edges/store.js +0 -129
  287. package/dist/embedding-client.d.ts +0 -28
  288. package/dist/embedding-client.js +0 -53
  289. package/dist/embedding-server/index.d.ts +0 -67
  290. package/dist/embedding-server/index.js +0 -405
  291. package/dist/embedding-server/mobile/auth.d.ts +0 -44
  292. package/dist/embedding-server/mobile/auth.js +0 -150
  293. package/dist/embedding-server/mobile/daemon.d.ts +0 -129
  294. package/dist/embedding-server/mobile/daemon.js +0 -313
  295. package/dist/embedding-server/mobile/output-parser.d.ts +0 -115
  296. package/dist/embedding-server/mobile/output-parser.js +0 -241
  297. package/dist/embedding-server/mobile/session-api.d.ts +0 -57
  298. package/dist/embedding-server/mobile/session-api.js +0 -261
  299. package/dist/embedding-server/mobile/session-manager.d.ts +0 -138
  300. package/dist/embedding-server/mobile/session-manager.js +0 -378
  301. package/dist/embedding-server/mobile/websocket-handler.d.ts +0 -137
  302. package/dist/embedding-server/mobile/websocket-handler.js +0 -486
  303. package/dist/embeddings.d.ts +0 -68
  304. package/dist/embeddings.js +0 -244
  305. package/dist/entities/audit-metrics.d.ts +0 -68
  306. package/dist/entities/audit-metrics.js +0 -124
  307. package/dist/entities/candidate-generator.d.ts +0 -8
  308. package/dist/entities/candidate-generator.js +0 -24
  309. package/dist/entities/entity-linked-decision-counts.d.ts +0 -2
  310. package/dist/entities/entity-linked-decision-counts.js +0 -29
  311. package/dist/entities/entity-list.d.ts +0 -22
  312. package/dist/entities/entity-list.js +0 -3
  313. package/dist/entities/entity-orphan-list.d.ts +0 -17
  314. package/dist/entities/entity-orphan-list.js +0 -3
  315. package/dist/entities/entity-search.d.ts +0 -20
  316. package/dist/entities/entity-search.js +0 -3
  317. package/dist/entities/errors.d.ts +0 -55
  318. package/dist/entities/errors.js +0 -100
  319. package/dist/entities/lineage-store.d.ts +0 -28
  320. package/dist/entities/lineage-store.js +0 -204
  321. package/dist/entities/normalization.d.ts +0 -14
  322. package/dist/entities/normalization.js +0 -63
  323. package/dist/entities/policy-store.d.ts +0 -8
  324. package/dist/entities/policy-store.js +0 -75
  325. package/dist/entities/policy-types.d.ts +0 -72
  326. package/dist/entities/policy-types.js +0 -59
  327. package/dist/entities/projection.d.ts +0 -8
  328. package/dist/entities/projection.js +0 -82
  329. package/dist/entities/provenance-query.d.ts +0 -32
  330. package/dist/entities/provenance-query.js +0 -3
  331. package/dist/entities/read-identity.d.ts +0 -31
  332. package/dist/entities/read-identity.js +0 -264
  333. package/dist/entities/recall-bridge.d.ts +0 -5
  334. package/dist/entities/recall-bridge.js +0 -171
  335. package/dist/entities/resolution-engine.d.ts +0 -8
  336. package/dist/entities/resolution-engine.js +0 -3
  337. package/dist/entities/rollback-preview.d.ts +0 -35
  338. package/dist/entities/rollback-preview.js +0 -3
  339. package/dist/entities/source-locator.d.ts +0 -3
  340. package/dist/entities/source-locator.js +0 -32
  341. package/dist/entities/store.d.ts +0 -69
  342. package/dist/entities/store.js +0 -544
  343. package/dist/entities/types.d.ts +0 -166
  344. package/dist/entities/types.js +0 -30
  345. package/dist/memory/extraction-prompt.d.ts +0 -4
  346. package/dist/memory/extraction-prompt.js +0 -89
  347. package/dist/memory/scope-backfill.d.ts +0 -14
  348. package/dist/memory/scope-backfill.js +0 -3
  349. package/dist/memory/scope-store.d.ts +0 -4
  350. package/dist/memory/scope-store.js +0 -9
  351. package/dist/memory-store.d.ts +0 -87
  352. package/dist/memory-store.js +0 -78
  353. package/dist/model-runs/store.d.ts +0 -13
  354. package/dist/model-runs/tool-trace-store.d.ts +0 -8
  355. package/dist/notification-manager.d.ts +0 -7
  356. package/dist/notification-manager.js +0 -12
  357. package/dist/outcome-tracker.d.ts +0 -151
  358. package/dist/outcome-tracker.js +0 -271
  359. package/dist/query-intent.d.ts +0 -23
  360. package/dist/query-intent.js +0 -114
  361. package/dist/runtime/trusted-provenance.d.ts +0 -3
  362. package/dist/runtime/trusted-provenance.js +0 -6
  363. package/dist/search/question-type.d.ts +0 -5
  364. package/dist/search/question-type.js +0 -41
  365. package/dist/test-utils.d.ts +0 -80
  366. package/dist/test-utils.js +0 -218
  367. package/dist/tier-validator.d.ts +0 -43
  368. package/dist/tier-validator.js +0 -159
  369. package/dist/time-formatter.d.ts +0 -25
  370. package/dist/time-formatter.js +0 -93
  371. /package/dist/{search → knowledge}/feedback-store.d.ts +0 -0
  372. /package/dist/{search → knowledge}/feedback-store.js +0 -0
  373. /package/dist/{search → knowledge}/ranker-features.d.ts +0 -0
  374. /package/dist/{search → knowledge}/ranker-rescore.d.ts +0 -0
  375. /package/dist/{search → knowledge}/ranker-rescore.js +0 -0
  376. /package/dist/{search → knowledge}/ranker-trainer.d.ts +0 -0
  377. /package/dist/{search → knowledge}/ranker-trainer.js +0 -0
  378. /package/dist/{search → knowledge}/search-quality.js +0 -0
@@ -1,241 +0,0 @@
1
- "use strict";
2
- /**
3
- * @fileoverview Output Parser - parses Claude Code stdout into structured events
4
- * @module mobile/output-parser
5
- * @version 1.5.0
6
- *
7
- * Parses raw stdout from Claude Code CLI, identifying message types
8
- * such as stream content, tool usage, completion, and errors.
9
- *
10
- * @example
11
- * import { OutputParser } from './output-parser';
12
- * const parser = new OutputParser();
13
- * const events = parser.parse(chunk);
14
- * // events: [{ type: 'stream', text: '...' }, { type: 'tool_use', tool: 'Read' }]
15
- */
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.OutputParser = exports.ANSI_REGEX = exports.COMPLETE_PATTERNS = exports.ERROR_PATTERNS = exports.TOOL_PATTERNS = void 0;
18
- /**
19
- * Tool detection patterns
20
- */
21
- exports.TOOL_PATTERNS = [
22
- /Tool:\s*(\w+)/i,
23
- /Using\s+(\w+)\s+tool/i,
24
- /Calling\s+(\w+)/i,
25
- /⏺\s*(\w+)/, // Claude Code uses this indicator
26
- /\[(\w+)\]\s*Reading/i,
27
- /\[(\w+)\]\s*Writing/i,
28
- /\[(\w+)\]\s*Editing/i,
29
- ];
30
- /**
31
- * Tool completion patterns
32
- */
33
- const TOOL_COMPLETE_PATTERNS = [
34
- /Tool\s+(\w+)\s+completed/i,
35
- /(\w+)\s+finished/i,
36
- /✓\s*(\w+)/,
37
- ];
38
- /**
39
- * Error patterns
40
- */
41
- exports.ERROR_PATTERNS = [
42
- /Error:\s*(.+)/i,
43
- /ERROR:\s*(.+)/i,
44
- /Failed:\s*(.+)/i,
45
- /Exception:\s*(.+)/i,
46
- ];
47
- /**
48
- * Completion/prompt patterns
49
- */
50
- exports.COMPLETE_PATTERNS = [
51
- /^>\s*$/m, // Simple prompt
52
- /^\$\s*$/m, // Shell prompt
53
- /^claude>\s*$/im, // Claude prompt
54
- /\n\n\n$/, // Multiple empty lines
55
- ];
56
- /**
57
- * ANSI escape code regex pattern
58
- */
59
- // eslint-disable-next-line no-control-regex
60
- exports.ANSI_REGEX = /\x1b\[[0-9;]*m/g;
61
- /**
62
- * OutputParser class - parses Claude Code stdout
63
- */
64
- class OutputParser {
65
- buffer;
66
- lastToolDetected;
67
- /**
68
- * Create a new OutputParser instance
69
- */
70
- constructor() {
71
- this.buffer = '';
72
- this.lastToolDetected = null;
73
- }
74
- /**
75
- * Parse a stdout chunk into events
76
- * @param chunk - Raw stdout data
77
- * @returns Array of parsed events
78
- */
79
- parse(chunk) {
80
- const text = typeof chunk === 'string' ? chunk : chunk.toString();
81
- const cleanText = this.stripAnsi(text);
82
- // Add to buffer for incomplete line handling
83
- this.buffer += cleanText;
84
- const events = [];
85
- // Check for errors first (highest priority)
86
- const errorResult = this.detectError(this.buffer);
87
- if (errorResult) {
88
- events.push({
89
- type: 'error',
90
- message: errorResult,
91
- });
92
- // Don't clear buffer entirely, might have more content
93
- }
94
- // Check for tool usage
95
- const toolResult = this.detectToolUse(this.buffer);
96
- if (toolResult) {
97
- events.push({
98
- type: 'tool_use',
99
- tool: toolResult.tool,
100
- status: 'started',
101
- args: toolResult.args || null,
102
- });
103
- this.lastToolDetected = toolResult.tool;
104
- }
105
- // Check for tool completion
106
- const toolComplete = this.detectToolComplete(this.buffer);
107
- if (toolComplete) {
108
- events.push({
109
- type: 'tool_complete',
110
- tool: toolComplete,
111
- status: 'completed',
112
- });
113
- }
114
- // Check for completion
115
- if (this.detectComplete(this.buffer)) {
116
- events.push({
117
- type: 'complete',
118
- });
119
- }
120
- // Always emit stream event with the text
121
- if (cleanText.trim()) {
122
- events.push({
123
- type: 'stream',
124
- text: cleanText,
125
- });
126
- }
127
- // Clear buffer if we have complete lines (ends with newline)
128
- if (this.buffer.endsWith('\n')) {
129
- this.buffer = '';
130
- }
131
- else {
132
- // Keep only the incomplete last line
133
- const lastNewline = this.buffer.lastIndexOf('\n');
134
- if (lastNewline !== -1) {
135
- this.buffer = this.buffer.substring(lastNewline + 1);
136
- }
137
- }
138
- return events;
139
- }
140
- /**
141
- * Remove ANSI escape codes from text
142
- * @param text - Text with potential ANSI codes
143
- * @returns Clean text
144
- */
145
- stripAnsi(text) {
146
- return text.replace(exports.ANSI_REGEX, '');
147
- }
148
- /**
149
- * Detect tool usage pattern in text
150
- * @param text - Text to analyze
151
- * @returns Tool info or null
152
- */
153
- detectToolUse(text) {
154
- for (const pattern of exports.TOOL_PATTERNS) {
155
- const match = text.match(pattern);
156
- if (match) {
157
- const tool = match[1];
158
- // Try to extract args if present
159
- const argsMatch = text.match(new RegExp(`${tool}[:\\s]+(.+?)(?:\\n|$)`, 'i'));
160
- return {
161
- tool,
162
- args: argsMatch ? argsMatch[1].trim() : null,
163
- };
164
- }
165
- }
166
- return null;
167
- }
168
- /**
169
- * Detect tool completion pattern in text
170
- * @param text - Text to analyze
171
- * @returns Tool name or null
172
- */
173
- detectToolComplete(text) {
174
- for (const pattern of TOOL_COMPLETE_PATTERNS) {
175
- const match = text.match(pattern);
176
- if (match) {
177
- return match[1];
178
- }
179
- }
180
- return null;
181
- }
182
- /**
183
- * Detect completion pattern in text
184
- * @param text - Text to analyze
185
- * @returns True if completion detected
186
- */
187
- detectComplete(text) {
188
- for (const pattern of exports.COMPLETE_PATTERNS) {
189
- if (pattern.test(text)) {
190
- return true;
191
- }
192
- }
193
- return false;
194
- }
195
- /**
196
- * Detect error pattern in text
197
- * @param text - Text to analyze
198
- * @returns Error message or null
199
- */
200
- detectError(text) {
201
- for (const pattern of exports.ERROR_PATTERNS) {
202
- const match = text.match(pattern);
203
- if (match) {
204
- return match[1].trim();
205
- }
206
- }
207
- return null;
208
- }
209
- /**
210
- * Flush any remaining buffer content
211
- * @returns Remaining events
212
- */
213
- flush() {
214
- const events = [];
215
- if (this.buffer.trim()) {
216
- events.push({
217
- type: 'stream',
218
- text: this.buffer,
219
- });
220
- }
221
- this.buffer = '';
222
- this.lastToolDetected = null;
223
- return events;
224
- }
225
- /**
226
- * Reset the parser state
227
- */
228
- reset() {
229
- this.buffer = '';
230
- this.lastToolDetected = null;
231
- }
232
- /**
233
- * Get current buffer content
234
- * @returns Buffer content
235
- */
236
- getBuffer() {
237
- return this.buffer;
238
- }
239
- }
240
- exports.OutputParser = OutputParser;
241
- //# sourceMappingURL=output-parser.js.map
@@ -1,57 +0,0 @@
1
- /**
2
- * @fileoverview Session REST API - HTTP endpoints for session management
3
- * @module mobile/session-api
4
- * @version 1.5.0
5
- *
6
- * Provides REST API endpoints for creating, listing, and terminating
7
- * Claude Code sessions.
8
- *
9
- * @example
10
- * import { createSessionHandler } from './session-api';
11
- * const sessionHandler = createSessionHandler(sessionManager);
12
- * // Use in HTTP server: if (sessionHandler(req, res)) return;
13
- */
14
- import type { IncomingMessage, ServerResponse } from 'http';
15
- import { SessionManager } from './session-manager.js';
16
- /**
17
- * Default WebSocket port (same as HTTP port)
18
- */
19
- export declare const DEFAULT_WS_PORT: number;
20
- /**
21
- * Request body type
22
- */
23
- interface RequestBody {
24
- projectDir?: string;
25
- workDir?: string;
26
- }
27
- /**
28
- * Parse request body as JSON
29
- * @param req - HTTP request
30
- * @returns Parsed JSON body
31
- */
32
- export declare function readBody(req: IncomingMessage): Promise<RequestBody>;
33
- /**
34
- * Extract session ID from URL path
35
- * @param url - Request URL
36
- * @returns Session ID or null
37
- */
38
- export declare function extractSessionId(url: string): string | null;
39
- /**
40
- * Get WebSocket URL for a session
41
- * @param req - HTTP request
42
- * @param sessionId - Session ID
43
- * @returns WebSocket URL
44
- */
45
- export declare function getWsUrl(req: IncomingMessage, sessionId: string): string;
46
- /**
47
- * Session handler function type
48
- */
49
- type SessionHandler = (req: IncomingMessage, res: ServerResponse) => Promise<boolean>;
50
- /**
51
- * Create session API request handler
52
- * @param sessionManager - Session manager instance (will create if not provided)
53
- * @returns Request handler function
54
- */
55
- export declare function createSessionHandler(sessionManager?: SessionManager | null): SessionHandler;
56
- export {};
57
- //# sourceMappingURL=session-api.d.ts.map
@@ -1,261 +0,0 @@
1
- "use strict";
2
- /**
3
- * @fileoverview Session REST API - HTTP endpoints for session management
4
- * @module mobile/session-api
5
- * @version 1.5.0
6
- *
7
- * Provides REST API endpoints for creating, listing, and terminating
8
- * Claude Code sessions.
9
- *
10
- * @example
11
- * import { createSessionHandler } from './session-api';
12
- * const sessionHandler = createSessionHandler(sessionManager);
13
- * // Use in HTTP server: if (sessionHandler(req, res)) return;
14
- */
15
- Object.defineProperty(exports, "__esModule", { value: true });
16
- exports.DEFAULT_WS_PORT = void 0;
17
- exports.readBody = readBody;
18
- exports.extractSessionId = extractSessionId;
19
- exports.getWsUrl = getWsUrl;
20
- exports.createSessionHandler = createSessionHandler;
21
- const session_manager_js_1 = require("./session-manager.js");
22
- const auth_js_1 = require("./auth.js");
23
- function resolveConfiguredPort() {
24
- const rawPort = process.env.MAMA_EMBEDDING_PORT || process.env.MAMA_HTTP_PORT || '';
25
- const parsedPort = parseInt(rawPort, 10);
26
- if (Number.isInteger(parsedPort) && parsedPort > 0 && parsedPort < 65536) {
27
- return parsedPort;
28
- }
29
- return 3849;
30
- }
31
- /**
32
- * Default WebSocket port (same as HTTP port)
33
- */
34
- exports.DEFAULT_WS_PORT = resolveConfiguredPort();
35
- /**
36
- * Parse request body as JSON
37
- * @param req - HTTP request
38
- * @returns Parsed JSON body
39
- */
40
- function readBody(req) {
41
- return new Promise((resolve, reject) => {
42
- let data = '';
43
- req.on('data', (chunk) => (data += chunk));
44
- req.on('end', () => {
45
- try {
46
- if (!data) {
47
- resolve({});
48
- }
49
- else {
50
- resolve(JSON.parse(data));
51
- }
52
- }
53
- catch {
54
- reject(new Error('Invalid JSON'));
55
- }
56
- });
57
- req.on('error', reject);
58
- });
59
- }
60
- /**
61
- * Extract session ID from URL path
62
- * @param url - Request URL
63
- * @returns Session ID or null
64
- */
65
- function extractSessionId(url) {
66
- const match = url.match(/\/api\/sessions\/([^/?]+)/);
67
- return match ? match[1] : null;
68
- }
69
- /**
70
- * Get WebSocket URL for a session
71
- * @param req - HTTP request
72
- * @param sessionId - Session ID
73
- * @returns WebSocket URL
74
- */
75
- function getWsUrl(req, sessionId) {
76
- const host = req.headers.host || `localhost:${exports.DEFAULT_WS_PORT}`;
77
- const protocol = req.headers['x-forwarded-proto'] === 'https' ? 'wss' : 'ws';
78
- return `${protocol}://${host}/ws?session=${sessionId}`;
79
- }
80
- /**
81
- * Create session API request handler
82
- * @param sessionManager - Session manager instance (will create if not provided)
83
- * @returns Request handler function
84
- */
85
- function createSessionHandler(sessionManager = null) {
86
- // Create session manager if not provided
87
- const manager = sessionManager || new session_manager_js_1.SessionManager();
88
- let initialized = false;
89
- /**
90
- * Handle session API requests
91
- * @param req - HTTP request
92
- * @param res - HTTP response
93
- * @returns True if request was handled
94
- */
95
- return async function handleSessionRequest(req, res) {
96
- const url = new URL(req.url || '/', `http://${req.headers.host || 'localhost'}`);
97
- const pathname = url.pathname;
98
- // Only handle /api/session routes (includes /api/sessions and /api/session/create)
99
- if (!pathname.startsWith('/api/session')) {
100
- return false;
101
- }
102
- // Initialize manager on first request
103
- if (!initialized) {
104
- try {
105
- await manager.initDB();
106
- initialized = true;
107
- }
108
- catch (err) {
109
- const message = err instanceof Error ? err.message : String(err);
110
- console.error('[SessionAPI] Failed to initialize:', message);
111
- res.writeHead(500, { 'Content-Type': 'application/json' });
112
- res.end(JSON.stringify({ error: 'Session manager initialization failed' }));
113
- return true;
114
- }
115
- }
116
- // Set common headers
117
- res.setHeader('Content-Type', 'application/json');
118
- res.setHeader('Access-Control-Allow-Origin', '*');
119
- res.setHeader('Access-Control-Allow-Methods', 'GET, POST, DELETE, OPTIONS');
120
- res.setHeader('Access-Control-Allow-Headers', 'Content-Type, Authorization');
121
- // Handle CORS preflight
122
- if (req.method === 'OPTIONS') {
123
- res.writeHead(204);
124
- res.end();
125
- return true;
126
- }
127
- // Authentication check
128
- if (!(0, auth_js_1.authenticate)(req)) {
129
- res.writeHead(401, { 'Content-Type': 'application/json' });
130
- res.end(JSON.stringify({ error: 'Unauthorized' }));
131
- return true;
132
- }
133
- try {
134
- // GET /api/sessions - List active sessions
135
- if (pathname === '/api/sessions' && req.method === 'GET') {
136
- const sessions = await manager.getActiveSessions();
137
- res.writeHead(200);
138
- res.end(JSON.stringify({
139
- sessions: sessions.map((s) => ({
140
- id: s.id,
141
- projectDir: s.projectDir,
142
- status: s.status,
143
- createdAt: s.createdAt,
144
- lastActive: s.lastActive,
145
- isAlive: s.isAlive,
146
- })),
147
- }));
148
- return true;
149
- }
150
- // POST /api/sessions - Create new session
151
- // Alias: POST /api/session/create
152
- if ((pathname === '/api/sessions' || pathname === '/api/session/create') &&
153
- req.method === 'POST') {
154
- const body = await readBody(req);
155
- const projectDir = body.projectDir || body.workDir || '.';
156
- try {
157
- const { sessionId } = await manager.createSession(projectDir);
158
- const wsUrl = getWsUrl(req, sessionId);
159
- res.writeHead(201);
160
- res.end(JSON.stringify({
161
- sessionId,
162
- wsUrl,
163
- status: 'active',
164
- }));
165
- }
166
- catch (err) {
167
- const message = err instanceof Error ? err.message : String(err);
168
- console.error('[SessionAPI] Failed to create session:', message);
169
- res.writeHead(500);
170
- res.end(JSON.stringify({ error: 'Failed to create session', details: message }));
171
- }
172
- return true;
173
- }
174
- // DELETE /api/sessions/:id - Terminate session
175
- if (pathname.startsWith('/api/sessions/') && req.method === 'DELETE') {
176
- const sessionId = extractSessionId(pathname);
177
- if (!sessionId) {
178
- res.writeHead(400);
179
- res.end(JSON.stringify({ error: 'Missing session ID' }));
180
- return true;
181
- }
182
- const terminated = await manager.terminateSession(sessionId);
183
- if (terminated) {
184
- res.writeHead(200);
185
- res.end(JSON.stringify({ success: true, sessionId }));
186
- }
187
- else {
188
- res.writeHead(404);
189
- res.end(JSON.stringify({ error: 'Session not found', sessionId }));
190
- }
191
- return true;
192
- }
193
- // GET /api/sessions/last-active - Get the most recently active session
194
- // NOTE: This must come BEFORE the generic :id handler to avoid being matched as an ID
195
- if (pathname === '/api/sessions/last-active' && req.method === 'GET') {
196
- const sessions = await manager.getActiveSessions();
197
- if (sessions.length > 0) {
198
- // Sort by lastActive descending and get the first one
199
- const sorted = sessions.sort((a, b) => {
200
- const aTime = a.lastActive ? new Date(a.lastActive).getTime() : 0;
201
- const bTime = b.lastActive ? new Date(b.lastActive).getTime() : 0;
202
- return bTime - aTime;
203
- });
204
- const lastSession = sorted[0];
205
- res.writeHead(200);
206
- res.end(JSON.stringify({
207
- id: lastSession.id,
208
- projectDir: lastSession.projectDir,
209
- status: lastSession.status,
210
- createdAt: lastSession.createdAt,
211
- lastActive: lastSession.lastActive,
212
- isAlive: lastSession.isAlive,
213
- }));
214
- }
215
- else {
216
- res.writeHead(404);
217
- res.end(JSON.stringify({ error: 'No active sessions found' }));
218
- }
219
- return true;
220
- }
221
- // GET /api/sessions/:id - Get single session (bonus endpoint)
222
- if (pathname.startsWith('/api/sessions/') && req.method === 'GET') {
223
- const sessionId = extractSessionId(pathname);
224
- if (!sessionId) {
225
- res.writeHead(400);
226
- res.end(JSON.stringify({ error: 'Missing session ID' }));
227
- return true;
228
- }
229
- const session = manager.getSession(sessionId);
230
- if (session) {
231
- res.writeHead(200);
232
- res.end(JSON.stringify({
233
- id: sessionId,
234
- projectDir: session.projectDir,
235
- status: 'active',
236
- createdAt: session.createdAt,
237
- clientId: session.clientId,
238
- isAlive: session.daemon?.isActive() || false,
239
- }));
240
- }
241
- else {
242
- res.writeHead(404);
243
- res.end(JSON.stringify({ error: 'Session not found', sessionId }));
244
- }
245
- return true;
246
- }
247
- // Unknown /api/sessions route
248
- res.writeHead(404);
249
- res.end(JSON.stringify({ error: 'Not found' }));
250
- return true;
251
- }
252
- catch (err) {
253
- const message = err instanceof Error ? err.message : String(err);
254
- console.error('[SessionAPI] Error:', message);
255
- res.writeHead(500);
256
- res.end(JSON.stringify({ error: 'Internal server error', details: message }));
257
- return true;
258
- }
259
- };
260
- }
261
- //# sourceMappingURL=session-api.js.map
@@ -1,138 +0,0 @@
1
- /**
2
- * @fileoverview Session Manager - tracks multiple Claude Code sessions in SQLite
3
- * @module mobile/session-manager
4
- * @version 1.5.0
5
- *
6
- * Manages session lifecycle including creation, tracking, and termination.
7
- * Sessions are persisted to SQLite for durability across server restarts.
8
- *
9
- * @example
10
- * import { SessionManager } from './session-manager';
11
- * const manager = new SessionManager();
12
- * await manager.initDB();
13
- * const { sessionId, daemon } = await manager.createSession('/path/to/project');
14
- */
15
- import { ClaudeDaemon } from './daemon.js';
16
- /**
17
- * Default database path
18
- */
19
- export declare const DEFAULT_DB_PATH: string;
20
- /**
21
- * Sessions table creation SQL
22
- */
23
- export declare const CREATE_SESSIONS_TABLE: string;
24
- /**
25
- * In-memory session data
26
- */
27
- interface MemorySession {
28
- daemon: ClaudeDaemon;
29
- clientId: string | null;
30
- projectDir: string;
31
- createdAt: string;
32
- }
33
- /**
34
- * Session info returned from getActiveSessions
35
- */
36
- export interface SessionInfo {
37
- id: string;
38
- projectDir: string;
39
- createdAt: string | undefined;
40
- lastActive: string | undefined;
41
- status: string;
42
- pid: number | null;
43
- clientId: string | null;
44
- isAlive: boolean;
45
- }
46
- /**
47
- * Create session result
48
- */
49
- export interface CreateSessionResult {
50
- sessionId: string;
51
- daemon: ClaudeDaemon;
52
- }
53
- /**
54
- * SessionManager class - manages Claude Code sessions
55
- */
56
- export declare class SessionManager {
57
- private dbPath;
58
- private sessions;
59
- private db;
60
- private initialized;
61
- private cleanupPromise;
62
- private cleanupHandlersRegistered;
63
- private handleProcessExit;
64
- /**
65
- * Create a new SessionManager instance
66
- * @param dbPath - Path to SQLite database
67
- */
68
- constructor(dbPath?: string);
69
- /**
70
- * Initialize the SQLite database and create sessions table
71
- */
72
- initDB(): Promise<void>;
73
- /**
74
- * Create a new Claude Code session
75
- * @param projectDir - Working directory for the session
76
- * @returns Session ID and daemon
77
- */
78
- createSession(projectDir: string): Promise<CreateSessionResult>;
79
- /**
80
- * Get all active sessions
81
- * @returns Array of active session info
82
- */
83
- getActiveSessions(): Promise<SessionInfo[]>;
84
- /**
85
- * Terminate a session by ID
86
- * @param sessionId - Session to terminate
87
- * @returns True if session was terminated
88
- */
89
- terminateSession(sessionId: string): Promise<boolean>;
90
- /**
91
- * Get a session by ID
92
- * @param sessionId - Session ID to look up
93
- * @returns Session data or undefined
94
- */
95
- getSession(sessionId: string): MemorySession | undefined;
96
- /**
97
- * Update session's last active timestamp
98
- * @param sessionId - Session ID
99
- */
100
- touchSession(sessionId: string): void;
101
- /**
102
- * Assign a client to a session
103
- * @param sessionId - Session ID
104
- * @param clientId - Client ID
105
- */
106
- assignClient(sessionId: string, clientId: string): void;
107
- /**
108
- * Remove client assignment from a session
109
- * @param sessionId - Session ID
110
- */
111
- unassignClient(sessionId: string): void;
112
- /**
113
- * Get session count
114
- * @returns Number of active sessions
115
- */
116
- getSessionCount(): number;
117
- /**
118
- * Terminate all active sessions
119
- * @returns Number of sessions terminated
120
- */
121
- terminateAll(): Promise<number>;
122
- /**
123
- * Setup daemon event handlers
124
- * @private
125
- */
126
- private _setupDaemonHandlers;
127
- /**
128
- * Setup process cleanup handlers
129
- * @private
130
- */
131
- private _setupProcessCleanup;
132
- /**
133
- * Close the database connection
134
- */
135
- close(): void;
136
- }
137
- export {};
138
- //# sourceMappingURL=session-manager.d.ts.map