@namzu/sdk 52.3.0 → 52.5.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 (176) hide show
  1. package/CHANGELOG.md +41 -0
  2. package/dist/authorization/gate.d.ts +11 -0
  3. package/dist/authorization/gate.d.ts.map +1 -1
  4. package/dist/authorization/gate.js +35 -0
  5. package/dist/authorization/gate.js.map +1 -1
  6. package/dist/authorization/removal.js +11 -6
  7. package/dist/authorization/removal.js.map +1 -1
  8. package/dist/authorization/rules.d.ts.map +1 -1
  9. package/dist/authorization/rules.js +30 -2
  10. package/dist/authorization/rules.js.map +1 -1
  11. package/dist/authorization/shell-paths.d.ts +20 -0
  12. package/dist/authorization/shell-paths.d.ts.map +1 -1
  13. package/dist/authorization/shell-paths.js +254 -52
  14. package/dist/authorization/shell-paths.js.map +1 -1
  15. package/dist/bridge/acp/server.d.ts +8 -0
  16. package/dist/bridge/acp/server.d.ts.map +1 -1
  17. package/dist/bridge/acp/server.js +7 -0
  18. package/dist/bridge/acp/server.js.map +1 -1
  19. package/dist/connector/web/guarded-fetch.d.ts.map +1 -1
  20. package/dist/connector/web/guarded-fetch.js +44 -0
  21. package/dist/connector/web/guarded-fetch.js.map +1 -1
  22. package/dist/manager/resident/outbox.d.ts +4 -4
  23. package/dist/process/kill-tree.d.ts +3 -2
  24. package/dist/process/kill-tree.d.ts.map +1 -1
  25. package/dist/process/kill-tree.js.map +1 -1
  26. package/dist/public-runtime.d.ts +3 -2
  27. package/dist/public-runtime.d.ts.map +1 -1
  28. package/dist/public-runtime.js +4 -1
  29. package/dist/public-runtime.js.map +1 -1
  30. package/dist/public-tools.d.ts +2 -1
  31. package/dist/public-tools.d.ts.map +1 -1
  32. package/dist/public-tools.js +1 -1
  33. package/dist/public-tools.js.map +1 -1
  34. package/dist/public-types.d.ts +1 -0
  35. package/dist/public-types.d.ts.map +1 -1
  36. package/dist/runtime/jobs/registry.d.ts +80 -2
  37. package/dist/runtime/jobs/registry.d.ts.map +1 -1
  38. package/dist/runtime/jobs/registry.js +70 -5
  39. package/dist/runtime/jobs/registry.js.map +1 -1
  40. package/dist/runtime/jobs/websocket-source.d.ts +120 -0
  41. package/dist/runtime/jobs/websocket-source.d.ts.map +1 -0
  42. package/dist/runtime/jobs/websocket-source.js +379 -0
  43. package/dist/runtime/jobs/websocket-source.js.map +1 -0
  44. package/dist/runtime/query/auto-review/classifier.d.ts +130 -0
  45. package/dist/runtime/query/auto-review/classifier.d.ts.map +1 -0
  46. package/dist/runtime/query/auto-review/classifier.js +244 -0
  47. package/dist/runtime/query/auto-review/classifier.js.map +1 -0
  48. package/dist/runtime/query/auto-review/index.d.ts +7 -0
  49. package/dist/runtime/query/auto-review/index.d.ts.map +1 -0
  50. package/dist/runtime/query/auto-review/index.js +4 -0
  51. package/dist/runtime/query/auto-review/index.js.map +1 -0
  52. package/dist/runtime/query/auto-review/prompt.d.ts +20 -0
  53. package/dist/runtime/query/auto-review/prompt.d.ts.map +1 -0
  54. package/dist/runtime/query/auto-review/prompt.js +89 -0
  55. package/dist/runtime/query/auto-review/prompt.js.map +1 -0
  56. package/dist/runtime/query/auto-review/rules.d.ts +49 -0
  57. package/dist/runtime/query/auto-review/rules.d.ts.map +1 -0
  58. package/dist/runtime/query/auto-review/rules.js +81 -0
  59. package/dist/runtime/query/auto-review/rules.js.map +1 -0
  60. package/dist/runtime/query/auto-review/transcript.d.ts +59 -0
  61. package/dist/runtime/query/auto-review/transcript.d.ts.map +1 -0
  62. package/dist/runtime/query/auto-review/transcript.js +116 -0
  63. package/dist/runtime/query/auto-review/transcript.js.map +1 -0
  64. package/dist/runtime/query/auto-review/verdict.d.ts +21 -0
  65. package/dist/runtime/query/auto-review/verdict.d.ts.map +1 -0
  66. package/dist/runtime/query/auto-review/verdict.js +45 -0
  67. package/dist/runtime/query/auto-review/verdict.js.map +1 -0
  68. package/dist/runtime/query/executor.d.ts +7 -0
  69. package/dist/runtime/query/executor.d.ts.map +1 -1
  70. package/dist/runtime/query/executor.js +26 -2
  71. package/dist/runtime/query/executor.js.map +1 -1
  72. package/dist/runtime/query/index.js +2 -2
  73. package/dist/runtime/query/index.js.map +1 -1
  74. package/dist/runtime/query/iteration/phases/context.d.ts +0 -9
  75. package/dist/runtime/query/iteration/phases/context.d.ts.map +1 -1
  76. package/dist/runtime/query/iteration/phases/context.js +11 -2
  77. package/dist/runtime/query/iteration/phases/context.js.map +1 -1
  78. package/dist/runtime/query/iteration/phases/tool-review.d.ts.map +1 -1
  79. package/dist/runtime/query/iteration/phases/tool-review.js +39 -0
  80. package/dist/runtime/query/iteration/phases/tool-review.js.map +1 -1
  81. package/dist/runtime/query/path-escalation.d.ts.map +1 -1
  82. package/dist/runtime/query/path-escalation.js +43 -10
  83. package/dist/runtime/query/path-escalation.js.map +1 -1
  84. package/dist/runtime/query/resume-pending.d.ts.map +1 -1
  85. package/dist/runtime/query/resume-pending.js +14 -0
  86. package/dist/runtime/query/resume-pending.js.map +1 -1
  87. package/dist/runtime/query/review-policy.d.ts +88 -1
  88. package/dist/runtime/query/review-policy.d.ts.map +1 -1
  89. package/dist/runtime/query/review-policy.js +504 -11
  90. package/dist/runtime/query/review-policy.js.map +1 -1
  91. package/dist/runtime/query/steering.d.ts +2 -2
  92. package/dist/runtime/query/steering.d.ts.map +1 -1
  93. package/dist/runtime/query/steering.js +16 -3
  94. package/dist/runtime/query/steering.js.map +1 -1
  95. package/dist/tools/builtins/bash.d.ts.map +1 -1
  96. package/dist/tools/builtins/bash.js +2 -0
  97. package/dist/tools/builtins/bash.js.map +1 -1
  98. package/dist/tools/builtins/classifier-input.d.ts +9 -0
  99. package/dist/tools/builtins/classifier-input.d.ts.map +1 -0
  100. package/dist/tools/builtins/classifier-input.js +20 -0
  101. package/dist/tools/builtins/classifier-input.js.map +1 -0
  102. package/dist/tools/builtins/code-analysis.d.ts +2 -0
  103. package/dist/tools/builtins/code-analysis.d.ts.map +1 -1
  104. package/dist/tools/builtins/code-analysis.js +196 -119
  105. package/dist/tools/builtins/code-analysis.js.map +1 -1
  106. package/dist/tools/builtins/computer-use.d.ts +10 -10
  107. package/dist/tools/builtins/edit.d.ts.map +1 -1
  108. package/dist/tools/builtins/edit.js +12 -0
  109. package/dist/tools/builtins/edit.js.map +1 -1
  110. package/dist/tools/builtins/monitor.d.ts +38 -4
  111. package/dist/tools/builtins/monitor.d.ts.map +1 -1
  112. package/dist/tools/builtins/monitor.js +239 -97
  113. package/dist/tools/builtins/monitor.js.map +1 -1
  114. package/dist/tools/builtins/web.d.ts.map +1 -1
  115. package/dist/tools/builtins/web.js +3 -0
  116. package/dist/tools/builtins/web.js.map +1 -1
  117. package/dist/tools/builtins/write-file.d.ts.map +1 -1
  118. package/dist/tools/builtins/write-file.js +6 -0
  119. package/dist/tools/builtins/write-file.js.map +1 -1
  120. package/dist/tools/defineTool.d.ts +2 -0
  121. package/dist/tools/defineTool.d.ts.map +1 -1
  122. package/dist/tools/defineTool.js +1 -0
  123. package/dist/tools/defineTool.js.map +1 -1
  124. package/dist/types/acp/index.d.ts +7 -0
  125. package/dist/types/acp/index.d.ts.map +1 -1
  126. package/dist/types/code-analysis/index.d.ts +54 -3
  127. package/dist/types/code-analysis/index.d.ts.map +1 -1
  128. package/dist/types/hitl/index.d.ts +45 -1
  129. package/dist/types/hitl/index.d.ts.map +1 -1
  130. package/dist/types/hitl/index.js.map +1 -1
  131. package/dist/types/sandbox/index.d.ts +10 -0
  132. package/dist/types/sandbox/index.d.ts.map +1 -1
  133. package/dist/types/sandbox/index.js.map +1 -1
  134. package/dist/types/tool/index.d.ts +51 -0
  135. package/dist/types/tool/index.d.ts.map +1 -1
  136. package/dist/types/tool/index.js.map +1 -1
  137. package/package.json +4 -2
  138. package/src/authorization/gate.ts +35 -0
  139. package/src/authorization/removal.ts +12 -6
  140. package/src/authorization/rules.ts +27 -2
  141. package/src/authorization/shell-paths.ts +264 -51
  142. package/src/bridge/acp/server.ts +20 -0
  143. package/src/connector/web/guarded-fetch.ts +41 -0
  144. package/src/process/kill-tree.ts +4 -2
  145. package/src/public-runtime.ts +19 -1
  146. package/src/public-tools.ts +3 -0
  147. package/src/public-types.ts +11 -0
  148. package/src/runtime/jobs/registry.ts +162 -13
  149. package/src/runtime/jobs/websocket-source.ts +438 -0
  150. package/src/runtime/query/auto-review/classifier.ts +404 -0
  151. package/src/runtime/query/auto-review/index.ts +23 -0
  152. package/src/runtime/query/auto-review/prompt.ts +97 -0
  153. package/src/runtime/query/auto-review/rules.ts +106 -0
  154. package/src/runtime/query/auto-review/transcript.ts +159 -0
  155. package/src/runtime/query/auto-review/verdict.ts +50 -0
  156. package/src/runtime/query/executor.ts +29 -2
  157. package/src/runtime/query/index.ts +2 -2
  158. package/src/runtime/query/iteration/phases/context.ts +17 -3
  159. package/src/runtime/query/iteration/phases/tool-review.ts +41 -0
  160. package/src/runtime/query/path-escalation.ts +44 -9
  161. package/src/runtime/query/resume-pending.ts +14 -0
  162. package/src/runtime/query/review-policy.ts +591 -14
  163. package/src/runtime/query/steering.ts +32 -6
  164. package/src/tools/builtins/bash.ts +3 -0
  165. package/src/tools/builtins/classifier-input.ts +19 -0
  166. package/src/tools/builtins/code-analysis.ts +211 -119
  167. package/src/tools/builtins/edit.ts +13 -0
  168. package/src/tools/builtins/monitor.ts +297 -123
  169. package/src/tools/builtins/web.ts +3 -0
  170. package/src/tools/builtins/write-file.ts +6 -0
  171. package/src/tools/defineTool.ts +3 -0
  172. package/src/types/acp/index.ts +7 -0
  173. package/src/types/code-analysis/index.ts +51 -3
  174. package/src/types/hitl/index.ts +49 -1
  175. package/src/types/sandbox/index.ts +10 -0
  176. package/src/types/tool/index.ts +44 -0
@@ -1 +1 @@
1
- {"version":3,"file":"edit.js","sourceRoot":"","sources":["../../../src/tools/builtins/edit.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"edit.js","sourceRoot":"","sources":["../../../src/tools/builtins/edit.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { type WebSocketVetOptions } from '../../runtime/jobs/websocket-source.js';
1
2
  export declare const MONITOR_TOOL_NAME = "monitor";
2
3
  /**
3
4
  * What a sandbox without `spawnDetached` is told. The wording of `bash`'s own
@@ -6,10 +7,42 @@ export declare const MONITOR_TOOL_NAME = "monitor";
6
7
  * rule: the watch is never run on the host to get around the sandbox.
7
8
  */
8
9
  export declare const MONITOR_CANNOT_DETACH = "monitor is unavailable: this sandbox cannot start a detached process, and the watch will not be run on the host to get around it. Run the command in the foreground with bash, with a timeout.";
9
- export declare const MonitorTool: import("../../public-types.js").ToolDefinition<{
10
- command: string;
10
+ /** What a host can tune about the WebSocket source; for tests only, see {@link WebSocketVetOptions}. */
11
+ export interface MonitorToolOptions {
12
+ readonly webSocket?: WebSocketVetOptions;
13
+ /**
14
+ * How to turn web access on, in the host's own words, appended to the
15
+ * refusal a WebSocket call gets while it is off. The SDK cannot name a
16
+ * switch it does not own (a CLI config key, a desktop setting), and a
17
+ * refusal that only says "off" leaves the operator guessing. One short
18
+ * sentence; it is shown to the model and the operator as written.
19
+ */
20
+ readonly webAccessHint?: string;
21
+ }
22
+ /** The text that says a WebSocket watch was refused because the host has web access off. */
23
+ export declare const MONITOR_WEBSOCKET_WEB_OFF = "WebSocket monitors follow the host's web access setting, and web access is switched off here, so no connection was opened. Watch the service with a command (for example curl or websocat through monitor) if the operator allows it.";
24
+ /**
25
+ * The tool, built once with defaults for a host and again by a test that needs
26
+ * to reach a server on this machine. The options belong to whoever builds the
27
+ * tool; nothing a model sends can set them.
28
+ */
29
+ export declare function createMonitorTool(options?: MonitorToolOptions): import("../../types/tool/index.js").ToolDefinition<{
30
+ description: string;
31
+ timeout_ms: number;
32
+ command?: string | undefined;
33
+ ws?: {
34
+ url: string;
35
+ protocols?: string[] | undefined;
36
+ } | undefined;
37
+ }>;
38
+ export declare const MonitorTool: import("../../types/tool/index.js").ToolDefinition<{
11
39
  description: string;
12
40
  timeout_ms: number;
41
+ command?: string | undefined;
42
+ ws?: {
43
+ url: string;
44
+ protocols?: string[] | undefined;
45
+ } | undefined;
13
46
  }>;
14
47
  /**
15
48
  * The tool, for a host that opts in.
@@ -18,7 +51,8 @@ export declare const MonitorTool: import("../../public-types.js").ToolDefinition
18
51
  * wakes on them, and offering a tool that starts a job nobody will hear from
19
52
  * is worse than not offering it. A function rather than a constant so a host
20
53
  * can decide per turn, and so it reads like `getCodeAnalysisTools`, beside
21
- * which a host mounts it deferred.
54
+ * which a host mounts it deferred. Called with no options it returns the
55
+ * shared {@link MonitorTool}.
22
56
  */
23
- export declare function getMonitorTools(): (typeof MonitorTool)[];
57
+ export declare function getMonitorTools(options?: MonitorToolOptions): (typeof MonitorTool)[];
24
58
  //# sourceMappingURL=monitor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"monitor.d.ts","sourceRoot":"","sources":["../../../src/tools/builtins/monitor.ts"],"names":[],"mappings":"AA8EA,eAAO,MAAM,iBAAiB,YAAY,CAAA;AAE1C;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,mMAC+J,CAAA;AAKjM,eAAO,MAAM,WAAW;;;;EAoGtB,CAAA;AAEF;;;;;;;;GAQG;AACH,wBAAgB,eAAe,IAAI,CAAC,OAAO,WAAW,CAAC,EAAE,CAExD"}
1
+ {"version":3,"file":"monitor.d.ts","sourceRoot":"","sources":["../../../src/tools/builtins/monitor.ts"],"names":[],"mappings":"AAQA,OAAO,EAGN,KAAK,mBAAmB,EAMxB,MAAM,wCAAwC,CAAA;AAgH/C,eAAO,MAAM,iBAAiB,YAAY,CAAA;AAE1C;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,mMAC+J,CAAA;AAMjM,wGAAwG;AACxG,MAAM,WAAW,kBAAkB;IAClC,QAAQ,CAAC,SAAS,CAAC,EAAE,mBAAmB,CAAA;IACxC;;;;;;OAMG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,CAAA;CAC/B;AAED,4FAA4F;AAC5F,eAAO,MAAM,yBAAyB,0OACkM,CAAA;AAKxO;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,GAAE,kBAAuB;;;;;;;;GAkMjE;AAED,eAAO,MAAM,WAAW;;;;;;;;EAAsB,CAAA;AAE9C;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAAC,OAAO,CAAC,EAAE,kBAAkB,GAAG,CAAC,OAAO,WAAW,CAAC,EAAE,CAEpF"}
@@ -1,5 +1,6 @@
1
1
  import { z } from 'zod';
2
2
  import { MONITOR_TIMEOUT_DEFAULT_MS, MONITOR_TIMEOUT_MAX_MS, MONITOR_TIMEOUT_MIN_MS, formatMonitorDuration, } from '../../runtime/jobs/monitor-stream.js';
3
+ import { WEBSOCKET_PROTOCOLS_MAX, WebSocketRefusedError, vetWebSocketTarget, webSocketHostname, webSocketProtocolsProblem, webSocketSandboxRefusal, webSocketUrlProblem, } from '../../runtime/jobs/websocket-source.js';
3
4
  import { bashToolDialect, hostCommandShell, isWindowsBash, rewriteWindowsNullRedirect, } from '../command-shell.js';
4
5
  import { defineTool } from '../defineTool.js';
5
6
  import { DISABLE_BACKGROUND_TASKS_ENV, backgroundTasksDisabled, isDangerousCommand, } from './bash.js';
@@ -22,8 +23,38 @@ import { DISABLE_BACKGROUND_TASKS_ENV, backgroundTasksDisabled, isDangerousComma
22
23
  * read the command the way they read `bash`'s, and it is never read-only. It
23
24
  * has no way out of the sandbox: a watch that outlives one approved call must
24
25
  * not run outside the boundary that call was approved under.
26
+ *
27
+ * A source can also be a WebSocket (`ws`), for services that push their events
28
+ * and offer no command that prints them. That one is a different thing to
29
+ * approve: it is not a shell line, it opens a connection FROM THE HOST to an
30
+ * address the model chose, and it does so outside any sandbox. So it is read
31
+ * by no command rule, it is always reviewed, a sandbox that blocks the network
32
+ * refuses it, and the address is checked and pinned (see
33
+ * `runtime/jobs/websocket-source.ts`). Untrusted frames reach the model the way
34
+ * a command's lines do: through the monitor event path, in its untrusted frame.
25
35
  */
26
- const inputSchema = z.object({
36
+ const webSocketInput = z.object({
37
+ url: z
38
+ .string()
39
+ .superRefine((value, ctx) => {
40
+ const problem = webSocketUrlProblem(value);
41
+ if (problem !== undefined)
42
+ ctx.addIssue({ code: z.ZodIssueCode.custom, message: problem });
43
+ })
44
+ .describe('The ws:// or wss:// URL to connect to. A query string is kept; credentials in it are refused.'),
45
+ protocols: z
46
+ .array(z.string())
47
+ .max(WEBSOCKET_PROTOCOLS_MAX)
48
+ .superRefine((value, ctx) => {
49
+ const problem = webSocketProtocolsProblem(value);
50
+ if (problem !== undefined)
51
+ ctx.addIssue({ code: z.ZodIssueCode.custom, message: problem });
52
+ })
53
+ .optional()
54
+ .describe('Subprotocol names to offer, when the service asks for one.'),
55
+ });
56
+ const inputSchema = z
57
+ .object({
27
58
  description: z
28
59
  .string()
29
60
  .min(1)
@@ -35,7 +66,11 @@ const inputSchema = z.object({
35
66
  // Same rewrite as `bash`, for the same reason: the rules read the line a
36
67
  // shell will run.
37
68
  .transform((command) => isWindowsBash(hostCommandShell()) ? rewriteWindowsNullRedirect(command) : command)
38
- .describe('The shell command to watch. Each line it prints to stdout becomes an event. It runs until it ends or the timeout; it must not need stdin.'),
69
+ .optional()
70
+ .describe('The shell command to watch. Each line it prints to stdout becomes an event. It runs until it ends or the timeout; it must not need stdin. Give this or ws, not both.'),
71
+ ws: webSocketInput
72
+ .optional()
73
+ .describe('Watch a WebSocket instead of a command: each line of each text frame the server sends becomes an event. Give this or command, not both.'),
39
74
  timeout_ms: z
40
75
  .preprocess((v) => (typeof v === 'string' ? Number(v) : v), z
41
76
  .number()
@@ -44,6 +79,9 @@ const inputSchema = z.object({
44
79
  .max(MONITOR_TIMEOUT_MAX_MS)
45
80
  .default(MONITOR_TIMEOUT_DEFAULT_MS))
46
81
  .describe(`How long to watch, in milliseconds. Default ${MONITOR_TIMEOUT_DEFAULT_MS}. The host caps it (30 minutes by default; shorter in a single-shot run), and a larger value is lowered to that cap without an error; the result states the time actually granted.`),
82
+ })
83
+ .refine((input) => (input.command === undefined) !== (input.ws === undefined), {
84
+ message: 'Give exactly one of command and ws.',
47
85
  });
48
86
  export const MONITOR_TOOL_NAME = 'monitor';
49
87
  /**
@@ -53,105 +91,208 @@ export const MONITOR_TOOL_NAME = 'monitor';
53
91
  * rule: the watch is never run on the host to get around the sandbox.
54
92
  */
55
93
  export const MONITOR_CANNOT_DETACH = 'monitor is unavailable: this sandbox cannot start a detached process, and the watch will not be run on the host to get around it. Run the command in the foreground with bash, with a timeout.';
56
- const MONITOR_DESCRIPTION = 'Starts a command and tells you about each line it prints to stdout, as it prints it, while you keep working. Lines that arrive within 200 ms come together as one event. Use it to watch a log, a test or deploy run, a status endpoint — anything where you must react to something happening INSIDE a long-running command. For ONE notification when something finishes, do not use this: run bash with run_in_background and wait_for_job. Every stage of a pipe must flush per line or events arrive late or never (grep --line-buffered, awk with fflush(), sed -u; `head` cannot). Make the filter match failure as well as success (crash, Traceback, Error, FAILED, Killed…): silence from a monitor is not success. Poll a remote API no faster than every 30 seconds. stderr is not an event; read it with job. A monitor that prints too much is stopped, so filter at the source. It expires after the timeout (default 5 minutes, at most 30) and you get one notice; start it again if you still need it. Stop one early with job {"action":"kill","id":"<id>"}.';
57
- export const MonitorTool = defineTool({
58
- name: MONITOR_TOOL_NAME,
59
- description: MONITOR_DESCRIPTION,
60
- inputSchema,
61
- category: 'shell',
62
- // Bash's, because it IS a shell command: the gate reads the line, splits
63
- // chains, and applies the operator's rules to each part.
64
- commandArgument: 'command',
65
- commandDialect: bashToolDialect,
66
- permissions: ['shell_execute'],
67
- readOnly: false,
68
- destructive: (input) => isDangerousCommand(input.command),
69
- // Starting a monitor registers a job against the owner's cap and its id
70
- // is then named in later calls; two at once could race the cap, as they
71
- // can for a background `bash`.
72
- concurrencySafe: false,
73
- presentCall(input) {
74
- if (typeof input.command !== 'string')
75
- return undefined;
76
- return {
77
- kind: 'generic',
78
- label: `Monitor · ${typeof input.description === 'string' ? input.description : input.command}`,
79
- facts: { kind: 'command', command: input.command, background: true },
80
- };
81
- },
82
- async execute(input, context) {
83
- if (isDangerousCommand(input.command)) {
84
- return {
85
- success: false,
86
- output: '',
87
- error: `Dangerous command blocked: "${input.command}"`,
88
- facts: { kind: 'failure', reason: 'blocked', subject: MONITOR_TOOL_NAME },
89
- };
90
- }
91
- if (backgroundTasksDisabled()) {
92
- return {
93
- success: false,
94
- output: '',
95
- error: `Background jobs are switched off here (${DISABLE_BACKGROUND_TASKS_ENV}), and a monitor is one. Check in the foreground with bash instead.`,
96
- };
97
- }
98
- // Same rule as background bash: the executor withholds the registry from
99
- // a sandbox that cannot start a detached process, and this check is for
100
- // the direct caller who hands both.
101
- if (context.sandbox && context.sandbox.spawnDetached === undefined) {
102
- return { success: false, output: '', error: MONITOR_CANNOT_DETACH };
103
- }
104
- const jobs = context.backgroundJobs;
105
- if (!jobs) {
106
- return {
107
- success: false,
108
- output: '',
109
- error: 'monitor was requested, but this host provides no background job registry. Run the command in the foreground with bash, with a timeout.',
110
- };
111
- }
112
- if (!jobs.startMonitor) {
94
+ const MONITOR_DESCRIPTION = 'Starts a command and tells you about each line it prints to stdout, as it prints it, while you keep working. Lines that arrive within 200 ms come together as one event. Use it to watch a log, a test or deploy run, a status endpoint — anything where you must react to something happening INSIDE a long-running command. For ONE notification when something finishes, do not use this: run bash with run_in_background and wait_for_job. Every stage of a pipe must flush per line or events arrive late or never (grep --line-buffered, awk with fflush(), sed -u; `head` cannot). Make the filter match failure as well as success (crash, Traceback, Error, FAILED, Killed…): silence from a monitor is not success. Poll a remote API no faster than every 30 seconds. stderr is not an event; read it with job. A monitor that prints too much is stopped, so filter at the source. It expires after the timeout (default 5 minutes, at most 30) and you get one notice; start it again if you still need it. Stop one early with job {"action":"kill","id":"<id>"}. ' +
95
+ 'To watch a service that PUSHES events (a CI or log stream, a change feed) give ws instead of command: { "url": "wss://…", "protocols": [...] }. Each line of each text frame becomes an event, binary frames are only counted, and the watch ends when the server closes the connection. Use it for a push stream, not for request and response. It connects from this machine, so private and local addresses are refused, and you are asked before it connects.';
96
+ /** The text that says a WebSocket watch was refused because the host has web access off. */
97
+ export const MONITOR_WEBSOCKET_WEB_OFF = "WebSocket monitors follow the host's web access setting, and web access is switched off here, so no connection was opened. Watch the service with a command (for example curl or websocat through monitor) if the operator allows it.";
98
+ const MONITOR_WEBSOCKET_NOT_SUPPORTED = 'This host cannot start a WebSocket monitor, so no connection was opened. Watch the service with a command through monitor if the operator allows it.';
99
+ /**
100
+ * The tool, built once with defaults for a host and again by a test that needs
101
+ * to reach a server on this machine. The options belong to whoever builds the
102
+ * tool; nothing a model sends can set them.
103
+ */
104
+ export function createMonitorTool(options = {}) {
105
+ return defineTool({
106
+ name: MONITOR_TOOL_NAME,
107
+ description: MONITOR_DESCRIPTION,
108
+ inputSchema,
109
+ category: 'shell',
110
+ // Bash's, because it IS a shell command: the gate reads the line, splits
111
+ // chains, and applies the operator's rules to each part. A WebSocket call
112
+ // has no `command`, so a rule written for commands has nothing to match
113
+ // and cannot allow it; `requiresApproval` below is what asks.
114
+ commandArgument: 'command',
115
+ classifierInput: (input) => input.command !== undefined
116
+ ? `[long-running watch] ${input.command}`
117
+ : `[long-running WebSocket watch] ${JSON.stringify(input.ws)}`,
118
+ commandDialect: bashToolDialect,
119
+ // `network_access` too: a WebSocket call reaches the network. The gate
120
+ // reads a tool's `category`, not this list, to route a call, so declaring
121
+ // it changes no decision for a command; it says what the tool may do.
122
+ permissions: ['shell_execute', 'network_access'],
123
+ readOnly: false,
124
+ destructive: (input) => input.command !== undefined && isDangerousCommand(input.command),
125
+ // A WebSocket call is the one input-aware seam the gate offers that no
126
+ // allow rule or mode outranks: it connects from the host, outside any
127
+ // sandbox, to an address the model chose. `category: 'shell'` is what the
128
+ // sandboxed-shell preset auto-approves, and moving the whole tool to
129
+ // `network` would start asking about commands that were never a question;
130
+ // this asks only about the connection. It is stronger than "review where
131
+ // the mode reviews non-read-only calls": `auto` mode and an unattended
132
+ // turn are asked too (or refuse when nobody can be asked), which is the
133
+ // point for a connection that leaves the boundary those modes rely on.
134
+ requiresApproval: (input) => input.ws !== undefined,
135
+ // Starting a monitor registers a job against the owner's cap and its id
136
+ // is then named in later calls; two at once could race the cap, as they
137
+ // can for a background `bash`.
138
+ concurrencySafe: false,
139
+ presentCall(input) {
140
+ const label = typeof input.description === 'string' ? input.description : undefined;
141
+ if (input.ws !== undefined && typeof input.ws === 'object') {
142
+ const ws = input.ws;
143
+ if (typeof ws.url !== 'string')
144
+ return undefined;
145
+ const protocols = Array.isArray(ws.protocols) && ws.protocols.length > 0
146
+ ? ` (subprotocols: ${ws.protocols.join(', ')})`
147
+ : '';
148
+ // What will happen, said plainly, because this is what a person
149
+ // approves: no command line stands in for it.
150
+ return {
151
+ kind: 'generic',
152
+ label: `Monitor${label ? ` · ${label}` : ''} · WebSocket ${ws.url}${protocols}`,
153
+ };
154
+ }
155
+ if (typeof input.command !== 'string')
156
+ return undefined;
113
157
  return {
114
- success: false,
115
- output: '',
116
- error: 'This host cannot deliver monitor events, so no watch was started. Use bash with run_in_background and wait_for_job to be told when a command finishes.',
158
+ kind: 'generic',
159
+ label: `Monitor · ${label ?? input.command}`,
160
+ facts: { kind: 'command', command: input.command, background: true },
117
161
  };
118
- }
119
- try {
120
- const { job, timeoutMs } = jobs.startMonitor({
121
- command: input.command,
122
- description: input.description,
123
- timeoutMs: input.timeout_ms,
124
- workingDirectory: context.workingDirectory,
125
- });
126
- // `startMonitor` returns before the process exists, and a spawn that
127
- // fails reports a tick later; wait for that one event so "started" is
128
- // never said of a watch that could not start.
129
- const startup = await jobs.awaitStarted?.(job.id);
130
- if (startup?.error !== undefined) {
162
+ },
163
+ async execute(input, context) {
164
+ if (input.command !== undefined && isDangerousCommand(input.command)) {
131
165
  return {
132
166
  success: false,
133
167
  output: '',
134
- error: `${startup.error} (monitor ${job.id} did not run).`,
135
- data: { jobId: job.id, monitor: true, startFailed: true },
168
+ error: `Dangerous command blocked: "${input.command}"`,
169
+ facts: { kind: 'failure', reason: 'blocked', subject: MONITOR_TOOL_NAME },
136
170
  };
137
171
  }
138
- return {
139
- success: true,
140
- output: `Monitor started (job ${job.id}, expires in ${formatMonitorDuration(timeoutMs)} unless the command ends first; you get one notice at expiry — start it again if you still need the watch). Each line the command prints to stdout reaches you as an event while you keep working; do not poll or sleep. Stop it with job {"action":"kill","id":"${job.id}"}. An event may arrive while you are waiting for the user — it is not their reply.`,
141
- data: { jobId: job.id, monitor: true, timeoutMs },
142
- facts: { kind: 'command', command: input.command, background: true },
143
- };
144
- }
145
- catch (err) {
146
- // The per-owner cap, most likely; naming the limit is actionable.
147
- return {
148
- success: false,
149
- output: '',
150
- error: err instanceof Error ? err.message : String(err),
151
- };
152
- }
153
- },
154
- });
172
+ if (backgroundTasksDisabled()) {
173
+ return {
174
+ success: false,
175
+ output: '',
176
+ error: `Background jobs are switched off here (${DISABLE_BACKGROUND_TASKS_ENV}), and a monitor is one. Check in the foreground with bash instead.`,
177
+ };
178
+ }
179
+ // What is checked about a connection is checked before anything that
180
+ // speaks of commands, so a refusal names its own cause.
181
+ let webSocket;
182
+ if (input.ws !== undefined) {
183
+ // The operator's switch for reaching the web at all. A host that has
184
+ // not given this turn a web capability has not decided to let the
185
+ // model open connections, and a WebSocket is one.
186
+ if (context.web?.fetch === undefined) {
187
+ return {
188
+ success: false,
189
+ output: '',
190
+ error: options.webAccessHint
191
+ ? `${MONITOR_WEBSOCKET_WEB_OFF} ${options.webAccessHint}`
192
+ : MONITOR_WEBSOCKET_WEB_OFF,
193
+ };
194
+ }
195
+ const hostname = webSocketHostname(input.ws.url);
196
+ const sandboxRefusal = webSocketSandboxRefusal(context.sandbox, hostname);
197
+ if (sandboxRefusal !== undefined) {
198
+ return { success: false, output: '', error: sandboxRefusal };
199
+ }
200
+ try {
201
+ const addresses = await vetWebSocketTarget(input.ws.url, options.webSocket);
202
+ webSocket = {
203
+ url: input.ws.url,
204
+ ...(input.ws.protocols ? { protocols: input.ws.protocols } : {}),
205
+ addresses,
206
+ };
207
+ }
208
+ catch (err) {
209
+ if (err instanceof WebSocketRefusedError) {
210
+ return { success: false, output: '', error: err.message };
211
+ }
212
+ throw err;
213
+ }
214
+ }
215
+ else if (context.sandbox && context.sandbox.spawnDetached === undefined) {
216
+ // Same rule as background bash: the executor withholds the registry
217
+ // from a sandbox that cannot start a detached process, and this check
218
+ // is for the direct caller who hands both.
219
+ return { success: false, output: '', error: MONITOR_CANNOT_DETACH };
220
+ }
221
+ const jobs = context.backgroundJobs;
222
+ if (!jobs) {
223
+ return {
224
+ success: false,
225
+ output: '',
226
+ error: 'monitor was requested, but this host provides no background job registry. Run the command in the foreground with bash, with a timeout.',
227
+ };
228
+ }
229
+ if (webSocket !== undefined && !jobs.startWebSocketMonitor) {
230
+ return {
231
+ success: false,
232
+ output: '',
233
+ error: MONITOR_WEBSOCKET_NOT_SUPPORTED,
234
+ };
235
+ }
236
+ if (webSocket === undefined && !jobs.startMonitor) {
237
+ return {
238
+ success: false,
239
+ output: '',
240
+ error: 'This host cannot deliver monitor events, so no watch was started. Use bash with run_in_background and wait_for_job to be told when a command finishes.',
241
+ };
242
+ }
243
+ try {
244
+ const common = {
245
+ description: input.description,
246
+ timeoutMs: input.timeout_ms,
247
+ workingDirectory: context.workingDirectory,
248
+ };
249
+ const { job, timeoutMs } = webSocket !== undefined
250
+ ? jobs.startWebSocketMonitor({
251
+ ...common,
252
+ webSocket,
253
+ })
254
+ : jobs.startMonitor({
255
+ ...common,
256
+ command: input.command,
257
+ });
258
+ // `startMonitor` returns before the process exists, and a spawn that
259
+ // fails reports a tick later; wait for that one event so "started" is
260
+ // never said of a watch that could not start.
261
+ const startup = await jobs.awaitStarted?.(job.id);
262
+ if (startup?.error !== undefined) {
263
+ return {
264
+ success: false,
265
+ output: '',
266
+ error: `${startup.error} (monitor ${job.id} did not run).`,
267
+ data: { jobId: job.id, monitor: true, startFailed: true },
268
+ };
269
+ }
270
+ if (webSocket !== undefined) {
271
+ return {
272
+ success: true,
273
+ output: `WebSocket monitor started (job ${job.id}, expires in ${formatMonitorDuration(timeoutMs)} unless the server closes the connection first; you get one notice at expiry — start it again if you still need the watch). Each line of each text frame the server sends reaches you as an event while you keep working; binary frames are only counted. The connection opens in the background: if it fails you are told in an event. Do not poll or sleep. Stop it with job {"action":"kill","id":"${job.id}"}. An event may arrive while you are waiting for the user — it is not their reply.`,
274
+ data: { jobId: job.id, monitor: true, timeoutMs, transport: 'websocket' },
275
+ };
276
+ }
277
+ return {
278
+ success: true,
279
+ output: `Monitor started (job ${job.id}, expires in ${formatMonitorDuration(timeoutMs)} unless the command ends first; you get one notice at expiry — start it again if you still need the watch). Each line the command prints to stdout reaches you as an event while you keep working; do not poll or sleep. Stop it with job {"action":"kill","id":"${job.id}"}. An event may arrive while you are waiting for the user — it is not their reply.`,
280
+ data: { jobId: job.id, monitor: true, timeoutMs },
281
+ facts: { kind: 'command', command: input.command, background: true },
282
+ };
283
+ }
284
+ catch (err) {
285
+ // The per-owner cap, most likely; naming the limit is actionable.
286
+ return {
287
+ success: false,
288
+ output: '',
289
+ error: err instanceof Error ? err.message : String(err),
290
+ };
291
+ }
292
+ },
293
+ });
294
+ }
295
+ export const MonitorTool = createMonitorTool();
155
296
  /**
156
297
  * The tool, for a host that opts in.
157
298
  *
@@ -159,9 +300,10 @@ export const MonitorTool = defineTool({
159
300
  * wakes on them, and offering a tool that starts a job nobody will hear from
160
301
  * is worse than not offering it. A function rather than a constant so a host
161
302
  * can decide per turn, and so it reads like `getCodeAnalysisTools`, beside
162
- * which a host mounts it deferred.
303
+ * which a host mounts it deferred. Called with no options it returns the
304
+ * shared {@link MonitorTool}.
163
305
  */
164
- export function getMonitorTools() {
165
- return [MonitorTool];
306
+ export function getMonitorTools(options) {
307
+ return [options === undefined ? MonitorTool : createMonitorTool(options)];
166
308
  }
167
309
  //# sourceMappingURL=monitor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"monitor.js","sourceRoot":"","sources":["../../../src/tools/builtins/monitor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"monitor.js","sourceRoot":"","sources":["../../../src/tools/builtins/monitor.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"web.d.ts","sourceRoot":"","sources":["../../../src/tools/builtins/web.ts"],"names":[],"mappings":"AA4DA,eAAO,MAAM,mBAAmB,cAAc,CAAA;AAC9C,eAAO,MAAM,oBAAoB,eAAe,CAAA;AAEhD,iFAAiF;AACjF,eAAO,MAAM,gBAAgB,kCAAkC,CAAA;AAM/D;;;GAGG;AACH,eAAO,MAAM,uBAAuB,QAKxB,CAAA;AAEZ,wDAAwD;AACxD,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAEtE;AAuDD,eAAO,MAAM,YAAY;;;;EAmIvB,CAAA;AA8DF,eAAO,MAAM,aAAa;;;EAgDxB,CAAA"}
1
+ {"version":3,"file":"web.d.ts","sourceRoot":"","sources":["../../../src/tools/builtins/web.ts"],"names":[],"mappings":"AA6DA,eAAO,MAAM,mBAAmB,cAAc,CAAA;AAC9C,eAAO,MAAM,oBAAoB,eAAe,CAAA;AAEhD,iFAAiF;AACjF,eAAO,MAAM,gBAAgB,kCAAkC,CAAA;AAM/D;;;GAGG;AACH,eAAO,MAAM,uBAAuB,QAKxB,CAAA;AAEZ,wDAAwD;AACxD,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAEtE;AAuDD,eAAO,MAAM,YAAY;;;;EAqIvB,CAAA;AA8DF,eAAO,MAAM,aAAa;;;EAgDxB,CAAA"}
@@ -3,6 +3,7 @@ import { z } from 'zod';
3
3
  import { WEB_PAGE_MODEL_MAX_CHARS, WEB_PAGE_TRUNCATED_MARKER, WebPageCache, htmlToMarkdown, } from '../../connector/web/page.js';
4
4
  import { WebFetchRefusedError } from '../../connector/web/types.js';
5
5
  import { defineTool } from '../defineTool.js';
6
+ import { clip } from './classifier-input.js';
6
7
  /**
7
8
  * The two web tools, and the reason they are one file.
8
9
  *
@@ -127,6 +128,8 @@ export const WebFetchTool = defineTool({
127
128
  // preset — handing outbound reach to runs whose sandbox was never asked
128
129
  // to confine the network.
129
130
  category: 'network',
131
+ // The classifier judges the address and what is asked of it.
132
+ classifierInput: (input) => `${clip(input.url, 1000)}: ${clip(input.prompt, 300)}`,
130
133
  permissions: ['network_access'],
131
134
  // Reads a page and changes nothing HERE. That is not the same as
132
135
  // harmless — a GET can still act on a remote system — which is why the