@symerian/symi 3.5.16 → 3.5.17

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 (46) hide show
  1. package/dist/build-info.json +3 -3
  2. package/dist/bundled/boot-md/handler.js +4 -4
  3. package/dist/bundled/session-memory/handler.js +4 -4
  4. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  5. package/dist/{chrome-OTJg3QKn.js → chrome-CmQwGAuL.js} +7 -7
  6. package/dist/{command-registry-2hfSOaGL.js → command-registry-Bmzf59Qv.js} +4 -4
  7. package/dist/{completion-cli-TYU7Y_XZ.js → completion-cli-BM4kZs0m.js} +2 -2
  8. package/dist/{completion-cli-BEO2AB41.js → completion-cli-CtUZzw-P.js} +1 -1
  9. package/dist/control-ui/css/style.css +166 -0
  10. package/dist/control-ui/js/symframe.js +246 -20
  11. package/dist/{deliver-BiWlR84Y.js → deliver-B04yNX82.js} +4 -4
  12. package/dist/{doctor-completion-CvaSyxyp.js → doctor-completion-Df7Hv_IA.js} +1 -1
  13. package/dist/{doctor-completion-DgNgQFQQ.js → doctor-completion-Do20Q4ZM.js} +1 -1
  14. package/dist/entry.js +1 -1
  15. package/dist/{gateway-cli-DCTPCoQx.js → gateway-cli-CKlpsjYJ.js} +1 -1
  16. package/dist/{gateway-cli-BNhURE6O.js → gateway-cli-CwuURJSh.js} +1 -1
  17. package/dist/index.js +1 -1
  18. package/dist/llm-slug-generator.js +4 -4
  19. package/dist/{manager-DjhE8yLr.js → manager-B-wPs7cb.js} +1 -1
  20. package/dist/{onboard-DRn6pFfO.js → onboard-3FdfkbGm.js} +1 -1
  21. package/dist/{onboard-fBxK2Bky.js → onboard-DFbgAa-t.js} +1 -1
  22. package/dist/{onboarding-CLOZkMhc.js → onboarding-BigIUHoh.js} +1 -1
  23. package/dist/{onboarding-i1rA1XGe.js → onboarding-fq_-89Jc.js} +1 -1
  24. package/dist/{onboarding.finalize-BV76YUaD.js → onboarding.finalize-BGDBP9G7.js} +4 -4
  25. package/dist/{onboarding.finalize-gk9ot6lb.js → onboarding.finalize-C2Dt95Rn.js} +3 -3
  26. package/dist/plugin-sdk/index.js +6 -6
  27. package/dist/{program-Qug3oi2C.js → program-FBDhJLrg.js} +2 -2
  28. package/dist/{program-context-CCIGjsQL.js → program-context-CZYb4zB2.js} +7 -7
  29. package/dist/{prompt-select-styled-ARnCLf3Q.js → prompt-select-styled-C3LUG3Be.js} +1 -1
  30. package/dist/{prompt-select-styled-BdNTADj2.js → prompt-select-styled-DQyZ6VHH.js} +1 -1
  31. package/dist/{pw-ai-DY_6l11g.js → pw-ai-DLsdzdgc.js} +1 -1
  32. package/dist/{register.maintenance-CTF70v5h.js → register.maintenance-81d4KKmA.js} +5 -5
  33. package/dist/{register.maintenance-BncnnneX.js → register.maintenance-FWHasNw7.js} +4 -4
  34. package/dist/{register.onboard-O0P6rCuX.js → register.onboard-BjPPudfS.js} +2 -2
  35. package/dist/{register.onboard-DhcpKFgU.js → register.onboard-COyX1xSR.js} +2 -2
  36. package/dist/{register.setup-CZfWa9-Z.js → register.setup-C_ds_5fl.js} +2 -2
  37. package/dist/{register.setup-D3XQyELS.js → register.setup-DDMtRxcF.js} +2 -2
  38. package/dist/{register.subclis-Dv8bf2ox.js → register.subclis-B16w8wxz.js} +4 -4
  39. package/dist/{run-main-BsVhPYM4.js → run-main-CUMiBvgm.js} +3 -3
  40. package/dist/{symframe-cli-CsA_x7U9.js → symframe-cli-DLbhzXNU.js} +16 -2
  41. package/dist/{symframe-cli-BKrtoG8H.js → symframe-cli-OqTUw6Mt.js} +16 -2
  42. package/dist/{synthesis-Dv6bJWYX.js → synthesis-CG0rRaLA.js} +4 -4
  43. package/dist/{unified-runner-ByJSAveb.js → unified-runner-ChkYfsxy.js} +10 -10
  44. package/dist/{update-cli-y4Q__h4E.js → update-cli-BhI88CVk.js} +5 -5
  45. package/dist/{update-cli-CrP5Kvo4.js → update-cli-jxM3sFLP.js} +4 -4
  46. package/package.json +1 -1
@@ -16,7 +16,7 @@ import fs from "node:fs/promises";
16
16
 
17
17
  //#region src/cli/symframe-cli.ts
18
18
  function registerSymframeCli(program) {
19
- addGatewayClientOptions(program.command("symframe").description("Push cards to the Glass UI symframe (right-column dynamic display)").addHelpText("after", () => `\n${theme.muted("Docs:")} ${formatDocsLink("/cli/symframe", "docs.symi.ai/cli/symframe")}\n`).command("push").description("Push (add/update/remove) a card to the symframe").option("--action <add|update|remove>", "Action (default: add)", "add").option("--id <id>", "Card id (required for update/remove; auto-generated for add)").option("--type <type>", "Renderer type — text | markdown (more in future phases)", "text").option("--title <title>", "Card title (header text)").option("--body <body>", "Card body text (markdown source if --type=markdown)").option("--file <path>", "Read body from file (overrides --body)").option("--sticky", "Anchor at the bottom of the stack (no dismiss button)", false).option("--json", "Output JSON", false)).action(async (opts) => {
19
+ addGatewayClientOptions(program.command("symframe").description("Push cards to the Glass UI symframe (right-column dynamic display)").addHelpText("after", () => `\n${theme.muted("Docs:")} ${formatDocsLink("/cli/symframe", "docs.symi.ai/cli/symframe")}\n`).command("push").description("Push (add/update/remove) a card to the symframe").option("--action <add|update|remove>", "Action (default: add)", "add").option("--id <id>", "Card id (required for update/remove; auto-generated for add)").option("--type <type>", "Renderer type — text | markdown | code | email-draft | pdf | audio | video", "text").option("--title <title>", "Card title (header text)").option("--body <body>", "Card body text (code source if --type=code)").option("--file <path>", "Read body from file (overrides --body)").option("--language <lang>", "Language hint for --type=code (e.g. ts, py, sh)").option("--url <url>", "Media URL for --type=pdf|audio|video").option("--mime <type>", "MIME type for --type=audio|video (e.g. audio/mpeg)").option("--data <json>", "Extra structured fields merged into the card (e.g. email-draft uses { email: { from, to, subject, body } })").option("--sticky", "Anchor at the bottom of the stack (no dismiss button)", false).option("--json", "Output JSON", false)).action(async (opts) => {
20
20
  try {
21
21
  const action = (opts.action ?? "add").trim();
22
22
  if (action !== "add" && action !== "update" && action !== "remove") throw new Error(`--action must be one of: add | update | remove (got '${action}')`);
@@ -32,8 +32,22 @@ function registerSymframeCli(program) {
32
32
  if (opts.type) card.type = opts.type;
33
33
  if (opts.title) card.title = opts.title;
34
34
  if (bodyText !== void 0) card.body = bodyText;
35
+ if (opts.language) card.language = opts.language;
36
+ if (opts.url) card.url = opts.url;
37
+ if (opts.mime) card.mimeType = opts.mime;
38
+ if (opts.data) {
39
+ let parsed;
40
+ try {
41
+ parsed = JSON.parse(opts.data);
42
+ } catch (err) {
43
+ throw new Error(`--data must be valid JSON: ${String(err)}`, { cause: err });
44
+ }
45
+ if (parsed && typeof parsed === "object" && !Array.isArray(parsed)) Object.assign(card, parsed);
46
+ else throw new Error("--data must be a JSON object");
47
+ }
35
48
  if (opts.sticky) card.sticky = true;
36
- if (action === "add" && !opts.title && bodyText === void 0) throw new Error("add requires at least --title or --body/--file");
49
+ const hasContent = opts.title || bodyText !== void 0 || opts.url || opts.data && card.email;
50
+ if (action === "add" && !hasContent) throw new Error("add requires at least --title, --body/--file, --url, or --data with structured content");
37
51
  if (action === "update" && !opts.id) throw new Error("--id is required for update");
38
52
  if (Object.keys(card).length > 0) params.card = card;
39
53
  }
@@ -3,15 +3,15 @@ import "./registry-C-JddWwo.js";
3
3
  import "./agent-scope-B1Ina6jV.js";
4
4
  import { t as createSubsystemLogger } from "./subsystem-DzRUKS9f.js";
5
5
  import "./workspace-CsaDUuDn.js";
6
- import { t as runAgentTurn } from "./unified-runner-ByJSAveb.js";
6
+ import { t as runAgentTurn } from "./unified-runner-ChkYfsxy.js";
7
7
  import "./auth-profiles-BSw0aQND.js";
8
8
  import "./model-selection-BqshlIZc.js";
9
- import "./deliver-BiWlR84Y.js";
9
+ import "./deliver-B04yNX82.js";
10
10
  import "./ssrf-DNhyFMRW.js";
11
11
  import "./boolean-BsqeuxE6.js";
12
12
  import "./shell-env-B1lDWz4t.js";
13
13
  import "./manifest-registry-BGJu2aC-.js";
14
- import "./chrome-OTJg3QKn.js";
14
+ import "./chrome-CmQwGAuL.js";
15
15
  import "./frontmatter-CJEX1BrH.js";
16
16
  import "./skills-Dm4gX4Tl.js";
17
17
  import "./redact-CSGZUFxa.js";
@@ -25,7 +25,7 @@ import "./paths-BsT3BvfH.js";
25
25
  import "./tokens-D_vCJSzF.js";
26
26
  import "./diagnostic-BALvP9wI.js";
27
27
  import "./diagnostic-session-state-BDfanaOY.js";
28
- import "./manager-DjhE8yLr.js";
28
+ import "./manager-B-wPs7cb.js";
29
29
  import "./github-copilot-token-uhEBNQfj.js";
30
30
  import "./pi-auth-json-DCGR3yfh.js";
31
31
  import "./reply-prefix-D0NzzC4I.js";
@@ -9,12 +9,12 @@ import { _ as resolveAuthProfileDisplayLabel, a as markAuthProfileFailure, c as
9
9
  import { n as resolveCliName, t as formatCliCommand } from "./command-format-BrrHNE8r.js";
10
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";
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";
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-B04yNX82.js";
13
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";
14
14
  import { t as parseBooleanValue } from "./boolean-BsqeuxE6.js";
15
15
  import { i as resolveShellEnvFallbackTimeoutMs, n as getShellPathFromLoginShell, s as isTruthyEnvValue } from "./shell-env-B1lDWz4t.js";
16
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";
17
+ import { C as rawDataToString, O as DEFAULT_AI_SNAPSHOT_MAX_CHARS, T as isSecureWebSocketUrl, x as ensureChromeExtensionRelayServer } from "./chrome-CmQwGAuL.js";
18
18
  import { l as parseFrontmatterBlock } from "./frontmatter-CJEX1BrH.js";
19
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";
20
20
  import { n as redactToolDetail } from "./redact-CSGZUFxa.js";
@@ -31,7 +31,7 @@ import { t as emitSessionTranscriptUpdate } from "./transcript-events-ChU6IQwp.j
31
31
  import { n as isSilentReplyText, t as SILENT_REPLY_TOKEN } from "./tokens-D_vCJSzF.js";
32
32
  import { a as logMessageProcessed, i as logLaneEnqueue, o as logMessageQueued, r as logLaneDequeue, s as logSessionStateChange, t as diag } from "./diagnostic-BALvP9wI.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-DjhE8yLr.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-B-wPs7cb.js";
35
35
  import { r as resolveCopilotApiToken, t as DEFAULT_COPILOT_API_BASE_URL } from "./github-copilot-token-uhEBNQfj.js";
36
36
  import { t as ensurePiAuthJsonFromAuthProfiles } from "./pi-auth-json-DCGR3yfh.js";
37
37
  import { a as resolveEffectiveMessagesConfig, i as resolveAckReaction, o as resolveHumanDelayConfig, r as resolveResponsePrefixTemplate, t as createReplyPrefixOptions } from "./reply-prefix-D0NzzC4I.js";
@@ -58,7 +58,7 @@ import crypto, { X509Certificate, createHash, createHmac, randomBytes, randomUUI
58
58
  import { complete, createAssistantMessageEventStream, streamSimple } from "@mariozechner/pi-ai";
59
59
  import AjvPkg from "ajv";
60
60
  import { CURRENT_SESSION_VERSION, DefaultResourceLoader, SessionManager, SettingsManager, codingTools, createAgentSession, createEditTool, createReadTool, createWriteTool, estimateTokens, generateSummary, readTool } from "@mariozechner/pi-coding-agent";
61
- import { WebSocket } from "ws";
61
+ import { WebSocket as WebSocket$1 } from "ws";
62
62
  import { Buffer as Buffer$1 } from "node:buffer";
63
63
  import { BedrockClient, ListFoundationModelsCommand } from "@aws-sdk/client-bedrock";
64
64
  import { createJiti } from "jiti";
@@ -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-DjhE8yLr.js").then((n) => n.t);
4463
+ const { MemoryIndexManager } = await import("./manager-B-wPs7cb.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-DjhE8yLr.js").then((n) => n.t);
4476
+ const { MemoryIndexManager } = await import("./manager-B-wPs7cb.js").then((n) => n.t);
4477
4477
  return { manager: await MemoryIndexManager.get(params) };
4478
4478
  } catch (err) {
4479
4479
  return {
@@ -9654,7 +9654,7 @@ var GatewayClient = class {
9654
9654
  if (fingerprint !== expected) return /* @__PURE__ */ new Error("gateway tls fingerprint mismatch");
9655
9655
  });
9656
9656
  }
9657
- this.ws = new WebSocket(url, wsOptions);
9657
+ this.ws = new WebSocket$1(url, wsOptions);
9658
9658
  this.ws.on("open", () => {
9659
9659
  if (url.startsWith("wss://") && this.opts.tlsFingerprint) {
9660
9660
  const tlsError = this.validateTlsFingerprint();
@@ -9873,7 +9873,7 @@ var GatewayClient = class {
9873
9873
  return null;
9874
9874
  }
9875
9875
  async request(method, params, opts) {
9876
- if (!this.ws || this.ws.readyState !== WebSocket.OPEN) throw new Error("gateway not connected");
9876
+ if (!this.ws || this.ws.readyState !== WebSocket$1.OPEN) throw new Error("gateway not connected");
9877
9877
  const id = randomUUID();
9878
9878
  const frame = {
9879
9879
  type: "req",
@@ -10836,7 +10836,7 @@ async function routeReply(params) {
10836
10836
  const resolvedReplyToId = replyToId ?? (channelId === "slack" && threadId != null && threadId !== "" ? String(threadId) : void 0);
10837
10837
  const resolvedThreadId = channelId === "slack" ? null : threadId ?? null;
10838
10838
  try {
10839
- const { deliverOutboundPayloads } = await import("./deliver-BiWlR84Y.js").then((n) => n.n);
10839
+ const { deliverOutboundPayloads } = await import("./deliver-B04yNX82.js").then((n) => n.n);
10840
10840
  return {
10841
10841
  ok: true,
10842
10842
  messageId: (await deliverOutboundPayloads({
@@ -44604,7 +44604,7 @@ async function deliverSessionMaintenanceWarning(params) {
44604
44604
  return;
44605
44605
  }
44606
44606
  try {
44607
- const { deliverOutboundPayloads } = await import("./deliver-BiWlR84Y.js").then((n) => n.n);
44607
+ const { deliverOutboundPayloads } = await import("./deliver-B04yNX82.js").then((n) => n.n);
44608
44608
  await deliverOutboundPayloads({
44609
44609
  cfg: params.cfg,
44610
44610
  channel,
@@ -99,10 +99,10 @@ import "./npm-registry-spec-CONWlhd6.js";
99
99
  import "./skill-scanner-EhsZUzzk.js";
100
100
  import "./installs-BVJQl3Tj.js";
101
101
  import "./channels-status-issues-BwbA2OBt.js";
102
- import "./register.subclis-Dv8bf2ox.js";
103
- import "./command-registry-2hfSOaGL.js";
102
+ import "./register.subclis-B16w8wxz.js";
103
+ import "./command-registry-Bmzf59Qv.js";
104
104
  import "./program-context-CGKRxOBU.js";
105
- import { r as installCompletion } from "./completion-cli-TYU7Y_XZ.js";
105
+ import { r as installCompletion } from "./completion-cli-BM4kZs0m.js";
106
106
  import "./daemon-runtime-DaJ4Tf2a.js";
107
107
  import { r as parseSemver } from "./runtime-guard-ofQGcCUc.js";
108
108
  import "./onboard-helpers-CAAZ0RDq.js";
@@ -124,8 +124,8 @@ import { n as updateNpmInstalledPlugins, t as syncPluginsForUpdateChannel } from
124
124
  import "./doctor-config-flow-CKJlpwtv.js";
125
125
  import "./systemd-linger-DjoQVcOq.js";
126
126
  import "./health-format-Li703vy6.js";
127
- import { n as doctorCommand, t as selectStyled } from "./prompt-select-styled-ARnCLf3Q.js";
128
- import { r as ensureCompletionCacheExists, t as checkShellCompletionStatus } from "./doctor-completion-DgNgQFQQ.js";
127
+ import { n as doctorCommand, t as selectStyled } from "./prompt-select-styled-C3LUG3Be.js";
128
+ import { r as ensureCompletionCacheExists, t as checkShellCompletionStatus } from "./doctor-completion-Do20Q4ZM.js";
129
129
  import { spawn, spawnSync } from "node:child_process";
130
130
  import os from "node:os";
131
131
  import path from "node:path";
@@ -93,7 +93,7 @@ import "./replies-C5CBlnFS.js";
93
93
  import "./pi-tools.policy-WaLKhqJQ.js";
94
94
  import "./model-BMFj7NXy.js";
95
95
  import { r as parseSemver } from "./runtime-guard-Bgv3O9s4.js";
96
- import "./program-context-CCIGjsQL.js";
96
+ import "./program-context-CZYb4zB2.js";
97
97
  import "./catalog-BnLcGVie.js";
98
98
  import "./skills-status-6LVKpabC.js";
99
99
  import { n as inheritOptionFromParent } from "./command-options-DgcCGXMQ.js";
@@ -105,7 +105,7 @@ import "./npm-registry-spec-DPqOMFd9.js";
105
105
  import "./skill-scanner-D5p8L-xO.js";
106
106
  import "./installs-Bb1phV9x.js";
107
107
  import "./channels-status-issues-iWQDGUQe.js";
108
- import { r as installCompletion } from "./completion-cli-BEO2AB41.js";
108
+ import { r as installCompletion } from "./completion-cli-CtUZzw-P.js";
109
109
  import "./daemon-runtime-7YBz5otm.js";
110
110
  import "./onboard-helpers-Cv6fL8Vq.js";
111
111
  import "./systemd-Dic80Qni.js";
@@ -126,8 +126,8 @@ import { n as updateNpmInstalledPlugins, t as syncPluginsForUpdateChannel } from
126
126
  import "./doctor-config-flow-CcwEh3WQ.js";
127
127
  import "./systemd-linger-BBxRNFXz.js";
128
128
  import "./health-format-Dp4xmTKn.js";
129
- import { n as doctorCommand, t as selectStyled } from "./prompt-select-styled-BdNTADj2.js";
130
- import { r as ensureCompletionCacheExists, t as checkShellCompletionStatus } from "./doctor-completion-CvaSyxyp.js";
129
+ import { n as doctorCommand, t as selectStyled } from "./prompt-select-styled-DQyZ6VHH.js";
130
+ import { r as ensureCompletionCacheExists, t as checkShellCompletionStatus } from "./doctor-completion-Df7Hv_IA.js";
131
131
  import path from "node:path";
132
132
  import os from "node:os";
133
133
  import fs from "node:fs/promises";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@symerian/symi",
3
- "version": "3.5.16",
3
+ "version": "3.5.17",
4
4
  "description": "Multi-channel AI gateway with extensible messaging integrations",
5
5
  "keywords": [],
6
6
  "homepage": "https://github.com/jaysteelmind/symi#readme",