@remnic/core 9.33.0 → 9.35.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 (113) hide show
  1. package/dist/access-admin-ops-surface.js +16 -16
  2. package/dist/access-authorization-probe.js +17 -17
  3. package/dist/access-boundary.js +16 -16
  4. package/dist/access-cli.js +39 -38
  5. package/dist/access-cli.js.map +1 -1
  6. package/dist/access-extraction-force-flush.js +16 -16
  7. package/dist/access-http.js +25 -25
  8. package/dist/access-identity-continuity-surface.js +16 -16
  9. package/dist/access-lcm-surface.js +16 -16
  10. package/dist/access-mcp.js +20 -20
  11. package/dist/access-namespace-preflight.js +16 -16
  12. package/dist/access-observe-write-surface.js +16 -16
  13. package/dist/access-operations-batch.js +17 -17
  14. package/dist/access-operations.js +19 -19
  15. package/dist/access-recall-concurrency.js +16 -16
  16. package/dist/access-recall-response.js +16 -16
  17. package/dist/access-recall-surface.js +16 -16
  18. package/dist/access-schema.js +3 -3
  19. package/dist/access-service.js +16 -16
  20. package/dist/adapters/index.js +4 -4
  21. package/dist/adapters/registry.js +2 -2
  22. package/dist/{capsule-crypto-YO5QJ6L3.js → capsule-crypto-7FJQINUR.js} +2 -2
  23. package/dist/{chunk-BXLOS5AJ.js → chunk-2NLLXCJG.js} +2 -2
  24. package/dist/{chunk-SPPL77NI.js → chunk-2NUC473W.js} +49 -29
  25. package/dist/chunk-2NUC473W.js.map +1 -0
  26. package/dist/{chunk-N2B56SIS.js → chunk-2SHIWGY7.js} +2 -2
  27. package/dist/{chunk-I5DQ6KZK.js → chunk-3F2LKUMU.js} +2 -2
  28. package/dist/{chunk-ATUURSST.js → chunk-5FHE4JI7.js} +3 -3
  29. package/dist/{chunk-YFQMW2TH.js → chunk-5HTAJCTO.js} +11 -11
  30. package/dist/{chunk-6NPZ3FP2.js → chunk-65ZPVYTA.js} +2 -2
  31. package/dist/{chunk-MPH263X2.js → chunk-AHZYNPLX.js} +2 -2
  32. package/dist/{chunk-77CNV7DY.js → chunk-BLAKS3CP.js} +4 -4
  33. package/dist/{chunk-J6BYDVPL.js → chunk-EH5U2YCX.js} +2 -2
  34. package/dist/{chunk-PTN6UAUA.js → chunk-ES36HTSC.js} +4 -4
  35. package/dist/{chunk-SIKCTPRK.js → chunk-GHR7WHZX.js} +3 -3
  36. package/dist/{chunk-TITQYVKD.js → chunk-HEVWWPTL.js} +16 -16
  37. package/dist/{chunk-V2MVDDJF.js → chunk-IOQFPVGY.js} +2 -2
  38. package/dist/{chunk-VDX2J7OX.js → chunk-KQAFEZQX.js} +2 -2
  39. package/dist/chunk-KWMXR7XS.js +138 -0
  40. package/dist/chunk-KWMXR7XS.js.map +1 -0
  41. package/dist/{chunk-7RZJWZ46.js → chunk-LEPOP46W.js} +5 -5
  42. package/dist/{chunk-PYHOAXTI.js → chunk-LRGSLV7M.js} +4 -4
  43. package/dist/{chunk-2QSZNTDO.js → chunk-RKNJBZ55.js} +4 -4
  44. package/dist/{chunk-RYHWZ52A.js → chunk-S2BBISHU.js} +4 -4
  45. package/dist/{chunk-YJ7PWEWI.js → chunk-SA3WJJF2.js} +2 -2
  46. package/dist/{chunk-C4PEMCP4.js → chunk-SLPLPGJQ.js} +7 -7
  47. package/dist/{chunk-6JE3HGS4.js → chunk-T4HH5Q3U.js} +2 -2
  48. package/dist/{chunk-EHNENZHZ.js → chunk-TJLLYV2X.js} +3 -3
  49. package/dist/{chunk-SFW2NABJ.js → chunk-UZQCNOPS.js} +7 -7
  50. package/dist/{chunk-DQEMWVMT.js → chunk-X7Y7WX73.js} +1 -1
  51. package/dist/{chunk-6NNNURLK.js → chunk-Z54EM5YZ.js} +4 -4
  52. package/dist/cli.js +33 -33
  53. package/dist/conversation-index/backend.js +2 -2
  54. package/dist/corpus-watermark.js +11 -11
  55. package/dist/index.d.ts +1 -1
  56. package/dist/index.js +54 -53
  57. package/dist/lcm/engine.js +2 -2
  58. package/dist/lcm/index.js +2 -2
  59. package/dist/namespaces/migrate.js +10 -10
  60. package/dist/namespaces/search.js +9 -9
  61. package/dist/operator-doctor-corpus.js +12 -12
  62. package/dist/operator-toolkit.js +13 -13
  63. package/dist/orchestrator.js +39 -38
  64. package/dist/reconcile/plan.d.ts +175 -0
  65. package/dist/reconcile/plan.js +420 -0
  66. package/dist/reconcile/plan.js.map +1 -0
  67. package/dist/search/factory.js +8 -8
  68. package/dist/search/index.js +12 -12
  69. package/dist/search/lancedb-backend.js +2 -2
  70. package/dist/search/meilisearch-backend.js +2 -2
  71. package/dist/search/orama-backend.js +2 -2
  72. package/dist/tool-scoped-memory.d.ts +47 -0
  73. package/dist/tool-scoped-memory.js +12 -0
  74. package/dist/tool-scoped-memory.js.map +1 -0
  75. package/dist/transfer/backup.js +2 -2
  76. package/dist/transfer/capsule-export.js +2 -2
  77. package/dist/transfer/capsule-import.js +2 -2
  78. package/dist/transfer/import-sqlite.js +2 -2
  79. package/package.json +12 -2
  80. package/src/extraction-redaction-rules.test.ts +53 -0
  81. package/src/index.ts +1 -1
  82. package/src/orchestration/extraction-persist.ts +31 -32
  83. package/src/reconcile/plan.test.ts +1013 -0
  84. package/src/reconcile/plan.ts +813 -0
  85. package/src/tool-scoped-memory.test.ts +199 -0
  86. package/src/tool-scoped-memory.ts +190 -0
  87. package/dist/chunk-SPPL77NI.js.map +0 -1
  88. /package/dist/{capsule-crypto-YO5QJ6L3.js.map → capsule-crypto-7FJQINUR.js.map} +0 -0
  89. /package/dist/{chunk-BXLOS5AJ.js.map → chunk-2NLLXCJG.js.map} +0 -0
  90. /package/dist/{chunk-N2B56SIS.js.map → chunk-2SHIWGY7.js.map} +0 -0
  91. /package/dist/{chunk-I5DQ6KZK.js.map → chunk-3F2LKUMU.js.map} +0 -0
  92. /package/dist/{chunk-ATUURSST.js.map → chunk-5FHE4JI7.js.map} +0 -0
  93. /package/dist/{chunk-YFQMW2TH.js.map → chunk-5HTAJCTO.js.map} +0 -0
  94. /package/dist/{chunk-6NPZ3FP2.js.map → chunk-65ZPVYTA.js.map} +0 -0
  95. /package/dist/{chunk-MPH263X2.js.map → chunk-AHZYNPLX.js.map} +0 -0
  96. /package/dist/{chunk-77CNV7DY.js.map → chunk-BLAKS3CP.js.map} +0 -0
  97. /package/dist/{chunk-J6BYDVPL.js.map → chunk-EH5U2YCX.js.map} +0 -0
  98. /package/dist/{chunk-PTN6UAUA.js.map → chunk-ES36HTSC.js.map} +0 -0
  99. /package/dist/{chunk-SIKCTPRK.js.map → chunk-GHR7WHZX.js.map} +0 -0
  100. /package/dist/{chunk-TITQYVKD.js.map → chunk-HEVWWPTL.js.map} +0 -0
  101. /package/dist/{chunk-V2MVDDJF.js.map → chunk-IOQFPVGY.js.map} +0 -0
  102. /package/dist/{chunk-VDX2J7OX.js.map → chunk-KQAFEZQX.js.map} +0 -0
  103. /package/dist/{chunk-7RZJWZ46.js.map → chunk-LEPOP46W.js.map} +0 -0
  104. /package/dist/{chunk-PYHOAXTI.js.map → chunk-LRGSLV7M.js.map} +0 -0
  105. /package/dist/{chunk-2QSZNTDO.js.map → chunk-RKNJBZ55.js.map} +0 -0
  106. /package/dist/{chunk-RYHWZ52A.js.map → chunk-S2BBISHU.js.map} +0 -0
  107. /package/dist/{chunk-YJ7PWEWI.js.map → chunk-SA3WJJF2.js.map} +0 -0
  108. /package/dist/{chunk-C4PEMCP4.js.map → chunk-SLPLPGJQ.js.map} +0 -0
  109. /package/dist/{chunk-6JE3HGS4.js.map → chunk-T4HH5Q3U.js.map} +0 -0
  110. /package/dist/{chunk-EHNENZHZ.js.map → chunk-TJLLYV2X.js.map} +0 -0
  111. /package/dist/{chunk-SFW2NABJ.js.map → chunk-UZQCNOPS.js.map} +0 -0
  112. /package/dist/{chunk-DQEMWVMT.js.map → chunk-X7Y7WX73.js.map} +0 -0
  113. /package/dist/{chunk-6NNNURLK.js.map → chunk-Z54EM5YZ.js.map} +0 -0
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  namespaceCollectionName
3
- } from "./chunk-V2MVDDJF.js";
3
+ } from "./chunk-IOQFPVGY.js";
4
4
  import {
5
5
  NamespaceStorageRouter
6
6
  } from "./chunk-Y2ZD2RVG.js";
@@ -207,4 +207,4 @@ export {
207
207
  verifyNamespaces,
208
208
  runNamespaceMigration
209
209
  };
210
- //# sourceMappingURL=chunk-N2B56SIS.js.map
210
+ //# sourceMappingURL=chunk-2SHIWGY7.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  isValidCapsuleSince
3
- } from "./chunk-VDX2J7OX.js";
3
+ } from "./chunk-KQAFEZQX.js";
4
4
  import {
5
5
  CAPSULE_ID_PATTERN
6
6
  } from "./chunk-WEHSQBFR.js";
@@ -475,4 +475,4 @@ export {
475
475
  actionConfidenceRequestSchema,
476
476
  validateRequest
477
477
  };
478
- //# sourceMappingURL=chunk-I5DQ6KZK.js.map
478
+ //# sourceMappingURL=chunk-3F2LKUMU.js.map
@@ -12,7 +12,7 @@ import {
12
12
  } from "./chunk-T4WDJPEZ.js";
13
13
  import {
14
14
  validateRequest
15
- } from "./chunk-I5DQ6KZK.js";
15
+ } from "./chunk-3F2LKUMU.js";
16
16
  import {
17
17
  MCP_ADMIN_OPS_TOOLS,
18
18
  MCP_GIT_CONTEXT_SCHEMA_PROPS_IGNORED
@@ -22,7 +22,7 @@ import {
22
22
  } from "./chunk-WWUVONGW.js";
23
23
  import {
24
24
  getOperation
25
- } from "./chunk-YFQMW2TH.js";
25
+ } from "./chunk-5HTAJCTO.js";
26
26
  import {
27
27
  assertOperationAllowed,
28
28
  capabilityAllowsOp,
@@ -3754,4 +3754,4 @@ export {
3754
3754
  MCP_SUPPORTED_PROTOCOL_VERSIONS,
3755
3755
  EngramMcpServer
3756
3756
  };
3757
- //# sourceMappingURL=chunk-ATUURSST.js.map
3757
+ //# sourceMappingURL=chunk-5FHE4JI7.js.map
@@ -8,10 +8,16 @@ import {
8
8
  } from "./chunk-GDB4J2H3.js";
9
9
  import {
10
10
  importCapsule
11
- } from "./chunk-6NPZ3FP2.js";
11
+ } from "./chunk-65ZPVYTA.js";
12
12
  import {
13
13
  WriteQuarantineStore
14
14
  } from "./chunk-PJSK6OJM.js";
15
+ import {
16
+ trustResultFor
17
+ } from "./chunk-GNVZQ5JN.js";
18
+ import {
19
+ renderEpistemicHedge
20
+ } from "./chunk-YN2UN7N3.js";
15
21
  import {
16
22
  getTrustZoneStoreStatus,
17
23
  isTrustZoneName,
@@ -21,12 +27,6 @@ import {
21
27
  seedTrustZoneDemoDataset,
22
28
  summarizeTrustZonePromotionReadiness
23
29
  } from "./chunk-JGSKJHF7.js";
24
- import {
25
- trustResultFor
26
- } from "./chunk-GNVZQ5JN.js";
27
- import {
28
- renderEpistemicHedge
29
- } from "./chunk-YN2UN7N3.js";
30
30
  import {
31
31
  planSessionTranscriptMigration
32
32
  } from "./chunk-P5FPO2BR.js";
@@ -101,10 +101,10 @@ import {
101
101
  import {
102
102
  CorpusWatermarkCache,
103
103
  computeServiceCorpusCensus
104
- } from "./chunk-YJ7PWEWI.js";
104
+ } from "./chunk-SA3WJJF2.js";
105
105
  import {
106
106
  namespaceCollectionName
107
- } from "./chunk-V2MVDDJF.js";
107
+ } from "./chunk-IOQFPVGY.js";
108
108
  import {
109
109
  CrossNamespaceBudget,
110
110
  toBudgetWarning
@@ -224,7 +224,7 @@ import {
224
224
  } from "./chunk-JAKIDQB2.js";
225
225
  import {
226
226
  exportCapsule
227
- } from "./chunk-VDX2J7OX.js";
227
+ } from "./chunk-KQAFEZQX.js";
228
228
  import {
229
229
  evaluateActionConfidence
230
230
  } from "./chunk-Z2YFLXHU.js";
@@ -13323,4 +13323,4 @@ export {
13323
13323
  EngramAccessService,
13324
13324
  AccessAdminOpsSurface
13325
13325
  };
13326
- //# sourceMappingURL=chunk-YFQMW2TH.js.map
13326
+ //# sourceMappingURL=chunk-5HTAJCTO.js.map
@@ -10,7 +10,7 @@ import {
10
10
  import {
11
11
  decryptCapsuleFileInMemory,
12
12
  isEncryptedCapsuleFile
13
- } from "./chunk-DQEMWVMT.js";
13
+ } from "./chunk-X7Y7WX73.js";
14
14
  import {
15
15
  assertIsDirectoryNotSymlink,
16
16
  assertRealpathInsideRoot,
@@ -231,4 +231,4 @@ function mintForkId(capsuleId, originalId, now) {
231
231
  export {
232
232
  importCapsule
233
233
  };
234
- //# sourceMappingURL=chunk-6NPZ3FP2.js.map
234
+ //# sourceMappingURL=chunk-65ZPVYTA.js.map
@@ -4,7 +4,7 @@ import {
4
4
  import {
5
5
  computeCorpusWatermarks,
6
6
  resolveCorpusNamespaceRoots
7
- } from "./chunk-YJ7PWEWI.js";
7
+ } from "./chunk-SA3WJJF2.js";
8
8
 
9
9
  // src/operator-doctor-corpus.ts
10
10
  var DIGEST_PREFIX_LENGTH = 12;
@@ -78,4 +78,4 @@ export {
78
78
  corpusWatermarksFromCheck,
79
79
  summarizeCorpusAndReplica
80
80
  };
81
- //# sourceMappingURL=chunk-MPH263X2.js.map
81
+ //# sourceMappingURL=chunk-AHZYNPLX.js.map
@@ -1,10 +1,10 @@
1
+ import {
2
+ scanMemoryDir
3
+ } from "./chunk-W7IGLX4G.js";
1
4
  import {
2
5
  isSearchAborted,
3
6
  throwIfSearchAborted
4
7
  } from "./chunk-CINZGPSJ.js";
5
- import {
6
- scanMemoryDir
7
- } from "./chunk-W7IGLX4G.js";
8
8
  import {
9
9
  reportSearchDegradation,
10
10
  resolveEnsureCollectionArgs
@@ -499,4 +499,4 @@ function isMissingVectorProviderColumnError(err) {
499
499
  export {
500
500
  LanceDbBackend
501
501
  };
502
- //# sourceMappingURL=chunk-77CNV7DY.js.map
502
+ //# sourceMappingURL=chunk-BLAKS3CP.js.map
@@ -2,7 +2,7 @@ import {
2
2
  OPERATION_NAMES,
3
3
  getOperation,
4
4
  operationRequiresAuthorizedNamespace
5
- } from "./chunk-YFQMW2TH.js";
5
+ } from "./chunk-5HTAJCTO.js";
6
6
  import {
7
7
  assertOperationAuthorizationAllowed
8
8
  } from "./chunk-MZWSOLMT.js";
@@ -49,4 +49,4 @@ export {
49
49
  probeOperationAuthorization,
50
50
  authorizationProbeNamespaces
51
51
  };
52
- //# sourceMappingURL=chunk-J6BYDVPL.js.map
52
+ //# sourceMappingURL=chunk-EH5U2YCX.js.map
@@ -1,10 +1,10 @@
1
+ import {
2
+ scanMemoryDir
3
+ } from "./chunk-W7IGLX4G.js";
1
4
  import {
2
5
  isSearchAborted,
3
6
  throwIfSearchAborted
4
7
  } from "./chunk-CINZGPSJ.js";
5
- import {
6
- scanMemoryDir
7
- } from "./chunk-W7IGLX4G.js";
8
8
  import {
9
9
  reportSearchDegradation,
10
10
  resolveEnsureCollectionArgs
@@ -613,4 +613,4 @@ export {
613
613
  resolveOramaCollectionDbFilePath,
614
614
  OramaBackend
615
615
  };
616
- //# sourceMappingURL=chunk-PTN6UAUA.js.map
616
+ //# sourceMappingURL=chunk-ES36HTSC.js.map
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  memoryStoreRequestSchema
3
- } from "./chunk-I5DQ6KZK.js";
3
+ } from "./chunk-3F2LKUMU.js";
4
4
  import {
5
5
  CorrectionContractError,
6
6
  DECISION_SUBCOMMANDS,
7
7
  DELTA_SUBCOMMANDS,
8
8
  defineOperation,
9
9
  isCodegraphToolName
10
- } from "./chunk-YFQMW2TH.js";
10
+ } from "./chunk-5HTAJCTO.js";
11
11
  import {
12
12
  serializeMutations,
13
13
  withHeldFileLock
@@ -1805,4 +1805,4 @@ export {
1805
1805
  codegraphIngestTracesOperation,
1806
1806
  REGISTERED_OPERATIONS
1807
1807
  };
1808
- //# sourceMappingURL=chunk-SIKCTPRK.js.map
1808
+ //# sourceMappingURL=chunk-GHR7WHZX.js.map
@@ -12,13 +12,7 @@ import {
12
12
  } from "./chunk-HDDRVXX4.js";
13
13
  import {
14
14
  importSqlite
15
- } from "./chunk-PYHOAXTI.js";
16
- import {
17
- exportJsonBundle
18
- } from "./chunk-UP6MOYCB.js";
19
- import {
20
- exportSqlite
21
- } from "./chunk-BV2TIZ4F.js";
15
+ } from "./chunk-LRGSLV7M.js";
22
16
  import {
23
17
  detectImportFormat
24
18
  } from "./chunk-OZKVVUJB.js";
@@ -27,10 +21,16 @@ import {
27
21
  } from "./chunk-2DL3OFLD.js";
28
22
  import {
29
23
  backupMemoryDir
30
- } from "./chunk-BXLOS5AJ.js";
24
+ } from "./chunk-2NLLXCJG.js";
25
+ import {
26
+ exportJsonBundle
27
+ } from "./chunk-UP6MOYCB.js";
31
28
  import {
32
29
  exportMarkdownBundle
33
30
  } from "./chunk-765K3SAT.js";
31
+ import {
32
+ exportSqlite
33
+ } from "./chunk-BV2TIZ4F.js";
34
34
  import {
35
35
  buildReplayNormalizerRegistry,
36
36
  clampBatchSize,
@@ -123,7 +123,7 @@ import {
123
123
  runOperatorInventory,
124
124
  runOperatorRepair,
125
125
  runOperatorSetup
126
- } from "./chunk-EHNENZHZ.js";
126
+ } from "./chunk-TJLLYV2X.js";
127
127
  import {
128
128
  analyzeSessionIntegrity,
129
129
  applySessionRepair,
@@ -200,7 +200,7 @@ import {
200
200
  import {
201
201
  EngramAccessHttpServer,
202
202
  MeetingsInputError
203
- } from "./chunk-C4PEMCP4.js";
203
+ } from "./chunk-SLPLPGJQ.js";
204
204
  import {
205
205
  WearablesInputError
206
206
  } from "./chunk-V7IZKJI3.js";
@@ -213,13 +213,13 @@ import {
213
213
  createProductionChatLlmAdapter,
214
214
  loadChatSession,
215
215
  sessionBelongsToPrincipal
216
- } from "./chunk-ATUURSST.js";
216
+ } from "./chunk-5FHE4JI7.js";
217
217
  import {
218
218
  getAbstractionNodeStoreStatus
219
219
  } from "./chunk-OADWQ5CR.js";
220
220
  import {
221
221
  EngramAccessService
222
- } from "./chunk-YFQMW2TH.js";
222
+ } from "./chunk-5HTAJCTO.js";
223
223
  import {
224
224
  WorkStorage
225
225
  } from "./chunk-GDB4J2H3.js";
@@ -250,7 +250,7 @@ import {
250
250
  listNamespaces,
251
251
  runNamespaceMigration,
252
252
  verifyNamespaces
253
- } from "./chunk-N2B56SIS.js";
253
+ } from "./chunk-2SHIWGY7.js";
254
254
  import {
255
255
  analyzeGraphHealth
256
256
  } from "./chunk-L2DPF4DF.js";
@@ -4575,7 +4575,7 @@ function registerCli(api, orchestrator, registerOptions = {}) {
4575
4575
  }
4576
4576
  }
4577
4577
  if (sourceArchive.endsWith(".enc")) {
4578
- const { isEncryptedCapsuleFile } = await import("./capsule-crypto-YO5QJ6L3.js");
4578
+ const { isEncryptedCapsuleFile } = await import("./capsule-crypto-7FJQINUR.js");
4579
4579
  const encDetected = await isEncryptedCapsuleFile(sourceArchive).catch(() => true);
4580
4580
  if (encDetected) {
4581
4581
  throw new Error(
@@ -4738,7 +4738,7 @@ function registerCli(api, orchestrator, registerOptions = {}) {
4738
4738
  const { parseExportBundle } = await import("./transfer/types.js");
4739
4739
  let decryptedBuf;
4740
4740
  try {
4741
- const { decryptCapsuleFileInMemory } = await import("./capsule-crypto-YO5QJ6L3.js");
4741
+ const { decryptCapsuleFileInMemory } = await import("./capsule-crypto-7FJQINUR.js");
4742
4742
  decryptedBuf = await decryptCapsuleFileInMemory(archivePath, memoryDir);
4743
4743
  } catch (decErr) {
4744
4744
  const msg = decErr instanceof Error ? decErr.message : String(decErr);
@@ -7981,4 +7981,4 @@ export {
7981
7981
  listMemoryMarkdownFilePaths,
7982
7982
  registerCli
7983
7983
  };
7984
- //# sourceMappingURL=chunk-TITQYVKD.js.map
7984
+ //# sourceMappingURL=chunk-HEVWWPTL.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  createSearchBackend
3
- } from "./chunk-SFW2NABJ.js";
3
+ } from "./chunk-UZQCNOPS.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-V2MVDDJF.js.map
473
+ //# sourceMappingURL=chunk-IOQFPVGY.js.map
@@ -6,7 +6,7 @@ import {
6
6
  } from "./chunk-WEHSQBFR.js";
7
7
  import {
8
8
  encryptCapsuleFile
9
- } from "./chunk-DQEMWVMT.js";
9
+ } from "./chunk-X7Y7WX73.js";
10
10
  import {
11
11
  CAPSULE_SCHEMA_VERSION,
12
12
  EXPORT_FORMAT
@@ -261,4 +261,4 @@ export {
261
261
  exportCapsule,
262
262
  isValidCapsuleSince
263
263
  };
264
- //# sourceMappingURL=chunk-VDX2J7OX.js.map
264
+ //# sourceMappingURL=chunk-KQAFEZQX.js.map
@@ -0,0 +1,138 @@
1
+ // src/tool-scoped-memory.ts
2
+ var BT = "`";
3
+ var GENERIC_TOOL_NAMES = [
4
+ "read",
5
+ "write",
6
+ "search",
7
+ "fetch",
8
+ "browser",
9
+ "exec",
10
+ "shell",
11
+ "memory",
12
+ "edit",
13
+ "bash",
14
+ "glob",
15
+ "webfetch",
16
+ "task",
17
+ "remnic"
18
+ ];
19
+ var KNOWN_CLI_NAMES = [
20
+ "grep",
21
+ "curl",
22
+ "git",
23
+ "npm",
24
+ "pnpm",
25
+ "sed",
26
+ "awk",
27
+ "jq",
28
+ "cat",
29
+ "ssh",
30
+ "docker",
31
+ "kubectl",
32
+ "make",
33
+ "rg",
34
+ "ls",
35
+ "cd"
36
+ ];
37
+ var GENERIC_NAMES_ALT = GENERIC_TOOL_NAMES.join("|");
38
+ var KNOWN_NAMES_ALT = [...GENERIC_TOOL_NAMES, ...KNOWN_CLI_NAMES].join("|");
39
+ var CLI_NAMES_ALT = KNOWN_CLI_NAMES.join("|");
40
+ var FLAG = "(?:--|-)[A-Za-z][A-Za-z0-9]*(?:-[A-Za-z0-9]+)*\\b";
41
+ var FLAG_NAKED = "(?:--|-)[A-Za-z][A-Za-z0-9]*(?:-[A-Za-z0-9]+)*";
42
+ var OPCODE = "[A-Za-z0-9_./-]{1,20}";
43
+ var NO_SLASH_TOKEN = "[A-Za-z0-9_.-]{1,60}";
44
+ var SLASH_CMD_TOKEN = "/(?:" + GENERIC_NAMES_ALT + ")\\b";
45
+ var QUOTED_CONTENT = "(?:" + NO_SLASH_TOKEN + "|" + SLASH_CMD_TOKEN + ")";
46
+ var QUOTED_PERMISSIVE = "(?:" + BT + QUOTED_CONTENT + BT + '|"' + QUOTED_CONTENT + `"|'` + QUOTED_CONTENT + "')";
47
+ var SNAKE_NON_DATA = "(?:[a-z][a-z0-9]*(?:_[a-z0-9]+)*(?:_(?!id\\b|name\\b|flag\\b|count\\b|at\\b|url\\b|key\\b|type\\b)[a-z0-9]+))\\b";
48
+ var SNAKE_KEBAB = "(?:[a-z][a-z0-9]*(?:[_-][a-z0-9]+)+)\\b";
49
+ var KNOWN_NAMES_CI = "\\b(?:" + KNOWN_NAMES_ALT + ")\\b";
50
+ var CLI_NAMES_CI = "\\b(?:" + CLI_NAMES_ALT + ")\\b";
51
+ var KEYWORD = "\\b(?:mcp[ _]tool|slash[ _]command|cli[ _]flag|subcommand|tool|command)\\b";
52
+ var IDENT = "(?:" + QUOTED_PERMISSIVE + "|" + KNOWN_NAMES_CI + "|" + SNAKE_KEBAB + "|" + FLAG + ")";
53
+ var IMM = `[\\s'"` + BT + "]{1,4}";
54
+ var CONN = "\\s+(?:named|called|aka)\\s+";
55
+ var VERB = "\\b(?:use|run|call|invoke)\\b";
56
+ var SLASH_GENERIC = "/(?:" + GENERIC_NAMES_ALT + ")\\b";
57
+ var CLAUSE_BOUNDARY = "(?:$|[.,;(:]|(?:when|before|after|to|with|for|on|in|if|unless|whenever)\\b)";
58
+ var ARGS = "(?:\\s+" + FLAG + "(?:\\s+" + OPCODE + "){0,4})?";
59
+ var CLI_ARG_TOKEN = "(?:[a-z][a-z0-9-]{0,15}|" + FLAG_NAKED + "|" + OPCODE + ")";
60
+ var CLI_ARG_RUN = "(?:\\s+" + CLI_ARG_TOKEN + "){1,4}";
61
+ var CMD_WITH_ARGS = "(?:(?:" + CLI_NAMES_CI + "|" + SLASH_GENERIC + ")" + CLI_ARG_RUN + ")";
62
+ var QSTRICT_CONTENT = "(?:" + KNOWN_NAMES_ALT + "|[a-z][a-z0-9]*(?:[_-][a-z0-9]+)+|" + FLAG_NAKED + "|" + SLASH_CMD_TOKEN + "|" + CMD_WITH_ARGS + "|(?:" + KNOWN_NAMES_ALT + ")" + CLI_ARG_RUN + ")";
63
+ var QUOTED_STRICT = "(?:" + BT + QSTRICT_CONTENT + BT + '|"' + QSTRICT_CONTENT + `"|'` + QSTRICT_CONTENT + "')";
64
+ var INVOCATION_FLAG_ARGS = VERB + "\\s+(?:" + QUOTED_STRICT + "|" + KNOWN_NAMES_CI + "|" + SNAKE_NON_DATA + "|" + SLASH_GENERIC + "|" + FLAG + ")" + ARGS + "(?=\\s*" + CLAUSE_BOUNDARY + ")";
65
+ var INVOCATION_CLI_ARGS = VERB + "\\s+" + CMD_WITH_ARGS + "(?=\\s*" + CLAUSE_BOUNDARY + ")";
66
+ var INVOCATION = "(?:" + INVOCATION_FLAG_ARGS + "|" + INVOCATION_CLI_ARGS + ")";
67
+ var TOOL_REFERENCE_CI = new RegExp(
68
+ "(?:" + IDENT + IMM + KEYWORD + "|" + KEYWORD + IMM + IDENT + "|" + KEYWORD + CONN + IDENT + "|" + IDENT + CONN + KEYWORD + "|" + INVOCATION + ")",
69
+ "i"
70
+ );
71
+ function hasCapitalisedToolName(content) {
72
+ for (const re of [
73
+ /(?:the|a|an|this|that|these|those|use|run|call|invoke)\s+([A-Za-z][A-Za-z0-9]+)\b[\s'`<>]{0,4}\b(?:tool|command|subcommand)\b/gi,
74
+ /\b(?:tool|command|subcommand)\b\s+(?:named|called|aka)\s+([A-Za-z][A-Za-z0-9]+)\b/gi
75
+ ]) {
76
+ re.lastIndex = 0;
77
+ let match;
78
+ while ((match = re.exec(content)) !== null) {
79
+ const w = match[1];
80
+ if (w && w[0] >= "A" && w[0] <= "Z") return true;
81
+ }
82
+ }
83
+ return false;
84
+ }
85
+ function hasCamelCaseToolName(content) {
86
+ const camelRe = /\b([a-z]{3,}[a-z0-9]*[A-Z][a-z][A-Za-z0-9]*)\b/g;
87
+ let m;
88
+ while ((m = camelRe.exec(content)) !== null) {
89
+ const token = m[1];
90
+ const start = m.index;
91
+ const end = start + token.length;
92
+ const before = content.slice(Math.max(0, start - 20), start);
93
+ const after = content.slice(end);
94
+ if (/(?:^|\s)(?:use|run|call|invoke)\s*$/i.test(before) && /^(?:\s*(?:$|[.,;(:]|(?:when|before|after|to|with|for|on|in|if|unless|whenever)\b))/i.test(after)) {
95
+ return true;
96
+ }
97
+ if (/^(?:\s*(?:tool|command|subcommand)\b)/i.test(after) || /(?:tool|command|subcommand)\s*$/i.test(before)) {
98
+ return true;
99
+ }
100
+ }
101
+ return false;
102
+ }
103
+ function referencesAgentSpecificTool(content) {
104
+ if (typeof content !== "string" || content.length === 0) return false;
105
+ return TOOL_REFERENCE_CI.test(content) || hasCapitalisedToolName(content) || hasCamelCaseToolName(content);
106
+ }
107
+ function withholdToolScopedFromSharedNamespace({
108
+ content,
109
+ sourceConnector,
110
+ procedureSteps
111
+ }) {
112
+ if (typeof sourceConnector !== "string" || sourceConnector.trim().length === 0) return false;
113
+ if (referencesAgentSpecificTool(content)) return true;
114
+ if (procedureSteps?.some((s) => {
115
+ const kind = s.toolCall?.kind;
116
+ if (typeof kind === "string" && kind.trim().length > 0) return true;
117
+ const stepText = [s.intent, s.expectedOutcome].filter((t) => typeof t === "string" && t.length > 0).join(" ");
118
+ return stepText.length > 0 && referencesAgentSpecificTool(stepText);
119
+ })) {
120
+ return true;
121
+ }
122
+ return false;
123
+ }
124
+ function shouldPromoteGlobalFactToShared(inputs) {
125
+ if (inputs.scope !== "global") return false;
126
+ return !withholdToolScopedFromSharedNamespace({
127
+ content: inputs.content,
128
+ sourceConnector: inputs.sourceConnector,
129
+ procedureSteps: inputs.procedureSteps
130
+ });
131
+ }
132
+
133
+ export {
134
+ referencesAgentSpecificTool,
135
+ withholdToolScopedFromSharedNamespace,
136
+ shouldPromoteGlobalFactToShared
137
+ };
138
+ //# sourceMappingURL=chunk-KWMXR7XS.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/tool-scoped-memory.ts"],"sourcesContent":["/**\n * Tool-scoped memory guard (issue #2183).\n *\n * A tool-related fact extracted from a specific agent integration carries an\n * UNQUALIFIED tool name — \"use the search tool\" — with no agent identity\n * attached (the conversation handed to the extraction LLM is rendered as\n * `[role] content` only). Promoting such a fact to the shared namespace lets a\n * DIFFERENT integration that exposes a same-named but incompatible tool (Pi\n * `search` = repo code search vs OpenClaw `search` = web search) consume it.\n *\n * `referencesAgentSpecificTool` flags fact text that references a specific\n * tool/command invocation rather than portable knowledge. The promotion guard\n * in `orchestration/extraction-persist.ts` uses it — when the producing\n * integration is known (`sourceConnector`) — to keep such a fact in that\n * integration's own namespace.\n *\n * Tuning bias: a FALSE POSITIVE is cheap — the fact stays in the narrower\n * namespace, the documented safe default. A FALSE NEGATIVE is the actual\n * cross-integration collision bug, so detection leans permissive — but it must\n * not fire on ordinary prose.\n */\n\nconst BT = \"`\";\n\n// Generic tool names + host-tool names emitted by the agent adapters.\n// Evidence: \"edit\" — Pi messages.test.ts:43 ({ type: \"toolCall\", name: \"edit\" }).\n// \"bash\" — Pi messages.test.ts:70 (bashExecution tool rendering). \"glob\",\n// \"webfetch\", \"task\" — standard Claude Code tools (Pi wraps Claude Code).\nconst GENERIC_TOOL_NAMES = [\n \"read\", \"write\", \"search\", \"fetch\", \"browser\", \"exec\", \"shell\", \"memory\",\n \"edit\", \"bash\", \"glob\", \"webfetch\", \"task\",\n \"remnic\",\n];\nconst KNOWN_CLI_NAMES = [\n \"grep\", \"curl\", \"git\", \"npm\", \"pnpm\", \"sed\", \"awk\", \"jq\", \"cat\", \"ssh\",\n \"docker\", \"kubectl\", \"make\", \"rg\", \"ls\", \"cd\",\n];\nconst GENERIC_NAMES_ALT = GENERIC_TOOL_NAMES.join(\"|\");\nconst KNOWN_NAMES_ALT = [...GENERIC_TOOL_NAMES, ...KNOWN_CLI_NAMES].join(\"|\");\nconst CLI_NAMES_ALT = KNOWN_CLI_NAMES.join(\"|\");\n\nconst FS_ROOTS = \"(?:etc|var|usr|tmp|home|opt|srv|proc|dev)\";\nconst FLAG = \"(?:--|-)[A-Za-z][A-Za-z0-9]*(?:-[A-Za-z0-9]+)*\\\\b\";\nconst FLAG_NAKED = \"(?:--|-)[A-Za-z][A-Za-z0-9]*(?:-[A-Za-z0-9]+)*\";\nconst OPCODE = \"[A-Za-z0-9_./-]{1,20}\";\n\nconst NO_SLASH_TOKEN = \"[A-Za-z0-9_.-]{1,60}\";\nconst SLASH_CMD_TOKEN = \"/(?:\" + GENERIC_NAMES_ALT + \")\\\\b\";\nconst QUOTED_CONTENT = \"(?:\" + NO_SLASH_TOKEN + \"|\" + SLASH_CMD_TOKEN + \")\";\nconst QUOTED_PERMISSIVE =\n \"(?:\" + BT + QUOTED_CONTENT + BT + \"|\\\"\" + QUOTED_CONTENT + \"\\\"|'\" + QUOTED_CONTENT + \"')\";\n\nconst SNAKE = \"(?:[a-z][a-z0-9]*(?:_[a-z0-9]+)+)\\\\b\";\nconst SNAKE_NON_DATA = \"(?:[a-z][a-z0-9]*(?:_[a-z0-9]+)*(?:_(?!id\\\\b|name\\\\b|flag\\\\b|count\\\\b|at\\\\b|url\\\\b|key\\\\b|type\\\\b)[a-z0-9]+))\\\\b\";\nconst SNAKE_KEBAB = \"(?:[a-z][a-z0-9]*(?:[_-][a-z0-9]+)+)\\\\b\";\n\nconst KNOWN_NAMES_CI = \"\\\\b(?:\" + KNOWN_NAMES_ALT + \")\\\\b\";\nconst CLI_NAMES_CI = \"\\\\b(?:\" + CLI_NAMES_ALT + \")\\\\b\";\nconst KEYWORD = \"\\\\b(?:mcp[ _]tool|slash[ _]command|cli[ _]flag|subcommand|tool|command)\\\\b\";\n\nconst IDENT = \"(?:\" + QUOTED_PERMISSIVE + \"|\" + KNOWN_NAMES_CI + \"|\" + SNAKE_KEBAB + \"|\" + FLAG + \")\";\n\nconst IMM = \"[\\\\s'\\\"\" + BT + \"]{1,4}\";\nconst CONN = \"\\\\s+(?:named|called|aka)\\\\s+\";\nconst VERB = \"\\\\b(?:use|run|call|invoke)\\\\b\";\nconst SLASH_GENERIC = \"/(?:\" + GENERIC_NAMES_ALT + \")\\\\b\";\nconst CLAUSE_BOUNDARY = \"(?:$|[.,;(:]|(?:when|before|after|to|with|for|on|in|if|unless|whenever)\\\\b)\";\nconst ARGS = \"(?:\\\\s+\" + FLAG + \"(?:\\\\s+\" + OPCODE + \"){0,4})?\";\nconst CLI_ARG_TOKEN = \"(?:[a-z][a-z0-9-]{0,15}|\" + FLAG_NAKED + \"|\" + OPCODE + \")\";\nconst CLI_ARG_RUN = \"(?:\\\\s+\" + CLI_ARG_TOKEN + \"){1,4}\";\n\n// Shared: a CLI tool or slash command optionally followed by a bounded\n// argument run. Used by BOTH the quoted and unquoted invocation arms so\n// quoting cannot diverge from unquoted again (#2183 round 20).\nconst CMD_WITH_ARGS = \"(?:(?:\" + CLI_NAMES_CI + \"|\" + SLASH_GENERIC + \")\" + CLI_ARG_RUN + \")\";\nconst QSTRICT_CONTENT =\n \"(?:\" + KNOWN_NAMES_ALT + \"|[a-z][a-z0-9]*(?:[_-][a-z0-9]+)+\" + \"|\" + FLAG_NAKED + \"|\" + SLASH_CMD_TOKEN +\n \"|\" + CMD_WITH_ARGS + \"|(?:\" + KNOWN_NAMES_ALT + \")\" + CLI_ARG_RUN + \")\";\nconst QUOTED_STRICT =\n \"(?:\" + BT + QSTRICT_CONTENT + BT + \"|\\\"\" + QSTRICT_CONTENT + \"\\\"|'\" + QSTRICT_CONTENT + \"')\";\n\nconst INVOCATION_FLAG_ARGS =\n VERB + \"\\\\s+(?:\" + QUOTED_STRICT + \"|\" + KNOWN_NAMES_CI + \"|\" + SNAKE_NON_DATA + \"|\" + SLASH_GENERIC + \"|\" + FLAG + \")\" + ARGS + \"(?=\\\\s*\" + CLAUSE_BOUNDARY + \")\";\nconst INVOCATION_CLI_ARGS =\n VERB + \"\\\\s+\" + CMD_WITH_ARGS + \"(?=\\\\s*\" + CLAUSE_BOUNDARY + \")\";\nconst INVOCATION = \"(?:\" + INVOCATION_FLAG_ARGS + \"|\" + INVOCATION_CLI_ARGS + \")\";\n\nconst TOOL_REFERENCE_CI = new RegExp(\n \"(?:\" +\n IDENT + IMM + KEYWORD + \"|\" + KEYWORD + IMM + IDENT + \"|\" +\n KEYWORD + CONN + IDENT + \"|\" + IDENT + CONN + KEYWORD + \"|\" +\n INVOCATION +\n \")\",\n \"i\",\n);\n\nfunction hasCapitalisedToolName(content: string): boolean {\n // Structural discriminator: a capitalised identifier beside a tool/command\n // keyword qualifies ONLY when preceded by an article or invocation verb (not\n // sentence-initial), or connected via named/called/aka. This replaces the\n // blocklist approach — a structural rule beats a growing STOP_WORDS set.\n for (const re of [\n /(?:the|a|an|this|that|these|those|use|run|call|invoke)\\s+([A-Za-z][A-Za-z0-9]+)\\b[\\s'`<>]{0,4}\\b(?:tool|command|subcommand)\\b/gi,\n /\\b(?:tool|command|subcommand)\\b\\s+(?:named|called|aka)\\s+([A-Za-z][A-Za-z0-9]+)\\b/gi,\n ]) {\n re.lastIndex = 0;\n let match;\n while ((match = re.exec(content)) !== null) {\n const w = match[1];\n if (w && w[0] >= \"A\" && w[0] <= \"Z\") return true;\n }\n }\n return false;\n}\n\nfunction hasCamelCaseToolName(content: string): boolean {\n // Case-sensitive: camelCase (lowercase start, interior uppercase) is a common\n // host-tool naming convention (bashExecution, memoryStore, webFetch). Ordinary\n // English words are never camelCase, and PascalCase (PostgreSQL, TypeScript)\n // starts uppercase so is handled by hasCapitalisedToolName instead.\n const camelRe = /\\b([a-z]{3,}[a-z0-9]*[A-Z][a-z][A-Za-z0-9]*)\\b/g;\n let m;\n while ((m = camelRe.exec(content)) !== null) {\n const token = m[1];\n const start = m.index!;\n const end = start + token.length;\n const before = content.slice(Math.max(0, start - 20), start);\n const after = content.slice(end);\n // Invocation: preceded by a verb, followed by a clause boundary or call syntax.\n if (/(?:^|\\s)(?:use|run|call|invoke)\\s*$/i.test(before) &&\n /^(?:\\s*(?:$|[.,;(:]|(?:when|before|after|to|with|for|on|in|if|unless|whenever)\\b))/i.test(after)) {\n return true;\n }\n // Keyword-adjacent: camelCase beside a tool/command keyword.\n if (/^(?:\\s*(?:tool|command|subcommand)\\b)/i.test(after) ||\n /(?:tool|command|subcommand)\\s*$/i.test(before)) {\n return true;\n }\n }\n return false;\n}\n\nexport function referencesAgentSpecificTool(content: string): boolean {\n if (typeof content !== \"string\" || content.length === 0) return false;\n return TOOL_REFERENCE_CI.test(content) || hasCapitalisedToolName(content) || hasCamelCaseToolName(content);\n}\n\nexport interface ToolScopeWithholdInputs {\n content: string;\n sourceConnector?: string;\n procedureSteps?: ReadonlyArray<{ intent?: string; expectedOutcome?: string; toolCall?: { kind?: string } }>;\n}\n\nexport function withholdToolScopedFromSharedNamespace({\n content,\n sourceConnector,\n procedureSteps,\n}: ToolScopeWithholdInputs): boolean {\n if (typeof sourceConnector !== \"string\" || sourceConnector.trim().length === 0) return false;\n if (referencesAgentSpecificTool(content)) return true;\n if (\n procedureSteps?.some((s) => {\n const kind = s.toolCall?.kind;\n if (typeof kind === \"string\" && kind.trim().length > 0) return true;\n const stepText = [s.intent, s.expectedOutcome]\n .filter((t): t is string => typeof t === \"string\" && t.length > 0)\n .join(\" \");\n return stepText.length > 0 && referencesAgentSpecificTool(stepText);\n })\n ) {\n return true;\n }\n return false;\n}\n\nexport interface GlobalFactPromotionInputs {\n scope: string | null | undefined;\n content: string;\n sourceConnector?: string;\n procedureSteps?: ReadonlyArray<{ toolCall?: { kind?: string } }>;\n}\n\nexport function shouldPromoteGlobalFactToShared(inputs: GlobalFactPromotionInputs): boolean {\n if (inputs.scope !== \"global\") return false;\n return !withholdToolScopedFromSharedNamespace({\n content: inputs.content,\n sourceConnector: inputs.sourceConnector,\n procedureSteps: inputs.procedureSteps,\n });\n}\n"],"mappings":"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","names":[]}
@@ -1,3 +1,7 @@
1
+ import {
2
+ rebuildConversationChunksFailOpen,
3
+ upsertConversationChunksFailOpen
4
+ } from "./chunk-72A4L5JJ.js";
1
5
  import {
2
6
  searchConversationIndex,
3
7
  searchConversationIndexFaissFailOpen
@@ -5,10 +9,6 @@ import {
5
9
  import {
6
10
  failOpenFaissHealth
7
11
  } from "./chunk-ET356KSB.js";
8
- import {
9
- rebuildConversationChunksFailOpen,
10
- upsertConversationChunksFailOpen
11
- } from "./chunk-72A4L5JJ.js";
12
12
 
13
13
  // src/conversation-index/backend.ts
14
14
  function createConversationIndexBackend(options) {
@@ -235,4 +235,4 @@ function createFaissBackend(getFaiss) {
235
235
  export {
236
236
  createConversationIndexBackend
237
237
  };
238
- //# sourceMappingURL=chunk-7RZJWZ46.js.map
238
+ //# sourceMappingURL=chunk-LEPOP46W.js.map
@@ -1,10 +1,10 @@
1
- import {
2
- SQLITE_SCHEMA_VERSION
3
- } from "./chunk-Z734BLO3.js";
4
1
  import {
5
2
  parseConflictPolicy,
6
3
  validateManifestRecords
7
4
  } from "./chunk-G4IAEX6D.js";
5
+ import {
6
+ SQLITE_SCHEMA_VERSION
7
+ } from "./chunk-Z734BLO3.js";
8
8
  import {
9
9
  openBetterSqlite3
10
10
  } from "./chunk-RL6NEVXT.js";
@@ -84,4 +84,4 @@ async function importSqlite(opts) {
84
84
  export {
85
85
  importSqlite
86
86
  };
87
- //# sourceMappingURL=chunk-PYHOAXTI.js.map
87
+ //# sourceMappingURL=chunk-LRGSLV7M.js.map
@@ -1,3 +1,6 @@
1
+ import {
2
+ ClaudeCodeAdapter
3
+ } from "./chunk-J64TK33U.js";
1
4
  import {
2
5
  CodexAdapter
3
6
  } from "./chunk-RSUYKGGZ.js";
@@ -7,9 +10,6 @@ import {
7
10
  import {
8
11
  ReplitAdapter
9
12
  } from "./chunk-TMSXWOBZ.js";
10
- import {
11
- ClaudeCodeAdapter
12
- } from "./chunk-J64TK33U.js";
13
13
 
14
14
  // src/adapters/registry.ts
15
15
  var AdapterRegistry = class {
@@ -53,4 +53,4 @@ var AdapterRegistry = class {
53
53
  export {
54
54
  AdapterRegistry
55
55
  };
56
- //# sourceMappingURL=chunk-2QSZNTDO.js.map
56
+ //# sourceMappingURL=chunk-RKNJBZ55.js.map
@@ -1,10 +1,10 @@
1
+ import {
2
+ scanMemoryDir
3
+ } from "./chunk-W7IGLX4G.js";
1
4
  import {
2
5
  isSearchAborted,
3
6
  throwIfSearchAborted
4
7
  } from "./chunk-CINZGPSJ.js";
5
- import {
6
- scanMemoryDir
7
- } from "./chunk-W7IGLX4G.js";
8
8
  import {
9
9
  reportSearchDegradation,
10
10
  resolveEnsureCollectionArgs
@@ -253,4 +253,4 @@ function isMeilisearchIndexNotFoundError(err) {
253
253
  export {
254
254
  MeilisearchBackend
255
255
  };
256
- //# sourceMappingURL=chunk-RYHWZ52A.js.map
256
+ //# sourceMappingURL=chunk-S2BBISHU.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  listNamespaces
3
- } from "./chunk-N2B56SIS.js";
3
+ } from "./chunk-2SHIWGY7.js";
4
4
  import {
5
5
  capabilityAllowsNamespace
6
6
  } from "./chunk-MZWSOLMT.js";
@@ -265,4 +265,4 @@ export {
265
265
  computeServiceCorpusWatermarks,
266
266
  computeServiceCorpusCensus
267
267
  };
268
- //# sourceMappingURL=chunk-YJ7PWEWI.js.map
268
+ //# sourceMappingURL=chunk-SA3WJJF2.js.map
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-V7IZKJI3.js";
4
4
  import {
5
5
  AdapterRegistry
6
- } from "./chunk-2QSZNTDO.js";
6
+ } from "./chunk-RKNJBZ55.js";
7
7
  import {
8
8
  WriteRateLimiter
9
9
  } from "./chunk-MKQBXQKU.js";
@@ -16,10 +16,10 @@ import {
16
16
  processChatMessage,
17
17
  sessionBelongsToPrincipal,
18
18
  subscribeChatTranscript
19
- } from "./chunk-ATUURSST.js";
19
+ } from "./chunk-5FHE4JI7.js";
20
20
  import {
21
21
  RelayMissionStoreError
22
- } from "./chunk-SIKCTPRK.js";
22
+ } from "./chunk-GHR7WHZX.js";
23
23
  import {
24
24
  executeResolution,
25
25
  isValidResolutionVerb
@@ -31,7 +31,7 @@ import {
31
31
  } from "./chunk-35NN3ZFA.js";
32
32
  import {
33
33
  validateRequest
34
- } from "./chunk-I5DQ6KZK.js";
34
+ } from "./chunk-3F2LKUMU.js";
35
35
  import {
36
36
  maybeHandleLifecycleFlush
37
37
  } from "./chunk-5IVLTFOV.js";
@@ -41,12 +41,12 @@ import {
41
41
  import {
42
42
  authorizationProbeNamespaces,
43
43
  probeOperationAuthorization
44
- } from "./chunk-J6BYDVPL.js";
44
+ } from "./chunk-EH5U2YCX.js";
45
45
  import {
46
46
  CorrectionContractError,
47
47
  getOperation,
48
48
  resolveQueryNamespaceWritablePreflight
49
- } from "./chunk-YFQMW2TH.js";
49
+ } from "./chunk-5HTAJCTO.js";
50
50
  import {
51
51
  isTrustZoneName
52
52
  } from "./chunk-JGSKJHF7.js";
@@ -3218,4 +3218,4 @@ export {
3218
3218
  MeetingsInputError,
3219
3219
  EngramAccessHttpServer
3220
3220
  };
3221
- //# sourceMappingURL=chunk-C4PEMCP4.js.map
3221
+ //# sourceMappingURL=chunk-SLPLPGJQ.js.map