@assistant-ui/react-devtools 1.2.8 → 1.2.10
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.
- package/dist/DevToolsModal.d.ts +0 -1
- package/dist/DevToolsModal.d.ts.map +1 -1
- package/dist/DevToolsModal.js.map +1 -1
- package/dist/DevToolsModalImpl.d.ts +1 -6
- package/dist/DevToolsModalImpl.d.ts.map +1 -1
- package/dist/DevToolsModalImpl.js.map +1 -1
- package/dist/data/createInProcessClient.d.ts +0 -1
- package/dist/data/createInProcessClient.d.ts.map +1 -1
- package/dist/data/projectApi.d.ts +0 -1
- package/dist/data/projectApi.d.ts.map +1 -1
- package/dist/data/types.d.ts +0 -1
- package/dist/data/types.d.ts.map +1 -1
- package/dist/data/useDevToolsClient.d.ts +0 -1
- package/dist/data/useDevToolsClient.d.ts.map +1 -1
- package/dist/shell/DevToolsOverlay.d.ts +1 -6
- package/dist/shell/DevToolsOverlay.d.ts.map +1 -1
- package/dist/shell/DevToolsOverlay.js.map +1 -1
- package/dist/shell/DevToolsPanel.d.ts +1 -7
- package/dist/shell/DevToolsPanel.d.ts.map +1 -1
- package/dist/shell/DevToolsPanel.js.map +1 -1
- package/dist/shell/ShadowRoot.d.ts +1 -7
- package/dist/shell/ShadowRoot.d.ts.map +1 -1
- package/dist/shell/SplitLayout.d.ts +3 -7
- package/dist/shell/SplitLayout.d.ts.map +1 -1
- package/dist/shell/SplitLayout.js.map +1 -1
- package/dist/shell/registry.d.ts +0 -1
- package/dist/shell/registry.d.ts.map +1 -1
- package/dist/shell/tabs/ActivityTab.d.ts +1 -8
- package/dist/shell/tabs/ActivityTab.d.ts.map +1 -1
- package/dist/shell/tabs/ActivityTab.js.map +1 -1
- package/dist/shell/tabs/ContextTab.d.ts +1 -6
- package/dist/shell/tabs/ContextTab.d.ts.map +1 -1
- package/dist/shell/tabs/ContextTab.js.map +1 -1
- package/dist/shell/tabs/RawTab.d.ts +1 -6
- package/dist/shell/tabs/RawTab.d.ts.map +1 -1
- package/dist/shell/tabs/RawTab.js.map +1 -1
- package/dist/shell/tabs/ThreadTab.d.ts +1 -7
- package/dist/shell/tabs/ThreadTab.d.ts.map +1 -1
- package/dist/shell/tabs/ThreadTab.js.map +1 -1
- package/dist/shell/tabs/navSelection.d.ts.map +1 -1
- package/dist/styles/panel.generated.d.ts +1 -1
- package/dist/styles/panel.generated.d.ts.map +1 -1
- package/dist/styles/panel.generated.js +1 -1
- package/dist/styles/panel.generated.js.map +1 -1
- package/dist/types.d.ts +0 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/common.d.ts.map +1 -1
- package/dist/utils/diff.d.ts.map +1 -1
- package/dist/utils/serialization.d.ts +0 -1
- package/dist/utils/serialization.d.ts.map +1 -1
- package/dist/utils/toolNormalization.d.ts.map +1 -1
- package/dist/views/activity/EventLogRow.d.ts +4 -14
- package/dist/views/activity/EventLogRow.d.ts.map +1 -1
- package/dist/views/activity/EventLogRow.js.map +1 -1
- package/dist/views/activity/EventStreamPane.d.ts +1 -4
- package/dist/views/activity/EventStreamPane.d.ts.map +1 -1
- package/dist/views/activity/EventStreamPane.js.map +1 -1
- package/dist/views/activity/OrphansPane.d.ts +1 -4
- package/dist/views/activity/OrphansPane.d.ts.map +1 -1
- package/dist/views/activity/OrphansPane.js.map +1 -1
- package/dist/views/activity/RunDetailPane.d.ts +1 -4
- package/dist/views/activity/RunDetailPane.d.ts.map +1 -1
- package/dist/views/activity/RunDetailPane.js.map +1 -1
- package/dist/views/activity/activityNodes.d.ts +0 -1
- package/dist/views/activity/activityNodes.d.ts.map +1 -1
- package/dist/views/attachments/AttachmentList.d.ts +1 -6
- package/dist/views/attachments/AttachmentList.d.ts.map +1 -1
- package/dist/views/attachments/AttachmentList.js.map +1 -1
- package/dist/views/attachments/MediaPartView.d.ts +3 -13
- package/dist/views/attachments/MediaPartView.d.ts.map +1 -1
- package/dist/views/attachments/MediaPartView.js.map +1 -1
- package/dist/views/attachments/formatBytes.d.ts.map +1 -1
- package/dist/views/attachments/parseAttachment.d.ts +0 -1
- package/dist/views/attachments/parseAttachment.d.ts.map +1 -1
- package/dist/views/attachments/types.d.ts.map +1 -1
- package/dist/views/context/ContextDetail.d.ts +1 -5
- package/dist/views/context/ContextDetail.d.ts.map +1 -1
- package/dist/views/context/ToolUIsView.d.ts +1 -3
- package/dist/views/context/ToolUIsView.d.ts.map +1 -1
- package/dist/views/context/ToolUIsView.js.map +1 -1
- package/dist/views/context/contextNodes.d.ts +0 -1
- package/dist/views/context/contextNodes.d.ts.map +1 -1
- package/dist/views/mcp/McpView.d.ts +1 -4
- package/dist/views/mcp/McpView.d.ts.map +1 -1
- package/dist/views/mcp/McpView.js.map +1 -1
- package/dist/views/mcp/parse.d.ts +0 -1
- package/dist/views/mcp/parse.d.ts.map +1 -1
- package/dist/views/mcp/types.d.ts.map +1 -1
- package/dist/views/message/ChainOfThought.d.ts +1 -4
- package/dist/views/message/ChainOfThought.d.ts.map +1 -1
- package/dist/views/message/ChainOfThought.js.map +1 -1
- package/dist/views/message/MessageDetailPane.d.ts +1 -4
- package/dist/views/message/MessageDetailPane.d.ts.map +1 -1
- package/dist/views/message/MessageDetailPane.js.map +1 -1
- package/dist/views/message/MessageItem.d.ts +3 -6
- package/dist/views/message/MessageItem.d.ts.map +1 -1
- package/dist/views/message/MessageItem.js.map +1 -1
- package/dist/views/message/MessageList.d.ts +1 -5
- package/dist/views/message/MessageList.d.ts.map +1 -1
- package/dist/views/message/MessageList.js.map +1 -1
- package/dist/views/message/MessageMetrics.d.ts +1 -4
- package/dist/views/message/MessageMetrics.d.ts.map +1 -1
- package/dist/views/message/MessageMetrics.js.map +1 -1
- package/dist/views/message/MessageTimeline.d.ts +1 -4
- package/dist/views/message/MessageTimeline.d.ts.map +1 -1
- package/dist/views/message/MessageTimeline.js.map +1 -1
- package/dist/views/message/PartDisclosure.d.ts +1 -7
- package/dist/views/message/PartDisclosure.d.ts.map +1 -1
- package/dist/views/message/PartDisclosure.js.map +1 -1
- package/dist/views/message/PartView.d.ts +1 -5
- package/dist/views/message/PartView.d.ts.map +1 -1
- package/dist/views/message/PartView.js.map +1 -1
- package/dist/views/message/RoleLabel.d.ts +1 -4
- package/dist/views/message/RoleLabel.d.ts.map +1 -1
- package/dist/views/message/RoleLabel.js.map +1 -1
- package/dist/views/message/StatusBadge.d.ts +3 -8
- package/dist/views/message/StatusBadge.d.ts.map +1 -1
- package/dist/views/message/StatusBadge.js.map +1 -1
- package/dist/views/message/ToolCallView.d.ts +1 -5
- package/dist/views/message/ToolCallView.d.ts.map +1 -1
- package/dist/views/message/ToolCallView.js.map +1 -1
- package/dist/views/message/TtftBar.d.ts +1 -4
- package/dist/views/message/TtftBar.d.ts.map +1 -1
- package/dist/views/message/TtftBar.js.map +1 -1
- package/dist/views/message/messagePlainText.d.ts +0 -1
- package/dist/views/message/messagePlainText.d.ts.map +1 -1
- package/dist/views/message/parse.d.ts +0 -1
- package/dist/views/message/parse.d.ts.map +1 -1
- package/dist/views/message/types.d.ts +0 -1
- package/dist/views/message/types.d.ts.map +1 -1
- package/dist/views/model-context/ModelContextView.d.ts +4 -13
- package/dist/views/model-context/ModelContextView.d.ts.map +1 -1
- package/dist/views/model-context/ModelContextView.js.map +1 -1
- package/dist/views/nav.d.ts.map +1 -1
- package/dist/views/raw/RawDetail.d.ts +1 -6
- package/dist/views/raw/RawDetail.d.ts.map +1 -1
- package/dist/views/raw/RawDetail.js.map +1 -1
- package/dist/views/raw/rawNodes.d.ts +0 -1
- package/dist/views/raw/rawNodes.d.ts.map +1 -1
- package/dist/views/raw/statePreview.d.ts.map +1 -1
- package/dist/views/raw/statePreview.js.map +1 -1
- package/dist/views/runs/PayloadDiff.d.ts +1 -4
- package/dist/views/runs/PayloadDiff.d.ts.map +1 -1
- package/dist/views/runs/PayloadDiff.js.map +1 -1
- package/dist/views/runs/parse.d.ts +0 -1
- package/dist/views/runs/parse.d.ts.map +1 -1
- package/dist/views/runs/types.d.ts.map +1 -1
- package/dist/views/scopes/ScopesView.d.ts +1 -3
- package/dist/views/scopes/ScopesView.d.ts.map +1 -1
- package/dist/views/scopes/ScopesView.js.map +1 -1
- package/dist/views/scopes/parse.d.ts +0 -1
- package/dist/views/scopes/parse.d.ts.map +1 -1
- package/dist/views/scopes/types.d.ts.map +1 -1
- package/dist/views/thread/ComposerAttachments.d.ts +1 -4
- package/dist/views/thread/ComposerAttachments.d.ts.map +1 -1
- package/dist/views/thread/ComposerFlags.d.ts +1 -4
- package/dist/views/thread/ComposerFlags.d.ts.map +1 -1
- package/dist/views/thread/ComposerFlags.js.map +1 -1
- package/dist/views/thread/ComposerQueue.d.ts +1 -4
- package/dist/views/thread/ComposerQueue.d.ts.map +1 -1
- package/dist/views/thread/ComposerQueue.js.map +1 -1
- package/dist/views/thread/ConversationList.d.ts +1 -7
- package/dist/views/thread/ConversationList.d.ts.map +1 -1
- package/dist/views/thread/ConversationList.js.map +1 -1
- package/dist/views/thread/ConversationStatusDot.d.ts +2 -13
- package/dist/views/thread/ConversationStatusDot.d.ts.map +1 -1
- package/dist/views/thread/ThreadDetails.d.ts +1 -5
- package/dist/views/thread/ThreadDetails.d.ts.map +1 -1
- package/dist/views/thread/ThreadDetails.js.map +1 -1
- package/dist/views/thread/Transcript.d.ts +2 -9
- package/dist/views/thread/Transcript.d.ts.map +1 -1
- package/dist/views/thread/Transcript.js.map +1 -1
- package/dist/views/thread/resolve.d.ts +0 -1
- package/dist/views/thread/resolve.d.ts.map +1 -1
- package/dist/views/thread/types.d.ts +0 -1
- package/dist/views/thread/types.d.ts.map +1 -1
- package/dist/views/thread/utils.d.ts +0 -1
- package/dist/views/thread/utils.d.ts.map +1 -1
- package/dist/views/ui/CenteredMessage.d.ts +1 -4
- package/dist/views/ui/CenteredMessage.d.ts.map +1 -1
- package/dist/views/ui/Chip.d.ts +1 -5
- package/dist/views/ui/Chip.d.ts.map +1 -1
- package/dist/views/ui/ControlButton.d.ts +1 -5
- package/dist/views/ui/ControlButton.d.ts.map +1 -1
- package/dist/views/ui/CopyButton.d.ts +1 -8
- package/dist/views/ui/CopyButton.d.ts.map +1 -1
- package/dist/views/ui/CopyButton.js.map +1 -1
- package/dist/views/ui/EmptyState.d.ts +1 -4
- package/dist/views/ui/EmptyState.d.ts.map +1 -1
- package/dist/views/ui/InfoCard.d.ts +1 -7
- package/dist/views/ui/InfoCard.d.ts.map +1 -1
- package/dist/views/ui/InfoCard.js.map +1 -1
- package/dist/views/ui/JSONTree.d.ts +1 -5
- package/dist/views/ui/JSONTree.d.ts.map +1 -1
- package/dist/views/ui/JSONTree.js.map +1 -1
- package/dist/views/ui/PaneHeader.d.ts +2 -10
- package/dist/views/ui/PaneHeader.d.ts.map +1 -1
- package/dist/views/ui/PaneHeader.js.map +1 -1
- package/dist/views/ui/RailTime.d.ts +1 -4
- package/dist/views/ui/RailTime.d.ts.map +1 -1
- package/dist/views/ui/RailTime.js.map +1 -1
- package/dist/views/ui/SectionLabel.d.ts +1 -4
- package/dist/views/ui/SectionLabel.d.ts.map +1 -1
- package/dist/views/ui/SelectableRow.d.ts +2 -2
- package/dist/views/ui/SelectableRow.d.ts.map +1 -1
- package/dist/views/ui/Sparkline.d.ts +1 -4
- package/dist/views/ui/Sparkline.d.ts.map +1 -1
- package/dist/views/ui/Sparkline.js.map +1 -1
- package/dist/views/ui/SummaryItem.d.ts +2 -8
- package/dist/views/ui/SummaryItem.d.ts.map +1 -1
- package/dist/views/ui/SummaryItem.js.map +1 -1
- package/dist/views/ui/ToneBadge.d.ts +1 -7
- package/dist/views/ui/ToneBadge.d.ts.map +1 -1
- package/dist/views/ui/badgeTone.d.ts.map +1 -1
- package/dist/views/ui/useCopyToClipboard.d.ts +1 -3
- package/dist/views/ui/useCopyToClipboard.d.ts.map +1 -1
- package/package.json +10 -10
- package/src/styles/panel.generated.ts +1 -1
- package/src/views/message/MessageTimeline.test.tsx +5 -0
package/dist/DevToolsModal.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DevToolsModal.d.ts","names":[],"sources":["../src/DevToolsModal.tsx"],"mappings":"
|
|
1
|
+
{"version":3,"file":"DevToolsModal.d.ts","names":[],"sources":["../src/DevToolsModal.tsx"],"mappings":";;;UAMiB;;EAEf,UAAU;;EAEV;;EAEA,SAAS;;;;;;;cAUE,gBAAiB,QAAO,uCAAuB,IAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DevToolsModal.js","names":["c","_c","lazy","Suspense","DevToolsPanelPlugin","DevToolsClient","DevToolsModalProps","plugins","theme","client","DevToolsModalImpl","DevToolsModal","t0","$","t1","undefined","props","process","env","NODE_ENV","t2"],"sources":["../src/DevToolsModal.tsx"],"sourcesContent":["\"use client\";\n\nimport { lazy, Suspense } from \"react\";\nimport type { DevToolsPanelPlugin } from \"./shell/registry\";\nimport type { DevToolsClient } from \"./data/types\";\n\nexport interface DevToolsModalProps {\n /** Extra inspector tabs appended after the builtins. */\n plugins?: DevToolsPanelPlugin[];\n /** Force a theme. Defaults to \"system\", which follows the host `.dark` class. */\n theme?: \"light\" | \"dark\" | \"system\";\n /** Data source. Defaults to the in-process DevToolsHooks client. */\n client?: DevToolsClient;\n}\n\nconst DevToolsModalImpl = lazy(() => import(\"./DevToolsModalImpl\"));\n\n/**\n * Dev-only. In production the body returns null before the lazy panel chunk is\n * ever requested, so the panel and its compiled styles stay out of the\n * production bundle (the dynamic import is also code-split).\n */\nexport const DevToolsModal = (props: DevToolsModalProps = {}) => {\n if (\n typeof process !== \"undefined\" &&\n process.env?.NODE_ENV === \"production\"\n ) {\n return null;\n }\n\n return (\n <Suspense fallback={null}>\n <DevToolsModalImpl {...props} />\n </Suspense>\n );\n};\n"],"mappings":";;;;;AAeA,MAAMU,oBAAoBR,WAAW,OAAO,yBAAsB;;;;;;AAOlE,MAAaS,iBAAgBC,OAAA;CAAA,MAAAC,IAAAZ,EAAA,CAAA;CAAA,IAAAa;CAAA,IAAAD,EAAA,OAAAD,IAAA;EAACE,KAAAF,OAAAG,KAAAA,IAAA,CAA6B,IAA7BH;EAA8BC,EAAA,KAAAD;EAAAC,EAAA,KAAAC;CAAA,OAAAA,KAAAD,EAAA;CAA9B,MAAAG,QAAAF;CAC5B,IACE,OAAOG,YAAY,eACnBA,QAAOC,KAAcC,aAAK,cAAY,OAE/B;CACR,IAAAC;CAAA,IAAAP,EAAA,OAAAG,OAAA;EAGCI,KAAA,oBAAC,UAAD;GAAoB,UAAA;
|
|
1
|
+
{"version":3,"file":"DevToolsModal.js","names":["c","_c","lazy","Suspense","DevToolsPanelPlugin","DevToolsClient","DevToolsModalProps","plugins","theme","client","DevToolsModalImpl","DevToolsModal","t0","$","t1","undefined","props","process","env","NODE_ENV","t2"],"sources":["../src/DevToolsModal.tsx"],"sourcesContent":["\"use client\";\n\nimport { lazy, Suspense } from \"react\";\nimport type { DevToolsPanelPlugin } from \"./shell/registry\";\nimport type { DevToolsClient } from \"./data/types\";\n\nexport interface DevToolsModalProps {\n /** Extra inspector tabs appended after the builtins. */\n plugins?: DevToolsPanelPlugin[];\n /** Force a theme. Defaults to \"system\", which follows the host `.dark` class. */\n theme?: \"light\" | \"dark\" | \"system\";\n /** Data source. Defaults to the in-process DevToolsHooks client. */\n client?: DevToolsClient;\n}\n\nconst DevToolsModalImpl = lazy(() => import(\"./DevToolsModalImpl\"));\n\n/**\n * Dev-only. In production the body returns null before the lazy panel chunk is\n * ever requested, so the panel and its compiled styles stay out of the\n * production bundle (the dynamic import is also code-split).\n */\nexport const DevToolsModal = (props: DevToolsModalProps = {}) => {\n if (\n typeof process !== \"undefined\" &&\n process.env?.NODE_ENV === \"production\"\n ) {\n return null;\n }\n\n return (\n <Suspense fallback={null}>\n <DevToolsModalImpl {...props} />\n </Suspense>\n );\n};\n"],"mappings":";;;;;AAeA,MAAMU,oBAAoBR,WAAW,OAAO,yBAAsB;;;;;;AAOlE,MAAaS,iBAAgBC,OAAA;CAAA,MAAAC,IAAAZ,EAAA,CAAA;CAAA,IAAAa;CAAA,IAAAD,EAAA,OAAAD,IAAA;EAACE,KAAAF,OAAAG,KAAAA,IAAA,CAA6B,IAA7BH;EAA8BC,EAAA,KAAAD;EAAAC,EAAA,KAAAC;CAAA,OAAAA,KAAAD,EAAA;CAA9B,MAAAG,QAAAF;CAC5B,IACE,OAAOG,YAAY,eACnBA,QAAOC,KAAcC,aAAK,cAAY,OAE/B;CACR,IAAAC;CAAA,IAAAP,EAAA,OAAAG,OAAA;EAGCI,KAAA,oBAAC,UAAD;GAAoB,UAAA;GAClB,UAAA,oBAAC,mBAAD,EAAkB,GAAKJ,MAAK,CAAA;EADrB,CAAA;EAEEH,EAAA,KAAAG;EAAAH,EAAA,KAAAO;CAAA,OAAAA,KAAAP,EAAA;CAAA,OAFXO;AAEW"}
|
|
@@ -1,11 +1,6 @@
|
|
|
1
1
|
import { DevToolsModalProps } from "./DevToolsModal.js";
|
|
2
|
-
|
|
3
2
|
//#region src/DevToolsModalImpl.d.ts
|
|
4
|
-
declare const DevToolsModalImpl: ({
|
|
5
|
-
plugins,
|
|
6
|
-
theme,
|
|
7
|
-
client
|
|
8
|
-
}: DevToolsModalProps) => import("react").JSX.Element;
|
|
3
|
+
declare const DevToolsModalImpl: ({ plugins, theme, client }: DevToolsModalProps) => import("react").JSX.Element;
|
|
9
4
|
//#endregion
|
|
10
5
|
export { DevToolsModalImpl as default };
|
|
11
6
|
//# sourceMappingURL=DevToolsModalImpl.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DevToolsModalImpl.d.ts","names":[],"sources":["../src/DevToolsModalImpl.tsx"],"mappings":"
|
|
1
|
+
{"version":3,"file":"DevToolsModalImpl.d.ts","names":[],"sources":["../src/DevToolsModalImpl.tsx"],"mappings":";;cAmCM,sBAAqB,SAAA,OAAA,UAIxB,uCAAkB,IAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DevToolsModalImpl.js","names":["c","_c","useMemo","useSyncExternalStore","DevToolsOverlay","ShadowRoot","DevToolsModalProps","isDarkMode","document","documentElement","classList","contains","body","subscribeToThemeChanges","callback","MutationObserver","observer","observe","attributes","attributeFilter","disconnect","DevToolsModalImpl","t0","$","plugins","theme","t1","client","undefined","darkMode","_temp","resolved","t2","overlay","t3"],"sources":["../src/DevToolsModalImpl.tsx"],"sourcesContent":["\"use client\";\n\nimport { useMemo, useSyncExternalStore } from \"react\";\nimport { DevToolsOverlay } from \"./shell/DevToolsOverlay\";\nimport { ShadowRoot } from \"./shell/ShadowRoot\";\nimport type { DevToolsModalProps } from \"./DevToolsModal\";\n\nconst isDarkMode = (): boolean => {\n if (typeof document === \"undefined\") return false;\n return (\n document.documentElement.classList.contains(\"dark\") ||\n document.body.classList.contains(\"dark\")\n );\n};\n\nconst subscribeToThemeChanges = (callback: () => void) => {\n if (typeof MutationObserver === \"undefined\") {\n return () => {};\n }\n\n const observer = new MutationObserver(callback);\n observer.observe(document.documentElement, {\n attributes: true,\n attributeFilter: [\"class\"],\n });\n if (document.body !== document.documentElement) {\n observer.observe(document.body, {\n attributes: true,\n attributeFilter: [\"class\"],\n });\n }\n\n return () => observer.disconnect();\n};\n\nconst DevToolsModalImpl = ({\n plugins,\n theme = \"system\",\n client,\n}: DevToolsModalProps) => {\n const darkMode = useSyncExternalStore(\n subscribeToThemeChanges,\n isDarkMode,\n () => false,\n );\n const resolved = theme === \"system\" ? (darkMode ? \"dark\" : \"light\") : theme;\n\n // Stable element identity so the shadow root only re-renders on real changes,\n // not on every render of the host tree.\n const overlay = useMemo(\n () => (\n <DevToolsOverlay theme={resolved} plugins={plugins} client={client} />\n ),\n [resolved, plugins, client],\n );\n\n return <ShadowRoot theme={resolved}>{overlay}</ShadowRoot>;\n};\n\nexport default DevToolsModalImpl;\n"],"mappings":";;;;;;;AAOA,MAAMO,mBAA4B;CAChC,IAAI,OAAOC,aAAa,aAAa,OAAO;CAC5C,OACEA,SAASC,gBAAgBC,UAAUC,SAAS,MAAM,KAClDH,SAASI,KAAKF,UAAUC,SAAS,MAAM;AAE3C;AAEA,MAAME,2BAA2BC,aAAyB;CACxD,IAAI,OAAOC,qBAAqB,aAC9B,aAAa,CAAC;CAGhB,MAAMC,WAAW,IAAID,iBAAiBD,QAAQ;CAC9CE,SAASC,QAAQT,SAASC,iBAAiB;EACzCS,YAAY;EACZC,iBAAiB,CAAC,OAAO;CAC3B,CAAC;CACD,IAAIX,SAASI,SAASJ,SAASC,iBAC7BO,SAASC,QAAQT,SAASI,MAAM;EAC9BM,YAAY;EACZC,iBAAiB,CAAC,OAAO;CAC3B,CAAC;CAGH,aAAaH,SAASI,WAAW;AACnC;AAEA,MAAMC,qBAAoBC,OAAA;CAAA,MAAAC,IAAAtB,EAAA,CAAA;CAAC,MAAA,EAAAuB,SAAAC,OAAAC,IAAAC,WAAAL;CAEzB,MAAAG,QAAAC,OAAAE,KAAAA,IAAA,WAAAF;CAGA,MAAAG,WAAiB1B,qBACfU,yBACAN,YACAuB,KACF;CACA,MAAAC,WAAiBN,UAAU,WAAYI,WAAA,SAAA,UAAtBJ;CAA2D,IAAAO;CAAA,IAAAT,EAAA,OAAAI,UAAAJ,EAAA,OAAAC,WAAAD,EAAA,OAAAQ,UAAA;EAMxEC,KAAA,oBAAC,iBAAD;GAAwBD,OAAAA;GAAmBP;GAAiBG;EAAM,CAAA;EAAIJ,EAAA,KAAAI;EAAAJ,EAAA,KAAAC;EAAAD,EAAA,KAAAQ;EAAAR,EAAA,KAAAS;CAAA,OAAAA,KAAAT,EAAA;CAF1E,MAAAU,UAEID;CAGF,IAAAE;CAAA,IAAAX,EAAA,OAAAU,WAAAV,EAAA,OAAAQ,UAAA;EAEKG,KAAA,oBAAC,YAAD;GAAmBH,OAAAA;
|
|
1
|
+
{"version":3,"file":"DevToolsModalImpl.js","names":["c","_c","useMemo","useSyncExternalStore","DevToolsOverlay","ShadowRoot","DevToolsModalProps","isDarkMode","document","documentElement","classList","contains","body","subscribeToThemeChanges","callback","MutationObserver","observer","observe","attributes","attributeFilter","disconnect","DevToolsModalImpl","t0","$","plugins","theme","t1","client","undefined","darkMode","_temp","resolved","t2","overlay","t3"],"sources":["../src/DevToolsModalImpl.tsx"],"sourcesContent":["\"use client\";\n\nimport { useMemo, useSyncExternalStore } from \"react\";\nimport { DevToolsOverlay } from \"./shell/DevToolsOverlay\";\nimport { ShadowRoot } from \"./shell/ShadowRoot\";\nimport type { DevToolsModalProps } from \"./DevToolsModal\";\n\nconst isDarkMode = (): boolean => {\n if (typeof document === \"undefined\") return false;\n return (\n document.documentElement.classList.contains(\"dark\") ||\n document.body.classList.contains(\"dark\")\n );\n};\n\nconst subscribeToThemeChanges = (callback: () => void) => {\n if (typeof MutationObserver === \"undefined\") {\n return () => {};\n }\n\n const observer = new MutationObserver(callback);\n observer.observe(document.documentElement, {\n attributes: true,\n attributeFilter: [\"class\"],\n });\n if (document.body !== document.documentElement) {\n observer.observe(document.body, {\n attributes: true,\n attributeFilter: [\"class\"],\n });\n }\n\n return () => observer.disconnect();\n};\n\nconst DevToolsModalImpl = ({\n plugins,\n theme = \"system\",\n client,\n}: DevToolsModalProps) => {\n const darkMode = useSyncExternalStore(\n subscribeToThemeChanges,\n isDarkMode,\n () => false,\n );\n const resolved = theme === \"system\" ? (darkMode ? \"dark\" : \"light\") : theme;\n\n // Stable element identity so the shadow root only re-renders on real changes,\n // not on every render of the host tree.\n const overlay = useMemo(\n () => (\n <DevToolsOverlay theme={resolved} plugins={plugins} client={client} />\n ),\n [resolved, plugins, client],\n );\n\n return <ShadowRoot theme={resolved}>{overlay}</ShadowRoot>;\n};\n\nexport default DevToolsModalImpl;\n"],"mappings":";;;;;;;AAOA,MAAMO,mBAA4B;CAChC,IAAI,OAAOC,aAAa,aAAa,OAAO;CAC5C,OACEA,SAASC,gBAAgBC,UAAUC,SAAS,MAAM,KAClDH,SAASI,KAAKF,UAAUC,SAAS,MAAM;AAE3C;AAEA,MAAME,2BAA2BC,aAAyB;CACxD,IAAI,OAAOC,qBAAqB,aAC9B,aAAa,CAAC;CAGhB,MAAMC,WAAW,IAAID,iBAAiBD,QAAQ;CAC9CE,SAASC,QAAQT,SAASC,iBAAiB;EACzCS,YAAY;EACZC,iBAAiB,CAAC,OAAO;CAC3B,CAAC;CACD,IAAIX,SAASI,SAASJ,SAASC,iBAC7BO,SAASC,QAAQT,SAASI,MAAM;EAC9BM,YAAY;EACZC,iBAAiB,CAAC,OAAO;CAC3B,CAAC;CAGH,aAAaH,SAASI,WAAW;AACnC;AAEA,MAAMC,qBAAoBC,OAAA;CAAA,MAAAC,IAAAtB,EAAA,CAAA;CAAC,MAAA,EAAAuB,SAAAC,OAAAC,IAAAC,WAAAL;CAEzB,MAAAG,QAAAC,OAAAE,KAAAA,IAAA,WAAAF;CAGA,MAAAG,WAAiB1B,qBACfU,yBACAN,YACAuB,KACF;CACA,MAAAC,WAAiBN,UAAU,WAAYI,WAAA,SAAA,UAAtBJ;CAA2D,IAAAO;CAAA,IAAAT,EAAA,OAAAI,UAAAJ,EAAA,OAAAC,WAAAD,EAAA,OAAAQ,UAAA;EAMxEC,KAAA,oBAAC,iBAAD;GAAwBD,OAAAA;GAAmBP;GAAiBG;EAAM,CAAA;EAAIJ,EAAA,KAAAI;EAAAJ,EAAA,KAAAC;EAAAD,EAAA,KAAAQ;EAAAR,EAAA,KAAAS;CAAA,OAAAA,KAAAT,EAAA;CAF1E,MAAAU,UAEID;CAGF,IAAAE;CAAA,IAAAX,EAAA,OAAAU,WAAAV,EAAA,OAAAQ,UAAA;EAEKG,KAAA,oBAAC,YAAD;GAAmBH,OAAAA;GAAWE,UAAAA;EAAnB,CAAA;EAAwCV,EAAA,KAAAU;EAAAV,EAAA,KAAAQ;EAAAR,EAAA,KAAAW;CAAA,OAAAA,KAAAX,EAAA;CAAA,OAAnDW;AAAmD;AArBlC,SAAAJ,QAAA;CAAA,OAQhB;AAAK"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createInProcessClient.d.ts","names":[],"sources":["../../src/data/createInProcessClient.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"createInProcessClient.d.ts","names":[],"sources":["../../src/data/createInProcessClient.ts"],"mappings":";;;;;;;;;;cAiBa,6BAA4B;;cAgD5B,iBAAe"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"projectApi.d.ts","names":[],"sources":["../../src/data/projectApi.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"projectApi.d.ts","names":[],"sources":["../../src/data/projectApi.ts"],"mappings":";;;UASU;EACR,KAAK,QAAQ;EACb,MAAM,cAAc;;;;;;;;;;;;cAqGT,aAAc,eAAe,OAAO,qBAAmB"}
|
package/dist/data/types.d.ts
CHANGED
package/dist/data/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","names":[],"sources":["../../src/data/types.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.d.ts","names":[],"sources":["../../src/data/types.ts"],"mappings":";;UAIiB;WACN,MAAM;WACN;WACA;;UAGM;EACf;EACA,OAAO;EACP,MAAM;EACN,eAAe;EACf;;;;;;EAMA,kBAAkB,SAAS;;;;;;UAOZ;EACf;EACA,MAAM,oBAAoB;;;;;;;;UASX;;EAEf,UAAU;;EAEV,eAAe;;EAEf,sBAAsB;;EAEtB,YAAY;;EAEZ,gBAAgB,eAAe,0BAA0B;;;cAI9C,gBAAgB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useDevToolsClient.d.ts","names":[],"sources":["../../src/data/useDevToolsClient.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"useDevToolsClient.d.ts","names":[],"sources":["../../src/data/useDevToolsClient.ts"],"mappings":";;UAIiB;EACf;EACA,UAAU;EACV,cAAc;EACd,iBAAiB,eAAe,4BAA4B;;;;;;;;cASjD,oBACX,8BACA,SAAQ,mBACP"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { DevToolsClient } from "../data/types.js";
|
|
2
2
|
import { DevToolsPanelPlugin } from "./registry.js";
|
|
3
|
-
|
|
4
3
|
//#region src/shell/DevToolsOverlay.d.ts
|
|
5
4
|
interface DevToolsOverlayProps {
|
|
6
5
|
plugins?: DevToolsPanelPlugin[] | undefined;
|
|
@@ -13,11 +12,7 @@ interface DevToolsOverlayProps {
|
|
|
13
12
|
* and isolated from the host page. The window floats over the live app with no
|
|
14
13
|
* backdrop; close with the × or Escape.
|
|
15
14
|
*/
|
|
16
|
-
declare const DevToolsOverlay: ({
|
|
17
|
-
plugins,
|
|
18
|
-
theme,
|
|
19
|
-
client
|
|
20
|
-
}: DevToolsOverlayProps) => import("react").JSX.Element;
|
|
15
|
+
declare const DevToolsOverlay: ({ plugins, theme, client }: DevToolsOverlayProps) => import("react").JSX.Element;
|
|
21
16
|
//#endregion
|
|
22
17
|
export { DevToolsOverlay, DevToolsOverlayProps };
|
|
23
18
|
//# sourceMappingURL=DevToolsOverlay.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DevToolsOverlay.d.ts","names":[],"sources":["../../src/shell/DevToolsOverlay.tsx"],"mappings":"
|
|
1
|
+
{"version":3,"file":"DevToolsOverlay.d.ts","names":[],"sources":["../../src/shell/DevToolsOverlay.tsx"],"mappings":";;;UAOiB;EACf,UAAU;EACV;EACA,SAAS;;;;;;;;cASE,oBAAmB,SAAA,OAAA,UAI7B,yCAAoB,IAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DevToolsOverlay.js","names":["c","_c","useEffect","useState","DevToolsPanel","DevToolsPanelPlugin","DevToolsClient","DevToolsOverlayProps","plugins","theme","client","DevToolsOverlay","t0","$","isOpen","setIsOpen","t1","t2","handleEscape","event","key","document","addEventListener","removeEventListener","t3","Symbol","for","t4","t5"],"sources":["../../src/shell/DevToolsOverlay.tsx"],"sourcesContent":["\"use client\";\n\nimport { useEffect, useState } from \"react\";\nimport { DevToolsPanel } from \"./DevToolsPanel\";\nimport type { DevToolsPanelPlugin } from \"./registry\";\nimport type { DevToolsClient } from \"../data/types\";\n\nexport interface DevToolsOverlayProps {\n plugins?: DevToolsPanelPlugin[] | undefined;\n theme: \"light\" | \"dark\";\n client?: DevToolsClient | undefined;\n}\n\n/**\n * The full devtools surface (floating launcher + window), rendered inside the\n * shadow root so every element is styled with the package's own Tailwind tokens\n * and isolated from the host page. The window floats over the live app with no\n * backdrop; close with the × or Escape.\n */\nexport const DevToolsOverlay = ({\n plugins,\n theme,\n client,\n}: DevToolsOverlayProps) => {\n const [isOpen, setIsOpen] = useState(false);\n\n useEffect(() => {\n if (!isOpen) return;\n const handleEscape = (event: KeyboardEvent) => {\n if (event.key === \"Escape\") setIsOpen(false);\n };\n document.addEventListener(\"keydown\", handleEscape);\n return () => document.removeEventListener(\"keydown\", handleEscape);\n }, [isOpen]);\n\n if (!isOpen) {\n return (\n <button\n type=\"button\"\n onClick={() => setIsOpen(true)}\n aria-label=\"Open assistant-ui DevTools\"\n title=\"Open assistant-ui DevTools\"\n className=\"bg-foreground text-background fixed end-5 bottom-5 z-[2147483646] flex size-9 [animation:aui-dt-launcher-in_200ms_cubic-bezier(0.175,0.885,0.32,1.1)] items-center justify-center rounded-full shadow-[var(--shadow-launcher)] backdrop-blur-2xl transition-transform duration-150 ease-out hover:scale-105 active:scale-95\"\n >\n <svg\n width=\"18\"\n height=\"18\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n aria-hidden=\"true\"\n >\n <path\n d=\"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z\"\n stroke=\"currentColor\"\n strokeWidth=\"1.75\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n </button>\n );\n }\n\n return (\n <>\n <div\n onClick={() => setIsOpen(false)}\n className=\"fixed inset-0 z-[2147483646] [animation:aui-dt-fade-in_150ms_ease-out] bg-black/20 backdrop-blur-[3px]\"\n />\n <div\n role=\"dialog\"\n aria-label=\"assistant-ui DevTools\"\n className=\"bg-background text-foreground border-border fixed top-1/2 left-1/2 z-[2147483647] flex h-[min(560px,80vh)] w-[min(960px,92vw)] -translate-x-1/2 -translate-y-1/2 [animation:aui-dt-window-in_200ms_cubic-bezier(0.175,0.885,0.32,1.1)] flex-col overflow-hidden rounded-xl border shadow-[var(--shadow-window)]\"\n >\n <DevToolsPanel\n theme={theme}\n plugins={plugins}\n client={client}\n onClose={() => setIsOpen(false)}\n />\n </div>\n </>\n );\n};\n"],"mappings":";;;;;;;;;;;;AAmBA,MAAaW,mBAAkBC,OAAA;CAAA,MAAAC,IAAAZ,EAAA,EAAA;CAAC,MAAA,EAAAO,SAAAC,OAAAC,WAAAE;CAK9B,MAAA,CAAAE,QAAAC,aAA4BZ,SAAS,KAAK;CAAE,IAAAa;CAAA,IAAAC;CAAA,IAAAJ,EAAA,OAAAC,QAAA;EAElCE,WAAA;GACR,IAAI,CAACF,QAAM;GACX,MAAAI,gBAAqBC,UAAA;IACnB,IAAIA,MAAKC,QAAS,UAAUL,UAAU,KAAK;GAAE;GAE/CM,SAAQC,iBAAkB,WAAWJ,YAAY;GAAC,aACrCG,SAAQE,oBAAqB,WAAWL,YAAY;EAAC;EACjED,KAAA,CAACH,MAAM;EAACD,EAAA,KAAAC;EAAAD,EAAA,KAAAG;EAAAH,EAAA,KAAAI;CAAA,OAAA;EAAAD,KAAAH,EAAA;EAAAI,KAAAJ,EAAA;CAAA;CAPXX,UAAUc,IAOPC,EAAQ;CAEX,IAAI,CAACH,QAAM;EAAA,IAAAU;EAAA,IAAAX,EAAA,OAAAY,OAAAC,IAAA,2BAAA,GAAA;GAIIF,WAAMT,UAAU,IAAI;GAACF,EAAA,KAAAW;EAAA,OAAAA,KAAAX,EAAA;EAAA,IAAAc;EAAA,IAAAd,EAAA,OAAAY,OAAAC,IAAA,2BAAA,GAAA;GAFhCC,KAAA,oBAAA,UAAA;IACO,MAAA;IACI,SAAAH;IACE,cAAA;IACL,OAAA;IACI,WAAA;
|
|
1
|
+
{"version":3,"file":"DevToolsOverlay.js","names":["c","_c","useEffect","useState","DevToolsPanel","DevToolsPanelPlugin","DevToolsClient","DevToolsOverlayProps","plugins","theme","client","DevToolsOverlay","t0","$","isOpen","setIsOpen","t1","t2","handleEscape","event","key","document","addEventListener","removeEventListener","t3","Symbol","for","t4","t5"],"sources":["../../src/shell/DevToolsOverlay.tsx"],"sourcesContent":["\"use client\";\n\nimport { useEffect, useState } from \"react\";\nimport { DevToolsPanel } from \"./DevToolsPanel\";\nimport type { DevToolsPanelPlugin } from \"./registry\";\nimport type { DevToolsClient } from \"../data/types\";\n\nexport interface DevToolsOverlayProps {\n plugins?: DevToolsPanelPlugin[] | undefined;\n theme: \"light\" | \"dark\";\n client?: DevToolsClient | undefined;\n}\n\n/**\n * The full devtools surface (floating launcher + window), rendered inside the\n * shadow root so every element is styled with the package's own Tailwind tokens\n * and isolated from the host page. The window floats over the live app with no\n * backdrop; close with the × or Escape.\n */\nexport const DevToolsOverlay = ({\n plugins,\n theme,\n client,\n}: DevToolsOverlayProps) => {\n const [isOpen, setIsOpen] = useState(false);\n\n useEffect(() => {\n if (!isOpen) return;\n const handleEscape = (event: KeyboardEvent) => {\n if (event.key === \"Escape\") setIsOpen(false);\n };\n document.addEventListener(\"keydown\", handleEscape);\n return () => document.removeEventListener(\"keydown\", handleEscape);\n }, [isOpen]);\n\n if (!isOpen) {\n return (\n <button\n type=\"button\"\n onClick={() => setIsOpen(true)}\n aria-label=\"Open assistant-ui DevTools\"\n title=\"Open assistant-ui DevTools\"\n className=\"bg-foreground text-background fixed end-5 bottom-5 z-[2147483646] flex size-9 [animation:aui-dt-launcher-in_200ms_cubic-bezier(0.175,0.885,0.32,1.1)] items-center justify-center rounded-full shadow-[var(--shadow-launcher)] backdrop-blur-2xl transition-transform duration-150 ease-out hover:scale-105 active:scale-95\"\n >\n <svg\n width=\"18\"\n height=\"18\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n aria-hidden=\"true\"\n >\n <path\n d=\"M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z\"\n stroke=\"currentColor\"\n strokeWidth=\"1.75\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n </button>\n );\n }\n\n return (\n <>\n <div\n onClick={() => setIsOpen(false)}\n className=\"fixed inset-0 z-[2147483646] [animation:aui-dt-fade-in_150ms_ease-out] bg-black/20 backdrop-blur-[3px]\"\n />\n <div\n role=\"dialog\"\n aria-label=\"assistant-ui DevTools\"\n className=\"bg-background text-foreground border-border fixed top-1/2 left-1/2 z-[2147483647] flex h-[min(560px,80vh)] w-[min(960px,92vw)] -translate-x-1/2 -translate-y-1/2 [animation:aui-dt-window-in_200ms_cubic-bezier(0.175,0.885,0.32,1.1)] flex-col overflow-hidden rounded-xl border shadow-[var(--shadow-window)]\"\n >\n <DevToolsPanel\n theme={theme}\n plugins={plugins}\n client={client}\n onClose={() => setIsOpen(false)}\n />\n </div>\n </>\n );\n};\n"],"mappings":";;;;;;;;;;;;AAmBA,MAAaW,mBAAkBC,OAAA;CAAA,MAAAC,IAAAZ,EAAA,EAAA;CAAC,MAAA,EAAAO,SAAAC,OAAAC,WAAAE;CAK9B,MAAA,CAAAE,QAAAC,aAA4BZ,SAAS,KAAK;CAAE,IAAAa;CAAA,IAAAC;CAAA,IAAAJ,EAAA,OAAAC,QAAA;EAElCE,WAAA;GACR,IAAI,CAACF,QAAM;GACX,MAAAI,gBAAqBC,UAAA;IACnB,IAAIA,MAAKC,QAAS,UAAUL,UAAU,KAAK;GAAE;GAE/CM,SAAQC,iBAAkB,WAAWJ,YAAY;GAAC,aACrCG,SAAQE,oBAAqB,WAAWL,YAAY;EAAC;EACjED,KAAA,CAACH,MAAM;EAACD,EAAA,KAAAC;EAAAD,EAAA,KAAAG;EAAAH,EAAA,KAAAI;CAAA,OAAA;EAAAD,KAAAH,EAAA;EAAAI,KAAAJ,EAAA;CAAA;CAPXX,UAAUc,IAOPC,EAAQ;CAEX,IAAI,CAACH,QAAM;EAAA,IAAAU;EAAA,IAAAX,EAAA,OAAAY,OAAAC,IAAA,2BAAA,GAAA;GAIIF,WAAMT,UAAU,IAAI;GAACF,EAAA,KAAAW;EAAA,OAAAA,KAAAX,EAAA;EAAA,IAAAc;EAAA,IAAAd,EAAA,OAAAY,OAAAC,IAAA,2BAAA,GAAA;GAFhCC,KAAA,oBAAA,UAAA;IACO,MAAA;IACI,SAAAH;IACE,cAAA;IACL,OAAA;IACI,WAAA;IAEV,UAAA,oBAAA,OAAA;KACQ,OAAA;KACC,QAAA;KACC,SAAA;KACH,MAAA;KACO,eAAA;KAEZ,UAAA,oBAAA,QAAA;MACI,GAAA;MACK,QAAA;MACK,aAAA;MACE,eAAA;MACC,gBAAA;KAAO,CAAA;IAEpB,CAAA;GACC,CAAA;GAAAX,EAAA,KAAAc;EAAA,OAAAA,KAAAd,EAAA;EAAA,OAtBTc;CAsBS;CAEZ,IAAAH;CAAA,IAAAX,EAAA,OAAAY,OAAAC,IAAA,2BAAA,GAAA;EAIGF,KAAA,oBAAA,OAAA;GACW,eAAMT,UAAU,KAAK;GACpB,WAAA;EAAwG,CAAA;EAClHF,EAAA,KAAAW;CAAA,OAAAA,KAAAX,EAAA;CAAA,IAAAc;CAAA,IAAAd,EAAA,OAAAY,OAAAC,IAAA,2BAAA,GAAA;EAUWC,WAAMZ,UAAU,KAAK;EAACF,EAAA,KAAAc;CAAA,OAAAA,KAAAd,EAAA;CAAA,IAAAe;CAAA,IAAAf,EAAA,OAAAH,UAAAG,EAAA,OAAAL,WAAAK,EAAA,OAAAJ,OAAA;EAdrCmB,KAAA,qBAAA,YAAA,EAAA,UAAA,CACEJ,IAIA,oBAAA,OAAA;GACO,MAAA;GACM,cAAA;GACD,WAAA;GAEV,UAAA,oBAAC,eAAD;IACSf;IACED;IACDE;IACC,SAAAiB;GAAsB,CAAA;EAE7B,CAAA,CAAA,EAAA,CAAA;EACLd,EAAA,KAAAH;EAAAG,EAAA,KAAAL;EAAAK,EAAA,KAAAJ;EAAAI,EAAA,MAAAe;CAAA,OAAAA,KAAAf,EAAA;CAAA,OAjBHe;AAiBG"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { DevToolsClient } from "../data/types.js";
|
|
2
2
|
import { DevToolsPanelPlugin } from "./registry.js";
|
|
3
|
-
|
|
4
3
|
//#region src/shell/DevToolsPanel.d.ts
|
|
5
4
|
interface DevToolsPanelProps {
|
|
6
5
|
/** Additional inspector tabs appended after the builtins. */
|
|
@@ -12,12 +11,7 @@ interface DevToolsPanelProps {
|
|
|
12
11
|
/** Data source. Defaults to the in-process DevToolsHooks client. */
|
|
13
12
|
client?: DevToolsClient | undefined;
|
|
14
13
|
}
|
|
15
|
-
declare const DevToolsPanel: ({
|
|
16
|
-
plugins,
|
|
17
|
-
theme,
|
|
18
|
-
onClose,
|
|
19
|
-
client
|
|
20
|
-
}: DevToolsPanelProps) => import("react").JSX.Element;
|
|
14
|
+
declare const DevToolsPanel: ({ plugins, theme, onClose, client }: DevToolsPanelProps) => import("react").JSX.Element;
|
|
21
15
|
//#endregion
|
|
22
16
|
export { DevToolsPanel, DevToolsPanelProps };
|
|
23
17
|
//# sourceMappingURL=DevToolsPanel.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DevToolsPanel.d.ts","names":[],"sources":["../../src/shell/DevToolsPanel.tsx"],"mappings":"
|
|
1
|
+
{"version":3,"file":"DevToolsPanel.d.ts","names":[],"sources":["../../src/shell/DevToolsPanel.tsx"],"mappings":";;;UAciB;;EAEf,UAAU;;EAEV;;EAEA;;EAEA,SAAS;;cAGE,kBAAiB,SAAA,OAAA,SAAA,UAK3B,uCAAkB,IAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DevToolsPanel.js","names":["c","_c","useCallback","useEffect","useMemo","useState","clsx","useDevToolsClient","inProcessClient","DevToolsClient","CenteredMessage","builtinPlugins","DevToolsPanelPlugin","DevToolsTabContext","DevToolsPanelProps","plugins","theme","onClose","client","DevToolsPanel","t0","$","t1","undefined","resolvedClient","selectedApiId","setSelectedApiId","activeTabId","setActiveTabId","t2","Symbol","for","selectionByApi","setSelectionByApi","apiIds","selected","clearEvents","switchToThread","t3","t4","includes","t5","sort","_temp","allPlugins","t6","apiId","tabId","nodeId","prev","setSelectionFor","t7","filter","plugin","isAvailable","data","selection","setSelection","_temp2","visiblePlugins","t8","find","plugin_0","id","activePlugin","t9","nodeId_0","threadId","ctx","t10","t11","plugin_1","active","label","map","t12","length","event","value","Number","target","isNaN","_temp3","t13","t14","t15","t16","t17","t18","t19","t20","a","b","order"],"sources":["../../src/shell/DevToolsPanel.tsx"],"sourcesContent":["\"use client\";\n\nimport { useCallback, useEffect, useMemo, useState } from \"react\";\nimport clsx from \"clsx\";\nimport { useDevToolsClient } from \"../data/useDevToolsClient\";\nimport { inProcessClient } from \"../data/createInProcessClient\";\nimport type { DevToolsClient } from \"../data/types\";\nimport { CenteredMessage } from \"../views/ui\";\nimport {\n builtinPlugins,\n type DevToolsPanelPlugin,\n type DevToolsTabContext,\n} from \"./registry\";\n\nexport interface DevToolsPanelProps {\n /** Additional inspector tabs appended after the builtins. */\n plugins?: DevToolsPanelPlugin[] | undefined;\n /** Resolved theme, used to style plugin content and the dark variant. */\n theme?: \"light\" | \"dark\";\n /** When provided, a close control is rendered at the end of the tab bar. */\n onClose?: (() => void) | undefined;\n /** Data source. Defaults to the in-process DevToolsHooks client. */\n client?: DevToolsClient | undefined;\n}\n\nexport const DevToolsPanel = ({\n plugins,\n theme = \"light\",\n onClose,\n client,\n}: DevToolsPanelProps) => {\n const resolvedClient = client ?? inProcessClient;\n const [selectedApiId, setSelectedApiId] = useState<number | null>(null);\n const [activeTabId, setActiveTabId] = useState<string>(\"thread\");\n const [selectionByApi, setSelectionByApi] = useState<\n Record<number, Record<string, string | null>>\n >({});\n const { apiIds, selected, clearEvents, switchToThread } = useDevToolsClient(\n selectedApiId,\n resolvedClient,\n );\n\n useEffect(() => {\n if (selectedApiId !== null && apiIds.includes(selectedApiId)) return;\n setSelectedApiId(apiIds[0] ?? null);\n }, [apiIds, selectedApiId]);\n\n const allPlugins = useMemo(\n () =>\n [...builtinPlugins, ...(plugins ?? [])].sort(\n (a, b) => (a.order ?? 0) - (b.order ?? 0),\n ),\n [plugins],\n );\n\n const setSelectionFor = useCallback(\n (apiId: number, tabId: string, nodeId: string | null) => {\n setSelectionByApi((prev) => ({\n ...prev,\n [apiId]: { ...prev[apiId], [tabId]: nodeId },\n }));\n },\n [],\n );\n\n const visiblePlugins =\n selected && selectedApiId !== null\n ? allPlugins.filter((plugin) =>\n plugin.isAvailable\n ? plugin.isAvailable({\n apiId: selectedApiId,\n data: selected,\n clearEvents,\n theme,\n selection: null,\n setSelection: () => {},\n })\n : true,\n )\n : allPlugins;\n\n const activePlugin =\n visiblePlugins.find((plugin) => plugin.id === activeTabId) ??\n visiblePlugins[0];\n\n const ctx: DevToolsTabContext | null =\n selected && selectedApiId !== null && activePlugin\n ? {\n apiId: selectedApiId,\n data: selected,\n clearEvents,\n theme,\n selection: selectionByApi[selectedApiId]?.[activePlugin.id] ?? null,\n setSelection: (nodeId) =>\n setSelectionFor(selectedApiId, activePlugin.id, nodeId),\n switchToThread: resolvedClient.switchToThread\n ? (threadId) => switchToThread(selectedApiId, threadId)\n : undefined,\n }\n : null;\n\n return (\n <div className=\"text-foreground flex h-full flex-col text-[13px]\">\n <nav className=\"border-border flex h-10 shrink-0 items-center justify-between gap-2 border-b px-2 select-none\">\n <div className=\"flex h-full items-center\">\n {visiblePlugins.map((plugin) => {\n const active = activePlugin?.id === plugin.id;\n return (\n <button\n type=\"button\"\n key={plugin.id}\n onClick={() => setActiveTabId(plugin.id)}\n className={clsx(\n \"relative flex h-full items-center px-3 font-medium transition-colors\",\n active\n ? \"text-foreground\"\n : \"text-muted-foreground hover:text-foreground\",\n )}\n >\n {plugin.label}\n {active ? (\n <span className=\"bg-foreground absolute inset-x-2 -bottom-px h-0.5 rounded-full\" />\n ) : null}\n </button>\n );\n })}\n </div>\n\n <div className=\"flex items-center gap-2 pe-1\">\n {apiIds.length > 1 ? (\n <select\n value={selectedApiId ?? \"\"}\n onChange={(event) => {\n const value = Number(event.target.value);\n setSelectedApiId(Number.isNaN(value) ? null : value);\n }}\n className=\"border-border text-muted-foreground hover:text-foreground h-7 rounded-md border bg-transparent px-2 text-[12px] transition-colors\"\n >\n {apiIds.map((id) => (\n <option key={id} value={id}>\n API #{id}\n </option>\n ))}\n </select>\n ) : null}\n\n <span className=\"text-muted-foreground flex items-center gap-1.5 text-[11px]\">\n <span className=\"size-1.5 rounded-full bg-emerald-500\" />\n {apiIds.length > 0\n ? `${apiIds.length} instance${apiIds.length > 1 ? \"s\" : \"\"}`\n : \"Waiting\"}\n </span>\n\n {onClose ? (\n <button\n type=\"button\"\n onClick={onClose}\n aria-label=\"Close DevTools\"\n className=\"text-muted-foreground hover:bg-accent hover:text-foreground flex size-7 items-center justify-center rounded-md transition-colors\"\n >\n <svg\n width=\"14\"\n height=\"14\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n aria-hidden=\"true\"\n >\n <path\n d=\"M18 6 6 18M6 6l12 12\"\n stroke=\"currentColor\"\n strokeWidth=\"1.75\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n </button>\n ) : null}\n </div>\n </nav>\n\n <section className=\"bg-background min-h-0 flex-1 overflow-hidden\">\n {ctx && activePlugin ? (\n <activePlugin.Component {...ctx} />\n ) : (\n <CenteredMessage>\n Waiting for assistant-ui instance...\n </CenteredMessage>\n )}\n </section>\n </div>\n );\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DevToolsPanel.js","names":["c","_c","useCallback","useEffect","useMemo","useState","clsx","useDevToolsClient","inProcessClient","DevToolsClient","CenteredMessage","builtinPlugins","DevToolsPanelPlugin","DevToolsTabContext","DevToolsPanelProps","plugins","theme","onClose","client","DevToolsPanel","t0","$","t1","undefined","resolvedClient","selectedApiId","setSelectedApiId","activeTabId","setActiveTabId","t2","Symbol","for","selectionByApi","setSelectionByApi","apiIds","selected","clearEvents","switchToThread","t3","t4","includes","t5","sort","_temp","allPlugins","t6","apiId","tabId","nodeId","prev","setSelectionFor","t7","filter","plugin","isAvailable","data","selection","setSelection","_temp2","visiblePlugins","t8","find","plugin_0","id","activePlugin","t9","nodeId_0","threadId","ctx","t10","t11","plugin_1","active","label","map","t12","length","event","value","Number","target","isNaN","_temp3","t13","t14","t15","t16","t17","t18","t19","t20","a","b","order"],"sources":["../../src/shell/DevToolsPanel.tsx"],"sourcesContent":["\"use client\";\n\nimport { useCallback, useEffect, useMemo, useState } from \"react\";\nimport clsx from \"clsx\";\nimport { useDevToolsClient } from \"../data/useDevToolsClient\";\nimport { inProcessClient } from \"../data/createInProcessClient\";\nimport type { DevToolsClient } from \"../data/types\";\nimport { CenteredMessage } from \"../views/ui\";\nimport {\n builtinPlugins,\n type DevToolsPanelPlugin,\n type DevToolsTabContext,\n} from \"./registry\";\n\nexport interface DevToolsPanelProps {\n /** Additional inspector tabs appended after the builtins. */\n plugins?: DevToolsPanelPlugin[] | undefined;\n /** Resolved theme, used to style plugin content and the dark variant. */\n theme?: \"light\" | \"dark\";\n /** When provided, a close control is rendered at the end of the tab bar. */\n onClose?: (() => void) | undefined;\n /** Data source. Defaults to the in-process DevToolsHooks client. */\n client?: DevToolsClient | undefined;\n}\n\nexport const DevToolsPanel = ({\n plugins,\n theme = \"light\",\n onClose,\n client,\n}: DevToolsPanelProps) => {\n const resolvedClient = client ?? inProcessClient;\n const [selectedApiId, setSelectedApiId] = useState<number | null>(null);\n const [activeTabId, setActiveTabId] = useState<string>(\"thread\");\n const [selectionByApi, setSelectionByApi] = useState<\n Record<number, Record<string, string | null>>\n >({});\n const { apiIds, selected, clearEvents, switchToThread } = useDevToolsClient(\n selectedApiId,\n resolvedClient,\n );\n\n useEffect(() => {\n if (selectedApiId !== null && apiIds.includes(selectedApiId)) return;\n setSelectedApiId(apiIds[0] ?? null);\n }, [apiIds, selectedApiId]);\n\n const allPlugins = useMemo(\n () =>\n [...builtinPlugins, ...(plugins ?? [])].sort(\n (a, b) => (a.order ?? 0) - (b.order ?? 0),\n ),\n [plugins],\n );\n\n const setSelectionFor = useCallback(\n (apiId: number, tabId: string, nodeId: string | null) => {\n setSelectionByApi((prev) => ({\n ...prev,\n [apiId]: { ...prev[apiId], [tabId]: nodeId },\n }));\n },\n [],\n );\n\n const visiblePlugins =\n selected && selectedApiId !== null\n ? allPlugins.filter((plugin) =>\n plugin.isAvailable\n ? plugin.isAvailable({\n apiId: selectedApiId,\n data: selected,\n clearEvents,\n theme,\n selection: null,\n setSelection: () => {},\n })\n : true,\n )\n : allPlugins;\n\n const activePlugin =\n visiblePlugins.find((plugin) => plugin.id === activeTabId) ??\n visiblePlugins[0];\n\n const ctx: DevToolsTabContext | null =\n selected && selectedApiId !== null && activePlugin\n ? {\n apiId: selectedApiId,\n data: selected,\n clearEvents,\n theme,\n selection: selectionByApi[selectedApiId]?.[activePlugin.id] ?? null,\n setSelection: (nodeId) =>\n setSelectionFor(selectedApiId, activePlugin.id, nodeId),\n switchToThread: resolvedClient.switchToThread\n ? (threadId) => switchToThread(selectedApiId, threadId)\n : undefined,\n }\n : null;\n\n return (\n <div className=\"text-foreground flex h-full flex-col text-[13px]\">\n <nav className=\"border-border flex h-10 shrink-0 items-center justify-between gap-2 border-b px-2 select-none\">\n <div className=\"flex h-full items-center\">\n {visiblePlugins.map((plugin) => {\n const active = activePlugin?.id === plugin.id;\n return (\n <button\n type=\"button\"\n key={plugin.id}\n onClick={() => setActiveTabId(plugin.id)}\n className={clsx(\n \"relative flex h-full items-center px-3 font-medium transition-colors\",\n active\n ? \"text-foreground\"\n : \"text-muted-foreground hover:text-foreground\",\n )}\n >\n {plugin.label}\n {active ? (\n <span className=\"bg-foreground absolute inset-x-2 -bottom-px h-0.5 rounded-full\" />\n ) : null}\n </button>\n );\n })}\n </div>\n\n <div className=\"flex items-center gap-2 pe-1\">\n {apiIds.length > 1 ? (\n <select\n value={selectedApiId ?? \"\"}\n onChange={(event) => {\n const value = Number(event.target.value);\n setSelectedApiId(Number.isNaN(value) ? null : value);\n }}\n className=\"border-border text-muted-foreground hover:text-foreground h-7 rounded-md border bg-transparent px-2 text-[12px] transition-colors\"\n >\n {apiIds.map((id) => (\n <option key={id} value={id}>\n API #{id}\n </option>\n ))}\n </select>\n ) : null}\n\n <span className=\"text-muted-foreground flex items-center gap-1.5 text-[11px]\">\n <span className=\"size-1.5 rounded-full bg-emerald-500\" />\n {apiIds.length > 0\n ? `${apiIds.length} instance${apiIds.length > 1 ? \"s\" : \"\"}`\n : \"Waiting\"}\n </span>\n\n {onClose ? (\n <button\n type=\"button\"\n onClick={onClose}\n aria-label=\"Close DevTools\"\n className=\"text-muted-foreground hover:bg-accent hover:text-foreground flex size-7 items-center justify-center rounded-md transition-colors\"\n >\n <svg\n width=\"14\"\n height=\"14\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n aria-hidden=\"true\"\n >\n <path\n d=\"M18 6 6 18M6 6l12 12\"\n stroke=\"currentColor\"\n strokeWidth=\"1.75\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n </button>\n ) : null}\n </div>\n </nav>\n\n <section className=\"bg-background min-h-0 flex-1 overflow-hidden\">\n {ctx && activePlugin ? (\n <activePlugin.Component {...ctx} />\n ) : (\n <CenteredMessage>\n Waiting for assistant-ui instance...\n </CenteredMessage>\n )}\n </section>\n </div>\n );\n};\n"],"mappings":"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"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { CSSProperties, ReactNode } from "react";
|
|
2
|
-
|
|
3
2
|
//#region src/shell/ShadowRoot.d.ts
|
|
4
3
|
interface ShadowRootProps {
|
|
5
4
|
theme: "light" | "dark";
|
|
@@ -13,12 +12,7 @@ interface ShadowRootProps {
|
|
|
13
12
|
* React's event delegation works (a portal from the outer root would leave the
|
|
14
13
|
* listeners in the light DOM, where shadow retargeting breaks them).
|
|
15
14
|
*/
|
|
16
|
-
declare const ShadowRoot: ({
|
|
17
|
-
theme,
|
|
18
|
-
className,
|
|
19
|
-
style,
|
|
20
|
-
children
|
|
21
|
-
}: ShadowRootProps) => import("react").JSX.Element;
|
|
15
|
+
declare const ShadowRoot: ({ theme, className, style, children }: ShadowRootProps) => import("react").JSX.Element;
|
|
22
16
|
//#endregion
|
|
23
17
|
export { ShadowRoot, ShadowRootProps };
|
|
24
18
|
//# sourceMappingURL=ShadowRoot.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ShadowRoot.d.ts","names":[],"sources":["../../src/shell/ShadowRoot.tsx"],"mappings":"
|
|
1
|
+
{"version":3,"file":"ShadowRoot.d.ts","names":[],"sources":["../../src/shell/ShadowRoot.tsx"],"mappings":";;UAwBiB;EACf;EACA;EACA,QAAQ;EACR,UAAU;;;;;;;;cASC,eAAc,OAAA,WAAA,OAAA,YAKxB,oCAAe,IAAA"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { ReactNode } from "react";
|
|
2
|
-
|
|
3
2
|
//#region src/shell/SplitLayout.d.ts
|
|
4
3
|
/** Shared nav rail + detail track sizing for the master/detail tabs. */
|
|
5
4
|
declare const NAV_COL = "clamp(14rem,28%,18rem)_minmax(0,1fr)";
|
|
@@ -14,12 +13,9 @@ interface SplitColumn {
|
|
|
14
13
|
* Multi-column split surface. Each column keeps its header fixed and only the
|
|
15
14
|
* body scrolls, so rail titles and divider lines stay aligned across columns.
|
|
16
15
|
*/
|
|
17
|
-
declare const SplitLayout: ({
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
className
|
|
21
|
-
}: {
|
|
22
|
-
/** Underscore-separated CSS grid track list, e.g. `12rem_minmax(0,1fr)`. */sizes: string;
|
|
16
|
+
declare const SplitLayout: ({ sizes, columns, className }: {
|
|
17
|
+
/** Underscore-separated CSS grid track list, e.g. `12rem_minmax(0,1fr)`. */
|
|
18
|
+
sizes: string;
|
|
23
19
|
columns: SplitColumn[];
|
|
24
20
|
className?: string | undefined;
|
|
25
21
|
}) => import("react").JSX.Element;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SplitLayout.d.ts","names":[],"sources":["../../src/shell/SplitLayout.tsx"],"mappings":"
|
|
1
|
+
{"version":3,"file":"SplitLayout.d.ts","names":[],"sources":["../../src/shell/SplitLayout.tsx"],"mappings":";;;cAIa;UAEI;EACf;;EAEA,SAAS;;EAET,UAAU;;;;;;cAOC,gBAAe,OAAA,SAAA;;EAM1B;EACA,SAAS;EACT;sBACD,IAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SplitLayout.js","names":["clsx","ReactNode","NAV_COL","SplitColumn","key","header","children","SplitLayout","t0","$","_c","sizes","columns","className","t1","t2","split","join","t3","gridTemplateColumns","t4","t5","length","column","index","map"],"sources":["../../src/shell/SplitLayout.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport type { ReactNode } from \"react\";\n\n/** Shared nav rail + detail track sizing for the master/detail tabs. */\nexport const NAV_COL = \"clamp(14rem,28%,18rem)_minmax(0,1fr)\";\n\nexport interface SplitColumn {\n key: string;\n /** Fixed rail header; stays aligned across columns. */\n header?: ReactNode | undefined;\n /** Scrollable pane body. */\n children: ReactNode;\n}\n\n/**\n * Multi-column split surface. Each column keeps its header fixed and only the\n * body scrolls, so rail titles and divider lines stay aligned across columns.\n */\nexport const SplitLayout = ({\n sizes,\n columns,\n className,\n}: {\n /** Underscore-separated CSS grid track list, e.g. `12rem_minmax(0,1fr)`. */\n sizes: string;\n columns: SplitColumn[];\n className?: string | undefined;\n}) => (\n <div\n className={clsx(\"grid h-full min-h-0\", className)}\n style={{ gridTemplateColumns: sizes.split(\"_\").join(\" \") }}\n >\n {columns.map((column, index) => (\n <div\n key={column.key}\n className={clsx(\n \"flex min-h-0 flex-col overflow-hidden\",\n index < columns.length - 1 && \"border-border border-e\",\n )}\n >\n {column.header}\n <div className=\"min-h-0 flex-1 overflow-y-auto\">{column.children}</div>\n </div>\n ))}\n </div>\n);\n"],"mappings":";;;;;AAIA,MAAaE,UAAU;;;;;AAcvB,MAAaK,eAAcC,OAAA;CAAA,MAAAC,IAAAC,EAAA,EAAA;CAAC,MAAA,EAAAC,OAAAC,SAAAC,cAAAL;CAS3B,IAAAM;CAAA,IAAAL,EAAA,OAAAI,WAAA;EAEcC,KAAAd,KAAK,uBAAuBa,SAAS;EAACJ,EAAA,KAAAI;EAAAJ,EAAA,KAAAK;CAAA,OAAAA,KAAAL,EAAA;CAAA,IAAAM;CAAA,IAAAN,EAAA,OAAAE,OAAA;EACnBI,KAAAJ,MAAKK,MAAO,GAAG,CAAC,CAAAC,KAAM,GAAG;EAACR,EAAA,KAAAE;EAAAF,EAAA,KAAAM;CAAA,OAAAA,KAAAN,EAAA;CAAA,IAAAS;CAAA,IAAAT,EAAA,OAAAM,IAAA;EAAjDG,KAAA,EAAAC,qBAAuBJ,GAA2B;EAACN,EAAA,KAAAM;EAAAN,EAAA,KAAAS;CAAA,OAAAA,KAAAT,EAAA;CAAA,IAAAW;CAAA,IAAAX,EAAA,OAAAG,SAAA;EAAA,IAAAS;EAAA,IAAAZ,EAAA,OAAAG,QAAAU,QAAA;GAE7CD,MAAAE,QAAAC,UACX,qBAAA,OAAA;IAEa,WAAAxB,KACT,yCACAwB,QAAQZ,QAAOU,SAAU,KAAzB,wBACF;
|
|
1
|
+
{"version":3,"file":"SplitLayout.js","names":["clsx","ReactNode","NAV_COL","SplitColumn","key","header","children","SplitLayout","t0","$","_c","sizes","columns","className","t1","t2","split","join","t3","gridTemplateColumns","t4","t5","length","column","index","map"],"sources":["../../src/shell/SplitLayout.tsx"],"sourcesContent":["import clsx from \"clsx\";\nimport type { ReactNode } from \"react\";\n\n/** Shared nav rail + detail track sizing for the master/detail tabs. */\nexport const NAV_COL = \"clamp(14rem,28%,18rem)_minmax(0,1fr)\";\n\nexport interface SplitColumn {\n key: string;\n /** Fixed rail header; stays aligned across columns. */\n header?: ReactNode | undefined;\n /** Scrollable pane body. */\n children: ReactNode;\n}\n\n/**\n * Multi-column split surface. Each column keeps its header fixed and only the\n * body scrolls, so rail titles and divider lines stay aligned across columns.\n */\nexport const SplitLayout = ({\n sizes,\n columns,\n className,\n}: {\n /** Underscore-separated CSS grid track list, e.g. `12rem_minmax(0,1fr)`. */\n sizes: string;\n columns: SplitColumn[];\n className?: string | undefined;\n}) => (\n <div\n className={clsx(\"grid h-full min-h-0\", className)}\n style={{ gridTemplateColumns: sizes.split(\"_\").join(\" \") }}\n >\n {columns.map((column, index) => (\n <div\n key={column.key}\n className={clsx(\n \"flex min-h-0 flex-col overflow-hidden\",\n index < columns.length - 1 && \"border-border border-e\",\n )}\n >\n {column.header}\n <div className=\"min-h-0 flex-1 overflow-y-auto\">{column.children}</div>\n </div>\n ))}\n </div>\n);\n"],"mappings":";;;;;AAIA,MAAaE,UAAU;;;;;AAcvB,MAAaK,eAAcC,OAAA;CAAA,MAAAC,IAAAC,EAAA,EAAA;CAAC,MAAA,EAAAC,OAAAC,SAAAC,cAAAL;CAS3B,IAAAM;CAAA,IAAAL,EAAA,OAAAI,WAAA;EAEcC,KAAAd,KAAK,uBAAuBa,SAAS;EAACJ,EAAA,KAAAI;EAAAJ,EAAA,KAAAK;CAAA,OAAAA,KAAAL,EAAA;CAAA,IAAAM;CAAA,IAAAN,EAAA,OAAAE,OAAA;EACnBI,KAAAJ,MAAKK,MAAO,GAAG,CAAC,CAAAC,KAAM,GAAG;EAACR,EAAA,KAAAE;EAAAF,EAAA,KAAAM;CAAA,OAAAA,KAAAN,EAAA;CAAA,IAAAS;CAAA,IAAAT,EAAA,OAAAM,IAAA;EAAjDG,KAAA,EAAAC,qBAAuBJ,GAA2B;EAACN,EAAA,KAAAM;EAAAN,EAAA,KAAAS;CAAA,OAAAA,KAAAT,EAAA;CAAA,IAAAW;CAAA,IAAAX,EAAA,OAAAG,SAAA;EAAA,IAAAS;EAAA,IAAAZ,EAAA,OAAAG,QAAAU,QAAA;GAE7CD,MAAAE,QAAAC,UACX,qBAAA,OAAA;IAEa,WAAAxB,KACT,yCACAwB,QAAQZ,QAAOU,SAAU,KAAzB,wBACF;IALF,UAAA,CAOGC,OAAMlB,QACP,oBAAA,OAAA;KAAe,WAAA;KAAkCkB,UAAAA,OAAMjB;IAAgB,CAAA,CACnE;GARCiB,GAAAA,OAAMnB,GAQP;GACPK,EAAA,KAAAG,QAAAU;GAAAb,EAAA,KAAAY;EAAA,OAAAA,KAAAZ,EAAA;EAXAW,KAAAR,QAAOa,IAAKJ,EAWZ;EAACZ,EAAA,KAAAG;EAAAH,EAAA,KAAAW;CAAA,OAAAA,KAAAX,EAAA;CAAA,IAAAY;CAAA,IAAAZ,EAAA,QAAAK,MAAAL,EAAA,QAAAS,MAAAT,EAAA,QAAAW,IAAA;EAfJC,KAAA,oBAAA,OAAA;GACa,WAAAP;GACJ,OAAAI;GAENE,UAAAA;EAYG,CAAA;EAAAX,EAAA,MAAAK;EAAAL,EAAA,MAAAS;EAAAT,EAAA,MAAAW;EAAAX,EAAA,MAAAY;CAAA,OAAAA,KAAAZ,EAAA;CAAA,OAhBNY;AAgBM"}
|
package/dist/shell/registry.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.d.ts","names":[],"sources":["../../src/shell/registry.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"registry.d.ts","names":[],"sources":["../../src/shell/registry.ts"],"mappings":";;;UAOiB;;EAEf;;EAEA,MAAM;;EAEN,cAAc;;EAEd;;;;;;EAMA;;EAEA,eAAe;;EAEf,mBAAmB,4BAA4B;;UAGhC;;EAEf;;EAEA;;EAEA;;EAEA,eAAe,KAAK;;EAEpB,WAAW,cAAc;;cAGd,uBACX,QAAQ,wBACP;cAEU,gBAAgB"}
|
|
@@ -1,13 +1,6 @@
|
|
|
1
1
|
import { DevToolsTabContext } from "../registry.js";
|
|
2
|
-
|
|
3
2
|
//#region src/shell/tabs/ActivityTab.d.ts
|
|
4
|
-
declare const ActivityTab: ({
|
|
5
|
-
apiId,
|
|
6
|
-
data,
|
|
7
|
-
clearEvents,
|
|
8
|
-
selection,
|
|
9
|
-
setSelection
|
|
10
|
-
}: DevToolsTabContext) => import("react").JSX.Element;
|
|
3
|
+
declare const ActivityTab: ({ apiId, data, clearEvents, selection, setSelection }: DevToolsTabContext) => import("react").JSX.Element;
|
|
11
4
|
//#endregion
|
|
12
5
|
export { ActivityTab };
|
|
13
6
|
//# sourceMappingURL=ActivityTab.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActivityTab.d.ts","names":[],"sources":["../../../src/shell/tabs/ActivityTab.tsx"],"mappings":"
|
|
1
|
+
{"version":3,"file":"ActivityTab.d.ts","names":[],"sources":["../../../src/shell/tabs/ActivityTab.tsx"],"mappings":";;cA6Ba,gBAAe,OAAA,MAAA,aAAA,WAAA,gBAMzB,uCAAkB,IAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActivityTab.js","names":["useMemo","formatClockTime","formatMs","buildActivityNav","defaultActivitySelection","EventStreamPane","findActivityNode","OrphansPane","RunDetailPane","Chip","PaneHeader","SelectableRow","ToneBadge","NAV_COL","SplitLayout","useNavSelectionSync","DevToolsTabContext","detailTitle","node","ReturnType","kind","run","index","ActivityTab","t0","$","_c","apiId","data","clearEvents","selection","setSelection","logs","t1","nodes","runs","t2","bb0","t3","selectedId","T0","T1","active","t4","t5","t6","t7","t8","length","Symbol","for","bb1","t9","t10","t11","id","endTime","undefined","durationMs","startTime","events","map","key","header","children","t12","t13"],"sources":["../../../src/shell/tabs/ActivityTab.tsx"],"sourcesContent":["import { useMemo } from \"react\";\nimport { formatClockTime, formatMs } from \"../../utils/common\";\nimport {\n buildActivityNav,\n defaultActivitySelection,\n EventStreamPane,\n findActivityNode,\n OrphansPane,\n RunDetailPane,\n} from \"../../views/activity\";\nimport { Chip, PaneHeader, SelectableRow, ToneBadge } from \"../../views/ui\";\nimport { NAV_COL, SplitLayout } from \"../SplitLayout\";\nimport { useNavSelectionSync } from \"./navSelection\";\nimport type { DevToolsTabContext } from \"../registry\";\n\nconst detailTitle = (node: ReturnType<typeof findActivityNode>) => {\n if (!node) return \"Activity\";\n switch (node.kind) {\n case \"stream\":\n return \"Event stream\";\n case \"run\":\n return `Run #${node.run.index}`;\n case \"orphans\":\n return \"Outside runs\";\n default:\n return \"Activity\";\n }\n};\n\nexport const ActivityTab = ({\n apiId,\n data,\n clearEvents,\n selection,\n setSelection,\n}: DevToolsTabContext) => {\n const logs = data.logs;\n const { nodes, runs } = useMemo(() => buildActivityNav(logs), [logs]);\n\n const selectedId = useMemo(() => {\n if (selection && findActivityNode(nodes, selection)) return selection;\n return defaultActivitySelection(nodes);\n }, [nodes, selection]);\n\n useNavSelectionSync(selectedId, selection, setSelection);\n\n const active = findActivityNode(nodes, selectedId);\n\n if (!logs.length) {\n return (\n <div className=\"text-muted-foreground flex h-full items-center justify-center p-3 text-[12px]\">\n No events logged for this assistant instance.\n </div>\n );\n }\n\n return (\n <SplitLayout\n sizes={NAV_COL}\n columns={[\n {\n key: \"nav\",\n header: (\n <PaneHeader\n trailing={\n <span>\n {runs.length} runs · {logs.length} events\n </span>\n }\n >\n Activity\n </PaneHeader>\n ),\n children: nodes.map((node) => (\n <SelectableRow\n key={node.id}\n selected={selectedId === node.id}\n dense\n onSelect={() => setSelection(node.id)}\n >\n {node.kind === \"stream\" ? (\n <span className=\"text-foreground block py-1.5 font-medium\">\n All events\n <span className=\"text-muted-foreground font-normal\">\n {\" \"}\n · {logs.length}\n </span>\n </span>\n ) : node.kind === \"run\" ? (\n <div className=\"flex min-w-0 items-center justify-between gap-2 py-1.5\">\n <span className=\"text-foreground font-medium\">\n Run #{node.run.index}\n </span>\n <div className=\"flex shrink-0 items-center gap-1.5\">\n {node.run.endTime === undefined ? (\n <ToneBadge tone=\"blue\" size=\"sm\">\n running\n </ToneBadge>\n ) : (\n <Chip>{formatMs(node.run.durationMs ?? 0)}</Chip>\n )}\n <span className=\"text-muted-foreground font-mono text-[10px] tabular-nums\">\n {formatClockTime(node.run.startTime)}\n </span>\n </div>\n </div>\n ) : (\n <span className=\"text-foreground block py-1.5 font-medium\">\n Outside runs\n <span className=\"text-muted-foreground font-normal\">\n {\" \"}\n · {node.events.length}\n </span>\n </span>\n )}\n </SelectableRow>\n )),\n },\n {\n key: \"detail\",\n header: (\n <PaneHeader\n trailing={\n active?.kind === \"stream\" && logs.length ? (\n <button\n type=\"button\"\n onClick={() => clearEvents(apiId)}\n className=\"text-muted-foreground hover:text-foreground text-[11px] leading-none\"\n >\n clear\n </button>\n ) : active?.kind === \"run\" &&\n active.run.endTime === undefined ? (\n <ToneBadge tone=\"blue\" size=\"sm\">\n running\n </ToneBadge>\n ) : active?.kind === \"run\" &&\n active.run.durationMs !== undefined ? (\n <Chip>{formatMs(active.run.durationMs)}</Chip>\n ) : undefined\n }\n >\n {detailTitle(active)}\n </PaneHeader>\n ),\n children: active ? (\n active.kind === \"stream\" ? (\n <EventStreamPane logs={logs} />\n ) : active.kind === \"run\" ? (\n <div className=\"p-3\">\n <RunDetailPane run={active.run} />\n </div>\n ) : (\n <OrphansPane events={active.events} />\n )\n ) : null,\n },\n ]}\n />\n );\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ActivityTab.js","names":["useMemo","formatClockTime","formatMs","buildActivityNav","defaultActivitySelection","EventStreamPane","findActivityNode","OrphansPane","RunDetailPane","Chip","PaneHeader","SelectableRow","ToneBadge","NAV_COL","SplitLayout","useNavSelectionSync","DevToolsTabContext","detailTitle","node","ReturnType","kind","run","index","ActivityTab","t0","$","_c","apiId","data","clearEvents","selection","setSelection","logs","t1","nodes","runs","t2","bb0","t3","selectedId","T0","T1","active","t4","t5","t6","t7","t8","length","Symbol","for","bb1","t9","t10","t11","id","endTime","undefined","durationMs","startTime","events","map","key","header","children","t12","t13"],"sources":["../../../src/shell/tabs/ActivityTab.tsx"],"sourcesContent":["import { useMemo } from \"react\";\nimport { formatClockTime, formatMs } from \"../../utils/common\";\nimport {\n buildActivityNav,\n defaultActivitySelection,\n EventStreamPane,\n findActivityNode,\n OrphansPane,\n RunDetailPane,\n} from \"../../views/activity\";\nimport { Chip, PaneHeader, SelectableRow, ToneBadge } from \"../../views/ui\";\nimport { NAV_COL, SplitLayout } from \"../SplitLayout\";\nimport { useNavSelectionSync } from \"./navSelection\";\nimport type { DevToolsTabContext } from \"../registry\";\n\nconst detailTitle = (node: ReturnType<typeof findActivityNode>) => {\n if (!node) return \"Activity\";\n switch (node.kind) {\n case \"stream\":\n return \"Event stream\";\n case \"run\":\n return `Run #${node.run.index}`;\n case \"orphans\":\n return \"Outside runs\";\n default:\n return \"Activity\";\n }\n};\n\nexport const ActivityTab = ({\n apiId,\n data,\n clearEvents,\n selection,\n setSelection,\n}: DevToolsTabContext) => {\n const logs = data.logs;\n const { nodes, runs } = useMemo(() => buildActivityNav(logs), [logs]);\n\n const selectedId = useMemo(() => {\n if (selection && findActivityNode(nodes, selection)) return selection;\n return defaultActivitySelection(nodes);\n }, [nodes, selection]);\n\n useNavSelectionSync(selectedId, selection, setSelection);\n\n const active = findActivityNode(nodes, selectedId);\n\n if (!logs.length) {\n return (\n <div className=\"text-muted-foreground flex h-full items-center justify-center p-3 text-[12px]\">\n No events logged for this assistant instance.\n </div>\n );\n }\n\n return (\n <SplitLayout\n sizes={NAV_COL}\n columns={[\n {\n key: \"nav\",\n header: (\n <PaneHeader\n trailing={\n <span>\n {runs.length} runs · {logs.length} events\n </span>\n }\n >\n Activity\n </PaneHeader>\n ),\n children: nodes.map((node) => (\n <SelectableRow\n key={node.id}\n selected={selectedId === node.id}\n dense\n onSelect={() => setSelection(node.id)}\n >\n {node.kind === \"stream\" ? (\n <span className=\"text-foreground block py-1.5 font-medium\">\n All events\n <span className=\"text-muted-foreground font-normal\">\n {\" \"}\n · {logs.length}\n </span>\n </span>\n ) : node.kind === \"run\" ? (\n <div className=\"flex min-w-0 items-center justify-between gap-2 py-1.5\">\n <span className=\"text-foreground font-medium\">\n Run #{node.run.index}\n </span>\n <div className=\"flex shrink-0 items-center gap-1.5\">\n {node.run.endTime === undefined ? (\n <ToneBadge tone=\"blue\" size=\"sm\">\n running\n </ToneBadge>\n ) : (\n <Chip>{formatMs(node.run.durationMs ?? 0)}</Chip>\n )}\n <span className=\"text-muted-foreground font-mono text-[10px] tabular-nums\">\n {formatClockTime(node.run.startTime)}\n </span>\n </div>\n </div>\n ) : (\n <span className=\"text-foreground block py-1.5 font-medium\">\n Outside runs\n <span className=\"text-muted-foreground font-normal\">\n {\" \"}\n · {node.events.length}\n </span>\n </span>\n )}\n </SelectableRow>\n )),\n },\n {\n key: \"detail\",\n header: (\n <PaneHeader\n trailing={\n active?.kind === \"stream\" && logs.length ? (\n <button\n type=\"button\"\n onClick={() => clearEvents(apiId)}\n className=\"text-muted-foreground hover:text-foreground text-[11px] leading-none\"\n >\n clear\n </button>\n ) : active?.kind === \"run\" &&\n active.run.endTime === undefined ? (\n <ToneBadge tone=\"blue\" size=\"sm\">\n running\n </ToneBadge>\n ) : active?.kind === \"run\" &&\n active.run.durationMs !== undefined ? (\n <Chip>{formatMs(active.run.durationMs)}</Chip>\n ) : undefined\n }\n >\n {detailTitle(active)}\n </PaneHeader>\n ),\n children: active ? (\n active.kind === \"stream\" ? (\n <EventStreamPane logs={logs} />\n ) : active.kind === \"run\" ? (\n <div className=\"p-3\">\n <RunDetailPane run={active.run} />\n </div>\n ) : (\n <OrphansPane events={active.events} />\n )\n ) : null,\n },\n ]}\n />\n );\n};\n"],"mappings":"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"}
|
|
@@ -1,11 +1,6 @@
|
|
|
1
1
|
import { DevToolsTabContext } from "../registry.js";
|
|
2
|
-
|
|
3
2
|
//#region src/shell/tabs/ContextTab.d.ts
|
|
4
|
-
declare const ContextTab: ({
|
|
5
|
-
data,
|
|
6
|
-
selection,
|
|
7
|
-
setSelection
|
|
8
|
-
}: DevToolsTabContext) => import("react").JSX.Element;
|
|
3
|
+
declare const ContextTab: ({ data, selection, setSelection }: DevToolsTabContext) => import("react").JSX.Element;
|
|
9
4
|
//#endregion
|
|
10
5
|
export { ContextTab };
|
|
11
6
|
//# sourceMappingURL=ContextTab.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContextTab.d.ts","names":[],"sources":["../../../src/shell/tabs/ContextTab.tsx"],"mappings":"
|
|
1
|
+
{"version":3,"file":"ContextTab.d.ts","names":[],"sources":["../../../src/shell/tabs/ContextTab.tsx"],"mappings":";;cAuCa,eAAc,MAAA,WAAA,gBAIxB,uCAAkB,IAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContextTab.js","names":["useMemo","truncate","ContextDetail","buildContextNav","toolUiCount","ContextNode","findNavNode","flattenNav","Chip","EmptyState","PaneHeader","SelectableRow","NAV_COL","SplitLayout","useNavSelectionSync","DevToolsTabContext","detailTitle","node","toolUiCountValue","kind","tool","name","ContextTab","t0","$","_c","data","selection","setSelection","t1","groups","t2","nodes","state","tools","t3","bb0","id","selectedNode","length","t4","Symbol","for","active","T0","t5","t6","t7","group","label","map","preview","type","key","header","children","t8","T1","t9","undefined","t10","t11","t12","t13","t14","t15"],"sources":["../../../src/shell/tabs/ContextTab.tsx"],"sourcesContent":["import { useMemo } from \"react\";\nimport { truncate } from \"../../utils/common\";\nimport {\n ContextDetail,\n buildContextNav,\n toolUiCount,\n type ContextNode,\n} from \"../../views/context\";\nimport { findNavNode, flattenNav } from \"../../views/nav\";\nimport { Chip, EmptyState, PaneHeader, SelectableRow } from \"../../views/ui\";\nimport { NAV_COL, SplitLayout } from \"../SplitLayout\";\nimport { useNavSelectionSync } from \"./navSelection\";\nimport type { DevToolsTabContext } from \"../registry\";\n\nconst detailTitle = (\n node: ContextNode | undefined,\n toolUiCountValue: number,\n) => {\n if (!node) return \"Context\";\n switch (node.kind) {\n case \"system\":\n return \"System prompt\";\n case \"tool\":\n return node.tool.name;\n case \"callSettings\":\n return \"Call settings\";\n case \"config\":\n return \"Config\";\n case \"mcp\":\n return \"MCP\";\n case \"toolUIs\":\n return toolUiCountValue\n ? `Tool UI mappings · ${toolUiCountValue}`\n : \"Tool UI mappings\";\n default:\n return \"Context\";\n }\n};\n\nexport const ContextTab = ({\n data,\n selection,\n setSelection,\n}: DevToolsTabContext) => {\n const groups = useMemo(() => buildContextNav(data), [data]);\n const nodes = useMemo(() => flattenNav(groups), [groups]);\n const toolUiCountValue = toolUiCount(data.state.tools);\n\n const selectedNode = useMemo(() => {\n if (selection && findNavNode(groups, selection)) {\n return selection;\n }\n return nodes[0]?.id ?? null;\n }, [groups, nodes, selection]);\n\n useNavSelectionSync(selectedNode, selection, setSelection);\n\n if (!nodes.length) {\n return (\n <div className=\"flex h-full items-center justify-center p-3\">\n <EmptyState>\n No model context, MCP, or tool UI data for this instance.\n </EmptyState>\n </div>\n );\n }\n\n const active = findNavNode(groups, selectedNode);\n\n return (\n <SplitLayout\n sizes={NAV_COL}\n columns={[\n {\n key: \"nav\",\n header: <PaneHeader>Context</PaneHeader>,\n children: groups.map((group) => (\n <div key={group.label} className=\"flex flex-col\">\n <div className=\"text-muted-foreground px-3 pt-2 pb-0.5 text-[10px] font-medium tracking-wide uppercase\">\n {group.label}\n </div>\n {group.nodes.map((node) => (\n <SelectableRow\n key={node.id}\n selected={selectedNode === node.id}\n dense\n onSelect={() => setSelection(node.id)}\n >\n {node.kind === \"system\" ? (\n <div className=\"flex min-w-0 flex-col gap-0.5 py-1.5\">\n <span className=\"text-foreground font-medium\">\n System prompt\n </span>\n <span className=\"text-muted-foreground truncate text-[10px]\">\n {truncate(node.preview, 48)}\n </span>\n </div>\n ) : node.kind === \"tool\" ? (\n <div className=\"flex min-w-0 items-center justify-between gap-2 py-1.5\">\n <span className=\"text-foreground truncate font-medium\">\n {node.tool.name}\n </span>\n {node.tool.type ? (\n <Chip className=\"shrink-0\">{node.tool.type}</Chip>\n ) : null}\n </div>\n ) : node.kind === \"callSettings\" ? (\n <span className=\"text-foreground block py-1.5 font-medium\">\n Call settings\n </span>\n ) : node.kind === \"config\" ? (\n <span className=\"text-foreground block py-1.5 font-medium\">\n Config\n </span>\n ) : node.kind === \"mcp\" ? (\n <span className=\"text-foreground block py-1.5 font-medium\">\n MCP servers\n </span>\n ) : (\n <span className=\"text-foreground block py-1.5 font-medium\">\n Tool UI mappings\n {toolUiCountValue > 0 ? (\n <span className=\"text-muted-foreground font-normal\">\n {\" \"}\n · {toolUiCountValue}\n </span>\n ) : null}\n </span>\n )}\n </SelectableRow>\n ))}\n </div>\n )),\n },\n {\n key: \"detail\",\n header: (\n <PaneHeader\n trailing={\n active?.kind === \"tool\" && active.tool.type ? (\n <Chip>{active.tool.type}</Chip>\n ) : undefined\n }\n >\n {detailTitle(active, toolUiCountValue)}\n </PaneHeader>\n ),\n children: active ? (\n <div className=\"p-3\">\n <ContextDetail node={active} data={data} />\n </div>\n ) : null,\n },\n ]}\n />\n );\n};\n"],"mappings":";;;;;;;;;;;;;AAcA,MAAMgB,eACJC,MACAC,qBACG;CACH,IAAI,CAACD,MAAM,OAAO;CAClB,QAAQA,KAAKE,MAAb;EACE,KAAK,UACH,OAAO;EACT,KAAK,QACH,OAAOF,KAAKG,KAAKC;EACnB,KAAK,gBACH,OAAO;EACT,KAAK,UACH,OAAO;EACT,KAAK,OACH,OAAO;EACT,KAAK,WACH,OAAOH,mBACH,sBAAsBA,qBACtB;EACN,SACE,OAAO;CACX;AACF;AAEA,MAAaI,cAAaC,OAAA;CAAA,MAAAC,IAAAC,EAAA,EAAA;CAAC,MAAA,EAAAC,MAAAC,WAAAC,iBAAAL;CAIN,IAAAM;CAAA,IAAAL,EAAA,OAAAE,MAAA;EACUG,KAAA1B,gBAAgBuB,IAAI;EAACF,EAAA,KAAAE;EAAAF,EAAA,KAAAK;CAAA,OAAAA,KAAAL,EAAA;CAAlD,MAAAM,SAA6BD;CAA+B,IAAAE;CAAA,IAAAP,EAAA,OAAAM,QAAA;EAChCC,KAAAxB,WAAWuB,MAAM;EAACN,EAAA,KAAAM;EAAAN,EAAA,KAAAO;CAAA,OAAAA,KAAAP,EAAA;CAA9C,MAAAQ,QAA4BD;CAC5B,MAAAb,mBAAyBd,YAAYsB,KAAIO,MAAMC,KAAM;CAAE,IAAAC;CAAAC,KAAA;EAGrD,IAAIT,aAAarB,YAAYwB,QAAQH,SAAS,GAAC;GAC7CQ,KAAOR;GAAP,MAAAS;EAAiB;EAEnBD,KAAOH,MAAK,EAAO,EAAAK,MAAZ;CAAqB;CAJ9B,MAAAC,eAAqBH;CAOrBrB,oBAAoBwB,cAAcX,WAAWC,YAAY;CAEzD,IAAI,CAACI,MAAKO,QAAO;EAAA,IAAAC;EAAA,IAAAhB,EAAA,OAAAiB,OAAAC,IAAA,2BAAA,GAAA;GAEbF,KAAA,oBAAA,OAAA;IAAe,WAAA;cACb,oBAAC,YAAD,EAAA,UAAY,4DAAD,CAAA;GAGP,CAAA;GAAAhB,EAAA,KAAAgB;EAAA,OAAAA,KAAAhB,EAAA;EAAA,OAJNgB;CAIM;CAIV,MAAAG,SAAerC,YAAYwB,QAAQQ,YAAY;CAG5C,MAAAM,KAAA/B;CACQD,MAAAA,KAAAA;CAAO,IAAAiC;CAAA,IAAArB,EAAA,OAAAiB,OAAAC,IAAA,2BAAA,GAAA;EAIFG,KAAA,oBAAC,YAAD,EAAA,UAAY,UAAD,CAAA;EAAqBrB,EAAA,KAAAqB;CAAA,OAAAA,KAAArB,EAAA;CAAA,IAAAsB;CAAA,IAAAtB,EAAA,OAAAM,UAAAN,EAAA,OAAAc,gBAAAd,EAAA,OAAAI,gBAAAJ,EAAA,OAAAN,kBAAA;EAAA,IAAA6B;EAAA,IAAAvB,EAAA,QAAAc,gBAAAd,EAAA,QAAAI,gBAAAJ,EAAA,QAAAN,kBAAA;GACnB6B,MAAAC,UACnB,qBAAA,OAAA;IAAiC,WAAA;cAAjC,CACE,oBAAA,OAAA;KAAe,WAAA;eACZA,MAAKC;IACF,CAAA,GACLD,MAAKhB,MAAMkB,KAAKjC,SACf,oBAAC,eAAD;KAEY,UAAAqB,iBAAiBrB,KAAIoB;KAC/B,OAAA;KACU,gBAAMT,aAAaX,KAAIoB,EAAG;eAEnCpB,KAAIE,SAAU,WACb,qBAAA,OAAA;MAAe,WAAA;gBAAf,CACE,oBAAA,QAAA;OAAgB,WAAA;iBAA8B;MAEvC,CAAA,GACP,oBAAA,QAAA;OAAgB,WAAA;iBACblB,SAASgB,KAAIkC,SAAU,EAAE;MACrB,CAAA,CACH;UACJlC,KAAIE,SAAU,SAChB,qBAAA,OAAA;MAAe,WAAA;gBAAf,CACE,oBAAA,QAAA;OAAgB,WAAA;iBACbF,KAAIG,KAAKC;MACL,CAAA,GACNJ,KAAIG,KAAKgC,OACR,oBAAC,MAAD;OAAgB,WAAA;iBAAYnC,KAAIG,KAAKgC;MAAhC,CAAA,IADN,IAGG;UACJnC,KAAIE,SAAU,iBAChB,oBAAA,QAAA;MAAgB,WAAA;gBAA2C;KAEpD,CAAA,IACLF,KAAIE,SAAU,WAChB,oBAAA,QAAA;MAAgB,WAAA;gBAA2C;KAEpD,CAAA,IACLF,KAAIE,SAAU,QAChB,oBAAA,QAAA;MAAgB,WAAA;gBAA2C;KAEpD,CAAA,IAEP,qBAAA,QAAA;MAAgB,WAAA;gBAAhB,CAA2D,oBAExDD,mBAAmB,IAClB,qBAAA,QAAA;OAAgB,WAAA;iBAAhB;QACG;QAAI;QACFA;OACE;WAJR,IAMI;;IA7CG,GACPD,KAAIoB,EADG,CAgDf,CACG;MAtDIW,MAAKC,KAsDT;GACPzB,EAAA,MAAAc;GAAAd,EAAA,MAAAI;GAAAJ,EAAA,MAAAN;GAAAM,EAAA,MAAAuB;EAAA,OAAAA,KAAAvB,EAAA;EAxDSsB,KAAAhB,OAAMoB,IAAKH,EAwDpB;EAACvB,EAAA,KAAAM;EAAAN,EAAA,KAAAc;EAAAd,EAAA,KAAAI;EAAAJ,EAAA,KAAAN;EAAAM,EAAA,MAAAsB;CAAA,OAAAA,KAAAtB,EAAA;CAAA,IAAAuB;CAAA,IAAAvB,EAAA,QAAAsB,IAAA;EA3DJC,KAAA;GAAAM,KACO;GAAKC,QACFT;GAAgCU,UAC9BT;EAyDZ;EAACtB,EAAA,MAAAsB;EAAAtB,EAAA,MAAAuB;CAAA,OAAAA,KAAAvB,EAAA;CAEM,MAAAgC,KAAA;CAEF,MAAAC,KAAA/C;CAEG,MAAAgD,KAAAf,QAAMxB,SAAW,UAAUwB,OAAMvB,KAAKgC,OACpC,oBAAC,MAAD,EAAA,UAAOT,OAAMvB,KAAKgC,KAAb,CAAA,IADPO,KAAAA;CAKD,MAAAC,MAAA5C,YAAY2B,QAAQzB,gBAAgB;CAAC,IAAA2C;CAAA,IAAArC,EAAA,QAAAiC,MAAAjC,EAAA,QAAAoC,OAAApC,EAAA,QAAAkC,IAAA;EAPxCG,MAAA,oBAAC,IAAD;GAEI,UAAAH;aAKDE;EAPQ,CAAA;EAQEpC,EAAA,MAAAiC;EAAAjC,EAAA,MAAAoC;EAAApC,EAAA,MAAAkC;EAAAlC,EAAA,MAAAqC;CAAA,OAAAA,MAAArC,EAAA;CAAA,IAAAsC;CAAA,IAAAtC,EAAA,QAAAmB,UAAAnB,EAAA,QAAAE,MAAA;EAELoC,MAAAnB,SACR,oBAAA,OAAA;GAAe,WAAA;aACb,oBAAC,eAAD;IAAqBA,MAAAA;IAAcjB;GAAI,CAAA;EACnC,CAAA,IAHE;EAIFF,EAAA,MAAAmB;EAAAnB,EAAA,MAAAE;EAAAF,EAAA,MAAAsC;CAAA,OAAAA,MAAAtC,EAAA;CAAA,IAAAuC;CAAA,IAAAvC,EAAA,QAAAqC,OAAArC,EAAA,QAAAsC,KAAA;EAjBVC,MAAA;GAAAV,KACOG;GAAQF,QAEXO;GAQaN,UAELO;EAKZ;EAACtC,EAAA,MAAAqC;EAAArC,EAAA,MAAAsC;EAAAtC,EAAA,MAAAuC;CAAA,OAAAA,MAAAvC,EAAA;CAAA,IAAAwC;CAAA,IAAAxC,EAAA,QAAAuC,OAAAvC,EAAA,QAAAuB,IAAA;EAhFMiB,MAAA,CACPjB,IA6DAgB,GAkBC;EACFvC,EAAA,MAAAuC;EAAAvC,EAAA,MAAAuB;EAAAvB,EAAA,MAAAwC;CAAA,OAAAA,MAAAxC,EAAA;CAAA,IAAAyC;CAAA,IAAAzC,EAAA,QAAAoB,MAAApB,EAAA,QAAAwC,OAAAxC,EAAA,QAAAgB,IAAA;EAnFHyB,MAAA,oBAAC,IAAD;GACSrD,OAAAA;GACE,SAAAoD;EAiFR,CAAA;EACDxC,EAAA,MAAAoB;EAAApB,EAAA,MAAAwC;EAAAxC,EAAA,MAAAgB;EAAAhB,EAAA,MAAAyC;CAAA,OAAAA,MAAAzC,EAAA;CAAA,OApFFyC;AAoFE"}
|
|
1
|
+
{"version":3,"file":"ContextTab.js","names":["useMemo","truncate","ContextDetail","buildContextNav","toolUiCount","ContextNode","findNavNode","flattenNav","Chip","EmptyState","PaneHeader","SelectableRow","NAV_COL","SplitLayout","useNavSelectionSync","DevToolsTabContext","detailTitle","node","toolUiCountValue","kind","tool","name","ContextTab","t0","$","_c","data","selection","setSelection","t1","groups","t2","nodes","state","tools","t3","bb0","id","selectedNode","length","t4","Symbol","for","active","T0","t5","t6","t7","group","label","map","preview","type","key","header","children","t8","T1","t9","undefined","t10","t11","t12","t13","t14","t15"],"sources":["../../../src/shell/tabs/ContextTab.tsx"],"sourcesContent":["import { useMemo } from \"react\";\nimport { truncate } from \"../../utils/common\";\nimport {\n ContextDetail,\n buildContextNav,\n toolUiCount,\n type ContextNode,\n} from \"../../views/context\";\nimport { findNavNode, flattenNav } from \"../../views/nav\";\nimport { Chip, EmptyState, PaneHeader, SelectableRow } from \"../../views/ui\";\nimport { NAV_COL, SplitLayout } from \"../SplitLayout\";\nimport { useNavSelectionSync } from \"./navSelection\";\nimport type { DevToolsTabContext } from \"../registry\";\n\nconst detailTitle = (\n node: ContextNode | undefined,\n toolUiCountValue: number,\n) => {\n if (!node) return \"Context\";\n switch (node.kind) {\n case \"system\":\n return \"System prompt\";\n case \"tool\":\n return node.tool.name;\n case \"callSettings\":\n return \"Call settings\";\n case \"config\":\n return \"Config\";\n case \"mcp\":\n return \"MCP\";\n case \"toolUIs\":\n return toolUiCountValue\n ? `Tool UI mappings · ${toolUiCountValue}`\n : \"Tool UI mappings\";\n default:\n return \"Context\";\n }\n};\n\nexport const ContextTab = ({\n data,\n selection,\n setSelection,\n}: DevToolsTabContext) => {\n const groups = useMemo(() => buildContextNav(data), [data]);\n const nodes = useMemo(() => flattenNav(groups), [groups]);\n const toolUiCountValue = toolUiCount(data.state.tools);\n\n const selectedNode = useMemo(() => {\n if (selection && findNavNode(groups, selection)) {\n return selection;\n }\n return nodes[0]?.id ?? null;\n }, [groups, nodes, selection]);\n\n useNavSelectionSync(selectedNode, selection, setSelection);\n\n if (!nodes.length) {\n return (\n <div className=\"flex h-full items-center justify-center p-3\">\n <EmptyState>\n No model context, MCP, or tool UI data for this instance.\n </EmptyState>\n </div>\n );\n }\n\n const active = findNavNode(groups, selectedNode);\n\n return (\n <SplitLayout\n sizes={NAV_COL}\n columns={[\n {\n key: \"nav\",\n header: <PaneHeader>Context</PaneHeader>,\n children: groups.map((group) => (\n <div key={group.label} className=\"flex flex-col\">\n <div className=\"text-muted-foreground px-3 pt-2 pb-0.5 text-[10px] font-medium tracking-wide uppercase\">\n {group.label}\n </div>\n {group.nodes.map((node) => (\n <SelectableRow\n key={node.id}\n selected={selectedNode === node.id}\n dense\n onSelect={() => setSelection(node.id)}\n >\n {node.kind === \"system\" ? (\n <div className=\"flex min-w-0 flex-col gap-0.5 py-1.5\">\n <span className=\"text-foreground font-medium\">\n System prompt\n </span>\n <span className=\"text-muted-foreground truncate text-[10px]\">\n {truncate(node.preview, 48)}\n </span>\n </div>\n ) : node.kind === \"tool\" ? (\n <div className=\"flex min-w-0 items-center justify-between gap-2 py-1.5\">\n <span className=\"text-foreground truncate font-medium\">\n {node.tool.name}\n </span>\n {node.tool.type ? (\n <Chip className=\"shrink-0\">{node.tool.type}</Chip>\n ) : null}\n </div>\n ) : node.kind === \"callSettings\" ? (\n <span className=\"text-foreground block py-1.5 font-medium\">\n Call settings\n </span>\n ) : node.kind === \"config\" ? (\n <span className=\"text-foreground block py-1.5 font-medium\">\n Config\n </span>\n ) : node.kind === \"mcp\" ? (\n <span className=\"text-foreground block py-1.5 font-medium\">\n MCP servers\n </span>\n ) : (\n <span className=\"text-foreground block py-1.5 font-medium\">\n Tool UI mappings\n {toolUiCountValue > 0 ? (\n <span className=\"text-muted-foreground font-normal\">\n {\" \"}\n · {toolUiCountValue}\n </span>\n ) : null}\n </span>\n )}\n </SelectableRow>\n ))}\n </div>\n )),\n },\n {\n key: \"detail\",\n header: (\n <PaneHeader\n trailing={\n active?.kind === \"tool\" && active.tool.type ? (\n <Chip>{active.tool.type}</Chip>\n ) : undefined\n }\n >\n {detailTitle(active, toolUiCountValue)}\n </PaneHeader>\n ),\n children: active ? (\n <div className=\"p-3\">\n <ContextDetail node={active} data={data} />\n </div>\n ) : null,\n },\n ]}\n />\n );\n};\n"],"mappings":";;;;;;;;;;;;;AAcA,MAAMgB,eACJC,MACAC,qBACG;CACH,IAAI,CAACD,MAAM,OAAO;CAClB,QAAQA,KAAKE,MAAb;EACE,KAAK,UACH,OAAO;EACT,KAAK,QACH,OAAOF,KAAKG,KAAKC;EACnB,KAAK,gBACH,OAAO;EACT,KAAK,UACH,OAAO;EACT,KAAK,OACH,OAAO;EACT,KAAK,WACH,OAAOH,mBACH,sBAAsBA,qBACtB;EACN,SACE,OAAO;CACX;AACF;AAEA,MAAaI,cAAaC,OAAA;CAAA,MAAAC,IAAAC,EAAA,EAAA;CAAC,MAAA,EAAAC,MAAAC,WAAAC,iBAAAL;CAIN,IAAAM;CAAA,IAAAL,EAAA,OAAAE,MAAA;EACUG,KAAA1B,gBAAgBuB,IAAI;EAACF,EAAA,KAAAE;EAAAF,EAAA,KAAAK;CAAA,OAAAA,KAAAL,EAAA;CAAlD,MAAAM,SAA6BD;CAA+B,IAAAE;CAAA,IAAAP,EAAA,OAAAM,QAAA;EAChCC,KAAAxB,WAAWuB,MAAM;EAACN,EAAA,KAAAM;EAAAN,EAAA,KAAAO;CAAA,OAAAA,KAAAP,EAAA;CAA9C,MAAAQ,QAA4BD;CAC5B,MAAAb,mBAAyBd,YAAYsB,KAAIO,MAAMC,KAAM;CAAE,IAAAC;CAAAC,KAAA;EAGrD,IAAIT,aAAarB,YAAYwB,QAAQH,SAAS,GAAC;GAC7CQ,KAAOR;GAAP,MAAAS;EAAiB;EAEnBD,KAAOH,MAAK,EAAO,EAAAK,MAAZ;CAAqB;CAJ9B,MAAAC,eAAqBH;CAOrBrB,oBAAoBwB,cAAcX,WAAWC,YAAY;CAEzD,IAAI,CAACI,MAAKO,QAAO;EAAA,IAAAC;EAAA,IAAAhB,EAAA,OAAAiB,OAAAC,IAAA,2BAAA,GAAA;GAEbF,KAAA,oBAAA,OAAA;IAAe,WAAA;IACb,UAAA,oBAAC,YAAD,EAAA,UAAY,4DAAD,CAAA;GAGP,CAAA;GAAAhB,EAAA,KAAAgB;EAAA,OAAAA,KAAAhB,EAAA;EAAA,OAJNgB;CAIM;CAIV,MAAAG,SAAerC,YAAYwB,QAAQQ,YAAY;CAG5C,MAAAM,KAAA/B;CACQD,MAAAA,KAAAA;CAAO,IAAAiC;CAAA,IAAArB,EAAA,OAAAiB,OAAAC,IAAA,2BAAA,GAAA;EAIFG,KAAA,oBAAC,YAAD,EAAA,UAAY,UAAD,CAAA;EAAqBrB,EAAA,KAAAqB;CAAA,OAAAA,KAAArB,EAAA;CAAA,IAAAsB;CAAA,IAAAtB,EAAA,OAAAM,UAAAN,EAAA,OAAAc,gBAAAd,EAAA,OAAAI,gBAAAJ,EAAA,OAAAN,kBAAA;EAAA,IAAA6B;EAAA,IAAAvB,EAAA,QAAAc,gBAAAd,EAAA,QAAAI,gBAAAJ,EAAA,QAAAN,kBAAA;GACnB6B,MAAAC,UACnB,qBAAA,OAAA;IAAiC,WAAA;IAAjC,UAAA,CACE,oBAAA,OAAA;KAAe,WAAA;KACZA,UAAAA,MAAKC;IACF,CAAA,GACLD,MAAKhB,MAAMkB,KAAKjC,SACf,oBAAC,eAAD;KAEY,UAAAqB,iBAAiBrB,KAAIoB;KAC/B,OAAA;KACU,gBAAMT,aAAaX,KAAIoB,EAAG;KAEnCpB,UAAAA,KAAIE,SAAU,WACb,qBAAA,OAAA;MAAe,WAAA;MAAf,UAAA,CACE,oBAAA,QAAA;OAAgB,WAAA;OAA8B,UAAA;MAEvC,CAAA,GACP,oBAAA,QAAA;OAAgB,WAAA;OACblB,UAAAA,SAASgB,KAAIkC,SAAU,EAAE;MACrB,CAAA,CACH;KACJlC,CAAAA,IAAAA,KAAIE,SAAU,SAChB,qBAAA,OAAA;MAAe,WAAA;MAAf,UAAA,CACE,oBAAA,QAAA;OAAgB,WAAA;OACbF,UAAAA,KAAIG,KAAKC;MACL,CAAA,GACNJ,KAAIG,KAAKgC,OACR,oBAAC,MAAD;OAAgB,WAAA;OAAYnC,UAAAA,KAAIG,KAAKgC;MAAhC,CAAA,IADN,IAGG;KACJnC,CAAAA,IAAAA,KAAIE,SAAU,iBAChB,oBAAA,QAAA;MAAgB,WAAA;MAA2C,UAAA;KAEpD,CAAA,IACLF,KAAIE,SAAU,WAChB,oBAAA,QAAA;MAAgB,WAAA;MAA2C,UAAA;KAEpD,CAAA,IACLF,KAAIE,SAAU,QAChB,oBAAA,QAAA;MAAgB,WAAA;MAA2C,UAAA;KAEpD,CAAA,IAEP,qBAAA,QAAA;MAAgB,WAAA;MAAhB,UAAA,CAA2D,oBAExDD,mBAAmB,IAClB,qBAAA,QAAA;OAAgB,WAAA;OAAhB,UAAA;QACG;QAAI;QACFA;OACE;MAJR,CAAA,IAAA,IAMI;;IA7CG,GACPD,KAAIoB,EADG,CAgDf,CACG;GAtDIW,GAAAA,MAAKC,KAsDT;GACPzB,EAAA,MAAAc;GAAAd,EAAA,MAAAI;GAAAJ,EAAA,MAAAN;GAAAM,EAAA,MAAAuB;EAAA,OAAAA,KAAAvB,EAAA;EAxDSsB,KAAAhB,OAAMoB,IAAKH,EAwDpB;EAACvB,EAAA,KAAAM;EAAAN,EAAA,KAAAc;EAAAd,EAAA,KAAAI;EAAAJ,EAAA,KAAAN;EAAAM,EAAA,MAAAsB;CAAA,OAAAA,KAAAtB,EAAA;CAAA,IAAAuB;CAAA,IAAAvB,EAAA,QAAAsB,IAAA;EA3DJC,KAAA;GAAAM,KACO;GAAKC,QACFT;GAAgCU,UAC9BT;EAyDZ;EAACtB,EAAA,MAAAsB;EAAAtB,EAAA,MAAAuB;CAAA,OAAAA,KAAAvB,EAAA;CAEM,MAAAgC,KAAA;CAEF,MAAAC,KAAA/C;CAEG,MAAAgD,KAAAf,QAAMxB,SAAW,UAAUwB,OAAMvB,KAAKgC,OACpC,oBAAC,MAAD,EAAA,UAAOT,OAAMvB,KAAKgC,KAAb,CAAA,IADPO,KAAAA;CAKD,MAAAC,MAAA5C,YAAY2B,QAAQzB,gBAAgB;CAAC,IAAA2C;CAAA,IAAArC,EAAA,QAAAiC,MAAAjC,EAAA,QAAAoC,OAAApC,EAAA,QAAAkC,IAAA;EAPxCG,MAAA,oBAAC,IAAD;GAEI,UAAAH;GAKDE,UAAAA;EAPQ,CAAA;EAQEpC,EAAA,MAAAiC;EAAAjC,EAAA,MAAAoC;EAAApC,EAAA,MAAAkC;EAAAlC,EAAA,MAAAqC;CAAA,OAAAA,MAAArC,EAAA;CAAA,IAAAsC;CAAA,IAAAtC,EAAA,QAAAmB,UAAAnB,EAAA,QAAAE,MAAA;EAELoC,MAAAnB,SACR,oBAAA,OAAA;GAAe,WAAA;GACb,UAAA,oBAAC,eAAD;IAAqBA,MAAAA;IAAcjB;GAAI,CAAA;EACnC,CAAA,IAHE;EAIFF,EAAA,MAAAmB;EAAAnB,EAAA,MAAAE;EAAAF,EAAA,MAAAsC;CAAA,OAAAA,MAAAtC,EAAA;CAAA,IAAAuC;CAAA,IAAAvC,EAAA,QAAAqC,OAAArC,EAAA,QAAAsC,KAAA;EAjBVC,MAAA;GAAAV,KACOG;GAAQF,QAEXO;GAQaN,UAELO;EAKZ;EAACtC,EAAA,MAAAqC;EAAArC,EAAA,MAAAsC;EAAAtC,EAAA,MAAAuC;CAAA,OAAAA,MAAAvC,EAAA;CAAA,IAAAwC;CAAA,IAAAxC,EAAA,QAAAuC,OAAAvC,EAAA,QAAAuB,IAAA;EAhFMiB,MAAA,CACPjB,IA6DAgB,GAkBC;EACFvC,EAAA,MAAAuC;EAAAvC,EAAA,MAAAuB;EAAAvB,EAAA,MAAAwC;CAAA,OAAAA,MAAAxC,EAAA;CAAA,IAAAyC;CAAA,IAAAzC,EAAA,QAAAoB,MAAApB,EAAA,QAAAwC,OAAAxC,EAAA,QAAAgB,IAAA;EAnFHyB,MAAA,oBAAC,IAAD;GACSrD,OAAAA;GACE,SAAAoD;EAiFR,CAAA;EACDxC,EAAA,MAAAoB;EAAApB,EAAA,MAAAwC;EAAAxC,EAAA,MAAAgB;EAAAhB,EAAA,MAAAyC;CAAA,OAAAA,MAAAzC,EAAA;CAAA,OApFFyC;AAoFE"}
|
|
@@ -1,11 +1,6 @@
|
|
|
1
1
|
import { DevToolsTabContext } from "../registry.js";
|
|
2
|
-
|
|
3
2
|
//#region src/shell/tabs/RawTab.d.ts
|
|
4
|
-
declare const RawTab: ({
|
|
5
|
-
data,
|
|
6
|
-
selection,
|
|
7
|
-
setSelection
|
|
8
|
-
}: DevToolsTabContext) => import("react").JSX.Element;
|
|
3
|
+
declare const RawTab: ({ data, selection, setSelection }: DevToolsTabContext) => import("react").JSX.Element;
|
|
9
4
|
//#endregion
|
|
10
5
|
export { RawTab };
|
|
11
6
|
//# sourceMappingURL=RawTab.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RawTab.d.ts","names":[],"sources":["../../../src/shell/tabs/RawTab.tsx"],"mappings":"
|
|
1
|
+
{"version":3,"file":"RawTab.d.ts","names":[],"sources":["../../../src/shell/tabs/RawTab.tsx"],"mappings":";;cAca,WAAU,MAAA,WAAA,gBAIpB,uCAAkB,IAAA"}
|