@tacuchi/agent-workflow-cli 5.14.4 → 5.14.5
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/application/self/install-plugin-skills-git.d.ts.map +1 -1
- package/dist/application/self/install-plugin-skills-git.js +1 -85
- package/dist/application/self/install-plugin-skills-git.js.map +1 -1
- package/dist/application/self/install-plugin-skills.d.ts.map +1 -1
- package/dist/application/self/install-plugin-skills.js +5 -20
- package/dist/application/self/install-plugin-skills.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install-plugin-skills-git.d.ts","sourceRoot":"","sources":["../../../src/application/self/install-plugin-skills-git.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"install-plugin-skills-git.d.ts","sourceRoot":"","sources":["../../../src/application/self/install-plugin-skills-git.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAC;AAM9E,wBAAsB,0BAA0B,CAC9C,IAAI,EAAE,UAAU,EAChB,GAAG,EAAE,UAAU,GACd,OAAO,CAAC,aAAa,CAAC,2BAA2B,CAAC,CAAC,CAmErD"}
|
|
@@ -1,14 +1,9 @@
|
|
|
1
1
|
import { spawn } from "node:child_process";
|
|
2
|
-
import {
|
|
2
|
+
import { readFile, readdir, rm, stat } from "node:fs/promises";
|
|
3
3
|
import { mkdtemp } from "node:fs/promises";
|
|
4
4
|
import { tmpdir } from "node:os";
|
|
5
5
|
import { join } from "node:path";
|
|
6
6
|
import { selfInstallPluginSkills } from "./install-plugin-skills.js";
|
|
7
|
-
const DEBUG_LOG = join(tmpdir(), "aw-debug.log");
|
|
8
|
-
async function dbg(msg) {
|
|
9
|
-
const line = `[${new Date().toISOString()}] ${msg}\n`;
|
|
10
|
-
await appendFile(DEBUG_LOG, line, "utf8").catch(() => { });
|
|
11
|
-
}
|
|
12
7
|
const VALID_TARGETS = ["claude", "codex", "agents", "warp", "oz"];
|
|
13
8
|
export async function installPluginSkillsFromGit(args, ctx) {
|
|
14
9
|
const rawUrl = args.values.get("url");
|
|
@@ -37,25 +32,18 @@ export async function installPluginSkillsFromGit(args, ctx) {
|
|
|
37
32
|
const url = hashIdx >= 0 ? rawUrl.slice(0, hashIdx) : rawUrl;
|
|
38
33
|
const ref = args.values.get("ref") ?? (hashIdx >= 0 ? rawUrl.slice(hashIdx + 1) : undefined);
|
|
39
34
|
const tempDir = await mkdtemp(join(tmpdir(), "aw-git-install-"));
|
|
40
|
-
await dbg(`installPluginSkillsFromGit url=${url} ref=${ref} target=${targetArg} ns=${namespace} tempDir=${tempDir}`);
|
|
41
35
|
try {
|
|
42
36
|
try {
|
|
43
37
|
await gitClone(url, tempDir, ref);
|
|
44
|
-
await dbg(`gitClone OK → ${tempDir}`);
|
|
45
38
|
}
|
|
46
39
|
catch (err) {
|
|
47
|
-
await dbg(`gitClone FAILED: ${err.message}`);
|
|
48
40
|
return {
|
|
49
41
|
ok: false,
|
|
50
42
|
error: { code: "GIT_CLONE_FAILED", message: err.message },
|
|
51
43
|
exitCode: 1,
|
|
52
44
|
};
|
|
53
45
|
}
|
|
54
|
-
await dumpTree(tempDir, "after-clone");
|
|
55
46
|
const resolvedDir = await resolvePluginDir(tempDir, namespace);
|
|
56
|
-
await dbg(`resolvePluginDir → ${resolvedDir}`);
|
|
57
|
-
if (resolvedDir)
|
|
58
|
-
await dumpTree(resolvedDir, "after-resolve");
|
|
59
47
|
if (!resolvedDir) {
|
|
60
48
|
return {
|
|
61
49
|
ok: false,
|
|
@@ -163,76 +151,4 @@ async function hasValidSkillDirs(dir) {
|
|
|
163
151
|
return false;
|
|
164
152
|
}
|
|
165
153
|
}
|
|
166
|
-
async function dumpTree(root, label) {
|
|
167
|
-
await dbg(`--- DUMP ${label} root=${root} ---`);
|
|
168
|
-
try {
|
|
169
|
-
await walkAndLog(root, "", 0);
|
|
170
|
-
}
|
|
171
|
-
catch (e) {
|
|
172
|
-
await dbg(`dumpTree FAIL: ${e.message}`);
|
|
173
|
-
}
|
|
174
|
-
await dbg(`--- END DUMP ${label} ---`);
|
|
175
|
-
}
|
|
176
|
-
async function walkAndLog(base, rel, depth) {
|
|
177
|
-
if (depth > 3)
|
|
178
|
-
return;
|
|
179
|
-
const here = rel ? join(base, rel) : base;
|
|
180
|
-
let entries;
|
|
181
|
-
try {
|
|
182
|
-
entries = await readdir(here, { withFileTypes: true });
|
|
183
|
-
}
|
|
184
|
-
catch (e) {
|
|
185
|
-
await dbg(` ${rel || "."}: readdir ERR ${e.message}`);
|
|
186
|
-
return;
|
|
187
|
-
}
|
|
188
|
-
for (const e of entries) {
|
|
189
|
-
if (e.name === ".git")
|
|
190
|
-
continue;
|
|
191
|
-
const childRel = rel ? `${rel}/${e.name}` : e.name;
|
|
192
|
-
const isDir = await inspectEntry(base, childRel, e.name);
|
|
193
|
-
if (isDir) {
|
|
194
|
-
await walkAndLog(base, childRel, depth + 1);
|
|
195
|
-
}
|
|
196
|
-
}
|
|
197
|
-
}
|
|
198
|
-
async function inspectEntry(base, childRel, name) {
|
|
199
|
-
const childAbs = join(base, childRel);
|
|
200
|
-
const nameBytes = Buffer.from(name, "utf8").toString("hex");
|
|
201
|
-
const ls = await safeLstat(childAbs);
|
|
202
|
-
const st = await safeStat(childAbs);
|
|
203
|
-
await dbg(` ${childRel} lstat=${ls.type} stat=${st.type} size=${ls.size} nameHex=${nameBytes}`);
|
|
204
|
-
return ls.type === "DIR";
|
|
205
|
-
}
|
|
206
|
-
async function safeLstat(p) {
|
|
207
|
-
try {
|
|
208
|
-
const ls = await lstat(p);
|
|
209
|
-
const type = ls.isSymbolicLink()
|
|
210
|
-
? "SYM"
|
|
211
|
-
: ls.isDirectory()
|
|
212
|
-
? "DIR"
|
|
213
|
-
: ls.isFile()
|
|
214
|
-
? "FIL"
|
|
215
|
-
: "OTH";
|
|
216
|
-
return { type, size: ls.size };
|
|
217
|
-
}
|
|
218
|
-
catch (err) {
|
|
219
|
-
return { type: `lstat-ERR(${errCode(err)})`, size: "?" };
|
|
220
|
-
}
|
|
221
|
-
}
|
|
222
|
-
async function safeStat(p) {
|
|
223
|
-
try {
|
|
224
|
-
const st = await stat(p);
|
|
225
|
-
const type = st.isDirectory() ? "DIR" : st.isFile() ? "FIL" : "OTH";
|
|
226
|
-
return { type };
|
|
227
|
-
}
|
|
228
|
-
catch (err) {
|
|
229
|
-
return { type: `stat-ERR(${errCode(err)})` };
|
|
230
|
-
}
|
|
231
|
-
}
|
|
232
|
-
function errCode(err) {
|
|
233
|
-
if (err && typeof err === "object" && "code" in err) {
|
|
234
|
-
return String(err.code);
|
|
235
|
-
}
|
|
236
|
-
return "?";
|
|
237
|
-
}
|
|
238
154
|
//# sourceMappingURL=install-plugin-skills-git.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install-plugin-skills-git.js","sourceRoot":"","sources":["../../../src/application/self/install-plugin-skills-git.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"install-plugin-skills-git.js","sourceRoot":"","sources":["../../../src/application/self/install-plugin-skills-git.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install-plugin-skills.d.ts","sourceRoot":"","sources":["../../../src/application/self/install-plugin-skills.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"install-plugin-skills.d.ts","sourceRoot":"","sources":["../../../src/application/self/install-plugin-skills.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC3D,OAAO,EAAE,KAAK,aAAa,EAAgB,MAAM,oBAAoB,CAAC;AAEtE,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,WAAW,GAAG,SAAS,GAAG,SAAS,CAAC;IAC5C,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,2BAA2B;IAC1C,MAAM,EAAE,WAAW,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC;IACxD,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,aAAa,CAAC;IACtB,MAAM,EAAE,iBAAiB,EAAE,CAAC;IAC5B,OAAO,EAAE,MAAM,CAAC;CACjB;AAID,wBAAsB,uBAAuB,CAC3C,IAAI,EAAE,UAAU,EAChB,GAAG,EAAE,UAAU,GACd,OAAO,CAAC,aAAa,CAAC,2BAA2B,CAAC,CAAC,CAoErD"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { tmpdir } from "node:os";
|
|
1
|
+
import { copyFile, mkdir, readFile, readdir, rm, stat, writeFile } from "node:fs/promises";
|
|
3
2
|
import { join } from "node:path";
|
|
4
3
|
import { TARGET_ROOTS } from "./install-skill.js";
|
|
5
4
|
const VALID_TARGETS = ["claude", "codex", "agents", "warp", "oz"];
|
|
@@ -33,9 +32,7 @@ export async function selfInstallPluginSkills(args, ctx) {
|
|
|
33
32
|
exitCode: 1,
|
|
34
33
|
};
|
|
35
34
|
}
|
|
36
|
-
await dbg(`selfInstallPluginSkills start — from=${fromDir} target=${targetArg} ns=${namespace} force=${force}`);
|
|
37
35
|
const skillDirs = await scanSkillDirs(fromDir);
|
|
38
|
-
await dbg(`scanSkillDirs found ${skillDirs.length} skill(s): ${skillDirs.map((s) => s.name).join(", ")}`);
|
|
39
36
|
if (skillDirs.length === 0) {
|
|
40
37
|
return {
|
|
41
38
|
ok: true,
|
|
@@ -72,9 +69,7 @@ async function processSkill(opts) {
|
|
|
72
69
|
if (dryRun) {
|
|
73
70
|
return { skillName: finalName, dest, status: "dry-run" };
|
|
74
71
|
}
|
|
75
|
-
|
|
76
|
-
await dbg(`processSkill name=${finalName} dest=${dest} exists=${alreadyExists} force=${force}`);
|
|
77
|
-
if (!force && alreadyExists) {
|
|
72
|
+
if (!force && (await dirExists(dest))) {
|
|
78
73
|
return {
|
|
79
74
|
skillName: finalName,
|
|
80
75
|
dest,
|
|
@@ -86,16 +81,13 @@ async function processSkill(opts) {
|
|
|
86
81
|
if (force) {
|
|
87
82
|
await rm(dest, { recursive: true, force: true });
|
|
88
83
|
}
|
|
89
|
-
await dbg(`copyDir ${skillSrcDir} → ${dest}`);
|
|
90
84
|
await copyDir(skillSrcDir, dest);
|
|
91
85
|
if (namespace) {
|
|
92
86
|
await patchFrontmatterName(join(dest, "SKILL.md"), finalName);
|
|
93
87
|
}
|
|
94
|
-
await dbg(`processSkill installed ${finalName}`);
|
|
95
88
|
return { skillName: finalName, dest, status: "installed" };
|
|
96
89
|
}
|
|
97
90
|
catch (err) {
|
|
98
|
-
await dbg(`processSkill ERROR ${finalName}: ${err.message}`);
|
|
99
91
|
return {
|
|
100
92
|
skillName: finalName,
|
|
101
93
|
dest,
|
|
@@ -122,14 +114,12 @@ async function scanSkillDirs(fromDir) {
|
|
|
122
114
|
continue;
|
|
123
115
|
await stat(skillMd);
|
|
124
116
|
const content = await readFile(skillMd, "utf8");
|
|
125
|
-
|
|
126
|
-
await dbg(` entry=${entry} isDir=true hasSkillMd=true frontmatterOk=${valid} firstBytes=${JSON.stringify(content.slice(0, 80))}`);
|
|
127
|
-
if (valid) {
|
|
117
|
+
if (hasValidFrontmatter(content)) {
|
|
128
118
|
results.push({ name: entry, path: full });
|
|
129
119
|
}
|
|
130
120
|
}
|
|
131
|
-
catch
|
|
132
|
-
|
|
121
|
+
catch {
|
|
122
|
+
// not a valid skill dir — skip
|
|
133
123
|
}
|
|
134
124
|
}
|
|
135
125
|
return results;
|
|
@@ -165,11 +155,6 @@ function hasValidFrontmatter(content) {
|
|
|
165
155
|
const block = match[1] ?? "";
|
|
166
156
|
return /^name:\s*\S/m.test(block) && /^description:\s*\S/m.test(block);
|
|
167
157
|
}
|
|
168
|
-
const DEBUG_LOG = join(tmpdir(), "aw-debug.log");
|
|
169
|
-
async function dbg(msg) {
|
|
170
|
-
const line = `[${new Date().toISOString()}] ${msg}\n`;
|
|
171
|
-
await appendFile(DEBUG_LOG, line, "utf8").catch(() => { });
|
|
172
|
-
}
|
|
173
158
|
async function dirExists(p) {
|
|
174
159
|
try {
|
|
175
160
|
await stat(p);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install-plugin-skills.js","sourceRoot":"","sources":["../../../src/application/self/install-plugin-skills.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"install-plugin-skills.js","sourceRoot":"","sources":["../../../src/application/self/install-plugin-skills.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tacuchi/agent-workflow-cli",
|
|
3
|
-
"version": "5.14.
|
|
3
|
+
"version": "5.14.5",
|
|
4
4
|
"description": "Agnostic runtime CLI for session-lifecycle workflows. Auto-detects namespace from any `.<ns>/sessions/` dir in CWD; falls back to 'agent-workflow'. Plugins can reclaim a fixed namespace via SessionStart hook (writes to `~/.config/agent-workflow/namespace`). Bundles the universal `agent-workflow` skill in the tarball — `self install-skill` copies it from the bundled location to `~/.claude/skills/agent-workflow/` and `~/.codex/skills/agent-workflow/` (dual-target by default; opt-out with `--target claude|codex`). Override the source with `--from <local-path>` for skill development.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|