@sema-agent/core 1.282.0 → 1.284.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.
@@ -2,11 +2,12 @@ export type TaskNotificationStatus = "completed" | "failed" | "killed" | "cancel
2
2
  export type SystemInjectionPriority = "now" | "next" | "later";
3
3
  export interface TaskNotificationPayload {
4
4
  task_id: string;
5
- task_type: "background_bash" | "workflow" | "background_agent" | "monitor";
5
+ task_type: "background_bash" | "workflow" | "background_agent" | "monitor" | "external";
6
6
  toolUseId?: string;
7
7
  status: TaskNotificationStatus;
8
8
  lines?: string[];
9
9
  seq?: number;
10
+ source?: string;
10
11
  stoppedBy?: "user" | "parent" | "system" | (string & {});
11
12
  summary: string;
12
13
  exitCode?: number;
@@ -19,13 +20,21 @@ export interface TaskNotificationPayload {
19
20
  editedFiles?: import("../agents/subagent-steps.js").SubagentEditedFile[];
20
21
  resumable?: boolean;
21
22
  }
23
+ export interface ExternalNotificationInput {
24
+ task_id: string;
25
+ status: TaskNotificationStatus;
26
+ summary: string;
27
+ result?: string;
28
+ seq?: number;
29
+ source?: string;
30
+ }
22
31
  export interface SystemInjection<TPayload = unknown> {
23
32
  kind: "task_notification";
24
33
  priority: SystemInjectionPriority;
25
34
  dedupKey: string;
26
35
  payload: TPayload;
27
36
  }
28
- export declare function taskNotificationDedupKey(n: Pick<TaskNotificationPayload, "task_id" | "status" | "seq">): string;
37
+ export declare function taskNotificationDedupKey(n: Pick<TaskNotificationPayload, "task_id" | "task_type" | "status" | "seq">): string;
29
38
  export declare function renderTaskNotificationXml(n: TaskNotificationPayload): string;
30
39
  export declare const MAX_PENDING_EVENTS_PER_TASK = 50;
31
40
  export declare const MAX_PENDING_EVENTS_PER_SESSION = 200;
@@ -1 +1 @@
1
- {"version":3,"file":"task-notification.d.ts","sourceRoot":"","sources":["../../src/core/task-notification.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"task-notification.d.ts","sourceRoot":"","sources":["../../src/core/task-notification.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { sanitizeUntrustedText } from "./untrusted-text.js";
1
+ import { inlineUntrusted, sanitizeUntrustedText } from "./untrusted-text.js";
2
2
  const TASK_NOTIFICATION_TAGS = [
3
3
  "task-notification",
4
4
  "task-id",
@@ -32,8 +32,13 @@ function tag(name, value) {
32
32
  return `<${name}>${text}</${name}>`;
33
33
  }
34
34
  export function taskNotificationDedupKey(n) {
35
- return `task_notification:${n.task_id}:${n.status}${n.seq !== undefined ? `:${n.seq}` : ""}`;
35
+ const lane = n.task_type === "external" ? "external:" : "";
36
+ return `task_notification:${lane}${n.task_id}:${n.status}${n.seq !== undefined ? `:${n.seq}` : ""}`;
36
37
  }
38
+ function attrEscape(value) {
39
+ return value.replace(/&/g, "&amp;").replace(/"/g, "&quot;").replace(/</g, "&lt;").replace(/>/g, "&gt;");
40
+ }
41
+ const EXTERNAL_SOURCE_MAX = 120;
37
42
  export function renderTaskNotificationXml(n) {
38
43
  const usage = n.usage === undefined
39
44
  ? undefined
@@ -45,8 +50,11 @@ export function renderTaskNotificationXml(n) {
45
50
  return undefined;
46
51
  }
47
52
  })();
53
+ const open = n.task_type === "external"
54
+ ? `<task-notification type="external"${n.source !== undefined ? ` from="${attrEscape(inlineUntrusted(n.source, EXTERNAL_SOURCE_MAX))}"` : ""}>`
55
+ : "<task-notification>";
48
56
  return [
49
- "<task-notification>",
57
+ open,
50
58
  tag("task-id", n.task_id),
51
59
  tag("task-type", n.task_type),
52
60
  ...(n.toolUseId !== undefined ? [tag("tool-use-id", n.toolUseId)] : []),
@@ -83,9 +91,13 @@ export class PendingSessionNotifications {
83
91
  this.droppedSessions += 1;
84
92
  }
85
93
  }
86
- s = { items: [], dropped: new Map() };
94
+ s = { items: [], dropped: new Map(), keys: new Set() };
87
95
  this.sessions.set(sessionId, s);
88
96
  }
97
+ const key = taskNotificationDedupKey(n);
98
+ if (s.keys.has(key))
99
+ return;
100
+ s.keys.add(key);
89
101
  s.items.push(n);
90
102
  let mine = 0;
91
103
  for (const i of s.items)
@@ -113,6 +125,7 @@ function evictOldest(s, match) {
113
125
  if (idx === -1)
114
126
  return;
115
127
  const victim = s.items.splice(idx, 1)[0];
128
+ s.keys.delete(taskNotificationDedupKey(victim));
116
129
  const prior = s.dropped.get(victim.task_id);
117
130
  s.dropped.set(victim.task_id, { count: (prior?.count ?? 0) + 1, taskType: victim.task_type });
118
131
  }
@@ -1 +1 @@
1
- {"version":3,"file":"task-notification.js","sourceRoot":"","sources":["../../src/core/task-notification.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"task-notification.js","sourceRoot":"","sources":["../../src/core/task-notification.ts"],"names":[],"mappings":"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"}
@@ -31,7 +31,6 @@ export interface SemaTaskHandle {
31
31
  updatedAt: number;
32
32
  outputFile?: string;
33
33
  outputOffset?: number;
34
- notified?: boolean;
35
34
  }
36
35
  export interface TaskKind {
37
36
  type: SemaTaskType;
@@ -110,6 +109,7 @@ export declare function clipTaskOutput(s: string, fullOutputPath?: string): stri
110
109
  export declare class TaskRegistry {
111
110
  private handles;
112
111
  private sessionReapHooks;
112
+ private bgQuiescenceWatchers;
113
113
  private legacyToTaskId;
114
114
  mintTaskId(type: SemaTaskType): string;
115
115
  registerBackgroundBash(input: RegisterBackgroundBashInput): string;
@@ -139,6 +139,10 @@ export declare class TaskRegistry {
139
139
  reapSessionBackground(sessionId: string, scope?: string): number;
140
140
  reapAllSessionBackground(): number;
141
141
  onSessionReap(hook: (sessionId: string, scope?: string) => void): () => void;
142
+ countRunningBackgroundForOwner(owner: string): number;
143
+ private static readonly BG_QUIESCENCE_WATCHERS_MAX;
144
+ onBackgroundQuiescence(owner: string, cb: (reason: "quiescent" | "evicted") => void): () => void;
145
+ private pokeBgQuiescence;
142
146
  private notifyTerminalOnce;
143
147
  private startBashWatcher;
144
148
  sessionResidentShellIds(sessionId: string, env: unknown): BackgroundShellId[];
@@ -1 +1 @@
1
- {"version":3,"file":"task-registry.d.ts","sourceRoot":"","sources":["../../src/core/task-registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"task-registry.d.ts","sourceRoot":"","sources":["../../src/core/task-registry.ts"],"names":[],"mappings":"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"}
@@ -231,6 +231,7 @@ function formatWorkflowRun(run) {
231
231
  export class TaskRegistry {
232
232
  handles = new Map();
233
233
  sessionReapHooks = new Set();
234
+ bgQuiescenceWatchers = new Map();
234
235
  legacyToTaskId = new Map();
235
236
  mintTaskId(type) {
236
237
  const prefix = TASK_PREFIX[type];
@@ -380,6 +381,7 @@ export class TaskRegistry {
380
381
  handle.error = outcome.error;
381
382
  }
382
383
  handle.updatedAt = Date.now();
384
+ this.pokeBgQuiescence(handle.owner);
383
385
  return outcome.status;
384
386
  }
385
387
  abortBackgroundAgentsForOwner(access, opts) {
@@ -525,6 +527,7 @@ export class TaskRegistry {
525
527
  this.settleBackgroundAgent(handle.id, { status: "killed", error: "session released" });
526
528
  reaped++;
527
529
  }
530
+ this.pokeBgQuiescence(sessionId);
528
531
  for (const hook of this.sessionReapHooks) {
529
532
  try {
530
533
  hook(sessionId, scope);
@@ -554,6 +557,66 @@ export class TaskRegistry {
554
557
  this.sessionReapHooks.add(hook);
555
558
  return () => void this.sessionReapHooks.delete(hook);
556
559
  }
560
+ countRunningBackgroundForOwner(owner) {
561
+ let n = 0;
562
+ for (const handle of this.handles.values()) {
563
+ if (handle.type !== "background_bash" && handle.type !== "monitor" && handle.type !== "background_agent")
564
+ continue;
565
+ if (handle.status === "running" && handle.owner === owner)
566
+ n++;
567
+ }
568
+ return n;
569
+ }
570
+ static BG_QUIESCENCE_WATCHERS_MAX = 1_024;
571
+ onBackgroundQuiescence(owner, cb) {
572
+ let set = this.bgQuiescenceWatchers.get(owner);
573
+ if (set === undefined) {
574
+ if (this.bgQuiescenceWatchers.size >= TaskRegistry.BG_QUIESCENCE_WATCHERS_MAX) {
575
+ const oldest = this.bgQuiescenceWatchers.keys().next().value;
576
+ if (oldest !== undefined) {
577
+ const victims = this.bgQuiescenceWatchers.get(oldest);
578
+ this.bgQuiescenceWatchers.delete(oldest);
579
+ queueMicrotask(() => {
580
+ for (const victim of victims) {
581
+ try {
582
+ victim("evicted");
583
+ }
584
+ catch {
585
+ }
586
+ }
587
+ });
588
+ }
589
+ }
590
+ set = new Set();
591
+ this.bgQuiescenceWatchers.set(owner, set);
592
+ }
593
+ set.add(cb);
594
+ return () => {
595
+ const s = this.bgQuiescenceWatchers.get(owner);
596
+ if (s !== undefined) {
597
+ s.delete(cb);
598
+ if (s.size === 0)
599
+ this.bgQuiescenceWatchers.delete(owner);
600
+ }
601
+ };
602
+ }
603
+ pokeBgQuiescence(owner) {
604
+ if (owner === undefined)
605
+ return;
606
+ const set = this.bgQuiescenceWatchers.get(owner);
607
+ if (set === undefined || set.size === 0)
608
+ return;
609
+ if (this.countRunningBackgroundForOwner(owner) > 0)
610
+ return;
611
+ this.bgQuiescenceWatchers.delete(owner);
612
+ for (const cb of set) {
613
+ try {
614
+ cb("quiescent");
615
+ }
616
+ catch {
617
+ }
618
+ }
619
+ }
557
620
  notifyTerminalOnce(handle, send) {
558
621
  if (handle.terminalNotified === true)
559
622
  return;
@@ -563,6 +626,7 @@ export class TaskRegistry {
563
626
  }
564
627
  catch {
565
628
  }
629
+ this.pokeBgQuiescence(handle.owner);
566
630
  }
567
631
  startBashWatcher(id, onTerminal) {
568
632
  const handle = this.handles.get(id);
@@ -1103,11 +1167,14 @@ export class TaskRegistry {
1103
1167
  }
1104
1168
  clearBackgroundForOwner(access) {
1105
1169
  let deleted = 0;
1170
+ const evictedRunningOwners = new Set();
1106
1171
  for (const [id, handle] of this.handles) {
1107
1172
  if (handle.type === "monitor" && !handle.sessionScoped && canAccess(handle, access)) {
1108
1173
  if (monitorInTimeoutWindow(handle))
1109
1174
  continue;
1110
1175
  this.handles.delete(id);
1176
+ if (handle.status === "running" && handle.owner !== undefined)
1177
+ evictedRunningOwners.add(handle.owner);
1111
1178
  if (handle.watcher !== undefined) {
1112
1179
  handle.timers.clearInterval(handle.watcher);
1113
1180
  handle.watcher = undefined;
@@ -1120,11 +1187,15 @@ export class TaskRegistry {
1120
1187
  if (handle.sessionScoped)
1121
1188
  continue;
1122
1189
  this.handles.delete(id);
1190
+ if (handle.status === "running" && handle.owner !== undefined)
1191
+ evictedRunningOwners.add(handle.owner);
1123
1192
  this.legacyToTaskId.delete(String(handle.shellId));
1124
1193
  if (handle.watcher !== undefined)
1125
1194
  clearInterval(handle.watcher);
1126
1195
  deleted++;
1127
1196
  }
1197
+ for (const owner of evictedRunningOwners)
1198
+ this.pokeBgQuiescence(owner);
1128
1199
  return deleted;
1129
1200
  }
1130
1201
  resolveInternal(id, access) {
@@ -1326,6 +1397,7 @@ export class TaskRegistry {
1326
1397
  handle.stoppedBy = handle.stopSource ?? "parent";
1327
1398
  handle.status = "killed";
1328
1399
  handle.updatedAt = Date.now();
1400
+ this.pokeBgQuiescence(handle.owner);
1329
1401
  return {
1330
1402
  content: `Terminated ${handle.id} (the process was already gone).`,
1331
1403
  details: { task_id: handle.id, type: "background_bash", status: "killed", retrieval_status: "success", stoppedBy: handle.stoppedBy },
@@ -1345,6 +1417,7 @@ export class TaskRegistry {
1345
1417
  handle.stoppedBy = handle.stopSource ?? "parent";
1346
1418
  handle.status = "killed";
1347
1419
  handle.updatedAt = Date.now();
1420
+ this.pokeBgQuiescence(handle.owner);
1348
1421
  return {
1349
1422
  content: `Terminated ${handle.id}.`,
1350
1423
  details: { task_id: handle.id, type: "background_bash", status: "killed", retrieval_status: "success", stoppedBy: handle.stoppedBy },
@@ -1405,6 +1478,7 @@ export class TaskRegistry {
1405
1478
  handle.stoppedBy = handle.stopSource ?? "parent";
1406
1479
  handle.status = "killed";
1407
1480
  handle.updatedAt = Date.now();
1481
+ this.pokeBgQuiescence(handle.owner);
1408
1482
  return {
1409
1483
  content: `Terminated ${handle.id} (the process was already gone).`,
1410
1484
  details: { task_id: handle.id, type: "monitor", status: "killed", retrieval_status: "success", stoppedBy: handle.stoppedBy },
@@ -1423,6 +1497,7 @@ export class TaskRegistry {
1423
1497
  handle.stoppedBy = handle.stopSource ?? "parent";
1424
1498
  handle.status = "killed";
1425
1499
  handle.updatedAt = Date.now();
1500
+ this.pokeBgQuiescence(handle.owner);
1426
1501
  }
1427
1502
  return {
1428
1503
  content: `Terminated ${handle.id}.`,
@@ -1467,6 +1542,7 @@ ${clipTaskOutput(handle.result, handle.outputFile)}` : "(no result text)"}`;
1467
1542
  handle.status = "killed";
1468
1543
  handle.stoppedBy = handle.stopSource ?? "parent";
1469
1544
  handle.updatedAt = Date.now();
1545
+ this.pokeBgQuiescence(handle.owner);
1470
1546
  }
1471
1547
  return {
1472
1548
  content: `Terminated ${handle.id}.`,