@meridianlabs/log-viewer 0.3.282 → 0.3.283

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 (197) hide show
  1. package/lib/{AnsiDisplayRich-302CIkEj.js → AnsiDisplayRich-Dpc1-E4A.js} +31 -34
  2. package/lib/AnsiDisplayRich-Dpc1-E4A.js.map +1 -0
  3. package/lib/{AsciinemaPlayerImpl-BG5NPs0z.js → AsciinemaPlayerImpl-CTd51CWg.js} +13 -13
  4. package/lib/{AsciinemaPlayerImpl-BG5NPs0z.js.map → AsciinemaPlayerImpl-CTd51CWg.js.map} +1 -1
  5. package/lib/ToolButton-BGW3G4cu.js +374 -0
  6. package/lib/ToolButton-BGW3G4cu.js.map +1 -0
  7. package/lib/e2e/csp/csp.spec.d.ts +2 -0
  8. package/lib/e2e/csp/csp.spec.d.ts.map +1 -0
  9. package/lib/e2e/csp/cspLogs.d.ts +10 -0
  10. package/lib/e2e/csp/cspLogs.d.ts.map +1 -0
  11. package/lib/e2e/csp/media.d.ts +3 -0
  12. package/lib/e2e/csp/media.d.ts.map +1 -0
  13. package/lib/e2e/expandable-panel-nested-toggles.spec.d.ts +2 -0
  14. package/lib/e2e/expandable-panel-nested-toggles.spec.d.ts.map +1 -0
  15. package/lib/e2e/fixtures/app.d.ts +12 -1
  16. package/lib/e2e/fixtures/app.d.ts.map +1 -1
  17. package/lib/e2e/message-selection.spec.d.ts +2 -0
  18. package/lib/e2e/message-selection.spec.d.ts.map +1 -0
  19. package/lib/index.js +35243 -34924
  20. package/lib/index.js.map +1 -1
  21. package/lib/{markdownPipeline-C_z-iU9a.js → markdownPipeline-bhdCQvtQ.js} +280 -306
  22. package/lib/markdownPipeline-bhdCQvtQ.js.map +1 -0
  23. package/lib/{prismHighlighter-D-PZtkPX.js → prismHighlighter-7qrXrStR.js} +1 -2
  24. package/lib/{prismHighlighter-D-PZtkPX.js.map → prismHighlighter-7qrXrStR.js.map} +1 -1
  25. package/lib/src/app/App.d.ts.map +1 -1
  26. package/lib/src/app/AppProviders.d.ts +10 -0
  27. package/lib/src/app/AppProviders.d.ts.map +1 -0
  28. package/lib/src/app/log-list/LogsPanel.d.ts.map +1 -1
  29. package/lib/src/app/log-list/ViewerOptionsButton.d.ts +1 -0
  30. package/lib/src/app/log-list/ViewerOptionsButton.d.ts.map +1 -1
  31. package/lib/src/app/log-list/ViewerOptionsPopover.d.ts +1 -0
  32. package/lib/src/app/log-list/ViewerOptionsPopover.d.ts.map +1 -1
  33. package/lib/src/app/log-list/grid/columns/hooks.d.ts.map +1 -1
  34. package/lib/src/app/log-view/error/TaskErrorPanel.d.ts.map +1 -1
  35. package/lib/src/app/log-view/tabs/InfoTab.d.ts +1 -1
  36. package/lib/src/app/log-view/tabs/JsonTab.d.ts.map +1 -1
  37. package/lib/src/app/log-view/tabs/ModelsTab.d.ts +1 -1
  38. package/lib/src/app/log-view/tabs/SamplesTab.d.ts.map +1 -1
  39. package/lib/src/app/log-view/tabs/timeline/HistoryList.d.ts.map +1 -1
  40. package/lib/src/app/log-view/tabs/timeline/TimelineChart.d.ts.map +1 -1
  41. package/lib/src/app/log-view/tabs/timeline/TimelineTab.d.ts +1 -1
  42. package/lib/src/app/log-view/tabs/timeline/TimelineTab.d.ts.map +1 -1
  43. package/lib/src/app/log-view/title-view/CollapsedTitleBar.d.ts.map +1 -1
  44. package/lib/src/app/log-view/title-view/EditAnnotationsDialog.d.ts +22 -0
  45. package/lib/src/app/log-view/title-view/EditAnnotationsDialog.d.ts.map +1 -0
  46. package/lib/src/app/log-view/title-view/EditMetadataDialog.d.ts +3 -3
  47. package/lib/src/app/log-view/title-view/EditMetadataDialog.d.ts.map +1 -1
  48. package/lib/src/app/log-view/title-view/EditTagsDialog.d.ts.map +1 -1
  49. package/lib/src/app/log-view/title-view/RunningStatusPanel.d.ts.map +1 -1
  50. package/lib/src/app/log-view/title-view/ScoreGrid.d.ts.map +1 -1
  51. package/lib/src/app/log-view/title-view/StatusPanel.d.ts +2 -1
  52. package/lib/src/app/log-view/title-view/StatusPanel.d.ts.map +1 -1
  53. package/lib/src/app/log-view/title-view/renderEditDialog.d.ts +12 -0
  54. package/lib/src/app/log-view/title-view/renderEditDialog.d.ts.map +1 -0
  55. package/lib/src/app/navbar/ApplicationNavbar.d.ts +3 -0
  56. package/lib/src/app/navbar/ApplicationNavbar.d.ts.map +1 -1
  57. package/lib/src/app/navbar/Navbar.d.ts.map +1 -1
  58. package/lib/src/app/navbar/NavbarButton.d.ts +2 -1
  59. package/lib/src/app/navbar/NavbarButton.d.ts.map +1 -1
  60. package/lib/src/app/navbar/ViewSegmentedControl.d.ts.map +1 -1
  61. package/lib/src/app/plan/DetailStep.d.ts +2 -1
  62. package/lib/src/app/plan/DetailStep.d.ts.map +1 -1
  63. package/lib/src/app/plan/ScorerDetailView.d.ts.map +1 -1
  64. package/lib/src/app/plan/SolverDetailView.d.ts.map +1 -1
  65. package/lib/src/app/routing/url.d.ts +8 -3
  66. package/lib/src/app/routing/url.d.ts.map +1 -1
  67. package/lib/src/app/samples/InlineSampleDisplay.d.ts.map +1 -1
  68. package/lib/src/app/samples/SampleDisplay.d.ts.map +1 -1
  69. package/lib/src/app/samples/SampleRetriedErrors.d.ts.map +1 -1
  70. package/lib/src/app/samples/SamplesTools.d.ts.map +1 -1
  71. package/lib/src/app/samples/error/SampleErrorView.d.ts.map +1 -1
  72. package/lib/src/app/samples/event/SampleEventView.d.ts.map +1 -1
  73. package/lib/src/app/samples/header-v2/ScorePanel.d.ts.map +1 -1
  74. package/lib/src/app/samples/list/samplesView.d.ts +1 -1
  75. package/lib/src/app/samples/print/SamplePrintView.d.ts +3 -1
  76. package/lib/src/app/samples/print/SamplePrintView.d.ts.map +1 -1
  77. package/lib/src/app/samples/retry-display/RetryAttemptCard.d.ts.map +1 -1
  78. package/lib/src/app/samples/retry-display/RetryTerminalAnchor.d.ts.map +1 -1
  79. package/lib/src/app/samples/sample-tools/SelectScorer.d.ts.map +1 -1
  80. package/lib/src/app/samples/sample-tools/sample-filter/SampleFilter.d.ts.map +1 -1
  81. package/lib/src/app/samples/scans/ScansSidebarPanel.d.ts.map +1 -1
  82. package/lib/src/app/samples/status/status.d.ts.map +1 -1
  83. package/lib/src/app/samples/transcript/TranscriptPanel.d.ts +4 -2
  84. package/lib/src/app/samples/transcript/TranscriptPanel.d.ts.map +1 -1
  85. package/lib/src/app/samples/transcript/search/SearchScoutUnavailable.d.ts.map +1 -1
  86. package/lib/src/app/samples/useEvidenceSelection.d.ts +56 -0
  87. package/lib/src/app/samples/useEvidenceSelection.d.ts.map +1 -0
  88. package/lib/src/app/samples-panel/SamplesPanel.d.ts.map +1 -1
  89. package/lib/src/app/server/useUserInfo.d.ts +12 -0
  90. package/lib/src/app/server/useUserInfo.d.ts.map +1 -0
  91. package/lib/src/app/shared/ColumnSelectorPopover.d.ts.map +1 -1
  92. package/lib/src/app/shared/contentTrust.d.ts +1 -5
  93. package/lib/src/app/shared/contentTrust.d.ts.map +1 -1
  94. package/lib/src/app/shared/data-grid/DataGrid.d.ts +1 -2
  95. package/lib/src/app/shared/data-grid/DataGrid.d.ts.map +1 -1
  96. package/lib/src/app/types.d.ts +2 -2
  97. package/lib/src/app/types.d.ts.map +1 -1
  98. package/lib/src/app_config/LogLocationGate.d.ts +6 -5
  99. package/lib/src/app_config/LogLocationGate.d.ts.map +1 -1
  100. package/lib/src/app_config/appConfig.d.ts +1 -2
  101. package/lib/src/app_config/appConfig.d.ts.map +1 -1
  102. package/lib/src/app_config/logLocationTrust.d.ts +5 -4
  103. package/lib/src/app_config/logLocationTrust.d.ts.map +1 -1
  104. package/lib/src/app_config/resolveBackend.d.ts +3 -3
  105. package/lib/src/app_config/resolveBackend.d.ts.map +1 -1
  106. package/lib/src/client/api/client-api.d.ts.map +1 -1
  107. package/lib/src/client/api/shared/api-shared.d.ts.map +1 -1
  108. package/lib/src/client/api/testClientApi.d.ts +2 -1
  109. package/lib/src/client/api/testClientApi.d.ts.map +1 -1
  110. package/lib/src/client/api/types.d.ts +2 -5
  111. package/lib/src/client/api/types.d.ts.map +1 -1
  112. package/lib/src/client/api/vscode/testExtensionHost.d.ts +28 -0
  113. package/lib/src/client/api/vscode/testExtensionHost.d.ts.map +1 -0
  114. package/lib/src/client/database/schema.d.ts.map +1 -1
  115. package/lib/src/client/json-parse.worker.d.ts +2 -0
  116. package/lib/src/client/json-parse.worker.d.ts.map +1 -0
  117. package/lib/src/client/jsonParseWorker.d.ts +2 -0
  118. package/lib/src/client/jsonParseWorker.d.ts.map +1 -0
  119. package/lib/src/client/remote/{zstd-worker.d.ts → decompression-worker.d.ts} +15 -8
  120. package/lib/src/client/remote/decompression-worker.d.ts.map +1 -0
  121. package/lib/src/client/remote/decompression.d.ts.map +1 -1
  122. package/lib/src/client/remote/decompression.worker.d.ts +2 -0
  123. package/lib/src/client/remote/decompression.worker.d.ts.map +1 -0
  124. package/lib/src/client/remote/inflate.d.ts +11 -0
  125. package/lib/src/client/remote/inflate.d.ts.map +1 -0
  126. package/lib/src/client/remote/zstd-decoder.d.ts.map +1 -1
  127. package/lib/src/client/utils/derive.d.ts.map +1 -1
  128. package/lib/src/components/DownloadLogButton.d.ts.map +1 -1
  129. package/lib/src/components/LinkButton.d.ts +2 -1
  130. package/lib/src/components/LinkButton.d.ts.map +1 -1
  131. package/lib/src/components/MessageBand.d.ts.map +1 -1
  132. package/lib/src/index.d.ts +0 -9
  133. package/lib/src/index.d.ts.map +1 -1
  134. package/lib/src/log_data/databaseInstance.d.ts +7 -0
  135. package/lib/src/log_data/databaseInstance.d.ts.map +1 -1
  136. package/lib/src/log_data/databaseListings.d.ts +3 -1
  137. package/lib/src/log_data/databaseListings.d.ts.map +1 -1
  138. package/lib/src/log_data/fetchEngine.d.ts +4 -0
  139. package/lib/src/log_data/fetchEngine.d.ts.map +1 -1
  140. package/lib/src/log_data/imperativeLogData.d.ts +1 -1
  141. package/lib/src/log_data/index.d.ts +3 -1
  142. package/lib/src/log_data/index.d.ts.map +1 -1
  143. package/lib/src/log_data/runningSampleQuery.d.ts +4 -1
  144. package/lib/src/log_data/runningSampleQuery.d.ts.map +1 -1
  145. package/lib/src/log_data/samplesListing.d.ts +1 -2
  146. package/lib/src/log_data/samplesListing.d.ts.map +1 -1
  147. package/lib/src/log_data/testFixtures.d.ts +1 -1
  148. package/lib/src/log_data/testFixtures.d.ts.map +1 -1
  149. package/lib/src/log_data/useFetchEngineStatus.d.ts +5 -1
  150. package/lib/src/log_data/useFetchEngineStatus.d.ts.map +1 -1
  151. package/lib/src/log_data/useLogsSync.d.ts +7 -1
  152. package/lib/src/log_data/useLogsSync.d.ts.map +1 -1
  153. package/lib/src/main.d.ts +0 -1
  154. package/lib/src/main.d.ts.map +1 -1
  155. package/lib/src/scoring/headline.d.ts.map +1 -1
  156. package/lib/src/state/hooks.d.ts.map +1 -1
  157. package/lib/src/state/sampleSlice.d.ts +6 -6
  158. package/lib/src/state/sampleSlice.d.ts.map +1 -1
  159. package/lib/src/test/mswServer.d.ts +9 -0
  160. package/lib/src/test/mswServer.d.ts.map +1 -0
  161. package/lib/src/test/nodeWorker.d.ts +2 -0
  162. package/lib/src/test/nodeWorker.d.ts.map +1 -0
  163. package/lib/src/test/testApp.d.ts +36 -0
  164. package/lib/src/test/testApp.d.ts.map +1 -0
  165. package/lib/styles/index.css +12649 -12533
  166. package/package.json +19 -19
  167. package/lib/AnsiDisplayRich-302CIkEj.js.map +0 -1
  168. package/lib/ToolButton-BmBvTvKO.js +0 -124
  169. package/lib/ToolButton-BmBvTvKO.js.map +0 -1
  170. package/lib/markdownPipeline-C_z-iU9a.js.map +0 -1
  171. package/lib/src/app/appearance/colors.d.ts +0 -10
  172. package/lib/src/app/appearance/colors.d.ts.map +0 -1
  173. package/lib/src/app/appearance/icons.d.ts +0 -148
  174. package/lib/src/app/appearance/icons.d.ts.map +0 -1
  175. package/lib/src/app/log-view/title-view/ProvenanceFields.d.ts +0 -11
  176. package/lib/src/app/log-view/title-view/ProvenanceFields.d.ts.map +0 -1
  177. package/lib/src/app/samples/error/FlatSampleErrorView.d.ts +0 -10
  178. package/lib/src/app/samples/error/FlatSampleErrorView.d.ts.map +0 -1
  179. package/lib/src/app/samples/sampleDataAdapter.d.ts +0 -7
  180. package/lib/src/app/samples/sampleDataAdapter.d.ts.map +0 -1
  181. package/lib/src/app/samples/transcript/types.d.ts +0 -9
  182. package/lib/src/app/samples/transcript/types.d.ts.map +0 -1
  183. package/lib/src/app/shared/openInNewTab.d.ts +0 -13
  184. package/lib/src/app/shared/openInNewTab.d.ts.map +0 -1
  185. package/lib/src/client/database/utils.d.ts +0 -3
  186. package/lib/src/client/database/utils.d.ts.map +0 -1
  187. package/lib/src/client/remote/zstd-worker-code.d.ts +0 -20
  188. package/lib/src/client/remote/zstd-worker-code.d.ts.map +0 -1
  189. package/lib/src/client/remote/zstd-worker.d.ts.map +0 -1
  190. package/lib/src/components/CodePanel.d.ts +0 -8
  191. package/lib/src/components/CodePanel.d.ts.map +0 -1
  192. package/lib/src/test/nodeBlobWorker.d.ts +0 -2
  193. package/lib/src/test/nodeBlobWorker.d.ts.map +0 -1
  194. package/lib/src/utils/debugging.d.ts +0 -3
  195. package/lib/src/utils/debugging.d.ts.map +0 -1
  196. package/lib/src-s8Cexy_j.js +0 -9977
  197. package/lib/src-s8Cexy_j.js.map +0 -1
@@ -0,0 +1,374 @@
1
+ import { jsx, jsxs } from "react/jsx-runtime";
2
+ import { c } from "react/compiler-runtime";
3
+ import { forwardRef } from "react";
4
+ //#region ../../packages/util/src/object.ts
5
+ var printObject = (val, size = 50) => {
6
+ const envelope = ["{", "}"];
7
+ const ellipsis = "…";
8
+ const separator = ", ";
9
+ const kvSeparator = ": ";
10
+ let remainingSize = size - (envelope[0]?.length || 0) - (envelope[1]?.length || 0);
11
+ const entries = Object.entries(val);
12
+ const headItems = [];
13
+ const tailItems = [];
14
+ let headIdx = 0;
15
+ let tailIdx = entries.length - 1;
16
+ while (headIdx <= tailIdx) {
17
+ const headPair = `${entries[headIdx]?.[0]}${kvSeparator}${JSON.stringify(entries[headIdx]?.[1])}`;
18
+ const tailPair = `${entries[tailIdx]?.[0]}${kvSeparator}${JSON.stringify(entries[tailIdx]?.[1])}`;
19
+ if (headIdx === tailIdx) {
20
+ if (headPair.length <= remainingSize) headItems.push(headPair);
21
+ else headItems.push(ellipsis);
22
+ break;
23
+ }
24
+ const bothSize = headPair.length + tailPair.length + 2;
25
+ if (bothSize <= remainingSize) {
26
+ headItems.push(headPair);
27
+ tailItems.unshift(tailPair);
28
+ remainingSize -= bothSize;
29
+ headIdx++;
30
+ tailIdx--;
31
+ } else if (headPair.length + 2 + 1 <= remainingSize) {
32
+ headItems.push(headPair);
33
+ headItems.push(ellipsis);
34
+ break;
35
+ } else {
36
+ headItems.push(ellipsis);
37
+ break;
38
+ }
39
+ }
40
+ if (headItems.length === 0 && entries.length > 0) {
41
+ const firstPair = `${entries[0]?.[0]}${kvSeparator}${JSON.stringify(entries[0]?.[1])}`;
42
+ const truncateSize = remainingSize - 1 - 2;
43
+ if (truncateSize > 0) {
44
+ headItems.push(firstPair.slice(0, truncateSize) + ellipsis);
45
+ headItems.push(ellipsis);
46
+ } else headItems.push(ellipsis);
47
+ }
48
+ const allItems = [...headItems, ...tailItems];
49
+ return envelope[0] + allItems.join(separator) + envelope[1];
50
+ };
51
+ /**
52
+ * Own-property read of a string-keyed record. Plain indexing walks the
53
+ * prototype chain, so a key taken from untrusted data (a log's uuid, score
54
+ * name, attachment id, ...) that happens to be `constructor`, `toString` or
55
+ * `__proto__` resolves to a builtin instead of "absent"; this returns
56
+ * `undefined` for any key the record does not own.
57
+ */ var getOwn = (record, key) => record !== void 0 && Object.hasOwn(record, key) ? record[key] : void 0;
58
+ /**
59
+ * Record with a null prototype built from a Map. `Object.fromEntries` alone
60
+ * only makes *present* keys own properties; an absent prototype-named key
61
+ * would still resolve through Object.prototype at read sites, and a present
62
+ * `__proto__` key could not be assigned onto a plain object at all.
63
+ */ var nullProtoRecord = (entries) => {
64
+ const record = Object.fromEntries(entries);
65
+ Object.setPrototypeOf(record, null);
66
+ return record;
67
+ };
68
+ //#endregion
69
+ //#region ../../node_modules/.pnpm/clsx@2.1.1/node_modules/clsx/dist/clsx.mjs
70
+ function r(e) {
71
+ var t, f, n = "";
72
+ if ("string" == typeof e || "number" == typeof e) n += e;
73
+ else if ("object" == typeof e) if (Array.isArray(e)) {
74
+ var o = e.length;
75
+ for (t = 0; t < o; t++) e[t] && (f = r(e[t])) && (n && (n += " "), n += f);
76
+ } else for (f in e) e[f] && (n && (n += " "), n += f);
77
+ return n;
78
+ }
79
+ function clsx() {
80
+ for (var e, t, f = 0, n = "", o = arguments.length; f < o; f++) (e = arguments[f]) && (t = r(e)) && (n && (n += " "), n += t);
81
+ return n;
82
+ }
83
+ //#endregion
84
+ //#region ../../packages/react/src/icons/icons.ts
85
+ /**
86
+ * Every icon the apps and shared packages render, keyed by meaning. Values
87
+ * are Bootstrap Icons classes, except the search toggles (Codicons, to match
88
+ * VS Code's find widget) and the `ii` classes (our own SVGs, see icons.css).
89
+ */ var iconClasses = {
90
+ activity: "bi bi-activity",
91
+ add: "bi bi-plus-lg",
92
+ agent: "bi bi-grid",
93
+ approvalApprove: "bi bi-shield-check",
94
+ approvalEscalate: "bi bi-box-arrow-up",
95
+ approvalModify: "bi bi-pencil-square",
96
+ approvalReject: "bi bi-shield-x",
97
+ approvalTerminate: "bi bi-shield-exclamation",
98
+ approve: "bi bi-shield",
99
+ arrowDown: "bi bi-arrow-down",
100
+ arrowDownUp: "bi bi-arrow-down-up",
101
+ arrowRight: "bi bi-arrow-right",
102
+ arrowUp: "bi bi-arrow-up",
103
+ cancel: "bi bi-x-circle",
104
+ changeAdd: "bi bi-plus",
105
+ changeRemove: "bi bi-dash",
106
+ checkboxChecked: "bi bi-check-circle",
107
+ checkboxUnchecked: "bi bi-circle",
108
+ checkpoint: "bi bi-bookmark-check-fill",
109
+ chevronDown: "bi bi-chevron-down",
110
+ chevronLeft: "bi bi-chevron-left",
111
+ chevronRight: "bi bi-chevron-right",
112
+ chevronUp: "bi bi-chevron-up",
113
+ clearText: "bi bi-x-circle-fill",
114
+ close: "bi bi-x",
115
+ closeLarge: "bi bi-x-lg",
116
+ code: "bi bi-code-slash",
117
+ codeSquare: "bi bi-code-square",
118
+ collapseAll: "bi bi-arrows-collapse",
119
+ columns: "bi bi-layout-three-columns",
120
+ compaction: "bi bi-arrows-collapse-vertical",
121
+ computer: "bi bi-display",
122
+ config: "bi bi-gear",
123
+ confirm: "bi bi-check",
124
+ copy: "bi bi-copy",
125
+ display: "bi bi-card-text",
126
+ download: "bi bi-download",
127
+ edit: "bi bi-pencil-square",
128
+ error: "bi bi-exclamation-circle-fill",
129
+ exclamation: "bi bi-exclamation",
130
+ expandAll: "bi bi-arrows-expand",
131
+ file: "bi bi-file-code",
132
+ fileImage: "bi bi-file-image",
133
+ filePdf: "bi bi-file-pdf",
134
+ fileText: "bi bi-file-earmark-text",
135
+ fileUnknown: "bi bi-file-earmark",
136
+ filter: "bi bi-funnel",
137
+ flag: "bi bi-flag-fill",
138
+ flow: "ii inspect-flow",
139
+ focusEnter: "bi bi-arrows-angle-expand",
140
+ focusExit: "bi bi-arrows-angle-contract",
141
+ folder: "bi bi-folder",
142
+ fork: "bi bi-sign-intersection-y-fill",
143
+ globe: "bi bi-globe2",
144
+ graph: "bi bi-graph-up",
145
+ gridView: "bi bi-grid-3x3-gap",
146
+ help: "bi bi-question-circle",
147
+ highlight: "bi bi-highlighter",
148
+ history: "bi bi-clock-history",
149
+ info: "bi bi-info-circle",
150
+ input: "bi bi-terminal",
151
+ inspectFile: "ii inspect-icon-file",
152
+ interrupt: "bi bi-slash-circle",
153
+ lightbulb: "bi bi-lightbulb",
154
+ limitCost: "bi bi-currency-dollar",
155
+ limitCustom: "bi bi-exclamation-triangle",
156
+ limitExecution: "bi bi-stopwatch",
157
+ limitMessages: "bi bi-chat-right-text",
158
+ limitOperator: "bi bi-person-workspace",
159
+ limitTime: "bi bi-clock",
160
+ limitTokens: "bi bi-list",
161
+ limitTurns: "bi bi-arrow-repeat",
162
+ link: "bi bi-link-45deg",
163
+ listCheck: "bi bi-list-check",
164
+ listView: "bi bi-list-ul",
165
+ loading: "bi bi-arrow-clockwise",
166
+ logCritical: "bi bi-fire",
167
+ logDebug: "bi bi-bug",
168
+ logError: "bi bi-x-circle",
169
+ logHttp: "bi bi-download",
170
+ logInfo: "bi bi-info-square",
171
+ logNotset: "bi bi-card-text",
172
+ logWarning: "bi bi-exclamation-triangle",
173
+ matchCase: "codicon codicon-case-sensitive",
174
+ matchRegex: "codicon codicon-regex",
175
+ matchWholeWord: "codicon codicon-whole-word",
176
+ metrics: "bi bi-clipboard-data",
177
+ model: "bi bi-grid-3x3-gap",
178
+ move: "bi bi-box-arrow-right",
179
+ navBack: "ii inspect-icon-back",
180
+ navForward: "ii inspect-icon-forward",
181
+ navHome: "ii inspect-icon-home",
182
+ navTasks: "ii inspect-icon-tasks",
183
+ next: "bi bi-chevron-right",
184
+ noSamples: "bi bi-ban",
185
+ options: "bi bi-gear",
186
+ pencil: "bi bi-pencil",
187
+ pendingTask: "bi bi-clock-fill",
188
+ pendingTaskSubtle: "bi bi-clock",
189
+ people: "bi bi-people",
190
+ play: "bi bi-play-fill",
191
+ playCircle: "bi bi-play-circle-fill",
192
+ plug: "bi bi-plug",
193
+ previous: "bi bi-chevron-left",
194
+ refresh: "bi bi-arrow-clockwise",
195
+ refuse: "bi bi-ban",
196
+ retry: "bi bi-arrow-repeat",
197
+ running: "bi bi-stars",
198
+ sample: "bi bi-database",
199
+ samples: "bi bi-file-spreadsheet",
200
+ sandbox: "bi bi-box-seam",
201
+ scanner: "bi bi-radar",
202
+ scorer: "bi bi-calculator",
203
+ search: "bi bi-search",
204
+ selectionChecked: "bi bi-check-lg",
205
+ selectionClear: "bi bi-x-lg",
206
+ selectionSelect: "bi bi-square",
207
+ selectionSelecting: "bi bi-check2-square",
208
+ sentinel: "bi bi-binoculars",
209
+ sentinelFill: "bi bi-binoculars-fill",
210
+ sidebar: "bi bi-list",
211
+ signpost: "bi bi-signpost-split",
212
+ solverDefault: "bi bi-arrow-return-right",
213
+ solverUseTools: "bi bi-tools",
214
+ sortDown: "bi bi-sort-down",
215
+ sortUp: "bi bi-sort-up",
216
+ success: "bi bi-check-circle-fill",
217
+ successSubtle: "bi bi-check-circle",
218
+ terminal: "bi bi-terminal",
219
+ themeDark: "bi bi-moon-stars-fill",
220
+ themeLight: "bi bi-sun-fill",
221
+ threeDots: "bi bi-three-dots",
222
+ toggleOff: "bi bi-toggle2-off",
223
+ toggleOn: "bi bi-toggle-on",
224
+ tools: "bi bi-tools",
225
+ transcript: "bi bi-list-columns-reverse",
226
+ trash: "bi bi-trash",
227
+ treeClosed: "bi bi-caret-right-fill",
228
+ treeOpen: "bi bi-caret-down-fill",
229
+ validation: "bi bi-patch-check",
230
+ warning: "bi bi-exclamation-triangle",
231
+ window: "bi bi-window",
232
+ wrap: "bi bi-text-wrap"
233
+ };
234
+ var kLogLevelIcons = nullProtoRecord(/* @__PURE__ */ new Map([
235
+ ["notset", "logNotset"],
236
+ ["debug", "logDebug"],
237
+ ["http", "logHttp"],
238
+ ["info", "logInfo"],
239
+ ["warning", "logWarning"],
240
+ ["error", "logError"],
241
+ ["critical", "logCritical"]
242
+ ]));
243
+ /** Icon for a logger level; `undefined` for a level we don't recognise. */ var logLevelIcon = (level) => kLogLevelIcons[level.toLowerCase()];
244
+ var iconForMimeType = (mimeType) => {
245
+ if (mimeType === "application/pdf") return "filePdf";
246
+ else if (mimeType.startsWith("image/")) return "fileImage";
247
+ else return "fileUnknown";
248
+ };
249
+ //#endregion
250
+ //#region ../../packages/react/src/icons/Icon.tsx
251
+ /** Decorative by default; pass `aria-hidden={false}` with an `aria-label` when the icon carries meaning on its own. */ var Icon = (t0) => {
252
+ const $ = c(10);
253
+ let className;
254
+ let name;
255
+ let rest;
256
+ if ($[0] !== t0) {
257
+ ({name, className, ...rest} = t0);
258
+ $[0] = t0;
259
+ $[1] = className;
260
+ $[2] = name;
261
+ $[3] = rest;
262
+ } else {
263
+ className = $[1];
264
+ name = $[2];
265
+ rest = $[3];
266
+ }
267
+ const t1 = iconClasses[name];
268
+ let t2;
269
+ if ($[4] !== className || $[5] !== t1) {
270
+ t2 = clsx(t1, className);
271
+ $[4] = className;
272
+ $[5] = t1;
273
+ $[6] = t2;
274
+ } else t2 = $[6];
275
+ let t3;
276
+ if ($[7] !== rest || $[8] !== t2) {
277
+ t3 = /*#__PURE__*/ jsx("i", {
278
+ "aria-hidden": "true",
279
+ ...rest,
280
+ className: t2
281
+ });
282
+ $[7] = rest;
283
+ $[8] = t2;
284
+ $[9] = t3;
285
+ } else t3 = $[9];
286
+ return t3;
287
+ };
288
+ var AnsiDisplay_module_default = {
289
+ ansiDisplayContainer: "_ansiDisplayContainer_33le5_1",
290
+ ansiDisplay: "_ansiDisplay_33le5_1",
291
+ ansiDisplayRaw: "_ansiDisplayRaw_33le5_28",
292
+ "ansi-display-run-blink": "_ansi-display-run-blink_33le5_1"
293
+ };
294
+ var ToolButton_module_default = {
295
+ toolButton: "_toolButton_13erz_1",
296
+ marginRight: "_marginRight_13erz_7",
297
+ subtle: "_subtle_13erz_19",
298
+ latched: "_latched_13erz_23"
299
+ };
300
+ //#endregion
301
+ //#region ../../packages/react/src/components/ToolButton.tsx
302
+ var ToolButton = /*#__PURE__*/ forwardRef((t0, ref) => {
303
+ const $ = c(22);
304
+ let className;
305
+ let icon;
306
+ let label;
307
+ let latched;
308
+ let rest;
309
+ let subtle;
310
+ let t1;
311
+ if ($[0] !== t0) {
312
+ ({label, classes: t1, icon, className, latched, subtle, ...rest} = t0);
313
+ $[0] = t0;
314
+ $[1] = className;
315
+ $[2] = icon;
316
+ $[3] = label;
317
+ $[4] = latched;
318
+ $[5] = rest;
319
+ $[6] = subtle;
320
+ $[7] = t1;
321
+ } else {
322
+ className = $[1];
323
+ icon = $[2];
324
+ label = $[3];
325
+ latched = $[4];
326
+ rest = $[5];
327
+ subtle = $[6];
328
+ t1 = $[7];
329
+ }
330
+ const classes = t1 === void 0 ? "" : t1;
331
+ const t2 = latched ? ToolButton_module_default.latched : void 0;
332
+ const t3 = subtle ? ToolButton_module_default.subtle : void 0;
333
+ let t4;
334
+ if ($[8] !== className || $[9] !== classes || $[10] !== t2 || $[11] !== t3) {
335
+ t4 = clsx("btn", "btn-tools", ToolButton_module_default.toolButton, classes, className, t2, t3);
336
+ $[8] = className;
337
+ $[9] = classes;
338
+ $[10] = t2;
339
+ $[11] = t3;
340
+ $[12] = t4;
341
+ } else t4 = $[12];
342
+ let t5;
343
+ if ($[13] !== icon || $[14] !== label) {
344
+ t5 = icon && /*#__PURE__*/ jsx(Icon, {
345
+ name: icon,
346
+ className: label ? ToolButton_module_default.marginRight : void 0
347
+ });
348
+ $[13] = icon;
349
+ $[14] = label;
350
+ $[15] = t5;
351
+ } else t5 = $[15];
352
+ let t6;
353
+ if ($[16] !== label || $[17] !== ref || $[18] !== rest || $[19] !== t4 || $[20] !== t5) {
354
+ t6 = /*#__PURE__*/ jsxs("button", {
355
+ ref,
356
+ type: "button",
357
+ className: t4,
358
+ ...rest,
359
+ children: [t5, label]
360
+ });
361
+ $[16] = label;
362
+ $[17] = ref;
363
+ $[18] = rest;
364
+ $[19] = t4;
365
+ $[20] = t5;
366
+ $[21] = t6;
367
+ } else t6 = $[21];
368
+ return t6;
369
+ });
370
+ ToolButton.displayName = "ToolButton";
371
+ //#endregion
372
+ export { logLevelIcon as a, nullProtoRecord as c, iconForMimeType as i, printObject as l, AnsiDisplay_module_default as n, clsx as o, Icon as r, getOwn as s, ToolButton as t };
373
+
374
+ //# sourceMappingURL=ToolButton-BGW3G4cu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ToolButton-BGW3G4cu.js","names":["printObject","val","size","envelope","ellipsis","separator","kvSeparator","remainingSize","length","entries","Object","headItems","tailItems","headIdx","tailIdx","headPair","JSON","stringify","tailPair","push","bothSize","unshift","firstPair","truncateSize","slice","allItems","join","getOwn","record","key","undefined","hasOwn","nullProtoRecord","fromEntries","setPrototypeOf","nullProtoRecord","iconClasses","activity","add","agent","approvalApprove","approvalEscalate","approvalModify","approvalReject","approvalTerminate","approve","arrowDown","arrowDownUp","arrowRight","arrowUp","cancel","changeAdd","changeRemove","checkboxChecked","checkboxUnchecked","checkpoint","chevronDown","chevronLeft","chevronRight","chevronUp","clearText","close","closeLarge","code","codeSquare","collapseAll","columns","compaction","computer","config","confirm","copy","display","download","edit","error","exclamation","expandAll","file","fileImage","filePdf","fileText","fileUnknown","filter","flag","flow","focusEnter","focusExit","folder","fork","globe","graph","gridView","help","highlight","history","info","input","inspectFile","interrupt","lightbulb","limitCost","limitCustom","limitExecution","limitMessages","limitOperator","limitTime","limitTokens","limitTurns","link","listCheck","listView","loading","logCritical","logDebug","logError","logHttp","logInfo","logNotset","logWarning","matchCase","matchRegex","matchWholeWord","metrics","model","move","navBack","navForward","navHome","navTasks","next","noSamples","options","pencil","pendingTask","pendingTaskSubtle","people","play","playCircle","plug","previous","refresh","refuse","retry","running","sample","samples","sandbox","scanner","scorer","search","selectionChecked","selectionClear","selectionSelect","selectionSelecting","sentinel","sentinelFill","sidebar","signpost","solverDefault","solverUseTools","sortDown","sortUp","success","successSubtle","terminal","themeDark","themeLight","threeDots","toggleOff","toggleOn","tools","transcript","trash","treeClosed","treeOpen","validation","warning","window","wrap","kLogLevelIcons","Map","logLevelIcon","level","toLowerCase","iconForMimeType","mimeType","startsWith","clsx","iconClasses","Icon","_c","clsx","forwardRef","Icon","styles","ToolButton","displayName","_c","styles"],"sources":["../../../packages/util/src/object.ts","../../../node_modules/.pnpm/clsx@2.1.1/node_modules/clsx/dist/clsx.mjs","../../../packages/react/src/icons/icons.ts","../../../packages/react/src/icons/Icon.tsx","../../../packages/react/src/components/AnsiDisplay.module.css","../../../packages/react/src/components/ToolButton.module.css","../../../packages/react/src/components/ToolButton.tsx"],"sourcesContent":["export const printObject = (val: object, size: number = 50): string => {\n const envelope = [\"{\", \"}\"];\n const ellipsis = \"…\";\n const separator = \", \";\n const kvSeparator = \": \";\n\n let remainingSize =\n size - (envelope[0]?.length || 0) - (envelope[1]?.length || 0);\n\n const entries = Object.entries(val);\n const headItems: string[] = [];\n const tailItems: string[] = [];\n\n let headIdx = 0;\n let tailIdx = entries.length - 1;\n\n while (headIdx <= tailIdx) {\n const headPair = `${entries[headIdx]?.[0]}${kvSeparator}${JSON.stringify(entries[headIdx]?.[1])}`;\n const tailPair = `${entries[tailIdx]?.[0]}${kvSeparator}${JSON.stringify(entries[tailIdx]?.[1])}`;\n\n // If we're at the same entry (middle of odd-length object)\n if (headIdx === tailIdx) {\n if (headPair.length <= remainingSize) {\n headItems.push(headPair);\n } else {\n headItems.push(ellipsis);\n }\n break;\n }\n\n // Try to fit both head and tail entries (with separator between them)\n const bothSize = headPair.length + tailPair.length + separator.length;\n\n if (bothSize <= remainingSize) {\n headItems.push(headPair);\n tailItems.unshift(tailPair);\n remainingSize -= bothSize;\n headIdx++;\n tailIdx--;\n } else if (\n headPair.length + separator.length + ellipsis.length <=\n remainingSize\n ) {\n // Can't fit both, but can fit head item plus ellipsis\n headItems.push(headPair);\n headItems.push(ellipsis);\n break;\n } else {\n // Can't even fit head item\n headItems.push(ellipsis);\n break;\n }\n }\n\n // If the first entry is too large, middle truncate it\n if (headItems.length === 0 && entries.length > 0) {\n const firstPair = `${entries[0]?.[0]}${kvSeparator}${JSON.stringify(entries[0]?.[1])}`;\n const truncateSize = remainingSize - ellipsis.length - separator.length;\n if (truncateSize > 0) {\n headItems.push(firstPair.slice(0, truncateSize) + ellipsis);\n headItems.push(ellipsis);\n } else {\n headItems.push(ellipsis);\n }\n }\n\n const allItems = [...headItems, ...tailItems];\n return envelope[0] + allItems.join(separator) + envelope[1];\n};\n\n/**\n * Own-property read of a string-keyed record. Plain indexing walks the\n * prototype chain, so a key taken from untrusted data (a log's uuid, score\n * name, attachment id, ...) that happens to be `constructor`, `toString` or\n * `__proto__` resolves to a builtin instead of \"absent\"; this returns\n * `undefined` for any key the record does not own.\n */\nexport const getOwn = <T>(\n record: Readonly<Record<string, T>> | undefined,\n key: string\n): T | undefined =>\n record !== undefined && Object.hasOwn(record, key) ? record[key] : undefined;\n\n/**\n * Record with a null prototype built from a Map. `Object.fromEntries` alone\n * only makes *present* keys own properties; an absent prototype-named key\n * would still resolve through Object.prototype at read sites, and a present\n * `__proto__` key could not be assigned onto a plain object at all.\n */\nexport const nullProtoRecord = <T>(\n entries: ReadonlyMap<string, T>\n): Record<string, T> => {\n // setPrototypeOf rather than Object.create + assign: fromEntries already\n // gives a correctly typed record, and Object.create returns `any`.\n const record = Object.fromEntries(entries);\n Object.setPrototypeOf(record, null);\n return record;\n};\n","function r(e){var t,f,n=\"\";if(\"string\"==typeof e||\"number\"==typeof e)n+=e;else if(\"object\"==typeof e)if(Array.isArray(e)){var o=e.length;for(t=0;t<o;t++)e[t]&&(f=r(e[t]))&&(n&&(n+=\" \"),n+=f)}else for(f in e)e[f]&&(n&&(n+=\" \"),n+=f);return n}export function clsx(){for(var e,t,f=0,n=\"\",o=arguments.length;f<o;f++)(e=arguments[f])&&(t=r(e))&&(n&&(n+=\" \"),n+=t);return n}export default clsx;","import \"bootstrap-icons/font/bootstrap-icons.css\";\nimport \"@vscode/codicons/dist/codicon.css\";\nimport \"./icons.css\";\n\nimport { nullProtoRecord } from \"@tsmono/util\";\n\n/**\n * Every icon the apps and shared packages render, keyed by meaning. Values\n * are Bootstrap Icons classes, except the search toggles (Codicons, to match\n * VS Code's find widget) and the `ii` classes (our own SVGs, see icons.css).\n */\nexport const iconClasses = {\n activity: \"bi bi-activity\",\n add: \"bi bi-plus-lg\",\n agent: \"bi bi-grid\",\n approvalApprove: \"bi bi-shield-check\",\n approvalEscalate: \"bi bi-box-arrow-up\",\n approvalModify: \"bi bi-pencil-square\",\n approvalReject: \"bi bi-shield-x\",\n approvalTerminate: \"bi bi-shield-exclamation\",\n approve: \"bi bi-shield\",\n arrowDown: \"bi bi-arrow-down\",\n arrowDownUp: \"bi bi-arrow-down-up\",\n arrowRight: \"bi bi-arrow-right\",\n arrowUp: \"bi bi-arrow-up\",\n cancel: \"bi bi-x-circle\",\n changeAdd: \"bi bi-plus\",\n changeRemove: \"bi bi-dash\",\n checkboxChecked: \"bi bi-check-circle\",\n checkboxUnchecked: \"bi bi-circle\",\n checkpoint: \"bi bi-bookmark-check-fill\",\n chevronDown: \"bi bi-chevron-down\",\n chevronLeft: \"bi bi-chevron-left\",\n chevronRight: \"bi bi-chevron-right\",\n chevronUp: \"bi bi-chevron-up\",\n clearText: \"bi bi-x-circle-fill\",\n close: \"bi bi-x\",\n closeLarge: \"bi bi-x-lg\",\n code: \"bi bi-code-slash\",\n codeSquare: \"bi bi-code-square\",\n collapseAll: \"bi bi-arrows-collapse\",\n columns: \"bi bi-layout-three-columns\",\n compaction: \"bi bi-arrows-collapse-vertical\",\n computer: \"bi bi-display\",\n config: \"bi bi-gear\",\n confirm: \"bi bi-check\",\n copy: \"bi bi-copy\",\n display: \"bi bi-card-text\",\n download: \"bi bi-download\",\n edit: \"bi bi-pencil-square\",\n error: \"bi bi-exclamation-circle-fill\",\n exclamation: \"bi bi-exclamation\",\n expandAll: \"bi bi-arrows-expand\",\n file: \"bi bi-file-code\",\n fileImage: \"bi bi-file-image\",\n filePdf: \"bi bi-file-pdf\",\n fileText: \"bi bi-file-earmark-text\",\n fileUnknown: \"bi bi-file-earmark\",\n filter: \"bi bi-funnel\",\n flag: \"bi bi-flag-fill\",\n flow: \"ii inspect-flow\",\n focusEnter: \"bi bi-arrows-angle-expand\",\n focusExit: \"bi bi-arrows-angle-contract\",\n folder: \"bi bi-folder\",\n fork: \"bi bi-sign-intersection-y-fill\",\n globe: \"bi bi-globe2\",\n graph: \"bi bi-graph-up\",\n gridView: \"bi bi-grid-3x3-gap\",\n help: \"bi bi-question-circle\",\n highlight: \"bi bi-highlighter\",\n history: \"bi bi-clock-history\",\n info: \"bi bi-info-circle\",\n input: \"bi bi-terminal\",\n inspectFile: \"ii inspect-icon-file\",\n interrupt: \"bi bi-slash-circle\",\n lightbulb: \"bi bi-lightbulb\",\n limitCost: \"bi bi-currency-dollar\",\n limitCustom: \"bi bi-exclamation-triangle\",\n limitExecution: \"bi bi-stopwatch\",\n limitMessages: \"bi bi-chat-right-text\",\n limitOperator: \"bi bi-person-workspace\",\n limitTime: \"bi bi-clock\",\n limitTokens: \"bi bi-list\",\n limitTurns: \"bi bi-arrow-repeat\",\n link: \"bi bi-link-45deg\",\n listCheck: \"bi bi-list-check\",\n listView: \"bi bi-list-ul\",\n loading: \"bi bi-arrow-clockwise\",\n logCritical: \"bi bi-fire\",\n logDebug: \"bi bi-bug\",\n logError: \"bi bi-x-circle\",\n logHttp: \"bi bi-download\",\n logInfo: \"bi bi-info-square\",\n logNotset: \"bi bi-card-text\",\n logWarning: \"bi bi-exclamation-triangle\",\n matchCase: \"codicon codicon-case-sensitive\",\n matchRegex: \"codicon codicon-regex\",\n matchWholeWord: \"codicon codicon-whole-word\",\n metrics: \"bi bi-clipboard-data\",\n model: \"bi bi-grid-3x3-gap\",\n move: \"bi bi-box-arrow-right\",\n navBack: \"ii inspect-icon-back\",\n navForward: \"ii inspect-icon-forward\",\n navHome: \"ii inspect-icon-home\",\n navTasks: \"ii inspect-icon-tasks\",\n next: \"bi bi-chevron-right\",\n noSamples: \"bi bi-ban\",\n options: \"bi bi-gear\",\n pencil: \"bi bi-pencil\",\n pendingTask: \"bi bi-clock-fill\",\n pendingTaskSubtle: \"bi bi-clock\",\n people: \"bi bi-people\",\n play: \"bi bi-play-fill\",\n playCircle: \"bi bi-play-circle-fill\",\n plug: \"bi bi-plug\",\n previous: \"bi bi-chevron-left\",\n refresh: \"bi bi-arrow-clockwise\",\n refuse: \"bi bi-ban\",\n retry: \"bi bi-arrow-repeat\",\n running: \"bi bi-stars\",\n sample: \"bi bi-database\",\n samples: \"bi bi-file-spreadsheet\",\n sandbox: \"bi bi-box-seam\",\n scanner: \"bi bi-radar\",\n scorer: \"bi bi-calculator\",\n search: \"bi bi-search\",\n selectionChecked: \"bi bi-check-lg\",\n selectionClear: \"bi bi-x-lg\",\n selectionSelect: \"bi bi-square\",\n selectionSelecting: \"bi bi-check2-square\",\n sentinel: \"bi bi-binoculars\",\n sentinelFill: \"bi bi-binoculars-fill\",\n sidebar: \"bi bi-list\",\n signpost: \"bi bi-signpost-split\",\n solverDefault: \"bi bi-arrow-return-right\",\n solverUseTools: \"bi bi-tools\",\n sortDown: \"bi bi-sort-down\",\n sortUp: \"bi bi-sort-up\",\n success: \"bi bi-check-circle-fill\",\n successSubtle: \"bi bi-check-circle\",\n terminal: \"bi bi-terminal\",\n themeDark: \"bi bi-moon-stars-fill\",\n themeLight: \"bi bi-sun-fill\",\n threeDots: \"bi bi-three-dots\",\n toggleOff: \"bi bi-toggle2-off\",\n toggleOn: \"bi bi-toggle-on\",\n tools: \"bi bi-tools\",\n transcript: \"bi bi-list-columns-reverse\",\n trash: \"bi bi-trash\",\n treeClosed: \"bi bi-caret-right-fill\",\n treeOpen: \"bi bi-caret-down-fill\",\n validation: \"bi bi-patch-check\",\n warning: \"bi bi-exclamation-triangle\",\n window: \"bi bi-window\",\n wrap: \"bi bi-text-wrap\",\n} as const;\n\nexport type IconName = keyof typeof iconClasses;\n\nconst kLogLevelIcons = nullProtoRecord(\n new Map<string, IconName>([\n [\"notset\", \"logNotset\"],\n [\"debug\", \"logDebug\"],\n [\"http\", \"logHttp\"],\n [\"info\", \"logInfo\"],\n [\"warning\", \"logWarning\"],\n [\"error\", \"logError\"],\n [\"critical\", \"logCritical\"],\n ])\n);\n\n/** Icon for a logger level; `undefined` for a level we don't recognise. */\nexport const logLevelIcon = (level: string): IconName | undefined =>\n kLogLevelIcons[level.toLowerCase()];\n\nexport const iconForMimeType = (mimeType: string): IconName => {\n if (mimeType === \"application/pdf\") {\n return \"filePdf\";\n } else if (mimeType.startsWith(\"image/\")) {\n return \"fileImage\";\n } else {\n return \"fileUnknown\";\n }\n};\n","import clsx from \"clsx\";\nimport { ComponentPropsWithoutRef, FC } from \"react\";\n\nimport { iconClasses, IconName } from \"./icons\";\n\nexport interface IconProps extends Omit<\n ComponentPropsWithoutRef<\"i\">,\n \"children\"\n> {\n name: IconName;\n}\n\n/** Decorative by default; pass `aria-hidden={false}` with an `aria-label` when the icon carries meaning on its own. */\nexport const Icon: FC<IconProps> = ({ name, className, ...rest }) => (\n <i\n aria-hidden=\"true\"\n {...rest}\n className={clsx(iconClasses[name], className)}\n />\n);\n",".ansiDisplayContainer {\n position: relative;\n width: 100%;\n}\n\n.ansiDisplay {\n font-family: monospace;\n white-space: pre-wrap;\n line-height: normal;\n --ansiBlack: #000000;\n --ansiRed: #cd3131;\n --ansiGreen: #00bc00;\n --ansiYellow: #949800;\n --ansiBlue: #0451a5;\n --ansiMagenta: #bc05bc;\n --ansiCyan: #0598bc;\n --ansiWhite: #555555;\n --ansiBrightBlack: #666666;\n --ansiBrightRed: #cd3131;\n --ansiBrightGreen: #14ce14;\n --ansiBrightYellow: #b5ba00;\n --ansiBrightBlue: #0451a5;\n --ansiBrightMagenta: #bc05bc;\n --ansiBrightCyan: #0598bc;\n --ansiBrightWhite: #a5a5a5;\n}\n\n.ansiDisplayRaw {\n margin: 0;\n white-space: pre-wrap;\n}\n\n:global(.dark-mode) .ansiDisplay {\n --ansiBlack: #000000;\n --ansiRed: #cd3131;\n --ansiGreen: #0dbc79;\n --ansiYellow: #e5e510;\n --ansiBlue: #2472c8;\n --ansiMagenta: #bc3fbc;\n --ansiCyan: #11a8cd;\n --ansiWhite: #e5e5e5;\n --ansiBrightBlack: #666666;\n --ansiBrightRed: #f14c4c;\n --ansiBrightGreen: #23d18b;\n --ansiBrightYellow: #f5f543;\n --ansiBrightBlue: #3b8eea;\n --ansiBrightMagenta: #d670d6;\n --ansiBrightCyan: #29b8db;\n --ansiBrightWhite: #e5e5e5;\n}\n\n@keyframes ansi-display-run-blink {\n 50% {\n opacity: 0;\n }\n}\n",":global(.btn).toolButton {\n background-color: var(--bs-light-border-subtle);\n border: 1px solid var(--bs-border-color);\n white-space: nowrap;\n}\n\n.marginRight {\n margin-right: 0.5em;\n}\n\n.toolButton:focus {\n outline: none;\n box-shadow:\n 0 0 0 2px rgba(var(--bs-primary-rgb), 0.5),\n inset 0 2px 4px rgba(0, 0, 0, 0.15),\n inset 0 1px 2px rgba(0, 0, 0, 0.1);\n}\n\n:global(.btn).toolButton.subtle {\n background-color: var(--bs-light);\n}\n\n:global(.btn).toolButton.latched,\n:global(.btn).toolButton.latched:hover {\n background-color: var(--bs-secondary-bg);\n box-shadow:\n inset 0 2px 4px rgba(0, 0, 0, 0.15),\n inset 0 1px 2px rgba(0, 0, 0, 0.1);\n}\n","import clsx from \"clsx\";\nimport { ButtonHTMLAttributes, forwardRef, ReactNode } from \"react\";\n\nimport { Icon, IconName } from \"../icons\";\n\nimport styles from \"./ToolButton.module.css\";\n\ninterface ToolButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {\n label?: string | ReactNode;\n classes?: string;\n icon?: IconName;\n latched?: boolean;\n subtle?: boolean;\n}\n\nexport const ToolButton = forwardRef<HTMLButtonElement, ToolButtonProps>(\n ({ label, classes = \"\", icon, className, latched, subtle, ...rest }, ref) => {\n // Combine class names, ensuring default classes are applied first\n\n return (\n <button\n ref={ref}\n type=\"button\"\n className={clsx(\n \"btn\",\n \"btn-tools\",\n styles.toolButton,\n classes,\n className,\n latched ? styles.latched : undefined,\n subtle ? styles.subtle : undefined\n )}\n {...rest}\n >\n {icon && (\n <Icon\n name={icon}\n className={label ? styles.marginRight : undefined}\n />\n )}\n {label}\n </button>\n );\n }\n);\n\n// Add display name for debugging purposes\nToolButton.displayName = \"ToolButton\";\n"],"ignoreList":[1],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=csp.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"csp.spec.d.ts","sourceRoot":"","sources":["../../../e2e/csp/csp.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,10 @@
1
+ import { EvalLog } from '@tsmono/inspect-common/types';
2
+ export declare const kProbeHost = "probe.csp.test";
3
+ export declare const kTerminalText = "csp-terminal-ok";
4
+ export declare const kBrokenPngDataUri = "data:image/png;base64,AAAA";
5
+ /** Media and a human-baseline terminal, big enough for the JSON worker. */
6
+ export declare const mainLog: EvalLog;
7
+ /** Rendering vectors that must neither run script nor reach the probe host. */
8
+ export declare const kCanaryMarkdown: string;
9
+ export declare const canaryLog: EvalLog;
10
+ //# sourceMappingURL=cspLogs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cspLogs.d.ts","sourceRoot":"","sources":["../../../e2e/csp/cspLogs.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAC;AAM5D,eAAO,MAAM,UAAU,mBAAmB,CAAC;AAG3C,eAAO,MAAM,aAAa,oBAAoB,CAAC;AAM/C,eAAO,MAAM,iBAAiB,+BAA+B,CAAC;AAO9D,2EAA2E;AAC3E,eAAO,MAAM,OAAO,EAAE,OA8CpB,CAAC;AASH,+EAA+E;AAC/E,eAAO,MAAM,eAAe,QAkBd,CAAC;AAEf,eAAO,MAAM,SAAS,EAAE,OAUtB,CAAC"}
@@ -0,0 +1,3 @@
1
+ export declare const kWavDataUri = "data:audio/wav;base64,UklGRoYGAABXQVZFZm10IBAAAAABAAEAQB8AAEAfAAABAAgATElTVBoAAABJTkZPSVNGVA0AAABMYXZmNjMuMS4xMDIAAGRhdGFABgAAgIWKjY+PjoqFgHt2cnBwcXV5foSJjY+PjouGgXx3c3BwcXR4fYOIjI+PjoyHgn13c3BwcHN3fYKHi46Pj4yIg314dHFwcHN3fIGGi46Pj42JhH55dXFwcHJ2e4CFio6Pj42KhYB6dXJwcHF1en+EiY2Pj46KhoF7dnJwcHF0eX6DiIyPj46Lh4J8d3NwcHF0eH2CiIyPj4+MiIN9eHRxcHBzd3yCh4uOj4+MiIN+eXRxcHBydnuBhoqOj4+NiYR/enVxcHBydXqAhYqNj4+OioWAe3ZycHBxdXl+hImNj4+Oi4aBfHdzcHBxdHh9g4iMj4+OjIeCfXdzcHBwc3d9goeLjo+PjIiDfXh0cXBwc3d8gYaLjo+PjYmEfnl1cXBwcnZ7gIWKjo+PjYqFgHp1cnBwcXV6f4SJjY+PjoqGgXt2cnBwcXR5foOIjI+PjouHgnx3c3BwcXR4fYKIjI+Pj4yIg314dHFwcHN3fIKHi46Pj4yIg355dHFwcHJ2e4GGio6Pj42JhH96dXFwcHJ1eoCFio2Pj46KhYB7dnJwcHF1eX6EiY2Pj46LhoF8d3NwcHF0eH2DiIyPj46Mh4J9d3NwcHBzd32Ch4uOj4+MiIN9eHRxcHBzd3yBhouOj4+NiYR+eXVxcHBydnuAhYqOj4+NioWAenVycHBxdXp/hImNj4+OioaBe3ZycHBxdHl+g4iMj4+Oi4eCfHdzcHBxdHh9goiMj4+PjIiDfXh0cXBwc3d8goeLjo+PjIiDfnl0cXBwcnZ7gYaKjo+PjYmEf3p1cXBwcnV6gIWKjY+PjoqFgHt2cnBwcXV5foSJjY+PjouGgXx3c3BwcXR4fYOIjI+PjoyHgn13c3BwcHN3fYKHi46Pj4yIg314dHFwcHN3fIGGi46Pj42JhH55dXFwcHJ2e4CFio6Pj42KhYB6dXJwcHF1en+EiY2Pj46KhoF7dnJwcHF0eX6DiIyPj46Lh4J8d3NwcHF0eH2CiIyPj4+MiIN9eHRxcHBzd3yCh4uOj4+MiIN+eXRxcHBydnuBhoqOj4+NiYR/enVxcHBydXqAhYqNj4+OioWAe3ZycHBxdXl+hImNj4+Oi4aBfHdzcHBxdHh9g4iMj4+OjIeCfXdzcHBwc3d9goeLjo+PjIiDfXh0cXBwc3d8gYaLjo+PjYmEfnl1cXBwcnZ7gIWKjo+PjYqFgHp1cnBwcXV6f4SJjY+PjoqGgXt2cnBwcXR5foOIjI+PjouHgnx3c3BwcXR4fYKIjI+Pj4yIg314dHFwcHN3fIKHi46Pj4yIg355dHFwcHJ2e4GGio6Pj42JhH96dXFwcHJ1eoCFio2Pj46KhYB7dnJwcHF1eX6EiY2Pj46LhoF8d3NwcHF0eH2DiIyPj46Mh4J9d3NwcHBzd32Ch4uOj4+MiIN9eHRxcHBzd3yBhouOj4+NiYR+eXVxcHBydnuAhYqOj4+NioWAenVycHBxdXp/hImNj4+OioaBe3ZycHBxdHl+g4iMj4+Oi4eCfHdzcHBxdHh9goiMj4+PjIiDfXh0cXBwc3d8goeLjo+PjIiDfnl0cXBwcnZ7gYaKjo+PjYmEf3p1cXBwcnV6gIWKjY+PjoqFgHt2cnBwcXV5foSJjY+PjouGgXx3c3BwcXR4fYOIjI+PjoyHgn13c3BwcHN3fYKHi46Pj4yIg314dHFwcHN3fIGGi46Pj42JhH55dXFwcHJ2e4CFio6Pj42KhYB6dXJwcHF1en+EiY2Pj46KhoF7dnJwcHF0eX6DiIyPj46Lh4J8d3NwcHF0eH2CiIyPj4+MiIN9eHRxcHBzd3yCh4uOj4+MiIN+eXRxcHBydnuBhoqOj4+NiYR/enVxcHBydXqAhYqNj4+OioWAe3ZycHBxdXl+hImNj4+Oi4aBfHdzcHBxdHh9g4iMj4+OjIeCfXdzcHBwc3d9goeLjo+PjIiDfXh0cXBwc3d8gYaLjo+PjYmEfnl1cXBwcnZ7gIWKjo+PjYqFgHp1cnBwcXV6f4SJjY+PjoqGgXt2cnBwcXR5foOIjI+PjouHgnx3c3BwcXR4fYKIjI+Pj4yIg314dHFwcHN3fIKHi46Pj4yIg355dHFwcHJ2e4GGio6Pj42JhH96dXFwcHJ1eg==";
2
+ export declare const kMp4DataUri = "data:video/mp4;base64,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";
3
+ //# sourceMappingURL=media.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"media.d.ts","sourceRoot":"","sources":["../../../e2e/csp/media.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,WAAW,2tEACksE,CAAC;AAE3tE,eAAO,MAAM,WAAW,+wFACsvF,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=expandable-panel-nested-toggles.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"expandable-panel-nested-toggles.spec.d.ts","sourceRoot":"","sources":["../../e2e/expandable-panel-nested-toggles.spec.ts"],"names":[],"mappings":""}
@@ -1,7 +1,18 @@
1
1
  import { NetworkFixture } from '@msw/playwright';
2
+ import { expect } from '@playwright/test';
3
+ declare global {
4
+ interface Window {
5
+ __reportCspViolation?: (violation: string) => void;
6
+ }
7
+ }
2
8
  interface AppFixtures {
3
9
  network: NetworkFixture;
10
+ /** Off for a test that triggers CSP violations on purpose; it then asserts
11
+ * `cspViolations` itself. */
12
+ allowCspViolations: boolean;
13
+ /** Every CSP violation a page in the test has reported so far. */
14
+ cspViolations: string[];
4
15
  }
5
16
  export declare const test: import('@playwright/test').TestType<import('@playwright/test').PlaywrightTestArgs & import('@playwright/test').PlaywrightTestOptions & AppFixtures, import('@playwright/test').PlaywrightWorkerArgs & import('@playwright/test').PlaywrightWorkerOptions>;
6
- export { expect } from '@playwright/test';
17
+ export { expect };
7
18
  //# sourceMappingURL=app.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../../e2e/fixtures/app.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,KAAK,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAK5E,UAAU,WAAW;IACnB,OAAO,EAAE,cAAc,CAAC;CACzB;AAED,eAAO,MAAM,IAAI,2PAmBf,CAAC;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../../e2e/fixtures/app.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,KAAK,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAC5E,OAAO,EAAgB,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAIxD,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,oBAAoB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;KACpD;CACF;AAED,UAAU,WAAW;IACnB,OAAO,EAAE,cAAc,CAAC;IACxB;kCAC8B;IAC9B,kBAAkB,EAAE,OAAO,CAAC;IAC5B,kEAAkE;IAClE,aAAa,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,eAAO,MAAM,IAAI,2PAoDf,CAAC;AAEH,OAAO,EAAE,MAAM,EAAE,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=message-selection.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message-selection.spec.d.ts","sourceRoot":"","sources":["../../e2e/message-selection.spec.ts"],"names":[],"mappings":""}