@ai-sdk/harness-grok-build 1.0.29 → 1.0.31

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,32 @@
1
1
  # @ai-sdk/harness-grok-build
2
2
 
3
+ ## 1.0.31
4
+
5
+ ### Patch Changes
6
+
7
+ - 8961fde: feat(harness): allow changing `model` between turns via call options
8
+ - Updated dependencies [8961fde]
9
+ - Updated dependencies [eb59f2a]
10
+ - @ai-sdk/harness-acp@1.0.32
11
+ - @ai-sdk/harness@1.0.94
12
+ - @ai-sdk/provider-utils@5.0.34
13
+
14
+ ## 1.0.30
15
+
16
+ ### Patch Changes
17
+
18
+ - 39e8870: feat(harness-grok-build): update underlying SDK and add support for `reasoningEffort` control
19
+ - 7608210: feat(harness): add `model` parameter to `HarnessAgent` instead of having each harness adapter support it on their own constructor functions
20
+ - Updated dependencies [cc9f6ce]
21
+ - Updated dependencies [7608210]
22
+ - Updated dependencies [6f8a2d7]
23
+ - Updated dependencies [f7bd978]
24
+ - Updated dependencies [14d4fc0]
25
+ - Updated dependencies [90192f1]
26
+ - @ai-sdk/harness@1.0.93
27
+ - @ai-sdk/harness-acp@1.0.31
28
+ - @ai-sdk/provider-utils@5.0.33
29
+
3
30
  ## 1.0.29
4
31
 
5
32
  ### Patch Changes
package/dist/index.d.ts CHANGED
@@ -18,9 +18,17 @@ type GrokBuildHarnessSettings = {
18
18
  */
19
19
  readonly credentialForwarding?: HarnessV1CredentialForwarding;
20
20
  /**
21
- * Grok model id selected through ACP. Unset preserves Grok Build's default.
21
+ * Grok model id selected through Grok Build configuration. Leaving this
22
+ * unset uses the default model.
23
+ *
24
+ * @deprecated Use `model` on `HarnessAgent` instead.
22
25
  */
23
26
  readonly model?: string;
27
+ /**
28
+ * Reasoning effort for reasoning-capable models. Leaving this unset defers
29
+ * to Grok Build's default.
30
+ */
31
+ readonly reasoningEffort?: 'none' | 'minimal' | 'low' | 'medium' | 'high' | 'xhigh' | 'max';
24
32
  /**
25
33
  * Overrides the sandbox port used by the ACP bridge.
26
34
  */
package/dist/index.js CHANGED
@@ -8,13 +8,13 @@ import { tool } from "@ai-sdk/provider-utils";
8
8
  import { z } from "zod/v4";
9
9
 
10
10
  // src/version.ts
11
- var VERSION = true ? "1.0.29" : "0.0.0-test";
11
+ var VERSION = true ? "1.0.31" : "0.0.0-test";
12
12
 
13
13
  // src/grok-build-harness.ts
14
14
  var GROK_BUILD_CLIENT_APP = `ai-sdk/harness-grok-build/${VERSION}`;
15
- 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';
16
- 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";
17
- var GROK_BUILD_IMPLEMENTATION_PNPM_WORKSPACE = "allowBuilds:\n '@xai-official/grok@0.2.111': true\n";
15
+ 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.4.0",\n "@modelcontextprotocol/sdk": "1.30.0",\n "@xai-official/grok": "1.0.5",\n "ws": "8.21.0",\n "zod": "4.4.3"\n }\n}\n';
16
+ 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.4.0\n version: 1.4.0(zod@4.4.3)\n '@modelcontextprotocol/sdk':\n specifier: 1.30.0\n version: 1.30.0(zod@4.4.3)\n '@xai-official/grok':\n specifier: 1.0.5\n version: 1.0.5\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.4.0':\n resolution: {integrity: sha512-/eufudw+aFY1LKLolT6yFE6UMmYRl7fMJ/DEONSIyR6wI3slHWITBsANRGqXEY8FRzqUxwh7QEaGiZHcJPVThg==}\n peerDependencies:\n zod: ^3.25.0 || ^4.0.0\n\n '@hono/node-server@2.1.1':\n resolution: {integrity: sha512-ELuehkj5VCBdgEw9zs+ivkKwyzzUCSQuE96YmiPvn1ECBoZCczbFXJLeEGMTYjphP6gydh4pHMqEYPVMYUVgQg==}\n engines: {node: '>=20'}\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.30.0':\n resolution: {integrity: sha512-xKd8OIzlqNzcqcNumGAa6g+PW2kjD5vrpcKOnfldAUPP3j7lnqMPwlTXQm8gF+UwH72z0lqaRbjr9hqGz0eITA==}\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@1.0.5':\n resolution: {integrity: sha512-akEtE93V7nOHEMfj16kkl3Nxl/AjcNaRkZCnY5HoIayy3VR6qQ6VTsQdUka4ZgT1bGJCZff4UIcTVpFGDaMAQQ==}\n cpu: [arm64]\n os: [darwin]\n\n '@xai-official/grok-darwin-x64@1.0.5':\n resolution: {integrity: sha512-kIr1YUidX+Zl8Ti7qFBCmQyVzR/D779Q0/pNvCBo7enLObFaGiM7JUAuQ7Y23aaIC/m1rwPv7xzoQ3DGHOO1yA==}\n cpu: [x64]\n os: [darwin]\n\n '@xai-official/grok-linux-arm64@1.0.5':\n resolution: {integrity: sha512-yPdBddzfqBNfmyKGEuy0Vy+8zr/0I9xTqX9aYzaaz5QUS3+3Xe3bIJ2EYbAZV6o/16WUC2ZbkLNUx3X3IkBSRA==}\n cpu: [arm64]\n os: [linux]\n\n '@xai-official/grok-linux-x64@1.0.5':\n resolution: {integrity: sha512-JJ6ajCCdBeLc14jvcGKQmeOvoJdEvWMe2Bj82McNikup1d6QaX/E7MI7nmMmoHfQthqRfUSnFk/ExFRu4fodTw==}\n cpu: [x64]\n os: [linux]\n\n '@xai-official/grok-win32-arm64@1.0.5':\n resolution: {integrity: sha512-B4cIPElA8KWpOX2fvIxFeb8U5Ifwal56ZNKtvqPgatflLMf9Quo+3KnBUXH7X8/Ohwe81ff8G+mcU6Ja6Z5RKQ==}\n cpu: [arm64]\n os: [win32]\n\n '@xai-official/grok-win32-x64@1.0.5':\n resolution: {integrity: sha512-EqPxlKg5FMFymmnF+w58VQ8V+ZrghIp7Qsuc2VCurIY82H+6qvnAMgJXGCpo2qH6JSWfh0HPiHkmTk32kHstjw==}\n cpu: [x64]\n os: [win32]\n\n '@xai-official/grok@1.0.5':\n resolution: {integrity: sha512-kk5hez+Oz5CvWonDGkMNmL483CWRIGRF2ki8jQzpIXH56P0fhCgaX9lrr0IUoFCKh/rYAm5vfCPgQsdIIYLu8Q==}\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.1.0:\n resolution: {integrity: sha512-mj7UPXE0jaqaOsukNZRUEfEi2AcL7C/vwmwcHV0O97eO1E1pxBZuyjlZrx5seTaNBg1U6+o35wpa35Qfcc+7ag==}\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.1:\n resolution: {integrity: sha512-EKN1vKAMcZ8MlYMpaNuxN6R9yakzH6uajHcHVTqWJzvu5pWw9DyhbP35HH8MVBQ+dZjAfDxk+A8NiR9KWaXiyQ==}\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.6:\n resolution: {integrity: sha512-7Ical1vFEMr0onbVzEDIreM22I4khW+fzyQPwvAFWBp1iwdshSZRsL4jjRvPG9JP1uiqMHRto+YU6R2/CzDz5Q==}\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.4:\n resolution: {integrity: sha512-AGEwKIyRMHRv1t8Wjwa3LHxQ61X5CqrdFT+4BRNTpqS5aJNnpl5WLjADb7vFlJzI/8uK7T5QLVApCMQKNa3LgQ==}\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.5.0:\n resolution: {integrity: sha512-R5SnVLJmgYYvf2F2ZgwSBnelz5G4q5AxIC277GDfUaNbrZKNANcBC7RHqYYePlszf4kBolVkJauG0ZjHHFh55g==}\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.10:\n resolution: {integrity: sha512-iiW7J9qRFlGxvCOIBDBDxFePQSn7ZMAnrYGhrrOo6siO/MIqwfyilLR27pkfDgUk+raLuzADS8A3S/KLBisc0g==}\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.1.0:\n resolution: {integrity: sha512-NMPBRMJgiQHjbd8phG3Vebdx4kZ1H121rbl5IkMqeOsahptB9BKo/d7oJ3zTXqTgagn2bWlNSXkh0QUGM31RYg==}\n engines: {node: '>=18'}\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.4.0(zod@4.4.3)':\n dependencies:\n zod: 4.4.3\n\n '@hono/node-server@2.1.1(hono@4.13.4)':\n dependencies:\n hono: 4.13.4\n\n '@iarna/toml@3.0.0': {}\n\n '@modelcontextprotocol/sdk@1.30.0(zod@4.4.3)':\n dependencies:\n '@hono/node-server': 2.1.1(hono@4.13.4)\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.1\n express: 5.2.1\n express-rate-limit: 8.6.2(express@5.2.1)\n hono: 4.13.4\n jose: 6.2.10\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@1.0.5':\n optional: true\n\n '@xai-official/grok-darwin-x64@1.0.5':\n optional: true\n\n '@xai-official/grok-linux-arm64@1.0.5':\n optional: true\n\n '@xai-official/grok-linux-x64@1.0.5':\n optional: true\n\n '@xai-official/grok-win32-arm64@1.0.5':\n optional: true\n\n '@xai-official/grok-win32-x64@1.0.5':\n optional: true\n\n '@xai-official/grok@1.0.5':\n dependencies:\n '@iarna/toml': 3.0.0\n optionalDependencies:\n '@xai-official/grok-darwin-arm64': 1.0.5\n '@xai-official/grok-darwin-x64': 1.0.5\n '@xai-official/grok-linux-arm64': 1.0.5\n '@xai-official/grok-linux-x64': 1.0.5\n '@xai-official/grok-win32-arm64': 1.0.5\n '@xai-official/grok-win32-x64': 1.0.5\n\n accepts@2.0.0:\n dependencies:\n mime-types: 3.0.2\n negotiator: 1.1.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.6\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.1.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.1.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.1: {}\n\n eventsource@3.0.7:\n dependencies:\n eventsource-parser: 3.1.1\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.5.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.6: {}\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.4: {}\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.5.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.10: {}\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.1.0:\n dependencies:\n content-type: 2.1.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.1.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";
17
+ var GROK_BUILD_IMPLEMENTATION_PNPM_WORKSPACE = "allowBuilds:\n '@xai-official/grok@1.0.5': true\n";
18
18
  var GROK_BUILD_BUILTIN_TOOLS = {
19
19
  bash: commonTool("bash", {
20
20
  nativeName: "run_terminal_command",
@@ -239,6 +239,10 @@ function createGrokBuild(settings = {}) {
239
239
  portEndpoint: settings.portEndpoint,
240
240
  startupTimeoutMs: settings.startupTimeoutMs,
241
241
  mcpServers: settings.mcpServers,
242
+ modelMapping: {
243
+ type: "session-model",
244
+ path: "modelId"
245
+ },
242
246
  isMcpToolCall: (toolCall) => {
243
247
  const metadata = toolCall._meta?.["x.ai/tool"];
244
248
  return isRecord(metadata) && metadata.namespace === "mcp";
@@ -258,7 +262,11 @@ function createGrokBuild(settings = {}) {
258
262
  pnpmWorkspaceYaml: GROK_BUILD_IMPLEMENTATION_PNPM_WORKSPACE
259
263
  },
260
264
  executable: "grok",
261
- args: ["agent", "stdio"],
265
+ args: [
266
+ "agent",
267
+ ...settings.reasoningEffort == null ? [] : ["--reasoning-effort", settings.reasoningEffort],
268
+ "stdio"
269
+ ],
262
270
  credentialEnv: ["XAI_API_KEY"],
263
271
  credentialBrokering: ({ env, sandboxEnv }) => {
264
272
  if (!env.XAI_API_KEY || !sandboxEnv?.XAI_API_KEY) return [];
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 {\n commonTool,\n type HarnessV1,\n type HarnessV1BuiltinTool,\n type HarnessV1CredentialForwarding,\n type HarnessV1PortEndpoint,\n} from '@ai-sdk/harness';\nimport { createCredentialRequestTransformation } from '@ai-sdk/harness/utils';\nimport { createACP, type ACPAuthenticationMode } 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;\ndeclare const __GROK_BUILD_IMPLEMENTATION_PNPM_WORKSPACE_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__;\nconst GROK_BUILD_IMPLEMENTATION_PNPM_WORKSPACE =\n __GROK_BUILD_IMPLEMENTATION_PNPM_WORKSPACE_YAML__;\n\nexport type GrokBuildAuthenticationMode = ACPAuthenticationMode;\n\nexport type GrokBuildHarnessSettings = {\n /**\n * Selects direct xAI or AI Gateway authentication. Defaults to automatic\n * environment-based selection.\n */\n readonly auth?: GrokBuildAuthenticationMode;\n /**\n * Customizes each credential value before it is forwarded into a sandbox\n * process. This does not restrict which credentials the harness adapter can\n * discover, read, or otherwise access in the host process.\n */\n readonly credentialForwarding?: HarnessV1CredentialForwarding;\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 * Override the host endpoint used to connect to the sandbox bridge. Required\n * together with `port` when using a basic sandbox session.\n */\n readonly portEndpoint?: HarnessV1PortEndpoint;\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 credentialForwarding: settings.credentialForwarding,\n modelId: settings.model,\n port: settings.port,\n portEndpoint: settings.portEndpoint,\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 pnpmWorkspaceYaml: GROK_BUILD_IMPLEMENTATION_PNPM_WORKSPACE,\n },\n executable: 'grok',\n args: ['agent', 'stdio'],\n credentialEnv: ['XAI_API_KEY'],\n credentialBrokering: ({ env, sandboxEnv }) => {\n if (!env.XAI_API_KEY || !sandboxEnv?.XAI_API_KEY) return [];\n return [\n createCredentialRequestTransformation({\n matchUrl: env.GROK_XAI_API_BASE_URL ?? 'https://api.x.ai/v1',\n matchHeaders: {\n Authorization: `Bearer ${sandboxEnv.XAI_API_KEY}`,\n },\n transformHeaders: { Authorization: `Bearer ${env.XAI_API_KEY}` },\n }),\n ];\n },\n instructionMapping: {\n type: 'session-meta',\n path: ['rules'],\n },\n outputSchemaMapping: {\n type: 'session-prompt-meta',\n path: ['outputSchema'],\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 {\n GrokBuildAuthenticationMode,\n GrokBuildHarnessSettings,\n} from './grok-build-harness';\nexport { VERSION } from './version';\n"],"mappings":";AAAA;AAAA,EACE;AAAA,OAKK;AACP,SAAS,6CAA6C;AACtD,SAAS,iBAA6C;AACtD,SAAS,YAAY;AACrB,SAAS,SAAS;;;ACTX,IAAM,UACX,OACI,WACA;;;ADaN,IAAM,wBAAwB,6BAA6B,OAAO;AAClE,IAAM,yCACJ;AACF,IAAM,sCACJ;AACF,IAAM,2CACJ;AAkDF,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,sBAAsB,SAAS;AAAA,IAC/B,SAAS,SAAS;AAAA,IAClB,MAAM,SAAS;AAAA,IACf,cAAc,SAAS;AAAA,IACvB,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,MACd,mBAAmB;AAAA,IACrB;AAAA,IACA,YAAY;AAAA,IACZ,MAAM,CAAC,SAAS,OAAO;AAAA,IACvB,eAAe,CAAC,aAAa;AAAA,IAC7B,qBAAqB,CAAC,EAAE,KAAK,WAAW,MAAM;AAC5C,UAAI,CAAC,IAAI,eAAe,CAAC,YAAY,YAAa,QAAO,CAAC;AAC1D,aAAO;AAAA,QACL,sCAAsC;AAAA,UACpC,UAAU,IAAI,yBAAyB;AAAA,UACvC,cAAc;AAAA,YACZ,eAAe,UAAU,WAAW,WAAW;AAAA,UACjD;AAAA,UACA,kBAAkB,EAAE,eAAe,UAAU,IAAI,WAAW,GAAG;AAAA,QACjE,CAAC;AAAA,MACH;AAAA,IACF;AAAA,IACA,oBAAoB;AAAA,MAClB,MAAM;AAAA,MACN,MAAM,CAAC,OAAO;AAAA,IAChB;AAAA,IACA,qBAAqB;AAAA,MACnB,MAAM;AAAA,MACN,MAAM,CAAC,cAAc;AAAA,IACvB;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;;;AE7WO,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 type HarnessV1CredentialForwarding,\n type HarnessV1PortEndpoint,\n} from '@ai-sdk/harness';\nimport { createCredentialRequestTransformation } from '@ai-sdk/harness/utils';\nimport { createACP, type ACPAuthenticationMode } 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;\ndeclare const __GROK_BUILD_IMPLEMENTATION_PNPM_WORKSPACE_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__;\nconst GROK_BUILD_IMPLEMENTATION_PNPM_WORKSPACE =\n __GROK_BUILD_IMPLEMENTATION_PNPM_WORKSPACE_YAML__;\n\nexport type GrokBuildAuthenticationMode = ACPAuthenticationMode;\n\nexport type GrokBuildHarnessSettings = {\n /**\n * Selects direct xAI or AI Gateway authentication. Defaults to automatic\n * environment-based selection.\n */\n readonly auth?: GrokBuildAuthenticationMode;\n /**\n * Customizes each credential value before it is forwarded into a sandbox\n * process. This does not restrict which credentials the harness adapter can\n * discover, read, or otherwise access in the host process.\n */\n readonly credentialForwarding?: HarnessV1CredentialForwarding;\n /**\n * Grok model id selected through Grok Build configuration. Leaving this\n * unset uses the default model.\n *\n * @deprecated Use `model` on `HarnessAgent` instead.\n */\n readonly model?: string;\n /**\n * Reasoning effort for reasoning-capable models. Leaving this unset defers\n * to Grok Build's default.\n */\n readonly reasoningEffort?:\n | 'none'\n | 'minimal'\n | 'low'\n | 'medium'\n | 'high'\n | 'xhigh'\n | 'max';\n /**\n * Overrides the sandbox port used by the ACP bridge.\n */\n readonly port?: number;\n /**\n * Override the host endpoint used to connect to the sandbox bridge. Required\n * together with `port` when using a basic sandbox session.\n */\n readonly portEndpoint?: HarnessV1PortEndpoint;\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 return createACP({\n auth: settings.auth,\n credentialForwarding: settings.credentialForwarding,\n modelId: settings.model,\n port: settings.port,\n portEndpoint: settings.portEndpoint,\n startupTimeoutMs: settings.startupTimeoutMs,\n mcpServers: settings.mcpServers,\n modelMapping: {\n type: 'session-model',\n path: 'modelId',\n },\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 pnpmWorkspaceYaml: GROK_BUILD_IMPLEMENTATION_PNPM_WORKSPACE,\n },\n executable: 'grok',\n args: [\n 'agent',\n ...(settings.reasoningEffort == null\n ? []\n : ['--reasoning-effort', settings.reasoningEffort]),\n 'stdio',\n ],\n credentialEnv: ['XAI_API_KEY'],\n credentialBrokering: ({ env, sandboxEnv }) => {\n if (!env.XAI_API_KEY || !sandboxEnv?.XAI_API_KEY) return [];\n return [\n createCredentialRequestTransformation({\n matchUrl: env.GROK_XAI_API_BASE_URL ?? 'https://api.x.ai/v1',\n matchHeaders: {\n Authorization: `Bearer ${sandboxEnv.XAI_API_KEY}`,\n },\n transformHeaders: { Authorization: `Bearer ${env.XAI_API_KEY}` },\n }),\n ];\n },\n instructionMapping: {\n type: 'session-meta',\n path: ['rules'],\n },\n outputSchemaMapping: {\n type: 'session-prompt-meta',\n path: ['outputSchema'],\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 {\n GrokBuildAuthenticationMode,\n GrokBuildHarnessSettings,\n} 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.29",
3
+ "version": "1.0.31",
4
4
  "type": "module",
5
5
  "license": "Apache-2.0",
6
6
  "sideEffects": false,
@@ -26,17 +26,17 @@
26
26
  }
27
27
  },
28
28
  "dependencies": {
29
- "@ai-sdk/harness": "1.0.92",
30
- "@ai-sdk/harness-acp": "1.0.30",
31
- "@ai-sdk/provider-utils": "5.0.32"
29
+ "@ai-sdk/harness": "1.0.94",
30
+ "@ai-sdk/harness-acp": "1.0.32",
31
+ "@ai-sdk/provider-utils": "5.0.34"
32
32
  },
33
33
  "peerDependencies": {
34
34
  "zod": "^3.25.76 || ^4.1.8"
35
35
  },
36
36
  "devDependencies": {
37
- "@xai-official/grok": "0.2.111",
38
37
  "@types/node": "22.19.19",
39
38
  "@vercel/ai-tsconfig": "0.0.0",
39
+ "@xai-official/grok": "1.0.5",
40
40
  "tsup": "^8.5.1",
41
41
  "typescript": "5.8.3",
42
42
  "zod": "3.25.76"
@@ -4,9 +4,9 @@
4
4
  "private": true,
5
5
  "type": "module",
6
6
  "dependencies": {
7
- "@agentclientprotocol/sdk": "1.2.1",
8
- "@modelcontextprotocol/sdk": "1.29.0",
9
- "@xai-official/grok": "0.2.111",
7
+ "@agentclientprotocol/sdk": "1.4.0",
8
+ "@modelcontextprotocol/sdk": "1.30.0",
9
+ "@xai-official/grok": "1.0.5",
10
10
  "ws": "8.21.0",
11
11
  "zod": "4.4.3"
12
12
  }
@@ -9,14 +9,14 @@ importers:
9
9
  .:
10
10
  dependencies:
11
11
  '@agentclientprotocol/sdk':
12
- specifier: 1.2.1
13
- version: 1.2.1(zod@4.4.3)
12
+ specifier: 1.4.0
13
+ version: 1.4.0(zod@4.4.3)
14
14
  '@modelcontextprotocol/sdk':
15
- specifier: 1.29.0
16
- version: 1.29.0(zod@4.4.3)
15
+ specifier: 1.30.0
16
+ version: 1.30.0(zod@4.4.3)
17
17
  '@xai-official/grok':
18
- specifier: 0.2.111
19
- version: 0.2.111
18
+ specifier: 1.0.5
19
+ version: 1.0.5
20
20
  ws:
21
21
  specifier: 8.21.0
22
22
  version: 8.21.0
@@ -26,22 +26,22 @@ importers:
26
26
 
27
27
  packages:
28
28
 
29
- '@agentclientprotocol/sdk@1.2.1':
30
- resolution: {integrity: sha512-jwYUdOQR7tc+Zfch53VL4JJyUNK/46q03uUTYb+PjECsmnNl94XFXOfYLJ8RBpMNidXd1rpOAVgb0vqD98xImA==}
29
+ '@agentclientprotocol/sdk@1.4.0':
30
+ resolution: {integrity: sha512-/eufudw+aFY1LKLolT6yFE6UMmYRl7fMJ/DEONSIyR6wI3slHWITBsANRGqXEY8FRzqUxwh7QEaGiZHcJPVThg==}
31
31
  peerDependencies:
32
32
  zod: ^3.25.0 || ^4.0.0
33
33
 
34
- '@hono/node-server@1.19.17':
35
- resolution: {integrity: sha512-dSneS5qhiauZWGDCeK4o695Xd9nUNjviSZCMQrj10eetr8Uln1ucn6bbphOM6UynAMMtNIzZNSpL9vnASJwrPQ==}
36
- engines: {node: '>=18.14.1'}
34
+ '@hono/node-server@2.1.1':
35
+ resolution: {integrity: sha512-ELuehkj5VCBdgEw9zs+ivkKwyzzUCSQuE96YmiPvn1ECBoZCczbFXJLeEGMTYjphP6gydh4pHMqEYPVMYUVgQg==}
36
+ engines: {node: '>=20'}
37
37
  peerDependencies:
38
38
  hono: ^4
39
39
 
40
40
  '@iarna/toml@3.0.0':
41
41
  resolution: {integrity: sha512-td6ZUkz2oS3VeleBcN+m//Q6HlCFCPrnI0FZhrt/h4XqLEdOyYp2u21nd8MdsR+WJy5r9PTDaHTDDfhf4H4l6Q==}
42
42
 
43
- '@modelcontextprotocol/sdk@1.29.0':
44
- resolution: {integrity: sha512-zo37mZA9hJWpULgkRpowewez1y6ML5GsXJPY8FI0tBBCd77HEvza4jDqRKOXgHNn867PVGCyTdzqpz0izu5ZjQ==}
43
+ '@modelcontextprotocol/sdk@1.30.0':
44
+ resolution: {integrity: sha512-xKd8OIzlqNzcqcNumGAa6g+PW2kjD5vrpcKOnfldAUPP3j7lnqMPwlTXQm8gF+UwH72z0lqaRbjr9hqGz0eITA==}
45
45
  engines: {node: '>=18'}
46
46
  peerDependencies:
47
47
  '@cfworker/json-schema': ^4.1.1
@@ -50,38 +50,38 @@ packages:
50
50
  '@cfworker/json-schema':
51
51
  optional: true
52
52
 
53
- '@xai-official/grok-darwin-arm64@0.2.111':
54
- resolution: {integrity: sha512-6VFLmBj0HmFCC3r2vmjU4g69RiBVn39PzeGiKcMHVwnZf+hF1rJ5jcfHg/mIK/cRCutJ72Aasl4/Gz71U8J6XA==}
53
+ '@xai-official/grok-darwin-arm64@1.0.5':
54
+ resolution: {integrity: sha512-akEtE93V7nOHEMfj16kkl3Nxl/AjcNaRkZCnY5HoIayy3VR6qQ6VTsQdUka4ZgT1bGJCZff4UIcTVpFGDaMAQQ==}
55
55
  cpu: [arm64]
56
56
  os: [darwin]
57
57
 
58
- '@xai-official/grok-darwin-x64@0.2.111':
59
- resolution: {integrity: sha512-QJKIUZ/yRjMo6rVWwPLlTy8Lmi3jHNWKvs249rpOrWX6pictKlL8Qcr0Y8Xajx1IVeJP3BsMQLigSyae1IC/qA==}
58
+ '@xai-official/grok-darwin-x64@1.0.5':
59
+ resolution: {integrity: sha512-kIr1YUidX+Zl8Ti7qFBCmQyVzR/D779Q0/pNvCBo7enLObFaGiM7JUAuQ7Y23aaIC/m1rwPv7xzoQ3DGHOO1yA==}
60
60
  cpu: [x64]
61
61
  os: [darwin]
62
62
 
63
- '@xai-official/grok-linux-arm64@0.2.111':
64
- resolution: {integrity: sha512-zAZ9xbKILa47IHC3dd7x5NkhyfUe7yoEsG7XWJyqMS9mtUvlZvTrhzH43K+HVixlV8Ge0Eh8btjPWNoFu7HBfg==}
63
+ '@xai-official/grok-linux-arm64@1.0.5':
64
+ resolution: {integrity: sha512-yPdBddzfqBNfmyKGEuy0Vy+8zr/0I9xTqX9aYzaaz5QUS3+3Xe3bIJ2EYbAZV6o/16WUC2ZbkLNUx3X3IkBSRA==}
65
65
  cpu: [arm64]
66
66
  os: [linux]
67
67
 
68
- '@xai-official/grok-linux-x64@0.2.111':
69
- resolution: {integrity: sha512-wffFfRU2a2505jtHx9+UYi+E7MNaAxXPqlHwPQMnC6q4eq4vjoyWdkvMBsN6Qokr7BjD6DIvkZdwGplosXyUdQ==}
68
+ '@xai-official/grok-linux-x64@1.0.5':
69
+ resolution: {integrity: sha512-JJ6ajCCdBeLc14jvcGKQmeOvoJdEvWMe2Bj82McNikup1d6QaX/E7MI7nmMmoHfQthqRfUSnFk/ExFRu4fodTw==}
70
70
  cpu: [x64]
71
71
  os: [linux]
72
72
 
73
- '@xai-official/grok-win32-arm64@0.2.111':
74
- resolution: {integrity: sha512-pl8hnDYnV9/NHc0AT9z3opVWetQfP76+hHp53wE0RpiriXVRKG5FZVh7r78V5VtQWxbonVEZR41/4LEOzyumEg==}
73
+ '@xai-official/grok-win32-arm64@1.0.5':
74
+ resolution: {integrity: sha512-B4cIPElA8KWpOX2fvIxFeb8U5Ifwal56ZNKtvqPgatflLMf9Quo+3KnBUXH7X8/Ohwe81ff8G+mcU6Ja6Z5RKQ==}
75
75
  cpu: [arm64]
76
76
  os: [win32]
77
77
 
78
- '@xai-official/grok-win32-x64@0.2.111':
79
- resolution: {integrity: sha512-sfRkUQ2pjOuCYW18+O/GqtdLCkjhUcQ1/vmyH+WiBJ5mlYOpSzbjlXYMTGoIjV4j6yR6r4GuIQs9r4dsKyomwA==}
78
+ '@xai-official/grok-win32-x64@1.0.5':
79
+ resolution: {integrity: sha512-EqPxlKg5FMFymmnF+w58VQ8V+ZrghIp7Qsuc2VCurIY82H+6qvnAMgJXGCpo2qH6JSWfh0HPiHkmTk32kHstjw==}
80
80
  cpu: [x64]
81
81
  os: [win32]
82
82
 
83
- '@xai-official/grok@0.2.111':
84
- resolution: {integrity: sha512-baZxgwR0W+juZ6Wrni5gfORI+ayN/Q5ZjetyLBR9JIOMQg5s7W2GErJF4iONSYer+MS4k/Y2WaP+ekrmfIqFzA==}
83
+ '@xai-official/grok@1.0.5':
84
+ resolution: {integrity: sha512-kk5hez+Oz5CvWonDGkMNmL483CWRIGRF2ki8jQzpIXH56P0fhCgaX9lrr0IUoFCKh/rYAm5vfCPgQsdIIYLu8Q==}
85
85
  engines: {node: '>=20'}
86
86
  cpu: [arm64, x64]
87
87
  os: [darwin, linux, win32]
@@ -126,8 +126,8 @@ packages:
126
126
  resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==}
127
127
  engines: {node: '>= 0.6'}
128
128
 
129
- content-type@2.0.0:
130
- resolution: {integrity: sha512-j/O/d7GcZCyNl7/hwZAb606rzqkyvaDctLmckbxLzHvFBzTJHuGEdodATcP3yIRoDrLHkIATJuvzbFlp/ki2cQ==}
129
+ content-type@2.1.0:
130
+ resolution: {integrity: sha512-mj7UPXE0jaqaOsukNZRUEfEi2AcL7C/vwmwcHV0O97eO1E1pxBZuyjlZrx5seTaNBg1U6+o35wpa35Qfcc+7ag==}
131
131
  engines: {node: '>=18'}
132
132
 
133
133
  cookie-signature@1.2.2:
@@ -189,8 +189,8 @@ packages:
189
189
  resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==}
190
190
  engines: {node: '>= 0.6'}
191
191
 
192
- eventsource-parser@3.1.0:
193
- resolution: {integrity: sha512-kJezFj9YFAMLeORyi7aCLxLbD5/qWMQnoMVlVPyHIll7lgRJCc3JVln9Vgl9nwQi0YkMnhdGTMNn7CkRRAptMg==}
192
+ eventsource-parser@3.1.1:
193
+ resolution: {integrity: sha512-EKN1vKAMcZ8MlYMpaNuxN6R9yakzH6uajHcHVTqWJzvu5pWw9DyhbP35HH8MVBQ+dZjAfDxk+A8NiR9KWaXiyQ==}
194
194
  engines: {node: '>=18.0.0'}
195
195
 
196
196
  eventsource@3.0.7:
@@ -210,8 +210,8 @@ packages:
210
210
  fast-deep-equal@3.1.3:
211
211
  resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
212
212
 
213
- fast-uri@3.1.5:
214
- resolution: {integrity: sha512-gHwA1O9LDIcKunMKhObS/HimwtehO1nPUECKAu5TpKgaO19fcWEl4bliWe1jWxVFvIXztJjjQ4L8XQ1EU9f7Jw==}
213
+ fast-uri@3.1.6:
214
+ resolution: {integrity: sha512-7Ical1vFEMr0onbVzEDIreM22I4khW+fzyQPwvAFWBp1iwdshSZRsL4jjRvPG9JP1uiqMHRto+YU6R2/CzDz5Q==}
215
215
 
216
216
  finalhandler@2.1.1:
217
217
  resolution: {integrity: sha512-S8KoZgRZN+a5rNwqTxlZZePjT/4cnm0ROV70LedRHZ0p8u9fRID0hJUZQpkKLzro8LfmC8sx23bY6tVNxv8pQA==}
@@ -248,8 +248,8 @@ packages:
248
248
  resolution: {integrity: sha512-T2UbfbBEF32wiepXIsMlTW9+dDYC6wMh/t/vYA4tuOMKqWz/n3vr1NFSxQiyP+zk2mXsoMA/i/7qV6LKut1t1A==}
249
249
  engines: {node: '>= 0.4'}
250
250
 
251
- hono@4.13.0:
252
- resolution: {integrity: sha512-jhunvfHWxd7J5EFfSgH4xsYJzSe/lfqbUCxiyyeaQasUsXeEHXtzVid+7EOGByc5JnFa23SSFL3Y2RV/z1T+eQ==}
251
+ hono@4.13.4:
252
+ resolution: {integrity: sha512-AGEwKIyRMHRv1t8Wjwa3LHxQ61X5CqrdFT+4BRNTpqS5aJNnpl5WLjADb7vFlJzI/8uK7T5QLVApCMQKNa3LgQ==}
253
253
  engines: {node: '>=16.9.0'}
254
254
 
255
255
  http-errors@2.0.1:
@@ -263,8 +263,8 @@ packages:
263
263
  inherits@2.0.4:
264
264
  resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
265
265
 
266
- ip-address@10.4.0:
267
- resolution: {integrity: sha512-oSK96Grm3aP6OrS263xVxbNDGVL7rzBtYdpGqlDG8iQdoenDoTs/nkki+DflYbAEE8Xl6o5YxhxlrKvI3nqKXQ==}
266
+ ip-address@10.5.0:
267
+ resolution: {integrity: sha512-R5SnVLJmgYYvf2F2ZgwSBnelz5G4q5AxIC277GDfUaNbrZKNANcBC7RHqYYePlszf4kBolVkJauG0ZjHHFh55g==}
268
268
  engines: {node: '>= 12'}
269
269
 
270
270
  ipaddr.js@1.9.1:
@@ -277,8 +277,8 @@ packages:
277
277
  isexe@2.0.0:
278
278
  resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
279
279
 
280
- jose@6.2.8:
281
- resolution: {integrity: sha512-Bsdjwm3Qsd/P0jR+BHDe3LytDfY7WBq2HmCCLIwuVRHMuEC9ae7/R474GIUdF1NgCyZjzVo/A9DOiOBtXq8ZoQ==}
280
+ jose@6.2.10:
281
+ resolution: {integrity: sha512-iiW7J9qRFlGxvCOIBDBDxFePQSn7ZMAnrYGhrrOo6siO/MIqwfyilLR27pkfDgUk+raLuzADS8A3S/KLBisc0g==}
282
282
 
283
283
  json-schema-traverse@1.0.0:
284
284
  resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==}
@@ -309,9 +309,9 @@ packages:
309
309
  ms@2.1.3:
310
310
  resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
311
311
 
312
- negotiator@1.0.0:
313
- resolution: {integrity: sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==}
314
- engines: {node: '>= 0.6'}
312
+ negotiator@1.1.0:
313
+ resolution: {integrity: sha512-NMPBRMJgiQHjbd8phG3Vebdx4kZ1H121rbl5IkMqeOsahptB9BKo/d7oJ3zTXqTgagn2bWlNSXkh0QUGM31RYg==}
314
+ engines: {node: '>=18'}
315
315
 
316
316
  object-assign@4.1.1:
317
317
  resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==}
@@ -455,30 +455,30 @@ packages:
455
455
 
456
456
  snapshots:
457
457
 
458
- '@agentclientprotocol/sdk@1.2.1(zod@4.4.3)':
458
+ '@agentclientprotocol/sdk@1.4.0(zod@4.4.3)':
459
459
  dependencies:
460
460
  zod: 4.4.3
461
461
 
462
- '@hono/node-server@1.19.17(hono@4.13.0)':
462
+ '@hono/node-server@2.1.1(hono@4.13.4)':
463
463
  dependencies:
464
- hono: 4.13.0
464
+ hono: 4.13.4
465
465
 
466
466
  '@iarna/toml@3.0.0': {}
467
467
 
468
- '@modelcontextprotocol/sdk@1.29.0(zod@4.4.3)':
468
+ '@modelcontextprotocol/sdk@1.30.0(zod@4.4.3)':
469
469
  dependencies:
470
- '@hono/node-server': 1.19.17(hono@4.13.0)
470
+ '@hono/node-server': 2.1.1(hono@4.13.4)
471
471
  ajv: 8.20.0
472
472
  ajv-formats: 3.0.1(ajv@8.20.0)
473
473
  content-type: 1.0.5
474
474
  cors: 2.8.6
475
475
  cross-spawn: 7.0.6
476
476
  eventsource: 3.0.7
477
- eventsource-parser: 3.1.0
477
+ eventsource-parser: 3.1.1
478
478
  express: 5.2.1
479
479
  express-rate-limit: 8.6.2(express@5.2.1)
480
- hono: 4.13.0
481
- jose: 6.2.8
480
+ hono: 4.13.4
481
+ jose: 6.2.10
482
482
  json-schema-typed: 8.0.2
483
483
  pkce-challenge: 5.0.1
484
484
  raw-body: 3.0.2
@@ -487,39 +487,39 @@ snapshots:
487
487
  transitivePeerDependencies:
488
488
  - supports-color
489
489
 
490
- '@xai-official/grok-darwin-arm64@0.2.111':
490
+ '@xai-official/grok-darwin-arm64@1.0.5':
491
491
  optional: true
492
492
 
493
- '@xai-official/grok-darwin-x64@0.2.111':
493
+ '@xai-official/grok-darwin-x64@1.0.5':
494
494
  optional: true
495
495
 
496
- '@xai-official/grok-linux-arm64@0.2.111':
496
+ '@xai-official/grok-linux-arm64@1.0.5':
497
497
  optional: true
498
498
 
499
- '@xai-official/grok-linux-x64@0.2.111':
499
+ '@xai-official/grok-linux-x64@1.0.5':
500
500
  optional: true
501
501
 
502
- '@xai-official/grok-win32-arm64@0.2.111':
502
+ '@xai-official/grok-win32-arm64@1.0.5':
503
503
  optional: true
504
504
 
505
- '@xai-official/grok-win32-x64@0.2.111':
505
+ '@xai-official/grok-win32-x64@1.0.5':
506
506
  optional: true
507
507
 
508
- '@xai-official/grok@0.2.111':
508
+ '@xai-official/grok@1.0.5':
509
509
  dependencies:
510
510
  '@iarna/toml': 3.0.0
511
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
512
+ '@xai-official/grok-darwin-arm64': 1.0.5
513
+ '@xai-official/grok-darwin-x64': 1.0.5
514
+ '@xai-official/grok-linux-arm64': 1.0.5
515
+ '@xai-official/grok-linux-x64': 1.0.5
516
+ '@xai-official/grok-win32-arm64': 1.0.5
517
+ '@xai-official/grok-win32-x64': 1.0.5
518
518
 
519
519
  accepts@2.0.0:
520
520
  dependencies:
521
521
  mime-types: 3.0.2
522
- negotiator: 1.0.0
522
+ negotiator: 1.1.0
523
523
 
524
524
  ajv-formats@3.0.1(ajv@8.20.0):
525
525
  optionalDependencies:
@@ -528,14 +528,14 @@ snapshots:
528
528
  ajv@8.20.0:
529
529
  dependencies:
530
530
  fast-deep-equal: 3.1.3
531
- fast-uri: 3.1.5
531
+ fast-uri: 3.1.6
532
532
  json-schema-traverse: 1.0.0
533
533
  require-from-string: 2.0.2
534
534
 
535
535
  body-parser@2.3.0:
536
536
  dependencies:
537
537
  bytes: 3.1.2
538
- content-type: 2.0.0
538
+ content-type: 2.1.0
539
539
  debug: 4.4.3
540
540
  http-errors: 2.0.1
541
541
  iconv-lite: 0.7.3
@@ -562,7 +562,7 @@ snapshots:
562
562
 
563
563
  content-type@1.0.5: {}
564
564
 
565
- content-type@2.0.0: {}
565
+ content-type@2.1.0: {}
566
566
 
567
567
  cookie-signature@1.2.2: {}
568
568
 
@@ -607,17 +607,17 @@ snapshots:
607
607
 
608
608
  etag@1.8.1: {}
609
609
 
610
- eventsource-parser@3.1.0: {}
610
+ eventsource-parser@3.1.1: {}
611
611
 
612
612
  eventsource@3.0.7:
613
613
  dependencies:
614
- eventsource-parser: 3.1.0
614
+ eventsource-parser: 3.1.1
615
615
 
616
616
  express-rate-limit@8.6.2(express@5.2.1):
617
617
  dependencies:
618
618
  debug: 4.4.3
619
619
  express: 5.2.1
620
- ip-address: 10.4.0
620
+ ip-address: 10.5.0
621
621
  transitivePeerDependencies:
622
622
  - supports-color
623
623
 
@@ -656,7 +656,7 @@ snapshots:
656
656
 
657
657
  fast-deep-equal@3.1.3: {}
658
658
 
659
- fast-uri@3.1.5: {}
659
+ fast-uri@3.1.6: {}
660
660
 
661
661
  finalhandler@2.1.1:
662
662
  dependencies:
@@ -701,7 +701,7 @@ snapshots:
701
701
  dependencies:
702
702
  function-bind: 1.1.2
703
703
 
704
- hono@4.13.0: {}
704
+ hono@4.13.4: {}
705
705
 
706
706
  http-errors@2.0.1:
707
707
  dependencies:
@@ -717,7 +717,7 @@ snapshots:
717
717
 
718
718
  inherits@2.0.4: {}
719
719
 
720
- ip-address@10.4.0: {}
720
+ ip-address@10.5.0: {}
721
721
 
722
722
  ipaddr.js@1.9.1: {}
723
723
 
@@ -725,7 +725,7 @@ snapshots:
725
725
 
726
726
  isexe@2.0.0: {}
727
727
 
728
- jose@6.2.8: {}
728
+ jose@6.2.10: {}
729
729
 
730
730
  json-schema-traverse@1.0.0: {}
731
731
 
@@ -745,7 +745,9 @@ snapshots:
745
745
 
746
746
  ms@2.1.3: {}
747
747
 
748
- negotiator@1.0.0: {}
748
+ negotiator@1.1.0:
749
+ dependencies:
750
+ content-type: 2.1.0
749
751
 
750
752
  object-assign@4.1.1: {}
751
753
 
@@ -867,7 +869,7 @@ snapshots:
867
869
 
868
870
  type-is@2.1.0:
869
871
  dependencies:
870
- content-type: 2.0.0
872
+ content-type: 2.1.0
871
873
  media-typer: 1.1.1
872
874
  mime-types: 3.0.2
873
875
 
@@ -1,2 +1,2 @@
1
1
  allowBuilds:
2
- '@xai-official/grok@0.2.111': true
2
+ '@xai-official/grok@1.0.5': true
@@ -38,9 +38,24 @@ export type GrokBuildHarnessSettings = {
38
38
  */
39
39
  readonly credentialForwarding?: HarnessV1CredentialForwarding;
40
40
  /**
41
- * Grok model id selected through ACP. Unset preserves Grok Build's default.
41
+ * Grok model id selected through Grok Build configuration. Leaving this
42
+ * unset uses the default model.
43
+ *
44
+ * @deprecated Use `model` on `HarnessAgent` instead.
42
45
  */
43
46
  readonly model?: string;
47
+ /**
48
+ * Reasoning effort for reasoning-capable models. Leaving this unset defers
49
+ * to Grok Build's default.
50
+ */
51
+ readonly reasoningEffort?:
52
+ | 'none'
53
+ | 'minimal'
54
+ | 'low'
55
+ | 'medium'
56
+ | 'high'
57
+ | 'xhigh'
58
+ | 'max';
44
59
  /**
45
60
  * Overrides the sandbox port used by the ACP bridge.
46
61
  */
@@ -296,7 +311,6 @@ export function createGrokBuild(
296
311
  ): HarnessV1<typeof GROK_BUILD_BUILTIN_TOOLS> {
297
312
  const clientAppSegments = GROK_BUILD_CLIENT_APP.split('/');
298
313
  const clientAppVersion = clientAppSegments.pop()!;
299
-
300
314
  return createACP({
301
315
  auth: settings.auth,
302
316
  credentialForwarding: settings.credentialForwarding,
@@ -305,6 +319,10 @@ export function createGrokBuild(
305
319
  portEndpoint: settings.portEndpoint,
306
320
  startupTimeoutMs: settings.startupTimeoutMs,
307
321
  mcpServers: settings.mcpServers,
322
+ modelMapping: {
323
+ type: 'session-model',
324
+ path: 'modelId',
325
+ },
308
326
  isMcpToolCall: toolCall => {
309
327
  const metadata = toolCall._meta?.['x.ai/tool'];
310
328
  return isRecord(metadata) && metadata.namespace === 'mcp';
@@ -324,7 +342,13 @@ export function createGrokBuild(
324
342
  pnpmWorkspaceYaml: GROK_BUILD_IMPLEMENTATION_PNPM_WORKSPACE,
325
343
  },
326
344
  executable: 'grok',
327
- args: ['agent', 'stdio'],
345
+ args: [
346
+ 'agent',
347
+ ...(settings.reasoningEffort == null
348
+ ? []
349
+ : ['--reasoning-effort', settings.reasoningEffort]),
350
+ 'stdio',
351
+ ],
328
352
  credentialEnv: ['XAI_API_KEY'],
329
353
  credentialBrokering: ({ env, sandboxEnv }) => {
330
354
  if (!env.XAI_API_KEY || !sandboxEnv?.XAI_API_KEY) return [];