@indigoai-us/hq-cloud 6.14.22 → 6.14.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.
- package/dist/bin/sync-runner-company.d.ts.map +1 -1
- package/dist/bin/sync-runner-company.js +20 -0
- package/dist/bin/sync-runner-company.js.map +1 -1
- package/dist/bin/sync-runner-events.test.js +22 -0
- package/dist/bin/sync-runner-events.test.js.map +1 -1
- package/dist/bin/sync-runner-planning.d.ts +11 -0
- package/dist/bin/sync-runner-planning.d.ts.map +1 -1
- package/dist/bin/sync-runner-planning.js +37 -2
- package/dist/bin/sync-runner-planning.js.map +1 -1
- package/dist/bin/sync-runner-planning.test.js +1 -0
- package/dist/bin/sync-runner-planning.test.js.map +1 -1
- package/dist/bin/sync-runner-watch-loop.d.ts.map +1 -1
- package/dist/bin/sync-runner-watch-loop.js +17 -1
- package/dist/bin/sync-runner-watch-loop.js.map +1 -1
- package/dist/bin/sync-runner.d.ts +33 -1
- package/dist/bin/sync-runner.d.ts.map +1 -1
- package/dist/bin/sync-runner.js +28 -3
- package/dist/bin/sync-runner.js.map +1 -1
- package/dist/bin/sync-runner.test.js +206 -2
- package/dist/bin/sync-runner.test.js.map +1 -1
- package/dist/cli/doctor.d.ts +119 -0
- package/dist/cli/doctor.d.ts.map +1 -0
- package/dist/cli/doctor.js +485 -0
- package/dist/cli/doctor.js.map +1 -0
- package/dist/cli/doctor.test.d.ts +13 -0
- package/dist/cli/doctor.test.d.ts.map +1 -0
- package/dist/cli/doctor.test.js +485 -0
- package/dist/cli/doctor.test.js.map +1 -0
- package/dist/cli/index.d.ts +2 -0
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +4 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/share.js +6 -1
- package/dist/cli/share.js.map +1 -1
- package/dist/cli/share.test.js +1 -0
- package/dist/cli/share.test.js.map +1 -1
- package/dist/cli/sync.d.ts +54 -0
- package/dist/cli/sync.d.ts.map +1 -1
- package/dist/cli/sync.js +223 -3
- package/dist/cli/sync.js.map +1 -1
- package/dist/cli/sync.test.js +394 -1
- package/dist/cli/sync.test.js.map +1 -1
- package/dist/cognito-auth.test.js +7 -0
- package/dist/cognito-auth.test.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/lib/conflict-file.d.ts.map +1 -1
- package/dist/lib/conflict-file.js +5 -1
- package/dist/lib/conflict-file.js.map +1 -1
- package/dist/lib/conflict-index.d.ts +7 -0
- package/dist/lib/conflict-index.d.ts.map +1 -1
- package/dist/lib/conflict-index.js +10 -2
- package/dist/lib/conflict-index.js.map +1 -1
- package/dist/lib/conflict.test.js +31 -0
- package/dist/lib/conflict.test.js.map +1 -1
- package/dist/lib/machine-id.test.js +14 -0
- package/dist/lib/machine-id.test.js.map +1 -1
- package/dist/local-path-codec.d.ts +18 -0
- package/dist/local-path-codec.d.ts.map +1 -1
- package/dist/local-path-codec.js +63 -0
- package/dist/local-path-codec.js.map +1 -1
- package/dist/local-path-codec.test.d.ts +14 -0
- package/dist/local-path-codec.test.d.ts.map +1 -0
- package/dist/local-path-codec.test.js +102 -0
- package/dist/local-path-codec.test.js.map +1 -0
- package/dist/machine-auth.test.js +7 -0
- package/dist/machine-auth.test.js.map +1 -1
- package/dist/s3.d.ts +5 -0
- package/dist/s3.d.ts.map +1 -1
- package/dist/s3.js +129 -3
- package/dist/s3.js.map +1 -1
- package/dist/s3.symlink-materialize.test.d.ts +18 -0
- package/dist/s3.symlink-materialize.test.d.ts.map +1 -0
- package/dist/s3.symlink-materialize.test.js +394 -0
- package/dist/s3.symlink-materialize.test.js.map +1 -0
- package/dist/s3.test.js +19 -0
- package/dist/s3.test.js.map +1 -1
- package/dist/skill-telemetry.d.ts.map +1 -1
- package/dist/skill-telemetry.js +23 -2
- package/dist/skill-telemetry.js.map +1 -1
- package/dist/skill-telemetry.test.js +17 -0
- package/dist/skill-telemetry.test.js.map +1 -1
- package/dist/watcher.d.ts.map +1 -1
- package/dist/watcher.js +10 -1
- package/dist/watcher.js.map +1 -1
- package/dist/watcher.test.js +28 -0
- package/dist/watcher.test.js.map +1 -1
- package/package.json +1 -1
- package/src/bin/sync-runner-company.ts +18 -0
- package/src/bin/sync-runner-events.test.ts +31 -0
- package/src/bin/sync-runner-planning.test.ts +1 -0
- package/src/bin/sync-runner-planning.ts +46 -3
- package/src/bin/sync-runner-watch-loop.ts +19 -1
- package/src/bin/sync-runner.test.ts +236 -1
- package/src/bin/sync-runner.ts +57 -2
- package/src/cli/doctor.test.ts +581 -0
- package/src/cli/doctor.ts +640 -0
- package/src/cli/index.ts +14 -0
- package/src/cli/share.test.ts +1 -0
- package/src/cli/share.ts +6 -1
- package/src/cli/sync.test.ts +473 -1
- package/src/cli/sync.ts +310 -3
- package/src/cognito-auth.test.ts +5 -0
- package/src/index.ts +10 -0
- package/src/lib/conflict-file.ts +6 -1
- package/src/lib/conflict-index.ts +18 -2
- package/src/lib/conflict.test.ts +33 -0
- package/src/lib/machine-id.test.ts +10 -0
- package/src/local-path-codec.test.ts +138 -0
- package/src/local-path-codec.ts +66 -0
- package/src/machine-auth.test.ts +5 -0
- package/src/s3.symlink-materialize.test.ts +492 -0
- package/src/s3.test.ts +24 -0
- package/src/s3.ts +148 -4
- package/src/skill-telemetry.test.ts +19 -0
- package/src/skill-telemetry.ts +31 -2
- package/src/watcher.test.ts +33 -0
- package/src/watcher.ts +10 -1
package/dist/local-path-codec.js
CHANGED
|
@@ -66,4 +66,67 @@ export function vaultKeyForLocalPath(root, localPath, win32 = process.platform =
|
|
|
66
66
|
.map((segment) => decodeLocalVaultSegment(segment, win32))
|
|
67
67
|
.join("/");
|
|
68
68
|
}
|
|
69
|
+
/**
|
|
70
|
+
* Collapse a vault-key spelling to its canonical logical form by repeatedly
|
|
71
|
+
* percent-decoding every segment to a fixpoint.
|
|
72
|
+
*
|
|
73
|
+
* Mixed-version amplifier context: a pre-codec Windows engine uploads its
|
|
74
|
+
* local farm names verbatim, minting keys like `core%3Askill`; a post-codec
|
|
75
|
+
* engine that materializes that key re-escapes the `%` on its next walk, and
|
|
76
|
+
* a pre-codec peer re-uploads `core%253Askill` — one junk generation per hop.
|
|
77
|
+
* Every generation decodes to the same fixpoint (`core:skill`), so the
|
|
78
|
+
* fixpoint — never the raw spelling — is the identity of the logical path.
|
|
79
|
+
* Decodes with win32 semantics unconditionally: junk spellings are a
|
|
80
|
+
* key-space (wire) phenomenon, not a host-platform one. Used by the pull
|
|
81
|
+
* planner's junk-spelling guard; deliberately NEVER used to rewrite keys
|
|
82
|
+
* (journals and the wire always keep the exact spelling they were minted
|
|
83
|
+
* with — collapsing families is the vault doctor's job, US-003).
|
|
84
|
+
*/
|
|
85
|
+
export function canonicalVaultSegmentSpelling(segment) {
|
|
86
|
+
// Junk generations are encodings of the FULL canonical wrapper name, so a
|
|
87
|
+
// generation never contains a literal ':' — the colon is what got encoded
|
|
88
|
+
// (`ns:skill` -> `ns%3Askill` -> `ns%253Askill` -> ...). The decode loop
|
|
89
|
+
// therefore stops the moment a spelling contains a colon: that IS the
|
|
90
|
+
// canonical form. This keeps a legitimately-percent-named skill distinct —
|
|
91
|
+
// reindex forms `core:foo%3Abar` verbatim from a source dir named
|
|
92
|
+
// `foo%3Abar`, and decoding past the colon would wrongly collapse it into
|
|
93
|
+
// `core:foo:bar`. (Colon-free names with %XX, e.g. `foo%20bar`, still
|
|
94
|
+
// decode — that is the cross-platform unification of a win32-encoded
|
|
95
|
+
// wrapper for canonical `foo bar`; a POSIX source dir literally named
|
|
96
|
+
// `foo%20bar` is inherently ambiguous, and the doctor's marker-body
|
|
97
|
+
// safety gate bounds what can be auto-deleted for such names.)
|
|
98
|
+
let current = segment;
|
|
99
|
+
while (!current.includes(":")) {
|
|
100
|
+
const decoded = decodeLocalVaultSegment(current, true);
|
|
101
|
+
if (decoded === current)
|
|
102
|
+
break;
|
|
103
|
+
current = decoded;
|
|
104
|
+
}
|
|
105
|
+
// A decode chain that never reaches a colon is NOT an amplifier family —
|
|
106
|
+
// generated wrapper generations always decode back to `<ns>:<skill>`. A
|
|
107
|
+
// colon-free percent name (`foo%20bar`) is a legitimate skill's own
|
|
108
|
+
// spelling, distinct from `foo bar`; collapsing it would let the pull
|
|
109
|
+
// guard skip it and the doctor rewrite-then-delete real content. Return
|
|
110
|
+
// the ORIGINAL spelling so colon-free names are always their own
|
|
111
|
+
// canonical form.
|
|
112
|
+
return current.includes(":") ? current : segment;
|
|
113
|
+
}
|
|
114
|
+
export function canonicalVaultKeySpelling(key) {
|
|
115
|
+
// Only the WRAPPER directory name under `.claude/skills/` is subject to
|
|
116
|
+
// the mixed-version spelling amplifier — platforms disagree solely about
|
|
117
|
+
// how the `<ns>:<skill>` name is spelled on disk. Child segments keep
|
|
118
|
+
// their percent escapes verbatim (`scripts/foo%20bar.sh` and
|
|
119
|
+
// `scripts/foo bar.sh` are DISTINCT objects); decoding them too would
|
|
120
|
+
// collapse legitimate files into one family and let the doctor or pull
|
|
121
|
+
// guard skip/tombstone the wrong object. Non-skills keys pass through
|
|
122
|
+
// untouched for the same reason.
|
|
123
|
+
const segments = key.split("/");
|
|
124
|
+
if (segments.length < 3 ||
|
|
125
|
+
segments[0] !== ".claude" ||
|
|
126
|
+
segments[1] !== "skills") {
|
|
127
|
+
return key;
|
|
128
|
+
}
|
|
129
|
+
segments[2] = canonicalVaultSegmentSpelling(segments[2]);
|
|
130
|
+
return segments.join("/");
|
|
131
|
+
}
|
|
69
132
|
//# sourceMappingURL=local-path-codec.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"local-path-codec.js","sourceRoot":"","sources":["../src/local-path-codec.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"local-path-codec.js","sourceRoot":"","sources":["../src/local-path-codec.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Regression tests for US-002 (hq-sync-windows-skill-symlink-collision):
|
|
3
|
+
* the canonical-spelling fixpoint and the mixed-version amplifier round trip.
|
|
4
|
+
*
|
|
5
|
+
* Amplifier background: pre-codec engines mint vault keys verbatim from
|
|
6
|
+
* Windows local names (`core%3Askill`), and post-codec engines escape `%`
|
|
7
|
+
* before every other character locally — so each pull+re-walk hop across a
|
|
8
|
+
* mixed-version fleet minted one more percent generation (`%253A`,
|
|
9
|
+
* `%25253A`, …). These tests pin the two properties that kill the loop:
|
|
10
|
+
* the walk-back maps a materialized junk key to its EXACT original spelling,
|
|
11
|
+
* and every generation collapses to one canonical fixpoint for guard lookups.
|
|
12
|
+
*/
|
|
13
|
+
export {};
|
|
14
|
+
//# sourceMappingURL=local-path-codec.test.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"local-path-codec.test.d.ts","sourceRoot":"","sources":["../src/local-path-codec.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG"}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Regression tests for US-002 (hq-sync-windows-skill-symlink-collision):
|
|
3
|
+
* the canonical-spelling fixpoint and the mixed-version amplifier round trip.
|
|
4
|
+
*
|
|
5
|
+
* Amplifier background: pre-codec engines mint vault keys verbatim from
|
|
6
|
+
* Windows local names (`core%3Askill`), and post-codec engines escape `%`
|
|
7
|
+
* before every other character locally — so each pull+re-walk hop across a
|
|
8
|
+
* mixed-version fleet minted one more percent generation (`%253A`,
|
|
9
|
+
* `%25253A`, …). These tests pin the two properties that kill the loop:
|
|
10
|
+
* the walk-back maps a materialized junk key to its EXACT original spelling,
|
|
11
|
+
* and every generation collapses to one canonical fixpoint for guard lookups.
|
|
12
|
+
*/
|
|
13
|
+
import { describe, it, expect, beforeEach, afterEach } from "vitest";
|
|
14
|
+
import * as fs from "fs";
|
|
15
|
+
import * as os from "os";
|
|
16
|
+
import * as path from "path";
|
|
17
|
+
import { canonicalVaultKeySpelling, canonicalVaultSegmentSpelling, localPathForVaultKey, vaultKeyForLocalPath, } from "./local-path-codec.js";
|
|
18
|
+
describe("canonicalVaultKeySpelling (US-002)", () => {
|
|
19
|
+
it("collapses every junk percent generation to the same fixpoint", () => {
|
|
20
|
+
const canonical = ".claude/skills/core:skill/scripts";
|
|
21
|
+
expect(canonicalVaultKeySpelling(canonical)).toBe(canonical);
|
|
22
|
+
expect(canonicalVaultKeySpelling(".claude/skills/core%3Askill/scripts")).toBe(canonical);
|
|
23
|
+
expect(canonicalVaultKeySpelling(".claude/skills/core%253Askill/scripts")).toBe(canonical);
|
|
24
|
+
expect(canonicalVaultKeySpelling(".claude/skills/core%25253Askill/scripts")).toBe(canonical);
|
|
25
|
+
});
|
|
26
|
+
it("distinct logical paths keep distinct fixpoints", () => {
|
|
27
|
+
expect(canonicalVaultKeySpelling("a%3Ab/x")).not.toBe(canonicalVaultKeySpelling("a%3Ac/x"));
|
|
28
|
+
});
|
|
29
|
+
it("colon-free percent names are their OWN canonical form — never collapsed (round-9)", () => {
|
|
30
|
+
// `.claude/skills/foo bar` and `.claude/skills/foo%20bar` are two
|
|
31
|
+
// distinct legitimate skills; only namespaced (<ns>:<skill>) wrapper
|
|
32
|
+
// generations participate in the amplifier.
|
|
33
|
+
expect(canonicalVaultKeySpelling(".claude/skills/foo%20bar/SKILL.md")).toBe(".claude/skills/foo%20bar/SKILL.md");
|
|
34
|
+
expect(canonicalVaultKeySpelling(".claude/skills/foo bar/SKILL.md")).toBe(".claude/skills/foo bar/SKILL.md");
|
|
35
|
+
expect(canonicalVaultSegmentSpelling("foo%20bar")).toBe("foo%20bar");
|
|
36
|
+
// Namespaced generations still collapse.
|
|
37
|
+
expect(canonicalVaultSegmentSpelling("ns%3Askill")).toBe("ns:skill");
|
|
38
|
+
});
|
|
39
|
+
it("stops decoding at the first literal colon — a legitimately percent-named skill stays distinct", () => {
|
|
40
|
+
// reindex forms `core:foo%3Abar` verbatim from a source dir named
|
|
41
|
+
// `foo%3Abar`; decoding past the colon would collapse it into the
|
|
42
|
+
// unrelated `core:foo:bar` family.
|
|
43
|
+
expect(canonicalVaultKeySpelling(".claude/skills/core:foo%3Abar/SKILL.md")).toBe(".claude/skills/core:foo%3Abar/SKILL.md");
|
|
44
|
+
// The win32-encoded generation of that same weird-but-legit wrapper
|
|
45
|
+
// decodes exactly one step — back to the colon form, not beyond.
|
|
46
|
+
expect(canonicalVaultKeySpelling(".claude/skills/core%3Afoo%253Abar/SKILL.md")).toBe(".claude/skills/core:foo%3Abar/SKILL.md");
|
|
47
|
+
});
|
|
48
|
+
it("decodes ONLY the wrapper segment — child-file percent escapes stay verbatim", () => {
|
|
49
|
+
// `scripts/foo%20bar.sh` and `scripts/foo bar.sh` are distinct objects;
|
|
50
|
+
// collapsing them would let the doctor/pull guard drop the wrong one.
|
|
51
|
+
expect(canonicalVaultKeySpelling(".claude/skills/core%3Askill/scripts/foo%20bar.sh")).toBe(".claude/skills/core:skill/scripts/foo%20bar.sh");
|
|
52
|
+
expect(canonicalVaultKeySpelling(".claude/skills/core:skill/scripts/foo%20bar.sh")).toBe(".claude/skills/core:skill/scripts/foo%20bar.sh");
|
|
53
|
+
});
|
|
54
|
+
it("returns non-skills keys verbatim — the amplifier only exists in the wrapper namespace", () => {
|
|
55
|
+
expect(canonicalVaultKeySpelling("notes/a%3Ab.md")).toBe("notes/a%3Ab.md");
|
|
56
|
+
expect(canonicalVaultKeySpelling("notes/a%20b.md")).toBe("notes/a%20b.md");
|
|
57
|
+
});
|
|
58
|
+
it("leaves a % that is not a two-hex-digit escape alone", () => {
|
|
59
|
+
// Matches decodeLocalVaultSegment: only `%XX` (hex) is an escape.
|
|
60
|
+
expect(canonicalVaultKeySpelling("notes/50%-done.md")).toBe("notes/50%-done.md");
|
|
61
|
+
});
|
|
62
|
+
});
|
|
63
|
+
describe("mixed-version amplifier round trip (US-002)", () => {
|
|
64
|
+
let tmpRoot;
|
|
65
|
+
beforeEach(() => {
|
|
66
|
+
tmpRoot = fs.mkdtempSync(path.join(os.tmpdir(), "codec-amp-test-"));
|
|
67
|
+
});
|
|
68
|
+
afterEach(() => {
|
|
69
|
+
fs.rmSync(tmpRoot, { recursive: true, force: true });
|
|
70
|
+
});
|
|
71
|
+
it("a literal %3A key pulled + re-walked with win32=true maps back to the EXACT original key — no %253A generation", () => {
|
|
72
|
+
// Key minted by a pre-codec engine from a Windows local farm name.
|
|
73
|
+
const win32 = true;
|
|
74
|
+
const junkKey = ".claude/skills/core%3Askill/scripts";
|
|
75
|
+
// Pull leg: materialize at the codec-derived local path. `%` is escaped
|
|
76
|
+
// before every other character, so the on-disk dir name is
|
|
77
|
+
// `core%253Askill` — that escape is exactly what makes the walk-back
|
|
78
|
+
// unambiguous instead of colliding with the canonical `core:skill` key.
|
|
79
|
+
const localPath = localPathForVaultKey(tmpRoot, junkKey, win32);
|
|
80
|
+
fs.mkdirSync(localPath, { recursive: true });
|
|
81
|
+
const farmEntries = fs.readdirSync(path.join(tmpRoot, ".claude", "skills"));
|
|
82
|
+
expect(farmEntries).toEqual(["core%253Askill"]);
|
|
83
|
+
// Re-walk leg: the push walker maps the materialized name back to a key
|
|
84
|
+
// (share.ts walkDir convention: vaultKeyForLocalPath on the abs path).
|
|
85
|
+
const rewalkedKey = vaultKeyForLocalPath(tmpRoot, localPath, win32);
|
|
86
|
+
// The amplifier is dead only if this is the EXACT original spelling —
|
|
87
|
+
// any NEW spelling would upload as a fresh junk key generation.
|
|
88
|
+
expect(rewalkedKey).toBe(junkKey);
|
|
89
|
+
expect(rewalkedKey).not.toContain("%253A");
|
|
90
|
+
});
|
|
91
|
+
it("the canonical ':' key and its '%3A' twin materialize at DISTINCT local paths and round-trip independently", () => {
|
|
92
|
+
const win32 = true;
|
|
93
|
+
const canonicalLocal = localPathForVaultKey(tmpRoot, "farm/a:b", win32);
|
|
94
|
+
const junkLocal = localPathForVaultKey(tmpRoot, "farm/a%3Ab", win32);
|
|
95
|
+
// No on-disk collision between the two key families …
|
|
96
|
+
expect(canonicalLocal).not.toBe(junkLocal);
|
|
97
|
+
// … and each walks back to its own exact spelling.
|
|
98
|
+
expect(vaultKeyForLocalPath(tmpRoot, canonicalLocal, win32)).toBe("farm/a:b");
|
|
99
|
+
expect(vaultKeyForLocalPath(tmpRoot, junkLocal, win32)).toBe("farm/a%3Ab");
|
|
100
|
+
});
|
|
101
|
+
});
|
|
102
|
+
//# sourceMappingURL=local-path-codec.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"local-path-codec.test.js","sourceRoot":"","sources":["../src/local-path-codec.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,13 +17,16 @@ import { spawn } from "child_process";
|
|
|
17
17
|
import { pathToFileURL } from "url";
|
|
18
18
|
import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
|
|
19
19
|
let originalHome;
|
|
20
|
+
let originalUserProfile;
|
|
20
21
|
let originalCredsEnv;
|
|
21
22
|
let tmpHome;
|
|
22
23
|
beforeEach(() => {
|
|
23
24
|
originalHome = process.env.HOME;
|
|
25
|
+
originalUserProfile = process.env.USERPROFILE;
|
|
24
26
|
originalCredsEnv = process.env.HQ_MACHINE_CREDS_FILE;
|
|
25
27
|
tmpHome = fs.mkdtempSync(path.join(os.tmpdir(), "hq-machine-auth-test-"));
|
|
26
28
|
process.env.HOME = tmpHome;
|
|
29
|
+
process.env.USERPROFILE = tmpHome;
|
|
27
30
|
delete process.env.HQ_MACHINE_CREDS_FILE;
|
|
28
31
|
vi.resetModules();
|
|
29
32
|
});
|
|
@@ -33,6 +36,10 @@ afterEach(() => {
|
|
|
33
36
|
delete process.env.HOME;
|
|
34
37
|
else
|
|
35
38
|
process.env.HOME = originalHome;
|
|
39
|
+
if (originalUserProfile === undefined)
|
|
40
|
+
delete process.env.USERPROFILE;
|
|
41
|
+
else
|
|
42
|
+
process.env.USERPROFILE = originalUserProfile;
|
|
36
43
|
if (originalCredsEnv === undefined)
|
|
37
44
|
delete process.env.HQ_MACHINE_CREDS_FILE;
|
|
38
45
|
else
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"machine-auth.test.js","sourceRoot":"","sources":["../src/machine-auth.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"machine-auth.test.js","sourceRoot":"","sources":["../src/machine-auth.test.ts"],"names":[],"mappings":"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"}
|
package/dist/s3.d.ts
CHANGED
|
@@ -328,6 +328,11 @@ export declare class DanglingSymlinkParentError extends Error {
|
|
|
328
328
|
}
|
|
329
329
|
export declare function downloadFile(ctx: EntityContext, key: string, localPath: string, options?: {
|
|
330
330
|
beforeReplace?: () => void;
|
|
331
|
+
/**
|
|
332
|
+
* Platform override so win32 symlink semantics are directly testable
|
|
333
|
+
* on any host (same convention as local-path-codec.ts).
|
|
334
|
+
*/
|
|
335
|
+
win32?: boolean;
|
|
331
336
|
}): Promise<{
|
|
332
337
|
metadata?: Record<string, string>;
|
|
333
338
|
contentHash?: string;
|
package/dist/s3.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"s3.d.ts","sourceRoot":"","sources":["../src/s3.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AAKzB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAIL,KAAK,eAAe,EACrB,MAAM,gBAAgB,CAAC;AAQxB;;;;GAIG;AACH,MAAM,WAAW,YAAY;IAC3B,4DAA4D;IAC5D,OAAO,EAAE,MAAM,CAAC;IAChB,+BAA+B;IAC/B,KAAK,EAAE,MAAM,CAAC;CACf;AA6BD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,uBAAuB,sBAAsB,CAAC;AAE3D;;;;GAIG;AACH,eAAO,MAAM,yBAAyB,MAAM,CAAC;AAE7C;;;;;GAKG;AACH,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAEjE;AAED;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAUhE;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,eAAO,MAAM,mBAAmB,gBAAgB,CAAC;AAGjD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,eAAO,MAAM,kBAAkB,YAAY,CAAC;AAE5C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,eAAO,MAAM,mBAAmB,aAAa,CAAC;AAE9C;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,mBAAmB,aAAa,CAAC;AAE9C;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAExD;AAmBD,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,MAAM,EACX,QAAQ,GAAE,MAAgC,EAC1C,KAAK,GAAE,MAAmB,GACzB,MAAM,EAAE,CAsCV;
|
|
1
|
+
{"version":3,"file":"s3.d.ts","sourceRoot":"","sources":["../src/s3.ts"],"names":[],"mappings":"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"}
|
package/dist/s3.js
CHANGED
|
@@ -276,7 +276,14 @@ function removeTempPath(tempPath) {
|
|
|
276
276
|
fs.unlinkSync(tempPath);
|
|
277
277
|
}
|
|
278
278
|
catch {
|
|
279
|
-
//
|
|
279
|
+
// A win32 directory-type symlink is a directory reparse point and
|
|
280
|
+
// refuses unlink (EPERM); rmdir is the correct removal call for it.
|
|
281
|
+
try {
|
|
282
|
+
fs.rmdirSync(tempPath);
|
|
283
|
+
}
|
|
284
|
+
catch {
|
|
285
|
+
// Best-effort cleanup; do not mask the transfer/materialization error.
|
|
286
|
+
}
|
|
280
287
|
}
|
|
281
288
|
}
|
|
282
289
|
const DEFAULT_CREATE_STAGED_SYMLINK_OPS = {
|
|
@@ -312,10 +319,75 @@ export function createStagedSymlink(target, linkPath, ops = DEFAULT_CREATE_STAGE
|
|
|
312
319
|
}
|
|
313
320
|
ops.symlink(absTarget, linkPath, "junction");
|
|
314
321
|
}
|
|
322
|
+
/**
|
|
323
|
+
* downloadFile's `options.win32` seam is the authority for symlink-flavor
|
|
324
|
+
* decisions (it is what makes Windows semantics testable on POSIX CI), so the
|
|
325
|
+
* staged-link helper must see the SAME platform the idempotence fast path
|
|
326
|
+
* reasoned about rather than the raw `process.platform`. createStagedSymlink
|
|
327
|
+
* only ever asks "is this win32?", so "linux" is a faithful stand-in for
|
|
328
|
+
* "not Windows" on the false branch.
|
|
329
|
+
*/
|
|
330
|
+
function stagedSymlinkOpsFor(win32) {
|
|
331
|
+
return {
|
|
332
|
+
...DEFAULT_CREATE_STAGED_SYMLINK_OPS,
|
|
333
|
+
platform: win32 ? "win32" : "linux",
|
|
334
|
+
};
|
|
335
|
+
}
|
|
336
|
+
/**
|
|
337
|
+
* Would createStagedSymlink() materialize `target` as a DIRECTORY-flavored
|
|
338
|
+
* link (a junction) rather than a file symlink? Mirrors that helper's rule
|
|
339
|
+
* exactly — only a target confirmed to be a non-directory earns a file
|
|
340
|
+
* symlink; directories and unresolvable targets become junctions, which need
|
|
341
|
+
* no Windows privilege. Keeping the two in lockstep is what lets the
|
|
342
|
+
* idempotence fast path below decide whether an existing link is already the
|
|
343
|
+
* link we would mint today.
|
|
344
|
+
*/
|
|
345
|
+
function win32StagedLinkIsDirectoryFlavored(target, linkPath, ops = DEFAULT_CREATE_STAGED_SYMLINK_OPS) {
|
|
346
|
+
const absTarget = path.isAbsolute(target)
|
|
347
|
+
? target
|
|
348
|
+
: path.resolve(path.dirname(linkPath), target);
|
|
349
|
+
return ops.statIsDirectory(absTarget) !== false;
|
|
350
|
+
}
|
|
351
|
+
/**
|
|
352
|
+
* Compare an on-disk readlink() result against an incoming wire target.
|
|
353
|
+
*
|
|
354
|
+
* POSIX compares exactly: we write the wire target verbatim, so readlink()
|
|
355
|
+
* returns it byte-for-byte, and a backslash is an ordinary filename character
|
|
356
|
+
* there. On win32 neither property holds — createStagedSymlink() materializes
|
|
357
|
+
* directory overlays as JUNCTIONS, which require an ABSOLUTE substitute path,
|
|
358
|
+
* and Node rewrites '/' → '\\' at symlink() time. A raw string compare would
|
|
359
|
+
* therefore never match on Windows and the fast path would never fire for the
|
|
360
|
+
* .claude/skills link farm (the exact perpetual-churn bug this guards). So
|
|
361
|
+
* win32 equality resolves BOTH sides against the link's parent directory and
|
|
362
|
+
* compares separator-insensitively, which normalizes the relative wire target
|
|
363
|
+
* and the absolute junction target onto the same footing.
|
|
364
|
+
*/
|
|
365
|
+
function symlinkTargetsEqual(existing, incoming, linkPath, win32) {
|
|
366
|
+
if (!win32)
|
|
367
|
+
return existing === incoming;
|
|
368
|
+
const normalize = (value) => path
|
|
369
|
+
.resolve(path.dirname(linkPath), value.replace(/\\/g, "/"))
|
|
370
|
+
.replace(/\\/g, "/");
|
|
371
|
+
return normalize(existing) === normalize(incoming);
|
|
372
|
+
}
|
|
315
373
|
const DEFAULT_REPLACE_STAGED_PATH_OPS = {
|
|
316
374
|
lstat: (p) => fs.lstatSync(p),
|
|
317
375
|
rename: (from, to) => fs.renameSync(from, to),
|
|
318
|
-
remove: (p) =>
|
|
376
|
+
remove: (p) => {
|
|
377
|
+
try {
|
|
378
|
+
fs.unlinkSync(p);
|
|
379
|
+
}
|
|
380
|
+
catch (err) {
|
|
381
|
+
// A win32 directory-type symlink or junction is a directory reparse
|
|
382
|
+
// point; some runtimes refuse unlink (EPERM/EISDIR) and need rmdir —
|
|
383
|
+
// same fallback as removeTempPath. Anything else stays loud so
|
|
384
|
+
// replaceStagedPath can roll back.
|
|
385
|
+
const code = err.code;
|
|
386
|
+
if (code !== "EPERM" && code !== "EISDIR")
|
|
387
|
+
throw err;
|
|
388
|
+
fs.rmdirSync(p);
|
|
389
|
+
}
|
|
390
|
+
},
|
|
319
391
|
};
|
|
320
392
|
function replacementBackupPath(localPath) {
|
|
321
393
|
const dir = path.dirname(localPath);
|
|
@@ -937,9 +1009,63 @@ export async function downloadFile(ctx, key, localPath, options = {}) {
|
|
|
937
1009
|
if (symlinkTarget.length === 0) {
|
|
938
1010
|
throw new Error(`Symlink record for ${key} had no target (body: ${objectBody.length} bytes, marker: ${symlinkMarker})`);
|
|
939
1011
|
}
|
|
1012
|
+
// Idempotence fast path: the .claude/skills link farm makes symlink
|
|
1013
|
+
// records the most re-pulled object class, and a pull that changes
|
|
1014
|
+
// nothing must not touch disk at all (pre-fix, an already-correct
|
|
1015
|
+
// Windows dir link still went through temp+rename, EPERM'd every
|
|
1016
|
+
// pass, never journaled, and re-downloaded forever). On POSIX a
|
|
1017
|
+
// target-string match is sufficient (lstat + readlink — never stat:
|
|
1018
|
+
// dangling links are legitimate). On win32 a matching target string is
|
|
1019
|
+
// NOT sufficient — links are flavored, and a file-type link at a
|
|
1020
|
+
// directory target (minted by an older client, or while the target was
|
|
1021
|
+
// absent) is broken despite the matching string. There the fast path
|
|
1022
|
+
// additionally requires stat-follow to confirm the link FUNCTIONS as
|
|
1023
|
+
// the type win32SymlinkType() would mint now; anything unconfirmable
|
|
1024
|
+
// (including a dangling link, whose flavor cannot be probed) falls
|
|
1025
|
+
// through to replacement, which is cheap and journals correctly.
|
|
1026
|
+
const win32 = options.win32 ?? process.platform === "win32";
|
|
1027
|
+
let existingLink = null;
|
|
1028
|
+
try {
|
|
1029
|
+
existingLink = fs.lstatSync(localPath);
|
|
1030
|
+
}
|
|
1031
|
+
catch {
|
|
1032
|
+
// Absent (or unreadable) destination: no fast path; the normal
|
|
1033
|
+
// materialization below surfaces real filesystem faults loudly.
|
|
1034
|
+
}
|
|
1035
|
+
if (existingLink?.isSymbolicLink()) {
|
|
1036
|
+
let existingTarget = null;
|
|
1037
|
+
try {
|
|
1038
|
+
existingTarget = fs.readlinkSync(localPath);
|
|
1039
|
+
}
|
|
1040
|
+
catch {
|
|
1041
|
+
// Link raced away between lstat and readlink; replace it below.
|
|
1042
|
+
}
|
|
1043
|
+
if (existingTarget !== null &&
|
|
1044
|
+
symlinkTargetsEqual(existingTarget, symlinkTarget, localPath, win32)) {
|
|
1045
|
+
if (!win32)
|
|
1046
|
+
return { metadata };
|
|
1047
|
+
const desiredIsDirectory = win32StagedLinkIsDirectoryFlavored(symlinkTarget, localPath);
|
|
1048
|
+
let followed = null;
|
|
1049
|
+
try {
|
|
1050
|
+
followed = fs.statSync(localPath);
|
|
1051
|
+
}
|
|
1052
|
+
catch {
|
|
1053
|
+
// Unresolvable via this link (dangling, or a wrong-flavor link
|
|
1054
|
+
// that Windows refuses to traverse): recreate below.
|
|
1055
|
+
}
|
|
1056
|
+
if (followed !== null && followed.isDirectory() === desiredIsDirectory) {
|
|
1057
|
+
return { metadata };
|
|
1058
|
+
}
|
|
1059
|
+
}
|
|
1060
|
+
}
|
|
940
1061
|
const tempPath = downloadTempPath(localPath);
|
|
941
1062
|
try {
|
|
942
|
-
createStagedSymlink(
|
|
1063
|
+
// Creation goes through createStagedSymlink (#219): on win32 a directory
|
|
1064
|
+
// overlay becomes an unprivileged JUNCTION rather than a 'dir' NTFS
|
|
1065
|
+
// symlink, which is what stops the EPERM that pushed the one-shot runner
|
|
1066
|
+
// to PARTIAL_SYNC_EXIT. The staged link lands beside `localPath`, so its
|
|
1067
|
+
// flavor decision resolves the target identically to the fast path above.
|
|
1068
|
+
createStagedSymlink(symlinkTarget, tempPath, stagedSymlinkOpsFor(win32));
|
|
943
1069
|
options.beforeReplace?.();
|
|
944
1070
|
replaceStagedPath(tempPath, localPath);
|
|
945
1071
|
}
|