@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.
Files changed (118) hide show
  1. package/dist/{agents-BEWe0DLk.js → agents-p4UQ5QFH.js} +4 -4
  2. package/dist/{agents.config-C76tSodQ.js → agents.config-D7aaLeuW.js} +1 -1
  3. package/dist/{agents.config-DxYp0zoG.js → agents.config-DDFFWWKf.js} +1 -1
  4. package/dist/{audio-preflight-CPBOQV4I.js → audio-preflight-C40mKAp7.js} +4 -4
  5. package/dist/{audio-preflight-BVaaZWkg.js → audio-preflight-DHTaS5U1.js} +4 -4
  6. package/dist/{auth-choice-EwOsmB_b.js → auth-choice-BXoSDb_9.js} +1 -1
  7. package/dist/{auth-choice-DrYJKB8t.js → auth-choice-DeYYQOns.js} +1 -1
  8. package/dist/{banner-CJyz7ro7.js → banner-_OS2xmMF.js} +1 -1
  9. package/dist/build-info.json +3 -3
  10. package/dist/bundled/boot-md/handler.js +6 -6
  11. package/dist/bundled/session-memory/handler.js +6 -6
  12. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  13. package/dist/{channel-options-D0NlH6Qb.js → channel-options-CbZIcMGC.js} +1 -1
  14. package/dist/{channel-options-tWyK68mk.js → channel-options-D9UfDD9j.js} +1 -1
  15. package/dist/{channel-web-PvWA2ukO.js → channel-web-L1DDfHzk.js} +1 -1
  16. package/dist/{channels-cli-B50IZ27a.js → channels-cli-4GM5fqNa.js} +4 -4
  17. package/dist/{channels-cli-BAXmmIxX.js → channels-cli-CXa7mgR9.js} +4 -4
  18. package/dist/{chrome-DkaXoP36.js → chrome-CDJYxX5a.js} +5 -5
  19. package/dist/{chrome-D2SKJnR7.js → chrome-DYZwl5Gv.js} +5 -5
  20. package/dist/{cli-CPKEDe6C.js → cli-B-wwaV4Y.js} +1 -1
  21. package/dist/{cli-BW4igUHG.js → cli-C8QNJgG8.js} +1 -1
  22. package/dist/{command-registry-DV-FTDz1.js → command-registry-DXdP9h9E.js} +9 -9
  23. package/dist/{completion-cli-BqzmOZg7.js → completion-cli-BqsjyQ-I.js} +1 -1
  24. package/dist/{completion-cli-Cbr2b-rs.js → completion-cli-hQmnRt3u.js} +2 -2
  25. package/dist/{config-cli-DBjlHFwQ.js → config-cli-DvqG-E-3.js} +1 -1
  26. package/dist/{config-cli-D5QqQi4y.js → config-cli-i08FMBVe.js} +1 -1
  27. package/dist/{configure-DbTH7t_m.js → configure-Cxa5EWql.js} +3 -3
  28. package/dist/{configure-B4VAN-WJ.js → configure-DKc61kbD.js} +3 -3
  29. package/dist/control-ui/js/models.js +2 -2
  30. package/dist/{deliver-C-37cZUe.js → deliver-BH0l3UKW.js} +1 -1
  31. package/dist/{deliver-C46-vyqg.js → deliver-dODxSv3b.js} +1 -1
  32. package/dist/{doctor-completion-v8uq--hy.js → doctor-completion-C9CcD8pq.js} +1 -1
  33. package/dist/{doctor-completion-Do0e0eZE.js → doctor-completion-Dq3zKXdh.js} +1 -1
  34. package/dist/entry.js +1 -1
  35. package/dist/extensionAPI.js +6 -6
  36. package/dist/{gateway-cli-BkOe3JQ_.js → gateway-cli-CxzaL9HR.js} +9 -9
  37. package/dist/{gateway-cli-BAiFaCGg.js → gateway-cli-D4JEZSb9.js} +9 -9
  38. package/dist/{glass-ui-ws-DFAQWoiK.js → glass-ui-ws-D4Dqbeuw.js} +7 -7
  39. package/dist/{glass-ui-ws-B8V4Slwd.js → glass-ui-ws-KXmUDlRi.js} +7 -7
  40. package/dist/{health-8bTzq722.js → health-8DlAtuas.js} +1 -1
  41. package/dist/{health-B3pwVJ_N.js → health-B8uQe9CP.js} +1 -1
  42. package/dist/{hooks-cli-D1Yhb7y5.js → hooks-cli-B7qROHCQ.js} +2 -2
  43. package/dist/{hooks-cli-Vqz0A84F.js → hooks-cli-BAM_LcfL.js} +2 -2
  44. package/dist/{image-DcpMiprB.js → image-CHzdaNJ4.js} +1 -1
  45. package/dist/{image-CuzFLQWC.js → image-CXu8W39c.js} +1 -1
  46. package/dist/index.js +6 -6
  47. package/dist/llm-slug-generator.js +6 -6
  48. package/dist/{models-cli-BrDyN5KN.js → models-cli-BFkooNFz.js} +3 -3
  49. package/dist/{models-cli-EP_U-tWq.js → models-cli-DwXzh6z6.js} +2 -2
  50. package/dist/{models-BQOnDzS9.js → models-xTtbDVki.js} +2 -2
  51. package/dist/{onboard-BZNptre7.js → onboard-8nBHoLPU.js} +2 -2
  52. package/dist/{onboard-DM0BChC6.js → onboard-D9GAiRIO.js} +2 -2
  53. package/dist/{onboard-channels-C6dLmiYY.js → onboard-channels-G9yKy7Ui.js} +1 -1
  54. package/dist/{onboard-channels-4jeB30Ty.js → onboard-channels-pSqXeoTx.js} +1 -1
  55. package/dist/{onboarding-DQJQ-k9A.js → onboarding-C8K3ipt8.js} +3 -3
  56. package/dist/{onboarding-CDdiYaCC.js → onboarding-Wha0uWD5.js} +3 -3
  57. package/dist/{onboarding.finalize-Bmd5TpyH.js → onboarding.finalize-CC_hOdGz.js} +5 -5
  58. package/dist/{onboarding.finalize-B82xL12C.js → onboarding.finalize-CPqgV8GM.js} +6 -6
  59. package/dist/{pi-embedded-Dtmwbds4.js → pi-embedded-9mHDXoCz.js} +67 -242
  60. package/dist/{pi-embedded-helpers-B8kqLWns.js → pi-embedded-helpers-lgx_U5KS.js} +4 -4
  61. package/dist/{pi-embedded-helpers-CfqDGQ9J.js → pi-embedded-helpers-pubKo8HQ.js} +4 -4
  62. package/dist/{plugin-registry-D7ylmzDw.js → plugin-registry-8Diq8Bpt.js} +1 -1
  63. package/dist/{plugin-registry-DG_WWCr9.js → plugin-registry-8qRWG0zs.js} +1 -1
  64. package/dist/plugin-sdk/{channel-web-_efq-pM9.js → channel-web-CVpBWp5N.js} +1 -1
  65. package/dist/plugin-sdk/index.js +2 -2
  66. package/dist/plugin-sdk/{reply-D2W7XCcz.js → reply-qc0sy-0a.js} +53 -228
  67. package/dist/plugin-sdk/{web-CmT3D7vj.js → web-BRiKjFQe.js} +2 -2
  68. package/dist/{plugins-cli-CMCwFRL9.js → plugins-cli-BsGLF2yJ.js} +2 -2
  69. package/dist/{plugins-cli-BUFrZlyR.js → plugins-cli-DSVlBtQR.js} +2 -2
  70. package/dist/{program-BdVazL5L.js → program-DXDaxm5S.js} +7 -7
  71. package/dist/{program-context-DZNOBe-u.js → program-context-0iUzRT8G.js} +17 -17
  72. package/dist/{prompt-select-styled-XyOMjPBV.js → prompt-select-styled-B9Vx6n4u.js} +4 -4
  73. package/dist/{prompt-select-styled-uLoOKbdZ.js → prompt-select-styled-BTsilnfC.js} +4 -4
  74. package/dist/{provider-auth-helpers-CWf7gdZW.js → provider-auth-helpers-DEqcL4cK.js} +1 -1
  75. package/dist/{provider-auth-helpers-D01YbcHZ.js → provider-auth-helpers-Ta9EaBo3.js} +1 -1
  76. package/dist/{push-apns-B-zVLcnN.js → push-apns-_7NSUBR2.js} +1 -1
  77. package/dist/{push-apns-B2bxLda8.js → push-apns-ivn-KjGr.js} +1 -1
  78. package/dist/{pw-ai-m0mj2KWK.js → pw-ai-B5asscAD.js} +1 -1
  79. package/dist/{pw-ai-1htA-NnS.js → pw-ai-De-KR9_s.js} +1 -1
  80. package/dist/{register.agent-BYZEiWk1.js → register.agent-BKM1SK6p.js} +6 -6
  81. package/dist/{register.agent-BF6_rPdM.js → register.agent-BR0TqnOO.js} +5 -5
  82. package/dist/{register.configure-4lt1A0NF.js → register.configure-B5vBXQB9.js} +6 -6
  83. package/dist/{register.configure-B0g-yfDR.js → register.configure-BIiuwamc.js} +6 -6
  84. package/dist/{register.maintenance-DXZyjFYw.js → register.maintenance-CQMV0_xM.js} +8 -8
  85. package/dist/{register.maintenance-WBpgdygw.js → register.maintenance-CzpoyDDR.js} +7 -7
  86. package/dist/{register.message-BHRBK4eH.js → register.message-DCx7M65y.js} +2 -2
  87. package/dist/{register.message-CuoXu-_e.js → register.message-Dg0DcwTW.js} +2 -2
  88. package/dist/{register.onboard-D-P9Wc41.js → register.onboard-BG0dlbOM.js} +4 -4
  89. package/dist/{register.onboard-D5-L8JYT.js → register.onboard-BWoUYNe1.js} +4 -4
  90. package/dist/{register.setup-D7NNQwXc.js → register.setup-BlhLiXjH.js} +4 -4
  91. package/dist/{register.setup-BzmkdzSO.js → register.setup-BsA9V9Zh.js} +4 -4
  92. package/dist/{register.status-health-sessions-BIwZhPIZ.js → register.status-health-sessions-DMBqK6OA.js} +3 -3
  93. package/dist/{register.status-health-sessions-DiCr003h.js → register.status-health-sessions-DnPQ6EbH.js} +3 -3
  94. package/dist/{register.subclis-BxbyrMu1.js → register.subclis-nswajsbE.js} +9 -9
  95. package/dist/{reply-BgOOEOPX.js → reply-DU025-Dw.js} +53 -228
  96. package/dist/{run-main-BW5eFi2Y.js → run-main-DjiZHV0H.js} +14 -14
  97. package/dist/{runner-BcQ0sF9T.js → runner-DUBExAb5.js} +1 -1
  98. package/dist/{runner-CU9l0uJh.js → runner-WAG0M5s9.js} +1 -1
  99. package/dist/{server-methods-D-Gd1kMo.js → server-methods-BefrlQc3.js} +7 -7
  100. package/dist/{server-methods-Dp8iuEko.js → server-methods-CrPLWtui.js} +7 -7
  101. package/dist/{server-node-events-CnjqDQbZ.js → server-node-events-CKYqZ_QS.js} +2 -2
  102. package/dist/{server-node-events-B2_RCsYi.js → server-node-events-CjsIxKpS.js} +2 -2
  103. package/dist/{status-CrVk9Tz5.js → status-BWaIkbur.js} +1 -1
  104. package/dist/{status-CGhoES6L.js → status-DWpakHjS.js} +1 -1
  105. package/dist/{status-4PSvL6ui.js → status-eergZLRZ.js} +2 -2
  106. package/dist/{status-kFfqsras.js → status-iuYHrvPw.js} +2 -2
  107. package/dist/{subagent-registry-M6DQwhYN.js → subagent-registry-C-JJ2VmR.js} +53 -228
  108. package/dist/{unified-runner-DckayuEM.js → unified-runner-BEC009tx.js} +67 -242
  109. package/dist/{update-cli-x5YGUm9F.js → update-cli-BEQF9OZ6.js} +7 -7
  110. package/dist/{update-cli-DCYkskZu.js → update-cli-C1B-X-g-.js} +8 -8
  111. package/dist/{update-runner-Dmki2xrH.js → update-runner-Dnq8KGjY.js} +1 -1
  112. package/dist/{update-runner-BIp88-4P.js → update-runner-zv3kaly2.js} +1 -1
  113. package/dist/{web-1JPHv6du.js → web-B5ciapWd.js} +6 -6
  114. package/dist/{web-DWSTD7Gy.js → web-BUXU8aHt.js} +1 -1
  115. package/dist/{web-rShvuTx4.js → web-DLKmJqCG.js} +2 -2
  116. package/dist/{web-C40boK8U.js → web-Dkz9WSaL.js} +6 -6
  117. package/package.json +1 -1
  118. package/skills/self-inspect/SKILL.md +0 -109
@@ -1,6 +1,6 @@
1
1
  import { a as buildGroupHistoryKey, n as DEFAULT_MAIN_KEY, r as buildAgentMainSessionKey, s as normalizeAgentId } from "./session-key-C_0eELjb.js";
2
2
  import { f as readWebSelfId, o as getWebAuthAgeMs, r as resolveWhatsAppAccount } from "./accounts-D9zGZU5t.js";
3
- import { E as enqueueSystemEvent, G as resolveMentionGating, W as shouldAckReactionForWhatsApp, X as buildHistoryContextFromEntries, Y as DEFAULT_GROUP_HISTORY_LIMIT, _ as resolveEnvelopeFormatOptions, c as computeBackoff, d as formatDurationPrecise, f as dispatchReplyWithBufferedBlockDispatcher, g as formatInboundEnvelope, h as resolveInboundDebounceMs, ht as createDedupeCache, l as sleepWithAbort, m as createInboundDebouncer, n as normalizeGroupActivation, nt as buildMentionRegexes, r as parseActivationCommand, rt as normalizeMentionText, t as getReplyFromConfig, tt as recordPendingHistoryEntryIfEnabled, u as buildPairingReply, v as hasControlCommand, y as shouldComputeCommandAuthorized } from "./reply-D2W7XCcz.js";
3
+ import { E as enqueueSystemEvent, G as resolveMentionGating, W as shouldAckReactionForWhatsApp, X as buildHistoryContextFromEntries, Y as DEFAULT_GROUP_HISTORY_LIMIT, _ as resolveEnvelopeFormatOptions, c as computeBackoff, d as formatDurationPrecise, f as dispatchReplyWithBufferedBlockDispatcher, g as formatInboundEnvelope, h as resolveInboundDebounceMs, ht as createDedupeCache, l as sleepWithAbort, m as createInboundDebouncer, n as normalizeGroupActivation, nt as buildMentionRegexes, r as parseActivationCommand, rt as normalizeMentionText, t as getReplyFromConfig, tt as recordPendingHistoryEntryIfEnabled, u as buildPairingReply, v as hasControlCommand, y as shouldComputeCommandAuthorized } from "./reply-qc0sy-0a.js";
4
4
  import { A as normalizeE164, B as toWhatsappJid, K as logVerbose, N as resolveJidToE164, O as isSelfChatMode, R as sleep, Y as shouldLogVerbose, k as jidToE164, s as normalizeChatChannelId, tt as getChildLogger, x as clamp } from "./registry--_pGht6S.js";
5
5
  import { n as loadConfig } from "./config-DDkdiUOR.js";
6
6
  import { i as defaultRuntime, t as createSubsystemLogger } from "./subsystem-Coz2AgU8.js";
@@ -1,6 +1,6 @@
1
1
  import { f as DEFAULT_ACCOUNT_ID, p as normalizeAccountId } from "./session-key-C_0eELjb.js";
2
2
  import { _ as createAccountListHelpers, i as resolveWhatsAppAuthDir, n as resolveDefaultWhatsAppAccountId, r as resolveWhatsAppAccount, t as listWhatsAppAccountIds } from "./accounts-D9zGZU5t.js";
3
- import { $ as clearHistoryEntriesIfEnabled, A as resolveDiscordUserAllowlist, B as logTypingFailure, C as stripMarkdown, Ct as unbindThreadBindingsBySessionKey, D as resolveSlackUserAllowlist, Dt as BLUEBUBBLES_ACTION_NAMES, Et as BLUEBUBBLES_ACTIONS, F as stringEnum, G as resolveMentionGating, H as removeAckReactionAfterReply, I as recordInboundSession, J as summarizeMapping, K as resolveMentionGatingWithBypass, L as resolveControlCommandGate, M as collectDiscordAuditChannelIds, N as formatDocsLink, O as resolveSlackChannelAllowlist, Ot as BLUEBUBBLES_GROUP_ACTIONS, P as optionalStringEnum, Q as clearHistoryEntries, R as logAckFailure, S as processLineMessage, St as listThreadBindingsBySessionKey, T as attachFooterText, Tt as resolveAllowlistMatchSimple, U as shouldAckReaction, V as createTypingCallbacks, W as shouldAckReactionForWhatsApp, Y as DEFAULT_GROUP_HISTORY_LIMIT, Z as buildPendingHistoryContextFromMap, _t as listDevicePairing, a as normalizeAccountId$1, at as isWSLEnv, bt as registerPluginHttpRoute, ct as DEFAULT_WEBHOOK_MAX_BODY_BYTES, dt as isRequestBodyLimitError, et as recordPendingHistoryEntry, ft as readJsonBodyWithLimit, gt as approveDevicePairing, ht as createDedupeCache, i as listLineAccountIds, it as isWSL2Sync, j as resolveDiscordChannelAllowlist, k as detectBinary, kt as CHANNEL_MESSAGE_ACTION_NAMES, lt as RequestBodyLimitError, mt as requestBodyErrorToText, o as resolveDefaultLineAccountId, ot as isWSLSync, pt as readRequestBodyWithLimit, q as mergeAllowlist, s as resolveLineAccount, st as DEFAULT_WEBHOOK_BODY_TIMEOUT_MS, tt as recordPendingHistoryEntryIfEnabled, ut as installRequestBodyLimitGuard, vt as rejectDevicePairing, w as createReceiptCard, wt as formatAllowlistMatchMeta, x as hasMarkdownToConvert, xt as autoBindSpawnedDiscordSubagent, yt as extractToolSend, z as logInboundDrop } from "./reply-D2W7XCcz.js";
3
+ import { $ as clearHistoryEntriesIfEnabled, A as resolveDiscordUserAllowlist, B as logTypingFailure, C as stripMarkdown, Ct as unbindThreadBindingsBySessionKey, D as resolveSlackUserAllowlist, Dt as BLUEBUBBLES_ACTION_NAMES, Et as BLUEBUBBLES_ACTIONS, F as stringEnum, G as resolveMentionGating, H as removeAckReactionAfterReply, I as recordInboundSession, J as summarizeMapping, K as resolveMentionGatingWithBypass, L as resolveControlCommandGate, M as collectDiscordAuditChannelIds, N as formatDocsLink, O as resolveSlackChannelAllowlist, Ot as BLUEBUBBLES_GROUP_ACTIONS, P as optionalStringEnum, Q as clearHistoryEntries, R as logAckFailure, S as processLineMessage, St as listThreadBindingsBySessionKey, T as attachFooterText, Tt as resolveAllowlistMatchSimple, U as shouldAckReaction, V as createTypingCallbacks, W as shouldAckReactionForWhatsApp, Y as DEFAULT_GROUP_HISTORY_LIMIT, Z as buildPendingHistoryContextFromMap, _t as listDevicePairing, a as normalizeAccountId$1, at as isWSLEnv, bt as registerPluginHttpRoute, ct as DEFAULT_WEBHOOK_MAX_BODY_BYTES, dt as isRequestBodyLimitError, et as recordPendingHistoryEntry, ft as readJsonBodyWithLimit, gt as approveDevicePairing, ht as createDedupeCache, i as listLineAccountIds, it as isWSL2Sync, j as resolveDiscordChannelAllowlist, k as detectBinary, kt as CHANNEL_MESSAGE_ACTION_NAMES, lt as RequestBodyLimitError, mt as requestBodyErrorToText, o as resolveDefaultLineAccountId, ot as isWSLSync, pt as readRequestBodyWithLimit, q as mergeAllowlist, s as resolveLineAccount, st as DEFAULT_WEBHOOK_BODY_TIMEOUT_MS, tt as recordPendingHistoryEntryIfEnabled, ut as installRequestBodyLimitGuard, vt as rejectDevicePairing, w as createReceiptCard, wt as formatAllowlistMatchMeta, x as hasMarkdownToConvert, xt as autoBindSpawnedDiscordSubagent, yt as extractToolSend, z as logInboundDrop } from "./reply-qc0sy-0a.js";
4
4
  import "./paths-DR2yt_mP.js";
5
5
  import "./github-copilot-token-D9X2phUj.js";
6
6
  import { D as resolveSlackAccount, E as resolveDefaultSlackAccountId, F as resolveDiscordAccount, M as listDiscordAccountIds, O as resolveSlackReplyToMode, P as resolveDefaultDiscordAccountId, S as resolveTelegramAccount, T as listSlackAccountIds, _ as normalizeWhatsAppTarget, a as listDiscordDirectoryPeersFromConfig, b as listTelegramAccountIds, c as listTelegramDirectoryGroupsFromConfig, d as listWhatsAppDirectoryPeersFromConfig, f as looksLikeSlackTargetId, g as isWhatsAppGroupJid, i as listDiscordDirectoryGroupsFromConfig, l as listTelegramDirectoryPeersFromConfig, o as listSlackDirectoryGroupsFromConfig, p as normalizeSlackMessagingTarget, s as listSlackDirectoryPeersFromConfig, u as listWhatsAppDirectoryGroupsFromConfig, w as listEnabledSlackAccounts, x as resolveDefaultTelegramAccountId } from "./plugins-BbAvhC25.js";
@@ -47,7 +47,7 @@ import "./paths-A0xdf3yk.js";
47
47
  import { h as onDiagnosticEvent, m as isDiagnosticsEnabled, p as emitDiagnosticEvent } from "./diagnostic-mFf4i4G9.js";
48
48
  import { n as extractOriginalFilename } from "./store-Do3t33-c.js";
49
49
  import { t as resolveWhatsAppOutboundTarget } from "./resolve-outbound-target-BkCUbYGV.js";
50
- import { r as resolveWhatsAppHeartbeatRecipients } from "./channel-web-_efq-pM9.js";
50
+ import { r as resolveWhatsAppHeartbeatRecipients } from "./channel-web-CVpBWp5N.js";
51
51
  import "./image-BOYy0Ump.js";
52
52
  import "./pi-model-discovery-LbcEa65a.js";
53
53
  import "./api-key-rotation-CVBMpnPc.js";
@@ -13,7 +13,7 @@ import { B as getConfigOverrides, C as resolveIMessageRemoteAttachmentRoots, G a
13
13
  import { a as clearActiveProgressLine, i as defaultRuntime, o as registerActiveProgressLine, r as createNonExitingRuntime, s as unregisterActiveProgressLine, t as createSubsystemLogger } from "./subsystem-Coz2AgU8.js";
14
14
  import { i as parseBooleanValue$1, n as resolveCliName, r as isTruthyEnvValue, t as formatCliCommand } from "./command-format-DSdvQ_M5.js";
15
15
  import { A as getSoonestCooldownExpiry, B as resolveSymiAgentDir, C as getCustomProviderApiKey, D as resolveModelAuthMode, E as resolveEnvApiKey, F as dedupeProfileIds, G as normalizeSecretInput, H as withFileLock, I as listProfilesForProvider, J as DEFAULT_MODEL, K as resolveAuthProfileDisplayLabel, L as markAuthProfileGood, M as markAuthProfileFailure, N as markAuthProfileUsed, P as resolveApiKeyForProfile, Q as resolveShellEnvFallbackTimeoutMs, R as ensureAuthProfileStore, S as getApiKeyForModel, T as resolveApiKeyForProvider, X as getShellPathFromLoginShell, Y as DEFAULT_PROVIDER, a as isCliProvider, b as OLLAMA_NATIVE_BASE_URL, c as normalizeProviderId, d as resolveDefaultModelForAgent, f as resolveModelRefFromString, i as findNormalizedProviderValue, j as isProfileInCooldown, k as resolveAuthProfileOrder, m as resolveThinkingDefault, n as buildConfiguredAllowlistKeys, o as modelKey, p as resolveSubagentSpawnModelSelection, q as DEFAULT_CONTEXT_TOKENS, r as buildModelAliasIndex, s as normalizeModelRef$2, t as buildAllowedModelSet, u as resolveConfiguredModelRef, w as requireApiKey, x as createOllamaStreamFn, z as resolveAuthStorePathForDisplay } from "./model-selection-OpU8HN50.js";
16
- import { A as logInfo, C as resolveSymiPackageRoot, D as spawnWithFallback, E as runExec, O as logDebug, S as loadWorkspaceBootstrapFiles, T as runCommandWithTimeout, a as resolveAgentModelPrimary, b as ensureAgentWorkspace, c as resolveDefaultAgentId, d as resolveSessionAgentIds, h as DEFAULT_IDENTITY_FILENAME, i as resolveAgentModelFallbacksOverride, j as logWarn, k as logError, l as resolveEffectiveModelFallbacks, m as DEFAULT_BOOTSTRAP_FILENAME, n as resolveAgentConfig, o as resolveAgentSkillsFilter, p as DEFAULT_AGENT_WORKSPACE_DIR, r as resolveAgentDir, s as resolveAgentWorkspaceDir, t as listAgentIds, u as resolveSessionAgentId, w as resolveSymiPackageRootSync, x as filterBootstrapFilesForSession } from "./agent-scope-C3gMMKCU.js";
16
+ import { A as logInfo, C as resolveSymiPackageRoot, D as spawnWithFallback, E as runExec, O as logDebug, S as loadWorkspaceBootstrapFiles, T as runCommandWithTimeout, a as resolveAgentModelPrimary, b as ensureAgentWorkspace, c as resolveDefaultAgentId, d as resolveSessionAgentIds, h as DEFAULT_IDENTITY_FILENAME, i as resolveAgentModelFallbacksOverride, j as logWarn, k as logError, l as resolveEffectiveModelFallbacks, m as DEFAULT_BOOTSTRAP_FILENAME, n as resolveAgentConfig, o as resolveAgentSkillsFilter, p as DEFAULT_AGENT_WORKSPACE_DIR, r as resolveAgentDir, s as resolveAgentWorkspaceDir, t as listAgentIds, u as resolveSessionAgentId, x as filterBootstrapFilesForSession } from "./agent-scope-C3gMMKCU.js";
17
17
  import { c as normalizePluginsConfig, f as isPathInsideWithRealpath, i as safeStatSync, l as resolveEnableState, n as discoverSymiPlugins, p as isDangerousHostEnvVarName, r as isPathInside, s as applyTestPluginDefaults, t as loadPluginManifestRegistry, u as resolveMemorySlotDecision } from "./manifest-registry-B3ugY9-f.js";
18
18
  import { n as formatErrorMessage, r as formatUncaughtError } from "./errors-Bv8oZiTO.js";
19
19
  import { n as recordChannelActivity, r as createDiscordRetryRunner, t as getChannelActivity } from "./channel-activity-Ji7f0gqq.js";
@@ -27117,30 +27117,6 @@ async function runWithImageModelFallback(params) {
27117
27117
  //#endregion
27118
27118
  //#region src/config/model-profiles-builtin.ts
27119
27119
  /**
27120
- * Starter pack — always-on context for models with tool arg corruption.
27121
- * ~500 tokens. Prevents the most common failure patterns.
27122
- * For detailed file modification guides, the self-inspect skill cascades from here.
27123
- */
27124
- const STARTER_PACK = [
27125
- "",
27126
- "YOUR FILES (use read tool directly on these paths — NEVER use exec to find or read files):",
27127
- "- Glass UI CSS: <SYMI_ROOT>/dist/control-ui/css/style.css",
27128
- "- Glass UI HTML: <SYMI_ROOT>/dist/control-ui/index.html",
27129
- "- Glass UI JS: <SYMI_ROOT>/dist/control-ui/js/app.js, gateway.js, render.js, models.js, history.js, symipulse.js, debug.js",
27130
- "- Package: <SYMI_ROOT>/package.json",
27131
- "- Config: ~/.symi/symi.json | Sessions: ~/.symi/agents/main/sessions/ | Memory: ~/.symi/state/memory/",
27132
- "- For detailed modification guides, read the self-inspect skill.",
27133
- "",
27134
- "TOOL RULES (mandatory):",
27135
- "- read/write/edit: Always provide the full absolute path directly. NEVER use exec with cat, head, find, grep, or ls to view files.",
27136
- "- exec/bash: Provide only valid shell syntax. No tags, no tokens, no markup. Spell commands exactly.",
27137
- "- web_search: Always include query argument. Example: web_search({ query: \"search terms\" })",
27138
- "- sessions_spawn: Always include task and mode. Example: sessions_spawn({ label: \"name\", mode: \"run\", task: \"description\" })",
27139
- "",
27140
- "KNOWN SHELL COMMANDS (use exact spelling):",
27141
- "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"
27142
- ];
27143
- /**
27144
27120
  * Built-in model profiles. Ordered from most-specific to least-specific so
27145
27121
  * that `resolveModelProfile` can return the first match.
27146
27122
  *
@@ -27183,8 +27159,7 @@ const BUILTIN_PROFILES = [
27183
27159
  "- Do not write 'Verification:', 'Requirements:', 'Status Check:', or 'Everything is correct'.",
27184
27160
  "- If you need to verify your work, do so before writing your response, not after.",
27185
27161
  "- Send brief progress updates on long tasks so the user knows you are active.",
27186
- "- 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.",
27187
- ...STARTER_PACK
27162
+ "- 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."
27188
27163
  ],
27189
27164
  ui: {
27190
27165
  badge: "Local",
@@ -27192,6 +27167,52 @@ const BUILTIN_PROFILES = [
27192
27167
  armWatchdogOnSend: true
27193
27168
  }
27194
27169
  },
27170
+ {
27171
+ match: ["nemotron/"],
27172
+ label: "Nemotron",
27173
+ params: {
27174
+ temperature: 1,
27175
+ top_p: .95,
27176
+ top_k: 64,
27177
+ max_tokens: 4096,
27178
+ stop: ["<end_of_turn>", "<eos>"]
27179
+ },
27180
+ streaming: {
27181
+ deltaThrottleMs: 50,
27182
+ flushOnFinal: true,
27183
+ chunkPattern: "burst"
27184
+ },
27185
+ filters: {
27186
+ stripPatterns: [
27187
+ "<\\|channel>\\w*",
27188
+ "<channel\\|>",
27189
+ "<start_of_turn>(?:model|user)?",
27190
+ "<end_of_turn>",
27191
+ "<\\|(?:fim_prefix|fim_suffix|fim_middle)\\|>",
27192
+ "^\\s*<bos>\\s*"
27193
+ ],
27194
+ suppressMonologue: true,
27195
+ hasStructuredThinking: false,
27196
+ validateToolArgs: true
27197
+ },
27198
+ promptAdditions: [
27199
+ "CRITICAL OUTPUT RULES:",
27200
+ "- Your response ends when you have delivered the answer. Do not append anything after.",
27201
+ "- Do not output raw control tokens, channel tags, turn markers, or <|channel>thought syntax.",
27202
+ "- Do not begin any sentence with 'I have addressed' or 'I've reviewed'.",
27203
+ "- Do not write verification checklists, self-assessments, or numbered assessment lists after your answer.",
27204
+ "- Do not write 'Verification:', 'Requirements:', 'Status Check:', or 'Everything is correct'.",
27205
+ "- If you need to verify your work, do so before writing your response, not after.",
27206
+ "- Keep planning and reasoning internal. Only speak when you have a result or need user input.",
27207
+ "- When working on multi-step tasks, send a brief one-line status update so the user knows you are active.",
27208
+ "- 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."
27209
+ ],
27210
+ ui: {
27211
+ badge: "Local",
27212
+ watchdogMs: 6e5,
27213
+ armWatchdogOnSend: true
27214
+ }
27215
+ },
27195
27216
  {
27196
27217
  match: ["anthropic/", "claude-"],
27197
27218
  label: "Claude",
@@ -27256,8 +27277,7 @@ const BUILTIN_PROFILES = [
27256
27277
  "- If you need to verify your work, do so before writing your response, not after.",
27257
27278
  "- Keep planning and reasoning internal. Only speak when you have a result or need user input.",
27258
27279
  "- When working on multi-step tasks, send a brief one-line status update so the user knows you are active.",
27259
- "- 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.",
27260
- ...STARTER_PACK
27280
+ "- 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."
27261
27281
  ],
27262
27282
  ui: {
27263
27283
  badge: "CoreWeave",
@@ -30271,175 +30291,6 @@ function toClientToolDefinitions(tools, onClientToolCall, hookContext) {
30271
30291
  * @module
30272
30292
  */
30273
30293
  /**
30274
- * Known shell commands for prefix deduplication.
30275
- * When token boundary corruption doubles a command prefix (grep → grgrep,
30276
- * ls → lsls), we check the first token against this set. If stripping
30277
- * the repeated prefix yields a known command, use it.
30278
- *
30279
- * O(1) lookup. Zero false positives — no valid command is its own prefix doubled.
30280
- */
30281
- const KNOWN_COMMANDS = new Set([
30282
- "ls",
30283
- "cat",
30284
- "cp",
30285
- "mv",
30286
- "rm",
30287
- "mkdir",
30288
- "rmdir",
30289
- "touch",
30290
- "chmod",
30291
- "chown",
30292
- "chgrp",
30293
- "ln",
30294
- "pwd",
30295
- "echo",
30296
- "printf",
30297
- "head",
30298
- "tail",
30299
- "wc",
30300
- "sort",
30301
- "uniq",
30302
- "cut",
30303
- "tr",
30304
- "tee",
30305
- "xargs",
30306
- "env",
30307
- "date",
30308
- "sleep",
30309
- "true",
30310
- "false",
30311
- "yes",
30312
- "test",
30313
- "expr",
30314
- "basename",
30315
- "dirname",
30316
- "readlink",
30317
- "realpath",
30318
- "mktemp",
30319
- "stat",
30320
- "file",
30321
- "dd",
30322
- "df",
30323
- "du",
30324
- "id",
30325
- "whoami",
30326
- "hostname",
30327
- "uname",
30328
- "grep",
30329
- "egrep",
30330
- "fgrep",
30331
- "find",
30332
- "locate",
30333
- "sed",
30334
- "awk",
30335
- "diff",
30336
- "patch",
30337
- "strings",
30338
- "less",
30339
- "more",
30340
- "tar",
30341
- "gzip",
30342
- "gunzip",
30343
- "zip",
30344
- "unzip",
30345
- "bzip2",
30346
- "xz",
30347
- "curl",
30348
- "wget",
30349
- "ssh",
30350
- "scp",
30351
- "rsync",
30352
- "ping",
30353
- "dig",
30354
- "nslookup",
30355
- "netstat",
30356
- "lsof",
30357
- "nc",
30358
- "ifconfig",
30359
- "ip",
30360
- "ps",
30361
- "top",
30362
- "kill",
30363
- "killall",
30364
- "nohup",
30365
- "nice",
30366
- "which",
30367
- "type",
30368
- "where",
30369
- "man",
30370
- "sudo",
30371
- "su",
30372
- "mount",
30373
- "umount",
30374
- "systemctl",
30375
- "journalctl",
30376
- "launchctl",
30377
- "dmesg",
30378
- "sysctl",
30379
- "git",
30380
- "make",
30381
- "gcc",
30382
- "python",
30383
- "python3",
30384
- "pip",
30385
- "pip3",
30386
- "node",
30387
- "npm",
30388
- "npx",
30389
- "pnpm",
30390
- "yarn",
30391
- "cargo",
30392
- "go",
30393
- "ruby",
30394
- "gem",
30395
- "java",
30396
- "javac",
30397
- "docker",
30398
- "brew",
30399
- "open",
30400
- "pbcopy",
30401
- "pbpaste",
30402
- "defaults",
30403
- "diskutil",
30404
- "sw_vers",
30405
- "system_profiler",
30406
- "plutil",
30407
- "mdfind",
30408
- "mdls",
30409
- "softwareupdate",
30410
- "caffeinate",
30411
- "say",
30412
- "osascript",
30413
- "security",
30414
- "codesign",
30415
- "hdiutil",
30416
- "installer",
30417
- "lipo",
30418
- "otool",
30419
- "dscl",
30420
- "scutil"
30421
- ]);
30422
- /**
30423
- * Fix command prefix duplication from token boundary splits.
30424
- * Token corruption can double a multi-char prefix: grep → grgrep, ls → lsls.
30425
- * Check if the first token starts with a repeated prefix that, when removed,
30426
- * yields a known command.
30427
- *
30428
- * Examples: grgrep → grep, lsls → ls, catcat → cat, curlcurl → curl
30429
- */
30430
- function dedupCommandPrefix(command) {
30431
- const match = command.match(/^([a-zA-Z0-9_-]+)/);
30432
- if (!match) return command;
30433
- const firstToken = match[1];
30434
- if (KNOWN_COMMANDS.has(firstToken)) return command;
30435
- for (let prefixLen = 2; prefixLen <= Math.min(10, Math.floor(firstToken.length / 2)); prefixLen++) {
30436
- const prefix = firstToken.slice(0, prefixLen);
30437
- const candidate = firstToken.slice(prefixLen);
30438
- if (candidate.startsWith(prefix.slice(0, Math.min(prefix.length, candidate.length))) && KNOWN_COMMANDS.has(candidate)) return candidate + command.slice(firstToken.length);
30439
- }
30440
- return command;
30441
- }
30442
- /**
30443
30294
  * Validate that a command string contains extractable valid shell syntax.
30444
30295
  * Returns the cleaned command if valid, or an error reason if not.
30445
30296
  *
@@ -30458,7 +30309,6 @@ function validateShellCommand(command) {
30458
30309
  cleaned = cleaned.replace(/<\|[^|>]*(?:\|>)?/g, "").trim();
30459
30310
  cleaned = cleanResidualTokenFragments(cleaned);
30460
30311
  }
30461
- cleaned = dedupCommandPrefix(cleaned);
30462
30312
  if (!cleaned || !cleaned.trim()) return {
30463
30313
  valid: false,
30464
30314
  cleaned: "",
@@ -34642,18 +34492,7 @@ async function runEmbeddedAttempt(params) {
34642
34492
  const profileModelKey = params.modelId ?? "";
34643
34493
  const modelProfile = resolveModelProfile(profileModelKey, params.config?.models?.profiles);
34644
34494
  log$7.debug(`[profile] resolved: modelId=${profileModelKey} → profile=${modelProfile.label} validateToolArgs=${modelProfile.filters?.validateToolArgs ?? false}`);
34645
- const systemPromptText = createSystemPromptOverride(appendPrompt + (() => {
34646
- if (modelProfile.promptAdditions.length === 0) return "";
34647
- let text = "\n\n" + modelProfile.promptAdditions.join("\n");
34648
- if (text.includes("<SYMI_ROOT>")) {
34649
- const symiRoot = resolveSymiPackageRootSync({
34650
- moduleUrl: import.meta.url,
34651
- argv1: process.argv[1]
34652
- });
34653
- if (symiRoot) text = text.replaceAll("<SYMI_ROOT>", symiRoot);
34654
- }
34655
- return text;
34656
- })())();
34495
+ const systemPromptText = createSystemPromptOverride(appendPrompt + (modelProfile.promptAdditions.length > 0 ? "\n\n" + modelProfile.promptAdditions.join("\n") : ""))();
34657
34496
  const sessionLock = await acquireSessionWriteLock({
34658
34497
  sessionFile: params.sessionFile,
34659
34498
  maxHoldMs: resolveSessionLockMaxHoldFromTimeout({ timeoutMs: params.timeoutMs })
@@ -34927,18 +34766,6 @@ async function runEmbeddedAttempt(params) {
34927
34766
  const TOOL_ERROR_ABORT_THRESHOLD = 5;
34928
34767
  const TOOL_ERROR_WARN_THRESHOLD = 3;
34929
34768
  let consecutiveToolErrors = 0;
34930
- /** Detect exec/bash results that indicate a shell error (non-zero exit, command not found, etc.) */
34931
- const isShellErrorResult = (result) => {
34932
- if (!result || typeof result !== "object") return false;
34933
- const content = result.content;
34934
- if (!Array.isArray(content)) return false;
34935
- const text = content.filter((b) => b && typeof b === "object" && b.type === "text").map((b) => {
34936
- const t = b.text;
34937
- return typeof t === "string" ? t : "";
34938
- }).join("\n");
34939
- if (!text) return false;
34940
- 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);
34941
- };
34942
34769
  const subscription = subscribeEmbeddedPiSession({
34943
34770
  session: activeSession,
34944
34771
  runId: params.runId,
@@ -34964,9 +34791,7 @@ async function runEmbeddedAttempt(params) {
34964
34791
  const phase = typeof evt.data?.phase === "string" ? evt.data.phase : "";
34965
34792
  const isError = evt.data?.isError === true;
34966
34793
  if (phase === "result") {
34967
- const toolName = typeof evt.data?.name === "string" ? evt.data.name : "";
34968
- const isExecShellError = !isError && (toolName === "exec" || toolName === "bash") && isShellErrorResult(evt.data?.result);
34969
- if (isError || isExecShellError) consecutiveToolErrors++;
34794
+ if (isError) consecutiveToolErrors++;
34970
34795
  else consecutiveToolErrors = 0;
34971
34796
  if (consecutiveToolErrors >= TOOL_ERROR_ABORT_THRESHOLD) {
34972
34797
  const toolName = typeof evt.data?.name === "string" ? evt.data.name : "unknown";
@@ -36473,7 +36298,7 @@ async function runAgentTurn(params) {
36473
36298
  function createDefaultDeps() {
36474
36299
  return {
36475
36300
  sendMessageWhatsApp: async (...args) => {
36476
- const { sendMessageWhatsApp } = await import("./web-CmT3D7vj.js");
36301
+ const { sendMessageWhatsApp } = await import("./web-BRiKjFQe.js");
36477
36302
  return await sendMessageWhatsApp(...args);
36478
36303
  },
36479
36304
  sendMessageTelegram: async (...args) => {
@@ -53911,7 +53736,7 @@ function loadWebLoginQr() {
53911
53736
  return webLoginQrPromise;
53912
53737
  }
53913
53738
  function loadWebChannel() {
53914
- webChannelPromise ??= import("./web-CmT3D7vj.js");
53739
+ webChannelPromise ??= import("./web-BRiKjFQe.js");
53915
53740
  return webChannelPromise;
53916
53741
  }
53917
53742
  function loadWhatsAppActions() {
@@ -1,5 +1,5 @@
1
1
  import { a as WA_WEB_AUTH_DIR, g as webAuthExists, s as logWebSelfId, u as pickWebChannel } from "./accounts-D9zGZU5t.js";
2
- import "./reply-D2W7XCcz.js";
2
+ import "./reply-qc0sy-0a.js";
3
3
  import "./paths-DR2yt_mP.js";
4
4
  import "./github-copilot-token-D9X2phUj.js";
5
5
  import "./plugins-BbAvhC25.js";
@@ -45,7 +45,7 @@ import "./pi-embedded-helpers-BveUP4hk.js";
45
45
  import "./paths-A0xdf3yk.js";
46
46
  import "./diagnostic-mFf4i4G9.js";
47
47
  import "./store-Do3t33-c.js";
48
- import { n as monitorWebInbox, t as monitorWebChannel } from "./channel-web-_efq-pM9.js";
48
+ import { n as monitorWebInbox, t as monitorWebChannel } from "./channel-web-CVpBWp5N.js";
49
49
  import "./image-BOYy0Ump.js";
50
50
  import "./pi-model-discovery-LbcEa65a.js";
51
51
  import "./api-key-rotation-CVBMpnPc.js";
@@ -1,7 +1,7 @@
1
1
  import { g as resolveStateDir } from "./paths-Cqn-zk3M.js";
2
2
  import { B as theme, S as shortenHomePath, g as resolveConfigDir, x as shortenHomeInString, y as resolveUserPath } from "./utils-B-0b9bGM.js";
3
3
  import "./thinking-EAliFiVK.js";
4
- import "./reply-BgOOEOPX.js";
4
+ import "./reply-DU025-Dw.js";
5
5
  import "./registry-Cja8eT7G.js";
6
6
  import { f as defaultRuntime } from "./subsystem-D9vIQve0.js";
7
7
  import "./exec-CWkblSrI.js";
@@ -106,7 +106,7 @@ import "./npm-registry-spec-C2JDdSZS.js";
106
106
  import "./skill-scanner-CLs8u6vQ.js";
107
107
  import { i as resolvePluginInstallDir, n as installPluginFromNpmSpec, r as installPluginFromPath, t as recordPluginInstall } from "./installs-C1Cebk97.js";
108
108
  import { t as renderTable } from "./table-BTgkRafz.js";
109
- import { t as buildPluginStatusReport } from "./status-CGhoES6L.js";
109
+ import { t as buildPluginStatusReport } from "./status-DWpakHjS.js";
110
110
  import { n as updateNpmInstalledPlugins } from "./update-rw7wJwHd.js";
111
111
  import fs from "node:fs";
112
112
  import os from "node:os";
@@ -13,7 +13,7 @@ import "./client-DMBZpU6X.js";
13
13
  import "./call-BcE47FtD.js";
14
14
  import "./message-channel-C9dERklz.js";
15
15
  import "./pairing-token-Byh6drgn.js";
16
- import "./subagent-registry-M6DQwhYN.js";
16
+ import "./subagent-registry-C-JJ2VmR.js";
17
17
  import "./sessions-CJXnZVjR.js";
18
18
  import "./tokens-Csntmwwn.js";
19
19
  import "./plugins-CwSlLxM8.js";
@@ -102,7 +102,7 @@ import "./npm-registry-spec-DkaZNHAW.js";
102
102
  import "./skill-scanner-BGWOBqLY.js";
103
103
  import { i as resolvePluginInstallDir, n as installPluginFromNpmSpec, r as installPluginFromPath, t as recordPluginInstall } from "./installs-CgQpVncj.js";
104
104
  import { t as renderTable } from "./table-D01d2GuY.js";
105
- import { t as buildPluginStatusReport } from "./status-CrVk9Tz5.js";
105
+ import { t as buildPluginStatusReport } from "./status-BWaIkbur.js";
106
106
  import { n as updateNpmInstalledPlugins } from "./update-DEMKx4eC.js";
107
107
  import os from "node:os";
108
108
  import path from "node:path";
@@ -14,7 +14,7 @@ import "./client-DMBZpU6X.js";
14
14
  import "./call-BcE47FtD.js";
15
15
  import "./message-channel-C9dERklz.js";
16
16
  import "./pairing-token-Byh6drgn.js";
17
- import "./subagent-registry-M6DQwhYN.js";
17
+ import "./subagent-registry-C-JJ2VmR.js";
18
18
  import "./sessions-CJXnZVjR.js";
19
19
  import "./tokens-Csntmwwn.js";
20
20
  import "./plugins-CwSlLxM8.js";
@@ -99,13 +99,13 @@ import "./prompt-style-DwCXob2h.js";
99
99
  import "./pairing-labels-D1HDboV2.js";
100
100
  import "./pi-tools.policy-De00gPXt.js";
101
101
  import "./catalog-DLQFKucJ.js";
102
- import "./plugin-registry-DG_WWCr9.js";
103
- import { n as resolveCliChannelOptions } from "./channel-options-tWyK68mk.js";
104
- import { t as getSubCliCommandsWithSubcommands } from "./register.subclis-BxbyrMu1.js";
105
- import { a as registerProgramCommands, r as getCoreCliCommandsWithSubcommands } from "./command-registry-DV-FTDz1.js";
102
+ import "./plugin-registry-8qRWG0zs.js";
103
+ import { n as resolveCliChannelOptions } from "./channel-options-D9UfDD9j.js";
104
+ import { t as getSubCliCommandsWithSubcommands } from "./register.subclis-nswajsbE.js";
105
+ import { a as registerProgramCommands, r as getCoreCliCommandsWithSubcommands } from "./command-registry-DXdP9h9E.js";
106
106
  import { r as setProgramContext } from "./program-context-CqzR_m-7.js";
107
107
  import { t as forceFreePort } from "./ports-Dn122MUd.js";
108
- import { n as formatCliBannerLine, r as hasEmittedCliBanner, t as emitCliBanner } from "./banner-CJyz7ro7.js";
108
+ import { n as formatCliBannerLine, r as hasEmittedCliBanner, t as emitCliBanner } from "./banner-_OS2xmMF.js";
109
109
  import { Command } from "commander";
110
110
 
111
111
  //#region src/cli/program/context.ts
@@ -213,7 +213,7 @@ function registerPreActionHooks(program, programVersion) {
213
213
  commandPath
214
214
  });
215
215
  if (PLUGIN_REQUIRED_COMMANDS.has(commandPath[0])) {
216
- const { ensurePluginRegistryLoaded } = await import("./plugin-registry-DG_WWCr9.js").then((n) => n.n);
216
+ const { ensurePluginRegistryLoaded } = await import("./plugin-registry-8qRWG0zs.js").then((n) => n.n);
217
217
  ensurePluginRegistryLoaded();
218
218
  }
219
219
  });
@@ -43,7 +43,7 @@ const entries = [
43
43
  description: "Run, inspect, and query the WebSocket Gateway",
44
44
  hasSubcommands: true,
45
45
  register: async (program) => {
46
- (await import("./gateway-cli-BkOe3JQ_.js")).registerGatewayCli(program);
46
+ (await import("./gateway-cli-CxzaL9HR.js")).registerGatewayCli(program);
47
47
  }
48
48
  },
49
49
  {
@@ -75,7 +75,7 @@ const entries = [
75
75
  description: "Discover, scan, and configure models",
76
76
  hasSubcommands: true,
77
77
  register: async (program) => {
78
- (await import("./models-cli-EP_U-tWq.js")).registerModelsCli(program);
78
+ (await import("./models-cli-DwXzh6z6.js")).registerModelsCli(program);
79
79
  }
80
80
  },
81
81
  {
@@ -155,7 +155,7 @@ const entries = [
155
155
  description: "Manage internal agent hooks",
156
156
  hasSubcommands: true,
157
157
  register: async (program) => {
158
- (await import("./hooks-cli-D1Yhb7y5.js")).registerHooksCli(program);
158
+ (await import("./hooks-cli-B7qROHCQ.js")).registerHooksCli(program);
159
159
  }
160
160
  },
161
161
  {
@@ -179,7 +179,7 @@ const entries = [
179
179
  description: "Secure DM pairing (approve inbound requests)",
180
180
  hasSubcommands: true,
181
181
  register: async (program) => {
182
- const { registerPluginCliCommands } = await import("./cli-CPKEDe6C.js");
182
+ const { registerPluginCliCommands } = await import("./cli-B-wwaV4Y.js");
183
183
  registerPluginCliCommands(program, await loadConfig());
184
184
  (await import("./pairing-cli-CBLfGvqW.js")).registerPairingCli(program);
185
185
  }
@@ -189,8 +189,8 @@ const entries = [
189
189
  description: "Manage Symi plugins and extensions",
190
190
  hasSubcommands: true,
191
191
  register: async (program) => {
192
- (await import("./plugins-cli-CMCwFRL9.js")).registerPluginsCli(program);
193
- const { registerPluginCliCommands } = await import("./cli-CPKEDe6C.js");
192
+ (await import("./plugins-cli-BsGLF2yJ.js")).registerPluginsCli(program);
193
+ const { registerPluginCliCommands } = await import("./cli-B-wwaV4Y.js");
194
194
  registerPluginCliCommands(program, await loadConfig());
195
195
  }
196
196
  },
@@ -199,7 +199,7 @@ const entries = [
199
199
  description: "Manage connected chat channels (Telegram, Discord, etc.)",
200
200
  hasSubcommands: true,
201
201
  register: async (program) => {
202
- (await import("./channels-cli-BAXmmIxX.js")).registerChannelsCli(program);
202
+ (await import("./channels-cli-CXa7mgR9.js")).registerChannelsCli(program);
203
203
  }
204
204
  },
205
205
  {
@@ -231,7 +231,7 @@ const entries = [
231
231
  description: "Update Symi and inspect update channel status",
232
232
  hasSubcommands: true,
233
233
  register: async (program) => {
234
- (await import("./update-cli-x5YGUm9F.js")).registerUpdateCli(program);
234
+ (await import("./update-cli-BEQF9OZ6.js")).registerUpdateCli(program);
235
235
  }
236
236
  },
237
237
  {
@@ -239,7 +239,7 @@ const entries = [
239
239
  description: "Generate shell completion script",
240
240
  hasSubcommands: false,
241
241
  register: async (program) => {
242
- (await import("./completion-cli-BqzmOZg7.js").then((n) => n.n)).registerCompletionCli(program);
242
+ (await import("./completion-cli-BqsjyQ-I.js").then((n) => n.n)).registerCompletionCli(program);
243
243
  }
244
244
  }
245
245
  ];
@@ -302,7 +302,7 @@ const coreEntries = [
302
302
  hasSubcommands: false
303
303
  }],
304
304
  register: async ({ program }) => {
305
- (await import("./register.setup-D7NNQwXc.js")).registerSetupCommand(program);
305
+ (await import("./register.setup-BlhLiXjH.js")).registerSetupCommand(program);
306
306
  }
307
307
  },
308
308
  {
@@ -312,7 +312,7 @@ const coreEntries = [
312
312
  hasSubcommands: false
313
313
  }],
314
314
  register: async ({ program }) => {
315
- (await import("./register.onboard-D-P9Wc41.js")).registerOnboardCommand(program);
315
+ (await import("./register.onboard-BG0dlbOM.js")).registerOnboardCommand(program);
316
316
  }
317
317
  },
318
318
  {
@@ -322,7 +322,7 @@ const coreEntries = [
322
322
  hasSubcommands: false
323
323
  }],
324
324
  register: async ({ program }) => {
325
- (await import("./register.configure-4lt1A0NF.js")).registerConfigureCommand(program);
325
+ (await import("./register.configure-B5vBXQB9.js")).registerConfigureCommand(program);
326
326
  }
327
327
  },
328
328
  {
@@ -332,7 +332,7 @@ const coreEntries = [
332
332
  hasSubcommands: true
333
333
  }],
334
334
  register: async ({ program }) => {
335
- (await import("./config-cli-DBjlHFwQ.js")).registerConfigCli(program);
335
+ (await import("./config-cli-DvqG-E-3.js")).registerConfigCli(program);
336
336
  }
337
337
  },
338
338
  {
@@ -359,7 +359,7 @@ const coreEntries = [
359
359
  }
360
360
  ],
361
361
  register: async ({ program }) => {
362
- (await import("./register.maintenance-WBpgdygw.js")).registerMaintenanceCommands(program);
362
+ (await import("./register.maintenance-CzpoyDDR.js")).registerMaintenanceCommands(program);
363
363
  }
364
364
  },
365
365
  {
@@ -369,7 +369,7 @@ const coreEntries = [
369
369
  hasSubcommands: true
370
370
  }],
371
371
  register: async ({ program, ctx }) => {
372
- (await import("./register.message-CuoXu-_e.js")).registerMessageCommands(program, ctx);
372
+ (await import("./register.message-Dg0DcwTW.js")).registerMessageCommands(program, ctx);
373
373
  }
374
374
  },
375
375
  {
@@ -393,7 +393,7 @@ const coreEntries = [
393
393
  hasSubcommands: true
394
394
  }],
395
395
  register: async ({ program, ctx }) => {
396
- (await import("./register.agent-BF6_rPdM.js")).registerAgentCommands(program, { agentChannelOptions: ctx.agentChannelOptions });
396
+ (await import("./register.agent-BR0TqnOO.js")).registerAgentCommands(program, { agentChannelOptions: ctx.agentChannelOptions });
397
397
  }
398
398
  },
399
399
  {
@@ -415,7 +415,7 @@ const coreEntries = [
415
415
  }
416
416
  ],
417
417
  register: async ({ program }) => {
418
- (await import("./register.status-health-sessions-DiCr003h.js")).registerStatusHealthSessionsCommands(program);
418
+ (await import("./register.status-health-sessions-DnPQ6EbH.js")).registerStatusHealthSessionsCommands(program);
419
419
  }
420
420
  },
421
421
  {