@remnic/core 1.1.22 → 1.1.24

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 (103) hide show
  1. package/dist/access-cli.js +15 -15
  2. package/dist/access-http.d.ts +9 -1
  3. package/dist/access-http.js +9 -9
  4. package/dist/access-mcp.d.ts +1 -1
  5. package/dist/access-mcp.js +8 -8
  6. package/dist/access-schema.js +3 -3
  7. package/dist/{access-service-DT9L2DW4.d.ts → access-service-CEyV8XJ5.d.ts} +19 -2
  8. package/dist/access-service.d.ts +1 -1
  9. package/dist/access-service.js +6 -6
  10. package/dist/briefing.js +3 -3
  11. package/dist/causal-consolidation.js +4 -4
  12. package/dist/{chunk-YO3AZEE5.js → chunk-25YQM6XW.js} +3 -3
  13. package/dist/{chunk-LDJANWTK.js → chunk-2DM72JF3.js} +12 -12
  14. package/dist/{chunk-TLM762GT.js → chunk-2WIPXV3Y.js} +2 -2
  15. package/dist/{chunk-QOHBYVZG.js → chunk-3F24QTRI.js} +2 -2
  16. package/dist/{chunk-5IQC4OG6.js → chunk-4H6DURG6.js} +2 -2
  17. package/dist/{chunk-26OQECWH.js → chunk-6CB4E7ZV.js} +4 -4
  18. package/dist/{chunk-NOQ74SJN.js → chunk-7D6O46PF.js} +2 -2
  19. package/dist/{chunk-FF46Q3SN.js → chunk-AMVN77EU.js} +360 -32
  20. package/dist/chunk-AMVN77EU.js.map +1 -0
  21. package/dist/{chunk-7Q2P774N.js → chunk-F33CJ5CH.js} +13 -3
  22. package/dist/chunk-F33CJ5CH.js.map +1 -0
  23. package/dist/{chunk-FSODDMR2.js → chunk-IANK6Y5W.js} +2 -2
  24. package/dist/{chunk-UA6OCL6S.js → chunk-JUYT2J3K.js} +106 -11
  25. package/dist/chunk-JUYT2J3K.js.map +1 -0
  26. package/dist/{chunk-NGPO6S3M.js → chunk-LCTP7YRU.js} +42 -5
  27. package/dist/chunk-LCTP7YRU.js.map +1 -0
  28. package/dist/{chunk-GGCJ253V.js → chunk-MVAOT247.js} +8 -8
  29. package/dist/{chunk-SH5S7XYD.js → chunk-MXFBBHJU.js} +72 -2
  30. package/dist/chunk-MXFBBHJU.js.map +1 -0
  31. package/dist/{chunk-VMQRBXJ5.js → chunk-NW7JW5GA.js} +2 -2
  32. package/dist/{chunk-SZKCBLS5.js → chunk-PUXCIHRL.js} +2 -2
  33. package/dist/{chunk-2IRT26RZ.js → chunk-QYHQ2JHL.js} +2 -2
  34. package/dist/{chunk-CN4P6SVA.js → chunk-RCZRL5BE.js} +2 -2
  35. package/dist/{chunk-SGIXDVSF.js → chunk-S27EXIHY.js} +2 -2
  36. package/dist/{chunk-5ML4TH3E.js → chunk-TFORLO3O.js} +4 -4
  37. package/dist/{chunk-TOFUTKQN.js → chunk-TR4DK5OH.js} +2 -2
  38. package/dist/{chunk-6ORWKANA.js → chunk-VYU7PXUS.js} +2 -2
  39. package/dist/{chunk-FFU4GMST.js → chunk-WNARATI3.js} +2 -2
  40. package/dist/{chunk-KSFBM6TV.js → chunk-YITUHONZ.js} +2 -2
  41. package/dist/{cli-BN0CkYzI.d.ts → cli-BguVmIwO.d.ts} +1 -1
  42. package/dist/cli.d.ts +2 -2
  43. package/dist/cli.js +18 -18
  44. package/dist/compounding/engine.js +3 -3
  45. package/dist/connectors/codex-materialize-runner.js +3 -3
  46. package/dist/connectors/index.js +3 -3
  47. package/dist/entity-retrieval.js +3 -3
  48. package/dist/index.d.ts +4 -4
  49. package/dist/index.js +30 -24
  50. package/dist/index.js.map +1 -1
  51. package/dist/maintenance/memory-governance.js +3 -3
  52. package/dist/maintenance/rebuild-memory-lifecycle-ledger.js +3 -3
  53. package/dist/maintenance/rebuild-memory-projection.js +4 -4
  54. package/dist/mcp-memory-inspector-app.d.ts +1 -1
  55. package/dist/namespaces/migrate.js +4 -4
  56. package/dist/namespaces/storage.js +3 -3
  57. package/dist/offline-sync.d.ts +38 -1
  58. package/dist/offline-sync.js +8 -2
  59. package/dist/operator-toolkit.js +6 -6
  60. package/dist/orchestrator.js +11 -11
  61. package/dist/schemas.d.ts +22 -22
  62. package/dist/secure-store/index.js +2 -2
  63. package/dist/semantic-consolidation.js +4 -4
  64. package/dist/semantic-rule-promotion.js +3 -3
  65. package/dist/semantic-rule-verifier.js +3 -3
  66. package/dist/storage.d.ts +2 -0
  67. package/dist/storage.js +2 -2
  68. package/dist/transfer/types.d.ts +12 -12
  69. package/dist/verified-recall.js +3 -3
  70. package/package.json +1 -1
  71. package/src/access-http.test.ts +239 -0
  72. package/src/access-http.ts +128 -7
  73. package/src/access-service-offline-file-content.test.ts +37 -0
  74. package/src/access-service.ts +70 -0
  75. package/src/index.ts +4 -0
  76. package/src/offline-sync.test.ts +395 -79
  77. package/src/offline-sync.ts +473 -32
  78. package/src/secure-store/secure-fs.ts +84 -3
  79. package/src/storage.ts +12 -0
  80. package/dist/chunk-7Q2P774N.js.map +0 -1
  81. package/dist/chunk-FF46Q3SN.js.map +0 -1
  82. package/dist/chunk-NGPO6S3M.js.map +0 -1
  83. package/dist/chunk-SH5S7XYD.js.map +0 -1
  84. package/dist/chunk-UA6OCL6S.js.map +0 -1
  85. /package/dist/{chunk-YO3AZEE5.js.map → chunk-25YQM6XW.js.map} +0 -0
  86. /package/dist/{chunk-LDJANWTK.js.map → chunk-2DM72JF3.js.map} +0 -0
  87. /package/dist/{chunk-TLM762GT.js.map → chunk-2WIPXV3Y.js.map} +0 -0
  88. /package/dist/{chunk-QOHBYVZG.js.map → chunk-3F24QTRI.js.map} +0 -0
  89. /package/dist/{chunk-5IQC4OG6.js.map → chunk-4H6DURG6.js.map} +0 -0
  90. /package/dist/{chunk-26OQECWH.js.map → chunk-6CB4E7ZV.js.map} +0 -0
  91. /package/dist/{chunk-NOQ74SJN.js.map → chunk-7D6O46PF.js.map} +0 -0
  92. /package/dist/{chunk-FSODDMR2.js.map → chunk-IANK6Y5W.js.map} +0 -0
  93. /package/dist/{chunk-GGCJ253V.js.map → chunk-MVAOT247.js.map} +0 -0
  94. /package/dist/{chunk-VMQRBXJ5.js.map → chunk-NW7JW5GA.js.map} +0 -0
  95. /package/dist/{chunk-SZKCBLS5.js.map → chunk-PUXCIHRL.js.map} +0 -0
  96. /package/dist/{chunk-2IRT26RZ.js.map → chunk-QYHQ2JHL.js.map} +0 -0
  97. /package/dist/{chunk-CN4P6SVA.js.map → chunk-RCZRL5BE.js.map} +0 -0
  98. /package/dist/{chunk-SGIXDVSF.js.map → chunk-S27EXIHY.js.map} +0 -0
  99. /package/dist/{chunk-5ML4TH3E.js.map → chunk-TFORLO3O.js.map} +0 -0
  100. /package/dist/{chunk-TOFUTKQN.js.map → chunk-TR4DK5OH.js.map} +0 -0
  101. /package/dist/{chunk-6ORWKANA.js.map → chunk-VYU7PXUS.js.map} +0 -0
  102. /package/dist/{chunk-FFU4GMST.js.map → chunk-WNARATI3.js.map} +0 -0
  103. /package/dist/{chunk-KSFBM6TV.js.map → chunk-YITUHONZ.js.map} +0 -0
@@ -136,10 +136,12 @@ import {
136
136
  type CapsuleListEntry,
137
137
  } from "./capsule-cli.js";
138
138
  import {
139
+ applyOfflineSyncFileContentChunk,
139
140
  applyOfflineSyncChangeset,
140
141
  buildOfflineSyncSnapshot,
141
142
  buildOfflineSyncSnapshotForPaths,
142
143
  readOfflineSyncFileContentChunk,
144
+ type OfflineSyncApplyFileContentChunkResult,
143
145
  type OfflineSyncApplyChangesetResult,
144
146
  type OfflineSyncFileContentChunk,
145
147
  type OfflineSyncSnapshot,
@@ -635,6 +637,20 @@ export interface EngramAccessOfflineSyncFileContentRequest {
635
637
  length?: number;
636
638
  }
637
639
 
640
+ export interface EngramAccessOfflineSyncApplyFileContentRequest {
641
+ namespace?: string;
642
+ principal?: string;
643
+ includeTranscripts?: boolean;
644
+ sourceId: string;
645
+ path: string;
646
+ sha256: string;
647
+ bytes: number;
648
+ mtimeMs: number;
649
+ offset?: number;
650
+ baseSha256?: string;
651
+ content: Buffer;
652
+ }
653
+
638
654
  export interface EngramAccessOfflineSyncApplyRequest {
639
655
  namespace?: string;
640
656
  principal?: string;
@@ -653,6 +669,10 @@ export interface EngramAccessOfflineSyncFileContentResponse extends OfflineSyncF
653
669
  namespace: string;
654
670
  }
655
671
 
672
+ export interface EngramAccessOfflineSyncApplyFileContentResponse extends OfflineSyncApplyFileContentChunkResult {
673
+ namespace: string;
674
+ }
675
+
656
676
  export interface EngramAccessOfflineSyncApplyResponse extends OfflineSyncApplyChangesetResult {
657
677
  namespace: string;
658
678
  }
@@ -5660,6 +5680,56 @@ export class EngramAccessService {
5660
5680
  }
5661
5681
  }
5662
5682
 
5683
+ async offlineSyncApplyFileContent(
5684
+ options: EngramAccessOfflineSyncApplyFileContentRequest,
5685
+ ): Promise<EngramAccessOfflineSyncApplyFileContentResponse> {
5686
+ const resolvedNamespace = this.resolveWritableNamespace(
5687
+ options.namespace,
5688
+ undefined,
5689
+ options.principal,
5690
+ );
5691
+ const storage = await this.orchestrator.getStorage(resolvedNamespace);
5692
+ try {
5693
+ const result = await applyOfflineSyncFileContentChunk({
5694
+ root: storage.dir,
5695
+ sourceId: options.sourceId,
5696
+ path: options.path,
5697
+ sha256: options.sha256,
5698
+ bytes: options.bytes,
5699
+ mtimeMs: options.mtimeMs,
5700
+ offset: options.offset,
5701
+ baseSha256: options.baseSha256,
5702
+ content: options.content,
5703
+ includeTranscripts: options.includeTranscripts !== false,
5704
+ readFile: async ({ filePath }) => storage.readOfflineSyncFile(filePath),
5705
+ writeFile: async ({ filePath, content }) => storage.writeOfflineSyncFile(filePath, content),
5706
+ writeStagingFile: async ({ filePath, content }) => storage.writeOfflineSyncStagingFile(filePath, content),
5707
+ writeFileChunks: async ({ filePath, chunks }) => storage.writeOfflineSyncFileChunks(filePath, chunks),
5708
+ });
5709
+ return {
5710
+ namespace: resolvedNamespace,
5711
+ ...result,
5712
+ };
5713
+ } catch (error) {
5714
+ const message = error instanceof Error ? error.message : String(error);
5715
+ if (
5716
+ message.startsWith("offline sync") ||
5717
+ message.startsWith("path:") ||
5718
+ message.startsWith("sourceId must ") ||
5719
+ message.startsWith("sha256 must ") ||
5720
+ message.startsWith("baseSha256 must ") ||
5721
+ message.startsWith("bytes must ") ||
5722
+ message.startsWith("mtimeMs must ") ||
5723
+ message.startsWith("offset must ") ||
5724
+ message.startsWith("content chunk ") ||
5725
+ message === "content must be a Buffer"
5726
+ ) {
5727
+ throw new EngramAccessInputError(message);
5728
+ }
5729
+ throw error;
5730
+ }
5731
+ }
5732
+
5663
5733
  async offlineSyncApply(
5664
5734
  options: EngramAccessOfflineSyncApplyRequest,
5665
5735
  ): Promise<EngramAccessOfflineSyncApplyResponse> {
package/src/index.ts CHANGED
@@ -679,10 +679,13 @@ export {
679
679
  // ---------------------------------------------------------------------------
680
680
 
681
681
  export {
682
+ OFFLINE_SYNC_APPLY_MAX_BODY_BYTES,
682
683
  OFFLINE_SYNC_CHANGESET_FORMAT,
683
684
  OFFLINE_SYNC_FILE_CONTENT_MAX_CHUNK_BYTES,
685
+ OFFLINE_SYNC_FILE_CONTENT_TRANSFER_CHUNK_BYTES,
684
686
  OFFLINE_SYNC_SNAPSHOT_FORMAT,
685
687
  OFFLINE_SYNC_STATE_VERSION,
688
+ applyOfflineSyncFileContentChunk,
686
689
  applyOfflineSyncChangeset,
687
690
  applyOfflineSyncSnapshot,
688
691
  buildOfflineSyncChangeset,
@@ -698,6 +701,7 @@ export {
698
701
  summarizeOfflineSyncChangeset,
699
702
  summarizeOfflineSyncPendingChanges,
700
703
  writeOfflineSyncState,
704
+ type OfflineSyncApplyFileContentChunkResult,
701
705
  type OfflineSyncApplyChangesetResult,
702
706
  type OfflineSyncApplySnapshotResult,
703
707
  type OfflineSyncChange,