fengming 0.3.0 → 0.3.2

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 (628) hide show
  1. package/CHANGELOG.md +3 -3
  2. package/dist/{abort-CpkDwXYm.js → abort-CR0u3VsG.js} +1 -1
  3. package/dist/{abort.runtime-CmSJIa_C.js → abort.runtime-CXUxanGg.js} +1 -1
  4. package/dist/abort.runtime.js +1 -1
  5. package/dist/{acp-spawn-D9DmlQgL.js → acp-spawn-2elSoS0E.js} +1 -1
  6. package/dist/{acp-spawn-CQc8a8ii.js → acp-spawn-DtKOHNO1.js} +1 -1
  7. package/dist/{acp-stateful-target-driver-CsEYOYtL.js → acp-stateful-target-driver-BqeA5j0h.js} +1 -1
  8. package/dist/{active-tool-schema-warnings-DMVx2HUr.js → active-tool-schema-warnings-C8vGj5FX.js} +1 -1
  9. package/dist/{active-tool-schema-warnings-DOuh7mx8.js → active-tool-schema-warnings-CVeFJuWI.js} +1 -1
  10. package/dist/{agent-CRt75Zj-.js → agent-BgEaDMdp.js} +8 -8
  11. package/dist/agent-_V5GbziF.js +2 -0
  12. package/dist/{agent-command-Dx2Q8CiH.js → agent-command-CMJdGr16.js} +4 -4
  13. package/dist/{agent-harness-runtime-CHiGWWJI.js → agent-harness-runtime-BKSW2E1O.js} +4 -4
  14. package/dist/{agent-harness-runtime-CJcPjBmT.d.ts → agent-harness-runtime-COzAFcQB.d.ts} +1 -1
  15. package/dist/{agent-runner-utils-CnFJSoYH.js → agent-runner-utils-DXNDhwkI.js} +1 -1
  16. package/dist/{agent-runner.runtime-Dh7WTlPu.js → agent-runner.runtime-Cym4Odfd.js} +7 -7
  17. package/dist/agent-runner.runtime.js +1 -1
  18. package/dist/{agent-runtime-nmjdhJEE.d.ts → agent-runtime-1czICFwC.d.ts} +2 -2
  19. package/dist/{agent-runtime-Bj1VrRks.js → agent-runtime-BkbhevY3.js} +1 -1
  20. package/dist/{agent-tools-DTyXHQit.js → agent-tools-Nwh8BlKX.js} +1 -1
  21. package/dist/{agent-BLMDUAti.js → agent-u5NDWrw9.js} +2 -2
  22. package/dist/{agent-via-gateway-7tWxcxPN.js → agent-via-gateway-DMtOMwZa.js} +1 -1
  23. package/dist/{agent-wait-dedupe-BiG-iK1m.js → agent-wait-dedupe-CLuKbI_7.js} +1 -1
  24. package/dist/agents/embedded-agent-runner/run/runtime-context-prompt.d.ts +1 -1
  25. package/dist/agents/embedded-agent-runner/tool-split.d.ts +1 -1
  26. package/dist/api-BiXhdPle.js +3 -0
  27. package/dist/{api-DIXXIWn3.js → api-Cptkjys5.js} +1 -1
  28. package/dist/api-D3vT4ZVi.js +2 -0
  29. package/dist/{assistant-DDxsJwnW.js → assistant-ClfI8Kho.js} +2 -2
  30. package/dist/{attachment-normalize-oQxv6lmZ.js → attachment-normalize-DAW86mZY.js} +1 -1
  31. package/dist/{attempt-execution-CQ17ibMg.js → attempt-execution-DTi2UfET.js} +4 -4
  32. package/dist/{attempt-execution.runtime-z2dO3RBD.js → attempt-execution.runtime-BCmAxwGy.js} +1 -1
  33. package/dist/attempt-execution.runtime.js +1 -1
  34. package/dist/{attempt.prompt-helpers-BPxuP45g.js → attempt.prompt-helpers-BE6kGRtT.js} +2 -2
  35. package/dist/auto-reply/reply/commands-crestodian.d.ts +1 -1
  36. package/dist/{binding-routing-apjjPgC8.js → binding-routing-BbtHmU_l.js} +1 -1
  37. package/dist/{binding-targets-jBk2HXak.js → binding-targets-DSNv3-QA.js} +1 -1
  38. package/dist/{bridge-server-NeTmIWVS.js → bridge-server-v1-XPnAZ.js} +1 -1
  39. package/dist/{browser-cli-CF-8pAPW.js → browser-cli-CnpuO4KR.js} +7 -7
  40. package/dist/browser-cli-DPbIn8SK.js +2 -0
  41. package/dist/{browser-cli-actions-input-U1wOGrbZ.js → browser-cli-actions-input-DoGR6LI-.js} +5 -5
  42. package/dist/{browser-cli-actions-observe-DiFW1hQc.js → browser-cli-actions-observe-CYMpgmtF.js} +3 -3
  43. package/dist/{browser-cli-debug-DArWNyQm.js → browser-cli-debug-ChJjSq-h.js} +3 -3
  44. package/dist/{browser-cli-inspect-g-FNJO8j.js → browser-cli-inspect-Bbci-WPG.js} +2 -2
  45. package/dist/{browser-cli-manage-DFE6Gr33.js → browser-cli-manage-Bnscjb7b.js} +3 -3
  46. package/dist/{browser-cli-resize-L1e99SAn.js → browser-cli-resize-D1MJdvZI.js} +2 -2
  47. package/dist/{browser-cli-shared-DgJdqUPe.js → browser-cli-shared-BCQwqz51.js} +1 -1
  48. package/dist/{browser-cli-state-DjxHrclc.js → browser-cli-state-BWkPsvUg.js} +5 -5
  49. package/dist/browser-control-auth-CEP_ExeC.js +2 -0
  50. package/dist/browser-profiles-SvnqnHVN.js +2 -0
  51. package/dist/{browser-runtime-DKYWZwKR.js → browser-runtime-0mRxjFpp.js} +11 -11
  52. package/dist/{build-Dg-zGuX4.js → build-DiRmljCi.js} +1 -1
  53. package/dist/build-info.json +2 -2
  54. package/dist/bundled/boot-md/handler.js +2 -2
  55. package/dist/bundled/session-memory/handler.js +1 -1
  56. package/dist/{bundled-channel-config-schema-CmLwx9HX.d.ts → bundled-channel-config-schema-Bte--ZlY.d.ts} +10 -10
  57. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  58. package/dist/{capability-cli-DDOZwhgV.js → capability-cli-ATfwTYFe.js} +1 -1
  59. package/dist/{channel-iHYkmowM.js → channel-CzTD2ouI.js} +4 -4
  60. package/dist/{channel-core-CQgrsdA-.js → channel-core-XMZJ-ZGF.js} +1 -1
  61. package/dist/{channel-core-DaPUw6Je.d.ts → channel-core-XgBI6Jc1.d.ts} +1 -1
  62. package/dist/{channel-entry-contract-W06RQ3IX.d.ts → channel-entry-contract-Da7x7SAM.d.ts} +1 -1
  63. package/dist/{channel-inbound-BFc43yKu.js → channel-inbound-DvqkKmiH.js} +1 -1
  64. package/dist/{channel-message-DUbuTMAm.js → channel-message-CnJ4vUyt.js} +1 -1
  65. package/dist/{channel-pairing-tHLwK3ka.d.ts → channel-pairing-ZPcuQOLk.d.ts} +1 -1
  66. package/dist/{channel.runtime-BH_PV5n6.js → channel.runtime-By5T5eGw.js} +1 -1
  67. package/dist/channel.runtime.js +1 -1
  68. package/dist/{chat-CitUr4Rq.js → chat-BTMPilpx.js} +4 -4
  69. package/dist/{chat--NCOSCo6.js → chat-DnC7XCWK.js} +1 -1
  70. package/dist/{chrome-BYpeU3EW.js → chrome-C3_dN9jE.js} +1 -1
  71. package/dist/cli/run-main.js +5 -5
  72. package/dist/{cli-compaction-BYLSW4q1.js → cli-compaction-Bh0oMwUa.js} +4 -4
  73. package/dist/{cli-runner-DpOgTRUK.js → cli-runner-BfSrIn-9.js} +3 -3
  74. package/dist/cli-runner-D_FAjNbR.js +2 -0
  75. package/dist/{cli-runner.runtime-Cdskbg3K.js → cli-runner.runtime-BJetQDu1.js} +1 -1
  76. package/dist/{cli-runner.runtime-DW4x1FmR.js → cli-runner.runtime-BKJQkc7C.js} +2 -2
  77. package/dist/cli-runner.runtime.js +1 -1
  78. package/dist/cli-startup-metadata.json +8 -8
  79. package/dist/{command-registry-CZjefvIA.js → command-registry-CbpdQKmu.js} +2 -2
  80. package/dist/{command-registry-DOYfwdIM.js → command-registry-Dw-XC_Zk.js} +2 -2
  81. package/dist/{command-registry-core-DZxhLTiM.js → command-registry-core-rvEDki6p.js} +4 -4
  82. package/dist/{command-status.runtime-DJ9OB-XY.js → command-status.runtime-C2x4yMRd.js} +2 -2
  83. package/dist/command-status.runtime.js +1 -1
  84. package/dist/{commands-DpE2lL8e.d.ts → commands-BapTBcjM.d.ts} +1 -1
  85. package/dist/{commands-compact.runtime-Dmfx_m-S.js → commands-compact.runtime-BTMQfx1k.js} +1 -1
  86. package/dist/commands-compact.runtime.js +1 -1
  87. package/dist/{commands-handlers.runtime-DHW-piAE.js → commands-handlers.runtime-DyNuPOmY.js} +8 -8
  88. package/dist/commands-handlers.runtime.js +1 -1
  89. package/dist/{commands-status-VTIa9cYz.js → commands-status-BRJMba4h.js} +1 -1
  90. package/dist/commands-status-DCXEwlSF.js +3 -0
  91. package/dist/commands-status.runtime-DCXEwlSF.js +3 -0
  92. package/dist/commands-status.runtime.js +1 -1
  93. package/dist/{commands-subagents-control.runtime-BYTez8NE.js → commands-subagents-control.runtime-CduLQJFD.js} +1 -1
  94. package/dist/commands-subagents-control.runtime.js +1 -1
  95. package/dist/{commands-system-prompt-CubAWrwV.js → commands-system-prompt-B3LD8CDs.js} +1 -1
  96. package/dist/{commands-system-prompt-Csd8cDwP.js → commands-system-prompt-DPsXTqOQ.js} +1 -1
  97. package/dist/{commands-types-BOSpkqdA.d.ts → commands-types-DA_yRXQe.d.ts} +1 -1
  98. package/dist/{commands.runtime-ekYpVZo3.js → commands.runtime-3sVz8Qgo.js} +2 -2
  99. package/dist/commands.runtime.js +1 -1
  100. package/dist/commitments/runtime.js +1 -1
  101. package/dist/{compact-PKi9FMMv.js → compact-DxU_9XEc.js} +4 -4
  102. package/dist/{compact.runtime-QXqoSFxf.js → compact.runtime-CqQTypVl.js} +1 -1
  103. package/dist/compact.runtime.js +1 -1
  104. package/dist/{completion-cli-TmMByYLG.js → completion-cli-CiKl5HhI.js} +2 -2
  105. package/dist/{config-CMUza7AA.js → config--yllOaSC.js} +1 -1
  106. package/dist/{config-mutations-DWizcNgU.js → config-mutations-Cg04LH_S.js} +1 -1
  107. package/dist/{config-schema-Kd5OzZGL.d.ts → config-schema-Cy-B9tFb.d.ts} +1 -1
  108. package/dist/{context-engine-host-compat-CXSvninq.js → context-engine-host-compat-C_eflvRw.js} +1 -1
  109. package/dist/{context-engine-host-compat-B4geBuM7.js → context-engine-host-compat-s15Pu845.js} +1 -1
  110. package/dist/{context-engine-lifecycle-9nkZMHjQ.js → context-engine-lifecycle-COHFLnj4.js} +2 -2
  111. package/dist/{control-auth-DsBF120U.js → control-auth-CQJpLoIb.js} +2 -2
  112. package/dist/{control-service-BiwDjGuB.js → control-service-BFSgA0Py.js} +4 -4
  113. package/dist/{control-service-Clj2c-KV.js → control-service-D7GZv-GS.js} +2 -2
  114. package/dist/control-ui/assets/{activity-0AnFM1pt.js → activity-DXrrQ3p0.js} +2 -2
  115. package/dist/control-ui/assets/{agents-DMcgU9w9.js → agents-DBTWjl5N.js} +33 -29
  116. package/dist/control-ui/assets/{channel-config-extras-Cnty6sJP.js → channel-config-extras-1Omw3P4a.js} +2 -2
  117. package/dist/control-ui/assets/{channels-BIjF291a.js → channels-CLz01a7t.js} +7 -7
  118. package/dist/control-ui/assets/{cron-gyAzSB5C.js → cron-vTxFqNNV.js} +11 -9
  119. package/dist/control-ui/assets/{debug-CNnIMqYL.js → debug-CvwuX3fe.js} +2 -2
  120. package/dist/control-ui/assets/i18n-CqJHwmVQ.js +2 -0
  121. package/dist/control-ui/assets/{index-D5d_SwnF.js → index-CFA4p4Li.js} +104 -91
  122. package/dist/control-ui/assets/{instances-CcPo2WpS.js → instances-BbKVXLX1.js} +2 -2
  123. package/dist/control-ui/assets/{logs-D7YSLRvz.js → logs-B4vkHG-U.js} +7 -7
  124. package/dist/control-ui/assets/{nodes-8OSr5IQB.js → nodes-DrdIa_Kj.js} +63 -55
  125. package/dist/control-ui/assets/{push-subscription-SK4PlhIV.js → push-subscription-Ck2KdK-7.js} +2 -2
  126. package/dist/control-ui/assets/{sessions-CRXERFxi.js → sessions-BqDAC2V3.js} +3 -3
  127. package/dist/control-ui/assets/{skills-DcnRqwFx.js → skills-DCQx-dAB.js} +38 -34
  128. package/dist/control-ui/assets/{skills-shared-KvN3lpfP.js → skills-shared-BWrG-mcT.js} +2 -2
  129. package/dist/control-ui/assets/{workboard-QBQBDBPN.js → workboard-Cqwvi5Ma.js} +2 -2
  130. package/dist/control-ui/index.html +2 -2
  131. package/dist/control-ui/sw.js +1 -1
  132. package/dist/{conversation-runtime-DP1U-ua_.js → conversation-runtime-B7oAN9Tq.js} +2 -2
  133. package/dist/{core-7YGuWGGY.d.ts → core-BzDoBdiK.d.ts} +1 -1
  134. package/dist/core-api-CBD0dvTQ.js +5 -0
  135. package/dist/core-api-ClCm_yM8.js +2 -0
  136. package/dist/{core-ByMbhy8s.js → core-wuoxL08a.js} +1 -1
  137. package/dist/crestodian/crestodian.js +1 -1
  138. package/dist/crestodian/rescue-message.d.ts +1 -1
  139. package/dist/crestodian/rescue-message.js +1 -1
  140. package/dist/{crestodian-S1CStpBm.js → crestodian--iYeGB8u.js} +3 -3
  141. package/dist/{delegate-BKwD9QpK.d.ts → delegate-D8dnnPTh.d.ts} +1 -1
  142. package/dist/{dialogue-C5dQ2aUs.js → dialogue-C0VnTMMn.js} +2 -2
  143. package/dist/{directive-handling.fast-lane-tbnJl1to.js → directive-handling.fast-lane-BemYRfPn.js} +1 -1
  144. package/dist/{directive-handling.impl-XX13n1XZ.js → directive-handling.impl-BMVh1pMh.js} +3 -3
  145. package/dist/{directive-handling.impl-DoUvn60O.js → directive-handling.impl-vr4MsYbt.js} +1 -1
  146. package/dist/{directive-handling.model-selection-kV-iOUuJ.js → directive-handling.model-selection-DegP9exp.js} +1 -1
  147. package/dist/{directive-handling.persist.runtime-BkTHw-ia.js → directive-handling.persist.runtime-BUdU6_zm.js} +4 -4
  148. package/dist/directive-handling.persist.runtime.js +1 -1
  149. package/dist/{dispatch-D3nPCBqV.js → dispatch-Ck2tvRYH.js} +3 -3
  150. package/dist/{dispatch-acp-transcript.runtime-DTYvFOtM.js → dispatch-acp-transcript.runtime-CsJZGhnu.js} +1 -1
  151. package/dist/dispatch-acp-transcript.runtime.js +1 -1
  152. package/dist/{dispatch-acp.runtime-ndozTvlZ.js → dispatch-acp.runtime-C_u7sGcQ.js} +1 -1
  153. package/dist/dispatch-acp.runtime.js +1 -1
  154. package/dist/{dispatcher-UyAOyrP_.js → dispatcher-GtuYO6Ni.js} +2 -2
  155. package/dist/{doctor-DITiLXO7.js → doctor-D9wCez5t.js} +1 -1
  156. package/dist/{doctor-config-flow-MVRehVDg.js → doctor-config-flow-0kxzjUjK.js} +2 -2
  157. package/dist/{doctor-core-checks-YwHiLmgG.js → doctor-core-checks-C_g9REOd.js} +1 -1
  158. package/dist/{doctor-core-checks-BNegY1LG.js → doctor-core-checks-CahzmM1L.js} +1 -1
  159. package/dist/{doctor-core-checks.runtime-CWgXiQ7P.js → doctor-core-checks.runtime-Bi_oTiTZ.js} +1 -1
  160. package/dist/doctor-core-checks.runtime.js +1 -1
  161. package/dist/{doctor-health-CriwjT58.js → doctor-health-C69GVfMl.js} +2 -2
  162. package/dist/{doctor-health-contributions-Dw33C0xB.js → doctor-health-contributions-Bz19QhI4.js} +5 -5
  163. package/dist/{doctor-lint-CmP2DMya.js → doctor-lint-BVW4E6Qf.js} +1 -1
  164. package/dist/{doctor-state-integrity-Db5l4SqS.js → doctor-state-integrity-DuJIszQj.js} +1 -1
  165. package/dist/{embedded-agent-DXLRXDxE.js → embedded-agent-CGULn3lb.js} +1 -1
  166. package/dist/{embedded-agent-CCYLZpO-.js → embedded-agent-DZTa1YiK.js} +8 -8
  167. package/dist/{embedded-agent-B_uQRTM0.d.ts → embedded-agent-tGt_IO2X.d.ts} +1 -1
  168. package/dist/{embedded-agent.runtime-D2z4ywDZ.js → embedded-agent.runtime-TfBgXcUV.js} +1 -1
  169. package/dist/embedded-agent.runtime.js +1 -1
  170. package/dist/{embedded-backend-CkXnHdrz.js → embedded-backend-BAaFwayA.js} +5 -5
  171. package/dist/{embedded-gateway-stub.runtime-zjlklDyV.js → embedded-gateway-stub.runtime-CNyrjvgT.js} +2 -2
  172. package/dist/embedded-gateway-stub.runtime.js +1 -1
  173. package/dist/entry.d.ts +1 -1
  174. package/dist/extensionAPI.d.ts +2 -2
  175. package/dist/extensionAPI.js +1 -1
  176. package/dist/extensions/active-memory/index.d.ts +1 -1
  177. package/dist/extensions/active-memory/index.js +1 -1
  178. package/dist/extensions/admin-http-rpc/index.d.ts +1 -1
  179. package/dist/extensions/admin-http-rpc/index.js +1 -1
  180. package/dist/extensions/alibaba/index.d.ts +1 -1
  181. package/dist/extensions/baichuan/index.d.ts +1 -1
  182. package/dist/extensions/bonjour/index.d.ts +1 -1
  183. package/dist/extensions/browser/browser-bridge.js +1 -1
  184. package/dist/extensions/browser/browser-config.js +4 -4
  185. package/dist/extensions/browser/browser-control-auth.js +2 -2
  186. package/dist/extensions/browser/browser-doctor.js +2 -2
  187. package/dist/extensions/browser/browser-maintenance.js +1 -1
  188. package/dist/extensions/browser/browser-profiles.js +2 -2
  189. package/dist/extensions/browser/browser-runtime-api.js +12 -12
  190. package/dist/extensions/browser/cli-metadata.d.ts +1 -1
  191. package/dist/extensions/browser/cli-metadata.js +1 -1
  192. package/dist/extensions/browser/index.d.ts +1 -1
  193. package/dist/extensions/browser/index.js +1 -1
  194. package/dist/extensions/browser/plugin-registration.d.ts +1 -1
  195. package/dist/extensions/browser/plugin-registration.js +1 -1
  196. package/dist/extensions/browser/register.runtime.d.ts +2 -2
  197. package/dist/extensions/browser/register.runtime.js +4 -4
  198. package/dist/extensions/browser/runtime-api.d.ts +3 -3
  199. package/dist/extensions/browser/runtime-api.js +14 -14
  200. package/dist/extensions/browser/setup-api.d.ts +1 -1
  201. package/dist/extensions/byteplus/index.d.ts +1 -1
  202. package/dist/extensions/byteplus/provider-discovery.d.ts +1 -1
  203. package/dist/extensions/canvas/cli-metadata.d.ts +1 -1
  204. package/dist/extensions/canvas/index.d.ts +1 -1
  205. package/dist/extensions/canvas/index.js +1 -1
  206. package/dist/extensions/canvas/setup-api.d.ts +1 -1
  207. package/dist/extensions/deepseek/api.d.ts +1 -1
  208. package/dist/extensions/deepseek/index.d.ts +1 -1
  209. package/dist/extensions/deepseek/provider-discovery.d.ts +1 -1
  210. package/dist/extensions/deepseek/provider-policy-api.d.ts +1 -1
  211. package/dist/extensions/deepseek/stream.d.ts +1 -1
  212. package/dist/extensions/deepseek/thinking.d.ts +1 -1
  213. package/dist/extensions/device-pair/api.d.ts +3 -3
  214. package/dist/extensions/device-pair/api.js +1 -1
  215. package/dist/extensions/device-pair/index.d.ts +1 -1
  216. package/dist/extensions/device-pair/notify.d.ts +1 -1
  217. package/dist/extensions/device-pair/pair-command-approve.js +1 -1
  218. package/dist/extensions/longcat/index.d.ts +1 -1
  219. package/dist/extensions/memory-core/api.d.ts +1 -1
  220. package/dist/extensions/memory-core/cli-metadata.d.ts +1 -1
  221. package/dist/extensions/memory-core/cli-metadata.js +1 -1
  222. package/dist/extensions/memory-core/index.d.ts +1 -1
  223. package/dist/extensions/memory-core/manager-runtime.d.ts +1 -1
  224. package/dist/extensions/memory-core/runtime-api.d.ts +2 -2
  225. package/dist/extensions/minimax/index.d.ts +1 -1
  226. package/dist/extensions/minimax/provider-contract-api.d.ts +1 -1
  227. package/dist/extensions/minimax/provider-discovery.d.ts +1 -1
  228. package/dist/extensions/minimax/provider-registration.d.ts +1 -1
  229. package/dist/extensions/minimax/speech-provider.d.ts +1 -1
  230. package/dist/extensions/minimax/web-search-contract-api.d.ts +1 -1
  231. package/dist/extensions/minimax/web-search-provider.d.ts +1 -1
  232. package/dist/extensions/moonshot/index.d.ts +1 -1
  233. package/dist/extensions/moonshot/provider-contract-api.d.ts +1 -1
  234. package/dist/extensions/moonshot/provider-discovery.d.ts +1 -1
  235. package/dist/extensions/moonshot/web-search-contract-api.d.ts +1 -1
  236. package/dist/extensions/moonshot/web-search-provider.d.ts +1 -1
  237. package/dist/extensions/qianfan/index.d.ts +1 -1
  238. package/dist/extensions/qwen/api.d.ts +1 -1
  239. package/dist/extensions/qwen/index.d.ts +1 -1
  240. package/dist/extensions/qwen/stream.d.ts +1 -1
  241. package/dist/extensions/sensenova/index.d.ts +1 -1
  242. package/dist/extensions/skill-workshop/api.d.ts +2 -2
  243. package/dist/extensions/skill-workshop/api.js +1 -1
  244. package/dist/extensions/skill-workshop/index.d.ts +1 -1
  245. package/dist/extensions/skill-workshop/index.js +2 -2
  246. package/dist/extensions/stepfun/index.d.ts +1 -1
  247. package/dist/extensions/tavily/index.d.ts +1 -1
  248. package/dist/extensions/tavily/web-search-contract-api.d.ts +1 -1
  249. package/dist/extensions/tavily/web-search-provider.d.ts +1 -1
  250. package/dist/extensions/tencent/index.d.ts +1 -1
  251. package/dist/extensions/tencent/provider-discovery.d.ts +1 -1
  252. package/dist/extensions/thread-ownership/api.d.ts +2 -2
  253. package/dist/extensions/thread-ownership/index.d.ts +1 -1
  254. package/dist/extensions/tiangong/index.d.ts +1 -1
  255. package/dist/extensions/volcengine/index.d.ts +1 -1
  256. package/dist/extensions/volcengine/provider-discovery.d.ts +1 -1
  257. package/dist/extensions/volcengine/speech-provider.d.ts +1 -1
  258. package/dist/extensions/webhooks/api.d.ts +2 -2
  259. package/dist/extensions/webhooks/api.js +1 -1
  260. package/dist/extensions/webhooks/index.d.ts +1 -1
  261. package/dist/extensions/webhooks/index.js +1 -1
  262. package/dist/extensions/webhooks/runtime-api.d.ts +1 -1
  263. package/dist/extensions/weixin/index.d.ts +1 -1
  264. package/dist/extensions/workboard/api.d.ts +2 -2
  265. package/dist/extensions/workboard/index.d.ts +1 -1
  266. package/dist/extensions/workboard/index.js +1 -1
  267. package/dist/extensions/workboard/runtime-api.d.ts +1 -1
  268. package/dist/extensions/xiaomi/index.d.ts +1 -1
  269. package/dist/extensions/xiaomi/speech-provider.d.ts +1 -1
  270. package/dist/extensions/xiaomi/stream.d.ts +1 -1
  271. package/dist/extensions/xiaomi/thinking.d.ts +1 -1
  272. package/dist/extensions/xingchen/index.d.ts +1 -1
  273. package/dist/extensions/yi/index.d.ts +1 -1
  274. package/dist/extensions/zai/index.d.ts +1 -1
  275. package/dist/extensions/zhinao/index.d.ts +1 -1
  276. package/dist/{fengming-runtime-C-e5uAWU.d.ts → fengming-runtime-DHPxVr6f.d.ts} +1 -1
  277. package/dist/{fengming-tools-CFCB-bYQ.js → fengming-tools-MvRSt0JA.js} +7 -7
  278. package/dist/gateway/protocol/index.d.ts +1 -1
  279. package/dist/{gateway-cli-CH3L-EJJ.js → gateway-cli-B8bXBd_L.js} +1 -1
  280. package/dist/{gateway-method-runtime-Cy2K2JiD.js → gateway-method-runtime-ueZTz7WH.js} +1 -1
  281. package/dist/{get-reply-BwOY79yz.js → get-reply-DUuaxcBz.js} +9 -9
  282. package/dist/get-reply-from-config.runtime-B4Dgs3Hg.js +2 -0
  283. package/dist/get-reply-from-config.runtime.js +1 -1
  284. package/dist/{heartbeat-runner-Dt3vlZRv.js → heartbeat-runner-Bq7A_Cjm.js} +1 -1
  285. package/dist/{heartbeat-runner.runtime-ZQNownE6.js → heartbeat-runner.runtime-DQ2NPXMD.js} +1 -1
  286. package/dist/heartbeat-runner.runtime.js +1 -1
  287. package/dist/{hooks-Ck6iU6gn.js → hooks-Bv-otcl7.js} +1 -1
  288. package/dist/{host-compat-D2ZmxxiQ.d.ts → host-compat-TRE1-NIe.d.ts} +1 -1
  289. package/dist/{http-registry-DJLRFFA3.d.ts → http-registry-DVTzBlBL.d.ts} +2 -2
  290. package/dist/inbound-reply-dispatch-DglobJ8j.js +2 -0
  291. package/dist/{inbound-reply-dispatch-CY26lyO7.js → inbound-reply-dispatch-QKOgNx-m.js} +1 -1
  292. package/dist/{index-zAqPF2YS.d.ts → index-GK-13hii.d.ts} +32 -32
  293. package/dist/index.js +1 -1
  294. package/dist/{init-CWvPgwad.js → init-poVZDCAM.js} +1 -1
  295. package/dist/{isolated-agent-CHJ6d3y1.js → isolated-agent-CNw6E3F0.js} +3 -3
  296. package/dist/{isolated-agent-pitmLC0b.js → isolated-agent-DjkHhEyR.js} +1 -1
  297. package/dist/{lifecycle-Bqfm4vcO.js → lifecycle-B-5gEZ7O.js} +1 -1
  298. package/dist/{list.probe-Dw1wwopk.js → list.probe-CY6lxq51.js} +1 -1
  299. package/dist/{list.probe-_JnCpaMr.js → list.probe-DPuE1GOH.js} +1 -1
  300. package/dist/{list.status-command-CUxdNbeu.js → list.status-command-BXCnEq8Q.js} +2 -2
  301. package/dist/{llm-slug-generator-CzRqka-9.js → llm-slug-generator-6o8RXL11.js} +1 -1
  302. package/dist/llm-slug-generator.js +1 -1
  303. package/dist/{loader-BBk0D_wC.d.ts → loader-C7-pVnXN.d.ts} +2 -2
  304. package/dist/{local-dispatch.runtime-CdBa6kYb.js → local-dispatch.runtime-21liE3rA.js} +3 -3
  305. package/dist/local-dispatch.runtime.js +1 -1
  306. package/dist/{manager-CKJulXDU.d.ts → manager-B4RbKdxw.d.ts} +3 -3
  307. package/dist/{mcp-http-6DvkRsjA.js → mcp-http-BaJoPKF9.js} +1 -1
  308. package/dist/mcp-http-CpEaJIGJ.js +2 -0
  309. package/dist/{memory-core-host-engine-storage-BLYSHe5j.d.ts → memory-core-host-engine-storage-BBHT1228.d.ts} +1 -1
  310. package/dist/{message-handler-DC1Bksh_.js → message-handler-CHDS_NF-.js} +5 -1
  311. package/dist/{model-selection-YiPs6yAt.js → model-selection-jDYEo0WI.js} +1 -1
  312. package/dist/{models-cli-D7iLFM6E.js → models-cli-DUt4uiMH.js} +2 -2
  313. package/dist/{monitor-CsmDdXu9.js → monitor-7tD_FE_5.js} +1 -1
  314. package/dist/{monitor.account-V90peFYr.js → monitor.account-D0F9tnWD.js} +6 -6
  315. package/dist/{nodes-SZSG5OPB.js → nodes-DnWH_15m.js} +1 -1
  316. package/dist/{nodes-BRGlj-_Y.js → nodes-RkB4ZmP6.js} +1 -1
  317. package/dist/{nodes-pending-CjzZ211I.js → nodes-pending--sojaxpI.js} +1 -1
  318. package/dist/{openai-compat-errors-CR3Z1zmU.js → openai-compat-errors-VR4SN1MV.js} +1 -1
  319. package/dist/{openai-http-XURs2rem.js → openai-http-DV95ynPi.js} +4 -4
  320. package/dist/{openresponses-http-Dg1BYTdP.js → openresponses-http-DPchx8IC.js} +3 -3
  321. package/dist/{operations-C50WRZys.js → operations-f9R8j-r9.js} +3 -3
  322. package/dist/{plugin-enabled-DJjL2y-h.js → plugin-enabled-CqsBObeO.js} +5 -5
  323. package/dist/{plugin-sdk/plugin-entry-C9xM-ZA9.d.ts → plugin-entry-BQwto-H7.d.ts} +1 -1
  324. package/dist/{plugin-registration-BHLgDb-G.js → plugin-registration-Dy58ncPf.js} +2 -2
  325. package/dist/{plugin-runtime-BPNrZxQB.d.ts → plugin-runtime-D6-SBOmj.d.ts} +1 -1
  326. package/dist/plugin-sdk/.boundary-entry-shims.stamp +1 -1
  327. package/dist/plugin-sdk/acp-runtime-backend.js +1 -1
  328. package/dist/plugin-sdk/acp-runtime.js +1 -1
  329. package/dist/plugin-sdk/agent-config-primitives.d.ts +1 -1
  330. package/dist/plugin-sdk/{agent-harness-runtime-Bkrjji63.d.ts → agent-harness-runtime-CgQiThzm.d.ts} +2 -2
  331. package/dist/plugin-sdk/agent-harness-runtime.d.ts +4 -4
  332. package/dist/plugin-sdk/agent-harness-runtime.js +5 -5
  333. package/dist/plugin-sdk/agent-harness-task-runtime.d.ts +1 -1
  334. package/dist/plugin-sdk/agent-harness-task-runtime.js +1 -1
  335. package/dist/plugin-sdk/agent-harness.d.ts +4 -4
  336. package/dist/plugin-sdk/agent-harness.js +6 -6
  337. package/dist/plugin-sdk/agent-runtime.d.ts +1 -1
  338. package/dist/plugin-sdk/agent-runtime.js +2 -2
  339. package/dist/plugin-sdk/{bundled-channel-config-schema-Ck8L7M3c.d.ts → bundled-channel-config-schema-BPFNnbwu.d.ts} +33 -33
  340. package/dist/plugin-sdk/bundled-channel-config-schema.d.ts +3 -3
  341. package/dist/plugin-sdk/channel-config-primitives.d.ts +2 -2
  342. package/dist/plugin-sdk/channel-config-schema-legacy.d.ts +3 -3
  343. package/dist/plugin-sdk/channel-config-schema.d.ts +2 -2
  344. package/dist/plugin-sdk/channel-core.d.ts +3 -3
  345. package/dist/plugin-sdk/channel-core.js +2 -2
  346. package/dist/plugin-sdk/channel-entry-contract.d.ts +1 -1
  347. package/dist/plugin-sdk/channel-envelope.js +1 -1
  348. package/dist/plugin-sdk/channel-inbound-roots.js +1 -1
  349. package/dist/plugin-sdk/channel-inbound.js +2 -2
  350. package/dist/plugin-sdk/channel-location.js +1 -1
  351. package/dist/plugin-sdk/channel-message-runtime.js +3 -3
  352. package/dist/plugin-sdk/channel-message.js +2 -2
  353. package/dist/plugin-sdk/{channel-pairing-CzsPAHgH.d.ts → channel-pairing-CX6ncj1r.d.ts} +1 -1
  354. package/dist/plugin-sdk/channel-pairing.d.ts +1 -1
  355. package/dist/plugin-sdk/channel-plugin-common.d.ts +3 -3
  356. package/dist/plugin-sdk/cli-backend.d.ts +1 -1
  357. package/dist/plugin-sdk/command-status-runtime.js +1 -1
  358. package/dist/plugin-sdk/compat.d.ts +6 -6
  359. package/dist/plugin-sdk/compat.js +1 -1
  360. package/dist/plugin-sdk/{config-schema-DUddICQM.d.ts → config-schema-D7cABQ6o.d.ts} +1 -1
  361. package/dist/plugin-sdk/{config-schema-N64y7n8C.d.ts → config-schema-DuJUjn6k.d.ts} +1 -1
  362. package/dist/plugin-sdk/config-schema.d.ts +2 -2
  363. package/dist/plugin-sdk/conversation-binding-runtime.js +1 -1
  364. package/dist/plugin-sdk/conversation-runtime.js +3 -3
  365. package/dist/plugin-sdk/{core-BWZB2hNB.d.ts → core-CPtu2Ftl.d.ts} +1 -1
  366. package/dist/plugin-sdk/core.d.ts +8 -8
  367. package/dist/plugin-sdk/core.js +2 -2
  368. package/dist/plugin-sdk/{delegate-o5xckIuc.d.ts → delegate-uk6vAMkc.d.ts} +1 -1
  369. package/dist/plugin-sdk/discord.d.ts +4 -4
  370. package/dist/plugin-sdk/{fengming-runtime-abXAXyq2.d.ts → fengming-runtime-Dt2ZEVYX.d.ts} +1 -1
  371. package/dist/plugin-sdk/gateway-method-runtime.js +1 -1
  372. package/dist/plugin-sdk/gateway-runtime.d.ts +1 -1
  373. package/dist/plugin-sdk/health.js +1 -1
  374. package/dist/plugin-sdk/{host-compat-D2Ky8seZ.d.ts → host-compat-CM0h9ODw.d.ts} +1 -1
  375. package/dist/plugin-sdk/{http-registry-oxJbX3E-.d.ts → http-registry-BniL_epL.d.ts} +2 -2
  376. package/dist/plugin-sdk/image-generation-core.d.ts +4 -4
  377. package/dist/plugin-sdk/image-generation-runtime.d.ts +3 -3
  378. package/dist/plugin-sdk/inbound-reply-dispatch.js +2 -2
  379. package/dist/plugin-sdk/index.d.ts +4 -4
  380. package/dist/plugin-sdk/index.js +1 -1
  381. package/dist/plugin-sdk/lmstudio.d.ts +1 -1
  382. package/dist/plugin-sdk/{loader-CgJhYjxT.d.ts → loader-aELh60PE.d.ts} +3 -3
  383. package/dist/plugin-sdk/{logger-CyDIBtoX.d.ts → logger-BpB3--7Z.d.ts} +1 -1
  384. package/dist/plugin-sdk/logging-core.d.ts +3 -3
  385. package/dist/plugin-sdk/memory-core-host-engine-embeddings.d.ts +2 -2
  386. package/dist/plugin-sdk/memory-core-host-engine-foundation.d.ts +3 -3
  387. package/dist/plugin-sdk/{memory-core-host-engine-storage-DfW7ZqD0.d.ts → memory-core-host-engine-storage-DYPjOQCg.d.ts} +1 -1
  388. package/dist/plugin-sdk/memory-core-host-engine-storage.d.ts +1 -1
  389. package/dist/plugin-sdk/memory-core-host-runtime-cli.d.ts +1 -1
  390. package/dist/plugin-sdk/memory-core-host-runtime-core.d.ts +3 -3
  391. package/dist/plugin-sdk/memory-core.d.ts +3 -3
  392. package/dist/plugin-sdk/memory-host-core.d.ts +3 -3
  393. package/dist/plugin-sdk/migration-runtime.d.ts +1 -1
  394. package/dist/plugin-sdk/migration.d.ts +1 -1
  395. package/dist/plugin-sdk/music-generation-core.d.ts +2 -2
  396. package/dist/{plugin-entry-Dn3yAjFL.d.ts → plugin-sdk/plugin-entry-DO9kQeTr.d.ts} +1 -1
  397. package/dist/plugin-sdk/plugin-entry.d.ts +3 -3
  398. package/dist/plugin-sdk/plugin-runtime.d.ts +3 -3
  399. package/dist/plugin-sdk/{provider-api-key-auth-DOmYPTC2.d.ts → provider-api-key-auth-DvIiojS6.d.ts} +1 -1
  400. package/dist/plugin-sdk/provider-auth-api-key.d.ts +4 -4
  401. package/dist/plugin-sdk/{provider-auth-helpers-pqDNrZTd.d.ts → provider-auth-helpers-CYkWZ0vq.d.ts} +1 -1
  402. package/dist/plugin-sdk/{provider-auth-input-Ckt-cU4H.d.ts → provider-auth-input-DUV6ZTw4.d.ts} +1 -1
  403. package/dist/plugin-sdk/provider-auth-result.d.ts +1 -1
  404. package/dist/plugin-sdk/provider-auth-runtime.d.ts +1 -1
  405. package/dist/plugin-sdk/provider-auth.d.ts +5 -5
  406. package/dist/plugin-sdk/provider-catalog-runtime.d.ts +2 -2
  407. package/dist/plugin-sdk/{provider-catalog-shared-QvOT8Wz1.d.ts → provider-catalog-shared-Cm3SyFfL.d.ts} +1 -1
  408. package/dist/plugin-sdk/provider-catalog-shared.d.ts +2 -2
  409. package/dist/plugin-sdk/provider-entry.d.ts +3 -3
  410. package/dist/plugin-sdk/{provider-model-shared-Bnc8IMx5.d.ts → provider-model-shared-D5rgn7Gb.d.ts} +1 -1
  411. package/dist/plugin-sdk/provider-model-shared.d.ts +2 -2
  412. package/dist/plugin-sdk/{provider-registry-CxdVib8g.d.ts → provider-registry-D0vmhPWL.d.ts} +1 -1
  413. package/dist/plugin-sdk/{provider-registry-CqB5bSAD.d.ts → provider-registry-DiKX35tc.d.ts} +1 -1
  414. package/dist/plugin-sdk/{provider-registry-Ba1nNfhA.d.ts → provider-registry-DxdZT9UN.d.ts} +1 -1
  415. package/dist/plugin-sdk/{provider-self-hosted-setup-eMoeVPnF.d.ts → provider-self-hosted-setup-BPx7JMDC.d.ts} +1 -1
  416. package/dist/plugin-sdk/provider-setup.d.ts +2 -2
  417. package/dist/plugin-sdk/{provider-stream-CGaLae9n.d.ts → provider-stream-DcC2vn_N.d.ts} +1 -1
  418. package/dist/plugin-sdk/provider-stream-family.d.ts +2 -2
  419. package/dist/plugin-sdk/{provider-stream-shared-u5mt-8_i.d.ts → provider-stream-shared-ByDv3QKm.d.ts} +1 -1
  420. package/dist/plugin-sdk/provider-stream-shared.d.ts +1 -1
  421. package/dist/plugin-sdk/provider-stream.d.ts +2 -2
  422. package/dist/plugin-sdk/provider-tools.d.ts +1 -1
  423. package/dist/plugin-sdk/provider-web-fetch-contract.d.ts +1 -1
  424. package/dist/plugin-sdk/provider-web-fetch.d.ts +1 -1
  425. package/dist/plugin-sdk/provider-web-search-config-contract.d.ts +2 -2
  426. package/dist/plugin-sdk/{provider-web-search-contract-fields-BiWOSs_d.d.ts → provider-web-search-contract-fields-CY4v8kS-.d.ts} +1 -1
  427. package/dist/plugin-sdk/provider-web-search-contract.d.ts +2 -2
  428. package/dist/plugin-sdk/provider-web-search.d.ts +1 -1
  429. package/dist/plugin-sdk/realtime-transcription.d.ts +1 -1
  430. package/dist/plugin-sdk/realtime-voice.d.ts +1 -1
  431. package/dist/plugin-sdk/{redact-identifier-CVqsKaEK.d.ts → redact-identifier-CVwkabcI.d.ts} +1 -1
  432. package/dist/plugin-sdk/{registry-Gq9OFlb3.d.ts → registry-CzaGoAKH.d.ts} +2 -2
  433. package/dist/plugin-sdk/{registry-types-DyBkef1H.d.ts → registry-types-DN1yiH3F.d.ts} +2 -2
  434. package/dist/plugin-sdk/reply-runtime.d.ts +1 -1
  435. package/dist/plugin-sdk/reply-runtime.js +4 -4
  436. package/dist/plugin-sdk/runtime-env.d.ts +3 -3
  437. package/dist/plugin-sdk/runtime-store.d.ts +1 -1
  438. package/dist/plugin-sdk/runtime.d.ts +3 -3
  439. package/dist/plugin-sdk/self-hosted-provider-setup.d.ts +2 -2
  440. package/dist/plugin-sdk/simple-completion-runtime.d.ts +1 -1
  441. package/dist/plugin-sdk/speech-core.d.ts +2 -2
  442. package/dist/plugin-sdk/speech.d.ts +2 -2
  443. package/dist/plugin-sdk/{subsystem-Boo2DQIV.d.ts → subsystem-n4Y4vCcQ.d.ts} +1 -1
  444. package/dist/plugin-sdk/text-runtime.d.ts +2 -2
  445. package/dist/plugin-sdk/tool-plugin.d.ts +2 -2
  446. package/dist/plugin-sdk/tts-runtime.d.ts +1 -1
  447. package/dist/plugin-sdk/{types-DGF1KeaJ.d.ts → types-BI8R-vGd.d.ts} +2 -2
  448. package/dist/plugin-sdk/{types-DpaN54PS.d.ts → types-CsqNt0j8.d.ts} +1 -1
  449. package/dist/plugin-sdk/{unhandled-rejections-Bez6JG0y.d.ts → unhandled-rejections-D9eBl3hT.d.ts} +2 -2
  450. package/dist/plugin-sdk/video-generation-core.d.ts +3 -3
  451. package/dist/plugin-sdk/video-generation-runtime.d.ts +3 -3
  452. package/dist/plugin-sdk/webhook-ingress.d.ts +1 -1
  453. package/dist/plugin-sdk/webhook-targets.d.ts +1 -1
  454. package/dist/plugin-sdk/{zod-schema.core-B4_b2R5K.d.ts → zod-schema.core-CwBNqcXp.d.ts} +1 -1
  455. package/dist/{plugin-service-BMh62dvU.d.ts → plugin-service-Cy3vwSOn.d.ts} +1 -1
  456. package/dist/{plugin-service-DfzZprhq.js → plugin-service-sKF4gWFm.js} +11 -11
  457. package/dist/plugins/build-smoke-entry.d.ts +2 -2
  458. package/dist/plugins/loader.d.ts +1 -1
  459. package/dist/plugins/provider-discovery.runtime.d.ts +1 -1
  460. package/dist/plugins/provider-runtime.runtime.d.ts +1 -1
  461. package/dist/plugins/runtime/index.d.ts +1 -1
  462. package/dist/plugins/runtime/index.js +6 -6
  463. package/dist/plugins/tools.d.ts +1 -1
  464. package/dist/postinstall-inventory.json +340 -340
  465. package/dist/{prepare.runtime-C3s1JUFS.js → prepare.runtime-COZaHg5E.js} +3 -3
  466. package/dist/prepare.runtime.js +1 -1
  467. package/dist/{preview-warnings-Cf9qzdRW.js → preview-warnings-L4VuEOyB.js} +2 -2
  468. package/dist/{program-CJV0naTI.js → program-B-4C7bC-.js} +1 -1
  469. package/dist/{provider-api-key-auth-CtAGRL44.d.ts → provider-api-key-auth-BjKfGyov.d.ts} +1 -1
  470. package/dist/{provider-auth-result-DUS0m_dV.d.ts → provider-auth-result-Sw1OUu-6.d.ts} +1 -1
  471. package/dist/{provider-catalog-shared-mfno7279.d.ts → provider-catalog-shared-Ben2I52T.d.ts} +1 -1
  472. package/dist/{provider-dispatcher-yTjSHjF8.js → provider-dispatcher-CtKWj3r-.js} +1 -1
  473. package/dist/provider-dispatcher.runtime.js +1 -1
  474. package/dist/{provider-model-shared-DfASEDB4.d.ts → provider-model-shared-wM5TV9Ng.d.ts} +1 -1
  475. package/dist/{provider-registry-EtWPUX-T.d.ts → provider-registry-BDPo5BwZ.d.ts} +1 -1
  476. package/dist/{provider-registry-B74ybVvw.d.ts → provider-registry-BcmSY6e9.d.ts} +1 -1
  477. package/dist/{provider-registry-8UqxuZ2l.d.ts → provider-registry-Dw-5Wvsm.d.ts} +1 -1
  478. package/dist/{provider-self-hosted-setup-BXzjhUnt.d.ts → provider-self-hosted-setup-CdXS5o8C.d.ts} +1 -1
  479. package/dist/{provider-stream-DR7L8ceW.d.ts → provider-stream-CKC-5yIb.d.ts} +1 -1
  480. package/dist/{provider-stream-shared-x7Ei7uU4.d.ts → provider-stream-shared-B9I1_R5G.d.ts} +1 -1
  481. package/dist/{provider-web-search-contract-fields-CubPutml.d.ts → provider-web-search-contract-fields-DWCNJ1gv.d.ts} +1 -1
  482. package/dist/{pw-ai-D4JW5bHw.js → pw-ai-DlSSqerW.js} +3 -3
  483. package/dist/{register.agent-B2GlkbiS.js → register.agent-JLsb-giw.js} +1 -1
  484. package/dist/{register.crestodian-DkeAwoFB.js → register.crestodian-CBXyXEix.js} +1 -1
  485. package/dist/{register.maintenance-DRupvKZA.js → register.maintenance-DGIPQ2Vo.js} +2 -2
  486. package/dist/register.subclis-86Md7P0P.js +3 -0
  487. package/dist/{register.subclis-D8FAAAu8.js → register.subclis-CTVI8zvZ.js} +2 -2
  488. package/dist/{register.subclis-core-D08p-W8Q.js → register.subclis-core-Cy4AnRCu.js} +5 -5
  489. package/dist/{registry-1OENNRXe.d.ts → registry-CzLplYy2.d.ts} +2 -2
  490. package/dist/{registry-types-BkTarHZm.d.ts → registry-types-bZ9DUzsh.d.ts} +1 -1
  491. package/dist/{repair-sequencing-C9Npm1NE.js → repair-sequencing-SHADYdcA.js} +2 -2
  492. package/dist/{reply-turn-admission-CqxWnMNz.js → reply-turn-admission-nEW5QbY5.js} +5 -5
  493. package/dist/reply.runtime-B4Dgs3Hg.js +2 -0
  494. package/dist/reply.runtime.js +1 -1
  495. package/dist/{result-fallback-classifier-CGZy9QZ6.js → result-fallback-classifier-BqsFUDvP.js} +1 -1
  496. package/dist/{route-BnGbHjD_.js → route-B3R-uzFG.js} +1 -1
  497. package/dist/{routes-CqCFrRSq.js → routes-ChXmJocl.js} +6 -6
  498. package/dist/routes-D-ZF4AdA.js +2 -0
  499. package/dist/{run-CKb9eBnP.js → run-ClmVDTET.js} +1 -1
  500. package/dist/run-command-CqZJQ0Im.js +2 -0
  501. package/dist/{run-command-XPGVu-8n.js → run-command-GClW75NL.js} +1 -1
  502. package/dist/{run-context-HhTc88WM.js → run-context-BOdGeRg5.js} +1 -1
  503. package/dist/{run-embedded.runtime-BKM5zxlN.js → run-embedded.runtime-e1K4Bt1_.js} +1 -1
  504. package/dist/run-embedded.runtime.js +1 -1
  505. package/dist/{run-execution-cli.runtime-Csi7ldKI.js → run-execution-cli.runtime-Cjrgt4cV.js} +2 -2
  506. package/dist/run-execution-cli.runtime.js +1 -1
  507. package/dist/{run-executor.runtime-BDBgOdOe.js → run-executor.runtime-C2JE6JGb.js} +1 -1
  508. package/dist/run-executor.runtime.js +1 -1
  509. package/dist/{run-subagent-registry.runtime-Bfb3wZP_.js → run-subagent-registry.runtime-Dl_lXi6y.js} +1 -1
  510. package/dist/run-subagent-registry.runtime.js +1 -1
  511. package/dist/{runtime-D9sfiEbE.js → runtime-DX2ClrP-.js} +1 -1
  512. package/dist/{runtime-api-j5jsKtgF.d.ts → runtime-api-6AzCGq2r.d.ts} +1 -1
  513. package/dist/{runtime-api-WJIn5lnK.js → runtime-api-B0F0JsV1.js} +1 -1
  514. package/dist/{runtime-channel-Bl1jLKuZ.js → runtime-channel-BmD4hoCR.js} +2 -2
  515. package/dist/runtime-channel-BsebQSPL.js +2 -0
  516. package/dist/runtime-embedded-agent.runtime-A4r23Bn8.js +2 -0
  517. package/dist/runtime-embedded-agent.runtime.js +1 -1
  518. package/dist/{sdk-setup-tools-0_TQr_D4.js → sdk-setup-tools-DaYT6_jD.js} +1 -1
  519. package/dist/{selection-D5PCsLIx.js → selection-BNwLQzqJ.js} +1 -1
  520. package/dist/{selection-C5afPJXg.js → selection-Cj-l80pO.js} +6 -6
  521. package/dist/{server--is1Ai5m.js → server-CMtA1S09.js} +1 -1
  522. package/dist/{server-DIJwDYDg.js → server-DIRaYiiH.js} +5 -5
  523. package/dist/server-close.runtime.js +1 -1
  524. package/dist/{server-context-7ZjbpoVW.js → server-context-DWOSX34k.js} +1 -1
  525. package/dist/{server-context-Dmok_RxN.js → server-context-R7MFLFdI.js} +3 -3
  526. package/dist/server-cron-2FuFg2j8.js +2 -0
  527. package/dist/{server-cron-mrf2zUzy.js → server-cron-ChPAVQtg.js} +3 -3
  528. package/dist/{server-methods-D7oJYCXQ.js → server-methods-DSbhPK3k.js} +10 -10
  529. package/dist/{server-node-events-C2TX4P4m.js → server-node-events-tNWJnXQM.js} +3 -3
  530. package/dist/{server-plugin-bootstrap-BrO0xAHP.js → server-plugin-bootstrap-Ccu97zi8.js} +1 -1
  531. package/dist/{server-plugins-BzLXiR4c.js → server-plugins-ByXwKPnj.js} +1 -1
  532. package/dist/{server-reload-handlers-DjWclAzj.js → server-reload-handlers-ConGiT9Q.js} +2 -2
  533. package/dist/{server-restart-sentinel-DafRA-PQ.js → server-restart-sentinel-mPHo61LL.js} +1 -1
  534. package/dist/{server-runtime-services-DDB9bOSH.js → server-runtime-services-BR1icaUW.js} +1 -1
  535. package/dist/{server-runtime-services-Cfcr17CM.js → server-runtime-services-Bx8n34dj.js} +2 -2
  536. package/dist/{server-startup-plugins-CmqAtLZL.js → server-startup-plugins-CaBj0Nt2.js} +2 -2
  537. package/dist/{server-startup-post-attach-TBSWFD6u.js → server-startup-post-attach-B7TcxkmO.js} +3 -3
  538. package/dist/{server-ws-runtime-ObSEXKBU.js → server-ws-runtime-Cxk_CqMr.js} +1 -1
  539. package/dist/{server.impl-CO8zD6ti.js → server.impl-CQ6dnx43.js} +18 -18
  540. package/dist/{session-kill-http-Bt1Eg23Z.js → session-kill-http-CKkxZhhd.js} +2 -2
  541. package/dist/{session-reset-service-DvIeIhCu.js → session-reset-service-SE0aK4cw.js} +2 -2
  542. package/dist/session-status.runtime-Df89I7Fk.js +2 -0
  543. package/dist/session-status.runtime.js +1 -1
  544. package/dist/{session-subagent-reactivation.runtime-CrGNY-U4.js → session-subagent-reactivation.runtime-BhGUZG1Z.js} +1 -1
  545. package/dist/session-subagent-reactivation.runtime.js +1 -1
  546. package/dist/{session-tab-registry-Sxq9SrWt.js → session-tab-registry-9rSuQ0Yz.js} +3 -3
  547. package/dist/{sessions-CuSCFaqJ.js → sessions-6b9a00Tl.js} +7 -7
  548. package/dist/{sessions-history-http-f5J4LENH.js → sessions-history-http-BjJEfjJa.js} +1 -1
  549. package/dist/{sessions-patch-CkhlXPqx.js → sessions-patch-PwG5sknc.js} +1 -1
  550. package/dist/{sessions-resolve-BAKee1iR.js → sessions-resolve-CSIrd_fi.js} +1 -1
  551. package/dist/{sessions.runtime-BmqL_bIs.js → sessions.runtime-BYHMD0M7.js} +1 -1
  552. package/dist/sessions.runtime.js +1 -1
  553. package/dist/{skills-BlyQQNtI.js → skills-BOkzt4Py.js} +7 -0
  554. package/dist/{snapshot-urls-BmqdFOUT.js → snapshot-urls-C1KjRQD5.js} +1 -1
  555. package/dist/{speech-core-BlfIRsk6.d.ts → speech-core-1E_gItrL.d.ts} +1 -1
  556. package/dist/{startup-context-CN9-3gZt.js → startup-context-DY7C4riM.js} +2 -2
  557. package/dist/{status-subagents.runtime-BYKmJgoC.js → status-subagents.runtime-tsCCe4Ny.js} +2 -2
  558. package/dist/status-subagents.runtime.js +1 -1
  559. package/dist/{status-text-BfsGAjcK.js → status-text-Bkeyg8Bf.js} +1 -1
  560. package/dist/{stream-BY4pOmRj.d.ts → stream-B1XWAwSd.d.ts} +1 -1
  561. package/dist/{stream-DERSd5-u.d.ts → stream-Uhap3Hwe.d.ts} +1 -1
  562. package/dist/{subagent-announce-ClHbl1OX.js → subagent-announce-D244Q4w2.js} +3 -3
  563. package/dist/{subagent-announce-delivery-CMDyGvAO.js → subagent-announce-delivery-qKZfF7Bs.js} +1 -1
  564. package/dist/{subagent-control-DSIHVS2j.js → subagent-control-c87mVGUE.js} +1 -1
  565. package/dist/{subagent-hooks-CUKZNxhl.js → subagent-hooks-B_UW5Len.js} +1 -1
  566. package/dist/{subagent-hooks-Da7DxSxJ.js → subagent-hooks-CYvFWt_r.js} +1 -1
  567. package/dist/{subagent-hooks-api-DawO-J8c.js → subagent-hooks-api-DZgaJf19.js} +2 -2
  568. package/dist/{subagent-registry-CYpFIhh5.js → subagent-registry-BlcoCggo.js} +2 -2
  569. package/dist/{subagent-registry-BFR0oUGh.js → subagent-registry-CuObhNeO.js} +1 -1
  570. package/dist/subagent-registry.runtime.d.ts +1 -1
  571. package/dist/subagent-registry.runtime.js +1 -1
  572. package/dist/{subagent-session-cleanup-DsYhrksb.js → subagent-session-cleanup-hFF8Z34s.js} +1 -1
  573. package/dist/{system-BAEcbAtP.js → system-CN_Knfqq.js} +1 -1
  574. package/dist/{talk-WkjU20JA.js → talk-DrjGczYs.js} +2 -2
  575. package/dist/{target-id-iEidxa0h.js → target-id-BNpbyWkq.js} +1 -1
  576. package/dist/task-registry-control.runtime.js +1 -1
  577. package/dist/{thread-bindings-BkY8Vx3t.js → thread-bindings-BWxpUE9U.js} +1 -1
  578. package/dist/{tool-7Gdxp8fB.js → tool-DhJbbm91.js} +1 -1
  579. package/dist/{tool-dispatch-EQkzyxzY.js → tool-dispatch-CpFUfblu.js} +1 -1
  580. package/dist/{tool-resolution-Q5U6yugY.js → tool-resolution-oW8Cbamd.js} +1 -1
  581. package/dist/{tool-split-BwedOn6_.d.ts → tool-split-CS-CUjRP.d.ts} +1 -1
  582. package/dist/{tools-AKxYCcU9.d.ts → tools-CxCS74tx.d.ts} +1 -1
  583. package/dist/{tools-effective-DMnKBSE1.js → tools-effective-CGvzyIL2.js} +1 -1
  584. package/dist/{tools-effective-inventory-Da4rnkhq.js → tools-effective-inventory-GI5N5Q9v.js} +1 -1
  585. package/dist/{tools-invoke-CwBEJxyu.js → tools-invoke-CU2U0hNH.js} +1 -1
  586. package/dist/{tools-invoke-http-DxFzrWe_.js → tools-invoke-http-8s3FiUy4.js} +1 -1
  587. package/dist/{tools-invoke-shared-vdcr0sTZ.js → tools-invoke-shared-DIETrEY7.js} +2 -2
  588. package/dist/{tts-runtime-BtJfNI35.d.ts → tts-runtime-C_HPu4L6.d.ts} +3 -3
  589. package/dist/{tui-DcIQS8RR.js → tui-B0CdNmCz.js} +1 -1
  590. package/dist/tui-ByRcXM3Z.js +2 -0
  591. package/dist/{tui-backend-DUoI7c5C.js → tui-backend-C52BUoZI.js} +3 -3
  592. package/dist/{tui-cli-C6A-Q2Ne.js → tui-cli-BQHpZ4n0.js} +1 -1
  593. package/dist/{types-CO5pZ_C_.d.ts → types-C2ceowXy.d.ts} +1 -1
  594. package/dist/{types-Zun8SVqO.d.ts → types-DOqKczfg.d.ts} +1 -1
  595. package/dist/web-fetch/runtime.d.ts +1 -1
  596. package/dist/{webhook-targets-Dnrjxo22.d.ts → webhook-targets-BNv1WgAl.d.ts} +1 -1
  597. package/package.json +1 -1
  598. package/dist/agent-CWkIH3v1.js +0 -2
  599. package/dist/api-DCUFwcas.js +0 -2
  600. package/dist/api-DSeD5B7z.js +0 -3
  601. package/dist/browser-cli-BxrEWwvH.js +0 -2
  602. package/dist/browser-control-auth-BBaRGEk3.js +0 -2
  603. package/dist/browser-profiles-H3Xe7NEC.js +0 -2
  604. package/dist/cli-runner-CvssXH2O.js +0 -2
  605. package/dist/commands-status-C5u5HskV.js +0 -3
  606. package/dist/commands-status.runtime-C5u5HskV.js +0 -3
  607. package/dist/control-ui/assets/i18n-COx0mMoe.js +0 -2
  608. package/dist/core-api-BkogMVij.js +0 -5
  609. package/dist/core-api-CIJa6j2o.js +0 -2
  610. package/dist/get-reply-from-config.runtime-BVdhrMjk.js +0 -2
  611. package/dist/inbound-reply-dispatch-SvNWdZex.js +0 -2
  612. package/dist/mcp-http-8cStZ_ms.js +0 -2
  613. package/dist/register.subclis-BacAIeBl.js +0 -3
  614. package/dist/reply.runtime-BVdhrMjk.js +0 -2
  615. package/dist/routes-9RYPhQYJ.js +0 -2
  616. package/dist/run-command-BAUjsRjg.js +0 -2
  617. package/dist/runtime-channel-C1d5krpn.js +0 -2
  618. package/dist/runtime-embedded-agent.runtime-DIvbnDcN.js +0 -2
  619. package/dist/server-cron-Qh9Cr1TY.js +0 -2
  620. package/dist/session-status.runtime-_xoS5n__.js +0 -2
  621. package/dist/tui-43OCd_u0.js +0 -2
  622. /package/dist/{acp-runtime-backend-DVjLQRXB.js → acp-runtime-backend-CHZtaM6t.js} +0 -0
  623. /package/dist/{delegate-CTRmeStk.js → delegate-Dkj_5OvH.js} +0 -0
  624. /package/dist/{dispatch-acp-45xWJUGs.js → dispatch-acp-GdaHNdvf.js} +0 -0
  625. /package/dist/{heartbeat-runner-DKhQuw0b.js → heartbeat-runner-DVwbVyft.js} +0 -0
  626. /package/dist/{library-Co1N3Z6B.js → library-B-1EZjtY.js} +0 -0
  627. /package/dist/{run-session-state-BQjjRJ3A.js → run-session-state-C5YdQs7o.js} +0 -0
  628. /package/dist/{session-subagent-reactivation-Sx6DAE6-.js → session-subagent-reactivation-H5Rdwkyy.js} +0 -0
@@ -1,4 +1,4 @@
1
- import{f as e,p as t}from"./lit-runtime-DA0-mbwP.js";import{r as n}from"./i18n-COx0mMoe.js";import{s as r,v as i}from"./index-D5d_SwnF.js";var a=!1;function o(r){let o=!a;return t`
1
+ import{f as e,p as t}from"./lit-runtime-DA0-mbwP.js";import{r as n}from"./i18n-CqJHwmVQ.js";import{s as r,v as i}from"./index-CFA4p4Li.js";var a=!1;function o(r){let o=!a;return t`
2
2
  <section class="card">
3
3
  <div class="row" style="justify-content: space-between;">
4
4
  <div>
@@ -54,4 +54,4 @@ import{f as e,p as t}from"./lit-runtime-DA0-mbwP.js";import{r as n}from"./i18n-C
54
54
  </div>
55
55
  </div>
56
56
  `}export{o as renderInstances};
57
- //# sourceMappingURL=instances-CcPo2WpS.js.map
57
+ //# sourceMappingURL=instances-BbKVXLX1.js.map
@@ -1,9 +1,9 @@
1
- import{f as e,p as t}from"./lit-runtime-DA0-mbwP.js";import{r as n}from"./i18n-COx0mMoe.js";import{t as r}from"./string-coerce-BuYUxt7q.js";var i=[`trace`,`debug`,`info`,`warn`,`error`,`fatal`];function a(e){if(!e)return``;let t=new Date(e);return Number.isNaN(t.getTime())?e:t.toLocaleTimeString()}function o(e,t){return t?r([e.message,e.subsystem,e.raw].filter(Boolean).join(` `)).includes(t):!0}function s(s){let c=r(s.filterText),l=i.some(e=>!s.levelFilters[e]),u=s.entries.filter(e=>e.level&&!s.levelFilters[e.level]?!1:o(e,c)),d=c||l?`filtered`:`visible`;return t`
1
+ import{f as e,p as t}from"./lit-runtime-DA0-mbwP.js";import{r as n}from"./i18n-CqJHwmVQ.js";import{t as r}from"./string-coerce-BuYUxt7q.js";var i=[`trace`,`debug`,`info`,`warn`,`error`,`fatal`];function a(e){if(!e)return``;let t=new Date(e);return Number.isNaN(t.getTime())?e:t.toLocaleTimeString()}function o(e,t){return t?r([e.message,e.subsystem,e.raw].filter(Boolean).join(` `)).includes(t):!0}function s(s){let c=r(s.filterText),l=i.some(e=>!s.levelFilters[e]),u=s.entries.filter(e=>e.level&&!s.levelFilters[e.level]?!1:o(e,c)),d=c||l?`filtered`:`visible`;return t`
2
2
  <section class="card card--fill-height">
3
3
  <div class="row" style="justify-content: space-between;">
4
4
  <div>
5
- <div class="card-title">Logs</div>
6
- <div class="card-sub">Gateway file logs (JSONL).</div>
5
+ <div class="card-title">${n(`logs.title`)}</div>
6
+ <div class="card-sub">${n(`logs.subtitle`)}</div>
7
7
  </div>
8
8
  <div class="row" style="gap: 8px;">
9
9
  <button class="btn" ?disabled=${s.loading} @click=${s.onRefresh}>
@@ -21,7 +21,7 @@ import{f as e,p as t}from"./lit-runtime-DA0-mbwP.js";import{r as n}from"./i18n-C
21
21
 
22
22
  <div class="filters" style="margin-top: 14px;">
23
23
  <label class="field" style="min-width: 220px;">
24
- <span>Filter</span>
24
+ <span>${n(`logs.filter`)}</span>
25
25
  <input
26
26
  .value=${s.filterText}
27
27
  @input=${e=>s.onFilterTextChange(e.target.value)}
@@ -29,7 +29,7 @@ import{f as e,p as t}from"./lit-runtime-DA0-mbwP.js";import{r as n}from"./i18n-C
29
29
  />
30
30
  </label>
31
31
  <label class="field checkbox">
32
- <span>Auto-follow</span>
32
+ <span>${n(`logs.autoFollow`)}</span>
33
33
  <input
34
34
  type="checkbox"
35
35
  .checked=${s.autoFollow}
@@ -60,7 +60,7 @@ import{f as e,p as t}from"./lit-runtime-DA0-mbwP.js";import{r as n}from"./i18n-C
60
60
  ${s.error?t`<div class="callout danger" style="margin-top: 10px;">${s.error}</div>`:e}
61
61
 
62
62
  <div class="log-stream" style="margin-top: 12px;" @scroll=${s.onScroll}>
63
- ${u.length===0?t` <div class="muted" style="padding: 12px">No log entries.</div> `:u.map(e=>t`
63
+ ${u.length===0?t` <div class="muted" style="padding: 12px">${n(`logs.noEntries`)}</div> `:u.map(e=>t`
64
64
  <div class="log-row">
65
65
  <div class="log-time mono">${a(e.time)}</div>
66
66
  <div class="log-level ${e.level??``}">${e.level??``}</div>
@@ -71,4 +71,4 @@ import{f as e,p as t}from"./lit-runtime-DA0-mbwP.js";import{r as n}from"./i18n-C
71
71
  </div>
72
72
  </section>
73
73
  `}export{s as renderLogs};
74
- //# sourceMappingURL=logs-D7YSLRvz.js.map
74
+ //# sourceMappingURL=logs-B4vkHG-U.js.map
@@ -1,8 +1,8 @@
1
- import{f as e,p as t}from"./lit-runtime-DA0-mbwP.js";import{r as n}from"./i18n-COx0mMoe.js";import{r}from"./string-coerce-BuYUxt7q.js";import{F as i,I as a,lt as o,z as s}from"./index-D5d_SwnF.js";function c(...e){let t=new Set;for(let n of e){if(!n)continue;if(Array.isArray(n)){for(let e of n){let n=e.trim();n&&t.add(n)}continue}let e=n.trim();e&&t.add(e)}return[...t].toSorted()}function l(e,t){let n=new Set(e);return t.every(e=>n.has(e))}function u(e){return{roles:c(e.roles,e.role),scopes:o(e.scopes)}}function d(e){let t=c(e.roles,e.role),n=Array.isArray(e.tokens)?e.tokens:e.tokens?Object.values(e.tokens):void 0;return{roles:n===void 0?t:c(n.filter(e=>!e.revokedAtMs).flatMap(e=>e.role??[])).filter(e=>t.includes(e)),scopes:o(e.scopes)}}function f(e,t){let n=u(e),r=t?d(t):null;return r?l(r.roles,n.roles)?l(r.scopes,n.scopes)?{kind:`re-approval`,requested:n,approved:r}:{kind:`scope-upgrade`,requested:n,approved:r}:{kind:`role-upgrade`,requested:n,approved:r}:{kind:`new-pairing`,requested:n,approved:null}}function p(e){let t=e?.agents??{},n=Array.isArray(t.list)?t.list:[],i=[];return n.forEach((e,t)=>{if(!e||typeof e!=`object`)return;let n=e,a=r(n.id)??``;if(!a)return;let o=r(n.name),s=n.default===!0;i.push({id:a,name:o,isDefault:s,index:t,record:n})}),i}function m(e,t){let n=new Set(t),i=[];for(let t of e){if(!(Array.isArray(t.commands)?t.commands:[]).some(e=>n.has(String(e))))continue;let e=r(t.nodeId)??``;if(!e)continue;let a=r(t.displayName)??e;i.push({id:e,label:a===e?e:`${a} · ${e}`})}return i.sort((e,t)=>e.label.localeCompare(t.label)),i}var h=`__defaults__`,g=[{value:`deny`,label:`nodes.exec.securityLevels.deny`},{value:`allowlist`,label:`nodes.exec.securityLevels.allowlist`},{value:`full`,label:`nodes.exec.securityLevels.full`}],_=[{value:`off`,label:`nodes.exec.askLevels.off`},{value:`on-miss`,label:`nodes.exec.askLevels.onMiss`},{value:`always`,label:`nodes.exec.askLevels.always`}];function v(e){return e===`allowlist`||e===`full`||e===`deny`?e:`deny`}function y(e){return e===`always`||e===`off`||e===`on-miss`?e:`on-miss`}function b(e){let t=e?.defaults??{};return{security:v(t.security),ask:y(t.ask),askFallback:v(t.askFallback??`deny`),autoAllowSkills:t.autoAllowSkills??!1}}function x(e){return p(e).map(e=>({id:e.id,name:e.name,isDefault:e.isDefault}))}function S(e,t){let n=x(e),r=Object.keys(t?.agents??{}),i=new Map;n.forEach(e=>i.set(e.id,e)),r.forEach(e=>{i.has(e)||i.set(e,{id:e})});let a=Array.from(i.values());return a.length===0&&a.push({id:`main`,isDefault:!0}),a.sort((e,t)=>{if(e.isDefault&&!t.isDefault)return-1;if(!e.isDefault&&t.isDefault)return 1;let n=e.name?.trim()?e.name:e.id,r=t.name?.trim()?t.name:t.id;return n.localeCompare(r)}),a}function C(e,t){return e===h?h:e&&t.some(t=>t.id===e)?e:h}function w(e){let t=e.execApprovalsForm??e.execApprovalsSnapshot?.file??null,n=!!t,r=b(t),i=S(e.configForm,t),a=j(e.nodes),o=e.execApprovalsTarget,s=o===`node`&&e.execApprovalsTargetNodeId?e.execApprovalsTargetNodeId:null;o===`node`&&s&&!a.some(e=>e.id===s)&&(s=null);let c=C(e.execApprovalsSelectedAgent,i),l=c===h?null:(t?.agents??{})[c]??null,u=Array.isArray(l?.allowlist)?l.allowlist??[]:[];return{ready:n,disabled:e.execApprovalsSaving||e.execApprovalsLoading,dirty:e.execApprovalsDirty,loading:e.execApprovalsLoading,saving:e.execApprovalsSaving,form:t,defaults:r,selectedScope:c,selectedAgent:l,agents:i,allowlist:u,target:o,targetNodeId:s,targetNodes:a,onSelectScope:e.onExecApprovalsSelectAgent,onSelectTarget:e.onExecApprovalsTargetChange,onPatch:e.onExecApprovalsPatch,onRemove:e.onExecApprovalsRemove,onLoad:e.onLoadExecApprovals,onSave:e.onSaveExecApprovals}}function T(r){let i=r.ready,a=r.target!==`node`||!!r.targetNodeId;return t`
1
+ import{f as e,p as t}from"./lit-runtime-DA0-mbwP.js";import{r as n}from"./i18n-CqJHwmVQ.js";import{r}from"./string-coerce-BuYUxt7q.js";import{F as i,I as a,lt as o,z as s}from"./index-CFA4p4Li.js";function c(...e){let t=new Set;for(let n of e){if(!n)continue;if(Array.isArray(n)){for(let e of n){let n=e.trim();n&&t.add(n)}continue}let e=n.trim();e&&t.add(e)}return[...t].toSorted()}function l(e,t){let n=new Set(e);return t.every(e=>n.has(e))}function u(e){return{roles:c(e.roles,e.role),scopes:o(e.scopes)}}function d(e){let t=c(e.roles,e.role),n=Array.isArray(e.tokens)?e.tokens:e.tokens?Object.values(e.tokens):void 0;return{roles:n===void 0?t:c(n.filter(e=>!e.revokedAtMs).flatMap(e=>e.role??[])).filter(e=>t.includes(e)),scopes:o(e.scopes)}}function f(e,t){let n=u(e),r=t?d(t):null;return r?l(r.roles,n.roles)?l(r.scopes,n.scopes)?{kind:`re-approval`,requested:n,approved:r}:{kind:`scope-upgrade`,requested:n,approved:r}:{kind:`role-upgrade`,requested:n,approved:r}:{kind:`new-pairing`,requested:n,approved:null}}function p(e){let t=e?.agents??{},n=Array.isArray(t.list)?t.list:[],i=[];return n.forEach((e,t)=>{if(!e||typeof e!=`object`)return;let n=e,a=r(n.id)??``;if(!a)return;let o=r(n.name),s=n.default===!0;i.push({id:a,name:o,isDefault:s,index:t,record:n})}),i}function m(e,t){let n=new Set(t),i=[];for(let t of e){if(!(Array.isArray(t.commands)?t.commands:[]).some(e=>n.has(String(e))))continue;let e=r(t.nodeId)??``;if(!e)continue;let a=r(t.displayName)??e;i.push({id:e,label:a===e?e:`${a} · ${e}`})}return i.sort((e,t)=>e.label.localeCompare(t.label)),i}var h=`__defaults__`,g=[{value:`deny`,label:`nodes.exec.securityLevels.deny`},{value:`allowlist`,label:`nodes.exec.securityLevels.allowlist`},{value:`full`,label:`nodes.exec.securityLevels.full`}],_=[{value:`off`,label:`nodes.exec.askLevels.off`},{value:`on-miss`,label:`nodes.exec.askLevels.onMiss`},{value:`always`,label:`nodes.exec.askLevels.always`}];function v(e){return e===`allowlist`||e===`full`||e===`deny`?e:`deny`}function y(e){return e===`always`||e===`off`||e===`on-miss`?e:`on-miss`}function b(e){let t=e?.defaults??{};return{security:v(t.security),ask:y(t.ask),askFallback:v(t.askFallback??`deny`),autoAllowSkills:t.autoAllowSkills??!1}}function x(e){return p(e).map(e=>({id:e.id,name:e.name,isDefault:e.isDefault}))}function S(e,t){let n=x(e),r=Object.keys(t?.agents??{}),i=new Map;n.forEach(e=>i.set(e.id,e)),r.forEach(e=>{i.has(e)||i.set(e,{id:e})});let a=Array.from(i.values());return a.length===0&&a.push({id:`main`,isDefault:!0}),a.sort((e,t)=>{if(e.isDefault&&!t.isDefault)return-1;if(!e.isDefault&&t.isDefault)return 1;let n=e.name?.trim()?e.name:e.id,r=t.name?.trim()?t.name:t.id;return n.localeCompare(r)}),a}function C(e,t){return e===h?h:e&&t.some(t=>t.id===e)?e:h}function w(e){let t=e.execApprovalsForm??e.execApprovalsSnapshot?.file??null,n=!!t,r=b(t),i=S(e.configForm,t),a=j(e.nodes),o=e.execApprovalsTarget,s=o===`node`&&e.execApprovalsTargetNodeId?e.execApprovalsTargetNodeId:null;o===`node`&&s&&!a.some(e=>e.id===s)&&(s=null);let c=C(e.execApprovalsSelectedAgent,i),l=c===h?null:(t?.agents??{})[c]??null,u=Array.isArray(l?.allowlist)?l.allowlist??[]:[];return{ready:n,disabled:e.execApprovalsSaving||e.execApprovalsLoading,dirty:e.execApprovalsDirty,loading:e.execApprovalsLoading,saving:e.execApprovalsSaving,form:t,defaults:r,selectedScope:c,selectedAgent:l,agents:i,allowlist:u,target:o,targetNodeId:s,targetNodes:a,onSelectScope:e.onExecApprovalsSelectAgent,onSelectTarget:e.onExecApprovalsTargetChange,onPatch:e.onExecApprovalsPatch,onRemove:e.onExecApprovalsRemove,onLoad:e.onLoadExecApprovals,onSave:e.onSaveExecApprovals}}function T(r){let i=r.ready,a=r.target!==`node`||!!r.targetNodeId;return t`
2
2
  <section class="card">
3
3
  <div class="row" style="justify-content: space-between; align-items: center;">
4
4
  <div>
5
- <div class="card-title">Exec approvals</div>
5
+ <div class="card-title">${n(`nodes.execApprovals`)}</div>
6
6
  <div class="card-sub">
7
7
  Allowlist and approval policy for <span class="mono">exec host=gateway/node</span>.
8
8
  </div>
@@ -21,39 +21,41 @@ import{f as e,p as t}from"./lit-runtime-DA0-mbwP.js";import{r as n}from"./i18n-C
21
21
  ${D(r)} ${O(r)}
22
22
  ${r.selectedScope===h?e:k(r)}
23
23
  `:t`<div class="row" style="margin-top: 12px; gap: 12px;">
24
- <div class="muted">Load exec approvals to edit allowlists.</div>
24
+ <div class="muted">${n(`nodes.execApprovalsLoadHint`)}</div>
25
25
  <button class="btn" ?disabled=${r.loading||!a} @click=${r.onLoad}>
26
26
  ${r.loading?n(`common.loading`):n(`common.loadApprovals`)}
27
27
  </button>
28
28
  </div>`}
29
29
  </section>
30
- `}function E(n){let r=n.targetNodes.length>0,i=n.targetNodeId??``;return t`
30
+ `}function E(r){let i=r.targetNodes.length>0,a=r.targetNodeId??``;return t`
31
31
  <div class="list" style="margin-top: 12px;">
32
32
  <div class="list-item">
33
33
  <div class="list-main">
34
- <div class="list-title">Target</div>
34
+ <div class="list-title">${n(`nodes.target`)}</div>
35
35
  <div class="list-sub">Gateway edits local approvals; node edits the selected node.</div>
36
36
  </div>
37
37
  <div class="list-meta">
38
38
  <label class="field">
39
39
  <span>Host</span>
40
40
  <select
41
- ?disabled=${n.disabled}
42
- @change=${e=>{if(e.target.value===`node`){let e=n.targetNodes[0]?.id??null;n.onSelectTarget(`node`,i||e)}else n.onSelectTarget(`gateway`,null)}}
41
+ ?disabled=${r.disabled}
42
+ @change=${e=>{if(e.target.value===`node`){let e=r.targetNodes[0]?.id??null;r.onSelectTarget(`node`,a||e)}else r.onSelectTarget(`gateway`,null)}}
43
43
  >
44
- <option value="gateway" ?selected=${n.target===`gateway`}>Gateway</option>
45
- <option value="node" ?selected=${n.target===`node`}>Node</option>
44
+ <option value="gateway" ?selected=${r.target===`gateway`}>Gateway</option>
45
+ <option value="node" ?selected=${r.target===`node`}>
46
+ ${n(`nodes.nodeOption`)}
47
+ </option>
46
48
  </select>
47
49
  </label>
48
- ${n.target===`node`?t`
50
+ ${r.target===`node`?t`
49
51
  <label class="field">
50
- <span>Node</span>
52
+ <span>${n(`nodes.nodeLabel`)}</span>
51
53
  <select
52
- ?disabled=${n.disabled||!r}
53
- @change=${e=>{let t=e.target.value.trim();n.onSelectTarget(`node`,t||null)}}
54
+ ?disabled=${r.disabled||!i}
55
+ @change=${e=>{let t=e.target.value.trim();r.onSelectTarget(`node`,t||null)}}
54
56
  >
55
- <option value="" ?selected=${i===``}>Select node</option>
56
- ${n.targetNodes.map(e=>t`<option value=${e.id} ?selected=${i===e.id}>
57
+ <option value="" ?selected=${a===``}>Select node</option>
58
+ ${r.targetNodes.map(e=>t`<option value=${e.id} ?selected=${a===e.id}>
57
59
  ${e.label}
58
60
  </option>`)}
59
61
  </select>
@@ -61,11 +63,11 @@ import{f as e,p as t}from"./lit-runtime-DA0-mbwP.js";import{r as n}from"./i18n-C
61
63
  `:e}
62
64
  </div>
63
65
  </div>
64
- ${n.target===`node`&&!r?t` <div class="muted">No nodes advertise exec approvals yet.</div> `:e}
66
+ ${r.target===`node`&&!i?t` <div class="muted">${n(`nodes.noExecApprovalsNodes`)}</div> `:e}
65
67
  </div>
66
68
  `}function D(e){return t`
67
69
  <div class="row" style="margin-top: 12px; gap: 8px; flex-wrap: wrap;">
68
- <span class="label">Scope</span>
70
+ <span class="label">${n(`nodes.scope`)}</span>
69
71
  <div class="row" style="gap: 8px; flex-wrap: wrap;">
70
72
  <button
71
73
  class="btn btn--sm ${e.selectedScope===h?`active`:``}"
@@ -187,45 +189,47 @@ import{f as e,p as t}from"./lit-runtime-DA0-mbwP.js";import{r as n}from"./i18n-C
187
189
  </div>
188
190
  </div>
189
191
  </div>
190
- `}function k(e){let n=[`agents`,e.selectedScope,`allowlist`],r=e.allowlist;return t`
192
+ `}function k(e){let r=[`agents`,e.selectedScope,`allowlist`],i=e.allowlist;return t`
191
193
  <div class="row" style="margin-top: 18px; justify-content: space-between;">
192
194
  <div>
193
- <div class="card-title">Allowlist</div>
195
+ <div class="card-title">${n(`nodes.allowlist`)}</div>
194
196
  <div class="card-sub">Case-insensitive glob patterns.</div>
195
197
  </div>
196
198
  <button
197
199
  class="btn btn--sm"
198
200
  ?disabled=${e.disabled}
199
- @click=${()=>{let t=[...r,{pattern:``}];e.onPatch(n,t)}}
201
+ @click=${()=>{let t=[...i,{pattern:``}];e.onPatch(r,t)}}
200
202
  >
201
203
  Add pattern
202
204
  </button>
203
205
  </div>
204
206
  <div class="list" style="margin-top: 12px;">
205
- ${r.length===0?t` <div class="muted">No allowlist entries yet.</div> `:r.map((t,n)=>A(e,t,n))}
207
+ ${i.length===0?t` <div class="muted">${n(`nodes.noAllowlistEntries`)}</div> `:i.map((t,n)=>A(e,t,n))}
206
208
  </div>
207
- `}function A(n,r,a){let o=r.lastUsedAt?s(r.lastUsedAt):`never`,c=r.lastUsedCommand?i(r.lastUsedCommand,120):null,l=r.lastResolvedPath?i(r.lastResolvedPath,120):null;return t`
209
+ `}function A(r,a,o){let c=a.lastUsedAt?s(a.lastUsedAt):`never`,l=a.lastUsedCommand?i(a.lastUsedCommand,120):null,u=a.lastResolvedPath?i(a.lastResolvedPath,120):null;return t`
208
210
  <div class="list-item">
209
211
  <div class="list-main">
210
- <div class="list-title">${r.pattern?.trim()?r.pattern:`New pattern`}</div>
211
- <div class="list-sub">Last used: ${o}</div>
212
- ${c?t`<div class="list-sub mono">${c}</div>`:e}
212
+ <div class="list-title">
213
+ ${a.pattern?.trim()?a.pattern:n(`execApproval.newPattern`)}
214
+ </div>
215
+ <div class="list-sub">Last used: ${c}</div>
213
216
  ${l?t`<div class="list-sub mono">${l}</div>`:e}
217
+ ${u?t`<div class="list-sub mono">${u}</div>`:e}
214
218
  </div>
215
219
  <div class="list-meta">
216
220
  <label class="field">
217
221
  <span>Pattern</span>
218
222
  <input
219
223
  type="text"
220
- .value=${r.pattern??``}
221
- ?disabled=${n.disabled}
222
- @input=${e=>{let t=e.target;n.onPatch([`agents`,n.selectedScope,`allowlist`,a,`pattern`],t.value)}}
224
+ .value=${a.pattern??``}
225
+ ?disabled=${r.disabled}
226
+ @input=${e=>{let t=e.target;r.onPatch([`agents`,r.selectedScope,`allowlist`,o,`pattern`],t.value)}}
223
227
  />
224
228
  </label>
225
229
  <button
226
230
  class="btn btn--sm danger"
227
- ?disabled=${n.disabled}
228
- @click=${()=>{if(n.allowlist.length<=1){n.onRemove([`agents`,n.selectedScope,`allowlist`]);return}n.onRemove([`agents`,n.selectedScope,`allowlist`,a])}}
231
+ ?disabled=${r.disabled}
232
+ @click=${()=>{if(r.allowlist.length<=1){r.onRemove([`agents`,r.selectedScope,`allowlist`]);return}r.onRemove([`agents`,r.selectedScope,`allowlist`,o])}}
229
233
  >
230
234
  Remove
231
235
  </button>
@@ -236,7 +240,7 @@ import{f as e,p as t}from"./lit-runtime-DA0-mbwP.js";import{r as n}from"./i18n-C
236
240
  <section class="card">
237
241
  <div class="row" style="justify-content: space-between;">
238
242
  <div>
239
- <div class="card-title">Nodes</div>
243
+ <div class="card-title">${n(`nodes.title`)}</div>
240
244
  <div class="card-sub">Paired devices and live links.</div>
241
245
  </div>
242
246
  <button class="btn" ?disabled=${e.loading} @click=${e.onRefresh}>
@@ -244,14 +248,14 @@ import{f as e,p as t}from"./lit-runtime-DA0-mbwP.js";import{r as n}from"./i18n-C
244
248
  </button>
245
249
  </div>
246
250
  <div class="list" style="margin-top: 16px;">
247
- ${e.nodes.length===0?t` <div class="muted">No nodes found.</div> `:e.nodes.map(e=>G(e))}
251
+ ${e.nodes.length===0?t` <div class="muted">${n(`nodes.noNodesFound`)}</div> `:e.nodes.map(e=>G(e))}
248
252
  </div>
249
253
  </section>
250
254
  `}function N(i){let a=i.devicesList??{pending:[],paired:[]},o=Array.isArray(a.pending)?a.pending:[],s=Array.isArray(a.paired)?a.paired:[],c=new Map(s.map(e=>[r(e.deviceId),e]).filter(e=>!!e[0]));return t`
251
255
  <section class="card">
252
256
  <div class="row" style="justify-content: space-between;">
253
257
  <div>
254
- <div class="card-title">Devices</div>
258
+ <div class="card-title">${n(`nodes.devices`)}</div>
255
259
  <div class="card-sub">Pairing requests + role tokens.</div>
256
260
  </div>
257
261
  <button class="btn" ?disabled=${i.devicesLoading} @click=${i.onDevicesRefresh}>
@@ -261,14 +265,16 @@ import{f as e,p as t}from"./lit-runtime-DA0-mbwP.js";import{r as n}from"./i18n-C
261
265
  ${i.devicesError?t`<div class="callout danger" style="margin-top: 12px;">${i.devicesError}</div>`:e}
262
266
  <div class="list" style="margin-top: 16px;">
263
267
  ${o.length>0?t`
264
- <div class="muted" style="margin-bottom: 8px;">Pending</div>
268
+ <div class="muted" style="margin-bottom: 8px;">${n(`nodes.pending`)}</div>
265
269
  ${o.map(e=>L(e,i,P(c,e)))}
266
270
  `:e}
267
271
  ${s.length>0?t`
268
- <div class="muted" style="margin-top: 12px; margin-bottom: 8px;">Paired</div>
272
+ <div class="muted" style="margin-top: 12px; margin-bottom: 8px;">
273
+ ${n(`nodes.paired`)}
274
+ </div>
269
275
  ${s.map(e=>R(e,i))}
270
276
  `:e}
271
- ${o.length===0&&s.length===0?t` <div class="muted">No paired devices.</div> `:e}
277
+ ${o.length===0&&s.length===0?t` <div class="muted">${n(`nodes.noPairedDevices`)}</div> `:e}
272
278
  </div>
273
279
  </section>
274
280
  `}function P(e,t){let n=r(t.deviceId);if(!n)return;let i=e.get(n);if(!i)return;let a=r(t.publicKey),o=r(i.publicKey);if(!(a&&o&&a!==o))return i}function F(e){return e?`roles: ${a(e.roles)} · scopes: ${a(e.scopes)}`:`none`}function I(e){switch(e){case`scope-upgrade`:return`scope upgrade requires approval`;case`role-upgrade`:return`role upgrade requires approval`;case`re-approval`:return`reconnect details changed; approval required`;case`new-pairing`:return`new device pairing request`}throw Error(`unsupported pending approval kind`)}function L(i,a,o){let c=r(i.displayName)||i.deviceId,l=typeof i.ts==`number`?s(i.ts):n(`common.na`),u=f(i,o),d=i.isRepair?` · repair`:``,p=i.remoteIp?` · ${i.remoteIp}`:``;return t`
@@ -299,16 +305,16 @@ import{f as e,p as t}from"./lit-runtime-DA0-mbwP.js";import{r as n}from"./i18n-C
299
305
  </div>
300
306
  </div>
301
307
  </div>
302
- `}function R(e,n){let i=r(e.displayName)||e.deviceId,o=e.remoteIp?` · ${e.remoteIp}`:``,s=`roles: ${a(e.roles)}`,c=`scopes: ${a(e.scopes)}`,l=Array.isArray(e.tokens)?e.tokens:[];return t`
308
+ `}function R(e,i){let o=r(e.displayName)||e.deviceId,s=e.remoteIp?` · ${e.remoteIp}`:``,c=`roles: ${a(e.roles)}`,l=`scopes: ${a(e.scopes)}`,u=Array.isArray(e.tokens)?e.tokens:[];return t`
303
309
  <div class="list-item">
304
310
  <div class="list-main">
305
- <div class="list-title">${i}</div>
306
- <div class="list-sub">${e.deviceId}${o}</div>
307
- <div class="muted" style="margin-top: 6px;">${s} · ${c}</div>
308
- ${l.length===0?t` <div class="muted" style="margin-top: 6px">Tokens: none</div> `:t`
309
- <div class="muted" style="margin-top: 10px;">Tokens</div>
311
+ <div class="list-title">${o}</div>
312
+ <div class="list-sub">${e.deviceId}${s}</div>
313
+ <div class="muted" style="margin-top: 6px;">${c} · ${l}</div>
314
+ ${u.length===0?t` <div class="muted" style="margin-top: 6px">${n(`nodes.tokensNone`)}</div> `:t`
315
+ <div class="muted" style="margin-top: 10px;">${n(`nodes.tokens`)}</div>
310
316
  <div style="display: flex; flex-direction: column; gap: 8px; margin-top: 6px;">
311
- ${l.map(t=>z(e.deviceId,t,n))}
317
+ ${u.map(t=>z(e.deviceId,t,i))}
312
318
  </div>
313
319
  `}
314
320
  </div>
@@ -368,17 +374,19 @@ import{f as e,p as t}from"./lit-runtime-DA0-mbwP.js";import{r as n}from"./i18n-C
368
374
  ?disabled=${r.disabled||!i}
369
375
  @change=${e=>{let t=e.target.value.trim();r.onBindDefault(t||null)}}
370
376
  >
371
- <option value="" ?selected=${a===``}>Any node</option>
377
+ <option value="" ?selected=${a===``}>
378
+ ${n(`nodes.anyNode`)}
379
+ </option>
372
380
  ${r.nodes.map(e=>t`<option value=${e.id} ?selected=${a===e.id}>
373
381
  ${e.label}
374
382
  </option>`)}
375
383
  </select>
376
384
  </label>
377
- ${i?e:t` <div class="muted">No nodes with system.run available.</div> `}
385
+ ${i?e:t` <div class="muted">${n(`nodes.noSystemRunNodes`)}</div> `}
378
386
  </div>
379
387
  </div>
380
388
 
381
- ${r.agents.length===0?t` <div class="muted">No agents found.</div> `:r.agents.map(e=>H(e,r))}
389
+ ${r.agents.length===0?t` <div class="muted">${n(`nodes.noAgentsFound`)}</div> `:r.agents.map(e=>H(e,r))}
382
390
  </div>
383
391
  `:t`<div class="row" style="margin-top: 12px; gap: 12px;">
384
392
  <div class="muted">${n(`nodes.binding.loadConfigHint`)}</div>
@@ -387,26 +395,26 @@ import{f as e,p as t}from"./lit-runtime-DA0-mbwP.js";import{r as n}from"./i18n-C
387
395
  </button>
388
396
  </div>`}
389
397
  </section>
390
- `}function H(e,n){let r=e.binding??`__default__`,i=e.name?.trim()?`${e.name} (${e.id})`:e.id,a=n.nodes.length>0;return t`
398
+ `}function H(e,r){let i=e.binding??`__default__`,a=e.name?.trim()?`${e.name} (${e.id})`:e.id,o=r.nodes.length>0;return t`
391
399
  <div class="list-item">
392
400
  <div class="list-main">
393
- <div class="list-title">${i}</div>
401
+ <div class="list-title">${a}</div>
394
402
  <div class="list-sub">
395
- ${e.isDefault?`default agent`:`agent`} ·
396
- ${r===`__default__`?`uses default (${n.defaultBinding??`any`})`:`override: ${e.binding}`}
403
+ ${e.isDefault?n(`common.default`):`agent`} ·
404
+ ${i===`__default__`?`uses default (${r.defaultBinding??`any`})`:`override: ${e.binding}`}
397
405
  </div>
398
406
  </div>
399
407
  <div class="list-meta">
400
408
  <label class="field">
401
409
  <span>Binding</span>
402
410
  <select
403
- ?disabled=${n.disabled||!a}
404
- @change=${t=>{let r=t.target.value.trim();n.onBindAgent(e.index,r===`__default__`?null:r)}}
411
+ ?disabled=${r.disabled||!o}
412
+ @change=${t=>{let n=t.target.value.trim();r.onBindAgent(e.index,n===`__default__`?null:n)}}
405
413
  >
406
- <option value="__default__" ?selected=${r===`__default__`}>
414
+ <option value="__default__" ?selected=${i===`__default__`}>
407
415
  Use default
408
416
  </option>
409
- ${n.nodes.map(e=>t`<option value=${e.id} ?selected=${r===e.id}>
417
+ ${r.nodes.map(e=>t`<option value=${e.id} ?selected=${i===e.id}>
410
418
  ${e.label}
411
419
  </option>`)}
412
420
  </select>
@@ -433,4 +441,4 @@ import{f as e,p as t}from"./lit-runtime-DA0-mbwP.js";import{r as n}from"./i18n-C
433
441
  </div>
434
442
  </div>
435
443
  `}export{M as renderNodes};
436
- //# sourceMappingURL=nodes-8OSr5IQB.js.map
444
+ //# sourceMappingURL=nodes-DrdIa_Kj.js.map
@@ -1,2 +1,2 @@
1
- import{r as e}from"./i18n-COx0mMoe.js";var t=1e4;function n(){return Promise.race([navigator.serviceWorker.ready,new Promise((e,n)=>setTimeout(()=>n(Error(`Service worker not ready (timed out)`)),t))])}function r(e){let t=(e+`=`.repeat((4-e.length%4)%4)).replace(/-/g,`+`).replace(/_/g,`/`),n=atob(t),r=new Uint8Array(n.length);for(let e=0;e<n.length;e++)r[e]=n.charCodeAt(e);return r}async function i(){return`serviceWorker`in navigator?await(await n()).pushManager.getSubscription():null}async function a(t){let i=await Notification.requestPermission();if(i!==`granted`)throw Error(`Notification permission ${i}`);let a=(await t.request(`push.web.vapidPublicKey`,{})).vapidPublicKey;if(!a)throw Error(`Failed to retrieve VAPID public key`);let o=await(await n()).pushManager.subscribe({userVisibleOnly:!0,applicationServerKey:r(a).buffer}),s=o.toJSON();if(!s.endpoint||!s.keys?.p256dh||!s.keys?.auth)throw Error(e(`chat.invalidPushSubscription`));try{return await t.request(`push.web.subscribe`,{endpoint:s.endpoint,keys:{p256dh:s.keys.p256dh,auth:s.keys.auth}})}catch(e){try{await o.unsubscribe()}catch{}throw e}}async function o(e){let t=await(await n()).pushManager.getSubscription();if(t){try{await e.request(`push.web.unsubscribe`,{endpoint:t.endpoint})}catch{}await t.unsubscribe()}}async function s(e,t){await e.request(`push.web.test`,{title:t?.title,body:t?.body})}export{i as getExistingSubscription,s as sendTestWebPush,a as subscribeToWebPush,o as unsubscribeFromWebPush};
2
- //# sourceMappingURL=push-subscription-SK4PlhIV.js.map
1
+ import{r as e}from"./i18n-CqJHwmVQ.js";var t=1e4;function n(){return Promise.race([navigator.serviceWorker.ready,new Promise((e,n)=>setTimeout(()=>n(Error(`Service worker not ready (timed out)`)),t))])}function r(e){let t=(e+`=`.repeat((4-e.length%4)%4)).replace(/-/g,`+`).replace(/_/g,`/`),n=atob(t),r=new Uint8Array(n.length);for(let e=0;e<n.length;e++)r[e]=n.charCodeAt(e);return r}async function i(){return`serviceWorker`in navigator?await(await n()).pushManager.getSubscription():null}async function a(t){let i=await Notification.requestPermission();if(i!==`granted`)throw Error(`Notification permission ${i}`);let a=(await t.request(`push.web.vapidPublicKey`,{})).vapidPublicKey;if(!a)throw Error(`Failed to retrieve VAPID public key`);let o=await(await n()).pushManager.subscribe({userVisibleOnly:!0,applicationServerKey:r(a).buffer}),s=o.toJSON();if(!s.endpoint||!s.keys?.p256dh||!s.keys?.auth)throw Error(e(`chat.invalidPushSubscription`));try{return await t.request(`push.web.subscribe`,{endpoint:s.endpoint,keys:{p256dh:s.keys.p256dh,auth:s.keys.auth}})}catch(e){try{await o.unsubscribe()}catch{}throw e}}async function o(e){let t=await(await n()).pushManager.getSubscription();if(t){try{await e.request(`push.web.unsubscribe`,{endpoint:t.endpoint})}catch{}await t.unsubscribe()}}async function s(e,t){await e.request(`push.web.test`,{title:t?.title,body:t?.body})}export{i as getExistingSubscription,s as sendTestWebPush,a as subscribeToWebPush,o as unsubscribeFromWebPush};
2
+ //# sourceMappingURL=push-subscription-Ck2KdK-7.js.map
@@ -1,4 +1,4 @@
1
- import{f as e,p as t}from"./lit-runtime-DA0-mbwP.js";import{r as n}from"./i18n-COx0mMoe.js";import{r,t as i}from"./string-coerce-BuYUxt7q.js";import{P as a,R as o,X as s,c,d as l,f as u,h as d,it as f,m as p,p as m,v as h,z as g}from"./index-D5d_SwnF.js";var _=[`off`,`minimal`,`low`,`medium`,`high`],v=[``,`off`,`on`,`full`],y=[``,`on`,`off`],b=[``,`off`,`on`,`stream`],x=[10,25,50,100];function S(e,t){return Object.prototype.hasOwnProperty.call(e,t)?e[t]??null:null}function C(e,t){return(!e.modelProvider||e.modelProvider===t?.modelProvider)&&(!e.model||e.model===t?.model)}function ee(e,t){let n=C(e,t),r=l(e.thinkingDefault??(n?t?.thinkingDefault:void 0)),i=e.thinkingLevels?.length?e.thinkingLevels:n&&t?.thinkingLevels?.length?t.thinkingLevels:(e.thinkingOptions?.length?e.thinkingOptions:n&&t?.thinkingOptions?.length?t.thinkingOptions:_).map(e=>({id:m(e),label:e}));return[{value:``,label:r},...i.map(e=>({value:m(e.id),label:u(e.id,e.label)}))]}function te(e,t){return!t||e.includes(t)?[...e]:[...e,t]}function w(e,t){return!t||e.some(e=>e.value===t)?[...e]:[...e,{value:t,label:u(t)}]}function ne(){return v.map(e=>({value:e,label:n(e===``?`sessionsView.inherit`:e===`off`?`sessionsView.offExplicit`:`sessionsView.${e}`)}))}function re(){return y.map(e=>({value:e,label:n(e===``?`sessionsView.inherit`:`sessionsView.${e}`)}))}function T(e){switch(e){case`running`:return n(`sessionsView.statusRunning`);case`done`:return n(`sessionsView.statusDone`);case`failed`:return n(`sessionsView.statusFailed`);case`killed`:return n(`sessionsView.statusKilled`);case`timeout`:return n(`sessionsView.statusTimeout`);default:return n(`sessionsView.statusUnknown`)}}function E(e){if(a(e))return{label:n(`sessionsView.statusLive`),tone:`live`};if(e.status===`running`&&e.hasActiveRun===!1)return{label:n(`sessionsView.statusIdle`),tone:`idle`};if(e.status){let t=e.status===`done`?`done`:`failed`;return{label:T(e.status),tone:t}}return e.hasActiveRun===!1?{label:n(`sessionsView.statusIdle`),tone:`idle`}:{label:n(`sessionsView.statusUnknown`),tone:`muted`}}function D(e){let r=E(e),i=`${n(`sessionsView.status`)}: ${r.label}`;return t`
1
+ import{f as e,p as t}from"./lit-runtime-DA0-mbwP.js";import{r as n}from"./i18n-CqJHwmVQ.js";import{r,t as i}from"./string-coerce-BuYUxt7q.js";import{P as a,R as o,X as s,c,d as l,f as u,h as d,it as f,m as p,p as m,v as h,z as g}from"./index-CFA4p4Li.js";var _=[`off`,`minimal`,`low`,`medium`,`high`],v=[``,`off`,`on`,`full`],y=[``,`on`,`off`],b=[``,`off`,`on`,`stream`],x=[10,25,50,100];function S(e,t){return Object.prototype.hasOwnProperty.call(e,t)?e[t]??null:null}function C(e,t){return(!e.modelProvider||e.modelProvider===t?.modelProvider)&&(!e.model||e.model===t?.model)}function ee(e,t){let n=C(e,t),r=l(e.thinkingDefault??(n?t?.thinkingDefault:void 0)),i=e.thinkingLevels?.length?e.thinkingLevels:n&&t?.thinkingLevels?.length?t.thinkingLevels:(e.thinkingOptions?.length?e.thinkingOptions:n&&t?.thinkingOptions?.length?t.thinkingOptions:_).map(e=>({id:m(e),label:e}));return[{value:``,label:r},...i.map(e=>({value:m(e.id),label:u(e.id,e.label)}))]}function te(e,t){return!t||e.includes(t)?[...e]:[...e,t]}function w(e,t){return!t||e.some(e=>e.value===t)?[...e]:[...e,{value:t,label:u(t)}]}function ne(){return v.map(e=>({value:e,label:n(e===``?`sessionsView.inherit`:e===`off`?`sessionsView.offExplicit`:`sessionsView.${e}`)}))}function re(){return y.map(e=>({value:e,label:n(e===``?`sessionsView.inherit`:`sessionsView.${e}`)}))}function T(e){switch(e){case`running`:return n(`sessionsView.statusRunning`);case`done`:return n(`sessionsView.statusDone`);case`failed`:return n(`sessionsView.statusFailed`);case`killed`:return n(`sessionsView.statusKilled`);case`timeout`:return n(`sessionsView.statusTimeout`);default:return n(`sessionsView.statusUnknown`)}}function E(e){if(a(e))return{label:n(`sessionsView.statusLive`),tone:`live`};if(e.status===`running`&&e.hasActiveRun===!1)return{label:n(`sessions.statusIdle`),tone:`idle`};if(e.status){let t=e.status===`done`?`done`:`failed`;return{label:T(e.status),tone:t}}return e.hasActiveRun===!1?{label:n(`sessions.statusIdle`),tone:`idle`}:{label:n(`sessionsView.statusUnknown`),tone:`muted`}}function D(e){let r=E(e),i=`${n(`sessionsView.status`)}: ${r.label}`;return t`
2
2
  <span
3
3
  class="session-status-badge session-status-badge--${r.tone}"
4
4
  title=${i}
@@ -7,7 +7,7 @@ import{f as e,p as t}from"./lit-runtime-DA0-mbwP.js";import{r as n}from"./i18n-C
7
7
  <span class="session-status-badge__dot" aria-hidden="true"></span>
8
8
  <span class="session-status-badge__label">${r.label}</span>
9
9
  </span>
10
- `}function ie(e){return e||null}function O(e,t,n){let r=i(t);return r?e.filter(e=>{let t=i(e.key),c=i(e.label),l=i(e.kind),u=i(e.displayName),f=i(s(e.agentRuntime)),p=i(e.status),m=e.goal?i(`${e.goal.objective} ${e.goal.status} ${d(e.goal)} ${e.goal.lastStatusNote??``}`):``,h=a(e)?`live running`:e.hasActiveRun===!1?`idle`:``;if(t.includes(r)||c.includes(r)||l.includes(r)||u.includes(r)||f.includes(r)||p.includes(r)||m.includes(r)||h.includes(r))return!0;let g=o(e.key);return(g?i(S(n,g.agentId)?.name):``).includes(r)}):e}function k(e,t,n){let r=n===`asc`?1:-1;return[...e].toSorted((e,n)=>{let i=0;switch(t){case`key`:i=(e.key??``).localeCompare(n.key??``);break;case`kind`:i=(e.kind??``).localeCompare(n.kind??``);break;case`updated`:i=(e.updatedAt??0)-(n.updatedAt??0);break;case`tokens`:i=(e.totalTokens??e.inputTokens??e.outputTokens??0)-(n.totalTokens??n.inputTokens??n.outputTokens??0);break}return i*r})}function A(e,t,n){let r=t*n;return e.slice(r,r+n)}function j(e){let t=Number(e.trim());return Number.isFinite(t)&&t>0}function M(e){return i(e.searchQuery).length>0||j(e.activeMinutes)||j(e.limit)||!e.includeGlobal||!e.includeUnknown||!e.showArchived}function N(e){switch(e){case`manual`:return n(`sessionsView.manual`);case`auto-threshold`:return n(`sessionsView.autoThreshold`);case`overflow-retry`:return n(`sessionsView.overflowRetry`);case`timeout-retry`:return n(`sessionsView.timeoutRetry`);default:return e}}function P(e){return n(e===1?`sessionsView.checkpoint`:`sessionsView.checkpoints`,{count:String(e)})}function F(e){return typeof e.tokensBefore==`number`&&typeof e.tokensAfter==`number`&&Number.isFinite(e.tokensBefore)&&Number.isFinite(e.tokensAfter)?n(`sessionsView.tokenRange`,{before:e.tokensBefore.toLocaleString(),after:e.tokensAfter.toLocaleString()}):typeof e.tokensBefore==`number`&&Number.isFinite(e.tokensBefore)?n(`sessionsView.tokensBefore`,{count:e.tokensBefore.toLocaleString()}):n(`sessionsView.tokenDeltaUnavailable`)}function I(e){if(typeof e!=`number`||!Number.isFinite(e)||e<0)return null;let t=Math.round(e/1e3);if(t<60)return`${t}s`;let n=Math.floor(t/60),r=t%60;if(n<60)return r>0?`${n}m ${r}s`:`${n}m`;let i=Math.floor(n/60),a=n%60;return a>0?`${i}h ${a}m`:`${i}h`}function L(n){return n?t`
10
+ `}function ie(e){return e||null}function O(e,t,r){let c=i(t);return c?e.filter(e=>{let t=i(e.key),l=i(e.label),u=i(e.kind),f=i(e.displayName),p=i(s(e.agentRuntime)),m=i(e.status),h=e.goal?i(`${e.goal.objective} ${e.goal.status} ${d(e.goal)} ${e.goal.lastStatusNote??``}`):``,g=a(e)?n(`sessions.statusLive`):e.hasActiveRun===!1?n(`sessions.statusIdle`):``;if(t.includes(c)||l.includes(c)||u.includes(c)||f.includes(c)||p.includes(c)||m.includes(c)||h.includes(c)||g.includes(c))return!0;let _=o(e.key);return(_?i(S(r,_.agentId)?.name):``).includes(c)}):e}function k(e,t,n){let r=n===`asc`?1:-1;return[...e].toSorted((e,n)=>{let i=0;switch(t){case`key`:i=(e.key??``).localeCompare(n.key??``);break;case`kind`:i=(e.kind??``).localeCompare(n.kind??``);break;case`updated`:i=(e.updatedAt??0)-(n.updatedAt??0);break;case`tokens`:i=(e.totalTokens??e.inputTokens??e.outputTokens??0)-(n.totalTokens??n.inputTokens??n.outputTokens??0);break}return i*r})}function A(e,t,n){let r=t*n;return e.slice(r,r+n)}function j(e){let t=Number(e.trim());return Number.isFinite(t)&&t>0}function M(e){return i(e.searchQuery).length>0||j(e.activeMinutes)||j(e.limit)||!e.includeGlobal||!e.includeUnknown||!e.showArchived}function N(e){switch(e){case`manual`:return n(`sessionsView.manual`);case`auto-threshold`:return n(`sessionsView.autoThreshold`);case`overflow-retry`:return n(`sessionsView.overflowRetry`);case`timeout-retry`:return n(`sessionsView.timeoutRetry`);default:return e}}function P(e){return n(e===1?`sessionsView.checkpoint`:`sessionsView.checkpoints`,{count:String(e)})}function F(e){return typeof e.tokensBefore==`number`&&typeof e.tokensAfter==`number`&&Number.isFinite(e.tokensBefore)&&Number.isFinite(e.tokensAfter)?n(`sessionsView.tokenRange`,{before:e.tokensBefore.toLocaleString(),after:e.tokensAfter.toLocaleString()}):typeof e.tokensBefore==`number`&&Number.isFinite(e.tokensBefore)?n(`sessionsView.tokensBefore`,{count:e.tokensBefore.toLocaleString()}):n(`sessionsView.tokenDeltaUnavailable`)}function I(e){if(typeof e!=`number`||!Number.isFinite(e)||e<0)return null;let t=Math.round(e/1e3);if(t<60)return`${t}s`;let n=Math.floor(t/60),r=t%60;if(n<60)return r>0?`${n}m ${r}s`:`${n}m`;let i=Math.floor(n/60),a=n%60;return a>0?`${i}h ${a}m`:`${i}h`}function L(n){return n?t`
11
11
  <span
12
12
  class="session-goal-chip session-goal-chip--${n.status}"
13
13
  title=${p(n)}
@@ -422,4 +422,4 @@ import{f as e,p as t}from"./lit-runtime-DA0-mbwP.js";import{r as n}from"./i18n-C
422
422
  </div>
423
423
  </td>
424
424
  </tr>`]:[]]}export{V as renderSessions};
425
- //# sourceMappingURL=sessions-CRXERFxi.js.map
425
+ //# sourceMappingURL=sessions-BqDAC2V3.js.map
@@ -1,8 +1,8 @@
1
- import{f as e,i as t,o as n,p as r}from"./lit-runtime-DA0-mbwP.js";import{r as i}from"./i18n-COx0mMoe.js";import{t as a}from"./string-coerce-BuYUxt7q.js";import{F as o,_ as s,g as c,j as l}from"./index-D5d_SwnF.js";import{i as u,n as d,r as f,t as p}from"./skills-shared-KvN3lpfP.js";function m(e){return e?c(e,window.location.href):null}function h(e){!(e instanceof HTMLDialogElement)||e.open||(e.isConnected?e.showModal():queueMicrotask(()=>{e.isConnected&&!e.open&&e.showModal()}))}var g=[{id:`all`,label:`All`},{id:`ready`,label:`Ready`},{id:`needs-setup`,label:i(`agentTools.needsSetup`)},{id:`disabled`,label:`Disabled`}];function _(e,t){switch(t){case`all`:return!0;case`ready`:return!e.disabled&&e.eligible;case`needs-setup`:return!e.disabled&&!e.eligible;case`disabled`:return e.disabled}throw Error(`不支持的技能状态过滤器`)}function v(e){return e.disabled?`muted`:e.eligible?`ok`:`warn`}function y(e,t){let n=e.clawhub;return!n||n.status!==`linked`||!n.valid?null:t[l({registry:n.registry,slug:n.slug,version:n.installedVersion})]??null}function b(e){if(!e)return`Unavailable`;let t=e.securityStatus?.trim()||null;return e.ok&&e.decision===`pass`?t===`clean`||!t?`Clean`:t:t===`pending`||t===`not-run`?`Pending`:t===`malicious`?`Blocked`:t===`suspicious`?`Review`:`Unavailable`}function x(e){if(!e)return`chip-warn`;if(e.ok&&e.decision===`pass`)return`chip-ok`;let t=e.securityStatus?.trim()||null;return t===`pending`||t===`not-run`?`chip`:`chip-warn`}function S(t){let n=t.report?.skills??[],o={all:n.length,ready:0,"needs-setup":0,disabled:0};for(let e of n)e.disabled?o.disabled++:e.eligible?o.ready++:o[`needs-setup`]++;let s=t.statusFilter===`all`?n:n.filter(e=>_(e,t.statusFilter)),c=a(t.filter),l=c?s.filter(e=>a([e.name,e.description,e.source].join(` `)).includes(c)):s,d=u(l),f=t.detailKey?n.find(e=>e.skillKey===t.detailKey)??null:null;return r`
1
+ import{f as e,i as t,o as n,p as r}from"./lit-runtime-DA0-mbwP.js";import{r as i}from"./i18n-CqJHwmVQ.js";import{t as a}from"./string-coerce-BuYUxt7q.js";import{F as o,_ as s,g as c,j as l}from"./index-CFA4p4Li.js";import{i as u,n as d,r as f,t as p}from"./skills-shared-BWrG-mcT.js";function m(e){return e?c(e,window.location.href):null}function h(e){!(e instanceof HTMLDialogElement)||e.open||(e.isConnected?e.showModal():queueMicrotask(()=>{e.isConnected&&!e.open&&e.showModal()}))}var g=[{id:`all`,label:`All`},{id:`ready`,label:`Ready`},{id:`needs-setup`,label:i(`agentTools.needsSetup`)},{id:`disabled`,label:`Disabled`}];function _(e,t){switch(t){case`all`:return!0;case`ready`:return!e.disabled&&e.eligible;case`needs-setup`:return!e.disabled&&!e.eligible;case`disabled`:return e.disabled}throw Error(`不支持的技能状态过滤器`)}function v(e){return e.disabled?`muted`:e.eligible?`ok`:`warn`}function y(e,t){let n=e.clawhub;return!n||n.status!==`linked`||!n.valid?null:t[l({registry:n.registry,slug:n.slug,version:n.installedVersion})]??null}function b(e){if(!e)return`Unavailable`;let t=e.securityStatus?.trim()||null;return e.ok&&e.decision===`pass`?t===`clean`||!t?`Clean`:t:t===`pending`||t===`not-run`?`Pending`:t===`malicious`?`Blocked`:t===`suspicious`?`Review`:`Unavailable`}function x(e){if(!e)return`chip-warn`;if(e.ok&&e.decision===`pass`)return`chip-ok`;let t=e.securityStatus?.trim()||null;return t===`pending`||t===`not-run`?`chip`:`chip-warn`}function S(t){let n=t.report?.skills??[],o={all:n.length,ready:0,"needs-setup":0,disabled:0};for(let e of n)e.disabled?o.disabled++:e.eligible?o.ready++:o[`needs-setup`]++;let s=t.statusFilter===`all`?n:n.filter(e=>_(e,t.statusFilter)),c=a(t.filter),l=c?s.filter(e=>a([e.name,e.description,e.source].join(` `)).includes(c)):s,d=u(l),f=t.detailKey?n.find(e=>e.skillKey===t.detailKey)??null:null;return r`
2
2
  <section class="card">
3
3
  <div class="row" style="justify-content: space-between;">
4
4
  <div>
5
- <div class="card-title">Skills</div>
5
+ <div class="card-title">${i(`skills.title`)}</div>
6
6
  <div class="card-sub">Installed skills and their status.</div>
7
7
  </div>
8
8
  <button
@@ -53,12 +53,12 @@ import{f as e,i as t,o as n,p as r}from"./lit-runtime-DA0-mbwP.js";import{r as i
53
53
  <input
54
54
  .value=${t.clawhubQuery}
55
55
  @input=${e=>t.onClawHubQueryChange(e.target.value)}
56
- placeholder="Search ClawHub skills"
56
+ placeholder="${i(`skills.searchPlaceholder`)}"
57
57
  autocomplete="off"
58
58
  name="clawhub-search"
59
59
  />
60
60
  </label>
61
- ${t.clawhubSearchLoading?r`<span class="muted">Searching…</span>`:e}
61
+ ${t.clawhubSearchLoading?r`<span class="muted">${i(`skills.searching`)}</span>`:e}
62
62
  </div>
63
63
  ${t.clawhubSearchError?r`<div class="callout danger" style="margin-top: 8px;">
64
64
  ${t.clawhubSearchError}
@@ -75,7 +75,7 @@ import{f as e,i as t,o as n,p as r}from"./lit-runtime-DA0-mbwP.js";import{r as i
75
75
  ${t.error?r`<div class="callout danger" style="margin-top: 12px;">${t.error}</div>`:e}
76
76
  ${l.length===0?r`
77
77
  <div class="muted" style="margin-top: 16px">
78
- ${!t.connected&&!t.report?`Not connected to gateway.`:`No skills found.`}
78
+ ${!t.connected&&!t.report?`Not connected to gateway.`:i(`skills.noSkillsFound`)}
79
79
  </div>
80
80
  `:r`
81
81
  <div class="agent-skills-groups" style="margin-top: 16px;">
@@ -96,7 +96,9 @@ import{f as e,i as t,o as n,p as r}from"./lit-runtime-DA0-mbwP.js";import{r as i
96
96
 
97
97
  ${f?E(f,t):e}
98
98
  ${t.clawhubDetailSlug?w(t):e}
99
- `}function C(t){let n=t.clawhubResults;return n?n.length===0?r`<div class="muted" style="margin-top: 8px;">No skills found on ClawHub.</div>`:r`
99
+ `}function C(t){let n=t.clawhubResults;return n?n.length===0?r`<div class="muted" style="margin-top: 8px;">
100
+ ${i(`skills.noSkillsFoundOnClawhub`)}
101
+ </div>`:r`
100
102
  <div class="list" style="margin-top: 8px;">
101
103
  ${n.map(n=>r`
102
104
  <div
@@ -166,7 +168,7 @@ import{f as e,i as t,o as n,p as r}from"./lit-runtime-DA0-mbwP.js";import{r as i
166
168
  >
167
169
  ${t.clawhubInstallSlug===t.clawhubDetailSlug?`Installing…`:`Install ${a.skill.displayName}`}
168
170
  </button>
169
- `:r`<div class="muted">Skill not found.</div>`}
171
+ `:r`<div class="muted">${i(`skills.skillNotFound`)}</div>`}
170
172
  </div>
171
173
  </div>
172
174
  </dialog>
@@ -196,12 +198,12 @@ import{f as e,i as t,o as n,p as r}from"./lit-runtime-DA0-mbwP.js";import{r as i
196
198
  </label>
197
199
  </div>
198
200
  </div>
199
- `}function E(t,i){let a=i.busyKey===t.skillKey,o=i.edits[t.skillKey]??``,s=i.messages[t.skillKey]??null,c=t.install.length>0&&t.missing.bins.length>0,l=!!(t.bundled&&t.source!==`fengming-bundled`),u=p(t),g=d(t),_=y(t,i.clawhubVerdicts),b=i.detailTab===`card`&&t.skillCard?.present?`card`:`overview`;return r`
201
+ `}function E(t,a){let o=a.busyKey===t.skillKey,s=a.edits[t.skillKey]??``,c=a.messages[t.skillKey]??null,l=t.install.length>0&&t.missing.bins.length>0,u=!!(t.bundled&&t.source!==`fengming-bundled`),g=p(t),_=d(t),b=y(t,a.clawhubVerdicts),x=a.detailTab===`card`&&t.skillCard?.present?`card`:`overview`;return r`
200
202
  <dialog
201
203
  class="md-preview-dialog"
202
204
  ${n(h)}
203
205
  @click=${e=>{let t=e.currentTarget;e.target===t&&t.close()}}
204
- @close=${i.onDetailClose}
206
+ @close=${a.onDetailClose}
205
207
  >
206
208
  <div class="md-preview-dialog__panel">
207
209
  <div class="md-preview-dialog__header">
@@ -225,37 +227,39 @@ import{f as e,i as t,o as n,p as r}from"./lit-runtime-DA0-mbwP.js";import{r as i
225
227
  <div style="font-size: 14px; line-height: 1.5; color: var(--text);">
226
228
  ${t.description}
227
229
  </div>
228
- ${f({skill:t,showBundledBadge:l})}
230
+ ${f({skill:t,showBundledBadge:u})}
229
231
  </div>
230
232
 
231
233
  ${t.clawhub||t.skillCard?.present?r`
232
234
  <div class="agent-tabs">
233
235
  <button
234
- class="agent-tab ${b===`overview`?`active`:``}"
235
- @click=${()=>i.onDetailTabChange(`overview`)}
236
+ class="agent-tab ${x===`overview`?`active`:``}"
237
+ @click=${()=>a.onDetailTabChange(`overview`)}
236
238
  >
237
239
  Overview
238
240
  </button>
239
241
  ${t.skillCard?.present?r`<button
240
- class="agent-tab ${b===`card`?`active`:``}"
241
- @click=${()=>i.onDetailTabChange(`card`)}
242
+ class="agent-tab ${x===`card`?`active`:``}"
243
+ @click=${()=>a.onDetailTabChange(`card`)}
242
244
  >
243
245
  Skill Card
244
246
  </button>`:e}
245
247
  </div>
246
248
  `:e}
247
- ${b===`overview`?D(t,i,_):O(t,i)}
248
- ${u.length>0?r`
249
+ ${x===`overview`?D(t,a,b):O(t,a)}
250
+ ${g.length>0?r`
249
251
  <div
250
252
  class="callout"
251
253
  style="border-color: var(--warn-subtle); background: var(--warn-subtle); color: var(--warn);"
252
254
  >
253
- <div style="font-weight: 600; margin-bottom: 4px;">Missing requirements</div>
254
- <div>${u.join(`, `)}</div>
255
+ <div style="font-weight: 600; margin-bottom: 4px;">
256
+ ${i(`skills.missingRequirements`)}
257
+ </div>
258
+ <div>${g.join(`, `)}</div>
255
259
  </div>
256
260
  `:e}
257
- ${g.length>0?r`
258
- <div class="muted" style="font-size: 13px;">Reason: ${g.join(`, `)}</div>
261
+ ${_.length>0?r`
262
+ <div class="muted" style="font-size: 13px;">Reason: ${_.join(`, `)}</div>
259
263
  `:e}
260
264
 
261
265
  <div style="display: flex; align-items: center; gap: 12px;">
@@ -264,24 +268,24 @@ import{f as e,i as t,o as n,p as r}from"./lit-runtime-DA0-mbwP.js";import{r as i
264
268
  type="checkbox"
265
269
  class="skill-toggle"
266
270
  .checked=${!t.disabled}
267
- ?disabled=${a}
268
- @change=${()=>i.onToggle(t.skillKey,t.disabled)}
271
+ ?disabled=${o}
272
+ @change=${()=>a.onToggle(t.skillKey,t.disabled)}
269
273
  />
270
274
  </label>
271
275
  <span style="font-size: 13px; font-weight: 500;">
272
276
  ${t.disabled?`Disabled`:`Enabled`}
273
277
  </span>
274
- ${c?r`<button
278
+ ${l?r`<button
275
279
  class="btn"
276
- ?disabled=${a}
277
- @click=${()=>i.onInstall(t.skillKey,t.name,t.install[0].id)}
280
+ ?disabled=${o}
281
+ @click=${()=>a.onInstall(t.skillKey,t.name,t.install[0].id)}
278
282
  >
279
- ${a?`Installing…`:t.install[0].label}
283
+ ${o?`Installing…`:t.install[0].label}
280
284
  </button>`:e}
281
285
  </div>
282
286
 
283
- ${s?r`<div class="callout ${s.kind===`error`?`danger`:`success`}">
284
- ${s.message}
287
+ ${c?r`<div class="callout ${c.kind===`error`?`danger`:`success`}">
288
+ ${c.message}
285
289
  </div>`:e}
286
290
  ${t.primaryEnv?r`
287
291
  <div style="display: grid; gap: 8px;">
@@ -294,8 +298,8 @@ import{f as e,i as t,o as n,p as r}from"./lit-runtime-DA0-mbwP.js";import{r as i
294
298
  >
295
299
  <input
296
300
  type="password"
297
- .value=${o}
298
- @input=${e=>i.onEdit(t.skillKey,e.target.value)}
301
+ .value=${s}
302
+ @input=${e=>a.onEdit(t.skillKey,e.target.value)}
299
303
  />
300
304
  </div>
301
305
  ${(()=>{let n=m(t.homepage);return n?r`<div class="muted" style="font-size: 13px;">
@@ -306,8 +310,8 @@ import{f as e,i as t,o as n,p as r}from"./lit-runtime-DA0-mbwP.js";import{r as i
306
310
  </div>`:e})()}
307
311
  <button
308
312
  class="btn primary"
309
- ?disabled=${a}
310
- @click=${()=>i.onSaveKey(t.skillKey)}
313
+ ?disabled=${o}
314
+ @click=${()=>a.onSaveKey(t.skillKey)}
311
315
  >
312
316
  Save key
313
317
  </button>
@@ -339,7 +343,7 @@ import{f as e,i as t,o as n,p as r}from"./lit-runtime-DA0-mbwP.js";import{r as i
339
343
  <div style="display: flex; align-items: center; gap: 8px; flex-wrap: wrap;">
340
344
  <span class="chip ${x(a)}">${b(a)}</span>
341
345
  <span class="muted" style="font-size: 12px;">${o.slug}@${o.installedVersion}</span>
342
- ${n.clawhubVerdictsLoading?r`<span class="muted">Refreshing…</span>`:e}
346
+ ${n.clawhubVerdictsLoading?r`<span class="muted">${i(`skills.refreshing`)}</span>`:e}
343
347
  </div>
344
348
  ${n.clawhubVerdictsError?r`<div class="muted" style="font-size: 13px;">${n.clawhubVerdictsError}</div>`:c?r`<div class="muted" style="font-size: 13px;">${c}</div>`:e}
345
349
  ${s?r`<div style="font-size: 13px;">
@@ -355,4 +359,4 @@ import{f as e,i as t,o as n,p as r}from"./lit-runtime-DA0-mbwP.js";import{r as i
355
359
  ${t(s(a))}
356
360
  </article>
357
361
  `}export{S as renderSkills};
358
- //# sourceMappingURL=skills-DcnRqwFx.js.map
362
+ //# sourceMappingURL=skills-DCQx-dAB.js.map
@@ -1,4 +1,4 @@
1
- import{f as e,p as t}from"./lit-runtime-DA0-mbwP.js";import{r as n}from"./i18n-COx0mMoe.js";var r=[{id:`workspace`,label:n(`agentTools.workspaceSkills`),sources:[`fengming-workspace`]},{id:`built-in`,label:n(`agentTools.builtInSkills`),sources:[`fengming-bundled`]},{id:`installed`,label:n(`agentTools.installedSkills`),sources:[`fengming-managed`]},{id:`extra`,label:n(`agentTools.extraSkills`),sources:[`fengming-extra`]}];function i(e){let t=new Map;for(let e of r)t.set(e.id,{id:e.id,label:e.label,skills:[]});let i=r.find(e=>e.id===`built-in`),a={id:`other`,label:n(`agentTools.otherSkills`),skills:[]};for(let n of e){let e=n.bundled?i:r.find(e=>e.sources.includes(n.source));e?t.get(e.id)?.skills.push(n):a.skills.push(n)}let o=r.map(e=>t.get(e.id)).filter(e=>!!(e&&e.skills.length>0));return a.skills.length>0&&o.push(a),o}function a(e){return[...e.missing.bins.map(e=>`bin:${e}`),...e.missing.env.map(e=>`env:${e}`),...e.missing.config.map(e=>`config:${e}`),...e.missing.os.map(e=>`os:${e}`)]}function o(e){let t=[];return e.disabled&&t.push(`disabled`),e.blockedByAllowlist&&t.push(`blocked by allowlist`),t}function s(n){let r=n.skill,i=!!n.showBundledBadge;return t`
1
+ import{f as e,p as t}from"./lit-runtime-DA0-mbwP.js";import{r as n}from"./i18n-CqJHwmVQ.js";var r=[{id:`workspace`,label:n(`agentTools.workspaceSkills`),sources:[`fengming-workspace`]},{id:`built-in`,label:n(`agentTools.builtInSkills`),sources:[`fengming-bundled`]},{id:`installed`,label:n(`agentTools.installedSkills`),sources:[`fengming-managed`]},{id:`extra`,label:n(`agentTools.extraSkills`),sources:[`fengming-extra`]}];function i(e){let t=new Map;for(let e of r)t.set(e.id,{id:e.id,label:e.label,skills:[]});let i=r.find(e=>e.id===`built-in`),a={id:`other`,label:n(`agentTools.otherSkills`),skills:[]};for(let n of e){let e=n.bundled?i:r.find(e=>e.sources.includes(n.source));e?t.get(e.id)?.skills.push(n):a.skills.push(n)}let o=r.map(e=>t.get(e.id)).filter(e=>!!(e&&e.skills.length>0));return a.skills.length>0&&o.push(a),o}function a(e){return[...e.missing.bins.map(e=>`bin:${e}`),...e.missing.env.map(e=>`env:${e}`),...e.missing.config.map(e=>`config:${e}`),...e.missing.os.map(e=>`os:${e}`)]}function o(e){let t=[];return e.disabled&&t.push(n(`common.disabled`)),e.blockedByAllowlist&&t.push(n(`skills.blockedByAllowlist`)),t}function s(n){let r=n.skill,i=!!n.showBundledBadge;return t`
2
2
  <div class="chip-row" style="margin-top: 6px;">
3
3
  <span class="chip">${r.source}</span>
4
4
  ${i?t` <span class="chip">bundled</span> `:e}
@@ -8,4 +8,4 @@ import{f as e,p as t}from"./lit-runtime-DA0-mbwP.js";import{r as n}from"./i18n-C
8
8
  ${r.disabled?t` <span class="chip chip-warn">disabled</span> `:e}
9
9
  </div>
10
10
  `}export{i,o as n,s as r,a as t};
11
- //# sourceMappingURL=skills-shared-KvN3lpfP.js.map
11
+ //# sourceMappingURL=skills-shared-BWrG-mcT.js.map