@grackle-ai/core 0.134.0 → 0.135.0

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":"event-processor.d.ts","sourceRoot":"","sources":["../src/event-processor.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAiBpE,oDAAoD;AACpD,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gGAAgG;IAChG,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gGAAgG;IAChG,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kEAAkE;IAClE,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,gFAAgF;AAChF,MAAM,WAAW,kBAAkB;IACjC,kFAAkF;IAClF,WAAW,EAAE,MAAM,CAAC;IACpB,iDAAiD;IACjD,QAAQ,EAAE,MAAM,CAAC;IACjB,iDAAiD;IACjD,IAAI,EAAE,MAAM,CAAC;IACb;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,uFAAuF;IACvF,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,gDAAgD;IAChD,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpC,6CAA6C;IAC7C,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,8DAA8D;IAC9D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,oCAAoC;IACpC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,UAAU,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACpD;AAED,kGAAkG;AAClG,MAAM,MAAM,kBAAkB,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,kBAAkB,KAAK,IAAI,CAAC;AAE1F;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,kBAAkB,GAAG,IAAI,CAqBvF;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,aAAa,CAAC,oBAAoB,CAAC,EAC9C,OAAO,EAAE,kBAAkB,GAC1B,IAAI,CAgWN"}
1
+ {"version":3,"file":"event-processor.d.ts","sourceRoot":"","sources":["../src/event-processor.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAwBpE,oDAAoD;AACpD,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gGAAgG;IAChG,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gGAAgG;IAChG,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kEAAkE;IAClE,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,gFAAgF;AAChF,MAAM,WAAW,kBAAkB;IACjC,kFAAkF;IAClF,WAAW,EAAE,MAAM,CAAC;IACpB,iDAAiD;IACjD,QAAQ,EAAE,MAAM,CAAC;IACjB,iDAAiD;IACjD,IAAI,EAAE,MAAM,CAAC;IACb;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,uFAAuF;IACvF,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,gDAAgD;IAChD,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpC,6CAA6C;IAC7C,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,8DAA8D;IAC9D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,oCAAoC;IACpC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,UAAU,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACpD;AAED,kGAAkG;AAClG,MAAM,MAAM,kBAAkB,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,kBAAkB,KAAK,IAAI,CAAC;AAE1F;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,kBAAkB,GAAG,IAAI,CAqBvF;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,aAAa,CAAC,oBAAoB,CAAC,EAC9C,OAAO,EAAE,kBAAkB,GAC1B,IAAI,CA0bN"}
@@ -1,5 +1,5 @@
1
1
  import { create } from "@bufbuild/protobuf";
2
- import { grackle, eventTypeToEnum, SESSION_STATUS, TERMINAL_SESSION_STATUSES, END_REASON, } from "@grackle-ai/common";
2
+ import { grackle, eventTypeToEnum, SESSION_STATUS, TERMINAL_SESSION_STATUSES, END_REASON, detectDelegation, delegationIdentityKey, deriveChildSessionId, readAgentResultStatus, } from "@grackle-ai/common";
3
3
  import { sessionStore, taskStore } from "@grackle-ai/database";
4
4
  import { recordSessionAction } from "./session-action-recorder.js";
5
5
  import * as streamHub from "./stream-hub.js";
@@ -11,6 +11,7 @@ import { logger } from "./logger.js";
11
11
  import { runWithTrace } from "./trace-context.js";
12
12
  import { emitDiagnostic } from "./telemetry.js";
13
13
  import { publishChildCompletion } from "./pipe-delivery.js";
14
+ import { ensureChildSession, closeChildSession, appendChildActivity, interruptChildSession, unwrapResultContent, } from "./subagent-session.js";
14
15
  import { cleanupLifecycleStream } from "./lifecycle-streams.js";
15
16
  import { sendInputToSession } from "./signals/signal-delivery.js";
16
17
  import { checkBudget } from "./budget-checker.js";
@@ -66,6 +67,11 @@ export function processEventStream(envelopes, options) {
66
67
  taskId: options.taskId || "",
67
68
  };
68
69
  processorRegistry.register(ctx);
70
+ // #1075: maps a delegation tool_use call id → the child session it
71
+ // materialized, so the paired tool_result can append/close that child, and so
72
+ // the finally block can interrupt any child still open when the stream ends.
73
+ // Scoped to this stream (per parent session), so no cross-session leakage.
74
+ const delegationByToolCall = new Map();
69
75
  /** Inner processing logic, extracted so it can be wrapped in runWithTrace. */
70
76
  const processEvents = async () => {
71
77
  try {
@@ -153,6 +159,72 @@ export function processEventStream(envelopes, options) {
153
159
  if (sessionEvent.diagnostic) {
154
160
  emitDiagnostic(sessionEvent);
155
161
  }
162
+ // #1075: materialize/link subagent child sessions from delegation tool
163
+ // calls (Claude Code `Agent`, Copilot `task`/`read_agent`). The child is
164
+ // a first-class session so the existing activity view can render it.
165
+ if (event.type === "tool_use" && eventToolCallId) {
166
+ try {
167
+ const parsed = JSON.parse(eventContent || "{}");
168
+ const toolName = String(parsed.tool ?? parsed.tool_name ?? parsed.name ?? "");
169
+ const toolArgs = parsed.args ?? parsed.input ?? parsed.arguments;
170
+ const info = toolName ? detectDelegation(toolName, toolArgs) : undefined;
171
+ if (info) {
172
+ const identityKey = delegationIdentityKey(info, eventToolCallId);
173
+ const childId = deriveChildSessionId(sessionId, identityKey);
174
+ ensureChildSession({
175
+ childSessionId: childId,
176
+ parentSessionId: sessionId,
177
+ info,
178
+ });
179
+ delegationByToolCall.set(eventToolCallId, {
180
+ childId,
181
+ isPoll: info.isPoll === true,
182
+ isBackground: info.isBackground === true,
183
+ });
184
+ }
185
+ }
186
+ catch (err) {
187
+ logger.warn({ err, sessionId }, "Failed to process delegation tool_use");
188
+ }
189
+ }
190
+ else if (event.type === "tool_result" && eventToolCallId) {
191
+ const link = delegationByToolCall.get(eventToolCallId);
192
+ if (link) {
193
+ // Every tool_result pairs (and consumes) its tool_use entry, so only
194
+ // genuinely-unpaired synchronous spawns remain in the map for the
195
+ // finally block to interrupt. A background/polled child whose work
196
+ // outlives the parent stream is independent and must NOT be interrupted.
197
+ delegationByToolCall.delete(eventToolCallId);
198
+ if (link.isPoll) {
199
+ // A read_agent poll surfaces partial output. On a terminal status,
200
+ // closeChildSession records the result and stops the child; otherwise
201
+ // append the partial output. Recording happens in exactly one path so
202
+ // the terminal poll output isn't duplicated in the child log.
203
+ // Unwrap first: the result may be a JSON envelope
204
+ // ({"is_ok":true,"content":"Agent completed. agent_id: …"}), and the
205
+ // status prefix lives in `content`, not the envelope.
206
+ const status = readAgentResultStatus(unwrapResultContent(eventContent));
207
+ if (status === "completed" ||
208
+ status === "failed" ||
209
+ status === "error" ||
210
+ status === "cancelled") {
211
+ closeChildSession(link.childId, eventContent, status !== "completed");
212
+ }
213
+ else {
214
+ appendChildActivity(link.childId, eventContent);
215
+ }
216
+ }
217
+ else if (link.isBackground) {
218
+ // A background spawn's result is just a handle, not completion —
219
+ // keep the child running; its output arrives via read_agent polls.
220
+ appendChildActivity(link.childId, eventContent);
221
+ }
222
+ else {
223
+ // Synchronous spawn (e.g. Claude `Agent`): the result IS the summary.
224
+ closeChildSession(link.childId, eventContent, eventToolError);
225
+ }
226
+ }
227
+ }
156
228
  // Intercept usage events and accumulate token counts on the session record
157
229
  if (event.type === "usage") {
158
230
  try {
@@ -330,6 +402,23 @@ export function processEventStream(envelopes, options) {
330
402
  }
331
403
  finally {
332
404
  processorRegistry.unregister(sessionId);
405
+ // #1075: the stream ended (normally, killed, or crashed) — interrupt any
406
+ // SYNCHRONOUS-spawn child whose tool_result never arrived so it isn't
407
+ // stranded RUNNING with no environment to reconnect to. Background spawns
408
+ // and polled children run independently of the parent stream, so they must
409
+ // NOT be interrupted here even if their handle/result never arrived (e.g.
410
+ // the stream ended right after the spawn tool_use).
411
+ //
412
+ // Known limitation (#1386): a background/polled child whose parent stream
413
+ // ends before a terminal poll stays RUNNING in the DB. It is excluded from
414
+ // all env/task/concurrency queries so it is harmless, but never reaches a
415
+ // terminal state — a reconciliation sweep is tracked as a follow-up.
416
+ for (const link of delegationByToolCall.values()) {
417
+ if (!link.isBackground && !link.isPoll) {
418
+ interruptChildSession(link.childId);
419
+ }
420
+ }
421
+ delegationByToolCall.clear();
333
422
  logWriter.endSession(logPath);
334
423
  try {
335
424
  writeTranscript(logPath);
@@ -1 +1 @@
1
- {"version":3,"file":"event-processor.js","sourceRoot":"","sources":["../src/event-processor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"event-processor.js","sourceRoot":"","sources":["../src/event-processor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,92 @@
1
+ /**
2
+ * Subagent child-session materialization (#1075).
3
+ *
4
+ * When a parent session emits a delegation tool call (Claude Code `Agent`,
5
+ * Copilot `task`/`read_agent`), the runtime SDK isolates the subagent's context
6
+ * — the parent stream only carries the final summary, and the subagent has no
7
+ * Grackle session of its own. This module materializes the subagent as a
8
+ * **first-class child session** so it is addressable and navigable:
9
+ *
10
+ * - identity is derived deterministically from the parent + the delegation's
11
+ * identity key, so repeated references (e.g. Copilot `read_agent` polls) all
12
+ * resolve to the *same* child session (dedupe falls out of identity), and
13
+ * - the child's activity is written to its own session log (durable
14
+ * `session_actions` + JSONL + live stream-hub), the same paths every session
15
+ * uses, so the existing session activity view renders it unchanged.
16
+ *
17
+ * SDK-internal subagents only surface their final summary, so the child's
18
+ * activity starts as a "floor" (delegating prompt + result). The model is the
19
+ * same as any other session, so the activity upgrades automatically if/when a
20
+ * runtime exposes richer events.
21
+ *
22
+ * @module
23
+ */
24
+ import type { DelegationInfo } from "@grackle-ai/common";
25
+ /**
26
+ * Tool results often arrive JSON-wrapped (e.g. `{"is_ok":true,"content":"…"}`).
27
+ * Extract the human-readable `content` string so the child's floor activity
28
+ * shows clean text rather than the raw envelope — and so status parsing
29
+ * (`readAgentResultStatus`) sees the real `read_agent` prefix rather than the
30
+ * envelope. Returns the input unchanged if it isn't a JSON object with a string
31
+ * `content` field.
32
+ */
33
+ export declare function unwrapResultContent(result: string): string;
34
+ /** Parameters for {@link ensureChildSession}. */
35
+ export interface EnsureChildSessionParams {
36
+ /** Deterministic child session id (see {@link deriveChildSessionId}). */
37
+ childSessionId: string;
38
+ /** The delegating (parent) session id. */
39
+ parentSessionId: string;
40
+ /** Normalized delegation info parsed from the tool args. */
41
+ info: DelegationInfo;
42
+ }
43
+ /**
44
+ * Resolve-or-create the child session for a delegation. Idempotent: if the
45
+ * child already exists (e.g. a `read_agent` poll following the original spawn,
46
+ * or a re-emitted event), this is a no-op so no duplicate session or floor
47
+ * action is created.
48
+ *
49
+ * The child is attached to its parent **session** (via `parentSessionId`), not a
50
+ * task: it is created with `taskId=""` so it is invisible to every task-scoped
51
+ * query (status computation, active/latest session lookups used for signal
52
+ * routing, usage aggregation, reconciliation). It inherits the parent's
53
+ * `environmentId` (the subagent ran in the parent's environment, and the
54
+ * `sessions.env_id` foreign key requires a real environment), but the `subagent`
55
+ * runtime marker keeps it out of env- and lifecycle-scoped queries
56
+ * (`getActiveForEnv`, `listByEnv`, etc.) so reanimate/recovery never tries to
57
+ * reconnect a virtual child. It remains addressable by id for navigation, and
58
+ * the parent edge is recovered via `parentSessionId`. The log directory sits
59
+ * alongside the parent's so the standard session activity view renders it.
60
+ *
61
+ * @param params - Child id, parent id, and parsed delegation info.
62
+ */
63
+ export declare function ensureChildSession(params: EnsureChildSessionParams): void;
64
+ /**
65
+ * Append a result to a child session and mark it terminal. Called when the
66
+ * delegation's paired `tool_result` arrives. No-op if the child does not exist.
67
+ *
68
+ * @param childSessionId - The child session id.
69
+ * @param result - The subagent's result text (the summary, for SDK-internal subagents).
70
+ * @param isError - Whether the tool result was an error.
71
+ */
72
+ export declare function closeChildSession(childSessionId: string, result: string, isError: boolean): void;
73
+ /**
74
+ * Append incremental activity to an existing child session without closing it.
75
+ * Used for `read_agent` polls that surface partial output while the subagent is
76
+ * still running. No-op if the child does not exist or the content is empty.
77
+ *
78
+ * @param childSessionId - The child session id.
79
+ * @param content - Incremental output to append.
80
+ */
81
+ export declare function appendChildActivity(childSessionId: string, content: string): void;
82
+ /**
83
+ * Mark a still-open child session as interrupted (terminal) without recording a
84
+ * result. Called when the parent stream ends while a delegation is still
85
+ * outstanding (e.g. the parent crashed mid-subagent), so a child is never left
86
+ * stranded in `RUNNING` with no environment to reconnect to. No-op if the child
87
+ * does not exist or is already terminal.
88
+ *
89
+ * @param childSessionId - The child session id.
90
+ */
91
+ export declare function interruptChildSession(childSessionId: string): void;
92
+ //# sourceMappingURL=subagent-session.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subagent-session.d.ts","sourceRoot":"","sources":["../src/subagent-session.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAWH,OAAO,KAAK,EAAE,cAAc,EAAiB,MAAM,oBAAoB,CAAC;AAqBxE;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAa1D;AA8BD,iDAAiD;AACjD,MAAM,WAAW,wBAAwB;IACvC,yEAAyE;IACzE,cAAc,EAAE,MAAM,CAAC;IACvB,0CAA0C;IAC1C,eAAe,EAAE,MAAM,CAAC;IACxB,4DAA4D;IAC5D,IAAI,EAAE,cAAc,CAAC;CACtB;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,wBAAwB,GAAG,IAAI,CAgCzE;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI,CAyBhG;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAcjF;AAED;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI,CAYlE"}
@@ -0,0 +1,188 @@
1
+ /**
2
+ * Subagent child-session materialization (#1075).
3
+ *
4
+ * When a parent session emits a delegation tool call (Claude Code `Agent`,
5
+ * Copilot `task`/`read_agent`), the runtime SDK isolates the subagent's context
6
+ * — the parent stream only carries the final summary, and the subagent has no
7
+ * Grackle session of its own. This module materializes the subagent as a
8
+ * **first-class child session** so it is addressable and navigable:
9
+ *
10
+ * - identity is derived deterministically from the parent + the delegation's
11
+ * identity key, so repeated references (e.g. Copilot `read_agent` polls) all
12
+ * resolve to the *same* child session (dedupe falls out of identity), and
13
+ * - the child's activity is written to its own session log (durable
14
+ * `session_actions` + JSONL + live stream-hub), the same paths every session
15
+ * uses, so the existing session activity view renders it unchanged.
16
+ *
17
+ * SDK-internal subagents only surface their final summary, so the child's
18
+ * activity starts as a "floor" (delegating prompt + result). The model is the
19
+ * same as any other session, so the activity upgrades automatically if/when a
20
+ * runtime exposes richer events.
21
+ *
22
+ * @module
23
+ */
24
+ import { dirname, join } from "node:path";
25
+ import { create } from "@bufbuild/protobuf";
26
+ import { grackle, SESSION_STATUS, END_REASON, TERMINAL_SESSION_STATUSES, SUBAGENT_RUNTIME, } from "@grackle-ai/common";
27
+ import { sessionStore } from "@grackle-ai/database";
28
+ import { recordSessionAction } from "./session-action-recorder.js";
29
+ import * as streamHub from "./stream-hub.js";
30
+ import * as logWriter from "./log-writer.js";
31
+ import { logger } from "./logger.js";
32
+ /**
33
+ * Maximum length of a floor activity entry (delegation prompt / result) written
34
+ * to a child session. Subagent summaries can be large; cap to keep the log lean.
35
+ */
36
+ const MAX_FLOOR_ENTRY_LENGTH = 16000;
37
+ /** Truncate a floor entry to {@link MAX_FLOOR_ENTRY_LENGTH}, appending an ellipsis marker. */
38
+ function clamp(text) {
39
+ if (text.length <= MAX_FLOOR_ENTRY_LENGTH) {
40
+ return text;
41
+ }
42
+ return `${text.slice(0, MAX_FLOOR_ENTRY_LENGTH)}\n…[truncated]`;
43
+ }
44
+ /**
45
+ * Tool results often arrive JSON-wrapped (e.g. `{"is_ok":true,"content":"…"}`).
46
+ * Extract the human-readable `content` string so the child's floor activity
47
+ * shows clean text rather than the raw envelope — and so status parsing
48
+ * (`readAgentResultStatus`) sees the real `read_agent` prefix rather than the
49
+ * envelope. Returns the input unchanged if it isn't a JSON object with a string
50
+ * `content` field.
51
+ */
52
+ export function unwrapResultContent(result) {
53
+ if (!result.trimStart().startsWith("{")) {
54
+ return result;
55
+ }
56
+ try {
57
+ const parsed = JSON.parse(result);
58
+ if (typeof parsed.content === "string") {
59
+ return parsed.content;
60
+ }
61
+ }
62
+ catch {
63
+ /* not JSON — use as-is */
64
+ }
65
+ return result;
66
+ }
67
+ /**
68
+ * Record one activity event on a child session via the same three sinks every
69
+ * session uses: durable `session_actions` (serverSeq), JSONL (live read), and
70
+ * the live stream-hub broadcast. Best-effort — failures are logged, not thrown.
71
+ */
72
+ function recordChildEvent(childSessionId, logPath, type, content) {
73
+ const event = create(grackle.SessionEventSchema, {
74
+ sessionId: childSessionId,
75
+ type,
76
+ timestamp: new Date().toISOString(),
77
+ content: clamp(content),
78
+ });
79
+ // serverSeq first so the durable log, JSONL, and live push share a dedup key.
80
+ event.serverSeq = recordSessionAction(event) ?? "";
81
+ if (logPath) {
82
+ logWriter.ensureLogInitialized(logPath);
83
+ logWriter.writeEvent(logPath, event).catch((err) => {
84
+ logger.error({ err, childSessionId }, "Failed to write subagent child event to JSONL");
85
+ });
86
+ }
87
+ streamHub.publish(event);
88
+ }
89
+ /**
90
+ * Resolve-or-create the child session for a delegation. Idempotent: if the
91
+ * child already exists (e.g. a `read_agent` poll following the original spawn,
92
+ * or a re-emitted event), this is a no-op so no duplicate session or floor
93
+ * action is created.
94
+ *
95
+ * The child is attached to its parent **session** (via `parentSessionId`), not a
96
+ * task: it is created with `taskId=""` so it is invisible to every task-scoped
97
+ * query (status computation, active/latest session lookups used for signal
98
+ * routing, usage aggregation, reconciliation). It inherits the parent's
99
+ * `environmentId` (the subagent ran in the parent's environment, and the
100
+ * `sessions.env_id` foreign key requires a real environment), but the `subagent`
101
+ * runtime marker keeps it out of env- and lifecycle-scoped queries
102
+ * (`getActiveForEnv`, `listByEnv`, etc.) so reanimate/recovery never tries to
103
+ * reconnect a virtual child. It remains addressable by id for navigation, and
104
+ * the parent edge is recovered via `parentSessionId`. The log directory sits
105
+ * alongside the parent's so the standard session activity view renders it.
106
+ *
107
+ * @param params - Child id, parent id, and parsed delegation info.
108
+ */
109
+ export function ensureChildSession(params) {
110
+ const { childSessionId, parentSessionId, info } = params;
111
+ if (sessionStore.getSession(childSessionId)) {
112
+ return; // already materialized — dedupe
113
+ }
114
+ const parent = sessionStore.getSession(parentSessionId);
115
+ if (!parent) {
116
+ return; // can't attach a child to a parent that doesn't exist
117
+ }
118
+ // Child log dir sits alongside the parent's (same logs root); empty if the
119
+ // parent is an ad-hoc session without a log path (then activity is session_actions-only).
120
+ const logPath = parent.logPath ? join(dirname(parent.logPath), childSessionId) : "";
121
+ sessionStore.createSession(childSessionId, parent.environmentId, // inherit parent's env (satisfies the env_id FK; subagent runtime excludes it from env queries)
122
+ SUBAGENT_RUNTIME, info.prompt ?? "", info.model ?? "", logPath, "", // taskId — attached to the parent session, not a task (see above)
123
+ "", // personaId
124
+ parentSessionId, "");
125
+ sessionStore.updateSessionStatus(childSessionId, SESSION_STATUS.RUNNING);
126
+ // Floor activity: the delegating prompt as the child's opening context.
127
+ if (info.prompt) {
128
+ recordChildEvent(childSessionId, logPath, grackle.EventType.USER_INPUT, info.prompt);
129
+ }
130
+ }
131
+ /**
132
+ * Append a result to a child session and mark it terminal. Called when the
133
+ * delegation's paired `tool_result` arrives. No-op if the child does not exist.
134
+ *
135
+ * @param childSessionId - The child session id.
136
+ * @param result - The subagent's result text (the summary, for SDK-internal subagents).
137
+ * @param isError - Whether the tool result was an error.
138
+ */
139
+ export function closeChildSession(childSessionId, result, isError) {
140
+ const session = sessionStore.getSession(childSessionId);
141
+ if (!session) {
142
+ return;
143
+ }
144
+ // Idempotent: a replayed/reanimated tool_result must not append the summary
145
+ // again to an already-terminal child.
146
+ if (TERMINAL_SESSION_STATUSES.has(session.status)) {
147
+ return;
148
+ }
149
+ if (result) {
150
+ recordChildEvent(childSessionId, session.logPath ?? "", grackle.EventType.TEXT, unwrapResultContent(result));
151
+ }
152
+ sessionStore.updateSession(childSessionId, SESSION_STATUS.STOPPED, undefined, isError ? result : undefined, isError ? END_REASON.INTERRUPTED : END_REASON.COMPLETED);
153
+ }
154
+ /**
155
+ * Append incremental activity to an existing child session without closing it.
156
+ * Used for `read_agent` polls that surface partial output while the subagent is
157
+ * still running. No-op if the child does not exist or the content is empty.
158
+ *
159
+ * @param childSessionId - The child session id.
160
+ * @param content - Incremental output to append.
161
+ */
162
+ export function appendChildActivity(childSessionId, content) {
163
+ if (!content) {
164
+ return;
165
+ }
166
+ const session = sessionStore.getSession(childSessionId);
167
+ if (!session) {
168
+ return;
169
+ }
170
+ recordChildEvent(childSessionId, session.logPath ?? "", grackle.EventType.TEXT, unwrapResultContent(content));
171
+ }
172
+ /**
173
+ * Mark a still-open child session as interrupted (terminal) without recording a
174
+ * result. Called when the parent stream ends while a delegation is still
175
+ * outstanding (e.g. the parent crashed mid-subagent), so a child is never left
176
+ * stranded in `RUNNING` with no environment to reconnect to. No-op if the child
177
+ * does not exist or is already terminal.
178
+ *
179
+ * @param childSessionId - The child session id.
180
+ */
181
+ export function interruptChildSession(childSessionId) {
182
+ const session = sessionStore.getSession(childSessionId);
183
+ if (!session || TERMINAL_SESSION_STATUSES.has(session.status)) {
184
+ return;
185
+ }
186
+ sessionStore.updateSession(childSessionId, SESSION_STATUS.STOPPED, undefined, undefined, END_REASON.INTERRUPTED);
187
+ }
188
+ //# sourceMappingURL=subagent-session.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subagent-session.js","sourceRoot":"","sources":["../src/subagent-session.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@grackle-ai/core",
3
- "version": "0.134.0",
3
+ "version": "0.135.0",
4
4
  "description": "Core gRPC business logic for Grackle - RPC handlers, event system, streaming, session lifecycle",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -42,14 +42,14 @@
42
42
  "pino": "^10.3.1",
43
43
  "ulid": "^2.3.0",
44
44
  "uuid": "^11.1.1",
45
- "@grackle-ai/ahp": "0.134.0",
46
- "@grackle-ai/adapter-sdk": "0.134.0",
47
- "@grackle-ai/common": "0.134.0",
48
- "@grackle-ai/auth": "0.134.0",
49
- "@grackle-ai/database": "0.134.0",
50
- "@grackle-ai/plugin-sdk": "0.134.0",
51
- "@grackle-ai/knowledge": "0.134.0",
52
- "@grackle-ai/prompt": "0.134.0"
45
+ "@grackle-ai/ahp": "0.135.0",
46
+ "@grackle-ai/adapter-sdk": "0.135.0",
47
+ "@grackle-ai/auth": "0.135.0",
48
+ "@grackle-ai/common": "0.135.0",
49
+ "@grackle-ai/database": "0.135.0",
50
+ "@grackle-ai/plugin-sdk": "0.135.0",
51
+ "@grackle-ai/prompt": "0.135.0",
52
+ "@grackle-ai/knowledge": "0.135.0"
53
53
  },
54
54
  "devDependencies": {
55
55
  "@rushstack/heft": "1.2.7",