@mcp-use/inspector 2.2.0-canary.2 → 2.2.0-canary.4

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 (38) hide show
  1. package/dist/cdn/inspector.css +1 -1
  2. package/dist/cdn/inspector.js +32865 -32186
  3. package/dist/client/components/ChatTab.d.ts.map +1 -1
  4. package/dist/client/components/IframeConsole.d.ts +1 -1
  5. package/dist/client/components/IframeConsole.d.ts.map +1 -1
  6. package/dist/client/components/LoginModal.d.ts +11 -0
  7. package/dist/client/components/LoginModal.d.ts.map +1 -0
  8. package/dist/client/components/chat/ChatHeader.d.ts +10 -1
  9. package/dist/client/components/chat/ChatHeader.d.ts.map +1 -1
  10. package/dist/client/components/chat/ChatLandingForm.d.ts +8 -1
  11. package/dist/client/components/chat/ChatLandingForm.d.ts.map +1 -1
  12. package/dist/client/components/chat/ConfigurationDialog.d.ts +11 -1
  13. package/dist/client/components/chat/ConfigurationDialog.d.ts.map +1 -1
  14. package/dist/client/components/chat/useChatMessages.d.ts +4 -0
  15. package/dist/client/components/chat/useChatMessages.d.ts.map +1 -1
  16. package/dist/client/components/prompts/PromptResultDisplay.d.ts +1 -1
  17. package/dist/client/components/prompts/PromptResultDisplay.d.ts.map +1 -1
  18. package/dist/client/components/prompts/SavedPromptsList.d.ts +1 -1
  19. package/dist/client/components/prompts/SavedPromptsList.d.ts.map +1 -1
  20. package/dist/client/context/InspectorContext.d.ts +47 -1
  21. package/dist/client/context/InspectorContext.d.ts.map +1 -1
  22. package/dist/client/index.js +493 -102
  23. package/dist/server/server.d.ts.map +1 -1
  24. package/dist/server/server.js +9 -0
  25. package/dist/web/assets/{browser-p_miO3oL.js → browser-Du2AEj9X.js} +3 -3
  26. package/dist/web/assets/{chunk-GEOH7R4G-BpYNWk0M.js → chunk-2ATSIYOF-p66_KyAj.js} +1 -1
  27. package/dist/web/assets/{chunk-VDUR5PXK-ZU1Bss9y.js → chunk-2KALGUHZ-Dhp_lEVe.js} +1 -1
  28. package/dist/web/assets/{chunk-LG5NSHEL-hL8J2Ky1.js → chunk-LG5NSHEL-CEW8sESk.js} +1 -1
  29. package/dist/web/assets/{client-KmRT1sYj.js → client-DF9JX_Yn.js} +1 -1
  30. package/dist/web/assets/{client-J4HPCNHM-BQeZwtAZ.js → client-QBNSMKSM-Dm43Zysm.js} +3 -3
  31. package/dist/web/assets/index-B3SIc62D.css +2 -0
  32. package/dist/web/assets/{index-BRzOvEWM.js → index-Dk8r25sC.js} +89 -89
  33. package/dist/web/assets/react-IJvOo_WW.js +1 -0
  34. package/dist/web/assets/{stdio-CWIMXSHX-DI1TMMAc.js → stdio-5Y3QCAX6-N32gogWZ.js} +1 -1
  35. package/dist/web/index.html +6 -6
  36. package/package.json +4 -3
  37. package/dist/web/assets/index-DAF0St0M.css +0 -2
  38. package/dist/web/assets/react-CV-Ixx_3.js +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"ChatTab.d.ts","sourceRoot":"","sources":["../../../src/client/components/ChatTab.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ChatTab.d.ts","sourceRoot":"","sources":["../../../src/client/components/ChatTab.tsx"],"names":[],"mappings":"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"}
@@ -2,6 +2,6 @@ interface IframeConsoleProps {
2
2
  iframeId?: string;
3
3
  enabled?: boolean;
4
4
  }
5
- export declare function IframeConsole({ iframeId, enabled, }: IframeConsoleProps): import("react/jsx-runtime").JSX.Element;
5
+ export declare function IframeConsole({ iframeId: _iframeId, enabled, }: IframeConsoleProps): import("react/jsx-runtime").JSX.Element;
6
6
  export {};
7
7
  //# sourceMappingURL=IframeConsole.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"IframeConsole.d.ts","sourceRoot":"","sources":["../../../src/client/components/IframeConsole.tsx"],"names":[],"mappings":"AA6BA,UAAU,kBAAkB;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AA8LD,wBAAgB,aAAa,CAAC,EAC5B,QAAQ,EACR,OAAc,GACf,EAAE,kBAAkB,2CAyWpB"}
1
+ {"version":3,"file":"IframeConsole.d.ts","sourceRoot":"","sources":["../../../src/client/components/IframeConsole.tsx"],"names":[],"mappings":"AA6BA,UAAU,kBAAkB;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AA8LD,wBAAgB,aAAa,CAAC,EAC5B,QAAQ,EAAE,SAAS,EACnB,OAAc,GACf,EAAE,kBAAkB,2CAyWpB"}
@@ -0,0 +1,11 @@
1
+ interface LoginModalProps {
2
+ /** Base origin of the Manufact backend (e.g. `https://manufact.com`). */
3
+ authOrigin: string;
4
+ /** Called after a successful login or when the user dismisses the dialog. */
5
+ onDismiss: () => void;
6
+ /** Called when the user chooses to use their own API key instead of logging in. */
7
+ onUseApiKey?: () => void;
8
+ }
9
+ export declare function LoginModal({ authOrigin, onDismiss, onUseApiKey, }: LoginModalProps): import("react/jsx-runtime").JSX.Element;
10
+ export {};
11
+ //# sourceMappingURL=LoginModal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LoginModal.d.ts","sourceRoot":"","sources":["../../../src/client/components/LoginModal.tsx"],"names":[],"mappings":"AAgGA,UAAU,eAAe;IACvB,yEAAyE;IACzE,UAAU,EAAE,MAAM,CAAC;IACnB,6EAA6E;IAC7E,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,mFAAmF;IACnF,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;CAC1B;AAED,wBAAgB,UAAU,CAAC,EACzB,UAAU,EACV,SAAS,EACT,WAAW,GACZ,EAAE,eAAe,2CAqRjB"}
@@ -17,6 +17,15 @@ interface ChatHeaderProps {
17
17
  onClearConfig: () => void;
18
18
  /** When true, hides the API key config badge/button and dialog. */
19
19
  hideConfigButton?: boolean;
20
+ /**
21
+ * When set, the header shows a "Free tier" badge (instead of the local
22
+ * provider/model badge) and passes this info down to the ConfigurationDialog
23
+ * so it renders a Sign-in CTA above the bring-your-own-key form.
24
+ * Used in hosted inspector mode where the LLM is managed server-side.
25
+ */
26
+ freeTierInfo?: {
27
+ onLoginClick: () => void;
28
+ };
20
29
  /** Label for the clear/new-chat button. Default: "New Chat". */
21
30
  clearButtonLabel?: string;
22
31
  /** When true, hides the "Chat" title in the header. */
@@ -30,6 +39,6 @@ interface ChatHeaderProps {
30
39
  /** When true, hides the "New Chat" / clear button entirely. */
31
40
  hideClearButton?: boolean;
32
41
  }
33
- export declare function ChatHeader({ llmConfig, hasMessages, configDialogOpen, onConfigDialogOpenChange, onClearChat, tempProvider, tempModel, tempApiKey, onProviderChange, onModelChange, onApiKeyChange, onSaveConfig, onClearConfig, hideConfigButton, clearButtonLabel, hideTitle, clearButtonHideIcon, clearButtonHideShortcut, clearButtonVariant, hideClearButton, onCopyChat, onExportChat, }: ChatHeaderProps): import("react/jsx-runtime").JSX.Element;
42
+ export declare function ChatHeader({ llmConfig, hasMessages, configDialogOpen, onConfigDialogOpenChange, onClearChat, tempProvider, tempModel, tempApiKey, onProviderChange, onModelChange, onApiKeyChange, onSaveConfig, onClearConfig, hideConfigButton, freeTierInfo, clearButtonLabel, hideTitle, clearButtonHideIcon, clearButtonHideShortcut, clearButtonVariant, hideClearButton, onCopyChat, onExportChat, }: ChatHeaderProps): import("react/jsx-runtime").JSX.Element;
34
43
  export {};
35
44
  //# sourceMappingURL=ChatHeader.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ChatHeader.d.ts","sourceRoot":"","sources":["../../../../src/client/components/chat/ChatHeader.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAkBzC,UAAU,eAAe;IACvB,SAAS,EAAE,SAAS,GAAG,IAAI,CAAC;IAC5B,WAAW,EAAE,OAAO,CAAC;IACrB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,wBAAwB,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IAClD,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,KAAK,IAAI,CAAC;IAErD,YAAY,EAAE,QAAQ,GAAG,WAAW,GAAG,QAAQ,CAAC;IAChD,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,CAAC,QAAQ,EAAE,QAAQ,GAAG,WAAW,GAAG,QAAQ,KAAK,IAAI,CAAC;IACxE,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,cAAc,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,mEAAmE;IACnE,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,gEAAgE;IAChE,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,uDAAuD;IACvD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,8DAA8D;IAC9D,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,gFAAgF;IAChF,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,wEAAwE;IACxE,kBAAkB,CAAC,EAAE,SAAS,GAAG,WAAW,GAAG,OAAO,GAAG,SAAS,CAAC;IACnE,+DAA+D;IAC/D,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,wBAAgB,UAAU,CAAC,EACzB,SAAS,EACT,WAAW,EACX,gBAAgB,EAChB,wBAAwB,EACxB,WAAW,EACX,YAAY,EACZ,SAAS,EACT,UAAU,EACV,gBAAgB,EAChB,aAAa,EACb,cAAc,EACd,YAAY,EACZ,aAAa,EACb,gBAAgB,EAChB,gBAAgB,EAChB,SAAS,EACT,mBAAmB,EACnB,uBAAuB,EACvB,kBAAkB,EAClB,eAAe,EACf,UAAU,EACV,YAAY,GACb,EAAE,eAAe,2CAoJjB"}
1
+ {"version":3,"file":"ChatHeader.d.ts","sourceRoot":"","sources":["../../../../src/client/components/chat/ChatHeader.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAkBzC,UAAU,eAAe;IACvB,SAAS,EAAE,SAAS,GAAG,IAAI,CAAC;IAC5B,WAAW,EAAE,OAAO,CAAC;IACrB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,wBAAwB,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IAClD,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,KAAK,IAAI,CAAC;IAErD,YAAY,EAAE,QAAQ,GAAG,WAAW,GAAG,QAAQ,CAAC;IAChD,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,CAAC,QAAQ,EAAE,QAAQ,GAAG,WAAW,GAAG,QAAQ,KAAK,IAAI,CAAC;IACxE,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,cAAc,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,YAAY,EAAE,MAAM,IAAI,CAAC;IACzB,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,mEAAmE;IACnE,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B;;;;;OAKG;IACH,YAAY,CAAC,EAAE;QACb,YAAY,EAAE,MAAM,IAAI,CAAC;KAC1B,CAAC;IACF,gEAAgE;IAChE,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,uDAAuD;IACvD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,8DAA8D;IAC9D,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,gFAAgF;IAChF,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,wEAAwE;IACxE,kBAAkB,CAAC,EAAE,SAAS,GAAG,WAAW,GAAG,OAAO,GAAG,SAAS,CAAC;IACnE,+DAA+D;IAC/D,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,wBAAgB,UAAU,CAAC,EACzB,SAAS,EACT,WAAW,EACX,gBAAgB,EAChB,wBAAwB,EACxB,WAAW,EACX,YAAY,EACZ,SAAS,EACT,UAAU,EACV,gBAAgB,EAChB,aAAa,EACb,cAAc,EACd,YAAY,EACZ,aAAa,EACb,gBAAgB,EAChB,YAAY,EACZ,gBAAgB,EAChB,SAAS,EACT,mBAAmB,EACnB,uBAAuB,EACvB,kBAAkB,EAClB,eAAe,EACf,UAAU,EACV,YAAY,GACb,EAAE,eAAe,2CAsJjB"}
@@ -37,7 +37,14 @@ interface ChatLandingFormProps {
37
37
  quickQuestions?: string[];
38
38
  /** Called when a quick question is selected. */
39
39
  onQuickQuestionSelect?: (question: string) => void;
40
+ /**
41
+ * When set (hosted-managed mode), renders a "Manufact free tier" pill below
42
+ * the input instead of the provider/model badge. Ignores `hideModelBadge`.
43
+ */
44
+ freeTierInfo?: {
45
+ onLoginClick: () => void;
46
+ };
40
47
  }
41
- export declare function ChatLandingForm({ mcpServerUrl, inputValue, isConnected, isLoading, textareaRef, llmConfig, promptsDropdownOpen, promptFocusedIndex, prompts, selectedPrompt, promptResults, attachments, tools, disabledTools, onDisabledToolsChange, onInputChange, onKeyDown, onKeyUp, onClick, onSubmit, onConfigDialogOpenChange, onPromptSelect, onDeletePromptResult, onAttachmentAdd, onAttachmentRemove, hideModelBadge, hideServerUrl, quickQuestions, onQuickQuestionSelect, }: ChatLandingFormProps): import("react/jsx-runtime").JSX.Element;
48
+ export declare function ChatLandingForm({ mcpServerUrl, inputValue, isConnected, isLoading, textareaRef, llmConfig, promptsDropdownOpen, promptFocusedIndex, prompts, selectedPrompt, promptResults, attachments, tools, disabledTools, onDisabledToolsChange, onInputChange, onKeyDown, onKeyUp, onClick, onSubmit, onConfigDialogOpenChange, onPromptSelect, onDeletePromptResult, onAttachmentAdd, onAttachmentRemove, hideModelBadge, hideServerUrl, quickQuestions, onQuickQuestionSelect, freeTierInfo, }: ChatLandingFormProps): import("react/jsx-runtime").JSX.Element;
42
49
  export {};
43
50
  //# sourceMappingURL=ChatLandingForm.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ChatLandingForm.d.ts","sourceRoot":"","sources":["../../../../src/client/components/chat/ChatLandingForm.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAEjE,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAI9D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAE5D,UAAU,oBAAoB;IAC5B,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,OAAO,CAAC;IACrB,SAAS,EAAE,OAAO,CAAC;IACnB,WAAW,EAAE,KAAK,CAAC,SAAS,CAAC,mBAAmB,GAAG,IAAI,CAAC,CAAC;IACzD,SAAS,EAAE,SAAS,GAAG,IAAI,CAAC;IAC5B,mBAAmB,EAAE,OAAO,CAAC;IAC7B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,aAAa,EAAE,YAAY,EAAE,CAAC;IAC9B,WAAW,EAAE,iBAAiB,EAAE,CAAC;IACjC,KAAK,CAAC,EAAE,QAAQ,EAAE,CAAC;IACnB,aAAa,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC5B,qBAAqB,CAAC,EAAE,CAAC,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC;IAC7D,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,SAAS,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,mBAAmB,CAAC,KAAK,IAAI,CAAC;IACjE,OAAO,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,mBAAmB,CAAC,KAAK,IAAI,CAAC;IAC/D,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,QAAQ,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,SAAS,KAAK,IAAI,CAAC;IACvC,wBAAwB,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IAClD,cAAc,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,oBAAoB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9C,eAAe,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;IACtC,kBAAkB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5C,wDAAwD;IACxD,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,2DAA2D;IAC3D,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,6EAA6E;IAC7E,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,gDAAgD;IAChD,qBAAqB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;CACpD;AAED,wBAAgB,eAAe,CAAC,EAC9B,YAAY,EACZ,UAAU,EACV,WAAW,EACX,SAAS,EACT,WAAW,EACX,SAAS,EACT,mBAAmB,EACnB,kBAAkB,EAClB,OAAO,EACP,cAAc,EACd,aAAa,EACb,WAAW,EACX,KAAK,EACL,aAAa,EACb,qBAAqB,EACrB,aAAa,EACb,SAAS,EACT,OAAO,EACP,OAAO,EACP,QAAQ,EACR,wBAAwB,EACxB,cAAc,EACd,oBAAoB,EACpB,eAAe,EACf,kBAAkB,EAClB,cAAc,EACd,aAAa,EACb,cAAmB,EACnB,qBAAqB,GACtB,EAAE,oBAAoB,2CA4HtB"}
1
+ {"version":3,"file":"ChatLandingForm.d.ts","sourceRoot":"","sources":["../../../../src/client/components/chat/ChatLandingForm.tsx"],"names":[],"mappings":"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"}
@@ -11,7 +11,17 @@ interface ConfigurationDialogProps {
11
11
  onClear?: () => void;
12
12
  showClearButton?: boolean;
13
13
  buttonLabel?: string;
14
+ /**
15
+ * When present, the dialog renders a "Manufact free tier" banner above the
16
+ * provider/api-key form, with a Login button that increases the tier.
17
+ * Used in hosted inspector mode (inspector.manufact.com) where the default
18
+ * LLM is provided server-side. Below the banner the user can still paste
19
+ * their own API key to switch to client-side mode + pick another model.
20
+ */
21
+ freeTierInfo?: {
22
+ onLoginClick: () => void;
23
+ };
14
24
  }
15
- export declare function ConfigurationDialog({ open, onOpenChange, tempProvider, tempModel, tempApiKey, onProviderChange, onModelChange, onApiKeyChange, onSave, onClear, showClearButton, buttonLabel: _buttonLabel, }: ConfigurationDialogProps): import("react/jsx-runtime").JSX.Element;
25
+ export declare function ConfigurationDialog({ open, onOpenChange, tempProvider, tempModel, tempApiKey, onProviderChange, onModelChange, onApiKeyChange, onSave, onClear, showClearButton, buttonLabel: _buttonLabel, freeTierInfo, }: ConfigurationDialogProps): import("react/jsx-runtime").JSX.Element;
16
26
  export {};
17
27
  //# sourceMappingURL=ConfigurationDialog.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ConfigurationDialog.d.ts","sourceRoot":"","sources":["../../../../src/client/components/chat/ConfigurationDialog.tsx"],"names":[],"mappings":"AAgGA,UAAU,wBAAwB;IAChC,IAAI,EAAE,OAAO,CAAC;IACd,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACtC,YAAY,EAAE,QAAQ,GAAG,WAAW,GAAG,QAAQ,CAAC;IAChD,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,CAAC,QAAQ,EAAE,QAAQ,GAAG,WAAW,GAAG,QAAQ,KAAK,IAAI,CAAC;IACxE,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,cAAc,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAyDD,wBAAgB,mBAAmB,CAAC,EAClC,IAAI,EACJ,YAAY,EACZ,YAAY,EACZ,SAAS,EACT,UAAU,EACV,gBAAgB,EAChB,aAAa,EACb,cAAc,EACd,MAAM,EACN,OAAO,EACP,eAAuB,EACvB,WAAW,EAAE,YAAkC,GAChD,EAAE,wBAAwB,2CAgQ1B"}
1
+ {"version":3,"file":"ConfigurationDialog.d.ts","sourceRoot":"","sources":["../../../../src/client/components/chat/ConfigurationDialog.tsx"],"names":[],"mappings":"AAgGA,UAAU,wBAAwB;IAChC,IAAI,EAAE,OAAO,CAAC;IACd,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACtC,YAAY,EAAE,QAAQ,GAAG,WAAW,GAAG,QAAQ,CAAC;IAChD,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,CAAC,QAAQ,EAAE,QAAQ,GAAG,WAAW,GAAG,QAAQ,KAAK,IAAI,CAAC;IACxE,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,cAAc,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;;;OAMG;IACH,YAAY,CAAC,EAAE;QACb,YAAY,EAAE,MAAM,IAAI,CAAC;KAC1B,CAAC;CACH;AAyDD,wBAAgB,mBAAmB,CAAC,EAClC,IAAI,EACJ,YAAY,EACZ,YAAY,EACZ,SAAS,EACT,UAAU,EACV,gBAAgB,EAChB,aAAa,EACb,cAAc,EACd,MAAM,EACN,OAAO,EACP,eAAuB,EACvB,WAAW,EAAE,YAAkC,EAC/C,YAAY,GACb,EAAE,wBAAwB,2CAyR1B"}
@@ -49,8 +49,12 @@ export declare function useChatMessages({ mcpServerUrl, llmConfig, authConfig, i
49
49
  messages: Message[];
50
50
  isLoading: boolean;
51
51
  attachments: MessageAttachment[];
52
+ rateLimitInfo: {
53
+ loginUrl: string;
54
+ } | null;
52
55
  sendMessage: (userInput: string, promptResults: PromptResult[], extraAttachments?: MessageAttachment[]) => Promise<void>;
53
56
  clearMessages: () => void;
57
+ clearRateLimitInfo: () => void;
54
58
  setMessages: import("react").Dispatch<import("react").SetStateAction<Message[]>>;
55
59
  stop: () => void;
56
60
  addAttachment: (file: File) => Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"useChatMessages.d.ts","sourceRoot":"","sources":["../../../../src/client/components/chat/useChatMessages.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAE9D,OAAO,KAAK,EACV,UAAU,EACV,SAAS,EACT,OAAO,EACP,iBAAiB,EACjB,cAAc,EACf,MAAM,SAAS,CAAC;AAGjB,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,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,WAAW,EACX,UAAU,EACV,iBAAiB,EACjB,mBAAmB,EACnB,eAAe,EACf,aAAa,EACb,cAAsB,EACtB,WAAW,EACX,YAAY,EACZ,IAAI,EAAE,WAAW,GAClB,EAAE,oBAAoB;;;;6BAQN,MAAM,iBACF,YAAY,EAAE,qBACV,iBAAiB,EAAE;;;;0BAidK,IAAI;8BAwBN,MAAM;;EAoBpD"}
1
+ {"version":3,"file":"useChatMessages.d.ts","sourceRoot":"","sources":["../../../../src/client/components/chat/useChatMessages.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAE9D,OAAO,KAAK,EACV,UAAU,EACV,SAAS,EACT,OAAO,EACP,iBAAiB,EACjB,cAAc,EACf,MAAM,SAAS,CAAC;AAGjB,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,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,WAAW,EACX,UAAU,EACV,iBAAiB,EACjB,mBAAmB,EACnB,eAAe,EACf,aAAa,EACb,cAAsB,EACtB,WAAW,EACX,YAAY,EACZ,IAAI,EAAE,WAAW,GAClB,EAAE,oBAAoB;;;;;kBAKT,MAAM;;6BAMH,MAAM,iBACF,YAAY,EAAE,qBACV,iBAAiB,EAAE;;;;;0BAieK,IAAI;8BAwBN,MAAM;;EAsBpD"}
@@ -29,6 +29,6 @@ interface PromptResultDisplayProps {
29
29
  * @param isMaximized - When `true`, indicates the component is currently maximized (defaults to `false`).
30
30
  * @returns The rendered prompt results UI containing header controls, error or formatted message display, and raw JSON fallback.
31
31
  */
32
- export declare function PromptResultDisplay({ results, copiedResult, previewMode, onCopy, onDelete, onFullscreen, onTogglePreview, onMaximize, isMaximized, }: PromptResultDisplayProps): import("react/jsx-runtime").JSX.Element;
32
+ export declare function PromptResultDisplay({ results, copiedResult, previewMode: _previewMode, onCopy, onDelete, onFullscreen, onTogglePreview: _onTogglePreview, onMaximize, isMaximized, }: PromptResultDisplayProps): import("react/jsx-runtime").JSX.Element;
33
33
  export {};
34
34
  //# sourceMappingURL=PromptResultDisplay.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PromptResultDisplay.d.ts","sourceRoot":"","sources":["../../../../src/client/components/prompts/PromptResultDisplay.tsx"],"names":[],"mappings":"AAqBA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAE9D,UAAU,wBAAwB;IAChC,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,MAAM,EAAE,CACN,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,eAAe,GAAG;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,KAC5D,IAAI,CAAC;IACV,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,eAAe,CAAC,EAAE,MAAM,IAAI,CAAC;IAC7B,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AA8CD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,mBAAmB,CAAC,EAClC,OAAO,EACP,YAAY,EACZ,WAAkB,EAClB,MAAM,EACN,QAAQ,EACR,YAAY,EACZ,eAAe,EACf,UAAU,EACV,WAAmB,GACpB,EAAE,wBAAwB,2CA0N1B"}
1
+ {"version":3,"file":"PromptResultDisplay.d.ts","sourceRoot":"","sources":["../../../../src/client/components/prompts/PromptResultDisplay.tsx"],"names":[],"mappings":"AAqBA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAC1E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAE9D,UAAU,wBAAwB;IAChC,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,MAAM,EAAE,CACN,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,eAAe,GAAG;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,KAC5D,IAAI,CAAC;IACV,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,eAAe,CAAC,EAAE,MAAM,IAAI,CAAC;IAC7B,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AA8CD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,mBAAmB,CAAC,EAClC,OAAO,EACP,YAAY,EACZ,WAAW,EAAE,YAAmB,EAChC,MAAM,EACN,QAAQ,EACR,YAAY,EACZ,eAAe,EAAE,gBAAgB,EACjC,UAAU,EACV,WAAmB,GACpB,EAAE,wBAAwB,2CA0N1B"}
@@ -14,6 +14,6 @@ interface SavedPromptsListProps {
14
14
  onDeletePrompt: (id: string) => void;
15
15
  focusedIndex: number;
16
16
  }
17
- export declare function SavedPromptsList({ savedPrompts, selectedPrompt, onLoadPrompt, onDeletePrompt, focusedIndex, }: SavedPromptsListProps): import("react/jsx-runtime").JSX.Element;
17
+ export declare function SavedPromptsList({ savedPrompts, selectedPrompt, onLoadPrompt, onDeletePrompt: _onDeletePrompt, focusedIndex, }: SavedPromptsListProps): import("react/jsx-runtime").JSX.Element;
18
18
  export {};
19
19
  //# sourceMappingURL=SavedPromptsList.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SavedPromptsList.d.ts","sourceRoot":"","sources":["../../../../src/client/components/prompts/SavedPromptsList.tsx"],"names":[],"mappings":"AAGA,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,UAAU,qBAAqB;IAC7B,YAAY,EAAE,WAAW,EAAE,CAAC;IAC5B,cAAc,EAAE,WAAW,GAAG,IAAI,CAAC;IACnC,YAAY,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,IAAI,CAAC;IAC5C,cAAc,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,wBAAgB,gBAAgB,CAAC,EAC/B,YAAY,EACZ,cAAc,EACd,YAAY,EACZ,cAAc,EACd,YAAY,GACb,EAAE,qBAAqB,2CA6BvB"}
1
+ {"version":3,"file":"SavedPromptsList.d.ts","sourceRoot":"","sources":["../../../../src/client/components/prompts/SavedPromptsList.tsx"],"names":[],"mappings":"AAGA,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,UAAU,qBAAqB;IAC7B,YAAY,EAAE,WAAW,EAAE,CAAC;IAC5B,cAAc,EAAE,WAAW,GAAG,IAAI,CAAC;IACnC,YAAY,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,IAAI,CAAC;IAC5C,cAAc,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,wBAAgB,gBAAgB,CAAC,EAC/B,YAAY,EACZ,cAAc,EACd,YAAY,EACZ,cAAc,EAAE,eAAe,EAC/B,YAAY,GACb,EAAE,qBAAqB,2CA6BvB"}
@@ -1,6 +1,40 @@
1
- import type { LLMConfig } from "@/client/components/chat/types";
1
+ import type { LLMConfig, StreamProtocol } from "@/client/components/chat/types";
2
2
  import type { ReactNode } from "react";
3
3
  export type TabType = "tools" | "prompts" | "resources" | "chat" | "sampling" | "elicitation" | "notifications";
4
+ /**
5
+ * Configuration injected by a host application when the inspector runs in
6
+ * embedded / hosted mode (e.g. inside inspector.manufact.com or the Vibe IDE).
7
+ *
8
+ * ── Hosted-inspector chat flow ──────────────────────────────────────────────
9
+ * When `chatApiUrl` is set (baked in at build time via VITE_MANUFACT_CHAT_URL),
10
+ * the Chat tab switches from client-side LLM calls to a managed backend:
11
+ *
12
+ * 1. `InspectorProvider` (below) reads VITE_MANUFACT_CHAT_URL and sets
13
+ * `chatApiUrl`, `chatStreamProtocol: "data-stream"`, and
14
+ * `chatCredentials: "include"` so the session cookie is forwarded.
15
+ *
16
+ * 2. `LayoutContent` passes these down to `ChatTab` as props; `ChatTab`
17
+ * then passes `useClientSide={false}` to `useChatMessages`.
18
+ *
19
+ * 3. If the user already has their own API key in localStorage, `ChatTab`
20
+ * overrides this with `effectiveClientSide=true` (see forceClientSide
21
+ * logic there), bypassing the backend entirely.
22
+ *
23
+ * 4. The backend endpoint (`/api/v1/inspector/chat/stream`, cloud.mcp-use)
24
+ * applies a two-tier rate limit for unauthenticated visitors and skips
25
+ * it for users whose session cookie is present (shared across
26
+ * *.manufact.com via COOKIE_DOMAIN=.manufact.com).
27
+ *
28
+ * 5. On a 429 response the frontend shows `LoginModal`, which offers
29
+ * sign-in (Manufact account) OR falling back to the user's own API key.
30
+ *
31
+ * ── Related files ────────────────────────────────────────────────────────────
32
+ * • cloud.mcp-use/src/routes/v1/inspector-chat.ts — rate-limited endpoint
33
+ * • cloud.mcp-use/src/lib/mcp-chat-stream.ts — shared OpenRouter streamer
34
+ * • inspector/src/client/components/ChatTab.tsx — effectiveClientSide logic
35
+ * • inspector/src/client/components/LoginModal.tsx — rate-limit UI
36
+ * • inspector/src/client/components/HostedUserMenu.tsx — avatar / session check
37
+ */
4
38
  export interface EmbeddedConfig {
5
39
  backgroundColor?: string;
6
40
  padding?: string;
@@ -12,6 +46,18 @@ export interface EmbeddedConfig {
12
46
  defaultTab?: TabType;
13
47
  /** Custom API URL for the Chat tab's server-side streaming */
14
48
  chatApiUrl?: string;
49
+ /**
50
+ * Wire protocol for the `chatApiUrl` streaming endpoint.
51
+ * - `"sse"` (default): Inspector SSE protocol
52
+ * - `"data-stream"`: Vercel AI SDK data-stream protocol
53
+ */
54
+ chatStreamProtocol?: StreamProtocol;
55
+ /**
56
+ * Credentials policy for chat fetch requests.
57
+ * Set to `"include"` when the chat endpoint requires session cookies (e.g. when the
58
+ * inspector iframe is on a subdomain that shares cookies with the API).
59
+ */
60
+ chatCredentials?: RequestCredentials;
15
61
  /** Externally-managed LLM config passed to ChatTab (bypasses config UI) */
16
62
  managedLlmConfig?: LLMConfig;
17
63
  /** Hide the "Chat" title in the header */
@@ -1 +1 @@
1
- {"version":3,"file":"InspectorContext.d.ts","sourceRoot":"","sources":["../../../src/client/context/InspectorContext.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGvC,MAAM,MAAM,OAAO,GACf,OAAO,GACP,SAAS,GACT,WAAW,GACX,MAAM,GACN,UAAU,GACV,aAAa,GACb,eAAe,CAAC;AAEpB,MAAM,WAAW,cAAc;IAC7B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,6DAA6D;IAC7D,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,4DAA4D;IAC5D,WAAW,CAAC,EAAE,OAAO,EAAE,CAAC;IACxB,+CAA+C;IAC/C,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,8DAA8D;IAC9D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,2EAA2E;IAC3E,gBAAgB,CAAC,EAAE,SAAS,CAAC;IAE7B,0CAA0C;IAC1C,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,0DAA0D;IAC1D,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,kDAAkD;IAClD,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,uDAAuD;IACvD,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,mDAAmD;IACnD,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,mDAAmD;IACnD,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,qEAAqE;IACrE,2BAA2B,CAAC,EAAE,OAAO,CAAC;IACtC,iFAAiF;IACjF,sBAAsB,CAAC,EAAE,SAAS,GAAG,WAAW,GAAG,OAAO,GAAG,SAAS,CAAC;IACvE,6DAA6D;IAC7D,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC9B,mEAAmE;IACnE,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,yEAAyE;IACzE,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,0EAA0E;IAC1E,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B;;;;OAIG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,UAAU,cAAc;IACtB,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,SAAS,EAAE,OAAO,CAAC;IACnB,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,yBAAyB,EAAE,MAAM,GAAG,IAAI,CAAC;IACzC,4BAA4B,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5C,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,UAAU,EAAE,OAAO,CAAC;IACpB,cAAc,EAAE,cAAc,CAAC;CAChC;AAED,UAAU,oBAAqB,SAAQ,cAAc;IACnD,mBAAmB,EAAE,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IACvD,YAAY,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,IAAI,CAAC;IACrC,mBAAmB,EAAE,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IACvD,qBAAqB,EAAE,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IAC3D,sBAAsB,EAAE,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IAC7D,4BAA4B,EAAE,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IACjE,+BAA+B,EAAE,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IACpE,YAAY,EAAE,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IACjD,mBAAmB,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;IACjD,eAAe,EAAE,CAAC,UAAU,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,cAAc,KAAK,IAAI,CAAC;IACxE,cAAc,EAAE,CACd,QAAQ,EAAE,MAAM,EAChB,GAAG,EAAE,OAAO,EACZ,cAAc,CAAC,EAAE,MAAM,KACpB,IAAI,CAAC;IACV,cAAc,EAAE,MAAM,IAAI,CAAC;CAC5B;AAMD;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,QAAQ,EAAE,EAAE;IAAE,QAAQ,EAAE,SAAS,CAAA;CAAE,2CAwHtE;AAED,wBAAgB,YAAY,yBAM3B"}
1
+ {"version":3,"file":"InspectorContext.d.ts","sourceRoot":"","sources":["../../../src/client/context/InspectorContext.tsx"],"names":[],"mappings":"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"}