@remnic/core 1.1.13 → 1.1.15

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 (130) hide show
  1. package/dist/access-cli.js +34 -33
  2. package/dist/access-cli.js.map +1 -1
  3. package/dist/access-http.d.ts +2 -1
  4. package/dist/access-http.js +15 -14
  5. package/dist/access-mcp.d.ts +2 -1
  6. package/dist/access-mcp.js +14 -13
  7. package/dist/access-schema.d.ts +22 -5
  8. package/dist/access-schema.js +7 -5
  9. package/dist/{access-service-DcCDmNYC.d.ts → access-service-BCMine1s.d.ts} +21 -1
  10. package/dist/access-service.d.ts +2 -1
  11. package/dist/access-service.js +12 -11
  12. package/dist/briefing.js +4 -4
  13. package/dist/causal-consolidation.js +5 -5
  14. package/dist/{chunk-VNO6ZJ35.js → chunk-2PRLKQAH.js} +5 -5
  15. package/dist/{chunk-M23FSH32.js → chunk-5D2G67ZQ.js} +53 -6
  16. package/dist/chunk-5D2G67ZQ.js.map +1 -0
  17. package/dist/{chunk-EFJ3MQ4V.js → chunk-65HQPW6O.js} +2 -2
  18. package/dist/{chunk-GA454ALV.js → chunk-AAX3SUM3.js} +39 -39
  19. package/dist/{chunk-QQUAB63I.js → chunk-BEB4GUU5.js} +2 -2
  20. package/dist/{chunk-WZYKANL3.js → chunk-BNATB54A.js} +4 -4
  21. package/dist/{chunk-KUJVMMZQ.js → chunk-C7DGCHJE.js} +2 -2
  22. package/dist/{chunk-PR5FBTFU.js → chunk-CYFQJMUV.js} +5 -5
  23. package/dist/{chunk-KLAO5DGL.js → chunk-G7JBLD65.js} +3 -3
  24. package/dist/chunk-GSP6ZKOY.js +769 -0
  25. package/dist/chunk-GSP6ZKOY.js.map +1 -0
  26. package/dist/{chunk-CQZRLNMV.js → chunk-HJ2WMBFB.js} +42 -4
  27. package/dist/chunk-HJ2WMBFB.js.map +1 -0
  28. package/dist/{chunk-ME6ESPZU.js → chunk-IG5VGHYB.js} +2 -2
  29. package/dist/{chunk-7AAT6G4Q.js → chunk-IOAY54RF.js} +57 -5
  30. package/dist/chunk-IOAY54RF.js.map +1 -0
  31. package/dist/{chunk-XVZ7B3HG.js → chunk-JFEH2LZM.js} +2 -2
  32. package/dist/{chunk-JLFA7DQG.js → chunk-M3AA636B.js} +2 -2
  33. package/dist/{chunk-P4NEIHUT.js → chunk-MS3ULOZF.js} +2 -2
  34. package/dist/{chunk-7IASACLB.js → chunk-NOHC2L57.js} +2 -2
  35. package/dist/{chunk-6RVI47ZR.js → chunk-NTUNYIF7.js} +5 -5
  36. package/dist/{chunk-CK5NTM2S.js → chunk-OGROP7ZN.js} +2 -2
  37. package/dist/{chunk-MT25YHYH.js → chunk-OJRKZLZ4.js} +5 -5
  38. package/dist/{chunk-2F2W355T.js → chunk-QA2ZAPBU.js} +4 -4
  39. package/dist/{chunk-MC26UJIM.js → chunk-QLKBF3TI.js} +2 -2
  40. package/dist/{chunk-YNJHCGDT.js → chunk-SH5S7XYD.js} +8 -5
  41. package/dist/chunk-SH5S7XYD.js.map +1 -0
  42. package/dist/{chunk-VW676BEI.js → chunk-V7WH7DEM.js} +2 -2
  43. package/dist/{chunk-A2XUIMJ3.js → chunk-VWFIQOTJ.js} +11 -2
  44. package/dist/chunk-VWFIQOTJ.js.map +1 -0
  45. package/dist/{chunk-PU63GXWS.js → chunk-W7DK3CYM.js} +2 -2
  46. package/dist/{chunk-TFO23QT4.js → chunk-XKLD5OK4.js} +4 -4
  47. package/dist/{chunk-I5V2VDIW.js → chunk-YCVWX2NF.js} +2 -2
  48. package/dist/{chunk-UXHQAFNA.js → chunk-ZPXYWTN5.js} +4 -4
  49. package/dist/{chunk-CHEL3SKB.js → chunk-ZYRMKWVW.js} +27 -27
  50. package/dist/{chunk-GGKRUQOO.js → chunk-ZYVPLJ4T.js} +4 -4
  51. package/dist/{cli-D3VpkVwB.d.ts → cli-B71zQ6XK.d.ts} +1 -1
  52. package/dist/cli.d.ts +3 -2
  53. package/dist/cli.js +35 -34
  54. package/dist/compounding/engine.js +4 -4
  55. package/dist/connectors/codex-materialize-runner.js +4 -4
  56. package/dist/connectors/index.js +4 -4
  57. package/dist/conversation-index/backend.js +2 -2
  58. package/dist/entity-retrieval.js +4 -4
  59. package/dist/index.d.ts +4 -3
  60. package/dist/index.js +90 -58
  61. package/dist/index.js.map +1 -1
  62. package/dist/lcm/engine.js +2 -2
  63. package/dist/lcm/index.js +5 -5
  64. package/dist/maintenance/memory-governance.js +4 -4
  65. package/dist/maintenance/rebuild-memory-lifecycle-ledger.js +4 -4
  66. package/dist/maintenance/rebuild-memory-projection.js +5 -5
  67. package/dist/mcp-memory-inspector-app.d.ts +2 -1
  68. package/dist/namespaces/migrate.js +10 -10
  69. package/dist/namespaces/search.js +5 -5
  70. package/dist/namespaces/storage.js +4 -4
  71. package/dist/offline-sync.d.ts +136 -0
  72. package/dist/offline-sync.js +41 -0
  73. package/dist/offline-sync.js.map +1 -0
  74. package/dist/operator-toolkit.js +13 -13
  75. package/dist/orchestrator.js +24 -24
  76. package/dist/search/factory.js +4 -4
  77. package/dist/search/index.js +6 -6
  78. package/dist/secure-store/index.d.ts +1 -15
  79. package/dist/secure-store/index.js +2 -2
  80. package/dist/semantic-consolidation.js +5 -5
  81. package/dist/semantic-rule-promotion.js +4 -4
  82. package/dist/semantic-rule-verifier.js +4 -4
  83. package/dist/storage.d.ts +7 -0
  84. package/dist/storage.js +3 -3
  85. package/dist/transfer/backup.js +2 -2
  86. package/dist/transfer/capsule-export.js +4 -4
  87. package/dist/transfer/capsule-import.js +3 -3
  88. package/dist/transfer/import-sqlite.js +2 -2
  89. package/dist/verified-recall.js +4 -4
  90. package/package.json +1 -1
  91. package/src/access-http.test.ts +216 -0
  92. package/src/access-http.ts +54 -0
  93. package/src/access-schema.ts +18 -0
  94. package/src/access-service.ts +76 -0
  95. package/src/index.ts +33 -0
  96. package/src/offline-sync.test.ts +521 -0
  97. package/src/offline-sync.ts +998 -0
  98. package/src/qmd.test.ts +1 -0
  99. package/src/secure-store/secure-fs.ts +14 -7
  100. package/src/storage.ts +59 -0
  101. package/dist/chunk-7AAT6G4Q.js.map +0 -1
  102. package/dist/chunk-A2XUIMJ3.js.map +0 -1
  103. package/dist/chunk-CQZRLNMV.js.map +0 -1
  104. package/dist/chunk-M23FSH32.js.map +0 -1
  105. package/dist/chunk-YNJHCGDT.js.map +0 -1
  106. /package/dist/{chunk-VNO6ZJ35.js.map → chunk-2PRLKQAH.js.map} +0 -0
  107. /package/dist/{chunk-EFJ3MQ4V.js.map → chunk-65HQPW6O.js.map} +0 -0
  108. /package/dist/{chunk-GA454ALV.js.map → chunk-AAX3SUM3.js.map} +0 -0
  109. /package/dist/{chunk-QQUAB63I.js.map → chunk-BEB4GUU5.js.map} +0 -0
  110. /package/dist/{chunk-WZYKANL3.js.map → chunk-BNATB54A.js.map} +0 -0
  111. /package/dist/{chunk-KUJVMMZQ.js.map → chunk-C7DGCHJE.js.map} +0 -0
  112. /package/dist/{chunk-PR5FBTFU.js.map → chunk-CYFQJMUV.js.map} +0 -0
  113. /package/dist/{chunk-KLAO5DGL.js.map → chunk-G7JBLD65.js.map} +0 -0
  114. /package/dist/{chunk-ME6ESPZU.js.map → chunk-IG5VGHYB.js.map} +0 -0
  115. /package/dist/{chunk-XVZ7B3HG.js.map → chunk-JFEH2LZM.js.map} +0 -0
  116. /package/dist/{chunk-JLFA7DQG.js.map → chunk-M3AA636B.js.map} +0 -0
  117. /package/dist/{chunk-P4NEIHUT.js.map → chunk-MS3ULOZF.js.map} +0 -0
  118. /package/dist/{chunk-7IASACLB.js.map → chunk-NOHC2L57.js.map} +0 -0
  119. /package/dist/{chunk-6RVI47ZR.js.map → chunk-NTUNYIF7.js.map} +0 -0
  120. /package/dist/{chunk-CK5NTM2S.js.map → chunk-OGROP7ZN.js.map} +0 -0
  121. /package/dist/{chunk-MT25YHYH.js.map → chunk-OJRKZLZ4.js.map} +0 -0
  122. /package/dist/{chunk-2F2W355T.js.map → chunk-QA2ZAPBU.js.map} +0 -0
  123. /package/dist/{chunk-MC26UJIM.js.map → chunk-QLKBF3TI.js.map} +0 -0
  124. /package/dist/{chunk-VW676BEI.js.map → chunk-V7WH7DEM.js.map} +0 -0
  125. /package/dist/{chunk-PU63GXWS.js.map → chunk-W7DK3CYM.js.map} +0 -0
  126. /package/dist/{chunk-TFO23QT4.js.map → chunk-XKLD5OK4.js.map} +0 -0
  127. /package/dist/{chunk-I5V2VDIW.js.map → chunk-YCVWX2NF.js.map} +0 -0
  128. /package/dist/{chunk-UXHQAFNA.js.map → chunk-ZPXYWTN5.js.map} +0 -0
  129. /package/dist/{chunk-CHEL3SKB.js.map → chunk-ZYRMKWVW.js.map} +0 -0
  130. /package/dist/{chunk-GGKRUQOO.js.map → chunk-ZYVPLJ4T.js.map} +0 -0
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  LcmEngine,
3
3
  extractLcmConfig
4
- } from "../chunk-VNO6ZJ35.js";
4
+ } from "../chunk-2PRLKQAH.js";
5
+ import "../chunk-7XYTQGCC.js";
5
6
  import "../chunk-34DQE4KF.js";
6
7
  import "../chunk-56K5QLHX.js";
7
8
  import "../chunk-7N4KAIGN.js";
8
9
  import "../chunk-TPDBFYEG.js";
9
10
  import "../chunk-ZTFCYYEZ.js";
10
- import "../chunk-7XYTQGCC.js";
11
11
  import "../chunk-4RA3C3EV.js";
12
12
  import "../chunk-3APJ5EVB.js";
13
13
  import "../chunk-3HPAPHUK.js";
package/dist/lcm/index.js CHANGED
@@ -5,7 +5,11 @@ import {
5
5
  import {
6
6
  LcmEngine,
7
7
  extractLcmConfig
8
- } from "../chunk-VNO6ZJ35.js";
8
+ } from "../chunk-2PRLKQAH.js";
9
+ import {
10
+ ensureLcmStateDir,
11
+ openLcmDatabase
12
+ } from "../chunk-7XYTQGCC.js";
9
13
  import {
10
14
  LcmSummarizer
11
15
  } from "../chunk-34DQE4KF.js";
@@ -20,10 +24,6 @@ import "../chunk-TPDBFYEG.js";
20
24
  import {
21
25
  assembleCompressedHistory
22
26
  } from "../chunk-ZTFCYYEZ.js";
23
- import {
24
- ensureLcmStateDir,
25
- openLcmDatabase
26
- } from "../chunk-7XYTQGCC.js";
27
27
  import "../chunk-4RA3C3EV.js";
28
28
  import "../chunk-3APJ5EVB.js";
29
29
  import "../chunk-3HPAPHUK.js";
@@ -6,13 +6,13 @@ import {
6
6
  readMemoryGovernanceRunArtifact,
7
7
  restoreMemoryGovernanceRun,
8
8
  runMemoryGovernance
9
- } from "../chunk-EFJ3MQ4V.js";
10
- import "../chunk-7AAT6G4Q.js";
9
+ } from "../chunk-65HQPW6O.js";
10
+ import "../chunk-IOAY54RF.js";
11
11
  import "../chunk-5UZXUTVO.js";
12
- import "../chunk-YNJHCGDT.js";
13
- import "../chunk-P7FMDTKL.js";
12
+ import "../chunk-SH5S7XYD.js";
14
13
  import "../chunk-NN2DKE4T.js";
15
14
  import "../chunk-Q7P4WJDP.js";
15
+ import "../chunk-P7FMDTKL.js";
16
16
  import "../chunk-SCU65EZI.js";
17
17
  import "../chunk-3KW65B36.js";
18
18
  import "../chunk-3HPAPHUK.js";
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  rebuildMemoryLifecycleLedger
3
- } from "../chunk-JLFA7DQG.js";
3
+ } from "../chunk-M3AA636B.js";
4
4
  import "../chunk-KJTKLXTH.js";
5
- import "../chunk-7AAT6G4Q.js";
5
+ import "../chunk-IOAY54RF.js";
6
6
  import "../chunk-5UZXUTVO.js";
7
- import "../chunk-YNJHCGDT.js";
8
- import "../chunk-P7FMDTKL.js";
7
+ import "../chunk-SH5S7XYD.js";
9
8
  import "../chunk-NN2DKE4T.js";
10
9
  import "../chunk-Q7P4WJDP.js";
10
+ import "../chunk-P7FMDTKL.js";
11
11
  import "../chunk-SCU65EZI.js";
12
12
  import "../chunk-3KW65B36.js";
13
13
  import "../chunk-3HPAPHUK.js";
@@ -2,16 +2,16 @@ import {
2
2
  rebuildMemoryProjection,
3
3
  repairMemoryProjection,
4
4
  verifyMemoryProjection
5
- } from "../chunk-KLAO5DGL.js";
5
+ } from "../chunk-G7JBLD65.js";
6
6
  import "../chunk-KJTKLXTH.js";
7
7
  import "../chunk-7SEAZFFB.js";
8
- import "../chunk-EFJ3MQ4V.js";
9
- import "../chunk-7AAT6G4Q.js";
8
+ import "../chunk-65HQPW6O.js";
9
+ import "../chunk-IOAY54RF.js";
10
10
  import "../chunk-5UZXUTVO.js";
11
- import "../chunk-YNJHCGDT.js";
12
- import "../chunk-P7FMDTKL.js";
11
+ import "../chunk-SH5S7XYD.js";
13
12
  import "../chunk-NN2DKE4T.js";
14
13
  import "../chunk-Q7P4WJDP.js";
14
+ import "../chunk-P7FMDTKL.js";
15
15
  import "../chunk-SCU65EZI.js";
16
16
  import "../chunk-3KW65B36.js";
17
17
  import "../chunk-3HPAPHUK.js";
@@ -1,4 +1,4 @@
1
- import { a as EngramAccessRecallResponse } from './access-service-DcCDmNYC.js';
1
+ import { a as EngramAccessRecallResponse } from './access-service-BCMine1s.js';
2
2
  import { ActionConfidenceRequest } from './access-schema.js';
3
3
  import { RecallXraySnapshot } from './recall-xray.js';
4
4
  import { ActionConfidenceResult } from './action-confidence.js';
@@ -61,6 +61,7 @@ import './transfer/capsule-import.js';
61
61
  import './transfer/types.js';
62
62
  import './transfer/capsule-export.js';
63
63
  import './capsule-cli.js';
64
+ import './offline-sync.js';
64
65
 
65
66
  declare const REMNIC_CHATGPT_MEMORY_INSPECTOR_TOOL: "engram.chatgpt_memory_inspector";
66
67
  declare const REMNIC_CHATGPT_MEMORY_INSPECTOR_CANONICAL_TOOL: "remnic.chatgpt_memory_inspector";
@@ -2,31 +2,31 @@ import {
2
2
  listNamespaces,
3
3
  runNamespaceMigration,
4
4
  verifyNamespaces
5
- } from "../chunk-MT25YHYH.js";
6
- import "../chunk-PU63GXWS.js";
7
- import "../chunk-6RVI47ZR.js";
5
+ } from "../chunk-OJRKZLZ4.js";
6
+ import "../chunk-BEB4GUU5.js";
7
+ import "../chunk-W7DK3CYM.js";
8
+ import "../chunk-NTUNYIF7.js";
9
+ import "../chunk-NJ3MJQZX.js";
8
10
  import "../chunk-XVVIG67A.js";
9
11
  import "../chunk-PIRJPV5T.js";
10
12
  import "../chunk-RXDLTSWT.js";
11
13
  import "../chunk-3VAL7ZL2.js";
12
14
  import "../chunk-TMQLARTH.js";
13
15
  import "../chunk-MJFNCJXV.js";
14
- import "../chunk-NJ3MJQZX.js";
15
- import "../chunk-QQUAB63I.js";
16
- import "../chunk-PR5FBTFU.js";
16
+ import "../chunk-CYFQJMUV.js";
17
+ import "../chunk-7DTASS5T.js";
17
18
  import "../chunk-FJ43PRLT.js";
18
19
  import "../chunk-LLQ2LLWF.js";
19
- import "../chunk-7DTASS5T.js";
20
20
  import "../chunk-BJ3KMYTB.js";
21
21
  import "../chunk-PVGDJXVK.js";
22
22
  import "../chunk-NNVTUXEB.js";
23
23
  import "../chunk-U3PN77QT.js";
24
- import "../chunk-7AAT6G4Q.js";
24
+ import "../chunk-IOAY54RF.js";
25
25
  import "../chunk-5UZXUTVO.js";
26
- import "../chunk-YNJHCGDT.js";
27
- import "../chunk-P7FMDTKL.js";
26
+ import "../chunk-SH5S7XYD.js";
28
27
  import "../chunk-NN2DKE4T.js";
29
28
  import "../chunk-Q7P4WJDP.js";
29
+ import "../chunk-P7FMDTKL.js";
30
30
  import "../chunk-SCU65EZI.js";
31
31
  import "../chunk-3KW65B36.js";
32
32
  import "../chunk-3HPAPHUK.js";
@@ -1,19 +1,19 @@
1
1
  import {
2
2
  NamespaceSearchRouter,
3
3
  namespaceCollectionName
4
- } from "../chunk-PU63GXWS.js";
5
- import "../chunk-6RVI47ZR.js";
4
+ } from "../chunk-W7DK3CYM.js";
5
+ import "../chunk-NTUNYIF7.js";
6
+ import "../chunk-NJ3MJQZX.js";
6
7
  import "../chunk-XVVIG67A.js";
7
8
  import "../chunk-PIRJPV5T.js";
8
9
  import "../chunk-RXDLTSWT.js";
9
10
  import "../chunk-3VAL7ZL2.js";
10
11
  import "../chunk-TMQLARTH.js";
11
12
  import "../chunk-MJFNCJXV.js";
12
- import "../chunk-NJ3MJQZX.js";
13
- import "../chunk-PR5FBTFU.js";
13
+ import "../chunk-CYFQJMUV.js";
14
+ import "../chunk-7DTASS5T.js";
14
15
  import "../chunk-FJ43PRLT.js";
15
16
  import "../chunk-LLQ2LLWF.js";
16
- import "../chunk-7DTASS5T.js";
17
17
  import "../chunk-BJ3KMYTB.js";
18
18
  import "../chunk-PVGDJXVK.js";
19
19
  import "../chunk-NNVTUXEB.js";
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  NamespaceStorageRouter
3
- } from "../chunk-QQUAB63I.js";
3
+ } from "../chunk-BEB4GUU5.js";
4
4
  import "../chunk-U3PN77QT.js";
5
- import "../chunk-7AAT6G4Q.js";
5
+ import "../chunk-IOAY54RF.js";
6
6
  import "../chunk-5UZXUTVO.js";
7
- import "../chunk-YNJHCGDT.js";
8
- import "../chunk-P7FMDTKL.js";
7
+ import "../chunk-SH5S7XYD.js";
9
8
  import "../chunk-NN2DKE4T.js";
10
9
  import "../chunk-Q7P4WJDP.js";
10
+ import "../chunk-P7FMDTKL.js";
11
11
  import "../chunk-SCU65EZI.js";
12
12
  import "../chunk-3KW65B36.js";
13
13
  import "../chunk-3HPAPHUK.js";
@@ -0,0 +1,136 @@
1
+ declare const OFFLINE_SYNC_SNAPSHOT_FORMAT = "remnic.offline-sync.snapshot.v1";
2
+ declare const OFFLINE_SYNC_CHANGESET_FORMAT = "remnic.offline-sync.changeset.v1";
3
+ declare const OFFLINE_SYNC_STATE_VERSION = 1;
4
+ interface OfflineSyncFileState {
5
+ path: string;
6
+ sha256: string;
7
+ /** Byte length of the transferable content, after any readFile hook such as secure-store decryption. */
8
+ bytes: number;
9
+ mtimeMs: number;
10
+ }
11
+ interface OfflineSyncFileRecord extends OfflineSyncFileState {
12
+ contentBase64?: string;
13
+ }
14
+ interface OfflineSyncSnapshot {
15
+ format: typeof OFFLINE_SYNC_SNAPSHOT_FORMAT;
16
+ schemaVersion: 1;
17
+ createdAt: string;
18
+ sourceId: string;
19
+ includeTranscripts: boolean;
20
+ files: OfflineSyncFileRecord[];
21
+ }
22
+ type OfflineSyncChange = {
23
+ type: "upsert";
24
+ path: string;
25
+ baseSha256?: string;
26
+ file: OfflineSyncFileRecord & {
27
+ contentBase64: string;
28
+ };
29
+ } | {
30
+ type: "delete";
31
+ path: string;
32
+ baseSha256: string;
33
+ };
34
+ interface OfflineSyncChangeset {
35
+ format: typeof OFFLINE_SYNC_CHANGESET_FORMAT;
36
+ schemaVersion: 1;
37
+ createdAt: string;
38
+ sourceId: string;
39
+ includeTranscripts: boolean;
40
+ changes: OfflineSyncChange[];
41
+ }
42
+ interface OfflineSyncState {
43
+ version: typeof OFFLINE_SYNC_STATE_VERSION;
44
+ remoteId: string;
45
+ namespace?: string;
46
+ includeTranscripts: boolean;
47
+ lastSyncedAt: string;
48
+ baseFiles: OfflineSyncFileState[];
49
+ }
50
+ interface OfflineSyncConflict {
51
+ path: string;
52
+ reason: "both_modified" | "local_deleted_remote_modified" | "local_modified_remote_deleted" | "remote_exists_for_local_create" | "remote_changed_for_local_update" | "remote_deleted_for_local_update" | "remote_changed_for_local_delete";
53
+ baseSha256?: string;
54
+ localSha256?: string;
55
+ incomingSha256?: string;
56
+ conflictPath?: string;
57
+ }
58
+ interface OfflineSyncApplySnapshotResult {
59
+ upserted: number;
60
+ deleted: number;
61
+ skipped: number;
62
+ pendingLocal: number;
63
+ conflicts: OfflineSyncConflict[];
64
+ nextBaseFiles: OfflineSyncFileState[];
65
+ }
66
+ interface OfflineSyncApplyChangesetResult {
67
+ appliedUpserts: number;
68
+ appliedDeletes: number;
69
+ skipped: number;
70
+ conflicts: OfflineSyncConflict[];
71
+ currentFiles: OfflineSyncFileState[];
72
+ }
73
+ interface OfflineSyncChangesetSummary {
74
+ upserts: number;
75
+ deletes: number;
76
+ total: number;
77
+ }
78
+ interface OfflineSyncFileTarget {
79
+ root: string;
80
+ path: string;
81
+ filePath: string;
82
+ }
83
+ interface OfflineSyncFileWriteTarget extends OfflineSyncFileTarget {
84
+ content: Buffer;
85
+ }
86
+ declare function normalizeOfflineSyncSnapshot(input: unknown, options?: {
87
+ requireContent?: boolean;
88
+ }): OfflineSyncSnapshot;
89
+ declare function normalizeOfflineSyncChangeset(input: unknown): OfflineSyncChangeset;
90
+ declare function buildOfflineSyncSnapshot(options: {
91
+ root: string;
92
+ sourceId: string;
93
+ includeContent?: boolean;
94
+ includeTranscripts?: boolean;
95
+ now?: Date;
96
+ readFile?: (target: OfflineSyncFileTarget) => Promise<Buffer>;
97
+ }): Promise<OfflineSyncSnapshot>;
98
+ declare function buildOfflineSyncChangeset(options: {
99
+ root: string;
100
+ sourceId: string;
101
+ baseFiles?: readonly OfflineSyncFileState[];
102
+ includeTranscripts?: boolean;
103
+ now?: Date;
104
+ readFile?: (target: OfflineSyncFileTarget) => Promise<Buffer>;
105
+ }): Promise<OfflineSyncChangeset>;
106
+ declare function summarizeOfflineSyncChangeset(changeset: OfflineSyncChangeset): OfflineSyncChangesetSummary;
107
+ declare function applyOfflineSyncSnapshot(options: {
108
+ root: string;
109
+ snapshot: unknown;
110
+ baseFiles?: readonly OfflineSyncFileState[];
111
+ writeConflictCopies?: boolean;
112
+ readFile?: (target: OfflineSyncFileTarget) => Promise<Buffer>;
113
+ writeFile?: (target: OfflineSyncFileWriteTarget) => Promise<void>;
114
+ deleteFile?: (target: OfflineSyncFileTarget) => Promise<void>;
115
+ }): Promise<OfflineSyncApplySnapshotResult>;
116
+ declare function applyOfflineSyncChangeset(options: {
117
+ root: string;
118
+ changeset: unknown;
119
+ writeConflictCopies?: boolean;
120
+ readFile?: (target: OfflineSyncFileTarget) => Promise<Buffer>;
121
+ writeFile?: (target: OfflineSyncFileWriteTarget) => Promise<void>;
122
+ deleteFile?: (target: OfflineSyncFileTarget) => Promise<void>;
123
+ }): Promise<OfflineSyncApplyChangesetResult>;
124
+ declare function defaultOfflineSyncStatePath(memoryDir: string, remoteId: string, namespace?: string): string;
125
+ declare function readOfflineSyncState(statePath: string): Promise<OfflineSyncState | null>;
126
+ declare function writeOfflineSyncState(statePath: string, state: OfflineSyncState): Promise<void>;
127
+ declare function offlineSyncStateFromSnapshot(options: {
128
+ remoteId: string;
129
+ namespace?: string;
130
+ snapshot: OfflineSyncSnapshot;
131
+ baseFiles?: readonly OfflineSyncFileState[];
132
+ }): OfflineSyncState;
133
+ declare function normalizeOfflineSyncState(input: unknown): OfflineSyncState;
134
+ declare function fileStatesFromSnapshot(snapshot: OfflineSyncSnapshot): OfflineSyncFileState[];
135
+
136
+ export { OFFLINE_SYNC_CHANGESET_FORMAT, OFFLINE_SYNC_SNAPSHOT_FORMAT, OFFLINE_SYNC_STATE_VERSION, type OfflineSyncApplyChangesetResult, type OfflineSyncApplySnapshotResult, type OfflineSyncChange, type OfflineSyncChangeset, type OfflineSyncChangesetSummary, type OfflineSyncConflict, type OfflineSyncFileRecord, type OfflineSyncFileState, type OfflineSyncFileTarget, type OfflineSyncFileWriteTarget, type OfflineSyncSnapshot, type OfflineSyncState, applyOfflineSyncChangeset, applyOfflineSyncSnapshot, buildOfflineSyncChangeset, buildOfflineSyncSnapshot, defaultOfflineSyncStatePath, fileStatesFromSnapshot, normalizeOfflineSyncChangeset, normalizeOfflineSyncSnapshot, normalizeOfflineSyncState, offlineSyncStateFromSnapshot, readOfflineSyncState, summarizeOfflineSyncChangeset, writeOfflineSyncState };
@@ -0,0 +1,41 @@
1
+ import {
2
+ OFFLINE_SYNC_CHANGESET_FORMAT,
3
+ OFFLINE_SYNC_SNAPSHOT_FORMAT,
4
+ OFFLINE_SYNC_STATE_VERSION,
5
+ applyOfflineSyncChangeset,
6
+ applyOfflineSyncSnapshot,
7
+ buildOfflineSyncChangeset,
8
+ buildOfflineSyncSnapshot,
9
+ defaultOfflineSyncStatePath,
10
+ fileStatesFromSnapshot,
11
+ normalizeOfflineSyncChangeset,
12
+ normalizeOfflineSyncSnapshot,
13
+ normalizeOfflineSyncState,
14
+ offlineSyncStateFromSnapshot,
15
+ readOfflineSyncState,
16
+ summarizeOfflineSyncChangeset,
17
+ writeOfflineSyncState
18
+ } from "./chunk-GSP6ZKOY.js";
19
+ import "./chunk-P7FMDTKL.js";
20
+ import "./chunk-I6K5FBRQ.js";
21
+ import "./chunk-AGZQD76C.js";
22
+ import "./chunk-PZ5AY32C.js";
23
+ export {
24
+ OFFLINE_SYNC_CHANGESET_FORMAT,
25
+ OFFLINE_SYNC_SNAPSHOT_FORMAT,
26
+ OFFLINE_SYNC_STATE_VERSION,
27
+ applyOfflineSyncChangeset,
28
+ applyOfflineSyncSnapshot,
29
+ buildOfflineSyncChangeset,
30
+ buildOfflineSyncSnapshot,
31
+ defaultOfflineSyncStatePath,
32
+ fileStatesFromSnapshot,
33
+ normalizeOfflineSyncChangeset,
34
+ normalizeOfflineSyncSnapshot,
35
+ normalizeOfflineSyncState,
36
+ offlineSyncStateFromSnapshot,
37
+ readOfflineSyncState,
38
+ summarizeOfflineSyncChangeset,
39
+ writeOfflineSyncState
40
+ };
41
+ //# sourceMappingURL=offline-sync.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -11,27 +11,27 @@ import {
11
11
  summarizeMemoryWorthLegacyCounters,
12
12
  summarizeObservationThroughput,
13
13
  summarizeTierDistribution
14
- } from "./chunk-UXHQAFNA.js";
15
- import "./chunk-MT25YHYH.js";
14
+ } from "./chunk-ZPXYWTN5.js";
15
+ import "./chunk-OJRKZLZ4.js";
16
16
  import "./chunk-5HRY2WRF.js";
17
17
  import "./chunk-YBPYIAA5.js";
18
- import "./chunk-PU63GXWS.js";
19
- import "./chunk-6RVI47ZR.js";
18
+ import "./chunk-BEB4GUU5.js";
19
+ import "./chunk-W7DK3CYM.js";
20
+ import "./chunk-NTUNYIF7.js";
21
+ import "./chunk-NJ3MJQZX.js";
20
22
  import "./chunk-XVVIG67A.js";
21
23
  import "./chunk-PIRJPV5T.js";
22
24
  import "./chunk-RXDLTSWT.js";
23
25
  import "./chunk-3VAL7ZL2.js";
24
26
  import "./chunk-TMQLARTH.js";
25
27
  import "./chunk-MJFNCJXV.js";
26
- import "./chunk-NJ3MJQZX.js";
27
- import "./chunk-QQUAB63I.js";
28
- import "./chunk-PR5FBTFU.js";
28
+ import "./chunk-CYFQJMUV.js";
29
+ import "./chunk-7DTASS5T.js";
29
30
  import "./chunk-FJ43PRLT.js";
30
31
  import "./chunk-LLQ2LLWF.js";
31
- import "./chunk-7DTASS5T.js";
32
32
  import "./chunk-YRMVARQP.js";
33
- import "./chunk-U66YHYC7.js";
34
33
  import "./chunk-BJ3KMYTB.js";
34
+ import "./chunk-U66YHYC7.js";
35
35
  import "./chunk-7SEAZFFB.js";
36
36
  import "./chunk-D46YSIYX.js";
37
37
  import "./chunk-AJU4PJGY.js";
@@ -39,18 +39,18 @@ import "./chunk-2QR3XXIC.js";
39
39
  import "./chunk-PHK3HARR.js";
40
40
  import "./chunk-Z5LAYHGJ.js";
41
41
  import "./chunk-PVGDJXVK.js";
42
- import "./chunk-EFJ3MQ4V.js";
42
+ import "./chunk-65HQPW6O.js";
43
43
  import "./chunk-NNVTUXEB.js";
44
44
  import "./chunk-U3PN77QT.js";
45
45
  import "./chunk-RK2Y4XOM.js";
46
46
  import "./chunk-2LSZVONP.js";
47
47
  import "./chunk-WIICJPET.js";
48
- import "./chunk-7AAT6G4Q.js";
48
+ import "./chunk-IOAY54RF.js";
49
49
  import "./chunk-5UZXUTVO.js";
50
- import "./chunk-YNJHCGDT.js";
51
- import "./chunk-P7FMDTKL.js";
50
+ import "./chunk-SH5S7XYD.js";
52
51
  import "./chunk-NN2DKE4T.js";
53
52
  import "./chunk-Q7P4WJDP.js";
53
+ import "./chunk-P7FMDTKL.js";
54
54
  import "./chunk-SCU65EZI.js";
55
55
  import "./chunk-3KW65B36.js";
56
56
  import "./chunk-3HPAPHUK.js";
@@ -26,45 +26,45 @@ import {
26
26
  sanitizeSessionKeyForFilename,
27
27
  shouldFilterLifecycleRecallCandidate,
28
28
  summarizeGraphShadowComparison
29
- } from "./chunk-GA454ALV.js";
30
- import "./chunk-CK5NTM2S.js";
29
+ } from "./chunk-AAX3SUM3.js";
30
+ import "./chunk-OGROP7ZN.js";
31
31
  import "./chunk-KOSORCJG.js";
32
32
  import "./chunk-BFBF3XEF.js";
33
33
  import "./chunk-HHLLAQGZ.js";
34
34
  import "./chunk-UWK5OXUJ.js";
35
- import "./chunk-VNO6ZJ35.js";
35
+ import "./chunk-2PRLKQAH.js";
36
+ import "./chunk-7XYTQGCC.js";
36
37
  import "./chunk-34DQE4KF.js";
37
38
  import "./chunk-56K5QLHX.js";
38
39
  import "./chunk-7N4KAIGN.js";
39
40
  import "./chunk-TPDBFYEG.js";
40
41
  import "./chunk-ZTFCYYEZ.js";
41
- import "./chunk-7XYTQGCC.js";
42
42
  import "./chunk-TECVW3JP.js";
43
43
  import "./chunk-RYED3SPJ.js";
44
- import "./chunk-KUJVMMZQ.js";
44
+ import "./chunk-C7DGCHJE.js";
45
45
  import "./chunk-U4SCL7B7.js";
46
+ import "./chunk-UHGBNIOS.js";
46
47
  import "./chunk-FSFEQI74.js";
47
48
  import "./chunk-OIGNEXKZ.js";
48
49
  import "./chunk-MDYG7VI7.js";
49
50
  import "./chunk-Z5AAYHUC.js";
50
51
  import "./chunk-S75M5ZRK.js";
51
52
  import "./chunk-TPB3I2AC.js";
52
- import "./chunk-UHGBNIOS.js";
53
53
  import "./chunk-H3ME6L6D.js";
54
54
  import "./chunk-XJNBEDFE.js";
55
55
  import "./chunk-VWT3F4IV.js";
56
56
  import "./chunk-JR4ZC3G4.js";
57
+ import "./chunk-K4FLSOR5.js";
58
+ import "./chunk-V3RXWQIE.js";
57
59
  import "./chunk-5IZL4DCV.js";
60
+ import "./chunk-X7XN6YU4.js";
58
61
  import "./chunk-5NPGSAVB.js";
59
62
  import "./chunk-C7VW7C3F.js";
60
63
  import "./chunk-OZKZ2TRP.js";
61
- import "./chunk-K4FLSOR5.js";
62
- import "./chunk-V3RXWQIE.js";
64
+ import "./chunk-7DHTMOND.js";
63
65
  import "./chunk-WPGJYVUH.js";
64
- import "./chunk-X7XN6YU4.js";
65
66
  import "./chunk-ZZTOURJI.js";
66
67
  import "./chunk-YDBIWGNI.js";
67
- import "./chunk-7DHTMOND.js";
68
68
  import "./chunk-YCN4BVDK.js";
69
69
  import "./chunk-D654IBA6.js";
70
70
  import "./chunk-3GPTTA4J.js";
@@ -82,7 +82,7 @@ import "./chunk-54V4BZWP.js";
82
82
  import "./chunk-QR3C7BKQ.js";
83
83
  import "./chunk-EDTHC6UD.js";
84
84
  import "./chunk-DB5A3NHS.js";
85
- import "./chunk-7IASACLB.js";
85
+ import "./chunk-NOHC2L57.js";
86
86
  import "./chunk-6NKAQ74D.js";
87
87
  import "./chunk-OAZ5MFUB.js";
88
88
  import "./chunk-PYPOFEMK.js";
@@ -93,35 +93,35 @@ import "./chunk-Y4FHOFJ2.js";
93
93
  import "./chunk-NMZY542O.js";
94
94
  import "./chunk-3PG3H5TD.js";
95
95
  import "./chunk-2NMMFZ5T.js";
96
- import "./chunk-I5V2VDIW.js";
97
- import "./chunk-ME6ESPZU.js";
96
+ import "./chunk-YCVWX2NF.js";
97
+ import "./chunk-IG5VGHYB.js";
98
98
  import "./chunk-RHY3HH7P.js";
99
99
  import "./chunk-EJI5XIBB.js";
100
100
  import "./chunk-2PRQG7PV.js";
101
101
  import "./chunk-LUDTDZLK.js";
102
+ import "./chunk-MS3ULOZF.js";
102
103
  import "./chunk-PYXS46O7.js";
103
104
  import "./chunk-3QKK7QOS.js";
104
- import "./chunk-P4NEIHUT.js";
105
105
  import "./chunk-W4RVMTHR.js";
106
- import "./chunk-MC26UJIM.js";
106
+ import "./chunk-QLKBF3TI.js";
107
107
  import "./chunk-CULXMQJH.js";
108
108
  import "./chunk-5375UYTQ.js";
109
109
  import "./chunk-FF4KLI5W.js";
110
110
  import "./chunk-EABGC2TL.js";
111
- import "./chunk-PU63GXWS.js";
112
- import "./chunk-6RVI47ZR.js";
111
+ import "./chunk-BEB4GUU5.js";
112
+ import "./chunk-W7DK3CYM.js";
113
+ import "./chunk-NTUNYIF7.js";
114
+ import "./chunk-NJ3MJQZX.js";
113
115
  import "./chunk-XVVIG67A.js";
114
116
  import "./chunk-PIRJPV5T.js";
115
117
  import "./chunk-RXDLTSWT.js";
116
118
  import "./chunk-3VAL7ZL2.js";
117
119
  import "./chunk-TMQLARTH.js";
118
120
  import "./chunk-MJFNCJXV.js";
119
- import "./chunk-NJ3MJQZX.js";
120
- import "./chunk-QQUAB63I.js";
121
- import "./chunk-PR5FBTFU.js";
121
+ import "./chunk-CYFQJMUV.js";
122
+ import "./chunk-7DTASS5T.js";
122
123
  import "./chunk-FJ43PRLT.js";
123
124
  import "./chunk-LLQ2LLWF.js";
124
- import "./chunk-7DTASS5T.js";
125
125
  import "./chunk-YRMVARQP.js";
126
126
  import "./chunk-BJ3KMYTB.js";
127
127
  import "./chunk-HXXBL2KD.js";
@@ -166,12 +166,12 @@ import "./chunk-U3PN77QT.js";
166
166
  import "./chunk-RK2Y4XOM.js";
167
167
  import "./chunk-2LSZVONP.js";
168
168
  import "./chunk-WIICJPET.js";
169
- import "./chunk-7AAT6G4Q.js";
169
+ import "./chunk-IOAY54RF.js";
170
170
  import "./chunk-5UZXUTVO.js";
171
- import "./chunk-YNJHCGDT.js";
172
- import "./chunk-P7FMDTKL.js";
171
+ import "./chunk-SH5S7XYD.js";
173
172
  import "./chunk-NN2DKE4T.js";
174
173
  import "./chunk-Q7P4WJDP.js";
174
+ import "./chunk-P7FMDTKL.js";
175
175
  import "./chunk-SCU65EZI.js";
176
176
  import "./chunk-3KW65B36.js";
177
177
  import "./chunk-3HPAPHUK.js";
@@ -2,18 +2,18 @@ import {
2
2
  createConversationIndexRuntime,
3
3
  createConversationSearchBackend,
4
4
  createSearchBackend
5
- } from "../chunk-6RVI47ZR.js";
5
+ } from "../chunk-NTUNYIF7.js";
6
+ import "../chunk-NJ3MJQZX.js";
6
7
  import "../chunk-XVVIG67A.js";
7
8
  import "../chunk-PIRJPV5T.js";
8
9
  import "../chunk-RXDLTSWT.js";
9
10
  import "../chunk-3VAL7ZL2.js";
10
11
  import "../chunk-TMQLARTH.js";
11
12
  import "../chunk-MJFNCJXV.js";
12
- import "../chunk-NJ3MJQZX.js";
13
- import "../chunk-PR5FBTFU.js";
13
+ import "../chunk-CYFQJMUV.js";
14
+ import "../chunk-7DTASS5T.js";
14
15
  import "../chunk-FJ43PRLT.js";
15
16
  import "../chunk-LLQ2LLWF.js";
16
- import "../chunk-7DTASS5T.js";
17
17
  import "../chunk-BJ3KMYTB.js";
18
18
  import "../chunk-PVGDJXVK.js";
19
19
  import "../chunk-NNVTUXEB.js";
@@ -2,7 +2,10 @@ import {
2
2
  createConversationIndexRuntime,
3
3
  createConversationSearchBackend,
4
4
  createSearchBackend
5
- } from "../chunk-6RVI47ZR.js";
5
+ } from "../chunk-NTUNYIF7.js";
6
+ import {
7
+ NoopSearchBackend
8
+ } from "../chunk-NJ3MJQZX.js";
6
9
  import {
7
10
  OramaBackend
8
11
  } from "../chunk-XVVIG67A.js";
@@ -21,13 +24,10 @@ import {
21
24
  import {
22
25
  scanMemoryDir
23
26
  } from "../chunk-MJFNCJXV.js";
24
- import {
25
- NoopSearchBackend
26
- } from "../chunk-NJ3MJQZX.js";
27
- import "../chunk-PR5FBTFU.js";
27
+ import "../chunk-CYFQJMUV.js";
28
+ import "../chunk-7DTASS5T.js";
28
29
  import "../chunk-FJ43PRLT.js";
29
30
  import "../chunk-LLQ2LLWF.js";
30
- import "../chunk-7DTASS5T.js";
31
31
  import "../chunk-BJ3KMYTB.js";
32
32
  import "../chunk-PVGDJXVK.js";
33
33
  import "../chunk-NNVTUXEB.js";
@@ -619,20 +619,6 @@ declare function decryptFileBody(buf: Buffer, key: Buffer, aad?: Buffer): Buffer
619
619
  * relative sub-path is used. Otherwise `filePath` is used verbatim.
620
620
  */
621
621
  declare function filePathAad(filePath: string, memoryDir?: string): Buffer;
622
- /**
623
- * Read a file from `filePath`.
624
- *
625
- * - If the file is plaintext (no magic header), return its content
626
- * as-is — back-compat with unencrypted stores.
627
- * - If the file is encrypted AND `key` is provided, decrypt and return
628
- * the plaintext content.
629
- * - If the file is encrypted AND `key` is null, throw
630
- * `SecureStoreLockedError`.
631
- *
632
- * @param filePath Absolute path to the file.
633
- * @param key 32-byte AES-256 key, or null when the store is locked.
634
- * @param memoryDir Memory root for path-bound AAD. Should be absolute.
635
- */
636
622
  declare function readMaybeEncryptedFile(filePath: string, key: Buffer | null, memoryDir?: string): Promise<string>;
637
623
  interface WriteMaybeEncryptedFileOptions {
638
624
  /**
@@ -656,7 +642,7 @@ interface WriteMaybeEncryptedFileOptions {
656
642
  * first, then renamed into place (CLAUDE.md gotcha #54 — never delete
657
643
  * before write).
658
644
  */
659
- declare function writeMaybeEncryptedFile(filePath: string, content: string, key: Buffer | null, options?: WriteMaybeEncryptedFileOptions, memoryDir?: string): Promise<void>;
645
+ declare function writeMaybeEncryptedFile(filePath: string, content: string | Buffer, key: Buffer | null, options?: WriteMaybeEncryptedFileOptions, memoryDir?: string): Promise<void>;
660
646
  interface MigrateResult {
661
647
  /** Number of files successfully encrypted. */
662
648
  encrypted: number;