@aui.io/apollo 0.1.11 → 0.1.13
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/package.json +3 -3
- package/node_modules/@aui.io/apollo-core/package.json +1 -1
- package/node_modules/@aui.io/apollo-tui/dist/src/actions/ActionPalette.d.ts +3 -1
- package/node_modules/@aui.io/apollo-tui/dist/src/actions/ActionPalette.js +7 -2
- package/node_modules/@aui.io/apollo-tui/dist/src/actions/ActionPalette.js.map +1 -1
- package/node_modules/@aui.io/apollo-tui/dist/src/activity/ActivityDrawer.d.ts +3 -1
- package/node_modules/@aui.io/apollo-tui/dist/src/activity/ActivityDrawer.js +8 -3
- package/node_modules/@aui.io/apollo-tui/dist/src/activity/ActivityDrawer.js.map +1 -1
- package/node_modules/@aui.io/apollo-tui/dist/src/activity/ActivitySummary.js.map +1 -1
- package/node_modules/@aui.io/apollo-tui/dist/src/activity/operationStore.js +4 -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 +12 -4
- package/node_modules/@aui.io/apollo-tui/dist/src/author/AuthorHome.js +67 -9
- package/node_modules/@aui.io/apollo-tui/dist/src/author/AuthorHome.js.map +1 -1
- package/node_modules/@aui.io/apollo-tui/dist/src/author/DiffView.d.ts +7 -1
- package/node_modules/@aui.io/apollo-tui/dist/src/author/DiffView.js +35 -8
- package/node_modules/@aui.io/apollo-tui/dist/src/author/DiffView.js.map +1 -1
- package/node_modules/@aui.io/apollo-tui/dist/src/author/SessionPane.d.ts +9 -2
- package/node_modules/@aui.io/apollo-tui/dist/src/author/SessionPane.js +24 -5
- package/node_modules/@aui.io/apollo-tui/dist/src/author/SessionPane.js.map +1 -1
- package/node_modules/@aui.io/apollo-tui/dist/src/author/ValidationView.js +2 -1
- package/node_modules/@aui.io/apollo-tui/dist/src/author/ValidationView.js.map +1 -1
- package/node_modules/@aui.io/apollo-tui/dist/src/author/VersionsView.js +4 -3
- package/node_modules/@aui.io/apollo-tui/dist/src/author/VersionsView.js.map +1 -1
- package/node_modules/@aui.io/apollo-tui/dist/src/author/data.d.ts +9 -0
- package/node_modules/@aui.io/apollo-tui/dist/src/author/data.js +31 -1
- package/node_modules/@aui.io/apollo-tui/dist/src/author/data.js.map +1 -1
- package/node_modules/@aui.io/apollo-tui/dist/src/author/session.d.ts +10 -1
- package/node_modules/@aui.io/apollo-tui/dist/src/author/session.js +19 -6
- package/node_modules/@aui.io/apollo-tui/dist/src/author/session.js.map +1 -1
- package/node_modules/@aui.io/apollo-tui/dist/src/context/ContextSwitcher.d.ts +3 -1
- package/node_modules/@aui.io/apollo-tui/dist/src/context/ContextSwitcher.js +7 -2
- package/node_modules/@aui.io/apollo-tui/dist/src/context/ContextSwitcher.js.map +1 -1
- package/node_modules/@aui.io/apollo-tui/dist/src/index.d.ts +4 -3
- package/node_modules/@aui.io/apollo-tui/dist/src/index.js +4 -3
- package/node_modules/@aui.io/apollo-tui/dist/src/index.js.map +1 -1
- package/node_modules/@aui.io/apollo-tui/dist/src/lib/actions.d.ts +3 -0
- package/node_modules/@aui.io/apollo-tui/dist/src/lib/actions.js +3 -0
- 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/jsonview.d.ts +31 -0
- package/node_modules/@aui.io/apollo-tui/dist/src/lib/jsonview.js +114 -0
- package/node_modules/@aui.io/apollo-tui/dist/src/lib/jsonview.js.map +1 -0
- package/node_modules/@aui.io/apollo-tui/dist/src/lib/sheet.js +10 -7
- package/node_modules/@aui.io/apollo-tui/dist/src/lib/sheet.js.map +1 -1
- package/node_modules/@aui.io/apollo-tui/dist/src/opentui-app.js +200 -90
- 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/Breadcrumb.d.ts +5 -2
- package/node_modules/@aui.io/apollo-tui/dist/src/shell/Breadcrumb.js +10 -4
- package/node_modules/@aui.io/apollo-tui/dist/src/shell/Breadcrumb.js.map +1 -1
- package/node_modules/@aui.io/apollo-tui/dist/src/shell/FooterHints.js +3 -2
- package/node_modules/@aui.io/apollo-tui/dist/src/shell/FooterHints.js.map +1 -1
- package/node_modules/@aui.io/apollo-tui/dist/src/shell/ModeNav.d.ts +2 -1
- package/node_modules/@aui.io/apollo-tui/dist/src/shell/ModeNav.js +29 -3
- package/node_modules/@aui.io/apollo-tui/dist/src/shell/ModeNav.js.map +1 -1
- package/node_modules/@aui.io/apollo-tui/dist/src/talk/Composer.d.ts +3 -1
- package/node_modules/@aui.io/apollo-tui/dist/src/talk/Composer.js +4 -3
- package/node_modules/@aui.io/apollo-tui/dist/src/talk/Composer.js.map +1 -1
- package/node_modules/@aui.io/apollo-tui/dist/src/talk/InspectorPane.d.ts +8 -3
- package/node_modules/@aui.io/apollo-tui/dist/src/talk/InspectorPane.js +7 -5
- package/node_modules/@aui.io/apollo-tui/dist/src/talk/InspectorPane.js.map +1 -1
- package/node_modules/@aui.io/apollo-tui/dist/src/talk/TalkView.d.ts +15 -2
- package/node_modules/@aui.io/apollo-tui/dist/src/talk/TalkView.js +22 -5
- package/node_modules/@aui.io/apollo-tui/dist/src/talk/TalkView.js.map +1 -1
- package/node_modules/@aui.io/apollo-tui/dist/src/talk/ThreadsPane.d.ts +5 -2
- package/node_modules/@aui.io/apollo-tui/dist/src/talk/ThreadsPane.js +10 -4
- package/node_modules/@aui.io/apollo-tui/dist/src/talk/ThreadsPane.js.map +1 -1
- package/node_modules/@aui.io/apollo-tui/dist/src/talk/data.d.ts +14 -3
- package/node_modules/@aui.io/apollo-tui/dist/src/talk/data.js +12 -2
- package/node_modules/@aui.io/apollo-tui/dist/src/talk/data.js.map +1 -1
- package/node_modules/@aui.io/apollo-tui/dist/src/theme/glyphs.d.ts +52 -0
- package/node_modules/@aui.io/apollo-tui/dist/src/theme/glyphs.js +76 -0
- package/node_modules/@aui.io/apollo-tui/dist/src/theme/glyphs.js.map +1 -0
- package/node_modules/@aui.io/apollo-tui/dist/src/theme/syntax.d.ts +20 -0
- package/node_modules/@aui.io/apollo-tui/dist/src/theme/syntax.js +54 -0
- package/node_modules/@aui.io/apollo-tui/dist/src/theme/syntax.js.map +1 -0
- package/node_modules/@aui.io/apollo-tui/dist/src/theme/tokens.d.ts +26 -8
- package/node_modules/@aui.io/apollo-tui/dist/src/theme/tokens.js +46 -8
- package/node_modules/@aui.io/apollo-tui/dist/src/theme/tokens.js.map +1 -1
- package/node_modules/@aui.io/apollo-tui/dist/src/ui/JsonPane.d.ts +12 -0
- package/node_modules/@aui.io/apollo-tui/dist/src/ui/JsonPane.js +22 -0
- package/node_modules/@aui.io/apollo-tui/dist/src/ui/JsonPane.js.map +1 -0
- package/node_modules/@aui.io/apollo-tui/dist/src/ui/PickerPane.d.ts +3 -1
- package/node_modules/@aui.io/apollo-tui/dist/src/ui/PickerPane.js +8 -3
- package/node_modules/@aui.io/apollo-tui/dist/src/ui/PickerPane.js.map +1 -1
- package/node_modules/@aui.io/apollo-tui/dist/src/ui/SheetPane.js +3 -2
- package/node_modules/@aui.io/apollo-tui/dist/src/ui/SheetPane.js.map +1 -1
- package/node_modules/@aui.io/apollo-tui/node_modules/web-tree-sitter/LICENSE +21 -0
- package/node_modules/@aui.io/apollo-tui/node_modules/web-tree-sitter/README.md +269 -0
- package/node_modules/@aui.io/apollo-tui/node_modules/web-tree-sitter/debug/tree-sitter.cjs +4558 -0
- package/node_modules/@aui.io/apollo-tui/node_modules/web-tree-sitter/debug/tree-sitter.cjs.map +7 -0
- package/node_modules/@aui.io/apollo-tui/node_modules/web-tree-sitter/debug/tree-sitter.js +4516 -0
- package/node_modules/@aui.io/apollo-tui/node_modules/web-tree-sitter/debug/tree-sitter.js.map +7 -0
- package/node_modules/@aui.io/apollo-tui/node_modules/web-tree-sitter/debug/tree-sitter.wasm +0 -0
- package/node_modules/@aui.io/apollo-tui/node_modules/web-tree-sitter/debug/tree-sitter.wasm.map +31 -0
- package/node_modules/@aui.io/apollo-tui/node_modules/web-tree-sitter/lib/alloc.c +48 -0
- package/node_modules/@aui.io/apollo-tui/node_modules/web-tree-sitter/lib/alloc.h +41 -0
- package/node_modules/@aui.io/apollo-tui/node_modules/web-tree-sitter/lib/array.h +291 -0
- package/node_modules/@aui.io/apollo-tui/node_modules/web-tree-sitter/lib/atomic.h +68 -0
- package/node_modules/@aui.io/apollo-tui/node_modules/web-tree-sitter/lib/clock.h +146 -0
- package/node_modules/@aui.io/apollo-tui/node_modules/web-tree-sitter/lib/error_costs.h +11 -0
- package/node_modules/@aui.io/apollo-tui/node_modules/web-tree-sitter/lib/get_changed_ranges.c +523 -0
- package/node_modules/@aui.io/apollo-tui/node_modules/web-tree-sitter/lib/get_changed_ranges.h +36 -0
- package/node_modules/@aui.io/apollo-tui/node_modules/web-tree-sitter/lib/host.h +21 -0
- package/node_modules/@aui.io/apollo-tui/node_modules/web-tree-sitter/lib/language.c +293 -0
- package/node_modules/@aui.io/apollo-tui/node_modules/web-tree-sitter/lib/language.h +293 -0
- package/node_modules/@aui.io/apollo-tui/node_modules/web-tree-sitter/lib/length.h +52 -0
- package/node_modules/@aui.io/apollo-tui/node_modules/web-tree-sitter/lib/lexer.c +483 -0
- package/node_modules/@aui.io/apollo-tui/node_modules/web-tree-sitter/lib/lexer.h +54 -0
- package/node_modules/@aui.io/apollo-tui/node_modules/web-tree-sitter/lib/lib.c +12 -0
- package/node_modules/@aui.io/apollo-tui/node_modules/web-tree-sitter/lib/node.c +875 -0
- package/node_modules/@aui.io/apollo-tui/node_modules/web-tree-sitter/lib/parser.c +2297 -0
- package/node_modules/@aui.io/apollo-tui/node_modules/web-tree-sitter/lib/parser.h +286 -0
- package/node_modules/@aui.io/apollo-tui/node_modules/web-tree-sitter/lib/point.h +48 -0
- package/node_modules/@aui.io/apollo-tui/node_modules/web-tree-sitter/lib/query.c +4347 -0
- package/node_modules/@aui.io/apollo-tui/node_modules/web-tree-sitter/lib/reduce_action.h +34 -0
- package/node_modules/@aui.io/apollo-tui/node_modules/web-tree-sitter/lib/reusable_node.h +95 -0
- package/node_modules/@aui.io/apollo-tui/node_modules/web-tree-sitter/lib/stack.c +912 -0
- package/node_modules/@aui.io/apollo-tui/node_modules/web-tree-sitter/lib/stack.h +133 -0
- package/node_modules/@aui.io/apollo-tui/node_modules/web-tree-sitter/lib/subtree.c +1034 -0
- package/node_modules/@aui.io/apollo-tui/node_modules/web-tree-sitter/lib/subtree.h +399 -0
- package/node_modules/@aui.io/apollo-tui/node_modules/web-tree-sitter/lib/tree-sitter.c +987 -0
- package/node_modules/@aui.io/apollo-tui/node_modules/web-tree-sitter/lib/tree-sitter.cjs +2988 -0
- package/node_modules/@aui.io/apollo-tui/node_modules/web-tree-sitter/lib/tree-sitter.wasm +0 -0
- package/node_modules/@aui.io/apollo-tui/node_modules/web-tree-sitter/lib/tree-sitter.wasm.map +1 -0
- package/node_modules/@aui.io/apollo-tui/node_modules/web-tree-sitter/lib/tree.c +170 -0
- package/node_modules/@aui.io/apollo-tui/node_modules/web-tree-sitter/lib/tree.h +31 -0
- package/node_modules/@aui.io/apollo-tui/node_modules/web-tree-sitter/lib/tree_cursor.c +716 -0
- package/node_modules/@aui.io/apollo-tui/node_modules/web-tree-sitter/lib/tree_cursor.h +48 -0
- package/node_modules/@aui.io/apollo-tui/node_modules/web-tree-sitter/lib/ts_assert.h +11 -0
- package/node_modules/@aui.io/apollo-tui/node_modules/web-tree-sitter/lib/unicode.h +75 -0
- package/node_modules/@aui.io/apollo-tui/node_modules/web-tree-sitter/lib/wasm_store.c +1937 -0
- package/node_modules/@aui.io/apollo-tui/node_modules/web-tree-sitter/lib/wasm_store.h +31 -0
- package/node_modules/@aui.io/apollo-tui/node_modules/web-tree-sitter/package.json +98 -0
- package/node_modules/@aui.io/apollo-tui/node_modules/web-tree-sitter/src/bindings.ts +26 -0
- package/node_modules/@aui.io/apollo-tui/node_modules/web-tree-sitter/src/constants.ts +133 -0
- package/node_modules/@aui.io/apollo-tui/node_modules/web-tree-sitter/src/index.ts +31 -0
- package/node_modules/@aui.io/apollo-tui/node_modules/web-tree-sitter/src/language.ts +291 -0
- package/node_modules/@aui.io/apollo-tui/node_modules/web-tree-sitter/src/lookahead_iterator.ts +75 -0
- package/node_modules/@aui.io/apollo-tui/node_modules/web-tree-sitter/src/marshal.ts +176 -0
- package/node_modules/@aui.io/apollo-tui/node_modules/web-tree-sitter/src/node.ts +646 -0
- package/node_modules/@aui.io/apollo-tui/node_modules/web-tree-sitter/src/parser.ts +325 -0
- package/node_modules/@aui.io/apollo-tui/node_modules/web-tree-sitter/src/query.ts +973 -0
- package/node_modules/@aui.io/apollo-tui/node_modules/web-tree-sitter/src/tree.ts +145 -0
- package/node_modules/@aui.io/apollo-tui/node_modules/web-tree-sitter/src/tree_cursor.ts +318 -0
- package/node_modules/@aui.io/apollo-tui/node_modules/web-tree-sitter/tree-sitter.cjs +4031 -0
- package/node_modules/@aui.io/apollo-tui/node_modules/web-tree-sitter/tree-sitter.cjs.map +7 -0
- package/node_modules/@aui.io/apollo-tui/node_modules/web-tree-sitter/tree-sitter.js +3980 -0
- package/node_modules/@aui.io/apollo-tui/node_modules/web-tree-sitter/tree-sitter.js.map +7 -0
- package/node_modules/@aui.io/apollo-tui/node_modules/web-tree-sitter/tree-sitter.wasm +0 -0
- package/node_modules/@aui.io/apollo-tui/node_modules/web-tree-sitter/tree-sitter.wasm.map +30 -0
- package/node_modules/@aui.io/apollo-tui/node_modules/web-tree-sitter/web-tree-sitter.d.ts +1030 -0
- package/node_modules/@aui.io/apollo-tui/node_modules/web-tree-sitter/web-tree-sitter.d.ts.map +56 -0
- package/node_modules/@aui.io/apollo-tui/package.json +6 -3
- package/package.json +7 -5
- package/node_modules/@aui.io/apollo-tui/dist/src/components/glyph.d.ts +0 -19
- package/node_modules/@aui.io/apollo-tui/dist/src/components/glyph.js +0 -41
- package/node_modules/@aui.io/apollo-tui/dist/src/components/glyph.js.map +0 -1
- package/node_modules/@aui.io/apollo-tui/dist/src/lib/attractor.d.ts +0 -82
- package/node_modules/@aui.io/apollo-tui/dist/src/lib/attractor.js +0 -231
- package/node_modules/@aui.io/apollo-tui/dist/src/lib/attractor.js.map +0 -1
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { jsx as _jsx } from "@opentui/react/jsx-runtime";
|
|
2
|
+
import { G } from "../theme/glyphs.js";
|
|
2
3
|
import { AMBER, FAINT, FG, RED, TEAL, TEAL_DIM } from "../theme/tokens.js";
|
|
3
4
|
import { COMPOSER_KEY_BINDINGS, composerHeight } from "./data.js";
|
|
4
5
|
/**
|
|
@@ -7,11 +8,11 @@ import { COMPOSER_KEY_BINDINGS, composerHeight } from "./data.js";
|
|
|
7
8
|
* or Alt+Enter (legacy) inserts a newline. Slash lines are NOT interpreted:
|
|
8
9
|
* everything here goes to the agent verbatim; operations live in ^K.
|
|
9
10
|
*/
|
|
10
|
-
export function Composer({ targetLabel, draft, disabledReason, pending, taRef, onDraftChange, onSend, }) {
|
|
11
|
+
export function Composer({ targetLabel, draft, disabledReason, pending, taRef, onDraftChange, onSend, onFocusRequest, }) {
|
|
11
12
|
const title = disabledReason
|
|
12
13
|
? ` can’t send — ${disabledReason} `
|
|
13
14
|
: ` message ${targetLabel} `;
|
|
14
|
-
return (_jsx("box", { title: title, style: {
|
|
15
|
+
return (_jsx("box", { title: title, onMouseDown: onFocusRequest, style: {
|
|
15
16
|
border: true,
|
|
16
17
|
borderStyle: "rounded",
|
|
17
18
|
borderColor: disabledReason ? RED : pending ? AMBER : TEAL_DIM,
|
|
@@ -22,7 +23,7 @@ export function Composer({ targetLabel, draft, disabledReason, pending, taRef, o
|
|
|
22
23
|
width: "100%",
|
|
23
24
|
}, children: _jsx("textarea", { ref: taRef, focused: true, initialValue: draft, placeholder: pending
|
|
24
25
|
? "waiting for the reply — Esc cancels"
|
|
25
|
-
:
|
|
26
|
+
: `type a message · Enter send · ${G.shift}${G.enter}/${G.alt}${G.enter} newline`, placeholderColor: FAINT, textColor: FG, focusedTextColor: FG, cursorColor: TEAL, backgroundColor: "transparent", focusedBackgroundColor: "transparent", keyBindings: [...COMPOSER_KEY_BINDINGS], onContentChange: () => {
|
|
26
27
|
onDraftChange(taRef.current?.plainText ?? "");
|
|
27
28
|
}, onSubmit: onSend, style: { flexGrow: 1, width: "100%" } }) }));
|
|
28
29
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Composer.js","sourceRoot":"","sources":["../../../src/talk/Composer.tsx"],"names":[],"mappings":";AAGA,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC3E,OAAO,EAAE,qBAAqB,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAElE;;;;;GAKG;AACH,MAAM,UAAU,QAAQ,CAAC,EACvB,WAAW,EACX,KAAK,EACL,cAAc,EACd,OAAO,EACP,KAAK,EACL,aAAa,EACb,MAAM,
|
|
1
|
+
{"version":3,"file":"Composer.js","sourceRoot":"","sources":["../../../src/talk/Composer.tsx"],"names":[],"mappings":";AAGA,OAAO,EAAE,CAAC,EAAE,MAAM,oBAAoB,CAAC;AACvC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC3E,OAAO,EAAE,qBAAqB,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAElE;;;;;GAKG;AACH,MAAM,UAAU,QAAQ,CAAC,EACvB,WAAW,EACX,KAAK,EACL,cAAc,EACd,OAAO,EACP,KAAK,EACL,aAAa,EACb,MAAM,EACN,cAAc,GAcf;IACC,MAAM,KAAK,GAAG,cAAc;QAC1B,CAAC,CAAC,iBAAiB,cAAc,GAAG;QACpC,CAAC,CAAC,YAAY,WAAW,GAAG,CAAC;IAC/B,OAAO,CACL,cACE,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,cAAc,EAC3B,KAAK,EAAE;YACL,MAAM,EAAE,IAAI;YACZ,WAAW,EAAE,SAAS;YACtB,WAAW,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ;YAC9D,MAAM,EAAE,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC;YACjC,UAAU,EAAE,CAAC;YACb,WAAW,EAAE,CAAC;YACd,YAAY,EAAE,CAAC;YACf,KAAK,EAAE,MAAM;SACd,YAED,mBACE,GAAG,EAAE,KAAK,EACV,OAAO,QACP,YAAY,EAAE,KAAK,EACnB,WAAW,EACT,OAAO;gBACL,CAAC,CAAC,qCAAqC;gBACvC,CAAC,CAAC,iCAAiC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,KAAK,UAAU,EAErF,gBAAgB,EAAE,KAAK,EACvB,SAAS,EAAE,EAAE,EACb,gBAAgB,EAAE,EAAE,EACpB,WAAW,EAAE,IAAI,EACjB,eAAe,EAAC,aAAa,EAC7B,sBAAsB,EAAC,aAAa,EACpC,WAAW,EAAE,CAAC,GAAG,qBAAqB,CAAC,EACvC,eAAe,EAAE,GAAG,EAAE;gBACpB,aAAa,CAAC,KAAK,CAAC,OAAO,EAAE,SAAS,IAAI,EAAE,CAAC,CAAC;YAChD,CAAC,EACD,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,GACrC,GACE,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -1,15 +1,20 @@
|
|
|
1
1
|
import type { RefObject } from "react";
|
|
2
2
|
import type { ScrollBoxRenderable } from "@opentui/core";
|
|
3
|
+
import type { JsonRow } from "../lib/jsonview.js";
|
|
3
4
|
import type { InspectorFetch } from "./data.js";
|
|
4
5
|
/**
|
|
5
6
|
* Inspector pane (right, wide terminals): diagnostics for the SELECTED turn —
|
|
6
|
-
* meta always; the trace/debug payload after ^T/^D
|
|
7
|
-
* the keyboard stays on
|
|
7
|
+
* meta always; the trace/debug payload after ^T/^D as a collapsible JSON
|
|
8
|
+
* tree (click rows to expand). Scrolls with the mouse; the keyboard stays on
|
|
9
|
+
* the conversation.
|
|
8
10
|
*/
|
|
9
|
-
export declare function InspectorPane({ meta, fetched, width, scrollRef, }: {
|
|
11
|
+
export declare function InspectorPane({ meta, fetched, json, onJsonToggle, width, scrollRef, }: {
|
|
10
12
|
meta: string[];
|
|
11
13
|
/** Trace/debug fetched for the selected turn (cleared on selection move). */
|
|
12
14
|
fetched: InspectorFetch | undefined;
|
|
15
|
+
/** JSON tree rows for the fetched payload (preferred over raw lines). */
|
|
16
|
+
json?: JsonRow[] | undefined;
|
|
17
|
+
onJsonToggle?: ((row: JsonRow) => void) | undefined;
|
|
13
18
|
width: number;
|
|
14
19
|
scrollRef?: RefObject<ScrollBoxRenderable | null> | undefined;
|
|
15
20
|
}): import("react").ReactNode;
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "@opentui/react/jsx-runtime";
|
|
2
|
+
import { JsonRows } from "../ui/JsonPane.js";
|
|
2
3
|
import { AMBER, FAINT, TEAL_DIM } from "../theme/tokens.js";
|
|
3
4
|
/**
|
|
4
5
|
* Inspector pane (right, wide terminals): diagnostics for the SELECTED turn —
|
|
5
|
-
* meta always; the trace/debug payload after ^T/^D
|
|
6
|
-
* the keyboard stays on
|
|
6
|
+
* meta always; the trace/debug payload after ^T/^D as a collapsible JSON
|
|
7
|
+
* tree (click rows to expand). Scrolls with the mouse; the keyboard stays on
|
|
8
|
+
* the conversation.
|
|
7
9
|
*/
|
|
8
|
-
export function InspectorPane({ meta, fetched, width, scrollRef, }) {
|
|
10
|
+
export function InspectorPane({ meta, fetched, json, onJsonToggle, width, scrollRef, }) {
|
|
9
11
|
return (_jsxs("box", { title: " inspector ", style: {
|
|
10
12
|
border: true,
|
|
11
13
|
borderStyle: "rounded",
|
|
@@ -16,12 +18,12 @@ export function InspectorPane({ meta, fetched, width, scrollRef, }) {
|
|
|
16
18
|
paddingLeft: 1,
|
|
17
19
|
paddingRight: 1,
|
|
18
20
|
overflow: "hidden",
|
|
19
|
-
}, children: [meta.map((line, i) => (_jsx("text", { fg: FAINT, style: { flexShrink: 0 }, children: line }, `m-${i}`))), fetched ? (_jsxs(_Fragment, { children: [_jsxs("text", { fg: AMBER, style: { flexShrink: 0 }, children: ["\u2014 ", fetched.kind, " \u2014"] }), _jsx("scrollbox", { ref: scrollRef, style: {
|
|
21
|
+
}, children: [meta.map((line, i) => (_jsx("text", { fg: FAINT, style: { flexShrink: 0 }, children: line }, `m-${i}`))), fetched ? (_jsxs(_Fragment, { children: [_jsxs("text", { fg: AMBER, style: { flexShrink: 0 }, children: ["\u2014 ", fetched.kind, " \u2014", json ? _jsx("span", { fg: FAINT, children: " click to expand" }) : null] }), _jsx("scrollbox", { ref: scrollRef, style: {
|
|
20
22
|
flexGrow: 1,
|
|
21
23
|
flexShrink: 1,
|
|
22
24
|
flexBasis: 0,
|
|
23
25
|
minHeight: 2,
|
|
24
26
|
flexDirection: "column",
|
|
25
|
-
}, children: fetched.lines.map((line, i) => (_jsx("text", { fg: FAINT, wrapMode: "word", children: line }, i))) })] })) : null] }));
|
|
27
|
+
}, children: json ? (_jsx(JsonRows, { rows: json, onToggle: onJsonToggle })) : (fetched.lines.map((line, i) => (_jsx("text", { fg: FAINT, wrapMode: "word", children: line }, i)))) })] })) : null] }));
|
|
26
28
|
}
|
|
27
29
|
//# sourceMappingURL=InspectorPane.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InspectorPane.js","sourceRoot":"","sources":["../../../src/talk/InspectorPane.tsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"InspectorPane.js","sourceRoot":"","sources":["../../../src/talk/InspectorPane.tsx"],"names":[],"mappings":";AAIA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAG5D;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAAC,EAC5B,IAAI,EACJ,OAAO,EACP,IAAI,EACJ,YAAY,EACZ,KAAK,EACL,SAAS,GAUV;IACC,OAAO,CACL,eACE,KAAK,EAAC,aAAa,EACnB,KAAK,EAAE;YACL,MAAM,EAAE,IAAI;YACZ,WAAW,EAAE,SAAS;YACtB,WAAW,EAAE,QAAQ;YACrB,aAAa,EAAE,QAAQ;YACvB,KAAK;YACL,UAAU,EAAE,CAAC;YACb,WAAW,EAAE,CAAC;YACd,YAAY,EAAE,CAAC;YACf,QAAQ,EAAE,QAAQ;SACnB,aAEA,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CACrB,eAAqB,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,YACrD,IAAI,IADI,KAAK,CAAC,EAAE,CAEZ,CACR,CAAC,EACD,OAAO,CAAC,CAAC,CAAC,CACT,8BACE,gBAAM,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,wBACpC,OAAO,CAAC,IAAI,aAAI,IAAI,CAAC,CAAC,CAAC,eAAM,EAAE,EAAE,KAAK,YAAG,kBAAkB,GAAQ,CAAC,CAAC,CAAC,IAAI,IACxE,EACP,oBACE,GAAG,EAAE,SAAS,EACd,KAAK,EAAE;4BACL,QAAQ,EAAE,CAAC;4BACX,UAAU,EAAE,CAAC;4BACb,SAAS,EAAE,CAAC;4BACZ,SAAS,EAAE,CAAC;4BACZ,aAAa,EAAE,QAAQ;yBACxB,YAEA,IAAI,CAAC,CAAC,CAAC,CACN,KAAC,QAAQ,IAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,YAAY,GAAI,CACjD,CAAC,CAAC,CAAC,CACF,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAC7B,eAAc,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAC,MAAM,YACrC,IAAI,IADI,CAAC,CAEL,CACR,CAAC,CACH,GACS,IACX,CACJ,CAAC,CAAC,CAAC,IAAI,IACJ,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { RefObject } from "react";
|
|
2
|
-
import type { ScrollBoxRenderable } from "@opentui/core";
|
|
2
|
+
import type { Renderable, ScrollBoxRenderable } from "@opentui/core";
|
|
3
|
+
import type { JsonRow } from "../lib/jsonview.js";
|
|
3
4
|
import type { InspectorFetch, TalkLayout, TalkRow, TalkTurn, ThreadSummary } from "./data.js";
|
|
4
5
|
/**
|
|
5
6
|
* Talk workbench (TUI_DESIGN §9): threads | conversation | inspector, panes
|
|
@@ -7,7 +8,7 @@ import type { InspectorFetch, TalkLayout, TalkRow, TalkTurn, ThreadSummary } fro
|
|
|
7
8
|
* a turn, the inspector follows); ←/→ move focus between threads and the
|
|
8
9
|
* conversation while the composer is empty.
|
|
9
10
|
*/
|
|
10
|
-
export declare function TalkView({ chat, rows, cursor, focusPane, layout, threads, threadsLoading, threadCursor, threadId, localMode, trace, vars, inspectorMetaLines, inspectorFetch, paneTitle, paneLines, pageSize, scrollRef, inspectorScrollRef, }: {
|
|
11
|
+
export declare function TalkView({ chat, rows, cursor, focusPane, layout, threads, threadsLoading, threadCursor, threadId, localMode, trace, vars, inspectorMetaLines, inspectorFetch, paneTitle, paneLines, overlayJson, inspectorJson, onJsonToggle, onSelectTurn, onSelectThread, pageSize, scrollRef, inspectorScrollRef, turnRefs, }: {
|
|
11
12
|
chat: TalkTurn[];
|
|
12
13
|
rows: TalkRow[];
|
|
13
14
|
cursor: number;
|
|
@@ -24,7 +25,19 @@ export declare function TalkView({ chat, rows, cursor, focusPane, layout, thread
|
|
|
24
25
|
inspectorFetch: InspectorFetch | undefined;
|
|
25
26
|
paneTitle?: string | undefined;
|
|
26
27
|
paneLines: string[];
|
|
28
|
+
/** JSON tree rows for the inline trace/debug overlay (replaces raw text). */
|
|
29
|
+
overlayJson?: JsonRow[] | undefined;
|
|
30
|
+
/** JSON tree rows for the inspector's fetched trace/debug payload. */
|
|
31
|
+
inspectorJson?: JsonRow[] | undefined;
|
|
32
|
+
onJsonToggle?: ((row: JsonRow) => void) | undefined;
|
|
33
|
+
/** Mouse: click a conversation row to select its turn. */
|
|
34
|
+
onSelectTurn?: ((turn: number) => void) | undefined;
|
|
35
|
+
/** Mouse: click a thread row to open it (index into the rows incl. new). */
|
|
36
|
+
onSelectThread?: ((row: number) => void) | undefined;
|
|
27
37
|
pageSize: number;
|
|
28
38
|
scrollRef?: RefObject<ScrollBoxRenderable | null> | undefined;
|
|
29
39
|
inspectorScrollRef?: RefObject<ScrollBoxRenderable | null> | undefined;
|
|
40
|
+
/** Header renderables by turn index — exact scroll targets even when
|
|
41
|
+
* markdown blocks make row heights unpredictable. */
|
|
42
|
+
turnRefs?: RefObject<Map<number, Renderable | null>> | undefined;
|
|
30
43
|
}): import("react").ReactNode;
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "@opentui/react/jsx-runtime";
|
|
2
|
+
import { G } from "../theme/glyphs.js";
|
|
3
|
+
import { getSyntaxStyle, getTreeSitter } from "../theme/syntax.js";
|
|
2
4
|
import { AMBER, FAINT, FG, TEAL, TEAL_DIM } from "../theme/tokens.js";
|
|
5
|
+
import { JsonRows } from "../ui/JsonPane.js";
|
|
3
6
|
import { InspectorPane } from "./InspectorPane.js";
|
|
4
7
|
import { ThreadsPane } from "./ThreadsPane.js";
|
|
5
8
|
function roleColor(role) {
|
|
@@ -11,11 +14,11 @@ function roleColor(role) {
|
|
|
11
14
|
* a turn, the inspector follows); ←/→ move focus between threads and the
|
|
12
15
|
* conversation while the composer is empty.
|
|
13
16
|
*/
|
|
14
|
-
export function TalkView({ chat, rows, cursor, focusPane, layout, threads, threadsLoading, threadCursor, threadId, localMode, trace, vars, inspectorMetaLines, inspectorFetch, paneTitle, paneLines, pageSize, scrollRef, inspectorScrollRef, }) {
|
|
17
|
+
export function TalkView({ chat, rows, cursor, focusPane, layout, threads, threadsLoading, threadCursor, threadId, localMode, trace, vars, inspectorMetaLines, inspectorFetch, paneTitle, paneLines, overlayJson, inspectorJson, onJsonToggle, onSelectTurn, onSelectThread, pageSize, scrollRef, inspectorScrollRef, turnRefs, }) {
|
|
15
18
|
const replies = chat.filter((t) => t.role === "agent" && !t.pending).length;
|
|
16
19
|
// Inline trace/debug fallback when the inspector pane doesn't fit.
|
|
17
20
|
const inlineOverlay = !layout.inspector &&
|
|
18
|
-
paneLines.length > 0 &&
|
|
21
|
+
(paneLines.length > 0 || overlayJson) &&
|
|
19
22
|
paneTitle &&
|
|
20
23
|
/^(trace|debug)/i.test(paneTitle);
|
|
21
24
|
return (_jsxs("box", { style: { flexDirection: "column", flexGrow: 1, minHeight: 0, width: "100%" }, children: [localMode ? (_jsx("text", { fg: AMBER, style: { flexShrink: 0 }, children: _jsx("b", { children: " TALK \u00B7 LOCAL BUNDLE \u2014 replies run this checkout, not the deployed version " }) })) : null, _jsxs("text", { fg: FAINT, style: { flexShrink: 0 }, children: [" ", "thread ", threadId?.slice(0, 12) ?? "new", " \u00B7 ", replies, " ", replies === 1 ? "reply" : "replies", " \u00B7 trace ", trace ? "on" : "off", vars.length > 0 ? ` · vars ${vars.join(", ")}` : ""] }), _jsxs("box", { style: {
|
|
@@ -25,7 +28,7 @@ export function TalkView({ chat, rows, cursor, focusPane, layout, threads, threa
|
|
|
25
28
|
flexBasis: 0,
|
|
26
29
|
minHeight: 2,
|
|
27
30
|
width: "100%",
|
|
28
|
-
}, children: [layout.threads ? (_jsx(ThreadsPane, { threads: threads, loading: threadsLoading, cursor: threadCursor, activeId: threadId, focused: focusPane === "threads", width: layout.threadsWidth, pageSize: pageSize })) : null, _jsx("box", { style: {
|
|
31
|
+
}, children: [layout.threads ? (_jsx(ThreadsPane, { threads: threads, loading: threadsLoading, cursor: threadCursor, activeId: threadId, focused: focusPane === "threads", width: layout.threadsWidth, pageSize: pageSize, onSelect: onSelectThread })) : null, _jsx("box", { style: {
|
|
29
32
|
border: true,
|
|
30
33
|
borderStyle: "rounded",
|
|
31
34
|
borderColor: focusPane === "chat" ? TEAL : TEAL_DIM,
|
|
@@ -54,7 +57,21 @@ export function TalkView({ chat, rows, cursor, focusPane, layout, threads, threa
|
|
|
54
57
|
if (row.kind === "spacer") {
|
|
55
58
|
return _jsx("text", { children: " " }, i);
|
|
56
59
|
}
|
|
57
|
-
|
|
58
|
-
|
|
60
|
+
const selectTurn = onSelectTurn
|
|
61
|
+
? () => {
|
|
62
|
+
onSelectTurn(row.turn);
|
|
63
|
+
}
|
|
64
|
+
: undefined;
|
|
65
|
+
if (row.kind === "md") {
|
|
66
|
+
// Agent prose as rendered markdown; the selection bar rides
|
|
67
|
+
// the first line, the block indents past the gutter.
|
|
68
|
+
return (_jsxs("box", { style: { flexDirection: "row", width: "100%" }, onMouseDown: selectTurn, children: [_jsx("text", { fg: TEAL, style: { flexShrink: 0 }, children: selected ? G.cursorBar : " " }), _jsx("box", { style: { flexGrow: 1, flexShrink: 1, flexBasis: 0, minWidth: 0 }, children: _jsx("markdown", { content: row.text, syntaxStyle: getSyntaxStyle(), treeSitterClient: getTreeSitter(), style: { width: "100%" } }) })] }, i));
|
|
69
|
+
}
|
|
70
|
+
return (_jsxs("text", { onMouseDown: selectTurn, ref: (row.kind === "header" || row.kind === "pending") && turnRefs
|
|
71
|
+
? (node) => {
|
|
72
|
+
turnRefs.current.set(row.turn, node);
|
|
73
|
+
}
|
|
74
|
+
: undefined, children: [_jsx("span", { fg: TEAL, children: selected ? G.cursorBar : " " }), _jsx("span", { fg: row.kind === "header" ? tone : undefined, children: row.kind === "header" || row.kind === "pending" ? "" : " " }), _jsx("span", { fg: tone, children: row.text })] }, i));
|
|
75
|
+
})), inlineOverlay ? (_jsxs(_Fragment, { children: [_jsx("text", { children: " " }), _jsxs("text", { fg: AMBER, children: ["\u2014 ", paneTitle, " \u2014", overlayJson ? (_jsx("span", { fg: FAINT, children: " click rows to expand/collapse" })) : null] }), overlayJson ? (_jsx(JsonRows, { rows: overlayJson, onToggle: onJsonToggle })) : (paneLines.map((line, i) => (_jsx("text", { fg: FAINT, wrapMode: "word", children: line }, `p-${i}`))))] })) : null] }) }), layout.inspector ? (_jsx(InspectorPane, { meta: inspectorMetaLines, fetched: inspectorFetch, json: inspectorJson, onJsonToggle: onJsonToggle, width: layout.inspectorWidth, scrollRef: inspectorScrollRef })) : null] })] }));
|
|
59
76
|
}
|
|
60
77
|
//# sourceMappingURL=TalkView.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TalkView.js","sourceRoot":"","sources":["../../../src/talk/TalkView.tsx"],"names":[],"mappings":";AAGA,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,
|
|
1
|
+
{"version":3,"file":"TalkView.js","sourceRoot":"","sources":["../../../src/talk/TalkView.tsx"],"names":[],"mappings":"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"}
|
|
@@ -4,9 +4,10 @@ export declare const NEW_THREAD_ROW = 0;
|
|
|
4
4
|
export declare function threadsRowCount(threads: ThreadSummary[] | undefined): number;
|
|
5
5
|
/**
|
|
6
6
|
* Threads pane (left). Cursor-driven: ↑↓ move, Enter opens (or starts a new
|
|
7
|
-
* thread). The pane windows itself around
|
|
7
|
+
* thread); clicking a row opens it directly. The pane windows itself around
|
|
8
|
+
* the cursor like the pickers do.
|
|
8
9
|
*/
|
|
9
|
-
export declare function ThreadsPane({ threads, loading, cursor, activeId, focused, width, pageSize, }: {
|
|
10
|
+
export declare function ThreadsPane({ threads, loading, cursor, activeId, focused, width, pageSize, onSelect, }: {
|
|
10
11
|
threads: ThreadSummary[] | undefined;
|
|
11
12
|
loading: boolean;
|
|
12
13
|
cursor: number;
|
|
@@ -14,4 +15,6 @@ export declare function ThreadsPane({ threads, loading, cursor, activeId, focuse
|
|
|
14
15
|
focused: boolean;
|
|
15
16
|
width: number;
|
|
16
17
|
pageSize: number;
|
|
18
|
+
/** Mouse: click a row to open that thread (or start a new one at row 0). */
|
|
19
|
+
onSelect?: ((row: number) => void) | undefined;
|
|
17
20
|
}): import("react").ReactNode;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "@opentui/react/jsx-runtime";
|
|
2
|
+
import { G } from "../theme/glyphs.js";
|
|
2
3
|
import { AMBER, DIM, FAINT, FG, TEAL, TEAL_DIM } from "../theme/tokens.js";
|
|
3
4
|
/** Row 0 is always "new thread"; real threads follow, newest first. */
|
|
4
5
|
export const NEW_THREAD_ROW = 0;
|
|
@@ -7,9 +8,10 @@ export function threadsRowCount(threads) {
|
|
|
7
8
|
}
|
|
8
9
|
/**
|
|
9
10
|
* Threads pane (left). Cursor-driven: ↑↓ move, Enter opens (or starts a new
|
|
10
|
-
* thread). The pane windows itself around
|
|
11
|
+
* thread); clicking a row opens it directly. The pane windows itself around
|
|
12
|
+
* the cursor like the pickers do.
|
|
11
13
|
*/
|
|
12
|
-
export function ThreadsPane({ threads, loading, cursor, activeId, focused, width, pageSize, }) {
|
|
14
|
+
export function ThreadsPane({ threads, loading, cursor, activeId, focused, width, pageSize, onSelect, }) {
|
|
13
15
|
const rows = threads ?? [];
|
|
14
16
|
const total = threadsRowCount(threads);
|
|
15
17
|
const clamped = Math.max(0, Math.min(cursor, total - 1));
|
|
@@ -21,7 +23,7 @@ export function ThreadsPane({ threads, loading, cursor, activeId, focused, width
|
|
|
21
23
|
if (index === NEW_THREAD_ROW)
|
|
22
24
|
return "+ new thread";
|
|
23
25
|
const t = rows[index - 1];
|
|
24
|
-
const mark = t.id === activeId ?
|
|
26
|
+
const mark = t.id === activeId ? `${G.bullet} ` : " ";
|
|
25
27
|
return `${mark}${t.title}`;
|
|
26
28
|
};
|
|
27
29
|
const detail = (index) => {
|
|
@@ -49,7 +51,11 @@ export function ThreadsPane({ threads, loading, cursor, activeId, focused, width
|
|
|
49
51
|
const labelMax = extra
|
|
50
52
|
? Math.max(6, budget - extra.length - 1)
|
|
51
53
|
: budget;
|
|
52
|
-
return (_jsxs("text", {
|
|
54
|
+
return (_jsxs("text", { onMouseDown: onSelect
|
|
55
|
+
? () => {
|
|
56
|
+
onSelect(index);
|
|
57
|
+
}
|
|
58
|
+
: undefined, children: [_jsx("span", { fg: selected ? TEAL : undefined, children: selected ? `${G.pointer} ` : " " }), _jsx("span", { fg: index === NEW_THREAD_ROW
|
|
53
59
|
? AMBER
|
|
54
60
|
: active
|
|
55
61
|
? TEAL
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ThreadsPane.js","sourceRoot":"","sources":["../../../src/talk/ThreadsPane.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAG3E,uEAAuE;AACvE,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC;AAEhC,MAAM,UAAU,eAAe,CAAC,OAAoC;IAClE,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC,CAAC,CAAC;AACpC,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"ThreadsPane.js","sourceRoot":"","sources":["../../../src/talk/ThreadsPane.tsx"],"names":[],"mappings":"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"}
|
|
@@ -41,15 +41,24 @@ export interface ThreadSummary {
|
|
|
41
41
|
export declare function threadSummaries(threads: Thread[], now?: number): ThreadSummary[];
|
|
42
42
|
/** Map runtime-api messages onto conversation turns (thread resume). */
|
|
43
43
|
export declare function messagesToTurns(messages: Message[]): TalkTurn[];
|
|
44
|
-
export type TalkRowKind = "header" | "body" | "pending" | "spacer";
|
|
44
|
+
export type TalkRowKind = "header" | "body" | "md" | "pending" | "spacer";
|
|
45
45
|
export interface TalkRow {
|
|
46
46
|
kind: TalkRowKind;
|
|
47
47
|
/** Owning turn index; spacers belong to the turn above. */
|
|
48
48
|
turn: number;
|
|
49
|
+
/** For "md" rows: the full markdown source, not a wrapped line. */
|
|
49
50
|
text: string;
|
|
50
51
|
}
|
|
51
|
-
/**
|
|
52
|
-
|
|
52
|
+
/**
|
|
53
|
+
* Flatten the conversation into renderable rows wrapped at `width`.
|
|
54
|
+
* With `markdown` on, settled agent replies collapse to one "md" row whose
|
|
55
|
+
* text is the raw markdown source — the view renders it via `<markdown>`
|
|
56
|
+
* (user prompts stay verbatim text: the composer sends exactly what you
|
|
57
|
+
* typed, so the transcript shows exactly what you typed).
|
|
58
|
+
*/
|
|
59
|
+
export declare function talkRows(chat: TalkTurn[], width: number, now?: number, opts?: {
|
|
60
|
+
markdown?: boolean;
|
|
61
|
+
}): TalkRow[];
|
|
53
62
|
/** First row index of a turn — scroll target when the cursor moves. */
|
|
54
63
|
export declare function turnRowOffset(rows: TalkRow[], turn: number): number;
|
|
55
64
|
/** 1-based position of the turn among agent replies (chatOverlay's index). */
|
|
@@ -61,6 +70,8 @@ export interface InspectorFetch {
|
|
|
61
70
|
turn: number;
|
|
62
71
|
kind: "trace" | "debug";
|
|
63
72
|
lines: string[];
|
|
73
|
+
/** Structured payload — the inspector renders a JSON tree when present. */
|
|
74
|
+
data?: unknown;
|
|
64
75
|
}
|
|
65
76
|
export declare function inspectorMeta(chat: TalkTurn[], turn: number, opts: {
|
|
66
77
|
localMode: boolean;
|
|
@@ -100,8 +100,14 @@ function headerMeta(turn, now) {
|
|
|
100
100
|
}
|
|
101
101
|
return parts.join(" · ");
|
|
102
102
|
}
|
|
103
|
-
/**
|
|
104
|
-
|
|
103
|
+
/**
|
|
104
|
+
* Flatten the conversation into renderable rows wrapped at `width`.
|
|
105
|
+
* With `markdown` on, settled agent replies collapse to one "md" row whose
|
|
106
|
+
* text is the raw markdown source — the view renders it via `<markdown>`
|
|
107
|
+
* (user prompts stay verbatim text: the composer sends exactly what you
|
|
108
|
+
* typed, so the transcript shows exactly what you typed).
|
|
109
|
+
*/
|
|
110
|
+
export function talkRows(chat, width, now = Date.now(), opts = {}) {
|
|
105
111
|
const rows = [];
|
|
106
112
|
chat.forEach((turn, index) => {
|
|
107
113
|
if (index > 0)
|
|
@@ -117,6 +123,10 @@ export function talkRows(chat, width, now = Date.now()) {
|
|
|
117
123
|
turn: index,
|
|
118
124
|
text: meta ? `${turn.role} · ${meta}` : turn.role,
|
|
119
125
|
});
|
|
126
|
+
if (opts.markdown && turn.role === "agent" && turn.text.trim().length > 0) {
|
|
127
|
+
rows.push({ kind: "md", turn: index, text: turn.text });
|
|
128
|
+
return;
|
|
129
|
+
}
|
|
120
130
|
for (const line of turn.text.split("\n")) {
|
|
121
131
|
for (const wrapped of wrapText(line, width)) {
|
|
122
132
|
rows.push({ kind: "body", turn: index, text: wrapped });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data.js","sourceRoot":"","sources":["../../../src/talk/data.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"data.js","sourceRoot":"","sources":["../../../src/talk/data.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Semantic UI glyphs with ASCII fallbacks (figures-style) — the TUI must stay
|
|
3
|
+
* understandable without a Unicode-rich font (TUI_DESIGN §18.2). Status and
|
|
4
|
+
* marker glyphs carry meaning (monochrome-first: color is never the only
|
|
5
|
+
* signal), so exactly these get fallbacks; prose punctuation does not.
|
|
6
|
+
*/
|
|
7
|
+
export interface GlyphSet {
|
|
8
|
+
/** Selection pointer in lists and forms. */
|
|
9
|
+
pointer: string;
|
|
10
|
+
/** Heavier pointer used by full-row cursors (drawer, tree). */
|
|
11
|
+
pointerBold: string;
|
|
12
|
+
/** Selected-turn bar in the conversation gutter. */
|
|
13
|
+
cursorBar: string;
|
|
14
|
+
/** Active / running / bound marker. */
|
|
15
|
+
bullet: string;
|
|
16
|
+
ok: string;
|
|
17
|
+
fail: string;
|
|
18
|
+
/** Cancelled / stopped. */
|
|
19
|
+
stopped: string;
|
|
20
|
+
/** Tool / action unit. */
|
|
21
|
+
gear: string;
|
|
22
|
+
/** Streaming thinking unit. */
|
|
23
|
+
thinking: string;
|
|
24
|
+
warn: string;
|
|
25
|
+
/** Collapsed / expandable row. */
|
|
26
|
+
collapsed: string;
|
|
27
|
+
expanded: string;
|
|
28
|
+
/** Cursor gutter in the session pane. */
|
|
29
|
+
cursor: string;
|
|
30
|
+
/** Toast prefix ("↳ pushed v0.17"). */
|
|
31
|
+
branch: string;
|
|
32
|
+
/** Text-art frame pieces (sheet previews, split divider). */
|
|
33
|
+
bar: string;
|
|
34
|
+
dash: string;
|
|
35
|
+
cornerTL: string;
|
|
36
|
+
cornerTR: string;
|
|
37
|
+
cornerBL: string;
|
|
38
|
+
cornerBR: string;
|
|
39
|
+
/** Key names in hint lines; shift/alt are prefixes ("⇧↵" / "Shift+Enter"). */
|
|
40
|
+
enter: string;
|
|
41
|
+
shift: string;
|
|
42
|
+
alt: string;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Unicode-capable terminal? `APOLLO_GLYPHS=ascii|unicode` overrides (also how
|
|
46
|
+
* the render checks force both paths). Otherwise: everything except the bare
|
|
47
|
+
* Linux console and legacy Windows conhost renders these glyphs fine.
|
|
48
|
+
*/
|
|
49
|
+
export declare function unicodeSupported(env?: NodeJS.ProcessEnv, platform?: NodeJS.Platform): boolean;
|
|
50
|
+
/** Pure selector, unit-testable; `G` below is the ambient binding. */
|
|
51
|
+
export declare function glyphSet(unicode: boolean): GlyphSet;
|
|
52
|
+
export declare const G: GlyphSet;
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Semantic UI glyphs with ASCII fallbacks (figures-style) — the TUI must stay
|
|
3
|
+
* understandable without a Unicode-rich font (TUI_DESIGN §18.2). Status and
|
|
4
|
+
* marker glyphs carry meaning (monochrome-first: color is never the only
|
|
5
|
+
* signal), so exactly these get fallbacks; prose punctuation does not.
|
|
6
|
+
*/
|
|
7
|
+
const UNICODE = {
|
|
8
|
+
pointer: "›",
|
|
9
|
+
pointerBold: "❯",
|
|
10
|
+
cursorBar: "▌",
|
|
11
|
+
bullet: "●",
|
|
12
|
+
ok: "✓",
|
|
13
|
+
fail: "✕",
|
|
14
|
+
stopped: "◼",
|
|
15
|
+
gear: "⚙",
|
|
16
|
+
thinking: "✻",
|
|
17
|
+
warn: "⚠",
|
|
18
|
+
collapsed: "▸",
|
|
19
|
+
expanded: "▾",
|
|
20
|
+
cursor: "▸",
|
|
21
|
+
branch: "↳",
|
|
22
|
+
bar: "│",
|
|
23
|
+
dash: "─",
|
|
24
|
+
cornerTL: "╭",
|
|
25
|
+
cornerTR: "╮",
|
|
26
|
+
cornerBL: "╰",
|
|
27
|
+
cornerBR: "╯",
|
|
28
|
+
enter: "↵",
|
|
29
|
+
shift: "⇧",
|
|
30
|
+
alt: "⌥",
|
|
31
|
+
};
|
|
32
|
+
const ASCII = {
|
|
33
|
+
pointer: ">",
|
|
34
|
+
pointerBold: ">",
|
|
35
|
+
cursorBar: ">",
|
|
36
|
+
bullet: "*",
|
|
37
|
+
ok: "v",
|
|
38
|
+
fail: "x",
|
|
39
|
+
stopped: "#",
|
|
40
|
+
gear: "$",
|
|
41
|
+
thinking: "~",
|
|
42
|
+
warn: "!",
|
|
43
|
+
collapsed: ">",
|
|
44
|
+
expanded: "v",
|
|
45
|
+
cursor: ">",
|
|
46
|
+
branch: "->",
|
|
47
|
+
bar: "|",
|
|
48
|
+
dash: "-",
|
|
49
|
+
cornerTL: "+",
|
|
50
|
+
cornerTR: "+",
|
|
51
|
+
cornerBL: "+",
|
|
52
|
+
cornerBR: "+",
|
|
53
|
+
enter: "Enter",
|
|
54
|
+
shift: "Shift+",
|
|
55
|
+
alt: "Alt+",
|
|
56
|
+
};
|
|
57
|
+
/**
|
|
58
|
+
* Unicode-capable terminal? `APOLLO_GLYPHS=ascii|unicode` overrides (also how
|
|
59
|
+
* the render checks force both paths). Otherwise: everything except the bare
|
|
60
|
+
* Linux console and legacy Windows conhost renders these glyphs fine.
|
|
61
|
+
*/
|
|
62
|
+
export function unicodeSupported(env = process.env, platform = process.platform) {
|
|
63
|
+
if (env.APOLLO_GLYPHS === "ascii")
|
|
64
|
+
return false;
|
|
65
|
+
if (env.APOLLO_GLYPHS === "unicode")
|
|
66
|
+
return true;
|
|
67
|
+
if (platform !== "win32")
|
|
68
|
+
return env.TERM !== "linux";
|
|
69
|
+
return Boolean(env.WT_SESSION ?? env.TERM_PROGRAM ?? env.ConEmuTask ?? env.CI);
|
|
70
|
+
}
|
|
71
|
+
/** Pure selector, unit-testable; `G` below is the ambient binding. */
|
|
72
|
+
export function glyphSet(unicode) {
|
|
73
|
+
return unicode ? UNICODE : ASCII;
|
|
74
|
+
}
|
|
75
|
+
export const G = glyphSet(unicodeSupported());
|
|
76
|
+
//# sourceMappingURL=glyphs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"glyphs.js","sourceRoot":"","sources":["../../../src/theme/glyphs.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAwCH,MAAM,OAAO,GAAa;IACxB,OAAO,EAAE,GAAG;IACZ,WAAW,EAAE,GAAG;IAChB,SAAS,EAAE,GAAG;IACd,MAAM,EAAE,GAAG;IACX,EAAE,EAAE,GAAG;IACP,IAAI,EAAE,GAAG;IACT,OAAO,EAAE,GAAG;IACZ,IAAI,EAAE,GAAG;IACT,QAAQ,EAAE,GAAG;IACb,IAAI,EAAE,GAAG;IACT,SAAS,EAAE,GAAG;IACd,QAAQ,EAAE,GAAG;IACb,MAAM,EAAE,GAAG;IACX,MAAM,EAAE,GAAG;IACX,GAAG,EAAE,GAAG;IACR,IAAI,EAAE,GAAG;IACT,QAAQ,EAAE,GAAG;IACb,QAAQ,EAAE,GAAG;IACb,QAAQ,EAAE,GAAG;IACb,QAAQ,EAAE,GAAG;IACb,KAAK,EAAE,GAAG;IACV,KAAK,EAAE,GAAG;IACV,GAAG,EAAE,GAAG;CACT,CAAC;AAEF,MAAM,KAAK,GAAa;IACtB,OAAO,EAAE,GAAG;IACZ,WAAW,EAAE,GAAG;IAChB,SAAS,EAAE,GAAG;IACd,MAAM,EAAE,GAAG;IACX,EAAE,EAAE,GAAG;IACP,IAAI,EAAE,GAAG;IACT,OAAO,EAAE,GAAG;IACZ,IAAI,EAAE,GAAG;IACT,QAAQ,EAAE,GAAG;IACb,IAAI,EAAE,GAAG;IACT,SAAS,EAAE,GAAG;IACd,QAAQ,EAAE,GAAG;IACb,MAAM,EAAE,GAAG;IACX,MAAM,EAAE,IAAI;IACZ,GAAG,EAAE,GAAG;IACR,IAAI,EAAE,GAAG;IACT,QAAQ,EAAE,GAAG;IACb,QAAQ,EAAE,GAAG;IACb,QAAQ,EAAE,GAAG;IACb,QAAQ,EAAE,GAAG;IACb,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,QAAQ;IACf,GAAG,EAAE,MAAM;CACZ,CAAC;AAEF;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAC9B,MAAyB,OAAO,CAAC,GAAG,EACpC,WAA4B,OAAO,CAAC,QAAQ;IAE5C,IAAI,GAAG,CAAC,aAAa,KAAK,OAAO;QAAE,OAAO,KAAK,CAAC;IAChD,IAAI,GAAG,CAAC,aAAa,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACjD,IAAI,QAAQ,KAAK,OAAO;QAAE,OAAO,GAAG,CAAC,IAAI,KAAK,OAAO,CAAC;IACtD,OAAO,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,GAAG,CAAC,YAAY,IAAI,GAAG,CAAC,UAAU,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC;AACjF,CAAC;AAED,sEAAsE;AACtE,MAAM,UAAU,QAAQ,CAAC,OAAgB;IACvC,OAAO,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;AACnC,CAAC;AAED,MAAM,CAAC,MAAM,CAAC,GAAa,QAAQ,CAAC,gBAAgB,EAAE,CAAC,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared SyntaxStyle + tree-sitter client for OpenTUI's rich renderables
|
|
3
|
+
* (`<markdown>`, `<code>`, `<diff>`). One style instance for the whole app —
|
|
4
|
+
* SyntaxStyle allocates native state, and the renderables cache resolved
|
|
5
|
+
* style ids by name.
|
|
6
|
+
*
|
|
7
|
+
* Bun-only module (SyntaxStyle rides bun:ffi): components import it, the
|
|
8
|
+
* vitest-covered data layer must not. Rich rendering is gated on `RICH`
|
|
9
|
+
* (tokens.ts) — under NO_COLOR the plain text paths render instead, so this
|
|
10
|
+
* module is never touched in monochrome runs.
|
|
11
|
+
*
|
|
12
|
+
* Scope names come from OpenTUI's markdown renderer (`markup.*`, `conceal`,
|
|
13
|
+
* `default`) plus common tree-sitter capture names for code. `default` MUST
|
|
14
|
+
* carry an explicit fg: an empty style resolves to transparent and the text
|
|
15
|
+
* becomes invisible.
|
|
16
|
+
*/
|
|
17
|
+
import { SyntaxStyle, type TreeSitterClient } from "@opentui/core";
|
|
18
|
+
export declare function getSyntaxStyle(): SyntaxStyle;
|
|
19
|
+
/** Singleton worker-backed client; parsers load lazily per filetype. */
|
|
20
|
+
export declare function getTreeSitter(): TreeSitterClient;
|