@namzu/sdk 52.2.0 → 52.4.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.
Files changed (143) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/dist/bridge/a2a/mapper.d.ts.map +1 -1
  3. package/dist/bridge/a2a/mapper.js +3 -0
  4. package/dist/bridge/a2a/mapper.js.map +1 -1
  5. package/dist/bridge/sse/mapper.d.ts.map +1 -1
  6. package/dist/bridge/sse/mapper.js +18 -0
  7. package/dist/bridge/sse/mapper.js.map +1 -1
  8. package/dist/connector/web/guarded-fetch.d.ts.map +1 -1
  9. package/dist/connector/web/guarded-fetch.js +44 -0
  10. package/dist/connector/web/guarded-fetch.js.map +1 -1
  11. package/dist/contracts/session/api.d.ts +1 -1
  12. package/dist/contracts/session/api.d.ts.map +1 -1
  13. package/dist/index.d.ts +4 -2
  14. package/dist/index.d.ts.map +1 -1
  15. package/dist/index.js +2 -1
  16. package/dist/index.js.map +1 -1
  17. package/dist/pals/channels/routing.d.ts +1 -1
  18. package/dist/pals/channels/schema.d.ts +7 -7
  19. package/dist/pals/communication/ingress-schema.d.ts +32 -32
  20. package/dist/process/kill-tree.d.ts +3 -2
  21. package/dist/process/kill-tree.d.ts.map +1 -1
  22. package/dist/process/kill-tree.js.map +1 -1
  23. package/dist/public-runtime.d.ts +2 -2
  24. package/dist/public-runtime.d.ts.map +1 -1
  25. package/dist/public-runtime.js +1 -1
  26. package/dist/public-runtime.js.map +1 -1
  27. package/dist/public-tools.d.ts +3 -1
  28. package/dist/public-tools.d.ts.map +1 -1
  29. package/dist/public-tools.js +6 -1
  30. package/dist/public-tools.js.map +1 -1
  31. package/dist/runtime/jobs/awaited-jobs.d.ts +59 -2
  32. package/dist/runtime/jobs/awaited-jobs.d.ts.map +1 -1
  33. package/dist/runtime/jobs/awaited-jobs.js +108 -5
  34. package/dist/runtime/jobs/awaited-jobs.js.map +1 -1
  35. package/dist/runtime/jobs/monitor-stream.d.ts +96 -0
  36. package/dist/runtime/jobs/monitor-stream.d.ts.map +1 -0
  37. package/dist/runtime/jobs/monitor-stream.js +221 -0
  38. package/dist/runtime/jobs/monitor-stream.js.map +1 -0
  39. package/dist/runtime/jobs/registry.d.ts +175 -1
  40. package/dist/runtime/jobs/registry.d.ts.map +1 -1
  41. package/dist/runtime/jobs/registry.js +267 -19
  42. package/dist/runtime/jobs/registry.js.map +1 -1
  43. package/dist/runtime/jobs/websocket-source.d.ts +120 -0
  44. package/dist/runtime/jobs/websocket-source.d.ts.map +1 -0
  45. package/dist/runtime/jobs/websocket-source.js +379 -0
  46. package/dist/runtime/jobs/websocket-source.js.map +1 -0
  47. package/dist/runtime/query/executor.d.ts +9 -0
  48. package/dist/runtime/query/executor.d.ts.map +1 -1
  49. package/dist/runtime/query/executor.js +6 -0
  50. package/dist/runtime/query/executor.js.map +1 -1
  51. package/dist/runtime/query/index.d.ts +16 -0
  52. package/dist/runtime/query/index.d.ts.map +1 -1
  53. package/dist/runtime/query/index.js +93 -3
  54. package/dist/runtime/query/index.js.map +1 -1
  55. package/dist/runtime/query/iteration/outstanding-work.d.ts +14 -0
  56. package/dist/runtime/query/iteration/outstanding-work.d.ts.map +1 -1
  57. package/dist/runtime/query/iteration/outstanding-work.js +64 -3
  58. package/dist/runtime/query/iteration/outstanding-work.js.map +1 -1
  59. package/dist/runtime/query/iteration/phases/context.d.ts +9 -0
  60. package/dist/runtime/query/iteration/phases/context.d.ts.map +1 -1
  61. package/dist/runtime/query/iteration/phases/context.js.map +1 -1
  62. package/dist/runtime/query/iteration/phases/tool-review.d.ts.map +1 -1
  63. package/dist/runtime/query/iteration/phases/tool-review.js +11 -2
  64. package/dist/runtime/query/iteration/phases/tool-review.js.map +1 -1
  65. package/dist/runtime/query/release-turn.d.ts.map +1 -1
  66. package/dist/runtime/query/release-turn.js +35 -0
  67. package/dist/runtime/query/release-turn.js.map +1 -1
  68. package/dist/runtime/query/steering.d.ts +35 -0
  69. package/dist/runtime/query/steering.d.ts.map +1 -1
  70. package/dist/runtime/query/steering.js +134 -0
  71. package/dist/runtime/query/steering.js.map +1 -1
  72. package/dist/runtime/query/tooling.d.ts +4 -0
  73. package/dist/runtime/query/tooling.d.ts.map +1 -1
  74. package/dist/runtime/query/tooling.js +4 -0
  75. package/dist/runtime/query/tooling.js.map +1 -1
  76. package/dist/runtime/system-events.d.ts +9 -0
  77. package/dist/runtime/system-events.d.ts.map +1 -1
  78. package/dist/runtime/system-events.js +12 -0
  79. package/dist/runtime/system-events.js.map +1 -1
  80. package/dist/tools/builtins/bash.d.ts +3 -0
  81. package/dist/tools/builtins/bash.d.ts.map +1 -1
  82. package/dist/tools/builtins/bash.js +3 -2
  83. package/dist/tools/builtins/bash.js.map +1 -1
  84. package/dist/tools/builtins/index.d.ts +1 -0
  85. package/dist/tools/builtins/index.d.ts.map +1 -1
  86. package/dist/tools/builtins/index.js +1 -0
  87. package/dist/tools/builtins/index.js.map +1 -1
  88. package/dist/tools/builtins/job.d.ts.map +1 -1
  89. package/dist/tools/builtins/job.js +6 -2
  90. package/dist/tools/builtins/job.js.map +1 -1
  91. package/dist/tools/builtins/monitor.d.ts +58 -0
  92. package/dist/tools/builtins/monitor.d.ts.map +1 -0
  93. package/dist/tools/builtins/monitor.js +306 -0
  94. package/dist/tools/builtins/monitor.js.map +1 -0
  95. package/dist/tools/builtins/wait-for-job.d.ts +1 -1
  96. package/dist/turn/reporter.d.ts.map +1 -1
  97. package/dist/turn/reporter.js +8 -0
  98. package/dist/turn/reporter.js.map +1 -1
  99. package/dist/types/sandbox/index.d.ts +10 -0
  100. package/dist/types/sandbox/index.d.ts.map +1 -1
  101. package/dist/types/sandbox/index.js.map +1 -1
  102. package/dist/types/session/events.d.ts +30 -4
  103. package/dist/types/session/events.d.ts.map +1 -1
  104. package/dist/types/session/events.js +6 -1
  105. package/dist/types/session/events.js.map +1 -1
  106. package/dist/types/session/records.d.ts +2 -2
  107. package/dist/types/session/records.d.ts.map +1 -1
  108. package/dist/types/session/records.js +3 -2
  109. package/dist/types/session/records.js.map +1 -1
  110. package/dist/types/tool/index.d.ts +60 -0
  111. package/dist/types/tool/index.d.ts.map +1 -1
  112. package/dist/types/tool/index.js.map +1 -1
  113. package/package.json +4 -2
  114. package/src/bridge/a2a/mapper.ts +3 -0
  115. package/src/bridge/sse/mapper.ts +18 -0
  116. package/src/connector/web/guarded-fetch.ts +41 -0
  117. package/src/contracts/session/api.ts +1 -0
  118. package/src/index.ts +23 -0
  119. package/src/process/kill-tree.ts +4 -2
  120. package/src/public-runtime.ts +4 -1
  121. package/src/public-tools.ts +14 -0
  122. package/src/runtime/jobs/awaited-jobs.ts +127 -5
  123. package/src/runtime/jobs/monitor-stream.ts +269 -0
  124. package/src/runtime/jobs/registry.ts +437 -23
  125. package/src/runtime/jobs/websocket-source.ts +438 -0
  126. package/src/runtime/query/executor.ts +15 -0
  127. package/src/runtime/query/index.ts +116 -3
  128. package/src/runtime/query/iteration/outstanding-work.ts +64 -3
  129. package/src/runtime/query/iteration/phases/context.ts +9 -0
  130. package/src/runtime/query/iteration/phases/tool-review.ts +21 -9
  131. package/src/runtime/query/release-turn.ts +33 -0
  132. package/src/runtime/query/steering.ts +170 -0
  133. package/src/runtime/query/tooling.ts +8 -0
  134. package/src/runtime/system-events.ts +17 -0
  135. package/src/tools/builtins/bash.ts +3 -2
  136. package/src/tools/builtins/index.ts +6 -0
  137. package/src/tools/builtins/job.ts +11 -2
  138. package/src/tools/builtins/monitor.ts +376 -0
  139. package/src/turn/reporter.ts +8 -0
  140. package/src/types/sandbox/index.ts +10 -0
  141. package/src/types/session/events.ts +31 -4
  142. package/src/types/session/records.ts +3 -2
  143. package/src/types/tool/index.ts +51 -1
@@ -91,6 +91,22 @@ export interface SkillRegistryRef {
91
91
  /** Every registered name, for a "did you mean" that names real options. */
92
92
  names(): readonly string[];
93
93
  }
94
+ /**
95
+ * Where a WebSocket monitor connects, already checked.
96
+ *
97
+ * `addresses` are what the caller verified are outside the host's own
98
+ * network; the connection is pinned to them and never resolves the name
99
+ * itself. A caller that did not check must not hand it a target: the registry
100
+ * trusts it, as it trusts a spawn it is given.
101
+ */
102
+ export interface MonitorWebSocketTarget {
103
+ readonly url: string;
104
+ readonly protocols?: readonly string[];
105
+ readonly addresses: readonly {
106
+ readonly address: string;
107
+ readonly family: 4 | 6;
108
+ }[];
109
+ }
94
110
  /**
95
111
  * The slice of the background job registry a tool is given.
96
112
  *
@@ -109,6 +125,46 @@ export interface BackgroundJobRegistryRef {
109
125
  id: string;
110
126
  status: string;
111
127
  };
128
+ /**
129
+ * Start a command whose stdout lines reach the model as events while it
130
+ * runs, and which is stopped at `timeoutMs`. The host clamps the timeout to
131
+ * its own ceiling and the clamped value comes back, so the caller reports
132
+ * the deadline that will actually fire. Optional, like `adopt`: a host that
133
+ * cannot deliver events must omit it, and the `monitor` tool then refuses
134
+ * rather than start a watch nobody will hear from. Throws when the owner is
135
+ * at its job cap.
136
+ */
137
+ startMonitor?(params: {
138
+ command: string;
139
+ description: string;
140
+ timeoutMs: number;
141
+ workingDirectory?: string;
142
+ }): {
143
+ job: {
144
+ id: string;
145
+ status: string;
146
+ };
147
+ timeoutMs: number;
148
+ };
149
+ /**
150
+ * Start a monitor whose source is a WebSocket connection. Separate from
151
+ * {@link startMonitor} so a host that implements that one for commands is
152
+ * not handed an input it was not written for; a host without this method
153
+ * refuses a `ws` call with a plain message. The target's addresses are
154
+ * already checked; see {@link MonitorWebSocketTarget}.
155
+ */
156
+ startWebSocketMonitor?(params: {
157
+ description: string;
158
+ timeoutMs: number;
159
+ workingDirectory?: string;
160
+ webSocket: MonitorWebSocketTarget;
161
+ }): {
162
+ job: {
163
+ id: string;
164
+ status: string;
165
+ };
166
+ timeoutMs: number;
167
+ };
112
168
  get(id: string): {
113
169
  id: string;
114
170
  status: string;
@@ -159,6 +215,10 @@ export interface BackgroundJobRegistryRef {
159
215
  id: string;
160
216
  command: string;
161
217
  status: string;
218
+ /** `monitor` for a job the `monitor` tool started. */
219
+ kind?: 'monitor';
220
+ /** What a monitor watches. */
221
+ description?: string;
162
222
  }[];
163
223
  /**
164
224
  * Await this job's exit instead of reading it in a loop; resolves at
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/tool/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/tool/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/tool/index.ts"],"names":[],"mappings":"AA8uCA,cAAc,aAAa,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/tool/index.ts"],"names":[],"mappings":"AAgyCA,cAAc,aAAa,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@namzu/sdk",
3
- "version": "52.2.0",
3
+ "version": "52.4.0",
4
4
  "description": "Open-source AI kernel for TypeScript: runs an agent the way an operating system runs a process, with an identity and a budget, scheduled tool calls and checkpointed turns.",
5
5
  "license": "FSL-1.1-MIT",
6
6
  "engines": {
@@ -64,6 +64,7 @@
64
64
  "@types/brace-expansion": "^1.1.2",
65
65
  "@types/node": "^22.19.17",
66
66
  "@types/turndown": "^5.0.6",
67
+ "@types/ws": "8.18.1",
67
68
  "@vitest/coverage-v8": "^4.1.11",
68
69
  "fast-check": "^4.7.0",
69
70
  "jsonschema": "^1.5.0",
@@ -80,7 +81,8 @@
80
81
  "minimatch": "^9.0.9",
81
82
  "pica": "^10.0.3",
82
83
  "quickjs-emscripten-core": "0.32.0",
83
- "turndown": "^7.2.4"
84
+ "turndown": "^7.2.4",
85
+ "ws": "8.21.3"
84
86
  },
85
87
  "scripts": {
86
88
  "build": "tsc --build",
@@ -260,6 +260,9 @@ const MAPPING: {
260
260
  // A job's exit is housekeeping of this runtime's host; the peer sees the
261
261
  // task's outcome.
262
262
  background_job_exited: null,
263
+ // What a monitor printed is for the model and the host that started it; a
264
+ // peer sees the task's outcome.
265
+ monitor_event: null,
263
266
  // Compaction, succeeded or declined, is a property of how this runtime
264
267
  // manages its own context. A peer models a task lifecycle and cannot act on
265
268
  // either outcome.
@@ -152,6 +152,24 @@ const MAPPING: {
152
152
  status: e.status,
153
153
  ...(e.exitCode !== undefined ? { exit_code: e.exitCode } : {}),
154
154
  ...(e.signal ? { signal: e.signal } : {}),
155
+ ...(e.monitor
156
+ ? {
157
+ monitor: {
158
+ description: e.monitor.description,
159
+ ...(e.monitor.stopReason ? { stop_reason: e.monitor.stopReason } : {}),
160
+ },
161
+ }
162
+ : {}),
163
+ }),
164
+ },
165
+ monitor_event: {
166
+ wire: 'monitor.event',
167
+ transform: (e) => ({
168
+ job_id: e.jobId,
169
+ event_id: e.eventId,
170
+ description: e.description,
171
+ kind: e.kind,
172
+ text: e.text,
155
173
  }),
156
174
  },
157
175
  memory_consolidated: {
@@ -101,6 +101,9 @@ export function isPrivateAddress(address: string): boolean {
101
101
  if (a === 192 && b === 168) return true // private
102
102
  if (a === 169 && b === 254) return true // link-local, incl. cloud metadata
103
103
  if (a === 0) return true // "this network"
104
+ if (a === 100 && b >= 64 && b <= 127) return true // shared address space (CGNAT), 100.64.0.0/10
105
+ if (a === 198 && (b === 18 || b === 19)) return true // benchmarking, 198.18.0.0/15
106
+ if (a === 192 && b === 0 && parts[2] === 0) return true // IETF protocol assignments, 192.0.0.0/24
104
107
  if (a >= 224) return true // multicast and reserved
105
108
  return false
106
109
  }
@@ -123,8 +126,35 @@ export function isPrivateAddress(address: string): boolean {
123
126
  const low = Number.parseInt(mapped[2], 16)
124
127
  return isPrivateAddress(`${high >>> 8}.${high & 0xff}.${low >>> 8}.${low & 0xff}`)
125
128
  }
129
+ const hextets = expandHextets(canonical)
130
+ const embedded = (index: number): string => {
131
+ const high = hextets[index] ?? 0
132
+ const low = hextets[index + 1] ?? 0
133
+ return `${high >>> 8}.${high & 0xff}.${low >>> 8}.${low & 0xff}`
134
+ }
135
+ const zeros = (from: number, to: number): boolean =>
136
+ hextets.slice(from, to).every((hextet) => hextet === 0)
137
+ // IPv4-compatible, ::/96 (deprecated): `::7f00:1` is 127.0.0.1 for a
138
+ // stack that still honours it, and nothing public is addressed this way.
139
+ if (zeros(0, 6)) return true
140
+ // IPv4-translated, ::ffff:0:0/96 (SIIT): the IPv4 address is the last 32 bits.
141
+ if (zeros(0, 4) && hextets[4] === 0xffff && hextets[5] === 0)
142
+ return isPrivateAddress(embedded(6))
143
+ // NAT64 well-known prefix, 64:ff9b::/96: a translator turns it into the
144
+ // IPv4 address in the last 32 bits, so `64:ff9b::7f00:1` reaches
145
+ // 127.0.0.1 through it. Refused only when that address is private: a
146
+ // public one is what the prefix is for on an IPv6-only network.
147
+ if (hextets[0] === 0x64 && hextets[1] === 0xff9b && zeros(2, 6)) {
148
+ return isPrivateAddress(embedded(6))
149
+ }
150
+ // NAT64 local-use prefix, 64:ff9b:1::/48 (RFC 8215): a site's own
151
+ // translator, so the embedded address cannot be read from a fixed place.
152
+ if (hextets[0] === 0x64 && hextets[1] === 0xff9b && hextets[2] === 1) return true
153
+ // 6to4, 2002::/16: the IPv4 address is the next 32 bits.
154
+ if (hextets[0] === 0x2002) return isPrivateAddress(embedded(1))
126
155
  const firstHextet = Number.parseInt(canonical.split(':', 1)[0] ?? '0', 16)
127
156
  if ((firstHextet & 0xffc0) === 0xfe80) return true // link-local fe80::/10
157
+ if ((firstHextet & 0xffc0) === 0xfec0) return true // site-local fec0::/10 (deprecated)
128
158
  if ((firstHextet & 0xfe00) === 0xfc00) return true // unique-local fc00::/7
129
159
  if ((firstHextet & 0xff00) === 0xff00) return true // multicast ff00::/8
130
160
  return false
@@ -132,6 +162,17 @@ export function isPrivateAddress(address: string): boolean {
132
162
  return false
133
163
  }
134
164
 
165
+ /** A canonical IPv6 address (as `new URL` writes it, no dots) as its eight 16-bit groups. */
166
+ function expandHextets(canonical: string): number[] {
167
+ const [head = '', tail] = canonical.split('::')
168
+ const front = head === '' ? [] : head.split(':')
169
+ const back = tail === undefined || tail === '' ? [] : tail.split(':')
170
+ const fill = tail === undefined ? 0 : 8 - front.length - back.length
171
+ return [...front, ...new Array<string>(Math.max(0, fill)).fill('0'), ...back].map((group) =>
172
+ Number.parseInt(group, 16),
173
+ )
174
+ }
175
+
135
176
  export class GuardedFetchProvider implements WebFetchProvider {
136
177
  private readonly timeoutMs: number
137
178
  private readonly maxBytes: number
@@ -66,6 +66,7 @@ export type SessionStreamEventType =
66
66
  | 'compaction.tool_results_cleared'
67
67
  | 'memory.consolidated'
68
68
  | 'background_job.exited'
69
+ | 'monitor.event'
69
70
  | 'compaction.failed'
70
71
  /** A guardrail refused or corrected the turn. */
71
72
  | 'guardrail.triggered'
package/src/index.ts CHANGED
@@ -18,7 +18,29 @@ export {
18
18
  BackgroundJobRegistry,
19
19
  UnknownBackgroundJobError,
20
20
  bindOwner,
21
+ describeMonitorEnd,
21
22
  } from './runtime/jobs/registry.js'
23
+ export {
24
+ MONITOR_BATCH_MAX_CHARS,
25
+ MONITOR_BATCH_WINDOW_MS,
26
+ MONITOR_BUCKET_CAPACITY,
27
+ MONITOR_BUCKET_REFILL_MS,
28
+ MONITOR_LINE_MAX_CHARS,
29
+ MONITOR_NOTIFICATION_MAX_CHARS,
30
+ MONITOR_PARTIAL_LINE_MAX_BYTES,
31
+ MONITOR_SUPPRESSION_LIMIT_MS,
32
+ MONITOR_TIMEOUT_CAP_MS,
33
+ MONITOR_TIMEOUT_DEFAULT_MS,
34
+ MONITOR_TIMEOUT_MAX_MS,
35
+ MONITOR_TIMEOUT_MIN_MS,
36
+ createMonitorStream,
37
+ formatMonitorDuration,
38
+ } from './runtime/jobs/monitor-stream.js'
39
+ export type {
40
+ MonitorStream,
41
+ MonitorStreamOptions,
42
+ MonitorStreamStats,
43
+ } from './runtime/jobs/monitor-stream.js'
22
44
  export {
23
45
  createBackgroundJobId,
24
46
  isBackgroundJobId,
@@ -28,5 +50,6 @@ export type {
28
50
  BackgroundJobOutput,
29
51
  BackgroundJobRegistryConfig,
30
52
  BackgroundJobStatus,
53
+ MonitorEvent,
31
54
  StartJobParams,
32
55
  } from './runtime/jobs/registry.js'
@@ -1,5 +1,4 @@
1
1
  import { execFileSync } from 'node:child_process'
2
- import type { spawn } from 'node:child_process'
3
2
 
4
3
  /**
5
4
  * Git Bash children that the Windows process tree cannot reach.
@@ -83,7 +82,10 @@ function taskkillPath(): string {
83
82
  * already-dead tree that second call is a deliberate no-op, the same as the
84
83
  * POSIX SIGKILL that follows a SIGTERM which already worked.
85
84
  */
86
- export function killTree(child: ReturnType<typeof spawn>, signal: NodeJS.Signals): void {
85
+ export function killTree(
86
+ child: { readonly pid?: number | undefined },
87
+ signal: NodeJS.Signals,
88
+ ): void {
87
89
  if (!child.pid) return
88
90
  try {
89
91
  if (process.platform === 'win32') {
@@ -340,6 +340,9 @@ export {
340
340
  export {
341
341
  SteeringBinding,
342
342
  attachSteering,
343
+ capMonitorNotifications,
344
+ formatMonitorEnd,
345
+ formatMonitorEvent,
343
346
  formatSteeringNote,
344
347
  } from './runtime/query/steering.js'
345
348
  export type { SteeringChannel } from './runtime/query/steering.js'
@@ -1584,7 +1587,7 @@ export type {
1584
1587
  LoggerOptions,
1585
1588
  MutableLogSinkCounters,
1586
1589
  } from './utils/log/types.js'
1587
- export type { JobProcess } from './runtime/jobs/registry.js'
1590
+ export type { JobChild, JobHost, JobPipe, JobProcess, JobSource } from './runtime/jobs/registry.js'
1588
1591
  export { WORKING_STATE_MIME } from './connector/mcp/adapter.js'
1589
1592
 
1590
1593
  export {
@@ -76,6 +76,7 @@ export {
76
76
  BashTool,
77
77
  type ExecHostShellProgress,
78
78
  SANDBOX_ESCAPE_NOT_APPROVED,
79
+ backgroundTasksDisabled,
79
80
  execHostShell,
80
81
  } from './tools/builtins/bash.js'
81
82
  export {
@@ -84,6 +85,19 @@ export {
84
85
  getCodeAnalysisTools,
85
86
  } from './tools/builtins/code-analysis.js'
86
87
  export { LSP_TOOL_NAME, LspTool, getCodeNavigationTools } from './tools/builtins/lsp.js'
88
+ // Watches a command's stdout and tells the model about each line while it keeps
89
+ // working. NOT in the default builtin set: it needs a host that delivers the
90
+ // events and wakes on them, so a host opts in (and may mount it deferred, as
91
+ // it does `code_analysis`).
92
+ export {
93
+ MONITOR_CANNOT_DETACH,
94
+ MONITOR_TOOL_NAME,
95
+ MONITOR_WEBSOCKET_WEB_OFF,
96
+ MonitorTool,
97
+ createMonitorTool,
98
+ getMonitorTools,
99
+ } from './tools/builtins/monitor.js'
100
+ export type { MonitorToolOptions } from './tools/builtins/monitor.js'
87
101
  export { GlobTool } from './tools/builtins/glob.js'
88
102
  export { GrepTool } from './tools/builtins/grep.js'
89
103
  // Reads, lists and stops what `bash run_in_background` starts. Ships in
@@ -7,7 +7,30 @@ import type { BackgroundJob, BackgroundJobRegistry } from './registry.js'
7
7
  * test that needs two exits and nothing else should not have to spawn
8
8
  * processes to produce them.
9
9
  */
10
- export type AwaitedJobSource = Pick<BackgroundJobRegistry, 'get' | 'onExit'>
10
+ export type AwaitedJobSource = Pick<BackgroundJobRegistry, 'get' | 'onExit'> &
11
+ Partial<Pick<BackgroundJobRegistry, 'onMonitorEvent'>>
12
+
13
+ /**
14
+ * Turn the adapter into the holder of a turn for the monitors the TURN owns.
15
+ *
16
+ * A monitor is the one kind of job whose point is that it keeps going, so
17
+ * "the model said it is waiting" cannot be the signal that holds a turn open
18
+ * for it: the model starts it and goes on. The signal is ownership instead. A
19
+ * turn that owns its jobs itself (a sub-agent, a plain SDK host: nobody
20
+ * outside the turn is listening) has no one else to hear a monitor's events,
21
+ * so ending while one runs would start a watch and discard everything it
22
+ * finds. A SESSION-owned monitor never comes through here: its host hears the
23
+ * events and wakes on them, and holding the turn for it would delay the end of
24
+ * every turn for as long as the watch lives.
25
+ */
26
+ export interface MonitorHold {
27
+ /**
28
+ * Whether the monitor notices the turn queued are still unread. The same
29
+ * second opinion `unreadNotice` is for exits: it can only narrow what counts
30
+ * as pending, never open a hold.
31
+ */
32
+ readonly unreadNotice: () => boolean
33
+ }
11
34
 
12
35
  /** Exits and the text that puts them in front of the model. See {@link AwaitedJobs.takeDelivery}. */
13
36
  export interface DeliverableJobExits {
@@ -49,6 +72,10 @@ export class AwaitedJobs {
49
72
  private exits: BackgroundJob[] = []
50
73
  private readonly arrivals = new Set<() => void>()
51
74
  private detach?: () => void
75
+ /** Running monitors the turn owns and holds itself open for. */
76
+ private readonly monitors = new Set<string>()
77
+ /** Monitor events and ends since the notices were last delivered. */
78
+ private monitorArrivals = 0
52
79
 
53
80
  constructor(
54
81
  private readonly source: AwaitedJobSource,
@@ -83,6 +110,8 @@ export class AwaitedJobs {
83
110
  * unread by definition.
84
111
  */
85
112
  private readonly unreadNotice?: () => boolean,
113
+ /** Present when the turn owns its monitors; see {@link MonitorHold}. */
114
+ private readonly monitorHold?: MonitorHold,
86
115
  ) {}
87
116
 
88
117
  /**
@@ -94,20 +123,109 @@ export class AwaitedJobs {
94
123
  */
95
124
  attach(): () => void {
96
125
  if (this.detach) return this.detach
97
- this.detach = this.source.onExit((job) => {
126
+ const stopMonitorEvents = this.monitorHold
127
+ ? this.source.onMonitorEvent?.((event) => {
128
+ if (event.owner !== this.owner || !this.monitors.has(event.jobId)) return
129
+ this.arrive()
130
+ })
131
+ : undefined
132
+ const stopExits = this.source.onExit((job) => {
98
133
  // `onExit` is a broadcast over a registry a host may share between
99
134
  // runs, and the filter is the same one the exit-notice channel
100
135
  // applies in `runtime/query/index.ts`.
101
136
  if (job.owner !== this.owner) return
137
+ // A monitor's end is news of its own kind, delivered with its events
138
+ // rather than paired with a job-exit notice. It also leaves the
139
+ // awaited set if the model happened to `wait_for_job` it, so the one
140
+ // end cannot be waited for twice.
141
+ if (this.monitors.delete(job.id)) {
142
+ this.outstanding.delete(job.id)
143
+ this.arrive()
144
+ return
145
+ }
102
146
  // `outstanding` is the gate, so an id nobody awaited is ignored and
103
147
  // a second announcement for the same job cannot queue twice.
104
148
  if (!this.outstanding.delete(job.id)) return
105
149
  this.exits.push(job)
106
150
  for (const wake of [...this.arrivals]) wake()
107
151
  })
152
+ this.detach = () => {
153
+ stopMonitorEvents?.()
154
+ stopExits()
155
+ }
108
156
  return this.detach
109
157
  }
110
158
 
159
+ private arrive(): void {
160
+ this.monitorArrivals++
161
+ for (const wake of [...this.arrivals]) wake()
162
+ }
163
+
164
+ /**
165
+ * Say that the turn owns this running monitor and must not end while it
166
+ * runs. Called by the executor when the bound registry starts one, and a
167
+ * no-op on a turn that does not own its monitors.
168
+ */
169
+ expectMonitor(id: string): void {
170
+ if (!this.monitorHold) return
171
+ let job: BackgroundJob
172
+ try {
173
+ job = this.source.get(id)
174
+ } catch {
175
+ return
176
+ }
177
+ if (job.owner !== this.owner || job.status !== 'running') return
178
+ this.monitors.add(id)
179
+ }
180
+
181
+ /** Monitor events or ends the model has not been shown yet. */
182
+ private get unreadMonitor(): boolean {
183
+ if (this.monitorArrivals === 0) return false
184
+ return this.monitorHold?.unreadNotice() ?? false
185
+ }
186
+
187
+ /**
188
+ * Milliseconds until the last held monitor expires, or `undefined` when the
189
+ * turn holds none. A monitor's own expiry is the bound on holding for it: a
190
+ * hold that ended earlier would walk away from a watch with time left, and
191
+ * one that ended later would be waiting for a stop that has already come.
192
+ */
193
+ monitorHoldMs(now: number = Date.now()): number | undefined {
194
+ let until: number | undefined
195
+ for (const id of this.monitors) {
196
+ let expiresAt: number | undefined
197
+ try {
198
+ expiresAt = this.source.get(id).expiresAt
199
+ } catch {
200
+ continue
201
+ }
202
+ if (expiresAt !== undefined) until = Math.max(until ?? 0, expiresAt)
203
+ }
204
+ return until === undefined ? undefined : Math.max(0, until - now)
205
+ }
206
+
207
+ /**
208
+ * Say that the queued monitor notices have been put in front of the model.
209
+ * The counterpart of {@link noticesDelivered}, for the tool-result path.
210
+ */
211
+ monitorNoticesDelivered(): void {
212
+ this.monitorArrivals = 0
213
+ }
214
+
215
+ /**
216
+ * Take the monitor notices together with the record that they were
217
+ * delivered, or neither. The pairing is {@link takeDelivery}'s, for the
218
+ * same reason: marking them delivered when no text was written would
219
+ * strand what arrived.
220
+ */
221
+ takeMonitorDelivery(notice: () => string | undefined): string | undefined {
222
+ if (this.monitorArrivals === 0) return undefined
223
+ const text = notice()
224
+ if (text === undefined) return undefined
225
+ this.monitorArrivals = 0
226
+ return text
227
+ }
228
+
111
229
  /**
112
230
  * Say that the model is waiting on this job's exit.
113
231
  *
@@ -150,7 +268,9 @@ export class AwaitedJobs {
150
268
 
151
269
  /** Whether an awaited job is still running, or one has exited unread. */
152
270
  get hasPendingWork(): boolean {
153
- return this.unreadExits || this.outstanding.size > 0
271
+ return (
272
+ this.unreadExits || this.outstanding.size > 0 || this.monitors.size > 0 || this.unreadMonitor
273
+ )
154
274
  }
155
275
 
156
276
  /**
@@ -163,8 +283,8 @@ export class AwaitedJobs {
163
283
  */
164
284
  waitForArrival(timeoutMs: number, signal?: AbortSignal): Promise<void> {
165
285
  if (signal?.aborted) return Promise.resolve()
166
- if (this.unreadExits) return Promise.resolve()
167
- if (this.outstanding.size === 0) return Promise.resolve()
286
+ if (this.unreadExits || this.unreadMonitor) return Promise.resolve()
287
+ if (this.outstanding.size === 0 && this.monitors.size === 0) return Promise.resolve()
168
288
 
169
289
  return new Promise((resolve) => {
170
290
  const finish = (): void => {
@@ -263,6 +383,8 @@ export class AwaitedJobs {
263
383
  this.detach?.()
264
384
  this.detach = undefined
265
385
  this.outstanding.clear()
386
+ this.monitors.clear()
387
+ this.monitorArrivals = 0
266
388
  this.exits = []
267
389
  // Release anyone still waiting. A closed adapter would otherwise hold
268
390
  // them to their own deadline for an exit that can no longer reach them.