@tickernelz/paperclip-pro-adapter-utils 2026.1011.3 → 2026.1012.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 (102) hide show
  1. package/dist/acpx-engine/execute.d.ts.map +1 -1
  2. package/dist/acpx-engine/execute.js +77 -8
  3. package/dist/acpx-engine/execute.js.map +1 -1
  4. package/dist/acpx-engine/execute.test.js +186 -14
  5. package/dist/acpx-engine/execute.test.js.map +1 -1
  6. package/dist/acpx-engine/filesystem-protocol.test.d.ts +2 -0
  7. package/dist/acpx-engine/filesystem-protocol.test.d.ts.map +1 -0
  8. package/dist/acpx-engine/filesystem-protocol.test.js +99 -0
  9. package/dist/acpx-engine/filesystem-protocol.test.js.map +1 -0
  10. package/dist/acpx-engine/run-contracts.d.ts +1 -0
  11. package/dist/acpx-engine/run-contracts.d.ts.map +1 -1
  12. package/dist/billing.d.ts +7 -0
  13. package/dist/billing.d.ts.map +1 -1
  14. package/dist/billing.js +25 -2
  15. package/dist/billing.js.map +1 -1
  16. package/dist/billing.test.js +17 -1
  17. package/dist/billing.test.js.map +1 -1
  18. package/dist/chat-file-delivery.d.ts +1 -1
  19. package/dist/chat-file-delivery.d.ts.map +1 -1
  20. package/dist/chat-file-delivery.js +4 -3
  21. package/dist/chat-file-delivery.js.map +1 -1
  22. package/dist/chat-file-delivery.test.js +2 -2
  23. package/dist/chat-file-delivery.test.js.map +1 -1
  24. package/dist/command-managed-runtime.d.ts +1 -0
  25. package/dist/command-managed-runtime.d.ts.map +1 -1
  26. package/dist/command-managed-runtime.js +3 -1
  27. package/dist/command-managed-runtime.js.map +1 -1
  28. package/dist/connection-failure.d.ts +33 -0
  29. package/dist/connection-failure.d.ts.map +1 -0
  30. package/dist/connection-failure.js +43 -0
  31. package/dist/connection-failure.js.map +1 -0
  32. package/dist/connection-failure.test.d.ts +2 -0
  33. package/dist/connection-failure.test.d.ts.map +1 -0
  34. package/dist/connection-failure.test.js +94 -0
  35. package/dist/connection-failure.test.js.map +1 -0
  36. package/dist/directory-merge-lock.test.js +4 -2
  37. package/dist/directory-merge-lock.test.js.map +1 -1
  38. package/dist/execution-target-sandbox.test.js +228 -0
  39. package/dist/execution-target-sandbox.test.js.map +1 -1
  40. package/dist/execution-target.d.ts +4 -0
  41. package/dist/execution-target.d.ts.map +1 -1
  42. package/dist/execution-target.js +46 -13
  43. package/dist/execution-target.js.map +1 -1
  44. package/dist/execution-target.test.js +1 -1
  45. package/dist/execution-target.test.js.map +1 -1
  46. package/dist/github-launcher-environment.test.js +37 -0
  47. package/dist/github-launcher-environment.test.js.map +1 -1
  48. package/dist/index.d.ts +3 -3
  49. package/dist/index.d.ts.map +1 -1
  50. package/dist/index.js +2 -2
  51. package/dist/index.js.map +1 -1
  52. package/dist/paperclip-runner-permissions.d.ts +15 -4
  53. package/dist/paperclip-runner-permissions.d.ts.map +1 -1
  54. package/dist/paperclip-runner-permissions.js +29 -3
  55. package/dist/paperclip-runner-permissions.js.map +1 -1
  56. package/dist/paperclip-runner-permissions.test.js +34 -1
  57. package/dist/paperclip-runner-permissions.test.js.map +1 -1
  58. package/dist/remote-managed-runtime.d.ts.map +1 -1
  59. package/dist/remote-managed-runtime.js +18 -2
  60. package/dist/remote-managed-runtime.js.map +1 -1
  61. package/dist/sandbox-callback-bridge.d.ts.map +1 -1
  62. package/dist/sandbox-callback-bridge.js +1 -0
  63. package/dist/sandbox-callback-bridge.js.map +1 -1
  64. package/dist/sandbox-callback-bridge.test.js +113 -16
  65. package/dist/sandbox-callback-bridge.test.js.map +1 -1
  66. package/dist/sandbox-managed-runtime.d.ts +3 -0
  67. package/dist/sandbox-managed-runtime.d.ts.map +1 -1
  68. package/dist/sandbox-managed-runtime.js +8 -1
  69. package/dist/sandbox-managed-runtime.js.map +1 -1
  70. package/dist/server-utils.d.ts +6 -3
  71. package/dist/server-utils.d.ts.map +1 -1
  72. package/dist/server-utils.js +39 -9
  73. package/dist/server-utils.js.map +1 -1
  74. package/dist/server-utils.test.js +35 -1
  75. package/dist/server-utils.test.js.map +1 -1
  76. package/dist/ssh-fixture.test.js +172 -0
  77. package/dist/ssh-fixture.test.js.map +1 -1
  78. package/dist/ssh.d.ts +5 -0
  79. package/dist/ssh.d.ts.map +1 -1
  80. package/dist/ssh.js +138 -20
  81. package/dist/ssh.js.map +1 -1
  82. package/dist/types.d.ts +76 -1
  83. package/dist/types.d.ts.map +1 -1
  84. package/dist/usage-checkpoint.d.ts +11 -0
  85. package/dist/usage-checkpoint.d.ts.map +1 -0
  86. package/dist/usage-checkpoint.js +165 -0
  87. package/dist/usage-checkpoint.js.map +1 -0
  88. package/dist/usage-checkpoint.test.d.ts +2 -0
  89. package/dist/usage-checkpoint.test.d.ts.map +1 -0
  90. package/dist/usage-checkpoint.test.js +131 -0
  91. package/dist/usage-checkpoint.test.js.map +1 -0
  92. package/dist/workspace-restore-diagnostics.d.ts +8 -1
  93. package/dist/workspace-restore-diagnostics.d.ts.map +1 -1
  94. package/dist/workspace-restore-diagnostics.js +35 -8
  95. package/dist/workspace-restore-diagnostics.js.map +1 -1
  96. package/dist/workspace-restore-diagnostics.test.js +31 -1
  97. package/dist/workspace-restore-diagnostics.test.js.map +1 -1
  98. package/node_modules/acpx/dist/live-checkpoint-ClPCSdrW.js +3 -0
  99. package/package.json +31 -3
  100. package/node_modules/@esbuild/linux-x64/README.md +0 -3
  101. package/node_modules/@esbuild/linux-x64/bin/esbuild +0 -0
  102. package/node_modules/@esbuild/linux-x64/package.json +0 -20
@@ -1 +1 @@
1
- {"version":3,"file":"execute.d.ts","sourceRoot":"","sources":["../../src/acpx-engine/execute.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"execute.d.ts","sourceRoot":"","sources":["../../src/acpx-engine/execute.ts"],"names":[],"mappings":"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"}
@@ -906,7 +906,7 @@ function normalizeRequestedThinkingEffort(config) {
906
906
  asString(config.effort, "")).trim();
907
907
  }
908
908
  function buildCodexStartupConfig(input) {
909
- const hasRuntimeConfig = Boolean(input.requestedModel || input.requestedThinkingEffort || input.fastMode);
909
+ const hasRuntimeConfig = Boolean(input.requestedModel || input.requestedThinkingEffort || input.fastMode || input.identityEnvironmentKeys);
910
910
  if (!hasRuntimeConfig)
911
911
  return { value: null, invalidExistingConfig: false };
912
912
  let existing = {};
@@ -936,6 +936,11 @@ function buildCodexStartupConfig(input) {
936
936
  },
937
937
  }
938
938
  : {}),
939
+ ...(input.identityEnvironmentKeys ? {
940
+ features: { ...parseObject(existing.features), ...(input.fastMode ? { fast_mode: true } : {}), shell_snapshot: false },
941
+ shell_environment_policy: { ...parseObject(existing.shell_environment_policy),
942
+ inherit: "all", ignore_default_excludes: true, include_only: input.identityEnvironmentKeys },
943
+ } : {}),
939
944
  }),
940
945
  invalidExistingConfig,
941
946
  };
@@ -1275,7 +1280,7 @@ async function buildRuntime(input) {
1275
1280
  await fs.mkdir(stateDir, { recursive: true });
1276
1281
  const envConfig = parseObject(config.env);
1277
1282
  const env = {
1278
- ...buildPaperclipEnv(agent, { sameHost: !executionTargetIsRemote }),
1283
+ ...buildPaperclipEnv(agent, { sameHost: !executionTargetIsRemote }, input.ctx.agentIdentity),
1279
1284
  PAPERCLIP_RUN_ID: runId,
1280
1285
  };
1281
1286
  const wakeTaskId = (typeof context.taskId === "string" && context.taskId.trim()) ||
@@ -1366,9 +1371,22 @@ async function buildRuntime(input) {
1366
1371
  if (requestedModel && acpxAgent === "claude" && !env.ANTHROPIC_MODEL) {
1367
1372
  env.ANTHROPIC_MODEL = requestedModel;
1368
1373
  }
1374
+ // Gemini CLI reads GEMINI_MODEL when creating each ACP session. Its ACP
1375
+ // implementation supports set_model, but not set_config_option; configure
1376
+ // the selected model before startup without changing the transport.
1377
+ if (requestedModel && acpxAgent === "gemini") {
1378
+ env.GEMINI_MODEL = requestedModel;
1379
+ }
1369
1380
  if (acpxAgent === "codex") {
1370
1381
  const codexStartupConfig = buildCodexStartupConfig({
1371
1382
  existingConfig: env.CODEX_CONFIG,
1383
+ ...(input.ctx.agentIdentity ? { identityEnvironmentKeys: [...new Set([
1384
+ "PATH", "HOME", "LANG", "TMPDIR", "CODEX_HOME",
1385
+ "PAPERCLIP_AGENT_KEY_ID", "PAPERCLIP_AGENT_PUBLIC_KEY", "PAPERCLIP_AGENT_PRIVATE_KEY",
1386
+ // Preserve Codex's default secret-name exclusions. The short-lived
1387
+ // Paperclip API token is required by the agent skill's Bash/curl calls.
1388
+ ...Object.keys(env).filter(key => key === "PAPERCLIP_API_KEY" || !/key|secret|token/i.test(key)),
1389
+ ])] } : {}),
1372
1390
  requestedModel,
1373
1391
  requestedThinkingEffort,
1374
1392
  fastMode,
@@ -1496,8 +1514,9 @@ async function buildRuntime(input) {
1496
1514
  // (fingerprint, compat, persist, ensureSession, error) bind to THIS single
1497
1515
  // value so a warm/resumable session created with the in-sandbox cwd is reused
1498
1516
  // — not invalidated — on the next run. Remote runner-backed → the in-sandbox
1499
- // workspace dir; local and the runner-less fallback → the HOST cwd,
1500
- // byte-identical to today.
1517
+ // workspace dir; local and the runner-less fallback → the HOST cwd.
1518
+ // Local Gemini resolves tool paths through realpath. Give its ACP filesystem
1519
+ // client the same canonical root so workspace aliases stay within that root.
1501
1520
  //
1502
1521
  // PR 3: the staging transport derives the in-sandbox workspace dir
1503
1522
  // deterministically from the target's `remoteCwd` (it is exactly `remoteCwd`
@@ -1509,11 +1528,14 @@ async function buildRuntime(input) {
1509
1528
  // diverge from the cwd that fed the fingerprint.
1510
1529
  const sessionCwd = useRemoteProcessSession && executionTarget?.kind === "remote"
1511
1530
  ? executionTarget.remoteCwd
1512
- : cwd;
1531
+ : acpxAgent === "gemini" && !executionTargetIsRemote
1532
+ ? await fs.realpath(cwd)
1533
+ : cwd;
1513
1534
  // The 17 fields the session fingerprint hashes. Company, agent, and task
1514
1535
  // identifiers are NOT here; they scope the outer session key only (see
1515
1536
  // `keyIdentity`). The fingerprint builder accepts only this identity.
1516
1537
  const fingerprintIdentity = {
1538
+ ...(input.ctx.agentIdentity ? { agentIdentityKeyId: input.ctx.agentIdentity.keyId } : {}),
1517
1539
  acpxAgent,
1518
1540
  agentCommand: agentCommand ?? acpxAgent,
1519
1541
  cwd: path.resolve(sessionCwd),
@@ -1840,6 +1862,28 @@ async function buildRuntime(input) {
1840
1862
  await emitRunPhaseTiming(input.ctx, "start_transport", nowMs() - startTransportStart, "failed");
1841
1863
  throw err;
1842
1864
  }
1865
+ const currentSkillRoot = acpxAgent === "codex" && runtimeEnv.CODEX_HOME
1866
+ ? path.join(runtimeEnv.CODEX_HOME, "skills")
1867
+ : acpxAgent === "gemini" && !executionTargetIsRemote && typeof skillsIdentity.skillsHome === "string"
1868
+ ? skillsIdentity.skillsHome
1869
+ : null;
1870
+ if (currentSkillRoot && Array.isArray(skillsIdentity.selectedSkills) && skillsIdentity.selectedSkills.length > 0) {
1871
+ // Managed connection homes are disposable. A resumed conversation may
1872
+ // remember a previous home's skill paths; supply the current root on every
1873
+ // turn, after the remote launch environment has rebased CODEX_HOME.
1874
+ skillPromptInstructions = [
1875
+ `Paperclip has materialized selected runtime skills for this ACPX ${acpxAgent === "codex" ? "Codex" : "Gemini"} run.`,
1876
+ `Skill root for this run: ${currentSkillRoot}`,
1877
+ `Selected skills: ${skillsIdentity.selectedSkills.join(", ")}`,
1878
+ "When a task calls for one of these skills, read its SKILL.md from this root and follow it. Resolve referenced scripts and files relative to that skill. Use this run's root even when an earlier turn used a different path.",
1879
+ ...(acpxAgent === "gemini" && skillsIdentity.selectedSkills.includes("paperclip")
1880
+ ? [
1881
+ "Before calling Paperclip APIs or delivering task artifacts, read the selected paperclip skill's SKILL.md and its referenced artifact workflow. A completion comment does not upload an artifact or change task status.",
1882
+ "Gemini's shell tool rejects command substitution. Write JSON request bodies to a workspace file and use curl --data-binary @file, or use the selected skill's helpers, instead of constructing a body with command substitution.",
1883
+ ]
1884
+ : []),
1885
+ ].join("\n");
1886
+ }
1843
1887
  // The relay runs on the host with the sanitized remote launch environment.
1844
1888
  // Its /usr/bin/env node shebang cannot rely on that environment's PATH.
1845
1889
  const overrideCommand = processSessionBridge?.agentCommand
@@ -1908,12 +1952,13 @@ async function buildRuntime(input) {
1908
1952
  }
1909
1953
  function sessionConfigOptions(prepared) {
1910
1954
  const options = [];
1911
- // Claude and Codex runtime config is pre-set via startup env vars; skip
1955
+ // Claude, Codex and Gemini runtime config is pre-set via startup env vars; skip
1912
1956
  // set_config_option to avoid ACP-server picker validation rejecting valid
1913
1957
  // backend model IDs that are not advertised by the local ACP server.
1914
1958
  if (prepared.requestedModel &&
1915
1959
  prepared.acpxAgent !== "claude" &&
1916
- prepared.acpxAgent !== "codex") {
1960
+ prepared.acpxAgent !== "codex" &&
1961
+ prepared.acpxAgent !== "gemini") {
1917
1962
  options.push({ key: "model", value: prepared.requestedModel });
1918
1963
  }
1919
1964
  if (prepared.requestedThinkingEffort && prepared.acpxAgent !== "codex") {
@@ -2972,6 +3017,7 @@ export function createAcpxEngineExecutor(deps = {}) {
2972
3017
  provider: billingIdentity?.provider ?? "acpx",
2973
3018
  ...(billingIdentity?.biller ? { biller: billingIdentity.biller } : {}),
2974
3019
  billingType: billingIdentity?.billingType ?? "unknown",
3020
+ pricingContext: undefined,
2975
3021
  };
2976
3022
  const warmIdleMs = asNumber(ctx.config.warmHandleIdleMs, DEFAULT_ACP_ENGINE_WARM_HANDLE_IDLE_MS);
2977
3023
  // The host run site owns the warm-handle store on this run. It operates over
@@ -3262,6 +3308,7 @@ export function createAcpxEngineExecutor(deps = {}) {
3262
3308
  stageRuntimeSpan: runStageSpan,
3263
3309
  }));
3264
3310
  buildRuntimeSettled = true;
3311
+ billingFields.pricingContext = prepared.fastMode ? { serviceTier: "fast" } : undefined;
3265
3312
  // Capture acquired resources before the cancellation boundary so the
3266
3313
  // normal settlement path also releases a just-completed build.
3267
3314
  releaseStagingLease = prepared.sessionStagingLeaseRelease;
@@ -3760,8 +3807,12 @@ export function createAcpxEngineExecutor(deps = {}) {
3760
3807
  };
3761
3808
  let eventBreakdown = null;
3762
3809
  let eventCostUsd = null;
3810
+ // Receipt persistence is fallible; retain the provider evidence before
3811
+ // calling the sink so the failure result can still return it to the host.
3812
+ let observedUsage = { usageComplete: false };
3763
3813
  let lastRuntimeEventAt = null;
3764
3814
  let observedRuntimeEvents = 0;
3815
+ let turnDispatchAttempted = false;
3765
3816
  // The turn-local state the sequence steps share. `promptBuild` sets the
3766
3817
  // prompt, `preTurnUsage` sets the pre-turn status, `turnStart` sets the
3767
3818
  // active turn, and `turnFinalize` reads all three. `activeTurn` is the run-
@@ -3816,7 +3867,9 @@ export function createAcpxEngineExecutor(deps = {}) {
3816
3867
  ? `Requested ACPX model: ${prepared.requestedModel} (set via ANTHROPIC_MODEL env at startup).`
3817
3868
  : prepared.acpxAgent === "codex"
3818
3869
  ? `Requested ACPX model: ${prepared.requestedModel} (set via CODEX_CONFIG at startup).`
3819
- : `Requested ACPX model: ${prepared.requestedModel}.`,
3870
+ : prepared.acpxAgent === "gemini"
3871
+ ? `Requested ACPX model: ${prepared.requestedModel} (set via GEMINI_MODEL at startup).`
3872
+ : `Requested ACPX model: ${prepared.requestedModel}.`,
3820
3873
  ]
3821
3874
  : []),
3822
3875
  ...(prepared.requestedThinkingEffort ? [`Requested ACPX thinking effort: ${prepared.requestedThinkingEffort}.`] : []),
@@ -3844,6 +3897,9 @@ export function createAcpxEngineExecutor(deps = {}) {
3844
3897
  };
3845
3898
  const stepTurnStart = (signal, startTimeoutMs) => {
3846
3899
  ctx.signal?.throwIfAborted();
3900
+ // After entering startTurn, a thrown error cannot prove the provider
3901
+ // received no work. Only failures before this boundary are free to settle.
3902
+ turnDispatchAttempted = true;
3847
3903
  const turn = runtime.startTurn({
3848
3904
  handle: sessionHandle,
3849
3905
  text: runPrompt,
@@ -3964,6 +4020,10 @@ export function createAcpxEngineExecutor(deps = {}) {
3964
4020
  if (event.type === "status" && event.tag === "usage_update") {
3965
4021
  eventBreakdown = event.breakdown ?? eventBreakdown;
3966
4022
  eventCostUsd = usdCostAmount(event.cost) ?? eventCostUsd;
4023
+ const checkpoint = summarizeAcpxTurnUsage({ preStatus: preTurnStatus, postStatus: null, eventBreakdown, eventCostUsd });
4024
+ observedUsage = { usage: checkpoint.usage ?? undefined, costUsd: checkpoint.costUsd, usageBasis: "per_run", usageComplete: false };
4025
+ await ctx.onUsage?.({ ...billingFields, usage: checkpoint.usage ?? undefined, costUsd: checkpoint.costUsd,
4026
+ model: prepared.requestedModel, usageBasis: "per_run", complete: false });
3967
4027
  }
3968
4028
  await emitRuntimeEvent(ctx, event, toolTitles, prepared.coalescePlaceholderToolUpdates);
3969
4029
  }
@@ -4046,6 +4106,12 @@ export function createAcpxEngineExecutor(deps = {}) {
4046
4106
  eventBreakdown,
4047
4107
  eventCostUsd,
4048
4108
  });
4109
+ // An interrupted stream is provisional unless the runtime supplies its
4110
+ // post-terminal receipt. An in-stream usage_update alone cannot close it.
4111
+ const usageComplete = !channelLost && (turnSucceeded || postTurnStatus?.usage != null);
4112
+ observedUsage = { usage: turnUsage.usage ?? undefined, costUsd: turnUsage.costUsd, usageBasis: "per_run", usageComplete };
4113
+ await ctx.onUsage?.({ ...billingFields, usage: turnUsage.usage ?? undefined, costUsd: turnUsage.costUsd,
4114
+ model: prepared.requestedModel, usageBasis: "per_run", complete: usageComplete });
4049
4115
  const failedTurn = terminal.status === "failed" || terminal.status === "cancelled" || timedOut;
4050
4116
  // ACPX can defer session/load until runTurn. Forget an unavailable
4051
4117
  // session so the next bounded turn receives the full task conversation.
@@ -4131,6 +4197,7 @@ export function createAcpxEngineExecutor(deps = {}) {
4131
4197
  model: prepared.requestedModel || null,
4132
4198
  ...(turnUsage.usage ? { usage: turnUsage.usage, usageBasis: "per_run" } : {}),
4133
4199
  costUsd: turnUsage.costUsd,
4200
+ usageComplete,
4134
4201
  resultJson: {
4135
4202
  status: channelLost ? "failed" : terminal.status,
4136
4203
  ...activityDiagnostics,
@@ -4261,6 +4328,8 @@ export function createAcpxEngineExecutor(deps = {}) {
4261
4328
  errorMessage: message,
4262
4329
  errorCode: timedOut ? "acpx_timeout" : (emitted?.classified.errorCode ?? null),
4263
4330
  errorMeta: emitted?.classified.errorMeta,
4331
+ ...observedUsage,
4332
+ ...(!turnDispatchAttempted ? { executionRecovery: { kind: "bootstrap", providerWorkStarted: false } } : {}),
4264
4333
  ...billingFields,
4265
4334
  ...referencedProjectStagingFailuresField,
4266
4335
  model: prepared.requestedModel || null,