arashi 1.38.0 → 1.40.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/README.md +8 -0
- package/bin/arashi.js +1 -1
- package/bin/update.js +1 -1
- package/package.json +5 -4
- package/schema/config.schema.json +40 -0
- package/schema/user-config.schema.json +193 -0
package/README.md
CHANGED
|
@@ -97,6 +97,14 @@ You can then use `aw switch --cd <filter>` to change the current shell's directo
|
|
|
97
97
|
Remove only the exact managed shell block with `aw shell uninstall --dry-run`, then
|
|
98
98
|
`aw shell uninstall --yes`. This leaves executables, PATH, manifests, and project data untouched.
|
|
99
99
|
|
|
100
|
+
Existing-checkout native T3 handoff: `aw switch --path /path/to/checkout --t3 "Task"`.
|
|
101
|
+
Use `--prompt-file` for UTF-8 input and `--permission` for an explicit permission mode.
|
|
102
|
+
It opens no UI; select the reported project/thread in your connected client. Same-intent
|
|
103
|
+
retries reconcile saved IDs. After resolution, a deliberate `--t3-intent followup-1`
|
|
104
|
+
starts another thread; never use a fresh intent to bypass uncertainty. Maintainers should
|
|
105
|
+
preserve repository-local receipts and retained locks during recovery. Conversation state
|
|
106
|
+
is not transferred.
|
|
107
|
+
|
|
100
108
|
## Uninstallation
|
|
101
109
|
|
|
102
110
|
Inspect the conservative removal plan first, then consent explicitly:
|
package/bin/arashi.js
CHANGED
|
@@ -188,7 +188,7 @@ export function detectNpmGlobalRoot(options = {}) {
|
|
|
188
188
|
|
|
189
189
|
async function runPackageUninstall(argv, options) {
|
|
190
190
|
if (argv.length === 1 && (argv[0] === "--help" || argv[0] === "-h")) {
|
|
191
|
-
(options.log ?? console.log)(`Usage:
|
|
191
|
+
(options.log ?? console.log)(`Usage: aw uninstall [options]
|
|
192
192
|
|
|
193
193
|
Conservatively remove a proven Arashi installation
|
|
194
194
|
|
package/bin/update.js
CHANGED
|
@@ -383,7 +383,7 @@ async function runNpmManagedUpdateCore(argv = [], options = {}) {
|
|
|
383
383
|
return 0;
|
|
384
384
|
} catch (error) {
|
|
385
385
|
errorLog(`Package updated, but binary refresh failed: ${error instanceof Error ? error.message : String(error)}`);
|
|
386
|
-
errorLog("Run `
|
|
386
|
+
errorLog("Run `aw install` to retry the binary installation, or download a release manually.");
|
|
387
387
|
return 1;
|
|
388
388
|
}
|
|
389
389
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "arashi",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.40.0",
|
|
4
4
|
"description": "Git worktree manager for meta-repositories - The eye of the storm for your development workflow",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"cli",
|
|
@@ -40,6 +40,7 @@
|
|
|
40
40
|
"bin/aw.bat",
|
|
41
41
|
"bin/aw.ps1",
|
|
42
42
|
"schema/config.schema.json",
|
|
43
|
+
"schema/user-config.schema.json",
|
|
43
44
|
"scripts/uninstall.sh",
|
|
44
45
|
"scripts/uninstall.ps1",
|
|
45
46
|
"README.md",
|
|
@@ -73,9 +74,9 @@
|
|
|
73
74
|
"lint": "oxlint -D no-explicit-any .",
|
|
74
75
|
"lint:fix": "oxlint --fix -D no-explicit-any .",
|
|
75
76
|
"lint:ci": "oxlint --format github -D no-explicit-any .",
|
|
76
|
-
"schema:generate": "ts-json-schema-generator --tsconfig tsconfig.schema.json --path src/lib/config.ts --type Config --expose export --jsDoc extended --out schema/config.schema.json",
|
|
77
|
-
"schema:publish": "pnpm run schema:generate && oxfmt --config .oxfmtrc.json --write schema/config.schema.json",
|
|
78
|
-
"schema:check": "pnpm run schema:publish && git diff --exit-code -- schema/config.schema.json",
|
|
77
|
+
"schema:generate": "ts-json-schema-generator --tsconfig tsconfig.schema.json --path src/lib/config.ts --type Config --expose export --jsDoc extended --out schema/config.schema.json && ts-json-schema-generator --tsconfig tsconfig.schema.json --path src/lib/user-config.ts --type UserConfig --expose export --jsDoc extended --out schema/user-config.schema.json",
|
|
78
|
+
"schema:publish": "pnpm run schema:generate && oxfmt --config .oxfmtrc.json --write schema/config.schema.json schema/user-config.schema.json",
|
|
79
|
+
"schema:check": "pnpm run schema:publish && git diff --exit-code -- schema/config.schema.json schema/user-config.schema.json",
|
|
79
80
|
"contract:generate": "node scripts/contracts/cli-commands.ts && node scripts/contracts/inline-lifecycle-hooks.ts && node scripts/contracts/executable-distribution.ts",
|
|
80
81
|
"contract:check": "node scripts/contracts/cli-commands.ts --check && node scripts/contracts/inline-lifecycle-hooks.ts --check && node scripts/contracts/executable-distribution.ts --check",
|
|
81
82
|
"executable-contract:generate": "node scripts/contracts/executable-distribution.ts",
|
|
@@ -13,6 +13,9 @@
|
|
|
13
13
|
},
|
|
14
14
|
"switch": {
|
|
15
15
|
"$ref": "#/definitions/SwitchCommandDefaults"
|
|
16
|
+
},
|
|
17
|
+
"t3": {
|
|
18
|
+
"$ref": "#/definitions/T3Settings"
|
|
16
19
|
}
|
|
17
20
|
},
|
|
18
21
|
"type": "object"
|
|
@@ -290,6 +293,43 @@
|
|
|
290
293
|
"enum": ["auto", "cd", "launch", "sesh", "herdr"],
|
|
291
294
|
"type": "string"
|
|
292
295
|
},
|
|
296
|
+
"T3Settings": {
|
|
297
|
+
"additionalProperties": false,
|
|
298
|
+
"description": "Personal handoff choices; credentials and transport addresses never belong here.",
|
|
299
|
+
"properties": {
|
|
300
|
+
"baseDir": {
|
|
301
|
+
"description": "Official T3 data directory (absolute path).",
|
|
302
|
+
"minLength": 1,
|
|
303
|
+
"pattern": "^(?=(?:/|[A-Za-z]:[\\\\/]|\\\\\\\\))(?=[\\s\\S]*\\S)[^\\u0000-\\u001F]+$(?![\\s\\S])",
|
|
304
|
+
"type": "string"
|
|
305
|
+
},
|
|
306
|
+
"cli": {
|
|
307
|
+
"description": "Installed official t3 executable (command name or absolute path).",
|
|
308
|
+
"minLength": 1,
|
|
309
|
+
"pattern": "^(?=(?:/|[A-Za-z]:[\\\\/]|\\\\\\\\|[^/\\\\]+$))(?=[\\s\\S]*\\S)[^\\u0000-\\u001F]+$(?![\\s\\S])",
|
|
310
|
+
"type": "string"
|
|
311
|
+
},
|
|
312
|
+
"effort": {
|
|
313
|
+
"description": "Supported reasoning effort.",
|
|
314
|
+
"minLength": 1,
|
|
315
|
+
"pattern": "^(?=[\\s\\S]*\\S)[^\\u0000-\\u001F]+$(?![\\s\\S])",
|
|
316
|
+
"type": "string"
|
|
317
|
+
},
|
|
318
|
+
"model": {
|
|
319
|
+
"description": "Supported model slug or alias.",
|
|
320
|
+
"minLength": 1,
|
|
321
|
+
"pattern": "^(?=[\\s\\S]*\\S)[^\\u0000-\\u001F]+$(?![\\s\\S])",
|
|
322
|
+
"type": "string"
|
|
323
|
+
},
|
|
324
|
+
"provider": {
|
|
325
|
+
"description": "Configured provider instance id, or an unambiguous driver name.",
|
|
326
|
+
"minLength": 1,
|
|
327
|
+
"pattern": "^(?=[\\s\\S]*\\S)[^\\u0000-\\u001F]+$(?![\\s\\S])",
|
|
328
|
+
"type": "string"
|
|
329
|
+
}
|
|
330
|
+
},
|
|
331
|
+
"type": "object"
|
|
332
|
+
},
|
|
293
333
|
"WorktreeNamingBranchSlashes": {
|
|
294
334
|
"enum": ["preserve", "flatten"],
|
|
295
335
|
"type": "string"
|
|
@@ -0,0 +1,193 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$ref": "#/definitions/UserConfig",
|
|
3
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
4
|
+
"definitions": {
|
|
5
|
+
"CommandDefaultsConfig": {
|
|
6
|
+
"additionalProperties": false,
|
|
7
|
+
"properties": {
|
|
8
|
+
"create": {
|
|
9
|
+
"$ref": "#/definitions/CreateCommandDefaults"
|
|
10
|
+
},
|
|
11
|
+
"editors": {
|
|
12
|
+
"$ref": "#/definitions/EditorDefaultsConfig"
|
|
13
|
+
},
|
|
14
|
+
"switch": {
|
|
15
|
+
"$ref": "#/definitions/SwitchCommandDefaults"
|
|
16
|
+
},
|
|
17
|
+
"t3": {
|
|
18
|
+
"$ref": "#/definitions/T3Settings"
|
|
19
|
+
}
|
|
20
|
+
},
|
|
21
|
+
"type": "object"
|
|
22
|
+
},
|
|
23
|
+
"ConfigVersion": {
|
|
24
|
+
"const": "1.0.0",
|
|
25
|
+
"type": "string"
|
|
26
|
+
},
|
|
27
|
+
"CreateCommandDefaults": {
|
|
28
|
+
"additionalProperties": false,
|
|
29
|
+
"properties": {
|
|
30
|
+
"launch": {
|
|
31
|
+
"$ref": "#/definitions/CreateLaunchMode",
|
|
32
|
+
"description": "Post-create launch choice; omitted preserves built-in no-launch behavior"
|
|
33
|
+
},
|
|
34
|
+
"switch": {
|
|
35
|
+
"description": "Default to switching to the new worktree after create",
|
|
36
|
+
"type": "boolean"
|
|
37
|
+
}
|
|
38
|
+
},
|
|
39
|
+
"type": "object"
|
|
40
|
+
},
|
|
41
|
+
"CreateLaunchMode": {
|
|
42
|
+
"enum": ["none", "auto", "sesh", "herdr"],
|
|
43
|
+
"type": "string"
|
|
44
|
+
},
|
|
45
|
+
"EditorCommandDefaults": {
|
|
46
|
+
"additionalProperties": false,
|
|
47
|
+
"properties": {
|
|
48
|
+
"create": {
|
|
49
|
+
"$ref": "#/definitions/EditorCreateCommandDefaults",
|
|
50
|
+
"description": "Editor-scoped create defaults"
|
|
51
|
+
}
|
|
52
|
+
},
|
|
53
|
+
"type": "object"
|
|
54
|
+
},
|
|
55
|
+
"EditorCreateCommandDefaults": {
|
|
56
|
+
"additionalProperties": false,
|
|
57
|
+
"properties": {
|
|
58
|
+
"launch": {
|
|
59
|
+
"$ref": "#/definitions/CreateLaunchMode",
|
|
60
|
+
"description": "Post-create launch choice; omitted preserves built-in no-launch behavior"
|
|
61
|
+
},
|
|
62
|
+
"switch": {
|
|
63
|
+
"description": "Default to switching to the new worktree after create",
|
|
64
|
+
"type": "boolean"
|
|
65
|
+
}
|
|
66
|
+
},
|
|
67
|
+
"type": "object"
|
|
68
|
+
},
|
|
69
|
+
"EditorDefaultsConfig": {
|
|
70
|
+
"additionalProperties": false,
|
|
71
|
+
"properties": {
|
|
72
|
+
"cursor": {
|
|
73
|
+
"$ref": "#/definitions/EditorCommandDefaults"
|
|
74
|
+
},
|
|
75
|
+
"kiro": {
|
|
76
|
+
"$ref": "#/definitions/EditorCommandDefaults"
|
|
77
|
+
},
|
|
78
|
+
"vscode": {
|
|
79
|
+
"$ref": "#/definitions/EditorCommandDefaults"
|
|
80
|
+
}
|
|
81
|
+
},
|
|
82
|
+
"type": "object"
|
|
83
|
+
},
|
|
84
|
+
"SwitchCommandDefaults": {
|
|
85
|
+
"additionalProperties": false,
|
|
86
|
+
"properties": {
|
|
87
|
+
"mode": {
|
|
88
|
+
"$ref": "#/definitions/SwitchMode",
|
|
89
|
+
"description": "Preferred switch behavior and launcher when running switch"
|
|
90
|
+
}
|
|
91
|
+
},
|
|
92
|
+
"type": "object"
|
|
93
|
+
},
|
|
94
|
+
"SwitchMode": {
|
|
95
|
+
"enum": ["auto", "cd", "launch", "sesh", "herdr"],
|
|
96
|
+
"type": "string"
|
|
97
|
+
},
|
|
98
|
+
"T3Settings": {
|
|
99
|
+
"additionalProperties": false,
|
|
100
|
+
"description": "Personal handoff choices; credentials and transport addresses never belong here.",
|
|
101
|
+
"properties": {
|
|
102
|
+
"baseDir": {
|
|
103
|
+
"description": "Official T3 data directory (absolute path).",
|
|
104
|
+
"minLength": 1,
|
|
105
|
+
"pattern": "^(?=(?:/|[A-Za-z]:[\\\\/]|\\\\\\\\))(?=[\\s\\S]*\\S)[^\\u0000-\\u001F]+$(?![\\s\\S])",
|
|
106
|
+
"type": "string"
|
|
107
|
+
},
|
|
108
|
+
"cli": {
|
|
109
|
+
"description": "Installed official t3 executable (command name or absolute path).",
|
|
110
|
+
"minLength": 1,
|
|
111
|
+
"pattern": "^(?=(?:/|[A-Za-z]:[\\\\/]|\\\\\\\\|[^/\\\\]+$))(?=[\\s\\S]*\\S)[^\\u0000-\\u001F]+$(?![\\s\\S])",
|
|
112
|
+
"type": "string"
|
|
113
|
+
},
|
|
114
|
+
"effort": {
|
|
115
|
+
"description": "Supported reasoning effort.",
|
|
116
|
+
"minLength": 1,
|
|
117
|
+
"pattern": "^(?=[\\s\\S]*\\S)[^\\u0000-\\u001F]+$(?![\\s\\S])",
|
|
118
|
+
"type": "string"
|
|
119
|
+
},
|
|
120
|
+
"model": {
|
|
121
|
+
"description": "Supported model slug or alias.",
|
|
122
|
+
"minLength": 1,
|
|
123
|
+
"pattern": "^(?=[\\s\\S]*\\S)[^\\u0000-\\u001F]+$(?![\\s\\S])",
|
|
124
|
+
"type": "string"
|
|
125
|
+
},
|
|
126
|
+
"provider": {
|
|
127
|
+
"description": "Configured provider instance id, or an unambiguous driver name.",
|
|
128
|
+
"minLength": 1,
|
|
129
|
+
"pattern": "^(?=[\\s\\S]*\\S)[^\\u0000-\\u001F]+$(?![\\s\\S])",
|
|
130
|
+
"type": "string"
|
|
131
|
+
}
|
|
132
|
+
},
|
|
133
|
+
"type": "object"
|
|
134
|
+
},
|
|
135
|
+
"UserConfig": {
|
|
136
|
+
"additionalProperties": false,
|
|
137
|
+
"properties": {
|
|
138
|
+
"$schema": {
|
|
139
|
+
"description": "JSON Schema URL for editor validation/autocomplete",
|
|
140
|
+
"type": "string"
|
|
141
|
+
},
|
|
142
|
+
"defaults": {
|
|
143
|
+
"$ref": "#/definitions/CommandDefaultsConfig",
|
|
144
|
+
"description": "Personal command and editor defaults"
|
|
145
|
+
},
|
|
146
|
+
"version": {
|
|
147
|
+
"$ref": "#/definitions/ConfigVersion",
|
|
148
|
+
"description": "User configuration schema version"
|
|
149
|
+
},
|
|
150
|
+
"worktreeNaming": {
|
|
151
|
+
"$ref": "#/definitions/WorktreeNamingConfig",
|
|
152
|
+
"description": "Personal fallback worktree naming policy"
|
|
153
|
+
},
|
|
154
|
+
"worktreesDir": {
|
|
155
|
+
"description": "Personal fallback worktree directory; absolute paths are repository-qualified",
|
|
156
|
+
"type": "string"
|
|
157
|
+
}
|
|
158
|
+
},
|
|
159
|
+
"required": ["version"],
|
|
160
|
+
"type": "object"
|
|
161
|
+
},
|
|
162
|
+
"WorktreeNamingBranchSlashes": {
|
|
163
|
+
"enum": ["preserve", "flatten"],
|
|
164
|
+
"type": "string"
|
|
165
|
+
},
|
|
166
|
+
"WorktreeNamingConfig": {
|
|
167
|
+
"additionalProperties": false,
|
|
168
|
+
"description": "Filesystem naming policy for configured create destinations.",
|
|
169
|
+
"properties": {
|
|
170
|
+
"branchSlashes": {
|
|
171
|
+
"$ref": "#/definitions/WorktreeNamingBranchSlashes",
|
|
172
|
+
"description": "Preserve branch slash hierarchy or flatten slashes to hyphens"
|
|
173
|
+
},
|
|
174
|
+
"maxPathLength": {
|
|
175
|
+
"description": "Maximum UTF-16 code units for each absolute newly planned configured-worktree destination",
|
|
176
|
+
"maximum": 2147483647,
|
|
177
|
+
"minimum": 1,
|
|
178
|
+
"multipleOf": 1,
|
|
179
|
+
"type": "number"
|
|
180
|
+
},
|
|
181
|
+
"style": {
|
|
182
|
+
"$ref": "#/definitions/WorktreeNamingStyle",
|
|
183
|
+
"description": "Repository-shape-aware default, branch-only, or repository-prefixed naming"
|
|
184
|
+
}
|
|
185
|
+
},
|
|
186
|
+
"type": "object"
|
|
187
|
+
},
|
|
188
|
+
"WorktreeNamingStyle": {
|
|
189
|
+
"enum": ["default", "branch", "repo-branch"],
|
|
190
|
+
"type": "string"
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
}
|