autodev-cli 1.4.133 → 1.4.135
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/media/profile/00f-swarm-orchestration.md +103 -0
- package/media/profile/00g-swarm-living-documents.md +76 -0
- package/media/profile/00h-shared-skills.md +86 -0
- package/media/profile/00i-qa-swarm.md +82 -0
- package/out/cli.js +2 -0
- package/out/cli.js.map +1 -1
- package/out/commands/deprovision.d.ts +2 -0
- package/out/commands/deprovision.js +254 -0
- package/out/commands/deprovision.js.map +1 -0
- package/out/commands/office.js +18 -0
- package/out/commands/office.js.map +1 -1
- package/out/commands/start.js +7 -0
- package/out/commands/start.js.map +1 -1
- package/out/core/stopMarker.d.ts +19 -0
- package/out/core/stopMarker.js +86 -0
- package/out/core/stopMarker.js.map +1 -0
- package/out/hooksManager.js +67 -5
- package/out/hooksManager.js.map +1 -1
- package/out/profileBuilder.js +33 -0
- package/out/profileBuilder.js.map +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1,254 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.deprovisionCommand = deprovisionCommand;
|
|
37
|
+
const fs = __importStar(require("fs"));
|
|
38
|
+
const os = __importStar(require("os"));
|
|
39
|
+
const path = __importStar(require("path"));
|
|
40
|
+
const logger_1 = require("../logger");
|
|
41
|
+
// ---------------------------------------------------------------------------
|
|
42
|
+
// `autodev deprovision [path]` — remove the pixel-office MCP server (and its
|
|
43
|
+
// stale permission grants) from EVERY layer autodev / a client may have written
|
|
44
|
+
// it to, so it stops respawning and stops being inherited by unrelated folders.
|
|
45
|
+
//
|
|
46
|
+
// Why this exists: a pixel-office server definition written into a GLOBAL config
|
|
47
|
+
// (Claude's user-scope `~/.claude.json` mcpServers, or `~/.claude/settings.json`)
|
|
48
|
+
// is inherited by every working directory and is relaunched by the client even
|
|
49
|
+
// after you kill the running `autodev mcp-operate` process — so it looks
|
|
50
|
+
// un-removable from the per-project side. Current `autodev` provisioning only
|
|
51
|
+
// writes FOLDER-scoped configs, but older provisioning (or a manually pasted
|
|
52
|
+
// `claude mcp add pixel-office … -s user`) can leave a global entry behind. This
|
|
53
|
+
// command cleans all of them.
|
|
54
|
+
//
|
|
55
|
+
// It is conservative: it only ever REMOVES entries whose name is `pixel-office`
|
|
56
|
+
// or `pixel-office-<agent>` (and the matching `mcp__pixel-office*` permission
|
|
57
|
+
// allowlist entries). Every other key in every file is preserved verbatim.
|
|
58
|
+
// ---------------------------------------------------------------------------
|
|
59
|
+
/** True for the office server name and any per-agent `pixel-office-<slug>` variant. */
|
|
60
|
+
function isOfficeServerName(name) {
|
|
61
|
+
return name === 'pixel-office' || name.startsWith('pixel-office-');
|
|
62
|
+
}
|
|
63
|
+
/** True for a permission allow-rule that grants a pixel-office MCP server. */
|
|
64
|
+
function isOfficePermission(rule) {
|
|
65
|
+
// e.g. mcp__pixel-office, mcp__pixel-office__send_message, mcp__pixel-office-a1
|
|
66
|
+
return /^mcp__pixel-office(-[^_]+)?(__.*)?$/.test(rule);
|
|
67
|
+
}
|
|
68
|
+
function readJsonOrNull(file) {
|
|
69
|
+
try {
|
|
70
|
+
if (!fs.existsSync(file)) {
|
|
71
|
+
return null;
|
|
72
|
+
}
|
|
73
|
+
return JSON.parse(fs.readFileSync(file, 'utf8'));
|
|
74
|
+
}
|
|
75
|
+
catch {
|
|
76
|
+
return null;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
function asObj(v) {
|
|
80
|
+
return (v && typeof v === 'object' && !Array.isArray(v)) ? v : null;
|
|
81
|
+
}
|
|
82
|
+
/** Delete office-named keys from a `<container>[key]` map. Returns removed names. */
|
|
83
|
+
function stripServerMap(container, key) {
|
|
84
|
+
const map = container ? asObj(container[key]) : null;
|
|
85
|
+
if (!map) {
|
|
86
|
+
return [];
|
|
87
|
+
}
|
|
88
|
+
const removed = [];
|
|
89
|
+
for (const name of Object.keys(map)) {
|
|
90
|
+
if (isOfficeServerName(name)) {
|
|
91
|
+
delete map[name];
|
|
92
|
+
removed.push(name);
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
return removed;
|
|
96
|
+
}
|
|
97
|
+
/** Remove office permission rules from a `permissions.allow` array. Returns removed rules. */
|
|
98
|
+
function stripPermissionAllow(cfg) {
|
|
99
|
+
const perms = cfg ? asObj(cfg['permissions']) : null;
|
|
100
|
+
if (!perms || !Array.isArray(perms['allow'])) {
|
|
101
|
+
return [];
|
|
102
|
+
}
|
|
103
|
+
const before = perms['allow'];
|
|
104
|
+
const removed = before.filter(r => typeof r === 'string' && isOfficePermission(r)).map(String);
|
|
105
|
+
if (removed.length) {
|
|
106
|
+
perms['allow'] = before.filter(r => !(typeof r === 'string' && isOfficePermission(r)));
|
|
107
|
+
}
|
|
108
|
+
return removed;
|
|
109
|
+
}
|
|
110
|
+
/** Remove office names from a string[] (e.g. enabledMcpjsonServers). Returns removed. */
|
|
111
|
+
function stripStringList(container, key) {
|
|
112
|
+
if (!container || !Array.isArray(container[key])) {
|
|
113
|
+
return [];
|
|
114
|
+
}
|
|
115
|
+
const before = container[key];
|
|
116
|
+
const removed = before.filter(n => typeof n === 'string' && isOfficeServerName(n)).map(String);
|
|
117
|
+
if (removed.length) {
|
|
118
|
+
container[key] = before.filter(n => !(typeof n === 'string' && isOfficeServerName(n)));
|
|
119
|
+
}
|
|
120
|
+
return removed;
|
|
121
|
+
}
|
|
122
|
+
/** Strip office `[mcp_servers.<name>]` (+ nested) tables from a grok TOML file. */
|
|
123
|
+
function stripGrokToml(text) {
|
|
124
|
+
const lines = text.split(/\r?\n/);
|
|
125
|
+
const kept = [];
|
|
126
|
+
const removed = new Set();
|
|
127
|
+
let skipping = false;
|
|
128
|
+
for (const line of lines) {
|
|
129
|
+
const m = /^\s*\[\s*mcp_servers\.([^\].]+)(?:\.[^\]]+)?\s*\]/.exec(line);
|
|
130
|
+
if (m) {
|
|
131
|
+
// A new mcp_servers table header — decide whether to drop this block.
|
|
132
|
+
const name = m[1].replace(/^["']|["']$/g, '');
|
|
133
|
+
skipping = isOfficeServerName(name);
|
|
134
|
+
if (skipping) {
|
|
135
|
+
removed.add(name);
|
|
136
|
+
continue;
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
else if (/^\s*\[/.test(line)) {
|
|
140
|
+
// Any other table header ends a skipped block.
|
|
141
|
+
skipping = false;
|
|
142
|
+
}
|
|
143
|
+
if (!skipping) {
|
|
144
|
+
kept.push(line);
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
const out = kept.join('\n').replace(/\n{3,}/g, '\n\n').trim();
|
|
148
|
+
return { out: out ? out + '\n' : '', removed: [...removed] };
|
|
149
|
+
}
|
|
150
|
+
function deprovisionCommand(program) {
|
|
151
|
+
program
|
|
152
|
+
.command('deprovision [path]')
|
|
153
|
+
.description('Remove the pixel-office MCP server + stale mcp__pixel-office permissions from every config layer (global + this workspace) so it stops respawning / being inherited everywhere')
|
|
154
|
+
.option('--dry-run', 'Report what would change without writing any file')
|
|
155
|
+
.option('--no-workspace', 'Only clean the GLOBAL layers; leave this workspace\'s folder-scoped configs untouched')
|
|
156
|
+
.action((workspacePath, opts) => {
|
|
157
|
+
const root = workspacePath ? path.resolve(workspacePath) : process.cwd();
|
|
158
|
+
const dry = !!opts.dryRun;
|
|
159
|
+
const changes = [];
|
|
160
|
+
// Apply `mutate` to a JSON file, writing it back only if `mutate` reported
|
|
161
|
+
// removals. Preserves every non-office key and the file's other contents.
|
|
162
|
+
const editJson = (file, mutate) => {
|
|
163
|
+
const cfg = readJsonOrNull(file);
|
|
164
|
+
if (!cfg) {
|
|
165
|
+
return;
|
|
166
|
+
}
|
|
167
|
+
const removed = mutate(cfg);
|
|
168
|
+
if (!removed.length) {
|
|
169
|
+
return;
|
|
170
|
+
}
|
|
171
|
+
for (const r of removed) {
|
|
172
|
+
changes.push({ file, detail: r });
|
|
173
|
+
}
|
|
174
|
+
if (!dry) {
|
|
175
|
+
try {
|
|
176
|
+
fs.writeFileSync(file, JSON.stringify(cfg, null, 2) + '\n', 'utf8');
|
|
177
|
+
}
|
|
178
|
+
catch (e) {
|
|
179
|
+
logger_1.log.warn(` could not write ${file}: ${e.message}`);
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
};
|
|
183
|
+
const home = os.homedir();
|
|
184
|
+
// ── GLOBAL layers (the inheritance / respawn source) ────────────────────
|
|
185
|
+
// ~/.claude.json — user-scope mcpServers + every project's mcpServers /
|
|
186
|
+
// enabledMcpjsonServers. This is the entry inherited by EVERY folder.
|
|
187
|
+
editJson(path.join(home, '.claude.json'), (cfg) => {
|
|
188
|
+
const removed = stripServerMap(cfg, 'mcpServers');
|
|
189
|
+
const projects = asObj(cfg['projects']);
|
|
190
|
+
if (projects) {
|
|
191
|
+
for (const proj of Object.values(projects)) {
|
|
192
|
+
const p = asObj(proj);
|
|
193
|
+
if (!p) {
|
|
194
|
+
continue;
|
|
195
|
+
}
|
|
196
|
+
removed.push(...stripServerMap(p, 'mcpServers'));
|
|
197
|
+
removed.push(...stripStringList(p, 'enabledMcpjsonServers'));
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
return removed;
|
|
201
|
+
});
|
|
202
|
+
// ~/.claude/settings.json — user-scope mcpServers + permission allowlist.
|
|
203
|
+
editJson(path.join(home, '.claude', 'settings.json'), (cfg) => {
|
|
204
|
+
return [...stripServerMap(cfg, 'mcpServers'), ...stripPermissionAllow(cfg)];
|
|
205
|
+
});
|
|
206
|
+
// ~/.copilot/mcp-config.json — global copilot MCP config.
|
|
207
|
+
editJson(path.join(home, '.copilot', 'mcp-config.json'), (cfg) => stripServerMap(cfg, 'mcpServers'));
|
|
208
|
+
// ── Workspace (folder-scoped) layers ────────────────────────────────────
|
|
209
|
+
if (opts.workspace !== false) {
|
|
210
|
+
editJson(path.join(root, '.mcp.json'), (cfg) => [...stripServerMap(cfg, 'mcpServers'), ...stripServerMap(cfg, 'servers')]);
|
|
211
|
+
editJson(path.join(root, '.vscode', 'mcp.json'), (cfg) => stripServerMap(cfg, 'servers'));
|
|
212
|
+
editJson(path.join(root, 'opencode.json'), (cfg) => stripServerMap(cfg, 'mcp'));
|
|
213
|
+
editJson(path.join(root, '.autodev', 'copilot-mcp.json'), (cfg) => stripServerMap(cfg, 'mcpServers'));
|
|
214
|
+
editJson(path.join(root, '.claude', 'settings.json'), (cfg) => [...stripServerMap(cfg, 'mcpServers'), ...stripPermissionAllow(cfg)]);
|
|
215
|
+
editJson(path.join(root, '.claude', 'settings.local.json'), (cfg) => [...stripServerMap(cfg, 'mcpServers'), ...stripPermissionAllow(cfg)]);
|
|
216
|
+
// Grok TOML is not JSON — strip the office [mcp_servers.*] tables textually.
|
|
217
|
+
const grok = path.join(root, '.grok', 'config.toml');
|
|
218
|
+
if (fs.existsSync(grok)) {
|
|
219
|
+
try {
|
|
220
|
+
const before = fs.readFileSync(grok, 'utf8');
|
|
221
|
+
const { out, removed } = stripGrokToml(before);
|
|
222
|
+
if (removed.length) {
|
|
223
|
+
for (const r of removed) {
|
|
224
|
+
changes.push({ file: grok, detail: `[mcp_servers.${r}]` });
|
|
225
|
+
}
|
|
226
|
+
if (!dry) {
|
|
227
|
+
fs.writeFileSync(grok, out, 'utf8');
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
catch (e) {
|
|
232
|
+
logger_1.log.warn(` could not process ${grok}: ${e.message}`);
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
// ── Report ──────────────────────────────────────────────────────────────
|
|
237
|
+
logger_1.log.section('🧹 AutoAIDev — deprovision pixel-office');
|
|
238
|
+
if (!changes.length) {
|
|
239
|
+
logger_1.log.success('No pixel-office entries or permissions found. Nothing to remove.');
|
|
240
|
+
return;
|
|
241
|
+
}
|
|
242
|
+
logger_1.log.info(`${dry ? 'Would remove' : 'Removed'} ${changes.length} entr${changes.length === 1 ? 'y' : 'ies'}:`);
|
|
243
|
+
for (const c of changes) {
|
|
244
|
+
logger_1.log.gray(` ${c.detail} ← ${c.file.replace(home, '~')}`);
|
|
245
|
+
}
|
|
246
|
+
if (dry) {
|
|
247
|
+
logger_1.log.warn('Dry run — no files were modified. Re-run without --dry-run to apply.');
|
|
248
|
+
}
|
|
249
|
+
else {
|
|
250
|
+
logger_1.log.success('Done. Restart any open client (grok / VS Code / Claude) so it drops the removed server.');
|
|
251
|
+
}
|
|
252
|
+
});
|
|
253
|
+
}
|
|
254
|
+
//# sourceMappingURL=deprovision.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deprovision.js","sourceRoot":"","sources":["../../src/commands/deprovision.ts"],"names":[],"mappings":"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"}
|
package/out/commands/office.js
CHANGED
|
@@ -43,6 +43,7 @@ const logger_1 = require("../logger");
|
|
|
43
43
|
const connect_1 = require("../connect");
|
|
44
44
|
const officeAuth_1 = require("../core/officeAuth");
|
|
45
45
|
const userConfig_1 = require("../core/userConfig");
|
|
46
|
+
const stopMarker_1 = require("../core/stopMarker");
|
|
46
47
|
// ---------------------------------------------------------------------------
|
|
47
48
|
// `autodev office <slug>` — run a WHOLE office with one command.
|
|
48
49
|
//
|
|
@@ -209,6 +210,10 @@ function officeCommand(program) {
|
|
|
209
210
|
// reservation that closes that TOCTOU window.
|
|
210
211
|
const starting = new Set();
|
|
211
212
|
const notedOnline = new Set();
|
|
213
|
+
// Characters the user explicitly STOPPED (a `.autodev/stopped` marker in
|
|
214
|
+
// their workspace). We must not respawn these — logged once each to avoid
|
|
215
|
+
// spamming the watcher output every poll.
|
|
216
|
+
const notedStopped = new Set();
|
|
212
217
|
let stopping = false;
|
|
213
218
|
// Never send the agent token to a host the user didn't point us at. Mirrors
|
|
214
219
|
// the app's safeWsUrl: force the ws host to the trusted --url base, require
|
|
@@ -327,6 +332,19 @@ function officeCommand(program) {
|
|
|
327
332
|
continue;
|
|
328
333
|
}
|
|
329
334
|
notedOnline.delete(a.id);
|
|
335
|
+
// Honor a user Stop: while the workspace carries a `.autodev/stopped`
|
|
336
|
+
// marker (written by the desktop app's Stop), do NOT respawn it —
|
|
337
|
+
// otherwise the watcher resurrects a deliberately-stopped agent ~15s
|
|
338
|
+
// later. Cleared only by an explicit start.
|
|
339
|
+
const dir = path.join(root, safeSeg(a.slug));
|
|
340
|
+
if ((0, stopMarker_1.isUserStopped)(dir)) {
|
|
341
|
+
if (!notedStopped.has(a.id)) {
|
|
342
|
+
logger_1.log.gray(` • ${a.name} was stopped by the user — not restarting (start it to resume).`);
|
|
343
|
+
notedStopped.add(a.id);
|
|
344
|
+
}
|
|
345
|
+
continue;
|
|
346
|
+
}
|
|
347
|
+
notedStopped.delete(a.id);
|
|
330
348
|
await startAgent(a);
|
|
331
349
|
}
|
|
332
350
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"office.js","sourceRoot":"","sources":["../../src/commands/office.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"office.js","sourceRoot":"","sources":["../../src/commands/office.ts"],"names":[],"mappings":"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"}
|
package/out/commands/start.js
CHANGED
|
@@ -42,6 +42,7 @@ const version_1 = require("../version");
|
|
|
42
42
|
const presenceGuard_1 = require("../presenceGuard");
|
|
43
43
|
const init_1 = require("./init");
|
|
44
44
|
const hooksManager_1 = require("../hooksManager");
|
|
45
|
+
const stopMarker_1 = require("../core/stopMarker");
|
|
45
46
|
const PROVIDERS = ['claude-cli', 'claude-tui', 'copilot-cli', 'copilot-sdk', 'opencode-cli', 'opencode-sdk', 'grok-cli', 'grok-tui', 'dummy'];
|
|
46
47
|
function startCommand(program) {
|
|
47
48
|
program
|
|
@@ -73,6 +74,12 @@ function startCommand(program) {
|
|
|
73
74
|
process.exit(0);
|
|
74
75
|
}
|
|
75
76
|
}
|
|
77
|
+
// An explicit start is the user asking this workspace to RUN — clear any
|
|
78
|
+
// "stay stopped" marker so this loop isn't treated as user-stopped and a
|
|
79
|
+
// supervisor is free to keep it online again. (The office watcher never
|
|
80
|
+
// spawns `start` while the marker exists, so this only fires on a genuine
|
|
81
|
+
// manual/app start.)
|
|
82
|
+
(0, stopMarker_1.clearUserStopped)(cwd);
|
|
76
83
|
// Parent-death watchdog: when a manager spawns this loop and sets
|
|
77
84
|
// AUTODEV_EXIT_WITH_PARENT=1 (the desktop app does), exit if that parent
|
|
78
85
|
// process disappears — so closing, crashing, or force-quitting the app never
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"start.js","sourceRoot":"","sources":["../../src/commands/start.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"start.js","sourceRoot":"","sources":["../../src/commands/start.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A user-requested "stay stopped" marker for a workspace.
|
|
3
|
+
*
|
|
4
|
+
* When the desktop app (or a user) STOPS an agent, we must guarantee it stays
|
|
5
|
+
* stopped — but an `autodev office <slug>` supervisor re-lists the roster every
|
|
6
|
+
* ~15s and auto-respawns any character that is offline, which silently brought a
|
|
7
|
+
* stopped agent back to life. This marker is the shared signal that closes that
|
|
8
|
+
* gap: while `.autodev/stopped` exists, the supervisor MUST NOT (re)spawn a loop
|
|
9
|
+
* for the workspace. It is written by the desktop app's Stop and cleared by an
|
|
10
|
+
* EXPLICIT start (`autodev start`, or the app's Start), so a stopped agent comes
|
|
11
|
+
* back only when the user asks for it.
|
|
12
|
+
*
|
|
13
|
+
* A dedicated file — not a `.autodev/settings.json` field — so writing it never
|
|
14
|
+
* races the loop's concurrent settings/TODO rewrites.
|
|
15
|
+
*/
|
|
16
|
+
export declare function stopMarkerPath(cwd: string): string;
|
|
17
|
+
export declare function isUserStopped(cwd: string): boolean;
|
|
18
|
+
export declare function markUserStopped(cwd: string, reason?: string): void;
|
|
19
|
+
export declare function clearUserStopped(cwd: string): void;
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.stopMarkerPath = stopMarkerPath;
|
|
37
|
+
exports.isUserStopped = isUserStopped;
|
|
38
|
+
exports.markUserStopped = markUserStopped;
|
|
39
|
+
exports.clearUserStopped = clearUserStopped;
|
|
40
|
+
const fs = __importStar(require("fs"));
|
|
41
|
+
const path = __importStar(require("path"));
|
|
42
|
+
/**
|
|
43
|
+
* A user-requested "stay stopped" marker for a workspace.
|
|
44
|
+
*
|
|
45
|
+
* When the desktop app (or a user) STOPS an agent, we must guarantee it stays
|
|
46
|
+
* stopped — but an `autodev office <slug>` supervisor re-lists the roster every
|
|
47
|
+
* ~15s and auto-respawns any character that is offline, which silently brought a
|
|
48
|
+
* stopped agent back to life. This marker is the shared signal that closes that
|
|
49
|
+
* gap: while `.autodev/stopped` exists, the supervisor MUST NOT (re)spawn a loop
|
|
50
|
+
* for the workspace. It is written by the desktop app's Stop and cleared by an
|
|
51
|
+
* EXPLICIT start (`autodev start`, or the app's Start), so a stopped agent comes
|
|
52
|
+
* back only when the user asks for it.
|
|
53
|
+
*
|
|
54
|
+
* A dedicated file — not a `.autodev/settings.json` field — so writing it never
|
|
55
|
+
* races the loop's concurrent settings/TODO rewrites.
|
|
56
|
+
*/
|
|
57
|
+
function stopMarkerPath(cwd) {
|
|
58
|
+
return path.join(cwd, '.autodev', 'stopped');
|
|
59
|
+
}
|
|
60
|
+
function isUserStopped(cwd) {
|
|
61
|
+
try {
|
|
62
|
+
return fs.existsSync(stopMarkerPath(cwd));
|
|
63
|
+
}
|
|
64
|
+
catch {
|
|
65
|
+
return false;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
function markUserStopped(cwd, reason = '') {
|
|
69
|
+
try {
|
|
70
|
+
const p = stopMarkerPath(cwd);
|
|
71
|
+
fs.mkdirSync(path.dirname(p), { recursive: true });
|
|
72
|
+
fs.writeFileSync(p, JSON.stringify({ stoppedAt: new Date().toISOString(), reason }) + '\n', 'utf8');
|
|
73
|
+
}
|
|
74
|
+
catch {
|
|
75
|
+
/* best effort — a missing marker only means the supervisor may respawn */
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
function clearUserStopped(cwd) {
|
|
79
|
+
try {
|
|
80
|
+
fs.rmSync(stopMarkerPath(cwd), { force: true });
|
|
81
|
+
}
|
|
82
|
+
catch {
|
|
83
|
+
/* best effort */
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
//# sourceMappingURL=stopMarker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stopMarker.js","sourceRoot":"","sources":["../../src/core/stopMarker.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkBA,wCAEC;AAED,sCAMC;AAED,0CAQC;AAED,4CAMC;AA9CD,uCAAyB;AACzB,2CAA6B;AAE7B;;;;;;;;;;;;;;GAcG;AACH,SAAgB,cAAc,CAAC,GAAW;IACxC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;AAC/C,CAAC;AAED,SAAgB,aAAa,CAAC,GAAW;IACvC,IAAI,CAAC;QACH,OAAO,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,SAAgB,eAAe,CAAC,GAAW,EAAE,MAAM,GAAG,EAAE;IACtD,IAAI,CAAC;QACH,MAAM,CAAC,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;QAC9B,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACnD,EAAE,CAAC,aAAa,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC,CAAC;IACtG,CAAC;IAAC,MAAM,CAAC;QACP,0EAA0E;IAC5E,CAAC;AACH,CAAC;AAED,SAAgB,gBAAgB,CAAC,GAAW;IAC1C,IAAI,CAAC;QACH,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAClD,CAAC;IAAC,MAAM,CAAC;QACP,iBAAiB;IACnB,CAAC;AACH,CAAC"}
|
package/out/hooksManager.js
CHANGED
|
@@ -194,11 +194,71 @@ function ensureHookScripts(workspaceRoot) {
|
|
|
194
194
|
function shellQuotePath(p_) {
|
|
195
195
|
return `"${p_.replace(/\\/g, '/')}"`;
|
|
196
196
|
}
|
|
197
|
-
/**
|
|
197
|
+
/** Look for a real `node` executable on PATH (absolute path). Returns null if
|
|
198
|
+
* none is found. Used only when process.execPath is NOT a plain node binary
|
|
199
|
+
* (i.e. we're running inside an Electron host — see hookNodeBinary). */
|
|
200
|
+
function resolveNodeOnPath() {
|
|
201
|
+
const isWin = process.platform === 'win32';
|
|
202
|
+
const names = isWin ? ['node.exe', 'node.cmd', 'node'] : ['node'];
|
|
203
|
+
const dirs = (process.env.PATH ?? '').split(isWin ? ';' : ':').filter(Boolean);
|
|
204
|
+
for (const name of names) {
|
|
205
|
+
for (const dir of dirs) {
|
|
206
|
+
const full = path.join(dir, name);
|
|
207
|
+
try {
|
|
208
|
+
if (fs.existsSync(full)) {
|
|
209
|
+
return full;
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
catch { /* ignore */ }
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
return null;
|
|
216
|
+
}
|
|
217
|
+
/** Basename looks like a genuine Node runtime (node / nodejs, optional .exe). */
|
|
218
|
+
function isNodeBasename(exe) {
|
|
219
|
+
return /^node(js)?(\.exe)?$/i.test(path.basename(exe));
|
|
220
|
+
}
|
|
221
|
+
/**
|
|
222
|
+
* Absolute path to a real Node runtime to bake into a hook command.
|
|
223
|
+
*
|
|
224
|
+
* `process.execPath` is normally the node binary — but when the CLI's
|
|
225
|
+
* hooksManager runs inside an Electron host (the VS Code extension, whose
|
|
226
|
+
* extension host IS Electron), execPath is the `code`/electron binary. Baking
|
|
227
|
+
* THAT into a hook command is the "constantly opens VS Code" bug: Claude/Copilot
|
|
228
|
+
* run the hook command on every tool event, and an Electron binary invoked with a
|
|
229
|
+
* script argument OPENS A VS CODE WINDOW instead of executing the script — it only
|
|
230
|
+
* behaves as node when ELECTRON_RUN_AS_NODE=1 is set. So:
|
|
231
|
+
* - real node execPath → use it (an absolute path, always resolvable).
|
|
232
|
+
* - Electron execPath → resolve a genuine `node` on PATH (also absolute,
|
|
233
|
+
* so the hook's own minimal PATH is irrelevant).
|
|
234
|
+
* Only if no real node is found do we fall back to execPath, which nodeExec()
|
|
235
|
+
* then forces into node mode via ELECTRON_RUN_AS_NODE=1.
|
|
236
|
+
*/
|
|
237
|
+
function hookNodeBinary() {
|
|
238
|
+
const exe = process.execPath;
|
|
239
|
+
if (isNodeBasename(exe) && !process.versions.electron) {
|
|
240
|
+
return exe;
|
|
241
|
+
}
|
|
242
|
+
return resolveNodeOnPath() ?? exe;
|
|
243
|
+
}
|
|
244
|
+
/** Use a real Node runtime for hook subprocesses.
|
|
198
245
|
* Copilot hook subprocesses can have a minimal PATH (especially on headless
|
|
199
|
-
* hosts), so
|
|
246
|
+
* hosts), so we bake an ABSOLUTE node path rather than relying on bare `node`.
|
|
247
|
+
* When only an Electron binary is available (no node on PATH), force it to act
|
|
248
|
+
* as node so the hook never spawns an editor window. */
|
|
200
249
|
function nodeExec() {
|
|
201
|
-
|
|
250
|
+
const bin = hookNodeBinary();
|
|
251
|
+
const quoted = shellQuotePath(bin);
|
|
252
|
+
// If the only runtime we could bake is the Electron binary itself, it must run
|
|
253
|
+
// with ELECTRON_RUN_AS_NODE=1 or every hook event opens VS Code.
|
|
254
|
+
const isElectronFallback = bin === process.execPath && (!!process.versions.electron || !isNodeBasename(bin));
|
|
255
|
+
if (!isElectronFallback) {
|
|
256
|
+
return quoted;
|
|
257
|
+
}
|
|
258
|
+
// POSIX shells accept a `VAR=val cmd` prefix. On the (rare) Windows case where
|
|
259
|
+
// node is unresolvable under Electron, emit the bare path — node.exe is almost
|
|
260
|
+
// always on PATH there, so this branch effectively never runs.
|
|
261
|
+
return process.platform === 'win32' ? quoted : `ELECTRON_RUN_AS_NODE=1 ${quoted}`;
|
|
202
262
|
}
|
|
203
263
|
/** Shell command for Claude Code — Claude already includes hook_event_name in
|
|
204
264
|
* the stdin payload, so we don't need to inject anything. */
|
|
@@ -279,8 +339,10 @@ function isCurrentClaudeEntry(group, workspaceRoot) {
|
|
|
279
339
|
if (typeof cmd !== 'string')
|
|
280
340
|
return false;
|
|
281
341
|
const expectedSink = hooksJsonlPath(workspaceRoot).replace(/\\/g, '/');
|
|
282
|
-
const expectedNode =
|
|
342
|
+
const expectedNode = hookNodeBinary().replace(/\\/g, '/');
|
|
283
343
|
// Also require the .mjs extension so legacy .js installs are re-migrated.
|
|
344
|
+
// Match on the resolved node binary (not raw execPath): an entry baked with the
|
|
345
|
+
// Electron binary is thus seen as stale and re-installed with a real node path.
|
|
284
346
|
return cmd.includes(JSON.stringify(expectedSink))
|
|
285
347
|
&& cmd.includes('hook-append.mjs')
|
|
286
348
|
&& cmd.includes(expectedNode);
|
|
@@ -385,7 +447,7 @@ function isCurrentCopilotEntry(entry, workspaceRoot) {
|
|
|
385
447
|
if (!isAutodevCopilotEntry(entry))
|
|
386
448
|
return false;
|
|
387
449
|
const expectedSink = hooksJsonlPath(workspaceRoot).replace(/\\/g, '/');
|
|
388
|
-
const expectedNode =
|
|
450
|
+
const expectedNode = hookNodeBinary().replace(/\\/g, '/');
|
|
389
451
|
const cmd = entry?.bash ?? entry?.powershell ?? '';
|
|
390
452
|
// Also require the .mjs extension so legacy .js installs are re-migrated.
|
|
391
453
|
// Also require the powershell field (added in v1.0.218) so Windows installs
|