@ai-sdk/harness-grok-build 1.0.6 → 1.0.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,25 @@
1
1
  # @ai-sdk/harness-grok-build
2
2
 
3
+ ## 1.0.8
4
+
5
+ ### Patch Changes
6
+
7
+ - 69bb613: feat(harness): support request transformations in network sandbox abstraction and use it to apply credential brokering when available
8
+ - a72aca4: fix(harness-grok-build): inject bridge `package.json` and `pnpm-lock.yaml` files at build time instead of reading them at runtime to fix runtime errors in certain environments
9
+ - Updated dependencies [69bb613]
10
+ - Updated dependencies [52bc889]
11
+ - Updated dependencies [4cd4989]
12
+ - @ai-sdk/harness-acp@1.0.9
13
+ - @ai-sdk/harness@1.0.72
14
+
15
+ ## 1.0.7
16
+
17
+ ### Patch Changes
18
+
19
+ - Updated dependencies [8d717b3]
20
+ - @ai-sdk/harness@1.0.71
21
+ - @ai-sdk/harness-acp@1.0.8
22
+
3
23
  ## 1.0.6
4
24
 
5
25
  ### Patch Changes
package/dist/index.js CHANGED
@@ -1,8 +1,8 @@
1
1
  // src/grok-build-harness.ts
2
- import { readFileSync } from "fs";
3
2
  import {
4
3
  commonTool
5
4
  } from "@ai-sdk/harness";
5
+ import { createCredentialRequestTransformation } from "@ai-sdk/harness/utils";
6
6
  import {
7
7
  createACP
8
8
  } from "@ai-sdk/harness-acp";
@@ -10,18 +10,12 @@ import { tool } from "@ai-sdk/provider-utils";
10
10
  import { z } from "zod/v4";
11
11
 
12
12
  // src/version.ts
13
- var VERSION = true ? "1.0.6" : "0.0.0-test";
13
+ var VERSION = true ? "1.0.8" : "0.0.0-test";
14
14
 
15
15
  // src/grok-build-harness.ts
16
16
  var GROK_BUILD_CLIENT_APP = `ai-sdk/harness-grok-build/${VERSION}`;
17
- var GROK_BUILD_IMPLEMENTATION_PACKAGE_JSON = readFileSync(
18
- new URL("./bridge/package.json", import.meta.url),
19
- "utf8"
20
- );
21
- var GROK_BUILD_IMPLEMENTATION_PNPM_LOCK = readFileSync(
22
- new URL("./bridge/pnpm-lock.yaml", import.meta.url),
23
- "utf8"
24
- );
17
+ var GROK_BUILD_IMPLEMENTATION_PACKAGE_JSON = '{\n "name": "harness-grok-build-bridge",\n "version": "0.0.0",\n "private": true,\n "type": "module",\n "dependencies": {\n "@agentclientprotocol/sdk": "1.2.1",\n "@modelcontextprotocol/sdk": "1.29.0",\n "@xai-official/grok": "0.2.111",\n "ws": "8.21.0",\n "zod": "4.4.3"\n }\n}\n';
18
+ var GROK_BUILD_IMPLEMENTATION_PNPM_LOCK = "lockfileVersion: '9.0'\n\nsettings:\n autoInstallPeers: true\n excludeLinksFromLockfile: false\n\nimporters:\n\n .:\n dependencies:\n '@agentclientprotocol/sdk':\n specifier: 1.2.1\n version: 1.2.1(zod@4.4.3)\n '@modelcontextprotocol/sdk':\n specifier: 1.29.0\n version: 1.29.0(zod@4.4.3)\n '@xai-official/grok':\n specifier: 0.2.111\n version: 0.2.111\n ws:\n specifier: 8.21.0\n version: 8.21.0\n zod:\n specifier: 4.4.3\n version: 4.4.3\n\npackages:\n\n '@agentclientprotocol/sdk@1.2.1':\n resolution: {integrity: sha512-jwYUdOQR7tc+Zfch53VL4JJyUNK/46q03uUTYb+PjECsmnNl94XFXOfYLJ8RBpMNidXd1rpOAVgb0vqD98xImA==}\n peerDependencies:\n zod: ^3.25.0 || ^4.0.0\n\n '@hono/node-server@1.19.17':\n resolution: {integrity: sha512-dSneS5qhiauZWGDCeK4o695Xd9nUNjviSZCMQrj10eetr8Uln1ucn6bbphOM6UynAMMtNIzZNSpL9vnASJwrPQ==}\n engines: {node: '>=18.14.1'}\n peerDependencies:\n hono: ^4\n\n '@iarna/toml@3.0.0':\n resolution: {integrity: sha512-td6ZUkz2oS3VeleBcN+m//Q6HlCFCPrnI0FZhrt/h4XqLEdOyYp2u21nd8MdsR+WJy5r9PTDaHTDDfhf4H4l6Q==}\n\n '@modelcontextprotocol/sdk@1.29.0':\n resolution: {integrity: sha512-zo37mZA9hJWpULgkRpowewez1y6ML5GsXJPY8FI0tBBCd77HEvza4jDqRKOXgHNn867PVGCyTdzqpz0izu5ZjQ==}\n engines: {node: '>=18'}\n peerDependencies:\n '@cfworker/json-schema': ^4.1.1\n zod: ^3.25 || ^4.0\n peerDependenciesMeta:\n '@cfworker/json-schema':\n optional: true\n\n '@xai-official/grok-darwin-arm64@0.2.111':\n resolution: {integrity: sha512-6VFLmBj0HmFCC3r2vmjU4g69RiBVn39PzeGiKcMHVwnZf+hF1rJ5jcfHg/mIK/cRCutJ72Aasl4/Gz71U8J6XA==}\n cpu: [arm64]\n os: [darwin]\n\n '@xai-official/grok-darwin-x64@0.2.111':\n resolution: {integrity: sha512-QJKIUZ/yRjMo6rVWwPLlTy8Lmi3jHNWKvs249rpOrWX6pictKlL8Qcr0Y8Xajx1IVeJP3BsMQLigSyae1IC/qA==}\n cpu: [x64]\n os: [darwin]\n\n '@xai-official/grok-linux-arm64@0.2.111':\n resolution: {integrity: sha512-zAZ9xbKILa47IHC3dd7x5NkhyfUe7yoEsG7XWJyqMS9mtUvlZvTrhzH43K+HVixlV8Ge0Eh8btjPWNoFu7HBfg==}\n cpu: [arm64]\n os: [linux]\n\n '@xai-official/grok-linux-x64@0.2.111':\n resolution: {integrity: sha512-wffFfRU2a2505jtHx9+UYi+E7MNaAxXPqlHwPQMnC6q4eq4vjoyWdkvMBsN6Qokr7BjD6DIvkZdwGplosXyUdQ==}\n cpu: [x64]\n os: [linux]\n\n '@xai-official/grok-win32-arm64@0.2.111':\n resolution: {integrity: sha512-pl8hnDYnV9/NHc0AT9z3opVWetQfP76+hHp53wE0RpiriXVRKG5FZVh7r78V5VtQWxbonVEZR41/4LEOzyumEg==}\n cpu: [arm64]\n os: [win32]\n\n '@xai-official/grok-win32-x64@0.2.111':\n resolution: {integrity: sha512-sfRkUQ2pjOuCYW18+O/GqtdLCkjhUcQ1/vmyH+WiBJ5mlYOpSzbjlXYMTGoIjV4j6yR6r4GuIQs9r4dsKyomwA==}\n cpu: [x64]\n os: [win32]\n\n '@xai-official/grok@0.2.111':\n resolution: {integrity: sha512-baZxgwR0W+juZ6Wrni5gfORI+ayN/Q5ZjetyLBR9JIOMQg5s7W2GErJF4iONSYer+MS4k/Y2WaP+ekrmfIqFzA==}\n engines: {node: '>=20'}\n cpu: [arm64, x64]\n os: [darwin, linux, win32]\n hasBin: true\n\n accepts@2.0.0:\n resolution: {integrity: sha512-5cvg6CtKwfgdmVqY1WIiXKc3Q1bkRqGLi+2W/6ao+6Y7gu/RCwRuAhGEzh5B4KlszSuTLgZYuqFqo5bImjNKng==}\n engines: {node: '>= 0.6'}\n\n ajv-formats@3.0.1:\n resolution: {integrity: sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==}\n peerDependencies:\n ajv: ^8.0.0\n peerDependenciesMeta:\n ajv:\n optional: true\n\n ajv@8.20.0:\n resolution: {integrity: sha512-Thbli+OlOj+iMPYFBVBfJ3OmCAnaSyNn4M1vz9T6Gka5Jt9ba/HIR56joy65tY6kx/FCF5VXNB819Y7/GUrBGA==}\n\n body-parser@2.3.0:\n resolution: {integrity: sha512-2cGmJupaNgg+QUwVLAucDuWuoMZ6EX9iHDRswZ5lsNYEmwPaRknMPCLZz07yTzVq/83p4o/wzbDZbBrTvGGTIw==}\n engines: {node: '>=18'}\n\n bytes@3.1.2:\n resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==}\n engines: {node: '>= 0.8'}\n\n call-bind-apply-helpers@1.0.2:\n resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==}\n engines: {node: '>= 0.4'}\n\n call-bound@1.0.4:\n resolution: {integrity: sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==}\n engines: {node: '>= 0.4'}\n\n content-disposition@1.1.0:\n resolution: {integrity: sha512-5jRCH9Z/+DRP7rkvY83B+yGIGX96OYdJmzngqnw2SBSxqCFPd0w2km3s5iawpGX8krnwSGmF0FW5Nhr0Hfai3g==}\n engines: {node: '>=18'}\n\n content-type@1.0.5:\n resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==}\n engines: {node: '>= 0.6'}\n\n content-type@2.0.0:\n resolution: {integrity: sha512-j/O/d7GcZCyNl7/hwZAb606rzqkyvaDctLmckbxLzHvFBzTJHuGEdodATcP3yIRoDrLHkIATJuvzbFlp/ki2cQ==}\n engines: {node: '>=18'}\n\n cookie-signature@1.2.2:\n resolution: {integrity: sha512-D76uU73ulSXrD1UXF4KE2TMxVVwhsnCgfAyTg9k8P6KGZjlXKrOLe4dJQKI3Bxi5wjesZoFXJWElNWBjPZMbhg==}\n engines: {node: '>=6.6.0'}\n\n cookie@0.7.2:\n resolution: {integrity: sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==}\n engines: {node: '>= 0.6'}\n\n cors@2.8.6:\n resolution: {integrity: sha512-tJtZBBHA6vjIAaF6EnIaq6laBBP9aq/Y3ouVJjEfoHbRBcHBAHYcMh/w8LDrk2PvIMMq8gmopa5D4V8RmbrxGw==}\n engines: {node: '>= 0.10'}\n\n cross-spawn@7.0.6:\n resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==}\n engines: {node: '>= 8'}\n\n debug@4.4.3:\n resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==}\n engines: {node: '>=6.0'}\n peerDependencies:\n supports-color: '*'\n peerDependenciesMeta:\n supports-color:\n optional: true\n\n depd@2.0.0:\n resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==}\n engines: {node: '>= 0.8'}\n\n dunder-proto@1.0.1:\n resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==}\n engines: {node: '>= 0.4'}\n\n ee-first@1.1.1:\n resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==}\n\n encodeurl@2.0.0:\n resolution: {integrity: sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==}\n engines: {node: '>= 0.8'}\n\n es-define-property@1.0.1:\n resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==}\n engines: {node: '>= 0.4'}\n\n es-errors@1.3.0:\n resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==}\n engines: {node: '>= 0.4'}\n\n es-object-atoms@1.1.2:\n resolution: {integrity: sha512-HWcBoN6NileqtSydK2FqHbS/LoDd2pqrnQHLyJzBj4kOp/ky2MWMN694xOfkK8/SnUsW2DH7EfyVlydKCsm1Zw==}\n engines: {node: '>= 0.4'}\n\n escape-html@1.0.3:\n resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==}\n\n etag@1.8.1:\n resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==}\n engines: {node: '>= 0.6'}\n\n eventsource-parser@3.1.0:\n resolution: {integrity: sha512-kJezFj9YFAMLeORyi7aCLxLbD5/qWMQnoMVlVPyHIll7lgRJCc3JVln9Vgl9nwQi0YkMnhdGTMNn7CkRRAptMg==}\n engines: {node: '>=18.0.0'}\n\n eventsource@3.0.7:\n resolution: {integrity: sha512-CRT1WTyuQoD771GW56XEZFQ/ZoSfWid1alKGDYMmkt2yl8UXrVR4pspqWNEcqKvVIzg6PAltWjxcSSPrboA4iA==}\n engines: {node: '>=18.0.0'}\n\n express-rate-limit@8.6.2:\n resolution: {integrity: sha512-YH4ru+eOJxQABscKFfRCy9R7x9QFGdezclVMwwgFFndzS2Xnm0uo6B0ABZsLhcpeptGv2qvuJVWlQr9gQZoC3A==}\n engines: {node: '>= 16'}\n peerDependencies:\n express: '>= 4.11'\n\n express@5.2.1:\n resolution: {integrity: sha512-hIS4idWWai69NezIdRt2xFVofaF4j+6INOpJlVOLDO8zXGpUVEVzIYk12UUi2JzjEzWL3IOAxcTubgz9Po0yXw==}\n engines: {node: '>= 18'}\n\n fast-deep-equal@3.1.3:\n resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}\n\n fast-uri@3.1.5:\n resolution: {integrity: sha512-gHwA1O9LDIcKunMKhObS/HimwtehO1nPUECKAu5TpKgaO19fcWEl4bliWe1jWxVFvIXztJjjQ4L8XQ1EU9f7Jw==}\n\n finalhandler@2.1.1:\n resolution: {integrity: sha512-S8KoZgRZN+a5rNwqTxlZZePjT/4cnm0ROV70LedRHZ0p8u9fRID0hJUZQpkKLzro8LfmC8sx23bY6tVNxv8pQA==}\n engines: {node: '>= 18.0.0'}\n\n forwarded@0.2.0:\n resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==}\n engines: {node: '>= 0.6'}\n\n fresh@2.0.0:\n resolution: {integrity: sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A==}\n engines: {node: '>= 0.8'}\n\n function-bind@1.1.2:\n resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==}\n\n get-intrinsic@1.3.0:\n resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==}\n engines: {node: '>= 0.4'}\n\n get-proto@1.0.1:\n resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==}\n engines: {node: '>= 0.4'}\n\n gopd@1.2.0:\n resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==}\n engines: {node: '>= 0.4'}\n\n has-symbols@1.1.0:\n resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==}\n engines: {node: '>= 0.4'}\n\n hasown@2.0.4:\n resolution: {integrity: sha512-T2UbfbBEF32wiepXIsMlTW9+dDYC6wMh/t/vYA4tuOMKqWz/n3vr1NFSxQiyP+zk2mXsoMA/i/7qV6LKut1t1A==}\n engines: {node: '>= 0.4'}\n\n hono@4.13.0:\n resolution: {integrity: sha512-jhunvfHWxd7J5EFfSgH4xsYJzSe/lfqbUCxiyyeaQasUsXeEHXtzVid+7EOGByc5JnFa23SSFL3Y2RV/z1T+eQ==}\n engines: {node: '>=16.9.0'}\n\n http-errors@2.0.1:\n resolution: {integrity: sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==}\n engines: {node: '>= 0.8'}\n\n iconv-lite@0.7.3:\n resolution: {integrity: sha512-IKXpvIzjnC9XTAUbVBcMfGS0EPaIXtW6v+zr+RRp+hqULEpo0owZax6wyRwPOJbWbzjYspQwusTsfVr0ifh4uQ==}\n engines: {node: '>=0.10.0'}\n\n inherits@2.0.4:\n resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}\n\n ip-address@10.4.0:\n resolution: {integrity: sha512-oSK96Grm3aP6OrS263xVxbNDGVL7rzBtYdpGqlDG8iQdoenDoTs/nkki+DflYbAEE8Xl6o5YxhxlrKvI3nqKXQ==}\n engines: {node: '>= 12'}\n\n ipaddr.js@1.9.1:\n resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==}\n engines: {node: '>= 0.10'}\n\n is-promise@4.0.0:\n resolution: {integrity: sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==}\n\n isexe@2.0.0:\n resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}\n\n jose@6.2.8:\n resolution: {integrity: sha512-Bsdjwm3Qsd/P0jR+BHDe3LytDfY7WBq2HmCCLIwuVRHMuEC9ae7/R474GIUdF1NgCyZjzVo/A9DOiOBtXq8ZoQ==}\n\n json-schema-traverse@1.0.0:\n resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==}\n\n json-schema-typed@8.0.2:\n resolution: {integrity: sha512-fQhoXdcvc3V28x7C7BMs4P5+kNlgUURe2jmUT1T//oBRMDrqy1QPelJimwZGo7Hg9VPV3EQV5Bnq4hbFy2vetA==}\n\n math-intrinsics@1.1.0:\n resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==}\n engines: {node: '>= 0.4'}\n\n media-typer@1.1.1:\n resolution: {integrity: sha512-yz3xRaG20c6/BOzvYoDaGtPmGscs7YivItZEEqe6GbwNfHuxu9YNmvnEkMzKldAGY4/80pRcQRZSEnhquk9XuQ==}\n engines: {node: '>= 0.8'}\n\n merge-descriptors@2.0.0:\n resolution: {integrity: sha512-Snk314V5ayFLhp3fkUREub6WtjBfPdCPY1Ln8/8munuLuiYhsABgBVWsozAG+MWMbVEvcdcpbi9R7ww22l9Q3g==}\n engines: {node: '>=18'}\n\n mime-db@1.54.0:\n resolution: {integrity: sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==}\n engines: {node: '>= 0.6'}\n\n mime-types@3.0.2:\n resolution: {integrity: sha512-Lbgzdk0h4juoQ9fCKXW4by0UJqj+nOOrI9MJ1sSj4nI8aI2eo1qmvQEie4VD1glsS250n15LsWsYtCugiStS5A==}\n engines: {node: '>=18'}\n\n ms@2.1.3:\n resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}\n\n negotiator@1.0.0:\n resolution: {integrity: sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==}\n engines: {node: '>= 0.6'}\n\n object-assign@4.1.1:\n resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==}\n engines: {node: '>=0.10.0'}\n\n object-inspect@1.13.4:\n resolution: {integrity: sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==}\n engines: {node: '>= 0.4'}\n\n on-finished@2.4.1:\n resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==}\n engines: {node: '>= 0.8'}\n\n once@1.4.0:\n resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}\n\n parseurl@1.3.3:\n resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==}\n engines: {node: '>= 0.8'}\n\n path-key@3.1.1:\n resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}\n engines: {node: '>=8'}\n\n path-to-regexp@8.4.2:\n resolution: {integrity: sha512-qRcuIdP69NPm4qbACK+aDogI5CBDMi1jKe0ry5rSQJz8JVLsC7jV8XpiJjGRLLol3N+R5ihGYcrPLTno6pAdBA==}\n\n pkce-challenge@5.0.1:\n resolution: {integrity: sha512-wQ0b/W4Fr01qtpHlqSqspcj3EhBvimsdh0KlHhH8HRZnMsEa0ea2fTULOXOS9ccQr3om+GcGRk4e+isrZWV8qQ==}\n engines: {node: '>=16.20.0'}\n\n proxy-addr@2.0.7:\n resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==}\n engines: {node: '>= 0.10'}\n\n qs@6.15.3:\n resolution: {integrity: sha512-O9gl3zCl5h5blw1KGUzQKhA5oUXSl8rwUIM5o0S3nCXMliSvy5Dzx7/DJcI+SwgICv+IneSZwhBh1oSyEHA71A==}\n engines: {node: '>=0.6'}\n\n range-parser@1.3.0:\n resolution: {integrity: sha512-hek2mFQpPuI4E1BBKrSto+BU3e3x4xuarsbiwr3+lf7p44juvFMV0XFWQAP3xUyqXA4RrXLIoaSUGbSt056ZMw==}\n engines: {node: '>= 0.6'}\n\n raw-body@3.0.2:\n resolution: {integrity: sha512-K5zQjDllxWkf7Z5xJdV0/B0WTNqx6vxG70zJE4N0kBs4LovmEYWJzQGxC9bS9RAKu3bgM40lrd5zoLJ12MQ5BA==}\n engines: {node: '>= 0.10'}\n\n require-from-string@2.0.2:\n resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==}\n engines: {node: '>=0.10.0'}\n\n router@2.2.0:\n resolution: {integrity: sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ==}\n engines: {node: '>= 18'}\n\n safer-buffer@2.1.2:\n resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==}\n\n send@1.2.1:\n resolution: {integrity: sha512-1gnZf7DFcoIcajTjTwjwuDjzuz4PPcY2StKPlsGAQ1+YH20IRVrBaXSWmdjowTJ6u8Rc01PoYOGHXfP1mYcZNQ==}\n engines: {node: '>= 18'}\n\n serve-static@2.2.1:\n resolution: {integrity: sha512-xRXBn0pPqQTVQiC8wyQrKs2MOlX24zQ0POGaj0kultvoOCstBQM5yvOhAVSUwOMjQtTvsPWoNCHfPGwaaQJhTw==}\n engines: {node: '>= 18'}\n\n setprototypeof@1.2.0:\n resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==}\n\n shebang-command@2.0.0:\n resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==}\n engines: {node: '>=8'}\n\n shebang-regex@3.0.0:\n resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}\n engines: {node: '>=8'}\n\n side-channel-list@1.0.1:\n resolution: {integrity: sha512-mjn/0bi/oUURjc5Xl7IaWi/OJJJumuoJFQJfDDyO46+hBWsfaVM65TBHq2eoZBhzl9EchxOijpkbRC8SVBQU0w==}\n engines: {node: '>= 0.4'}\n\n side-channel-map@1.0.1:\n resolution: {integrity: sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==}\n engines: {node: '>= 0.4'}\n\n side-channel-weakmap@1.0.2:\n resolution: {integrity: sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==}\n engines: {node: '>= 0.4'}\n\n side-channel@1.1.1:\n resolution: {integrity: sha512-6x6dK6zJdpTzF4sQeNYxwtvBzf6Eg4GtlesS94HOvTudUeyK2WXAaIfmDgsyslYrRBeFIlsi54AYsFGUuhmvrQ==}\n engines: {node: '>= 0.4'}\n\n statuses@2.0.2:\n resolution: {integrity: sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==}\n engines: {node: '>= 0.8'}\n\n toidentifier@1.0.1:\n resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==}\n engines: {node: '>=0.6'}\n\n type-is@2.1.0:\n resolution: {integrity: sha512-faYHw0anBbc/kWF3zFTEnxSFOAGUX9GFbOBthvDdLsIlEoWOFOtS0zgCiQYwIskL9iGXZL3kAXD8OoZ4GmMATA==}\n engines: {node: '>= 18'}\n\n unpipe@1.0.0:\n resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==}\n engines: {node: '>= 0.8'}\n\n vary@1.1.2:\n resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==}\n engines: {node: '>= 0.8'}\n\n which@2.0.2:\n resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==}\n engines: {node: '>= 8'}\n hasBin: true\n\n wrappy@1.0.2:\n resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}\n\n ws@8.21.0:\n resolution: {integrity: sha512-Vsp28b7DRcimFQvrqu2Wek3z1iYxDCWqHYB8Qsnk/S4RfaCQzPGPyBNuVjJV3cd6UiKtUtp6sNM77gWvzcCH+g==}\n engines: {node: '>=10.0.0'}\n peerDependencies:\n bufferutil: ^4.0.1\n utf-8-validate: '>=5.0.2'\n peerDependenciesMeta:\n bufferutil:\n optional: true\n utf-8-validate:\n optional: true\n\n zod-to-json-schema@3.25.2:\n resolution: {integrity: sha512-O/PgfnpT1xKSDeQYSCfRI5Gy3hPf91mKVDuYLUHZJMiDFptvP41MSnWofm8dnCm0256ZNfZIM7DSzuSMAFnjHA==}\n peerDependencies:\n zod: ^3.25.28 || ^4\n\n zod@4.4.3:\n resolution: {integrity: sha512-ytENFjIJFl2UwYglde2jchW2Hwm4GJFLDiSXWdTrJQBIN9Fcyp7n4DhxJEiWNAJMV1/BqWfW/kkg71UDcHJyTQ==}\n\nsnapshots:\n\n '@agentclientprotocol/sdk@1.2.1(zod@4.4.3)':\n dependencies:\n zod: 4.4.3\n\n '@hono/node-server@1.19.17(hono@4.13.0)':\n dependencies:\n hono: 4.13.0\n\n '@iarna/toml@3.0.0': {}\n\n '@modelcontextprotocol/sdk@1.29.0(zod@4.4.3)':\n dependencies:\n '@hono/node-server': 1.19.17(hono@4.13.0)\n ajv: 8.20.0\n ajv-formats: 3.0.1(ajv@8.20.0)\n content-type: 1.0.5\n cors: 2.8.6\n cross-spawn: 7.0.6\n eventsource: 3.0.7\n eventsource-parser: 3.1.0\n express: 5.2.1\n express-rate-limit: 8.6.2(express@5.2.1)\n hono: 4.13.0\n jose: 6.2.8\n json-schema-typed: 8.0.2\n pkce-challenge: 5.0.1\n raw-body: 3.0.2\n zod: 4.4.3\n zod-to-json-schema: 3.25.2(zod@4.4.3)\n transitivePeerDependencies:\n - supports-color\n\n '@xai-official/grok-darwin-arm64@0.2.111':\n optional: true\n\n '@xai-official/grok-darwin-x64@0.2.111':\n optional: true\n\n '@xai-official/grok-linux-arm64@0.2.111':\n optional: true\n\n '@xai-official/grok-linux-x64@0.2.111':\n optional: true\n\n '@xai-official/grok-win32-arm64@0.2.111':\n optional: true\n\n '@xai-official/grok-win32-x64@0.2.111':\n optional: true\n\n '@xai-official/grok@0.2.111':\n dependencies:\n '@iarna/toml': 3.0.0\n optionalDependencies:\n '@xai-official/grok-darwin-arm64': 0.2.111\n '@xai-official/grok-darwin-x64': 0.2.111\n '@xai-official/grok-linux-arm64': 0.2.111\n '@xai-official/grok-linux-x64': 0.2.111\n '@xai-official/grok-win32-arm64': 0.2.111\n '@xai-official/grok-win32-x64': 0.2.111\n\n accepts@2.0.0:\n dependencies:\n mime-types: 3.0.2\n negotiator: 1.0.0\n\n ajv-formats@3.0.1(ajv@8.20.0):\n optionalDependencies:\n ajv: 8.20.0\n\n ajv@8.20.0:\n dependencies:\n fast-deep-equal: 3.1.3\n fast-uri: 3.1.5\n json-schema-traverse: 1.0.0\n require-from-string: 2.0.2\n\n body-parser@2.3.0:\n dependencies:\n bytes: 3.1.2\n content-type: 2.0.0\n debug: 4.4.3\n http-errors: 2.0.1\n iconv-lite: 0.7.3\n on-finished: 2.4.1\n qs: 6.15.3\n raw-body: 3.0.2\n type-is: 2.1.0\n transitivePeerDependencies:\n - supports-color\n\n bytes@3.1.2: {}\n\n call-bind-apply-helpers@1.0.2:\n dependencies:\n es-errors: 1.3.0\n function-bind: 1.1.2\n\n call-bound@1.0.4:\n dependencies:\n call-bind-apply-helpers: 1.0.2\n get-intrinsic: 1.3.0\n\n content-disposition@1.1.0: {}\n\n content-type@1.0.5: {}\n\n content-type@2.0.0: {}\n\n cookie-signature@1.2.2: {}\n\n cookie@0.7.2: {}\n\n cors@2.8.6:\n dependencies:\n object-assign: 4.1.1\n vary: 1.1.2\n\n cross-spawn@7.0.6:\n dependencies:\n path-key: 3.1.1\n shebang-command: 2.0.0\n which: 2.0.2\n\n debug@4.4.3:\n dependencies:\n ms: 2.1.3\n\n depd@2.0.0: {}\n\n dunder-proto@1.0.1:\n dependencies:\n call-bind-apply-helpers: 1.0.2\n es-errors: 1.3.0\n gopd: 1.2.0\n\n ee-first@1.1.1: {}\n\n encodeurl@2.0.0: {}\n\n es-define-property@1.0.1: {}\n\n es-errors@1.3.0: {}\n\n es-object-atoms@1.1.2:\n dependencies:\n es-errors: 1.3.0\n\n escape-html@1.0.3: {}\n\n etag@1.8.1: {}\n\n eventsource-parser@3.1.0: {}\n\n eventsource@3.0.7:\n dependencies:\n eventsource-parser: 3.1.0\n\n express-rate-limit@8.6.2(express@5.2.1):\n dependencies:\n debug: 4.4.3\n express: 5.2.1\n ip-address: 10.4.0\n transitivePeerDependencies:\n - supports-color\n\n express@5.2.1:\n dependencies:\n accepts: 2.0.0\n body-parser: 2.3.0\n content-disposition: 1.1.0\n content-type: 1.0.5\n cookie: 0.7.2\n cookie-signature: 1.2.2\n debug: 4.4.3\n depd: 2.0.0\n encodeurl: 2.0.0\n escape-html: 1.0.3\n etag: 1.8.1\n finalhandler: 2.1.1\n fresh: 2.0.0\n http-errors: 2.0.1\n merge-descriptors: 2.0.0\n mime-types: 3.0.2\n on-finished: 2.4.1\n once: 1.4.0\n parseurl: 1.3.3\n proxy-addr: 2.0.7\n qs: 6.15.3\n range-parser: 1.3.0\n router: 2.2.0\n send: 1.2.1\n serve-static: 2.2.1\n statuses: 2.0.2\n type-is: 2.1.0\n vary: 1.1.2\n transitivePeerDependencies:\n - supports-color\n\n fast-deep-equal@3.1.3: {}\n\n fast-uri@3.1.5: {}\n\n finalhandler@2.1.1:\n dependencies:\n debug: 4.4.3\n encodeurl: 2.0.0\n escape-html: 1.0.3\n on-finished: 2.4.1\n parseurl: 1.3.3\n statuses: 2.0.2\n transitivePeerDependencies:\n - supports-color\n\n forwarded@0.2.0: {}\n\n fresh@2.0.0: {}\n\n function-bind@1.1.2: {}\n\n get-intrinsic@1.3.0:\n dependencies:\n call-bind-apply-helpers: 1.0.2\n es-define-property: 1.0.1\n es-errors: 1.3.0\n es-object-atoms: 1.1.2\n function-bind: 1.1.2\n get-proto: 1.0.1\n gopd: 1.2.0\n has-symbols: 1.1.0\n hasown: 2.0.4\n math-intrinsics: 1.1.0\n\n get-proto@1.0.1:\n dependencies:\n dunder-proto: 1.0.1\n es-object-atoms: 1.1.2\n\n gopd@1.2.0: {}\n\n has-symbols@1.1.0: {}\n\n hasown@2.0.4:\n dependencies:\n function-bind: 1.1.2\n\n hono@4.13.0: {}\n\n http-errors@2.0.1:\n dependencies:\n depd: 2.0.0\n inherits: 2.0.4\n setprototypeof: 1.2.0\n statuses: 2.0.2\n toidentifier: 1.0.1\n\n iconv-lite@0.7.3:\n dependencies:\n safer-buffer: 2.1.2\n\n inherits@2.0.4: {}\n\n ip-address@10.4.0: {}\n\n ipaddr.js@1.9.1: {}\n\n is-promise@4.0.0: {}\n\n isexe@2.0.0: {}\n\n jose@6.2.8: {}\n\n json-schema-traverse@1.0.0: {}\n\n json-schema-typed@8.0.2: {}\n\n math-intrinsics@1.1.0: {}\n\n media-typer@1.1.1: {}\n\n merge-descriptors@2.0.0: {}\n\n mime-db@1.54.0: {}\n\n mime-types@3.0.2:\n dependencies:\n mime-db: 1.54.0\n\n ms@2.1.3: {}\n\n negotiator@1.0.0: {}\n\n object-assign@4.1.1: {}\n\n object-inspect@1.13.4: {}\n\n on-finished@2.4.1:\n dependencies:\n ee-first: 1.1.1\n\n once@1.4.0:\n dependencies:\n wrappy: 1.0.2\n\n parseurl@1.3.3: {}\n\n path-key@3.1.1: {}\n\n path-to-regexp@8.4.2: {}\n\n pkce-challenge@5.0.1: {}\n\n proxy-addr@2.0.7:\n dependencies:\n forwarded: 0.2.0\n ipaddr.js: 1.9.1\n\n qs@6.15.3:\n dependencies:\n es-define-property: 1.0.1\n side-channel: 1.1.1\n\n range-parser@1.3.0: {}\n\n raw-body@3.0.2:\n dependencies:\n bytes: 3.1.2\n http-errors: 2.0.1\n iconv-lite: 0.7.3\n unpipe: 1.0.0\n\n require-from-string@2.0.2: {}\n\n router@2.2.0:\n dependencies:\n debug: 4.4.3\n depd: 2.0.0\n is-promise: 4.0.0\n parseurl: 1.3.3\n path-to-regexp: 8.4.2\n transitivePeerDependencies:\n - supports-color\n\n safer-buffer@2.1.2: {}\n\n send@1.2.1:\n dependencies:\n debug: 4.4.3\n encodeurl: 2.0.0\n escape-html: 1.0.3\n etag: 1.8.1\n fresh: 2.0.0\n http-errors: 2.0.1\n mime-types: 3.0.2\n ms: 2.1.3\n on-finished: 2.4.1\n range-parser: 1.3.0\n statuses: 2.0.2\n transitivePeerDependencies:\n - supports-color\n\n serve-static@2.2.1:\n dependencies:\n encodeurl: 2.0.0\n escape-html: 1.0.3\n parseurl: 1.3.3\n send: 1.2.1\n transitivePeerDependencies:\n - supports-color\n\n setprototypeof@1.2.0: {}\n\n shebang-command@2.0.0:\n dependencies:\n shebang-regex: 3.0.0\n\n shebang-regex@3.0.0: {}\n\n side-channel-list@1.0.1:\n dependencies:\n es-errors: 1.3.0\n object-inspect: 1.13.4\n\n side-channel-map@1.0.1:\n dependencies:\n call-bound: 1.0.4\n es-errors: 1.3.0\n get-intrinsic: 1.3.0\n object-inspect: 1.13.4\n\n side-channel-weakmap@1.0.2:\n dependencies:\n call-bound: 1.0.4\n es-errors: 1.3.0\n get-intrinsic: 1.3.0\n object-inspect: 1.13.4\n side-channel-map: 1.0.1\n\n side-channel@1.1.1:\n dependencies:\n es-errors: 1.3.0\n object-inspect: 1.13.4\n side-channel-list: 1.0.1\n side-channel-map: 1.0.1\n side-channel-weakmap: 1.0.2\n\n statuses@2.0.2: {}\n\n toidentifier@1.0.1: {}\n\n type-is@2.1.0:\n dependencies:\n content-type: 2.0.0\n media-typer: 1.1.1\n mime-types: 3.0.2\n\n unpipe@1.0.0: {}\n\n vary@1.1.2: {}\n\n which@2.0.2:\n dependencies:\n isexe: 2.0.0\n\n wrappy@1.0.2: {}\n\n ws@8.21.0: {}\n\n zod-to-json-schema@3.25.2(zod@4.4.3):\n dependencies:\n zod: 4.4.3\n\n zod@4.4.3: {}\n";
25
19
  var GROK_BUILD_BUILTIN_TOOLS = {
26
20
  bash: commonTool("bash", {
27
21
  nativeName: "run_terminal_command",
@@ -263,7 +257,16 @@ function createGrokBuild(settings = {}) {
263
257
  },
264
258
  executable: "grok",
265
259
  args: ["agent", "stdio"],
266
- forwardEnv: ["XAI_API_KEY"],
260
+ credentialEnv: ["XAI_API_KEY"],
261
+ credentialBrokering: ({ env }) => {
262
+ if (!env.XAI_API_KEY) return [];
263
+ return [
264
+ createCredentialRequestTransformation({
265
+ baseUrl: env.GROK_XAI_API_BASE_URL ?? "https://api.x.ai/v1",
266
+ headers: { Authorization: `Bearer ${env.XAI_API_KEY}` }
267
+ })
268
+ ];
269
+ },
267
270
  instructionMapping: {
268
271
  type: "session-meta",
269
272
  path: ["rules"]
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/grok-build-harness.ts","../src/version.ts","../src/index.ts"],"sourcesContent":["import { readFileSync } from 'node:fs';\nimport {\n commonTool,\n type HarnessV1,\n type HarnessV1BuiltinTool,\n} from '@ai-sdk/harness';\nimport {\n createACP,\n type ACPProviderAuthenticationMode,\n} from '@ai-sdk/harness-acp';\nimport { tool } from '@ai-sdk/provider-utils';\nimport { z } from 'zod/v4';\nimport { VERSION } from './version';\n\nconst GROK_BUILD_CLIENT_APP = `ai-sdk/harness-grok-build/${VERSION}`;\nconst GROK_BUILD_IMPLEMENTATION_PACKAGE_JSON = readFileSync(\n new URL('./bridge/package.json', import.meta.url),\n 'utf8',\n);\nconst GROK_BUILD_IMPLEMENTATION_PNPM_LOCK = readFileSync(\n new URL('./bridge/pnpm-lock.yaml', import.meta.url),\n 'utf8',\n);\n\nexport type GrokBuildHarnessSettings = {\n /**\n * Selects direct xAI or AI Gateway authentication. Defaults to automatic\n * environment-based selection.\n */\n readonly auth?: ACPProviderAuthenticationMode;\n /**\n * Grok model id selected through ACP. Unset preserves Grok Build's default.\n */\n readonly model?: string;\n /**\n * Overrides the sandbox port used by the ACP bridge.\n */\n readonly port?: number;\n /**\n * Maximum milliseconds to wait for the ACP bridge to start.\n */\n readonly startupTimeoutMs?: number;\n /**\n * MCP server definitions keyed by server name. Each definition uses the\n * underlying runtime's native MCP server configuration format.\n */\n readonly mcpServers?: Record<string, unknown>;\n /**\n * Creates the authentication token used by the sandbox bridge. Defaults to\n * a random 32-byte hexadecimal token.\n */\n readonly mintBridgeToken?: (sandboxId: string) => string;\n};\n\n/*\n * Tool names and inputs were captured from the model request produced by\n * @xai-official/grok 0.2.111, the version used by the pinned Grok Build ACP\n * implementation.\n */\nconst GROK_BUILD_BUILTIN_TOOLS = {\n bash: commonTool('bash', {\n nativeName: 'run_terminal_command',\n toolUseKind: 'bash',\n inputSchema: z.looseObject({\n command: z.string(),\n timeout: z.number().int().min(0).max(36_000_000).nullable().optional(),\n description: z.string().optional(),\n background: z.boolean().optional(),\n }),\n }),\n edit: commonTool('edit', {\n nativeName: 'search_replace',\n toolUseKind: 'edit',\n inputSchema: z.looseObject({\n file_path: z.string(),\n old_string: z.string(),\n new_string: z.string(),\n replace_all: z.boolean().optional(),\n }),\n }),\n grep: commonTool('grep', {\n nativeName: 'grep',\n toolUseKind: 'readonly',\n inputSchema: z.looseObject({\n pattern: z.string(),\n path: z.string().nullable().optional(),\n glob: z.string().nullable().optional(),\n '-B': z.number().int().optional(),\n '-A': z.number().int().optional(),\n '-C': z.number().int().optional(),\n '-i': z.boolean().optional(),\n type: z.string().nullable().optional(),\n head_limit: z.number().int().optional(),\n multiline: z.boolean().optional(),\n }),\n }),\n webSearch: commonTool('webSearch', {\n nativeName: 'web_search',\n toolUseKind: 'readonly',\n inputSchema: z.looseObject({\n query: z.string(),\n allowed_domains: z.array(z.string()).nullable().optional(),\n }),\n }),\n write: commonTool('write', {\n nativeName: 'write',\n toolUseKind: 'edit',\n inputSchema: z.looseObject({\n file_path: z.string(),\n content: z.string(),\n }),\n }),\n read_file: {\n ...tool({\n inputSchema: z.looseObject({\n target_file: z.string(),\n offset: z.number().int().optional(),\n limit: z.number().int().optional(),\n pages: z.string().nullable().optional(),\n format: z.string().nullable().optional(),\n }),\n }),\n toolUseKind: 'readonly',\n },\n list_dir: {\n ...tool({\n inputSchema: z.looseObject({\n target_directory: z.string(),\n }),\n }),\n toolUseKind: 'readonly',\n },\n kill_command_or_subagent: tool({\n inputSchema: z.looseObject({\n task_id: z.string(),\n }),\n }),\n todo_write: tool({\n inputSchema: z.looseObject({\n merge: z.boolean().optional(),\n todos: z.array(\n z.looseObject({\n id: z.string(),\n content: z.string().nullable().optional(),\n status: z\n .enum(['pending', 'in_progress', 'completed', 'cancelled'])\n .nullable()\n .optional(),\n }),\n ),\n }),\n }),\n get_command_or_subagent_output: {\n ...tool({\n inputSchema: z.looseObject({\n task_ids: z.array(z.string()).optional(),\n timeout_ms: z.number().int().nonnegative().nullable().optional(),\n }),\n }),\n toolUseKind: 'readonly',\n },\n spawn_subagent: tool({\n inputSchema: z.looseObject({\n prompt: z.string(),\n description: z.string(),\n subagent_type: z.string().optional(),\n background: z.boolean().optional(),\n capability_mode: z\n .enum(['read-only', 'read-write', 'execute', 'all'])\n .nullable()\n .optional(),\n isolation: z.enum(['none', 'worktree']).nullable().optional(),\n resume_from: z.string().nullable().optional(),\n cwd: z.string().nullable().optional(),\n model: z.string().nullable().optional(),\n }),\n }),\n scheduler_create: tool({\n inputSchema: z.looseObject({\n task_id: z.string().nullable().optional(),\n interval: z.string().nullable().optional(),\n prompt: z.string().nullable().optional(),\n durable: z.boolean().nullable().optional(),\n foreground: z.boolean().nullable().optional(),\n fire_immediately: z.boolean().optional(),\n }),\n }),\n scheduler_delete: tool({\n inputSchema: z.looseObject({ id: z.string() }),\n }),\n scheduler_list: {\n ...tool({ inputSchema: z.looseObject({}) }),\n toolUseKind: 'readonly',\n },\n monitor: tool({\n inputSchema: z.looseObject({\n command: z.string(),\n description: z.string(),\n timeout_ms: z.number().int().nonnegative().nullable().optional(),\n persistent: z.boolean().optional(),\n }),\n }),\n search_tool: {\n ...tool({\n inputSchema: z.looseObject({\n query: z.string(),\n limit: z.number().int().min(0).max(255).nullable().optional(),\n }),\n }),\n toolUseKind: 'readonly',\n },\n use_tool: tool({\n inputSchema: z.looseObject({\n tool_name: z.string(),\n tool_input: z.looseObject({}),\n }),\n }),\n workflow: tool({\n inputSchema: z.looseObject({\n agent_budget: z.number().int().min(1).max(1024).nullable().optional(),\n name: z.string().nullable().optional(),\n script: z.string().nullable().optional(),\n script_path: z.string().nullable().optional(),\n args: z.unknown().optional(),\n resume_from_run_id: z.string().nullable().optional(),\n validate_only: z.boolean().optional(),\n }),\n }),\n enter_plan_mode: tool({ inputSchema: z.looseObject({}) }),\n exit_plan_mode: tool({ inputSchema: z.looseObject({}) }),\n ask_user_question: tool({\n inputSchema: z.looseObject({\n questions: z.array(\n z.looseObject({\n question: z.string(),\n options: z.array(\n z.looseObject({\n label: z.string(),\n description: z.string(),\n preview: z.string().nullable().optional(),\n }),\n ),\n multi_select: z.boolean().nullable().optional(),\n }),\n ),\n }),\n }),\n image_gen: tool({\n inputSchema: z.looseObject({\n prompt: z.string(),\n aspect_ratio: z.string().optional(),\n }),\n }),\n image_edit: tool({\n inputSchema: z.looseObject({\n prompt: z.string(),\n image: z.array(z.string()),\n aspect_ratio: z.string().optional(),\n }),\n }),\n image_to_video: tool({\n inputSchema: z.looseObject({\n prompt: z.string().nullable().optional(),\n image: z.string(),\n duration: z.number().int().nonnegative().nullable().optional(),\n resolution_name: z.string().optional(),\n }),\n }),\n reference_to_video: tool({\n inputSchema: z.looseObject({\n prompt: z.string(),\n images: z.array(z.string()),\n aspect_ratio: z.string(),\n duration: z.number().int().nonnegative().nullable().optional(),\n resolution_name: z.string().optional(),\n }),\n }),\n} as const satisfies Record<string, HarnessV1BuiltinTool<any, any>>;\n\nexport function createGrokBuild(\n settings: GrokBuildHarnessSettings = {},\n): HarnessV1<typeof GROK_BUILD_BUILTIN_TOOLS> {\n const clientAppSegments = GROK_BUILD_CLIENT_APP.split('/');\n const clientAppVersion = clientAppSegments.pop()!;\n\n return createACP({\n auth: settings.auth,\n modelId: settings.model,\n port: settings.port,\n startupTimeoutMs: settings.startupTimeoutMs,\n mcpServers: settings.mcpServers,\n isMcpToolCall: toolCall => {\n const metadata = toolCall._meta?.['x.ai/tool'];\n return isRecord(metadata) && metadata.namespace === 'mcp';\n },\n mintBridgeToken: settings.mintBridgeToken,\n version: 'v1',\n harnessId: 'grok-build',\n builtinTools: GROK_BUILD_BUILTIN_TOOLS,\n clientApp: {\n name: clientAppSegments.join('/'),\n version: clientAppVersion,\n },\n source: {\n type: 'npm-locked',\n packageJson: GROK_BUILD_IMPLEMENTATION_PACKAGE_JSON,\n pnpmLockYaml: GROK_BUILD_IMPLEMENTATION_PNPM_LOCK,\n },\n executable: 'grok',\n args: ['agent', 'stdio'],\n forwardEnv: ['XAI_API_KEY'],\n instructionMapping: {\n type: 'session-meta',\n path: ['rules'],\n },\n providerAuthentication: {\n gateway: {\n env: {\n GROK_CLIENT_NAME: { $source: 'client-app-name' },\n GROK_CLIENT_VERSION: { $source: 'client-app-version' },\n XAI_API_KEY: { $source: 'gateway-api-key' },\n GROK_XAI_API_BASE_URL: {\n $source: 'gateway-base-url',\n ensureSuffix: '/v1',\n },\n GROK_MODELS_BASE_URL: {\n $source: 'gateway-base-url',\n ensureSuffix: '/v1',\n },\n },\n },\n },\n });\n}\n\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n return value != null && typeof value === 'object' && !Array.isArray(value);\n}\n","declare const __PACKAGE_VERSION__: string | undefined;\nexport const VERSION: string =\n typeof __PACKAGE_VERSION__ !== 'undefined'\n ? __PACKAGE_VERSION__\n : '0.0.0-test';\n","import { createGrokBuild } from './grok-build-harness';\n\n/**\n * Default Grok Build harness instance. Equivalent to `createGrokBuild()`.\n */\nexport const grokBuild = createGrokBuild();\n\nexport { createGrokBuild } from './grok-build-harness';\nexport type { GrokBuildHarnessSettings } from './grok-build-harness';\nexport { VERSION } from './version';\n"],"mappings":";AAAA,SAAS,oBAAoB;AAC7B;AAAA,EACE;AAAA,OAGK;AACP;AAAA,EACE;AAAA,OAEK;AACP,SAAS,YAAY;AACrB,SAAS,SAAS;;;ACVX,IAAM,UACX,OACI,UACA;;;ADUN,IAAM,wBAAwB,6BAA6B,OAAO;AAClE,IAAM,yCAAyC;AAAA,EAC7C,IAAI,IAAI,yBAAyB,YAAY,GAAG;AAAA,EAChD;AACF;AACA,IAAM,sCAAsC;AAAA,EAC1C,IAAI,IAAI,2BAA2B,YAAY,GAAG;AAAA,EAClD;AACF;AAqCA,IAAM,2BAA2B;AAAA,EAC/B,MAAM,WAAW,QAAQ;AAAA,IACvB,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,aAAa,EAAE,YAAY;AAAA,MACzB,SAAS,EAAE,OAAO;AAAA,MAClB,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,IAAI,IAAU,EAAE,SAAS,EAAE,SAAS;AAAA,MACrE,aAAa,EAAE,OAAO,EAAE,SAAS;AAAA,MACjC,YAAY,EAAE,QAAQ,EAAE,SAAS;AAAA,IACnC,CAAC;AAAA,EACH,CAAC;AAAA,EACD,MAAM,WAAW,QAAQ;AAAA,IACvB,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,aAAa,EAAE,YAAY;AAAA,MACzB,WAAW,EAAE,OAAO;AAAA,MACpB,YAAY,EAAE,OAAO;AAAA,MACrB,YAAY,EAAE,OAAO;AAAA,MACrB,aAAa,EAAE,QAAQ,EAAE,SAAS;AAAA,IACpC,CAAC;AAAA,EACH,CAAC;AAAA,EACD,MAAM,WAAW,QAAQ;AAAA,IACvB,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,aAAa,EAAE,YAAY;AAAA,MACzB,SAAS,EAAE,OAAO;AAAA,MAClB,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS;AAAA,MACrC,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS;AAAA,MACrC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS;AAAA,MAChC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS;AAAA,MAChC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS;AAAA,MAChC,MAAM,EAAE,QAAQ,EAAE,SAAS;AAAA,MAC3B,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS;AAAA,MACrC,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS;AAAA,MACtC,WAAW,EAAE,QAAQ,EAAE,SAAS;AAAA,IAClC,CAAC;AAAA,EACH,CAAC;AAAA,EACD,WAAW,WAAW,aAAa;AAAA,IACjC,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,aAAa,EAAE,YAAY;AAAA,MACzB,OAAO,EAAE,OAAO;AAAA,MAChB,iBAAiB,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,SAAS,EAAE,SAAS;AAAA,IAC3D,CAAC;AAAA,EACH,CAAC;AAAA,EACD,OAAO,WAAW,SAAS;AAAA,IACzB,YAAY;AAAA,IACZ,aAAa;AAAA,IACb,aAAa,EAAE,YAAY;AAAA,MACzB,WAAW,EAAE,OAAO;AAAA,MACpB,SAAS,EAAE,OAAO;AAAA,IACpB,CAAC;AAAA,EACH,CAAC;AAAA,EACD,WAAW;AAAA,IACT,GAAG,KAAK;AAAA,MACN,aAAa,EAAE,YAAY;AAAA,QACzB,aAAa,EAAE,OAAO;AAAA,QACtB,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS;AAAA,QAClC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS;AAAA,QACjC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS;AAAA,QACtC,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS;AAAA,MACzC,CAAC;AAAA,IACH,CAAC;AAAA,IACD,aAAa;AAAA,EACf;AAAA,EACA,UAAU;AAAA,IACR,GAAG,KAAK;AAAA,MACN,aAAa,EAAE,YAAY;AAAA,QACzB,kBAAkB,EAAE,OAAO;AAAA,MAC7B,CAAC;AAAA,IACH,CAAC;AAAA,IACD,aAAa;AAAA,EACf;AAAA,EACA,0BAA0B,KAAK;AAAA,IAC7B,aAAa,EAAE,YAAY;AAAA,MACzB,SAAS,EAAE,OAAO;AAAA,IACpB,CAAC;AAAA,EACH,CAAC;AAAA,EACD,YAAY,KAAK;AAAA,IACf,aAAa,EAAE,YAAY;AAAA,MACzB,OAAO,EAAE,QAAQ,EAAE,SAAS;AAAA,MAC5B,OAAO,EAAE;AAAA,QACP,EAAE,YAAY;AAAA,UACZ,IAAI,EAAE,OAAO;AAAA,UACb,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS;AAAA,UACxC,QAAQ,EACL,KAAK,CAAC,WAAW,eAAe,aAAa,WAAW,CAAC,EACzD,SAAS,EACT,SAAS;AAAA,QACd,CAAC;AAAA,MACH;AAAA,IACF,CAAC;AAAA,EACH,CAAC;AAAA,EACD,gCAAgC;AAAA,IAC9B,GAAG,KAAK;AAAA,MACN,aAAa,EAAE,YAAY;AAAA,QACzB,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,SAAS;AAAA,QACvC,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS;AAAA,MACjE,CAAC;AAAA,IACH,CAAC;AAAA,IACD,aAAa;AAAA,EACf;AAAA,EACA,gBAAgB,KAAK;AAAA,IACnB,aAAa,EAAE,YAAY;AAAA,MACzB,QAAQ,EAAE,OAAO;AAAA,MACjB,aAAa,EAAE,OAAO;AAAA,MACtB,eAAe,EAAE,OAAO,EAAE,SAAS;AAAA,MACnC,YAAY,EAAE,QAAQ,EAAE,SAAS;AAAA,MACjC,iBAAiB,EACd,KAAK,CAAC,aAAa,cAAc,WAAW,KAAK,CAAC,EAClD,SAAS,EACT,SAAS;AAAA,MACZ,WAAW,EAAE,KAAK,CAAC,QAAQ,UAAU,CAAC,EAAE,SAAS,EAAE,SAAS;AAAA,MAC5D,aAAa,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS;AAAA,MAC5C,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS;AAAA,MACpC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS;AAAA,IACxC,CAAC;AAAA,EACH,CAAC;AAAA,EACD,kBAAkB,KAAK;AAAA,IACrB,aAAa,EAAE,YAAY;AAAA,MACzB,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS;AAAA,MACxC,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS;AAAA,MACzC,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS;AAAA,MACvC,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS;AAAA,MACzC,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS;AAAA,MAC5C,kBAAkB,EAAE,QAAQ,EAAE,SAAS;AAAA,IACzC,CAAC;AAAA,EACH,CAAC;AAAA,EACD,kBAAkB,KAAK;AAAA,IACrB,aAAa,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;AAAA,EAC/C,CAAC;AAAA,EACD,gBAAgB;AAAA,IACd,GAAG,KAAK,EAAE,aAAa,EAAE,YAAY,CAAC,CAAC,EAAE,CAAC;AAAA,IAC1C,aAAa;AAAA,EACf;AAAA,EACA,SAAS,KAAK;AAAA,IACZ,aAAa,EAAE,YAAY;AAAA,MACzB,SAAS,EAAE,OAAO;AAAA,MAClB,aAAa,EAAE,OAAO;AAAA,MACtB,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS;AAAA,MAC/D,YAAY,EAAE,QAAQ,EAAE,SAAS;AAAA,IACnC,CAAC;AAAA,EACH,CAAC;AAAA,EACD,aAAa;AAAA,IACX,GAAG,KAAK;AAAA,MACN,aAAa,EAAE,YAAY;AAAA,QACzB,OAAO,EAAE,OAAO;AAAA,QAChB,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG,EAAE,SAAS,EAAE,SAAS;AAAA,MAC9D,CAAC;AAAA,IACH,CAAC;AAAA,IACD,aAAa;AAAA,EACf;AAAA,EACA,UAAU,KAAK;AAAA,IACb,aAAa,EAAE,YAAY;AAAA,MACzB,WAAW,EAAE,OAAO;AAAA,MACpB,YAAY,EAAE,YAAY,CAAC,CAAC;AAAA,IAC9B,CAAC;AAAA,EACH,CAAC;AAAA,EACD,UAAU,KAAK;AAAA,IACb,aAAa,EAAE,YAAY;AAAA,MACzB,cAAc,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,IAAI,IAAI,EAAE,SAAS,EAAE,SAAS;AAAA,MACpE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS;AAAA,MACrC,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS;AAAA,MACvC,aAAa,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS;AAAA,MAC5C,MAAM,EAAE,QAAQ,EAAE,SAAS;AAAA,MAC3B,oBAAoB,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS;AAAA,MACnD,eAAe,EAAE,QAAQ,EAAE,SAAS;AAAA,IACtC,CAAC;AAAA,EACH,CAAC;AAAA,EACD,iBAAiB,KAAK,EAAE,aAAa,EAAE,YAAY,CAAC,CAAC,EAAE,CAAC;AAAA,EACxD,gBAAgB,KAAK,EAAE,aAAa,EAAE,YAAY,CAAC,CAAC,EAAE,CAAC;AAAA,EACvD,mBAAmB,KAAK;AAAA,IACtB,aAAa,EAAE,YAAY;AAAA,MACzB,WAAW,EAAE;AAAA,QACX,EAAE,YAAY;AAAA,UACZ,UAAU,EAAE,OAAO;AAAA,UACnB,SAAS,EAAE;AAAA,YACT,EAAE,YAAY;AAAA,cACZ,OAAO,EAAE,OAAO;AAAA,cAChB,aAAa,EAAE,OAAO;AAAA,cACtB,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS;AAAA,YAC1C,CAAC;AAAA,UACH;AAAA,UACA,cAAc,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS;AAAA,QAChD,CAAC;AAAA,MACH;AAAA,IACF,CAAC;AAAA,EACH,CAAC;AAAA,EACD,WAAW,KAAK;AAAA,IACd,aAAa,EAAE,YAAY;AAAA,MACzB,QAAQ,EAAE,OAAO;AAAA,MACjB,cAAc,EAAE,OAAO,EAAE,SAAS;AAAA,IACpC,CAAC;AAAA,EACH,CAAC;AAAA,EACD,YAAY,KAAK;AAAA,IACf,aAAa,EAAE,YAAY;AAAA,MACzB,QAAQ,EAAE,OAAO;AAAA,MACjB,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC;AAAA,MACzB,cAAc,EAAE,OAAO,EAAE,SAAS;AAAA,IACpC,CAAC;AAAA,EACH,CAAC;AAAA,EACD,gBAAgB,KAAK;AAAA,IACnB,aAAa,EAAE,YAAY;AAAA,MACzB,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS;AAAA,MACvC,OAAO,EAAE,OAAO;AAAA,MAChB,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS;AAAA,MAC7D,iBAAiB,EAAE,OAAO,EAAE,SAAS;AAAA,IACvC,CAAC;AAAA,EACH,CAAC;AAAA,EACD,oBAAoB,KAAK;AAAA,IACvB,aAAa,EAAE,YAAY;AAAA,MACzB,QAAQ,EAAE,OAAO;AAAA,MACjB,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC;AAAA,MAC1B,cAAc,EAAE,OAAO;AAAA,MACvB,UAAU,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS;AAAA,MAC7D,iBAAiB,EAAE,OAAO,EAAE,SAAS;AAAA,IACvC,CAAC;AAAA,EACH,CAAC;AACH;AAEO,SAAS,gBACd,WAAqC,CAAC,GACM;AAC5C,QAAM,oBAAoB,sBAAsB,MAAM,GAAG;AACzD,QAAM,mBAAmB,kBAAkB,IAAI;AAE/C,SAAO,UAAU;AAAA,IACf,MAAM,SAAS;AAAA,IACf,SAAS,SAAS;AAAA,IAClB,MAAM,SAAS;AAAA,IACf,kBAAkB,SAAS;AAAA,IAC3B,YAAY,SAAS;AAAA,IACrB,eAAe,cAAY;AACzB,YAAM,WAAW,SAAS,QAAQ,WAAW;AAC7C,aAAO,SAAS,QAAQ,KAAK,SAAS,cAAc;AAAA,IACtD;AAAA,IACA,iBAAiB,SAAS;AAAA,IAC1B,SAAS;AAAA,IACT,WAAW;AAAA,IACX,cAAc;AAAA,IACd,WAAW;AAAA,MACT,MAAM,kBAAkB,KAAK,GAAG;AAAA,MAChC,SAAS;AAAA,IACX;AAAA,IACA,QAAQ;AAAA,MACN,MAAM;AAAA,MACN,aAAa;AAAA,MACb,cAAc;AAAA,IAChB;AAAA,IACA,YAAY;AAAA,IACZ,MAAM,CAAC,SAAS,OAAO;AAAA,IACvB,YAAY,CAAC,aAAa;AAAA,IAC1B,oBAAoB;AAAA,MAClB,MAAM;AAAA,MACN,MAAM,CAAC,OAAO;AAAA,IAChB;AAAA,IACA,wBAAwB;AAAA,MACtB,SAAS;AAAA,QACP,KAAK;AAAA,UACH,kBAAkB,EAAE,SAAS,kBAAkB;AAAA,UAC/C,qBAAqB,EAAE,SAAS,qBAAqB;AAAA,UACrD,aAAa,EAAE,SAAS,kBAAkB;AAAA,UAC1C,uBAAuB;AAAA,YACrB,SAAS;AAAA,YACT,cAAc;AAAA,UAChB;AAAA,UACA,sBAAsB;AAAA,YACpB,SAAS;AAAA,YACT,cAAc;AAAA,UAChB;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,EACF,CAAC;AACH;AAEA,SAAS,SAAS,OAAkD;AAClE,SAAO,SAAS,QAAQ,OAAO,UAAU,YAAY,CAAC,MAAM,QAAQ,KAAK;AAC3E;;;AE5UO,IAAM,YAAY,gBAAgB;","names":[]}
1
+ {"version":3,"sources":["../src/grok-build-harness.ts","../src/version.ts","../src/index.ts"],"sourcesContent":["import {\n commonTool,\n type HarnessV1,\n type HarnessV1BuiltinTool,\n} from '@ai-sdk/harness';\nimport { createCredentialRequestTransformation } from '@ai-sdk/harness/utils';\nimport {\n createACP,\n type ACPProviderAuthenticationMode,\n} from '@ai-sdk/harness-acp';\nimport { tool } from '@ai-sdk/provider-utils';\nimport { z } from 'zod/v4';\nimport { VERSION } from './version';\n\ndeclare const __GROK_BUILD_IMPLEMENTATION_PACKAGE_JSON__: string;\ndeclare const __GROK_BUILD_IMPLEMENTATION_PNPM_LOCK_YAML__: string;\n\nconst GROK_BUILD_CLIENT_APP = `ai-sdk/harness-grok-build/${VERSION}`;\nconst GROK_BUILD_IMPLEMENTATION_PACKAGE_JSON =\n __GROK_BUILD_IMPLEMENTATION_PACKAGE_JSON__;\nconst GROK_BUILD_IMPLEMENTATION_PNPM_LOCK =\n __GROK_BUILD_IMPLEMENTATION_PNPM_LOCK_YAML__;\n\nexport type GrokBuildHarnessSettings = {\n /**\n * Selects direct xAI or AI Gateway authentication. Defaults to automatic\n * environment-based selection.\n */\n readonly auth?: ACPProviderAuthenticationMode;\n /**\n * Grok model id selected through ACP. Unset preserves Grok Build's default.\n */\n readonly model?: string;\n /**\n * Overrides the sandbox port used by the ACP bridge.\n */\n readonly port?: number;\n /**\n * Maximum milliseconds to wait for the ACP bridge to start.\n */\n readonly startupTimeoutMs?: number;\n /**\n * MCP server definitions keyed by server name. Each definition uses the\n * underlying runtime's native MCP server configuration format.\n */\n readonly mcpServers?: Record<string, unknown>;\n /**\n * Creates the authentication token used by the sandbox bridge. Defaults to\n * a random 32-byte hexadecimal token.\n */\n readonly mintBridgeToken?: (sandboxId: string) => string;\n};\n\n/*\n * Tool names and inputs were captured from the model request produced by\n * @xai-official/grok 0.2.111, the version used by the pinned Grok Build ACP\n * implementation.\n */\nconst GROK_BUILD_BUILTIN_TOOLS = {\n bash: commonTool('bash', {\n nativeName: 'run_terminal_command',\n toolUseKind: 'bash',\n inputSchema: z.looseObject({\n command: z.string(),\n timeout: z.number().int().min(0).max(36_000_000).nullable().optional(),\n description: z.string().optional(),\n background: z.boolean().optional(),\n }),\n }),\n edit: commonTool('edit', {\n nativeName: 'search_replace',\n toolUseKind: 'edit',\n inputSchema: z.looseObject({\n file_path: z.string(),\n old_string: z.string(),\n new_string: z.string(),\n replace_all: z.boolean().optional(),\n }),\n }),\n grep: commonTool('grep', {\n nativeName: 'grep',\n toolUseKind: 'readonly',\n inputSchema: z.looseObject({\n pattern: z.string(),\n path: z.string().nullable().optional(),\n glob: z.string().nullable().optional(),\n '-B': z.number().int().optional(),\n '-A': z.number().int().optional(),\n '-C': z.number().int().optional(),\n '-i': z.boolean().optional(),\n type: z.string().nullable().optional(),\n head_limit: z.number().int().optional(),\n multiline: z.boolean().optional(),\n }),\n }),\n webSearch: commonTool('webSearch', {\n nativeName: 'web_search',\n toolUseKind: 'readonly',\n inputSchema: z.looseObject({\n query: z.string(),\n allowed_domains: z.array(z.string()).nullable().optional(),\n }),\n }),\n write: commonTool('write', {\n nativeName: 'write',\n toolUseKind: 'edit',\n inputSchema: z.looseObject({\n file_path: z.string(),\n content: z.string(),\n }),\n }),\n read_file: {\n ...tool({\n inputSchema: z.looseObject({\n target_file: z.string(),\n offset: z.number().int().optional(),\n limit: z.number().int().optional(),\n pages: z.string().nullable().optional(),\n format: z.string().nullable().optional(),\n }),\n }),\n toolUseKind: 'readonly',\n },\n list_dir: {\n ...tool({\n inputSchema: z.looseObject({\n target_directory: z.string(),\n }),\n }),\n toolUseKind: 'readonly',\n },\n kill_command_or_subagent: tool({\n inputSchema: z.looseObject({\n task_id: z.string(),\n }),\n }),\n todo_write: tool({\n inputSchema: z.looseObject({\n merge: z.boolean().optional(),\n todos: z.array(\n z.looseObject({\n id: z.string(),\n content: z.string().nullable().optional(),\n status: z\n .enum(['pending', 'in_progress', 'completed', 'cancelled'])\n .nullable()\n .optional(),\n }),\n ),\n }),\n }),\n get_command_or_subagent_output: {\n ...tool({\n inputSchema: z.looseObject({\n task_ids: z.array(z.string()).optional(),\n timeout_ms: z.number().int().nonnegative().nullable().optional(),\n }),\n }),\n toolUseKind: 'readonly',\n },\n spawn_subagent: tool({\n inputSchema: z.looseObject({\n prompt: z.string(),\n description: z.string(),\n subagent_type: z.string().optional(),\n background: z.boolean().optional(),\n capability_mode: z\n .enum(['read-only', 'read-write', 'execute', 'all'])\n .nullable()\n .optional(),\n isolation: z.enum(['none', 'worktree']).nullable().optional(),\n resume_from: z.string().nullable().optional(),\n cwd: z.string().nullable().optional(),\n model: z.string().nullable().optional(),\n }),\n }),\n scheduler_create: tool({\n inputSchema: z.looseObject({\n task_id: z.string().nullable().optional(),\n interval: z.string().nullable().optional(),\n prompt: z.string().nullable().optional(),\n durable: z.boolean().nullable().optional(),\n foreground: z.boolean().nullable().optional(),\n fire_immediately: z.boolean().optional(),\n }),\n }),\n scheduler_delete: tool({\n inputSchema: z.looseObject({ id: z.string() }),\n }),\n scheduler_list: {\n ...tool({ inputSchema: z.looseObject({}) }),\n toolUseKind: 'readonly',\n },\n monitor: tool({\n inputSchema: z.looseObject({\n command: z.string(),\n description: z.string(),\n timeout_ms: z.number().int().nonnegative().nullable().optional(),\n persistent: z.boolean().optional(),\n }),\n }),\n search_tool: {\n ...tool({\n inputSchema: z.looseObject({\n query: z.string(),\n limit: z.number().int().min(0).max(255).nullable().optional(),\n }),\n }),\n toolUseKind: 'readonly',\n },\n use_tool: tool({\n inputSchema: z.looseObject({\n tool_name: z.string(),\n tool_input: z.looseObject({}),\n }),\n }),\n workflow: tool({\n inputSchema: z.looseObject({\n agent_budget: z.number().int().min(1).max(1024).nullable().optional(),\n name: z.string().nullable().optional(),\n script: z.string().nullable().optional(),\n script_path: z.string().nullable().optional(),\n args: z.unknown().optional(),\n resume_from_run_id: z.string().nullable().optional(),\n validate_only: z.boolean().optional(),\n }),\n }),\n enter_plan_mode: tool({ inputSchema: z.looseObject({}) }),\n exit_plan_mode: tool({ inputSchema: z.looseObject({}) }),\n ask_user_question: tool({\n inputSchema: z.looseObject({\n questions: z.array(\n z.looseObject({\n question: z.string(),\n options: z.array(\n z.looseObject({\n label: z.string(),\n description: z.string(),\n preview: z.string().nullable().optional(),\n }),\n ),\n multi_select: z.boolean().nullable().optional(),\n }),\n ),\n }),\n }),\n image_gen: tool({\n inputSchema: z.looseObject({\n prompt: z.string(),\n aspect_ratio: z.string().optional(),\n }),\n }),\n image_edit: tool({\n inputSchema: z.looseObject({\n prompt: z.string(),\n image: z.array(z.string()),\n aspect_ratio: z.string().optional(),\n }),\n }),\n image_to_video: tool({\n inputSchema: z.looseObject({\n prompt: z.string().nullable().optional(),\n image: z.string(),\n duration: z.number().int().nonnegative().nullable().optional(),\n resolution_name: z.string().optional(),\n }),\n }),\n reference_to_video: tool({\n inputSchema: z.looseObject({\n prompt: z.string(),\n images: z.array(z.string()),\n aspect_ratio: z.string(),\n duration: z.number().int().nonnegative().nullable().optional(),\n resolution_name: z.string().optional(),\n }),\n }),\n} as const satisfies Record<string, HarnessV1BuiltinTool<any, any>>;\n\nexport function createGrokBuild(\n settings: GrokBuildHarnessSettings = {},\n): HarnessV1<typeof GROK_BUILD_BUILTIN_TOOLS> {\n const clientAppSegments = GROK_BUILD_CLIENT_APP.split('/');\n const clientAppVersion = clientAppSegments.pop()!;\n\n return createACP({\n auth: settings.auth,\n modelId: settings.model,\n port: settings.port,\n startupTimeoutMs: settings.startupTimeoutMs,\n mcpServers: settings.mcpServers,\n isMcpToolCall: toolCall => {\n const metadata = toolCall._meta?.['x.ai/tool'];\n return isRecord(metadata) && metadata.namespace === 'mcp';\n },\n mintBridgeToken: settings.mintBridgeToken,\n version: 'v1',\n harnessId: 'grok-build',\n builtinTools: GROK_BUILD_BUILTIN_TOOLS,\n clientApp: {\n name: clientAppSegments.join('/'),\n version: clientAppVersion,\n },\n source: {\n type: 'npm-locked',\n packageJson: GROK_BUILD_IMPLEMENTATION_PACKAGE_JSON,\n pnpmLockYaml: GROK_BUILD_IMPLEMENTATION_PNPM_LOCK,\n },\n executable: 'grok',\n args: ['agent', 'stdio'],\n credentialEnv: ['XAI_API_KEY'],\n credentialBrokering: ({ env }) => {\n if (!env.XAI_API_KEY) return [];\n return [\n createCredentialRequestTransformation({\n baseUrl: env.GROK_XAI_API_BASE_URL ?? 'https://api.x.ai/v1',\n headers: { Authorization: `Bearer ${env.XAI_API_KEY}` },\n }),\n ];\n },\n instructionMapping: {\n type: 'session-meta',\n path: ['rules'],\n },\n providerAuthentication: {\n gateway: {\n env: {\n GROK_CLIENT_NAME: { $source: 'client-app-name' },\n GROK_CLIENT_VERSION: { $source: 'client-app-version' },\n XAI_API_KEY: { $source: 'gateway-api-key' },\n GROK_XAI_API_BASE_URL: {\n $source: 'gateway-base-url',\n ensureSuffix: '/v1',\n },\n GROK_MODELS_BASE_URL: {\n $source: 'gateway-base-url',\n ensureSuffix: '/v1',\n },\n },\n },\n },\n });\n}\n\nfunction isRecord(value: unknown): value is Record<string, unknown> {\n return value != null && typeof value === 'object' && !Array.isArray(value);\n}\n","declare const __PACKAGE_VERSION__: string | undefined;\nexport const VERSION: string =\n typeof __PACKAGE_VERSION__ !== 'undefined'\n ? __PACKAGE_VERSION__\n : '0.0.0-test';\n","import { createGrokBuild } from './grok-build-harness';\n\n/**\n * Default Grok Build harness instance. Equivalent to `createGrokBuild()`.\n */\nexport const grokBuild = createGrokBuild();\n\nexport { createGrokBuild } from './grok-build-harness';\nexport type { GrokBuildHarnessSettings } from './grok-build-harness';\nexport { VERSION } from './version';\n"],"mappings":"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","names":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ai-sdk/harness-grok-build",
3
- "version": "1.0.6",
3
+ "version": "1.0.8",
4
4
  "type": "module",
5
5
  "license": "Apache-2.0",
6
6
  "sideEffects": false,
@@ -26,8 +26,8 @@
26
26
  }
27
27
  },
28
28
  "dependencies": {
29
- "@ai-sdk/harness": "1.0.70",
30
- "@ai-sdk/harness-acp": "1.0.7",
29
+ "@ai-sdk/harness": "1.0.72",
30
+ "@ai-sdk/harness-acp": "1.0.9",
31
31
  "@ai-sdk/provider-utils": "5.0.27"
32
32
  },
33
33
  "peerDependencies": {
@@ -65,10 +65,9 @@
65
65
  "grok-build"
66
66
  ],
67
67
  "scripts": {
68
- "build": "pnpm clean && tsup --tsconfig tsconfig.build.json && pnpm copy-bridge-assets",
68
+ "build": "pnpm clean && tsup --tsconfig tsconfig.build.json",
69
69
  "build:watch": "pnpm clean && tsup --watch",
70
70
  "clean": "del-cli dist *.tsbuildinfo",
71
- "copy-bridge-assets": "node -e \"import('node:fs/promises').then(async fs => { await fs.mkdir('dist/bridge', { recursive: true }); await fs.copyFile('src/bridge/package.json', 'dist/bridge/package.json'); await fs.copyFile('src/bridge/pnpm-lock.yaml', 'dist/bridge/pnpm-lock.yaml'); })\"",
72
71
  "type-check": "tsc --build",
73
72
  "test": "pnpm test:node",
74
73
  "test:watch": "vitest --config vitest.node.config.js",
@@ -1,9 +1,9 @@
1
- import { readFileSync } from 'node:fs';
2
1
  import {
3
2
  commonTool,
4
3
  type HarnessV1,
5
4
  type HarnessV1BuiltinTool,
6
5
  } from '@ai-sdk/harness';
6
+ import { createCredentialRequestTransformation } from '@ai-sdk/harness/utils';
7
7
  import {
8
8
  createACP,
9
9
  type ACPProviderAuthenticationMode,
@@ -12,15 +12,14 @@ import { tool } from '@ai-sdk/provider-utils';
12
12
  import { z } from 'zod/v4';
13
13
  import { VERSION } from './version';
14
14
 
15
+ declare const __GROK_BUILD_IMPLEMENTATION_PACKAGE_JSON__: string;
16
+ declare const __GROK_BUILD_IMPLEMENTATION_PNPM_LOCK_YAML__: string;
17
+
15
18
  const GROK_BUILD_CLIENT_APP = `ai-sdk/harness-grok-build/${VERSION}`;
16
- const GROK_BUILD_IMPLEMENTATION_PACKAGE_JSON = readFileSync(
17
- new URL('./bridge/package.json', import.meta.url),
18
- 'utf8',
19
- );
20
- const GROK_BUILD_IMPLEMENTATION_PNPM_LOCK = readFileSync(
21
- new URL('./bridge/pnpm-lock.yaml', import.meta.url),
22
- 'utf8',
23
- );
19
+ const GROK_BUILD_IMPLEMENTATION_PACKAGE_JSON =
20
+ __GROK_BUILD_IMPLEMENTATION_PACKAGE_JSON__;
21
+ const GROK_BUILD_IMPLEMENTATION_PNPM_LOCK =
22
+ __GROK_BUILD_IMPLEMENTATION_PNPM_LOCK_YAML__;
24
23
 
25
24
  export type GrokBuildHarnessSettings = {
26
25
  /**
@@ -308,7 +307,16 @@ export function createGrokBuild(
308
307
  },
309
308
  executable: 'grok',
310
309
  args: ['agent', 'stdio'],
311
- forwardEnv: ['XAI_API_KEY'],
310
+ credentialEnv: ['XAI_API_KEY'],
311
+ credentialBrokering: ({ env }) => {
312
+ if (!env.XAI_API_KEY) return [];
313
+ return [
314
+ createCredentialRequestTransformation({
315
+ baseUrl: env.GROK_XAI_API_BASE_URL ?? 'https://api.x.ai/v1',
316
+ headers: { Authorization: `Bearer ${env.XAI_API_KEY}` },
317
+ }),
318
+ ];
319
+ },
312
320
  instructionMapping: {
313
321
  type: 'session-meta',
314
322
  path: ['rules'],
@@ -1,13 +0,0 @@
1
- {
2
- "name": "harness-grok-build-bridge",
3
- "version": "0.0.0",
4
- "private": true,
5
- "type": "module",
6
- "dependencies": {
7
- "@agentclientprotocol/sdk": "1.2.1",
8
- "@modelcontextprotocol/sdk": "1.29.0",
9
- "@xai-official/grok": "0.2.111",
10
- "ws": "8.21.0",
11
- "zod": "4.4.3"
12
- }
13
- }
@@ -1,890 +0,0 @@
1
- lockfileVersion: '9.0'
2
-
3
- settings:
4
- autoInstallPeers: true
5
- excludeLinksFromLockfile: false
6
-
7
- importers:
8
-
9
- .:
10
- dependencies:
11
- '@agentclientprotocol/sdk':
12
- specifier: 1.2.1
13
- version: 1.2.1(zod@4.4.3)
14
- '@modelcontextprotocol/sdk':
15
- specifier: 1.29.0
16
- version: 1.29.0(zod@4.4.3)
17
- '@xai-official/grok':
18
- specifier: 0.2.111
19
- version: 0.2.111
20
- ws:
21
- specifier: 8.21.0
22
- version: 8.21.0
23
- zod:
24
- specifier: 4.4.3
25
- version: 4.4.3
26
-
27
- packages:
28
-
29
- '@agentclientprotocol/sdk@1.2.1':
30
- resolution: {integrity: sha512-jwYUdOQR7tc+Zfch53VL4JJyUNK/46q03uUTYb+PjECsmnNl94XFXOfYLJ8RBpMNidXd1rpOAVgb0vqD98xImA==}
31
- peerDependencies:
32
- zod: ^3.25.0 || ^4.0.0
33
-
34
- '@hono/node-server@1.19.17':
35
- resolution: {integrity: sha512-dSneS5qhiauZWGDCeK4o695Xd9nUNjviSZCMQrj10eetr8Uln1ucn6bbphOM6UynAMMtNIzZNSpL9vnASJwrPQ==}
36
- engines: {node: '>=18.14.1'}
37
- peerDependencies:
38
- hono: ^4
39
-
40
- '@iarna/toml@3.0.0':
41
- resolution: {integrity: sha512-td6ZUkz2oS3VeleBcN+m//Q6HlCFCPrnI0FZhrt/h4XqLEdOyYp2u21nd8MdsR+WJy5r9PTDaHTDDfhf4H4l6Q==}
42
-
43
- '@modelcontextprotocol/sdk@1.29.0':
44
- resolution: {integrity: sha512-zo37mZA9hJWpULgkRpowewez1y6ML5GsXJPY8FI0tBBCd77HEvza4jDqRKOXgHNn867PVGCyTdzqpz0izu5ZjQ==}
45
- engines: {node: '>=18'}
46
- peerDependencies:
47
- '@cfworker/json-schema': ^4.1.1
48
- zod: ^3.25 || ^4.0
49
- peerDependenciesMeta:
50
- '@cfworker/json-schema':
51
- optional: true
52
-
53
- '@xai-official/grok-darwin-arm64@0.2.111':
54
- resolution: {integrity: sha512-6VFLmBj0HmFCC3r2vmjU4g69RiBVn39PzeGiKcMHVwnZf+hF1rJ5jcfHg/mIK/cRCutJ72Aasl4/Gz71U8J6XA==}
55
- cpu: [arm64]
56
- os: [darwin]
57
-
58
- '@xai-official/grok-darwin-x64@0.2.111':
59
- resolution: {integrity: sha512-QJKIUZ/yRjMo6rVWwPLlTy8Lmi3jHNWKvs249rpOrWX6pictKlL8Qcr0Y8Xajx1IVeJP3BsMQLigSyae1IC/qA==}
60
- cpu: [x64]
61
- os: [darwin]
62
-
63
- '@xai-official/grok-linux-arm64@0.2.111':
64
- resolution: {integrity: sha512-zAZ9xbKILa47IHC3dd7x5NkhyfUe7yoEsG7XWJyqMS9mtUvlZvTrhzH43K+HVixlV8Ge0Eh8btjPWNoFu7HBfg==}
65
- cpu: [arm64]
66
- os: [linux]
67
-
68
- '@xai-official/grok-linux-x64@0.2.111':
69
- resolution: {integrity: sha512-wffFfRU2a2505jtHx9+UYi+E7MNaAxXPqlHwPQMnC6q4eq4vjoyWdkvMBsN6Qokr7BjD6DIvkZdwGplosXyUdQ==}
70
- cpu: [x64]
71
- os: [linux]
72
-
73
- '@xai-official/grok-win32-arm64@0.2.111':
74
- resolution: {integrity: sha512-pl8hnDYnV9/NHc0AT9z3opVWetQfP76+hHp53wE0RpiriXVRKG5FZVh7r78V5VtQWxbonVEZR41/4LEOzyumEg==}
75
- cpu: [arm64]
76
- os: [win32]
77
-
78
- '@xai-official/grok-win32-x64@0.2.111':
79
- resolution: {integrity: sha512-sfRkUQ2pjOuCYW18+O/GqtdLCkjhUcQ1/vmyH+WiBJ5mlYOpSzbjlXYMTGoIjV4j6yR6r4GuIQs9r4dsKyomwA==}
80
- cpu: [x64]
81
- os: [win32]
82
-
83
- '@xai-official/grok@0.2.111':
84
- resolution: {integrity: sha512-baZxgwR0W+juZ6Wrni5gfORI+ayN/Q5ZjetyLBR9JIOMQg5s7W2GErJF4iONSYer+MS4k/Y2WaP+ekrmfIqFzA==}
85
- engines: {node: '>=20'}
86
- cpu: [arm64, x64]
87
- os: [darwin, linux, win32]
88
- hasBin: true
89
-
90
- accepts@2.0.0:
91
- resolution: {integrity: sha512-5cvg6CtKwfgdmVqY1WIiXKc3Q1bkRqGLi+2W/6ao+6Y7gu/RCwRuAhGEzh5B4KlszSuTLgZYuqFqo5bImjNKng==}
92
- engines: {node: '>= 0.6'}
93
-
94
- ajv-formats@3.0.1:
95
- resolution: {integrity: sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==}
96
- peerDependencies:
97
- ajv: ^8.0.0
98
- peerDependenciesMeta:
99
- ajv:
100
- optional: true
101
-
102
- ajv@8.20.0:
103
- resolution: {integrity: sha512-Thbli+OlOj+iMPYFBVBfJ3OmCAnaSyNn4M1vz9T6Gka5Jt9ba/HIR56joy65tY6kx/FCF5VXNB819Y7/GUrBGA==}
104
-
105
- body-parser@2.3.0:
106
- resolution: {integrity: sha512-2cGmJupaNgg+QUwVLAucDuWuoMZ6EX9iHDRswZ5lsNYEmwPaRknMPCLZz07yTzVq/83p4o/wzbDZbBrTvGGTIw==}
107
- engines: {node: '>=18'}
108
-
109
- bytes@3.1.2:
110
- resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==}
111
- engines: {node: '>= 0.8'}
112
-
113
- call-bind-apply-helpers@1.0.2:
114
- resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==}
115
- engines: {node: '>= 0.4'}
116
-
117
- call-bound@1.0.4:
118
- resolution: {integrity: sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==}
119
- engines: {node: '>= 0.4'}
120
-
121
- content-disposition@1.1.0:
122
- resolution: {integrity: sha512-5jRCH9Z/+DRP7rkvY83B+yGIGX96OYdJmzngqnw2SBSxqCFPd0w2km3s5iawpGX8krnwSGmF0FW5Nhr0Hfai3g==}
123
- engines: {node: '>=18'}
124
-
125
- content-type@1.0.5:
126
- resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==}
127
- engines: {node: '>= 0.6'}
128
-
129
- content-type@2.0.0:
130
- resolution: {integrity: sha512-j/O/d7GcZCyNl7/hwZAb606rzqkyvaDctLmckbxLzHvFBzTJHuGEdodATcP3yIRoDrLHkIATJuvzbFlp/ki2cQ==}
131
- engines: {node: '>=18'}
132
-
133
- cookie-signature@1.2.2:
134
- resolution: {integrity: sha512-D76uU73ulSXrD1UXF4KE2TMxVVwhsnCgfAyTg9k8P6KGZjlXKrOLe4dJQKI3Bxi5wjesZoFXJWElNWBjPZMbhg==}
135
- engines: {node: '>=6.6.0'}
136
-
137
- cookie@0.7.2:
138
- resolution: {integrity: sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==}
139
- engines: {node: '>= 0.6'}
140
-
141
- cors@2.8.6:
142
- resolution: {integrity: sha512-tJtZBBHA6vjIAaF6EnIaq6laBBP9aq/Y3ouVJjEfoHbRBcHBAHYcMh/w8LDrk2PvIMMq8gmopa5D4V8RmbrxGw==}
143
- engines: {node: '>= 0.10'}
144
-
145
- cross-spawn@7.0.6:
146
- resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==}
147
- engines: {node: '>= 8'}
148
-
149
- debug@4.4.3:
150
- resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==}
151
- engines: {node: '>=6.0'}
152
- peerDependencies:
153
- supports-color: '*'
154
- peerDependenciesMeta:
155
- supports-color:
156
- optional: true
157
-
158
- depd@2.0.0:
159
- resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==}
160
- engines: {node: '>= 0.8'}
161
-
162
- dunder-proto@1.0.1:
163
- resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==}
164
- engines: {node: '>= 0.4'}
165
-
166
- ee-first@1.1.1:
167
- resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==}
168
-
169
- encodeurl@2.0.0:
170
- resolution: {integrity: sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==}
171
- engines: {node: '>= 0.8'}
172
-
173
- es-define-property@1.0.1:
174
- resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==}
175
- engines: {node: '>= 0.4'}
176
-
177
- es-errors@1.3.0:
178
- resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==}
179
- engines: {node: '>= 0.4'}
180
-
181
- es-object-atoms@1.1.2:
182
- resolution: {integrity: sha512-HWcBoN6NileqtSydK2FqHbS/LoDd2pqrnQHLyJzBj4kOp/ky2MWMN694xOfkK8/SnUsW2DH7EfyVlydKCsm1Zw==}
183
- engines: {node: '>= 0.4'}
184
-
185
- escape-html@1.0.3:
186
- resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==}
187
-
188
- etag@1.8.1:
189
- resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==}
190
- engines: {node: '>= 0.6'}
191
-
192
- eventsource-parser@3.1.0:
193
- resolution: {integrity: sha512-kJezFj9YFAMLeORyi7aCLxLbD5/qWMQnoMVlVPyHIll7lgRJCc3JVln9Vgl9nwQi0YkMnhdGTMNn7CkRRAptMg==}
194
- engines: {node: '>=18.0.0'}
195
-
196
- eventsource@3.0.7:
197
- resolution: {integrity: sha512-CRT1WTyuQoD771GW56XEZFQ/ZoSfWid1alKGDYMmkt2yl8UXrVR4pspqWNEcqKvVIzg6PAltWjxcSSPrboA4iA==}
198
- engines: {node: '>=18.0.0'}
199
-
200
- express-rate-limit@8.6.2:
201
- resolution: {integrity: sha512-YH4ru+eOJxQABscKFfRCy9R7x9QFGdezclVMwwgFFndzS2Xnm0uo6B0ABZsLhcpeptGv2qvuJVWlQr9gQZoC3A==}
202
- engines: {node: '>= 16'}
203
- peerDependencies:
204
- express: '>= 4.11'
205
-
206
- express@5.2.1:
207
- resolution: {integrity: sha512-hIS4idWWai69NezIdRt2xFVofaF4j+6INOpJlVOLDO8zXGpUVEVzIYk12UUi2JzjEzWL3IOAxcTubgz9Po0yXw==}
208
- engines: {node: '>= 18'}
209
-
210
- fast-deep-equal@3.1.3:
211
- resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
212
-
213
- fast-uri@3.1.5:
214
- resolution: {integrity: sha512-gHwA1O9LDIcKunMKhObS/HimwtehO1nPUECKAu5TpKgaO19fcWEl4bliWe1jWxVFvIXztJjjQ4L8XQ1EU9f7Jw==}
215
-
216
- finalhandler@2.1.1:
217
- resolution: {integrity: sha512-S8KoZgRZN+a5rNwqTxlZZePjT/4cnm0ROV70LedRHZ0p8u9fRID0hJUZQpkKLzro8LfmC8sx23bY6tVNxv8pQA==}
218
- engines: {node: '>= 18.0.0'}
219
-
220
- forwarded@0.2.0:
221
- resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==}
222
- engines: {node: '>= 0.6'}
223
-
224
- fresh@2.0.0:
225
- resolution: {integrity: sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A==}
226
- engines: {node: '>= 0.8'}
227
-
228
- function-bind@1.1.2:
229
- resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==}
230
-
231
- get-intrinsic@1.3.0:
232
- resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==}
233
- engines: {node: '>= 0.4'}
234
-
235
- get-proto@1.0.1:
236
- resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==}
237
- engines: {node: '>= 0.4'}
238
-
239
- gopd@1.2.0:
240
- resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==}
241
- engines: {node: '>= 0.4'}
242
-
243
- has-symbols@1.1.0:
244
- resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==}
245
- engines: {node: '>= 0.4'}
246
-
247
- hasown@2.0.4:
248
- resolution: {integrity: sha512-T2UbfbBEF32wiepXIsMlTW9+dDYC6wMh/t/vYA4tuOMKqWz/n3vr1NFSxQiyP+zk2mXsoMA/i/7qV6LKut1t1A==}
249
- engines: {node: '>= 0.4'}
250
-
251
- hono@4.13.0:
252
- resolution: {integrity: sha512-jhunvfHWxd7J5EFfSgH4xsYJzSe/lfqbUCxiyyeaQasUsXeEHXtzVid+7EOGByc5JnFa23SSFL3Y2RV/z1T+eQ==}
253
- engines: {node: '>=16.9.0'}
254
-
255
- http-errors@2.0.1:
256
- resolution: {integrity: sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==}
257
- engines: {node: '>= 0.8'}
258
-
259
- iconv-lite@0.7.3:
260
- resolution: {integrity: sha512-IKXpvIzjnC9XTAUbVBcMfGS0EPaIXtW6v+zr+RRp+hqULEpo0owZax6wyRwPOJbWbzjYspQwusTsfVr0ifh4uQ==}
261
- engines: {node: '>=0.10.0'}
262
-
263
- inherits@2.0.4:
264
- resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
265
-
266
- ip-address@10.4.0:
267
- resolution: {integrity: sha512-oSK96Grm3aP6OrS263xVxbNDGVL7rzBtYdpGqlDG8iQdoenDoTs/nkki+DflYbAEE8Xl6o5YxhxlrKvI3nqKXQ==}
268
- engines: {node: '>= 12'}
269
-
270
- ipaddr.js@1.9.1:
271
- resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==}
272
- engines: {node: '>= 0.10'}
273
-
274
- is-promise@4.0.0:
275
- resolution: {integrity: sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==}
276
-
277
- isexe@2.0.0:
278
- resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
279
-
280
- jose@6.2.8:
281
- resolution: {integrity: sha512-Bsdjwm3Qsd/P0jR+BHDe3LytDfY7WBq2HmCCLIwuVRHMuEC9ae7/R474GIUdF1NgCyZjzVo/A9DOiOBtXq8ZoQ==}
282
-
283
- json-schema-traverse@1.0.0:
284
- resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==}
285
-
286
- json-schema-typed@8.0.2:
287
- resolution: {integrity: sha512-fQhoXdcvc3V28x7C7BMs4P5+kNlgUURe2jmUT1T//oBRMDrqy1QPelJimwZGo7Hg9VPV3EQV5Bnq4hbFy2vetA==}
288
-
289
- math-intrinsics@1.1.0:
290
- resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==}
291
- engines: {node: '>= 0.4'}
292
-
293
- media-typer@1.1.1:
294
- resolution: {integrity: sha512-yz3xRaG20c6/BOzvYoDaGtPmGscs7YivItZEEqe6GbwNfHuxu9YNmvnEkMzKldAGY4/80pRcQRZSEnhquk9XuQ==}
295
- engines: {node: '>= 0.8'}
296
-
297
- merge-descriptors@2.0.0:
298
- resolution: {integrity: sha512-Snk314V5ayFLhp3fkUREub6WtjBfPdCPY1Ln8/8munuLuiYhsABgBVWsozAG+MWMbVEvcdcpbi9R7ww22l9Q3g==}
299
- engines: {node: '>=18'}
300
-
301
- mime-db@1.54.0:
302
- resolution: {integrity: sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==}
303
- engines: {node: '>= 0.6'}
304
-
305
- mime-types@3.0.2:
306
- resolution: {integrity: sha512-Lbgzdk0h4juoQ9fCKXW4by0UJqj+nOOrI9MJ1sSj4nI8aI2eo1qmvQEie4VD1glsS250n15LsWsYtCugiStS5A==}
307
- engines: {node: '>=18'}
308
-
309
- ms@2.1.3:
310
- resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
311
-
312
- negotiator@1.0.0:
313
- resolution: {integrity: sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==}
314
- engines: {node: '>= 0.6'}
315
-
316
- object-assign@4.1.1:
317
- resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==}
318
- engines: {node: '>=0.10.0'}
319
-
320
- object-inspect@1.13.4:
321
- resolution: {integrity: sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==}
322
- engines: {node: '>= 0.4'}
323
-
324
- on-finished@2.4.1:
325
- resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==}
326
- engines: {node: '>= 0.8'}
327
-
328
- once@1.4.0:
329
- resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
330
-
331
- parseurl@1.3.3:
332
- resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==}
333
- engines: {node: '>= 0.8'}
334
-
335
- path-key@3.1.1:
336
- resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
337
- engines: {node: '>=8'}
338
-
339
- path-to-regexp@8.4.2:
340
- resolution: {integrity: sha512-qRcuIdP69NPm4qbACK+aDogI5CBDMi1jKe0ry5rSQJz8JVLsC7jV8XpiJjGRLLol3N+R5ihGYcrPLTno6pAdBA==}
341
-
342
- pkce-challenge@5.0.1:
343
- resolution: {integrity: sha512-wQ0b/W4Fr01qtpHlqSqspcj3EhBvimsdh0KlHhH8HRZnMsEa0ea2fTULOXOS9ccQr3om+GcGRk4e+isrZWV8qQ==}
344
- engines: {node: '>=16.20.0'}
345
-
346
- proxy-addr@2.0.7:
347
- resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==}
348
- engines: {node: '>= 0.10'}
349
-
350
- qs@6.15.3:
351
- resolution: {integrity: sha512-O9gl3zCl5h5blw1KGUzQKhA5oUXSl8rwUIM5o0S3nCXMliSvy5Dzx7/DJcI+SwgICv+IneSZwhBh1oSyEHA71A==}
352
- engines: {node: '>=0.6'}
353
-
354
- range-parser@1.3.0:
355
- resolution: {integrity: sha512-hek2mFQpPuI4E1BBKrSto+BU3e3x4xuarsbiwr3+lf7p44juvFMV0XFWQAP3xUyqXA4RrXLIoaSUGbSt056ZMw==}
356
- engines: {node: '>= 0.6'}
357
-
358
- raw-body@3.0.2:
359
- resolution: {integrity: sha512-K5zQjDllxWkf7Z5xJdV0/B0WTNqx6vxG70zJE4N0kBs4LovmEYWJzQGxC9bS9RAKu3bgM40lrd5zoLJ12MQ5BA==}
360
- engines: {node: '>= 0.10'}
361
-
362
- require-from-string@2.0.2:
363
- resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==}
364
- engines: {node: '>=0.10.0'}
365
-
366
- router@2.2.0:
367
- resolution: {integrity: sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ==}
368
- engines: {node: '>= 18'}
369
-
370
- safer-buffer@2.1.2:
371
- resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==}
372
-
373
- send@1.2.1:
374
- resolution: {integrity: sha512-1gnZf7DFcoIcajTjTwjwuDjzuz4PPcY2StKPlsGAQ1+YH20IRVrBaXSWmdjowTJ6u8Rc01PoYOGHXfP1mYcZNQ==}
375
- engines: {node: '>= 18'}
376
-
377
- serve-static@2.2.1:
378
- resolution: {integrity: sha512-xRXBn0pPqQTVQiC8wyQrKs2MOlX24zQ0POGaj0kultvoOCstBQM5yvOhAVSUwOMjQtTvsPWoNCHfPGwaaQJhTw==}
379
- engines: {node: '>= 18'}
380
-
381
- setprototypeof@1.2.0:
382
- resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==}
383
-
384
- shebang-command@2.0.0:
385
- resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==}
386
- engines: {node: '>=8'}
387
-
388
- shebang-regex@3.0.0:
389
- resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
390
- engines: {node: '>=8'}
391
-
392
- side-channel-list@1.0.1:
393
- resolution: {integrity: sha512-mjn/0bi/oUURjc5Xl7IaWi/OJJJumuoJFQJfDDyO46+hBWsfaVM65TBHq2eoZBhzl9EchxOijpkbRC8SVBQU0w==}
394
- engines: {node: '>= 0.4'}
395
-
396
- side-channel-map@1.0.1:
397
- resolution: {integrity: sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==}
398
- engines: {node: '>= 0.4'}
399
-
400
- side-channel-weakmap@1.0.2:
401
- resolution: {integrity: sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==}
402
- engines: {node: '>= 0.4'}
403
-
404
- side-channel@1.1.1:
405
- resolution: {integrity: sha512-6x6dK6zJdpTzF4sQeNYxwtvBzf6Eg4GtlesS94HOvTudUeyK2WXAaIfmDgsyslYrRBeFIlsi54AYsFGUuhmvrQ==}
406
- engines: {node: '>= 0.4'}
407
-
408
- statuses@2.0.2:
409
- resolution: {integrity: sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==}
410
- engines: {node: '>= 0.8'}
411
-
412
- toidentifier@1.0.1:
413
- resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==}
414
- engines: {node: '>=0.6'}
415
-
416
- type-is@2.1.0:
417
- resolution: {integrity: sha512-faYHw0anBbc/kWF3zFTEnxSFOAGUX9GFbOBthvDdLsIlEoWOFOtS0zgCiQYwIskL9iGXZL3kAXD8OoZ4GmMATA==}
418
- engines: {node: '>= 18'}
419
-
420
- unpipe@1.0.0:
421
- resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==}
422
- engines: {node: '>= 0.8'}
423
-
424
- vary@1.1.2:
425
- resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==}
426
- engines: {node: '>= 0.8'}
427
-
428
- which@2.0.2:
429
- resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==}
430
- engines: {node: '>= 8'}
431
- hasBin: true
432
-
433
- wrappy@1.0.2:
434
- resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
435
-
436
- ws@8.21.0:
437
- resolution: {integrity: sha512-Vsp28b7DRcimFQvrqu2Wek3z1iYxDCWqHYB8Qsnk/S4RfaCQzPGPyBNuVjJV3cd6UiKtUtp6sNM77gWvzcCH+g==}
438
- engines: {node: '>=10.0.0'}
439
- peerDependencies:
440
- bufferutil: ^4.0.1
441
- utf-8-validate: '>=5.0.2'
442
- peerDependenciesMeta:
443
- bufferutil:
444
- optional: true
445
- utf-8-validate:
446
- optional: true
447
-
448
- zod-to-json-schema@3.25.2:
449
- resolution: {integrity: sha512-O/PgfnpT1xKSDeQYSCfRI5Gy3hPf91mKVDuYLUHZJMiDFptvP41MSnWofm8dnCm0256ZNfZIM7DSzuSMAFnjHA==}
450
- peerDependencies:
451
- zod: ^3.25.28 || ^4
452
-
453
- zod@4.4.3:
454
- resolution: {integrity: sha512-ytENFjIJFl2UwYglde2jchW2Hwm4GJFLDiSXWdTrJQBIN9Fcyp7n4DhxJEiWNAJMV1/BqWfW/kkg71UDcHJyTQ==}
455
-
456
- snapshots:
457
-
458
- '@agentclientprotocol/sdk@1.2.1(zod@4.4.3)':
459
- dependencies:
460
- zod: 4.4.3
461
-
462
- '@hono/node-server@1.19.17(hono@4.13.0)':
463
- dependencies:
464
- hono: 4.13.0
465
-
466
- '@iarna/toml@3.0.0': {}
467
-
468
- '@modelcontextprotocol/sdk@1.29.0(zod@4.4.3)':
469
- dependencies:
470
- '@hono/node-server': 1.19.17(hono@4.13.0)
471
- ajv: 8.20.0
472
- ajv-formats: 3.0.1(ajv@8.20.0)
473
- content-type: 1.0.5
474
- cors: 2.8.6
475
- cross-spawn: 7.0.6
476
- eventsource: 3.0.7
477
- eventsource-parser: 3.1.0
478
- express: 5.2.1
479
- express-rate-limit: 8.6.2(express@5.2.1)
480
- hono: 4.13.0
481
- jose: 6.2.8
482
- json-schema-typed: 8.0.2
483
- pkce-challenge: 5.0.1
484
- raw-body: 3.0.2
485
- zod: 4.4.3
486
- zod-to-json-schema: 3.25.2(zod@4.4.3)
487
- transitivePeerDependencies:
488
- - supports-color
489
-
490
- '@xai-official/grok-darwin-arm64@0.2.111':
491
- optional: true
492
-
493
- '@xai-official/grok-darwin-x64@0.2.111':
494
- optional: true
495
-
496
- '@xai-official/grok-linux-arm64@0.2.111':
497
- optional: true
498
-
499
- '@xai-official/grok-linux-x64@0.2.111':
500
- optional: true
501
-
502
- '@xai-official/grok-win32-arm64@0.2.111':
503
- optional: true
504
-
505
- '@xai-official/grok-win32-x64@0.2.111':
506
- optional: true
507
-
508
- '@xai-official/grok@0.2.111':
509
- dependencies:
510
- '@iarna/toml': 3.0.0
511
- optionalDependencies:
512
- '@xai-official/grok-darwin-arm64': 0.2.111
513
- '@xai-official/grok-darwin-x64': 0.2.111
514
- '@xai-official/grok-linux-arm64': 0.2.111
515
- '@xai-official/grok-linux-x64': 0.2.111
516
- '@xai-official/grok-win32-arm64': 0.2.111
517
- '@xai-official/grok-win32-x64': 0.2.111
518
-
519
- accepts@2.0.0:
520
- dependencies:
521
- mime-types: 3.0.2
522
- negotiator: 1.0.0
523
-
524
- ajv-formats@3.0.1(ajv@8.20.0):
525
- optionalDependencies:
526
- ajv: 8.20.0
527
-
528
- ajv@8.20.0:
529
- dependencies:
530
- fast-deep-equal: 3.1.3
531
- fast-uri: 3.1.5
532
- json-schema-traverse: 1.0.0
533
- require-from-string: 2.0.2
534
-
535
- body-parser@2.3.0:
536
- dependencies:
537
- bytes: 3.1.2
538
- content-type: 2.0.0
539
- debug: 4.4.3
540
- http-errors: 2.0.1
541
- iconv-lite: 0.7.3
542
- on-finished: 2.4.1
543
- qs: 6.15.3
544
- raw-body: 3.0.2
545
- type-is: 2.1.0
546
- transitivePeerDependencies:
547
- - supports-color
548
-
549
- bytes@3.1.2: {}
550
-
551
- call-bind-apply-helpers@1.0.2:
552
- dependencies:
553
- es-errors: 1.3.0
554
- function-bind: 1.1.2
555
-
556
- call-bound@1.0.4:
557
- dependencies:
558
- call-bind-apply-helpers: 1.0.2
559
- get-intrinsic: 1.3.0
560
-
561
- content-disposition@1.1.0: {}
562
-
563
- content-type@1.0.5: {}
564
-
565
- content-type@2.0.0: {}
566
-
567
- cookie-signature@1.2.2: {}
568
-
569
- cookie@0.7.2: {}
570
-
571
- cors@2.8.6:
572
- dependencies:
573
- object-assign: 4.1.1
574
- vary: 1.1.2
575
-
576
- cross-spawn@7.0.6:
577
- dependencies:
578
- path-key: 3.1.1
579
- shebang-command: 2.0.0
580
- which: 2.0.2
581
-
582
- debug@4.4.3:
583
- dependencies:
584
- ms: 2.1.3
585
-
586
- depd@2.0.0: {}
587
-
588
- dunder-proto@1.0.1:
589
- dependencies:
590
- call-bind-apply-helpers: 1.0.2
591
- es-errors: 1.3.0
592
- gopd: 1.2.0
593
-
594
- ee-first@1.1.1: {}
595
-
596
- encodeurl@2.0.0: {}
597
-
598
- es-define-property@1.0.1: {}
599
-
600
- es-errors@1.3.0: {}
601
-
602
- es-object-atoms@1.1.2:
603
- dependencies:
604
- es-errors: 1.3.0
605
-
606
- escape-html@1.0.3: {}
607
-
608
- etag@1.8.1: {}
609
-
610
- eventsource-parser@3.1.0: {}
611
-
612
- eventsource@3.0.7:
613
- dependencies:
614
- eventsource-parser: 3.1.0
615
-
616
- express-rate-limit@8.6.2(express@5.2.1):
617
- dependencies:
618
- debug: 4.4.3
619
- express: 5.2.1
620
- ip-address: 10.4.0
621
- transitivePeerDependencies:
622
- - supports-color
623
-
624
- express@5.2.1:
625
- dependencies:
626
- accepts: 2.0.0
627
- body-parser: 2.3.0
628
- content-disposition: 1.1.0
629
- content-type: 1.0.5
630
- cookie: 0.7.2
631
- cookie-signature: 1.2.2
632
- debug: 4.4.3
633
- depd: 2.0.0
634
- encodeurl: 2.0.0
635
- escape-html: 1.0.3
636
- etag: 1.8.1
637
- finalhandler: 2.1.1
638
- fresh: 2.0.0
639
- http-errors: 2.0.1
640
- merge-descriptors: 2.0.0
641
- mime-types: 3.0.2
642
- on-finished: 2.4.1
643
- once: 1.4.0
644
- parseurl: 1.3.3
645
- proxy-addr: 2.0.7
646
- qs: 6.15.3
647
- range-parser: 1.3.0
648
- router: 2.2.0
649
- send: 1.2.1
650
- serve-static: 2.2.1
651
- statuses: 2.0.2
652
- type-is: 2.1.0
653
- vary: 1.1.2
654
- transitivePeerDependencies:
655
- - supports-color
656
-
657
- fast-deep-equal@3.1.3: {}
658
-
659
- fast-uri@3.1.5: {}
660
-
661
- finalhandler@2.1.1:
662
- dependencies:
663
- debug: 4.4.3
664
- encodeurl: 2.0.0
665
- escape-html: 1.0.3
666
- on-finished: 2.4.1
667
- parseurl: 1.3.3
668
- statuses: 2.0.2
669
- transitivePeerDependencies:
670
- - supports-color
671
-
672
- forwarded@0.2.0: {}
673
-
674
- fresh@2.0.0: {}
675
-
676
- function-bind@1.1.2: {}
677
-
678
- get-intrinsic@1.3.0:
679
- dependencies:
680
- call-bind-apply-helpers: 1.0.2
681
- es-define-property: 1.0.1
682
- es-errors: 1.3.0
683
- es-object-atoms: 1.1.2
684
- function-bind: 1.1.2
685
- get-proto: 1.0.1
686
- gopd: 1.2.0
687
- has-symbols: 1.1.0
688
- hasown: 2.0.4
689
- math-intrinsics: 1.1.0
690
-
691
- get-proto@1.0.1:
692
- dependencies:
693
- dunder-proto: 1.0.1
694
- es-object-atoms: 1.1.2
695
-
696
- gopd@1.2.0: {}
697
-
698
- has-symbols@1.1.0: {}
699
-
700
- hasown@2.0.4:
701
- dependencies:
702
- function-bind: 1.1.2
703
-
704
- hono@4.13.0: {}
705
-
706
- http-errors@2.0.1:
707
- dependencies:
708
- depd: 2.0.0
709
- inherits: 2.0.4
710
- setprototypeof: 1.2.0
711
- statuses: 2.0.2
712
- toidentifier: 1.0.1
713
-
714
- iconv-lite@0.7.3:
715
- dependencies:
716
- safer-buffer: 2.1.2
717
-
718
- inherits@2.0.4: {}
719
-
720
- ip-address@10.4.0: {}
721
-
722
- ipaddr.js@1.9.1: {}
723
-
724
- is-promise@4.0.0: {}
725
-
726
- isexe@2.0.0: {}
727
-
728
- jose@6.2.8: {}
729
-
730
- json-schema-traverse@1.0.0: {}
731
-
732
- json-schema-typed@8.0.2: {}
733
-
734
- math-intrinsics@1.1.0: {}
735
-
736
- media-typer@1.1.1: {}
737
-
738
- merge-descriptors@2.0.0: {}
739
-
740
- mime-db@1.54.0: {}
741
-
742
- mime-types@3.0.2:
743
- dependencies:
744
- mime-db: 1.54.0
745
-
746
- ms@2.1.3: {}
747
-
748
- negotiator@1.0.0: {}
749
-
750
- object-assign@4.1.1: {}
751
-
752
- object-inspect@1.13.4: {}
753
-
754
- on-finished@2.4.1:
755
- dependencies:
756
- ee-first: 1.1.1
757
-
758
- once@1.4.0:
759
- dependencies:
760
- wrappy: 1.0.2
761
-
762
- parseurl@1.3.3: {}
763
-
764
- path-key@3.1.1: {}
765
-
766
- path-to-regexp@8.4.2: {}
767
-
768
- pkce-challenge@5.0.1: {}
769
-
770
- proxy-addr@2.0.7:
771
- dependencies:
772
- forwarded: 0.2.0
773
- ipaddr.js: 1.9.1
774
-
775
- qs@6.15.3:
776
- dependencies:
777
- es-define-property: 1.0.1
778
- side-channel: 1.1.1
779
-
780
- range-parser@1.3.0: {}
781
-
782
- raw-body@3.0.2:
783
- dependencies:
784
- bytes: 3.1.2
785
- http-errors: 2.0.1
786
- iconv-lite: 0.7.3
787
- unpipe: 1.0.0
788
-
789
- require-from-string@2.0.2: {}
790
-
791
- router@2.2.0:
792
- dependencies:
793
- debug: 4.4.3
794
- depd: 2.0.0
795
- is-promise: 4.0.0
796
- parseurl: 1.3.3
797
- path-to-regexp: 8.4.2
798
- transitivePeerDependencies:
799
- - supports-color
800
-
801
- safer-buffer@2.1.2: {}
802
-
803
- send@1.2.1:
804
- dependencies:
805
- debug: 4.4.3
806
- encodeurl: 2.0.0
807
- escape-html: 1.0.3
808
- etag: 1.8.1
809
- fresh: 2.0.0
810
- http-errors: 2.0.1
811
- mime-types: 3.0.2
812
- ms: 2.1.3
813
- on-finished: 2.4.1
814
- range-parser: 1.3.0
815
- statuses: 2.0.2
816
- transitivePeerDependencies:
817
- - supports-color
818
-
819
- serve-static@2.2.1:
820
- dependencies:
821
- encodeurl: 2.0.0
822
- escape-html: 1.0.3
823
- parseurl: 1.3.3
824
- send: 1.2.1
825
- transitivePeerDependencies:
826
- - supports-color
827
-
828
- setprototypeof@1.2.0: {}
829
-
830
- shebang-command@2.0.0:
831
- dependencies:
832
- shebang-regex: 3.0.0
833
-
834
- shebang-regex@3.0.0: {}
835
-
836
- side-channel-list@1.0.1:
837
- dependencies:
838
- es-errors: 1.3.0
839
- object-inspect: 1.13.4
840
-
841
- side-channel-map@1.0.1:
842
- dependencies:
843
- call-bound: 1.0.4
844
- es-errors: 1.3.0
845
- get-intrinsic: 1.3.0
846
- object-inspect: 1.13.4
847
-
848
- side-channel-weakmap@1.0.2:
849
- dependencies:
850
- call-bound: 1.0.4
851
- es-errors: 1.3.0
852
- get-intrinsic: 1.3.0
853
- object-inspect: 1.13.4
854
- side-channel-map: 1.0.1
855
-
856
- side-channel@1.1.1:
857
- dependencies:
858
- es-errors: 1.3.0
859
- object-inspect: 1.13.4
860
- side-channel-list: 1.0.1
861
- side-channel-map: 1.0.1
862
- side-channel-weakmap: 1.0.2
863
-
864
- statuses@2.0.2: {}
865
-
866
- toidentifier@1.0.1: {}
867
-
868
- type-is@2.1.0:
869
- dependencies:
870
- content-type: 2.0.0
871
- media-typer: 1.1.1
872
- mime-types: 3.0.2
873
-
874
- unpipe@1.0.0: {}
875
-
876
- vary@1.1.2: {}
877
-
878
- which@2.0.2:
879
- dependencies:
880
- isexe: 2.0.0
881
-
882
- wrappy@1.0.2: {}
883
-
884
- ws@8.21.0: {}
885
-
886
- zod-to-json-schema@3.25.2(zod@4.4.3):
887
- dependencies:
888
- zod: 4.4.3
889
-
890
- zod@4.4.3: {}