paean 0.8.24 → 0.8.25
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/dist/ui/components/Header.d.ts +2 -2
- package/dist/ui/components/Header.d.ts.map +1 -1
- package/dist/ui/components/Header.js +15 -8
- package/dist/ui/components/Header.js.map +1 -1
- package/dist/ui/theme/ink-theme.d.ts +5 -1
- package/dist/ui/theme/ink-theme.d.ts.map +1 -1
- package/dist/ui/theme/ink-theme.js +6 -6
- package/dist/ui/theme/ink-theme.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Header Component
|
|
3
|
-
* Compact header with ASCII logo + status info side-by-side
|
|
4
|
-
*
|
|
3
|
+
* Compact header with box-drawing ASCII logo + status info side-by-side
|
|
4
|
+
* Box-drawing chars (╭╮│─) connect seamlessly across cell boundaries
|
|
5
5
|
*/
|
|
6
6
|
import React from 'react';
|
|
7
7
|
interface HeaderProps {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Header.d.ts","sourceRoot":"","sources":["../../../src/ui/components/Header.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAkB,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"Header.d.ts","sourceRoot":"","sources":["../../../src/ui/components/Header.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAkB,MAAM,OAAO,CAAC;AAMvC,UAAU,WAAW;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC5B;AAaD,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CA8CxC,CAAC"}
|
|
@@ -1,22 +1,21 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
1
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
/**
|
|
3
3
|
* Header Component
|
|
4
|
-
* Compact header with ASCII logo + status info side-by-side
|
|
5
|
-
*
|
|
4
|
+
* Compact header with box-drawing ASCII logo + status info side-by-side
|
|
5
|
+
* Box-drawing chars (╭╮│─) connect seamlessly across cell boundaries
|
|
6
6
|
*/
|
|
7
7
|
import { useMemo } from 'react';
|
|
8
8
|
import { Box, Text } from 'ink';
|
|
9
|
-
import {
|
|
9
|
+
import { ASCII_LOGO, INK_COLORS, SEPARATOR_CHAR } from '../theme/ink-theme.js';
|
|
10
10
|
import { useTerminalSize } from '../hooks/index.js';
|
|
11
|
+
/** Render a single logo line's segments with appropriate colors */
|
|
12
|
+
const LogoLine = ({ segments }) => (_jsx(_Fragment, { children: segments.map((seg, i) => (_jsx(Text, { color: seg.accent ? '#3DD8EB' : INK_COLORS.primary, children: seg.text }, i))) }));
|
|
11
13
|
export const Header = ({ mcpToolCount, gatewayOnline, workerOnline }) => {
|
|
12
14
|
const { columns } = useTerminalSize();
|
|
13
15
|
const separatorLine = useMemo(() => {
|
|
14
16
|
const width = Math.max(0, columns - 2);
|
|
15
17
|
return SEPARATOR_CHAR.repeat(width);
|
|
16
18
|
}, [columns]);
|
|
17
|
-
// Join logo lines into a single string so Ink renders them as one text
|
|
18
|
-
// block with no inter-line layout gaps
|
|
19
|
-
const logoBlock = ASCII_LOGO_LINES.join('\n');
|
|
20
19
|
// Build status badges
|
|
21
20
|
const badges = [];
|
|
22
21
|
if (mcpToolCount && mcpToolCount > 0)
|
|
@@ -26,6 +25,14 @@ export const Header = ({ mcpToolCount, gatewayOnline, workerOnline }) => {
|
|
|
26
25
|
if (workerOnline)
|
|
27
26
|
badges.push('⚙ Worker');
|
|
28
27
|
const cwd = process.cwd().replace(process.env['HOME'] ?? '', '~');
|
|
29
|
-
|
|
28
|
+
// Build info lines to match logo row count
|
|
29
|
+
const infoElements = [
|
|
30
|
+
_jsx(Text, { bold: true, children: "Paean Agent CLI" }, "name"),
|
|
31
|
+
badges.length > 0
|
|
32
|
+
? _jsx(Text, { color: "green", children: badges.join(' · ') }, "status")
|
|
33
|
+
: _jsx(Text, { dimColor: true, children: "Interactive Agent Session" }, "status"),
|
|
34
|
+
_jsx(Text, { dimColor: true, children: cwd }, "cwd"),
|
|
35
|
+
];
|
|
36
|
+
return (_jsxs(Box, { flexDirection: "column", marginBottom: 0, children: [ASCII_LOGO.map((segments, i) => (_jsxs(Box, { children: [_jsx(LogoLine, { segments: segments }), infoElements[i] && (_jsxs(_Fragment, { children: [_jsx(Text, { children: " " }), infoElements[i]] }))] }, i))), _jsx(Box, { children: _jsx(Text, { color: "gray", children: separatorLine }) })] }));
|
|
30
37
|
};
|
|
31
38
|
//# sourceMappingURL=Header.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Header.js","sourceRoot":"","sources":["../../../src/ui/components/Header.tsx"],"names":[],"mappings":";AAAA;;;;GAIG;AAEH,OAAc,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"Header.js","sourceRoot":"","sources":["../../../src/ui/components/Header.tsx"],"names":[],"mappings":";AAAA;;;;GAIG;AAEH,OAAc,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAE/E,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAUpD,mEAAmE;AACnE,MAAM,QAAQ,GAA0C,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CACtE,4BACK,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,CACtB,KAAC,IAAI,IAAS,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,YAC3D,GAAG,CAAC,IAAI,IADF,CAAC,CAEL,CACV,CAAC,GACH,CACN,CAAC;AAEF,MAAM,CAAC,MAAM,MAAM,GAA0B,CAAC,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,EAAE,EAAE;IAC3F,MAAM,EAAE,OAAO,EAAE,GAAG,eAAe,EAAE,CAAC;IAEtC,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,EAAE;QAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,CAAC;QACvC,OAAO,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACxC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAEd,sBAAsB;IACtB,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,IAAI,YAAY,IAAI,YAAY,GAAG,CAAC;QAAE,MAAM,CAAC,IAAI,CAAC,KAAK,YAAY,QAAQ,CAAC,CAAC;IAC7E,IAAI,aAAa;QAAE,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC5C,IAAI,YAAY;QAAE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAE1C,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC;IAElE,2CAA2C;IAC3C,MAAM,YAAY,GAAG;QACjB,KAAC,IAAI,IAAY,IAAI,uCAAX,MAAM,CAA4B;QAC5C,MAAM,CAAC,MAAM,GAAG,CAAC;YACb,CAAC,CAAC,KAAC,IAAI,IAAc,KAAK,EAAC,OAAO,YAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,IAA1C,QAAQ,CAA0C;YAC9D,CAAC,CAAC,KAAC,IAAI,IAAc,QAAQ,iDAAjB,QAAQ,CAA0C;QAClE,KAAC,IAAI,IAAW,QAAQ,kBAAE,GAAG,IAAnB,KAAK,CAAsB;KACxC,CAAC;IAEF,OAAO,CACH,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,YAAY,EAAE,CAAC,aAEtC,UAAU,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC,CAC7B,MAAC,GAAG,eACA,KAAC,QAAQ,IAAC,QAAQ,EAAE,QAAQ,GAAI,EAC/B,YAAY,CAAC,CAAC,CAAC,IAAI,CAChB,8BACI,KAAC,IAAI,qBAAU,EACd,YAAY,CAAC,CAAC,CAAC,IACjB,CACN,KAPK,CAAC,CAQL,CACT,CAAC,EAGF,KAAC,GAAG,cACA,KAAC,IAAI,IAAC,KAAK,EAAC,MAAM,YAAE,aAAa,GAAQ,GACvC,IACJ,CACT,CAAC;AACN,CAAC,CAAC"}
|
|
@@ -19,7 +19,11 @@ export declare const INK_COLORS: {
|
|
|
19
19
|
error: "red";
|
|
20
20
|
muted: "gray";
|
|
21
21
|
};
|
|
22
|
-
export
|
|
22
|
+
export type LogoSegment = {
|
|
23
|
+
text: string;
|
|
24
|
+
accent?: boolean;
|
|
25
|
+
};
|
|
26
|
+
export declare const ASCII_LOGO: LogoSegment[][];
|
|
23
27
|
export declare const COMPACT_LOGO = "\u2229 Paean";
|
|
24
28
|
export declare const SYMBOLS: {
|
|
25
29
|
arch: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ink-theme.d.ts","sourceRoot":"","sources":["../../../src/ui/theme/ink-theme.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,eAAO,MAAM,MAAM;;;;;;;;CAQlB,CAAC;AAGF,eAAO,MAAM,UAAU;;;;;;;CAOtB,CAAC;
|
|
1
|
+
{"version":3,"file":"ink-theme.d.ts","sourceRoot":"","sources":["../../../src/ui/theme/ink-theme.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,eAAO,MAAM,MAAM;;;;;;;;CAQlB,CAAC;AAGF,eAAO,MAAM,UAAU;;;;;;;CAOtB,CAAC;AAMF,MAAM,MAAM,WAAW,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC;AAC7D,eAAO,MAAM,UAAU,EAAE,WAAW,EAAE,EAMrC,CAAC;AAGF,eAAO,MAAM,YAAY,iBAAY,CAAC;AAGtC,eAAO,MAAM,OAAO;;;;;;;;;;;;CAYnB,CAAC;AAIF,eAAO,MAAM,eAAe,UAAiC,CAAC;AAG9D,eAAO,MAAM,iBAAiB,UAQ7B,CAAC;AAGF,eAAO,MAAM,cAAc,WAAM,CAAC"}
|
|
@@ -21,12 +21,12 @@ export const INK_COLORS = {
|
|
|
21
21
|
error: 'red',
|
|
22
22
|
muted: 'gray',
|
|
23
23
|
};
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
'
|
|
27
|
-
'
|
|
28
|
-
'
|
|
29
|
-
'
|
|
24
|
+
export const ASCII_LOGO = [
|
|
25
|
+
[{ text: ' ╭──────╮' }],
|
|
26
|
+
[{ text: ' │' }, { text: '╭────╮', accent: true }, { text: '│' }],
|
|
27
|
+
[{ text: ' │' }, { text: '│ │', accent: true }, { text: '│' }],
|
|
28
|
+
[{ text: ' │' }, { text: '╰────╯', accent: true }, { text: '│' }],
|
|
29
|
+
[{ text: ' │ │' }],
|
|
30
30
|
];
|
|
31
31
|
// Compact logo for small screens
|
|
32
32
|
export const COMPACT_LOGO = '∩ Paean';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ink-theme.js","sourceRoot":"","sources":["../../../src/ui/theme/ink-theme.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,kEAAkE;AAClE,MAAM,CAAC,MAAM,MAAM,GAAG;IAClB,OAAO,EAAE,SAAS,EAAO,2BAA2B;IACpD,YAAY,EAAE,SAAS;IACvB,SAAS,EAAE,SAAS,EAAK,0BAA0B;IACnD,OAAO,EAAE,SAAS,EAAO,yBAAyB;IAClD,OAAO,EAAE,SAAS,EAAO,wBAAwB;IACjD,KAAK,EAAE,SAAS,EAAS,MAAM;IAC/B,KAAK,EAAE,SAAS,EAAS,OAAO;CACnC,CAAC;AAEF,qBAAqB;AACrB,MAAM,CAAC,MAAM,UAAU,GAAG;IACtB,OAAO,EAAE,MAAe;IACxB,SAAS,EAAE,SAAkB;IAC7B,OAAO,EAAE,OAAgB;IACzB,OAAO,EAAE,QAAiB;IAC1B,KAAK,EAAE,KAAc;IACrB,KAAK,EAAE,MAAe;CACzB,CAAC;
|
|
1
|
+
{"version":3,"file":"ink-theme.js","sourceRoot":"","sources":["../../../src/ui/theme/ink-theme.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,kEAAkE;AAClE,MAAM,CAAC,MAAM,MAAM,GAAG;IAClB,OAAO,EAAE,SAAS,EAAO,2BAA2B;IACpD,YAAY,EAAE,SAAS;IACvB,SAAS,EAAE,SAAS,EAAK,0BAA0B;IACnD,OAAO,EAAE,SAAS,EAAO,yBAAyB;IAClD,OAAO,EAAE,SAAS,EAAO,wBAAwB;IACjD,KAAK,EAAE,SAAS,EAAS,MAAM;IAC/B,KAAK,EAAE,SAAS,EAAS,OAAO;CACnC,CAAC;AAEF,qBAAqB;AACrB,MAAM,CAAC,MAAM,UAAU,GAAG;IACtB,OAAO,EAAE,MAAe;IACxB,SAAS,EAAE,SAAkB;IAC7B,OAAO,EAAE,OAAgB;IACzB,OAAO,EAAE,QAAiB;IAC1B,KAAK,EAAE,KAAc;IACrB,KAAK,EAAE,MAAe;CACzB,CAAC;AAOF,MAAM,CAAC,MAAM,UAAU,GAAoB;IACvC,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;IACxB,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;IAClE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;IAClE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;IAClE,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;CAC3B,CAAC;AAEF,iCAAiC;AACjC,MAAM,CAAC,MAAM,YAAY,GAAG,SAAS,CAAC;AAEtC,gBAAgB;AAChB,MAAM,CAAC,MAAM,OAAO,GAAG;IACnB,IAAI,EAAE,GAAG;IACT,MAAM,EAAE,GAAG;IACX,OAAO,EAAE,GAAG;IACZ,KAAK,EAAE,GAAG;IACV,OAAO,EAAE,GAAG;IACZ,IAAI,EAAE,GAAG;IACT,GAAG,EAAE,GAAG;IACR,IAAI,EAAE,IAAI;IACV,QAAQ,EAAE,IAAI;IACd,QAAQ,EAAE,GAAG;IACb,MAAM,EAAE,GAAG;CACd,CAAC;AAEF,0CAA0C;AAC1C,gCAAgC;AAChC,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAE9D,2DAA2D;AAC3D,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC7B,6BAA6B;IAC7B,4BAA4B;IAC5B,4BAA4B;IAC5B,4BAA4B;IAC5B,oBAAoB;IACpB,0BAA0B;IAC1B,mBAAmB;CACtB,CAAC;AAEF,2BAA2B;AAC3B,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,CAAC"}
|
package/package.json
CHANGED