@aui.io/apollo 0.1.39 → 0.1.41
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/node_modules/@aui.io/apollo-cli/dist/src/commands/bundles.js +131 -27
- package/node_modules/@aui.io/apollo-cli/dist/src/commands/bundles.js.map +1 -1
- package/node_modules/@aui.io/apollo-cli/dist/src/commands/vault.js +3 -4
- package/node_modules/@aui.io/apollo-cli/dist/src/commands/vault.js.map +1 -1
- package/node_modules/@aui.io/apollo-cli/dist/src/index.js +0 -2
- package/node_modules/@aui.io/apollo-cli/dist/src/index.js.map +1 -1
- package/node_modules/@aui.io/apollo-cli/package.json +3 -3
- package/node_modules/@aui.io/apollo-core/dist/src/api/agent-settings.d.ts +11 -100
- package/node_modules/@aui.io/apollo-core/dist/src/api/agent-settings.js +0 -17
- package/node_modules/@aui.io/apollo-core/dist/src/api/agent-settings.js.map +1 -1
- package/node_modules/@aui.io/apollo-core/dist/src/api/builder-api.d.ts +71 -0
- package/node_modules/@aui.io/apollo-core/dist/src/api/builder-api.js +17 -0
- package/node_modules/@aui.io/apollo-core/dist/src/api/builder-api.js.map +1 -1
- package/node_modules/@aui.io/apollo-core/dist/src/api/vault.d.ts +8 -23
- package/node_modules/@aui.io/apollo-core/dist/src/api/vault.js +4 -23
- package/node_modules/@aui.io/apollo-core/dist/src/api/vault.js.map +1 -1
- package/node_modules/@aui.io/apollo-core/dist/src/bundle/baseline.d.ts +12 -1
- package/node_modules/@aui.io/apollo-core/dist/src/bundle/baseline.js +8 -2
- package/node_modules/@aui.io/apollo-core/dist/src/bundle/baseline.js.map +1 -1
- package/node_modules/@aui.io/apollo-core/dist/src/bundle/build-area.d.ts +15 -0
- package/node_modules/@aui.io/apollo-core/dist/src/bundle/build-area.js +121 -0
- package/node_modules/@aui.io/apollo-core/dist/src/bundle/build-area.js.map +1 -0
- package/node_modules/@aui.io/apollo-core/dist/src/index.d.ts +3 -4
- package/node_modules/@aui.io/apollo-core/dist/src/index.js +0 -1
- package/node_modules/@aui.io/apollo-core/dist/src/index.js.map +1 -1
- package/node_modules/@aui.io/apollo-core/dist/src/services/bundles.d.ts +54 -5
- package/node_modules/@aui.io/apollo-core/dist/src/services/bundles.js +189 -36
- package/node_modules/@aui.io/apollo-core/dist/src/services/bundles.js.map +1 -1
- package/node_modules/@aui.io/apollo-core/dist/src/services/evaluations.d.ts +42 -0
- package/node_modules/@aui.io/apollo-core/dist/src/services/evaluations.js +106 -0
- package/node_modules/@aui.io/apollo-core/dist/src/services/evaluations.js.map +1 -0
- package/node_modules/@aui.io/apollo-core/dist/src/services/vault.d.ts +2 -3
- package/node_modules/@aui.io/apollo-core/dist/src/services/vault.js +12 -12
- package/node_modules/@aui.io/apollo-core/dist/src/services/vault.js.map +1 -1
- package/node_modules/@aui.io/apollo-core/package.json +1 -1
- package/node_modules/@aui.io/apollo-tui/dist/src/actions/registry.js +0 -28
- package/node_modules/@aui.io/apollo-tui/dist/src/actions/registry.js.map +1 -1
- package/node_modules/@aui.io/apollo-tui/dist/src/activity/operationStore.js +0 -3
- package/node_modules/@aui.io/apollo-tui/dist/src/activity/operationStore.js.map +1 -1
- package/node_modules/@aui.io/apollo-tui/dist/src/author/AuthorHome.d.ts +1 -3
- package/node_modules/@aui.io/apollo-tui/dist/src/author/AuthorHome.js +3 -3
- package/node_modules/@aui.io/apollo-tui/dist/src/author/AuthorHome.js.map +1 -1
- package/node_modules/@aui.io/apollo-tui/dist/src/lib/actions.js +4 -90
- package/node_modules/@aui.io/apollo-tui/dist/src/lib/actions.js.map +1 -1
- package/node_modules/@aui.io/apollo-tui/dist/src/lib/commands.d.ts +1 -1
- package/node_modules/@aui.io/apollo-tui/dist/src/lib/commands.js +0 -50
- package/node_modules/@aui.io/apollo-tui/dist/src/lib/commands.js.map +1 -1
- package/node_modules/@aui.io/apollo-tui/dist/src/opentui-app.js +15 -159
- package/node_modules/@aui.io/apollo-tui/dist/src/opentui-app.js.map +1 -1
- package/node_modules/@aui.io/apollo-tui/dist/src/shell/FooterHints.d.ts +1 -1
- package/node_modules/@aui.io/apollo-tui/dist/src/shell/FooterHints.js +0 -1
- package/node_modules/@aui.io/apollo-tui/dist/src/shell/FooterHints.js.map +1 -1
- package/node_modules/@aui.io/apollo-tui/package.json +2 -2
- package/package.json +4 -4
- package/node_modules/@aui.io/apollo-cli/dist/src/commands/scenarios.d.ts +0 -3
- package/node_modules/@aui.io/apollo-cli/dist/src/commands/scenarios.js +0 -124
- package/node_modules/@aui.io/apollo-cli/dist/src/commands/scenarios.js.map +0 -1
- package/node_modules/@aui.io/apollo-core/dist/src/services/scenarios.d.ts +0 -158
- package/node_modules/@aui.io/apollo-core/dist/src/services/scenarios.js +0 -481
- package/node_modules/@aui.io/apollo-core/dist/src/services/scenarios.js.map +0 -1
- package/node_modules/@aui.io/apollo-tui/dist/src/author/ScenariosView.d.ts +0 -22
- package/node_modules/@aui.io/apollo-tui/dist/src/author/ScenariosView.js +0 -99
- package/node_modules/@aui.io/apollo-tui/dist/src/author/ScenariosView.js.map +0 -1
- package/node_modules/@aui.io/apollo-tui/dist/src/author/scenarios.d.ts +0 -47
- package/node_modules/@aui.io/apollo-tui/dist/src/author/scenarios.js +0 -284
- package/node_modules/@aui.io/apollo-tui/dist/src/author/scenarios.js.map +0 -1
|
@@ -38,8 +38,6 @@ import { relativizeEvent, sessionCancel, sessionCreate, sessionEvent, sessionPro
|
|
|
38
38
|
import { DiffView } from "./author/DiffView.js";
|
|
39
39
|
import { loadResources, resourceRows as buildResourceRows, resourcesSummary, } from "./author/resources.js";
|
|
40
40
|
import { ResourcesView } from "./author/ResourcesView.js";
|
|
41
|
-
import { loadScenariosData, scenarioRows as buildScenarioRows, scenariosSummary, } from "./author/scenarios.js";
|
|
42
|
-
import { ScenariosView } from "./author/ScenariosView.js";
|
|
43
41
|
import { treeRows } from "./author/tree.js";
|
|
44
42
|
import { ValidationViewPane } from "./author/ValidationView.js";
|
|
45
43
|
import { VersionsViewPane } from "./author/VersionsView.js";
|
|
@@ -84,7 +82,6 @@ const AUTHOR_QUICK = {
|
|
|
84
82
|
r: "versions",
|
|
85
83
|
o: "ide",
|
|
86
84
|
m: "resources",
|
|
87
|
-
s: "scenarios",
|
|
88
85
|
};
|
|
89
86
|
const OLD_NAV_NAMES = new Set(["chat", "bundle", "mockdb", "scope", "overview"]);
|
|
90
87
|
const AUTHOR_VIEW_FOCUS = {
|
|
@@ -92,7 +89,6 @@ const AUTHOR_VIEW_FOCUS = {
|
|
|
92
89
|
validation: "author-validation",
|
|
93
90
|
versions: "author-versions",
|
|
94
91
|
resources: "author-resources",
|
|
95
|
-
scenarios: "author-scenarios",
|
|
96
92
|
};
|
|
97
93
|
function App({ context: initialContext, initialScope, onQuit }) {
|
|
98
94
|
const [context, setContext] = useState(initialContext);
|
|
@@ -154,13 +150,6 @@ function App({ context: initialContext, initialScope, onQuit }) {
|
|
|
154
150
|
const [resourcesJsonExpanded, setResourcesJsonExpanded] = useState(() => new Set());
|
|
155
151
|
/** Monotonic guard: a stale load must not clobber a newer one. */
|
|
156
152
|
const resourcesLoadRef = useRef(0);
|
|
157
|
-
// Scenarios subview: evaluation suite + last score (local checkout files).
|
|
158
|
-
const [scenariosData, setScenariosData] = useState();
|
|
159
|
-
const [scenariosCursor, setScenariosCursor] = useState(0);
|
|
160
|
-
/** Full-width report (Enter on a row); Esc collapses back to the list. */
|
|
161
|
-
const [scenariosDetail, setScenariosDetail] = useState(false);
|
|
162
|
-
/** Monotonic guard for scenario file reloads. */
|
|
163
|
-
const scenariosLoadRef = useRef(0);
|
|
164
153
|
// Author copilot (Phase 5): pluggable backend behind the AuthorBackend seam.
|
|
165
154
|
const authorBackend = useMemo(() => resolveAuthorBackend(), []);
|
|
166
155
|
const [backendDetection, setBackendDetection] = useState();
|
|
@@ -310,9 +299,6 @@ function App({ context: initialContext, initialScope, onQuit }) {
|
|
|
310
299
|
function toggleResourcesJsonRow(row) {
|
|
311
300
|
setResourcesJsonExpanded((prev) => toggleJsonPath(prev, row.path));
|
|
312
301
|
}
|
|
313
|
-
/** Scenarios subview rows (suite ∪ scores ∪ action rows). */
|
|
314
|
-
const scenarioRowsView = useMemo(() => buildScenarioRows(scenariosData), [scenariosData]);
|
|
315
|
-
const scenariosCursorClamped = clampPickerCursor(scenariosCursor, scenarioRowsView.length);
|
|
316
302
|
const talkCursorClamped = clampPickerCursor(talkCursor, chat.length);
|
|
317
303
|
/** What sends run against, for the composer label and inspector (^B picks). */
|
|
318
304
|
const talkVersionLabel = talkTag === "latest"
|
|
@@ -348,9 +334,6 @@ function App({ context: initialContext, initialScope, onQuit }) {
|
|
|
348
334
|
resourceRows: resourceRowsView,
|
|
349
335
|
resourcesCursor,
|
|
350
336
|
resourcesDetail,
|
|
351
|
-
scenarioRows: scenarioRowsView,
|
|
352
|
-
scenariosCursor,
|
|
353
|
-
scenariosDetail,
|
|
354
337
|
orderedOps,
|
|
355
338
|
authorSession,
|
|
356
339
|
sessionCursor,
|
|
@@ -393,9 +376,6 @@ function App({ context: initialContext, initialScope, onQuit }) {
|
|
|
393
376
|
resourceRows: resourceRowsView,
|
|
394
377
|
resourcesCursor,
|
|
395
378
|
resourcesDetail,
|
|
396
|
-
scenarioRows: scenarioRowsView,
|
|
397
|
-
scenariosCursor,
|
|
398
|
-
scenariosDetail,
|
|
399
379
|
orderedOps,
|
|
400
380
|
authorSession,
|
|
401
381
|
sessionCursor,
|
|
@@ -456,12 +436,6 @@ function App({ context: initialContext, initialScope, onQuit }) {
|
|
|
456
436
|
setResourcesCollapsed(new Set());
|
|
457
437
|
setResourcesDetail(false);
|
|
458
438
|
resourcesLoadRef.current += 1;
|
|
459
|
-
// Scenario files too — reload from the new checkout (fs-only, cheap),
|
|
460
|
-
// so the home card shows real numbers immediately.
|
|
461
|
-
setScenariosData(undefined);
|
|
462
|
-
setScenariosCursor(0);
|
|
463
|
-
setScenariosDetail(false);
|
|
464
|
-
loadScenariosLocal();
|
|
465
439
|
setAuthorView("home");
|
|
466
440
|
remoteFilesRef.current = undefined;
|
|
467
441
|
// The session belongs to the previous checkout — stop and clear it.
|
|
@@ -910,20 +884,6 @@ function App({ context: initialContext, initialScope, onQuit }) {
|
|
|
910
884
|
setResourcesCursor((c) => clampPickerCursor(c + delta, rows.length));
|
|
911
885
|
return;
|
|
912
886
|
}
|
|
913
|
-
// Scenarios list navigation (no modal open, list visible).
|
|
914
|
-
if (arrow &&
|
|
915
|
-
!current.sheet &&
|
|
916
|
-
!current.confirm &&
|
|
917
|
-
current.mode === "author" &&
|
|
918
|
-
current.authorView === "scenarios" &&
|
|
919
|
-
!current.scenariosDetail) {
|
|
920
|
-
const rows = current.scenarioRows;
|
|
921
|
-
if (rows.length === 0)
|
|
922
|
-
return;
|
|
923
|
-
const delta = arrow === "down" ? 1 : -1;
|
|
924
|
-
setScenariosCursor((c) => clampPickerCursor(c + delta, rows.length));
|
|
925
|
-
return;
|
|
926
|
-
}
|
|
927
887
|
// Session unit cursor (Author home): ↑↓ walk the work units; the pane
|
|
928
888
|
// follows the cursor. Enter (empty input) expands the selected unit.
|
|
929
889
|
if (arrow &&
|
|
@@ -955,7 +915,6 @@ function App({ context: initialContext, initialScope, onQuit }) {
|
|
|
955
915
|
current.mode === "author" &&
|
|
956
916
|
((current.authorView === "diff" && current.fileDiff) ||
|
|
957
917
|
(current.authorView === "resources" && current.resourcesDetail) ||
|
|
958
|
-
(current.authorView === "scenarios" && current.scenariosDetail) ||
|
|
959
918
|
current.authorView === "validation" ||
|
|
960
919
|
current.authorView === "versions")) {
|
|
961
920
|
contentScrollRef.current?.scrollBy({ x: 0, y: arrow === "down" ? 1 : -1 });
|
|
@@ -1106,9 +1065,6 @@ function App({ context: initialContext, initialScope, onQuit }) {
|
|
|
1106
1065
|
else if (current.authorView === "resources" && current.resourcesDetail) {
|
|
1107
1066
|
setResourcesDetail(false);
|
|
1108
1067
|
}
|
|
1109
|
-
else if (current.authorView === "scenarios" && current.scenariosDetail) {
|
|
1110
|
-
setScenariosDetail(false);
|
|
1111
|
-
}
|
|
1112
1068
|
else
|
|
1113
1069
|
setAuthorView("home");
|
|
1114
1070
|
}
|
|
@@ -1379,30 +1335,6 @@ function App({ context: initialContext, initialScope, onQuit }) {
|
|
|
1379
1335
|
loadResourcesData();
|
|
1380
1336
|
}
|
|
1381
1337
|
}
|
|
1382
|
-
/** Re-read scenarios/ from the checkout (pure fs — cheap, offline-safe). */
|
|
1383
|
-
function loadScenariosLocal() {
|
|
1384
|
-
const seq = ++scenariosLoadRef.current;
|
|
1385
|
-
const root = agentRootOf(stateRef.current.context);
|
|
1386
|
-
if (!root) {
|
|
1387
|
-
setScenariosData(undefined);
|
|
1388
|
-
return;
|
|
1389
|
-
}
|
|
1390
|
-
void loadScenariosData(root).then((data) => {
|
|
1391
|
-
if (scenariosLoadRef.current === seq)
|
|
1392
|
-
setScenariosData(data);
|
|
1393
|
-
});
|
|
1394
|
-
}
|
|
1395
|
-
function openScenariosView() {
|
|
1396
|
-
setMode("author");
|
|
1397
|
-
setAuthorView("scenarios");
|
|
1398
|
-
setScenariosDetail(false);
|
|
1399
|
-
loadScenariosLocal();
|
|
1400
|
-
}
|
|
1401
|
-
/** Commands that move scenario files re-read them (view + home card). */
|
|
1402
|
-
function refreshScenariosAfter(commandName) {
|
|
1403
|
-
if (/^(scenarios-|scores-)/.test(commandName))
|
|
1404
|
-
loadScenariosLocal();
|
|
1405
|
-
}
|
|
1406
1338
|
// --- Operation tracking (TUI_DESIGN §13): real work lands in the store ---
|
|
1407
1339
|
/** Start a tracked operation for whitelisted commands; else undefined. */
|
|
1408
1340
|
function trackOperation(name, retry) {
|
|
@@ -1734,14 +1666,6 @@ function App({ context: initialContext, initialScope, onQuit }) {
|
|
|
1734
1666
|
await openVersionsView();
|
|
1735
1667
|
return;
|
|
1736
1668
|
}
|
|
1737
|
-
if (command.name === "scenarios") {
|
|
1738
|
-
if (!agentRootOf(stateRef.current.context)) {
|
|
1739
|
-
setToast("Enter an agent checkout first — scenarios live in <checkout>/scenarios");
|
|
1740
|
-
return;
|
|
1741
|
-
}
|
|
1742
|
-
openScenariosView();
|
|
1743
|
-
return;
|
|
1744
|
-
}
|
|
1745
1669
|
if (command.name === "trace") {
|
|
1746
1670
|
setTrace((v) => {
|
|
1747
1671
|
setToast(`trace ${v ? "off" : "on"}`);
|
|
@@ -1812,7 +1736,6 @@ function App({ context: initialContext, initialScope, onQuit }) {
|
|
|
1812
1736
|
finishOperation(opId, result);
|
|
1813
1737
|
await applyResult(result);
|
|
1814
1738
|
refreshResourcesIfOpen(command.name);
|
|
1815
|
-
refreshScenariosAfter(command.name);
|
|
1816
1739
|
}
|
|
1817
1740
|
catch (error) {
|
|
1818
1741
|
failOperation(opId, error);
|
|
@@ -1836,7 +1759,6 @@ function App({ context: initialContext, initialScope, onQuit }) {
|
|
|
1836
1759
|
finishOperation(opId, result);
|
|
1837
1760
|
await applyResult(result);
|
|
1838
1761
|
refreshResourcesIfOpen(command.name);
|
|
1839
|
-
refreshScenariosAfter(command.name);
|
|
1840
1762
|
}
|
|
1841
1763
|
catch (err) {
|
|
1842
1764
|
failOperation(opId, err);
|
|
@@ -2138,35 +2060,6 @@ function App({ context: initialContext, initialScope, onQuit }) {
|
|
|
2138
2060
|
if (row.json !== undefined)
|
|
2139
2061
|
setResourcesDetail(true);
|
|
2140
2062
|
}
|
|
2141
|
-
/** Enter/second click on a scenarios row: expand report or run action. */
|
|
2142
|
-
function activateScenarioRow(index) {
|
|
2143
|
-
const rows = stateRef.current.scenarioRows;
|
|
2144
|
-
const row = rows[clampPickerCursor(index, rows.length)];
|
|
2145
|
-
if (!row)
|
|
2146
|
-
return;
|
|
2147
|
-
if (row.kind === "action" && row.command) {
|
|
2148
|
-
const command = SLASH_COMMANDS.find((c) => c.name === row.command);
|
|
2149
|
-
if (command)
|
|
2150
|
-
void runCommand(command, "");
|
|
2151
|
-
return;
|
|
2152
|
-
}
|
|
2153
|
-
if (row.blocks.length > 0)
|
|
2154
|
-
setScenariosDetail(true);
|
|
2155
|
-
}
|
|
2156
|
-
/** `t` on a scored row: jump to its graded transcript in Talk. */
|
|
2157
|
-
function openScenarioTranscript() {
|
|
2158
|
-
const current = stateRef.current;
|
|
2159
|
-
const row = current.scenarioRows[clampPickerCursor(current.scenariosCursor, current.scenarioRows.length)];
|
|
2160
|
-
const sessionId = row?.sessionIds[0];
|
|
2161
|
-
if (!row || sessionId === undefined) {
|
|
2162
|
-
setToast("No transcript recorded for this row");
|
|
2163
|
-
return;
|
|
2164
|
-
}
|
|
2165
|
-
if (row.sessionIds.length > 1) {
|
|
2166
|
-
setToast(`Opening 1 of ${String(row.sessionIds.length)} transcripts`);
|
|
2167
|
-
}
|
|
2168
|
-
void openThread(sessionId);
|
|
2169
|
-
}
|
|
2170
2063
|
/** `x` on a resources row: delete exactly that target (typed confirm). */
|
|
2171
2064
|
function deleteSelectedResource() {
|
|
2172
2065
|
const current = stateRef.current;
|
|
@@ -2370,14 +2263,6 @@ function App({ context: initialContext, initialScope, onQuit }) {
|
|
|
2370
2263
|
activateResourceRow(clampPickerCursor(current.resourcesCursor, current.resourceRows.length));
|
|
2371
2264
|
return;
|
|
2372
2265
|
}
|
|
2373
|
-
// Enter on a scenarios row: expand the report, or run an action row.
|
|
2374
|
-
if (line === "" &&
|
|
2375
|
-
current.mode === "author" &&
|
|
2376
|
-
current.authorView === "scenarios" &&
|
|
2377
|
-
!current.scenariosDetail) {
|
|
2378
|
-
activateScenarioRow(clampPickerCursor(current.scenariosCursor, current.scenarioRows.length));
|
|
2379
|
-
return;
|
|
2380
|
-
}
|
|
2381
2266
|
// Enter on a session unit: expand/collapse its body (tool input/result).
|
|
2382
2267
|
if (line === "" &&
|
|
2383
2268
|
current.mode === "author" &&
|
|
@@ -2409,18 +2294,6 @@ function App({ context: initialContext, initialScope, onQuit }) {
|
|
|
2409
2294
|
return;
|
|
2410
2295
|
}
|
|
2411
2296
|
}
|
|
2412
|
-
// Scenarios view: r re-reads the files, t opens the graded transcript.
|
|
2413
|
-
if (current.mode === "author" && current.authorView === "scenarios") {
|
|
2414
|
-
if (line.toLowerCase() === "r") {
|
|
2415
|
-
loadScenariosLocal();
|
|
2416
|
-
setToast("Reloading scenarios…");
|
|
2417
|
-
return;
|
|
2418
|
-
}
|
|
2419
|
-
if (line.toLowerCase() === "t") {
|
|
2420
|
-
openScenarioTranscript();
|
|
2421
|
-
return;
|
|
2422
|
-
}
|
|
2423
|
-
}
|
|
2424
2297
|
// Talk mode never reaches here without an overlay — the composer owns
|
|
2425
2298
|
// sending, and ^T/^D/^N replaced the old typed t/d lines.
|
|
2426
2299
|
// Author mode: single-letter quick actions; free text on the home
|
|
@@ -2489,23 +2362,19 @@ function App({ context: initialContext, initialScope, onQuit }) {
|
|
|
2489
2362
|
? resourcesDetail
|
|
2490
2363
|
? "↑↓/PgUp/PgDn scroll · Esc back to list"
|
|
2491
2364
|
: "↑↓ move · Enter open/run · x delete · r refresh · Esc back"
|
|
2492
|
-
: authorViewEffective === "
|
|
2493
|
-
?
|
|
2494
|
-
|
|
2495
|
-
|
|
2496
|
-
|
|
2497
|
-
|
|
2498
|
-
|
|
2499
|
-
|
|
2500
|
-
|
|
2501
|
-
|
|
2502
|
-
|
|
2503
|
-
?
|
|
2504
|
-
:
|
|
2505
|
-
scope.loggedIn &&
|
|
2506
|
-
hasAgent
|
|
2507
|
-
? `describe a change for ${authorBackend.label} · v d p l r o quick · ^K`
|
|
2508
|
-
: "v d p l r o quick actions · ^K all actions";
|
|
2365
|
+
: authorViewEffective === "validation"
|
|
2366
|
+
? "v re-run · ↑↓ scroll · p push · Esc back"
|
|
2367
|
+
: authorViewEffective === "versions"
|
|
2368
|
+
? "↑↓ scroll · publish/archive via ^K · Esc back"
|
|
2369
|
+
: authorSession?.running
|
|
2370
|
+
? "type to queue a follow-up · ↑↓ units · Esc/^C cancel"
|
|
2371
|
+
: authorSession
|
|
2372
|
+
? "describe the next change · ↑↓ units · Enter expand"
|
|
2373
|
+
: backendDetection?.available &&
|
|
2374
|
+
scope.loggedIn &&
|
|
2375
|
+
hasAgent
|
|
2376
|
+
? `describe a change for ${authorBackend.label} · v d p l r o quick · ^K`
|
|
2377
|
+
: "v d p l r o quick actions · ^K all actions";
|
|
2509
2378
|
const pickerFilter = picker ? effectivePickerFilter(input) : undefined;
|
|
2510
2379
|
const pickerVisible = picker
|
|
2511
2380
|
? filterPickerItems(picker.items, pickerFilter)
|
|
@@ -2566,7 +2435,7 @@ function App({ context: initialContext, initialScope, onQuit }) {
|
|
|
2566
2435
|
retryOperation(op);
|
|
2567
2436
|
else
|
|
2568
2437
|
setActivityCursor(index);
|
|
2569
|
-
} })) : mode === "author" ? (authorViewEffective === "home" ? (_jsx(AuthorHome, { scope: scope, snapshot: snapshot, validation: validation, version: VERSION, paneTitle: paneTitle, paneLines: paneLines, resources: resourcesSummary(resourcesData),
|
|
2438
|
+
} })) : mode === "author" ? (authorViewEffective === "home" ? (_jsx(AuthorHome, { scope: scope, snapshot: snapshot, validation: validation, version: VERSION, paneTitle: paneTitle, paneLines: paneLines, resources: resourcesSummary(resourcesData), session: authorSession, sessionRows: sessionRowsView, sessionCursor: clampPickerCursor(sessionCursor, authorSession?.units.length ?? 0), sessionScrollRef: contentScrollRef, sessionUnitRefs: sessionUnitRefs, backendLabel: authorBackend.label, backendDetection: backendDetection, splashRoomy: termWidth >= 90 && termHeight >= 30, onSelectUnit: (unit) => {
|
|
2570
2439
|
const clamped = clampPickerCursor(sessionCursor, authorSession?.units.length ?? 0);
|
|
2571
2440
|
// Click selects; clicking the selected unit toggles its body.
|
|
2572
2441
|
if (unit === clamped)
|
|
@@ -2606,20 +2475,7 @@ function App({ context: initialContext, initialScope, onQuit }) {
|
|
|
2606
2475
|
if (row?.kind === "section" || row?.kind === "action") {
|
|
2607
2476
|
activateResourceRow(index);
|
|
2608
2477
|
}
|
|
2609
|
-
}, onJsonToggle: toggleResourcesJsonRow })) : authorViewEffective === "
|
|
2610
|
-
? `loaded ${relativeTime(scenariosData.loadedAt)} · r reload`
|
|
2611
|
-
: "loading…", onRowClick: (index) => {
|
|
2612
|
-
const row = scenarioRowsView[index];
|
|
2613
|
-
// Click selects; actions run on first click, rows expand
|
|
2614
|
-
// their report on the second (same as resources items).
|
|
2615
|
-
if (index === scenariosCursorClamped) {
|
|
2616
|
-
activateScenarioRow(index);
|
|
2617
|
-
return;
|
|
2618
|
-
}
|
|
2619
|
-
setScenariosCursor(index);
|
|
2620
|
-
if (row?.kind === "action")
|
|
2621
|
-
activateScenarioRow(index);
|
|
2622
|
-
} })) : authorViewEffective === "validation" ? (_jsx(ValidationViewPane, { record: validation, scrollRef: contentScrollRef })) : (_jsx(VersionsViewPane, { versions: versions ?? [], currentTag: scope.version, scrollRef: contentScrollRef }))) : (_jsx(TalkView, { chat: chat, rows: talkRowsView, cursor: talkCursorClamped, focusPane: talkFocus, layout: talkLayoutEffective, threads: threads, threadsLoading: threadsLoading, threadCursor: clampPickerCursor(threadCursor, threadsRowCount(threads)), threadId: threadId, localMode: localMode, trace: trace, vars: vars, inspectorMetaLines: inspectorMetaLines, inspectorFetch: inspectorFetch, paneTitle: paneTitle, paneLines: paneLines, overlayJson: overlayJsonRows, inspectorJson: inspectorJsonRows, onJsonToggle: toggleJsonRow, onSelectTurn: (turn) => {
|
|
2478
|
+
}, onJsonToggle: toggleResourcesJsonRow })) : authorViewEffective === "validation" ? (_jsx(ValidationViewPane, { record: validation, scrollRef: contentScrollRef })) : (_jsx(VersionsViewPane, { versions: versions ?? [], currentTag: scope.version, scrollRef: contentScrollRef }))) : (_jsx(TalkView, { chat: chat, rows: talkRowsView, cursor: talkCursorClamped, focusPane: talkFocus, layout: talkLayoutEffective, threads: threads, threadsLoading: threadsLoading, threadCursor: clampPickerCursor(threadCursor, threadsRowCount(threads)), threadId: threadId, localMode: localMode, trace: trace, vars: vars, inspectorMetaLines: inspectorMetaLines, inspectorFetch: inspectorFetch, paneTitle: paneTitle, paneLines: paneLines, overlayJson: overlayJsonRows, inspectorJson: inspectorJsonRows, onJsonToggle: toggleJsonRow, onSelectTurn: (turn) => {
|
|
2623
2479
|
setTalkFocus("chat");
|
|
2624
2480
|
setTalkCursor(turn);
|
|
2625
2481
|
}, onSelectThread: (row) => {
|