@workclaw/openclaw-workclaw 1.0.202 → 1.0.332

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 (541) hide show
  1. package/README.md +3 -4
  2. package/dist/_virtual/_commonjsHelpers.js +8 -0
  3. package/dist/_virtual/ipaddr.js +4 -0
  4. package/dist/_virtual/jiti.js +4 -0
  5. package/dist/_virtual/main.js +4 -0
  6. package/dist/api.d.ts +4 -3
  7. package/dist/api.d.ts.map +1 -0
  8. package/dist/api.js +10 -3
  9. package/dist/index.d.ts +6 -5
  10. package/dist/index.d.ts.map +1 -0
  11. package/dist/index.js +250 -243
  12. package/dist/node_modules/.pnpm/chalk@5.6.2/node_modules/chalk/source/index.js +163 -0
  13. package/dist/node_modules/.pnpm/chalk@5.6.2/node_modules/chalk/source/utilities.js +32 -0
  14. package/dist/node_modules/.pnpm/chalk@5.6.2/node_modules/chalk/source/vendor/ansi-styles/index.js +188 -0
  15. package/dist/node_modules/.pnpm/chalk@5.6.2/node_modules/chalk/source/vendor/supports-color/browser.js +25 -0
  16. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/dist/account-id-C6v13Xic.js +4 -0
  17. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/dist/auth-profiles-Db4Eg6ht.js +24 -0
  18. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/dist/bash-tools.exec-runtime--1hhz8C_.js +46 -0
  19. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/dist/bash-tools.schemas-BqpDemKo.js +32 -0
  20. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/dist/boolean-DbfRNnYl.js +14 -0
  21. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/dist/boundary-file-read-BymsBHso.js +172 -0
  22. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/dist/bundled-Cuj8sKt6.js +18 -0
  23. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/dist/bundled-dir-Cq5y_NKM.js +109 -0
  24. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/dist/bundled-plugin-metadata-BJMD48hn.js +260 -0
  25. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/dist/channel-entry-contract-BoTfqLnn.js +176 -0
  26. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/dist/cli-name-DPC4W7Fo.js +22 -0
  27. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/dist/command-format-LqDv8ows.js +24 -0
  28. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/dist/command-registration-Dxq1bCXM.js +16 -0
  29. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/dist/commands-registry-normalize-Bk0WYUI0.js +94 -0
  30. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/dist/commands-registry.data-D99VdOlX.js +940 -0
  31. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/dist/config--3Msyf4f.js +20 -0
  32. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/dist/config-schema-C6kUPI7B.js +33 -0
  33. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/dist/config-schema-DB8FqQH8.js +82 -0
  34. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/dist/conversation-binding-C3EIaK9Z.js +19 -0
  35. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/dist/core-DpZtjMWz.js +51 -0
  36. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/dist/dedupe-DM7iBj7C.js +60 -0
  37. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/dist/discovery-Cgp95o2R.js +649 -0
  38. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/dist/dispatch-2DAqwFVE.js +33 -0
  39. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/dist/errors-Dyla6m1G.js +13 -0
  40. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/dist/exec-approvals-CLXc_BYU.js +212 -0
  41. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/dist/exec-defaults-DBnaZeLQ.js +13 -0
  42. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/dist/exec-jRxy02_4.js +9 -0
  43. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/dist/exec-safe-bin-trust-DOmID2EO.js +638 -0
  44. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/dist/exec-safety-C8v0dsfc.js +24 -0
  45. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/dist/facade-loader-B83leEeb.js +10 -0
  46. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/dist/facade-runtime-B04URCVZ.js +14 -0
  47. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/dist/file-identity-sp9axE-E.js +411 -0
  48. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/dist/file-lock-D016H3tC.js +5 -0
  49. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/dist/gateway-control-ui-origins-B-lkqr3D.js +23 -0
  50. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/dist/gateway-request-scope-BEWoJTx4.js +3 -0
  51. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/dist/global-singleton-DhGoboiG.js +14 -0
  52. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/dist/helpers-CI2CkXhU.js +7 -0
  53. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/dist/home-dir-BEqRdfoa.js +67 -0
  54. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/dist/host-env-security-B-Ebh6At.js +334 -0
  55. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/dist/ids-By7Nkc8R.js +76 -0
  56. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/dist/inbound-path-policy-CQkSSeSi.js +26 -0
  57. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/dist/internal-hooks-D52pUqod.js +5 -0
  58. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/dist/io-DDkf_FUu.js +14328 -0
  59. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/dist/ip-CdfoCORt.js +2 -0
  60. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/dist/json-files-DACY7Zw5.js +22 -0
  61. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/dist/legacy-names-C7VUgVdg.js +5 -0
  62. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/dist/links-BlUEqVE8.js +15 -0
  63. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/dist/loader-DYJR63Q1.js +27 -0
  64. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/dist/logger-BMuqDP66.js +26 -0
  65. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/dist/manager-szyCqvou.js +22 -0
  66. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/dist/manifest-CjPIwluH.js +409 -0
  67. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/dist/manifest-registry-CK0zNybm.js +394 -0
  68. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/dist/map-size-DhG4ditB.js +15 -0
  69. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/dist/message-channel-DXsjCySM.js +32 -0
  70. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/dist/mime-BjR-Aw-Q.js +42 -0
  71. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/dist/min-host-version-CmguvhGB.js +49 -0
  72. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/dist/model-auth-markers-YVQDqG1J.js +8 -0
  73. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/dist/model-selection-cli-U7l5Ifek.js +14 -0
  74. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/dist/models-config-B-YHRI3g.js +40 -0
  75. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/dist/native-command-session-targets-BW3SPx-T.js +11 -0
  76. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/dist/network-mode-D3yzFBsD.js +15 -0
  77. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/dist/node-require-DvwmVoHm.js +14 -0
  78. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/dist/node-sqlite-FGjwOqiS.js +3 -0
  79. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/dist/openclaw-root-BNWw3cXT.js +69 -0
  80. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/dist/order-6WHL2fZu.js +26 -0
  81. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/dist/parse-duration-amE_QFsj.js +42 -0
  82. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/dist/path-safety-CKqzLERR.js +308 -0
  83. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/dist/paths-LCYGfrV7.js +95 -0
  84. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/dist/process-scoped-map-Cv-PkzaO.js +11 -0
  85. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/dist/profile-utils-Dh8DVvPv.js +17 -0
  86. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/dist/prototype-keys-BKGE_uzN.js +11 -0
  87. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/dist/provider-env-vars-DDfJbkrO.js +150 -0
  88. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/dist/provider-id-B3nZBDJJ.js +15 -0
  89. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/dist/provider-runtime-O-n0cjZo.js +22 -0
  90. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/dist/public-surface-loader-CSDxBey4.js +14 -0
  91. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/dist/redact-D4nea1HF.js +2 -0
  92. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/dist/ref-contract-B1q5N0Lz.js +35 -0
  93. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/dist/registry-DE4nHTjg.js +54 -0
  94. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/dist/registry-loaded-B8D6rQiJ.js +62 -0
  95. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/dist/registry-nEl7QZ30.js +3 -0
  96. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/dist/runtime-Clo2XF6T.js +27 -0
  97. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/dist/runtime-channel-state-Ck2VkX9T.js +20 -0
  98. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/dist/runtime-guard-DqVOvWAZ.js +23 -0
  99. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/dist/runtime-state-Cd3jnHgw.js +4 -0
  100. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/dist/schema-validator-Bo7NeV8w.js +3 -0
  101. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/dist/scp-host-CiFVRWHy.js +38 -0
  102. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/dist/sdk-alias-Bo1huP7M.js +315 -0
  103. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/dist/session-binding-service-D6sb-LrK.js +9 -0
  104. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/dist/session-write-lock-Dk7FbMr_.js +6 -0
  105. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/dist/setup-helpers-ChrkNnYE.js +5 -0
  106. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/dist/setup-registry-BPL6c_Zk.js +16 -0
  107. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/dist/setup-wizard-helpers-DnMkYslk.js +19 -0
  108. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/dist/skills-Djbt9HGh.js +21 -0
  109. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/dist/slots-PynIdqZ_.js +10 -0
  110. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/dist/string-coerce-BUSzWgUA.js +25 -0
  111. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/dist/string-normalization-DIJRAo0o.js +20 -0
  112. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/dist/strip-inbound-meta-WCHWW8is.js +12 -0
  113. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/dist/subsystem-BHv2zSx6.js +15 -0
  114. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/dist/system-events-CfifhXT7.js +3 -0
  115. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/dist/tailscale-status-Ch1LdrMM.js +5 -0
  116. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/dist/task-registry-2LJDZL29.js +15 -0
  117. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/dist/telegram-command-config-TdpOuZ__.js +66 -0
  118. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/dist/terminal-link-B3nCYQJi.js +10 -0
  119. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/dist/theme-CVJvORNs.js +27 -0
  120. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/dist/thinking-_rqwdGD8.js +44 -0
  121. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/dist/thinking.shared-Dginn1He.js +14 -0
  122. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/dist/tmp-openclaw-dir-DrKSsX71.js +103 -0
  123. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/dist/tool-policy-CwZyJfFc.js +300 -0
  124. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/dist/types-BfKfz-lz.js +38 -0
  125. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/dist/types.secrets-C9RpLzA0.js +53 -0
  126. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/dist/utils-DGFSjtQF.js +36 -0
  127. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/dist/version-b06Uhxnq.js +82 -0
  128. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/dist/workspace-oVBetctb.js +20 -0
  129. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/dist/zod-schema-Cpw1qu03.js +1299 -0
  130. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/dist/zod-schema.agent-runtime-D48J52r_.js +620 -0
  131. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/dist/zod-schema.core-BrzjtZhM.js +597 -0
  132. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/dist/zod-schema.providers-core-CX8AFeyJ.js +1354 -0
  133. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/dist/zod-schema.providers-whatsapp-7E9bf9oA.js +130 -0
  134. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/dist/zod-schema.sensitive-BFZ4qze6.js +5 -0
  135. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/@mariozechner/pi-ai/dist/models.generated.js +14275 -0
  136. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/@mariozechner/pi-ai/dist/models.js +16 -0
  137. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/@mariozechner/pi-ai/dist/utils/oauth/anthropic.js +314 -0
  138. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/@mariozechner/pi-ai/dist/utils/oauth/github-copilot.js +256 -0
  139. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/@mariozechner/pi-ai/dist/utils/oauth/google-antigravity.js +315 -0
  140. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/@mariozechner/pi-ai/dist/utils/oauth/google-gemini-cli.js +402 -0
  141. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/@mariozechner/pi-ai/dist/utils/oauth/index.js +41 -0
  142. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/@mariozechner/pi-ai/dist/utils/oauth/oauth-page.js +103 -0
  143. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/@mariozechner/pi-ai/dist/utils/oauth/openai-codex.js +335 -0
  144. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/@mariozechner/pi-ai/dist/utils/oauth/pkce.js +20 -0
  145. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/@sinclair/typebox/build/esm/system/policy.js +34 -0
  146. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/@sinclair/typebox/build/esm/type/any/any.js +8 -0
  147. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/@sinclair/typebox/build/esm/type/argument/argument.js +8 -0
  148. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/@sinclair/typebox/build/esm/type/array/array.js +8 -0
  149. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/@sinclair/typebox/build/esm/type/async-iterator/async-iterator.js +8 -0
  150. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/@sinclair/typebox/build/esm/type/awaited/awaited.js +30 -0
  151. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/@sinclair/typebox/build/esm/type/bigint/bigint.js +8 -0
  152. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/@sinclair/typebox/build/esm/type/boolean/boolean.js +8 -0
  153. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/@sinclair/typebox/build/esm/type/clone/type.js +7 -0
  154. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/@sinclair/typebox/build/esm/type/clone/value.js +32 -0
  155. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/@sinclair/typebox/build/esm/type/composite/composite.js +37 -0
  156. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/@sinclair/typebox/build/esm/type/computed/computed.js +8 -0
  157. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/@sinclair/typebox/build/esm/type/const/const.js +36 -0
  158. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/@sinclair/typebox/build/esm/type/constructor/constructor.js +8 -0
  159. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/@sinclair/typebox/build/esm/type/constructor-parameters/constructor-parameters.js +9 -0
  160. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/@sinclair/typebox/build/esm/type/create/immutable.js +29 -0
  161. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/@sinclair/typebox/build/esm/type/create/type.js +17 -0
  162. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/@sinclair/typebox/build/esm/type/date/date.js +8 -0
  163. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/@sinclair/typebox/build/esm/type/discard/discard.js +10 -0
  164. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/@sinclair/typebox/build/esm/type/enum/enum.js +15 -0
  165. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/@sinclair/typebox/build/esm/type/error/error.js +8 -0
  166. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/@sinclair/typebox/build/esm/type/exclude/exclude-from-mapped-result.js +18 -0
  167. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/@sinclair/typebox/build/esm/type/exclude/exclude-from-template-literal.js +8 -0
  168. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/@sinclair/typebox/build/esm/type/exclude/exclude.js +21 -0
  169. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/@sinclair/typebox/build/esm/type/extends/extends-check.js +265 -0
  170. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/@sinclair/typebox/build/esm/type/extends/extends-from-mapped-key.js +24 -0
  171. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/@sinclair/typebox/build/esm/type/extends/extends-from-mapped-result.js +19 -0
  172. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/@sinclair/typebox/build/esm/type/extends/extends.js +16 -0
  173. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/@sinclair/typebox/build/esm/type/extract/extract-from-mapped-result.js +18 -0
  174. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/@sinclair/typebox/build/esm/type/extract/extract-from-template-literal.js +8 -0
  175. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/@sinclair/typebox/build/esm/type/extract/extract.js +21 -0
  176. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/@sinclair/typebox/build/esm/type/function/function.js +8 -0
  177. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/@sinclair/typebox/build/esm/type/guard/kind.js +176 -0
  178. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/@sinclair/typebox/build/esm/type/guard/type.js +272 -0
  179. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/@sinclair/typebox/build/esm/type/guard/value.js +62 -0
  180. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/@sinclair/typebox/build/esm/type/indexed/indexed-from-mapped-key.js +21 -0
  181. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/@sinclair/typebox/build/esm/type/indexed/indexed-from-mapped-result.js +20 -0
  182. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/@sinclair/typebox/build/esm/type/indexed/indexed-property-keys.js +21 -0
  183. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/@sinclair/typebox/build/esm/type/indexed/indexed.js +61 -0
  184. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/@sinclair/typebox/build/esm/type/instance-type/instance-type.js +9 -0
  185. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/@sinclair/typebox/build/esm/type/instantiate/instantiate.js +86 -0
  186. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/@sinclair/typebox/build/esm/type/integer/integer.js +8 -0
  187. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/@sinclair/typebox/build/esm/type/intersect/intersect-create.js +11 -0
  188. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/@sinclair/typebox/build/esm/type/intersect/intersect-evaluated.js +31 -0
  189. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/@sinclair/typebox/build/esm/type/intersect/intersect.js +16 -0
  190. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/@sinclair/typebox/build/esm/type/intrinsic/capitalize.js +7 -0
  191. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/@sinclair/typebox/build/esm/type/intrinsic/intrinsic-from-mapped-key.js +25 -0
  192. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/@sinclair/typebox/build/esm/type/intrinsic/intrinsic.js +55 -0
  193. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/@sinclair/typebox/build/esm/type/intrinsic/lowercase.js +7 -0
  194. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/@sinclair/typebox/build/esm/type/intrinsic/uncapitalize.js +7 -0
  195. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/@sinclair/typebox/build/esm/type/intrinsic/uppercase.js +7 -0
  196. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/@sinclair/typebox/build/esm/type/iterator/iterator.js +8 -0
  197. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/@sinclair/typebox/build/esm/type/keyof/keyof-from-mapped-result.js +19 -0
  198. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/@sinclair/typebox/build/esm/type/keyof/keyof-property-keys.js +36 -0
  199. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/@sinclair/typebox/build/esm/type/keyof/keyof.js +31 -0
  200. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/@sinclair/typebox/build/esm/type/literal/literal.js +12 -0
  201. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/@sinclair/typebox/build/esm/type/mapped/mapped-result.js +11 -0
  202. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/@sinclair/typebox/build/esm/type/mapped/mapped.js +76 -0
  203. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/@sinclair/typebox/build/esm/type/module/compute.js +122 -0
  204. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/@sinclair/typebox/build/esm/type/module/module.js +28 -0
  205. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/@sinclair/typebox/build/esm/type/never/never.js +8 -0
  206. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/@sinclair/typebox/build/esm/type/not/not.js +8 -0
  207. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/@sinclair/typebox/build/esm/type/null/null.js +8 -0
  208. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/@sinclair/typebox/build/esm/type/number/number.js +8 -0
  209. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/@sinclair/typebox/build/esm/type/object/object.js +15 -0
  210. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/@sinclair/typebox/build/esm/type/omit/omit-from-mapped-key.js +21 -0
  211. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/@sinclair/typebox/build/esm/type/omit/omit-from-mapped-result.js +19 -0
  212. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/@sinclair/typebox/build/esm/type/omit/omit.js +48 -0
  213. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/@sinclair/typebox/build/esm/type/optional/optional-from-mapped-result.js +18 -0
  214. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/@sinclair/typebox/build/esm/type/optional/optional.js +21 -0
  215. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/@sinclair/typebox/build/esm/type/parameters/parameters.js +9 -0
  216. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/@sinclair/typebox/build/esm/type/partial/partial-from-mapped-result.js +19 -0
  217. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/@sinclair/typebox/build/esm/type/partial/partial.js +53 -0
  218. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/@sinclair/typebox/build/esm/type/patterns/patterns.js +16 -0
  219. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/@sinclair/typebox/build/esm/type/pick/pick-from-mapped-key.js +23 -0
  220. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/@sinclair/typebox/build/esm/type/pick/pick-from-mapped-result.js +19 -0
  221. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/@sinclair/typebox/build/esm/type/pick/pick.js +48 -0
  222. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/@sinclair/typebox/build/esm/type/promise/promise.js +8 -0
  223. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/@sinclair/typebox/build/esm/type/readonly/readonly-from-mapped-result.js +18 -0
  224. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/@sinclair/typebox/build/esm/type/readonly/readonly.js +21 -0
  225. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/@sinclair/typebox/build/esm/type/readonly-optional/readonly-optional.js +8 -0
  226. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/@sinclair/typebox/build/esm/type/record/record.js +71 -0
  227. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/@sinclair/typebox/build/esm/type/recursive/recursive.js +15 -0
  228. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/@sinclair/typebox/build/esm/type/ref/ref.js +12 -0
  229. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/@sinclair/typebox/build/esm/type/regexp/regexp.js +10 -0
  230. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/@sinclair/typebox/build/esm/type/required/required-from-mapped-result.js +18 -0
  231. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/@sinclair/typebox/build/esm/type/required/required.js +52 -0
  232. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/@sinclair/typebox/build/esm/type/rest/rest.js +10 -0
  233. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/@sinclair/typebox/build/esm/type/return-type/return-type.js +9 -0
  234. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/@sinclair/typebox/build/esm/type/sets/set.js +30 -0
  235. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/@sinclair/typebox/build/esm/type/string/string.js +8 -0
  236. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/@sinclair/typebox/build/esm/type/symbol/symbol.js +8 -0
  237. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/@sinclair/typebox/build/esm/type/symbols/symbols.js +12 -0
  238. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/@sinclair/typebox/build/esm/type/template-literal/finite.js +27 -0
  239. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/@sinclair/typebox/build/esm/type/template-literal/generate.js +38 -0
  240. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/@sinclair/typebox/build/esm/type/template-literal/parse.js +128 -0
  241. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/@sinclair/typebox/build/esm/type/template-literal/pattern.js +21 -0
  242. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/@sinclair/typebox/build/esm/type/template-literal/syntax.js +45 -0
  243. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/@sinclair/typebox/build/esm/type/template-literal/template-literal.js +12 -0
  244. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/@sinclair/typebox/build/esm/type/template-literal/union.js +11 -0
  245. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/@sinclair/typebox/build/esm/type/transform/transform.js +37 -0
  246. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/@sinclair/typebox/build/esm/type/tuple/tuple.js +8 -0
  247. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/@sinclair/typebox/build/esm/type/type/index.js +5 -0
  248. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/@sinclair/typebox/build/esm/type/type/type.js +126 -0
  249. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/@sinclair/typebox/build/esm/type/uint8array/uint8array.js +8 -0
  250. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/@sinclair/typebox/build/esm/type/undefined/undefined.js +8 -0
  251. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/@sinclair/typebox/build/esm/type/union/union-create.js +8 -0
  252. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/@sinclair/typebox/build/esm/type/union/union-evaluated.js +26 -0
  253. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/@sinclair/typebox/build/esm/type/union/union.js +9 -0
  254. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/@sinclair/typebox/build/esm/type/unknown/unknown.js +8 -0
  255. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/@sinclair/typebox/build/esm/type/unsafe/unsafe.js +8 -0
  256. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/@sinclair/typebox/build/esm/type/void/void.js +8 -0
  257. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/@sinclair/typebox/build/esm/value/guard/guard.js +18 -0
  258. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/dotenv/lib/main.js +318 -0
  259. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/ipaddr.js/lib/ipaddr.js +805 -0
  260. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/jiti/dist/jiti.js +3869 -0
  261. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/jiti/lib/jiti.js +26 -0
  262. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/json5/dist/index.js +1085 -0
  263. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/yaml/browser/dist/doc/anchors.js +12 -0
  264. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/yaml/browser/dist/doc/applyReviver.js +45 -0
  265. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/yaml/browser/dist/doc/createNode.js +58 -0
  266. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/yaml/browser/dist/log.js +8 -0
  267. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/yaml/browser/dist/nodes/Alias.js +111 -0
  268. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/yaml/browser/dist/nodes/Collection.js +138 -0
  269. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/yaml/browser/dist/nodes/Node.js +36 -0
  270. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/yaml/browser/dist/nodes/Pair.js +35 -0
  271. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/yaml/browser/dist/nodes/Scalar.js +25 -0
  272. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/yaml/browser/dist/nodes/YAMLMap.js +139 -0
  273. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/yaml/browser/dist/nodes/YAMLSeq.js +111 -0
  274. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/yaml/browser/dist/nodes/addPairToJSMap.js +59 -0
  275. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/yaml/browser/dist/nodes/identity.js +52 -0
  276. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/yaml/browser/dist/nodes/toJS.js +25 -0
  277. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/yaml/browser/dist/parse/lexer.js +6 -0
  278. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/yaml/browser/dist/schema/yaml-1.1/merge.js +55 -0
  279. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/yaml/browser/dist/schema/yaml-1.1/omap.js +50 -0
  280. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/yaml/browser/dist/schema/yaml-1.1/pairs.js +37 -0
  281. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/yaml/browser/dist/schema/yaml-1.1/set.js +65 -0
  282. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/yaml/browser/dist/stringify/foldFlowLines.js +131 -0
  283. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/yaml/browser/dist/stringify/stringify.js +119 -0
  284. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/yaml/browser/dist/stringify/stringifyCollection.js +146 -0
  285. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/yaml/browser/dist/stringify/stringifyComment.js +12 -0
  286. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/yaml/browser/dist/stringify/stringifyPair.js +128 -0
  287. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/yaml/browser/dist/stringify/stringifyString.js +278 -0
  288. package/dist/node_modules/.pnpm/openclaw@2026.4.14_@emnapi__48b26e3018d2f6ac73290fb8288ef325/node_modules/openclaw/node_modules/yaml/browser/dist/visit.js +104 -0
  289. package/dist/packages/plugin/src/accounts.js +200 -0
  290. package/dist/packages/plugin/src/api/accounts-api.js +133 -0
  291. package/dist/packages/plugin/src/api/prompts-api.js +105 -0
  292. package/dist/packages/plugin/src/api/session-api.js +172 -0
  293. package/dist/packages/plugin/src/api/skills-api.js +61 -0
  294. package/dist/packages/plugin/src/api/workspace.js +30 -0
  295. package/dist/packages/plugin/src/channel.js +209 -0
  296. package/dist/packages/plugin/src/config-schema.js +51 -0
  297. package/dist/packages/plugin/src/connection/workclaw-client.js +282 -0
  298. package/dist/packages/plugin/src/gateway/agent-handlers.js +408 -0
  299. package/dist/packages/plugin/src/gateway/config-writer.js +157 -0
  300. package/dist/packages/plugin/src/gateway/cron-tasks-handler.js +184 -0
  301. package/dist/packages/plugin/src/gateway/message-context.js +411 -0
  302. package/dist/packages/plugin/src/gateway/message-dispatcher.js +519 -0
  303. package/dist/packages/plugin/src/gateway/reconnect.js +178 -0
  304. package/dist/packages/plugin/src/gateway/skills-handler.js +511 -0
  305. package/dist/packages/plugin/src/gateway/skills-list-handler.js +173 -0
  306. package/dist/packages/plugin/src/gateway/tools-list-handler.js +89 -0
  307. package/dist/packages/plugin/src/gateway/workclaw-gateway.js +245 -0
  308. package/dist/packages/plugin/src/logging.js +62 -0
  309. package/dist/packages/plugin/src/media/upload.js +126 -0
  310. package/dist/packages/plugin/src/outbound/index.js +89 -0
  311. package/dist/packages/plugin/src/outbound/workclaw-sender.js +79 -0
  312. package/dist/packages/plugin/src/setup-core.js +22 -0
  313. package/dist/packages/plugin/src/setup-surface.js +338 -0
  314. package/dist/packages/plugin/src/tools/openclaw-workclaw-cron/api/index.js +186 -0
  315. package/dist/packages/plugin/src/tools/openclaw-workclaw-cron/index.js +30 -0
  316. package/dist/packages/plugin/src/tools/openclaw-workclaw-cron/src/add/params.js +147 -0
  317. package/dist/packages/plugin/src/tools/openclaw-workclaw-cron/src/add/sync.js +154 -0
  318. package/dist/packages/plugin/src/tools/openclaw-workclaw-cron/src/disable/params.js +62 -0
  319. package/dist/packages/plugin/src/tools/openclaw-workclaw-cron/src/disable/sync.js +86 -0
  320. package/dist/packages/plugin/src/tools/openclaw-workclaw-cron/src/enable/params.js +62 -0
  321. package/dist/packages/plugin/src/tools/openclaw-workclaw-cron/src/enable/sync.js +86 -0
  322. package/dist/packages/plugin/src/tools/openclaw-workclaw-cron/src/notify/sync.js +103 -0
  323. package/dist/packages/plugin/src/tools/openclaw-workclaw-cron/src/remove/params.js +68 -0
  324. package/dist/packages/plugin/src/tools/openclaw-workclaw-cron/src/remove/sync.js +86 -0
  325. package/dist/packages/plugin/src/tools/openclaw-workclaw-cron/src/update/params.js +141 -0
  326. package/dist/packages/plugin/src/tools/openclaw-workclaw-cron/src/update/sync.js +114 -0
  327. package/dist/packages/plugin/src/tools/openclaw-workclaw-cron/utils/index.js +99 -0
  328. package/dist/packages/plugin/src/tools/openclaw-workclaw-cron/utils/tool-context.js +29 -0
  329. package/dist/packages/plugin/src/types/system.js +8 -0
  330. package/dist/setup-entry.d.ts +2 -1
  331. package/dist/setup-entry.d.ts.map +1 -0
  332. package/dist/setup-entry.js +14 -11
  333. package/dist/src/accounts.d.ts +20 -19
  334. package/dist/src/accounts.d.ts.map +1 -0
  335. package/dist/src/api/accounts-api.d.ts +2 -1
  336. package/dist/src/api/accounts-api.d.ts.map +1 -0
  337. package/dist/src/api/prompts-api.d.ts +2 -1
  338. package/dist/src/api/prompts-api.d.ts.map +1 -0
  339. package/dist/src/api/session-api.d.ts +2 -1
  340. package/dist/src/api/session-api.d.ts.map +1 -0
  341. package/dist/src/api/skills-api.d.ts +2 -1
  342. package/dist/src/api/skills-api.d.ts.map +1 -0
  343. package/dist/src/api/workspace.d.ts +2 -1
  344. package/dist/src/api/workspace.d.ts.map +1 -0
  345. package/dist/src/channel.d.ts +3 -2
  346. package/dist/src/channel.d.ts.map +1 -0
  347. package/dist/src/config-schema.d.ts +1 -6
  348. package/dist/src/config-schema.d.ts.map +1 -0
  349. package/dist/src/connection/workclaw-client.d.ts +6 -4
  350. package/dist/src/connection/workclaw-client.d.ts.map +1 -0
  351. package/dist/src/gateway/agent-handlers.d.ts +4 -3
  352. package/dist/src/gateway/agent-handlers.d.ts.map +1 -0
  353. package/dist/src/gateway/config-writer.d.ts +32 -30
  354. package/dist/src/gateway/config-writer.d.ts.map +1 -0
  355. package/dist/src/gateway/cron-tasks-handler.d.ts +3 -1
  356. package/dist/src/gateway/cron-tasks-handler.d.ts.map +1 -0
  357. package/dist/src/gateway/message-context.d.ts +15 -17
  358. package/dist/src/gateway/message-context.d.ts.map +1 -0
  359. package/dist/src/gateway/message-dispatcher.d.ts +3 -4
  360. package/dist/src/gateway/message-dispatcher.d.ts.map +1 -0
  361. package/dist/src/gateway/reconnect.d.ts +6 -8
  362. package/dist/src/gateway/reconnect.d.ts.map +1 -0
  363. package/dist/src/gateway/skills-handler.d.ts +1 -0
  364. package/dist/src/gateway/skills-handler.d.ts.map +1 -0
  365. package/dist/src/gateway/skills-list-handler.d.ts +1 -0
  366. package/dist/src/gateway/skills-list-handler.d.ts.map +1 -0
  367. package/dist/src/gateway/tools-list-handler.d.ts +1 -0
  368. package/dist/src/gateway/tools-list-handler.d.ts.map +1 -0
  369. package/dist/src/gateway/workclaw-gateway.d.ts +2 -7
  370. package/dist/src/gateway/workclaw-gateway.d.ts.map +1 -0
  371. package/dist/src/logging.d.ts +55 -0
  372. package/dist/src/logging.d.ts.map +1 -0
  373. package/dist/src/media/upload.d.ts +1 -0
  374. package/dist/src/media/upload.d.ts.map +1 -0
  375. package/dist/src/outbound/index.d.ts +9 -6
  376. package/dist/src/outbound/index.d.ts.map +1 -0
  377. package/dist/src/outbound/workclaw-sender.d.ts +6 -4
  378. package/dist/src/outbound/workclaw-sender.d.ts.map +1 -0
  379. package/dist/src/runtime.d.ts +4 -17
  380. package/dist/src/runtime.d.ts.map +1 -0
  381. package/dist/src/runtime.js +324 -365
  382. package/dist/src/secret-contract-api.d.ts +1 -0
  383. package/dist/src/secret-contract-api.d.ts.map +1 -0
  384. package/dist/src/secret-contract-api.js +6 -3
  385. package/dist/src/send.d.ts +2 -1
  386. package/dist/src/send.d.ts.map +1 -0
  387. package/dist/src/setup-api.d.ts +4 -3
  388. package/dist/src/setup-api.d.ts.map +1 -0
  389. package/dist/src/setup-core.d.ts +2 -1
  390. package/dist/src/setup-core.d.ts.map +1 -0
  391. package/dist/src/setup-surface.d.ts +3 -2
  392. package/dist/src/setup-surface.d.ts.map +1 -0
  393. package/dist/src/tools/openclaw-workclaw-cron/api/index.d.ts +3 -4
  394. package/dist/src/tools/openclaw-workclaw-cron/api/index.d.ts.map +1 -0
  395. package/dist/src/tools/openclaw-workclaw-cron/index.d.ts +1 -0
  396. package/dist/src/tools/openclaw-workclaw-cron/index.d.ts.map +1 -0
  397. package/dist/src/tools/openclaw-workclaw-cron/src/add/params.d.ts +3 -7
  398. package/dist/src/tools/openclaw-workclaw-cron/src/add/params.d.ts.map +1 -0
  399. package/dist/src/tools/openclaw-workclaw-cron/src/add/sync.d.ts +3 -7
  400. package/dist/src/tools/openclaw-workclaw-cron/src/add/sync.d.ts.map +1 -0
  401. package/dist/src/tools/openclaw-workclaw-cron/src/disable/params.d.ts +2 -7
  402. package/dist/src/tools/openclaw-workclaw-cron/src/disable/params.d.ts.map +1 -0
  403. package/dist/src/tools/openclaw-workclaw-cron/src/disable/sync.d.ts +2 -7
  404. package/dist/src/tools/openclaw-workclaw-cron/src/disable/sync.d.ts.map +1 -0
  405. package/dist/src/tools/openclaw-workclaw-cron/src/enable/params.d.ts +2 -7
  406. package/dist/src/tools/openclaw-workclaw-cron/src/enable/params.d.ts.map +1 -0
  407. package/dist/src/tools/openclaw-workclaw-cron/src/enable/sync.d.ts +2 -7
  408. package/dist/src/tools/openclaw-workclaw-cron/src/enable/sync.d.ts.map +1 -0
  409. package/dist/src/tools/openclaw-workclaw-cron/src/notify/sync.d.ts +2 -9
  410. package/dist/src/tools/openclaw-workclaw-cron/src/notify/sync.d.ts.map +1 -0
  411. package/dist/src/tools/openclaw-workclaw-cron/src/remove/params.d.ts +2 -7
  412. package/dist/src/tools/openclaw-workclaw-cron/src/remove/params.d.ts.map +1 -0
  413. package/dist/src/tools/openclaw-workclaw-cron/src/remove/sync.d.ts +2 -7
  414. package/dist/src/tools/openclaw-workclaw-cron/src/remove/sync.d.ts.map +1 -0
  415. package/dist/src/tools/openclaw-workclaw-cron/src/update/params.d.ts +2 -7
  416. package/dist/src/tools/openclaw-workclaw-cron/src/update/params.d.ts.map +1 -0
  417. package/dist/src/tools/openclaw-workclaw-cron/src/update/sync.d.ts +2 -7
  418. package/dist/src/tools/openclaw-workclaw-cron/src/update/sync.d.ts.map +1 -0
  419. package/dist/src/tools/openclaw-workclaw-cron/types/index.d.ts +2 -1
  420. package/dist/src/tools/openclaw-workclaw-cron/types/index.d.ts.map +1 -0
  421. package/dist/src/tools/openclaw-workclaw-cron/utils/index.d.ts +1 -0
  422. package/dist/src/tools/openclaw-workclaw-cron/utils/index.d.ts.map +1 -0
  423. package/dist/src/tools/openclaw-workclaw-cron/utils/tool-context.d.ts +10 -0
  424. package/dist/src/tools/openclaw-workclaw-cron/utils/tool-context.d.ts.map +1 -0
  425. package/dist/src/tools/openclaw-workclaw-system/index.d.ts +1 -0
  426. package/dist/src/tools/openclaw-workclaw-system/index.d.ts.map +1 -0
  427. package/dist/src/tools/openclaw-workclaw-system/src/get/index.d.ts +2 -4
  428. package/dist/src/tools/openclaw-workclaw-system/src/get/index.d.ts.map +1 -0
  429. package/dist/src/tools/openclaw-workclaw-system/src/token/index.d.ts +2 -4
  430. package/dist/src/tools/openclaw-workclaw-system/src/token/index.d.ts.map +1 -0
  431. package/dist/src/types/account.d.ts +15 -0
  432. package/dist/src/types/account.d.ts.map +1 -0
  433. package/dist/src/{types.d.ts → types/config.d.ts} +4 -16
  434. package/dist/src/types/config.d.ts.map +1 -0
  435. package/dist/src/types/index.d.ts +4 -0
  436. package/dist/src/types/index.d.ts.map +1 -0
  437. package/dist/src/types/system.d.ts +17 -0
  438. package/dist/src/types/system.d.ts.map +1 -0
  439. package/dist/src/utils/content.d.ts +6 -5
  440. package/dist/src/utils/content.d.ts.map +1 -0
  441. package/openclaw.plugin.json +45 -0
  442. package/package.json +71 -45
  443. package/skills/openclaw-workclaw-cron/SKILL.md +6 -3
  444. package/api.ts +0 -3
  445. package/dist/src/accounts.js +0 -279
  446. package/dist/src/api/accounts-api.js +0 -130
  447. package/dist/src/api/prompts-api.js +0 -103
  448. package/dist/src/api/session-api.js +0 -207
  449. package/dist/src/api/skills-api.js +0 -64
  450. package/dist/src/api/workspace.js +0 -30
  451. package/dist/src/channel.js +0 -199
  452. package/dist/src/config-schema.js +0 -56
  453. package/dist/src/connection/workclaw-client.js +0 -351
  454. package/dist/src/gateway/agent-handlers.js +0 -433
  455. package/dist/src/gateway/config-writer.js +0 -302
  456. package/dist/src/gateway/cron-tasks-handler.js +0 -188
  457. package/dist/src/gateway/message-context.js +0 -509
  458. package/dist/src/gateway/message-dispatcher.js +0 -572
  459. package/dist/src/gateway/reconnect.js +0 -210
  460. package/dist/src/gateway/skills-handler.js +0 -615
  461. package/dist/src/gateway/skills-list-handler.js +0 -233
  462. package/dist/src/gateway/tools-list-handler.js +0 -101
  463. package/dist/src/gateway/workclaw-gateway.js +0 -237
  464. package/dist/src/media/upload.js +0 -125
  465. package/dist/src/outbound/index.js +0 -123
  466. package/dist/src/outbound/workclaw-sender.js +0 -95
  467. package/dist/src/send.js +0 -1
  468. package/dist/src/setup-api.js +0 -3
  469. package/dist/src/setup-core.js +0 -13
  470. package/dist/src/setup-surface.js +0 -363
  471. package/dist/src/tools/openclaw-workclaw-cron/api/index.js +0 -209
  472. package/dist/src/tools/openclaw-workclaw-cron/index.js +0 -33
  473. package/dist/src/tools/openclaw-workclaw-cron/src/add/params.js +0 -152
  474. package/dist/src/tools/openclaw-workclaw-cron/src/add/sync.js +0 -162
  475. package/dist/src/tools/openclaw-workclaw-cron/src/disable/params.js +0 -80
  476. package/dist/src/tools/openclaw-workclaw-cron/src/disable/sync.js +0 -107
  477. package/dist/src/tools/openclaw-workclaw-cron/src/enable/params.js +0 -80
  478. package/dist/src/tools/openclaw-workclaw-cron/src/enable/sync.js +0 -107
  479. package/dist/src/tools/openclaw-workclaw-cron/src/notify/sync.js +0 -127
  480. package/dist/src/tools/openclaw-workclaw-cron/src/remove/params.js +0 -87
  481. package/dist/src/tools/openclaw-workclaw-cron/src/remove/sync.js +0 -107
  482. package/dist/src/tools/openclaw-workclaw-cron/src/update/params.js +0 -164
  483. package/dist/src/tools/openclaw-workclaw-cron/src/update/sync.js +0 -135
  484. package/dist/src/tools/openclaw-workclaw-cron/types/index.js +0 -4
  485. package/dist/src/tools/openclaw-workclaw-cron/utils/index.js +0 -122
  486. package/dist/src/tools/openclaw-workclaw-system/index.js +0 -15
  487. package/dist/src/tools/openclaw-workclaw-system/src/get/index.js +0 -64
  488. package/dist/src/tools/openclaw-workclaw-system/src/token/index.js +0 -78
  489. package/dist/src/types.js +0 -1
  490. package/dist/src/utils/content.js +0 -38
  491. package/index.ts +0 -326
  492. package/setup-entry.ts +0 -13
  493. package/src/accounts.ts +0 -360
  494. package/src/api/accounts-api.ts +0 -156
  495. package/src/api/prompts-api.ts +0 -122
  496. package/src/api/session-api.ts +0 -246
  497. package/src/api/skills-api.ts +0 -74
  498. package/src/api/workspace.ts +0 -45
  499. package/src/channel.ts +0 -226
  500. package/src/config-schema.ts +0 -62
  501. package/src/connection/workclaw-client.ts +0 -618
  502. package/src/gateway/agent-handlers.ts +0 -551
  503. package/src/gateway/config-writer.ts +0 -378
  504. package/src/gateway/cron-tasks-handler.ts +0 -230
  505. package/src/gateway/message-context.ts +0 -645
  506. package/src/gateway/message-dispatcher.ts +0 -688
  507. package/src/gateway/reconnect.ts +0 -260
  508. package/src/gateway/skills-handler.ts +0 -805
  509. package/src/gateway/skills-list-handler.ts +0 -332
  510. package/src/gateway/tools-list-handler.ts +0 -161
  511. package/src/gateway/workclaw-gateway.ts +0 -305
  512. package/src/media/upload.ts +0 -168
  513. package/src/outbound/index.ts +0 -191
  514. package/src/outbound/workclaw-sender.ts +0 -161
  515. package/src/runtime.ts +0 -520
  516. package/src/secret-contract-api.ts +0 -4
  517. package/src/send.ts +0 -1
  518. package/src/setup-api.ts +0 -3
  519. package/src/setup-core.ts +0 -25
  520. package/src/setup-surface.ts +0 -499
  521. package/src/tools/openclaw-workclaw-cron/api/index.ts +0 -326
  522. package/src/tools/openclaw-workclaw-cron/index.ts +0 -39
  523. package/src/tools/openclaw-workclaw-cron/src/add/params.ts +0 -177
  524. package/src/tools/openclaw-workclaw-cron/src/add/sync.ts +0 -188
  525. package/src/tools/openclaw-workclaw-cron/src/disable/params.ts +0 -100
  526. package/src/tools/openclaw-workclaw-cron/src/disable/sync.ts +0 -127
  527. package/src/tools/openclaw-workclaw-cron/src/enable/params.ts +0 -100
  528. package/src/tools/openclaw-workclaw-cron/src/enable/sync.ts +0 -127
  529. package/src/tools/openclaw-workclaw-cron/src/notify/sync.ts +0 -148
  530. package/src/tools/openclaw-workclaw-cron/src/remove/params.ts +0 -109
  531. package/src/tools/openclaw-workclaw-cron/src/remove/sync.ts +0 -127
  532. package/src/tools/openclaw-workclaw-cron/src/update/params.ts +0 -195
  533. package/src/tools/openclaw-workclaw-cron/src/update/sync.ts +0 -161
  534. package/src/tools/openclaw-workclaw-cron/types/index.ts +0 -55
  535. package/src/tools/openclaw-workclaw-cron/utils/index.ts +0 -141
  536. package/src/tools/openclaw-workclaw-system/index.ts +0 -17
  537. package/src/tools/openclaw-workclaw-system/src/get/index.ts +0 -77
  538. package/src/tools/openclaw-workclaw-system/src/token/index.ts +0 -93
  539. package/src/types.ts +0 -52
  540. package/src/utils/content.ts +0 -40
  541. package/tsconfig.json +0 -34
@@ -1,805 +0,0 @@
1
- /**
2
- * Skills 事件处理器
3
- * 处理云端下发的 skills 相关 EVENT 消息
4
- * 通过 HTTP 回调返回结果
5
- */
6
-
7
- import { Buffer } from 'node:buffer'
8
- import { exec } from 'node:child_process'
9
- import fs from 'node:fs/promises'
10
- import http from 'node:http'
11
- import https from 'node:https'
12
- import os from 'node:os'
13
- import path from 'node:path'
14
- import process from 'node:process'
15
- import { promisify } from 'node:util'
16
-
17
- const execAsync = promisify(exec)
18
-
19
- export interface SkillsEventData {
20
- topic: string // skills/create, skills/update, skills/delete, skills/list, skills/get, skills/invoke
21
- requestId: string
22
- callbackUrl: string
23
- authToken?: string
24
- data: any
25
- }
26
-
27
- export interface CallbackResponse {
28
- userId?: string
29
- agentId?: string
30
- agentIds?: string[]
31
- appKey?: string
32
- dotype?: string
33
- doStatus?: boolean
34
- doErrorMsg?: string
35
- dataList?: any[]
36
- }
37
-
38
- // 回调 URL 映射
39
- const TOPIC_TO_CALLBACK_URL: Record<string, string> = {
40
- 'skills/add': '/open-apis/v1/claw/do/skills/result',
41
- 'skills/update': '/open-apis/v1/claw/do/skills/result',
42
- 'skills/remove': '/open-apis/v1/claw/do/skills/result',
43
- 'skills/list': '/open-apis/v1/claw/do/skills/result',
44
- 'skills/get': '/open-apis/v1/claw/do/skills/result',
45
- 'skills/invoke': '/open-apis/v1/claw/do/skills/result',
46
- }
47
-
48
- /**
49
- * 处理 skills 事件
50
- */
51
- export async function handleSkillsEvent(
52
- eventData: SkillsEventData,
53
- token: string,
54
- baseUrl: string,
55
- appKey: string,
56
- log?: {
57
- info?: (msg: string) => void
58
- error?: (msg: string) => void
59
- },
60
- ): Promise<void> {
61
- const { topic, data } = eventData
62
- log?.info?.(`[SkillsHandler] Processing ${topic}, data: ${JSON.stringify(data)}`)
63
-
64
- try {
65
- let result: any
66
-
67
- // 根据 topic 路由到不同的处理函数
68
- switch (topic) {
69
- case 'skills/add':
70
- result = await handleCreateSkill(data, log)
71
- break
72
- case 'skills/update':
73
- result = await handleUpdateSkill(data, log)
74
- break
75
- case 'skills/remove':
76
- result = await handleDeleteSkill(data, log)
77
- break
78
- case 'skills/list':
79
- result = await handleListSkills(data, log)
80
- break
81
- case 'skills/get':
82
- result = await handleGetSkill(data, log)
83
- break
84
- case 'skills/invoke':
85
- result = await handleInvokeSkill(data, log)
86
- break
87
- default:
88
- throw new Error(`Unknown topic: ${topic}`)
89
- }
90
-
91
- // 发送成功回调
92
- await sendCallback(
93
- baseUrl,
94
- topic,
95
- {
96
- userId: result.userId || '',
97
- agentId: '',
98
- appKey,
99
- agentIds: Array.isArray(result.agentIds) ? result.agentIds : (result.agentIds || 0),
100
- dotype: result.status || topic.split('/')[1],
101
- doStatus: true,
102
- doErrorMsg: '',
103
- dataList: [
104
- {
105
- typeStr: '',
106
- name: result.skillName || '',
107
- description: '',
108
- },
109
- ],
110
- },
111
- token,
112
- log,
113
- )
114
-
115
- log?.info?.(`[SkillsHandler] ${topic} completed, callback sent`)
116
-
117
- // 重启 OpenClaw 网关(仅在添加、更新、删除技能时)
118
- if (['skills/add', 'skills/update', 'skills/remove'].includes(topic)) {
119
- try {
120
- log?.info?.(`[SkillsHandler] rescan...`)
121
- await execAsync(`openclaw skills rescan`, { timeout: 2000 })
122
- await execAsync(`openclaw skills reload --force`, { timeout: 2000 })
123
- await execAsync(`openclaw skills list`, { timeout: 2000 })
124
- log?.info?.(`[SkillsHandler] OpenClaw skills rescaned successfully`)
125
- }
126
- catch (err: any) {
127
- log?.error?.(`[SkillsHandler] Failed to rescan OpenClaw skills: ${err.message}`)
128
- // 重启 OpenClaw 网关
129
- await execAsync(`openclaw skills restart`, { timeout: 20000 })
130
- }
131
- }
132
- }
133
- catch (err: any) {
134
- log?.error?.(`[SkillsHandler] ${topic} failed: ${err.message}`)
135
-
136
- // 发送失败回调
137
- await sendCallback(
138
- baseUrl,
139
- topic,
140
- {
141
- userId: '',
142
- agentId: '',
143
- agentIds: [],
144
- appKey,
145
- dotype: topic.split('/')[1],
146
- doStatus: false,
147
- doErrorMsg: err.message,
148
- dataList: [
149
- {
150
- typeStr: '',
151
- name: '',
152
- description: '',
153
- },
154
- ],
155
- },
156
- token,
157
- log,
158
- )
159
- }
160
- }
161
-
162
- /**
163
- * 发送 HTTP 回调
164
- */
165
- async function sendCallback(
166
- baseUrl: string,
167
- topic: string,
168
- response?: CallbackResponse,
169
- authToken?: string,
170
- log?: {
171
- info?: (msg: string) => void
172
- error?: (msg: string) => void
173
- },
174
- ): Promise<void> {
175
- // 获取回调 URL
176
- const callbackPath = TOPIC_TO_CALLBACK_URL[topic]
177
- if (!callbackPath) {
178
- throw new Error(`No callback URL defined for topic: ${topic}`)
179
- }
180
-
181
- const callbackUrl = `${baseUrl.replace(/\/$/, '')}${callbackPath}`
182
- const responseData = JSON.stringify(response)
183
-
184
- log?.info?.(`[SkillsHandler] Sending callback to ${callbackUrl}, data: ${responseData}`)
185
-
186
- // 准备请求头
187
- const headers: Record<string, string> = {
188
- 'Content-Type': 'application/json',
189
- }
190
-
191
- if (authToken) {
192
- headers.Authorization = authToken.startsWith('Bearer ')
193
- ? authToken
194
- : `Bearer ${authToken}`
195
- }
196
-
197
- // 使用 AbortController 实现超时
198
- const controller = new AbortController()
199
- const timeoutId = setTimeout(() => controller.abort(), 30000)
200
-
201
- try {
202
- const res = await fetch(callbackUrl, {
203
- method: 'POST',
204
- headers,
205
- body: responseData,
206
- signal: controller.signal,
207
- })
208
-
209
- clearTimeout(timeoutId)
210
-
211
- if (!res.ok) {
212
- const errorText = await res.text()
213
- throw new Error(`HTTP ${res.status}: ${res.statusText || errorText}`)
214
- }
215
-
216
- log?.info?.(`[SkillsHandler] Callback sent successfully, status: ${res.status}`)
217
- }
218
- catch (err: any) {
219
- clearTimeout(timeoutId)
220
-
221
- if (err.name === 'AbortError') {
222
- log?.error?.(`[SkillsHandler] Callback timeout after 30s: ${callbackUrl}`)
223
- throw new Error('Callback timeout')
224
- }
225
-
226
- log?.error?.(`[SkillsHandler] Failed to send callback: ${err.message}`)
227
- throw err
228
- }
229
- }
230
-
231
- /**
232
- * 从 URL 下载文件内容
233
- */
234
- async function downloadFromUrl(url: string, log?: any): Promise<Buffer> {
235
- return new Promise((resolve, reject) => {
236
- const client = url.startsWith('https:') ? https : http
237
-
238
- const req = client.get(url, (res) => {
239
- if (res.statusCode !== 200) {
240
- reject(new Error(`Failed to download: HTTP ${res.statusCode}`))
241
- return
242
- }
243
-
244
- const chunks: Buffer[] = []
245
- res.on('data', (chunk) => {
246
- chunks.push(chunk)
247
- })
248
- res.on('end', () => {
249
- const buffer = Buffer.concat(chunks)
250
- resolve(buffer)
251
- })
252
- })
253
-
254
- req.on('error', (err) => {
255
- reject(new Error(`Download failed: ${err.message}`))
256
- })
257
-
258
- req.setTimeout(30000, () => {
259
- req.destroy()
260
- reject(new Error('Download timeout'))
261
- })
262
- })
263
- }
264
-
265
- /**
266
- * 获取 OpenClaw 配置目录
267
- */
268
- function getOpenClawConfigDir(): string {
269
- const homeDir = os.homedir()
270
- return path.join(homeDir, '.openclaw')
271
- }
272
-
273
- /**
274
- * 获取 skills 目录
275
- */
276
- async function getSkillsDir(agentId?: string, log?: any): Promise<string> {
277
- const openclawDir = getOpenClawConfigDir()
278
- let skillsDir = path.join(openclawDir, 'workspace', 'skills')
279
-
280
- // 如果有 agentId,添加到对应目录
281
- if (agentId && agentId.trim()) {
282
- skillsDir = path.join(openclawDir, `workspace-${agentId}`, 'skills')
283
- }
284
-
285
- try {
286
- await fs.mkdir(skillsDir, { recursive: true })
287
- }
288
- catch (err: any) {
289
- log?.error?.(`[SkillsHandler] Failed to create skills directory: ${err.message}`)
290
- throw new Error(`Failed to create skills directory: ${err.message}`)
291
- }
292
-
293
- return skillsDir
294
- }
295
-
296
- /**
297
- * 安装 skill 到 OpenClaw
298
- */
299
- async function installSkillToClaw(
300
- skillName: string,
301
- skillContent: Buffer,
302
- agentId?: string,
303
- log?: any,
304
- ): Promise<{ success: boolean, message: string, path?: string }> {
305
- try {
306
- // 检测是否为 ZIP 文件(ZIP 文件以 PK 开头)
307
- const isZip = skillContent.toString('utf8', 0, 2) === 'PK'
308
-
309
- if (isZip) {
310
- log?.info?.(`[SkillsHandler] Detected ZIP file, extracting...`)
311
-
312
- // 获取 skills 目录
313
- const skillsDir = await getSkillsDir(agentId, log)
314
- // 创建以 skillName 命名的目录
315
- const skillDir = path.join(skillsDir, skillName)
316
- const tempZipPath = path.join(skillsDir, `${skillName}.zip`)
317
-
318
- try {
319
- // 创建技能目录
320
- await fs.mkdir(skillDir, { recursive: true })
321
- log?.info?.(`[SkillsHandler] Skill directory created: ${skillDir}`)
322
-
323
- // 写入临时 ZIP 文件
324
- await fs.writeFile(tempZipPath, skillContent)
325
- log?.info?.(`[SkillsHandler] Temporary ZIP file created: ${tempZipPath}`)
326
-
327
- // 解压 ZIP 文件到技能目录
328
- if (process.platform === 'win32') {
329
- // Windows 系统使用 PowerShell 解压
330
- await execAsync(`powershell -Command "Expand-Archive -Path '${tempZipPath}' -DestinationPath '${skillDir}' -Force"`)
331
- }
332
- else {
333
- // Unix-like 系统使用 unzip 命令
334
- await execAsync(`unzip -o '${tempZipPath}' -d '${skillDir}'`)
335
- }
336
-
337
- log?.info?.(`[SkillsHandler] ZIP file extracted successfully to: ${skillDir}`)
338
-
339
- // 删除临时 ZIP 文件
340
- await fs.unlink(tempZipPath)
341
- log?.info?.(`[SkillsHandler] Temporary ZIP file deleted`)
342
-
343
- return {
344
- success: true,
345
- message: `ZIP skill package ${skillName} installed successfully`,
346
- path: skillDir,
347
- }
348
- }
349
- catch (err: any) {
350
- log?.error?.(`[SkillsHandler] Failed to extract ZIP file: ${err.message}`)
351
- // 清理临时文件和目录
352
- try {
353
- await fs.unlink(tempZipPath)
354
- }
355
- catch {}
356
- try {
357
- await fs.rm(skillDir, { recursive: true, force: true })
358
- }
359
- catch {}
360
- return {
361
- success: false,
362
- message: `Failed to extract ZIP file: ${err.message}`,
363
- }
364
- }
365
- }
366
-
367
- // 尝试解析为 JSON
368
- let skillData: any
369
- try {
370
- const jsonString = skillContent.toString('utf8')
371
- skillData = JSON.parse(jsonString)
372
- }
373
- catch (err: any) {
374
- return {
375
- success: false,
376
- message: `Invalid skill JSON: ${err.message}`,
377
- }
378
- }
379
-
380
- // 验证必要的字段
381
- if (!skillData.id || !skillData.name) {
382
- return {
383
- success: false,
384
- message: 'Missing required fields in skill: id, name',
385
- }
386
- }
387
-
388
- // 获取 skills 目录
389
- const skillsDir = await getSkillsDir(agentId, log)
390
- const skillFilePath = path.join(skillsDir, `${skillName}.json`)
391
-
392
- // 写入 skill 文件
393
- await fs.writeFile(skillFilePath, skillContent, 'utf-8')
394
- log?.info?.(`[SkillsHandler] Skill saved to: ${skillFilePath}`)
395
-
396
- return {
397
- success: true,
398
- message: `Skill ${skillName} installed successfully`,
399
- path: skillFilePath,
400
- }
401
- }
402
- catch (err: any) {
403
- return {
404
- success: false,
405
- message: `Failed to install skill: ${err.message}`,
406
- }
407
- }
408
- }
409
-
410
- /**
411
- * 创建 Skill
412
- */
413
- async function installSkillToLocations(skillName: string, skillContent: Buffer, locations: (string | undefined)[], log?: any): Promise<any[]> {
414
- const installResults = []
415
-
416
- for (const agentId of locations) {
417
- const installResult = await installSkillToClaw(skillName, skillContent, agentId, log)
418
- if (!installResult.success) {
419
- const error: any = new Error(`Failed to install skill to ${agentId ? `agent ${agentId}` : 'default location'}: ${installResult.message}`)
420
- error.code = 'INSTALL_FAILED'
421
- throw error
422
- }
423
- installResults.push(installResult)
424
- }
425
-
426
- return installResults
427
- }
428
-
429
- async function handleCreateSkill(
430
- data: any,
431
- log?: {
432
- info?: (msg: string) => void
433
- error?: (msg: string) => void
434
- },
435
- ): Promise<any> {
436
- const { userId, skillName, unloadUrl, mainId } = data
437
- const agentIds = Array.isArray(data?.agentIds) ? data.agentIds : (data?.agentIds ? [data.agentIds] : [])
438
-
439
- if (!userId || !skillName) {
440
- const error: any = new Error('Missing required fields: userId, skillName')
441
- error.code = 'MISSING_FIELDS'
442
- throw error
443
- }
444
-
445
- log?.info?.(`[SkillsHandler] Creating skill: ${skillName}`)
446
- log?.info?.(`[SkillsHandler] mainId: ${mainId}`)
447
- if (agentIds.length > 0) {
448
- log?.info?.(`[SkillsHandler] Target agents: ${agentIds.join(', ')}`)
449
- }
450
-
451
- // 如果提供了 URL,从 URL 下载 skill 定义
452
- if (unloadUrl) {
453
- log?.info?.(`[SkillsHandler] Downloading skill from URL: ${unloadUrl}`)
454
-
455
- try {
456
- // 下载 skill 定义
457
- const skillContent = await downloadFromUrl(unloadUrl, log)
458
- log?.info?.(`[SkillsHandler] Downloaded skill content, length: ${skillContent.length} bytes`)
459
-
460
- // 确定安装位置
461
- const installLocations: (string | undefined)[] = []
462
-
463
- // 检查 agentIds 是否只包含 mainId
464
- const hasOnlyMainId = agentIds.length === 1 && agentIds[0] === mainId
465
- // 检查 agentIds 是否包含 mainId 和其他 id
466
- const hasMainIdAndOthers = agentIds.includes(mainId) && agentIds.length > 1
467
-
468
- if (hasOnlyMainId) {
469
- // 如果只有 mainId,安装到默认位置
470
- log?.info?.(`[SkillsHandler] Only mainId found, installing to default location`)
471
- installLocations.push(undefined)
472
- }
473
- else if (hasMainIdAndOthers) {
474
- // 如果有 mainId 和其他 id,安装到默认位置和其他 id 位置
475
- log?.info?.(`[SkillsHandler] mainId and other agents found, installing to default location and other agents`)
476
- installLocations.push(undefined)
477
- // 添加其他 id 位置(排除 mainId)
478
- installLocations.push(...agentIds.filter(id => id !== mainId))
479
- }
480
- else if (agentIds.length > 0) {
481
- // 如果没有 mainId,安装到所有指定的 agentId 位置
482
- log?.info?.(`[SkillsHandler] No mainId found, installing to all specified agents`)
483
- installLocations.push(...agentIds)
484
- }
485
- else {
486
- // 如果没有指定智能体,安装到默认位置
487
- log?.info?.(`[SkillsHandler] No agents specified, installing to default location`)
488
- installLocations.push(undefined)
489
- }
490
-
491
- // 安装技能到所有位置
492
- const installResults = await installSkillToLocations(skillName, skillContent, installLocations, log)
493
-
494
- log?.info?.(`[SkillsHandler] Skill installed to ${installResults.length} locations`)
495
-
496
- return {
497
- userId,
498
- skillName,
499
- agentId: '',
500
- agentIds: agentIds.length > 0 ? agentIds : undefined,
501
- status: 'add',
502
- installedAt: new Date().toISOString(),
503
- }
504
- }
505
- catch (err: any) {
506
- log?.error?.(`[SkillsHandler] Failed to create skill from URL: ${err.message}`)
507
- throw err
508
- }
509
- }
510
-
511
- return {
512
- userId,
513
- skillName,
514
- agentId: '',
515
- agentIds: agentIds.length > 0 ? agentIds : undefined,
516
- status: 'add',
517
- createdAt: new Date().toISOString(),
518
- }
519
- }
520
-
521
- /**
522
- * 更新 Skill
523
- */
524
- async function handleUpdateSkill(
525
- data: any,
526
- log?: {
527
- info?: (msg: string) => void
528
- error?: (msg: string) => void
529
- },
530
- ): Promise<any> {
531
- const { id, ...updates } = data
532
-
533
- if (!id) {
534
- const error: any = new Error('Missing required field: id')
535
- error.code = 'MISSING_FIELDS'
536
- throw error
537
- }
538
-
539
- log?.info?.(`[SkillsHandler] Updating skill: ${id}`)
540
-
541
- return {
542
- id,
543
- ...updates,
544
- status: 'updated',
545
- updatedAt: new Date().toISOString(),
546
- }
547
- }
548
-
549
- /**
550
- * 删除 Skill
551
- */
552
- async function deleteSkillAtLocation(skillName: string, agentId: string | undefined, log?: any): Promise<boolean> {
553
- try {
554
- const skillsDir = await getSkillsDir(agentId, log)
555
-
556
- const skillFilePath = path.join(skillsDir, `${skillName}.json`)
557
- const skillDirPath = path.join(skillsDir, skillName)
558
-
559
- let deleted = false
560
-
561
- // 尝试删除技能文件
562
- try {
563
- await fs.unlink(skillFilePath)
564
- log?.info?.(`[SkillsHandler] Skill file deleted: ${skillFilePath}`)
565
- deleted = true
566
- }
567
- catch (err: any) {
568
- // 文件不存在,继续尝试删除目录
569
- }
570
-
571
- // 尝试删除技能目录(ZIP 安装的技能)
572
- try {
573
- await fs.rm(skillDirPath, { recursive: true, force: true })
574
- log?.info?.(`[SkillsHandler] Skill directory deleted: ${skillDirPath}`)
575
- deleted = true
576
- }
577
- catch (err: any) {
578
- // 目录不存在,继续
579
- }
580
-
581
- return deleted
582
- }
583
- catch (err: any) {
584
- log?.error?.(`[SkillsHandler] Failed to delete skill at location: ${err.message}`)
585
- return false
586
- }
587
- }
588
-
589
- async function handleDeleteSkill(
590
- data: any,
591
- log?: {
592
- info?: (msg: string) => void
593
- error?: (msg: string) => void
594
- },
595
- ): Promise<any> {
596
- const { userId, skillName, agentIds, mainId } = data
597
- const agentIdsList = Array.isArray(agentIds) ? agentIds : (agentIds ? [agentIds] : [])
598
-
599
- if (!skillName) {
600
- const error: any = new Error('Missing required field: skillName')
601
- error.code = 'MISSING_FIELDS'
602
- throw error
603
- }
604
-
605
- log?.info?.(`[SkillsHandler] Deleting skill: ${skillName}`)
606
- log?.info?.(`[SkillsHandler] mainId: ${mainId}`)
607
- if (agentIdsList.length > 0) {
608
- log?.info?.(`[SkillsHandler] Target agents: ${agentIdsList.join(', ')}`)
609
- }
610
-
611
- try {
612
- let deleted = false
613
-
614
- // 检查 agentIds 是否只包含 mainId
615
- const hasOnlyMainId = agentIdsList.length === 1 && agentIdsList[0] === mainId
616
- // 检查 agentIds 是否包含 mainId 和其他 id
617
- const hasMainIdAndOthers = agentIdsList.includes(mainId) && agentIdsList.length > 1
618
-
619
- if (hasOnlyMainId) {
620
- // 如果只有 mainId,从默认位置删除
621
- log?.info?.(`[SkillsHandler] Only mainId found, deleting from default location`)
622
- deleted = await deleteSkillAtLocation(skillName, undefined, log)
623
- }
624
- else if (hasMainIdAndOthers) {
625
- // 如果有 mainId 和其他 id,从默认位置和其他 id 位置删除
626
- log?.info?.(`[SkillsHandler] mainId and other agents found, deleting from default location and other agents`)
627
-
628
- // 从默认位置删除
629
- const defaultDeleted = await deleteSkillAtLocation(skillName, undefined, log)
630
- deleted = deleted || defaultDeleted
631
-
632
- // 从其他 id 位置删除(排除 mainId)
633
- for (const agentId of agentIdsList) {
634
- if (agentId !== mainId) {
635
- const agentDeleted = await deleteSkillAtLocation(skillName, agentId, log)
636
- deleted = deleted || agentDeleted
637
- }
638
- }
639
- }
640
- else if (agentIdsList.length > 0) {
641
- // 如果没有 mainId,从所有指定的 agentId 位置删除
642
- log?.info?.(`[SkillsHandler] No mainId found, deleting from all specified agents`)
643
- for (const agentId of agentIdsList) {
644
- const agentDeleted = await deleteSkillAtLocation(skillName, agentId, log)
645
- deleted = deleted || agentDeleted
646
- }
647
- }
648
- else {
649
- // 如果没有指定智能体,从默认位置删除
650
- log?.info?.(`[SkillsHandler] No agents specified, deleting from default location`)
651
- deleted = await deleteSkillAtLocation(skillName, undefined, log)
652
- }
653
-
654
- if (!deleted) {
655
- const error: any = new Error(`Skill not found: ${skillName}`)
656
- error.code = 'SKILL_NOT_FOUND'
657
- throw error
658
- }
659
-
660
- return {
661
- userId,
662
- skillName,
663
- agentId: '',
664
- agentIds: agentIdsList.length > 0 ? agentIdsList : undefined,
665
- status: 'remove',
666
- deletedAt: new Date().toISOString(),
667
- }
668
- }
669
- catch (err: any) {
670
- log?.error?.(`[SkillsHandler] Failed to delete skill: ${err.message}`)
671
- throw err
672
- }
673
- }
674
-
675
- /**
676
- * 查询 Skills 列表
677
- */
678
- async function handleListSkills(
679
- data: any,
680
- log?: {
681
- info?: (msg: string) => void
682
- error?: (msg: string) => void
683
- },
684
- ): Promise<any> {
685
- const { filter, limit = 100 } = data
686
-
687
- log?.info?.(`[SkillsHandler] Listing skills, filter: ${filter}, limit: ${limit}`)
688
-
689
- try {
690
- // 调用 openclaw skills list 命令
691
- const { stdout } = await execAsync('openclaw skills list --json', {
692
- timeout: 10000,
693
- })
694
-
695
- let skills: any[] = []
696
- try {
697
- const parsed = JSON.parse(stdout)
698
- skills = parsed.skills || parsed
699
- }
700
- catch {
701
- // 解析文本输出
702
- const lines = stdout.split('\n')
703
- skills = lines
704
- .filter(line => line.trim() && !line.includes('Skills'))
705
- .map((line) => {
706
- const parts = line.split(/\s{2,}/).map(p => p.trim())
707
- if (parts.length >= 3) {
708
- return {
709
- status: parts[0]?.includes('✓') ? 'ready' : 'missing',
710
- name: parts[1],
711
- description: parts[2],
712
- source: parts[3] || 'openclaw-bundled',
713
- }
714
- }
715
- return null
716
- })
717
- .filter((s): s is any => s !== null)
718
- }
719
-
720
- // 应用过滤
721
- if (filter) {
722
- skills = skills.filter(s => s.status === filter)
723
- }
724
-
725
- // 应用 limit
726
- skills = skills.slice(0, limit)
727
-
728
- return {
729
- total: skills.length,
730
- skills,
731
- }
732
- }
733
- catch (err: any) {
734
- log?.error?.(`[SkillsHandler] Failed to list skills: ${err.message}`)
735
- // 返回空列表而不是报错
736
- return {
737
- total: 0,
738
- skills: [],
739
- }
740
- }
741
- }
742
-
743
- /**
744
- * 查询单个 Skill
745
- */
746
- async function handleGetSkill(
747
- data: any,
748
- log?: {
749
- info?: (msg: string) => void
750
- error?: (msg: string) => void
751
- },
752
- ): Promise<any> {
753
- const { id } = data
754
-
755
- if (!id) {
756
- const error: any = new Error('Missing required field: id')
757
- error.code = 'MISSING_FIELDS'
758
- throw error
759
- }
760
-
761
- log?.info?.(`[SkillsHandler] Getting skill: ${id}`)
762
-
763
- // TODO: 实现实际的 skill 查询逻辑
764
-
765
- return {
766
- id,
767
- name: `Skill ${id}`,
768
- description: 'Skill description',
769
- status: 'ready',
770
- }
771
- }
772
-
773
- /**
774
- * 执行 Skill
775
- */
776
- async function handleInvokeSkill(
777
- data: any,
778
- log?: {
779
- info?: (msg: string) => void
780
- error?: (msg: string) => void
781
- },
782
- ): Promise<any> {
783
- const { id, input, context } = data
784
-
785
- if (!id) {
786
- const error: any = new Error('Missing required field: id')
787
- error.code = 'MISSING_FIELDS'
788
- throw error
789
- }
790
-
791
- log?.info?.(`[SkillsHandler] Invoking skill: ${id}`)
792
-
793
- // TODO: 实现实际的 skill 执行逻辑
794
-
795
- return {
796
- id,
797
- status: 'completed',
798
- output: {
799
- result: `Skill ${id} executed successfully`,
800
- input,
801
- context,
802
- },
803
- executedAt: new Date().toISOString(),
804
- }
805
- }