@wayai/cli 0.2.74 → 0.2.75
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/lib/scaffold.d.ts +4 -3
- package/dist/lib/scaffold.js +26 -7
- package/dist/lib/scaffold.js.map +1 -1
- package/package.json +1 -1
package/dist/lib/scaffold.d.ts
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Scaffold — download and extract workspace scaffold files from R2
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
* pull/update (refresh mode)
|
|
6
|
-
*
|
|
4
|
+
* Most files from the scaffold ZIP are extracted and overwritten on every
|
|
5
|
+
* pull/update (refresh mode) so platform changes reach the workspace. The
|
|
6
|
+
* exceptions are `INIT_ONLY_FILES` below — written once on `wayai init` (when
|
|
7
|
+
* missing) and never touched on `wayai update`, preserving user-owned files.
|
|
7
8
|
*
|
|
8
9
|
* Changes land as unstaged git modifications — the user reviews via `git diff`
|
|
9
10
|
* before committing.
|
package/dist/lib/scaffold.js
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Scaffold — download and extract workspace scaffold files from R2
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
* pull/update (refresh mode)
|
|
6
|
-
*
|
|
4
|
+
* Most files from the scaffold ZIP are extracted and overwritten on every
|
|
5
|
+
* pull/update (refresh mode) so platform changes reach the workspace. The
|
|
6
|
+
* exceptions are `INIT_ONLY_FILES` below — written once on `wayai init` (when
|
|
7
|
+
* missing) and never touched on `wayai update`, preserving user-owned files.
|
|
7
8
|
*
|
|
8
9
|
* Changes land as unstaged git modifications — the user reviews via `git diff`
|
|
9
10
|
* before committing.
|
|
@@ -12,8 +13,24 @@ import * as fs from 'node:fs';
|
|
|
12
13
|
import * as path from 'node:path';
|
|
13
14
|
import { unzipSync } from 'fflate';
|
|
14
15
|
import { ApiClient } from './api-client.js';
|
|
15
|
-
/**
|
|
16
|
-
|
|
16
|
+
/**
|
|
17
|
+
* Init-only files — written on `wayai init` when missing; in refresh mode
|
|
18
|
+
* (`wayai update`) they are always skipped, even if the user deleted them.
|
|
19
|
+
* To restore a deleted init-only file, re-run `wayai init`.
|
|
20
|
+
*
|
|
21
|
+
* Names match scaffold ZIP root paths (`repositories/wayai-workspace/`); the
|
|
22
|
+
* membership check is case-insensitive so a case-variant ZIP entry cannot
|
|
23
|
+
* bypass protection on case-insensitive filesystems (macOS/APFS, Windows).
|
|
24
|
+
*
|
|
25
|
+
* `AGENTS.md` and `CLAUDE.md` ship as thin pointers to the canonical WayAI skill
|
|
26
|
+
* at `.wayai/skills/wayai/SKILL.md`. Treating them as init-only respects user
|
|
27
|
+
* customizations — once the user edits either file, `wayai update` leaves it
|
|
28
|
+
* alone. The skill itself (under `.wayai/skills/wayai/`) and the per-harness
|
|
29
|
+
* skill shims (under `.claude/`, `.opencode/`, `.agents/`) refresh on every
|
|
30
|
+
* update so platform changes always reach the workspace.
|
|
31
|
+
*/
|
|
32
|
+
const INIT_ONLY_FILES = ['.wayai.yaml', 'AGENTS.local.md', 'AGENTS.md', 'CLAUDE.md'];
|
|
33
|
+
const INIT_ONLY_FILES_LC = new Set(INIT_ONLY_FILES.map((f) => f.toLowerCase()));
|
|
17
34
|
export async function refreshScaffold(options) {
|
|
18
35
|
const { gitRoot, apiUrl, accessToken, mode } = options;
|
|
19
36
|
const client = new ApiClient({ apiUrl, accessToken });
|
|
@@ -45,8 +62,10 @@ export async function refreshScaffold(options) {
|
|
|
45
62
|
const gitInternals = path.resolve(gitRoot, '.git');
|
|
46
63
|
if (destPath === gitInternals || destPath.startsWith(gitInternals + path.sep))
|
|
47
64
|
continue;
|
|
48
|
-
//
|
|
49
|
-
if (
|
|
65
|
+
// Scaffold ZIPs only ship canonical names; case-variants are malformed.
|
|
66
|
+
if (INIT_ONLY_FILES_LC.has(filePath.toLowerCase())) {
|
|
67
|
+
if (!INIT_ONLY_FILES.includes(filePath))
|
|
68
|
+
continue;
|
|
50
69
|
if (mode === 'refresh' || fs.existsSync(destPath))
|
|
51
70
|
continue;
|
|
52
71
|
}
|
package/dist/lib/scaffold.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scaffold.js","sourceRoot":"","sources":["../../src/lib/scaffold.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"scaffold.js","sourceRoot":"","sources":["../../src/lib/scaffold.ts"],"names":[],"mappings":"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"}
|