@elaraai/e3-ui-cli 1.0.72 → 1.0.74
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +46 -21
- package/bin/e3-ui.mjs +6 -0
- package/dist/app/assets/{engine-BKZbmXkC-DmcCFcnb.js → engine-Bm-cIDd_-DwUdGcTZ.js} +1 -1
- package/dist/app/assets/{index-BJNWHnRv.js → index-mj-YVVN1.js} +91 -91
- package/dist/app/index.html +1 -1
- package/dist/cli.js +36 -5
- package/dist/cli.js.map +1 -1
- package/dist/commands/tui.d.ts +84 -0
- package/dist/commands/tui.d.ts.map +1 -0
- package/dist/commands/tui.js +89 -0
- package/dist/commands/tui.js.map +1 -0
- package/dist/tui/api.d.ts +108 -0
- package/dist/tui/api.d.ts.map +1 -0
- package/dist/tui/api.js +130 -0
- package/dist/tui/api.js.map +1 -0
- package/dist/tui/app.d.ts +23 -0
- package/dist/tui/app.d.ts.map +1 -0
- package/dist/tui/app.js +244 -0
- package/dist/tui/app.js.map +1 -0
- package/dist/tui/controller.d.ts +116 -0
- package/dist/tui/controller.d.ts.map +1 -0
- package/dist/tui/controller.js +644 -0
- package/dist/tui/controller.js.map +1 -0
- package/dist/tui/data/dataflow.d.ts +68 -0
- package/dist/tui/data/dataflow.d.ts.map +1 -0
- package/dist/tui/data/dataflow.js +137 -0
- package/dist/tui/data/dataflow.js.map +1 -0
- package/dist/tui/data/dataset.d.ts +80 -0
- package/dist/tui/data/dataset.d.ts.map +1 -0
- package/dist/tui/data/dataset.js +297 -0
- package/dist/tui/data/dataset.js.map +1 -0
- package/dist/tui/data/edit-buffer.d.ts +74 -0
- package/dist/tui/data/edit-buffer.d.ts.map +1 -0
- package/dist/tui/data/edit-buffer.js +120 -0
- package/dist/tui/data/edit-buffer.js.map +1 -0
- package/dist/tui/data/feeds.d.ts +45 -0
- package/dist/tui/data/feeds.d.ts.map +1 -0
- package/dist/tui/data/feeds.js +318 -0
- package/dist/tui/data/feeds.js.map +1 -0
- package/dist/tui/data/logs.d.ts +68 -0
- package/dist/tui/data/logs.d.ts.map +1 -0
- package/dist/tui/data/logs.js +134 -0
- package/dist/tui/data/logs.js.map +1 -0
- package/dist/tui/input/commands.d.ts +159 -0
- package/dist/tui/input/commands.d.ts.map +1 -0
- package/dist/tui/input/commands.js +259 -0
- package/dist/tui/input/commands.js.map +1 -0
- package/dist/tui/input/completion.d.ts +63 -0
- package/dist/tui/input/completion.d.ts.map +1 -0
- package/dist/tui/input/completion.js +128 -0
- package/dist/tui/input/completion.js.map +1 -0
- package/dist/tui/input/keymap.d.ts +153 -0
- package/dist/tui/input/keymap.d.ts.map +1 -0
- package/dist/tui/input/keymap.js +206 -0
- package/dist/tui/input/keymap.js.map +1 -0
- package/dist/tui/input/mouse.d.ts +52 -0
- package/dist/tui/input/mouse.d.ts.map +1 -0
- package/dist/tui/input/mouse.js +55 -0
- package/dist/tui/input/mouse.js.map +1 -0
- package/dist/tui/lifecycle.d.ts +61 -0
- package/dist/tui/lifecycle.d.ts.map +1 -0
- package/dist/tui/lifecycle.js +99 -0
- package/dist/tui/lifecycle.js.map +1 -0
- package/dist/tui/model/catalogue.d.ts +28 -0
- package/dist/tui/model/catalogue.d.ts.map +1 -0
- package/dist/tui/model/catalogue.js +94 -0
- package/dist/tui/model/catalogue.js.map +1 -0
- package/dist/tui/model/help.d.ts +37 -0
- package/dist/tui/model/help.d.ts.map +1 -0
- package/dist/tui/model/help.js +210 -0
- package/dist/tui/model/help.js.map +1 -0
- package/dist/tui/model/index.d.ts +42 -0
- package/dist/tui/model/index.d.ts.map +1 -0
- package/dist/tui/model/index.js +50 -0
- package/dist/tui/model/index.js.map +1 -0
- package/dist/tui/model/status.d.ts +88 -0
- package/dist/tui/model/status.d.ts.map +1 -0
- package/dist/tui/model/status.js +137 -0
- package/dist/tui/model/status.js.map +1 -0
- package/dist/tui/model/tree.d.ts +126 -0
- package/dist/tui/model/tree.d.ts.map +1 -0
- package/dist/tui/model/tree.js +217 -0
- package/dist/tui/model/tree.js.map +1 -0
- package/dist/tui/model/types.d.ts +21 -0
- package/dist/tui/model/types.d.ts.map +1 -0
- package/dist/tui/model/types.js +46 -0
- package/dist/tui/model/types.js.map +1 -0
- package/dist/tui/render/glyphs.d.ts +122 -0
- package/dist/tui/render/glyphs.d.ts.map +1 -0
- package/dist/tui/render/glyphs.js +122 -0
- package/dist/tui/render/glyphs.js.map +1 -0
- package/dist/tui/render/layout.d.ts +145 -0
- package/dist/tui/render/layout.d.ts.map +1 -0
- package/dist/tui/render/layout.js +209 -0
- package/dist/tui/render/layout.js.map +1 -0
- package/dist/tui/render/text.d.ts +153 -0
- package/dist/tui/render/text.d.ts.map +1 -0
- package/dist/tui/render/text.js +320 -0
- package/dist/tui/render/text.js.map +1 -0
- package/dist/tui/render/theme.d.ts +88 -0
- package/dist/tui/render/theme.d.ts.map +1 -0
- package/dist/tui/render/theme.js +145 -0
- package/dist/tui/render/theme.js.map +1 -0
- package/dist/tui/session.d.ts +78 -0
- package/dist/tui/session.d.ts.map +1 -0
- package/dist/tui/session.js +237 -0
- package/dist/tui/session.js.map +1 -0
- package/dist/tui/state/actions.d.ts +584 -0
- package/dist/tui/state/actions.d.ts.map +1 -0
- package/dist/tui/state/actions.js +62 -0
- package/dist/tui/state/actions.js.map +1 -0
- package/dist/tui/state/persist.d.ts +114 -0
- package/dist/tui/state/persist.d.ts.map +1 -0
- package/dist/tui/state/persist.js +187 -0
- package/dist/tui/state/persist.js.map +1 -0
- package/dist/tui/state/poll.d.ts +99 -0
- package/dist/tui/state/poll.d.ts.map +1 -0
- package/dist/tui/state/poll.js +160 -0
- package/dist/tui/state/poll.js.map +1 -0
- package/dist/tui/state/reducer.d.ts +16 -0
- package/dist/tui/state/reducer.d.ts.map +1 -0
- package/dist/tui/state/reducer.js +363 -0
- package/dist/tui/state/reducer.js.map +1 -0
- package/dist/tui/state/store.d.ts +37 -0
- package/dist/tui/state/store.d.ts.map +1 -0
- package/dist/tui/state/store.js +84 -0
- package/dist/tui/state/store.js.map +1 -0
- package/dist/tui/suspend.d.ts +17 -0
- package/dist/tui/suspend.d.ts.map +1 -0
- package/dist/tui/suspend.js +33 -0
- package/dist/tui/suspend.js.map +1 -0
- package/dist/tui/ui/App.d.ts +44 -0
- package/dist/tui/ui/App.d.ts.map +1 -0
- package/dist/tui/ui/App.js +105 -0
- package/dist/tui/ui/App.js.map +1 -0
- package/dist/tui/ui/frame.d.ts +86 -0
- package/dist/tui/ui/frame.d.ts.map +1 -0
- package/dist/tui/ui/frame.js +42 -0
- package/dist/tui/ui/frame.js.map +1 -0
- package/dist/tui/ui/lines.d.ts +92 -0
- package/dist/tui/ui/lines.d.ts.map +1 -0
- package/dist/tui/ui/lines.js +94 -0
- package/dist/tui/ui/lines.js.map +1 -0
- package/dist/tui/ui/shell/chrome.d.ts +61 -0
- package/dist/tui/ui/shell/chrome.d.ts.map +1 -0
- package/dist/tui/ui/shell/chrome.js +272 -0
- package/dist/tui/ui/shell/chrome.js.map +1 -0
- package/dist/tui/ui/shell/widgets.d.ts +116 -0
- package/dist/tui/ui/shell/widgets.d.ts.map +1 -0
- package/dist/tui/ui/shell/widgets.js +183 -0
- package/dist/tui/ui/shell/widgets.js.map +1 -0
- package/dist/tui/ui/views/about.d.ts +20 -0
- package/dist/tui/ui/views/about.d.ts.map +1 -0
- package/dist/tui/ui/views/about.js +40 -0
- package/dist/tui/ui/views/about.js.map +1 -0
- package/dist/tui/ui/views/all.d.ts +17 -0
- package/dist/tui/ui/views/all.d.ts.map +1 -0
- package/dist/tui/ui/views/all.js +17 -0
- package/dist/tui/ui/views/all.js.map +1 -0
- package/dist/tui/ui/views/dashboard.d.ts +211 -0
- package/dist/tui/ui/views/dashboard.d.ts.map +1 -0
- package/dist/tui/ui/views/dashboard.js +651 -0
- package/dist/tui/ui/views/dashboard.js.map +1 -0
- package/dist/tui/ui/views/help.d.ts +17 -0
- package/dist/tui/ui/views/help.d.ts.map +1 -0
- package/dist/tui/ui/views/help.js +65 -0
- package/dist/tui/ui/views/help.js.map +1 -0
- package/dist/tui/ui/views/index.d.ts +42 -0
- package/dist/tui/ui/views/index.d.ts.map +1 -0
- package/dist/tui/ui/views/index.js +42 -0
- package/dist/tui/ui/views/index.js.map +1 -0
- package/dist/tui/ui/views/input.d.ts +6 -0
- package/dist/tui/ui/views/input.d.ts.map +1 -0
- package/dist/tui/ui/views/input.js +494 -0
- package/dist/tui/ui/views/input.js.map +1 -0
- package/dist/tui/ui/views/launch.d.ts +16 -0
- package/dist/tui/ui/views/launch.d.ts.map +1 -0
- package/dist/tui/ui/views/launch.js +43 -0
- package/dist/tui/ui/views/launch.js.map +1 -0
- package/dist/tui/ui/views/refusal.d.ts +20 -0
- package/dist/tui/ui/views/refusal.d.ts.map +1 -0
- package/dist/tui/ui/views/refusal.js +47 -0
- package/dist/tui/ui/views/refusal.js.map +1 -0
- package/dist/tui/ui/views/repos.d.ts +10 -0
- package/dist/tui/ui/views/repos.d.ts.map +1 -0
- package/dist/tui/ui/views/repos.js +93 -0
- package/dist/tui/ui/views/repos.js.map +1 -0
- package/dist/tui/ui/views/task.d.ts +17 -0
- package/dist/tui/ui/views/task.d.ts.map +1 -0
- package/dist/tui/ui/views/task.js +309 -0
- package/dist/tui/ui/views/task.js.map +1 -0
- package/dist/tui/ui/views/wordmark.d.ts +15 -0
- package/dist/tui/ui/views/wordmark.d.ts.map +1 -0
- package/dist/tui/ui/views/wordmark.js +50 -0
- package/dist/tui/ui/views/wordmark.js.map +1 -0
- package/dist/tui/ui/views/workspaces.d.ts +17 -0
- package/dist/tui/ui/views/workspaces.d.ts.map +1 -0
- package/dist/tui/ui/views/workspaces.js +127 -0
- package/dist/tui/ui/views/workspaces.js.map +1 -0
- package/dist/tui/ui/widgets/leaf-editor.d.ts +58 -0
- package/dist/tui/ui/widgets/leaf-editor.d.ts.map +1 -0
- package/dist/tui/ui/widgets/leaf-editor.js +119 -0
- package/dist/tui/ui/widgets/leaf-editor.js.map +1 -0
- package/dist/tui/ui/widgets/logs.d.ts +99 -0
- package/dist/tui/ui/widgets/logs.d.ts.map +1 -0
- package/dist/tui/ui/widgets/logs.js +291 -0
- package/dist/tui/ui/widgets/logs.js.map +1 -0
- package/dist/tui/ui/widgets/reads.d.ts +62 -0
- package/dist/tui/ui/widgets/reads.d.ts.map +1 -0
- package/dist/tui/ui/widgets/reads.js +122 -0
- package/dist/tui/ui/widgets/reads.js.map +1 -0
- package/dist/tui/ui/widgets/runs.d.ts +51 -0
- package/dist/tui/ui/widgets/runs.d.ts.map +1 -0
- package/dist/tui/ui/widgets/runs.js +86 -0
- package/dist/tui/ui/widgets/runs.js.map +1 -0
- package/dist/tui/ui/widgets/tree.d.ts +149 -0
- package/dist/tui/ui/widgets/tree.d.ts.map +1 -0
- package/dist/tui/ui/widgets/tree.js +584 -0
- package/dist/tui/ui/widgets/tree.js.map +1 -0
- package/package.json +22 -12
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"controller.js","sourceRoot":"","sources":["../../src/tui/controller.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2025 Elara AI Pty Ltd
|
|
3
|
+
* Dual-licensed under AGPL-3.0 and commercial license. See LICENSE for details.
|
|
4
|
+
*/
|
|
5
|
+
import type { Controller } from '../controller.js';
|
|
6
|
+
import type { Glyphs } from '../render/glyphs.js';
|
|
7
|
+
import type { TuiState } from '../state/actions.js';
|
|
8
|
+
/** A workspace lock's holder, as the status / the locked error report it. */
|
|
9
|
+
export interface LockHolder {
|
|
10
|
+
pid: bigint;
|
|
11
|
+
acquiredAt: string;
|
|
12
|
+
command: {
|
|
13
|
+
type: 'some';
|
|
14
|
+
value: string;
|
|
15
|
+
} | {
|
|
16
|
+
type: 'none';
|
|
17
|
+
value: null;
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Whether a run is live in a workspace: running, launched and not yet seen
|
|
22
|
+
* running (settling), or cancelled and not yet seen stopped (stopping).
|
|
23
|
+
*
|
|
24
|
+
* @param state - The store state
|
|
25
|
+
* @param ws - The workspace
|
|
26
|
+
* @returns `true` while live
|
|
27
|
+
*/
|
|
28
|
+
export declare function isRunLive(state: TuiState, ws: string): boolean;
|
|
29
|
+
/**
|
|
30
|
+
* The lock holder line: `pid 4242 · e3 dataflow run · 12s ago`.
|
|
31
|
+
*
|
|
32
|
+
* @param holder - The holder
|
|
33
|
+
* @param now - Epoch milliseconds
|
|
34
|
+
* @param g - The glyph set
|
|
35
|
+
* @returns The text
|
|
36
|
+
*/
|
|
37
|
+
export declare function lockHolderText(holder: LockHolder, now: number, g: Glyphs): string;
|
|
38
|
+
/**
|
|
39
|
+
* The toast for a failed launch: the lock holder for `workspace_locked`,
|
|
40
|
+
* else the formatted error.
|
|
41
|
+
*
|
|
42
|
+
* @param err - The error
|
|
43
|
+
* @param ws - The workspace
|
|
44
|
+
* @param now - Epoch milliseconds
|
|
45
|
+
* @param g - The glyph set
|
|
46
|
+
* @returns The toast text
|
|
47
|
+
*/
|
|
48
|
+
export declare function launchFailureText(err: unknown, ws: string, now: number, g: Glyphs): string;
|
|
49
|
+
/**
|
|
50
|
+
* Starts the dataflow in a workspace.
|
|
51
|
+
*
|
|
52
|
+
* @param controller - The controller
|
|
53
|
+
* @param ws - The workspace
|
|
54
|
+
* @param options - `--force`, `--filter`, `--concurrency`
|
|
55
|
+
*/
|
|
56
|
+
export declare function startRun(controller: Controller, ws: string, options: {
|
|
57
|
+
force: boolean;
|
|
58
|
+
filter: string | undefined;
|
|
59
|
+
concurrency: number | undefined;
|
|
60
|
+
}): Promise<void>;
|
|
61
|
+
/**
|
|
62
|
+
* Cancels the dataflow running in a workspace.
|
|
63
|
+
*
|
|
64
|
+
* @param controller - The controller
|
|
65
|
+
* @param ws - The workspace
|
|
66
|
+
*/
|
|
67
|
+
export declare function cancelRun(controller: Controller, ws: string): Promise<void>;
|
|
68
|
+
//# sourceMappingURL=dataflow.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dataflow.d.ts","sourceRoot":"","sources":["../../../src/tui/data/dataflow.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAgBH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAElD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAEpD,6EAA6E;AAC7E,MAAM,WAAW,UAAU;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,IAAI,CAAA;KAAE,CAAC;CAC5E;AAED;;;;;;;GAOG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAG9D;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAGjF;AAUD;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAQ1F;AAED;;;;;;GAMG;AACH,wBAAsB,QAAQ,CAAC,UAAU,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAAC,WAAW,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA6B1K;AAED;;;;;GAKG;AACH,wBAAsB,SAAS,CAAC,UAAU,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA4BjF"}
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2025 Elara AI Pty Ltd
|
|
3
|
+
* Dual-licensed under AGPL-3.0 and commercial license. See LICENSE for details.
|
|
4
|
+
*/
|
|
5
|
+
import { apiCode, describeError } from '../api.js';
|
|
6
|
+
import { timeAgo } from '../render/text.js';
|
|
7
|
+
/**
|
|
8
|
+
* Whether a run is live in a workspace: running, launched and not yet seen
|
|
9
|
+
* running (settling), or cancelled and not yet seen stopped (stopping).
|
|
10
|
+
*
|
|
11
|
+
* @param state - The store state
|
|
12
|
+
* @param ws - The workspace
|
|
13
|
+
* @returns `true` while live
|
|
14
|
+
*/
|
|
15
|
+
export function isRunLive(state, ws) {
|
|
16
|
+
const execution = state.data.execution[ws];
|
|
17
|
+
return execution !== undefined && (execution.state?.status.type === 'running' || execution.settling || execution.stopping);
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* The lock holder line: `pid 4242 · e3 dataflow run · 12s ago`.
|
|
21
|
+
*
|
|
22
|
+
* @param holder - The holder
|
|
23
|
+
* @param now - Epoch milliseconds
|
|
24
|
+
* @param g - The glyph set
|
|
25
|
+
* @returns The text
|
|
26
|
+
*/
|
|
27
|
+
export function lockHolderText(holder, now, g) {
|
|
28
|
+
const command = holder.command.type === 'some' ? holder.command.value : 'another process';
|
|
29
|
+
return `pid ${holder.pid} ${g.sep} ${command} ${g.sep} ${timeAgo(holder.acquiredAt, now)}`;
|
|
30
|
+
}
|
|
31
|
+
/** The message of an error's details (`{ message }` or a string). */
|
|
32
|
+
function detailMessage(err) {
|
|
33
|
+
const details = err.details;
|
|
34
|
+
if (typeof details === 'string')
|
|
35
|
+
return details;
|
|
36
|
+
if (typeof details === 'object' && details !== null && typeof details.message === 'string')
|
|
37
|
+
return details.message;
|
|
38
|
+
return '';
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* The toast for a failed launch: the lock holder for `workspace_locked`,
|
|
42
|
+
* else the formatted error.
|
|
43
|
+
*
|
|
44
|
+
* @param err - The error
|
|
45
|
+
* @param ws - The workspace
|
|
46
|
+
* @param now - Epoch milliseconds
|
|
47
|
+
* @param g - The glyph set
|
|
48
|
+
* @returns The toast text
|
|
49
|
+
*/
|
|
50
|
+
export function launchFailureText(err, ws, now, g) {
|
|
51
|
+
if (apiCode(err) === 'workspace_locked') {
|
|
52
|
+
const details = err.details;
|
|
53
|
+
const holder = details?.holder;
|
|
54
|
+
if (holder !== undefined && holder.type === 'known' && holder.value !== null)
|
|
55
|
+
return `workspace ${ws} is locked by ${lockHolderText(holder.value, now, g)}`;
|
|
56
|
+
return `workspace ${ws} is locked by another process`;
|
|
57
|
+
}
|
|
58
|
+
return describeError(err);
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Starts the dataflow in a workspace.
|
|
62
|
+
*
|
|
63
|
+
* @param controller - The controller
|
|
64
|
+
* @param ws - The workspace
|
|
65
|
+
* @param options - `--force`, `--filter`, `--concurrency`
|
|
66
|
+
*/
|
|
67
|
+
export async function startRun(controller, ws, options) {
|
|
68
|
+
const s = controller.state();
|
|
69
|
+
const g = controller.deps.glyphs;
|
|
70
|
+
if (isRunLive(s, ws)) {
|
|
71
|
+
controller.toast('a run is already in progress — /stop first', 'warn');
|
|
72
|
+
return;
|
|
73
|
+
}
|
|
74
|
+
const api = controller.deps.api();
|
|
75
|
+
if (api === null) {
|
|
76
|
+
controller.toast('no session is open', 'neg');
|
|
77
|
+
return;
|
|
78
|
+
}
|
|
79
|
+
const dataflowOptions = { force: options.force };
|
|
80
|
+
if (options.filter !== undefined)
|
|
81
|
+
dataflowOptions.filter = options.filter;
|
|
82
|
+
if (options.concurrency !== undefined)
|
|
83
|
+
dataflowOptions.concurrency = options.concurrency;
|
|
84
|
+
controller.dispatch({ type: 'data/executionFlag', ws, settling: true });
|
|
85
|
+
try {
|
|
86
|
+
await api.dataflowExecuteLaunch(ws, dataflowOptions);
|
|
87
|
+
}
|
|
88
|
+
catch (err) {
|
|
89
|
+
controller.dispatch({ type: 'data/executionFlag', ws, settling: false });
|
|
90
|
+
controller.deps.log(`run ${ws} failed: ${describeError(err)}`);
|
|
91
|
+
controller.toast(launchFailureText(err, ws, controller.deps.now(), g), 'neg');
|
|
92
|
+
return;
|
|
93
|
+
}
|
|
94
|
+
const taskCount = s.data.status[ws]?.result.tasks.length ?? 0;
|
|
95
|
+
const queued = options.filter !== undefined ? `tasks matching ${options.filter} queued` : `${taskCount} task${taskCount === 1 ? '' : 's'} queued`;
|
|
96
|
+
controller.toast(`Dataflow started ${g.sep} ${ws} ${g.sep} ${queued}`, 'pos');
|
|
97
|
+
controller.deps.feeds.fire(`execution:${ws}`);
|
|
98
|
+
controller.deps.feeds.fire(`status:${ws}`);
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Cancels the dataflow running in a workspace.
|
|
102
|
+
*
|
|
103
|
+
* @param controller - The controller
|
|
104
|
+
* @param ws - The workspace
|
|
105
|
+
*/
|
|
106
|
+
export async function cancelRun(controller, ws) {
|
|
107
|
+
const s = controller.state();
|
|
108
|
+
const g = controller.deps.glyphs;
|
|
109
|
+
if (!isRunLive(s, ws)) {
|
|
110
|
+
controller.toast('no run in progress', 'warn');
|
|
111
|
+
return;
|
|
112
|
+
}
|
|
113
|
+
const api = controller.deps.api();
|
|
114
|
+
if (api === null) {
|
|
115
|
+
controller.toast('no session is open', 'neg');
|
|
116
|
+
return;
|
|
117
|
+
}
|
|
118
|
+
controller.dispatch({ type: 'data/executionFlag', ws, stopping: true });
|
|
119
|
+
try {
|
|
120
|
+
await api.dataflowCancel(ws);
|
|
121
|
+
}
|
|
122
|
+
catch (err) {
|
|
123
|
+
controller.dispatch({ type: 'data/executionFlag', ws, stopping: false });
|
|
124
|
+
controller.deps.log(`stop ${ws} failed: ${describeError(err)}`);
|
|
125
|
+
if (apiCode(err) === 'internal' && /no active execution/i.test(detailMessage(err))) {
|
|
126
|
+
controller.toast('nothing to cancel here — the run was started by another server process; stop it from there', 'warn');
|
|
127
|
+
}
|
|
128
|
+
else {
|
|
129
|
+
controller.toast(describeError(err), 'neg');
|
|
130
|
+
}
|
|
131
|
+
return;
|
|
132
|
+
}
|
|
133
|
+
controller.toast('Dataflow cancelled', 'warn', g.square);
|
|
134
|
+
controller.deps.feeds.fire(`execution:${ws}`);
|
|
135
|
+
controller.deps.feeds.fire(`status:${ws}`);
|
|
136
|
+
}
|
|
137
|
+
//# sourceMappingURL=dataflow.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dataflow.js","sourceRoot":"","sources":["../../../src/tui/data/dataflow.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2025 Elara AI Pty Ltd
|
|
3
|
+
* Dual-licensed under AGPL-3.0 and commercial license. See LICENSE for details.
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Dataset content — what the value tree shows for one dataset path.
|
|
7
|
+
*
|
|
8
|
+
* `tick` polls `datasetGetStatus` (every 5 s while the dataset is on
|
|
9
|
+
* screen) and, on a new content hash, decides how the value is shown, as
|
|
10
|
+
* the web preview does: no value → *unset* / *null*; a collection root
|
|
11
|
+
* (Array / Set / Dict) → *paged* through `datasetGetPage` in 500-row
|
|
12
|
+
* windows, read-only, at every size; any other root ≤ 200 KB → fetched
|
|
13
|
+
* whole, decoded and materialized into the tree (*inline*); larger → *too
|
|
14
|
+
* large* (`/save` still works). The server's refusals map to states:
|
|
15
|
+
* `dataset_not_indexed` (a legacy blob) → *not indexed* with a `⏎ load
|
|
16
|
+
* whole value` fallback up to 64 MB, `dataset_too_large` → *too large*,
|
|
17
|
+
* `dataset_hash_mismatch` → the status is refetched.
|
|
18
|
+
*
|
|
19
|
+
* Pages are keyed `(ws, path, hash, page)`: raw bytes stay in a small
|
|
20
|
+
* cache so a page that was evicted from the eight retained around the
|
|
21
|
+
* window re-materializes without a request; one fetch is in flight per
|
|
22
|
+
* key. Decoding and materializing yield to the renderer first.
|
|
23
|
+
*
|
|
24
|
+
* @packageDocumentation
|
|
25
|
+
*/
|
|
26
|
+
import { type EastTypeValue } from '@elaraai/east';
|
|
27
|
+
import { type DatasetKeyMatchRange, type DatasetKeyQuery, type ValueTreePagedRow } from '@elaraai/east-ui/internal';
|
|
28
|
+
import { type Api } from '../api.js';
|
|
29
|
+
import { PAGE_SIZE, collectionKeys, isCollectionType, keyTypeOf, viewDataset } from '../model/tree.js';
|
|
30
|
+
import type { Store } from '../state/store.js';
|
|
31
|
+
export { PAGE_SIZE, collectionKeys, isCollectionType, keyTypeOf, viewDataset };
|
|
32
|
+
/** Non-collection values up to this many bytes are fetched whole. */
|
|
33
|
+
export declare const INLINE_LIMIT: number;
|
|
34
|
+
/** `⏎ load whole value` on a not-indexed collection is offered up to this size. */
|
|
35
|
+
export declare const WHOLE_LIMIT: number;
|
|
36
|
+
/** Loaded pages retained around the window. */
|
|
37
|
+
export declare const MAX_RETAINED_PAGES = 8;
|
|
38
|
+
/** Raw page bytes kept per session (a return re-materializes without a request). */
|
|
39
|
+
export declare const MAX_CACHED_PAGES = 32;
|
|
40
|
+
/**
|
|
41
|
+
* Materializes one decoded page into the tree's paged-row contract (the
|
|
42
|
+
* web preview's `pageRows`).
|
|
43
|
+
*
|
|
44
|
+
* @param type - The dataset's root type
|
|
45
|
+
* @param decoded - The decoded page (a value of the root type)
|
|
46
|
+
* @param offset - The global row of the page's first element
|
|
47
|
+
* @returns The rows
|
|
48
|
+
*/
|
|
49
|
+
export declare function pageRows(type: EastTypeValue, decoded: unknown, offset: number): ValueTreePagedRow[];
|
|
50
|
+
/** What the loader needs. */
|
|
51
|
+
export interface DatasetLoaderDeps {
|
|
52
|
+
store: Store;
|
|
53
|
+
api: () => Api | null;
|
|
54
|
+
log?: ((line: string) => void) | undefined;
|
|
55
|
+
}
|
|
56
|
+
/** The dataset loader. */
|
|
57
|
+
export interface DatasetLoader {
|
|
58
|
+
/** Polls the status and (re)loads the content on a new hash (`force` also past a pending edit's conflict). */
|
|
59
|
+
tick(ws: string, path: string, force?: boolean): Promise<void>;
|
|
60
|
+
/** Reloads the content now, past any conflict (`/reload`). */
|
|
61
|
+
reload(ws: string, path: string): Promise<void>;
|
|
62
|
+
/** Requests the pages covering root rows `[startRow, endRow)` (with retention). */
|
|
63
|
+
needRows(ws: string, path: string, startRow: number, endRow: number): void;
|
|
64
|
+
/** `⏎ load whole value` on a not-indexed collection. */
|
|
65
|
+
loadWhole(ws: string, path: string): Promise<void>;
|
|
66
|
+
/** Locates a key query: server-side for a paged value, in memory for an inline one. */
|
|
67
|
+
findKey(ws: string, path: string, query: DatasetKeyQuery): Promise<DatasetKeyMatchRange>;
|
|
68
|
+
/** The stored bytes (`/save`). */
|
|
69
|
+
bytes(ws: string, path: string): Promise<Uint8Array>;
|
|
70
|
+
/** Drops the caches and in-flight bookkeeping. */
|
|
71
|
+
reset(): void;
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Creates the loader.
|
|
75
|
+
*
|
|
76
|
+
* @param deps - The store, the API accessor, the log
|
|
77
|
+
* @returns The loader
|
|
78
|
+
*/
|
|
79
|
+
export declare function createDatasetLoader(deps: DatasetLoaderDeps): DatasetLoader;
|
|
80
|
+
//# sourceMappingURL=dataset.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dataset.d.ts","sourceRoot":"","sources":["../../../src/tui/data/dataset.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,EAA4B,KAAK,aAAa,EAAE,MAAM,eAAe,CAAC;AAE7E,OAAO,EAAqC,KAAK,oBAAoB,EAAE,KAAK,eAAe,EAAE,KAAK,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACvJ,OAAO,EAAsC,KAAK,GAAG,EAAE,MAAM,WAAW,CAAC;AACzE,OAAO,EAAE,SAAS,EAA8B,cAAc,EAAE,gBAAgB,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEnI,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAE/C,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,gBAAgB,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC;AAE/E,qEAAqE;AACrE,eAAO,MAAM,YAAY,QAAa,CAAC;AACvC,mFAAmF;AACnF,eAAO,MAAM,WAAW,QAAmB,CAAC;AAC5C,+CAA+C;AAC/C,eAAO,MAAM,kBAAkB,IAAI,CAAC;AACpC,oFAAoF;AACpF,eAAO,MAAM,gBAAgB,KAAK,CAAC;AAInC;;;;;;;;GAQG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,iBAAiB,EAAE,CAgBnG;AAED,6BAA6B;AAC7B,MAAM,WAAW,iBAAiB;IAC9B,KAAK,EAAE,KAAK,CAAC;IACb,GAAG,EAAE,MAAM,GAAG,GAAG,IAAI,CAAC;IACtB,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;CAC9C;AAED,0BAA0B;AAC1B,MAAM,WAAW,aAAa;IAC1B,8GAA8G;IAC9G,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/D,8DAA8D;IAC9D,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAChD,mFAAmF;IACnF,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3E,wDAAwD;IACxD,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnD,uFAAuF;IACvF,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;IACzF,kCAAkC;IAClC,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IACrD,kDAAkD;IAClD,KAAK,IAAI,IAAI,CAAC;CACjB;AAID;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,iBAAiB,GAAG,aAAa,CAmM1E"}
|