@symerian/symi 3.1.0 → 3.1.1

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 (54) 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-O5GtGEaR.js → chrome-CCtr79A5.js} +4 -4
  6. package/dist/{chrome-B7_foWil.js → chrome-CLdjGAF1.js} +4 -4
  7. package/dist/{command-registry-DmjX-MJb.js → command-registry-DtivbkBg.js} +4 -4
  8. package/dist/{completion-cli-CKczmer5.js → completion-cli-DAtKJGz_.js} +1 -1
  9. package/dist/{completion-cli-DezSeZQA.js → completion-cli-M9mpw_DS.js} +2 -2
  10. package/dist/control-ui/js/app.js +34 -2
  11. package/dist/{deliver-BMg6XjUA.js → deliver-D0zCpBS2.js} +4 -4
  12. package/dist/{deliver-Cxzii_el.js → deliver-aqjVfua8.js} +4 -4
  13. package/dist/{doctor-completion-AGw1egU_.js → doctor-completion-BlxU7_DJ.js} +1 -1
  14. package/dist/{doctor-completion-BCVASe0n.js → doctor-completion-DLx2ecZ2.js} +1 -1
  15. package/dist/entry.js +1 -1
  16. package/dist/extensionAPI.js +4 -4
  17. package/dist/{gateway-cli-CvFiUm5D.js → gateway-cli-BDVuQ5k9.js} +6 -354
  18. package/dist/{gateway-cli-BZXfKM1n.js → gateway-cli-CjY_Ct2M.js} +6 -354
  19. package/dist/{glass-ui-ws-CHyGj7GA.js → glass-ui-ws-Bs0VbFCC.js} +1 -1
  20. package/dist/{glass-ui-ws-BSTHY5PU.js → glass-ui-ws-CLyPSA_9.js} +1 -1
  21. package/dist/index.js +1 -1
  22. package/dist/llm-slug-generator.js +4 -4
  23. package/dist/{manager-BWi2hK4Y.js → manager-3gF-gaOU.js} +1 -1
  24. package/dist/{manager-BoTf2TBM.js → manager-Do_LVG9R.js} +1 -1
  25. package/dist/{onboard-BzRDv60Y.js → onboard-lFeJdiGp.js} +1 -1
  26. package/dist/{onboard-CHrTg-R0.js → onboard-zwQ2t4TE.js} +1 -1
  27. package/dist/{onboarding-ClbxBHpB.js → onboarding-C0kL3Y5v.js} +1 -1
  28. package/dist/{onboarding-BGwkx8NB.js → onboarding-CaHVfCVn.js} +1 -1
  29. package/dist/{onboarding.finalize-D6zND3C7.js → onboarding.finalize-DwXxdw74.js} +3 -3
  30. package/dist/{onboarding.finalize-BnIBZwze.js → onboarding.finalize-vT6fRWsB.js} +4 -4
  31. package/dist/{pi-embedded-L-sMlPsa.js → pi-embedded-JU-n_Ppj.js} +10 -10
  32. package/dist/plugin-sdk/gateway/server-chat.d.ts +47 -0
  33. package/dist/{program-B8S2KFzC.js → program-C1bTgU2q.js} +2 -2
  34. package/dist/{program-context-DCb3cVEC.js → program-context-BHvgRRy_.js} +6 -6
  35. package/dist/{prompt-select-styled-BJ3NsTmX.js → prompt-select-styled--PI8fuuB.js} +1 -1
  36. package/dist/{prompt-select-styled-ZdXAuRQQ.js → prompt-select-styled-DawD9uin.js} +1 -1
  37. package/dist/{pw-ai-B9riepO_.js → pw-ai-BlFwd1fC.js} +1 -1
  38. package/dist/{pw-ai-CYE0188Y.js → pw-ai-Cq1WlDax.js} +1 -1
  39. package/dist/{register.maintenance-CX4sIokB.js → register.maintenance-D0NfR0wv.js} +5 -5
  40. package/dist/{register.maintenance-BBxWlFhs.js → register.maintenance-fFzETZM-.js} +4 -4
  41. package/dist/{register.onboard-UzFm__iV.js → register.onboard-C0eFmAVL.js} +2 -2
  42. package/dist/{register.onboard-Be8PMN1Z.js → register.onboard-C7aJLoQc.js} +2 -2
  43. package/dist/{register.setup-w0_6rARS.js → register.setup-CRhnePOD.js} +2 -2
  44. package/dist/{register.setup-Dq7WlLOL.js → register.setup-XpvVOl8-.js} +2 -2
  45. package/dist/{register.subclis-Cb1ErrVQ.js → register.subclis-BFq9K0q9.js} +3 -3
  46. package/dist/{run-main-DmC4wWlp.js → run-main-JPtR4nYb.js} +3 -3
  47. package/dist/{server-methods-C97G9dYe.js → server-methods-Dj3PCErz.js} +360 -4
  48. package/dist/{server-methods-DFt60s1H.js → server-methods-RegE5bVx.js} +360 -4
  49. package/dist/{synthesis-DA7kfAUJ.js → synthesis-CNYpM3bL.js} +4 -4
  50. package/dist/{synthesis-CPZoVKlB.js → synthesis-CP97tsyU.js} +4 -4
  51. package/dist/{unified-runner-BdN9pHa8.js → unified-runner-Bjd_KpAr.js} +10 -10
  52. package/dist/{update-cli-Bg3c9ORr.js → update-cli-DPsa1UFx.js} +5 -5
  53. package/dist/{update-cli-DZtbV25O.js → update-cli-bgziGI6r.js} +4 -4
  54. package/package.json +1 -1
@@ -11,14 +11,14 @@ import { C as HEARTBEAT_TOKEN, E as isSilentReplyText, S as mediaKindFromMime, T
11
11
  import { t as normalizeChatType } from "./chat-type-Coeec2xt.js";
12
12
  import { i as resolveSlackAccount, n as listChannelPlugins, o as resolveSlackAppToken, r as normalizeChannelId$1, s as resolveSlackBotToken, t as getChannelPlugin } from "./plugins-DeOy6s9S.js";
13
13
  import { S as resolveSlackChannelId, _ as resolveSlackWebClientOptions, a as sendMessageSlack, b as buildSlackBlocksFallbackText, c as getDefaultLocalRoots, d as fetchRemoteMedia, f as readResponseWithLimit, g as createSlackWebClient, h as fetchWithTimeout, i as resolveSlackThreadTs, l as loadWebMedia, m as bindAbortRelay, n as deliverReplies, o as renderMarkdownWithMarkers, p as fetchWithSsrFGuard, s as markdownToIRWithMeta, t as createSlackReplyDeliveryPlan, u as MediaFetchError, v as parseSlackBlocksInput, x as parseSlackTarget, y as validateSlackBlocksArray } from "./replies-Cts6obnK.js";
14
- import { $ as loadSessionStore, $t as resolveToolProfilePolicy, A as formatRawAssistantErrorForUi, At as resolveMainSessionKey, B as isRateLimitAssistantError, Bt as saveMediaBuffer, C as downgradeOpenAIReasoningBlocks, Ct as resolveChannelResetConfig, D as classifyFailoverReason, Dt as DEFAULT_RESET_TRIGGERS, E as BILLING_ERROR_USER_MESSAGE, Et as resolveThreadFlag, F as isCompactionFailureError, Ft as createBrowserRouteContext, G as parseImageSizeError, Gt as resolveBrowserControlAuth, H as isTimeoutErrorMessage, Ht as resolveExistingPathsWithinRoot, I as isContextOverflowError, It as registerBrowserRoutes, J as resolveSandboxContext, Jt as collectExplicitAllowlist, K as sanitizeUserFacingText, Kt as applyOwnerOnlyToolPolicy, L as isFailoverAssistantError, Lt as resolveBrowserConfig, M as isAuthAssistantError, Mt as resolveGroupSessionKey, N as isBillingAssistantError, Nt as acquireSessionWriteLock, O as formatAssistantErrorText, Ot as resolveFreshSessionTotalTokens, P as isCloudCodeAssistFormatError, Pt as resolveSessionLockMaxHoldFromTimeout, Q as resolveAndPersistSessionFile, Qt as normalizeToolName$1, R as isFailoverErrorMessage, Rt as resolveProfile, S as extractToolResultId, St as evaluateSessionFreshness, T as isGoogleModelApi, Tt as resolveSessionResetType, U as isTransientHttpError, Ut as getBridgeAuthForPort, V as isRawApiErrorPayload, Vt as DEFAULT_UPLOAD_DIR, W as parseImageDimensionError, Wt as ensureBrowserControlAuth, X as extractDeliveryInfo, Xt as expandToolGroups, Y as resolveSandboxRuntimeStatus, Yt as expandPolicyWithPluginGroups, Z as appendAssistantMessageToSessionTranscript, Zt as mergeAlsoAllowPolicy, _ as sanitizeSessionMessagesImages, _t as INPUT_PROVENANCE_KIND_VALUES, a as normalizeChannelTargetInput, an as resolveBootstrapMaxChars, at as updateSessionStoreEntry, b as resolveImageSanitizationLimits, bt as normalizeInputProvenance, c as parseReplyDirectives, cn as getGlobalHookRunner, ct as deliveryContextFromSession, d as parseInlineDirectives$1, dt as normalizeDeliveryContext, en as stripPluginOnlyAllowlist, et as readSessionUpdatedAt, f as validateAnthropicTurns, ft as normalizeSessionDeliveryFields, g as normalizeTextForComparison, gt as extractToolCallNames, h as isMessagingToolDuplicateNormalized, ht as countToolResults, i as buildTargetResolverSignature, in as ensureSessionHeader, it as updateSessionStore, j as getApiErrorPayloadFingerprint, jt as deriveSessionMetaPatch, k as formatBillingErrorMessage, kt as canonicalizeMainSessionAlias, l as MEDIA_TOKEN_RE, ln as initializeGlobalHookRunner, lt as deliveryContextKey, m as pickFallbackThinkingLevel, mt as capArrayByJsonBytes, nn as matchesAnyGlobPattern, o as normalizeTargetForProvider, on as resolveBootstrapTotalMaxChars, ot as isCacheEnabled, p as validateGeminiTurns, pt as archiveSessionTranscripts, q as ensureSandboxWorkspaceForSession, qt as buildPluginToolGroups, r as normalizeReplyPayloadsForDelivery, rn as buildBootstrapContextFiles, rt as updateLastRoute, s as throwIfAborted, sn as sanitizeGoogleTurnOrdering, st as resolveCacheTtlMs$1, t as deliverOutboundPayloads, tn as compileGlobPatterns, tt as recordSessionMetaFromInbound, u as splitMediaFromOutput, ut as mergeDeliveryContext, v as sanitizeImageBlocks, vt as applyInputProvenanceToUserMessage, w as isAntigravityClaude, wt as resolveSessionResetPolicy, x as extractToolCallsFromAssistant, xt as resolveSessionKey, y as sanitizeToolResultImages, yt as hasInterSessionUserProvenance, z as isLikelyContextOverflowError, zt as getMediaDir } from "./deliver-Cxzii_el.js";
14
+ import { $ as loadSessionStore, $t as resolveToolProfilePolicy, A as formatRawAssistantErrorForUi, At as resolveMainSessionKey, B as isRateLimitAssistantError, Bt as saveMediaBuffer, C as downgradeOpenAIReasoningBlocks, Ct as resolveChannelResetConfig, D as classifyFailoverReason, Dt as DEFAULT_RESET_TRIGGERS, E as BILLING_ERROR_USER_MESSAGE, Et as resolveThreadFlag, F as isCompactionFailureError, Ft as createBrowserRouteContext, G as parseImageSizeError, Gt as resolveBrowserControlAuth, H as isTimeoutErrorMessage, Ht as resolveExistingPathsWithinRoot, I as isContextOverflowError, It as registerBrowserRoutes, J as resolveSandboxContext, Jt as collectExplicitAllowlist, K as sanitizeUserFacingText, Kt as applyOwnerOnlyToolPolicy, L as isFailoverAssistantError, Lt as resolveBrowserConfig, M as isAuthAssistantError, Mt as resolveGroupSessionKey, N as isBillingAssistantError, Nt as acquireSessionWriteLock, O as formatAssistantErrorText, Ot as resolveFreshSessionTotalTokens, P as isCloudCodeAssistFormatError, Pt as resolveSessionLockMaxHoldFromTimeout, Q as resolveAndPersistSessionFile, Qt as normalizeToolName$1, R as isFailoverErrorMessage, Rt as resolveProfile, S as extractToolResultId, St as evaluateSessionFreshness, T as isGoogleModelApi, Tt as resolveSessionResetType, U as isTransientHttpError, Ut as getBridgeAuthForPort, V as isRawApiErrorPayload, Vt as DEFAULT_UPLOAD_DIR, W as parseImageDimensionError, Wt as ensureBrowserControlAuth, X as extractDeliveryInfo, Xt as expandToolGroups, Y as resolveSandboxRuntimeStatus, Yt as expandPolicyWithPluginGroups, Z as appendAssistantMessageToSessionTranscript, Zt as mergeAlsoAllowPolicy, _ as sanitizeSessionMessagesImages, _t as INPUT_PROVENANCE_KIND_VALUES, a as normalizeChannelTargetInput, an as resolveBootstrapMaxChars, at as updateSessionStoreEntry, b as resolveImageSanitizationLimits, bt as normalizeInputProvenance, c as parseReplyDirectives, cn as getGlobalHookRunner, ct as deliveryContextFromSession, d as parseInlineDirectives$1, dt as normalizeDeliveryContext, en as stripPluginOnlyAllowlist, et as readSessionUpdatedAt, f as validateAnthropicTurns, ft as normalizeSessionDeliveryFields, g as normalizeTextForComparison, gt as extractToolCallNames, h as isMessagingToolDuplicateNormalized, ht as countToolResults, i as buildTargetResolverSignature, in as ensureSessionHeader, it as updateSessionStore, j as getApiErrorPayloadFingerprint, jt as deriveSessionMetaPatch, k as formatBillingErrorMessage, kt as canonicalizeMainSessionAlias, l as MEDIA_TOKEN_RE, ln as initializeGlobalHookRunner, lt as deliveryContextKey, m as pickFallbackThinkingLevel, mt as capArrayByJsonBytes, nn as matchesAnyGlobPattern, o as normalizeTargetForProvider, on as resolveBootstrapTotalMaxChars, ot as isCacheEnabled, p as validateGeminiTurns, pt as archiveSessionTranscripts, q as ensureSandboxWorkspaceForSession, qt as buildPluginToolGroups, r as normalizeReplyPayloadsForDelivery, rn as buildBootstrapContextFiles, rt as updateLastRoute, s as throwIfAborted, sn as sanitizeGoogleTurnOrdering, st as resolveCacheTtlMs$1, t as deliverOutboundPayloads, tn as compileGlobPatterns, tt as recordSessionMetaFromInbound, u as splitMediaFromOutput, ut as mergeDeliveryContext, v as sanitizeImageBlocks, vt as applyInputProvenanceToUserMessage, w as isAntigravityClaude, wt as resolveSessionResetPolicy, x as extractToolCallsFromAssistant, xt as resolveSessionKey, y as sanitizeToolResultImages, yt as hasInterSessionUserProvenance, z as isLikelyContextOverflowError, zt as getMediaDir } from "./deliver-aqjVfua8.js";
15
15
  import { a as logMessageProcessed, i as logLaneEnqueue, o as logMessageQueued, r as logLaneDequeue, s as logSessionStateChange, t as diag } from "./diagnostic-C7jt1JBa.js";
16
16
  import { n as getDiagnosticSessionState } from "./diagnostic-session-state-CXCbqRxw.js";
17
17
  import { n as discoverModels, t as discoverAuthStorage } from "./pi-model-discovery-nax5dXRY.js";
18
18
  import { S as GATEWAY_CLIENT_NAMES, _ as listDeliverableMessageChannels, a as chunkText, b as GATEWAY_CLIENT_IDS, c as resolveChunkMode, d as isSafeFenceBreak, f as parseFenceSpans, g as isMarkdownCapableMessageChannel, h 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 normalizeMessageChannel, x as GATEWAY_CLIENT_MODES, y as resolveGatewayMessageChannel } from "./chunk-BnsgQig0.js";
19
19
  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, m as parseDurationMs, o as normalizeHostname, t as SsrFBlockedError, u as resolveConfigSnapshotHash, v as setConfigOverride, w as DEFAULT_SUBAGENT_MAX_SPAWN_DEPTH, x as parseConfigPath, y as unsetConfigOverride } from "./ssrf-BgA_8lbe.js";
20
20
  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-BR6dqMhM.js";
21
- import { C as rawDataToString, O as DEFAULT_AI_SNAPSHOT_MAX_CHARS, T as isSecureWebSocketUrl, x as ensureChromeExtensionRelayServer } from "./chrome-O5GtGEaR.js";
21
+ import { C as rawDataToString, O as DEFAULT_AI_SNAPSHOT_MAX_CHARS, T as isSecureWebSocketUrl, x as ensureChromeExtensionRelayServer } from "./chrome-CLdjGAF1.js";
22
22
  import { c as assertSandboxPath, d as resolveSandboxedMediaSource, f as applySkillEnvOverrides, h as parseFrontmatterBlock, i as resolveSkillsPromptForRun, l as resolveSandboxInputPath, n as buildWorkspaceSkillSnapshot, p as applySkillEnvOverridesFromSnapshot, r as loadWorkspaceSkillEntries, s as assertMediaNotDataUrl } from "./skills-WL4YwE78.js";
23
23
  import { n as redactToolDetail } from "./redact-BwxC4l65.js";
24
24
  import { n as formatErrorMessage } from "./errors-DqtQ6JQT.js";
@@ -26,7 +26,7 @@ import { _ as normalizeHyphenSlug, a as normalizeReasoningLevel, c as normalizeV
26
26
  import { n as resolveConversationLabel } from "./conversation-label-BaCmnwdV.js";
27
27
  import { i as resolveSessionTranscriptPath, n as resolveSessionFilePath, o as resolveSessionTranscriptsDirForAgent, r as resolveSessionFilePathOptions, s as resolveStorePath, t as resolveDefaultSessionStorePath } from "./paths-BsT3BvfH.js";
28
28
  import { t as emitSessionTranscriptUpdate } from "./transcript-events-ChU6IQwp.js";
29
- import { a as parseGeminiAuth, c as resolveMemorySearchConfig, i as resolveOllamaBaseUrl, n as retryAsync, o as collectProviderApiKeysForExecution, r as probeOllamaEmbeddingModels, s as executeWithApiKeyRotation } from "./manager-BWi2hK4Y.js";
29
+ import { a as parseGeminiAuth, c as resolveMemorySearchConfig, i as resolveOllamaBaseUrl, n as retryAsync, o as collectProviderApiKeysForExecution, r as probeOllamaEmbeddingModels, s as executeWithApiKeyRotation } from "./manager-3gF-gaOU.js";
30
30
  import { c as normalizeExtraMemoryPaths, f as runTasksWithConcurrency, s as listMemoryFiles } from "./internal-CWb9SZVv.js";
31
31
  import { n as resolveMarkdownTableMode } from "./markdown-tables-CHPuKRmT.js";
32
32
  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-Js1bXBH7.js";
@@ -50,7 +50,7 @@ import { complete, completeSimple, createAssistantMessageEventStream, streamSimp
50
50
  import { CURRENT_SESSION_VERSION, DefaultResourceLoader, SessionManager, SettingsManager, codingTools, createAgentSession, createEditTool, createReadTool, createWriteTool, estimateTokens, generateSummary, readTool } from "@mariozechner/pi-coding-agent";
51
51
  import { EdgeTTS } from "node-edge-tts";
52
52
  import AjvPkg from "ajv";
53
- import { WebSocket } from "ws";
53
+ import { WebSocket as WebSocket$1 } from "ws";
54
54
  import { Buffer as Buffer$1 } from "node:buffer";
55
55
  import { createJiti } from "jiti";
56
56
  import { Type } from "@sinclair/typebox";
@@ -2518,7 +2518,7 @@ async function getMemorySearchManager(params) {
2518
2518
  const wrapper = new FallbackMemoryManager({
2519
2519
  primary,
2520
2520
  fallbackFactory: async () => {
2521
- const { MemoryIndexManager } = await import("./manager-BWi2hK4Y.js").then((n) => n.t);
2521
+ const { MemoryIndexManager } = await import("./manager-3gF-gaOU.js").then((n) => n.t);
2522
2522
  return await MemoryIndexManager.get(params);
2523
2523
  }
2524
2524
  }, () => QMD_MANAGER_CACHE.delete(cacheKey));
@@ -2531,7 +2531,7 @@ async function getMemorySearchManager(params) {
2531
2531
  }
2532
2532
  }
2533
2533
  try {
2534
- const { MemoryIndexManager } = await import("./manager-BWi2hK4Y.js").then((n) => n.t);
2534
+ const { MemoryIndexManager } = await import("./manager-3gF-gaOU.js").then((n) => n.t);
2535
2535
  return { manager: await MemoryIndexManager.get(params) };
2536
2536
  } catch (err) {
2537
2537
  return {
@@ -5047,7 +5047,7 @@ var GatewayClient = class {
5047
5047
  if (fingerprint !== expected) return /* @__PURE__ */ new Error("gateway tls fingerprint mismatch");
5048
5048
  });
5049
5049
  }
5050
- this.ws = new WebSocket(url, wsOptions);
5050
+ this.ws = new WebSocket$1(url, wsOptions);
5051
5051
  this.ws.on("open", () => {
5052
5052
  if (url.startsWith("wss://") && this.opts.tlsFingerprint) {
5053
5053
  const tlsError = this.validateTlsFingerprint();
@@ -5266,7 +5266,7 @@ var GatewayClient = class {
5266
5266
  return null;
5267
5267
  }
5268
5268
  async request(method, params, opts) {
5269
- if (!this.ws || this.ws.readyState !== WebSocket.OPEN) throw new Error("gateway not connected");
5269
+ if (!this.ws || this.ws.readyState !== WebSocket$1.OPEN) throw new Error("gateway not connected");
5270
5270
  const id = randomUUID();
5271
5271
  const frame = {
5272
5272
  type: "req",
@@ -6226,7 +6226,7 @@ async function routeReply(params) {
6226
6226
  const resolvedReplyToId = replyToId ?? (channelId === "slack" && threadId != null && threadId !== "" ? String(threadId) : void 0);
6227
6227
  const resolvedThreadId = channelId === "slack" ? null : threadId ?? null;
6228
6228
  try {
6229
- const { deliverOutboundPayloads } = await import("./deliver-Cxzii_el.js").then((n) => n.n);
6229
+ const { deliverOutboundPayloads } = await import("./deliver-aqjVfua8.js").then((n) => n.n);
6230
6230
  return {
6231
6231
  ok: true,
6232
6232
  messageId: (await deliverOutboundPayloads({
@@ -40714,7 +40714,7 @@ async function deliverSessionMaintenanceWarning(params) {
40714
40714
  return;
40715
40715
  }
40716
40716
  try {
40717
- const { deliverOutboundPayloads } = await import("./deliver-Cxzii_el.js").then((n) => n.n);
40717
+ const { deliverOutboundPayloads } = await import("./deliver-aqjVfua8.js").then((n) => n.n);
40718
40718
  await deliverOutboundPayloads({
40719
40719
  cfg: params.cfg,
40720
40720
  channel,
@@ -0,0 +1,47 @@
1
+ import { type AgentEventPayload } from "../infra/agent-events.js";
2
+ export declare function resolveHeartbeatContext(runId: string, sourceRunId?: string): import("../infra/agent-events.js").AgentRunContext | undefined;
3
+ export type ChatRunEntry = {
4
+ sessionKey: string;
5
+ clientRunId: string;
6
+ };
7
+ export type ChatRunRegistry = {
8
+ add: (sessionId: string, entry: ChatRunEntry) => void;
9
+ peek: (sessionId: string) => ChatRunEntry | undefined;
10
+ shift: (sessionId: string) => ChatRunEntry | undefined;
11
+ remove: (sessionId: string, clientRunId: string, sessionKey?: string) => ChatRunEntry | undefined;
12
+ clear: () => void;
13
+ };
14
+ export declare function createChatRunRegistry(): ChatRunRegistry;
15
+ export type ChatRunState = {
16
+ registry: ChatRunRegistry;
17
+ buffers: Map<string, string>;
18
+ deltaSentAt: Map<string, number>;
19
+ /** Accumulates throttled delta text so it can be flushed on final. */
20
+ pendingDeltaText: Map<string, string>;
21
+ abortedRuns: Map<string, number>;
22
+ clear: () => void;
23
+ };
24
+ export declare function createChatRunState(): ChatRunState;
25
+ export type ToolEventRecipientRegistry = {
26
+ add: (runId: string, connId: string) => void;
27
+ get: (runId: string) => ReadonlySet<string> | undefined;
28
+ markFinal: (runId: string) => void;
29
+ };
30
+ export declare function createToolEventRecipientRegistry(): ToolEventRecipientRegistry;
31
+ export type ChatEventBroadcast = (event: string, payload: unknown, opts?: {
32
+ dropIfSlow?: boolean;
33
+ }) => void;
34
+ export type NodeSendToSession = (sessionKey: string, event: string, payload: unknown) => void;
35
+ export type AgentEventHandlerOptions = {
36
+ broadcast: ChatEventBroadcast;
37
+ broadcastToConnIds: (event: string, payload: unknown, connIds: ReadonlySet<string>, opts?: {
38
+ dropIfSlow?: boolean;
39
+ }) => void;
40
+ nodeSendToSession: NodeSendToSession;
41
+ agentRunSeq: Map<string, number>;
42
+ chatRunState: ChatRunState;
43
+ resolveSessionKeyForRun: (runId: string) => string | undefined;
44
+ clearAgentRunContext: (runId: string) => void;
45
+ toolEventRecipients: ToolEventRecipientRegistry;
46
+ };
47
+ export declare function createAgentEventHandler({ broadcast, broadcastToConnIds, nodeSendToSession, agentRunSeq, chatRunState, resolveSessionKeyForRun, clearAgentRunContext, toolEventRecipients, }: AgentEventHandlerOptions): (evt: AgentEventPayload) => void;
@@ -77,8 +77,8 @@ import "./pi-tools.policy-DNgBKXTL.js";
77
77
  import "./catalog--zyy0Tdj.js";
78
78
  import "./plugin-registry-CqwECVKt.js";
79
79
  import { n as resolveCliChannelOptions } from "./channel-options-CU13eaBX.js";
80
- import { t as getSubCliCommandsWithSubcommands } from "./register.subclis-Cb1ErrVQ.js";
81
- import { a as registerProgramCommands, r as getCoreCliCommandsWithSubcommands } from "./command-registry-DmjX-MJb.js";
80
+ import { t as getSubCliCommandsWithSubcommands } from "./register.subclis-BFq9K0q9.js";
81
+ import { a as registerProgramCommands, r as getCoreCliCommandsWithSubcommands } from "./command-registry-DtivbkBg.js";
82
82
  import { r as setProgramContext } from "./program-context-CTkBT0K5.js";
83
83
  import { t as forceFreePort } from "./ports-Ba7EMLyf.js";
84
84
  import { n as formatCliBannerLine, r as hasEmittedCliBanner, t as emitCliBanner } from "./banner-DQd0lIpu.js";
@@ -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-BZXfKM1n.js")).registerGatewayCli(program);
46
+ (await import("./gateway-cli-CjY_Ct2M.js")).registerGatewayCli(program);
47
47
  }
48
48
  },
49
49
  {
@@ -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-DZtbV25O.js")).registerUpdateCli(program);
234
+ (await import("./update-cli-bgziGI6r.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-CKczmer5.js").then((n) => n.n)).registerCompletionCli(program);
242
+ (await import("./completion-cli-DAtKJGz_.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-Dq7WlLOL.js")).registerSetupCommand(program);
305
+ (await import("./register.setup-XpvVOl8-.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-Be8PMN1Z.js")).registerOnboardCommand(program);
315
+ (await import("./register.onboard-C7aJLoQc.js")).registerOnboardCommand(program);
316
316
  }
317
317
  },
318
318
  {
@@ -359,7 +359,7 @@ const coreEntries = [
359
359
  }
360
360
  ],
361
361
  register: async ({ program }) => {
362
- (await import("./register.maintenance-BBxWlFhs.js")).registerMaintenanceCommands(program);
362
+ (await import("./register.maintenance-fFzETZM-.js")).registerMaintenanceCommands(program);
363
363
  }
364
364
  },
365
365
  {
@@ -40,7 +40,7 @@ import { n as logConfigUpdated } from "./logging-CRGhEUwg.js";
40
40
  import { n as detectLegacyStateMigrations, r as runLegacyStateMigrations, t as loadAndMaybeMigrateDoctorConfig } from "./doctor-config-flow-ClsCvpwI.js";
41
41
  import { t as ensureSystemdUserLingerInteractive } from "./systemd-linger-CMctWXke.js";
42
42
  import { t as formatHealthCheckFailure } from "./health-format-t8t9hXjC.js";
43
- import { n as doctorShellCompletion } from "./doctor-completion-BCVASe0n.js";
43
+ import { n as doctorShellCompletion } from "./doctor-completion-DLx2ecZ2.js";
44
44
  import { execFile } from "node:child_process";
45
45
  import os from "node:os";
46
46
  import path from "node:path";
@@ -43,7 +43,7 @@ import { n as logConfigUpdated } from "./logging-D39uqcAK.js";
43
43
  import { n as detectLegacyStateMigrations, r as runLegacyStateMigrations, t as loadAndMaybeMigrateDoctorConfig } from "./doctor-config-flow-Brr2nZj7.js";
44
44
  import { t as ensureSystemdUserLingerInteractive } from "./systemd-linger-FUCumCk_.js";
45
45
  import { t as formatHealthCheckFailure } from "./health-format-Cj8doEON.js";
46
- import { n as doctorShellCompletion } from "./doctor-completion-AGw1egU_.js";
46
+ import { n as doctorShellCompletion } from "./doctor-completion-BlxU7_DJ.js";
47
47
  import fs from "node:fs";
48
48
  import os from "node:os";
49
49
  import path from "node:path";
@@ -8,7 +8,7 @@ import "./github-copilot-token-BUd9oA8x.js";
8
8
  import "./boolean-B8-BqKGQ.js";
9
9
  import "./ssrf-CY_-n5zv.js";
10
10
  import "./manifest-registry-k-LNmNet.js";
11
- import { _ as fetchJson, b as withCdpSocket, d as normalizeCdpWsUrl, g as appendCdpPath, h as withBrowserNavigationPolicy, m as assertBrowserNavigationAllowed, t as getChromeWebSocketUrl, u as formatAriaSnapshot, y as getHeadersWithAuth } from "./chrome-B7_foWil.js";
11
+ import { _ as fetchJson, b as withCdpSocket, d as normalizeCdpWsUrl, g as appendCdpPath, h as withBrowserNavigationPolicy, m as assertBrowserNavigationAllowed, t as getChromeWebSocketUrl, u as formatAriaSnapshot, y as getHeadersWithAuth } from "./chrome-CCtr79A5.js";
12
12
  import "./redact-DPnDWsnT.js";
13
13
  import { n as formatErrorMessage } from "./errors-BgCjRT2k.js";
14
14
  import path from "node:path";
@@ -6,7 +6,7 @@ import { Q as formatCliCommand } from "./model-selection-Db-B-8sm.js";
6
6
  import "./github-copilot-token-BbsJ0Qbo.js";
7
7
  import "./ssrf-BgA_8lbe.js";
8
8
  import "./manifest-registry-BR6dqMhM.js";
9
- import { _ as fetchJson, b as withCdpSocket, d as normalizeCdpWsUrl, g as appendCdpPath, h as withBrowserNavigationPolicy, m as assertBrowserNavigationAllowed, t as getChromeWebSocketUrl, u as formatAriaSnapshot, y as getHeadersWithAuth } from "./chrome-O5GtGEaR.js";
9
+ import { _ as fetchJson, b as withCdpSocket, d as normalizeCdpWsUrl, g as appendCdpPath, h as withBrowserNavigationPolicy, m as assertBrowserNavigationAllowed, t as getChromeWebSocketUrl, u as formatAriaSnapshot, y as getHeadersWithAuth } from "./chrome-CLdjGAF1.js";
10
10
  import "./redact-BwxC4l65.js";
11
11
  import { n as formatErrorMessage } from "./errors-DqtQ6JQT.js";
12
12
  import path from "node:path";
@@ -81,10 +81,10 @@ import { n as stylePromptMessage, r as stylePromptTitle, t as stylePromptHint }
81
81
  import "./note-JnXzfkC6.js";
82
82
  import "./plugin-auto-enable-bnNFhGOb.js";
83
83
  import "./channels-status-issues-CGx5YsbN.js";
84
- import "./register.subclis-Cb1ErrVQ.js";
85
- import "./command-registry-DmjX-MJb.js";
84
+ import "./register.subclis-BFq9K0q9.js";
85
+ import "./command-registry-DtivbkBg.js";
86
86
  import "./program-context-CTkBT0K5.js";
87
- import "./completion-cli-DezSeZQA.js";
87
+ import "./completion-cli-M9mpw_DS.js";
88
88
  import "./daemon-runtime-Bt9_ZcwQ.js";
89
89
  import "./runtime-guard-DaaVdMT6.js";
90
90
  import { f as openUrl, g as resolveControlUiLinks, i as detectBrowserOpenSupport, o as formatControlUiSshHint } from "./onboard-helpers-CilvN36L.js";
@@ -101,8 +101,8 @@ import "./logging-CRGhEUwg.js";
101
101
  import "./doctor-config-flow-ClsCvpwI.js";
102
102
  import "./systemd-linger-CMctWXke.js";
103
103
  import "./health-format-t8t9hXjC.js";
104
- import { n as doctorCommand, t as selectStyled } from "./prompt-select-styled-BJ3NsTmX.js";
105
- import "./doctor-completion-BCVASe0n.js";
104
+ import { n as doctorCommand, t as selectStyled } from "./prompt-select-styled--PI8fuuB.js";
105
+ import "./doctor-completion-DLx2ecZ2.js";
106
106
  import path from "node:path";
107
107
  import fs from "node:fs/promises";
108
108
  import { cancel, confirm, isCancel, multiselect } from "@clack/prompts";
@@ -79,7 +79,7 @@ import "./replies-DSaEOCgv.js";
79
79
  import "./pi-tools.policy-Cm2mPWWM.js";
80
80
  import "./run-reply-turn-CrfZuxxN.js";
81
81
  import "./runtime-guard-Ci00bPHY.js";
82
- import "./program-context-DCb3cVEC.js";
82
+ import "./program-context-BHvgRRy_.js";
83
83
  import "./catalog-ByDe_tgJ.js";
84
84
  import "./skills-status-DW5xDDyW.js";
85
85
  import { t as copyToClipboard } from "./clipboard-DL3mk9fB.js";
@@ -87,7 +87,7 @@ import { n as stylePromptMessage, r as stylePromptTitle, t as stylePromptHint }
87
87
  import "./note-DbSgF8Ho.js";
88
88
  import "./plugin-auto-enable-BztyhJll.js";
89
89
  import "./channels-status-issues-CtII6GDY.js";
90
- import "./completion-cli-CKczmer5.js";
90
+ import "./completion-cli-DAtKJGz_.js";
91
91
  import "./daemon-runtime-bdvJvhh0.js";
92
92
  import { f as openUrl, g as resolveControlUiLinks, i as detectBrowserOpenSupport, o as formatControlUiSshHint } from "./onboard-helpers-ClA4h5_K.js";
93
93
  import "./systemd-C73gWrPp.js";
@@ -103,8 +103,8 @@ import "./logging-D39uqcAK.js";
103
103
  import "./doctor-config-flow-Brr2nZj7.js";
104
104
  import "./systemd-linger-FUCumCk_.js";
105
105
  import "./health-format-Cj8doEON.js";
106
- import { n as doctorCommand, t as selectStyled } from "./prompt-select-styled-ZdXAuRQQ.js";
107
- import "./doctor-completion-AGw1egU_.js";
106
+ import { n as doctorCommand, t as selectStyled } from "./prompt-select-styled-DawD9uin.js";
107
+ import "./doctor-completion-BlxU7_DJ.js";
108
108
  import path from "node:path";
109
109
  import fs from "node:fs/promises";
110
110
  import { cancel, confirm, isCancel, multiselect } from "@clack/prompts";
@@ -82,7 +82,7 @@ import "./onboard-helpers-CilvN36L.js";
82
82
  import "./systemd-B9gi_XwA.js";
83
83
  import "./service-oV2kT2Uy.js";
84
84
  import "./health-vDQ4nRJB.js";
85
- import "./onboarding-ClbxBHpB.js";
85
+ import "./onboarding-C0kL3Y5v.js";
86
86
  import "./shared-7ryC0qEG.js";
87
87
  import "./auth-token-cmr_ZHFt.js";
88
88
  import "./logging-CRGhEUwg.js";
@@ -91,7 +91,7 @@ import "./openai-model-default-B_Fvm2pi.js";
91
91
  import "./model-picker-BawF3VfC.js";
92
92
  import "./systemd-linger-CMctWXke.js";
93
93
  import "./onboard-custom-DZ0tCPYA.js";
94
- import { n as ONBOARD_PROVIDER_AUTH_FLAGS, t as onboardCommand } from "./onboard-BzRDv60Y.js";
94
+ import { n as ONBOARD_PROVIDER_AUTH_FLAGS, t as onboardCommand } from "./onboard-lFeJdiGp.js";
95
95
 
96
96
  //#region src/cli/program/register.onboard.ts
97
97
  function resolveInstallDaemonFlag(command, opts) {
@@ -86,7 +86,7 @@ import "./onboard-helpers-ClA4h5_K.js";
86
86
  import "./systemd-C73gWrPp.js";
87
87
  import "./service-DGFMBi3r.js";
88
88
  import "./health-OGl_XbRn.js";
89
- import "./onboarding-BGwkx8NB.js";
89
+ import "./onboarding-CaHVfCVn.js";
90
90
  import "./shared-BLmd-eho.js";
91
91
  import "./auth-token-nzosq0Q2.js";
92
92
  import "./logging-D39uqcAK.js";
@@ -95,7 +95,7 @@ import "./openai-model-default-BNv6QK9s.js";
95
95
  import "./model-picker-DPAI_Ae2.js";
96
96
  import "./systemd-linger-FUCumCk_.js";
97
97
  import "./onboard-custom-C6Ntk4T6.js";
98
- import { n as ONBOARD_PROVIDER_AUTH_FLAGS, t as onboardCommand } from "./onboard-CHrTg-R0.js";
98
+ import { n as ONBOARD_PROVIDER_AUTH_FLAGS, t as onboardCommand } from "./onboard-zwQ2t4TE.js";
99
99
 
100
100
  //#region src/cli/program/register.onboard.ts
101
101
  function resolveInstallDaemonFlag(command, opts) {
@@ -83,7 +83,7 @@ import "./onboard-helpers-CilvN36L.js";
83
83
  import "./systemd-B9gi_XwA.js";
84
84
  import "./service-oV2kT2Uy.js";
85
85
  import "./health-vDQ4nRJB.js";
86
- import "./onboarding-ClbxBHpB.js";
86
+ import "./onboarding-C0kL3Y5v.js";
87
87
  import "./shared-7ryC0qEG.js";
88
88
  import "./auth-token-cmr_ZHFt.js";
89
89
  import { n as logConfigUpdated, t as formatConfigPath } from "./logging-CRGhEUwg.js";
@@ -91,7 +91,7 @@ import "./openai-model-default-B_Fvm2pi.js";
91
91
  import "./model-picker-BawF3VfC.js";
92
92
  import "./systemd-linger-CMctWXke.js";
93
93
  import "./onboard-custom-DZ0tCPYA.js";
94
- import { t as onboardCommand } from "./onboard-BzRDv60Y.js";
94
+ import { t as onboardCommand } from "./onboard-lFeJdiGp.js";
95
95
  import JSON5 from "json5";
96
96
  import fs from "node:fs/promises";
97
97
 
@@ -87,7 +87,7 @@ import "./onboard-helpers-ClA4h5_K.js";
87
87
  import "./systemd-C73gWrPp.js";
88
88
  import "./service-DGFMBi3r.js";
89
89
  import "./health-OGl_XbRn.js";
90
- import "./onboarding-BGwkx8NB.js";
90
+ import "./onboarding-CaHVfCVn.js";
91
91
  import "./shared-BLmd-eho.js";
92
92
  import "./auth-token-nzosq0Q2.js";
93
93
  import { n as logConfigUpdated, t as formatConfigPath } from "./logging-D39uqcAK.js";
@@ -95,7 +95,7 @@ import "./openai-model-default-BNv6QK9s.js";
95
95
  import "./model-picker-DPAI_Ae2.js";
96
96
  import "./systemd-linger-FUCumCk_.js";
97
97
  import "./onboard-custom-C6Ntk4T6.js";
98
- import { t as onboardCommand } from "./onboard-CHrTg-R0.js";
98
+ import { t as onboardCommand } from "./onboard-zwQ2t4TE.js";
99
99
  import JSON5 from "json5";
100
100
  import fs from "node:fs/promises";
101
101
 
@@ -49,7 +49,7 @@ const entries = [
49
49
  description: "Run, inspect, and query the WebSocket Gateway",
50
50
  hasSubcommands: true,
51
51
  register: async (program) => {
52
- (await import("./gateway-cli-CvFiUm5D.js")).registerGatewayCli(program);
52
+ (await import("./gateway-cli-BDVuQ5k9.js")).registerGatewayCli(program);
53
53
  }
54
54
  },
55
55
  {
@@ -237,7 +237,7 @@ const entries = [
237
237
  description: "Update Symi and inspect update channel status",
238
238
  hasSubcommands: true,
239
239
  register: async (program) => {
240
- (await import("./update-cli-Bg3c9ORr.js")).registerUpdateCli(program);
240
+ (await import("./update-cli-DPsa1UFx.js")).registerUpdateCli(program);
241
241
  }
242
242
  },
243
243
  {
@@ -245,7 +245,7 @@ const entries = [
245
245
  description: "Generate shell completion script",
246
246
  hasSubcommands: false,
247
247
  register: async (program) => {
248
- (await import("./completion-cli-DezSeZQA.js").then((n) => n.n)).registerCompletionCli(program);
248
+ (await import("./completion-cli-M9mpw_DS.js").then((n) => n.n)).registerCompletionCli(program);
249
249
  }
250
250
  }
251
251
  ];
@@ -356,7 +356,7 @@ async function runCli(argv = process$1.argv) {
356
356
  assertSupportedRuntime();
357
357
  if (await tryRouteCli(normalizedArgv)) return;
358
358
  enableConsoleCapture();
359
- const { buildProgram } = await import("./program-B8S2KFzC.js");
359
+ const { buildProgram } = await import("./program-C1bTgU2q.js");
360
360
  const program = buildProgram();
361
361
  installUnhandledRejectionHandler();
362
362
  process$1.on("uncaughtException", (error) => {
@@ -388,10 +388,10 @@ async function runCli(argv = process$1.argv) {
388
388
  const { getProgramContext } = await import("./program-context-CTkBT0K5.js").then((n) => n.n);
389
389
  const ctx = getProgramContext(program);
390
390
  if (ctx) {
391
- const { registerCoreCliByName } = await import("./command-registry-DmjX-MJb.js").then((n) => n.t);
391
+ const { registerCoreCliByName } = await import("./command-registry-DtivbkBg.js").then((n) => n.t);
392
392
  await registerCoreCliByName(program, ctx, primary, parseArgv);
393
393
  }
394
- const { registerSubCliByName } = await import("./register.subclis-Cb1ErrVQ.js").then((n) => n.a);
394
+ const { registerSubCliByName } = await import("./register.subclis-BFq9K0q9.js").then((n) => n.a);
395
395
  await registerSubCliByName(program, primary);
396
396
  }
397
397
  const hasBuiltinPrimary = primary !== null && program.commands.some((command) => command.name() === primary);