@indigoai-us/hq-cloud 5.36.0 → 5.37.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.
package/dist/s3.test.js CHANGED
@@ -88,7 +88,7 @@ vi.mock("@aws-sdk/client-s3", () => {
88
88
  DeleteObjectCommand,
89
89
  };
90
90
  });
91
- import { uploadFile, uploadSymlink, downloadFile, listRemoteFiles, SYMLINK_BODY_PREFIX, SYMLINK_MARKER_META_VALUE, encodeSymlinkMetadataValue, decodeSymlinkMetadataValue, } from "./s3.js";
91
+ import { uploadFile, uploadSymlink, downloadFile, listRemoteFiles, SYMLINK_BODY_PREFIX, SYMLINK_MARKER_META_VALUE, encodeSymlinkMetadataValue, decodeSymlinkMetadataValue, FILE_MTIME_META_KEY, FILE_BTIME_META_KEY, } from "./s3.js";
92
92
  function makeCtx() {
93
93
  return {
94
94
  uid: "cmp_TEST",
@@ -202,6 +202,57 @@ describe("uploadFile", () => {
202
202
  expect(meta?.["hq-mode"]).toBe(mode.toString(8));
203
203
  }
204
204
  });
205
+ it("stamps source file mtimeMs as hq-mtime metadata (5.37.0 — preserve mtime)", async () => {
206
+ // Symmetric to Bug #5's mode preservation. A file's modification time
207
+ // should follow it across machines instead of resetting to "the time of
208
+ // sync." Push stamps `hq-mtime` = integer-ms epoch string; pull applies
209
+ // it via utimesSync. See FILE_MTIME_META_KEY doc.
210
+ const knownMs = 1_700_000_000_000; // 2023-11-14T22:13:20Z, comfortably finite
211
+ const knownDate = new Date(knownMs);
212
+ fs.utimesSync(tmpFile, knownDate, knownDate);
213
+ await uploadFile(makeCtx(), tmpFile, "stamped.md");
214
+ const put = sentCommands.find((c) => c.name === "PutObjectCommand");
215
+ expect(put).toBeDefined();
216
+ const meta = put.input.Metadata;
217
+ expect(meta?.[FILE_MTIME_META_KEY]).toBe(String(knownMs));
218
+ });
219
+ it("stamps hq-btime only when birthtime is supported AND distinct from mtime", async () => {
220
+ // Many filesystems (Linux/ext4 historically, tmpfs, some FUSE mounts)
221
+ // return birthtimeMs === 0 or birthtimeMs === mtimeMs. Stamping in
222
+ // those cases would be pure noise; the upload side filters it out.
223
+ // We don't control the test filesystem's birthtime semantics, so the
224
+ // assertion is shape-only: IF hq-btime is present, it's a numeric
225
+ // string AND it's distinct from hq-mtime.
226
+ await uploadFile(makeCtx(), tmpFile, "btime.md");
227
+ const put = sentCommands.find((c) => c.name === "PutObjectCommand");
228
+ const meta = put.input.Metadata;
229
+ const btime = meta?.[FILE_BTIME_META_KEY];
230
+ const mtime = meta?.[FILE_MTIME_META_KEY];
231
+ if (typeof btime === "string") {
232
+ expect(btime).toMatch(/^[0-9]{1,16}$/);
233
+ expect(btime).not.toBe(mtime);
234
+ }
235
+ });
236
+ it("does NOT stamp hq-mtime / hq-btime for symlinks (uploadFile branch)", async () => {
237
+ // uploadFile is the regular-file path; uploadSymlink is the symlink
238
+ // path. uploadFile's lstat.isSymbolicLink() guard skips ALL three of
239
+ // mode + mtime + btime stamping for symlinks, mirroring the existing
240
+ // hq-mode policy: symlink times are OS-controlled and fs.utimesSync
241
+ // would follow the link and mutate the target. The link is set up
242
+ // pointing at a real target so fs.readFileSync (which follows links)
243
+ // doesn't ENOENT before the metadata stamping branch even runs.
244
+ const targetPath = path.join(os.tmpdir(), `s3-link-target-${Date.now()}-${Math.random()}.txt`);
245
+ fs.writeFileSync(targetPath, "real-bytes");
246
+ const linkPath = path.join(os.tmpdir(), `s3-link-test-${Date.now()}-${Math.random()}.lnk`);
247
+ fs.symlinkSync(targetPath, linkPath);
248
+ await uploadFile(makeCtx(), linkPath, "link.md");
249
+ const put = sentCommands.find((c) => c.name === "PutObjectCommand");
250
+ const meta = put.input.Metadata;
251
+ expect(meta?.[FILE_MTIME_META_KEY]).toBeUndefined();
252
+ expect(meta?.[FILE_BTIME_META_KEY]).toBeUndefined();
253
+ fs.unlinkSync(linkPath);
254
+ fs.unlinkSync(targetPath);
255
+ });
205
256
  it("elides non-ASCII or empty author fields rather than throwing", async () => {
206
257
  // S3 user-defined metadata must be ASCII-only and total ≤ 2KB. Partial
207
258
  // attribution beats hard failure — values that fail the printable check
@@ -677,6 +728,215 @@ describe("downloadFile", () => {
677
728
  // No assertion on mode — receiver default is whatever umask set.
678
729
  expect(fs.readFileSync(localPath, "utf-8")).toBe("legacy");
679
730
  });
731
+ it("applies hq-mtime via utimesSync after byte write (5.37.0 — preserve mtime)", async () => {
732
+ // Round-trip pair to the s3.upload mtime stamp test. The receiver must
733
+ // set the local file's mtime to the metadata-stamped value AFTER the
734
+ // byte write, mirroring the chmod-after-write shape from Bug #5.
735
+ const knownMs = 1_700_000_000_000;
736
+ nextGetObjectResponse = {
737
+ Body: (async function* () {
738
+ yield new Uint8Array([116, 105, 109, 101]); // "time"
739
+ })(),
740
+ Metadata: { [FILE_MTIME_META_KEY]: String(knownMs) },
741
+ };
742
+ const localPath = path.join(tmpRoot, "mtime-applied.bin");
743
+ await downloadFile(makeCtx(), "mtime-applied.bin", localPath);
744
+ const stat = fs.statSync(localPath);
745
+ // ±50ms tolerance accommodates ms-precision filesystems and the
746
+ // utimesSync→stat round-trip rounding. macOS APFS reports full ms;
747
+ // some Linux filesystems round to seconds — guard with tolerance.
748
+ expect(Math.abs(stat.mtimeMs - knownMs)).toBeLessThanOrEqual(50);
749
+ });
750
+ it("rejects malformed hq-mtime metadata via strict-numeric regex", async () => {
751
+ // Symmetric to the hq-mode Codex P2 lesson: parseInt accepts partial-
752
+ // prefix garbage ("175junk" → 175). A strict `^[0-9]{1,16}$` regex
753
+ // BEFORE parseInt rejects empty / signed / decimals / whitespace /
754
+ // oversized / non-numeric and falls through to "no utimes call,"
755
+ // leaving the file at write-time mtime — the legacy back-compat path.
756
+ // NOTE: `-100` is intentionally NOT in this list — Codex PR #27 P2 pointed
757
+ // out that legitimate epoch values include 0 (Unix epoch) and negatives
758
+ // (e.g. reproducible-build clamping pre-1970). Negative-but-well-formed
759
+ // strings are now accepted; see the dedicated round-trip tests below.
760
+ const malformed = [
761
+ "175junk", // trailing garbage — parseInt parses 175 pre-fix
762
+ "abc", // non-numeric
763
+ "", // empty
764
+ " 100 ", // whitespace
765
+ "--100", // double-sign — only ONE optional leading "-" allowed
766
+ "+100", // explicit plus rejected (regex only allows optional "-")
767
+ "3.14", // decimal
768
+ "99999999999999999", // >16 digits
769
+ ];
770
+ for (const bad of malformed) {
771
+ // Establish a known pre-write mtime by writing the file first.
772
+ const localPath = path.join(tmpRoot, `bad-mtime-${malformed.indexOf(bad)}.bin`);
773
+ nextGetObjectResponse = {
774
+ Body: (async function* () {
775
+ yield new Uint8Array([98]); // "b"
776
+ })(),
777
+ Metadata: { [FILE_MTIME_META_KEY]: bad },
778
+ };
779
+ const before = Date.now();
780
+ await downloadFile(makeCtx(), `bad-mtime-${malformed.indexOf(bad)}.bin`, localPath);
781
+ const stat = fs.statSync(localPath);
782
+ // The file's mtime MUST be wall-clock-now (write-time), NOT the
783
+ // partial-parse value. For "175junk", that means mtime is in the
784
+ // current millis range, not ms=175 (1970-01-01T00:00:00.175Z).
785
+ // Generic check: mtime is near `before` (within 5s).
786
+ expect(Math.abs(stat.mtimeMs - before)).toBeLessThan(5000);
787
+ // Specific check: never the partial-parse epoch (~175ms after epoch).
788
+ expect(stat.mtimeMs).toBeGreaterThan(1_000_000_000_000);
789
+ }
790
+ });
791
+ it("round-trips mtimeMs === 0 (Unix epoch — Codex PR #27 P2)", async () => {
792
+ // Codex flagged that filtering `mtimeMs > 0` drops legitimate epoch-0
793
+ // timestamps (and reproducible-build clamping uses exactly 0). The
794
+ // receiver must accept "0", parse it, and stamp `new Date(0)` on disk.
795
+ const sourcePath = path.join(tmpRoot, "epoch-zero-src.bin");
796
+ fs.writeFileSync(sourcePath, "epoch-bytes");
797
+ fs.utimesSync(sourcePath, new Date(0), new Date(0));
798
+ sentCommands.length = 0;
799
+ await uploadFile(makeCtx(), sourcePath, "epoch-zero.bin");
800
+ const put = sentCommands.find((c) => c.name === "PutObjectCommand");
801
+ const stampedMeta = put.input.Metadata;
802
+ const stampedBody = put.input.Body;
803
+ expect(stampedMeta[FILE_MTIME_META_KEY]).toBe("0");
804
+ fs.unlinkSync(sourcePath);
805
+ nextGetObjectResponse = {
806
+ Body: (async function* () {
807
+ yield new Uint8Array(stampedBody);
808
+ })(),
809
+ Metadata: stampedMeta,
810
+ };
811
+ await downloadFile(makeCtx(), "epoch-zero.bin", sourcePath);
812
+ const stat = fs.statSync(sourcePath);
813
+ // 0 is integer-clean — exact match expected, but allow 50ms tolerance
814
+ // for any underlying FS rounding shenanigans.
815
+ expect(Math.abs(stat.mtimeMs - 0)).toBeLessThanOrEqual(50);
816
+ expect(fs.readFileSync(sourcePath, "utf-8")).toBe("epoch-bytes");
817
+ });
818
+ it("round-trips a negative mtime (pre-epoch — Codex PR #27 P2)", async () => {
819
+ // Some filesystems / reproducible-build pipelines clamp mtime to values
820
+ // before the Unix epoch (negative ms). `new Date(-86400000)` is a legal
821
+ // Date; `fs.utimesSync` accepts it. The receiver MUST NOT drop these.
822
+ const sourceMs = -86_400_000; // 1969-12-31T00:00:00Z, one day before epoch
823
+ const sourcePath = path.join(tmpRoot, "pre-epoch-src.bin");
824
+ fs.writeFileSync(sourcePath, "pre-epoch-bytes");
825
+ fs.utimesSync(sourcePath, new Date(sourceMs), new Date(sourceMs));
826
+ sentCommands.length = 0;
827
+ await uploadFile(makeCtx(), sourcePath, "pre-epoch.bin");
828
+ const put = sentCommands.find((c) => c.name === "PutObjectCommand");
829
+ const stampedMeta = put.input.Metadata;
830
+ const stampedBody = put.input.Body;
831
+ expect(stampedMeta[FILE_MTIME_META_KEY]).toBe(String(sourceMs));
832
+ fs.unlinkSync(sourcePath);
833
+ nextGetObjectResponse = {
834
+ Body: (async function* () {
835
+ yield new Uint8Array(stampedBody);
836
+ })(),
837
+ Metadata: stampedMeta,
838
+ };
839
+ await downloadFile(makeCtx(), "pre-epoch.bin", sourcePath);
840
+ const stat = fs.statSync(sourcePath);
841
+ expect(Math.abs(stat.mtimeMs - sourceMs)).toBeLessThanOrEqual(50);
842
+ expect(fs.readFileSync(sourcePath, "utf-8")).toBe("pre-epoch-bytes");
843
+ });
844
+ it("accepts well-formed negative hq-mtime (e.g. '-100') on download", async () => {
845
+ // Migration of the old rejection-list case for `-100`. Codex PR #27 P2:
846
+ // negative epoch-ms values are legitimate; the regex now allows a single
847
+ // optional leading `-`, and utimesSync handles it.
848
+ const localPath = path.join(tmpRoot, "negative-mtime.bin");
849
+ nextGetObjectResponse = {
850
+ Body: (async function* () {
851
+ yield new Uint8Array([110]); // "n"
852
+ })(),
853
+ Metadata: { [FILE_MTIME_META_KEY]: "-100" },
854
+ };
855
+ await downloadFile(makeCtx(), "negative-mtime.bin", localPath);
856
+ const stat = fs.statSync(localPath);
857
+ // mtime should be ~ -100 ms, NOT wall-clock-now. The old code would have
858
+ // left this at write-time; the new code applies the negative stamp.
859
+ expect(Math.abs(stat.mtimeMs - -100)).toBeLessThanOrEqual(50);
860
+ });
861
+ it("downloads with default mtime when hq-mtime metadata is absent (back-compat)", async () => {
862
+ // Legacy uploads (pre-5.37.0) carry no hq-mtime header. The receiver
863
+ // must NOT crash and must NOT alter the on-disk mtime away from the
864
+ // default `fs.writeFileSync` wall-clock-now behavior. Mirrors the
865
+ // hq-mode back-compat test.
866
+ nextGetObjectResponse = {
867
+ Body: (async function* () {
868
+ yield new Uint8Array([108, 101, 103]); // "leg"
869
+ })(),
870
+ Metadata: {},
871
+ };
872
+ const before = Date.now();
873
+ const localPath = path.join(tmpRoot, "legacy-mtime.bin");
874
+ await downloadFile(makeCtx(), "legacy-mtime.bin", localPath);
875
+ const stat = fs.statSync(localPath);
876
+ expect(Math.abs(stat.mtimeMs - before)).toBeLessThan(5000);
877
+ expect(fs.readFileSync(localPath, "utf-8")).toBe("leg");
878
+ });
879
+ it("does NOT call utimesSync on the symlink branch (5.37.0)", async () => {
880
+ // fs.utimesSync follows symlinks (mutates the target's mtime, not the
881
+ // link's). On the symlink branch we must skip the utimes block entirely
882
+ // so we don't accidentally mutate an unrelated target file. The
883
+ // symlink record's hq-mtime, if any, is ignored — symlink mtime is
884
+ // OS-controlled and Node has no stable lutimes API. Easiest verifier:
885
+ // the link is materialized AND the test doesn't crash.
886
+ const targetPath = path.join(tmpRoot, "untouched-target.txt");
887
+ fs.writeFileSync(targetPath, "do-not-touch");
888
+ const knownTargetMs = 1_500_000_000_000;
889
+ fs.utimesSync(targetPath, new Date(knownTargetMs), new Date(knownTargetMs));
890
+ const linkPath = path.join(tmpRoot, "the-link");
891
+ nextGetObjectResponse = {
892
+ Body: (async function* () {
893
+ yield Buffer.from(SYMLINK_BODY_PREFIX + "untouched-target.txt");
894
+ })(),
895
+ Metadata: {
896
+ "hq-symlink-target": SYMLINK_MARKER_META_VALUE,
897
+ // Even if a misbehaving uploader stamped hq-mtime on a symlink
898
+ // record, the downloader's symlink branch returns BEFORE the
899
+ // utimes block, so the target's mtime stays at knownTargetMs.
900
+ [FILE_MTIME_META_KEY]: "1_900_000_000_000",
901
+ },
902
+ };
903
+ await downloadFile(makeCtx(), "the-link", linkPath);
904
+ expect(fs.lstatSync(linkPath).isSymbolicLink()).toBe(true);
905
+ expect(fs.readlinkSync(linkPath)).toBe("untouched-target.txt");
906
+ // Target's mtime is unchanged — utimes block was skipped.
907
+ const targetStat = fs.statSync(targetPath);
908
+ expect(Math.abs(targetStat.mtimeMs - knownTargetMs)).toBeLessThanOrEqual(50);
909
+ });
910
+ it("round-trips mtime across upload + download (5.37.0 user-visible promise)", async () => {
911
+ // The whole point of the feature: a file's mtime should follow it
912
+ // across the wire. Push captures source mtime → metadata; pull applies
913
+ // metadata → local mtime. This test wires upload's PutObject capture
914
+ // into download's GetObject response so the contract round-trips end-
915
+ // to-end through s3.ts without bringing in journal/CLI state.
916
+ const sourceMs = 1_650_000_000_000; // 2022-04-15T03:33:20Z
917
+ const sourcePath = path.join(tmpRoot, "round-trip-src.bin");
918
+ fs.writeFileSync(sourcePath, "round-trip-bytes");
919
+ fs.utimesSync(sourcePath, new Date(sourceMs), new Date(sourceMs));
920
+ sentCommands.length = 0;
921
+ await uploadFile(makeCtx(), sourcePath, "round-trip.bin");
922
+ const put = sentCommands.find((c) => c.name === "PutObjectCommand");
923
+ const stampedMeta = put.input.Metadata;
924
+ const stampedBody = put.input.Body;
925
+ // Wipe the local copy and pull via download — simulating a different
926
+ // machine receiving the file.
927
+ fs.unlinkSync(sourcePath);
928
+ nextGetObjectResponse = {
929
+ Body: (async function* () {
930
+ yield new Uint8Array(stampedBody);
931
+ })(),
932
+ Metadata: stampedMeta,
933
+ };
934
+ await downloadFile(makeCtx(), "round-trip.bin", sourcePath);
935
+ const stat = fs.statSync(sourcePath);
936
+ // Within 100ms — covers FS rounding on both ends of the round-trip.
937
+ expect(Math.abs(stat.mtimeMs - sourceMs)).toBeLessThanOrEqual(100);
938
+ expect(fs.readFileSync(sourcePath, "utf-8")).toBe("round-trip-bytes");
939
+ });
680
940
  it("returns the object's user-metadata (including created-by) for a regular file", async () => {
681
941
  nextGetObjectResponse = {
682
942
  Body: (async function* () {
@@ -1 +1 @@
1
- {"version":3,"file":"s3.test.js","sourceRoot":"","sources":["../src/s3.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"s3.test.js","sourceRoot":"","sources":["../src/s3.test.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@indigoai-us/hq-cloud",
3
- "version": "5.36.0",
3
+ "version": "5.37.0",
4
4
  "description": "HQ by Indigo cloud sync engine — bidirectional S3 sync for mobile access",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
package/src/cli/sync.ts CHANGED
@@ -576,6 +576,16 @@ export async function sync(options: SyncOptions): Promise<SyncResult> {
576
576
  // drift independently of mtime drift. Stamp mtimeMs from localLstat
577
577
  // (5.36.0) so the next push planner's lstat fast-path can skip the
578
578
  // SHA256 for this file without reading its bytes.
579
+ //
580
+ // 5.37.0 ordering invariant: downloadFile applies hq-mtime via
581
+ // utimesSync AFTER its byte write but BEFORE returning, and this
582
+ // lstat runs AFTER downloadFile resolves — so localLstat.mtimeMs
583
+ // already reflects the source-stamped mtime, not the wall-clock
584
+ // write-time. The journal therefore matches what the next push's
585
+ // lstat fast-path will see, and the file is correctly skipped on
586
+ // re-sync instead of being hashed every tick. Do not move this
587
+ // lstat earlier; do not stamp the journal from any pre-download
588
+ // mtime.
579
589
  updateEntry(
580
590
  journal,
581
591
  remoteFile.key,