crewly 1.20.451 → 1.20.452

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.
Files changed (34) hide show
  1. package/config/skills/agent/spawn-subagent/SKILL.md +105 -0
  2. package/config/skills/agent/spawn-subagent/execute.sh +114 -0
  3. package/config/skills/agent/spawn-subagent/execute.test.sh +113 -0
  4. package/dist/backend/backend/src/controllers/subagents/subagents.controller.d.ts +27 -0
  5. package/dist/backend/backend/src/controllers/subagents/subagents.controller.d.ts.map +1 -0
  6. package/dist/backend/backend/src/controllers/subagents/subagents.controller.js +61 -0
  7. package/dist/backend/backend/src/controllers/subagents/subagents.controller.js.map +1 -0
  8. package/dist/backend/backend/src/controllers/subagents/subagents.routes.d.ts +15 -0
  9. package/dist/backend/backend/src/controllers/subagents/subagents.routes.d.ts.map +1 -0
  10. package/dist/backend/backend/src/controllers/subagents/subagents.routes.js +21 -0
  11. package/dist/backend/backend/src/controllers/subagents/subagents.routes.js.map +1 -0
  12. package/dist/backend/backend/src/routes/api.routes.d.ts.map +1 -1
  13. package/dist/backend/backend/src/routes/api.routes.js +3 -0
  14. package/dist/backend/backend/src/routes/api.routes.js.map +1 -1
  15. package/dist/backend/backend/src/services/agent/crewly-agent/crewly-agent-external-runtime.service.d.ts.map +1 -1
  16. package/dist/backend/backend/src/services/agent/crewly-agent/crewly-agent-external-runtime.service.js +8 -2
  17. package/dist/backend/backend/src/services/agent/crewly-agent/crewly-agent-external-runtime.service.js.map +1 -1
  18. package/dist/backend/backend/src/services/agent/crewly-agent/subagent-run.service.d.ts +179 -0
  19. package/dist/backend/backend/src/services/agent/crewly-agent/subagent-run.service.d.ts.map +1 -0
  20. package/dist/backend/backend/src/services/agent/crewly-agent/subagent-run.service.js +345 -0
  21. package/dist/backend/backend/src/services/agent/crewly-agent/subagent-run.service.js.map +1 -0
  22. package/dist/backend/backend/src/services/agent/crewly-agent/types.d.ts +33 -0
  23. package/dist/backend/backend/src/services/agent/crewly-agent/types.d.ts.map +1 -1
  24. package/dist/backend/backend/src/services/agent/crewly-agent/types.js +15 -0
  25. package/dist/backend/backend/src/services/agent/crewly-agent/types.js.map +1 -1
  26. package/dist/backend/build-info.json +2 -2
  27. package/dist/cli/backend/src/services/agent/crewly-agent/crewly-agent-external-runtime.service.d.ts.map +1 -1
  28. package/dist/cli/backend/src/services/agent/crewly-agent/crewly-agent-external-runtime.service.js +8 -2
  29. package/dist/cli/backend/src/services/agent/crewly-agent/crewly-agent-external-runtime.service.js.map +1 -1
  30. package/dist/cli/backend/src/services/agent/crewly-agent/types.d.ts +33 -0
  31. package/dist/cli/backend/src/services/agent/crewly-agent/types.d.ts.map +1 -1
  32. package/dist/cli/backend/src/services/agent/crewly-agent/types.js +15 -0
  33. package/dist/cli/backend/src/services/agent/crewly-agent/types.js.map +1 -1
  34. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"crewly-agent-external-runtime.service.js","sourceRoot":"","sources":["../../../../../../../backend/src/services/agent/crewly-agent/crewly-agent-external-runtime.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"crewly-agent-external-runtime.service.js","sourceRoot":"","sources":["../../../../../../../backend/src/services/agent/crewly-agent/crewly-agent-external-runtime.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,179 @@
1
+ /**
2
+ * Sub-agent runs for agents on any runtime (#1317, slice 2b fallback).
3
+ *
4
+ * The crewly-agent runtime has `spawn_subagent` built in: a parent runner
5
+ * starts a child runner in the same worker with restricted tools. A Claude
6
+ * Code, Codex or Gemini agent runs in a terminal and has no such tool, so
7
+ * this service gives it the same thing over HTTP: `POST /api/subagents`
8
+ * (wrapped by the `spawn-subagent` skill) starts one crewly-agent worker
9
+ * with the sub-agent policy, sends it the task, waits for the one reply and
10
+ * shuts the worker down. The parent gets the same outcome shape the
11
+ * in-process tool returns, so "no tool calls = did nothing" reads the same.
12
+ *
13
+ * Rules, same as the in-process tool:
14
+ * - a child cannot spawn (a `…/sub-N` caller is refused), so depth stays 1;
15
+ * - at most `SUBAGENT.MAX_CONCURRENT` children per parent at once;
16
+ * - a task longer than `SUBAGENT.TASK_MAX_CHARS` is refused — the parent is
17
+ * pasting context it should summarise;
18
+ * - steps default to `SUBAGENT.MAX_STEPS`, capped at `MAX_STEPS_CAP`;
19
+ * - the worker is always shut down, on success, failure or timeout.
20
+ *
21
+ * The child's token usage is booked under its own session name
22
+ * (`<parent>/sub-<n>`): the parent runs in a terminal and has no ledger
23
+ * row to fold it into.
24
+ *
25
+ * @module services/agent/crewly-agent/subagent-run.service
26
+ */
27
+ import { InProcessLogBuffer } from './in-process-log-buffer.js';
28
+ import { type AgentRunResult, type CrewlyAgentConfig, type ModelConfig } from './types.js';
29
+ /** What the caller asks for */
30
+ export interface SubagentRunInput {
31
+ /** The one bounded task, in the parent's words */
32
+ task: string;
33
+ /** Absolute directory the child works in; it may write only under it */
34
+ cwd: string;
35
+ /** No shell and no file writes when true */
36
+ readOnly?: boolean;
37
+ /** Model steps granted; default `SUBAGENT.MAX_STEPS`, capped at `MAX_STEPS_CAP` */
38
+ maxSteps?: number;
39
+ /** `provider/modelId`; default the fallback settings' crewly-agent model */
40
+ model?: string;
41
+ }
42
+ /** Why a child stopped */
43
+ export type SubagentStopReason = 'done' | 'did_nothing' | 'steps_exhausted' | 'incomplete' | 'timeout' | 'error';
44
+ /** What the parent gets back — the same shape as the in-process tool's result */
45
+ export interface SubagentRunOutcome {
46
+ /** True only when the child did work and stopped on its own */
47
+ success: boolean;
48
+ stoppedReason: SubagentStopReason;
49
+ /** The child's report (or final text), capped at `SUMMARY_MAX_CHARS` */
50
+ summary: string;
51
+ /** Tool calls the child made, not counting its report */
52
+ toolCalls: number;
53
+ /** Distinct tools it used */
54
+ toolNames: string[];
55
+ /** Files it wrote or edited (successful writes plus what it reported) */
56
+ filesChanged: string[];
57
+ usage: {
58
+ input: number;
59
+ output: number;
60
+ cachedInput: number;
61
+ };
62
+ steps: number;
63
+ /** `<parent>/sub-<n>` — also the session its tokens are booked under */
64
+ sessionName: string;
65
+ durationMs: number;
66
+ model: string;
67
+ error?: string;
68
+ }
69
+ /** Codes a refusal carries, so the skill can say which rule it hit */
70
+ export type SubagentRefusalCode = 'parent_required' | 'nested' | 'task_missing' | 'task_too_long' | 'cwd_invalid' | 'model_invalid' | 'too_many';
71
+ /** A run that was not started; `code` says which rule refused it */
72
+ export declare class SubagentRunRefused extends Error {
73
+ readonly code: SubagentRefusalCode;
74
+ constructor(code: SubagentRefusalCode, message: string);
75
+ }
76
+ /** The part of the runtime this service drives (narrow so tests can fake it) */
77
+ export interface SubagentRuntime {
78
+ initializeInProcess(sessionName: string, config: Partial<CrewlyAgentConfig>, roleName?: string): Promise<void>;
79
+ handleMessage(message: string): Promise<AgentRunResult>;
80
+ shutdown(): void;
81
+ }
82
+ /** Wiring the service takes, all optional outside tests */
83
+ export interface SubagentRunServiceDeps {
84
+ /** Builds the worker runtime; defaults to a fresh crewly-agent runtime rooted at `cwd` */
85
+ createRuntime?: (cwd: string) => SubagentRuntime;
86
+ /** Where the child's tokens and the parent's spawn lines are logged */
87
+ logBuffer?: Pick<InProcessLogBuffer, 'append'>;
88
+ /** Wall-clock budget per child; default `SUBAGENT.TIMEOUT_MS` bounded by the IPC deadline */
89
+ timeoutMs?: number;
90
+ /** The model when the caller names none */
91
+ defaultModel?: () => ModelConfig;
92
+ /** Clock, for tests */
93
+ now?: () => number;
94
+ /** Directory check, for tests */
95
+ isDirectory?: (path: string) => boolean;
96
+ }
97
+ /**
98
+ * The prompt a child runs under — the same words as the worker's own
99
+ * `buildSubagentPrompt`, kept in step by hand.
100
+ *
101
+ * @param parentSession - The agent that spawned it
102
+ * @param cwd - Where it works
103
+ * @param readOnly - Whether it may change files
104
+ * @returns The system prompt
105
+ */
106
+ export declare function buildSubagentPrompt(parentSession: string, cwd: string, readOnly: boolean): string;
107
+ /**
108
+ * Parse `provider/modelId`, refusing anything else: the default is decided
109
+ * by the service, so an unparseable id must not silently become it.
110
+ *
111
+ * @param spec - The `model` field
112
+ * @returns The model, or why it was refused
113
+ */
114
+ export declare function parseRequestedModel(spec: string): {
115
+ model: ModelConfig;
116
+ } | {
117
+ error: string;
118
+ };
119
+ /**
120
+ * The model a child runs when the parent names none: the fallback
121
+ * settings' crewly-agent model (DeepSeek unless the owner changed it),
122
+ * since that is the model the owner has a key for; else the runtime default.
123
+ *
124
+ * @returns The model
125
+ */
126
+ export declare function defaultSubagentModel(): ModelConfig;
127
+ /**
128
+ * Turn the child's one run into the outcome the parent reads.
129
+ *
130
+ * @param result - The worker's run result
131
+ * @param sessionName - The child's session
132
+ * @param model - `provider/modelId` it ran on
133
+ * @param durationMs - Wall-clock time
134
+ * @param timedOut - Whether the budget ended the run
135
+ * @returns The outcome
136
+ */
137
+ export declare function summarizeSubagentRun(result: AgentRunResult, sessionName: string, model: string, durationMs: number, timedOut: boolean): SubagentRunOutcome;
138
+ /**
139
+ * Runs one bounded helper per call for an agent on any runtime.
140
+ */
141
+ export declare class SubagentRunService {
142
+ private readonly logger;
143
+ private readonly logBuffer;
144
+ private readonly createRuntime;
145
+ private readonly timeoutMs;
146
+ private readonly defaultModel;
147
+ private readonly now;
148
+ private readonly isDirectory;
149
+ /** Children running per parent */
150
+ private readonly active;
151
+ /** Children ever started per parent, for `sub-<n>` */
152
+ private readonly ordinals;
153
+ constructor(deps?: SubagentRunServiceDeps);
154
+ /** Children a parent has running now */
155
+ activeCount(parentSession: string): number;
156
+ /**
157
+ * Start one child for `parentSession`, wait for its one reply, shut it down.
158
+ *
159
+ * @param parentSession - The calling agent's session name
160
+ * @param input - The task and its bounds
161
+ * @returns The outcome; a run that could not even start resolves with
162
+ * `stoppedReason: 'error'`
163
+ * @throws SubagentRunRefused when a rule refuses the request before a worker starts
164
+ */
165
+ run(parentSession: string | undefined, input: SubagentRunInput): Promise<SubagentRunOutcome>;
166
+ }
167
+ /**
168
+ * The shared service.
169
+ *
170
+ * @returns The instance
171
+ */
172
+ export declare function getSubagentRunService(): SubagentRunService;
173
+ /**
174
+ * Replace the shared instance (tests).
175
+ *
176
+ * @param service - The instance to use, or null to reset
177
+ */
178
+ export declare function setSubagentRunServiceForTesting(service: SubagentRunService | null): void;
179
+ //# sourceMappingURL=subagent-run.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subagent-run.service.d.ts","sourceRoot":"","sources":["../../../../../../../backend/src/services/agent/crewly-agent/subagent-run.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,345 @@
1
+ /**
2
+ * Sub-agent runs for agents on any runtime (#1317, slice 2b fallback).
3
+ *
4
+ * The crewly-agent runtime has `spawn_subagent` built in: a parent runner
5
+ * starts a child runner in the same worker with restricted tools. A Claude
6
+ * Code, Codex or Gemini agent runs in a terminal and has no such tool, so
7
+ * this service gives it the same thing over HTTP: `POST /api/subagents`
8
+ * (wrapped by the `spawn-subagent` skill) starts one crewly-agent worker
9
+ * with the sub-agent policy, sends it the task, waits for the one reply and
10
+ * shuts the worker down. The parent gets the same outcome shape the
11
+ * in-process tool returns, so "no tool calls = did nothing" reads the same.
12
+ *
13
+ * Rules, same as the in-process tool:
14
+ * - a child cannot spawn (a `…/sub-N` caller is refused), so depth stays 1;
15
+ * - at most `SUBAGENT.MAX_CONCURRENT` children per parent at once;
16
+ * - a task longer than `SUBAGENT.TASK_MAX_CHARS` is refused — the parent is
17
+ * pasting context it should summarise;
18
+ * - steps default to `SUBAGENT.MAX_STEPS`, capped at `MAX_STEPS_CAP`;
19
+ * - the worker is always shut down, on success, failure or timeout.
20
+ *
21
+ * The child's token usage is booked under its own session name
22
+ * (`<parent>/sub-<n>`): the parent runs in a terminal and has no ledger
23
+ * row to fold it into.
24
+ *
25
+ * @module services/agent/crewly-agent/subagent-run.service
26
+ */
27
+ import { statSync } from 'fs';
28
+ import { isAbsolute } from 'path';
29
+ import { RUNTIME_TYPES } from '../../../constants.js';
30
+ import { LoggerService } from '../../core/logger.service.js';
31
+ import { getLocalApiBaseUrl } from '../../../utils/local-api-url.utils.js';
32
+ import { getRuntimeFallbackService } from '../../runtime-fallback/runtime-fallback.service.js';
33
+ import { RuntimeServiceFactory } from '../runtime-service.factory.js';
34
+ import { InProcessLogBuffer } from './in-process-log-buffer.js';
35
+ import { registerInProcessRuntime, unregisterInProcessRuntime } from './in-process-runtime-registry.js';
36
+ import { CREWLY_AGENT_DEFAULTS, isModelProvider, } from './types.js';
37
+ /** Name of the one tool a child reports through (same as the worker's) */
38
+ const REPORT_TOOL_NAME = 'report_to_parent';
39
+ /** Session name of a child: `<parent>/sub-<n>` */
40
+ const CHILD_SESSION_RE = /\/sub-\d+$/;
41
+ /** A run that was not started; `code` says which rule refused it */
42
+ export class SubagentRunRefused extends Error {
43
+ code;
44
+ constructor(code, message) {
45
+ super(message);
46
+ this.code = code;
47
+ this.name = 'SubagentRunRefused';
48
+ }
49
+ }
50
+ /**
51
+ * The prompt a child runs under — the same words as the worker's own
52
+ * `buildSubagentPrompt`, kept in step by hand.
53
+ *
54
+ * @param parentSession - The agent that spawned it
55
+ * @param cwd - Where it works
56
+ * @param readOnly - Whether it may change files
57
+ * @returns The system prompt
58
+ */
59
+ export function buildSubagentPrompt(parentSession, cwd, readOnly) {
60
+ return [
61
+ `You are a short-lived helper spawned by the agent "${parentSession}" for one bounded task.`,
62
+ `Working directory: ${cwd}. ${readOnly ? 'You have read-only tools: look, do not change anything.' : `You may change files only under ${cwd}.`}`,
63
+ 'You cannot message anyone, delegate, schedule, or touch tickets; nobody but your parent will read you.',
64
+ `Do the task with your tools, then call ${REPORT_TOOL_NAME} once with what you found or changed, the files you touched, and anything you could not do.`,
65
+ 'Report facts you verified, with paths and line numbers; if you did nothing, say so instead of inventing a result.',
66
+ ].join('\n');
67
+ }
68
+ /**
69
+ * Parse `provider/modelId`, refusing anything else: the default is decided
70
+ * by the service, so an unparseable id must not silently become it.
71
+ *
72
+ * @param spec - The `model` field
73
+ * @returns The model, or why it was refused
74
+ */
75
+ export function parseRequestedModel(spec) {
76
+ const trimmed = spec.trim();
77
+ const slash = trimmed.indexOf('/');
78
+ if (slash <= 0 || slash === trimmed.length - 1) {
79
+ return { error: `model must look like provider/modelId, got "${trimmed}"` };
80
+ }
81
+ const provider = trimmed.slice(0, slash);
82
+ const modelId = trimmed.slice(slash + 1);
83
+ if (!isModelProvider(provider)) {
84
+ return { error: `unknown model provider "${provider}"` };
85
+ }
86
+ return {
87
+ model: {
88
+ provider,
89
+ modelId,
90
+ temperature: CREWLY_AGENT_DEFAULTS.DEFAULT_MODEL.temperature,
91
+ maxTokens: CREWLY_AGENT_DEFAULTS.DEFAULT_MODEL.maxTokens,
92
+ },
93
+ };
94
+ }
95
+ /**
96
+ * The model a child runs when the parent names none: the fallback
97
+ * settings' crewly-agent model (DeepSeek unless the owner changed it),
98
+ * since that is the model the owner has a key for; else the runtime default.
99
+ *
100
+ * @returns The model
101
+ */
102
+ export function defaultSubagentModel() {
103
+ const spec = getRuntimeFallbackService()?.getSettings().crewlyAgentModel;
104
+ if (spec) {
105
+ const parsed = parseRequestedModel(spec);
106
+ if ('model' in parsed)
107
+ return parsed.model;
108
+ }
109
+ return CREWLY_AGENT_DEFAULTS.DEFAULT_MODEL;
110
+ }
111
+ /**
112
+ * Turn the child's one run into the outcome the parent reads.
113
+ *
114
+ * @param result - The worker's run result
115
+ * @param sessionName - The child's session
116
+ * @param model - `provider/modelId` it ran on
117
+ * @param durationMs - Wall-clock time
118
+ * @param timedOut - Whether the budget ended the run
119
+ * @returns The outcome
120
+ */
121
+ export function summarizeSubagentRun(result, sessionName, model, durationMs, timedOut) {
122
+ const report = result.toolCalls.find((tc) => tc.toolName === REPORT_TOOL_NAME);
123
+ const work = result.toolCalls.filter((tc) => tc.toolName !== REPORT_TOOL_NAME);
124
+ const changed = new Set();
125
+ for (const tc of work) {
126
+ if (tc.toolName !== 'edit_file' && tc.toolName !== 'write_file')
127
+ continue;
128
+ const ok = tc.result == null || typeof tc.result !== 'object' || tc.result['success'] !== false;
129
+ const fp = tc.args['file_path'];
130
+ if (ok && typeof fp === 'string' && fp)
131
+ changed.add(fp);
132
+ }
133
+ const reported = report?.args['filesChanged'];
134
+ if (Array.isArray(reported)) {
135
+ for (const fp of reported)
136
+ if (typeof fp === 'string' && fp)
137
+ changed.add(fp);
138
+ }
139
+ let stoppedReason = 'done';
140
+ if (timedOut)
141
+ stoppedReason = 'timeout';
142
+ else if (work.length === 0)
143
+ stoppedReason = 'did_nothing';
144
+ else if (result.incomplete?.reason === 'steps-exhausted')
145
+ stoppedReason = 'steps_exhausted';
146
+ else if (result.incomplete)
147
+ stoppedReason = 'incomplete';
148
+ const reportedSummary = report?.args['summary'];
149
+ const raw = (typeof reportedSummary === 'string' && reportedSummary.trim() ? reportedSummary : result.text ?? '').trim();
150
+ const cap = CREWLY_AGENT_DEFAULTS.SUBAGENT.SUMMARY_MAX_CHARS;
151
+ const summary = raw.length > cap ? `${raw.slice(0, cap)}\n…[truncated]` : raw;
152
+ return {
153
+ success: stoppedReason === 'done',
154
+ stoppedReason,
155
+ summary,
156
+ toolCalls: work.length,
157
+ toolNames: [...new Set(work.map((tc) => tc.toolName))],
158
+ filesChanged: [...changed],
159
+ usage: result.usage,
160
+ steps: result.steps,
161
+ sessionName,
162
+ durationMs,
163
+ model,
164
+ ...(timedOut ? { error: `sub-agent exceeded ${CREWLY_AGENT_DEFAULTS.SUBAGENT.TIMEOUT_MS} ms` } : {}),
165
+ };
166
+ }
167
+ /**
168
+ * Runs one bounded helper per call for an agent on any runtime.
169
+ */
170
+ export class SubagentRunService {
171
+ logger = LoggerService.getInstance().createComponentLogger('SubagentRunService');
172
+ logBuffer;
173
+ createRuntime;
174
+ timeoutMs;
175
+ defaultModel;
176
+ now;
177
+ isDirectory;
178
+ /** Children running per parent */
179
+ active = new Map();
180
+ /** Children ever started per parent, for `sub-<n>` */
181
+ ordinals = new Map();
182
+ constructor(deps = {}) {
183
+ this.logBuffer = deps.logBuffer ?? InProcessLogBuffer.getInstance();
184
+ this.createRuntime = deps.createRuntime ?? ((cwd) => RuntimeServiceFactory.createFresh(RUNTIME_TYPES.CREWLY_AGENT, undefined, cwd));
185
+ this.timeoutMs = deps.timeoutMs;
186
+ this.defaultModel = deps.defaultModel ?? defaultSubagentModel;
187
+ this.now = deps.now ?? Date.now;
188
+ this.isDirectory = deps.isDirectory ?? ((p) => {
189
+ try {
190
+ return statSync(p).isDirectory();
191
+ }
192
+ catch {
193
+ return false;
194
+ }
195
+ });
196
+ }
197
+ /** Children a parent has running now */
198
+ activeCount(parentSession) {
199
+ return this.active.get(parentSession) ?? 0;
200
+ }
201
+ /**
202
+ * Start one child for `parentSession`, wait for its one reply, shut it down.
203
+ *
204
+ * @param parentSession - The calling agent's session name
205
+ * @param input - The task and its bounds
206
+ * @returns The outcome; a run that could not even start resolves with
207
+ * `stoppedReason: 'error'`
208
+ * @throws SubagentRunRefused when a rule refuses the request before a worker starts
209
+ */
210
+ async run(parentSession, input) {
211
+ const parent = (parentSession ?? '').trim();
212
+ if (!parent)
213
+ throw new SubagentRunRefused('parent_required', 'Only an agent session can spawn a sub-agent (X-Agent-Session missing).');
214
+ if (CHILD_SESSION_RE.test(parent))
215
+ throw new SubagentRunRefused('nested', 'A sub-agent cannot spawn sub-agents.');
216
+ const task = typeof input.task === 'string' ? input.task.trim() : '';
217
+ if (!task)
218
+ throw new SubagentRunRefused('task_missing', 'task is required.');
219
+ if (task.length > CREWLY_AGENT_DEFAULTS.SUBAGENT.TASK_MAX_CHARS) {
220
+ throw new SubagentRunRefused('task_too_long', `task is ${task.length} chars; the limit is ${CREWLY_AGENT_DEFAULTS.SUBAGENT.TASK_MAX_CHARS}. Summarise the context instead of pasting it.`);
221
+ }
222
+ const cwd = typeof input.cwd === 'string' ? input.cwd.trim() : '';
223
+ if (!cwd || !isAbsolute(cwd) || !this.isDirectory(cwd)) {
224
+ throw new SubagentRunRefused('cwd_invalid', `cwd must be an existing absolute directory, got "${cwd}".`);
225
+ }
226
+ let model;
227
+ if (typeof input.model === 'string' && input.model.trim()) {
228
+ const parsed = parseRequestedModel(input.model);
229
+ if ('error' in parsed)
230
+ throw new SubagentRunRefused('model_invalid', parsed.error);
231
+ model = parsed.model;
232
+ }
233
+ else {
234
+ model = this.defaultModel();
235
+ }
236
+ const limit = CREWLY_AGENT_DEFAULTS.SUBAGENT.MAX_CONCURRENT;
237
+ if (this.activeCount(parent) >= limit) {
238
+ throw new SubagentRunRefused('too_many', `${parent} already has ${limit} sub-agents running; wait for one to finish.`);
239
+ }
240
+ const readOnly = input.readOnly === true;
241
+ const requestedSteps = Number.isFinite(input.maxSteps) && input.maxSteps >= 1
242
+ ? Math.floor(input.maxSteps)
243
+ : CREWLY_AGENT_DEFAULTS.SUBAGENT.MAX_STEPS;
244
+ const maxSteps = Math.min(requestedSteps, CREWLY_AGENT_DEFAULTS.SUBAGENT.MAX_STEPS_CAP);
245
+ const ordinal = (this.ordinals.get(parent) ?? 0) + 1;
246
+ this.ordinals.set(parent, ordinal);
247
+ const childSession = `${parent}/sub-${ordinal}`;
248
+ const modelString = `${model.provider}/${model.modelId}`;
249
+ const config = {
250
+ model,
251
+ maxSteps,
252
+ sessionName: childSession,
253
+ role: 'subagent',
254
+ apiBaseUrl: getLocalApiBaseUrl(),
255
+ systemPrompt: buildSubagentPrompt(parent, cwd, readOnly),
256
+ maxHistoryMessages: CREWLY_AGENT_DEFAULTS.MAX_HISTORY_MESSAGES,
257
+ compactionThreshold: CREWLY_AGENT_DEFAULTS.COMPACTION_THRESHOLD,
258
+ projectPath: cwd,
259
+ subagent: { cwd, readOnly, depth: 1, parentSession: parent },
260
+ };
261
+ // Stop before the runtime's own IPC deadline: that path recycles the
262
+ // worker (respawns it), which would leave a fresh child alive after
263
+ // this run shut the old one down.
264
+ const ipcDeadline = (CREWLY_AGENT_DEFAULTS.MODEL_TIMEOUT_MS[model.modelId] ?? CREWLY_AGENT_DEFAULTS.MESSAGE_TIMEOUT_MS)
265
+ + CREWLY_AGENT_DEFAULTS.IPC_RUN_TIMEOUT_GRACE_MS;
266
+ const timeoutMs = this.timeoutMs ?? Math.max(1_000, Math.min(CREWLY_AGENT_DEFAULTS.SUBAGENT.TIMEOUT_MS, ipcDeadline - 5_000));
267
+ this.active.set(parent, this.activeCount(parent) + 1);
268
+ const started = this.now();
269
+ const preview = task.length > 120 ? `${task.slice(0, 120)}…` : task;
270
+ this.logBuffer.append(parent, 'info', `spawn-subagent → ${childSession} (${modelString}, ${maxSteps} steps${readOnly ? ', read-only' : ''}): ${preview}`);
271
+ this.logger.info('Sub-agent starting', { parent, childSession, model: modelString, maxSteps, readOnly, cwd });
272
+ let runtime = null;
273
+ let timer = null;
274
+ let timedOut = false;
275
+ let outcome;
276
+ try {
277
+ const worker = this.createRuntime(cwd);
278
+ runtime = worker;
279
+ registerInProcessRuntime(childSession, worker);
280
+ await worker.initializeInProcess(childSession, config, 'subagent');
281
+ const result = await new Promise((resolve, reject) => {
282
+ timer = setTimeout(() => {
283
+ timedOut = true;
284
+ reject(new Error(`sub-agent exceeded ${timeoutMs} ms`));
285
+ }, timeoutMs);
286
+ worker.handleMessage(task).then(resolve, reject);
287
+ });
288
+ outcome = summarizeSubagentRun(result, childSession, modelString, this.now() - started, false);
289
+ }
290
+ catch (error) {
291
+ const message = error instanceof Error ? error.message : String(error);
292
+ outcome = {
293
+ success: false,
294
+ stoppedReason: timedOut ? 'timeout' : 'error',
295
+ summary: '',
296
+ toolCalls: 0,
297
+ toolNames: [],
298
+ filesChanged: [],
299
+ usage: { input: 0, output: 0, cachedInput: 0 },
300
+ steps: 0,
301
+ sessionName: childSession,
302
+ durationMs: this.now() - started,
303
+ model: modelString,
304
+ error: message,
305
+ };
306
+ }
307
+ finally {
308
+ if (timer)
309
+ clearTimeout(timer);
310
+ this.active.set(parent, Math.max(0, this.activeCount(parent) - 1));
311
+ if (runtime) {
312
+ try {
313
+ runtime.shutdown();
314
+ }
315
+ catch { /* the worker is gone either way */ }
316
+ }
317
+ unregisterInProcessRuntime(childSession);
318
+ }
319
+ const tail = outcome.error ? `: ${outcome.error}` : '';
320
+ this.logBuffer.append(parent, outcome.success ? 'info' : 'warn', `spawn-subagent ← ${childSession} ${outcome.stoppedReason} (${outcome.toolCalls} tool calls, ${outcome.filesChanged.length} files, ${Math.round(outcome.durationMs / 1000)} s)${tail}`);
321
+ this.logger.info('Sub-agent finished', { parent, childSession, stoppedReason: outcome.stoppedReason, toolCalls: outcome.toolCalls, durationMs: outcome.durationMs });
322
+ return outcome;
323
+ }
324
+ }
325
+ /** Process-wide instance, created on first use */
326
+ let instance = null;
327
+ /**
328
+ * The shared service.
329
+ *
330
+ * @returns The instance
331
+ */
332
+ export function getSubagentRunService() {
333
+ if (!instance)
334
+ instance = new SubagentRunService();
335
+ return instance;
336
+ }
337
+ /**
338
+ * Replace the shared instance (tests).
339
+ *
340
+ * @param service - The instance to use, or null to reset
341
+ */
342
+ export function setSubagentRunServiceForTesting(service) {
343
+ instance = service;
344
+ }
345
+ //# sourceMappingURL=subagent-run.service.js.map