@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
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { u as resolveGatewayPort } from "./paths-Cqn-zk3M.js";
|
|
2
2
|
import { B as theme, k as info, z as isRich } from "./utils-B-0b9bGM.js";
|
|
3
|
-
import { B as summarizeRestartSentinel, Jt as sha256HexPrefix, _t as formatUsageReportLines, a as buildChannelSummary, gt as loadProviderUsageSummary, h as listAgentsForGateway, m as classifySessionKey, o as buildChannelAccountSnapshot, pr as lookupContextTokens, s as formatChannelAllowFrom, wr as peekSystemEvents, x as resolveSessionModelRef, z as readRestartSentinel } from "./reply-
|
|
3
|
+
import { B as summarizeRestartSentinel, Jt as sha256HexPrefix, _t as formatUsageReportLines, a as buildChannelSummary, gt as loadProviderUsageSummary, h as listAgentsForGateway, m as classifySessionKey, o as buildChannelAccountSnapshot, pr as lookupContextTokens, s as formatChannelAllowFrom, wr as peekSystemEvents, x as resolveSessionModelRef, z as readRestartSentinel } from "./reply-DU025-Dw.js";
|
|
4
4
|
import { S as parseAgentSessionKey } from "./session-key-DCt45XZa.js";
|
|
5
5
|
import { t as resolveSymiPackageRoot } from "./symi-root-CrGJbkzf.js";
|
|
6
6
|
import { n as runExec } from "./exec-CWkblSrI.js";
|
|
@@ -28,7 +28,7 @@ import { t as formatRuntimeStatusWithDetails } from "./runtime-status-CR9445g5.j
|
|
|
28
28
|
import { t as readLastGatewayErrorLine } from "./diagnostics-BAMlsVVX.js";
|
|
29
29
|
import { t as renderTable } from "./table-BTgkRafz.js";
|
|
30
30
|
import { a as resolveGatewayProbeAuth$1, c as probeGateway, t as runSecurityAudit } from "./audit-CrITRV6w.js";
|
|
31
|
-
import { a as resolveHeartbeatSummaryForAgent, t as formatHealthChannelLines } from "./health-
|
|
31
|
+
import { a as resolveHeartbeatSummaryForAgent, t as formatHealthChannelLines } from "./health-B8uQe9CP.js";
|
|
32
32
|
import { g as resolveUpdateChannelDisplay, i as formatGitInstallLabel, m as normalizeUpdateChannel, t as checkUpdateStatus } from "./update-check-CtckACbb.js";
|
|
33
33
|
import { t as resolveNodeService } from "./node-service-Cxz4e-Qd.js";
|
|
34
34
|
import { n as redactSecrets, t as formatGatewayAuthUsed } from "./format-yQZNwAF2.js";
|
|
@@ -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-C-JJ2VmR.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-8DlAtuas.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 {
|
|
6
|
+
import { 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,30 +32297,6 @@ 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
|
-
/**
|
|
32324
32300
|
* Built-in model profiles. Ordered from most-specific to least-specific so
|
|
32325
32301
|
* that `resolveModelProfile` can return the first match.
|
|
32326
32302
|
*
|
|
@@ -32363,8 +32339,7 @@ const BUILTIN_PROFILES = [
|
|
|
32363
32339
|
"- Do not write 'Verification:', 'Requirements:', 'Status Check:', or 'Everything is correct'.",
|
|
32364
32340
|
"- If you need to verify your work, do so before writing your response, not after.",
|
|
32365
32341
|
"- Send brief progress updates on long tasks so the user knows you are active.",
|
|
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
|
|
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."
|
|
32368
32343
|
],
|
|
32369
32344
|
ui: {
|
|
32370
32345
|
badge: "Local",
|
|
@@ -32372,6 +32347,52 @@ const BUILTIN_PROFILES = [
|
|
|
32372
32347
|
armWatchdogOnSend: true
|
|
32373
32348
|
}
|
|
32374
32349
|
},
|
|
32350
|
+
{
|
|
32351
|
+
match: ["nemotron/"],
|
|
32352
|
+
label: "Nemotron",
|
|
32353
|
+
params: {
|
|
32354
|
+
temperature: 1,
|
|
32355
|
+
top_p: .95,
|
|
32356
|
+
top_k: 64,
|
|
32357
|
+
max_tokens: 4096,
|
|
32358
|
+
stop: ["<end_of_turn>", "<eos>"]
|
|
32359
|
+
},
|
|
32360
|
+
streaming: {
|
|
32361
|
+
deltaThrottleMs: 50,
|
|
32362
|
+
flushOnFinal: true,
|
|
32363
|
+
chunkPattern: "burst"
|
|
32364
|
+
},
|
|
32365
|
+
filters: {
|
|
32366
|
+
stripPatterns: [
|
|
32367
|
+
"<\\|channel>\\w*",
|
|
32368
|
+
"<channel\\|>",
|
|
32369
|
+
"<start_of_turn>(?:model|user)?",
|
|
32370
|
+
"<end_of_turn>",
|
|
32371
|
+
"<\\|(?:fim_prefix|fim_suffix|fim_middle)\\|>",
|
|
32372
|
+
"^\\s*<bos>\\s*"
|
|
32373
|
+
],
|
|
32374
|
+
suppressMonologue: true,
|
|
32375
|
+
hasStructuredThinking: false,
|
|
32376
|
+
validateToolArgs: true
|
|
32377
|
+
},
|
|
32378
|
+
promptAdditions: [
|
|
32379
|
+
"CRITICAL OUTPUT RULES:",
|
|
32380
|
+
"- Your response ends when you have delivered the answer. Do not append anything after.",
|
|
32381
|
+
"- Do not output raw control tokens, channel tags, turn markers, or <|channel>thought syntax.",
|
|
32382
|
+
"- Do not begin any sentence with 'I have addressed' or 'I've reviewed'.",
|
|
32383
|
+
"- Do not write verification checklists, self-assessments, or numbered assessment lists after your answer.",
|
|
32384
|
+
"- Do not write 'Verification:', 'Requirements:', 'Status Check:', or 'Everything is correct'.",
|
|
32385
|
+
"- If you need to verify your work, do so before writing your response, not after.",
|
|
32386
|
+
"- Keep planning and reasoning internal. Only speak when you have a result or need user input.",
|
|
32387
|
+
"- When working on multi-step tasks, send a brief one-line status update so the user knows you are active.",
|
|
32388
|
+
"- 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."
|
|
32389
|
+
],
|
|
32390
|
+
ui: {
|
|
32391
|
+
badge: "Local",
|
|
32392
|
+
watchdogMs: 6e5,
|
|
32393
|
+
armWatchdogOnSend: true
|
|
32394
|
+
}
|
|
32395
|
+
},
|
|
32375
32396
|
{
|
|
32376
32397
|
match: ["anthropic/", "claude-"],
|
|
32377
32398
|
label: "Claude",
|
|
@@ -32436,8 +32457,7 @@ const BUILTIN_PROFILES = [
|
|
|
32436
32457
|
"- If you need to verify your work, do so before writing your response, not after.",
|
|
32437
32458
|
"- Keep planning and reasoning internal. Only speak when you have a result or need user input.",
|
|
32438
32459
|
"- When working on multi-step tasks, send a brief one-line status update so the user knows you are active.",
|
|
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
|
|
32460
|
+
"- 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."
|
|
32441
32461
|
],
|
|
32442
32462
|
ui: {
|
|
32443
32463
|
badge: "CoreWeave",
|
|
@@ -35605,175 +35625,6 @@ function toClientToolDefinitions(tools, onClientToolCall, hookContext) {
|
|
|
35605
35625
|
* @module
|
|
35606
35626
|
*/
|
|
35607
35627
|
/**
|
|
35608
|
-
* Known shell commands for prefix deduplication.
|
|
35609
|
-
* When token boundary corruption doubles a command prefix (grep → grgrep,
|
|
35610
|
-
* ls → lsls), we check the first token against this set. If stripping
|
|
35611
|
-
* the repeated prefix yields a known command, use it.
|
|
35612
|
-
*
|
|
35613
|
-
* O(1) lookup. Zero false positives — no valid command is its own prefix doubled.
|
|
35614
|
-
*/
|
|
35615
|
-
const KNOWN_COMMANDS = new Set([
|
|
35616
|
-
"ls",
|
|
35617
|
-
"cat",
|
|
35618
|
-
"cp",
|
|
35619
|
-
"mv",
|
|
35620
|
-
"rm",
|
|
35621
|
-
"mkdir",
|
|
35622
|
-
"rmdir",
|
|
35623
|
-
"touch",
|
|
35624
|
-
"chmod",
|
|
35625
|
-
"chown",
|
|
35626
|
-
"chgrp",
|
|
35627
|
-
"ln",
|
|
35628
|
-
"pwd",
|
|
35629
|
-
"echo",
|
|
35630
|
-
"printf",
|
|
35631
|
-
"head",
|
|
35632
|
-
"tail",
|
|
35633
|
-
"wc",
|
|
35634
|
-
"sort",
|
|
35635
|
-
"uniq",
|
|
35636
|
-
"cut",
|
|
35637
|
-
"tr",
|
|
35638
|
-
"tee",
|
|
35639
|
-
"xargs",
|
|
35640
|
-
"env",
|
|
35641
|
-
"date",
|
|
35642
|
-
"sleep",
|
|
35643
|
-
"true",
|
|
35644
|
-
"false",
|
|
35645
|
-
"yes",
|
|
35646
|
-
"test",
|
|
35647
|
-
"expr",
|
|
35648
|
-
"basename",
|
|
35649
|
-
"dirname",
|
|
35650
|
-
"readlink",
|
|
35651
|
-
"realpath",
|
|
35652
|
-
"mktemp",
|
|
35653
|
-
"stat",
|
|
35654
|
-
"file",
|
|
35655
|
-
"dd",
|
|
35656
|
-
"df",
|
|
35657
|
-
"du",
|
|
35658
|
-
"id",
|
|
35659
|
-
"whoami",
|
|
35660
|
-
"hostname",
|
|
35661
|
-
"uname",
|
|
35662
|
-
"grep",
|
|
35663
|
-
"egrep",
|
|
35664
|
-
"fgrep",
|
|
35665
|
-
"find",
|
|
35666
|
-
"locate",
|
|
35667
|
-
"sed",
|
|
35668
|
-
"awk",
|
|
35669
|
-
"diff",
|
|
35670
|
-
"patch",
|
|
35671
|
-
"strings",
|
|
35672
|
-
"less",
|
|
35673
|
-
"more",
|
|
35674
|
-
"tar",
|
|
35675
|
-
"gzip",
|
|
35676
|
-
"gunzip",
|
|
35677
|
-
"zip",
|
|
35678
|
-
"unzip",
|
|
35679
|
-
"bzip2",
|
|
35680
|
-
"xz",
|
|
35681
|
-
"curl",
|
|
35682
|
-
"wget",
|
|
35683
|
-
"ssh",
|
|
35684
|
-
"scp",
|
|
35685
|
-
"rsync",
|
|
35686
|
-
"ping",
|
|
35687
|
-
"dig",
|
|
35688
|
-
"nslookup",
|
|
35689
|
-
"netstat",
|
|
35690
|
-
"lsof",
|
|
35691
|
-
"nc",
|
|
35692
|
-
"ifconfig",
|
|
35693
|
-
"ip",
|
|
35694
|
-
"ps",
|
|
35695
|
-
"top",
|
|
35696
|
-
"kill",
|
|
35697
|
-
"killall",
|
|
35698
|
-
"nohup",
|
|
35699
|
-
"nice",
|
|
35700
|
-
"which",
|
|
35701
|
-
"type",
|
|
35702
|
-
"where",
|
|
35703
|
-
"man",
|
|
35704
|
-
"sudo",
|
|
35705
|
-
"su",
|
|
35706
|
-
"mount",
|
|
35707
|
-
"umount",
|
|
35708
|
-
"systemctl",
|
|
35709
|
-
"journalctl",
|
|
35710
|
-
"launchctl",
|
|
35711
|
-
"dmesg",
|
|
35712
|
-
"sysctl",
|
|
35713
|
-
"git",
|
|
35714
|
-
"make",
|
|
35715
|
-
"gcc",
|
|
35716
|
-
"python",
|
|
35717
|
-
"python3",
|
|
35718
|
-
"pip",
|
|
35719
|
-
"pip3",
|
|
35720
|
-
"node",
|
|
35721
|
-
"npm",
|
|
35722
|
-
"npx",
|
|
35723
|
-
"pnpm",
|
|
35724
|
-
"yarn",
|
|
35725
|
-
"cargo",
|
|
35726
|
-
"go",
|
|
35727
|
-
"ruby",
|
|
35728
|
-
"gem",
|
|
35729
|
-
"java",
|
|
35730
|
-
"javac",
|
|
35731
|
-
"docker",
|
|
35732
|
-
"brew",
|
|
35733
|
-
"open",
|
|
35734
|
-
"pbcopy",
|
|
35735
|
-
"pbpaste",
|
|
35736
|
-
"defaults",
|
|
35737
|
-
"diskutil",
|
|
35738
|
-
"sw_vers",
|
|
35739
|
-
"system_profiler",
|
|
35740
|
-
"plutil",
|
|
35741
|
-
"mdfind",
|
|
35742
|
-
"mdls",
|
|
35743
|
-
"softwareupdate",
|
|
35744
|
-
"caffeinate",
|
|
35745
|
-
"say",
|
|
35746
|
-
"osascript",
|
|
35747
|
-
"security",
|
|
35748
|
-
"codesign",
|
|
35749
|
-
"hdiutil",
|
|
35750
|
-
"installer",
|
|
35751
|
-
"lipo",
|
|
35752
|
-
"otool",
|
|
35753
|
-
"dscl",
|
|
35754
|
-
"scutil"
|
|
35755
|
-
]);
|
|
35756
|
-
/**
|
|
35757
|
-
* Fix command prefix duplication from token boundary splits.
|
|
35758
|
-
* Token corruption can double a multi-char prefix: grep → grgrep, ls → lsls.
|
|
35759
|
-
* Check if the first token starts with a repeated prefix that, when removed,
|
|
35760
|
-
* yields a known command.
|
|
35761
|
-
*
|
|
35762
|
-
* Examples: grgrep → grep, lsls → ls, catcat → cat, curlcurl → curl
|
|
35763
|
-
*/
|
|
35764
|
-
function dedupCommandPrefix(command) {
|
|
35765
|
-
const match = command.match(/^([a-zA-Z0-9_-]+)/);
|
|
35766
|
-
if (!match) return command;
|
|
35767
|
-
const firstToken = match[1];
|
|
35768
|
-
if (KNOWN_COMMANDS.has(firstToken)) return command;
|
|
35769
|
-
for (let prefixLen = 2; prefixLen <= Math.min(10, Math.floor(firstToken.length / 2)); prefixLen++) {
|
|
35770
|
-
const prefix = firstToken.slice(0, prefixLen);
|
|
35771
|
-
const candidate = firstToken.slice(prefixLen);
|
|
35772
|
-
if (candidate.startsWith(prefix.slice(0, Math.min(prefix.length, candidate.length))) && KNOWN_COMMANDS.has(candidate)) return candidate + command.slice(firstToken.length);
|
|
35773
|
-
}
|
|
35774
|
-
return command;
|
|
35775
|
-
}
|
|
35776
|
-
/**
|
|
35777
35628
|
* Validate that a command string contains extractable valid shell syntax.
|
|
35778
35629
|
* Returns the cleaned command if valid, or an error reason if not.
|
|
35779
35630
|
*
|
|
@@ -35792,7 +35643,6 @@ function validateShellCommand(command) {
|
|
|
35792
35643
|
cleaned = cleaned.replace(/<\|[^|>]*(?:\|>)?/g, "").trim();
|
|
35793
35644
|
cleaned = cleanResidualTokenFragments(cleaned);
|
|
35794
35645
|
}
|
|
35795
|
-
cleaned = dedupCommandPrefix(cleaned);
|
|
35796
35646
|
if (!cleaned || !cleaned.trim()) return {
|
|
35797
35647
|
valid: false,
|
|
35798
35648
|
cleaned: "",
|
|
@@ -39849,18 +39699,7 @@ async function runEmbeddedAttempt(params) {
|
|
|
39849
39699
|
const profileModelKey = params.modelId ?? "";
|
|
39850
39700
|
const modelProfile = resolveModelProfile(profileModelKey, params.config?.models?.profiles);
|
|
39851
39701
|
log$5.debug(`[profile] resolved: modelId=${profileModelKey} → profile=${modelProfile.label} validateToolArgs=${modelProfile.filters?.validateToolArgs ?? false}`);
|
|
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
|
-
})())();
|
|
39702
|
+
const systemPromptText = createSystemPromptOverride(appendPrompt + (modelProfile.promptAdditions.length > 0 ? "\n\n" + modelProfile.promptAdditions.join("\n") : ""))();
|
|
39864
39703
|
const sessionLock = await acquireSessionWriteLock({
|
|
39865
39704
|
sessionFile: params.sessionFile,
|
|
39866
39705
|
maxHoldMs: resolveSessionLockMaxHoldFromTimeout({ timeoutMs: params.timeoutMs })
|
|
@@ -40134,18 +39973,6 @@ async function runEmbeddedAttempt(params) {
|
|
|
40134
39973
|
const TOOL_ERROR_ABORT_THRESHOLD = 5;
|
|
40135
39974
|
const TOOL_ERROR_WARN_THRESHOLD = 3;
|
|
40136
39975
|
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
|
-
};
|
|
40149
39976
|
const subscription = subscribeEmbeddedPiSession({
|
|
40150
39977
|
session: activeSession,
|
|
40151
39978
|
runId: params.runId,
|
|
@@ -40171,9 +39998,7 @@ async function runEmbeddedAttempt(params) {
|
|
|
40171
39998
|
const phase = typeof evt.data?.phase === "string" ? evt.data.phase : "";
|
|
40172
39999
|
const isError = evt.data?.isError === true;
|
|
40173
40000
|
if (phase === "result") {
|
|
40174
|
-
|
|
40175
|
-
const isExecShellError = !isError && (toolName === "exec" || toolName === "bash") && isShellErrorResult(evt.data?.result);
|
|
40176
|
-
if (isError || isExecShellError) consecutiveToolErrors++;
|
|
40001
|
+
if (isError) consecutiveToolErrors++;
|
|
40177
40002
|
else consecutiveToolErrors = 0;
|
|
40178
40003
|
if (consecutiveToolErrors >= TOOL_ERROR_ABORT_THRESHOLD) {
|
|
40179
40004
|
const toolName = typeof evt.data?.name === "string" ? evt.data.name : "unknown";
|
|
@@ -53300,7 +53125,7 @@ function isVoiceChannelType(type) {
|
|
|
53300
53125
|
function createDefaultDeps() {
|
|
53301
53126
|
return {
|
|
53302
53127
|
sendMessageWhatsApp: async (...args) => {
|
|
53303
|
-
const { sendMessageWhatsApp } = await import("./web-
|
|
53128
|
+
const { sendMessageWhatsApp } = await import("./web-BUXU8aHt.js");
|
|
53304
53129
|
return await sendMessageWhatsApp(...args);
|
|
53305
53130
|
},
|
|
53306
53131
|
sendMessageTelegram: async (...args) => {
|
|
@@ -68614,7 +68439,7 @@ function loadWebLoginQr() {
|
|
|
68614
68439
|
return webLoginQrPromise;
|
|
68615
68440
|
}
|
|
68616
68441
|
function loadWebChannel() {
|
|
68617
|
-
webChannelPromise ??= import("./web-
|
|
68442
|
+
webChannelPromise ??= import("./web-BUXU8aHt.js");
|
|
68618
68443
|
return webChannelPromise;
|
|
68619
68444
|
}
|
|
68620
68445
|
function loadWhatsAppActions() {
|