@mcp-use/inspector 20.0.0-beta.5 → 20.0.0-beta.6

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 (60) hide show
  1. package/dist/cdn/{ChatTab-B255lH5i.js → ChatTab-D6J3Gyp7.js} +885 -837
  2. package/dist/cdn/{ConnectionSettingsForm-DF-NS58d.js → ConnectionSettingsForm-CWQueI8J.js} +1 -1
  3. package/dist/cdn/{ConnectionSettingsTab-dI-Cqe79.js → ConnectionSettingsTab-FGyt3QaI.js} +1 -1
  4. package/dist/cdn/{MarkdownRenderer-Ba7nA4Ie.js → MarkdownRenderer-gLqUICEd.js} +1 -1
  5. package/dist/cdn/{OAuthCallback-Blc2Asxc.js → OAuthCallback-Bg2bP-o9.js} +1 -1
  6. package/dist/cdn/{PromptsTab-BYKnY7Rp.js → PromptsTab-C4LuwyWN.js} +1 -1
  7. package/dist/cdn/{ResourcesTab-BGualKW-.js → ResourcesTab-CQkKni-P.js} +5 -5
  8. package/dist/cdn/{SamplingTab-BeZBUeni.js → SamplingTab-D8q-iCMc.js} +3 -3
  9. package/dist/cdn/{ToolsTab-j6n4O_3s.js → ToolsTab-6xaVH43x.js} +4 -4
  10. package/dist/cdn/{ViewPreview-DihyG6Qd.js → ViewPreview-Ohh6JwOn.js} +2 -2
  11. package/dist/cdn/{WidgetWrapper-B4H3Fek7.js → WidgetWrapper-CruwjBOd.js} +2 -2
  12. package/dist/cdn/{dist-DbX5yidW.js → dist-CXHFvGre.js} +3 -2
  13. package/dist/cdn/inspector.js +5 -5
  14. package/dist/cdn/{react-BajV-X4P.js → react-BLtCruam.js} +575 -568
  15. package/dist/cdn/{telemetry-DabTAQ8x.js → telemetry-C7Ytz2BG.js} +1 -1
  16. package/dist/cdn/{useConfig-Btmh8wjJ.js → useConfig-BW6uQf2m.js} +2 -2
  17. package/dist/cdn/{useViewHostProps-B6SKeeH9.js → useViewHostProps-CINeSkth.js} +1 -1
  18. package/dist/cli.js +1 -1
  19. package/dist/client/components/chat/MessageList.d.ts +1 -0
  20. package/dist/client/components/chat/MessageList.d.ts.map +1 -1
  21. package/dist/client/components/chat/ToolResultRenderer.d.ts.map +1 -1
  22. package/dist/client/components/chat/partialToolArgs.d.ts +10 -0
  23. package/dist/client/components/chat/partialToolArgs.d.ts.map +1 -0
  24. package/dist/client/components/chat/types.d.ts +1 -0
  25. package/dist/client/components/chat/types.d.ts.map +1 -1
  26. package/dist/client/components/chat/useChatMessages.d.ts.map +1 -1
  27. package/dist/client/components/chat/useChatMessagesClientSide.d.ts.map +1 -1
  28. package/dist/client/index.js +158 -81
  29. package/dist/server/cdn-shell.js +2 -2
  30. package/dist/server/{chunk-ZCGLU5T7.js → chunk-GBY4WAVP.js} +1 -1
  31. package/dist/server/{chunk-DSTNUYWX.js → chunk-IFF5T5J4.js} +1 -1
  32. package/dist/server/{chunk-SQ4XNMLT.js → chunk-NUHI6MJ6.js} +1 -1
  33. package/dist/server/cli.js +2 -2
  34. package/dist/server/index.js +3 -3
  35. package/dist/server/middleware.js +3 -3
  36. package/dist/server/version.js +1 -1
  37. package/dist/web/assets/ChatTab-CsBPVCSc.js +18 -0
  38. package/dist/web/assets/{ConnectionSettingsTab-BjGkLwVu.js → ConnectionSettingsTab-DQTXfnl1.js} +1 -1
  39. package/dist/web/assets/{ElicitationTab-D3ZUKHND.js → ElicitationTab-_FKB7nNG.js} +1 -1
  40. package/dist/web/assets/{ManufactOAuthCallback-CS3ydSZg.js → ManufactOAuthCallback-BRO6TPkZ.js} +1 -1
  41. package/dist/web/assets/{MarkdownRenderer-BeeBfQhv.js → MarkdownRenderer-gaJFjbtr.js} +1 -1
  42. package/dist/web/assets/{NotificationsTab-Uj0_DrmK.js → NotificationsTab-LYcfRjyd.js} +1 -1
  43. package/dist/web/assets/{OAuthCallback-C0ljgCiw.js → OAuthCallback-D8UItgTB.js} +1 -1
  44. package/dist/web/assets/{PromptsTab-Bns2u0G-.js → PromptsTab-B2uVMRR2.js} +1 -1
  45. package/dist/web/assets/{ResourcesTab-CO24312V.js → ResourcesTab-DhOZYPjE.js} +1 -1
  46. package/dist/web/assets/{SamplingTab-7gtN7FwU.js → SamplingTab-C-oY2hoi.js} +1 -1
  47. package/dist/web/assets/{ServerMetadataTab-CQwqYSjL.js → ServerMetadataTab-BkTxO5KS.js} +1 -1
  48. package/dist/web/assets/{ToolsTab-bDdRxI1b.js → ToolsTab-DupHgo7A.js} +1 -1
  49. package/dist/web/assets/{ViewPreview-Ba1Ec5uA.js → ViewPreview--z6jL0Zg.js} +1 -1
  50. package/dist/web/assets/{WidgetWrapper-CYHfzrtb.js → WidgetWrapper-CZaEVEw4.js} +1 -1
  51. package/dist/web/assets/{checkbox-CzBkaNKa.js → checkbox-BQ9mI_6k.js} +1 -1
  52. package/dist/web/assets/{dist-C5JjLJN9.js → dist-B8sA8Zml.js} +5 -5
  53. package/dist/web/assets/{index-TQ5V7cM9.js → index-C_fCIJ4C.js} +3 -3
  54. package/dist/web/assets/{shared-BF0rJNdE.js → shared-CCC9rTz4.js} +1 -1
  55. package/dist/web/assets/{tabs-subtle-6D79T1xd.js → tabs-subtle-246ABJqx.js} +1 -1
  56. package/dist/web/assets/{useConfig-BAgALiZg.js → useConfig-BAsKhUxf.js} +1 -1
  57. package/dist/web/assets/{useViewHostProps-BYitt_6K.js → useViewHostProps-CV5zBxUb.js} +1 -1
  58. package/dist/web/index.html +2 -2
  59. package/package.json +3 -3
  60. package/dist/web/assets/ChatTab-BCobuZDc.js +0 -18
@@ -162,7 +162,7 @@ function b() {
162
162
  let e = window.__INSPECTOR_VERSION__;
163
163
  if (e !== void 0 && e !== "") return e;
164
164
  }
165
- return "20.0.0-beta.4";
165
+ return "20.0.0-beta.5";
166
166
  } catch {
167
167
  return "0.0.0";
168
168
  }
@@ -1,6 +1,6 @@
1
1
  import { s as e, t } from "./react-BIs9pQ3H.js";
2
- import { o as n, t as r } from "./telemetry-DabTAQ8x.js";
3
- import { t as i } from "./dist-DbX5yidW.js";
2
+ import { o as n, t as r } from "./telemetry-C7Ytz2BG.js";
3
+ import { t as i } from "./dist-CXHFvGre.js";
4
4
  //#region src/client/components/chat/types.ts
5
5
  var a = /* @__PURE__ */ e(t(), 1), o = {
6
6
  openai: "gpt-5.6-terra",
@@ -1,5 +1,5 @@
1
1
  import { s as e, t } from "./react-BIs9pQ3H.js";
2
- import { d as n } from "./react-BajV-X4P.js";
2
+ import { d as n } from "./react-BLtCruam.js";
3
3
  import { i as r, r as i, s as a, t as o } from "./WidgetDebugContext-D4usL_MA.js";
4
4
  //#region src/client/console-log-bus.ts
5
5
  var s = /* @__PURE__ */ e(t(), 1), c = new class {
package/dist/cli.js CHANGED
@@ -182,7 +182,7 @@ function registerInspectorStaticAssets(app2, basePath = "") {
182
182
  var package_default = {
183
183
  name: "@mcp-use/inspector",
184
184
  type: "module",
185
- version: "20.0.0-beta.4",
185
+ version: "20.0.0-beta.5",
186
186
  description: "MCP Inspector - A tool for inspecting and debugging MCP servers",
187
187
  author: "",
188
188
  license: "MIT",
@@ -15,6 +15,7 @@ interface Message {
15
15
  type: "text" | "tool-invocation";
16
16
  text?: string;
17
17
  toolInvocation?: {
18
+ toolCallId?: string;
18
19
  toolName: string;
19
20
  args: Record<string, unknown>;
20
21
  result?: any;
@@ -1 +1 @@
1
- {"version":3,"file":"MessageList.d.ts","sourceRoot":"","sources":["../../../../src/client/components/chat/MessageList.tsx"],"names":[],"mappings":"AACA,OAAO,EAA8B,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAMnE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAEjD,OAAO,EAAwB,KAAK,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAEzE,UAAU,OAAO;IACf,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;IAC3B,OAAO,EAAE,MAAM,GAAG,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACvE,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAClC,KAAK,CAAC,EAAE,KAAK,CAAC;QACZ,IAAI,EAAE,MAAM,GAAG,iBAAiB,CAAC;QACjC,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,cAAc,CAAC,EAAE;YACf,QAAQ,EAAE,MAAM,CAAC;YACjB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YAC9B,MAAM,CAAC,EAAE,GAAG,CAAC;YACb,KAAK,CAAC,EAAE,SAAS,GAAG,WAAW,GAAG,QAAQ,GAAG,OAAO,CAAC;YACrD,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;SACvC,CAAC;KACH,CAAC,CAAC;IACH,SAAS,CAAC,EAAE,KAAK,CAAC;QAChB,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC9B,MAAM,CAAC,EAAE,GAAG,CAAC;KACd,CAAC,CAAC;CACJ;AAED,UAAU,gBAAgB;IACxB,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;IAC7C,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC;IACd,WAAW,CAAC,EAAE,CACZ,OAAO,EAAE,MAAM,EACf,WAAW,CAAC,EAAE,iBAAiB,EAAE,KAC9B,OAAO,CAAC,IAAI,CAAC,CAAC;IACnB,wFAAwF;IACxF,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,mFAAmF;IACnF,cAAc,CAAC,EAAE,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IAClD,qEAAqE;IACrE,WAAW,CAAC,EAAE,mBAAmB,EAAE,CAAC;CACrC;AAED,eAAO,MAAM,WAAW,0IAUnB,gBAAgB,6CAmTpB,CAAC"}
1
+ {"version":3,"file":"MessageList.d.ts","sourceRoot":"","sources":["../../../../src/client/components/chat/MessageList.tsx"],"names":[],"mappings":"AACA,OAAO,EAA8B,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAMnE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAEjD,OAAO,EAAwB,KAAK,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAEzE,UAAU,OAAO;IACf,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;IAC3B,OAAO,EAAE,MAAM,GAAG,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACvE,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAClC,KAAK,CAAC,EAAE,KAAK,CAAC;QACZ,IAAI,EAAE,MAAM,GAAG,iBAAiB,CAAC;QACjC,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,cAAc,CAAC,EAAE;YACf,UAAU,CAAC,EAAE,MAAM,CAAC;YACpB,QAAQ,EAAE,MAAM,CAAC;YACjB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YAC9B,MAAM,CAAC,EAAE,GAAG,CAAC;YACb,KAAK,CAAC,EAAE,SAAS,GAAG,WAAW,GAAG,QAAQ,GAAG,OAAO,CAAC;YACrD,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;SACvC,CAAC;KACH,CAAC,CAAC;IACH,SAAS,CAAC,EAAE,KAAK,CAAC;QAChB,QAAQ,EAAE,MAAM,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAC9B,MAAM,CAAC,EAAE,GAAG,CAAC;KACd,CAAC,CAAC;CACJ;AAED,UAAU,gBAAgB;IACxB,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;IAC7C,KAAK,CAAC,EAAE,GAAG,EAAE,CAAC;IACd,WAAW,CAAC,EAAE,CACZ,OAAO,EAAE,MAAM,EACf,WAAW,CAAC,EAAE,iBAAiB,EAAE,KAC9B,OAAO,CAAC,IAAI,CAAC,CAAC;IACnB,wFAAwF;IACxF,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,mFAAmF;IACnF,cAAc,CAAC,EAAE,SAAS,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IAClD,qEAAqE;IACrE,WAAW,CAAC,EAAE,mBAAmB,EAAE,CAAC;CACrC;AAED,eAAO,MAAM,WAAW,0IAUnB,gBAAgB,6CAmTpB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ToolResultRenderer.d.ts","sourceRoot":"","sources":["../../../../src/client/components/chat/ToolResultRenderer.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAsBhF,UAAU,uBAAuB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,MAAM,EAAE,GAAG,CAAC;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;IAC7C,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC/B,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,mBAAmB,EAAE,KAAK,IAAI,CAAC;IAC1D,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC1C,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,wBAAgB,kBAAkB,CAAC,EACjC,QAAQ,EACR,QAAQ,EACR,MAAM,EACN,QAAQ,EACR,YAAY,EACZ,QAAQ,EACR,cAAc,EACd,eAAe,EACf,SAAS,GACV,EAAE,uBAAuB,kDAiFzB"}
1
+ {"version":3,"file":"ToolResultRenderer.d.ts","sourceRoot":"","sources":["../../../../src/client/components/chat/ToolResultRenderer.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAsBhF,UAAU,uBAAuB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,MAAM,EAAE,GAAG,CAAC;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;IAC7C,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC/B,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,mBAAmB,EAAE,KAAK,IAAI,CAAC;IAC1D,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC1C,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,wBAAgB,kBAAkB,CAAC,EACjC,QAAQ,EACR,QAAQ,EACR,MAAM,EACN,QAAQ,EACR,YAAY,EACZ,QAAQ,EACR,cAAc,EACd,eAAe,EACf,SAAS,GACV,EAAE,uBAAuB,kDAgFzB"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Parse an in-progress JSON object emitted by an LLM tool call.
3
+ *
4
+ * Tool arguments frequently contain code, SVG, or JSON-as-a-string. Counting
5
+ * braces with a regular expression breaks for those inputs because braces
6
+ * inside a JSON string are data, not structure. This scanner only heals
7
+ * delimiters outside strings and closes a trailing string when possible.
8
+ */
9
+ export declare function parsePartialToolArgs(raw: string): Record<string, unknown> | undefined;
10
+ //# sourceMappingURL=partialToolArgs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"partialToolArgs.d.ts","sourceRoot":"","sources":["../../../../src/client/components/chat/partialToolArgs.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,MAAM,GACV,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CA0CrC"}
@@ -20,6 +20,7 @@ export interface Message {
20
20
  type: "text" | "tool-invocation";
21
21
  text?: string;
22
22
  toolInvocation?: {
23
+ toolCallId?: string;
23
24
  toolName: string;
24
25
  args: Record<string, unknown>;
25
26
  result?: any;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/client/components/chat/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/client/components/chat/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"useChatMessages.d.ts","sourceRoot":"","sources":["../../../../src/client/components/chat/useChatMessages.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAK9D,OAAO,KAAK,EACV,UAAU,EACV,SAAS,EACT,OAAO,EACP,iBAAiB,EACjB,cAAc,EACf,MAAM,SAAS,CAAC;AAEjB,OAAO,EAKL,KAAK,mBAAmB,EAEzB,MAAM,SAAS,CAAC;AACjB,OAAO,EAGL,KAAK,iBAAiB,EACvB,MAAM,qBAAqB,CAAC;AAE7B,UAAU,kBAAkB;IAC1B,OAAO,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAChD,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC7C;AAED,UAAU,oBAAoB;IAC5B,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,SAAS,GAAG,IAAI,CAAC;IAC5B,UAAU,EAAE,UAAU,GAAG,IAAI,CAAC;IAC9B,0FAA0F;IAC1F,aAAa,CAAC,EAAE,UAAU,CAAC,aAAa,CAAC,CAAC;IAC1C,WAAW,EAAE,OAAO,CAAC;IACrB,4FAA4F;IAC5F,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,4HAA4H;IAC5H,iBAAiB,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IACtD,uEAAuE;IACvE,mBAAmB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,kBAAkB,GAAG,SAAS,CAAC,CAAC;IAClE,iGAAiG;IACjG,eAAe,CAAC,EAAE,OAAO,EAAE,CAAC;IAC5B,yGAAyG;IACzG,aAAa,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC5B;;;;OAIG;IACH,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,gGAAgG;IAChG,WAAW,CAAC,EAAE,kBAAkB,CAAC;IACjC,0DAA0D;IAC1D,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,CACL,QAAQ,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAC;QAAC,WAAW,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC,KACvE,OAAO,CAAC;CACd;AAED,wBAAgB,eAAe,CAAC,EAC9B,YAAY,EACZ,SAAS,EACT,UAAU,EACV,aAAa,EACb,WAAW,EACX,UAAU,EACV,iBAAiB,EACjB,mBAAmB,EACnB,eAAe,EACf,aAAa,EACb,cAAsB,EACtB,WAAW,EACX,YAAY,EACZ,IAAI,EAAE,WAAW,GAClB,EAAE,oBAAoB;;;;;;sBAQL,MAAM;kBACV,MAAM;;6BAgBH,MAAM,iBACF,YAAY,EAAE,qBACV,iBAAiB,EAAE;;;oCAgnBS,iBAAiB;;;;0BAgBrB,IAAI;8BAwBN,MAAM;;;;;EA4BpD"}
1
+ {"version":3,"file":"useChatMessages.d.ts","sourceRoot":"","sources":["../../../../src/client/components/chat/useChatMessages.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAK9D,OAAO,KAAK,EACV,UAAU,EACV,SAAS,EACT,OAAO,EACP,iBAAiB,EACjB,cAAc,EACf,MAAM,SAAS,CAAC;AAEjB,OAAO,EAKL,KAAK,mBAAmB,EAEzB,MAAM,SAAS,CAAC;AACjB,OAAO,EAGL,KAAK,iBAAiB,EACvB,MAAM,qBAAqB,CAAC;AAG7B,UAAU,kBAAkB;IAC1B,OAAO,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAChD,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC7C;AAED,UAAU,oBAAoB;IAC5B,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,SAAS,GAAG,IAAI,CAAC;IAC5B,UAAU,EAAE,UAAU,GAAG,IAAI,CAAC;IAC9B,0FAA0F;IAC1F,aAAa,CAAC,EAAE,UAAU,CAAC,aAAa,CAAC,CAAC;IAC1C,WAAW,EAAE,OAAO,CAAC;IACrB,4FAA4F;IAC5F,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,4HAA4H;IAC5H,iBAAiB,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IACtD,uEAAuE;IACvE,mBAAmB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,kBAAkB,GAAG,SAAS,CAAC,CAAC;IAClE,iGAAiG;IACjG,eAAe,CAAC,EAAE,OAAO,EAAE,CAAC;IAC5B,yGAAyG;IACzG,aAAa,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC5B;;;;OAIG;IACH,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,gGAAgG;IAChG,WAAW,CAAC,EAAE,kBAAkB,CAAC;IACjC,0DAA0D;IAC1D,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,CACL,QAAQ,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAC;QAAC,WAAW,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC,KACvE,OAAO,CAAC;CACd;AAED,wBAAgB,eAAe,CAAC,EAC9B,YAAY,EACZ,SAAS,EACT,UAAU,EACV,aAAa,EACb,WAAW,EACX,UAAU,EACV,iBAAiB,EACjB,mBAAmB,EACnB,eAAe,EACf,aAAa,EACb,cAAsB,EACtB,WAAW,EACX,YAAY,EACZ,IAAI,EAAE,WAAW,GAClB,EAAE,oBAAoB;;;;;;sBAQL,MAAM;kBACV,MAAM;;6BAgBH,MAAM,iBACF,YAAY,EAAE,qBACV,iBAAiB,EAAE;;;oCA+sBS,iBAAiB;;;;0BAgBrB,IAAI;8BAwBN,MAAM;;;;;EA4BpD"}
@@ -1 +1 @@
1
- {"version":3,"file":"useChatMessagesClientSide.d.ts","sourceRoot":"","sources":["../../../../src/client/components/chat/useChatMessagesClientSide.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAEvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAK9D,OAAO,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAErE,OAAO,EAGL,KAAK,mBAAmB,EAEzB,MAAM,SAAS,CAAC;AAEjB,OAAO,EAGL,KAAK,iBAAiB,EACvB,MAAM,qBAAqB,CAAC;AAG7B,KAAK,aAAa,GAAG,SAAS,CAAC;AAE/B,UAAU,kBAAkB;IAC1B,OAAO,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAChD,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC7C;AAED,UAAU,8BAA8B;IACtC,UAAU,EAAE,aAAa,CAAC;IAC1B,SAAS,EAAE,SAAS,GAAG,IAAI,CAAC;IAC5B,WAAW,EAAE,OAAO,CAAC;IACrB,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;IAC7C,mBAAmB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,kBAAkB,GAAG,SAAS,CAAC,CAAC;IAClE,aAAa,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC5B,eAAe,CAAC,EAAE,OAAO,EAAE,CAAC;IAC5B,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,wBAAgB,yBAAyB,CAAC,EACxC,UAAU,EACV,SAAS,EACT,WAAW,EACX,YAAY,EACZ,mBAAmB,EACnB,aAAa,EACb,eAAe,EACf,YAAyC,GAC1C,EAAE,8BAA8B;;;;;6BA2BhB,MAAM,iBACF,YAAY,EAAE,qBACV,iBAAiB,EAAE;;;oCAgfS,iBAAiB;;;0BAjCrB,IAAI;8BAqBN,MAAM;;;;;EAkCpD"}
1
+ {"version":3,"file":"useChatMessagesClientSide.d.ts","sourceRoot":"","sources":["../../../../src/client/components/chat/useChatMessagesClientSide.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAEvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAK9D,OAAO,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAErE,OAAO,EAGL,KAAK,mBAAmB,EAEzB,MAAM,SAAS,CAAC;AAEjB,OAAO,EAGL,KAAK,iBAAiB,EACvB,MAAM,qBAAqB,CAAC;AAI7B,KAAK,aAAa,GAAG,SAAS,CAAC;AAE/B,UAAU,kBAAkB;IAC1B,OAAO,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAChD,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC7C;AAED,UAAU,8BAA8B;IACtC,UAAU,EAAE,aAAa,CAAC;IAC1B,SAAS,EAAE,SAAS,GAAG,IAAI,CAAC;IAC5B,WAAW,EAAE,OAAO,CAAC;IACrB,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;IAC7C,mBAAmB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,kBAAkB,GAAG,SAAS,CAAC,CAAC;IAClE,aAAa,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC5B,eAAe,CAAC,EAAE,OAAO,EAAE,CAAC;IAC5B,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,wBAAgB,yBAAyB,CAAC,EACxC,UAAU,EACV,SAAS,EACT,WAAW,EACX,YAAY,EACZ,mBAAmB,EACnB,aAAa,EACb,eAAe,EACf,YAAyC,GAC1C,EAAE,8BAA8B;;;;;6BA2BhB,MAAM,iBACF,YAAY,EAAE,qBACV,iBAAiB,EAAE;;;oCAobS,iBAAiB;;;0BAjCrB,IAAI;8BAqBN,MAAM;;;;;EAkCpD"}
@@ -8837,14 +8837,13 @@ function ToolResultRenderer({
8837
8837
  }, [result]);
8838
8838
  const isMcpAppsTool = isViewTool2(toolMeta);
8839
8839
  const resourceUri = isMcpAppsTool ? toolMeta?.ui?.resourceUri ?? null : null;
8840
- const memoizedToolArgs = useMemo13(() => toolArgs, [toolName, parsedResult]);
8841
8840
  const memoizedResult = useMemo13(() => parsedResult, [toolName, parsedResult]);
8842
8841
  const hostProps = useViewHostProps({
8843
8842
  serverId: serverId ?? "",
8844
8843
  viewId: toolCallId,
8845
8844
  resourceUri: resourceUri ?? "",
8846
8845
  toolName,
8847
- toolInput: memoizedToolArgs,
8846
+ toolInput: toolArgs,
8848
8847
  toolOutput: memoizedResult,
8849
8848
  toolMetadata: toolMeta,
8850
8849
  readResource: readResource ?? (async () => ({}))
@@ -8856,7 +8855,7 @@ function ToolResultRenderer({
8856
8855
  {
8857
8856
  viewId: toolCallId,
8858
8857
  toolName,
8859
- toolInput: memoizedToolArgs,
8858
+ toolInput: toolArgs,
8860
8859
  toolOutput: memoizedResult,
8861
8860
  partialToolInput: partialToolArgs,
8862
8861
  cancelled,
@@ -21098,7 +21097,7 @@ var MessageList = memo2(
21098
21097
  const outputTokens = messageTokenMap.get(message.id)?.outputTokens;
21099
21098
  const lastTextPartIndex = message.parts && message.parts.length > 0 ? getLastTextPartIndex(message.parts) : -1;
21100
21099
  return /* @__PURE__ */ jsx99("div", { className: "space-y-4", children: message.parts && message.parts.length > 0 ? message.parts.map((part, partIndex) => {
21101
- const partKey = part.type === "text" ? `${message.id}-text-${partIndex}` : `${message.id}-tool-${part.toolInvocation?.toolName}-${partIndex}`;
21100
+ const partKey = part.type === "text" ? `${message.id}-text-${partIndex}` : `${message.id}-tool-${part.toolInvocation?.toolCallId ?? `${part.toolInvocation?.toolName}-${partIndex}`}`;
21102
21101
  if (part.type === "text") {
21103
21102
  return /* @__PURE__ */ jsx99(
21104
21103
  AssistantMessage,
@@ -21385,6 +21384,50 @@ var convertPromptResultsToMessages = (results) => {
21385
21384
  return messages;
21386
21385
  };
21387
21386
 
21387
+ // src/client/components/chat/partialToolArgs.ts
21388
+ function parsePartialToolArgs(raw) {
21389
+ if (!raw) return void 0;
21390
+ const complete = parseObject(raw);
21391
+ if (complete) return complete;
21392
+ const stack = [];
21393
+ let inString = false;
21394
+ let escaping = false;
21395
+ for (const char of raw) {
21396
+ if (inString) {
21397
+ if (escaping) {
21398
+ escaping = false;
21399
+ } else if (char === "\\") {
21400
+ escaping = true;
21401
+ } else if (char === '"') {
21402
+ inString = false;
21403
+ }
21404
+ continue;
21405
+ }
21406
+ if (char === '"') {
21407
+ inString = true;
21408
+ } else if (char === "{") {
21409
+ stack.push("}");
21410
+ } else if (char === "[") {
21411
+ stack.push("]");
21412
+ } else if (char === "}" || char === "]") {
21413
+ if (stack[stack.length - 1] === char) stack.pop();
21414
+ }
21415
+ }
21416
+ let healed = raw;
21417
+ if (inString && escaping) healed = healed.slice(0, -1);
21418
+ if (inString) healed += '"';
21419
+ healed += [...stack].reverse().join("");
21420
+ return parseObject(healed);
21421
+ }
21422
+ function parseObject(value) {
21423
+ try {
21424
+ const parsed = JSON.parse(value);
21425
+ return parsed !== null && !Array.isArray(parsed) && typeof parsed === "object" ? parsed : void 0;
21426
+ } catch {
21427
+ return void 0;
21428
+ }
21429
+ }
21430
+
21388
21431
  // src/client/components/chat/useChatMessages.ts
21389
21432
  function useChatMessages({
21390
21433
  mcpServerUrl,
@@ -21606,12 +21649,58 @@ ${parts2.join("\n")}`,
21606
21649
  }
21607
21650
  updateParts();
21608
21651
  };
21609
- const appendToolCall = (toolName, args) => {
21652
+ const toolCallIdToIndex = /* @__PURE__ */ new Map();
21653
+ const toolCallArgBuffers = /* @__PURE__ */ new Map();
21654
+ const appendToolCallStart = (toolCallId, toolName) => {
21610
21655
  if (currentTextPart) currentTextPart = "";
21656
+ if (toolCallIdToIndex.has(toolCallId)) return;
21611
21657
  parts.push({
21612
21658
  type: "tool-invocation",
21613
- toolInvocation: { toolName, args, state: "pending" }
21659
+ toolInvocation: {
21660
+ toolCallId,
21661
+ toolName,
21662
+ args: {},
21663
+ state: "streaming",
21664
+ partialArgs: {}
21665
+ }
21614
21666
  });
21667
+ toolCallIdToIndex.set(toolCallId, parts.length - 1);
21668
+ toolCallArgBuffers.set(toolCallId, "");
21669
+ updateParts();
21670
+ };
21671
+ const appendToolCallDelta = (toolCallId, argsDelta) => {
21672
+ const idx = toolCallIdToIndex.get(toolCallId);
21673
+ if (idx === void 0 || !argsDelta) return;
21674
+ const accumulated = (toolCallArgBuffers.get(toolCallId) ?? "") + argsDelta;
21675
+ toolCallArgBuffers.set(toolCallId, accumulated);
21676
+ const partialArgs = parsePartialToolArgs(accumulated);
21677
+ const invocation = parts[idx]?.toolInvocation;
21678
+ if (!partialArgs || !invocation) return;
21679
+ invocation.partialArgs = partialArgs;
21680
+ updateParts();
21681
+ };
21682
+ const appendToolCall = (toolCallId, toolName, args) => {
21683
+ if (currentTextPart) currentTextPart = "";
21684
+ const existingIndex = toolCallIdToIndex.get(toolCallId);
21685
+ const existingInvocation = existingIndex === void 0 ? void 0 : parts[existingIndex]?.toolInvocation;
21686
+ if (existingInvocation) {
21687
+ existingInvocation.toolName = toolName;
21688
+ existingInvocation.args = args;
21689
+ existingInvocation.state = "pending";
21690
+ existingInvocation.partialArgs = void 0;
21691
+ } else {
21692
+ parts.push({
21693
+ type: "tool-invocation",
21694
+ toolInvocation: {
21695
+ toolCallId,
21696
+ toolName,
21697
+ args,
21698
+ state: "pending"
21699
+ }
21700
+ });
21701
+ toolCallIdToIndex.set(toolCallId, parts.length - 1);
21702
+ }
21703
+ toolCallArgBuffers.delete(toolCallId);
21615
21704
  updateParts();
21616
21705
  };
21617
21706
  const resolveToolResult = (match, result) => {
@@ -21629,7 +21718,6 @@ ${parts2.join("\n")}`,
21629
21718
  updateParts();
21630
21719
  }
21631
21720
  };
21632
- const toolCallIdToIndex = /* @__PURE__ */ new Map();
21633
21721
  let buffer = "";
21634
21722
  while (true) {
21635
21723
  if (abortControllerRef.current?.signal.aborted) {
@@ -21662,6 +21750,30 @@ ${parts2.join("\n")}`,
21662
21750
  appendText(delta);
21663
21751
  break;
21664
21752
  }
21753
+ case "b": {
21754
+ const tc = val;
21755
+ const toolCallId = String(
21756
+ tc.toolCallId ?? `tool-${parts.length}`
21757
+ );
21758
+ const toolName = String(tc.toolName ?? "");
21759
+ recordTrace({
21760
+ type: "tool-call-start",
21761
+ toolCallId,
21762
+ toolName,
21763
+ raw: val
21764
+ });
21765
+ appendToolCallStart(toolCallId, toolName);
21766
+ break;
21767
+ }
21768
+ case "c": {
21769
+ const tc = val;
21770
+ const toolCallId = String(tc.toolCallId ?? "");
21771
+ const argsDelta = String(
21772
+ tc.argsTextDelta ?? tc.argsDelta ?? ""
21773
+ );
21774
+ appendToolCallDelta(toolCallId, argsDelta);
21775
+ break;
21776
+ }
21665
21777
  case "9": {
21666
21778
  const tc = val;
21667
21779
  let args = tc.args ?? {};
@@ -21677,12 +21789,14 @@ ${parts2.join("\n")}`,
21677
21789
  tc.toolCallId ?? `tool-${parts.length}`
21678
21790
  );
21679
21791
  const toolName = String(tc.toolName ?? "");
21680
- recordTrace({
21681
- type: "tool-call-start",
21682
- toolCallId,
21683
- toolName,
21684
- raw: val
21685
- });
21792
+ if (!toolCallIdToIndex.has(toolCallId)) {
21793
+ recordTrace({
21794
+ type: "tool-call-start",
21795
+ toolCallId,
21796
+ toolName,
21797
+ raw: val
21798
+ });
21799
+ }
21686
21800
  recordTrace({
21687
21801
  type: "tool-call-args",
21688
21802
  toolCallId,
@@ -21690,13 +21804,7 @@ ${parts2.join("\n")}`,
21690
21804
  args,
21691
21805
  raw: val
21692
21806
  });
21693
- appendToolCall(toolName, args);
21694
- if (tc.toolCallId) {
21695
- toolCallIdToIndex.set(
21696
- tc.toolCallId,
21697
- parts.length - 1
21698
- );
21699
- }
21807
+ appendToolCall(toolCallId, toolName, args);
21700
21808
  break;
21701
21809
  }
21702
21810
  case "a": {
@@ -21765,7 +21873,7 @@ ${parts2.join("\n")}`,
21765
21873
  raw: event
21766
21874
  });
21767
21875
  appendText(event.content);
21768
- } else if (event.type === "tool-call") {
21876
+ } else if (event.type === "tool-call-start") {
21769
21877
  const toolCallId = event.toolCallId ?? `tool-${parts.length}`;
21770
21878
  recordTrace({
21771
21879
  type: "tool-call-start",
@@ -21773,6 +21881,22 @@ ${parts2.join("\n")}`,
21773
21881
  toolName: event.toolName,
21774
21882
  raw: event
21775
21883
  });
21884
+ appendToolCallStart(toolCallId, event.toolName);
21885
+ } else if (event.type === "tool-call-delta" || event.type === "tool-call-args-delta") {
21886
+ appendToolCallDelta(
21887
+ event.toolCallId,
21888
+ event.argsDelta ?? event.argsTextDelta ?? ""
21889
+ );
21890
+ } else if (event.type === "tool-call") {
21891
+ const toolCallId = event.toolCallId ?? `tool-${parts.length}`;
21892
+ if (!toolCallIdToIndex.has(toolCallId)) {
21893
+ recordTrace({
21894
+ type: "tool-call-start",
21895
+ toolCallId,
21896
+ toolName: event.toolName,
21897
+ raw: event
21898
+ });
21899
+ }
21776
21900
  recordTrace({
21777
21901
  type: "tool-call-args",
21778
21902
  toolCallId,
@@ -21780,7 +21904,7 @@ ${parts2.join("\n")}`,
21780
21904
  args: event.args,
21781
21905
  raw: event
21782
21906
  });
21783
- appendToolCall(event.toolName, event.args);
21907
+ appendToolCall(toolCallId, event.toolName, event.args);
21784
21908
  } else if (event.type === "tool-result") {
21785
21909
  recordTrace({
21786
21910
  type: "tool-result",
@@ -21790,8 +21914,9 @@ ${parts2.join("\n")}`,
21790
21914
  isError: event.isError ?? event.result?.isError,
21791
21915
  raw: event
21792
21916
  });
21917
+ const resultIndex = toolCallIdToIndex.get(event.toolCallId);
21793
21918
  resolveToolResult(
21794
- { by: "toolName", toolName: event.toolName },
21919
+ resultIndex === void 0 ? { by: "toolName", toolName: event.toolName } : { by: "index", index: resultIndex },
21795
21920
  event.result
21796
21921
  );
21797
21922
  } else if (event.type === "done") {
@@ -21832,7 +21957,7 @@ ${parts2.join("\n")}`,
21832
21957
  }
21833
21958
  if (abortControllerRef.current?.signal.aborted) {
21834
21959
  for (const part of parts) {
21835
- if (part.type === "tool-invocation" && part.toolInvocation?.state === "pending") {
21960
+ if (part.type === "tool-invocation" && (part.toolInvocation?.state === "pending" || part.toolInvocation?.state === "streaming")) {
21836
21961
  part.toolInvocation.state = "error";
21837
21962
  part.toolInvocation.result = "Cancelled by user";
21838
21963
  }
@@ -22097,43 +22222,6 @@ ${widgetParts.join("\n")}`,
22097
22222
  maxSteps: 10,
22098
22223
  autoInitialize: true
22099
22224
  });
22100
- const tryParseArgs = (raw) => {
22101
- try {
22102
- return JSON.parse(raw);
22103
- } catch {
22104
- const strategies = [
22105
- () => {
22106
- let r = raw;
22107
- const quotes = (r.match(/(?<!\\)"/g) || []).length;
22108
- if (quotes % 2 !== 0) r += '"';
22109
- const ob = (r.match(/{/g) || []).length - (r.match(/}/g) || []).length;
22110
- const oq = (r.match(/\[/g) || []).length - (r.match(/]/g) || []).length;
22111
- for (let i = 0; i < oq; i++) r += "]";
22112
- for (let i = 0; i < ob; i++) r += "}";
22113
- return JSON.parse(r);
22114
- },
22115
- () => {
22116
- let r = raw;
22117
- r = r.replace(/,\s*"[^"]*"?\s*:\s*("([^"\\]|\\.)*)?$/, "");
22118
- r = r.replace(/,\s*"[^"]*$/, "");
22119
- const quotes = (r.match(/(?<!\\)"/g) || []).length;
22120
- if (quotes % 2 !== 0) r += '"';
22121
- const ob = (r.match(/{/g) || []).length - (r.match(/}/g) || []).length;
22122
- const oq = (r.match(/\[/g) || []).length - (r.match(/]/g) || []).length;
22123
- for (let i = 0; i < oq; i++) r += "]";
22124
- for (let i = 0; i < ob; i++) r += "}";
22125
- return JSON.parse(r);
22126
- }
22127
- ];
22128
- for (const strat of strategies) {
22129
- try {
22130
- return strat();
22131
- } catch {
22132
- }
22133
- }
22134
- return void 0;
22135
- }
22136
- };
22137
22225
  const commitMessageParts = () => {
22138
22226
  setMessages(
22139
22227
  (prev) => prev.map(
@@ -22174,12 +22262,12 @@ ${widgetParts.join("\n")}`,
22174
22262
  });
22175
22263
  if (currentTextPart) currentTextPart = "";
22176
22264
  toolCallArgBuffers.set(ev.toolCallId, {
22177
- name: ev.toolName,
22178
22265
  accumulatedJson: ""
22179
22266
  });
22180
22267
  parts.push({
22181
22268
  type: "tool-invocation",
22182
22269
  toolInvocation: {
22270
+ toolCallId: ev.toolCallId,
22183
22271
  toolName: ev.toolName,
22184
22272
  args: {},
22185
22273
  state: "streaming",
@@ -22191,26 +22279,13 @@ ${widgetParts.join("\n")}`,
22191
22279
  const buf = toolCallArgBuffers.get(ev.toolCallId);
22192
22280
  if (buf) {
22193
22281
  buf.accumulatedJson += ev.argsDelta;
22194
- const partial = tryParseArgs(buf.accumulatedJson);
22282
+ const partial = parsePartialToolArgs(buf.accumulatedJson);
22195
22283
  if (partial) {
22196
22284
  const toolPart = parts.find(
22197
- (p) => p.type === "tool-invocation" && p.toolInvocation?.state === "streaming" && p.toolInvocation?.toolName === buf.name
22285
+ (p) => p.type === "tool-invocation" && p.toolInvocation?.state === "streaming" && p.toolInvocation?.toolCallId === ev.toolCallId
22198
22286
  );
22199
22287
  if (toolPart && toolPart.toolInvocation) {
22200
- const prev = toolPart.toolInvocation.partialArgs;
22201
- const prevKeys = prev ? Object.keys(prev) : [];
22202
- const newKeys = Object.keys(partial);
22203
- const prevTotal = prevKeys.reduce(
22204
- (s, k) => s + String(prev[k] ?? "").length,
22205
- 0
22206
- );
22207
- const newTotal = newKeys.reduce(
22208
- (s, k) => s + String(partial[k] ?? "").length,
22209
- 0
22210
- );
22211
- if (newKeys.length > prevKeys.length || newTotal >= prevTotal) {
22212
- toolPart.toolInvocation.partialArgs = partial;
22213
- }
22288
+ toolPart.toolInvocation.partialArgs = partial;
22214
22289
  commitMessageParts();
22215
22290
  await maybeYield();
22216
22291
  }
@@ -22227,15 +22302,17 @@ ${widgetParts.join("\n")}`,
22227
22302
  toolCallsCount++;
22228
22303
  if (currentTextPart) currentTextPart = "";
22229
22304
  const streamingPart = parts.find(
22230
- (p) => p.type === "tool-invocation" && p.toolInvocation?.state === "streaming" && p.toolInvocation?.toolName === ev.toolName
22305
+ (p) => p.type === "tool-invocation" && p.toolInvocation?.state === "streaming" && p.toolInvocation?.toolCallId === ev.toolCallId
22231
22306
  );
22232
22307
  if (streamingPart && streamingPart.toolInvocation) {
22233
22308
  streamingPart.toolInvocation.args = ev.args;
22234
22309
  streamingPart.toolInvocation.state = "pending";
22310
+ streamingPart.toolInvocation.partialArgs = void 0;
22235
22311
  } else {
22236
22312
  parts.push({
22237
22313
  type: "tool-invocation",
22238
22314
  toolInvocation: {
22315
+ toolCallId: ev.toolCallId,
22239
22316
  toolName: ev.toolName,
22240
22317
  args: ev.args,
22241
22318
  state: "pending"
@@ -22253,7 +22330,7 @@ ${widgetParts.join("\n")}`,
22253
22330
  raw: ev
22254
22331
  });
22255
22332
  const toolPart = parts.find(
22256
- (p) => p.type === "tool-invocation" && p.toolInvocation?.toolName === ev.toolName && !p.toolInvocation?.result
22333
+ (p) => p.type === "tool-invocation" && p.toolInvocation?.toolCallId === ev.toolCallId && !p.toolInvocation?.result
22257
22334
  );
22258
22335
  if (toolPart && toolPart.toolInvocation) {
22259
22336
  toolPart.toolInvocation.result = ev.result;
@@ -22269,7 +22346,7 @@ ${widgetParts.join("\n")}`,
22269
22346
  }
22270
22347
  if (abortControllerRef.current?.signal.aborted) {
22271
22348
  for (const part of parts) {
22272
- if (part.type === "tool-invocation" && part.toolInvocation?.state === "pending") {
22349
+ if (part.type === "tool-invocation" && (part.toolInvocation?.state === "pending" || part.toolInvocation?.state === "streaming")) {
22273
22350
  part.toolInvocation.state = "error";
22274
22351
  part.toolInvocation.result = "Cancelled by user";
22275
22352
  }
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  registerInspectorCdnShell
3
- } from "./chunk-DSTNUYWX.js";
3
+ } from "./chunk-IFF5T5J4.js";
4
4
  import "./chunk-M5TZA42I.js";
5
- import "./chunk-ZCGLU5T7.js";
5
+ import "./chunk-GBY4WAVP.js";
6
6
  import "./chunk-H6ZCIKBS.js";
7
7
  import "./chunk-J4FNYLBF.js";
8
8
  import "./chunk-WFT4JHYI.js";
@@ -2,7 +2,7 @@
2
2
  var package_default = {
3
3
  name: "@mcp-use/inspector",
4
4
  type: "module",
5
- version: "20.0.0-beta.4",
5
+ version: "20.0.0-beta.5",
6
6
  description: "MCP Inspector - A tool for inspecting and debugging MCP servers",
7
7
  author: "",
8
8
  license: "MIT",
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-M5TZA42I.js";
4
4
  import {
5
5
  getInspectorVersion
6
- } from "./chunk-ZCGLU5T7.js";
6
+ } from "./chunk-GBY4WAVP.js";
7
7
  import {
8
8
  inspectorStylesUrl,
9
9
  resolveInspectorAssetUrls,
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  registerInspectorCdnShell
3
- } from "./chunk-DSTNUYWX.js";
3
+ } from "./chunk-IFF5T5J4.js";
4
4
  import {
5
5
  registerInspectorProxyRoutes
6
6
  } from "./chunk-UJLXHNQP.js";
@@ -5,11 +5,11 @@ import {
5
5
  } from "./chunk-KD7K27XK.js";
6
6
  import {
7
7
  registerInspectorCdnShell
8
- } from "./chunk-DSTNUYWX.js";
8
+ } from "./chunk-IFF5T5J4.js";
9
9
  import "./chunk-M5TZA42I.js";
10
10
  import {
11
11
  getInspectorVersion
12
- } from "./chunk-ZCGLU5T7.js";
12
+ } from "./chunk-GBY4WAVP.js";
13
13
  import "./chunk-H6ZCIKBS.js";
14
14
  import {
15
15
  registerInspectorProxyRoutes
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  mountInspector
3
- } from "./chunk-SQ4XNMLT.js";
3
+ } from "./chunk-NUHI6MJ6.js";
4
4
  import {
5
5
  registerInspectorCdnShell
6
- } from "./chunk-DSTNUYWX.js";
6
+ } from "./chunk-IFF5T5J4.js";
7
7
  import "./chunk-M5TZA42I.js";
8
- import "./chunk-ZCGLU5T7.js";
8
+ import "./chunk-GBY4WAVP.js";
9
9
  import "./chunk-H6ZCIKBS.js";
10
10
  import {
11
11
  registerInspectorProxyRoutes
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  mountInspector
3
- } from "./chunk-SQ4XNMLT.js";
4
- import "./chunk-DSTNUYWX.js";
3
+ } from "./chunk-NUHI6MJ6.js";
4
+ import "./chunk-IFF5T5J4.js";
5
5
  import "./chunk-M5TZA42I.js";
6
- import "./chunk-ZCGLU5T7.js";
6
+ import "./chunk-GBY4WAVP.js";
7
7
  import "./chunk-H6ZCIKBS.js";
8
8
  import "./chunk-UJLXHNQP.js";
9
9
  import "./chunk-IKTZUWSX.js";
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  VERSION,
3
3
  getInspectorVersion
4
- } from "./chunk-ZCGLU5T7.js";
4
+ } from "./chunk-GBY4WAVP.js";
5
5
  import "./chunk-PKBMQBKP.js";
6
6
  export {
7
7
  VERSION,