@vtxmacro/cli 2026.10.38 → 2026.10.39
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-mcp.js +1 -1
- package/bin/vtx-service-bootstrap.js +1 -1
- package/bin/vtx.js +166 -16
- package/package.json +1 -1
package/bin/vtx-mcp.js
CHANGED
|
@@ -43,7 +43,7 @@ var init_define_VTX_PI_MODEL_POLICY = __esm({
|
|
|
43
43
|
var agent_cli_release_default;
|
|
44
44
|
var init_agent_cli_release = __esm({
|
|
45
45
|
"agent-cli-release.json"() {
|
|
46
|
-
agent_cli_release_default = { package_name: "@vtxmacro/cli", package_version: "2026.10.
|
|
46
|
+
agent_cli_release_default = { package_name: "@vtxmacro/cli", package_version: "2026.10.39", codex_package_name: "@openai/codex", codex_version: "0.155.0", copilot_sdk_package_name: "@github/copilot-sdk", copilot_sdk_version: "1.0.0-beta.8", copilot_cli_package_name: "@github/copilot", copilot_cli_version: "1.0.80", deepseek_harness_version: "0.1.1-rc.2", deepseek_harness_packages: ["@deepseek-ai/dsh-agent", "@deepseek-ai/dsh-agent-instructions", "@deepseek-ai/dsh-agent-loop", "@deepseek-ai/dsh-agent-spine-demo", "@deepseek-ai/dsh-anonymous-user-id", "@deepseek-ai/dsh-atomic-write", "@deepseek-ai/dsh-attachment", "@deepseek-ai/dsh-brand", "@deepseek-ai/dsh-code-runtime", "@deepseek-ai/dsh-credentials", "@deepseek-ai/dsh-fs", "@deepseek-ai/dsh-goal", "@deepseek-ai/dsh-goal-round-driver", "@deepseek-ai/dsh-home-paths", "@deepseek-ai/dsh-invariants", "@deepseek-ai/dsh-jobs", "@deepseek-ai/dsh-jobs-local", "@deepseek-ai/dsh-launch-environment", "@deepseek-ai/dsh-llm", "@deepseek-ai/dsh-llm-deepseek", "@deepseek-ai/dsh-llm-retry", "@deepseek-ai/dsh-output-retention", "@deepseek-ai/dsh-sandbox", "@deepseek-ai/dsh-sandbox-policy", "@deepseek-ai/dsh-scope", "@deepseek-ai/dsh-session", "@deepseek-ai/dsh-session-checkpoint-policy", "@deepseek-ai/dsh-session-persistence", "@deepseek-ai/dsh-session-persistence-jsonl", "@deepseek-ai/dsh-session-projection", "@deepseek-ai/dsh-session-title", "@deepseek-ai/dsh-settings", "@deepseek-ai/dsh-shell", "@deepseek-ai/dsh-shell-env", "@deepseek-ai/dsh-skill", "@deepseek-ai/dsh-skill-filesystem", "@deepseek-ai/dsh-subprocess", "@deepseek-ai/dsh-system-prompt", "@deepseek-ai/dsh-timeout", "@deepseek-ai/dsh-tool-bash", "@deepseek-ai/dsh-tool-goal", "@deepseek-ai/dsh-tool-jobs", "@deepseek-ai/dsh-tool-skill", "@deepseek-ai/dsh-tools", "@deepseek-ai/dsh-typert-protocol", "@deepseek-ai/dsh-user-approval"], deepseek_cordis_package_name: "@deepseek-ai/cordis", deepseek_cordis_version: "4.0.1", deepseek_support_packages: { "@deepseek-ai/cordis-plugin-timer": "1.1.3" }, platforms: { "linux-x64": { package_name: "@openai/codex-linux-x64", target: "x86_64-unknown-linux-musl", binary_name: "codex", sha256: "660e159a49e823ac8e5986cb238f73158ce4b957d40d9292f8de90862644b501" }, "win32-x64": { package_name: "@openai/codex-win32-x64", target: "x86_64-pc-windows-msvc", binary_name: "codex.exe", sha256: "e4c11374bd9de8ad5c3b7617fd4654bb7839901edb0863f9930666863c7a021b" } }, pi_coding_agent_package_name: "@earendil-works/pi-coding-agent", pi_ai_package_name: "@earendil-works/pi-ai", pi_version: "0.85.1", pi_support_packages: ["@earendil-works/pi-agent-core", "@earendil-works/pi-telemetry", "@earendil-works/pi-tui", "@earendil-works/chord"], grok_version: "1.0.30", grok_platforms: { "linux-x64": { package_name: "@xai-official/grok-linux-x64", binary_name: "grok", sha256: "504dd6546ab991b75d36698242875ce461489cd1f8cd84285873cb55bd5c7d54" }, "win32-x64": { package_name: "@xai-official/grok-win32-x64", binary_name: "grok.exe", sha256: "48736d1a4342a801ea26d0ecde4c516b653f791399065adaa55973f83abd8867" } } };
|
|
47
47
|
}
|
|
48
48
|
});
|
|
49
49
|
|
|
@@ -14,7 +14,7 @@ import { dirname as dirname4, relative as relative4, resolve as resolve4 } from
|
|
|
14
14
|
import { fileURLToPath } from "node:url";
|
|
15
15
|
|
|
16
16
|
// agent-cli-release.json
|
|
17
|
-
var agent_cli_release_default = { package_name: "@vtxmacro/cli", package_version: "2026.10.
|
|
17
|
+
var agent_cli_release_default = { package_name: "@vtxmacro/cli", package_version: "2026.10.39", codex_package_name: "@openai/codex", codex_version: "0.155.0", copilot_sdk_package_name: "@github/copilot-sdk", copilot_sdk_version: "1.0.0-beta.8", copilot_cli_package_name: "@github/copilot", copilot_cli_version: "1.0.80", deepseek_harness_version: "0.1.1-rc.2", deepseek_harness_packages: ["@deepseek-ai/dsh-agent", "@deepseek-ai/dsh-agent-instructions", "@deepseek-ai/dsh-agent-loop", "@deepseek-ai/dsh-agent-spine-demo", "@deepseek-ai/dsh-anonymous-user-id", "@deepseek-ai/dsh-atomic-write", "@deepseek-ai/dsh-attachment", "@deepseek-ai/dsh-brand", "@deepseek-ai/dsh-code-runtime", "@deepseek-ai/dsh-credentials", "@deepseek-ai/dsh-fs", "@deepseek-ai/dsh-goal", "@deepseek-ai/dsh-goal-round-driver", "@deepseek-ai/dsh-home-paths", "@deepseek-ai/dsh-invariants", "@deepseek-ai/dsh-jobs", "@deepseek-ai/dsh-jobs-local", "@deepseek-ai/dsh-launch-environment", "@deepseek-ai/dsh-llm", "@deepseek-ai/dsh-llm-deepseek", "@deepseek-ai/dsh-llm-retry", "@deepseek-ai/dsh-output-retention", "@deepseek-ai/dsh-sandbox", "@deepseek-ai/dsh-sandbox-policy", "@deepseek-ai/dsh-scope", "@deepseek-ai/dsh-session", "@deepseek-ai/dsh-session-checkpoint-policy", "@deepseek-ai/dsh-session-persistence", "@deepseek-ai/dsh-session-persistence-jsonl", "@deepseek-ai/dsh-session-projection", "@deepseek-ai/dsh-session-title", "@deepseek-ai/dsh-settings", "@deepseek-ai/dsh-shell", "@deepseek-ai/dsh-shell-env", "@deepseek-ai/dsh-skill", "@deepseek-ai/dsh-skill-filesystem", "@deepseek-ai/dsh-subprocess", "@deepseek-ai/dsh-system-prompt", "@deepseek-ai/dsh-timeout", "@deepseek-ai/dsh-tool-bash", "@deepseek-ai/dsh-tool-goal", "@deepseek-ai/dsh-tool-jobs", "@deepseek-ai/dsh-tool-skill", "@deepseek-ai/dsh-tools", "@deepseek-ai/dsh-typert-protocol", "@deepseek-ai/dsh-user-approval"], deepseek_cordis_package_name: "@deepseek-ai/cordis", deepseek_cordis_version: "4.0.1", deepseek_support_packages: { "@deepseek-ai/cordis-plugin-timer": "1.1.3" }, platforms: { "linux-x64": { package_name: "@openai/codex-linux-x64", target: "x86_64-unknown-linux-musl", binary_name: "codex", sha256: "660e159a49e823ac8e5986cb238f73158ce4b957d40d9292f8de90862644b501" }, "win32-x64": { package_name: "@openai/codex-win32-x64", target: "x86_64-pc-windows-msvc", binary_name: "codex.exe", sha256: "e4c11374bd9de8ad5c3b7617fd4654bb7839901edb0863f9930666863c7a021b" } }, pi_coding_agent_package_name: "@earendil-works/pi-coding-agent", pi_ai_package_name: "@earendil-works/pi-ai", pi_version: "0.85.1", pi_support_packages: ["@earendil-works/pi-agent-core", "@earendil-works/pi-telemetry", "@earendil-works/pi-tui", "@earendil-works/chord"], grok_version: "1.0.30", grok_platforms: { "linux-x64": { package_name: "@xai-official/grok-linux-x64", binary_name: "grok", sha256: "504dd6546ab991b75d36698242875ce461489cd1f8cd84285873cb55bd5c7d54" }, "win32-x64": { package_name: "@xai-official/grok-win32-x64", binary_name: "grok.exe", sha256: "48736d1a4342a801ea26d0ecde4c516b653f791399065adaa55973f83abd8867" } } };
|
|
18
18
|
|
|
19
19
|
// lib/runtime-policy.generated.json
|
|
20
20
|
var runtime_policy_generated_default = {
|
package/bin/vtx.js
CHANGED
|
@@ -122,7 +122,7 @@ var init_routing = __esm({
|
|
|
122
122
|
var agent_cli_release_default;
|
|
123
123
|
var init_agent_cli_release = __esm({
|
|
124
124
|
"agent-cli-release.json"() {
|
|
125
|
-
agent_cli_release_default = { package_name: "@vtxmacro/cli", package_version: "2026.10.
|
|
125
|
+
agent_cli_release_default = { package_name: "@vtxmacro/cli", package_version: "2026.10.39", codex_package_name: "@openai/codex", codex_version: "0.155.0", copilot_sdk_package_name: "@github/copilot-sdk", copilot_sdk_version: "1.0.0-beta.8", copilot_cli_package_name: "@github/copilot", copilot_cli_version: "1.0.80", deepseek_harness_version: "0.1.1-rc.2", deepseek_harness_packages: ["@deepseek-ai/dsh-agent", "@deepseek-ai/dsh-agent-instructions", "@deepseek-ai/dsh-agent-loop", "@deepseek-ai/dsh-agent-spine-demo", "@deepseek-ai/dsh-anonymous-user-id", "@deepseek-ai/dsh-atomic-write", "@deepseek-ai/dsh-attachment", "@deepseek-ai/dsh-brand", "@deepseek-ai/dsh-code-runtime", "@deepseek-ai/dsh-credentials", "@deepseek-ai/dsh-fs", "@deepseek-ai/dsh-goal", "@deepseek-ai/dsh-goal-round-driver", "@deepseek-ai/dsh-home-paths", "@deepseek-ai/dsh-invariants", "@deepseek-ai/dsh-jobs", "@deepseek-ai/dsh-jobs-local", "@deepseek-ai/dsh-launch-environment", "@deepseek-ai/dsh-llm", "@deepseek-ai/dsh-llm-deepseek", "@deepseek-ai/dsh-llm-retry", "@deepseek-ai/dsh-output-retention", "@deepseek-ai/dsh-sandbox", "@deepseek-ai/dsh-sandbox-policy", "@deepseek-ai/dsh-scope", "@deepseek-ai/dsh-session", "@deepseek-ai/dsh-session-checkpoint-policy", "@deepseek-ai/dsh-session-persistence", "@deepseek-ai/dsh-session-persistence-jsonl", "@deepseek-ai/dsh-session-projection", "@deepseek-ai/dsh-session-title", "@deepseek-ai/dsh-settings", "@deepseek-ai/dsh-shell", "@deepseek-ai/dsh-shell-env", "@deepseek-ai/dsh-skill", "@deepseek-ai/dsh-skill-filesystem", "@deepseek-ai/dsh-subprocess", "@deepseek-ai/dsh-system-prompt", "@deepseek-ai/dsh-timeout", "@deepseek-ai/dsh-tool-bash", "@deepseek-ai/dsh-tool-goal", "@deepseek-ai/dsh-tool-jobs", "@deepseek-ai/dsh-tool-skill", "@deepseek-ai/dsh-tools", "@deepseek-ai/dsh-typert-protocol", "@deepseek-ai/dsh-user-approval"], deepseek_cordis_package_name: "@deepseek-ai/cordis", deepseek_cordis_version: "4.0.1", deepseek_support_packages: { "@deepseek-ai/cordis-plugin-timer": "1.1.3" }, platforms: { "linux-x64": { package_name: "@openai/codex-linux-x64", target: "x86_64-unknown-linux-musl", binary_name: "codex", sha256: "660e159a49e823ac8e5986cb238f73158ce4b957d40d9292f8de90862644b501" }, "win32-x64": { package_name: "@openai/codex-win32-x64", target: "x86_64-pc-windows-msvc", binary_name: "codex.exe", sha256: "e4c11374bd9de8ad5c3b7617fd4654bb7839901edb0863f9930666863c7a021b" } }, pi_coding_agent_package_name: "@earendil-works/pi-coding-agent", pi_ai_package_name: "@earendil-works/pi-ai", pi_version: "0.85.1", pi_support_packages: ["@earendil-works/pi-agent-core", "@earendil-works/pi-telemetry", "@earendil-works/pi-tui", "@earendil-works/chord"], grok_version: "1.0.30", grok_platforms: { "linux-x64": { package_name: "@xai-official/grok-linux-x64", binary_name: "grok", sha256: "504dd6546ab991b75d36698242875ce461489cd1f8cd84285873cb55bd5c7d54" }, "win32-x64": { package_name: "@xai-official/grok-win32-x64", binary_name: "grok.exe", sha256: "48736d1a4342a801ea26d0ecde4c516b653f791399065adaa55973f83abd8867" } } };
|
|
126
126
|
}
|
|
127
127
|
});
|
|
128
128
|
|
|
@@ -36034,7 +36034,7 @@ function createDefaultInferenceHostRunnerDependencies(options) {
|
|
|
36034
36034
|
envelopePublicKey: options.envelopePublicKey
|
|
36035
36035
|
};
|
|
36036
36036
|
}
|
|
36037
|
-
var import_ajv, providerHttpStatus, terminalFailureRequiresManualRecovery, canReplayFencedAgentTerminal, RUNTIME_RECEIPT_SCHEMA_VERSION, ATTEMPT_RECEIPT_SCHEMA_VERSION, HOST_RUNTIME_POLICY2, CLAIM_DISPATCH_BATCH_SIZE, DEFAULT_ADVERTISEMENT_TTL_MS, DEFAULT_ADVERTISEMENT_REFRESH_LEAD_MS, DEFAULT_HOST_HEARTBEAT_MS, DEFAULT_PROVIDER_RATE_LIMIT_REFRESH_MS, DEFAULT_ATTEMPT_HEARTBEAT_MS, DEFAULT_DRAIN_TIMEOUT_MS, DEFAULT_REMOTE_RETRY_LIMIT, MIN_SLEEP_MS, MIN_HOST_HEARTBEAT_GAP_DIAGNOSTIC_MS, HOST_HEARTBEAT_GAP_DIAGNOSTIC_FACTOR, DEFAULT_QUOTA_COOLDOWN_MS, DEFAULT_AGENT_AUTH_COOLDOWN_MS, DEFAULT_AGENT_RATE_LIMIT_COOLDOWN_MS, DEFAULT_AGENT_TRANSIENT_COOLDOWN_MS, MIN_CLAIM_START_WINDOW_MS, MAX_ATTEMPT_START_RETRY_DELAY_MS, UNBOUNDED_AVAILABLE_SLOTS, buildInferenceAdvertisedModels, summarizeInferenceHostRuntimeRecovery, FileInferenceHostRuntimeReceiptStore, InferenceHostRecoveryRequiredError, InferenceHostRunnerError, defaultSleep, abortError, settlesWithin, defaultRegisterSignalHandlers, safeInteger, exactObjectKeys, validIso, validateAttemptReceipt, validateRuntimeReceipt, sha256, stableOperationId, buildAttemptStartRequest, isoAt, providerWeeklyQuotaFromRateLimits, usableProviderQuotaSnapshot, finitePositiveOption, validateRunnerOptions, assertLocalCredentialIdentity, retryableRemoteError, remoteRetryAfterMs, controlPlaneFatal, defaultValidateOutput, objectRecord, positiveUtf8ByteLimit, assertCompilableOutputSchema, parseOutputContract, serverProviderDispatchNotAfterMs, membershipFailureDisposition, safeFailureCode, publicServerFailureCode, attemptStartRetryFallbackMs, exactJson2, runnerIdentityMismatch, assertAdvertisementResult, assertHostHeartbeatResult, assertClaimResult, assertStartResult, assertJobHeartbeatResult, assertTerminalResult, isDefinitiveCompletionEvidenceExpiry, classifyFailure, ambiguousHeartbeatTransport, reportedTokenUsage, reportedUsage, InferenceHostRunner, createInferenceAgentControlClient, INFERENCE_AGENT_WAKE_SCHEMA, parseInferenceAgentWake, InferenceAgentRuntime;
|
|
36037
|
+
var import_ajv, providerHttpStatus, terminalFailureRequiresManualRecovery, canReplayFencedAgentTerminal, fencedTurnAwaitsAssignmentCheck, RUNTIME_RECEIPT_SCHEMA_VERSION, ATTEMPT_RECEIPT_SCHEMA_VERSION, HOST_RUNTIME_POLICY2, CLAIM_DISPATCH_BATCH_SIZE, DEFAULT_ADVERTISEMENT_TTL_MS, DEFAULT_ADVERTISEMENT_REFRESH_LEAD_MS, DEFAULT_HOST_HEARTBEAT_MS, DEFAULT_PROVIDER_RATE_LIMIT_REFRESH_MS, DEFAULT_ATTEMPT_HEARTBEAT_MS, DEFAULT_DRAIN_TIMEOUT_MS, DEFAULT_REMOTE_RETRY_LIMIT, MIN_SLEEP_MS, MIN_HOST_HEARTBEAT_GAP_DIAGNOSTIC_MS, HOST_HEARTBEAT_GAP_DIAGNOSTIC_FACTOR, DEFAULT_QUOTA_COOLDOWN_MS, DEFAULT_AGENT_AUTH_COOLDOWN_MS, DEFAULT_AGENT_RATE_LIMIT_COOLDOWN_MS, DEFAULT_AGENT_TRANSIENT_COOLDOWN_MS, MIN_CLAIM_START_WINDOW_MS, MAX_ATTEMPT_START_RETRY_DELAY_MS, UNBOUNDED_AVAILABLE_SLOTS, buildInferenceAdvertisedModels, summarizeInferenceHostRuntimeRecovery, FileInferenceHostRuntimeReceiptStore, InferenceHostRecoveryRequiredError, InferenceHostRunnerError, defaultSleep, abortError, settlesWithin, defaultRegisterSignalHandlers, safeInteger, exactObjectKeys, validIso, validateAttemptReceipt, validateRuntimeReceipt, sha256, stableOperationId, buildAttemptStartRequest, isoAt, providerWeeklyQuotaFromRateLimits, usableProviderQuotaSnapshot, finitePositiveOption, validateRunnerOptions, assertLocalCredentialIdentity, retryableRemoteError, remoteRetryAfterMs, controlPlaneFatal, defaultValidateOutput, objectRecord, positiveUtf8ByteLimit, assertCompilableOutputSchema, parseOutputContract, serverProviderDispatchNotAfterMs, membershipFailureDisposition, safeFailureCode, publicServerFailureCode, attemptStartRetryFallbackMs, exactJson2, runnerIdentityMismatch, assertAdvertisementResult, assertHostHeartbeatResult, assertClaimResult, assertStartResult, assertJobHeartbeatResult, assertTerminalResult, isDefinitiveCompletionEvidenceExpiry, classifyFailure, ambiguousHeartbeatTransport, reportedTokenUsage, reportedUsage, InferenceHostRunner, createInferenceAgentControlClient, INFERENCE_AGENT_WAKE_SCHEMA, parseInferenceAgentWake, InferenceAgentRuntime;
|
|
36038
36038
|
var init_runner = __esm({
|
|
36039
36039
|
"lib/inference-host/runner.ts"() {
|
|
36040
36040
|
"use strict";
|
|
@@ -36061,6 +36061,7 @@ var init_runner = __esm({
|
|
|
36061
36061
|
};
|
|
36062
36062
|
terminalFailureRequiresManualRecovery = (error48) => (error48.terminalEvidence !== null || error48.grokToolValidation != null || error48.grokResponseIdentity != null) && !error48.retryable && error48.category !== "auth" && !["quota_exceeded", "codex_rate_limited", "provider_rate_limited"].includes(error48.code);
|
|
36063
36063
|
canReplayFencedAgentTerminal = (state2, fence) => state2?.schema_version === "vtx_inference_agent_runtime_v3" && state2.adapter_id === fence.adapter_id && state2.host_id === fence.host_id && state2.assignment.assignment_id === fence.assignment_id && state2.pending_turn?.terminal_receipt?.terminal_status === "failed" && state2.pending_turn.terminal_receipt.failure_code === fence.failure_code && (fence.dispatch_outcome !== "outcome_unknown" || (state2.pending_turn.terminal_receipt.grok_tool_validation?.prior_dispatch === true || state2.pending_turn.terminal_receipt.grok_response_identity != null || state2.pending_turn.terminal_receipt.provider_http_status !== void 0) && state2.pending_turn.terminal_receipt.dispatch_outcome === "outcome_unknown");
|
|
36064
|
+
fencedTurnAwaitsAssignmentCheck = (state2, fence) => fence.failure_code === "agent_turn_outcome_unknown" && state2?.schema_version === "vtx_inference_agent_runtime_v3" && state2.adapter_id === fence.adapter_id && state2.host_id === fence.host_id && state2.assignment.assignment_id === fence.assignment_id && state2.pending_turn != null && !state2.pending_turn.terminal_receipt;
|
|
36064
36065
|
RUNTIME_RECEIPT_SCHEMA_VERSION = "vtx_inference_host_runtime_v1";
|
|
36065
36066
|
ATTEMPT_RECEIPT_SCHEMA_VERSION = "vtx_inference_attempt_receipt_v1";
|
|
36066
36067
|
HOST_RUNTIME_POLICY2 = runtime_policy_generated_default.external_inference.host_runtime;
|
|
@@ -36995,7 +36996,7 @@ var init_runner = __esm({
|
|
|
36995
36996
|
}
|
|
36996
36997
|
if (existingFence.retry_at === null) {
|
|
36997
36998
|
const recoveryState = await readInferenceAgentRuntimeState(agentRuntimeSettings.statePath);
|
|
36998
|
-
if (!canReplayFencedAgentTerminal(recoveryState, existingFence)) {
|
|
36999
|
+
if (!canReplayFencedAgentTerminal(recoveryState, existingFence) && !fencedTurnAwaitsAssignmentCheck(recoveryState, existingFence)) {
|
|
36999
37000
|
emitDiagnostic("agent_runtime_quarantined", {
|
|
37000
37001
|
assignment_id: existingFence.assignment_id,
|
|
37001
37002
|
failure_category: existingFence.failure_category,
|
|
@@ -39701,7 +39702,7 @@ var init_runner = __esm({
|
|
|
39701
39702
|
"Inference Agent failure fence belongs to another host or adapter."
|
|
39702
39703
|
);
|
|
39703
39704
|
}
|
|
39704
|
-
if (!canReplayFencedAgentTerminal(recoveredState, failureFence)) {
|
|
39705
|
+
if (!canReplayFencedAgentTerminal(recoveredState, failureFence) && !fencedTurnAwaitsAssignmentCheck(recoveredState, failureFence)) {
|
|
39705
39706
|
throw new InferenceHostRunnerError(
|
|
39706
39707
|
"agent_terminal_failure_fenced",
|
|
39707
39708
|
"The nonretryable Agent failure requires recovery before another model invocation."
|
|
@@ -39782,6 +39783,17 @@ var init_runner = __esm({
|
|
|
39782
39783
|
state2 = await this.resolvePendingDecision(state2, signal);
|
|
39783
39784
|
if (state2.pending_turn) {
|
|
39784
39785
|
if (!state2.pending_turn.terminal_receipt) {
|
|
39786
|
+
const liveness = await this.options.controlClient.heartbeat({
|
|
39787
|
+
operation_id: randomUUID2(),
|
|
39788
|
+
host_id: this.options.hostId,
|
|
39789
|
+
assignment_id: state2.assignment.assignment_id,
|
|
39790
|
+
assignment_generation: state2.assignment.assignment_generation,
|
|
39791
|
+
requested_at: nowIso()
|
|
39792
|
+
}, { signal });
|
|
39793
|
+
if (liveness.directive === "cancel") {
|
|
39794
|
+
await this.settleCancelledTurn(state2, signal);
|
|
39795
|
+
return this.now() + (this.options.idlePollMs ?? HOST_RUNTIME_POLICY2.agent_idle_poll_ms);
|
|
39796
|
+
}
|
|
39785
39797
|
throw new InferenceHostRunnerError(
|
|
39786
39798
|
"agent_turn_outcome_unknown",
|
|
39787
39799
|
"The interrupted Agent turn has no terminal receipt; model redispatch is fenced."
|
|
@@ -39805,6 +39817,10 @@ var init_runner = __esm({
|
|
|
39805
39817
|
if (terminal.terminal_receipt.terminal_status === "failed") {
|
|
39806
39818
|
state2 = { ...state2, pending_turn: null, updated_at: nowIso() };
|
|
39807
39819
|
await writeInferenceAgentRuntimeState(this.options.statePath, state2);
|
|
39820
|
+
if (acknowledged.directive === "cancel" && failureFence === null) {
|
|
39821
|
+
await this.handleCancelledAssignment(state2, signal);
|
|
39822
|
+
return this.now() + (this.options.idlePollMs ?? HOST_RUNTIME_POLICY2.agent_idle_poll_ms);
|
|
39823
|
+
}
|
|
39808
39824
|
if (terminal.terminal_receipt.dispatch_outcome === "outcome_unknown" || terminal.terminal_receipt.provider_http_status !== void 0 && failureFence?.retry_at === null) {
|
|
39809
39825
|
throw new InferenceHostRunnerError(
|
|
39810
39826
|
"agent_terminal_failure_fenced",
|
|
@@ -40140,6 +40156,7 @@ var init_runner = __esm({
|
|
|
40140
40156
|
const httpStatus = providerHttpStatus(error48);
|
|
40141
40157
|
const sendHttpStatus = httpStatus !== null && await this.options.controlClient.supportsProviderHttpStatusDiagnostics?.({}) === true;
|
|
40142
40158
|
const hasDiagnostic = diagnostic != null || identityDiagnostic != null;
|
|
40159
|
+
const harnessDiagnostic = error48 instanceof CodexAppServerError && (error48.grokToolValidation != null || error48.grokResponseIdentity != null);
|
|
40143
40160
|
const hasFailureEvidence = hasDiagnostic || sendHttpStatus;
|
|
40144
40161
|
if (error48 instanceof CodexAppServerError && error48.dispatchOutcome === "not_dispatched" && error48.terminalEvidence === null && !hasFailureEvidence) {
|
|
40145
40162
|
state2 = { ...state2, pending_turn: null, updated_at: nowIso() };
|
|
@@ -40181,7 +40198,7 @@ var init_runner = __esm({
|
|
|
40181
40198
|
} : {}
|
|
40182
40199
|
}
|
|
40183
40200
|
}, updated_at: nowIso() };
|
|
40184
|
-
if (terminalFailureRequiresManualRecovery(error48) || sendHttpStatus && (error48.dispatchOutcome === "outcome_unknown" || error48.dispatchOutcome === "confirmed_dispatched" && error48.terminalEvidence === null && !["provider_rate_limited", "codex_rate_limited", "quota_exceeded"].includes(error48.code))) {
|
|
40201
|
+
if (!(cancelled && error48.category === "cancelled" && !harnessDiagnostic) && (terminalFailureRequiresManualRecovery(error48) || sendHttpStatus && (error48.dispatchOutcome === "outcome_unknown" || error48.dispatchOutcome === "confirmed_dispatched" && error48.terminalEvidence === null && !["provider_rate_limited", "codex_rate_limited", "quota_exceeded"].includes(error48.code)))) {
|
|
40185
40202
|
await writeInferenceAgentFailureFence(this.options.statePath, {
|
|
40186
40203
|
schema_version: "vtx_inference_agent_failure_fence_v1",
|
|
40187
40204
|
adapter_id: this.options.adapterId,
|
|
@@ -40212,6 +40229,11 @@ var init_runner = __esm({
|
|
|
40212
40229
|
}
|
|
40213
40230
|
}
|
|
40214
40231
|
if (!cancelled) throw error48;
|
|
40232
|
+
if (state2.pending_turn && !state2.pending_turn.terminal_receipt) {
|
|
40233
|
+
if (harnessDiagnostic) throw error48;
|
|
40234
|
+
await this.settleCancelledTurn(state2);
|
|
40235
|
+
return this.now() + (this.options.idlePollMs ?? HOST_RUNTIME_POLICY2.agent_idle_poll_ms);
|
|
40236
|
+
}
|
|
40215
40237
|
await this.handleCancelledAssignment(state2);
|
|
40216
40238
|
return this.now() + (this.options.idlePollMs ?? HOST_RUNTIME_POLICY2.agent_idle_poll_ms);
|
|
40217
40239
|
} finally {
|
|
@@ -40281,6 +40303,63 @@ var init_runner = __esm({
|
|
|
40281
40303
|
await writeInferenceAgentRuntimeState(this.options.statePath, resolved);
|
|
40282
40304
|
return resolved;
|
|
40283
40305
|
}
|
|
40306
|
+
/**
|
|
40307
|
+
* The server revoked this assignment (the owner stopped the bot), so its
|
|
40308
|
+
* interrupted turn can never run again and late decisions are refused. The
|
|
40309
|
+
* turn is recorded as cancelled and the assignment discarded, instead of
|
|
40310
|
+
* fencing every later assignment on this host.
|
|
40311
|
+
*/
|
|
40312
|
+
async settleCancelledTurn(state2, signal) {
|
|
40313
|
+
const nowIso = () => new Date(this.now()).toISOString();
|
|
40314
|
+
const pending3 = state2.pending_turn;
|
|
40315
|
+
const fence = await readInferenceAgentFailureFence(this.options.statePath);
|
|
40316
|
+
if (fence?.failure_code === "agent_turn_outcome_unknown" && fence.assignment_id === state2.assignment.assignment_id) {
|
|
40317
|
+
await clearInferenceAgentFailureFence(this.options.statePath);
|
|
40318
|
+
}
|
|
40319
|
+
const receipt = {
|
|
40320
|
+
terminal_status: "failed",
|
|
40321
|
+
failure_code: "cancelled",
|
|
40322
|
+
turn_id: pending3.turn_id,
|
|
40323
|
+
agent_run_id: state2.thread?.threadId ?? pending3.turn_id,
|
|
40324
|
+
requested_model: state2.assignment.model_id,
|
|
40325
|
+
effective_model: null,
|
|
40326
|
+
requested_reasoning_effort: state2.assignment.reasoning_effort,
|
|
40327
|
+
effective_reasoning_effort: null,
|
|
40328
|
+
started_at: pending3.started_at,
|
|
40329
|
+
completed_at: nowIso(),
|
|
40330
|
+
adapter_request_id: null,
|
|
40331
|
+
adapter_response_id: null,
|
|
40332
|
+
usage: {
|
|
40333
|
+
schema_version: EXTERNAL_INFERENCE_USAGE_SCHEMA_VERSION,
|
|
40334
|
+
availability: "unavailable",
|
|
40335
|
+
reason_code: "terminal_usage_unavailable"
|
|
40336
|
+
},
|
|
40337
|
+
decision_operation_ids: [...pending3.decision_operation_ids]
|
|
40338
|
+
};
|
|
40339
|
+
let current = {
|
|
40340
|
+
...state2,
|
|
40341
|
+
pending_turn: { ...pending3, terminal_receipt: receipt },
|
|
40342
|
+
updated_at: nowIso()
|
|
40343
|
+
};
|
|
40344
|
+
await writeInferenceAgentRuntimeState(this.options.statePath, current);
|
|
40345
|
+
const acknowledged = await this.options.controlClient.heartbeat({
|
|
40346
|
+
operation_id: pending3.turn_id,
|
|
40347
|
+
host_id: this.options.hostId,
|
|
40348
|
+
assignment_id: state2.assignment.assignment_id,
|
|
40349
|
+
assignment_generation: state2.assignment.assignment_generation,
|
|
40350
|
+
requested_at: nowIso(),
|
|
40351
|
+
turn_receipt: receipt
|
|
40352
|
+
}, { signal });
|
|
40353
|
+
if (!acknowledged.turn_receipt_recorded) {
|
|
40354
|
+
throw new InferenceHostRunnerError(
|
|
40355
|
+
"agent_turn_receipt_unacknowledged",
|
|
40356
|
+
"The cancelled Agent turn receipt could not be acknowledged; recovery state is retained."
|
|
40357
|
+
);
|
|
40358
|
+
}
|
|
40359
|
+
current = { ...current, pending_turn: null, updated_at: nowIso() };
|
|
40360
|
+
await writeInferenceAgentRuntimeState(this.options.statePath, current);
|
|
40361
|
+
await this.handleCancelledAssignment(current, signal);
|
|
40362
|
+
}
|
|
40284
40363
|
async handleCancelledAssignment(state2, signal) {
|
|
40285
40364
|
let current = state2;
|
|
40286
40365
|
if (current.pending_decision) {
|
|
@@ -42699,18 +42778,57 @@ $items = @(Get-CimInstance Win32_Process | Where-Object { $_.Name -in @('node.ex
|
|
|
42699
42778
|
}
|
|
42700
42779
|
});
|
|
42701
42780
|
|
|
42781
|
+
// lib/inference-host/agent-thread-workspace.ts
|
|
42782
|
+
import { realpath as realpath5 } from "node:fs/promises";
|
|
42783
|
+
import { tmpdir as tmpdir3 } from "node:os";
|
|
42784
|
+
import { basename as basename2, dirname as dirname6 } from "node:path";
|
|
42785
|
+
var ownedTempThreadWorkspace, removeRecordedTempThreadWorkspace;
|
|
42786
|
+
var init_agent_thread_workspace = __esm({
|
|
42787
|
+
"lib/inference-host/agent-thread-workspace.ts"() {
|
|
42788
|
+
"use strict";
|
|
42789
|
+
init_define_VTX_CLAUDE_CODE_POLICY();
|
|
42790
|
+
init_define_VTX_EXO_POLICY();
|
|
42791
|
+
init_define_VTX_GROK_POLICY();
|
|
42792
|
+
init_define_VTX_PI_MODEL_POLICY();
|
|
42793
|
+
init_agent_state();
|
|
42794
|
+
init_owned_directory_removal();
|
|
42795
|
+
ownedTempThreadWorkspace = async (threadPath, prefix) => {
|
|
42796
|
+
const resolved = await realpath5(threadPath);
|
|
42797
|
+
const temporaryRoot = await realpath5(tmpdir3());
|
|
42798
|
+
return dirname6(resolved) === temporaryRoot && basename2(resolved).startsWith(prefix) ? resolved : null;
|
|
42799
|
+
};
|
|
42800
|
+
removeRecordedTempThreadWorkspace = async (statePath, prefix) => {
|
|
42801
|
+
let threadPath;
|
|
42802
|
+
try {
|
|
42803
|
+
threadPath = (await readInferenceAgentRuntimeState(statePath))?.thread?.threadPath;
|
|
42804
|
+
} catch {
|
|
42805
|
+
return;
|
|
42806
|
+
}
|
|
42807
|
+
if (!threadPath) return;
|
|
42808
|
+
let owned;
|
|
42809
|
+
try {
|
|
42810
|
+
owned = await ownedTempThreadWorkspace(threadPath, prefix);
|
|
42811
|
+
} catch (error48) {
|
|
42812
|
+
if (error48.code === "ENOENT") return;
|
|
42813
|
+
throw error48;
|
|
42814
|
+
}
|
|
42815
|
+
if (owned) await removeOwnedDirectory(owned);
|
|
42816
|
+
};
|
|
42817
|
+
}
|
|
42818
|
+
});
|
|
42819
|
+
|
|
42702
42820
|
// lib/inference-host/copilot-adapter.ts
|
|
42703
42821
|
import { randomUUID as randomUUID4 } from "node:crypto";
|
|
42704
42822
|
import { mkdtemp as mkdtemp2 } from "node:fs/promises";
|
|
42705
42823
|
import { createRequire as createRequire2 } from "node:module";
|
|
42706
|
-
import { tmpdir as
|
|
42824
|
+
import { tmpdir as tmpdir4 } from "node:os";
|
|
42707
42825
|
import { join as join7 } from "node:path";
|
|
42708
42826
|
import {
|
|
42709
42827
|
CopilotClient,
|
|
42710
42828
|
RuntimeConnection,
|
|
42711
42829
|
defineTool
|
|
42712
42830
|
} from "@github/copilot-sdk";
|
|
42713
|
-
var COPILOT_SDK_VERSION, MAX_RESULT_BYTES, resolveRuntimePackage, copilotRuntimePackageCandidates, resolvePinnedCopilotCliPath, createPrivateWorkspace, cleanCopilotEnvironment, defaultClient, modelCapabilities, requiredUsageInteger, optionalUsageInteger, responseModelLabel, coherentResponseModel, copilotAgentToolDefinitions, CopilotSubscriptionAdapter;
|
|
42831
|
+
var COPILOT_SDK_VERSION, MAX_RESULT_BYTES, resolveRuntimePackage, copilotRuntimePackageCandidates, resolvePinnedCopilotCliPath, WORKSPACE_PREFIX, createPrivateWorkspace, cleanCopilotEnvironment, cleanupCopilotOwnedState, defaultClient, modelCapabilities, requiredUsageInteger, optionalUsageInteger, responseModelLabel, coherentResponseModel, copilotAgentToolDefinitions, CopilotSubscriptionAdapter;
|
|
42714
42832
|
var init_copilot_adapter = __esm({
|
|
42715
42833
|
"lib/inference-host/copilot-adapter.ts"() {
|
|
42716
42834
|
"use strict";
|
|
@@ -42719,6 +42837,7 @@ var init_copilot_adapter = __esm({
|
|
|
42719
42837
|
init_define_VTX_GROK_POLICY();
|
|
42720
42838
|
init_define_VTX_PI_MODEL_POLICY();
|
|
42721
42839
|
init_codex_app_server();
|
|
42840
|
+
init_agent_thread_workspace();
|
|
42722
42841
|
init_owned_directory_removal();
|
|
42723
42842
|
init_constants();
|
|
42724
42843
|
COPILOT_SDK_VERSION = "1.0.0-beta.8";
|
|
@@ -42747,8 +42866,9 @@ var init_copilot_adapter = __esm({
|
|
|
42747
42866
|
}
|
|
42748
42867
|
throw new Error(`copilot_runtime_package_missing:${failures.join(";")}`);
|
|
42749
42868
|
};
|
|
42869
|
+
WORKSPACE_PREFIX = "vtx-copilot-";
|
|
42750
42870
|
createPrivateWorkspace = async (removal = {}) => {
|
|
42751
|
-
const path = await mkdtemp2(join7(
|
|
42871
|
+
const path = await mkdtemp2(join7(tmpdir4(), WORKSPACE_PREFIX));
|
|
42752
42872
|
return {
|
|
42753
42873
|
path,
|
|
42754
42874
|
// client.stop() has already awaited the runtime's exit; retries cover the
|
|
@@ -42774,6 +42894,9 @@ var init_copilot_adapter = __esm({
|
|
|
42774
42894
|
]) delete environment[name];
|
|
42775
42895
|
return environment;
|
|
42776
42896
|
};
|
|
42897
|
+
cleanupCopilotOwnedState = async (statePath) => {
|
|
42898
|
+
await removeRecordedTempThreadWorkspace(statePath, WORKSPACE_PREFIX);
|
|
42899
|
+
};
|
|
42777
42900
|
defaultClient = (workingDirectory) => new CopilotClient({
|
|
42778
42901
|
connection: RuntimeConnection.forStdio({ path: resolvePinnedCopilotCliPath() }),
|
|
42779
42902
|
workingDirectory,
|
|
@@ -43342,7 +43465,15 @@ ${JSON.stringify(input.outputSchema)}`
|
|
|
43342
43465
|
if (cleanup) {
|
|
43343
43466
|
await cleanup();
|
|
43344
43467
|
this.agentWorkspaceCleanups.delete(thread.threadPath);
|
|
43468
|
+
return;
|
|
43345
43469
|
}
|
|
43470
|
+
let owned = null;
|
|
43471
|
+
try {
|
|
43472
|
+
owned = await ownedTempThreadWorkspace(thread.threadPath, WORKSPACE_PREFIX);
|
|
43473
|
+
} catch (error48) {
|
|
43474
|
+
if (error48.code !== "ENOENT") throw error48;
|
|
43475
|
+
}
|
|
43476
|
+
if (owned) await removeOwnedDirectory(owned);
|
|
43346
43477
|
}
|
|
43347
43478
|
async close() {
|
|
43348
43479
|
this.closing = true;
|
|
@@ -43591,9 +43722,9 @@ var init_deepseek_transport_proxy = __esm({
|
|
|
43591
43722
|
|
|
43592
43723
|
// lib/inference-host/deepseek-harness-adapter.ts
|
|
43593
43724
|
import { randomUUID as randomUUID5 } from "node:crypto";
|
|
43594
|
-
import { mkdtemp as mkdtemp3,
|
|
43595
|
-
import { tmpdir as
|
|
43596
|
-
import {
|
|
43725
|
+
import { mkdtemp as mkdtemp3, rm as rm7 } from "node:fs/promises";
|
|
43726
|
+
import { tmpdir as tmpdir5 } from "node:os";
|
|
43727
|
+
import { join as join8 } from "node:path";
|
|
43597
43728
|
import { Context } from "@deepseek-ai/cordis";
|
|
43598
43729
|
import * as AgentSpine from "@deepseek-ai/dsh-agent-spine-demo";
|
|
43599
43730
|
import {
|
|
@@ -43608,7 +43739,7 @@ import * as LlmDeepSeek from "@deepseek-ai/dsh-llm-deepseek";
|
|
|
43608
43739
|
import { SessionId } from "@deepseek-ai/dsh-session";
|
|
43609
43740
|
import * as SessionCheckpointPolicy from "@deepseek-ai/dsh-session-checkpoint-policy";
|
|
43610
43741
|
import { JsonlSessionPersistence } from "@deepseek-ai/dsh-session-persistence-jsonl";
|
|
43611
|
-
var DEEPSEEK_HARNESS_VERSION, MAX_RESULT_BYTES2, DEEPSEEK_MODELS, DEEPSEEK_API_BASE_URL, isSupportedNodeVersion, effortForHarness, supportedEfforts, toVtxUsage, sumUsage, textFromBlocks, validateText, createDeadlineBoundary, nonDispatchedError, proxyDispatchOutcome, mapDeepSeekFailure, createPrivateWorkspace2, directAdapter, normalizeJsonValue, DeepSeekHarnessAdapter;
|
|
43742
|
+
var DEEPSEEK_HARNESS_VERSION, MAX_RESULT_BYTES2, DEEPSEEK_MODELS, DEEPSEEK_API_BASE_URL, isSupportedNodeVersion, effortForHarness, supportedEfforts, toVtxUsage, sumUsage, textFromBlocks, validateText, createDeadlineBoundary, nonDispatchedError, proxyDispatchOutcome, mapDeepSeekFailure, WORKSPACE_PREFIX2, createPrivateWorkspace2, cleanupDeepSeekOwnedState, directAdapter, normalizeJsonValue, DeepSeekHarnessAdapter;
|
|
43612
43743
|
var init_deepseek_harness_adapter = __esm({
|
|
43613
43744
|
"lib/inference-host/deepseek-harness-adapter.ts"() {
|
|
43614
43745
|
"use strict";
|
|
@@ -43619,6 +43750,7 @@ var init_deepseek_harness_adapter = __esm({
|
|
|
43619
43750
|
init_codex_app_server();
|
|
43620
43751
|
init_agent_data_tool();
|
|
43621
43752
|
init_owned_directory_removal();
|
|
43753
|
+
init_agent_thread_workspace();
|
|
43622
43754
|
init_deepseek_transport_proxy();
|
|
43623
43755
|
init_constants();
|
|
43624
43756
|
DEEPSEEK_HARNESS_VERSION = "0.1.1-rc.2";
|
|
@@ -43744,12 +43876,16 @@ var init_deepseek_harness_adapter = __esm({
|
|
|
43744
43876
|
cause: options.error
|
|
43745
43877
|
});
|
|
43746
43878
|
};
|
|
43879
|
+
WORKSPACE_PREFIX2 = "vtx-deepseek-harness-";
|
|
43747
43880
|
createPrivateWorkspace2 = async () => {
|
|
43748
|
-
const path = await mkdtemp3(join8(
|
|
43881
|
+
const path = await mkdtemp3(join8(tmpdir5(), WORKSPACE_PREFIX2));
|
|
43749
43882
|
return { path, cleanup: async () => {
|
|
43750
43883
|
await removeOwnedDirectory(path);
|
|
43751
43884
|
} };
|
|
43752
43885
|
};
|
|
43886
|
+
cleanupDeepSeekOwnedState = async (statePath) => {
|
|
43887
|
+
await removeRecordedTempThreadWorkspace(statePath, WORKSPACE_PREFIX2);
|
|
43888
|
+
};
|
|
43753
43889
|
directAdapter = (proxy, model, effort2) => {
|
|
43754
43890
|
const connection = resolveAdapterOptions({
|
|
43755
43891
|
apiKeyEnv: "VTX_DSH_LOOPBACK_TOKEN",
|
|
@@ -44248,9 +44384,8 @@ ${JSON.stringify(input.outputSchema)}`,
|
|
|
44248
44384
|
this.agentWorkspaces.delete(thread.threadPath);
|
|
44249
44385
|
return;
|
|
44250
44386
|
}
|
|
44251
|
-
const resolved = await
|
|
44252
|
-
|
|
44253
|
-
if (dirname6(resolved) !== temporaryRoot || !basename2(resolved).startsWith("vtx-deepseek-harness-")) throw new Error("deepseek_harness_thread_path_not_owned");
|
|
44387
|
+
const resolved = await ownedTempThreadWorkspace(thread.threadPath, WORKSPACE_PREFIX2);
|
|
44388
|
+
if (!resolved) throw new Error("deepseek_harness_thread_path_not_owned");
|
|
44254
44389
|
await rm7(resolved, { recursive: true, force: true });
|
|
44255
44390
|
}
|
|
44256
44391
|
async close() {
|
|
@@ -51342,6 +51477,8 @@ Durable service:
|
|
|
51342
51477
|
await cleanupExoOwnedState(`${config2.statePath}.exo`);
|
|
51343
51478
|
await cleanupGrokOwnedState({ stateRoot: `${config2.statePath}.grok`, grokHome: `${config2.statePath}.grok-home` });
|
|
51344
51479
|
await cleanupClaudeCodeOwnedState(claudeCodeStateOptions(config2.statePath));
|
|
51480
|
+
await cleanupDeepSeekOwnedState(config2.statePath);
|
|
51481
|
+
await cleanupCopilotOwnedState(config2.statePath);
|
|
51345
51482
|
await clearInferencePrivateFile(
|
|
51346
51483
|
runtimeReceiptPath(config2),
|
|
51347
51484
|
"Inference host runtime receipt file"
|
|
@@ -59519,6 +59656,18 @@ var init_mobile_notifications = __esm({
|
|
|
59519
59656
|
}
|
|
59520
59657
|
});
|
|
59521
59658
|
|
|
59659
|
+
// lib/api/admin-signups.ts
|
|
59660
|
+
var init_admin_signups = __esm({
|
|
59661
|
+
"lib/api/admin-signups.ts"() {
|
|
59662
|
+
"use strict";
|
|
59663
|
+
init_define_VTX_CLAUDE_CODE_POLICY();
|
|
59664
|
+
init_define_VTX_EXO_POLICY();
|
|
59665
|
+
init_define_VTX_GROK_POLICY();
|
|
59666
|
+
init_define_VTX_PI_MODEL_POLICY();
|
|
59667
|
+
init_shared();
|
|
59668
|
+
}
|
|
59669
|
+
});
|
|
59670
|
+
|
|
59522
59671
|
// lib/runtime/hyperliquid-account-mode-contract.ts
|
|
59523
59672
|
function resolveExactHyperliquidAccountMode(userAbstraction, ...dexEvidence) {
|
|
59524
59673
|
const mode = extractCanonicalHyperliquidAccountMode(userAbstraction);
|
|
@@ -96616,6 +96765,7 @@ var init_api2 = __esm({
|
|
|
96616
96765
|
init_profile_emoji();
|
|
96617
96766
|
init_account_summary();
|
|
96618
96767
|
init_mobile_notifications();
|
|
96768
|
+
init_admin_signups();
|
|
96619
96769
|
init_server_runtime_lease();
|
|
96620
96770
|
clientRuntimeSecretHeaders = (profileId) => {
|
|
96621
96771
|
const headers = getProfileHeaders({}, profileId);
|