@tonyclaw/agent-inspector 2.1.13 → 2.1.15

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 (92) hide show
  1. package/.output/nitro.json +1 -1
  2. package/.output/public/assets/CompareDrawer-BcEd6V-V.js +1 -0
  3. package/.output/public/assets/ProxyViewerContainer-h851qWNp.js +106 -0
  4. package/.output/public/assets/ReplayDialog-BNpC0548.js +1 -0
  5. package/.output/public/assets/{RequestAnatomy-BjlBT-Cy.js → RequestAnatomy-Ds1uRLVB.js} +1 -1
  6. package/.output/public/assets/ResponseView-7KPVqKl5.js +3 -0
  7. package/.output/public/assets/{StreamingChunkSequence-D2_SMhlE.js → StreamingChunkSequence-BHQT261s.js} +1 -1
  8. package/.output/public/assets/_sessionId-DWePGjnS.js +1 -0
  9. package/.output/public/assets/index-CI1-G8ua.js +1 -0
  10. package/.output/public/assets/index-DdhFqPsI.css +1 -0
  11. package/.output/public/assets/index-DjKt8XKe.js +14 -0
  12. package/.output/public/assets/json-viewer-CkCu-rka.js +1 -0
  13. package/.output/public/assets/{main-Dtspb4Ui.js → main-DpD1N0S8.js} +2 -2
  14. package/.output/server/_libs/lucide-react.mjs +194 -200
  15. package/.output/server/_libs/react-markdown.mjs +90 -2
  16. package/.output/server/{_sessionId-CXDcLuvi.mjs → _sessionId-DF9Sy8cP.mjs} +6 -57
  17. package/.output/server/_ssr/{CompareDrawer-CMoCAoeq.mjs → CompareDrawer-BoxztaO7.mjs} +50 -74
  18. package/.output/server/_ssr/{ProxyViewerContainer-BW2vVCBN.mjs → ProxyViewerContainer-CRBkqFlJ.mjs} +1221 -799
  19. package/.output/server/_ssr/{ReplayDialog-ChXL1t8H.mjs → ReplayDialog-Cc1dyDuK.mjs} +18 -62
  20. package/.output/server/_ssr/{RequestAnatomy-DtKzIlfU.mjs → RequestAnatomy-CMGSsz5Z.mjs} +6 -57
  21. package/.output/server/_ssr/{ResponseView-B5I8drzc.mjs → ResponseView-Cp10DM1D.mjs} +139 -61
  22. package/.output/server/_ssr/{StreamingChunkSequence-DvwjQNcO.mjs → StreamingChunkSequence-B1VGxy3A.mjs} +13 -58
  23. package/.output/server/_ssr/{index-D_ZHtRfl.mjs → index-47XVPghS.mjs} +6 -57
  24. package/.output/server/_ssr/index.mjs +2 -2
  25. package/.output/server/_ssr/json-viewer-zDE2rrmJ.mjs +478 -0
  26. package/.output/server/_ssr/{router-DhL9Wp3N.mjs → router-DVeuZFqI.mjs} +680 -174
  27. package/.output/server/{_tanstack-start-manifest_v-BHgoAmxZ.mjs → _tanstack-start-manifest_v-Bp8JxtPW.mjs} +1 -1
  28. package/.output/server/index.mjs +72 -58
  29. package/package.json +1 -1
  30. package/src/components/ProxyViewer.tsx +28 -2
  31. package/src/components/ProxyViewerContainer.tsx +25 -17
  32. package/src/components/clients/ClientLogo.tsx +132 -0
  33. package/src/components/groups/GroupsDialog.tsx +18 -13
  34. package/src/components/providers/ImportWizardDialog.tsx +7 -1
  35. package/src/components/providers/ProviderCard.tsx +10 -1
  36. package/src/components/providers/ProviderForm.tsx +157 -41
  37. package/src/components/providers/ProvidersPanel.tsx +5 -1
  38. package/src/components/proxy-viewer/AgentTraceSummary.tsx +56 -23
  39. package/src/components/proxy-viewer/AnswerMarkdown.tsx +8 -3
  40. package/src/components/proxy-viewer/CompareDrawer.tsx +58 -14
  41. package/src/components/proxy-viewer/ConversationGroup.tsx +11 -15
  42. package/src/components/proxy-viewer/ConversationHeader.tsx +33 -41
  43. package/src/components/proxy-viewer/LogEntry.tsx +41 -12
  44. package/src/components/proxy-viewer/LogEntryHeader.tsx +122 -51
  45. package/src/components/proxy-viewer/ProviderLogoStack.tsx +60 -0
  46. package/src/components/proxy-viewer/ReplayDialog.tsx +8 -2
  47. package/src/components/proxy-viewer/RequestToolsPanel.tsx +19 -13
  48. package/src/components/proxy-viewer/StreamingChunkSequence.tsx +9 -3
  49. package/src/components/proxy-viewer/ThreadConnector.tsx +18 -7
  50. package/src/components/proxy-viewer/TurnGroup.tsx +67 -32
  51. package/src/components/proxy-viewer/TurnGroupList.tsx +153 -0
  52. package/src/components/proxy-viewer/anatomy/sessionContextSummary.ts +74 -2
  53. package/src/components/proxy-viewer/formats/anthropic/ContentBlocks.tsx +13 -7
  54. package/src/components/proxy-viewer/formats/index.tsx +10 -3
  55. package/src/components/proxy-viewer/formats/openai/ResponseView.tsx +185 -17
  56. package/src/components/proxy-viewer/log-formats/openai.ts +107 -15
  57. package/src/components/proxy-viewer/logFocus.ts +15 -2
  58. package/src/components/proxy-viewer/requestTools.ts +7 -3
  59. package/src/components/proxy-viewer/viewerState.ts +77 -5
  60. package/src/components/ui/json-viewer-bulk.ts +41 -6
  61. package/src/components/ui/json-viewer.tsx +9 -8
  62. package/src/contracts/index.ts +15 -1
  63. package/src/contracts/openai.ts +94 -0
  64. package/src/lib/providerContract.ts +1 -0
  65. package/src/lib/providerModelMetadata.ts +7 -1
  66. package/src/lib/sessionInfoContract.ts +1 -0
  67. package/src/lib/stopReason.ts +59 -15
  68. package/src/lib/upstreamUrl.ts +46 -0
  69. package/src/mcp/previewExtractor.ts +73 -3
  70. package/src/mcp/server.ts +2 -0
  71. package/src/mcp/toolHandlers.ts +2 -0
  72. package/src/proxy/constants.ts +2 -0
  73. package/src/proxy/formats/openai/handler.ts +40 -9
  74. package/src/proxy/formats/openai/index.ts +7 -0
  75. package/src/proxy/formats/openai/schemas.ts +15 -1
  76. package/src/proxy/formats/openai/stream.ts +529 -135
  77. package/src/proxy/formats/registry.ts +9 -1
  78. package/src/proxy/providerImporters.ts +45 -5
  79. package/src/proxy/providers.ts +31 -11
  80. package/src/proxy/schemas.ts +6 -0
  81. package/src/proxy/sessionInfo.ts +5 -1
  82. package/src/proxy/toolSchemaWarnings.ts +25 -3
  83. package/src/proxy/upstream.ts +18 -37
  84. package/src/routes/api/providers.$providerId.ts +1 -0
  85. package/src/routes/api/providers.ts +2 -0
  86. package/.output/public/assets/CompareDrawer-Cz_1vIpR.js +0 -1
  87. package/.output/public/assets/ProxyViewerContainer-7QSiluMf.js +0 -117
  88. package/.output/public/assets/ReplayDialog-sBA1KAYD.js +0 -1
  89. package/.output/public/assets/ResponseView-PtEKzml9.js +0 -1
  90. package/.output/public/assets/_sessionId-DZfB4ruK.js +0 -1
  91. package/.output/public/assets/index-B-QQLbpz.js +0 -1
  92. package/.output/public/assets/index-CmtfjQPv.css +0 -1
@@ -1,10 +1,10 @@
1
1
  import { r as reactExports, j as jsxRuntimeExports } from "../_libs/react.mjs";
2
- import { u as useProviders, D as Dialog, d as DialogContent, e as DialogHeader, h as DialogTitle, T as Tabs, i as TabsList, j as TabsTrigger, k as TabsContent, l as Button, m as TooltipProvider, n as Tooltip, o as TooltipTrigger, p as TooltipContent, q as dispatchLogFocusRequest } from "./ProxyViewerContainer-BW2vVCBN.mjs";
3
- import { ResponseView } from "./ResponseView-B5I8drzc.mjs";
4
- import { C as CapturedLogSchema } from "./router-DhL9Wp3N.mjs";
2
+ import { u as useProviders, D as Dialog, d as DialogContent, e as DialogHeader, h as DialogTitle, T as Tabs, i as TabsList, j as TabsTrigger, k as TabsContent, l as Button, m as TooltipProvider, n as Tooltip, o as TooltipTrigger, p as TooltipContent, q as dispatchLogFocusRequest } from "./ProxyViewerContainer-CRBkqFlJ.mjs";
3
+ import { ResponseView } from "./ResponseView-Cp10DM1D.mjs";
4
+ import { C as CapturedLogSchema } from "./router-DVeuZFqI.mjs";
5
5
  import "../_libs/jszip.mjs";
6
6
  import "../_libs/modelcontextprotocol__server.mjs";
7
- import { a3 as RotateCcw, an as Braces, ao as Minimize2 } from "../_libs/lucide-react.mjs";
7
+ import { a9 as RotateCcw, am as Braces, an as Minimize2 } from "../_libs/lucide-react.mjs";
8
8
  import { d as object, n as number, a as array, c as boolean, b as string } from "../_libs/zod.mjs";
9
9
  import "../_libs/swr.mjs";
10
10
  import "../_libs/use-sync-external-store.mjs";
@@ -41,9 +41,9 @@ import "../_libs/use-sidecar.mjs";
41
41
  import "../_libs/use-callback-ref.mjs";
42
42
  import "../_libs/aria-hidden.mjs";
43
43
  import "../_libs/class-variance-authority.mjs";
44
- import "../_libs/diff.mjs";
45
44
  import "../_libs/tanstack__react-virtual.mjs";
46
45
  import "../_libs/tanstack__virtual-core.mjs";
46
+ import "../_libs/diff.mjs";
47
47
  import "../_libs/radix-ui__react-select.mjs";
48
48
  import "../_libs/radix-ui__number.mjs";
49
49
  import "../_libs/radix-ui__react-collection.mjs";
@@ -57,60 +57,6 @@ import "../_libs/radix-ui__react-arrow.mjs";
57
57
  import "../_libs/radix-ui__react-use-size.mjs";
58
58
  import "../_libs/radix-ui__react-use-previous.mjs";
59
59
  import "../_libs/@radix-ui/react-visually-hidden+[...].mjs";
60
- import "../_libs/react-markdown.mjs";
61
- import "../_libs/devlop.mjs";
62
- import "../_libs/unified.mjs";
63
- import "../_libs/bail.mjs";
64
- import "../_libs/extend.mjs";
65
- import "../_libs/is-plain-obj.mjs";
66
- import "../_libs/trough.mjs";
67
- import "../_libs/vfile.mjs";
68
- import "../_libs/vfile-message.mjs";
69
- import "../_libs/unist-util-stringify-position.mjs";
70
- import "node:process";
71
- import "node:path";
72
- import "node:url";
73
- import "../_libs/remark-parse.mjs";
74
- import "../_libs/mdast-util-from-markdown.mjs";
75
- import "../_libs/micromark-util-decode-numeric-character-reference+[...].mjs";
76
- import "../_libs/micromark-util-decode-string.mjs";
77
- import "../_libs/decode-named-character-reference+[...].mjs";
78
- import "../_libs/character-entities.mjs";
79
- import "../_libs/micromark-util-normalize-identifier+[...].mjs";
80
- import "../_libs/micromark.mjs";
81
- import "../_libs/micromark-util-combine-extensions+[...].mjs";
82
- import "../_libs/micromark-util-chunked.mjs";
83
- import "../_libs/micromark-factory-space.mjs";
84
- import "../_libs/micromark-util-character.mjs";
85
- import "../_libs/micromark-core-commonmark.mjs";
86
- import "../_libs/micromark-util-classify-character+[...].mjs";
87
- import "../_libs/micromark-util-resolve-all.mjs";
88
- import "../_libs/micromark-util-subtokenize.mjs";
89
- import "../_libs/micromark-factory-destination.mjs";
90
- import "../_libs/micromark-factory-label.mjs";
91
- import "../_libs/micromark-factory-title.mjs";
92
- import "../_libs/micromark-factory-whitespace.mjs";
93
- import "../_libs/micromark-util-html-tag-name.mjs";
94
- import "../_libs/mdast-util-to-string.mjs";
95
- import "../_libs/remark-rehype.mjs";
96
- import "../_libs/mdast-util-to-hast.mjs";
97
- import "../_libs/ungap__structured-clone.mjs";
98
- import "../_libs/micromark-util-sanitize-uri.mjs";
99
- import "../_libs/unist-util-position.mjs";
100
- import "../_libs/trim-lines.mjs";
101
- import "../_libs/unist-util-visit.mjs";
102
- import "../_libs/unist-util-visit-parents.mjs";
103
- import "../_libs/unist-util-is.mjs";
104
- import "../_libs/hast-util-to-jsx-runtime.mjs";
105
- import "../_libs/comma-separated-tokens.mjs";
106
- import "../_libs/property-information.mjs";
107
- import "../_libs/space-separated-tokens.mjs";
108
- import "../_libs/style-to-js.mjs";
109
- import "../_libs/style-to-object.mjs";
110
- import "../_libs/inline-style-parser.mjs";
111
- import "../_libs/hast-util-whitespace.mjs";
112
- import "../_libs/estree-util-is-identifier-name.mjs";
113
- import "../_libs/html-url-attributes.mjs";
114
60
  import "../_libs/radix-ui__react-tabs.mjs";
115
61
  import "../_libs/radix-ui__react-roving-focus.mjs";
116
62
  import "../_libs/radix-ui__react-tooltip.mjs";
@@ -132,10 +78,13 @@ import "node:fs";
132
78
  import "node:fs/promises";
133
79
  import "node:readline";
134
80
  import "node:buffer";
81
+ import "node:path";
135
82
  import "node:crypto";
136
83
  import "node:child_process";
84
+ import "node:url";
137
85
  import "../_libs/conf.mjs";
138
86
  import "node:util";
87
+ import "node:process";
139
88
  import "node:assert";
140
89
  import "../_libs/dot-prop.mjs";
141
90
  import "../_libs/env-paths.mjs";
@@ -366,7 +315,12 @@ function ReplayComparisonTable({
366
315
  ))
367
316
  ] });
368
317
  }
369
- function ReplayDialog({ log, open, onOpenChange }) {
318
+ function ReplayDialog({
319
+ log,
320
+ displayNumber,
321
+ open,
322
+ onOpenChange
323
+ }) {
370
324
  const { providers } = useProviders();
371
325
  const originalBody = log.rawRequestBody ?? "{}";
372
326
  const [modifiedBody, setModifiedBody] = reactExports.useState(() => {
@@ -493,8 +447,10 @@ function ReplayDialog({ log, open, onOpenChange }) {
493
447
  return /* @__PURE__ */ jsxRuntimeExports.jsx(Dialog, { open, onOpenChange: handleClose, children: /* @__PURE__ */ jsxRuntimeExports.jsxs(DialogContent, { className: "max-w-4xl max-h-[85vh] overflow-auto", children: [
494
448
  /* @__PURE__ */ jsxRuntimeExports.jsx(DialogHeader, { children: /* @__PURE__ */ jsxRuntimeExports.jsxs(DialogTitle, { className: "flex items-center gap-2", children: [
495
449
  /* @__PURE__ */ jsxRuntimeExports.jsx(RotateCcw, { className: "size-4" }),
496
- "Replay Request #",
497
- log.id
450
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("span", { title: `Log ID ${String(log.id)}`, children: [
451
+ "Replay Request #",
452
+ displayNumber
453
+ ] })
498
454
  ] }) }),
499
455
  /* @__PURE__ */ jsxRuntimeExports.jsxs(Tabs, { defaultValue: "modified", children: [
500
456
  /* @__PURE__ */ jsxRuntimeExports.jsxs(TabsList, { children: [
@@ -1,6 +1,6 @@
1
1
  import { r as reactExports, j as jsxRuntimeExports } from "../_libs/react.mjs";
2
- import { u as useProviders, s as analyzeContextIntelligence, f as formatTokens, m as TooltipProvider, c as cn, n as Tooltip, o as TooltipTrigger, p as TooltipContent, S as SegmentBar, R as ROLE_COLOR_CLASSES, A as ANATOMY_ROLE_LABELS, t as formatContextWindowTokens, C as CONTEXT_USAGE_THRESHOLDS } from "./ProxyViewerContainer-BW2vVCBN.mjs";
3
- import "./router-DhL9Wp3N.mjs";
2
+ import { u as useProviders, s as analyzeContextIntelligence, f as formatTokens, m as TooltipProvider, c as cn, n as Tooltip, o as TooltipTrigger, p as TooltipContent, S as SegmentBar, R as ROLE_COLOR_CLASSES, A as ANATOMY_ROLE_LABELS, t as formatContextWindowTokens, C as CONTEXT_USAGE_THRESHOLDS } from "./ProxyViewerContainer-CRBkqFlJ.mjs";
3
+ import "./router-DVeuZFqI.mjs";
4
4
  import "../_libs/modelcontextprotocol__server.mjs";
5
5
  import "../_libs/jszip.mjs";
6
6
  import { I as Info, C as ChevronDown, f as ChevronRight } from "../_libs/lucide-react.mjs";
@@ -39,9 +39,9 @@ import "../_libs/use-sidecar.mjs";
39
39
  import "../_libs/use-callback-ref.mjs";
40
40
  import "../_libs/aria-hidden.mjs";
41
41
  import "../_libs/class-variance-authority.mjs";
42
- import "../_libs/diff.mjs";
43
42
  import "../_libs/tanstack__react-virtual.mjs";
44
43
  import "../_libs/tanstack__virtual-core.mjs";
44
+ import "../_libs/diff.mjs";
45
45
  import "../_libs/radix-ui__react-select.mjs";
46
46
  import "../_libs/radix-ui__number.mjs";
47
47
  import "../_libs/radix-ui__react-collection.mjs";
@@ -55,60 +55,6 @@ import "../_libs/radix-ui__react-arrow.mjs";
55
55
  import "../_libs/radix-ui__react-use-size.mjs";
56
56
  import "../_libs/radix-ui__react-use-previous.mjs";
57
57
  import "../_libs/@radix-ui/react-visually-hidden+[...].mjs";
58
- import "../_libs/react-markdown.mjs";
59
- import "../_libs/devlop.mjs";
60
- import "../_libs/unified.mjs";
61
- import "../_libs/bail.mjs";
62
- import "../_libs/extend.mjs";
63
- import "../_libs/is-plain-obj.mjs";
64
- import "../_libs/trough.mjs";
65
- import "../_libs/vfile.mjs";
66
- import "../_libs/vfile-message.mjs";
67
- import "../_libs/unist-util-stringify-position.mjs";
68
- import "node:process";
69
- import "node:path";
70
- import "node:url";
71
- import "../_libs/remark-parse.mjs";
72
- import "../_libs/mdast-util-from-markdown.mjs";
73
- import "../_libs/micromark-util-decode-numeric-character-reference+[...].mjs";
74
- import "../_libs/micromark-util-decode-string.mjs";
75
- import "../_libs/decode-named-character-reference+[...].mjs";
76
- import "../_libs/character-entities.mjs";
77
- import "../_libs/micromark-util-normalize-identifier+[...].mjs";
78
- import "../_libs/micromark.mjs";
79
- import "../_libs/micromark-util-combine-extensions+[...].mjs";
80
- import "../_libs/micromark-util-chunked.mjs";
81
- import "../_libs/micromark-factory-space.mjs";
82
- import "../_libs/micromark-util-character.mjs";
83
- import "../_libs/micromark-core-commonmark.mjs";
84
- import "../_libs/micromark-util-classify-character+[...].mjs";
85
- import "../_libs/micromark-util-resolve-all.mjs";
86
- import "../_libs/micromark-util-subtokenize.mjs";
87
- import "../_libs/micromark-factory-destination.mjs";
88
- import "../_libs/micromark-factory-label.mjs";
89
- import "../_libs/micromark-factory-title.mjs";
90
- import "../_libs/micromark-factory-whitespace.mjs";
91
- import "../_libs/micromark-util-html-tag-name.mjs";
92
- import "../_libs/mdast-util-to-string.mjs";
93
- import "../_libs/remark-rehype.mjs";
94
- import "../_libs/mdast-util-to-hast.mjs";
95
- import "../_libs/ungap__structured-clone.mjs";
96
- import "../_libs/micromark-util-sanitize-uri.mjs";
97
- import "../_libs/unist-util-position.mjs";
98
- import "../_libs/trim-lines.mjs";
99
- import "../_libs/unist-util-visit.mjs";
100
- import "../_libs/unist-util-visit-parents.mjs";
101
- import "../_libs/unist-util-is.mjs";
102
- import "../_libs/hast-util-to-jsx-runtime.mjs";
103
- import "../_libs/comma-separated-tokens.mjs";
104
- import "../_libs/property-information.mjs";
105
- import "../_libs/space-separated-tokens.mjs";
106
- import "../_libs/style-to-js.mjs";
107
- import "../_libs/style-to-object.mjs";
108
- import "../_libs/inline-style-parser.mjs";
109
- import "../_libs/hast-util-whitespace.mjs";
110
- import "../_libs/estree-util-is-identifier-name.mjs";
111
- import "../_libs/html-url-attributes.mjs";
112
58
  import "../_libs/zod.mjs";
113
59
  import "../_libs/radix-ui__react-tabs.mjs";
114
60
  import "../_libs/radix-ui__react-roving-focus.mjs";
@@ -130,10 +76,13 @@ import "node:fs";
130
76
  import "node:fs/promises";
131
77
  import "node:readline";
132
78
  import "node:buffer";
79
+ import "node:path";
133
80
  import "node:crypto";
134
81
  import "node:child_process";
82
+ import "node:url";
135
83
  import "../_libs/conf.mjs";
136
84
  import "node:util";
85
+ import "node:process";
137
86
  import "node:assert";
138
87
  import "../_libs/dot-prop.mjs";
139
88
  import "../_libs/env-paths.mjs";
@@ -1,10 +1,9 @@
1
1
  import { r as reactExports, j as jsxRuntimeExports } from "../_libs/react.mjs";
2
- import { g as getLogFormatAdapter, f as formatTokens, c as cn, v as getStatusCategory, B as Badge, w as Collapsible, x as CollapsibleTrigger, y as CollapsibleContent, z as ScrollArea, E as JsonViewer, F as safeJsonValue } from "./ProxyViewerContainer-BW2vVCBN.mjs";
3
- import "./router-DhL9Wp3N.mjs";
4
- import "../_libs/modelcontextprotocol__server.mjs";
2
+ import { g as getLogFormatAdapter, f as formatTokens, c as cn, v as getStatusCategory, B as Badge, w as Collapsible, x as CollapsibleTrigger, y as CollapsibleContent, z as ScrollArea, E as LazyJsonViewer, F as safeJsonValue } from "./ProxyViewerContainer-CRBkqFlJ.mjs";
3
+ import { s as safeGetOwnProperty } from "./router-DVeuZFqI.mjs";
5
4
  import "../_libs/jszip.mjs";
6
- import { Z as Zap, r as TriangleAlert, ap as CircleStop, B as Brain, C as ChevronDown, f as ChevronRight, m as Terminal } from "../_libs/lucide-react.mjs";
7
- import { M as Markdown } from "../_libs/react-markdown.mjs";
5
+ import "../_libs/modelcontextprotocol__server.mjs";
6
+ import { Z as Zap, q as TriangleAlert, ao as CircleStop, B as Brain, C as ChevronDown, f as ChevronRight, m as Terminal } from "../_libs/lucide-react.mjs";
8
7
  import { R as Root } from "../_libs/radix-ui__react-separator.mjs";
9
8
  import "../_libs/swr.mjs";
10
9
  import "../_libs/use-sync-external-store.mjs";
@@ -41,9 +40,9 @@ import "../_libs/use-sidecar.mjs";
41
40
  import "../_libs/use-callback-ref.mjs";
42
41
  import "../_libs/aria-hidden.mjs";
43
42
  import "../_libs/class-variance-authority.mjs";
44
- import "../_libs/diff.mjs";
45
43
  import "../_libs/tanstack__react-virtual.mjs";
46
44
  import "../_libs/tanstack__virtual-core.mjs";
45
+ import "../_libs/diff.mjs";
47
46
  import "../_libs/radix-ui__react-select.mjs";
48
47
  import "../_libs/radix-ui__number.mjs";
49
48
  import "../_libs/radix-ui__react-collection.mjs";
@@ -117,59 +116,16 @@ import "../_libs/lie.mjs";
117
116
  import "../_libs/immediate.mjs";
118
117
  import "../_libs/setimmediate.mjs";
119
118
  import "../_libs/pako.mjs";
120
- import "../_libs/devlop.mjs";
121
- import "../_libs/unified.mjs";
122
- import "../_libs/bail.mjs";
123
- import "../_libs/extend.mjs";
124
- import "../_libs/is-plain-obj.mjs";
125
- import "../_libs/trough.mjs";
126
- import "../_libs/vfile.mjs";
127
- import "../_libs/vfile-message.mjs";
128
- import "../_libs/unist-util-stringify-position.mjs";
129
- import "../_libs/remark-parse.mjs";
130
- import "../_libs/mdast-util-from-markdown.mjs";
131
- import "../_libs/micromark-util-decode-numeric-character-reference+[...].mjs";
132
- import "../_libs/micromark-util-decode-string.mjs";
133
- import "../_libs/decode-named-character-reference+[...].mjs";
134
- import "../_libs/character-entities.mjs";
135
- import "../_libs/micromark-util-normalize-identifier+[...].mjs";
136
- import "../_libs/micromark.mjs";
137
- import "../_libs/micromark-util-combine-extensions+[...].mjs";
138
- import "../_libs/micromark-util-chunked.mjs";
139
- import "../_libs/micromark-factory-space.mjs";
140
- import "../_libs/micromark-util-character.mjs";
141
- import "../_libs/micromark-core-commonmark.mjs";
142
- import "../_libs/micromark-util-classify-character+[...].mjs";
143
- import "../_libs/micromark-util-resolve-all.mjs";
144
- import "../_libs/micromark-util-subtokenize.mjs";
145
- import "../_libs/micromark-factory-destination.mjs";
146
- import "../_libs/micromark-factory-label.mjs";
147
- import "../_libs/micromark-factory-title.mjs";
148
- import "../_libs/micromark-factory-whitespace.mjs";
149
- import "../_libs/micromark-util-html-tag-name.mjs";
150
- import "../_libs/mdast-util-to-string.mjs";
151
- import "../_libs/remark-rehype.mjs";
152
- import "../_libs/mdast-util-to-hast.mjs";
153
- import "../_libs/ungap__structured-clone.mjs";
154
- import "../_libs/micromark-util-sanitize-uri.mjs";
155
- import "../_libs/unist-util-position.mjs";
156
- import "../_libs/trim-lines.mjs";
157
- import "../_libs/unist-util-visit.mjs";
158
- import "../_libs/unist-util-visit-parents.mjs";
159
- import "../_libs/unist-util-is.mjs";
160
- import "../_libs/hast-util-to-jsx-runtime.mjs";
161
- import "../_libs/comma-separated-tokens.mjs";
162
- import "../_libs/property-information.mjs";
163
- import "../_libs/space-separated-tokens.mjs";
164
- import "../_libs/style-to-js.mjs";
165
- import "../_libs/style-to-object.mjs";
166
- import "../_libs/inline-style-parser.mjs";
167
- import "../_libs/hast-util-whitespace.mjs";
168
- import "../_libs/estree-util-is-identifier-name.mjs";
169
- import "../_libs/html-url-attributes.mjs";
119
+ const LazyReactMarkdown = reactExports.lazy(() => import("../_libs/react-markdown.mjs"));
170
120
  const ANSWER_MARKDOWN_CLASS = "prose prose-sm dark:prose-invert max-w-none text-[13px] leading-[1.65] [&_pre]:bg-muted [&_pre]:text-foreground [&_code]:text-[0.8em] [&_p]:my-1 [&_p]:leading-[1.65] [&_ul]:my-1 [&_ol]:my-1 [&_li]:my-0.5 [&_li]:leading-[1.6]";
171
121
  function AnswerMarkdown({ text }) {
172
- return /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: ANSWER_MARKDOWN_CLASS, children: /* @__PURE__ */ jsxRuntimeExports.jsx(Markdown, { children: text }) });
122
+ return /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: ANSWER_MARKDOWN_CLASS, children: /* @__PURE__ */ jsxRuntimeExports.jsx(
123
+ reactExports.Suspense,
124
+ {
125
+ fallback: /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "text-xs text-muted-foreground", children: "Loading Markdown..." }),
126
+ children: /* @__PURE__ */ jsxRuntimeExports.jsx(LazyReactMarkdown, { children: text })
127
+ }
128
+ ) });
173
129
  }
174
130
  function Separator({
175
131
  className,
@@ -263,7 +219,13 @@ const ToolUseBlock = reactExports.memo(function ToolUseBlock2({
263
219
  /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "flex-1" }),
264
220
  open ? /* @__PURE__ */ jsxRuntimeExports.jsx(ChevronDown, { className: "size-3 text-muted-foreground" }) : /* @__PURE__ */ jsxRuntimeExports.jsx(ChevronRight, { className: "size-3 text-muted-foreground" })
265
221
  ] }),
266
- /* @__PURE__ */ jsxRuntimeExports.jsx(CollapsibleContent, { children: /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "px-3 pb-2", children: /* @__PURE__ */ jsxRuntimeExports.jsx(ScrollArea, { className: "max-h-[60vh]", children: /* @__PURE__ */ jsxRuntimeExports.jsx(JsonViewer, { data: safeJsonValue(input), defaultExpandDepth: 0 }) }) }) })
222
+ /* @__PURE__ */ jsxRuntimeExports.jsx(CollapsibleContent, { children: open && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "px-3 pb-2", children: /* @__PURE__ */ jsxRuntimeExports.jsx(ScrollArea, { className: "max-h-[60vh]", children: /* @__PURE__ */ jsxRuntimeExports.jsx(
223
+ reactExports.Suspense,
224
+ {
225
+ fallback: /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "text-xs text-muted-foreground", children: "Loading JSON..." }),
226
+ children: /* @__PURE__ */ jsxRuntimeExports.jsx(LazyJsonViewer, { data: safeJsonValue(input), defaultExpandDepth: 0 })
227
+ }
228
+ ) }) }) })
267
229
  ] }) });
268
230
  });
269
231
  const ResponseContentBlockRenderer = reactExports.memo(function ResponseContentBlockRenderer2({
@@ -335,7 +297,7 @@ function parseToolArguments(raw) {
335
297
  function OpenAIToolCallBlock({ call }) {
336
298
  const [open, setOpen] = reactExports.useState(false);
337
299
  const name = call.function.name ?? "(unnamed tool)";
338
- const parsed = parseToolArguments(call.function.arguments);
300
+ const parsed = open ? parseToolArguments(call.function.arguments) : {};
339
301
  return /* @__PURE__ */ jsxRuntimeExports.jsx(Collapsible, { open, onOpenChange: setOpen, children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "border-l-2 border-sky-400/25 my-1", children: [
340
302
  /* @__PURE__ */ jsxRuntimeExports.jsxs(CollapsibleTrigger, { className: "flex items-center gap-1.5 px-3 py-1 w-full text-left cursor-pointer hover:bg-sky-400/[0.04] transition-colors rounded-r-sm group", children: [
341
303
  /* @__PURE__ */ jsxRuntimeExports.jsx(Terminal, { className: "size-3.5 text-sky-400/70 shrink-0" }),
@@ -344,11 +306,78 @@ function OpenAIToolCallBlock({ call }) {
344
306
  /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "flex-1" }),
345
307
  open ? /* @__PURE__ */ jsxRuntimeExports.jsx(ChevronDown, { className: "size-3 text-muted-foreground" }) : /* @__PURE__ */ jsxRuntimeExports.jsx(ChevronRight, { className: "size-3 text-muted-foreground" })
346
308
  ] }),
347
- /* @__PURE__ */ jsxRuntimeExports.jsx(CollapsibleContent, { children: /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "px-3 pb-2", children: /* @__PURE__ */ jsxRuntimeExports.jsx(ScrollArea, { className: "max-h-[60vh]", children: parsed === null ? (
309
+ /* @__PURE__ */ jsxRuntimeExports.jsx(CollapsibleContent, { children: open && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "px-3 pb-2", children: /* @__PURE__ */ jsxRuntimeExports.jsx(ScrollArea, { className: "max-h-[60vh]", children: parsed === null ? (
348
310
  // JSON.parse failed — show the raw string so the user can
349
311
  // still see what the model tried to call.
350
312
  /* @__PURE__ */ jsxRuntimeExports.jsx("pre", { className: "font-mono text-xs whitespace-pre-wrap break-words text-rose-300/90", children: call.function.arguments })
351
- ) : /* @__PURE__ */ jsxRuntimeExports.jsx(JsonViewer, { data: safeJsonValue(parsed), defaultExpandDepth: 0 }) }) }) })
313
+ ) : /* @__PURE__ */ jsxRuntimeExports.jsx(
314
+ reactExports.Suspense,
315
+ {
316
+ fallback: /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "text-xs text-muted-foreground", children: "Loading JSON..." }),
317
+ children: /* @__PURE__ */ jsxRuntimeExports.jsx(LazyJsonViewer, { data: safeJsonValue(parsed), defaultExpandDepth: 0 })
318
+ }
319
+ ) }) }) })
320
+ ] }) });
321
+ }
322
+ function extractResponsesOutputText(response) {
323
+ if (response.output_text !== void 0 && response.output_text.length > 0) {
324
+ return response.output_text;
325
+ }
326
+ const parts = [];
327
+ for (const outputItem of response.output ?? []) {
328
+ if (safeGetOwnProperty(outputItem, "type") !== "message") continue;
329
+ const content = safeGetOwnProperty(outputItem, "content");
330
+ if (!Array.isArray(content)) continue;
331
+ for (const contentPart of content) {
332
+ const type = safeGetOwnProperty(contentPart, "type");
333
+ const text = safeGetOwnProperty(contentPart, "text");
334
+ if ((type === "output_text" || type === "text") && typeof text === "string") {
335
+ parts.push(text);
336
+ }
337
+ }
338
+ }
339
+ return parts.join("\n");
340
+ }
341
+ function extractResponsesFunctionCalls(response) {
342
+ const calls = [];
343
+ for (const outputItem of response.output ?? []) {
344
+ if (safeGetOwnProperty(outputItem, "type") !== "function_call") continue;
345
+ const name = safeGetOwnProperty(outputItem, "name");
346
+ if (typeof name !== "string" || name.length === 0) continue;
347
+ const id = safeGetOwnProperty(outputItem, "id");
348
+ const callId = safeGetOwnProperty(outputItem, "call_id");
349
+ const args = safeGetOwnProperty(outputItem, "arguments");
350
+ const status = safeGetOwnProperty(outputItem, "status");
351
+ calls.push({
352
+ id: typeof id === "string" && id.length > 0 ? id : null,
353
+ callId: typeof callId === "string" && callId.length > 0 ? callId : null,
354
+ name,
355
+ argumentsText: typeof args === "string" ? args : "",
356
+ status: typeof status === "string" && status.length > 0 ? status : null
357
+ });
358
+ }
359
+ return calls;
360
+ }
361
+ function ResponsesFunctionCallBlock({ call }) {
362
+ const [open, setOpen] = reactExports.useState(false);
363
+ const parsed = open ? parseToolArguments(call.argumentsText) : {};
364
+ const identity = call.callId ?? call.id;
365
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(Collapsible, { open, onOpenChange: setOpen, children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "border-l-2 border-sky-400/25 my-1", children: [
366
+ /* @__PURE__ */ jsxRuntimeExports.jsxs(CollapsibleTrigger, { className: "flex items-center gap-1.5 px-3 py-1 w-full text-left cursor-pointer hover:bg-sky-400/[0.04] transition-colors rounded-r-sm group", children: [
367
+ /* @__PURE__ */ jsxRuntimeExports.jsx(Terminal, { className: "size-3.5 text-sky-400/70 shrink-0" }),
368
+ /* @__PURE__ */ jsxRuntimeExports.jsx(Badge, { variant: "outline", className: "text-[10px] font-mono px-1.5 py-0 h-4", children: call.name }),
369
+ identity !== null && /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "text-[10px] font-mono text-muted-foreground/60 truncate", children: identity }),
370
+ call.status !== null && /* @__PURE__ */ jsxRuntimeExports.jsx(Badge, { variant: "secondary", className: "text-[10px] px-1.5 py-0 h-4 font-mono", children: call.status }),
371
+ /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "flex-1" }),
372
+ open ? /* @__PURE__ */ jsxRuntimeExports.jsx(ChevronDown, { className: "size-3 text-muted-foreground" }) : /* @__PURE__ */ jsxRuntimeExports.jsx(ChevronRight, { className: "size-3 text-muted-foreground" })
373
+ ] }),
374
+ /* @__PURE__ */ jsxRuntimeExports.jsx(CollapsibleContent, { children: open && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "px-3 pb-2", children: /* @__PURE__ */ jsxRuntimeExports.jsx(ScrollArea, { className: "max-h-[60vh]", children: parsed === null ? /* @__PURE__ */ jsxRuntimeExports.jsx("pre", { className: "font-mono text-xs whitespace-pre-wrap break-words text-rose-300/90", children: call.argumentsText }) : /* @__PURE__ */ jsxRuntimeExports.jsx(
375
+ reactExports.Suspense,
376
+ {
377
+ fallback: /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "text-xs text-muted-foreground", children: "Loading JSON..." }),
378
+ children: /* @__PURE__ */ jsxRuntimeExports.jsx(LazyJsonViewer, { data: safeJsonValue(parsed), defaultExpandDepth: 0 })
379
+ }
380
+ ) }) }) })
352
381
  ] }) });
353
382
  }
354
383
  const OpenAIResponseView = reactExports.memo(function OpenAIResponseView2({
@@ -412,12 +441,58 @@ const OpenAIResponseView = reactExports.memo(function OpenAIResponseView2({
412
441
  ] })
413
442
  ] });
414
443
  });
444
+ const OpenAIResponsesResponseView = reactExports.memo(function OpenAIResponsesResponseView2({
445
+ response
446
+ }) {
447
+ const text = extractResponsesOutputText(response);
448
+ const calls = extractResponsesFunctionCalls(response);
449
+ const status = response.status ?? null;
450
+ const inputTokens = response.usage?.input_tokens ?? 0;
451
+ const outputTokens = response.usage?.output_tokens ?? 0;
452
+ return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "space-y-3", children: [
453
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-center gap-2 flex-wrap", children: [
454
+ response.model !== void 0 && response.model.length > 0 && /* @__PURE__ */ jsxRuntimeExports.jsx(Badge, { variant: "secondary", className: "text-[10px] px-1.5 py-0 h-5 font-mono", children: response.model }),
455
+ status !== null && /* @__PURE__ */ jsxRuntimeExports.jsxs(
456
+ Badge,
457
+ {
458
+ variant: "outline",
459
+ className: "text-[10px] px-1.5 py-0 h-5 font-mono flex items-center gap-1",
460
+ children: [
461
+ /* @__PURE__ */ jsxRuntimeExports.jsx(CircleStop, { className: "size-2.5" }),
462
+ status
463
+ ]
464
+ }
465
+ ),
466
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("span", { className: "flex items-center gap-1 text-muted-foreground text-xs", children: [
467
+ /* @__PURE__ */ jsxRuntimeExports.jsx(Zap, { className: "size-3" }),
468
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("span", { className: "font-mono tabular-nums", children: [
469
+ formatTokens(inputTokens),
470
+ " in / ",
471
+ formatTokens(outputTokens),
472
+ " out"
473
+ ] })
474
+ ] })
475
+ ] }),
476
+ /* @__PURE__ */ jsxRuntimeExports.jsx(Separator, { className: "opacity-50" }),
477
+ /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "space-y-2", children: [
478
+ text.length > 0 && /* @__PURE__ */ jsxRuntimeExports.jsx(AnswerMarkdown, { text }),
479
+ calls.map((call, i) => (
480
+ // biome-ignore lint/suspicious/noArrayIndexKey: response output order is stable
481
+ /* @__PURE__ */ jsxRuntimeExports.jsx(ResponsesFunctionCallBlock, { call }, call.callId ?? call.id ?? `call-${i}`)
482
+ )),
483
+ text.length === 0 && calls.length === 0 && /* @__PURE__ */ jsxRuntimeExports.jsx("p", { className: "text-xs text-muted-foreground italic", children: "Empty response content" })
484
+ ] })
485
+ ] });
486
+ });
415
487
  function isRecord(value) {
416
488
  return typeof value === "object" && value !== null && !Array.isArray(value);
417
489
  }
418
490
  function isOpenAIResponse(response) {
419
491
  return isRecord(response) && response.object === "chat.completion";
420
492
  }
493
+ function isOpenAIResponsesResponse(response) {
494
+ return isRecord(response) && response.object === "response";
495
+ }
421
496
  function isAnthropicResponse(response) {
422
497
  return isRecord(response) && response.type === "message" && Array.isArray(response.content);
423
498
  }
@@ -425,6 +500,9 @@ function formatViewFor(apiFormat, response) {
425
500
  if (apiFormat === "openai" && isOpenAIResponse(response)) {
426
501
  return /* @__PURE__ */ jsxRuntimeExports.jsx(OpenAIResponseView, { response });
427
502
  }
503
+ if (apiFormat === "openai" && isOpenAIResponsesResponse(response)) {
504
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(OpenAIResponsesResponseView, { response });
505
+ }
428
506
  if (apiFormat === "anthropic" && isAnthropicResponse(response)) {
429
507
  return /* @__PURE__ */ jsxRuntimeExports.jsx(StructuredResponseViewAnthropic, { response });
430
508
  }
@@ -1,6 +1,6 @@
1
1
  import { r as reactExports, j as jsxRuntimeExports } from "../_libs/react.mjs";
2
- import { m as TooltipProvider, n as Tooltip, o as TooltipTrigger, B as Badge, p as TooltipContent, E as JsonViewer } from "./ProxyViewerContainer-BW2vVCBN.mjs";
3
- import "./router-DhL9Wp3N.mjs";
2
+ import { m as TooltipProvider, n as Tooltip, o as TooltipTrigger, B as Badge, p as TooltipContent, E as LazyJsonViewer } from "./ProxyViewerContainer-CRBkqFlJ.mjs";
3
+ import "./router-DVeuZFqI.mjs";
4
4
  import "../_libs/modelcontextprotocol__server.mjs";
5
5
  import "../_libs/jszip.mjs";
6
6
  import { C as ChevronDown, f as ChevronRight, L as LoaderCircle } from "../_libs/lucide-react.mjs";
@@ -39,9 +39,9 @@ import "../_libs/use-sidecar.mjs";
39
39
  import "../_libs/use-callback-ref.mjs";
40
40
  import "../_libs/aria-hidden.mjs";
41
41
  import "../_libs/class-variance-authority.mjs";
42
- import "../_libs/diff.mjs";
43
42
  import "../_libs/tanstack__react-virtual.mjs";
44
43
  import "../_libs/tanstack__virtual-core.mjs";
44
+ import "../_libs/diff.mjs";
45
45
  import "../_libs/radix-ui__react-select.mjs";
46
46
  import "../_libs/radix-ui__number.mjs";
47
47
  import "../_libs/radix-ui__react-collection.mjs";
@@ -55,60 +55,6 @@ import "../_libs/radix-ui__react-arrow.mjs";
55
55
  import "../_libs/radix-ui__react-use-size.mjs";
56
56
  import "../_libs/radix-ui__react-use-previous.mjs";
57
57
  import "../_libs/@radix-ui/react-visually-hidden+[...].mjs";
58
- import "../_libs/react-markdown.mjs";
59
- import "../_libs/devlop.mjs";
60
- import "../_libs/unified.mjs";
61
- import "../_libs/bail.mjs";
62
- import "../_libs/extend.mjs";
63
- import "../_libs/is-plain-obj.mjs";
64
- import "../_libs/trough.mjs";
65
- import "../_libs/vfile.mjs";
66
- import "../_libs/vfile-message.mjs";
67
- import "../_libs/unist-util-stringify-position.mjs";
68
- import "node:process";
69
- import "node:path";
70
- import "node:url";
71
- import "../_libs/remark-parse.mjs";
72
- import "../_libs/mdast-util-from-markdown.mjs";
73
- import "../_libs/micromark-util-decode-numeric-character-reference+[...].mjs";
74
- import "../_libs/micromark-util-decode-string.mjs";
75
- import "../_libs/decode-named-character-reference+[...].mjs";
76
- import "../_libs/character-entities.mjs";
77
- import "../_libs/micromark-util-normalize-identifier+[...].mjs";
78
- import "../_libs/micromark.mjs";
79
- import "../_libs/micromark-util-combine-extensions+[...].mjs";
80
- import "../_libs/micromark-util-chunked.mjs";
81
- import "../_libs/micromark-factory-space.mjs";
82
- import "../_libs/micromark-util-character.mjs";
83
- import "../_libs/micromark-core-commonmark.mjs";
84
- import "../_libs/micromark-util-classify-character+[...].mjs";
85
- import "../_libs/micromark-util-resolve-all.mjs";
86
- import "../_libs/micromark-util-subtokenize.mjs";
87
- import "../_libs/micromark-factory-destination.mjs";
88
- import "../_libs/micromark-factory-label.mjs";
89
- import "../_libs/micromark-factory-title.mjs";
90
- import "../_libs/micromark-factory-whitespace.mjs";
91
- import "../_libs/micromark-util-html-tag-name.mjs";
92
- import "../_libs/mdast-util-to-string.mjs";
93
- import "../_libs/remark-rehype.mjs";
94
- import "../_libs/mdast-util-to-hast.mjs";
95
- import "../_libs/ungap__structured-clone.mjs";
96
- import "../_libs/micromark-util-sanitize-uri.mjs";
97
- import "../_libs/unist-util-position.mjs";
98
- import "../_libs/trim-lines.mjs";
99
- import "../_libs/unist-util-visit.mjs";
100
- import "../_libs/unist-util-visit-parents.mjs";
101
- import "../_libs/unist-util-is.mjs";
102
- import "../_libs/hast-util-to-jsx-runtime.mjs";
103
- import "../_libs/comma-separated-tokens.mjs";
104
- import "../_libs/property-information.mjs";
105
- import "../_libs/space-separated-tokens.mjs";
106
- import "../_libs/style-to-js.mjs";
107
- import "../_libs/style-to-object.mjs";
108
- import "../_libs/inline-style-parser.mjs";
109
- import "../_libs/hast-util-whitespace.mjs";
110
- import "../_libs/estree-util-is-identifier-name.mjs";
111
- import "../_libs/html-url-attributes.mjs";
112
58
  import "../_libs/zod.mjs";
113
59
  import "../_libs/radix-ui__react-tabs.mjs";
114
60
  import "../_libs/radix-ui__react-roving-focus.mjs";
@@ -130,10 +76,13 @@ import "node:fs";
130
76
  import "node:fs/promises";
131
77
  import "node:readline";
132
78
  import "node:buffer";
79
+ import "node:path";
133
80
  import "node:crypto";
134
81
  import "node:child_process";
82
+ import "node:url";
135
83
  import "../_libs/conf.mjs";
136
84
  import "node:util";
85
+ import "node:process";
137
86
  import "node:assert";
138
87
  import "../_libs/dot-prop.mjs";
139
88
  import "../_libs/env-paths.mjs";
@@ -270,7 +219,13 @@ const StreamingChunkSequence = reactExports.memo(function StreamingChunkSequence
270
219
  ] }),
271
220
  /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "text-[10px] text-muted-foreground font-mono", children: chunk.type })
272
221
  ] }),
273
- /* @__PURE__ */ jsxRuntimeExports.jsx(JsonViewer, { data: chunk, defaultExpandDepth: 0, showCopy: true })
222
+ /* @__PURE__ */ jsxRuntimeExports.jsx(
223
+ reactExports.Suspense,
224
+ {
225
+ fallback: /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "text-xs text-muted-foreground", children: "Loading JSON..." }),
226
+ children: /* @__PURE__ */ jsxRuntimeExports.jsx(LazyJsonViewer, { data: chunk, defaultExpandDepth: 0, showCopy: true })
227
+ }
228
+ )
274
229
  ] }, chunk.index)) })
275
230
  ] }, group.index);
276
231
  })