@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,358 +0,0 @@
1
- import { r as calculateCost, t as AssistantMessageEventStream } from "./event-stream-xaQWmyas.mjs";
2
- import { a as sanitizeSurrogates, i as clampReasoning, r as buildBaseOptions } from "./transform-messages-DbhIzTxq.mjs";
3
- import { c as GoogleGenAI, i as mapStopReason, l as ThinkingLevel, n as convertTools, o as mapToolChoice, r as isThinkingPart, s as retainThoughtSignature, t as convertMessages } from "./google-shared-BsWgwEk1.mjs";
4
- //#region node_modules/.pnpm/@mariozechner+pi-ai@0.69.0_@modelcontextprotocol+sdk@1.29.0_zod@4.3.6__ws@8.21.0_zod@4.3.6/node_modules/@mariozechner/pi-ai/dist/providers/google-vertex.js
5
- const API_VERSION = "v1";
6
- const GCP_VERTEX_CREDENTIALS_MARKER = "gcp-vertex-credentials";
7
- const THINKING_LEVEL_MAP = {
8
- THINKING_LEVEL_UNSPECIFIED: ThinkingLevel.THINKING_LEVEL_UNSPECIFIED,
9
- MINIMAL: ThinkingLevel.MINIMAL,
10
- LOW: ThinkingLevel.LOW,
11
- MEDIUM: ThinkingLevel.MEDIUM,
12
- HIGH: ThinkingLevel.HIGH
13
- };
14
- let toolCallCounter = 0;
15
- const streamGoogleVertex = (model, context, options) => {
16
- const stream = new AssistantMessageEventStream();
17
- (async () => {
18
- const output = {
19
- role: "assistant",
20
- content: [],
21
- api: "google-vertex",
22
- provider: model.provider,
23
- model: model.id,
24
- usage: {
25
- input: 0,
26
- output: 0,
27
- cacheRead: 0,
28
- cacheWrite: 0,
29
- totalTokens: 0,
30
- cost: {
31
- input: 0,
32
- output: 0,
33
- cacheRead: 0,
34
- cacheWrite: 0,
35
- total: 0
36
- }
37
- },
38
- stopReason: "stop",
39
- timestamp: Date.now()
40
- };
41
- try {
42
- const apiKey = resolveApiKey(options);
43
- const client = apiKey ? createClientWithApiKey(model, apiKey, options?.headers) : createClient(model, resolveProject(options), resolveLocation(options), options?.headers);
44
- let params = buildParams(model, context, options);
45
- const nextParams = await options?.onPayload?.(params, model);
46
- if (nextParams !== void 0) params = nextParams;
47
- const googleStream = await client.models.generateContentStream(params);
48
- stream.push({
49
- type: "start",
50
- partial: output
51
- });
52
- let currentBlock = null;
53
- const blocks = output.content;
54
- const blockIndex = () => blocks.length - 1;
55
- for await (const chunk of googleStream) {
56
- output.responseId ||= chunk.responseId;
57
- const candidate = chunk.candidates?.[0];
58
- if (candidate?.content?.parts) for (const part of candidate.content.parts) {
59
- if (part.text !== void 0) {
60
- const isThinking = isThinkingPart(part);
61
- if (!currentBlock || isThinking && currentBlock.type !== "thinking" || !isThinking && currentBlock.type !== "text") {
62
- if (currentBlock) if (currentBlock.type === "text") stream.push({
63
- type: "text_end",
64
- contentIndex: blocks.length - 1,
65
- content: currentBlock.text,
66
- partial: output
67
- });
68
- else stream.push({
69
- type: "thinking_end",
70
- contentIndex: blockIndex(),
71
- content: currentBlock.thinking,
72
- partial: output
73
- });
74
- if (isThinking) {
75
- currentBlock = {
76
- type: "thinking",
77
- thinking: "",
78
- thinkingSignature: void 0
79
- };
80
- output.content.push(currentBlock);
81
- stream.push({
82
- type: "thinking_start",
83
- contentIndex: blockIndex(),
84
- partial: output
85
- });
86
- } else {
87
- currentBlock = {
88
- type: "text",
89
- text: ""
90
- };
91
- output.content.push(currentBlock);
92
- stream.push({
93
- type: "text_start",
94
- contentIndex: blockIndex(),
95
- partial: output
96
- });
97
- }
98
- }
99
- if (currentBlock.type === "thinking") {
100
- currentBlock.thinking += part.text;
101
- currentBlock.thinkingSignature = retainThoughtSignature(currentBlock.thinkingSignature, part.thoughtSignature);
102
- stream.push({
103
- type: "thinking_delta",
104
- contentIndex: blockIndex(),
105
- delta: part.text,
106
- partial: output
107
- });
108
- } else {
109
- currentBlock.text += part.text;
110
- currentBlock.textSignature = retainThoughtSignature(currentBlock.textSignature, part.thoughtSignature);
111
- stream.push({
112
- type: "text_delta",
113
- contentIndex: blockIndex(),
114
- delta: part.text,
115
- partial: output
116
- });
117
- }
118
- }
119
- if (part.functionCall) {
120
- if (currentBlock) {
121
- if (currentBlock.type === "text") stream.push({
122
- type: "text_end",
123
- contentIndex: blockIndex(),
124
- content: currentBlock.text,
125
- partial: output
126
- });
127
- else stream.push({
128
- type: "thinking_end",
129
- contentIndex: blockIndex(),
130
- content: currentBlock.thinking,
131
- partial: output
132
- });
133
- currentBlock = null;
134
- }
135
- const providedId = part.functionCall.id;
136
- const toolCall = {
137
- type: "toolCall",
138
- id: !providedId || output.content.some((b) => b.type === "toolCall" && b.id === providedId) ? `${part.functionCall.name}_${Date.now()}_${++toolCallCounter}` : providedId,
139
- name: part.functionCall.name || "",
140
- arguments: part.functionCall.args ?? {},
141
- ...part.thoughtSignature && { thoughtSignature: part.thoughtSignature }
142
- };
143
- output.content.push(toolCall);
144
- stream.push({
145
- type: "toolcall_start",
146
- contentIndex: blockIndex(),
147
- partial: output
148
- });
149
- stream.push({
150
- type: "toolcall_delta",
151
- contentIndex: blockIndex(),
152
- delta: JSON.stringify(toolCall.arguments),
153
- partial: output
154
- });
155
- stream.push({
156
- type: "toolcall_end",
157
- contentIndex: blockIndex(),
158
- toolCall,
159
- partial: output
160
- });
161
- }
162
- }
163
- if (candidate?.finishReason) {
164
- output.stopReason = mapStopReason(candidate.finishReason);
165
- if (output.content.some((b) => b.type === "toolCall")) output.stopReason = "toolUse";
166
- }
167
- if (chunk.usageMetadata) {
168
- output.usage = {
169
- input: (chunk.usageMetadata.promptTokenCount || 0) - (chunk.usageMetadata.cachedContentTokenCount || 0),
170
- output: (chunk.usageMetadata.candidatesTokenCount || 0) + (chunk.usageMetadata.thoughtsTokenCount || 0),
171
- cacheRead: chunk.usageMetadata.cachedContentTokenCount || 0,
172
- cacheWrite: 0,
173
- totalTokens: chunk.usageMetadata.totalTokenCount || 0,
174
- cost: {
175
- input: 0,
176
- output: 0,
177
- cacheRead: 0,
178
- cacheWrite: 0,
179
- total: 0
180
- }
181
- };
182
- calculateCost(model, output.usage);
183
- }
184
- }
185
- if (currentBlock) if (currentBlock.type === "text") stream.push({
186
- type: "text_end",
187
- contentIndex: blockIndex(),
188
- content: currentBlock.text,
189
- partial: output
190
- });
191
- else stream.push({
192
- type: "thinking_end",
193
- contentIndex: blockIndex(),
194
- content: currentBlock.thinking,
195
- partial: output
196
- });
197
- if (options?.signal?.aborted) throw new Error("Request was aborted");
198
- if (output.stopReason === "aborted" || output.stopReason === "error") throw new Error("An unknown error occurred");
199
- stream.push({
200
- type: "done",
201
- reason: output.stopReason,
202
- message: output
203
- });
204
- stream.end();
205
- } catch (error) {
206
- for (const block of output.content) if ("index" in block) delete block.index;
207
- output.stopReason = options?.signal?.aborted ? "aborted" : "error";
208
- output.errorMessage = error instanceof Error ? error.message : JSON.stringify(error);
209
- stream.push({
210
- type: "error",
211
- reason: output.stopReason,
212
- error: output
213
- });
214
- stream.end();
215
- }
216
- })();
217
- return stream;
218
- };
219
- const streamSimpleGoogleVertex = (model, context, options) => {
220
- const base = buildBaseOptions(model, options, void 0);
221
- if (!options?.reasoning) return streamGoogleVertex(model, context, {
222
- ...base,
223
- thinking: { enabled: false }
224
- });
225
- const effort = clampReasoning(options.reasoning);
226
- const geminiModel = model;
227
- if (isGemini3ProModel(geminiModel) || isGemini3FlashModel(geminiModel)) return streamGoogleVertex(model, context, {
228
- ...base,
229
- thinking: {
230
- enabled: true,
231
- level: getGemini3ThinkingLevel(effort, geminiModel)
232
- }
233
- });
234
- return streamGoogleVertex(model, context, {
235
- ...base,
236
- thinking: {
237
- enabled: true,
238
- budgetTokens: getGoogleBudget(geminiModel, effort, options.thinkingBudgets)
239
- }
240
- });
241
- };
242
- function createClient(model, project, location, optionsHeaders) {
243
- const httpOptions = {};
244
- if (model.headers || optionsHeaders) httpOptions.headers = {
245
- ...model.headers,
246
- ...optionsHeaders
247
- };
248
- return new GoogleGenAI({
249
- vertexai: true,
250
- project,
251
- location,
252
- apiVersion: API_VERSION,
253
- httpOptions: Object.values(httpOptions).some(Boolean) ? httpOptions : void 0
254
- });
255
- }
256
- function createClientWithApiKey(model, apiKey, optionsHeaders) {
257
- const httpOptions = {};
258
- if (model.headers || optionsHeaders) httpOptions.headers = {
259
- ...model.headers,
260
- ...optionsHeaders
261
- };
262
- return new GoogleGenAI({
263
- vertexai: true,
264
- apiKey,
265
- apiVersion: API_VERSION,
266
- httpOptions: Object.values(httpOptions).some(Boolean) ? httpOptions : void 0
267
- });
268
- }
269
- function resolveApiKey(options) {
270
- const apiKey = options?.apiKey?.trim() || process.env.GOOGLE_CLOUD_API_KEY?.trim();
271
- if (!apiKey || apiKey === GCP_VERTEX_CREDENTIALS_MARKER || isPlaceholderApiKey(apiKey)) return;
272
- return apiKey;
273
- }
274
- function isPlaceholderApiKey(apiKey) {
275
- return /^<[^>]+>$/.test(apiKey);
276
- }
277
- function resolveProject(options) {
278
- const project = options?.project || process.env.GOOGLE_CLOUD_PROJECT || process.env.GCLOUD_PROJECT;
279
- if (!project) throw new Error("Vertex AI requires a project ID. Set GOOGLE_CLOUD_PROJECT/GCLOUD_PROJECT or pass project in options.");
280
- return project;
281
- }
282
- function resolveLocation(options) {
283
- const location = options?.location || process.env.GOOGLE_CLOUD_LOCATION;
284
- if (!location) throw new Error("Vertex AI requires a location. Set GOOGLE_CLOUD_LOCATION or pass location in options.");
285
- return location;
286
- }
287
- function buildParams(model, context, options = {}) {
288
- const contents = convertMessages(model, context);
289
- const generationConfig = {};
290
- if (options.temperature !== void 0) generationConfig.temperature = options.temperature;
291
- if (options.maxTokens !== void 0) generationConfig.maxOutputTokens = options.maxTokens;
292
- const config = {
293
- ...Object.keys(generationConfig).length > 0 && generationConfig,
294
- ...context.systemPrompt && { systemInstruction: sanitizeSurrogates(context.systemPrompt) },
295
- ...context.tools && context.tools.length > 0 && { tools: convertTools(context.tools) }
296
- };
297
- if (context.tools && context.tools.length > 0 && options.toolChoice) config.toolConfig = { functionCallingConfig: { mode: mapToolChoice(options.toolChoice) } };
298
- else config.toolConfig = void 0;
299
- if (options.thinking?.enabled && model.reasoning) {
300
- const thinkingConfig = { includeThoughts: true };
301
- if (options.thinking.level !== void 0) thinkingConfig.thinkingLevel = THINKING_LEVEL_MAP[options.thinking.level];
302
- else if (options.thinking.budgetTokens !== void 0) thinkingConfig.thinkingBudget = options.thinking.budgetTokens;
303
- config.thinkingConfig = thinkingConfig;
304
- } else if (model.reasoning && options.thinking && !options.thinking.enabled) config.thinkingConfig = getDisabledThinkingConfig(model);
305
- if (options.signal) {
306
- if (options.signal.aborted) throw new Error("Request aborted");
307
- config.abortSignal = options.signal;
308
- }
309
- return {
310
- model: model.id,
311
- contents,
312
- config
313
- };
314
- }
315
- function isGemini3ProModel(model) {
316
- return /gemini-3(?:\.\d+)?-pro/.test(model.id.toLowerCase());
317
- }
318
- function isGemini3FlashModel(model) {
319
- return /gemini-3(?:\.\d+)?-flash/.test(model.id.toLowerCase());
320
- }
321
- function getDisabledThinkingConfig(model) {
322
- const geminiModel = model;
323
- if (isGemini3ProModel(geminiModel)) return { thinkingLevel: ThinkingLevel.LOW };
324
- if (isGemini3FlashModel(geminiModel)) return { thinkingLevel: ThinkingLevel.MINIMAL };
325
- return { thinkingBudget: 0 };
326
- }
327
- function getGemini3ThinkingLevel(effort, model) {
328
- if (isGemini3ProModel(model)) switch (effort) {
329
- case "minimal":
330
- case "low": return "LOW";
331
- case "medium":
332
- case "high": return "HIGH";
333
- }
334
- switch (effort) {
335
- case "minimal": return "MINIMAL";
336
- case "low": return "LOW";
337
- case "medium": return "MEDIUM";
338
- case "high": return "HIGH";
339
- }
340
- }
341
- function getGoogleBudget(model, effort, customBudgets) {
342
- if (customBudgets?.[effort] !== void 0) return customBudgets[effort];
343
- if (model.id.includes("2.5-pro")) return {
344
- minimal: 128,
345
- low: 2048,
346
- medium: 8192,
347
- high: 32768
348
- }[effort];
349
- if (model.id.includes("2.5-flash")) return {
350
- minimal: 128,
351
- low: 2048,
352
- medium: 8192,
353
- high: 24576
354
- }[effort];
355
- return -1;
356
- }
357
- //#endregion
358
- export { streamGoogleVertex, streamSimpleGoogleVertex };
@@ -1,16 +0,0 @@
1
- //#region node_modules/.pnpm/@mariozechner+pi-ai@0.69.0_@modelcontextprotocol+sdk@1.29.0_zod@4.3.6__ws@8.21.0_zod@4.3.6/node_modules/@mariozechner/pi-ai/dist/utils/hash.js
2
- /** Fast deterministic hash to shorten long strings */
3
- function shortHash(str) {
4
- let h1 = 3735928559;
5
- let h2 = 1103547991;
6
- for (let i = 0; i < str.length; i++) {
7
- const ch = str.charCodeAt(i);
8
- h1 = Math.imul(h1 ^ ch, 2654435761);
9
- h2 = Math.imul(h2 ^ ch, 1597334677);
10
- }
11
- h1 = Math.imul(h1 ^ h1 >>> 16, 2246822507) ^ Math.imul(h2 ^ h2 >>> 13, 3266489909);
12
- h2 = Math.imul(h2 ^ h2 >>> 16, 2246822507) ^ Math.imul(h1 ^ h1 >>> 13, 3266489909);
13
- return (h2 >>> 0).toString(36) + (h1 >>> 0).toString(36);
14
- }
15
- //#endregion
16
- export { shortHash as t };
@@ -1,8 +0,0 @@
1
- //#region node_modules/.pnpm/@mariozechner+pi-ai@0.69.0_@modelcontextprotocol+sdk@1.29.0_zod@4.3.6__ws@8.21.0_zod@4.3.6/node_modules/@mariozechner/pi-ai/dist/utils/headers.js
2
- function headersToRecord(headers) {
3
- const result = {};
4
- for (const [key, value] of headers.entries()) result[key] = value;
5
- return result;
6
- }
7
- //#endregion
8
- export { headersToRecord as t };
@@ -1,93 +0,0 @@
1
- import path from "node:path";
2
- import os from "node:os";
3
- //#region node_modules/.pnpm/openclaw@2026.4.22_@napi-rs+canvas@0.1.99/node_modules/openclaw/dist/string-coerce-CjxCKZ6B.js
4
- function readStringValue(value) {
5
- return typeof value === "string" ? value : void 0;
6
- }
7
- function normalizeNullableString(value) {
8
- if (typeof value !== "string") return null;
9
- const trimmed = value.trim();
10
- return trimmed ? trimmed : null;
11
- }
12
- function normalizeOptionalString(value) {
13
- return normalizeNullableString(value) ?? void 0;
14
- }
15
- function normalizeStringifiedOptionalString(value) {
16
- if (typeof value === "string") return normalizeOptionalString(value);
17
- if (typeof value === "number" || typeof value === "boolean" || typeof value === "bigint") return normalizeOptionalString(String(value));
18
- }
19
- function normalizeOptionalLowercaseString(value) {
20
- return normalizeOptionalString(value)?.toLowerCase();
21
- }
22
- function normalizeLowercaseStringOrEmpty(value) {
23
- return normalizeOptionalLowercaseString(value) ?? "";
24
- }
25
- function normalizeOptionalThreadValue(value) {
26
- if (typeof value === "number") return Number.isFinite(value) ? Math.trunc(value) : void 0;
27
- return normalizeOptionalString(value);
28
- }
29
- function hasNonEmptyString(value) {
30
- return normalizeOptionalString(value) !== void 0;
31
- }
32
- //#endregion
33
- //#region node_modules/.pnpm/openclaw@2026.4.22_@napi-rs+canvas@0.1.99/node_modules/openclaw/dist/home-dir-C44RaPME.js
34
- function normalize(value) {
35
- const trimmed = normalizeOptionalString(value);
36
- if (!trimmed) return;
37
- if (trimmed === "undefined" || trimmed === "null") return;
38
- return trimmed;
39
- }
40
- function resolveEffectiveHomeDir(env = process.env, homedir = os.homedir) {
41
- const raw = resolveRawHomeDir(env, homedir);
42
- return raw ? path.resolve(raw) : void 0;
43
- }
44
- function resolveRawHomeDir(env, homedir) {
45
- const explicitHome = normalize(env.OPENCLAW_HOME);
46
- if (explicitHome) {
47
- if (explicitHome === "~" || explicitHome.startsWith("~/") || explicitHome.startsWith("~\\")) {
48
- const fallbackHome = resolveRawOsHomeDir(env, homedir);
49
- if (fallbackHome) return explicitHome.replace(/^~(?=$|[\\/])/, fallbackHome);
50
- return;
51
- }
52
- return explicitHome;
53
- }
54
- return resolveRawOsHomeDir(env, homedir);
55
- }
56
- function resolveRawOsHomeDir(env, homedir) {
57
- const envHome = normalize(env.HOME);
58
- if (envHome) return envHome;
59
- const userProfile = normalize(env.USERPROFILE);
60
- if (userProfile) return userProfile;
61
- return normalizeSafe(homedir);
62
- }
63
- function normalizeSafe(homedir) {
64
- try {
65
- return normalize(homedir());
66
- } catch {
67
- return;
68
- }
69
- }
70
- function resolveRequiredHomeDir(env = process.env, homedir = os.homedir) {
71
- return resolveEffectiveHomeDir(env, homedir) ?? path.resolve(process.cwd());
72
- }
73
- function expandHomePrefix(input, opts) {
74
- if (!input.startsWith("~")) return input;
75
- const home = normalize(opts?.home) ?? resolveEffectiveHomeDir(opts?.env ?? process.env, opts?.homedir ?? os.homedir);
76
- if (!home) return input;
77
- return input.replace(/^~(?=$|[\\/])/, home);
78
- }
79
- function resolveHomeRelativePath(input, opts) {
80
- const trimmed = input.trim();
81
- if (!trimmed) return trimmed;
82
- if (trimmed.startsWith("~")) {
83
- const expanded = expandHomePrefix(trimmed, {
84
- home: resolveRequiredHomeDir(opts?.env ?? process.env, opts?.homedir ?? os.homedir),
85
- env: opts?.env,
86
- homedir: opts?.homedir
87
- });
88
- return path.resolve(expanded);
89
- }
90
- return path.resolve(trimmed);
91
- }
92
- //#endregion
93
- export { hasNonEmptyString as a, normalizeOptionalString as c, readStringValue as d, resolveRequiredHomeDir as i, normalizeOptionalThreadValue as l, resolveEffectiveHomeDir as n, normalizeLowercaseStringOrEmpty as o, resolveHomeRelativePath as r, normalizeOptionalLowercaseString as s, expandHomePrefix as t, normalizeStringifiedOptionalString as u };
@@ -1,77 +0,0 @@
1
- import { s as normalizeOptionalLowercaseString } from "./home-dir-C44RaPME-CBRS4HLP.mjs";
2
- import { n as resolveOpenClawPackageRootSync, t as resolveBundledPluginsDir } from "./bundled-dir-U738ay4K-DXK0q_TV.mjs";
3
- import fs from "node:fs";
4
- import path from "node:path";
5
- //#region node_modules/.pnpm/openclaw@2026.4.22_@napi-rs+canvas@0.1.99/node_modules/openclaw/dist/ids-BPsM98Uu.js
6
- const OFFICIAL_CHANNEL_CATALOG_RELATIVE_PATH = path.join("dist", "channel-catalog.json");
7
- function listPackageRoots() {
8
- return [resolveOpenClawPackageRootSync({ cwd: process.cwd() }), resolveOpenClawPackageRootSync({ moduleUrl: import.meta.url })].filter((entry, index, all) => Boolean(entry) && all.indexOf(entry) === index);
9
- }
10
- function listBundledExtensionPackageJsonPaths(env = process.env) {
11
- const extensionsRoot = resolveBundledPluginsDir(env);
12
- if (!extensionsRoot) return [];
13
- try {
14
- return fs.readdirSync(extensionsRoot, { withFileTypes: true }).filter((entry) => entry.isDirectory()).map((entry) => path.join(extensionsRoot, entry.name, "package.json")).filter((entry) => fs.existsSync(entry));
15
- } catch {
16
- return [];
17
- }
18
- }
19
- function readBundledExtensionCatalogEntriesSync() {
20
- const entries = [];
21
- for (const packageJsonPath of listBundledExtensionPackageJsonPaths()) try {
22
- const payload = JSON.parse(fs.readFileSync(packageJsonPath, "utf8"));
23
- entries.push(payload);
24
- } catch {
25
- continue;
26
- }
27
- return entries;
28
- }
29
- function readOfficialCatalogFileSync() {
30
- for (const packageRoot of listPackageRoots()) {
31
- const candidate = path.join(packageRoot, OFFICIAL_CHANNEL_CATALOG_RELATIVE_PATH);
32
- if (!fs.existsSync(candidate)) continue;
33
- try {
34
- const payload = JSON.parse(fs.readFileSync(candidate, "utf8"));
35
- return Array.isArray(payload.entries) ? payload.entries : [];
36
- } catch {
37
- continue;
38
- }
39
- }
40
- return [];
41
- }
42
- function toBundledChannelEntry(entry) {
43
- const channel = entry.openclaw?.channel;
44
- const id = normalizeOptionalLowercaseString(channel?.id);
45
- if (!id || !channel) return null;
46
- return {
47
- id,
48
- channel,
49
- aliases: Array.isArray(channel.aliases) ? channel.aliases.map((alias) => normalizeOptionalLowercaseString(alias)).filter((alias) => Boolean(alias)) : [],
50
- order: typeof channel.order === "number" && Number.isFinite(channel.order) ? channel.order : Number.MAX_SAFE_INTEGER
51
- };
52
- }
53
- function listBundledChannelCatalogEntries() {
54
- const bundledEntries = readBundledExtensionCatalogEntriesSync().map((entry) => toBundledChannelEntry(entry)).filter((entry) => Boolean(entry));
55
- if (bundledEntries.length > 0) return bundledEntries;
56
- return readOfficialCatalogFileSync().map((entry) => toBundledChannelEntry(entry)).filter((entry) => Boolean(entry));
57
- }
58
- function listBundledChatChannelEntries() {
59
- return listBundledChannelCatalogEntries().map((entry) => ({
60
- id: normalizeOptionalLowercaseString(entry.id) ?? entry.id,
61
- aliases: entry.aliases,
62
- order: entry.order
63
- })).toSorted((left, right) => left.order - right.order || left.id.localeCompare(right.id, "en", { sensitivity: "base" }));
64
- }
65
- const BUNDLED_CHAT_CHANNEL_ENTRIES = Object.freeze(listBundledChatChannelEntries());
66
- const CHAT_CHANNEL_ID_SET = new Set(BUNDLED_CHAT_CHANNEL_ENTRIES.map((entry) => entry.id));
67
- const CHAT_CHANNEL_ORDER = Object.freeze(BUNDLED_CHAT_CHANNEL_ENTRIES.map((entry) => entry.id));
68
- const CHANNEL_IDS = CHAT_CHANNEL_ORDER;
69
- const CHAT_CHANNEL_ALIASES = Object.freeze(Object.fromEntries(BUNDLED_CHAT_CHANNEL_ENTRIES.flatMap((entry) => entry.aliases.map((alias) => [alias, entry.id]))));
70
- function normalizeChatChannelId(raw) {
71
- const normalized = normalizeOptionalLowercaseString(raw);
72
- if (!normalized) return null;
73
- const resolved = CHAT_CHANNEL_ALIASES[normalized] ?? normalized;
74
- return CHAT_CHANNEL_ID_SET.has(resolved) ? resolved : null;
75
- }
76
- //#endregion
77
- export { normalizeChatChannelId as i, CHAT_CHANNEL_ORDER as n, listBundledChannelCatalogEntries as r, CHANNEL_IDS as t };