gnosys 5.8.6 → 5.9.0

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.
@@ -0,0 +1,17 @@
1
+ /**
2
+ * v5.9.0 chat boot splash — lowercase italic "gnosys" wordmark with the
3
+ * brand-red polygonal `o`.
4
+ *
5
+ * Pre-rendered from figlet's "Small Slant" font, then sliced so cols
6
+ * 11..15 of each row (the `o` letter) can be tinted with the brand
7
+ * accent while the rest of the wordmark uses the primary text color.
8
+ *
9
+ * 4 visible rows × 29 cols — fits any terminal ≥80 cols comfortably.
10
+ */
11
+ import React from "react";
12
+ export interface BootSplashProps {
13
+ /** Subtitle line under the wordmark — usually the version + tagline. */
14
+ subtitle?: string;
15
+ }
16
+ export declare const BootSplash: React.FC<BootSplashProps>;
17
+ //# sourceMappingURL=boot-splash.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"boot-splash.d.ts","sourceRoot":"","sources":["../../../src/lib/chat/boot-splash.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAiB1B,MAAM,WAAW,eAAe;IAC9B,wEAAwE;IACxE,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAiBhD,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Box, Text } from "ink";
3
+ import { THEME } from "./theme.js";
4
+ const SPLASH_ROWS = [
5
+ { before: " ___ ____ ", o: " ___ ", after: " ___ __ _____" },
6
+ { before: " / _ `/ _ \\", o: "/ _ \\", after: "(_-</ // (_-<" },
7
+ { before: " \\_, /_//_/", o: "\\___/", after: "___/\\_, /___/" },
8
+ { before: "/___/ ", o: " ", after: " /___/ " },
9
+ ];
10
+ export const BootSplash = ({ subtitle }) => (_jsxs(Box, { flexDirection: "column", marginTop: 1, marginBottom: 1, children: [SPLASH_ROWS.map((row, i) => (_jsxs(Box, { children: [_jsx(Text, { color: THEME.text, children: row.before }), _jsx(Text, { color: THEME.accent, bold: true, children: row.o }), _jsx(Text, { color: THEME.text, children: row.after })] }, i))), subtitle && (_jsx(Box, { marginTop: 1, children: _jsxs(Text, { color: THEME.muted, children: [" ", subtitle] }) }))] }));
11
+ //# sourceMappingURL=boot-splash.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"boot-splash.js","sourceRoot":"","sources":["../../../src/lib/chat/boot-splash.tsx"],"names":[],"mappings":";AAYA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAQnC,MAAM,WAAW,GAAU;IACzB,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE;IAC7D,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,eAAe,EAAE;IAC/D,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,gBAAgB,EAAE;IAChE,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE;CAC9D,CAAC;AAOF,MAAM,CAAC,MAAM,UAAU,GAA8B,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CACrE,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,SAAS,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,aACtD,WAAW,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,CAC3B,MAAC,GAAG,eACF,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,IAAI,YAAG,GAAG,CAAC,MAAM,GAAQ,EAC5C,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,IAAI,kBAC5B,GAAG,CAAC,CAAC,GACD,EACP,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,IAAI,YAAG,GAAG,CAAC,KAAK,GAAQ,KALnC,CAAC,CAML,CACP,CAAC,EACD,QAAQ,IAAI,CACX,KAAC,GAAG,IAAC,SAAS,EAAE,CAAC,YACf,MAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,KAAK,mBAAK,QAAQ,IAAQ,GACzC,CACP,IACG,CACP,CAAC"}
@@ -0,0 +1,42 @@
1
+ /**
2
+ * v5.9.0 chat TUI — inline citation transformer.
3
+ *
4
+ * Scans a chunk of plain text for memory-id patterns (prefix-ULID or
5
+ * prefix-uuid forms) and renders each occurrence as an OSC8 hyperlink
6
+ * in the brand-hover red. Non-matching text passes through unchanged.
7
+ *
8
+ * Patterns matched:
9
+ * - `deci-01HXXJK2ABCDEFGHIJ` (ULID, Crockford base32)
10
+ * - `pref-some-key` (kebab-case key form, e.g. `pref-code-style`)
11
+ * - `mem-1738447692-abc` (legacy timestamp+random imports)
12
+ * - Optional surrounding brackets: `[gnosys-ai · deci-01H…]` → the inner
13
+ * id portion is the hyperlink target.
14
+ *
15
+ * URI scheme: `gnosys://memory/<full-id>` (matches v5.8.3 OSC8 work).
16
+ * Stripped ellipses are preserved in the visible text but the URI carries
17
+ * the full id when available.
18
+ */
19
+ import React from "react";
20
+ export interface CitationTextProps {
21
+ text: string;
22
+ }
23
+ /**
24
+ * Splits `text` on memory-id citations and renders each match as a
25
+ * brand-red OSC8 hyperlink. Returns a React fragment safe to drop into
26
+ * any ink `<Text>` block.
27
+ */
28
+ export declare const CitationText: React.FC<CitationTextProps>;
29
+ interface PlainSegment {
30
+ kind: "plain";
31
+ text: string;
32
+ }
33
+ interface CitationSegment {
34
+ kind: "citation";
35
+ id: string;
36
+ display: string;
37
+ }
38
+ type Segment = PlainSegment | CitationSegment;
39
+ /** Split `text` into plain / citation segments in left-to-right order. */
40
+ export declare function splitCitations(text: string): Segment[];
41
+ export {};
42
+ //# sourceMappingURL=CitationText.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CitationText.d.ts","sourceRoot":"","sources":["../../../../src/lib/chat/components/CitationText.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAe1B,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;;GAIG;AACH,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAepD,CAAC;AAEF,UAAU,YAAY;IACpB,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd;AACD,UAAU,eAAe;IACvB,IAAI,EAAE,UAAU,CAAC;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;CACjB;AACD,KAAK,OAAO,GAAG,YAAY,GAAG,eAAe,CAAC;AAE9C,0EAA0E;AAC1E,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,EAAE,CAiBtD"}
@@ -0,0 +1,41 @@
1
+ import { jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { Text } from "ink";
3
+ import { THEME } from "../theme.js";
4
+ import { memoryUri, osc8Wrap } from "../../idFormat.js";
5
+ // Single regex that matches any of the supported id shapes:
6
+ // - ULID-style: `deci-01HXXJK2…` (kebab prefix + suffix containing at
7
+ // least one uppercase letter or digit)
8
+ // - pref-*: `pref-code-style` (explicit pref- prefix, lowercase
9
+ // kebab — opt-in by literal prefix to avoid false-
10
+ // positives on prose like "well-known" / "test-cases")
11
+ // Capture group 1 is the full id (no ellipsis); group 2 is the ellipsis.
12
+ const CITATION_RE = /\b(pref-[a-z0-9][a-z0-9-]*|[a-z]+-[a-zA-Z0-9-]*[A-Z0-9][a-zA-Z0-9-]*)(…)?/g;
13
+ /**
14
+ * Splits `text` on memory-id citations and renders each match as a
15
+ * brand-red OSC8 hyperlink. Returns a React fragment safe to drop into
16
+ * any ink `<Text>` block.
17
+ */
18
+ export const CitationText = ({ text }) => {
19
+ const segments = splitCitations(text);
20
+ return (_jsx(_Fragment, { children: segments.map((seg, i) => seg.kind === "citation" ? (_jsx(Text, { color: THEME.accentHover, underline: true, children: osc8Wrap(memoryUri(seg.id), seg.display) }, i)) : (_jsx(Text, { children: seg.text }, i))) }));
21
+ };
22
+ /** Split `text` into plain / citation segments in left-to-right order. */
23
+ export function splitCitations(text) {
24
+ const out = [];
25
+ let lastEnd = 0;
26
+ for (const match of text.matchAll(CITATION_RE)) {
27
+ const id = match[1];
28
+ const ellipsis = match[2] ?? "";
29
+ const start = match.index ?? 0;
30
+ if (start > lastEnd) {
31
+ out.push({ kind: "plain", text: text.slice(lastEnd, start) });
32
+ }
33
+ out.push({ kind: "citation", id, display: id + ellipsis });
34
+ lastEnd = start + id.length + ellipsis.length;
35
+ }
36
+ if (lastEnd < text.length) {
37
+ out.push({ kind: "plain", text: text.slice(lastEnd) });
38
+ }
39
+ return out.length > 0 ? out : [{ kind: "plain", text }];
40
+ }
41
+ //# sourceMappingURL=CitationText.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CitationText.js","sourceRoot":"","sources":["../../../../src/lib/chat/components/CitationText.tsx"],"names":[],"mappings":";AAoBA,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAC3B,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAExD,4DAA4D;AAC5D,0EAA0E;AAC1E,yDAAyD;AACzD,uEAAuE;AACvE,qEAAqE;AACrE,yEAAyE;AACzE,yEAAyE;AACzE,MAAM,WAAW,GACf,4EAA4E,CAAC;AAM/E;;;;GAIG;AACH,MAAM,CAAC,MAAM,YAAY,GAAgC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE;IACpE,MAAM,QAAQ,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC;IACtC,OAAO,CACL,4BACG,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CACvB,GAAG,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,CACxB,KAAC,IAAI,IAAS,KAAK,EAAE,KAAK,CAAC,WAAW,EAAE,SAAS,kBAC9C,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,IADhC,CAAC,CAEL,CACR,CAAC,CAAC,CAAC,CACF,KAAC,IAAI,cAAU,GAAG,CAAC,IAAI,IAAZ,CAAC,CAAmB,CAChC,CACF,GACA,CACJ,CAAC;AACJ,CAAC,CAAC;AAaF,0EAA0E;AAC1E,MAAM,UAAU,cAAc,CAAC,IAAY;IACzC,MAAM,GAAG,GAAc,EAAE,CAAC;IAC1B,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;QAC/C,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACpB,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAChC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC;QAC/B,IAAI,KAAK,GAAG,OAAO,EAAE,CAAC;YACpB,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;QAChE,CAAC;QACD,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,GAAG,QAAQ,EAAE,CAAC,CAAC;QAC3D,OAAO,GAAG,KAAK,GAAG,EAAE,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;IAChD,CAAC;IACD,IAAI,OAAO,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC1B,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACzD,CAAC;IACD,OAAO,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;AAC1D,CAAC"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * v5.9.0 chat TUI — markdown renderer for assistant turns.
3
+ *
4
+ * Parses with `marked` (lexer only — we don't want HTML output), then
5
+ * walks the token tree and emits ink components with the brand palette.
6
+ *
7
+ * Supported:
8
+ * - Headings (h1-h6 → bold + brand-red prefix)
9
+ * - Paragraphs with inline bold / italic / inline code / strikethrough
10
+ * - Bulleted + numbered lists (nested)
11
+ * - Code blocks (cli-highlight for fenced langs; plain dim for unfenced)
12
+ * - Block quotes (left-bar accent + dim text)
13
+ * - Tables (simple aligned)
14
+ * - Horizontal rules
15
+ * - Links (rendered as text + " (url)" in muted color)
16
+ *
17
+ * Out of scope (will fall through to plain text):
18
+ * - HTML inside markdown
19
+ * - Footnotes (GFM extension)
20
+ *
21
+ * Performance: parser AST is memoized per-input-string. Re-render of an
22
+ * unchanged turn is free.
23
+ */
24
+ import React from "react";
25
+ export interface MarkdownRendererProps {
26
+ text: string;
27
+ }
28
+ export declare const MarkdownRenderer: React.FC<MarkdownRendererProps>;
29
+ //# sourceMappingURL=MarkdownRenderer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MarkdownRenderer.d.ts","sourceRoot":"","sources":["../../../../src/lib/chat/components/MarkdownRenderer.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,KAAkB,MAAM,OAAO,CAAC;AAOvC,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;CACd;AAED,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,CAS5D,CAAC"}
@@ -0,0 +1,155 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ /**
3
+ * v5.9.0 chat TUI — markdown renderer for assistant turns.
4
+ *
5
+ * Parses with `marked` (lexer only — we don't want HTML output), then
6
+ * walks the token tree and emits ink components with the brand palette.
7
+ *
8
+ * Supported:
9
+ * - Headings (h1-h6 → bold + brand-red prefix)
10
+ * - Paragraphs with inline bold / italic / inline code / strikethrough
11
+ * - Bulleted + numbered lists (nested)
12
+ * - Code blocks (cli-highlight for fenced langs; plain dim for unfenced)
13
+ * - Block quotes (left-bar accent + dim text)
14
+ * - Tables (simple aligned)
15
+ * - Horizontal rules
16
+ * - Links (rendered as text + " (url)" in muted color)
17
+ *
18
+ * Out of scope (will fall through to plain text):
19
+ * - HTML inside markdown
20
+ * - Footnotes (GFM extension)
21
+ *
22
+ * Performance: parser AST is memoized per-input-string. Re-render of an
23
+ * unchanged turn is free.
24
+ */
25
+ import React, { useMemo } from "react";
26
+ import { Box, Text } from "ink";
27
+ import { marked } from "marked";
28
+ import { highlight } from "cli-highlight";
29
+ import { THEME } from "../theme.js";
30
+ import { CitationText } from "./CitationText.js";
31
+ export const MarkdownRenderer = ({ text }) => {
32
+ const tokens = useMemo(() => marked.lexer(text), [text]);
33
+ return (_jsx(Box, { flexDirection: "column", children: tokens.map((tok, i) => (_jsx(BlockToken, { token: tok }, i))) }));
34
+ };
35
+ // ─── Block-level tokens ───────────────────────────────────────────────────
36
+ const BlockToken = ({ token }) => {
37
+ switch (token.type) {
38
+ case "heading":
39
+ return _jsx(HeadingToken, { token: token });
40
+ case "paragraph":
41
+ return _jsx(ParagraphToken, { token: token });
42
+ case "list":
43
+ return _jsx(ListToken, { token: token });
44
+ case "code":
45
+ return _jsx(CodeToken, { token: token });
46
+ case "blockquote":
47
+ return _jsx(BlockquoteToken, { token: token });
48
+ case "table":
49
+ return _jsx(TableToken, { token: token });
50
+ case "hr":
51
+ return (_jsx(Box, { marginY: 1, children: _jsx(Text, { color: THEME.border, children: "─".repeat(40) }) }));
52
+ case "space":
53
+ return _jsx(Box, { marginBottom: 0 });
54
+ default:
55
+ // Unknown token — print raw text so nothing is lost.
56
+ return (_jsx(Text, { color: THEME.text, children: token.raw ?? "" }));
57
+ }
58
+ };
59
+ const HeadingToken = ({ token }) => {
60
+ const prefix = "#".repeat(Math.min(token.depth, 6));
61
+ return (_jsxs(Box, { marginTop: token.depth === 1 ? 1 : 0, marginBottom: 0, children: [_jsxs(Text, { color: THEME.accent, bold: true, children: [prefix, " "] }), _jsx(Text, { color: THEME.text, bold: true, children: _jsx(InlineTokens, { tokens: token.tokens ?? [] }) })] }));
62
+ };
63
+ const ParagraphToken = ({ token }) => (_jsx(Box, { marginBottom: 1, children: _jsx(Text, { color: THEME.text, children: _jsx(InlineTokens, { tokens: token.tokens ?? [] }) }) }));
64
+ const ListToken = ({ token, depth = 0, }) => {
65
+ const indent = " ".repeat(depth);
66
+ return (_jsx(Box, { flexDirection: "column", marginBottom: 1, children: token.items.map((item, i) => (_jsx(ListItem, { item: item, marker: token.ordered ? `${Number(token.start ?? 1) + i}.` : "·", indent: indent, depth: depth }, i))) }));
67
+ };
68
+ const ListItem = ({ item, marker, indent, depth }) => (_jsxs(Box, { flexDirection: "column", children: [_jsxs(Box, { children: [_jsxs(Text, { color: THEME.accent, children: [indent, marker, " "] }), _jsx(Text, { color: THEME.text, children: _jsx(InlineTokens, { tokens: inlineFromItem(item) }) })] }), item.tokens
69
+ .filter((t) => t.type === "list")
70
+ .map((sub, i) => (_jsx(ListToken, { token: sub, depth: depth + 1 }, i)))] }));
71
+ /** Pull just the inline content out of a list item (skip nested blocks). */
72
+ function inlineFromItem(item) {
73
+ // Find the first paragraph or text token; that's the visible content.
74
+ for (const tok of item.tokens) {
75
+ if (tok.type === "text") {
76
+ return tok.tokens ?? [{ type: "text", raw: tok.text, text: tok.text }];
77
+ }
78
+ if (tok.type === "paragraph") {
79
+ return tok.tokens ?? [];
80
+ }
81
+ }
82
+ return [];
83
+ }
84
+ const CodeToken = ({ token }) => {
85
+ let body = token.text;
86
+ if (token.lang) {
87
+ try {
88
+ body = highlight(token.text, { language: token.lang, ignoreIllegals: true });
89
+ }
90
+ catch {
91
+ // Unknown language — fall back to plain.
92
+ }
93
+ }
94
+ return (_jsxs(Box, { flexDirection: "column", borderStyle: "round", borderColor: THEME.border, paddingX: 1, marginBottom: 1, children: [token.lang && (_jsx(Box, { marginBottom: 0, children: _jsx(Text, { color: THEME.muted, children: token.lang }) })), _jsx(Text, { children: body })] }));
95
+ };
96
+ const BlockquoteToken = ({ token }) => (_jsxs(Box, { marginBottom: 1, flexDirection: "row", children: [_jsx(Box, { marginRight: 1, children: _jsx(Text, { color: THEME.accent, children: "\u2502" }) }), _jsx(Box, { flexDirection: "column", children: (token.tokens ?? []).map((tok, i) => (_jsx(BlockToken, { token: tok }, i))) })] }));
97
+ const TableToken = ({ token }) => {
98
+ // Build a list of rows: header first, then body rows.
99
+ const rows = [
100
+ token.header.map((c) => extractInlineText(c.tokens ?? [])),
101
+ ...token.rows.map((row) => row.map((c) => extractInlineText(c.tokens ?? []))),
102
+ ];
103
+ // Column widths.
104
+ const colCount = rows[0].length;
105
+ const widths = Array(colCount).fill(0);
106
+ for (const row of rows) {
107
+ for (let i = 0; i < colCount; i++) {
108
+ widths[i] = Math.max(widths[i], (row[i] ?? "").length);
109
+ }
110
+ }
111
+ const sep = widths.map((w) => "─".repeat(w + 2)).join("┼");
112
+ return (_jsx(Box, { flexDirection: "column", marginBottom: 1, children: rows.map((row, ri) => (_jsxs(React.Fragment, { children: [_jsx(Box, { children: row.map((cell, ci) => (_jsxs(Text, { color: ri === 0 ? THEME.accent : THEME.text, bold: ri === 0, children: [" ", cell.padEnd(widths[ci]), " ", ci < colCount - 1 ? "│" : ""] }, ci))) }), ri === 0 && (_jsx(Box, { children: _jsx(Text, { color: THEME.border, children: sep }) }))] }, ri))) }));
113
+ };
114
+ // ─── Inline-level tokens ──────────────────────────────────────────────────
115
+ const InlineTokens = ({ tokens }) => (_jsx(_Fragment, { children: tokens.map((tok, i) => _jsx(InlineToken, { token: tok }, i)) }));
116
+ const InlineToken = ({ token }) => {
117
+ switch (token.type) {
118
+ case "text":
119
+ // v5.9.0 (#101 phase γ): scan plain text for memory-id citations and
120
+ // turn each match into a brand-red OSC8 hyperlink. Non-matching text
121
+ // passes through unchanged.
122
+ return _jsx(CitationText, { text: token.text });
123
+ case "strong":
124
+ return (_jsx(Text, { bold: true, color: THEME.accent, children: _jsx(InlineTokens, { tokens: token.tokens ?? [] }) }));
125
+ case "em":
126
+ return (_jsx(Text, { italic: true, children: _jsx(InlineTokens, { tokens: token.tokens ?? [] }) }));
127
+ case "codespan":
128
+ return (_jsxs(Text, { color: THEME.accentHover, backgroundColor: THEME.code, children: [" ", token.text, " "] }));
129
+ case "del":
130
+ return (_jsx(Text, { strikethrough: true, color: THEME.muted, children: _jsx(InlineTokens, { tokens: token.tokens ?? [] }) }));
131
+ case "link": {
132
+ const link = token;
133
+ // ink doesn't have a link primitive at the inline level — render text
134
+ // + " (url)" in muted. v5.8.3-style OSC8 wrap could go here later.
135
+ return (_jsxs(_Fragment, { children: [_jsx(Text, { color: THEME.accentHover, underline: true, children: _jsx(InlineTokens, { tokens: link.tokens ?? [] }) }), _jsxs(Text, { color: THEME.muted, children: [" (", link.href, ")"] })] }));
136
+ }
137
+ case "br":
138
+ return _jsx(_Fragment, { children: "\n" });
139
+ default:
140
+ return _jsx(_Fragment, { children: token.raw ?? "" });
141
+ }
142
+ };
143
+ function extractInlineText(tokens) {
144
+ return tokens
145
+ .map((t) => {
146
+ const tok = t;
147
+ if (typeof tok.text === "string")
148
+ return tok.text;
149
+ if (typeof tok.raw === "string")
150
+ return tok.raw;
151
+ return "";
152
+ })
153
+ .join("");
154
+ }
155
+ //# sourceMappingURL=MarkdownRenderer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MarkdownRenderer.js","sourceRoot":"","sources":["../../../../src/lib/chat/components/MarkdownRenderer.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * v5.9.0 chat TUI — tool-call card.
3
+ *
4
+ * Renders one `gnosys-tool` invocation that happened inside the current
5
+ * assistant turn. Collapsed by default — shows just the tool name and a
6
+ * one-line args summary. The card can be expanded to reveal full args
7
+ * + truncated result via a parent-controlled `expanded` prop.
8
+ *
9
+ * Visual: rounded border in brand red on dark background, slight inset
10
+ * from the turn body. Errors render with the error red.
11
+ */
12
+ import React from "react";
13
+ import type { ToolCallRecord } from "../types.js";
14
+ export interface ToolCallCardProps {
15
+ call: ToolCallRecord;
16
+ /** When true, show args + result. When false, only header + 1-line summary. */
17
+ expanded: boolean;
18
+ }
19
+ export declare const ToolCallCard: React.FC<ToolCallCardProps>;
20
+ //# sourceMappingURL=ToolCallCard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ToolCallCard.d.ts","sourceRoot":"","sources":["../../../../src/lib/chat/components/ToolCallCard.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAGlD,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,cAAc,CAAC;IACrB,+EAA+E;IAC/E,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAkEpD,CAAC"}
@@ -0,0 +1,20 @@
1
+ import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
2
+ import { Box, Text } from "ink";
3
+ import { THEME } from "../theme.js";
4
+ export const ToolCallCard = ({ call, expanded }) => {
5
+ const isError = !!call.error;
6
+ const borderColor = isError ? THEME.error : THEME.accent;
7
+ const argList = Object.entries(call.args);
8
+ const argSummary = argList.length === 0
9
+ ? ""
10
+ : argList
11
+ .map(([k, v]) => `${k}=${truncate(String(v), 28)}`)
12
+ .join(" ");
13
+ return (_jsxs(Box, { flexDirection: "column", borderStyle: "round", borderColor: borderColor, paddingX: 1, marginBottom: 1, children: [_jsxs(Box, { children: [_jsxs(Text, { color: borderColor, bold: true, children: [expanded ? "▼" : "▶", " ", call.tool] }), !expanded && argSummary && (_jsxs(Text, { color: THEME.muted, children: [" ", argSummary] }))] }), expanded && (_jsxs(Box, { flexDirection: "column", marginTop: 1, children: [argList.length > 0 && (_jsxs(Box, { flexDirection: "column", marginBottom: 1, children: [_jsx(Text, { color: THEME.secondary, children: "args:" }), argList.map(([k, v]) => (_jsxs(Box, { marginLeft: 2, children: [_jsx(Text, { color: THEME.accent, children: k }), _jsx(Text, { color: THEME.muted, children: " = " }), _jsx(Text, { color: THEME.text, children: String(v) })] }, k)))] })), isError ? (_jsxs(Box, { flexDirection: "column", children: [_jsx(Text, { color: THEME.error, children: "error:" }), _jsx(Box, { marginLeft: 2, children: _jsx(Text, { color: THEME.text, children: call.error }) })] })) : (call.result !== undefined && (_jsxs(Box, { flexDirection: "column", children: [_jsx(Text, { color: THEME.secondary, children: "result:" }), _jsx(Box, { marginLeft: 2, children: _jsx(Text, { color: THEME.text, children: truncate(call.result, 800) }) })] })))] }))] }));
14
+ };
15
+ function truncate(s, max) {
16
+ if (s.length <= max)
17
+ return s;
18
+ return s.slice(0, max - 1) + "…";
19
+ }
20
+ //# sourceMappingURL=ToolCallCard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ToolCallCard.js","sourceRoot":"","sources":["../../../../src/lib/chat/components/ToolCallCard.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../../../src/lib/chat/render.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAsC,MAAM,OAAO,CAAC;AAK3D,OAAO,EAAE,cAAc,EAAc,IAAI,EAAE,MAAM,YAAY,CAAC;AA0B9D,OAAO,EAAE,YAAY,EAAmB,MAAM,cAAc,CAAC;AAG7D,MAAM,WAAW,YAAY;IAC3B,aAAa,EAAE,cAAc,CAAC;IAC9B,aAAa,EAAE,IAAI,EAAE,CAAC;IACtB,MAAM,EAAE,YAAY,CAAC;IACrB,oEAAoE;IACpE,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,6DAA6D;IAC7D,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,eAAO,MAAM,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CAozB1C,CAAC"}
1
+ {"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../../../src/lib/chat/render.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAsC,MAAM,OAAO,CAAC;AAK3D,OAAO,EAAE,cAAc,EAAc,IAAI,EAAE,MAAM,YAAY,CAAC;AA8B9D,OAAO,EAAE,YAAY,EAAmB,MAAM,cAAc,CAAC;AAG7D,MAAM,WAAW,YAAY;IAC3B,aAAa,EAAE,cAAc,CAAC;IAC9B,aAAa,EAAE,IAAI,EAAE,CAAC;IACtB,MAAM,EAAE,YAAY,CAAC;IACrB,oEAAoE;IACpE,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,6DAA6D;IAC7D,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,eAAO,MAAM,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CA20B1C,CAAC"}
@@ -22,6 +22,10 @@ import SelectInput from "ink-select-input";
22
22
  import Spinner from "ink-spinner";
23
23
  import { dispatchCommand, listCommands } from "./commands.js";
24
24
  import { SlashPalette, filterCommands } from "./SlashPalette.js";
25
+ import { THEME, ROLES } from "./theme.js";
26
+ import { BootSplash } from "./boot-splash.js";
27
+ import { MarkdownRenderer } from "./components/MarkdownRenderer.js";
28
+ import { ToolCallCard } from "./components/ToolCallCard.js";
25
29
  import { appendEvent } from "./session.js";
26
30
  import { runTurn, buildProvider } from "./llmTurn.js";
27
31
  import { runRecall, reinforceMemory, buildRecallQuery } from "./recall.js";
@@ -639,6 +643,10 @@ export const ChatApp = ({ initialHeader, initialBuffer, config, projectId, onExi
639
643
  setStatus({ kind: "streaming", partial });
640
644
  lastRenderAt = Date.now();
641
645
  };
646
+ // v5.9.0 (#101 phase δ): collect tool calls into a per-turn record list
647
+ // so the assistant turn can render them as inline cards instead of
648
+ // ephemeral system notices.
649
+ const turnToolCalls = [];
642
650
  const result = await runTurn(configRef.current, {
643
651
  buffer: [...buffer, userTurn],
644
652
  userInput: text,
@@ -649,22 +657,20 @@ export const ChatApp = ({ initialHeader, initialBuffer, config, projectId, onExi
649
657
  flushPartial();
650
658
  },
651
659
  onToolCall: (info) => {
652
- if (info.error) {
653
- pushSystem(`tool ${info.tool} failed: ${info.error}`);
654
- }
655
- else {
656
- const argSummary = Object.keys(info.args).length > 0
657
- ? ` ${Object.entries(info.args).map(([k, v]) => `${k}=${v}`).join(", ")}`
658
- : "";
659
- pushSystem(`called ${info.tool}${argSummary}`);
660
- appendEvent(header.sessionId, {
661
- type: "command",
662
- ts: nowIso(),
663
- name: `tool:${info.tool}`,
664
- args: Object.entries(info.args).map(([k, v]) => `${k}=${v}`),
665
- result: info.result?.slice(0, 200),
666
- });
667
- }
660
+ turnToolCalls.push({
661
+ tool: info.tool,
662
+ args: info.args,
663
+ result: info.error ? undefined : info.result,
664
+ error: info.error,
665
+ ts: nowIso(),
666
+ });
667
+ appendEvent(header.sessionId, {
668
+ type: "command",
669
+ ts: nowIso(),
670
+ name: `tool:${info.tool}`,
671
+ args: Object.entries(info.args).map(([k, v]) => `${k}=${v}`),
672
+ result: info.result?.slice(0, 200),
673
+ });
668
674
  },
669
675
  });
670
676
  // v5.8.0 (#6): flush any partial that didn't make the last 16ms tick
@@ -703,6 +709,9 @@ export const ChatApp = ({ initialHeader, initialBuffer, config, projectId, onExi
703
709
  provider: result.provider,
704
710
  model: result.model,
705
711
  citedMemoryIds: result.recalledIds,
712
+ // v5.9.0 (#101 phase δ): attach this turn's tool calls so they
713
+ // render as inline cards inside ConversationTurn.
714
+ toolCalls: turnToolCalls.length > 0 ? turnToolCalls : undefined,
706
715
  };
707
716
  setBuffer((b) => [...b, assistantTurn]);
708
717
  appendEvent(header.sessionId, {
@@ -737,7 +746,7 @@ export const ChatApp = ({ initialHeader, initialBuffer, config, projectId, onExi
737
746
  process.off("SIGINT", handler);
738
747
  };
739
748
  }, []);
740
- return (_jsxs(Box, { flexDirection: "column", children: [_jsx(ChatHeader, { info: header, recallScope: scope, threshold: threshold, pinnedCount: pinnedIds.length, focus: focusState.current, branchCount: focusState.branches.length }), _jsxs(Box, { flexDirection: "column", marginTop: 1, children: [buffer.map((turn, i) => (_jsx(ConversationTurn, { turn: turn }, i))), status.kind === "streaming" && (_jsxs(Box, { flexDirection: "column", children: [_jsx(Text, { color: "cyan", children: "assistant:" }), _jsx(Text, { children: status.partial })] }))] }), systemNotice.length > 0 && (_jsx(Box, { flexDirection: "column", marginTop: 1, children: systemNotice.map((line, i) => (_jsx(Text, { dimColor: true, children: line }, i))) })), _jsx(Box, { marginTop: 1, children: _jsx(StatusLine, { status: status }) }), pendingIntent && (_jsxs(Box, { marginTop: 1, flexDirection: "column", children: [_jsxs(Text, { color: "magenta", children: ["inferred: ", describeIntent(pendingIntent), isDestructive(pendingIntent.command) ? " (destructive)" : ""] }), _jsx(Text, { dimColor: true, children: "[Y]es \u00B7 [N]o \u00B7 [E]dit \u00B7 or type a new message" })] })), pendingChoice ? (_jsx(ChoosePicker, { block: pendingChoice, onSelect: async (option) => {
749
+ return (_jsxs(Box, { flexDirection: "column", children: [_jsx(ChatHeader, { info: header, recallScope: scope, threshold: threshold, pinnedCount: pinnedIds.length, focus: focusState.current, branchCount: focusState.branches.length }), buffer.length === 0 && status.kind === "idle" && (_jsx(BootSplash, { subtitle: `memory for ai agents · ${header.provider}/${header.model}` })), _jsxs(Box, { flexDirection: "column", marginTop: 1, children: [buffer.map((turn, i) => (_jsx(ConversationTurn, { turn: turn }, i))), status.kind === "streaming" && (_jsxs(Box, { flexDirection: "column", children: [_jsx(Text, { color: ROLES.assistant, bold: true, children: "gnosys" }), _jsx(Text, { color: THEME.text, children: status.partial })] }))] }), systemNotice.length > 0 && (_jsx(Box, { flexDirection: "column", marginTop: 1, children: systemNotice.map((line, i) => (_jsx(Text, { dimColor: true, children: line }, i))) })), _jsx(Box, { marginTop: 1, children: _jsx(StatusLine, { status: status }) }), pendingIntent && (_jsxs(Box, { marginTop: 1, flexDirection: "column", children: [_jsxs(Text, { color: THEME.accentHover, children: ["inferred: ", describeIntent(pendingIntent), isDestructive(pendingIntent.command) ? " (destructive)" : ""] }), _jsx(Text, { color: THEME.muted, children: "[Y]es \u00B7 [N]o \u00B7 [E]dit \u00B7 or type a new message" })] })), pendingChoice ? (_jsx(ChoosePicker, { block: pendingChoice, onSelect: async (option) => {
741
750
  const selectionText = formatSelection(option);
742
751
  appendEvent(header.sessionId, {
743
752
  type: "choice_made",
@@ -804,33 +813,38 @@ const ChoosePicker = ({ block, onSelect }) => {
804
813
  label: opt.detail ? `${opt.label} — ${opt.detail}` : opt.label,
805
814
  value: opt.id,
806
815
  }));
807
- return (_jsxs(Box, { flexDirection: "column", marginTop: 1, children: [_jsx(Text, { color: "magenta", children: block.prompt }), _jsx(SelectInput, { items: items, onSelect: (item) => {
816
+ return (_jsxs(Box, { flexDirection: "column", marginTop: 1, children: [_jsx(Text, { color: THEME.accent, bold: true, children: block.prompt }), _jsx(SelectInput, { items: items, onSelect: (item) => {
808
817
  const picked = block.options.find((o) => o.id === item.value);
809
818
  if (picked)
810
819
  onSelect(picked);
811
820
  } })] }));
812
821
  };
813
- const ChatHeader = ({ info, recallScope, threshold, pinnedCount, focus, branchCount }) => (_jsxs(Box, { flexDirection: "column", children: [_jsxs(Box, { children: [_jsx(Text, { color: "green", children: "gnosys chat" }), _jsx(Text, { children: " " }), _jsxs(Text, { dimColor: true, children: ["session=", info.sessionId.slice(0, 8), "\u2026"] }), _jsx(Text, { children: " " }), info.projectName && (_jsxs(_Fragment, { children: [_jsxs(Text, { dimColor: true, children: ["project=", info.projectName] }), _jsx(Text, { children: " " })] })), _jsxs(Text, { dimColor: true, children: [info.provider, "/", info.model] })] }), _jsxs(Box, { children: [_jsxs(Text, { dimColor: true, children: ["recall: scope=", recallScope] }), _jsx(Text, { children: " " }), _jsxs(Text, { dimColor: true, children: ["threshold=", threshold.toFixed(2)] }), _jsx(Text, { children: " " }), _jsxs(Text, { dimColor: true, children: ["pinned=", pinnedCount] }), focus && (_jsxs(_Fragment, { children: [_jsx(Text, { children: " " }), _jsxs(Text, { dimColor: true, children: ["focus=", focus] })] })), branchCount > 0 && (_jsxs(_Fragment, { children: [_jsx(Text, { children: " " }), _jsxs(Text, { dimColor: true, children: ["branches=", branchCount] })] }))] })] }));
822
+ const ChatHeader = ({ info, recallScope, threshold, pinnedCount, focus, branchCount }) => (_jsxs(Box, { flexDirection: "column", children: [_jsxs(Box, { children: [_jsx(Text, { color: THEME.accent, bold: true, children: "gnosys" }), _jsx(Text, { color: THEME.muted, children: " \u00B7 " }), _jsxs(Text, { color: THEME.muted, children: ["session=", info.sessionId.slice(0, 8), "\u2026"] }), _jsx(Text, { color: THEME.muted, children: " \u00B7 " }), info.projectName && (_jsxs(_Fragment, { children: [_jsxs(Text, { color: THEME.muted, children: ["project=", info.projectName] }), _jsx(Text, { color: THEME.muted, children: " \u00B7 " })] })), _jsxs(Text, { color: THEME.muted, children: [info.provider, "/", info.model] })] }), _jsxs(Box, { children: [_jsxs(Text, { color: THEME.muted, children: ["recall: scope=", recallScope] }), _jsx(Text, { color: THEME.muted, children: " \u00B7 " }), _jsxs(Text, { color: THEME.muted, children: ["threshold=", threshold.toFixed(2)] }), _jsx(Text, { color: THEME.muted, children: " \u00B7 " }), _jsxs(Text, { color: THEME.muted, children: ["pinned=", pinnedCount] }), focus && (_jsxs(_Fragment, { children: [_jsx(Text, { color: THEME.muted, children: " \u00B7 " }), _jsxs(Text, { color: THEME.accentHover, children: ["focus=", focus] })] })), branchCount > 0 && (_jsxs(_Fragment, { children: [_jsx(Text, { color: THEME.muted, children: " \u00B7 " }), _jsxs(Text, { color: THEME.muted, children: ["branches=", branchCount] })] }))] })] }));
814
823
  const ConversationTurn = ({ turn }) => {
824
+ // v5.9.0 (#101 phase α): role-colored turn labels using the brand palette.
825
+ // - user label: brand red
826
+ // - assistant label: text primary (de-emphasized so prose carries it)
827
+ // - system: muted gray
815
828
  if (turn.role === "user") {
816
- return (_jsxs(Box, { flexDirection: "column", marginBottom: 1, children: [_jsx(Text, { color: "yellow", children: "you:" }), _jsx(Text, { children: turn.text })] }));
829
+ return (_jsxs(Box, { flexDirection: "column", marginBottom: 1, children: [_jsx(Text, { color: ROLES.user, bold: true, children: "you" }), _jsx(Text, { color: THEME.text, children: turn.text })] }));
817
830
  }
818
831
  if (turn.role === "assistant") {
819
832
  const cited = turn.citedMemoryIds ?? [];
820
- return (_jsxs(Box, { flexDirection: "column", marginBottom: 1, children: [_jsx(Text, { color: "cyan", children: "assistant:" }), _jsx(Text, { children: turn.text }), cited.length > 0 && (_jsxs(Text, { dimColor: true, children: ["cited: ", cited.map((id) => `[${id}]`).join(" ")] }))] }));
833
+ const toolCalls = turn.toolCalls ?? [];
834
+ return (_jsxs(Box, { flexDirection: "column", marginBottom: 1, children: [_jsx(Text, { color: ROLES.assistant, bold: true, children: "gnosys" }), _jsx(MarkdownRenderer, { text: turn.text }), toolCalls.length > 0 && (_jsx(Box, { flexDirection: "column", marginTop: 1, children: toolCalls.map((call, i) => (_jsx(ToolCallCard, { call: call, expanded: false }, i))) })), cited.length > 0 && (_jsxs(Text, { color: THEME.muted, children: ["cited: ", cited.map((id) => `[${id}]`).join(" ")] }))] }));
821
835
  }
822
- return (_jsx(Box, { marginBottom: 1, children: _jsxs(Text, { dimColor: true, children: ["\u00B7 ", turn.text] }) }));
836
+ return (_jsx(Box, { marginBottom: 1, children: _jsxs(Text, { color: ROLES.system, children: ["\u00B7 ", turn.text] }) }));
823
837
  };
824
838
  const StatusLine = ({ status }) => {
825
839
  switch (status.kind) {
826
840
  case "idle":
827
- return _jsx(Text, { dimColor: true, children: "ready \u2014 type /help for commands, /quit to exit" });
841
+ return (_jsx(Text, { color: THEME.muted, children: "ready \u2014 type /help for commands, /quit to exit" }));
828
842
  case "thinking":
829
- return (_jsxs(Text, { color: "cyan", children: [_jsx(Spinner, { type: "dots" }), " thinking\u2026"] }));
843
+ return (_jsxs(Text, { color: ROLES.spinner, children: [_jsx(Spinner, { type: "dots" }), " thinking\u2026"] }));
830
844
  case "streaming":
831
- return (_jsxs(Text, { color: "cyan", children: [_jsx(Spinner, { type: "dots" }), " streaming\u2026"] }));
845
+ return (_jsxs(Text, { color: ROLES.spinner, children: [_jsx(Spinner, { type: "dots" }), " streaming\u2026"] }));
832
846
  case "error":
833
- return _jsxs(Text, { color: "red", children: ["error: ", status.message] });
847
+ return _jsxs(Text, { color: THEME.error, children: ["error: ", status.message] });
834
848
  }
835
849
  };
836
850
  //# sourceMappingURL=render.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"render.js","sourceRoot":"","sources":["../../../src/lib/chat/render.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"render.js","sourceRoot":"","sources":["../../../src/lib/chat/render.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * v5.9.0 chat TUI theme.
3
+ *
4
+ * Single source of truth for chat colors. Values are pulled from the
5
+ * gnosys-site dark theme — keep them in sync if the site palette changes.
6
+ *
7
+ * Hex strings are passed directly to ink's `<Text color="...">` prop, which
8
+ * supports rgb / hex / named colors via chalk under the hood.
9
+ */
10
+ export declare const THEME: {
11
+ readonly bg: "#12141A";
12
+ readonly surface: "#1A1C24";
13
+ readonly code: "#1E2028";
14
+ readonly border: "#2A2C34";
15
+ readonly text: "#E4E2E8";
16
+ readonly secondary: "#A8A6B0";
17
+ readonly muted: "#6E6C78";
18
+ readonly accent: "#C04C4C";
19
+ readonly accentHover: "#D46A6A";
20
+ readonly accentFaint: "#F5EAEA";
21
+ readonly success: "#6BCB77";
22
+ readonly warn: "#F59E0B";
23
+ readonly error: "#EF4444";
24
+ };
25
+ /**
26
+ * Role-to-color mapping for the chat buffer. Use these (not THEME.*
27
+ * directly) wherever we render role-tagged content, so swapping the
28
+ * mapping later only touches one place.
29
+ */
30
+ export declare const ROLES: {
31
+ readonly user: "#C04C4C";
32
+ readonly assistant: "#E4E2E8";
33
+ readonly emphasis: "#C04C4C";
34
+ readonly system: "#6E6C78";
35
+ readonly citation: "#D46A6A";
36
+ readonly toolCallBorder: "#C04C4C";
37
+ readonly spinner: "#C04C4C";
38
+ };
39
+ //# sourceMappingURL=theme.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../../src/lib/chat/theme.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,eAAO,MAAM,KAAK;;;;;;;;;;;;;;CAqBR,CAAC;AAEX;;;;GAIG;AACH,eAAO,MAAM,KAAK;;;;;;;;CAQR,CAAC"}
@@ -0,0 +1,43 @@
1
+ /**
2
+ * v5.9.0 chat TUI theme.
3
+ *
4
+ * Single source of truth for chat colors. Values are pulled from the
5
+ * gnosys-site dark theme — keep them in sync if the site palette changes.
6
+ *
7
+ * Hex strings are passed directly to ink's `<Text color="...">` prop, which
8
+ * supports rgb / hex / named colors via chalk under the hood.
9
+ */
10
+ export const THEME = {
11
+ // ── Backgrounds ────────────────────────────────────────────────────────
12
+ bg: "#12141A", // page background (terminal default usually wins here)
13
+ surface: "#1A1C24", // card / overlay background
14
+ code: "#1E2028", // code-block background
15
+ border: "#2A2C34", // hairline borders / dividers
16
+ // ── Text ───────────────────────────────────────────────────────────────
17
+ text: "#E4E2E8", // primary text
18
+ secondary: "#A8A6B0", // de-emphasized text
19
+ muted: "#6E6C78", // hints / placeholders / system notices
20
+ // ── Accents ────────────────────────────────────────────────────────────
21
+ accent: "#C04C4C", // brand brick red — gnosys signature
22
+ accentHover: "#D46A6A", // hover / active / citation underline
23
+ accentFaint: "#F5EAEA", // soft wash (rare in TUI)
24
+ // ── States ─────────────────────────────────────────────────────────────
25
+ success: "#6BCB77",
26
+ warn: "#F59E0B",
27
+ error: "#EF4444",
28
+ };
29
+ /**
30
+ * Role-to-color mapping for the chat buffer. Use these (not THEME.*
31
+ * directly) wherever we render role-tagged content, so swapping the
32
+ * mapping later only touches one place.
33
+ */
34
+ export const ROLES = {
35
+ user: THEME.accent, // user turn label
36
+ assistant: THEME.text, // assistant prose
37
+ emphasis: THEME.accent, // bold / headings inside assistant turns
38
+ system: THEME.muted, // system notices
39
+ citation: THEME.accentHover, // inline memory citations
40
+ toolCallBorder: THEME.accent,
41
+ spinner: THEME.accent,
42
+ };
43
+ //# sourceMappingURL=theme.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme.js","sourceRoot":"","sources":["../../../src/lib/chat/theme.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,MAAM,CAAC,MAAM,KAAK,GAAG;IACnB,0EAA0E;IAC1E,EAAE,EAAE,SAAS,EAAQ,uDAAuD;IAC5E,OAAO,EAAE,SAAS,EAAG,4BAA4B;IACjD,IAAI,EAAE,SAAS,EAAM,wBAAwB;IAC7C,MAAM,EAAE,SAAS,EAAI,8BAA8B;IAEnD,0EAA0E;IAC1E,IAAI,EAAE,SAAS,EAAM,eAAe;IACpC,SAAS,EAAE,SAAS,EAAE,qBAAqB;IAC3C,KAAK,EAAE,SAAS,EAAK,wCAAwC;IAE7D,0EAA0E;IAC1E,MAAM,EAAE,SAAS,EAAQ,qCAAqC;IAC9D,WAAW,EAAE,SAAS,EAAG,sCAAsC;IAC/D,WAAW,EAAE,SAAS,EAAG,0BAA0B;IAEnD,0EAA0E;IAC1E,OAAO,EAAE,SAAS;IAClB,IAAI,EAAE,SAAS;IACf,KAAK,EAAE,SAAS;CACR,CAAC;AAEX;;;;GAIG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG;IACnB,IAAI,EAAE,KAAK,CAAC,MAAM,EAAS,kBAAkB;IAC7C,SAAS,EAAE,KAAK,CAAC,IAAI,EAAM,kBAAkB;IAC7C,QAAQ,EAAE,KAAK,CAAC,MAAM,EAAK,yCAAyC;IACpE,MAAM,EAAE,KAAK,CAAC,KAAK,EAAQ,iBAAiB;IAC5C,QAAQ,EAAE,KAAK,CAAC,WAAW,EAAE,0BAA0B;IACvD,cAAc,EAAE,KAAK,CAAC,MAAM;IAC5B,OAAO,EAAE,KAAK,CAAC,MAAM;CACb,CAAC"}
@@ -2,6 +2,18 @@
2
2
  * Shared types for the chat TUI. Kept separate from session.ts so the
3
3
  * React/ink components can import without pulling fs/path dependencies.
4
4
  */
5
+ /**
6
+ * v5.9.0 (#101 phase δ): a tool call surfaced inside an assistant turn.
7
+ * `error` is set when the call failed; otherwise `result` carries the
8
+ * (truncated) return string.
9
+ */
10
+ export interface ToolCallRecord {
11
+ tool: string;
12
+ args: Record<string, string>;
13
+ result?: string;
14
+ error?: string;
15
+ ts: string;
16
+ }
5
17
  export type Turn = {
6
18
  role: "user";
7
19
  text: string;
@@ -15,6 +27,7 @@ export type Turn = {
15
27
  tokensIn?: number;
16
28
  tokensOut?: number;
17
29
  citedMemoryIds?: string[];
30
+ toolCalls?: ToolCallRecord[];
18
31
  } | {
19
32
  role: "system";
20
33
  text: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/lib/chat/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,MAAM,IAAI,GACZ;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAC1C;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,GACpJ;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,CAAC;AAEjD,MAAM,MAAM,UAAU,GAClB;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAChB;IAAE,IAAI,EAAE,UAAU,CAAA;CAAE,GACpB;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACtC;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAEvC,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/lib/chat/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,MAAM,IAAI,GACZ;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,GAC1C;IACE,IAAI,EAAE,WAAW,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,SAAS,CAAC,EAAE,cAAc,EAAE,CAAC;CAC9B,GACD;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,CAAC;AAEjD,MAAM,MAAM,UAAU,GAClB;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAChB;IAAE,IAAI,EAAE,UAAU,CAAA;CAAE,GACpB;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACtC;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAEvC,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gnosys",
3
- "version": "5.8.6",
3
+ "version": "5.9.0",
4
4
  "description": "Gnosys — Persistent Memory for AI Agents. Sandbox-first runtime, central SQLite brain, federated search, Dream Mode, Web Knowledge Base, Obsidian export.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -32,6 +32,7 @@
32
32
  "dependencies": {
33
33
  "@anthropic-ai/sdk": "^0.78.0",
34
34
  "@modelcontextprotocol/sdk": "^1.12.1",
35
+ "cli-highlight": "^2.1.11",
35
36
  "commander": "^13.1.0",
36
37
  "csv-parse": "^6.1.0",
37
38
  "dotenv": "^17.3.1",
@@ -42,6 +43,7 @@
42
43
  "ink-spinner": "^5.0.0",
43
44
  "ink-text-input": "^6.0.0",
44
45
  "mammoth": "^1.12.0",
46
+ "marked": "^14.1.4",
45
47
  "pdf-parse": "^2.4.5",
46
48
  "react": "^19.2.5",
47
49
  "turndown": "^7.2.2",