@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.
Files changed (119) hide show
  1. package/README.md +8 -6
  2. package/dist/app/assets/{engine-DAHqaY4g-B9nTMQVT.js → engine-D7VXHt7P-TStdXyXV.js} +1 -1
  3. package/dist/app/assets/{index-CIIzwdrV.js → index-DUOL-ROM.js} +113 -115
  4. package/dist/app/index.html +1 -1
  5. package/dist/cli.js +2 -0
  6. package/dist/cli.js.map +1 -1
  7. package/dist/commands/tui.d.ts +15 -3
  8. package/dist/commands/tui.d.ts.map +1 -1
  9. package/dist/commands/tui.js +14 -4
  10. package/dist/commands/tui.js.map +1 -1
  11. package/dist/e3-server.d.ts +6 -1
  12. package/dist/e3-server.d.ts.map +1 -1
  13. package/dist/e3-server.js +6 -1
  14. package/dist/e3-server.js.map +1 -1
  15. package/dist/load-source.d.ts +13 -11
  16. package/dist/load-source.d.ts.map +1 -1
  17. package/dist/load-source.js +9 -10
  18. package/dist/load-source.js.map +1 -1
  19. package/dist/tui/api.d.ts +17 -1
  20. package/dist/tui/api.d.ts.map +1 -1
  21. package/dist/tui/api.js +6 -1
  22. package/dist/tui/api.js.map +1 -1
  23. package/dist/tui/app.d.ts.map +1 -1
  24. package/dist/tui/app.js +19 -1
  25. package/dist/tui/app.js.map +1 -1
  26. package/dist/tui/controller.d.ts +3 -1
  27. package/dist/tui/controller.d.ts.map +1 -1
  28. package/dist/tui/controller.js +48 -20
  29. package/dist/tui/controller.js.map +1 -1
  30. package/dist/tui/data/dataflow.d.ts +1 -2
  31. package/dist/tui/data/dataflow.d.ts.map +1 -1
  32. package/dist/tui/data/dataflow.js +1 -3
  33. package/dist/tui/data/dataflow.js.map +1 -1
  34. package/dist/tui/data/dataset.d.ts +24 -5
  35. package/dist/tui/data/dataset.d.ts.map +1 -1
  36. package/dist/tui/data/dataset.js +100 -25
  37. package/dist/tui/data/dataset.js.map +1 -1
  38. package/dist/tui/data/feeds.d.ts +3 -0
  39. package/dist/tui/data/feeds.d.ts.map +1 -1
  40. package/dist/tui/data/feeds.js +60 -7
  41. package/dist/tui/data/feeds.js.map +1 -1
  42. package/dist/tui/data/records.d.ts +63 -0
  43. package/dist/tui/data/records.d.ts.map +1 -0
  44. package/dist/tui/data/records.js +144 -0
  45. package/dist/tui/data/records.js.map +1 -0
  46. package/dist/tui/input/commands.d.ts +14 -11
  47. package/dist/tui/input/commands.d.ts.map +1 -1
  48. package/dist/tui/input/commands.js +20 -15
  49. package/dist/tui/input/commands.js.map +1 -1
  50. package/dist/tui/input/completion.d.ts +10 -4
  51. package/dist/tui/input/completion.d.ts.map +1 -1
  52. package/dist/tui/input/completion.js +6 -0
  53. package/dist/tui/input/completion.js.map +1 -1
  54. package/dist/tui/model/catalogue.d.ts.map +1 -1
  55. package/dist/tui/model/catalogue.js +39 -3
  56. package/dist/tui/model/catalogue.js.map +1 -1
  57. package/dist/tui/model/help.d.ts.map +1 -1
  58. package/dist/tui/model/help.js +44 -4
  59. package/dist/tui/model/help.js.map +1 -1
  60. package/dist/tui/model/status.d.ts +55 -3
  61. package/dist/tui/model/status.d.ts.map +1 -1
  62. package/dist/tui/model/status.js +126 -4
  63. package/dist/tui/model/status.js.map +1 -1
  64. package/dist/tui/model/tree.d.ts +36 -1
  65. package/dist/tui/model/tree.d.ts.map +1 -1
  66. package/dist/tui/model/tree.js +58 -8
  67. package/dist/tui/model/tree.js.map +1 -1
  68. package/dist/tui/render/glyphs.d.ts +2 -0
  69. package/dist/tui/render/glyphs.d.ts.map +1 -1
  70. package/dist/tui/render/glyphs.js +2 -0
  71. package/dist/tui/render/glyphs.js.map +1 -1
  72. package/dist/tui/render/layout.d.ts +1 -1
  73. package/dist/tui/render/layout.d.ts.map +1 -1
  74. package/dist/tui/render/layout.js +50 -5
  75. package/dist/tui/render/layout.js.map +1 -1
  76. package/dist/tui/session.d.ts.map +1 -1
  77. package/dist/tui/session.js +7 -0
  78. package/dist/tui/session.js.map +1 -1
  79. package/dist/tui/state/actions.d.ts +70 -5
  80. package/dist/tui/state/actions.d.ts.map +1 -1
  81. package/dist/tui/state/actions.js +10 -1
  82. package/dist/tui/state/actions.js.map +1 -1
  83. package/dist/tui/state/persist.d.ts +1 -1
  84. package/dist/tui/state/persist.d.ts.map +1 -1
  85. package/dist/tui/state/reducer.d.ts.map +1 -1
  86. package/dist/tui/state/reducer.js +24 -2
  87. package/dist/tui/state/reducer.js.map +1 -1
  88. package/dist/tui/ui/App.js +1 -1
  89. package/dist/tui/ui/App.js.map +1 -1
  90. package/dist/tui/ui/shell/chrome.d.ts +6 -1
  91. package/dist/tui/ui/shell/chrome.d.ts.map +1 -1
  92. package/dist/tui/ui/shell/chrome.js +26 -23
  93. package/dist/tui/ui/shell/chrome.js.map +1 -1
  94. package/dist/tui/ui/views/all.d.ts +1 -0
  95. package/dist/tui/ui/views/all.d.ts.map +1 -1
  96. package/dist/tui/ui/views/all.js +1 -0
  97. package/dist/tui/ui/views/all.js.map +1 -1
  98. package/dist/tui/ui/views/dashboard.d.ts +75 -18
  99. package/dist/tui/ui/views/dashboard.d.ts.map +1 -1
  100. package/dist/tui/ui/views/dashboard.js +265 -40
  101. package/dist/tui/ui/views/dashboard.js.map +1 -1
  102. package/dist/tui/ui/views/help.js +1 -1
  103. package/dist/tui/ui/views/record.d.ts +38 -0
  104. package/dist/tui/ui/views/record.d.ts.map +1 -0
  105. package/dist/tui/ui/views/record.js +298 -0
  106. package/dist/tui/ui/views/record.js.map +1 -0
  107. package/dist/tui/ui/widgets/reads.d.ts +7 -7
  108. package/dist/tui/ui/widgets/reads.d.ts.map +1 -1
  109. package/dist/tui/ui/widgets/reads.js +9 -21
  110. package/dist/tui/ui/widgets/reads.js.map +1 -1
  111. package/dist/tui/ui/widgets/runs.d.ts +2 -2
  112. package/dist/tui/ui/widgets/runs.d.ts.map +1 -1
  113. package/dist/tui/ui/widgets/runs.js +3 -2
  114. package/dist/tui/ui/widgets/runs.js.map +1 -1
  115. package/dist/tui/ui/widgets/tree.d.ts +11 -6
  116. package/dist/tui/ui/widgets/tree.d.ts.map +1 -1
  117. package/dist/tui/ui/widgets/tree.js +28 -17
  118. package/dist/tui/ui/widgets/tree.js.map +1 -1
  119. 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 · concurrency 4`).
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":"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"}
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>] [--concurrency <n>]`);
137
+ return fail(`unknown /run flag ${a} — /run [--force] [--filter <glob>]`);
134
138
  }
135
- return { ok: true, command: { name, force, filter, concurrency } };
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 · concurrency 4`).
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 conc = command.concurrency ?? ctx.concurrency;
207
- return { text: ctx.running ? 'a run is already in progress' : `run ${scope} in ${ws}${cache} · concurrency ${conc}`, keys: ctx.running ? 'esc' : '⏎ run · esc' };
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; anything else is
10
- * a fuzzy jump across every workspace, task, input and dataset of the open
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;IAC1D,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;CAC/B;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,CA8CxE;AAED;;;;;;GAMG;AACH,wBAAgB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,GAAG,SAAS,EAAE,CAQpE"}
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":"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"}
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;AAWH,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;AAIpD;;;;;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,CA+CrF"}
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.kind.type === 'some' && t.kind.value === 'ui').map(t => `.tasks.${t.name}.output`));
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