@vibe-lark/larkpal 0.1.86 → 0.1.87

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 (208) hide show
  1. package/dist/account-id-BM1T6029-BzQ_cMoi.mjs +1 -0
  2. package/dist/activation-context--5yu1dPF-XV0Y0pTy.mjs +1 -0
  3. package/dist/anthropic-CFZUCb1w.mjs +39 -0
  4. package/dist/assistant-visible-text-DuFWokAt-BOJV_zwc.mjs +9 -0
  5. package/dist/azure-openai-responses-BEuiMaF-.mjs +1 -0
  6. package/dist/boundary-file-read-BSd9MXPy-gnNVhPKT.mjs +1 -0
  7. package/dist/browser-lifecycle-cleanup-BdNsMhMD-BM97qA_M.mjs +1 -0
  8. package/dist/build-Bkj0hOS2.mjs +3 -0
  9. package/dist/bundled-compat-BpaDaAAu-DJtrIX6i.mjs +27 -0
  10. package/dist/bundled-dir-U738ay4K-BxbzrJOo.mjs +1 -0
  11. package/dist/call-DimWbpgJ-B4pv55RH.mjs +20 -0
  12. package/dist/channel-bootstrap.runtime-BVclcGv1-CEZ0-JP9.mjs +1 -0
  13. package/dist/channel-bootstrap.runtime-Cwcr38m2-Dt6QlQkX.mjs +1 -0
  14. package/dist/chunk-DHbaKqs-.mjs +1 -0
  15. package/dist/cli.mjs +7 -92
  16. package/dist/command-format-LSnUCVVF-Dn4h9IOh.mjs +16 -0
  17. package/dist/config-Bim2pi8a-03N-28sw.mjs +1 -0
  18. package/dist/delivery-context.shared-j5hC5qb1-BSLQG47q.mjs +1 -0
  19. package/dist/diagnostic-ClMwNnUA-BMKvPQJT.mjs +1 -0
  20. package/dist/dist-J5UB83Ws.mjs +601 -0
  21. package/dist/dist-coestTs9.mjs +5 -0
  22. package/dist/env-api-keys-Cuz5irWW.mjs +1 -0
  23. package/dist/event-stream-B7Ei41Bu.mjs +1 -0
  24. package/dist/facade-loader-DFzIYYt_-4bzFvy-b.mjs +1 -0
  25. package/dist/from-Ba69_5cR.mjs +14 -0
  26. package/dist/gateway-method-policy-C7rf0SeV-CTJcMQCE.mjs +1 -0
  27. package/dist/github-copilot-headers-BfhryVuU.mjs +1 -0
  28. package/dist/google-ABo-1guT.mjs +1 -0
  29. package/dist/google-gemini-cli-CGlN1zUA.mjs +2 -0
  30. package/dist/google-shared-C60sNhwd.mjs +301 -0
  31. package/dist/google-vertex-De0nAItu.mjs +1 -0
  32. package/dist/hash-Dw-N8Y9l.mjs +1 -0
  33. package/dist/headers-Bpsp70B9.mjs +1 -0
  34. package/dist/home-dir-C44RaPME-B5iLWwCq.mjs +1 -0
  35. package/dist/ids-BPsM98Uu-CJBJAeVC.mjs +1 -0
  36. package/dist/image-2w3cApg7-CrpUMCvm.mjs +3 -0
  37. package/dist/interactive-init-C5MFL5MW.mjs +8 -0
  38. package/dist/io-CH2g3vsv-JJtUIa_U.mjs +10 -0
  39. package/dist/jiti-loader-cache-Bat69wam-DNIteTtO.mjs +9 -0
  40. package/dist/json-file-BQRNuxmK-hRjIgOXI.mjs +1 -0
  41. package/dist/json-parse-BESd8UAM.mjs +3 -0
  42. package/dist/jws-YaZ38F_i.mjs +12 -0
  43. package/dist/lark-cli-provider-BLMxH6CN.mjs +4 -0
  44. package/dist/lark-logger-xpMKNNtY.mjs +1 -0
  45. package/dist/live-smoke-DpURW676.mjs +33 -0
  46. package/dist/load-context-mb7uvLSn-3xYwSnOZ.mjs +1 -0
  47. package/dist/loader-708jrx4Y-BbJRXNlQ.mjs +4 -0
  48. package/dist/main.mjs +153 -74571
  49. package/dist/manifest-registry-_hxKCS2K-OL8KK_o4.mjs +15 -0
  50. package/dist/mcp-server.mjs +4 -527
  51. package/dist/message-channel-Bk_YHfQg-n2Hw2Y0L.mjs +1 -0
  52. package/dist/message-channel-core-DTA--Gjh-CIh10vfo.mjs +1 -0
  53. package/dist/message.config.runtime-K-k4XOyq-F_h0Cgkl.mjs +1 -0
  54. package/dist/message.gateway.runtime-DqHOHRTQ-ge4c5p4s.mjs +1 -0
  55. package/dist/mistral-DyL3Zo1b.mjs +7 -0
  56. package/dist/model-auth-env-oyg2Hexc-DJbt9J3o.mjs +1 -0
  57. package/dist/models-config-BmpSQJQF-BL6S5qAo.mjs +1 -0
  58. package/dist/models-config.runtime-SOhLEw-f.mjs +1 -0
  59. package/dist/multipart-parser-B9dwXBqu.mjs +2 -0
  60. package/dist/oauth-25y2wc7K.mjs +75 -0
  61. package/dist/openai-C-rgGb7X.mjs +16 -0
  62. package/dist/openai-codex-responses-BbyAPsP1.mjs +7 -0
  63. package/dist/openai-completions-Bu5qvQzb.mjs +5 -0
  64. package/dist/openai-responses-pIdwQBc4.mjs +1 -0
  65. package/dist/openai-responses-shared-DqW1JSux.mjs +10 -0
  66. package/dist/paths-D6msg0S1-BO4XgM1u.mjs +1 -0
  67. package/dist/paths-D92DjaZ--DdtJ-zYp.mjs +1 -0
  68. package/dist/pi-model-discovery-Bd0TWzo8-DvSM0eWu.mjs +1 -0
  69. package/dist/pi-model-discovery-runtime-PrjWOmsV.mjs +1 -0
  70. package/dist/pi-tools.before-tool-call.runtime-Bn7uqKie-WPxU5oNX.mjs +2 -0
  71. package/dist/plugin-auto-enable-DdH3n9V8-Dr_bUXkG.mjs +1 -0
  72. package/dist/process-scoped-map-B2cWkYET-Co-i-MXA.mjs +1 -0
  73. package/dist/provider-discovery.runtime-DY0VWQ81.mjs +1 -0
  74. package/dist/provider-model-compat-CFqcq0it-BUwZENrz.mjs +1 -0
  75. package/dist/provider-runtime-C8rljsNs-BDvu6FW3.mjs +1 -0
  76. package/dist/provider-runtime-CT50mNIX-DImw7ZZu.mjs +79 -0
  77. package/dist/provider-stream-COLujAAo-Dpq1DSIk.mjs +248 -0
  78. package/dist/providers.runtime-Ba7tOlq7-B4t6ywCr.mjs +1 -0
  79. package/dist/public-surface-loader-BVl0NQAE-TfJ3izj1.mjs +1 -0
  80. package/dist/resolve-C33B7eeu-DZM_z6Wr.mjs +1 -0
  81. package/dist/runtime-Cym-fqI8-1GOIuRRQ.mjs +1 -0
  82. package/dist/runtime-channel-state-CohMybAh-BBzhl07Q.mjs +1 -0
  83. package/dist/runtime-snapshot-C54O1-gI-DxusscPf.mjs +1 -0
  84. package/dist/runtime-state-IBOIXKOx-Cw1GA1td.mjs +1 -0
  85. package/dist/runtime-web-tools-fallback.runtime-Ca-qn1mj-BsYE2gOd.mjs +1 -0
  86. package/dist/runtime-web-tools-manifest.runtime-BgxQTjmq-P6MKP9gQ.mjs +1 -0
  87. package/dist/runtime-web-tools-public-artifacts.runtime-D9qcoWIX-5VoyjouO.mjs +1 -0
  88. package/dist/session-archive.runtime-B52_5vs4-cU2tYbBz.mjs +1 -0
  89. package/dist/session-key-Cn2QoOyX-QZeYmbxd.mjs +1 -0
  90. package/dist/session-transcript-files.fs-DEeFXruQ-CXIAFSsr.mjs +1 -0
  91. package/dist/src-CCDx_C-U.mjs +3 -0
  92. package/dist/src-DACmA9V6.mjs +5 -0
  93. package/dist/subagent-announce-L5WsQatW--rMn240x.mjs +2 -0
  94. package/dist/subagent-announce.registry.runtime-DiqZyeTs-DNfNHsls.mjs +1 -0
  95. package/dist/subagent-registry-steer-runtime-DFgZFC0j-XYS1_qwl.mjs +1 -0
  96. package/dist/subagent-system-prompt-C1qnN--K-CsU4f97T.mjs +23 -0
  97. package/dist/target-parsing-loaded-DKkb6jJY-B830OA1a.mjs +12 -0
  98. package/dist/task-registry-delivery-runtime-Dd1CUkZF-B2Hj2k8C.mjs +16 -0
  99. package/dist/task-registry-delivery-runtime-ragbeVx5-Bdvo2Q5u.mjs +1 -0
  100. package/dist/thinking-Bh-7MqXz-uApNUe6g.mjs +1 -0
  101. package/dist/transcript-E_-ISOkD-VTwb782D.mjs +5 -0
  102. package/dist/transcript.runtime-BqhvZZdl-B4E0TiX5.mjs +1 -0
  103. package/dist/transform-messages-BTA3xbAI.mjs +1 -0
  104. package/dist/web-provider-public-artifacts-BlpRwIUS-DbVhDOrY.mjs +1 -0
  105. package/dist/web-search-providers.runtime--0aUtC3b-Bjh4Bmrz.mjs +1 -0
  106. package/package.json +2 -3
  107. package/dist/account-id-BM1T6029-DYjVxojW.mjs +0 -46
  108. package/dist/activation-context--5yu1dPF-Bwsn3moT.mjs +0 -172
  109. package/dist/anthropic-TH8ERTXK.mjs +0 -5962
  110. package/dist/assistant-visible-text-DuFWokAt-CsbII5KS.mjs +0 -596
  111. package/dist/azure-openai-responses-Bt_Ag9Er.mjs +0 -166
  112. package/dist/boundary-file-read-BSd9MXPy--KThL5e6.mjs +0 -594
  113. package/dist/browser-lifecycle-cleanup-BdNsMhMD-O3tnAM4i.mjs +0 -60
  114. package/dist/build-DgTrEpge.mjs +0 -3333
  115. package/dist/bundled-compat-BpaDaAAu-D7oazKjD.mjs +0 -5216
  116. package/dist/bundled-dir-U738ay4K-DXK0q_TV.mjs +0 -258
  117. package/dist/call-DimWbpgJ-ColD4W-y.mjs +0 -9993
  118. package/dist/channel-bootstrap.runtime-BVclcGv1-DJv_Z-Kr.mjs +0 -2
  119. package/dist/channel-bootstrap.runtime-Cwcr38m2-VRfVCR-i.mjs +0 -33
  120. package/dist/chunk-D6SyT4dJ.mjs +0 -36
  121. package/dist/command-format-LSnUCVVF-BQ2SMKka.mjs +0 -685
  122. package/dist/config-Bim2pi8a-BQUdfiEi.mjs +0 -9
  123. package/dist/delivery-context.shared-j5hC5qb1-CI83RXXZ.mjs +0 -72
  124. package/dist/diagnostic-ClMwNnUA-D6nUtLnb.mjs +0 -140
  125. package/dist/dist-CEGw8-2W.mjs +0 -429
  126. package/dist/dist-DD2aJ2UL.mjs +0 -125135
  127. package/dist/env-api-keys-BVvSg7T2.mjs +0 -68
  128. package/dist/event-stream-xaQWmyas.mjs +0 -15226
  129. package/dist/facade-loader-DFzIYYt_-CIr4HKtE.mjs +0 -194
  130. package/dist/from-DF7cl2wz.mjs +0 -3842
  131. package/dist/gateway-method-policy-C7rf0SeV-CJQMEYIE.mjs +0 -28
  132. package/dist/github-copilot-headers-DjqWtUoP.mjs +0 -22
  133. package/dist/google-C2pVrgBZ.mjs +0 -336
  134. package/dist/google-gemini-cli-BBxgS5Ho.mjs +0 -623
  135. package/dist/google-shared-BsWgwEk1.mjs +0 -22791
  136. package/dist/google-vertex-BsVLJrrC.mjs +0 -358
  137. package/dist/hash-DAFtW_W7.mjs +0 -16
  138. package/dist/headers-R3HdCbAE.mjs +0 -8
  139. package/dist/home-dir-C44RaPME-CBRS4HLP.mjs +0 -93
  140. package/dist/ids-BPsM98Uu-CwuxvUai.mjs +0 -77
  141. package/dist/image-2w3cApg7-CxpHvoB5.mjs +0 -207
  142. package/dist/interactive-init-BXQBalNr.mjs +0 -450
  143. package/dist/io-CH2g3vsv-BOGlLlB8.mjs +0 -26218
  144. package/dist/jiti-loader-cache-Bat69wam-D6hCxboy.mjs +0 -5049
  145. package/dist/json-file-BQRNuxmK-DhJM5NsG.mjs +0 -108
  146. package/dist/json-parse-v_HIJjjI.mjs +0 -381
  147. package/dist/jws-GFcTvvVT.mjs +0 -2291
  148. package/dist/lark-cli-provider-BARgbbmo.mjs +0 -554
  149. package/dist/lark-logger-D7_pEVQc.mjs +0 -143
  150. package/dist/live-smoke-BhkBOcH9.mjs +0 -7135
  151. package/dist/load-context-mb7uvLSn-B10MAi3I.mjs +0 -29
  152. package/dist/loader-708jrx4Y-BOswuvpe.mjs +0 -5053
  153. package/dist/manifest-registry-_hxKCS2K-CZdeyN0f.mjs +0 -3512
  154. package/dist/message-channel-Bk_YHfQg-AeNrPPpp.mjs +0 -50
  155. package/dist/message-channel-core-DTA--Gjh-CY4Tkb7N.mjs +0 -29
  156. package/dist/message.config.runtime-K-k4XOyq-DZTmXomP.mjs +0 -2
  157. package/dist/message.gateway.runtime-DqHOHRTQ-DH4ml0YF.mjs +0 -2
  158. package/dist/mistral-CaR4DiLu.mjs +0 -28657
  159. package/dist/model-auth-env-oyg2Hexc-DU_rOUU5.mjs +0 -1306
  160. package/dist/models-config-BmpSQJQF-Gfvh1n3A.mjs +0 -1282
  161. package/dist/models-config.runtime-BsU_22xk.mjs +0 -2
  162. package/dist/multipart-parser-DedmaB5g.mjs +0 -294
  163. package/dist/oauth-DOJeGfcE.mjs +0 -6392
  164. package/dist/openai-BDtIh3Ja.mjs +0 -6693
  165. package/dist/openai-codex-responses-C5EORu31.mjs +0 -664
  166. package/dist/openai-completions-CR_cS6gX.mjs +0 -669
  167. package/dist/openai-responses-oGxwZyuC.mjs +0 -184
  168. package/dist/openai-responses-shared-BixMSDZE.mjs +0 -398
  169. package/dist/paths-D6msg0S1-C2lYuisN.mjs +0 -189
  170. package/dist/paths-D92DjaZ--CTOESW2b.mjs +0 -192
  171. package/dist/pi-model-discovery-Bd0TWzo8-BFsJmeMb.mjs +0 -227
  172. package/dist/pi-model-discovery-runtime-CCCZxkd8.mjs +0 -2
  173. package/dist/pi-tools.before-tool-call.runtime-Bn7uqKie-C5ewk8kK.mjs +0 -399
  174. package/dist/plugin-auto-enable-DdH3n9V8-DsA1isaF.mjs +0 -1456
  175. package/dist/process-scoped-map-B2cWkYET-CXwUZ8CZ.mjs +0 -61
  176. package/dist/provider-discovery.runtime-BPzz1PFj.mjs +0 -58
  177. package/dist/provider-model-compat-CFqcq0it-BDDuBI3A.mjs +0 -118
  178. package/dist/provider-runtime-C8rljsNs-CIT93zoy.mjs +0 -2
  179. package/dist/provider-runtime-CT50mNIX-BwEV6GyO.mjs +0 -573
  180. package/dist/provider-stream-COLujAAo-CbJPDngm.mjs +0 -35449
  181. package/dist/providers.runtime-Ba7tOlq7-CXkhkzU9.mjs +0 -219
  182. package/dist/public-surface-loader-BVl0NQAE-C0piXtsT.mjs +0 -117
  183. package/dist/resolve-C33B7eeu-BNvYTl6k.mjs +0 -1041
  184. package/dist/runtime-Cym-fqI8-DaSDMH-a.mjs +0 -120
  185. package/dist/runtime-channel-state-CohMybAh-hXR6y5Gx.mjs +0 -19
  186. package/dist/runtime-snapshot-C54O1-gI-40cbyi7P.mjs +0 -677
  187. package/dist/runtime-state-IBOIXKOx-Bf9tcLvc.mjs +0 -10
  188. package/dist/runtime-web-tools-fallback.runtime-Ca-qn1mj-BCVImm7a.mjs +0 -39
  189. package/dist/runtime-web-tools-manifest.runtime-BgxQTjmq-Cb4nJkRT.mjs +0 -2
  190. package/dist/runtime-web-tools-public-artifacts.runtime-D9qcoWIX-BrQdXzOQ.mjs +0 -2
  191. package/dist/session-archive.runtime-B52_5vs4-BG-_IwNJ.mjs +0 -2
  192. package/dist/session-key-Cn2QoOyX-CuHbJMgR.mjs +0 -82
  193. package/dist/session-transcript-files.fs-DEeFXruQ-B1PF6nLy.mjs +0 -147
  194. package/dist/src-BgCX0MLG.mjs +0 -813
  195. package/dist/src-DYbqlAqf.mjs +0 -1177
  196. package/dist/subagent-announce-L5WsQatW-CQWI9GMd.mjs +0 -344
  197. package/dist/subagent-announce.registry.runtime-DiqZyeTs-BKuniyi3.mjs +0 -28
  198. package/dist/subagent-registry-steer-runtime-DFgZFC0j-BhBz0roy.mjs +0 -211
  199. package/dist/subagent-system-prompt-C1qnN--K-DpnTFP47.mjs +0 -3061
  200. package/dist/target-parsing-loaded-DKkb6jJY-BMD4CkpS.mjs +0 -1002
  201. package/dist/task-registry-delivery-runtime-Dd1CUkZF-C8U40a3O.mjs +0 -2950
  202. package/dist/task-registry-delivery-runtime-ragbeVx5-CNbFAkjD.mjs +0 -2
  203. package/dist/thinking-Bh-7MqXz-D3woGbO7.mjs +0 -2
  204. package/dist/transcript-E_-ISOkD-DWCfZP2p.mjs +0 -2019
  205. package/dist/transcript.runtime-BqhvZZdl-BPy42vBP.mjs +0 -2
  206. package/dist/transform-messages-DbhIzTxq.mjs +0 -207
  207. package/dist/web-provider-public-artifacts-BlpRwIUS-CGPSV4W2.mjs +0 -295
  208. package/dist/web-search-providers.runtime--0aUtC3b-DyuhC95V.mjs +0 -200
@@ -1,258 +0,0 @@
1
- import { i as resolveRequiredHomeDir, n as resolveEffectiveHomeDir, r as resolveHomeRelativePath, s as normalizeOptionalLowercaseString } from "./home-dir-C44RaPME-CBRS4HLP.mjs";
2
- import fs from "node:fs";
3
- import path from "node:path";
4
- import { fileURLToPath } from "node:url";
5
- import "node:fs/promises";
6
- import os from "node:os";
7
- //#region node_modules/.pnpm/openclaw@2026.4.22_@napi-rs+canvas@0.1.99/node_modules/openclaw/dist/utils-CB8xp0O4.js
8
- /**
9
- * Strict plain-object guard (excludes arrays and host objects).
10
- */
11
- function isPlainObject(value) {
12
- return typeof value === "object" && value !== null && !Array.isArray(value) && Object.prototype.toString.call(value) === "[object Object]";
13
- }
14
- async function ensureDir(dir) {
15
- await fs.promises.mkdir(dir, { recursive: true });
16
- }
17
- /**
18
- * Escapes special regex characters in a string so it can be used in a RegExp constructor.
19
- */
20
- function escapeRegExp(value) {
21
- return value.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
22
- }
23
- /**
24
- * Type guard for Record<string, unknown> (less strict than isPlainObject).
25
- * Accepts any non-null object that isn't an array.
26
- */
27
- function isRecord(value) {
28
- return typeof value === "object" && value !== null && !Array.isArray(value);
29
- }
30
- function isHighSurrogate(codeUnit) {
31
- return codeUnit >= 55296 && codeUnit <= 56319;
32
- }
33
- function isLowSurrogate(codeUnit) {
34
- return codeUnit >= 56320 && codeUnit <= 57343;
35
- }
36
- function sliceUtf16Safe(input, start, end) {
37
- const len = input.length;
38
- let from = start < 0 ? Math.max(len + start, 0) : Math.min(start, len);
39
- let to = end === void 0 ? len : end < 0 ? Math.max(len + end, 0) : Math.min(end, len);
40
- if (to < from) {
41
- const tmp = from;
42
- from = to;
43
- to = tmp;
44
- }
45
- if (from > 0 && from < len) {
46
- if (isLowSurrogate(input.charCodeAt(from)) && isHighSurrogate(input.charCodeAt(from - 1))) from += 1;
47
- }
48
- if (to > 0 && to < len) {
49
- if (isHighSurrogate(input.charCodeAt(to - 1)) && isLowSurrogate(input.charCodeAt(to))) to -= 1;
50
- }
51
- return input.slice(from, to);
52
- }
53
- function truncateUtf16Safe(input, maxLen) {
54
- const limit = Math.max(0, Math.floor(maxLen));
55
- if (input.length <= limit) return input;
56
- return sliceUtf16Safe(input, 0, limit);
57
- }
58
- function resolveUserPath(input, env = process.env, homedir = os.homedir) {
59
- if (!input) return "";
60
- return resolveHomeRelativePath(input, {
61
- env,
62
- homedir
63
- });
64
- }
65
- function resolveConfigDir(env = process.env, homedir = os.homedir) {
66
- const override = env.OPENCLAW_STATE_DIR?.trim();
67
- if (override) return resolveUserPath(override, env, homedir);
68
- const configPath = env.OPENCLAW_CONFIG_PATH?.trim();
69
- if (configPath) return path.dirname(resolveUserPath(configPath, env, homedir));
70
- const newDir = path.join(resolveRequiredHomeDir(env, homedir), ".openclaw");
71
- try {
72
- if (fs.existsSync(newDir)) return newDir;
73
- } catch {}
74
- return newDir;
75
- }
76
- function resolveHomeDir() {
77
- return resolveEffectiveHomeDir(process.env, os.homedir);
78
- }
79
- function resolveHomeDisplayPrefix() {
80
- const home = resolveHomeDir();
81
- if (!home) return;
82
- if (process.env.OPENCLAW_HOME?.trim()) return {
83
- home,
84
- prefix: "$OPENCLAW_HOME"
85
- };
86
- return {
87
- home,
88
- prefix: "~"
89
- };
90
- }
91
- function shortenHomeInString(input) {
92
- if (!input) return input;
93
- const display = resolveHomeDisplayPrefix();
94
- if (!display) return input;
95
- return input.split(display.home).join(display.prefix);
96
- }
97
- const CONFIG_DIR = resolveConfigDir();
98
- //#endregion
99
- //#region node_modules/.pnpm/openclaw@2026.4.22_@napi-rs+canvas@0.1.99/node_modules/openclaw/dist/openclaw-root-GhlHRwjz.js
100
- const CORE_PACKAGE_NAMES = new Set(["openclaw"]);
101
- function parsePackageName(raw) {
102
- const parsed = JSON.parse(raw);
103
- return typeof parsed.name === "string" ? parsed.name : null;
104
- }
105
- function readPackageNameSync(dir) {
106
- try {
107
- return parsePackageName(fs.readFileSync(path.join(dir, "package.json"), "utf-8"));
108
- } catch {
109
- return null;
110
- }
111
- }
112
- function findPackageRootSync(startDir, maxDepth = 12) {
113
- for (const current of iterAncestorDirs(startDir, maxDepth)) {
114
- const name = readPackageNameSync(current);
115
- if (name && CORE_PACKAGE_NAMES.has(name)) return current;
116
- }
117
- return null;
118
- }
119
- function* iterAncestorDirs(startDir, maxDepth) {
120
- let current = path.resolve(startDir);
121
- for (let i = 0; i < maxDepth; i += 1) {
122
- yield current;
123
- const parent = path.dirname(current);
124
- if (parent === current) break;
125
- current = parent;
126
- }
127
- }
128
- function candidateDirsFromArgv1(argv1) {
129
- const normalized = path.resolve(argv1);
130
- const candidates = [path.dirname(normalized)];
131
- try {
132
- const resolved = fs.realpathSync(normalized);
133
- if (resolved !== normalized) candidates.push(path.dirname(resolved));
134
- } catch {}
135
- const parts = normalized.split(path.sep);
136
- const binIndex = parts.lastIndexOf(".bin");
137
- if (binIndex > 0 && parts[binIndex - 1] === "node_modules") {
138
- const binName = path.basename(normalized);
139
- const nodeModulesDir = parts.slice(0, binIndex).join(path.sep);
140
- candidates.push(path.join(nodeModulesDir, binName));
141
- }
142
- return candidates;
143
- }
144
- function resolveOpenClawPackageRootSync(opts) {
145
- for (const candidate of buildCandidates(opts)) {
146
- const found = findPackageRootSync(candidate);
147
- if (found) return found;
148
- }
149
- return null;
150
- }
151
- function buildCandidates(opts) {
152
- const candidates = [];
153
- if (opts.moduleUrl) try {
154
- candidates.push(path.dirname(fileURLToPath(opts.moduleUrl)));
155
- } catch {}
156
- if (opts.argv1) candidates.push(...candidateDirsFromArgv1(opts.argv1));
157
- if (opts.cwd) candidates.push(opts.cwd);
158
- return candidates;
159
- }
160
- //#endregion
161
- //#region node_modules/.pnpm/openclaw@2026.4.22_@napi-rs+canvas@0.1.99/node_modules/openclaw/dist/bundled-dir-U738ay4K.js
162
- const DISABLED_BUNDLED_PLUGINS_DIR = path.join(os.tmpdir(), "openclaw-empty-bundled-plugins");
163
- function bundledPluginsDisabled(env) {
164
- const raw = normalizeOptionalLowercaseString(env.OPENCLAW_DISABLE_BUNDLED_PLUGINS);
165
- return raw === "1" || raw === "true";
166
- }
167
- function resolveDisabledBundledPluginsDir() {
168
- fs.mkdirSync(DISABLED_BUNDLED_PLUGINS_DIR, { recursive: true });
169
- return DISABLED_BUNDLED_PLUGINS_DIR;
170
- }
171
- function isSourceCheckoutRoot(packageRoot) {
172
- return fs.existsSync(path.join(packageRoot, ".git")) && fs.existsSync(path.join(packageRoot, "src")) && fs.existsSync(path.join(packageRoot, "extensions"));
173
- }
174
- function hasUsableBundledPluginTree(pluginsDir) {
175
- if (!fs.existsSync(pluginsDir)) return false;
176
- try {
177
- return fs.readdirSync(pluginsDir, { withFileTypes: true }).some((entry) => {
178
- if (!entry.isDirectory()) return false;
179
- const pluginDir = path.join(pluginsDir, entry.name);
180
- return fs.existsSync(path.join(pluginDir, "package.json")) || fs.existsSync(path.join(pluginDir, "openclaw.plugin.json"));
181
- });
182
- } catch {
183
- return false;
184
- }
185
- }
186
- function runningSourceTypeScriptProcess() {
187
- const argv1 = process.argv[1]?.toLowerCase();
188
- if (argv1?.endsWith(".ts") || argv1?.endsWith(".tsx") || argv1?.endsWith(".mts") || argv1?.endsWith(".cts")) return true;
189
- for (let index = 0; index < process.execArgv.length; index += 1) {
190
- const arg = process.execArgv[index]?.toLowerCase();
191
- if (!arg) continue;
192
- if (arg === "tsx" || arg.includes("tsx/register")) return true;
193
- if ((arg === "--import" || arg === "--loader") && process.execArgv[index + 1]) {
194
- const next = process.execArgv[index + 1].toLowerCase();
195
- if (next === "tsx" || next.includes("tsx/")) return true;
196
- }
197
- }
198
- return false;
199
- }
200
- function resolveBundledDirFromPackageRoot(packageRoot, preferSourceCheckout) {
201
- const sourceExtensionsDir = path.join(packageRoot, "extensions");
202
- const builtExtensionsDir = path.join(packageRoot, "dist", "extensions");
203
- const sourceCheckout = isSourceCheckoutRoot(packageRoot);
204
- if (preferSourceCheckout && fs.existsSync(sourceExtensionsDir)) return sourceExtensionsDir;
205
- const runtimeExtensionsDir = path.join(packageRoot, "dist-runtime", "extensions");
206
- const hasUsableRuntimeTree = sourceCheckout ? hasUsableBundledPluginTree(runtimeExtensionsDir) : fs.existsSync(runtimeExtensionsDir);
207
- const hasUsableBuiltTree = sourceCheckout ? hasUsableBundledPluginTree(builtExtensionsDir) : fs.existsSync(builtExtensionsDir);
208
- if (hasUsableRuntimeTree && hasUsableBuiltTree) return runtimeExtensionsDir;
209
- if (hasUsableBuiltTree) return builtExtensionsDir;
210
- if (sourceCheckout && fs.existsSync(sourceExtensionsDir)) return sourceExtensionsDir;
211
- }
212
- function resolveBundledPluginsDir(env = process.env) {
213
- if (bundledPluginsDisabled(env)) return resolveDisabledBundledPluginsDir();
214
- const override = env.OPENCLAW_BUNDLED_PLUGINS_DIR?.trim();
215
- if (override) {
216
- const resolvedOverride = resolveUserPath(override, env);
217
- if (fs.existsSync(resolvedOverride)) return resolvedOverride;
218
- try {
219
- const argvPackageRoot = resolveOpenClawPackageRootSync({ argv1: process.argv[1] });
220
- if (argvPackageRoot && !isSourceCheckoutRoot(argvPackageRoot)) {
221
- const argvFallback = resolveBundledDirFromPackageRoot(argvPackageRoot, false);
222
- if (argvFallback) return argvFallback;
223
- }
224
- } catch {}
225
- return resolvedOverride;
226
- }
227
- const preferSourceCheckout = Boolean(env.VITEST) || runningSourceTypeScriptProcess();
228
- try {
229
- const packageRoots = [
230
- resolveOpenClawPackageRootSync({ argv1: process.argv[1] }),
231
- resolveOpenClawPackageRootSync({ cwd: process.cwd() }),
232
- resolveOpenClawPackageRootSync({ moduleUrl: import.meta.url })
233
- ].filter((entry, index, all) => Boolean(entry) && all.indexOf(entry) === index);
234
- for (const packageRoot of packageRoots) {
235
- const bundledDir = resolveBundledDirFromPackageRoot(packageRoot, preferSourceCheckout);
236
- if (bundledDir) return bundledDir;
237
- }
238
- } catch {}
239
- try {
240
- const execDir = path.dirname(process.execPath);
241
- const siblingBuilt = path.join(execDir, "dist", "extensions");
242
- if (fs.existsSync(siblingBuilt)) return siblingBuilt;
243
- const sibling = path.join(execDir, "extensions");
244
- if (fs.existsSync(sibling)) return sibling;
245
- } catch {}
246
- try {
247
- let cursor = path.dirname(fileURLToPath(import.meta.url));
248
- for (let i = 0; i < 6; i += 1) {
249
- const candidate = path.join(cursor, "extensions");
250
- if (fs.existsSync(candidate)) return candidate;
251
- const parent = path.dirname(cursor);
252
- if (parent === cursor) break;
253
- cursor = parent;
254
- }
255
- } catch {}
256
- }
257
- //#endregion
258
- export { escapeRegExp as a, resolveConfigDir as c, truncateUtf16Safe as d, ensureDir as i, resolveUserPath as l, resolveOpenClawPackageRootSync as n, isPlainObject as o, CONFIG_DIR as r, isRecord as s, resolveBundledPluginsDir as t, shortenHomeInString as u };