@pennixrv/trellis 0.7.0-beta.5 → 0.7.0-beta.50
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +47 -3
- package/dist/cli/index.js.map +1 -1
- package/dist/commands/backup.d.ts +25 -0
- package/dist/commands/backup.d.ts.map +1 -0
- package/dist/commands/backup.js +152 -0
- package/dist/commands/backup.js.map +1 -0
- package/dist/commands/channel/adapters/claude.d.ts.map +1 -1
- package/dist/commands/channel/adapters/claude.js +2 -0
- package/dist/commands/channel/adapters/claude.js.map +1 -1
- package/dist/commands/channel/adapters/codex.d.ts +5 -1
- package/dist/commands/channel/adapters/codex.d.ts.map +1 -1
- package/dist/commands/channel/adapters/codex.js +19 -9
- package/dist/commands/channel/adapters/codex.js.map +1 -1
- package/dist/commands/channel/adapters/index.d.ts +3 -0
- package/dist/commands/channel/adapters/index.d.ts.map +1 -1
- package/dist/commands/channel/adapters/index.js +3 -3
- package/dist/commands/channel/adapters/index.js.map +1 -1
- package/dist/commands/channel/adapters/types.d.ts +2 -0
- package/dist/commands/channel/adapters/types.d.ts.map +1 -1
- package/dist/commands/channel/guard.d.ts.map +1 -1
- package/dist/commands/channel/guard.js +38 -29
- package/dist/commands/channel/guard.js.map +1 -1
- package/dist/commands/channel/index.d.ts.map +1 -1
- package/dist/commands/channel/index.js +52 -16
- package/dist/commands/channel/index.js.map +1 -1
- package/dist/commands/channel/kill.d.ts.map +1 -1
- package/dist/commands/channel/kill.js +37 -15
- package/dist/commands/channel/kill.js.map +1 -1
- package/dist/commands/channel/messages.d.ts.map +1 -1
- package/dist/commands/channel/messages.js +3 -2
- package/dist/commands/channel/messages.js.map +1 -1
- package/dist/commands/channel/process-identity.d.ts +3 -0
- package/dist/commands/channel/process-identity.d.ts.map +1 -0
- package/dist/commands/channel/process-identity.js +24 -0
- package/dist/commands/channel/process-identity.js.map +1 -0
- package/dist/commands/channel/profiles.d.ts +26 -0
- package/dist/commands/channel/profiles.d.ts.map +1 -0
- package/dist/commands/channel/profiles.js +186 -0
- package/dist/commands/channel/profiles.js.map +1 -0
- package/dist/commands/channel/rm.d.ts +0 -1
- package/dist/commands/channel/rm.d.ts.map +1 -1
- package/dist/commands/channel/rm.js +203 -96
- package/dist/commands/channel/rm.js.map +1 -1
- package/dist/commands/channel/spawn.d.ts +3 -0
- package/dist/commands/channel/spawn.d.ts.map +1 -1
- package/dist/commands/channel/spawn.js +43 -15
- package/dist/commands/channel/spawn.js.map +1 -1
- package/dist/commands/channel/supervisor/idle.d.ts +2 -0
- package/dist/commands/channel/supervisor/idle.d.ts.map +1 -1
- package/dist/commands/channel/supervisor/idle.js +15 -7
- package/dist/commands/channel/supervisor/idle.js.map +1 -1
- package/dist/commands/channel/supervisor/inbox.d.ts.map +1 -1
- package/dist/commands/channel/supervisor/inbox.js +48 -33
- package/dist/commands/channel/supervisor/inbox.js.map +1 -1
- package/dist/commands/channel/supervisor/stdout.d.ts.map +1 -1
- package/dist/commands/channel/supervisor/stdout.js +6 -3
- package/dist/commands/channel/supervisor/stdout.js.map +1 -1
- package/dist/commands/channel/supervisor/warning.d.ts.map +1 -1
- package/dist/commands/channel/supervisor/warning.js +2 -3
- package/dist/commands/channel/supervisor/warning.js.map +1 -1
- package/dist/commands/channel/supervisor.d.ts +12 -0
- package/dist/commands/channel/supervisor.d.ts.map +1 -1
- package/dist/commands/channel/supervisor.js +88 -16
- package/dist/commands/channel/supervisor.js.map +1 -1
- package/dist/commands/channel/wait.d.ts +3 -1
- package/dist/commands/channel/wait.d.ts.map +1 -1
- package/dist/commands/channel/wait.js +59 -14
- package/dist/commands/channel/wait.js.map +1 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +23 -10
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/update.d.ts.map +1 -1
- package/dist/commands/update.js +446 -333
- package/dist/commands/update.js.map +1 -1
- package/dist/commands/workflow.d.ts +1 -0
- package/dist/commands/workflow.d.ts.map +1 -1
- package/dist/commands/workflow.js +56 -1
- package/dist/commands/workflow.js.map +1 -1
- package/dist/configurators/codex.d.ts +6 -0
- package/dist/configurators/codex.d.ts.map +1 -1
- package/dist/configurators/codex.js +93 -0
- package/dist/configurators/codex.js.map +1 -1
- package/dist/configurators/shared.js +2 -2
- package/dist/configurators/shared.js.map +1 -1
- package/dist/constants/paths.d.ts +2 -0
- package/dist/constants/paths.d.ts.map +1 -1
- package/dist/constants/paths.js +2 -0
- package/dist/constants/paths.js.map +1 -1
- package/dist/migrations/manifests/0.7.0-beta.10.json +9 -0
- package/dist/migrations/manifests/0.7.0-beta.11.json +9 -0
- package/dist/migrations/manifests/0.7.0-beta.12.json +9 -0
- package/dist/migrations/manifests/0.7.0-beta.13.json +9 -0
- package/dist/migrations/manifests/0.7.0-beta.14.json +9 -0
- package/dist/migrations/manifests/0.7.0-beta.15.json +9 -0
- package/dist/migrations/manifests/0.7.0-beta.16.json +9 -0
- package/dist/migrations/manifests/0.7.0-beta.17.json +9 -0
- package/dist/migrations/manifests/0.7.0-beta.18.json +9 -0
- package/dist/migrations/manifests/0.7.0-beta.19.json +9 -0
- package/dist/migrations/manifests/0.7.0-beta.20.json +9 -0
- package/dist/migrations/manifests/0.7.0-beta.21.json +17 -0
- package/dist/migrations/manifests/0.7.0-beta.22.json +9 -0
- package/dist/migrations/manifests/0.7.0-beta.23.json +9 -0
- package/dist/migrations/manifests/0.7.0-beta.24.json +9 -0
- package/dist/migrations/manifests/0.7.0-beta.25.json +9 -0
- package/dist/migrations/manifests/0.7.0-beta.26.json +9 -0
- package/dist/migrations/manifests/0.7.0-beta.27.json +9 -0
- package/dist/migrations/manifests/0.7.0-beta.28.json +9 -0
- package/dist/migrations/manifests/0.7.0-beta.29.json +9 -0
- package/dist/migrations/manifests/0.7.0-beta.30.json +9 -0
- package/dist/migrations/manifests/0.7.0-beta.31.json +9 -0
- package/dist/migrations/manifests/0.7.0-beta.32.json +9 -0
- package/dist/migrations/manifests/0.7.0-beta.33.json +9 -0
- package/dist/migrations/manifests/0.7.0-beta.34.json +9 -0
- package/dist/migrations/manifests/0.7.0-beta.35.json +9 -0
- package/dist/migrations/manifests/0.7.0-beta.36.json +9 -0
- package/dist/migrations/manifests/0.7.0-beta.37.json +9 -0
- package/dist/migrations/manifests/0.7.0-beta.38.json +9 -0
- package/dist/migrations/manifests/0.7.0-beta.39.json +9 -0
- package/dist/migrations/manifests/0.7.0-beta.40.json +9 -0
- package/dist/migrations/manifests/0.7.0-beta.41.json +9 -0
- package/dist/migrations/manifests/0.7.0-beta.42.json +9 -0
- package/dist/migrations/manifests/0.7.0-beta.43.json +9 -0
- package/dist/migrations/manifests/0.7.0-beta.44.json +9 -0
- package/dist/migrations/manifests/0.7.0-beta.45.json +9 -0
- package/dist/migrations/manifests/0.7.0-beta.46.json +9 -0
- package/dist/migrations/manifests/0.7.0-beta.47.json +9 -0
- package/dist/migrations/manifests/0.7.0-beta.48.json +9 -0
- package/dist/migrations/manifests/0.7.0-beta.49.json +13 -0
- package/dist/migrations/manifests/0.7.0-beta.50.json +12 -0
- package/dist/migrations/manifests/0.7.0-beta.6.json +9 -0
- package/dist/migrations/manifests/0.7.0-beta.7.json +9 -0
- package/dist/migrations/manifests/0.7.0-beta.8.json +9 -0
- package/dist/migrations/manifests/0.7.0-beta.9.json +9 -0
- package/dist/templates/codex/hooks/session-start.py +21 -17
- package/dist/templates/common/bundled-skills/trellis-channel/SKILL.md +3 -1
- package/dist/templates/common/bundled-skills/trellis-channel/references/command-reference.md +24 -16
- package/dist/templates/common/bundled-skills/trellis-channel/references/forum.md +4 -12
- package/dist/templates/common/bundled-skills/trellis-channel/references/multi-target-dispatch.md +139 -0
- package/dist/templates/common/bundled-skills/trellis-channel/references/progress-debugging.md +9 -5
- package/dist/templates/common/bundled-skills/trellis-channel/references/subnode-work.md +84 -14
- package/dist/templates/common/bundled-skills/trellis-channel/references/workers.md +9 -11
- package/dist/templates/common/bundled-skills/trellis-channel/references/workflows.md +25 -14
- package/dist/templates/common/bundled-skills/trellis-meta/references/customize-local/change-skills-or-commands.md +13 -11
- package/dist/templates/common/bundled-skills/trellis-meta/references/customize-local/change-task-lifecycle.md +7 -2
- package/dist/templates/common/bundled-skills/trellis-meta/references/local-architecture/task-system.md +6 -1
- package/dist/templates/common/bundled-skills/trellis-meta/references/local-architecture/workflow.md +6 -4
- package/dist/templates/common/bundled-skills/trellis-session-insight/SKILL.md +42 -3
- package/dist/templates/common/bundled-skills/trellis-session-insight/references/cli-quick-reference.md +1 -1
- package/dist/templates/common/bundled-skills/trellis-session-insight/references/triggering-patterns.md +10 -2
- package/dist/templates/common/commands/continue.md +36 -8
- package/dist/templates/common/commands/finish-work.md +17 -2
- package/dist/templates/common/commands/start.md +8 -1
- package/dist/templates/common/skills/brainstorm.md +49 -22
- package/dist/templates/common/skills/break-loop.md +6 -10
- package/dist/templates/common/skills/check.md +34 -5
- package/dist/templates/copilot/hooks/session-start.py +19 -15
- package/dist/templates/copilot/prompts/brainstorm.prompt.md +27 -21
- package/dist/templates/markdown/spec/backend/database-guidelines.md.txt +22 -22
- package/dist/templates/markdown/spec/backend/directory-structure.md.txt +20 -20
- package/dist/templates/markdown/spec/backend/error-handling.md.txt +22 -22
- package/dist/templates/markdown/spec/backend/index.md.txt +19 -19
- package/dist/templates/markdown/spec/backend/logging-guidelines.md.txt +22 -22
- package/dist/templates/markdown/spec/backend/quality-guidelines.md.txt +22 -22
- package/dist/templates/markdown/spec/frontend/component-guidelines.md.txt +25 -25
- package/dist/templates/markdown/spec/frontend/directory-structure.md.txt +20 -20
- package/dist/templates/markdown/spec/frontend/hook-guidelines.md.txt +22 -22
- package/dist/templates/markdown/spec/frontend/index.md.txt +20 -20
- package/dist/templates/markdown/spec/frontend/quality-guidelines.md.txt +22 -22
- package/dist/templates/markdown/spec/frontend/state-management.md.txt +22 -22
- package/dist/templates/markdown/spec/frontend/type-safety.md.txt +22 -22
- package/dist/templates/markdown/spec/guides/code-reuse-thinking-guide.md.txt +80 -85
- package/dist/templates/markdown/spec/guides/cross-layer-thinking-guide.md.txt +164 -209
- package/dist/templates/markdown/spec/guides/cross-platform-thinking-guide.md.txt +161 -185
- package/dist/templates/markdown/spec/guides/index.md.txt +51 -51
- package/dist/templates/markdown/workspace-index.md +44 -44
- package/dist/templates/opencode/lib/session-utils.js +2 -2
- package/dist/templates/shared-hooks/inject-shell-session-context.py +3 -6
- package/dist/templates/shared-hooks/inject-workflow-state.py +3 -2
- package/dist/templates/shared-hooks/session-start.py +23 -18
- package/dist/templates/trellis/agents/subnode-profiles.json +13 -0
- package/dist/templates/trellis/agents/subnode.md +11 -5
- package/dist/templates/trellis/config.yaml +2 -0
- package/dist/templates/trellis/index.d.ts +2 -1
- package/dist/templates/trellis/index.d.ts.map +1 -1
- package/dist/templates/trellis/index.js +4 -2
- package/dist/templates/trellis/index.js.map +1 -1
- package/dist/templates/trellis/scripts/add_session.py +35 -32
- package/dist/templates/trellis/scripts/common/active_task.py +8 -8
- package/dist/templates/trellis/scripts/common/developer.py +18 -18
- package/dist/templates/trellis/scripts/common/ownership_record.py +13 -8
- package/dist/templates/trellis/scripts/common/safe_commit.py +38 -9
- package/dist/templates/trellis/scripts/common/task_planning.py +137 -0
- package/dist/templates/trellis/scripts/common/task_store.py +46 -14
- package/dist/templates/trellis/scripts/common/workflow_phase.py +4 -3
- package/dist/templates/trellis/scripts/subnode_artifact.py +470 -21
- package/dist/templates/trellis/scripts/task.py +175 -2
- package/dist/templates/trellis/workflow.md +407 -388
- package/dist/utils/managed-paths.d.ts +2 -0
- package/dist/utils/managed-paths.d.ts.map +1 -1
- package/dist/utils/managed-paths.js +24 -2
- package/dist/utils/managed-paths.js.map +1 -1
- package/dist/utils/template-fetcher.d.ts +1 -0
- package/dist/utils/template-fetcher.d.ts.map +1 -1
- package/dist/utils/template-fetcher.js +2 -1
- package/dist/utils/template-fetcher.js.map +1 -1
- package/dist/utils/uninstall-scrubbers.d.ts.map +1 -1
- package/dist/utils/uninstall-scrubbers.js +5 -0
- package/dist/utils/uninstall-scrubbers.js.map +1 -1
- package/dist/utils/workflow-provenance.d.ts +24 -0
- package/dist/utils/workflow-provenance.d.ts.map +1 -0
- package/dist/utils/workflow-provenance.js +71 -0
- package/dist/utils/workflow-provenance.js.map +1 -0
- package/dist/utils/workflow-resolver.d.ts +9 -2
- package/dist/utils/workflow-resolver.d.ts.map +1 -1
- package/dist/utils/workflow-resolver.js +33 -7
- package/dist/utils/workflow-resolver.js.map +1 -1
- package/package.json +2 -2
- package/dist/templates/trellis/agents/subnode.env +0 -4
|
@@ -7,6 +7,9 @@
|
|
|
7
7
|
*/
|
|
8
8
|
import fs from "node:fs";
|
|
9
9
|
import path from "node:path";
|
|
10
|
+
import { isSupervisorProcess } from "./guard.js";
|
|
11
|
+
import { readProcessIdentity } from "./process-identity.js";
|
|
12
|
+
import { withLock } from "./store/lock.js";
|
|
10
13
|
import { channelDir, channelRoot, currentProjectKey, eventsPath, listProjects, migrateLegacyChannels, projectDir, resolveExistingChannelRef, } from "./store/paths.js";
|
|
11
14
|
import { GLOBAL_PROJECT_KEY, parseChannelScope } from "./store/schema.js";
|
|
12
15
|
export async function channelRm(name, opts = {}) {
|
|
@@ -52,83 +55,12 @@ export async function channelPrune(opts) {
|
|
|
52
55
|
? [currentProjectKey()]
|
|
53
56
|
: listProjects();
|
|
54
57
|
// Unscoped prune stays repo-wide by design; users want to clean across
|
|
55
|
-
// projects with one command.
|
|
58
|
+
// projects with one command. The project guard serializes discovery with
|
|
59
|
+
// spawn admission; deletion rechecks every candidate under that guard.
|
|
56
60
|
for (const project of projects) {
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
entries = fs.readdirSync(dir);
|
|
61
|
-
}
|
|
62
|
-
catch {
|
|
63
|
-
continue;
|
|
64
|
-
}
|
|
65
|
-
for (const name of entries) {
|
|
66
|
-
if (name.startsWith("."))
|
|
67
|
-
continue; // skip .bucket marker
|
|
68
|
-
if (keep.has(name))
|
|
69
|
-
continue;
|
|
70
|
-
const chDir = channelDir(name, project);
|
|
71
|
-
try {
|
|
72
|
-
if (!fs.statSync(chDir).isDirectory())
|
|
73
|
-
continue;
|
|
74
|
-
}
|
|
75
|
-
catch {
|
|
76
|
-
continue;
|
|
77
|
-
}
|
|
78
|
-
// Skip channels that still have a live worker.
|
|
79
|
-
if (hasLiveWorker(chDir))
|
|
80
|
-
continue;
|
|
81
|
-
const eventsFile = eventsPath(name, project);
|
|
82
|
-
let totalEvents = 0;
|
|
83
|
-
let lastTs;
|
|
84
|
-
let ephemeralFlag = false;
|
|
85
|
-
try {
|
|
86
|
-
const text = fs.readFileSync(eventsFile, "utf-8");
|
|
87
|
-
const lines = text.split("\n").filter((l) => l.trim());
|
|
88
|
-
totalEvents = lines.length;
|
|
89
|
-
// First event is `create`; read `ephemeral` from it.
|
|
90
|
-
const first = lines[0];
|
|
91
|
-
if (first) {
|
|
92
|
-
try {
|
|
93
|
-
ephemeralFlag =
|
|
94
|
-
JSON.parse(first).ephemeral === true;
|
|
95
|
-
}
|
|
96
|
-
catch {
|
|
97
|
-
// ignore
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
const last = lines[lines.length - 1];
|
|
101
|
-
if (last) {
|
|
102
|
-
try {
|
|
103
|
-
lastTs = JSON.parse(last).ts;
|
|
104
|
-
}
|
|
105
|
-
catch {
|
|
106
|
-
// ignore
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
catch {
|
|
111
|
-
// missing or unreadable events.jsonl — count as empty
|
|
112
|
-
}
|
|
113
|
-
let reason = null;
|
|
114
|
-
if (opts.ephemeral) {
|
|
115
|
-
if (ephemeralFlag)
|
|
116
|
-
reason = "ephemeral";
|
|
117
|
-
}
|
|
118
|
-
else if (opts.all) {
|
|
119
|
-
reason = "all";
|
|
120
|
-
}
|
|
121
|
-
else if (opts.empty && totalEvents <= 1) {
|
|
122
|
-
reason = "empty";
|
|
123
|
-
}
|
|
124
|
-
else if (opts.idleMs !== undefined && lastTs) {
|
|
125
|
-
const age = Date.now() - Date.parse(lastTs);
|
|
126
|
-
if (age >= opts.idleMs)
|
|
127
|
-
reason = `idle ${Math.round(age / 60_000)}m`;
|
|
128
|
-
}
|
|
129
|
-
if (reason)
|
|
130
|
-
candidates.push({ name, project, reason, lastTs });
|
|
131
|
-
}
|
|
61
|
+
await withLock(path.join(projectDir(project), ".worker-guard.lock"), () => {
|
|
62
|
+
candidates.push(...findPruneCandidates(project, keep, opts));
|
|
63
|
+
});
|
|
132
64
|
}
|
|
133
65
|
if (candidates.length === 0) {
|
|
134
66
|
console.log("(nothing to prune)");
|
|
@@ -139,39 +71,214 @@ export async function channelPrune(opts) {
|
|
|
139
71
|
const last = c.lastTs ? c.lastTs.slice(0, 19).replace("T", " ") : "-";
|
|
140
72
|
console.log(` ${c.name.padEnd(24)} ${last} (${c.reason})`);
|
|
141
73
|
}
|
|
142
|
-
if (opts.
|
|
74
|
+
if (!opts.yes) {
|
|
143
75
|
console.log(`\n(dry-run) would remove ${candidates.length} channel(s)`);
|
|
144
76
|
return;
|
|
145
77
|
}
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
78
|
+
let removed = 0;
|
|
79
|
+
let skipped = 0;
|
|
80
|
+
let releasedBytes = 0;
|
|
81
|
+
for (const project of projects) {
|
|
82
|
+
const projectCandidates = candidates.filter((candidate) => candidate.project === project);
|
|
83
|
+
if (projectCandidates.length === 0)
|
|
84
|
+
continue;
|
|
85
|
+
await withLock(path.join(projectDir(project), ".worker-guard.lock"), () => {
|
|
86
|
+
for (const c of projectCandidates) {
|
|
87
|
+
const current = inspectChannel(c.name, c.project);
|
|
88
|
+
if (current.kind !== "candidate") {
|
|
89
|
+
skipped++;
|
|
90
|
+
console.error(` skipped ${c.name}: ${current.reason}`);
|
|
91
|
+
continue;
|
|
92
|
+
}
|
|
93
|
+
const bytes = directorySize(channelDir(c.name, c.project));
|
|
94
|
+
try {
|
|
95
|
+
fs.rmSync(channelDir(c.name, c.project), {
|
|
96
|
+
recursive: true,
|
|
97
|
+
force: true,
|
|
98
|
+
});
|
|
99
|
+
removed++;
|
|
100
|
+
releasedBytes += bytes;
|
|
101
|
+
}
|
|
102
|
+
catch (err) {
|
|
103
|
+
skipped++;
|
|
104
|
+
console.error(` failed to remove ${c.name}: ${err instanceof Error ? err.message : err}`);
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
});
|
|
150
108
|
}
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
109
|
+
console.log(`\nRemoved ${removed}/${candidates.length} channel(s); skipped ${skipped}; released ${releasedBytes} bytes`);
|
|
110
|
+
}
|
|
111
|
+
function findPruneCandidates(project, keep, opts) {
|
|
112
|
+
const dir = projectDir(project);
|
|
113
|
+
let entries;
|
|
114
|
+
try {
|
|
115
|
+
entries = fs.readdirSync(dir);
|
|
116
|
+
}
|
|
117
|
+
catch {
|
|
118
|
+
return [];
|
|
119
|
+
}
|
|
120
|
+
const candidates = [];
|
|
121
|
+
for (const name of entries) {
|
|
122
|
+
if (name.startsWith(".") || keep.has(name))
|
|
123
|
+
continue;
|
|
124
|
+
const inspection = inspectChannel(name, project);
|
|
125
|
+
if (inspection.kind !== "candidate")
|
|
126
|
+
continue;
|
|
127
|
+
if (matchesPruneFilter(inspection, opts)) {
|
|
128
|
+
candidates.push({
|
|
129
|
+
name,
|
|
130
|
+
project,
|
|
131
|
+
reason: inspection.reason,
|
|
132
|
+
lastTs: inspection.lastTs,
|
|
133
|
+
});
|
|
154
134
|
}
|
|
155
|
-
|
|
156
|
-
|
|
135
|
+
}
|
|
136
|
+
return candidates;
|
|
137
|
+
}
|
|
138
|
+
function matchesPruneFilter(inspection, opts) {
|
|
139
|
+
if (opts.ephemeral)
|
|
140
|
+
return inspection.reason === "ephemeral";
|
|
141
|
+
if (opts.all)
|
|
142
|
+
return true;
|
|
143
|
+
if (opts.empty)
|
|
144
|
+
return inspection.reason === "empty";
|
|
145
|
+
if (opts.idleMs !== undefined && inspection.lastTs) {
|
|
146
|
+
return Date.now() - Date.parse(inspection.lastTs) >= opts.idleMs;
|
|
147
|
+
}
|
|
148
|
+
return false;
|
|
149
|
+
}
|
|
150
|
+
function inspectChannel(name, project) {
|
|
151
|
+
const chDir = channelDir(name, project);
|
|
152
|
+
try {
|
|
153
|
+
if (!fs.statSync(chDir).isDirectory())
|
|
154
|
+
return { kind: "blocked", reason: "not a directory" };
|
|
155
|
+
}
|
|
156
|
+
catch {
|
|
157
|
+
return { kind: "blocked", reason: "channel directory is unreadable" };
|
|
158
|
+
}
|
|
159
|
+
const workerState = inspectWorkers(chDir, name);
|
|
160
|
+
if (workerState)
|
|
161
|
+
return { kind: "blocked", reason: workerState };
|
|
162
|
+
let lines;
|
|
163
|
+
try {
|
|
164
|
+
lines = fs
|
|
165
|
+
.readFileSync(eventsPath(name, project), "utf-8")
|
|
166
|
+
.split("\n")
|
|
167
|
+
.filter((line) => line.trim());
|
|
168
|
+
}
|
|
169
|
+
catch {
|
|
170
|
+
return { kind: "blocked", reason: "events.jsonl is missing or unreadable" };
|
|
171
|
+
}
|
|
172
|
+
if (lines.length === 0)
|
|
173
|
+
return { kind: "blocked", reason: "events.jsonl is empty" };
|
|
174
|
+
const parsed = [];
|
|
175
|
+
try {
|
|
176
|
+
for (const line of lines) {
|
|
177
|
+
const event = JSON.parse(line);
|
|
178
|
+
if (!event || typeof event !== "object")
|
|
179
|
+
throw new Error("event is not an object");
|
|
180
|
+
parsed.push(event);
|
|
157
181
|
}
|
|
158
182
|
}
|
|
159
|
-
|
|
183
|
+
catch {
|
|
184
|
+
return { kind: "blocked", reason: "events.jsonl contains invalid JSON" };
|
|
185
|
+
}
|
|
186
|
+
const lastTs = parsed.at(-1)?.ts;
|
|
187
|
+
if (typeof lastTs !== "string" || Number.isNaN(Date.parse(lastTs))) {
|
|
188
|
+
return {
|
|
189
|
+
kind: "blocked",
|
|
190
|
+
reason: "events.jsonl has no valid final timestamp",
|
|
191
|
+
};
|
|
192
|
+
}
|
|
193
|
+
return {
|
|
194
|
+
kind: "candidate",
|
|
195
|
+
reason: parsed[0]?.ephemeral === true
|
|
196
|
+
? "ephemeral"
|
|
197
|
+
: lines.length === 1
|
|
198
|
+
? "empty"
|
|
199
|
+
: "all",
|
|
200
|
+
lastTs,
|
|
201
|
+
};
|
|
160
202
|
}
|
|
161
|
-
function
|
|
203
|
+
function inspectWorkers(dir, channel) {
|
|
204
|
+
let entries;
|
|
162
205
|
try {
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
206
|
+
entries = fs.readdirSync(dir);
|
|
207
|
+
}
|
|
208
|
+
catch {
|
|
209
|
+
return "worker state is unreadable";
|
|
210
|
+
}
|
|
211
|
+
for (const entry of entries) {
|
|
212
|
+
if (!entry.endsWith(".pid"))
|
|
213
|
+
continue;
|
|
214
|
+
const pidPath = path.join(dir, entry);
|
|
215
|
+
let pid;
|
|
216
|
+
try {
|
|
217
|
+
pid = Number(fs.readFileSync(pidPath, "utf-8").trim());
|
|
218
|
+
}
|
|
219
|
+
catch {
|
|
220
|
+
return `cannot read ${entry}`;
|
|
221
|
+
}
|
|
222
|
+
if (!Number.isSafeInteger(pid) || pid <= 0)
|
|
223
|
+
return `invalid PID in ${entry}`;
|
|
224
|
+
if (!pidAlive(pid))
|
|
225
|
+
continue;
|
|
226
|
+
const worker = entry.slice(0, -4);
|
|
227
|
+
if (!isSupervisorProcess(pid, channel, worker))
|
|
228
|
+
return `unverified supervisor in ${entry}`;
|
|
229
|
+
const childPidPath = path.join(dir, `${worker}.worker-pid`);
|
|
230
|
+
if (fs.existsSync(childPidPath)) {
|
|
231
|
+
let childPid;
|
|
232
|
+
try {
|
|
233
|
+
childPid = Number(fs.readFileSync(childPidPath, "utf-8").trim());
|
|
234
|
+
}
|
|
235
|
+
catch {
|
|
236
|
+
return `cannot read ${worker}.worker-pid`;
|
|
237
|
+
}
|
|
238
|
+
if (!Number.isSafeInteger(childPid) || childPid <= 0) {
|
|
239
|
+
return `invalid child PID in ${worker}.worker-pid`;
|
|
240
|
+
}
|
|
241
|
+
if (pidAlive(childPid)) {
|
|
242
|
+
const childIdentityPath = path.join(dir, `${worker}.worker-identity`);
|
|
243
|
+
let expected;
|
|
244
|
+
try {
|
|
245
|
+
expected = fs.readFileSync(childIdentityPath, "utf-8").trim();
|
|
246
|
+
}
|
|
247
|
+
catch {
|
|
248
|
+
return `cannot verify ${worker}.worker-pid`;
|
|
249
|
+
}
|
|
250
|
+
if (!expected || readProcessIdentity(childPid) !== expected) {
|
|
251
|
+
return `unverified child identity in ${worker}.worker-pid`;
|
|
252
|
+
}
|
|
253
|
+
}
|
|
169
254
|
}
|
|
255
|
+
return `live supervisor in ${entry}`;
|
|
256
|
+
}
|
|
257
|
+
return null;
|
|
258
|
+
}
|
|
259
|
+
function directorySize(root) {
|
|
260
|
+
let total = 0;
|
|
261
|
+
let entries;
|
|
262
|
+
try {
|
|
263
|
+
entries = fs.readdirSync(root, { withFileTypes: true });
|
|
170
264
|
}
|
|
171
265
|
catch {
|
|
172
|
-
|
|
266
|
+
return 0;
|
|
173
267
|
}
|
|
174
|
-
|
|
268
|
+
for (const entry of entries) {
|
|
269
|
+
const fullPath = path.join(root, entry.name);
|
|
270
|
+
if (entry.isDirectory())
|
|
271
|
+
total += directorySize(fullPath);
|
|
272
|
+
else if (entry.isFile()) {
|
|
273
|
+
try {
|
|
274
|
+
total += fs.statSync(fullPath).size;
|
|
275
|
+
}
|
|
276
|
+
catch {
|
|
277
|
+
// The deletion itself will fail closed if the entry changes.
|
|
278
|
+
}
|
|
279
|
+
}
|
|
280
|
+
}
|
|
281
|
+
return total;
|
|
175
282
|
}
|
|
176
283
|
async function killLiveWorkers(dir) {
|
|
177
284
|
let entries;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rm.js","sourceRoot":"","sources":["../../../src/commands/channel/rm.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"rm.js","sourceRoot":"","sources":["../../../src/commands/channel/rm.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,6 +7,9 @@ export interface SpawnOptions {
|
|
|
7
7
|
agent?: string;
|
|
8
8
|
cwd?: string;
|
|
9
9
|
model?: string;
|
|
10
|
+
profile?: string;
|
|
11
|
+
reasoningEffort?: string;
|
|
12
|
+
reasoningEffortReason?: string;
|
|
10
13
|
resume?: string;
|
|
11
14
|
/** Codex-only: overrides the `thread/start` sandbox mode (default `workspace-write`). */
|
|
12
15
|
sandbox?: CodexSandboxMode;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spawn.d.ts","sourceRoot":"","sources":["../../../src/commands/channel/spawn.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAGlE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"spawn.d.ts","sourceRoot":"","sources":["../../../src/commands/channel/spawn.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAGlE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAyBpD,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,yFAAyF;IACzF,OAAO,CAAC,EAAE,gBAAgB,CAAC;IAC3B,uEAAuE;IACvE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qEAAqE;IACrE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iEAAiE;IACjE,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,gEAAgE;IAChE,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;mEAC+D;IAC/D,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,6DAA6D;IAC7D,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,kFAAkF;AAClF,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAoB1E;AAED,6EAA6E;AAC7E,wBAAgB,8BAA8B,CAC5C,IAAI,EAAE,YAAY,EAClB,GAAG,SAAgB,GAClB,YAAY,CAgBd;AAoHD,wBAAsB,YAAY,CAChC,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,YAAY,GACjB,OAAO,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAsGvD"}
|
|
@@ -5,6 +5,7 @@ import { fileURLToPath } from "node:url";
|
|
|
5
5
|
import { loadAgent } from "./agent-loader.js";
|
|
6
6
|
import { assembleContext } from "./context-loader.js";
|
|
7
7
|
import { resolveTrustedRoots } from "./context-trust.js";
|
|
8
|
+
import { resolveSubnodeProfile, } from "./profiles.js";
|
|
8
9
|
import { enforceSpawnBudget, formatBudgetOverflowError, loadSubnodeDispatchConfig, resolveWorkerGuardConfig, } from "./guard.js";
|
|
9
10
|
import { withLock } from "./store/lock.js";
|
|
10
11
|
import { channelDir, projectDir, resolveExistingChannelRef, workerFile, workerLockPath, } from "./store/paths.js";
|
|
@@ -34,13 +35,18 @@ export function parseAgentEnvFile(filePath) {
|
|
|
34
35
|
}
|
|
35
36
|
/** Apply supervisor role defaults without consuming guard env precedence. */
|
|
36
37
|
export function applySubnodeSupervisorDefaults(opts, cwd = process.cwd()) {
|
|
37
|
-
|
|
38
|
-
|
|
38
|
+
const effectiveOpts = opts.profile !== undefined && opts.agent === undefined
|
|
39
|
+
? { ...opts, agent: "subnode" }
|
|
40
|
+
: opts;
|
|
41
|
+
if (effectiveOpts.agent !== "subnode")
|
|
42
|
+
return effectiveOpts;
|
|
39
43
|
const config = loadSubnodeDispatchConfig(cwd);
|
|
40
44
|
return {
|
|
41
|
-
...
|
|
42
|
-
...(
|
|
43
|
-
|
|
45
|
+
...effectiveOpts,
|
|
46
|
+
...(effectiveOpts.timeoutMs === undefined
|
|
47
|
+
? { timeoutMs: config.timeoutMs }
|
|
48
|
+
: {}),
|
|
49
|
+
...(effectiveOpts.warnBeforeMs === undefined
|
|
44
50
|
? { warnBeforeMs: config.warnBeforeMs }
|
|
45
51
|
: {}),
|
|
46
52
|
};
|
|
@@ -50,14 +56,14 @@ function resolveSpawn(channelName, opts) {
|
|
|
50
56
|
const trustedRoots = resolveTrustedRoots(cwd);
|
|
51
57
|
let agentBody;
|
|
52
58
|
let provider = opts.provider;
|
|
53
|
-
let
|
|
59
|
+
let agentModel;
|
|
54
60
|
let as = opts.as;
|
|
55
61
|
let env;
|
|
56
62
|
if (opts.agent) {
|
|
57
63
|
const agent = loadAgent(opts.agent, cwd, trustedRoots);
|
|
58
64
|
agentBody = agent.systemPrompt || undefined;
|
|
59
65
|
provider = provider ?? agent.provider;
|
|
60
|
-
|
|
66
|
+
agentModel = agent.model;
|
|
61
67
|
as = as ?? agent.name;
|
|
62
68
|
env = agent.envFile ? parseAgentEnvFile(agent.envFile) : undefined;
|
|
63
69
|
}
|
|
@@ -67,13 +73,24 @@ function resolveSpawn(channelName, opts) {
|
|
|
67
73
|
if (!as) {
|
|
68
74
|
throw new Error("Missing --as (no agent name to fall back to)");
|
|
69
75
|
}
|
|
76
|
+
const profile = resolveSubnodeProfile({
|
|
77
|
+
cwd,
|
|
78
|
+
agent: opts.agent,
|
|
79
|
+
provider,
|
|
80
|
+
agentModel,
|
|
81
|
+
model: opts.model,
|
|
82
|
+
profile: opts.profile,
|
|
83
|
+
reasoningEffort: opts.reasoningEffort,
|
|
84
|
+
reasoningEffortReason: opts.reasoningEffortReason,
|
|
85
|
+
});
|
|
70
86
|
const context = assembleContext(cwd, opts.files, opts.jsonls, trustedRoots);
|
|
71
87
|
const systemPrompt = buildSystemPrompt(channelName, as, agentBody, context.prompt);
|
|
72
88
|
return {
|
|
73
89
|
provider,
|
|
74
90
|
as,
|
|
75
91
|
systemPrompt,
|
|
76
|
-
model,
|
|
92
|
+
model: profile.model,
|
|
93
|
+
profile,
|
|
77
94
|
...(env ? { env } : {}),
|
|
78
95
|
contextFiles: context.paths,
|
|
79
96
|
contextManifests: context.manifests,
|
|
@@ -123,12 +140,15 @@ export async function channelSpawn(channelName, opts) {
|
|
|
123
140
|
if (!fs.existsSync(channelDir(channelName, ref.project))) {
|
|
124
141
|
throw new Error(`Channel '${channelName}' not found at ${channelDir(channelName, ref.project)}`);
|
|
125
142
|
}
|
|
126
|
-
const
|
|
127
|
-
|
|
143
|
+
const effectiveOpts = applySubnodeSupervisorDefaults(opts, opts.cwd ?? process.cwd());
|
|
144
|
+
const subnodeConfig = effectiveOpts.agent === "subnode"
|
|
145
|
+
? loadSubnodeDispatchConfig(effectiveOpts.cwd ?? process.cwd())
|
|
128
146
|
: undefined;
|
|
129
|
-
const effectiveOpts = applySubnodeSupervisorDefaults(opts);
|
|
130
147
|
const resolved = resolveSpawn(channelName, effectiveOpts);
|
|
131
148
|
if (resolved.provider === "codex") {
|
|
149
|
+
if (effectiveOpts.resume !== undefined) {
|
|
150
|
+
throw new Error("Codex Channel workers do not support --resume; spawn a fresh worker attempt");
|
|
151
|
+
}
|
|
132
152
|
const [createEvent] = await readChannelEvents(channelName, ref.project);
|
|
133
153
|
if (!createEvent ||
|
|
134
154
|
!isCreateEvent(createEvent) ||
|
|
@@ -195,16 +215,23 @@ async function spawnLocked(channelName, resolved, opts, project, idleTimeoutMs)
|
|
|
195
215
|
throw new Error(`Worker '${resolved.as}' is already running in channel '${channelName}' (pid ${existing})`);
|
|
196
216
|
}
|
|
197
217
|
}
|
|
218
|
+
const configuredActor = process.env.TRELLIS_CHANNEL_AS?.trim();
|
|
198
219
|
const spawnedBy = opts.by ??
|
|
199
|
-
(
|
|
200
|
-
|
|
201
|
-
? process.env.TRELLIS_CHANNEL_AS
|
|
220
|
+
(configuredActor !== undefined && configuredActor.length > 0
|
|
221
|
+
? configuredActor
|
|
202
222
|
: "main");
|
|
203
223
|
const configPath = writeSupervisorConfig(channelName, resolved.as, {
|
|
204
224
|
provider: resolved.provider,
|
|
205
225
|
cwd: opts.cwd ?? process.cwd(),
|
|
206
226
|
systemPrompt: resolved.systemPrompt,
|
|
207
227
|
model: resolved.model,
|
|
228
|
+
profile: resolved.profile.profile,
|
|
229
|
+
reasoningEffort: resolved.profile.reasoningEffort,
|
|
230
|
+
reasoningEffortReason: resolved.profile.reasoningEffortReason,
|
|
231
|
+
profileConfigPath: resolved.profile.profileConfigPath,
|
|
232
|
+
profileConfigDigest: resolved.profile.profileConfigDigest,
|
|
233
|
+
modelSource: resolved.profile.modelSource,
|
|
234
|
+
reasoningEffortSource: resolved.profile.reasoningEffortSource,
|
|
208
235
|
resume: opts.resume,
|
|
209
236
|
sandbox: opts.sandbox,
|
|
210
237
|
timeoutMs: opts.timeoutMs,
|
|
@@ -212,7 +239,7 @@ async function spawnLocked(channelName, resolved, opts, project, idleTimeoutMs)
|
|
|
212
239
|
idleTimeoutMs,
|
|
213
240
|
spawnedBy,
|
|
214
241
|
...(opts.inboxPolicy ? { inboxPolicy: opts.inboxPolicy } : {}),
|
|
215
|
-
...(resolved.env ? {
|
|
242
|
+
...(resolved.env ? { roleEnvKeys: Object.keys(resolved.env) } : {}),
|
|
216
243
|
...(opts.agent ? { agent: opts.agent } : {}),
|
|
217
244
|
...(resolved.contextFiles.length > 0
|
|
218
245
|
? { contextFiles: resolved.contextFiles }
|
|
@@ -243,6 +270,7 @@ async function spawnLocked(channelName, resolved, opts, project, idleTimeoutMs)
|
|
|
243
270
|
// regardless of where the supervisor's process.cwd() ends up.
|
|
244
271
|
env: {
|
|
245
272
|
...process.env,
|
|
273
|
+
...resolved.env,
|
|
246
274
|
TRELLIS_CHANNEL_PROJECT: project,
|
|
247
275
|
},
|
|
248
276
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spawn.js","sourceRoot":"","sources":["../../../src/commands/channel/spawn.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"spawn.js","sourceRoot":"","sources":["../../../src/commands/channel/spawn.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAIzC,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAG9C,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACzD,OAAO,EACL,qBAAqB,GAEtB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,kBAAkB,EAClB,yBAAyB,EACzB,yBAAyB,EACzB,wBAAwB,GACzB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EACL,UAAU,EACV,UAAU,EACV,yBAAyB,EACzB,UAAU,EACV,cAAc,GACf,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAwCxD,kFAAkF;AAClF,MAAM,UAAU,iBAAiB,CAAC,QAAgB;IAChD,MAAM,GAAG,GAA2B,EAAE,CAAC;IACvC,MAAM,KAAK,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAChE,KAAK,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;QAC/C,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;QAC5B,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,SAAS;QAC5C,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpC,MAAM,IAAI,GAAG,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC;QAClE,IAAI,CAAC,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3C,MAAM,IAAI,KAAK,CACb,gCAAgC,QAAQ,IAAI,KAAK,GAAG,CAAC,sBAAsB,CAC5E,CAAC;QACJ,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC/C,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,0BAA0B,IAAI,uBAAuB,CAAC,CAAC;QACzE,CAAC;QACD,GAAG,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;IACpB,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,6EAA6E;AAC7E,MAAM,UAAU,8BAA8B,CAC5C,IAAkB,EAClB,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE;IAEnB,MAAM,aAAa,GACjB,IAAI,CAAC,OAAO,KAAK,SAAS,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS;QACpD,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE;QAC/B,CAAC,CAAC,IAAI,CAAC;IACX,IAAI,aAAa,CAAC,KAAK,KAAK,SAAS;QAAE,OAAO,aAAa,CAAC;IAC5D,MAAM,MAAM,GAAG,yBAAyB,CAAC,GAAG,CAAC,CAAC;IAC9C,OAAO;QACL,GAAG,aAAa;QAChB,GAAG,CAAC,aAAa,CAAC,SAAS,KAAK,SAAS;YACvC,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE;YACjC,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,aAAa,CAAC,YAAY,KAAK,SAAS;YAC1C,CAAC,CAAC,EAAE,YAAY,EAAE,MAAM,CAAC,YAAY,EAAE;YACvC,CAAC,CAAC,EAAE,CAAC;KACR,CAAC;AACJ,CAAC;AAaD,SAAS,YAAY,CAAC,WAAmB,EAAE,IAAkB;IAC3D,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IACtC,MAAM,YAAY,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC;IAC9C,IAAI,SAA6B,CAAC;IAClC,IAAI,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;IAC7B,IAAI,UAA8B,CAAC;IACnC,IAAI,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;IACjB,IAAI,GAAuC,CAAC;IAE5C,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,YAAY,CAAC,CAAC;QACvD,SAAS,GAAG,KAAK,CAAC,YAAY,IAAI,SAAS,CAAC;QAC5C,QAAQ,GAAG,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC;QACtC,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC;QACzB,EAAE,GAAG,EAAE,IAAI,KAAK,CAAC,IAAI,CAAC;QACtB,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,iBAAiB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACrE,CAAC;IAED,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CACb,8EAA8E,CAC/E,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,EAAE,EAAE,CAAC;QACR,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;IAClE,CAAC;IAED,MAAM,OAAO,GAAG,qBAAqB,CAAC;QACpC,GAAG;QACH,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,QAAQ;QACR,UAAU;QACV,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,eAAe,EAAE,IAAI,CAAC,eAAe;QACrC,qBAAqB,EAAE,IAAI,CAAC,qBAAqB;KAClD,CAAC,CAAC;IAEH,MAAM,OAAO,GAAG,eAAe,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAC5E,MAAM,YAAY,GAAG,iBAAiB,CACpC,WAAW,EACX,EAAE,EACF,SAAS,EACT,OAAO,CAAC,MAAM,CACf,CAAC;IAEF,OAAO;QACL,QAAQ;QACR,EAAE;QACF,YAAY;QACZ,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,OAAO;QACP,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvB,YAAY,EAAE,OAAO,CAAC,KAAK;QAC3B,gBAAgB,EAAE,OAAO,CAAC,SAAS;KACpC,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,iBAAiB,CACxB,WAAmB,EACnB,UAAkB,EAClB,SAA6B,EAC7B,OAAe;IAEf,MAAM,QAAQ,GAAG;QACf,0CAA0C;QAC1C,kBAAkB,cAAc,CAAC,UAAU,CAAC,mCAAmC,cAAc,CAAC,WAAW,CAAC,IAAI;QAC9G,4DAA4D;QAC5D,0DAA0D;QAC1D,6EAA6E;QAC7E,EAAE;QACF,oEAAoE;QACpE,qEAAqE;QACrE,4DAA4D;KAC7D,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEb,MAAM,KAAK,GAAa,CAAC,QAAQ,CAAC,CAAC;IACnC,IAAI,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC;QACtB,KAAK,CAAC,IAAI,CAAC,mBAAmB,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACpD,CAAC;IACD,IAAI,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC;QACpB,KAAK,CAAC,IAAI,CAAC,sBAAsB,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACrD,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;AACnC,CAAC;AAED;;;oCAGoC;AACpC,SAAS,cAAc,CAAC,CAAS;IAC/B,4CAA4C;IAC5C,OAAO,CAAC,CAAC,OAAO,CAAC,+BAA+B,EAAE,EAAE,CAAC,CAAC;AACxD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,WAAmB,EACnB,IAAkB;IAElB,MAAM,GAAG,GAAG,yBAAyB,CAAC,WAAW,EAAE;QACjD,KAAK,EAAE,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC;KACrC,CAAC,CAAC;IACH,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,WAAW,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;QACzD,MAAM,IAAI,KAAK,CACb,YAAY,WAAW,kBAAkB,UAAU,CAAC,WAAW,EAAE,GAAG,CAAC,OAAO,CAAC,EAAE,CAChF,CAAC;IACJ,CAAC;IAED,MAAM,aAAa,GAAG,8BAA8B,CAClD,IAAI,EACJ,IAAI,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAC1B,CAAC;IACF,MAAM,aAAa,GACjB,aAAa,CAAC,KAAK,KAAK,SAAS;QAC/B,CAAC,CAAC,yBAAyB,CAAC,aAAa,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QAC/D,CAAC,CAAC,SAAS,CAAC;IAChB,MAAM,QAAQ,GAAG,YAAY,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;IAC1D,IAAI,QAAQ,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QAClC,IAAI,aAAa,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YACvC,MAAM,IAAI,KAAK,CACb,6EAA6E,CAC9E,CAAC;QACJ,CAAC;QACD,MAAM,CAAC,WAAW,CAAC,GAAG,MAAM,iBAAiB,CAAC,WAAW,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;QACxE,IACE,CAAC,WAAW;YACZ,CAAC,aAAa,CAAC,WAAW,CAAC;YAC3B,CAAC,WAAW,CAAC,cAAc,EAAE,IAAI,EAAE,EACnC,CAAC;YACD,MAAM,IAAI,KAAK,CACb,yCAAyC,WAAW,6IAA6I,CAClM,CAAC;QACJ,CAAC;IACH,CAAC;IACD,sEAAsE;IACtE,uEAAuE;IACvE,mEAAmE;IACnE,0BAA0B;IAC1B,MAAM,WAAW,GAAG,wBAAwB,CAAC;QAC3C,GAAG,CAAC,aAAa,CAAC,aAAa,KAAK,SAAS;YAC3C,CAAC,CAAC,EAAE,iBAAiB,EAAE,aAAa,CAAC,aAAa,EAAE;YACpD,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,aAAa,CAAC,cAAc,KAAK,SAAS;YAC5C,CAAC,CAAC,EAAE,kBAAkB,EAAE,aAAa,CAAC,cAAc,EAAE;YACtD,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,aAAa;YACf,CAAC,CAAC;gBACE,YAAY,EAAE;oBACZ,GAAG,CAAC,aAAa,CAAC,aAAa,KAAK,SAAS;wBAC3C,CAAC,CAAC,EAAE,aAAa,EAAE,aAAa,CAAC,aAAa,EAAE;wBAChD,CAAC,CAAC,EAAE,CAAC;oBACP,cAAc,EAAE,aAAa,CAAC,cAAc;iBAC7C;aACF;YACH,CAAC,CAAC,EAAE,CAAC;KACR,CAAC,CAAC;IACH,2EAA2E;IAC3E,0EAA0E;IAC1E,qDAAqD;IACrD,OAAO,QAAQ,CACb,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,oBAAoB,CAAC,EACxD,KAAK,IAAI,EAAE;QACT,MAAM,KAAK,GAAG,MAAM,kBAAkB,CAAC;YACrC,UAAU,EAAE,GAAG,CAAC,OAAO;YACvB,MAAM,EAAE,WAAW;SACpB,CAAC,CAAC;QACH,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,2BAA2B,KAAK,CAAC,OAAO,CAAC,MAAM,4BAA4B,WAAW,CAAC,aAAa,OAAO,KAAK,CAAC,OAAO;iBACrH,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;iBACxC,IAAI,CAAC,IAAI,CAAC,IAAI,CAClB,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CACb,yBAAyB,CAAC;gBACxB,UAAU,EAAE,GAAG,CAAC,OAAO;gBACvB,IAAI,EAAE,KAAK,CAAC,SAAS;gBACrB,KAAK,EAAE,WAAW,CAAC,cAAc;aAClC,CAAC,CACH,CAAC;QACJ,CAAC;QAED,wEAAwE;QACxE,0EAA0E;QAC1E,kCAAkC;QAClC,OAAO,QAAQ,CACb,cAAc,CAAC,WAAW,EAAE,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,OAAO,CAAC,EACrD,KAAK,IAAI,EAAE;YACT,OAAO,WAAW,CAChB,WAAW,EACX,QAAQ,EACR,aAAa,EACb,GAAG,CAAC,OAAO,EACX,WAAW,CAAC,aAAa,CAC1B,CAAC;QACJ,CAAC,CACF,CAAC;IACJ,CAAC,CACF,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,WAAW,CACxB,WAAmB,EACnB,QAAuB,EACvB,IAAkB,EAClB,OAAe,EACf,aAAqB;IAErB,mEAAmE;IACnE,MAAM,OAAO,GAAG,UAAU,CAAC,WAAW,EAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IACrE,IAAI,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3B,MAAM,QAAQ,GAAG,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAClE,IAAI,QAAQ,IAAI,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC;YACvC,MAAM,IAAI,KAAK,CACb,WAAW,QAAQ,CAAC,EAAE,oCAAoC,WAAW,UAAU,QAAQ,GAAG,CAC3F,CAAC;QACJ,CAAC;IACH,CAAC;IAED,MAAM,eAAe,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,IAAI,EAAE,CAAC;IAC/D,MAAM,SAAS,GACb,IAAI,CAAC,EAAE;QACP,CAAC,eAAe,KAAK,SAAS,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC;YAC1D,CAAC,CAAC,eAAe;YACjB,CAAC,CAAC,MAAM,CAAC,CAAC;IAEd,MAAM,UAAU,GAAG,qBAAqB,CACtC,WAAW,EACX,QAAQ,CAAC,EAAE,EACX;QACE,QAAQ,EAAE,QAAQ,CAAC,QAAQ;QAC3B,GAAG,EAAE,IAAI,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE;QAC9B,YAAY,EAAE,QAAQ,CAAC,YAAY;QACnC,KAAK,EAAE,QAAQ,CAAC,KAAK;QACrB,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,OAAO;QACjC,eAAe,EAAE,QAAQ,CAAC,OAAO,CAAC,eAAe;QACjD,qBAAqB,EAAE,QAAQ,CAAC,OAAO,CAAC,qBAAqB;QAC7D,iBAAiB,EAAE,QAAQ,CAAC,OAAO,CAAC,iBAAiB;QACrD,mBAAmB,EAAE,QAAQ,CAAC,OAAO,CAAC,mBAAmB;QACzD,WAAW,EAAE,QAAQ,CAAC,OAAO,CAAC,WAAW;QACzC,qBAAqB,EAAE,QAAQ,CAAC,OAAO,CAAC,qBAAqB;QAC7D,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,YAAY,EAAE,IAAI,CAAC,YAAY;QAC/B,aAAa;QACb,SAAS;QACT,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9D,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnE,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,GAAG,CAAC,QAAQ,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC;YAClC,CAAC,CAAC,EAAE,YAAY,EAAE,QAAQ,CAAC,YAAY,EAAE;YACzC,CAAC,CAAC,EAAE,CAAC;QACP,GAAG,CAAC,QAAQ,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC;YACtC,CAAC,CAAC,EAAE,gBAAgB,EAAE,QAAQ,CAAC,gBAAgB,EAAE;YACjD,CAAC,CAAC,EAAE,CAAC;KACR,EACD,OAAO,CACR,CAAC;IAEF,MAAM,gBAAgB,GAAG,eAAe,EAAE,CAAC;IAC3C,MAAM,eAAe,GAAG,UAAU,CAChC,WAAW,EACX,QAAQ,CAAC,EAAE,EACX,aAAa,EACb,OAAO,CACR,CAAC;IACF,EAAE,CAAC,aAAa,CACd,eAAe,EACf,IAAI,CAAC,SAAS,CAAC;QACb,OAAO,EAAE,WAAW;QACpB,MAAM,EAAE,QAAQ,CAAC,EAAE;QACnB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KACpC,CAAC,EACF,OAAO,CACR,CAAC;IACF,MAAM,KAAK,GAAG,KAAK,CACjB,OAAO,CAAC,QAAQ,EAChB;QACE,gBAAgB;QAChB,SAAS;QACT,cAAc;QACd,WAAW;QACX,QAAQ,CAAC,EAAE;QACX,UAAU;KACX,EACD;QACE,QAAQ,EAAE,IAAI;QACd,KAAK,EAAE,QAAQ;QACf,kEAAkE;QAClE,+DAA+D;QAC/D,8DAA8D;QAC9D,GAAG,EAAE;YACH,GAAG,OAAO,CAAC,GAAG;YACd,GAAG,QAAQ,CAAC,GAAG;YACf,uBAAuB,EAAE,OAAO;SACjC;KACF,CACF,CAAC;IAEF,wEAAwE;IACxE,0EAA0E;IAC1E,mDAAmD;IACnD,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC1C,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE;YACvB,IAAI,OAAO;gBAAE,OAAO;YACpB,OAAO,GAAG,IAAI,CAAC;YACf,OAAO,EAAE,CAAC;QACZ,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;YAC1B,IAAI,OAAO;gBAAE,OAAO;YACpB,OAAO,GAAG,IAAI,CAAC;YACf,0DAA0D;YAC1D,IAAI,CAAC;gBACH,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;YAC5B,CAAC;YAAC,MAAM,CAAC;gBACP,SAAS;YACX,CAAC;YACD,IAAI,CAAC;gBACH,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;YACjC,CAAC;YAAC,MAAM,CAAC;gBACP,SAAS;YACX,CAAC;YACD,MAAM,CACJ,IAAI,KAAK,CACP,2CAA2C,QAAQ,CAAC,EAAE,MAAM,GAAG,CAAC,OAAO,EAAE,CAC1E,CACF,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IACH,IAAI,KAAK,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;QAC5B,EAAE,CAAC,aAAa,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/C,CAAC;IACD,KAAK,CAAC,KAAK,EAAE,CAAC;IAEd,MAAM,MAAM,GAAG;QACb,GAAG,EAAE,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;QACpB,GAAG,EAAE,UAAU,CAAC,WAAW,EAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,EAAE,OAAO,CAAC;QACzD,MAAM,EAAE,QAAQ,CAAC,EAAE;KACpB,CAAC;IACF,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;IACpC,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,YAAY,CAAC,GAAW;IAC/B,IAAI,CAAC;QACH,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,SAAS,eAAe;IACtB,gEAAgE;IAChE,sEAAsE;IACtE,MAAM,IAAI,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC5C,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IAC9D,OAAO,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;AAChD,CAAC"}
|
|
@@ -21,6 +21,8 @@ export interface SupervisorIdleProbe {
|
|
|
21
21
|
isShuttingDown(): boolean;
|
|
22
22
|
}
|
|
23
23
|
export interface IdleTimerHandle {
|
|
24
|
+
/** Accept an external idle-cleanup request only after the owner's idle TTL. */
|
|
25
|
+
expireIfIdle(): boolean;
|
|
24
26
|
/** Restart the timer because the worker just finished a turn. */
|
|
25
27
|
reset(): void;
|
|
26
28
|
/** Suspend the timer because the worker is mid-turn. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"idle.d.ts","sourceRoot":"","sources":["../../../../src/commands/channel/supervisor/idle.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAExD,MAAM,WAAW,mBAAmB;IAClC,cAAc,IAAI,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,eAAe;IAC9B,iEAAiE;IACjE,KAAK,IAAI,IAAI,CAAC;IACd,wDAAwD;IACxD,KAAK,IAAI,IAAI,CAAC;IACd,gDAAgD;IAChD,MAAM,IAAI,IAAI,CAAC;CAChB;AAED,MAAM,WAAW,qBAAqB;IACpC,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,kBAAkB,GAAG,mBAAmB,CAAC;IACnD,sDAAsD;IACtD,aAAa,EAAE,MAAM,OAAO,CAAC;IAC7B,GAAG,EAAE;QAAE,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;KAAE,CAAC;CACxC;AAED;;;GAGG;AACH,wBAAgB,2BAA2B,CACzC,IAAI,EAAE,qBAAqB,GAC1B,eAAe,
|
|
1
|
+
{"version":3,"file":"idle.d.ts","sourceRoot":"","sources":["../../../../src/commands/channel/supervisor/idle.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAExD,MAAM,WAAW,mBAAmB;IAClC,cAAc,IAAI,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,eAAe;IAC9B,+EAA+E;IAC/E,YAAY,IAAI,OAAO,CAAC;IACxB,iEAAiE;IACjE,KAAK,IAAI,IAAI,CAAC;IACd,wDAAwD;IACxD,KAAK,IAAI,IAAI,CAAC;IACd,gDAAgD;IAChD,MAAM,IAAI,IAAI,CAAC;CAChB;AAED,MAAM,WAAW,qBAAqB;IACpC,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,kBAAkB,GAAG,mBAAmB,CAAC;IACnD,sDAAsD;IACtD,aAAa,EAAE,MAAM,OAAO,CAAC;IAC7B,GAAG,EAAE;QAAE,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;KAAE,CAAC;CACxC;AAED;;;GAGG;AACH,wBAAgB,2BAA2B,CACzC,IAAI,EAAE,qBAAqB,GAC1B,eAAe,CA+DjB"}
|
|
@@ -27,31 +27,38 @@ export function scheduleSupervisorIdleTimer(args) {
|
|
|
27
27
|
reset: () => undefined,
|
|
28
28
|
pause: () => undefined,
|
|
29
29
|
cancel: () => undefined,
|
|
30
|
+
expireIfIdle: () => false,
|
|
30
31
|
};
|
|
31
32
|
}
|
|
32
33
|
let timer;
|
|
33
34
|
let cancelled = false;
|
|
35
|
+
let idleDeadline;
|
|
34
36
|
const clear = () => {
|
|
37
|
+
idleDeadline = undefined;
|
|
35
38
|
if (timer) {
|
|
36
39
|
clearTimeout(timer);
|
|
37
40
|
timer = undefined;
|
|
38
41
|
}
|
|
39
42
|
};
|
|
40
|
-
const
|
|
43
|
+
const expireIfIdle = () => {
|
|
44
|
+
if (cancelled ||
|
|
45
|
+
idleDeadline === undefined ||
|
|
46
|
+
performance.now() < idleDeadline ||
|
|
47
|
+
shutdown.isShuttingDown() ||
|
|
48
|
+
isChildExited())
|
|
49
|
+
return false;
|
|
50
|
+
idleDeadline = undefined;
|
|
41
51
|
timer = undefined;
|
|
42
|
-
if (cancelled)
|
|
43
|
-
return;
|
|
44
|
-
if (shutdown.isShuttingDown() || isChildExited()) {
|
|
45
|
-
return;
|
|
46
|
-
}
|
|
47
52
|
log.write(`[supervisor] idle timeout ${idleTimeoutMs}ms reached, requesting shutdown\n`);
|
|
48
53
|
void shutdown.request("SIGTERM", "idle-timeout");
|
|
54
|
+
return true;
|
|
49
55
|
};
|
|
50
56
|
const start = () => {
|
|
51
57
|
if (cancelled)
|
|
52
58
|
return;
|
|
53
59
|
clear();
|
|
54
|
-
|
|
60
|
+
idleDeadline = performance.now() + idleTimeoutMs;
|
|
61
|
+
timer = setTimeout(expireIfIdle, idleTimeoutMs);
|
|
55
62
|
// Don't keep the supervisor alive solely for the idle timer; if
|
|
56
63
|
// every other handle has gone away the worker has nothing to do.
|
|
57
64
|
timer.unref?.();
|
|
@@ -59,6 +66,7 @@ export function scheduleSupervisorIdleTimer(args) {
|
|
|
59
66
|
// Initial schedule: worker just spawned, currently idle.
|
|
60
67
|
start();
|
|
61
68
|
return {
|
|
69
|
+
expireIfIdle,
|
|
62
70
|
reset: start,
|
|
63
71
|
pause: clear,
|
|
64
72
|
cancel: () => {
|