@fased/fased 0.1.64 → 0.1.65

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 (91) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/README.md +16 -9
  3. package/config/signer-policies/README.md +10 -1
  4. package/config/signer-protocol-v2.json +2 -0
  5. package/dist/brand.js +1 -1
  6. package/dist/build-info.json +3 -3
  7. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  8. package/dist/control-ui/assets/{app-bR-fO5ty.js → app-MaQnPa5G.js} +5 -5
  9. package/dist/control-ui/assets/{index-ckCxHwjy.js → index-D4YMr1fA.js} +3 -3
  10. package/dist/control-ui/assets/{mining-BgHFh0ei.js → mining-qMYs4aD-.js} +120 -120
  11. package/dist/control-ui/index.html +1 -1
  12. package/dist/control-ui/version.json +1 -1
  13. package/dist/extensions/sat-mining/src/rpc-read.js +59 -20
  14. package/dist/extensions/sat-mining/src/solana-submit.js +251 -8
  15. package/dist/extensions/sat-mining/src/submission-ledger.js +1 -1
  16. package/dist/plugin-sdk/{audio-preflight-BYxAt775.js → audio-preflight-I4IngVlJ.js} +1 -1
  17. package/dist/plugin-sdk/channel-plugin-common.d.ts +2 -2
  18. package/dist/plugin-sdk/{chunk-items-DIRHG2gJ.js → chunk-items-DLQ6_lLK.js} +1 -1
  19. package/dist/plugin-sdk/command-status.js +1 -1
  20. package/dist/plugin-sdk/{config-schema-BOT7kHb6.js → config-schema-D_8FVI1C.js} +28 -8
  21. package/dist/plugin-sdk/device-pair.d.ts +1 -1
  22. package/dist/plugin-sdk/discord.d.ts +3 -3
  23. package/dist/plugin-sdk/index.d.ts +5 -5
  24. package/dist/plugin-sdk/index.js +1 -1
  25. package/dist/plugin-sdk/{monitor-BCFDaqJ-.js → monitor-B4KF4Kpo.js} +3 -3
  26. package/dist/plugin-sdk/{monitor-BgbjRiPM.js → monitor-Bb6x1KAG.js} +3 -3
  27. package/dist/plugin-sdk/{openresponses-http-DFf87SMM.js → openresponses-http-DCTO8JkL.js} +1 -1
  28. package/dist/plugin-sdk/{pairing-message-CS-9BHug.d.ts → pairing-message-DHPDFZbC.d.ts} +1 -1
  29. package/dist/plugin-sdk/provider-web-search-config-contract.d.ts +1 -1
  30. package/dist/plugin-sdk/sat-runtime.d.ts +18 -2
  31. package/dist/plugin-sdk/sat-runtime.js +1 -1
  32. package/dist/plugin-sdk/{slack-BUTt8cxK.js → slack-BHmvqgjH.js} +3 -3
  33. package/dist/plugin-sdk/slack.d.ts +3 -3
  34. package/dist/plugin-sdk/{sticker-cache-D0wHVqjt.js → sticker-cache-By5AcorL.js} +2 -2
  35. package/dist/plugin-sdk/{telegram-actions-CC_qN4v0.js → telegram-actions-DGnBz1YT.js} +2 -2
  36. package/dist/plugin-sdk/telegram.d.ts +3 -3
  37. package/dist/plugin-sdk/{tmp-fased-dir-xOTGlzBE.d.ts → tmp-fased-dir-EJGTmL1Q.d.ts} +1 -1
  38. package/dist/plugin-sdk/{types-C3avNytw.d.ts → types-BdwdFCD6.d.ts} +2 -2
  39. package/dist/plugin-sdk/{types-DWfbSAaM.d.ts → types-BrCpYMxn.d.ts} +1 -1
  40. package/dist/plugin-sdk/{web-BXsJ1vqe.js → web-DUJwrTYs.js} +1 -1
  41. package/dist/plugin-sdk/whatsapp.d.ts +3 -3
  42. package/dist/wallet/local-socket-signer-protocol.js +18 -0
  43. package/dist/wallet/signer-protocol-v2.generated.js +2 -0
  44. package/dist/wallet/wallet-policy.js +3 -1
  45. package/extensions/acpx/package.json +1 -1
  46. package/extensions/bluebubbles/package.json +1 -1
  47. package/extensions/copilot-proxy/package.json +1 -1
  48. package/extensions/diagnostics-otel/package.json +1 -1
  49. package/extensions/fased-federation/package.json +1 -1
  50. package/extensions/google-gemini-cli-auth/package.json +1 -1
  51. package/extensions/imessage/package.json +1 -1
  52. package/extensions/irc/package.json +1 -1
  53. package/extensions/line/package.json +1 -1
  54. package/extensions/llm-task/package.json +1 -1
  55. package/extensions/lobster/package.json +1 -1
  56. package/extensions/matrix/CHANGELOG.md +6 -0
  57. package/extensions/matrix/package.json +1 -1
  58. package/extensions/mattermost/package.json +1 -1
  59. package/extensions/memory-core/package.json +2 -2
  60. package/extensions/memory-lancedb/package.json +1 -1
  61. package/extensions/minimax-portal-auth/package.json +1 -1
  62. package/extensions/msteams/CHANGELOG.md +6 -0
  63. package/extensions/msteams/package.json +1 -1
  64. package/extensions/nextcloud-talk/package.json +1 -1
  65. package/extensions/nostr/CHANGELOG.md +6 -0
  66. package/extensions/nostr/package.json +1 -1
  67. package/extensions/open-prose/package.json +1 -1
  68. package/extensions/sat-mining/index.ts +89 -1
  69. package/extensions/sat-mining/package.json +1 -1
  70. package/extensions/sat-mining/src/audit-store.ts +45 -4
  71. package/extensions/sat-mining/src/client.ts +13 -0
  72. package/extensions/sat-mining/src/rpc-read.ts +105 -21
  73. package/extensions/sat-mining/src/runtime.ts +2 -0
  74. package/extensions/sat-mining/src/solana-submit.ts +358 -21
  75. package/extensions/sat-mining/src/submission-ledger.ts +2 -1
  76. package/extensions/signal/package.json +1 -1
  77. package/extensions/synology-chat/package.json +1 -1
  78. package/extensions/tlon/package.json +1 -1
  79. package/extensions/twitch/CHANGELOG.md +6 -0
  80. package/extensions/twitch/package.json +1 -1
  81. package/extensions/voice-call/CHANGELOG.md +6 -0
  82. package/extensions/voice-call/package.json +1 -1
  83. package/extensions/zalo/CHANGELOG.md +6 -0
  84. package/extensions/zalo/package.json +1 -1
  85. package/extensions/zalouser/CHANGELOG.md +6 -0
  86. package/extensions/zalouser/package.json +1 -1
  87. package/install.sh +14 -18
  88. package/package.json +1 -1
  89. package/scripts/fased-managed-updater.mjs +1 -1
  90. package/scripts/fased-signer-owner-policy.mjs +13 -1
  91. package/scripts/start-managed.sh +4 -0
@@ -16324,6 +16324,14 @@ const SignerSatInstructionV2Schema = Type.Object({
16324
16324
  keys: Type.Array(SignerSatAccountV2Schema),
16325
16325
  context: Type.Optional(SignerSatContextV2Schema)
16326
16326
  }, { additionalProperties: false });
16327
+ const SignerSatLookupTableV2Schema = Type.Object({
16328
+ address: Type.String(),
16329
+ recentSlot: Type.Optional(Type.String({ pattern: "^(0|[1-9][0-9]*)$" })),
16330
+ addresses: Type.Optional(Type.Array(Type.String(), {
16331
+ minItems: 1,
16332
+ maxItems: 20
16333
+ }))
16334
+ }, { additionalProperties: false });
16327
16335
  const SignerFederationBondChallengeV2Schema = Type.Object({
16328
16336
  challengeId: Type.String({
16329
16337
  minLength: 1,
@@ -16391,6 +16399,16 @@ const SignerIntentV2Schema = Type.Union([
16391
16399
  maxItems: 6
16392
16400
  }))
16393
16401
  }, { additionalProperties: false }),
16402
+ Type.Object({
16403
+ type: Type.Literal("solana.satLookupTable"),
16404
+ action: Type.Union([
16405
+ Type.Literal("create"),
16406
+ Type.Literal("extend"),
16407
+ Type.Literal("deactivate"),
16408
+ Type.Literal("close")
16409
+ ]),
16410
+ lookupTable: SignerSatLookupTableV2Schema
16411
+ }, { additionalProperties: false }),
16394
16412
  Type.Object({
16395
16413
  type: Type.Literal("solana.vaultBondAction"),
16396
16414
  cluster: Type.Union([
@@ -19493,6 +19511,7 @@ const SOLANA_SYSTEM_PROGRAM_ID$2 = "11111111111111111111111111111111";
19493
19511
  const SOLANA_TOKEN_PROGRAM_ID = "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA";
19494
19512
  const SOLANA_TOKEN_2022_PROGRAM_ID = "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb";
19495
19513
  const SOLANA_ASSOCIATED_TOKEN_PROGRAM_ID$1 = "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL";
19514
+ const SOLANA_ADDRESS_LOOKUP_TABLE_PROGRAM_ID$1 = "AddressLookupTab1e1111111111111111111111111";
19496
19515
  const DEFAULT_POLICY_CAPS = { solana: {
19497
19516
  maxPerTx: "1000000000",
19498
19517
  maxDaily: "5000000000"
@@ -19613,7 +19632,8 @@ function miningPolicyProgramAllowlist(env) {
19613
19632
  SOLANA_SYSTEM_PROGRAM_ID$2,
19614
19633
  SOLANA_TOKEN_PROGRAM_ID,
19615
19634
  SOLANA_TOKEN_2022_PROGRAM_ID,
19616
- SOLANA_ASSOCIATED_TOKEN_PROGRAM_ID$1
19635
+ SOLANA_ASSOCIATED_TOKEN_PROGRAM_ID$1,
19636
+ String(env.FASED_SAT_ENABLE_ALT_V0 ?? "").trim() === "1" ? SOLANA_ADDRESS_LOOKUP_TABLE_PROGRAM_ID$1 : ""
19617
19637
  ]);
19618
19638
  }
19619
19639
  function isWalletHandle(value) {
@@ -28548,7 +28568,7 @@ function createOutboundSendDepsFromCliSource(deps) {
28548
28568
  function createDefaultDeps() {
28549
28569
  return {
28550
28570
  sendMessageWhatsApp: async (...args) => {
28551
- const { sendMessageWhatsApp } = await import("./web-BXsJ1vqe.js");
28571
+ const { sendMessageWhatsApp } = await import("./web-DUJwrTYs.js");
28552
28572
  return await sendMessageWhatsApp(...args);
28553
28573
  },
28554
28574
  sendMessageTelegram: async (...args) => {
@@ -97206,7 +97226,7 @@ const signalMessageActions = {
97206
97226
  //#region src/channels/plugins/actions/telegram.ts
97207
97227
  const providerId = "telegram";
97208
97228
  async function loadTelegramActionHandler() {
97209
- const { handleTelegramAction } = await import("./telegram-actions-CC_qN4v0.js");
97229
+ const { handleTelegramAction } = await import("./telegram-actions-DGnBz1YT.js");
97210
97230
  return handleTelegramAction;
97211
97231
  }
97212
97232
  function readTelegramSendParams(params) {
@@ -99616,7 +99636,7 @@ function buildPairingReply(params) {
99616
99636
 
99617
99637
  //#endregion
99618
99638
  //#region src/brand.ts
99619
- const FASED_PRODUCT_VERSION = "0.1.64";
99639
+ const FASED_PRODUCT_VERSION = "0.1.65";
99620
99640
  const FASED_DISPLAY_VERSION = `v${FASED_PRODUCT_VERSION}`;
99621
99641
 
99622
99642
  //#endregion
@@ -103527,7 +103547,7 @@ const sendPollDiscordLazy = async (...args) => {
103527
103547
  return sendPollDiscord(...args);
103528
103548
  };
103529
103549
  const monitorDiscordProviderLazy = async (...args) => {
103530
- const { monitorDiscordProvider } = await import("./monitor-BgbjRiPM.js");
103550
+ const { monitorDiscordProvider } = await import("./monitor-Bb6x1KAG.js");
103531
103551
  return monitorDiscordProvider(...args);
103532
103552
  };
103533
103553
  const listSlackDirectoryGroupsLiveLazy = async (...args) => {
@@ -103555,7 +103575,7 @@ const sendMessageSlackLazy = async (...args) => {
103555
103575
  return sendMessageSlack(...args);
103556
103576
  };
103557
103577
  const monitorSlackProviderLazy = async (...args) => {
103558
- const { monitorSlackProvider } = await import("./slack-BUTt8cxK.js");
103578
+ const { monitorSlackProvider } = await import("./slack-BHmvqgjH.js");
103559
103579
  return monitorSlackProvider(...args);
103560
103580
  };
103561
103581
  const handleSlackActionLazy = async (...args) => {
@@ -103575,7 +103595,7 @@ const sendPollTelegramLazy = async (...args) => {
103575
103595
  return sendPollTelegram(...args);
103576
103596
  };
103577
103597
  const monitorTelegramProviderLazy = async (...args) => {
103578
- const { monitorTelegramProvider } = await import("./monitor-BCFDaqJ-.js");
103598
+ const { monitorTelegramProvider } = await import("./monitor-B4KF4Kpo.js");
103579
103599
  return monitorTelegramProvider(...args);
103580
103600
  };
103581
103601
  let webOutboundPromise = null;
@@ -103596,7 +103616,7 @@ function loadWebLoginQr() {
103596
103616
  return webLoginQrPromise;
103597
103617
  }
103598
103618
  function loadWebChannel() {
103599
- webChannelPromise ??= import("./web-BXsJ1vqe.js");
103619
+ webChannelPromise ??= import("./web-DUJwrTYs.js");
103600
103620
  return webChannelPromise;
103601
103621
  }
103602
103622
  function loadWhatsAppActions() {
@@ -1,3 +1,3 @@
1
- import { _ as FasedAgentPluginApi } from "./types-DWfbSAaM.js";
1
+ import { _ as FasedAgentPluginApi } from "./types-BrCpYMxn.js";
2
2
  import { a as listDevicePairing, i as approveDevicePairing, n as resolveTailnetHostWithRunner, r as resolveGatewayBindUrl, t as runPluginCommandWithTimeout } from "./run-command-i_W6EFb1.js";
3
3
  export { type FasedAgentPluginApi, approveDevicePairing, listDevicePairing, resolveGatewayBindUrl, resolveTailnetHostWithRunner, runPluginCommandWithTimeout };
@@ -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, J as ChannelMessageActionAdapter, it as ChannelStatusIssue, n as ChannelPlugin, on as DiscordAccountConfig, 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, Ut as listDiscordDirectoryGroupsFromConfig, Vt as resolveOpenProviderRuntimeGroupPolicy, Wt as listDiscordDirectoryPeersFromConfig, Xt as listWhatsAppDirectoryPeersFromConfig, Yt as listWhatsAppDirectoryGroupsFromConfig, Zt as collectDiscordAuditChannelIds, _ as FasedAgentPluginApi, qt as listTelegramDirectoryGroupsFromConfig, t as PluginRuntime, yn as createActionGate, zt as resolveAllowlistProviderRuntimeGroupPolicy } from "./types-DWfbSAaM.js";
4
- import { D as normalizeE164 } from "./types-C3avNytw.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-CS-9BHug.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, Zt as collectDiscordAuditChannelIds, _ as FasedAgentPluginApi, qt as listTelegramDirectoryGroupsFromConfig, t as PluginRuntime, yn as createActionGate, zt as resolveAllowlistProviderRuntimeGroupPolicy } from "./types-BrCpYMxn.js";
4
+ import { D as normalizeE164 } from "./types-BdwdFCD6.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-DHPDFZbC.js";
6
6
  import { _ as buildTokenChannelStatusSummary, i as resolveDiscordGroupToolPolicy, r as resolveDiscordGroupRequireMention } from "./group-mentions-q3hUTCt7.js";
7
7
  import { t as DiscordConfigSchema } from "./zod-schema.providers-core-CIzCjXH9.js";
8
8
 
@@ -1,14 +1,14 @@
1
1
  import { t as ChatType } from "./chat-type-CK5stkc4.js";
2
2
  import { n as DEFAULT_ACCOUNT_ID, r as normalizeAccountId, t as resolveThreadSessionKeys } from "./session-key--_1zVBRB.js";
3
3
  import { $ as ChannelPollContext, $t as MSTeamsReplyStyle, A as ChannelSecurityAdapter, An as SafeBinProfileFixture, At as FasedAgentConfig, B as ChannelCapabilities, C as ChannelLogoutResult, Cn as BlockStreamingCoalesceConfig, Ct as RuntimeEnv, D as ChannelResolveKind, Dn as MarkdownConfig, Dt as resolveIMessageAccount, E as ChannelPairingAdapter, Et as resolveDefaultIMessageAccountId, F as ChannelAccountSnapshot, G as ChannelId, H as ChannelDirectoryEntryKind, I as ChannelAccountState, J as ChannelMessageActionAdapter, K as ChannelLogSink, M as ChannelStatusAdapter, Mn as ReplyPayload, N as BaseProbeResult, Nn as CHANNEL_MESSAGE_ACTION_NAMES, O as ChannelResolveResult, On as MarkdownTableMode, P as BaseTokenResolution, Pt as ModelProviderConfig, Q as ChannelOutboundTargetMode, Qt as MSTeamsConfig, R as ChannelAgentTool, S as ChannelLogoutContext, T as ChannelOutboundContext, Tn as GroupPolicy, Tt as listIMessageAccountIds, U as ChannelGroupContext, V as ChannelDirectoryEntry, W as ChannelHeartbeatDeps, X as ChannelMessagingAdapter, Xt as SignalAccountConfig, Y as ChannelMessageActionContext, Z as ChannelMeta, Zt as MSTeamsChannelConfig, _ as ChannelGatewayContext, a as PromptAccountId, an as GoogleChatGroupConfig, at as ChannelStreamingAdapter, b as ChannelLoginWithQrStartResult, bn as GroupToolPolicyBySenderConfig, ct as ChannelThreadingToolContext, d as ChannelAuthAdapter, dt as OutboundDeliveryResult, en as MSTeamsTeamConfig, et as ChannelPollResult, f as ChannelCommandAdapter, g as ChannelGatewayAdapter, h as ChannelElevatedAdapter, i as ChannelOnboardingDmPolicy, in as GoogleChatDmConfig, it as ChannelStatusIssue, j as ChannelSetupAdapter, jn as GetReplyOptions, k as ChannelResolverAdapter, ln as ChunkMode, lt as ChannelToolSend, m as ChannelDirectoryAdapter, n as ChannelPlugin, nn as GoogleChatActionConfig, nt as ChannelSecurityDmPolicy, o as WizardPrompter, ot as ChannelThreadingAdapter, p as ChannelConfigAdapter, q as ChannelMentionAdapter, r as ChannelOnboardingAdapter, rn as GoogleChatConfig, rt as ChannelSetupInput, s as loadConfig, sn as DmConfig, st as ChannelThreadingContext, t as ChannelConfigSchema, tn as GoogleChatAccountConfig, tt as ChannelSecurityContext, u as ChannelMessageActionName, ut as getChatChannelMeta, v as ChannelGroupAdapter, w as ChannelOutboundAdapter, wn as DmPolicy, wt as ResolvedIMessageAccount, x as ChannelLoginWithQrWaitResult, xn as GroupToolPolicyConfig, y as ChannelHeartbeatAdapter, yn as PollInput, z as ChannelAgentToolFactory } from "./types.plugin-BcSBq42x.js";
4
- import { $ as RealtimeVoiceBridge, $t as extensionForMime, A as ProviderPlugin, At as LineAccountConfig, B as GeneratedVideoAsset, Bt as resolveDefaultGroupPolicy, C as ProviderAuthContext, Cn as readStringParam, Ct as ImageGenerationSourceImage, D as ProviderCatalogContext, Dn as SessionEntry, Dt as normalizeAccountId$1, E as ProviderAuthResult, En as SessionAcpMeta, Et as listLineAccountIds, F as RealtimeTranscriptionProviderPlugin, Ft as formatLocationText, G as VideoGenerationProviderCapabilities, H as VideoGenerationMode, Ht as warnMissingProviderGroupPolicyFallbackOnce, I as RealtimeVoiceProviderPlugin, It as toLocationContext, J as VideoGenerationResolution, K as VideoGenerationProviderConfiguredContext, L as VideoGenerationProviderPlugin, M as ProviderPluginWizard, Mt as LineConfig, N as ProviderPluginWizardModelPicker, Nt as ResolvedLineAccount, O as ProviderCatalogOrder, On as SessionSystemPromptReport, Ot as resolveDefaultLineAccountId, P as ProviderPluginWizardSetup, Pt as NormalizedLocation, Qt as detectMime, Rt as GROUP_POLICY_BLOCKED_LABEL, S as PluginLogger, Sn as readReactionParams, St as ImageGenerationResult, T as ProviderAuthMethod, Tn as SessionAcpIdentity, Tt as ChannelDock, U as VideoGenerationModeCapabilities, V as VideoGenerationIgnoredOverride, Vt as resolveOpenProviderRuntimeGroupPolicy, W as VideoGenerationProvider, X as VideoGenerationSourceAsset, Y as VideoGenerationResult, Z as VideoGenerationTransformCapabilities, _ as FasedAgentPluginApi, _n as createTypingCallbacks, _t as GeneratedImageAsset, a as PluginRuntimeSessionGetParams, an as resolveControlCommandGate, at as RealtimeVoiceProviderId, b as FasedAgentPluginServiceContext, bn as jsonResult, bt as ImageGenerationRequest, c as PluginRuntimeSessionListResult, cn as AckReactionScope, ct as RealtimeVoiceTool, d as PluginRuntimeAdminRpcAuditSink, dn as shouldAckReaction, dt as RealtimeTranscriptionProviderConfiguredContext, en as getFileExtension, et as RealtimeVoiceBridgeCallbacks, f as PluginRuntimeAdminRpcCallContext, fn as shouldAckReactionForWhatsApp, ft as RealtimeTranscriptionProviderId, g as PluginRegistry, gn as ResponsePrefixContext, gt as RealtimeTranscriptionSessionCreateRequest, h as PluginRuntimeAdminRpcInvoker, hn as resolveAckReaction, ht as RealtimeTranscriptionSessionCallbacks, i as PluginRuntimeSessionAuditSink, in as formatInboundFromLabel, it as RealtimeVoiceProviderConfiguredContext, j as ProviderPluginCatalog, jt as LineChannelData, k as ProviderCatalogResult, kt as resolveLineAccount, l as PluginRuntimeSessionStatus, ln as WhatsAppAckReactionMode, lt as RealtimeVoiceToolCallEvent, m as PluginRuntimeAdminRpcInvocation, mn as RoutePeerKind, mt as RealtimeTranscriptionSession, n as RuntimeLogger, nn as loadWebMedia, nt as RealtimeVoiceCloseReason, o as PluginRuntimeSessionHelpers, on as resolveToolsBySender, ot as RealtimeVoiceProviderResolveConfigContext, p as PluginRuntimeAdminRpcHelpers, pn as extractOriginalFilename, pt as RealtimeTranscriptionProviderResolveConfigContext, q as VideoGenerationRequest, r as PluginRuntimeSessionAuditEvent, rn as recordInboundSession, rt as RealtimeVoiceProviderConfig, s as PluginRuntimeSessionListParams, sn as AckReactionGateParams, st as RealtimeVoiceRole, t as PluginRuntime, tn as WebMediaResult, tt as RealtimeVoiceBridgeCreateRequest, u as PluginRuntimeAdminRpcAuditEvent, un as removeAckReactionAfterReply, ut as RealtimeTranscriptionProviderConfig, v as FasedAgentPluginConfigSchema, vn as AnyAgentTool, vt as ImageGenerationProvider, w as ProviderAuthKind, wn as AcpSessionRuntimeOptions, wt as HookEntry, x as ImageGenerationProviderPlugin, xn as readNumberParam, xt as ImageGenerationResolution, y as FasedAgentPluginService, yn as createActionGate, yt as ImageGenerationProviderConfiguredContext, zt as resolveAllowlistProviderRuntimeGroupPolicy } from "./types-DWfbSAaM.js";
5
- import { B as ExecTarget, D as normalizeE164, E as escapeRegExp, F as isBlockedHostname, I as isBlockedHostnameOrIp, L as isPrivateIpAddress, M as LookupFn, N as SsrFBlockedError, O as safeParseJson, P as SsrFPolicy, R as ExecAsk, T as clamp, _ as PushTestParams, a as GatewayClient, c as GatewayRequestHandlerOptions, d as GatewayStartupTraceSnapshot, f as ModelCatalogEntry, g as ErrorShape, h as CommandsListResult, k as sleep, l as GatewayRequestHandlers, o as GatewayRequestContext, p as ModelFeature, s as GatewayRequestHandler, u as RespondFn, z as ExecSecurity } from "./types-C3avNytw.js";
4
+ import { $ as RealtimeVoiceBridge, $t as extensionForMime, A as ProviderPlugin, At as LineAccountConfig, B as GeneratedVideoAsset, Bt as resolveDefaultGroupPolicy, C as ProviderAuthContext, Cn as readStringParam, Ct as ImageGenerationSourceImage, D as ProviderCatalogContext, Dn as SessionEntry, Dt as normalizeAccountId$1, E as ProviderAuthResult, En as SessionAcpMeta, Et as listLineAccountIds, F as RealtimeTranscriptionProviderPlugin, Ft as formatLocationText, G as VideoGenerationProviderCapabilities, H as VideoGenerationMode, Ht as warnMissingProviderGroupPolicyFallbackOnce, I as RealtimeVoiceProviderPlugin, It as toLocationContext, J as VideoGenerationResolution, K as VideoGenerationProviderConfiguredContext, L as VideoGenerationProviderPlugin, M as ProviderPluginWizard, Mt as LineConfig, N as ProviderPluginWizardModelPicker, Nt as ResolvedLineAccount, O as ProviderCatalogOrder, On as SessionSystemPromptReport, Ot as resolveDefaultLineAccountId, P as ProviderPluginWizardSetup, Pt as NormalizedLocation, Qt as detectMime, Rt as GROUP_POLICY_BLOCKED_LABEL, S as PluginLogger, Sn as readReactionParams, St as ImageGenerationResult, T as ProviderAuthMethod, Tn as SessionAcpIdentity, Tt as ChannelDock, U as VideoGenerationModeCapabilities, V as VideoGenerationIgnoredOverride, Vt as resolveOpenProviderRuntimeGroupPolicy, W as VideoGenerationProvider, X as VideoGenerationSourceAsset, Y as VideoGenerationResult, Z as VideoGenerationTransformCapabilities, _ as FasedAgentPluginApi, _n as createTypingCallbacks, _t as GeneratedImageAsset, a as PluginRuntimeSessionGetParams, an as resolveControlCommandGate, at as RealtimeVoiceProviderId, b as FasedAgentPluginServiceContext, bn as jsonResult, bt as ImageGenerationRequest, c as PluginRuntimeSessionListResult, cn as AckReactionScope, ct as RealtimeVoiceTool, d as PluginRuntimeAdminRpcAuditSink, dn as shouldAckReaction, dt as RealtimeTranscriptionProviderConfiguredContext, en as getFileExtension, et as RealtimeVoiceBridgeCallbacks, f as PluginRuntimeAdminRpcCallContext, fn as shouldAckReactionForWhatsApp, ft as RealtimeTranscriptionProviderId, g as PluginRegistry, gn as ResponsePrefixContext, gt as RealtimeTranscriptionSessionCreateRequest, h as PluginRuntimeAdminRpcInvoker, hn as resolveAckReaction, ht as RealtimeTranscriptionSessionCallbacks, i as PluginRuntimeSessionAuditSink, in as formatInboundFromLabel, it as RealtimeVoiceProviderConfiguredContext, j as ProviderPluginCatalog, jt as LineChannelData, k as ProviderCatalogResult, kt as resolveLineAccount, l as PluginRuntimeSessionStatus, ln as WhatsAppAckReactionMode, lt as RealtimeVoiceToolCallEvent, m as PluginRuntimeAdminRpcInvocation, mn as RoutePeerKind, mt as RealtimeTranscriptionSession, n as RuntimeLogger, nn as loadWebMedia, nt as RealtimeVoiceCloseReason, o as PluginRuntimeSessionHelpers, on as resolveToolsBySender, ot as RealtimeVoiceProviderResolveConfigContext, p as PluginRuntimeAdminRpcHelpers, pn as extractOriginalFilename, pt as RealtimeTranscriptionProviderResolveConfigContext, q as VideoGenerationRequest, r as PluginRuntimeSessionAuditEvent, rn as recordInboundSession, rt as RealtimeVoiceProviderConfig, s as PluginRuntimeSessionListParams, sn as AckReactionGateParams, st as RealtimeVoiceRole, t as PluginRuntime, tn as WebMediaResult, tt as RealtimeVoiceBridgeCreateRequest, u as PluginRuntimeAdminRpcAuditEvent, un as removeAckReactionAfterReply, ut as RealtimeTranscriptionProviderConfig, v as FasedAgentPluginConfigSchema, vn as AnyAgentTool, vt as ImageGenerationProvider, w as ProviderAuthKind, wn as AcpSessionRuntimeOptions, wt as HookEntry, x as ImageGenerationProviderPlugin, xn as readNumberParam, xt as ImageGenerationResolution, y as FasedAgentPluginService, yn as createActionGate, yt as ImageGenerationProviderConfiguredContext, zt as resolveAllowlistProviderRuntimeGroupPolicy } from "./types-BrCpYMxn.js";
5
+ import { B as ExecTarget, D as normalizeE164, E as escapeRegExp, F as isBlockedHostname, I as isBlockedHostnameOrIp, L as isPrivateIpAddress, M as LookupFn, N as SsrFBlockedError, O as safeParseJson, P as SsrFPolicy, R as ExecAsk, T as clamp, _ as PushTestParams, a as GatewayClient, c as GatewayRequestHandlerOptions, d as GatewayStartupTraceSnapshot, f as ModelCatalogEntry, g as ErrorShape, h as CommandsListResult, k as sleep, l as GatewayRequestHandlers, o as GatewayRequestContext, p as ModelFeature, s as GatewayRequestHandler, u as RespondFn, z as ExecSecurity } from "./types-BdwdFCD6.js";
6
6
  import { a as VerboseLevel, i as ThinkLevel, n as SkillSnapshot, r as ReasoningLevel } from "./types-D0kDG8l0.js";
7
- 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-CS-9BHug.js";
7
+ 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-DHPDFZbC.js";
8
8
  import { a as listDevicePairing, i as approveDevicePairing, n as resolveTailnetHostWithRunner, o as rejectDevicePairing, r as resolveGatewayBindUrl, t as runPluginCommandWithTimeout } from "./run-command-i_W6EFb1.js";
9
9
  import { _ as buildTokenChannelStatusSummary, a as resolveGoogleChatGroupRequireMention, c as resolveIMessageGroupToolPolicy, g as buildBaseChannelStatusSummary, h as buildBaseAccountStatusSnapshot, n as resolveBlueBubblesGroupToolPolicy, o as resolveGoogleChatGroupToolPolicy, s as resolveIMessageGroupRequireMention, t as resolveBlueBubblesGroupRequireMention, v as collectStatusIssuesFromLastError, y as createDefaultChannelRuntimeState } from "./group-mentions-q3hUTCt7.js";
10
10
  import { a as SignalConfigSchema, i as MSTeamsConfigSchema, n as GoogleChatConfigSchema, r as IMessageConfigSchema } from "./zod-schema.providers-core-CIzCjXH9.js";
11
- import { d as FileLockHandle, f as FileLockOptions, m as withFileLock, n as fetchWithSsrFGuard, p as acquireFileLock, r as listAgentIds, s as resolveDefaultAgentId, t as resolvePreferredFasedAgentTmpDir } from "./tmp-fased-dir-xOTGlzBE.js";
11
+ import { d as FileLockHandle, f as FileLockOptions, m as withFileLock, n as fetchWithSsrFGuard, p as acquireFileLock, r as listAgentIds, s as resolveDefaultAgentId, t as resolvePreferredFasedAgentTmpDir } from "./tmp-fased-dir-EJGTmL1Q.js";
12
12
  import { ImageContent } from "@mariozechner/pi-ai";
13
13
  import { AgentMessage } from "@mariozechner/pi-agent-core";
14
14
  import * as _sinclair_typebox0 from "@sinclair/typebox";
@@ -221,7 +221,7 @@ declare const BLUEBUBBLES_ACTIONS: {
221
221
  };
222
222
  };
223
223
  declare const BLUEBUBBLES_ACTION_NAMES: (keyof typeof BLUEBUBBLES_ACTIONS)[];
224
- declare const BLUEBUBBLES_GROUP_ACTIONS: Set<"search" | "reactions" | "sticker" | "permissions" | "edit" | "unsend" | "reply" | "sendWithEffect" | "renameGroup" | "setGroupIcon" | "addParticipant" | "removeParticipant" | "leaveGroup" | "sendAttachment" | "send" | "broadcast" | "poll" | "react" | "read" | "delete" | "pin" | "unpin" | "list-pins" | "thread-create" | "thread-list" | "thread-reply" | "sticker-search" | "member-info" | "role-info" | "emoji-list" | "emoji-upload" | "sticker-upload" | "role-add" | "role-remove" | "channel-info" | "channel-list" | "channel-create" | "channel-edit" | "channel-delete" | "channel-move" | "category-create" | "category-edit" | "category-delete" | "topic-create" | "voice-status" | "event-list" | "event-create" | "timeout" | "kick" | "ban" | "set-presence">;
224
+ declare const BLUEBUBBLES_GROUP_ACTIONS: Set<"search" | "reactions" | "sticker" | "permissions" | "edit" | "unsend" | "reply" | "sendWithEffect" | "renameGroup" | "setGroupIcon" | "addParticipant" | "removeParticipant" | "leaveGroup" | "sendAttachment" | "timeout" | "broadcast" | "send" | "poll" | "react" | "read" | "delete" | "pin" | "unpin" | "list-pins" | "thread-create" | "thread-list" | "thread-reply" | "sticker-search" | "member-info" | "role-info" | "emoji-list" | "emoji-upload" | "sticker-upload" | "role-add" | "role-remove" | "channel-info" | "channel-list" | "channel-create" | "channel-edit" | "channel-delete" | "channel-move" | "category-create" | "category-edit" | "category-delete" | "topic-create" | "voice-status" | "event-list" | "event-create" | "kick" | "ban" | "set-presence">;
225
225
  //#endregion
226
226
  //#region src/plugins/http-path.d.ts
227
227
  declare function normalizePluginHttpPath(path?: string | null, fallback?: string | null): string | null;
@@ -1,4 +1,4 @@
1
- import { $n as resolveFederationHandle, $r as resolveSingleWebhookTargetAsync, Ai as normalizeRealtimeVoiceProviderId, B as logAckFailure, Bi as downloadDashscopeGeneratedVideos, Bn as requestBodyErrorToText, Br as createImageCard, C as resolveEffectiveToolInventory, Ci as resolveEffectiveAllowFromLists, D as runEmbeddedPiAgent, Di as canonicalizeRealtimeVoiceProviderId, E as ACPX_PUSH_TEST_WRAPPER_ID, Ei as evaluateSenderGroupAccess, En as AcpRuntimeError, F as resolveMentionGatingWithBypass, Fi as DEFAULT_VIDEO_GENERATION_DURATION_SECONDS, Fn as RequestBodyLimitError, Fr as hasMarkdownToConvert, Gi as formatAllowlistMatchMeta, Gr as waitForAbortSignal, H as logTypingFailure, Hi as pollDashscopeVideoTaskUntilComplete, Hn as resolveChannelMediaMaxBytes, Hr as createListCard, I as listLineAccountIds, Ii as DEFAULT_VIDEO_GENERATION_TIMEOUT_MS, In as installRequestBodyLimitGuard, Ir as processLineMessage, J as shouldAckReaction, Ji as BLUEBUBBLES_ACTION_NAMES, Jr as createDedupeCache, K as recordInboundSession, Ki as resolveAllowlistMatchSimple, Kr as createLoggerBackedRuntime, L as normalizeAccountId$1, Li as DEFAULT_VIDEO_RESOLUTION_TO_SIZE, Ln as isRequestBodyLimitError, Lr as stripMarkdown, M as issuePairingChallenge, Mi as getRealtimeTranscriptionProvider, N as createTypingCallbacks, Ni as listRealtimeTranscriptionProviders, Nn as DEFAULT_WEBHOOK_BODY_TIMEOUT_MS, Oi as getRealtimeVoiceProvider, P as resolveMentionGating, Pi as normalizeRealtimeTranscriptionProviderId, Pn as DEFAULT_WEBHOOK_MAX_BODY_BYTES, Qn as resolveFederationBaseUrl, Qr as resolveSingleWebhookTarget, R as resolveDefaultLineAccountId, Ri as buildDashscopeVideoGenerationInput, Rn as readJsonBodyWithLimit, Rr as createReceiptCard, S as getPublicGatewayIdentity, Si as resolveDmGroupAccessWithLists, T as ACPX_PUSH_TEST_METHOD, Ti as resolveControlCommandGate, Tn as unregisterAcpRuntimeBackend, Ui as resolveVideoGenerationReferenceUrls, Un as runFederationAutoConnectOnce, V as logInboundDrop, Vi as extractDashscopeVideoUrls, Vr as createInfoCard, Wi as registerPluginHttpRoute, Wn as startFederationAutoConnect, Xi as CHANNEL_MESSAGE_ACTION_NAMES, Xn as normalizeHandle, Xr as registerWebhookTarget, Y as shouldAckReactionForWhatsApp, Yi as BLUEBUBBLES_GROUP_ACTIONS, Yn as DEFAULT_FEDERATION_BASE_URL, Zn as resolveAgentPublicOrigin, Zr as rejectNonPostWebhookRequest, _ as getGatewayUpdateStatus, _i as resolveChannelAccountConfigBasePath, a as normalizeIMessageMessagingTarget, ai as buildHostnameAllowlistPolicyFromSuffixAllowlist, b as getStatusSummary, bi as readStoreAllowFromForDmPolicy, ci as createNormalizedOutboundDeliverer, cn as DEFAULT_GROUP_HISTORY_LIMIT, d as mergeAllowlist, di as sendMediaWithLeadingCaption, dn as clearHistoryEntries, ei as resolveWebhookTargets, fi as buildOauthProviderAuthResult, fn as clearHistoryEntriesIfEnabled, g as buildCommandsListResult, gi as chunkTextForOutbound, h as getAcpStatusSnapshot, hi as buildAgentMediaPayload, hn as recordPendingHistoryEntryIfEnabled, i as looksLikeIMessageTargetId, ii as withTempDownloadPath, in as stringEnum, ji as canonicalizeRealtimeTranscriptionProviderId, ki as listRealtimeVoiceProviders, li as formatTextWithAttachmentLinks, m as pushHandlers, mi as fetchWithBearerAuthScopeFallback, mn as recordPendingHistoryEntry, n as collectBlueBubblesStatusIssues, ni as resolveWebhookPath, nt as formatInboundFromLabel, o as imessageOnboardingAdapter, oi as isHttpsUrlAllowedByHostnameSuffixAllowlist, p as summarizeMapping, pi as createScopedPairingAccess, pn as evictOldHistoryKeys, q as removeAckReactionAfterReply, qi as BLUEBUBBLES_ACTIONS, qr as createPersistentDedupe, r as signalOnboardingAdapter, ri as extractToolSend, rn as optionalStringEnum, s as buildMediaPayload, si as normalizeHostnameSuffixAllowlist, t as LineConfigSchema, ti as normalizeWebhookPath, ui as resolveOutboundMediaUrls, un as buildPendingHistoryContextFromMap, v as buildModelCatalogStatus, vi as resolveSenderCommandAuthorization, w as executeAcpxPushTestRequest, wn as registerAcpRuntimeBackend, x as isDangerousNameMatchingEnabled, xi as resolveDmGroupAccessWithCommandGate, y as loadGatewayModelCatalog, yi as DM_GROUP_ACCESS_REASON, z as resolveLineAccount, zi as buildDashscopeVideoGenerationParameters, zn as readRequestBodyWithLimit, zr as createActionCard } from "./config-schema-BOT7kHb6.js";
1
+ import { $n as resolveFederationHandle, $r as resolveSingleWebhookTargetAsync, Ai as normalizeRealtimeVoiceProviderId, B as logAckFailure, Bi as downloadDashscopeGeneratedVideos, Bn as requestBodyErrorToText, Br as createImageCard, C as resolveEffectiveToolInventory, Ci as resolveEffectiveAllowFromLists, D as runEmbeddedPiAgent, Di as canonicalizeRealtimeVoiceProviderId, E as ACPX_PUSH_TEST_WRAPPER_ID, Ei as evaluateSenderGroupAccess, En as AcpRuntimeError, F as resolveMentionGatingWithBypass, Fi as DEFAULT_VIDEO_GENERATION_DURATION_SECONDS, Fn as RequestBodyLimitError, Fr as hasMarkdownToConvert, Gi as formatAllowlistMatchMeta, Gr as waitForAbortSignal, H as logTypingFailure, Hi as pollDashscopeVideoTaskUntilComplete, Hn as resolveChannelMediaMaxBytes, Hr as createListCard, I as listLineAccountIds, Ii as DEFAULT_VIDEO_GENERATION_TIMEOUT_MS, In as installRequestBodyLimitGuard, Ir as processLineMessage, J as shouldAckReaction, Ji as BLUEBUBBLES_ACTION_NAMES, Jr as createDedupeCache, K as recordInboundSession, Ki as resolveAllowlistMatchSimple, Kr as createLoggerBackedRuntime, L as normalizeAccountId$1, Li as DEFAULT_VIDEO_RESOLUTION_TO_SIZE, Ln as isRequestBodyLimitError, Lr as stripMarkdown, M as issuePairingChallenge, Mi as getRealtimeTranscriptionProvider, N as createTypingCallbacks, Ni as listRealtimeTranscriptionProviders, Nn as DEFAULT_WEBHOOK_BODY_TIMEOUT_MS, Oi as getRealtimeVoiceProvider, P as resolveMentionGating, Pi as normalizeRealtimeTranscriptionProviderId, Pn as DEFAULT_WEBHOOK_MAX_BODY_BYTES, Qn as resolveFederationBaseUrl, Qr as resolveSingleWebhookTarget, R as resolveDefaultLineAccountId, Ri as buildDashscopeVideoGenerationInput, Rn as readJsonBodyWithLimit, Rr as createReceiptCard, S as getPublicGatewayIdentity, Si as resolveDmGroupAccessWithLists, T as ACPX_PUSH_TEST_METHOD, Ti as resolveControlCommandGate, Tn as unregisterAcpRuntimeBackend, Ui as resolveVideoGenerationReferenceUrls, Un as runFederationAutoConnectOnce, V as logInboundDrop, Vi as extractDashscopeVideoUrls, Vr as createInfoCard, Wi as registerPluginHttpRoute, Wn as startFederationAutoConnect, Xi as CHANNEL_MESSAGE_ACTION_NAMES, Xn as normalizeHandle, Xr as registerWebhookTarget, Y as shouldAckReactionForWhatsApp, Yi as BLUEBUBBLES_GROUP_ACTIONS, Yn as DEFAULT_FEDERATION_BASE_URL, Zn as resolveAgentPublicOrigin, Zr as rejectNonPostWebhookRequest, _ as getGatewayUpdateStatus, _i as resolveChannelAccountConfigBasePath, a as normalizeIMessageMessagingTarget, ai as buildHostnameAllowlistPolicyFromSuffixAllowlist, b as getStatusSummary, bi as readStoreAllowFromForDmPolicy, ci as createNormalizedOutboundDeliverer, cn as DEFAULT_GROUP_HISTORY_LIMIT, d as mergeAllowlist, di as sendMediaWithLeadingCaption, dn as clearHistoryEntries, ei as resolveWebhookTargets, fi as buildOauthProviderAuthResult, fn as clearHistoryEntriesIfEnabled, g as buildCommandsListResult, gi as chunkTextForOutbound, h as getAcpStatusSnapshot, hi as buildAgentMediaPayload, hn as recordPendingHistoryEntryIfEnabled, i as looksLikeIMessageTargetId, ii as withTempDownloadPath, in as stringEnum, ji as canonicalizeRealtimeTranscriptionProviderId, ki as listRealtimeVoiceProviders, li as formatTextWithAttachmentLinks, m as pushHandlers, mi as fetchWithBearerAuthScopeFallback, mn as recordPendingHistoryEntry, n as collectBlueBubblesStatusIssues, ni as resolveWebhookPath, nt as formatInboundFromLabel, o as imessageOnboardingAdapter, oi as isHttpsUrlAllowedByHostnameSuffixAllowlist, p as summarizeMapping, pi as createScopedPairingAccess, pn as evictOldHistoryKeys, q as removeAckReactionAfterReply, qi as BLUEBUBBLES_ACTIONS, qr as createPersistentDedupe, r as signalOnboardingAdapter, ri as extractToolSend, rn as optionalStringEnum, s as buildMediaPayload, si as normalizeHostnameSuffixAllowlist, t as LineConfigSchema, ti as normalizeWebhookPath, ui as resolveOutboundMediaUrls, un as buildPendingHistoryContextFromMap, v as buildModelCatalogStatus, vi as resolveSenderCommandAuthorization, w as executeAcpxPushTestRequest, wn as registerAcpRuntimeBackend, x as isDangerousNameMatchingEnabled, xi as resolveDmGroupAccessWithCommandGate, y as loadGatewayModelCatalog, yi as DM_GROUP_ACCESS_REASON, z as resolveLineAccount, zi as buildDashscopeVideoGenerationParameters, zn as readRequestBodyWithLimit, zr as createActionCard } from "./config-schema-D_8FVI1C.js";
2
2
  import { Bt as resolveBlueBubblesGroupRequireMention, Gt as resolveGoogleChatGroupToolPolicy, Kt as resolveIMessageGroupRequireMention, Nn as getChatChannelMeta, Rt as looksLikeSignalTargetId, Vt as resolveBlueBubblesGroupToolPolicy, Wt as resolveGoogleChatGroupRequireMention, Xn as normalizePluginHttpPath, dn as resolveDefaultSignalAccountId, fn as resolveSignalAccount, hn as resolveIMessageAccount, mn as resolveDefaultIMessageAccountId, pn as listIMessageAccountIds, qt as resolveIMessageGroupToolPolicy, un as listSignalAccountIds, yn as resolveToolsBySender, zt as normalizeSignalMessagingTarget } from "./runtime-2B9_WKoI.js";
3
3
  import { n as stripAnsi } from "./subsystem-DBPNbQDQ.js";
4
4
  import { g as registerLogTransport, w as resolvePreferredFasedAgentTmpDir } from "./globals-B_jjtAje.js";
@@ -1,4 +1,4 @@
1
- import { $ as createInboundDebouncer, $t as formatReasoningMessage, B as logAckFailure, Cn as modelSupportsVision, Dt as registerUnhandledRejectionHandler, F as resolveMentionGatingWithBypass, G as sleepWithAbort, Gr as waitForAbortSignal, H as logTypingFailure, J as shouldAckReaction, Jr as createDedupeCache, K as recordInboundSession, Lt as hasControlCommand, N as createTypingCallbacks, Rn as readJsonBodyWithLimit, Sn as loadModelCatalog, Ti as resolveControlCommandGate, U as buildPairingReply, Ut as buildCommandsMessagePaginated, V as logInboundDrop, Vt as enqueueSystemEvent, W as computeBackoff, Wr as resolveTelegramInlineButtonsScope, X as dispatchReplyWithBufferedBlockDispatcher, _n as matchesMentionWithExplicit, _t as formatDurationPrecise, cn as DEFAULT_GROUP_HISTORY_LIMIT, ct as resolveStoredModelOverride, dt as buildModelsKeyboard, en as stripReasoningTagsFromText, et as resolveInboundDebounceMs, fn as clearHistoryEntriesIfEnabled, ft as buildProviderKeyboard, gn as buildMentionRegexes, gt as buildCommandsPaginationKeyboard, hn as recordPendingHistoryEntryIfEnabled, ht as parseModelCallbackData, lt as buildModelsProviderData, mt as getModelsPageSize, nn as isInsideCode, pt as calculateTotalPages, q as removeAckReactionAfterReply, rt as resolveEnvelopeFormatOptions, tn as findCodeRegions, tt as formatInboundEnvelope, un as buildPendingHistoryContextFromMap, ut as formatModelsAvailableHeader, wi as resolveCommandAuthorizedFromAuthorizers, xn as findModelInCatalog, yt as resolveChannelConfigWrites, zt as isAbortRequestText } from "./config-schema-BOT7kHb6.js";
1
+ import { $ as createInboundDebouncer, $t as formatReasoningMessage, B as logAckFailure, Cn as modelSupportsVision, Dt as registerUnhandledRejectionHandler, F as resolveMentionGatingWithBypass, G as sleepWithAbort, Gr as waitForAbortSignal, H as logTypingFailure, J as shouldAckReaction, Jr as createDedupeCache, K as recordInboundSession, Lt as hasControlCommand, N as createTypingCallbacks, Rn as readJsonBodyWithLimit, Sn as loadModelCatalog, Ti as resolveControlCommandGate, U as buildPairingReply, Ut as buildCommandsMessagePaginated, V as logInboundDrop, Vt as enqueueSystemEvent, W as computeBackoff, Wr as resolveTelegramInlineButtonsScope, X as dispatchReplyWithBufferedBlockDispatcher, _n as matchesMentionWithExplicit, _t as formatDurationPrecise, cn as DEFAULT_GROUP_HISTORY_LIMIT, ct as resolveStoredModelOverride, dt as buildModelsKeyboard, en as stripReasoningTagsFromText, et as resolveInboundDebounceMs, fn as clearHistoryEntriesIfEnabled, ft as buildProviderKeyboard, gn as buildMentionRegexes, gt as buildCommandsPaginationKeyboard, hn as recordPendingHistoryEntryIfEnabled, ht as parseModelCallbackData, lt as buildModelsProviderData, mt as getModelsPageSize, nn as isInsideCode, pt as calculateTotalPages, q as removeAckReactionAfterReply, rt as resolveEnvelopeFormatOptions, tn as findCodeRegions, tt as formatInboundEnvelope, un as buildPendingHistoryContextFromMap, ut as formatModelsAvailableHeader, wi as resolveCommandAuthorizedFromAuthorizers, xn as findModelInCatalog, yt as resolveChannelConfigWrites, zt as isAbortRequestText } from "./config-schema-D_8FVI1C.js";
2
2
  import { C as recordSessionMetaFromInbound, Gn as getPluginCommandSpecs, S as readSessionUpdatedAt, Wn as executePluginCommand, _n as resolveChannelGroupRequireMention, gn as resolveChannelGroupPolicy, in as resolveTelegramAccount, qn as matchPluginCommand, x as loadSessionStore } from "./runtime-2B9_WKoI.js";
3
3
  import { i as defaultRuntime, r as createNonExitingRuntime, t as createSubsystemLogger } 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";
@@ -60,7 +60,7 @@ import "./shared-CBgp_GBw.js";
60
60
  import "./retry-policy-C6SjKjQA.js";
61
61
  import { _ as splitTelegramCaption, d as isRecoverableTelegramNetworkError, f as markdownToTelegramChunks, g as resolveTelegramFetch, h as wrapFileReferencesInHtml, i as editMessageTelegram, l as resolveTelegramVoiceSend, m as renderTelegramHtmlText, p as markdownToTelegramHtml, t as buildInlineKeyboard, u as wasSentByBot, v as withTelegramApiErrorLogging } from "./send-q9HXrSwK.js";
62
62
  import { t as makeProxyFetch } from "./proxy-DWpYcsvR.js";
63
- import { i as getCachedSticker, n as describeStickerImage, t as cacheSticker } from "./sticker-cache-D0wHVqjt.js";
63
+ import { i as getCachedSticker, n as describeStickerImage, t as cacheSticker } from "./sticker-cache-By5AcorL.js";
64
64
  import { i as createStatusReactionController, n as DEFAULT_EMOJIS, t as createFinalizableDraftLifecycle } from "./draft-stream-controls-BqchW1vi.js";
65
65
  import path from "node:path";
66
66
  import os from "node:os";
@@ -2044,7 +2044,7 @@ const buildTelegramMessageContext = async ({ primaryCtx, allMedia, replyMedia =
2044
2044
  const hasAudio = allMedia.some((media) => media.contentType?.startsWith("audio/"));
2045
2045
  let preflightTranscript;
2046
2046
  if (isGroup && requireMention && hasAudio && !hasUserText && mentionRegexes.length > 0) try {
2047
- const { transcribeFirstAudio } = await import("./audio-preflight-BYxAt775.js");
2047
+ const { transcribeFirstAudio } = await import("./audio-preflight-I4IngVlJ.js");
2048
2048
  preflightTranscript = await transcribeFirstAudio({
2049
2049
  ctx: {
2050
2050
  MediaPaths: allMedia.length > 0 ? allMedia.map((m) => m.path) : void 0,
@@ -1,4 +1,4 @@
1
- import { $ as createInboundDebouncer, A as parseTtsDirectives, B as logAckFailure, Er as buildGatewayConnectionDetails, F as resolveMentionGatingWithBypass, Gi as formatAllowlistMatchMeta, Gn as resolveAgentAvatar, H as logTypingFailure, J as shouldAckReaction, K as recordInboundSession, Lt as hasControlCommand, N as createTypingCallbacks, O as resolveTtsConfig, Or as GatewayClient, Si as resolveDmGroupAccessWithLists, St as normalizeMediaAttachments, Ti as resolveControlCommandGate, Tt as runCapability, U as buildPairingReply, V as logInboundDrop, Vt as enqueueSystemEvent, X as dispatchReplyWithBufferedBlockDispatcher, Z as dispatchReplyWithDispatcher, _n as matchesMentionWithExplicit, at as createReplyDispatcherWithTyping, bi as readStoreAllowFromForDmPolicy, bn as agentCommand, bt as buildProviderRegistry, c as addAllowlistUserEntriesFromConfigEntry, ct as resolveStoredModelOverride, en as stripReasoningTagsFromText, et as resolveInboundDebounceMs, f as patchAllowlistUsersInConfigEntries, fn as clearHistoryEntriesIfEnabled, gn as buildMentionRegexes, hn as recordPendingHistoryEntryIfEnabled, it as dispatchInboundMessage, k as textToSpeech, l as buildAllowlistResolutionSummary, lt as buildModelsProviderData, ot as EmbeddedBlockChunker, p as summarizeMapping, rt as resolveEnvelopeFormatOptions, s as buildMediaPayload, tt as formatInboundEnvelope, u as canonicalizeAllowlistWithResolvedIds, un as buildPendingHistoryContextFromMap, vt as formatDurationSeconds, wi as resolveCommandAuthorizedFromAuthorizers, x as isDangerousNameMatchingEnabled, xt as createMediaAttachmentCache } from "./config-schema-BOT7kHb6.js";
1
+ import { $ as createInboundDebouncer, A as parseTtsDirectives, B as logAckFailure, Er as buildGatewayConnectionDetails, F as resolveMentionGatingWithBypass, Gi as formatAllowlistMatchMeta, Gn as resolveAgentAvatar, H as logTypingFailure, J as shouldAckReaction, K as recordInboundSession, Lt as hasControlCommand, N as createTypingCallbacks, O as resolveTtsConfig, Or as GatewayClient, Si as resolveDmGroupAccessWithLists, St as normalizeMediaAttachments, Ti as resolveControlCommandGate, Tt as runCapability, U as buildPairingReply, V as logInboundDrop, Vt as enqueueSystemEvent, X as dispatchReplyWithBufferedBlockDispatcher, Z as dispatchReplyWithDispatcher, _n as matchesMentionWithExplicit, at as createReplyDispatcherWithTyping, bi as readStoreAllowFromForDmPolicy, bn as agentCommand, bt as buildProviderRegistry, c as addAllowlistUserEntriesFromConfigEntry, ct as resolveStoredModelOverride, en as stripReasoningTagsFromText, et as resolveInboundDebounceMs, f as patchAllowlistUsersInConfigEntries, fn as clearHistoryEntriesIfEnabled, gn as buildMentionRegexes, hn as recordPendingHistoryEntryIfEnabled, it as dispatchInboundMessage, k as textToSpeech, l as buildAllowlistResolutionSummary, lt as buildModelsProviderData, ot as EmbeddedBlockChunker, p as summarizeMapping, rt as resolveEnvelopeFormatOptions, s as buildMediaPayload, tt as formatInboundEnvelope, u as canonicalizeAllowlistWithResolvedIds, un as buildPendingHistoryContextFromMap, vt as formatDurationSeconds, wi as resolveCommandAuthorizedFromAuthorizers, x as isDangerousNameMatchingEnabled, xt as createMediaAttachmentCache } from "./config-schema-D_8FVI1C.js";
2
2
  import { Dn as normalizeMessageChannel, Dt as getChannelDock, Mn as GATEWAY_CLIENT_NAMES, S as readSessionUpdatedAt, jn as GATEWAY_CLIENT_MODES, x as loadSessionStore } from "./runtime-2B9_WKoI.js";
3
3
  import { r as createNonExitingRuntime, t as createSubsystemLogger } from "./subsystem-DBPNbQDQ.js";
4
4
  import { i as logVerbose, l as warn, p as getChildLogger, s as shouldLogVerbose, t as danger, w as resolvePreferredFasedAgentTmpDir } from "./globals-B_jjtAje.js";
@@ -66,7 +66,7 @@ import { o as createNoopThreadBindingManager, r as reconcileAcpThreadBindingsOnS
66
66
  import { a as setPresence, n as registerGateway, r as unregisterGateway } from "./gateway-registry-DZDsqicG.js";
67
67
  import { t as createReplyReferencePlanner } from "./reply-reference-Bqk-7HXE.js";
68
68
  import { i as createStatusReactionController, r as DEFAULT_TIMING, t as createFinalizableDraftLifecycle } from "./draft-stream-controls-BqchW1vi.js";
69
- import { n as buildUntrustedChannelMetadata, t as chunkItems } from "./chunk-items-DIRHG2gJ.js";
69
+ import { n as buildUntrustedChannelMetadata, t as chunkItems } from "./chunk-items-DLQ6_lLK.js";
70
70
  import { t as fetchDiscordApplicationId } from "./probe-BFroeK3g.js";
71
71
  import { t as DiscordUiContainer } from "./ui-Be8cLHIS.js";
72
72
  import "./guilds-CDhRIX57.js";
@@ -1397,7 +1397,7 @@ async function preflightDiscordMessage(params) {
1397
1397
  let preflightTranscript;
1398
1398
  const hasAudioAttachment = message.attachments?.some((att) => att.contentType?.startsWith("audio/"));
1399
1399
  if (!isDirectMessage && shouldRequireMention && hasAudioAttachment && !baseText && mentionRegexes.length > 0) try {
1400
- const { transcribeFirstAudio } = await import("./audio-preflight-BYxAt775.js");
1400
+ const { transcribeFirstAudio } = await import("./audio-preflight-I4IngVlJ.js");
1401
1401
  const audioPaths = message.attachments?.filter((att) => att.contentType?.startsWith("audio/")).map((att) => att.url) ?? [];
1402
1402
  if (audioPaths.length > 0) preflightTranscript = await transcribeFirstAudio({
1403
1403
  ctx: {
@@ -1,4 +1,4 @@
1
- import { An as sendJson, At as DEFAULT_INPUT_MAX_REDIRECTS, Dn as createDefaultDeps, Ft as resolveInputFileLimits, Mn as writeDone, Mt as extractFileContentFromSource, Nt as extractImageContentFromSource, On as resolveAgentIdForRequest, Ot as DEFAULT_INPUT_IMAGE_MAX_BYTES, Pt as normalizeMimeList, Tr as onAgentEvent, bn as agentCommand, jn as setSseHeaders, jt as DEFAULT_INPUT_TIMEOUT_MS, kn as resolveSessionKey, kt as DEFAULT_INPUT_IMAGE_MIMES, on as handleGatewayPostJsonEndpoint, sn as buildAgentMessageFromConversationEntries, wr as emitAgentEvent, yn as resolveAssistantStreamDeltaText } from "./config-schema-BOT7kHb6.js";
1
+ import { An as sendJson, At as DEFAULT_INPUT_MAX_REDIRECTS, Dn as createDefaultDeps, Ft as resolveInputFileLimits, Mn as writeDone, Mt as extractFileContentFromSource, Nt as extractImageContentFromSource, On as resolveAgentIdForRequest, Ot as DEFAULT_INPUT_IMAGE_MAX_BYTES, Pt as normalizeMimeList, Tr as onAgentEvent, bn as agentCommand, jn as setSseHeaders, jt as DEFAULT_INPUT_TIMEOUT_MS, kn as resolveSessionKey, kt as DEFAULT_INPUT_IMAGE_MIMES, on as handleGatewayPostJsonEndpoint, sn as buildAgentMessageFromConversationEntries, wr as emitAgentEvent, yn as resolveAssistantStreamDeltaText } from "./config-schema-D_8FVI1C.js";
2
2
  import "./runtime-2B9_WKoI.js";
3
3
  import { i as defaultRuntime } from "./subsystem-DBPNbQDQ.js";
4
4
  import "./globals-B_jjtAje.js";
@@ -1,5 +1,5 @@
1
1
  import { At as FasedAgentConfig, t as ChannelConfigSchema } from "./types.plugin-BcSBq42x.js";
2
- import { v as FasedAgentPluginConfigSchema } from "./types-DWfbSAaM.js";
2
+ import { v as FasedAgentPluginConfigSchema } from "./types-BrCpYMxn.js";
3
3
  import { ZodTypeAny } from "zod";
4
4
 
5
5
  //#region src/plugins/config-schema.d.ts
@@ -1,5 +1,5 @@
1
1
  import { At as FasedAgentConfig } from "./types.plugin-BcSBq42x.js";
2
- import { Q as RuntimeWebSearchMetadata, R as WebSearchProviderPlugin, z as WebSearchProviderToolDefinition } from "./types-DWfbSAaM.js";
2
+ import { Q as RuntimeWebSearchMetadata, R as WebSearchProviderPlugin, z as WebSearchProviderToolDefinition } from "./types-BrCpYMxn.js";
3
3
 
4
4
  //#region src/plugin-sdk/provider-web-search-config-contract.d.ts
5
5
  type WebSearchCredentialResolutionSource = "config" | "env" | "none";
@@ -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-C3avNytw.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-xOTGlzBE.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-BdwdFCD6.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-EJGTmL1Q.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";
@@ -416,6 +416,14 @@ declare const LocalSocketSignerRequestSchema: _sinclair_typebox0.TUnion<[_sincla
416
416
  backCycleIds: _sinclair_typebox0.TOptional<_sinclair_typebox0.TArray<_sinclair_typebox0.TString>>;
417
417
  }>>;
418
418
  }>>>;
419
+ }>, _sinclair_typebox0.TObject<{
420
+ type: _sinclair_typebox0.TLiteral<"solana.satLookupTable">;
421
+ action: _sinclair_typebox0.TUnion<[_sinclair_typebox0.TLiteral<"create">, _sinclair_typebox0.TLiteral<"extend">, _sinclair_typebox0.TLiteral<"deactivate">, _sinclair_typebox0.TLiteral<"close">]>;
422
+ lookupTable: _sinclair_typebox0.TObject<{
423
+ address: _sinclair_typebox0.TString;
424
+ recentSlot: _sinclair_typebox0.TOptional<_sinclair_typebox0.TString>;
425
+ addresses: _sinclair_typebox0.TOptional<_sinclair_typebox0.TArray<_sinclair_typebox0.TString>>;
426
+ }>;
419
427
  }>, _sinclair_typebox0.TObject<{
420
428
  type: _sinclair_typebox0.TLiteral<"solana.vaultBondAction">;
421
429
  cluster: _sinclair_typebox0.TUnion<[_sinclair_typebox0.TLiteral<"local">, _sinclair_typebox0.TLiteral<"devnet">, _sinclair_typebox0.TLiteral<"mainnet-beta">]>;
@@ -540,6 +548,14 @@ declare const LocalSocketSignerRequestSchema: _sinclair_typebox0.TUnion<[_sincla
540
548
  backCycleIds: _sinclair_typebox0.TOptional<_sinclair_typebox0.TArray<_sinclair_typebox0.TString>>;
541
549
  }>>;
542
550
  }>>>;
551
+ }>, _sinclair_typebox0.TObject<{
552
+ type: _sinclair_typebox0.TLiteral<"solana.satLookupTable">;
553
+ action: _sinclair_typebox0.TUnion<[_sinclair_typebox0.TLiteral<"create">, _sinclair_typebox0.TLiteral<"extend">, _sinclair_typebox0.TLiteral<"deactivate">, _sinclair_typebox0.TLiteral<"close">]>;
554
+ lookupTable: _sinclair_typebox0.TObject<{
555
+ address: _sinclair_typebox0.TString;
556
+ recentSlot: _sinclair_typebox0.TOptional<_sinclair_typebox0.TString>;
557
+ addresses: _sinclair_typebox0.TOptional<_sinclair_typebox0.TArray<_sinclair_typebox0.TString>>;
558
+ }>;
543
559
  }>, _sinclair_typebox0.TObject<{
544
560
  type: _sinclair_typebox0.TLiteral<"solana.vaultBondAction">;
545
561
  cluster: _sinclair_typebox0.TUnion<[_sinclair_typebox0.TLiteral<"local">, _sinclair_typebox0.TLiteral<"devnet">, _sinclair_typebox0.TLiteral<"mainnet-beta">]>;
@@ -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-BOT7kHb6.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-D_8FVI1C.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";
@@ -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-BOT7kHb6.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-D_8FVI1C.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";
@@ -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-DIRHG2gJ.js";
64
+ import { n as buildUntrustedChannelMetadata, t as chunkItems } from "./chunk-items-DLQ6_lLK.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-BOT7kHb6.js").then((n) => n.Q)
3243
+ import("./config-schema-D_8FVI1C.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,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, 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-DWfbSAaM.js";
4
- import { D as normalizeE164 } from "./types-C3avNytw.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-CS-9BHug.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-BrCpYMxn.js";
4
+ import { D as normalizeE164 } from "./types-BdwdFCD6.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-DHPDFZbC.js";
6
6
  import { _ as buildTokenChannelStatusSummary, l as resolveSlackGroupRequireMention, u as resolveSlackGroupToolPolicy } from "./group-mentions-q3hUTCt7.js";
7
7
  import { o as SlackConfigSchema } from "./zod-schema.providers-core-CIzCjXH9.js";
8
8
  import { AgentToolResult } from "@mariozechner/pi-agent-core";
@@ -1,4 +1,4 @@
1
- import { Cn as modelSupportsVision, Ct as resolveAutoImageModel, Sn as loadModelCatalog, xn as findModelInCatalog } from "./config-schema-BOT7kHb6.js";
1
+ import { Cn as modelSupportsVision, Ct as resolveAutoImageModel, Sn as loadModelCatalog, xn as findModelInCatalog } from "./config-schema-D_8FVI1C.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-BOT7kHb6.js").then((n) => n.It);
150
+ const { describeImageWithModel } = await import("./config-schema-D_8FVI1C.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-BOT7kHb6.js";
1
+ import { Ur as resolveTelegramReactionLevel, Wr as resolveTelegramInlineButtonsScope } from "./config-schema-D_8FVI1C.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";
@@ -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-D0wHVqjt.js";
61
+ import { a as searchStickers, r as getCacheStats } from "./sticker-cache-By5AcorL.js";
62
62
 
63
63
  //#region src/agents/tools/telegram-actions.ts
64
64
  const TELEGRAM_BUTTON_STYLES = [
@@ -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, 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-DWfbSAaM.js";
4
- import { D as normalizeE164 } from "./types-C3avNytw.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-CS-9BHug.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-BrCpYMxn.js";
4
+ import { D as normalizeE164 } from "./types-BdwdFCD6.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-DHPDFZbC.js";
6
6
  import { _ as buildTokenChannelStatusSummary, d as resolveTelegramGroupRequireMention, f as resolveTelegramGroupToolPolicy } from "./group-mentions-q3hUTCt7.js";
7
7
  import { s as TelegramConfigSchema } from "./zod-schema.providers-core-CIzCjXH9.js";
8
8
 
@@ -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-C3avNytw.js";
2
+ import { M as LookupFn, P as SsrFPolicy } from "./types-BdwdFCD6.js";
3
3
 
4
4
  //#region src/plugin-sdk/file-lock.d.ts
5
5
  type FileLockOptions = {
@@ -168,13 +168,13 @@ declare const ConnectParamsSchema: _sinclair_typebox0.TObject<{
168
168
  minProtocol: _sinclair_typebox0.TInteger;
169
169
  maxProtocol: _sinclair_typebox0.TInteger;
170
170
  client: _sinclair_typebox0.TObject<{
171
- id: _sinclair_typebox0.TUnion<_sinclair_typebox0.TLiteral<"cli" | "webchat" | "webchat-ui" | "fased-control-ui" | "gateway-client" | "fased-macos" | "fased-ios" | "fased-android" | "node-host" | "test" | "fingerprint" | "fased-probe">[]>;
171
+ id: _sinclair_typebox0.TUnion<_sinclair_typebox0.TLiteral<"webchat-ui" | "fased-control-ui" | "webchat" | "cli" | "gateway-client" | "fased-macos" | "fased-ios" | "fased-android" | "node-host" | "test" | "fingerprint" | "fased-probe">[]>;
172
172
  displayName: _sinclair_typebox0.TOptional<_sinclair_typebox0.TString>;
173
173
  version: _sinclair_typebox0.TString;
174
174
  platform: _sinclair_typebox0.TString;
175
175
  deviceFamily: _sinclair_typebox0.TOptional<_sinclair_typebox0.TString>;
176
176
  modelIdentifier: _sinclair_typebox0.TOptional<_sinclair_typebox0.TString>;
177
- mode: _sinclair_typebox0.TUnion<_sinclair_typebox0.TLiteral<"ui" | "backend" | "node" | "cli" | "webchat" | "probe" | "test">[]>;
177
+ mode: _sinclair_typebox0.TUnion<_sinclair_typebox0.TLiteral<"ui" | "webchat" | "cli" | "test" | "backend" | "node" | "probe">[]>;
178
178
  instanceId: _sinclair_typebox0.TOptional<_sinclair_typebox0.TString>;
179
179
  }>;
180
180
  caps: _sinclair_typebox0.TOptional<_sinclair_typebox0.TArray<_sinclair_typebox0.TString>>;
@@ -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-C3avNytw.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-BdwdFCD6.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-BOT7kHb6.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-D_8FVI1C.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";
@@ -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-DWfbSAaM.js";
4
- import { D as normalizeE164 } from "./types-C3avNytw.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-CS-9BHug.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-BrCpYMxn.js";
4
+ import { D as normalizeE164 } from "./types-BdwdFCD6.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-DHPDFZbC.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
 
@@ -107,6 +107,14 @@ const SignerSatInstructionV2Schema = Type.Object({
107
107
  keys: Type.Array(SignerSatAccountV2Schema),
108
108
  context: Type.Optional(SignerSatContextV2Schema)
109
109
  }, { additionalProperties: false });
110
+ const SignerSatLookupTableV2Schema = Type.Object({
111
+ address: Type.String(),
112
+ recentSlot: Type.Optional(Type.String({ pattern: "^(0|[1-9][0-9]*)$" })),
113
+ addresses: Type.Optional(Type.Array(Type.String(), {
114
+ minItems: 1,
115
+ maxItems: 20
116
+ }))
117
+ }, { additionalProperties: false });
110
118
  const SignerFederationBondChallengeV2Schema = Type.Object({
111
119
  challengeId: Type.String({
112
120
  minLength: 1,
@@ -174,6 +182,16 @@ const SignerIntentV2Schema = Type.Union([
174
182
  maxItems: 6
175
183
  }))
176
184
  }, { additionalProperties: false }),
185
+ Type.Object({
186
+ type: Type.Literal("solana.satLookupTable"),
187
+ action: Type.Union([
188
+ Type.Literal("create"),
189
+ Type.Literal("extend"),
190
+ Type.Literal("deactivate"),
191
+ Type.Literal("close")
192
+ ]),
193
+ lookupTable: SignerSatLookupTableV2Schema
194
+ }, { additionalProperties: false }),
177
195
  Type.Object({
178
196
  type: Type.Literal("solana.vaultBondAction"),
179
197
  cluster: Type.Union([
@@ -10,6 +10,7 @@ const SIGNER_PROTOCOL_V2 = {
10
10
  "solana.nativeTransfer",
11
11
  "solana.splTransferChecked",
12
12
  "solana.satAction",
13
+ "solana.satLookupTable",
13
14
  "solana.vaultBondAction",
14
15
  "federation.bondChallenge",
15
16
  "solana.jupiter.swap",
@@ -42,6 +43,7 @@ const SIGNER_PROTOCOL_V2 = {
42
43
  "typedA2aRefundMemos",
43
44
  "idempotentAssociatedTokenCreation",
44
45
  "typedSATActions",
46
+ "typedSATAddressLookupTables",
45
47
  "typedVaultBondActions",
46
48
  "domainSeparatedFederationBondChallenges",
47
49
  "federationBondChallengeWrapperV2",
@@ -11,6 +11,7 @@ const SOLANA_SYSTEM_PROGRAM_ID = "11111111111111111111111111111111";
11
11
  const SOLANA_TOKEN_PROGRAM_ID = "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA";
12
12
  const SOLANA_TOKEN_2022_PROGRAM_ID = "TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb";
13
13
  const SOLANA_ASSOCIATED_TOKEN_PROGRAM_ID = "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL";
14
+ const SOLANA_ADDRESS_LOOKUP_TABLE_PROGRAM_ID = "AddressLookupTab1e1111111111111111111111111";
14
15
  const DEFAULT_POLICY_CAPS = { solana: {
15
16
  maxPerTx: "1000000000",
16
17
  maxDaily: "5000000000"
@@ -153,7 +154,8 @@ function miningPolicyProgramAllowlist(env) {
153
154
  SOLANA_SYSTEM_PROGRAM_ID,
154
155
  SOLANA_TOKEN_PROGRAM_ID,
155
156
  SOLANA_TOKEN_2022_PROGRAM_ID,
156
- SOLANA_ASSOCIATED_TOKEN_PROGRAM_ID
157
+ SOLANA_ASSOCIATED_TOKEN_PROGRAM_ID,
158
+ String(env.FASED_SAT_ENABLE_ALT_V0 ?? "").trim() === "1" ? SOLANA_ADDRESS_LOOKUP_TABLE_PROGRAM_ID : ""
157
159
  ]);
158
160
  }
159
161
  function isWalletHandle(value) {