@assistant-ui/react-devtools 1.2.20 → 1.2.21

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 (213) hide show
  1. package/dist/DevToolsModal.d.ts +8 -10
  2. package/dist/DevToolsModal.d.ts.map +1 -1
  3. package/dist/DevToolsModalImpl.d.ts +3 -5
  4. package/dist/DevToolsModalImpl.d.ts.map +1 -1
  5. package/dist/data/createInProcessClient.d.ts +1 -3
  6. package/dist/data/createInProcessClient.d.ts.map +1 -1
  7. package/dist/data/projectApi.d.ts +5 -6
  8. package/dist/data/projectApi.d.ts.map +1 -1
  9. package/dist/data/projectApi.js +2 -2
  10. package/dist/data/projectApi.js.map +1 -1
  11. package/dist/data/types.d.ts +28 -30
  12. package/dist/data/types.d.ts.map +1 -1
  13. package/dist/data/useDevToolsClient.d.ts +5 -7
  14. package/dist/data/useDevToolsClient.d.ts.map +1 -1
  15. package/dist/index.d.ts +10 -10
  16. package/dist/index.d.ts.map +1 -0
  17. package/dist/shell/DevToolsOverlay.d.ts +6 -8
  18. package/dist/shell/DevToolsOverlay.d.ts.map +1 -1
  19. package/dist/shell/DevToolsPanel.d.ts +11 -13
  20. package/dist/shell/DevToolsPanel.d.ts.map +1 -1
  21. package/dist/shell/ShadowRoot.d.ts +6 -8
  22. package/dist/shell/ShadowRoot.d.ts.map +1 -1
  23. package/dist/shell/SplitLayout.d.ts +11 -13
  24. package/dist/shell/SplitLayout.d.ts.map +1 -1
  25. package/dist/shell/registry.d.ts +30 -32
  26. package/dist/shell/registry.d.ts.map +1 -1
  27. package/dist/shell/tabs/ActivityTab.d.ts +2 -4
  28. package/dist/shell/tabs/ActivityTab.d.ts.map +1 -1
  29. package/dist/shell/tabs/ContextTab.d.ts +2 -4
  30. package/dist/shell/tabs/ContextTab.d.ts.map +1 -1
  31. package/dist/shell/tabs/RawTab.d.ts +2 -4
  32. package/dist/shell/tabs/RawTab.d.ts.map +1 -1
  33. package/dist/shell/tabs/ThreadTab.d.ts +2 -4
  34. package/dist/shell/tabs/ThreadTab.d.ts.map +1 -1
  35. package/dist/shell/tabs/navSelection.d.ts +0 -2
  36. package/dist/shell/tabs/navSelection.d.ts.map +1 -1
  37. package/dist/styles/panel.generated.d.ts +0 -2
  38. package/dist/styles/panel.generated.d.ts.map +1 -1
  39. package/dist/types.d.ts +5 -7
  40. package/dist/types.d.ts.map +1 -1
  41. package/dist/utils/common.d.ts +0 -2
  42. package/dist/utils/common.d.ts.map +1 -1
  43. package/dist/utils/diff.d.ts +4 -6
  44. package/dist/utils/diff.d.ts.map +1 -1
  45. package/dist/utils/serialization.d.ts +2 -4
  46. package/dist/utils/serialization.d.ts.map +1 -1
  47. package/dist/utils/serialization.js +17 -0
  48. package/dist/utils/serialization.js.map +1 -1
  49. package/dist/utils/toolNormalization.d.ts +12 -14
  50. package/dist/utils/toolNormalization.d.ts.map +1 -1
  51. package/dist/utils/unserializable.d.ts +0 -2
  52. package/dist/utils/unserializable.d.ts.map +1 -1
  53. package/dist/views/activity/EventLogRow.d.ts +12 -14
  54. package/dist/views/activity/EventLogRow.d.ts.map +1 -1
  55. package/dist/views/activity/EventStreamPane.d.ts +3 -5
  56. package/dist/views/activity/EventStreamPane.d.ts.map +1 -1
  57. package/dist/views/activity/OrphansPane.d.ts +3 -5
  58. package/dist/views/activity/OrphansPane.d.ts.map +1 -1
  59. package/dist/views/activity/RunDetailPane.d.ts +2 -4
  60. package/dist/views/activity/RunDetailPane.d.ts.map +1 -1
  61. package/dist/views/activity/activityNodes.d.ts +24 -26
  62. package/dist/views/activity/activityNodes.d.ts.map +1 -1
  63. package/dist/views/activity/index.d.ts +7 -6
  64. package/dist/views/activity/index.d.ts.map +1 -0
  65. package/dist/views/attachments/AttachmentList.d.ts +5 -7
  66. package/dist/views/attachments/AttachmentList.d.ts.map +1 -1
  67. package/dist/views/attachments/MediaPartView.d.ts +10 -12
  68. package/dist/views/attachments/MediaPartView.d.ts.map +1 -1
  69. package/dist/views/attachments/formatBytes.d.ts +0 -2
  70. package/dist/views/attachments/formatBytes.d.ts.map +1 -1
  71. package/dist/views/attachments/index.d.ts +5 -5
  72. package/dist/views/attachments/index.d.ts.map +1 -0
  73. package/dist/views/attachments/parseAttachment.d.ts +1 -3
  74. package/dist/views/attachments/parseAttachment.d.ts.map +1 -1
  75. package/dist/views/attachments/types.d.ts +10 -12
  76. package/dist/views/attachments/types.d.ts.map +1 -1
  77. package/dist/views/context/ContextDetail.d.ts +5 -7
  78. package/dist/views/context/ContextDetail.d.ts.map +1 -1
  79. package/dist/views/context/ToolUIsView.d.ts +1 -3
  80. package/dist/views/context/ToolUIsView.d.ts.map +1 -1
  81. package/dist/views/context/contextNodes.d.ts +17 -19
  82. package/dist/views/context/contextNodes.d.ts.map +1 -1
  83. package/dist/views/context/index.d.ts +5 -4
  84. package/dist/views/context/index.d.ts.map +1 -0
  85. package/dist/views/mcp/McpView.d.ts +3 -5
  86. package/dist/views/mcp/McpView.d.ts.map +1 -1
  87. package/dist/views/mcp/index.d.ts +2 -2
  88. package/dist/views/mcp/index.d.ts.map +1 -0
  89. package/dist/views/mcp/parse.d.ts +1 -3
  90. package/dist/views/mcp/parse.d.ts.map +1 -1
  91. package/dist/views/mcp/types.d.ts +12 -14
  92. package/dist/views/mcp/types.d.ts.map +1 -1
  93. package/dist/views/message/ChainOfThought.d.ts +3 -5
  94. package/dist/views/message/ChainOfThought.d.ts.map +1 -1
  95. package/dist/views/message/MessageDetailPane.d.ts +2 -4
  96. package/dist/views/message/MessageDetailPane.d.ts.map +1 -1
  97. package/dist/views/message/MessageItem.d.ts +5 -7
  98. package/dist/views/message/MessageItem.d.ts.map +1 -1
  99. package/dist/views/message/MessageList.d.ts +4 -6
  100. package/dist/views/message/MessageList.d.ts.map +1 -1
  101. package/dist/views/message/MessageMetrics.d.ts +2 -4
  102. package/dist/views/message/MessageMetrics.d.ts.map +1 -1
  103. package/dist/views/message/MessageTimeline.d.ts +5 -7
  104. package/dist/views/message/MessageTimeline.d.ts.map +1 -1
  105. package/dist/views/message/PartDisclosure.d.ts +6 -8
  106. package/dist/views/message/PartDisclosure.d.ts.map +1 -1
  107. package/dist/views/message/PartView.d.ts +4 -6
  108. package/dist/views/message/PartView.d.ts.map +1 -1
  109. package/dist/views/message/RoleLabel.d.ts +3 -5
  110. package/dist/views/message/RoleLabel.d.ts.map +1 -1
  111. package/dist/views/message/StatusBadge.d.ts +7 -9
  112. package/dist/views/message/StatusBadge.d.ts.map +1 -1
  113. package/dist/views/message/ToolCallView.d.ts +4 -6
  114. package/dist/views/message/ToolCallView.d.ts.map +1 -1
  115. package/dist/views/message/TtftBar.d.ts +2 -4
  116. package/dist/views/message/TtftBar.d.ts.map +1 -1
  117. package/dist/views/message/index.d.ts +6 -6
  118. package/dist/views/message/index.d.ts.map +1 -0
  119. package/dist/views/message/messagePlainText.d.ts +1 -3
  120. package/dist/views/message/messagePlainText.d.ts.map +1 -1
  121. package/dist/views/message/parse.d.ts +1 -3
  122. package/dist/views/message/parse.d.ts.map +1 -1
  123. package/dist/views/message/types.d.ts +76 -77
  124. package/dist/views/message/types.d.ts.map +1 -1
  125. package/dist/views/model-context/ModelContextView.d.ts +6 -8
  126. package/dist/views/model-context/ModelContextView.d.ts.map +1 -1
  127. package/dist/views/nav.d.ts +6 -8
  128. package/dist/views/nav.d.ts.map +1 -1
  129. package/dist/views/raw/RawDetail.d.ts +5 -7
  130. package/dist/views/raw/RawDetail.d.ts.map +1 -1
  131. package/dist/views/raw/index.d.ts +4 -3
  132. package/dist/views/raw/index.d.ts.map +1 -0
  133. package/dist/views/raw/rawNodes.d.ts +9 -11
  134. package/dist/views/raw/rawNodes.d.ts.map +1 -1
  135. package/dist/views/raw/statePreview.d.ts +0 -2
  136. package/dist/views/raw/statePreview.d.ts.map +1 -1
  137. package/dist/views/runs/PayloadDiff.d.ts +3 -5
  138. package/dist/views/runs/PayloadDiff.d.ts.map +1 -1
  139. package/dist/views/runs/parse.d.ts +2 -4
  140. package/dist/views/runs/parse.d.ts.map +1 -1
  141. package/dist/views/runs/types.d.ts +15 -17
  142. package/dist/views/runs/types.d.ts.map +1 -1
  143. package/dist/views/scopes/ScopesView.d.ts +1 -3
  144. package/dist/views/scopes/ScopesView.d.ts.map +1 -1
  145. package/dist/views/scopes/index.d.ts +2 -2
  146. package/dist/views/scopes/index.d.ts.map +1 -0
  147. package/dist/views/scopes/parse.d.ts +1 -3
  148. package/dist/views/scopes/parse.d.ts.map +1 -1
  149. package/dist/views/scopes/types.d.ts +4 -6
  150. package/dist/views/scopes/types.d.ts.map +1 -1
  151. package/dist/views/thread/ComposerAttachments.d.ts +3 -5
  152. package/dist/views/thread/ComposerAttachments.d.ts.map +1 -1
  153. package/dist/views/thread/ComposerFlags.d.ts +2 -4
  154. package/dist/views/thread/ComposerFlags.d.ts.map +1 -1
  155. package/dist/views/thread/ComposerQueue.d.ts +3 -5
  156. package/dist/views/thread/ComposerQueue.d.ts.map +1 -1
  157. package/dist/views/thread/ConversationList.d.ts +6 -8
  158. package/dist/views/thread/ConversationList.d.ts.map +1 -1
  159. package/dist/views/thread/ConversationStatusDot.d.ts +11 -13
  160. package/dist/views/thread/ConversationStatusDot.d.ts.map +1 -1
  161. package/dist/views/thread/ThreadDetails.d.ts +4 -6
  162. package/dist/views/thread/ThreadDetails.d.ts.map +1 -1
  163. package/dist/views/thread/Transcript.d.ts +7 -9
  164. package/dist/views/thread/Transcript.d.ts.map +1 -1
  165. package/dist/views/thread/index.d.ts +10 -10
  166. package/dist/views/thread/index.d.ts.map +1 -0
  167. package/dist/views/thread/resolve.d.ts +1 -3
  168. package/dist/views/thread/resolve.d.ts.map +1 -1
  169. package/dist/views/thread/types.d.ts +34 -36
  170. package/dist/views/thread/types.d.ts.map +1 -1
  171. package/dist/views/thread/utils.d.ts +1 -3
  172. package/dist/views/thread/utils.d.ts.map +1 -1
  173. package/dist/views/ui/CenteredMessage.d.ts +2 -4
  174. package/dist/views/ui/CenteredMessage.d.ts.map +1 -1
  175. package/dist/views/ui/Chip.d.ts +4 -6
  176. package/dist/views/ui/Chip.d.ts.map +1 -1
  177. package/dist/views/ui/ControlButton.d.ts +1 -3
  178. package/dist/views/ui/ControlButton.d.ts.map +1 -1
  179. package/dist/views/ui/CopyButton.d.ts +7 -9
  180. package/dist/views/ui/CopyButton.d.ts.map +1 -1
  181. package/dist/views/ui/EmptyState.d.ts +2 -4
  182. package/dist/views/ui/EmptyState.d.ts.map +1 -1
  183. package/dist/views/ui/InfoCard.d.ts +6 -8
  184. package/dist/views/ui/InfoCard.d.ts.map +1 -1
  185. package/dist/views/ui/JSONTree.d.ts +4 -6
  186. package/dist/views/ui/JSONTree.d.ts.map +1 -1
  187. package/dist/views/ui/PaneHeader.d.ts +8 -10
  188. package/dist/views/ui/PaneHeader.d.ts.map +1 -1
  189. package/dist/views/ui/RailTime.d.ts +3 -5
  190. package/dist/views/ui/RailTime.d.ts.map +1 -1
  191. package/dist/views/ui/SectionLabel.d.ts +2 -4
  192. package/dist/views/ui/SectionLabel.d.ts.map +1 -1
  193. package/dist/views/ui/SelectableRow.d.ts +7 -9
  194. package/dist/views/ui/SelectableRow.d.ts.map +1 -1
  195. package/dist/views/ui/Sparkline.d.ts +3 -5
  196. package/dist/views/ui/Sparkline.d.ts.map +1 -1
  197. package/dist/views/ui/SummaryItem.d.ts +5 -7
  198. package/dist/views/ui/SummaryItem.d.ts.map +1 -1
  199. package/dist/views/ui/ToneBadge.d.ts +7 -9
  200. package/dist/views/ui/ToneBadge.d.ts.map +1 -1
  201. package/dist/views/ui/badgeTone.d.ts +6 -8
  202. package/dist/views/ui/badgeTone.d.ts.map +1 -1
  203. package/dist/views/ui/getInlineJson.d.ts +0 -2
  204. package/dist/views/ui/getInlineJson.d.ts.map +1 -1
  205. package/dist/views/ui/index.d.ts +17 -16
  206. package/dist/views/ui/index.d.ts.map +1 -0
  207. package/dist/views/ui/useCopyToClipboard.d.ts +4 -6
  208. package/dist/views/ui/useCopyToClipboard.d.ts.map +1 -1
  209. package/package.json +5 -5
  210. package/src/data/projectApi.test.ts +41 -0
  211. package/src/data/projectApi.ts +2 -2
  212. package/src/utils/serialization.test.ts +81 -0
  213. package/src/utils/serialization.ts +36 -0
@@ -1,13 +1,12 @@
1
- import { DevToolsClient } from "./data/types.js";
2
- import { DevToolsPanelPlugin } from "./shell/registry.js";
3
- //#region src/DevToolsModal.d.ts
1
+ import type { DevToolsPanelPlugin } from "./shell/registry.js";
2
+ import type { DevToolsClient } from "./data/types.js";
4
3
  export interface DevToolsModalProps {
5
- /** Extra inspector tabs appended after the builtins. */
6
- plugins?: DevToolsPanelPlugin[];
7
- /** Force a theme. Defaults to "system", which follows the host `.dark` class. */
8
- theme?: "light" | "dark" | "system";
9
- /** Data source. Defaults to the in-process DevToolsHooks client. */
10
- client?: DevToolsClient;
4
+ /** Extra inspector tabs appended after the builtins. */
5
+ plugins?: DevToolsPanelPlugin[];
6
+ /** Force a theme. Defaults to "system", which follows the host `.dark` class. */
7
+ theme?: "light" | "dark" | "system";
8
+ /** Data source. Defaults to the in-process DevToolsHooks client. */
9
+ client?: DevToolsClient;
11
10
  }
12
11
  /**
13
12
  * Dev-only. In production the body returns null before the lazy panel chunk is
@@ -15,5 +14,4 @@ export interface DevToolsModalProps {
15
14
  * production bundle (the dynamic import is also code-split).
16
15
  */
17
16
  export declare const DevToolsModal: (props?: DevToolsModalProps) => import("react").JSX.Element | null;
18
- //#endregion
19
17
  //# sourceMappingURL=DevToolsModal.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DevToolsModal.d.ts","names":[],"sources":["../src/DevToolsModal.tsx"],"mappings":";;;iBAMiB;;EAEf,UAAU;;EAEV;;EAEA,SAAS;;;;;;;qBAUE,gBAAiB,QAAO,uCAAuB,IAAA"}
1
+ {"version":3,"file":"DevToolsModal.d.ts","sourceRoot":"","sources":["../src/DevToolsModal.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,mBAAmB,EAAE,4BAAyB;AAC5D,OAAO,KAAK,EAAE,cAAc,EAAE,wBAAqB;AAEnD,MAAM,WAAW,kBAAkB;IACjC,wDAAwD;IACxD,OAAO,CAAC,EAAE,mBAAmB,EAAE,CAAC;IAChC,iFAAiF;IACjF,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAC;IACpC,oEAAoE;IACpE,MAAM,CAAC,EAAE,cAAc,CAAC;CACzB;AAID;;;;GAIG;AACH,eAAO,MAAM,aAAa,GAAI,QAAO,kBAAuB,uCAa3D,CAAC"}
@@ -1,6 +1,4 @@
1
- import { DevToolsModalProps } from "./DevToolsModal.js";
2
- //#region src/DevToolsModalImpl.d.ts
3
- declare const DevToolsModalImpl: ({ plugins, theme, client }: DevToolsModalProps) => import("react").JSX.Element;
4
- //#endregion
5
- export { DevToolsModalImpl as default };
1
+ import type { DevToolsModalProps } from "./DevToolsModal.js";
2
+ declare const DevToolsModalImpl: ({ plugins, theme, client, }: DevToolsModalProps) => import("react").JSX.Element;
3
+ export default DevToolsModalImpl;
6
4
  //# sourceMappingURL=DevToolsModalImpl.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DevToolsModalImpl.d.ts","names":[],"sources":["../src/DevToolsModalImpl.tsx"],"mappings":";;cAmCM,sBAAqB,SAAA,OAAA,UAIxB,uCAAkB,IAAA"}
1
+ {"version":3,"file":"DevToolsModalImpl.d.ts","sourceRoot":"","sources":["../src/DevToolsModalImpl.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,kBAAkB,EAAE,2BAAwB;AA8B1D,QAAA,MAAM,iBAAiB,GAAI,6BAIxB,kBAAkB,gCAkBpB,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
@@ -1,5 +1,4 @@
1
- import { DevToolsClient } from "./types.js";
2
- //#region src/data/createInProcessClient.d.ts
1
+ import { type DevToolsClient } from "./types.js";
3
2
  /**
4
3
  * The default transport: reads the in-process DevToolsHooks registry and
5
4
  * re-projects it on every change.
@@ -9,5 +8,4 @@ import { DevToolsClient } from "./types.js";
9
8
  export declare const createInProcessClient: () => DevToolsClient;
10
9
  /** Shared default client used by DevToolsModal and DevToolsPanel. */
11
10
  export declare const inProcessClient: DevToolsClient;
12
- //#endregion
13
11
  //# sourceMappingURL=createInProcessClient.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"createInProcessClient.d.ts","names":[],"sources":["../../src/data/createInProcessClient.ts"],"mappings":";;;;;;;;qBAea,6BAA4B;;qBAgD5B,iBAAe"}
1
+ {"version":3,"file":"createInProcessClient.d.ts","sourceRoot":"","sources":["../../src/data/createInProcessClient.ts"],"names":[],"mappings":"AAEA,OAAO,EAGL,KAAK,cAAc,EAEpB,mBAAgB;AAEjB;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,QAAO,cA6CxC,CAAC;AAEF,qEAAqE;AACrE,eAAO,MAAM,eAAe,gBAA0B,CAAC"}
@@ -1,9 +1,8 @@
1
- import { ApiInfo, EventLogEntry } from "./types.js";
2
- import { AssistantClient } from "@assistant-ui/react";
3
- //#region src/data/projectApi.d.ts
1
+ import type { AssistantClient } from "@assistant-ui/react";
2
+ import type { ApiInfo, EventLogEntry } from "./types.js";
4
3
  interface DevToolsApiEntry {
5
- api: Partial<AssistantClient>;
6
- logs: ReadonlyArray<EventLogEntry>;
4
+ api: Partial<AssistantClient>;
5
+ logs: ReadonlyArray<EventLogEntry>;
7
6
  }
8
7
  /**
9
8
  * Projects a live DevToolsHooks api entry into the plain, render-ready shape the
@@ -16,5 +15,5 @@ interface DevToolsApiEntry {
16
15
  * `log.time` is kept as a Date for the clock formatter.
17
16
  */
18
17
  export declare const projectApi: (apiId: number, entry: DevToolsApiEntry) => ApiInfo;
19
- //#endregion
18
+ export {};
20
19
  //# sourceMappingURL=projectApi.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"projectApi.d.ts","names":[],"sources":["../../src/data/projectApi.ts"],"mappings":";;;UASU;EACR,KAAK,QAAQ;EACb,MAAM,cAAc;;;;;;;;;;;;qBAyGT,aAAc,eAAe,OAAO,qBAAmB"}
1
+ {"version":3,"file":"projectApi.d.ts","sourceRoot":"","sources":["../../src/data/projectApi.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAO3D,OAAO,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,mBAAgB;AAEtD,UAAU,gBAAgB;IACxB,GAAG,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;IAC9B,IAAI,EAAE,aAAa,CAAC,aAAa,CAAC,CAAC;CACpC;AA8FD;;;;;;;;;GASG;AACH,eAAO,MAAM,UAAU,GAAI,OAAO,MAAM,EAAE,OAAO,gBAAgB,KAAG,OA0DnE,CAAC"}
@@ -34,7 +34,7 @@ const collectThreadSnapshots = (entry, state) => {
34
34
  if (!assistantRuntime) return void 0;
35
35
  const threadIds = [...isStringArray(threadsState.threadIds), ...isStringArray(threadsState.archivedThreadIds)];
36
36
  if (threadIds.length === 0) return void 0;
37
- const snapshots = {};
37
+ const snapshots = Object.create(null);
38
38
  for (const threadId of threadIds) try {
39
39
  const threadRuntime = assistantRuntime.threads.getById(threadId);
40
40
  const threadState = threadRuntime.getState();
@@ -48,7 +48,7 @@ const collectThreadSnapshots = (entry, state) => {
48
48
  composer: threadRuntime.composer.getState()
49
49
  });
50
50
  } catch {}
51
- return Object.keys(snapshots).length > 0 ? snapshots : void 0;
51
+ return Object.keys(snapshots).length > 0 ? { ...snapshots } : void 0;
52
52
  };
53
53
  /**
54
54
  * Projects a live DevToolsHooks api entry into the plain, render-ready shape the
@@ -1 +1 @@
1
- {"version":3,"file":"projectApi.js","names":["AssistantClient","isRecord","isStringArray","sanitizeAndRedact","sanitizeForMessage","serializeModelContext","ApiInfo","EventLogEntry","DevToolsApiEntry","api","Partial","logs","ReadonlyArray","readMethods","scopeValue","Object","keys","filter","key","Record","ThreadsClientMethods","__internal_getAssistantRuntime","threads","getById","threadId","getState","messages","isRunning","isLoading","isDisabled","suggestions","capabilities","composer","collectThreadSnapshots","entry","state","threadsState","undefined","threadsScope","threadsClient","assistantRuntime","threadIds","archivedThreadIds","length","snapshots","threadRuntime","threadState","projectApi","apiId","scopes","Array","name","source","query","methods","scope","entries","push","modelContext","thread","getModelContext","sanitizedState","threadSnapshots","id","map","log","time","event","data"],"sources":["../../src/data/projectApi.ts"],"sourcesContent":["import type { AssistantClient } from \"@assistant-ui/react\";\nimport { isRecord, isStringArray } from \"../utils/common\";\nimport {\n sanitizeAndRedact,\n sanitizeForMessage,\n serializeModelContext,\n} from \"../utils/serialization\";\nimport type { ApiInfo, EventLogEntry } from \"./types\";\n\ninterface DevToolsApiEntry {\n api: Partial<AssistantClient>;\n logs: ReadonlyArray<EventLogEntry>;\n}\n\n/**\n * Lists the method names of a client proxy. The client proxy throws from its\n * `getOwnPropertyDescriptor` trap, so `Object.keys` is best-effort and isolated\n * from state extraction.\n */\nconst readMethods = (scopeValue: unknown): string[] => {\n if (\n !scopeValue ||\n (typeof scopeValue !== \"object\" && typeof scopeValue !== \"function\")\n )\n return [];\n try {\n return Object.keys(scopeValue).filter(\n (key) =>\n typeof (scopeValue as Record<string, unknown>)[key] === \"function\",\n );\n } catch {\n return [];\n }\n};\n\ntype ThreadsClientMethods = {\n __internal_getAssistantRuntime?: () => {\n threads: {\n getById: (threadId: string) => {\n getState: () => {\n messages: unknown;\n isRunning?: boolean;\n isLoading?: boolean;\n isDisabled?: boolean;\n suggestions: unknown;\n capabilities: unknown;\n };\n composer: { getState: () => unknown };\n };\n };\n };\n};\n\n/**\n * Reads cached thread states for every id in the thread list. Only threads whose\n * runtime has been mounted (visited in the app) return data; unvisited threads\n * are omitted so DevTools can still list them from `state.threads.threadItems`.\n */\nconst collectThreadSnapshots = (\n entry: DevToolsApiEntry,\n state: Record<string, unknown>,\n): Record<string, unknown> | undefined => {\n const threadsState = state.threads;\n if (!isRecord(threadsState)) return undefined;\n\n const threadsScope = entry.api.threads;\n if (typeof threadsScope !== \"function\") return undefined;\n\n let threadsClient: ThreadsClientMethods;\n try {\n threadsClient = threadsScope() as ThreadsClientMethods;\n } catch {\n return undefined;\n }\n\n const assistantRuntime = threadsClient.__internal_getAssistantRuntime?.();\n if (!assistantRuntime) return undefined;\n\n const threadIds = [\n ...isStringArray(threadsState.threadIds),\n ...isStringArray(threadsState.archivedThreadIds),\n ];\n if (threadIds.length === 0) return undefined;\n\n const snapshots: Record<string, unknown> = {};\n for (const threadId of threadIds) {\n try {\n const threadRuntime = assistantRuntime.threads.getById(threadId);\n const threadState = threadRuntime.getState();\n snapshots[threadId] = sanitizeForMessage({\n messages: threadState.messages,\n isRunning: threadState.isRunning,\n isLoading: threadState.isLoading,\n isDisabled: threadState.isDisabled,\n suggestions: threadState.suggestions,\n capabilities: threadState.capabilities,\n composer: threadRuntime.composer.getState(),\n });\n } catch {\n // Thread runtime not mounted yet (never opened in the app).\n }\n }\n\n return Object.keys(snapshots).length > 0 ? snapshots : undefined;\n};\n\n/**\n * Projects a live DevToolsHooks api entry into the plain, render-ready shape the\n * views consume. This is the in-process equivalent of the old\n * DevToolsHost.sendUpdate(): it walks the scope accessors for root-scope state\n * and the scope graph, normalizes the model context, and redacts credentials.\n *\n * `state` and each `log.data` are passed through sanitizeForMessage so the JSON\n * renderers cannot crash on circular references or non-serializable values;\n * `log.time` is kept as a Date for the clock formatter.\n */\nexport const projectApi = (apiId: number, entry: DevToolsApiEntry): ApiInfo => {\n const state: Record<string, unknown> = {};\n const scopes: Array<{\n name: string;\n source: string | null;\n query: Record<string, unknown> | null;\n methods: string[];\n }> = [];\n\n for (const [name, scope] of Object.entries(entry.api)) {\n if (typeof scope !== \"function\" || !(\"source\" in scope)) continue;\n\n let methods: string[] = [];\n try {\n const scopeValue = scope();\n if (scope.source === \"root\") {\n state[name] =\n (scopeValue as { getState?: () => unknown })?.getState?.() ??\n scopeValue;\n }\n methods = readMethods(scopeValue);\n } catch {\n // scope() may throw for derived scopes before the client is mounted.\n }\n\n scopes.push({\n name,\n source: scope.source,\n query: scope.query,\n methods,\n });\n }\n\n let modelContext: ApiInfo[\"modelContext\"];\n try {\n modelContext = serializeModelContext(\n entry.api.thread?.().getModelContext(),\n );\n } catch {\n // A throwing thread()/getModelContext() should not drop the whole api;\n // show partial data (state, scopes, logs) without the model context.\n }\n\n const sanitizedState = sanitizeForMessage(state) as Record<string, unknown>;\n const threadSnapshots = collectThreadSnapshots(entry, sanitizedState);\n\n return {\n id: apiId,\n state: sanitizedState,\n logs: entry.logs.map((log) => ({\n time: log.time,\n event: log.event,\n data: sanitizeForMessage(log.data),\n })),\n modelContext,\n scopes: sanitizeAndRedact(scopes),\n ...(threadSnapshots ? { threadSnapshots } : {}),\n };\n};\n"],"mappings":";;;;;;;;AAmBA,MAAMa,eAAeC,eAAkC;CACrD,IACE,CAACA,cACA,OAAOA,eAAe,YAAY,OAAOA,eAAe,YAEzD,OAAO,CAAA;CACT,IAAI;EACF,OAAOC,OAAOC,KAAKF,UAAU,CAAC,CAACG,QAC5BC,QACC,OAAQJ,WAAuCI,SAAS,UAC5D;CACF,QAAQ;EACN,OAAO,CAAA;CACT;AACF;;;;;;AAyBA,MAAMe,0BACJC,OACAC,UACwC;CACxC,MAAMC,eAAeD,MAAMb;CAC3B,IAAI,CAACrB,SAASmC,YAAY,GAAG,OAAOC,KAAAA;CAEpC,MAAMC,eAAeJ,MAAMzB,IAAIa;CAC/B,IAAI,OAAOgB,iBAAiB,YAAY,OAAOD,KAAAA;CAE/C,IAAIE;CACJ,IAAI;EACFA,gBAAgBD,aAAa;CAC/B,QAAQ;EACN;CACF;CAEA,MAAME,mBAAmBD,cAAclB,iCAAiC;CACxE,IAAI,CAACmB,kBAAkB,OAAOH,KAAAA;CAE9B,MAAMI,YAAY,CAChB,GAAGvC,cAAckC,aAAaK,SAAS,GACvC,GAAGvC,cAAckC,aAAaM,iBAAiB,CAAC;CAElD,IAAID,UAAUE,WAAW,GAAG,OAAON,KAAAA;CAEnC,MAAMO,YAAqC,CAAC;CAC5C,KAAK,MAAMpB,YAAYiB,WACrB,IAAI;EACF,MAAMI,gBAAgBL,iBAAiBlB,QAAQC,QAAQC,QAAQ;EAC/D,MAAMsB,cAAcD,cAAcpB,SAAS;EAC3CmB,UAAUpB,YAAYpB,mBAAmB;GACvCsB,UAAUoB,YAAYpB;GACtBC,WAAWmB,YAAYnB;GACvBC,WAAWkB,YAAYlB;GACvBC,YAAYiB,YAAYjB;GACxBC,aAAagB,YAAYhB;GACzBC,cAAce,YAAYf;GAC1BC,UAAUa,cAAcb,SAASP,SAAS;EAC5C,CAAC;CACH,QAAQ,CACN;CAIJ,OAAOV,OAAOC,KAAK4B,SAAS,CAAC,CAACD,SAAS,IAAIC,YAAYP,KAAAA;AACzD;;;;;;;;;;;AAYA,MAAaU,cAAcC,OAAed,UAAqC;CAC7E,MAAMC,QAAiC,CAAC;CACxC,MAAMc,SAKD,CAAA;CAEL,KAAK,MAAM,CAACE,MAAMI,UAAUxC,OAAOyC,QAAQtB,MAAMzB,GAAG,GAAG;EACrD,IAAI,OAAO8C,UAAU,cAAc,EAAE,YAAYA,QAAQ;EAEzD,IAAID,UAAoB,CAAA;EACxB,IAAI;GACF,MAAMxC,aAAayC,MAAM;GACzB,IAAIA,MAAMH,WAAW,QACnBjB,MAAMgB,QACHrC,YAA6CW,WAAW,KACzDX;GAEJwC,UAAUzC,YAAYC,UAAU;EAClC,QAAQ,CACN;EAGFmC,OAAOQ,KAAK;GACVN;GACAC,QAAQG,MAAMH;GACdC,OAAOE,MAAMF;GACbC;EACF,CAAC;CACH;CAEA,IAAII;CACJ,IAAI;EACFA,eAAerD,sBACb6B,MAAMzB,IAAIkD,SAAS,CAAC,CAACC,gBAAgB,CACvC;CACF,QAAQ,CAEN;CAGF,MAAMC,iBAAiBzD,mBAAmB+B,KAAK;CAC/C,MAAM2B,kBAAkB7B,uBAAuBC,OAAO2B,cAAc;CAEpE,OAAO;EACLE,IAAIf;EACJb,OAAO0B;EACPlD,MAAMuB,MAAMvB,KAAKqD,KAAKC,SAAS;GAC7BC,MAAMD,IAAIC;GACVC,OAAOF,IAAIE;GACXC,MAAMhE,mBAAmB6D,IAAIG,IAAI;EACnC,EAAE;EACFV;EACAT,QAAQ9C,kBAAkB8C,MAAM;EAChC,GAAIa,kBAAkB,EAAEA,gBAAgB,IAAI,CAAC;CAC/C;AACF"}
1
+ {"version":3,"file":"projectApi.js","names":["AssistantClient","isRecord","isStringArray","sanitizeAndRedact","sanitizeForMessage","serializeModelContext","ApiInfo","EventLogEntry","DevToolsApiEntry","api","Partial","logs","ReadonlyArray","readMethods","scopeValue","Object","keys","filter","key","Record","ThreadsClientMethods","__internal_getAssistantRuntime","threads","getById","threadId","getState","messages","isRunning","isLoading","isDisabled","suggestions","capabilities","composer","collectThreadSnapshots","entry","state","threadsState","undefined","threadsScope","threadsClient","assistantRuntime","threadIds","archivedThreadIds","length","snapshots","create","threadRuntime","threadState","projectApi","apiId","scopes","Array","name","source","query","methods","scope","entries","push","modelContext","thread","getModelContext","sanitizedState","threadSnapshots","id","map","log","time","event","data"],"sources":["../../src/data/projectApi.ts"],"sourcesContent":["import type { AssistantClient } from \"@assistant-ui/react\";\nimport { isRecord, isStringArray } from \"../utils/common\";\nimport {\n sanitizeAndRedact,\n sanitizeForMessage,\n serializeModelContext,\n} from \"../utils/serialization\";\nimport type { ApiInfo, EventLogEntry } from \"./types\";\n\ninterface DevToolsApiEntry {\n api: Partial<AssistantClient>;\n logs: ReadonlyArray<EventLogEntry>;\n}\n\n/**\n * Lists the method names of a client proxy. The client proxy throws from its\n * `getOwnPropertyDescriptor` trap, so `Object.keys` is best-effort and isolated\n * from state extraction.\n */\nconst readMethods = (scopeValue: unknown): string[] => {\n if (\n !scopeValue ||\n (typeof scopeValue !== \"object\" && typeof scopeValue !== \"function\")\n )\n return [];\n try {\n return Object.keys(scopeValue).filter(\n (key) =>\n typeof (scopeValue as Record<string, unknown>)[key] === \"function\",\n );\n } catch {\n return [];\n }\n};\n\ntype ThreadsClientMethods = {\n __internal_getAssistantRuntime?: () => {\n threads: {\n getById: (threadId: string) => {\n getState: () => {\n messages: unknown;\n isRunning?: boolean;\n isLoading?: boolean;\n isDisabled?: boolean;\n suggestions: unknown;\n capabilities: unknown;\n };\n composer: { getState: () => unknown };\n };\n };\n };\n};\n\n/**\n * Reads cached thread states for every id in the thread list. Only threads whose\n * runtime has been mounted (visited in the app) return data; unvisited threads\n * are omitted so DevTools can still list them from `state.threads.threadItems`.\n */\nconst collectThreadSnapshots = (\n entry: DevToolsApiEntry,\n state: Record<string, unknown>,\n): Record<string, unknown> | undefined => {\n const threadsState = state.threads;\n if (!isRecord(threadsState)) return undefined;\n\n const threadsScope = entry.api.threads;\n if (typeof threadsScope !== \"function\") return undefined;\n\n let threadsClient: ThreadsClientMethods;\n try {\n threadsClient = threadsScope() as ThreadsClientMethods;\n } catch {\n return undefined;\n }\n\n const assistantRuntime = threadsClient.__internal_getAssistantRuntime?.();\n if (!assistantRuntime) return undefined;\n\n const threadIds = [\n ...isStringArray(threadsState.threadIds),\n ...isStringArray(threadsState.archivedThreadIds),\n ];\n if (threadIds.length === 0) return undefined;\n\n const snapshots: Record<string, unknown> = Object.create(null);\n for (const threadId of threadIds) {\n try {\n const threadRuntime = assistantRuntime.threads.getById(threadId);\n const threadState = threadRuntime.getState();\n snapshots[threadId] = sanitizeForMessage({\n messages: threadState.messages,\n isRunning: threadState.isRunning,\n isLoading: threadState.isLoading,\n isDisabled: threadState.isDisabled,\n suggestions: threadState.suggestions,\n capabilities: threadState.capabilities,\n composer: threadRuntime.composer.getState(),\n });\n } catch {\n // Thread runtime not mounted yet (never opened in the app).\n }\n }\n\n return Object.keys(snapshots).length > 0 ? { ...snapshots } : undefined;\n};\n\n/**\n * Projects a live DevToolsHooks api entry into the plain, render-ready shape the\n * views consume. This is the in-process equivalent of the old\n * DevToolsHost.sendUpdate(): it walks the scope accessors for root-scope state\n * and the scope graph, normalizes the model context, and redacts credentials.\n *\n * `state` and each `log.data` are passed through sanitizeForMessage so the JSON\n * renderers cannot crash on circular references or non-serializable values;\n * `log.time` is kept as a Date for the clock formatter.\n */\nexport const projectApi = (apiId: number, entry: DevToolsApiEntry): ApiInfo => {\n const state: Record<string, unknown> = {};\n const scopes: Array<{\n name: string;\n source: string | null;\n query: Record<string, unknown> | null;\n methods: string[];\n }> = [];\n\n for (const [name, scope] of Object.entries(entry.api)) {\n if (typeof scope !== \"function\" || !(\"source\" in scope)) continue;\n\n let methods: string[] = [];\n try {\n const scopeValue = scope();\n if (scope.source === \"root\") {\n state[name] =\n (scopeValue as { getState?: () => unknown })?.getState?.() ??\n scopeValue;\n }\n methods = readMethods(scopeValue);\n } catch {\n // scope() may throw for derived scopes before the client is mounted.\n }\n\n scopes.push({\n name,\n source: scope.source,\n query: scope.query,\n methods,\n });\n }\n\n let modelContext: ApiInfo[\"modelContext\"];\n try {\n modelContext = serializeModelContext(\n entry.api.thread?.().getModelContext(),\n );\n } catch {\n // A throwing thread()/getModelContext() should not drop the whole api;\n // show partial data (state, scopes, logs) without the model context.\n }\n\n const sanitizedState = sanitizeForMessage(state) as Record<string, unknown>;\n const threadSnapshots = collectThreadSnapshots(entry, sanitizedState);\n\n return {\n id: apiId,\n state: sanitizedState,\n logs: entry.logs.map((log) => ({\n time: log.time,\n event: log.event,\n data: sanitizeForMessage(log.data),\n })),\n modelContext,\n scopes: sanitizeAndRedact(scopes),\n ...(threadSnapshots ? { threadSnapshots } : {}),\n };\n};\n"],"mappings":";;;;;;;;AAmBA,MAAMa,eAAeC,eAAkC;CACrD,IACE,CAACA,cACA,OAAOA,eAAe,YAAY,OAAOA,eAAe,YAEzD,OAAO,CAAA;CACT,IAAI;EACF,OAAOC,OAAOC,KAAKF,UAAU,CAAC,CAACG,QAC5BC,QACC,OAAQJ,WAAuCI,SAAS,UAC5D;CACF,QAAQ;EACN,OAAO,CAAA;CACT;AACF;;;;;;AAyBA,MAAMe,0BACJC,OACAC,UACwC;CACxC,MAAMC,eAAeD,MAAMb;CAC3B,IAAI,CAACrB,SAASmC,YAAY,GAAG,OAAOC,KAAAA;CAEpC,MAAMC,eAAeJ,MAAMzB,IAAIa;CAC/B,IAAI,OAAOgB,iBAAiB,YAAY,OAAOD,KAAAA;CAE/C,IAAIE;CACJ,IAAI;EACFA,gBAAgBD,aAAa;CAC/B,QAAQ;EACN;CACF;CAEA,MAAME,mBAAmBD,cAAclB,iCAAiC;CACxE,IAAI,CAACmB,kBAAkB,OAAOH,KAAAA;CAE9B,MAAMI,YAAY,CAChB,GAAGvC,cAAckC,aAAaK,SAAS,GACvC,GAAGvC,cAAckC,aAAaM,iBAAiB,CAAC;CAElD,IAAID,UAAUE,WAAW,GAAG,OAAON,KAAAA;CAEnC,MAAMO,YAAqC7B,OAAO8B,OAAO,IAAI;CAC7D,KAAK,MAAMrB,YAAYiB,WACrB,IAAI;EACF,MAAMK,gBAAgBN,iBAAiBlB,QAAQC,QAAQC,QAAQ;EAC/D,MAAMuB,cAAcD,cAAcrB,SAAS;EAC3CmB,UAAUpB,YAAYpB,mBAAmB;GACvCsB,UAAUqB,YAAYrB;GACtBC,WAAWoB,YAAYpB;GACvBC,WAAWmB,YAAYnB;GACvBC,YAAYkB,YAAYlB;GACxBC,aAAaiB,YAAYjB;GACzBC,cAAcgB,YAAYhB;GAC1BC,UAAUc,cAAcd,SAASP,SAAS;EAC5C,CAAC;CACH,QAAQ,CACN;CAIJ,OAAOV,OAAOC,KAAK4B,SAAS,CAAC,CAACD,SAAS,IAAI,EAAE,GAAGC,UAAU,IAAIP,KAAAA;AAChE;;;;;;;;;;;AAYA,MAAaW,cAAcC,OAAef,UAAqC;CAC7E,MAAMC,QAAiC,CAAC;CACxC,MAAMe,SAKD,CAAA;CAEL,KAAK,MAAM,CAACE,MAAMI,UAAUzC,OAAO0C,QAAQvB,MAAMzB,GAAG,GAAG;EACrD,IAAI,OAAO+C,UAAU,cAAc,EAAE,YAAYA,QAAQ;EAEzD,IAAID,UAAoB,CAAA;EACxB,IAAI;GACF,MAAMzC,aAAa0C,MAAM;GACzB,IAAIA,MAAMH,WAAW,QACnBlB,MAAMiB,QACHtC,YAA6CW,WAAW,KACzDX;GAEJyC,UAAU1C,YAAYC,UAAU;EAClC,QAAQ,CACN;EAGFoC,OAAOQ,KAAK;GACVN;GACAC,QAAQG,MAAMH;GACdC,OAAOE,MAAMF;GACbC;EACF,CAAC;CACH;CAEA,IAAII;CACJ,IAAI;EACFA,eAAetD,sBACb6B,MAAMzB,IAAImD,SAAS,CAAC,CAACC,gBAAgB,CACvC;CACF,QAAQ,CAEN;CAGF,MAAMC,iBAAiB1D,mBAAmB+B,KAAK;CAC/C,MAAM4B,kBAAkB9B,uBAAuBC,OAAO4B,cAAc;CAEpE,OAAO;EACLE,IAAIf;EACJd,OAAO2B;EACPnD,MAAMuB,MAAMvB,KAAKsD,KAAKC,SAAS;GAC7BC,MAAMD,IAAIC;GACVC,OAAOF,IAAIE;GACXC,MAAMjE,mBAAmB8D,IAAIG,IAAI;EACnC,EAAE;EACFV;EACAT,QAAQ/C,kBAAkB+C,MAAM;EAChC,GAAIa,kBAAkB,EAAEA,gBAAgB,IAAI,CAAC;CAC/C;AACF"}
@@ -1,30 +1,30 @@
1
- import { SerializedModelContext } from "../types.js";
2
- //#region src/data/types.d.ts
1
+ import type { SerializedModelContext } from "../types.js";
2
+ export type { SerializedModelContext } from "../types.js";
3
3
  export interface EventLogEntry {
4
- readonly time: Date;
5
- readonly event: string;
6
- readonly data: unknown;
4
+ readonly time: Date;
5
+ readonly event: string;
6
+ readonly data: unknown;
7
7
  }
8
8
  export interface ApiInfo {
9
- id: number;
10
- state: Record<string, unknown>;
11
- logs: EventLogEntry[];
12
- modelContext?: SerializedModelContext | undefined;
13
- scopes?: unknown;
14
- /**
15
- * Cached thread states keyed by thread id. Populated for threads whose runtime
16
- * has been mounted (visited in the app). Unvisited threads only appear in
17
- * `state.threads.threadItems`.
18
- */
19
- threadSnapshots?: Readonly<Record<string, unknown>>;
9
+ id: number;
10
+ state: Record<string, unknown>;
11
+ logs: EventLogEntry[];
12
+ modelContext?: SerializedModelContext | undefined;
13
+ scopes?: unknown;
14
+ /**
15
+ * Cached thread states keyed by thread id. Populated for threads whose runtime
16
+ * has been mounted (visited in the app). Unvisited threads only appear in
17
+ * `state.threads.threadItems`.
18
+ */
19
+ threadSnapshots?: Readonly<Record<string, unknown>>;
20
20
  }
21
21
  /**
22
22
  * A JSON-safe view of every inspected instance. The map values are stable until
23
23
  * the next change so it can be returned directly from useSyncExternalStore.
24
24
  */
25
25
  export interface DevToolsSnapshot {
26
- apiIds: number[];
27
- byId: ReadonlyMap<number, ApiInfo>;
26
+ apiIds: number[];
27
+ byId: ReadonlyMap<number, ApiInfo>;
28
28
  }
29
29
  /**
30
30
  * The transport between the data source and the panel UI. The default
@@ -33,19 +33,17 @@ export interface DevToolsSnapshot {
33
33
  * bridge, a browser-extension relay, a remote socket, or a fixture for tests.
34
34
  */
35
35
  export interface DevToolsClient {
36
- /** Subscribe to snapshot changes; returns an unsubscribe. */
37
- subscribe(listener: () => void): () => void;
38
- /** The current snapshot. Must return a stable reference until it changes. */
39
- getSnapshot(): DevToolsSnapshot;
40
- /** Snapshot used during SSR/hydration. Defaults to an empty snapshot. */
41
- getServerSnapshot?(): DevToolsSnapshot;
42
- /** Clears the buffered event log for an instance. */
43
- clearEvents(apiId: number): void;
44
- /** Switches the inspected instance to a thread by id, when supported. */
45
- switchToThread?(apiId: number, threadId: string): void | Promise<void>;
36
+ /** Subscribe to snapshot changes; returns an unsubscribe. */
37
+ subscribe(listener: () => void): () => void;
38
+ /** The current snapshot. Must return a stable reference until it changes. */
39
+ getSnapshot(): DevToolsSnapshot;
40
+ /** Snapshot used during SSR/hydration. Defaults to an empty snapshot. */
41
+ getServerSnapshot?(): DevToolsSnapshot;
42
+ /** Clears the buffered event log for an instance. */
43
+ clearEvents(apiId: number): void;
44
+ /** Switches the inspected instance to a thread by id, when supported. */
45
+ switchToThread?(apiId: number, threadId: string): void | Promise<void>;
46
46
  }
47
47
  /** Shared stable empty snapshot identity for the empty/server state. */
48
48
  export declare const EMPTY_SNAPSHOT: DevToolsSnapshot;
49
- //#endregion
50
- export type { SerializedModelContext };
51
49
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","names":[],"sources":["../../src/data/types.ts"],"mappings":";;iBAIiB;WACN,MAAM;WACN;WACA;;iBAGM;EACf;EACA,OAAO;EACP,MAAM;EACN,eAAe;EACf;;;;;;EAMA,kBAAkB,SAAS;;;;;;iBAOZ;EACf;EACA,MAAM,oBAAoB;;;;;;;;iBASX;;EAEf,UAAU;;EAEV,eAAe;;EAEf,sBAAsB;;EAEtB,YAAY;;EAEZ,gBAAgB,eAAe,0BAA0B;;;qBAI9C,gBAAgB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/data/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,oBAAiB;AAEvD,YAAY,EAAE,sBAAsB,EAAE,oBAAiB;AAEvD,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,IAAI,EAAE,aAAa,EAAE,CAAC;IACtB,YAAY,CAAC,EAAE,sBAAsB,GAAG,SAAS,CAAC;IAClD,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;;OAIG;IACH,eAAe,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CACrD;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,IAAI,EAAE,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED;;;;;GAKG;AACH,MAAM,WAAW,cAAc;IAC7B,6DAA6D;IAC7D,SAAS,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC;IAC5C,6EAA6E;IAC7E,WAAW,IAAI,gBAAgB,CAAC;IAChC,yEAAyE;IACzE,iBAAiB,CAAC,IAAI,gBAAgB,CAAC;IACvC,qDAAqD;IACrD,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,yEAAyE;IACzE,cAAc,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACxE;AAED,wEAAwE;AACxE,eAAO,MAAM,cAAc,EAAE,gBAAkD,CAAC"}
@@ -1,10 +1,9 @@
1
- import { ApiInfo, DevToolsClient } from "./types.js";
2
- //#region src/data/useDevToolsClient.d.ts
1
+ import { type ApiInfo, type DevToolsClient } from "./types.js";
3
2
  export interface DevToolsClientResult {
4
- apiIds: number[];
5
- selected: ApiInfo | undefined;
6
- clearEvents: (apiId: number) => void;
7
- switchToThread: (apiId: number, threadId: string) => void | Promise<void>;
3
+ apiIds: number[];
4
+ selected: ApiInfo | undefined;
5
+ clearEvents: (apiId: number) => void;
6
+ switchToThread: (apiId: number, threadId: string) => void | Promise<void>;
8
7
  }
9
8
  /**
10
9
  * Reads a DevToolsClient snapshot and resolves the selected instance. The panel
@@ -13,5 +12,4 @@ export interface DevToolsClientResult {
13
12
  * is a module singleton; memoize custom clients).
14
13
  */
15
14
  export declare const useDevToolsClient: (selectedApiId: number | null, client?: DevToolsClient) => DevToolsClientResult;
16
- //#endregion
17
15
  //# sourceMappingURL=useDevToolsClient.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useDevToolsClient.d.ts","names":[],"sources":["../../src/data/useDevToolsClient.ts"],"mappings":";;iBAIiB;EACf;EACA,UAAU;EACV,cAAc;EACd,iBAAiB,eAAe,4BAA4B;;;;;;;;qBASjD,oBACX,8BACA,SAAQ,mBACP"}
1
+ {"version":3,"file":"useDevToolsClient.d.ts","sourceRoot":"","sources":["../../src/data/useDevToolsClient.ts"],"names":[],"mappings":"AAEA,OAAO,EAAkB,KAAK,OAAO,EAAE,KAAK,cAAc,EAAE,mBAAgB;AAE5E,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,cAAc,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3E;AAED;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,GAC5B,eAAe,MAAM,GAAG,IAAI,EAC5B,SAAQ,cAAgC,KACvC,oBA2CF,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,10 +1,10 @@
1
- import { NormalizedTool, normalizeToolList } from "./utils/toolNormalization.js";
2
- import { SerializedModelContext } from "./types.js";
3
- import { ApiInfo, DevToolsClient, DevToolsSnapshot } from "./data/types.js";
4
- import { DevToolsPanelPlugin, DevToolsTabContext, builtinPlugins, createDevToolsPlugin } from "./shell/registry.js";
5
- import { DevToolsModal, DevToolsModalProps } from "./DevToolsModal.js";
6
- import { createInProcessClient, inProcessClient } from "./data/createInProcessClient.js";
7
- import { DevToolsPanel, DevToolsPanelProps } from "./shell/DevToolsPanel.js";
8
- import { ShadowRoot } from "./shell/ShadowRoot.js";
9
- import { serializeModelContext } from "./utils/serialization.js";
10
- export { type ApiInfo, type DevToolsClient, DevToolsModal, type DevToolsModalProps, DevToolsPanel, type DevToolsPanelPlugin, type DevToolsPanelProps, type DevToolsSnapshot, type DevToolsTabContext, type NormalizedTool, type SerializedModelContext, ShadowRoot, builtinPlugins, createDevToolsPlugin, createInProcessClient, inProcessClient, normalizeToolList, serializeModelContext };
1
+ export { DevToolsModal, type DevToolsModalProps } from "./DevToolsModal.js";
2
+ export { DevToolsPanel, type DevToolsPanelProps } from "./shell/DevToolsPanel.js";
3
+ export { ShadowRoot } from "./shell/ShadowRoot.js";
4
+ export { builtinPlugins, createDevToolsPlugin, type DevToolsPanelPlugin, type DevToolsTabContext, } from "./shell/registry.js";
5
+ export type { ApiInfo, DevToolsClient, DevToolsSnapshot } from "./data/types.js";
6
+ export { createInProcessClient, inProcessClient, } from "./data/createInProcessClient.js";
7
+ export { normalizeToolList, type NormalizedTool, } from "./utils/toolNormalization.js";
8
+ export { serializeModelContext } from "./utils/serialization.js";
9
+ export type { SerializedModelContext } from "./types.js";
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,KAAK,kBAAkB,EAAE,2BAAwB;AACzE,OAAO,EAAE,aAAa,EAAE,KAAK,kBAAkB,EAAE,iCAA8B;AAC/E,OAAO,EAAE,UAAU,EAAE,8BAA2B;AAChD,OAAO,EACL,cAAc,EACd,oBAAoB,EACpB,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,GACxB,4BAAyB;AAC1B,YAAY,EAAE,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,wBAAqB;AAC9E,OAAO,EACL,qBAAqB,EACrB,eAAe,GAChB,wCAAqC;AACtC,OAAO,EACL,iBAAiB,EACjB,KAAK,cAAc,GACpB,qCAAkC;AACnC,OAAO,EAAE,qBAAqB,EAAE,iCAA8B;AAC9D,YAAY,EAAE,sBAAsB,EAAE,mBAAgB"}
@@ -1,10 +1,9 @@
1
- import { DevToolsClient } from "../data/types.js";
2
- import { DevToolsPanelPlugin } from "./registry.js";
3
- //#region src/shell/DevToolsOverlay.d.ts
1
+ import type { DevToolsPanelPlugin } from "./registry.js";
2
+ import type { DevToolsClient } from "../data/types.js";
4
3
  export interface DevToolsOverlayProps {
5
- plugins?: DevToolsPanelPlugin[] | undefined;
6
- theme: "light" | "dark";
7
- client?: DevToolsClient | undefined;
4
+ plugins?: DevToolsPanelPlugin[] | undefined;
5
+ theme: "light" | "dark";
6
+ client?: DevToolsClient | undefined;
8
7
  }
9
8
  /**
10
9
  * The full devtools surface (floating launcher + window), rendered inside the
@@ -12,6 +11,5 @@ export interface DevToolsOverlayProps {
12
11
  * and isolated from the host page. The window floats over the live app with no
13
12
  * backdrop; close with the × or Escape.
14
13
  */
15
- export declare const DevToolsOverlay: ({ plugins, theme, client }: DevToolsOverlayProps) => import("react").JSX.Element;
16
- //#endregion
14
+ export declare const DevToolsOverlay: ({ plugins, theme, client, }: DevToolsOverlayProps) => import("react").JSX.Element;
17
15
  //# sourceMappingURL=DevToolsOverlay.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DevToolsOverlay.d.ts","names":[],"sources":["../../src/shell/DevToolsOverlay.tsx"],"mappings":";;;iBAOiB;EACf,UAAU;EACV;EACA,SAAS;;;;;;;;qBASE,oBAAmB,SAAA,OAAA,UAI7B,yCAAoB,IAAA"}
1
+ {"version":3,"file":"DevToolsOverlay.d.ts","sourceRoot":"","sources":["../../src/shell/DevToolsOverlay.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,mBAAmB,EAAE,sBAAmB;AACtD,OAAO,KAAK,EAAE,cAAc,EAAE,yBAAsB;AAEpD,MAAM,WAAW,oBAAoB;IACnC,OAAO,CAAC,EAAE,mBAAmB,EAAE,GAAG,SAAS,CAAC;IAC5C,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,cAAc,GAAG,SAAS,CAAC;CACrC;AAED;;;;;GAKG;AACH,eAAO,MAAM,eAAe,GAAI,6BAI7B,oBAAoB,gCA4DtB,CAAC"}
@@ -1,16 +1,14 @@
1
- import { DevToolsClient } from "../data/types.js";
2
- import { DevToolsPanelPlugin } from "./registry.js";
3
- //#region src/shell/DevToolsPanel.d.ts
1
+ import type { DevToolsClient } from "../data/types.js";
2
+ import { type DevToolsPanelPlugin } from "./registry.js";
4
3
  export interface DevToolsPanelProps {
5
- /** Additional inspector tabs appended after the builtins. */
6
- plugins?: DevToolsPanelPlugin[] | undefined;
7
- /** Resolved theme, used to style plugin content and the dark variant. */
8
- theme?: "light" | "dark";
9
- /** When provided, a close control is rendered at the end of the tab bar. */
10
- onClose?: (() => void) | undefined;
11
- /** Data source. Defaults to the in-process DevToolsHooks client. */
12
- client?: DevToolsClient | undefined;
4
+ /** Additional inspector tabs appended after the builtins. */
5
+ plugins?: DevToolsPanelPlugin[] | undefined;
6
+ /** Resolved theme, used to style plugin content and the dark variant. */
7
+ theme?: "light" | "dark";
8
+ /** When provided, a close control is rendered at the end of the tab bar. */
9
+ onClose?: (() => void) | undefined;
10
+ /** Data source. Defaults to the in-process DevToolsHooks client. */
11
+ client?: DevToolsClient | undefined;
13
12
  }
14
- export declare const DevToolsPanel: ({ plugins, theme, onClose, client }: DevToolsPanelProps) => import("react").JSX.Element;
15
- //#endregion
13
+ export declare const DevToolsPanel: ({ plugins, theme, onClose, client, }: DevToolsPanelProps) => import("react").JSX.Element;
16
14
  //# sourceMappingURL=DevToolsPanel.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DevToolsPanel.d.ts","names":[],"sources":["../../src/shell/DevToolsPanel.tsx"],"mappings":";;;iBAciB;;EAEf,UAAU;;EAEV;;EAEA;;EAEA,SAAS;;qBAGE,kBAAiB,SAAA,OAAA,SAAA,UAK3B,uCAAkB,IAAA"}
1
+ {"version":3,"file":"DevToolsPanel.d.ts","sourceRoot":"","sources":["../../src/shell/DevToolsPanel.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,cAAc,EAAE,yBAAsB;AAEpD,OAAO,EAEL,KAAK,mBAAmB,EAEzB,sBAAmB;AAEpB,MAAM,WAAW,kBAAkB;IACjC,6DAA6D;IAC7D,OAAO,CAAC,EAAE,mBAAmB,EAAE,GAAG,SAAS,CAAC;IAC5C,yEAAyE;IACzE,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IACzB,4EAA4E;IAC5E,OAAO,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;IACnC,oEAAoE;IACpE,MAAM,CAAC,EAAE,cAAc,GAAG,SAAS,CAAC;CACrC;AAED,eAAO,MAAM,aAAa,GAAI,sCAK3B,kBAAkB,gCAmKpB,CAAC"}
@@ -1,10 +1,9 @@
1
- import { CSSProperties, ReactNode } from "react";
2
- //#region src/shell/ShadowRoot.d.ts
1
+ import { type CSSProperties, type ReactNode } from "react";
3
2
  export interface ShadowRootProps {
4
- theme: "light" | "dark";
5
- className?: string;
6
- style?: CSSProperties;
7
- children: ReactNode;
3
+ theme: "light" | "dark";
4
+ className?: string;
5
+ style?: CSSProperties;
6
+ children: ReactNode;
8
7
  }
9
8
  /**
10
9
  * Renders its children into an isolated shadow root with the compiled panel
@@ -12,6 +11,5 @@ export interface ShadowRootProps {
12
11
  * React's event delegation works (a portal from the outer root would leave the
13
12
  * listeners in the light DOM, where shadow retargeting breaks them).
14
13
  */
15
- export declare const ShadowRoot: ({ theme, className, style, children }: ShadowRootProps) => import("react").JSX.Element;
16
- //#endregion
14
+ export declare const ShadowRoot: ({ theme, className, style, children, }: ShadowRootProps) => import("react").JSX.Element;
17
15
  //# sourceMappingURL=ShadowRoot.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ShadowRoot.d.ts","names":[],"sources":["../../src/shell/ShadowRoot.tsx"],"mappings":";;iBAwBiB;EACf;EACA;EACA,QAAQ;EACR,UAAU;;;;;;;;qBASC,eAAc,OAAA,WAAA,OAAA,YAKxB,oCAAe,IAAA"}
1
+ {"version":3,"file":"ShadowRoot.d.ts","sourceRoot":"","sources":["../../src/shell/ShadowRoot.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAqB,KAAK,aAAa,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAsB9E,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED;;;;;GAKG;AACH,eAAO,MAAM,UAAU,GAAI,wCAKxB,eAAe,gCA0CjB,CAAC"}
@@ -1,23 +1,21 @@
1
- import { ReactNode } from "react";
2
- //#region src/shell/SplitLayout.d.ts
1
+ import type { ReactNode } from "react";
3
2
  /** Shared nav rail + detail track sizing for the master/detail tabs. */
4
3
  export declare const NAV_COL = "clamp(14rem,28%,18rem)_minmax(0,1fr)";
5
4
  export interface SplitColumn {
6
- key: string;
7
- /** Fixed rail header; stays aligned across columns. */
8
- header?: ReactNode | undefined;
9
- /** Scrollable pane body. */
10
- children: ReactNode;
5
+ key: string;
6
+ /** Fixed rail header; stays aligned across columns. */
7
+ header?: ReactNode | undefined;
8
+ /** Scrollable pane body. */
9
+ children: ReactNode;
11
10
  }
12
11
  /**
13
12
  * Multi-column split surface. Each column keeps its header fixed and only the
14
13
  * body scrolls, so rail titles and divider lines stay aligned across columns.
15
14
  */
16
- export declare const SplitLayout: ({ sizes, columns, className }: {
17
- /** Underscore-separated CSS grid track list, e.g. `12rem_minmax(0,1fr)`. */
18
- sizes: string;
19
- columns: SplitColumn[];
20
- className?: string | undefined;
15
+ export declare const SplitLayout: ({ sizes, columns, className, }: {
16
+ /** Underscore-separated CSS grid track list, e.g. `12rem_minmax(0,1fr)`. */
17
+ sizes: string;
18
+ columns: SplitColumn[];
19
+ className?: string | undefined;
21
20
  }) => import("react").JSX.Element;
22
- //#endregion
23
21
  //# sourceMappingURL=SplitLayout.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SplitLayout.d.ts","names":[],"sources":["../../src/shell/SplitLayout.tsx"],"mappings":";;;qBAIa;iBAEI;EACf;;EAEA,SAAS;;EAET,UAAU;;;;;;qBAOC,gBAAe,OAAA,SAAA;;EAM1B;EACA,SAAS;EACT;sBACD,IAAA"}
1
+ {"version":3,"file":"SplitLayout.d.ts","sourceRoot":"","sources":["../../src/shell/SplitLayout.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,wEAAwE;AACxE,eAAO,MAAM,OAAO,yCAAyC,CAAC;AAE9D,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,uDAAuD;IACvD,MAAM,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;IAC/B,4BAA4B;IAC5B,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED;;;GAGG;AACH,eAAO,MAAM,WAAW,GAAI,gCAIzB;IACD,4EAA4E;IAC5E,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAChC,gCAkBA,CAAC"}
@@ -1,39 +1,37 @@
1
- import { ApiInfo } from "../data/types.js";
2
- import { ComponentType } from "react";
3
- //#region src/shell/registry.d.ts
1
+ import type { ComponentType } from "react";
2
+ import type { ApiInfo } from "../data/types.js";
4
3
  export interface DevToolsTabContext {
5
- /** The id of the assistant instance the panel is currently inspecting. */
6
- apiId: number;
7
- /** Projected, render-ready data for the inspected instance. */
8
- data: ApiInfo;
9
- /** Clears the buffered event log for an instance. */
10
- clearEvents: (apiId: number) => void;
11
- /** The resolved theme of the panel. */
12
- theme: "light" | "dark";
13
- /**
14
- * The selected node id for this tab and instance, or null. Always a stable id
15
- * (message id, run id, slice key, …), never an array index, so the detail
16
- * pane does not jump as data streams in.
17
- */
18
- selection: string | null;
19
- /** Selects a node in this tab. Pass null to clear. Persisted per instance. */
20
- setSelection: (nodeId: string | null) => void;
21
- /** Switches the live app to a thread, when the runtime supports thread lists. */
22
- switchToThread?: ((threadId: string) => void | Promise<void>) | undefined;
4
+ /** The id of the assistant instance the panel is currently inspecting. */
5
+ apiId: number;
6
+ /** Projected, render-ready data for the inspected instance. */
7
+ data: ApiInfo;
8
+ /** Clears the buffered event log for an instance. */
9
+ clearEvents: (apiId: number) => void;
10
+ /** The resolved theme of the panel. */
11
+ theme: "light" | "dark";
12
+ /**
13
+ * The selected node id for this tab and instance, or null. Always a stable id
14
+ * (message id, run id, slice key, …), never an array index, so the detail
15
+ * pane does not jump as data streams in.
16
+ */
17
+ selection: string | null;
18
+ /** Selects a node in this tab. Pass null to clear. Persisted per instance. */
19
+ setSelection: (nodeId: string | null) => void;
20
+ /** Switches the live app to a thread, when the runtime supports thread lists. */
21
+ switchToThread?: ((threadId: string) => void | Promise<void>) | undefined;
23
22
  }
24
23
  export interface DevToolsPanelPlugin {
25
- /** Stable identifier used as the tab key. */
26
- id: string;
27
- /** Tab label shown in the navigation bar. */
28
- label: string;
29
- /** Lower numbers sort earlier; builtins occupy 10, 20, 30, 40. */
30
- order?: number;
31
- /** When provided and it returns false, the tab is hidden for the current instance. */
32
- isAvailable?: (ctx: DevToolsTabContext) => boolean;
33
- /** The tab body. Receives the tab context as props. */
34
- Component: ComponentType<DevToolsTabContext>;
24
+ /** Stable identifier used as the tab key. */
25
+ id: string;
26
+ /** Tab label shown in the navigation bar. */
27
+ label: string;
28
+ /** Lower numbers sort earlier; builtins occupy 10, 20, 30, 40. */
29
+ order?: number;
30
+ /** When provided and it returns false, the tab is hidden for the current instance. */
31
+ isAvailable?: (ctx: DevToolsTabContext) => boolean;
32
+ /** The tab body. Receives the tab context as props. */
33
+ Component: ComponentType<DevToolsTabContext>;
35
34
  }
36
35
  export declare const createDevToolsPlugin: (plugin: DevToolsPanelPlugin) => DevToolsPanelPlugin;
37
36
  export declare const builtinPlugins: DevToolsPanelPlugin[];
38
- //#endregion
39
37
  //# sourceMappingURL=registry.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"registry.d.ts","names":[],"sources":["../../src/shell/registry.ts"],"mappings":";;;iBAOiB;;EAEf;;EAEA,MAAM;;EAEN,cAAc;;EAEd;;;;;;EAMA;;EAEA,eAAe;;EAEf,mBAAmB,4BAA4B;;iBAGhC;;EAEf;;EAEA;;EAEA;;EAEA,eAAe,KAAK;;EAEpB,WAAW,cAAc;;qBAGd,uBACX,QAAQ,wBACP;qBAEU,gBAAgB"}
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/shell/registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,KAAK,EAAE,OAAO,EAAE,yBAAsB;AAM7C,MAAM,WAAW,kBAAkB;IACjC,0EAA0E;IAC1E,KAAK,EAAE,MAAM,CAAC;IACd,+DAA+D;IAC/D,IAAI,EAAE,OAAO,CAAC;IACd,qDAAqD;IACrD,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,uCAAuC;IACvC,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC;IACxB;;;;OAIG;IACH,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,8EAA8E;IAC9E,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IAC9C,iFAAiF;IACjF,cAAc,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,SAAS,CAAC;CAC3E;AAED,MAAM,WAAW,mBAAmB;IAClC,6CAA6C;IAC7C,EAAE,EAAE,MAAM,CAAC;IACX,6CAA6C;IAC7C,KAAK,EAAE,MAAM,CAAC;IACd,kEAAkE;IAClE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,sFAAsF;IACtF,WAAW,CAAC,EAAE,CAAC,GAAG,EAAE,kBAAkB,KAAK,OAAO,CAAC;IACnD,uDAAuD;IACvD,SAAS,EAAE,aAAa,CAAC,kBAAkB,CAAC,CAAC;CAC9C;AAED,eAAO,MAAM,oBAAoB,GAC/B,QAAQ,mBAAmB,KAC1B,mBAA6B,CAAC;AAEjC,eAAO,MAAM,cAAc,EAAE,mBAAmB,EAK/C,CAAC"}
@@ -1,5 +1,3 @@
1
- import { DevToolsTabContext } from "../registry.js";
2
- //#region src/shell/tabs/ActivityTab.d.ts
3
- export declare const ActivityTab: ({ apiId, data, clearEvents, selection, setSelection }: DevToolsTabContext) => import("react").JSX.Element;
4
- //#endregion
1
+ import type { DevToolsTabContext } from "../registry.js";
2
+ export declare const ActivityTab: ({ apiId, data, clearEvents, selection, setSelection, }: DevToolsTabContext) => import("react").JSX.Element;
5
3
  //# sourceMappingURL=ActivityTab.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ActivityTab.d.ts","names":[],"sources":["../../../src/shell/tabs/ActivityTab.tsx"],"mappings":";;qBA6Ba,gBAAe,OAAA,MAAA,aAAA,WAAA,gBAMzB,uCAAkB,IAAA"}
1
+ {"version":3,"file":"ActivityTab.d.ts","sourceRoot":"","sources":["../../../src/shell/tabs/ActivityTab.tsx"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,kBAAkB,EAAE,uBAAoB;AAgBtD,eAAO,MAAM,WAAW,GAAI,wDAMzB,kBAAkB,gCA6HpB,CAAC"}
@@ -1,5 +1,3 @@
1
- import { DevToolsTabContext } from "../registry.js";
2
- //#region src/shell/tabs/ContextTab.d.ts
3
- export declare const ContextTab: ({ data, selection, setSelection }: DevToolsTabContext) => import("react").JSX.Element;
4
- //#endregion
1
+ import type { DevToolsTabContext } from "../registry.js";
2
+ export declare const ContextTab: ({ data, selection, setSelection, }: DevToolsTabContext) => import("react").JSX.Element;
5
3
  //# sourceMappingURL=ContextTab.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ContextTab.d.ts","names":[],"sources":["../../../src/shell/tabs/ContextTab.tsx"],"mappings":";;qBAuCa,eAAc,MAAA,WAAA,gBAIxB,uCAAkB,IAAA"}
1
+ {"version":3,"file":"ContextTab.d.ts","sourceRoot":"","sources":["../../../src/shell/tabs/ContextTab.tsx"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,kBAAkB,EAAE,uBAAoB;AA2BtD,eAAO,MAAM,UAAU,GAAI,oCAIxB,kBAAkB,gCAiHpB,CAAC"}
@@ -1,5 +1,3 @@
1
- import { DevToolsTabContext } from "../registry.js";
2
- //#region src/shell/tabs/RawTab.d.ts
3
- export declare const RawTab: ({ data, selection, setSelection }: DevToolsTabContext) => import("react").JSX.Element;
4
- //#endregion
1
+ import type { DevToolsTabContext } from "../registry.js";
2
+ export declare const RawTab: ({ data, selection, setSelection, }: DevToolsTabContext) => import("react").JSX.Element;
5
3
  //# sourceMappingURL=RawTab.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RawTab.d.ts","names":[],"sources":["../../../src/shell/tabs/RawTab.tsx"],"mappings":";;qBAca,WAAU,MAAA,WAAA,gBAIpB,uCAAkB,IAAA"}
1
+ {"version":3,"file":"RawTab.d.ts","sourceRoot":"","sources":["../../../src/shell/tabs/RawTab.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,kBAAkB,EAAE,uBAAoB;AAQtD,eAAO,MAAM,MAAM,GAAI,oCAIpB,kBAAkB,gCAwGpB,CAAC"}
@@ -1,5 +1,3 @@
1
- import { DevToolsTabContext } from "../registry.js";
2
- //#region src/shell/tabs/ThreadTab.d.ts
3
- export declare const ThreadTab: ({ data, selection, setSelection, switchToThread }: DevToolsTabContext) => import("react").JSX.Element;
4
- //#endregion
1
+ import type { DevToolsTabContext } from "../registry.js";
2
+ export declare const ThreadTab: ({ data, selection, setSelection, switchToThread, }: DevToolsTabContext) => import("react").JSX.Element;
5
3
  //# sourceMappingURL=ThreadTab.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ThreadTab.d.ts","names":[],"sources":["../../../src/shell/tabs/ThreadTab.tsx"],"mappings":";;qBA8Da,cAAa,MAAA,WAAA,cAAA,kBAKvB,uCAAkB,IAAA"}
1
+ {"version":3,"file":"ThreadTab.d.ts","sourceRoot":"","sources":["../../../src/shell/tabs/ThreadTab.tsx"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,kBAAkB,EAAE,uBAAoB;AA+CtD,eAAO,MAAM,SAAS,GAAI,oDAKvB,kBAAkB,gCA4JpB,CAAC"}
@@ -1,9 +1,7 @@
1
- //#region src/shell/tabs/navSelection.d.ts
2
1
  /**
3
2
  * Persists the resolved master/detail selection back to the panel once it
4
3
  * settles, so the nav highlight and the detail pane stay in agreement without
5
4
  * re-selecting on every render.
6
5
  */
7
6
  export declare const useNavSelectionSync: (selectedId: string | null, selection: string | null, setSelection: (id: string | null) => void) => void;
8
- //#endregion
9
7
  //# sourceMappingURL=navSelection.d.ts.map