@namzu/sdk 52.3.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 (46) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/dist/connector/web/guarded-fetch.d.ts.map +1 -1
  3. package/dist/connector/web/guarded-fetch.js +44 -0
  4. package/dist/connector/web/guarded-fetch.js.map +1 -1
  5. package/dist/process/kill-tree.d.ts +3 -2
  6. package/dist/process/kill-tree.d.ts.map +1 -1
  7. package/dist/process/kill-tree.js.map +1 -1
  8. package/dist/public-runtime.d.ts +1 -1
  9. package/dist/public-runtime.d.ts.map +1 -1
  10. package/dist/public-tools.d.ts +2 -1
  11. package/dist/public-tools.d.ts.map +1 -1
  12. package/dist/public-tools.js +1 -1
  13. package/dist/public-tools.js.map +1 -1
  14. package/dist/runtime/jobs/registry.d.ts +80 -2
  15. package/dist/runtime/jobs/registry.d.ts.map +1 -1
  16. package/dist/runtime/jobs/registry.js +70 -5
  17. package/dist/runtime/jobs/registry.js.map +1 -1
  18. package/dist/runtime/jobs/websocket-source.d.ts +120 -0
  19. package/dist/runtime/jobs/websocket-source.d.ts.map +1 -0
  20. package/dist/runtime/jobs/websocket-source.js +379 -0
  21. package/dist/runtime/jobs/websocket-source.js.map +1 -0
  22. package/dist/runtime/query/steering.d.ts +2 -2
  23. package/dist/runtime/query/steering.d.ts.map +1 -1
  24. package/dist/runtime/query/steering.js +16 -3
  25. package/dist/runtime/query/steering.js.map +1 -1
  26. package/dist/tools/builtins/monitor.d.ts +38 -4
  27. package/dist/tools/builtins/monitor.d.ts.map +1 -1
  28. package/dist/tools/builtins/monitor.js +236 -97
  29. package/dist/tools/builtins/monitor.js.map +1 -1
  30. package/dist/types/sandbox/index.d.ts +10 -0
  31. package/dist/types/sandbox/index.d.ts.map +1 -1
  32. package/dist/types/sandbox/index.js.map +1 -1
  33. package/dist/types/tool/index.d.ts +35 -0
  34. package/dist/types/tool/index.d.ts.map +1 -1
  35. package/dist/types/tool/index.js.map +1 -1
  36. package/package.json +4 -2
  37. package/src/connector/web/guarded-fetch.ts +41 -0
  38. package/src/process/kill-tree.ts +4 -2
  39. package/src/public-runtime.ts +1 -1
  40. package/src/public-tools.ts +3 -0
  41. package/src/runtime/jobs/registry.ts +162 -13
  42. package/src/runtime/jobs/websocket-source.ts +438 -0
  43. package/src/runtime/query/steering.ts +32 -6
  44. package/src/tools/builtins/monitor.ts +293 -123
  45. package/src/types/sandbox/index.ts +10 -0
  46. package/src/types/tool/index.ts +27 -0
@@ -7,6 +7,7 @@ import { subscribeToAbort } from '../../utils/abort.js';
7
7
  import { oneMetadataLine } from '../system-events.js';
8
8
  import { createBackgroundJobId } from './job-id.js';
9
9
  import { MONITOR_TIMEOUT_CAP_MS, createMonitorStream, expiryNotice, tooMuchOutputNotice, } from './monitor-stream.js';
10
+ import { connectWebSocketSource, webSocketJobCommand } from './websocket-source.js';
10
11
  const DEFAULT_MAX_JOBS_PER_OWNER = 8;
11
12
  const DEFAULT_MAX_OUTPUT_BYTES = 1024 * 1024;
12
13
  const MAX_CHANNEL_CHUNKS = 4096;
@@ -124,6 +125,7 @@ export class BackgroundJobRegistry {
124
125
  kind,
125
126
  text,
126
127
  at: Date.now(),
128
+ ...(entry.record.transport ? { transport: entry.record.transport } : {}),
127
129
  };
128
130
  for (const listener of this.monitorListeners) {
129
131
  try {
@@ -210,8 +212,14 @@ export class BackgroundJobRegistry {
210
212
  // The same spawn as a foreground `bash` call, so the permission
211
213
  // rules' reading of the line holds for the job too, and so the two
212
214
  // cannot disagree about how a shell is started on a given platform.
215
+ const host = {
216
+ notice: (text, options) => this.noticeFromSource(entry, text, options?.final === true),
217
+ connectionClosed: (code, reason) => {
218
+ entry.record = { ...entry.record, closeCode: code, closeReason: reason };
219
+ },
220
+ };
213
221
  const started = params.spawn
214
- ? params.spawn()
222
+ ? params.spawn(host)
215
223
  : {
216
224
  child: spawnHostShell(params.command, {
217
225
  cwd: params.workingDirectory,
@@ -258,6 +266,8 @@ export class BackgroundJobRegistry {
258
266
  // follows is described as what it was and not as a stop
259
267
  // somebody asked for.
260
268
  entry.record = { ...entry.record, stopReason: 'too_much_output' };
269
+ if (entry.monitor)
270
+ entry.monitor.sealed = true;
261
271
  this.announceMonitorEvent(entry, 'notice', tooMuchOutputNotice(suppressed, overMs));
262
272
  void this.kill(id).catch(() => {
263
273
  // The retained record carries the failure (recoveryRequired).
@@ -280,6 +290,7 @@ export class BackgroundJobRegistry {
280
290
  kind: 'monitor',
281
291
  description: monitor.description,
282
292
  expiresAt: startedAt + monitor.timeoutMs,
293
+ ...(params.monitor?.transport ? { transport: params.monitor.transport } : {}),
283
294
  }
284
295
  : {}),
285
296
  },
@@ -449,11 +460,31 @@ export class BackgroundJobRegistry {
449
460
  // Nothing follows a terminal notice. A command that ignores SIGTERM keeps
450
461
  // printing until the SIGKILL, and those lines would reach the model after
451
462
  // it was told the watch was over.
463
+ monitor.sealed = true;
452
464
  monitor.stream.close();
453
465
  void this.kill(entry.record.id).catch(() => {
454
466
  // The retained record carries the failure (recoveryRequired).
455
467
  });
456
468
  }
469
+ /**
470
+ * A notice from the source of a monitor (a WebSocket's upgrade was refused,
471
+ * its connection closed). Delivered after whatever was already complete, so
472
+ * the last lines are not overtaken by the news that the stream ended.
473
+ */
474
+ noticeFromSource(entry, text, final) {
475
+ const monitor = entry.monitor;
476
+ if (!monitor || monitor.sealed)
477
+ return;
478
+ monitor.stream.flush();
479
+ // The flush can itself have stopped the monitor for too much output.
480
+ if (monitor.sealed)
481
+ return;
482
+ this.announceMonitorEvent(entry, 'notice', text);
483
+ if (final) {
484
+ monitor.sealed = true;
485
+ monitor.stream.close();
486
+ }
487
+ }
457
488
  /**
458
489
  * Resolves once the job's process exists, or once it could not be
459
490
  * created (`error` then says why). Lets a caller report a start that
@@ -718,10 +749,11 @@ export class BackgroundJobRegistry {
718
749
  // out, and nothing the dying process prints afterwards does. (The expiry
719
750
  // and output rules close it themselves, after their own notice.)
720
751
  const closeStream = () => {
721
- if (!stoppedBy)
752
+ if (!stoppedBy || !entry.monitor)
722
753
  return;
723
- entry.monitor?.stream.flush();
724
- entry.monitor?.stream.close();
754
+ entry.monitor.stream.flush();
755
+ entry.monitor.sealed = true;
756
+ entry.monitor.stream.close();
725
757
  };
726
758
  if (entry.terminateProcess) {
727
759
  entry.killRequested = true;
@@ -824,17 +856,37 @@ export function bindOwner(registry, owner, defaults = {}) {
824
856
  ...(monitor ? { monitor } : {}),
825
857
  });
826
858
  };
859
+ const clampMonitorTimeout = (requested) => Math.min(requested, defaults.monitorTimeoutCapMs ?? MONITOR_TIMEOUT_CAP_MS);
827
860
  return {
828
861
  start: (params) => launch(params),
829
862
  // The same spawn, owner and cap as `start`, plus a deadline. The timeout
830
863
  // is clamped to the host's ceiling and the clamped value is returned, so
831
864
  // the number the model is told is the number that will fire.
832
865
  startMonitor: (params) => {
833
- const timeoutMs = Math.min(params.timeoutMs, defaults.monitorTimeoutCapMs ?? MONITOR_TIMEOUT_CAP_MS);
866
+ const timeoutMs = clampMonitorTimeout(params.timeoutMs);
834
867
  const job = launch(params, { description: params.description, timeoutMs });
835
868
  defaults.onMonitorStarted?.(job.id);
836
869
  return { job, timeoutMs };
837
870
  },
871
+ // A monitor whose source is a WebSocket connection the HOST process
872
+ // opens, whatever the sandbox spawn would have done with a command: the
873
+ // tool has already checked the address and the sandbox's network rule,
874
+ // and the socket is pinned to the addresses it checked. A separate
875
+ // method so a host that implements `startMonitor` for commands is not
876
+ // handed an input it never wrote code for.
877
+ startWebSocketMonitor: (params) => {
878
+ const timeoutMs = clampMonitorTimeout(params.timeoutMs);
879
+ const { webSocket } = params;
880
+ const job = registry.start({
881
+ owner,
882
+ command: webSocketJobCommand(webSocket.url),
883
+ workingDirectory: params.workingDirectory ?? defaults.workingDirectory ?? process.cwd(),
884
+ spawn: (host) => connectWebSocketSource({ target: webSocket, host }),
885
+ monitor: { description: params.description, timeoutMs, transport: 'websocket' },
886
+ });
887
+ defaults.onMonitorStarted?.(job.id);
888
+ return { job, timeoutMs };
889
+ },
838
890
  // A foreground command that ran out of time, kept instead of killed.
839
891
  // The same owner and cap as `start`; the process is the one already
840
892
  // running, with what it has written so far.
@@ -893,6 +945,19 @@ export function describeMonitorEnd(job, stats) {
893
945
  const label = `Monitor "${oneMetadataLine(job.description ?? 'unnamed')}"`;
894
946
  if (job.status === 'killed')
895
947
  return { status: 'killed', summary: `${label} stopped` };
948
+ if (job.transport === 'websocket') {
949
+ // A connection has no script to fail and no exit status to quote: it was
950
+ // closed, by the server and with a code, or it never opened.
951
+ if (job.closeCode === undefined)
952
+ return { status: 'failed', summary: `${label} connection failed` };
953
+ // The code only. The server's reason is text it chose, and the summary
954
+ // is a metadata line outside the untrusted frame; the reason reaches the
955
+ // model inside the frame, in the `[WebSocket closed: ...]` notice.
956
+ return {
957
+ status: job.exitCode === 0 ? 'completed' : 'failed',
958
+ summary: `${label} connection closed (${job.closeCode})`,
959
+ };
960
+ }
896
961
  if (job.exitCode === 0 && job.error === undefined) {
897
962
  return stats.stdoutChars > 0
898
963
  ? { status: 'completed', summary: `${label} stream ended` }
@@ -1 +1 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/runtime/jobs/registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/runtime/jobs/registry.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,120 @@
1
+ import type { Sandbox } from '../../types/sandbox/index.js';
2
+ import type { MonitorWebSocketTarget } from '../../types/tool/index.js';
3
+ import type { JobHost, JobSource } from './registry.js';
4
+ /**
5
+ * A WebSocket as a monitor's source.
6
+ *
7
+ * A command's stdout is not the only thing worth watching: some services push
8
+ * their events (a CI run's log stream, a server's change feed) and offer no
9
+ * command that prints them. This module turns such a connection into the same
10
+ * thing a command is to the registry: a process-shaped object that writes
11
+ * lines on stdout, can be asked to stop, and ends. Everything after that (the
12
+ * 200 ms batches, the rationing, the expiry, the stop, the untrusted frame the
13
+ * model reads it in) is the registry's and is shared with commands unchanged.
14
+ *
15
+ * What is different is where it runs and what it can reach. A command runs
16
+ * where the registry's spawn puts it, inside a sandbox if there is one; this
17
+ * connection is opened by the HOST process, outside any sandbox. So the
18
+ * address is checked before anything is sent, a sandbox that isolates the
19
+ * network refuses it unless it has said the host is allowed, and the tool
20
+ * asks a person first (see `tools/builtins/monitor.ts`).
21
+ */
22
+ /** The largest frame accepted; a bigger one ends the watch. Same as the reference. */
23
+ export declare const WEBSOCKET_MAX_PAYLOAD_BYTES = 1048576;
24
+ export declare const WEBSOCKET_HANDSHAKE_TIMEOUT_MS = 15000;
25
+ /** After a polite close, how long a peer gets to answer before the socket is destroyed. */
26
+ export declare const WEBSOCKET_CLOSE_GRACE_MS = 1000;
27
+ export declare const WEBSOCKET_URL_MAX_CHARS = 2048;
28
+ export declare const WEBSOCKET_PROTOCOLS_MAX = 16;
29
+ /** Why a URL cannot be a monitor's source, or undefined when it can. */
30
+ export declare function webSocketUrlProblem(raw: string): string | undefined;
31
+ /** Why a subprotocol list is not valid, or undefined when it is. */
32
+ export declare function webSocketProtocolsProblem(protocols: readonly string[]): string | undefined;
33
+ /** What a record and an approval call this source: the URL as given, which can carry no credentials. */
34
+ export declare function webSocketJobCommand(url: string): string;
35
+ /** The address check refused, in words for the model. */
36
+ export declare class WebSocketRefusedError extends Error {
37
+ constructor(message: string);
38
+ }
39
+ export interface WebSocketVetOptions {
40
+ /**
41
+ * How a name becomes addresses. Defaults to `node:dns`. For tests only, and
42
+ * never reachable from a tool argument: the hook belongs to whoever builds
43
+ * the tool (`createMonitorTool`).
44
+ */
45
+ readonly resolve?: (hostname: string) => Promise<readonly string[]>;
46
+ /**
47
+ * Allow addresses inside the host's own network. For tests only: a local
48
+ * server on 127.0.0.1 is the one honest reason to, and it is a decision the
49
+ * code that builds the tool makes, never the model.
50
+ */
51
+ readonly allowPrivateAddresses?: boolean;
52
+ }
53
+ /** The host name of a WebSocket URL as a resolver or an address check wants it. */
54
+ export declare function webSocketHostname(raw: string): string;
55
+ /**
56
+ * Resolve the host and refuse unless EVERY address is outside the host's own
57
+ * network; return the addresses that were checked.
58
+ *
59
+ * Refusal covers a name that does not resolve, one that resolves to nothing,
60
+ * and one with any private address among its answers: a name that answers both
61
+ * a public and a private address is a name an attacker controls, and a
62
+ * connection may pick either. Failing to resolve is a refusal and never a
63
+ * pass: an empty list satisfies "no private address found" and the connection
64
+ * that followed would resolve the name again against whatever answered.
65
+ */
66
+ export declare function vetWebSocketTarget(raw: string, options?: WebSocketVetOptions): Promise<readonly {
67
+ readonly address: string;
68
+ readonly family: 4 | 6;
69
+ }[]>;
70
+ /**
71
+ * A `lookup` for the socket that answers with the addresses that were checked
72
+ * and nothing else.
73
+ *
74
+ * This is what closes the gap `web_fetch` documents: there the address is
75
+ * checked, then the platform `fetch` resolves the name AGAIN, so a name that
76
+ * answers publicly the first time and privately the second (DNS rebinding)
77
+ * gets through. Here the connection never asks DNS: it is handed the checked
78
+ * addresses, so there is no second answer to differ. The URL still names the
79
+ * host, so TLS keeps its SNI and its certificate check on the hostname and not
80
+ * on an address.
81
+ */
82
+ export declare function pinnedLookup(addresses: readonly {
83
+ readonly address: string;
84
+ readonly family: 4 | 6;
85
+ }[]): (_hostname: string, options: {
86
+ all?: boolean;
87
+ family?: number | string;
88
+ } | undefined, callback: (error: NodeJS.ErrnoException | null, address: string | {
89
+ address: string;
90
+ family: number;
91
+ }[], family?: number) => void) => void;
92
+ /** `api.example.com` is that host; `.example.com` is the domain and its subdomains. */
93
+ export declare function hostMatchesPolicy(hostname: string, allowedHosts: readonly string[]): boolean;
94
+ /**
95
+ * Why a sandbox forbids this connection, or undefined when it does not.
96
+ *
97
+ * The connection is opened by the host process, outside the boundary, so a
98
+ * sandbox's network rules do not bind it. If a turn runs under a sandbox that
99
+ * isolates the network, letting the host connect would be a way out of that
100
+ * isolation, so it is refused unless the sandbox's live policy names the host.
101
+ * A sandbox that does not isolate the network says nothing about it, and the
102
+ * connection is allowed, subject to the address check and to review.
103
+ */
104
+ export declare function webSocketSandboxRefusal(sandbox: Sandbox | undefined, hostname: string): string | undefined;
105
+ export declare const webSocketRejectedNotice: (status: number) => string;
106
+ export declare const webSocketErrorNotice: (message: string) => string;
107
+ export declare const webSocketClosedNotice: (code: number, reason: string) => string;
108
+ export declare const webSocketDroppedNotice: () => string;
109
+ export interface WebSocketSourceOptions {
110
+ readonly target: MonitorWebSocketTarget;
111
+ readonly host: JobHost;
112
+ }
113
+ /**
114
+ * Open the connection and return it as a job's process.
115
+ *
116
+ * The socket library is loaded when the first monitor of this kind starts, so
117
+ * a session that never watches a WebSocket never pays for it.
118
+ */
119
+ export declare function connectWebSocketSource(options: WebSocketSourceOptions): JobSource;
120
+ //# sourceMappingURL=websocket-source.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"websocket-source.d.ts","sourceRoot":"","sources":["../../../src/runtime/jobs/websocket-source.ts"],"names":[],"mappings":"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"}