@paperclipai/adapter-utils 2026.1012.0-nightly.0 → 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.
- package/dist/acpx-engine/execute.d.ts.map +1 -1
- package/dist/acpx-engine/execute.js +10 -83
- package/dist/acpx-engine/execute.js.map +1 -1
- package/dist/acpx-engine/execute.test.js +15 -192
- package/dist/acpx-engine/execute.test.js.map +1 -1
- package/dist/acpx-engine/run-contracts.d.ts +0 -1
- package/dist/acpx-engine/run-contracts.d.ts.map +1 -1
- package/dist/billing.d.ts +0 -7
- package/dist/billing.d.ts.map +1 -1
- package/dist/billing.js +2 -25
- package/dist/billing.js.map +1 -1
- package/dist/billing.test.js +1 -17
- package/dist/billing.test.js.map +1 -1
- package/dist/chat-file-delivery.d.ts +1 -1
- package/dist/chat-file-delivery.d.ts.map +1 -1
- package/dist/chat-file-delivery.js +3 -4
- package/dist/chat-file-delivery.js.map +1 -1
- package/dist/chat-file-delivery.test.js +2 -2
- package/dist/chat-file-delivery.test.js.map +1 -1
- package/dist/command-managed-runtime.d.ts +0 -6
- package/dist/command-managed-runtime.d.ts.map +1 -1
- package/dist/command-managed-runtime.js +1 -5
- package/dist/command-managed-runtime.js.map +1 -1
- package/dist/directory-merge-lock.test.js +2 -4
- package/dist/directory-merge-lock.test.js.map +1 -1
- package/dist/execution-target-sandbox.test.js +0 -228
- package/dist/execution-target-sandbox.test.js.map +1 -1
- package/dist/execution-target.d.ts +0 -12
- package/dist/execution-target.d.ts.map +1 -1
- package/dist/execution-target.js +13 -49
- package/dist/execution-target.js.map +1 -1
- package/dist/execution-target.test.js +1 -35
- package/dist/execution-target.test.js.map +1 -1
- package/dist/github-launcher-environment.test.js +0 -37
- package/dist/github-launcher-environment.test.js.map +1 -1
- package/dist/index.d.ts +3 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/paperclip-runner-permissions.d.ts +4 -15
- package/dist/paperclip-runner-permissions.d.ts.map +1 -1
- package/dist/paperclip-runner-permissions.js +3 -29
- package/dist/paperclip-runner-permissions.js.map +1 -1
- package/dist/paperclip-runner-permissions.test.js +1 -34
- package/dist/paperclip-runner-permissions.test.js.map +1 -1
- package/dist/sandbox-callback-bridge.d.ts.map +1 -1
- package/dist/sandbox-callback-bridge.js +0 -1
- package/dist/sandbox-callback-bridge.js.map +1 -1
- package/dist/sandbox-callback-bridge.test.js +16 -113
- package/dist/sandbox-callback-bridge.test.js.map +1 -1
- package/dist/sandbox-managed-runtime.d.ts +0 -5
- package/dist/sandbox-managed-runtime.d.ts.map +1 -1
- package/dist/sandbox-managed-runtime.js +13 -51
- package/dist/sandbox-managed-runtime.js.map +1 -1
- package/dist/sandbox-managed-runtime.test.js +2 -119
- package/dist/sandbox-managed-runtime.test.js.map +1 -1
- package/dist/server-utils.d.ts +3 -6
- package/dist/server-utils.d.ts.map +1 -1
- package/dist/server-utils.js +8 -38
- package/dist/server-utils.js.map +1 -1
- package/dist/server-utils.test.js +1 -35
- package/dist/server-utils.test.js.map +1 -1
- package/dist/types.d.ts +1 -76
- package/dist/types.d.ts.map +1 -1
- package/dist/workspace-restore-diagnostics.d.ts +1 -8
- package/dist/workspace-restore-diagnostics.d.ts.map +1 -1
- package/dist/workspace-restore-diagnostics.js +8 -35
- package/dist/workspace-restore-diagnostics.js.map +1 -1
- package/dist/workspace-restore-diagnostics.test.js +1 -31
- package/dist/workspace-restore-diagnostics.test.js.map +1 -1
- package/node_modules/@esbuild/linux-x64/README.md +3 -0
- package/node_modules/@esbuild/linux-x64/bin/esbuild +0 -0
- package/node_modules/@esbuild/linux-x64/package.json +20 -0
- package/node_modules/acpx/dist/live-checkpoint-ClPCSdrW.js +0 -3
- package/node_modules/bare-url/README.md +4 -0
- package/node_modules/bare-url/index.d.ts +3 -0
- package/node_modules/bare-url/index.js +42 -18
- package/node_modules/bare-url/lib/errors.js +4 -0
- package/node_modules/bare-url/package.json +1 -1
- package/node_modules/bare-url/prebuilds/android-arm/bare-url.bare +0 -0
- package/node_modules/bare-url/prebuilds/android-arm64/bare-url.bare +0 -0
- package/node_modules/bare-url/prebuilds/android-ia32/bare-url.bare +0 -0
- package/node_modules/bare-url/prebuilds/android-x64/bare-url.bare +0 -0
- package/node_modules/bare-url/prebuilds/darwin-arm64/bare-url.bare +0 -0
- package/node_modules/bare-url/prebuilds/darwin-x64/bare-url.bare +0 -0
- package/node_modules/bare-url/prebuilds/ios-arm64/bare-url.bare +0 -0
- package/node_modules/bare-url/prebuilds/ios-arm64-simulator/bare-url.bare +0 -0
- package/node_modules/bare-url/prebuilds/ios-x64-simulator/bare-url.bare +0 -0
- package/node_modules/bare-url/prebuilds/linux-arm64/bare-url.bare +0 -0
- package/node_modules/bare-url/prebuilds/linux-x64/bare-url.bare +0 -0
- package/node_modules/bare-url/prebuilds/win32-arm64/bare-url.bare +0 -0
- package/node_modules/bare-url/prebuilds/win32-x64/bare-url.bare +0 -0
- package/node_modules/zod/package.json +1 -1
- package/node_modules/zod/src/v4/core/versions.ts +1 -1
- package/node_modules/zod/v4/core/versions.cjs +1 -1
- package/node_modules/zod/v4/core/versions.js +1 -1
- package/package.json +3 -31
- package/dist/acpx-engine/accounting-model.d.ts +0 -5
- package/dist/acpx-engine/accounting-model.d.ts.map +0 -1
- package/dist/acpx-engine/accounting-model.js +0 -10
- package/dist/acpx-engine/accounting-model.js.map +0 -1
- package/dist/acpx-engine/accounting-model.test.d.ts +0 -2
- package/dist/acpx-engine/accounting-model.test.d.ts.map +0 -1
- package/dist/acpx-engine/accounting-model.test.js +0 -18
- package/dist/acpx-engine/accounting-model.test.js.map +0 -1
- package/dist/acpx-engine/filesystem-protocol.test.d.ts +0 -2
- package/dist/acpx-engine/filesystem-protocol.test.d.ts.map +0 -1
- package/dist/acpx-engine/filesystem-protocol.test.js +0 -99
- package/dist/acpx-engine/filesystem-protocol.test.js.map +0 -1
- package/dist/api-billing-type.d.ts +0 -5
- package/dist/api-billing-type.d.ts.map +0 -1
- package/dist/api-billing-type.js +0 -16
- package/dist/api-billing-type.js.map +0 -1
- package/dist/api-billing-type.test.d.ts +0 -2
- package/dist/api-billing-type.test.d.ts.map +0 -1
- package/dist/api-billing-type.test.js +0 -20
- package/dist/api-billing-type.test.js.map +0 -1
- package/dist/connection-failure.d.ts +0 -33
- package/dist/connection-failure.d.ts.map +0 -1
- package/dist/connection-failure.js +0 -43
- package/dist/connection-failure.js.map +0 -1
- package/dist/connection-failure.test.d.ts +0 -2
- package/dist/connection-failure.test.d.ts.map +0 -1
- package/dist/connection-failure.test.js +0 -94
- package/dist/connection-failure.test.js.map +0 -1
- package/dist/usage-checkpoint.d.ts +0 -11
- package/dist/usage-checkpoint.d.ts.map +0 -1
- package/dist/usage-checkpoint.js +0 -165
- package/dist/usage-checkpoint.js.map +0 -1
- package/dist/usage-checkpoint.test.d.ts +0 -2
- package/dist/usage-checkpoint.test.d.ts.map +0 -1
- package/dist/usage-checkpoint.test.js +0 -131
- package/dist/usage-checkpoint.test.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execute.d.ts","sourceRoot":"","sources":["../../src/acpx-engine/execute.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EACV,kBAAkB,EAClB,uBAAuB,EACvB,sBAAsB,EACtB,YAAY,EACb,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAcL,KAAK,sBAAsB,EAI3B,KAAK,0BAA0B,EAC/B,KAAK,qCAAqC,EAC1C,KAAK,gCAAgC,EAEtC,MAAM,6CAA6C,CAAC;AAIrD,OAAO,EAIL,KAAK,0BAA0B,EAEhC,MAAM,+BAA+B,CAAC;AACvC,YAAY,EAAE,0BAA0B,EAAE,MAAM,+BAA+B,CAAC;AAChF,OAAO,KAAK,EAA+B,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AAuC1G,OAAO,EAML,KAAK,UAAU,EAGf,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EAGrB,KAAK,wBAAwB,EAE9B,MAAM,cAAc,CAAC;AAYtB,OAAO,KAAK,EAGV,iBAAiB,EACjB,6BAA6B,EAE7B,0BAA0B,EAC1B,kBAAkB,EAKnB,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"execute.d.ts","sourceRoot":"","sources":["../../src/acpx-engine/execute.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,7 +20,6 @@ import { createEphemeralSessionEnvironmentStore } from "./ephemeral-session-envi
|
|
|
20
20
|
import { createAcpRuntime, createAgentRegistry, createRuntimeStore, isAcpRuntimeError, } from "acpx/runtime";
|
|
21
21
|
import { ACPX_DUPLEX_LOSS_CANCEL_DEADLINE_MS, ACPX_HANDSHAKE_TIMEOUT_MS, ACPX_HANDSHAKE_TRANSPORT_POLL_MS, DEFAULT_ACP_ENGINE_AGENT, DEFAULT_ACP_ENGINE_MODE, DEFAULT_ACP_ENGINE_NON_INTERACTIVE_PERMISSIONS, DEFAULT_ACP_ENGINE_PERMISSION_MODE, DEFAULT_ACP_ENGINE_TIMEOUT_SEC, DEFAULT_ACP_ENGINE_WARM_HANDLE_IDLE_MS, } from "./constants.js";
|
|
22
22
|
import { createRunResourceLedger } from "./run-resource-ledger.js";
|
|
23
|
-
import { acpxAccountingModel } from "./accounting-model.js";
|
|
24
23
|
import { settleAcpRun } from "./settlement-sequence.js";
|
|
25
24
|
import { runAttempt, } from "./run-coordinator.js";
|
|
26
25
|
import { runTurn as runTurnSequence, } from "./turn-sequence.js";
|
|
@@ -864,7 +863,7 @@ function normalizeRequestedThinkingEffort(config) {
|
|
|
864
863
|
asString(config.effort, "")).trim();
|
|
865
864
|
}
|
|
866
865
|
function buildCodexStartupConfig(input) {
|
|
867
|
-
const hasRuntimeConfig = Boolean(input.requestedModel || input.requestedThinkingEffort || input.fastMode
|
|
866
|
+
const hasRuntimeConfig = Boolean(input.requestedModel || input.requestedThinkingEffort || input.fastMode);
|
|
868
867
|
if (!hasRuntimeConfig)
|
|
869
868
|
return { value: null, invalidExistingConfig: false };
|
|
870
869
|
let existing = {};
|
|
@@ -894,11 +893,6 @@ function buildCodexStartupConfig(input) {
|
|
|
894
893
|
},
|
|
895
894
|
}
|
|
896
895
|
: {}),
|
|
897
|
-
...(input.identityEnvironmentKeys ? {
|
|
898
|
-
features: { ...parseObject(existing.features), ...(input.fastMode ? { fast_mode: true } : {}), shell_snapshot: false },
|
|
899
|
-
shell_environment_policy: { ...parseObject(existing.shell_environment_policy),
|
|
900
|
-
inherit: "all", ignore_default_excludes: true, include_only: input.identityEnvironmentKeys },
|
|
901
|
-
} : {}),
|
|
902
896
|
}),
|
|
903
897
|
invalidExistingConfig,
|
|
904
898
|
};
|
|
@@ -1217,7 +1211,7 @@ async function buildRuntime(input) {
|
|
|
1217
1211
|
const stateDir = path.resolve(asString(config.stateDir, "") || defaultStateDir(agent.companyId, agent.id));
|
|
1218
1212
|
await fs.mkdir(stateDir, { recursive: true });
|
|
1219
1213
|
const envConfig = parseObject(config.env);
|
|
1220
|
-
const env = { ...buildPaperclipEnv(agent
|
|
1214
|
+
const env = { ...buildPaperclipEnv(agent), PAPERCLIP_RUN_ID: runId };
|
|
1221
1215
|
const wakeTaskId = (typeof context.taskId === "string" && context.taskId.trim()) ||
|
|
1222
1216
|
(typeof context.issueId === "string" && context.issueId.trim()) ||
|
|
1223
1217
|
"";
|
|
@@ -1306,22 +1300,9 @@ async function buildRuntime(input) {
|
|
|
1306
1300
|
if (requestedModel && acpxAgent === "claude" && !env.ANTHROPIC_MODEL) {
|
|
1307
1301
|
env.ANTHROPIC_MODEL = requestedModel;
|
|
1308
1302
|
}
|
|
1309
|
-
// Gemini CLI reads GEMINI_MODEL when creating each ACP session. Its ACP
|
|
1310
|
-
// implementation supports set_model, but not set_config_option; configure
|
|
1311
|
-
// the selected model before startup without changing the transport.
|
|
1312
|
-
if (requestedModel && acpxAgent === "gemini") {
|
|
1313
|
-
env.GEMINI_MODEL = requestedModel;
|
|
1314
|
-
}
|
|
1315
1303
|
if (acpxAgent === "codex") {
|
|
1316
1304
|
const codexStartupConfig = buildCodexStartupConfig({
|
|
1317
1305
|
existingConfig: env.CODEX_CONFIG,
|
|
1318
|
-
...(input.ctx.agentIdentity ? { identityEnvironmentKeys: [...new Set([
|
|
1319
|
-
"PATH", "HOME", "LANG", "TMPDIR", "CODEX_HOME",
|
|
1320
|
-
"PAPERCLIP_AGENT_KEY_ID", "PAPERCLIP_AGENT_PUBLIC_KEY", "PAPERCLIP_AGENT_PRIVATE_KEY",
|
|
1321
|
-
// Preserve Codex's default secret-name exclusions. The short-lived
|
|
1322
|
-
// Paperclip API token is required by the agent skill's Bash/curl calls.
|
|
1323
|
-
...Object.keys(env).filter(key => key === "PAPERCLIP_API_KEY" || !/key|secret|token/i.test(key)),
|
|
1324
|
-
])] } : {}),
|
|
1325
1306
|
requestedModel,
|
|
1326
1307
|
requestedThinkingEffort,
|
|
1327
1308
|
fastMode,
|
|
@@ -1448,9 +1429,8 @@ async function buildRuntime(input) {
|
|
|
1448
1429
|
// (fingerprint, compat, persist, ensureSession, error) bind to THIS single
|
|
1449
1430
|
// value so a warm/resumable session created with the in-sandbox cwd is reused
|
|
1450
1431
|
// — not invalidated — on the next run. Remote runner-backed → the in-sandbox
|
|
1451
|
-
// workspace dir; local and the runner-less fallback → the HOST cwd
|
|
1452
|
-
//
|
|
1453
|
-
// client the same canonical root so workspace aliases stay within that root.
|
|
1432
|
+
// workspace dir; local and the runner-less fallback → the HOST cwd,
|
|
1433
|
+
// byte-identical to today.
|
|
1454
1434
|
//
|
|
1455
1435
|
// PR 3: the staging transport derives the in-sandbox workspace dir
|
|
1456
1436
|
// deterministically from the target's `remoteCwd` (it is exactly `remoteCwd`
|
|
@@ -1462,14 +1442,11 @@ async function buildRuntime(input) {
|
|
|
1462
1442
|
// diverge from the cwd that fed the fingerprint.
|
|
1463
1443
|
const sessionCwd = useRemoteProcessSession && executionTarget?.kind === "remote"
|
|
1464
1444
|
? executionTarget.remoteCwd
|
|
1465
|
-
:
|
|
1466
|
-
? await fs.realpath(cwd)
|
|
1467
|
-
: cwd;
|
|
1445
|
+
: cwd;
|
|
1468
1446
|
// The 17 fields the session fingerprint hashes. Company, agent, and task
|
|
1469
1447
|
// identifiers are NOT here; they scope the outer session key only (see
|
|
1470
1448
|
// `keyIdentity`). The fingerprint builder accepts only this identity.
|
|
1471
1449
|
const fingerprintIdentity = {
|
|
1472
|
-
...(input.ctx.agentIdentity ? { agentIdentityKeyId: input.ctx.agentIdentity.keyId } : {}),
|
|
1473
1450
|
acpxAgent,
|
|
1474
1451
|
agentCommand: agentCommand ?? acpxAgent,
|
|
1475
1452
|
cwd: path.resolve(sessionCwd),
|
|
@@ -1795,28 +1772,6 @@ async function buildRuntime(input) {
|
|
|
1795
1772
|
await emitRunPhaseTiming(input.ctx, "start_transport", nowMs() - startTransportStart, "failed");
|
|
1796
1773
|
throw err;
|
|
1797
1774
|
}
|
|
1798
|
-
const currentSkillRoot = acpxAgent === "codex" && runtimeEnv.CODEX_HOME
|
|
1799
|
-
? path.join(runtimeEnv.CODEX_HOME, "skills")
|
|
1800
|
-
: acpxAgent === "gemini" && !executionTargetIsRemote && typeof skillsIdentity.skillsHome === "string"
|
|
1801
|
-
? skillsIdentity.skillsHome
|
|
1802
|
-
: null;
|
|
1803
|
-
if (currentSkillRoot && Array.isArray(skillsIdentity.selectedSkills) && skillsIdentity.selectedSkills.length > 0) {
|
|
1804
|
-
// Managed connection homes are disposable. A resumed conversation may
|
|
1805
|
-
// remember a previous home's skill paths; supply the current root on every
|
|
1806
|
-
// turn, after the remote launch environment has rebased CODEX_HOME.
|
|
1807
|
-
skillPromptInstructions = [
|
|
1808
|
-
`Paperclip has materialized selected runtime skills for this ACPX ${acpxAgent === "codex" ? "Codex" : "Gemini"} run.`,
|
|
1809
|
-
`Skill root for this run: ${currentSkillRoot}`,
|
|
1810
|
-
`Selected skills: ${skillsIdentity.selectedSkills.join(", ")}`,
|
|
1811
|
-
"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.",
|
|
1812
|
-
...(acpxAgent === "gemini" && skillsIdentity.selectedSkills.includes("paperclip")
|
|
1813
|
-
? [
|
|
1814
|
-
"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.",
|
|
1815
|
-
"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.",
|
|
1816
|
-
]
|
|
1817
|
-
: []),
|
|
1818
|
-
].join("\n");
|
|
1819
|
-
}
|
|
1820
1775
|
// The relay runs on the host with the sanitized remote launch environment.
|
|
1821
1776
|
// Its /usr/bin/env node shebang cannot rely on that environment's PATH.
|
|
1822
1777
|
const overrideCommand = processSessionBridge?.agentCommand
|
|
@@ -1882,13 +1837,12 @@ async function buildRuntime(input) {
|
|
|
1882
1837
|
}
|
|
1883
1838
|
function sessionConfigOptions(prepared) {
|
|
1884
1839
|
const options = [];
|
|
1885
|
-
// Claude
|
|
1840
|
+
// Claude and Codex runtime config is pre-set via startup env vars; skip
|
|
1886
1841
|
// set_config_option to avoid ACP-server picker validation rejecting valid
|
|
1887
1842
|
// backend model IDs that are not advertised by the local ACP server.
|
|
1888
1843
|
if (prepared.requestedModel &&
|
|
1889
1844
|
prepared.acpxAgent !== "claude" &&
|
|
1890
|
-
prepared.acpxAgent !== "codex"
|
|
1891
|
-
prepared.acpxAgent !== "gemini") {
|
|
1845
|
+
prepared.acpxAgent !== "codex") {
|
|
1892
1846
|
options.push({ key: "model", value: prepared.requestedModel });
|
|
1893
1847
|
}
|
|
1894
1848
|
if (prepared.requestedThinkingEffort && prepared.acpxAgent !== "codex") {
|
|
@@ -2953,7 +2907,6 @@ export function createAcpxEngineExecutor(deps = {}) {
|
|
|
2953
2907
|
provider: billingIdentity?.provider ?? "acpx",
|
|
2954
2908
|
...(billingIdentity?.biller ? { biller: billingIdentity.biller } : {}),
|
|
2955
2909
|
billingType: billingIdentity?.billingType ?? "unknown",
|
|
2956
|
-
pricingContext: undefined,
|
|
2957
2910
|
};
|
|
2958
2911
|
const warmIdleMs = asNumber(ctx.config.warmHandleIdleMs, DEFAULT_ACP_ENGINE_WARM_HANDLE_IDLE_MS);
|
|
2959
2912
|
// The host run site owns the warm-handle store on this run. It operates over
|
|
@@ -3244,7 +3197,6 @@ export function createAcpxEngineExecutor(deps = {}) {
|
|
|
3244
3197
|
stageRuntimeSpan: runStageSpan,
|
|
3245
3198
|
}));
|
|
3246
3199
|
buildRuntimeSettled = true;
|
|
3247
|
-
billingFields.pricingContext = prepared.fastMode ? { serviceTier: "fast" } : undefined;
|
|
3248
3200
|
// Capture acquired resources before the cancellation boundary so the
|
|
3249
3201
|
// normal settlement path also releases a just-completed build.
|
|
3250
3202
|
releaseStagingLease = prepared.sessionStagingLeaseRelease;
|
|
@@ -3732,19 +3684,14 @@ export function createAcpxEngineExecutor(deps = {}) {
|
|
|
3732
3684
|
};
|
|
3733
3685
|
let eventBreakdown = null;
|
|
3734
3686
|
let eventCostUsd = null;
|
|
3735
|
-
// Receipt persistence is fallible; retain the provider evidence before
|
|
3736
|
-
// calling the sink so the failure result can still return it to the host.
|
|
3737
|
-
let observedUsage = { usageComplete: false };
|
|
3738
3687
|
let lastRuntimeEventAt = null;
|
|
3739
3688
|
let observedRuntimeEvents = 0;
|
|
3740
|
-
let turnDispatchAttempted = false;
|
|
3741
3689
|
// The turn-local state the sequence steps share. `promptBuild` sets the
|
|
3742
3690
|
// prompt, `preTurnUsage` sets the pre-turn status, `turnStart` sets the
|
|
3743
3691
|
// active turn, and `turnFinalize` reads all three. `activeTurn` is the run-
|
|
3744
3692
|
// scoped hoisted local, so the settlement `endSession` step can cancel it.
|
|
3745
3693
|
let runPrompt = "";
|
|
3746
3694
|
let preTurnStatus = null;
|
|
3747
|
-
let accountingModel = prepared.requestedModel || null;
|
|
3748
3695
|
// Phase-timing markers for the prepare_turn and turn phases. The prepare
|
|
3749
3696
|
// phase covers the prompt build and the pre-turn usage snapshot; the turn
|
|
3750
3697
|
// phase covers the started turn and the event relay.
|
|
@@ -3793,9 +3740,7 @@ export function createAcpxEngineExecutor(deps = {}) {
|
|
|
3793
3740
|
? `Requested ACPX model: ${prepared.requestedModel} (set via ANTHROPIC_MODEL env at startup).`
|
|
3794
3741
|
: prepared.acpxAgent === "codex"
|
|
3795
3742
|
? `Requested ACPX model: ${prepared.requestedModel} (set via CODEX_CONFIG at startup).`
|
|
3796
|
-
: prepared.
|
|
3797
|
-
? `Requested ACPX model: ${prepared.requestedModel} (set via GEMINI_MODEL at startup).`
|
|
3798
|
-
: `Requested ACPX model: ${prepared.requestedModel}.`,
|
|
3743
|
+
: `Requested ACPX model: ${prepared.requestedModel}.`,
|
|
3799
3744
|
]
|
|
3800
3745
|
: []),
|
|
3801
3746
|
...(prepared.requestedThinkingEffort ? [`Requested ACPX thinking effort: ${prepared.requestedThinkingEffort}.`] : []),
|
|
@@ -3816,7 +3761,6 @@ export function createAcpxEngineExecutor(deps = {}) {
|
|
|
3816
3761
|
// Snapshot pre-turn usage so cumulative agent-reported cost can be
|
|
3817
3762
|
// attributed to this run alone.
|
|
3818
3763
|
preTurnStatus = await readRuntimeStatus(runtime, sessionHandle);
|
|
3819
|
-
accountingModel = acpxAccountingModel(prepared.requestedModel, preTurnStatus, null);
|
|
3820
3764
|
// The prepare phase (prompt build + usage snapshot) finished; the turn
|
|
3821
3765
|
// phase starts next.
|
|
3822
3766
|
await emitPhase("prepare_turn", preparePhaseStart, "ok");
|
|
@@ -3824,9 +3768,6 @@ export function createAcpxEngineExecutor(deps = {}) {
|
|
|
3824
3768
|
};
|
|
3825
3769
|
const stepTurnStart = (signal, startTimeoutMs) => {
|
|
3826
3770
|
ctx.signal?.throwIfAborted();
|
|
3827
|
-
// After entering startTurn, a thrown error cannot prove the provider
|
|
3828
|
-
// received no work. Only failures before this boundary are free to settle.
|
|
3829
|
-
turnDispatchAttempted = true;
|
|
3830
3771
|
const turn = runtime.startTurn({
|
|
3831
3772
|
handle: sessionHandle,
|
|
3832
3773
|
text: runPrompt,
|
|
@@ -3947,10 +3888,6 @@ export function createAcpxEngineExecutor(deps = {}) {
|
|
|
3947
3888
|
if (event.type === "status" && event.tag === "usage_update") {
|
|
3948
3889
|
eventBreakdown = event.breakdown ?? eventBreakdown;
|
|
3949
3890
|
eventCostUsd = usdCostAmount(event.cost) ?? eventCostUsd;
|
|
3950
|
-
const checkpoint = summarizeAcpxTurnUsage({ preStatus: preTurnStatus, postStatus: null, eventBreakdown, eventCostUsd });
|
|
3951
|
-
observedUsage = { usage: checkpoint.usage ?? undefined, costUsd: checkpoint.costUsd, usageBasis: "per_run", usageComplete: false };
|
|
3952
|
-
await ctx.onUsage?.({ ...billingFields, usage: checkpoint.usage ?? undefined, costUsd: checkpoint.costUsd,
|
|
3953
|
-
model: accountingModel, usageBasis: "per_run", complete: false });
|
|
3954
3891
|
}
|
|
3955
3892
|
await emitRuntimeEvent(ctx, event, toolTitles, prepared.coalescePlaceholderToolUpdates);
|
|
3956
3893
|
}
|
|
@@ -4027,19 +3964,12 @@ export function createAcpxEngineExecutor(deps = {}) {
|
|
|
4027
3964
|
const turnSucceeded = terminal.status === "completed" && !timedOut && !channelLost;
|
|
4028
3965
|
// Read usage before the settlement can discard runtime state.
|
|
4029
3966
|
const postTurnStatus = await readRuntimeStatus(runtime, sessionHandle);
|
|
4030
|
-
accountingModel = acpxAccountingModel(prepared.requestedModel, preTurnStatus, postTurnStatus);
|
|
4031
3967
|
const turnUsage = summarizeAcpxTurnUsage({
|
|
4032
3968
|
preStatus: preTurnStatus,
|
|
4033
3969
|
postStatus: postTurnStatus,
|
|
4034
3970
|
eventBreakdown,
|
|
4035
3971
|
eventCostUsd,
|
|
4036
3972
|
});
|
|
4037
|
-
// An interrupted stream is provisional unless the runtime supplies its
|
|
4038
|
-
// post-terminal receipt. An in-stream usage_update alone cannot close it.
|
|
4039
|
-
const usageComplete = !channelLost && (turnSucceeded || postTurnStatus?.usage != null);
|
|
4040
|
-
observedUsage = { usage: turnUsage.usage ?? undefined, costUsd: turnUsage.costUsd, usageBasis: "per_run", usageComplete };
|
|
4041
|
-
await ctx.onUsage?.({ ...billingFields, usage: turnUsage.usage ?? undefined, costUsd: turnUsage.costUsd,
|
|
4042
|
-
model: accountingModel, usageBasis: "per_run", complete: usageComplete });
|
|
4043
3973
|
const failedTurn = terminal.status === "failed" || terminal.status === "cancelled" || timedOut;
|
|
4044
3974
|
// ACPX can defer session/load until runTurn. Forget an unavailable
|
|
4045
3975
|
// session so the next bounded turn receives the full task conversation.
|
|
@@ -4122,10 +4052,9 @@ export function createAcpxEngineExecutor(deps = {}) {
|
|
|
4122
4052
|
sessionDisplayId: sessionHandle.agentSessionId ?? sessionHandle.backendSessionId ?? sessionHandle.runtimeSessionName,
|
|
4123
4053
|
...billingFields,
|
|
4124
4054
|
...referencedProjectStagingFailuresField,
|
|
4125
|
-
model:
|
|
4055
|
+
model: prepared.requestedModel || null,
|
|
4126
4056
|
...(turnUsage.usage ? { usage: turnUsage.usage, usageBasis: "per_run" } : {}),
|
|
4127
4057
|
costUsd: turnUsage.costUsd,
|
|
4128
|
-
usageComplete,
|
|
4129
4058
|
resultJson: {
|
|
4130
4059
|
status: channelLost ? "failed" : terminal.status,
|
|
4131
4060
|
...activityDiagnostics,
|
|
@@ -4256,11 +4185,9 @@ export function createAcpxEngineExecutor(deps = {}) {
|
|
|
4256
4185
|
errorMessage: message,
|
|
4257
4186
|
errorCode: timedOut ? "acpx_timeout" : (emitted?.classified.errorCode ?? null),
|
|
4258
4187
|
errorMeta: emitted?.classified.errorMeta,
|
|
4259
|
-
...observedUsage,
|
|
4260
|
-
...(!turnDispatchAttempted ? { executionRecovery: { kind: "bootstrap", providerWorkStarted: false } } : {}),
|
|
4261
4188
|
...billingFields,
|
|
4262
4189
|
...referencedProjectStagingFailuresField,
|
|
4263
|
-
model:
|
|
4190
|
+
model: prepared.requestedModel || null,
|
|
4264
4191
|
clearSession: clearSession || timedOut,
|
|
4265
4192
|
resultJson: { phase, ...activityDiagnostics },
|
|
4266
4193
|
summary: message,
|