crewly 1.20.436 → 1.20.438

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.
@@ -1 +1 @@
1
- {"version":3,"file":"role-boundary.module.d.ts","sourceRoot":"","sources":["../../../../../../../backend/src/services/ai/prompt-modules/role-boundary.module.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,YAAY,EAAoB,MAAM,8BAA8B,CAAC;AAgB5F;;;;;;;;;;;;GAYG;AACH,qBAAa,kBAAmB,YAAW,YAAY;IACtD,IAAI,SAAmB;IACvB,QAAQ,SAAK;IACb,SAAS,SAAQ;IACjB,WAAW,UAAS;IAEpB;;;;;OAKG;IACH,aAAa,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO;IAI7C;;;;;;;;;OASG;IACG,KAAK,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC;IA4ElD;;;OAGG;IACH,OAAO,CAAC,wBAAwB;IA2ChC;;;;;;;;OAQG;IACH,OAAO,CAAC,0BAA0B;IAoBlC;;;;;;;OAOG;IACH,OAAO,CAAC,4BAA4B;IAUpC;;;;;;;OAOG;IACH,OAAO,CAAC,yBAAyB;IA8CjC;;;;;;;OAOG;IACH,OAAO,CAAC,qBAAqB;IA2D7B;;;;;;;;OAQG;IACH,OAAO,CAAC,qBAAqB;CA8E7B"}
1
+ {"version":3,"file":"role-boundary.module.d.ts","sourceRoot":"","sources":["../../../../../../../backend/src/services/ai/prompt-modules/role-boundary.module.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,YAAY,EAAoB,MAAM,8BAA8B,CAAC;AAgB5F;;;;;;;;;;;;GAYG;AACH,qBAAa,kBAAmB,YAAW,YAAY;IACtD,IAAI,SAAmB;IACvB,QAAQ,SAAK;IACb,SAAS,SAAQ;IACjB,WAAW,UAAS;IAEpB;;;;;OAKG;IACH,aAAa,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO;IAI7C;;;;;;;;;OASG;IACG,KAAK,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC;IA4ElD;;;OAGG;IACH,OAAO,CAAC,wBAAwB;IA2ChC;;;;;;;;OAQG;IACH,OAAO,CAAC,0BAA0B;IAoBlC;;;;;;;OAOG;IACH,OAAO,CAAC,4BAA4B;IAUpC;;;;;;;OAOG;IACH,OAAO,CAAC,yBAAyB;IA8CjC;;;;;;;OAOG;IACH,OAAO,CAAC,qBAAqB;IAgE7B;;;;;;;;OAQG;IACH,OAAO,CAAC,qBAAqB;CA8E7B"}
@@ -304,6 +304,11 @@ export class RoleBoundaryModule {
304
304
  '- Can be independently blocked',
305
305
  '- Worth tracking for metrics/audit',
306
306
  '',
307
+ '**Hand to a short-lived sub-agent** (Claude Code\'s `Agent` tool; `spawn_subagent` on the in-process runtime) if:',
308
+ '- Bounded and self-contained: parallel research, a large read you want out of your own context, a scoped fix',
309
+ '- Nobody needs to own it, review it, or hear about it — anything that does goes to a teammate',
310
+ '- Treat its result as evidence, not a claim: a sub-agent that made no tool calls did nothing',
311
+ '',
307
312
  '### Try-Before-Refuse Protocol',
308
313
  'Before refusing any task:',
309
314
  '1. Check subordinate availability via get-team-status',
@@ -1 +1 @@
1
- {"version":3,"file":"role-boundary.module.js","sourceRoot":"","sources":["../../../../../../../backend/src/services/ai/prompt-modules/role-boundary.module.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"role-boundary.module.js","sourceRoot":"","sources":["../../../../../../../backend/src/services/ai/prompt-modules/role-boundary.module.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
1
  {
2
- "commit": "eba65f5222082df4731cd741161afb6d8590b84a",
3
- "builtAt": "2026-10-26T10:15:11.100Z"
2
+ "commit": "891ac76fa3d1da169a0c50cd6d80f911ff86ed23",
3
+ "builtAt": "2026-10-26T11:07:09.153Z"
4
4
  }
@@ -1 +1 @@
1
- {"version":3,"file":"role-boundary.module.d.ts","sourceRoot":"","sources":["../../../../../../../backend/src/services/ai/prompt-modules/role-boundary.module.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,YAAY,EAAoB,MAAM,8BAA8B,CAAC;AAgB5F;;;;;;;;;;;;GAYG;AACH,qBAAa,kBAAmB,YAAW,YAAY;IACtD,IAAI,SAAmB;IACvB,QAAQ,SAAK;IACb,SAAS,SAAQ;IACjB,WAAW,UAAS;IAEpB;;;;;OAKG;IACH,aAAa,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO;IAI7C;;;;;;;;;OASG;IACG,KAAK,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC;IA4ElD;;;OAGG;IACH,OAAO,CAAC,wBAAwB;IA2ChC;;;;;;;;OAQG;IACH,OAAO,CAAC,0BAA0B;IAoBlC;;;;;;;OAOG;IACH,OAAO,CAAC,4BAA4B;IAUpC;;;;;;;OAOG;IACH,OAAO,CAAC,yBAAyB;IA8CjC;;;;;;;OAOG;IACH,OAAO,CAAC,qBAAqB;IA2D7B;;;;;;;;OAQG;IACH,OAAO,CAAC,qBAAqB;CA8E7B"}
1
+ {"version":3,"file":"role-boundary.module.d.ts","sourceRoot":"","sources":["../../../../../../../backend/src/services/ai/prompt-modules/role-boundary.module.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,YAAY,EAAoB,MAAM,8BAA8B,CAAC;AAgB5F;;;;;;;;;;;;GAYG;AACH,qBAAa,kBAAmB,YAAW,YAAY;IACtD,IAAI,SAAmB;IACvB,QAAQ,SAAK;IACb,SAAS,SAAQ;IACjB,WAAW,UAAS;IAEpB;;;;;OAKG;IACH,aAAa,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO;IAI7C;;;;;;;;;OASG;IACG,KAAK,CAAC,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC;IA4ElD;;;OAGG;IACH,OAAO,CAAC,wBAAwB;IA2ChC;;;;;;;;OAQG;IACH,OAAO,CAAC,0BAA0B;IAoBlC;;;;;;;OAOG;IACH,OAAO,CAAC,4BAA4B;IAUpC;;;;;;;OAOG;IACH,OAAO,CAAC,yBAAyB;IA8CjC;;;;;;;OAOG;IACH,OAAO,CAAC,qBAAqB;IAgE7B;;;;;;;;OAQG;IACH,OAAO,CAAC,qBAAqB;CA8E7B"}
@@ -304,6 +304,11 @@ export class RoleBoundaryModule {
304
304
  '- Can be independently blocked',
305
305
  '- Worth tracking for metrics/audit',
306
306
  '',
307
+ '**Hand to a short-lived sub-agent** (Claude Code\'s `Agent` tool; `spawn_subagent` on the in-process runtime) if:',
308
+ '- Bounded and self-contained: parallel research, a large read you want out of your own context, a scoped fix',
309
+ '- Nobody needs to own it, review it, or hear about it — anything that does goes to a teammate',
310
+ '- Treat its result as evidence, not a claim: a sub-agent that made no tool calls did nothing',
311
+ '',
307
312
  '### Try-Before-Refuse Protocol',
308
313
  'Before refusing any task:',
309
314
  '1. Check subordinate availability via get-team-status',
@@ -1 +1 @@
1
- {"version":3,"file":"role-boundary.module.js","sourceRoot":"","sources":["../../../../../../../backend/src/services/ai/prompt-modules/role-boundary.module.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"role-boundary.module.js","sourceRoot":"","sources":["../../../../../../../backend/src/services/ai/prompt-modules/role-boundary.module.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "crewly",
3
- "version": "1.20.436",
3
+ "version": "1.20.438",
4
4
  "type": "module",
5
5
  "description": "Multi-agent orchestration platform for AI coding teams — coordinates Claude Code, Gemini CLI, and Codex agents with a real-time web dashboard",
6
6
  "workspaces": [
@@ -253,6 +253,65 @@ describe('AgentRunnerService', () => {
253
253
  });
254
254
  });
255
255
 
256
+ describe('sub-agents (#1317)', () => {
257
+ const okResult = {
258
+ text: 'done',
259
+ steps: [{ toolCalls: [], toolResults: [] }],
260
+ usage: { inputTokens: 10, outputTokens: 5 },
261
+ finishReason: 'stop',
262
+ };
263
+
264
+ it('gives a normal agent spawn_subagent on top of the full tool set', async () => {
265
+ await runner.initialize();
266
+ mockGenerateText.mockResolvedValueOnce(okResult);
267
+ await runner.run('hi');
268
+ const tools = mockGenerateText.mock.calls[0][0].tools as Record<string, unknown>;
269
+ expect(tools.spawn_subagent).toBeDefined();
270
+ expect(tools.report_to_parent).toBeUndefined();
271
+ expect(tools.send_message).toBeDefined();
272
+ expect(tools.read_file).toBeDefined();
273
+ });
274
+
275
+ it('gives a sub-agent only the confined file/search/shell tools plus report_to_parent', async () => {
276
+ const child = new AgentRunnerService(
277
+ {
278
+ ...baseConfig,
279
+ sessionName: 'test-session/sub-1',
280
+ projectPath: '/tmp/proj',
281
+ subagent: { cwd: '/tmp/proj', readOnly: false, depth: 1, parentSession: 'test-session' },
282
+ },
283
+ mockModelManager,
284
+ mockApiClient,
285
+ );
286
+ child._generateTextFn = mockGenerateText;
287
+ await child.initialize();
288
+ mockGenerateText.mockResolvedValueOnce(okResult);
289
+ await child.run('task');
290
+ const tools = mockGenerateText.mock.calls[0][0].tools as Record<string, unknown>;
291
+ expect(tools.report_to_parent).toBeDefined();
292
+ expect(tools.read_file).toBeDefined();
293
+ expect(tools.bash_exec).toBeDefined();
294
+ expect(tools.spawn_subagent).toBeUndefined();
295
+ expect(tools.send_message).toBeUndefined();
296
+ expect(tools.delegate_task).toBeUndefined();
297
+ expect(tools.remember).toBeUndefined();
298
+ expect(child.getSubagentReport()).toBeNull();
299
+ });
300
+
301
+ it('folds a child\'s tokens into the parent\'s next run result and totals, once', async () => {
302
+ await runner.initialize();
303
+ runner.recordChildUsage({ input: 1000, output: 200, cachedInput: 50 });
304
+ mockGenerateText.mockResolvedValueOnce(okResult);
305
+ const first = await runner.run('one');
306
+ expect(first.usage).toEqual({ input: 1010, output: 205, cachedInput: 50 });
307
+ expect(runner.getState().totalTokens).toEqual({ input: 1010, output: 205 });
308
+
309
+ mockGenerateText.mockResolvedValueOnce(okResult);
310
+ const second = await runner.run('two');
311
+ expect(second.usage).toEqual({ input: 10, output: 5, cachedInput: 0 });
312
+ });
313
+ });
314
+
256
315
  describe('serial queue', () => {
257
316
  beforeEach(async () => {
258
317
  await runner.initialize();
@@ -17,6 +17,14 @@ import { ApprovalQueueService, type PendingApproval } from './approval-queue.ser
17
17
  import { OutputFilterService } from './output-filter.service.js';
18
18
  import { parseTextToolCalls, coerceArgs, resolveToolName, type TextToolCall, type SchemaLike } from './text-tool-calls.js';
19
19
  import { unverifiedDesktopWork } from './desktop-task.tool.js';
20
+ import {
21
+ createSpawnSubagentTool,
22
+ createSubagentRegistry,
23
+ forwardChildToolCalls,
24
+ restrictToolsForSubagent,
25
+ type SubagentRegistry,
26
+ type SubagentReport,
27
+ } from './subagent.js';
20
28
  import type { ToolDefinition, McpClientLike } from './types.js';
21
29
  import {
22
30
  type CrewlyAgentConfig,
@@ -477,6 +485,12 @@ export class AgentRunnerService {
477
485
  private outputFilter: OutputFilterService = new OutputFilterService();
478
486
  /** @internal Override for testing — replaces the AI SDK generateText call */
479
487
  _generateTextFn: GenerateTextFn | null = null;
488
+ /** Children spawned by this runner (#1317): how many run now, how many ever */
489
+ private readonly subagentRegistry: SubagentRegistry = createSubagentRegistry();
490
+ /** What this runner reported when it is itself a sub-agent */
491
+ private subagentReport: SubagentReport | null = null;
492
+ /** Tokens spent by children since the last run result, folded into the next one */
493
+ private childUsage = { input: 0, output: 0, cachedInput: 0 };
480
494
 
481
495
  /**
482
496
  * Create a new AgentRunnerService.
@@ -1070,7 +1084,9 @@ export class AgentRunnerService {
1070
1084
  },
1071
1085
  };
1072
1086
  const mcpTools = Object.keys(this.mcpToolDefs).length > 0 ? this.mcpToolDefs : undefined;
1073
- const tools = createTools(this.apiClient, this.config.sessionName, this.config.projectPath, callbacks, this.currentConversationId, this.currentSlackContext, mcpTools);
1087
+ const tools = this.attachSubagentTools(
1088
+ createTools(this.apiClient, this.config.sessionName, this.config.projectPath, callbacks, this.currentConversationId, this.currentSlackContext, mcpTools),
1089
+ );
1074
1090
 
1075
1091
  // Create abort controller that merges external signal with internal control
1076
1092
  const runAbort = new AbortController();
@@ -1134,6 +1150,74 @@ export class AgentRunnerService {
1134
1150
  }
1135
1151
  }
1136
1152
 
1153
+ /**
1154
+ * Give a run its sub-agent tools (#1317).
1155
+ *
1156
+ * A sub-agent (config.subagent set) gets the restricted map — file, search
1157
+ * and shell tools confined to its cwd, plus `report_to_parent` — and
1158
+ * nothing that talks to people or spawns further helpers. Any other runner
1159
+ * gets the full map plus `spawn_subagent`, whose children are built from
1160
+ * this runner's config and counted in its registry and usage.
1161
+ *
1162
+ * @param tools - The full `createTools()` map
1163
+ * @returns The map this run should see
1164
+ */
1165
+ private attachSubagentTools(tools: Record<string, ToolDefinition>): Record<string, ToolDefinition> {
1166
+ if (this.config.subagent) {
1167
+ return restrictToolsForSubagent(tools, this.config.subagent, (report) => { this.subagentReport = report; });
1168
+ }
1169
+ return {
1170
+ ...tools,
1171
+ spawn_subagent: createSpawnSubagentTool({
1172
+ parentConfig: this.config,
1173
+ registry: this.subagentRegistry,
1174
+ createRunner: (config) => new AgentRunnerService(config, this.modelManager, this.apiClient),
1175
+ onUsage: (usage) => this.recordChildUsage(usage),
1176
+ // The child's tool calls reach the parent's session log as `sub-<n>:<tool>`.
1177
+ childStreaming: (sessionName) => forwardChildToolCalls(() => this.streamingCallbacks, sessionName),
1178
+ }),
1179
+ };
1180
+ }
1181
+
1182
+ /**
1183
+ * What this runner reported through `report_to_parent`, when it is a
1184
+ * sub-agent; null for a parent or a child that never reported.
1185
+ *
1186
+ * @returns The last report
1187
+ */
1188
+ getSubagentReport(): SubagentReport | null {
1189
+ return this.subagentReport;
1190
+ }
1191
+
1192
+ /**
1193
+ * Count a child's tokens against this runner (#1317): they are spent on
1194
+ * this agent's behalf, so its ledger and spend cap must see them.
1195
+ *
1196
+ * @param usage - The child's usage
1197
+ */
1198
+ recordChildUsage(usage: { input: number; output: number; cachedInput: number }): void {
1199
+ this.childUsage.input += usage.input;
1200
+ this.childUsage.output += usage.output;
1201
+ this.childUsage.cachedInput += usage.cachedInput;
1202
+ }
1203
+
1204
+ /**
1205
+ * Fold pending child usage into a run's reported usage and this runner's
1206
+ * totals, then reset it. Context occupancy is not touched: a child's
1207
+ * tokens never sat in this runner's context window.
1208
+ *
1209
+ * @param own - The run's own usage
1210
+ * @returns Own plus children
1211
+ */
1212
+ private absorbChildUsage(own: { input: number; output: number; cachedInput: number }): { input: number; output: number; cachedInput: number } {
1213
+ const child = this.childUsage;
1214
+ if (child.input === 0 && child.output === 0 && child.cachedInput === 0) return own;
1215
+ this.childUsage = { input: 0, output: 0, cachedInput: 0 };
1216
+ this.state.totalTokens.input += child.input;
1217
+ this.state.totalTokens.output += child.output;
1218
+ return { input: own.input + child.input, output: own.output + child.output, cachedInput: own.cachedInput + child.cachedInput };
1219
+ }
1220
+
1137
1221
  /**
1138
1222
  * Resolve the wall-clock budget for one run.
1139
1223
  *
@@ -1637,7 +1721,7 @@ export class AgentRunnerService {
1637
1721
  return {
1638
1722
  text,
1639
1723
  steps: stepCount,
1640
- usage,
1724
+ usage: this.absorbChildUsage(usage),
1641
1725
  toolCalls,
1642
1726
  finishReason,
1643
1727
  budgetWarning,
@@ -1818,7 +1902,7 @@ export class AgentRunnerService {
1818
1902
  return {
1819
1903
  text: finalText,
1820
1904
  steps: result.steps.length,
1821
- usage,
1905
+ usage: this.absorbChildUsage(usage),
1822
1906
  toolCalls,
1823
1907
  finishReason: result.finishReason,
1824
1908
  budgetWarning,