@tryglen/cli 0.33.0 → 0.36.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 +19 -19
- package/dist/_utils/agent-adapter.d.ts +2 -0
- package/dist/_utils/agent-adapter.js +3 -1
- package/dist/_utils/agent-adapter.js.map +1 -1
- package/dist/_utils/detect-transcript-format.d.ts +1 -1
- package/dist/_utils/detect-transcript-format.js.map +1 -1
- package/dist/_utils/install-receipt.d.ts +9 -1
- package/dist/_utils/install-receipt.js +19 -1
- package/dist/_utils/install-receipt.js.map +1 -1
- package/dist/_utils/jcode-bundle.d.ts +3 -0
- package/dist/_utils/jcode-bundle.js +23 -0
- package/dist/_utils/jcode-bundle.js.map +1 -0
- package/dist/_utils/jcode-event.d.ts +3 -0
- package/dist/_utils/jcode-event.js +82 -0
- package/dist/_utils/jcode-event.js.map +1 -0
- package/dist/_utils/jcode-hook-lines.d.ts +5 -0
- package/dist/_utils/jcode-hook-lines.js +11 -0
- package/dist/_utils/jcode-hook-lines.js.map +1 -0
- package/dist/_utils/jcode-hooks-toml.d.ts +8 -0
- package/dist/_utils/jcode-hooks-toml.js +156 -0
- package/dist/_utils/jcode-hooks-toml.js.map +1 -0
- package/dist/_utils/jcode-paths.d.ts +7 -0
- package/dist/_utils/jcode-paths.js +13 -0
- package/dist/_utils/jcode-paths.js.map +1 -0
- package/dist/_utils/jcode-setup.d.ts +27 -0
- package/dist/_utils/jcode-setup.js +158 -0
- package/dist/_utils/jcode-setup.js.map +1 -0
- package/dist/_utils/jcode-skills-sync.d.ts +8 -0
- package/dist/_utils/jcode-skills-sync.js +79 -0
- package/dist/_utils/jcode-skills-sync.js.map +1 -0
- package/dist/_utils/managed-block.d.ts +4 -0
- package/dist/_utils/managed-block.js +42 -0
- package/dist/_utils/managed-block.js.map +1 -0
- package/dist/_utils/parse-harbor-atif.js +2 -1
- package/dist/_utils/parse-harbor-atif.js.map +1 -1
- package/dist/_utils/parse-jcode-session.d.ts +14 -0
- package/dist/_utils/parse-jcode-session.js +128 -0
- package/dist/_utils/parse-jcode-session.js.map +1 -0
- package/dist/_utils/plugin-status.d.ts +1 -1
- package/dist/_utils/plugin-status.js +28 -0
- package/dist/_utils/plugin-status.js.map +1 -1
- package/dist/_utils/transcript-turns.d.ts +1 -1
- package/dist/bin.js +12 -6
- package/dist/bin.js.map +1 -1
- package/dist/commands/_utils/materialize-skill.d.ts +30 -0
- package/dist/commands/_utils/materialize-skill.js +237 -0
- package/dist/commands/_utils/materialize-skill.js.map +1 -0
- package/dist/commands/_utils/pack-skill-dir.d.ts +15 -0
- package/dist/commands/_utils/pack-skill-dir.js +190 -0
- package/dist/commands/_utils/pack-skill-dir.js.map +1 -0
- package/dist/commands/doctor.js +19 -1
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/ingest.js +28 -18
- package/dist/commands/ingest.js.map +1 -1
- package/dist/commands/install.d.ts +1 -0
- package/dist/commands/install.js +55 -10
- package/dist/commands/install.js.map +1 -1
- package/dist/commands/session-start.js +18 -8
- package/dist/commands/session-start.js.map +1 -1
- package/dist/commands/skill.d.ts +1 -0
- package/dist/commands/skill.js +171 -10
- package/dist/commands/skill.js.map +1 -1
- package/dist/commands/uninstall.js +4 -0
- package/dist/commands/uninstall.js.map +1 -1
- package/dist/commands/update.js +19 -0
- package/dist/commands/update.js.map +1 -1
- package/dist/jcode/plugin.json +8 -0
- package/dist/jcode/preferred-tools.md +3 -0
- package/dist/jcode/prompt-overlay.md +15 -0
- package/dist/jcode/skills/code-search/SKILL.md +19 -0
- package/dist/jcode/skills/controls/SKILL.md +45 -0
- package/dist/jcode/skills/create-artifact/SKILL.md +11 -0
- package/dist/jcode/skills/create-skill/SKILL.md +41 -0
- package/dist/jcode/skills/feedback/SKILL.md +59 -0
- package/dist/jcode/skills/forget/SKILL.md +41 -0
- package/dist/jcode/skills/import-transcripts/SKILL.md +27 -0
- package/dist/jcode/skills/invite/SKILL.md +28 -0
- package/dist/jcode/skills/search/SKILL.md +35 -0
- package/dist/jcode/skills/session-takeover/SKILL.md +67 -0
- package/dist/jcode/skills/setup/SKILL.md +62 -0
- package/dist/jcode/skills/use-artifact/SKILL.md +11 -0
- package/dist/jcode/skills/use-skill/SKILL.md +10 -0
- package/package.json +5 -3
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
import { lstat, readFile, readdir, stat } from "node:fs/promises";
|
|
2
|
+
import { extname, join, relative, sep } from "node:path";
|
|
3
|
+
import { causeOf, cliErr } from "../../_utils/cli-error.js";
|
|
4
|
+
import { err, fromPromise, ok } from "../../_utils/result.js";
|
|
5
|
+
// Only these top-level directories are meaningful to an agent loading a
|
|
6
|
+
// skill — mirrors the server's CANONICAL_DIRS in validate-skill-files.ts.
|
|
7
|
+
const CANONICAL_SUBDIRS = ["scripts", "references", "assets"];
|
|
8
|
+
// Client-side mirror of the server's per-file/total caps
|
|
9
|
+
// (src/server/skills/validate-skill-files.ts) — failing here saves a round
|
|
10
|
+
// trip and names the offending file instead of a generic server 400.
|
|
11
|
+
const MAX_FILES = 100;
|
|
12
|
+
const MAX_PATH_LENGTH = 500; // matches skillCreateInputSchema's path: z.string().min(1).max(500)
|
|
13
|
+
const MAX_TEXT_BYTES = 1024 * 1024; // 1 MB — a single text file (and SKILL.md)
|
|
14
|
+
const MAX_BINARY_BYTES = 2 * 1024 * 1024; // 2 MB — a single decoded binary asset
|
|
15
|
+
const MAX_TOTAL_BYTES = 3 * 1024 * 1024; // 3 MB — the whole `files` array, as sent
|
|
16
|
+
const CONTENT_TYPE_BY_EXT = {
|
|
17
|
+
".sh": "text/x-shellscript",
|
|
18
|
+
".py": "text/x-python",
|
|
19
|
+
".md": "text/markdown",
|
|
20
|
+
".json": "application/json",
|
|
21
|
+
".png": "image/png",
|
|
22
|
+
".jpg": "image/jpeg",
|
|
23
|
+
".jpeg": "image/jpeg",
|
|
24
|
+
".pdf": "application/pdf",
|
|
25
|
+
};
|
|
26
|
+
const shouldSkipEntryName = (name) => name.startsWith(".") || name === "node_modules" || name === "__pycache__";
|
|
27
|
+
// A round trip through utf8 that comes back byte-identical means the buffer
|
|
28
|
+
// is valid UTF-8 text; anything else (including a mid-decode replacement
|
|
29
|
+
// character) is treated as binary.
|
|
30
|
+
const isUtf8 = (buf) => buf.equals(Buffer.from(buf.toString("utf8"), "utf8"));
|
|
31
|
+
const contentTypeFor = (relPath, textLike) => {
|
|
32
|
+
const mapped = CONTENT_TYPE_BY_EXT[extname(relPath).toLowerCase()];
|
|
33
|
+
if (mapped)
|
|
34
|
+
return mapped;
|
|
35
|
+
return textLike ? "text/plain" : "application/octet-stream";
|
|
36
|
+
};
|
|
37
|
+
const toCanonicalPath = (rootDir, fullPath) => relative(rootDir, fullPath).split(sep).join("/");
|
|
38
|
+
// Recursively lists regular files under `dir`, skipping dotfiles/dirs,
|
|
39
|
+
// node_modules, __pycache__, and symlinks (checked via the dirent from
|
|
40
|
+
// readdir, which — like lstat — does not follow symlinks).
|
|
41
|
+
const collectFilePaths = async (dir) => {
|
|
42
|
+
const entries = await fromPromise(readdir(dir, { withFileTypes: true }));
|
|
43
|
+
if (!entries.ok)
|
|
44
|
+
return err(cliErr({
|
|
45
|
+
what: `could not read directory ${dir}`,
|
|
46
|
+
why: causeOf(entries.error),
|
|
47
|
+
path: dir,
|
|
48
|
+
remedy: "check the path passed to --dir",
|
|
49
|
+
}));
|
|
50
|
+
const collected = [];
|
|
51
|
+
for (const entry of entries.value) {
|
|
52
|
+
if (shouldSkipEntryName(entry.name) || entry.isSymbolicLink())
|
|
53
|
+
continue;
|
|
54
|
+
const full = join(dir, entry.name);
|
|
55
|
+
if (entry.isDirectory()) {
|
|
56
|
+
const nested = await collectFilePaths(full);
|
|
57
|
+
if (!nested.ok)
|
|
58
|
+
return nested;
|
|
59
|
+
collected.push(...nested.value);
|
|
60
|
+
}
|
|
61
|
+
else if (entry.isFile()) {
|
|
62
|
+
collected.push(full);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
return ok(collected);
|
|
66
|
+
};
|
|
67
|
+
// Walks only the canonical scripts/references/assets subdirs of `rootDir`.
|
|
68
|
+
// A missing or symlinked canonical subdir is treated as simply absent —
|
|
69
|
+
// not an error.
|
|
70
|
+
const collectCanonicalFilePaths = async (rootDir) => {
|
|
71
|
+
const collected = [];
|
|
72
|
+
for (const name of CANONICAL_SUBDIRS) {
|
|
73
|
+
const subdir = join(rootDir, name);
|
|
74
|
+
const info = await fromPromise(lstat(subdir));
|
|
75
|
+
if (!info.ok || info.value.isSymbolicLink() || !info.value.isDirectory())
|
|
76
|
+
continue;
|
|
77
|
+
const files = await collectFilePaths(subdir);
|
|
78
|
+
if (!files.ok)
|
|
79
|
+
return files;
|
|
80
|
+
collected.push(...files.value);
|
|
81
|
+
}
|
|
82
|
+
return ok(collected);
|
|
83
|
+
};
|
|
84
|
+
const packOneFile = async (rootDir, fullPath) => {
|
|
85
|
+
const relPath = toCanonicalPath(rootDir, fullPath);
|
|
86
|
+
if (relPath.length > MAX_PATH_LENGTH)
|
|
87
|
+
return err(cliErr({
|
|
88
|
+
what: `${relPath} has a ${relPath.length}-character path, over the ${MAX_PATH_LENGTH} character limit`,
|
|
89
|
+
path: relPath,
|
|
90
|
+
remedy: `shorten the path to ${relPath} — skill package paths cap at ${MAX_PATH_LENGTH} characters`,
|
|
91
|
+
}));
|
|
92
|
+
const fileStat = await fromPromise(stat(fullPath));
|
|
93
|
+
if (!fileStat.ok)
|
|
94
|
+
return err(cliErr({
|
|
95
|
+
what: `could not read ${relPath}`,
|
|
96
|
+
why: causeOf(fileStat.error),
|
|
97
|
+
path: relPath,
|
|
98
|
+
remedy: "check the file's permissions",
|
|
99
|
+
}));
|
|
100
|
+
const bytes = await fromPromise(readFile(fullPath));
|
|
101
|
+
if (!bytes.ok)
|
|
102
|
+
return err(cliErr({
|
|
103
|
+
what: `could not read ${relPath}`,
|
|
104
|
+
why: causeOf(bytes.error),
|
|
105
|
+
path: relPath,
|
|
106
|
+
remedy: "check the file's permissions",
|
|
107
|
+
}));
|
|
108
|
+
const buf = bytes.value;
|
|
109
|
+
const textLike = isUtf8(buf);
|
|
110
|
+
const cap = textLike ? MAX_TEXT_BYTES : MAX_BINARY_BYTES;
|
|
111
|
+
if (buf.length > cap)
|
|
112
|
+
return err(cliErr({
|
|
113
|
+
what: `${relPath} is ${buf.length} bytes, over the ${cap} byte limit for a ${textLike ? "text" : "binary"} file`,
|
|
114
|
+
path: relPath,
|
|
115
|
+
remedy: `split or trim ${relPath} — skill packages cap individual files at 1MB (text) / 2MB (binary)`,
|
|
116
|
+
}));
|
|
117
|
+
const isExecutable = (fileStat.value.mode & 0o111) !== 0;
|
|
118
|
+
const contentType = contentTypeFor(relPath, textLike);
|
|
119
|
+
return ok({
|
|
120
|
+
path: relPath,
|
|
121
|
+
isExecutable,
|
|
122
|
+
contentType,
|
|
123
|
+
...(textLike
|
|
124
|
+
? { content: buf.toString("utf8") }
|
|
125
|
+
: { contentBase64: buf.toString("base64") }),
|
|
126
|
+
});
|
|
127
|
+
};
|
|
128
|
+
const packFiles = async (rootDir, filePaths) => {
|
|
129
|
+
const packed = [];
|
|
130
|
+
for (const full of filePaths) {
|
|
131
|
+
const file = await packOneFile(rootDir, full);
|
|
132
|
+
if (!file.ok)
|
|
133
|
+
return file;
|
|
134
|
+
packed.push(file.value);
|
|
135
|
+
}
|
|
136
|
+
return ok(packed);
|
|
137
|
+
};
|
|
138
|
+
// The exact byte count this file will put on the wire — recomputed from the
|
|
139
|
+
// packed value (not carried separately) so the total-size check reflects
|
|
140
|
+
// what's actually being sent, the same way the server re-derives it. A binary
|
|
141
|
+
// file costs its BASE64 string (ASCII, 1 byte per char), not the smaller
|
|
142
|
+
// decoded size — mirrors wireByteSize in the server's validate-skill-files.ts.
|
|
143
|
+
const fileWireSize = (file) => file.content !== undefined
|
|
144
|
+
? Buffer.byteLength(file.content, "utf8")
|
|
145
|
+
: file.contentBase64.length;
|
|
146
|
+
// Packs a skill directory (SKILL.md + scripts/references/assets) into the
|
|
147
|
+
// wire shape `skillCreate` sends: SKILL.md's body as `content`, everything
|
|
148
|
+
// else as `files`. Caps mirror the server's (Task 3) so a bad package fails
|
|
149
|
+
// fast, locally, naming the offending file.
|
|
150
|
+
const packSkillDir = async (dir) => {
|
|
151
|
+
const skillMdPath = join(dir, "SKILL.md");
|
|
152
|
+
const skillMd = await fromPromise(readFile(skillMdPath, "utf8"));
|
|
153
|
+
if (!skillMd.ok)
|
|
154
|
+
return err(cliErr({
|
|
155
|
+
what: `could not find ${skillMdPath}`,
|
|
156
|
+
remedy: "a skill directory passed to --dir must contain a SKILL.md file at its root",
|
|
157
|
+
}));
|
|
158
|
+
if (!skillMd.value.trim())
|
|
159
|
+
return err(cliErr({
|
|
160
|
+
what: `${skillMdPath} is empty`,
|
|
161
|
+
remedy: "write the SKILL.md body before running glen skill create --dir",
|
|
162
|
+
}));
|
|
163
|
+
const skillMdBytes = Buffer.byteLength(skillMd.value, "utf8");
|
|
164
|
+
if (skillMdBytes > MAX_TEXT_BYTES)
|
|
165
|
+
return err(cliErr({
|
|
166
|
+
what: `${skillMdPath} is ${skillMdBytes} bytes, over the ${MAX_TEXT_BYTES} byte limit`,
|
|
167
|
+
path: skillMdPath,
|
|
168
|
+
remedy: `split ${skillMdPath} — move the bulk into references/ and link to it from the body`,
|
|
169
|
+
}));
|
|
170
|
+
const filePaths = await collectCanonicalFilePaths(dir);
|
|
171
|
+
if (!filePaths.ok)
|
|
172
|
+
return filePaths;
|
|
173
|
+
if (filePaths.value.length > MAX_FILES)
|
|
174
|
+
return err(cliErr({
|
|
175
|
+
what: `${dir} has ${filePaths.value.length} files under scripts/, references/, assets/ (max ${MAX_FILES})`,
|
|
176
|
+
remedy: `trim it down to ${MAX_FILES} files or fewer`,
|
|
177
|
+
}));
|
|
178
|
+
const packed = await packFiles(dir, filePaths.value);
|
|
179
|
+
if (!packed.ok)
|
|
180
|
+
return packed;
|
|
181
|
+
const total = packed.value.reduce((sum, f) => sum + fileWireSize(f), 0);
|
|
182
|
+
if (total > MAX_TOTAL_BYTES)
|
|
183
|
+
return err(cliErr({
|
|
184
|
+
what: `the skill package in ${dir} is ${total} bytes, over the ${MAX_TOTAL_BYTES} byte total limit`,
|
|
185
|
+
remedy: "trim scripts/, references/, assets/ — the whole package must fit in 3MB",
|
|
186
|
+
}));
|
|
187
|
+
return ok({ content: skillMd.value, files: packed.value });
|
|
188
|
+
};
|
|
189
|
+
export { packSkillDir };
|
|
190
|
+
//# sourceMappingURL=pack-skill-dir.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pack-skill-dir.js","sourceRoot":"","sources":["../../../src/commands/_utils/pack-skill-dir.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAClE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAEzD,OAAO,EAAiB,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AAC3E,OAAO,EAAe,GAAG,EAAE,WAAW,EAAE,EAAE,EAAE,MAAM,wBAAwB,CAAC;AAc3E,wEAAwE;AACxE,0EAA0E;AAC1E,MAAM,iBAAiB,GAAG,CAAC,SAAS,EAAE,YAAY,EAAE,QAAQ,CAAU,CAAC;AAEvE,yDAAyD;AACzD,2EAA2E;AAC3E,qEAAqE;AACrE,MAAM,SAAS,GAAG,GAAG,CAAC;AACtB,MAAM,eAAe,GAAG,GAAG,CAAC,CAAC,oEAAoE;AACjG,MAAM,cAAc,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,2CAA2C;AAC/E,MAAM,gBAAgB,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,uCAAuC;AACjF,MAAM,eAAe,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,0CAA0C;AAEnF,MAAM,mBAAmB,GAA2B;IAClD,KAAK,EAAE,oBAAoB;IAC3B,KAAK,EAAE,eAAe;IACtB,KAAK,EAAE,eAAe;IACtB,OAAO,EAAE,kBAAkB;IAC3B,MAAM,EAAE,WAAW;IACnB,MAAM,EAAE,YAAY;IACpB,OAAO,EAAE,YAAY;IACrB,MAAM,EAAE,iBAAiB;CAC1B,CAAC;AAEF,MAAM,mBAAmB,GAAG,CAAC,IAAY,EAAW,EAAE,CACpD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,KAAK,cAAc,IAAI,IAAI,KAAK,aAAa,CAAC;AAE5E,4EAA4E;AAC5E,yEAAyE;AACzE,mCAAmC;AACnC,MAAM,MAAM,GAAG,CAAC,GAAW,EAAW,EAAE,CACtC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;AAExD,MAAM,cAAc,GAAG,CAAC,OAAe,EAAE,QAAiB,EAAU,EAAE;IACpE,MAAM,MAAM,GAAG,mBAAmB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;IACnE,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC;IAC1B,OAAO,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,0BAA0B,CAAC;AAC9D,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,CAAC,OAAe,EAAE,QAAgB,EAAU,EAAE,CACpE,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAEnD,uEAAuE;AACvE,uEAAuE;AACvE,2DAA2D;AAC3D,MAAM,gBAAgB,GAAG,KAAK,EAC5B,GAAW,EAC0B,EAAE;IACvC,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IACzE,IAAI,CAAC,OAAO,CAAC,EAAE;QACb,OAAO,GAAG,CACR,MAAM,CAAC;YACL,IAAI,EAAE,4BAA4B,GAAG,EAAE;YACvC,GAAG,EAAE,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC;YAC3B,IAAI,EAAE,GAAG;YACT,MAAM,EAAE,gCAAgC;SACzC,CAAC,CACH,CAAC;IAEJ,MAAM,SAAS,GAAa,EAAE,CAAC;IAC/B,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QAClC,IAAI,mBAAmB,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,cAAc,EAAE;YAAE,SAAS;QACxE,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QACnC,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;YACxB,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,IAAI,CAAC,CAAC;YAC5C,IAAI,CAAC,MAAM,CAAC,EAAE;gBAAE,OAAO,MAAM,CAAC;YAC9B,SAAS,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QAClC,CAAC;aAAM,IAAI,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;YAC1B,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvB,CAAC;IACH,CAAC;IACD,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC;AACvB,CAAC,CAAC;AAEF,2EAA2E;AAC3E,wEAAwE;AACxE,gBAAgB;AAChB,MAAM,yBAAyB,GAAG,KAAK,EACrC,OAAe,EACsB,EAAE;IACvC,MAAM,SAAS,GAAa,EAAE,CAAC;IAC/B,KAAK,MAAM,IAAI,IAAI,iBAAiB,EAAE,CAAC;QACrC,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACnC,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;QAC9C,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE;YACtE,SAAS;QACX,MAAM,KAAK,GAAG,MAAM,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAC7C,IAAI,CAAC,KAAK,CAAC,EAAE;YAAE,OAAO,KAAK,CAAC;QAC5B,SAAS,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC;IACD,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC;AACvB,CAAC,CAAC;AAEF,MAAM,WAAW,GAAG,KAAK,EACvB,OAAe,EACf,QAAgB,EACuB,EAAE;IACzC,MAAM,OAAO,GAAG,eAAe,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAEnD,IAAI,OAAO,CAAC,MAAM,GAAG,eAAe;QAClC,OAAO,GAAG,CACR,MAAM,CAAC;YACL,IAAI,EAAE,GAAG,OAAO,UAAU,OAAO,CAAC,MAAM,6BAA6B,eAAe,kBAAkB;YACtG,IAAI,EAAE,OAAO;YACb,MAAM,EAAE,uBAAuB,OAAO,iCAAiC,eAAe,aAAa;SACpG,CAAC,CACH,CAAC;IAEJ,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;IACnD,IAAI,CAAC,QAAQ,CAAC,EAAE;QACd,OAAO,GAAG,CACR,MAAM,CAAC;YACL,IAAI,EAAE,kBAAkB,OAAO,EAAE;YACjC,GAAG,EAAE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;YAC5B,IAAI,EAAE,OAAO;YACb,MAAM,EAAE,8BAA8B;SACvC,CAAC,CACH,CAAC;IAEJ,MAAM,KAAK,GAAG,MAAM,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;IACpD,IAAI,CAAC,KAAK,CAAC,EAAE;QACX,OAAO,GAAG,CACR,MAAM,CAAC;YACL,IAAI,EAAE,kBAAkB,OAAO,EAAE;YACjC,GAAG,EAAE,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC;YACzB,IAAI,EAAE,OAAO;YACb,MAAM,EAAE,8BAA8B;SACvC,CAAC,CACH,CAAC;IAEJ,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC;IACxB,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IAC7B,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,gBAAgB,CAAC;IACzD,IAAI,GAAG,CAAC,MAAM,GAAG,GAAG;QAClB,OAAO,GAAG,CACR,MAAM,CAAC;YACL,IAAI,EAAE,GAAG,OAAO,OAAO,GAAG,CAAC,MAAM,oBAAoB,GAAG,qBACtD,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QACtB,OAAO;YACP,IAAI,EAAE,OAAO;YACb,MAAM,EAAE,iBAAiB,OAAO,qEAAqE;SACtG,CAAC,CACH,CAAC;IAEJ,MAAM,YAAY,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;IACzD,MAAM,WAAW,GAAG,cAAc,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAEtD,OAAO,EAAE,CAAC;QACR,IAAI,EAAE,OAAO;QACb,YAAY;QACZ,WAAW;QACX,GAAG,CAAC,QAAQ;YACV,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;YACnC,CAAC,CAAC,EAAE,aAAa,EAAE,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;KAC/C,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,SAAS,GAAG,KAAK,EACrB,OAAe,EACf,SAAmB,EACsB,EAAE;IAC3C,MAAM,MAAM,GAAiB,EAAE,CAAC;IAChC,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;QAC7B,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAC9C,IAAI,CAAC,IAAI,CAAC,EAAE;YAAE,OAAO,IAAI,CAAC;QAC1B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC;IACD,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC;AACpB,CAAC,CAAC;AAEF,4EAA4E;AAC5E,yEAAyE;AACzE,8EAA8E;AAC9E,yEAAyE;AACzE,+EAA+E;AAC/E,MAAM,YAAY,GAAG,CAAC,IAAgB,EAAU,EAAE,CAChD,IAAI,CAAC,OAAO,KAAK,SAAS;IACxB,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC;IACzC,CAAC,CAAE,IAAI,CAAC,aAAwB,CAAC,MAAM,CAAC;AAE5C,0EAA0E;AAC1E,2EAA2E;AAC3E,4EAA4E;AAC5E,4CAA4C;AAC5C,MAAM,YAAY,GAAG,KAAK,EACxB,GAAW,EAC0D,EAAE;IACvE,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;IAC1C,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC;IACjE,IAAI,CAAC,OAAO,CAAC,EAAE;QACb,OAAO,GAAG,CACR,MAAM,CAAC;YACL,IAAI,EAAE,kBAAkB,WAAW,EAAE;YACrC,MAAM,EACJ,4EAA4E;SAC/E,CAAC,CACH,CAAC;IACJ,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE;QACvB,OAAO,GAAG,CACR,MAAM,CAAC;YACL,IAAI,EAAE,GAAG,WAAW,WAAW;YAC/B,MAAM,EACJ,gEAAgE;SACnE,CAAC,CACH,CAAC;IAEJ,MAAM,YAAY,GAAG,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAC9D,IAAI,YAAY,GAAG,cAAc;QAC/B,OAAO,GAAG,CACR,MAAM,CAAC;YACL,IAAI,EAAE,GAAG,WAAW,OAAO,YAAY,oBAAoB,cAAc,aAAa;YACtF,IAAI,EAAE,WAAW;YACjB,MAAM,EAAE,SAAS,WAAW,gEAAgE;SAC7F,CAAC,CACH,CAAC;IAEJ,MAAM,SAAS,GAAG,MAAM,yBAAyB,CAAC,GAAG,CAAC,CAAC;IACvD,IAAI,CAAC,SAAS,CAAC,EAAE;QAAE,OAAO,SAAS,CAAC;IAEpC,IAAI,SAAS,CAAC,KAAK,CAAC,MAAM,GAAG,SAAS;QACpC,OAAO,GAAG,CACR,MAAM,CAAC;YACL,IAAI,EAAE,GAAG,GAAG,QAAQ,SAAS,CAAC,KAAK,CAAC,MAAM,oDAAoD,SAAS,GAAG;YAC1G,MAAM,EAAE,mBAAmB,SAAS,iBAAiB;SACtD,CAAC,CACH,CAAC;IAEJ,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,GAAG,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;IACrD,IAAI,CAAC,MAAM,CAAC,EAAE;QAAE,OAAO,MAAM,CAAC;IAE9B,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACxE,IAAI,KAAK,GAAG,eAAe;QACzB,OAAO,GAAG,CACR,MAAM,CAAC;YACL,IAAI,EAAE,wBAAwB,GAAG,OAAO,KAAK,oBAAoB,eAAe,mBAAmB;YACnG,MAAM,EACJ,yEAAyE;SAC5E,CAAC,CACH,CAAC;IAEJ,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;AAC7D,CAAC,CAAC;AAEF,OAAO,EAAE,YAAY,EAAE,CAAC"}
|
package/dist/commands/doctor.js
CHANGED
|
@@ -91,6 +91,13 @@ const doctor = async (mode) => {
|
|
|
91
91
|
/* best-effort */
|
|
92
92
|
}
|
|
93
93
|
}
|
|
94
|
+
// Converge jcode's file-based install after a self-update (new bundle →
|
|
95
|
+
// new skills/overlay text). Gated on the hook lines being present so a
|
|
96
|
+
// user who never opted in never gets ~/.jcode written.
|
|
97
|
+
if (isInstalled("jcode") && glenPluginStatus("jcode") === "installed") {
|
|
98
|
+
const { installJcode } = await import("../_utils/jcode-setup.js");
|
|
99
|
+
await installJcode();
|
|
100
|
+
}
|
|
94
101
|
// Self-heal codex user-layer hooks (re-merge + re-trust) — only when the
|
|
95
102
|
// install marker says glen registered them before, so Claude-only users
|
|
96
103
|
// never get codex config written. TTL'd: skipped while the last
|
|
@@ -150,6 +157,11 @@ const doctor = async (mode) => {
|
|
|
150
157
|
process.stdout.write(piDetected
|
|
151
158
|
? `status: pi=detected plugin=${piPlugin}\n`
|
|
152
159
|
: "status: pi=not-found\n");
|
|
160
|
+
const jcodeDetected = isInstalled("jcode");
|
|
161
|
+
const jcodePlugin = jcodeDetected ? glenPluginStatus("jcode") : null;
|
|
162
|
+
process.stdout.write(jcodeDetected
|
|
163
|
+
? `status: jcode=detected plugin=${jcodePlugin}\n`
|
|
164
|
+
: "status: jcode=not-found\n");
|
|
153
165
|
// status: ingest agent=<name> state=<ok|failing|never|fresh-install|idle>
|
|
154
166
|
// lastSuccess=<iso|never> — one per detected agent, before the indicator line.
|
|
155
167
|
const heartbeat = await readHeartbeat();
|
|
@@ -161,6 +173,7 @@ const doctor = async (mode) => {
|
|
|
161
173
|
{ key: "codex", detected: codexDetected },
|
|
162
174
|
{ key: "cursor", detected: cursorDetected },
|
|
163
175
|
{ key: "pi", detected: piDetected },
|
|
176
|
+
{ key: "jcode", detected: jcodeDetected },
|
|
164
177
|
];
|
|
165
178
|
for (const { key, detected } of ingestAgents) {
|
|
166
179
|
if (!detected)
|
|
@@ -213,7 +226,8 @@ const doctor = async (mode) => {
|
|
|
213
226
|
// `glen install --agent <bin>` remedy already covers it. Cursor never
|
|
214
227
|
// qualifies: its plugin status is unknowable from the CLI.
|
|
215
228
|
(key === "claude-code" && claudePlugin === "installed") ||
|
|
216
|
-
(key === "pi" && piPlugin === "installed")
|
|
229
|
+
(key === "pi" && piPlugin === "installed") ||
|
|
230
|
+
(key === "jcode" && jcodePlugin === "installed")) {
|
|
217
231
|
ingestRemedies.push("no cause found on this machine — if you connect to this machine from a local agent (Codex --remote / SSH), hooks run HERE; if the agent process runs elsewhere, install glen there and run `glen doctor` on that machine as the connecting user");
|
|
218
232
|
}
|
|
219
233
|
}
|
|
@@ -267,6 +281,10 @@ const doctor = async (mode) => {
|
|
|
267
281
|
// a missing claude/codex does.
|
|
268
282
|
if (piDetected && piPlugin === "not-installed")
|
|
269
283
|
remedies.push("run `glen install --agent pi`");
|
|
284
|
+
// jcode is remedied only when DETECTED, same rationale as pi — its absence
|
|
285
|
+
// must not block the "Everything looks good" all-clear.
|
|
286
|
+
if (jcodeDetected && jcodePlugin === "not-installed")
|
|
287
|
+
remedies.push("run `glen install --agent jcode`");
|
|
270
288
|
if (cursorDetected)
|
|
271
289
|
remedies.push("if the glen plugin isn't installed in Cursor: type /add-plugin in Cursor's chat and add https://github.com/Glen-Web-App/glen-cursor-plugin");
|
|
272
290
|
if (indicatorVisibility === "not-running")
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/ingest.js
CHANGED
|
@@ -10,6 +10,7 @@ import { buildGlenHeaders } from "../_utils/glen-headers.js";
|
|
|
10
10
|
import { httpJson } from "../_utils/http.js";
|
|
11
11
|
import { recordIngestCaptureOutcome } from "../_utils/ingest-failure-memo.js";
|
|
12
12
|
import { recordHeartbeatOutcome, recordHeartbeatRun, } from "../_utils/ingest-heartbeat.js";
|
|
13
|
+
import { readJcodeStopEvent } from "../_utils/jcode-event.js";
|
|
13
14
|
import { parseTranscript } from "../_utils/parse-transcript.js";
|
|
14
15
|
import { buildReviewUrl, extractPrUrls } from "../_utils/pr-review-link.js";
|
|
15
16
|
import { refreshControlState } from "../_utils/refresh-control-state.js";
|
|
@@ -52,14 +53,18 @@ const readTranscriptLines = async (path) => {
|
|
|
52
53
|
const ingest = async (agent) => {
|
|
53
54
|
void maybeSpawnBackgroundUpdate();
|
|
54
55
|
const stdinRaw = await readStdin();
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
56
|
+
// jcode: the event is JCODE_HOOK_* env (stdin is /dev/null under jcode's
|
|
57
|
+
// observer hooks); everything else arrives as JSON on stdin.
|
|
58
|
+
const event = agent === "jcode"
|
|
59
|
+
? await readJcodeStopEvent(process.env)
|
|
60
|
+
: (() => {
|
|
61
|
+
try {
|
|
62
|
+
return JSON.parse(stdinRaw);
|
|
63
|
+
}
|
|
64
|
+
catch {
|
|
65
|
+
return null;
|
|
66
|
+
}
|
|
67
|
+
})();
|
|
63
68
|
// Cursor vocabulary → glen's internal vocabulary. Cursor events carry
|
|
64
69
|
// conversation_id (not session_id); afterAgentResponse is Cursor's
|
|
65
70
|
// "completed turn" event (stop carries no assistant text).
|
|
@@ -82,7 +87,8 @@ const ingest = async (agent) => {
|
|
|
82
87
|
const agentName = agent === "claude-code" ||
|
|
83
88
|
agent === "codex" ||
|
|
84
89
|
agent === "cursor" ||
|
|
85
|
-
agent === "pi"
|
|
90
|
+
agent === "pi" ||
|
|
91
|
+
agent === "jcode"
|
|
86
92
|
? agent
|
|
87
93
|
: undefined;
|
|
88
94
|
// Machine-spawned ephemeral session (fleet driver / one-shot thread): no
|
|
@@ -105,8 +111,8 @@ const ingest = async (agent) => {
|
|
|
105
111
|
// - Claude Code injects raw stdout as context, so plain text is enough.
|
|
106
112
|
// - Unknown agents stay on plain stdout — we can't assume they parse JSON.
|
|
107
113
|
const emit = (text) => {
|
|
108
|
-
if (agentName === "cursor")
|
|
109
|
-
return; // no
|
|
114
|
+
if (agentName === "cursor" || agentName === "jcode")
|
|
115
|
+
return; // no ingest output channel
|
|
110
116
|
if (agentName !== "codex" && agentName !== "pi") {
|
|
111
117
|
process.stdout.write(text);
|
|
112
118
|
return;
|
|
@@ -165,7 +171,7 @@ const ingest = async (agent) => {
|
|
|
165
171
|
: ""
|
|
166
172
|
: agentName === "cursor"
|
|
167
173
|
? (cursorTurn?.assistant ?? "")
|
|
168
|
-
: agentName === "pi"
|
|
174
|
+
: agentName === "pi" || agentName === "jcode"
|
|
169
175
|
? typeof event.text === "string"
|
|
170
176
|
? event.text
|
|
171
177
|
: ""
|
|
@@ -183,8 +189,8 @@ const ingest = async (agent) => {
|
|
|
183
189
|
// hint plus any agent-facing text (writes nothing when both are empty). Used
|
|
184
190
|
// at every Stop exit so the Stop path never writes more than one JSON object.
|
|
185
191
|
const emitStop = (hint) => {
|
|
186
|
-
if (agentName === "cursor")
|
|
187
|
-
return; // no
|
|
192
|
+
if (agentName === "cursor" || agentName === "jcode")
|
|
193
|
+
return; // no ingest output channel
|
|
188
194
|
const combined = [stopReviewHint, hint].filter(Boolean).join("\n\n");
|
|
189
195
|
if (!combined)
|
|
190
196
|
return;
|
|
@@ -230,7 +236,10 @@ const ingest = async (agent) => {
|
|
|
230
236
|
? typeof event.generation_id === "string" && event.generation_id
|
|
231
237
|
? event.generation_id
|
|
232
238
|
: transcript.nextUserMessageIndex
|
|
233
|
-
: (agentName === "codex" ||
|
|
239
|
+
: (agentName === "codex" ||
|
|
240
|
+
agentName === "pi" ||
|
|
241
|
+
agentName === "jcode") &&
|
|
242
|
+
!adapted.usesTranscript
|
|
234
243
|
? typeof event.turn_id === "string" && event.turn_id
|
|
235
244
|
? event.turn_id
|
|
236
245
|
: transcript.nextUserMessageIndex
|
|
@@ -282,9 +291,10 @@ const ingest = async (agent) => {
|
|
|
282
291
|
hookEvent: "Stop",
|
|
283
292
|
})
|
|
284
293
|
: null
|
|
285
|
-
: agentName === "pi"
|
|
286
|
-
? // Pi Stop events carry the completed turn inline (
|
|
287
|
-
// pairs prompt + final
|
|
294
|
+
: agentName === "pi" || agentName === "jcode"
|
|
295
|
+
? // Pi and jcode Stop events carry the completed turn inline (pi:
|
|
296
|
+
// the extension pairs prompt + final text; jcode:
|
|
297
|
+
// readJcodeStopEvent pairs them from the session file).
|
|
288
298
|
typeof event.prompt === "string" &&
|
|
289
299
|
event.prompt &&
|
|
290
300
|
typeof event.text === "string" &&
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ingest.js","sourceRoot":"","sources":["../../src/commands/ingest.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ingest.js","sourceRoot":"","sources":["../../src/commands/ingest.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/install.js
CHANGED
|
@@ -15,6 +15,7 @@ import { agentsJsonPath, findBin, isExecutable, persistAgentPath, } from "../_ut
|
|
|
15
15
|
import { gitContext } from "../_utils/git-context.js";
|
|
16
16
|
import { ensureIndicatorRunning, indicatorOptedOut, } from "../_utils/indicator-app.js";
|
|
17
17
|
import { installReceipt } from "../_utils/install-receipt.js";
|
|
18
|
+
import { installJcode } from "../_utils/jcode-setup.js";
|
|
18
19
|
import { glenPluginStatus } from "../_utils/plugin-status.js";
|
|
19
20
|
import { reportCliInstall } from "../_utils/report-cli-install.js";
|
|
20
21
|
import { err, fromPromise, ok } from "../_utils/result.js";
|
|
@@ -34,7 +35,7 @@ const claudeSettingsPath = () => process.env.GLEN_CLAUDE_SETTINGS_PATH ??
|
|
|
34
35
|
// immediately.
|
|
35
36
|
// ---------------------------------------------------------------------------
|
|
36
37
|
const applyPathOverrides = async (paths) => {
|
|
37
|
-
for (const bin of ["claude", "codex", "pi"]) {
|
|
38
|
+
for (const bin of ["claude", "codex", "pi", "jcode"]) {
|
|
38
39
|
const path = paths?.[bin];
|
|
39
40
|
if (path === undefined)
|
|
40
41
|
continue;
|
|
@@ -219,6 +220,31 @@ const handlePostInstall = async (agent) => {
|
|
|
219
220
|
}
|
|
220
221
|
return true;
|
|
221
222
|
};
|
|
223
|
+
// jcode is not an AGENTS entry (no bin steps, no plugin CLI) — a sentinel
|
|
224
|
+
// choice represents it in `selected` so the same multiselect/scripted-agent
|
|
225
|
+
// flow can carry it through to the install loop below.
|
|
226
|
+
const JCODE_CHOICE = { name: "jcode", bin: "jcode" };
|
|
227
|
+
// jcode has no plugin CLI — the install IS a set of file edits under ~/.jcode
|
|
228
|
+
// (hooks in config.toml, managed prompt blocks, owned skill dirs). Returns
|
|
229
|
+
// true when everything converged.
|
|
230
|
+
const handleJcodeInstall = async () => {
|
|
231
|
+
process.stdout.write("\n Installing jcode plugin (file-based — jcode has no plugin CLI):\n");
|
|
232
|
+
const r = await installJcode();
|
|
233
|
+
if (!r.ok) {
|
|
234
|
+
process.stdout.write(` ✗ ${r.error.what}\n → ${r.error.remedy}\n`);
|
|
235
|
+
return false;
|
|
236
|
+
}
|
|
237
|
+
const mark = (status) => status === "written" ? "✓" : "✓ (already up to date)";
|
|
238
|
+
process.stdout.write(` hooks in ~/.jcode/config.toml... ${mark(r.value.hooks)}\n`);
|
|
239
|
+
process.stdout.write(` ~/.jcode/prompt-overlay.md... ${mark(r.value.promptOverlay)}\n`);
|
|
240
|
+
process.stdout.write(` ~/.jcode/preferred-tools.md... ${mark(r.value.preferredTools)}\n`);
|
|
241
|
+
process.stdout.write(` skills in ~/.jcode/skills... ✓ ${r.value.skills.copied.length} installed\n`);
|
|
242
|
+
for (const name of r.value.skills.skipped)
|
|
243
|
+
process.stdout.write(` ⚠ kept your own ~/.jcode/skills/${name} (not glen's) — glen's copy was not installed\n`);
|
|
244
|
+
process.stdout.write("\n Start a NEW jcode session — jcode reads its prompt files at session start.\n" +
|
|
245
|
+
" jcode can't display glen's status; check it with `glen status`.\n");
|
|
246
|
+
return true;
|
|
247
|
+
};
|
|
222
248
|
// ---------------------------------------------------------------------------
|
|
223
249
|
// Connect prompt — both install paths end here so a fresh user always gets
|
|
224
250
|
// nudged into `glen login`. Never prompts when non-interactive or logged in.
|
|
@@ -360,7 +386,8 @@ const install = async (agentBin, paths) => {
|
|
|
360
386
|
return ok(undefined);
|
|
361
387
|
}
|
|
362
388
|
const detected = AGENTS.filter((a) => isInstalled(a.bin));
|
|
363
|
-
|
|
389
|
+
const jcodeDetected = isInstalled("jcode");
|
|
390
|
+
if (detected.length === 0 && !jcodeDetected) {
|
|
364
391
|
// Cursor has no plugin CLI — its install is editor-side only, so it is
|
|
365
392
|
// not in AGENTS and never appears in `detected`. Handle it as a success
|
|
366
393
|
// case: print guided instructions and return ok.
|
|
@@ -374,8 +401,8 @@ const install = async (agentBin, paths) => {
|
|
|
374
401
|
// was detected is confusing, and pointless without an agent to feed.
|
|
375
402
|
return err(cliErr({
|
|
376
403
|
what: "no coding agents detected",
|
|
377
|
-
why: "looked for `claude`, `codex`, and `pi` on PATH, in /opt/homebrew/bin, /usr/local/bin, ~/.local/bin, ~/bin, and via your login shell; for codex, also inside the Codex Desktop app bundle (/Applications/ChatGPT.app); also looked for the `cursor` launcher (Cursor installs are editor-side via /add-plugin)",
|
|
378
|
-
remedy: "if one IS installed: run `which codex` (or `which claude` / `which pi`) in your terminal, then `glen install --codex-path <that path>` (or `--claude-path` / `--pi-path`). Docs: https://tryglen.com/docs/plugins",
|
|
404
|
+
why: "looked for `claude`, `codex`, and `pi` on PATH, in /opt/homebrew/bin, /usr/local/bin, ~/.local/bin, ~/bin, and via your login shell; for codex, also inside the Codex Desktop app bundle (/Applications/ChatGPT.app); also looked for the `cursor` launcher (Cursor installs are editor-side via /add-plugin); also looked for `jcode` (file-based install)",
|
|
405
|
+
remedy: "if one IS installed: run `which codex` (or `which claude` / `which pi`) in your terminal, then `glen install --codex-path <that path>` (or `--claude-path` / `--pi-path` / `--jcode-path`). Docs: https://tryglen.com/docs/plugins",
|
|
379
406
|
}));
|
|
380
407
|
}
|
|
381
408
|
process.stdout.write(" Detected coding agents:\n");
|
|
@@ -385,19 +412,31 @@ const install = async (agentBin, paths) => {
|
|
|
385
412
|
if (isInstalled("cursor")) {
|
|
386
413
|
process.stdout.write(" ✓ Cursor (cursor) — editor-side install\n");
|
|
387
414
|
}
|
|
415
|
+
if (jcodeDetected) {
|
|
416
|
+
process.stdout.write(" ✓ jcode (jcode) — file-based install\n");
|
|
417
|
+
}
|
|
388
418
|
process.stdout.write("\n");
|
|
389
419
|
// "claude-code" is the hook-line vocabulary (--agent claude-code) — accept
|
|
390
420
|
// it as an alias for the claude bin.
|
|
391
421
|
const normalized = agentBin === "claude-code" ? "claude" : agentBin;
|
|
422
|
+
// jcode is not an AGENTS entry (no bin steps) — a sentinel choice routes it
|
|
423
|
+
// to handleJcodeInstall in the loop below.
|
|
392
424
|
const selected = await (async () => {
|
|
393
425
|
if (normalized !== undefined) {
|
|
426
|
+
if (normalized === "jcode")
|
|
427
|
+
return jcodeDetected ? [JCODE_CHOICE] : [];
|
|
394
428
|
return detected.filter((a) => a.bin === normalized);
|
|
395
429
|
}
|
|
396
|
-
const choices =
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
430
|
+
const choices = [
|
|
431
|
+
...detected.map((a) => ({
|
|
432
|
+
title: `${a.name} plugin`,
|
|
433
|
+
value: a,
|
|
434
|
+
selected: true,
|
|
435
|
+
})),
|
|
436
|
+
...(jcodeDetected
|
|
437
|
+
? [{ title: "jcode plugin", value: JCODE_CHOICE, selected: true }]
|
|
438
|
+
: []),
|
|
439
|
+
];
|
|
401
440
|
const response = await prompts({
|
|
402
441
|
type: "multiselect",
|
|
403
442
|
name: "plugins",
|
|
@@ -411,7 +450,7 @@ const install = async (agentBin, paths) => {
|
|
|
411
450
|
await connectOrHint(agentBin);
|
|
412
451
|
return err(cliErr({
|
|
413
452
|
what: `"${agentBin}" is not an installed agent`,
|
|
414
|
-
why: "expected: claude | codex | cursor | pi",
|
|
453
|
+
why: "expected: claude | codex | cursor | pi | jcode",
|
|
415
454
|
remedy: `if it IS installed, run \`which ${normalized}\` in your terminal and pass \`glen install --${normalized}-path <path>\``,
|
|
416
455
|
}));
|
|
417
456
|
}
|
|
@@ -428,6 +467,12 @@ const install = async (agentBin, paths) => {
|
|
|
428
467
|
}
|
|
429
468
|
const results = [];
|
|
430
469
|
for (const agent of selected) {
|
|
470
|
+
// jcode has no bin steps — route it to the file-based installer and
|
|
471
|
+
// skip the AGENTS step-runner code below (which expects a real `Agent`).
|
|
472
|
+
if (agent.bin === "jcode") {
|
|
473
|
+
results.push(await handleJcodeInstall());
|
|
474
|
+
continue;
|
|
475
|
+
}
|
|
431
476
|
// Resolve once per agent — every step runs against the same binary the
|
|
432
477
|
// detection (and any --<bin>-path override) found.
|
|
433
478
|
const resolvedBin = findBin(agent.bin) ?? agent.bin;
|