@elaraai/e3-ui-components 1.0.83 → 1.0.85

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 (190) hide show
  1. package/README.md +113 -6
  2. package/dist/components/DataTaskPreview.d.ts +35 -1
  3. package/dist/components/DataTaskPreview.d.ts.map +1 -1
  4. package/dist/components/DatasetPreview.d.ts +16 -0
  5. package/dist/components/DatasetPreview.d.ts.map +1 -1
  6. package/dist/components/InputPreview.d.ts +12 -0
  7. package/dist/components/InputPreview.d.ts.map +1 -1
  8. package/dist/components/PagedDatasetPreview.d.ts +15 -0
  9. package/dist/components/PagedDatasetPreview.d.ts.map +1 -1
  10. package/dist/components/TaskLogs.d.ts +19 -0
  11. package/dist/components/TaskLogs.d.ts.map +1 -1
  12. package/dist/components/TaskPreview.d.ts +24 -0
  13. package/dist/components/TaskPreview.d.ts.map +1 -1
  14. package/dist/components/UITaskPreview.d.ts +4 -1
  15. package/dist/components/UITaskPreview.d.ts.map +1 -1
  16. package/dist/components/VirtualizedLogViewer.d.ts +29 -1
  17. package/dist/components/VirtualizedLogViewer.d.ts.map +1 -1
  18. package/dist/components/controlled-search.d.ts +22 -0
  19. package/dist/components/controlled-search.d.ts.map +1 -0
  20. package/dist/components/preview-controls.d.ts +73 -0
  21. package/dist/components/preview-controls.d.ts.map +1 -0
  22. package/dist/diff/index.d.ts.map +1 -1
  23. package/dist/experiment/index.d.ts.map +1 -1
  24. package/dist/hooks/executions.d.ts +17 -0
  25. package/dist/hooks/executions.d.ts.map +1 -1
  26. package/dist/hooks/index.d.ts +1 -1
  27. package/dist/hooks/index.d.ts.map +1 -1
  28. package/dist/hooks/useDatasetValue.d.ts +19 -1
  29. package/dist/hooks/useDatasetValue.d.ts.map +1 -1
  30. package/dist/hooks/useTaskLogsHook.d.ts +67 -3
  31. package/dist/hooks/useTaskLogsHook.d.ts.map +1 -1
  32. package/dist/in-memory-call-7_3frW52.js +615 -0
  33. package/dist/in-memory-call-7_3frW52.js.map +1 -0
  34. package/dist/in-memory-call-_r5DJotS.cjs +614 -0
  35. package/dist/in-memory-call-_r5DJotS.cjs.map +1 -0
  36. package/dist/index.cjs +25860 -5731
  37. package/dist/index.cjs.map +1 -1
  38. package/dist/index.d.ts +14 -2
  39. package/dist/index.d.ts.map +1 -1
  40. package/dist/index.js +28383 -8253
  41. package/dist/index.js.map +1 -1
  42. package/dist/platform/bind-runtime.d.ts +18 -3
  43. package/dist/platform/bind-runtime.d.ts.map +1 -1
  44. package/dist/platform/dataset-hooks.d.ts +15 -3
  45. package/dist/platform/dataset-hooks.d.ts.map +1 -1
  46. package/dist/platform/dataset-store.d.ts +35 -7
  47. package/dist/platform/dataset-store.d.ts.map +1 -1
  48. package/dist/platform/e3-config.d.ts +26 -2
  49. package/dist/platform/e3-config.d.ts.map +1 -1
  50. package/dist/platform/func-runtime.d.ts +11 -5
  51. package/dist/platform/func-runtime.d.ts.map +1 -1
  52. package/dist/platform/index.d.ts +2 -2
  53. package/dist/platform/index.d.ts.map +1 -1
  54. package/dist/platform/paged-runtime.d.ts +46 -9
  55. package/dist/platform/paged-runtime.d.ts.map +1 -1
  56. package/dist/platform/record-runtime.d.ts +45 -7
  57. package/dist/platform/record-runtime.d.ts.map +1 -1
  58. package/dist/platform/recovery.d.ts +44 -0
  59. package/dist/platform/recovery.d.ts.map +1 -0
  60. package/dist/platform/staged-store.d.ts +16 -0
  61. package/dist/platform/staged-store.d.ts.map +1 -1
  62. package/dist/platform/tracked-channel.d.ts +12 -0
  63. package/dist/platform/tracked-channel.d.ts.map +1 -1
  64. package/dist/query/about.d.ts +50 -0
  65. package/dist/query/about.d.ts.map +1 -0
  66. package/dist/query/autocomplete.d.ts +112 -0
  67. package/dist/query/autocomplete.d.ts.map +1 -0
  68. package/dist/query/builder.d.ts +29 -0
  69. package/dist/query/builder.d.ts.map +1 -0
  70. package/dist/query/calls.d.ts +46 -0
  71. package/dist/query/calls.d.ts.map +1 -0
  72. package/dist/query/datasets-tab.d.ts +52 -0
  73. package/dist/query/datasets-tab.d.ts.map +1 -0
  74. package/dist/query/downloads.d.ts +29 -0
  75. package/dist/query/downloads.d.ts.map +1 -0
  76. package/dist/query/drops.d.ts +28 -0
  77. package/dist/query/drops.d.ts.map +1 -0
  78. package/dist/query/foot.d.ts +22 -0
  79. package/dist/query/foot.d.ts.map +1 -0
  80. package/dist/query/hooks.d.ts +265 -0
  81. package/dist/query/hooks.d.ts.map +1 -0
  82. package/dist/query/in-memory-call.d.ts +150 -0
  83. package/dist/query/in-memory-call.d.ts.map +1 -0
  84. package/dist/query/jq-editor.d.ts +34 -0
  85. package/dist/query/jq-editor.d.ts.map +1 -0
  86. package/dist/query/library-tab.d.ts +33 -0
  87. package/dist/query/library-tab.d.ts.map +1 -0
  88. package/dist/query/library.d.ts +20 -0
  89. package/dist/query/library.d.ts.map +1 -0
  90. package/dist/query/model/cards.d.ts +179 -0
  91. package/dist/query/model/cards.d.ts.map +1 -0
  92. package/dist/query/model/index.d.ts +19 -0
  93. package/dist/query/model/index.d.ts.map +1 -0
  94. package/dist/query/model/messages.d.ts +1253 -0
  95. package/dist/query/model/messages.d.ts.map +1 -0
  96. package/dist/query/model/refs.d.ts +92 -0
  97. package/dist/query/model/refs.d.ts.map +1 -0
  98. package/dist/query/model/slots.d.ts +213 -0
  99. package/dist/query/model/slots.d.ts.map +1 -0
  100. package/dist/query/model/summaries.d.ts +104 -0
  101. package/dist/query/model/summaries.d.ts.map +1 -0
  102. package/dist/query/model/words.d.ts +331 -0
  103. package/dist/query/model/words.d.ts.map +1 -0
  104. package/dist/query/one-shot.d.ts +266 -0
  105. package/dist/query/one-shot.d.ts.map +1 -0
  106. package/dist/query/open-query.d.ts +214 -0
  107. package/dist/query/open-query.d.ts.map +1 -0
  108. package/dist/query/parts.d.ts +115 -0
  109. package/dist/query/parts.d.ts.map +1 -0
  110. package/dist/query/plan-popover.d.ts +22 -0
  111. package/dist/query/plan-popover.d.ts.map +1 -0
  112. package/dist/query/plan.d.ts +353 -0
  113. package/dist/query/plan.d.ts.map +1 -0
  114. package/dist/query/query-east.d.ts +21 -0
  115. package/dist/query/query-east.d.ts.map +1 -0
  116. package/dist/query/query-tab.d.ts +21 -0
  117. package/dist/query/query-tab.d.ts.map +1 -0
  118. package/dist/query/results-table.d.ts +153 -0
  119. package/dist/query/results-table.d.ts.map +1 -0
  120. package/dist/query/results.d.ts +137 -0
  121. package/dist/query/results.d.ts.map +1 -0
  122. package/dist/query/run.d.ts +199 -0
  123. package/dist/query/run.d.ts.map +1 -0
  124. package/dist/query/save-popover.d.ts +29 -0
  125. package/dist/query/save-popover.d.ts.map +1 -0
  126. package/dist/query/session.d.ts +409 -0
  127. package/dist/query/session.d.ts.map +1 -0
  128. package/dist/query/shape-line.d.ts +21 -0
  129. package/dist/query/shape-line.d.ts.map +1 -0
  130. package/dist/query/source.d.ts +21 -0
  131. package/dist/query/source.d.ts.map +1 -0
  132. package/dist/query/status-line.d.ts +48 -0
  133. package/dist/query/status-line.d.ts.map +1 -0
  134. package/dist/query/step-card.d.ts +30 -0
  135. package/dist/query/step-card.d.ts.map +1 -0
  136. package/dist/query/steps/check.d.ts +162 -0
  137. package/dist/query/steps/check.d.ts.map +1 -0
  138. package/dist/query/steps/count.d.ts +49 -0
  139. package/dist/query/steps/count.d.ts.map +1 -0
  140. package/dist/query/steps/edit.d.ts +108 -0
  141. package/dist/query/steps/edit.d.ts.map +1 -0
  142. package/dist/query/steps/fields.d.ts +101 -0
  143. package/dist/query/steps/fields.d.ts.map +1 -0
  144. package/dist/query/steps/index.d.ts +22 -0
  145. package/dist/query/steps/index.d.ts.map +1 -0
  146. package/dist/query/steps/jq.d.ts +188 -0
  147. package/dist/query/steps/jq.d.ts.map +1 -0
  148. package/dist/query/steps/parse.d.ts +38 -0
  149. package/dist/query/steps/parse.d.ts.map +1 -0
  150. package/dist/query/steps/print.d.ts +195 -0
  151. package/dist/query/steps/print.d.ts.map +1 -0
  152. package/dist/query/steps/shape.d.ts +90 -0
  153. package/dist/query/steps/shape.d.ts.map +1 -0
  154. package/dist/query/steps/values.d.ts +85 -0
  155. package/dist/query/steps/values.d.ts.map +1 -0
  156. package/dist/query/toolbar.d.ts +56 -0
  157. package/dist/query/toolbar.d.ts.map +1 -0
  158. package/dist/query/use-query-editor.d.ts +153 -0
  159. package/dist/query/use-query-editor.d.ts.map +1 -0
  160. package/dist/query/use-query-session.d.ts +55 -0
  161. package/dist/query/use-query-session.d.ts.map +1 -0
  162. package/dist/query/words.d.ts +60 -0
  163. package/dist/query/words.d.ts.map +1 -0
  164. package/dist/query.cjs +16 -0
  165. package/dist/query.cjs.map +1 -0
  166. package/dist/query.js +16 -0
  167. package/dist/query.js.map +1 -0
  168. package/dist/shared/name-popover.d.ts +38 -0
  169. package/dist/shared/name-popover.d.ts.map +1 -0
  170. package/dist/studio/builder.d.ts +20 -0
  171. package/dist/studio/builder.d.ts.map +1 -0
  172. package/dist/studio/inspector.d.ts +18 -0
  173. package/dist/studio/inspector.d.ts.map +1 -0
  174. package/dist/studio/library.d.ts +20 -0
  175. package/dist/studio/library.d.ts.map +1 -0
  176. package/dist/studio/messages.d.ts +318 -0
  177. package/dist/studio/messages.d.ts.map +1 -0
  178. package/dist/studio/open-page.d.ts +13 -0
  179. package/dist/studio/open-page.d.ts.map +1 -0
  180. package/dist/studio/page.d.ts +61 -0
  181. package/dist/studio/page.d.ts.map +1 -0
  182. package/dist/studio/palette.d.ts +41 -0
  183. package/dist/studio/palette.d.ts.map +1 -0
  184. package/dist/studio/publish.d.ts +21 -0
  185. package/dist/studio/publish.d.ts.map +1 -0
  186. package/dist/studio/save-template.d.ts +18 -0
  187. package/dist/studio/save-template.d.ts.map +1 -0
  188. package/dist/studio/studio-east.d.ts +45 -0
  189. package/dist/studio/studio-east.d.ts.map +1 -0
  190. package/package.json +19 -14
package/README.md CHANGED
@@ -64,38 +64,145 @@ const { data } = useTaskList(apiUrl, repo, workspace, requestOptions, {
64
64
  });
65
65
  ```
66
66
 
67
+ ### Recovering a failed read
68
+
69
+ A view on a screen no one touches, such as a kiosk's, has no one to reload it.
70
+ `useQueryRecovery` tries a failed query again by itself while the view is
71
+ mounted, as every stage of `UITaskPreview` does. It waits a random point in the
72
+ second half of a backoff from 1 s to 30 s (`recoveryDelay`), and shows the
73
+ latest failure through each try, never loading again.
74
+
75
+ ```tsx
76
+ import { StatusDisplay, useQueryRecovery, useTaskGet } from '@elaraai/e3-ui-components';
77
+
78
+ const details = useTaskGet(apiUrl, repo, workspace, task);
79
+ const failure = useQueryRecovery(details); // null once it reads
80
+ if (failure !== null) return <StatusDisplay variant="error" title="Error" message={failure.message} />;
81
+ ```
82
+
67
83
  ## Components
68
84
 
69
85
  ### TaskPreview
70
86
 
71
- Displays task execution output and logs with a virtualized log viewer.
87
+ Previews a task by its role: a `ui()` task renders its UI; a data task shows its
88
+ output (Output) and its logs (Logs) under a band holding the Output/Logs switch.
89
+ Above the output are its key search, size and Download, and above its tree
90
+ Collapse all and Expand all; above the log, its stdout/stderr tabs, its search
91
+ and Copy.
72
92
 
73
93
  ```tsx
74
94
  import { TaskPreview } from '@elaraai/e3-ui-components';
75
95
 
76
- <TaskPreview apiUrl={url} workspace={ws} task={taskName} taskInfo={info} outputHash={hash} />
96
+ <TaskPreview apiUrl={url} repo="default" workspace={ws} task={taskName} />
97
+ ```
98
+
99
+ | Prop | Meaning |
100
+ |------|---------|
101
+ | `apiUrl`, `repo`, `workspace`, `task` | **required** — the task to preview |
102
+ | `requestOptions` | the token, and the `fetch` every request goes through |
103
+ | `bare` | no task-name header, and a `ui()` task's output edge to edge — for a kiosk |
104
+ | `toolbar` | `false` draws no band anywhere in a data task's preview — no switch, nothing above the output or its tree, nothing above the log, which fills the view edge to edge; the host draws the controls. Default `true` |
105
+ | `view`, `onViewChange` | a data task's tab, `'output'` or `'logs'`, controlled |
106
+ | `search`, `onSearchChange` | the output's key search, controlled: a given `search` is found and scrolled to (`''` clears), and the preview draws no search box of its own; otherwise `onSearchChange` hears the preview's own box |
107
+ | `logStream`, `onLogStreamChange` | the log's stream, `'stdout'` or `'stderr'`, controlled |
108
+ | `logSearch`, `onLogSearchChange` | the log's search, controlled: a given `logSearch` marks its matches, in any case, and scrolls to the first (`''` clears), and the log draws no search box, count or chevrons of its own; otherwise `onLogSearchChange` hears the log's own box |
109
+ | `onLogMatchesChange` | told `{ current, count }` — the log's match shown, from 0, and how many there are — whenever either changes |
110
+ | `controls` | the handle the host's own buttons act through, made with `usePreviewControls()` |
111
+
112
+ A host whose frame holds its controls in its header draws them itself and hides
113
+ the bands:
114
+
115
+ ```tsx
116
+ import {
117
+ TaskPreview, downloadDataset, formatSize, usePreviewControls, useDatasetStatus, useTaskDetails, type LogMatches,
118
+ } from '@elaraai/e3-ui-components';
119
+
120
+ const [view, setView] = useState<'output' | 'logs'>('output');
121
+ const [search, setSearch] = useState('');
122
+ const [stream, setStream] = useState<'stdout' | 'stderr'>('stdout');
123
+ const [logSearch, setLogSearch] = useState('');
124
+ const [matches, setMatches] = useState<LogMatches>({ current: 0, count: 0 });
125
+ const controls = usePreviewControls();
126
+ const details = useTaskDetails(url, 'default', ws, taskName);
127
+ const output = details.data?.output.path.map((step) => step.value).join('.') ?? null;
128
+ const status = useDatasetStatus(url, 'default', ws, output);
129
+
130
+ // In the header, at the header's size: the tab; on Output, the search, the size,
131
+ // Download, and Collapse all and Expand all; on Logs, the stream, the search,
132
+ // `${matches.current + 1}/${matches.count}`, the chevrons and Copy.
133
+ // In the body:
134
+ <TaskPreview apiUrl={url} repo="default" workspace={ws} task={taskName} bare
135
+ toolbar={false} view={view} onViewChange={setView} search={search}
136
+ logStream={stream} onLogStreamChange={setStream} logSearch={logSearch}
137
+ onLogMatchesChange={setMatches} controls={controls} />
138
+ // Download: downloadDataset(url, 'default', ws, output); the size: formatSize(status.data.sizeBytes)
139
+ // Collapse all: controls.collapseAll(); Expand all: controls.expandAll()
140
+ // The chevrons: controls.previousMatch(), controls.nextMatch(); Copy: controls.copyLog()
141
+ ```
142
+
143
+ `search` is read as the preview's own search box reads its text: a key's
144
+ prefix, a struct key's leading fields (`press, 2`), a `from..to` range, or a
145
+ whole key in `.east` syntax.
146
+
147
+ `usePreviewControls()` makes the handle. `collapseAll()` and `expandAll()` act
148
+ on the output's tree; `nextMatch()` and `previousMatch()` step through the
149
+ log's matches, from the last round to the first and back; and `copyLog()`
150
+ copies the log shown, resolving `true` once it is on the clipboard and `false`
151
+ when the clipboard refuses it. Each does nothing while its view is not shown —
152
+ the Output tab shows no log, and a value too large to show has no tree. A
153
+ handle serves one preview at a time, and holds no query, so a header outside
154
+ `<E3Provider>` can make it.
155
+
156
+ ### DatasetPreview
157
+
158
+ Shows a dataset's value: a tree, inline while it is small, a page at a time
159
+ for a read-only collection, and a Download for a value too large to show.
160
+ `editable` writes a mutable input's edits back. `toolbar`, `search`,
161
+ `onSearchChange` and `controls` are `TaskPreview`'s, for the value alone.
162
+
163
+ ```tsx
164
+ import { DatasetPreview } from '@elaraai/e3-ui-components';
165
+
166
+ <DatasetPreview apiUrl={url} repo="default" workspace={ws} path="inputs.threshold" editable />
77
167
  ```
78
168
 
79
169
  ### InputPreview
80
170
 
81
- Displays dataset input values with type-aware rendering.
171
+ Shows an input's value, editable, under a band naming the input.
82
172
 
83
173
  ```tsx
84
174
  import { InputPreview } from '@elaraai/e3-ui-components';
85
175
 
86
- <InputPreview apiUrl={url} workspace={ws} path={datasetPath} inputInfo={info} />
176
+ <InputPreview apiUrl={url} repo="default" workspace={ws} path=".inputs.threshold" />
87
177
  ```
88
178
 
179
+ `bare` draws no band naming the input, for a host whose frame names it, and
180
+ `toolbar`, `search`, `onSearchChange` and `controls` reach the value's
181
+ `DatasetPreview`.
182
+
89
183
  ### VirtualizedLogViewer
90
184
 
91
- Performant log viewer with search, copy, and auto-scroll.
185
+ A log, its lines virtualized, under a band holding the stdout/stderr tabs, a
186
+ search that marks its matches and steps through them, and Copy. It follows the
187
+ log's end while it is there, and says when new lines arrive while it is not.
92
188
 
93
189
  ```tsx
190
+ import { useTabs } from '@chakra-ui/react';
94
191
  import { VirtualizedLogViewer } from '@elaraai/e3-ui-components';
95
192
 
96
- <VirtualizedLogViewer lines={logLines} isLive={isRunning} />
193
+ const tabs = useTabs({ defaultValue: 'stdout' });
194
+
195
+ <VirtualizedLogViewer content={tabs.value === 'stderr' ? stderr : stdout} tabs={tabs} />
97
196
  ```
98
197
 
198
+ | Prop | Meaning |
199
+ |------|---------|
200
+ | `content`, `tabs` | **required** — the log's text, and the tabs `useTabs` makes |
201
+ | `toolbar` | `false` draws no band, and the log fills the view edge to edge, with no inset, corners or border. Default `true` |
202
+ | `search`, `onSearchChange` | the search, controlled, as `TaskPreview`'s `logSearch` |
203
+ | `onMatchesChange` | told `{ current, count }` whenever either changes |
204
+ | `controlsRef` | given a `LogViewerControls` — `nextMatch()`, `previousMatch()` and `copy()` — while the view is mounted |
205
+
99
206
  ### StatusDisplay
100
207
 
101
208
  Status feedback component with error, warning, info, and loading variants.
@@ -1,4 +1,6 @@
1
1
  import { RequestOptions } from '@elaraai/e3-api-client';
2
+ import { PreviewControls } from './preview-controls.js';
3
+ import { LogMatches } from './VirtualizedLogViewer.js';
2
4
  type ViewMode = 'output' | 'logs';
3
5
  export interface DataTaskPreviewProps {
4
6
  apiUrl: string;
@@ -6,10 +8,42 @@ export interface DataTaskPreviewProps {
6
8
  workspace: string;
7
9
  task: string;
8
10
  requestOptions?: RequestOptions;
9
- /** Initially selected tab. Default 'output'. */
11
+ /** Initially selected tab, when `view` is not given. Default 'output'. */
10
12
  initialView?: ViewMode;
13
+ /** The tab, controlled (#1120): the preview shows it, and tells
14
+ * `onViewChange` of a switch rather than making it. */
15
+ view?: ViewMode;
16
+ /** Told the tab the preview's switch picks. */
17
+ onViewChange?: (view: ViewMode) => void;
11
18
  /** Max output bytes to render inline (above → download button). Default 200KB. */
12
19
  sizeLimit?: number;
20
+ /** `false` draws no band — no Output/Logs switch; no key search, size or
21
+ * Download above the output (#1120), nor its tree's Collapse all and
22
+ * Expand all; and no tabs, search or Copy above the log, which fills the
23
+ * view (#1209). Default `true`. */
24
+ toolbar?: boolean;
25
+ /** The output's key search, controlled: see {@link DatasetPreviewProps.search}. */
26
+ search?: string;
27
+ /** Told the text of the output's own search box: see {@link DatasetPreviewProps.onSearchChange}. */
28
+ onSearchChange?: (search: string) => void;
29
+ /** The log's stream, controlled (#1209): the log's tabs show it, and tell
30
+ * `onLogStreamChange` of a click rather than switching. */
31
+ logStream?: 'stdout' | 'stderr';
32
+ /** Told the stream the log's tabs pick. */
33
+ onLogStreamChange?: (stream: 'stdout' | 'stderr') => void;
34
+ /** The log's search, controlled (#1209): the log draws no search box,
35
+ * count or chevrons of its own, marks the text's matches in any case and
36
+ * scrolls to the first; `''` clears. */
37
+ logSearch?: string;
38
+ /** Told the text of the log's own search box as it is edited, unless
39
+ * `logSearch` is given. */
40
+ onLogSearchChange?: (search: string) => void;
41
+ /** Told the log's match shown (from 0) and how many there are whenever
42
+ * either changes, for the host's "3/17" (#1209). */
43
+ onLogMatchesChange?: (matches: LogMatches) => void;
44
+ /** The handle a host's own controls act through, made with
45
+ * `usePreviewControls` (#1209). */
46
+ controls?: PreviewControls;
13
47
  }
14
48
  export declare const DataTaskPreview: import('react').NamedExoticComponent<DataTaskPreviewProps>;
15
49
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"DataTaskPreview.d.ts","sourceRoot":"","sources":["../../src/components/DataTaskPreview.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAiBH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAO7D,KAAK,QAAQ,GAAG,QAAQ,GAAG,MAAM,CAAC;AAElC,MAAM,WAAW,oBAAoB;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,gDAAgD;IAChD,WAAW,CAAC,EAAE,QAAQ,CAAC;IACvB,kFAAkF;IAClF,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAMD,eAAO,MAAM,eAAe,4DAoE1B,CAAC"}
1
+ {"version":3,"file":"DataTaskPreview.d.ts","sourceRoot":"","sources":["../../src/components/DataTaskPreview.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AA0BH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAM7D,OAAO,EAAiB,KAAK,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC5E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAE5D,KAAK,QAAQ,GAAG,QAAQ,GAAG,MAAM,CAAC;AAElC,MAAM,WAAW,oBAAoB;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,0EAA0E;IAC1E,WAAW,CAAC,EAAE,QAAQ,CAAC;IACvB;4DACwD;IACxD,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,+CAA+C;IAC/C,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC;IACxC,kFAAkF;IAClF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;wCAGoC;IACpC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,mFAAmF;IACnF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,oGAAoG;IACpG,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C;gEAC4D;IAC5D,SAAS,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAChC,2CAA2C;IAC3C,iBAAiB,CAAC,EAAE,CAAC,MAAM,EAAE,QAAQ,GAAG,QAAQ,KAAK,IAAI,CAAC;IAC1D;;6CAEyC;IACzC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;gCAC4B;IAC5B,iBAAiB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C;yDACqD;IACrD,kBAAkB,CAAC,EAAE,CAAC,OAAO,EAAE,UAAU,KAAK,IAAI,CAAC;IACnD;wCACoC;IACpC,QAAQ,CAAC,EAAE,eAAe,CAAC;CAC9B;AAMD,eAAO,MAAM,eAAe,4DAqG1B,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import { RequestOptions } from '@elaraai/e3-api-client';
2
2
  import { Formatters } from '@elaraai/east-ui-components';
3
+ import { PreviewControls } from './preview-controls.js';
3
4
  export interface DatasetPreviewProps {
4
5
  apiUrl: string;
5
6
  repo: string;
@@ -13,6 +14,21 @@ export interface DatasetPreviewProps {
13
14
  /** When set, leaf edits / inserts / removes / tag switches write back to
14
15
  * this dataset path (for mutable inputs). Task outputs stay read-only. */
15
16
  editable?: boolean;
17
+ /** `false` draws no band above the value — no key search, size or
18
+ * Download — for a host that draws them in its own header (#1120), and
19
+ * no Collapse all and Expand all above the tree (#1209). A value too
20
+ * large to show keeps its Download, which is the body. Default `true`. */
21
+ toolbar?: boolean;
22
+ /** The key search, controlled: the host draws its input, and the preview
23
+ * draws no search box of its own. The text is read in the key search's
24
+ * grammar and scrolled to its first match; `''` clears (#1120). */
25
+ search?: string;
26
+ /** Told the text of the preview's own search box as it is edited, unless
27
+ * `search` is given. */
28
+ onSearchChange?: (search: string) => void;
29
+ /** The handle a host's own Collapse all and Expand all act on the tree
30
+ * through, made with `usePreviewControls` (#1209). */
31
+ controls?: PreviewControls;
16
32
  }
17
33
  /**
18
34
  * Human-readable byte size, shared with the paged preview — its digits in the
@@ -1 +1 @@
1
- {"version":3,"file":"DatasetPreview.d.ts","sourceRoot":"","sources":["../../src/components/DatasetPreview.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAqBH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAG7D,OAAO,EAIH,KAAK,UAAU,EAKlB,MAAM,6BAA6B,CAAC;AAWrC,MAAM,WAAW,mBAAmB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,mDAAmD;IACnD,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,wEAAwE;IACxE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;+EAC2E;IAC3E,QAAQ,CAAC,EAAE,OAAO,CAAC;CACtB;AAOD;;;;;;;GAOG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,GAAE,UAAyB,GAAG,MAAM,CAIlF;AAED,oFAAoF;AACpF,wBAAgB,cAAc,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE;IAAE,OAAO,EAAE,MAAM,IAAI,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,2CAYzF;AAED,eAAO,MAAM,cAAc,2DAoOzB,CAAC"}
1
+ {"version":3,"file":"DatasetPreview.d.ts","sourceRoot":"","sources":["../../src/components/DatasetPreview.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AA0BH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAG7D,OAAO,EAIH,KAAK,UAAU,EAKlB,MAAM,6BAA6B,CAAC;AAQrC,OAAO,EAAkB,KAAK,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAK7E,MAAM,WAAW,mBAAmB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,mDAAmD;IACnD,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,wEAAwE;IACxE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;+EAC2E;IAC3E,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;+EAG2E;IAC3E,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;wEAEoE;IACpE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;6BACyB;IACzB,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C;2DACuD;IACvD,QAAQ,CAAC,EAAE,eAAe,CAAC;CAC9B;AAOD;;;;;;;GAOG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,GAAE,UAAyB,GAAG,MAAM,CAIlF;AAED,oFAAoF;AACpF,wBAAgB,cAAc,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE;IAAE,OAAO,EAAE,MAAM,IAAI,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,2CAYzF;AAED,eAAO,MAAM,cAAc,2DAsPzB,CAAC"}
@@ -1,10 +1,22 @@
1
1
  import { RequestOptions } from '@elaraai/e3-api-client';
2
+ import { DatasetPreviewProps } from './DatasetPreview.js';
2
3
  export interface InputPreviewProps {
3
4
  apiUrl: string;
4
5
  repo: string;
5
6
  workspace: string;
6
7
  path: string;
7
8
  requestOptions?: RequestOptions;
9
+ /** No band naming the input, for a host whose frame names it, as
10
+ * `TaskPreview`'s `bare` drops its own (#1209). Default `false`. */
11
+ bare?: boolean;
12
+ /** `false` draws no band above the value: see {@link DatasetPreviewProps.toolbar}. Default `true`. */
13
+ toolbar?: boolean;
14
+ /** The value's key search, controlled: see {@link DatasetPreviewProps.search}. */
15
+ search?: string;
16
+ /** Told the text of the value's own search box: see {@link DatasetPreviewProps.onSearchChange}. */
17
+ onSearchChange?: (search: string) => void;
18
+ /** The handle a host's own Collapse all and Expand all act through: see {@link DatasetPreviewProps.controls}. */
19
+ controls?: DatasetPreviewProps['controls'];
8
20
  }
9
21
  export declare const InputPreview: import('react').NamedExoticComponent<InputPreviewProps>;
10
22
  //# sourceMappingURL=InputPreview.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"InputPreview.d.ts","sourceRoot":"","sources":["../../src/components/InputPreview.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAG7D,MAAM,WAAW,iBAAiB;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,CAAC,EAAE,cAAc,CAAC;CACnC;AAED,eAAO,MAAM,YAAY,yDA6BuD,CAAC"}
1
+ {"version":3,"file":"InputPreview.d.ts","sourceRoot":"","sources":["../../src/components/InputPreview.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAiBH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAkB,KAAK,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAE/E,MAAM,WAAW,iBAAiB;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC;yEACqE;IACrE,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,sGAAsG;IACtG,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,kFAAkF;IAClF,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,mGAAmG;IACnG,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C,iHAAiH;IACjH,QAAQ,CAAC,EAAE,mBAAmB,CAAC,UAAU,CAAC,CAAC;CAC9C;AAED,eAAO,MAAM,YAAY,yDAgD6E,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import { DatasetPage, RequestOptions } from '@elaraai/e3-api-client';
2
2
  import { EastTypeValue } from '@elaraai/east';
3
3
  import { pruneRetainedPages } from '@elaraai/east-ui/internal';
4
+ import { PreviewControls } from './preview-controls.js';
4
5
  /**
5
6
  * The page size to address pages by, given one landed page (#829).
6
7
  *
@@ -38,6 +39,20 @@ export interface PagedDatasetPreviewProps {
38
39
  * contract). The parent falls back to the inline tree so pre-index
39
40
  * values keep rendering instead of dead-ending here. */
40
41
  onNotIndexed?: () => void;
42
+ /** `false` draws no band above the rows — no totals, key search or
43
+ * Download (#1120), nor the tree's Collapse all and Expand all (#1209).
44
+ * Default `true`. */
45
+ toolbar?: boolean;
46
+ /** The key search, controlled: found on the server as the search box
47
+ * finds a query, scrolled to its first match; the preview draws no
48
+ * search box of its own (#1120). */
49
+ search?: string;
50
+ /** Told the text of the preview's own search box as it is edited, unless
51
+ * `search` is given. */
52
+ onSearchChange?: (search: string) => void;
53
+ /** The handle a host's own Collapse all and Expand all act on the tree
54
+ * through (#1209). */
55
+ controls?: PreviewControls;
41
56
  }
42
57
  export declare const PagedDatasetPreview: import('react').NamedExoticComponent<PagedDatasetPreviewProps>;
43
58
  //# sourceMappingURL=PagedDatasetPreview.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"PagedDatasetPreview.d.ts","sourceRoot":"","sources":["../../src/components/PagedDatasetPreview.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAqBH,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC1E,OAAO,EAAwC,KAAK,aAAa,EAAE,MAAM,eAAe,CAAC;AAEzF,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAmB/D;;;;;;;;;;;;GAYG;AACH,wBAAgB,cAAc,CAC1B,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE,QAAQ,GAAG,OAAO,GAAG,eAAe,CAAC,GAC9D,MAAM,CAGR;AAWD;gFACgF;AAChF,OAAO,EAAE,kBAAkB,EAAE,CAAC;AAE9B,MAAM,WAAW,wBAAwB;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,8CAA8C;IAC9C,IAAI,EAAE,MAAM,CAAC;IACb,wDAAwD;IACxD,IAAI,EAAE,aAAa,CAAC;IACpB,wEAAwE;IACxE,IAAI,EAAE,MAAM,CAAC;IACb,oDAAoD;IACpD,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,oEAAoE;IACpE,UAAU,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACvC;;;6DAGyD;IACzD,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;CAC7B;AAiCD,eAAO,MAAM,mBAAmB,gEAgOiC,CAAC"}
1
+ {"version":3,"file":"PagedDatasetPreview.d.ts","sourceRoot":"","sources":["../../src/components/PagedDatasetPreview.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAqBH,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAC1E,OAAO,EAAwC,KAAK,aAAa,EAAE,MAAM,eAAe,CAAC;AAEzF,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAY/D,OAAO,EAAkB,KAAK,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAS7E;;;;;;;;;;;;GAYG;AACH,wBAAgB,cAAc,CAC1B,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,IAAI,CAAC,WAAW,EAAE,QAAQ,GAAG,OAAO,GAAG,eAAe,CAAC,GAC9D,MAAM,CAGR;AAWD;gFACgF;AAChF,OAAO,EAAE,kBAAkB,EAAE,CAAC;AAE9B,MAAM,WAAW,wBAAwB;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,8CAA8C;IAC9C,IAAI,EAAE,MAAM,CAAC;IACb,wDAAwD;IACxD,IAAI,EAAE,aAAa,CAAC;IACpB,wEAAwE;IACxE,IAAI,EAAE,MAAM,CAAC;IACb,oDAAoD;IACpD,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,oEAAoE;IACpE,UAAU,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACvC;;;6DAGyD;IACzD,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B;;0BAEsB;IACtB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;yCAEqC;IACrC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;6BACyB;IACzB,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C;2BACuB;IACvB,QAAQ,CAAC,EAAE,eAAe,CAAC;CAC9B;AAiCD,eAAO,MAAM,mBAAmB,gEA+OsE,CAAC"}
@@ -1,3 +1,6 @@
1
+ import { Ref } from 'react';
2
+ import { LogMatches } from './VirtualizedLogViewer.js';
3
+ import { LogViewerControls } from './preview-controls.js';
1
4
  import { RequestOptions } from '@elaraai/e3-api-client';
2
5
  export interface TaskLogsProps {
3
6
  apiUrl: string;
@@ -5,6 +8,22 @@ export interface TaskLogsProps {
5
8
  workspace: string;
6
9
  task: string;
7
10
  requestOptions?: RequestOptions;
11
+ /** The stream, controlled: the tabs show it, and a click tells
12
+ * `onStreamChange` rather than switching (#1209). The view's own,
13
+ * from `'stdout'`, when not given. */
14
+ stream?: 'stdout' | 'stderr' | undefined;
15
+ /** Told the stream the tabs pick. */
16
+ onStreamChange?: ((stream: 'stdout' | 'stderr') => void) | undefined;
17
+ /** `false` draws no band, and the log fills the view: see {@link VirtualizedLogViewer}. */
18
+ toolbar?: boolean | undefined;
19
+ /** The log's search, controlled: see {@link VirtualizedLogViewer}. */
20
+ search?: string | undefined;
21
+ /** Told the text of the view's own search box. */
22
+ onSearchChange?: ((search: string) => void) | undefined;
23
+ /** Told the match shown and how many there are. */
24
+ onMatchesChange?: ((matches: LogMatches) => void) | undefined;
25
+ /** Given the view's next and previous match and its Copy. */
26
+ controlsRef?: Ref<LogViewerControls> | undefined;
8
27
  }
9
28
  /**
10
29
  * Renders a virtualized log viewer for a task's stdout/stderr.
@@ -1 +1 @@
1
- {"version":3,"file":"TaskLogs.d.ts","sourceRoot":"","sources":["../../src/components/TaskLogs.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAMH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAE7D,MAAM,WAAW,aAAa;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,CAAC,EAAE,cAAc,CAAC;CACnC;AAED;;GAEG;AACH,eAAO,MAAM,QAAQ,qDA4BnB,CAAC"}
1
+ {"version":3,"file":"TaskLogs.d.ts","sourceRoot":"","sources":["../../src/components/TaskLogs.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAiB,KAAK,GAAG,EAAE,MAAM,OAAO,CAAC;AAEhD,OAAO,EAAwB,KAAK,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAClF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAE7D,MAAM,WAAW,aAAa;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC;;2CAEuC;IACvC,MAAM,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;IACzC,qCAAqC;IACrC,cAAc,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,QAAQ,GAAG,QAAQ,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IACrE,2FAA2F;IAC3F,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B,sEAAsE;IACtE,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,kDAAkD;IAClD,cAAc,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IACxD,mDAAmD;IACnD,eAAe,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,UAAU,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IAC9D,6DAA6D;IAC7D,WAAW,CAAC,EAAE,GAAG,CAAC,iBAAiB,CAAC,GAAG,SAAS,CAAC;CACpD;AAED;;GAEG;AACH,eAAO,MAAM,QAAQ,qDA2CnB,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import { RequestOptions } from '@elaraai/e3-api-client';
2
+ import { DataTaskPreviewProps } from './DataTaskPreview.js';
2
3
  export interface TaskPreviewProps {
3
4
  apiUrl: string;
4
5
  repo: string;
@@ -11,6 +12,29 @@ export interface TaskPreviewProps {
11
12
  * `bare`) — for host kiosk embedding of a deployed `<App>`. Default `false`.
12
13
  */
13
14
  bare?: boolean;
15
+ /** A data task's tab, controlled: see {@link DataTaskPreviewProps.view}. */
16
+ view?: DataTaskPreviewProps['view'];
17
+ /** Told the tab a data task's switch picks. */
18
+ onViewChange?: DataTaskPreviewProps['onViewChange'];
19
+ /** `false` draws no band anywhere in a data task's preview (#1120,
20
+ * #1209): see {@link DataTaskPreviewProps.toolbar}. Default `true`. */
21
+ toolbar?: boolean;
22
+ /** A data task's output's key search, controlled: see {@link DataTaskPreviewProps.search}. */
23
+ search?: string;
24
+ /** Told the text of the output's own search box: see {@link DataTaskPreviewProps.onSearchChange}. */
25
+ onSearchChange?: (search: string) => void;
26
+ /** A data task's log's stream, controlled: see {@link DataTaskPreviewProps.logStream}. */
27
+ logStream?: DataTaskPreviewProps['logStream'];
28
+ /** Told the stream the log's tabs pick. */
29
+ onLogStreamChange?: DataTaskPreviewProps['onLogStreamChange'];
30
+ /** A data task's log's search, controlled: see {@link DataTaskPreviewProps.logSearch}. */
31
+ logSearch?: string;
32
+ /** Told the text of the log's own search box: see {@link DataTaskPreviewProps.onLogSearchChange}. */
33
+ onLogSearchChange?: (search: string) => void;
34
+ /** Told the log's matches: see {@link DataTaskPreviewProps.onLogMatchesChange}. */
35
+ onLogMatchesChange?: DataTaskPreviewProps['onLogMatchesChange'];
36
+ /** The handle a host's own controls act through: see {@link DataTaskPreviewProps.controls}. */
37
+ controls?: DataTaskPreviewProps['controls'];
14
38
  }
15
39
  export declare const TaskPreview: import('react').NamedExoticComponent<TaskPreviewProps>;
16
40
  //# sourceMappingURL=TaskPreview.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TaskPreview.d.ts","sourceRoot":"","sources":["../../src/components/TaskPreview.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAcH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAM7D,MAAM,WAAW,gBAAgB;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC;;;;OAIG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,eAAO,MAAM,WAAW,wDA+CyC,CAAC"}
1
+ {"version":3,"file":"TaskPreview.d.ts","sourceRoot":"","sources":["../../src/components/TaskPreview.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAwBH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAE7D,OAAO,EAAmB,KAAK,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAIlF,MAAM,WAAW,gBAAgB;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC;;;;OAIG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,4EAA4E;IAC5E,IAAI,CAAC,EAAE,oBAAoB,CAAC,MAAM,CAAC,CAAC;IACpC,+CAA+C;IAC/C,YAAY,CAAC,EAAE,oBAAoB,CAAC,cAAc,CAAC,CAAC;IACpD;4EACwE;IACxE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,8FAA8F;IAC9F,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,qGAAqG;IACrG,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC1C,0FAA0F;IAC1F,SAAS,CAAC,EAAE,oBAAoB,CAAC,WAAW,CAAC,CAAC;IAC9C,2CAA2C;IAC3C,iBAAiB,CAAC,EAAE,oBAAoB,CAAC,mBAAmB,CAAC,CAAC;IAC9D,0FAA0F;IAC1F,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qGAAqG;IACrG,iBAAiB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C,mFAAmF;IACnF,kBAAkB,CAAC,EAAE,oBAAoB,CAAC,oBAAoB,CAAC,CAAC;IAChE,+FAA+F;IAC/F,QAAQ,CAAC,EAAE,oBAAoB,CAAC,UAAU,CAAC,CAAC;CAC/C;AAED,eAAO,MAAM,WAAW,wDAgFsF,CAAC"}
@@ -12,7 +12,10 @@ export interface UITaskPreviewProps {
12
12
  */
13
13
  config?: E3Config;
14
14
  /**
15
- * Poll interval (ms) for the manifest's declared reads. Default 1000ms.
15
+ * Poll interval (ms) for the manifest's declared reads while what they
16
+ * show changes: the workspace's poll backs off to 5 s once nothing has,
17
+ * and comes back to this on a change or when the viewer acts. Default
18
+ * 1000ms.
16
19
  */
17
20
  pollInterval?: number;
18
21
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"UITaskPreview.d.ts","sourceRoot":"","sources":["../../src/components/UITaskPreview.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAyCH,OAAO,EAAuB,KAAK,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAY9E,MAAM,WAAW,kBAAkB;IAC/B,6CAA6C;IAC7C,IAAI,EAAE,MAAM,CAAC;IACb;;;;;;;OAOG;IACH,MAAM,CAAC,EAAE,QAAQ,CAAC;IAClB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;;OAKG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;CAClB;AAMD,eAAO,MAAM,aAAa,0DA8HxB,CAAC"}
1
+ {"version":3,"file":"UITaskPreview.d.ts","sourceRoot":"","sources":["../../src/components/UITaskPreview.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAiDH,OAAO,EAAyC,KAAK,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAahG,MAAM,WAAW,kBAAkB;IAC/B,6CAA6C;IAC7C,IAAI,EAAE,MAAM,CAAC;IACb;;;;;;;OAOG;IACH,MAAM,CAAC,EAAE,QAAQ,CAAC;IAClB;;;;;OAKG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;;;OAKG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;CAClB;AAMD,eAAO,MAAM,aAAa,0DAoIxB,CAAC"}
@@ -1,7 +1,35 @@
1
+ import { Ref } from 'react';
1
2
  import { UseTabsReturn } from '@chakra-ui/react';
3
+ import { LogViewerControls } from './preview-controls.js';
4
+ /** The search's matches, as a host's "3/17" shows them (#1209). */
5
+ export interface LogMatches {
6
+ /** The match shown, from 0; 0 while there are none. */
7
+ current: number;
8
+ /** How many matches the log has. */
9
+ count: number;
10
+ }
2
11
  export interface VirtualizedLogViewerProps {
12
+ /** The log's text. */
3
13
  content: string;
14
+ /** The stdout/stderr tabs the band shows. */
4
15
  tabs: UseTabsReturn;
16
+ /** `false` draws no band — no tabs, search, match count or chevrons, or
17
+ * Copy — and the log fills the view edge to edge, with no inset, corners
18
+ * or border, for the host's frame to hold (#1209). Default `true`. */
19
+ toolbar?: boolean | undefined;
20
+ /** The search, controlled: the view draws no search box, count or
21
+ * chevrons of its own, marks the text's matches in any case, and scrolls
22
+ * to the first; `''` clears (#1209). */
23
+ search?: string | undefined;
24
+ /** Told the text of the view's own search box as it is edited, unless
25
+ * `search` is given. */
26
+ onSearchChange?: ((search: string) => void) | undefined;
27
+ /** Told the match shown and how many there are whenever either changes
28
+ * (#1209). */
29
+ onMatchesChange?: ((matches: LogMatches) => void) | undefined;
30
+ /** Given the view's next and previous match and its Copy while it is
31
+ * mounted, for a host's own controls (#1209). */
32
+ controlsRef?: Ref<LogViewerControls> | undefined;
5
33
  }
6
- export declare function VirtualizedLogViewer({ content, tabs }: VirtualizedLogViewerProps): import("react/jsx-runtime").JSX.Element;
34
+ export declare function VirtualizedLogViewer({ content, tabs, toolbar, search, onSearchChange, onMatchesChange, controlsRef, }: VirtualizedLogViewerProps): import("react/jsx-runtime").JSX.Element;
7
35
  //# sourceMappingURL=VirtualizedLogViewer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"VirtualizedLogViewer.d.ts","sourceRoot":"","sources":["../../src/components/VirtualizedLogViewer.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EAAqC,KAAK,aAAa,EAAgB,MAAM,kBAAkB,CAAC;AAUvG,MAAM,WAAW,yBAAyB;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,aAAa,CAAC;CACvB;AA2DD,wBAAgB,oBAAoB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,yBAAyB,2CAmVhF"}
1
+ {"version":3,"file":"VirtualizedLogViewer.d.ts","sourceRoot":"","sources":["../../src/components/VirtualizedLogViewer.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAA8G,KAAK,GAAG,EAAE,MAAM,OAAO,CAAC;AAE7I,OAAO,EAA+B,KAAK,aAAa,EAA+D,MAAM,kBAAkB,CAAC;AAGhJ,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAU/D,mEAAmE;AACnE,MAAM,WAAW,UAAU;IACvB,uDAAuD;IACvD,OAAO,EAAE,MAAM,CAAC;IAChB,oCAAoC;IACpC,KAAK,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,yBAAyB;IACtC,sBAAsB;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,6CAA6C;IAC7C,IAAI,EAAE,aAAa,CAAC;IACpB;;2EAEuE;IACvE,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B;;6CAEyC;IACzC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B;6BACyB;IACzB,cAAc,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IACxD;mBACe;IACf,eAAe,CAAC,EAAE,CAAC,CAAC,OAAO,EAAE,UAAU,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IAC9D;sDACkD;IAClD,WAAW,CAAC,EAAE,GAAG,CAAC,iBAAiB,CAAC,GAAG,SAAS,CAAC;CACpD;AAuCD,wBAAgB,oBAAoB,CAAC,EACjC,OAAO,EACP,IAAI,EACJ,OAAc,EACd,MAAM,EACN,cAAc,EACd,eAAe,EACf,WAAW,GACd,EAAE,yBAAyB,2CA+T3B"}
@@ -0,0 +1,22 @@
1
+ import { EastTypeValue } from '@elaraai/east';
2
+ import { DatasetKeyMatchRange, DatasetKeyQuery } from '@elaraai/east-ui-components';
3
+ /** How long a paged preview waits for the text to hold before it finds it, as its search box does: each find is a request. */
4
+ export declare const SEARCH_DEBOUNCE_MS = 250;
5
+ /**
6
+ * Finds a controlled search's text and jumps to its first match.
7
+ *
8
+ * @param search - The host's text, or `undefined` when the host does not
9
+ * control the search
10
+ * @param keyType - The collection's key type, or `null` when it has no keys
11
+ * to search
12
+ * @param onFind - Locates a query, as the search box's own `onFind` does
13
+ * @param onJump - Jumps the tree to a row, or clears its jump given
14
+ * `undefined`
15
+ * @param debounceMs - How long the text must hold before it is found
16
+ *
17
+ * @remarks
18
+ * `''`, a text the grammar refuses and a text with no match each clear the
19
+ * jump. A find the text has since moved past is dropped.
20
+ */
21
+ export declare function useControlledKeySearch(search: string | undefined, keyType: EastTypeValue | null, onFind: (query: DatasetKeyQuery) => Promise<DatasetKeyMatchRange>, onJump: (row: number | undefined) => void, debounceMs: number): void;
22
+ //# sourceMappingURL=controlled-search.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"controlled-search.d.ts","sourceRoot":"","sources":["../../src/components/controlled-search.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAWH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAiB,KAAK,oBAAoB,EAAE,KAAK,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAE7G,8HAA8H;AAC9H,eAAO,MAAM,kBAAkB,MAAM,CAAC;AAEtC;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,sBAAsB,CAClC,MAAM,EAAE,MAAM,GAAG,SAAS,EAC1B,OAAO,EAAE,aAAa,GAAG,IAAI,EAC7B,MAAM,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,OAAO,CAAC,oBAAoB,CAAC,EACjE,MAAM,EAAE,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,EACzC,UAAU,EAAE,MAAM,GACnB,IAAI,CAoBN"}
@@ -0,0 +1,73 @@
1
+ import { RefObject } from 'react';
2
+ import { ValueTreeControls } from '@elaraai/east-ui-components';
3
+ /** What a log view does for a host's own controls (#1209). */
4
+ export interface LogViewerControls {
5
+ /** Goes to the search's next match, after the last its first, as the band's chevron does. */
6
+ nextMatch(): void;
7
+ /** Goes to the search's previous match, before the first its last, as the band's chevron does. */
8
+ previousMatch(): void;
9
+ /**
10
+ * Copies the log shown, as the band's Copy does.
11
+ *
12
+ * @returns `true` once the log is on the clipboard, `false` when the
13
+ * clipboard refuses it
14
+ */
15
+ copy(): Promise<boolean>;
16
+ }
17
+ /**
18
+ * What a host's header does to the preview it is given to (#1209). Each
19
+ * method does nothing while its view is not mounted: the Output tab shows no
20
+ * log, and a value too large to show has no tree.
21
+ */
22
+ export interface PreviewControls {
23
+ /** Collapses every row of the value's tree, as its Collapse all does. */
24
+ collapseAll(): void;
25
+ /** Expands every row of the value's tree, as its Expand all does. */
26
+ expandAll(): void;
27
+ /** Goes to the log search's next match, as the log's chevron does. */
28
+ nextMatch(): void;
29
+ /** Goes to the log search's previous match, as the log's chevron does. */
30
+ previousMatch(): void;
31
+ /**
32
+ * Copies the log shown, as the log's Copy does.
33
+ *
34
+ * @returns `true` once the log is on the clipboard, `false` when no log
35
+ * is shown or the clipboard refuses it
36
+ */
37
+ copyLog(): Promise<boolean>;
38
+ }
39
+ /**
40
+ * Makes the handle a host gives a preview as `controls`, to draw the
41
+ * preview's controls in its own header (#1209).
42
+ *
43
+ * @returns A handle that stays the same for the life of the component, and
44
+ * serves one preview at a time
45
+ *
46
+ * @remarks
47
+ * It holds no query, so a header outside `<E3Provider>` can make it.
48
+ *
49
+ * @example
50
+ * ```tsx
51
+ * const controls = usePreviewControls();
52
+ *
53
+ * <Button onClick={controls.collapseAll}>Collapse all</Button>
54
+ * <TaskPreview apiUrl={url} repo="default" workspace={ws} task={task}
55
+ * toolbar={false} controls={controls} />
56
+ * ```
57
+ */
58
+ export declare function usePreviewControls(): PreviewControls;
59
+ /**
60
+ * The ref a preview's value tree is given, for the controls it was given.
61
+ *
62
+ * @param controls - The host's handle, if it gave one
63
+ * @returns The tree's ref, or `undefined` without a handle
64
+ */
65
+ export declare function treeControlsOf(controls: PreviewControls | undefined): RefObject<ValueTreeControls | null> | undefined;
66
+ /**
67
+ * The ref a preview's log view is given, for the controls it was given.
68
+ *
69
+ * @param controls - The host's handle, if it gave one
70
+ * @returns The log view's ref, or `undefined` without a handle
71
+ */
72
+ export declare function logControlsOf(controls: PreviewControls | undefined): RefObject<LogViewerControls | null> | undefined;
73
+ //# sourceMappingURL=preview-controls.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"preview-controls.d.ts","sourceRoot":"","sources":["../../src/components/preview-controls.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;GAOG;AAEH,OAAO,EAAY,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AACjD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAErE,8DAA8D;AAC9D,MAAM,WAAW,iBAAiB;IAC9B,6FAA6F;IAC7F,SAAS,IAAI,IAAI,CAAC;IAClB,kGAAkG;IAClG,aAAa,IAAI,IAAI,CAAC;IACtB;;;;;OAKG;IACH,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;CAC5B;AAED;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC5B,yEAAyE;IACzE,WAAW,IAAI,IAAI,CAAC;IACpB,qEAAqE;IACrE,SAAS,IAAI,IAAI,CAAC;IAClB,sEAAsE;IACtE,SAAS,IAAI,IAAI,CAAC;IAClB,0EAA0E;IAC1E,aAAa,IAAI,IAAI,CAAC;IACtB;;;;;OAKG;IACH,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;CAC/B;AAUD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,kBAAkB,IAAI,eAAe,CAcpD;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,eAAe,GAAG,SAAS,GAAG,SAAS,CAAC,iBAAiB,GAAG,IAAI,CAAC,GAAG,SAAS,CAErH;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,eAAe,GAAG,SAAS,GAAG,SAAS,CAAC,iBAAiB,GAAG,IAAI,CAAC,GAAG,SAAS,CAEpH"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/diff/index.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AA2CH,OAAO,EAWH,KAAK,WAAW,EAQnB,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,IAAI,EAAmB,MAAM,yBAAyB,CAAC;AAwBhE,KAAK,SAAS,GAAG,WAAW,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;AA62B3D,MAAM,WAAW,mBAAmB;IAChC,KAAK,EAAE,SAAS,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;CACtB;AAED,QAAA,MAAM,cAAc,2DAgbsC,CAAC;AAM3D,OAAO,EAAE,cAAc,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/diff/index.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AA2CH,OAAO,EAWH,KAAK,WAAW,EAQnB,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,IAAI,EAAmB,MAAM,yBAAyB,CAAC;AAwBhE,KAAK,SAAS,GAAG,WAAW,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;AA82B3D,MAAM,WAAW,mBAAmB;IAChC,KAAK,EAAE,SAAS,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;CACtB;AAED,QAAA,MAAM,cAAc,2DAgbsC,CAAC;AAM3D,OAAO,EAAE,cAAc,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/experiment/index.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAkCH,OAAO,EAA4F,KAAK,WAAW,EAAE,MAAM,eAAe,CAAC;AAE3I,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AA2CrD,KAAK,iBAAiB,GAAG,WAAW,CAAC,OAAO,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;AAuKzE,MAAM,WAAW,yBAAyB;IACtC,KAAK,EAAE,iBAAiB,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;CACtB;AAOD,QAAA,MAAM,oBAAoB,iEAsoB6E,CAAC;AAkZxG,OAAO,EAAE,oBAAoB,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/experiment/index.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAkCH,OAAO,EAA4F,KAAK,WAAW,EAAE,MAAM,eAAe,CAAC;AAE3I,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAmDrD,KAAK,iBAAiB,GAAG,WAAW,CAAC,OAAO,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;AAuKzE,MAAM,WAAW,yBAAyB;IACtC,KAAK,EAAE,iBAAiB,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;CACtB;AAOD,QAAA,MAAM,oBAAoB,iEAsoB6E,CAAC;AAkZxG,OAAO,EAAE,oBAAoB,EAAE,CAAC"}
@@ -15,6 +15,20 @@ export declare function useDataflowGraph(url: string, repo: string, workspace: s
15
15
  readonly dependsOn: string[];
16
16
  }[];
17
17
  }, Error>;
18
+ /**
19
+ * Polls a workspace's latest run: its state, with the events past
20
+ * `stateOptions.since`, at most `stateOptions.limit` of them, and the cursor
21
+ * past them (`nextSeq`).
22
+ *
23
+ * @param url - The API's base URL
24
+ * @param repo - Repository name
25
+ * @param workspace - Workspace name; nothing is polled while it is `null`
26
+ * @param stateOptions - The cursor to poll from, and the most events to serve:
27
+ * `{ limit: 0 }` reads the run's state alone
28
+ * @param requestOptions - The request's token
29
+ * @param queryOptions - react-query overrides, such as a `refetchInterval`
30
+ * @returns The query of the run's state
31
+ */
18
32
  export declare function useDataflowExecution(url: string, repo: string, workspace: string | null, stateOptions?: ExecutionStateOptions, requestOptions?: RequestOptions, queryOptions?: QueryOverrides): UseQueryResult<DataflowExecutionState, Error>;
19
33
  export declare function useDataflowCancel(url: string, repo: string, workspace: string | null, requestOptions?: RequestOptions): UseMutationResult<void, Error, void, unknown>;
20
34
  export declare function useTaskLogs(url: string, repo: string, workspace: string | null, task: string | null, logOptions?: LogOptions, requestOptions?: RequestOptions, queryOptions?: QueryOverrides): UseQueryResult<{
@@ -23,5 +37,8 @@ export declare function useTaskLogs(url: string, repo: string, workspace: string
23
37
  readonly size: bigint;
24
38
  readonly totalSize: bigint;
25
39
  readonly complete: boolean;
40
+ readonly inputsHash: string;
41
+ readonly executionId: string;
42
+ readonly ended: boolean;
26
43
  }, Error>;
27
44
  //# sourceMappingURL=executions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"executions.d.ts","sourceRoot":"","sources":["../../src/hooks/executions.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAyB,KAAK,iBAAiB,EAAE,KAAK,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC3G,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,UAAU,EAAE,cAAc,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAE9K,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,EAAE,cAAc,CAAC,EAAE,cAAc,GAAG,iBAAiB,CAAC,cAAc,EAAE,KAAK,EAAE;IAAE,eAAe,CAAC,EAAE,eAAe,CAAC;IAAC,WAAW,CAAC,EAAE,mBAAmB,CAAA;CAAE,CAAC,CAK3O;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,EAAE,cAAc,CAAC,EAAE,cAAc,wEAKpH;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,EAAE,cAAc,CAAC,EAAE,cAAc,EAAE,YAAY,CAAC,EAAE,cAAc;;;;;;;;UAOnJ;AAED,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,EAAE,YAAY,CAAC,EAAE,qBAAqB,EAAE,cAAc,CAAC,EAAE,cAAc,EAAE,YAAY,CAAC,EAAE,cAAc,GAAG,cAAc,CAAC,sBAAsB,EAAE,KAAK,CAAC,CAO7O;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,EAAE,cAAc,CAAC,EAAE,cAAc,iDAIrH;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,EAAE,UAAU,CAAC,EAAE,UAAU,EAAE,cAAc,CAAC,EAAE,cAAc,EAAE,YAAY,CAAC,EAAE,cAAc;;;;;;UAO5L"}
1
+ {"version":3,"file":"executions.d.ts","sourceRoot":"","sources":["../../src/hooks/executions.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAyB,KAAK,iBAAiB,EAAE,KAAK,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAE3G,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,UAAU,EAAE,cAAc,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAM9K,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,EAAE,cAAc,CAAC,EAAE,cAAc,GAAG,iBAAiB,CAAC,cAAc,EAAE,KAAK,EAAE;IAAE,eAAe,CAAC,EAAE,eAAe,CAAC;IAAC,WAAW,CAAC,EAAE,mBAAmB,CAAA;CAAE,CAAC,CAK3O;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,EAAE,cAAc,CAAC,EAAE,cAAc,wEAKpH;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,EAAE,cAAc,CAAC,EAAE,cAAc,EAAE,YAAY,CAAC,EAAE,cAAc;;;;;;;;UAOnJ;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,EAAE,YAAY,CAAC,EAAE,qBAAqB,EAAE,cAAc,CAAC,EAAE,cAAc,EAAE,YAAY,CAAC,EAAE,cAAc,GAAG,cAAc,CAAC,sBAAsB,EAAE,KAAK,CAAC,CAQ7O;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,EAAE,cAAc,CAAC,EAAE,cAAc,iDAIrH;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,EAAE,UAAU,CAAC,EAAE,UAAU,EAAE,cAAc,CAAC,EAAE,cAAc,EAAE,YAAY,CAAC,EAAE,cAAc;;;;;;;;;UAO5L"}