@vtxmacro/cli 2026.9.62 → 2026.9.63
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/bin/vtx-service-bootstrap.js +1 -1
- package/bin/vtx.js +107 -12
- package/package.json +1 -1
|
@@ -16,7 +16,7 @@ import { fileURLToPath } from "node:url";
|
|
|
16
16
|
// agent-cli-release.json
|
|
17
17
|
var agent_cli_release_default = {
|
|
18
18
|
package_name: "@vtxmacro/cli",
|
|
19
|
-
package_version: "2026.9.
|
|
19
|
+
package_version: "2026.9.63",
|
|
20
20
|
codex_package_name: "@openai/codex",
|
|
21
21
|
codex_version: "0.155.0",
|
|
22
22
|
copilot_sdk_package_name: "@github/copilot-sdk",
|
package/bin/vtx.js
CHANGED
|
@@ -77,7 +77,7 @@ var init_agent_cli_release = __esm({
|
|
|
77
77
|
"agent-cli-release.json"() {
|
|
78
78
|
agent_cli_release_default = {
|
|
79
79
|
package_name: "@vtxmacro/cli",
|
|
80
|
-
package_version: "2026.9.
|
|
80
|
+
package_version: "2026.9.63",
|
|
81
81
|
codex_package_name: "@openai/codex",
|
|
82
82
|
codex_version: "0.155.0",
|
|
83
83
|
copilot_sdk_package_name: "@github/copilot-sdk",
|
|
@@ -18174,7 +18174,7 @@ async function acquireInferenceHostProcessLock(path, dependencies = {}) {
|
|
|
18174
18174
|
}
|
|
18175
18175
|
};
|
|
18176
18176
|
}
|
|
18177
|
-
var loadInferenceReceiptDurabilityTimeoutMs, loadInferenceAgentDataRequestTimeoutMs, loadInferenceAgentCommandLockPolicy, InferenceHostProcessLockBusyError, INFERENCE_CREDENTIAL_NAMESPACE, MAX_INFERENCE_PRIVATE_FILE_BYTES, WINDOWS_PRIVATE_ACL_BROKER_SCRIPT, WINDOWS_IDENTITY_COMMAND_TIMEOUT_MS, WINDOWS_PRIVATE_ACL_BROKER_STARTUP_TIMEOUT_MS, SMALL_IDENTITY_COMMAND_TIMEOUT_MS, windowsPowerShellEnvironment, windowsPrivateAclBrokerInvocation, WindowsPrivateAclBroker, defaultWindowsPrivateAclBroker, runWindowsPrivateAcl, windowsAclCache, windowsAclIdentity, aclCacheKey, secureWindowsPrivatePath, invalidateWindowsAclCache, rebindHardenedWindowsAclAfterRename, rebindHardenedWindowsDirectoryAfterOwnedMutation, isDefaultWindowsPrivatePath, secureExistingWindowsPath, linuxProcessIdentity, windowsProcessIdentityInvocation, windowsBootIdentityInvocation, windowsProcessIdentity, darwinProcessIdentity, runSmallIdentityCommand, cachedSystemBootIdentity, readInferenceSystemBootIdentity, defaultProcessIdentity, defaultCurrentProcessIdentity, processLockObservationCache, inferenceProcessIdentitiesMatch, DEFAULT_INFERENCE_HOST_INSTANCE, SAFE_INFERENCE_HOST_INSTANCE, requireNamedInstancePath, credentialStoreIdentity, inferenceHostCredentialContextPath, inferenceHostCredentialContextTransitionPath, credentialContextForConfig, WINDOWS_PRIVATE_FILE_REPLACE_ERROR_CODES;
|
|
18177
|
+
var loadInferenceReceiptDurabilityTimeoutMs, loadInferenceAgentDataRequestTimeoutMs, loadInferenceAgentCommandLockPolicy, InferenceHostProcessLockBusyError, INFERENCE_CREDENTIAL_NAMESPACE, MAX_INFERENCE_PRIVATE_FILE_BYTES, WINDOWS_PRIVATE_ACL_BROKER_SCRIPT, WINDOWS_IDENTITY_COMMAND_TIMEOUT_MS, WINDOWS_PRIVATE_ACL_BROKER_STARTUP_TIMEOUT_MS, SMALL_IDENTITY_COMMAND_TIMEOUT_MS, windowsPowerShellEnvironment, windowsPrivateAclBrokerInvocation, WindowsPrivateAclBroker, defaultWindowsPrivateAclBroker, runWindowsPrivateAcl, windowsAclCache, windowsAclIdentity, aclCacheKey, secureWindowsPrivatePath, invalidateWindowsAclCache, rebindHardenedWindowsAclAfterRename, rebindHardenedWindowsDirectoryAfterOwnedMutation, isDefaultWindowsPrivatePath, secureExistingWindowsPath, linuxProcessIdentity, windowsProcessIdentityInvocation, windowsBootIdentityInvocation, windowsProcessIdentity, darwinProcessIdentity, runSmallIdentityCommand, cachedSystemBootIdentity, readInferenceSystemBootIdentity, defaultProcessIdentity, defaultCurrentProcessIdentity, readInferenceHostProcessLockStatus, processLockObservationCache, inferenceProcessIdentitiesMatch, DEFAULT_INFERENCE_HOST_INSTANCE, SAFE_INFERENCE_HOST_INSTANCE, requireNamedInstancePath, credentialStoreIdentity, inferenceHostCredentialContextPath, inferenceHostCredentialContextTransitionPath, credentialContextForConfig, WINDOWS_PRIVATE_FILE_REPLACE_ERROR_CODES;
|
|
18178
18178
|
var init_config = __esm({
|
|
18179
18179
|
"lib/inference-host/config.ts"() {
|
|
18180
18180
|
"use strict";
|
|
@@ -18773,6 +18773,25 @@ while(($line=[Console]::In.ReadLine()) -ne $null) {
|
|
|
18773
18773
|
if (!identity2) throw new Error("Inference host could not establish its process-start identity.");
|
|
18774
18774
|
return identity2;
|
|
18775
18775
|
};
|
|
18776
|
+
readInferenceHostProcessLockStatus = async (path) => {
|
|
18777
|
+
const raw = await readInferencePrivateFile(path, "Inference host process lock");
|
|
18778
|
+
if (raw === null) return { state: "not_running" };
|
|
18779
|
+
try {
|
|
18780
|
+
const owner2 = JSON.parse(raw);
|
|
18781
|
+
if (owner2.schema_version !== 2 || !Number.isSafeInteger(owner2.pid) || owner2.pid <= 0 || typeof owner2.process_identity !== "string" || typeof owner2.boot_identity !== "string") {
|
|
18782
|
+
return { state: "unknown" };
|
|
18783
|
+
}
|
|
18784
|
+
const [identity2, boot] = await Promise.all([
|
|
18785
|
+
defaultProcessIdentity(owner2.pid),
|
|
18786
|
+
readInferenceSystemBootIdentity()
|
|
18787
|
+
]);
|
|
18788
|
+
if (boot !== owner2.boot_identity) return { state: "stale" };
|
|
18789
|
+
if (identity2 === null) return { state: "unknown" };
|
|
18790
|
+
return { state: identity2 === owner2.process_identity ? "running" : "stale" };
|
|
18791
|
+
} catch {
|
|
18792
|
+
return { state: "unknown" };
|
|
18793
|
+
}
|
|
18794
|
+
};
|
|
18776
18795
|
processLockObservationCache = /* @__PURE__ */ new Map();
|
|
18777
18796
|
inferenceProcessIdentitiesMatch = (stored, observed) => stored === observed;
|
|
18778
18797
|
DEFAULT_INFERENCE_HOST_INSTANCE = "default";
|
|
@@ -44581,7 +44600,7 @@ async function runInferenceHostCli(argv2, env = process.env, dependencies = {})
|
|
|
44581
44600
|
};
|
|
44582
44601
|
}
|
|
44583
44602
|
}
|
|
44584
|
-
var INFERENCE_HOST_CLI_VERSION, runtimeReceiptPath, codexRecoveryPath, codexGuardianReceiptRoot, revocationCheckpointPath, foregroundHostLockPath, credentialLifecycleLockPath, serviceRecoveryCommandLockPath, AGENT_HEARTBEAT_INTERVAL_MS, AGENT_HEARTBEAT_MAX_RETRY_DELAY_MS, retryableAgentHeartbeatError, assertRevocationCheckpoint, readRevocationCheckpoint, writeRevocationCheckpoint, clearRevocationCheckpoint, render, INFERENCE_HOST_HELP, parseHostConcurrency, parseInferenceHostArgs, resolveDurableServiceDisplayName, defaultOpenBrowser, registerInferenceHostServiceControlInput, defaultRegisterLifecycleSignalHandlers, lifecycleCancellation, configuredCredentialStore, restoreInferenceHostCredentialContext, recoverInferenceHostCredentialContextTransition, accountKeyForState, assertCredentialMatchesState2, revocationCheckpointForCredential, assertRevocationCheckpointMatchesLocalIdentity, fileExistsPrivately, inspectCodexAuthentication, clearLocalRuntimeArtifacts, assertDurableServiceUninstalled, assertLocalRuntimeArtifactsMayBeDiscarded, defaultRunForeground, preparePortableDurableAdapter, prepareExoAdapter, defaultRunPortableDurableAdapter, login, codexLogin, codexLogout, grokAuthentication, deepSeekCredentialStore, deepSeekLogin, deepSeekLogout, piLogin, piLogout, exoLogin, exoLogout, localStatus, doctor, cleanupLogin, runHost, defaultReadStdin, parseAgentStdin, parseOptionalAgentStdin, agentOperationId, agentSession, agentConnect, foregroundAgentControlState, requireForegroundAgentState, assignmentFromClaim, foregroundAssignmentNext, foregroundAssignmentHeartbeat, foregroundDataCall, foregroundDecisionStatusRequest, foregroundAssignmentLeaseEnded, handleForegroundCancelledAssignment, foregroundDecisionStatus, foregroundDecisionSubmit, foregroundAssignmentRelease, agentRun, agentNext, agentComplete, agentFail, withAgentCommandLock, recoveryBackupPath, serviceRecoveryTransactionPath, readServiceRecoveryTransaction, assertResumableCodexRecoveryEvidence, recoverInstalledCodexService, serviceCommand, hasExplicitCredentialStoreConfiguration, credentialEnvironmentForIdentity, commandRequiresRetainedCredentialStore, commandUsesInstalledServiceCredentials, resolveInferenceHostCommandConfig;
|
|
44603
|
+
var INFERENCE_HOST_CLI_VERSION, runtimeReceiptPath, codexRecoveryPath, codexGuardianReceiptRoot, revocationCheckpointPath, foregroundHostLockPath, credentialLifecycleLockPath, serviceRecoveryCommandLockPath, AGENT_HEARTBEAT_INTERVAL_MS, AGENT_HEARTBEAT_MAX_RETRY_DELAY_MS, retryableAgentHeartbeatError, assertRevocationCheckpoint, readRevocationCheckpoint, writeRevocationCheckpoint, clearRevocationCheckpoint, render, INFERENCE_HOST_HELP, parseHostConcurrency, parseInferenceHostArgs, resolveDurableServiceDisplayName, defaultOpenBrowser, registerInferenceHostServiceControlInput, defaultRegisterLifecycleSignalHandlers, lifecycleCancellation, configuredCredentialStore, restoreInferenceHostCredentialContext, recoverInferenceHostCredentialContextTransition, accountKeyForState, assertCredentialMatchesState2, revocationCheckpointForCredential, assertRevocationCheckpointMatchesLocalIdentity, fileExistsPrivately, inspectCodexAuthentication, clearLocalRuntimeArtifacts, assertDurableServiceUninstalled, assertLocalRuntimeArtifactsMayBeDiscarded, defaultRunForeground, preparePortableDurableAdapter, prepareExoAdapter, defaultRunPortableDurableAdapter, login, codexLogin, codexLogout, grokAuthentication, deepSeekCredentialStore, deepSeekLogin, deepSeekLogout, piLogin, piLogout, exoLogin, exoLogout, localStatus, doctor, cleanupLogin, runHost, defaultReadStdin, parseAgentStdin, parseOptionalAgentStdin, agentOperationId, agentSession, agentConnect, foregroundAgentControlState, requireForegroundAgentState, assignmentFromClaim, foregroundAssignmentNext, foregroundAssignmentHeartbeat, foregroundDataCall, foregroundDecisionStatusRequest, foregroundAssignmentLeaseEnded, handleForegroundCancelledAssignment, foregroundDecisionFollowup, foregroundDecisionStatus, foregroundDecisionSubmit, foregroundAssignmentRelease, agentRun, agentNext, agentComplete, agentFail, withAgentCommandLock, recoveryBackupPath, serviceRecoveryTransactionPath, readServiceRecoveryTransaction, assertResumableCodexRecoveryEvidence, recoverInstalledCodexService, serviceCommand, hasExplicitCredentialStoreConfiguration, credentialEnvironmentForIdentity, commandRequiresRetainedCredentialStore, commandUsesInstalledServiceCredentials, resolveInferenceHostCommandConfig;
|
|
44585
44604
|
var init_cli = __esm({
|
|
44586
44605
|
"lib/inference-host/cli.ts"() {
|
|
44587
44606
|
"use strict";
|
|
@@ -44704,7 +44723,7 @@ Commands:
|
|
|
44704
44723
|
agent-assignment-heartbeat Renew the current Agent assignment
|
|
44705
44724
|
agent-data-call Request allowed assignment-scoped VTX data
|
|
44706
44725
|
agent-decision-submit Submit the normal structured trading decision
|
|
44707
|
-
agent-decision-status
|
|
44726
|
+
agent-decision-status Read a submitted decision outcome or recover uncertain submission
|
|
44708
44727
|
agent-assignment-release Release the current Agent assignment
|
|
44709
44728
|
service Install and control the durable background host
|
|
44710
44729
|
status Inspect local host and credential state
|
|
@@ -44724,6 +44743,8 @@ Common options:
|
|
|
44724
44743
|
--provider ID Exact provider identity (pi-login or exo-login)
|
|
44725
44744
|
--exo-root PATH Supported Exo checkout (Exo run/doctor only)
|
|
44726
44745
|
--max-concurrency N Optional positive-integer local slot limit (default: unlimited)
|
|
44746
|
+
--operation-id ID --assignment-id ID --assignment-generation N
|
|
44747
|
+
Read an accepted decision receipt with agent-decision-status
|
|
44727
44748
|
--help, -h Show this help
|
|
44728
44749
|
|
|
44729
44750
|
If the OS credential store cannot retain the VTX grant, set
|
|
@@ -44776,6 +44797,9 @@ Durable service:
|
|
|
44776
44797
|
let lines = 100;
|
|
44777
44798
|
let serviceManifestPath = null;
|
|
44778
44799
|
let forceRecovery = false;
|
|
44800
|
+
let decisionStatusOperationId = null;
|
|
44801
|
+
let decisionStatusAssignmentId = null;
|
|
44802
|
+
let decisionStatusAssignmentGeneration = null;
|
|
44779
44803
|
const positionals = [];
|
|
44780
44804
|
for (let index = 0; index < argv2.length; index += 1) {
|
|
44781
44805
|
const argument = argv2[index];
|
|
@@ -44791,6 +44815,18 @@ Durable service:
|
|
|
44791
44815
|
forceRecovery = true;
|
|
44792
44816
|
continue;
|
|
44793
44817
|
}
|
|
44818
|
+
if (["--operation-id", "--assignment-id", "--assignment-generation"].includes(argument)) {
|
|
44819
|
+
const raw = argv2[index + 1];
|
|
44820
|
+
const valid = raw && (argument === "--operation-id" ? /^[A-Za-z0-9][A-Za-z0-9._:-]{7,127}$/u.test(raw) : argument === "--assignment-id" ? /^[A-Za-z0-9][A-Za-z0-9._:/-]{0,127}$/u.test(raw) : /^[0-9]+$/u.test(raw));
|
|
44821
|
+
if (!valid) throw new Error(`${argument} requires a valid receipt identifier.`);
|
|
44822
|
+
if (argument === "--operation-id") decisionStatusOperationId = raw;
|
|
44823
|
+
if (argument === "--assignment-id") decisionStatusAssignmentId = raw;
|
|
44824
|
+
if (argument === "--assignment-generation") {
|
|
44825
|
+
decisionStatusAssignmentGeneration = parseHostConcurrency(raw, argument);
|
|
44826
|
+
}
|
|
44827
|
+
index += 1;
|
|
44828
|
+
continue;
|
|
44829
|
+
}
|
|
44794
44830
|
if (argument === "--max-concurrency") {
|
|
44795
44831
|
const raw = argv2[index + 1];
|
|
44796
44832
|
if (!raw) throw new Error("--max-concurrency requires a value.");
|
|
@@ -44848,6 +44884,14 @@ Durable service:
|
|
|
44848
44884
|
throw new Error("Inference-host commands do not accept positional arguments.");
|
|
44849
44885
|
}
|
|
44850
44886
|
const command = positionals[1] || null;
|
|
44887
|
+
if (decisionStatusOperationId !== null || decisionStatusAssignmentId !== null || decisionStatusAssignmentGeneration !== null) {
|
|
44888
|
+
if (command !== "agent-decision-status") {
|
|
44889
|
+
throw new Error("Decision receipt options are accepted only by agent-decision-status.");
|
|
44890
|
+
}
|
|
44891
|
+
if (!decisionStatusOperationId || !decisionStatusAssignmentId || decisionStatusAssignmentGeneration === null) {
|
|
44892
|
+
throw new Error("Historical decision status requires --operation-id, --assignment-id, and --assignment-generation from the submission receipt.");
|
|
44893
|
+
}
|
|
44894
|
+
}
|
|
44851
44895
|
if (providerId && !["pi-login", "exo-login"].includes(command ?? "")) {
|
|
44852
44896
|
throw new Error("--provider is accepted only by pi-login or exo-login.");
|
|
44853
44897
|
}
|
|
@@ -44884,7 +44928,10 @@ Durable service:
|
|
|
44884
44928
|
lines,
|
|
44885
44929
|
serviceAction,
|
|
44886
44930
|
serviceManifestPath,
|
|
44887
|
-
forceRecovery
|
|
44931
|
+
forceRecovery,
|
|
44932
|
+
decisionStatusOperationId,
|
|
44933
|
+
decisionStatusAssignmentId,
|
|
44934
|
+
decisionStatusAssignmentGeneration
|
|
44888
44935
|
};
|
|
44889
44936
|
};
|
|
44890
44937
|
resolveDurableServiceDisplayName = (parsed, dependencies) => {
|
|
@@ -45733,6 +45780,12 @@ Waiting for approval...
|
|
|
45733
45780
|
`${config2.supervisorStatePath}.service-recovery.json`,
|
|
45734
45781
|
"Inference-host service recovery transaction"
|
|
45735
45782
|
);
|
|
45783
|
+
const foregroundState = await readInferenceForegroundAgentControlState(config2.statePath);
|
|
45784
|
+
if (foregroundState && foregroundState.host_id !== state?.host_id) {
|
|
45785
|
+
throw new Error("Foreground Agent assignment belongs to another local host.");
|
|
45786
|
+
}
|
|
45787
|
+
const observedAt = (dependencies.now ?? (() => /* @__PURE__ */ new Date()))().toISOString();
|
|
45788
|
+
const keeperProcess = await readInferenceHostProcessLockStatus(foregroundHostLockPath(config2));
|
|
45736
45789
|
const agentAttempt = await readInferenceAgentAttemptState(config2.statePath);
|
|
45737
45790
|
const agentNextRecoveryPresent = await readInferenceAgentNextState(config2.statePath) !== null;
|
|
45738
45791
|
const agentFailureFence = await readInferenceAgentFailureFence(config2.statePath);
|
|
@@ -45760,6 +45813,27 @@ Waiting for approval...
|
|
|
45760
45813
|
response_mode: agentAttempt.response_mode,
|
|
45761
45814
|
deadline_at: agentAttempt.deadline_at
|
|
45762
45815
|
} : null,
|
|
45816
|
+
foreground_agent: {
|
|
45817
|
+
observed_at: observedAt,
|
|
45818
|
+
keeper_process: keeperProcess,
|
|
45819
|
+
server_heartbeat: "not_observed",
|
|
45820
|
+
scheduling_owner: "harness",
|
|
45821
|
+
assignment: foregroundState?.assignment ? {
|
|
45822
|
+
assignment_id: foregroundState.assignment.assignment_id,
|
|
45823
|
+
assignment_generation: foregroundState.assignment.assignment_generation,
|
|
45824
|
+
model_id: foregroundState.assignment.model_id,
|
|
45825
|
+
reasoning_effort: foregroundState.assignment.reasoning_effort,
|
|
45826
|
+
bot_mode: foregroundState.assignment.bot_mode,
|
|
45827
|
+
execution_mode: foregroundState.assignment.execution_mode,
|
|
45828
|
+
allowed_symbols: foregroundState.assignment.allowed_symbols,
|
|
45829
|
+
lease_expires_at: foregroundState.assignment.lease_expires_at,
|
|
45830
|
+
lease_elapsed_locally: Date.parse(foregroundState.assignment.lease_expires_at) <= Date.parse(observedAt)
|
|
45831
|
+
} : null,
|
|
45832
|
+
pending_claim: foregroundState?.pending_next !== null && foregroundState?.pending_next !== void 0,
|
|
45833
|
+
pending_decision_operation_id: foregroundState?.pending_decision?.request.operation_id ?? null,
|
|
45834
|
+
updated_at: foregroundState?.updated_at ?? null,
|
|
45835
|
+
note: "Local process and saved assignment observations only; not proof of a fresh server heartbeat, a scheduled check, or fresh market data."
|
|
45836
|
+
},
|
|
45763
45837
|
agent_next_recovery_present: agentNextRecoveryPresent,
|
|
45764
45838
|
agent_failure_fence: agentFailureFence ? {
|
|
45765
45839
|
adapter: agentFailureFence.adapter_id,
|
|
@@ -46264,9 +46338,11 @@ Waiting for approval...
|
|
|
46264
46338
|
response_modes: ["provider_response", "decision_candidate"],
|
|
46265
46339
|
control_modes: ["provider", "agent"],
|
|
46266
46340
|
execution_modes: ["client", "server"],
|
|
46267
|
-
next_command: "vtx inference-host agent-
|
|
46341
|
+
next_command: "vtx inference-host agent-run",
|
|
46342
|
+
provider_next_command: "vtx inference-host agent-next --wait-seconds 50 --json",
|
|
46268
46343
|
agent_next_command: "vtx inference-host agent-assignment-next --wait-seconds 50 --json",
|
|
46269
|
-
keeper_command: "vtx inference-host agent-run"
|
|
46344
|
+
keeper_command: "vtx inference-host agent-run",
|
|
46345
|
+
instructions: "Keep agent-run open, then use agent_next_command for Agent mode or provider_next_command for Provider mode. Before promising recurring Agent checks, verify your harness can schedule the requested cadence. The keeper only renews liveness; market checks and optional decisions belong to your harness. Stopping the keeper or its schedule does not stop the bot; use authorized bot stop, then release the assignment and stop the keeper."
|
|
46270
46346
|
}, parsed.json),
|
|
46271
46347
|
stderr: warnings.length > 0 ? `${warnings.join("\n")}
|
|
46272
46348
|
` : ""
|
|
@@ -46517,11 +46593,30 @@ Waiting for approval...
|
|
|
46517
46593
|
}
|
|
46518
46594
|
await clearInferenceForegroundAgentControlState(config2.statePath);
|
|
46519
46595
|
};
|
|
46596
|
+
foregroundDecisionFollowup = (parsed, request) => ({
|
|
46597
|
+
assignment_generation: request.assignment_generation,
|
|
46598
|
+
status_command: `vtx inference-host agent-decision-status --operation-id ${request.operation_id} --assignment-id ${request.assignment_id} --assignment-generation ${request.assignment_generation} --instance ${parsed.instanceName} --json`,
|
|
46599
|
+
outcome_note: "Submission acceptance is not consumption. Read status while queued or claimed. If outcome_unknown, investigate; never resubmit merely to check progress."
|
|
46600
|
+
});
|
|
46520
46601
|
foregroundDecisionStatus = async (config2, parsed, dependencies, warnings) => {
|
|
46521
46602
|
const session = await agentSession(config2, dependencies, warnings);
|
|
46603
|
+
if (parsed.decisionStatusOperationId !== null) {
|
|
46604
|
+
const result3 = await session.client.callTool("inference.agent.decision.status", {
|
|
46605
|
+
host_id: session.localState.host_id,
|
|
46606
|
+
operation_id: parsed.decisionStatusOperationId,
|
|
46607
|
+
assignment_id: parsed.decisionStatusAssignmentId,
|
|
46608
|
+
assignment_generation: parsed.decisionStatusAssignmentGeneration
|
|
46609
|
+
});
|
|
46610
|
+
return {
|
|
46611
|
+
exitCode: 0,
|
|
46612
|
+
stdout: render(result3, parsed.json),
|
|
46613
|
+
stderr: warnings.length > 0 ? `${warnings.join("\n")}
|
|
46614
|
+
` : ""
|
|
46615
|
+
};
|
|
46616
|
+
}
|
|
46522
46617
|
let state = await requireForegroundAgentState(config2, session.localState.host_id);
|
|
46523
46618
|
if (!state.pending_decision) {
|
|
46524
|
-
throw new Error("No uncertain foreground Agent decision requires status recovery.");
|
|
46619
|
+
throw new Error("No uncertain foreground Agent decision requires status recovery. Use the receipt status_command to read a successful submission outcome.");
|
|
46525
46620
|
}
|
|
46526
46621
|
const checkedAt = (dependencies.now ?? (() => /* @__PURE__ */ new Date()))().toISOString();
|
|
46527
46622
|
state = {
|
|
@@ -46548,7 +46643,7 @@ Waiting for approval...
|
|
|
46548
46643
|
}
|
|
46549
46644
|
return {
|
|
46550
46645
|
exitCode: 0,
|
|
46551
|
-
stdout: render(result2, parsed.json),
|
|
46646
|
+
stdout: render({ ...result2, ...foregroundDecisionFollowup(parsed, state.pending_decision.request) }, parsed.json),
|
|
46552
46647
|
stderr: warnings.length > 0 ? `${warnings.join("\n")}
|
|
46553
46648
|
` : ""
|
|
46554
46649
|
};
|
|
@@ -46603,7 +46698,7 @@ Waiting for approval...
|
|
|
46603
46698
|
});
|
|
46604
46699
|
return {
|
|
46605
46700
|
exitCode: 0,
|
|
46606
|
-
stdout: render({ ...status, recovered: true }, parsed.json),
|
|
46701
|
+
stdout: render({ ...status, recovered: true, ...foregroundDecisionFollowup(parsed, state.pending_decision.request) }, parsed.json),
|
|
46607
46702
|
stderr: warnings.length > 0 ? `${warnings.join("\n")}
|
|
46608
46703
|
` : ""
|
|
46609
46704
|
};
|
|
@@ -46631,7 +46726,7 @@ Waiting for approval...
|
|
|
46631
46726
|
});
|
|
46632
46727
|
return {
|
|
46633
46728
|
exitCode: 0,
|
|
46634
|
-
stdout: render(result2, parsed.json),
|
|
46729
|
+
stdout: render({ ...result2, ...foregroundDecisionFollowup(parsed, state.pending_decision.request) }, parsed.json),
|
|
46635
46730
|
stderr: warnings.length > 0 ? `${warnings.join("\n")}
|
|
46636
46731
|
` : ""
|
|
46637
46732
|
};
|
|
@@ -46664,7 +46759,7 @@ Waiting for approval...
|
|
|
46664
46759
|
});
|
|
46665
46760
|
return {
|
|
46666
46761
|
exitCode: 0,
|
|
46667
|
-
stdout: render({ ...status, recovered: true }, parsed.json),
|
|
46762
|
+
stdout: render({ ...status, recovered: true, ...foregroundDecisionFollowup(parsed, state.pending_decision.request) }, parsed.json),
|
|
46668
46763
|
stderr: warnings.length > 0 ? `${warnings.join("\n")}
|
|
46669
46764
|
` : ""
|
|
46670
46765
|
};
|