@penclipai/adapter-utils 2026.426.0 → 2026.505.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 (62) hide show
  1. package/dist/command-managed-runtime.d.ts +8 -2
  2. package/dist/command-managed-runtime.d.ts.map +1 -1
  3. package/dist/command-managed-runtime.js +35 -8
  4. package/dist/command-managed-runtime.js.map +1 -1
  5. package/dist/command-managed-runtime.test.d.ts +2 -0
  6. package/dist/command-managed-runtime.test.d.ts.map +1 -0
  7. package/dist/command-managed-runtime.test.js +122 -0
  8. package/dist/command-managed-runtime.test.js.map +1 -0
  9. package/dist/command-redaction.d.ts +3 -0
  10. package/dist/command-redaction.d.ts.map +1 -0
  11. package/dist/command-redaction.js +17 -0
  12. package/dist/command-redaction.js.map +1 -0
  13. package/dist/execution-target-sandbox.test.js +252 -2
  14. package/dist/execution-target-sandbox.test.js.map +1 -1
  15. package/dist/execution-target.d.ts +41 -3
  16. package/dist/execution-target.d.ts.map +1 -1
  17. package/dist/execution-target.js +290 -15
  18. package/dist/execution-target.js.map +1 -1
  19. package/dist/execution-target.test.js +96 -1
  20. package/dist/execution-target.test.js.map +1 -1
  21. package/dist/index.d.ts +3 -1
  22. package/dist/index.d.ts.map +1 -1
  23. package/dist/index.js +1 -0
  24. package/dist/index.js.map +1 -1
  25. package/dist/remote-managed-runtime.d.ts +0 -1
  26. package/dist/remote-managed-runtime.d.ts.map +1 -1
  27. package/dist/remote-managed-runtime.js +1 -3
  28. package/dist/remote-managed-runtime.js.map +1 -1
  29. package/dist/sandbox-callback-bridge.d.ts +115 -0
  30. package/dist/sandbox-callback-bridge.d.ts.map +1 -0
  31. package/dist/sandbox-callback-bridge.js +641 -0
  32. package/dist/sandbox-callback-bridge.js.map +1 -0
  33. package/dist/sandbox-callback-bridge.test.d.ts +2 -0
  34. package/dist/sandbox-callback-bridge.test.d.ts.map +1 -0
  35. package/dist/sandbox-callback-bridge.test.js +516 -0
  36. package/dist/sandbox-callback-bridge.test.js.map +1 -0
  37. package/dist/sandbox-managed-runtime.d.ts +1 -2
  38. package/dist/sandbox-managed-runtime.d.ts.map +1 -1
  39. package/dist/sandbox-managed-runtime.js +1 -4
  40. package/dist/sandbox-managed-runtime.js.map +1 -1
  41. package/dist/sandbox-managed-runtime.test.js +7 -0
  42. package/dist/sandbox-managed-runtime.test.js.map +1 -1
  43. package/dist/sandbox-shell.d.ts +2 -0
  44. package/dist/sandbox-shell.d.ts.map +1 -0
  45. package/dist/sandbox-shell.js +4 -0
  46. package/dist/sandbox-shell.js.map +1 -0
  47. package/dist/server-utils.d.ts +29 -0
  48. package/dist/server-utils.d.ts.map +1 -1
  49. package/dist/server-utils.js +326 -11
  50. package/dist/server-utils.js.map +1 -1
  51. package/dist/server-utils.test.js +213 -1
  52. package/dist/server-utils.test.js.map +1 -1
  53. package/dist/session-compaction.d.ts.map +1 -1
  54. package/dist/session-compaction.js +6 -0
  55. package/dist/session-compaction.js.map +1 -1
  56. package/dist/ssh.d.ts +6 -6
  57. package/dist/ssh.d.ts.map +1 -1
  58. package/dist/ssh.js +71 -36
  59. package/dist/ssh.js.map +1 -1
  60. package/dist/types.d.ts +54 -0
  61. package/dist/types.d.ts.map +1 -1
  62. package/package.json +1 -1
@@ -13,17 +13,16 @@ export interface AdapterSshExecutionTarget {
13
13
  environmentId?: string | null;
14
14
  leaseId?: string | null;
15
15
  remoteCwd: string;
16
- paperclipApiUrl?: string | null;
17
16
  spec: SshRemoteExecutionSpec;
18
17
  }
19
18
  export interface AdapterSandboxExecutionTarget {
20
19
  kind: "remote";
21
20
  transport: "sandbox";
22
21
  providerKey?: string | null;
22
+ shellCommand?: "bash" | "sh" | null;
23
23
  environmentId?: string | null;
24
24
  leaseId?: string | null;
25
25
  remoteCwd: string;
26
- paperclipApiUrl?: string | null;
27
26
  timeoutMs?: number | null;
28
27
  runner?: CommandManagedRuntimeRunner;
29
28
  }
@@ -57,18 +56,47 @@ export interface AdapterExecutionTargetShellOptions {
57
56
  graceSec?: number;
58
57
  onLog?: (stream: "stdout" | "stderr", chunk: string) => Promise<void>;
59
58
  }
59
+ export interface AdapterExecutionTargetPaperclipBridgeHandle {
60
+ env: Record<string, string>;
61
+ stop(): Promise<void>;
62
+ }
60
63
  export declare function adapterExecutionTargetToRemoteSpec(target: AdapterExecutionTarget | null | undefined): AdapterRemoteExecutionSpec | null;
61
64
  export declare function adapterExecutionTargetIsRemote(target: AdapterExecutionTarget | null | undefined): boolean;
62
65
  export declare function adapterExecutionTargetUsesManagedHome(target: AdapterExecutionTarget | null | undefined): boolean;
63
66
  export declare function adapterExecutionTargetRemoteCwd(target: AdapterExecutionTarget | null | undefined, localCwd: string): string;
64
- export declare function adapterExecutionTargetPaperclipApiUrl(target: AdapterExecutionTarget | null | undefined): string | null;
67
+ export declare function resolveAdapterExecutionTargetCwd(target: AdapterExecutionTarget | null | undefined, configuredCwd: string | null | undefined, localFallbackCwd: string): string;
68
+ export declare function adapterExecutionTargetUsesPaperclipBridge(target: AdapterExecutionTarget | null | undefined): boolean;
65
69
  export declare function describeAdapterExecutionTarget(target: AdapterExecutionTarget | null | undefined): string;
66
70
  export declare function ensureAdapterExecutionTargetCommandResolvable(command: string, target: AdapterExecutionTarget | null | undefined, cwd: string, env: NodeJS.ProcessEnv): Promise<void>;
67
71
  export declare function resolveAdapterExecutionTargetCommandForLogs(command: string, target: AdapterExecutionTarget | null | undefined, cwd: string, env: NodeJS.ProcessEnv): Promise<string>;
68
72
  export declare function runAdapterExecutionTargetProcess(runId: string, target: AdapterExecutionTarget | null | undefined, command: string, args: string[], options: AdapterExecutionTargetProcessOptions): Promise<RunProcessResult>;
69
73
  export declare function runAdapterExecutionTargetShellCommand(runId: string, target: AdapterExecutionTarget | null | undefined, command: string, options: AdapterExecutionTargetShellOptions): Promise<RunProcessResult>;
70
74
  export declare function readAdapterExecutionTargetHomeDir(runId: string, target: AdapterExecutionTarget | null | undefined, options: AdapterExecutionTargetShellOptions): Promise<string | null>;
75
+ export declare function ensureAdapterExecutionTargetRuntimeCommandInstalled(input: {
76
+ runId: string;
77
+ target: AdapterExecutionTarget | null | undefined;
78
+ installCommand?: string | null;
79
+ detectCommand?: string | null;
80
+ cwd: string;
81
+ env: Record<string, string>;
82
+ timeoutSec?: number;
83
+ graceSec?: number;
84
+ onLog?: AdapterExecutionTargetShellOptions["onLog"];
85
+ }): Promise<void>;
71
86
  export declare function ensureAdapterExecutionTargetFile(runId: string, target: AdapterExecutionTarget | null | undefined, filePath: string, options: AdapterExecutionTargetShellOptions): Promise<void>;
87
+ /**
88
+ * Ensure a working directory exists (and is a directory) on the execution target.
89
+ *
90
+ * For local targets this delegates to the local `ensureAbsoluteDirectory` helper
91
+ * (Node fs). For remote (SSH/sandbox) targets it shells out and runs
92
+ * `mkdir -p` (when allowed) followed by a `[ -d ]` check so the result reflects
93
+ * the directory state inside the environment, not on the Paperclip host.
94
+ *
95
+ * Throws an Error with a human-readable message on failure.
96
+ */
97
+ export declare function ensureAdapterExecutionTargetDirectory(runId: string, target: AdapterExecutionTarget | null | undefined, cwd: string, options: AdapterExecutionTargetShellOptions & {
98
+ createIfMissing?: boolean;
99
+ }): Promise<void>;
72
100
  export declare function adapterExecutionTargetSessionIdentity(target: AdapterExecutionTarget | null | undefined): Record<string, unknown> | null;
73
101
  export declare function adapterExecutionTargetSessionMatches(saved: unknown, target: AdapterExecutionTarget | null | undefined): boolean;
74
102
  export declare function parseAdapterExecutionTarget(value: unknown): AdapterExecutionTarget | null;
@@ -87,4 +115,14 @@ export declare function prepareAdapterExecutionTargetRuntime(input: {
87
115
  installCommand?: string | null;
88
116
  }): Promise<PreparedAdapterExecutionTargetRuntime>;
89
117
  export declare function runtimeAssetDir(prepared: Pick<PreparedAdapterExecutionTargetRuntime, "assetDirs">, key: string, fallbackRemoteCwd: string): string;
118
+ export declare function startAdapterExecutionTargetPaperclipBridge(input: {
119
+ runId: string;
120
+ target: AdapterExecutionTarget | null | undefined;
121
+ runtimeRootDir: string | null | undefined;
122
+ adapterKey: string;
123
+ hostApiToken: string | null | undefined;
124
+ hostApiUrl?: string | null;
125
+ onLog?: (stream: "stdout" | "stderr", chunk: string) => Promise<void>;
126
+ maxBodyBytes?: number | null;
127
+ }): Promise<AdapterExecutionTargetPaperclipBridgeHandle | null>;
90
128
  //# sourceMappingURL=execution-target.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"execution-target.d.ts","sourceRoot":"","sources":["../src/execution-target.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"execution-target.d.ts","sourceRoot":"","sources":["../src/execution-target.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,10 @@
1
1
  import path from "node:path";
2
2
  import { prepareCommandManagedRuntime, } from "./command-managed-runtime.js";
3
3
  import { buildRemoteExecutionSessionIdentity, prepareRemoteManagedRuntime, remoteExecutionSessionMatches, } from "./remote-managed-runtime.js";
4
- import { parseSshRemoteExecutionSpec, runSshCommand, shellQuote } from "./ssh.js";
4
+ import { createCommandManagedSandboxCallbackBridgeQueueClient, createSandboxCallbackBridgeAsset, createSandboxCallbackBridgeToken, DEFAULT_SANDBOX_CALLBACK_BRIDGE_MAX_BODY_BYTES, startSandboxCallbackBridgeServer, startSandboxCallbackBridgeWorker, } from "./sandbox-callback-bridge.js";
5
+ import { createSshCommandManagedRuntimeRunner, parseSshRemoteExecutionSpec, runSshCommand, shellQuote } from "./ssh.js";
5
6
  import { ensureCommandResolvable, resolveCommandForLogs, runChildProcess, } from "./server-utils.js";
7
+ import { preferredShellForSandbox } from "./sandbox-shell.js";
6
8
  function parseObject(value) {
7
9
  return value && typeof value === "object" && !Array.isArray(value)
8
10
  ? value
@@ -14,6 +16,24 @@ function readString(value) {
14
16
  function readStringMeta(parsed, key) {
15
17
  return readString(parsed[key]);
16
18
  }
19
+ function resolveHostForUrl(rawHost) {
20
+ const host = rawHost.trim();
21
+ if (!host || host === "0.0.0.0" || host === "::")
22
+ return "localhost";
23
+ if (host.includes(":") && !host.startsWith("[") && !host.endsWith("]"))
24
+ return `[${host}]`;
25
+ return host;
26
+ }
27
+ function resolveDefaultPaperclipApiUrl() {
28
+ const runtimeHost = resolveHostForUrl(process.env.PAPERCLIP_LISTEN_HOST ?? process.env.HOST ?? "localhost");
29
+ // 3100 matches the default Paperclip dev server port when the runtime does not provide one.
30
+ const runtimePort = process.env.PAPERCLIP_LISTEN_PORT ?? process.env.PORT ?? "3100";
31
+ return `http://${runtimeHost}:${runtimePort}`;
32
+ }
33
+ function isBridgeDebugEnabled(env) {
34
+ const value = env.PAPERCLIP_BRIDGE_DEBUG?.trim().toLowerCase();
35
+ return value === "1" || value === "true" || value === "yes";
36
+ }
17
37
  function isAdapterExecutionTargetInstance(value) {
18
38
  const parsed = parseObject(value);
19
39
  if (parsed.kind === "local")
@@ -38,12 +58,14 @@ export function adapterExecutionTargetUsesManagedHome(target) {
38
58
  export function adapterExecutionTargetRemoteCwd(target, localCwd) {
39
59
  return target?.kind === "remote" ? target.remoteCwd : localCwd;
40
60
  }
41
- export function adapterExecutionTargetPaperclipApiUrl(target) {
42
- if (target?.kind !== "remote")
43
- return null;
44
- if (target.transport === "ssh")
45
- return target.paperclipApiUrl ?? target.spec.paperclipApiUrl ?? null;
46
- return target.paperclipApiUrl ?? null;
61
+ export function resolveAdapterExecutionTargetCwd(target, configuredCwd, localFallbackCwd) {
62
+ if (typeof configuredCwd === "string" && configuredCwd.trim().length > 0) {
63
+ return configuredCwd;
64
+ }
65
+ return adapterExecutionTargetRemoteCwd(target, localFallbackCwd);
66
+ }
67
+ export function adapterExecutionTargetUsesPaperclipBridge(target) {
68
+ return target?.kind === "remote";
47
69
  }
48
70
  export function describeAdapterExecutionTarget(target) {
49
71
  if (!target || target.kind === "local")
@@ -58,6 +80,25 @@ function requireSandboxRunner(target) {
58
80
  return target.runner;
59
81
  throw new Error("Sandbox execution target is missing its provider runtime runner. Sandbox commands must execute through the environment runtime.");
60
82
  }
83
+ function preferredSandboxShell(target) {
84
+ return preferredShellForSandbox(target.shellCommand);
85
+ }
86
+ function adapterExecutionTargetCommandRunner(target) {
87
+ if (target.transport === "ssh") {
88
+ return createSshCommandManagedRuntimeRunner({
89
+ spec: target.spec,
90
+ defaultCwd: target.remoteCwd,
91
+ maxBufferBytes: DEFAULT_SANDBOX_CALLBACK_BRIDGE_MAX_BODY_BYTES * 4,
92
+ });
93
+ }
94
+ return requireSandboxRunner(target);
95
+ }
96
+ function adapterExecutionTargetShellCommand(target) {
97
+ return target.transport === "ssh" ? "sh" : preferredSandboxShell(target);
98
+ }
99
+ function adapterExecutionTargetTimeoutMs(target) {
100
+ return target.transport === "sandbox" ? target.timeoutMs : undefined;
101
+ }
61
102
  export async function ensureAdapterExecutionTargetCommandResolvable(command, target, cwd, env) {
62
103
  if (target?.kind === "remote" && target.transport === "sandbox") {
63
104
  return;
@@ -162,8 +203,9 @@ export async function runAdapterExecutionTargetShellCommand(runId, target, comma
162
203
  };
163
204
  }
164
205
  }
206
+ const shellCommand = preferredSandboxShell(target);
165
207
  return await requireSandboxRunner(target).execute({
166
- command: "sh",
208
+ command: shellCommand,
167
209
  args: ["-lc", command],
168
210
  cwd: target.remoteCwd,
169
211
  env: options.env,
@@ -184,9 +226,83 @@ export async function readAdapterExecutionTargetHomeDir(runId, target, options)
184
226
  const homeDir = result.stdout.trim();
185
227
  return homeDir.length > 0 ? homeDir : null;
186
228
  }
229
+ export async function ensureAdapterExecutionTargetRuntimeCommandInstalled(input) {
230
+ const installCommand = input.installCommand?.trim();
231
+ if (!installCommand || input.target?.kind !== "remote" || input.target.transport !== "sandbox") {
232
+ return;
233
+ }
234
+ const detectCommand = input.detectCommand?.trim();
235
+ if (detectCommand) {
236
+ const probe = await runAdapterExecutionTargetShellCommand(input.runId, input.target, `command -v ${shellQuote(detectCommand)} >/dev/null 2>&1`, {
237
+ cwd: input.cwd,
238
+ env: input.env,
239
+ timeoutSec: input.timeoutSec,
240
+ graceSec: input.graceSec,
241
+ });
242
+ if (!probe.timedOut && probe.exitCode === 0) {
243
+ return;
244
+ }
245
+ }
246
+ const result = await runAdapterExecutionTargetShellCommand(input.runId, input.target, installCommand, {
247
+ cwd: input.cwd,
248
+ env: input.env,
249
+ timeoutSec: input.timeoutSec,
250
+ graceSec: input.graceSec,
251
+ onLog: input.onLog,
252
+ });
253
+ if (result.timedOut) {
254
+ throw new Error(`Timed out while installing the adapter runtime command via: ${installCommand}`);
255
+ }
256
+ if ((result.exitCode ?? 0) !== 0) {
257
+ throw new Error(`Failed to install the adapter runtime command via: ${installCommand}`);
258
+ }
259
+ }
187
260
  export async function ensureAdapterExecutionTargetFile(runId, target, filePath, options) {
188
261
  await runAdapterExecutionTargetShellCommand(runId, target, `mkdir -p ${shellQuote(path.posix.dirname(filePath))} && : > ${shellQuote(filePath)}`, options);
189
262
  }
263
+ /**
264
+ * Ensure a working directory exists (and is a directory) on the execution target.
265
+ *
266
+ * For local targets this delegates to the local `ensureAbsoluteDirectory` helper
267
+ * (Node fs). For remote (SSH/sandbox) targets it shells out and runs
268
+ * `mkdir -p` (when allowed) followed by a `[ -d ]` check so the result reflects
269
+ * the directory state inside the environment, not on the Paperclip host.
270
+ *
271
+ * Throws an Error with a human-readable message on failure.
272
+ */
273
+ export async function ensureAdapterExecutionTargetDirectory(runId, target, cwd, options) {
274
+ const createIfMissing = options.createIfMissing ?? false;
275
+ if (!target || target.kind === "local") {
276
+ const { ensureAbsoluteDirectory } = await import("./server-utils.js");
277
+ await ensureAbsoluteDirectory(cwd, { createIfMissing });
278
+ return;
279
+ }
280
+ // Remote (SSH or sandbox): both expect POSIX absolute paths inside the env.
281
+ if (!cwd.startsWith("/")) {
282
+ throw new Error(`Working directory must be an absolute POSIX path on the remote target: "${cwd}"`);
283
+ }
284
+ const quoted = shellQuote(cwd);
285
+ const script = createIfMissing
286
+ ? `mkdir -p ${quoted} && [ -d ${quoted} ]`
287
+ : `[ -d ${quoted} ]`;
288
+ const result = await runAdapterExecutionTargetShellCommand(runId, target, script, {
289
+ cwd: target.kind === "remote" ? target.remoteCwd : cwd,
290
+ env: options.env,
291
+ timeoutSec: options.timeoutSec ?? 15,
292
+ graceSec: options.graceSec ?? 5,
293
+ onLog: options.onLog,
294
+ });
295
+ if (result.timedOut) {
296
+ throw new Error(`Timed out checking working directory on remote target: "${cwd}"`);
297
+ }
298
+ if ((result.exitCode ?? 1) !== 0) {
299
+ const detail = (result.stderr || result.stdout || "").trim();
300
+ if (createIfMissing) {
301
+ throw new Error(`Could not create working directory "${cwd}" on remote target${detail ? `: ${detail}` : "."}`);
302
+ }
303
+ throw new Error(`Working directory does not exist on remote target: "${cwd}"${detail ? ` (${detail})` : ""}`);
304
+ }
305
+ }
190
306
  export function adapterExecutionTargetSessionIdentity(target) {
191
307
  if (!target || target.kind === "local")
192
308
  return null;
@@ -198,7 +314,6 @@ export function adapterExecutionTargetSessionIdentity(target) {
198
314
  environmentId: target.environmentId ?? null,
199
315
  leaseId: target.leaseId ?? null,
200
316
  remoteCwd: target.remoteCwd,
201
- ...(target.paperclipApiUrl ? { paperclipApiUrl: target.paperclipApiUrl } : {}),
202
317
  };
203
318
  }
204
319
  export function adapterExecutionTargetSessionMatches(saved, target) {
@@ -213,8 +328,7 @@ export function adapterExecutionTargetSessionMatches(saved, target) {
213
328
  readStringMeta(parsedSaved, "providerKey") === current?.providerKey &&
214
329
  readStringMeta(parsedSaved, "environmentId") === current?.environmentId &&
215
330
  readStringMeta(parsedSaved, "leaseId") === current?.leaseId &&
216
- readStringMeta(parsedSaved, "remoteCwd") === current?.remoteCwd &&
217
- readStringMeta(parsedSaved, "paperclipApiUrl") === (current?.paperclipApiUrl ?? null));
331
+ readStringMeta(parsedSaved, "remoteCwd") === current?.remoteCwd);
218
332
  }
219
333
  export function parseAdapterExecutionTarget(value) {
220
334
  const parsed = parseObject(value);
@@ -236,7 +350,6 @@ export function parseAdapterExecutionTarget(value) {
236
350
  environmentId: readStringMeta(parsed, "environmentId"),
237
351
  leaseId: readStringMeta(parsed, "leaseId"),
238
352
  remoteCwd: spec.remoteCwd,
239
- paperclipApiUrl: readStringMeta(parsed, "paperclipApiUrl") ?? spec.paperclipApiUrl ?? null,
240
353
  spec,
241
354
  };
242
355
  }
@@ -251,7 +364,6 @@ export function parseAdapterExecutionTarget(value) {
251
364
  environmentId: readStringMeta(parsed, "environmentId"),
252
365
  leaseId: readStringMeta(parsed, "leaseId"),
253
366
  remoteCwd,
254
- paperclipApiUrl: readStringMeta(parsed, "paperclipApiUrl"),
255
367
  timeoutMs: typeof parsed.timeoutMs === "number" ? parsed.timeoutMs : null,
256
368
  };
257
369
  }
@@ -267,7 +379,6 @@ export function adapterExecutionTargetFromRemoteExecution(remoteExecution, metad
267
379
  environmentId: metadata.environmentId ?? null,
268
380
  leaseId: metadata.leaseId ?? null,
269
381
  remoteCwd: ssh.remoteCwd,
270
- paperclipApiUrl: ssh.paperclipApiUrl ?? null,
271
382
  spec: ssh,
272
383
  };
273
384
  }
@@ -308,10 +419,10 @@ export async function prepareAdapterExecutionTargetRuntime(input) {
308
419
  runner: requireSandboxRunner(target),
309
420
  spec: {
310
421
  providerKey: target.providerKey,
422
+ shellCommand: target.shellCommand,
311
423
  leaseId: target.leaseId,
312
424
  remoteCwd: target.remoteCwd,
313
425
  timeoutMs: target.timeoutMs,
314
- paperclipApiUrl: target.paperclipApiUrl,
315
426
  },
316
427
  adapterKey: input.adapterKey,
317
428
  workspaceLocalDir: input.workspaceLocalDir,
@@ -330,4 +441,168 @@ export async function prepareAdapterExecutionTargetRuntime(input) {
330
441
  export function runtimeAssetDir(prepared, key, fallbackRemoteCwd) {
331
442
  return prepared.assetDirs[key] ?? path.posix.join(fallbackRemoteCwd, ".paperclip-runtime", key);
332
443
  }
444
+ function buildBridgeResponseHeaders(response) {
445
+ const out = {};
446
+ for (const key of ["content-type", "etag", "last-modified"]) {
447
+ const value = response.headers.get(key);
448
+ if (value && value.trim().length > 0)
449
+ out[key] = value.trim();
450
+ }
451
+ return out;
452
+ }
453
+ function buildBridgeForwardUrl(baseUrl, request) {
454
+ const url = new URL(request.path, baseUrl);
455
+ const query = request.query.trim();
456
+ url.search = query.startsWith("?") ? query.slice(1) : query;
457
+ return url;
458
+ }
459
+ function bridgeResponseBodyLimitError(maxBodyBytes) {
460
+ return new Error(`Bridge response body exceeded the configured size limit of ${maxBodyBytes} bytes.`);
461
+ }
462
+ async function readBridgeForwardResponseBody(response, maxBodyBytes) {
463
+ const rawContentLength = response.headers.get("content-length");
464
+ if (rawContentLength) {
465
+ const contentLength = Number.parseInt(rawContentLength, 10);
466
+ if (Number.isFinite(contentLength) && contentLength > maxBodyBytes) {
467
+ throw bridgeResponseBodyLimitError(maxBodyBytes);
468
+ }
469
+ }
470
+ if (!response.body) {
471
+ return "";
472
+ }
473
+ const reader = response.body.getReader();
474
+ const chunks = [];
475
+ let totalBytes = 0;
476
+ while (true) {
477
+ const { done, value } = await reader.read();
478
+ if (done)
479
+ break;
480
+ if (!value)
481
+ continue;
482
+ totalBytes += value.byteLength;
483
+ if (totalBytes > maxBodyBytes) {
484
+ await reader.cancel().catch(() => undefined);
485
+ throw bridgeResponseBodyLimitError(maxBodyBytes);
486
+ }
487
+ chunks.push(Buffer.from(value));
488
+ }
489
+ return Buffer.concat(chunks, totalBytes).toString("utf8");
490
+ }
491
+ export async function startAdapterExecutionTargetPaperclipBridge(input) {
492
+ if (!adapterExecutionTargetUsesPaperclipBridge(input.target)) {
493
+ return null;
494
+ }
495
+ if (!input.target || input.target.kind !== "remote") {
496
+ return null;
497
+ }
498
+ const target = input.target;
499
+ const onLog = input.onLog ?? (async () => { });
500
+ const hostApiToken = input.hostApiToken?.trim() ?? "";
501
+ if (hostApiToken.length === 0) {
502
+ throw new Error("Sandbox bridge mode requires a host-side Paperclip API token.");
503
+ }
504
+ const runtimeRootDir = input.runtimeRootDir?.trim().length
505
+ ? input.runtimeRootDir.trim()
506
+ : path.posix.join(target.remoteCwd, ".paperclip-runtime", input.adapterKey);
507
+ const bridgeRuntimeDir = path.posix.join(runtimeRootDir, "paperclip-bridge");
508
+ const queueDir = path.posix.join(bridgeRuntimeDir, "queue");
509
+ const assetRemoteDir = path.posix.join(bridgeRuntimeDir, "server");
510
+ const bridgeToken = createSandboxCallbackBridgeToken();
511
+ const maxBodyBytes = typeof input.maxBodyBytes === "number" && Number.isFinite(input.maxBodyBytes) && input.maxBodyBytes > 0
512
+ ? Math.trunc(input.maxBodyBytes)
513
+ : DEFAULT_SANDBOX_CALLBACK_BRIDGE_MAX_BODY_BYTES;
514
+ const hostApiUrl = input.hostApiUrl?.trim() ||
515
+ process.env.PAPERCLIP_RUNTIME_API_URL?.trim() ||
516
+ process.env.PAPERCLIP_API_URL?.trim() ||
517
+ resolveDefaultPaperclipApiUrl();
518
+ const shellCommand = adapterExecutionTargetShellCommand(target);
519
+ const runner = adapterExecutionTargetCommandRunner(target);
520
+ await onLog("stdout", `[paperclip] Starting sandbox callback bridge for ${input.adapterKey} in ${bridgeRuntimeDir}.\n`);
521
+ const bridgeAsset = await createSandboxCallbackBridgeAsset();
522
+ let server = null;
523
+ let worker = null;
524
+ try {
525
+ const client = createCommandManagedSandboxCallbackBridgeQueueClient({
526
+ runner,
527
+ remoteCwd: target.remoteCwd,
528
+ timeoutMs: adapterExecutionTargetTimeoutMs(target),
529
+ shellCommand,
530
+ });
531
+ // PAPERCLIP_BRIDGE_DEBUG opts into verbose stdout logs of every bridge
532
+ // proxy request/response. The query string is logged verbatim, so callers
533
+ // who pass auth tokens or other sensitive values as query parameters
534
+ // should be aware those values appear in the host process's stdout when
535
+ // this flag is enabled. Only intended for active debugging in trusted
536
+ // environments.
537
+ const bridgeDebugEnabled = isBridgeDebugEnabled(process.env);
538
+ worker = await startSandboxCallbackBridgeWorker({
539
+ client,
540
+ queueDir,
541
+ maxBodyBytes,
542
+ handleRequest: async (request) => {
543
+ const method = request.method.trim().toUpperCase() || "GET";
544
+ if (bridgeDebugEnabled) {
545
+ await onLog("stdout", `[paperclip] Bridge proxy ${method} ${request.path}${request.query ? `?${request.query}` : ""}\n`);
546
+ }
547
+ const headers = new Headers();
548
+ for (const [key, value] of Object.entries(request.headers)) {
549
+ if (value.trim().length === 0)
550
+ continue;
551
+ headers.set(key, value);
552
+ }
553
+ headers.set("authorization", `Bearer ${hostApiToken}`);
554
+ headers.set("x-paperclip-run-id", input.runId);
555
+ const response = await fetch(buildBridgeForwardUrl(hostApiUrl, request), {
556
+ method,
557
+ headers,
558
+ ...(method === "GET" || method === "HEAD" ? {} : { body: request.body }),
559
+ signal: AbortSignal.timeout(30_000),
560
+ });
561
+ if (bridgeDebugEnabled) {
562
+ await onLog("stdout", `[paperclip] Bridge proxy response ${response.status} for ${method} ${request.path}${request.query ? `?${request.query}` : ""}\n`);
563
+ }
564
+ return {
565
+ status: response.status,
566
+ headers: buildBridgeResponseHeaders(response),
567
+ body: await readBridgeForwardResponseBody(response, maxBodyBytes),
568
+ };
569
+ },
570
+ });
571
+ server = await startSandboxCallbackBridgeServer({
572
+ runner,
573
+ remoteCwd: target.remoteCwd,
574
+ assetRemoteDir,
575
+ queueDir,
576
+ bridgeToken,
577
+ bridgeAsset,
578
+ timeoutMs: adapterExecutionTargetTimeoutMs(target),
579
+ maxBodyBytes,
580
+ shellCommand,
581
+ });
582
+ }
583
+ catch (error) {
584
+ await Promise.allSettled([
585
+ server?.stop(),
586
+ worker?.stop(),
587
+ bridgeAsset.cleanup(),
588
+ ]);
589
+ throw error;
590
+ }
591
+ return {
592
+ env: {
593
+ PAPERCLIP_API_URL: server.baseUrl,
594
+ PAPERCLIP_API_KEY: bridgeToken,
595
+ PAPERCLIP_API_BRIDGE_MODE: "queue_v1",
596
+ },
597
+ stop: async () => {
598
+ await Promise.allSettled([
599
+ server?.stop(),
600
+ ]);
601
+ await Promise.allSettled([
602
+ worker?.stop(),
603
+ bridgeAsset.cleanup(),
604
+ ]);
605
+ },
606
+ };
607
+ }
333
608
  //# sourceMappingURL=execution-target.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"execution-target.js","sourceRoot":"","sources":["../src/execution-target.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"execution-target.js","sourceRoot":"","sources":["../src/execution-target.ts"],"names":[],"mappings":"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"}