@symerian/symi 2.6.16 → 2.6.18
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-DbDrceM_.js → agents-BEWe0DLk.js} +4 -4
- package/dist/{agents.config-AMrJVinF.js → agents.config-C76tSodQ.js} +1 -1
- package/dist/{agents.config-phBy3nbc.js → agents.config-DxYp0zoG.js} +1 -1
- package/dist/{audio-preflight-DHTaS5U1.js → audio-preflight-BVaaZWkg.js} +4 -4
- package/dist/{audio-preflight-C40mKAp7.js → audio-preflight-CPBOQV4I.js} +4 -4
- package/dist/{auth-choice-CmbfbR4q.js → auth-choice-DrYJKB8t.js} +1 -1
- package/dist/{auth-choice-DsGuT4Dk.js → auth-choice-EwOsmB_b.js} +1 -1
- package/dist/{banner-Ds_jDSsM.js → banner-CJyz7ro7.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-Del6IGRs.js → channel-options-D0NlH6Qb.js} +1 -1
- package/dist/{channel-options-BV6WyWWq.js → channel-options-tWyK68mk.js} +1 -1
- package/dist/{channel-web-Cuukem2c.js → channel-web-PvWA2ukO.js} +1 -1
- package/dist/{channels-cli-C3LiJhRT.js → channels-cli-B50IZ27a.js} +4 -4
- package/dist/{channels-cli-D-E-oHnC.js → channels-cli-BAXmmIxX.js} +4 -4
- package/dist/{chrome-DYZwl5Gv.js → chrome-D2SKJnR7.js} +5 -5
- package/dist/{chrome-CDJYxX5a.js → chrome-DkaXoP36.js} +5 -5
- package/dist/{cli-BavIfExj.js → cli-BW4igUHG.js} +1 -1
- package/dist/{cli-C53UJpN3.js → cli-CPKEDe6C.js} +1 -1
- package/dist/{command-registry-Dtn5iLgE.js → command-registry-DV-FTDz1.js} +9 -9
- package/dist/{completion-cli-DhhIPri-.js → completion-cli-BqzmOZg7.js} +1 -1
- package/dist/{completion-cli-DEFzGiNX.js → completion-cli-Cbr2b-rs.js} +2 -2
- package/dist/{config-cli-DW40utS2.js → config-cli-D5QqQi4y.js} +1 -1
- package/dist/{config-cli-CIhqgzOH.js → config-cli-DBjlHFwQ.js} +1 -1
- package/dist/{configure-SVzErXwX.js → configure-B4VAN-WJ.js} +3 -3
- package/dist/{configure-CkSODPmX.js → configure-DbTH7t_m.js} +3 -3
- package/dist/{deliver-BH0l3UKW.js → deliver-C-37cZUe.js} +1 -1
- package/dist/{deliver-dODxSv3b.js → deliver-C46-vyqg.js} +1 -1
- package/dist/{doctor-completion-BBki2Ufk.js → doctor-completion-Do0e0eZE.js} +1 -1
- package/dist/{doctor-completion-B-w1_lQk.js → doctor-completion-v8uq--hy.js} +1 -1
- package/dist/entry.js +1 -1
- package/dist/extensionAPI.js +6 -6
- package/dist/{gateway-cli-BVbhSSqh.js → gateway-cli-BAiFaCGg.js} +9 -9
- package/dist/{gateway-cli-BNYHujRR.js → gateway-cli-BkOe3JQ_.js} +9 -9
- package/dist/{glass-ui-ws-DfJEU59m.js → glass-ui-ws-B8V4Slwd.js} +7 -7
- package/dist/{glass-ui-ws-B-MkTkAC.js → glass-ui-ws-DFAQWoiK.js} +7 -7
- package/dist/{health-BU6f7W6a.js → health-8bTzq722.js} +1 -1
- package/dist/{health-wZyomt2k.js → health-B3pwVJ_N.js} +1 -1
- package/dist/{hooks-cli-DX4nLKqn.js → hooks-cli-D1Yhb7y5.js} +2 -2
- package/dist/{hooks-cli-CdoOvoX9.js → hooks-cli-Vqz0A84F.js} +2 -2
- package/dist/{image-CXu8W39c.js → image-CuzFLQWC.js} +1 -1
- package/dist/{image-CHzdaNJ4.js → image-DcpMiprB.js} +1 -1
- package/dist/index.js +6 -6
- package/dist/llm-slug-generator.js +6 -6
- package/dist/{models-mS0NbL8c.js → models-BQOnDzS9.js} +2 -2
- package/dist/{models-cli-Bc2k_maK.js → models-cli-BrDyN5KN.js} +3 -3
- package/dist/{models-cli-BeOo0gLs.js → models-cli-EP_U-tWq.js} +2 -2
- package/dist/{onboard-B6VpNEvT.js → onboard-BZNptre7.js} +2 -2
- package/dist/{onboard-Cl0aQccB.js → onboard-DM0BChC6.js} +2 -2
- package/dist/{onboard-channels-BnvM0w8_.js → onboard-channels-4jeB30Ty.js} +1 -1
- package/dist/{onboard-channels-BlmSvsPS.js → onboard-channels-C6dLmiYY.js} +1 -1
- package/dist/{onboarding-DwHp3u6V.js → onboarding-CDdiYaCC.js} +3 -3
- package/dist/{onboarding-BxBRG2z_.js → onboarding-DQJQ-k9A.js} +3 -3
- package/dist/{onboarding.finalize-BrbMUUi5.js → onboarding.finalize-B82xL12C.js} +6 -6
- package/dist/{onboarding.finalize-J7oUfYcz.js → onboarding.finalize-Bmd5TpyH.js} +5 -5
- package/dist/{pi-embedded-gKNapGKh.js → pi-embedded-Dtmwbds4.js} +72 -21
- package/dist/{pi-embedded-helpers-lgx_U5KS.js → pi-embedded-helpers-B8kqLWns.js} +4 -4
- package/dist/{pi-embedded-helpers-pubKo8HQ.js → pi-embedded-helpers-CfqDGQ9J.js} +4 -4
- package/dist/{plugin-registry-CMCHyYWB.js → plugin-registry-D7ylmzDw.js} +1 -1
- package/dist/{plugin-registry-thPK5K1z.js → plugin-registry-DG_WWCr9.js} +1 -1
- package/dist/plugin-sdk/{channel-web-Byw20uRC.js → channel-web-_efq-pM9.js} +1 -1
- package/dist/plugin-sdk/index.js +2 -2
- package/dist/plugin-sdk/{reply-DU2A_Mmx.js → reply-D2W7XCcz.js} +58 -7
- package/dist/plugin-sdk/{web-k5JssYD-.js → web-CmT3D7vj.js} +2 -2
- package/dist/{plugins-cli-B87kp0ad.js → plugins-cli-BUFrZlyR.js} +2 -2
- package/dist/{plugins-cli-DamE7XjD.js → plugins-cli-CMCwFRL9.js} +2 -2
- package/dist/{program-gbhreuEV.js → program-BdVazL5L.js} +7 -7
- package/dist/{program-context-DFKRAsbt.js → program-context-DZNOBe-u.js} +17 -17
- package/dist/{prompt-select-styled-B5bx2NEB.js → prompt-select-styled-XyOMjPBV.js} +4 -4
- package/dist/{prompt-select-styled-BICt4IW2.js → prompt-select-styled-uLoOKbdZ.js} +4 -4
- package/dist/{provider-auth-helpers-DmEnyFX5.js → provider-auth-helpers-CWf7gdZW.js} +1 -1
- package/dist/{provider-auth-helpers-BEu0e6yr.js → provider-auth-helpers-D01YbcHZ.js} +1 -1
- package/dist/{push-apns-tMnMeZX7.js → push-apns-B-zVLcnN.js} +1 -1
- package/dist/{push-apns-DVz2SkR5.js → push-apns-B2bxLda8.js} +1 -1
- package/dist/{pw-ai-De-KR9_s.js → pw-ai-1htA-NnS.js} +1 -1
- package/dist/{pw-ai-B5asscAD.js → pw-ai-m0mj2KWK.js} +1 -1
- package/dist/{register.agent-KI2e7rY8.js → register.agent-BF6_rPdM.js} +5 -5
- package/dist/{register.agent-BOvqehoy.js → register.agent-BYZEiWk1.js} +6 -6
- package/dist/{register.configure-D8DGPMv0.js → register.configure-4lt1A0NF.js} +6 -6
- package/dist/{register.configure-BpxsezsB.js → register.configure-B0g-yfDR.js} +6 -6
- package/dist/{register.maintenance-WRAU5DSR.js → register.maintenance-DXZyjFYw.js} +8 -8
- package/dist/{register.maintenance-BcIwMibz.js → register.maintenance-WBpgdygw.js} +7 -7
- package/dist/{register.message-CX_Dmuke.js → register.message-BHRBK4eH.js} +2 -2
- package/dist/{register.message-C0eMmAGL.js → register.message-CuoXu-_e.js} +2 -2
- package/dist/{register.onboard-ByB6oGQ-.js → register.onboard-D-P9Wc41.js} +4 -4
- package/dist/{register.onboard-BE87LPDH.js → register.onboard-D5-L8JYT.js} +4 -4
- package/dist/{register.setup-DSY9eAV8.js → register.setup-BzmkdzSO.js} +4 -4
- package/dist/{register.setup-D8DgDNnC.js → register.setup-D7NNQwXc.js} +4 -4
- package/dist/{register.status-health-sessions-TMJPmooX.js → register.status-health-sessions-BIwZhPIZ.js} +3 -3
- package/dist/{register.status-health-sessions-CW4DkAa1.js → register.status-health-sessions-DiCr003h.js} +3 -3
- package/dist/{register.subclis-BS-WgVMV.js → register.subclis-BxbyrMu1.js} +9 -9
- package/dist/{reply-B2Xur-75.js → reply-BgOOEOPX.js} +58 -7
- package/dist/{run-main-jFBqLwBJ.js → run-main-BW5eFi2Y.js} +14 -14
- package/dist/{runner-DUBExAb5.js → runner-BcQ0sF9T.js} +1 -1
- package/dist/{runner-WAG0M5s9.js → runner-CU9l0uJh.js} +1 -1
- package/dist/{server-methods-zgqyrRAq.js → server-methods-D-Gd1kMo.js} +7 -7
- package/dist/{server-methods-BqQeaixw.js → server-methods-Dp8iuEko.js} +7 -7
- package/dist/{server-node-events-8pINzbzg.js → server-node-events-B2_RCsYi.js} +2 -2
- package/dist/{server-node-events-Doln-zR2.js → server-node-events-CnjqDQbZ.js} +2 -2
- package/dist/{status-Bdqk3JgK.js → status-4PSvL6ui.js} +2 -2
- package/dist/{status-Bwvq4SPL.js → status-CGhoES6L.js} +1 -1
- package/dist/{status-BDABGQ7Y.js → status-CrVk9Tz5.js} +1 -1
- package/dist/{status-DFml_pIs.js → status-kFfqsras.js} +2 -2
- package/dist/{subagent-registry-CUXuFP-8.js → subagent-registry-M6DQwhYN.js} +58 -7
- package/dist/{unified-runner-CZhWh22N.js → unified-runner-DckayuEM.js} +72 -21
- package/dist/{update-cli-Pwrk83u-.js → update-cli-DCYkskZu.js} +8 -8
- package/dist/{update-cli-C6thJhZU.js → update-cli-x5YGUm9F.js} +7 -7
- package/dist/{update-runner-DgqFpUFr.js → update-runner-BIp88-4P.js} +1 -1
- package/dist/{update-runner-Bssy0nSl.js → update-runner-Dmki2xrH.js} +1 -1
- package/dist/{web-D1KyfkIV.js → web-1JPHv6du.js} +6 -6
- package/dist/{web-DHA8-PYV.js → web-C40boK8U.js} +6 -6
- package/dist/{web-BiK5cfMV.js → web-DWSTD7Gy.js} +1 -1
- package/dist/{web-BFY2FcFr.js → web-rShvuTx4.js} +2 -2
- package/package.json +1 -1
|
@@ -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-M6DQwhYN.js";
|
|
5
5
|
|
|
6
6
|
//#region src/plugins/status.ts
|
|
7
7
|
const log = createSubsystemLogger("plugins");
|
|
@@ -9,7 +9,7 @@ import { c as resolveAgentWorkspaceDir } from "./agent-scope-D-jRCY0d.js";
|
|
|
9
9
|
import { t as buildWorkspaceSkillStatus } from "./skills-status-DKXJ-tbi.js";
|
|
10
10
|
import { H as VERSION, i as loadConfig, o as readConfigFileSnapshot } from "./config-DHBLS1Hl.js";
|
|
11
11
|
import { n as callGateway, t as buildGatewayConnectionDetails } from "./call-BcE47FtD.js";
|
|
12
|
-
import { En as peekSystemEvents, St as summarizeRestartSentinel, cn as buildChannelAccountSnapshot, in as formatUsageReportLines, ln as formatChannelAllowFrom, nt as sha256HexPrefix, rn as loadProviderUsageSummary, sn as buildChannelSummary, xt as readRestartSentinel } from "./subagent-registry-
|
|
12
|
+
import { En as peekSystemEvents, St as summarizeRestartSentinel, cn as buildChannelAccountSnapshot, in as formatUsageReportLines, ln as formatChannelAllowFrom, nt as sha256HexPrefix, rn as loadProviderUsageSummary, sn as buildChannelSummary, xt as readRestartSentinel } from "./subagent-registry-M6DQwhYN.js";
|
|
13
13
|
import { F as resolveMainSessionKey, j as resolveFreshSessionTotalTokens, o as loadSessionStore } from "./sessions-CJXnZVjR.js";
|
|
14
14
|
import { n as listChannelPlugins } from "./plugins-CwSlLxM8.js";
|
|
15
15
|
import { o as getTailnetHostname, s as readTailscaleStatusJson } from "./tailscale-CbbvYNVw.js";
|
|
@@ -29,7 +29,7 @@ import { t as formatRuntimeStatusWithDetails } from "./runtime-status-hFVEC3wO.j
|
|
|
29
29
|
import { t as readLastGatewayErrorLine } from "./diagnostics-CS1ov_hH.js";
|
|
30
30
|
import { t as renderTable } from "./table-D01d2GuY.js";
|
|
31
31
|
import { a as resolveGatewayProbeAuth$1, c as probeGateway, t as runSecurityAudit } from "./audit-Byo5jCLN.js";
|
|
32
|
-
import { o as resolveHeartbeatSummaryForAgent, t as formatHealthChannelLines } from "./health-
|
|
32
|
+
import { o as resolveHeartbeatSummaryForAgent, t as formatHealthChannelLines } from "./health-8bTzq722.js";
|
|
33
33
|
import { g as resolveUpdateChannelDisplay, i as formatGitInstallLabel, m as normalizeUpdateChannel, t as checkUpdateStatus } from "./update-check-ZdimP1aU.js";
|
|
34
34
|
import { t as resolveNodeService } from "./node-service-fcZExd22.js";
|
|
35
35
|
import { n as redactSecrets, t as formatGatewayAuthUsed } from "./format-DVLB9DNB.js";
|
|
@@ -3,7 +3,7 @@ import { $t as triggerInternalHook, A as normalizeChannelId, B as getPluginComma
|
|
|
3
3
|
import { A as buildConfiguredAllowlistKeys, At as resolveShellEnvFallbackTimeoutMs, Ct as resolveEnvApiKey, E as withFileLock, Et as normalizeSecretInput, F as modelKey, H as resolveDefaultModelForAgent, Ht as DEFAULT_MODEL, I as normalizeModelRef$2, K as resolveSubagentSpawnModelSelection, L as normalizeProviderId, M as findNormalizedProviderValue, Ot as getShellPathFromLoginShell, P as isCliProvider, T as resolveSymiAgentDir, Ut as DEFAULT_PROVIDER, V as resolveConfiguredModelRef, Vt as DEFAULT_CONTEXT_TOKENS, W as resolveModelRefFromString, Wt as resolveAuthProfileDisplayLabel, _t as createOllamaStreamFn, a as markAuthProfileFailure, b as ensureAuthProfileStore, bt as requireApiKey, c as resolveApiKeyForProfile, g as markAuthProfileGood, gt as OLLAMA_NATIVE_BASE_URL, h as listProfilesForProvider, i as isProfileInCooldown, j as buildModelAliasIndex, k as buildAllowedModelSet, m as dedupeProfileIds, n as resolveAuthProfileOrder, o as markAuthProfileUsed, q as resolveThinkingDefault, r as getSoonestCooldownExpiry, vt as getApiKeyForModel, w as resolveAuthStorePathForDisplay, wt as resolveModelAuthMode, xt as resolveApiKeyForProvider, yt as getCustomProviderApiKey } from "./auth-profiles-Q1xTr5SX.js";
|
|
4
4
|
import { t as formatCliCommand } from "./command-format-BtYOfWxC.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 } from "./session-key-DjZ7Z1hW.js";
|
|
6
|
-
import { t as resolveSymiPackageRoot } from "./symi-root-BNuQ4lAT.js";
|
|
6
|
+
import { n as resolveSymiPackageRootSync, t as resolveSymiPackageRoot } from "./symi-root-BNuQ4lAT.js";
|
|
7
7
|
import { a as logError, i as logDebug, n as runExec, o as logInfo, r as spawnWithFallback, s as logWarn, t as runCommandWithTimeout } from "./exec-CBKBIMpA.js";
|
|
8
8
|
import { C as ensureAgentWorkspace, E as loadWorkspaceBootstrapFiles, a as resolveAgentModelFallbacksOverride, c as resolveAgentWorkspaceDir, d as resolveSessionAgentId, f as resolveSessionAgentIds, g as DEFAULT_IDENTITY_FILENAME, h as DEFAULT_BOOTSTRAP_FILENAME, i as resolveAgentDir, l as resolveDefaultAgentId, m as DEFAULT_AGENT_WORKSPACE_DIR, n as listAgentIds, o as resolveAgentModelPrimary, r as resolveAgentConfig, s as resolveAgentSkillsFilter, u as resolveEffectiveModelFallbacks, w as filterBootstrapFilesForSession } from "./agent-scope-D-jRCY0d.js";
|
|
9
9
|
import { a as saveJsonFile, i as loadJsonFile } from "./github-copilot-token-DuFIqfeC.js";
|
|
@@ -32297,6 +32297,30 @@ function setCliSessionId(entry, provider, sessionId) {
|
|
|
32297
32297
|
//#endregion
|
|
32298
32298
|
//#region src/config/model-profiles-builtin.ts
|
|
32299
32299
|
/**
|
|
32300
|
+
* Starter pack — always-on context for models with tool arg corruption.
|
|
32301
|
+
* ~500 tokens. Prevents the most common failure patterns.
|
|
32302
|
+
* For detailed file modification guides, the self-inspect skill cascades from here.
|
|
32303
|
+
*/
|
|
32304
|
+
const STARTER_PACK = [
|
|
32305
|
+
"",
|
|
32306
|
+
"YOUR FILES (use read tool directly on these paths — NEVER use exec to find or read files):",
|
|
32307
|
+
"- Glass UI CSS: <SYMI_ROOT>/dist/control-ui/css/style.css",
|
|
32308
|
+
"- Glass UI HTML: <SYMI_ROOT>/dist/control-ui/index.html",
|
|
32309
|
+
"- Glass UI JS: <SYMI_ROOT>/dist/control-ui/js/app.js, gateway.js, render.js, models.js, history.js, symipulse.js, debug.js",
|
|
32310
|
+
"- Package: <SYMI_ROOT>/package.json",
|
|
32311
|
+
"- Config: ~/.symi/symi.json | Sessions: ~/.symi/agents/main/sessions/ | Memory: ~/.symi/state/memory/",
|
|
32312
|
+
"- For detailed modification guides, read the self-inspect skill.",
|
|
32313
|
+
"",
|
|
32314
|
+
"TOOL RULES (mandatory):",
|
|
32315
|
+
"- read/write/edit: Always provide the full absolute path directly. NEVER use exec with cat, head, find, grep, or ls to view files.",
|
|
32316
|
+
"- exec/bash: Provide only valid shell syntax. No tags, no tokens, no markup. Spell commands exactly.",
|
|
32317
|
+
"- web_search: Always include query argument. Example: web_search({ query: \"search terms\" })",
|
|
32318
|
+
"- sessions_spawn: Always include task and mode. Example: sessions_spawn({ label: \"name\", mode: \"run\", task: \"description\" })",
|
|
32319
|
+
"",
|
|
32320
|
+
"KNOWN SHELL COMMANDS (use exact spelling):",
|
|
32321
|
+
"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"
|
|
32322
|
+
];
|
|
32323
|
+
/**
|
|
32300
32324
|
* Built-in model profiles. Ordered from most-specific to least-specific so
|
|
32301
32325
|
* that `resolveModelProfile` can return the first match.
|
|
32302
32326
|
*
|
|
@@ -32339,7 +32363,8 @@ const BUILTIN_PROFILES = [
|
|
|
32339
32363
|
"- Do not write 'Verification:', 'Requirements:', 'Status Check:', or 'Everything is correct'.",
|
|
32340
32364
|
"- If you need to verify your work, do so before writing your response, not after.",
|
|
32341
32365
|
"- Send brief progress updates on long tasks so the user knows you are active.",
|
|
32342
|
-
"- 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."
|
|
32366
|
+
"- 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.",
|
|
32367
|
+
...STARTER_PACK
|
|
32343
32368
|
],
|
|
32344
32369
|
ui: {
|
|
32345
32370
|
badge: "Local",
|
|
@@ -32411,7 +32436,8 @@ const BUILTIN_PROFILES = [
|
|
|
32411
32436
|
"- If you need to verify your work, do so before writing your response, not after.",
|
|
32412
32437
|
"- Keep planning and reasoning internal. Only speak when you have a result or need user input.",
|
|
32413
32438
|
"- When working on multi-step tasks, send a brief one-line status update so the user knows you are active.",
|
|
32414
|
-
"- 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."
|
|
32439
|
+
"- 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.",
|
|
32440
|
+
...STARTER_PACK
|
|
32415
32441
|
],
|
|
32416
32442
|
ui: {
|
|
32417
32443
|
badge: "CoreWeave",
|
|
@@ -39823,7 +39849,18 @@ async function runEmbeddedAttempt(params) {
|
|
|
39823
39849
|
const profileModelKey = params.modelId ?? "";
|
|
39824
39850
|
const modelProfile = resolveModelProfile(profileModelKey, params.config?.models?.profiles);
|
|
39825
39851
|
log$5.debug(`[profile] resolved: modelId=${profileModelKey} → profile=${modelProfile.label} validateToolArgs=${modelProfile.filters?.validateToolArgs ?? false}`);
|
|
39826
|
-
const systemPromptText = createSystemPromptOverride(appendPrompt + (
|
|
39852
|
+
const systemPromptText = createSystemPromptOverride(appendPrompt + (() => {
|
|
39853
|
+
if (modelProfile.promptAdditions.length === 0) return "";
|
|
39854
|
+
let text = "\n\n" + modelProfile.promptAdditions.join("\n");
|
|
39855
|
+
if (text.includes("<SYMI_ROOT>")) {
|
|
39856
|
+
const symiRoot = resolveSymiPackageRootSync({
|
|
39857
|
+
moduleUrl: import.meta.url,
|
|
39858
|
+
argv1: process.argv[1]
|
|
39859
|
+
});
|
|
39860
|
+
if (symiRoot) text = text.replaceAll("<SYMI_ROOT>", symiRoot);
|
|
39861
|
+
}
|
|
39862
|
+
return text;
|
|
39863
|
+
})())();
|
|
39827
39864
|
const sessionLock = await acquireSessionWriteLock({
|
|
39828
39865
|
sessionFile: params.sessionFile,
|
|
39829
39866
|
maxHoldMs: resolveSessionLockMaxHoldFromTimeout({ timeoutMs: params.timeoutMs })
|
|
@@ -40097,6 +40134,18 @@ async function runEmbeddedAttempt(params) {
|
|
|
40097
40134
|
const TOOL_ERROR_ABORT_THRESHOLD = 5;
|
|
40098
40135
|
const TOOL_ERROR_WARN_THRESHOLD = 3;
|
|
40099
40136
|
let consecutiveToolErrors = 0;
|
|
40137
|
+
/** Detect exec/bash results that indicate a shell error (non-zero exit, command not found, etc.) */
|
|
40138
|
+
const isShellErrorResult = (result) => {
|
|
40139
|
+
if (!result || typeof result !== "object") return false;
|
|
40140
|
+
const content = result.content;
|
|
40141
|
+
if (!Array.isArray(content)) return false;
|
|
40142
|
+
const text = content.filter((b) => b && typeof b === "object" && b.type === "text").map((b) => {
|
|
40143
|
+
const t = b.text;
|
|
40144
|
+
return typeof t === "string" ? t : "";
|
|
40145
|
+
}).join("\n");
|
|
40146
|
+
if (!text) return false;
|
|
40147
|
+
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);
|
|
40148
|
+
};
|
|
40100
40149
|
const subscription = subscribeEmbeddedPiSession({
|
|
40101
40150
|
session: activeSession,
|
|
40102
40151
|
runId: params.runId,
|
|
@@ -40122,7 +40171,9 @@ async function runEmbeddedAttempt(params) {
|
|
|
40122
40171
|
const phase = typeof evt.data?.phase === "string" ? evt.data.phase : "";
|
|
40123
40172
|
const isError = evt.data?.isError === true;
|
|
40124
40173
|
if (phase === "result") {
|
|
40125
|
-
|
|
40174
|
+
const toolName = typeof evt.data?.name === "string" ? evt.data.name : "";
|
|
40175
|
+
const isExecShellError = !isError && (toolName === "exec" || toolName === "bash") && isShellErrorResult(evt.data?.result);
|
|
40176
|
+
if (isError || isExecShellError) consecutiveToolErrors++;
|
|
40126
40177
|
else consecutiveToolErrors = 0;
|
|
40127
40178
|
if (consecutiveToolErrors >= TOOL_ERROR_ABORT_THRESHOLD) {
|
|
40128
40179
|
const toolName = typeof evt.data?.name === "string" ? evt.data.name : "unknown";
|
|
@@ -53249,7 +53300,7 @@ function isVoiceChannelType(type) {
|
|
|
53249
53300
|
function createDefaultDeps() {
|
|
53250
53301
|
return {
|
|
53251
53302
|
sendMessageWhatsApp: async (...args) => {
|
|
53252
|
-
const { sendMessageWhatsApp } = await import("./web-
|
|
53303
|
+
const { sendMessageWhatsApp } = await import("./web-DWSTD7Gy.js");
|
|
53253
53304
|
return await sendMessageWhatsApp(...args);
|
|
53254
53305
|
},
|
|
53255
53306
|
sendMessageTelegram: async (...args) => {
|
|
@@ -68563,7 +68614,7 @@ function loadWebLoginQr() {
|
|
|
68563
68614
|
return webLoginQrPromise;
|
|
68564
68615
|
}
|
|
68565
68616
|
function loadWebChannel() {
|
|
68566
|
-
webChannelPromise ??= import("./web-
|
|
68617
|
+
webChannelPromise ??= import("./web-DWSTD7Gy.js");
|
|
68567
68618
|
return webChannelPromise;
|
|
68568
68619
|
}
|
|
68569
68620
|
function loadWhatsAppActions() {
|
|
@@ -4,16 +4,16 @@ import { _ as isCronSessionKey, b as resolveThreadParentSessionKey, c as normali
|
|
|
4
4
|
import { $ as warn, B as sleep$1, D as escapeRegExp, E as ensureDir$3, G as danger, I as resolveUserPath, J as logVerbose, M as normalizeE164, O as formatTerminalLink, R as shortenHomeInString, S as CONFIG_DIR, U as truncateUtf16Safe, V as sliceUtf16Safe, W as isPlainObject, X as setVerbose, Z as shouldLogVerbose, _ as matchPluginCommand, a as normalizeAnyChannelId, d as createPluginRegistry, dt as resolvePreferredSymiTmpDir, et as colorize, f as normalizePluginHttpPath, g as listPluginCommands, h as getPluginCommandSpecs, k as isRecord$1, l as requireActivePluginRegistry, lt as normalizeLogLevel, m as executePluginCommand, n as CHAT_CHANNEL_ORDER, nt as theme, o as normalizeChannelId, p as clearPluginCommands, r as DEFAULT_CHAT_CHANNEL, rt as getChildLogger, tt as isRich, u as setActivePluginRegistry, v as createInternalHookEvent, w as clampInt, x as triggerInternalHook, z as shortenHomePath } from "./registry-DYq1AYOv.js";
|
|
5
5
|
import { a as resolveAgentModelPrimary, c as resolveDefaultAgentId, d as resolveSessionAgentIds, i as resolveAgentModelFallbacksOverride, l as resolveEffectiveModelFallbacks, n as resolveAgentConfig, o as resolveAgentSkillsFilter, r as resolveAgentDir, s as resolveAgentWorkspaceDir, t as listAgentIds, u as resolveSessionAgentId } from "./agent-scope-CpEJ0B88.js";
|
|
6
6
|
import { a as registerActiveProgressLine, i as clearActiveProgressLine, n as createNonExitingRuntime, o as unregisterActiveProgressLine, r as defaultRuntime, t as createSubsystemLogger } from "./subsystem-BjyjJF-d.js";
|
|
7
|
-
import { S as logWarn, _ as runExec, b as logError, f as loadWorkspaceBootstrapFiles, g as runCommandWithTimeout, i as DEFAULT_IDENTITY_FILENAME, l as ensureAgentWorkspace, m as resolveSymiPackageRoot, n as DEFAULT_AGENT_WORKSPACE_DIR, r as DEFAULT_BOOTSTRAP_FILENAME, u as filterBootstrapFilesForSession, v as spawnWithFallback, x as logInfo, y as logDebug } from "./workspace-DscDraUb.js";
|
|
7
|
+
import { S as logWarn, _ as runExec, b as logError, f as loadWorkspaceBootstrapFiles, g as runCommandWithTimeout, h as resolveSymiPackageRootSync, i as DEFAULT_IDENTITY_FILENAME, l as ensureAgentWorkspace, m as resolveSymiPackageRoot, n as DEFAULT_AGENT_WORKSPACE_DIR, r as DEFAULT_BOOTSTRAP_FILENAME, u as filterBootstrapFilesForSession, v as spawnWithFallback, x as logInfo, y as logDebug } from "./workspace-DscDraUb.js";
|
|
8
8
|
import { i as resolveSessionTranscriptPath, n as resolveSessionFilePath, o as resolveSessionTranscriptsDirForAgent, r as resolveSessionFilePathOptions, s as resolveStorePath, t as resolveDefaultSessionStorePath } from "./paths-CbQV9WEg.js";
|
|
9
9
|
import { $ as resolveSymiAgentDir, B as resolveApiKeyForProvider, C as normalizeProviderId, D as resolveModelRefFromString, E as resolveDefaultModelForAgent, F as OLLAMA_NATIVE_BASE_URL, H as resolveModelAuthMode, I as createOllamaStreamFn, K as resolveShellEnvFallbackTimeoutMs, L as getApiKeyForModel, O as resolveSubagentSpawnModelSelection, Q as resolveAuthProfileDisplayLabel, R as getCustomProviderApiKey, S as normalizeModelRef$2, T as resolveConfiguredModelRef, U as normalizeSecretInput, V as resolveEnvApiKey, W as getShellPathFromLoginShell, X as DEFAULT_MODEL, Y as DEFAULT_CONTEXT_TOKENS, Z as DEFAULT_PROVIDER, _ as buildConfiguredAllowlistKeys, a as markAuthProfileFailure, b as isCliProvider, c as dedupeProfileIds, d as ensureAuthProfileStore, f as resolveAuthStorePathForDisplay, g as buildAllowedModelSet, i as isProfileInCooldown, k as resolveThinkingDefault, l as listProfilesForProvider, n as resolveAuthProfileOrder, o as markAuthProfileUsed, p as withFileLock, r as getSoonestCooldownExpiry, s as resolveApiKeyForProfile, u as markAuthProfileGood, v as buildModelAliasIndex, x as modelKey, y as findNormalizedProviderValue, z as requireApiKey } from "./auth-profiles-DdK1Hxaa.js";
|
|
10
10
|
import { n as formatCliCommand, r as resolveCliName, t as isTruthyEnvValue } from "./env-BDXYbTKj.js";
|
|
11
11
|
import { a as saveJsonFile, i as loadJsonFile } from "./github-copilot-token-cCYzSU9h.js";
|
|
12
12
|
import { t as parseBooleanValue$1 } from "./boolean-CE7i9tBR.js";
|
|
13
|
-
import { $ as normalizeDeliveryContext, A as isTransientHttpError, At as DEFAULT_UPLOAD_DIR, Bt as expandToolGroups, C as isContextOverflowError, Ct as resolveGroupSessionKey, D as isRateLimitAssistantError, Dt as registerBrowserRoutes, E as isLikelyContextOverflowError, Et as createBrowserRouteContext, F as resolveSandboxContext, Ft as resolveSandboxConfigForAgent, G as updateLastRoute, Gt as compileGlobPatterns, H as loadSessionStore, Ht as normalizeToolName, I as resolveSandboxRuntimeStatus, It as applyOwnerOnlyToolPolicy, J as isCacheEnabled, Jt as ensureSessionHeader, K as updateSessionStore, Kt as matchesAnyGlobPattern, L as extractDeliveryInfo, Lt as buildPluginToolGroups, M as parseImageSizeError, Mt as getBridgeAuthForPort, N as sanitizeUserFacingText, Nt as ensureBrowserControlAuth, O as isRawApiErrorPayload, Ot as resolveBrowserConfig, P as ensureSandboxWorkspaceForSession, Pt as resolveBrowserControlAuth, Q as mergeDeliveryContext, R as parseSessionThreadInfo, Rt as collectExplicitAllowlist, S as isCompactionFailureError, St as deriveSessionMetaPatch, T as isFailoverErrorMessage, Tt as resolveSessionLockMaxHoldFromTimeout, U as readSessionUpdatedAt, Ut as resolveToolProfilePolicy, V as resolveAndPersistSessionFile, Vt as mergeAlsoAllowPolicy, W as recordSessionMetaFromInbound, Wt as stripPluginOnlyAllowlist, X as deliveryContextFromSession, Xt as resolveBootstrapTotalMaxChars, Y as resolveCacheTtlMs$1, Yt as resolveBootstrapMaxChars, Z as deliveryContextKey, Zt as sanitizeGoogleTurnOrdering, _ as formatRawAssistantErrorForUi, _t as resolveFreshSessionTotalTokens, a as isMessagingToolDuplicateNormalized, at as extractToolCallNames, b as isBillingAssistantError, bt as resolveExplicitAgentSessionKey, c as extractToolCallsFromAssistant, ct as hasInterSessionUserProvenance, d as isAntigravityClaude, dt as evaluateSessionFreshness, et as normalizeSessionDeliveryFields, f as isGoogleModelApi, ft as resolveChannelResetConfig, g as formatBillingErrorMessage, gt as DEFAULT_RESET_TRIGGERS, h as formatAssistantErrorText, ht as resolveThreadFlag, it as countToolResults, j as parseImageDimensionError, jt as resolveExistingPathsWithinRoot, k as isTimeoutErrorMessage, kt as resolveProfile, l as extractToolResultId, lt as normalizeInputProvenance, m as classifyFailoverReason, mt as resolveSessionResetType, n as validateGeminiTurns, nt as archiveSessionTranscripts, o as normalizeTextForComparison, ot as INPUT_PROVENANCE_KIND_VALUES, p as BILLING_ERROR_USER_MESSAGE, pt as resolveSessionResetPolicy, q as updateSessionStoreEntry, qt as buildBootstrapContextFiles, r as pickFallbackThinkingLevel, rt as capArrayByJsonBytes, s as sanitizeSessionMessagesImages, st as applyInputProvenanceToUserMessage, t as validateAnthropicTurns, tt as normalizeAccountId$3, u as downgradeOpenAIReasoningBlocks, ut as resolveSessionKey, v as getApiErrorPayloadFingerprint, vt as canonicalizeMainSessionAlias, w as isFailoverAssistantError, wt as acquireSessionWriteLock, x as isCloudCodeAssistFormatError, xt as resolveMainSessionKey, y as isAuthAssistantError, z as appendAssistantMessageToSessionTranscript, zt as expandPolicyWithPluginGroups } from "./pi-embedded-helpers-
|
|
13
|
+
import { $ as normalizeDeliveryContext, A as isTransientHttpError, At as DEFAULT_UPLOAD_DIR, Bt as expandToolGroups, C as isContextOverflowError, Ct as resolveGroupSessionKey, D as isRateLimitAssistantError, Dt as registerBrowserRoutes, E as isLikelyContextOverflowError, Et as createBrowserRouteContext, F as resolveSandboxContext, Ft as resolveSandboxConfigForAgent, G as updateLastRoute, Gt as compileGlobPatterns, H as loadSessionStore, Ht as normalizeToolName, I as resolveSandboxRuntimeStatus, It as applyOwnerOnlyToolPolicy, J as isCacheEnabled, Jt as ensureSessionHeader, K as updateSessionStore, Kt as matchesAnyGlobPattern, L as extractDeliveryInfo, Lt as buildPluginToolGroups, M as parseImageSizeError, Mt as getBridgeAuthForPort, N as sanitizeUserFacingText, Nt as ensureBrowserControlAuth, O as isRawApiErrorPayload, Ot as resolveBrowserConfig, P as ensureSandboxWorkspaceForSession, Pt as resolveBrowserControlAuth, Q as mergeDeliveryContext, R as parseSessionThreadInfo, Rt as collectExplicitAllowlist, S as isCompactionFailureError, St as deriveSessionMetaPatch, T as isFailoverErrorMessage, Tt as resolveSessionLockMaxHoldFromTimeout, U as readSessionUpdatedAt, Ut as resolveToolProfilePolicy, V as resolveAndPersistSessionFile, Vt as mergeAlsoAllowPolicy, W as recordSessionMetaFromInbound, Wt as stripPluginOnlyAllowlist, X as deliveryContextFromSession, Xt as resolveBootstrapTotalMaxChars, Y as resolveCacheTtlMs$1, Yt as resolveBootstrapMaxChars, Z as deliveryContextKey, Zt as sanitizeGoogleTurnOrdering, _ as formatRawAssistantErrorForUi, _t as resolveFreshSessionTotalTokens, a as isMessagingToolDuplicateNormalized, at as extractToolCallNames, b as isBillingAssistantError, bt as resolveExplicitAgentSessionKey, c as extractToolCallsFromAssistant, ct as hasInterSessionUserProvenance, d as isAntigravityClaude, dt as evaluateSessionFreshness, et as normalizeSessionDeliveryFields, f as isGoogleModelApi, ft as resolveChannelResetConfig, g as formatBillingErrorMessage, gt as DEFAULT_RESET_TRIGGERS, h as formatAssistantErrorText, ht as resolveThreadFlag, it as countToolResults, j as parseImageDimensionError, jt as resolveExistingPathsWithinRoot, k as isTimeoutErrorMessage, kt as resolveProfile, l as extractToolResultId, lt as normalizeInputProvenance, m as classifyFailoverReason, mt as resolveSessionResetType, n as validateGeminiTurns, nt as archiveSessionTranscripts, o as normalizeTextForComparison, ot as INPUT_PROVENANCE_KIND_VALUES, p as BILLING_ERROR_USER_MESSAGE, pt as resolveSessionResetPolicy, q as updateSessionStoreEntry, qt as buildBootstrapContextFiles, r as pickFallbackThinkingLevel, rt as capArrayByJsonBytes, s as sanitizeSessionMessagesImages, st as applyInputProvenanceToUserMessage, t as validateAnthropicTurns, tt as normalizeAccountId$3, u as downgradeOpenAIReasoningBlocks, ut as resolveSessionKey, v as getApiErrorPayloadFingerprint, vt as canonicalizeMainSessionAlias, w as isFailoverAssistantError, wt as acquireSessionWriteLock, x as isCloudCodeAssistFormatError, xt as resolveMainSessionKey, y as isAuthAssistantError, z as appendAssistantMessageToSessionTranscript, zt as expandPolicyWithPluginGroups } from "./pi-embedded-helpers-CfqDGQ9J.js";
|
|
14
14
|
import { A as VERSION, C as getConfigValueAtPath, D as isSafeExecutableValue, E as unsetConfigValueAtPath, O as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH, S as unsetConfigOverride, T as setConfigValueAtPath, _ as parseDurationMs, a as writeConfigFile, b as resetConfigOverrides, c as TELEGRAM_COMMAND_NAME_PATTERN, f as isInboundPathAllowed, g as normalizeScpRemoteHost, h as resolveIMessageRemoteAttachmentRoots, i as resolveConfigSnapshotHash, k as resolveAgentMaxConcurrent, l as normalizeTelegramCommandName, m as resolveIMessageAttachmentRoots, n as loadConfig, o as validateConfigObjectWithPlugins, r as readConfigFileSnapshot, u as resolveTelegramCustomCommands, v as validateJsonSchemaValue, w as parseConfigPath, x as setConfigOverride, y as getConfigOverrides } from "./config-5SdHIcHU.js";
|
|
15
15
|
import { a as applyTestPluginDefaults, c as resolveMemorySlotDecision, d as isDangerousHostEnvVarName, i as safeStatSync, n as discoverSymiPlugins, o as normalizePluginsConfig, r as isPathInside, s as resolveEnableState, t as loadPluginManifestRegistry, u as isPathInsideWithRealpath } from "./manifest-registry-yb7sAlu4.js";
|
|
16
|
-
import { C as rawDataToString, O as DEFAULT_AI_SNAPSHOT_MAX_CHARS, T as isSecureWebSocketUrl, x as ensureChromeExtensionRelayServer } from "./chrome-
|
|
16
|
+
import { C as rawDataToString, O as DEFAULT_AI_SNAPSHOT_MAX_CHARS, T as isSecureWebSocketUrl, x as ensureChromeExtensionRelayServer } from "./chrome-DkaXoP36.js";
|
|
17
17
|
import { c as assertSandboxPath, d as resolveSandboxedMediaSource, f as applySkillEnvOverrides, i as resolveSkillsPromptForRun, l as resolveSandboxInputPath, n as buildWorkspaceSkillSnapshot, p as applySkillEnvOverridesFromSnapshot, r as loadWorkspaceSkillEntries, s as assertMediaNotDataUrl } from "./skills-Bs0AW1g3.js";
|
|
18
18
|
import { n as formatErrorMessage, r as formatUncaughtError } from "./errors-XIsvXeC-.js";
|
|
19
19
|
import { c as detectMime, d as imageMimeFromFormat, f as isAudioFileName, g as MAX_IMAGE_BYTES, i as getImageMetadata, l as extensionForMime, p as isGifMedia, s as resizeToJpeg, v as mediaKindFromMime } from "./image-ops-C7CauEK8.js";
|
|
@@ -31,10 +31,10 @@ import { a as resolveSlackWebClientOptions, c as buildSlackBlocksFallbackText, i
|
|
|
31
31
|
import { $ as fetchChannelPermissionsDiscord, A as unpinMessageDiscord, B as listScheduledEventsDiscord, C as editMessageDiscord, Ct as resolveTimestampMs, D as pinMessageDiscord, Dt as normalizeChannelSlug, E as listThreadsDiscord, Et as buildChannelKeyCandidates, F as fetchMemberInfoDiscord, G as uploadStickerDiscord, H as timeoutMemberDiscord, I as fetchRoleInfoDiscord, J as editChannelDiscord, K as createChannelDiscord, L as fetchVoiceStatusDiscord, M as banMemberDiscord, N as createScheduledEventDiscord, O as readMessagesDiscord, Ot as resolveChannelEntryMatchWithFallback, P as fetchChannelInfoDiscord, Q as stripUndefinedFields, R as kickMemberDiscord, S as deleteMessageDiscord, St as resolveDiscordSystemLocation, T as listPinsDiscord, Tt as applyChannelMatchMeta, U as listGuildEmojisDiscord, V as removeRoleDiscord, W as uploadEmojiDiscord, X as removeChannelPermissionDiscord, Y as moveChannelDiscord, Z as setChannelPermissionDiscord, _ as sendPollDiscord, _t as resolveDiscordShouldRequireMention, a as removeReactionDiscord, at as resolveDiscordChannelId, b as sendWebhookMessageDiscord, bt as formatDiscordReactionEmoji, c as formatDiscordComponentEventText, ct as allowListMatches$1, d as parseDiscordModalCustomId, dt as normalizeDiscordSlug, et as hasAnyGuildPermissionDiscord, f as parseDiscordModalCustomIdForCarbon, ft as resolveDiscordAllowListMatch, g as sendMessageDiscord, gt as resolveDiscordOwnerAllowFrom, h as resolveDiscordModalEntry, ht as resolveDiscordMemberAccessState, i as removeOwnReactionsDiscord, it as parseDiscordTarget, j as addRoleDiscord, k as searchMessagesDiscord, l as parseDiscordComponentCustomId, lt as isDiscordGroupAllowedByPolicy, m as resolveDiscordComponentEntry, mt as resolveDiscordGuildEntry, n as fetchReactionsDiscord, nt as createDiscordClient, o as sendDiscordComponentMessage, ot as listDiscordDirectoryGroupsLive, p as readDiscordComponentSpec, pt as resolveDiscordChannelConfigWithFallback, q as deleteChannelDiscord, r as reactMessageDiscord, rt as createDiscordRestClient, s as createDiscordFormModal, st as listDiscordDirectoryPeersLive, tt as chunkDiscordTextWithMode, u as parseDiscordComponentCustomIdForCarbon, ut as normalizeDiscordAllowList, v as sendStickerDiscord, vt as resolveGroupDmAllow, w as fetchMessageDiscord, wt as fetchDiscord, x as createThreadDiscord, xt as formatDiscordUserTag, y as sendVoiceMessageDiscord, yt as shouldEmitDiscordReactionNotification, z as listGuildChannelsDiscord } from "./send-CvhXrdgS.js";
|
|
32
32
|
import { t as emitSessionTranscriptUpdate } from "./transcript-events-BBh3Gsrx.js";
|
|
33
33
|
import { i as resolveImageSanitizationLimits, n as sanitizeImageBlocks, r as sanitizeToolResultImages } from "./tool-images-SqqWIT22.js";
|
|
34
|
-
import { C as getGlobalHookRunner, S as parseInlineDirectives$1, _ as normalizeTargetForProvider, a as normalizeOutboundPayloadsForJson, b as MEDIA_TOKEN_RE, c as applyReplyThreading, d as isRenderablePayload, f as shouldSuppressMessagingToolReplies, g as normalizeChannelTargetInput, h as buildTargetResolverSignature, i as normalizeOutboundPayloads, l as filterMessagingToolDuplicates, m as resolveReplyToMode, o as normalizeReplyPayloadsForDelivery, p as createReplyToModeFilterForChannel, r as formatOutboundPayloadLog, s as applyReplyTagsToPayload, t as deliverOutboundPayloads, u as filterMessagingToolMediaDuplicates, v as throwIfAborted, w as initializeGlobalHookRunner, x as splitMediaFromOutput, y as parseReplyDirectives } from "./deliver-
|
|
34
|
+
import { C as getGlobalHookRunner, S as parseInlineDirectives$1, _ as normalizeTargetForProvider, a as normalizeOutboundPayloadsForJson, b as MEDIA_TOKEN_RE, c as applyReplyThreading, d as isRenderablePayload, f as shouldSuppressMessagingToolReplies, g as normalizeChannelTargetInput, h as buildTargetResolverSignature, i as normalizeOutboundPayloads, l as filterMessagingToolDuplicates, m as resolveReplyToMode, o as normalizeReplyPayloadsForDelivery, p as createReplyToModeFilterForChannel, r as formatOutboundPayloadLog, s as applyReplyTagsToPayload, t as deliverOutboundPayloads, u as filterMessagingToolMediaDuplicates, v as throwIfAborted, w as initializeGlobalHookRunner, x as splitMediaFromOutput, y as parseReplyDirectives } from "./deliver-C46-vyqg.js";
|
|
35
35
|
import { a as logMessageProcessed, c as logWebhookError, d as startDiagnosticHeartbeat, f as stopDiagnosticHeartbeat, i as logLaneEnqueue, l as logWebhookProcessed, m as isDiagnosticsEnabled, o as logMessageQueued, p as emitDiagnosticEvent, r as logLaneDequeue, s as logSessionStateChange, t as diag, u as logWebhookReceived } from "./diagnostic-rPhsBoZz.js";
|
|
36
36
|
import { r as getDiagnosticSessionState } from "./diagnostic-session-state-Zw87xFym.js";
|
|
37
|
-
import { S as ensureSymiModelsJson, _ as stripMinimaxToolCallXml, a as decodeDataUrl, b as stripReasoningTagsFromText, c as extractAssistantText$1, d as extractThinkingFromTaggedText, f as formatReasoningMessage, g as stripDowngradedToolCallText, h as promoteThinkingTagsToBlocks, i as coerceImageModelConfig, l as extractAssistantThinking, m as isAssistantMessage, o as resolveProviderVisionModelFromConfig, p as inferToolMetaFromArgs, r as coerceImageAssistantText, s as minimaxUnderstandImage, u as extractThinkingFromTaggedStream, v as stripThinkingTagsFromText, x as extractTextFromChatContent, y as resolveToolDisplay } from "./image-
|
|
37
|
+
import { S as ensureSymiModelsJson, _ as stripMinimaxToolCallXml, a as decodeDataUrl, b as stripReasoningTagsFromText, c as extractAssistantText$1, d as extractThinkingFromTaggedText, f as formatReasoningMessage, g as stripDowngradedToolCallText, h as promoteThinkingTagsToBlocks, i as coerceImageModelConfig, l as extractAssistantThinking, m as isAssistantMessage, o as resolveProviderVisionModelFromConfig, p as inferToolMetaFromArgs, r as coerceImageAssistantText, s as minimaxUnderstandImage, u as extractThinkingFromTaggedStream, v as stripThinkingTagsFromText, x as extractTextFromChatContent, y as resolveToolDisplay } from "./image-CuzFLQWC.js";
|
|
38
38
|
import { a as isSilentReplyText, i as isSilentReplyPrefixText, n as SILENT_REPLY_TOKEN, r as SYMIPULSE_TOKEN, t as HEARTBEAT_TOKEN } from "./tokens-Bux9Y_xD.js";
|
|
39
39
|
import { $ as isVoiceCompatibleAudio, A as extractTelegramLocation, B as normalizeAllowFromWithStore$1, C as buildTelegramGroupFrom, D as buildTypingThreadParams, E as buildTelegramThreadParams, F as resolveTelegramMediaPlaceholder, G as formatLocationText, H as firstDefined$1, I as resolveTelegramReplyId, J as readChannelAllowFromStore, K as toLocationContext, L as resolveTelegramStreamMode, M as normalizeForwardedContext, N as resolveTelegramForumThreadId, O as describeReplyTarget, P as resolveTelegramGroupAllowFromContext, Q as listPairingChannels, R as resolveTelegramThreadSpec, S as buildSenderName, T as buildTelegramParentPeer, U as isSenderIdAllowed, V as resolveSenderAllowMatch, W as mergeAllowFromSources, X as upsertChannelPairingRequest, Y as removeChannelAllowFromStoreEntry, Z as getPairingAdapter, _ as resolveTelegramFetch, a as reactMessageTelegram, b as buildGroupLabel, c as sendStickerTelegram, d as wasSentByBot, et as parseTelegramTarget, f as isRecoverableTelegramNetworkError, g as wrapFileReferencesInHtml, h as renderTelegramHtmlText, i as editMessageTelegram, j as hasBotMention, k as expandTextLinks, m as markdownToTelegramHtml, n as createForumTopicTelegram, o as sendMessageTelegram, p as markdownToTelegramChunks, q as addChannelAllowFromStoreEntry, r as deleteMessageTelegram, s as sendPollTelegram, t as buildInlineKeyboard, tt as resolveTelegramTargetChatType, u as resolveTelegramVoiceSend, v as splitTelegramCaption, w as buildTelegramGroupPeerId, x as buildSenderLabel, y as withTelegramApiErrorLogging, z as isSenderAllowed$1 } from "./send-DYj_o4_F.js";
|
|
40
40
|
import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-Bv5YDJc8.js";
|
|
@@ -49,7 +49,7 @@ import { n as fetchWithTimeout, t as bindAbortRelay } from "./fetch-timeout-DL3f
|
|
|
49
49
|
import { a as readResponseWithLimit, i as fetchRemoteMedia, n as getDefaultMediaLocalRoots, o as fetchWithSsrFGuard, t as getAgentScopedMediaLocalRoots } from "./local-roots-DhZz0Ybs.js";
|
|
50
50
|
import { a as loadWebMedia, i as getDefaultLocalRoots } from "./ir-CTiz95Vb.js";
|
|
51
51
|
import { _ as resolveNativeCommandsEnabled, a as listChatCommandsForConfig, c as normalizeCommandBody, d as resolveCommandArgMenu, f as serializeCommandArgs, g as isRestartEnabled, h as isNativeCommandsExplicitlyDisabled, i as listChatCommands, l as parseCommandArgs, m as isCommandFlagEnabled, o as listNativeCommandSpecs, p as shouldHandleTextCommands, r as findCommandByNativeName, s as listNativeCommandSpecsForConfig, t as buildCommandTextFromArgs, u as resolveCommandArgChoices, v as resolveNativeSkillsEnabled } from "./commands-registry-Bfc7Uz0o.js";
|
|
52
|
-
import { _ as CLI_OUTPUT_MAX_BUFFER, a as resolveMediaAttachmentLocalRoots, c as loadModelCatalog, d as resolveAttachmentKind, f as buildRandomTempFilePath, g as resolveMediaUnderstandingScope, h as normalizeMediaUnderstandingChatType, i as resolveAutoImageModel, l as modelSupportsVision, m as resolveTimeoutMs$1, n as createMediaAttachmentCache, o as runCapability, p as resolveConcurrency, r as normalizeMediaAttachments, s as findModelInCatalog, t as buildProviderRegistry, v as applyTemplate, y as registerUnhandledRejectionHandler } from "./runner-
|
|
52
|
+
import { _ as CLI_OUTPUT_MAX_BUFFER, a as resolveMediaAttachmentLocalRoots, c as loadModelCatalog, d as resolveAttachmentKind, f as buildRandomTempFilePath, g as resolveMediaUnderstandingScope, h as normalizeMediaUnderstandingChatType, i as resolveAutoImageModel, l as modelSupportsVision, m as resolveTimeoutMs$1, n as createMediaAttachmentCache, o as runCapability, p as resolveConcurrency, r as normalizeMediaAttachments, s as findModelInCatalog, t as buildProviderRegistry, v as applyTemplate, y as registerUnhandledRejectionHandler } from "./runner-CU9l0uJh.js";
|
|
53
53
|
import { c as getSkillsSnapshotVersion, d as createAsyncLock, f as readJsonFile, i as resolveSkillCommandInvocation, l as pruneExpiredPending, n as listSkillCommandsForAgents, o as getRemoteSkillEligibility, p as writeJsonAtomic, r as listSkillCommandsForWorkspace, s as ensureSkillsWatcher, t as listReservedChatSlashCommandNames, u as resolvePairingPaths } from "./skill-commands-DcVwOafC.js";
|
|
54
54
|
import { r as normalizeInboundTextNewlines, t as finalizeInboundContext } from "./inbound-context-DSDTl6Kj.js";
|
|
55
55
|
import { n as wrapFetchWithAbortSignal, t as resolveFetch } from "./fetch-Bso4i15F.js";
|
|
@@ -80,7 +80,7 @@ import AjvPkg from "ajv";
|
|
|
80
80
|
import { CURRENT_SESSION_VERSION, DefaultResourceLoader, SessionManager, SettingsManager, codingTools, createAgentSession, createEditTool, createReadTool, createWriteTool, estimateTokens, generateSummary, readTool } from "@mariozechner/pi-coding-agent";
|
|
81
81
|
import { createServer } from "node:http";
|
|
82
82
|
import { ProxyAgent, fetch as fetch$1 } from "undici";
|
|
83
|
-
import WebSocket, { WebSocket
|
|
83
|
+
import WebSocket$1, { WebSocket } from "ws";
|
|
84
84
|
import { Buffer as Buffer$1 } from "node:buffer";
|
|
85
85
|
import { EdgeTTS } from "node-edge-tts";
|
|
86
86
|
import { createJiti } from "jiti";
|
|
@@ -104,6 +104,30 @@ import { apiThrottler } from "@grammyjs/transformer-throttler";
|
|
|
104
104
|
|
|
105
105
|
//#region src/config/model-profiles-builtin.ts
|
|
106
106
|
/**
|
|
107
|
+
* Starter pack — always-on context for models with tool arg corruption.
|
|
108
|
+
* ~500 tokens. Prevents the most common failure patterns.
|
|
109
|
+
* For detailed file modification guides, the self-inspect skill cascades from here.
|
|
110
|
+
*/
|
|
111
|
+
const STARTER_PACK = [
|
|
112
|
+
"",
|
|
113
|
+
"YOUR FILES (use read tool directly on these paths — NEVER use exec to find or read files):",
|
|
114
|
+
"- Glass UI CSS: <SYMI_ROOT>/dist/control-ui/css/style.css",
|
|
115
|
+
"- Glass UI HTML: <SYMI_ROOT>/dist/control-ui/index.html",
|
|
116
|
+
"- Glass UI JS: <SYMI_ROOT>/dist/control-ui/js/app.js, gateway.js, render.js, models.js, history.js, symipulse.js, debug.js",
|
|
117
|
+
"- Package: <SYMI_ROOT>/package.json",
|
|
118
|
+
"- Config: ~/.symi/symi.json | Sessions: ~/.symi/agents/main/sessions/ | Memory: ~/.symi/state/memory/",
|
|
119
|
+
"- For detailed modification guides, read the self-inspect skill.",
|
|
120
|
+
"",
|
|
121
|
+
"TOOL RULES (mandatory):",
|
|
122
|
+
"- read/write/edit: Always provide the full absolute path directly. NEVER use exec with cat, head, find, grep, or ls to view files.",
|
|
123
|
+
"- exec/bash: Provide only valid shell syntax. No tags, no tokens, no markup. Spell commands exactly.",
|
|
124
|
+
"- web_search: Always include query argument. Example: web_search({ query: \"search terms\" })",
|
|
125
|
+
"- sessions_spawn: Always include task and mode. Example: sessions_spawn({ label: \"name\", mode: \"run\", task: \"description\" })",
|
|
126
|
+
"",
|
|
127
|
+
"KNOWN SHELL COMMANDS (use exact spelling):",
|
|
128
|
+
"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"
|
|
129
|
+
];
|
|
130
|
+
/**
|
|
107
131
|
* Built-in model profiles. Ordered from most-specific to least-specific so
|
|
108
132
|
* that `resolveModelProfile` can return the first match.
|
|
109
133
|
*
|
|
@@ -146,7 +170,8 @@ const BUILTIN_PROFILES = [
|
|
|
146
170
|
"- Do not write 'Verification:', 'Requirements:', 'Status Check:', or 'Everything is correct'.",
|
|
147
171
|
"- If you need to verify your work, do so before writing your response, not after.",
|
|
148
172
|
"- Send brief progress updates on long tasks so the user knows you are active.",
|
|
149
|
-
"- 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."
|
|
173
|
+
"- 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.",
|
|
174
|
+
...STARTER_PACK
|
|
150
175
|
],
|
|
151
176
|
ui: {
|
|
152
177
|
badge: "Local",
|
|
@@ -218,7 +243,8 @@ const BUILTIN_PROFILES = [
|
|
|
218
243
|
"- If you need to verify your work, do so before writing your response, not after.",
|
|
219
244
|
"- Keep planning and reasoning internal. Only speak when you have a result or need user input.",
|
|
220
245
|
"- When working on multi-step tasks, send a brief one-line status update so the user knows you are active.",
|
|
221
|
-
"- 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."
|
|
246
|
+
"- 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.",
|
|
247
|
+
...STARTER_PACK
|
|
222
248
|
],
|
|
223
249
|
ui: {
|
|
224
250
|
badge: "CoreWeave",
|
|
@@ -8636,7 +8662,7 @@ var GatewayClient = class {
|
|
|
8636
8662
|
if (fingerprint !== expected) return /* @__PURE__ */ new Error("gateway tls fingerprint mismatch");
|
|
8637
8663
|
});
|
|
8638
8664
|
}
|
|
8639
|
-
this.ws = new WebSocket
|
|
8665
|
+
this.ws = new WebSocket(url, wsOptions);
|
|
8640
8666
|
this.ws.on("open", () => {
|
|
8641
8667
|
if (url.startsWith("wss://") && this.opts.tlsFingerprint) {
|
|
8642
8668
|
const tlsError = this.validateTlsFingerprint();
|
|
@@ -8855,7 +8881,7 @@ var GatewayClient = class {
|
|
|
8855
8881
|
return null;
|
|
8856
8882
|
}
|
|
8857
8883
|
async request(method, params, opts) {
|
|
8858
|
-
if (!this.ws || this.ws.readyState !== WebSocket
|
|
8884
|
+
if (!this.ws || this.ws.readyState !== WebSocket.OPEN) throw new Error("gateway not connected");
|
|
8859
8885
|
const id = randomUUID();
|
|
8860
8886
|
const frame = {
|
|
8861
8887
|
type: "req",
|
|
@@ -10121,7 +10147,7 @@ async function routeReply(params) {
|
|
|
10121
10147
|
const resolvedReplyToId = replyToId ?? (channelId === "slack" && threadId != null && threadId !== "" ? String(threadId) : void 0);
|
|
10122
10148
|
const resolvedThreadId = channelId === "slack" ? null : threadId ?? null;
|
|
10123
10149
|
try {
|
|
10124
|
-
const { deliverOutboundPayloads } = await import("./deliver-
|
|
10150
|
+
const { deliverOutboundPayloads } = await import("./deliver-C46-vyqg.js").then((n) => n.n);
|
|
10125
10151
|
return {
|
|
10126
10152
|
ok: true,
|
|
10127
10153
|
messageId: (await deliverOutboundPayloads({
|
|
@@ -43560,7 +43586,7 @@ async function deliverSessionMaintenanceWarning(params) {
|
|
|
43560
43586
|
return;
|
|
43561
43587
|
}
|
|
43562
43588
|
try {
|
|
43563
|
-
const { deliverOutboundPayloads } = await import("./deliver-
|
|
43589
|
+
const { deliverOutboundPayloads } = await import("./deliver-C46-vyqg.js").then((n) => n.n);
|
|
43564
43590
|
await deliverOutboundPayloads({
|
|
43565
43591
|
cfg: params.cfg,
|
|
43566
43592
|
channel,
|
|
@@ -47006,7 +47032,7 @@ async function describeStickerImage(params) {
|
|
|
47006
47032
|
logVerbose(`telegram: describing sticker with ${provider}/${model}`);
|
|
47007
47033
|
try {
|
|
47008
47034
|
const buffer = await fs$1.readFile(imagePath);
|
|
47009
|
-
const { describeImageWithModel } = await import("./image-
|
|
47035
|
+
const { describeImageWithModel } = await import("./image-CuzFLQWC.js").then((n) => n.n);
|
|
47010
47036
|
return (await describeImageWithModel({
|
|
47011
47037
|
buffer,
|
|
47012
47038
|
fileName: "sticker.webp",
|
|
@@ -49668,7 +49694,7 @@ async function preflightDiscordMessage(params) {
|
|
|
49668
49694
|
let preflightTranscript;
|
|
49669
49695
|
const hasAudioAttachment = message.attachments?.some((att) => att.contentType?.startsWith("audio/"));
|
|
49670
49696
|
if (!isDirectMessage && shouldRequireMention && hasAudioAttachment && !baseText && mentionRegexes.length > 0) try {
|
|
49671
|
-
const { transcribeFirstAudio } = await import("./audio-preflight-
|
|
49697
|
+
const { transcribeFirstAudio } = await import("./audio-preflight-BVaaZWkg.js");
|
|
49672
49698
|
const audioPaths = message.attachments?.filter((att) => att.contentType?.startsWith("audio/")).map((att) => att.url) ?? [];
|
|
49673
49699
|
if (audioPaths.length > 0) preflightTranscript = await transcribeFirstAudio({
|
|
49674
49700
|
ctx: {
|
|
@@ -53674,7 +53700,7 @@ function isVoiceChannelType(type) {
|
|
|
53674
53700
|
function createDefaultDeps() {
|
|
53675
53701
|
return {
|
|
53676
53702
|
sendMessageWhatsApp: async (...args) => {
|
|
53677
|
-
const { sendMessageWhatsApp } = await import("./web-
|
|
53703
|
+
const { sendMessageWhatsApp } = await import("./web-1JPHv6du.js");
|
|
53678
53704
|
return await sendMessageWhatsApp(...args);
|
|
53679
53705
|
},
|
|
53680
53706
|
sendMessageTelegram: async (...args) => {
|
|
@@ -56579,7 +56605,7 @@ function createDiscordGatewayPlugin(params) {
|
|
|
56579
56605
|
super(options);
|
|
56580
56606
|
}
|
|
56581
56607
|
createWebSocket(url) {
|
|
56582
|
-
return new WebSocket(url, { agent });
|
|
56608
|
+
return new WebSocket$1(url, { agent });
|
|
56583
56609
|
}
|
|
56584
56610
|
}
|
|
56585
56611
|
return new ProxyGatewayPlugin();
|
|
@@ -66797,7 +66823,7 @@ const buildTelegramMessageContext = async ({ primaryCtx, allMedia, storeAllowFro
|
|
|
66797
66823
|
const hasAudio = allMedia.some((media) => media.contentType?.startsWith("audio/"));
|
|
66798
66824
|
let preflightTranscript;
|
|
66799
66825
|
if (isGroup && requireMention && hasAudio && !hasUserText && mentionRegexes.length > 0) try {
|
|
66800
|
-
const { transcribeFirstAudio } = await import("./audio-preflight-
|
|
66826
|
+
const { transcribeFirstAudio } = await import("./audio-preflight-BVaaZWkg.js");
|
|
66801
66827
|
preflightTranscript = await transcribeFirstAudio({
|
|
66802
66828
|
ctx: {
|
|
66803
66829
|
MediaPaths: allMedia.length > 0 ? allMedia.map((m) => m.path) : void 0,
|
|
@@ -68954,7 +68980,7 @@ function loadWebLoginQr() {
|
|
|
68954
68980
|
return webLoginQrPromise;
|
|
68955
68981
|
}
|
|
68956
68982
|
function loadWebChannel() {
|
|
68957
|
-
webChannelPromise ??= import("./web-
|
|
68983
|
+
webChannelPromise ??= import("./web-1JPHv6du.js");
|
|
68958
68984
|
return webChannelPromise;
|
|
68959
68985
|
}
|
|
68960
68986
|
function loadWhatsAppActions() {
|
|
@@ -77023,7 +77049,18 @@ async function runEmbeddedAttempt(params) {
|
|
|
77023
77049
|
const profileModelKey = params.modelId ?? "";
|
|
77024
77050
|
const modelProfile = resolveModelProfile(profileModelKey, params.config?.models?.profiles);
|
|
77025
77051
|
log$9.debug(`[profile] resolved: modelId=${profileModelKey} → profile=${modelProfile.label} validateToolArgs=${modelProfile.filters?.validateToolArgs ?? false}`);
|
|
77026
|
-
const systemPromptText = createSystemPromptOverride(appendPrompt + (
|
|
77052
|
+
const systemPromptText = createSystemPromptOverride(appendPrompt + (() => {
|
|
77053
|
+
if (modelProfile.promptAdditions.length === 0) return "";
|
|
77054
|
+
let text = "\n\n" + modelProfile.promptAdditions.join("\n");
|
|
77055
|
+
if (text.includes("<SYMI_ROOT>")) {
|
|
77056
|
+
const symiRoot = resolveSymiPackageRootSync({
|
|
77057
|
+
moduleUrl: import.meta.url,
|
|
77058
|
+
argv1: process.argv[1]
|
|
77059
|
+
});
|
|
77060
|
+
if (symiRoot) text = text.replaceAll("<SYMI_ROOT>", symiRoot);
|
|
77061
|
+
}
|
|
77062
|
+
return text;
|
|
77063
|
+
})())();
|
|
77027
77064
|
const sessionLock = await acquireSessionWriteLock({
|
|
77028
77065
|
sessionFile: params.sessionFile,
|
|
77029
77066
|
maxHoldMs: resolveSessionLockMaxHoldFromTimeout({ timeoutMs: params.timeoutMs })
|
|
@@ -77297,6 +77334,18 @@ async function runEmbeddedAttempt(params) {
|
|
|
77297
77334
|
const TOOL_ERROR_ABORT_THRESHOLD = 5;
|
|
77298
77335
|
const TOOL_ERROR_WARN_THRESHOLD = 3;
|
|
77299
77336
|
let consecutiveToolErrors = 0;
|
|
77337
|
+
/** Detect exec/bash results that indicate a shell error (non-zero exit, command not found, etc.) */
|
|
77338
|
+
const isShellErrorResult = (result) => {
|
|
77339
|
+
if (!result || typeof result !== "object") return false;
|
|
77340
|
+
const content = result.content;
|
|
77341
|
+
if (!Array.isArray(content)) return false;
|
|
77342
|
+
const text = content.filter((b) => b && typeof b === "object" && b.type === "text").map((b) => {
|
|
77343
|
+
const t = b.text;
|
|
77344
|
+
return typeof t === "string" ? t : "";
|
|
77345
|
+
}).join("\n");
|
|
77346
|
+
if (!text) return false;
|
|
77347
|
+
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);
|
|
77348
|
+
};
|
|
77300
77349
|
const subscription = subscribeEmbeddedPiSession({
|
|
77301
77350
|
session: activeSession,
|
|
77302
77351
|
runId: params.runId,
|
|
@@ -77322,7 +77371,9 @@ async function runEmbeddedAttempt(params) {
|
|
|
77322
77371
|
const phase = typeof evt.data?.phase === "string" ? evt.data.phase : "";
|
|
77323
77372
|
const isError = evt.data?.isError === true;
|
|
77324
77373
|
if (phase === "result") {
|
|
77325
|
-
|
|
77374
|
+
const toolName = typeof evt.data?.name === "string" ? evt.data.name : "";
|
|
77375
|
+
const isExecShellError = !isError && (toolName === "exec" || toolName === "bash") && isShellErrorResult(evt.data?.result);
|
|
77376
|
+
if (isError || isExecShellError) consecutiveToolErrors++;
|
|
77326
77377
|
else consecutiveToolErrors = 0;
|
|
77327
77378
|
if (consecutiveToolErrors >= TOOL_ERROR_ABORT_THRESHOLD) {
|
|
77328
77379
|
const toolName = typeof evt.data?.name === "string" ? evt.data.name : "unknown";
|
|
@@ -16,7 +16,7 @@ import "./client-DMBZpU6X.js";
|
|
|
16
16
|
import "./call-BcE47FtD.js";
|
|
17
17
|
import "./message-channel-C9dERklz.js";
|
|
18
18
|
import "./pairing-token-Byh6drgn.js";
|
|
19
|
-
import { Ct as trimLogTail } from "./subagent-registry-
|
|
19
|
+
import { Ct as trimLogTail } from "./subagent-registry-M6DQwhYN.js";
|
|
20
20
|
import "./sessions-CJXnZVjR.js";
|
|
21
21
|
import "./tokens-Csntmwwn.js";
|
|
22
22
|
import "./plugins-CwSlLxM8.js";
|
|
@@ -111,10 +111,10 @@ import "./npm-registry-spec-DkaZNHAW.js";
|
|
|
111
111
|
import "./skill-scanner-BGWOBqLY.js";
|
|
112
112
|
import "./installs-CgQpVncj.js";
|
|
113
113
|
import "./channels-status-issues-c7qZbYG5.js";
|
|
114
|
-
import "./register.subclis-
|
|
115
|
-
import "./command-registry-
|
|
114
|
+
import "./register.subclis-BxbyrMu1.js";
|
|
115
|
+
import "./command-registry-DV-FTDz1.js";
|
|
116
116
|
import "./program-context-CqzR_m-7.js";
|
|
117
|
-
import { r as installCompletion } from "./completion-cli-
|
|
117
|
+
import { r as installCompletion } from "./completion-cli-Cbr2b-rs.js";
|
|
118
118
|
import "./daemon-runtime-CfRwa6qh.js";
|
|
119
119
|
import { r as parseSemver } from "./runtime-guard-D7waq_Ho.js";
|
|
120
120
|
import "./systemd-DlMdyFDY.js";
|
|
@@ -124,19 +124,19 @@ import "./systemd-hints-sQipWGd1.js";
|
|
|
124
124
|
import { i as runDaemonInstall, r as runDaemonRestart } from "./daemon-cli-wWnBIQtk.js";
|
|
125
125
|
import "./diagnostics-CS1ov_hH.js";
|
|
126
126
|
import { t as renderTable } from "./table-D01d2GuY.js";
|
|
127
|
-
import "./health-
|
|
127
|
+
import "./health-8bTzq722.js";
|
|
128
128
|
import "./control-ui-assets-BseSWee1.js";
|
|
129
129
|
import { a as resolveNpmChannelTag, c as DEFAULT_PACKAGE_CHANNEL, d as formatUpdateChannelLabel, g as resolveUpdateChannelDisplay, h as resolveEffectiveUpdateChannel, m as normalizeUpdateChannel, n as compareSemverStrings, r as fetchNpmTagVersion, s as DEFAULT_GIT_CHANNEL, t as checkUpdateStatus, u as channelToNpmTag } from "./update-check-ZdimP1aU.js";
|
|
130
130
|
import "./dm-policy-shared-DJ-61hCT.js";
|
|
131
131
|
import { i as resolveUpdateAvailability, n as formatUpdateOneLiner, t as formatUpdateAvailableHint } from "./status.update-DbmZz0Aq.js";
|
|
132
|
-
import { a as globalInstallArgs, c as readPackageVersion, i as detectGlobalInstallManagerForRoot, n as cleanupGlobalRenameDirs, o as resolveGlobalPackageRoot, r as detectGlobalInstallManagerByPresence, s as readPackageName, t as runGatewayUpdate } from "./update-runner-
|
|
132
|
+
import { a as globalInstallArgs, c as readPackageVersion, i as detectGlobalInstallManagerForRoot, n as cleanupGlobalRenameDirs, o as resolveGlobalPackageRoot, r as detectGlobalInstallManagerByPresence, s as readPackageName, t as runGatewayUpdate } from "./update-runner-BIp88-4P.js";
|
|
133
133
|
import "./logging-BGewRZy0.js";
|
|
134
134
|
import { n as updateNpmInstalledPlugins, t as syncPluginsForUpdateChannel } from "./update-DEMKx4eC.js";
|
|
135
135
|
import "./doctor-config-flow-CA3eiKhd.js";
|
|
136
136
|
import "./systemd-linger-DA_LW52P.js";
|
|
137
137
|
import "./health-format-CzgUHmmX.js";
|
|
138
|
-
import { n as doctorCommand, t as selectStyled } from "./prompt-select-styled-
|
|
139
|
-
import { r as ensureCompletionCacheExists, t as checkShellCompletionStatus } from "./doctor-completion-
|
|
138
|
+
import { n as doctorCommand, t as selectStyled } from "./prompt-select-styled-uLoOKbdZ.js";
|
|
139
|
+
import { r as ensureCompletionCacheExists, t as checkShellCompletionStatus } from "./doctor-completion-v8uq--hy.js";
|
|
140
140
|
import { spawn, spawnSync } from "node:child_process";
|
|
141
141
|
import os from "node:os";
|
|
142
142
|
import path from "node:path";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { g as resolveStateDir } from "./paths-Cqn-zk3M.js";
|
|
2
2
|
import { B as theme, h as pathExists } from "./utils-B-0b9bGM.js";
|
|
3
3
|
import "./thinking-EAliFiVK.js";
|
|
4
|
-
import { V as trimLogTail } from "./reply-
|
|
4
|
+
import { V as trimLogTail } from "./reply-BgOOEOPX.js";
|
|
5
5
|
import { t as resolveSymiPackageRoot } from "./symi-root-CrGJbkzf.js";
|
|
6
6
|
import "./registry-Cja8eT7G.js";
|
|
7
7
|
import { f as defaultRuntime } from "./subsystem-D9vIQve0.js";
|
|
@@ -106,7 +106,7 @@ import "./stagger-BUClb97_.js";
|
|
|
106
106
|
import { c as resolveGatewayLaunchAgentLabel, d as resolveGatewaySystemdServiceName, f as resolveGatewayWindowsTaskName } from "./constants-C8_BLnaW.js";
|
|
107
107
|
import "./channel-selection-DuWs0Aak.js";
|
|
108
108
|
import { r as parseSemver } from "./runtime-guard-B37eizu-.js";
|
|
109
|
-
import "./program-context-
|
|
109
|
+
import "./program-context-DZNOBe-u.js";
|
|
110
110
|
import "./catalog-RiADx7MA.js";
|
|
111
111
|
import "./skills-status-CURJKnyY.js";
|
|
112
112
|
import { n as inheritOptionFromParent } from "./command-options-BtDai3oC.js";
|
|
@@ -117,7 +117,7 @@ import "./npm-registry-spec-C2JDdSZS.js";
|
|
|
117
117
|
import "./skill-scanner-CLs8u6vQ.js";
|
|
118
118
|
import "./installs-C1Cebk97.js";
|
|
119
119
|
import "./channels-status-issues-B_kBkl_u.js";
|
|
120
|
-
import { r as installCompletion } from "./completion-cli-
|
|
120
|
+
import { r as installCompletion } from "./completion-cli-BqzmOZg7.js";
|
|
121
121
|
import "./daemon-runtime-2mwX-jqj.js";
|
|
122
122
|
import "./systemd-riq8uNJQ.js";
|
|
123
123
|
import { t as resolveGatewayService } from "./service-Cl74hx8J.js";
|
|
@@ -126,19 +126,19 @@ import "./systemd-hints-BR6gChwm.js";
|
|
|
126
126
|
import { i as runDaemonInstall, r as runDaemonRestart } from "./daemon-cli-DscwlsKW.js";
|
|
127
127
|
import "./diagnostics-BAMlsVVX.js";
|
|
128
128
|
import { t as renderTable } from "./table-BTgkRafz.js";
|
|
129
|
-
import "./health-
|
|
129
|
+
import "./health-B3pwVJ_N.js";
|
|
130
130
|
import "./control-ui-assets-Z947tKLt.js";
|
|
131
131
|
import { a as resolveNpmChannelTag, c as DEFAULT_PACKAGE_CHANNEL, d as formatUpdateChannelLabel, g as resolveUpdateChannelDisplay, h as resolveEffectiveUpdateChannel, m as normalizeUpdateChannel, n as compareSemverStrings, r as fetchNpmTagVersion, s as DEFAULT_GIT_CHANNEL, t as checkUpdateStatus, u as channelToNpmTag } from "./update-check-CtckACbb.js";
|
|
132
132
|
import "./dm-policy-shared-Bh3TbexU.js";
|
|
133
133
|
import { i as resolveUpdateAvailability, n as formatUpdateOneLiner, t as formatUpdateAvailableHint } from "./status.update-DtwCUTf-.js";
|
|
134
|
-
import { a as globalInstallArgs, c as readPackageVersion, i as detectGlobalInstallManagerForRoot, n as cleanupGlobalRenameDirs, o as resolveGlobalPackageRoot, r as detectGlobalInstallManagerByPresence, s as readPackageName, t as runGatewayUpdate } from "./update-runner-
|
|
134
|
+
import { a as globalInstallArgs, c as readPackageVersion, i as detectGlobalInstallManagerForRoot, n as cleanupGlobalRenameDirs, o as resolveGlobalPackageRoot, r as detectGlobalInstallManagerByPresence, s as readPackageName, t as runGatewayUpdate } from "./update-runner-Dmki2xrH.js";
|
|
135
135
|
import "./logging-BzzwiKjv.js";
|
|
136
136
|
import { n as updateNpmInstalledPlugins, t as syncPluginsForUpdateChannel } from "./update-rw7wJwHd.js";
|
|
137
137
|
import "./doctor-config-flow-QnaBd8kL.js";
|
|
138
138
|
import "./systemd-linger-aQ75ZlXY.js";
|
|
139
139
|
import "./health-format-DSwnXZPU.js";
|
|
140
|
-
import { n as doctorCommand, t as selectStyled } from "./prompt-select-styled-
|
|
141
|
-
import { r as ensureCompletionCacheExists, t as checkShellCompletionStatus } from "./doctor-completion-
|
|
140
|
+
import { n as doctorCommand, t as selectStyled } from "./prompt-select-styled-XyOMjPBV.js";
|
|
141
|
+
import { r as ensureCompletionCacheExists, t as checkShellCompletionStatus } from "./doctor-completion-Do0e0eZE.js";
|
|
142
142
|
import os from "node:os";
|
|
143
143
|
import path from "node:path";
|
|
144
144
|
import fs from "node:fs/promises";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { nt as pathExists } from "./entry.js";
|
|
2
2
|
import { t as runCommandWithTimeout } from "./exec-CBKBIMpA.js";
|
|
3
|
-
import { Ct as trimLogTail } from "./subagent-registry-
|
|
3
|
+
import { Ct as trimLogTail } from "./subagent-registry-M6DQwhYN.js";
|
|
4
4
|
import { n as resolveControlUiDistIndexHealth, r as resolveControlUiDistIndexPathForRoot } from "./control-ui-assets-BseSWee1.js";
|
|
5
5
|
import { c as DEFAULT_PACKAGE_CHANNEL, f as isBetaTag, l as DEV_BRANCH, n as compareSemverStrings, o as detectPackageManager$1, p as isStableTag, u as channelToNpmTag } from "./update-check-ZdimP1aU.js";
|
|
6
6
|
import os from "node:os";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { h as pathExists } from "./utils-B-0b9bGM.js";
|
|
2
|
-
import { V as trimLogTail } from "./reply-
|
|
2
|
+
import { V as trimLogTail } from "./reply-BgOOEOPX.js";
|
|
3
3
|
import { t as runCommandWithTimeout } from "./exec-CWkblSrI.js";
|
|
4
4
|
import { n as resolveControlUiDistIndexHealth, r as resolveControlUiDistIndexPathForRoot } from "./control-ui-assets-Z947tKLt.js";
|
|
5
5
|
import { c as DEFAULT_PACKAGE_CHANNEL, f as isBetaTag, l as DEV_BRANCH, n as compareSemverStrings, o as detectPackageManager$1, p as isStableTag, u as channelToNpmTag } from "./update-check-CtckACbb.js";
|
|
@@ -4,16 +4,16 @@ import { A as isSelfChatMode, B as sleep, C as clamp, F as resolveJidToE164, H a
|
|
|
4
4
|
import "./agent-scope-CpEJ0B88.js";
|
|
5
5
|
import { r as defaultRuntime, t as createSubsystemLogger } from "./subsystem-BjyjJF-d.js";
|
|
6
6
|
import "./workspace-DscDraUb.js";
|
|
7
|
-
import { C as resolveEnvelopeFormatOptions, D as normalizeMentionText, E as buildMentionRegexes, S as formatInboundEnvelope, T as shouldComputeCommandAuthorized, _ as parseActivationCommand, b as createInboundDebouncer, c as DEFAULT_GROUP_HISTORY_LIMIT, d as shouldAckReactionForWhatsApp, f as dispatchReplyWithBufferedBlockDispatcher, g as normalizeGroupActivation, h as getReplyFromConfig, l as buildHistoryContextFromEntries, m as createDedupeCache, n as computeBackoff, o as buildPairingReply, r as sleepWithAbort, s as resolveMentionGating, u as recordPendingHistoryEntryIfEnabled, v as formatDurationPrecise, w as hasControlCommand, x as resolveInboundDebounceMs, y as enqueueSystemEvent } from "./unified-runner-
|
|
7
|
+
import { C as resolveEnvelopeFormatOptions, D as normalizeMentionText, E as buildMentionRegexes, S as formatInboundEnvelope, T as shouldComputeCommandAuthorized, _ as parseActivationCommand, b as createInboundDebouncer, c as DEFAULT_GROUP_HISTORY_LIMIT, d as shouldAckReactionForWhatsApp, f as dispatchReplyWithBufferedBlockDispatcher, g as normalizeGroupActivation, h as getReplyFromConfig, l as buildHistoryContextFromEntries, m as createDedupeCache, n as computeBackoff, o as buildPairingReply, r as sleepWithAbort, s as resolveMentionGating, u as recordPendingHistoryEntryIfEnabled, v as formatDurationPrecise, w as hasControlCommand, x as resolveInboundDebounceMs, y as enqueueSystemEvent } from "./unified-runner-DckayuEM.js";
|
|
8
8
|
import { s as resolveStorePath } from "./paths-CbQV9WEg.js";
|
|
9
9
|
import "./auth-profiles-DdK1Hxaa.js";
|
|
10
10
|
import { n as formatCliCommand } from "./env-BDXYbTKj.js";
|
|
11
11
|
import "./github-copilot-token-cCYzSU9h.js";
|
|
12
12
|
import "./boolean-CE7i9tBR.js";
|
|
13
|
-
import { Ct as resolveGroupSessionKey, G as updateLastRoute, H as loadSessionStore, U as readSessionUpdatedAt, W as recordSessionMetaFromInbound } from "./pi-embedded-helpers-
|
|
13
|
+
import { Ct as resolveGroupSessionKey, G as updateLastRoute, H as loadSessionStore, U as readSessionUpdatedAt, W as recordSessionMetaFromInbound } from "./pi-embedded-helpers-CfqDGQ9J.js";
|
|
14
14
|
import { n as loadConfig } from "./config-5SdHIcHU.js";
|
|
15
15
|
import "./manifest-registry-yb7sAlu4.js";
|
|
16
|
-
import "./chrome-
|
|
16
|
+
import "./chrome-DkaXoP36.js";
|
|
17
17
|
import "./frontmatter-CTR5f_Ez.js";
|
|
18
18
|
import "./skills-Bs0AW1g3.js";
|
|
19
19
|
import "./redact-BDMXB06K.js";
|
|
@@ -31,10 +31,10 @@ import "./bindings-BsHoBLIE.js";
|
|
|
31
31
|
import "./send-CVMyYPQw.js";
|
|
32
32
|
import "./send-CvhXrdgS.js";
|
|
33
33
|
import "./tool-images-SqqWIT22.js";
|
|
34
|
-
import "./deliver-
|
|
34
|
+
import "./deliver-C46-vyqg.js";
|
|
35
35
|
import "./diagnostic-rPhsBoZz.js";
|
|
36
36
|
import "./diagnostic-session-state-Zw87xFym.js";
|
|
37
|
-
import "./image-
|
|
37
|
+
import "./image-CuzFLQWC.js";
|
|
38
38
|
import "./tokens-Bux9Y_xD.js";
|
|
39
39
|
import { G as formatLocationText, J as readChannelAllowFromStore, K as toLocationContext, X as upsertChannelPairingRequest } from "./send-DYj_o4_F.js";
|
|
40
40
|
import "./pi-model-discovery-Bv5YDJc8.js";
|
|
@@ -50,7 +50,7 @@ import { t as getAgentScopedMediaLocalRoots } from "./local-roots-DhZz0Ybs.js";
|
|
|
50
50
|
import { a as loadWebMedia } from "./ir-CTiz95Vb.js";
|
|
51
51
|
import "./render-CDCvpfhh.js";
|
|
52
52
|
import "./commands-registry-Bfc7Uz0o.js";
|
|
53
|
-
import { y as registerUnhandledRejectionHandler } from "./runner-
|
|
53
|
+
import { y as registerUnhandledRejectionHandler } from "./runner-CU9l0uJh.js";
|
|
54
54
|
import "./skill-commands-DcVwOafC.js";
|
|
55
55
|
import { t as finalizeInboundContext } from "./inbound-context-DSDTl6Kj.js";
|
|
56
56
|
import "./fetch-Bso4i15F.js";
|