@fased/fased 0.1.66 → 0.1.67

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 (77) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/README.md +4 -0
  3. package/dist/brand.js +1 -1
  4. package/dist/build-info.json +3 -3
  5. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  6. package/dist/commands/onboard.js +0 -8
  7. package/dist/control-ui/assets/{app-DYxADzeH.js → app-De8gTtZU.js} +3 -3
  8. package/dist/control-ui/assets/{index-vw_10Zeo.js → index-DYYBRBOS.js} +3 -3
  9. package/dist/control-ui/index.html +1 -1
  10. package/dist/control-ui/version.json +1 -1
  11. package/dist/infra/runtime-guard.js +16 -0
  12. package/dist/plugin-sdk/{audio-preflight-BFLoas5R.js → audio-preflight-Dq_rJtqH.js} +2 -2
  13. package/dist/plugin-sdk/channel-plugin-common.d.ts +2 -2
  14. package/dist/plugin-sdk/{chunk-items-TErs62MC.js → chunk-items-Dunoq4Er.js} +1 -1
  15. package/dist/plugin-sdk/command-status.js +2 -2
  16. package/dist/plugin-sdk/{config-schema-BPnaDBwZ.js → config-schema--vl89M7d.js} +16 -16
  17. package/dist/plugin-sdk/device-pair.d.ts +1 -1
  18. package/dist/plugin-sdk/discord.d.ts +4 -4
  19. package/dist/plugin-sdk/index.d.ts +15 -15
  20. package/dist/plugin-sdk/index.js +2 -2
  21. package/dist/plugin-sdk/{monitor-sW6dQdX1.js → monitor-CV1sr0p2.js} +6 -6
  22. package/dist/plugin-sdk/{monitor-FuBPk-AL.js → monitor-DrTy_4CL.js} +4 -4
  23. package/dist/plugin-sdk/{openresponses-http-CVZq0H-P.js → openresponses-http-BAjgURZa.js} +2 -2
  24. package/dist/plugin-sdk/{pairing-message-L6L6L2YF.d.ts → pairing-message-BjIJYVvp.d.ts} +1 -1
  25. package/dist/plugin-sdk/provider-web-search-config-contract.d.ts +1 -1
  26. package/dist/plugin-sdk/{pw-ai-natjh3rm.js → pw-ai-DlxqX6Es.js} +1 -1
  27. package/dist/plugin-sdk/{runtime-dependency-DczkvPxn.js → runtime-dependency-nup8niQL.js} +9 -9
  28. package/dist/plugin-sdk/sat-runtime.d.ts +2 -2
  29. package/dist/plugin-sdk/sat-runtime.js +2 -2
  30. package/dist/plugin-sdk/{slack-BZISDxDd.js → slack-DSC6T2KW.js} +4 -4
  31. package/dist/plugin-sdk/slack.d.ts +4 -4
  32. package/dist/plugin-sdk/{sticker-cache-B0aPv6Lg.js → sticker-cache-C0l_5IKg.js} +2 -2
  33. package/dist/plugin-sdk/{telegram-actions-H3gePEn6.js → telegram-actions-BwGBIVDE.js} +3 -3
  34. package/dist/plugin-sdk/telegram.d.ts +4 -4
  35. package/dist/plugin-sdk/{tmp-fased-dir-d1CmFAnJ.d.ts → tmp-fased-dir-DXnGKKgi.d.ts} +1 -1
  36. package/dist/plugin-sdk/{types-DUjYaWB2.d.ts → types-Cegc86EP.d.ts} +1 -1
  37. package/dist/plugin-sdk/{types-xWjHXl1z.d.ts → types-eG9aYqXF.d.ts} +1 -1
  38. package/dist/plugin-sdk/{web-JwP9PAZR.js → web-C_AH5PyB.js} +2 -2
  39. package/dist/plugin-sdk/whatsapp.d.ts +9 -9
  40. package/dist/plugin-sdk/{zod-schema.providers-core-CIzCjXH9.d.ts → zod-schema.providers-core-FaYR6KdD.d.ts} +61 -61
  41. package/extensions/acpx/package.json +1 -1
  42. package/extensions/bluebubbles/package.json +1 -1
  43. package/extensions/copilot-proxy/package.json +1 -1
  44. package/extensions/diagnostics-otel/package.json +1 -1
  45. package/extensions/fased-federation/package.json +1 -1
  46. package/extensions/google-gemini-cli-auth/package.json +1 -1
  47. package/extensions/imessage/package.json +1 -1
  48. package/extensions/irc/package.json +1 -1
  49. package/extensions/line/package.json +1 -1
  50. package/extensions/llm-task/package.json +1 -1
  51. package/extensions/lobster/package.json +1 -1
  52. package/extensions/matrix/CHANGELOG.md +6 -0
  53. package/extensions/matrix/package.json +1 -1
  54. package/extensions/mattermost/package.json +1 -1
  55. package/extensions/memory-core/package.json +2 -2
  56. package/extensions/memory-lancedb/package.json +1 -1
  57. package/extensions/minimax-portal-auth/package.json +1 -1
  58. package/extensions/msteams/CHANGELOG.md +6 -0
  59. package/extensions/msteams/package.json +1 -1
  60. package/extensions/nextcloud-talk/package.json +1 -1
  61. package/extensions/nostr/CHANGELOG.md +6 -0
  62. package/extensions/nostr/package.json +1 -1
  63. package/extensions/open-prose/package.json +1 -1
  64. package/extensions/sat-mining/package.json +1 -1
  65. package/extensions/signal/package.json +1 -1
  66. package/extensions/synology-chat/package.json +1 -1
  67. package/extensions/tlon/package.json +1 -1
  68. package/extensions/twitch/CHANGELOG.md +6 -0
  69. package/extensions/twitch/package.json +1 -1
  70. package/extensions/voice-call/CHANGELOG.md +6 -0
  71. package/extensions/voice-call/package.json +1 -1
  72. package/extensions/zalo/CHANGELOG.md +6 -0
  73. package/extensions/zalo/package.json +1 -1
  74. package/extensions/zalouser/CHANGELOG.md +6 -0
  75. package/extensions/zalouser/package.json +1 -1
  76. package/fased.mjs +14 -1
  77. package/package.json +5 -1
@@ -13,7 +13,7 @@ import fs$1 from "node:fs/promises";
13
13
  import { execFileSync, spawn } from "node:child_process";
14
14
  import { createHmac } from "node:crypto";
15
15
  import { createServer } from "node:http";
16
- import WebSocket, { WebSocketServer } from "ws";
16
+ import WebSocket$1, { WebSocketServer } from "ws";
17
17
  import { Buffer as Buffer$1 } from "node:buffer";
18
18
  import net from "node:net";
19
19
 
@@ -275,7 +275,7 @@ async function ensureChromeExtensionRelayServer(opts) {
275
275
  let extensionWs = null;
276
276
  const cdpClients = /* @__PURE__ */ new Set();
277
277
  const connectedTargets = /* @__PURE__ */ new Map();
278
- const extensionConnected = () => extensionWs?.readyState === WebSocket.OPEN;
278
+ const extensionConnected = () => extensionWs?.readyState === WebSocket$1.OPEN;
279
279
  let extensionDisconnectCleanupTimer = null;
280
280
  const extensionReconnectWaiters = /* @__PURE__ */ new Set();
281
281
  const flushExtensionReconnectWaiters = (connected) => {
@@ -326,7 +326,7 @@ async function ensureChromeExtensionRelayServer(opts) {
326
326
  let nextExtensionId = 1;
327
327
  const sendToExtension = async (payload) => {
328
328
  const ws = extensionWs;
329
- if (!ws || ws.readyState !== WebSocket.OPEN) throw new Error("Chrome extension not connected");
329
+ if (!ws || ws.readyState !== WebSocket$1.OPEN) throw new Error("Chrome extension not connected");
330
330
  ws.send(JSON.stringify(payload));
331
331
  return await new Promise((resolve, reject) => {
332
332
  const timer = setTimeout(() => {
@@ -343,12 +343,12 @@ async function ensureChromeExtensionRelayServer(opts) {
343
343
  const broadcastToCdpClients = (evt) => {
344
344
  const msg = JSON.stringify(evt);
345
345
  for (const ws of cdpClients) {
346
- if (ws.readyState !== WebSocket.OPEN) continue;
346
+ if (ws.readyState !== WebSocket$1.OPEN) continue;
347
347
  ws.send(msg);
348
348
  }
349
349
  };
350
350
  const sendResponseToCdp = (ws, res) => {
351
- if (ws.readyState !== WebSocket.OPEN) return;
351
+ if (ws.readyState !== WebSocket$1.OPEN) return;
352
352
  ws.send(JSON.stringify(res));
353
353
  };
354
354
  const ensureTargetEventsForClient = (ws, mode) => {
@@ -558,7 +558,7 @@ async function ensureChromeExtensionRelayServer(opts) {
558
558
  rejectUpgrade(socket, 401, "Unauthorized");
559
559
  return;
560
560
  }
561
- if (extensionWs && extensionWs.readyState !== WebSocket.OPEN) {
561
+ if (extensionWs && extensionWs.readyState !== WebSocket$1.OPEN) {
562
562
  try {
563
563
  extensionWs.terminate();
564
564
  } catch {}
@@ -595,7 +595,7 @@ async function ensureChromeExtensionRelayServer(opts) {
595
595
  clearExtensionDisconnectCleanupTimer();
596
596
  flushExtensionReconnectWaiters(true);
597
597
  const ping = setInterval(() => {
598
- if (ws.readyState !== WebSocket.OPEN) return;
598
+ if (ws.readyState !== WebSocket$1.OPEN) return;
599
599
  ws.send(JSON.stringify({ method: "ping" }));
600
600
  }, 5e3);
601
601
  ws.on("message", (data) => {
@@ -937,7 +937,7 @@ async function fetchOk(url, timeoutMs = 1500, init) {
937
937
  }
938
938
  async function withCdpSocket(wsUrl, fn, opts) {
939
939
  const headers = getHeadersWithAuth(wsUrl, opts?.headers ?? {});
940
- const ws = new WebSocket(wsUrl, {
940
+ const ws = new WebSocket$1(wsUrl, {
941
941
  handshakeTimeout: typeof opts?.handshakeTimeoutMs === "number" && Number.isFinite(opts.handshakeTimeoutMs) ? Math.max(1, Math.floor(opts.handshakeTimeoutMs)) : 5e3,
942
942
  ...Object.keys(headers).length ? { headers } : {}
943
943
  });
@@ -1863,7 +1863,7 @@ async function getChromeWebSocketUrl(cdpUrl, timeoutMs = 500) {
1863
1863
  async function canOpenWebSocket(wsUrl, timeoutMs = 800) {
1864
1864
  return await new Promise((resolve) => {
1865
1865
  const headers = getHeadersWithAuth(wsUrl);
1866
- const ws = new WebSocket(wsUrl, {
1866
+ const ws = new WebSocket$1(wsUrl, {
1867
1867
  handshakeTimeout: timeoutMs,
1868
1868
  ...Object.keys(headers).length ? { headers } : {}
1869
1869
  });
@@ -1,6 +1,6 @@
1
1
  import { At as FasedAgentConfig, Bt as WalletProviderId, Ht as WalletRuntimeMode, Lt as WalletAuthMode, Rt as WalletChain, Ut as WalletToolAccessMode, Vt as WalletRuntimeKind, _n as GatewayClientMode, s as loadConfig, vn as GatewayClientName, zt as WalletExecutionMode } from "./types.plugin-BcSBq42x.js";
2
- import { A as createSubsystemLogger, H as resolveStateDir, V as resolveGatewayPort, g as ErrorShape, i as OperatorScope, n as AuthProfileStore, u as RespondFn } from "./types-DUjYaWB2.js";
3
- import { a as resolveAgentDir, c as WalletProviderAdapter, f as FileLockOptions, i as resolveAgentConfig, l as WalletProviderJupiterReviewV2, m as withFileLock, n as fetchWithSsrFGuard$1, o as resolveAgentEffectiveModelPrimary, s as resolveDefaultAgentId, t as resolvePreferredFasedAgentTmpDir, u as WalletProviderSignerIntentV2 } from "./tmp-fased-dir-d1CmFAnJ.js";
2
+ import { A as createSubsystemLogger, H as resolveStateDir, V as resolveGatewayPort, g as ErrorShape, i as OperatorScope, n as AuthProfileStore, u as RespondFn } from "./types-Cegc86EP.js";
3
+ import { a as resolveAgentDir, c as WalletProviderAdapter, f as FileLockOptions, i as resolveAgentConfig, l as WalletProviderJupiterReviewV2, m as withFileLock, n as fetchWithSsrFGuard$1, o as resolveAgentEffectiveModelPrimary, s as resolveDefaultAgentId, t as resolvePreferredFasedAgentTmpDir, u as WalletProviderSignerIntentV2 } from "./tmp-fased-dir-DXnGKKgi.js";
4
4
  import { Api, Model } from "@mariozechner/pi-ai";
5
5
  import { AuthStorage, ModelRegistry } from "@mariozechner/pi-coding-agent";
6
6
  import * as _sinclair_typebox0 from "@sinclair/typebox";
@@ -1,4 +1,4 @@
1
- import { Ar as errorShape, Cr as tryResolveSatRuntimeIds, Dr as callGatewayScoped, Jn as createSignerReviewApprovalRequest, Kn as readWalletStatusSnapshot, Mr as publicKeyRawBase64UrlFromPem, Nr as signDevicePayload, Pr as verifyDeviceSignature, Sr as resolveSatProgramIdFromEnv, _r as syncSatMainnetRuntimeIds, ar as readWalletProviderRegistry, br as resolveSatMintAddressFromEnv, cr as LEGACY_EMBEDDED_KEYSTORE_MIGRATION_MESSAGE, dr as requireLocalSocketSignerPath, er as resolveWalletPolicyConfig, fr as resolveLocalSignerSocketPath, gr as getSatMainnetSyncStatus, hr as buildAttestation, ir as loadWalletProviderSecret, j as resolveModel, jr as loadOrCreateDeviceIdentity, kr as ErrorCodes, lr as callLocalSocketSigner, mr as fetchSolanaWalletAssetsViaRpc, nr as createWalletProviderAdapter, or as resolveWalletUserRole, pr as resolveWalletRuntimeConfig, qn as createOrExecuteWalletSend, rr as resolveWalletProviderId, sr as upsertNamedWallet, tr as resolveWalletRolePolicyProfile, ur as probeLocalSocketSignerHealth, vr as SAT_RUNTIME_DEFAULTS, xr as resolveSatMintProgramIdFromEnv, yr as resolveSatBondProgramIdFromEnv } from "./config-schema-BPnaDBwZ.js";
1
+ import { Ar as errorShape, Cr as tryResolveSatRuntimeIds, Dr as callGatewayScoped, Jn as createSignerReviewApprovalRequest, Kn as readWalletStatusSnapshot, Mr as publicKeyRawBase64UrlFromPem, Nr as signDevicePayload, Pr as verifyDeviceSignature, Sr as resolveSatProgramIdFromEnv, _r as syncSatMainnetRuntimeIds, ar as readWalletProviderRegistry, br as resolveSatMintAddressFromEnv, cr as LEGACY_EMBEDDED_KEYSTORE_MIGRATION_MESSAGE, dr as requireLocalSocketSignerPath, er as resolveWalletPolicyConfig, fr as resolveLocalSignerSocketPath, gr as getSatMainnetSyncStatus, hr as buildAttestation, ir as loadWalletProviderSecret, j as resolveModel, jr as loadOrCreateDeviceIdentity, kr as ErrorCodes, lr as callLocalSocketSigner, mr as fetchSolanaWalletAssetsViaRpc, nr as createWalletProviderAdapter, or as resolveWalletUserRole, pr as resolveWalletRuntimeConfig, qn as createOrExecuteWalletSend, rr as resolveWalletProviderId, sr as upsertNamedWallet, tr as resolveWalletRolePolicyProfile, ur as probeLocalSocketSignerHealth, vr as SAT_RUNTIME_DEFAULTS, xr as resolveSatMintProgramIdFromEnv, yr as resolveSatBondProgramIdFromEnv } from "./config-schema--vl89M7d.js";
2
2
  import "./runtime-2B9_WKoI.js";
3
3
  import { t as createSubsystemLogger } from "./subsystem-DBPNbQDQ.js";
4
4
  import { w as resolvePreferredFasedAgentTmpDir } from "./globals-B_jjtAje.js";
@@ -36,7 +36,7 @@ import "./manager-BegWxNYX.js";
36
36
  import "./query-expansion-BG3FgzF7.js";
37
37
  import "./common-HCcXU-NR.js";
38
38
  import "./commands-registry-BfqdEWdF.js";
39
- import "./runtime-dependency-DczkvPxn.js";
39
+ import "./runtime-dependency-nup8niQL.js";
40
40
  import "./path-alias-guards-DjgDArrp.js";
41
41
  import "./fs-safe-g4g7GT02.js";
42
42
  import "./media-CAdQF5TG.js";
@@ -1,4 +1,4 @@
1
- import { $ as createInboundDebouncer, B as logAckFailure, F as resolveMentionGatingWithBypass, Gi as formatAllowlistMatchMeta, H as logTypingFailure, In as installRequestBodyLimitGuard, J as shouldAckReaction, Jr as createDedupeCache, Jt as normalizeAllowList, K as recordInboundSession, Lt as hasControlCommand, M as issuePairingChallenge, N as createTypingCallbacks, Qt as resolveSlackUserAllowed, Ti as resolveControlCommandGate, V as logInboundDrop, Vt as enqueueSystemEvent, Xt as normalizeSlackSlug, Yr as pruneMapToMaxSize, Yt as normalizeAllowListLower, Zt as resolveSlackAllowListMatch, _n as matchesMentionWithExplicit, at as createReplyDispatcherWithTyping, bi as readStoreAllowFromForDmPolicy, c as addAllowlistUserEntriesFromConfigEntry, cn as DEFAULT_GROUP_HISTORY_LIMIT, d as mergeAllowlist, et as resolveInboundDebounceMs, f as patchAllowlistUsersInConfigEntries, fn as clearHistoryEntriesIfEnabled, gn as buildMentionRegexes, hn as recordPendingHistoryEntryIfEnabled, it as dispatchInboundMessage, l as buildAllowlistResolutionSummary, p as summarizeMapping, q as removeAckReactionAfterReply, qt as allowListMatches, rt as resolveEnvelopeFormatOptions, tt as formatInboundEnvelope, un as buildPendingHistoryContextFromMap, wi as resolveCommandAuthorizedFromAuthorizers, x as isDangerousNameMatchingEnabled, yt as resolveChannelConfigWrites } from "./config-schema-BPnaDBwZ.js";
1
+ import { $ as createInboundDebouncer, B as logAckFailure, F as resolveMentionGatingWithBypass, Gi as formatAllowlistMatchMeta, H as logTypingFailure, In as installRequestBodyLimitGuard, J as shouldAckReaction, Jr as createDedupeCache, Jt as normalizeAllowList, K as recordInboundSession, Lt as hasControlCommand, M as issuePairingChallenge, N as createTypingCallbacks, Qt as resolveSlackUserAllowed, Ti as resolveControlCommandGate, V as logInboundDrop, Vt as enqueueSystemEvent, Xt as normalizeSlackSlug, Yr as pruneMapToMaxSize, Yt as normalizeAllowListLower, Zt as resolveSlackAllowListMatch, _n as matchesMentionWithExplicit, at as createReplyDispatcherWithTyping, bi as readStoreAllowFromForDmPolicy, c as addAllowlistUserEntriesFromConfigEntry, cn as DEFAULT_GROUP_HISTORY_LIMIT, d as mergeAllowlist, et as resolveInboundDebounceMs, f as patchAllowlistUsersInConfigEntries, fn as clearHistoryEntriesIfEnabled, gn as buildMentionRegexes, hn as recordPendingHistoryEntryIfEnabled, it as dispatchInboundMessage, l as buildAllowlistResolutionSummary, p as summarizeMapping, q as removeAckReactionAfterReply, qt as allowListMatches, rt as resolveEnvelopeFormatOptions, tt as formatInboundEnvelope, un as buildPendingHistoryContextFromMap, wi as resolveCommandAuthorizedFromAuthorizers, x as isDangerousNameMatchingEnabled, yt as resolveChannelConfigWrites } from "./config-schema--vl89M7d.js";
2
2
  import { K as resolveSessionKey, S as readSessionUpdatedAt, w as updateLastRoute } from "./runtime-2B9_WKoI.js";
3
3
  import { r as createNonExitingRuntime } from "./subsystem-DBPNbQDQ.js";
4
4
  import { i as logVerbose, l as warn, p as getChildLogger, s as shouldLogVerbose, t as danger } from "./globals-B_jjtAje.js";
@@ -39,7 +39,7 @@ import "./manager-BegWxNYX.js";
39
39
  import "./query-expansion-BG3FgzF7.js";
40
40
  import "./common-HCcXU-NR.js";
41
41
  import { E as resolveNativeSkillsEnabled, T as resolveNativeCommandsEnabled, g as shouldHandleTextCommands } from "./commands-registry-BfqdEWdF.js";
42
- import "./runtime-dependency-DczkvPxn.js";
42
+ import "./runtime-dependency-nup8niQL.js";
43
43
  import "./path-alias-guards-DjgDArrp.js";
44
44
  import "./fs-safe-g4g7GT02.js";
45
45
  import { a as fetchRemoteMedia } from "./media-CAdQF5TG.js";
@@ -61,7 +61,7 @@ import "./shared-CBgp_GBw.js";
61
61
  import { t as sendMessageSlack } from "./send-gDoGA-7e.js";
62
62
  import { r as resolveSlackWebClientOptions } from "./client-pI228AVT.js";
63
63
  import { a as listSlackPins, c as reactSlackMessage, d as removeSlackReaction, f as sendSlackMessage, i as listSlackEmojis, l as readSlackMessages, n as editSlackMessage, o as listSlackReactions, p as unpinSlackMessage, r as getSlackMemberInfo, s as pinSlackMessage, t as deleteSlackMessage, u as removeOwnSlackReactions } from "./actions-DRu135h0.js";
64
- import { n as buildUntrustedChannelMetadata, t as chunkItems } from "./chunk-items-TErs62MC.js";
64
+ import { n as buildUntrustedChannelMetadata, t as chunkItems } from "./chunk-items-Dunoq4Er.js";
65
65
  import { t as createDraftStreamLoop } from "./draft-stream-loop-CrOPfV3F.js";
66
66
  import { t as resolveSlackChannelAllowlist } from "./resolve-channels-_-nV-EK2.js";
67
67
  import { t as resolveSlackUserAllowlist } from "./resolve-users-DN9VQBwv.js";
@@ -3240,7 +3240,7 @@ async function registerSlackMonitorSlashCommands(params) {
3240
3240
  const [{ resolveAgentRoute }, { finalizeInboundContext }, { dispatchReplyWithDispatcher }] = await Promise.all([
3241
3241
  import("./resolve-route-C8tvQm8Z.js").then((n) => n.r),
3242
3242
  import("./inbound-context-DrAcXE0y.js").then((n) => n.n),
3243
- import("./config-schema-BPnaDBwZ.js").then((n) => n.Q)
3243
+ import("./config-schema--vl89M7d.js").then((n) => n.Q)
3244
3244
  ]);
3245
3245
  const [{ resolveConversationLabel }, { createReplyPrefixOptions }, { recordSessionMetaFromInbound, resolveStorePath }] = await Promise.all([
3246
3246
  import("./conversation-label-BoVqak2R.js").then((n) => n.t),
@@ -1,10 +1,10 @@
1
1
  import { n as DEFAULT_ACCOUNT_ID, r as normalizeAccountId } from "./session-key--_1zVBRB.js";
2
2
  import { At as FasedAgentConfig, J as ChannelMessageActionAdapter, Jt as SlackAccountConfig, Y as ChannelMessageActionContext, ct as ChannelThreadingToolContext, lt as ChannelToolSend, n as ChannelPlugin, r as ChannelOnboardingAdapter, st as ChannelThreadingContext, u as ChannelMessageActionName, ut as getChatChannelMeta } from "./types.plugin-BcSBq42x.js";
3
- import { Bt as resolveDefaultGroupPolicy, Cn as readStringParam, Gt as listSlackDirectoryGroupsFromConfig, Jt as listTelegramDirectoryPeersFromConfig, Kt as listSlackDirectoryPeersFromConfig, Ut as listDiscordDirectoryGroupsFromConfig, Vt as resolveOpenProviderRuntimeGroupPolicy, Wt as listDiscordDirectoryPeersFromConfig, Xt as listWhatsAppDirectoryPeersFromConfig, Yt as listWhatsAppDirectoryGroupsFromConfig, _ as FasedAgentPluginApi, qt as listTelegramDirectoryGroupsFromConfig, t as PluginRuntime, yn as createActionGate, zt as resolveAllowlistProviderRuntimeGroupPolicy } from "./types-xWjHXl1z.js";
4
- import { D as normalizeE164 } from "./types-DUjYaWB2.js";
5
- import { a as buildChannelConfigSchema, c as emptyPluginConfigSchema, i as setAccountEnabledInConfigSection, n as formatPairingApproveHint, o as applyAccountNameToChannelSection, r as deleteAccountFromConfigSection, s as migrateBaseNameToDefaultAccount, t as PAIRING_APPROVED_MESSAGE } from "./pairing-message-L6L6L2YF.js";
3
+ import { Bt as resolveDefaultGroupPolicy, Cn as readStringParam, Gt as listSlackDirectoryGroupsFromConfig, Jt as listTelegramDirectoryPeersFromConfig, Kt as listSlackDirectoryPeersFromConfig, Ut as listDiscordDirectoryGroupsFromConfig, Vt as resolveOpenProviderRuntimeGroupPolicy, Wt as listDiscordDirectoryPeersFromConfig, Xt as listWhatsAppDirectoryPeersFromConfig, Yt as listWhatsAppDirectoryGroupsFromConfig, _ as FasedAgentPluginApi, qt as listTelegramDirectoryGroupsFromConfig, t as PluginRuntime, yn as createActionGate, zt as resolveAllowlistProviderRuntimeGroupPolicy } from "./types-eG9aYqXF.js";
4
+ import { D as normalizeE164 } from "./types-Cegc86EP.js";
5
+ import { a as buildChannelConfigSchema, c as emptyPluginConfigSchema, i as setAccountEnabledInConfigSection, n as formatPairingApproveHint, o as applyAccountNameToChannelSection, r as deleteAccountFromConfigSection, s as migrateBaseNameToDefaultAccount, t as PAIRING_APPROVED_MESSAGE } from "./pairing-message-BjIJYVvp.js";
6
6
  import { _ as buildTokenChannelStatusSummary, l as resolveSlackGroupRequireMention, u as resolveSlackGroupToolPolicy } from "./group-mentions-q3hUTCt7.js";
7
- import { o as SlackConfigSchema } from "./zod-schema.providers-core-CIzCjXH9.js";
7
+ import { o as SlackConfigSchema } from "./zod-schema.providers-core-FaYR6KdD.js";
8
8
  import { AgentToolResult } from "@mariozechner/pi-agent-core";
9
9
 
10
10
  //#region src/slack/accounts.d.ts
@@ -1,4 +1,4 @@
1
- import { Cn as modelSupportsVision, Ct as resolveAutoImageModel, Sn as loadModelCatalog, xn as findModelInCatalog } from "./config-schema-BPnaDBwZ.js";
1
+ import { Cn as modelSupportsVision, Ct as resolveAutoImageModel, Sn as loadModelCatalog, xn as findModelInCatalog } from "./config-schema--vl89M7d.js";
2
2
  import { i as logVerbose } from "./globals-B_jjtAje.js";
3
3
  import { t as STATE_DIR } from "./paths-BEmvSyOV.js";
4
4
  import { Xt as resolveDefaultModelForAgent, ln as resolveApiKeyForProvider } from "./config-DlWVeLFB.js";
@@ -147,7 +147,7 @@ async function describeStickerImage(params) {
147
147
  logVerbose(`telegram: describing sticker with ${provider}/${model}`);
148
148
  try {
149
149
  const buffer = await fs.readFile(imagePath);
150
- const { describeImageWithModel } = await import("./config-schema-BPnaDBwZ.js").then((n) => n.It);
150
+ const { describeImageWithModel } = await import("./config-schema--vl89M7d.js").then((n) => n.It);
151
151
  return (await describeImageWithModel({
152
152
  buffer,
153
153
  fileName: "sticker.webp",
@@ -1,4 +1,4 @@
1
- import { Ur as resolveTelegramReactionLevel, Wr as resolveTelegramInlineButtonsScope } from "./config-schema-BPnaDBwZ.js";
1
+ import { Ur as resolveTelegramReactionLevel, Wr as resolveTelegramInlineButtonsScope } from "./config-schema--vl89M7d.js";
2
2
  import { an as resolveTelegramToken, en as createTelegramActionGate } from "./runtime-2B9_WKoI.js";
3
3
  import "./subsystem-DBPNbQDQ.js";
4
4
  import "./globals-B_jjtAje.js";
@@ -37,7 +37,7 @@ import "./manager-BegWxNYX.js";
37
37
  import "./query-expansion-BG3FgzF7.js";
38
38
  import { a as jsonResult, c as readReactionParams, d as readStringParam, s as readNumberParam, u as readStringOrNumberParam } from "./common-HCcXU-NR.js";
39
39
  import "./commands-registry-BfqdEWdF.js";
40
- import "./runtime-dependency-DczkvPxn.js";
40
+ import "./runtime-dependency-nup8niQL.js";
41
41
  import "./path-alias-guards-DjgDArrp.js";
42
42
  import "./fs-safe-g4g7GT02.js";
43
43
  import "./media-CAdQF5TG.js";
@@ -58,7 +58,7 @@ import "./shared-CBgp_GBw.js";
58
58
  import "./retry-policy-C6SjKjQA.js";
59
59
  import { a as reactMessageTelegram, i as editMessageTelegram, n as createForumTopicTelegram, o as sendMessageTelegram, r as deleteMessageTelegram, s as sendStickerTelegram } from "./send-q9HXrSwK.js";
60
60
  import "./proxy-DWpYcsvR.js";
61
- import { a as searchStickers, r as getCacheStats } from "./sticker-cache-B0aPv6Lg.js";
61
+ import { a as searchStickers, r as getCacheStats } from "./sticker-cache-C0l_5IKg.js";
62
62
 
63
63
  //#region src/agents/tools/telegram-actions.ts
64
64
  const TELEGRAM_BUTTON_STYLES = [
@@ -1,10 +1,10 @@
1
1
  import { n as DEFAULT_ACCOUNT_ID, r as normalizeAccountId } from "./session-key--_1zVBRB.js";
2
2
  import { At as FasedAgentConfig, F as ChannelAccountSnapshot, J as ChannelMessageActionAdapter, Kt as TelegramAccountConfig, it as ChannelStatusIssue, n as ChannelPlugin, r as ChannelOnboardingAdapter, u as ChannelMessageActionName, ut as getChatChannelMeta } from "./types.plugin-BcSBq42x.js";
3
- import { Bt as resolveDefaultGroupPolicy, Cn as readStringParam, Gt as listSlackDirectoryGroupsFromConfig, Jt as listTelegramDirectoryPeersFromConfig, Kt as listSlackDirectoryPeersFromConfig, Lt as TelegramProbe, Ut as listDiscordDirectoryGroupsFromConfig, Vt as resolveOpenProviderRuntimeGroupPolicy, Wt as listDiscordDirectoryPeersFromConfig, Xt as listWhatsAppDirectoryPeersFromConfig, Yt as listWhatsAppDirectoryGroupsFromConfig, _ as FasedAgentPluginApi, qt as listTelegramDirectoryGroupsFromConfig, t as PluginRuntime, yn as createActionGate, zt as resolveAllowlistProviderRuntimeGroupPolicy } from "./types-xWjHXl1z.js";
4
- import { D as normalizeE164 } from "./types-DUjYaWB2.js";
5
- import { a as buildChannelConfigSchema, c as emptyPluginConfigSchema, i as setAccountEnabledInConfigSection, n as formatPairingApproveHint, o as applyAccountNameToChannelSection, r as deleteAccountFromConfigSection, s as migrateBaseNameToDefaultAccount, t as PAIRING_APPROVED_MESSAGE } from "./pairing-message-L6L6L2YF.js";
3
+ import { Bt as resolveDefaultGroupPolicy, Cn as readStringParam, Gt as listSlackDirectoryGroupsFromConfig, Jt as listTelegramDirectoryPeersFromConfig, Kt as listSlackDirectoryPeersFromConfig, Lt as TelegramProbe, Ut as listDiscordDirectoryGroupsFromConfig, Vt as resolveOpenProviderRuntimeGroupPolicy, Wt as listDiscordDirectoryPeersFromConfig, Xt as listWhatsAppDirectoryPeersFromConfig, Yt as listWhatsAppDirectoryGroupsFromConfig, _ as FasedAgentPluginApi, qt as listTelegramDirectoryGroupsFromConfig, t as PluginRuntime, yn as createActionGate, zt as resolveAllowlistProviderRuntimeGroupPolicy } from "./types-eG9aYqXF.js";
4
+ import { D as normalizeE164 } from "./types-Cegc86EP.js";
5
+ import { a as buildChannelConfigSchema, c as emptyPluginConfigSchema, i as setAccountEnabledInConfigSection, n as formatPairingApproveHint, o as applyAccountNameToChannelSection, r as deleteAccountFromConfigSection, s as migrateBaseNameToDefaultAccount, t as PAIRING_APPROVED_MESSAGE } from "./pairing-message-BjIJYVvp.js";
6
6
  import { _ as buildTokenChannelStatusSummary, d as resolveTelegramGroupRequireMention, f as resolveTelegramGroupToolPolicy } from "./group-mentions-q3hUTCt7.js";
7
- import { s as TelegramConfigSchema } from "./zod-schema.providers-core-CIzCjXH9.js";
7
+ import { s as TelegramConfigSchema } from "./zod-schema.providers-core-FaYR6KdD.js";
8
8
 
9
9
  //#region src/telegram/accounts.d.ts
10
10
  type ResolvedTelegramAccount = {
@@ -1,5 +1,5 @@
1
1
  import { At as FasedAgentConfig, Bt as WalletProviderId, Rt as WalletChain, l as AgentDefaultsConfig, zt as WalletExecutionMode } from "./types.plugin-BcSBq42x.js";
2
- import { M as LookupFn, P as SsrFPolicy } from "./types-DUjYaWB2.js";
2
+ import { M as LookupFn, P as SsrFPolicy } from "./types-Cegc86EP.js";
3
3
 
4
4
  //#region src/plugin-sdk/file-lock.d.ts
5
5
  type FileLockOptions = {
@@ -1441,7 +1441,7 @@ declare class CronService {
1441
1441
  } | {
1442
1442
  readonly ok: true;
1443
1443
  readonly ran: false;
1444
- readonly reason: "queued" | "running";
1444
+ readonly reason: "running" | "queued";
1445
1445
  readonly runId: string;
1446
1446
  readonly detail: string | undefined;
1447
1447
  } | {
@@ -1,6 +1,6 @@
1
1
  import { t as ChatType } from "./chat-type-CK5stkc4.js";
2
2
  import { At as FasedAgentConfig, B as ChannelCapabilities, Ct as RuntimeEnv, E as ChannelPairingAdapter, En as HumanDelayConfig, F as ChannelAccountSnapshot, G as ChannelId, J as ChannelMessageActionAdapter, L as ChannelAgentPromptAdapter, Mn as ReplyPayload, N as BaseProbeResult, On as MarkdownTableMode, Ot as sendMessageDiscord, P as BaseTokenResolution, Pt as ModelProviderConfig, R as ChannelAgentTool, St as sendMessageIMessage, Tn as GroupPolicy, V as ChannelDirectoryEntry, Yt as SlackSlashCommandConfig, _t as sendPollWhatsApp, bn as GroupToolPolicyBySenderConfig, bt as sendMessageSlack, c as writeConfigFile, cn as TtsAutoMode, dn as chunkMarkdownText, f as ChannelCommandAdapter, fn as chunkMarkdownTextWithMode, ft as FinalizedMsgContext, gn as resolveTextChunkLimit, gt as sendMessageWhatsApp, h as ChannelElevatedAdapter, hn as resolveChunkMode, ht as ShouldHandleTextCommandsParams, jn as GetReplyOptions, kn as ReplyToMode, kt as sendPollDiscord, mn as chunkTextWithMode, mt as CommandNormalizeOptions, n as ChannelPlugin, o as WizardPrompter, ot as ChannelThreadingAdapter, p as ChannelConfigAdapter, pn as chunkText, pt as MsgContext, q as ChannelMentionAdapter, qt as TelegramGroupConfig, s as loadConfig, un as chunkByNewline, v as ChannelGroupAdapter, vt as sendMessageTelegram, xn as GroupToolPolicyConfig, xt as sendMessageSignal, yn as PollInput, yt as sendPollTelegram } from "./types.plugin-BcSBq42x.js";
3
- import { C as readWebSelfId, H as resolveStateDir, M as LookupFn, P as SsrFPolicy, S as logoutWeb, _ as PushTestParams, a as GatewayClient, b as getWebAuthAgeMs, c as GatewayRequestHandlerOptions, i as OperatorScope, j as LogLevel, l as GatewayRequestHandlers, m as ChatInjectParams, n as AuthProfileStore, o as GatewayRequestContext, r as OAuthCredential, s as GatewayRequestHandler, t as AuthProfileCredential, v as WebLoginStartParams, w as webAuthExists, x as logWebSelfId, y as WebLoginWaitParams } from "./types-DUjYaWB2.js";
3
+ import { C as readWebSelfId, H as resolveStateDir, M as LookupFn, P as SsrFPolicy, S as logoutWeb, _ as PushTestParams, a as GatewayClient, b as getWebAuthAgeMs, c as GatewayRequestHandlerOptions, i as OperatorScope, j as LogLevel, l as GatewayRequestHandlers, m as ChatInjectParams, n as AuthProfileStore, o as GatewayRequestContext, r as OAuthCredential, s as GatewayRequestHandler, t as AuthProfileCredential, v as WebLoginStartParams, w as webAuthExists, x as logWebSelfId, y as WebLoginWaitParams } from "./types-Cegc86EP.js";
4
4
  import { WebClient } from "@slack/web-api";
5
5
  import { Skill } from "@mariozechner/pi-coding-agent";
6
6
  import { AgentMessage, AgentTool, AgentToolResult } from "@mariozechner/pi-agent-core";
@@ -1,4 +1,4 @@
1
- import { $ as createInboundDebouncer, Dt as registerUnhandledRejectionHandler, G as sleepWithAbort, Gt as normalizeGroupActivation, Jr as createDedupeCache, Kt as parseActivationCommand, Lt as hasControlCommand, P as resolveMentionGating, Rt as shouldComputeCommandAuthorized, Si as resolveDmGroupAccessWithLists, U as buildPairingReply, Vt as enqueueSystemEvent, W as computeBackoff, X as dispatchReplyWithBufferedBlockDispatcher, Y as shouldAckReactionForWhatsApp, _t as formatDurationPrecise, bi as readStoreAllowFromForDmPolicy, cn as DEFAULT_GROUP_HISTORY_LIMIT, et as resolveInboundDebounceMs, gn as buildMentionRegexes, hn as recordPendingHistoryEntryIfEnabled, ln as buildHistoryContextFromEntries, rt as resolveEnvelopeFormatOptions, st as getReplyFromConfig, tt as formatInboundEnvelope, vn as normalizeMentionText, xi as resolveDmGroupAccessWithCommandGate } from "./config-schema-BPnaDBwZ.js";
1
+ import { $ as createInboundDebouncer, Dt as registerUnhandledRejectionHandler, G as sleepWithAbort, Gt as normalizeGroupActivation, Jr as createDedupeCache, Kt as parseActivationCommand, Lt as hasControlCommand, P as resolveMentionGating, Rt as shouldComputeCommandAuthorized, Si as resolveDmGroupAccessWithLists, U as buildPairingReply, Vt as enqueueSystemEvent, W as computeBackoff, X as dispatchReplyWithBufferedBlockDispatcher, Y as shouldAckReactionForWhatsApp, _t as formatDurationPrecise, bi as readStoreAllowFromForDmPolicy, cn as DEFAULT_GROUP_HISTORY_LIMIT, et as resolveInboundDebounceMs, gn as buildMentionRegexes, hn as recordPendingHistoryEntryIfEnabled, ln as buildHistoryContextFromEntries, rt as resolveEnvelopeFormatOptions, st as getReplyFromConfig, tt as formatInboundEnvelope, vn as normalizeMentionText, xi as resolveDmGroupAccessWithCommandGate } from "./config-schema--vl89M7d.js";
2
2
  import { C as recordSessionMetaFromInbound, S as readSessionUpdatedAt, _n as resolveChannelGroupRequireMention, bn as resolveGroupSessionKey, gn as resolveChannelGroupPolicy, w as updateLastRoute, x as loadSessionStore } from "./runtime-2B9_WKoI.js";
3
3
  import { i as defaultRuntime, t as createSubsystemLogger } from "./subsystem-DBPNbQDQ.js";
4
4
  import { i as logVerbose, p as getChildLogger, s as shouldLogVerbose } from "./globals-B_jjtAje.js";
@@ -39,7 +39,7 @@ import "./manager-BegWxNYX.js";
39
39
  import "./query-expansion-BG3FgzF7.js";
40
40
  import "./common-HCcXU-NR.js";
41
41
  import "./commands-registry-BfqdEWdF.js";
42
- import "./runtime-dependency-DczkvPxn.js";
42
+ import "./runtime-dependency-nup8niQL.js";
43
43
  import "./path-alias-guards-DjgDArrp.js";
44
44
  import "./fs-safe-g4g7GT02.js";
45
45
  import { l as getAgentScopedMediaLocalRoots, n as loadWebMedia } from "./media-CAdQF5TG.js";
@@ -1,8 +1,8 @@
1
1
  import { n as DEFAULT_ACCOUNT_ID, r as normalizeAccountId } from "./session-key--_1zVBRB.js";
2
2
  import { At as FasedAgentConfig, F as ChannelAccountSnapshot, Gt as WhatsAppAccountConfig, J as ChannelMessageActionAdapter, Tn as GroupPolicy, it as ChannelStatusIssue, n as ChannelPlugin, r as ChannelOnboardingAdapter, u as ChannelMessageActionName, ut as getChatChannelMeta, wn as DmPolicy } from "./types.plugin-BcSBq42x.js";
3
- import { Bt as resolveDefaultGroupPolicy, Cn as readStringParam, Gt as listSlackDirectoryGroupsFromConfig, Jt as listTelegramDirectoryPeersFromConfig, Kt as listSlackDirectoryPeersFromConfig, Ut as listDiscordDirectoryGroupsFromConfig, Vt as resolveOpenProviderRuntimeGroupPolicy, Wt as listDiscordDirectoryPeersFromConfig, Xt as listWhatsAppDirectoryPeersFromConfig, Yt as listWhatsAppDirectoryGroupsFromConfig, _ as FasedAgentPluginApi, qt as listTelegramDirectoryGroupsFromConfig, t as PluginRuntime, yn as createActionGate, zt as resolveAllowlistProviderRuntimeGroupPolicy } from "./types-xWjHXl1z.js";
4
- import { D as normalizeE164 } from "./types-DUjYaWB2.js";
5
- import { a as buildChannelConfigSchema, c as emptyPluginConfigSchema, i as setAccountEnabledInConfigSection, n as formatPairingApproveHint, o as applyAccountNameToChannelSection, r as deleteAccountFromConfigSection, s as migrateBaseNameToDefaultAccount, t as PAIRING_APPROVED_MESSAGE } from "./pairing-message-L6L6L2YF.js";
3
+ import { Bt as resolveDefaultGroupPolicy, Cn as readStringParam, Gt as listSlackDirectoryGroupsFromConfig, Jt as listTelegramDirectoryPeersFromConfig, Kt as listSlackDirectoryPeersFromConfig, Ut as listDiscordDirectoryGroupsFromConfig, Vt as resolveOpenProviderRuntimeGroupPolicy, Wt as listDiscordDirectoryPeersFromConfig, Xt as listWhatsAppDirectoryPeersFromConfig, Yt as listWhatsAppDirectoryGroupsFromConfig, _ as FasedAgentPluginApi, qt as listTelegramDirectoryGroupsFromConfig, t as PluginRuntime, yn as createActionGate, zt as resolveAllowlistProviderRuntimeGroupPolicy } from "./types-eG9aYqXF.js";
4
+ import { D as normalizeE164 } from "./types-Cegc86EP.js";
5
+ import { a as buildChannelConfigSchema, c as emptyPluginConfigSchema, i as setAccountEnabledInConfigSection, n as formatPairingApproveHint, o as applyAccountNameToChannelSection, r as deleteAccountFromConfigSection, s as migrateBaseNameToDefaultAccount, t as PAIRING_APPROVED_MESSAGE } from "./pairing-message-BjIJYVvp.js";
6
6
  import { _ as buildTokenChannelStatusSummary, m as resolveWhatsAppGroupToolPolicy, p as resolveWhatsAppGroupRequireMention } from "./group-mentions-q3hUTCt7.js";
7
7
  import { z } from "zod";
8
8
 
@@ -22,19 +22,19 @@ declare const WhatsAppConfigSchema: z.ZodObject<{
22
22
  messagePrefix: z.ZodOptional<z.ZodString>;
23
23
  responsePrefix: z.ZodOptional<z.ZodString>;
24
24
  dmPolicy: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
25
+ pairing: "pairing";
26
+ allowlist: "allowlist";
25
27
  open: "open";
26
28
  disabled: "disabled";
27
- allowlist: "allowlist";
28
- pairing: "pairing";
29
29
  }>>>;
30
30
  selfChatMode: z.ZodOptional<z.ZodBoolean>;
31
31
  allowFrom: z.ZodOptional<z.ZodArray<z.ZodString>>;
32
32
  defaultTo: z.ZodOptional<z.ZodString>;
33
33
  groupAllowFrom: z.ZodOptional<z.ZodArray<z.ZodString>>;
34
34
  groupPolicy: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
35
+ allowlist: "allowlist";
35
36
  open: "open";
36
37
  disabled: "disabled";
37
- allowlist: "allowlist";
38
38
  }>>>;
39
39
  historyLimit: z.ZodOptional<z.ZodNumber>;
40
40
  dmHistoryLimit: z.ZodOptional<z.ZodNumber>;
@@ -94,19 +94,19 @@ declare const WhatsAppConfigSchema: z.ZodObject<{
94
94
  messagePrefix: z.ZodOptional<z.ZodString>;
95
95
  responsePrefix: z.ZodOptional<z.ZodString>;
96
96
  dmPolicy: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
97
+ pairing: "pairing";
98
+ allowlist: "allowlist";
97
99
  open: "open";
98
100
  disabled: "disabled";
99
- allowlist: "allowlist";
100
- pairing: "pairing";
101
101
  }>>>;
102
102
  selfChatMode: z.ZodOptional<z.ZodBoolean>;
103
103
  allowFrom: z.ZodOptional<z.ZodArray<z.ZodString>>;
104
104
  defaultTo: z.ZodOptional<z.ZodString>;
105
105
  groupAllowFrom: z.ZodOptional<z.ZodArray<z.ZodString>>;
106
106
  groupPolicy: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
107
+ allowlist: "allowlist";
107
108
  open: "open";
108
109
  disabled: "disabled";
109
- allowlist: "allowlist";
110
110
  }>>>;
111
111
  historyLimit: z.ZodOptional<z.ZodNumber>;
112
112
  dmHistoryLimit: z.ZodOptional<z.ZodNumber>;