@symerian/symi 3.5.6 → 3.5.8

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 (45) hide show
  1. package/dist/{agent-scope-B1Ina6jV.js → agent-scope-DnJEvgMH.js} +2 -2
  2. package/dist/{auth-profiles-BSw0aQND.js → auth-profiles-DVc0P8H7.js} +3 -3
  3. package/dist/build-info.json +3 -3
  4. package/dist/bundled/boot-md/handler.js +31 -31
  5. package/dist/bundled/bootstrap-extra-files/handler.js +4 -4
  6. package/dist/bundled/session-memory/handler.js +30 -30
  7. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  8. package/dist/{chrome-OTJg3QKn.js → chrome-Bu0sk8jc.js} +3 -3
  9. package/dist/{chunk-BkYIP_hB.js → chunk-DBVjqPm2.js} +1 -1
  10. package/dist/{commands-registry-BuOUfpmg.js → commands-registry-yWbIOOoD.js} +4 -4
  11. package/dist/{consolidate-Dyh_aESo.js → consolidate-JptFSFxz.js} +2 -2
  12. package/dist/control-ui/css/style.css +14 -0
  13. package/dist/control-ui/js/app.js +8 -0
  14. package/dist/control-ui/js/slash-autocomplete.js +195 -43
  15. package/dist/{deliver-BiWlR84Y.js → deliver-BZ-5d1Pv.js} +15 -15
  16. package/dist/{diagnostic-BALvP9wI.js → diagnostic-BlK1QQVx.js} +1 -1
  17. package/dist/{frontmatter-CJEX1BrH.js → frontmatter-Dm9ehpNF.js} +2 -2
  18. package/dist/llm-slug-generator.js +30 -30
  19. package/dist/{local-roots-C7fBKoOI.js → local-roots-Ab2ch8iw.js} +3 -3
  20. package/dist/{manager-CpBJ1BE6.js → manager-_ZfCrpDq.js} +8 -8
  21. package/dist/{manifest-registry-BGJu2aC-.js → manifest-registry-B1g2QOPw.js} +1 -1
  22. package/dist/{markdown-tables-CGqX2WvO.js → markdown-tables-CVcd6XRG.js} +1 -1
  23. package/dist/{model-selection-BqshlIZc.js → model-selection-C_XFh0kf.js} +1 -1
  24. package/dist/{pi-auth-json-DCGR3yfh.js → pi-auth-json-BxGRaPJK.js} +2 -2
  25. package/dist/{plugins-B06cTFHC.js → plugins-BcGFMr_d.js} +1 -1
  26. package/dist/{pw-ai-DY_6l11g.js → pw-ai-B5v5n5ol.js} +9 -9
  27. package/dist/{qmd-manager-Bc7yrt9d.js → qmd-manager-CM1Zb2vR.js} +5 -5
  28. package/dist/{registry-C-JddWwo.js → registry-9AaJQms1.js} +2 -2
  29. package/dist/{replies-D0FYSIJg.js → replies-Rf4NZFNR.js} +3 -3
  30. package/dist/{reply-prefix-D0NzzC4I.js → reply-prefix-kh8vLHcr.js} +1 -1
  31. package/dist/{resolve-route-CDsQda0z.js → resolve-route-Cah2oBoB.js} +3 -3
  32. package/dist/{send-C75uSv6p.js → send-BNMro1go.js} +7 -7
  33. package/dist/{shell-env-B1lDWz4t.js → shell-env-DUnzZNS9.js} +1 -1
  34. package/dist/{skill-commands-JIccKWkf.js → skill-commands-DG2orCQ1.js} +5 -5
  35. package/dist/{skills-Dm4gX4Tl.js → skills-BfqpCx1S.js} +6 -6
  36. package/dist/{sqlite-CmMv0ans.js → sqlite-B-yVqz_U.js} +1 -1
  37. package/dist/{ssrf-DNhyFMRW.js → ssrf-CD6rSfmA.js} +10 -10
  38. package/dist/{subsystem-DzRUKS9f.js → subsystem-DhOo2FZn.js} +1 -1
  39. package/dist/{synthesis-CmQvOHg6.js → synthesis-C8CALFUp.js} +30 -30
  40. package/dist/{thinking-h_Lv1OKF.js → thinking-Dc4USx6E.js} +2 -2
  41. package/dist/{tokens-D_vCJSzF.js → tokens-BHHkQK-k.js} +1 -1
  42. package/dist/{tool-loop-detection-DGaNCZG0.js → tool-loop-detection-B2hNHeN_.js} +2 -2
  43. package/dist/{unified-runner-Cu3lGa3A.js → unified-runner-DR-adeyL.js} +47 -47
  44. package/dist/{workspace-CsaDUuDn.js → workspace-OBnI5mKu.js} +2 -2
  45. package/package.json +1 -1
@@ -1,48 +1,48 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
2
  import { a as resolveOAuthDir, c as expandHomePrefix, i as resolveGatewayPort, n as resolveConfigPath, s as resolveStateDir, u as resolveRequiredHomeDir } from "./paths-CE7eVGHg.js";
3
3
  import { _ as isSubagentSessionKey, a as classifySessionKeyShape, c as resolveAgentIdFromSessionKey, d as DEFAULT_ACCOUNT_ID, f as normalizeAccountId, g as isCronSessionKey, h as isAcpSessionKey, l as resolveThreadSessionKeys, m as getSubagentDepth, o as normalizeAgentId, r as buildAgentMainSessionKey, s as normalizeMainKey, t as DEFAULT_AGENT_ID, u as sanitizeAgentId, v as parseAgentSessionKey, y as resolveThreadParentSessionKey } from "./session-key-BmQ2R1ev.js";
4
- import { $ as sleep, A as theme, B as clampInt, C as logVerbose, D as warn, E as shouldLogVerbose, G as isRecord, H as ensureDir$3, I as normalizeLogLevel, O as colorize, Q as shortenHomePath, R as resolvePreferredSymiTmpDir, T as setVerbose, U as escapeRegExp, W as formatTerminalLink, X as safeParseJson, Y as resolveUserPath, Z as shortenHomeInString, a as normalizeAnyChannelId, b as danger, d as createPluginRegistry, et as sliceUtf16Safe, f as clearPluginCommands, g as createInternalHookEvent, h as matchPluginCommand, j as getChildLogger, k as isRich, m as listPluginCommands, n as CHAT_CHANNEL_ORDER, nt as isPlainObject, o as normalizeChannelId, p as executePluginCommand, tt as truncateUtf16Safe, u as setActivePluginRegistry, y as triggerInternalHook, z as CONFIG_DIR } from "./registry-C-JddWwo.js";
5
- import { a as resolveAgentSkillsFilter, l as resolveSessionAgentId, n as resolveAgentConfig, o as resolveAgentWorkspaceDir, r as resolveAgentDir, s as resolveDefaultAgentId, u as resolveSessionAgentIds } from "./agent-scope-B1Ina6jV.js";
6
- import { a as registerActiveProgressLine, i as clearActiveProgressLine, n as createNonExitingRuntime, o as unregisterActiveProgressLine, r as defaultRuntime, t as createSubsystemLogger } from "./subsystem-DzRUKS9f.js";
7
- import { S as logWarn, _ as runExec, b as logError, f as loadWorkspaceBootstrapFiles, g as runCommandWithTimeout, h as resolveSymiPackageRootSync, 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-CsaDUuDn.js";
8
- import { _ as resolveAuthProfileDisplayLabel, a as markAuthProfileFailure, c as dedupeProfileIds, d as ensureAuthProfileStore, f as resolveAuthStorePathForDisplay, g as normalizeSecretInput, i as isProfileInCooldown, l as listProfilesForProvider, m as withFileLock$1, n as resolveAuthProfileOrder, o as markAuthProfileUsed, p as resolveSymiAgentDir, r as getSoonestCooldownExpiry, s as resolveApiKeyForProfile, u as markAuthProfileGood } from "./auth-profiles-BSw0aQND.js";
4
+ import { $ as sleep, A as theme, B as clampInt, C as logVerbose, D as warn, E as shouldLogVerbose, G as isRecord, H as ensureDir$3, I as normalizeLogLevel, O as colorize, Q as shortenHomePath, R as resolvePreferredSymiTmpDir, T as setVerbose, U as escapeRegExp, W as formatTerminalLink, X as safeParseJson, Y as resolveUserPath, Z as shortenHomeInString, a as normalizeAnyChannelId, b as danger, d as createPluginRegistry, et as sliceUtf16Safe, f as clearPluginCommands, g as createInternalHookEvent, h as matchPluginCommand, j as getChildLogger, k as isRich, m as listPluginCommands, n as CHAT_CHANNEL_ORDER, nt as isPlainObject, o as normalizeChannelId, p as executePluginCommand, tt as truncateUtf16Safe, u as setActivePluginRegistry, y as triggerInternalHook, z as CONFIG_DIR } from "./registry-9AaJQms1.js";
5
+ import { a as resolveAgentSkillsFilter, l as resolveSessionAgentId, n as resolveAgentConfig, o as resolveAgentWorkspaceDir, r as resolveAgentDir, s as resolveDefaultAgentId, u as resolveSessionAgentIds } from "./agent-scope-DnJEvgMH.js";
6
+ import { a as registerActiveProgressLine, i as clearActiveProgressLine, n as createNonExitingRuntime, o as unregisterActiveProgressLine, r as defaultRuntime, t as createSubsystemLogger } from "./subsystem-DhOo2FZn.js";
7
+ import { S as logWarn, _ as runExec, b as logError, f as loadWorkspaceBootstrapFiles, g as runCommandWithTimeout, h as resolveSymiPackageRootSync, 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-OBnI5mKu.js";
8
+ import { _ as resolveAuthProfileDisplayLabel, a as markAuthProfileFailure, c as dedupeProfileIds, d as ensureAuthProfileStore, f as resolveAuthStorePathForDisplay, g as normalizeSecretInput, i as isProfileInCooldown, l as listProfilesForProvider, m as withFileLock$1, n as resolveAuthProfileOrder, o as markAuthProfileUsed, p as resolveSymiAgentDir, r as getSoonestCooldownExpiry, s as resolveApiKeyForProfile, u as markAuthProfileGood } from "./auth-profiles-DVc0P8H7.js";
9
9
  import { n as resolveCliName, t as formatCliCommand } from "./command-format-BrrHNE8r.js";
10
- import { _ as DEFAULT_MODEL, c as normalizeProviderId, d as resolveDefaultModelForAgent, f as resolveModelRefFromString, g as DEFAULT_CONTEXT_TOKENS, h as getProviderAdapter, i as findNormalizedProviderValue, m as resolveThinkingDefault, n as buildConfiguredAllowlistKeys, o as modelKey, p as resolveSubagentSpawnModelSelection, r as buildModelAliasIndex, s as normalizeModelRef$1, t as buildAllowedModelSet, u as resolveConfiguredModelRef, v as DEFAULT_PROVIDER } from "./model-selection-BqshlIZc.js";
10
+ import { _ as DEFAULT_MODEL, c as normalizeProviderId, d as resolveDefaultModelForAgent, f as resolveModelRefFromString, g as DEFAULT_CONTEXT_TOKENS, h as getProviderAdapter, i as findNormalizedProviderValue, m as resolveThinkingDefault, n as buildConfiguredAllowlistKeys, o as modelKey, p as resolveSubagentSpawnModelSelection, r as buildModelAliasIndex, s as normalizeModelRef$1, t as buildAllowedModelSet, u as resolveConfiguredModelRef, v as DEFAULT_PROVIDER } from "./model-selection-C_XFh0kf.js";
11
11
  import { n as saveJsonFile, t as loadJsonFile } from "./json-file-CZ3ssFR9.js";
12
- import { $ as resolveSandboxContext, $t as resolveBrowserControlAuth, A as isGoogleModelApi, At as resolveSessionResetPolicy, B as isCompactionFailureError, Bt as resolveGroupSessionKey, C as sanitizeImageBlocks, Ct as INPUT_PROVENANCE_KIND_VALUES, D as extractToolResultId, Dt as resolveSessionKey, E as extractToolCallsFromAssistant, Et as normalizeInputProvenance, F as formatRawAssistantErrorForUi, Ft as canonicalizeMainSessionAlias, G as isRateLimitAssistantError, Gt as resolveBrowserConfig, H as isFailoverAssistantError, Ht as resolveSessionLockMaxHoldFromTimeout, I as getApiErrorPayloadFingerprint, J as isTransientHttpError, Jt as saveMediaBuffer, K as isRawApiErrorPayload, Kt as resolveProfile, L as isAuthAssistantError, M as classifyFailoverReason, Mt as resolveThreadFlag, N as formatAssistantErrorText, Nt as DEFAULT_RESET_TRIGGERS, O as downgradeOpenAIReasoningBlocks, Ot as evaluateSessionFreshness, P as formatBillingErrorMessage, Pt as resolveFreshSessionTotalTokens, Q as ensureSandboxWorkspaceForSession, Qt as ensureBrowserControlAuth, R as isBillingAssistantError, Rt as resolveMainSessionKey, S as sanitizeSessionMessagesImages, St as extractToolCallNames, T as resolveImageSanitizationLimits, Tt as hasInterSessionUserProvenance, U as isFailoverErrorMessage, Ut as createBrowserRouteContext, V as isContextOverflowError, Vt as acquireSessionWriteLock, W as isLikelyContextOverflowError, Wt as registerBrowserRoutes, X as parseImageSizeError, Xt as resolveExistingPathsWithinRoot, Y as parseImageDimensionError, Yt as DEFAULT_UPLOAD_DIR, Z as sanitizeUserFacingText, Zt as getBridgeAuthForPort, _ as validateAnthropicTurns, _t as normalizeSessionDeliveryFields, an as mergeAlsoAllowPolicy, at as loadSessionStore, b as isMessagingToolDuplicateNormalized, bt as capArrayByJsonBytes, c as normalizeChannelTargetInput, cn as stripPluginOnlyAllowlist, ct as updateLastRoute, d as parseReplyDirectives, dn as buildBootstrapContextFiles, dt as isCacheEnabled, en as applyOwnerOnlyToolPolicy, et as resolveSandboxRuntimeStatus, f as MEDIA_TOKEN_RE, fn as ensureSessionHeader, ft as resolveCacheTtlMs$1, g as initializeGlobalHookRunner, gt as normalizeDeliveryContext, h as getGlobalHookRunner, hn as sanitizeGoogleTurnOrdering, ht as mergeDeliveryContext, in as expandToolGroups, it as resolveAndPersistSessionFile, j as BILLING_ERROR_USER_MESSAGE, jt as resolveSessionResetType, k as isAntigravityClaude, kt as resolveChannelResetConfig, l as normalizeTargetForProvider, ln as compileGlobPatterns, lt as updateSessionStore, m as parseInlineDirectives$1, mn as resolveBootstrapTotalMaxChars, mt as deliveryContextKey, nn as collectExplicitAllowlist, o as normalizeReplyPayloadsForDelivery, on as normalizeToolName$1, ot as readSessionUpdatedAt, p as splitMediaFromOutput, pn as resolveBootstrapMaxChars, pt as deliveryContextFromSession, q as isTimeoutErrorMessage, qt as getMediaDir, rn as expandPolicyWithPluginGroups, rt as appendAssistantMessageToSessionTranscript, s as buildTargetResolverSignature, sn as resolveToolProfilePolicy, st as recordSessionMetaFromInbound, t as deliverOutboundPayloads, tn as buildPluginToolGroups, tt as extractDeliveryInfo, u as throwIfAborted, un as matchesAnyGlobPattern, ut as updateSessionStoreEntry, v as validateGeminiTurns, w as sanitizeToolResultImages, wt as applyInputProvenanceToUserMessage, x as normalizeTextForComparison, xt as countToolResults, y as pickFallbackThinkingLevel, yt as archiveSessionTranscripts, z as isCloudCodeAssistFormatError, zt as deriveSessionMetaPatch } from "./deliver-BiWlR84Y.js";
13
- import { C as unsetConfigValueAtPath, S as setConfigValueAtPath, T as VERSION, _ as resetConfigOverrides, b as getConfigValueAtPath, c as loadConfig, d as writeConfigFile, f as validateConfigObjectWithPlugins, g as getConfigOverrides, h as validateJsonSchemaValue, i as isBlockedHostnameOrIp, l as readConfigFileSnapshot, o as normalizeHostname, p as parseDurationMs, t as SsrFBlockedError, u as resolveConfigSnapshotHash, v as setConfigOverride, w as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH, x as parseConfigPath, y as unsetConfigOverride } from "./ssrf-DNhyFMRW.js";
12
+ import { $ as resolveSandboxContext, $t as resolveBrowserControlAuth, A as isGoogleModelApi, At as resolveSessionResetPolicy, B as isCompactionFailureError, Bt as resolveGroupSessionKey, C as sanitizeImageBlocks, Ct as INPUT_PROVENANCE_KIND_VALUES, D as extractToolResultId, Dt as resolveSessionKey, E as extractToolCallsFromAssistant, Et as normalizeInputProvenance, F as formatRawAssistantErrorForUi, Ft as canonicalizeMainSessionAlias, G as isRateLimitAssistantError, Gt as resolveBrowserConfig, H as isFailoverAssistantError, Ht as resolveSessionLockMaxHoldFromTimeout, I as getApiErrorPayloadFingerprint, J as isTransientHttpError, Jt as saveMediaBuffer, K as isRawApiErrorPayload, Kt as resolveProfile, L as isAuthAssistantError, M as classifyFailoverReason, Mt as resolveThreadFlag, N as formatAssistantErrorText, Nt as DEFAULT_RESET_TRIGGERS, O as downgradeOpenAIReasoningBlocks, Ot as evaluateSessionFreshness, P as formatBillingErrorMessage, Pt as resolveFreshSessionTotalTokens, Q as ensureSandboxWorkspaceForSession, Qt as ensureBrowserControlAuth, R as isBillingAssistantError, Rt as resolveMainSessionKey, S as sanitizeSessionMessagesImages, St as extractToolCallNames, T as resolveImageSanitizationLimits, Tt as hasInterSessionUserProvenance, U as isFailoverErrorMessage, Ut as createBrowserRouteContext, V as isContextOverflowError, Vt as acquireSessionWriteLock, W as isLikelyContextOverflowError, Wt as registerBrowserRoutes, X as parseImageSizeError, Xt as resolveExistingPathsWithinRoot, Y as parseImageDimensionError, Yt as DEFAULT_UPLOAD_DIR, Z as sanitizeUserFacingText, Zt as getBridgeAuthForPort, _ as validateAnthropicTurns, _t as normalizeSessionDeliveryFields, an as mergeAlsoAllowPolicy, at as loadSessionStore, b as isMessagingToolDuplicateNormalized, bt as capArrayByJsonBytes, c as normalizeChannelTargetInput, cn as stripPluginOnlyAllowlist, ct as updateLastRoute, d as parseReplyDirectives, dn as buildBootstrapContextFiles, dt as isCacheEnabled, en as applyOwnerOnlyToolPolicy, et as resolveSandboxRuntimeStatus, f as MEDIA_TOKEN_RE, fn as ensureSessionHeader, ft as resolveCacheTtlMs$1, g as initializeGlobalHookRunner, gt as normalizeDeliveryContext, h as getGlobalHookRunner, hn as sanitizeGoogleTurnOrdering, ht as mergeDeliveryContext, in as expandToolGroups, it as resolveAndPersistSessionFile, j as BILLING_ERROR_USER_MESSAGE, jt as resolveSessionResetType, k as isAntigravityClaude, kt as resolveChannelResetConfig, l as normalizeTargetForProvider, ln as compileGlobPatterns, lt as updateSessionStore, m as parseInlineDirectives$1, mn as resolveBootstrapTotalMaxChars, mt as deliveryContextKey, nn as collectExplicitAllowlist, o as normalizeReplyPayloadsForDelivery, on as normalizeToolName$1, ot as readSessionUpdatedAt, p as splitMediaFromOutput, pn as resolveBootstrapMaxChars, pt as deliveryContextFromSession, q as isTimeoutErrorMessage, qt as getMediaDir, rn as expandPolicyWithPluginGroups, rt as appendAssistantMessageToSessionTranscript, s as buildTargetResolverSignature, sn as resolveToolProfilePolicy, st as recordSessionMetaFromInbound, t as deliverOutboundPayloads, tn as buildPluginToolGroups, tt as extractDeliveryInfo, u as throwIfAborted, un as matchesAnyGlobPattern, ut as updateSessionStoreEntry, v as validateGeminiTurns, w as sanitizeToolResultImages, wt as applyInputProvenanceToUserMessage, x as normalizeTextForComparison, xt as countToolResults, y as pickFallbackThinkingLevel, yt as archiveSessionTranscripts, z as isCloudCodeAssistFormatError, zt as deriveSessionMetaPatch } from "./deliver-BZ-5d1Pv.js";
13
+ import { C as unsetConfigValueAtPath, S as setConfigValueAtPath, T as VERSION, _ as resetConfigOverrides, b as getConfigValueAtPath, c as loadConfig, d as writeConfigFile, f as validateConfigObjectWithPlugins, g as getConfigOverrides, h as validateJsonSchemaValue, i as isBlockedHostnameOrIp, l as readConfigFileSnapshot, o as normalizeHostname, p as parseDurationMs, t as SsrFBlockedError, u as resolveConfigSnapshotHash, v as setConfigOverride, w as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH, x as parseConfigPath, y as unsetConfigOverride } from "./ssrf-CD6rSfmA.js";
14
14
  import { t as parseBooleanValue } from "./boolean-BsqeuxE6.js";
15
- import { i as resolveShellEnvFallbackTimeoutMs, n as getShellPathFromLoginShell, s as isTruthyEnvValue } from "./shell-env-B1lDWz4t.js";
16
- 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-BGJu2aC-.js";
17
- import { C as rawDataToString, O as DEFAULT_AI_SNAPSHOT_MAX_CHARS, T as isSecureWebSocketUrl, x as ensureChromeExtensionRelayServer } from "./chrome-OTJg3QKn.js";
18
- import { l as parseFrontmatterBlock } from "./frontmatter-CJEX1BrH.js";
19
- 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-Dm4gX4Tl.js";
15
+ import { i as resolveShellEnvFallbackTimeoutMs, n as getShellPathFromLoginShell, s as isTruthyEnvValue } from "./shell-env-DUnzZNS9.js";
16
+ 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-B1g2QOPw.js";
17
+ import { C as rawDataToString, O as DEFAULT_AI_SNAPSHOT_MAX_CHARS, T as isSecureWebSocketUrl, x as ensureChromeExtensionRelayServer } from "./chrome-Bu0sk8jc.js";
18
+ import { l as parseFrontmatterBlock } from "./frontmatter-Dm9ehpNF.js";
19
+ 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-BfqpCx1S.js";
20
20
  import { n as redactToolDetail } from "./redact-CSGZUFxa.js";
21
21
  import { n as formatErrorMessage } from "./errors-C89ppfp9.js";
22
- import { _ as MAX_IMAGE_BYTES, d as extensionForMime, f as getFileExtension, g as normalizeMimeType$1, h as kindFromMime, l as resizeToJpeg, m as isAudioFileName, n as getDefaultMediaLocalRoots, o as getImageMetadata, p as imageMimeFromFormat, u as detectMime, y as mediaKindFromMime } from "./local-roots-C7fBKoOI.js";
23
- import { _ as normalizeHyphenSlug, a as normalizeReasoningLevel, c as normalizeVerboseLevel, d as getChannelDock, f as listChannelDocks, g as normalizeAtHashSlug, h as resolveChannelGroupToolsPolicy, i as normalizeElevatedLevel, l as resolveResponseUsageMode, m as resolveChannelGroupRequireMention, n as formatXHighModelHint, o as normalizeThinkLevel, p as resolveChannelGroupPolicy, s as normalizeUsageDisplay, t as formatThinkingLevels, u as supportsXHighThinking, v as normalizeStringEntries, y as normalizeStringEntriesLower } from "./thinking-h_Lv1OKF.js";
24
- import { C as GATEWAY_CLIENT_MODES, S as GATEWAY_CLIENT_IDS, _ as isMarkdownCapableMessageChannel, a as chunkText, b as resolveGatewayMessageChannel, c as resolveChunkMode, d as isSafeFenceBreak, f as parseFenceSpans, g as isInternalMessageChannel, i as chunkMarkdownTextWithMode, l as resolveTextChunkLimit, m as isDeliverableMessageChannel, o as chunkTextWithMode, p as INTERNAL_MESSAGE_CHANNEL, r as chunkMarkdownText, t as chunkByNewline, u as findFenceSpanAt, v as listDeliverableMessageChannels, w as GATEWAY_CLIENT_NAMES, y as normalizeMessageChannel } from "./chunk-BkYIP_hB.js";
22
+ import { _ as MAX_IMAGE_BYTES, d as extensionForMime, f as getFileExtension, g as normalizeMimeType$1, h as kindFromMime, l as resizeToJpeg, m as isAudioFileName, n as getDefaultMediaLocalRoots, o as getImageMetadata, p as imageMimeFromFormat, u as detectMime, y as mediaKindFromMime } from "./local-roots-Ab2ch8iw.js";
23
+ import { _ as normalizeHyphenSlug, a as normalizeReasoningLevel, c as normalizeVerboseLevel, d as getChannelDock, f as listChannelDocks, g as normalizeAtHashSlug, h as resolveChannelGroupToolsPolicy, i as normalizeElevatedLevel, l as resolveResponseUsageMode, m as resolveChannelGroupRequireMention, n as formatXHighModelHint, o as normalizeThinkLevel, p as resolveChannelGroupPolicy, s as normalizeUsageDisplay, t as formatThinkingLevels, u as supportsXHighThinking, v as normalizeStringEntries, y as normalizeStringEntriesLower } from "./thinking-Dc4USx6E.js";
24
+ import { C as GATEWAY_CLIENT_MODES, S as GATEWAY_CLIENT_IDS, _ as isMarkdownCapableMessageChannel, a as chunkText, b as resolveGatewayMessageChannel, c as resolveChunkMode, d as isSafeFenceBreak, f as parseFenceSpans, g as isInternalMessageChannel, i as chunkMarkdownTextWithMode, l as resolveTextChunkLimit, m as isDeliverableMessageChannel, o as chunkTextWithMode, p as INTERNAL_MESSAGE_CHANNEL, r as chunkMarkdownText, t as chunkByNewline, u as findFenceSpanAt, v as listDeliverableMessageChannels, w as GATEWAY_CLIENT_NAMES, y as normalizeMessageChannel } from "./chunk-DBVjqPm2.js";
25
25
  import { t as normalizeChatType } from "./chat-type-CE6cJOyt.js";
26
26
  import { n as resolveConversationLabel } from "./conversation-label-BVa8JTl2.js";
27
- import { i as resolveSlackAccount, n as listChannelPlugins, o as resolveSlackAppToken, r as normalizeChannelId$1, s as resolveSlackBotToken, t as getChannelPlugin } from "./plugins-B06cTFHC.js";
28
- import { _ as validateSlackBlocksArray, a as markdownToIRWithMeta, b as resolveSlackChannelId, c as MediaFetchError, d as fetchWithSsrFGuard, f as bindAbortRelay, g as parseSlackBlocksInput, h as resolveSlackWebClientOptions, i as renderMarkdownWithMarkers, l as fetchRemoteMedia, m as createSlackWebClient, o as getDefaultLocalRoots, p as fetchWithTimeout, s as loadWebMedia, t as sendMessageSlack, u as readResponseWithLimit, v as buildSlackBlocksFallbackText, y as parseSlackTarget } from "./send-C75uSv6p.js";
27
+ import { i as resolveSlackAccount, n as listChannelPlugins, o as resolveSlackAppToken, r as normalizeChannelId$1, s as resolveSlackBotToken, t as getChannelPlugin } from "./plugins-BcGFMr_d.js";
28
+ import { _ as validateSlackBlocksArray, a as markdownToIRWithMeta, b as resolveSlackChannelId, c as MediaFetchError, d as fetchWithSsrFGuard, f as bindAbortRelay, g as parseSlackBlocksInput, h as resolveSlackWebClientOptions, i as renderMarkdownWithMarkers, l as fetchRemoteMedia, m as createSlackWebClient, o as getDefaultLocalRoots, p as fetchWithTimeout, s as loadWebMedia, t as sendMessageSlack, u as readResponseWithLimit, v as buildSlackBlocksFallbackText, y as parseSlackTarget } from "./send-BNMro1go.js";
29
29
  import { i as resolveSessionTranscriptPath, n as resolveSessionFilePath, o as resolveSessionTranscriptsDirForAgent, r as resolveSessionFilePathOptions, s as resolveStorePath, t as resolveDefaultSessionStorePath } from "./paths-BsT3BvfH.js";
30
30
  import { t as emitSessionTranscriptUpdate } from "./transcript-events-ChU6IQwp.js";
31
- import { n as isSilentReplyText, t as SILENT_REPLY_TOKEN } from "./tokens-D_vCJSzF.js";
32
- import { a as logMessageProcessed, i as logLaneEnqueue, o as logMessageQueued, r as logLaneDequeue, s as logSessionStateChange, t as diag } from "./diagnostic-BALvP9wI.js";
31
+ import { n as isSilentReplyText, t as SILENT_REPLY_TOKEN } from "./tokens-BHHkQK-k.js";
32
+ import { a as logMessageProcessed, i as logLaneEnqueue, o as logMessageQueued, r as logLaneDequeue, s as logSessionStateChange, t as diag } from "./diagnostic-BlK1QQVx.js";
33
33
  import { n as getDiagnosticSessionState } from "./diagnostic-session-state-BDfanaOY.js";
34
- import { a as parseGeminiAuth, c as resolveMemorySearchConfig, d as requireApiKey, f as resolveApiKeyForProvider, h as resolveModelAuthMode, i as resolveOllamaBaseUrl, l as getApiKeyForModel, m as resolveEnvApiKey, n as retryAsync, o as collectProviderApiKeysForExecution, p as resolveAwsSdkEnvVarName, r as probeOllamaEmbeddingModels, s as executeWithApiKeyRotation, u as getCustomProviderApiKey } from "./manager-CpBJ1BE6.js";
34
+ import { a as parseGeminiAuth, c as resolveMemorySearchConfig, d as requireApiKey, f as resolveApiKeyForProvider, h as resolveModelAuthMode, i as resolveOllamaBaseUrl, l as getApiKeyForModel, m as resolveEnvApiKey, n as retryAsync, o as collectProviderApiKeysForExecution, p as resolveAwsSdkEnvVarName, r as probeOllamaEmbeddingModels, s as executeWithApiKeyRotation, u as getCustomProviderApiKey } from "./manager-_ZfCrpDq.js";
35
35
  import { r as resolveCopilotApiToken, t as DEFAULT_COPILOT_API_BASE_URL } from "./github-copilot-token-uhEBNQfj.js";
36
- import { t as ensurePiAuthJsonFromAuthProfiles } from "./pi-auth-json-DCGR3yfh.js";
37
- import { a as resolveEffectiveMessagesConfig, i as resolveAckReaction, o as resolveHumanDelayConfig, r as resolveResponsePrefixTemplate, t as createReplyPrefixOptions } from "./reply-prefix-D0NzzC4I.js";
36
+ import { t as ensurePiAuthJsonFromAuthProfiles } from "./pi-auth-json-BxGRaPJK.js";
37
+ import { a as resolveEffectiveMessagesConfig, i as resolveAckReaction, o as resolveHumanDelayConfig, r as resolveResponsePrefixTemplate, t as createReplyPrefixOptions } from "./reply-prefix-kh8vLHcr.js";
38
38
  import { c as normalizeExtraMemoryPaths, f as runTasksWithConcurrency, s as listMemoryFiles } from "./internal-BYHsj5p6.js";
39
- import { n as resolveMarkdownTableMode } from "./markdown-tables-CGqX2WvO.js";
40
- import { a as shouldHandleTextCommands, c as resolveNativeCommandsEnabled, i as normalizeCommandBody, l as resolveNativeSkillsEnabled, n as listChatCommands, o as isCommandFlagEnabled, r as listChatCommandsForConfig, s as isRestartEnabled } from "./commands-registry-BuOUfpmg.js";
41
- import { c as getSkillsSnapshotVersion, d as createAsyncLock, f as readJsonFile$1, 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-JIccKWkf.js";
39
+ import { n as resolveMarkdownTableMode } from "./markdown-tables-CVcd6XRG.js";
40
+ import { a as shouldHandleTextCommands, c as resolveNativeCommandsEnabled, i as normalizeCommandBody, l as resolveNativeSkillsEnabled, n as listChatCommands, o as isCommandFlagEnabled, r as listChatCommandsForConfig, s as isRestartEnabled } from "./commands-registry-yWbIOOoD.js";
41
+ import { c as getSkillsSnapshotVersion, d as createAsyncLock, f as readJsonFile$1, 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-DG2orCQ1.js";
42
42
  import { r as normalizeInboundTextNewlines, t as finalizeInboundContext } from "./inbound-context-DZqZj2qH.js";
43
43
  import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-Rgm3jE5N.js";
44
- import { n as resolveAgentRoute, t as buildAgentSessionKey } from "./resolve-route-CDsQda0z.js";
45
- import { i as resolveSlackThreadTs, n as deliverReplies, t as createSlackReplyDeliveryPlan } from "./replies-D0FYSIJg.js";
44
+ import { n as resolveAgentRoute, t as buildAgentSessionKey } from "./resolve-route-Cah2oBoB.js";
45
+ import { i as resolveSlackThreadTs, n as deliverReplies, t as createSlackReplyDeliveryPlan } from "./replies-Rf4NZFNR.js";
46
46
  import { createRequire } from "node:module";
47
47
  import * as path$1 from "node:path";
48
48
  import path from "node:path";
@@ -52,7 +52,7 @@ import * as fs$2 from "node:fs/promises";
52
52
  import fs$1 from "node:fs/promises";
53
53
  import { execFile, execFileSync, spawn, spawnSync } from "node:child_process";
54
54
  import { promisify } from "node:util";
55
- import JSON5 from "json5";
55
+ import json5 from "json5";
56
56
  import { fileURLToPath } from "node:url";
57
57
  import crypto, { X509Certificate, createHash, createHmac, randomBytes, randomUUID } from "node:crypto";
58
58
  import { complete, createAssistantMessageEventStream, streamSimple } from "@mariozechner/pi-ai";
@@ -4448,7 +4448,7 @@ async function getMemorySearchManager(params) {
4448
4448
  if (cached) return { manager: cached };
4449
4449
  }
4450
4450
  try {
4451
- const { QmdMemoryManager } = await import("./qmd-manager-Bc7yrt9d.js");
4451
+ const { QmdMemoryManager } = await import("./qmd-manager-CM1Zb2vR.js");
4452
4452
  const primary = await QmdMemoryManager.create({
4453
4453
  cfg: params.cfg,
4454
4454
  agentId: params.agentId,
@@ -4460,7 +4460,7 @@ async function getMemorySearchManager(params) {
4460
4460
  const wrapper = new FallbackMemoryManager({
4461
4461
  primary,
4462
4462
  fallbackFactory: async () => {
4463
- const { MemoryIndexManager } = await import("./manager-CpBJ1BE6.js").then((n) => n.t);
4463
+ const { MemoryIndexManager } = await import("./manager-_ZfCrpDq.js").then((n) => n.t);
4464
4464
  return await MemoryIndexManager.get(params);
4465
4465
  }
4466
4466
  }, () => QMD_MANAGER_CACHE.delete(cacheKey));
@@ -4473,7 +4473,7 @@ async function getMemorySearchManager(params) {
4473
4473
  }
4474
4474
  }
4475
4475
  try {
4476
- const { MemoryIndexManager } = await import("./manager-CpBJ1BE6.js").then((n) => n.t);
4476
+ const { MemoryIndexManager } = await import("./manager-_ZfCrpDq.js").then((n) => n.t);
4477
4477
  return { manager: await MemoryIndexManager.get(params) };
4478
4478
  } catch (err) {
4479
4479
  return {
@@ -7692,7 +7692,7 @@ async function recordLoopOutcome(args) {
7692
7692
  if (!args.ctx?.sessionKey) return;
7693
7693
  try {
7694
7694
  const { getDiagnosticSessionState } = await import("./diagnostic-session-state-BDfanaOY.js").then((n) => n.t);
7695
- const { recordToolCallOutcome } = await import("./tool-loop-detection-DGaNCZG0.js");
7695
+ const { recordToolCallOutcome } = await import("./tool-loop-detection-B2hNHeN_.js");
7696
7696
  recordToolCallOutcome(getDiagnosticSessionState({
7697
7697
  sessionKey: args.ctx.sessionKey,
7698
7698
  sessionId: args.ctx?.agentId
@@ -7713,8 +7713,8 @@ async function runBeforeToolCallHook(args) {
7713
7713
  const params = args.params;
7714
7714
  if (args.ctx?.sessionKey) {
7715
7715
  const { getDiagnosticSessionState } = await import("./diagnostic-session-state-BDfanaOY.js").then((n) => n.t);
7716
- const { logToolLoopAction } = await import("./diagnostic-BALvP9wI.js").then((n) => n.n);
7717
- const { detectToolCallLoop, recordToolCall } = await import("./tool-loop-detection-DGaNCZG0.js");
7716
+ const { logToolLoopAction } = await import("./diagnostic-BlK1QQVx.js").then((n) => n.n);
7717
+ const { detectToolCallLoop, recordToolCall } = await import("./tool-loop-detection-B2hNHeN_.js");
7718
7718
  const sessionState = getDiagnosticSessionState({
7719
7719
  sessionKey: args.ctx.sessionKey,
7720
7720
  sessionId: args.ctx?.agentId
@@ -10801,7 +10801,7 @@ async function routeReply(params) {
10801
10801
  const resolvedReplyToId = replyToId ?? (channelId === "slack" && threadId != null && threadId !== "" ? String(threadId) : void 0);
10802
10802
  const resolvedThreadId = channelId === "slack" ? null : threadId ?? null;
10803
10803
  try {
10804
- const { deliverOutboundPayloads } = await import("./deliver-BiWlR84Y.js").then((n) => n.n);
10804
+ const { deliverOutboundPayloads } = await import("./deliver-BZ-5d1Pv.js").then((n) => n.n);
10805
10805
  return {
10806
10806
  ok: true,
10807
10807
  messageId: (await deliverOutboundPayloads({
@@ -11087,7 +11087,7 @@ function normalizeSessionKey(value) {
11087
11087
  function readSessionStore(storePath) {
11088
11088
  try {
11089
11089
  const raw = fs.readFileSync(storePath, "utf-8");
11090
- const parsed = JSON5.parse(raw);
11090
+ const parsed = json5.parse(raw);
11091
11091
  if (parsed && typeof parsed === "object" && !Array.isArray(parsed)) return parsed;
11092
11092
  } catch {}
11093
11093
  return {};
@@ -18401,7 +18401,7 @@ async function loadModelCatalog(params) {
18401
18401
  try {
18402
18402
  const cfg = params?.config ?? loadConfig();
18403
18403
  await ensureSymiModelsJson(cfg);
18404
- await (await import("./pi-auth-json-DCGR3yfh.js").then((n) => n.n)).ensurePiAuthJsonFromAuthProfiles(resolveSymiAgentDir(), { config: cfg });
18404
+ await (await import("./pi-auth-json-BxGRaPJK.js").then((n) => n.n)).ensurePiAuthJsonFromAuthProfiles(resolveSymiAgentDir(), { config: cfg });
18405
18405
  const piSdk = await importPiSdk();
18406
18406
  const agentDir = resolveSymiAgentDir();
18407
18407
  const { join } = await import("node:path");
@@ -20542,7 +20542,7 @@ async function createModelSelectionState(params) {
20542
20542
  }
20543
20543
  }
20544
20544
  if (sessionEntry && sessionStore && sessionKey && sessionEntry.authProfileOverride) {
20545
- const { ensureAuthProfileStore } = await import("./auth-profiles-BSw0aQND.js").then((n) => n.t);
20545
+ const { ensureAuthProfileStore } = await import("./auth-profiles-DVc0P8H7.js").then((n) => n.t);
20546
20546
  const profile = ensureAuthProfileStore(void 0, { allowKeychainPrompt: false }).profiles[sessionEntry.authProfileOverride];
20547
20547
  const providerKey = normalizeProviderId(provider);
20548
20548
  if (!profile || normalizeProviderId(profile.provider) !== providerKey) await clearSessionAuthProfileOverride({
@@ -44569,7 +44569,7 @@ async function deliverSessionMaintenanceWarning(params) {
44569
44569
  return;
44570
44570
  }
44571
44571
  try {
44572
- const { deliverOutboundPayloads } = await import("./deliver-BiWlR84Y.js").then((n) => n.n);
44572
+ const { deliverOutboundPayloads } = await import("./deliver-BZ-5d1Pv.js").then((n) => n.n);
44573
44573
  await deliverOutboundPayloads({
44574
44574
  cfg: params.cfg,
44575
44575
  channel,
@@ -51163,7 +51163,7 @@ function readSlackExternalArgMenuToken(raw) {
51163
51163
  }
51164
51164
  let commandsRegistry;
51165
51165
  async function getCommandsRegistry() {
51166
- if (!commandsRegistry) commandsRegistry = await import("./commands-registry-BuOUfpmg.js").then((n) => n.t);
51166
+ if (!commandsRegistry) commandsRegistry = await import("./commands-registry-yWbIOOoD.js").then((n) => n.t);
51167
51167
  return commandsRegistry;
51168
51168
  }
51169
51169
  function encodeSlackCommandArgValue(parts) {
@@ -51505,11 +51505,11 @@ async function registerSlackMonitorSlashCommands(params) {
51505
51505
  const channelName = channelInfo?.name;
51506
51506
  const roomLabel = channelName ? `#${channelName}` : `#${command.channel_id}`;
51507
51507
  const [{ resolveAgentRoute }, { finalizeInboundContext }, { dispatchReplyWithDispatcher }] = await Promise.all([
51508
- import("./resolve-route-CDsQda0z.js").then((n) => n.r),
51508
+ import("./resolve-route-Cah2oBoB.js").then((n) => n.r),
51509
51509
  import("./inbound-context-DZqZj2qH.js").then((n) => n.n),
51510
51510
  Promise.resolve().then(() => provider_dispatcher_exports)
51511
51511
  ]);
51512
- const [{ resolveConversationLabel }, { createReplyPrefixOptions }] = await Promise.all([import("./conversation-label-BVa8JTl2.js").then((n) => n.t), import("./reply-prefix-D0NzzC4I.js").then((n) => n.n)]);
51512
+ const [{ resolveConversationLabel }, { createReplyPrefixOptions }] = await Promise.all([import("./conversation-label-BVa8JTl2.js").then((n) => n.t), import("./reply-prefix-kh8vLHcr.js").then((n) => n.n)]);
51513
51513
  const route = resolveAgentRoute({
51514
51514
  cfg,
51515
51515
  channel: "slack",
@@ -51566,9 +51566,9 @@ async function registerSlackMonitorSlashCommands(params) {
51566
51566
  });
51567
51567
  const deliverSlashPayloads = async (replies) => {
51568
51568
  const [{ deliverSlackSlashReplies }, { resolveChunkMode }, { resolveMarkdownTableMode }] = await Promise.all([
51569
- import("./replies-D0FYSIJg.js").then((n) => n.r),
51570
- import("./chunk-BkYIP_hB.js").then((n) => n.s),
51571
- import("./markdown-tables-CGqX2WvO.js").then((n) => n.t)
51569
+ import("./replies-Rf4NZFNR.js").then((n) => n.r),
51570
+ import("./chunk-DBVjqPm2.js").then((n) => n.s),
51571
+ import("./markdown-tables-CVcd6XRG.js").then((n) => n.t)
51572
51572
  ]);
51573
51573
  await deliverSlackSlashReplies({
51574
51574
  replies,
@@ -51621,7 +51621,7 @@ async function registerSlackMonitorSlashCommands(params) {
51621
51621
  let nativeCommands = [];
51622
51622
  if (nativeEnabled) {
51623
51623
  reg = await getCommandsRegistry();
51624
- const skillCommands = nativeSkillsEnabled ? (await import("./skill-commands-JIccKWkf.js").then((n) => n.a)).listSkillCommandsForAgents({ cfg }) : [];
51624
+ const skillCommands = nativeSkillsEnabled ? (await import("./skill-commands-DG2orCQ1.js").then((n) => n.a)).listSkillCommandsForAgents({ cfg }) : [];
51625
51625
  nativeCommands = reg.listNativeCommandSpecsForConfig(cfg, {
51626
51626
  skillCommands,
51627
51627
  provider: "slack"
@@ -1,7 +1,7 @@
1
1
  import { u as resolveRequiredHomeDir } from "./paths-CE7eVGHg.js";
2
2
  import { _ as isSubagentSessionKey, g as isCronSessionKey } from "./session-key-BmQ2R1ev.js";
3
- import { D as warn, E as shouldLogVerbose, M as getLogger, Y as resolveUserPath, b as danger, q as pathExists, w as logVerboseConsole, x as info } from "./registry-C-JddWwo.js";
4
- import { r as defaultRuntime, t as createSubsystemLogger } from "./subsystem-DzRUKS9f.js";
3
+ import { D as warn, E as shouldLogVerbose, M as getLogger, Y as resolveUserPath, b as danger, q as pathExists, w as logVerboseConsole, x as info } from "./registry-9AaJQms1.js";
4
+ import { r as defaultRuntime, t as createSubsystemLogger } from "./subsystem-DhOo2FZn.js";
5
5
  import path from "node:path";
6
6
  import fs from "node:fs";
7
7
  import os from "node:os";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@symerian/symi",
3
- "version": "3.5.6",
3
+ "version": "3.5.8",
4
4
  "description": "Multi-channel AI gateway with extensible messaging integrations",
5
5
  "keywords": [],
6
6
  "homepage": "https://github.com/jaysteelmind/symi#readme",