@paperclipai/plugin-exe-dev 0.1.0 → 2026.511.0-canary.9

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.
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 Paperclip AI
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -1 +1 @@
1
- {"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../src/manifest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AAKzE,QAAA,MAAM,QAAQ,EAAE,yBAyHf,CAAC;AAEF,eAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../src/manifest.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AAKzE,QAAA,MAAM,QAAQ,EAAE,yBAgIf,CAAC;AAEF,eAAe,QAAQ,CAAC"}
package/dist/manifest.js CHANGED
@@ -24,7 +24,7 @@ const manifest = {
24
24
  apiKey: {
25
25
  type: "string",
26
26
  format: "secret-ref",
27
- description: "Environment-specific exe.dev API token. Paste a token or an existing Paperclip secret reference; saved environments store pasted values as company secrets. Falls back to EXE_API_KEY if omitted.",
27
+ description: "Environment-specific exe.dev API token. Needs `/exec` permission for at least `new`, `ls`, and `rm`. Paste a token or an existing Paperclip secret reference; saved environments store pasted values as company secrets. Falls back to EXE_API_KEY if omitted.",
28
28
  },
29
29
  apiUrl: {
30
30
  type: "string",
@@ -96,9 +96,15 @@ const manifest = {
96
96
  type: "string",
97
97
  description: "Optional SSH username for direct VM access.",
98
98
  },
99
+ sshPrivateKey: {
100
+ type: "string",
101
+ format: "secret-ref",
102
+ maxLength: 4096,
103
+ description: "Optional exe.dev-registered SSH private key. Paste the private key or an existing Paperclip secret reference; saved environments store pasted values as company secrets. If omitted, Paperclip falls back to sshIdentityFile, then the host's default SSH agent/keychain.",
104
+ },
99
105
  sshIdentityFile: {
100
106
  type: "string",
101
- description: "Optional absolute path to the SSH private key the Paperclip host should use for VM access.",
107
+ description: "Optional absolute path to the SSH private key the Paperclip host should use for VM access when sshPrivateKey is omitted. Leave both blank to rely on the host's default SSH agent/keychain.",
102
108
  },
103
109
  sshPort: {
104
110
  type: "number",
@@ -1 +1 @@
1
- {"version":3,"file":"manifest.js","sourceRoot":"","sources":["../src/manifest.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"manifest.js","sourceRoot":"","sources":["../src/manifest.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAmhBA,QAAA,MAAM,MAAM,mDAgOV,CAAC;AAEH,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAsoBA,QAAA,MAAM,MAAM,mDAyOV,CAAC;AAEH,eAAe,MAAM,CAAC"}
package/dist/plugin.js CHANGED
@@ -1,11 +1,24 @@
1
1
  import path from "node:path";
2
2
  import { randomUUID } from "node:crypto";
3
+ import { chmod, mkdtemp, rm, writeFile } from "node:fs/promises";
4
+ import { tmpdir } from "node:os";
3
5
  import { spawn } from "node:child_process";
4
6
  import { definePlugin } from "@paperclipai/plugin-sdk";
5
7
  const DEFAULT_API_URL = "https://exe.dev/exec";
6
8
  const DEFAULT_TIMEOUT_MS = 300_000;
7
9
  const EXE_DEV_API_MAX_TIMEOUT_MS = 29_000;
8
10
  const SSH_SIGKILL_GRACE_MS = 250;
11
+ const MAX_VM_RECORD_DEPTH = 4;
12
+ const EXE_DEV_SSH_ONBOARDING_MARKER = "Please complete registration by running: ssh exe.dev";
13
+ const EXE_DEV_SSH_EMAIL_PROMPT = "Please enter your email address:";
14
+ // exe.dev's `--setup-script` runs at VM init as the unprivileged `exedev` user, which
15
+ // has passwordless sudo. The Paperclip sandbox callback bridge is a Node script, so
16
+ // every Paperclip workload on this provider needs node on PATH before the bridge can
17
+ // start. When the operator hasn't supplied their own setup script, install Node 20 via
18
+ // nodesource so the VM comes up ready for Paperclip out of the box.
19
+ const DEFAULT_SETUP_SCRIPT = "command -v node >/dev/null 2>&1 || " +
20
+ "(curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash - && " +
21
+ "sudo apt-get install -y nodejs)";
9
22
  class ExeDevApiError extends Error {
10
23
  status;
11
24
  body;
@@ -112,6 +125,7 @@ function parseDriverConfig(raw) {
112
125
  timeoutMs: Number.isFinite(timeoutMs) ? Math.trunc(timeoutMs) : DEFAULT_TIMEOUT_MS,
113
126
  reuseLease: raw.reuseLease === true,
114
127
  sshUser: parseOptionalString(raw.sshUser),
128
+ sshPrivateKey: parseOptionalString(raw.sshPrivateKey),
115
129
  sshIdentityFile: parseOptionalString(raw.sshIdentityFile),
116
130
  sshPort: Number.isFinite(sshPort) ? Math.trunc(sshPort) : 22,
117
131
  strictHostKeyChecking: parseOptionalString(raw.strictHostKeyChecking) ?? "accept-new",
@@ -135,10 +149,6 @@ function shellQuote(value) {
135
149
  function formatErrorMessage(error) {
136
150
  return error instanceof Error ? error.message : String(error);
137
151
  }
138
- function summarizeLifecycleCommand(command) {
139
- const [name] = command.trim().split(/\s+/, 1);
140
- return name && name.length > 0 ? name : "command";
141
- }
142
152
  function buildVmName(config, params) {
143
153
  const envPart = params.environmentId.replace(/[^a-z0-9]+/gi, "").slice(0, 8).toLowerCase() || "env";
144
154
  const runPart = params.runId.replace(/[^a-z0-9]+/gi, "").slice(0, 8).toLowerCase() || randomUUID().slice(0, 8);
@@ -155,6 +165,12 @@ function buildRepeatedFlag(name, values) {
155
165
  function buildEnvFlags(env) {
156
166
  return Object.entries(env).flatMap(([key, value]) => buildFlag("env", `${key}=${value}`));
157
167
  }
168
+ function resolveSetupScript(config) {
169
+ if (config.setupScript === null)
170
+ return DEFAULT_SETUP_SCRIPT;
171
+ const trimmed = config.setupScript.trim();
172
+ return trimmed.length > 0 ? config.setupScript : null;
173
+ }
158
174
  function buildCreateCommand(config, vmName) {
159
175
  return [
160
176
  "new",
@@ -170,11 +186,28 @@ function buildCreateCommand(config, vmName) {
170
186
  ...buildEnvFlags(config.env),
171
187
  ...buildRepeatedFlag("integration", config.integrations),
172
188
  ...buildRepeatedFlag("tag", config.tags),
173
- ...buildFlag("setup-script", config.setupScript),
189
+ ...buildFlag("setup-script", resolveSetupScript(config)),
174
190
  ...buildFlag("prompt", config.prompt),
175
191
  ].join(" ");
176
192
  }
177
- async function runLifecycleCommand(config, command) {
193
+ function replaceLiteralAll(input, search, replacement) {
194
+ return search.length === 0 ? input : input.split(search).join(replacement);
195
+ }
196
+ function redactCreateCommand(command, config) {
197
+ let redacted = command;
198
+ for (const [key, value] of Object.entries(config.env)) {
199
+ redacted = replaceLiteralAll(redacted, `--env=${shellQuote(`${key}=${value}`)}`, `--env=${shellQuote(`${key}=[REDACTED]`)}`);
200
+ }
201
+ if (config.prompt) {
202
+ redacted = replaceLiteralAll(redacted, `--prompt=${shellQuote(config.prompt)}`, `--prompt=${shellQuote("[REDACTED]")}`);
203
+ }
204
+ const resolvedSetupScript = resolveSetupScript(config);
205
+ if (resolvedSetupScript && resolvedSetupScript !== DEFAULT_SETUP_SCRIPT) {
206
+ redacted = replaceLiteralAll(redacted, `--setup-script=${shellQuote(resolvedSetupScript)}`, `--setup-script=${shellQuote("[REDACTED]")}`);
207
+ }
208
+ return redacted;
209
+ }
210
+ async function runLifecycleCommand(config, command, logCommand = command) {
178
211
  const response = await fetch(config.apiUrl, {
179
212
  method: "POST",
180
213
  headers: {
@@ -186,7 +219,7 @@ async function runLifecycleCommand(config, command) {
186
219
  });
187
220
  const body = await response.text();
188
221
  if (!response.ok) {
189
- throw new ExeDevApiError(`exe.dev API command failed (${response.status}) for: ${summarizeLifecycleCommand(command)}`, response.status, body);
222
+ throw new ExeDevApiError(`exe.dev API command failed (${response.status}) for: ${logCommand}`, response.status, body);
190
223
  }
191
224
  const trimmed = body.trim();
192
225
  if (!trimmed)
@@ -198,14 +231,13 @@ async function runLifecycleCommand(config, command) {
198
231
  return body;
199
232
  }
200
233
  }
201
- function parseVmRecord(value, seen = new WeakSet()) {
202
- if (!value || typeof value !== "object" || Array.isArray(value))
234
+ function parseVmRecord(value, depth = 0) {
235
+ if (depth > MAX_VM_RECORD_DEPTH)
203
236
  return null;
204
- if (seen.has(value))
237
+ if (!value || typeof value !== "object" || Array.isArray(value))
205
238
  return null;
206
- seen.add(value);
207
239
  const record = value;
208
- const nested = parseVmRecord(record.vm, seen) ?? parseVmRecord(record.data, seen);
240
+ const nested = parseVmRecord(record.vm, depth + 1) ?? parseVmRecord(record.data, depth + 1);
209
241
  if (nested)
210
242
  return nested;
211
243
  const name = parseOptionalString(record.vm_name ?? record.name ?? record.vmName);
@@ -243,7 +275,8 @@ async function createVm(config, params) {
243
275
  const vmName = "runId" in params
244
276
  ? buildVmName(config, params)
245
277
  : `${config.namePrefix}-probe-${randomUUID().slice(0, 8)}`.slice(0, 63);
246
- const response = await runLifecycleCommand(config, buildCreateCommand(config, vmName));
278
+ const command = buildCreateCommand(config, vmName);
279
+ const response = await runLifecycleCommand(config, command, redactCreateCommand(command, config));
247
280
  const created = parseVmRecord(response) ?? await lookupVm(config, vmName);
248
281
  if (!created) {
249
282
  throw new Error(`exe.dev did not return VM metadata for ${vmName}.`);
@@ -256,7 +289,7 @@ async function deleteVm(config, vmName) {
256
289
  function buildSshDestination(config, vm) {
257
290
  return config.sshUser ? `${config.sshUser}@${vm.sshDest}` : vm.sshDest;
258
291
  }
259
- function buildSshArgs(config, vm, remoteCommand) {
292
+ function buildSshArgs(config, vm, remoteCommand, sshIdentityFile) {
260
293
  const args = [
261
294
  "-T",
262
295
  "-o",
@@ -268,12 +301,33 @@ function buildSshArgs(config, vm, remoteCommand) {
268
301
  "-p",
269
302
  String(config.sshPort),
270
303
  ];
271
- if (config.sshIdentityFile) {
272
- args.push("-i", config.sshIdentityFile, "-o", "IdentitiesOnly=yes");
304
+ if (sshIdentityFile) {
305
+ args.push("-i", sshIdentityFile, "-o", "IdentitiesOnly=yes");
273
306
  }
274
307
  args.push(buildSshDestination(config, vm), remoteCommand);
275
308
  return args;
276
309
  }
310
+ async function prepareSshIdentity(config) {
311
+ if (!config.sshPrivateKey) {
312
+ return {
313
+ sshIdentityFile: config.sshIdentityFile,
314
+ cleanup: async () => { },
315
+ };
316
+ }
317
+ const tempDir = await mkdtemp(path.join(tmpdir(), "paperclip-exe-dev-ssh-"));
318
+ const sshIdentityFile = path.join(tempDir, "id_ed25519");
319
+ const privateKey = config.sshPrivateKey.endsWith("\n")
320
+ ? config.sshPrivateKey
321
+ : `${config.sshPrivateKey}\n`;
322
+ await writeFile(sshIdentityFile, privateKey, { mode: 0o600 });
323
+ await chmod(sshIdentityFile, 0o600);
324
+ return {
325
+ sshIdentityFile,
326
+ cleanup: async () => {
327
+ await rm(tempDir, { recursive: true, force: true });
328
+ },
329
+ };
330
+ }
277
331
  function buildLoginShellScript(input) {
278
332
  const env = input.env ?? {};
279
333
  for (const key of Object.keys(env)) {
@@ -302,81 +356,96 @@ function buildLoginShellScript(input) {
302
356
  lines.push(finalLine);
303
357
  return lines.join(" && ");
304
358
  }
359
+ function formatSshFailure(action, vmName, result) {
360
+ const combinedOutput = `${result.stderr}\n${result.stdout}`;
361
+ if (combinedOutput.includes(EXE_DEV_SSH_ONBOARDING_MARKER)
362
+ || combinedOutput.includes(EXE_DEV_SSH_EMAIL_PROMPT)) {
363
+ return [
364
+ `Failed to ${action} exe.dev VM ${vmName}: the Paperclip host SSH key is not registered with exe.dev.`,
365
+ "Complete exe.dev's one-time SSH onboarding on this host by running `ssh exe.dev` and following the email verification prompt, then retry.",
366
+ ].join(" ");
367
+ }
368
+ return `Failed to ${action} exe.dev VM ${vmName}: ${result.stderr.trim() || result.stdout.trim() || "unknown error"}`;
369
+ }
305
370
  async function runSshCommand(config, vm, remoteCommand, options = {}) {
306
371
  const timeoutMs = options.timeoutMs ?? config.timeoutMs;
307
- return await new Promise((resolve, reject) => {
308
- const child = spawn("ssh", buildSshArgs(config, vm, remoteCommand), {
309
- stdio: [options.stdin != null ? "pipe" : "ignore", "pipe", "pipe"],
310
- });
311
- let stdout = "";
312
- let stderr = "";
313
- let timedOut = false;
314
- let killTimer = null;
315
- const timer = timeoutMs > 0
316
- ? setTimeout(() => {
317
- timedOut = true;
318
- child.kill("SIGTERM");
319
- killTimer = setTimeout(() => {
320
- child.kill("SIGKILL");
321
- }, SSH_SIGKILL_GRACE_MS);
322
- }, timeoutMs)
323
- : null;
324
- child.stdout?.on("data", (chunk) => {
325
- stdout += String(chunk);
326
- });
327
- child.stderr?.on("data", (chunk) => {
328
- stderr += String(chunk);
329
- });
330
- child.on("error", (error) => {
331
- if (timer)
332
- clearTimeout(timer);
333
- if (killTimer)
334
- clearTimeout(killTimer);
335
- reject(error);
336
- });
337
- child.on("close", (code, signal) => {
338
- if (timer)
339
- clearTimeout(timer);
340
- if (killTimer)
341
- clearTimeout(killTimer);
342
- resolve({
343
- exitCode: timedOut ? null : code,
344
- signal,
345
- timedOut,
346
- stdout,
347
- stderr,
372
+ const identity = await prepareSshIdentity(config);
373
+ try {
374
+ return await new Promise((resolve, reject) => {
375
+ const child = spawn("ssh", buildSshArgs(config, vm, remoteCommand, identity.sshIdentityFile), {
376
+ stdio: [options.stdin != null ? "pipe" : "ignore", "pipe", "pipe"],
377
+ });
378
+ let stdout = "";
379
+ let stderr = "";
380
+ let timedOut = false;
381
+ let killTimer = null;
382
+ const timer = timeoutMs > 0
383
+ ? setTimeout(() => {
384
+ timedOut = true;
385
+ child.kill("SIGTERM");
386
+ killTimer = setTimeout(() => {
387
+ child.kill("SIGKILL");
388
+ }, SSH_SIGKILL_GRACE_MS);
389
+ }, timeoutMs)
390
+ : null;
391
+ child.stdout?.on("data", (chunk) => {
392
+ stdout += String(chunk);
393
+ });
394
+ child.stderr?.on("data", (chunk) => {
395
+ stderr += String(chunk);
396
+ });
397
+ child.on("error", (error) => {
398
+ if (timer)
399
+ clearTimeout(timer);
400
+ if (killTimer)
401
+ clearTimeout(killTimer);
402
+ reject(error);
403
+ });
404
+ child.on("close", (code, signal) => {
405
+ if (timer)
406
+ clearTimeout(timer);
407
+ if (killTimer)
408
+ clearTimeout(killTimer);
409
+ resolve({
410
+ exitCode: timedOut ? null : code,
411
+ signal,
412
+ timedOut,
413
+ stdout,
414
+ stderr,
415
+ });
348
416
  });
417
+ if (options.stdin != null && child.stdin) {
418
+ child.stdin.write(options.stdin);
419
+ child.stdin.end();
420
+ }
349
421
  });
350
- if (options.stdin != null && child.stdin) {
351
- child.stdin.write(options.stdin);
352
- child.stdin.end();
353
- }
354
- });
422
+ }
423
+ finally {
424
+ await identity.cleanup();
425
+ }
355
426
  }
356
- async function prepareRemoteLeaseContext(config, vm, requestedCwd) {
357
- const requested = requestedCwd?.trim() ?? "";
358
- const result = await runSshCommand(config, vm, `sh -lc ${shellQuote([
359
- `requested_cwd=${shellQuote(requested)}`,
360
- 'home="${HOME:-}"',
361
- 'if [ -z "$home" ]; then home="$(pwd)"; fi',
362
- 'if command -v bash >/dev/null 2>&1; then shell=bash; else shell=sh; fi',
363
- 'if [ -n "$requested_cwd" ]; then remote_cwd="$requested_cwd"; else remote_cwd="$home/paperclip-workspace"; fi',
364
- 'mkdir -p "$remote_cwd"',
365
- 'printf "%s\\n%s\\n%s\\n" "$home" "$shell" "$remote_cwd"',
366
- ].join("; "))}`);
427
+ async function detectRemoteContext(config, vm) {
428
+ const result = await runSshCommand(config, vm, `sh -lc ${shellQuote('home="${HOME:-}"; if [ -z "$home" ]; then home="$(pwd)"; fi; if command -v bash >/dev/null 2>&1; then shell=bash; else shell=sh; fi; printf "%s\\n%s\\n" "$home" "$shell"')}`);
367
429
  if (result.timedOut || result.exitCode !== 0) {
368
- throw new Error(`Failed to prepare exe.dev VM ${vm.name}: ${result.stderr.trim() || result.stdout.trim() || "unknown error"}`);
430
+ throw new Error(formatSshFailure("inspect", vm.name, result));
369
431
  }
370
- const [homeDirRaw, shellRaw, remoteCwdRaw] = result.stdout.split(/\r?\n/);
432
+ const [homeDirRaw, shellRaw] = result.stdout.split(/\r?\n/);
371
433
  const homeDir = homeDirRaw?.trim() || "/tmp";
372
434
  return {
373
435
  homeDir,
374
436
  shellCommand: shellRaw?.trim() === "bash" ? "bash" : "sh",
375
- remoteCwd: remoteCwdRaw?.trim() || path.posix.join(homeDir, "paperclip-workspace"),
376
437
  };
377
438
  }
439
+ async function ensureRemoteWorkspace(config, vm, remoteCwd) {
440
+ const result = await runSshCommand(config, vm, `sh -lc ${shellQuote(`mkdir -p ${shellQuote(remoteCwd)}`)}`);
441
+ if (result.timedOut || result.exitCode !== 0) {
442
+ throw new Error(formatSshFailure("create workspace for", vm.name, result));
443
+ }
444
+ }
378
445
  async function buildLease(config, vm, requestedCwd, resumedLease) {
379
- const remote = await prepareRemoteLeaseContext(config, vm, requestedCwd);
446
+ const remote = await detectRemoteContext(config, vm);
447
+ const remoteCwd = requestedCwd?.trim() || path.posix.join(remote.homeDir, "paperclip-workspace");
448
+ await ensureRemoteWorkspace(config, vm, remoteCwd);
380
449
  return {
381
450
  providerLeaseId: vm.name,
382
451
  metadata: {
@@ -387,7 +456,7 @@ async function buildLease(config, vm, requestedCwd, resumedLease) {
387
456
  region: vm.region,
388
457
  regionDisplay: vm.regionDisplay,
389
458
  shellCommand: remote.shellCommand,
390
- remoteCwd: remote.remoteCwd,
459
+ remoteCwd,
391
460
  timeoutMs: config.timeoutMs,
392
461
  reuseLease: config.reuseLease,
393
462
  resumedLease,
@@ -442,7 +511,7 @@ const plugin = definePlugin({
442
511
  params.config.strictHostKeyChecking.trim().length === 0) {
443
512
  errors.push("strictHostKeyChecking cannot be empty.");
444
513
  }
445
- warnings.push("The Paperclip host must have SSH access to the created exe.dev VM. The API token only covers provisioning.");
514
+ warnings.push("The Paperclip host must have SSH access to the created exe.dev VM, and its SSH key must be registered with exe.dev. The API token only covers provisioning.");
446
515
  if (config.reuseLease) {
447
516
  warnings.push("reuseLease keeps the VM alive between runs; this provider does not suspend retained VMs.");
448
517
  }
@@ -538,7 +607,7 @@ const plugin = definePlugin({
538
607
  leaseMetadata: params.lease.metadata,
539
608
  });
540
609
  if (vm) {
541
- await prepareRemoteLeaseContext(config, vm, remoteCwd);
610
+ await ensureRemoteWorkspace(config, vm, remoteCwd);
542
611
  }
543
612
  return {
544
613
  cwd: remoteCwd,
@@ -578,13 +647,21 @@ const plugin = definePlugin({
578
647
  cwd: params.cwd ?? parseOptionalString(params.lease.metadata?.remoteCwd) ?? undefined,
579
648
  env: params.env,
580
649
  });
581
- const result = await runSshCommand(config, vm, `sh -lc ${shellQuote(command)}`, { stdin: params.stdin, timeoutMs: params.timeoutMs ?? config.timeoutMs });
650
+ // `buildLoginShellScript` already explicitly sources `/etc/profile`,
651
+ // `~/.profile`, `~/.bash_profile`/`~/.bashrc`, and `~/.zprofile`. Wrapping
652
+ // the result in `sh -lc` (login shell) would source the same files a
653
+ // second time, which can cause `PATH` duplication or unexpected behavior
654
+ // on VMs whose profile init isn't idempotent. Use `sh -c` here so the
655
+ // explicit sourcing inside the script is the single source of truth.
656
+ const result = await runSshCommand(config, vm, `sh -c ${shellQuote(command)}`, { stdin: params.stdin, timeoutMs: params.timeoutMs ?? config.timeoutMs });
582
657
  return {
583
658
  exitCode: result.exitCode,
584
659
  signal: result.signal,
585
660
  timedOut: result.timedOut,
586
661
  stdout: result.stdout,
587
- stderr: result.stderr,
662
+ stderr: !result.timedOut && result.exitCode !== 0
663
+ ? formatSshFailure("execute commands on", vm.name, result)
664
+ : result.stderr,
588
665
  metadata: {
589
666
  provider: "exe-dev",
590
667
  vmName: vm.name,
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@paperclipai/plugin-exe-dev",
3
- "version": "0.1.0",
3
+ "version": "2026.511.0-canary.9",
4
4
  "description": "exe.dev sandbox provider plugin for Paperclip environments",
5
5
  "license": "MIT",
6
6
  "homepage": "https://github.com/paperclipai/paperclip",
@@ -22,15 +22,7 @@
22
22
  "main": "./dist/index.js",
23
23
  "types": "./dist/index.d.ts",
24
24
  "publishConfig": {
25
- "access": "public",
26
- "exports": {
27
- ".": {
28
- "types": "./dist/index.d.ts",
29
- "import": "./dist/index.js"
30
- }
31
- },
32
- "main": "./dist/index.js",
33
- "types": "./dist/index.d.ts"
25
+ "access": "public"
34
26
  },
35
27
  "files": [
36
28
  "dist"
@@ -46,6 +38,6 @@
46
38
  "exe.dev"
47
39
  ],
48
40
  "dependencies": {
49
- "@paperclipai/plugin-sdk": "1.0.0"
41
+ "@paperclipai/plugin-sdk": "2026.511.0-canary.9"
50
42
  }
51
- }
43
+ }