@elaraai/e3-ui-cli 1.0.79 → 1.0.81
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 +8 -6
- package/dist/app/assets/{engine-DAHqaY4g-B9nTMQVT.js → engine-D7VXHt7P-TStdXyXV.js} +1 -1
- package/dist/app/assets/{index-CIIzwdrV.js → index-DUOL-ROM.js} +113 -115
- package/dist/app/index.html +1 -1
- package/dist/cli.js +2 -0
- package/dist/cli.js.map +1 -1
- package/dist/commands/tui.d.ts +15 -3
- package/dist/commands/tui.d.ts.map +1 -1
- package/dist/commands/tui.js +14 -4
- package/dist/commands/tui.js.map +1 -1
- package/dist/e3-server.d.ts +6 -1
- package/dist/e3-server.d.ts.map +1 -1
- package/dist/e3-server.js +6 -1
- package/dist/e3-server.js.map +1 -1
- package/dist/load-source.d.ts +13 -11
- package/dist/load-source.d.ts.map +1 -1
- package/dist/load-source.js +9 -10
- package/dist/load-source.js.map +1 -1
- package/dist/tui/api.d.ts +17 -1
- package/dist/tui/api.d.ts.map +1 -1
- package/dist/tui/api.js +6 -1
- package/dist/tui/api.js.map +1 -1
- package/dist/tui/app.d.ts.map +1 -1
- package/dist/tui/app.js +19 -1
- package/dist/tui/app.js.map +1 -1
- package/dist/tui/controller.d.ts +3 -1
- package/dist/tui/controller.d.ts.map +1 -1
- package/dist/tui/controller.js +48 -20
- package/dist/tui/controller.js.map +1 -1
- package/dist/tui/data/dataflow.d.ts +1 -2
- package/dist/tui/data/dataflow.d.ts.map +1 -1
- package/dist/tui/data/dataflow.js +1 -3
- package/dist/tui/data/dataflow.js.map +1 -1
- package/dist/tui/data/dataset.d.ts +24 -5
- package/dist/tui/data/dataset.d.ts.map +1 -1
- package/dist/tui/data/dataset.js +100 -25
- package/dist/tui/data/dataset.js.map +1 -1
- package/dist/tui/data/feeds.d.ts +3 -0
- package/dist/tui/data/feeds.d.ts.map +1 -1
- package/dist/tui/data/feeds.js +60 -7
- package/dist/tui/data/feeds.js.map +1 -1
- package/dist/tui/data/records.d.ts +63 -0
- package/dist/tui/data/records.d.ts.map +1 -0
- package/dist/tui/data/records.js +144 -0
- package/dist/tui/data/records.js.map +1 -0
- package/dist/tui/input/commands.d.ts +14 -11
- package/dist/tui/input/commands.d.ts.map +1 -1
- package/dist/tui/input/commands.js +20 -15
- package/dist/tui/input/commands.js.map +1 -1
- package/dist/tui/input/completion.d.ts +10 -4
- package/dist/tui/input/completion.d.ts.map +1 -1
- package/dist/tui/input/completion.js +6 -0
- package/dist/tui/input/completion.js.map +1 -1
- package/dist/tui/model/catalogue.d.ts.map +1 -1
- package/dist/tui/model/catalogue.js +39 -3
- package/dist/tui/model/catalogue.js.map +1 -1
- package/dist/tui/model/help.d.ts.map +1 -1
- package/dist/tui/model/help.js +44 -4
- package/dist/tui/model/help.js.map +1 -1
- package/dist/tui/model/status.d.ts +55 -3
- package/dist/tui/model/status.d.ts.map +1 -1
- package/dist/tui/model/status.js +126 -4
- package/dist/tui/model/status.js.map +1 -1
- package/dist/tui/model/tree.d.ts +36 -1
- package/dist/tui/model/tree.d.ts.map +1 -1
- package/dist/tui/model/tree.js +58 -8
- package/dist/tui/model/tree.js.map +1 -1
- package/dist/tui/render/glyphs.d.ts +2 -0
- package/dist/tui/render/glyphs.d.ts.map +1 -1
- package/dist/tui/render/glyphs.js +2 -0
- package/dist/tui/render/glyphs.js.map +1 -1
- package/dist/tui/render/layout.d.ts +1 -1
- package/dist/tui/render/layout.d.ts.map +1 -1
- package/dist/tui/render/layout.js +50 -5
- package/dist/tui/render/layout.js.map +1 -1
- package/dist/tui/session.d.ts.map +1 -1
- package/dist/tui/session.js +7 -0
- package/dist/tui/session.js.map +1 -1
- package/dist/tui/state/actions.d.ts +70 -5
- package/dist/tui/state/actions.d.ts.map +1 -1
- package/dist/tui/state/actions.js +10 -1
- package/dist/tui/state/actions.js.map +1 -1
- package/dist/tui/state/persist.d.ts +1 -1
- package/dist/tui/state/persist.d.ts.map +1 -1
- package/dist/tui/state/reducer.d.ts.map +1 -1
- package/dist/tui/state/reducer.js +24 -2
- package/dist/tui/state/reducer.js.map +1 -1
- package/dist/tui/ui/App.js +1 -1
- package/dist/tui/ui/App.js.map +1 -1
- package/dist/tui/ui/shell/chrome.d.ts +6 -1
- package/dist/tui/ui/shell/chrome.d.ts.map +1 -1
- package/dist/tui/ui/shell/chrome.js +26 -23
- package/dist/tui/ui/shell/chrome.js.map +1 -1
- package/dist/tui/ui/views/all.d.ts +1 -0
- package/dist/tui/ui/views/all.d.ts.map +1 -1
- package/dist/tui/ui/views/all.js +1 -0
- package/dist/tui/ui/views/all.js.map +1 -1
- package/dist/tui/ui/views/dashboard.d.ts +75 -18
- package/dist/tui/ui/views/dashboard.d.ts.map +1 -1
- package/dist/tui/ui/views/dashboard.js +265 -40
- package/dist/tui/ui/views/dashboard.js.map +1 -1
- package/dist/tui/ui/views/help.js +1 -1
- package/dist/tui/ui/views/record.d.ts +38 -0
- package/dist/tui/ui/views/record.d.ts.map +1 -0
- package/dist/tui/ui/views/record.js +298 -0
- package/dist/tui/ui/views/record.js.map +1 -0
- package/dist/tui/ui/widgets/reads.d.ts +7 -7
- package/dist/tui/ui/widgets/reads.d.ts.map +1 -1
- package/dist/tui/ui/widgets/reads.js +9 -21
- package/dist/tui/ui/widgets/reads.js.map +1 -1
- package/dist/tui/ui/widgets/runs.d.ts +2 -2
- package/dist/tui/ui/widgets/runs.d.ts.map +1 -1
- package/dist/tui/ui/widgets/runs.js +3 -2
- package/dist/tui/ui/widgets/runs.js.map +1 -1
- package/dist/tui/ui/widgets/tree.d.ts +11 -6
- package/dist/tui/ui/widgets/tree.d.ts.map +1 -1
- package/dist/tui/ui/widgets/tree.js +28 -17
- package/dist/tui/ui/widgets/tree.js.map +1 -1
- package/package.json +14 -14
|
@@ -0,0 +1,63 @@
|
|
|
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
|
+
* Records — what the RECORDS table and the record view know of a
|
|
7
|
+
* workspace's records. `tick` follows the dataset list: for each record
|
|
8
|
+
* whose state moved since it was read, or whose package was redeployed, its
|
|
9
|
+
* signature (its mutations and indexes), its rows (the status geometry) and
|
|
10
|
+
* its newest commit, so a poll that finds nothing moved asks for nothing.
|
|
11
|
+
* `history` reads a record's commits a page at a time, newest first, for
|
|
12
|
+
* the History tab: the newest page on every poll, joined to the older pages
|
|
13
|
+
* already read, and the page after those when the view asks for more.
|
|
14
|
+
*
|
|
15
|
+
* @packageDocumentation
|
|
16
|
+
*/
|
|
17
|
+
import type { ListEntry, RecordCommitInfo } from '@elaraai/e3-api-client';
|
|
18
|
+
import { type Api } from '../api.js';
|
|
19
|
+
import type { Store } from '../state/store.js';
|
|
20
|
+
/** Commits a history page holds. */
|
|
21
|
+
export declare const HISTORY_PAGE = 100;
|
|
22
|
+
/** What the loader needs. */
|
|
23
|
+
export interface RecordsLoaderDeps {
|
|
24
|
+
store: Store;
|
|
25
|
+
api: () => Api | null;
|
|
26
|
+
log?: ((line: string) => void) | undefined;
|
|
27
|
+
}
|
|
28
|
+
/** The records loader. */
|
|
29
|
+
export interface RecordsLoader {
|
|
30
|
+
/** Reads what moved of a workspace's records: each one's signature, rows and newest commit. */
|
|
31
|
+
tick(ws: string): Promise<void>;
|
|
32
|
+
/** Reads a record's newest commits, or with `more` the page after those read. */
|
|
33
|
+
history(ws: string, name: string, more?: boolean): Promise<void>;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* The records of a workspace's dataset list, with their state hashes.
|
|
37
|
+
*
|
|
38
|
+
* @param entries - The dataset list
|
|
39
|
+
* @returns Each record's name and hash (null while it holds no state), in list order
|
|
40
|
+
*/
|
|
41
|
+
export declare function recordEntries(entries: readonly ListEntry[]): {
|
|
42
|
+
name: string;
|
|
43
|
+
hash: string | null;
|
|
44
|
+
}[];
|
|
45
|
+
/**
|
|
46
|
+
* Creates the loader.
|
|
47
|
+
*
|
|
48
|
+
* @param deps - The store and the API accessor
|
|
49
|
+
* @returns The loader
|
|
50
|
+
*/
|
|
51
|
+
export declare function createRecordsLoader(deps: RecordsLoaderDeps): RecordsLoader;
|
|
52
|
+
/**
|
|
53
|
+
* The newest page joined to the commits read before: the older ones follow
|
|
54
|
+
* where the page reaches the first of them, and are dropped when it does
|
|
55
|
+
* not — more commits landed than a page holds, or the chain was compacted
|
|
56
|
+
* or rolled back.
|
|
57
|
+
*
|
|
58
|
+
* @param page - The newest page, newest first
|
|
59
|
+
* @param held - The commits read before, newest first
|
|
60
|
+
* @returns The commits, newest first
|
|
61
|
+
*/
|
|
62
|
+
export declare function joinPages(page: readonly RecordCommitInfo[], held: readonly RecordCommitInfo[]): RecordCommitInfo[];
|
|
63
|
+
//# sourceMappingURL=records.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"records.d.ts","sourceRoot":"","sources":["../../../src/tui/data/records.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAuB,SAAS,EAAE,gBAAgB,EAAwC,MAAM,wBAAwB,CAAC;AACrI,OAAO,EAA6B,KAAK,GAAG,EAAE,MAAM,WAAW,CAAC;AAEhE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAE/C,oCAAoC;AACpC,eAAO,MAAM,YAAY,MAAM,CAAC;AAEhC,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,+FAA+F;IAC/F,IAAI,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAChC,iFAAiF;IACjF,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACpE;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,SAAS,SAAS,EAAE,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,EAAE,CASpG;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,iBAAiB,GAAG,aAAa,CAmF1E;AAQD;;;;;;;;;GASG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,SAAS,gBAAgB,EAAE,EAAE,IAAI,EAAE,SAAS,gBAAgB,EAAE,GAAG,gBAAgB,EAAE,CAKlH"}
|
|
@@ -0,0 +1,144 @@
|
|
|
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 { describeError, treePathOf } from '../api.js';
|
|
6
|
+
/** Commits a history page holds. */
|
|
7
|
+
export const HISTORY_PAGE = 100;
|
|
8
|
+
/**
|
|
9
|
+
* The records of a workspace's dataset list, with their state hashes.
|
|
10
|
+
*
|
|
11
|
+
* @param entries - The dataset list
|
|
12
|
+
* @returns Each record's name and hash (null while it holds no state), in list order
|
|
13
|
+
*/
|
|
14
|
+
export function recordEntries(entries) {
|
|
15
|
+
const out = [];
|
|
16
|
+
for (const entry of entries) {
|
|
17
|
+
if (entry.type !== 'dataset')
|
|
18
|
+
continue;
|
|
19
|
+
const path = entry.value.path.replace(/^\./, '');
|
|
20
|
+
if (!path.startsWith('records.'))
|
|
21
|
+
continue;
|
|
22
|
+
out.push({ name: path.slice('records.'.length), hash: entry.value.hash.type === 'some' ? entry.value.hash.value : null });
|
|
23
|
+
}
|
|
24
|
+
return out;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Creates the loader.
|
|
28
|
+
*
|
|
29
|
+
* @param deps - The store and the API accessor
|
|
30
|
+
* @returns The loader
|
|
31
|
+
*/
|
|
32
|
+
export function createRecordsLoader(deps) {
|
|
33
|
+
const { store } = deps;
|
|
34
|
+
/** Per record (`ws\nname`): the package its signature was read under, when that was known. */
|
|
35
|
+
const describedUnder = new Map();
|
|
36
|
+
const current = (ws, name) => store.getState().data.records[ws]?.[name];
|
|
37
|
+
const put = (ws, name, data) => store.dispatch({ type: 'data/record', ws, name, data });
|
|
38
|
+
return {
|
|
39
|
+
async tick(ws) {
|
|
40
|
+
const api = deps.api();
|
|
41
|
+
if (api === null)
|
|
42
|
+
return;
|
|
43
|
+
const state = store.getState();
|
|
44
|
+
// A redeploy can change a record's mutations without touching its
|
|
45
|
+
// state, so a signature read under one package is read again under
|
|
46
|
+
// another. One read before the deployed state was known is taken as
|
|
47
|
+
// read under the package it turns out to be.
|
|
48
|
+
const deployed = state.data.workspaceState[ws]?.packageHash;
|
|
49
|
+
for (const { name, hash } of recordEntries(state.data.datasets[ws] ?? [])) {
|
|
50
|
+
const known = current(ws, name);
|
|
51
|
+
const key = `${ws}\n${name}`;
|
|
52
|
+
const under = describedUnder.get(key);
|
|
53
|
+
const redeployed = deployed !== undefined && under !== undefined && under !== deployed;
|
|
54
|
+
if (known !== undefined && known.hash === hash && known.signature !== null && !redeployed) {
|
|
55
|
+
if (under === undefined)
|
|
56
|
+
describedUnder.set(key, deployed);
|
|
57
|
+
continue;
|
|
58
|
+
}
|
|
59
|
+
let read;
|
|
60
|
+
try {
|
|
61
|
+
read = await Promise.all([
|
|
62
|
+
api.recordDescribe(ws, name),
|
|
63
|
+
api.datasetGetStatus(ws, treePathOf(`.records.${name}`)),
|
|
64
|
+
api.recordHistory(ws, name, { limit: 1 }),
|
|
65
|
+
]);
|
|
66
|
+
}
|
|
67
|
+
catch (err) {
|
|
68
|
+
// A record that cannot be read now is read again on the next
|
|
69
|
+
// poll; it never fails the dataset list it follows.
|
|
70
|
+
deps.log?.(`record ${ws}.${name} not read: ${describeError(err)}`);
|
|
71
|
+
continue;
|
|
72
|
+
}
|
|
73
|
+
const [signature, status, newest] = read;
|
|
74
|
+
describedUnder.set(key, deployed);
|
|
75
|
+
// The commits the History tab read stay: its next poll joins the
|
|
76
|
+
// newest page to them, or starts again where the chain was rewritten.
|
|
77
|
+
const after = current(ws, name);
|
|
78
|
+
put(ws, name, {
|
|
79
|
+
hash,
|
|
80
|
+
signature,
|
|
81
|
+
rows: status.rows.type === 'some' ? Number(status.rows.value) : null,
|
|
82
|
+
head: newest.commits[0] ?? null,
|
|
83
|
+
history: after?.history ?? null,
|
|
84
|
+
complete: after?.complete ?? false,
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
},
|
|
88
|
+
async history(ws, name, more = false) {
|
|
89
|
+
const api = deps.api();
|
|
90
|
+
if (api === null)
|
|
91
|
+
return;
|
|
92
|
+
// The History tab may read before the dataset list has named the
|
|
93
|
+
// record: its commits come first, the tick fills in the rest.
|
|
94
|
+
const known = current(ws, name) ?? { hash: null, signature: null, rows: null, head: null, history: null, complete: false };
|
|
95
|
+
const held = known.history ?? [];
|
|
96
|
+
if (more) {
|
|
97
|
+
const last = held[held.length - 1];
|
|
98
|
+
if (known.complete || last === undefined || last.parent.type === 'none')
|
|
99
|
+
return;
|
|
100
|
+
const page = await api.recordHistory(ws, name, { limit: HISTORY_PAGE, from: last.parent.value });
|
|
101
|
+
const after = current(ws, name);
|
|
102
|
+
// A newer page landed meanwhile: this one follows commits no longer held.
|
|
103
|
+
if (after === undefined || after.history !== known.history)
|
|
104
|
+
return;
|
|
105
|
+
put(ws, name, { ...after, history: [...held, ...page.commits], complete: complete(page.commits) });
|
|
106
|
+
return;
|
|
107
|
+
}
|
|
108
|
+
const page = await api.recordHistory(ws, name, { limit: HISTORY_PAGE });
|
|
109
|
+
const after = current(ws, name) ?? known;
|
|
110
|
+
const joined = joinPages(page.commits, after.history ?? []);
|
|
111
|
+
put(ws, name, {
|
|
112
|
+
...after,
|
|
113
|
+
head: page.commits[0] ?? after.head,
|
|
114
|
+
history: joined,
|
|
115
|
+
// Joined to older pages, the chain ends where they end.
|
|
116
|
+
complete: joined.length === page.commits.length ? complete(page.commits) : after.complete,
|
|
117
|
+
});
|
|
118
|
+
},
|
|
119
|
+
};
|
|
120
|
+
}
|
|
121
|
+
/** Whether a page ends the chain: it came back short, or its last commit is a root. */
|
|
122
|
+
function complete(page) {
|
|
123
|
+
const last = page[page.length - 1];
|
|
124
|
+
return page.length < HISTORY_PAGE || last === undefined || last.parent.type === 'none';
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* The newest page joined to the commits read before: the older ones follow
|
|
128
|
+
* where the page reaches the first of them, and are dropped when it does
|
|
129
|
+
* not — more commits landed than a page holds, or the chain was compacted
|
|
130
|
+
* or rolled back.
|
|
131
|
+
*
|
|
132
|
+
* @param page - The newest page, newest first
|
|
133
|
+
* @param held - The commits read before, newest first
|
|
134
|
+
* @returns The commits, newest first
|
|
135
|
+
*/
|
|
136
|
+
export function joinPages(page, held) {
|
|
137
|
+
if (held.length === 0)
|
|
138
|
+
return [...page];
|
|
139
|
+
const at = page.findIndex(commit => commit.hash === held[0].hash);
|
|
140
|
+
if (at === -1)
|
|
141
|
+
return [...page];
|
|
142
|
+
return [...page.slice(0, at), ...held];
|
|
143
|
+
}
|
|
144
|
+
//# sourceMappingURL=records.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"records.js","sourceRoot":"","sources":["../../../src/tui/data/records.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,13 +2,6 @@
|
|
|
2
2
|
* Copyright (c) 2025 Elara AI Pty Ltd
|
|
3
3
|
* Dual-licensed under AGPL-3.0 and commercial license. See LICENSE for details.
|
|
4
4
|
*/
|
|
5
|
-
/**
|
|
6
|
-
* The command grammar — `parseCommand(text)` for everything the command
|
|
7
|
-
* box accepts, `describe(cmd, ctx)` for the consequence line the box shows
|
|
8
|
-
* before Enter, and `hotkeyToCommand` for the keys that prefill a command.
|
|
9
|
-
*
|
|
10
|
-
* @packageDocumentation
|
|
11
|
-
*/
|
|
12
5
|
/** A parsed command. */
|
|
13
6
|
export type ParsedCommand = {
|
|
14
7
|
name: 'task';
|
|
@@ -16,6 +9,9 @@ export type ParsedCommand = {
|
|
|
16
9
|
} | {
|
|
17
10
|
name: 'input';
|
|
18
11
|
target: string;
|
|
12
|
+
} | {
|
|
13
|
+
name: 'record';
|
|
14
|
+
target: string;
|
|
19
15
|
} | {
|
|
20
16
|
name: 'dataset';
|
|
21
17
|
target: string;
|
|
@@ -36,7 +32,6 @@ export type ParsedCommand = {
|
|
|
36
32
|
name: 'run';
|
|
37
33
|
force: boolean;
|
|
38
34
|
filter: string | undefined;
|
|
39
|
-
concurrency: number | undefined;
|
|
40
35
|
} | {
|
|
41
36
|
name: 'stop';
|
|
42
37
|
} | {
|
|
@@ -58,6 +53,11 @@ export type ParsedCommand = {
|
|
|
58
53
|
kind: 'percent';
|
|
59
54
|
percent: number;
|
|
60
55
|
};
|
|
56
|
+
}
|
|
57
|
+
/** A record's index to page through, or `primary` for its rows. */
|
|
58
|
+
| {
|
|
59
|
+
name: 'index';
|
|
60
|
+
target: string;
|
|
61
61
|
} | {
|
|
62
62
|
name: 'save';
|
|
63
63
|
file: string | undefined;
|
|
@@ -126,14 +126,17 @@ export interface DescribeContext {
|
|
|
126
126
|
taskCount: number;
|
|
127
127
|
/** Whether a run is in progress. */
|
|
128
128
|
running: boolean;
|
|
129
|
-
/** The default concurrency. */
|
|
130
|
-
concurrency: number;
|
|
131
129
|
/** Pending edits. */
|
|
132
130
|
dirty: number;
|
|
131
|
+
/** The budget a run gets (the server's), or null when unknown or its runners hold none. */
|
|
132
|
+
budget: {
|
|
133
|
+
cores: number;
|
|
134
|
+
memory: number;
|
|
135
|
+
} | null;
|
|
133
136
|
}
|
|
134
137
|
/**
|
|
135
138
|
* The consequence line the command box shows for a parsed command
|
|
136
|
-
* (`run 6 tasks in main, ignoring the cache ·
|
|
139
|
+
* (`run 6 tasks in main, ignoring the cache · 8 cores, 14 GB`).
|
|
137
140
|
*
|
|
138
141
|
* @param command - The parsed command
|
|
139
142
|
* @param ctx - The context
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../../src/tui/input/commands.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../../src/tui/input/commands.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,10 +2,19 @@
|
|
|
2
2
|
* Copyright (c) 2025 Elara AI Pty Ltd
|
|
3
3
|
* Dual-licensed under AGPL-3.0 and commercial license. See LICENSE for details.
|
|
4
4
|
*/
|
|
5
|
+
/**
|
|
6
|
+
* The command grammar — `parseCommand(text)` for everything the command
|
|
7
|
+
* box accepts, `describe(cmd, ctx)` for the consequence line the box shows
|
|
8
|
+
* before Enter, and `hotkeyToCommand` for the keys that prefill a command.
|
|
9
|
+
*
|
|
10
|
+
* @packageDocumentation
|
|
11
|
+
*/
|
|
12
|
+
import { formatSize } from '../render/text.js';
|
|
5
13
|
/** Every command name, with its argument summary and one-line effect (the help view and completion). */
|
|
6
14
|
export const COMMANDS = [
|
|
7
15
|
{ name: 'task', usage: '/task <name>', effect: 'open a task' },
|
|
8
16
|
{ name: 'input', usage: '/input <name>', effect: 'open an input' },
|
|
17
|
+
{ name: 'record', usage: '/record <name>', effect: 'open a record' },
|
|
9
18
|
{ name: 'dataset', usage: '/dataset <path>', effect: 'open a dataset by path' },
|
|
10
19
|
{ name: 'workspace', usage: '/workspace <name>', effect: 'switch workspace' },
|
|
11
20
|
{ name: 'workspaces', usage: '/workspaces', effect: 'list the workspaces' },
|
|
@@ -18,6 +27,7 @@ export const COMMANDS = [
|
|
|
18
27
|
{ name: 'runs', usage: '/runs <task>', effect: 'open a task\'s runs' },
|
|
19
28
|
{ name: 'find', usage: '/find <key|prefix|f1|f2>', effect: 'jump to key' },
|
|
20
29
|
{ name: 'goto', usage: '/goto <row|N%>', effect: 'jump to row' },
|
|
30
|
+
{ name: 'index', usage: '/index <name|primary>', effect: 'page a record by an index' },
|
|
21
31
|
{ name: 'save', usage: '/save [file]', effect: 'write .beast2 / .log' },
|
|
22
32
|
{ name: 'tag', usage: '/tag <name>', effect: 'switch a variant tag' },
|
|
23
33
|
{ name: 'add', usage: '/add [key]', effect: 'add an item / entry' },
|
|
@@ -78,12 +88,14 @@ export function parseCommand(text) {
|
|
|
78
88
|
return fail('type a command after /');
|
|
79
89
|
case 'task':
|
|
80
90
|
case 'input':
|
|
91
|
+
case 'record':
|
|
92
|
+
case 'index':
|
|
81
93
|
case 'dataset':
|
|
82
94
|
case 'workspace':
|
|
83
95
|
case 'repo': {
|
|
84
96
|
const target = args[0];
|
|
85
97
|
if (target === undefined)
|
|
86
|
-
return need(name === 'dataset' ? 'a path' : name === 'repo' ? 'a path or url' : 'a name');
|
|
98
|
+
return need(name === 'dataset' ? 'a path' : name === 'repo' ? 'a path or url' : name === 'index' ? 'an index, or primary' : 'a name');
|
|
87
99
|
return { ok: true, command: { name, target } };
|
|
88
100
|
}
|
|
89
101
|
case 'workspaces':
|
|
@@ -110,7 +122,6 @@ export function parseCommand(text) {
|
|
|
110
122
|
case 'run': {
|
|
111
123
|
let force = false;
|
|
112
124
|
let filter;
|
|
113
|
-
let concurrency;
|
|
114
125
|
for (let i = 0; i < args.length; i++) {
|
|
115
126
|
const a = args[i];
|
|
116
127
|
if (a === '--force')
|
|
@@ -122,17 +133,10 @@ export function parseCommand(text) {
|
|
|
122
133
|
}
|
|
123
134
|
else if (a.startsWith('--filter='))
|
|
124
135
|
filter = a.slice('--filter='.length);
|
|
125
|
-
else if (a === '--concurrency' || a.startsWith('--concurrency=')) {
|
|
126
|
-
const raw = a === '--concurrency' ? args[++i] : a.slice('--concurrency='.length);
|
|
127
|
-
const n = Number(raw);
|
|
128
|
-
if (raw === undefined || !Number.isInteger(n) || n < 1)
|
|
129
|
-
return fail(`--concurrency must be a positive integer, got ${raw ?? '(nothing)'}`);
|
|
130
|
-
concurrency = n;
|
|
131
|
-
}
|
|
132
136
|
else
|
|
133
|
-
return fail(`unknown /run flag ${a} — /run [--force] [--filter <glob>]
|
|
137
|
+
return fail(`unknown /run flag ${a} — /run [--force] [--filter <glob>]`);
|
|
134
138
|
}
|
|
135
|
-
return { ok: true, command: { name, force, filter
|
|
139
|
+
return { ok: true, command: { name, force, filter } };
|
|
136
140
|
}
|
|
137
141
|
case 'logs': {
|
|
138
142
|
const task = args[0];
|
|
@@ -191,7 +195,7 @@ export function parseCommand(text) {
|
|
|
191
195
|
}
|
|
192
196
|
/**
|
|
193
197
|
* The consequence line the command box shows for a parsed command
|
|
194
|
-
* (`run 6 tasks in main, ignoring the cache ·
|
|
198
|
+
* (`run 6 tasks in main, ignoring the cache · 8 cores, 14 GB`).
|
|
195
199
|
*
|
|
196
200
|
* @param command - The parsed command
|
|
197
201
|
* @param ctx - The context
|
|
@@ -203,13 +207,15 @@ export function describe(command, ctx) {
|
|
|
203
207
|
case 'run': {
|
|
204
208
|
const scope = command.filter !== undefined ? `tasks matching ${command.filter}` : `${ctx.taskCount} task${ctx.taskCount === 1 ? '' : 's'}`;
|
|
205
209
|
const cache = command.force ? ', ignoring the cache' : '';
|
|
206
|
-
const
|
|
207
|
-
return { text: ctx.running ? 'a run is already in progress' : `run ${scope} in ${ws}${cache}
|
|
210
|
+
const budget = ctx.budget === null ? '' : ` · ${ctx.budget.cores} core${ctx.budget.cores === 1 ? '' : 's'}, ${formatSize(ctx.budget.memory)}`;
|
|
211
|
+
return { text: ctx.running ? 'a run is already in progress' : `run ${scope} in ${ws}${cache}${budget}`, keys: ctx.running ? 'esc' : '⏎ run · esc' };
|
|
208
212
|
}
|
|
209
213
|
case 'stop':
|
|
210
214
|
return { text: ctx.running ? `cancel the run in ${ws}` : 'no run in progress', keys: ctx.running ? '⏎ stop · esc' : 'esc' };
|
|
211
215
|
case 'task': return { text: `open task ${command.target}`, keys: '⏎ open · esc' };
|
|
212
216
|
case 'input': return { text: `open input ${command.target}`, keys: '⏎ open · esc' };
|
|
217
|
+
case 'record': return { text: `open record ${command.target}`, keys: '⏎ open · esc' };
|
|
218
|
+
case 'index': return { text: command.target === 'primary' ? 'page through the rows' : `page through index ${command.target}`, keys: '⏎ · esc' };
|
|
213
219
|
case 'dataset': return { text: `open dataset ${command.target}`, keys: '⏎ open · esc' };
|
|
214
220
|
case 'workspace': return { text: `switch to workspace ${command.target}`, keys: '⏎ switch · esc' };
|
|
215
221
|
case 'workspaces': return { text: 'list the workspaces', keys: '⏎ · esc' };
|
|
@@ -254,6 +260,5 @@ export function hotkeyToCommand(key) {
|
|
|
254
260
|
export const RUN_FLAGS = [
|
|
255
261
|
{ flag: '--force', hint: 're-run everything' },
|
|
256
262
|
{ flag: '--filter <glob>', hint: 'only matching tasks' },
|
|
257
|
-
{ flag: '--concurrency <n>', hint: '' },
|
|
258
263
|
];
|
|
259
264
|
//# sourceMappingURL=commands.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commands.js","sourceRoot":"","sources":["../../../src/tui/input/commands.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"commands.js","sourceRoot":"","sources":["../../../src/tui/input/commands.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,9 +6,9 @@
|
|
|
6
6
|
* Completion — `complete(text, catalogue)` turns what is typed in the
|
|
7
7
|
* command box into at most eight fuzzy-ranked candidates, each carrying its
|
|
8
8
|
* status, type and size so the list doubles as a status line. A leading `/`
|
|
9
|
-
* completes command names, then that command's arguments
|
|
10
|
-
*
|
|
11
|
-
* repository.
|
|
9
|
+
* completes command names, then that command's arguments — `/index` the
|
|
10
|
+
* shown record's indexes; anything else is a fuzzy jump across every
|
|
11
|
+
* workspace, task, input, record and dataset of the open repository.
|
|
12
12
|
*
|
|
13
13
|
* @packageDocumentation
|
|
14
14
|
*/
|
|
@@ -17,7 +17,7 @@ import type { Candidate } from '../state/actions.js';
|
|
|
17
17
|
export declare const MAX_CANDIDATES = 8;
|
|
18
18
|
/** One thing that can be jumped to or named in a command. */
|
|
19
19
|
export interface CatalogueItem {
|
|
20
|
-
kind: 'task' | 'input' | 'dataset' | 'workspace' | 'repo';
|
|
20
|
+
kind: 'task' | 'input' | 'record' | 'dataset' | 'workspace' | 'repo';
|
|
21
21
|
name: string;
|
|
22
22
|
/** The workspace the item belongs to (tasks, inputs, datasets). */
|
|
23
23
|
workspace: string | null;
|
|
@@ -33,6 +33,12 @@ export interface Catalogue {
|
|
|
33
33
|
items: CatalogueItem[];
|
|
34
34
|
/** Variant tags offered by `/tag` on the selected row, if any. */
|
|
35
35
|
tags?: string[] | undefined;
|
|
36
|
+
/** What `/index` offers in a record view: `primary`, then each index with its key and what it reads. */
|
|
37
|
+
indexes?: {
|
|
38
|
+
name: string;
|
|
39
|
+
key: string;
|
|
40
|
+
detail: string;
|
|
41
|
+
}[] | undefined;
|
|
36
42
|
}
|
|
37
43
|
/**
|
|
38
44
|
* Fuzzy match score — higher is better, `null` when `pattern` is not a
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"completion.d.ts","sourceRoot":"","sources":["../../../src/tui/input/completion.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAGrD,gCAAgC;AAChC,eAAO,MAAM,cAAc,IAAI,CAAC;AAEhC,6DAA6D;AAC7D,MAAM,WAAW,aAAa;IAC1B,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,GAAG,WAAW,GAAG,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"completion.d.ts","sourceRoot":"","sources":["../../../src/tui/input/completion.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAGrD,gCAAgC;AAChC,eAAO,MAAM,cAAc,IAAI,CAAC;AAEhC,6DAA6D;AAC7D,MAAM,WAAW,aAAa;IAC1B,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,SAAS,GAAG,WAAW,GAAG,MAAM,CAAC;IACrE,IAAI,EAAE,MAAM,CAAC;IACb,mEAAmE;IACnE,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,0CAA0C;IAC1C,MAAM,EAAE,MAAM,CAAC;IACf,gDAAgD;IAChD,IAAI,EAAE,MAAM,CAAC;IACb,6CAA6C;IAC7C,MAAM,EAAE,MAAM,CAAC;CAClB;AAED,kCAAkC;AAClC,MAAM,WAAW,SAAS;IACtB,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,kEAAkE;IAClE,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;IAC5B,wGAAwG;IACxG,OAAO,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,EAAE,GAAG,SAAS,CAAC;CACzE;AAED;;;;;;;;GAQG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAmBvE;AAkBD;;;;;;GAMG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,GAAG,SAAS,EAAE,CAoDxE;AAED;;;;;;GAMG;AACH,wBAAgB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,GAAG,SAAS,EAAE,CAQpE"}
|
|
@@ -87,6 +87,12 @@ export function complete(text, catalogue) {
|
|
|
87
87
|
return byKind(['task']);
|
|
88
88
|
case 'input':
|
|
89
89
|
return byKind(['input']);
|
|
90
|
+
case 'record':
|
|
91
|
+
return byKind(['record']);
|
|
92
|
+
case 'index':
|
|
93
|
+
return rank(partial, catalogue.indexes ?? [], i => i.name)
|
|
94
|
+
.slice(0, MAX_CANDIDATES)
|
|
95
|
+
.map(i => ({ kind: 'index', insert: `/index ${i.name}`, cells: ['/index', i.name, i.key, i.detail] }));
|
|
90
96
|
case 'dataset':
|
|
91
97
|
return byKind(['dataset']);
|
|
92
98
|
case 'workspace':
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"completion.js","sourceRoot":"","sources":["../../../src/tui/input/completion.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAcH,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAEhE,gCAAgC;AAChC,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"completion.js","sourceRoot":"","sources":["../../../src/tui/input/completion.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"catalogue.d.ts","sourceRoot":"","sources":["../../../src/tui/model/catalogue.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"catalogue.d.ts","sourceRoot":"","sources":["../../../src/tui/model/catalogue.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAYH,OAAO,KAAK,EAAE,SAAS,EAAiB,MAAM,wBAAwB,CAAC;AACvE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAElD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAKpD;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC,CAmBnI;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,CA2DrF"}
|
|
@@ -2,7 +2,8 @@
|
|
|
2
2
|
* Copyright (c) 2025 Elara AI Pty Ltd
|
|
3
3
|
* Dual-licensed under AGPL-3.0 and commercial license. See LICENSE for details.
|
|
4
4
|
*/
|
|
5
|
-
import { formatSize } from '../render/text.js';
|
|
5
|
+
import { formatInt, formatSize } from '../render/text.js';
|
|
6
|
+
import { keyTypeOf } from './tree.js';
|
|
6
7
|
import { compactType } from './types.js';
|
|
7
8
|
import { datasetStatusCell, statusText, taskStatusCell } from './status.js';
|
|
8
9
|
/**
|
|
@@ -29,7 +30,7 @@ export function datasetEntries(state, ws) {
|
|
|
29
30
|
if (leaf !== undefined)
|
|
30
31
|
raw.set(task.output, leaf);
|
|
31
32
|
}
|
|
32
|
-
const uiTasks = new Set((state.data.taskList[ws] ?? []).filter(t => t.
|
|
33
|
+
const uiTasks = new Set((state.data.taskList[ws] ?? []).filter(t => t.role.type === 'ui').map(t => `.tasks.${t.name}.output`));
|
|
33
34
|
const out = new Map();
|
|
34
35
|
for (const [path, entry] of raw)
|
|
35
36
|
out.set(path, { type: compactType(entry.type, uiTasks.has(path)), size: entry.size, hash: entry.hash });
|
|
@@ -75,6 +76,18 @@ export function buildCatalogue(state, g, tags) {
|
|
|
75
76
|
detail: entry?.size != null ? formatSize(entry.size) : '—',
|
|
76
77
|
});
|
|
77
78
|
}
|
|
79
|
+
if (dataset.path.startsWith('.records.')) {
|
|
80
|
+
const name = dataset.path.slice('.records.'.length);
|
|
81
|
+
const rows = state.data.records[ws]?.[name]?.rows;
|
|
82
|
+
items.push({
|
|
83
|
+
kind: 'record',
|
|
84
|
+
name,
|
|
85
|
+
workspace: ws,
|
|
86
|
+
status: rows != null ? `${formatInt(rows)} rows` : '',
|
|
87
|
+
type: entry?.type ?? '',
|
|
88
|
+
detail: entry?.size != null ? formatSize(entry.size) : '—',
|
|
89
|
+
});
|
|
90
|
+
}
|
|
78
91
|
items.push({
|
|
79
92
|
kind: 'dataset',
|
|
80
93
|
name: dataset.path,
|
|
@@ -89,6 +102,29 @@ export function buildCatalogue(state, g, tags) {
|
|
|
89
102
|
const status = state.data.repos?.status[name];
|
|
90
103
|
items.push({ kind: 'repo', name, workspace: null, status: status !== undefined ? `${status.workspaceCount} workspaces` : '', type: '', detail: '' });
|
|
91
104
|
}
|
|
92
|
-
return { items, tags };
|
|
105
|
+
return { items, tags, indexes: indexesOf(state) };
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* What `/index` offers in a record view: `primary` (the rows, by the
|
|
109
|
+
* record's own key), then each index the record declares.
|
|
110
|
+
*
|
|
111
|
+
* @param state - The store state
|
|
112
|
+
* @returns The choices, or undefined outside a record view
|
|
113
|
+
*/
|
|
114
|
+
function indexesOf(state) {
|
|
115
|
+
const v = state.view;
|
|
116
|
+
if (v.kind !== 'record')
|
|
117
|
+
return undefined;
|
|
118
|
+
const listed = (state.data.datasets[v.ws] ?? []).find(entry => entry.type === 'dataset' && entry.value.path.replace(/^\./, '') === `records.${v.name}`);
|
|
119
|
+
const primaryKey = listed?.type === 'dataset' ? keyTypeOf(listed.value.type) : null;
|
|
120
|
+
const out = [{ name: 'primary', key: primaryKey === null ? '' : `${compactType(primaryKey)} key`, detail: 'the rows' }];
|
|
121
|
+
for (const index of state.data.records[v.ws]?.[v.name]?.signature?.indexes ?? []) {
|
|
122
|
+
out.push({
|
|
123
|
+
name: index.name,
|
|
124
|
+
key: `${compactType(index.keyType)} key${index.multi ? 's' : ''}`,
|
|
125
|
+
detail: index.valueType.type === 'Null' ? 'joins each row' : `projects ${compactType(index.valueType)}`,
|
|
126
|
+
});
|
|
127
|
+
}
|
|
128
|
+
return out;
|
|
93
129
|
}
|
|
94
130
|
//# sourceMappingURL=catalogue.js.map
|