@vtxmacro/cli 2026.10.55 → 2026.10.56
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/exo-harness.ts +5 -0
- package/bin/vtx-mcp.js +6 -1
- package/bin/vtx-service-bootstrap.js +6 -1
- package/bin/vtx-service-launcher.js +5 -0
- package/bin/vtx.js +192 -196
- package/package.json +1 -1
package/bin/exo-harness.ts
CHANGED
|
@@ -1533,6 +1533,11 @@ var runtime_policy_generated_default = {
|
|
|
1533
1533
|
min_query_length: 2
|
|
1534
1534
|
}
|
|
1535
1535
|
},
|
|
1536
|
+
insights: {
|
|
1537
|
+
privileged_admin_settings: {
|
|
1538
|
+
access_token_ttl_seconds: 900
|
|
1539
|
+
}
|
|
1540
|
+
},
|
|
1536
1541
|
referrals: {
|
|
1537
1542
|
code_max_length: 24,
|
|
1538
1543
|
dashboard_default_limit: 20
|
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.56", 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
|
|
|
@@ -3133,6 +3133,11 @@ var runtime_policy_generated_default = {
|
|
|
3133
3133
|
min_query_length: 2
|
|
3134
3134
|
}
|
|
3135
3135
|
},
|
|
3136
|
+
insights: {
|
|
3137
|
+
privileged_admin_settings: {
|
|
3138
|
+
access_token_ttl_seconds: 900
|
|
3139
|
+
}
|
|
3140
|
+
},
|
|
3136
3141
|
referrals: {
|
|
3137
3142
|
code_max_length: 24,
|
|
3138
3143
|
dashboard_default_limit: 20
|
|
@@ -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.56", 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 = {
|
|
@@ -1405,6 +1405,11 @@ var runtime_policy_generated_default = {
|
|
|
1405
1405
|
min_query_length: 2
|
|
1406
1406
|
}
|
|
1407
1407
|
},
|
|
1408
|
+
insights: {
|
|
1409
|
+
privileged_admin_settings: {
|
|
1410
|
+
access_token_ttl_seconds: 900
|
|
1411
|
+
}
|
|
1412
|
+
},
|
|
1408
1413
|
referrals: {
|
|
1409
1414
|
code_max_length: 24,
|
|
1410
1415
|
dashboard_default_limit: 20
|
|
@@ -1389,6 +1389,11 @@ var runtime_policy_generated_default = {
|
|
|
1389
1389
|
min_query_length: 2
|
|
1390
1390
|
}
|
|
1391
1391
|
},
|
|
1392
|
+
insights: {
|
|
1393
|
+
privileged_admin_settings: {
|
|
1394
|
+
access_token_ttl_seconds: 900
|
|
1395
|
+
}
|
|
1396
|
+
},
|
|
1392
1397
|
referrals: {
|
|
1393
1398
|
code_max_length: 24,
|
|
1394
1399
|
dashboard_default_limit: 20
|
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.56", 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
|
|
|
@@ -1518,6 +1518,11 @@ var init_runtime_policy_generated = __esm({
|
|
|
1518
1518
|
min_query_length: 2
|
|
1519
1519
|
}
|
|
1520
1520
|
},
|
|
1521
|
+
insights: {
|
|
1522
|
+
privileged_admin_settings: {
|
|
1523
|
+
access_token_ttl_seconds: 900
|
|
1524
|
+
}
|
|
1525
|
+
},
|
|
1521
1526
|
referrals: {
|
|
1522
1527
|
code_max_length: 24,
|
|
1523
1528
|
dashboard_default_limit: 20
|
|
@@ -3082,7 +3087,7 @@ var init_shared_contracts_generated = __esm({
|
|
|
3082
3087
|
});
|
|
3083
3088
|
|
|
3084
3089
|
// lib/constants.ts
|
|
3085
|
-
var MS_PER_SECOND, SECONDS_PER_MINUTE, MINUTES_PER_HOUR, HOURS_PER_DAY, DAYS_PER_WEEK, MS_PER_MINUTE, SECONDS_PER_HOUR, SECONDS_PER_DAY, SECONDS_PER_WEEK, MINUTES_PER_DAY, MINUTES_PER_WEEK, MS_PER_HOUR, MS_PER_DAY, READ_STAMP_TIE_MS, READ_STAMP_STEP_BACK_MS, CLOCK_FIELD_DIGITS, BACKOFF_GROWTH_FACTOR, BYTES_PER_KIB, BYTES_PER_MIB, BITS_PER_BYTE, BYTE_MASK, OWNER_ONLY_FILE_MODE, OWNER_ONLY_DIRECTORY_MODE, GROUP_OTHER_PERMISSION_BITS, DECIMAL_RADIX, HEX_RADIX, BASE36_RADIX, BYTE_HEX_DIGITS, UINT32_HEX_DIGITS, RANDOM_FRACTION_PREFIX_LENGTH, PERCENT_SCALE, MIDPOINT_DIVISOR, FNV1A_32_OFFSET_BASIS, FNV1A_32_PRIME, JSON_INDENT_SPACES, INT32_MIN, INT32_MAX, SET_TIMEOUT_MAX_DELAY_MS, FLOAT_EQUALITY_EPSILON, POSITION_SIZE_EPSILON, HTTP_STATUS, HTTP_STATUS_MIN, HTTP_STATUS_MAX, HTTP_CLIENT_ERROR_MIN, HTTP_SERVER_ERROR_MIN, PROMPT_RESCUE_ASKS_PER_CYCLE_BUILD, AI_COST_ESTIMATE_PERIOD_DAYS, SECONDS_PER_AI_COST_ESTIMATE_PERIOD, DATE_FIELD_DIGITS, NODE_ARGV_COMMAND_ARGS_START, EXIT_CODE_TEMPFAIL, SHA256_INITIAL_STATE, SHA256_ROUND_CONSTANTS, SHA256, UINT64_HIGH_WORD_DIVISOR, CANONICAL_BASE64URL, INFERENCE_ENVELOPE_CRYPTO, JSON_RPC_ERROR_CODES, INFERENCE_MCP_SCHEMA_PROBE_MAX_DEPTH, INFERENCE_HOST_PROCESS_LOCK_RECORD_SCHEMA_VERSION, NATIVE_PROTECTION_RECORD_WITH_LOTS_VERSION, INFERENCE_HOST_RECLAIM_GUARD_CREATE_PASSES, LINUX_PROC_STAT_COMM_TERMINATOR_CHARS, INFERENCE_HOST_RANDOM_BYTES, INFERENCE_OAUTH_TOKEN_MAX_LENGTH, INFERENCE_CREDENTIAL_WINDOWS_NOT_FOUND_EXIT_CODE, MACOS_SECURITY_ITEM_NOT_FOUND_EXIT_CODE, INFERENCE_CREDENTIAL_LABEL_ACCOUNT_KEY_CHARS, INFERENCE_HOST_STABLE_OPERATION_ID_HASH_CHARS, INFERENCE_HOST_DRAIN_PRIORITY, INFERENCE_JOB_CLAIM_SCHEMA_VERSION, INFERENCE_HOST_WINDOWS_TASK_IDENTITY_MAX_CHARS, INFERENCE_HOST_OWNER_ONLY_EXECUTABLE_MODE, WINDOWS_TASKKILL_PROCESS_NOT_FOUND_EXIT_CODE, INFERENCE_HOST_CLI_MAX_SERVICE_POSITIONALS, INFERENCE_HOST_CLI_MAX_COMMAND_POSITIONALS, INFERENCE_HOST_DISPLAY_NAME_MAX_CHARS, INFERENCE_HOST_REVOCATION_CHECKPOINT_MAX_CHARS, INFERENCE_HOST_MODEL_ID_MAX_CHARS, CODEX_RECOVERY_RECEIPT_MAX_CHARS, CODEX_HOSTED_ATTEMPT_PATH_SEGMENTS, CODEX_GUARDIAN_PROCESS_TOKEN_BYTES, CODEX_RATE_LIMIT_EXHAUSTED_PERCENT, INFERENCE_HOST_PROXY_TOKEN_BYTES, AGENT_TOOL_SERVER_TOKEN_BYTES, GROK_NATIVE_SESSION_GROUP_NAME_MAX_CHARS, GROK_POLICY_TRANSPORT_MAX_BYTES, EXO_POLICY_MAX_TOOL_ROUNDS, EXO_POLICY_MAX_MODELS, EXO_POLICY_MODEL_NAME_MAX_CHARS, CLAUDE_CODE_POLICY_MAX_MODELS, CLAUDE_CODE_POLICY_MODEL_NAME_MAX_CHARS, CLAUDE_CODE_POLICY_MAX_TURNS, ANTHROPIC_SCHEMA_PROPERTY_NAME_MAX_CHARS, EXO_RUNTIME_VERSION_COMMIT_CHARS, PI_QUALIFIED_MODEL_ID_MAX_CHARS, PI_STRUCTURED_OUTPUT_MAX_DEPTH, PI_STRUCTURED_OUTPUT_MAX_PROPERTIES, INFERENCE_HOST_API_KEY_MIN_CHARS, INFERENCE_HOST_API_KEY_MAX_BYTES, INFERENCE_HOST_API_KEY_IDENTITY_HEX_CHARS, DEEPSEEK_HARNESS_NODE_LTS_MAJOR, DEEPSEEK_HARNESS_NODE_LTS_MIN_MINOR, DEEPSEEK_HARNESS_NODE_CURRENT_MAJOR, PROMPT_FIXED_DIGITS, PROMPT_SIGNIFICANT_DIGITS, PROMPT_NUMBER_MAX_DIGITS, PROMPT_RELATIVE_VOLUME_DIGITS, BINARY_RADIX, PROMPT_PRICE_INTEGER_THRESHOLD, PROMPT_MARGIN_UTILIZATION_DECIMALS, PROMPT_SYMBOL_MAX_CHARS,
|
|
3090
|
+
var MS_PER_SECOND, SECONDS_PER_MINUTE, MINUTES_PER_HOUR, HOURS_PER_DAY, DAYS_PER_WEEK, MS_PER_MINUTE, SECONDS_PER_HOUR, SECONDS_PER_DAY, SECONDS_PER_WEEK, MINUTES_PER_DAY, MINUTES_PER_WEEK, MS_PER_HOUR, MS_PER_DAY, READ_STAMP_TIE_MS, READ_STAMP_STEP_BACK_MS, CLOCK_FIELD_DIGITS, BACKOFF_GROWTH_FACTOR, BYTES_PER_KIB, BYTES_PER_MIB, BITS_PER_BYTE, BYTE_MASK, OWNER_ONLY_FILE_MODE, OWNER_ONLY_DIRECTORY_MODE, GROUP_OTHER_PERMISSION_BITS, DECIMAL_RADIX, HEX_RADIX, BASE36_RADIX, BYTE_HEX_DIGITS, UINT32_HEX_DIGITS, RANDOM_FRACTION_PREFIX_LENGTH, PERCENT_SCALE, MIDPOINT_DIVISOR, FNV1A_32_OFFSET_BASIS, FNV1A_32_PRIME, JSON_INDENT_SPACES, INT32_MIN, INT32_MAX, SET_TIMEOUT_MAX_DELAY_MS, FLOAT_EQUALITY_EPSILON, POSITION_SIZE_EPSILON, HTTP_STATUS, HTTP_STATUS_MIN, HTTP_STATUS_MAX, HTTP_CLIENT_ERROR_MIN, HTTP_SERVER_ERROR_MIN, PROMPT_RESCUE_ASKS_PER_CYCLE_BUILD, AI_COST_ESTIMATE_PERIOD_DAYS, SECONDS_PER_AI_COST_ESTIMATE_PERIOD, DATE_FIELD_DIGITS, NODE_ARGV_COMMAND_ARGS_START, EXIT_CODE_TEMPFAIL, SHA256_INITIAL_STATE, SHA256_ROUND_CONSTANTS, SHA256, UINT64_HIGH_WORD_DIVISOR, CANONICAL_BASE64URL, INFERENCE_ENVELOPE_CRYPTO, JSON_RPC_ERROR_CODES, INFERENCE_MCP_SCHEMA_PROBE_MAX_DEPTH, INFERENCE_HOST_PROCESS_LOCK_RECORD_SCHEMA_VERSION, NATIVE_PROTECTION_RECORD_WITH_LOTS_VERSION, INFERENCE_HOST_RECLAIM_GUARD_CREATE_PASSES, LINUX_PROC_STAT_COMM_TERMINATOR_CHARS, INFERENCE_HOST_RANDOM_BYTES, INFERENCE_OAUTH_TOKEN_MAX_LENGTH, INFERENCE_CREDENTIAL_WINDOWS_NOT_FOUND_EXIT_CODE, MACOS_SECURITY_ITEM_NOT_FOUND_EXIT_CODE, INFERENCE_CREDENTIAL_LABEL_ACCOUNT_KEY_CHARS, INFERENCE_HOST_STABLE_OPERATION_ID_HASH_CHARS, INFERENCE_HOST_DRAIN_PRIORITY, INFERENCE_JOB_CLAIM_SCHEMA_VERSION, INFERENCE_HOST_WINDOWS_TASK_IDENTITY_MAX_CHARS, INFERENCE_HOST_OWNER_ONLY_EXECUTABLE_MODE, WINDOWS_TASKKILL_PROCESS_NOT_FOUND_EXIT_CODE, INFERENCE_HOST_CLI_MAX_SERVICE_POSITIONALS, INFERENCE_HOST_CLI_MAX_COMMAND_POSITIONALS, INFERENCE_HOST_DISPLAY_NAME_MAX_CHARS, INFERENCE_HOST_REVOCATION_CHECKPOINT_MAX_CHARS, INFERENCE_HOST_MODEL_ID_MAX_CHARS, CODEX_RECOVERY_RECEIPT_MAX_CHARS, CODEX_HOSTED_ATTEMPT_PATH_SEGMENTS, CODEX_GUARDIAN_PROCESS_TOKEN_BYTES, CODEX_RATE_LIMIT_EXHAUSTED_PERCENT, INFERENCE_HOST_PROXY_TOKEN_BYTES, AGENT_TOOL_SERVER_TOKEN_BYTES, GROK_NATIVE_SESSION_GROUP_NAME_MAX_CHARS, GROK_POLICY_TRANSPORT_MAX_BYTES, EXO_POLICY_MAX_TOOL_ROUNDS, EXO_POLICY_MAX_MODELS, EXO_POLICY_MODEL_NAME_MAX_CHARS, CLAUDE_CODE_POLICY_MAX_MODELS, CLAUDE_CODE_POLICY_MODEL_NAME_MAX_CHARS, CLAUDE_CODE_POLICY_MAX_TURNS, ANTHROPIC_SCHEMA_PROPERTY_NAME_MAX_CHARS, EXO_RUNTIME_VERSION_COMMIT_CHARS, PI_QUALIFIED_MODEL_ID_MAX_CHARS, PI_STRUCTURED_OUTPUT_MAX_DEPTH, PI_STRUCTURED_OUTPUT_MAX_PROPERTIES, INFERENCE_HOST_API_KEY_MIN_CHARS, INFERENCE_HOST_API_KEY_MAX_BYTES, INFERENCE_HOST_API_KEY_IDENTITY_HEX_CHARS, DEEPSEEK_HARNESS_NODE_LTS_MAJOR, DEEPSEEK_HARNESS_NODE_LTS_MIN_MINOR, DEEPSEEK_HARNESS_NODE_CURRENT_MAJOR, PROMPT_FIXED_DIGITS, PROMPT_SIGNIFICANT_DIGITS, PROMPT_NUMBER_MAX_DIGITS, PROMPT_RELATIVE_VOLUME_DIGITS, BINARY_RADIX, PROMPT_PRICE_INTEGER_THRESHOLD, PROMPT_MARGIN_UTILIZATION_DECIMALS, PROMPT_SYMBOL_MAX_CHARS, HALF_UP_ROUNDING_OFFSET, PROMPT_ENTRY_PRICE_MATCH_ABS_TOLERANCE, PROMPT_ENTRY_PRICE_MATCH_REL_TOLERANCE, DECISION_OUTPUT_EXAMPLE_TRADABILITY, IEEE754_MANTISSA_BITS, IEEE754_EXPONENT_BIAS, IEEE754_EXPONENT_MASK, IEEE754_HIGH_MANTISSA_MASK, IEEE754_HIGH_WORD_EXPONENT_SHIFT, IEEE754_SIGN_BIT_SHIFT, UINT32_RANGE, PYTHON_SQRT_BIT_WIDTH, PYTHON_REPR_EXPONENT_MIN_DECPT, PYTHON_REPR_EXPONENT_MAX_DECPT, PYTHON_REPR_MIN_EXPONENT_DIGITS, TO_FIXED_MAX_MAGNITUDE, UNICODE_DEFAULT_IGNORABLE_RANGES_OUTSIDE_CATEGORIES, CALENDAR_FIELD_MAX_CHARS, INDICATOR_RSI_PERIOD, INDICATOR_ATR_PERIOD, INDICATOR_MACD_FAST_PERIOD, INDICATOR_MACD_SLOW_PERIOD, INDICATOR_MACD_SIGNAL_PERIOD, INDICATOR_BOLLINGER_PERIOD, INDICATOR_BOLLINGER_STD_DEV, INDICATOR_OSCILLATOR_MAX, PROMPT_METRIC_DECIMALS, CENT_DECIMALS, REGIME_ADX_CHOP_DECIMALS, FILL_SIZE_MATCH_TOLERANCE, PERFORMANCE_HOLD_MINUTES_DECIMALS, SERIES_CHANGE_MIN_POINTS, INDICATOR_ADX_PERIOD, INDICATOR_CHOP_PERIOD, ADX_WARMUP_PERIODS, WINDOW_FEATURES_MIN_CANDLES, WINDOW_FEATURES_PIVOT_NEIGHBOR_DISTANCE, FRACTAL_SIDES, REGRESSION_MIN_POINTS, SAMPLE_STDEV_MIN_POINTS, WINDOW_FEATURES_SLOPE_DECIMALS, WINDOW_FEATURES_R_SQUARED_DECIMALS, WINDOW_FEATURES_Z_SCORE_DECIMALS, WINDOW_FEATURES_GREEN_RATIO_DECIMALS, WINDOW_FEATURES_ATR_PERCENT_DECIMALS, EMA_SMOOTHING_NUMERATOR, PROMPT_EMA_PERIODS, JSON_UNICODE_ESCAPE_PREFIX_LENGTH, JSON_UNICODE_ESCAPE_HEX_DIGITS, ASCII_FIRST_PRINTABLE_CODE, ASCII_LAST_PRINTABLE_CODE, JSON_CONTROL_CHARACTER_MAX, RUNTIME_DEBUG_SNIPPET_CHARS, RUNTIME_DEBUG_PROMPT_SNIPPET_CHARS, RUNTIME_DEBUG_TOKEN_PREFIX_CHARS, RUNTIME_DEBUG_USD_DECIMALS, RUNTIME_LATENCY_SECONDS_DECIMALS, AI_SCHEDULE_CLOCK_PARTS, ESTIMATED_CHARS_PER_TOKEN, PROVIDER_ERROR_RAW_TEXT_MAX_CHARS, AI_CALL_COST_DECIMALS, PROVIDER_DIAGNOSTIC_LIMITS, AI_INVOCATION_CONTRACT_VERSION, AI_INVOCATION_TELEMETRY_LIMITS, PROVIDER_USAGE_DETAIL_LIMITS, HYPERLIQUID_TIF_GTC, HYPERLIQUID_TPSL_BATCH_MIN_ORDERS, HYPERLIQUID_USER_FILLS_PROVIDER_PAGE_CAP, HYPERLIQUID_CANDLE_SNAPSHOT_BASE_WEIGHT, HYPERLIQUID_CANDLE_SNAPSHOT_ROWS_PER_WEIGHT, HYPERLIQUID_CANDLE_SNAPSHOT_MAX_ROWS, HYPERLIQUID_ROW_WEIGHTED_INFO_REQUESTS, HYPERLIQUID_ROW_WEIGHTED_INFO_BASE_WEIGHT, HYPERLIQUID_INFO_ROWS_PER_EXTRA_WEIGHT, HYPERLIQUID_PUBLIC_READ_WINDOWS_KEPT, CLIENT_RUNTIME_NOTE_GAP_MAX_LOOPS, HYPERLIQUID_META_AND_ASSET_CTXS_PARTS, HYPERLIQUID_SIDE_PAIR_LENGTH, HYPERLIQUID_SIGNED_SIZE_MATCH_EXTRA_DECIMALS, HYPERLIQUID_OPEN_ORDERS_MAX_NESTING_DEPTH, ACCOUNT_PAYLOAD_MODE_SEARCH_MAX_DEPTH, HYPERLIQUID_ACCOUNT_ROUNDING_DECIMALS, HYPERLIQUID_UNREALIZED_PNL_ZERO_TOLERANCE, HYPERLIQUID_MAX_DEPLOYER_FEE_SCALE, HYPERLIQUID_DEPLOYER_FEE_SCALE_MULTIPLIER, HYPERLIQUID_GROWTH_MODE_FEE_FACTOR, HYPERLIQUID_ALIGNED_QUOTE_NON_DEPLOYER_FEE_FACTOR, HYPERLIQUID_CLOSE_SIZE_RELATIVE_TOLERANCE, HYPERLIQUID_POSITION_SIZE_MATCH_ABS_TOLERANCE, HYPERLIQUID_POSITION_SIZE_MATCH_RELATIVE_TOLERANCE, HYPERLIQUID_LOT_FLOOR_NOISE_DECIMALS, HYPERLIQUID_RECOVERY_BACKOFF_MAX_EXPONENT, HYPERLIQUID_RECOVERY_CONCURRENCY_GROWTH_FACTOR, UUID_BYTES, UUID_HEX_GROUP_ENDS, MSGPACK, CLIENT_RUNTIME_PROVIDER_ATTEMPT_SUMMARY_MAX_CHARS, CLIENT_RUNTIME_HL_REQUEST_TYPE_MAX_CHARS, CLIENT_RUNTIME_DRAWDOWN_DEBUG_DECIMALS, CLIENT_PROTECTIVE_GROUP_VERSION, CLIENT_PROTECTIVE_TPSL_PAIR_LEGS, CLIENT_PROTECTIVE_FILL_MATCH_ABS_TOLERANCE, CLIENT_PROTECTIVE_FILL_MATCH_REL_TOLERANCE, CLIENT_CLOSE_FILL_EPSILON_ULPS, COPY_TRADING_SIZE_EPSILON, COPY_TRADING_RELATIVE_SIZE_TOLERANCE, COPY_TRADING_NOTIONAL_CAP_TOLERANCE_USD, CLIENT_ACCOUNT_PNL_NONZERO_MIN_USD, RUNTIME_PORTFOLIO_PERIOD_ENTRY_LENGTH, CLIENT_EXCHANGE_RECONCILIATION_MAX_DELAY_MS, RFC1918_172_BLOCK_SECOND_OCTET, AGENT_CLI_TAKEOVER_REQUIRED_EXIT_CODE, EXIT_CODE_INTERRUPTED, EXIT_CODE_SIGNAL_BASE, AI_SNAPSHOT_COMPACT_TRANSPORT_VERSION, CLIENT_PROTECTION_CAPABILITY_VERSION, AI_SNAPSHOT_PACKED_FIELDS, AI_SNAPSHOT_PACKED_ENTRY_FIELDS, TOKENS_PER_MILLION, RENDER_DEBUG_ID_RANDOM_CHARS;
|
|
3086
3091
|
var init_constants = __esm({
|
|
3087
3092
|
"lib/constants.ts"() {
|
|
3088
3093
|
"use strict";
|
|
@@ -3383,7 +3388,6 @@ var init_constants = __esm({
|
|
|
3383
3388
|
PROMPT_PRICE_INTEGER_THRESHOLD = 1e5;
|
|
3384
3389
|
PROMPT_MARGIN_UTILIZATION_DECIMALS = 1;
|
|
3385
3390
|
PROMPT_SYMBOL_MAX_CHARS = 100;
|
|
3386
|
-
PROMPT_PARTIAL_UNIT_ROUND_UP_FRACTION = 0.5;
|
|
3387
3391
|
HALF_UP_ROUNDING_OFFSET = 0.5;
|
|
3388
3392
|
PROMPT_ENTRY_PRICE_MATCH_ABS_TOLERANCE = 1e-8;
|
|
3389
3393
|
PROMPT_ENTRY_PRICE_MATCH_REL_TOLERANCE = 1e-6;
|
|
@@ -23157,6 +23161,11 @@ var init_runtime_policy_generated2 = __esm({
|
|
|
23157
23161
|
min_query_length: 2
|
|
23158
23162
|
}
|
|
23159
23163
|
},
|
|
23164
|
+
insights: {
|
|
23165
|
+
privileged_admin_settings: {
|
|
23166
|
+
access_token_ttl_seconds: 900
|
|
23167
|
+
}
|
|
23168
|
+
},
|
|
23160
23169
|
referrals: {
|
|
23161
23170
|
code_max_length: 24,
|
|
23162
23171
|
dashboard_default_limit: 20
|
|
@@ -103890,6 +103899,73 @@ var init_client_exchange_mutations = __esm({
|
|
|
103890
103899
|
}
|
|
103891
103900
|
});
|
|
103892
103901
|
|
|
103902
|
+
// lib/runtime/prompt-number-contract.ts
|
|
103903
|
+
var finiteNumber2, roundPromptFixed, roundPromptSignificant, roundPromptRelativeVolume, roundPromptNonnegativeUnits;
|
|
103904
|
+
var init_prompt_number_contract = __esm({
|
|
103905
|
+
"lib/runtime/prompt-number-contract.ts"() {
|
|
103906
|
+
"use strict";
|
|
103907
|
+
init_define_VTX_CLAUDE_CODE_POLICY();
|
|
103908
|
+
init_define_VTX_EXO_POLICY();
|
|
103909
|
+
init_define_VTX_GROK_POLICY();
|
|
103910
|
+
init_define_VTX_PI_MODEL_POLICY();
|
|
103911
|
+
init_constants();
|
|
103912
|
+
finiteNumber2 = (value) => {
|
|
103913
|
+
const numeric2 = Number(value);
|
|
103914
|
+
return Number.isFinite(numeric2) ? numeric2 : null;
|
|
103915
|
+
};
|
|
103916
|
+
roundPromptFixed = (value, digits = PROMPT_FIXED_DIGITS) => {
|
|
103917
|
+
const numeric2 = finiteNumber2(value);
|
|
103918
|
+
if (numeric2 == null) {
|
|
103919
|
+
return 0;
|
|
103920
|
+
}
|
|
103921
|
+
if (!Number.isInteger(digits) || digits < 0 || digits > PROMPT_NUMBER_MAX_DIGITS) {
|
|
103922
|
+
throw new Error("prompt fixed digits must be between 0 and 100");
|
|
103923
|
+
}
|
|
103924
|
+
const rounded = Number(numeric2.toFixed(digits));
|
|
103925
|
+
return Object.is(rounded, -0) ? 0 : rounded;
|
|
103926
|
+
};
|
|
103927
|
+
roundPromptSignificant = (value, digits = PROMPT_SIGNIFICANT_DIGITS) => {
|
|
103928
|
+
const numeric2 = finiteNumber2(value);
|
|
103929
|
+
if (numeric2 == null || numeric2 === 0) {
|
|
103930
|
+
return 0;
|
|
103931
|
+
}
|
|
103932
|
+
if (!Number.isInteger(digits) || digits < 1 || digits > PROMPT_NUMBER_MAX_DIGITS) {
|
|
103933
|
+
throw new Error("prompt significant digits must be between 1 and 100");
|
|
103934
|
+
}
|
|
103935
|
+
const rounded = Number(numeric2.toPrecision(digits));
|
|
103936
|
+
return Object.is(rounded, -0) ? 0 : rounded;
|
|
103937
|
+
};
|
|
103938
|
+
roundPromptRelativeVolume = (value) => {
|
|
103939
|
+
if (value === null || value === void 0 || typeof value === "boolean") {
|
|
103940
|
+
return null;
|
|
103941
|
+
}
|
|
103942
|
+
if (typeof value === "string" && !value.trim()) {
|
|
103943
|
+
return null;
|
|
103944
|
+
}
|
|
103945
|
+
const numeric2 = finiteNumber2(value);
|
|
103946
|
+
if (numeric2 == null) {
|
|
103947
|
+
return null;
|
|
103948
|
+
}
|
|
103949
|
+
const digits = PROMPT_RELATIVE_VOLUME_DIGITS;
|
|
103950
|
+
const awayFromZero = numeric2.toFixed(digits);
|
|
103951
|
+
const tieNumerator = numeric2 * BINARY_RADIX ** (digits + 1);
|
|
103952
|
+
if (!Number.isInteger(tieNumerator) || Math.abs(tieNumerator) % BINARY_RADIX !== 1) {
|
|
103953
|
+
return Number(awayFromZero);
|
|
103954
|
+
}
|
|
103955
|
+
const towardZero = numeric2.toFixed(digits + 1).slice(0, -1);
|
|
103956
|
+
const towardZeroIsEven = Number(towardZero.at(-1)) % BINARY_RADIX === 0;
|
|
103957
|
+
return Number(towardZeroIsEven ? towardZero : awayFromZero);
|
|
103958
|
+
};
|
|
103959
|
+
roundPromptNonnegativeUnits = (value) => {
|
|
103960
|
+
const numeric2 = finiteNumber2(value);
|
|
103961
|
+
if (numeric2 == null || numeric2 <= 0) {
|
|
103962
|
+
return 0;
|
|
103963
|
+
}
|
|
103964
|
+
return Math.max(0, Math.round(numeric2));
|
|
103965
|
+
};
|
|
103966
|
+
}
|
|
103967
|
+
});
|
|
103968
|
+
|
|
103893
103969
|
// lib/runtime/execution-guard-contract.ts
|
|
103894
103970
|
var unitsFromPosition, signedUnitsFromPosition, signedUnitsFromEntryPosition, classifyExecutionIntent, reductionFirstOrder, orderMetadataRetryReason, copyClosingSize, copyOrderClosingSize, copyOrderNotionalCap, resolveExecutionTarget, decisionOrderSizeAsset, flipExecutionLegs, executedOrderPositionEvent;
|
|
103895
103971
|
var init_execution_guard_contract = __esm({
|
|
@@ -103900,6 +103976,7 @@ var init_execution_guard_contract = __esm({
|
|
|
103900
103976
|
init_define_VTX_GROK_POLICY();
|
|
103901
103977
|
init_define_VTX_PI_MODEL_POLICY();
|
|
103902
103978
|
init_constants();
|
|
103979
|
+
init_prompt_number_contract();
|
|
103903
103980
|
unitsFromPosition = (size, price, unitSizeUsdc) => {
|
|
103904
103981
|
const sizeValue = Number(size ?? 0);
|
|
103905
103982
|
const priceValue = Number(price ?? 0);
|
|
@@ -103910,7 +103987,7 @@ var init_execution_guard_contract = __esm({
|
|
|
103910
103987
|
if (sizeValue === 0 || priceValue <= 0 || unitSizeValue <= 0) {
|
|
103911
103988
|
return 0;
|
|
103912
103989
|
}
|
|
103913
|
-
return Math.
|
|
103990
|
+
return Math.max(1, roundPromptNonnegativeUnits(Math.abs(sizeValue * priceValue) / unitSizeValue));
|
|
103914
103991
|
};
|
|
103915
103992
|
signedUnitsFromPosition = (size, price, unitSizeUsdc) => {
|
|
103916
103993
|
const units = unitsFromPosition(size, price, unitSizeUsdc);
|
|
@@ -104900,73 +104977,6 @@ var init_constraint_contract = __esm({
|
|
|
104900
104977
|
}
|
|
104901
104978
|
});
|
|
104902
104979
|
|
|
104903
|
-
// lib/runtime/prompt-number-contract.ts
|
|
104904
|
-
var finiteNumber2, roundPromptFixed, roundPromptSignificant, roundPromptRelativeVolume, roundPromptNonnegativeUnits;
|
|
104905
|
-
var init_prompt_number_contract = __esm({
|
|
104906
|
-
"lib/runtime/prompt-number-contract.ts"() {
|
|
104907
|
-
"use strict";
|
|
104908
|
-
init_define_VTX_CLAUDE_CODE_POLICY();
|
|
104909
|
-
init_define_VTX_EXO_POLICY();
|
|
104910
|
-
init_define_VTX_GROK_POLICY();
|
|
104911
|
-
init_define_VTX_PI_MODEL_POLICY();
|
|
104912
|
-
init_constants();
|
|
104913
|
-
finiteNumber2 = (value) => {
|
|
104914
|
-
const numeric2 = Number(value);
|
|
104915
|
-
return Number.isFinite(numeric2) ? numeric2 : null;
|
|
104916
|
-
};
|
|
104917
|
-
roundPromptFixed = (value, digits = PROMPT_FIXED_DIGITS) => {
|
|
104918
|
-
const numeric2 = finiteNumber2(value);
|
|
104919
|
-
if (numeric2 == null) {
|
|
104920
|
-
return 0;
|
|
104921
|
-
}
|
|
104922
|
-
if (!Number.isInteger(digits) || digits < 0 || digits > PROMPT_NUMBER_MAX_DIGITS) {
|
|
104923
|
-
throw new Error("prompt fixed digits must be between 0 and 100");
|
|
104924
|
-
}
|
|
104925
|
-
const rounded = Number(numeric2.toFixed(digits));
|
|
104926
|
-
return Object.is(rounded, -0) ? 0 : rounded;
|
|
104927
|
-
};
|
|
104928
|
-
roundPromptSignificant = (value, digits = PROMPT_SIGNIFICANT_DIGITS) => {
|
|
104929
|
-
const numeric2 = finiteNumber2(value);
|
|
104930
|
-
if (numeric2 == null || numeric2 === 0) {
|
|
104931
|
-
return 0;
|
|
104932
|
-
}
|
|
104933
|
-
if (!Number.isInteger(digits) || digits < 1 || digits > PROMPT_NUMBER_MAX_DIGITS) {
|
|
104934
|
-
throw new Error("prompt significant digits must be between 1 and 100");
|
|
104935
|
-
}
|
|
104936
|
-
const rounded = Number(numeric2.toPrecision(digits));
|
|
104937
|
-
return Object.is(rounded, -0) ? 0 : rounded;
|
|
104938
|
-
};
|
|
104939
|
-
roundPromptRelativeVolume = (value) => {
|
|
104940
|
-
if (value === null || value === void 0 || typeof value === "boolean") {
|
|
104941
|
-
return null;
|
|
104942
|
-
}
|
|
104943
|
-
if (typeof value === "string" && !value.trim()) {
|
|
104944
|
-
return null;
|
|
104945
|
-
}
|
|
104946
|
-
const numeric2 = finiteNumber2(value);
|
|
104947
|
-
if (numeric2 == null) {
|
|
104948
|
-
return null;
|
|
104949
|
-
}
|
|
104950
|
-
const digits = PROMPT_RELATIVE_VOLUME_DIGITS;
|
|
104951
|
-
const awayFromZero = numeric2.toFixed(digits);
|
|
104952
|
-
const tieNumerator = numeric2 * BINARY_RADIX ** (digits + 1);
|
|
104953
|
-
if (!Number.isInteger(tieNumerator) || Math.abs(tieNumerator) % BINARY_RADIX !== 1) {
|
|
104954
|
-
return Number(awayFromZero);
|
|
104955
|
-
}
|
|
104956
|
-
const towardZero = numeric2.toFixed(digits + 1).slice(0, -1);
|
|
104957
|
-
const towardZeroIsEven = Number(towardZero.at(-1)) % BINARY_RADIX === 0;
|
|
104958
|
-
return Number(towardZeroIsEven ? towardZero : awayFromZero);
|
|
104959
|
-
};
|
|
104960
|
-
roundPromptNonnegativeUnits = (value) => {
|
|
104961
|
-
const numeric2 = finiteNumber2(value);
|
|
104962
|
-
if (numeric2 == null || numeric2 <= 0) {
|
|
104963
|
-
return 0;
|
|
104964
|
-
}
|
|
104965
|
-
return Math.max(0, Math.round(numeric2));
|
|
104966
|
-
};
|
|
104967
|
-
}
|
|
104968
|
-
});
|
|
104969
|
-
|
|
104970
104980
|
// lib/runtime/execution-capacity.ts
|
|
104971
104981
|
var capacityUnitsUsedForPosition, openCapacityRoom, allocatePlanCapacity, withCapacityTrim;
|
|
104972
104982
|
var init_execution_capacity = __esm({
|
|
@@ -104976,27 +104986,10 @@ var init_execution_capacity = __esm({
|
|
|
104976
104986
|
init_define_VTX_EXO_POLICY();
|
|
104977
104987
|
init_define_VTX_GROK_POLICY();
|
|
104978
104988
|
init_define_VTX_PI_MODEL_POLICY();
|
|
104979
|
-
init_constants();
|
|
104980
104989
|
init_constraint_contract();
|
|
104981
104990
|
init_execution_guard_contract();
|
|
104982
104991
|
init_hyperliquid_market_symbol();
|
|
104983
|
-
|
|
104984
|
-
capacityUnitsUsedForPosition = (size, entryPrice, unitSize) => {
|
|
104985
|
-
const sizeFloat = Number(size);
|
|
104986
|
-
const entryPriceFloat = Number(entryPrice);
|
|
104987
|
-
if (!Number.isFinite(sizeFloat) || sizeFloat === 0) {
|
|
104988
|
-
return 0;
|
|
104989
|
-
}
|
|
104990
|
-
const notional = Math.abs(sizeFloat * (Number.isFinite(entryPriceFloat) ? entryPriceFloat : 0));
|
|
104991
|
-
let unitsUsed = roundPromptNonnegativeUnits(notional / unitSize);
|
|
104992
|
-
if (unitsUsed < 1 && notional > unitSize * PROMPT_PARTIAL_UNIT_ROUND_UP_FRACTION) {
|
|
104993
|
-
unitsUsed = 1;
|
|
104994
|
-
}
|
|
104995
|
-
if (unitsUsed < 1) {
|
|
104996
|
-
unitsUsed = 0;
|
|
104997
|
-
}
|
|
104998
|
-
return Math.max(0, unitsUsed);
|
|
104999
|
-
};
|
|
104992
|
+
capacityUnitsUsedForPosition = (size, entryPrice, unitSize) => unitsFromPosition(size, entryPrice, unitSize);
|
|
105000
104993
|
openCapacityRoom = (positions, limits) => {
|
|
105001
104994
|
let globalUnits = 0;
|
|
105002
104995
|
const exchangeUsage = /* @__PURE__ */ new Map();
|
|
@@ -106000,7 +105993,7 @@ var init_native_protection_device = __esm({
|
|
|
106000
105993
|
...member.pendingModify ? { pendingClientOrderId: member.pendingModify.clientOrderId } : {}
|
|
106001
105994
|
}
|
|
106002
105995
|
});
|
|
106003
|
-
warningKey = (member, fill) => member
|
|
105996
|
+
warningKey = (member, fill) => member == null ? fill ?? void 0 : member.noticeKey ?? (member.orderId != null ? String(member.orderId) : member.clientOrderId);
|
|
106004
105997
|
moveMade = (member) => {
|
|
106005
105998
|
const { pendingMove: _made, ...rest } = member;
|
|
106006
105999
|
return rest;
|
|
@@ -106838,7 +106831,7 @@ var init_native_protection_device = __esm({
|
|
|
106838
106831
|
sentAtMs,
|
|
106839
106832
|
replacedOnce: existing?.replacedOnce ?? false,
|
|
106840
106833
|
...io.vtxSigns ? {} : { unlandedPlaces: unlandedPlaces + 1 },
|
|
106841
|
-
...
|
|
106834
|
+
...noticeKey ? { noticeKey } : {}
|
|
106842
106835
|
};
|
|
106843
106836
|
const before = [...members];
|
|
106844
106837
|
if (index >= 0) members[index] = journaled;
|
|
@@ -107086,7 +107079,7 @@ var init_native_protection_device = __esm({
|
|
|
107086
107079
|
});
|
|
107087
107080
|
if (cover.decision !== "place") return args.member;
|
|
107088
107081
|
const unlandedPlaces = args.member.unlandedPlaces ?? 0;
|
|
107089
|
-
const noticeKey = warningKey(args.member,
|
|
107082
|
+
const noticeKey = warningKey(args.member, null);
|
|
107090
107083
|
if (unlandedPlaces >= MAX_PLACE_ATTEMPTS) {
|
|
107091
107084
|
reports.push({
|
|
107092
107085
|
order_id: null,
|
|
@@ -107113,7 +107106,7 @@ var init_native_protection_device = __esm({
|
|
|
107113
107106
|
sentAtMs,
|
|
107114
107107
|
replacedOnce: args.replacedOnce,
|
|
107115
107108
|
...io.vtxSigns ? {} : { unlandedPlaces: unlandedPlaces + 1 },
|
|
107116
|
-
...
|
|
107109
|
+
...noticeKey ? { noticeKey } : {}
|
|
107117
107110
|
};
|
|
107118
107111
|
if (!io.persist({
|
|
107119
107112
|
...record6,
|
|
@@ -107190,7 +107183,7 @@ var init_native_protection_device = __esm({
|
|
|
107190
107183
|
retiredReason
|
|
107191
107184
|
} : placedOrderId != null ? { ...landed, orderId: placedOrderId } : journaled;
|
|
107192
107185
|
reports.push({
|
|
107193
|
-
// A warning names its stop by
|
|
107186
|
+
// A warning names its stop by its streak's key alone (noticeKey).
|
|
107194
107187
|
order_id: refused || placed.orderId == null ? null : String(placed.orderId),
|
|
107195
107188
|
symbol: symbol2,
|
|
107196
107189
|
action: actionOf(args.member.kind),
|
|
@@ -114177,24 +114170,6 @@ var init_runtime_execution = __esm({
|
|
|
114177
114170
|
};
|
|
114178
114171
|
}
|
|
114179
114172
|
}
|
|
114180
|
-
if (!targetResolution.closeOpposingPosition && classified.reduceOnly !== true && !await serverEntryLeverageAlreadyHeld(input)) {
|
|
114181
|
-
throwIfAborted(input.signal);
|
|
114182
|
-
await executeClientLeverageUpdate({
|
|
114183
|
-
profileId: input.profileId,
|
|
114184
|
-
runtimeSessionId: input.sessionId || "__missing_runtime_session__",
|
|
114185
|
-
runtimeLeaseToken: input.runtimeLeaseToken,
|
|
114186
|
-
runtimeDeviceId: input.runtimeDeviceId,
|
|
114187
|
-
schedulerInstanceId: input.schedulerInstanceId,
|
|
114188
|
-
walletAddress: input.executionContext.walletAddress,
|
|
114189
|
-
config: input.config ?? null,
|
|
114190
|
-
signal: input.signal,
|
|
114191
|
-
signingKey: input.signingKey,
|
|
114192
|
-
symbol: input.executionContext.symbol,
|
|
114193
|
-
leverage: input.executionContext.leverage,
|
|
114194
|
-
isCross: input.executionContext.marginMode !== "isolated"
|
|
114195
|
-
});
|
|
114196
|
-
throwIfAborted(input.signal);
|
|
114197
|
-
}
|
|
114198
114173
|
if (classified.intent === "close") {
|
|
114199
114174
|
throwIfAborted(input.signal);
|
|
114200
114175
|
const closeMutationId = await decisionLegMutationId("close");
|
|
@@ -114407,21 +114382,6 @@ var init_runtime_execution = __esm({
|
|
|
114407
114382
|
);
|
|
114408
114383
|
await waitForFlipCloseFreshness(input);
|
|
114409
114384
|
throwIfAborted(input.signal);
|
|
114410
|
-
await executeClientLeverageUpdate({
|
|
114411
|
-
profileId: input.profileId,
|
|
114412
|
-
runtimeSessionId: input.sessionId || "__missing_runtime_session__",
|
|
114413
|
-
runtimeLeaseToken: input.runtimeLeaseToken,
|
|
114414
|
-
runtimeDeviceId: input.runtimeDeviceId,
|
|
114415
|
-
schedulerInstanceId: input.schedulerInstanceId,
|
|
114416
|
-
walletAddress: input.executionContext.walletAddress,
|
|
114417
|
-
config: input.config ?? null,
|
|
114418
|
-
signal: input.signal,
|
|
114419
|
-
signingKey: input.signingKey,
|
|
114420
|
-
symbol: input.executionContext.symbol,
|
|
114421
|
-
leverage: input.executionContext.leverage,
|
|
114422
|
-
isCross: input.executionContext.marginMode !== "isolated"
|
|
114423
|
-
});
|
|
114424
|
-
throwIfAborted(input.signal);
|
|
114425
114385
|
if (serverOrder) executionPrice = await readServerOrderMarkPrice(input);
|
|
114426
114386
|
}
|
|
114427
114387
|
const actualUnits = targetResolution.orderUnits;
|
|
@@ -114462,41 +114422,6 @@ var init_runtime_execution = __esm({
|
|
|
114462
114422
|
executionSnapshotCapturedAt
|
|
114463
114423
|
};
|
|
114464
114424
|
}
|
|
114465
|
-
const entryRequiresFlatAbsenceProof = Number.isFinite(currentPositionSize) && currentPositionSize === 0 || targetResolution.closeOpposingPosition;
|
|
114466
|
-
if (entryRequiresFlatAbsenceProof) {
|
|
114467
|
-
const finalProtectionObservation = await verifyNoLiveClientProtectiveTriggers(
|
|
114468
|
-
input,
|
|
114469
|
-
classified.side
|
|
114470
|
-
);
|
|
114471
|
-
executionReports.push(...finalProtectionObservation.reports);
|
|
114472
|
-
if (finalProtectionObservation.blocksEntry) {
|
|
114473
|
-
const blockedAfterConfirmedClose = targetResolution.closeOpposingPosition;
|
|
114474
|
-
executionReports.push({
|
|
114475
|
-
order_id: null,
|
|
114476
|
-
symbol: input.executionContext.symbol,
|
|
114477
|
-
action: blockedAfterConfirmedClose ? "FLIP_OPEN" : "PROTECTIVE_RECONCILIATION",
|
|
114478
|
-
status: "blocked",
|
|
114479
|
-
execution_metadata: {
|
|
114480
|
-
reason_code: "protective_reconciliation_unresolved",
|
|
114481
|
-
execution_stage: "entry_dispatch_precondition"
|
|
114482
|
-
}
|
|
114483
|
-
});
|
|
114484
|
-
return {
|
|
114485
|
-
status: blockedAfterConfirmedClose ? "executed" : "skipped",
|
|
114486
|
-
intent: classified.intent,
|
|
114487
|
-
side: classified.side,
|
|
114488
|
-
reduceOnly: classified.reduceOnly,
|
|
114489
|
-
requestedUnits: classified.requestedUnits,
|
|
114490
|
-
targetSignedUnits: classified.targetSignedUnits,
|
|
114491
|
-
executedSizeAsset: blockedAfterConfirmedClose ? Math.abs(currentPositionSize) : 0,
|
|
114492
|
-
executionReports,
|
|
114493
|
-
message: blockedAfterConfirmedClose ? "Closed the opposing position, but blocked the new flip entry because a live protective trigger appeared before dispatch." : "Blocked new exposure because a live protective trigger appeared before dispatch.",
|
|
114494
|
-
reasonCode: "protective_reconciliation_unresolved",
|
|
114495
|
-
executionSnapshotId,
|
|
114496
|
-
executionSnapshotCapturedAt
|
|
114497
|
-
};
|
|
114498
|
-
}
|
|
114499
|
-
}
|
|
114500
114425
|
const shouldAttachSlTp = input.executionContext.tpSlEnabled === true && classified.reduceOnly !== true && (classified.intent === "open" || classified.intent === "add" || classified.intent === "flip") && isConfiguredProtectionRequested(input);
|
|
114501
114426
|
let pendingProtectiveGroup = null;
|
|
114502
114427
|
let persistedProtectiveGroupSet = null;
|
|
@@ -114540,6 +114465,7 @@ var init_runtime_execution = __esm({
|
|
|
114540
114465
|
if (entryMutationId) entryClientOrderId = clientOrderIdForMutation(entryMutationId);
|
|
114541
114466
|
let nativeOpen = null;
|
|
114542
114467
|
let nativeAddRecord = null;
|
|
114468
|
+
let nativeJournal = null;
|
|
114543
114469
|
let nativePendingLotKey = null;
|
|
114544
114470
|
const nativeProfileId = String(input.profileId).trim();
|
|
114545
114471
|
const nativeBlocked = (reasonCode, message) => ({
|
|
@@ -114590,12 +114516,7 @@ var init_runtime_execution = __esm({
|
|
|
114590
114516
|
sizeHint: sizeAsset,
|
|
114591
114517
|
nowMs: journaledAt
|
|
114592
114518
|
}), { clientOrderId: entryClientOrderId, nowMs: journaledAt });
|
|
114593
|
-
if (nativeAddRecord !== existingNative.record
|
|
114594
|
-
return nativeBlocked(
|
|
114595
|
-
"protective_lifecycle_persistence_failed",
|
|
114596
|
-
"Blocked new exposure because its position protection could not be stored."
|
|
114597
|
-
);
|
|
114598
|
-
}
|
|
114519
|
+
if (nativeAddRecord !== existingNative.record) nativeJournal = nativeAddRecord;
|
|
114599
114520
|
}
|
|
114600
114521
|
} else if (existingNative.kind === "record") {
|
|
114601
114522
|
return nativeBlocked(
|
|
@@ -114624,12 +114545,7 @@ var init_runtime_execution = __esm({
|
|
|
114624
114545
|
newMutationId: () => createRuntimeId().toLowerCase(),
|
|
114625
114546
|
nowMs: Date.now()
|
|
114626
114547
|
});
|
|
114627
|
-
|
|
114628
|
-
return nativeBlocked(
|
|
114629
|
-
"protective_lifecycle_persistence_failed",
|
|
114630
|
-
"Blocked new exposure because its position protection could not be stored."
|
|
114631
|
-
);
|
|
114632
|
-
}
|
|
114548
|
+
nativeJournal = nativeOpen?.record ?? null;
|
|
114633
114549
|
}
|
|
114634
114550
|
}
|
|
114635
114551
|
const nativeProtection = nativeOpen != null || nativeAddRecord != null;
|
|
@@ -114640,6 +114556,65 @@ var init_runtime_execution = __esm({
|
|
|
114640
114556
|
entrySize: sizeAsset,
|
|
114641
114557
|
positionBefore: targetResolution.closeOpposingPosition ? 0 : currentPositionSize
|
|
114642
114558
|
}) : null;
|
|
114559
|
+
if (classified.reduceOnly !== true && (targetResolution.closeOpposingPosition || !await serverEntryLeverageAlreadyHeld(input))) {
|
|
114560
|
+
throwIfAborted(input.signal);
|
|
114561
|
+
await executeClientLeverageUpdate({
|
|
114562
|
+
profileId: input.profileId,
|
|
114563
|
+
runtimeSessionId: input.sessionId || "__missing_runtime_session__",
|
|
114564
|
+
runtimeLeaseToken: input.runtimeLeaseToken,
|
|
114565
|
+
runtimeDeviceId: input.runtimeDeviceId,
|
|
114566
|
+
schedulerInstanceId: input.schedulerInstanceId,
|
|
114567
|
+
walletAddress: input.executionContext.walletAddress,
|
|
114568
|
+
config: input.config ?? null,
|
|
114569
|
+
signal: input.signal,
|
|
114570
|
+
signingKey: input.signingKey,
|
|
114571
|
+
symbol: input.executionContext.symbol,
|
|
114572
|
+
leverage: input.executionContext.leverage,
|
|
114573
|
+
isCross: input.executionContext.marginMode !== "isolated"
|
|
114574
|
+
});
|
|
114575
|
+
throwIfAborted(input.signal);
|
|
114576
|
+
}
|
|
114577
|
+
const entryRequiresFlatAbsenceProof = Number.isFinite(currentPositionSize) && currentPositionSize === 0 || targetResolution.closeOpposingPosition;
|
|
114578
|
+
if (entryRequiresFlatAbsenceProof) {
|
|
114579
|
+
const finalProtectionObservation = await verifyNoLiveClientProtectiveTriggers(
|
|
114580
|
+
input,
|
|
114581
|
+
classified.side
|
|
114582
|
+
);
|
|
114583
|
+
executionReports.push(...finalProtectionObservation.reports);
|
|
114584
|
+
if (finalProtectionObservation.blocksEntry) {
|
|
114585
|
+
const blockedAfterConfirmedClose = targetResolution.closeOpposingPosition;
|
|
114586
|
+
executionReports.push({
|
|
114587
|
+
order_id: null,
|
|
114588
|
+
symbol: input.executionContext.symbol,
|
|
114589
|
+
action: blockedAfterConfirmedClose ? "FLIP_OPEN" : "PROTECTIVE_RECONCILIATION",
|
|
114590
|
+
status: "blocked",
|
|
114591
|
+
execution_metadata: {
|
|
114592
|
+
reason_code: "protective_reconciliation_unresolved",
|
|
114593
|
+
execution_stage: "entry_dispatch_precondition"
|
|
114594
|
+
}
|
|
114595
|
+
});
|
|
114596
|
+
return {
|
|
114597
|
+
status: blockedAfterConfirmedClose ? "executed" : "skipped",
|
|
114598
|
+
intent: classified.intent,
|
|
114599
|
+
side: classified.side,
|
|
114600
|
+
reduceOnly: classified.reduceOnly,
|
|
114601
|
+
requestedUnits: classified.requestedUnits,
|
|
114602
|
+
targetSignedUnits: classified.targetSignedUnits,
|
|
114603
|
+
executedSizeAsset: blockedAfterConfirmedClose ? Math.abs(currentPositionSize) : 0,
|
|
114604
|
+
executionReports,
|
|
114605
|
+
message: blockedAfterConfirmedClose ? "Closed the opposing position, but blocked the new flip entry because a live protective trigger appeared before dispatch." : "Blocked new exposure because a live protective trigger appeared before dispatch.",
|
|
114606
|
+
reasonCode: "protective_reconciliation_unresolved",
|
|
114607
|
+
executionSnapshotId,
|
|
114608
|
+
executionSnapshotCapturedAt
|
|
114609
|
+
};
|
|
114610
|
+
}
|
|
114611
|
+
}
|
|
114612
|
+
if (nativeJournal != null && !writeNativeProtectionRecord(nativeProfileId, input.executionContext.symbol, nativeJournal)) {
|
|
114613
|
+
return nativeBlocked(
|
|
114614
|
+
"protective_lifecycle_persistence_failed",
|
|
114615
|
+
"Blocked new exposure because its position protection could not be stored."
|
|
114616
|
+
);
|
|
114617
|
+
}
|
|
114643
114618
|
if (localProtection && !nativeProtection) {
|
|
114644
114619
|
entryMutationId ??= createRuntimeId().toLowerCase();
|
|
114645
114620
|
entryClientOrderId = clientOrderIdForMutation(entryMutationId);
|
|
@@ -116324,7 +116299,7 @@ var init_browser_observability = __esm({
|
|
|
116324
116299
|
init_define_VTX_GROK_POLICY();
|
|
116325
116300
|
init_define_VTX_PI_MODEL_POLICY();
|
|
116326
116301
|
init_runtime_policy_generated2();
|
|
116327
|
-
CLIENT_SOURCE_VERSION = typeof process !== "undefined" && true && "
|
|
116302
|
+
CLIENT_SOURCE_VERSION = typeof process !== "undefined" && true && "57c610f1de6ec98e0b2464bd703c7f3334c98d6c".trim() && "57c610f1de6ec98e0b2464bd703c7f3334c98d6c".trim() !== "unstamped" ? "57c610f1de6ec98e0b2464bd703c7f3334c98d6c".trim() : null;
|
|
116328
116303
|
listenersInstalled = false;
|
|
116329
116304
|
state = {
|
|
116330
116305
|
loadedAtMs: Date.now(),
|
|
@@ -129127,9 +129102,9 @@ var init_local_analysis = __esm({
|
|
|
129127
129102
|
RUNTIME_SOURCE_DEFINITION_VERSION = "runtime-source-v1";
|
|
129128
129103
|
DECISION_INPUT_DEFINITION_VERSION = "decision-input-v1";
|
|
129129
129104
|
CONTEXT_ENVELOPE_DEFINITION_VERSION = "context-envelope-v2.1";
|
|
129130
|
-
CLIENT_RUNTIME_SOURCE_VERSION = typeof process !== "undefined" && true && "
|
|
129131
|
-
"
|
|
129132
|
-
) ? "
|
|
129105
|
+
CLIENT_RUNTIME_SOURCE_VERSION = typeof process !== "undefined" && true && "57c610f1de6ec98e0b2464bd703c7f3334c98d6c".trim() && !["unknown", "unstamped", "development"].includes(
|
|
129106
|
+
"57c610f1de6ec98e0b2464bd703c7f3334c98d6c".trim().toLowerCase()
|
|
129107
|
+
) ? "57c610f1de6ec98e0b2464bd703c7f3334c98d6c".trim() : null;
|
|
129133
129108
|
CLIENT_MAIN_PROMPT_RENDERER = "client_runtime.buildLocalRuntimePromptArtifacts:v1";
|
|
129134
129109
|
CLIENT_REVIEW_PROMPT_RENDERER = "client_runtime.review_prompt_assembly:v1";
|
|
129135
129110
|
resolveEffectivePromptRuntimeProvenance = (input) => ({
|
|
@@ -134303,7 +134278,7 @@ ${indentText.repeat(depth)}${brackets[1]}`;
|
|
|
134303
134278
|
});
|
|
134304
134279
|
|
|
134305
134280
|
// lib/runtime/copy-review-prompt.ts
|
|
134306
|
-
var COPY_REVIEW_PRIMARY_MODEL, metadataOf, copyReviewProposedDecision, inferIntentFromPositionDelta, pythonFloatOf, copyReviewDestinationIntent, copyReviewProposedTrade, text, copyReviewPromptContext, copyReviewPrimaryReasoning, copyReviewPromptSymbols, copyReviewPromptSize, promptJsonValue, renderCopyReviewPrompts;
|
|
134281
|
+
var COPY_REVIEW_PRIMARY_MODEL, COPY_TRADE_PROPOSAL, COPY_POSITION_REPAIR, metadataOf, copyReviewIsGapRepair, copyReviewProposedDecision, inferIntentFromPositionDelta, pythonFloatOf, copyReviewDestinationIntent, copyReviewObserved, copyReviewProposedTrade, text, gapRepairTemplates, copyReviewPromptContext, copyReviewPrimaryReasoning, copyReviewPromptSymbols, copyReviewPromptSize, promptJsonValue, renderCopyReviewPrompts;
|
|
134307
134282
|
var init_copy_review_prompt = __esm({
|
|
134308
134283
|
"lib/runtime/copy-review-prompt.ts"() {
|
|
134309
134284
|
"use strict";
|
|
@@ -134321,7 +134296,10 @@ var init_copy_review_prompt = __esm({
|
|
|
134321
134296
|
init_python_json();
|
|
134322
134297
|
init_runtime_error_reason_rules();
|
|
134323
134298
|
COPY_REVIEW_PRIMARY_MODEL = "Copy Trading";
|
|
134299
|
+
COPY_TRADE_PROPOSAL = "copy_trade_proposal";
|
|
134300
|
+
COPY_POSITION_REPAIR = "copy_position_repair";
|
|
134324
134301
|
metadataOf = (event) => event.sanitized_metadata && typeof event.sanitized_metadata === "object" && !Array.isArray(event.sanitized_metadata) ? event.sanitized_metadata : {};
|
|
134302
|
+
copyReviewIsGapRepair = (event) => metadataOf(event).source_fill_gap_reconciliation === true;
|
|
134325
134303
|
copyReviewProposedDecision = (event) => {
|
|
134326
134304
|
const side = String(event.destination_side || event.source_side || "").trim().toLowerCase();
|
|
134327
134305
|
if (side === "buy") return "BUY";
|
|
@@ -134352,16 +134330,13 @@ var init_copy_review_prompt = __esm({
|
|
|
134352
134330
|
const delta = String(event.destination_side || "").trim().toLowerCase() === "buy" ? size : -size;
|
|
134353
134331
|
return inferIntentFromPositionDelta(previous, previous + delta);
|
|
134354
134332
|
};
|
|
134355
|
-
|
|
134356
|
-
|
|
134357
|
-
|
|
134358
|
-
|
|
134359
|
-
|
|
134360
|
-
|
|
134361
|
-
|
|
134362
|
-
},
|
|
134363
|
-
symbol: event.symbol,
|
|
134364
|
-
decision: copyReviewProposedDecision(event),
|
|
134333
|
+
copyReviewObserved = (event) => copyReviewIsGapRepair(event) ? {
|
|
134334
|
+
source_position: {
|
|
134335
|
+
side: event.source_size ? event.source_side : null,
|
|
134336
|
+
size: pythonFloat(event.source_size),
|
|
134337
|
+
time: event.source_time
|
|
134338
|
+
}
|
|
134339
|
+
} : {
|
|
134365
134340
|
source_fill: {
|
|
134366
134341
|
side: event.source_side,
|
|
134367
134342
|
size: pythonFloat(event.source_size),
|
|
@@ -134370,7 +134345,19 @@ var init_copy_review_prompt = __esm({
|
|
|
134370
134345
|
oid: event.source_oid,
|
|
134371
134346
|
hash: event.source_hash,
|
|
134372
134347
|
fingerprint: event.source_event_fingerprint
|
|
134348
|
+
}
|
|
134349
|
+
};
|
|
134350
|
+
copyReviewProposedTrade = (event, source) => ({
|
|
134351
|
+
type: copyReviewIsGapRepair(event) ? COPY_POSITION_REPAIR : COPY_TRADE_PROPOSAL,
|
|
134352
|
+
source: {
|
|
134353
|
+
type: source.source_type,
|
|
134354
|
+
identifier: source.source_identifier,
|
|
134355
|
+
display_name: source.source_display_name,
|
|
134356
|
+
wallet_address: source.source_wallet_address
|
|
134373
134357
|
},
|
|
134358
|
+
symbol: event.symbol,
|
|
134359
|
+
decision: copyReviewProposedDecision(event),
|
|
134360
|
+
...copyReviewObserved(event),
|
|
134374
134361
|
destination_order: {
|
|
134375
134362
|
side: event.destination_side,
|
|
134376
134363
|
size: pythonFloat(event.destination_size),
|
|
@@ -134387,13 +134374,22 @@ var init_copy_review_prompt = __esm({
|
|
|
134387
134374
|
}
|
|
134388
134375
|
});
|
|
134389
134376
|
text = (value) => ({ kind: "str", value });
|
|
134390
|
-
|
|
134391
|
-
|
|
134392
|
-
|
|
134393
|
-
|
|
134394
|
-
|
|
134395
|
-
}
|
|
134396
|
-
|
|
134377
|
+
gapRepairTemplates = (templates) => {
|
|
134378
|
+
if (!templates.gap_repair) {
|
|
134379
|
+
throw new RuntimeReasonError("Missing prompts config: copy_trading_review.gap_repair", "runtime_config_missing");
|
|
134380
|
+
}
|
|
134381
|
+
return templates.gap_repair;
|
|
134382
|
+
};
|
|
134383
|
+
copyReviewPromptContext = (proposedTrade, templates) => {
|
|
134384
|
+
const observed = proposedTrade.type === COPY_POSITION_REPAIR ? gapRepairTemplates(templates) : templates.source_fill;
|
|
134385
|
+
return formatGuidanceTemplate(templates.context, {
|
|
134386
|
+
observed_event: text(observed.observed_event),
|
|
134387
|
+
proposal_kind: text(observed.proposal_kind),
|
|
134388
|
+
observed_source: text(observed.observed_source),
|
|
134389
|
+
copy_trade_proposal_json: text(pythonJsonDumps(proposedTrade, { sortKeys: true }))
|
|
134390
|
+
});
|
|
134391
|
+
};
|
|
134392
|
+
copyReviewPrimaryReasoning = (proposedTrade, templates) => formatGuidanceTemplate(proposedTrade.type === COPY_POSITION_REPAIR ? gapRepairTemplates(templates).primary_reasoning : templates.primary_reasoning, {
|
|
134397
134393
|
copy_trade_proposal_json: text(pythonJsonDumps(
|
|
134398
134394
|
{ copy_trade_proposal: proposedTrade },
|
|
134399
134395
|
{ sortKeys: true, indent: JSON_INDENT_SPACES }
|