@remnic/core 9.42.0 → 9.44.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 (216) hide show
  1. package/dist/access-admin-ops-surface.d.ts +2 -2
  2. package/dist/access-admin-ops-surface.js +40 -40
  3. package/dist/access-authorization-probe.d.ts +2 -2
  4. package/dist/access-authorization-probe.js +41 -41
  5. package/dist/access-boundary.d.ts +2 -2
  6. package/dist/access-boundary.js +40 -40
  7. package/dist/access-cli.js +101 -99
  8. package/dist/access-cli.js.map +1 -1
  9. package/dist/access-extraction-force-flush.d.ts +2 -2
  10. package/dist/access-extraction-force-flush.js +40 -40
  11. package/dist/access-http-lcm-compaction.d.ts +2 -2
  12. package/dist/access-http-lifecycle-flush.d.ts +2 -2
  13. package/dist/access-http-query.d.ts +8 -0
  14. package/dist/access-http-query.js +179 -0
  15. package/dist/access-http.d.ts +2 -2
  16. package/dist/access-http.js +48 -47
  17. package/dist/access-identity-continuity-surface.d.ts +1 -1
  18. package/dist/access-identity-continuity-surface.js +40 -40
  19. package/dist/access-lcm-surface.d.ts +2 -2
  20. package/dist/access-lcm-surface.js +40 -40
  21. package/dist/access-mcp.d.ts +2 -2
  22. package/dist/access-mcp.js +44 -44
  23. package/dist/access-namespace-preflight.js +40 -40
  24. package/dist/access-observe-write-surface.d.ts +2 -2
  25. package/dist/access-observe-write-surface.js +40 -40
  26. package/dist/access-operations-batch.js +42 -42
  27. package/dist/access-operations.d.ts +2 -2
  28. package/dist/access-operations.js +43 -43
  29. package/dist/access-recall-concurrency.d.ts +2 -2
  30. package/dist/access-recall-concurrency.js +40 -40
  31. package/dist/access-recall-response.d.ts +2 -2
  32. package/dist/access-recall-response.js +40 -40
  33. package/dist/access-recall-surface.d.ts +2 -2
  34. package/dist/access-recall-surface.js +40 -40
  35. package/dist/{access-service-D1BkxwSf.d.ts → access-service-BCZJbX0f.d.ts} +12 -2
  36. package/dist/access-service-helpers.d.ts +2 -2
  37. package/dist/access-service.d.ts +2 -2
  38. package/dist/access-service.js +40 -40
  39. package/dist/access-surface-catalog.d.ts +2 -2
  40. package/dist/access-surface-catalog.js +5 -0
  41. package/dist/access-surface-catalog.js.map +1 -1
  42. package/dist/{auto-sync-UPTUVE4X.js → auto-sync-5OE5QOZB.js} +3 -3
  43. package/dist/bootstrap.d.ts +1 -1
  44. package/dist/briefing.js +8 -8
  45. package/dist/buffer.js +6 -6
  46. package/dist/causal-behavior.js +2 -2
  47. package/dist/causal-chain.js +2 -2
  48. package/dist/causal-consolidation.js +12 -12
  49. package/dist/causal-retrieval.js +2 -2
  50. package/dist/causal-trajectory-graph.js +2 -2
  51. package/dist/causal-trajectory.js +1 -1
  52. package/dist/{chunk-LEPOP46W.js → chunk-227UFSEQ.js} +4 -4
  53. package/dist/{chunk-BEQOZOYZ.js → chunk-2FTRRQKZ.js} +5 -5
  54. package/dist/{chunk-CMENJQ6I.js → chunk-2QR2RRH6.js} +2 -2
  55. package/dist/{chunk-3C2TGBDB.js → chunk-35IC3EVP.js} +2 -2
  56. package/dist/{chunk-L2DPF4DF.js → chunk-3SHB4YAW.js} +4 -4
  57. package/dist/{chunk-UV72DEZD.js → chunk-4B77XSG5.js} +5 -5
  58. package/dist/{chunk-GUQYMOPU.js → chunk-4LMA77JH.js} +5 -5
  59. package/dist/{chunk-AX2J2LC4.js → chunk-5ZE7QHTK.js} +2 -2
  60. package/dist/{chunk-YFHMW37V.js → chunk-6CZPDBJS.js} +5 -5
  61. package/dist/chunk-6ZYQ36IB.js +30 -0
  62. package/dist/chunk-6ZYQ36IB.js.map +1 -0
  63. package/dist/{chunk-QY66HJ4X.js → chunk-7PLHD7EO.js} +5 -5
  64. package/dist/{chunk-NRV4Y3PM.js → chunk-CAGPP5NB.js} +1 -1
  65. package/dist/{chunk-5TOV3D6U.js → chunk-CH2WTP6R.js} +6 -6
  66. package/dist/{chunk-AXUU7SG3.js → chunk-E6JYVPBK.js} +2 -2
  67. package/dist/{chunk-NF3U3MPG.js → chunk-ECK75GDJ.js} +2 -2
  68. package/dist/{chunk-NHRNYJPJ.js → chunk-EMC5GT4H.js} +7 -7
  69. package/dist/{chunk-Q4XL7LJW.js → chunk-EUVPB5TA.js} +55 -37
  70. package/dist/chunk-EUVPB5TA.js.map +1 -0
  71. package/dist/{chunk-PWKZV4A3.js → chunk-G24HJJ67.js} +4 -4
  72. package/dist/{chunk-OEXKYYVH.js → chunk-HGFILS2Q.js} +6 -6
  73. package/dist/{chunk-IOQFPVGY.js → chunk-HLPD7B7P.js} +2 -2
  74. package/dist/{chunk-CWPDM66T.js → chunk-HXTUA7QM.js} +28 -28
  75. package/dist/chunk-HXTUA7QM.js.map +1 -0
  76. package/dist/{chunk-WGCTFGLW.js → chunk-I22U5YYD.js} +3 -3
  77. package/dist/{chunk-MSXWUXFE.js → chunk-IADUAH35.js} +2 -2
  78. package/dist/{chunk-FHEJ22B7.js → chunk-IXFI6E3Q.js} +3 -3
  79. package/dist/{chunk-6I2C3EOH.js → chunk-J43XN7N3.js} +90 -88
  80. package/dist/chunk-J43XN7N3.js.map +1 -0
  81. package/dist/{chunk-F2KMAFEB.js → chunk-JDDTNK5P.js} +2 -2
  82. package/dist/{chunk-UGCUVLOL.js → chunk-MUKLQDJP.js} +50 -50
  83. package/dist/{chunk-5N26WBPQ.js → chunk-MYFFOPO2.js} +5 -5
  84. package/dist/{chunk-Q53RLEW7.js → chunk-N7LPS4Z3.js} +2 -2
  85. package/dist/{chunk-UZQCNOPS.js → chunk-NVRYW264.js} +12 -12
  86. package/dist/{chunk-MVW234LO.js → chunk-O4BADU6R.js} +2 -2
  87. package/dist/{chunk-ZERSIPFC.js → chunk-OHLNFI6Z.js} +17 -17
  88. package/dist/{chunk-KXGN6G2Y.js → chunk-OPVOUBHT.js} +2 -2
  89. package/dist/{chunk-JDXDA5OO.js → chunk-OZL7KB6B.js} +2 -2
  90. package/dist/{chunk-XRWVXPEM.js → chunk-PJUHQC4T.js} +2 -2
  91. package/dist/{chunk-CQ5MR2HQ.js → chunk-PLQCPMJA.js} +14 -14
  92. package/dist/{chunk-MU7ZHSZE.js → chunk-PO5LSKQO.js} +2 -2
  93. package/dist/{chunk-LRGSLV7M.js → chunk-PYHOAXTI.js} +4 -4
  94. package/dist/{chunk-ONHRRJZM.js → chunk-QJAQNXWI.js} +6 -6
  95. package/dist/{chunk-UQVGDEAJ.js → chunk-TRBIJS2T.js} +2 -2
  96. package/dist/{chunk-6GIMMNVK.js → chunk-U5SX74DV.js} +4 -4
  97. package/dist/{chunk-KPJQTSRJ.js → chunk-UUQLB2HJ.js} +2 -2
  98. package/dist/{chunk-JYIFGGEM.js → chunk-UZGJFIIG.js} +2 -2
  99. package/dist/{chunk-HNZKVLAN.js → chunk-W6ROK2KU.js} +2 -2
  100. package/dist/{chunk-7VIB7PAE.js → chunk-WMHO3WLC.js} +2 -2
  101. package/dist/{chunk-OYFDEJZB.js → chunk-WUDWRUGK.js} +2 -2
  102. package/dist/{chunk-4VXGRIH6.js → chunk-WUNIWKY4.js} +5 -5
  103. package/dist/{chunk-BI6RE2ZS.js → chunk-WX6KOVVK.js} +2 -2
  104. package/dist/chunk-YUOKZ3LJ.js +24 -0
  105. package/dist/chunk-YUOKZ3LJ.js.map +1 -0
  106. package/dist/{cli-IUhV-lmk.d.ts → cli-U30A3jyx.d.ts} +2 -2
  107. package/dist/cli.d.ts +3 -3
  108. package/dist/cli.js +70 -69
  109. package/dist/compounding/engine.js +8 -8
  110. package/dist/connectors/codex-materialize-runner.js +8 -8
  111. package/dist/connectors/index.js +8 -8
  112. package/dist/convergence-refresh.d.ts +24 -0
  113. package/dist/convergence-refresh.js +74 -0
  114. package/dist/convergence-refresh.js.map +1 -0
  115. package/dist/conversation-index/backend.js +2 -2
  116. package/dist/corpus-watermark.js +20 -20
  117. package/dist/entity-retrieval.js +8 -8
  118. package/dist/explicit-capture.d.ts +1 -1
  119. package/dist/explicit-capture.js +3 -3
  120. package/dist/extraction.js +14 -14
  121. package/dist/{graph-edge-decay-Z6ENALU2.js → graph-edge-decay-GF3ZSGSP.js} +4 -4
  122. package/dist/graph-edge-decay-GF3ZSGSP.js.map +1 -0
  123. package/dist/graph-snapshot.js +3 -3
  124. package/dist/graph.js +2 -2
  125. package/dist/index.d.ts +4 -4
  126. package/dist/index.js +161 -159
  127. package/dist/lcm/index.js +3 -3
  128. package/dist/maintenance/memory-governance.js +9 -9
  129. package/dist/maintenance/rebuild-memory-lifecycle-ledger.js +8 -8
  130. package/dist/maintenance/rebuild-memory-projection.js +10 -10
  131. package/dist/mcp-memory-inspector-app.d.ts +2 -2
  132. package/dist/namespaces/migrate.js +19 -19
  133. package/dist/namespaces/search.js +10 -10
  134. package/dist/namespaces/storage.js +8 -8
  135. package/dist/offline-sync-impression-drain.js +4 -4
  136. package/dist/operator-doctor-corpus.js +21 -21
  137. package/dist/operator-toolkit.js +30 -30
  138. package/dist/orchestration/maintenance.js +15 -15
  139. package/dist/{orchestrator-fYTncnLy.d.ts → orchestrator-DUxbhhqO.d.ts} +1 -1
  140. package/dist/orchestrator.d.ts +1 -1
  141. package/dist/orchestrator.js +102 -100
  142. package/dist/qmd.js +4 -4
  143. package/dist/reconcile/cursor.d.ts +21 -0
  144. package/dist/reconcile/cursor.js +104 -0
  145. package/dist/reconcile/cursor.js.map +1 -0
  146. package/dist/resume-bundles.js +1 -1
  147. package/dist/search/factory.js +9 -9
  148. package/dist/search/index.js +17 -17
  149. package/dist/semantic-consolidation.js +10 -10
  150. package/dist/semantic-rule-promotion.js +8 -8
  151. package/dist/semantic-rule-verifier.js +9 -9
  152. package/dist/source-agent-qualifier.js +13 -13
  153. package/dist/storage.js +7 -7
  154. package/dist/transfer/import-sqlite.js +2 -2
  155. package/dist/verified-recall.js +9 -9
  156. package/package.json +12 -2
  157. package/src/access-http-query.ts +25 -0
  158. package/src/access-http.test.ts +136 -0
  159. package/src/access-http.ts +26 -26
  160. package/src/access-service-offline-file-content.test.ts +40 -0
  161. package/src/access-service.ts +34 -0
  162. package/src/access-surface-catalog.ts +5 -0
  163. package/src/convergence-refresh.ts +28 -0
  164. package/src/orchestrator-convergence-refresh.test.ts +114 -0
  165. package/src/orchestrator.ts +5 -4
  166. package/src/reconcile/cursor.test.ts +123 -0
  167. package/src/reconcile/cursor.ts +130 -0
  168. package/dist/chunk-6I2C3EOH.js.map +0 -1
  169. package/dist/chunk-CWPDM66T.js.map +0 -1
  170. package/dist/chunk-Q4XL7LJW.js.map +0 -1
  171. /package/dist/{graph-edge-decay-Z6ENALU2.js.map → access-http-query.js.map} +0 -0
  172. /package/dist/{auto-sync-UPTUVE4X.js.map → auto-sync-5OE5QOZB.js.map} +0 -0
  173. /package/dist/{chunk-LEPOP46W.js.map → chunk-227UFSEQ.js.map} +0 -0
  174. /package/dist/{chunk-BEQOZOYZ.js.map → chunk-2FTRRQKZ.js.map} +0 -0
  175. /package/dist/{chunk-CMENJQ6I.js.map → chunk-2QR2RRH6.js.map} +0 -0
  176. /package/dist/{chunk-3C2TGBDB.js.map → chunk-35IC3EVP.js.map} +0 -0
  177. /package/dist/{chunk-L2DPF4DF.js.map → chunk-3SHB4YAW.js.map} +0 -0
  178. /package/dist/{chunk-UV72DEZD.js.map → chunk-4B77XSG5.js.map} +0 -0
  179. /package/dist/{chunk-GUQYMOPU.js.map → chunk-4LMA77JH.js.map} +0 -0
  180. /package/dist/{chunk-AX2J2LC4.js.map → chunk-5ZE7QHTK.js.map} +0 -0
  181. /package/dist/{chunk-YFHMW37V.js.map → chunk-6CZPDBJS.js.map} +0 -0
  182. /package/dist/{chunk-QY66HJ4X.js.map → chunk-7PLHD7EO.js.map} +0 -0
  183. /package/dist/{chunk-NRV4Y3PM.js.map → chunk-CAGPP5NB.js.map} +0 -0
  184. /package/dist/{chunk-5TOV3D6U.js.map → chunk-CH2WTP6R.js.map} +0 -0
  185. /package/dist/{chunk-AXUU7SG3.js.map → chunk-E6JYVPBK.js.map} +0 -0
  186. /package/dist/{chunk-NF3U3MPG.js.map → chunk-ECK75GDJ.js.map} +0 -0
  187. /package/dist/{chunk-NHRNYJPJ.js.map → chunk-EMC5GT4H.js.map} +0 -0
  188. /package/dist/{chunk-PWKZV4A3.js.map → chunk-G24HJJ67.js.map} +0 -0
  189. /package/dist/{chunk-OEXKYYVH.js.map → chunk-HGFILS2Q.js.map} +0 -0
  190. /package/dist/{chunk-IOQFPVGY.js.map → chunk-HLPD7B7P.js.map} +0 -0
  191. /package/dist/{chunk-WGCTFGLW.js.map → chunk-I22U5YYD.js.map} +0 -0
  192. /package/dist/{chunk-MSXWUXFE.js.map → chunk-IADUAH35.js.map} +0 -0
  193. /package/dist/{chunk-FHEJ22B7.js.map → chunk-IXFI6E3Q.js.map} +0 -0
  194. /package/dist/{chunk-F2KMAFEB.js.map → chunk-JDDTNK5P.js.map} +0 -0
  195. /package/dist/{chunk-UGCUVLOL.js.map → chunk-MUKLQDJP.js.map} +0 -0
  196. /package/dist/{chunk-5N26WBPQ.js.map → chunk-MYFFOPO2.js.map} +0 -0
  197. /package/dist/{chunk-Q53RLEW7.js.map → chunk-N7LPS4Z3.js.map} +0 -0
  198. /package/dist/{chunk-UZQCNOPS.js.map → chunk-NVRYW264.js.map} +0 -0
  199. /package/dist/{chunk-MVW234LO.js.map → chunk-O4BADU6R.js.map} +0 -0
  200. /package/dist/{chunk-ZERSIPFC.js.map → chunk-OHLNFI6Z.js.map} +0 -0
  201. /package/dist/{chunk-KXGN6G2Y.js.map → chunk-OPVOUBHT.js.map} +0 -0
  202. /package/dist/{chunk-JDXDA5OO.js.map → chunk-OZL7KB6B.js.map} +0 -0
  203. /package/dist/{chunk-XRWVXPEM.js.map → chunk-PJUHQC4T.js.map} +0 -0
  204. /package/dist/{chunk-CQ5MR2HQ.js.map → chunk-PLQCPMJA.js.map} +0 -0
  205. /package/dist/{chunk-MU7ZHSZE.js.map → chunk-PO5LSKQO.js.map} +0 -0
  206. /package/dist/{chunk-LRGSLV7M.js.map → chunk-PYHOAXTI.js.map} +0 -0
  207. /package/dist/{chunk-ONHRRJZM.js.map → chunk-QJAQNXWI.js.map} +0 -0
  208. /package/dist/{chunk-UQVGDEAJ.js.map → chunk-TRBIJS2T.js.map} +0 -0
  209. /package/dist/{chunk-6GIMMNVK.js.map → chunk-U5SX74DV.js.map} +0 -0
  210. /package/dist/{chunk-KPJQTSRJ.js.map → chunk-UUQLB2HJ.js.map} +0 -0
  211. /package/dist/{chunk-JYIFGGEM.js.map → chunk-UZGJFIIG.js.map} +0 -0
  212. /package/dist/{chunk-HNZKVLAN.js.map → chunk-W6ROK2KU.js.map} +0 -0
  213. /package/dist/{chunk-7VIB7PAE.js.map → chunk-WMHO3WLC.js.map} +0 -0
  214. /package/dist/{chunk-OYFDEJZB.js.map → chunk-WUDWRUGK.js.map} +0 -0
  215. /package/dist/{chunk-4VXGRIH6.js.map → chunk-WUNIWKY4.js.map} +0 -0
  216. /package/dist/{chunk-BI6RE2ZS.js.map → chunk-WX6KOVVK.js.map} +0 -0
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  runGraphEdgeDecayMaintenanceAcrossNamespaces
3
- } from "./chunk-HNZKVLAN.js";
3
+ } from "./chunk-W6ROK2KU.js";
4
4
  import {
5
5
  normalizeDreamsStatusWindowHours
6
6
  } from "./chunk-EQWEIIKQ.js";
@@ -28,13 +28,13 @@ import {
28
28
  defineOperation,
29
29
  parseNamespacePreflightWriteOp,
30
30
  resolveAuthorizedNamespaceWritablePreflight
31
- } from "./chunk-Q4XL7LJW.js";
31
+ } from "./chunk-EUVPB5TA.js";
32
32
  import {
33
33
  projectTagProjectId
34
34
  } from "./chunk-BUE5E2HL.js";
35
35
  import {
36
36
  validateBriefingFormat
37
- } from "./chunk-3C2TGBDB.js";
37
+ } from "./chunk-35IC3EVP.js";
38
38
  import {
39
39
  enforceNamespaceAllowList,
40
40
  tokenCapabilityStore
@@ -494,4 +494,4 @@ defineOperation({ name: "graph_events", description: "SSE graph events.", schema
494
494
  defineOperation({ name: "chat_message", description: "Chat message.", schema: strictSchema({ message: S.str, chatSessionId: S.str }), handler: async (_i, _ctx) => ({ result: { ok: true } }) });
495
495
  defineOperation({ name: "chat_events", description: "SSE chat events.", schema: strictSchema({}), handler: async (_i, _ctx) => ({ result: { stream: "sse" } }) });
496
496
  defineOperation({ name: "adapters_status", description: "Adapter registry metadata (issue #1850 round 5). Marker op: the HTTP transport builds the response from its own adapterRegistry, but the op still must be registered so it appears in listRegisteredOperations and enforceTokenOp can gate it for scoped tokens.", schema: strictSchema({}), handler: async (_i, _ctx) => ({ result: { ok: true } }) });
497
- //# sourceMappingURL=chunk-PWKZV4A3.js.map
497
+ //# sourceMappingURL=chunk-G24HJJ67.js.map
@@ -1,17 +1,17 @@
1
1
  import {
2
2
  BoxBuilder
3
3
  } from "./chunk-B7RWBZXW.js";
4
+ import {
5
+ countRecallTokenOverlap,
6
+ normalizeRecallTokens
7
+ } from "./chunk-ZBJMUXZH.js";
4
8
  import {
5
9
  StorageManager
6
- } from "./chunk-ZERSIPFC.js";
10
+ } from "./chunk-OHLNFI6Z.js";
7
11
  import {
8
12
  getCachedEpisodeMap,
9
13
  setCachedEpisodeMap
10
14
  } from "./chunk-XMMESCPD.js";
11
- import {
12
- countRecallTokenOverlap,
13
- normalizeRecallTokens
14
- } from "./chunk-ZBJMUXZH.js";
15
15
 
16
16
  // src/verified-recall.ts
17
17
  function createReadOnlyBoxBuilder(memoryDir) {
@@ -109,4 +109,4 @@ export {
109
109
  compareVerifiedEpisodeResults,
110
110
  searchVerifiedEpisodes
111
111
  };
112
- //# sourceMappingURL=chunk-OEXKYYVH.js.map
112
+ //# sourceMappingURL=chunk-HGFILS2Q.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  createSearchBackend
3
- } from "./chunk-UZQCNOPS.js";
3
+ } from "./chunk-NVRYW264.js";
4
4
  import {
5
5
  namespaceIdentityToken,
6
6
  normalizeNamespaceIdentity
@@ -470,4 +470,4 @@ export {
470
470
  NamespaceSearchRouter,
471
471
  normalizeQmdResultPath
472
472
  };
473
- //# sourceMappingURL=chunk-IOQFPVGY.js.map
473
+ //# sourceMappingURL=chunk-HLPD7B7P.js.map
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  WearablesInputError
3
3
  } from "./chunk-V7IZKJI3.js";
4
- import {
5
- AdapterRegistry
6
- } from "./chunk-RKNJBZ55.js";
7
4
  import {
8
5
  WriteRateLimiter
9
6
  } from "./chunk-MKQBXQKU.js";
7
+ import {
8
+ AdapterRegistry
9
+ } from "./chunk-RKNJBZ55.js";
10
10
  import {
11
11
  EngramMcpServer,
12
12
  MCP_SUPPORTED_PROTOCOL_VERSIONS,
@@ -16,10 +16,10 @@ import {
16
16
  processChatMessage,
17
17
  sessionBelongsToPrincipal,
18
18
  subscribeChatTranscript
19
- } from "./chunk-XRWVXPEM.js";
19
+ } from "./chunk-PJUHQC4T.js";
20
20
  import {
21
21
  RelayMissionStoreError
22
- } from "./chunk-UQVGDEAJ.js";
22
+ } from "./chunk-TRBIJS2T.js";
23
23
  import {
24
24
  executeResolution,
25
25
  isValidResolutionVerb
@@ -38,15 +38,20 @@ import {
38
38
  import {
39
39
  respondLcmCompactionCapabilitiesHttp
40
40
  } from "./chunk-VCD4PSK2.js";
41
+ import {
42
+ nonEmptyQueryParam,
43
+ optionalQueryString,
44
+ positiveIntQueryParam
45
+ } from "./chunk-6ZYQ36IB.js";
41
46
  import {
42
47
  authorizationProbeNamespaces,
43
48
  probeOperationAuthorization
44
- } from "./chunk-AXUU7SG3.js";
49
+ } from "./chunk-E6JYVPBK.js";
45
50
  import {
46
51
  CorrectionContractError,
47
52
  getOperation,
48
53
  resolveQueryNamespaceWritablePreflight
49
- } from "./chunk-Q4XL7LJW.js";
54
+ } from "./chunk-EUVPB5TA.js";
50
55
  import {
51
56
  isTrustZoneName
52
57
  } from "./chunk-JGSKJHF7.js";
@@ -1182,6 +1187,21 @@ var EngramAccessHttpServer = class {
1182
1187
  this.respondJson(res, 200, result);
1183
1188
  return;
1184
1189
  }
1190
+ if (req.method === "POST" && (pathname === "/engram/v1/offline-sync/convergence-complete" || pathname === "/remnic/v1/offline-sync/convergence-complete")) {
1191
+ this.enforceTokenOp("offline_sync_apply_file_content");
1192
+ const namespaceParams = parsed.searchParams.getAll("namespace").filter(Boolean);
1193
+ const requestedNamespaces = namespaceParams.length > 0 ? namespaceParams : [void 0];
1194
+ const namespaces = requestedNamespaces.map((namespace) => this.resolveNamespace(req, namespace)).filter((namespace) => namespace !== void 0);
1195
+ this.ensureWriteRateLimitAvailable(req);
1196
+ const result = await this.service.offlineSyncFinalizeConvergence({
1197
+ ...namespaces.length > 0 ? { namespaces } : {},
1198
+ principal: this.resolveRequestPrincipal(req),
1199
+ sourceId: this.readRequiredDecodedHeader(req, "x-remnic-source-id")
1200
+ });
1201
+ this.recordWriteRateLimitHit(req);
1202
+ this.respondJson(res, 200, result);
1203
+ return;
1204
+ }
1185
1205
  if (req.method === "POST" && (pathname === "/engram/v1/offline-sync/apply" || pathname === "/remnic/v1/offline-sync/apply")) {
1186
1206
  this.enforceTokenOp("offline_sync_apply");
1187
1207
  const body = await this.readValidatedBody(req, "offlineSyncApply", OFFLINE_SYNC_APPLY_MAX_BODY_BYTES);
@@ -3201,29 +3221,9 @@ var EngramAccessHttpServer = class {
3201
3221
  return false;
3202
3222
  }
3203
3223
  };
3204
- function optionalQueryString(value, label) {
3205
- if (value === void 0 || value === null || value === "") return void 0;
3206
- if (typeof value !== "string") {
3207
- throw new EngramAccessInputError(
3208
- `${label} must be a string (got ${JSON.stringify(value)})`
3209
- );
3210
- }
3211
- return value;
3212
- }
3213
- function nonEmptyQueryParam(value) {
3214
- return value !== null && value.length > 0 ? value : void 0;
3215
- }
3216
- function positiveIntQueryParam(value, label) {
3217
- if (value === null || value.length === 0) return void 0;
3218
- const parsed = Number(value);
3219
- if (!Number.isFinite(parsed) || parsed <= 0 || !Number.isInteger(parsed)) {
3220
- throw new EngramAccessInputError(`${label} expects a positive integer`);
3221
- }
3222
- return parsed;
3223
- }
3224
3224
 
3225
3225
  export {
3226
3226
  MeetingsInputError,
3227
3227
  EngramAccessHttpServer
3228
3228
  };
3229
- //# sourceMappingURL=chunk-CWPDM66T.js.map
3229
+ //# sourceMappingURL=chunk-HXTUA7QM.js.map