@symerian/symi 2.6.18 → 2.6.20
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{agents-BEWe0DLk.js → agents-p4UQ5QFH.js} +4 -4
- package/dist/{agents.config-C76tSodQ.js → agents.config-D7aaLeuW.js} +1 -1
- package/dist/{agents.config-DxYp0zoG.js → agents.config-DDFFWWKf.js} +1 -1
- package/dist/{audio-preflight-CPBOQV4I.js → audio-preflight-C40mKAp7.js} +4 -4
- package/dist/{audio-preflight-BVaaZWkg.js → audio-preflight-DHTaS5U1.js} +4 -4
- package/dist/{auth-choice-EwOsmB_b.js → auth-choice-BXoSDb_9.js} +1 -1
- package/dist/{auth-choice-DrYJKB8t.js → auth-choice-DeYYQOns.js} +1 -1
- package/dist/{banner-CJyz7ro7.js → banner-_OS2xmMF.js} +1 -1
- package/dist/build-info.json +3 -3
- package/dist/bundled/boot-md/handler.js +6 -6
- package/dist/bundled/session-memory/handler.js +6 -6
- package/dist/canvas-host/a2ui/.bundle.hash +1 -1
- package/dist/{channel-options-D0NlH6Qb.js → channel-options-CbZIcMGC.js} +1 -1
- package/dist/{channel-options-tWyK68mk.js → channel-options-D9UfDD9j.js} +1 -1
- package/dist/{channel-web-PvWA2ukO.js → channel-web-L1DDfHzk.js} +1 -1
- package/dist/{channels-cli-B50IZ27a.js → channels-cli-4GM5fqNa.js} +4 -4
- package/dist/{channels-cli-BAXmmIxX.js → channels-cli-CXa7mgR9.js} +4 -4
- package/dist/{chrome-DkaXoP36.js → chrome-CDJYxX5a.js} +5 -5
- package/dist/{chrome-D2SKJnR7.js → chrome-DYZwl5Gv.js} +5 -5
- package/dist/{cli-CPKEDe6C.js → cli-B-wwaV4Y.js} +1 -1
- package/dist/{cli-BW4igUHG.js → cli-C8QNJgG8.js} +1 -1
- package/dist/{command-registry-DV-FTDz1.js → command-registry-DXdP9h9E.js} +9 -9
- package/dist/{completion-cli-BqzmOZg7.js → completion-cli-BqsjyQ-I.js} +1 -1
- package/dist/{completion-cli-Cbr2b-rs.js → completion-cli-hQmnRt3u.js} +2 -2
- package/dist/{config-cli-DBjlHFwQ.js → config-cli-DvqG-E-3.js} +1 -1
- package/dist/{config-cli-D5QqQi4y.js → config-cli-i08FMBVe.js} +1 -1
- package/dist/{configure-DbTH7t_m.js → configure-Cxa5EWql.js} +3 -3
- package/dist/{configure-B4VAN-WJ.js → configure-DKc61kbD.js} +3 -3
- package/dist/control-ui/js/models.js +2 -2
- package/dist/{deliver-C-37cZUe.js → deliver-BH0l3UKW.js} +1 -1
- package/dist/{deliver-C46-vyqg.js → deliver-dODxSv3b.js} +1 -1
- package/dist/{doctor-completion-v8uq--hy.js → doctor-completion-C9CcD8pq.js} +1 -1
- package/dist/{doctor-completion-Do0e0eZE.js → doctor-completion-Dq3zKXdh.js} +1 -1
- package/dist/entry.js +1 -1
- package/dist/extensionAPI.js +6 -6
- package/dist/{gateway-cli-BkOe3JQ_.js → gateway-cli-CxzaL9HR.js} +9 -9
- package/dist/{gateway-cli-BAiFaCGg.js → gateway-cli-D4JEZSb9.js} +9 -9
- package/dist/{glass-ui-ws-DFAQWoiK.js → glass-ui-ws-D4Dqbeuw.js} +7 -7
- package/dist/{glass-ui-ws-B8V4Slwd.js → glass-ui-ws-KXmUDlRi.js} +7 -7
- package/dist/{health-8bTzq722.js → health-8DlAtuas.js} +1 -1
- package/dist/{health-B3pwVJ_N.js → health-B8uQe9CP.js} +1 -1
- package/dist/{hooks-cli-D1Yhb7y5.js → hooks-cli-B7qROHCQ.js} +2 -2
- package/dist/{hooks-cli-Vqz0A84F.js → hooks-cli-BAM_LcfL.js} +2 -2
- package/dist/{image-DcpMiprB.js → image-CHzdaNJ4.js} +1 -1
- package/dist/{image-CuzFLQWC.js → image-CXu8W39c.js} +1 -1
- package/dist/index.js +6 -6
- package/dist/llm-slug-generator.js +6 -6
- package/dist/{models-cli-BrDyN5KN.js → models-cli-BFkooNFz.js} +3 -3
- package/dist/{models-cli-EP_U-tWq.js → models-cli-DwXzh6z6.js} +2 -2
- package/dist/{models-BQOnDzS9.js → models-xTtbDVki.js} +2 -2
- package/dist/{onboard-BZNptre7.js → onboard-8nBHoLPU.js} +2 -2
- package/dist/{onboard-DM0BChC6.js → onboard-D9GAiRIO.js} +2 -2
- package/dist/{onboard-channels-C6dLmiYY.js → onboard-channels-G9yKy7Ui.js} +1 -1
- package/dist/{onboard-channels-4jeB30Ty.js → onboard-channels-pSqXeoTx.js} +1 -1
- package/dist/{onboarding-DQJQ-k9A.js → onboarding-C8K3ipt8.js} +3 -3
- package/dist/{onboarding-CDdiYaCC.js → onboarding-Wha0uWD5.js} +3 -3
- package/dist/{onboarding.finalize-Bmd5TpyH.js → onboarding.finalize-CC_hOdGz.js} +5 -5
- package/dist/{onboarding.finalize-B82xL12C.js → onboarding.finalize-CPqgV8GM.js} +6 -6
- package/dist/{pi-embedded-Dtmwbds4.js → pi-embedded-9mHDXoCz.js} +67 -242
- package/dist/{pi-embedded-helpers-B8kqLWns.js → pi-embedded-helpers-lgx_U5KS.js} +4 -4
- package/dist/{pi-embedded-helpers-CfqDGQ9J.js → pi-embedded-helpers-pubKo8HQ.js} +4 -4
- package/dist/{plugin-registry-D7ylmzDw.js → plugin-registry-8Diq8Bpt.js} +1 -1
- package/dist/{plugin-registry-DG_WWCr9.js → plugin-registry-8qRWG0zs.js} +1 -1
- package/dist/plugin-sdk/{channel-web-_efq-pM9.js → channel-web-CVpBWp5N.js} +1 -1
- package/dist/plugin-sdk/index.js +2 -2
- package/dist/plugin-sdk/{reply-D2W7XCcz.js → reply-qc0sy-0a.js} +53 -228
- package/dist/plugin-sdk/{web-CmT3D7vj.js → web-BRiKjFQe.js} +2 -2
- package/dist/{plugins-cli-CMCwFRL9.js → plugins-cli-BsGLF2yJ.js} +2 -2
- package/dist/{plugins-cli-BUFrZlyR.js → plugins-cli-DSVlBtQR.js} +2 -2
- package/dist/{program-BdVazL5L.js → program-DXDaxm5S.js} +7 -7
- package/dist/{program-context-DZNOBe-u.js → program-context-0iUzRT8G.js} +17 -17
- package/dist/{prompt-select-styled-XyOMjPBV.js → prompt-select-styled-B9Vx6n4u.js} +4 -4
- package/dist/{prompt-select-styled-uLoOKbdZ.js → prompt-select-styled-BTsilnfC.js} +4 -4
- package/dist/{provider-auth-helpers-CWf7gdZW.js → provider-auth-helpers-DEqcL4cK.js} +1 -1
- package/dist/{provider-auth-helpers-D01YbcHZ.js → provider-auth-helpers-Ta9EaBo3.js} +1 -1
- package/dist/{push-apns-B-zVLcnN.js → push-apns-_7NSUBR2.js} +1 -1
- package/dist/{push-apns-B2bxLda8.js → push-apns-ivn-KjGr.js} +1 -1
- package/dist/{pw-ai-m0mj2KWK.js → pw-ai-B5asscAD.js} +1 -1
- package/dist/{pw-ai-1htA-NnS.js → pw-ai-De-KR9_s.js} +1 -1
- package/dist/{register.agent-BYZEiWk1.js → register.agent-BKM1SK6p.js} +6 -6
- package/dist/{register.agent-BF6_rPdM.js → register.agent-BR0TqnOO.js} +5 -5
- package/dist/{register.configure-4lt1A0NF.js → register.configure-B5vBXQB9.js} +6 -6
- package/dist/{register.configure-B0g-yfDR.js → register.configure-BIiuwamc.js} +6 -6
- package/dist/{register.maintenance-DXZyjFYw.js → register.maintenance-CQMV0_xM.js} +8 -8
- package/dist/{register.maintenance-WBpgdygw.js → register.maintenance-CzpoyDDR.js} +7 -7
- package/dist/{register.message-BHRBK4eH.js → register.message-DCx7M65y.js} +2 -2
- package/dist/{register.message-CuoXu-_e.js → register.message-Dg0DcwTW.js} +2 -2
- package/dist/{register.onboard-D-P9Wc41.js → register.onboard-BG0dlbOM.js} +4 -4
- package/dist/{register.onboard-D5-L8JYT.js → register.onboard-BWoUYNe1.js} +4 -4
- package/dist/{register.setup-D7NNQwXc.js → register.setup-BlhLiXjH.js} +4 -4
- package/dist/{register.setup-BzmkdzSO.js → register.setup-BsA9V9Zh.js} +4 -4
- package/dist/{register.status-health-sessions-BIwZhPIZ.js → register.status-health-sessions-DMBqK6OA.js} +3 -3
- package/dist/{register.status-health-sessions-DiCr003h.js → register.status-health-sessions-DnPQ6EbH.js} +3 -3
- package/dist/{register.subclis-BxbyrMu1.js → register.subclis-nswajsbE.js} +9 -9
- package/dist/{reply-BgOOEOPX.js → reply-DU025-Dw.js} +53 -228
- package/dist/{run-main-BW5eFi2Y.js → run-main-DjiZHV0H.js} +14 -14
- package/dist/{runner-BcQ0sF9T.js → runner-DUBExAb5.js} +1 -1
- package/dist/{runner-CU9l0uJh.js → runner-WAG0M5s9.js} +1 -1
- package/dist/{server-methods-D-Gd1kMo.js → server-methods-BefrlQc3.js} +7 -7
- package/dist/{server-methods-Dp8iuEko.js → server-methods-CrPLWtui.js} +7 -7
- package/dist/{server-node-events-CnjqDQbZ.js → server-node-events-CKYqZ_QS.js} +2 -2
- package/dist/{server-node-events-B2_RCsYi.js → server-node-events-CjsIxKpS.js} +2 -2
- package/dist/{status-CrVk9Tz5.js → status-BWaIkbur.js} +1 -1
- package/dist/{status-CGhoES6L.js → status-DWpakHjS.js} +1 -1
- package/dist/{status-4PSvL6ui.js → status-eergZLRZ.js} +2 -2
- package/dist/{status-kFfqsras.js → status-iuYHrvPw.js} +2 -2
- package/dist/{subagent-registry-M6DQwhYN.js → subagent-registry-C-JJ2VmR.js} +53 -228
- package/dist/{unified-runner-DckayuEM.js → unified-runner-BEC009tx.js} +67 -242
- package/dist/{update-cli-x5YGUm9F.js → update-cli-BEQF9OZ6.js} +7 -7
- package/dist/{update-cli-DCYkskZu.js → update-cli-C1B-X-g-.js} +8 -8
- package/dist/{update-runner-Dmki2xrH.js → update-runner-Dnq8KGjY.js} +1 -1
- package/dist/{update-runner-BIp88-4P.js → update-runner-zv3kaly2.js} +1 -1
- package/dist/{web-1JPHv6du.js → web-B5ciapWd.js} +6 -6
- package/dist/{web-DWSTD7Gy.js → web-BUXU8aHt.js} +1 -1
- package/dist/{web-rShvuTx4.js → web-DLKmJqCG.js} +2 -2
- package/dist/{web-C40boK8U.js → web-Dkz9WSaL.js} +6 -6
- package/package.json +1 -1
- package/skills/self-inspect/SKILL.md +0 -109
|
@@ -3,7 +3,7 @@ import { g as resolveStateDir, r as STATE_DIR, u as resolveGatewayPort, y as res
|
|
|
3
3
|
import { B as theme, C as sleep$1, D as isPlainObject, E as truncateUtf16Safe, F as shouldLogVerbose, J as normalizeLogLevel, L as warn, M as logVerbose, O as danger, S as shortenHomePath, V as getChildLogger, X as resolvePreferredSymiTmpDir, d as isRecord$1, i as clampInt, l as escapeRegExp, m as normalizeE164, t as CONFIG_DIR, w as sliceUtf16Safe, x as shortenHomeInString, y as resolveUserPath } from "./utils-B-0b9bGM.js";
|
|
4
4
|
import { a as normalizeElevatedLevel, c as normalizeUsageDisplay, d as supportsXHighThinking, l as normalizeVerboseLevel, n as formatXHighModelHint, o as normalizeReasoningLevel, s as normalizeThinkLevel, t as formatThinkingLevels, u as resolveResponseUsageMode } from "./thinking-EAliFiVK.js";
|
|
5
5
|
import { C as resolveThreadParentSessionKey, S as parseAgentSessionKey, _ as getSubagentDepth, b as isCronSessionKey, c as normalizeMainKey, d as sanitizeAgentId, h as normalizeAccountId$2, l as resolveAgentIdFromSessionKey, m as DEFAULT_ACCOUNT_ID, o as classifySessionKeyShape, r as buildAgentMainSessionKey, s as normalizeAgentId, t as DEFAULT_AGENT_ID, u as resolveThreadSessionKeys, v as isAcpSessionKey, x as isSubagentSessionKey, y as isCronRunSessionKey } from "./session-key-DCt45XZa.js";
|
|
6
|
-
import {
|
|
6
|
+
import { t as resolveSymiPackageRoot } from "./symi-root-CrGJbkzf.js";
|
|
7
7
|
import { C as createInternalHookEvent, T as triggerInternalHook, _ as clearPluginCommands, b as listPluginCommands, c as normalizeAnyChannelId, f as requireActivePluginRegistry, g as normalizePluginHttpPath, h as createPluginRegistry, l as normalizeChannelId, n as CHAT_CHANNEL_ORDER, p as setActivePluginRegistry, r as DEFAULT_CHAT_CHANNEL, v as executePluginCommand, x as matchPluginCommand, y as getPluginCommandSpecs } from "./registry-Cja8eT7G.js";
|
|
8
8
|
import { d as createNonExitingRuntime, f as defaultRuntime, t as createSubsystemLogger } from "./subsystem-D9vIQve0.js";
|
|
9
9
|
import { a as logError, i as logDebug, n as runExec, o as logInfo, r as spawnWithFallback, s as logWarn, t as runCommandWithTimeout } from "./exec-CWkblSrI.js";
|
|
@@ -22372,30 +22372,6 @@ async function runWithImageModelFallback(params) {
|
|
|
22372
22372
|
//#endregion
|
|
22373
22373
|
//#region src/config/model-profiles-builtin.ts
|
|
22374
22374
|
/**
|
|
22375
|
-
* Starter pack — always-on context for models with tool arg corruption.
|
|
22376
|
-
* ~500 tokens. Prevents the most common failure patterns.
|
|
22377
|
-
* For detailed file modification guides, the self-inspect skill cascades from here.
|
|
22378
|
-
*/
|
|
22379
|
-
const STARTER_PACK = [
|
|
22380
|
-
"",
|
|
22381
|
-
"YOUR FILES (use read tool directly on these paths — NEVER use exec to find or read files):",
|
|
22382
|
-
"- Glass UI CSS: <SYMI_ROOT>/dist/control-ui/css/style.css",
|
|
22383
|
-
"- Glass UI HTML: <SYMI_ROOT>/dist/control-ui/index.html",
|
|
22384
|
-
"- Glass UI JS: <SYMI_ROOT>/dist/control-ui/js/app.js, gateway.js, render.js, models.js, history.js, symipulse.js, debug.js",
|
|
22385
|
-
"- Package: <SYMI_ROOT>/package.json",
|
|
22386
|
-
"- Config: ~/.symi/symi.json | Sessions: ~/.symi/agents/main/sessions/ | Memory: ~/.symi/state/memory/",
|
|
22387
|
-
"- For detailed modification guides, read the self-inspect skill.",
|
|
22388
|
-
"",
|
|
22389
|
-
"TOOL RULES (mandatory):",
|
|
22390
|
-
"- read/write/edit: Always provide the full absolute path directly. NEVER use exec with cat, head, find, grep, or ls to view files.",
|
|
22391
|
-
"- exec/bash: Provide only valid shell syntax. No tags, no tokens, no markup. Spell commands exactly.",
|
|
22392
|
-
"- web_search: Always include query argument. Example: web_search({ query: \"search terms\" })",
|
|
22393
|
-
"- sessions_spawn: Always include task and mode. Example: sessions_spawn({ label: \"name\", mode: \"run\", task: \"description\" })",
|
|
22394
|
-
"",
|
|
22395
|
-
"KNOWN SHELL COMMANDS (use exact spelling):",
|
|
22396
|
-
"awk basename brew cargo cat chmod chown cp curl cut date dd df diff dig dirname docker du echo env find gcc git go grep gunzip gzip head hostname id ifconfig ip java javac journalctl kill killall launchctl less ln locate ls make man mkdir mktemp more mount mv nc netstat nice node nohup npm npx open paste pbcopy pbpaste ping pip pip3 plutil printf ps pwd python python3 readlink realpath rm rmdir rsync ruby scp sed sleep sort ssh stat strings sudo su sw_vers sysctl system_profiler systemctl tail tar tee test top touch tr type uname uniq unzip wc wget which xargs xz yes zip"
|
|
22397
|
-
];
|
|
22398
|
-
/**
|
|
22399
22375
|
* Built-in model profiles. Ordered from most-specific to least-specific so
|
|
22400
22376
|
* that `resolveModelProfile` can return the first match.
|
|
22401
22377
|
*
|
|
@@ -22438,8 +22414,7 @@ const BUILTIN_PROFILES = [
|
|
|
22438
22414
|
"- Do not write 'Verification:', 'Requirements:', 'Status Check:', or 'Everything is correct'.",
|
|
22439
22415
|
"- If you need to verify your work, do so before writing your response, not after.",
|
|
22440
22416
|
"- Send brief progress updates on long tasks so the user knows you are active.",
|
|
22441
|
-
"- When calling tools, provide arguments as clean values only. Never include <|, |>, or XML-like tags in tool argument values. For exec/bash commands, provide only valid shell syntax."
|
|
22442
|
-
...STARTER_PACK
|
|
22417
|
+
"- When calling tools, provide arguments as clean values only. Never include <|, |>, or XML-like tags in tool argument values. For exec/bash commands, provide only valid shell syntax."
|
|
22443
22418
|
],
|
|
22444
22419
|
ui: {
|
|
22445
22420
|
badge: "Local",
|
|
@@ -22447,6 +22422,52 @@ const BUILTIN_PROFILES = [
|
|
|
22447
22422
|
armWatchdogOnSend: true
|
|
22448
22423
|
}
|
|
22449
22424
|
},
|
|
22425
|
+
{
|
|
22426
|
+
match: ["nemotron/"],
|
|
22427
|
+
label: "Nemotron",
|
|
22428
|
+
params: {
|
|
22429
|
+
temperature: 1,
|
|
22430
|
+
top_p: .95,
|
|
22431
|
+
top_k: 64,
|
|
22432
|
+
max_tokens: 4096,
|
|
22433
|
+
stop: ["<end_of_turn>", "<eos>"]
|
|
22434
|
+
},
|
|
22435
|
+
streaming: {
|
|
22436
|
+
deltaThrottleMs: 50,
|
|
22437
|
+
flushOnFinal: true,
|
|
22438
|
+
chunkPattern: "burst"
|
|
22439
|
+
},
|
|
22440
|
+
filters: {
|
|
22441
|
+
stripPatterns: [
|
|
22442
|
+
"<\\|channel>\\w*",
|
|
22443
|
+
"<channel\\|>",
|
|
22444
|
+
"<start_of_turn>(?:model|user)?",
|
|
22445
|
+
"<end_of_turn>",
|
|
22446
|
+
"<\\|(?:fim_prefix|fim_suffix|fim_middle)\\|>",
|
|
22447
|
+
"^\\s*<bos>\\s*"
|
|
22448
|
+
],
|
|
22449
|
+
suppressMonologue: true,
|
|
22450
|
+
hasStructuredThinking: false,
|
|
22451
|
+
validateToolArgs: true
|
|
22452
|
+
},
|
|
22453
|
+
promptAdditions: [
|
|
22454
|
+
"CRITICAL OUTPUT RULES:",
|
|
22455
|
+
"- Your response ends when you have delivered the answer. Do not append anything after.",
|
|
22456
|
+
"- Do not output raw control tokens, channel tags, turn markers, or <|channel>thought syntax.",
|
|
22457
|
+
"- Do not begin any sentence with 'I have addressed' or 'I've reviewed'.",
|
|
22458
|
+
"- Do not write verification checklists, self-assessments, or numbered assessment lists after your answer.",
|
|
22459
|
+
"- Do not write 'Verification:', 'Requirements:', 'Status Check:', or 'Everything is correct'.",
|
|
22460
|
+
"- If you need to verify your work, do so before writing your response, not after.",
|
|
22461
|
+
"- Keep planning and reasoning internal. Only speak when you have a result or need user input.",
|
|
22462
|
+
"- When working on multi-step tasks, send a brief one-line status update so the user knows you are active.",
|
|
22463
|
+
"- When calling tools, provide arguments as clean values only. Never include <|, |>, or XML-like tags in tool argument values. For exec/bash commands, provide only valid shell syntax."
|
|
22464
|
+
],
|
|
22465
|
+
ui: {
|
|
22466
|
+
badge: "Local",
|
|
22467
|
+
watchdogMs: 6e5,
|
|
22468
|
+
armWatchdogOnSend: true
|
|
22469
|
+
}
|
|
22470
|
+
},
|
|
22450
22471
|
{
|
|
22451
22472
|
match: ["anthropic/", "claude-"],
|
|
22452
22473
|
label: "Claude",
|
|
@@ -22511,8 +22532,7 @@ const BUILTIN_PROFILES = [
|
|
|
22511
22532
|
"- If you need to verify your work, do so before writing your response, not after.",
|
|
22512
22533
|
"- Keep planning and reasoning internal. Only speak when you have a result or need user input.",
|
|
22513
22534
|
"- When working on multi-step tasks, send a brief one-line status update so the user knows you are active.",
|
|
22514
|
-
"- When calling tools, provide arguments as clean values only. Never include <|, |>, or XML-like tags in tool argument values. For exec/bash commands, provide only valid shell syntax."
|
|
22515
|
-
...STARTER_PACK
|
|
22535
|
+
"- When calling tools, provide arguments as clean values only. Never include <|, |>, or XML-like tags in tool argument values. For exec/bash commands, provide only valid shell syntax."
|
|
22516
22536
|
],
|
|
22517
22537
|
ui: {
|
|
22518
22538
|
badge: "CoreWeave",
|
|
@@ -25470,175 +25490,6 @@ function toClientToolDefinitions(tools, onClientToolCall, hookContext) {
|
|
|
25470
25490
|
* @module
|
|
25471
25491
|
*/
|
|
25472
25492
|
/**
|
|
25473
|
-
* Known shell commands for prefix deduplication.
|
|
25474
|
-
* When token boundary corruption doubles a command prefix (grep → grgrep,
|
|
25475
|
-
* ls → lsls), we check the first token against this set. If stripping
|
|
25476
|
-
* the repeated prefix yields a known command, use it.
|
|
25477
|
-
*
|
|
25478
|
-
* O(1) lookup. Zero false positives — no valid command is its own prefix doubled.
|
|
25479
|
-
*/
|
|
25480
|
-
const KNOWN_COMMANDS = new Set([
|
|
25481
|
-
"ls",
|
|
25482
|
-
"cat",
|
|
25483
|
-
"cp",
|
|
25484
|
-
"mv",
|
|
25485
|
-
"rm",
|
|
25486
|
-
"mkdir",
|
|
25487
|
-
"rmdir",
|
|
25488
|
-
"touch",
|
|
25489
|
-
"chmod",
|
|
25490
|
-
"chown",
|
|
25491
|
-
"chgrp",
|
|
25492
|
-
"ln",
|
|
25493
|
-
"pwd",
|
|
25494
|
-
"echo",
|
|
25495
|
-
"printf",
|
|
25496
|
-
"head",
|
|
25497
|
-
"tail",
|
|
25498
|
-
"wc",
|
|
25499
|
-
"sort",
|
|
25500
|
-
"uniq",
|
|
25501
|
-
"cut",
|
|
25502
|
-
"tr",
|
|
25503
|
-
"tee",
|
|
25504
|
-
"xargs",
|
|
25505
|
-
"env",
|
|
25506
|
-
"date",
|
|
25507
|
-
"sleep",
|
|
25508
|
-
"true",
|
|
25509
|
-
"false",
|
|
25510
|
-
"yes",
|
|
25511
|
-
"test",
|
|
25512
|
-
"expr",
|
|
25513
|
-
"basename",
|
|
25514
|
-
"dirname",
|
|
25515
|
-
"readlink",
|
|
25516
|
-
"realpath",
|
|
25517
|
-
"mktemp",
|
|
25518
|
-
"stat",
|
|
25519
|
-
"file",
|
|
25520
|
-
"dd",
|
|
25521
|
-
"df",
|
|
25522
|
-
"du",
|
|
25523
|
-
"id",
|
|
25524
|
-
"whoami",
|
|
25525
|
-
"hostname",
|
|
25526
|
-
"uname",
|
|
25527
|
-
"grep",
|
|
25528
|
-
"egrep",
|
|
25529
|
-
"fgrep",
|
|
25530
|
-
"find",
|
|
25531
|
-
"locate",
|
|
25532
|
-
"sed",
|
|
25533
|
-
"awk",
|
|
25534
|
-
"diff",
|
|
25535
|
-
"patch",
|
|
25536
|
-
"strings",
|
|
25537
|
-
"less",
|
|
25538
|
-
"more",
|
|
25539
|
-
"tar",
|
|
25540
|
-
"gzip",
|
|
25541
|
-
"gunzip",
|
|
25542
|
-
"zip",
|
|
25543
|
-
"unzip",
|
|
25544
|
-
"bzip2",
|
|
25545
|
-
"xz",
|
|
25546
|
-
"curl",
|
|
25547
|
-
"wget",
|
|
25548
|
-
"ssh",
|
|
25549
|
-
"scp",
|
|
25550
|
-
"rsync",
|
|
25551
|
-
"ping",
|
|
25552
|
-
"dig",
|
|
25553
|
-
"nslookup",
|
|
25554
|
-
"netstat",
|
|
25555
|
-
"lsof",
|
|
25556
|
-
"nc",
|
|
25557
|
-
"ifconfig",
|
|
25558
|
-
"ip",
|
|
25559
|
-
"ps",
|
|
25560
|
-
"top",
|
|
25561
|
-
"kill",
|
|
25562
|
-
"killall",
|
|
25563
|
-
"nohup",
|
|
25564
|
-
"nice",
|
|
25565
|
-
"which",
|
|
25566
|
-
"type",
|
|
25567
|
-
"where",
|
|
25568
|
-
"man",
|
|
25569
|
-
"sudo",
|
|
25570
|
-
"su",
|
|
25571
|
-
"mount",
|
|
25572
|
-
"umount",
|
|
25573
|
-
"systemctl",
|
|
25574
|
-
"journalctl",
|
|
25575
|
-
"launchctl",
|
|
25576
|
-
"dmesg",
|
|
25577
|
-
"sysctl",
|
|
25578
|
-
"git",
|
|
25579
|
-
"make",
|
|
25580
|
-
"gcc",
|
|
25581
|
-
"python",
|
|
25582
|
-
"python3",
|
|
25583
|
-
"pip",
|
|
25584
|
-
"pip3",
|
|
25585
|
-
"node",
|
|
25586
|
-
"npm",
|
|
25587
|
-
"npx",
|
|
25588
|
-
"pnpm",
|
|
25589
|
-
"yarn",
|
|
25590
|
-
"cargo",
|
|
25591
|
-
"go",
|
|
25592
|
-
"ruby",
|
|
25593
|
-
"gem",
|
|
25594
|
-
"java",
|
|
25595
|
-
"javac",
|
|
25596
|
-
"docker",
|
|
25597
|
-
"brew",
|
|
25598
|
-
"open",
|
|
25599
|
-
"pbcopy",
|
|
25600
|
-
"pbpaste",
|
|
25601
|
-
"defaults",
|
|
25602
|
-
"diskutil",
|
|
25603
|
-
"sw_vers",
|
|
25604
|
-
"system_profiler",
|
|
25605
|
-
"plutil",
|
|
25606
|
-
"mdfind",
|
|
25607
|
-
"mdls",
|
|
25608
|
-
"softwareupdate",
|
|
25609
|
-
"caffeinate",
|
|
25610
|
-
"say",
|
|
25611
|
-
"osascript",
|
|
25612
|
-
"security",
|
|
25613
|
-
"codesign",
|
|
25614
|
-
"hdiutil",
|
|
25615
|
-
"installer",
|
|
25616
|
-
"lipo",
|
|
25617
|
-
"otool",
|
|
25618
|
-
"dscl",
|
|
25619
|
-
"scutil"
|
|
25620
|
-
]);
|
|
25621
|
-
/**
|
|
25622
|
-
* Fix command prefix duplication from token boundary splits.
|
|
25623
|
-
* Token corruption can double a multi-char prefix: grep → grgrep, ls → lsls.
|
|
25624
|
-
* Check if the first token starts with a repeated prefix that, when removed,
|
|
25625
|
-
* yields a known command.
|
|
25626
|
-
*
|
|
25627
|
-
* Examples: grgrep → grep, lsls → ls, catcat → cat, curlcurl → curl
|
|
25628
|
-
*/
|
|
25629
|
-
function dedupCommandPrefix(command) {
|
|
25630
|
-
const match = command.match(/^([a-zA-Z0-9_-]+)/);
|
|
25631
|
-
if (!match) return command;
|
|
25632
|
-
const firstToken = match[1];
|
|
25633
|
-
if (KNOWN_COMMANDS.has(firstToken)) return command;
|
|
25634
|
-
for (let prefixLen = 2; prefixLen <= Math.min(10, Math.floor(firstToken.length / 2)); prefixLen++) {
|
|
25635
|
-
const prefix = firstToken.slice(0, prefixLen);
|
|
25636
|
-
const candidate = firstToken.slice(prefixLen);
|
|
25637
|
-
if (candidate.startsWith(prefix.slice(0, Math.min(prefix.length, candidate.length))) && KNOWN_COMMANDS.has(candidate)) return candidate + command.slice(firstToken.length);
|
|
25638
|
-
}
|
|
25639
|
-
return command;
|
|
25640
|
-
}
|
|
25641
|
-
/**
|
|
25642
25493
|
* Validate that a command string contains extractable valid shell syntax.
|
|
25643
25494
|
* Returns the cleaned command if valid, or an error reason if not.
|
|
25644
25495
|
*
|
|
@@ -25657,7 +25508,6 @@ function validateShellCommand(command) {
|
|
|
25657
25508
|
cleaned = cleaned.replace(/<\|[^|>]*(?:\|>)?/g, "").trim();
|
|
25658
25509
|
cleaned = cleanResidualTokenFragments(cleaned);
|
|
25659
25510
|
}
|
|
25660
|
-
cleaned = dedupCommandPrefix(cleaned);
|
|
25661
25511
|
if (!cleaned || !cleaned.trim()) return {
|
|
25662
25512
|
valid: false,
|
|
25663
25513
|
cleaned: "",
|
|
@@ -29844,18 +29694,7 @@ async function runEmbeddedAttempt(params) {
|
|
|
29844
29694
|
const profileModelKey = params.modelId ?? "";
|
|
29845
29695
|
const modelProfile = resolveModelProfile(profileModelKey, params.config?.models?.profiles);
|
|
29846
29696
|
log$7.debug(`[profile] resolved: modelId=${profileModelKey} → profile=${modelProfile.label} validateToolArgs=${modelProfile.filters?.validateToolArgs ?? false}`);
|
|
29847
|
-
const systemPromptText = createSystemPromptOverride(appendPrompt + (()
|
|
29848
|
-
if (modelProfile.promptAdditions.length === 0) return "";
|
|
29849
|
-
let text = "\n\n" + modelProfile.promptAdditions.join("\n");
|
|
29850
|
-
if (text.includes("<SYMI_ROOT>")) {
|
|
29851
|
-
const symiRoot = resolveSymiPackageRootSync({
|
|
29852
|
-
moduleUrl: import.meta.url,
|
|
29853
|
-
argv1: process.argv[1]
|
|
29854
|
-
});
|
|
29855
|
-
if (symiRoot) text = text.replaceAll("<SYMI_ROOT>", symiRoot);
|
|
29856
|
-
}
|
|
29857
|
-
return text;
|
|
29858
|
-
})())();
|
|
29697
|
+
const systemPromptText = createSystemPromptOverride(appendPrompt + (modelProfile.promptAdditions.length > 0 ? "\n\n" + modelProfile.promptAdditions.join("\n") : ""))();
|
|
29859
29698
|
const sessionLock = await acquireSessionWriteLock({
|
|
29860
29699
|
sessionFile: params.sessionFile,
|
|
29861
29700
|
maxHoldMs: resolveSessionLockMaxHoldFromTimeout({ timeoutMs: params.timeoutMs })
|
|
@@ -30129,18 +29968,6 @@ async function runEmbeddedAttempt(params) {
|
|
|
30129
29968
|
const TOOL_ERROR_ABORT_THRESHOLD = 5;
|
|
30130
29969
|
const TOOL_ERROR_WARN_THRESHOLD = 3;
|
|
30131
29970
|
let consecutiveToolErrors = 0;
|
|
30132
|
-
/** Detect exec/bash results that indicate a shell error (non-zero exit, command not found, etc.) */
|
|
30133
|
-
const isShellErrorResult = (result) => {
|
|
30134
|
-
if (!result || typeof result !== "object") return false;
|
|
30135
|
-
const content = result.content;
|
|
30136
|
-
if (!Array.isArray(content)) return false;
|
|
30137
|
-
const text = content.filter((b) => b && typeof b === "object" && b.type === "text").map((b) => {
|
|
30138
|
-
const t = b.text;
|
|
30139
|
-
return typeof t === "string" ? t : "";
|
|
30140
|
-
}).join("\n");
|
|
30141
|
-
if (!text) return false;
|
|
30142
|
-
return /exit code [1-9]\d*|command not found|No such file or directory|syntax error|parse error|Permission denied|not recognized|cannot execute/i.test(text);
|
|
30143
|
-
};
|
|
30144
29971
|
const subscription = subscribeEmbeddedPiSession({
|
|
30145
29972
|
session: activeSession,
|
|
30146
29973
|
runId: params.runId,
|
|
@@ -30166,9 +29993,7 @@ async function runEmbeddedAttempt(params) {
|
|
|
30166
29993
|
const phase = typeof evt.data?.phase === "string" ? evt.data.phase : "";
|
|
30167
29994
|
const isError = evt.data?.isError === true;
|
|
30168
29995
|
if (phase === "result") {
|
|
30169
|
-
|
|
30170
|
-
const isExecShellError = !isError && (toolName === "exec" || toolName === "bash") && isShellErrorResult(evt.data?.result);
|
|
30171
|
-
if (isError || isExecShellError) consecutiveToolErrors++;
|
|
29996
|
+
if (isError) consecutiveToolErrors++;
|
|
30172
29997
|
else consecutiveToolErrors = 0;
|
|
30173
29998
|
if (consecutiveToolErrors >= TOOL_ERROR_ABORT_THRESHOLD) {
|
|
30174
29999
|
const toolName = typeof evt.data?.name === "string" ? evt.data.name : "unknown";
|
|
@@ -31675,7 +31500,7 @@ async function runAgentTurn(params) {
|
|
|
31675
31500
|
function createDefaultDeps() {
|
|
31676
31501
|
return {
|
|
31677
31502
|
sendMessageWhatsApp: async (...args) => {
|
|
31678
|
-
const { sendMessageWhatsApp } = await import("./web-
|
|
31503
|
+
const { sendMessageWhatsApp } = await import("./web-DLKmJqCG.js");
|
|
31679
31504
|
return await sendMessageWhatsApp(...args);
|
|
31680
31505
|
},
|
|
31681
31506
|
sendMessageTelegram: async (...args) => {
|
|
@@ -50106,7 +49931,7 @@ function loadWebLoginQr() {
|
|
|
50106
49931
|
return webLoginQrPromise;
|
|
50107
49932
|
}
|
|
50108
49933
|
function loadWebChannel() {
|
|
50109
|
-
webChannelPromise ??= import("./web-
|
|
49934
|
+
webChannelPromise ??= import("./web-DLKmJqCG.js");
|
|
50110
49935
|
return webChannelPromise;
|
|
50111
49936
|
}
|
|
50112
49937
|
function loadWhatsAppActions() {
|
|
@@ -13,7 +13,7 @@ import "./client-DMBZpU6X.js";
|
|
|
13
13
|
import "./call-BcE47FtD.js";
|
|
14
14
|
import "./message-channel-C9dERklz.js";
|
|
15
15
|
import "./pairing-token-Byh6drgn.js";
|
|
16
|
-
import "./subagent-registry-
|
|
16
|
+
import "./subagent-registry-C-JJ2VmR.js";
|
|
17
17
|
import "./sessions-CJXnZVjR.js";
|
|
18
18
|
import "./tokens-Csntmwwn.js";
|
|
19
19
|
import "./plugins-CwSlLxM8.js";
|
|
@@ -101,9 +101,9 @@ import { t as ensureSymiCliOnPath } from "./path-env-Bic_wXs9.js";
|
|
|
101
101
|
import "./catalog-DLQFKucJ.js";
|
|
102
102
|
import "./note-DDecZomM.js";
|
|
103
103
|
import "./plugin-auto-enable-D6ENR3Xg.js";
|
|
104
|
-
import { t as ensurePluginRegistryLoaded } from "./plugin-registry-
|
|
104
|
+
import { t as ensurePluginRegistryLoaded } from "./plugin-registry-8qRWG0zs.js";
|
|
105
105
|
import { t as assertSupportedRuntime } from "./runtime-guard-D7waq_Ho.js";
|
|
106
|
-
import { t as emitCliBanner } from "./banner-
|
|
106
|
+
import { t as emitCliBanner } from "./banner-_OS2xmMF.js";
|
|
107
107
|
import "./doctor-config-flow-CA3eiKhd.js";
|
|
108
108
|
import { n as ensureConfigReady } from "./config-guard-CPHvOzsC.js";
|
|
109
109
|
import process$1 from "node:process";
|
|
@@ -118,7 +118,7 @@ const routeHealth = {
|
|
|
118
118
|
const verbose = getVerboseFlag(argv, { includeDebug: true });
|
|
119
119
|
const timeoutMs = getPositiveIntFlagValue(argv, "--timeout");
|
|
120
120
|
if (timeoutMs === null) return false;
|
|
121
|
-
const { healthCommand } = await import("./health-
|
|
121
|
+
const { healthCommand } = await import("./health-8DlAtuas.js").then((n) => n.i);
|
|
122
122
|
await healthCommand({
|
|
123
123
|
json,
|
|
124
124
|
timeoutMs,
|
|
@@ -138,7 +138,7 @@ const routeStatus = {
|
|
|
138
138
|
const verbose = getVerboseFlag(argv, { includeDebug: true });
|
|
139
139
|
const timeoutMs = getPositiveIntFlagValue(argv, "--timeout");
|
|
140
140
|
if (timeoutMs === null) return false;
|
|
141
|
-
const { statusCommand } = await import("./status-
|
|
141
|
+
const { statusCommand } = await import("./status-iuYHrvPw.js").then((n) => n.t);
|
|
142
142
|
await statusCommand({
|
|
143
143
|
json,
|
|
144
144
|
deep,
|
|
@@ -172,7 +172,7 @@ const routeAgentsList = {
|
|
|
172
172
|
run: async (argv) => {
|
|
173
173
|
const json = hasFlag(argv, "--json");
|
|
174
174
|
const bindings = hasFlag(argv, "--bindings");
|
|
175
|
-
const { agentsListCommand } = await import("./agents-
|
|
175
|
+
const { agentsListCommand } = await import("./agents-p4UQ5QFH.js").then((n) => n.t);
|
|
176
176
|
await agentsListCommand({
|
|
177
177
|
json,
|
|
178
178
|
bindings
|
|
@@ -243,7 +243,7 @@ const routes = [
|
|
|
243
243
|
const pathArg = getCommandPositionals(argv)[2];
|
|
244
244
|
if (!pathArg) return false;
|
|
245
245
|
const json = hasFlag(argv, "--json");
|
|
246
|
-
const { runConfigGet } = await import("./config-cli-
|
|
246
|
+
const { runConfigGet } = await import("./config-cli-i08FMBVe.js");
|
|
247
247
|
await runConfigGet({
|
|
248
248
|
path: pathArg,
|
|
249
249
|
json
|
|
@@ -256,7 +256,7 @@ const routes = [
|
|
|
256
256
|
run: async (argv) => {
|
|
257
257
|
const pathArg = getCommandPositionals(argv)[2];
|
|
258
258
|
if (!pathArg) return false;
|
|
259
|
-
const { runConfigUnset } = await import("./config-cli-
|
|
259
|
+
const { runConfigUnset } = await import("./config-cli-i08FMBVe.js");
|
|
260
260
|
await runConfigUnset({ path: pathArg });
|
|
261
261
|
return true;
|
|
262
262
|
}
|
|
@@ -270,7 +270,7 @@ const routes = [
|
|
|
270
270
|
const local = hasFlag(argv, "--local");
|
|
271
271
|
const json = hasFlag(argv, "--json");
|
|
272
272
|
const plain = hasFlag(argv, "--plain");
|
|
273
|
-
const { modelsListCommand } = await import("./models-
|
|
273
|
+
const { modelsListCommand } = await import("./models-xTtbDVki.js").then((n) => n.t);
|
|
274
274
|
await modelsListCommand({
|
|
275
275
|
all,
|
|
276
276
|
local,
|
|
@@ -301,7 +301,7 @@ const routes = [
|
|
|
301
301
|
const plain = hasFlag(argv, "--plain");
|
|
302
302
|
const check = hasFlag(argv, "--check");
|
|
303
303
|
const probe = hasFlag(argv, "--probe");
|
|
304
|
-
const { modelsStatusCommand } = await import("./models-
|
|
304
|
+
const { modelsStatusCommand } = await import("./models-xTtbDVki.js").then((n) => n.t);
|
|
305
305
|
await modelsStatusCommand({
|
|
306
306
|
json,
|
|
307
307
|
plain,
|
|
@@ -379,7 +379,7 @@ async function runCli(argv = process$1.argv) {
|
|
|
379
379
|
assertSupportedRuntime();
|
|
380
380
|
if (await tryRouteCli(normalizedArgv)) return;
|
|
381
381
|
enableConsoleCapture();
|
|
382
|
-
const { buildProgram } = await import("./program-
|
|
382
|
+
const { buildProgram } = await import("./program-DXDaxm5S.js");
|
|
383
383
|
const program = buildProgram();
|
|
384
384
|
installUnhandledRejectionHandler();
|
|
385
385
|
process$1.on("uncaughtException", (error) => {
|
|
@@ -411,10 +411,10 @@ async function runCli(argv = process$1.argv) {
|
|
|
411
411
|
const { getProgramContext } = await import("./program-context-CqzR_m-7.js").then((n) => n.n);
|
|
412
412
|
const ctx = getProgramContext(program);
|
|
413
413
|
if (ctx) {
|
|
414
|
-
const { registerCoreCliByName } = await import("./command-registry-
|
|
414
|
+
const { registerCoreCliByName } = await import("./command-registry-DXdP9h9E.js").then((n) => n.t);
|
|
415
415
|
await registerCoreCliByName(program, ctx, primary, parseArgv);
|
|
416
416
|
}
|
|
417
|
-
const { registerSubCliByName } = await import("./register.subclis-
|
|
417
|
+
const { registerSubCliByName } = await import("./register.subclis-nswajsbE.js").then((n) => n.a);
|
|
418
418
|
await registerSubCliByName(program, primary);
|
|
419
419
|
}
|
|
420
420
|
const hasBuiltinPrimary = primary !== null && program.commands.some((command) => command.name() === primary);
|
|
@@ -423,7 +423,7 @@ async function runCli(argv = process$1.argv) {
|
|
|
423
423
|
primary,
|
|
424
424
|
hasBuiltinPrimary
|
|
425
425
|
})) {
|
|
426
|
-
const { registerPluginCliCommands } = await import("./cli-
|
|
426
|
+
const { registerPluginCliCommands } = await import("./cli-C8QNJgG8.js");
|
|
427
427
|
const { loadConfig } = await import("./config-DHBLS1Hl.js").then((n) => n.t);
|
|
428
428
|
registerPluginCliCommands(program, loadConfig());
|
|
429
429
|
}
|
|
@@ -4,7 +4,7 @@ import { G as resolveSymiAgentDir, T as resolveApiKeyForProvider, c as normalize
|
|
|
4
4
|
import { t as normalizeChatType } from "./chat-type-DFDuk3FY.js";
|
|
5
5
|
import { _ as kindFromMime, d as detectMime, h as isAudioFileName, p as getFileExtension } from "./image-ops-ByaQt43P.js";
|
|
6
6
|
import { d as DEFAULT_IMESSAGE_ATTACHMENT_ROOTS, f as isInboundPathAllowed, m as resolveIMessageAttachmentRoots, n as loadConfig, p as mergeInboundPathRoots } from "./config-BmV60pPT.js";
|
|
7
|
-
import { S as ensureSymiModelsJson, t as describeImageWithModel } from "./image-
|
|
7
|
+
import { S as ensureSymiModelsJson, t as describeImageWithModel } from "./image-CHzdaNJ4.js";
|
|
8
8
|
import { n as collectProviderApiKeysForExecution, r as executeWithApiKeyRotation, t as parseGeminiAuth } from "./gemini-auth-CSlZZ1Pw.js";
|
|
9
9
|
import { n as fetchWithTimeout } from "./fetch-timeout-BheTNyes.js";
|
|
10
10
|
import { i as fetchRemoteMedia, n as getDefaultMediaLocalRoots, o as fetchWithSsrFGuard, r as MediaFetchError } from "./local-roots-CC8jiKDk.js";
|
|
@@ -4,7 +4,7 @@ import { $ as resolveSymiAgentDir, A as normalizeGoogleModelId, B as resolveApiK
|
|
|
4
4
|
import { d as DEFAULT_IMESSAGE_ATTACHMENT_ROOTS, f as isInboundPathAllowed, m as resolveIMessageAttachmentRoots, n as loadConfig, p as mergeInboundPathRoots } from "./config-5SdHIcHU.js";
|
|
5
5
|
import { c as detectMime, f as isAudioFileName, m as kindFromMime, u as getFileExtension } from "./image-ops-C7CauEK8.js";
|
|
6
6
|
import { t as normalizeChatType } from "./chat-type-3FRbbjbq.js";
|
|
7
|
-
import { S as ensureSymiModelsJson, t as describeImageWithModel } from "./image-
|
|
7
|
+
import { S as ensureSymiModelsJson, t as describeImageWithModel } from "./image-CXu8W39c.js";
|
|
8
8
|
import { n as collectProviderApiKeysForExecution, r as executeWithApiKeyRotation, t as parseGeminiAuth } from "./gemini-auth-Dy12ZAH3.js";
|
|
9
9
|
import { n as fetchWithTimeout } from "./fetch-timeout-DL3f_O53.js";
|
|
10
10
|
import { i as fetchRemoteMedia, n as getDefaultMediaLocalRoots, o as fetchWithSsrFGuard, r as MediaFetchError } from "./local-roots-DhZz0Ybs.js";
|
|
@@ -12,7 +12,7 @@ import { f as GATEWAY_CLIENT_CAPS, g as hasGatewayClientCap, i as isGatewayMessa
|
|
|
12
12
|
import { c as writeJsonAtomic, o as createAsyncLock, s as readJsonFile } from "./pairing-token-Byh6drgn.js";
|
|
13
13
|
import { s as pickPrimaryLanIPv4 } from "./net-DZ5Ayk-W.js";
|
|
14
14
|
import { i as normalizeInputProvenance } from "./input-provenance-D0lNkCf6.js";
|
|
15
|
-
import { $n as resolveTtsAutoMode, B as dispatchInboundMessage, C as resolveAgentDeliveryPlan, Cn as enqueueSystemEvent, Cr as onAgentEvent, D as createOutboundSendDeps, Dt as normalizeCronJobPatch, Et as normalizeCronJobCreate, G as BARE_SESSION_RESET_PROMPT, Gn as stopSubagentsForRequester, Gt as persistBrowserProxyFiles, In as resolveAgentTimeoutMs, Jn as resolveUserTimezone, Qn as resolveTtsApiKey, Sn as parseVerboseOverride, V as createReplyDispatcher, Vn as formatZonedTimestamp, Wn as isAbortTrigger, Wt as applyBrowserProxyPaths, Xn as isTtsEnabled, Y as abortEmbeddedPiRun, Yn as getTtsProvider, Z as waitForEmbeddedPiRunEnd, Zn as isTtsProviderConfigured, Zt as scheduleGatewaySigusr1Restart, a as listSubagentRunsForRequester, ar as textToSpeech, bn as applyModelOverrideToSessionEntry, c as clearSessionQueues, ct as resolveOutboundSessionRoute, dt as resolveOutboundTarget, en as unbindThreadBindingsBySessionKey, er as resolveTtsConfig, hn as resolveSendPolicy, i as listDescendantRunsForRequester, ir as setTtsProvider, m as loadSymiPlugins, mn as normalizeSendPolicy, nr as resolveTtsProviderOrder, or as OPENAI_TTS_MODELS, rn as loadProviderUsageSummary, rr as setTtsEnabled, sr as OPENAI_TTS_VOICES, st as ensureOutboundSessionEntry, tn as normalizeGroupActivation, tr as resolveTtsPrefsPath, w as resolveAgentOutboundTarget, wn as isSystemEventContextChanged, wr as registerAgentRunContext, wt as writeRestartSentinel, x as agentCommand, xn as applyVerboseOverride, yt as formatDoctorNonInteractiveHint } from "./subagent-registry-
|
|
15
|
+
import { $n as resolveTtsAutoMode, B as dispatchInboundMessage, C as resolveAgentDeliveryPlan, Cn as enqueueSystemEvent, Cr as onAgentEvent, D as createOutboundSendDeps, Dt as normalizeCronJobPatch, Et as normalizeCronJobCreate, G as BARE_SESSION_RESET_PROMPT, Gn as stopSubagentsForRequester, Gt as persistBrowserProxyFiles, In as resolveAgentTimeoutMs, Jn as resolveUserTimezone, Qn as resolveTtsApiKey, Sn as parseVerboseOverride, V as createReplyDispatcher, Vn as formatZonedTimestamp, Wn as isAbortTrigger, Wt as applyBrowserProxyPaths, Xn as isTtsEnabled, Y as abortEmbeddedPiRun, Yn as getTtsProvider, Z as waitForEmbeddedPiRunEnd, Zn as isTtsProviderConfigured, Zt as scheduleGatewaySigusr1Restart, a as listSubagentRunsForRequester, ar as textToSpeech, bn as applyModelOverrideToSessionEntry, c as clearSessionQueues, ct as resolveOutboundSessionRoute, dt as resolveOutboundTarget, en as unbindThreadBindingsBySessionKey, er as resolveTtsConfig, hn as resolveSendPolicy, i as listDescendantRunsForRequester, ir as setTtsProvider, m as loadSymiPlugins, mn as normalizeSendPolicy, nr as resolveTtsProviderOrder, or as OPENAI_TTS_MODELS, rn as loadProviderUsageSummary, rr as setTtsEnabled, sr as OPENAI_TTS_VOICES, st as ensureOutboundSessionEntry, tn as normalizeGroupActivation, tr as resolveTtsPrefsPath, w as resolveAgentOutboundTarget, wn as isSystemEventContextChanged, wr as registerAgentRunContext, wt as writeRestartSentinel, x as agentCommand, xn as applyVerboseOverride, yt as formatDoctorNonInteractiveHint } from "./subagent-registry-C-JJ2VmR.js";
|
|
16
16
|
import { F as resolveMainSessionKey, I as resolveMainSessionKeyFromConfig, J as normalizeSessionDeliveryFields, N as resolveAgentMainSessionKey, P as resolveExplicitAgentSessionKey, R as snapshotSessionOrigin, S as stripEnvelopeFromMessages, _ as capArrayByJsonBytes, d as updateSessionStore, g as archiveSessionTranscripts, h as archiveFileOnDisk, o as loadSessionStore, t as extractDeliveryInfo, v as readSessionMessages, x as resolveSessionTranscriptCandidates, y as readSessionPreviewItemsFromTranscript } from "./sessions-CJXnZVjR.js";
|
|
17
17
|
import { n as listChannelPlugins, r as normalizeChannelId, t as getChannelPlugin } from "./plugins-CwSlLxM8.js";
|
|
18
18
|
import { n as createBrowserRouteDispatcher } from "./with-timeout-Di0nddLY.js";
|
|
@@ -37,14 +37,14 @@ import { t as WizardCancelledError } from "./prompts-m1IJwIAx.js";
|
|
|
37
37
|
import { t as resolveChannelDefaultAccountId } from "./helpers-cLP5YLeQ.js";
|
|
38
38
|
import { t as buildChannelAccountSnapshot } from "./status-BUedPCLb.js";
|
|
39
39
|
import { o as isNodeCommandAllowed, s as resolveNodeCommandAllowlist } from "./audit-Byo5jCLN.js";
|
|
40
|
-
import { r as getStatusSummary } from "./status-
|
|
41
|
-
import { c as setHeartbeatsEnabled } from "./health-
|
|
40
|
+
import { r as getStatusSummary } from "./status-iuYHrvPw.js";
|
|
41
|
+
import { c as setHeartbeatsEnabled } from "./health-8DlAtuas.js";
|
|
42
42
|
import { m as normalizeUpdateChannel } from "./update-check-ZdimP1aU.js";
|
|
43
|
-
import { a as sendApnsAlert, c as parseMessageWithAttachments, i as resolveApnsAuthConfigFromEnv, l as formatForLog, n as normalizeApnsEnvironment, o as sendApnsBackgroundWake, s as normalizeRpcAttachmentsToChatAttachments, t as loadApnsRegistration } from "./push-apns-
|
|
44
|
-
import { a as pruneAgentConfig, i as loadAgentIdentity, r as findAgentEntryIndex, t as applyAgentConfig } from "./agents.config-
|
|
43
|
+
import { a as sendApnsAlert, c as parseMessageWithAttachments, i as resolveApnsAuthConfigFromEnv, l as formatForLog, n as normalizeApnsEnvironment, o as sendApnsBackgroundWake, s as normalizeRpcAttachmentsToChatAttachments, t as loadApnsRegistration } from "./push-apns-_7NSUBR2.js";
|
|
44
|
+
import { a as pruneAgentConfig, i as loadAgentIdentity, r as findAgentEntryIndex, t as applyAgentConfig } from "./agents.config-DDFFWWKf.js";
|
|
45
45
|
import { t as resolveSystemRunCommand } from "./system-run-command-ByVa3txU.js";
|
|
46
46
|
import { t as installSkill } from "./skills-install-1ZdwGTnh.js";
|
|
47
|
-
import { t as runGatewayUpdate } from "./update-runner-
|
|
47
|
+
import { t as runGatewayUpdate } from "./update-runner-zv3kaly2.js";
|
|
48
48
|
import { spawnSync } from "node:child_process";
|
|
49
49
|
import * as os$1 from "node:os";
|
|
50
50
|
import os from "node:os";
|
|
@@ -6851,7 +6851,7 @@ const nodeHandlers = {
|
|
|
6851
6851
|
const p = params;
|
|
6852
6852
|
const payloadJSON = typeof p.payloadJSON === "string" ? p.payloadJSON : p.payload !== void 0 ? JSON.stringify(p.payload) : null;
|
|
6853
6853
|
await respondUnavailableOnThrow(respond, async () => {
|
|
6854
|
-
const { handleNodeEvent } = await import("./server-node-events-
|
|
6854
|
+
const { handleNodeEvent } = await import("./server-node-events-CjsIxKpS.js");
|
|
6855
6855
|
const nodeId = client?.connect?.device?.id ?? client?.connect?.client?.id ?? "node";
|
|
6856
6856
|
await handleNodeEvent({
|
|
6857
6857
|
deps: context.deps,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { g as resolveStateDir, t as CONFIG_PATH } from "./paths-Cqn-zk3M.js";
|
|
2
2
|
import { D as isPlainObject, U as getResolvedLoggerSettings, r as clamp, y as resolveUserPath } from "./utils-B-0b9bGM.js";
|
|
3
3
|
import { a as normalizeElevatedLevel, c as normalizeUsageDisplay, d as supportsXHighThinking, n as formatXHighModelHint, o as normalizeReasoningLevel, s as normalizeThinkLevel, t as formatThinkingLevels } from "./thinking-EAliFiVK.js";
|
|
4
|
-
import { $n as OPENAI_TTS_MODELS, Bn as registerAgentRunContext, Bt as abortEmbeddedPiRun, C as ensureOutboundSessionEntry, Et as agentCommand, Ft as normalizeSendPolicy, G as normalizeCronJobPatch, Gn as resolveTtsApiKey, H as writeRestartSentinel, Hn as getTtsProvider, Ht as waitForEmbeddedPiRunEnd, It as resolveSendPolicy, Jn as resolveTtsPrefsPath, Kn as resolveTtsAutoMode, L as formatDoctorNonInteractiveHint, Mn as listSubagentRunsForRequester, Mt as resolveOutboundTarget, N as scheduleGatewaySigusr1Restart, Ot as resolveAgentDeliveryPlan, Pr as resolveAgentTimeoutMs, Qn as textToSpeech, Rt as createOutboundSendDeps, Sr as isSystemEventContextChanged, Tn as stopSubagentsForRequester, Un as isTtsEnabled, Vn as resolveUserTimezone, W as normalizeCronJobCreate, Wn as isTtsProviderConfigured, Xn as setTtsEnabled, Yn as resolveTtsProviderOrder, Zn as setTtsProvider, _ as loadCombinedSessionStoreForGateway, at as persistBrowserProxyFiles, b as resolveGatewaySessionStoreTarget, br as parseVerboseOverride, c as clearSessionQueues, er as OPENAI_TTS_VOICES, ft as loadSymiPlugins, g as listSessionsFromStore, gt as loadProviderUsageSummary, h as listAgentsForGateway, in as unbindThreadBindingsBySessionKey, it as applyBrowserProxyPaths, jn as listDescendantRunsForRequester, kt as resolveAgentOutboundTarget, mn as createReplyDispatcher, mt as normalizeGroupActivation, n as BARE_SESSION_RESET_PROMPT, p as canonicalizeSpawnedByForAgent, pn as dispatchInboundMessage, qn as resolveTtsConfig, v as loadSessionEntry, vr as applyModelOverrideToSessionEntry, w as resolveOutboundSessionRoute, wn as isAbortTrigger, x as resolveSessionModelRef, xn as formatZonedTimestamp, xr as enqueueSystemEvent, y as pruneLegacyStoreKeys, yr as applyVerboseOverride, zn as onAgentEvent } from "./reply-
|
|
4
|
+
import { $n as OPENAI_TTS_MODELS, Bn as registerAgentRunContext, Bt as abortEmbeddedPiRun, C as ensureOutboundSessionEntry, Et as agentCommand, Ft as normalizeSendPolicy, G as normalizeCronJobPatch, Gn as resolveTtsApiKey, H as writeRestartSentinel, Hn as getTtsProvider, Ht as waitForEmbeddedPiRunEnd, It as resolveSendPolicy, Jn as resolveTtsPrefsPath, Kn as resolveTtsAutoMode, L as formatDoctorNonInteractiveHint, Mn as listSubagentRunsForRequester, Mt as resolveOutboundTarget, N as scheduleGatewaySigusr1Restart, Ot as resolveAgentDeliveryPlan, Pr as resolveAgentTimeoutMs, Qn as textToSpeech, Rt as createOutboundSendDeps, Sr as isSystemEventContextChanged, Tn as stopSubagentsForRequester, Un as isTtsEnabled, Vn as resolveUserTimezone, W as normalizeCronJobCreate, Wn as isTtsProviderConfigured, Xn as setTtsEnabled, Yn as resolveTtsProviderOrder, Zn as setTtsProvider, _ as loadCombinedSessionStoreForGateway, at as persistBrowserProxyFiles, b as resolveGatewaySessionStoreTarget, br as parseVerboseOverride, c as clearSessionQueues, er as OPENAI_TTS_VOICES, ft as loadSymiPlugins, g as listSessionsFromStore, gt as loadProviderUsageSummary, h as listAgentsForGateway, in as unbindThreadBindingsBySessionKey, it as applyBrowserProxyPaths, jn as listDescendantRunsForRequester, kt as resolveAgentOutboundTarget, mn as createReplyDispatcher, mt as normalizeGroupActivation, n as BARE_SESSION_RESET_PROMPT, p as canonicalizeSpawnedByForAgent, pn as dispatchInboundMessage, qn as resolveTtsConfig, v as loadSessionEntry, vr as applyModelOverrideToSessionEntry, w as resolveOutboundSessionRoute, wn as isAbortTrigger, x as resolveSessionModelRef, xn as formatZonedTimestamp, xr as enqueueSystemEvent, y as pruneLegacyStoreKeys, yr as applyVerboseOverride, zn as onAgentEvent } from "./reply-DU025-Dw.js";
|
|
5
5
|
import { S as parseAgentSessionKey, l as resolveAgentIdFromSessionKey, m as DEFAULT_ACCOUNT_ID, o as classifySessionKeyShape, s as normalizeAgentId, t as DEFAULT_AGENT_ID, x as isSubagentSessionKey } from "./session-key-DCt45XZa.js";
|
|
6
6
|
import { t as resolveSymiPackageRoot } from "./symi-root-CrGJbkzf.js";
|
|
7
7
|
import { C as createInternalHookEvent, T as triggerInternalHook, d as getActivePluginRegistry, r as DEFAULT_CHAT_CHANNEL, t as CHANNEL_IDS } from "./registry-Cja8eT7G.js";
|
|
@@ -39,14 +39,14 @@ import { t as WizardCancelledError } from "./prompts-Xu2Sveka.js";
|
|
|
39
39
|
import { t as resolveChannelDefaultAccountId } from "./helpers-BcGbMZD1.js";
|
|
40
40
|
import { t as buildChannelAccountSnapshot } from "./status-BrV-afZE.js";
|
|
41
41
|
import { o as isNodeCommandAllowed, s as resolveNodeCommandAllowlist } from "./audit-CrITRV6w.js";
|
|
42
|
-
import { n as getStatusSummary } from "./status-
|
|
43
|
-
import { s as setHeartbeatsEnabled } from "./health-
|
|
42
|
+
import { n as getStatusSummary } from "./status-eergZLRZ.js";
|
|
43
|
+
import { s as setHeartbeatsEnabled } from "./health-B8uQe9CP.js";
|
|
44
44
|
import { m as normalizeUpdateChannel } from "./update-check-CtckACbb.js";
|
|
45
|
-
import { a as sendApnsAlert, c as parseMessageWithAttachments, i as resolveApnsAuthConfigFromEnv, l as formatForLog, n as normalizeApnsEnvironment, o as sendApnsBackgroundWake, s as normalizeRpcAttachmentsToChatAttachments, t as loadApnsRegistration } from "./push-apns-
|
|
46
|
-
import { a as pruneAgentConfig, i as loadAgentIdentity, r as findAgentEntryIndex, t as applyAgentConfig } from "./agents.config-
|
|
45
|
+
import { a as sendApnsAlert, c as parseMessageWithAttachments, i as resolveApnsAuthConfigFromEnv, l as formatForLog, n as normalizeApnsEnvironment, o as sendApnsBackgroundWake, s as normalizeRpcAttachmentsToChatAttachments, t as loadApnsRegistration } from "./push-apns-ivn-KjGr.js";
|
|
46
|
+
import { a as pruneAgentConfig, i as loadAgentIdentity, r as findAgentEntryIndex, t as applyAgentConfig } from "./agents.config-D7aaLeuW.js";
|
|
47
47
|
import { t as resolveSystemRunCommand } from "./system-run-command-ByVa3txU.js";
|
|
48
48
|
import { t as installSkill } from "./skills-install-D67isO1L.js";
|
|
49
|
-
import { t as runGatewayUpdate } from "./update-runner-
|
|
49
|
+
import { t as runGatewayUpdate } from "./update-runner-Dnq8KGjY.js";
|
|
50
50
|
import * as fs$2 from "node:fs";
|
|
51
51
|
import fs from "node:fs";
|
|
52
52
|
import * as os$1 from "node:os";
|
|
@@ -6853,7 +6853,7 @@ const nodeHandlers = {
|
|
|
6853
6853
|
const p = params;
|
|
6854
6854
|
const payloadJSON = typeof p.payloadJSON === "string" ? p.payloadJSON : p.payload !== void 0 ? JSON.stringify(p.payload) : null;
|
|
6855
6855
|
await respondUnavailableOnThrow(respond, async () => {
|
|
6856
|
-
const { handleNodeEvent } = await import("./server-node-events-
|
|
6856
|
+
const { handleNodeEvent } = await import("./server-node-events-CKYqZ_QS.js");
|
|
6857
6857
|
const nodeId = client?.connect?.device?.id ?? client?.connect?.client?.id ?? "node";
|
|
6858
6858
|
await handleNodeEvent({
|
|
6859
6859
|
deps: context.deps,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import "./paths-Cqn-zk3M.js";
|
|
2
2
|
import "./utils-B-0b9bGM.js";
|
|
3
3
|
import "./thinking-EAliFiVK.js";
|
|
4
|
-
import { Et as agentCommand, Mt as resolveOutboundTarget, Pt as createOutboundSendDeps, b as resolveGatewaySessionStoreTarget, st as requestHeartbeatNow, v as loadSessionEntry, xr as enqueueSystemEvent, y as pruneLegacyStoreKeys } from "./reply-
|
|
4
|
+
import { Et as agentCommand, Mt as resolveOutboundTarget, Pt as createOutboundSendDeps, b as resolveGatewaySessionStoreTarget, st as requestHeartbeatNow, v as loadSessionEntry, xr as enqueueSystemEvent, y as pruneLegacyStoreKeys } from "./reply-DU025-Dw.js";
|
|
5
5
|
import { c as normalizeMainKey } from "./session-key-DCt45XZa.js";
|
|
6
6
|
import "./registry-Cja8eT7G.js";
|
|
7
7
|
import { f as defaultRuntime } from "./subsystem-D9vIQve0.js";
|
|
@@ -102,7 +102,7 @@ import "./pi-tools.policy-CIDBbw6x.js";
|
|
|
102
102
|
import "./control-service-Bz7rxLWq.js";
|
|
103
103
|
import "./stagger-BUClb97_.js";
|
|
104
104
|
import "./channel-selection-DuWs0Aak.js";
|
|
105
|
-
import { c as parseMessageWithAttachments, l as formatForLog, r as registerApnsToken, s as normalizeRpcAttachmentsToChatAttachments } from "./push-apns-
|
|
105
|
+
import { c as parseMessageWithAttachments, l as formatForLog, r as registerApnsToken, s as normalizeRpcAttachmentsToChatAttachments } from "./push-apns-ivn-KjGr.js";
|
|
106
106
|
import { randomUUID } from "node:crypto";
|
|
107
107
|
|
|
108
108
|
//#region src/gateway/server-node-events.ts
|
|
@@ -14,7 +14,7 @@ import "./client-DMBZpU6X.js";
|
|
|
14
14
|
import "./call-BcE47FtD.js";
|
|
15
15
|
import "./message-channel-C9dERklz.js";
|
|
16
16
|
import "./pairing-token-Byh6drgn.js";
|
|
17
|
-
import { Cn as enqueueSystemEvent, T as createOutboundSendDeps, dn as requestHeartbeatNow, dt as resolveOutboundTarget, x as agentCommand } from "./subagent-registry-
|
|
17
|
+
import { Cn as enqueueSystemEvent, T as createOutboundSendDeps, dn as requestHeartbeatNow, dt as resolveOutboundTarget, x as agentCommand } from "./subagent-registry-C-JJ2VmR.js";
|
|
18
18
|
import { d as updateSessionStore } from "./sessions-CJXnZVjR.js";
|
|
19
19
|
import "./tokens-Csntmwwn.js";
|
|
20
20
|
import { r as normalizeChannelId } from "./plugins-CwSlLxM8.js";
|
|
@@ -98,7 +98,7 @@ import "./onboard-helpers-_pit1NZW.js";
|
|
|
98
98
|
import "./prompt-style-DwCXob2h.js";
|
|
99
99
|
import "./pairing-labels-D1HDboV2.js";
|
|
100
100
|
import "./pi-tools.policy-De00gPXt.js";
|
|
101
|
-
import { c as parseMessageWithAttachments, l as formatForLog, r as registerApnsToken, s as normalizeRpcAttachmentsToChatAttachments } from "./push-apns-
|
|
101
|
+
import { c as parseMessageWithAttachments, l as formatForLog, r as registerApnsToken, s as normalizeRpcAttachmentsToChatAttachments } from "./push-apns-_7NSUBR2.js";
|
|
102
102
|
import { randomUUID } from "node:crypto";
|
|
103
103
|
|
|
104
104
|
//#region src/gateway/server-node-events.ts
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { o as createSubsystemLogger } from "./entry.js";
|
|
2
2
|
import { D as resolveDefaultAgentWorkspaceDir, c as resolveAgentWorkspaceDir, l as resolveDefaultAgentId } from "./agent-scope-D-jRCY0d.js";
|
|
3
3
|
import { i as loadConfig } from "./config-DHBLS1Hl.js";
|
|
4
|
-
import { m as loadSymiPlugins, p as createPluginLoaderLogger } from "./subagent-registry-
|
|
4
|
+
import { m as loadSymiPlugins, p as createPluginLoaderLogger } from "./subagent-registry-C-JJ2VmR.js";
|
|
5
5
|
|
|
6
6
|
//#region src/plugins/status.ts
|
|
7
7
|
const log = createSubsystemLogger("plugins");
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { dt as createPluginLoaderLogger, ft as loadSymiPlugins } from "./reply-
|
|
1
|
+
import { dt as createPluginLoaderLogger, ft as loadSymiPlugins } from "./reply-DU025-Dw.js";
|
|
2
2
|
import { t as createSubsystemLogger } from "./subsystem-D9vIQve0.js";
|
|
3
3
|
import { D as resolveDefaultAgentWorkspaceDir, c as resolveAgentWorkspaceDir, l as resolveDefaultAgentId } from "./agent-scope-CgUHAtCo.js";
|
|
4
4
|
import { i as loadConfig } from "./config-CHwyw6l5.js";
|