@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.
Files changed (66) hide show
  1. package/node_modules/@aui.io/apollo-cli/dist/src/commands/bundles.js +131 -27
  2. package/node_modules/@aui.io/apollo-cli/dist/src/commands/bundles.js.map +1 -1
  3. package/node_modules/@aui.io/apollo-cli/dist/src/commands/vault.js +3 -4
  4. package/node_modules/@aui.io/apollo-cli/dist/src/commands/vault.js.map +1 -1
  5. package/node_modules/@aui.io/apollo-cli/dist/src/index.js +0 -2
  6. package/node_modules/@aui.io/apollo-cli/dist/src/index.js.map +1 -1
  7. package/node_modules/@aui.io/apollo-cli/package.json +3 -3
  8. package/node_modules/@aui.io/apollo-core/dist/src/api/agent-settings.d.ts +11 -100
  9. package/node_modules/@aui.io/apollo-core/dist/src/api/agent-settings.js +0 -17
  10. package/node_modules/@aui.io/apollo-core/dist/src/api/agent-settings.js.map +1 -1
  11. package/node_modules/@aui.io/apollo-core/dist/src/api/builder-api.d.ts +71 -0
  12. package/node_modules/@aui.io/apollo-core/dist/src/api/builder-api.js +17 -0
  13. package/node_modules/@aui.io/apollo-core/dist/src/api/builder-api.js.map +1 -1
  14. package/node_modules/@aui.io/apollo-core/dist/src/api/vault.d.ts +8 -23
  15. package/node_modules/@aui.io/apollo-core/dist/src/api/vault.js +4 -23
  16. package/node_modules/@aui.io/apollo-core/dist/src/api/vault.js.map +1 -1
  17. package/node_modules/@aui.io/apollo-core/dist/src/bundle/baseline.d.ts +12 -1
  18. package/node_modules/@aui.io/apollo-core/dist/src/bundle/baseline.js +8 -2
  19. package/node_modules/@aui.io/apollo-core/dist/src/bundle/baseline.js.map +1 -1
  20. package/node_modules/@aui.io/apollo-core/dist/src/bundle/build-area.d.ts +15 -0
  21. package/node_modules/@aui.io/apollo-core/dist/src/bundle/build-area.js +121 -0
  22. package/node_modules/@aui.io/apollo-core/dist/src/bundle/build-area.js.map +1 -0
  23. package/node_modules/@aui.io/apollo-core/dist/src/index.d.ts +3 -4
  24. package/node_modules/@aui.io/apollo-core/dist/src/index.js +0 -1
  25. package/node_modules/@aui.io/apollo-core/dist/src/index.js.map +1 -1
  26. package/node_modules/@aui.io/apollo-core/dist/src/services/bundles.d.ts +54 -5
  27. package/node_modules/@aui.io/apollo-core/dist/src/services/bundles.js +189 -36
  28. package/node_modules/@aui.io/apollo-core/dist/src/services/bundles.js.map +1 -1
  29. package/node_modules/@aui.io/apollo-core/dist/src/services/evaluations.d.ts +42 -0
  30. package/node_modules/@aui.io/apollo-core/dist/src/services/evaluations.js +106 -0
  31. package/node_modules/@aui.io/apollo-core/dist/src/services/evaluations.js.map +1 -0
  32. package/node_modules/@aui.io/apollo-core/dist/src/services/vault.d.ts +2 -3
  33. package/node_modules/@aui.io/apollo-core/dist/src/services/vault.js +12 -12
  34. package/node_modules/@aui.io/apollo-core/dist/src/services/vault.js.map +1 -1
  35. package/node_modules/@aui.io/apollo-core/package.json +1 -1
  36. package/node_modules/@aui.io/apollo-tui/dist/src/actions/registry.js +0 -28
  37. package/node_modules/@aui.io/apollo-tui/dist/src/actions/registry.js.map +1 -1
  38. package/node_modules/@aui.io/apollo-tui/dist/src/activity/operationStore.js +0 -3
  39. package/node_modules/@aui.io/apollo-tui/dist/src/activity/operationStore.js.map +1 -1
  40. package/node_modules/@aui.io/apollo-tui/dist/src/author/AuthorHome.d.ts +1 -3
  41. package/node_modules/@aui.io/apollo-tui/dist/src/author/AuthorHome.js +3 -3
  42. package/node_modules/@aui.io/apollo-tui/dist/src/author/AuthorHome.js.map +1 -1
  43. package/node_modules/@aui.io/apollo-tui/dist/src/lib/actions.js +4 -90
  44. package/node_modules/@aui.io/apollo-tui/dist/src/lib/actions.js.map +1 -1
  45. package/node_modules/@aui.io/apollo-tui/dist/src/lib/commands.d.ts +1 -1
  46. package/node_modules/@aui.io/apollo-tui/dist/src/lib/commands.js +0 -50
  47. package/node_modules/@aui.io/apollo-tui/dist/src/lib/commands.js.map +1 -1
  48. package/node_modules/@aui.io/apollo-tui/dist/src/opentui-app.js +15 -159
  49. package/node_modules/@aui.io/apollo-tui/dist/src/opentui-app.js.map +1 -1
  50. package/node_modules/@aui.io/apollo-tui/dist/src/shell/FooterHints.d.ts +1 -1
  51. package/node_modules/@aui.io/apollo-tui/dist/src/shell/FooterHints.js +0 -1
  52. package/node_modules/@aui.io/apollo-tui/dist/src/shell/FooterHints.js.map +1 -1
  53. package/node_modules/@aui.io/apollo-tui/package.json +2 -2
  54. package/package.json +4 -4
  55. package/node_modules/@aui.io/apollo-cli/dist/src/commands/scenarios.d.ts +0 -3
  56. package/node_modules/@aui.io/apollo-cli/dist/src/commands/scenarios.js +0 -124
  57. package/node_modules/@aui.io/apollo-cli/dist/src/commands/scenarios.js.map +0 -1
  58. package/node_modules/@aui.io/apollo-core/dist/src/services/scenarios.d.ts +0 -158
  59. package/node_modules/@aui.io/apollo-core/dist/src/services/scenarios.js +0 -481
  60. package/node_modules/@aui.io/apollo-core/dist/src/services/scenarios.js.map +0 -1
  61. package/node_modules/@aui.io/apollo-tui/dist/src/author/ScenariosView.d.ts +0 -22
  62. package/node_modules/@aui.io/apollo-tui/dist/src/author/ScenariosView.js +0 -99
  63. package/node_modules/@aui.io/apollo-tui/dist/src/author/ScenariosView.js.map +0 -1
  64. package/node_modules/@aui.io/apollo-tui/dist/src/author/scenarios.d.ts +0 -47
  65. package/node_modules/@aui.io/apollo-tui/dist/src/author/scenarios.js +0 -284
  66. 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 === "scenarios"
2493
- ? scenariosDetail
2494
- ? "↑↓/PgUp/PgDn scroll · Esc back to list"
2495
- : "↑↓ move · Enter detail/run · t transcript · r reload · Esc back"
2496
- : authorViewEffective === "validation"
2497
- ? "v re-run · ↑↓ scroll · p push · Esc back"
2498
- : authorViewEffective === "versions"
2499
- ? "↑↓ scroll · publish/archive via ^K · Esc back"
2500
- : authorSession?.running
2501
- ? "type to queue a follow-up · ↑↓ units · Esc/^C cancel"
2502
- : authorSession
2503
- ? "describe the next change · ↑↓ units · Enter expand"
2504
- : backendDetection?.available &&
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), scenarios: scenariosSummary(scenariosData), 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) => {
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 === "scenarios" ? (_jsx(ScenariosView, { rows: scenarioRowsView, cursor: scenariosCursorClamped, expanded: scenariosDetail, sidebarWidth: Math.max(34, Math.min(60, Math.floor(termWidth / 2))), pageSize: pickerPageSize(), scrollRef: contentScrollRef, loadedNote: scenariosData
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) => {