winclaw 2026.2.30 → 2026.3.1

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 (233) hide show
  1. package/README.ja.md +70 -2
  2. package/README.md +70 -2
  3. package/README.zh-CN.md +70 -2
  4. package/dist/{accounts-ezrP4ltx.js → accounts-ByiREr_d.js} +1 -1
  5. package/dist/{accounts-ChDQhM8W.js → accounts-DUoPPtEk.js} +1 -1
  6. package/dist/{accounts-BTolatbF.js → accounts-KSS3y-Bv.js} +15 -15
  7. package/dist/{active-listener-CdWRgN6y.js → active-listener-C-YJQy7O.js} +1 -1
  8. package/dist/{agent-scope-BKhhNa2v.js → agent-scope-DsGhweE9.js} +3 -3
  9. package/dist/{audio-preflight-D-hO3N6s.js → audio-preflight-BjU0VL7h.js} +33 -33
  10. package/dist/{audio-preflight-UKsaZDrx.js → audio-preflight-Ce_fCfjm.js} +4 -4
  11. package/dist/{bindings-DvN5F52W.js → bindings-BLXNeIUn.js} +2 -2
  12. package/dist/build-info.json +3 -3
  13. package/dist/bundled/boot-md/handler.js +57 -57
  14. package/dist/bundled/bootstrap-extra-files/handler.js +4 -4
  15. package/dist/bundled/command-logger/handler.js +2 -2
  16. package/dist/bundled/session-memory/handler.js +57 -57
  17. package/dist/canvas-host/a2ui/.bundle.hash +1 -1
  18. package/dist/{plugin-sdk/channel-activity-D4LltVLH.js → channel-activity-Dp_Eqz8e.js} +3 -3
  19. package/dist/{chrome-BPqhU6aW.js → chrome-CBabJbzh.js} +9 -9
  20. package/dist/{chrome-Cj7f40oB.js → chrome-DRKvzTHt.js} +16 -16
  21. package/dist/{chunk-vIoZyqgp.js → chunk-BnpLmGX5.js} +1 -1
  22. package/dist/{commands-registry-Cz7v7a7-.js → commands-registry-CobOxZLl.js} +4 -4
  23. package/dist/{deliver-C7YVVaHx.js → deliver-4uGC1ZhS.js} +1 -1
  24. package/dist/{deliver-BjRjTbXZ.js → deliver-B_Pp8Sj5.js} +20 -20
  25. package/dist/{diagnostic-DFBIjP4k.js → diagnostic-BvT752XU.js} +1 -1
  26. package/dist/{dock-kKe_NcnH.js → dock-XuKJoEFw.js} +5 -5
  27. package/dist/{env-DBhelVv5.js → env-DtvPgpx0.js} +1 -1
  28. package/dist/{errors-DFWlqkmz.js → errors-BrfjoXo7.js} +1 -1
  29. package/dist/extensionAPI.js +6 -6
  30. package/dist/{fetch-guard-DdMH1ccX.js → fetch-guard-B1bYMSEV.js} +1 -1
  31. package/dist/{frontmatter-CfsFSA8r.js → frontmatter-CwUW6Nwu.js} +4 -4
  32. package/dist/{fs-safe-CghvWQE1.js → fs-safe-zHtcvWVh.js} +2 -2
  33. package/dist/{gemini-auth-D_LPuZx3.js → gemini-auth-CD0yjbft.js} +2 -2
  34. package/dist/{github-copilot-token-B99zK38w.js → github-copilot-token-MztaNB-X.js} +7 -7
  35. package/dist/{image-CtOepNrn.js → image-BjK4IZGf.js} +6 -6
  36. package/dist/{image-3J4UWANX.js → image-DRetaKqs.js} +1 -1
  37. package/dist/{image-ops-Dt4DBfSt.js → image-ops-DbBTLGVA.js} +1 -1
  38. package/dist/{ir-DN3JQZPf.js → ir-D3w2EjdG.js} +5 -5
  39. package/dist/llm-slug-generator.js +57 -57
  40. package/dist/{local-roots-BQIXxiyK.js → local-roots-BAkVtSqo.js} +5 -5
  41. package/dist/{login-CCLkpFRT.js → login-p94MtOUG.js} +6 -6
  42. package/dist/{login-qr-CHw68xCZ.js → login-qr-6QfKQFrL.js} +9 -9
  43. package/dist/{manager-B23EJ3FI.js → manager-F0ar3q6o.js} +14 -14
  44. package/dist/{markdown-tables-BbC9al5b.js → markdown-tables-DZBr29hO.js} +1 -1
  45. package/dist/{message-channel-OmBlhvPk.js → message-channel-CcoSZVJ1.js} +1 -1
  46. package/dist/{model-selection-D33yYQqp.js → model-selection-B6C-xY_B.js} +44 -44
  47. package/dist/{outbound-CS-fzVh4.js → outbound-BHqM6oPy.js} +6 -6
  48. package/dist/{outbound-attachment-DP81Qn9I.js → outbound-attachment-Eg1pEvfk.js} +2 -2
  49. package/dist/{path-alias-guards-D3fAP0XC.js → path-alias-guards-BLO7xCTO.js} +1 -1
  50. package/dist/{paths-B9RCCyOp.js → paths-CJft5x7N.js} +3 -3
  51. package/dist/{paths-DMk7q-Ht.js → paths-DbO94QvW.js} +5 -5
  52. package/dist/{pi-embedded-CyBNFUWN.js → pi-embedded-CPkIrYTD.js} +17 -17
  53. package/dist/{pi-embedded-dKKCWlsZ.js → pi-embedded-DgnEZOhP.js} +170 -170
  54. package/dist/{pi-embedded-helpers-CdKVCWvr.js → pi-embedded-helpers-DHLm-aJB.js} +24 -24
  55. package/dist/{pi-embedded-helpers-DhtLjusK.js → pi-embedded-helpers-qv0TOEV6.js} +4 -4
  56. package/dist/{pi-model-discovery-Bac05lgF.js → pi-model-discovery-CNwW805Y.js} +7 -7
  57. package/dist/plugin-sdk/{accounts-CHsIfb9y.js → accounts-CzclEu3P.js} +2 -2
  58. package/dist/plugin-sdk/{accounts-Bk4j61kY.js → accounts-DJ6MY-g4.js} +1 -1
  59. package/dist/plugin-sdk/{accounts-_2QcMqNn.js → accounts-xTKBW-2H.js} +1 -1
  60. package/dist/plugin-sdk/{active-listener-sMIDB_xi.js → active-listener-KO-ZGSaF.js} +1 -1
  61. package/dist/plugin-sdk/{agent-scope-B1yMVDFP.js → agent-scope-B68_LO0U.js} +1 -1
  62. package/dist/plugin-sdk/{api-key-rotation-O83mx2o0.js → api-key-rotation-D987JQC5.js} +2 -2
  63. package/dist/plugin-sdk/{audio-preflight-C9BIcPUb.js → audio-preflight-7S9diigG.js} +28 -28
  64. package/dist/plugin-sdk/{bindings-Bi6VICja.js → bindings-DwcZ-bqF.js} +2 -2
  65. package/dist/{channel-activity-CJVxWXWZ.js → plugin-sdk/channel-activity-CGi3fmDF.js} +3 -3
  66. package/dist/plugin-sdk/{channel-web-BN-ViFjU.js → channel-web-CVTm0ooG.js} +21 -21
  67. package/dist/plugin-sdk/{chrome-DO1TrEpr.js → chrome-TrO9Kmgf.js} +5 -5
  68. package/dist/plugin-sdk/{chunk-D11BYyZk.js → chunk-BEvgBNpk.js} +1 -1
  69. package/dist/plugin-sdk/{command-format-DunwSwSW.js → command-format-CRM_7xab.js} +1 -1
  70. package/dist/plugin-sdk/{commands-registry-CUv1hQR2.js → commands-registry-B4GHdRRM.js} +4 -4
  71. package/dist/plugin-sdk/{config-DNnr5oZN.js → config-DrBsYGrE.js} +8 -8
  72. package/dist/plugin-sdk/{deliver-CiHjR7Jm.js → deliver-BhUDeqIz.js} +10 -10
  73. package/dist/plugin-sdk/{diagnostic-CvUJ7_Pr.js → diagnostic-Bbh6ABo7.js} +1 -1
  74. package/dist/plugin-sdk/{dock-CLbiTFUY.js → dock-C7Ipt0Sq.js} +5 -5
  75. package/dist/plugin-sdk/{errors-8Ggom-zA.js → errors-D1EFpcoK.js} +1 -1
  76. package/dist/plugin-sdk/{fetch-guard-Dch_jq2x.js → fetch-guard-PyQ3jiic.js} +1 -1
  77. package/dist/plugin-sdk/{fs-safe-Bjqabbqn.js → fs-safe-CvMXBxzF.js} +2 -2
  78. package/dist/plugin-sdk/{image-DlAJm0jz.js → image-U_yZGOma.js} +6 -6
  79. package/dist/plugin-sdk/{image-ops-Cy9MGOvE.js → image-ops-BqSetroF.js} +1 -1
  80. package/dist/plugin-sdk/index.js +57 -57
  81. package/dist/plugin-sdk/{ir-Buz6vVZg.js → ir-4wD5cb8F.js} +5 -5
  82. package/dist/plugin-sdk/{local-roots-BKisXrxL.js → local-roots-POtVjagR.js} +4 -4
  83. package/dist/plugin-sdk/{login-BdyK8USX.js → login-CYYXtemc.js} +6 -6
  84. package/dist/plugin-sdk/{login-qr-CePyyex2.js → login-qr-CZyBt60e.js} +6 -6
  85. package/dist/plugin-sdk/{manager-BiLg_E0k.js → manager-CPAAUuoY.js} +9 -9
  86. package/dist/plugin-sdk/{markdown-tables-CsOBJpYl.js → markdown-tables-DZt8GZ8y.js} +1 -1
  87. package/dist/plugin-sdk/{message-channel-SYju-4b1.js → message-channel-B6SMQJmI.js} +1 -1
  88. package/dist/plugin-sdk/{outbound-COWn_SQh.js → outbound-DKGoaltj.js} +6 -6
  89. package/dist/plugin-sdk/{outbound-attachment-CVd8CJKq.js → outbound-attachment-Cm4pTJTf.js} +2 -2
  90. package/dist/plugin-sdk/{path-alias-guards-D7rW0qx_.js → path-alias-guards-Dm4Ib8-Q.js} +1 -1
  91. package/dist/plugin-sdk/{pi-embedded-helpers-DD4GdD-3.js → pi-embedded-helpers-CxOAIAgL.js} +15 -15
  92. package/dist/plugin-sdk/{pi-model-discovery-DPQLrk8L.js → pi-model-discovery-DLhHbcJ5.js} +1 -1
  93. package/dist/plugin-sdk/{plugins-7O2sGpAc.js → plugins-CSLJ36UI.js} +4 -4
  94. package/dist/plugin-sdk/{pw-ai-CTM4xMEw.js → pw-ai-BJHUKdr9.js} +9 -9
  95. package/dist/plugin-sdk/{qmd-manager-Besf4E54.js → qmd-manager-CQ1hw5Cy.js} +4 -4
  96. package/dist/plugin-sdk/{query-expansion-OjeNCyp0.js → query-expansion-B713aX-4.js} +2 -2
  97. package/dist/plugin-sdk/{redact-CBc_rBRK.js → redact-DH2yjSff.js} +1 -1
  98. package/dist/plugin-sdk/{replies-CaLm78RV.js → replies-BHCFlIug.js} +3 -3
  99. package/dist/plugin-sdk/{reply-Bg65R8Sl.js → reply-DdeTkzNU.js} +85 -85
  100. package/dist/plugin-sdk/{reply-prefix-0pwVCBvU.js → reply-prefix-B4KpoTJR.js} +1 -1
  101. package/dist/plugin-sdk/{resolve-outbound-target-CNPq-A_l.js → resolve-outbound-target-BqPx5v2I.js} +2 -2
  102. package/dist/plugin-sdk/{resolve-route-ClQRJqe0.js → resolve-route-BeAwxb8T.js} +3 -3
  103. package/dist/plugin-sdk/{retry-D3Bk9CQL.js → retry-D8WS10rf.js} +1 -1
  104. package/dist/plugin-sdk/{runner-DKOJiOan.js → runner-CV1lMdnP.js} +9 -9
  105. package/dist/plugin-sdk/{send-B4D7Bdxv.js → send-BbG719xM.js} +12 -12
  106. package/dist/plugin-sdk/{send-DjcbC0ro.js → send-COS56omM.js} +7 -7
  107. package/dist/plugin-sdk/{send-h5JRLyC1.js → send-Ch2wcAo-.js} +6 -6
  108. package/dist/plugin-sdk/{send-DBqqeuKT.js → send-D3Uipj05.js} +10 -10
  109. package/dist/plugin-sdk/{send-Boh7dFit.js → send-D3s4g6h1.js} +7 -7
  110. package/dist/plugin-sdk/{session-C1qmcwpa.js → session-DTmZR4Qs.js} +4 -4
  111. package/dist/plugin-sdk/{sessions-0-WhcISR.js → sessions-CaJ0F1Cl.js} +5 -5
  112. package/dist/plugin-sdk/{skill-commands-B-B4WPOJ.js → skill-commands-DP4g0vdN.js} +4 -4
  113. package/dist/plugin-sdk/{skills-B-dg1yM3.js → skills-z3-k9cdw.js} +7 -7
  114. package/dist/plugin-sdk/{store-Biixyvcs.js → store-DkuRl7Co.js} +2 -2
  115. package/dist/plugin-sdk/{subsystem-CCuVNg8H.js → subsystem-IDUh0KJU.js} +2 -2
  116. package/dist/plugin-sdk/{tables-qwxjYm23.js → tables-Bzq2IGtb.js} +1 -1
  117. package/dist/plugin-sdk/{target-errors-DVPMUi9A.js → target-errors-DAaAjvEC.js} +2 -2
  118. package/dist/plugin-sdk/{tokens-p84oOf_N.js → tokens-BKs5HDUX.js} +1 -1
  119. package/dist/{tool-images-CZK-TtRa.js → plugin-sdk/tool-images-eYDI4f19.js} +2 -2
  120. package/dist/plugin-sdk/{tool-loop-detection-DxcpVizG.js → tool-loop-detection-DKOBDAt6.js} +1 -1
  121. package/dist/plugin-sdk/web-CFCRobgo.js +67 -0
  122. package/dist/plugin-sdk/{whatsapp-actions-CTLMaVSU.js → whatsapp-actions-D35F7hQp.js} +21 -21
  123. package/dist/{plugins-BlRoQxkM.js → plugins-B-C3qr9h.js} +9 -9
  124. package/dist/{pw-ai-D6hs_Ph8.js → pw-ai-ByD8VxUM.js} +1 -1
  125. package/dist/{pw-ai-hPL1b7vD.js → pw-ai-CWdt21qj.js} +12 -12
  126. package/dist/{qmd-manager-DvD0IpeG.js → qmd-manager-BmAYG3Ns.js} +7 -7
  127. package/dist/{query-expansion-DEcLCIEF.js → query-expansion-CWsHeXuO.js} +5 -5
  128. package/dist/{redact-BPCgJZrC.js → redact-DMUgDbP-.js} +1 -1
  129. package/dist/{replies-mc7CfwI6.js → replies-DDtUPd2u.js} +3 -3
  130. package/dist/{reply-prefix-CJ0CxWv2.js → reply-prefix-BC9ePbBl.js} +1 -1
  131. package/dist/{resolve-route-D6zyTgR-.js → resolve-route-CUhPhNcN.js} +4 -4
  132. package/dist/{retry-CHTJmLNz.js → retry-VF4tZ2JR.js} +1 -1
  133. package/dist/{runner-m6g2nRVN.js → runner-B3efSzxo.js} +1 -1
  134. package/dist/{runner-GuI0y-3d.js → runner-fQ7Cqlwe.js} +10 -10
  135. package/dist/{send-Cgh2qjMs.js → send-BdCEZ_Ma.js} +25 -25
  136. package/dist/{send-BouszQLW.js → send-BmJuQHpi.js} +7 -7
  137. package/dist/{send-CtpDugBB.js → send-D3NmEz99.js} +6 -6
  138. package/dist/{send-B9umgLXE.js → send-DDw4x3nA.js} +7 -7
  139. package/dist/{send-Bf5kgoh6.js → send-bdMg78it.js} +10 -10
  140. package/dist/{session-BPrlEB9i.js → session-BRvCgTRc.js} +8 -8
  141. package/dist/{sessions-BPktKBcB.js → sessions-BlTGNa_w.js} +40 -40
  142. package/dist/{skill-commands-548Uv6Ql.js → skill-commands-B0RZGz5C.js} +8 -8
  143. package/dist/{skills-BBzDIMob.js → skills-D6z7pulE.js} +21 -21
  144. package/dist/{store-AFxBB9gG.js → store-7jGBS_C7.js} +2 -2
  145. package/dist/{subsystem-9cvwyeIY.js → subsystem-DfvFNKin.js} +20 -20
  146. package/dist/{tables-Cs-g5aZO.js → tables-Dhvp8KkT.js} +1 -1
  147. package/dist/{target-errors-DTNlQpun.js → target-errors-C_wkiTp6.js} +2 -2
  148. package/dist/{tokens-CaQbbmVM.js → tokens-D1STOZ9X.js} +1 -1
  149. package/dist/{plugin-sdk/tool-images--q3hjox_.js → tool-images-Bi-MLe30.js} +2 -2
  150. package/dist/{tool-loop-detection-UVXxn3bc.js → tool-loop-detection-C5yAOa4j.js} +2 -2
  151. package/dist/{web-C_nBTvtH.js → web-B0FuEdXj.js} +6 -6
  152. package/dist/{web-BRcS7Qrk.js → web-Csn0XEYj.js} +61 -61
  153. package/dist/{whatsapp-actions-BrrWBrsa.js → whatsapp-actions-CMFmtPeU.js} +23 -23
  154. package/dist/{workspace-DHoRQzjU.js → workspace-Di49s_RJ.js} +17 -17
  155. package/package.json +1 -1
  156. package/skills/aliyun-cloud-deploy/SKILL.md +357 -0
  157. package/skills/aliyun-cloud-deploy/assets/ros-base-templates/ack-container.yml +582 -0
  158. package/skills/aliyun-cloud-deploy/assets/ros-base-templates/ecs-lite.yml +270 -0
  159. package/skills/aliyun-cloud-deploy/assets/ros-base-templates/ecs-rds-standard.yml +419 -0
  160. package/skills/aliyun-cloud-deploy/assets/ros-base-templates/ecs-redis.yml +252 -0
  161. package/skills/aliyun-cloud-deploy/assets/ros-base-templates/ecs-slb.yml +355 -0
  162. package/skills/aliyun-cloud-deploy/assets/ros-base-templates/fc-serverless.yml +564 -0
  163. package/skills/aliyun-cloud-deploy/assets/ros-base-templates/fc.yml +241 -0
  164. package/skills/aliyun-cloud-deploy/assets/ros-base-templates/internet-industry-high-elastic-system-construction.yml +1609 -0
  165. package/skills/aliyun-cloud-deploy/assets/ros-base-templates/scaling-ecs.yml +275 -0
  166. package/skills/aliyun-cloud-deploy/assets/ros-base-templates/single-website-on-cloud-cloud-architecture.yml +786 -0
  167. package/skills/aliyun-cloud-deploy/assets/ros-base-templates/vpc-natgateway-eip.yml +107 -0
  168. package/skills/aliyun-cloud-deploy/references/architecture-patterns.md +212 -0
  169. package/skills/aliyun-cloud-deploy/references/deployment-checklist.md +235 -0
  170. package/skills/aliyun-cloud-deploy/references/pricing-guide.md +114 -0
  171. package/skills/aliyun-cloud-deploy/references/resource-reference.md +953 -0
  172. package/skills/aliyun-cloud-deploy/references/ros-template-catalog.md +109 -0
  173. package/skills/aliyun-cloud-deploy/references/security-tiers.md +150 -0
  174. package/skills/aliyun-cloud-deploy/references/solution-patterns.md +264 -0
  175. package/skills/aliyun-cloud-deploy/scripts/analyze_requirements.py +564 -0
  176. package/skills/aliyun-cloud-deploy/scripts/detect_project.py +236 -0
  177. package/skills/aliyun-cloud-deploy/scripts/estimate_cost.py +112 -0
  178. package/skills/aliyun-cloud-deploy/scripts/generate_deploy_script.py +932 -0
  179. package/skills/aliyun-cloud-deploy/scripts/generate_ros_template.py +1261 -0
  180. package/skills/aliyun-cloud-deploy/scripts/validate_template.py +496 -0
  181. package/skills/aws-cloud-deploy/SKILL.md +315 -0
  182. package/skills/aws-cloud-deploy/assets/cfn-base-templates/alb-asg-rds-ha.yaml +554 -0
  183. package/skills/aws-cloud-deploy/assets/cfn-base-templates/asg-elasticache-elastic.yaml +689 -0
  184. package/skills/aws-cloud-deploy/assets/cfn-base-templates/ec2-lite.yaml +228 -0
  185. package/skills/aws-cloud-deploy/assets/cfn-base-templates/ec2-rds-standard.yaml +447 -0
  186. package/skills/aws-cloud-deploy/assets/cfn-base-templates/eks-container.yaml +476 -0
  187. package/skills/aws-cloud-deploy/assets/cfn-base-templates/elasticache-redis.yaml +153 -0
  188. package/skills/aws-cloud-deploy/assets/cfn-base-templates/lambda-serverless.yaml +399 -0
  189. package/skills/aws-cloud-deploy/assets/cfn-base-templates/rds-standalone.yaml +237 -0
  190. package/skills/aws-cloud-deploy/assets/cfn-base-templates/s3-bucket.yaml +200 -0
  191. package/skills/aws-cloud-deploy/assets/cfn-base-templates/vpc-sg-base.yaml +274 -0
  192. package/skills/aws-cloud-deploy/references/architecture-patterns.md +700 -0
  193. package/skills/aws-cloud-deploy/references/cfn-template-catalog.md +680 -0
  194. package/skills/aws-cloud-deploy/references/deployment-checklist.md +761 -0
  195. package/skills/aws-cloud-deploy/references/pricing-guide.md +787 -0
  196. package/skills/aws-cloud-deploy/references/resource-reference.md +1746 -0
  197. package/skills/aws-cloud-deploy/references/security-tiers.md +661 -0
  198. package/skills/aws-cloud-deploy/references/service-selection-guide.md +539 -0
  199. package/skills/aws-cloud-deploy/references/solution-patterns.md +870 -0
  200. package/skills/aws-cloud-deploy/scripts/analyze_requirements.py +537 -0
  201. package/skills/aws-cloud-deploy/scripts/detect_project.py +236 -0
  202. package/skills/aws-cloud-deploy/scripts/estimate_cost.py +116 -0
  203. package/skills/aws-cloud-deploy/scripts/generate_cfn_template.py +1123 -0
  204. package/skills/aws-cloud-deploy/scripts/generate_deploy_script.py +467 -0
  205. package/skills/aws-cloud-deploy/scripts/test_e2e.py +283 -0
  206. package/skills/aws-cloud-deploy/scripts/validate_template.py +400 -0
  207. package/skills/azure-cloud-deploy/SKILL.md +313 -0
  208. package/skills/azure-cloud-deploy/assets/arm-base-templates/aks-container.json +113 -0
  209. package/skills/azure-cloud-deploy/assets/arm-base-templates/appservice-db-standard.json +139 -0
  210. package/skills/azure-cloud-deploy/assets/arm-base-templates/appservice-ha.json +236 -0
  211. package/skills/azure-cloud-deploy/assets/arm-base-templates/db-flexible-server.json +80 -0
  212. package/skills/azure-cloud-deploy/assets/arm-base-templates/functions-serverless.json +109 -0
  213. package/skills/azure-cloud-deploy/assets/arm-base-templates/redis-cache.json +45 -0
  214. package/skills/azure-cloud-deploy/assets/arm-base-templates/storage-account.json +34 -0
  215. package/skills/azure-cloud-deploy/assets/arm-base-templates/vm-lite.json +190 -0
  216. package/skills/azure-cloud-deploy/assets/arm-base-templates/vmss-elastic.json +228 -0
  217. package/skills/azure-cloud-deploy/assets/arm-base-templates/vnet-nsg-base.json +55 -0
  218. package/skills/azure-cloud-deploy/references/architecture-patterns.md +155 -0
  219. package/skills/azure-cloud-deploy/references/arm-template-catalog.md +162 -0
  220. package/skills/azure-cloud-deploy/references/deployment-checklist.md +391 -0
  221. package/skills/azure-cloud-deploy/references/pricing-guide.md +101 -0
  222. package/skills/azure-cloud-deploy/references/resource-reference.md +415 -0
  223. package/skills/azure-cloud-deploy/references/security-tiers.md +32 -0
  224. package/skills/azure-cloud-deploy/references/service-selection-guide.md +265 -0
  225. package/skills/azure-cloud-deploy/references/solution-patterns.md +330 -0
  226. package/skills/azure-cloud-deploy/scripts/analyze_requirements.py +537 -0
  227. package/skills/azure-cloud-deploy/scripts/detect_project.py +236 -0
  228. package/skills/azure-cloud-deploy/scripts/estimate_cost.py +116 -0
  229. package/skills/azure-cloud-deploy/scripts/generate_arm_template.py +1181 -0
  230. package/skills/azure-cloud-deploy/scripts/generate_deploy_script.py +599 -0
  231. package/skills/azure-cloud-deploy/scripts/test_e2e.py +275 -0
  232. package/skills/azure-cloud-deploy/scripts/validate_template.py +381 -0
  233. package/dist/plugin-sdk/web-DdDGGnVK.js +0 -67
package/README.ja.md CHANGED
@@ -24,7 +24,7 @@ OAuth プロファイルローテーション、API キーフォールバック
24
24
 
25
25
  Windows ユーザーに最も推奨される方法です。Node.js 22 ランタイムが内蔵されており、前提条件は一切不要です。
26
26
 
27
- 1. [SourceForge](https://sourceforge.net/projects/winclaw/files/WinClawSetup-2026.2.28.exe/download) または [GitHub Releases](https://github.com/itc-ou-shigou/winclaw/releases) から `WinClawSetup-{version}.exe` をダウンロード(リポジトリの [`releases/`](releases/) ディレクトリからも取得可能)
27
+ 1. [SourceForge](https://sourceforge.net/projects/winclaw/files/WinClawSetup-2026.3.1.exe/download) または [GitHub Releases](https://github.com/itc-ou-shigou/winclaw/releases) から `WinClawSetup-{version}.exe` をダウンロード(リポジトリの [`releases/`](releases/) ディレクトリからも取得可能)
28
28
  2. インストーラーを実行(管理者権限不要 -- ユーザープロファイルにインストールされます)
29
29
  3. インストール時のオプションを選択:
30
30
 
@@ -215,7 +215,7 @@ winclaw tui
215
215
 
216
216
  ## ⭐ おすすめスキル
217
217
 
218
- WinClaw には、Windows PC での開発ワークフローを大幅に強化する 2 つの強力な自動化スキルが搭載されています。
218
+ WinClaw には、Windows PC での開発ワークフローを大幅に強化する 5 つの強力な自動化スキルが搭載されています。
219
219
 
220
220
  ### 🧪 AI Dev System Testing — Web アプリ自動テスト
221
221
 
@@ -347,6 +347,74 @@ $env:TEST_USER_PASSWORD = "YourTestPassword123"
347
347
 
348
348
  ---
349
349
 
350
+ ### ☁️ クラウドデプロイスキル — AWS・Azure・Alibaba Cloud へワンコマンドデプロイ
351
+
352
+ WinClaw には 3 つのクラウドデプロイスキルが内蔵されており、要件ヒアリングからインフラ構築、コードデプロイまでを WinClaw Chat での自然な会話で完了できます。
353
+
354
+ | スキル | クラウドプロバイダー | トリガーフレーズ | IaC 形式 |
355
+ |--------|---------------------|-----------------|---------|
356
+ | **aws-cloud-deploy** | Amazon Web Services | "deploy to aws", "AWS deploy", "AWSにデプロイ" | CloudFormation (YAML) |
357
+ | **azure-cloud-deploy** | Microsoft Azure | "deploy to azure", "Azure deploy", "Azureにデプロイ" | ARM Templates (JSON) |
358
+ | **aliyun-cloud-deploy** | Alibaba Cloud | "deploy to aliyun", "Alibaba Cloud deploy", "アリクラウドデプロイ" | ROS Templates (JSON) |
359
+
360
+ #### 6 つのアーキテクチャパターン
361
+
362
+ 予算・トラフィック・要件に応じて、最適なアーキテクチャパターンが自動選択されます:
363
+
364
+ | パターン | 予算 | トラフィック | AWS | Azure | Alibaba Cloud |
365
+ |---------|------|------------|-----|-------|--------------|
366
+ | **Lite** | $10-40/月 | <500/日 | EC2 + EIP | VM + Public IP | ECS + EIP |
367
+ | **Standard** | $50-150/月 | 500-5K/日 | EC2 + ALB + RDS | App Service + DB | ECS + SLB + RDS |
368
+ | **HA** | $150-300/月 | 5K-50K/日 | ASG + Multi-AZ RDS | App Gateway + HA DB | ESS + Multi-AZ RDS |
369
+ | **Elastic** | $250-600/月 | 50K-500K/日 | ASG + ElastiCache + CloudFront | VMSS + Redis + CDN | ESS + Redis + CDN |
370
+ | **Serverless** | $0-100/月 | 可変 | Lambda + API Gateway | Functions + API Mgmt | FC + API Gateway |
371
+ | **Container** | $300+/月 | 50K-1M+/日 | EKS + ECR | AKS + ACR | ACK + ACR |
372
+
373
+ #### ワークフロー
374
+
375
+ ```
376
+ Phase 1: 要件ヒアリング → プロジェクト検出、予算/トラフィック/DB/セキュリティを質問
377
+ Phase 2: 設計 & 承認 → アーキテクチャ推薦、コスト見積表示、ユーザー承認取得
378
+ Phase 3A: インフラ構築 → IaC テンプレート生成&検証、CLI またはコンソールでデプロイ
379
+ Phase 3B: コードデプロイ → デプロイスクリプト生成、SCP/Docker/kubectl/CLI 実行
380
+ Phase 3C: 検証 → ヘルスチェック実行、アクセス URL 付きデプロイレポート生成
381
+ ```
382
+
383
+ #### 前提条件 — クラウド CLI 認証の事前設定
384
+
385
+ **これらのスキルを使用する前に、クラウド CLI の認証設定が必要です。** WinClaw はクレデンシャルの入力を求めません — ターミナル環境で事前に設定してください。
386
+
387
+ | プロバイダー | 認証コマンド | 確認コマンド |
388
+ |-------------|------------|------------|
389
+ | AWS | `aws configure`(Access Key + Secret Key) | `aws sts get-caller-identity` |
390
+ | Azure | `az login`(ブラウザ SSO 認証) | `az account show` |
391
+ | Alibaba Cloud | `aliyun configure`(Access Key + Secret Key) | `aliyun sts GetCallerIdentity` |
392
+
393
+ > **セキュリティ注意:** クレデンシャルを WinClaw Chat に直接貼り付けないでください。認証は必ずクラウドプロバイダーの CLI ツールを使ってターミナルで設定してください。WinClaw は CLI 環境から事前設定済みのクレデンシャルを読み取り、保存することはありません。
394
+
395
+ #### 使い方
396
+
397
+ 1. **開始** — WinClaw に伝える:*「AWS にデプロイして」*(Azure / Alibaba Cloud も同様)
398
+ 2. **質問に回答** — WinClaw がプロジェクトを検出し、予算・トラフィック・DB の要件を質問
399
+ 3. **設計レビュー** — 推奨アーキテクチャとコスト内訳を確認。承認または調整
400
+ 4. **デプロイ** — WinClaw がインフラテンプレートを生成し、リソースをプロビジョニングし、コードをデプロイ
401
+ 5. **検証** — ヘルスチェックを実行し、アクセス URL 付きのデプロイレポートを提供
402
+
403
+ ```
404
+ あなた: Express アプリを AWS にデプロイして、予算は月 $100 くらい
405
+ WinClaw: Node.js/Express プロジェクトを検出しました(ポート 3000)。
406
+ 最適なアーキテクチャを設計するため、いくつか質問します…
407
+ [トラフィック、データベース、セキュリティについて質問]
408
+
409
+ 推奨: Standard パターン(EC2 + ALB + RDS MySQL)
410
+ 推定コスト: $71.62/月 — 承認しますか?
411
+ あなた: はい、デプロイして
412
+ WinClaw: [CloudFormation 生成 → スタックデプロイ → コード SCP → ヘルスチェック]
413
+ デプロイ完了!アクセス URL: http://my-app-alb-123.us-east-1.elb.amazonaws.com/
414
+ ```
415
+
416
+ ---
417
+
350
418
  ## 組み込みプラグイン
351
419
 
352
420
  WinClaw には **18 個のビルトインプラグイン** が搭載されており、15 の専門分野をカバーしています — **88 個のスラッシュコマンド**、**90 以上の AI スキル**、**40 以上の MCP 連携** がすぐに使えます。チャットで一言伝えるか、設定ファイルを 1 行変更するだけで有効化できます。
package/README.md CHANGED
@@ -31,7 +31,7 @@ recommended.
31
31
  ### Method 1: EXE Installer (Recommended)
32
32
 
33
33
  Download **WinClawSetup-{version}.exe** from
34
- [SourceForge](https://sourceforge.net/projects/winclaw/files/WinClawSetup-2026.2.28.exe/download) |
34
+ [SourceForge](https://sourceforge.net/projects/winclaw/files/WinClawSetup-2026.3.1.exe/download) |
35
35
  [GitHub Releases](https://github.com/itc-ou-shigou/winclaw/releases) and run it.
36
36
  The installer is also available locally in the [`releases/`](releases/) directory.
37
37
 
@@ -231,7 +231,7 @@ to verify your installation and diagnose issues.
231
231
 
232
232
  ## ⭐ Featured Skills
233
233
 
234
- WinClaw ships with two powerful automation skills that supercharge your development workflow on Windows.
234
+ WinClaw ships with five powerful automation skills that supercharge your development workflow on Windows.
235
235
 
236
236
  ### 🧪 AI Dev System Testing — Automated Web Application Testing
237
237
 
@@ -364,6 +364,74 @@ The daily auto-update cron job is registered automatically on first run — no m
364
364
 
365
365
  ---
366
366
 
367
+ ### ☁️ Cloud Deploy Skills — One-Command Deployment to AWS, Azure & Alibaba Cloud
368
+
369
+ WinClaw includes three cloud deployment skills that guide you from requirements gathering through infrastructure provisioning to code deployment — all through natural conversation in WinClaw Chat.
370
+
371
+ | Skill | Cloud Provider | Trigger Phrases | Infrastructure-as-Code |
372
+ |-------|---------------|-----------------|----------------------|
373
+ | **aws-cloud-deploy** | Amazon Web Services | "deploy to aws", "AWS deploy" | CloudFormation (YAML) |
374
+ | **azure-cloud-deploy** | Microsoft Azure | "deploy to azure", "Azure deploy" | ARM Templates (JSON) |
375
+ | **aliyun-cloud-deploy** | Alibaba Cloud | "deploy to aliyun", "Alibaba Cloud deploy" | ROS Templates (JSON) |
376
+
377
+ #### 6 Architecture Patterns
378
+
379
+ Each skill supports 6 architecture patterns automatically selected based on your budget, traffic, and requirements:
380
+
381
+ | Pattern | Budget | Traffic | AWS | Azure | Alibaba Cloud |
382
+ |---------|--------|---------|-----|-------|--------------|
383
+ | **Lite** | $10-40/mo | <500/day | EC2 + EIP | VM + Public IP | ECS + EIP |
384
+ | **Standard** | $50-150/mo | 500-5K/day | EC2 + ALB + RDS | App Service + DB | ECS + SLB + RDS |
385
+ | **HA** | $150-300/mo | 5K-50K/day | ASG + Multi-AZ RDS | App Gateway + HA DB | ESS + Multi-AZ RDS |
386
+ | **Elastic** | $250-600/mo | 50K-500K/day | ASG + ElastiCache + CloudFront | VMSS + Redis + CDN | ESS + Redis + CDN |
387
+ | **Serverless** | $0-100/mo | Variable | Lambda + API Gateway | Functions + API Mgmt | FC + API Gateway |
388
+ | **Container** | $300+/mo | 50K-1M+/day | EKS + ECR | AKS + ACR | ACK + ACR |
389
+
390
+ #### Workflow
391
+
392
+ ```
393
+ Phase 1: Requirements → Detect project type, ask budget/traffic/DB/security questions
394
+ Phase 2: Plan & Approve → Recommend architecture, show cost estimate, get user approval
395
+ Phase 3A: Infrastructure → Generate & validate IaC template, deploy via CLI or Console
396
+ Phase 3B: Code Deploy → Generate deploy script, SCP/Docker/kubectl/CLI deployment
397
+ Phase 3C: Verify → Health checks, generate deployment report with next steps
398
+ ```
399
+
400
+ #### Prerequisites — Cloud CLI Authentication
401
+
402
+ **You must configure cloud CLI authentication before using these skills.** WinClaw will not ask for your credentials — they must be pre-configured in your terminal environment.
403
+
404
+ | Provider | Authentication Command | Verification |
405
+ |----------|----------------------|-------------|
406
+ | AWS | `aws configure` (Access Key + Secret Key) | `aws sts get-caller-identity` |
407
+ | Azure | `az login` (browser-based SSO) | `az account show` |
408
+ | Alibaba Cloud | `aliyun configure` (Access Key + Secret Key) | `aliyun sts GetCallerIdentity` |
409
+
410
+ > **Security Note:** Never paste credentials directly into WinClaw Chat. Always configure authentication through the cloud provider's CLI tool in your terminal. WinClaw reads the pre-configured credentials from the CLI environment and never stores them.
411
+
412
+ #### How to Use
413
+
414
+ 1. **Start** — Tell WinClaw: *"Deploy my project to AWS"* (or Azure / Alibaba Cloud)
415
+ 2. **Answer questions** — WinClaw detects your project and asks about budget, traffic, DB needs
416
+ 3. **Review plan** — WinClaw recommends an architecture with cost breakdown. Approve or adjust
417
+ 4. **Deploy** — WinClaw generates infrastructure templates, provisions resources, deploys your code
418
+ 5. **Verify** — WinClaw runs health checks and provides a deployment report with access URLs
419
+
420
+ ```
421
+ You: Deploy my Express app to AWS, budget around $100/month
422
+ WinClaw: I detected a Node.js/Express project (port 3000).
423
+ Let me ask a few questions to design the right architecture...
424
+ [Asks about traffic, database, security needs]
425
+ ...
426
+ Recommended: Standard pattern (EC2 + ALB + RDS MySQL)
427
+ Estimated cost: $71.62/month — Approve?
428
+ You: Yes, deploy it
429
+ WinClaw: [Generates CloudFormation → Deploys stack → SCP code → Health check]
430
+ Deployment complete! Access URL: http://my-app-alb-123.us-east-1.elb.amazonaws.com/
431
+ ```
432
+
433
+ ---
434
+
367
435
  ## Featured Plugins
368
436
 
369
437
  WinClaw ships with **18 pre-built plugins** covering 15 professional domains — **88 slash commands**, **90+ AI skills**, and **40+ MCP integrations** ready to use. Enable any plugin with a single chat message or a one-line config change.
package/README.zh-CN.md CHANGED
@@ -25,7 +25,7 @@ WinClaw 现已提供原生 Windows 支持,包含基于 Inno Setup 构建的 EX
25
25
 
26
26
  安装程序内置完整 Node.js 22 运行时,无需任何前置条件。
27
27
 
28
- 1. 从 [SourceForge](https://sourceforge.net/projects/winclaw/files/WinClawSetup-2026.2.28.exe/download) 或 [GitHub Releases](https://github.com/itc-ou-shigou/winclaw/releases/latest) 下载 `WinClawSetup-{version}.exe`(也可从本仓库 [`releases/`](releases/) 目录获取)
28
+ 1. 从 [SourceForge](https://sourceforge.net/projects/winclaw/files/WinClawSetup-2026.3.1.exe/download) 或 [GitHub Releases](https://github.com/itc-ou-shigou/winclaw/releases/latest) 下载 `WinClawSetup-{version}.exe`(也可从本仓库 [`releases/`](releases/) 目录获取)
29
29
  2. 运行安装程序(默认使用用户权限,无需管理员)
30
30
  3. 在安装向导中按需选择选项:
31
31
 
@@ -209,7 +209,7 @@ winclaw tui
209
209
 
210
210
  ## ⭐ 重点推荐技能
211
211
 
212
- WinClaw 内置了两个强大的自动化技能,大幅提升你在 Windows PC 上的开发效率。
212
+ WinClaw 内置了五个强大的自动化技能,大幅提升你在 Windows PC 上的开发效率。
213
213
 
214
214
  ### 🧪 AI Dev System Testing — Web 应用自动化测试
215
215
 
@@ -341,6 +341,74 @@ $env:TEST_USER_PASSWORD = "YourTestPassword123"
341
341
 
342
342
  ---
343
343
 
344
+ ### ☁️ 云部署技能 — 一键部署到 AWS、Azure 和阿里云
345
+
346
+ WinClaw 内置三个云部署技能,通过 WinClaw Chat 中的自然语言对话,即可完成从需求分析、架构设计、基础设施搭建到代码部署的全流程。
347
+
348
+ | 技能 | 云平台 | 触发短语 | IaC 格式 |
349
+ |------|--------|---------|---------|
350
+ | **aws-cloud-deploy** | Amazon Web Services | "deploy to aws"、"AWS deploy"、"部署到AWS" | CloudFormation (YAML) |
351
+ | **azure-cloud-deploy** | Microsoft Azure | "deploy to azure"、"Azure deploy"、"部署到Azure" | ARM Templates (JSON) |
352
+ | **aliyun-cloud-deploy** | 阿里云 | "deploy to aliyun"、"阿里云部署"、"部署到阿里云" | ROS Templates (JSON) |
353
+
354
+ #### 6 种架构模式
355
+
356
+ 根据预算、流量和需求自动选择最优架构模式:
357
+
358
+ | 模式 | 预算 | 流量 | AWS | Azure | 阿里云 |
359
+ |------|------|------|-----|-------|--------|
360
+ | **Lite** | $10-40/月 | <500/天 | EC2 + EIP | VM + Public IP | ECS + EIP |
361
+ | **Standard** | $50-150/月 | 500-5K/天 | EC2 + ALB + RDS | App Service + DB | ECS + SLB + RDS |
362
+ | **HA** | $150-300/月 | 5K-50K/天 | ASG + Multi-AZ RDS | App Gateway + HA DB | ESS + Multi-AZ RDS |
363
+ | **Elastic** | $250-600/月 | 50K-500K/天 | ASG + ElastiCache + CloudFront | VMSS + Redis + CDN | ESS + Redis + CDN |
364
+ | **Serverless** | $0-100/月 | 弹性 | Lambda + API Gateway | Functions + API Mgmt | FC + API Gateway |
365
+ | **Container** | $300+/月 | 50K-1M+/天 | EKS + ECR | AKS + ACR | ACK + ACR |
366
+
367
+ #### 工作流程
368
+
369
+ ```
370
+ Phase 1: 需求收集 → 检测项目类型,询问预算/流量/数据库/安全等级
371
+ Phase 2: 方案设计 → 推荐架构方案,展示费用估算表,获取用户确认
372
+ Phase 3A: 基础设施部署 → 生成并验证 IaC 模板,通过 CLI 或控制台部署
373
+ Phase 3B: 代码部署 → 生成部署脚本,执行 SCP/Docker/kubectl/CLI 部署
374
+ Phase 3C: 验证报告 → 健康检查,生成包含访问 URL 的部署报告
375
+ ```
376
+
377
+ #### 前提条件 — 云平台 CLI 认证配置
378
+
379
+ **使用云部署技能前,必须预先配置好云平台 CLI 认证。** WinClaw 不会在聊天中要求你输入凭据 — 请在终端环境中提前完成认证配置。
380
+
381
+ | 云平台 | 认证命令 | 验证命令 |
382
+ |--------|---------|---------|
383
+ | AWS | `aws configure`(Access Key + Secret Key) | `aws sts get-caller-identity` |
384
+ | Azure | `az login`(浏览器 SSO 认证) | `az account show` |
385
+ | 阿里云 | `aliyun configure`(Access Key + Secret Key) | `aliyun sts GetCallerIdentity` |
386
+
387
+ > **安全提示:** 切勿将凭据直接粘贴到 WinClaw Chat 中。请务必通过云平台的 CLI 工具在终端中配置认证。WinClaw 只会从 CLI 环境中读取已配置的凭据,不会存储任何敏感信息。
388
+
389
+ #### 使用方法
390
+
391
+ 1. **启动** — 告诉 WinClaw:*"把我的项目部署到 AWS"*(Azure / 阿里云同理)
392
+ 2. **回答问题** — WinClaw 检测项目类型后,询问预算、流量、数据库需求
393
+ 3. **审核方案** — WinClaw 推荐架构并展示费用明细,确认或调整
394
+ 4. **执行部署** — WinClaw 生成基础设施模板,创建云资源,部署应用代码
395
+ 5. **验证结果** — 执行健康检查,提供包含访问 URL 的完整部署报告
396
+
397
+ ```
398
+ 你: 把我的 Express 应用部署到 AWS,预算每月 $100 左右
399
+ WinClaw: 检测到 Node.js/Express 项目(端口 3000)。
400
+ 为了设计最佳架构,我需要问你几个问题…
401
+ [询问流量、数据库、安全需求]
402
+
403
+ 推荐:Standard 模式(EC2 + ALB + RDS MySQL)
404
+ 预估费用:$71.62/月 — 确认部署吗?
405
+ 你: 确认,开始部署
406
+ WinClaw: [生成 CloudFormation → 部署堆栈 → SCP 代码 → 健康检查]
407
+ 部署完成!访问地址:http://my-app-alb-123.us-east-1.elb.amazonaws.com/
408
+ ```
409
+
410
+ ---
411
+
344
412
  ## 内置插件
345
413
 
346
414
  WinClaw 内置 **18 个预构建插件**,覆盖 15 个专业领域 —— **88 个斜杠命令**、**90+ AI 技能**、**40+ MCP 集成**,开箱即用。在聊天中说一句话,或在配置文件中改一行,即可启用任意插件。
@@ -1,5 +1,5 @@
1
1
  import { p as normalizeAccountId } from "./session-key-CPPWn8gW.js";
2
- import { h as createAccountListHelpers } from "./accounts-BTolatbF.js";
2
+ import { h as createAccountListHelpers } from "./accounts-KSS3y-Bv.js";
3
3
  import { t as resolveAccountEntry } from "./account-lookup-BCxEEOS8.js";
4
4
 
5
5
  //#region src/imessage/accounts.ts
@@ -1,5 +1,5 @@
1
1
  import { p as normalizeAccountId } from "./session-key-CPPWn8gW.js";
2
- import { h as createAccountListHelpers } from "./accounts-BTolatbF.js";
2
+ import { h as createAccountListHelpers } from "./accounts-KSS3y-Bv.js";
3
3
  import { t as resolveAccountEntry } from "./account-lookup-BCxEEOS8.js";
4
4
 
5
5
  //#region src/signal/accounts.ts
@@ -1,11 +1,11 @@
1
- import { a as resolveOAuthDir } from "./paths-DMk7q-Ht.js";
2
- import { P as jidToE164, Y as info, at as getChildLogger, et as success, r as defaultRuntime, z as resolveUserPath } from "./subsystem-9cvwyeIY.js";
1
+ import { a as resolveOAuthDir } from "./paths-DbO94QvW.js";
2
+ import { P as jidToE164, Y as info, at as getChildLogger, et as success, r as defaultRuntime, z as resolveUserPath } from "./subsystem-DfvFNKin.js";
3
3
  import { f as DEFAULT_ACCOUNT_ID, p as normalizeAccountId } from "./session-key-CPPWn8gW.js";
4
- import { n as formatCliCommand } from "./env-DBhelVv5.js";
4
+ import { n as formatCliCommand } from "./env-DtvPgpx0.js";
5
5
  import { t as resolveAccountEntry } from "./account-lookup-BCxEEOS8.js";
6
6
  import fs from "node:fs/promises";
7
7
  import path from "node:path";
8
- import syncFs from "node:fs";
8
+ import fs$1 from "node:fs";
9
9
 
10
10
  //#region src/channels/plugins/account-helpers.ts
11
11
  function createAccountListHelpers(channelKey) {
@@ -45,7 +45,7 @@ function resolveWebCredsBackupPath(authDir) {
45
45
  }
46
46
  function hasWebCredsSync(authDir) {
47
47
  try {
48
- const stats = syncFs.statSync(resolveWebCredsPath(authDir));
48
+ const stats = fs$1.statSync(resolveWebCredsPath(authDir));
49
49
  return stats.isFile() && stats.size > 1;
50
50
  } catch {
51
51
  return false;
@@ -53,10 +53,10 @@ function hasWebCredsSync(authDir) {
53
53
  }
54
54
  function readCredsJsonRaw(filePath) {
55
55
  try {
56
- if (!syncFs.existsSync(filePath)) return null;
57
- const stats = syncFs.statSync(filePath);
56
+ if (!fs$1.existsSync(filePath)) return null;
57
+ const stats = fs$1.statSync(filePath);
58
58
  if (!stats.isFile() || stats.size <= 1) return null;
59
- return syncFs.readFileSync(filePath, "utf-8");
59
+ return fs$1.readFileSync(filePath, "utf-8");
60
60
  } catch {
61
61
  return null;
62
62
  }
@@ -74,9 +74,9 @@ function maybeRestoreCredsFromBackup(authDir) {
74
74
  const backupRaw = readCredsJsonRaw(backupPath);
75
75
  if (!backupRaw) return;
76
76
  JSON.parse(backupRaw);
77
- syncFs.copyFileSync(backupPath, credsPath);
77
+ fs$1.copyFileSync(backupPath, credsPath);
78
78
  try {
79
- syncFs.chmodSync(credsPath, 384);
79
+ fs$1.chmodSync(credsPath, 384);
80
80
  } catch {}
81
81
  logger.warn({ credsPath }, "restored corrupted WhatsApp creds.json from backup");
82
82
  } catch {}
@@ -132,11 +132,11 @@ async function logoutWeb(params) {
132
132
  function readWebSelfId(authDir = resolveDefaultWebAuthDir()) {
133
133
  try {
134
134
  const credsPath = resolveWebCredsPath(resolveUserPath(authDir));
135
- if (!syncFs.existsSync(credsPath)) return {
135
+ if (!fs$1.existsSync(credsPath)) return {
136
136
  e164: null,
137
137
  jid: null
138
138
  };
139
- const raw = syncFs.readFileSync(credsPath, "utf-8");
139
+ const raw = fs$1.readFileSync(credsPath, "utf-8");
140
140
  const jid = JSON.parse(raw)?.me?.id ?? null;
141
141
  return {
142
142
  e164: jid ? jidToE164(jid, { authDir }) : null,
@@ -155,7 +155,7 @@ function readWebSelfId(authDir = resolveDefaultWebAuthDir()) {
155
155
  */
156
156
  function getWebAuthAgeMs(authDir = resolveDefaultWebAuthDir()) {
157
157
  try {
158
- const stats = syncFs.statSync(resolveWebCredsPath(resolveUserPath(authDir)));
158
+ const stats = fs$1.statSync(resolveWebCredsPath(resolveUserPath(authDir)));
159
159
  return Date.now() - stats.mtimeMs;
160
160
  } catch {
161
161
  return null;
@@ -187,7 +187,7 @@ function listWhatsAppAuthDirs(cfg) {
187
187
  accountId
188
188
  }).authDir);
189
189
  try {
190
- const entries = syncFs.readdirSync(whatsappDir, { withFileTypes: true });
190
+ const entries = fs$1.readdirSync(whatsappDir, { withFileTypes: true });
191
191
  for (const entry of entries) {
192
192
  if (!entry.isDirectory()) continue;
193
193
  authDirs.add(path.join(whatsappDir, entry.name));
@@ -209,7 +209,7 @@ function resolveLegacyAuthDir() {
209
209
  }
210
210
  function legacyAuthExists(authDir) {
211
211
  try {
212
- return syncFs.existsSync(path.join(authDir, "creds.json"));
212
+ return fs$1.existsSync(path.join(authDir, "creds.json"));
213
213
  } catch {
214
214
  return false;
215
215
  }
@@ -1,5 +1,5 @@
1
1
  import { f as DEFAULT_ACCOUNT_ID } from "./session-key-CPPWn8gW.js";
2
- import { n as formatCliCommand } from "./env-DBhelVv5.js";
2
+ import { n as formatCliCommand } from "./env-DtvPgpx0.js";
3
3
  import crypto from "node:crypto";
4
4
 
5
5
  //#region src/logging/redact-identifier.ts
@@ -1,7 +1,7 @@
1
- import { s as resolveStateDir } from "./paths-DMk7q-Ht.js";
2
- import { t as createSubsystemLogger, z as resolveUserPath } from "./subsystem-9cvwyeIY.js";
1
+ import { s as resolveStateDir } from "./paths-DbO94QvW.js";
2
+ import { t as createSubsystemLogger, z as resolveUserPath } from "./subsystem-DfvFNKin.js";
3
3
  import { l as resolveAgentIdFromSessionKey, s as normalizeAgentId, t as DEFAULT_AGENT_ID, x as parseAgentSessionKey } from "./session-key-CPPWn8gW.js";
4
- import { p as resolveDefaultAgentWorkspaceDir } from "./workspace-DHoRQzjU.js";
4
+ import { p as resolveDefaultAgentWorkspaceDir } from "./workspace-Di49s_RJ.js";
5
5
  import path from "node:path";
6
6
 
7
7
  //#region src/config/model-input.ts
@@ -1,39 +1,39 @@
1
- import "./agent-scope-BKhhNa2v.js";
2
- import "./paths-DMk7q-Ht.js";
3
- import { $ as shouldLogVerbose, X as logVerbose } from "./subsystem-9cvwyeIY.js";
4
- import "./workspace-DHoRQzjU.js";
5
- import "./model-selection-D33yYQqp.js";
6
- import "./github-copilot-token-B99zK38w.js";
7
- import "./env-DBhelVv5.js";
1
+ import "./agent-scope-DsGhweE9.js";
2
+ import "./paths-DbO94QvW.js";
3
+ import { $ as shouldLogVerbose, X as logVerbose } from "./subsystem-DfvFNKin.js";
4
+ import "./workspace-Di49s_RJ.js";
5
+ import "./model-selection-B6C-xY_B.js";
6
+ import "./github-copilot-token-MztaNB-X.js";
7
+ import "./env-DtvPgpx0.js";
8
8
  import "./boolean-Ce2-qkSB.js";
9
- import "./dock-kKe_NcnH.js";
10
- import "./plugins-BlRoQxkM.js";
11
- import "./accounts-BTolatbF.js";
12
- import "./bindings-DvN5F52W.js";
13
- import "./accounts-ChDQhM8W.js";
14
- import "./image-ops-Dt4DBfSt.js";
15
- import "./pi-model-discovery-Bac05lgF.js";
16
- import "./message-channel-OmBlhvPk.js";
17
- import "./pi-embedded-helpers-CdKVCWvr.js";
18
- import "./chrome-Cj7f40oB.js";
9
+ import "./dock-XuKJoEFw.js";
10
+ import "./plugins-B-C3qr9h.js";
11
+ import "./accounts-KSS3y-Bv.js";
12
+ import "./bindings-BLXNeIUn.js";
13
+ import "./accounts-DUoPPtEk.js";
14
+ import "./image-ops-DbBTLGVA.js";
15
+ import "./pi-model-discovery-CNwW805Y.js";
16
+ import "./message-channel-CcoSZVJ1.js";
17
+ import "./pi-embedded-helpers-DHLm-aJB.js";
18
+ import "./chrome-DRKvzTHt.js";
19
19
  import "./ssrf-GR1wTjsC.js";
20
- import "./frontmatter-CfsFSA8r.js";
21
- import "./skills-BBzDIMob.js";
22
- import "./path-alias-guards-D3fAP0XC.js";
23
- import "./redact-BPCgJZrC.js";
24
- import "./errors-DFWlqkmz.js";
25
- import "./fs-safe-CghvWQE1.js";
26
- import "./store-AFxBB9gG.js";
27
- import "./sessions-BPktKBcB.js";
28
- import "./accounts-ezrP4ltx.js";
29
- import "./paths-B9RCCyOp.js";
30
- import "./tool-images-CZK-TtRa.js";
20
+ import "./frontmatter-CwUW6Nwu.js";
21
+ import "./skills-D6z7pulE.js";
22
+ import "./path-alias-guards-BLO7xCTO.js";
23
+ import "./redact-DMUgDbP-.js";
24
+ import "./errors-BrfjoXo7.js";
25
+ import "./fs-safe-zHtcvWVh.js";
26
+ import "./store-7jGBS_C7.js";
27
+ import "./sessions-BlTGNa_w.js";
28
+ import "./accounts-ByiREr_d.js";
29
+ import "./paths-CJft5x7N.js";
30
+ import "./tool-images-Bi-MLe30.js";
31
31
  import "./thinking-CJoHneR6.js";
32
- import "./image-CtOepNrn.js";
33
- import "./gemini-auth-D_LPuZx3.js";
34
- import "./fetch-guard-DdMH1ccX.js";
35
- import "./local-roots-BQIXxiyK.js";
36
- import { a as resolveMediaAttachmentLocalRoots, n as createMediaAttachmentCache, o as runCapability, r as normalizeMediaAttachments, t as buildProviderRegistry, u as isAudioAttachment } from "./runner-GuI0y-3d.js";
32
+ import "./image-BjK4IZGf.js";
33
+ import "./gemini-auth-CD0yjbft.js";
34
+ import "./fetch-guard-B1bYMSEV.js";
35
+ import "./local-roots-BAkVtSqo.js";
36
+ import { a as resolveMediaAttachmentLocalRoots, n as createMediaAttachmentCache, o as runCapability, r as normalizeMediaAttachments, t as buildProviderRegistry, u as isAudioAttachment } from "./runner-fQ7Cqlwe.js";
37
37
 
38
38
  //#region src/media-understanding/audio-preflight.ts
39
39
  /**
@@ -12,8 +12,8 @@ import "./accounts-B3_7_U80.js";
12
12
  import "./image-ops-DcJo3gSz.js";
13
13
  import "./pi-model-discovery-1zIZzPqm.js";
14
14
  import "./message-channel-UXxWuWRw.js";
15
- import "./pi-embedded-helpers-DhtLjusK.js";
16
- import "./chrome-BPqhU6aW.js";
15
+ import "./pi-embedded-helpers-qv0TOEV6.js";
16
+ import "./chrome-CBabJbzh.js";
17
17
  import "./ssrf-tlVN4FBY.js";
18
18
  import "./skills-D46-dPIG.js";
19
19
  import "./path-alias-guards-B2Y9vgvZ.js";
@@ -26,11 +26,11 @@ import "./accounts-CGuYtAYt.js";
26
26
  import "./paths-DiGhBBRl.js";
27
27
  import "./tool-images-wfxgNm5p.js";
28
28
  import "./thinking-ZaPrKXBc.js";
29
- import "./image-3J4UWANX.js";
29
+ import "./image-DRetaKqs.js";
30
30
  import "./gemini-auth-Tppo-hMQ.js";
31
31
  import "./fetch-guard-CAJSqTxQ.js";
32
32
  import "./local-roots-B24zFNoY.js";
33
- import { a as resolveMediaAttachmentLocalRoots, n as createMediaAttachmentCache, o as runCapability, r as normalizeMediaAttachments, t as buildProviderRegistry, u as isAudioAttachment } from "./runner-m6g2nRVN.js";
33
+ import { a as resolveMediaAttachmentLocalRoots, n as createMediaAttachmentCache, o as runCapability, r as normalizeMediaAttachments, t as buildProviderRegistry, u as isAudioAttachment } from "./runner-B3efSzxo.js";
34
34
 
35
35
  //#region src/media-understanding/audio-preflight.ts
36
36
  /**
@@ -1,5 +1,5 @@
1
- import { c as resolveDefaultAgentId } from "./agent-scope-BKhhNa2v.js";
2
- import { p as normalizeChatChannelId } from "./subsystem-9cvwyeIY.js";
1
+ import { c as resolveDefaultAgentId } from "./agent-scope-DsGhweE9.js";
2
+ import { p as normalizeChatChannelId } from "./subsystem-DfvFNKin.js";
3
3
  import { p as normalizeAccountId, s as normalizeAgentId } from "./session-key-CPPWn8gW.js";
4
4
 
5
5
  //#region src/routing/bindings.ts
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "2026.2.30",
3
- "commit": "f6a937100c76e1afc004a2a107216bd2ea2cde88",
4
- "builtAt": "2026-02-28T05:07:44.612Z"
2
+ "version": "2026.3.1",
3
+ "commit": "7c5aef267a9c2aa5b923407f8e5219669bfc7094",
4
+ "builtAt": "2026-03-01T02:17:44.346Z"
5
5
  }