grok-bot-cli 0.7.0 → 0.8.0

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.
@@ -11570,6 +11570,9 @@ const resultSchema = zod__rspack_import_4/* .union */.KCZ([
11570
11570
  _core_relay_routes_js__rspack_import_3/* .relayResultSchema */.Ax
11571
11571
  ]);
11572
11572
  /* export default */ const __rspack_default_export = ((0,agent_bundle_routes__rspack_import_1/* .defineTool */.uO)({
11573
+ excludeClients: [
11574
+ 'codex'
11575
+ ],
11573
11576
  description: 'Send to Codex. With replyToGrok or bindingId, managed delivery returns the terminal answer to Grok automatically. Otherwise optional wait observes completion and explicit steer requires expectedTurnId. Acceptance is not completion.',
11574
11577
  title: 'Codex send',
11575
11578
  annotations: {
@@ -11645,9 +11648,9 @@ const resultSchema = zod__rspack_import_4/* .union */.KCZ([
11645
11648
  const context = await (0,_agent_bundle_runtime__rspack_import_5/* .agent */.MA)();
11646
11649
  if (input.replyToGrok || input.bindingId) {
11647
11650
  const out = await (0,_core_relay_routes_js__rspack_import_3/* .codexReturnOperation */.lt)(input, context);
11648
- return /*#__PURE__*/ (0,react_jsx_runtime__rspack_import_0.jsx)(_agent_bundle_runtime__rspack_import_6/* .Agent.Result */.g.Result, {
11651
+ return /*#__PURE__*/ (0,react_jsx_runtime__rspack_import_0.jsx)(_agent_bundle_runtime__rspack_import_6/* .Agent.Result */.g6.Result, {
11649
11652
  value: out,
11650
- children: /*#__PURE__*/ (0,react_jsx_runtime__rspack_import_0.jsx)(_agent_bundle_runtime__rspack_import_6/* .Agent.Text */.g.Text, {
11653
+ children: /*#__PURE__*/ (0,react_jsx_runtime__rspack_import_0.jsx)(_agent_bundle_runtime__rspack_import_6/* .Agent.Text */.g6.Text, {
11651
11654
  children: `Delivery ${out.delivery}; terminal answer returns to Grok automatically.`
11652
11655
  })
11653
11656
  });
@@ -11658,9 +11661,9 @@ const resultSchema = zod__rspack_import_4/* .union */.KCZ([
11658
11661
  }, context.signal, (message)=>context.progress.report({
11659
11662
  message
11660
11663
  }));
11661
- return /*#__PURE__*/ (0,react_jsx_runtime__rspack_import_0.jsx)(_agent_bundle_runtime__rspack_import_6/* .Agent.Result */.g.Result, {
11664
+ return /*#__PURE__*/ (0,react_jsx_runtime__rspack_import_0.jsx)(_agent_bundle_runtime__rspack_import_6/* .Agent.Result */.g6.Result, {
11662
11665
  value: out,
11663
- children: /*#__PURE__*/ (0,react_jsx_runtime__rspack_import_0.jsx)(_agent_bundle_runtime__rspack_import_6/* .Agent.Text */.g.Text, {
11666
+ children: /*#__PURE__*/ (0,react_jsx_runtime__rspack_import_0.jsx)(_agent_bundle_runtime__rspack_import_6/* .Agent.Text */.g6.Text, {
11664
11667
  children: (0,_core_codex_routes_js__rspack_import_2/* .resultText */.D6)(out)
11665
11668
  })
11666
11669
  });
@@ -11687,6 +11690,9 @@ __webpack_require__.r(__webpack_exports__);
11687
11690
 
11688
11691
 
11689
11692
  /* export default */ const __rspack_default_export = ((0,agent_bundle_routes__rspack_import_1/* .defineTool */.uO)({
11693
+ excludeClients: [
11694
+ 'codex'
11695
+ ],
11690
11696
  description: 'Discover a bounded page of Codex daemon threads.',
11691
11697
  title: 'Codex threads',
11692
11698
  annotations: {
@@ -11714,9 +11720,9 @@ __webpack_require__.r(__webpack_exports__);
11714
11720
  }, async (input)=>{
11715
11721
  const context = await (0,_agent_bundle_runtime__rspack_import_3/* .agent */.MA)();
11716
11722
  const out = await (0,_core_codex_routes_js__rspack_import_2/* .threadsOperation */.$c)(input);
11717
- return /*#__PURE__*/ (0,react_jsx_runtime__rspack_import_0.jsx)(_agent_bundle_runtime__rspack_import_4/* .Agent.Result */.g.Result, {
11723
+ return /*#__PURE__*/ (0,react_jsx_runtime__rspack_import_0.jsx)(_agent_bundle_runtime__rspack_import_4/* .Agent.Result */.g6.Result, {
11718
11724
  value: out,
11719
- children: /*#__PURE__*/ (0,react_jsx_runtime__rspack_import_0.jsx)(_agent_bundle_runtime__rspack_import_4/* .Agent.Text */.g.Text, {
11725
+ children: /*#__PURE__*/ (0,react_jsx_runtime__rspack_import_0.jsx)(_agent_bundle_runtime__rspack_import_4/* .Agent.Text */.g6.Text, {
11720
11726
  children: (0,_core_codex_routes_js__rspack_import_2/* .resultText */.D6)(out)
11721
11727
  })
11722
11728
  });
@@ -11743,6 +11749,9 @@ __webpack_require__.r(__webpack_exports__);
11743
11749
 
11744
11750
 
11745
11751
  /* export default */ const __rspack_default_export = ((0,agent_bundle_routes__rspack_import_1/* .defineTool */.uO)({
11752
+ excludeClients: [
11753
+ 'codex'
11754
+ ],
11746
11755
  description: 'Explicit diagnostic observation of one Codex turn; returns execution and final reply without interrupting it.',
11747
11756
  title: 'Codex wait',
11748
11757
  annotations: {
@@ -11788,9 +11797,9 @@ __webpack_require__.r(__webpack_exports__);
11788
11797
  const out = await (0,_core_codex_routes_js__rspack_import_2/* .observeOperation */.gT)('wait', input, context.signal, (message)=>context.progress.report({
11789
11798
  message
11790
11799
  }));
11791
- return /*#__PURE__*/ (0,react_jsx_runtime__rspack_import_0.jsx)(_agent_bundle_runtime__rspack_import_4/* .Agent.Result */.g.Result, {
11800
+ return /*#__PURE__*/ (0,react_jsx_runtime__rspack_import_0.jsx)(_agent_bundle_runtime__rspack_import_4/* .Agent.Result */.g6.Result, {
11792
11801
  value: out,
11793
- children: /*#__PURE__*/ (0,react_jsx_runtime__rspack_import_0.jsx)(_agent_bundle_runtime__rspack_import_4/* .Agent.Text */.g.Text, {
11802
+ children: /*#__PURE__*/ (0,react_jsx_runtime__rspack_import_0.jsx)(_agent_bundle_runtime__rspack_import_4/* .Agent.Text */.g6.Text, {
11794
11803
  children: (0,_core_codex_routes_js__rspack_import_2/* .resultText */.D6)(out)
11795
11804
  })
11796
11805
  });
@@ -11817,6 +11826,9 @@ __webpack_require__.r(__webpack_exports__);
11817
11826
 
11818
11827
 
11819
11828
  /* export default */ const __rspack_default_export = ((0,agent_bundle_routes__rspack_import_1/* .defineTool */.uO)({
11829
+ excludeClients: [
11830
+ 'codex'
11831
+ ],
11820
11832
  description: 'Watch bounded Codex thread events for diagnostics without answering approvals.',
11821
11833
  title: 'Codex watch',
11822
11834
  annotations: {
@@ -11855,9 +11867,9 @@ __webpack_require__.r(__webpack_exports__);
11855
11867
  const out = await (0,_core_codex_routes_js__rspack_import_2/* .observeOperation */.gT)('watch', input, context.signal, (message)=>context.progress.report({
11856
11868
  message
11857
11869
  }));
11858
- return /*#__PURE__*/ (0,react_jsx_runtime__rspack_import_0.jsx)(_agent_bundle_runtime__rspack_import_4/* .Agent.Result */.g.Result, {
11870
+ return /*#__PURE__*/ (0,react_jsx_runtime__rspack_import_0.jsx)(_agent_bundle_runtime__rspack_import_4/* .Agent.Result */.g6.Result, {
11859
11871
  value: out,
11860
- children: /*#__PURE__*/ (0,react_jsx_runtime__rspack_import_0.jsx)(_agent_bundle_runtime__rspack_import_4/* .Agent.Text */.g.Text, {
11872
+ children: /*#__PURE__*/ (0,react_jsx_runtime__rspack_import_0.jsx)(_agent_bundle_runtime__rspack_import_4/* .Agent.Text */.g6.Text, {
11861
11873
  children: (0,_core_codex_routes_js__rspack_import_2/* .resultText */.D6)(out)
11862
11874
  })
11863
11875
  });
@@ -11921,9 +11933,9 @@ __webpack_require__.r(__webpack_exports__);
11921
11933
  }
11922
11934
  }, async (input)=>{
11923
11935
  const out = await (0,_core_relay_routes_js__rspack_import_2/* .bridgeOperation */.n1)('startBinding', input, await (0,_agent_bundle_runtime__rspack_import_3/* .agent */.MA)());
11924
- return /*#__PURE__*/ (0,react_jsx_runtime__rspack_import_0.jsx)(_agent_bundle_runtime__rspack_import_4/* .Agent.Result */.g.Result, {
11936
+ return /*#__PURE__*/ (0,react_jsx_runtime__rspack_import_0.jsx)(_agent_bundle_runtime__rspack_import_4/* .Agent.Result */.g6.Result, {
11925
11937
  value: out,
11926
- children: /*#__PURE__*/ (0,react_jsx_runtime__rspack_import_0.jsx)(_agent_bundle_runtime__rspack_import_4/* .Agent.Text */.g.Text, {
11938
+ children: /*#__PURE__*/ (0,react_jsx_runtime__rspack_import_0.jsx)(_agent_bundle_runtime__rspack_import_4/* .Agent.Text */.g6.Text, {
11927
11939
  children: JSON.stringify(out)
11928
11940
  })
11929
11941
  });
@@ -11971,9 +11983,9 @@ __webpack_require__.r(__webpack_exports__);
11971
11983
  }
11972
11984
  }, async (input)=>{
11973
11985
  const out = await (0,_core_relay_routes_js__rspack_import_2/* .bridgeOperation */.n1)('status', input, await (0,_agent_bundle_runtime__rspack_import_3/* .agent */.MA)());
11974
- return /*#__PURE__*/ (0,react_jsx_runtime__rspack_import_0.jsx)(_agent_bundle_runtime__rspack_import_4/* .Agent.Result */.g.Result, {
11986
+ return /*#__PURE__*/ (0,react_jsx_runtime__rspack_import_0.jsx)(_agent_bundle_runtime__rspack_import_4/* .Agent.Result */.g6.Result, {
11975
11987
  value: out,
11976
- children: /*#__PURE__*/ (0,react_jsx_runtime__rspack_import_0.jsx)(_agent_bundle_runtime__rspack_import_4/* .Agent.Text */.g.Text, {
11988
+ children: /*#__PURE__*/ (0,react_jsx_runtime__rspack_import_0.jsx)(_agent_bundle_runtime__rspack_import_4/* .Agent.Text */.g6.Text, {
11977
11989
  children: JSON.stringify(out)
11978
11990
  })
11979
11991
  });
@@ -12024,9 +12036,9 @@ __webpack_require__.r(__webpack_exports__);
12024
12036
  }
12025
12037
  }, async (input)=>{
12026
12038
  const out = await (0,_core_relay_routes_js__rspack_import_2/* .bridgeOperation */.n1)('stop', input, await (0,_agent_bundle_runtime__rspack_import_3/* .agent */.MA)());
12027
- return /*#__PURE__*/ (0,react_jsx_runtime__rspack_import_0.jsx)(_agent_bundle_runtime__rspack_import_4/* .Agent.Result */.g.Result, {
12039
+ return /*#__PURE__*/ (0,react_jsx_runtime__rspack_import_0.jsx)(_agent_bundle_runtime__rspack_import_4/* .Agent.Result */.g6.Result, {
12028
12040
  value: out,
12029
- children: /*#__PURE__*/ (0,react_jsx_runtime__rspack_import_0.jsx)(_agent_bundle_runtime__rspack_import_4/* .Agent.Text */.g.Text, {
12041
+ children: /*#__PURE__*/ (0,react_jsx_runtime__rspack_import_0.jsx)(_agent_bundle_runtime__rspack_import_4/* .Agent.Text */.g6.Text, {
12030
12042
  children: JSON.stringify(out)
12031
12043
  })
12032
12044
  });
@@ -12053,6 +12065,9 @@ __webpack_require__.r(__webpack_exports__);
12053
12065
 
12054
12066
 
12055
12067
  /* export default */ const __rspack_default_export = ((0,agent_bundle_routes__rspack_import_1/* .defineTool */.uO)({
12068
+ excludeClients: [
12069
+ 'codex'
12070
+ ],
12056
12071
  description: 'Explicit operator response to a current scoped Codex interaction. Supports only one-time accept/decline/cancel or exact question-ID answers. Never auto-approve.',
12057
12072
  title: 'gbot_codex_respond',
12058
12073
  annotations: {
@@ -12104,9 +12119,9 @@ __webpack_require__.r(__webpack_exports__);
12104
12119
  }
12105
12120
  }, async (input)=>{
12106
12121
  const out = await (0,_core_relay_routes_js__rspack_import_2/* .bridgeOperation */.n1)('respond', input, await (0,_agent_bundle_runtime__rspack_import_3/* .agent */.MA)());
12107
- return /*#__PURE__*/ (0,react_jsx_runtime__rspack_import_0.jsx)(_agent_bundle_runtime__rspack_import_4/* .Agent.Result */.g.Result, {
12122
+ return /*#__PURE__*/ (0,react_jsx_runtime__rspack_import_0.jsx)(_agent_bundle_runtime__rspack_import_4/* .Agent.Result */.g6.Result, {
12108
12123
  value: out,
12109
- children: /*#__PURE__*/ (0,react_jsx_runtime__rspack_import_0.jsx)(_agent_bundle_runtime__rspack_import_4/* .Agent.Text */.g.Text, {
12124
+ children: /*#__PURE__*/ (0,react_jsx_runtime__rspack_import_0.jsx)(_agent_bundle_runtime__rspack_import_4/* .Agent.Text */.g6.Text, {
12110
12125
  children: JSON.stringify(out)
12111
12126
  })
12112
12127
  });
@@ -12132,6 +12147,11 @@ __webpack_require__.r(__webpack_exports__);
12132
12147
 
12133
12148
 
12134
12149
  /* export default */ const __rspack_default_export = ((0,agent_bundle_routes__rspack_import_1/* .defineTool */.uO)({
12150
+ excludeClients: [
12151
+ 'grok bot',
12152
+ 'grokbot',
12153
+ 'grok-bot'
12154
+ ],
12135
12155
  title: 'Pending Grok approvals',
12136
12156
  description: 'List pending auto-review and local-tool approval cards in the latest 200 entries for a Grok bot. Older or unsupported requests require the owning Grok UI.',
12137
12157
  annotations: {
@@ -12153,9 +12173,9 @@ __webpack_require__.r(__webpack_exports__);
12153
12173
  }
12154
12174
  }, async (input)=>{
12155
12175
  const out = await (0,_core_grok_approval_routes_js__rspack_import_2/* .listOperation */.gi)(input);
12156
- return /*#__PURE__*/ (0,react_jsx_runtime__rspack_import_0.jsx)(_agent_bundle_runtime__rspack_import_3/* .Agent.Result */.g.Result, {
12176
+ return /*#__PURE__*/ (0,react_jsx_runtime__rspack_import_0.jsx)(_agent_bundle_runtime__rspack_import_3/* .Agent.Result */.g6.Result, {
12157
12177
  value: out,
12158
- children: /*#__PURE__*/ (0,react_jsx_runtime__rspack_import_0.jsx)(_agent_bundle_runtime__rspack_import_3/* .Agent.Text */.g.Text, {
12178
+ children: /*#__PURE__*/ (0,react_jsx_runtime__rspack_import_0.jsx)(_agent_bundle_runtime__rspack_import_3/* .Agent.Text */.g6.Text, {
12159
12179
  children: JSON.stringify(out)
12160
12180
  })
12161
12181
  });
@@ -12181,6 +12201,11 @@ __webpack_require__.r(__webpack_exports__);
12181
12201
 
12182
12202
 
12183
12203
  /* export default */ const __rspack_default_export = ((0,agent_bundle_routes__rspack_import_1/* .defineTool */.uO)({
12204
+ excludeClients: [
12205
+ 'grok bot',
12206
+ 'grokbot',
12207
+ 'grok-bot'
12208
+ ],
12184
12209
  title: 'Respond to Grok approval',
12185
12210
  description: 'Only after an explicit user decision: accept one current Grok approval once or decline it. Exact target, entryId and approval requestId required. Never auto-approve or grant persistent permissions. Success acknowledges response delivery, not execution.',
12186
12211
  annotations: {
@@ -12218,9 +12243,9 @@ __webpack_require__.r(__webpack_exports__);
12218
12243
  }
12219
12244
  }, async (input)=>{
12220
12245
  const out = await (0,_core_grok_approval_routes_js__rspack_import_2/* .respondOperation */.lr)(input);
12221
- return /*#__PURE__*/ (0,react_jsx_runtime__rspack_import_0.jsx)(_agent_bundle_runtime__rspack_import_3/* .Agent.Result */.g.Result, {
12246
+ return /*#__PURE__*/ (0,react_jsx_runtime__rspack_import_0.jsx)(_agent_bundle_runtime__rspack_import_3/* .Agent.Result */.g6.Result, {
12222
12247
  value: out,
12223
- children: /*#__PURE__*/ (0,react_jsx_runtime__rspack_import_0.jsx)(_agent_bundle_runtime__rspack_import_3/* .Agent.Text */.g.Text, {
12248
+ children: /*#__PURE__*/ (0,react_jsx_runtime__rspack_import_0.jsx)(_agent_bundle_runtime__rspack_import_3/* .Agent.Text */.g6.Text, {
12224
12249
  children: JSON.stringify(out)
12225
12250
  })
12226
12251
  });
@@ -12247,6 +12272,11 @@ __webpack_require__.r(__webpack_exports__);
12247
12272
 
12248
12273
 
12249
12274
  /* export default */ const __rspack_default_export = ((0,agent_bundle_routes__rspack_import_1/* .defineTool */.uO)({
12275
+ excludeClients: [
12276
+ 'grok bot',
12277
+ 'grokbot',
12278
+ 'grok-bot'
12279
+ ],
12250
12280
  description: 'Send to Grok Bot. Native Codex calls automatically receive replies in their originating thread; send once and continue work. Without a native source, supply codexThreadId or use manual gbot_thread reading.',
12251
12281
  title: 'Send a message to Grok Bot',
12252
12282
  annotations: {
@@ -12298,9 +12328,9 @@ __webpack_require__.r(__webpack_exports__);
12298
12328
  }
12299
12329
  }, async (input)=>{
12300
12330
  const out = await (0,_core_relay_routes_js__rspack_import_2/* .grokSendOperation */.bv)(input, await (0,_agent_bundle_runtime__rspack_import_3/* .agent */.MA)());
12301
- return /*#__PURE__*/ (0,react_jsx_runtime__rspack_import_0.jsx)(_agent_bundle_runtime__rspack_import_4/* .Agent.Result */.g.Result, {
12331
+ return /*#__PURE__*/ (0,react_jsx_runtime__rspack_import_0.jsx)(_agent_bundle_runtime__rspack_import_4/* .Agent.Result */.g6.Result, {
12302
12332
  value: out,
12303
- children: /*#__PURE__*/ (0,react_jsx_runtime__rspack_import_0.jsx)(_agent_bundle_runtime__rspack_import_4/* .Agent.Text */.g.Text, {
12333
+ children: /*#__PURE__*/ (0,react_jsx_runtime__rspack_import_0.jsx)(_agent_bundle_runtime__rspack_import_4/* .Agent.Text */.g6.Text, {
12304
12334
  children: out.replyRoute.mode === 'auto' ? `Delivery ${out.delivery}; replies will arrive in Codex thread ${out.replyRoute.threadId}. Continue work; no polling needed.` : `Delivery ${out.delivery}${out.delivery === 'unknown' ? ' (no receipt; check the thread before resending)' : ''}; read the reply with gbot_thread.`
12305
12335
  })
12306
12336
  });
@@ -12335,6 +12365,11 @@ const inputSchema = zod__rspack_import_3/* .object */.Ikc({
12335
12365
  target: zod__rspack_import_3/* .string */.YjP().min(1)
12336
12366
  });
12337
12367
  /* export default */ const __rspack_default_export = ((0,agent_bundle_routes__rspack_import_1/* .defineTool */.uO)({
12368
+ excludeClients: [
12369
+ 'grok bot',
12370
+ 'grokbot',
12371
+ 'grok-bot'
12372
+ ],
12338
12373
  annotations: {
12339
12374
  readOnlyHint: true
12340
12375
  },
@@ -12392,9 +12427,9 @@ const inputSchema = zod__rspack_import_3/* .object */.Ikc({
12392
12427
  summary
12393
12428
  };
12394
12429
  if (!full) {
12395
- return /*#__PURE__*/ (0,react_jsx_runtime__rspack_import_0.jsx)(_agent_bundle_runtime__rspack_import_4/* .Agent.Result */.g.Result, {
12430
+ return /*#__PURE__*/ (0,react_jsx_runtime__rspack_import_0.jsx)(_agent_bundle_runtime__rspack_import_4/* .Agent.Result */.g6.Result, {
12396
12431
  value: receipt,
12397
- children: /*#__PURE__*/ (0,react_jsx_runtime__rspack_import_0.jsx)(_agent_bundle_runtime__rspack_import_4/* .Agent.Text */.g.Text, {
12432
+ children: /*#__PURE__*/ (0,react_jsx_runtime__rspack_import_0.jsx)(_agent_bundle_runtime__rspack_import_4/* .Agent.Text */.g6.Text, {
12398
12433
  children: summary
12399
12434
  })
12400
12435
  });
@@ -12403,9 +12438,9 @@ const inputSchema = zod__rspack_import_3/* .object */.Ikc({
12403
12438
  ...receipt,
12404
12439
  entries
12405
12440
  };
12406
- return /*#__PURE__*/ (0,react_jsx_runtime__rspack_import_0.jsx)(_agent_bundle_runtime__rspack_import_4/* .Agent.Result */.g.Result, {
12441
+ return /*#__PURE__*/ (0,react_jsx_runtime__rspack_import_0.jsx)(_agent_bundle_runtime__rspack_import_4/* .Agent.Result */.g6.Result, {
12407
12442
  value: value,
12408
- children: /*#__PURE__*/ (0,react_jsx_runtime__rspack_import_0.jsx)(_agent_bundle_runtime__rspack_import_4/* .Agent.Text */.g.Text, {
12443
+ children: /*#__PURE__*/ (0,react_jsx_runtime__rspack_import_0.jsx)(_agent_bundle_runtime__rspack_import_4/* .Agent.Text */.g6.Text, {
12409
12444
  children: summary
12410
12445
  })
12411
12446
  });
@@ -12503,7 +12538,28 @@ module.exports = __rspack_createRequire_require("util");
12503
12538
  },
12504
12539
  "./node_modules/@agent-bundle/runtime/dist/302.js"(__unused_rspack___webpack_module__, __webpack_exports__, __webpack_require__) {
12505
12540
  /* import */ var node_buffer__rspack_import_0 = __webpack_require__("node:buffer");
12541
+ /* import */ var react__rspack_import_1 = __webpack_require__("./node_modules/react/index.js");
12542
+
12506
12543
 
12544
+ const isServerComponent = (value)=>'function' == typeof value;
12545
+ const asMcpElement = (node)=>{
12546
+ let element = node;
12547
+ while(isValidElement(element) && isServerComponent(element.type))element = element.type(element.props);
12548
+ if (!isValidElement(element) || 'string' != typeof element.type || !element.type.startsWith('mcp-')) throw new Error('Expected an MCP result element');
12549
+ return {
12550
+ props: element.props,
12551
+ type: element.type
12552
+ };
12553
+ };
12554
+ const requiredString = (value, message)=>{
12555
+ if ('string' != typeof value || '' === value.trim()) throw new Error(message);
12556
+ return value;
12557
+ };
12558
+ const textChild = (children, message)=>{
12559
+ const values = Children.toArray(children);
12560
+ if (1 !== values.length || 'string' != typeof values[0]) throw new Error(message);
12561
+ return values[0];
12562
+ };
12507
12563
  const jsonLeafBytes = (value)=>node_buffer__rspack_import_0.Buffer.byteLength(JSON.stringify(value), 'utf8');
12508
12564
  const isArrayIndex = (key, length)=>{
12509
12565
  if ('0' === key) return length > 0;
@@ -12565,6 +12621,16 @@ const cloneJsonValue = (value, ancestors, path, depth = 0, budget)=>{
12565
12621
  ancestors.delete(value);
12566
12622
  }
12567
12623
  };
12624
+ const jsonRecord = (value, message)=>{
12625
+ try {
12626
+ if (null === value || 'object' != typeof value || Array.isArray(value)) throw new Error('not a plain object');
12627
+ return cloneJsonValue(value, new Set(), '');
12628
+ } catch (error) {
12629
+ throw new Error(`${message} (${error instanceof Error ? error.message : String(error)})`, {
12630
+ cause: error
12631
+ });
12632
+ }
12633
+ };
12568
12634
  const deepFreezeJson = (value)=>{
12569
12635
  if ('object' == typeof value && null !== value) {
12570
12636
  for (const child of Object.values(value))deepFreezeJson(child);
@@ -12582,6 +12648,89 @@ const snapshotJsonValue = (value, message, budget)=>{
12582
12648
  });
12583
12649
  }
12584
12650
  };
12651
+ const lowerContent = (node)=>{
12652
+ const element = asMcpElement(node);
12653
+ const { props } = element;
12654
+ switch(element.type){
12655
+ case 'mcp-text':
12656
+ return {
12657
+ text: textChild(props.children, 'mcp-text requires one text child'),
12658
+ type: 'text'
12659
+ };
12660
+ case 'mcp-image':
12661
+ return {
12662
+ data: requiredString(props.data, 'mcp-image requires non-empty data and mimeType'),
12663
+ mimeType: requiredString(props.mimeType, 'mcp-image requires non-empty data and mimeType'),
12664
+ type: 'image'
12665
+ };
12666
+ case 'mcp-audio':
12667
+ return {
12668
+ data: requiredString(props.data, 'mcp-audio requires non-empty data and mimeType'),
12669
+ mimeType: requiredString(props.mimeType, 'mcp-audio requires non-empty data and mimeType'),
12670
+ type: 'audio'
12671
+ };
12672
+ case 'mcp-resource-link':
12673
+ {
12674
+ const mimeType = props.mimeType;
12675
+ if (void 0 !== mimeType && 'string' != typeof mimeType) throw new Error('mcp-resource-link mimeType must be a string');
12676
+ return {
12677
+ ...void 0 === mimeType ? {} : {
12678
+ mimeType
12679
+ },
12680
+ name: requiredString(props.name, 'mcp-resource-link requires non-empty uri and name'),
12681
+ type: 'resource_link',
12682
+ uri: requiredString(props.uri, 'mcp-resource-link requires non-empty uri and name')
12683
+ };
12684
+ }
12685
+ case 'mcp-embedded-resource':
12686
+ {
12687
+ const hasText = void 0 !== props.text;
12688
+ const hasTextChild = void 0 !== props.children;
12689
+ const hasBlob = void 0 !== props.blob;
12690
+ if (Number(hasText) + Number(hasTextChild) + Number(hasBlob) !== 1) throw new Error('mcp-embedded-resource accepts exactly one text or blob value');
12691
+ const mimeType = props.mimeType;
12692
+ if (void 0 !== mimeType && 'string' != typeof mimeType) throw new Error('mcp-embedded-resource mimeType must be a string');
12693
+ const resource = {
12694
+ ...void 0 === mimeType ? {} : {
12695
+ mimeType
12696
+ },
12697
+ uri: requiredString(props.uri, 'mcp-embedded-resource requires a non-empty uri'),
12698
+ ...hasBlob ? {
12699
+ blob: requiredString(props.blob, 'mcp-embedded-resource blob must be non-empty')
12700
+ } : {
12701
+ text: hasTextChild ? textChild(props.children, 'mcp-embedded-resource requires one text child') : requiredString(props.text, 'mcp-embedded-resource text must be non-empty')
12702
+ }
12703
+ };
12704
+ return {
12705
+ resource,
12706
+ type: 'resource'
12707
+ };
12708
+ }
12709
+ case 'mcp-result':
12710
+ throw new Error('mcp-result may not be nested');
12711
+ default:
12712
+ throw new Error(`Unsupported MCP result element: ${element.type}`);
12713
+ }
12714
+ };
12715
+ const lowerMcpResult = (node)=>{
12716
+ const root = asMcpElement(node);
12717
+ if ('mcp-result' !== root.type) throw new Error('Expected mcp-result as the root element');
12718
+ if (void 0 !== root.props.isError && 'boolean' != typeof root.props.isError) throw new Error('mcp-result isError must be a boolean');
12719
+ const structuredContent = root.props.structuredContent;
12720
+ const metadata = root.props._meta;
12721
+ return {
12722
+ content: Children.toArray(root.props.children).map(lowerContent),
12723
+ ...void 0 === metadata ? {} : {
12724
+ _meta: jsonRecord(metadata, 'mcp-result _meta must be JSON-serializable')
12725
+ },
12726
+ ...void 0 === structuredContent ? {} : {
12727
+ structuredContent: jsonRecord(structuredContent, 'mcp-result structuredContent must be JSON-serializable')
12728
+ },
12729
+ ...void 0 === root.props.isError ? {} : {
12730
+ isError: root.props.isError
12731
+ }
12732
+ };
12733
+ };
12585
12734
  const AGENT_DOCUMENT_VERSION = 1;
12586
12735
  const agentRenderAbortError = ()=>new DOMException('Agent render was aborted', 'AbortError');
12587
12736
  const DEFAULT_AGENT_RENDER_LIMITS = Object.freeze({
@@ -12609,7 +12758,7 @@ const resolveAgentRenderLimits = (overrides = {})=>{
12609
12758
  for (const [name, value] of Object.entries(limits))if (!Number.isSafeInteger(value) || value <= 0) throw new AgentContractError('invalid-document', `${name} must be a positive safe integer`);
12610
12759
  return Object.freeze(limits);
12611
12760
  };
12612
- const requiredString = (value, field)=>{
12761
+ const agent_document_requiredString = (value, field)=>{
12613
12762
  if ('string' != typeof value || '' === value.trim()) throw new AgentContractError('invalid-document', `${field} must be a non-empty string`);
12614
12763
  return value;
12615
12764
  };
@@ -12617,7 +12766,7 @@ const agent_document_text = (value, field)=>{
12617
12766
  if ('string' != typeof value) throw new AgentContractError('invalid-document', `${field} must be a string`);
12618
12767
  return value;
12619
12768
  };
12620
- const optionalString = (value, field)=>void 0 === value ? void 0 : requiredString(value, field);
12769
+ const optionalString = (value, field)=>void 0 === value ? void 0 : agent_document_requiredString(value, field);
12621
12770
  const elapsedTimeExceeded = (maxElapsedMs)=>new AgentContractError('elapsed-time-exceeded', `Agent render elapsed time exceeds ${String(maxElapsedMs)}ms`);
12622
12771
  const expectDocumentDepth = (depth, limits)=>{
12623
12772
  if (depth > limits.maxDocumentDepth) throw new AgentContractError('document-depth-exceeded', `Agent Document depth exceeds ${String(limits.maxDocumentDepth)}`);
@@ -12715,15 +12864,15 @@ const snapshotNode = (node, depth, state)=>{
12715
12864
  }
12716
12865
  case 'image':
12717
12866
  return Object.freeze({
12718
- data: requiredString(node.data, 'Agent image data'),
12867
+ data: agent_document_requiredString(node.data, 'Agent image data'),
12719
12868
  kind: 'image',
12720
- mimeType: requiredString(node.mimeType, 'Agent image mimeType')
12869
+ mimeType: agent_document_requiredString(node.mimeType, 'Agent image mimeType')
12721
12870
  });
12722
12871
  case 'audio':
12723
12872
  return Object.freeze({
12724
- data: requiredString(node.data, 'Agent audio data'),
12873
+ data: agent_document_requiredString(node.data, 'Agent audio data'),
12725
12874
  kind: 'audio',
12726
- mimeType: requiredString(node.mimeType, 'Agent audio mimeType')
12875
+ mimeType: agent_document_requiredString(node.mimeType, 'Agent audio mimeType')
12727
12876
  });
12728
12877
  case 'resource':
12729
12878
  {
@@ -12733,13 +12882,13 @@ const snapshotNode = (node, depth, state)=>{
12733
12882
  ...void 0 === mimeType ? {} : {
12734
12883
  mimeType
12735
12884
  },
12736
- name: requiredString(node.name, 'Agent resource name'),
12737
- uri: requiredString(node.uri, 'Agent resource uri')
12885
+ name: agent_document_requiredString(node.name, 'Agent resource name'),
12886
+ uri: agent_document_requiredString(node.uri, 'Agent resource uri')
12738
12887
  });
12739
12888
  }
12740
12889
  case 'error':
12741
12890
  return Object.freeze({
12742
- code: requiredString(node.code, 'Agent error code'),
12891
+ code: agent_document_requiredString(node.code, 'Agent error code'),
12743
12892
  kind: 'error',
12744
12893
  message: agent_document_text(node.message, 'Agent error message')
12745
12894
  });
@@ -12797,7 +12946,7 @@ const snapshotRenderError = (error, limits)=>{
12797
12946
  nodes: 0
12798
12947
  });
12799
12948
  return Object.freeze({
12800
- code: requiredString(error.code, 'Agent render error code'),
12949
+ code: agent_document_requiredString(error.code, 'Agent render error code'),
12801
12950
  ...void 0 === data ? {} : {
12802
12951
  data
12803
12952
  },
@@ -12832,7 +12981,7 @@ const snapshotEvent = (input, sequence, limits)=>{
12832
12981
  }
12833
12982
  case 'replace':
12834
12983
  return Object.freeze({
12835
- boundaryId: requiredString(input.boundaryId, 'Agent render boundaryId'),
12984
+ boundaryId: agent_document_requiredString(input.boundaryId, 'Agent render boundaryId'),
12836
12985
  document: createAgentDocument(input.document, limits),
12837
12986
  sequence,
12838
12987
  type: 'replace'
@@ -13405,11 +13554,51 @@ const Agent = Object.freeze({
13405
13554
  Result: AgentResult,
13406
13555
  Text: AgentText
13407
13556
  });
13557
+ const Result = ({ children })=>(0,react__rspack_import_0.createElement)('agent-hook-result', null, children);
13558
+ const AdditionalContext = ({ children })=>(0,react__rspack_import_0.createElement)('agent-hook-additional-context', null, children);
13559
+ const Hook = {
13560
+ AdditionalContext: AdditionalContext,
13561
+ Result: Result
13562
+ };
13563
+ const McpResult = ({ _meta, children, isError, structuredContent })=>createElement('mcp-result', {
13564
+ _meta,
13565
+ isError,
13566
+ structuredContent
13567
+ }, children);
13568
+ const McpText = ({ children })=>createElement('mcp-text', null, children);
13569
+ const McpImage = ({ data, mimeType })=>createElement('mcp-image', {
13570
+ data,
13571
+ mimeType
13572
+ });
13573
+ const McpAudio = ({ data, mimeType })=>createElement('mcp-audio', {
13574
+ data,
13575
+ mimeType
13576
+ });
13577
+ const McpResourceLink = ({ mimeType, name, uri })=>createElement('mcp-resource-link', {
13578
+ mimeType,
13579
+ name,
13580
+ uri
13581
+ });
13582
+ const McpEmbeddedResource = ({ blob, children, mimeType, text, uri })=>createElement('mcp-embedded-resource', {
13583
+ blob,
13584
+ mimeType,
13585
+ text,
13586
+ uri
13587
+ }, children);
13588
+ const Mcp = (/* unused pure expression or super */ null && ({
13589
+ Audio: McpAudio,
13590
+ EmbeddedResource: McpEmbeddedResource,
13591
+ Image: McpImage,
13592
+ ResourceLink: McpResourceLink,
13593
+ Result: McpResult,
13594
+ Text: McpText
13595
+ }));
13408
13596
 
13409
13597
 
13410
13598
  __webpack_require__.d(__webpack_exports__, {
13411
13599
  }, {
13412
- g: Agent
13600
+ g6: Agent,
13601
+ qn: Hook
13413
13602
  });
13414
13603
 
13415
13604
 
@@ -13876,20 +14065,23 @@ __webpack_require__.d(__webpack_exports__, {
13876
14065
 
13877
14066
  },
13878
14067
  "./node_modules/@agent-bundle/runtime/dist/index.js"(__unused_rspack___webpack_module__, __webpack_exports__, __webpack_require__) {
13879
- /* import */ var effect__rspack_import_2 = __webpack_require__("./node_modules/effect/dist/Latch.js");
13880
- /* import */ var effect__rspack_import_3 = __webpack_require__("./node_modules/effect/dist/Effect.js");
13881
- /* import */ var effect__rspack_import_6 = __webpack_require__("./node_modules/effect/dist/Duration.js");
13882
- /* import */ var effect__rspack_import_7 = __webpack_require__("./node_modules/effect/dist/Stream.js");
13883
- /* import */ var effect__rspack_import_8 = __webpack_require__("./node_modules/effect/dist/Deferred.js");
13884
- /* import */ var effect__rspack_import_9 = __webpack_require__("./node_modules/effect/dist/Queue.js");
13885
- /* import */ var effect__rspack_import_10 = __webpack_require__("./node_modules/effect/dist/Option.js");
13886
- /* import */ var effect__rspack_import_11 = __webpack_require__("./node_modules/effect/dist/Exit.js");
13887
- /* import */ var effect__rspack_import_13 = __webpack_require__("./node_modules/effect/dist/Clock.js");
14068
+ /* import */ var effect__rspack_import_3 = __webpack_require__("./node_modules/effect/dist/Latch.js");
14069
+ /* import */ var effect__rspack_import_4 = __webpack_require__("./node_modules/effect/dist/Effect.js");
14070
+ /* import */ var effect__rspack_import_7 = __webpack_require__("./node_modules/effect/dist/Duration.js");
14071
+ /* import */ var effect__rspack_import_8 = __webpack_require__("./node_modules/effect/dist/Stream.js");
14072
+ /* import */ var effect__rspack_import_9 = __webpack_require__("./node_modules/effect/dist/Deferred.js");
14073
+ /* import */ var effect__rspack_import_10 = __webpack_require__("./node_modules/effect/dist/Queue.js");
14074
+ /* import */ var effect__rspack_import_11 = __webpack_require__("./node_modules/effect/dist/Option.js");
14075
+ /* import */ var effect__rspack_import_12 = __webpack_require__("./node_modules/effect/dist/Exit.js");
14076
+ /* import */ var effect__rspack_import_14 = __webpack_require__("./node_modules/effect/dist/Clock.js");
13888
14077
  /* import */ var react__rspack_import_0 = __webpack_require__("./node_modules/react/index.js");
13889
14078
  /* import */ var react_server_dom_rspack_client_node__rspack_import_1 = __webpack_require__("./node_modules/react-server-dom-rspack/client.node.js");
13890
- /* import */ var _315_js__rspack_import_4 = __webpack_require__("./node_modules/@agent-bundle/runtime/dist/315.js");
13891
- /* import */ var _302_js__rspack_import_5 = __webpack_require__("./node_modules/@agent-bundle/runtime/dist/302.js");
13892
- /* import */ var _707_js__rspack_import_12 = __webpack_require__("./node_modules/@agent-bundle/runtime/dist/707.js");
14079
+ /* import */ var node_async_hooks__rspack_import_2 = __webpack_require__("node:async_hooks");
14080
+ /* import */ var _315_js__rspack_import_5 = __webpack_require__("./node_modules/@agent-bundle/runtime/dist/315.js");
14081
+ /* import */ var _302_js__rspack_import_6 = __webpack_require__("./node_modules/@agent-bundle/runtime/dist/302.js");
14082
+ /* import */ var _707_js__rspack_import_13 = __webpack_require__("./node_modules/@agent-bundle/runtime/dist/707.js");
14083
+ /* import */ var _506_js__rspack_import_15 = __webpack_require__("./node_modules/@agent-bundle/runtime/dist/506.js");
14084
+
13893
14085
 
13894
14086
 
13895
14087
 
@@ -13900,10 +14092,10 @@ __webpack_require__.d(__webpack_exports__, {
13900
14092
 
13901
14093
 
13902
14094
  const createFlightDemand = ()=>{
13903
- const pulling = effect__rspack_import_2/* .makeUnsafe */.LZ(false);
14095
+ const pulling = effect__rspack_import_3/* .makeUnsafe */.LZ(false);
13904
14096
  let shellEmitted = false;
13905
14097
  return {
13906
- markShell: effect__rspack_import_3/* .sync */.OH5(()=>{
14098
+ markShell: effect__rspack_import_4/* .sync */.OH5(()=>{
13907
14099
  shellEmitted = true;
13908
14100
  }),
13909
14101
  notePull () {
@@ -13912,11 +14104,11 @@ const createFlightDemand = ()=>{
13912
14104
  notePullEnd () {
13913
14105
  pulling.closeUnsafe();
13914
14106
  },
13915
- wait: effect__rspack_import_3/* .suspend */.DYE(()=>shellEmitted ? pulling.await : effect__rspack_import_3/* ["void"] */.rIH)
14107
+ wait: effect__rspack_import_4/* .suspend */.DYE(()=>shellEmitted ? pulling.await : effect__rspack_import_4/* ["void"] */.rIH)
13916
14108
  };
13917
14109
  };
13918
- const emitBoundRenderEvent = (sequence, input)=>effect__rspack_import_3/* ["try"] */.SvU({
13919
- catch: (error)=>(0,_315_js__rspack_import_4/* .toRuntimeError */.qN)(error),
14110
+ const emitBoundRenderEvent = (sequence, input)=>effect__rspack_import_4/* ["try"] */.SvU({
14111
+ catch: (error)=>(0,_315_js__rspack_import_5/* .toRuntimeError */.qN)(error),
13920
14112
  try: ()=>sequence.emit(input)
13921
14113
  });
13922
14114
  const agentElementTypes = Object.freeze([
@@ -13933,7 +14125,7 @@ const agentElementTypes = Object.freeze([
13933
14125
  ]);
13934
14126
  const isAgentElementType = (value)=>agentElementTypes.includes(value);
13935
14127
  const protocolElement = (node)=>{
13936
- if (!(0,react__rspack_import_0.isValidElement)(node) || 'string' != typeof node.type || !isAgentElementType(node.type)) throw new _302_js__rspack_import_5/* .AgentContractError */.I2('invalid-document', 'Flight output must contain only Agent protocol elements; function components and HTML are unsupported');
14128
+ if (!(0,react__rspack_import_0.isValidElement)(node) || 'string' != typeof node.type || !isAgentElementType(node.type)) throw new _302_js__rspack_import_6/* .AgentContractError */.I2('invalid-document', 'Flight output must contain only Agent protocol elements; function components and HTML are unsupported');
13937
14129
  return {
13938
14130
  props: node.props,
13939
14131
  type: node.type
@@ -13941,31 +14133,31 @@ const protocolElement = (node)=>{
13941
14133
  };
13942
14134
  const textChild = (children, type)=>{
13943
14135
  const values = react__rspack_import_0.Children.toArray(children);
13944
- if (1 !== values.length || 'string' != typeof values[0]) throw new _302_js__rspack_import_5/* .AgentContractError */.I2('invalid-document', `${type} requires exactly one string child`);
14136
+ if (1 !== values.length || 'string' != typeof values[0]) throw new _302_js__rspack_import_6/* .AgentContractError */.I2('invalid-document', `${type} requires exactly one string child`);
13945
14137
  return values[0];
13946
14138
  };
13947
14139
  const decodeBudget = (state)=>({
13948
14140
  addBytes (n) {
13949
14141
  state.bytes += n;
13950
- if (state.bytes > state.limits.maxDocumentBytes) throw new _302_js__rspack_import_5/* .AgentContractError */.I2('document-bytes-exceeded', `Agent Document bytes exceed ${String(state.limits.maxDocumentBytes)}`);
14142
+ if (state.bytes > state.limits.maxDocumentBytes) throw new _302_js__rspack_import_6/* .AgentContractError */.I2('document-bytes-exceeded', `Agent Document bytes exceed ${String(state.limits.maxDocumentBytes)}`);
13951
14143
  },
13952
14144
  addNode () {
13953
- (0,_302_js__rspack_import_5/* .admitDocumentNode */.Dy)(state);
14145
+ (0,_302_js__rspack_import_6/* .admitDocumentNode */.Dy)(state);
13954
14146
  },
13955
14147
  checkDepth (depth) {
13956
- (0,_302_js__rspack_import_5/* .expectDocumentDepth */.MI)(depth, state.limits);
14148
+ (0,_302_js__rspack_import_6/* .expectDocumentDepth */.MI)(depth, state.limits);
13957
14149
  }
13958
14150
  });
13959
14151
  const isJsonObject = (value)=>null != value && 'object' == typeof value && !Array.isArray(value);
13960
14152
  const budgetedJson = (value, message, depth, state)=>{
13961
14153
  try {
13962
- return (0,_302_js__rspack_import_5/* .snapshotJsonValue */.mY)(value, message, {
14154
+ return (0,_302_js__rspack_import_6/* .snapshotJsonValue */.mY)(value, message, {
13963
14155
  depth,
13964
14156
  limits: decodeBudget(state)
13965
14157
  });
13966
14158
  } catch (error) {
13967
- if (error instanceof _302_js__rspack_import_5/* .AgentContractError */.I2) throw error;
13968
- throw new _302_js__rspack_import_5/* .AgentContractError */.I2('invalid-document', error instanceof Error ? error.message : message, {
14159
+ if (error instanceof _302_js__rspack_import_6/* .AgentContractError */.I2) throw error;
14160
+ throw new _302_js__rspack_import_6/* .AgentContractError */.I2('invalid-document', error instanceof Error ? error.message : message, {
13969
14161
  cause: error
13970
14162
  });
13971
14163
  }
@@ -14024,8 +14216,8 @@ const decodeResult = (props, depth, state)=>{
14024
14216
  return node;
14025
14217
  };
14026
14218
  const decodeNode = (node, depth, state)=>{
14027
- (0,_302_js__rspack_import_5/* .expectDocumentDepth */.MI)(depth, state.limits);
14028
- (0,_302_js__rspack_import_5/* .admitDocumentNode */.Dy)(state);
14219
+ (0,_302_js__rspack_import_6/* .expectDocumentDepth */.MI)(depth, state.limits);
14220
+ (0,_302_js__rspack_import_6/* .admitDocumentNode */.Dy)(state);
14029
14221
  const element = protocolElement(node);
14030
14222
  const { props } = element;
14031
14223
  switch(element.type){
@@ -14093,14 +14285,14 @@ const decodeNode = (node, depth, state)=>{
14093
14285
  default:
14094
14286
  {
14095
14287
  const exhaustive = element.type;
14096
- throw new _302_js__rspack_import_5/* .AgentContractError */.I2('invalid-document', `Unsupported Agent protocol element: ${String(exhaustive)}`);
14288
+ throw new _302_js__rspack_import_6/* .AgentContractError */.I2('invalid-document', `Unsupported Agent protocol element: ${String(exhaustive)}`);
14097
14289
  }
14098
14290
  }
14099
14291
  };
14100
14292
  const decodeAgentDocument = (node, limits = {})=>{
14101
- const resolved = (0,_302_js__rspack_import_5/* .resolveAgentRenderLimits */.i0)(limits);
14293
+ const resolved = (0,_302_js__rspack_import_6/* .resolveAgentRenderLimits */.i0)(limits);
14102
14294
  const root = protocolElement(node);
14103
- if ('agent-result' !== root.type) throw new _302_js__rspack_import_5/* .AgentContractError */.I2('invalid-document', 'Flight output must have Agent.Result as its root');
14295
+ if ('agent-result' !== root.type) throw new _302_js__rspack_import_6/* .AgentContractError */.I2('invalid-document', 'Flight output must have Agent.Result as its root');
14104
14296
  const state = {
14105
14297
  bytes: 0,
14106
14298
  discardedBytes: 0,
@@ -14111,7 +14303,7 @@ const decodeAgentDocument = (node, limits = {})=>{
14111
14303
  };
14112
14304
  const documentRoot = decodeNode(node, 1, state);
14113
14305
  const value = state.resultValues.get(documentRoot)?.value;
14114
- const document = (0,_302_js__rspack_import_5/* .createAgentDocument */.ZX)({
14306
+ const document = (0,_302_js__rspack_import_6/* .createAgentDocument */.ZX)({
14115
14307
  root: documentRoot,
14116
14308
  status: state.representedError ? 'represented-error' : 'success',
14117
14309
  ...void 0 === value ? {} : {
@@ -14119,13 +14311,13 @@ const decodeAgentDocument = (node, limits = {})=>{
14119
14311
  },
14120
14312
  version: 1
14121
14313
  }, resolved);
14122
- if (state.discardedBytes > 0 && state.discardedBytes + jsonBytes(document) > resolved.maxDocumentBytes) throw new _302_js__rspack_import_5/* .AgentContractError */.I2('document-bytes-exceeded', `Agent Document bytes exceed ${String(resolved.maxDocumentBytes)}`);
14314
+ if (state.discardedBytes > 0 && state.discardedBytes + jsonBytes(document) > resolved.maxDocumentBytes) throw new _302_js__rspack_import_6/* .AgentContractError */.I2('document-bytes-exceeded', `Agent Document bytes exceed ${String(resolved.maxDocumentBytes)}`);
14123
14315
  return document;
14124
14316
  };
14125
14317
  const REACT_FRAGMENT = Symbol.for('react.fragment');
14126
14318
  const REACT_LAZY = Symbol.for('react.lazy');
14127
14319
  const REACT_SUSPENSE = Symbol.for('react.suspense');
14128
- const abortError = _302_js__rspack_import_5/* .agentRenderAbortError */.k2;
14320
+ const abortError = _302_js__rspack_import_6/* .agentRenderAbortError */.k2;
14129
14321
  const isObject = (value)=>'object' == typeof value && null !== value;
14130
14322
  const isThenable = (value)=>isObject(value) && 'function' == typeof value.then;
14131
14323
  const isLazyElement = (value)=>isObject(value) && value.$$typeof === REACT_LAZY && isThenable(value._payload);
@@ -14156,7 +14348,7 @@ const classifyNode = (node)=>{
14156
14348
  kind: 'thenable',
14157
14349
  value: node
14158
14350
  };
14159
- if (!(0,react__rspack_import_0.isValidElement)(node)) throw new _302_js__rspack_import_5/* .AgentContractError */.I2('invalid-document', 'Flight output contained an unsupported node');
14351
+ if (!(0,react__rspack_import_0.isValidElement)(node)) throw new _302_js__rspack_import_6/* .AgentContractError */.I2('invalid-document', 'Flight output contained an unsupported node');
14160
14352
  const type = node.type;
14161
14353
  if (type === REACT_SUSPENSE) return {
14162
14354
  kind: 'suspense',
@@ -14170,7 +14362,7 @@ const classifyNode = (node)=>{
14170
14362
  kind: 'protocol',
14171
14363
  value: node
14172
14364
  };
14173
- throw new _302_js__rspack_import_5/* .AgentContractError */.I2('invalid-document', "Flight output must contain only Agent protocol elements; function components and HTML are unsupported");
14365
+ throw new _302_js__rspack_import_6/* .AgentContractError */.I2('invalid-document', "Flight output must contain only Agent protocol elements; function components and HTML are unsupported");
14174
14366
  };
14175
14367
  const thenableStatus = (thenable)=>{
14176
14368
  switch(thenable.status){
@@ -14345,8 +14537,8 @@ const snapshotTree = (root, ids)=>{
14345
14537
  tree: materializeNode(root, '', ctx)
14346
14538
  };
14347
14539
  };
14348
- const hostError = (signal, error)=>signal.aborted || (0,_315_js__rspack_import_4/* .isAbortError */.zf)(error) ? abortError() : (0,_315_js__rspack_import_4/* .toRuntimeError */.qN)(error);
14349
- const waitSettledBoundary = (pending)=>effect__rspack_import_3/* .raceAll */.Vdx(pending.map((boundary)=>effect__rspack_import_3/* .promise */.ivC(()=>Promise.resolve(boundary.thenable).then(()=>({
14540
+ const hostError = (signal, error)=>signal.aborted || (0,_315_js__rspack_import_5/* .isAbortError */.zf)(error) ? abortError() : (0,_315_js__rspack_import_5/* .toRuntimeError */.qN)(error);
14541
+ const waitSettledBoundary = (pending)=>effect__rspack_import_4/* .raceAll */.Vdx(pending.map((boundary)=>effect__rspack_import_4/* .promise */.ivC(()=>Promise.resolve(boundary.thenable).then(()=>({
14350
14542
  boundary,
14351
14543
  ok: true
14352
14544
  }), (error)=>({
@@ -14356,8 +14548,8 @@ const waitSettledBoundary = (pending)=>effect__rspack_import_3/* .raceAll */.Vdx
14356
14548
  })))));
14357
14549
  const waitOrDeadline = (wait, sequence)=>{
14358
14550
  const remaining = sequence.remainingMs;
14359
- if (remaining <= 0) return effect__rspack_import_3/* .fail */.fJG((0,_302_js__rspack_import_5/* .elapsedTimeExceeded */.zm)(sequence.maxElapsedMs));
14360
- return effect__rspack_import_3/* .raceFirst */.KT6(wait, effect__rspack_import_3/* .sleep */.yy4(effect__rspack_import_6/* .millis */.ne(remaining)).pipe(effect__rspack_import_3/* .flatMap */.qIB(()=>effect__rspack_import_3/* .fail */.fJG((0,_302_js__rspack_import_5/* .elapsedTimeExceeded */.zm)(sequence.maxElapsedMs)))));
14551
+ if (remaining <= 0) return effect__rspack_import_4/* .fail */.fJG((0,_302_js__rspack_import_6/* .elapsedTimeExceeded */.zm)(sequence.maxElapsedMs));
14552
+ return effect__rspack_import_4/* .raceFirst */.KT6(wait, effect__rspack_import_4/* .sleep */.yy4(effect__rspack_import_7/* .millis */.ne(remaining)).pipe(effect__rspack_import_4/* .flatMap */.qIB(()=>effect__rspack_import_4/* .fail */.fJG((0,_302_js__rspack_import_6/* .elapsedTimeExceeded */.zm)(sequence.maxElapsedMs)))));
14361
14553
  };
14362
14554
  const settledBoundaryInputs = (previous, next, winner, limits)=>{
14363
14555
  const stillPending = new Set(next.pending.map((boundary)=>boundary.id));
@@ -14390,9 +14582,9 @@ const settledBoundaryInputs = (previous, next, winner, limits)=>{
14390
14582
  for (const boundary of previous.pending)if (boundary.id !== winner.boundary.id) emitFor(boundary.id);
14391
14583
  return inputs;
14392
14584
  };
14393
- const reconcileLoopStream = (root, ids, initial, limits, flightDone, progressInputs, sequence)=>effect__rspack_import_7/* .paginate */.EnV(initial, (snapshot)=>{
14394
- if (0 === snapshot.pending.length) return waitOrDeadline(effect__rspack_import_8/* ["await"] */.Tx(flightDone), sequence).pipe(effect__rspack_import_3/* .andThen */.hgn(effect__rspack_import_9/* .clear */.IU(progressInputs)), effect__rspack_import_3/* .flatMap */.qIB((queued)=>effect__rspack_import_3/* ["try"] */.SvU({
14395
- catch: (error)=>(0,_315_js__rspack_import_4/* .toRuntimeError */.qN)(error),
14585
+ const reconcileLoopStream = (root, ids, initial, limits, flightDone, progressInputs, sequence)=>effect__rspack_import_8/* .paginate */.EnV(initial, (snapshot)=>{
14586
+ if (0 === snapshot.pending.length) return waitOrDeadline(effect__rspack_import_9/* ["await"] */.Tx(flightDone), sequence).pipe(effect__rspack_import_4/* .andThen */.hgn(effect__rspack_import_10/* .clear */.IU(progressInputs)), effect__rspack_import_4/* .flatMap */.qIB((queued)=>effect__rspack_import_4/* ["try"] */.SvU({
14587
+ catch: (error)=>(0,_315_js__rspack_import_5/* .toRuntimeError */.qN)(error),
14396
14588
  try: ()=>[
14397
14589
  [
14398
14590
  ...queued,
@@ -14401,32 +14593,32 @@ const reconcileLoopStream = (root, ids, initial, limits, flightDone, progressInp
14401
14593
  type: 'complete'
14402
14594
  }
14403
14595
  ],
14404
- effect__rspack_import_10.none()
14596
+ effect__rspack_import_11.none()
14405
14597
  ]
14406
14598
  })));
14407
- return effect__rspack_import_3/* .raceFirst */.KT6(waitOrDeadline(waitSettledBoundary(snapshot.pending), sequence).pipe(effect__rspack_import_3/* .map */.TjK((winner)=>({
14599
+ return effect__rspack_import_4/* .raceFirst */.KT6(waitOrDeadline(waitSettledBoundary(snapshot.pending), sequence).pipe(effect__rspack_import_4/* .map */.TjK((winner)=>({
14408
14600
  kind: 'boundary',
14409
14601
  winner
14410
- }))), effect__rspack_import_9/* .take */.s(progressInputs).pipe(effect__rspack_import_3/* .map */.TjK((input)=>({
14602
+ }))), effect__rspack_import_10/* .take */.s(progressInputs).pipe(effect__rspack_import_4/* .map */.TjK((input)=>({
14411
14603
  kind: 'progress',
14412
14604
  input
14413
- })))).pipe(effect__rspack_import_3/* .flatMap */.qIB((event)=>{
14605
+ })))).pipe(effect__rspack_import_4/* .flatMap */.qIB((event)=>{
14414
14606
  switch(event.kind){
14415
14607
  case 'progress':
14416
- return effect__rspack_import_3/* .succeed */.PyW([
14608
+ return effect__rspack_import_4/* .succeed */.PyW([
14417
14609
  [
14418
14610
  event.input
14419
14611
  ],
14420
- effect__rspack_import_10.some(snapshot)
14612
+ effect__rspack_import_11.some(snapshot)
14421
14613
  ]);
14422
14614
  case 'boundary':
14423
- return effect__rspack_import_3/* ["try"] */.SvU({
14424
- catch: (error)=>(0,_315_js__rspack_import_4/* .toRuntimeError */.qN)(error),
14615
+ return effect__rspack_import_4/* ["try"] */.SvU({
14616
+ catch: (error)=>(0,_315_js__rspack_import_5/* .toRuntimeError */.qN)(error),
14425
14617
  try: ()=>{
14426
14618
  const next = snapshotTree(root, ids);
14427
14619
  return [
14428
14620
  settledBoundaryInputs(snapshot, next, event.winner, limits),
14429
- effect__rspack_import_10.some(next)
14621
+ effect__rspack_import_11.some(next)
14430
14622
  ];
14431
14623
  }
14432
14624
  });
@@ -14438,38 +14630,38 @@ const reconcileLoopStream = (root, ids, initial, limits, flightDone, progressInp
14438
14630
  }
14439
14631
  }));
14440
14632
  });
14441
- const gatedFlightStream = (flight, demand, flightDone)=>effect__rspack_import_7/* .unwrap */.oAg(effect__rspack_import_3/* .gen */.JkU(function*() {
14442
- const reader = yield* effect__rspack_import_3/* .acquireRelease */.Q56(effect__rspack_import_3/* .sync */.OH5(()=>flight.getReader()), (handle, exit)=>effect__rspack_import_3/* .gen */.JkU(function*() {
14443
- const cancelExit = yield* effect__rspack_import_3/* .exit */.NS5(effect__rspack_import_3/* .tryPromise */.$mh({
14444
- catch: (error)=>(0,_315_js__rspack_import_4/* .toRuntimeError */.qN)(error),
14633
+ const gatedFlightStream = (flight, demand, flightDone)=>effect__rspack_import_8/* .unwrap */.oAg(effect__rspack_import_4/* .gen */.JkU(function*() {
14634
+ const reader = yield* effect__rspack_import_4/* .acquireRelease */.Q56(effect__rspack_import_4/* .sync */.OH5(()=>flight.getReader()), (handle, exit)=>effect__rspack_import_4/* .gen */.JkU(function*() {
14635
+ const cancelExit = yield* effect__rspack_import_4/* .exit */.NS5(effect__rspack_import_4/* .tryPromise */.$mh({
14636
+ catch: (error)=>(0,_315_js__rspack_import_5/* .toRuntimeError */.qN)(error),
14445
14637
  try: ()=>handle.cancel()
14446
14638
  }));
14447
- if (effect__rspack_import_11/* .isFailure */.N6(exit)) return void (yield* effect__rspack_import_8/* .fail */.fJ(flightDone, (0,_315_js__rspack_import_4/* .mapCause */.K0)(exit.cause)));
14448
- if (effect__rspack_import_11/* .isFailure */.N6(cancelExit)) {
14449
- const error = (0,_315_js__rspack_import_4/* .mapCause */.K0)(cancelExit.cause);
14450
- yield* effect__rspack_import_8/* .fail */.fJ(flightDone, error);
14451
- return yield* effect__rspack_import_3/* .die */.F_Q(error);
14639
+ if (effect__rspack_import_12/* .isFailure */.N6(exit)) return void (yield* effect__rspack_import_9/* .fail */.fJ(flightDone, (0,_315_js__rspack_import_5/* .mapCause */.K0)(exit.cause)));
14640
+ if (effect__rspack_import_12/* .isFailure */.N6(cancelExit)) {
14641
+ const error = (0,_315_js__rspack_import_5/* .mapCause */.K0)(cancelExit.cause);
14642
+ yield* effect__rspack_import_9/* .fail */.fJ(flightDone, error);
14643
+ return yield* effect__rspack_import_4/* .die */.F_Q(error);
14452
14644
  }
14453
- yield* effect__rspack_import_8/* .succeed */.Py(flightDone, void 0);
14645
+ yield* effect__rspack_import_9/* .succeed */.Py(flightDone, void 0);
14454
14646
  }));
14455
- return effect__rspack_import_7/* .unfold */.t8s(void 0, ()=>demand.wait.pipe(effect__rspack_import_3/* .flatMap */.qIB(()=>effect__rspack_import_3/* .tryPromise */.$mh({
14456
- catch: (error)=>(0,_315_js__rspack_import_4/* .toRuntimeError */.qN)(error),
14647
+ return effect__rspack_import_8/* .unfold */.t8s(void 0, ()=>demand.wait.pipe(effect__rspack_import_4/* .flatMap */.qIB(()=>effect__rspack_import_4/* .tryPromise */.$mh({
14648
+ catch: (error)=>(0,_315_js__rspack_import_5/* .toRuntimeError */.qN)(error),
14457
14649
  try: ()=>reader.read()
14458
- })), effect__rspack_import_3/* .map */.TjK((next)=>next.done ? void 0 : [
14650
+ })), effect__rspack_import_4/* .map */.TjK((next)=>next.done ? void 0 : [
14459
14651
  next.value,
14460
14652
  void 0
14461
14653
  ])));
14462
14654
  }));
14463
- const decodeFlightRoot = (flight, demand, signal, flightDone)=>effect__rspack_import_3/* .gen */.JkU(function*() {
14464
- (0,_707_js__rspack_import_12/* .ensureAgentFlightManifest */.n)();
14465
- const flightAbort = yield* _315_js__rspack_import_4/* .scopedAbortSignal */.lQ;
14466
- const readable = (0,_315_js__rspack_import_4/* .streamToReadableStream */._I)(gatedFlightStream(flight, demand, flightDone), {
14655
+ const decodeFlightRoot = (flight, demand, signal, flightDone)=>effect__rspack_import_4/* .gen */.JkU(function*() {
14656
+ (0,_707_js__rspack_import_13/* .ensureAgentFlightManifest */.n)();
14657
+ const flightAbort = yield* _315_js__rspack_import_5/* .scopedAbortSignal */.lQ;
14658
+ const readable = (0,_315_js__rspack_import_5/* .streamToReadableStream */._I)(gatedFlightStream(flight, demand, flightDone), {
14467
14659
  signal: flightAbort,
14468
14660
  strategy: {
14469
14661
  highWaterMark: 1
14470
14662
  }
14471
14663
  });
14472
- return yield* effect__rspack_import_3/* .tryPromise */.$mh({
14664
+ return yield* effect__rspack_import_4/* .tryPromise */.$mh({
14473
14665
  catch: (error)=>hostError(signal, error),
14474
14666
  try: ()=>(0,react_server_dom_rspack_client_node__rspack_import_1.createFromReadableStream)(readable, {
14475
14667
  unstable_allowPartialStream: true
@@ -14486,11 +14678,11 @@ const progressInput = (update)=>({
14486
14678
  },
14487
14679
  type: 'progress'
14488
14680
  });
14489
- const handoffRequired = ()=>new _302_js__rspack_import_5/* .AgentContractError */.I2('handoff-required', 'The render is complete; later work requires a new invocation handoff');
14681
+ const handoffRequired = ()=>new _302_js__rspack_import_6/* .AgentContractError */.I2('handoff-required', 'The render is complete; later work requires a new invocation handoff');
14490
14682
  const createAgentRenderEventSession = (options)=>{
14491
14683
  const clock = options.clock;
14492
- const sequence = (0,_302_js__rspack_import_5/* .createAgentRenderEventSequence */.n4)(options.limits, void 0 === clock ? void 0 : ()=>clock.currentTimeMillisUnsafe());
14493
- const maxBufferedProgress = (0,_302_js__rspack_import_5/* .resolveAgentRenderLimits */.i0)(options.limits).maxEvents;
14684
+ const sequence = (0,_302_js__rspack_import_6/* .createAgentRenderEventSequence */.n4)(options.limits, void 0 === clock ? void 0 : ()=>clock.currentTimeMillisUnsafe());
14685
+ const maxBufferedProgress = (0,_302_js__rspack_import_6/* .resolveAgentRenderLimits */.i0)(options.limits).maxEvents;
14494
14686
  let offerProgress;
14495
14687
  let progressFailure;
14496
14688
  const bufferedProgress = [];
@@ -14500,36 +14692,36 @@ const createAgentRenderEventSession = (options)=>{
14500
14692
  if (sequence.completed) throw handoffRequired();
14501
14693
  const input = progressInput(update);
14502
14694
  if (void 0 === offerProgress) {
14503
- if (bufferedProgress.length >= maxBufferedProgress) throw new _302_js__rspack_import_5/* .AgentContractError */.I2('event-count-exceeded', `Agent render event count exceeds ${String(maxBufferedProgress)}`);
14695
+ if (bufferedProgress.length >= maxBufferedProgress) throw new _302_js__rspack_import_6/* .AgentContractError */.I2('event-count-exceeded', `Agent render event count exceeds ${String(maxBufferedProgress)}`);
14504
14696
  bufferedProgress.push(input);
14505
14697
  return;
14506
14698
  }
14507
- await (0,_315_js__rspack_import_4/* .runPromise */.pR)(offerProgress(input));
14699
+ await (0,_315_js__rspack_import_5/* .runPromise */.pR)(offerProgress(input));
14508
14700
  }
14509
14701
  });
14510
- const events = effect__rspack_import_7/* .unwrap */.oAg(effect__rspack_import_3/* .gen */.JkU(function*() {
14511
- const progressInputs = yield* effect__rspack_import_9/* .bounded */.Mm(0);
14512
- const flightDone = yield* effect__rspack_import_8/* .make */.L8();
14702
+ const events = effect__rspack_import_8/* .unwrap */.oAg(effect__rspack_import_4/* .gen */.JkU(function*() {
14703
+ const progressInputs = yield* effect__rspack_import_10/* .bounded */.Mm(0);
14704
+ const flightDone = yield* effect__rspack_import_9/* .make */.L8();
14513
14705
  const bindProgress = ()=>{
14514
- offerProgress = (input)=>effect__rspack_import_9/* .offer */.x(progressInputs, input).pipe(effect__rspack_import_3/* .flatMap */.qIB((accepted)=>{
14515
- if (void 0 !== progressFailure) return effect__rspack_import_3/* .fail */.fJG(progressFailure);
14516
- if (!accepted) return effect__rspack_import_3/* .fail */.fJG(handoffRequired());
14517
- return effect__rspack_import_3/* ["void"] */.rIH;
14706
+ offerProgress = (input)=>effect__rspack_import_10/* .offer */.x(progressInputs, input).pipe(effect__rspack_import_4/* .flatMap */.qIB((accepted)=>{
14707
+ if (void 0 !== progressFailure) return effect__rspack_import_4/* .fail */.fJG(progressFailure);
14708
+ if (!accepted) return effect__rspack_import_4/* .fail */.fJG(handoffRequired());
14709
+ return effect__rspack_import_4/* ["void"] */.rIH;
14518
14710
  }));
14519
14711
  };
14520
- const finalizeProgress = (error)=>effect__rspack_import_3/* .sync */.OH5(()=>{
14712
+ const finalizeProgress = (error)=>effect__rspack_import_4/* .sync */.OH5(()=>{
14521
14713
  progressFailure = error;
14522
- }).pipe(effect__rspack_import_3/* .andThen */.hgn(effect__rspack_import_9/* .shutdown */.n_(progressInputs)));
14523
- const setup = effect__rspack_import_3/* .gen */.JkU(function*() {
14524
- const flight = yield* effect__rspack_import_3/* .tryPromise */.$mh({
14714
+ }).pipe(effect__rspack_import_4/* .andThen */.hgn(effect__rspack_import_10/* .shutdown */.n_(progressInputs)));
14715
+ const setup = effect__rspack_import_4/* .gen */.JkU(function*() {
14716
+ const flight = yield* effect__rspack_import_4/* .tryPromise */.$mh({
14525
14717
  catch: (error)=>hostError(options.signal, error),
14526
14718
  try: ()=>options.flight
14527
14719
  });
14528
- if (options.signal.aborted) return yield* effect__rspack_import_3/* .fail */.fJG(abortError());
14720
+ if (options.signal.aborted) return yield* effect__rspack_import_4/* .fail */.fJG(abortError());
14529
14721
  const root = yield* decodeFlightRoot(flight, options.demand, options.signal, flightDone);
14530
- if (options.signal.aborted) return yield* effect__rspack_import_3/* .fail */.fJG(abortError());
14531
- const prepared = yield* effect__rspack_import_3/* ["try"] */.SvU({
14532
- catch: (error)=>(0,_315_js__rspack_import_4/* .toRuntimeError */.qN)(error),
14722
+ if (options.signal.aborted) return yield* effect__rspack_import_4/* .fail */.fJG(abortError());
14723
+ const prepared = yield* effect__rspack_import_4/* ["try"] */.SvU({
14724
+ catch: (error)=>(0,_315_js__rspack_import_5/* .toRuntimeError */.qN)(error),
14533
14725
  try: ()=>{
14534
14726
  const ids = new Map();
14535
14727
  const initial = snapshotTree(root, ids);
@@ -14544,23 +14736,23 @@ const createAgentRenderEventSession = (options)=>{
14544
14736
  }
14545
14737
  });
14546
14738
  bindProgress();
14547
- return effect__rspack_import_7/* .concat */.xWs(effect__rspack_import_7/* .fromArray */.ciY([
14739
+ return effect__rspack_import_8/* .concat */.xWs(effect__rspack_import_8/* .fromArray */.ciY([
14548
14740
  prepared.shellInput,
14549
14741
  ...bufferedProgress
14550
- ]), reconcileLoopStream(root, prepared.ids, prepared.initial, options.limits, flightDone, progressInputs, sequence)).pipe(effect__rspack_import_7/* .mapEffect */.WK$((input)=>emitBoundRenderEvent(sequence, input)), effect__rspack_import_7/* .tap */.Mim((event)=>'shell' === event.type ? options.demand.markShell : effect__rspack_import_3/* ["void"] */.rIH), effect__rspack_import_7/* .takeUntil */.QKh((event)=>'complete' === event.type), effect__rspack_import_7/* .onExit */.cfM((exit)=>{
14551
- if (effect__rspack_import_11/* .isSuccess */.oJ(exit)) return finalizeProgress(handoffRequired());
14552
- const error = (0,_315_js__rspack_import_4/* .mapCause */.K0)(exit.cause);
14553
- return finalizeProgress(sequence.completed && (0,_315_js__rspack_import_4/* .isAbortError */.zf)(error) ? handoffRequired() : error);
14742
+ ]), reconcileLoopStream(root, prepared.ids, prepared.initial, options.limits, flightDone, progressInputs, sequence)).pipe(effect__rspack_import_8/* .mapEffect */.WK$((input)=>emitBoundRenderEvent(sequence, input)), effect__rspack_import_8/* .tap */.Mim((event)=>'shell' === event.type ? options.demand.markShell : effect__rspack_import_4/* ["void"] */.rIH), effect__rspack_import_8/* .takeUntil */.QKh((event)=>'complete' === event.type), effect__rspack_import_8/* .onExit */.cfM((exit)=>{
14743
+ if (effect__rspack_import_12/* .isSuccess */.oJ(exit)) return finalizeProgress(handoffRequired());
14744
+ const error = (0,_315_js__rspack_import_5/* .mapCause */.K0)(exit.cause);
14745
+ return finalizeProgress(sequence.completed && (0,_315_js__rspack_import_5/* .isAbortError */.zf)(error) ? handoffRequired() : error);
14554
14746
  }));
14555
14747
  });
14556
- return yield* setup.pipe(effect__rspack_import_3/* .onExit */.cfM((exit)=>effect__rspack_import_11/* .isFailure */.N6(exit) ? finalizeProgress((0,_315_js__rspack_import_4/* .mapCause */.K0)(exit.cause)) : effect__rspack_import_3/* ["void"] */.rIH));
14748
+ return yield* setup.pipe(effect__rspack_import_4/* .onExit */.cfM((exit)=>effect__rspack_import_12/* .isFailure */.N6(exit) ? finalizeProgress((0,_315_js__rspack_import_5/* .mapCause */.K0)(exit.cause)) : effect__rspack_import_4/* ["void"] */.rIH));
14557
14749
  }));
14558
14750
  return {
14559
- events: void 0 === clock ? events : effect__rspack_import_7/* .provideService */.PfK(events, effect__rspack_import_13/* .Clock */.zD, clock),
14751
+ events: void 0 === clock ? events : effect__rspack_import_8/* .provideService */.PfK(events, effect__rspack_import_14/* .Clock */.zD, clock),
14560
14752
  progress
14561
14753
  };
14562
14754
  };
14563
- const toPublicEventStream = (events, demand, signal)=>(0,_315_js__rspack_import_4/* .streamToReadableStream */._I)(effect__rspack_import_7/* .interruptWhen */.S67(events, (0,_315_js__rspack_import_4/* .abortToInterrupt */.p7)(signal)), {
14755
+ const toPublicEventStream = (events, demand, signal)=>(0,_315_js__rspack_import_5/* .streamToReadableStream */._I)(effect__rspack_import_8/* .interruptWhen */.S67(events, (0,_315_js__rspack_import_5/* .abortToInterrupt */.p7)(signal)), {
14564
14756
  closeOn: (event)=>'complete' === event.type,
14565
14757
  onPull: demand.notePull,
14566
14758
  onPullDelivered: demand.notePullEnd,
@@ -14578,7 +14770,7 @@ const decodeAgentFlightStream = (flight, options = {})=>{
14578
14770
  signal
14579
14771
  }).events, demand, signal);
14580
14772
  };
14581
- const dispatcher_abortError = _302_js__rspack_import_5/* .agentRenderAbortError */.k2;
14773
+ const dispatcher_abortError = _302_js__rspack_import_6/* .agentRenderAbortError */.k2;
14582
14774
  const abortedStream = ()=>new ReadableStream({
14583
14775
  start (controller) {
14584
14776
  controller.error(dispatcher_abortError());
@@ -14613,7 +14805,7 @@ const drainCompleteDocument = async (events, signal)=>{
14613
14805
  }
14614
14806
  if (void 0 !== complete) return complete;
14615
14807
  if (signal.aborted) throw dispatcher_abortError();
14616
- throw new _302_js__rspack_import_5/* .AgentContractError */.I2('invalid-document', 'Flight stream ended without a complete document');
14808
+ throw new _302_js__rspack_import_6/* .AgentContractError */.I2('invalid-document', 'Flight stream ended without a complete document');
14617
14809
  };
14618
14810
  const createAgentRenderDispatcher = (host, options = {})=>{
14619
14811
  const stream = (request)=>{
@@ -14624,7 +14816,7 @@ const createAgentRenderDispatcher = (host, options = {})=>{
14624
14816
  demand,
14625
14817
  get flight () {
14626
14818
  const current = pendingFlight.current;
14627
- if (void 0 === current) return Promise.reject(new _302_js__rspack_import_5/* .AgentContractError */.I2('invalid-document', 'Flight worker is not running'));
14819
+ if (void 0 === current) return Promise.reject(new _302_js__rspack_import_6/* .AgentContractError */.I2('invalid-document', 'Flight worker is not running'));
14628
14820
  return current;
14629
14821
  },
14630
14822
  limits: {
@@ -14755,21 +14947,21 @@ const appendNode = (node, content, capabilities, fallback)=>{
14755
14947
  default:
14756
14948
  {
14757
14949
  const exhaustive = node;
14758
- throw new _302_js__rspack_import_5/* .AgentContractError */.I2('invalid-document', `Unsupported Agent Document node: ${String(exhaustive.kind)}`);
14950
+ throw new _302_js__rspack_import_6/* .AgentContractError */.I2('invalid-document', `Unsupported Agent Document node: ${String(exhaustive.kind)}`);
14759
14951
  }
14760
14952
  }
14761
14953
  };
14762
14954
  const project_mcp_isJsonObject = (value)=>null !== value && 'object' == typeof value && !Array.isArray(value);
14763
14955
  const objectStructuredContent = (value)=>{
14764
14956
  if (void 0 === value) return;
14765
- const snapshot = (0,_302_js__rspack_import_5/* .snapshotJsonValue */.mY)(value, 'MCP structured content must be JSON-serializable');
14957
+ const snapshot = (0,_302_js__rspack_import_6/* .snapshotJsonValue */.mY)(value, 'MCP structured content must be JSON-serializable');
14766
14958
  return project_mcp_isJsonObject(snapshot) ? snapshot : void 0;
14767
14959
  };
14768
14960
  const resultMetadata = (document)=>{
14769
14961
  if ('result' !== document.root.kind) return;
14770
14962
  const metadata = document.root.metadata;
14771
14963
  if (void 0 === metadata) return;
14772
- const snapshot = (0,_302_js__rspack_import_5/* .snapshotJsonValue */.mY)(metadata, 'MCP result _meta must be JSON-serializable');
14964
+ const snapshot = (0,_302_js__rspack_import_6/* .snapshotJsonValue */.mY)(metadata, 'MCP result _meta must be JSON-serializable');
14773
14965
  if (!project_mcp_isJsonObject(snapshot)) throw new McpProjectionError('invalid-result-metadata', 'MCP result _meta must be a JSON object; Agent.Result metadata projects to CallToolResult._meta');
14774
14966
  return snapshot;
14775
14967
  };
@@ -14799,8 +14991,8 @@ const attachMcpStructuredContent = (result, value)=>{
14799
14991
  structuredContent: structured
14800
14992
  };
14801
14993
  };
14802
- const notifyProgress = (source, token, sendProgress)=>effect__rspack_import_3/* .tryPromise */.$mh({
14803
- catch: (error)=>(0,_315_js__rspack_import_4/* .toRuntimeError */.qN)(error),
14994
+ const notifyProgress = (source, token, sendProgress)=>effect__rspack_import_4/* .tryPromise */.$mh({
14995
+ catch: (error)=>(0,_315_js__rspack_import_5/* .toRuntimeError */.qN)(error),
14804
14996
  try: ()=>sendProgress({
14805
14997
  progress: source.completed,
14806
14998
  progressToken: token,
@@ -14841,18 +15033,18 @@ const documentProgressNodes = (document)=>{
14841
15033
  appendProgressNodes(document.root, nodes);
14842
15034
  return nodes;
14843
15035
  };
14844
- const projectMcpEventStream = effect__rspack_import_3/* .fnUntraced */.D9k(function*(events, options = {}) {
15036
+ const projectMcpEventStream = effect__rspack_import_4/* .fnUntraced */.D9k(function*(events, options = {}) {
14845
15037
  let lastProgress = -1 / 0;
14846
15038
  let complete;
14847
15039
  const token = options.progressToken;
14848
15040
  const sendProgress = options.sendProgress;
14849
15041
  const notify = (source)=>{
14850
- if (void 0 === token || void 0 === sendProgress) return effect__rspack_import_3/* ["void"] */.rIH;
14851
- if (!(source.completed > lastProgress)) return effect__rspack_import_3/* ["void"] */.rIH;
15042
+ if (void 0 === token || void 0 === sendProgress) return effect__rspack_import_4/* ["void"] */.rIH;
15043
+ if (!(source.completed > lastProgress)) return effect__rspack_import_4/* ["void"] */.rIH;
14852
15044
  lastProgress = source.completed;
14853
15045
  return notifyProgress(source, token, sendProgress);
14854
15046
  };
14855
- yield* effect__rspack_import_7/* .runForEach */.o1d(events, (event)=>effect__rspack_import_3/* .gen */.JkU(function*() {
15047
+ yield* effect__rspack_import_8/* .runForEach */.o1d(events, (event)=>effect__rspack_import_4/* .gen */.JkU(function*() {
14856
15048
  switch(event.type){
14857
15049
  case 'progress':
14858
15050
  yield* notify(event);
@@ -14873,18 +15065,18 @@ const projectMcpEventStream = effect__rspack_import_3/* .fnUntraced */.D9k(funct
14873
15065
  }
14874
15066
  }
14875
15067
  }));
14876
- if (void 0 === complete) return yield* effect__rspack_import_3/* .fail */.fJG(new _302_js__rspack_import_5/* .AgentContractError */.I2('invalid-document', 'MCP projector requires a complete document; the stream ended without one'));
15068
+ if (void 0 === complete) return yield* effect__rspack_import_4/* .fail */.fJG(new _302_js__rspack_import_6/* .AgentContractError */.I2('invalid-document', 'MCP projector requires a complete document; the stream ended without one'));
14877
15069
  return Object.freeze({
14878
15070
  document: complete,
14879
15071
  result: documentToCallToolResult(complete, options)
14880
15072
  });
14881
15073
  });
14882
15074
  const projectMcpRenderStream = async (events, options = {})=>{
14883
- const program = projectMcpEventStream(effect__rspack_import_7/* .fromReadableStream */.fph({
15075
+ const program = projectMcpEventStream(effect__rspack_import_8/* .fromReadableStream */.fph({
14884
15076
  evaluate: ()=>events,
14885
- onError: (error)=>(0,_315_js__rspack_import_4/* .toRuntimeError */.qN)(error)
15077
+ onError: (error)=>(0,_315_js__rspack_import_5/* .toRuntimeError */.qN)(error)
14886
15078
  }), options);
14887
- return (0,_315_js__rspack_import_4/* .runPromise */.pR)(void 0 === options.signal ? program : (0,_315_js__rspack_import_4/* .interruptWhenAborted */.Vd)(program, options.signal), void 0 === options.signal ? void 0 : {
15079
+ return (0,_315_js__rspack_import_5/* .runPromise */.pR)(void 0 === options.signal ? program : (0,_315_js__rspack_import_5/* .interruptWhenAborted */.Vd)(program, options.signal), void 0 === options.signal ? void 0 : {
14888
15080
  signal: options.signal
14889
15081
  });
14890
15082
  };
@@ -14956,6 +15148,53 @@ const MarkdownContent = async ({ children, components })=>{
14956
15148
  });
14957
15149
  return createElement(Agent.Markdown, null, markdown.replace(/\n+$/u, ''));
14958
15150
  };
15151
+ const hookComponents = new Set(Object.values(_506_js__rspack_import_15/* .Hook */.qn));
15152
+ const isHookComponent = (value)=>hookComponents.has(value);
15153
+ const resolveHookElement = (node)=>{
15154
+ let element = node;
15155
+ while(isValidElement(element) && isHookComponent(element.type))element = element.type(element.props);
15156
+ return element;
15157
+ };
15158
+ const isAgentElement = (node, name)=>{
15159
+ const resolved = resolveHookElement(node);
15160
+ return isValidElement(resolved) && resolved.type === name;
15161
+ };
15162
+ const flattenText = (node)=>{
15163
+ if ('string' == typeof node || 'number' == typeof node) return String(node);
15164
+ if (Array.isArray(node)) return node.map(flattenText).join('');
15165
+ if (isAgentElement(node, 'agent-hook-result')) throw new Error('Hook result contains duplicate roots');
15166
+ throw new Error('Hook additional context may contain only string or number children');
15167
+ };
15168
+ const lowerHookResult = (node)=>{
15169
+ const roots = Children.toArray(node).map(resolveHookElement);
15170
+ if (1 !== roots.length || !isAgentElement(roots[0], 'agent-hook-result')) throw new Error('Expected exactly one agent-hook-result root');
15171
+ const result = roots[0];
15172
+ const contexts = Children.toArray(result.props.children).map(resolveHookElement).map((child)=>{
15173
+ if (isAgentElement(child, 'agent-hook-result')) throw new Error('Hook result contains duplicate roots');
15174
+ if (!isAgentElement(child, 'agent-hook-additional-context')) throw new Error('Hook result may contain only agent-hook-additional-context elements');
15175
+ return flattenText(child.props.children);
15176
+ });
15177
+ if (0 === contexts.length) throw new Error('Hook result requires additional context');
15178
+ return {
15179
+ hookSpecificOutput: {
15180
+ additionalContext: contexts.join(''),
15181
+ hookEventName: 'PostToolUse'
15182
+ }
15183
+ };
15184
+ };
15185
+ const createRscRequestContext = (label)=>{
15186
+ const storage = new AsyncLocalStorage();
15187
+ return Object.freeze({
15188
+ run (value, operation) {
15189
+ return storage.run(value, operation);
15190
+ },
15191
+ use () {
15192
+ const value = storage.getStore();
15193
+ if (void 0 === value) throw new Error(`${label} used outside a render request`);
15194
+ return value;
15195
+ }
15196
+ });
15197
+ };
14959
15198
  var src_AGENT_DOCUMENT_VERSION = 1;
14960
15199
  var src_AGENT_REQUEST_STORE_VERSION = 6;
14961
15200
  var src_PLUGIN_STATE_DIRECTORY = "state";
@@ -39707,9 +39946,12 @@ const mcp_server_runtime_settled = async (operation, afterRender)=>{
39707
39946
  }
39708
39947
  };
39709
39948
  const registerGeneratedRoutes = (server, routes, dispatcher, artifactEpoch, options = {})=>{
39949
+ const clientTools = [];
39710
39950
  for (const route of Object.values(routes))switch(route.kind){
39711
39951
  case 'tool':
39712
39952
  {
39953
+ const excluded = route.config['excludeClients'];
39954
+ if (void 0 !== excluded && (!Array.isArray(excluded) || excluded.some((prefix)=>'string' != typeof prefix || '' === prefix.trim() || prefix.length > 128))) throw new TypeError(`Tool ${JSON.stringify(route.name)} excludeClients must contain non-empty client-name prefixes up to 128 characters.`);
39713
39955
  const outputSchema = advertisedOutputSchema(route.module.resultSchema);
39714
39956
  const registered = server.registerTool(route.name, {
39715
39957
  ...selectedConfig(route.config, [
@@ -39736,6 +39978,10 @@ const registerGeneratedRoutes = (server, routes, dispatcher, artifactEpoch, opti
39736
39978
  return (0,_agent_bundle_runtime__rspack_import_11/* .attachMcpStructuredContent */.IB)(rendered.toolResult, rendered.result);
39737
39979
  }, options.afterRender));
39738
39980
  options.tasks?.declareTool(registered, route.name, routeTaskSupport(route.config));
39981
+ if (Array.isArray(excluded) && excluded.length > 0) clientTools.push({
39982
+ prefixes: excluded.map((prefix)=>String(prefix).toLowerCase()),
39983
+ disable: ()=>registered.disable()
39984
+ });
39739
39985
  break;
39740
39986
  }
39741
39987
  case 'resource':
@@ -39786,6 +40032,16 @@ const registerGeneratedRoutes = (server, routes, dispatcher, artifactEpoch, opti
39786
40032
  throw new TypeError(`Unsupported generated MCP route kind ${String(unreachable)}.`);
39787
40033
  }
39788
40034
  }
40035
+ if (clientTools.length > 0) {
40036
+ const initialized = server.server.oninitialized;
40037
+ server.server.oninitialized = ()=>{
40038
+ const name = server.server.getClientVersion()?.name.toLowerCase();
40039
+ if (void 0 !== name) {
40040
+ for (const tool of clientTools)if (tool.prefixes.some((prefix)=>name.startsWith(prefix))) tool.disable();
40041
+ }
40042
+ initialized?.();
40043
+ };
40044
+ }
39789
40045
  };
39790
40046
  const registerGeneratedMcpApps = (server, apps)=>{
39791
40047
  for (const app of apps)server.registerResource(app.name, app.resourceUri, {
@@ -107179,7 +107435,7 @@ const route9 = Object.assign({}, Reflect.get(_home_runner_work_grok_bot_cli_grok
107179
107435
  const route10 = Object.assign({}, Reflect.get(_home_runner_work_grok_bot_cli_grok_bot_cli_src_mcp_grok_bot_tools_gbot_send_tsx__rspack_import_13, 'default'), _home_runner_work_grok_bot_cli_grok_bot_cli_src_mcp_grok_bot_tools_gbot_send_tsx__rspack_import_13);
107180
107436
 
107181
107437
  const route11 = Object.assign({}, Reflect.get(_home_runner_work_grok_bot_cli_grok_bot_cli_src_mcp_grok_bot_tools_gbot_thread_tsx__rspack_import_14, 'default'), _home_runner_work_grok_bot_cli_grok_bot_cli_src_mcp_grok_bot_tools_gbot_thread_tsx__rspack_import_14);
107182
- const ARTIFACT_EPOCH = "gbot@0.7.0";
107438
+ const ARTIFACT_EPOCH = "gbot@0.8.0";
107183
107439
  const pluginRoot = (0,_agent_bundle_runtime__rspack_import_15/* .resolvePluginRoot */.E7)({
107184
107440
  fallback: (0,node_url__rspack_import_0.fileURLToPath)(new URL('..', import.meta.url)),
107185
107441
  stateAnchor: 'user-data'
@@ -107195,6 +107451,9 @@ const routes = Object.freeze({
107195
107451
  "readOnlyHint": false
107196
107452
  },
107197
107453
  "description": "Send to Codex. With replyToGrok or bindingId, managed delivery returns the terminal answer to Grok automatically. Otherwise optional wait observes completion and explicit steer requires expectedTurnId. Acceptance is not completion.",
107454
+ "excludeClients": [
107455
+ "codex"
107456
+ ],
107198
107457
  "inputJsonSchema": {
107199
107458
  "additionalProperties": false,
107200
107459
  "properties": {
@@ -107272,6 +107531,9 @@ const routes = Object.freeze({
107272
107531
  "readOnlyHint": true
107273
107532
  },
107274
107533
  "description": "Discover a bounded page of Codex daemon threads.",
107534
+ "excludeClients": [
107535
+ "codex"
107536
+ ],
107275
107537
  "inputJsonSchema": {
107276
107538
  "additionalProperties": false,
107277
107539
  "properties": {
@@ -107302,6 +107564,9 @@ const routes = Object.freeze({
107302
107564
  "readOnlyHint": true
107303
107565
  },
107304
107566
  "description": "Explicit diagnostic observation of one Codex turn; returns execution and final reply without interrupting it.",
107567
+ "excludeClients": [
107568
+ "codex"
107569
+ ],
107305
107570
  "inputJsonSchema": {
107306
107571
  "additionalProperties": false,
107307
107572
  "properties": {
@@ -107348,6 +107613,9 @@ const routes = Object.freeze({
107348
107613
  "readOnlyHint": true
107349
107614
  },
107350
107615
  "description": "Watch bounded Codex thread events for diagnostics without answering approvals.",
107616
+ "excludeClients": [
107617
+ "codex"
107618
+ ],
107351
107619
  "inputJsonSchema": {
107352
107620
  "additionalProperties": false,
107353
107621
  "properties": {
@@ -107481,6 +107749,9 @@ const routes = Object.freeze({
107481
107749
  "readOnlyHint": false
107482
107750
  },
107483
107751
  "description": "Explicit operator response to a current scoped Codex interaction. Supports only one-time accept/decline/cancel or exact question-ID answers. Never auto-approve.",
107752
+ "excludeClients": [
107753
+ "codex"
107754
+ ],
107484
107755
  "inputJsonSchema": {
107485
107756
  "additionalProperties": false,
107486
107757
  "properties": {
@@ -107536,6 +107807,11 @@ const routes = Object.freeze({
107536
107807
  "readOnlyHint": true
107537
107808
  },
107538
107809
  "description": "List pending auto-review and local-tool approval cards in the latest 200 entries for a Grok bot. Older or unsupported requests require the owning Grok UI.",
107810
+ "excludeClients": [
107811
+ "grok bot",
107812
+ "grokbot",
107813
+ "grok-bot"
107814
+ ],
107539
107815
  "inputJsonSchema": {
107540
107816
  "additionalProperties": false,
107541
107817
  "properties": {
@@ -107561,6 +107837,11 @@ const routes = Object.freeze({
107561
107837
  "readOnlyHint": false
107562
107838
  },
107563
107839
  "description": "Only after an explicit user decision: accept one current Grok approval once or decline it. Exact target, entryId and approval requestId required. Never auto-approve or grant persistent permissions. Success acknowledges response delivery, not execution.",
107840
+ "excludeClients": [
107841
+ "grok bot",
107842
+ "grokbot",
107843
+ "grok-bot"
107844
+ ],
107564
107845
  "inputJsonSchema": {
107565
107846
  "additionalProperties": false,
107566
107847
  "properties": {
@@ -107602,6 +107883,11 @@ const routes = Object.freeze({
107602
107883
  "readOnlyHint": false
107603
107884
  },
107604
107885
  "description": "Send to Grok Bot. Native Codex calls automatically receive replies in their originating thread; send once and continue work. Without a native source, supply codexThreadId or use manual gbot_thread reading.",
107886
+ "excludeClients": [
107887
+ "grok bot",
107888
+ "grokbot",
107889
+ "grok-bot"
107890
+ ],
107605
107891
  "inputJsonSchema": {
107606
107892
  "additionalProperties": false,
107607
107893
  "properties": {
@@ -107657,6 +107943,11 @@ const routes = Object.freeze({
107657
107943
  "readOnlyHint": true
107658
107944
  },
107659
107945
  "description": "Read a bounded Grok Bot thread tail. Returns a small receipt by default; pass the last cursor as after for an exclusive client-side delta, or full:true to include bounded entry text.",
107946
+ "excludeClients": [
107947
+ "grok bot",
107948
+ "grokbot",
107949
+ "grok-bot"
107950
+ ],
107660
107951
  "inputJsonSchema": {
107661
107952
  "additionalProperties": false,
107662
107953
  "properties": {
@@ -107702,7 +107993,7 @@ const routes = Object.freeze({
107702
107993
  lineage: lineage.registry,
107703
107994
  plugin: {
107704
107995
  "name": "gbot",
107705
- "version": "0.7.0"
107996
+ "version": "0.8.0"
107706
107997
  },
107707
107998
  pluginRoot: pluginRoot.identity,
107708
107999
  routes
@@ -111908,7 +112199,7 @@ __webpack_require__.d(__webpack_exports__, {
111908
112199
 
111909
112200
  },
111910
112201
  "./package.json"(module) {
111911
- module.exports = {"rE":"0.7.0"}
112202
+ module.exports = {"rE":"0.8.0"}
111912
112203
 
111913
112204
  },
111914
112205