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.
- package/config/skills/agent/spawn-subagent/SKILL.md +105 -0
- package/config/skills/agent/spawn-subagent/execute.sh +114 -0
- package/config/skills/agent/spawn-subagent/execute.test.sh +113 -0
- package/dist/backend/backend/src/controllers/subagents/subagents.controller.d.ts +27 -0
- package/dist/backend/backend/src/controllers/subagents/subagents.controller.d.ts.map +1 -0
- package/dist/backend/backend/src/controllers/subagents/subagents.controller.js +61 -0
- package/dist/backend/backend/src/controllers/subagents/subagents.controller.js.map +1 -0
- package/dist/backend/backend/src/controllers/subagents/subagents.routes.d.ts +15 -0
- package/dist/backend/backend/src/controllers/subagents/subagents.routes.d.ts.map +1 -0
- package/dist/backend/backend/src/controllers/subagents/subagents.routes.js +21 -0
- package/dist/backend/backend/src/controllers/subagents/subagents.routes.js.map +1 -0
- package/dist/backend/backend/src/routes/api.routes.d.ts.map +1 -1
- package/dist/backend/backend/src/routes/api.routes.js +3 -0
- package/dist/backend/backend/src/routes/api.routes.js.map +1 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/crewly-agent-external-runtime.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/crewly-agent-external-runtime.service.js +8 -2
- package/dist/backend/backend/src/services/agent/crewly-agent/crewly-agent-external-runtime.service.js.map +1 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/subagent-run.service.d.ts +179 -0
- package/dist/backend/backend/src/services/agent/crewly-agent/subagent-run.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/agent/crewly-agent/subagent-run.service.js +345 -0
- package/dist/backend/backend/src/services/agent/crewly-agent/subagent-run.service.js.map +1 -0
- package/dist/backend/backend/src/services/agent/crewly-agent/types.d.ts +33 -0
- package/dist/backend/backend/src/services/agent/crewly-agent/types.d.ts.map +1 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/types.js +15 -0
- package/dist/backend/backend/src/services/agent/crewly-agent/types.js.map +1 -1
- package/dist/backend/build-info.json +2 -2
- package/dist/cli/backend/src/services/agent/crewly-agent/crewly-agent-external-runtime.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/agent/crewly-agent/crewly-agent-external-runtime.service.js +8 -2
- package/dist/cli/backend/src/services/agent/crewly-agent/crewly-agent-external-runtime.service.js.map +1 -1
- package/dist/cli/backend/src/services/agent/crewly-agent/types.d.ts +33 -0
- package/dist/cli/backend/src/services/agent/crewly-agent/types.d.ts.map +1 -1
- package/dist/cli/backend/src/services/agent/crewly-agent/types.js +15 -0
- package/dist/cli/backend/src/services/agent/crewly-agent/types.js.map +1 -1
- 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":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AASH,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAEhE,OAAO,EAGL,KAAK,cAAc,EACnB,KAAK,iBAAiB,EACtB,KAAK,WAAW,EACjB,MAAM,YAAY,CAAC;AASpB,+BAA+B;AAC/B,MAAM,WAAW,gBAAgB;IAC/B,kDAAkD;IAClD,IAAI,EAAE,MAAM,CAAC;IACb,wEAAwE;IACxE,GAAG,EAAE,MAAM,CAAC;IACZ,4CAA4C;IAC5C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,mFAAmF;IACnF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,4EAA4E;IAC5E,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,0BAA0B;AAC1B,MAAM,MAAM,kBAAkB,GAAG,MAAM,GAAG,aAAa,GAAG,iBAAiB,GAAG,YAAY,GAAG,SAAS,GAAG,OAAO,CAAC;AAEjH,iFAAiF;AACjF,MAAM,WAAW,kBAAkB;IACjC,+DAA+D;IAC/D,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,EAAE,kBAAkB,CAAC;IAClC,wEAAwE;IACxE,OAAO,EAAE,MAAM,CAAC;IAChB,yDAAyD;IACzD,SAAS,EAAE,MAAM,CAAC;IAClB,6BAA6B;IAC7B,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,yEAAyE;IACzE,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9D,KAAK,EAAE,MAAM,CAAC;IACd,wEAAwE;IACxE,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,sEAAsE;AACtE,MAAM,MAAM,mBAAmB,GAC3B,iBAAiB,GACjB,QAAQ,GACR,cAAc,GACd,eAAe,GACf,aAAa,GACb,eAAe,GACf,UAAU,CAAC;AAEf,oEAAoE;AACpE,qBAAa,kBAAmB,SAAQ,KAAK;IAC/B,QAAQ,CAAC,IAAI,EAAE,mBAAmB;gBAAzB,IAAI,EAAE,mBAAmB,EAAE,OAAO,EAAE,MAAM;CAIhE;AAED,gFAAgF;AAChF,MAAM,WAAW,eAAe;IAC9B,mBAAmB,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,iBAAiB,CAAC,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/G,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;IACxD,QAAQ,IAAI,IAAI,CAAC;CAClB;AAED,2DAA2D;AAC3D,MAAM,WAAW,sBAAsB;IACrC,0FAA0F;IAC1F,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,eAAe,CAAC;IACjD,uEAAuE;IACvE,SAAS,CAAC,EAAE,IAAI,CAAC,kBAAkB,EAAE,QAAQ,CAAC,CAAC;IAC/C,6FAA6F;IAC7F,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2CAA2C;IAC3C,YAAY,CAAC,EAAE,MAAM,WAAW,CAAC;IACjC,uBAAuB;IACvB,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IACnB,iCAAiC;IACjC,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;CACzC;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAAC,aAAa,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,GAAG,MAAM,CAQjG;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG;IAAE,KAAK,EAAE,WAAW,CAAA;CAAE,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAmB5F;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,IAAI,WAAW,CAOlD;AAED;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,cAAc,EACtB,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,OAAO,GAChB,kBAAkB,CAuCpB;AAED;;GAEG;AACH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA2E;IAClG,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAqC;IAC/D,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAmC;IACjE,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAqB;IAC/C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAoB;IACjD,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAe;IACnC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA4B;IACxD,kCAAkC;IAClC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA6B;IACpD,sDAAsD;IACtD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA6B;gBAE1C,IAAI,GAAE,sBAA2B;IAY7C,wCAAwC;IACxC,WAAW,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM;IAI1C;;;;;;;;OAQG;IACG,GAAG,CAAC,aAAa,EAAE,MAAM,GAAG,SAAS,EAAE,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,kBAAkB,CAAC;CAoHnG;AAKD;;;;GAIG;AACH,wBAAgB,qBAAqB,IAAI,kBAAkB,CAG1D;AAED;;;;GAIG;AACH,wBAAgB,+BAA+B,CAAC,OAAO,EAAE,kBAAkB,GAAG,IAAI,GAAG,IAAI,CAExF"}
|
|
@@ -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
|