@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
@@ -0,0 +1,137 @@
1
+ import { ToolbarItem } from '@elaraai/east-ui-components';
2
+ import { QueryWords } from './model/words.js';
3
+ import { Styles } from './parts.js';
4
+ import { RunOutput, RunState } from './run.js';
5
+ /** How a result shows: as a Table of its rows, or as a Value tree. */
6
+ export type ResultView = "table" | "tree";
7
+ /** A download's format. */
8
+ export type DownloadFormat = "csv" | "beast2";
9
+ /**
10
+ * How a result opens: rows — an array, a set or a vector — as a Table, one
11
+ * value as a tree.
12
+ *
13
+ * @param output - the result
14
+ * @returns its view
15
+ */
16
+ export declare function pickedView(output: RunOutput): ResultView;
17
+ /** What a run that gave no result says: its title, and the words under it. */
18
+ export interface RunFailure {
19
+ readonly title: string;
20
+ readonly message: string;
21
+ }
22
+ /**
23
+ * Why a run gave no result, in the builder's words (`Query Editor Spec.md`
24
+ * §4.11): the checker's problems; a runtime error or e3's refusal; the time
25
+ * limit; the size limit; a platform function the server lacks; a call that
26
+ * never reached the server, or that the server refused.
27
+ *
28
+ * @param state - the run
29
+ * @param words - the words
30
+ * @returns the banner's title and message; `undefined` for a run that gave a result, or none yet
31
+ */
32
+ export declare function runFailure(state: RunState, words: QueryWords): RunFailure | undefined;
33
+ /** The footer's read-outs of a run: its count, its fields, the run's own line and what it read. */
34
+ export interface ResultFooter {
35
+ /** The count in words, or the run's state — `10 orders`, `Showing 1–1,000 of 4,210`, `Running…`. */
36
+ readonly count: string;
37
+ /** The rows' fields — `· order, customer, total`. */
38
+ readonly fields: string;
39
+ /** The run's own line — `run #3 · 14:02 · 412 ms`. */
40
+ readonly run: string;
41
+ /** Its East type and multiplicity, on hover. */
42
+ readonly type: string;
43
+ /** What it read — `reads orders #4f2a1c8d · customers #9b07e3a4`. */
44
+ readonly reads: string;
45
+ }
46
+ /**
47
+ * The footer's read-outs of a run (`Query Editor Spec.md` §4.11).
48
+ *
49
+ * @param state - the run
50
+ * @param words - the words
51
+ * @returns the footer's parts
52
+ */
53
+ export declare function resultFooter(state: RunState, words: QueryWords): ResultFooter;
54
+ /** Props of {@link QueryResults}. */
55
+ export interface QueryResultsProps {
56
+ /** The run. */
57
+ readonly state: RunState;
58
+ /** Whether the query changed after the run that gave the result. */
59
+ readonly stale: boolean;
60
+ /** How the result shows. */
61
+ readonly view: ResultView;
62
+ /** The words. */
63
+ readonly words: QueryWords;
64
+ /** The builder's storage key: the result's renderers keep their state under it. */
65
+ readonly storageKey: string;
66
+ /** The result's controls, for the band ({@link resultToolbarItems}). */
67
+ readonly controls: readonly ToolbarItem[];
68
+ }
69
+ /**
70
+ * Renders the results — see the module docs.
71
+ *
72
+ * @param props - The run, whether it is stale, the view, the words and the result's controls ({@link QueryResultsProps})
73
+ * @returns The results
74
+ */
75
+ export declare const QueryResults: import('react').NamedExoticComponent<QueryResultsProps>;
76
+ /** Props of {@link ResultStrips}. */
77
+ export interface ResultStripsProps {
78
+ /** The run. */
79
+ readonly state: RunState;
80
+ /** Whether the query changed after the run that gave the result. */
81
+ readonly stale: boolean;
82
+ /** The note after a download, until it is dismissed or the next run. */
83
+ readonly note: string | undefined;
84
+ /** Dismisses the note. */
85
+ readonly onDismissNote: () => void;
86
+ /** Runs the query again. */
87
+ readonly onRunAgain: () => void;
88
+ /** The words. */
89
+ readonly words: QueryWords;
90
+ }
91
+ /**
92
+ * The result's strips (`Query Editor Spec.md` §4.11): under the builder's
93
+ * toolbar, the builder's full width, edge to edge, each over a rule — the
94
+ * stale strip while the query differs from the one the result is of; a run
95
+ * that gave no result, worded by how it ended; and the note after a download,
96
+ * dismissible. None, and the strips take no room.
97
+ *
98
+ * @param props - The run, whether it is stale, the note and the words ({@link ResultStripsProps})
99
+ * @returns The strips
100
+ */
101
+ export declare const ResultStrips: import('react').NamedExoticComponent<ResultStripsProps>;
102
+ /** What the result's toolbar items show, and do. */
103
+ export interface ResultToolbarOptions {
104
+ /** The view shown; `undefined` without a result. */
105
+ readonly view: ResultView | undefined;
106
+ /** The view the run picked. */
107
+ readonly picked: ResultView | undefined;
108
+ /** Shows a view. */
109
+ readonly onView: (view: ResultView) => void;
110
+ /** Downloads the result. */
111
+ readonly onDownload: (format: DownloadFormat) => void;
112
+ /** The words. */
113
+ readonly words: QueryWords;
114
+ /** The `queryBuilder` recipe's styles. */
115
+ readonly styles: Styles;
116
+ /** The `seg` recipe's styles. */
117
+ readonly seg: Styles;
118
+ }
119
+ /**
120
+ * The result's controls, the items of the results' band (`Query Editor
121
+ * Spec.md` §4.11): **Table · Tree**, the `seg` strip, folding to its icons;
122
+ * and **Download ▾**, a menu of CSV and BEAST2, folding to its icon. Both are
123
+ * off without a result.
124
+ *
125
+ * @param options - The view, the picked view, the downloads and the words ({@link ResultToolbarOptions})
126
+ * @returns The items, in their order along the row
127
+ */
128
+ export declare function resultToolbarItems(options: ResultToolbarOptions): ToolbarItem[];
129
+ /**
130
+ * A result's file name, from the query's name: lower-cased, every other
131
+ * character a "-" — `top-shipped-orders-2026`.
132
+ *
133
+ * @param name - the query's name
134
+ * @returns the file's name, without its extension
135
+ */
136
+ export declare function resultFileName(name: string): string;
137
+ //# sourceMappingURL=results.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"results.d.ts","sourceRoot":"","sources":["../../src/query/results.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,199 @@
1
+ import { CheckJqResult, EastType, option } from '@elaraai/east';
2
+ import { SplitCallProgress } from '@elaraai/e3-types';
3
+ import { QueryCall, QuerySourceStatus, QuerySplitCall, QuerySplitExplain } from './hooks.js';
4
+ import { QueryResult, QueryRoot } from './one-shot.js';
5
+ import { PlanOptions, QueryPlan } from './plan.js';
6
+ import { QueryHeader } from './session.js';
7
+ import { CheckedSteps } from './steps/check.js';
8
+ import { Shape } from './steps/shape.js';
9
+ import { StepQuery } from './steps/values.js';
10
+ import { QueryView } from './toolbar.js';
11
+ /** The most rows a visual run returns; the counting program counts them all. */
12
+ export declare const RUN_MAX_ROWS = 1000;
13
+ /**
14
+ * A program's canonical text: printed in the pipeline layout when it parses,
15
+ * as written when it does not — what a result is fresh against.
16
+ *
17
+ * @param program - the program's text
18
+ * @returns its canonical text
19
+ */
20
+ export declare function canonicalProgram(program: string): string;
21
+ /** What a run sends as a split call, and what reading its answer needs. */
22
+ export interface SplitRun {
23
+ /**
24
+ * The program: in the visual view the query, a rows result followed by
25
+ * `{counts: [length], result: .[:1000]}` — the rows joined, and that run
26
+ * once after them; in the jq view, the jq.
27
+ */
28
+ readonly program: string;
29
+ /** What each of its counts is of — the last counted stage, for a visual run of rows; `undefined` when it answers the result alone. */
30
+ readonly counted: readonly string[] | undefined;
31
+ /** The data source whose stored row count is the source's count — a visual run's, when its source counts; `undefined` otherwise. */
32
+ readonly source: string | undefined;
33
+ }
34
+ /** What a run sends, and what reading its answer needs. */
35
+ export interface RunPlan {
36
+ /** The program a one-shot call runs: the counting program, or the jq. */
37
+ readonly program: string;
38
+ /** The query's own program, canonical: what its result is fresh against, and what its plan splits and explains. */
39
+ readonly canonical: string;
40
+ /** What each of the counting program's counts is of — `undefined` for a jq run. */
41
+ readonly counted: readonly string[] | undefined;
42
+ /** What a split call runs instead. */
43
+ readonly split: SplitRun;
44
+ /** The shape the query gives, as the editor knew it when it ran: what its rows are called. */
45
+ readonly shape: Shape | undefined;
46
+ /** The query's name and description when it ran: what its recent query is called. */
47
+ readonly name: string;
48
+ readonly description: option<string>;
49
+ }
50
+ /** What planning a run needs of the open query. */
51
+ export interface RunEditor {
52
+ /** The view shown. */
53
+ readonly view: QueryView;
54
+ /** The header: its jq, when the program is not steps. */
55
+ readonly header: QueryHeader;
56
+ /** The steps. */
57
+ readonly query: StepQuery;
58
+ /** The steps' check; `undefined` while the program is jq. */
59
+ readonly checked: CheckedSteps | undefined;
60
+ /** The jq as typed, in the jq view. */
61
+ readonly jqText: string;
62
+ /** The jq view's check of it. */
63
+ readonly jqChecked: CheckJqResult | undefined;
64
+ }
65
+ /**
66
+ * What a run of the open query sends.
67
+ *
68
+ * @param editor - the open query, as the editor holds it
69
+ * @param root - the root
70
+ * @returns the plan: in the visual view the counting program, or for a split
71
+ * call the query, a rows result wrapped to count its rows; in the jq view the jq
72
+ */
73
+ export declare function planRun(editor: RunEditor, root: QueryRoot): RunPlan;
74
+ /** What a run that answered gave: the query's result, and what the counting program counted. */
75
+ export interface RunOutput {
76
+ /** The result's type: `T`, `Option<T>` or `Array<T>` by the query's multiplicity. */
77
+ readonly type: EastType;
78
+ /** The result. */
79
+ readonly value: unknown;
80
+ /** The rows each stage gave, by step id (`SOURCE_COUNT` for the source's): a visual run's. */
81
+ readonly counts: ReadonlyMap<string, number> | undefined;
82
+ /** The rows the query gives in all, when the run returned fewer: the counting program's last count. */
83
+ readonly total: number | undefined;
84
+ /** Whether the answer was cut at the call's most outputs, its total unknown: a jq run's. */
85
+ readonly truncated: boolean;
86
+ }
87
+ /**
88
+ * Reads a run's answer.
89
+ *
90
+ * @param program - what the run's program counts: a {@link RunPlan}'s
91
+ * counting program, or a {@link SplitRun}'s
92
+ * @param result - what the call answered
93
+ * @param known - counts known before the run answered, by step id: a split
94
+ * run's source's stored rows
95
+ * @returns the result and its counts; `undefined` for a run that gave no result
96
+ * @throws {Error} When a counting run's answer does not hold one count per counted stage.
97
+ */
98
+ export declare function runOutput(program: {
99
+ readonly counted: readonly string[] | undefined;
100
+ }, result: QueryResult, known?: ReadonlyMap<string, number>): RunOutput | undefined;
101
+ /** Where the builder's run stands. */
102
+ export type RunState = {
103
+ readonly status: "idle";
104
+ }
105
+ /**
106
+ * A run going: its number, its plan, the data sources it reads; how it
107
+ * reads them, once planned; and a split call's progress, and how many
108
+ * pieces it cut, once e3 says.
109
+ */
110
+ | {
111
+ readonly status: "running";
112
+ readonly n: number;
113
+ readonly plan: RunPlan;
114
+ readonly reads: readonly string[];
115
+ readonly planned: QueryPlan | undefined;
116
+ readonly progress: SplitCallProgress | undefined;
117
+ readonly pieces: number | undefined;
118
+ }
119
+ /**
120
+ * A run answered — a result, or the checker's, the runner's or e3's
121
+ * refusal — how it read its data, and how many pieces it cut, once e3
122
+ * says: for a split call that answered before it did, after the answer,
123
+ * from its explain (#1132).
124
+ */
125
+ | {
126
+ readonly status: "done";
127
+ readonly n: number;
128
+ readonly plan: RunPlan;
129
+ readonly result: QueryResult;
130
+ readonly output: RunOutput | undefined;
131
+ readonly at: Date;
132
+ readonly ms: number;
133
+ readonly planned: QueryPlan | undefined;
134
+ readonly pieces: number | undefined;
135
+ }
136
+ /** A call that never answered: unreachable, or refused by the server — and how it was to read its data. */
137
+ | {
138
+ readonly status: "failed";
139
+ readonly n: number;
140
+ readonly plan: RunPlan;
141
+ readonly reason: "unreachable" | "refused";
142
+ readonly message: string;
143
+ readonly at: Date;
144
+ readonly planned: QueryPlan | undefined;
145
+ };
146
+ /** What a run reaches e3 through, and how it plans. */
147
+ export interface QueryRunSeams {
148
+ /** How a one-shot call is made; `undefined` when there is no server. */
149
+ readonly call: QueryCall | undefined;
150
+ /** How a split call is made; `undefined` when there is no server. */
151
+ readonly split: QuerySplitCall | undefined;
152
+ /** How a split call's pieces are counted when it answered before e3 reported them; `undefined` when there is none to ask, and they go uncounted. */
153
+ readonly explain: QuerySplitExplain | undefined;
154
+ /** How a data source's status is read; `undefined` when there is none to read, and every dataset's weight is unknown. */
155
+ readonly status: QuerySourceStatus | undefined;
156
+ /** How the run plans: the most a dataset may weigh and still be read by one call. */
157
+ readonly options: PlanOptions;
158
+ }
159
+ /**
160
+ * Runs the open query: each run planned in the browser and sent as one
161
+ * one-shot call, or as a split call over the dataset it works through; one
162
+ * run in flight at a time, a new run abandoning the old.
163
+ *
164
+ * @param root - The root, or why it cannot be queried
165
+ * @param seams - How a one-shot call, a split call and a data source's status
166
+ * are made, and how the run plans
167
+ * @param onRan - Told each run that answered, with its result, for the recent queries
168
+ * @returns The run's state, and `run(plan)`
169
+ *
170
+ * @remarks
171
+ * A run checks and splits the query (`draftPlan`); reads the status of the
172
+ * datasets whose weights decide its path, when it would cut one; plans the
173
+ * call by what they weigh (`weighPlan`); and makes it — a re-keyed join's two
174
+ * calls one after the other, the second over the first's output (#942). A
175
+ * split call's progress is the run's as e3 reports it, and how many pieces it
176
+ * cut is the partition's units — the join call's, for a re-keyed join. A
177
+ * split visual run counts the source from its dataset's stored rows, and a
178
+ * rows result's rows from the call; nothing between.
179
+ *
180
+ * A split call that answered before e3 reported its pieces — one that ended
181
+ * between two polls, or one served whole from e3's cache — has them counted
182
+ * once it has answered, by e3's explain of the call, which plans them as the
183
+ * run did and runs no unit (#1132): the answer shows at once, and the count
184
+ * lands after it. An explain is work in proportion to the dataset, so a call
185
+ * whose progress named its pieces is never explained. An explain that fails
186
+ * leaves the count unknown; a new run abandons it with the run.
187
+ *
188
+ * The builder going — unmounted, or hidden — abandons the run in flight: its
189
+ * split call stops polling, and its answer is dropped when it lands. Its
190
+ * coming back starts that run again, under its number: React's development
191
+ * check of a component's effects, which mounts it, unmounts it and mounts it
192
+ * again, would otherwise fail the run a saved query starts as it opens, with
193
+ * the abandoned call's "signal is aborted".
194
+ */
195
+ export declare function useQueryRun(root: QueryRoot | string, seams: QueryRunSeams, onRan?: (result: QueryResult, plan: RunPlan) => void): {
196
+ state: RunState;
197
+ run: (plan: RunPlan) => void;
198
+ };
199
+ //# sourceMappingURL=run.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../src/query/run.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ import { ReactNode } from 'react';
2
+ import { option } from '@elaraai/east';
3
+ /** Props of {@link QuerySavePopover}. */
4
+ export interface QuerySavePopoverProps {
5
+ /** Whether it is open. */
6
+ open: boolean;
7
+ /** Opens or closes it — its trigger, ×, Esc, a click outside, Cancel, or a save that was made. */
8
+ onOpenChange: (open: boolean) => void;
9
+ /** The button it hangs from — the toolbar's Save…, which its host renders. */
10
+ trigger: ReactNode;
11
+ /** The open query's name — its head names it, and its name field offers it each time it opens. */
12
+ name: string;
13
+ /** The names the other saved queries hold; the open query's own saved name is not among them. */
14
+ taken: ReadonlySet<string>;
15
+ /** The open query's description: `none` while it is the generated sentence, which the field then shows. */
16
+ description: option<string>;
17
+ /** The sentence generated from the steps (the model's `describeQuery`), `""` while no step is finished. */
18
+ generated: string;
19
+ /** Saves the query under the name, with the description — `none` for the generated sentence — and resolves to what refused the save, or `undefined` once it is saved. */
20
+ onSave: (name: string, description: option<string>) => Promise<string | undefined>;
21
+ }
22
+ /**
23
+ * Renders the save popover — see the module docs.
24
+ *
25
+ * @param props - The query it saves, and the save
26
+ * @returns The trigger, and the popover while open
27
+ */
28
+ export declare const QuerySavePopover: import('react').NamedExoticComponent<QuerySavePopoverProps>;
29
+ //# sourceMappingURL=save-popover.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"save-popover.d.ts","sourceRoot":"","sources":["../../src/query/save-popover.tsx"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,OAAO,EAA4E,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAEjH,OAAO,EAA+D,KAAK,MAAM,EAAE,MAAM,eAAe,CAAC;AAezG,yCAAyC;AACzC,MAAM,WAAW,qBAAqB;IAClC,0BAA0B;IAC1B,IAAI,EAAE,OAAO,CAAC;IACd,kGAAkG;IAClG,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACtC,8EAA8E;IAC9E,OAAO,EAAE,SAAS,CAAC;IACnB,kGAAkG;IAClG,IAAI,EAAE,MAAM,CAAC;IACb,iGAAiG;IACjG,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC3B,2GAA2G;IAC3G,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IAC5B,2GAA2G;IAC3G,SAAS,EAAE,MAAM,CAAC;IAClB,yKAAyK;IACzK,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;CACtF;AAED;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,6DA2EiE,CAAC"}