@tonyclaw/agent-inspector 3.0.18 → 3.0.19

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (97) hide show
  1. package/.output/cli.js +1255 -504
  2. package/.output/nitro.json +3 -3
  3. package/.output/public/assets/CompareDrawer-DR3WgrId.js +1 -0
  4. package/.output/public/assets/ProxyViewerContainer-B7PZaz5j.js +127 -0
  5. package/.output/public/assets/ReplayDialog-Bt9jgdvJ.js +1 -0
  6. package/.output/public/assets/RequestAnatomy-C-4630lw.js +1 -0
  7. package/.output/public/assets/ResponseView-f_JrN1iQ.js +3 -0
  8. package/.output/public/assets/StreamingChunkSequence-D8dBm1d8.js +1 -0
  9. package/.output/public/assets/_sessionId-CtoSDXDC.js +1 -0
  10. package/.output/public/assets/index-B-rVc2xu.js +12 -0
  11. package/.output/public/assets/index-B3YOj8-_.css +1 -0
  12. package/.output/public/assets/{index-ClQ7Vi3J.js → index-BNCySZM-.js} +1 -1
  13. package/.output/public/assets/index-BtCnkWve.js +1 -0
  14. package/.output/public/assets/json-viewer-DT6QQY81.js +1 -0
  15. package/.output/server/_chunks/ssr-renderer.mjs +18 -2
  16. package/.output/server/_libs/@radix-ui/react-dismissable-layer+[...].mjs +165 -31
  17. package/.output/server/_libs/@radix-ui/react-use-callback-ref+[...].mjs +1 -1
  18. package/.output/server/_libs/@radix-ui/react-use-controllable-state+[...].mjs +2 -2
  19. package/.output/server/_libs/@radix-ui/react-use-is-hydrated+[...].mjs +28 -1
  20. package/.output/server/_libs/mistralai__mistralai.mjs +1 -1
  21. package/.output/server/_libs/modelcontextprotocol__server.mjs +11571 -8127
  22. package/.output/server/_libs/radix-ui__primitive.mjs +1 -1
  23. package/.output/server/_libs/radix-ui__react-collapsible.mjs +1 -1
  24. package/.output/server/_libs/radix-ui__react-collection.mjs +8 -8
  25. package/.output/server/_libs/radix-ui__react-compose-refs.mjs +0 -1
  26. package/.output/server/_libs/radix-ui__react-context.mjs +4 -18
  27. package/.output/server/_libs/radix-ui__react-dialog.mjs +41 -88
  28. package/.output/server/_libs/radix-ui__react-focus-guards.mjs +15 -5
  29. package/.output/server/_libs/radix-ui__react-focus-scope.mjs +6 -2
  30. package/.output/server/_libs/radix-ui__react-id.mjs +3 -3
  31. package/.output/server/_libs/radix-ui__react-popper.mjs +62 -8
  32. package/.output/server/_libs/radix-ui__react-portal.mjs +2 -2
  33. package/.output/server/_libs/radix-ui__react-presence.mjs +50 -5
  34. package/.output/server/_libs/radix-ui__react-roving-focus.mjs +15 -4
  35. package/.output/server/_libs/radix-ui__react-scroll-area.mjs +30 -20
  36. package/.output/server/_libs/radix-ui__react-select.mjs +167 -123
  37. package/.output/server/_libs/radix-ui__react-slot.mjs +74 -41
  38. package/.output/server/_libs/radix-ui__react-tabs.mjs +6 -1
  39. package/.output/server/_libs/radix-ui__react-tooltip.mjs +6 -3
  40. package/.output/server/_libs/react-dom.mjs +13 -15
  41. package/.output/server/_libs/react.mjs +45 -45
  42. package/.output/server/_libs/srvx.mjs +409 -53
  43. package/.output/server/_libs/swr.mjs +10 -2
  44. package/.output/server/_libs/tailwind-merge.mjs +286 -41
  45. package/.output/server/_libs/tanstack__history.mjs +9 -13
  46. package/.output/server/_libs/tanstack__react-router.mjs +788 -1092
  47. package/.output/server/_libs/tanstack__react-store.mjs +1 -1
  48. package/.output/server/_libs/tanstack__react-virtual.mjs +82 -7
  49. package/.output/server/_libs/tanstack__router-core.mjs +1841 -2060
  50. package/.output/server/_libs/tanstack__virtual-core.mjs +116 -45
  51. package/.output/server/_libs/use-sync-external-store.mjs +1 -1
  52. package/.output/server/_libs/zod-to-json-schema.mjs +1 -1
  53. package/.output/server/_libs/zod.mjs +5085 -200
  54. package/.output/server/{_sessionId-Bi3ZIrqT.mjs → _sessionId-DbRqqzqz.mjs} +30 -32
  55. package/.output/server/_ssr/{CompareDrawer-BYZS_hCR.mjs → CompareDrawer-CVhUSZu1.mjs} +29 -31
  56. package/.output/server/_ssr/{ProxyViewerContainer-BE4umfVs.mjs → ProxyViewerContainer-BNnDYtc5.mjs} +54 -52
  57. package/.output/server/_ssr/{ReplayDialog-BlID2ZH4.mjs → ReplayDialog-DVkGajZU.mjs} +30 -32
  58. package/.output/server/_ssr/{RequestAnatomy-CGJ2lkzT.mjs → RequestAnatomy-_FIfVjDR.mjs} +29 -31
  59. package/.output/server/_ssr/{ResponseView-DDjcGf7M.mjs → ResponseView-Bnv5ejVA.mjs} +29 -31
  60. package/.output/server/_ssr/{StreamingChunkSequence-G7B8M5G2.mjs → StreamingChunkSequence-vtwzxw7A.mjs} +29 -31
  61. package/.output/server/_ssr/empty-plugin-adapters-BFgPZ6_d.mjs +6 -0
  62. package/.output/server/_ssr/{index-ClQ9FvRJ.mjs → index-DFJbRoyq.mjs} +31 -33
  63. package/.output/server/_ssr/index.mjs +1102 -784
  64. package/.output/server/_ssr/{json-viewer-CFbpkiBJ.mjs → json-viewer-BkweASh3.mjs} +29 -31
  65. package/.output/server/_ssr/{router-Cq8LEvhE.mjs → router-gFd3g7WM.mjs} +10 -7
  66. package/.output/server/_tanstack-start-manifest_v-DeLutIlq.mjs +4 -0
  67. package/.output/server/index.mjs +81 -99
  68. package/package.json +17 -8
  69. package/src/components/clients/ClientLogo.tsx +5 -1
  70. package/src/components/proxy-viewer/RequestToolsPanel.tsx +1 -0
  71. package/src/components/proxy-viewer/ResponseView.tsx +1 -0
  72. package/src/components/proxy-viewer/StreamingChunkSequence.tsx +1 -0
  73. package/src/components/proxy-viewer/TurnGroup.tsx +1 -0
  74. package/src/components/proxy-viewer/anatomy/SegmentBar.tsx +1 -0
  75. package/src/components/proxy-viewer/formats/anthropic/ContentBlocks.tsx +4 -0
  76. package/src/components/proxy-viewer/formats/anthropic/ResponseView.tsx +1 -0
  77. package/src/components/proxy-viewer/formats/openai/ResponseView.tsx +2 -0
  78. package/src/components/ui/dialog.tsx +1 -1
  79. package/src/components/ui/json-viewer.tsx +2 -0
  80. package/src/components/ui/select.tsx +1 -1
  81. package/src/router.tsx +9 -0
  82. package/.output/public/assets/CompareDrawer-Daj03-RL.js +0 -1
  83. package/.output/public/assets/ProxyViewerContainer-BLCRQtU_.js +0 -106
  84. package/.output/public/assets/ReplayDialog-5FR5crdo.js +0 -1
  85. package/.output/public/assets/RequestAnatomy-DF0hHdQY.js +0 -1
  86. package/.output/public/assets/ResponseView-BwkMSsUa.js +0 -3
  87. package/.output/public/assets/StreamingChunkSequence-CKeUd58x.js +0 -1
  88. package/.output/public/assets/_sessionId-CThgXa41.js +0 -1
  89. package/.output/public/assets/index-BHXN1Fsx.css +0 -1
  90. package/.output/public/assets/index-gm3A0idN.js +0 -1
  91. package/.output/public/assets/json-viewer-BA-W-PZq.js +0 -1
  92. package/.output/public/assets/main-BnRC1932.js +0 -18
  93. package/.output/server/_libs/@radix-ui/react-use-escape-keydown+[...].mjs +0 -17
  94. package/.output/server/_libs/cfworker__json-schema.mjs +0 -1
  95. package/.output/server/_libs/tiny-invariant.mjs +0 -12
  96. package/.output/server/_libs/tiny-warning.mjs +0 -5
  97. package/.output/server/_tanstack-start-manifest_v-p7J0QCMh.mjs +0 -4
@@ -188,6 +188,11 @@ const observeWindowOffset = (instance, cb) => observeOffset(
188
188
  (win) => instance.options.horizontal ? win.scrollX : win.scrollY
189
189
  );
190
190
  const measureElement = (element, entry, instance) => {
191
+ if (instance.options.useCachedMeasurements) {
192
+ const index = instance.indexFromElement(element);
193
+ const key = instance.options.getItemKey(index);
194
+ return instance.itemSizeCache.get(key) ?? instance.options.estimateSize(index);
195
+ }
191
196
  if (entry == null ? void 0 : entry.borderBoxSize) {
192
197
  const box = entry.borderBoxSize[0];
193
198
  if (box) {
@@ -197,6 +202,14 @@ const measureElement = (element, entry, instance) => {
197
202
  return size;
198
203
  }
199
204
  }
205
+ if (!entry) {
206
+ const index = instance.indexFromElement(element);
207
+ const key = instance.options.getItemKey(index);
208
+ const cachedSize = instance.itemSizeCache.get(key);
209
+ if (cachedSize !== void 0) {
210
+ return cachedSize;
211
+ }
212
+ }
200
213
  return element[instance.options.horizontal ? "offsetWidth" : "offsetHeight"];
201
214
  };
202
215
  const scrollWithAdjustments = (offset, {
@@ -324,7 +337,8 @@ class Virtualizer {
324
337
  isRtl: false,
325
338
  useScrollendEvent: false,
326
339
  useAnimationFrameWithResizeObserver: false,
327
- laneAssignmentMode: "estimate"
340
+ laneAssignmentMode: "estimate",
341
+ useCachedMeasurements: false
328
342
  };
329
343
  for (const key in opts2) {
330
344
  const v = opts2[key];
@@ -333,6 +347,7 @@ class Virtualizer {
333
347
  const prevOptions = this.options;
334
348
  let anchor = null;
335
349
  let followOnAppend = null;
350
+ let edgeKeysChanged = false;
336
351
  if (prevOptions !== void 0 && prevOptions.enabled && merged.enabled && merged.anchorTo === "end" && this.scrollElement !== null) {
337
352
  const prevCount = prevOptions.count;
338
353
  const nextCount = merged.count;
@@ -342,6 +357,7 @@ class Virtualizer {
342
357
  const didCountChange = nextCount !== prevCount;
343
358
  const didEdgeKeysChange = didCountChange || prevCount > 0 && nextCount > 0 && (merged.getItemKey(0) !== prevFirstKey || merged.getItemKey(nextCount - 1) !== prevLastKey);
344
359
  if (didEdgeKeysChange) {
360
+ edgeKeysChanged = true;
345
361
  const item = prevCount > 0 ? this.getVirtualItemForOffset(this.getScrollOffset()) ?? measurements[0] : null;
346
362
  if (item) {
347
363
  anchor = [item.key, this.getScrollOffset() - item.start];
@@ -353,11 +369,38 @@ class Virtualizer {
353
369
  }
354
370
  }
355
371
  this.options = merged;
356
- if (anchor || followOnAppend) {
372
+ if (edgeKeysChanged) {
373
+ this.pendingMin = 0;
374
+ this.itemSizeCacheVersion++;
375
+ }
376
+ let anchorResolved = false;
377
+ let anchorDelta = 0;
378
+ if (anchor && this.scrollOffset !== null) {
379
+ const [anchorKey, anchorOffset] = anchor;
380
+ const newMeasurements = this.getMeasurements();
381
+ const { count, getItemKey } = this.options;
382
+ let idx = 0;
383
+ while (idx < count && getItemKey(idx) !== anchorKey) {
384
+ idx++;
385
+ }
386
+ if (idx < count) {
387
+ const anchorItem = newMeasurements[idx];
388
+ if (anchorItem) {
389
+ const newOffset = anchorItem.start + anchorOffset;
390
+ if (newOffset !== this.scrollOffset) {
391
+ anchorDelta = newOffset - this.scrollOffset;
392
+ this.scrollOffset = newOffset;
393
+ anchorResolved = true;
394
+ }
395
+ }
396
+ }
397
+ }
398
+ if (anchorResolved || followOnAppend) {
357
399
  this.pendingScrollAnchor = [
358
- (anchor == null ? void 0 : anchor[0]) ?? null,
359
- (anchor == null ? void 0 : anchor[1]) ?? 0,
360
- followOnAppend
400
+ anchorResolved ? anchor[0] : null,
401
+ anchorResolved ? anchor[1] : 0,
402
+ followOnAppend,
403
+ anchorDelta
361
404
  ];
362
405
  }
363
406
  };
@@ -430,12 +473,16 @@ class Virtualizer {
430
473
  );
431
474
  this.unsubs.push(
432
475
  this.options.observeElementOffset(this, (offset, isScrolling) => {
476
+ if (isScrolling && this._intendedScrollOffset === null && offset === this.scrollOffset) {
477
+ return;
478
+ }
433
479
  if (this._intendedScrollOffset !== null && Math.abs(offset - this._intendedScrollOffset) < 1.5) {
434
480
  offset = this._intendedScrollOffset;
435
481
  }
436
482
  this._intendedScrollOffset = null;
437
483
  this.scrollAdjustments = 0;
438
- this.scrollDirection = isScrolling ? this.getScrollOffset() < offset ? "forward" : "backward" : null;
484
+ const prevOffset = this.getScrollOffset();
485
+ this.scrollDirection = isScrolling ? prevOffset === offset ? this.scrollDirection : prevOffset < offset ? "forward" : "backward" : null;
439
486
  this.scrollOffset = offset;
440
487
  this.isScrolling = isScrolling;
441
488
  this._flushIosDeferredIfReady();
@@ -494,19 +541,17 @@ class Virtualizer {
494
541
  const anchor = this.pendingScrollAnchor;
495
542
  this.pendingScrollAnchor = null;
496
543
  if (anchor && this.scrollElement && this.options.enabled) {
497
- const [key, offset, followOnAppend] = anchor;
498
- if (key !== null) {
499
- const { count, getItemKey } = this.options;
500
- let index = 0;
501
- while (index < count && getItemKey(index) !== key) {
502
- index++;
503
- }
504
- const item = index < count ? this.getMeasurements()[index] : void 0;
505
- if (item) {
506
- const delta = item.start + offset - this.getScrollOffset();
507
- if (!approxEqual(delta, 0)) {
508
- this.applyScrollAdjustment(delta);
544
+ const [key, _offset, followOnAppend, anchorDelta] = anchor;
545
+ if (key !== null && !followOnAppend) {
546
+ if (isIOSWebKit() && (this.isScrolling || this._iosTouching || this._iosJustTouchEnded)) {
547
+ if (anchorDelta !== 0) {
548
+ this._iosDeferredAdjustment += anchorDelta;
509
549
  }
550
+ } else {
551
+ this._scrollToOffset(this.getScrollOffset(), {
552
+ adjustments: void 0,
553
+ behavior: void 0
554
+ });
510
555
  }
511
556
  }
512
557
  if (followOnAppend) {
@@ -735,16 +780,20 @@ class Virtualizer {
735
780
  this.options.lanes
736
781
  ],
737
782
  (measurements, outerSize, scrollOffset, lanes) => {
738
- return this.range = measurements.length > 0 && outerSize > 0 ? calculateRange({
783
+ if (measurements.length === 0 || outerSize === 0) {
784
+ this.range = null;
785
+ return null;
786
+ }
787
+ this.range = calculateRangeImpl(
739
788
  measurements,
740
789
  outerSize,
741
790
  scrollOffset,
742
791
  lanes,
743
- // Pass the typed array so binary search + forward-walk can
744
- // read start/end directly from Float64Array, skipping the
745
- // Proxy traps that materialize a full VirtualItem per probe.
746
- flat: lanes === 1 && this._flatMeasurements != null ? this._flatMeasurements : null
747
- }) : null;
792
+ // Pass the typed array so binary search + forward-walk can read
793
+ // start/end directly from Float64Array, skipping the Proxy traps.
794
+ lanes === 1 && this._flatMeasurements != null ? this._flatMeasurements : null
795
+ );
796
+ return this.range;
748
797
  },
749
798
  {
750
799
  key: false,
@@ -874,13 +923,13 @@ class Virtualizer {
874
923
  delta,
875
924
  this
876
925
  ) : (
877
- // Default: adjust scrollTop only when the resize is an above-
878
- // viewport item AND we're not actively scrolling backward.
879
- // Adjusting during backward scroll fights the user's scroll
880
- // direction and produces the "items jump while scrolling up"
881
- // jank reported across many issues. Users who want the old
882
- // behavior can pass shouldAdjustScrollPositionOnItemSizeChange.
883
- itemStart < this.getScrollOffset() + this.scrollAdjustments && this.scrollDirection !== "backward"
926
+ // Default: adjust when the resize is an above-viewport item.
927
+ // First measurement (!has(key)): always adjust the item
928
+ // has never been sized, so the estimate→actual delta must
929
+ // be compensated regardless of scroll direction.
930
+ // Re-measurement (has(key)): skip during backward scroll
931
+ // to avoid the "items jump while scrolling up" cascade.
932
+ itemStart < this.getScrollOffset() + this.scrollAdjustments && (!this.itemSizeCache.has(key) || this.scrollDirection !== "backward")
884
933
  ));
885
934
  if (this.pendingMin === null || index < this.pendingMin) {
886
935
  this.pendingMin = index;
@@ -1122,6 +1171,10 @@ class Virtualizer {
1122
1171
  adjustments: this.scrollAdjustments += delta,
1123
1172
  behavior
1124
1173
  });
1174
+ if (this.scrollOffset !== null) {
1175
+ this.scrollOffset += this.scrollAdjustments;
1176
+ this.scrollAdjustments = 0;
1177
+ }
1125
1178
  }
1126
1179
  }
1127
1180
  scheduleScrollReconcile() {
@@ -1197,26 +1250,44 @@ const findNearestBinarySearch = (low, high, getCurrentValue, value) => {
1197
1250
  return 0;
1198
1251
  }
1199
1252
  };
1200
- function calculateRange({
1201
- measurements,
1202
- outerSize,
1203
- scrollOffset,
1204
- lanes,
1205
- flat
1206
- }) {
1253
+ function findNearestBinarySearchFlat(flat, high, value) {
1254
+ let low = 0;
1255
+ while (low <= high) {
1256
+ const middle = (low + high) / 2 | 0;
1257
+ const currentValue = flat[middle * 2];
1258
+ if (currentValue < value) {
1259
+ low = middle + 1;
1260
+ } else if (currentValue > value) {
1261
+ high = middle - 1;
1262
+ } else {
1263
+ return middle;
1264
+ }
1265
+ }
1266
+ return low > 0 ? low - 1 : 0;
1267
+ }
1268
+ function calculateRangeImpl(measurements, outerSize, scrollOffset, lanes, flat) {
1207
1269
  const lastIndex = measurements.length - 1;
1208
- const getStart = flat ? (index) => flat[index * 2] : (index) => measurements[index].start;
1209
- const getEnd = flat ? (index) => flat[index * 2] + flat[index * 2 + 1] : (index) => measurements[index].end;
1210
1270
  if (measurements.length <= lanes) {
1211
- return {
1212
- startIndex: 0,
1213
- endIndex: lastIndex
1214
- };
1271
+ return { startIndex: 0, endIndex: lastIndex };
1272
+ }
1273
+ if (lanes === 1 && flat !== null) {
1274
+ const startIndex2 = findNearestBinarySearchFlat(
1275
+ flat,
1276
+ lastIndex,
1277
+ scrollOffset
1278
+ );
1279
+ let endIndex2 = startIndex2;
1280
+ const limit = scrollOffset + outerSize;
1281
+ while (endIndex2 < lastIndex && flat[endIndex2 * 2] + flat[endIndex2 * 2 + 1] < limit) {
1282
+ endIndex2++;
1283
+ }
1284
+ return { startIndex: startIndex2, endIndex: endIndex2 };
1215
1285
  }
1286
+ const getStart = (index) => measurements[index].start;
1216
1287
  let startIndex = findNearestBinarySearch(0, lastIndex, getStart, scrollOffset);
1217
1288
  let endIndex = startIndex;
1218
1289
  if (lanes === 1) {
1219
- while (endIndex < lastIndex && getEnd(endIndex) < scrollOffset + outerSize) {
1290
+ while (endIndex < lastIndex && measurements[endIndex].end < scrollOffset + outerSize) {
1220
1291
  endIndex++;
1221
1292
  }
1222
1293
  } else if (lanes > 1) {
@@ -1,4 +1,4 @@
1
- import { b as requireReact } from "./react.mjs";
1
+ import { a as requireReact } from "./react.mjs";
2
2
  var shim = { exports: {} };
3
3
  var useSyncExternalStoreShim_production = {};
4
4
  var hasRequiredUseSyncExternalStoreShim_production;
@@ -1,4 +1,4 @@
1
- import { D as ZodFirstPartyTypeKind } from "./zod.mjs";
1
+ import { T as ZodFirstPartyTypeKind } from "./zod.mjs";
2
2
  const ignoreOverride = /* @__PURE__ */ Symbol("Let zodToJsonSchema decide on which parser to use");
3
3
  const defaultOptions = {
4
4
  name: void 0,