@detergent-software/conductor 3.0.0-dev.21 → 3.0.0-dev.23
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/CHANGELOG.md +17 -0
- package/README.md +17 -9
- package/build/cli.js +30 -18
- package/build/cli.js.map +1 -1
- package/build/daemon.js +1 -1
- package/build/daemon.js.map +1 -1
- package/build/help.js +11 -6
- package/build/help.js.map +1 -1
- package/build/host/launchd.js +118 -0
- package/build/host/launchd.js.map +1 -0
- package/build/host/startup.js +26 -0
- package/build/host/startup.js.map +1 -0
- package/build/host/systemd.js +91 -0
- package/build/host/systemd.js.map +1 -0
- package/build/host/task-scheduler.js +78 -0
- package/build/host/task-scheduler.js.map +1 -0
- package/build/lib/providers/npm/stage.js +14 -1
- package/build/lib/providers/npm/stage.js.map +1 -1
- package/build/run.js +20 -7
- package/build/run.js.map +1 -1
- package/build/runs.js +2 -0
- package/build/runs.js.map +1 -1
- package/build/upgrade.js +8 -9
- package/build/upgrade.js.map +1 -1
- package/package.json +1 -1
- package/plugin/skills/conductor-console/SKILL.md +1 -1
- package/plugin/skills/work-item/SKILL.md +1 -1
- package/build/startup.js +0 -92
- package/build/startup.js.map +0 -1
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { ConductorError } from "../errors.js";
|
|
2
|
+
import { outputOf } from "../run.js";
|
|
3
|
+
export const TASK_NAME = 'Conductor';
|
|
4
|
+
// The task's <Arguments> quote the cli.js path (install); XML escapes it, and Windows paths compare
|
|
5
|
+
// without case.
|
|
6
|
+
export function taskRunsCli(xml, cliPath) {
|
|
7
|
+
const args = taskArguments(xml);
|
|
8
|
+
return args !== undefined && args.toLowerCase().includes(`"${cliPath.toLowerCase()}"`);
|
|
9
|
+
}
|
|
10
|
+
// A per-user Task Scheduler task that runs `conduct supervise` at logon, which keeps `conduct serve`
|
|
11
|
+
// running (supervise.ts). No elevation is needed for a task that runs as the current user.
|
|
12
|
+
// conhost --headless keeps a console window (or a Windows Terminal tab) from opening, and the zero
|
|
13
|
+
// time limit stops Task Scheduler from ending the daemon after its default 72 hours. A second start
|
|
14
|
+
// while one runs exits on the pid lock, and its supervisor with it. Installing doesn't start it.
|
|
15
|
+
export function taskScheduler(run) {
|
|
16
|
+
const schtasks = (args) => run('schtasks', args, { timeoutMs: 60_000 });
|
|
17
|
+
const taskXml = async () => {
|
|
18
|
+
const result = await schtasks(['/Query', '/TN', TASK_NAME, '/XML']);
|
|
19
|
+
return result.code === 0 ? result.stdout : undefined;
|
|
20
|
+
};
|
|
21
|
+
const installed = async () => (await schtasks(['/Query', '/TN', TASK_NAME])).code === 0;
|
|
22
|
+
return {
|
|
23
|
+
install: async ({ cliPath, nodePath }) => {
|
|
24
|
+
const script = [
|
|
25
|
+
"$ErrorActionPreference = 'Stop'",
|
|
26
|
+
'$user = "$env:USERDOMAIN\\$env:USERNAME"',
|
|
27
|
+
'$action = New-ScheduledTaskAction -Execute "$env:SystemRoot\\System32\\conhost.exe" -Argument $env:CONDUCTOR_TASK_ARGS',
|
|
28
|
+
'$trigger = New-ScheduledTaskTrigger -AtLogOn -User $user',
|
|
29
|
+
'$settings = New-ScheduledTaskSettingsSet -AllowStartIfOnBatteries -DontStopIfGoingOnBatteries -StartWhenAvailable -MultipleInstances IgnoreNew -ExecutionTimeLimit ([TimeSpan]::Zero)',
|
|
30
|
+
'$principal = New-ScheduledTaskPrincipal -UserId $user -LogonType Interactive -RunLevel Limited',
|
|
31
|
+
`Register-ScheduledTask -TaskName '${TASK_NAME}' -Description 'Starts the conductor daemon (conduct supervise) at logon.' -Action $action -Trigger $trigger -Settings $settings -Principal $principal -Force | Out-Null`,
|
|
32
|
+
].join('\n');
|
|
33
|
+
const result = await run('powershell.exe', ['-NoProfile', '-NonInteractive', '-Command', script], {
|
|
34
|
+
env: { ...process.env, CONDUCTOR_TASK_ARGS: `--headless "${nodePath}" "${cliPath}" supervise` },
|
|
35
|
+
timeoutMs: 60_000,
|
|
36
|
+
});
|
|
37
|
+
if (result.code !== 0)
|
|
38
|
+
throw new ConductorError('could not register the logon task', [outputOf(result, 1000)]);
|
|
39
|
+
return [];
|
|
40
|
+
},
|
|
41
|
+
name: `the "${TASK_NAME}" logon task`,
|
|
42
|
+
remove: async () => {
|
|
43
|
+
if (!(await installed()))
|
|
44
|
+
return false;
|
|
45
|
+
const result = await schtasks(['/Delete', '/TN', TASK_NAME, '/F']);
|
|
46
|
+
if (result.code !== 0)
|
|
47
|
+
throw new ConductorError('could not remove the logon task', [outputOf(result, 1000)]);
|
|
48
|
+
return true;
|
|
49
|
+
},
|
|
50
|
+
run: async () => {
|
|
51
|
+
const result = await schtasks(['/Run', '/TN', TASK_NAME]);
|
|
52
|
+
if (result.code !== 0)
|
|
53
|
+
throw new ConductorError(`could not run the "${TASK_NAME}" logon task`, [outputOf(result, 1000)]);
|
|
54
|
+
},
|
|
55
|
+
runsCli: async (cliPath) => {
|
|
56
|
+
const xml = await taskXml();
|
|
57
|
+
return xml !== undefined && taskRunsCli(xml, cliPath);
|
|
58
|
+
},
|
|
59
|
+
supervises: async () => {
|
|
60
|
+
const xml = await taskXml();
|
|
61
|
+
return xml !== undefined && taskSupervises(xml);
|
|
62
|
+
},
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
export function taskSupervises(xml) {
|
|
66
|
+
return /\ssupervise\s*$/.test(taskArguments(xml) ?? '');
|
|
67
|
+
}
|
|
68
|
+
// The task action's <Arguments>, XML unescaped.
|
|
69
|
+
function taskArguments(xml) {
|
|
70
|
+
return /<Arguments>([^<]*)<\/Arguments>/
|
|
71
|
+
.exec(xml)?.[1]
|
|
72
|
+
?.replaceAll('"', '"')
|
|
73
|
+
.replaceAll(''', "'")
|
|
74
|
+
.replaceAll('<', '<')
|
|
75
|
+
.replaceAll('>', '>')
|
|
76
|
+
.replaceAll('&', '&');
|
|
77
|
+
}
|
|
78
|
+
//# sourceMappingURL=task-scheduler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"task-scheduler.js","sourceRoot":"","sources":["../../src/host/task-scheduler.ts"],"names":[],"mappings":"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"}
|
|
@@ -71,6 +71,8 @@ export function npmStage({ ci, fetch: fetcher = globalThis.fetch, registry = ()
|
|
|
71
71
|
// and stage a merge before the merge's own run starts. Once that stage is approved, the merge's run
|
|
72
72
|
// prints "<package>@<version> is already published", with no stage of its own. A merge with no
|
|
73
73
|
// releasable commits prints the same line for the previous version, so the note says how to tell.
|
|
74
|
+
// A run whose base moved on to newer commits that touch the package releases nothing and names the
|
|
75
|
+
// commit whose run releases them with its own (ATK-505).
|
|
74
76
|
export function parseStageLine(text) {
|
|
75
77
|
const log = text ?? '';
|
|
76
78
|
const fresh = /\+ (@[\w.-]+\/[\w.-]+)@(\S+) \(staged with id ([0-9a-f-]{36})\)/.exec(log);
|
|
@@ -83,11 +85,22 @@ export function parseStageLine(text) {
|
|
|
83
85
|
version: match[2],
|
|
84
86
|
};
|
|
85
87
|
}
|
|
88
|
+
const deferred = /(@[\w.-]+\/[\w.-]+) released nothing in this run \(package\.json holds (\S+)\): deferred to the run for ([0-9a-f]{7,40});/.exec(log);
|
|
89
|
+
if (deferred?.[1] && deferred[2] && deferred[3]) {
|
|
90
|
+
const sha = deferred[3].slice(0, 8);
|
|
91
|
+
return {
|
|
92
|
+
deferredTo: deferred[3],
|
|
93
|
+
note: `this run released nothing: the base had newer commits that touch the package by then, and the run for ${sha} releases them with this one. Its stage is the merge's (conduct runs ${sha}); confirm with git tag --contains <merge> once it has released`,
|
|
94
|
+
package: deferred[1],
|
|
95
|
+
stageId: null,
|
|
96
|
+
version: deferred[2],
|
|
97
|
+
};
|
|
98
|
+
}
|
|
86
99
|
const published = /(@[\w.-]+\/[\w.-]+)@(\S+) is already published; nothing to stage\./.exec(log);
|
|
87
100
|
if (!published?.[1] || !published[2])
|
|
88
101
|
return null;
|
|
89
102
|
return {
|
|
90
|
-
note: 'already on npm when this run reached its stage step, so nothing to approve. It carries the merge only when a release tag of this version contains it (git tag --contains <merge>):
|
|
103
|
+
note: 'already on npm when this run reached its stage step, so nothing to approve. It carries the merge only when a release tag of this version contains it (git tag --contains <merge>): another run released it, or the merge had nothing to release',
|
|
91
104
|
package: published[1],
|
|
92
105
|
stageId: null,
|
|
93
106
|
version: published[2],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stage.js","sourceRoot":"","sources":["../../../../src/lib/providers/npm/stage.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"stage.js","sourceRoot":"","sources":["../../../../src/lib/providers/npm/stage.ts"],"names":[],"mappings":"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"}
|
package/build/run.js
CHANGED
|
@@ -11,7 +11,10 @@ export function run(cmd, args, options = {}) {
|
|
|
11
11
|
const { cwd, env, input, shell = false, timeoutMs = 120_000, windowsHide = true } = options;
|
|
12
12
|
return new Promise((resolve) => {
|
|
13
13
|
const command = shell ? [cmd, ...args.map((a) => `"${a}"`)].join(' ') : cmd;
|
|
14
|
-
|
|
14
|
+
// Off Windows a shell gets a session, and so a process group, of its own (setsid), which the
|
|
15
|
+
// timeout kills (killTree). Ctrl+C in a terminal doesn't reach it: a setup command runs on.
|
|
16
|
+
const group = shell && process.platform !== 'win32';
|
|
17
|
+
const child = spawn(command, shell ? [] : args, { cwd, detached: group, env, shell, windowsHide });
|
|
15
18
|
const stdout = [];
|
|
16
19
|
const stderr = [];
|
|
17
20
|
let size = 0;
|
|
@@ -25,7 +28,7 @@ export function run(cmd, args, options = {}) {
|
|
|
25
28
|
child.stderr.on('data', collect(stderr));
|
|
26
29
|
const timer = setTimeout(() => {
|
|
27
30
|
error = `timed out after ${Math.round(timeoutMs / 1000)} s`;
|
|
28
|
-
killTree(child.pid);
|
|
31
|
+
killTree(child.pid, group);
|
|
29
32
|
child.kill();
|
|
30
33
|
}, timeoutMs);
|
|
31
34
|
child.on('error', (e) => (error = e.message));
|
|
@@ -42,11 +45,21 @@ export function run(cmd, args, options = {}) {
|
|
|
42
45
|
child.stdin.end(input ?? '');
|
|
43
46
|
});
|
|
44
47
|
}
|
|
45
|
-
//
|
|
46
|
-
//
|
|
47
|
-
function killTree(pid) {
|
|
48
|
-
if (pid === undefined
|
|
48
|
+
// Killing a shell alone leaves its children holding the output pipes, so the command would never
|
|
49
|
+
// close. On Windows taskkill /T ends the whole tree; elsewhere the shell's process group goes.
|
|
50
|
+
function killTree(pid, group) {
|
|
51
|
+
if (pid === undefined)
|
|
49
52
|
return;
|
|
50
|
-
|
|
53
|
+
if (process.platform === 'win32') {
|
|
54
|
+
spawn('taskkill', ['/pid', String(pid), '/T', '/F'], { stdio: 'ignore', windowsHide: true }).on('error', () => { });
|
|
55
|
+
}
|
|
56
|
+
else if (group) {
|
|
57
|
+
try {
|
|
58
|
+
process.kill(-pid, 'SIGKILL');
|
|
59
|
+
}
|
|
60
|
+
catch {
|
|
61
|
+
// The group ended already.
|
|
62
|
+
}
|
|
63
|
+
}
|
|
51
64
|
}
|
|
52
65
|
//# sourceMappingURL=run.js.map
|
package/build/run.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run.js","sourceRoot":"","sources":["../src/run.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAuB3C,MAAM,UAAU,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;AAEpC,4EAA4E;AAC5E,MAAM,UAAU,QAAQ,CAAC,MAAiB,EAAE,KAAK,GAAG,IAAI;IACtD,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,MAAM,CAAC,KAAK,IAAI,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC;AAC/G,CAAC;AAED,iGAAiG;AACjG,8FAA8F;AAC9F,2EAA2E;AAC3E,MAAM,UAAU,GAAG,CAAC,GAAW,EAAE,IAAuB,EAAE,UAAsB,EAAE;IAChF,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,GAAG,KAAK,EAAE,SAAS,GAAG,OAAO,EAAE,WAAW,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC;IAC5F,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;QAC5E,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"run.js","sourceRoot":"","sources":["../src/run.ts"],"names":[],"mappings":"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"}
|
package/build/runs.js
CHANGED
|
@@ -198,6 +198,8 @@ export function mergeLine(report) {
|
|
|
198
198
|
const stages = Object.entries(report.stages ?? {}).flatMap(([key, stage]) => {
|
|
199
199
|
if ('error' in stage)
|
|
200
200
|
return [`${key} stage unread: ${stage.error}`];
|
|
201
|
+
if (stage.deferredTo)
|
|
202
|
+
return [`${key} released nothing: deferred to ${stage.deferredTo.slice(0, 8)}'s run`];
|
|
201
203
|
if (!stage.stageId)
|
|
202
204
|
return [];
|
|
203
205
|
const version = `${stage.package ?? '?'}@${stage.version ?? '?'}`;
|
package/build/runs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runs.js","sourceRoot":"","sources":["../src/runs.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"runs.js","sourceRoot":"","sources":["../src/runs.ts"],"names":[],"mappings":"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"}
|
package/build/upgrade.js
CHANGED
|
@@ -2,7 +2,6 @@ import { posix, win32 } from 'node:path';
|
|
|
2
2
|
import { lt } from 'semver';
|
|
3
3
|
import { ConductorError } from "./errors.js";
|
|
4
4
|
import { outputOf } from "./run.js";
|
|
5
|
-
import { TASK_NAME } from "./startup.js";
|
|
6
5
|
export const PACKAGE = '@detergent-software/conductor';
|
|
7
6
|
export const TAGS = ['dev', 'latest'];
|
|
8
7
|
// A -dev.N version came from `dev` (develop); anything else from `latest` (main).
|
|
@@ -23,16 +22,16 @@ export function parseTag(tag) {
|
|
|
23
22
|
return known;
|
|
24
23
|
throw new ConductorError(`--tag takes ${TAGS.join(' or ')}, not "${tag}"`);
|
|
25
24
|
}
|
|
26
|
-
// Starts the daemon detached and says how: through the
|
|
25
|
+
// Starts the daemon detached and says how: through the startup when it runs this cli.js, else
|
|
27
26
|
// as a detached `conduct supervise`. For upgrade's restart and `conduct start`.
|
|
28
27
|
export async function restartDaemon(deps) {
|
|
29
|
-
if (deps.taskRunsCli()) {
|
|
28
|
+
if (await deps.taskRunsCli()) {
|
|
30
29
|
try {
|
|
31
|
-
deps.runTask();
|
|
32
|
-
return `through
|
|
30
|
+
await deps.runTask();
|
|
31
|
+
return `through ${deps.taskName} (pid ${await deps.awaitDaemon()})`;
|
|
33
32
|
}
|
|
34
33
|
catch {
|
|
35
|
-
// The task ignores a run while its last instance is still ending (MultipleInstances
|
|
34
|
+
// The Windows task ignores a run while its last instance is still ending (MultipleInstances
|
|
36
35
|
// IgnoreNew), and still exits 0, so a daemon that doesn't answer is started directly.
|
|
37
36
|
}
|
|
38
37
|
}
|
|
@@ -56,7 +55,7 @@ export async function tagVersion(release, tag) {
|
|
|
56
55
|
}
|
|
57
56
|
// Stop, install, restart. Refuses a linked build, and a tag older than the installed version unless
|
|
58
57
|
// allowDowngrade, before it touches anything; does nothing when the tag's version is already
|
|
59
|
-
// installed, and starts the daemon again only if it stopped one: through the
|
|
58
|
+
// installed, and starts the daemon again only if it stopped one: through the startup when that
|
|
60
59
|
// runs this cli.js (a global install keeps the path), else detached. A logon task that still runs
|
|
61
60
|
// the unsupervised `conduct serve` gets a line saying to register it again.
|
|
62
61
|
export async function upgrade({ allowDowngrade = false, tag }, deps) {
|
|
@@ -114,8 +113,8 @@ export async function upgrade({ allowDowngrade = false, tag }, deps) {
|
|
|
114
113
|
}
|
|
115
114
|
deps.out(`${downgrade ? 'downgraded' : 'upgraded'} ${from} → ${deps.installedVersion()} (from ${chosen})`);
|
|
116
115
|
deps.out(restart ? `started the conductor ${restart}` : 'the conductor was not running; start it with `conduct start`');
|
|
117
|
-
if (deps.taskRunsCli() && !deps.taskSupervises()) {
|
|
118
|
-
deps.out(
|
|
116
|
+
if ((await deps.taskRunsCli()) && !(await deps.taskSupervises())) {
|
|
117
|
+
deps.out(`${deps.taskName} runs conduct serve, which nothing restarts if it dies: run \`conduct install-startup\` once to supervise it`);
|
|
119
118
|
}
|
|
120
119
|
// npm installed it: a refresh that fails (a version with no plugin, a file held open) is said, not
|
|
121
120
|
// raised, since the daemon refreshes the copy again as it starts.
|
package/build/upgrade.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upgrade.js","sourceRoot":"","sources":["../src/upgrade.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAK5B,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"upgrade.js","sourceRoot":"","sources":["../src/upgrade.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -28,7 +28,7 @@ Start this session with `conduct console` (a tab in the conductor's own folder,
|
|
|
28
28
|
|
|
29
29
|
When `/conductor:conductor-console` runs:
|
|
30
30
|
|
|
31
|
-
1. `conduct start`. It starts the daemon detached if none answers (the logon
|
|
31
|
+
1. `conduct start`. It starts the daemon detached if none answers (the logon startup, else a detached `conduct supervise`) and returns once it does. Never run `conduct serve` yourself: it would end with this session.
|
|
32
32
|
2. Check the setup in one Bash call: `echo $CONDUCTOR_CONSOLE` and `conduct --version`.
|
|
33
33
|
- Not `1`: say that the band, the pane and the escalation wake-ups are off in this session, and that `conduct console` opens a proper one. Go on with chat.
|
|
34
34
|
- If Jason says the band or pane is missing: the mod comes with the conductor plugin in `~/.conductor/plugin`, which only `conduct console` loads (`--plugin-dir`). Check that the folder holds `hooks/register.tsx`, then run `/reload-plugins`; if it doesn't, `conduct start` (a daemon refreshes it as it starts), then close this session and run `conduct console`.
|
|
@@ -247,7 +247,7 @@ If the session ends first, the next `/<skill>` in this worktree resumes here.
|
|
|
247
247
|
- `missing`: a pipeline that should have run never queued, with no run ahead of its batch. First check that the merge didn't skip it on purpose: `git log --format=%B <mergeCommit>^1..<mergeCommit>` with `[skip ci]` (or another of Azure Pipelines' skip markers) in a message means the push ran nothing, so report it to Jason and don't queue it. Otherwise queue it with the line the note gives, `conduct runs <mergeCommit> --requeue <pipeline>`, then follow it as for `cancelled` below. Any other refusal: give Jason the refusal and end the turn (conducted: Handoff · `failed`).
|
|
248
248
|
- `cancelled`: no run carries the merge. On Azure Pipelines a later run on the base that contains the merge already stands in for a cancelled one (`match: batched`, with `supersedes` naming the cancelled run), so `cancelled` means none did. Queue it again with the line the note gives, `conduct runs <mergeCommit> --requeue <pipeline>` (one per cancelled pipeline, named by its YAML file): it queues the pipeline on the base at its tip. Then `conduct wait merge <mergeCommit>` (with the same `--for`) follows the new run, and `conduct runs` reads it again. A refusal for a merge under 15 minutes old (Azure DevOps can still list a newer run that carries it) names the time to try again: `conduct wait time <that time>`, end the turn, and requeue once it holds. Any other refusal: give Jason the refusal and end the turn (conducted: Handoff · `failed`).
|
|
249
249
|
- Exit 5: a lost login, as in step 8. Not a pipeline failure.
|
|
250
|
-
3. **Staged releases.** Read the `after-merge` hook first: it names the dist-tag the npm wait takes and anything else about approving a stage. For each of the profile's releases that ran, `conduct runs` gives `stages.<key>`: the staged `package`, `version`, `stageId`, `approve` and `published`. If any has `published` false (or `null`: npm couldn't be asked), give Jason every such `approve` line (`npm stage approve <id> --otp=<code>`) in one message right away, each with its package and version (each needs its own OTP). Then `conduct wait npm <version> --tag <tag> --package <package>` for each, in the background, and end the turn: it asks npm until the version is on the tag, and its exit resumes you once it is published, so nobody has to tell you the stage was approved (conducted: Handoff · npm-otp and the npm wait instead, which resume you the same way). It holds once the version is published. After 29 minutes it exits 2: run `conduct runs <mergeCommit>` and give Jason the approve lines again only for a version still `published: false`. **Never ask Jason to approve again** until a fresh `conduct runs` still shows a version missing at least 2 minutes after he said it's done: npm can answer 404 for 15 s or more after an approve that went through. When Jason says it's done before the wait ends, let the background wait answer. A key with `stageId: null` staged nothing (its `note` says why; a release with no releasable commits is normal); with a `version` and `published: true`, that version was already on npm when the run reached its stage step (
|
|
250
|
+
3. **Staged releases.** Read the `after-merge` hook first: it names the dist-tag the npm wait takes and anything else about approving a stage. For each of the profile's releases that ran, `conduct runs` gives `stages.<key>`: the staged `package`, `version`, `stageId`, `approve` and `published`. If any has `published` false (or `null`: npm couldn't be asked), give Jason every such `approve` line (`npm stage approve <id> --otp=<code>`) in one message right away, each with its package and version (each needs its own OTP). Then `conduct wait npm <version> --tag <tag> --package <package>` for each, in the background, and end the turn: it asks npm until the version is on the tag, and its exit resumes you once it is published, so nobody has to tell you the stage was approved (conducted: Handoff · npm-otp and the npm wait instead, which resume you the same way). It holds once the version is published. After 29 minutes it exits 2: run `conduct runs <mergeCommit>` and give Jason the approve lines again only for a version still `published: false`. **Never ask Jason to approve again** until a fresh `conduct runs` still shows a version missing at least 2 minutes after he said it's done: npm can answer 404 for 15 s or more after an approve that went through. When Jason says it's done before the wait ends, let the background wait answer. A key with `stageId: null` staged nothing (its `note` says why; a release with no releasable commits is normal); with a `version` and `published: true`, that version was already on npm when the run reached its stage step (another run's stage, approved, or the last release when the merge had nothing to release), so there is nothing to approve, and it carries the merge only when `git tag --contains <mergeCommit>` lists its tag. A key with `deferredTo` released nothing: the base had newer commits that touch the package by the time the run reached its release, and the run for that commit releases this merge with them. Read that run's stage with `conduct runs <deferredTo>` (`conduct wait merge <deferredTo>` while it is `waiting`), handle it as this merge's own stage above, and confirm with `git tag --contains <mergeCommit>` once it has released. If that run defers too, follow its `deferredTo` the same way, at most twice; when no run of the release carries it (`none` or `missing`), or the chain goes on, report it (conducted: Handoff · `failed`). Then the rest of the `after-merge` hook.
|
|
251
251
|
4. **Proof after the deploy.** `<verify>` against the deployed environment on the changed surfaces, once their deploy finished, as the `dev-proof` hook says (browser runs hold the `chrome` lock, as in step 6). A staged release is proved on the version it published, after Jason approved it, not on the checkout's build.
|
|
252
252
|
5. Post `<skill> · Landed`: the merge commit, the landing mode and who approved, the pipeline results, the evidence after the deploy. It moves the item to done. File follow-ups as new items related to this one, searching first (Rules: new problems become new items, once).
|
|
253
253
|
6. Wrap up. The branch is still checked out in this worktree, so leave it. Tell Jason the item is done and that `/exit` removes the worktree; the hook keeps a renamed branch, so `git branch -d <branch>` from the main checkout clears it. Conducted: end the turn; the daemon retires the worker once the item is done, and removes its worktree and branch once the PR has merged.
|
package/build/startup.js
DELETED
|
@@ -1,92 +0,0 @@
|
|
|
1
|
-
import { execFileSync, spawnSync } from 'node:child_process';
|
|
2
|
-
import { ConductorError } from "./errors.js";
|
|
3
|
-
export const TASK_NAME = 'Conductor';
|
|
4
|
-
// Registers a per-user Task Scheduler task that runs `conduct supervise` at logon, which keeps
|
|
5
|
-
// `conduct serve` running (supervise.ts). No elevation is needed for a task that runs as the
|
|
6
|
-
// current user. conhost --headless keeps a console window (or a Windows Terminal tab) from
|
|
7
|
-
// opening, and the zero time limit stops Task Scheduler from ending the daemon after its default
|
|
8
|
-
// 72 hours. A second start while one runs exits on the pid lock, and its supervisor with it.
|
|
9
|
-
export function installStartup({ cliPath, nodePath }) {
|
|
10
|
-
requireWindows();
|
|
11
|
-
const script = [
|
|
12
|
-
"$ErrorActionPreference = 'Stop'",
|
|
13
|
-
'$user = "$env:USERDOMAIN\\$env:USERNAME"',
|
|
14
|
-
'$action = New-ScheduledTaskAction -Execute "$env:SystemRoot\\System32\\conhost.exe" -Argument $env:CONDUCTOR_TASK_ARGS',
|
|
15
|
-
'$trigger = New-ScheduledTaskTrigger -AtLogOn -User $user',
|
|
16
|
-
'$settings = New-ScheduledTaskSettingsSet -AllowStartIfOnBatteries -DontStopIfGoingOnBatteries -StartWhenAvailable -MultipleInstances IgnoreNew -ExecutionTimeLimit ([TimeSpan]::Zero)',
|
|
17
|
-
'$principal = New-ScheduledTaskPrincipal -UserId $user -LogonType Interactive -RunLevel Limited',
|
|
18
|
-
`Register-ScheduledTask -TaskName '${TASK_NAME}' -Description 'Starts the conductor daemon (conduct supervise) at logon.' -Action $action -Trigger $trigger -Settings $settings -Principal $principal -Force | Out-Null`,
|
|
19
|
-
].join('\n');
|
|
20
|
-
powershell(script, { CONDUCTOR_TASK_ARGS: `--headless "${nodePath}" "${cliPath}" supervise` });
|
|
21
|
-
}
|
|
22
|
-
// True when a task was removed, false when there was none.
|
|
23
|
-
export function removeStartup() {
|
|
24
|
-
requireWindows();
|
|
25
|
-
if (!startupInstalled())
|
|
26
|
-
return false;
|
|
27
|
-
execFileSync('schtasks', ['/Delete', '/TN', TASK_NAME, '/F'], { stdio: 'ignore' });
|
|
28
|
-
return true;
|
|
29
|
-
}
|
|
30
|
-
export function runStartup() {
|
|
31
|
-
const result = spawnSync('schtasks', ['/Run', '/TN', TASK_NAME], { encoding: 'utf8' });
|
|
32
|
-
if (result.status !== 0) {
|
|
33
|
-
throw new ConductorError(`could not run the "${TASK_NAME}" logon task`, [
|
|
34
|
-
result.stderr?.trim() || result.error?.message || `exit ${result.status}`,
|
|
35
|
-
]);
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
export function startupInstalled() {
|
|
39
|
-
return spawnSync('schtasks', ['/Query', '/TN', TASK_NAME], { stdio: 'ignore' }).status === 0;
|
|
40
|
-
}
|
|
41
|
-
// True when the logon task exists and its action runs this cli.js, so running it starts this
|
|
42
|
-
// build. A task registered from another build (a linked checkout) would start that one.
|
|
43
|
-
export function startupRunsCli(cliPath) {
|
|
44
|
-
if (process.platform !== 'win32')
|
|
45
|
-
return false;
|
|
46
|
-
const result = spawnSync('schtasks', ['/Query', '/TN', TASK_NAME, '/XML'], { encoding: 'utf8' });
|
|
47
|
-
return result.status === 0 && taskRunsCli(result.stdout, cliPath);
|
|
48
|
-
}
|
|
49
|
-
// True when the logon task runs `conduct supervise`. One an install-startup from before ATK-417
|
|
50
|
-
// registered runs `conduct serve`, which nothing restarts.
|
|
51
|
-
export function startupSupervises() {
|
|
52
|
-
if (process.platform !== 'win32')
|
|
53
|
-
return false;
|
|
54
|
-
const result = spawnSync('schtasks', ['/Query', '/TN', TASK_NAME, '/XML'], { encoding: 'utf8' });
|
|
55
|
-
return result.status === 0 && taskSupervises(result.stdout);
|
|
56
|
-
}
|
|
57
|
-
// The task's <Arguments> quote the cli.js path (installStartup); XML escapes it, and Windows paths
|
|
58
|
-
// compare without case.
|
|
59
|
-
export function taskRunsCli(xml, cliPath) {
|
|
60
|
-
const args = taskArguments(xml);
|
|
61
|
-
return args !== undefined && args.toLowerCase().includes(`"${cliPath.toLowerCase()}"`);
|
|
62
|
-
}
|
|
63
|
-
export function taskSupervises(xml) {
|
|
64
|
-
return /\ssupervise\s*$/.test(taskArguments(xml) ?? '');
|
|
65
|
-
}
|
|
66
|
-
function powershell(script, env) {
|
|
67
|
-
const result = spawnSync('powershell.exe', ['-NoProfile', '-NonInteractive', '-Command', script], {
|
|
68
|
-
encoding: 'utf8',
|
|
69
|
-
env: { ...process.env, ...env },
|
|
70
|
-
});
|
|
71
|
-
if (result.status !== 0) {
|
|
72
|
-
throw new ConductorError('could not register the logon task', [result.stderr.trim() || `exit ${result.status}`]);
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
function requireWindows() {
|
|
76
|
-
if (process.platform !== 'win32') {
|
|
77
|
-
throw new ConductorError('install-startup supports Windows only', [
|
|
78
|
-
'start `conduct serve` from your own login items',
|
|
79
|
-
]);
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
// The task action's <Arguments>, XML unescaped.
|
|
83
|
-
function taskArguments(xml) {
|
|
84
|
-
return /<Arguments>([^<]*)<\/Arguments>/
|
|
85
|
-
.exec(xml)?.[1]
|
|
86
|
-
?.replaceAll('"', '"')
|
|
87
|
-
.replaceAll(''', "'")
|
|
88
|
-
.replaceAll('<', '<')
|
|
89
|
-
.replaceAll('>', '>')
|
|
90
|
-
.replaceAll('&', '&');
|
|
91
|
-
}
|
|
92
|
-
//# sourceMappingURL=startup.js.map
|
package/build/startup.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"startup.js","sourceRoot":"","sources":["../src/startup.ts"],"names":[],"mappings":"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"}
|