@remnic/core 9.3.723 → 9.3.725

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 (270) hide show
  1. package/dist/access-boundary.d.ts +6 -11
  2. package/dist/access-boundary.js +9 -9
  3. package/dist/access-cli.js +29 -23
  4. package/dist/access-cli.js.map +1 -1
  5. package/dist/access-http.d.ts +5 -5
  6. package/dist/access-http.js +19 -14
  7. package/dist/access-mcp.d.ts +5 -5
  8. package/dist/access-mcp.js +18 -13
  9. package/dist/access-operations-batch.js +16 -10
  10. package/dist/access-operations.d.ts +5 -5
  11. package/dist/access-operations.js +17 -11
  12. package/dist/{access-service-Dj3I-VBS.d.ts → access-service-B2PlPtxh.d.ts} +3 -3
  13. package/dist/access-service.d.ts +5 -5
  14. package/dist/access-service.js +8 -8
  15. package/dist/access-surface-catalog.d.ts +5 -5
  16. package/dist/access-surface-catalog.js +82 -82
  17. package/dist/access-surface-catalog.js.map +1 -1
  18. package/dist/action-confidence.d.ts +1 -1
  19. package/dist/active-memory-bridge.d.ts +1 -1
  20. package/dist/active-recall.d.ts +1 -1
  21. package/dist/behavior-learner.d.ts +1 -1
  22. package/dist/behavior-signals.d.ts +1 -1
  23. package/dist/bootstrap.d.ts +4 -4
  24. package/dist/briefing.d.ts +1 -1
  25. package/dist/briefing.js +3 -3
  26. package/dist/buffer-surprise-report.d.ts +1 -1
  27. package/dist/buffer.d.ts +1 -1
  28. package/dist/calibration.d.ts +1 -1
  29. package/dist/capabilities.d.ts +1 -1
  30. package/dist/{catalog-F-OEVbRQ.d.ts → catalog-CzUb-GyD.d.ts} +1 -1
  31. package/dist/causal-behavior.d.ts +1 -1
  32. package/dist/causal-consolidation.d.ts +1 -1
  33. package/dist/causal-consolidation.js +4 -4
  34. package/dist/causal-trajectory-graph.d.ts +1 -1
  35. package/dist/{chunk-EVPNWN7Z.js → chunk-4R3CGCI5.js} +2 -2
  36. package/dist/{chunk-UO5ZHIIH.js → chunk-4WZ3J7M6.js} +2 -2
  37. package/dist/{chunk-PD42EYQN.js → chunk-5OPYYPJN.js} +2 -2
  38. package/dist/{chunk-EEJMD2L2.js → chunk-6CWGS2LY.js} +2 -2
  39. package/dist/{chunk-7CTNUVHZ.js → chunk-6SQQOJ4U.js} +2 -2
  40. package/dist/{chunk-ILFSEIRT.js → chunk-7AG54AF3.js} +1 -1
  41. package/dist/{chunk-ILFSEIRT.js.map → chunk-7AG54AF3.js.map} +1 -1
  42. package/dist/{chunk-UIXXE6NI.js → chunk-C6BWLYW5.js} +24 -15
  43. package/dist/chunk-C6BWLYW5.js.map +1 -0
  44. package/dist/{chunk-A5XNBK2D.js → chunk-DF3I6JGP.js} +6 -6
  45. package/dist/{chunk-GJSL4WG2.js → chunk-F3XZN24Z.js} +2 -2
  46. package/dist/{chunk-J3JPB7ZI.js → chunk-FACTVMXQ.js} +2 -2
  47. package/dist/{chunk-B7WISIAJ.js → chunk-FN6QP7JQ.js} +154 -1067
  48. package/dist/chunk-FN6QP7JQ.js.map +1 -0
  49. package/dist/{chunk-EBDA5TYA.js → chunk-FXCIOLRB.js} +2 -2
  50. package/dist/{chunk-TXQCG6SE.js → chunk-H7HUQIY7.js} +3 -3
  51. package/dist/{chunk-QD6QP5P6.js → chunk-I2HL5M6T.js} +17 -17
  52. package/dist/{chunk-M7R5R6OJ.js → chunk-IAIPNEHD.js} +20 -2
  53. package/dist/{chunk-M7R5R6OJ.js.map → chunk-IAIPNEHD.js.map} +1 -1
  54. package/dist/{chunk-Z4RU5VPM.js → chunk-J334N6QV.js} +2 -2
  55. package/dist/{chunk-NXRUUDUF.js → chunk-JJJCVCCQ.js} +2 -2
  56. package/dist/{chunk-GDUOCHCD.js → chunk-KGZF2VO3.js} +10 -10
  57. package/dist/{chunk-LA3HZKES.js → chunk-KLFYKC3K.js} +448 -49
  58. package/dist/chunk-KLFYKC3K.js.map +1 -0
  59. package/dist/{chunk-LLUGAZ3B.js → chunk-NT36GU6X.js} +30 -4
  60. package/dist/chunk-NT36GU6X.js.map +1 -0
  61. package/dist/{chunk-OHTOPFRF.js → chunk-SC2YAWRF.js} +2 -2
  62. package/dist/{chunk-YEE5KJQQ.js → chunk-T55EGZSJ.js} +2 -2
  63. package/dist/{chunk-N77ELJ2D.js → chunk-TT5U3UDO.js} +4 -4
  64. package/dist/{chunk-6FAMMBQ3.js → chunk-UBHVAGO7.js} +2 -2
  65. package/dist/chunk-VI5SGGXB.js +420 -0
  66. package/dist/chunk-VI5SGGXB.js.map +1 -0
  67. package/dist/{chunk-EDOQM4E4.js → chunk-WAFDHKES.js} +2 -2
  68. package/dist/{chunk-EXUCUPV2.js → chunk-WM7DNKBD.js} +2 -2
  69. package/dist/{dreams-ledger-3WSCI5V4.js → chunk-YF6FMLBT.js} +5 -6
  70. package/dist/{dreams-ledger-3WSCI5V4.js.map → chunk-YF6FMLBT.js.map} +1 -1
  71. package/dist/{chunk-WQYSDPMA.js → chunk-YQMPUYHE.js} +2 -2
  72. package/dist/{chunk-5O42UKXI.js → chunk-YUYPWJD3.js} +2 -2
  73. package/dist/{chunk-VCLGUIFM.js → chunk-Z3FGC3QE.js} +2 -2
  74. package/dist/{chunk-A7TJZLPK.js → chunk-ZK2L72VN.js} +2 -2
  75. package/dist/{chunk-BXEOHV7K.js → chunk-ZOHMPFOB.js} +3 -3
  76. package/dist/{graph-edge-decay-QPRJQ7DL.js → chunk-ZQNCHPTZ.js} +4 -5
  77. package/dist/{graph-edge-decay-QPRJQ7DL.js.map → chunk-ZQNCHPTZ.js.map} +1 -1
  78. package/dist/{cli-P_GaYcCY.d.ts → cli-IOlDHSBT.d.ts} +3 -3
  79. package/dist/cli.d.ts +6 -6
  80. package/dist/cli.js +31 -26
  81. package/dist/compounding/engine.d.ts +1 -1
  82. package/dist/compounding/engine.js +3 -3
  83. package/dist/compounding/preference-consolidator.d.ts +1 -1
  84. package/dist/compression-optimizer.d.ts +1 -1
  85. package/dist/config.d.ts +1 -1
  86. package/dist/connectors/codex-materialize-runner.d.ts +1 -1
  87. package/dist/connectors/codex-materialize-runner.js +3 -3
  88. package/dist/connectors/codex-materialize.d.ts +1 -1
  89. package/dist/connectors/index.d.ts +1 -1
  90. package/dist/connectors/index.js +3 -3
  91. package/dist/consolidation-provenance-check.d.ts +1 -1
  92. package/dist/consolidation-undo.d.ts +1 -1
  93. package/dist/contradiction/index.d.ts +1 -1
  94. package/dist/conversation-index/backend.d.ts +1 -1
  95. package/dist/conversation-index/chunker.d.ts +1 -1
  96. package/dist/conversation-index/faiss-adapter.d.ts +1 -1
  97. package/dist/conversation-index/indexer.d.ts +1 -1
  98. package/dist/conversation-index/search.d.ts +1 -1
  99. package/dist/day-summary.d.ts +1 -1
  100. package/dist/delinearize.d.ts +1 -1
  101. package/dist/direct-answer-wiring.d.ts +1 -1
  102. package/dist/direct-answer.d.ts +1 -1
  103. package/dist/dreams-ledger-6UODQOX6.js +22 -0
  104. package/dist/dreams-ledger-6UODQOX6.js.map +1 -0
  105. package/dist/embedding-fallback.d.ts +1 -1
  106. package/dist/enrichment/index.d.ts +1 -1
  107. package/dist/entity-retrieval.d.ts +1 -1
  108. package/dist/entity-retrieval.js +3 -3
  109. package/dist/entity-schema.d.ts +1 -1
  110. package/dist/event-time.d.ts +33 -1
  111. package/dist/event-time.js +3 -1
  112. package/dist/explicit-capture.d.ts +4 -4
  113. package/dist/extraction-faithfulness.d.ts +1 -1
  114. package/dist/extraction-judge-telemetry.d.ts +1 -1
  115. package/dist/extraction-judge-training.d.ts +1 -1
  116. package/dist/extraction-judge.d.ts +1 -1
  117. package/dist/extraction.d.ts +1 -1
  118. package/dist/fallback-llm.d.ts +1 -1
  119. package/dist/graph-dashboard-diff.d.ts +1 -1
  120. package/dist/graph-dashboard-key.d.ts +1 -1
  121. package/dist/graph-dashboard-parser.d.ts +1 -1
  122. package/dist/graph-edge-decay-RXUCJIN4.js +22 -0
  123. package/dist/graph-edge-decay-RXUCJIN4.js.map +1 -0
  124. package/dist/graph-edge-reinforcement.d.ts +1 -1
  125. package/dist/graph-snapshot.d.ts +1 -1
  126. package/dist/graph.d.ts +1 -1
  127. package/dist/identity-continuity.d.ts +1 -1
  128. package/dist/importance.d.ts +1 -1
  129. package/dist/index.d.ts +9 -9
  130. package/dist/index.js +58 -56
  131. package/dist/index.js.map +1 -1
  132. package/dist/intent.d.ts +1 -1
  133. package/dist/lcm/engine.d.ts +1 -1
  134. package/dist/lcm/index.d.ts +1 -1
  135. package/dist/lcm/tools.d.ts +1 -1
  136. package/dist/lifecycle.d.ts +1 -1
  137. package/dist/live-connectors-runner.d.ts +1 -1
  138. package/dist/local-llm.d.ts +1 -1
  139. package/dist/local-model-endpoint.d.ts +1 -1
  140. package/dist/maintenance/memory-governance.d.ts +1 -1
  141. package/dist/maintenance/memory-governance.js +3 -3
  142. package/dist/maintenance/rebuild-memory-lifecycle-ledger.js +3 -3
  143. package/dist/maintenance/rebuild-memory-projection.js +4 -4
  144. package/dist/mcp-memory-inspector-app.d.ts +5 -5
  145. package/dist/memory-action-policy.d.ts +1 -1
  146. package/dist/memory-cache.d.ts +1 -1
  147. package/dist/memory-lifecycle-ledger-utils.d.ts +1 -1
  148. package/dist/memory-projection-store.d.ts +1 -1
  149. package/dist/memory-provenance.d.ts +1 -1
  150. package/dist/memory-worth-outcomes.d.ts +1 -1
  151. package/dist/models-json.d.ts +1 -1
  152. package/dist/namespaces/migrate.d.ts +2 -2
  153. package/dist/namespaces/migrate.js +4 -4
  154. package/dist/namespaces/principal.d.ts +1 -1
  155. package/dist/namespaces/search.d.ts +1 -1
  156. package/dist/namespaces/storage.d.ts +2 -2
  157. package/dist/namespaces/storage.js +3 -3
  158. package/dist/native-knowledge.d.ts +1 -1
  159. package/dist/operator-toolkit.d.ts +1 -1
  160. package/dist/operator-toolkit.js +8 -8
  161. package/dist/orchestration/maintenance.d.ts +2 -2
  162. package/dist/orchestration/maintenance.js +5 -5
  163. package/dist/{orchestrator-f5xv19kp.d.ts → orchestrator-C_OMSIMZ.d.ts} +34 -3
  164. package/dist/orchestrator.d.ts +4 -4
  165. package/dist/orchestrator.js +17 -17
  166. package/dist/patterns-cli.d.ts +1 -1
  167. package/dist/policy-runtime.d.ts +1 -1
  168. package/dist/provenance.d.ts +1 -1
  169. package/dist/qmd-recall-cache.d.ts +1 -1
  170. package/dist/qmd.d.ts +1 -1
  171. package/dist/recall-disclosure-escalation.d.ts +1 -1
  172. package/dist/recall-explain-renderer.d.ts +1 -1
  173. package/dist/recall-explain-renderer.js +3 -3
  174. package/dist/recall-planner-llm.d.ts +1 -1
  175. package/dist/recall-state.d.ts +1 -1
  176. package/dist/recall-tag-filter.d.ts +1 -1
  177. package/dist/recall-xray-cli.d.ts +1 -1
  178. package/dist/recall-xray-cli.js +4 -4
  179. package/dist/recall-xray-renderer.d.ts +1 -1
  180. package/dist/recall-xray-renderer.js +3 -3
  181. package/dist/recall-xray.d.ts +1 -1
  182. package/dist/recall-xray.js +2 -2
  183. package/dist/resolve-auth-token.d.ts +1 -1
  184. package/dist/retrieval-agents.d.ts +1 -1
  185. package/dist/retrieval-tiers.d.ts +1 -1
  186. package/dist/routing/engine.d.ts +1 -1
  187. package/dist/routing/store.d.ts +1 -1
  188. package/dist/schemas.d.ts +22 -22
  189. package/dist/search/embed-helper.d.ts +1 -1
  190. package/dist/search/factory.d.ts +1 -1
  191. package/dist/search/index.d.ts +1 -1
  192. package/dist/search/lancedb-backend.d.ts +1 -1
  193. package/dist/search/meilisearch-backend.d.ts +1 -1
  194. package/dist/search/noop-backend.d.ts +1 -1
  195. package/dist/search/orama-backend.d.ts +1 -1
  196. package/dist/search/port.d.ts +1 -1
  197. package/dist/search/remote-backend.d.ts +1 -1
  198. package/dist/{semantic-consolidation-BQm1e1Pn.d.ts → semantic-consolidation-B8LiYtvx.d.ts} +1 -1
  199. package/dist/semantic-consolidation.d.ts +2 -2
  200. package/dist/semantic-consolidation.js +4 -4
  201. package/dist/semantic-rule-promotion.js +3 -3
  202. package/dist/semantic-rule-verifier.d.ts +1 -1
  203. package/dist/semantic-rule-verifier.js +3 -3
  204. package/dist/session-observer-bands.d.ts +1 -1
  205. package/dist/session-observer-state.d.ts +1 -1
  206. package/dist/shared-context/manager.d.ts +1 -1
  207. package/dist/signal.d.ts +1 -1
  208. package/dist/storage.d.ts +1 -1
  209. package/dist/storage.js +2 -2
  210. package/dist/summarizer.d.ts +1 -1
  211. package/dist/summary-snapshot.d.ts +1 -1
  212. package/dist/temporal-supersession.d.ts +1 -1
  213. package/dist/temporal-validity.d.ts +1 -1
  214. package/dist/threading.d.ts +1 -1
  215. package/dist/tier-migration.d.ts +1 -1
  216. package/dist/tier-routing.d.ts +1 -1
  217. package/dist/topics.d.ts +1 -1
  218. package/dist/transcript.d.ts +1 -1
  219. package/dist/transfer/types.d.ts +12 -12
  220. package/dist/trust-score-stage.d.ts +1 -1
  221. package/dist/trust-score.d.ts +1 -1
  222. package/dist/{types-DwO1Ot4n.d.ts → types-DmTaqob2.d.ts} +14 -0
  223. package/dist/types.d.ts +1 -1
  224. package/dist/types.js +1 -1
  225. package/dist/utility-runtime.d.ts +1 -1
  226. package/dist/verified-recall.js +3 -3
  227. package/package.json +2 -2
  228. package/src/access-boundary.ts +36 -2
  229. package/src/access-http.ts +17 -8
  230. package/src/access-mcp.ts +149 -1189
  231. package/src/access-operations-batch.ts +227 -1439
  232. package/src/access-surface-catalog.test.ts +4 -15
  233. package/src/access-surface-catalog.ts +82 -82
  234. package/src/bitemporal-dedup-backfill.test.ts +169 -0
  235. package/src/event-time.ts +57 -0
  236. package/src/extraction-eventtime-wiring.test.ts +101 -1
  237. package/src/orchestrator.ts +238 -43
  238. package/src/recall/archive-scoring.ts +526 -0
  239. package/src/types.ts +14 -0
  240. package/dist/chunk-B7WISIAJ.js.map +0 -1
  241. package/dist/chunk-EM2LDXJ2.js +0 -1315
  242. package/dist/chunk-EM2LDXJ2.js.map +0 -1
  243. package/dist/chunk-LA3HZKES.js.map +0 -1
  244. package/dist/chunk-LLUGAZ3B.js.map +0 -1
  245. package/dist/chunk-UIXXE6NI.js.map +0 -1
  246. /package/dist/{chunk-EVPNWN7Z.js.map → chunk-4R3CGCI5.js.map} +0 -0
  247. /package/dist/{chunk-UO5ZHIIH.js.map → chunk-4WZ3J7M6.js.map} +0 -0
  248. /package/dist/{chunk-PD42EYQN.js.map → chunk-5OPYYPJN.js.map} +0 -0
  249. /package/dist/{chunk-EEJMD2L2.js.map → chunk-6CWGS2LY.js.map} +0 -0
  250. /package/dist/{chunk-7CTNUVHZ.js.map → chunk-6SQQOJ4U.js.map} +0 -0
  251. /package/dist/{chunk-A5XNBK2D.js.map → chunk-DF3I6JGP.js.map} +0 -0
  252. /package/dist/{chunk-GJSL4WG2.js.map → chunk-F3XZN24Z.js.map} +0 -0
  253. /package/dist/{chunk-J3JPB7ZI.js.map → chunk-FACTVMXQ.js.map} +0 -0
  254. /package/dist/{chunk-EBDA5TYA.js.map → chunk-FXCIOLRB.js.map} +0 -0
  255. /package/dist/{chunk-TXQCG6SE.js.map → chunk-H7HUQIY7.js.map} +0 -0
  256. /package/dist/{chunk-QD6QP5P6.js.map → chunk-I2HL5M6T.js.map} +0 -0
  257. /package/dist/{chunk-Z4RU5VPM.js.map → chunk-J334N6QV.js.map} +0 -0
  258. /package/dist/{chunk-NXRUUDUF.js.map → chunk-JJJCVCCQ.js.map} +0 -0
  259. /package/dist/{chunk-GDUOCHCD.js.map → chunk-KGZF2VO3.js.map} +0 -0
  260. /package/dist/{chunk-OHTOPFRF.js.map → chunk-SC2YAWRF.js.map} +0 -0
  261. /package/dist/{chunk-YEE5KJQQ.js.map → chunk-T55EGZSJ.js.map} +0 -0
  262. /package/dist/{chunk-N77ELJ2D.js.map → chunk-TT5U3UDO.js.map} +0 -0
  263. /package/dist/{chunk-6FAMMBQ3.js.map → chunk-UBHVAGO7.js.map} +0 -0
  264. /package/dist/{chunk-EDOQM4E4.js.map → chunk-WAFDHKES.js.map} +0 -0
  265. /package/dist/{chunk-EXUCUPV2.js.map → chunk-WM7DNKBD.js.map} +0 -0
  266. /package/dist/{chunk-WQYSDPMA.js.map → chunk-YQMPUYHE.js.map} +0 -0
  267. /package/dist/{chunk-5O42UKXI.js.map → chunk-YUYPWJD3.js.map} +0 -0
  268. /package/dist/{chunk-VCLGUIFM.js.map → chunk-Z3FGC3QE.js.map} +0 -0
  269. /package/dist/{chunk-A7TJZLPK.js.map → chunk-ZK2L72VN.js.map} +0 -0
  270. /package/dist/{chunk-BXEOHV7K.js.map → chunk-ZOHMPFOB.js.map} +0 -0
@@ -1,4 +1,4 @@
1
- import { u as BufferTurn, am as ConversationThread } from './types-DwO1Ot4n.js';
1
+ import { u as BufferTurn, am as ConversationThread } from './types-DmTaqob2.js';
2
2
  import './types-gb_SNtjR.js';
3
3
  import './message-parts/index.js';
4
4
 
@@ -1,4 +1,4 @@
1
- import { g as MemoryFile } from './types-DwO1Ot4n.js';
1
+ import { g as MemoryFile } from './types-DmTaqob2.js';
2
2
  import { StorageManager } from './storage.js';
3
3
  import { MemoryTier } from './tier-routing.js';
4
4
  import { SearchBackend } from './search/port.js';
@@ -1,4 +1,4 @@
1
- import { g as MemoryFile } from './types-DwO1Ot4n.js';
1
+ import { g as MemoryFile } from './types-DmTaqob2.js';
2
2
  import { LifecycleSignals } from './lifecycle.js';
3
3
  import './types-gb_SNtjR.js';
4
4
  import './message-parts/index.js';
package/dist/topics.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { g as MemoryFile, an as TopicScore } from './types-DwO1Ot4n.js';
1
+ import { g as MemoryFile, an as TopicScore } from './types-DmTaqob2.js';
2
2
  import './types-gb_SNtjR.js';
3
3
  import './message-parts/index.js';
4
4
 
@@ -1,4 +1,4 @@
1
- import { P as PluginConfig, T as TranscriptEntry, v as Checkpoint } from './types-DwO1Ot4n.js';
1
+ import { P as PluginConfig, T as TranscriptEntry, v as Checkpoint } from './types-DmTaqob2.js';
2
2
  import { SessionIntegrityReport } from './session-integrity.js';
3
3
  import './types-gb_SNtjR.js';
4
4
  import './message-parts/index.js';
@@ -313,13 +313,13 @@ declare const CapsuleBlockSchema: z.ZodObject<{
313
313
  peerProfiles: boolean;
314
314
  }>;
315
315
  }, "strip", z.ZodTypeAny, {
316
+ schemaVersion: string;
316
317
  includes: {
317
318
  procedural: boolean;
318
319
  taxonomy: boolean;
319
320
  identityAnchors: boolean;
320
321
  peerProfiles: boolean;
321
322
  };
322
- schemaVersion: string;
323
323
  id: string;
324
324
  version: string;
325
325
  description: string;
@@ -334,13 +334,13 @@ declare const CapsuleBlockSchema: z.ZodObject<{
334
334
  directAnswerEnabled: boolean;
335
335
  };
336
336
  }, {
337
+ schemaVersion: string;
337
338
  includes: {
338
339
  procedural: boolean;
339
340
  taxonomy: boolean;
340
341
  identityAnchors: boolean;
341
342
  peerProfiles: boolean;
342
343
  };
343
- schemaVersion: string;
344
344
  id: string;
345
345
  version: string;
346
346
  description: string;
@@ -464,13 +464,13 @@ declare const ExportManifestV2Schema: z.ZodObject<{
464
464
  peerProfiles: boolean;
465
465
  }>;
466
466
  }, "strip", z.ZodTypeAny, {
467
+ schemaVersion: string;
467
468
  includes: {
468
469
  procedural: boolean;
469
470
  taxonomy: boolean;
470
471
  identityAnchors: boolean;
471
472
  peerProfiles: boolean;
472
473
  };
473
- schemaVersion: string;
474
474
  id: string;
475
475
  version: string;
476
476
  description: string;
@@ -485,13 +485,13 @@ declare const ExportManifestV2Schema: z.ZodObject<{
485
485
  directAnswerEnabled: boolean;
486
486
  };
487
487
  }, {
488
+ schemaVersion: string;
488
489
  includes: {
489
490
  procedural: boolean;
490
491
  taxonomy: boolean;
491
492
  identityAnchors: boolean;
492
493
  peerProfiles: boolean;
493
494
  };
494
- schemaVersion: string;
495
495
  id: string;
496
496
  version: string;
497
497
  description: string;
@@ -518,13 +518,13 @@ declare const ExportManifestV2Schema: z.ZodObject<{
518
518
  pluginVersion: string;
519
519
  includesTranscripts: boolean;
520
520
  capsule: {
521
+ schemaVersion: string;
521
522
  includes: {
522
523
  procedural: boolean;
523
524
  taxonomy: boolean;
524
525
  identityAnchors: boolean;
525
526
  peerProfiles: boolean;
526
527
  };
527
- schemaVersion: string;
528
528
  id: string;
529
529
  version: string;
530
530
  description: string;
@@ -551,13 +551,13 @@ declare const ExportManifestV2Schema: z.ZodObject<{
551
551
  pluginVersion: string;
552
552
  includesTranscripts: boolean;
553
553
  capsule: {
554
+ schemaVersion: string;
554
555
  includes: {
555
556
  procedural: boolean;
556
557
  taxonomy: boolean;
557
558
  identityAnchors: boolean;
558
559
  peerProfiles: boolean;
559
560
  };
560
- schemaVersion: string;
561
561
  id: string;
562
562
  version: string;
563
563
  description: string;
@@ -683,13 +683,13 @@ declare const ExportBundleV2Schema: z.ZodObject<{
683
683
  peerProfiles: boolean;
684
684
  }>;
685
685
  }, "strip", z.ZodTypeAny, {
686
+ schemaVersion: string;
686
687
  includes: {
687
688
  procedural: boolean;
688
689
  taxonomy: boolean;
689
690
  identityAnchors: boolean;
690
691
  peerProfiles: boolean;
691
692
  };
692
- schemaVersion: string;
693
693
  id: string;
694
694
  version: string;
695
695
  description: string;
@@ -704,13 +704,13 @@ declare const ExportBundleV2Schema: z.ZodObject<{
704
704
  directAnswerEnabled: boolean;
705
705
  };
706
706
  }, {
707
+ schemaVersion: string;
707
708
  includes: {
708
709
  procedural: boolean;
709
710
  taxonomy: boolean;
710
711
  identityAnchors: boolean;
711
712
  peerProfiles: boolean;
712
713
  };
713
- schemaVersion: string;
714
714
  id: string;
715
715
  version: string;
716
716
  description: string;
@@ -737,13 +737,13 @@ declare const ExportBundleV2Schema: z.ZodObject<{
737
737
  pluginVersion: string;
738
738
  includesTranscripts: boolean;
739
739
  capsule: {
740
+ schemaVersion: string;
740
741
  includes: {
741
742
  procedural: boolean;
742
743
  taxonomy: boolean;
743
744
  identityAnchors: boolean;
744
745
  peerProfiles: boolean;
745
746
  };
746
- schemaVersion: string;
747
747
  id: string;
748
748
  version: string;
749
749
  description: string;
@@ -770,13 +770,13 @@ declare const ExportBundleV2Schema: z.ZodObject<{
770
770
  pluginVersion: string;
771
771
  includesTranscripts: boolean;
772
772
  capsule: {
773
+ schemaVersion: string;
773
774
  includes: {
774
775
  procedural: boolean;
775
776
  taxonomy: boolean;
776
777
  identityAnchors: boolean;
777
778
  peerProfiles: boolean;
778
779
  };
779
- schemaVersion: string;
780
780
  id: string;
781
781
  version: string;
782
782
  description: string;
@@ -819,13 +819,13 @@ declare const ExportBundleV2Schema: z.ZodObject<{
819
819
  pluginVersion: string;
820
820
  includesTranscripts: boolean;
821
821
  capsule: {
822
+ schemaVersion: string;
822
823
  includes: {
823
824
  procedural: boolean;
824
825
  taxonomy: boolean;
825
826
  identityAnchors: boolean;
826
827
  peerProfiles: boolean;
827
828
  };
828
- schemaVersion: string;
829
829
  id: string;
830
830
  version: string;
831
831
  description: string;
@@ -858,13 +858,13 @@ declare const ExportBundleV2Schema: z.ZodObject<{
858
858
  pluginVersion: string;
859
859
  includesTranscripts: boolean;
860
860
  capsule: {
861
+ schemaVersion: string;
861
862
  includes: {
862
863
  procedural: boolean;
863
864
  taxonomy: boolean;
864
865
  identityAnchors: boolean;
865
866
  peerProfiles: boolean;
866
867
  };
867
- schemaVersion: string;
868
868
  id: string;
869
869
  version: string;
870
870
  description: string;
@@ -1,5 +1,5 @@
1
1
  import { TrustSignals, TrustScoreResult, TrustBand, TrustScoreComponent } from './trust-score.js';
2
- import { F as FaithfulnessFrontmatter, ai as ProvenanceSource, ao as TrustWeights } from './types-DwO1Ot4n.js';
2
+ import { F as FaithfulnessFrontmatter, ai as ProvenanceSource, ao as TrustWeights } from './types-DmTaqob2.js';
3
3
  import './types-gb_SNtjR.js';
4
4
  import './message-parts/index.js';
5
5
 
@@ -1,4 +1,4 @@
1
- import { ao as TrustWeights } from './types-DwO1Ot4n.js';
1
+ import { ao as TrustWeights } from './types-DmTaqob2.js';
2
2
  import './types-gb_SNtjR.js';
3
3
  import './message-parts/index.js';
4
4
 
@@ -3138,6 +3138,20 @@ interface ExtractedFact {
3138
3138
  * when `temporal.biTemporal` is off.
3139
3139
  */
3140
3140
  eventTime?: string;
3141
+ /**
3142
+ * Per-fact source-turn timestamp for bi-temporal event-time resolution
3143
+ * (#1670). When set, `resolveFactEventTime` anchors this fact's
3144
+ * `eventTime` expression against THIS turn's timestamp instead of the
3145
+ * batch-wide latest turn timestamp — so a buffered conversation spanning
3146
+ * a date boundary resolves "yesterday" on an early-turn fact against
3147
+ * that early turn's date, not the last turn's.
3148
+ *
3149
+ * Programmatic-only: extractors that know the exact source turn set this
3150
+ * directly. The LLM extraction prompt never emits it (models cannot know
3151
+ * turn timestamps). Falls back to the earliest provenance span's
3152
+ * `observedAt`, then to the batch anchor, when absent.
3153
+ */
3154
+ sourceTurnTimestamp?: string;
3141
3155
  }
3142
3156
  interface ExtractedReasoningTraceStep {
3143
3157
  order: number;
package/dist/types.d.ts CHANGED
@@ -1,3 +1,3 @@
1
1
  import './types-gb_SNtjR.js';
2
2
  import './message-parts/index.js';
3
- export { av as AccessTrackingEntry, A as ActiveRecallChatType, d as ActiveRecallModelFallbackPolicy, b as ActiveRecallPromptStyle, a as ActiveRecallQueryMode, c as ActiveRecallThinking, J as AgentAccessAuthToken, b9 as AgentAccessHttpConfig, ba as AgentDefaultsConfig, bb as AgentPersona, j as AgentPersonaModelConfig, bc as BehaviorLoopAdjustment, e as BehaviorLoopPolicyState, bd as BehaviorSignalDirection, B as BehaviorSignalEvent, be as BehaviorSignalType, aI as BootstrapOptions, aJ as BootstrapResult, r as BriefingActiveThread, bf as BriefingCalendarSourceError, aV as BriefingConfig, p as BriefingFocus, o as BriefingFollowup, aW as BriefingOpenCommitment, t as BriefingRecentEntity, s as BriefingResult, n as BriefingSections, aX as BriefingWindow, bg as BufferEntryState, aq as BufferState, z as BufferSurpriseEvent, u as BufferTurn, q as CalendarEvent, C as CalendarSource, bh as CaptureMode, bi as ChatConfig, v as Checkpoint, bj as CodexCliReasoningEffort, bk as CodexCompactionFlushMode, aY as CodexCompatConfig, bl as CodexConnectorConfig, aH as CodingContext, bm as CodingKnowledgeConfig, aS as CodingModeConfig, bn as CompressionGuidelineActivationState, N as CompressionGuidelineOptimizerActionSummary, K as CompressionGuidelineOptimizerEventCounts, O as CompressionGuidelineOptimizerRuleUpdate, bo as CompressionGuidelineOptimizerSourceWindow, X as CompressionGuidelineOptimizerState, bp as ConfidenceTier, bq as ConsolidationAction, br as ConsolidationItem, aK as ConsolidationObservation, a1 as ConsolidationResult, a6 as ContinuityImprovementLoop, a4 as ContinuityIncidentCloseInput, a5 as ContinuityIncidentOpenInput, a3 as ContinuityIncidentRecord, bs as ContinuityIncidentState, bt as ContinuityLoopCadence, a7 as ContinuityLoopReviewInput, bu as ContinuityLoopStatus, a8 as ContinuityLoopUpsertInput, bv as ContradictionScanConfig, am as ConversationThread, bw as CronConversationRecallMode, bx as CronRecallMode, aZ as DEFAULT_RECALL_DISCLOSURE, a2 as DaySummaryResult, by as DreamingConfig, bz as DreamingNarrativePromptStyle, bA as DreamsDeepSleepConfig, bB as DreamsLightSleepConfig, aQ as DreamsPhase, bC as DreamsPhaseStatus, bD as DreamsPhasesConfig, bE as DreamsRemConfig, aR as DreamsRunResult, aP as DreamsStatusResult, bF as EngramTraceEvent, au as EntityActivityEntry, E as EntityFile, Y as EntityMention, at as EntityRelationship, Z as EntitySchemaDefinition, _ as EntitySchemaSectionDefinition, $ as EntityStructuredSection, aL as EntityTimelineEntry, a_ as ExtractedFact, bG as ExtractedProcedureStep, bH as ExtractedQuestion, bI as ExtractedReasoningTrace, bJ as ExtractedReasoningTraceStep, bK as ExtractedRelationship, bL as ExtractionPassSource, a0 as ExtractionResult, F as FaithfulnessFrontmatter, as as FileHygieneConfig, G as GatewayConfig, bM as GitHubLiveConnectorConfig, bN as GmailLiveConnectorConfig, bO as GoogleDriveLiveConnectorConfig, bP as HeartbeatConfig, bQ as HeartbeatDetectionMode, H as HourlySummary, I as IdentityInjectionMode, y as ImportanceLevel, a9 as ImportanceScore, w as LifecycleState, L as LiveConnectorsConfig, bR as LlmTraceCallback, bS as LlmTraceEvent, ac as MemoryActionEligibilityContext, a$ as MemoryActionEligibilitySource, W as MemoryActionEvent, bT as MemoryActionOutcome, bU as MemoryActionPolicyDecision, ad as MemoryActionPolicyResult, bV as MemoryActionStatus, U as MemoryActionType, M as MemoryCategory, g as MemoryFile, k as MemoryFrontmatter, aa as MemoryIntent, m as MemoryLifecycleEvent, ae as MemoryLifecycleEventType, af as MemoryLifecycleStateSummary, ap as MemoryLink, bW as MemoryLinkType, b0 as MemoryObservation, bX as MemoryOsPresetName, l as MemoryProjectionCurrentState, b1 as MemoryScope, f as MemoryStatus, aw as MemorySummary, ar as MetaState, bY as ModelApi, bZ as ModelDefinitionConfig, b_ as ModelProviderAuthMode, ag as ModelProviderConfig, b$ as NamespacePolicy, ah as NativeKnowledgeConfig, c0 as NativeKnowledgeFolderRuleConfig, c1 as NativeKnowledgeObsidianVaultConfig, c2 as NativeKnowledgeOpenClawWorkspaceConfig, c3 as NotionLiveConnectorConfig, P as PluginConfig, x as PolicyClass, c4 as PrincipalFromSessionKeyMode, c5 as PrincipalRule, c6 as ProceduralConfig, aj as ProvenanceConfig, ai as ProvenanceSource, ab as QmdSearchExplain, Q as QmdSearchResult, c7 as QuestionEntry, b2 as RECALL_DISCLOSURE_LEVELS, c8 as ReasoningEffort, i as RecallDisclosure, c9 as RecallPipelineConfig, h as RecallPlanMode, ca as RecallSectionConfig, R as RecallTierExplain, cb as RecallTraceEvent, cc as RelevanceFeedback, ak as RetrievalTier, cd as SPECULATIVE_TTL_DAYS, ce as ScopeProfileAutoPromoteConfig, aO as ScopeProfileConfig, aM as ScopeProfileLayerId, aN as ScopeProfilePromotionTarget, cf as ScopeProfileTeamProjectConfig, cg as ScopeTeamConfig, ch as ScoredEntity, D as SecretRef, ci as SemanticChunkingConfigShape, S as SessionObserverBandConfig, cj as SignalLevel, al as SignalScanResult, ck as SlotBehaviorConfig, cl as SlotMismatchMode, an as TopicScore, T as TranscriptEntry, cm as TriggerMode, ao as TrustWeights, V as VerificationState, cn as confidenceTier, b8 as isRecallDisclosure } from './types-DwO1Ot4n.js';
3
+ export { av as AccessTrackingEntry, A as ActiveRecallChatType, d as ActiveRecallModelFallbackPolicy, b as ActiveRecallPromptStyle, a as ActiveRecallQueryMode, c as ActiveRecallThinking, J as AgentAccessAuthToken, b9 as AgentAccessHttpConfig, ba as AgentDefaultsConfig, bb as AgentPersona, j as AgentPersonaModelConfig, bc as BehaviorLoopAdjustment, e as BehaviorLoopPolicyState, bd as BehaviorSignalDirection, B as BehaviorSignalEvent, be as BehaviorSignalType, aI as BootstrapOptions, aJ as BootstrapResult, r as BriefingActiveThread, bf as BriefingCalendarSourceError, aV as BriefingConfig, p as BriefingFocus, o as BriefingFollowup, aW as BriefingOpenCommitment, t as BriefingRecentEntity, s as BriefingResult, n as BriefingSections, aX as BriefingWindow, bg as BufferEntryState, aq as BufferState, z as BufferSurpriseEvent, u as BufferTurn, q as CalendarEvent, C as CalendarSource, bh as CaptureMode, bi as ChatConfig, v as Checkpoint, bj as CodexCliReasoningEffort, bk as CodexCompactionFlushMode, aY as CodexCompatConfig, bl as CodexConnectorConfig, aH as CodingContext, bm as CodingKnowledgeConfig, aS as CodingModeConfig, bn as CompressionGuidelineActivationState, N as CompressionGuidelineOptimizerActionSummary, K as CompressionGuidelineOptimizerEventCounts, O as CompressionGuidelineOptimizerRuleUpdate, bo as CompressionGuidelineOptimizerSourceWindow, X as CompressionGuidelineOptimizerState, bp as ConfidenceTier, bq as ConsolidationAction, br as ConsolidationItem, aK as ConsolidationObservation, a1 as ConsolidationResult, a6 as ContinuityImprovementLoop, a4 as ContinuityIncidentCloseInput, a5 as ContinuityIncidentOpenInput, a3 as ContinuityIncidentRecord, bs as ContinuityIncidentState, bt as ContinuityLoopCadence, a7 as ContinuityLoopReviewInput, bu as ContinuityLoopStatus, a8 as ContinuityLoopUpsertInput, bv as ContradictionScanConfig, am as ConversationThread, bw as CronConversationRecallMode, bx as CronRecallMode, aZ as DEFAULT_RECALL_DISCLOSURE, a2 as DaySummaryResult, by as DreamingConfig, bz as DreamingNarrativePromptStyle, bA as DreamsDeepSleepConfig, bB as DreamsLightSleepConfig, aQ as DreamsPhase, bC as DreamsPhaseStatus, bD as DreamsPhasesConfig, bE as DreamsRemConfig, aR as DreamsRunResult, aP as DreamsStatusResult, bF as EngramTraceEvent, au as EntityActivityEntry, E as EntityFile, Y as EntityMention, at as EntityRelationship, Z as EntitySchemaDefinition, _ as EntitySchemaSectionDefinition, $ as EntityStructuredSection, aL as EntityTimelineEntry, a_ as ExtractedFact, bG as ExtractedProcedureStep, bH as ExtractedQuestion, bI as ExtractedReasoningTrace, bJ as ExtractedReasoningTraceStep, bK as ExtractedRelationship, bL as ExtractionPassSource, a0 as ExtractionResult, F as FaithfulnessFrontmatter, as as FileHygieneConfig, G as GatewayConfig, bM as GitHubLiveConnectorConfig, bN as GmailLiveConnectorConfig, bO as GoogleDriveLiveConnectorConfig, bP as HeartbeatConfig, bQ as HeartbeatDetectionMode, H as HourlySummary, I as IdentityInjectionMode, y as ImportanceLevel, a9 as ImportanceScore, w as LifecycleState, L as LiveConnectorsConfig, bR as LlmTraceCallback, bS as LlmTraceEvent, ac as MemoryActionEligibilityContext, a$ as MemoryActionEligibilitySource, W as MemoryActionEvent, bT as MemoryActionOutcome, bU as MemoryActionPolicyDecision, ad as MemoryActionPolicyResult, bV as MemoryActionStatus, U as MemoryActionType, M as MemoryCategory, g as MemoryFile, k as MemoryFrontmatter, aa as MemoryIntent, m as MemoryLifecycleEvent, ae as MemoryLifecycleEventType, af as MemoryLifecycleStateSummary, ap as MemoryLink, bW as MemoryLinkType, b0 as MemoryObservation, bX as MemoryOsPresetName, l as MemoryProjectionCurrentState, b1 as MemoryScope, f as MemoryStatus, aw as MemorySummary, ar as MetaState, bY as ModelApi, bZ as ModelDefinitionConfig, b_ as ModelProviderAuthMode, ag as ModelProviderConfig, b$ as NamespacePolicy, ah as NativeKnowledgeConfig, c0 as NativeKnowledgeFolderRuleConfig, c1 as NativeKnowledgeObsidianVaultConfig, c2 as NativeKnowledgeOpenClawWorkspaceConfig, c3 as NotionLiveConnectorConfig, P as PluginConfig, x as PolicyClass, c4 as PrincipalFromSessionKeyMode, c5 as PrincipalRule, c6 as ProceduralConfig, aj as ProvenanceConfig, ai as ProvenanceSource, ab as QmdSearchExplain, Q as QmdSearchResult, c7 as QuestionEntry, b2 as RECALL_DISCLOSURE_LEVELS, c8 as ReasoningEffort, i as RecallDisclosure, c9 as RecallPipelineConfig, h as RecallPlanMode, ca as RecallSectionConfig, R as RecallTierExplain, cb as RecallTraceEvent, cc as RelevanceFeedback, ak as RetrievalTier, cd as SPECULATIVE_TTL_DAYS, ce as ScopeProfileAutoPromoteConfig, aO as ScopeProfileConfig, aM as ScopeProfileLayerId, aN as ScopeProfilePromotionTarget, cf as ScopeProfileTeamProjectConfig, cg as ScopeTeamConfig, ch as ScoredEntity, D as SecretRef, ci as SemanticChunkingConfigShape, S as SessionObserverBandConfig, cj as SignalLevel, al as SignalScanResult, ck as SlotBehaviorConfig, cl as SlotMismatchMode, an as TopicScore, T as TranscriptEntry, cm as TriggerMode, ao as TrustWeights, V as VerificationState, cn as confidenceTier, b8 as isRecallDisclosure } from './types-DmTaqob2.js';
package/dist/types.js CHANGED
@@ -4,7 +4,7 @@ import {
4
4
  SPECULATIVE_TTL_DAYS,
5
5
  confidenceTier,
6
6
  isRecallDisclosure
7
- } from "./chunk-ILFSEIRT.js";
7
+ } from "./chunk-7AG54AF3.js";
8
8
  import "./chunk-PZ5AY32C.js";
9
9
  export {
10
10
  DEFAULT_RECALL_DISCLOSURE,
@@ -1,5 +1,5 @@
1
1
  import { TierRoutingPolicy } from './tier-routing.js';
2
- import './types-DwO1Ot4n.js';
2
+ import './types-DmTaqob2.js';
3
3
  import './types-gb_SNtjR.js';
4
4
  import './message-parts/index.js';
5
5
  import './lifecycle.js';
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  compareVerifiedEpisodeResults,
3
3
  searchVerifiedEpisodes
4
- } from "./chunk-EBDA5TYA.js";
4
+ } from "./chunk-FXCIOLRB.js";
5
5
  import "./chunk-7FL4CNPV.js";
6
6
  import "./chunk-ZBJMUXZH.js";
7
- import "./chunk-EVPNWN7Z.js";
7
+ import "./chunk-4R3CGCI5.js";
8
8
  import "./chunk-L2B3EE7B.js";
9
9
  import "./chunk-M7XQSUBB.js";
10
10
  import "./chunk-5UZXUTVO.js";
@@ -14,7 +14,7 @@ import "./chunk-6CIAGZ6X.js";
14
14
  import "./chunk-J6A3CX5N.js";
15
15
  import "./chunk-SVOZFLIQ.js";
16
16
  import "./chunk-LTJAMRGI.js";
17
- import "./chunk-ILFSEIRT.js";
17
+ import "./chunk-7AG54AF3.js";
18
18
  import "./chunk-AWJ2FHCF.js";
19
19
  import "./chunk-42JKGUFJ.js";
20
20
  import "./chunk-RULE4VG5.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@remnic/core",
3
- "version": "9.3.723",
3
+ "version": "9.3.725",
4
4
  "description": "Framework-agnostic Remnic memory engine — orchestrator, storage, extraction, search, trust zones",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -2966,7 +2966,7 @@
2966
2966
  "core"
2967
2967
  ],
2968
2968
  "peerDependencies": {
2969
- "@remnic/coding-graph": "^9.3.723"
2969
+ "@remnic/coding-graph": "^9.3.725"
2970
2970
  },
2971
2971
  "peerDependenciesMeta": {
2972
2972
  "@remnic/coding-graph": {
@@ -81,6 +81,7 @@ export type OperationName =
81
81
  | "suggestion_submit"
82
82
  | "entity_get"
83
83
  | "review_queue_list"
84
+ | "correction_pending"
84
85
  | "observe"
85
86
  | "lcm_search"
86
87
  | "lcm_compaction_flush"
@@ -291,7 +292,13 @@ export function normalizeOptionalPath(value: unknown): string | undefined {
291
292
  export function formatZodIssues(error: z.ZodError): string {
292
293
  const parts: string[] = [];
293
294
  for (const issue of error.issues) {
294
- const path = issue.path.length > 0 ? issue.path.join(".") : "(root)";
295
+ // Collapse array-index paths (e.g. ["currentContextScopes", 1]) to
296
+ // the field name so the message reads "field: must be ..." not
297
+ // "field.1: must be ...".
298
+ const hasNumeric = issue.path.some((p) => typeof p === "number");
299
+ const path = hasNumeric
300
+ ? issue.path.filter((p) => typeof p === "string").join(".") || "(root)"
301
+ : issue.path.length > 0 ? issue.path.join(".") : "(root)";
295
302
  const options = enumOptionsFromIssue(issue);
296
303
  const suffix = options ? `. Valid: ${options.join(", ")}` : "";
297
304
  parts.push(`${path}: ${issue.message}${suffix}`);
@@ -325,6 +332,33 @@ const registry = new Map<OperationName, BoundOperation>();
325
332
  * registration is a programming error, not a runtime input fault, so it throws
326
333
  * a plain Error (not the input-error class surfaces translate for clients).
327
334
  */
335
+ /**
336
+ * Error map that converts Zod's generic type-mismatch messages into
337
+ * human-readable "must be a <type>" messages (rule 51). Applied at the
338
+ * boundary chokepoint so every operation gets consistent messaging
339
+ * without per-handler boilerplate.
340
+ */
341
+ const humanReadableErrorMap: z.ZodErrorMap = (issue, ctx) => {
342
+ if (issue.code === z.ZodIssueCode.invalid_type) {
343
+ if (issue.received === "undefined") return { message: ctx.defaultError };
344
+ // Array-element type errors — collapse to field-level message.
345
+ if (issue.path.some((p) => typeof p === "number")) {
346
+ const arrField = issue.path.filter((p) => typeof p === "string").join(".");
347
+ return { message: `${arrField} must be an array of ${issue.expected}s` };
348
+ }
349
+ const fieldName = issue.path.length > 0 ? String(issue.path[issue.path.length - 1]) : "value";
350
+ switch (issue.expected) {
351
+ case "string": return { message: `${fieldName} must be a string` };
352
+ case "boolean": return { message: `${fieldName} must be a boolean` };
353
+ case "number": return { message: `${fieldName} must be a number` };
354
+ case "array": return { message: `${fieldName} must be an array` };
355
+ case "object": return { message: `${fieldName} must be an object` };
356
+ default: return { message: ctx.defaultError };
357
+ }
358
+ }
359
+ return { message: ctx.defaultError };
360
+ };
361
+
328
362
  export function defineOperation<In, Out>(spec: OperationSpec<In, Out>): BoundOperation<In, Out> {
329
363
  if (registry.has(spec.name)) {
330
364
  throw new Error(`access-boundary: operation already registered: ${spec.name}`);
@@ -332,7 +366,7 @@ export function defineOperation<In, Out>(spec: OperationSpec<In, Out>): BoundOpe
332
366
  const bound: BoundOperation<In, Out> = {
333
367
  spec,
334
368
  run: async (rawInput, ctx) => {
335
- const parseResult = spec.schema.safeParse(rawInput);
369
+ const parseResult = spec.schema.safeParse(rawInput, { errorMap: humanReadableErrorMap });
336
370
  if (!parseResult.success) {
337
371
  throw new EngramAccessInputError(formatZodIssues(parseResult.error));
338
372
  }
@@ -1496,14 +1496,23 @@ export class EngramAccessHttpServer {
1496
1496
  }
1497
1497
 
1498
1498
  if (req.method === "GET" && pathname === "/engram/v1/correction/pending") {
1499
- const namespace = parsed.searchParams.get("namespace") ?? undefined;
1500
- const sessionKey = parsed.searchParams.get("sessionKey") ?? undefined;
1501
- const plans = await this.service.correctionListPending({
1502
- ...(namespace ? { namespace } : {}),
1503
- ...(sessionKey ? { sessionKey } : {}),
1504
- principal: this.resolveRequestPrincipal(req),
1505
- });
1506
- this.respondJson(res, 200, plans);
1499
+ const op = getOperation("correction_pending");
1500
+ if (op) {
1501
+ const output = (await op.run(
1502
+ { namespace: parsed.searchParams.get("namespace") ?? undefined, sessionKey: parsed.searchParams.get("sessionKey") ?? undefined },
1503
+ { service: this.service, authenticatedPrincipal: this.resolveRequestPrincipal(req) },
1504
+ )) as { result: unknown };
1505
+ this.respondJson(res, 200, output.result);
1506
+ } else {
1507
+ const namespace = parsed.searchParams.get("namespace") ?? undefined;
1508
+ const sessionKey = parsed.searchParams.get("sessionKey") ?? undefined;
1509
+ const plans = await this.service.correctionListPending({
1510
+ ...(namespace ? { namespace } : {}),
1511
+ ...(sessionKey ? { sessionKey } : {}),
1512
+ principal: this.resolveRequestPrincipal(req),
1513
+ });
1514
+ this.respondJson(res, 200, plans);
1515
+ }
1507
1516
  return;
1508
1517
  }
1509
1518