@noxsoft/anima 2.0.2 → 2.0.4

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 (829) hide show
  1. package/README.md +1260 -28
  2. package/dist/accounts-Bth3PpPD.js +260 -0
  3. package/dist/accounts-D8CPKNkN.js +259 -0
  4. package/dist/acp-cli-ByK6lS6c.js +1081 -0
  5. package/dist/acp-cli-CaQCjIw4.js +1084 -0
  6. package/dist/agent-BgIkqd3F.js +725 -0
  7. package/dist/agent-N5BDcge4.js +725 -0
  8. package/dist/agent-events-COH7NDW2.js +182 -0
  9. package/dist/agent-scope-CPphqq-U.js +452 -0
  10. package/dist/agent-scope-DZgptr9J.js +452 -0
  11. package/dist/agent-scope-cj2QCT6R.js +112 -0
  12. package/dist/agents-NEudYMdg.js +774 -0
  13. package/dist/agents.config-Bujs-NIy.js +182 -0
  14. package/dist/agents.config-jp7OLssr.js +182 -0
  15. package/dist/argv-BMZMiW7v.js +73 -0
  16. package/dist/audit-C-UJhfdv.js +2401 -0
  17. package/dist/audit-CeCO7SK5.js +2401 -0
  18. package/dist/auth-BNZsOHGF.js +648 -0
  19. package/dist/auth-DMPZWzEa.js +639 -0
  20. package/dist/auth-choice-5VnaGMD-.js +2681 -0
  21. package/dist/auth-choice-DA2k4vs8.js +2681 -0
  22. package/dist/auth-health-B7FqA26_.js +149 -0
  23. package/dist/auth-health-VO_MPqVX.js +149 -0
  24. package/dist/auth-profiles-BDrNYX_n.js +1564 -0
  25. package/dist/auth-profiles-CxSHydjn.js +2689 -0
  26. package/dist/banner-BtDZPRzi.js +294 -0
  27. package/dist/browser-cli-8yQMpxb8.js +1679 -0
  28. package/dist/browser-cli-Czg3JtDH.js +1676 -0
  29. package/dist/build-info.json +3 -3
  30. package/dist/bundled/boot-md/handler.js +16 -16
  31. package/dist/bundled/bootstrap-extra-files/handler.js +4 -4
  32. package/dist/bundled/command-logger/handler.js +1 -1
  33. package/dist/bundled/session-memory/handler.js +5 -5
  34. package/dist/call-BIzCaKZb.js +282 -0
  35. package/dist/call-BYDpTVCZ.js +282 -0
  36. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  37. package/dist/catalog-CqKiUgu6.js +185 -0
  38. package/dist/catalog-DMfEg-oK.js +185 -0
  39. package/dist/channel-options-BrtCtyrT.js +32 -0
  40. package/dist/channel-options-CO21Gl8p.js +33 -0
  41. package/dist/channel-selection-Bbm1lq3P.js +51 -0
  42. package/dist/channel-selection-CqcX7Ocw.js +51 -0
  43. package/dist/channel-web-DrsT6OAE.js +2162 -0
  44. package/dist/channels-cli-Juyh1S6n.js +1304 -0
  45. package/dist/channels-cli-zNvi1m5c.js +1306 -0
  46. package/dist/channels-status-issues-CqzqshW4.js +18 -0
  47. package/dist/channels-status-issues-DdJdO866.js +18 -0
  48. package/dist/chrome-C4dOMO8z.js +1601 -0
  49. package/dist/chrome-DdcDzAtH.js +1629 -0
  50. package/dist/chrome-U3DRzjJD.js +1601 -0
  51. package/dist/chunk-D2nLsrEW.js +348 -0
  52. package/dist/clack-prompter-BI3RDW5w.js +92 -0
  53. package/dist/clack-prompter-Dwr1m_IZ.js +92 -0
  54. package/dist/cli/daemon-cli.js +1 -1
  55. package/dist/cli-C3cpDaz8.js +99 -0
  56. package/dist/cli-CjWUGdGC.js +101 -0
  57. package/dist/cli-session-BVjY_XrW.js +5463 -0
  58. package/dist/cli-session-gtuYN2Iq.js +5408 -0
  59. package/dist/client-Dswwze5_.js +1692 -0
  60. package/dist/client-LRKFjo4A.js +1692 -0
  61. package/dist/clipboard-BZKS9O1u.js +31 -0
  62. package/dist/clipboard-DES8b1AM.js +31 -0
  63. package/dist/command-format-CP1YTNCl.js +52 -0
  64. package/dist/command-format-CVL4K5cj.js +52 -0
  65. package/dist/command-format-G6N2zghg.js +38 -0
  66. package/dist/command-registry-BBvNvysr.js +248 -0
  67. package/dist/commands-AZ3n8Y2c.js +726 -0
  68. package/dist/commands-BMnD_QRY.js +726 -0
  69. package/dist/commands-registry-cFqZ6Ib4.js +766 -0
  70. package/dist/commands-registry-q13H7ng5.js +766 -0
  71. package/dist/common-CX5458fH.js +287 -0
  72. package/dist/common-DJbnT8ws.js +287 -0
  73. package/dist/completion-cli-BADRBcIl.js +432 -0
  74. package/dist/completion-cli-DMQgiObF.js +431 -0
  75. package/dist/config-CU-Axg8P.js +5704 -0
  76. package/dist/config-DaqbUdkI.js +5705 -0
  77. package/dist/config-cli-BPlbwiuA.js +244 -0
  78. package/dist/config-cli-DXgZJkPU.js +247 -0
  79. package/dist/config-guard-Ba49JNds.js +76 -0
  80. package/dist/config-guard-Cu0qMKZJ.js +93 -0
  81. package/dist/config-kVVm5EYV.js +6523 -0
  82. package/dist/config-sync-CzLnLTXt.js +91 -0
  83. package/dist/config-sync-DuydxPWx.js +91 -0
  84. package/dist/configure-CHgacLyi.js +960 -0
  85. package/dist/configure-DfHXDa1L.js +959 -0
  86. package/dist/context-DzgXOckU.js +60 -0
  87. package/dist/control-service-8_wKHwBa.js +72 -0
  88. package/dist/control-service-BtL1Jto_.js +72 -0
  89. package/dist/cron-cli-BCzSR2c0.js +448 -0
  90. package/dist/cron-cli-CCWNkykU.js +451 -0
  91. package/dist/daemon-cli-Bjkbu9Vy.js +565 -0
  92. package/dist/daemon-cli-CmlHcC1J.js +566 -0
  93. package/dist/daemon-cli.js +16 -16
  94. package/dist/daemon-runtime-C0tz7VAC.js +460 -0
  95. package/dist/daemon-runtime-rUTqCVwJ.js +460 -0
  96. package/dist/deliver-BBggsviM.js +1097 -0
  97. package/dist/deliver-CePITOl8.js +1162 -0
  98. package/dist/deliver-DFnVaetP.js +1097 -0
  99. package/dist/delivery-queue-BJQK3oh5.js +220 -0
  100. package/dist/deps-CeEKhrp7.js +42 -0
  101. package/dist/devices-cli-DQrDMrZH.js +198 -0
  102. package/dist/devices-cli-Oe-A1Dv0.js +195 -0
  103. package/dist/diagnostics-DxMFrBLO.js +35 -0
  104. package/dist/diagnostics-m79ZlMmZ.js +35 -0
  105. package/dist/directory-cli-BL6h8cGF.js +246 -0
  106. package/dist/directory-cli-Cjgmi_sj.js +243 -0
  107. package/dist/dispatcher-DAFbQM-c.js +100 -0
  108. package/dist/dispatcher-DNd40gUn.js +100 -0
  109. package/dist/dist-CqDI82ei.js +929 -0
  110. package/dist/dist-DnHRxR5U.js +929 -0
  111. package/dist/dns-cli-CFtV3BXK.js +200 -0
  112. package/dist/dns-cli-NyIHvQ5S.js +197 -0
  113. package/dist/dock-BdXLb5oY.js +753 -0
  114. package/dist/dock-jYICmNcI.js +753 -0
  115. package/dist/docs-cli-CrOaIK_H.js +161 -0
  116. package/dist/docs-cli-D_cmJDSr.js +159 -0
  117. package/dist/doctor-BpGxKrBl.js +1815 -0
  118. package/dist/doctor-D12wNQPU.js +1813 -0
  119. package/dist/doctor-completion-DeOfofek.js +92 -0
  120. package/dist/doctor-completion-DwjqdEcK.js +92 -0
  121. package/dist/doctor-config-flow-BI3mpkbd.js +1232 -0
  122. package/dist/doctor-config-flow-wMHheFkC.js +1232 -0
  123. package/dist/engine-BCtL-AMw.js +563 -0
  124. package/dist/engine-Bk_UT413.js +563 -0
  125. package/dist/entry.js +5 -5
  126. package/dist/env-v6411I8h.js +32 -0
  127. package/dist/exec-B7sUS164.js +1167 -0
  128. package/dist/exec-approvals-CroGJRUg.js +1221 -0
  129. package/dist/exec-approvals-cli-BTxF_RsH.js +371 -0
  130. package/dist/exec-approvals-cli-n1gyGwH2.js +368 -0
  131. package/dist/exec-mhSykkaa.js +255 -0
  132. package/dist/extensionAPI.js +3 -3
  133. package/dist/frontmatter-BmHq0vRD.js +204 -0
  134. package/dist/gateway-cli-DDBadlrS.js +19971 -0
  135. package/dist/gateway-cli-IZNkOMBe.js +19972 -0
  136. package/dist/gateway-rpc-Dtx8HN-n.js +28 -0
  137. package/dist/gateway-rpc-L2PVSqGj.js +28 -0
  138. package/dist/github-copilot-auth-DKyqDaGU.js +1418 -0
  139. package/dist/github-copilot-auth-DXpOMSd3.js +1418 -0
  140. package/dist/gmail-setup-utils-BKNczIJ9.js +428 -0
  141. package/dist/gmail-setup-utils-co0ppccC.js +428 -0
  142. package/dist/health-Bm8ZTvC3.js +1253 -0
  143. package/dist/health-DUf1gt4E.js +1258 -0
  144. package/dist/health-format-BksT6F68.js +208 -0
  145. package/dist/health-format-uzh1xYLD.js +208 -0
  146. package/dist/heartbeat-visibility-1TJb1Zao.js +98 -0
  147. package/dist/heartbeat-visibility-CwodtdcX.js +98 -0
  148. package/dist/help-format-C6cv_aZp.js +17 -0
  149. package/dist/helpers-N-uSFKOn.js +10 -0
  150. package/dist/hooks-cli-1POsXqOl.js +993 -0
  151. package/dist/hooks-cli-BGjILbze.js +991 -0
  152. package/dist/hooks-status-DE07n5RC.js +356 -0
  153. package/dist/hooks-status-Du-d1jde.js +356 -0
  154. package/dist/image-ops-B_AYV3tp.js +541 -0
  155. package/dist/image-ops-Bp0C6Mvr.js +541 -0
  156. package/dist/index.js +82 -82
  157. package/dist/init-9A0s7bWG.js +122 -0
  158. package/dist/init-DoyCHJDC.js +122 -0
  159. package/dist/installs-D1C9wHAq.js +383 -0
  160. package/dist/installs-Dh4dHayM.js +383 -0
  161. package/dist/ipv4-DCItfaJo.js +1964 -0
  162. package/dist/ipv4-DSOUVx0i.js +1964 -0
  163. package/dist/lanes-BvSnHq2h.js +232 -0
  164. package/dist/lifecycle-core-BY4WIf9g.js +388 -0
  165. package/dist/lifecycle-core-TQKyXO-6.js +387 -0
  166. package/dist/links-CNu_8RZl.js +15 -0
  167. package/dist/links-D2tt2ouh.js +15 -0
  168. package/dist/llm-slug-generator.js +4 -4
  169. package/dist/logging-BIeRw0WR.js +15 -0
  170. package/dist/logging-C7lb3Vjc.js +15 -0
  171. package/dist/login-DXWKewA2.js +59 -0
  172. package/dist/login-Fhh4uWmf.js +61 -0
  173. package/dist/login-pPs3UO38.js +61 -0
  174. package/dist/login-qr-CevLD8cV.js +326 -0
  175. package/dist/login-qr-GF2JMIy-.js +323 -0
  176. package/dist/login-qr-ZYYKD6Yt.js +321 -0
  177. package/dist/logs-cli-CzXbX8HZ.js +242 -0
  178. package/dist/logs-cli-D9ngH9PF.js +245 -0
  179. package/dist/manager-BD5rA3w0.js +3244 -0
  180. package/dist/manager-BDPgBQSH.js +3246 -0
  181. package/dist/manager-DRWMWM--.js +3244 -0
  182. package/dist/manifest-registry-DbvPaBXY.js +748 -0
  183. package/dist/manifest-registry-kHX_MFa1.js +748 -0
  184. package/dist/markdown-tables-CqwihY2m.js +347 -0
  185. package/dist/markdown-tables-DJV7eAJZ.js +348 -0
  186. package/dist/media-lUqN-0O9.js +1342 -0
  187. package/dist/memory-cli-BLXSpgnN.js +868 -0
  188. package/dist/memory-cli-BcGVkkRJ.js +869 -0
  189. package/dist/message-channel-D_jIO87f.js +110 -0
  190. package/dist/migrate-BpVOar4L.js +157 -0
  191. package/dist/migrate-CkgGDkWy.js +157 -0
  192. package/dist/model-selection-Cqt6aJ0G.js +2691 -0
  193. package/dist/models-CExsNQPH.js +2510 -0
  194. package/dist/models-cli-Ba3Jmwev.js +2739 -0
  195. package/dist/models-cli-iDAlsbL2.js +258 -0
  196. package/dist/net-0A_zcaQD.js +218 -0
  197. package/dist/node-cli-ATmwCXIk.js +1319 -0
  198. package/dist/node-cli-DYFR_V25.js +1322 -0
  199. package/dist/node-service-CN4LqR1A.js +67 -0
  200. package/dist/node-service-CWt3MdSC.js +67 -0
  201. package/dist/nodes-cli-BeVmhTz3.js +1197 -0
  202. package/dist/nodes-cli-QeJIfa18.js +1200 -0
  203. package/dist/nodes-screen-DHyWAlla.js +234 -0
  204. package/dist/nodes-screen-qs3jRBPk.js +234 -0
  205. package/dist/note-CSlg2BnB.js +73 -0
  206. package/dist/note-Ctvglhp1.js +73 -0
  207. package/dist/npm-registry-spec-DQd4M22q.js +351 -0
  208. package/dist/npm-registry-spec-PxisIMts.js +351 -0
  209. package/dist/onboard-DeruD10m.js +1166 -0
  210. package/dist/onboard-SAcu5N6N.js +1165 -0
  211. package/dist/onboard-channels-C4iSfFXR.js +672 -0
  212. package/dist/onboard-channels-oVTVgoyg.js +672 -0
  213. package/dist/onboard-helpers-B8roRwLP.js +365 -0
  214. package/dist/onboard-helpers-Dgh26hgP.js +365 -0
  215. package/dist/onboarding-Bi-ac8we.js +911 -0
  216. package/dist/onboarding-C2gjB2u8.js +910 -0
  217. package/dist/orchestrator-DlbAYMQP.js +357 -0
  218. package/dist/orchestrator-DlwVRVDA.js +357 -0
  219. package/dist/outbound-CkKgc6iR.js +2062 -0
  220. package/dist/outbound-Vfm5yDh3.js +214 -0
  221. package/dist/outbound-bs_VK51X.js +214 -0
  222. package/dist/outbound-send-deps-DDjiMfEL.js +55 -0
  223. package/dist/pairing-cli-CJYeuEik.js +118 -0
  224. package/dist/pairing-cli-mqopHI8s.js +121 -0
  225. package/dist/pairing-store-BsXzUDPv.js +388 -0
  226. package/dist/pairing-store-DoNj00-X.js +388 -0
  227. package/dist/path-env-C_xpiG8l.js +89 -0
  228. package/dist/path-env-DSSMHu5A.js +89 -0
  229. package/dist/paths-B1vRVCad.js +126 -0
  230. package/dist/paths-BMuHNFxg.js +238 -0
  231. package/dist/paths-BXQQzXGQ.js +129 -0
  232. package/dist/paths-Buw_geoe.js +54 -0
  233. package/dist/paths-DA9WYabg.js +222 -0
  234. package/dist/paths-DfQGx0_k.js +129 -0
  235. package/dist/pi-auth-json-DOPW3e4X.js +78 -0
  236. package/dist/pi-auth-json-MruLmI_X.js +82 -0
  237. package/dist/pi-auth-json-lae_wwwo.js +80 -0
  238. package/dist/pi-model-discovery-7q0GxMrp.js +3 -0
  239. package/dist/pi-tools.policy-Csmla32P.js +200 -0
  240. package/dist/pi-tools.policy-xYdDLEv9.js +200 -0
  241. package/dist/plugin-auto-enable-CViVVWgg.js +282 -0
  242. package/dist/plugin-auto-enable-CjZ238UI.js +282 -0
  243. package/dist/plugin-registry-B4Aw2hzq.js +32 -0
  244. package/dist/plugin-registry-DW81arxW.js +32 -0
  245. package/dist/plugin-sdk/cli/cli-name.d.ts +1 -1
  246. package/dist/plugin-sdk/config/paths.d.ts +2 -2
  247. package/dist/plugin-sdk/index.js +7 -7
  248. package/dist/plugins-DhcGAPDB.js +38 -0
  249. package/dist/plugins-DtghNRtM.js +168 -0
  250. package/dist/plugins-cli-4vWTmOAb.js +736 -0
  251. package/dist/plugins-cli-CdTMbP0X.js +734 -0
  252. package/dist/polls-D6eCdatA.js +1343 -0
  253. package/dist/ports-BtZx-JKD.js +96 -0
  254. package/dist/ports-C8bKN8s0.js +96 -0
  255. package/dist/ports-DHiKnPRX.js +344 -0
  256. package/dist/ports-vd93M_Pt.js +317 -0
  257. package/dist/program-CX3aUVeb.js +176 -0
  258. package/dist/program-context-BPos0ivo.js +496 -0
  259. package/dist/progress-oiAjiiNi.js +133 -0
  260. package/dist/prompt-style-Cm4wOtKm.js +9 -0
  261. package/dist/pw-ai-4QbK5YFe.js +1865 -0
  262. package/dist/pw-ai-BWz3Cxt7.js +1868 -0
  263. package/dist/pw-ai-C83HBue2.js +1867 -0
  264. package/dist/qmd-manager-BcMeZiGD.js +938 -0
  265. package/dist/qmd-manager-CPypGJ0P.js +935 -0
  266. package/dist/qmd-manager-CRrSkfia.js +937 -0
  267. package/dist/register.agent-DDY8KJhn.js +265 -0
  268. package/dist/register.agent-DKawm-9d.js +1003 -0
  269. package/dist/register.anima-CEWUo29k.js +193 -0
  270. package/dist/register.anima-DBWz2rk_.js +193 -0
  271. package/dist/register.configure-BX67qV8k.js +103 -0
  272. package/dist/register.configure-CWsySuiq.js +101 -0
  273. package/dist/register.maintenance-0k-ZNhDg.js +543 -0
  274. package/dist/register.maintenance-BIwx1fzX.js +543 -0
  275. package/dist/register.message-CXPsoakA.js +657 -0
  276. package/dist/register.message-DA3jvfgI.js +660 -0
  277. package/dist/register.onboard-C4HG7Hqv.js +170 -0
  278. package/dist/register.onboard-GOpdif-j.js +170 -0
  279. package/dist/register.setup-B17vZT7C.js +175 -0
  280. package/dist/register.setup-GJyUDCqh.js +175 -0
  281. package/dist/register.status-health-sessions-D5876dGx.js +313 -0
  282. package/dist/register.status-health-sessions-lOewVIZR.js +142 -0
  283. package/dist/register.subclis-Dwnujj5C.js +255 -0
  284. package/dist/reply-CR5T_oQJ.js +32212 -0
  285. package/dist/reply-prefix-BcrS4Umd.js +100 -0
  286. package/dist/reply-prefix-Btb5o2NH.js +100 -0
  287. package/dist/reply-r089HuRA.js +32212 -0
  288. package/dist/routes-B4czFzIb.js +1820 -0
  289. package/dist/routes-ucJWAk5O.js +1820 -0
  290. package/dist/rpc-BnKxnQ0v.js +70 -0
  291. package/dist/rpc-DgE-xnyx.js +70 -0
  292. package/dist/run-main-B74kv84C.js +371 -0
  293. package/dist/runtime-guard-CKFdts2L.js +60 -0
  294. package/dist/sandbox-CJTS3er6.js +858 -0
  295. package/dist/sandbox-DBSiVHt_.js +859 -0
  296. package/dist/sandbox-cli-CrkjyU5M.js +461 -0
  297. package/dist/sandbox-cli-D1r5y6Sz.js +458 -0
  298. package/dist/security-cli-BZUdnkhn.js +462 -0
  299. package/dist/security-cli-DS09ebvA.js +465 -0
  300. package/dist/server-context-C0xZbYhg.js +824 -0
  301. package/dist/server-context-DVh2z7om.js +824 -0
  302. package/dist/server-node-events-bu9lpkMH.js +233 -0
  303. package/dist/server-node-events-i1Rrww31.js +231 -0
  304. package/dist/service-CJJwLEor.js +642 -0
  305. package/dist/service-DxLxBhaU.js +642 -0
  306. package/dist/service-audit-DB4Y3Ekp.js +488 -0
  307. package/dist/service-audit-M8y4TXVb.js +488 -0
  308. package/dist/session-CGxOLFs2.js +179 -0
  309. package/dist/session-DTTbdKb0.js +181 -0
  310. package/dist/session-cost-usage-FcdJl9c3.js +600 -0
  311. package/dist/session-cost-usage-qdfsGU2a.js +600 -0
  312. package/dist/session-yOhWcsD2.js +181 -0
  313. package/dist/sessions-B-Cu7JZq.js +1296 -0
  314. package/dist/sessions-BgLN4KFr.js +180 -0
  315. package/dist/sessions-CnRjwdVr.js +1296 -0
  316. package/dist/sessions-wRKla1Qh.js +2038 -0
  317. package/dist/shared-DS3UaJSP.js +66 -0
  318. package/dist/shared-DxNHzky3.js +77 -0
  319. package/dist/shared-Qpt4hUDi.js +66 -0
  320. package/dist/shared-kzrojZ1B.js +77 -0
  321. package/dist/skill-scanner-DLJji5Ye.js +263 -0
  322. package/dist/skills-BWFIEp4j.js +807 -0
  323. package/dist/skills-DV4zKdCx.js +808 -0
  324. package/dist/skills-cli-BY53ILm2.js +289 -0
  325. package/dist/skills-cli-CO3gxl8A.js +286 -0
  326. package/dist/skills-status-DX5pcqY3.js +166 -0
  327. package/dist/skills-status-zhcKzGkp.js +166 -0
  328. package/dist/sqlite-B6MojU1I.js +321 -0
  329. package/dist/sqlite-CuprTGR7.js +453 -0
  330. package/dist/sqlite-dzD-jMjs.js +368 -0
  331. package/dist/start-Cu3aLoSf.js +297 -0
  332. package/dist/start-Dz7tMAl8.js +296 -0
  333. package/dist/status-CaSxhxfV.js +2132 -0
  334. package/dist/status-D2C0JCX3.js +2137 -0
  335. package/dist/status-DlFMsQzh.js +27 -0
  336. package/dist/status-G0CITnKR.js +27 -0
  337. package/dist/status.update-CHjhVxJY.js +79 -0
  338. package/dist/status.update-DVFelehi.js +79 -0
  339. package/dist/subagent-registry-3Xb4el-8.js +14 -0
  340. package/dist/subagent-registry-CdSjz14I.js +2760 -0
  341. package/dist/subagent-registry-DNDhbHWi.js +2759 -0
  342. package/dist/subsystem-DfKstnEK.js +860 -0
  343. package/dist/system-cli-B5mt0FWa.js +82 -0
  344. package/dist/system-cli-Dg3UQ3Zz.js +79 -0
  345. package/dist/systemd-B43AvOGx.js +452 -0
  346. package/dist/systemd-RpPE0XGg.js +452 -0
  347. package/dist/systemd-hints-DMJT-Bbc.js +36 -0
  348. package/dist/systemd-hints-vRInKcz9.js +36 -0
  349. package/dist/systemd-linger-Dzyxqsod.js +75 -0
  350. package/dist/systemd-linger-EujbmI5A.js +75 -0
  351. package/dist/table-DhXHfRX2.js +279 -0
  352. package/dist/table-bWCLW-3P.js +279 -0
  353. package/dist/timeout-Ddn-5kAO.js +232 -0
  354. package/dist/tokens-3psI_Qk2.js +14 -0
  355. package/dist/tokens-BaM53PEx.js +14 -0
  356. package/dist/trash-Bmxs1Rnm.js +23 -0
  357. package/dist/trash-C39a6hKA.js +23 -0
  358. package/dist/tui-BHgBWhHE.js +3894 -0
  359. package/dist/tui-cli-B9Sq5-cC.js +50 -0
  360. package/dist/tui-cli-Dw7v4JoJ.js +47 -0
  361. package/dist/tui-mUwDwqvd.js +3894 -0
  362. package/dist/update-DF0GHG0j.js +317 -0
  363. package/dist/update-DoZLVjva.js +317 -0
  364. package/dist/update-check-Bt1dVPVN.js +400 -0
  365. package/dist/update-check-D5qAKes7.js +400 -0
  366. package/dist/update-cli-BNu2Oi7H.js +1105 -0
  367. package/dist/update-cli-D36AmALA.js +1105 -0
  368. package/dist/update-runner-CNQQaTwA.js +894 -0
  369. package/dist/update-runner-CvxZmbu-.js +894 -0
  370. package/dist/usage-BGCwNnjk.js +4516 -0
  371. package/dist/utils-DZ8pnOD5.js +243 -0
  372. package/dist/web-B5QG839O.js +46842 -0
  373. package/dist/web-Cmnvk9v0.js +2203 -0
  374. package/dist/web-Cv2KnTnL.js +63 -0
  375. package/dist/webhooks-cli-B6y89Pj_.js +319 -0
  376. package/dist/webhooks-cli-BDzHON4w.js +316 -0
  377. package/dist/whatsapp-actions-C_5MwVxM.js +45 -0
  378. package/dist/whatsapp-actions-hgYA12To.js +53 -0
  379. package/dist/whatsapp-actions-zTiVOoOV.js +49 -0
  380. package/dist/widearea-dns-BeIdnISJ.js +127 -0
  381. package/dist/widearea-dns-CF1gxpJ-.js +127 -0
  382. package/dist/workspace-DLna1IxR.js +649 -0
  383. package/dist/ws-log-Q4wO1Ztb.js +267 -0
  384. package/dist/ws-log-xF0kxDzp.js +267 -0
  385. package/package.json +1 -2
  386. package/dist/accounts-Cc5E4IDO.js +0 -260
  387. package/dist/accounts-CcVrwKqv.js +0 -259
  388. package/dist/acp-cli-DvphOKuh.js +0 -1081
  389. package/dist/acp-cli-p28pQ65a.js +0 -1084
  390. package/dist/agent-Cj7uDJaZ.js +0 -725
  391. package/dist/agent-Cuj9-2sT.js +0 -725
  392. package/dist/agent-events-BEBQsyE5.js +0 -182
  393. package/dist/agent-scope-BVf4aSwY.js +0 -112
  394. package/dist/agent-scope-OZi7lb8S.js +0 -452
  395. package/dist/agent-scope-V1bi9OYL.js +0 -452
  396. package/dist/agents-BUWqn_Ui.js +0 -774
  397. package/dist/agents.config-Dvo2ULxs.js +0 -182
  398. package/dist/agents.config-d6H0_3oj.js +0 -182
  399. package/dist/argv-DqUHKf0o.js +0 -73
  400. package/dist/audit-C6okOOSh.js +0 -2401
  401. package/dist/audit-VWjIdwC7.js +0 -2401
  402. package/dist/auth-91o2YM96.js +0 -648
  403. package/dist/auth-choice-CAmACV13.js +0 -2681
  404. package/dist/auth-choice-p3SeHPj2.js +0 -2681
  405. package/dist/auth-health-B_jXrWe6.js +0 -149
  406. package/dist/auth-health-DCicUKYR.js +0 -149
  407. package/dist/auth-lZ26wsbN.js +0 -639
  408. package/dist/auth-profiles-CCDD56dU.js +0 -1564
  409. package/dist/auth-profiles-DxI8L7bs.js +0 -2689
  410. package/dist/banner-Cohn04J6.js +0 -294
  411. package/dist/browser-cli-DANzjztE.js +0 -1676
  412. package/dist/browser-cli-WjsVH741.js +0 -1679
  413. package/dist/call-BAHvlu2G.js +0 -282
  414. package/dist/call-Ct7EGP_L.js +0 -282
  415. package/dist/catalog-BAayBt1L.js +0 -185
  416. package/dist/catalog-BNsf97BM.js +0 -185
  417. package/dist/channel-options-Dx9nPlX8.js +0 -33
  418. package/dist/channel-options-ZdvXrTGs.js +0 -32
  419. package/dist/channel-selection-CujyiWGM.js +0 -51
  420. package/dist/channel-selection-DfGpCyh2.js +0 -51
  421. package/dist/channel-web-CC0hkgkR.js +0 -2162
  422. package/dist/channels-cli-D7lNBpIb.js +0 -1304
  423. package/dist/channels-cli-DUPG8WDv.js +0 -1306
  424. package/dist/channels-status-issues-DBc1pU_R.js +0 -18
  425. package/dist/channels-status-issues-DjO9MHIG.js +0 -18
  426. package/dist/chrome-Bi6iZ5sG.js +0 -1601
  427. package/dist/chrome-DNSv7Cpy.js +0 -1629
  428. package/dist/chrome-DScZx4Lk.js +0 -1601
  429. package/dist/chunk-mxPVo000.js +0 -348
  430. package/dist/clack-prompter-B0kl7shw.js +0 -92
  431. package/dist/clack-prompter-B1YxZdRy.js +0 -92
  432. package/dist/cli-CfHUkOD0.js +0 -101
  433. package/dist/cli-ClMrIh6l.js +0 -99
  434. package/dist/cli-session-BkPTd9Pk.js +0 -5463
  435. package/dist/cli-session-Dd8DKb5a.js +0 -5408
  436. package/dist/client-C1avc0vD.js +0 -1692
  437. package/dist/client-CC94YZrT.js +0 -1692
  438. package/dist/clipboard-B2fBy8tG.js +0 -31
  439. package/dist/clipboard-BbGnZskJ.js +0 -31
  440. package/dist/command-format-Clp46jkj.js +0 -38
  441. package/dist/command-format-DELazozB.js +0 -52
  442. package/dist/command-format-SkzzRqR1.js +0 -52
  443. package/dist/command-registry-DZ4hkmA0.js +0 -248
  444. package/dist/commands-DtYZJSPn.js +0 -568
  445. package/dist/commands-Dujk1JmY.js +0 -568
  446. package/dist/commands-registry-Bd0xbvwG.js +0 -766
  447. package/dist/commands-registry-DYfRSVF3.js +0 -766
  448. package/dist/common-D6bu0zHC.js +0 -287
  449. package/dist/common-zW9Y2P1B.js +0 -287
  450. package/dist/completion-cli-tSe7Pmqm.js +0 -431
  451. package/dist/completion-cli-vn4IScs5.js +0 -432
  452. package/dist/config-C8rUDJXY.js +0 -5704
  453. package/dist/config-CLZ_XGVw.js +0 -6523
  454. package/dist/config-SY8M0kM_.js +0 -5705
  455. package/dist/config-cli-1V7D2Wsw.js +0 -247
  456. package/dist/config-cli-CjWEC81L.js +0 -244
  457. package/dist/config-guard-BW2gpKj_.js +0 -93
  458. package/dist/config-guard-BvxuzHpo.js +0 -76
  459. package/dist/config-sync-CoIIbEOe.js +0 -91
  460. package/dist/config-sync-DvAttep0.js +0 -91
  461. package/dist/configure-Bf0oupCE.js +0 -959
  462. package/dist/configure-DRM-7zFf.js +0 -960
  463. package/dist/context-D5iEFzv9.js +0 -60
  464. package/dist/control-service-C8m8F9pr.js +0 -72
  465. package/dist/control-service-DKotCWCg.js +0 -72
  466. package/dist/cron-cli-DB_FLYHD.js +0 -448
  467. package/dist/cron-cli-bxm5lrrO.js +0 -451
  468. package/dist/daemon-cli-1LsOnICv.js +0 -566
  469. package/dist/daemon-cli-CC2NrJ7a.js +0 -565
  470. package/dist/daemon-runtime-BXZhtBL9.js +0 -460
  471. package/dist/daemon-runtime-DW4USC7r.js +0 -460
  472. package/dist/deliver-B4HuPwJA.js +0 -1162
  473. package/dist/deliver-LiY5oL52.js +0 -1097
  474. package/dist/deliver-xrmk7xjh.js +0 -1097
  475. package/dist/delivery-queue-TnQykYsg.js +0 -220
  476. package/dist/deps-CMMOiOsF.js +0 -42
  477. package/dist/devices-cli-Be5he2SA.js +0 -195
  478. package/dist/devices-cli-z6ecoFe9.js +0 -198
  479. package/dist/diagnostics-Dj75aEHN.js +0 -35
  480. package/dist/diagnostics-DlIw6fqD.js +0 -35
  481. package/dist/directory-cli-CEy-0nxj.js +0 -243
  482. package/dist/directory-cli-DpzKcigr.js +0 -246
  483. package/dist/dispatcher-10Shiuz3.js +0 -100
  484. package/dist/dispatcher-3Jae6AiW.js +0 -100
  485. package/dist/dns-cli-Bat1pkc-.js +0 -200
  486. package/dist/dns-cli-NohNyEo0.js +0 -197
  487. package/dist/dock-DbxBBv30.js +0 -753
  488. package/dist/dock-cPBY4qGl.js +0 -753
  489. package/dist/docs-cli-BWp6p-Tq.js +0 -161
  490. package/dist/docs-cli-x22FnZfL.js +0 -159
  491. package/dist/doctor-BrT5m_on.js +0 -1815
  492. package/dist/doctor-Pp2HVnjM.js +0 -1813
  493. package/dist/doctor-completion-DNTimX9o.js +0 -92
  494. package/dist/doctor-completion-ylN9QAJ6.js +0 -92
  495. package/dist/doctor-config-flow-D1w3700T.js +0 -1232
  496. package/dist/doctor-config-flow-Dq50iE1R.js +0 -1232
  497. package/dist/engine-B9avUJL5.js +0 -563
  498. package/dist/engine-BiUQ25D4.js +0 -563
  499. package/dist/env-0lJfCPsw.js +0 -32
  500. package/dist/exec-BenD3A5l.js +0 -1167
  501. package/dist/exec-Bv3pyjeM.js +0 -255
  502. package/dist/exec-approvals-CdLmKX2R.js +0 -1221
  503. package/dist/exec-approvals-cli-DXfV6G8H.js +0 -368
  504. package/dist/exec-approvals-cli-J2cZs10o.js +0 -371
  505. package/dist/frontmatter-YijVi0FQ.js +0 -204
  506. package/dist/gateway-cli-DOAbA0pc.js +0 -19972
  507. package/dist/gateway-cli-QpWtBhQy.js +0 -19971
  508. package/dist/gateway-rpc-DJKBil9s.js +0 -28
  509. package/dist/gateway-rpc-DVterpLP.js +0 -28
  510. package/dist/github-copilot-auth-4IUFp669.js +0 -1418
  511. package/dist/github-copilot-auth-C9E0IROs.js +0 -1418
  512. package/dist/gmail-setup-utils-BPo_LkKI.js +0 -428
  513. package/dist/gmail-setup-utils-D3Yqgor7.js +0 -428
  514. package/dist/health-BeZnqp6m.js +0 -1258
  515. package/dist/health-Cn2OoVWZ.js +0 -1253
  516. package/dist/health-format-CdP99j3Y.js +0 -208
  517. package/dist/health-format-JEChH08S.js +0 -208
  518. package/dist/heartbeat-visibility-BL3WAchI.js +0 -98
  519. package/dist/heartbeat-visibility-CQ9QimI7.js +0 -98
  520. package/dist/help-format-Dl4bsrLI.js +0 -17
  521. package/dist/helpers-ZKNRexvX.js +0 -10
  522. package/dist/hooks-cli-D99hXt7K.js +0 -991
  523. package/dist/hooks-cli-DMB8RiEO.js +0 -993
  524. package/dist/hooks-status-B-e96dZj.js +0 -356
  525. package/dist/hooks-status-C_9sE0ox.js +0 -356
  526. package/dist/image-ops-Dlt3T7th.js +0 -541
  527. package/dist/image-ops-omlvdfah.js +0 -541
  528. package/dist/init-Bm04RagW.js +0 -122
  529. package/dist/init-CaJBf4p1.js +0 -122
  530. package/dist/installs-C2iMRBVz.js +0 -383
  531. package/dist/installs-D-cPGdCw.js +0 -383
  532. package/dist/ipv4-Bf7NS3QU.js +0 -1964
  533. package/dist/ipv4-wWNs8IH_.js +0 -1964
  534. package/dist/lanes-CNxj3tit.js +0 -232
  535. package/dist/lifecycle-core-B_7XRcvF.js +0 -388
  536. package/dist/lifecycle-core-By83PVAK.js +0 -387
  537. package/dist/links-BfjHVTB_.js +0 -15
  538. package/dist/links-DPGe0OHw.js +0 -15
  539. package/dist/logging-DB6BQmhi.js +0 -15
  540. package/dist/logging-mcb66J0p.js +0 -15
  541. package/dist/login-BDCg6D0N.js +0 -61
  542. package/dist/login-BDfnbjnZ.js +0 -59
  543. package/dist/login-BqH1itcg.js +0 -61
  544. package/dist/login-qr-CyOw3R4r.js +0 -321
  545. package/dist/login-qr-D8ECtb72.js +0 -323
  546. package/dist/login-qr-RnR7e4Bw.js +0 -326
  547. package/dist/logs-cli--j89L74J.js +0 -245
  548. package/dist/logs-cli-DpEMg_Gq.js +0 -242
  549. package/dist/manager-B4OyvcxT.js +0 -3244
  550. package/dist/manager-Cqc1CeH7.js +0 -3246
  551. package/dist/manager-DUyQPFvj.js +0 -3244
  552. package/dist/manifest-registry-CW1zCyRF.js +0 -748
  553. package/dist/manifest-registry-D4lM2RdV.js +0 -748
  554. package/dist/markdown-tables-BT1X6jqH.js +0 -347
  555. package/dist/markdown-tables-DHgOK2vI.js +0 -348
  556. package/dist/media-THyainiE.js +0 -1342
  557. package/dist/memory-cli-BKocCWXM.js +0 -868
  558. package/dist/memory-cli-Jmma-xI_.js +0 -869
  559. package/dist/message-channel-dSTVVCyX.js +0 -110
  560. package/dist/migrate-BR6iAIjO.js +0 -157
  561. package/dist/migrate-D0EcMs0f.js +0 -157
  562. package/dist/model-selection-YcSr9CgC.js +0 -2691
  563. package/dist/models-1vUQBVfw.js +0 -2510
  564. package/dist/models-cli-BK3BwUhL.js +0 -2739
  565. package/dist/models-cli-DECrM8oA.js +0 -258
  566. package/dist/net-B5lXhYLV.js +0 -218
  567. package/dist/node-cli-cLHUNpPD.js +0 -1319
  568. package/dist/node-cli-fO7Y132S.js +0 -1322
  569. package/dist/node-service-BFxHJsno.js +0 -67
  570. package/dist/node-service-DUnan4uK.js +0 -67
  571. package/dist/nodes-cli-BCq35E6N.js +0 -1200
  572. package/dist/nodes-cli-vD7MwAKP.js +0 -1197
  573. package/dist/nodes-screen-1YiLkqr5.js +0 -234
  574. package/dist/nodes-screen-DZeD8hE5.js +0 -234
  575. package/dist/note-Bi8Wb8DV.js +0 -73
  576. package/dist/note-uiuPxhyX.js +0 -73
  577. package/dist/npm-registry-spec-B-XIShkB.js +0 -351
  578. package/dist/npm-registry-spec-za3itb5Y.js +0 -351
  579. package/dist/onboard-Ds6w_sWo.js +0 -1165
  580. package/dist/onboard-SAVx3bp4.js +0 -1166
  581. package/dist/onboard-channels-Cg_EkBa4.js +0 -672
  582. package/dist/onboard-channels-D7NbA55V.js +0 -672
  583. package/dist/onboard-helpers-DO_hgZb9.js +0 -365
  584. package/dist/onboard-helpers-_XgJgeqh.js +0 -365
  585. package/dist/onboarding-3hLmDd0r.js +0 -911
  586. package/dist/onboarding-B4LKLsbU.js +0 -910
  587. package/dist/orchestrator-BKzmyBWy.js +0 -357
  588. package/dist/orchestrator-BN3QCz2s.js +0 -357
  589. package/dist/outbound-BgA9hNlP.js +0 -2062
  590. package/dist/outbound-CjdvVhUI.js +0 -214
  591. package/dist/outbound-DOGe6qb2.js +0 -214
  592. package/dist/outbound-send-deps-Du5aBpd7.js +0 -55
  593. package/dist/pairing-cli-2vnyg_Nd.js +0 -118
  594. package/dist/pairing-cli-BH1KQtNV.js +0 -121
  595. package/dist/pairing-store-DJz_9Gv0.js +0 -388
  596. package/dist/pairing-store-DmOzxcuk.js +0 -388
  597. package/dist/path-env-Bu6k0jDQ.js +0 -89
  598. package/dist/path-env-C0zQSjw8.js +0 -89
  599. package/dist/paths-BTc4nk-6.js +0 -126
  600. package/dist/paths-BgUi2Z2G.js +0 -54
  601. package/dist/paths-C6VCWKo3.js +0 -238
  602. package/dist/paths-CCxa0o9c.js +0 -222
  603. package/dist/paths-CxRf2rBG.js +0 -129
  604. package/dist/paths-hcX1Gqg5.js +0 -129
  605. package/dist/pi-auth-json-B68R7q7_.js +0 -82
  606. package/dist/pi-auth-json-CR0jXAgq.js +0 -78
  607. package/dist/pi-auth-json-ZYzi3nxs.js +0 -80
  608. package/dist/pi-model-discovery-Cxs4pvC2.js +0 -3
  609. package/dist/pi-tools.policy-D81U5xy0.js +0 -200
  610. package/dist/pi-tools.policy-DSHkkb5b.js +0 -200
  611. package/dist/plugin-auto-enable-CxF4bpDN.js +0 -282
  612. package/dist/plugin-auto-enable-jNaAeyEh.js +0 -282
  613. package/dist/plugin-registry-C7XWotZG.js +0 -32
  614. package/dist/plugin-registry-DcUCbGax.js +0 -32
  615. package/dist/plugins-B362e77G.js +0 -168
  616. package/dist/plugins-CmSUIUNi.js +0 -38
  617. package/dist/plugins-cli-BsCEnoQ7.js +0 -734
  618. package/dist/plugins-cli-QSIsMUG7.js +0 -736
  619. package/dist/polls-CItfB1H8.js +0 -1343
  620. package/dist/ports-BVLMN1Sr.js +0 -96
  621. package/dist/ports-CqLSlU6Z.js +0 -317
  622. package/dist/ports-D94CwCrv.js +0 -344
  623. package/dist/ports-D_NHthOz.js +0 -96
  624. package/dist/program-DkJHjI0R.js +0 -176
  625. package/dist/program-context-DnyGM2SC.js +0 -496
  626. package/dist/progress-Bek_GyWS.js +0 -133
  627. package/dist/prompt-style-lu0clOOE.js +0 -9
  628. package/dist/pw-ai-BLVMuSLv.js +0 -1867
  629. package/dist/pw-ai-DZJWEF_f.js +0 -1865
  630. package/dist/pw-ai-dzf-ptcn.js +0 -1868
  631. package/dist/qmd-manager-Cur_Ekn0.js +0 -937
  632. package/dist/qmd-manager-DNAUuwjK.js +0 -938
  633. package/dist/qmd-manager-DepEoASu.js +0 -935
  634. package/dist/register.agent-CSWvzOkR.js +0 -265
  635. package/dist/register.agent-UeH2NXmH.js +0 -1003
  636. package/dist/register.anima-DOdee0dh.js +0 -193
  637. package/dist/register.anima-HHDWsz6r.js +0 -193
  638. package/dist/register.configure-CSJFxdz9.js +0 -103
  639. package/dist/register.configure-D84Fvcz4.js +0 -101
  640. package/dist/register.maintenance-B3pvNbZb.js +0 -543
  641. package/dist/register.maintenance-BKVOwkw6.js +0 -543
  642. package/dist/register.message-BAO6CPl2.js +0 -657
  643. package/dist/register.message-OXoOKE_6.js +0 -660
  644. package/dist/register.onboard-BK_ixVmD.js +0 -170
  645. package/dist/register.onboard-cfCaPx6j.js +0 -170
  646. package/dist/register.setup-BGfDnzph.js +0 -175
  647. package/dist/register.setup-Y-Q74M-0.js +0 -175
  648. package/dist/register.status-health-sessions-CT14eitH.js +0 -142
  649. package/dist/register.status-health-sessions-TfZMzAUn.js +0 -313
  650. package/dist/register.subclis-BZwdlNHC.js +0 -255
  651. package/dist/reply-mlsExaZm.js +0 -32212
  652. package/dist/reply-prefix-B0CfR4bM.js +0 -100
  653. package/dist/reply-prefix-w4a39ybC.js +0 -100
  654. package/dist/reply-qalRISe_.js +0 -32212
  655. package/dist/routes-CENsHJyg.js +0 -1820
  656. package/dist/routes-DO0HqW2e.js +0 -1820
  657. package/dist/rpc-C0pjNhBi.js +0 -70
  658. package/dist/rpc-DZ44PIXE.js +0 -70
  659. package/dist/run-main-BMpKw8Mp.js +0 -371
  660. package/dist/runtime-guard-BSUFiAQV.js +0 -60
  661. package/dist/sandbox-BIGfMYEI.js +0 -858
  662. package/dist/sandbox-DxP3IpUP.js +0 -859
  663. package/dist/sandbox-cli-DtLGH8sL.js +0 -461
  664. package/dist/sandbox-cli-_Tg7lfJ_.js +0 -458
  665. package/dist/security-cli-BRwgbedo.js +0 -462
  666. package/dist/security-cli-D3bSuyZt.js +0 -465
  667. package/dist/server-context-49XFFxFg.js +0 -824
  668. package/dist/server-context-LrlgrZzS.js +0 -824
  669. package/dist/server-node-events-Dm52i7NW.js +0 -231
  670. package/dist/server-node-events-QX523UyF.js +0 -233
  671. package/dist/service-BNVpYcQe.js +0 -642
  672. package/dist/service-D56aMXUB.js +0 -642
  673. package/dist/service-audit-D0X_XAB2.js +0 -488
  674. package/dist/service-audit-qmf6XMmP.js +0 -488
  675. package/dist/session-CrQQLLhx.js +0 -179
  676. package/dist/session-LocsOOWJ.js +0 -181
  677. package/dist/session-Vlce2BAT.js +0 -181
  678. package/dist/session-cost-usage-BwiTZuKl.js +0 -600
  679. package/dist/session-cost-usage-DT9YNXTJ.js +0 -600
  680. package/dist/sessions-BfV53TbG.js +0 -1296
  681. package/dist/sessions-BimpX_km.js +0 -180
  682. package/dist/sessions-DcXpzig0.js +0 -1296
  683. package/dist/sessions-Wd18dukK.js +0 -2038
  684. package/dist/shared-Bsr69u_7.js +0 -77
  685. package/dist/shared-Cgly1vPb.js +0 -66
  686. package/dist/shared-JOo05hST.js +0 -66
  687. package/dist/shared-f7dvQsi7.js +0 -77
  688. package/dist/skill-scanner-CkaVLABv.js +0 -263
  689. package/dist/skills-B-G7UHOa.js +0 -808
  690. package/dist/skills-B5LQx4lT.js +0 -807
  691. package/dist/skills-cli-DUGe2ZWW.js +0 -286
  692. package/dist/skills-cli-DtOk0bvK.js +0 -289
  693. package/dist/skills-status-Clq9ZnYu.js +0 -166
  694. package/dist/skills-status-JQluhU-P.js +0 -166
  695. package/dist/sqlite-BukcjdJa.js +0 -321
  696. package/dist/sqlite-CGcOZZ0C.js +0 -368
  697. package/dist/sqlite-Ck6f9KWc.js +0 -453
  698. package/dist/start--xmSFepB.js +0 -372
  699. package/dist/start-BdlZbqrr.js +0 -371
  700. package/dist/status-BgoeFm6g.js +0 -2137
  701. package/dist/status-BjjDrUq7.js +0 -27
  702. package/dist/status-Ct0DgOZ-.js +0 -2132
  703. package/dist/status-RA_uNmK0.js +0 -27
  704. package/dist/status.update-BjOH3GlS.js +0 -79
  705. package/dist/status.update-DLU1qBf0.js +0 -79
  706. package/dist/subagent-registry-9RLdKxES.js +0 -2760
  707. package/dist/subagent-registry-Byuex3zp.js +0 -2759
  708. package/dist/subagent-registry-DOBunBYS.js +0 -14
  709. package/dist/subsystem-Dowf8fSU.js +0 -860
  710. package/dist/system-cli-C5oBpzni.js +0 -79
  711. package/dist/system-cli-DXNKD_Id.js +0 -82
  712. package/dist/systemd-BSrHDyeU.js +0 -452
  713. package/dist/systemd-By5xdSB4.js +0 -452
  714. package/dist/systemd-hints-BtjL_5Rh.js +0 -36
  715. package/dist/systemd-hints-sJmr6cjb.js +0 -36
  716. package/dist/systemd-linger-CTmV2Gci.js +0 -75
  717. package/dist/systemd-linger-CmyqQkeC.js +0 -75
  718. package/dist/table-BL0lJzsm.js +0 -279
  719. package/dist/table-DoiRPsn0.js +0 -279
  720. package/dist/timeout-CswI_K-U.js +0 -232
  721. package/dist/tokens-C-X7wDKj.js +0 -14
  722. package/dist/tokens-DkvqA72p.js +0 -14
  723. package/dist/trash-BJLK1vMn.js +0 -23
  724. package/dist/trash-_x5UZ94k.js +0 -23
  725. package/dist/tui-BHjxDFZC.js +0 -3894
  726. package/dist/tui-CgOocwN8.js +0 -3894
  727. package/dist/tui-cli-5ANH8dE5.js +0 -47
  728. package/dist/tui-cli-BQ4P-JW_.js +0 -50
  729. package/dist/update-LFgxHHPd.js +0 -317
  730. package/dist/update-TxptCqk7.js +0 -317
  731. package/dist/update-check-CWc7YXmc.js +0 -400
  732. package/dist/update-check-IhlWaui6.js +0 -400
  733. package/dist/update-cli-PtXU62w7.js +0 -1105
  734. package/dist/update-cli-Va0EtETG.js +0 -1105
  735. package/dist/update-runner-BLeKFkiB.js +0 -894
  736. package/dist/update-runner-Iuzpc-_y.js +0 -894
  737. package/dist/usage-ApGvBLVg.js +0 -4516
  738. package/dist/utils-Bsw__U-F.js +0 -243
  739. package/dist/web-B6_Ky60G.js +0 -63
  740. package/dist/web-EZLQEWXY.js +0 -46842
  741. package/dist/web-pec8YJUX.js +0 -2203
  742. package/dist/webhooks-cli-BYQKTHTp.js +0 -319
  743. package/dist/webhooks-cli-C2_xtsUQ.js +0 -316
  744. package/dist/whatsapp-actions-C72VCq8f.js +0 -49
  745. package/dist/whatsapp-actions-Ck9Uv0Nw.js +0 -45
  746. package/dist/whatsapp-actions-D0reTj2k.js +0 -53
  747. package/dist/widearea-dns-B6ocX23x.js +0 -127
  748. package/dist/widearea-dns-NsEUNYwz.js +0 -127
  749. package/dist/workspace-Dcfoy5JJ.js +0 -649
  750. package/dist/ws-log-N8R5MvGE.js +0 -267
  751. package/dist/ws-log-gwFxPxj5.js +0 -267
  752. /package/dist/{auto-update-CUeF99gI.js → auto-update-CpF0fycd.js} +0 -0
  753. /package/dist/{auto-update-cgkp9ZTJ.js → auto-update-DNWdO7uF.js} +0 -0
  754. /package/dist/{brew-CVZkr0GU.js → brew-nqf_MiE4.js} +0 -0
  755. /package/dist/{budget-DxYQSekw.js → budget-CPedI-qW.js} +0 -0
  756. /package/dist/{budget-BWBp8Res.js → budget-CRpvqDRX.js} +0 -0
  757. /package/dist/{cli-utils-DtAxdCte.js → cli-utils-C1YHVD4o.js} +0 -0
  758. /package/dist/{command-options-CSbuuqHr.js → command-options-BbponVnw.js} +0 -0
  759. /package/dist/{command-options-Cp1tf96a.js → command-options-s0gnvXnS.js} +0 -0
  760. /package/dist/{constants-O8yBqCBv.js → constants-Dhb6zSIV.js} +0 -0
  761. /package/dist/{dangerous-tools-5ObDWy1N.js → dangerous-tools-DGTtJ_JR.js} +0 -0
  762. /package/dist/{dangerous-tools-Jwr7jqNw.js → dangerous-tools-DxrfTOfT.js} +0 -0
  763. /package/dist/{delivery-queue-B6IHz4Ry.js → delivery-queue-Bxm0nzw7.js} +0 -0
  764. /package/dist/{display-BDOsXu8F.js → display-Jy3UdGzA.js} +0 -0
  765. /package/dist/{errors-CHow2wtt.js → errors-CKaCqKga.js} +0 -0
  766. /package/dist/{exec-BizYYQgP.js → exec-DDmuVVNq.js} +0 -0
  767. /package/dist/{format-Mq6iU0_5.js → format-ByEjgyTF.js} +0 -0
  768. /package/dist/{format-duration-DhWzz_5b.js → format-duration-Aaj5tjJd.js} +0 -0
  769. /package/dist/{format-relative-C6kUHuOj.js → format-relative-79_Y1n2Y.js} +0 -0
  770. /package/dist/{help-format-DUBI91Ti.js → help-format-BMKzarov.js} +0 -0
  771. /package/dist/{helpers-eJFa4K6r.js → helpers-DpEB9Mh0.js} +0 -0
  772. /package/dist/{helpers-DLgbkcEn.js → helpers-FMld9sBT.js} +0 -0
  773. /package/dist/{input-provenance-DJBdpeKk.js → input-provenance-Cy_KnBlP.js} +0 -0
  774. /package/dist/{is-main-Dt9DTcH1.js → is-main-yjaVwMtJ.js} +0 -0
  775. /package/dist/{loader-l2OBdJ8x.js → loader-Br7Vr0zn.js} +0 -0
  776. /package/dist/{loader-BoYxRfcW.js → loader-CkmOrXcC.js} +0 -0
  777. /package/dist/{logging-BdnOSVPD.js → logging-CY-Q5cwf.js} +0 -0
  778. /package/dist/{message-channel-w4F2b2F6.js → message-channel-dua8OOGJ.js} +0 -0
  779. /package/dist/{mime-B1ZoR53M.js → mime-CBg4KybI.js} +0 -0
  780. /package/dist/{model-param-b-DPwyNGn8.js → model-param-b-DW9f0NN8.js} +0 -0
  781. /package/dist/{node-match-8XZnaid6.js → node-match-BV8bTBd4.js} +0 -0
  782. /package/dist/{normalize-GDK8JTNW.js → normalize-_lmlBOW9.js} +0 -0
  783. /package/dist/{openclaw-root-C85WMnVV.js → openclaw-root-JPvmPTf7.js} +0 -0
  784. /package/dist/{outbound-send-deps-ANnAhImn.js → outbound-send-deps-BfUvuWGa.js} +0 -0
  785. /package/dist/{parse-6-2MDhdT.js → parse-CZRwKocn.js} +0 -0
  786. /package/dist/{parse-log-line-Bqh1SSzC.js → parse-log-line-CvrZEK6A.js} +0 -0
  787. /package/dist/{parse-log-line-DUZCjXbl.js → parse-log-line-mLdat0AH.js} +0 -0
  788. /package/dist/{parse-port-BKB9Exlg.js → parse-port-BSOOdo7I.js} +0 -0
  789. /package/dist/{parse-port-DrfvwwiL.js → parse-port-Y0NK62x1.js} +0 -0
  790. /package/dist/{parse-timeout-Di_tcEmi.js → parse-timeout-DVPQ3n9j.js} +0 -0
  791. /package/dist/{paths-DcVEkYX5.js → paths-DHjlJ6cn.js} +0 -0
  792. /package/dist/{pi-model-discovery-DsRqYJLy.js → pi-model-discovery-DzEIEgHL.js} +0 -0
  793. /package/dist/{plugins-CDJw924T.js → plugins-D6PBOdkn.js} +0 -0
  794. /package/dist/{program-context-Bvn8046-.js → program-context-Q1hkT73c.js} +0 -0
  795. /package/dist/{progress-CbZ2D53A.js → progress-C9Ha1NJh.js} +0 -0
  796. /package/dist/{prompt-style-DKy6qQxR.js → prompt-style-DQi8j03a.js} +0 -0
  797. /package/dist/{prompts-BI__va99.js → prompts-BEHxUC3w.js} +0 -0
  798. /package/dist/{prompts-_dDWkCAz.js → prompts-CSOhuiqe.js} +0 -0
  799. /package/dist/{queue-D_u34pbL.js → queue-BJGo7kAB.js} +0 -0
  800. /package/dist/{queue-PG591iID.js → queue-DYgUbdoq.js} +0 -0
  801. /package/dist/{redact-ClVwO7Nn.js → redact-CyKvdFrg.js} +0 -0
  802. /package/dist/{registry-Bs_DJK9E.js → registry-C5MAYD4V.js} +0 -0
  803. /package/dist/{registry-D_zlP1U-.js → registry-CRrXXVs0.js} +0 -0
  804. /package/dist/{requirements-BzZxj2Wu.js → requirements-CGkxTCu4.js} +0 -0
  805. /package/dist/{requirements-DIW1svgA.js → requirements-CIDaOcbO.js} +0 -0
  806. /package/dist/{runtime-guard-DeOXA_86.js → runtime-guard-nL3Lp8T-.js} +0 -0
  807. /package/dist/{secret-equal-Dghy3xsA.js → secret-equal-DJpmLXlG.js} +0 -0
  808. /package/dist/{send-BhAfdGII.js → send-CTcxgDDU.js} +0 -0
  809. /package/dist/{send-ga9udK1_.js → send-DPezUR3-.js} +0 -0
  810. /package/dist/{send-C2t9xpXI.js → send-DZQTaG7-.js} +0 -0
  811. /package/dist/{send-DigO-i9j.js → send-VDff2gra.js} +0 -0
  812. /package/dist/{send-Dz2BDHll.js → send-bgQNV8d1.js} +0 -0
  813. /package/dist/{session-key-BGiG_JcT.js → session-key-CQT-NR6w.js} +0 -0
  814. /package/dist/{shell-argv-CAq1mLa2.js → shell-argv-n9IueeJQ.js} +0 -0
  815. /package/dist/{skill-scanner-Coo4QoCd.js → skill-scanner-o6NgVMD9.js} +0 -0
  816. /package/dist/{status-CMnlcBVc.js → status-C53kTIXF.js} +0 -0
  817. /package/dist/{status-tDZPwewW.js → status-CZDDA_Sy.js} +0 -0
  818. /package/dist/{system-run-command-X9lDJIy0.js → system-run-command-BCjUffN9.js} +0 -0
  819. /package/dist/{system-run-command-DGk7dwQP.js → system-run-command-CqAqKL9K.js} +0 -0
  820. /package/dist/{tailnet-CuiNECdL.js → tailnet-Ciwjv243.js} +0 -0
  821. /package/dist/{templates-CeYJjVzw.js → templates-37RKpACb.js} +0 -0
  822. /package/dist/{templates-I3Z0xplD.js → templates-DPalk30o.js} +0 -0
  823. /package/dist/{thinking-BXEswx1X.js → thinking-2hxwmvTl.js} +0 -0
  824. /package/dist/{transcript-events-C1hdue6u.js → transcript-events-Bp7fGnwv.js} +0 -0
  825. /package/dist/{transcript-tools-DuyYOkUq.js → transcript-tools-D4Lbxlka.js} +0 -0
  826. /package/dist/{usage-format-BAirWUSO.js → usage-format-6Uar63S0.js} +0 -0
  827. /package/dist/{utils-C9sj30YY.js → utils-DT8uXjFS.js} +0 -0
  828. /package/dist/{wsl-CqyuRvtM.js → wsl-CrPvx2kZ.js} +0 -0
  829. /package/dist/{wsl-ymJYvc9Q.js → wsl-UvJ5dHah.js} +0 -0
@@ -1,1692 +0,0 @@
1
- import { $ as resolveStateDir } from "./entry.js";
2
- import { a as logDebug, o as logError } from "./exec-BizYYQgP.js";
3
- import { h as GATEWAY_CLIENT_NAMES, m as GATEWAY_CLIENT_MODES, p as GATEWAY_CLIENT_IDS } from "./message-channel-w4F2b2F6.js";
4
- import { d as rawDataToString } from "./net-B5lXhYLV.js";
5
- import { t as INPUT_PROVENANCE_KIND_VALUES } from "./input-provenance-DJBdpeKk.js";
6
- import path from "node:path";
7
- import fs from "node:fs";
8
- import crypto, { randomUUID } from "node:crypto";
9
- import AjvPkg from "ajv";
10
- import { WebSocket as WebSocket$1 } from "ws";
11
- import { Type } from "@sinclair/typebox";
12
-
13
- //#region src/infra/device-identity.ts
14
- function resolveDefaultIdentityPath() {
15
- return path.join(resolveStateDir(), "identity", "device.json");
16
- }
17
- function ensureDir(filePath) {
18
- fs.mkdirSync(path.dirname(filePath), { recursive: true });
19
- }
20
- const ED25519_SPKI_PREFIX = Buffer.from("302a300506032b6570032100", "hex");
21
- function base64UrlEncode(buf) {
22
- return buf.toString("base64").replaceAll("+", "-").replaceAll("/", "_").replace(/=+$/g, "");
23
- }
24
- function base64UrlDecode(input) {
25
- const normalized = input.replaceAll("-", "+").replaceAll("_", "/");
26
- const padded = normalized + "=".repeat((4 - normalized.length % 4) % 4);
27
- return Buffer.from(padded, "base64");
28
- }
29
- function derivePublicKeyRaw(publicKeyPem) {
30
- const spki = crypto.createPublicKey(publicKeyPem).export({
31
- type: "spki",
32
- format: "der"
33
- });
34
- if (spki.length === ED25519_SPKI_PREFIX.length + 32 && spki.subarray(0, ED25519_SPKI_PREFIX.length).equals(ED25519_SPKI_PREFIX)) return spki.subarray(ED25519_SPKI_PREFIX.length);
35
- return spki;
36
- }
37
- function fingerprintPublicKey(publicKeyPem) {
38
- const raw = derivePublicKeyRaw(publicKeyPem);
39
- return crypto.createHash("sha256").update(raw).digest("hex");
40
- }
41
- function generateIdentity() {
42
- const { publicKey, privateKey } = crypto.generateKeyPairSync("ed25519");
43
- const publicKeyPem = publicKey.export({
44
- type: "spki",
45
- format: "pem"
46
- }).toString();
47
- const privateKeyPem = privateKey.export({
48
- type: "pkcs8",
49
- format: "pem"
50
- }).toString();
51
- return {
52
- deviceId: fingerprintPublicKey(publicKeyPem),
53
- publicKeyPem,
54
- privateKeyPem
55
- };
56
- }
57
- function loadOrCreateDeviceIdentity(filePath = resolveDefaultIdentityPath()) {
58
- try {
59
- if (fs.existsSync(filePath)) {
60
- const raw = fs.readFileSync(filePath, "utf8");
61
- const parsed = JSON.parse(raw);
62
- if (parsed?.version === 1 && typeof parsed.deviceId === "string" && typeof parsed.publicKeyPem === "string" && typeof parsed.privateKeyPem === "string") {
63
- const derivedId = fingerprintPublicKey(parsed.publicKeyPem);
64
- if (derivedId && derivedId !== parsed.deviceId) {
65
- const updated = {
66
- ...parsed,
67
- deviceId: derivedId
68
- };
69
- fs.writeFileSync(filePath, `${JSON.stringify(updated, null, 2)}\n`, { mode: 384 });
70
- try {
71
- fs.chmodSync(filePath, 384);
72
- } catch {}
73
- return {
74
- deviceId: derivedId,
75
- publicKeyPem: parsed.publicKeyPem,
76
- privateKeyPem: parsed.privateKeyPem
77
- };
78
- }
79
- return {
80
- deviceId: parsed.deviceId,
81
- publicKeyPem: parsed.publicKeyPem,
82
- privateKeyPem: parsed.privateKeyPem
83
- };
84
- }
85
- }
86
- } catch {}
87
- const identity = generateIdentity();
88
- ensureDir(filePath);
89
- const stored = {
90
- version: 1,
91
- deviceId: identity.deviceId,
92
- publicKeyPem: identity.publicKeyPem,
93
- privateKeyPem: identity.privateKeyPem,
94
- createdAtMs: Date.now()
95
- };
96
- fs.writeFileSync(filePath, `${JSON.stringify(stored, null, 2)}\n`, { mode: 384 });
97
- try {
98
- fs.chmodSync(filePath, 384);
99
- } catch {}
100
- return identity;
101
- }
102
- function signDevicePayload(privateKeyPem, payload) {
103
- const key = crypto.createPrivateKey(privateKeyPem);
104
- return base64UrlEncode(crypto.sign(null, Buffer.from(payload, "utf8"), key));
105
- }
106
- function normalizeDevicePublicKeyBase64Url(publicKey) {
107
- try {
108
- if (publicKey.includes("BEGIN")) return base64UrlEncode(derivePublicKeyRaw(publicKey));
109
- return base64UrlEncode(base64UrlDecode(publicKey));
110
- } catch {
111
- return null;
112
- }
113
- }
114
- function deriveDeviceIdFromPublicKey(publicKey) {
115
- try {
116
- const raw = publicKey.includes("BEGIN") ? derivePublicKeyRaw(publicKey) : base64UrlDecode(publicKey);
117
- return crypto.createHash("sha256").update(raw).digest("hex");
118
- } catch {
119
- return null;
120
- }
121
- }
122
- function publicKeyRawBase64UrlFromPem(publicKeyPem) {
123
- return base64UrlEncode(derivePublicKeyRaw(publicKeyPem));
124
- }
125
- function verifyDeviceSignature(publicKey, payload, signatureBase64Url) {
126
- try {
127
- const key = publicKey.includes("BEGIN") ? crypto.createPublicKey(publicKey) : crypto.createPublicKey({
128
- key: Buffer.concat([ED25519_SPKI_PREFIX, base64UrlDecode(publicKey)]),
129
- type: "spki",
130
- format: "der"
131
- });
132
- const sig = (() => {
133
- try {
134
- return base64UrlDecode(signatureBase64Url);
135
- } catch {
136
- return Buffer.from(signatureBase64Url, "base64");
137
- }
138
- })();
139
- return crypto.verify(null, Buffer.from(payload, "utf8"), key, sig);
140
- } catch {
141
- return false;
142
- }
143
- }
144
-
145
- //#endregion
146
- //#region src/infra/tls/fingerprint.ts
147
- function normalizeFingerprint(input) {
148
- return input.trim().replace(/^sha-?256\s*:?\s*/i, "").replace(/[^a-fA-F0-9]/g, "").toLowerCase();
149
- }
150
-
151
- //#endregion
152
- //#region src/shared/device-auth.ts
153
- function normalizeDeviceAuthRole(role) {
154
- return role.trim();
155
- }
156
- function normalizeDeviceAuthScopes(scopes) {
157
- if (!Array.isArray(scopes)) return [];
158
- const out = /* @__PURE__ */ new Set();
159
- for (const scope of scopes) {
160
- const trimmed = scope.trim();
161
- if (trimmed) out.add(trimmed);
162
- }
163
- return [...out].toSorted();
164
- }
165
-
166
- //#endregion
167
- //#region src/infra/device-auth-store.ts
168
- const DEVICE_AUTH_FILE = "device-auth.json";
169
- function resolveDeviceAuthPath(env = process.env) {
170
- return path.join(resolveStateDir(env), "identity", DEVICE_AUTH_FILE);
171
- }
172
- function readStore(filePath) {
173
- try {
174
- if (!fs.existsSync(filePath)) return null;
175
- const raw = fs.readFileSync(filePath, "utf8");
176
- const parsed = JSON.parse(raw);
177
- if (parsed?.version !== 1 || typeof parsed.deviceId !== "string") return null;
178
- if (!parsed.tokens || typeof parsed.tokens !== "object") return null;
179
- return parsed;
180
- } catch {
181
- return null;
182
- }
183
- }
184
- function writeStore(filePath, store) {
185
- fs.mkdirSync(path.dirname(filePath), { recursive: true });
186
- fs.writeFileSync(filePath, `${JSON.stringify(store, null, 2)}\n`, { mode: 384 });
187
- try {
188
- fs.chmodSync(filePath, 384);
189
- } catch {}
190
- }
191
- function loadDeviceAuthToken(params) {
192
- const store = readStore(resolveDeviceAuthPath(params.env));
193
- if (!store) return null;
194
- if (store.deviceId !== params.deviceId) return null;
195
- const role = normalizeDeviceAuthRole(params.role);
196
- const entry = store.tokens[role];
197
- if (!entry || typeof entry.token !== "string") return null;
198
- return entry;
199
- }
200
- function storeDeviceAuthToken(params) {
201
- const filePath = resolveDeviceAuthPath(params.env);
202
- const existing = readStore(filePath);
203
- const role = normalizeDeviceAuthRole(params.role);
204
- const next = {
205
- version: 1,
206
- deviceId: params.deviceId,
207
- tokens: existing && existing.deviceId === params.deviceId && existing.tokens ? { ...existing.tokens } : {}
208
- };
209
- const entry = {
210
- token: params.token,
211
- role,
212
- scopes: normalizeDeviceAuthScopes(params.scopes),
213
- updatedAtMs: Date.now()
214
- };
215
- next.tokens[role] = entry;
216
- writeStore(filePath, next);
217
- return entry;
218
- }
219
-
220
- //#endregion
221
- //#region src/gateway/device-auth.ts
222
- function buildDeviceAuthPayload(params) {
223
- const version = params.version ?? (params.nonce ? "v2" : "v1");
224
- const scopes = params.scopes.join(",");
225
- const token = params.token ?? "";
226
- const base = [
227
- version,
228
- params.deviceId,
229
- params.clientId,
230
- params.clientMode,
231
- params.role,
232
- scopes,
233
- String(params.signedAtMs),
234
- token
235
- ];
236
- if (version === "v2") base.push(params.nonce ?? "");
237
- return base.join("|");
238
- }
239
-
240
- //#endregion
241
- //#region src/sessions/session-label.ts
242
- const SESSION_LABEL_MAX_LENGTH = 64;
243
- function parseSessionLabel(raw) {
244
- if (typeof raw !== "string") return {
245
- ok: false,
246
- error: "invalid label: must be a string"
247
- };
248
- const trimmed = raw.trim();
249
- if (!trimmed) return {
250
- ok: false,
251
- error: "invalid label: empty"
252
- };
253
- if (trimmed.length > SESSION_LABEL_MAX_LENGTH) return {
254
- ok: false,
255
- error: `invalid label: too long (max ${SESSION_LABEL_MAX_LENGTH})`
256
- };
257
- return {
258
- ok: true,
259
- label: trimmed
260
- };
261
- }
262
-
263
- //#endregion
264
- //#region src/gateway/protocol/schema/primitives.ts
265
- const NonEmptyString = Type.String({ minLength: 1 });
266
- const SessionLabelString = Type.String({
267
- minLength: 1,
268
- maxLength: SESSION_LABEL_MAX_LENGTH
269
- });
270
- const GatewayClientIdSchema = Type.Union(Object.values(GATEWAY_CLIENT_IDS).map((value) => Type.Literal(value)));
271
- const GatewayClientModeSchema = Type.Union(Object.values(GATEWAY_CLIENT_MODES).map((value) => Type.Literal(value)));
272
-
273
- //#endregion
274
- //#region src/gateway/protocol/schema/agent.ts
275
- const AgentEventSchema = Type.Object({
276
- runId: NonEmptyString,
277
- seq: Type.Integer({ minimum: 0 }),
278
- stream: NonEmptyString,
279
- ts: Type.Integer({ minimum: 0 }),
280
- data: Type.Record(Type.String(), Type.Unknown())
281
- }, { additionalProperties: false });
282
- const SendParamsSchema = Type.Object({
283
- to: NonEmptyString,
284
- message: Type.Optional(Type.String()),
285
- mediaUrl: Type.Optional(Type.String()),
286
- mediaUrls: Type.Optional(Type.Array(Type.String())),
287
- gifPlayback: Type.Optional(Type.Boolean()),
288
- channel: Type.Optional(Type.String()),
289
- accountId: Type.Optional(Type.String()),
290
- sessionKey: Type.Optional(Type.String()),
291
- idempotencyKey: NonEmptyString
292
- }, { additionalProperties: false });
293
- const PollParamsSchema = Type.Object({
294
- to: NonEmptyString,
295
- question: NonEmptyString,
296
- options: Type.Array(NonEmptyString, {
297
- minItems: 2,
298
- maxItems: 12
299
- }),
300
- maxSelections: Type.Optional(Type.Integer({
301
- minimum: 1,
302
- maximum: 12
303
- })),
304
- durationSeconds: Type.Optional(Type.Integer({
305
- minimum: 1,
306
- maximum: 604800
307
- })),
308
- durationHours: Type.Optional(Type.Integer({ minimum: 1 })),
309
- silent: Type.Optional(Type.Boolean()),
310
- isAnonymous: Type.Optional(Type.Boolean()),
311
- threadId: Type.Optional(Type.String()),
312
- channel: Type.Optional(Type.String()),
313
- accountId: Type.Optional(Type.String()),
314
- idempotencyKey: NonEmptyString
315
- }, { additionalProperties: false });
316
- const AgentParamsSchema = Type.Object({
317
- message: NonEmptyString,
318
- agentId: Type.Optional(NonEmptyString),
319
- to: Type.Optional(Type.String()),
320
- replyTo: Type.Optional(Type.String()),
321
- sessionId: Type.Optional(Type.String()),
322
- sessionKey: Type.Optional(Type.String()),
323
- thinking: Type.Optional(Type.String()),
324
- deliver: Type.Optional(Type.Boolean()),
325
- attachments: Type.Optional(Type.Array(Type.Unknown())),
326
- channel: Type.Optional(Type.String()),
327
- replyChannel: Type.Optional(Type.String()),
328
- accountId: Type.Optional(Type.String()),
329
- replyAccountId: Type.Optional(Type.String()),
330
- threadId: Type.Optional(Type.String()),
331
- groupId: Type.Optional(Type.String()),
332
- groupChannel: Type.Optional(Type.String()),
333
- groupSpace: Type.Optional(Type.String()),
334
- timeout: Type.Optional(Type.Integer({ minimum: 0 })),
335
- lane: Type.Optional(Type.String()),
336
- extraSystemPrompt: Type.Optional(Type.String()),
337
- inputProvenance: Type.Optional(Type.Object({
338
- kind: Type.String({ enum: [...INPUT_PROVENANCE_KIND_VALUES] }),
339
- sourceSessionKey: Type.Optional(Type.String()),
340
- sourceChannel: Type.Optional(Type.String()),
341
- sourceTool: Type.Optional(Type.String())
342
- }, { additionalProperties: false })),
343
- idempotencyKey: NonEmptyString,
344
- label: Type.Optional(SessionLabelString),
345
- spawnedBy: Type.Optional(Type.String())
346
- }, { additionalProperties: false });
347
- const AgentIdentityParamsSchema = Type.Object({
348
- agentId: Type.Optional(NonEmptyString),
349
- sessionKey: Type.Optional(Type.String())
350
- }, { additionalProperties: false });
351
- const AgentIdentityResultSchema = Type.Object({
352
- agentId: NonEmptyString,
353
- name: Type.Optional(NonEmptyString),
354
- avatar: Type.Optional(NonEmptyString),
355
- emoji: Type.Optional(NonEmptyString)
356
- }, { additionalProperties: false });
357
- const AgentWaitParamsSchema = Type.Object({
358
- runId: NonEmptyString,
359
- timeoutMs: Type.Optional(Type.Integer({ minimum: 0 }))
360
- }, { additionalProperties: false });
361
- const WakeParamsSchema = Type.Object({
362
- mode: Type.Union([Type.Literal("now"), Type.Literal("next-heartbeat")]),
363
- text: NonEmptyString
364
- }, { additionalProperties: false });
365
-
366
- //#endregion
367
- //#region src/gateway/protocol/schema/agents-models-skills.ts
368
- const ModelChoiceSchema = Type.Object({
369
- id: NonEmptyString,
370
- name: NonEmptyString,
371
- provider: NonEmptyString,
372
- contextWindow: Type.Optional(Type.Integer({ minimum: 1 })),
373
- reasoning: Type.Optional(Type.Boolean())
374
- }, { additionalProperties: false });
375
- const AgentSummarySchema = Type.Object({
376
- id: NonEmptyString,
377
- name: Type.Optional(NonEmptyString),
378
- identity: Type.Optional(Type.Object({
379
- name: Type.Optional(NonEmptyString),
380
- theme: Type.Optional(NonEmptyString),
381
- emoji: Type.Optional(NonEmptyString),
382
- avatar: Type.Optional(NonEmptyString),
383
- avatarUrl: Type.Optional(NonEmptyString)
384
- }, { additionalProperties: false }))
385
- }, { additionalProperties: false });
386
- const AgentsListParamsSchema = Type.Object({}, { additionalProperties: false });
387
- const AgentsListResultSchema = Type.Object({
388
- defaultId: NonEmptyString,
389
- mainKey: NonEmptyString,
390
- scope: Type.Union([Type.Literal("per-sender"), Type.Literal("global")]),
391
- agents: Type.Array(AgentSummarySchema)
392
- }, { additionalProperties: false });
393
- const AgentsCreateParamsSchema = Type.Object({
394
- name: NonEmptyString,
395
- workspace: NonEmptyString,
396
- emoji: Type.Optional(Type.String()),
397
- avatar: Type.Optional(Type.String())
398
- }, { additionalProperties: false });
399
- const AgentsCreateResultSchema = Type.Object({
400
- ok: Type.Literal(true),
401
- agentId: NonEmptyString,
402
- name: NonEmptyString,
403
- workspace: NonEmptyString
404
- }, { additionalProperties: false });
405
- const AgentsUpdateParamsSchema = Type.Object({
406
- agentId: NonEmptyString,
407
- name: Type.Optional(NonEmptyString),
408
- workspace: Type.Optional(NonEmptyString),
409
- model: Type.Optional(NonEmptyString),
410
- avatar: Type.Optional(Type.String())
411
- }, { additionalProperties: false });
412
- const AgentsUpdateResultSchema = Type.Object({
413
- ok: Type.Literal(true),
414
- agentId: NonEmptyString
415
- }, { additionalProperties: false });
416
- const AgentsDeleteParamsSchema = Type.Object({
417
- agentId: NonEmptyString,
418
- deleteFiles: Type.Optional(Type.Boolean())
419
- }, { additionalProperties: false });
420
- const AgentsDeleteResultSchema = Type.Object({
421
- ok: Type.Literal(true),
422
- agentId: NonEmptyString,
423
- removedBindings: Type.Integer({ minimum: 0 })
424
- }, { additionalProperties: false });
425
- const AgentsFileEntrySchema = Type.Object({
426
- name: NonEmptyString,
427
- path: NonEmptyString,
428
- missing: Type.Boolean(),
429
- size: Type.Optional(Type.Integer({ minimum: 0 })),
430
- updatedAtMs: Type.Optional(Type.Integer({ minimum: 0 })),
431
- content: Type.Optional(Type.String())
432
- }, { additionalProperties: false });
433
- const AgentsFilesListParamsSchema = Type.Object({ agentId: NonEmptyString }, { additionalProperties: false });
434
- const AgentsFilesListResultSchema = Type.Object({
435
- agentId: NonEmptyString,
436
- workspace: NonEmptyString,
437
- files: Type.Array(AgentsFileEntrySchema)
438
- }, { additionalProperties: false });
439
- const AgentsFilesGetParamsSchema = Type.Object({
440
- agentId: NonEmptyString,
441
- name: NonEmptyString
442
- }, { additionalProperties: false });
443
- const AgentsFilesGetResultSchema = Type.Object({
444
- agentId: NonEmptyString,
445
- workspace: NonEmptyString,
446
- file: AgentsFileEntrySchema
447
- }, { additionalProperties: false });
448
- const AgentsFilesSetParamsSchema = Type.Object({
449
- agentId: NonEmptyString,
450
- name: NonEmptyString,
451
- content: Type.String()
452
- }, { additionalProperties: false });
453
- const AgentsFilesSetResultSchema = Type.Object({
454
- ok: Type.Literal(true),
455
- agentId: NonEmptyString,
456
- workspace: NonEmptyString,
457
- file: AgentsFileEntrySchema
458
- }, { additionalProperties: false });
459
- const ModelsListParamsSchema = Type.Object({}, { additionalProperties: false });
460
- const ModelsListResultSchema = Type.Object({ models: Type.Array(ModelChoiceSchema) }, { additionalProperties: false });
461
- const SkillsStatusParamsSchema = Type.Object({ agentId: Type.Optional(NonEmptyString) }, { additionalProperties: false });
462
- const SkillsBinsParamsSchema = Type.Object({}, { additionalProperties: false });
463
- const SkillsBinsResultSchema = Type.Object({ bins: Type.Array(NonEmptyString) }, { additionalProperties: false });
464
- const SkillsInstallParamsSchema = Type.Object({
465
- name: NonEmptyString,
466
- installId: NonEmptyString,
467
- timeoutMs: Type.Optional(Type.Integer({ minimum: 1e3 }))
468
- }, { additionalProperties: false });
469
- const SkillsUpdateParamsSchema = Type.Object({
470
- skillKey: NonEmptyString,
471
- enabled: Type.Optional(Type.Boolean()),
472
- apiKey: Type.Optional(Type.String()),
473
- env: Type.Optional(Type.Record(NonEmptyString, Type.String()))
474
- }, { additionalProperties: false });
475
-
476
- //#endregion
477
- //#region src/gateway/protocol/schema/channels.ts
478
- const TalkModeParamsSchema = Type.Object({
479
- enabled: Type.Boolean(),
480
- phase: Type.Optional(Type.String())
481
- }, { additionalProperties: false });
482
- const TalkConfigParamsSchema = Type.Object({ includeSecrets: Type.Optional(Type.Boolean()) }, { additionalProperties: false });
483
- const TalkConfigResultSchema = Type.Object({ config: Type.Object({
484
- talk: Type.Optional(Type.Object({
485
- voiceId: Type.Optional(Type.String()),
486
- voiceAliases: Type.Optional(Type.Record(Type.String(), Type.String())),
487
- modelId: Type.Optional(Type.String()),
488
- outputFormat: Type.Optional(Type.String()),
489
- apiKey: Type.Optional(Type.String()),
490
- interruptOnSpeech: Type.Optional(Type.Boolean())
491
- }, { additionalProperties: false })),
492
- session: Type.Optional(Type.Object({ mainKey: Type.Optional(Type.String()) }, { additionalProperties: false })),
493
- ui: Type.Optional(Type.Object({ seamColor: Type.Optional(Type.String()) }, { additionalProperties: false }))
494
- }, { additionalProperties: false }) }, { additionalProperties: false });
495
- const ChannelsStatusParamsSchema = Type.Object({
496
- probe: Type.Optional(Type.Boolean()),
497
- timeoutMs: Type.Optional(Type.Integer({ minimum: 0 }))
498
- }, { additionalProperties: false });
499
- const ChannelAccountSnapshotSchema = Type.Object({
500
- accountId: NonEmptyString,
501
- name: Type.Optional(Type.String()),
502
- enabled: Type.Optional(Type.Boolean()),
503
- configured: Type.Optional(Type.Boolean()),
504
- linked: Type.Optional(Type.Boolean()),
505
- running: Type.Optional(Type.Boolean()),
506
- connected: Type.Optional(Type.Boolean()),
507
- reconnectAttempts: Type.Optional(Type.Integer({ minimum: 0 })),
508
- lastConnectedAt: Type.Optional(Type.Integer({ minimum: 0 })),
509
- lastError: Type.Optional(Type.String()),
510
- lastStartAt: Type.Optional(Type.Integer({ minimum: 0 })),
511
- lastStopAt: Type.Optional(Type.Integer({ minimum: 0 })),
512
- lastInboundAt: Type.Optional(Type.Integer({ minimum: 0 })),
513
- lastOutboundAt: Type.Optional(Type.Integer({ minimum: 0 })),
514
- lastProbeAt: Type.Optional(Type.Integer({ minimum: 0 })),
515
- mode: Type.Optional(Type.String()),
516
- dmPolicy: Type.Optional(Type.String()),
517
- allowFrom: Type.Optional(Type.Array(Type.String())),
518
- tokenSource: Type.Optional(Type.String()),
519
- botTokenSource: Type.Optional(Type.String()),
520
- appTokenSource: Type.Optional(Type.String()),
521
- baseUrl: Type.Optional(Type.String()),
522
- allowUnmentionedGroups: Type.Optional(Type.Boolean()),
523
- cliPath: Type.Optional(Type.Union([Type.String(), Type.Null()])),
524
- dbPath: Type.Optional(Type.Union([Type.String(), Type.Null()])),
525
- port: Type.Optional(Type.Union([Type.Integer({ minimum: 0 }), Type.Null()])),
526
- probe: Type.Optional(Type.Unknown()),
527
- audit: Type.Optional(Type.Unknown()),
528
- application: Type.Optional(Type.Unknown())
529
- }, { additionalProperties: true });
530
- const ChannelUiMetaSchema = Type.Object({
531
- id: NonEmptyString,
532
- label: NonEmptyString,
533
- detailLabel: NonEmptyString,
534
- systemImage: Type.Optional(Type.String())
535
- }, { additionalProperties: false });
536
- const ChannelsStatusResultSchema = Type.Object({
537
- ts: Type.Integer({ minimum: 0 }),
538
- channelOrder: Type.Array(NonEmptyString),
539
- channelLabels: Type.Record(NonEmptyString, NonEmptyString),
540
- channelDetailLabels: Type.Optional(Type.Record(NonEmptyString, NonEmptyString)),
541
- channelSystemImages: Type.Optional(Type.Record(NonEmptyString, NonEmptyString)),
542
- channelMeta: Type.Optional(Type.Array(ChannelUiMetaSchema)),
543
- channels: Type.Record(NonEmptyString, Type.Unknown()),
544
- channelAccounts: Type.Record(NonEmptyString, Type.Array(ChannelAccountSnapshotSchema)),
545
- channelDefaultAccountId: Type.Record(NonEmptyString, NonEmptyString)
546
- }, { additionalProperties: false });
547
- const ChannelsLogoutParamsSchema = Type.Object({
548
- channel: NonEmptyString,
549
- accountId: Type.Optional(Type.String())
550
- }, { additionalProperties: false });
551
- const WebLoginStartParamsSchema = Type.Object({
552
- force: Type.Optional(Type.Boolean()),
553
- timeoutMs: Type.Optional(Type.Integer({ minimum: 0 })),
554
- verbose: Type.Optional(Type.Boolean()),
555
- accountId: Type.Optional(Type.String())
556
- }, { additionalProperties: false });
557
- const WebLoginWaitParamsSchema = Type.Object({
558
- timeoutMs: Type.Optional(Type.Integer({ minimum: 0 })),
559
- accountId: Type.Optional(Type.String())
560
- }, { additionalProperties: false });
561
-
562
- //#endregion
563
- //#region src/gateway/protocol/schema/config.ts
564
- const ConfigGetParamsSchema = Type.Object({}, { additionalProperties: false });
565
- const ConfigSetParamsSchema = Type.Object({
566
- raw: NonEmptyString,
567
- baseHash: Type.Optional(NonEmptyString)
568
- }, { additionalProperties: false });
569
- const ConfigApplyParamsSchema = Type.Object({
570
- raw: NonEmptyString,
571
- baseHash: Type.Optional(NonEmptyString),
572
- sessionKey: Type.Optional(Type.String()),
573
- note: Type.Optional(Type.String()),
574
- restartDelayMs: Type.Optional(Type.Integer({ minimum: 0 }))
575
- }, { additionalProperties: false });
576
- const ConfigPatchParamsSchema = Type.Object({
577
- raw: NonEmptyString,
578
- baseHash: Type.Optional(NonEmptyString),
579
- sessionKey: Type.Optional(Type.String()),
580
- note: Type.Optional(Type.String()),
581
- restartDelayMs: Type.Optional(Type.Integer({ minimum: 0 }))
582
- }, { additionalProperties: false });
583
- const ConfigSchemaParamsSchema = Type.Object({}, { additionalProperties: false });
584
- const UpdateRunParamsSchema = Type.Object({
585
- sessionKey: Type.Optional(Type.String()),
586
- note: Type.Optional(Type.String()),
587
- restartDelayMs: Type.Optional(Type.Integer({ minimum: 0 })),
588
- timeoutMs: Type.Optional(Type.Integer({ minimum: 1 }))
589
- }, { additionalProperties: false });
590
- const ConfigUiHintSchema = Type.Object({
591
- label: Type.Optional(Type.String()),
592
- help: Type.Optional(Type.String()),
593
- group: Type.Optional(Type.String()),
594
- order: Type.Optional(Type.Integer()),
595
- advanced: Type.Optional(Type.Boolean()),
596
- sensitive: Type.Optional(Type.Boolean()),
597
- placeholder: Type.Optional(Type.String()),
598
- itemTemplate: Type.Optional(Type.Unknown())
599
- }, { additionalProperties: false });
600
- const ConfigSchemaResponseSchema = Type.Object({
601
- schema: Type.Unknown(),
602
- uiHints: Type.Record(Type.String(), ConfigUiHintSchema),
603
- version: NonEmptyString,
604
- generatedAt: NonEmptyString
605
- }, { additionalProperties: false });
606
-
607
- //#endregion
608
- //#region src/gateway/protocol/schema/cron.ts
609
- const CronScheduleSchema = Type.Union([
610
- Type.Object({
611
- kind: Type.Literal("at"),
612
- at: NonEmptyString
613
- }, { additionalProperties: false }),
614
- Type.Object({
615
- kind: Type.Literal("every"),
616
- everyMs: Type.Integer({ minimum: 1 }),
617
- anchorMs: Type.Optional(Type.Integer({ minimum: 0 }))
618
- }, { additionalProperties: false }),
619
- Type.Object({
620
- kind: Type.Literal("cron"),
621
- expr: NonEmptyString,
622
- tz: Type.Optional(Type.String())
623
- }, { additionalProperties: false })
624
- ]);
625
- const CronPayloadSchema = Type.Union([Type.Object({
626
- kind: Type.Literal("systemEvent"),
627
- text: NonEmptyString
628
- }, { additionalProperties: false }), Type.Object({
629
- kind: Type.Literal("agentTurn"),
630
- message: NonEmptyString,
631
- model: Type.Optional(Type.String()),
632
- thinking: Type.Optional(Type.String()),
633
- timeoutSeconds: Type.Optional(Type.Integer({ minimum: 1 })),
634
- allowUnsafeExternalContent: Type.Optional(Type.Boolean()),
635
- deliver: Type.Optional(Type.Boolean()),
636
- channel: Type.Optional(Type.String()),
637
- to: Type.Optional(Type.String()),
638
- bestEffortDeliver: Type.Optional(Type.Boolean())
639
- }, { additionalProperties: false })]);
640
- const CronPayloadPatchSchema = Type.Union([Type.Object({
641
- kind: Type.Literal("systemEvent"),
642
- text: Type.Optional(NonEmptyString)
643
- }, { additionalProperties: false }), Type.Object({
644
- kind: Type.Literal("agentTurn"),
645
- message: Type.Optional(NonEmptyString),
646
- model: Type.Optional(Type.String()),
647
- thinking: Type.Optional(Type.String()),
648
- timeoutSeconds: Type.Optional(Type.Integer({ minimum: 1 })),
649
- allowUnsafeExternalContent: Type.Optional(Type.Boolean()),
650
- deliver: Type.Optional(Type.Boolean()),
651
- channel: Type.Optional(Type.String()),
652
- to: Type.Optional(Type.String()),
653
- bestEffortDeliver: Type.Optional(Type.Boolean())
654
- }, { additionalProperties: false })]);
655
- const CronDeliverySchema = Type.Object({
656
- mode: Type.Union([Type.Literal("none"), Type.Literal("announce")]),
657
- channel: Type.Optional(Type.Union([Type.Literal("last"), NonEmptyString])),
658
- to: Type.Optional(Type.String()),
659
- bestEffort: Type.Optional(Type.Boolean())
660
- }, { additionalProperties: false });
661
- const CronDeliveryPatchSchema = Type.Object({
662
- mode: Type.Optional(Type.Union([Type.Literal("none"), Type.Literal("announce")])),
663
- channel: Type.Optional(Type.Union([Type.Literal("last"), NonEmptyString])),
664
- to: Type.Optional(Type.String()),
665
- bestEffort: Type.Optional(Type.Boolean())
666
- }, { additionalProperties: false });
667
- const CronJobStateSchema = Type.Object({
668
- nextRunAtMs: Type.Optional(Type.Integer({ minimum: 0 })),
669
- runningAtMs: Type.Optional(Type.Integer({ minimum: 0 })),
670
- lastRunAtMs: Type.Optional(Type.Integer({ minimum: 0 })),
671
- lastStatus: Type.Optional(Type.Union([
672
- Type.Literal("ok"),
673
- Type.Literal("error"),
674
- Type.Literal("skipped")
675
- ])),
676
- lastError: Type.Optional(Type.String()),
677
- lastDurationMs: Type.Optional(Type.Integer({ minimum: 0 })),
678
- consecutiveErrors: Type.Optional(Type.Integer({ minimum: 0 }))
679
- }, { additionalProperties: false });
680
- const CronJobSchema = Type.Object({
681
- id: NonEmptyString,
682
- agentId: Type.Optional(NonEmptyString),
683
- name: NonEmptyString,
684
- description: Type.Optional(Type.String()),
685
- enabled: Type.Boolean(),
686
- deleteAfterRun: Type.Optional(Type.Boolean()),
687
- createdAtMs: Type.Integer({ minimum: 0 }),
688
- updatedAtMs: Type.Integer({ minimum: 0 }),
689
- schedule: CronScheduleSchema,
690
- sessionTarget: Type.Union([Type.Literal("main"), Type.Literal("isolated")]),
691
- wakeMode: Type.Union([Type.Literal("next-heartbeat"), Type.Literal("now")]),
692
- payload: CronPayloadSchema,
693
- delivery: Type.Optional(CronDeliverySchema),
694
- state: CronJobStateSchema
695
- }, { additionalProperties: false });
696
- const CronListParamsSchema = Type.Object({ includeDisabled: Type.Optional(Type.Boolean()) }, { additionalProperties: false });
697
- const CronStatusParamsSchema = Type.Object({}, { additionalProperties: false });
698
- const CronAddParamsSchema = Type.Object({
699
- name: NonEmptyString,
700
- agentId: Type.Optional(Type.Union([NonEmptyString, Type.Null()])),
701
- description: Type.Optional(Type.String()),
702
- enabled: Type.Optional(Type.Boolean()),
703
- deleteAfterRun: Type.Optional(Type.Boolean()),
704
- schedule: CronScheduleSchema,
705
- sessionTarget: Type.Union([Type.Literal("main"), Type.Literal("isolated")]),
706
- wakeMode: Type.Union([Type.Literal("next-heartbeat"), Type.Literal("now")]),
707
- payload: CronPayloadSchema,
708
- delivery: Type.Optional(CronDeliverySchema)
709
- }, { additionalProperties: false });
710
- const CronJobPatchSchema = Type.Object({
711
- name: Type.Optional(NonEmptyString),
712
- agentId: Type.Optional(Type.Union([NonEmptyString, Type.Null()])),
713
- description: Type.Optional(Type.String()),
714
- enabled: Type.Optional(Type.Boolean()),
715
- deleteAfterRun: Type.Optional(Type.Boolean()),
716
- schedule: Type.Optional(CronScheduleSchema),
717
- sessionTarget: Type.Optional(Type.Union([Type.Literal("main"), Type.Literal("isolated")])),
718
- wakeMode: Type.Optional(Type.Union([Type.Literal("next-heartbeat"), Type.Literal("now")])),
719
- payload: Type.Optional(CronPayloadPatchSchema),
720
- delivery: Type.Optional(CronDeliveryPatchSchema),
721
- state: Type.Optional(Type.Partial(CronJobStateSchema))
722
- }, { additionalProperties: false });
723
- const CronUpdateParamsSchema = Type.Union([Type.Object({
724
- id: NonEmptyString,
725
- patch: CronJobPatchSchema
726
- }, { additionalProperties: false }), Type.Object({
727
- jobId: NonEmptyString,
728
- patch: CronJobPatchSchema
729
- }, { additionalProperties: false })]);
730
- const CronRemoveParamsSchema = Type.Union([Type.Object({ id: NonEmptyString }, { additionalProperties: false }), Type.Object({ jobId: NonEmptyString }, { additionalProperties: false })]);
731
- const CronRunParamsSchema = Type.Union([Type.Object({
732
- id: NonEmptyString,
733
- mode: Type.Optional(Type.Union([Type.Literal("due"), Type.Literal("force")]))
734
- }, { additionalProperties: false }), Type.Object({
735
- jobId: NonEmptyString,
736
- mode: Type.Optional(Type.Union([Type.Literal("due"), Type.Literal("force")]))
737
- }, { additionalProperties: false })]);
738
- const CronRunsParamsSchema = Type.Union([Type.Object({
739
- id: NonEmptyString,
740
- limit: Type.Optional(Type.Integer({
741
- minimum: 1,
742
- maximum: 5e3
743
- }))
744
- }, { additionalProperties: false }), Type.Object({
745
- jobId: NonEmptyString,
746
- limit: Type.Optional(Type.Integer({
747
- minimum: 1,
748
- maximum: 5e3
749
- }))
750
- }, { additionalProperties: false })]);
751
- const CronRunLogEntrySchema = Type.Object({
752
- ts: Type.Integer({ minimum: 0 }),
753
- jobId: NonEmptyString,
754
- action: Type.Literal("finished"),
755
- status: Type.Optional(Type.Union([
756
- Type.Literal("ok"),
757
- Type.Literal("error"),
758
- Type.Literal("skipped")
759
- ])),
760
- error: Type.Optional(Type.String()),
761
- summary: Type.Optional(Type.String()),
762
- sessionId: Type.Optional(NonEmptyString),
763
- sessionKey: Type.Optional(NonEmptyString),
764
- runAtMs: Type.Optional(Type.Integer({ minimum: 0 })),
765
- durationMs: Type.Optional(Type.Integer({ minimum: 0 })),
766
- nextRunAtMs: Type.Optional(Type.Integer({ minimum: 0 }))
767
- }, { additionalProperties: false });
768
-
769
- //#endregion
770
- //#region src/gateway/protocol/schema/error-codes.ts
771
- const ErrorCodes = {
772
- NOT_LINKED: "NOT_LINKED",
773
- NOT_PAIRED: "NOT_PAIRED",
774
- AGENT_TIMEOUT: "AGENT_TIMEOUT",
775
- INVALID_REQUEST: "INVALID_REQUEST",
776
- UNAVAILABLE: "UNAVAILABLE"
777
- };
778
- function errorShape(code, message, opts) {
779
- return {
780
- code,
781
- message,
782
- ...opts
783
- };
784
- }
785
-
786
- //#endregion
787
- //#region src/gateway/protocol/schema/exec-approvals.ts
788
- const ExecApprovalsAllowlistEntrySchema = Type.Object({
789
- id: Type.Optional(NonEmptyString),
790
- pattern: Type.String(),
791
- lastUsedAt: Type.Optional(Type.Integer({ minimum: 0 })),
792
- lastUsedCommand: Type.Optional(Type.String()),
793
- lastResolvedPath: Type.Optional(Type.String())
794
- }, { additionalProperties: false });
795
- const ExecApprovalsDefaultsSchema = Type.Object({
796
- security: Type.Optional(Type.String()),
797
- ask: Type.Optional(Type.String()),
798
- askFallback: Type.Optional(Type.String()),
799
- autoAllowSkills: Type.Optional(Type.Boolean())
800
- }, { additionalProperties: false });
801
- const ExecApprovalsAgentSchema = Type.Object({
802
- security: Type.Optional(Type.String()),
803
- ask: Type.Optional(Type.String()),
804
- askFallback: Type.Optional(Type.String()),
805
- autoAllowSkills: Type.Optional(Type.Boolean()),
806
- allowlist: Type.Optional(Type.Array(ExecApprovalsAllowlistEntrySchema))
807
- }, { additionalProperties: false });
808
- const ExecApprovalsFileSchema = Type.Object({
809
- version: Type.Literal(1),
810
- socket: Type.Optional(Type.Object({
811
- path: Type.Optional(Type.String()),
812
- token: Type.Optional(Type.String())
813
- }, { additionalProperties: false })),
814
- defaults: Type.Optional(ExecApprovalsDefaultsSchema),
815
- agents: Type.Optional(Type.Record(Type.String(), ExecApprovalsAgentSchema))
816
- }, { additionalProperties: false });
817
- const ExecApprovalsSnapshotSchema = Type.Object({
818
- path: NonEmptyString,
819
- exists: Type.Boolean(),
820
- hash: NonEmptyString,
821
- file: ExecApprovalsFileSchema
822
- }, { additionalProperties: false });
823
- const ExecApprovalsGetParamsSchema = Type.Object({}, { additionalProperties: false });
824
- const ExecApprovalsSetParamsSchema = Type.Object({
825
- file: ExecApprovalsFileSchema,
826
- baseHash: Type.Optional(NonEmptyString)
827
- }, { additionalProperties: false });
828
- const ExecApprovalsNodeGetParamsSchema = Type.Object({ nodeId: NonEmptyString }, { additionalProperties: false });
829
- const ExecApprovalsNodeSetParamsSchema = Type.Object({
830
- nodeId: NonEmptyString,
831
- file: ExecApprovalsFileSchema,
832
- baseHash: Type.Optional(NonEmptyString)
833
- }, { additionalProperties: false });
834
- const ExecApprovalRequestParamsSchema = Type.Object({
835
- id: Type.Optional(NonEmptyString),
836
- command: NonEmptyString,
837
- cwd: Type.Optional(Type.Union([Type.String(), Type.Null()])),
838
- host: Type.Optional(Type.Union([Type.String(), Type.Null()])),
839
- security: Type.Optional(Type.Union([Type.String(), Type.Null()])),
840
- ask: Type.Optional(Type.Union([Type.String(), Type.Null()])),
841
- agentId: Type.Optional(Type.Union([Type.String(), Type.Null()])),
842
- resolvedPath: Type.Optional(Type.Union([Type.String(), Type.Null()])),
843
- sessionKey: Type.Optional(Type.Union([Type.String(), Type.Null()])),
844
- timeoutMs: Type.Optional(Type.Integer({ minimum: 1 })),
845
- twoPhase: Type.Optional(Type.Boolean())
846
- }, { additionalProperties: false });
847
- const ExecApprovalResolveParamsSchema = Type.Object({
848
- id: NonEmptyString,
849
- decision: NonEmptyString
850
- }, { additionalProperties: false });
851
-
852
- //#endregion
853
- //#region src/gateway/protocol/schema/devices.ts
854
- const DevicePairListParamsSchema = Type.Object({}, { additionalProperties: false });
855
- const DevicePairApproveParamsSchema = Type.Object({ requestId: NonEmptyString }, { additionalProperties: false });
856
- const DevicePairRejectParamsSchema = Type.Object({ requestId: NonEmptyString }, { additionalProperties: false });
857
- const DeviceTokenRotateParamsSchema = Type.Object({
858
- deviceId: NonEmptyString,
859
- role: NonEmptyString,
860
- scopes: Type.Optional(Type.Array(NonEmptyString))
861
- }, { additionalProperties: false });
862
- const DeviceTokenRevokeParamsSchema = Type.Object({
863
- deviceId: NonEmptyString,
864
- role: NonEmptyString
865
- }, { additionalProperties: false });
866
- const DevicePairRequestedEventSchema = Type.Object({
867
- requestId: NonEmptyString,
868
- deviceId: NonEmptyString,
869
- publicKey: NonEmptyString,
870
- displayName: Type.Optional(NonEmptyString),
871
- platform: Type.Optional(NonEmptyString),
872
- clientId: Type.Optional(NonEmptyString),
873
- clientMode: Type.Optional(NonEmptyString),
874
- role: Type.Optional(NonEmptyString),
875
- roles: Type.Optional(Type.Array(NonEmptyString)),
876
- scopes: Type.Optional(Type.Array(NonEmptyString)),
877
- remoteIp: Type.Optional(NonEmptyString),
878
- silent: Type.Optional(Type.Boolean()),
879
- isRepair: Type.Optional(Type.Boolean()),
880
- ts: Type.Integer({ minimum: 0 })
881
- }, { additionalProperties: false });
882
- const DevicePairResolvedEventSchema = Type.Object({
883
- requestId: NonEmptyString,
884
- deviceId: NonEmptyString,
885
- decision: NonEmptyString,
886
- ts: Type.Integer({ minimum: 0 })
887
- }, { additionalProperties: false });
888
-
889
- //#endregion
890
- //#region src/gateway/protocol/schema/snapshot.ts
891
- const PresenceEntrySchema = Type.Object({
892
- host: Type.Optional(NonEmptyString),
893
- ip: Type.Optional(NonEmptyString),
894
- version: Type.Optional(NonEmptyString),
895
- platform: Type.Optional(NonEmptyString),
896
- deviceFamily: Type.Optional(NonEmptyString),
897
- modelIdentifier: Type.Optional(NonEmptyString),
898
- mode: Type.Optional(NonEmptyString),
899
- lastInputSeconds: Type.Optional(Type.Integer({ minimum: 0 })),
900
- reason: Type.Optional(NonEmptyString),
901
- tags: Type.Optional(Type.Array(NonEmptyString)),
902
- text: Type.Optional(Type.String()),
903
- ts: Type.Integer({ minimum: 0 }),
904
- deviceId: Type.Optional(NonEmptyString),
905
- roles: Type.Optional(Type.Array(NonEmptyString)),
906
- scopes: Type.Optional(Type.Array(NonEmptyString)),
907
- instanceId: Type.Optional(NonEmptyString)
908
- }, { additionalProperties: false });
909
- const HealthSnapshotSchema = Type.Any();
910
- const SessionDefaultsSchema = Type.Object({
911
- defaultAgentId: NonEmptyString,
912
- mainKey: NonEmptyString,
913
- mainSessionKey: NonEmptyString,
914
- scope: Type.Optional(NonEmptyString)
915
- }, { additionalProperties: false });
916
- const StateVersionSchema = Type.Object({
917
- presence: Type.Integer({ minimum: 0 }),
918
- health: Type.Integer({ minimum: 0 })
919
- }, { additionalProperties: false });
920
- const SnapshotSchema = Type.Object({
921
- presence: Type.Array(PresenceEntrySchema),
922
- health: HealthSnapshotSchema,
923
- stateVersion: StateVersionSchema,
924
- uptimeMs: Type.Integer({ minimum: 0 }),
925
- configPath: Type.Optional(NonEmptyString),
926
- stateDir: Type.Optional(NonEmptyString),
927
- sessionDefaults: Type.Optional(SessionDefaultsSchema),
928
- authMode: Type.Optional(Type.Union([
929
- Type.Literal("none"),
930
- Type.Literal("token"),
931
- Type.Literal("password"),
932
- Type.Literal("trusted-proxy")
933
- ]))
934
- }, { additionalProperties: false });
935
-
936
- //#endregion
937
- //#region src/gateway/protocol/schema/frames.ts
938
- const TickEventSchema = Type.Object({ ts: Type.Integer({ minimum: 0 }) }, { additionalProperties: false });
939
- const ShutdownEventSchema = Type.Object({
940
- reason: NonEmptyString,
941
- restartExpectedMs: Type.Optional(Type.Integer({ minimum: 0 }))
942
- }, { additionalProperties: false });
943
- const ConnectParamsSchema = Type.Object({
944
- minProtocol: Type.Integer({ minimum: 1 }),
945
- maxProtocol: Type.Integer({ minimum: 1 }),
946
- client: Type.Object({
947
- id: GatewayClientIdSchema,
948
- displayName: Type.Optional(NonEmptyString),
949
- version: NonEmptyString,
950
- platform: NonEmptyString,
951
- deviceFamily: Type.Optional(NonEmptyString),
952
- modelIdentifier: Type.Optional(NonEmptyString),
953
- mode: GatewayClientModeSchema,
954
- instanceId: Type.Optional(NonEmptyString)
955
- }, { additionalProperties: false }),
956
- caps: Type.Optional(Type.Array(NonEmptyString, { default: [] })),
957
- commands: Type.Optional(Type.Array(NonEmptyString)),
958
- permissions: Type.Optional(Type.Record(NonEmptyString, Type.Boolean())),
959
- pathEnv: Type.Optional(Type.String()),
960
- role: Type.Optional(NonEmptyString),
961
- scopes: Type.Optional(Type.Array(NonEmptyString)),
962
- device: Type.Optional(Type.Object({
963
- id: NonEmptyString,
964
- publicKey: NonEmptyString,
965
- signature: NonEmptyString,
966
- signedAt: Type.Integer({ minimum: 0 }),
967
- nonce: Type.Optional(NonEmptyString)
968
- }, { additionalProperties: false })),
969
- auth: Type.Optional(Type.Object({
970
- token: Type.Optional(Type.String()),
971
- password: Type.Optional(Type.String())
972
- }, { additionalProperties: false })),
973
- locale: Type.Optional(Type.String()),
974
- userAgent: Type.Optional(Type.String())
975
- }, { additionalProperties: false });
976
- const HelloOkSchema = Type.Object({
977
- type: Type.Literal("hello-ok"),
978
- protocol: Type.Integer({ minimum: 1 }),
979
- server: Type.Object({
980
- version: NonEmptyString,
981
- commit: Type.Optional(NonEmptyString),
982
- host: Type.Optional(NonEmptyString),
983
- connId: NonEmptyString
984
- }, { additionalProperties: false }),
985
- features: Type.Object({
986
- methods: Type.Array(NonEmptyString),
987
- events: Type.Array(NonEmptyString)
988
- }, { additionalProperties: false }),
989
- snapshot: SnapshotSchema,
990
- canvasHostUrl: Type.Optional(NonEmptyString),
991
- auth: Type.Optional(Type.Object({
992
- deviceToken: NonEmptyString,
993
- role: NonEmptyString,
994
- scopes: Type.Array(NonEmptyString),
995
- issuedAtMs: Type.Optional(Type.Integer({ minimum: 0 }))
996
- }, { additionalProperties: false })),
997
- policy: Type.Object({
998
- maxPayload: Type.Integer({ minimum: 1 }),
999
- maxBufferedBytes: Type.Integer({ minimum: 1 }),
1000
- tickIntervalMs: Type.Integer({ minimum: 1 })
1001
- }, { additionalProperties: false })
1002
- }, { additionalProperties: false });
1003
- const ErrorShapeSchema = Type.Object({
1004
- code: NonEmptyString,
1005
- message: NonEmptyString,
1006
- details: Type.Optional(Type.Unknown()),
1007
- retryable: Type.Optional(Type.Boolean()),
1008
- retryAfterMs: Type.Optional(Type.Integer({ minimum: 0 }))
1009
- }, { additionalProperties: false });
1010
- const RequestFrameSchema = Type.Object({
1011
- type: Type.Literal("req"),
1012
- id: NonEmptyString,
1013
- method: NonEmptyString,
1014
- params: Type.Optional(Type.Unknown())
1015
- }, { additionalProperties: false });
1016
- const ResponseFrameSchema = Type.Object({
1017
- type: Type.Literal("res"),
1018
- id: NonEmptyString,
1019
- ok: Type.Boolean(),
1020
- payload: Type.Optional(Type.Unknown()),
1021
- error: Type.Optional(ErrorShapeSchema)
1022
- }, { additionalProperties: false });
1023
- const EventFrameSchema = Type.Object({
1024
- type: Type.Literal("event"),
1025
- event: NonEmptyString,
1026
- payload: Type.Optional(Type.Unknown()),
1027
- seq: Type.Optional(Type.Integer({ minimum: 0 })),
1028
- stateVersion: Type.Optional(StateVersionSchema)
1029
- }, { additionalProperties: false });
1030
- const GatewayFrameSchema = Type.Union([
1031
- RequestFrameSchema,
1032
- ResponseFrameSchema,
1033
- EventFrameSchema
1034
- ], { discriminator: "type" });
1035
-
1036
- //#endregion
1037
- //#region src/gateway/protocol/schema/logs-chat.ts
1038
- const LogsTailParamsSchema = Type.Object({
1039
- cursor: Type.Optional(Type.Integer({ minimum: 0 })),
1040
- limit: Type.Optional(Type.Integer({
1041
- minimum: 1,
1042
- maximum: 5e3
1043
- })),
1044
- maxBytes: Type.Optional(Type.Integer({
1045
- minimum: 1,
1046
- maximum: 1e6
1047
- }))
1048
- }, { additionalProperties: false });
1049
- const LogsTailResultSchema = Type.Object({
1050
- file: NonEmptyString,
1051
- cursor: Type.Integer({ minimum: 0 }),
1052
- size: Type.Integer({ minimum: 0 }),
1053
- lines: Type.Array(Type.String()),
1054
- truncated: Type.Optional(Type.Boolean()),
1055
- reset: Type.Optional(Type.Boolean())
1056
- }, { additionalProperties: false });
1057
- const ChatHistoryParamsSchema = Type.Object({
1058
- sessionKey: NonEmptyString,
1059
- limit: Type.Optional(Type.Integer({
1060
- minimum: 1,
1061
- maximum: 1e3
1062
- }))
1063
- }, { additionalProperties: false });
1064
- const ChatSendParamsSchema = Type.Object({
1065
- sessionKey: NonEmptyString,
1066
- message: Type.String(),
1067
- thinking: Type.Optional(Type.String()),
1068
- deliver: Type.Optional(Type.Boolean()),
1069
- attachments: Type.Optional(Type.Array(Type.Unknown())),
1070
- timeoutMs: Type.Optional(Type.Integer({ minimum: 0 })),
1071
- idempotencyKey: NonEmptyString
1072
- }, { additionalProperties: false });
1073
- const ChatAbortParamsSchema = Type.Object({
1074
- sessionKey: NonEmptyString,
1075
- runId: Type.Optional(NonEmptyString)
1076
- }, { additionalProperties: false });
1077
- const ChatInjectParamsSchema = Type.Object({
1078
- sessionKey: NonEmptyString,
1079
- message: NonEmptyString,
1080
- label: Type.Optional(Type.String({ maxLength: 100 }))
1081
- }, { additionalProperties: false });
1082
- const ChatEventSchema = Type.Object({
1083
- runId: NonEmptyString,
1084
- sessionKey: NonEmptyString,
1085
- seq: Type.Integer({ minimum: 0 }),
1086
- state: Type.Union([
1087
- Type.Literal("delta"),
1088
- Type.Literal("final"),
1089
- Type.Literal("aborted"),
1090
- Type.Literal("error")
1091
- ]),
1092
- message: Type.Optional(Type.Unknown()),
1093
- errorMessage: Type.Optional(Type.String()),
1094
- usage: Type.Optional(Type.Unknown()),
1095
- stopReason: Type.Optional(Type.String())
1096
- }, { additionalProperties: false });
1097
-
1098
- //#endregion
1099
- //#region src/gateway/protocol/schema/nodes.ts
1100
- const NodePairRequestParamsSchema = Type.Object({
1101
- nodeId: NonEmptyString,
1102
- displayName: Type.Optional(NonEmptyString),
1103
- platform: Type.Optional(NonEmptyString),
1104
- version: Type.Optional(NonEmptyString),
1105
- coreVersion: Type.Optional(NonEmptyString),
1106
- uiVersion: Type.Optional(NonEmptyString),
1107
- deviceFamily: Type.Optional(NonEmptyString),
1108
- modelIdentifier: Type.Optional(NonEmptyString),
1109
- caps: Type.Optional(Type.Array(NonEmptyString)),
1110
- commands: Type.Optional(Type.Array(NonEmptyString)),
1111
- remoteIp: Type.Optional(NonEmptyString),
1112
- silent: Type.Optional(Type.Boolean())
1113
- }, { additionalProperties: false });
1114
- const NodePairListParamsSchema = Type.Object({}, { additionalProperties: false });
1115
- const NodePairApproveParamsSchema = Type.Object({ requestId: NonEmptyString }, { additionalProperties: false });
1116
- const NodePairRejectParamsSchema = Type.Object({ requestId: NonEmptyString }, { additionalProperties: false });
1117
- const NodePairVerifyParamsSchema = Type.Object({
1118
- nodeId: NonEmptyString,
1119
- token: NonEmptyString
1120
- }, { additionalProperties: false });
1121
- const NodeRenameParamsSchema = Type.Object({
1122
- nodeId: NonEmptyString,
1123
- displayName: NonEmptyString
1124
- }, { additionalProperties: false });
1125
- const NodeListParamsSchema = Type.Object({}, { additionalProperties: false });
1126
- const NodeDescribeParamsSchema = Type.Object({ nodeId: NonEmptyString }, { additionalProperties: false });
1127
- const NodeInvokeParamsSchema = Type.Object({
1128
- nodeId: NonEmptyString,
1129
- command: NonEmptyString,
1130
- params: Type.Optional(Type.Unknown()),
1131
- timeoutMs: Type.Optional(Type.Integer({ minimum: 0 })),
1132
- idempotencyKey: NonEmptyString
1133
- }, { additionalProperties: false });
1134
- const NodeInvokeResultParamsSchema = Type.Object({
1135
- id: NonEmptyString,
1136
- nodeId: NonEmptyString,
1137
- ok: Type.Boolean(),
1138
- payload: Type.Optional(Type.Unknown()),
1139
- payloadJSON: Type.Optional(Type.String()),
1140
- error: Type.Optional(Type.Object({
1141
- code: Type.Optional(NonEmptyString),
1142
- message: Type.Optional(NonEmptyString)
1143
- }, { additionalProperties: false }))
1144
- }, { additionalProperties: false });
1145
- const NodeEventParamsSchema = Type.Object({
1146
- event: NonEmptyString,
1147
- payload: Type.Optional(Type.Unknown()),
1148
- payloadJSON: Type.Optional(Type.String())
1149
- }, { additionalProperties: false });
1150
- const NodeInvokeRequestEventSchema = Type.Object({
1151
- id: NonEmptyString,
1152
- nodeId: NonEmptyString,
1153
- command: NonEmptyString,
1154
- paramsJSON: Type.Optional(Type.String()),
1155
- timeoutMs: Type.Optional(Type.Integer({ minimum: 0 })),
1156
- idempotencyKey: Type.Optional(NonEmptyString)
1157
- }, { additionalProperties: false });
1158
-
1159
- //#endregion
1160
- //#region src/gateway/protocol/schema/sessions.ts
1161
- const SessionsListParamsSchema = Type.Object({
1162
- limit: Type.Optional(Type.Integer({ minimum: 1 })),
1163
- activeMinutes: Type.Optional(Type.Integer({ minimum: 1 })),
1164
- includeGlobal: Type.Optional(Type.Boolean()),
1165
- includeUnknown: Type.Optional(Type.Boolean()),
1166
- includeDerivedTitles: Type.Optional(Type.Boolean()),
1167
- includeLastMessage: Type.Optional(Type.Boolean()),
1168
- label: Type.Optional(SessionLabelString),
1169
- spawnedBy: Type.Optional(NonEmptyString),
1170
- agentId: Type.Optional(NonEmptyString),
1171
- search: Type.Optional(Type.String())
1172
- }, { additionalProperties: false });
1173
- const SessionsPreviewParamsSchema = Type.Object({
1174
- keys: Type.Array(NonEmptyString, { minItems: 1 }),
1175
- limit: Type.Optional(Type.Integer({ minimum: 1 })),
1176
- maxChars: Type.Optional(Type.Integer({ minimum: 20 }))
1177
- }, { additionalProperties: false });
1178
- const SessionsResolveParamsSchema = Type.Object({
1179
- key: Type.Optional(NonEmptyString),
1180
- sessionId: Type.Optional(NonEmptyString),
1181
- label: Type.Optional(SessionLabelString),
1182
- agentId: Type.Optional(NonEmptyString),
1183
- spawnedBy: Type.Optional(NonEmptyString),
1184
- includeGlobal: Type.Optional(Type.Boolean()),
1185
- includeUnknown: Type.Optional(Type.Boolean())
1186
- }, { additionalProperties: false });
1187
- const SessionsPatchParamsSchema = Type.Object({
1188
- key: NonEmptyString,
1189
- label: Type.Optional(Type.Union([SessionLabelString, Type.Null()])),
1190
- thinkingLevel: Type.Optional(Type.Union([NonEmptyString, Type.Null()])),
1191
- verboseLevel: Type.Optional(Type.Union([NonEmptyString, Type.Null()])),
1192
- reasoningLevel: Type.Optional(Type.Union([NonEmptyString, Type.Null()])),
1193
- responseUsage: Type.Optional(Type.Union([
1194
- Type.Literal("off"),
1195
- Type.Literal("tokens"),
1196
- Type.Literal("full"),
1197
- Type.Literal("on"),
1198
- Type.Null()
1199
- ])),
1200
- elevatedLevel: Type.Optional(Type.Union([NonEmptyString, Type.Null()])),
1201
- execHost: Type.Optional(Type.Union([NonEmptyString, Type.Null()])),
1202
- execSecurity: Type.Optional(Type.Union([NonEmptyString, Type.Null()])),
1203
- execAsk: Type.Optional(Type.Union([NonEmptyString, Type.Null()])),
1204
- execNode: Type.Optional(Type.Union([NonEmptyString, Type.Null()])),
1205
- model: Type.Optional(Type.Union([NonEmptyString, Type.Null()])),
1206
- spawnedBy: Type.Optional(Type.Union([NonEmptyString, Type.Null()])),
1207
- spawnDepth: Type.Optional(Type.Union([Type.Integer({ minimum: 0 }), Type.Null()])),
1208
- sendPolicy: Type.Optional(Type.Union([
1209
- Type.Literal("allow"),
1210
- Type.Literal("deny"),
1211
- Type.Null()
1212
- ])),
1213
- groupActivation: Type.Optional(Type.Union([
1214
- Type.Literal("mention"),
1215
- Type.Literal("always"),
1216
- Type.Null()
1217
- ]))
1218
- }, { additionalProperties: false });
1219
- const SessionsResetParamsSchema = Type.Object({
1220
- key: NonEmptyString,
1221
- reason: Type.Optional(Type.Union([Type.Literal("new"), Type.Literal("reset")]))
1222
- }, { additionalProperties: false });
1223
- const SessionsDeleteParamsSchema = Type.Object({
1224
- key: NonEmptyString,
1225
- deleteTranscript: Type.Optional(Type.Boolean())
1226
- }, { additionalProperties: false });
1227
- const SessionsCompactParamsSchema = Type.Object({
1228
- key: NonEmptyString,
1229
- maxLines: Type.Optional(Type.Integer({ minimum: 1 }))
1230
- }, { additionalProperties: false });
1231
- const SessionsUsageParamsSchema = Type.Object({
1232
- key: Type.Optional(NonEmptyString),
1233
- startDate: Type.Optional(Type.String({ pattern: "^\\d{4}-\\d{2}-\\d{2}$" })),
1234
- endDate: Type.Optional(Type.String({ pattern: "^\\d{4}-\\d{2}-\\d{2}$" })),
1235
- limit: Type.Optional(Type.Integer({ minimum: 1 })),
1236
- includeContextWeight: Type.Optional(Type.Boolean())
1237
- }, { additionalProperties: false });
1238
-
1239
- //#endregion
1240
- //#region src/gateway/protocol/schema/wizard.ts
1241
- const WizardStartParamsSchema = Type.Object({
1242
- mode: Type.Optional(Type.Union([Type.Literal("local"), Type.Literal("remote")])),
1243
- workspace: Type.Optional(Type.String())
1244
- }, { additionalProperties: false });
1245
- const WizardAnswerSchema = Type.Object({
1246
- stepId: NonEmptyString,
1247
- value: Type.Optional(Type.Unknown())
1248
- }, { additionalProperties: false });
1249
- const WizardNextParamsSchema = Type.Object({
1250
- sessionId: NonEmptyString,
1251
- answer: Type.Optional(WizardAnswerSchema)
1252
- }, { additionalProperties: false });
1253
- const WizardCancelParamsSchema = Type.Object({ sessionId: NonEmptyString }, { additionalProperties: false });
1254
- const WizardStatusParamsSchema = Type.Object({ sessionId: NonEmptyString }, { additionalProperties: false });
1255
- const WizardStepOptionSchema = Type.Object({
1256
- value: Type.Unknown(),
1257
- label: NonEmptyString,
1258
- hint: Type.Optional(Type.String())
1259
- }, { additionalProperties: false });
1260
- const WizardStepSchema = Type.Object({
1261
- id: NonEmptyString,
1262
- type: Type.Union([
1263
- Type.Literal("note"),
1264
- Type.Literal("select"),
1265
- Type.Literal("text"),
1266
- Type.Literal("confirm"),
1267
- Type.Literal("multiselect"),
1268
- Type.Literal("progress"),
1269
- Type.Literal("action")
1270
- ]),
1271
- title: Type.Optional(Type.String()),
1272
- message: Type.Optional(Type.String()),
1273
- options: Type.Optional(Type.Array(WizardStepOptionSchema)),
1274
- initialValue: Type.Optional(Type.Unknown()),
1275
- placeholder: Type.Optional(Type.String()),
1276
- sensitive: Type.Optional(Type.Boolean()),
1277
- executor: Type.Optional(Type.Union([Type.Literal("gateway"), Type.Literal("client")]))
1278
- }, { additionalProperties: false });
1279
- const WizardNextResultSchema = Type.Object({
1280
- done: Type.Boolean(),
1281
- step: Type.Optional(WizardStepSchema),
1282
- status: Type.Optional(Type.Union([
1283
- Type.Literal("running"),
1284
- Type.Literal("done"),
1285
- Type.Literal("cancelled"),
1286
- Type.Literal("error")
1287
- ])),
1288
- error: Type.Optional(Type.String())
1289
- }, { additionalProperties: false });
1290
- const WizardStartResultSchema = Type.Object({
1291
- sessionId: NonEmptyString,
1292
- done: Type.Boolean(),
1293
- step: Type.Optional(WizardStepSchema),
1294
- status: Type.Optional(Type.Union([
1295
- Type.Literal("running"),
1296
- Type.Literal("done"),
1297
- Type.Literal("cancelled"),
1298
- Type.Literal("error")
1299
- ])),
1300
- error: Type.Optional(Type.String())
1301
- }, { additionalProperties: false });
1302
- const WizardStatusResultSchema = Type.Object({
1303
- status: Type.Union([
1304
- Type.Literal("running"),
1305
- Type.Literal("done"),
1306
- Type.Literal("cancelled"),
1307
- Type.Literal("error")
1308
- ]),
1309
- error: Type.Optional(Type.String())
1310
- }, { additionalProperties: false });
1311
-
1312
- //#endregion
1313
- //#region src/gateway/protocol/schema/protocol-schemas.ts
1314
- const PROTOCOL_VERSION = 3;
1315
-
1316
- //#endregion
1317
- //#region src/gateway/protocol/index.ts
1318
- const ajv = new AjvPkg({
1319
- allErrors: true,
1320
- strict: false,
1321
- removeAdditional: false
1322
- });
1323
- const validateConnectParams = ajv.compile(ConnectParamsSchema);
1324
- const validateRequestFrame = ajv.compile(RequestFrameSchema);
1325
- const validateResponseFrame = ajv.compile(ResponseFrameSchema);
1326
- const validateEventFrame = ajv.compile(EventFrameSchema);
1327
- const validateSendParams = ajv.compile(SendParamsSchema);
1328
- const validatePollParams = ajv.compile(PollParamsSchema);
1329
- const validateAgentParams = ajv.compile(AgentParamsSchema);
1330
- const validateAgentIdentityParams = ajv.compile(AgentIdentityParamsSchema);
1331
- const validateAgentWaitParams = ajv.compile(AgentWaitParamsSchema);
1332
- const validateWakeParams = ajv.compile(WakeParamsSchema);
1333
- const validateAgentsListParams = ajv.compile(AgentsListParamsSchema);
1334
- const validateAgentsCreateParams = ajv.compile(AgentsCreateParamsSchema);
1335
- const validateAgentsUpdateParams = ajv.compile(AgentsUpdateParamsSchema);
1336
- const validateAgentsDeleteParams = ajv.compile(AgentsDeleteParamsSchema);
1337
- const validateAgentsFilesListParams = ajv.compile(AgentsFilesListParamsSchema);
1338
- const validateAgentsFilesGetParams = ajv.compile(AgentsFilesGetParamsSchema);
1339
- const validateAgentsFilesSetParams = ajv.compile(AgentsFilesSetParamsSchema);
1340
- const validateNodePairRequestParams = ajv.compile(NodePairRequestParamsSchema);
1341
- const validateNodePairListParams = ajv.compile(NodePairListParamsSchema);
1342
- const validateNodePairApproveParams = ajv.compile(NodePairApproveParamsSchema);
1343
- const validateNodePairRejectParams = ajv.compile(NodePairRejectParamsSchema);
1344
- const validateNodePairVerifyParams = ajv.compile(NodePairVerifyParamsSchema);
1345
- const validateNodeRenameParams = ajv.compile(NodeRenameParamsSchema);
1346
- const validateNodeListParams = ajv.compile(NodeListParamsSchema);
1347
- const validateNodeDescribeParams = ajv.compile(NodeDescribeParamsSchema);
1348
- const validateNodeInvokeParams = ajv.compile(NodeInvokeParamsSchema);
1349
- const validateNodeInvokeResultParams = ajv.compile(NodeInvokeResultParamsSchema);
1350
- const validateNodeEventParams = ajv.compile(NodeEventParamsSchema);
1351
- const validateSessionsListParams = ajv.compile(SessionsListParamsSchema);
1352
- const validateSessionsPreviewParams = ajv.compile(SessionsPreviewParamsSchema);
1353
- const validateSessionsResolveParams = ajv.compile(SessionsResolveParamsSchema);
1354
- const validateSessionsPatchParams = ajv.compile(SessionsPatchParamsSchema);
1355
- const validateSessionsResetParams = ajv.compile(SessionsResetParamsSchema);
1356
- const validateSessionsDeleteParams = ajv.compile(SessionsDeleteParamsSchema);
1357
- const validateSessionsCompactParams = ajv.compile(SessionsCompactParamsSchema);
1358
- const validateSessionsUsageParams = ajv.compile(SessionsUsageParamsSchema);
1359
- const validateConfigGetParams = ajv.compile(ConfigGetParamsSchema);
1360
- const validateConfigSetParams = ajv.compile(ConfigSetParamsSchema);
1361
- const validateConfigApplyParams = ajv.compile(ConfigApplyParamsSchema);
1362
- const validateConfigPatchParams = ajv.compile(ConfigPatchParamsSchema);
1363
- const validateConfigSchemaParams = ajv.compile(ConfigSchemaParamsSchema);
1364
- const validateWizardStartParams = ajv.compile(WizardStartParamsSchema);
1365
- const validateWizardNextParams = ajv.compile(WizardNextParamsSchema);
1366
- const validateWizardCancelParams = ajv.compile(WizardCancelParamsSchema);
1367
- const validateWizardStatusParams = ajv.compile(WizardStatusParamsSchema);
1368
- const validateTalkModeParams = ajv.compile(TalkModeParamsSchema);
1369
- const validateTalkConfigParams = ajv.compile(TalkConfigParamsSchema);
1370
- const validateChannelsStatusParams = ajv.compile(ChannelsStatusParamsSchema);
1371
- const validateChannelsLogoutParams = ajv.compile(ChannelsLogoutParamsSchema);
1372
- const validateModelsListParams = ajv.compile(ModelsListParamsSchema);
1373
- const validateSkillsStatusParams = ajv.compile(SkillsStatusParamsSchema);
1374
- const validateSkillsBinsParams = ajv.compile(SkillsBinsParamsSchema);
1375
- const validateSkillsInstallParams = ajv.compile(SkillsInstallParamsSchema);
1376
- const validateSkillsUpdateParams = ajv.compile(SkillsUpdateParamsSchema);
1377
- const validateCronListParams = ajv.compile(CronListParamsSchema);
1378
- const validateCronStatusParams = ajv.compile(CronStatusParamsSchema);
1379
- const validateCronAddParams = ajv.compile(CronAddParamsSchema);
1380
- const validateCronUpdateParams = ajv.compile(CronUpdateParamsSchema);
1381
- const validateCronRemoveParams = ajv.compile(CronRemoveParamsSchema);
1382
- const validateCronRunParams = ajv.compile(CronRunParamsSchema);
1383
- const validateCronRunsParams = ajv.compile(CronRunsParamsSchema);
1384
- const validateDevicePairListParams = ajv.compile(DevicePairListParamsSchema);
1385
- const validateDevicePairApproveParams = ajv.compile(DevicePairApproveParamsSchema);
1386
- const validateDevicePairRejectParams = ajv.compile(DevicePairRejectParamsSchema);
1387
- const validateDeviceTokenRotateParams = ajv.compile(DeviceTokenRotateParamsSchema);
1388
- const validateDeviceTokenRevokeParams = ajv.compile(DeviceTokenRevokeParamsSchema);
1389
- const validateExecApprovalsGetParams = ajv.compile(ExecApprovalsGetParamsSchema);
1390
- const validateExecApprovalsSetParams = ajv.compile(ExecApprovalsSetParamsSchema);
1391
- const validateExecApprovalRequestParams = ajv.compile(ExecApprovalRequestParamsSchema);
1392
- const validateExecApprovalResolveParams = ajv.compile(ExecApprovalResolveParamsSchema);
1393
- const validateExecApprovalsNodeGetParams = ajv.compile(ExecApprovalsNodeGetParamsSchema);
1394
- const validateExecApprovalsNodeSetParams = ajv.compile(ExecApprovalsNodeSetParamsSchema);
1395
- const validateLogsTailParams = ajv.compile(LogsTailParamsSchema);
1396
- const validateChatHistoryParams = ajv.compile(ChatHistoryParamsSchema);
1397
- const validateChatSendParams = ajv.compile(ChatSendParamsSchema);
1398
- const validateChatAbortParams = ajv.compile(ChatAbortParamsSchema);
1399
- const validateChatInjectParams = ajv.compile(ChatInjectParamsSchema);
1400
- const validateChatEvent = ajv.compile(ChatEventSchema);
1401
- const validateUpdateRunParams = ajv.compile(UpdateRunParamsSchema);
1402
- const validateWebLoginStartParams = ajv.compile(WebLoginStartParamsSchema);
1403
- const validateWebLoginWaitParams = ajv.compile(WebLoginWaitParamsSchema);
1404
- function formatValidationErrors(errors) {
1405
- if (!errors?.length) return "unknown validation error";
1406
- const parts = [];
1407
- for (const err of errors) {
1408
- const keyword = typeof err?.keyword === "string" ? err.keyword : "";
1409
- const instancePath = typeof err?.instancePath === "string" ? err.instancePath : "";
1410
- if (keyword === "additionalProperties") {
1411
- const additionalProperty = (err?.params)?.additionalProperty;
1412
- if (typeof additionalProperty === "string" && additionalProperty.trim()) {
1413
- const where = instancePath ? `at ${instancePath}` : "at root";
1414
- parts.push(`${where}: unexpected property '${additionalProperty}'`);
1415
- continue;
1416
- }
1417
- }
1418
- const message = typeof err?.message === "string" && err.message.trim() ? err.message : "validation error";
1419
- const where = instancePath ? `at ${instancePath}: ` : "";
1420
- parts.push(`${where}${message}`);
1421
- }
1422
- const unique = Array.from(new Set(parts.filter((part) => part.trim())));
1423
- if (!unique.length) return ajv.errorsText(errors, { separator: "; " }) || "unknown validation error";
1424
- return unique.join("; ");
1425
- }
1426
-
1427
- //#endregion
1428
- //#region src/gateway/client.ts
1429
- var GatewayClient = class {
1430
- constructor(opts) {
1431
- this.ws = null;
1432
- this.pending = /* @__PURE__ */ new Map();
1433
- this.backoffMs = 1e3;
1434
- this.closed = false;
1435
- this.lastSeq = null;
1436
- this.connectNonce = null;
1437
- this.connectSent = false;
1438
- this.connectTimer = null;
1439
- this.lastTick = null;
1440
- this.tickIntervalMs = 3e4;
1441
- this.tickTimer = null;
1442
- this.opts = {
1443
- ...opts,
1444
- deviceIdentity: opts.deviceIdentity ?? loadOrCreateDeviceIdentity()
1445
- };
1446
- }
1447
- start() {
1448
- if (this.closed) return;
1449
- const url = this.opts.url ?? "ws://127.0.0.1:18789";
1450
- if (this.opts.tlsFingerprint && !url.startsWith("wss://")) {
1451
- this.opts.onConnectError?.(/* @__PURE__ */ new Error("gateway tls fingerprint requires wss:// gateway url"));
1452
- return;
1453
- }
1454
- const wsOptions = { maxPayload: 25 * 1024 * 1024 };
1455
- if (url.startsWith("wss://") && this.opts.tlsFingerprint) {
1456
- wsOptions.rejectUnauthorized = false;
1457
- wsOptions.checkServerIdentity = ((_host, cert) => {
1458
- const fingerprintValue = typeof cert === "object" && cert && "fingerprint256" in cert ? cert.fingerprint256 ?? "" : "";
1459
- const fingerprint = normalizeFingerprint(typeof fingerprintValue === "string" ? fingerprintValue : "");
1460
- const expected = normalizeFingerprint(this.opts.tlsFingerprint ?? "");
1461
- if (!expected) return /* @__PURE__ */ new Error("gateway tls fingerprint missing");
1462
- if (!fingerprint) return /* @__PURE__ */ new Error("gateway tls fingerprint unavailable");
1463
- if (fingerprint !== expected) return /* @__PURE__ */ new Error("gateway tls fingerprint mismatch");
1464
- });
1465
- }
1466
- this.ws = new WebSocket$1(url, wsOptions);
1467
- this.ws.on("open", () => {
1468
- if (url.startsWith("wss://") && this.opts.tlsFingerprint) {
1469
- const tlsError = this.validateTlsFingerprint();
1470
- if (tlsError) {
1471
- this.opts.onConnectError?.(tlsError);
1472
- this.ws?.close(1008, tlsError.message);
1473
- return;
1474
- }
1475
- }
1476
- this.queueConnect();
1477
- });
1478
- this.ws.on("message", (data) => this.handleMessage(rawDataToString(data)));
1479
- this.ws.on("close", (code, reason) => {
1480
- const reasonText = rawDataToString(reason);
1481
- this.ws = null;
1482
- this.flushPendingErrors(/* @__PURE__ */ new Error(`gateway closed (${code}): ${reasonText}`));
1483
- this.scheduleReconnect();
1484
- this.opts.onClose?.(code, reasonText);
1485
- });
1486
- this.ws.on("error", (err) => {
1487
- logDebug(`gateway client error: ${String(err)}`);
1488
- if (!this.connectSent) this.opts.onConnectError?.(err instanceof Error ? err : new Error(String(err)));
1489
- });
1490
- }
1491
- stop() {
1492
- this.closed = true;
1493
- if (this.tickTimer) {
1494
- clearInterval(this.tickTimer);
1495
- this.tickTimer = null;
1496
- }
1497
- this.ws?.close();
1498
- this.ws = null;
1499
- this.flushPendingErrors(/* @__PURE__ */ new Error("gateway client stopped"));
1500
- }
1501
- sendConnect() {
1502
- if (this.connectSent) return;
1503
- this.connectSent = true;
1504
- if (this.connectTimer) {
1505
- clearTimeout(this.connectTimer);
1506
- this.connectTimer = null;
1507
- }
1508
- const role = this.opts.role ?? "operator";
1509
- const storedToken = this.opts.deviceIdentity ? loadDeviceAuthToken({
1510
- deviceId: this.opts.deviceIdentity.deviceId,
1511
- role
1512
- })?.token : null;
1513
- const authToken = this.opts.token ?? storedToken ?? void 0;
1514
- const auth = authToken || this.opts.password ? {
1515
- token: authToken,
1516
- password: this.opts.password
1517
- } : void 0;
1518
- const signedAtMs = Date.now();
1519
- const nonce = this.connectNonce ?? void 0;
1520
- const scopes = this.opts.scopes ?? ["operator.admin"];
1521
- const device = (() => {
1522
- if (!this.opts.deviceIdentity) return;
1523
- const payload = buildDeviceAuthPayload({
1524
- deviceId: this.opts.deviceIdentity.deviceId,
1525
- clientId: this.opts.clientName ?? GATEWAY_CLIENT_NAMES.GATEWAY_CLIENT,
1526
- clientMode: this.opts.mode ?? GATEWAY_CLIENT_MODES.BACKEND,
1527
- role,
1528
- scopes,
1529
- signedAtMs,
1530
- token: authToken ?? null,
1531
- nonce
1532
- });
1533
- const signature = signDevicePayload(this.opts.deviceIdentity.privateKeyPem, payload);
1534
- return {
1535
- id: this.opts.deviceIdentity.deviceId,
1536
- publicKey: publicKeyRawBase64UrlFromPem(this.opts.deviceIdentity.publicKeyPem),
1537
- signature,
1538
- signedAt: signedAtMs,
1539
- nonce
1540
- };
1541
- })();
1542
- const params = {
1543
- minProtocol: this.opts.minProtocol ?? PROTOCOL_VERSION,
1544
- maxProtocol: this.opts.maxProtocol ?? PROTOCOL_VERSION,
1545
- client: {
1546
- id: this.opts.clientName ?? GATEWAY_CLIENT_NAMES.GATEWAY_CLIENT,
1547
- displayName: this.opts.clientDisplayName,
1548
- version: this.opts.clientVersion ?? "dev",
1549
- platform: this.opts.platform ?? process.platform,
1550
- mode: this.opts.mode ?? GATEWAY_CLIENT_MODES.BACKEND,
1551
- instanceId: this.opts.instanceId
1552
- },
1553
- caps: Array.isArray(this.opts.caps) ? this.opts.caps : [],
1554
- commands: Array.isArray(this.opts.commands) ? this.opts.commands : void 0,
1555
- permissions: this.opts.permissions && typeof this.opts.permissions === "object" ? this.opts.permissions : void 0,
1556
- pathEnv: this.opts.pathEnv,
1557
- auth,
1558
- role,
1559
- scopes,
1560
- device
1561
- };
1562
- this.request("connect", params).then((helloOk) => {
1563
- const authInfo = helloOk?.auth;
1564
- if (authInfo?.deviceToken && this.opts.deviceIdentity) storeDeviceAuthToken({
1565
- deviceId: this.opts.deviceIdentity.deviceId,
1566
- role: authInfo.role ?? role,
1567
- token: authInfo.deviceToken,
1568
- scopes: authInfo.scopes ?? []
1569
- });
1570
- this.backoffMs = 1e3;
1571
- this.tickIntervalMs = typeof helloOk.policy?.tickIntervalMs === "number" ? helloOk.policy.tickIntervalMs : 3e4;
1572
- this.lastTick = Date.now();
1573
- this.startTickWatch();
1574
- this.opts.onHelloOk?.(helloOk);
1575
- }).catch((err) => {
1576
- this.opts.onConnectError?.(err instanceof Error ? err : new Error(String(err)));
1577
- const msg = `gateway connect failed: ${String(err)}`;
1578
- if (this.opts.mode === GATEWAY_CLIENT_MODES.PROBE) logDebug(msg);
1579
- else logError(msg);
1580
- this.ws?.close(1008, "connect failed");
1581
- });
1582
- }
1583
- handleMessage(raw) {
1584
- try {
1585
- const parsed = JSON.parse(raw);
1586
- if (validateEventFrame(parsed)) {
1587
- const evt = parsed;
1588
- if (evt.event === "connect.challenge") {
1589
- const payload = evt.payload;
1590
- const nonce = payload && typeof payload.nonce === "string" ? payload.nonce : null;
1591
- if (nonce) {
1592
- this.connectNonce = nonce;
1593
- this.sendConnect();
1594
- }
1595
- return;
1596
- }
1597
- const seq = typeof evt.seq === "number" ? evt.seq : null;
1598
- if (seq !== null) {
1599
- if (this.lastSeq !== null && seq > this.lastSeq + 1) this.opts.onGap?.({
1600
- expected: this.lastSeq + 1,
1601
- received: seq
1602
- });
1603
- this.lastSeq = seq;
1604
- }
1605
- if (evt.event === "tick") this.lastTick = Date.now();
1606
- this.opts.onEvent?.(evt);
1607
- return;
1608
- }
1609
- if (validateResponseFrame(parsed)) {
1610
- const pending = this.pending.get(parsed.id);
1611
- if (!pending) return;
1612
- const status = parsed.payload?.status;
1613
- if (pending.expectFinal && status === "accepted") return;
1614
- this.pending.delete(parsed.id);
1615
- if (parsed.ok) pending.resolve(parsed.payload);
1616
- else pending.reject(new Error(parsed.error?.message ?? "unknown error"));
1617
- }
1618
- } catch (err) {
1619
- logDebug(`gateway client parse error: ${String(err)}`);
1620
- }
1621
- }
1622
- queueConnect() {
1623
- this.connectNonce = null;
1624
- this.connectSent = false;
1625
- const rawConnectDelayMs = this.opts.connectDelayMs;
1626
- const connectDelayMs = typeof rawConnectDelayMs === "number" && Number.isFinite(rawConnectDelayMs) ? Math.max(0, Math.min(5e3, rawConnectDelayMs)) : 750;
1627
- if (this.connectTimer) clearTimeout(this.connectTimer);
1628
- this.connectTimer = setTimeout(() => {
1629
- this.sendConnect();
1630
- }, connectDelayMs);
1631
- }
1632
- scheduleReconnect() {
1633
- if (this.closed) return;
1634
- if (this.tickTimer) {
1635
- clearInterval(this.tickTimer);
1636
- this.tickTimer = null;
1637
- }
1638
- const delay = this.backoffMs;
1639
- this.backoffMs = Math.min(this.backoffMs * 2, 3e4);
1640
- setTimeout(() => this.start(), delay).unref();
1641
- }
1642
- flushPendingErrors(err) {
1643
- for (const [, p] of this.pending) p.reject(err);
1644
- this.pending.clear();
1645
- }
1646
- startTickWatch() {
1647
- if (this.tickTimer) clearInterval(this.tickTimer);
1648
- const rawMinInterval = this.opts.tickWatchMinIntervalMs;
1649
- const minInterval = typeof rawMinInterval === "number" && Number.isFinite(rawMinInterval) ? Math.max(1, Math.min(3e4, rawMinInterval)) : 1e3;
1650
- const interval = Math.max(this.tickIntervalMs, minInterval);
1651
- this.tickTimer = setInterval(() => {
1652
- if (this.closed) return;
1653
- if (!this.lastTick) return;
1654
- if (Date.now() - this.lastTick > this.tickIntervalMs * 2) this.ws?.close(4e3, "tick timeout");
1655
- }, interval);
1656
- }
1657
- validateTlsFingerprint() {
1658
- if (!this.opts.tlsFingerprint || !this.ws) return null;
1659
- const expected = normalizeFingerprint(this.opts.tlsFingerprint);
1660
- if (!expected) return /* @__PURE__ */ new Error("gateway tls fingerprint missing");
1661
- const socket = this.ws._socket;
1662
- if (!socket || typeof socket.getPeerCertificate !== "function") return /* @__PURE__ */ new Error("gateway tls fingerprint unavailable");
1663
- const fingerprint = normalizeFingerprint(socket.getPeerCertificate()?.fingerprint256 ?? "");
1664
- if (!fingerprint) return /* @__PURE__ */ new Error("gateway tls fingerprint unavailable");
1665
- if (fingerprint !== expected) return /* @__PURE__ */ new Error("gateway tls fingerprint mismatch");
1666
- return null;
1667
- }
1668
- async request(method, params, opts) {
1669
- if (!this.ws || this.ws.readyState !== WebSocket$1.OPEN) throw new Error("gateway not connected");
1670
- const id = randomUUID();
1671
- const frame = {
1672
- type: "req",
1673
- id,
1674
- method,
1675
- params
1676
- };
1677
- if (!validateRequestFrame(frame)) throw new Error(`invalid request frame: ${JSON.stringify(validateRequestFrame.errors, null, 2)}`);
1678
- const expectFinal = opts?.expectFinal === true;
1679
- const p = new Promise((resolve, reject) => {
1680
- this.pending.set(id, {
1681
- resolve: (value) => resolve(value),
1682
- reject,
1683
- expectFinal
1684
- });
1685
- });
1686
- this.ws.send(JSON.stringify(frame));
1687
- return p;
1688
- }
1689
- };
1690
-
1691
- //#endregion
1692
- export { validateNodePairRequestParams as $, validateCronStatusParams as A, SESSION_LABEL_MAX_LENGTH as At, validateExecApprovalsNodeGetParams as B, validateConfigSetParams as C, validateWizardCancelParams as Ct, validateCronRemoveParams as D, PROTOCOL_VERSION as Dt, validateCronListParams as E, validateWizardStatusParams as Et, validateDeviceTokenRevokeParams as F, loadOrCreateDeviceIdentity as Ft, validateNodeDescribeParams as G, validateExecApprovalsSetParams as H, validateDeviceTokenRotateParams as I, normalizeDevicePublicKeyBase64Url as It, validateNodeInvokeResultParams as J, validateNodeEventParams as K, validateExecApprovalRequestParams as L, verifyDeviceSignature as Lt, validateDevicePairApproveParams as M, buildDeviceAuthPayload as Mt, validateDevicePairListParams as N, normalizeFingerprint as Nt, validateCronRunParams as O, ErrorCodes as Ot, validateDevicePairRejectParams as P, deriveDeviceIdFromPublicKey as Pt, validateNodePairRejectParams as Q, validateExecApprovalResolveParams as R, validateConfigSchemaParams as S, validateWebLoginWaitParams as St, validateCronAddParams as T, validateWizardStartParams as Tt, validateLogsTailParams as U, validateExecApprovalsNodeSetParams as V, validateModelsListParams as W, validateNodePairApproveParams as X, validateNodeListParams as Y, validateNodePairListParams as Z, validateChatInjectParams as _, validateTalkConfigParams as _t, validateAgentWaitParams as a, validateSessionsCompactParams as at, validateConfigGetParams as b, validateWakeParams as bt, validateAgentsFilesGetParams as c, validateSessionsPatchParams as ct, validateAgentsListParams as d, validateSessionsResolveParams as dt, validateNodePairVerifyParams as et, validateAgentsUpdateParams as f, validateSessionsUsageParams as ft, validateChatHistoryParams as g, validateSkillsUpdateParams as gt, validateChatAbortParams as h, validateSkillsStatusParams as ht, validateAgentParams as i, validateSendParams as it, validateCronUpdateParams as j, parseSessionLabel as jt, validateCronRunsParams as k, errorShape as kt, validateAgentsFilesListParams as l, validateSessionsPreviewParams as lt, validateChannelsStatusParams as m, validateSkillsInstallParams as mt, formatValidationErrors as n, validatePollParams as nt, validateAgentsCreateParams as o, validateSessionsDeleteParams as ot, validateChannelsLogoutParams as p, validateSkillsBinsParams as pt, validateNodeInvokeParams as q, validateAgentIdentityParams as r, validateRequestFrame as rt, validateAgentsDeleteParams as s, validateSessionsListParams as st, GatewayClient as t, validateNodeRenameParams as tt, validateAgentsFilesSetParams as u, validateSessionsResetParams as ut, validateChatSendParams as v, validateTalkModeParams as vt, validateConnectParams as w, validateWizardNextParams as wt, validateConfigPatchParams as x, validateWebLoginStartParams as xt, validateConfigApplyParams as y, validateUpdateRunParams as yt, validateExecApprovalsGetParams as z };