@fased/fased 0.1.52 → 0.1.54

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 (150) hide show
  1. package/dist/agents/current-model-catalog.js +27 -0
  2. package/dist/agents/model-catalog-source.js +4 -4
  3. package/dist/agents/model-forward-compat.js +19 -1
  4. package/dist/agents/model-metadata.js +13 -5
  5. package/dist/agents/pi-embedded-runner/agent-messages.js +15 -0
  6. package/dist/agents/pi-embedded-runner/compact.js +2 -1
  7. package/dist/agents/pi-embedded-runner/model.js +2 -7
  8. package/dist/agents/pi-embedded-runner/run/attempt.js +4 -5
  9. package/dist/brand.js +1 -1
  10. package/dist/build-info.json +3 -3
  11. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  12. package/dist/cli/program/register.agent.js +17 -0
  13. package/dist/commands/agents.commands.models.js +63 -0
  14. package/dist/commands/agents.js +1 -0
  15. package/dist/commands/models/list.registry.js +1 -1
  16. package/dist/commands/openai-codex-model-default.js +1 -1
  17. package/dist/config/defaults.js +1 -1
  18. package/dist/control-ui/assets/{app-Bf5WlHKE.js → app-BKlu6OKz.js} +1795 -1763
  19. package/dist/control-ui/assets/chat-model-ref-B9sWop67.js +2 -0
  20. package/dist/control-ui/assets/{index-DWM6gKjy.js → index-nrFcGMv-.js} +3 -3
  21. package/dist/control-ui/assets/{providers-rQMhp1fb.js → providers-BQFrRqym.js} +2 -2
  22. package/dist/control-ui/index.html +1 -1
  23. package/dist/cron/isolated-agent/run.js +9 -3
  24. package/dist/cron/normalize.js +10 -0
  25. package/dist/gateway/protocol/schema/agents-models-skills.js +1 -0
  26. package/dist/gateway/protocol/schema/cron.js +7 -0
  27. package/dist/gateway/server-methods/models.js +1 -1
  28. package/dist/light-update-status.js +11 -11
  29. package/dist/plugin-sdk/{accounts-BZrfqJmO.js → accounts-DW9OS5Ll.js} +1 -1
  30. package/dist/plugin-sdk/{actions-7_zTh8zC.js → actions-DQUXohRr.js} +2 -2
  31. package/dist/plugin-sdk/{active-listener-D8NVRD8J.js → active-listener-BZQWZPF7.js} +1 -1
  32. package/dist/plugin-sdk/{audio-preflight-D6IPconF.js → audio-preflight-t4mmHsI2.js} +26 -26
  33. package/dist/plugin-sdk/{audit-2iRlVyQF.js → audit-BZk_6Buw.js} +1 -1
  34. package/dist/plugin-sdk/{channel-access-BCf1rJsn.js → channel-access-CN5HiWdb.js} +1 -1
  35. package/dist/plugin-sdk/{channel-access-configure-B-Z51Qsd.js → channel-access-configure-B7Kkvx9K.js} +1 -1
  36. package/dist/plugin-sdk/channel-plugin-common.d.ts +2 -2
  37. package/dist/plugin-sdk/channel-plugin-common.js +4 -4
  38. package/dist/plugin-sdk/{chunk-BREC9ijl.js → chunk-B2ffJ-LR.js} +1 -1
  39. package/dist/plugin-sdk/{chunk-items-CTp30xzl.js → chunk-items-jOdkyP53.js} +1 -1
  40. package/dist/plugin-sdk/command-status.js +26 -26
  41. package/dist/plugin-sdk/{commands-registry-D3-bFLsz.js → commands-registry-BWb4NcfW.js} +2 -2
  42. package/dist/plugin-sdk/{common-BlqMqEqn.js → common-C4XrB73N.js} +1 -1
  43. package/dist/plugin-sdk/{config-442EDe7Z.js → config-rySyVtKs.js} +48 -70
  44. package/dist/plugin-sdk/{config-schema-DAyzv2C6.js → config-schema-BaybPPrJ.js} +96 -72
  45. package/dist/plugin-sdk/device-pair.d.ts +1 -1
  46. package/dist/plugin-sdk/discord.d.ts +3 -3
  47. package/dist/plugin-sdk/discord.js +19 -19
  48. package/dist/plugin-sdk/{handle-action-pNaP87Dr.js → handle-action-CGF-Qnp0.js} +13 -13
  49. package/dist/plugin-sdk/{helpers-B994qqVW.js → helpers-DgRMfCnT.js} +1 -1
  50. package/dist/plugin-sdk/{image-ops-Doq8nZQw.js → image-ops-CcBfoMLW.js} +1 -1
  51. package/dist/plugin-sdk/index.d.ts +4 -4
  52. package/dist/plugin-sdk/index.js +28 -28
  53. package/dist/plugin-sdk/{login-CK2zTIJA.js → login-DpDQyM7r.js} +3 -3
  54. package/dist/plugin-sdk/{login-qr-u8Mn1mCp.js → login-qr-COaSAPY5.js} +3 -3
  55. package/dist/plugin-sdk/{manager-CeJNf2bH.js → manager-Cqz30lA3.js} +2 -2
  56. package/dist/plugin-sdk/{markdown-tables-DeZztrY6.js → markdown-tables-BOG5sSQQ.js} +1 -1
  57. package/dist/plugin-sdk/{media-CgUAEfhs.js → media-Bu-nJpPs.js} +2 -2
  58. package/dist/plugin-sdk/{monitor-CY1W4VTW.js → monitor-DL6oEVo8.js} +31 -31
  59. package/dist/plugin-sdk/{monitor-CkDlxeW5.js → monitor-II_NIq3G.js} +30 -30
  60. package/dist/plugin-sdk/{openresponses-http-Cu7NLyPf.js → openresponses-http-vkHBBpGY.js} +26 -26
  61. package/dist/plugin-sdk/{optional-runtime-dependency-D0BdXz1C.js → optional-runtime-dependency-DEojVNfv.js} +1 -1
  62. package/dist/plugin-sdk/{outbound-attachment-oxhGO33g.js → outbound-attachment-ivAHpWnn.js} +2 -2
  63. package/dist/plugin-sdk/{outbound-DXGuFrdx.js → outbound-mf2y6KuY.js} +6 -6
  64. package/dist/plugin-sdk/{pairing-message-C29ixrvn.js → pairing-message-CqYG12t-.js} +1 -1
  65. package/dist/plugin-sdk/{pairing-message-DfIyssV_.d.ts → pairing-message-CvJ6Qa1Q.d.ts} +1 -1
  66. package/dist/plugin-sdk/{pairing-store-1kcsOWRs.js → pairing-store-D-21Sphe.js} +2 -2
  67. package/dist/plugin-sdk/{pi-model-discovery-l-xqaEd0.js → pi-model-discovery-B6gD1clF.js} +1 -1
  68. package/dist/plugin-sdk/{pi-model-discovery-runtime-CibV8F8G.js → pi-model-discovery-runtime-3yDxS3ro.js} +2 -2
  69. package/dist/plugin-sdk/provider-web-search-config-contract.d.ts +1 -1
  70. package/dist/plugin-sdk/{pw-ai-9qEBW5-k.js → pw-ai-CMplwiwf.js} +3 -3
  71. package/dist/plugin-sdk/{replies-BX3L8fX7.js → replies-wiI4veI7.js} +2 -2
  72. package/dist/plugin-sdk/{resolve-outbound-target-D0AK10E7.js → resolve-outbound-target-bm9RUK5q.js} +1 -1
  73. package/dist/plugin-sdk/{resolve-route-UO6XLYH3.js → resolve-route-ekGNc6os.js} +1 -1
  74. package/dist/plugin-sdk/{retry-policy-C5N8JiHL.js → retry-policy-BvlC2SPh.js} +1 -1
  75. package/dist/plugin-sdk/{runtime-Dnzwux3G.js → runtime-ClSakPxR.js} +3 -3
  76. package/dist/plugin-sdk/{runtime-dependency-BDDpVKBO.js → runtime-dependency-yAWxH4El.js} +2 -2
  77. package/dist/plugin-sdk/sat-runtime.d.ts +2 -2
  78. package/dist/plugin-sdk/sat-runtime.js +5 -5
  79. package/dist/plugin-sdk/{send-DcsYRH2f.js → send-C7x6gzSl.js} +7 -7
  80. package/dist/plugin-sdk/{send-bcKv8F5E.js → send-CgyS75Av.js} +8 -8
  81. package/dist/plugin-sdk/{send-DGEgo_6f.js → send-D264hFVb.js} +5 -5
  82. package/dist/plugin-sdk/{send-D5rgCP1r.js → send-D58yEeH4.js} +6 -6
  83. package/dist/plugin-sdk/{send-B4XLsTL0.js → send-DrAtUGLM.js} +6 -6
  84. package/dist/plugin-sdk/{session-BoGNOlwv.js → session-DyMtb5YQ.js} +2 -2
  85. package/dist/plugin-sdk/{skill-commands-Be8s4TGQ.js → skill-commands-Q80wCyry.js} +2 -2
  86. package/dist/plugin-sdk/{slack-papUjf_h.js → slack-C-I6q3NB.js} +38 -38
  87. package/dist/plugin-sdk/{slack-actions-TNnAXiUx.js → slack-actions-dGE_t_Un.js} +11 -11
  88. package/dist/plugin-sdk/slack.d.ts +3 -3
  89. package/dist/plugin-sdk/slack.js +9 -9
  90. package/dist/plugin-sdk/{sticker-cache-CPNu_LEe.js → sticker-cache-DCrDTYIi.js} +3 -3
  91. package/dist/plugin-sdk/{tables-Ch4js2qy.js → tables-0mhUOh5v.js} +1 -1
  92. package/dist/plugin-sdk/{targets-BGfRUJPE.js → targets-znKHngSk.js} +1 -1
  93. package/dist/plugin-sdk/{telegram-actions-BO-giM1s.js → telegram-actions-GBYY8-x9.js} +29 -29
  94. package/dist/plugin-sdk/telegram.d.ts +3 -3
  95. package/dist/plugin-sdk/telegram.js +8 -8
  96. package/dist/plugin-sdk/{thread-bindings.lifecycle-_uQ2EF17.js → thread-bindings.lifecycle-ClzPBK70.js} +3 -3
  97. package/dist/plugin-sdk/{thread-bindings.state-DUg0s_1X.js → thread-bindings.state-Ha01nmrq.js} +2 -2
  98. package/dist/plugin-sdk/{tmp-fased-dir-Bcp1DTSV.d.ts → tmp-fased-dir-C_xfeEN9.d.ts} +1 -1
  99. package/dist/plugin-sdk/{types-BTkcYtOt.d.ts → types-BI2njxWJ.d.ts} +3 -2
  100. package/dist/plugin-sdk/{types-CMoLtViq.d.ts → types-DV5TNhMK.d.ts} +1 -1
  101. package/dist/plugin-sdk/{wallet-status-M6aK3abH.js → wallet-status-CyovJojz.js} +26 -11
  102. package/dist/plugin-sdk/{web-QpstZjDX.js → web-CJMfhGFY.js} +31 -31
  103. package/dist/plugin-sdk/{whatsapp-actions-CID_tqAX.js → whatsapp-actions-0ZbGo5ZV.js} +13 -13
  104. package/dist/plugin-sdk/{whatsapp-heartbeat-Bk-aZVMa.js → whatsapp-heartbeat-DGTsuvQ8.js} +2 -2
  105. package/dist/plugin-sdk/whatsapp.d.ts +3 -3
  106. package/dist/plugin-sdk/whatsapp.js +12 -12
  107. package/dist/plugin-sdk/{wsl-C_STtED7.js → wsl-D5jDUlms.js} +3 -3
  108. package/dist/providers/huggingface-models.js +0 -30
  109. package/dist/providers/opencode-zen-shared.js +0 -1
  110. package/dist/providers/refresh.js +4 -7
  111. package/dist/providers/registry.js +17 -3
  112. package/dist/providers/vercel-ai-gateway-models.js +0 -35
  113. package/dist/shared/model-thinking.js +3 -0
  114. package/extensions/acpx/package.json +1 -1
  115. package/extensions/bluebubbles/package.json +1 -1
  116. package/extensions/copilot-proxy/package.json +1 -1
  117. package/extensions/diagnostics-otel/package.json +1 -1
  118. package/extensions/fased-federation/package.json +1 -1
  119. package/extensions/google-gemini-cli-auth/package.json +1 -1
  120. package/extensions/imessage/package.json +1 -1
  121. package/extensions/irc/package.json +1 -1
  122. package/extensions/line/package.json +1 -1
  123. package/extensions/llm-task/package.json +1 -1
  124. package/extensions/lobster/package.json +1 -1
  125. package/extensions/matrix/CHANGELOG.md +12 -0
  126. package/extensions/matrix/package.json +1 -1
  127. package/extensions/mattermost/package.json +1 -1
  128. package/extensions/memory-core/package.json +2 -2
  129. package/extensions/memory-lancedb/package.json +1 -1
  130. package/extensions/minimax-portal-auth/package.json +1 -1
  131. package/extensions/msteams/CHANGELOG.md +12 -0
  132. package/extensions/msteams/package.json +1 -1
  133. package/extensions/nextcloud-talk/package.json +1 -1
  134. package/extensions/nostr/CHANGELOG.md +12 -0
  135. package/extensions/nostr/package.json +1 -1
  136. package/extensions/open-prose/package.json +1 -1
  137. package/extensions/sat-mining/package.json +1 -1
  138. package/extensions/signal/package.json +1 -1
  139. package/extensions/synology-chat/package.json +1 -1
  140. package/extensions/tlon/package.json +1 -1
  141. package/extensions/twitch/CHANGELOG.md +12 -0
  142. package/extensions/twitch/package.json +1 -1
  143. package/extensions/voice-call/CHANGELOG.md +12 -0
  144. package/extensions/voice-call/package.json +1 -1
  145. package/extensions/zalo/CHANGELOG.md +12 -0
  146. package/extensions/zalo/package.json +1 -1
  147. package/extensions/zalouser/CHANGELOG.md +12 -0
  148. package/extensions/zalouser/package.json +1 -1
  149. package/package.json +1 -1
  150. package/dist/control-ui/assets/chat-model-ref-NT82zapt.js +0 -2
@@ -1,10 +1,10 @@
1
- import { $ as clearHistoryEntriesIfEnabled, At as allowListMatches, F as issuePairingChallenge, Ft as resolveSlackUserAllowed, G as logTypingFailure, Ht as enqueueSystemEvent, I as createTypingCallbacks, Ir as resolveCommandAuthorizedFromAuthorizers, Lr as resolveControlCommandGate, Mr as readStoreAllowFromForDmPolicy, Mt as normalizeAllowListLower, Nt as normalizeSlackSlug, Pn as installRequestBodyLimitGuard, Pt as resolveSlackAllowListMatch, R as resolveMentionGatingWithBypass, U as logAckFailure, Ut as resolveChannelConfigWrites, W as logInboundDrop, Y as DEFAULT_GROUP_HISTORY_LIMIT, Z as buildPendingHistoryContextFromMap, at as shouldAckReaction, c as addAllowlistUserEntriesFromConfigEntry, d as mergeAllowlist, dt as resolveInboundDebounceMs, f as patchAllowlistUsersInConfigEntries, fn as buildMentionRegexes, ft as formatInboundEnvelope, gt as createReplyDispatcherWithTyping, ht as dispatchInboundMessage, it as removeAckReactionAfterReply, jt as normalizeAllowList, l as buildAllowlistResolutionSummary, ln as hasControlCommand, mt as resolveEnvelopeFormatOptions, nt as recordPendingHistoryEntryIfEnabled, or as createDedupeCache, p as summarizeMapping, pn as matchesMentionWithExplicit, ri as formatAllowlistMatchMeta, rt as recordInboundSession, sr as pruneMapToMaxSize, ut as createInboundDebouncer, x as isDangerousNameMatchingEnabled } from "./config-schema-DAyzv2C6.js";
2
- import { K as resolveSessionKey, S as readSessionUpdatedAt, w as updateLastRoute } from "./runtime-Dnzwux3G.js";
1
+ import { $ as clearHistoryEntriesIfEnabled, At as allowListMatches, F as issuePairingChallenge, Ft as resolveSlackUserAllowed, G as logTypingFailure, Ht as enqueueSystemEvent, I as createTypingCallbacks, Ir as resolveCommandAuthorizedFromAuthorizers, Lr as resolveControlCommandGate, Mr as readStoreAllowFromForDmPolicy, Mt as normalizeAllowListLower, Nt as normalizeSlackSlug, Pn as installRequestBodyLimitGuard, Pt as resolveSlackAllowListMatch, R as resolveMentionGatingWithBypass, U as logAckFailure, Ut as resolveChannelConfigWrites, W as logInboundDrop, Y as DEFAULT_GROUP_HISTORY_LIMIT, Z as buildPendingHistoryContextFromMap, at as shouldAckReaction, c as addAllowlistUserEntriesFromConfigEntry, d as mergeAllowlist, dt as resolveInboundDebounceMs, f as patchAllowlistUsersInConfigEntries, fn as buildMentionRegexes, ft as formatInboundEnvelope, gt as createReplyDispatcherWithTyping, ht as dispatchInboundMessage, it as removeAckReactionAfterReply, jt as normalizeAllowList, l as buildAllowlistResolutionSummary, ln as hasControlCommand, mt as resolveEnvelopeFormatOptions, nt as recordPendingHistoryEntryIfEnabled, or as createDedupeCache, p as summarizeMapping, pn as matchesMentionWithExplicit, ri as formatAllowlistMatchMeta, rt as recordInboundSession, sr as pruneMapToMaxSize, ut as createInboundDebouncer, x as isDangerousNameMatchingEnabled } from "./config-schema-BaybPPrJ.js";
2
+ import { K as resolveSessionKey, S as readSessionUpdatedAt, w as updateLastRoute } from "./runtime-ClSakPxR.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";
5
5
  import "./paths-BEmvSyOV.js";
6
6
  import "./utils-CYk9EKoq.js";
7
- import { Nt as resolveSlackNativeStreaming, Pt as resolveSlackStreamingMode, jt as mapStreamingModeToSlackLegacyDraftStreamMode, n as loadConfig, s as writeConfigFile } from "./config-442EDe7Z.js";
7
+ import { Nt as resolveSlackNativeStreaming, Pt as resolveSlackStreamingMode, jt as mapStreamingModeToSlackLegacyDraftStreamMode, n as loadConfig, s as writeConfigFile } from "./config-rySyVtKs.js";
8
8
  import "./agent-scope-BbgPlhtw.js";
9
9
  import { n as resolveConversationLabel } from "./conversation-label-BoVqak2R.js";
10
10
  import { c as normalizeMainKey, p as normalizeAccountId, u as resolveThreadSessionKeys } from "./session-key-HSJ2KQTc.js";
@@ -12,7 +12,7 @@ import "./accounts-RHZyaB73.js";
12
12
  import { i as resolveSlackAccount, n as listSlackAccountIds, o as resolveSlackAppToken, r as resolveDefaultSlackAccountId, s as resolveSlackBotToken, t as listEnabledSlackAccounts } from "./accounts-CuqIKU8X.js";
13
13
  import "./logger-BbFvCoKk.js";
14
14
  import "./exec-DQ8j4Fm3.js";
15
- import "./accounts-BZrfqJmO.js";
15
+ import "./accounts-DW9OS5Ll.js";
16
16
  import { S as resolveChannelEntryMatchWithFallback, v as applyChannelMatchMeta, y as buildChannelKeyCandidates } from "./allow-list-BYeKk0Sy.js";
17
17
  import "./redact-Bm8vu_ju.js";
18
18
  import "./github-copilot-token-CUK__1s1.js";
@@ -21,11 +21,11 @@ import { l as resolveStorePath } from "./paths-CTZ2RS_E.js";
21
21
  import "./ip-C70a-YlD.js";
22
22
  import { c as normalizeHostname } from "./ssrf-BZG8Ztod.js";
23
23
  import "./fetch-guard-BuYrl6q2.js";
24
- import "./send-D5rgCP1r.js";
25
- import { A as resolveDefaultGroupPolicy, M as warnMissingProviderGroupPolicyFallbackOnce, j as resolveOpenProviderRuntimeGroupPolicy } from "./helpers-B994qqVW.js";
26
- import "./wsl-C_STtED7.js";
27
- import { a as upsertChannelPairingRequest } from "./pairing-store-1kcsOWRs.js";
28
- import { l as resolveTextChunkLimit } from "./chunk-BREC9ijl.js";
24
+ import "./send-D58yEeH4.js";
25
+ import { A as resolveDefaultGroupPolicy, M as warnMissingProviderGroupPolicyFallbackOnce, j as resolveOpenProviderRuntimeGroupPolicy } from "./helpers-DgRMfCnT.js";
26
+ import "./wsl-D5jDUlms.js";
27
+ import { a as upsertChannelPairingRequest } from "./pairing-store-D-21Sphe.js";
28
+ import { l as resolveTextChunkLimit } from "./chunk-B2ffJ-LR.js";
29
29
  import "./tailscale-status-ClsquRGs.js";
30
30
  import { a as resolveAckReaction, c as resolveHumanDelayConfig, n as createReplyPrefixOptions } from "./reply-prefix-Bqzm6DC1.js";
31
31
  import "./tokens-BvtlOzVP.js";
@@ -34,42 +34,42 @@ import "./pairing-token-N_6Jbt1L.js";
34
34
  import { t as generateSecureToken } from "./secure-random-Bl-AVLVb.js";
35
35
  import "./diagnostic-Dfn1iERm.js";
36
36
  import "./diagnostic-session-state-HO94DMou.js";
37
- import "./optional-runtime-dependency-D0BdXz1C.js";
38
- import "./image-ops-Doq8nZQw.js";
39
- import "./wallet-status-M6aK3abH.js";
40
- import "./pi-model-discovery-l-xqaEd0.js";
41
- import "./runtime-dependency-BDDpVKBO.js";
37
+ import "./optional-runtime-dependency-DEojVNfv.js";
38
+ import "./image-ops-CcBfoMLW.js";
39
+ import "./wallet-status-CyovJojz.js";
40
+ import "./pi-model-discovery-B6gD1clF.js";
41
+ import "./runtime-dependency-yAWxH4El.js";
42
42
  import "./ws-CocpWGhl.js";
43
43
  import "./path-alias-guards-Dg3gU-MA.js";
44
44
  import "./fs-safe-BG-VzVkL.js";
45
- import "./markdown-tables-DeZztrY6.js";
46
- import { a as fetchRemoteMedia } from "./media-CgUAEfhs.js";
47
- import "./send-B4XLsTL0.js";
48
- import { a as saveMediaBuffer } from "./outbound-attachment-oxhGO33g.js";
45
+ import "./markdown-tables-BOG5sSQQ.js";
46
+ import { a as fetchRemoteMedia } from "./media-Bu-nJpPs.js";
47
+ import "./send-DrAtUGLM.js";
48
+ import { a as saveMediaBuffer } from "./outbound-attachment-ivAHpWnn.js";
49
49
  import "./fetch-Cu-ahkie.js";
50
- import "./thread-bindings.state-DUg0s_1X.js";
50
+ import "./thread-bindings.state-Ha01nmrq.js";
51
51
  import "./memory-search-C3C0bD2H.js";
52
- import "./manager-CeJNf2bH.js";
52
+ import "./manager-Cqz30lA3.js";
53
53
  import "./query-expansion-Zr9qQixm.js";
54
- import "./common-BlqMqEqn.js";
55
- import { E as resolveNativeSkillsEnabled, T as resolveNativeCommandsEnabled, g as shouldHandleTextCommands } from "./commands-registry-D3-bFLsz.js";
56
- import "./skill-commands-Be8s4TGQ.js";
54
+ import "./common-C4XrB73N.js";
55
+ import { E as resolveNativeSkillsEnabled, T as resolveNativeCommandsEnabled, g as shouldHandleTextCommands } from "./commands-registry-BWb4NcfW.js";
56
+ import "./skill-commands-Q80wCyry.js";
57
57
  import { t as finalizeInboundContext } from "./inbound-context-BFnIdcqI.js";
58
58
  import "./directory-live-DatqU-eS.js";
59
- import "./targets-BGfRUJPE.js";
59
+ import "./targets-znKHngSk.js";
60
60
  import "./sandbox-paths-lj7_EVuA.js";
61
- import { n as resolveAgentRoute } from "./resolve-route-UO6XLYH3.js";
61
+ import { n as resolveAgentRoute } from "./resolve-route-ekGNc6os.js";
62
62
  import "./render-Bwu_WxwA.js";
63
- import "./tables-Ch4js2qy.js";
63
+ import "./tables-0mhUOh5v.js";
64
64
  import "./shared-clhhbWN3.js";
65
- import { t as sendMessageSlack } from "./send-DGEgo_6f.js";
65
+ import { t as sendMessageSlack } from "./send-D264hFVb.js";
66
66
  import { r as resolveSlackWebClientOptions } from "./client-D2N7hqVu.js";
67
- 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-7_zTh8zC.js";
68
- import { n as buildUntrustedChannelMetadata, t as chunkItems } from "./chunk-items-CTp30xzl.js";
67
+ 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-DQUXohRr.js";
68
+ import { n as buildUntrustedChannelMetadata, t as chunkItems } from "./chunk-items-jOdkyP53.js";
69
69
  import { t as createDraftStreamLoop } from "./draft-stream-loop-CKyHn8IX.js";
70
70
  import { t as resolveSlackChannelAllowlist } from "./resolve-channels-zEnvugag.js";
71
71
  import { t as resolveSlackUserAllowlist } from "./resolve-users-BTvjQuui.js";
72
- import { i as resolveSlackThreadTs, n as deliverReplies, t as createSlackReplyDeliveryPlan } from "./replies-BX3L8fX7.js";
72
+ import { i as resolveSlackThreadTs, n as deliverReplies, t as createSlackReplyDeliveryPlan } from "./replies-wiI4veI7.js";
73
73
  import { probeSlack } from "./probe-Cyb-DGA3.js";
74
74
  import SlackBolt from "@slack/bolt";
75
75
 
@@ -2918,7 +2918,7 @@ function readSlackExternalArgMenuToken(raw) {
2918
2918
  }
2919
2919
  let commandsRegistry;
2920
2920
  async function getCommandsRegistry() {
2921
- if (!commandsRegistry) commandsRegistry = await import("./commands-registry-D3-bFLsz.js").then((n) => n.n);
2921
+ if (!commandsRegistry) commandsRegistry = await import("./commands-registry-BWb4NcfW.js").then((n) => n.n);
2922
2922
  return commandsRegistry;
2923
2923
  }
2924
2924
  function encodeSlackCommandArgValue(parts) {
@@ -3242,14 +3242,14 @@ async function registerSlackMonitorSlashCommands(params) {
3242
3242
  const channelName = channelInfo?.name;
3243
3243
  const roomLabel = channelName ? `#${channelName}` : `#${command.channel_id}`;
3244
3244
  const [{ resolveAgentRoute }, { finalizeInboundContext }, { dispatchReplyWithDispatcher }] = await Promise.all([
3245
- import("./resolve-route-UO6XLYH3.js").then((n) => n.r),
3245
+ import("./resolve-route-ekGNc6os.js").then((n) => n.r),
3246
3246
  import("./inbound-context-BFnIdcqI.js").then((n) => n.n),
3247
- import("./config-schema-DAyzv2C6.js").then((n) => n.lt)
3247
+ import("./config-schema-BaybPPrJ.js").then((n) => n.lt)
3248
3248
  ]);
3249
3249
  const [{ resolveConversationLabel }, { createReplyPrefixOptions }, { recordSessionMetaFromInbound, resolveStorePath }] = await Promise.all([
3250
3250
  import("./conversation-label-BoVqak2R.js").then((n) => n.t),
3251
3251
  import("./reply-prefix-Bqzm6DC1.js").then((n) => n.r),
3252
- import("./runtime-Dnzwux3G.js").then((n) => n.m)
3252
+ import("./runtime-ClSakPxR.js").then((n) => n.m)
3253
3253
  ]);
3254
3254
  const route = resolveAgentRoute({
3255
3255
  cfg,
@@ -3317,9 +3317,9 @@ async function registerSlackMonitorSlashCommands(params) {
3317
3317
  });
3318
3318
  const deliverSlashPayloads = async (replies) => {
3319
3319
  const [{ deliverSlackSlashReplies }, { resolveChunkMode }, { resolveMarkdownTableMode }] = await Promise.all([
3320
- import("./replies-BX3L8fX7.js").then((n) => n.r),
3321
- import("./chunk-BREC9ijl.js").then((n) => n.s),
3322
- import("./markdown-tables-DeZztrY6.js").then((n) => n.t)
3320
+ import("./replies-wiI4veI7.js").then((n) => n.r),
3321
+ import("./chunk-B2ffJ-LR.js").then((n) => n.s),
3322
+ import("./markdown-tables-BOG5sSQQ.js").then((n) => n.t)
3323
3323
  ]);
3324
3324
  await deliverSlackSlashReplies({
3325
3325
  replies,
@@ -3372,7 +3372,7 @@ async function registerSlackMonitorSlashCommands(params) {
3372
3372
  let nativeCommands = [];
3373
3373
  if (nativeEnabled) {
3374
3374
  reg = await getCommandsRegistry();
3375
- const skillCommands = nativeSkillsEnabled ? (await import("./skill-commands-Be8s4TGQ.js").then((n) => n.a)).listSkillCommandsForAgents({ cfg }) : [];
3375
+ const skillCommands = nativeSkillsEnabled ? (await import("./skill-commands-Q80wCyry.js").then((n) => n.a)).listSkillCommandsForAgents({ cfg }) : [];
3376
3376
  nativeCommands = reg.listNativeCommandSpecsForConfig(cfg, {
3377
3377
  skillCommands,
3378
3378
  provider: "slack"
@@ -1,15 +1,15 @@
1
- import { bt as parseSlackTarget, xt as resolveSlackChannelId } from "./runtime-Dnzwux3G.js";
1
+ import { bt as parseSlackTarget, xt as resolveSlackChannelId } from "./runtime-ClSakPxR.js";
2
2
  import "./subsystem-DBPNbQDQ.js";
3
3
  import "./globals-B_jjtAje.js";
4
4
  import "./paths-BEmvSyOV.js";
5
5
  import "./utils-CYk9EKoq.js";
6
- import "./config-442EDe7Z.js";
6
+ import "./config-rySyVtKs.js";
7
7
  import "./agent-scope-BbgPlhtw.js";
8
8
  import "./accounts-RHZyaB73.js";
9
9
  import { i as resolveSlackAccount } from "./accounts-CuqIKU8X.js";
10
10
  import "./logger-BbFvCoKk.js";
11
11
  import "./exec-DQ8j4Fm3.js";
12
- import "./accounts-BZrfqJmO.js";
12
+ import "./accounts-DW9OS5Ll.js";
13
13
  import "./redact-Bm8vu_ju.js";
14
14
  import "./github-copilot-token-CUK__1s1.js";
15
15
  import "./retry-DstNBhDW.js";
@@ -17,21 +17,21 @@ import "./paths-CTZ2RS_E.js";
17
17
  import "./ip-C70a-YlD.js";
18
18
  import "./ssrf-BZG8Ztod.js";
19
19
  import "./fetch-guard-BuYrl6q2.js";
20
- import "./chunk-BREC9ijl.js";
20
+ import "./chunk-B2ffJ-LR.js";
21
21
  import "./tokens-BvtlOzVP.js";
22
- import "./optional-runtime-dependency-D0BdXz1C.js";
23
- import "./image-ops-Doq8nZQw.js";
22
+ import "./optional-runtime-dependency-DEojVNfv.js";
23
+ import "./image-ops-CcBfoMLW.js";
24
24
  import "./path-alias-guards-Dg3gU-MA.js";
25
25
  import "./fs-safe-BG-VzVkL.js";
26
- import "./markdown-tables-DeZztrY6.js";
27
- import "./media-CgUAEfhs.js";
28
- import { a as jsonResult, c as readReactionParams, d as readStringParam, n as createActionGate, s as readNumberParam } from "./common-BlqMqEqn.js";
26
+ import "./markdown-tables-BOG5sSQQ.js";
27
+ import "./media-Bu-nJpPs.js";
28
+ import { a as jsonResult, c as readReactionParams, d as readStringParam, n as createActionGate, s as readNumberParam } from "./common-C4XrB73N.js";
29
29
  import { i as withNormalizedTimestamp } from "./date-time-CE3Uer3C.js";
30
30
  import "./render-Bwu_WxwA.js";
31
31
  import { t as parseSlackBlocksInput } from "./blocks-input-Dcitfh7h.js";
32
- import "./send-DGEgo_6f.js";
32
+ import "./send-D264hFVb.js";
33
33
  import "./client-D2N7hqVu.js";
34
- 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-7_zTh8zC.js";
34
+ 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-DQUXohRr.js";
35
35
 
36
36
  //#region src/agents/tools/slack-actions.ts
37
37
  const messagingActions = new Set([
@@ -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, Y as ChannelMessageActionContext, ct as ChannelThreadingToolContext, lt as ChannelToolSend, n as ChannelPlugin, qt as SlackAccountConfig, r as ChannelOnboardingAdapter, st as ChannelThreadingContext, u as ChannelMessageActionName, ut as getChatChannelMeta } from "./types.plugin-CvUiB3Kh.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-CMoLtViq.js";
4
- import { D as normalizeE164 } from "./types-BTkcYtOt.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-DfIyssV_.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-DV5TNhMK.js";
4
+ import { D as normalizeE164 } from "./types-BI2njxWJ.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-CvJ6Qa1Q.js";
6
6
  import { _ as buildTokenChannelStatusSummary, l as resolveSlackGroupRequireMention, u as resolveSlackGroupToolPolicy } from "./group-mentions-DLOOve8d.js";
7
7
  import { o as SlackConfigSchema } from "./zod-schema.providers-core-CIzCjXH9.js";
8
8
  import { AgentToolResult } from "@mariozechner/pi-agent-core";
@@ -1,27 +1,27 @@
1
- import { Jt as resolveSlackGroupRequireMention, Nn as getChatChannelMeta, Yt as resolveSlackGroupToolPolicy, _t as listWhatsAppDirectoryPeersFromConfig, cn as buildSlackThreadingToolContext, dt as listDiscordDirectoryPeersFromConfig, ft as listSlackDirectoryGroupsFromConfig, gt as listWhatsAppDirectoryGroupsFromConfig, ht as listTelegramDirectoryPeersFromConfig, mt as listTelegramDirectoryGroupsFromConfig, pt as listSlackDirectoryPeersFromConfig, ut as listDiscordDirectoryGroupsFromConfig, vt as looksLikeSlackTargetId, yt as normalizeSlackMessagingTarget } from "./runtime-Dnzwux3G.js";
1
+ import { Jt as resolveSlackGroupRequireMention, Nn as getChatChannelMeta, Yt as resolveSlackGroupToolPolicy, _t as listWhatsAppDirectoryPeersFromConfig, cn as buildSlackThreadingToolContext, dt as listDiscordDirectoryPeersFromConfig, ft as listSlackDirectoryGroupsFromConfig, gt as listWhatsAppDirectoryGroupsFromConfig, ht as listTelegramDirectoryPeersFromConfig, mt as listTelegramDirectoryGroupsFromConfig, pt as listSlackDirectoryPeersFromConfig, ut as listDiscordDirectoryGroupsFromConfig, vt as looksLikeSlackTargetId, yt as normalizeSlackMessagingTarget } from "./runtime-ClSakPxR.js";
2
2
  import "./subsystem-DBPNbQDQ.js";
3
3
  import "./globals-B_jjtAje.js";
4
4
  import "./paths-BEmvSyOV.js";
5
5
  import { d as normalizeE164 } from "./utils-CYk9EKoq.js";
6
- import { h as SlackConfigSchema } from "./config-442EDe7Z.js";
6
+ import { h as SlackConfigSchema } from "./config-rySyVtKs.js";
7
7
  import "./agent-scope-BbgPlhtw.js";
8
8
  import { f as DEFAULT_ACCOUNT_ID, p as normalizeAccountId } from "./session-key-HSJ2KQTc.js";
9
9
  import "./accounts-RHZyaB73.js";
10
10
  import { a as resolveSlackReplyToMode, i as resolveSlackAccount, n as listSlackAccountIds, r as resolveDefaultSlackAccountId, t as listEnabledSlackAccounts } from "./accounts-CuqIKU8X.js";
11
11
  import "./logger-BbFvCoKk.js";
12
12
  import "./exec-DQ8j4Fm3.js";
13
- import "./accounts-BZrfqJmO.js";
13
+ import "./accounts-DW9OS5Ll.js";
14
14
  import "./redact-Bm8vu_ju.js";
15
15
  import "./github-copilot-token-CUK__1s1.js";
16
16
  import "./retry-DstNBhDW.js";
17
17
  import "./paths-CTZ2RS_E.js";
18
- import { a as deleteAccountFromConfigSection, c as formatPairingApproveHint, n as applyAccountNameToChannelSection, o as setAccountEnabledInConfigSection, r as migrateBaseNameToDefaultAccount, s as buildChannelConfigSchema, t as PAIRING_APPROVED_MESSAGE, u as emptyPluginConfigSchema } from "./pairing-message-C29ixrvn.js";
19
- import { A as resolveDefaultGroupPolicy, D as formatDocsLink, _ as setAccountGroupPolicyForChannel, a as noteChannelLookupFailure, b as setOnboardingChannelEnabled, d as promptLegacyChannelAllowFrom, g as resolveOnboardingAccountId, h as resolveAccountIdForConfigure, j as resolveOpenProviderRuntimeGroupPolicy, k as resolveAllowlistProviderRuntimeGroupPolicy, l as patchChannelConfigForAccount, o as noteChannelLookupSummary, s as parseMentionOrPrefixedId, w as buildTokenChannelStatusSummary, y as setLegacyChannelDmPolicyWithAllowFrom } from "./helpers-B994qqVW.js";
20
- import "./optional-runtime-dependency-D0BdXz1C.js";
21
- import "./image-ops-Doq8nZQw.js";
22
- import { d as readStringParam, n as createActionGate, s as readNumberParam } from "./common-BlqMqEqn.js";
18
+ import { a as deleteAccountFromConfigSection, c as formatPairingApproveHint, n as applyAccountNameToChannelSection, o as setAccountEnabledInConfigSection, r as migrateBaseNameToDefaultAccount, s as buildChannelConfigSchema, t as PAIRING_APPROVED_MESSAGE, u as emptyPluginConfigSchema } from "./pairing-message-CqYG12t-.js";
19
+ import { A as resolveDefaultGroupPolicy, D as formatDocsLink, _ as setAccountGroupPolicyForChannel, a as noteChannelLookupFailure, b as setOnboardingChannelEnabled, d as promptLegacyChannelAllowFrom, g as resolveOnboardingAccountId, h as resolveAccountIdForConfigure, j as resolveOpenProviderRuntimeGroupPolicy, k as resolveAllowlistProviderRuntimeGroupPolicy, l as patchChannelConfigForAccount, o as noteChannelLookupSummary, s as parseMentionOrPrefixedId, w as buildTokenChannelStatusSummary, y as setLegacyChannelDmPolicyWithAllowFrom } from "./helpers-DgRMfCnT.js";
20
+ import "./optional-runtime-dependency-DEojVNfv.js";
21
+ import "./image-ops-CcBfoMLW.js";
22
+ import { d as readStringParam, n as createActionGate, s as readNumberParam } from "./common-C4XrB73N.js";
23
23
  import "./channel-core-BOkyXXLa.js";
24
- import { t as configureChannelAccessWithAllowlist } from "./channel-access-configure-B-Z51Qsd.js";
24
+ import { t as configureChannelAccessWithAllowlist } from "./channel-access-configure-B7Kkvx9K.js";
25
25
  import { t as parseSlackBlocksInput } from "./blocks-input-Dcitfh7h.js";
26
26
 
27
27
  //#region src/slack/message-actions.ts
@@ -1,7 +1,7 @@
1
- import { M as findModelInCatalog, N as loadModelCatalog, P as modelSupportsVision, qt as resolveAutoImageModel } from "./config-schema-DAyzv2C6.js";
1
+ import { M as findModelInCatalog, N as loadModelCatalog, P as modelSupportsVision, qt as resolveAutoImageModel } from "./config-schema-BaybPPrJ.js";
2
2
  import { i as logVerbose } from "./globals-B_jjtAje.js";
3
3
  import { t as STATE_DIR } from "./paths-BEmvSyOV.js";
4
- import { Yt as resolveDefaultModelForAgent, cn as resolveApiKeyForProvider } from "./config-442EDe7Z.js";
4
+ import { Yt as resolveDefaultModelForAgent, cn as resolveApiKeyForProvider } from "./config-rySyVtKs.js";
5
5
  import { a as saveJsonFile, i as loadJsonFile } from "./github-copilot-token-CUK__1s1.js";
6
6
  import path from "node:path";
7
7
  import fs from "node:fs/promises";
@@ -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-DAyzv2C6.js").then((n) => n.on);
150
+ const { describeImageWithModel } = await import("./config-schema-BaybPPrJ.js").then((n) => n.on);
151
151
  return (await describeImageWithModel({
152
152
  buffer,
153
153
  fileName: "sticker.webp",
@@ -1,4 +1,4 @@
1
- import { l as markdownToIRWithMeta } from "./media-CgUAEfhs.js";
1
+ import { l as markdownToIRWithMeta } from "./media-Bu-nJpPs.js";
2
2
  import { t as renderMarkdownWithMarkers } from "./render-Bwu_WxwA.js";
3
3
 
4
4
  //#region src/markdown/tables.ts
@@ -1,4 +1,4 @@
1
- import { Ct as ensureTargetId, Et as requireTargetKind, St as buildMessagingTarget, Tt as parseTargetPrefixes, wt as parseTargetMention } from "./runtime-Dnzwux3G.js";
1
+ import { Ct as ensureTargetId, Et as requireTargetKind, St as buildMessagingTarget, Tt as parseTargetPrefixes, wt as parseTargetMention } from "./runtime-ClSakPxR.js";
2
2
  import { n as listDiscordDirectoryPeersLive } from "./directory-live-DatqU-eS.js";
3
3
 
4
4
  //#region src/discord/targets.ts
@@ -1,16 +1,16 @@
1
- import { nr as resolveTelegramInlineButtonsScope, tr as resolveTelegramReactionLevel } from "./config-schema-DAyzv2C6.js";
2
- import { an as resolveTelegramToken, en as createTelegramActionGate } from "./runtime-Dnzwux3G.js";
1
+ import { nr as resolveTelegramInlineButtonsScope, tr as resolveTelegramReactionLevel } from "./config-schema-BaybPPrJ.js";
2
+ import { an as resolveTelegramToken, en as createTelegramActionGate } from "./runtime-ClSakPxR.js";
3
3
  import "./subsystem-DBPNbQDQ.js";
4
4
  import "./globals-B_jjtAje.js";
5
5
  import "./paths-BEmvSyOV.js";
6
6
  import "./utils-CYk9EKoq.js";
7
- import "./config-442EDe7Z.js";
7
+ import "./config-rySyVtKs.js";
8
8
  import "./agent-scope-BbgPlhtw.js";
9
9
  import "./accounts-RHZyaB73.js";
10
10
  import "./accounts-CuqIKU8X.js";
11
11
  import "./logger-BbFvCoKk.js";
12
12
  import "./exec-DQ8j4Fm3.js";
13
- import "./accounts-BZrfqJmO.js";
13
+ import "./accounts-DW9OS5Ll.js";
14
14
  import "./allow-list-BYeKk0Sy.js";
15
15
  import "./redact-Bm8vu_ju.js";
16
16
  import "./github-copilot-token-CUK__1s1.js";
@@ -19,11 +19,11 @@ import "./paths-CTZ2RS_E.js";
19
19
  import "./ip-C70a-YlD.js";
20
20
  import "./ssrf-BZG8Ztod.js";
21
21
  import "./fetch-guard-BuYrl6q2.js";
22
- import "./send-D5rgCP1r.js";
23
- import "./helpers-B994qqVW.js";
24
- import "./wsl-C_STtED7.js";
25
- import "./pairing-store-1kcsOWRs.js";
26
- import "./chunk-BREC9ijl.js";
22
+ import "./send-D58yEeH4.js";
23
+ import "./helpers-DgRMfCnT.js";
24
+ import "./wsl-D5jDUlms.js";
25
+ import "./pairing-store-D-21Sphe.js";
26
+ import "./chunk-B2ffJ-LR.js";
27
27
  import "./tailscale-status-ClsquRGs.js";
28
28
  import "./reply-prefix-Bqzm6DC1.js";
29
29
  import "./tokens-BvtlOzVP.js";
@@ -32,37 +32,37 @@ import "./pairing-token-N_6Jbt1L.js";
32
32
  import "./diagnostic-Dfn1iERm.js";
33
33
  import "./diagnostic-session-state-HO94DMou.js";
34
34
  import { i as resolveTelegramTargetChatType } from "./targets-BDvvnlph.js";
35
- import "./optional-runtime-dependency-D0BdXz1C.js";
36
- import "./image-ops-Doq8nZQw.js";
37
- import "./wallet-status-M6aK3abH.js";
38
- import "./pi-model-discovery-l-xqaEd0.js";
39
- import "./runtime-dependency-BDDpVKBO.js";
35
+ import "./optional-runtime-dependency-DEojVNfv.js";
36
+ import "./image-ops-CcBfoMLW.js";
37
+ import "./wallet-status-CyovJojz.js";
38
+ import "./pi-model-discovery-B6gD1clF.js";
39
+ import "./runtime-dependency-yAWxH4El.js";
40
40
  import "./ws-CocpWGhl.js";
41
41
  import "./path-alias-guards-Dg3gU-MA.js";
42
42
  import "./fs-safe-BG-VzVkL.js";
43
- import "./markdown-tables-DeZztrY6.js";
44
- import "./media-CgUAEfhs.js";
45
- import "./send-B4XLsTL0.js";
46
- import "./outbound-attachment-oxhGO33g.js";
43
+ import "./markdown-tables-BOG5sSQQ.js";
44
+ import "./media-Bu-nJpPs.js";
45
+ import "./send-DrAtUGLM.js";
46
+ import "./outbound-attachment-ivAHpWnn.js";
47
47
  import "./fetch-Cu-ahkie.js";
48
- import "./thread-bindings.state-DUg0s_1X.js";
48
+ import "./thread-bindings.state-Ha01nmrq.js";
49
49
  import "./memory-search-C3C0bD2H.js";
50
- import "./manager-CeJNf2bH.js";
50
+ import "./manager-Cqz30lA3.js";
51
51
  import "./query-expansion-Zr9qQixm.js";
52
- import { a as jsonResult, c as readReactionParams, d as readStringParam, s as readNumberParam, u as readStringOrNumberParam } from "./common-BlqMqEqn.js";
53
- import "./commands-registry-D3-bFLsz.js";
54
- import "./skill-commands-Be8s4TGQ.js";
52
+ import { a as jsonResult, c as readReactionParams, d as readStringParam, s as readNumberParam, u as readStringOrNumberParam } from "./common-C4XrB73N.js";
53
+ import "./commands-registry-BWb4NcfW.js";
54
+ import "./skill-commands-Q80wCyry.js";
55
55
  import "./directory-live-DatqU-eS.js";
56
- import "./targets-BGfRUJPE.js";
56
+ import "./targets-znKHngSk.js";
57
57
  import "./sandbox-paths-lj7_EVuA.js";
58
- import "./resolve-route-UO6XLYH3.js";
58
+ import "./resolve-route-ekGNc6os.js";
59
59
  import "./render-Bwu_WxwA.js";
60
- import "./tables-Ch4js2qy.js";
60
+ import "./tables-0mhUOh5v.js";
61
61
  import "./shared-clhhbWN3.js";
62
- import "./retry-policy-C5N8JiHL.js";
63
- import { a as reactMessageTelegram, i as editMessageTelegram, n as createForumTopicTelegram, o as sendMessageTelegram, r as deleteMessageTelegram, s as sendStickerTelegram } from "./send-DcsYRH2f.js";
62
+ import "./retry-policy-BvlC2SPh.js";
63
+ import { a as reactMessageTelegram, i as editMessageTelegram, n as createForumTopicTelegram, o as sendMessageTelegram, r as deleteMessageTelegram, s as sendStickerTelegram } from "./send-C7x6gzSl.js";
64
64
  import "./proxy-7xs_rsnV.js";
65
- import { a as searchStickers, r as getCacheStats } from "./sticker-cache-CPNu_LEe.js";
65
+ import { a as searchStickers, r as getCacheStats } from "./sticker-cache-DCrDTYIi.js";
66
66
 
67
67
  //#region src/agents/tools/telegram-actions.ts
68
68
  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, Gt as TelegramAccountConfig, J as ChannelMessageActionAdapter, it as ChannelStatusIssue, n as ChannelPlugin, r as ChannelOnboardingAdapter, u as ChannelMessageActionName, ut as getChatChannelMeta } from "./types.plugin-CvUiB3Kh.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-CMoLtViq.js";
4
- import { D as normalizeE164 } from "./types-BTkcYtOt.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-DfIyssV_.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-DV5TNhMK.js";
4
+ import { D as normalizeE164 } from "./types-BI2njxWJ.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-CvJ6Qa1Q.js";
6
6
  import { _ as buildTokenChannelStatusSummary, d as resolveTelegramGroupRequireMention, f as resolveTelegramGroupToolPolicy } from "./group-mentions-DLOOve8d.js";
7
7
  import { s as TelegramConfigSchema } from "./zod-schema.providers-core-CIzCjXH9.js";
8
8
 
@@ -1,26 +1,26 @@
1
- import { Nn as getChatChannelMeta, Xt as resolveTelegramGroupRequireMention, Zt as resolveTelegramGroupToolPolicy, _t as listWhatsAppDirectoryPeersFromConfig, dt as listDiscordDirectoryPeersFromConfig, ft as listSlackDirectoryGroupsFromConfig, gt as listWhatsAppDirectoryGroupsFromConfig, ht as listTelegramDirectoryPeersFromConfig, in as resolveTelegramAccount, mt as listTelegramDirectoryGroupsFromConfig, nn as listTelegramAccountIds, pt as listSlackDirectoryPeersFromConfig, rn as resolveDefaultTelegramAccountId, ut as listDiscordDirectoryGroupsFromConfig } from "./runtime-Dnzwux3G.js";
1
+ import { Nn as getChatChannelMeta, Xt as resolveTelegramGroupRequireMention, Zt as resolveTelegramGroupToolPolicy, _t as listWhatsAppDirectoryPeersFromConfig, dt as listDiscordDirectoryPeersFromConfig, ft as listSlackDirectoryGroupsFromConfig, gt as listWhatsAppDirectoryGroupsFromConfig, ht as listTelegramDirectoryPeersFromConfig, in as resolveTelegramAccount, mt as listTelegramDirectoryGroupsFromConfig, nn as listTelegramAccountIds, pt as listSlackDirectoryPeersFromConfig, rn as resolveDefaultTelegramAccountId, ut as listDiscordDirectoryGroupsFromConfig } from "./runtime-ClSakPxR.js";
2
2
  import "./subsystem-DBPNbQDQ.js";
3
3
  import "./globals-B_jjtAje.js";
4
4
  import "./paths-BEmvSyOV.js";
5
5
  import { c as isRecord, d as normalizeE164 } from "./utils-CYk9EKoq.js";
6
- import { Tr as formatCliCommand, g as TelegramConfigSchema } from "./config-442EDe7Z.js";
6
+ import { Or as formatCliCommand, g as TelegramConfigSchema } from "./config-rySyVtKs.js";
7
7
  import "./agent-scope-BbgPlhtw.js";
8
8
  import { f as DEFAULT_ACCOUNT_ID, p as normalizeAccountId } from "./session-key-HSJ2KQTc.js";
9
9
  import "./accounts-RHZyaB73.js";
10
10
  import "./accounts-CuqIKU8X.js";
11
11
  import "./logger-BbFvCoKk.js";
12
12
  import "./exec-DQ8j4Fm3.js";
13
- import "./accounts-BZrfqJmO.js";
13
+ import "./accounts-DW9OS5Ll.js";
14
14
  import "./redact-Bm8vu_ju.js";
15
15
  import "./github-copilot-token-CUK__1s1.js";
16
16
  import "./retry-DstNBhDW.js";
17
17
  import "./paths-CTZ2RS_E.js";
18
- import { a as deleteAccountFromConfigSection, c as formatPairingApproveHint, n as applyAccountNameToChannelSection, o as setAccountEnabledInConfigSection, r as migrateBaseNameToDefaultAccount, s as buildChannelConfigSchema, t as PAIRING_APPROVED_MESSAGE, u as emptyPluginConfigSchema } from "./pairing-message-C29ixrvn.js";
19
- import { A as resolveDefaultGroupPolicy, D as formatDocsLink, b as setOnboardingChannelEnabled, g as resolveOnboardingAccountId, h as resolveAccountIdForConfigure, j as resolveOpenProviderRuntimeGroupPolicy, k as resolveAllowlistProviderRuntimeGroupPolicy, l as patchChannelConfigForAccount, m as promptSingleChannelToken, n as applySingleTokenPromptResult, p as promptResolvedAllowFrom, v as setChannelDmPolicyWithAllowFrom, w as buildTokenChannelStatusSummary, x as splitOnboardingEntries } from "./helpers-B994qqVW.js";
18
+ import { a as deleteAccountFromConfigSection, c as formatPairingApproveHint, n as applyAccountNameToChannelSection, o as setAccountEnabledInConfigSection, r as migrateBaseNameToDefaultAccount, s as buildChannelConfigSchema, t as PAIRING_APPROVED_MESSAGE, u as emptyPluginConfigSchema } from "./pairing-message-CqYG12t-.js";
19
+ import { A as resolveDefaultGroupPolicy, D as formatDocsLink, b as setOnboardingChannelEnabled, g as resolveOnboardingAccountId, h as resolveAccountIdForConfigure, j as resolveOpenProviderRuntimeGroupPolicy, k as resolveAllowlistProviderRuntimeGroupPolicy, l as patchChannelConfigForAccount, m as promptSingleChannelToken, n as applySingleTokenPromptResult, p as promptResolvedAllowFrom, v as setChannelDmPolicyWithAllowFrom, w as buildTokenChannelStatusSummary, x as splitOnboardingEntries } from "./helpers-DgRMfCnT.js";
20
20
  import { n as normalizeTelegramLookupTarget, r as parseTelegramTarget } from "./targets-BDvvnlph.js";
21
- import "./optional-runtime-dependency-D0BdXz1C.js";
22
- import "./image-ops-Doq8nZQw.js";
23
- import { d as readStringParam, n as createActionGate } from "./common-BlqMqEqn.js";
21
+ import "./optional-runtime-dependency-DEojVNfv.js";
22
+ import "./image-ops-CcBfoMLW.js";
23
+ import { d as readStringParam, n as createActionGate } from "./common-C4XrB73N.js";
24
24
  import { i as resolveEnabledConfiguredAccountId, n as asString, t as appendMatchMetadata } from "./shared-clhhbWN3.js";
25
25
  import "./channel-core-BOkyXXLa.js";
26
26
 
@@ -1,9 +1,9 @@
1
1
  import { t as __exportAll } from "./rolldown-runtime-Cbj13DAv.js";
2
2
  import { i as logVerbose } from "./globals-B_jjtAje.js";
3
3
  import { l as resolveAgentIdFromSessionKey, p as normalizeAccountId } from "./session-key-HSJ2KQTc.js";
4
- import { A as DEFAULT_THREAD_BINDING_MAX_AGE_MS, C as resolveThreadBindingMaxAgeMs, D as shouldPersistBindingMutations, E as shouldDefaultPersist, F as resolveThreadBindingIntroText, H as unregisterSessionBindingAdapter, I as resolveThreadBindingThreadName, L as SYSTEM_MARK, M as THREAD_BINDINGS_SWEEP_INTERVAL_MS, O as toReusableWebhookKey, P as resolveThreadBindingFarewellText, S as resolveThreadBindingMaxAgeExpiresAt, T as setBindingRecord, V as registerSessionBindingAdapter, W as readAcpSessionEntry, _ as removeBindingRecord, a as THREAD_BINDING_TOUCH_PERSIST_MIN_INTERVAL_MS, b as resolveThreadBindingIdleTimeoutMs, d as normalizeTargetKind, f as normalizeThreadBindingDurationMs, g as rememberThreadBindingToken, h as rememberReusableWebhook, i as REUSABLE_WEBHOOKS_BY_ACCOUNT_CHANNEL, j as DISCORD_UNKNOWN_CHANNEL_ERROR_CODE, k as DEFAULT_THREAD_BINDING_IDLE_TIMEOUT_MS, l as getThreadBindingToken, m as rememberRecentUnboundWebhookEcho, n as MANAGERS_BY_ACCOUNT_ID, o as ensureBindingsLoaded, p as normalizeThreadId, r as PERSIST_BY_ACCOUNT_ID, s as forgetThreadBindingToken, t as BINDINGS_BY_THREAD_ID, v as resolveBindingIdsForSession, w as saveBindingsToDisk, x as resolveThreadBindingInactivityExpiresAt, y as resolveBindingRecordKey } from "./thread-bindings.state-DUg0s_1X.js";
5
- import { t as parseDiscordTarget } from "./targets-BGfRUJPE.js";
6
- import { b as sendWebhookMessageDiscord, g as sendMessageDiscord, nt as createDiscordRestClient, x as createThreadDiscord } from "./send-bcKv8F5E.js";
4
+ import { A as DEFAULT_THREAD_BINDING_MAX_AGE_MS, C as resolveThreadBindingMaxAgeMs, D as shouldPersistBindingMutations, E as shouldDefaultPersist, F as resolveThreadBindingIntroText, H as unregisterSessionBindingAdapter, I as resolveThreadBindingThreadName, L as SYSTEM_MARK, M as THREAD_BINDINGS_SWEEP_INTERVAL_MS, O as toReusableWebhookKey, P as resolveThreadBindingFarewellText, S as resolveThreadBindingMaxAgeExpiresAt, T as setBindingRecord, V as registerSessionBindingAdapter, W as readAcpSessionEntry, _ as removeBindingRecord, a as THREAD_BINDING_TOUCH_PERSIST_MIN_INTERVAL_MS, b as resolveThreadBindingIdleTimeoutMs, d as normalizeTargetKind, f as normalizeThreadBindingDurationMs, g as rememberThreadBindingToken, h as rememberReusableWebhook, i as REUSABLE_WEBHOOKS_BY_ACCOUNT_CHANNEL, j as DISCORD_UNKNOWN_CHANNEL_ERROR_CODE, k as DEFAULT_THREAD_BINDING_IDLE_TIMEOUT_MS, l as getThreadBindingToken, m as rememberRecentUnboundWebhookEcho, n as MANAGERS_BY_ACCOUNT_ID, o as ensureBindingsLoaded, p as normalizeThreadId, r as PERSIST_BY_ACCOUNT_ID, s as forgetThreadBindingToken, t as BINDINGS_BY_THREAD_ID, v as resolveBindingIdsForSession, w as saveBindingsToDisk, x as resolveThreadBindingInactivityExpiresAt, y as resolveBindingRecordKey } from "./thread-bindings.state-Ha01nmrq.js";
5
+ import { t as parseDiscordTarget } from "./targets-znKHngSk.js";
6
+ import { b as sendWebhookMessageDiscord, g as sendMessageDiscord, nt as createDiscordRestClient, x as createThreadDiscord } from "./send-CgyS75Av.js";
7
7
  import { ChannelType, Routes } from "discord-api-types/v10";
8
8
 
9
9
  //#region src/discord/monitor/thread-bindings.persona.ts
@@ -1,6 +1,6 @@
1
- import { $ as mergeSessionEntry, T as updateSessionStore, x as loadSessionStore } from "./runtime-Dnzwux3G.js";
1
+ import { $ as mergeSessionEntry, T as updateSessionStore, x as loadSessionStore } from "./runtime-ClSakPxR.js";
2
2
  import { s as resolveStateDir } from "./paths-BEmvSyOV.js";
3
- import { n as loadConfig } from "./config-442EDe7Z.js";
3
+ import { n as loadConfig } from "./config-rySyVtKs.js";
4
4
  import { S as parseAgentSessionKey, l as resolveAgentIdFromSessionKey, p as normalizeAccountId } from "./session-key-HSJ2KQTc.js";
5
5
  import { a as saveJsonFile, i as loadJsonFile } from "./github-copilot-token-CUK__1s1.js";
6
6
  import { l as resolveStorePath } from "./paths-CTZ2RS_E.js";
@@ -1,5 +1,5 @@
1
1
  import { At as FasedAgentConfig, l as AgentDefaultsConfig } from "./types.plugin-CvUiB3Kh.js";
2
- import { M as LookupFn, P as SsrFPolicy } from "./types-BTkcYtOt.js";
2
+ import { M as LookupFn, P as SsrFPolicy } from "./types-BI2njxWJ.js";
3
3
 
4
4
  //#region src/agents/agent-scope.d.ts
5
5
  type AgentEntry = NonNullable<NonNullable<FasedAgentConfig["agents"]>["list"]>[number];
@@ -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" | "cli" | "webchat-ui" | "fased-control-ui" | "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" | "backend" | "node" | "probe" | "test">[]>;
178
178
  instanceId: _sinclair_typebox0.TOptional<_sinclair_typebox0.TString>;
179
179
  }>;
180
180
  caps: _sinclair_typebox0.TOptional<_sinclair_typebox0.TArray<_sinclair_typebox0.TString>>;
@@ -543,6 +543,7 @@ type CronTaskMemoryScope = "none" | "session-summary" | "pinned" | "search" | "a
543
543
  type CronTaskSkillScope = "none" | "selected" | "agent-default";
544
544
  type CronTaskModelPolicy = {
545
545
  mode?: "agent-default" | "task-override" | "auto" | "none";
546
+ role?: "cheapCheck" | "strong" | "escalation" | "coding" | "summarizer";
546
547
  model?: string;
547
548
  thinking?: string;
548
549
  escalationModel?: string;
@@ -1,6 +1,6 @@
1
1
  import { t as ChatType } from "./chat-type-CK5stkc4.js";
2
2
  import { An as GetReplyOptions, At as FasedAgentConfig, B as ChannelCapabilities, Ct as RuntimeEnv, Dn as MarkdownTableMode, E as ChannelPairingAdapter, F as ChannelAccountSnapshot, G as ChannelId, J as ChannelMessageActionAdapter, Jt as SlackSlashCommandConfig, Kt as TelegramGroupConfig, L as ChannelAgentPromptAdapter, N as BaseProbeResult, Nt as ModelProviderConfig, On as ReplyToMode, Ot as sendMessageDiscord, P as BaseTokenResolution, R as ChannelAgentTool, St as sendMessageIMessage, Tn as HumanDelayConfig, V as ChannelDirectoryEntry, _t as sendPollWhatsApp, bn as GroupToolPolicyConfig, bt as sendMessageSlack, c as writeConfigFile, dn as chunkMarkdownTextWithMode, f as ChannelCommandAdapter, fn as chunkText, ft as FinalizedMsgContext, gt as sendMessageWhatsApp, h as ChannelElevatedAdapter, hn as resolveTextChunkLimit, ht as ShouldHandleTextCommandsParams, jn as ReplyPayload, kt as sendPollDiscord, ln as chunkByNewline, mn as resolveChunkMode, mt as CommandNormalizeOptions, n as ChannelPlugin, o as WizardPrompter, ot as ChannelThreadingAdapter, p as ChannelConfigAdapter, pn as chunkTextWithMode, pt as MsgContext, q as ChannelMentionAdapter, s as loadConfig, sn as TtsAutoMode, un as chunkMarkdownText, v as ChannelGroupAdapter, vn as PollInput, vt as sendMessageTelegram, wn as GroupPolicy, xt as sendMessageSignal, yn as GroupToolPolicyBySenderConfig, yt as sendPollTelegram } from "./types.plugin-CvUiB3Kh.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-BTkcYtOt.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-BI2njxWJ.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";