winclaw 2026.2.30 → 2026.3.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.ja.md +79 -2
- package/README.md +79 -2
- package/README.zh-CN.md +79 -2
- package/dist/{accounts-ChDQhM8W.js → accounts-ArtHcQGR.js} +1 -1
- package/dist/{accounts-BTolatbF.js → accounts-BxVs1Om1.js} +15 -15
- package/dist/{accounts-ezrP4ltx.js → accounts-DwoPFJdz.js} +1 -1
- package/dist/{active-listener-CdWRgN6y.js → active-listener-BReNKUgT.js} +1 -1
- package/dist/{agent-scope-BKhhNa2v.js → agent-scope-USOwqW1r.js} +3 -3
- package/dist/{audio-preflight-D-hO3N6s.js → audio-preflight-4D5offsf.js} +33 -33
- package/dist/{audio-preflight-UKsaZDrx.js → audio-preflight-Ce_fCfjm.js} +4 -4
- package/dist/{bindings-DvN5F52W.js → bindings-CwtPzBig.js} +2 -2
- package/dist/build-info.json +3 -3
- package/dist/bundled/boot-md/handler.js +57 -57
- package/dist/bundled/bootstrap-extra-files/handler.js +4 -4
- package/dist/bundled/command-logger/handler.js +2 -2
- package/dist/bundled/session-memory/handler.js +57 -57
- package/dist/canvas-host/a2ui/.bundle.hash +1 -1
- package/dist/{plugin-sdk/channel-activity-D4LltVLH.js → channel-activity-DZFw_SAL.js} +3 -3
- package/dist/{chrome-BPqhU6aW.js → chrome-CBabJbzh.js} +9 -9
- package/dist/{chrome-Cj7f40oB.js → chrome-Ssvyag_k.js} +16 -16
- package/dist/{chunk-vIoZyqgp.js → chunk-DMKQVApq.js} +1 -1
- package/dist/{commands-registry-Cz7v7a7-.js → commands-registry-D0cLZoLX.js} +4 -4
- package/dist/{deliver-C7YVVaHx.js → deliver-4uGC1ZhS.js} +1 -1
- package/dist/{deliver-BjRjTbXZ.js → deliver-LtTPJGtT.js} +20 -20
- package/dist/{diagnostic-DFBIjP4k.js → diagnostic-CtHovQlg.js} +1 -1
- package/dist/{dock-kKe_NcnH.js → dock-BKOHamlJ.js} +5 -5
- package/dist/{env-DBhelVv5.js → env-CsyODmSF.js} +1 -1
- package/dist/{errors-DFWlqkmz.js → errors-CU3zW8qJ.js} +1 -1
- package/dist/extensionAPI.js +6 -6
- package/dist/{fetch-guard-DdMH1ccX.js → fetch-guard-Bzr0b0__.js} +1 -1
- package/dist/{frontmatter-CfsFSA8r.js → frontmatter-Cj9fx6TO.js} +2 -2
- package/dist/{fs-safe-CghvWQE1.js → fs-safe-C886xbc4.js} +2 -2
- package/dist/{gemini-auth-D_LPuZx3.js → gemini-auth-CAwY_tHK.js} +2 -2
- package/dist/{github-copilot-token-B99zK38w.js → github-copilot-token-MztaNB-X.js} +7 -7
- package/dist/{image-CtOepNrn.js → image-B4MEIJ9a.js} +6 -6
- package/dist/{image-3J4UWANX.js → image-DRetaKqs.js} +1 -1
- package/dist/{image-ops-Dt4DBfSt.js → image-ops-DkSSKx4B.js} +1 -1
- package/dist/{ir-DN3JQZPf.js → ir-Cx37ggGY.js} +5 -5
- package/dist/llm-slug-generator.js +57 -57
- package/dist/{local-roots-BQIXxiyK.js → local-roots-CjX8B22M.js} +5 -5
- package/dist/{login-CCLkpFRT.js → login-DEZO9mUx.js} +6 -6
- package/dist/{login-qr-CHw68xCZ.js → login-qr-3P6I2KwX.js} +9 -9
- package/dist/{manager-B23EJ3FI.js → manager-cdgNmYpG.js} +14 -14
- package/dist/{markdown-tables-BbC9al5b.js → markdown-tables-CukXzul1.js} +1 -1
- package/dist/{message-channel-OmBlhvPk.js → message-channel-DRJsq7Gb.js} +1 -1
- package/dist/{model-selection-D33yYQqp.js → model-selection-ByYiMkm1.js} +39 -39
- package/dist/{outbound-CS-fzVh4.js → outbound-DN7zcRVY.js} +6 -6
- package/dist/{outbound-attachment-DP81Qn9I.js → outbound-attachment-Baaf3Mkz.js} +2 -2
- package/dist/{path-alias-guards-D3fAP0XC.js → path-alias-guards-C10F4sUD.js} +1 -1
- package/dist/{paths-B9RCCyOp.js → paths-CJft5x7N.js} +3 -3
- package/dist/{paths-DMk7q-Ht.js → paths-DbO94QvW.js} +5 -5
- package/dist/{pi-embedded-CyBNFUWN.js → pi-embedded-CPkIrYTD.js} +17 -17
- package/dist/{pi-embedded-dKKCWlsZ.js → pi-embedded-dGbMKPhI.js} +168 -168
- package/dist/{pi-embedded-helpers-CdKVCWvr.js → pi-embedded-helpers-BB_ttJIy.js} +24 -24
- package/dist/{pi-embedded-helpers-DhtLjusK.js → pi-embedded-helpers-qv0TOEV6.js} +4 -4
- package/dist/{pi-model-discovery-Bac05lgF.js → pi-model-discovery-c3H08_oR.js} +7 -7
- package/dist/plugin-sdk/{accounts-CHsIfb9y.js → accounts-CzclEu3P.js} +2 -2
- package/dist/plugin-sdk/{accounts-Bk4j61kY.js → accounts-DJ6MY-g4.js} +1 -1
- package/dist/plugin-sdk/{accounts-_2QcMqNn.js → accounts-xTKBW-2H.js} +1 -1
- package/dist/plugin-sdk/{active-listener-sMIDB_xi.js → active-listener-KO-ZGSaF.js} +1 -1
- package/dist/plugin-sdk/{agent-scope-B1yMVDFP.js → agent-scope-B68_LO0U.js} +1 -1
- package/dist/plugin-sdk/{api-key-rotation-O83mx2o0.js → api-key-rotation-D987JQC5.js} +2 -2
- package/dist/plugin-sdk/{audio-preflight-C9BIcPUb.js → audio-preflight-7S9diigG.js} +28 -28
- package/dist/plugin-sdk/{bindings-Bi6VICja.js → bindings-DwcZ-bqF.js} +2 -2
- package/dist/{channel-activity-CJVxWXWZ.js → plugin-sdk/channel-activity-CGi3fmDF.js} +3 -3
- package/dist/plugin-sdk/{channel-web-BN-ViFjU.js → channel-web-CVTm0ooG.js} +21 -21
- package/dist/plugin-sdk/{chrome-DO1TrEpr.js → chrome-TrO9Kmgf.js} +5 -5
- package/dist/plugin-sdk/{chunk-D11BYyZk.js → chunk-BEvgBNpk.js} +1 -1
- package/dist/plugin-sdk/{command-format-DunwSwSW.js → command-format-CRM_7xab.js} +1 -1
- package/dist/plugin-sdk/{commands-registry-CUv1hQR2.js → commands-registry-B4GHdRRM.js} +4 -4
- package/dist/plugin-sdk/{config-DNnr5oZN.js → config-DrBsYGrE.js} +8 -8
- package/dist/plugin-sdk/{deliver-CiHjR7Jm.js → deliver-BhUDeqIz.js} +10 -10
- package/dist/plugin-sdk/{diagnostic-CvUJ7_Pr.js → diagnostic-Bbh6ABo7.js} +1 -1
- package/dist/plugin-sdk/{dock-CLbiTFUY.js → dock-C7Ipt0Sq.js} +5 -5
- package/dist/plugin-sdk/{errors-8Ggom-zA.js → errors-D1EFpcoK.js} +1 -1
- package/dist/plugin-sdk/{fetch-guard-Dch_jq2x.js → fetch-guard-PyQ3jiic.js} +1 -1
- package/dist/plugin-sdk/{fs-safe-Bjqabbqn.js → fs-safe-CvMXBxzF.js} +2 -2
- package/dist/plugin-sdk/{image-DlAJm0jz.js → image-U_yZGOma.js} +6 -6
- package/dist/plugin-sdk/{image-ops-Cy9MGOvE.js → image-ops-BqSetroF.js} +1 -1
- package/dist/plugin-sdk/index.js +57 -57
- package/dist/plugin-sdk/{ir-Buz6vVZg.js → ir-4wD5cb8F.js} +5 -5
- package/dist/plugin-sdk/{local-roots-BKisXrxL.js → local-roots-POtVjagR.js} +4 -4
- package/dist/plugin-sdk/{login-BdyK8USX.js → login-CYYXtemc.js} +6 -6
- package/dist/plugin-sdk/{login-qr-CePyyex2.js → login-qr-CZyBt60e.js} +6 -6
- package/dist/plugin-sdk/{manager-BiLg_E0k.js → manager-CPAAUuoY.js} +9 -9
- package/dist/plugin-sdk/{markdown-tables-CsOBJpYl.js → markdown-tables-DZt8GZ8y.js} +1 -1
- package/dist/plugin-sdk/{message-channel-SYju-4b1.js → message-channel-B6SMQJmI.js} +1 -1
- package/dist/plugin-sdk/{outbound-COWn_SQh.js → outbound-DKGoaltj.js} +6 -6
- package/dist/plugin-sdk/{outbound-attachment-CVd8CJKq.js → outbound-attachment-Cm4pTJTf.js} +2 -2
- package/dist/plugin-sdk/{path-alias-guards-D7rW0qx_.js → path-alias-guards-Dm4Ib8-Q.js} +1 -1
- package/dist/plugin-sdk/{pi-embedded-helpers-DD4GdD-3.js → pi-embedded-helpers-CxOAIAgL.js} +15 -15
- package/dist/plugin-sdk/{pi-model-discovery-DPQLrk8L.js → pi-model-discovery-DLhHbcJ5.js} +1 -1
- package/dist/plugin-sdk/{plugins-7O2sGpAc.js → plugins-CSLJ36UI.js} +4 -4
- package/dist/plugin-sdk/{pw-ai-CTM4xMEw.js → pw-ai-BJHUKdr9.js} +9 -9
- package/dist/plugin-sdk/{qmd-manager-Besf4E54.js → qmd-manager-CQ1hw5Cy.js} +4 -4
- package/dist/plugin-sdk/{query-expansion-OjeNCyp0.js → query-expansion-B713aX-4.js} +2 -2
- package/dist/plugin-sdk/{redact-CBc_rBRK.js → redact-DH2yjSff.js} +1 -1
- package/dist/plugin-sdk/{replies-CaLm78RV.js → replies-BHCFlIug.js} +3 -3
- package/dist/plugin-sdk/{reply-Bg65R8Sl.js → reply-DdeTkzNU.js} +85 -85
- package/dist/plugin-sdk/{reply-prefix-0pwVCBvU.js → reply-prefix-B4KpoTJR.js} +1 -1
- package/dist/plugin-sdk/{resolve-outbound-target-CNPq-A_l.js → resolve-outbound-target-BqPx5v2I.js} +2 -2
- package/dist/plugin-sdk/{resolve-route-ClQRJqe0.js → resolve-route-BeAwxb8T.js} +3 -3
- package/dist/plugin-sdk/{retry-D3Bk9CQL.js → retry-D8WS10rf.js} +1 -1
- package/dist/plugin-sdk/{runner-DKOJiOan.js → runner-CV1lMdnP.js} +9 -9
- package/dist/plugin-sdk/{send-B4D7Bdxv.js → send-BbG719xM.js} +12 -12
- package/dist/plugin-sdk/{send-DjcbC0ro.js → send-COS56omM.js} +7 -7
- package/dist/plugin-sdk/{send-h5JRLyC1.js → send-Ch2wcAo-.js} +6 -6
- package/dist/plugin-sdk/{send-DBqqeuKT.js → send-D3Uipj05.js} +10 -10
- package/dist/plugin-sdk/{send-Boh7dFit.js → send-D3s4g6h1.js} +7 -7
- package/dist/plugin-sdk/{session-C1qmcwpa.js → session-DTmZR4Qs.js} +4 -4
- package/dist/plugin-sdk/{sessions-0-WhcISR.js → sessions-CaJ0F1Cl.js} +5 -5
- package/dist/plugin-sdk/{skill-commands-B-B4WPOJ.js → skill-commands-DP4g0vdN.js} +4 -4
- package/dist/plugin-sdk/{skills-B-dg1yM3.js → skills-z3-k9cdw.js} +7 -7
- package/dist/plugin-sdk/{store-Biixyvcs.js → store-DkuRl7Co.js} +2 -2
- package/dist/plugin-sdk/{subsystem-CCuVNg8H.js → subsystem-IDUh0KJU.js} +2 -2
- package/dist/plugin-sdk/{tables-qwxjYm23.js → tables-Bzq2IGtb.js} +1 -1
- package/dist/plugin-sdk/{target-errors-DVPMUi9A.js → target-errors-DAaAjvEC.js} +2 -2
- package/dist/plugin-sdk/{tokens-p84oOf_N.js → tokens-BKs5HDUX.js} +1 -1
- package/dist/{tool-images-CZK-TtRa.js → plugin-sdk/tool-images-eYDI4f19.js} +2 -2
- package/dist/plugin-sdk/{tool-loop-detection-DxcpVizG.js → tool-loop-detection-DKOBDAt6.js} +1 -1
- package/dist/plugin-sdk/web-CFCRobgo.js +67 -0
- package/dist/plugin-sdk/{whatsapp-actions-CTLMaVSU.js → whatsapp-actions-D35F7hQp.js} +21 -21
- package/dist/{plugins-BlRoQxkM.js → plugins-DuIW7-rX.js} +9 -9
- package/dist/{pw-ai-D6hs_Ph8.js → pw-ai-ByD8VxUM.js} +1 -1
- package/dist/{pw-ai-hPL1b7vD.js → pw-ai-gggqMI-N.js} +12 -12
- package/dist/{qmd-manager-DvD0IpeG.js → qmd-manager-4yb6dOyi.js} +7 -7
- package/dist/{query-expansion-DEcLCIEF.js → query-expansion-DioO8Wyy.js} +5 -5
- package/dist/{redact-BPCgJZrC.js → redact-fgG7z4pW.js} +1 -1
- package/dist/{replies-mc7CfwI6.js → replies-BES8xiT7.js} +3 -3
- package/dist/{reply-prefix-CJ0CxWv2.js → reply-prefix-DUxFNcKm.js} +1 -1
- package/dist/{resolve-route-D6zyTgR-.js → resolve-route-Ctj8khB-.js} +4 -4
- package/dist/{retry-CHTJmLNz.js → retry-DIjqOUla.js} +1 -1
- package/dist/{runner-m6g2nRVN.js → runner-B3efSzxo.js} +1 -1
- package/dist/{runner-GuI0y-3d.js → runner-MX89mn4W.js} +10 -10
- package/dist/{send-B9umgLXE.js → send-41EwH60c.js} +7 -7
- package/dist/{send-BouszQLW.js → send-7l_zuciz.js} +7 -7
- package/dist/{send-CtpDugBB.js → send-Cv1mMZTi.js} +6 -6
- package/dist/{send-Bf5kgoh6.js → send-DGvFGSsM.js} +10 -10
- package/dist/{send-Cgh2qjMs.js → send-XPgXahls.js} +23 -23
- package/dist/{session-BPrlEB9i.js → session-DWZ3YtkD.js} +8 -8
- package/dist/{sessions-BPktKBcB.js → sessions-C0JFMRw2.js} +40 -40
- package/dist/{skill-commands-548Uv6Ql.js → skill-commands-DU11Z7Ae.js} +8 -8
- package/dist/{skills-BBzDIMob.js → skills-13BFFBMO.js} +21 -21
- package/dist/{store-AFxBB9gG.js → store-C1aD4Cuf.js} +2 -2
- package/dist/{subsystem-9cvwyeIY.js → subsystem-C-DohXVG.js} +18 -18
- package/dist/{tables-Cs-g5aZO.js → tables-DL5LqNCG.js} +1 -1
- package/dist/{target-errors-DTNlQpun.js → target-errors-BXZMhEEV.js} +2 -2
- package/dist/{tokens-CaQbbmVM.js → tokens--8T_M0it.js} +1 -1
- package/dist/{plugin-sdk/tool-images--q3hjox_.js → tool-images-BRLoVoR_.js} +2 -2
- package/dist/{tool-loop-detection-UVXxn3bc.js → tool-loop-detection-CGRlRvbz.js} +2 -2
- package/dist/{web-C_nBTvtH.js → web-B0FuEdXj.js} +6 -6
- package/dist/{web-BRcS7Qrk.js → web-Cv_4cj3_.js} +61 -61
- package/dist/{whatsapp-actions-BrrWBrsa.js → whatsapp-actions-DYhLTOWF.js} +23 -23
- package/dist/{workspace-DHoRQzjU.js → workspace-CDoOpbwN.js} +17 -17
- package/package.json +1 -1
- package/skills/aliyun-cloud-deploy/SKILL.md +1066 -0
- package/skills/aliyun-cloud-deploy/assets/ros-base-templates/ack-container.yml +582 -0
- package/skills/aliyun-cloud-deploy/assets/ros-base-templates/ecs-lite.yml +270 -0
- package/skills/aliyun-cloud-deploy/assets/ros-base-templates/ecs-rds-standard.yml +419 -0
- package/skills/aliyun-cloud-deploy/assets/ros-base-templates/ecs-redis.yml +252 -0
- package/skills/aliyun-cloud-deploy/assets/ros-base-templates/ecs-slb.yml +355 -0
- package/skills/aliyun-cloud-deploy/assets/ros-base-templates/fc-serverless.yml +564 -0
- package/skills/aliyun-cloud-deploy/assets/ros-base-templates/fc.yml +241 -0
- package/skills/aliyun-cloud-deploy/assets/ros-base-templates/internet-industry-high-elastic-system-construction.yml +1609 -0
- package/skills/aliyun-cloud-deploy/assets/ros-base-templates/scaling-ecs.yml +275 -0
- package/skills/aliyun-cloud-deploy/assets/ros-base-templates/single-website-on-cloud-cloud-architecture.yml +786 -0
- package/skills/aliyun-cloud-deploy/assets/ros-base-templates/vpc-natgateway-eip.yml +107 -0
- package/skills/aliyun-cloud-deploy/references/aliyun-deployment-health-issues.md +627 -0
- package/skills/aliyun-cloud-deploy/references/architecture-patterns.md +212 -0
- package/skills/aliyun-cloud-deploy/references/deployment-checklist.md +235 -0
- package/skills/aliyun-cloud-deploy/references/pricing-guide.md +114 -0
- package/skills/aliyun-cloud-deploy/references/resource-reference.md +953 -0
- package/skills/aliyun-cloud-deploy/references/ros-template-catalog.md +109 -0
- package/skills/aliyun-cloud-deploy/references/security-tiers.md +150 -0
- package/skills/aliyun-cloud-deploy/references/solution-patterns.md +264 -0
- package/skills/aliyun-cloud-deploy/scripts/analyze_requirements.py +564 -0
- package/skills/aliyun-cloud-deploy/scripts/detect_project.py +236 -0
- package/skills/aliyun-cloud-deploy/scripts/estimate_cost.py +112 -0
- package/skills/aliyun-cloud-deploy/scripts/generate_deploy_script.py +932 -0
- package/skills/aliyun-cloud-deploy/scripts/generate_ros_template.py +1261 -0
- package/skills/aliyun-cloud-deploy/scripts/validate_template.py +496 -0
- package/skills/aws-cloud-deploy/SKILL.md +965 -0
- package/skills/aws-cloud-deploy/assets/cfn-base-templates/alb-asg-rds-ha.yaml +554 -0
- package/skills/aws-cloud-deploy/assets/cfn-base-templates/asg-elasticache-elastic.yaml +689 -0
- package/skills/aws-cloud-deploy/assets/cfn-base-templates/ec2-lite.yaml +228 -0
- package/skills/aws-cloud-deploy/assets/cfn-base-templates/ec2-rds-standard.yaml +447 -0
- package/skills/aws-cloud-deploy/assets/cfn-base-templates/eks-container.yaml +476 -0
- package/skills/aws-cloud-deploy/assets/cfn-base-templates/elasticache-redis.yaml +153 -0
- package/skills/aws-cloud-deploy/assets/cfn-base-templates/lambda-serverless.yaml +399 -0
- package/skills/aws-cloud-deploy/assets/cfn-base-templates/rds-standalone.yaml +237 -0
- package/skills/aws-cloud-deploy/assets/cfn-base-templates/s3-bucket.yaml +200 -0
- package/skills/aws-cloud-deploy/assets/cfn-base-templates/vpc-sg-base.yaml +274 -0
- package/skills/aws-cloud-deploy/references/architecture-patterns.md +700 -0
- package/skills/aws-cloud-deploy/references/aws-deployment-health-issues.md +553 -0
- package/skills/aws-cloud-deploy/references/cfn-template-catalog.md +680 -0
- package/skills/aws-cloud-deploy/references/deployment-checklist.md +761 -0
- package/skills/aws-cloud-deploy/references/pricing-guide.md +787 -0
- package/skills/aws-cloud-deploy/references/resource-reference.md +1746 -0
- package/skills/aws-cloud-deploy/references/security-tiers.md +661 -0
- package/skills/aws-cloud-deploy/references/service-selection-guide.md +539 -0
- package/skills/aws-cloud-deploy/references/solution-patterns.md +870 -0
- package/skills/aws-cloud-deploy/scripts/analyze_requirements.py +537 -0
- package/skills/aws-cloud-deploy/scripts/detect_project.py +236 -0
- package/skills/aws-cloud-deploy/scripts/estimate_cost.py +116 -0
- package/skills/aws-cloud-deploy/scripts/generate_cfn_template.py +1123 -0
- package/skills/aws-cloud-deploy/scripts/generate_deploy_script.py +467 -0
- package/skills/aws-cloud-deploy/scripts/test_e2e.py +283 -0
- package/skills/aws-cloud-deploy/scripts/validate_template.py +400 -0
- package/skills/azure-cloud-deploy/SKILL.md +657 -0
- package/skills/azure-cloud-deploy/assets/arm-base-templates/aks-container.json +113 -0
- package/skills/azure-cloud-deploy/assets/arm-base-templates/appservice-db-standard.json +139 -0
- package/skills/azure-cloud-deploy/assets/arm-base-templates/appservice-ha.json +236 -0
- package/skills/azure-cloud-deploy/assets/arm-base-templates/db-flexible-server.json +80 -0
- package/skills/azure-cloud-deploy/assets/arm-base-templates/functions-serverless.json +109 -0
- package/skills/azure-cloud-deploy/assets/arm-base-templates/redis-cache.json +45 -0
- package/skills/azure-cloud-deploy/assets/arm-base-templates/storage-account.json +34 -0
- package/skills/azure-cloud-deploy/assets/arm-base-templates/vm-lite.json +190 -0
- package/skills/azure-cloud-deploy/assets/arm-base-templates/vmss-elastic.json +228 -0
- package/skills/azure-cloud-deploy/assets/arm-base-templates/vnet-nsg-base.json +55 -0
- package/skills/azure-cloud-deploy/references/architecture-patterns.md +155 -0
- package/skills/azure-cloud-deploy/references/arm-template-catalog.md +162 -0
- package/skills/azure-cloud-deploy/references/azure-deployment-health-issues-v2.md +717 -0
- package/skills/azure-cloud-deploy/references/deployment-checklist.md +391 -0
- package/skills/azure-cloud-deploy/references/pricing-guide.md +101 -0
- package/skills/azure-cloud-deploy/references/resource-reference.md +415 -0
- package/skills/azure-cloud-deploy/references/security-tiers.md +32 -0
- package/skills/azure-cloud-deploy/references/service-selection-guide.md +265 -0
- package/skills/azure-cloud-deploy/references/solution-patterns.md +330 -0
- package/skills/azure-cloud-deploy/scripts/analyze_requirements.py +537 -0
- package/skills/azure-cloud-deploy/scripts/detect_project.py +236 -0
- package/skills/azure-cloud-deploy/scripts/estimate_cost.py +116 -0
- package/skills/azure-cloud-deploy/scripts/generate_arm_template.py +1181 -0
- package/skills/azure-cloud-deploy/scripts/generate_deploy_script.py +599 -0
- package/skills/azure-cloud-deploy/scripts/test_e2e.py +275 -0
- package/skills/azure-cloud-deploy/scripts/validate_template.py +381 -0
- package/skills/blog-publisher/SKILL.md +453 -0
- package/skills/blog-publisher/references/blogger-html-template.html +35 -0
- package/skills/blog-publisher/references/markdown-to-html.md +50 -0
- package/skills/blog-publisher/references/platform-selectors.json +97 -0
- package/skills/evolver/CONTRIBUTING.md +11 -0
- package/skills/evolver/LICENSE +22 -0
- package/skills/evolver/README.md +237 -0
- package/skills/evolver/README.zh-CN.md +202 -0
- package/skills/evolver/SKILL.md +110 -0
- package/skills/evolver/assets/cover.png +0 -0
- package/skills/evolver/assets/gep/capsules.json +79 -0
- package/skills/evolver/assets/gep/events.jsonl +7 -0
- package/skills/evolver/assets/gep/failed_capsules.json +4 -0
- package/skills/evolver/assets/gep/genes.json +108 -0
- package/skills/evolver/assets/gep/genes.jsonl +0 -0
- package/skills/evolver/index.js +285 -0
- package/skills/evolver/package-lock.json +28 -0
- package/skills/evolver/package.json +28 -0
- package/skills/evolver/scripts/a2a_export.js +63 -0
- package/skills/evolver/scripts/a2a_ingest.js +79 -0
- package/skills/evolver/scripts/a2a_promote.js +118 -0
- package/skills/evolver/scripts/analyze_by_skill.js +121 -0
- package/skills/evolver/scripts/build_public.js +354 -0
- package/skills/evolver/scripts/extract_log.js +85 -0
- package/skills/evolver/scripts/generate_history.js +75 -0
- package/skills/evolver/scripts/gep_append_event.js +96 -0
- package/skills/evolver/scripts/gep_personality_report.js +234 -0
- package/skills/evolver/scripts/human_report.js +147 -0
- package/skills/evolver/scripts/publish_public.js +614 -0
- package/skills/evolver/scripts/recover_loop.js +61 -0
- package/skills/evolver/scripts/suggest_version.js +89 -0
- package/skills/evolver/scripts/validate-modules.js +8 -0
- package/skills/evolver/src/canary.js +13 -0
- package/skills/evolver/src/evolve.js +1571 -0
- package/skills/evolver/src/gep/a2a.js +173 -0
- package/skills/evolver/src/gep/a2aProtocol.js +560 -0
- package/skills/evolver/src/gep/analyzer.js +35 -0
- package/skills/evolver/src/gep/assetStore.js +297 -0
- package/skills/evolver/src/gep/assets.js +36 -0
- package/skills/evolver/src/gep/bridge.js +71 -0
- package/skills/evolver/src/gep/candidates.js +142 -0
- package/skills/evolver/src/gep/contentHash.js +65 -0
- package/skills/evolver/src/gep/deviceId.js +209 -0
- package/skills/evolver/src/gep/envFingerprint.js +68 -0
- package/skills/evolver/src/gep/hubSearch.js +133 -0
- package/skills/evolver/src/gep/memoryGraph.js +771 -0
- package/skills/evolver/src/gep/memoryGraphAdapter.js +203 -0
- package/skills/evolver/src/gep/mutation.js +186 -0
- package/skills/evolver/src/gep/paths.js +67 -0
- package/skills/evolver/src/gep/personality.js +355 -0
- package/skills/evolver/src/gep/prompt.js +539 -0
- package/skills/evolver/src/gep/questionGenerator.js +212 -0
- package/skills/evolver/src/gep/sanitize.js +67 -0
- package/skills/evolver/src/gep/selector.js +242 -0
- package/skills/evolver/src/gep/signals.js +417 -0
- package/skills/evolver/src/gep/skillDistiller.js +499 -0
- package/skills/evolver/src/gep/solidify.js +1470 -0
- package/skills/evolver/src/gep/strategy.js +126 -0
- package/skills/evolver/src/gep/taskReceiver.js +373 -0
- package/skills/evolver/src/gep/validationReport.js +55 -0
- package/skills/evolver/src/ops/cleanup.js +109 -0
- package/skills/evolver/src/ops/commentary.js +60 -0
- package/skills/evolver/src/ops/health_check.js +106 -0
- package/skills/evolver/src/ops/index.js +11 -0
- package/skills/evolver/src/ops/innovation.js +67 -0
- package/skills/evolver/src/ops/lifecycle.js +168 -0
- package/skills/evolver/src/ops/self_repair.js +72 -0
- package/skills/evolver/src/ops/skills_monitor.js +143 -0
- package/skills/evolver/src/ops/trigger.js +33 -0
- package/skills/evolver/test/a2aProtocol.test.js +134 -0
- package/skills/evolver/test/contentHash.test.js +106 -0
- package/skills/evolver/test/envFingerprint.test.js +89 -0
- package/skills/evolver/test/mutation.test.js +142 -0
- package/skills/evolver/test/sanitize.test.js +90 -0
- package/skills/evolver/test/selector.test.js +124 -0
- package/skills/evolver/test/signals.test.js +217 -0
- package/skills/evolver/test/skillDistiller.test.js +486 -0
- package/skills/evolver/test/strategy.test.js +133 -0
- package/skills/evolver/test/validationReport.test.js +148 -0
- 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.
|
|
27
|
+
1. [SourceForge](https://sourceforge.net/projects/winclaw/files/WinClawSetup-2026.3.2.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 での開発ワークフローを大幅に強化する
|
|
218
|
+
WinClaw には、Windows PC での開発ワークフローを大幅に強化する 5 つの強力な自動化スキルが搭載されています。
|
|
219
219
|
|
|
220
220
|
### 🧪 AI Dev System Testing — Web アプリ自動テスト
|
|
221
221
|
|
|
@@ -347,6 +347,83 @@ $env:TEST_USER_PASSWORD = "YourTestPassword123"
|
|
|
347
347
|
|
|
348
348
|
---
|
|
349
349
|
|
|
350
|
+
### ☁️ クラウドデプロイスキル — AWS・Azure・Alibaba Cloud へワンコマンドデプロイ
|
|
351
|
+
|
|
352
|
+
WinClaw には 3 つのクラウドデプロイスキルが内蔵されており、シンプルなインフラ構成からエンタープライズ級のセキュリティアーキテクチャまで、WinClaw Chat での自然な会話で完了できます。各スキルは要件ヒアリング → アーキテクチャ設計 → インフラ構築 → コードデプロイ → デプロイ後検証の全工程をガイドします。エンタープライズレベルのセキュリティが必要な場合は、`/architecture` コマンド(Engineering Plugin)を自動呼び出しし、包括的なセキュリティアーキテクチャ(WAF、DDoS 対策、KMS、IAM、脅威検知、コンプライアンス監視)を設計してからデプロイします。
|
|
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
|
+
Enterprise セキュリティ? → /architecture で ADR 設計を自動実行
|
|
378
|
+
Phase 2: 設計 & 承認 → アーキテクチャ推薦、コスト見積表示、ユーザー承認取得
|
|
379
|
+
Phase 3A: インフラ構築 → IaC テンプレート生成&検証、CLI またはコンソールでデプロイ
|
|
380
|
+
Phase 3B: コードデプロイ → デプロイスクリプト生成、SCP/Docker/kubectl/CLI 実行
|
|
381
|
+
Phase 3C: 検証 & 自動修復 → ヘルスチェック → エラー診断 → 自動修復 → 再デプロイ(ループ)
|
|
382
|
+
Phase 3D: レポート → アクセス URL 付きデプロイレポート生成
|
|
383
|
+
```
|
|
384
|
+
|
|
385
|
+
> **自動リカバリ:** Phase 3C の検証でエラーが検出された場合(HTTP 障害、サービスクラッシュ、リソース設定ミス)、WinClaw が自動的にログを分析し、根本原因を特定して修正を適用し、再デプロイを実行します。すべてのヘルスチェックに合格するまでこのサイクルを繰り返します。手動操作が必要な場合(DNS 設定、IAM 権限など)は、ステップバイステップのガイダンスを提示し、迅速な解決のために最小限のユーザー協力を求めます。
|
|
386
|
+
|
|
387
|
+
#### 前提条件 — クラウド CLI 認証の事前設定
|
|
388
|
+
|
|
389
|
+
**これらのスキルを使用する前に、クラウド CLI の認証設定が必要です。** WinClaw はクレデンシャルの入力を求めません — ターミナル環境で事前に設定してください。
|
|
390
|
+
|
|
391
|
+
| プロバイダー | 認証コマンド | 確認コマンド |
|
|
392
|
+
|-------------|------------|------------|
|
|
393
|
+
| AWS | `aws configure`(Access Key + Secret Key) | `aws sts get-caller-identity` |
|
|
394
|
+
| Azure | `az login`(ブラウザ SSO 認証) | `az account show` |
|
|
395
|
+
| Alibaba Cloud | `aliyun configure`(Access Key + Secret Key) | `aliyun sts GetCallerIdentity` |
|
|
396
|
+
|
|
397
|
+
> **セキュリティ注意:** クレデンシャルを WinClaw Chat に直接貼り付けないでください。認証は必ずクラウドプロバイダーの CLI ツールを使ってターミナルで設定してください。WinClaw は CLI 環境から事前設定済みのクレデンシャルを読み取り、保存することはありません。
|
|
398
|
+
|
|
399
|
+
#### 使い方
|
|
400
|
+
|
|
401
|
+
1. **開始** — WinClaw に伝える:*「AWS にデプロイして」*(Azure / Alibaba Cloud も同様)
|
|
402
|
+
2. **質問に回答** — WinClaw がプロジェクトを検出し、予算・トラフィック・DB・セキュリティ要件を質問
|
|
403
|
+
3. **セキュリティ設計** *(必要時)* — エンタープライズ要件がある場合、`/architecture` を自動呼び出しし、WAF・KMS・IAM・脅威検知・コンプライアンスを設計
|
|
404
|
+
4. **設計レビュー** — 推奨アーキテクチャとコスト内訳を確認。承認または調整
|
|
405
|
+
5. **デプロイ** — WinClaw がインフラテンプレートを生成し、リソースをプロビジョニングし、コードをデプロイ
|
|
406
|
+
6. **自動検証 & 修復** — ヘルスチェックを実行し、エラー検出時は自動診断・修復・再デプロイ。手動操作が必要な場合のみユーザーに簡単な協力を依頼
|
|
407
|
+
|
|
408
|
+
```
|
|
409
|
+
あなた: Express アプリを AWS にデプロイして、予算は月 $100 くらい
|
|
410
|
+
WinClaw: Node.js/Express プロジェクトを検出しました(ポート 3000)。
|
|
411
|
+
最適なアーキテクチャを設計するため、いくつか質問します…
|
|
412
|
+
[トラフィック、データベース、セキュリティについて質問]
|
|
413
|
+
…
|
|
414
|
+
推奨: Standard パターン(EC2 + ALB + RDS MySQL)
|
|
415
|
+
推定コスト: $71.62/月 — 承認しますか?
|
|
416
|
+
あなた: はい、デプロイして
|
|
417
|
+
WinClaw: [CloudFormation 生成 → スタックデプロイ → コード SCP → ヘルスチェック]
|
|
418
|
+
⚠ ヘルスチェックで HTTP 502 を検出 — 調査中…
|
|
419
|
+
原因: PM2 起動失敗(ecosystem.config.js 不足)
|
|
420
|
+
[自動修復: 設定ファイル生成 → 再デプロイ → 再チェック]
|
|
421
|
+
✅ すべてのヘルスチェックに合格しました!
|
|
422
|
+
デプロイ完了!アクセス URL: http://my-app-alb-123.us-east-1.elb.amazonaws.com/
|
|
423
|
+
```
|
|
424
|
+
|
|
425
|
+
---
|
|
426
|
+
|
|
350
427
|
## 組み込みプラグイン
|
|
351
428
|
|
|
352
429
|
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.
|
|
34
|
+
[SourceForge](https://sourceforge.net/projects/winclaw/files/WinClawSetup-2026.3.2.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
|
|
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,83 @@ 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 handle everything from simple infrastructure to complex security architectures — all through natural conversation in WinClaw Chat. Each skill guides you from requirements gathering through architecture design, infrastructure provisioning, code deployment, and post-deployment verification. For enterprise-grade security needs, the skills automatically invoke the `/architecture` command (Engineering Plugin) to design comprehensive security architectures (WAF, DDoS protection, KMS, IAM, threat detection, compliance monitoring) before deployment.
|
|
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
|
+
Enterprise security? → Auto-invoke /architecture for ADR design
|
|
395
|
+
Phase 2: Plan & Approve → Recommend architecture, show cost estimate, get user approval
|
|
396
|
+
Phase 3A: Infrastructure → Generate & validate IaC template, deploy via CLI or Console
|
|
397
|
+
Phase 3B: Code Deploy → Generate deploy script, SCP/Docker/kubectl/CLI deployment
|
|
398
|
+
Phase 3C: Verify & Fix → Health check → diagnose errors → auto-fix → re-deploy (loop)
|
|
399
|
+
Phase 3D: Report → Generate deployment report with access URLs and next steps
|
|
400
|
+
```
|
|
401
|
+
|
|
402
|
+
> **Auto-Recovery:** If Phase 3C verification detects errors (HTTP failures, service crashes, misconfigured resources), WinClaw automatically analyzes logs, identifies root causes, applies fixes, and re-deploys — repeating until all health checks pass. When manual intervention is needed (e.g., DNS configuration, IAM permissions), WinClaw provides step-by-step guidance and requests minimal user assistance to resolve quickly.
|
|
403
|
+
|
|
404
|
+
#### Prerequisites — Cloud CLI Authentication
|
|
405
|
+
|
|
406
|
+
**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.
|
|
407
|
+
|
|
408
|
+
| Provider | Authentication Command | Verification |
|
|
409
|
+
|----------|----------------------|-------------|
|
|
410
|
+
| AWS | `aws configure` (Access Key + Secret Key) | `aws sts get-caller-identity` |
|
|
411
|
+
| Azure | `az login` (browser-based SSO) | `az account show` |
|
|
412
|
+
| Alibaba Cloud | `aliyun configure` (Access Key + Secret Key) | `aliyun sts GetCallerIdentity` |
|
|
413
|
+
|
|
414
|
+
> **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.
|
|
415
|
+
|
|
416
|
+
#### How to Use
|
|
417
|
+
|
|
418
|
+
1. **Start** — Tell WinClaw: *"Deploy my project to AWS"* (or Azure / Alibaba Cloud)
|
|
419
|
+
2. **Answer questions** — WinClaw detects your project and asks about budget, traffic, DB, security needs
|
|
420
|
+
3. **Security design** *(if needed)* — For enterprise requirements, WinClaw auto-invokes `/architecture` to design WAF, KMS, IAM, threat detection, and compliance architecture
|
|
421
|
+
4. **Review plan** — WinClaw recommends an architecture with cost breakdown. Approve or adjust
|
|
422
|
+
5. **Deploy** — WinClaw generates infrastructure templates, provisions resources, deploys your code
|
|
423
|
+
6. **Auto-verify & fix** — WinClaw runs health checks; if errors are found, it diagnoses, fixes, and re-deploys automatically until all checks pass. Requests simple user assistance only when manual steps are needed
|
|
424
|
+
|
|
425
|
+
```
|
|
426
|
+
You: Deploy my Express app to AWS, budget around $100/month
|
|
427
|
+
WinClaw: I detected a Node.js/Express project (port 3000).
|
|
428
|
+
Let me ask a few questions to design the right architecture...
|
|
429
|
+
[Asks about traffic, database, security needs]
|
|
430
|
+
...
|
|
431
|
+
Recommended: Standard pattern (EC2 + ALB + RDS MySQL)
|
|
432
|
+
Estimated cost: $71.62/month — Approve?
|
|
433
|
+
You: Yes, deploy it
|
|
434
|
+
WinClaw: [Generates CloudFormation → Deploys stack → SCP code → Health check]
|
|
435
|
+
⚠ Health check returned HTTP 502 — investigating...
|
|
436
|
+
Root cause: PM2 not starting (missing ecosystem.config.js)
|
|
437
|
+
[Auto-fix: generates config → re-deploys → re-checks]
|
|
438
|
+
✅ All health checks passed!
|
|
439
|
+
Deployment complete! Access URL: http://my-app-alb-123.us-east-1.elb.amazonaws.com/
|
|
440
|
+
```
|
|
441
|
+
|
|
442
|
+
---
|
|
443
|
+
|
|
367
444
|
## Featured Plugins
|
|
368
445
|
|
|
369
446
|
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
|
+
1. 从 [SourceForge](https://sourceforge.net/projects/winclaw/files/WinClawSetup-2026.3.2.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
|
|
212
|
+
WinClaw 内置了五个强大的自动化技能,大幅提升你在 Windows PC 上的开发效率。
|
|
213
213
|
|
|
214
214
|
### 🧪 AI Dev System Testing — Web 应用自动化测试
|
|
215
215
|
|
|
@@ -341,6 +341,83 @@ $env:TEST_USER_PASSWORD = "YourTestPassword123"
|
|
|
341
341
|
|
|
342
342
|
---
|
|
343
343
|
|
|
344
|
+
### ☁️ 云部署技能 — 一键部署到 AWS、Azure 和阿里云
|
|
345
|
+
|
|
346
|
+
WinClaw 内置三个云部署技能,从简单的基础设施到复杂的企业级安全架构,通过 WinClaw Chat 中的自然语言对话即可全部搞定。每个技能涵盖需求分析 → 架构设计 → 基础设施搭建 → 代码部署 → 部署后验证的完整流程。当需要企业级安全时,技能会自动调用 `/architecture` 命令(Engineering Plugin)设计完善的安全架构(WAF、DDoS 防护、KMS、IAM、威胁检测、合规监控),然后再执行部署。
|
|
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
|
+
企业级安全? → 自动调用 /architecture 设计安全 ADR
|
|
372
|
+
Phase 2: 方案设计 → 推荐架构方案,展示费用估算表,获取用户确认
|
|
373
|
+
Phase 3A: 基础设施部署 → 生成并验证 IaC 模板,通过 CLI 或控制台部署
|
|
374
|
+
Phase 3B: 代码部署 → 生成部署脚本,执行 SCP/Docker/kubectl/CLI 部署
|
|
375
|
+
Phase 3C: 验证与自动修复 → 健康检查 → 错误诊断 → 自动修复 → 重新部署(循环)
|
|
376
|
+
Phase 3D: 部署报告 → 生成包含访问 URL 和后续步骤的部署报告
|
|
377
|
+
```
|
|
378
|
+
|
|
379
|
+
> **自动恢复:** 当 Phase 3C 验证检测到错误(HTTP 故障、服务崩溃、资源配置错误)时,WinClaw 会自动分析日志、定位根因、应用修复并重新部署 —— 循环执行直到所有健康检查通过。当需要人工干预时(如 DNS 配置、IAM 权限),WinClaw 会提供详细的分步指导,请求用户提供简单协助以快速完成部署。
|
|
380
|
+
|
|
381
|
+
#### 前提条件 — 云平台 CLI 认证配置
|
|
382
|
+
|
|
383
|
+
**使用云部署技能前,必须预先配置好云平台 CLI 认证。** WinClaw 不会在聊天中要求你输入凭据 — 请在终端环境中提前完成认证配置。
|
|
384
|
+
|
|
385
|
+
| 云平台 | 认证命令 | 验证命令 |
|
|
386
|
+
|--------|---------|---------|
|
|
387
|
+
| AWS | `aws configure`(Access Key + Secret Key) | `aws sts get-caller-identity` |
|
|
388
|
+
| Azure | `az login`(浏览器 SSO 认证) | `az account show` |
|
|
389
|
+
| 阿里云 | `aliyun configure`(Access Key + Secret Key) | `aliyun sts GetCallerIdentity` |
|
|
390
|
+
|
|
391
|
+
> **安全提示:** 切勿将凭据直接粘贴到 WinClaw Chat 中。请务必通过云平台的 CLI 工具在终端中配置认证。WinClaw 只会从 CLI 环境中读取已配置的凭据,不会存储任何敏感信息。
|
|
392
|
+
|
|
393
|
+
#### 使用方法
|
|
394
|
+
|
|
395
|
+
1. **启动** — 告诉 WinClaw:*"把我的项目部署到 AWS"*(Azure / 阿里云同理)
|
|
396
|
+
2. **回答问题** — WinClaw 检测项目类型后,询问预算、流量、数据库、安全需求
|
|
397
|
+
3. **安全设计** *(按需)* — 企业级需求时,自动调用 `/architecture` 设计 WAF、KMS、IAM、威胁检测、合规架构
|
|
398
|
+
4. **审核方案** — WinClaw 推荐架构并展示费用明细,确认或调整
|
|
399
|
+
5. **执行部署** — WinClaw 生成基础设施模板,创建云资源,部署应用代码
|
|
400
|
+
6. **自动验证与修复** — 执行健康检查,发现错误时自动诊断、修复并重新部署,直到全部通过。仅在需要人工操作时请求用户简单协助
|
|
401
|
+
|
|
402
|
+
```
|
|
403
|
+
你: 把我的 Express 应用部署到 AWS,预算每月 $100 左右
|
|
404
|
+
WinClaw: 检测到 Node.js/Express 项目(端口 3000)。
|
|
405
|
+
为了设计最佳架构,我需要问你几个问题…
|
|
406
|
+
[询问流量、数据库、安全需求]
|
|
407
|
+
…
|
|
408
|
+
推荐:Standard 模式(EC2 + ALB + RDS MySQL)
|
|
409
|
+
预估费用:$71.62/月 — 确认部署吗?
|
|
410
|
+
你: 确认,开始部署
|
|
411
|
+
WinClaw: [生成 CloudFormation → 部署堆栈 → SCP 代码 → 健康检查]
|
|
412
|
+
⚠ 健康检查返回 HTTP 502 — 正在排查…
|
|
413
|
+
根因:PM2 启动失败(缺少 ecosystem.config.js)
|
|
414
|
+
[自动修复:生成配置文件 → 重新部署 → 再次检查]
|
|
415
|
+
✅ 所有健康检查已通过!
|
|
416
|
+
部署完成!访问地址:http://my-app-alb-123.us-east-1.elb.amazonaws.com/
|
|
417
|
+
```
|
|
418
|
+
|
|
419
|
+
---
|
|
420
|
+
|
|
344
421
|
## 内置插件
|
|
345
422
|
|
|
346
423
|
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-
|
|
2
|
+
import { h as createAccountListHelpers } from "./accounts-BxVs1Om1.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-
|
|
2
|
-
import { P as jidToE164, Y as info, at as getChildLogger, et as success, r as defaultRuntime, z as resolveUserPath } from "./subsystem-
|
|
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-C-DohXVG.js";
|
|
3
3
|
import { f as DEFAULT_ACCOUNT_ID, p as normalizeAccountId } from "./session-key-CPPWn8gW.js";
|
|
4
|
-
import { n as formatCliCommand } from "./env-
|
|
4
|
+
import { n as formatCliCommand } from "./env-CsyODmSF.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
|
|
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 =
|
|
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 (!
|
|
57
|
-
const stats =
|
|
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
|
|
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
|
-
|
|
77
|
+
fs$1.copyFileSync(backupPath, credsPath);
|
|
78
78
|
try {
|
|
79
|
-
|
|
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 (!
|
|
135
|
+
if (!fs$1.existsSync(credsPath)) return {
|
|
136
136
|
e164: null,
|
|
137
137
|
jid: null
|
|
138
138
|
};
|
|
139
|
-
const raw =
|
|
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 =
|
|
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 =
|
|
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
|
|
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 { p as normalizeAccountId } from "./session-key-CPPWn8gW.js";
|
|
2
|
-
import { h as createAccountListHelpers } from "./accounts-
|
|
2
|
+
import { h as createAccountListHelpers } from "./accounts-BxVs1Om1.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 { f as DEFAULT_ACCOUNT_ID } from "./session-key-CPPWn8gW.js";
|
|
2
|
-
import { n as formatCliCommand } from "./env-
|
|
2
|
+
import { n as formatCliCommand } from "./env-CsyODmSF.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-
|
|
2
|
-
import { t as createSubsystemLogger, z as resolveUserPath } from "./subsystem-
|
|
1
|
+
import { s as resolveStateDir } from "./paths-DbO94QvW.js";
|
|
2
|
+
import { t as createSubsystemLogger, z as resolveUserPath } from "./subsystem-C-DohXVG.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-
|
|
4
|
+
import { p as resolveDefaultAgentWorkspaceDir } from "./workspace-CDoOpbwN.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-
|
|
2
|
-
import "./paths-
|
|
3
|
-
import { $ as shouldLogVerbose, X as logVerbose } from "./subsystem-
|
|
4
|
-
import "./workspace-
|
|
5
|
-
import "./model-selection-
|
|
6
|
-
import "./github-copilot-token-
|
|
7
|
-
import "./env-
|
|
1
|
+
import "./agent-scope-USOwqW1r.js";
|
|
2
|
+
import "./paths-DbO94QvW.js";
|
|
3
|
+
import { $ as shouldLogVerbose, X as logVerbose } from "./subsystem-C-DohXVG.js";
|
|
4
|
+
import "./workspace-CDoOpbwN.js";
|
|
5
|
+
import "./model-selection-ByYiMkm1.js";
|
|
6
|
+
import "./github-copilot-token-MztaNB-X.js";
|
|
7
|
+
import "./env-CsyODmSF.js";
|
|
8
8
|
import "./boolean-Ce2-qkSB.js";
|
|
9
|
-
import "./dock-
|
|
10
|
-
import "./plugins-
|
|
11
|
-
import "./accounts-
|
|
12
|
-
import "./bindings-
|
|
13
|
-
import "./accounts-
|
|
14
|
-
import "./image-ops-
|
|
15
|
-
import "./pi-model-discovery-
|
|
16
|
-
import "./message-channel-
|
|
17
|
-
import "./pi-embedded-helpers-
|
|
18
|
-
import "./chrome-
|
|
9
|
+
import "./dock-BKOHamlJ.js";
|
|
10
|
+
import "./plugins-DuIW7-rX.js";
|
|
11
|
+
import "./accounts-BxVs1Om1.js";
|
|
12
|
+
import "./bindings-CwtPzBig.js";
|
|
13
|
+
import "./accounts-ArtHcQGR.js";
|
|
14
|
+
import "./image-ops-DkSSKx4B.js";
|
|
15
|
+
import "./pi-model-discovery-c3H08_oR.js";
|
|
16
|
+
import "./message-channel-DRJsq7Gb.js";
|
|
17
|
+
import "./pi-embedded-helpers-BB_ttJIy.js";
|
|
18
|
+
import "./chrome-Ssvyag_k.js";
|
|
19
19
|
import "./ssrf-GR1wTjsC.js";
|
|
20
|
-
import "./frontmatter-
|
|
21
|
-
import "./skills-
|
|
22
|
-
import "./path-alias-guards-
|
|
23
|
-
import "./redact-
|
|
24
|
-
import "./errors-
|
|
25
|
-
import "./fs-safe-
|
|
26
|
-
import "./store-
|
|
27
|
-
import "./sessions-
|
|
28
|
-
import "./accounts-
|
|
29
|
-
import "./paths-
|
|
30
|
-
import "./tool-images-
|
|
20
|
+
import "./frontmatter-Cj9fx6TO.js";
|
|
21
|
+
import "./skills-13BFFBMO.js";
|
|
22
|
+
import "./path-alias-guards-C10F4sUD.js";
|
|
23
|
+
import "./redact-fgG7z4pW.js";
|
|
24
|
+
import "./errors-CU3zW8qJ.js";
|
|
25
|
+
import "./fs-safe-C886xbc4.js";
|
|
26
|
+
import "./store-C1aD4Cuf.js";
|
|
27
|
+
import "./sessions-C0JFMRw2.js";
|
|
28
|
+
import "./accounts-DwoPFJdz.js";
|
|
29
|
+
import "./paths-CJft5x7N.js";
|
|
30
|
+
import "./tool-images-BRLoVoR_.js";
|
|
31
31
|
import "./thinking-CJoHneR6.js";
|
|
32
|
-
import "./image-
|
|
33
|
-
import "./gemini-auth-
|
|
34
|
-
import "./fetch-guard-
|
|
35
|
-
import "./local-roots-
|
|
36
|
-
import { a as resolveMediaAttachmentLocalRoots, n as createMediaAttachmentCache, o as runCapability, r as normalizeMediaAttachments, t as buildProviderRegistry, u as isAudioAttachment } from "./runner-
|
|
32
|
+
import "./image-B4MEIJ9a.js";
|
|
33
|
+
import "./gemini-auth-CAwY_tHK.js";
|
|
34
|
+
import "./fetch-guard-Bzr0b0__.js";
|
|
35
|
+
import "./local-roots-CjX8B22M.js";
|
|
36
|
+
import { a as resolveMediaAttachmentLocalRoots, n as createMediaAttachmentCache, o as runCapability, r as normalizeMediaAttachments, t as buildProviderRegistry, u as isAudioAttachment } from "./runner-MX89mn4W.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-
|
|
16
|
-
import "./chrome-
|
|
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-
|
|
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-
|
|
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-
|
|
2
|
-
import { p as normalizeChatChannelId } from "./subsystem-
|
|
1
|
+
import { c as resolveDefaultAgentId } from "./agent-scope-USOwqW1r.js";
|
|
2
|
+
import { p as normalizeChatChannelId } from "./subsystem-C-DohXVG.js";
|
|
3
3
|
import { p as normalizeAccountId, s as normalizeAgentId } from "./session-key-CPPWn8gW.js";
|
|
4
4
|
|
|
5
5
|
//#region src/routing/bindings.ts
|
package/dist/build-info.json
CHANGED