@yeshwanthyk/coding-agent 0.3.12 → 0.3.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. package/dist/adapters/tui/app.js +29 -17
  2. package/dist/adapters/tui/{app.js.map → app.jsx.map} +1 -1
  3. package/dist/components/Footer.js +60 -24
  4. package/dist/components/{Footer.js.map → Footer.jsx.map} +1 -1
  5. package/dist/components/Header.js +312 -96
  6. package/dist/components/{Header.js.map → Header.jsx.map} +1 -1
  7. package/dist/components/MessageList.js +393 -146
  8. package/dist/components/MessageList.jsx.map +1 -0
  9. package/dist/runtime/context.js +15 -9
  10. package/dist/runtime/context.jsx.map +1 -0
  11. package/dist/session-picker.js +123 -69
  12. package/dist/session-picker.jsx.map +1 -0
  13. package/dist/tui-open-rendering.js +716 -343
  14. package/dist/tui-open-rendering.jsx.map +1 -0
  15. package/dist/ui/app-shell/TuiApp.js +590 -441
  16. package/dist/ui/app-shell/{TuiApp.js.map → TuiApp.jsx.map} +1 -1
  17. package/dist/ui/components/modals/ConfirmModal.js +80 -23
  18. package/dist/ui/components/modals/ConfirmModal.jsx.map +1 -0
  19. package/dist/ui/components/modals/EditorModal.js +55 -15
  20. package/dist/ui/components/modals/EditorModal.jsx.map +1 -0
  21. package/dist/ui/components/modals/InputModal.js +36 -9
  22. package/dist/ui/components/modals/InputModal.jsx.map +1 -0
  23. package/dist/ui/components/modals/ModalContainer.js +72 -16
  24. package/dist/ui/components/modals/ModalContainer.jsx.map +1 -0
  25. package/dist/ui/components/modals/SelectModal.js +53 -24
  26. package/dist/ui/components/modals/SelectModal.jsx.map +1 -0
  27. package/dist/ui/features/composer/Composer.js +145 -26
  28. package/dist/ui/features/composer/Composer.jsx.map +1 -0
  29. package/dist/ui/features/main-view/MainView.js +341 -248
  30. package/dist/ui/features/main-view/{MainView.js.map → MainView.jsx.map} +1 -1
  31. package/dist/ui/features/message-pane/MessagePane.js +46 -4
  32. package/dist/ui/features/message-pane/MessagePane.jsx.map +1 -0
  33. package/package.json +2 -2
  34. package/dist/components/MessageList.js.map +0 -1
  35. package/dist/runtime/context.js.map +0 -1
  36. package/dist/session-picker.js.map +0 -1
  37. package/dist/tui-open-rendering.js.map +0 -1
  38. package/dist/ui/components/modals/ConfirmModal.js.map +0 -1
  39. package/dist/ui/components/modals/EditorModal.js.map +0 -1
  40. package/dist/ui/components/modals/InputModal.js.map +0 -1
  41. package/dist/ui/components/modals/ModalContainer.js.map +0 -1
  42. package/dist/ui/components/modals/SelectModal.js.map +0 -1
  43. package/dist/ui/features/composer/Composer.js.map +0 -1
  44. package/dist/ui/features/message-pane/MessagePane.js.map +0 -1
@@ -1,24 +1,36 @@
1
- import { jsx as _jsx } from "solid-js/h/jsx-runtime";
1
+ import { createComponent as _$createComponent } from "@opentui/solid";
2
2
  import { render } from "@opentui/solid";
3
3
  import { RuntimeProvider } from "../../runtime/context.js";
4
4
  import { createRuntime } from "../../runtime/factory.js";
5
5
  import { selectSession as selectSessionOpen } from "../../session-picker.js";
6
6
  import { TuiApp } from "../../ui/app-shell/TuiApp.js";
7
- export const runTuiOpen = async (args) => {
8
- const runtime = await createRuntime(args, "tui");
9
- const { sessionManager } = runtime;
10
- let initialSession = null;
11
- if (args?.resumeSession) {
12
- const selectedPath = await selectSessionOpen(sessionManager);
13
- if (selectedPath === null) {
14
- process.stdout.write("No session selected\n");
15
- return;
16
- }
17
- initialSession = sessionManager.loadSession(selectedPath);
7
+ export const runTuiOpen = async args => {
8
+ const runtime = await createRuntime(args, "tui");
9
+ const {
10
+ sessionManager
11
+ } = runtime;
12
+ let initialSession = null;
13
+ if (args?.resumeSession) {
14
+ const selectedPath = await selectSessionOpen(sessionManager);
15
+ if (selectedPath === null) {
16
+ process.stdout.write("No session selected\n");
17
+ return;
18
18
  }
19
- if (args?.continueSession && !initialSession) {
20
- initialSession = sessionManager.loadLatest();
19
+ initialSession = sessionManager.loadSession(selectedPath);
20
+ }
21
+ if (args?.continueSession && !initialSession) {
22
+ initialSession = sessionManager.loadLatest();
23
+ }
24
+ render(() => _$createComponent(RuntimeProvider, {
25
+ runtime: runtime,
26
+ get children() {
27
+ return _$createComponent(TuiApp, {
28
+ initialSession: initialSession
29
+ });
21
30
  }
22
- render(() => (_jsx(RuntimeProvider, { runtime: runtime, children: _jsx(TuiApp, { initialSession: initialSession }) })), { targetFps: 30, exitOnCtrlC: false, useKittyKeyboard: {} });
23
- };
24
- //# sourceMappingURL=app.js.map
31
+ }), {
32
+ targetFps: 30,
33
+ exitOnCtrlC: false,
34
+ useKittyKeyboard: {}
35
+ });
36
+ };
@@ -1 +1 @@
1
- {"version":3,"file":"app.js","sourceRoot":"","sources":["../../../src/adapters/tui/app.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AACvC,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,EAAE,aAAa,EAAwB,MAAM,qBAAqB,CAAA;AAEzE,OAAO,EAAE,aAAa,IAAI,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AAC5E,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAOhD,MAAM,CAAC,MAAM,UAAU,GAAG,KAAK,EAAE,IAAiB,EAAE,EAAE;IACrD,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;IAChD,MAAM,EAAE,cAAc,EAAE,GAAG,OAAO,CAAA;IAClC,IAAI,cAAc,GAAyB,IAAI,CAAA;IAE/C,IAAI,IAAI,EAAE,aAAa,EAAE,CAAC;QACzB,MAAM,YAAY,GAAG,MAAM,iBAAiB,CAAC,cAAc,CAAC,CAAA;QAC5D,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;YAC3B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAA;YAC7C,OAAM;QACP,CAAC;QACD,cAAc,GAAG,cAAc,CAAC,WAAW,CAAC,YAAY,CAAC,CAAA;IAC1D,CAAC;IAED,IAAI,IAAI,EAAE,eAAe,IAAI,CAAC,cAAc,EAAE,CAAC;QAC9C,cAAc,GAAG,cAAc,CAAC,UAAU,EAAE,CAAA;IAC7C,CAAC;IAED,MAAM,CACL,GAAG,EAAE,CAAC,CACL,KAAC,eAAe,IAAC,OAAO,EAAE,OAAO,YAChC,KAAC,MAAM,IAAC,cAAc,EAAE,cAAc,GAAI,GACzB,CAClB,EACD,EAAE,SAAS,EAAE,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,gBAAgB,EAAE,EAAE,EAAE,CAC3D,CAAA;AACF,CAAC,CAAA"}
1
+ {"version":3,"file":"app.jsx","sourceRoot":"","sources":["../../../src/adapters/tui/app.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AACvC,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,EAAE,aAAa,EAAwB,MAAM,qBAAqB,CAAA;AAEzE,OAAO,EAAE,aAAa,IAAI,iBAAiB,EAAE,MAAM,yBAAyB,CAAA;AAC5E,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAOhD,MAAM,CAAC,MAAM,UAAU,GAAG,KAAK,EAAE,IAAiB,EAAE,EAAE;IACrD,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;IAChD,MAAM,EAAE,cAAc,EAAE,GAAG,OAAO,CAAA;IAClC,IAAI,cAAc,GAAyB,IAAI,CAAA;IAE/C,IAAI,IAAI,EAAE,aAAa,EAAE,CAAC;QACzB,MAAM,YAAY,GAAG,MAAM,iBAAiB,CAAC,cAAc,CAAC,CAAA;QAC5D,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;YAC3B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAA;YAC7C,OAAM;QACP,CAAC;QACD,cAAc,GAAG,cAAc,CAAC,WAAW,CAAC,YAAY,CAAC,CAAA;IAC1D,CAAC;IAED,IAAI,IAAI,EAAE,eAAe,IAAI,CAAC,cAAc,EAAE,CAAC;QAC9C,cAAc,GAAG,cAAc,CAAC,UAAU,EAAE,CAAA;IAC7C,CAAC;IAED,MAAM,CACL,GAAG,EAAE,CAAC,CACL,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CACjC;IAAA,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,cAAc,CAAC,EACxC;GAAA,EAAE,eAAe,CAAC,CAClB,EACD,EAAE,SAAS,EAAE,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,gBAAgB,EAAE,EAAE,EAAE,CAC3D,CAAA;AACF,CAAC,CAAA"}
@@ -1,4 +1,9 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "solid-js/h/jsx-runtime";
1
+ import { effect as _$effect } from "@opentui/solid";
2
+ import { createTextNode as _$createTextNode } from "@opentui/solid";
3
+ import { insertNode as _$insertNode } from "@opentui/solid";
4
+ import { insert as _$insert } from "@opentui/solid";
5
+ import { setProp as _$setProp } from "@opentui/solid";
6
+ import { createElement as _$createElement } from "@opentui/solid";
2
7
  /**
3
8
  * Footer - Subtle dashed line with dir · branch on right.
4
9
  */
@@ -6,27 +11,58 @@ import { createMemo } from "solid-js";
6
11
  import { useTerminalDimensions } from "@opentui/solid";
7
12
  import { useTheme } from "@yeshwanthyk/open-tui";
8
13
  export function Footer(props) {
9
- const { theme } = useTheme();
10
- const dims = useTerminalDimensions();
11
- const dirName = createMemo(() => process.cwd().split("/").pop() || "");
12
- const shortBranch = createMemo(() => {
13
- const branch = props.branch;
14
- if (!branch)
15
- return null;
16
- const parts = branch.split(/[/-]/).filter(p => p.length > 0);
17
- return parts.length > 2 ? parts.slice(-2).join("-") : branch;
14
+ const {
15
+ theme
16
+ } = useTheme();
17
+ const dims = useTerminalDimensions();
18
+ const dirName = createMemo(() => process.cwd().split("/").pop() || "");
19
+ const shortBranch = createMemo(() => {
20
+ const branch = props.branch;
21
+ if (!branch) return null;
22
+ const parts = branch.split(/[/-]/).filter(p => p.length > 0);
23
+ return parts.length > 2 ? parts.slice(-2).join("-") : branch;
24
+ });
25
+ const rightText = createMemo(() => {
26
+ const dir = dirName();
27
+ const branch = shortBranch();
28
+ return branch ? `${dir} · ${branch}` : dir;
29
+ });
30
+ const dashedLine = createMemo(() => {
31
+ const textLen = rightText().length + 2;
32
+ const lineLen = Math.max(0, dims().width - textLen - 1);
33
+ return "┄".repeat(lineLen);
34
+ });
35
+ const lineColor = () => props.bashMode ? theme.warning : theme.border;
36
+ return (() => {
37
+ var _el$ = _$createElement("box"),
38
+ _el$2 = _$createElement("text"),
39
+ _el$3 = _$createElement("span"),
40
+ _el$4 = _$createElement("span"),
41
+ _el$5 = _$createTextNode(` `);
42
+ _$insertNode(_el$, _el$2);
43
+ _$setProp(_el$, "flexShrink", 0);
44
+ _$setProp(_el$, "height", 1);
45
+ _$setProp(_el$, "marginTop", 0);
46
+ _$setProp(_el$, "paddingTop", 0);
47
+ _$insertNode(_el$2, _el$3);
48
+ _$insertNode(_el$2, _el$4);
49
+ _$insert(_el$3, dashedLine);
50
+ _$insertNode(_el$4, _el$5);
51
+ _$insert(_el$4, rightText, null);
52
+ _$effect(_p$ => {
53
+ var _v$ = {
54
+ fg: lineColor()
55
+ },
56
+ _v$2 = {
57
+ fg: theme.textMuted
58
+ };
59
+ _v$ !== _p$.e && (_p$.e = _$setProp(_el$3, "style", _v$, _p$.e));
60
+ _v$2 !== _p$.t && (_p$.t = _$setProp(_el$4, "style", _v$2, _p$.t));
61
+ return _p$;
62
+ }, {
63
+ e: undefined,
64
+ t: undefined
18
65
  });
19
- const rightText = createMemo(() => {
20
- const dir = dirName();
21
- const branch = shortBranch();
22
- return branch ? `${dir} · ${branch}` : dir;
23
- });
24
- const dashedLine = createMemo(() => {
25
- const textLen = rightText().length + 2;
26
- const lineLen = Math.max(0, dims().width - textLen - 1);
27
- return "┄".repeat(lineLen);
28
- });
29
- const lineColor = () => props.bashMode ? theme.warning : theme.border;
30
- return (_jsx("box", { flexShrink: 0, height: 1, marginTop: 0, paddingTop: 0, children: _jsxs("text", { children: [_jsx("span", { style: { fg: lineColor() }, children: dashedLine() }), _jsxs("span", { style: { fg: theme.textMuted }, children: [" ", rightText()] })] }) }));
31
- }
32
- //# sourceMappingURL=Footer.js.map
66
+ return _el$;
67
+ })();
68
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"Footer.js","sourceRoot":"","sources":["../../src/components/Footer.tsx"],"names":[],"mappings":";AAAA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AACrC,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAA;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAOhD,MAAM,UAAU,MAAM,CAAC,KAAkB;IACvC,MAAM,EAAE,KAAK,EAAE,GAAG,QAAQ,EAAE,CAAA;IAC5B,MAAM,IAAI,GAAG,qBAAqB,EAAE,CAAA;IAEpC,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAA;IAEtE,MAAM,WAAW,GAAG,UAAU,CAAC,GAAG,EAAE;QAClC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAA;QAC3B,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAA;QACxB,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;QAC5D,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAA;IAC9D,CAAC,CAAC,CAAA;IAEF,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE;QAChC,MAAM,GAAG,GAAG,OAAO,EAAE,CAAA;QACrB,MAAM,MAAM,GAAG,WAAW,EAAE,CAAA;QAC5B,OAAO,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,MAAM,MAAM,EAAE,CAAC,CAAC,CAAC,GAAG,CAAA;IAC5C,CAAC,CAAC,CAAA;IAEF,MAAM,UAAU,GAAG,UAAU,CAAC,GAAG,EAAE;QACjC,MAAM,OAAO,GAAG,SAAS,EAAE,CAAC,MAAM,GAAG,CAAC,CAAA;QACtC,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,KAAK,GAAG,OAAO,GAAG,CAAC,CAAC,CAAA;QACvD,OAAO,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IAC5B,CAAC,CAAC,CAAA;IAEF,MAAM,SAAS,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAA;IAErE,OAAO,CACL,cAAK,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,YACxD,2BACE,eAAM,KAAK,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,YAAG,UAAU,EAAE,GAAQ,EACvD,gBAAM,KAAK,EAAE,EAAE,EAAE,EAAE,KAAK,CAAC,SAAS,EAAE,mBAAK,SAAS,EAAE,IAAQ,IACvD,GACH,CACP,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"Footer.jsx","sourceRoot":"","sources":["../../src/components/Footer.tsx"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AACrC,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAA;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAOhD,MAAM,UAAU,MAAM,CAAC,KAAkB;IACvC,MAAM,EAAE,KAAK,EAAE,GAAG,QAAQ,EAAE,CAAA;IAC5B,MAAM,IAAI,GAAG,qBAAqB,EAAE,CAAA;IAEpC,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAA;IAEtE,MAAM,WAAW,GAAG,UAAU,CAAC,GAAG,EAAE;QAClC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAA;QAC3B,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAA;QACxB,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;QAC5D,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAA;IAC9D,CAAC,CAAC,CAAA;IAEF,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE;QAChC,MAAM,GAAG,GAAG,OAAO,EAAE,CAAA;QACrB,MAAM,MAAM,GAAG,WAAW,EAAE,CAAA;QAC5B,OAAO,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,MAAM,MAAM,EAAE,CAAC,CAAC,CAAC,GAAG,CAAA;IAC5C,CAAC,CAAC,CAAA;IAEF,MAAM,UAAU,GAAG,UAAU,CAAC,GAAG,EAAE;QACjC,MAAM,OAAO,GAAG,SAAS,EAAE,CAAC,MAAM,GAAG,CAAC,CAAA;QACtC,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,KAAK,GAAG,OAAO,GAAG,CAAC,CAAC,CAAA;QACvD,OAAO,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IAC5B,CAAC,CAAC,CAAA;IAEF,MAAM,SAAS,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAA;IAErE,OAAO,CACL,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CACzD;MAAA,CAAC,IAAI,CACH;QAAA,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,EAAE,IAAI,CACtD;QAAA,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,CAAG,EAAA,CAAC,SAAS,EAAE,CAAC,EAAE,IAAI,CAC7D;MAAA,EAAE,IAAI,CACR;IAAA,EAAE,GAAG,CAAC,CACP,CAAA;AACH,CAAC"}
@@ -1,4 +1,11 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "solid-js/h/jsx-runtime";
1
+ import { memo as _$memo } from "@opentui/solid";
2
+ import { effect as _$effect } from "@opentui/solid";
3
+ import { createComponent as _$createComponent } from "@opentui/solid";
4
+ import { createTextNode as _$createTextNode } from "@opentui/solid";
5
+ import { insertNode as _$insertNode } from "@opentui/solid";
6
+ import { insert as _$insert } from "@opentui/solid";
7
+ import { setProp as _$setProp } from "@opentui/solid";
8
+ import { createElement as _$createElement } from "@opentui/solid";
2
9
  /**
3
10
  * Header - Single row, minimal by default, click to expand.
4
11
  * Left: activity + model·thinking + progress bar + queue
@@ -7,28 +14,46 @@ import { jsx as _jsx, jsxs as _jsxs } from "solid-js/h/jsx-runtime";
7
14
  import { Show, createMemo, createSignal } from "solid-js";
8
15
  import { useTheme } from "@yeshwanthyk/open-tui";
9
16
  const LSP_SYMBOLS = {
10
- typescript: ["⬡", "⬢"],
11
- biome: ["✧", "✦"],
12
- basedpyright: ["ψ", "Ψ"],
13
- ruff: ["△", "▲"],
14
- ty: ["τ", "Τ"],
15
- gopls: ["◎", "◉"],
16
- "rust-analyzer": ["⛭", "⚙"],
17
+ typescript: ["⬡", "⬢"],
18
+ biome: ["✧", "✦"],
19
+ basedpyright: ["ψ", "Ψ"],
20
+ ruff: ["△", "▲"],
21
+ ty: ["τ", "Τ"],
22
+ gopls: ["◎", "◉"],
23
+ "rust-analyzer": ["⛭", "⚙"]
17
24
  };
18
25
  /** Robot face icons for each activity state */
19
26
  const ACTIVITY_FACES = {
20
- idle: { face: "● ‿ ●", label: "ready" },
21
- thinking: { face: "● ●", label: "think" },
22
- streaming: { face: "● ◦ ●", label: "stream" },
23
- tool: { face: "● ⏅ ●", label: "run" },
24
- compacting: { face: "● ≡ ●", label: "pack" },
27
+ idle: {
28
+ face: "● ●",
29
+ label: "ready"
30
+ },
31
+ thinking: {
32
+ face: "● ≋ ●",
33
+ label: "think"
34
+ },
35
+ streaming: {
36
+ face: "● ◦ ●",
37
+ label: "stream"
38
+ },
39
+ tool: {
40
+ face: "● ⏅ ●",
41
+ label: "run"
42
+ },
43
+ compacting: {
44
+ face: "● ≡ ●",
45
+ label: "pack"
46
+ }
25
47
  };
26
48
  /** Animated faces for each active state */
27
49
  const ANIMATED_FACES = {
28
- streaming: ["● ◦ ●", "● ○ ●", "● ◦ ●", "● ∘ ●"], // mouth moves (talking)
29
- thinking: ["● ●", "● ~ ●", "● ≈ ●", "● ~ ●"], // squiggly (pondering)
30
- tool: ["● ●", "● ●", "● ●", "● ●"], // steps running
31
- compacting: ["● ≡ ●", "● = ●", "● - ●", "● = ●"], // compress animation
50
+ streaming: ["● ◦ ●", "● ○ ●", "● ◦ ●", "● ∘ ●"],
51
+ // mouth moves (talking)
52
+ thinking: ["● ●", "● ~ ●", "● ●", "● ~ ●"],
53
+ // squiggly (pondering)
54
+ tool: ["● ⏅ ●", "● ⏆ ●", "● ⏅ ●", "● ⏆ ●"],
55
+ // steps running
56
+ compacting: ["● ≡ ●", "● = ●", "● - ●", "● = ●"] // compress animation
32
57
  };
33
58
  /** Fixed width for activity section to prevent layout shift */
34
59
  const ACTIVITY_WIDTH = 13;
@@ -37,84 +62,275 @@ const PROGRESS_FILLED = "━";
37
62
  const PROGRESS_EMPTY = "┄";
38
63
  const PROGRESS_BAR_LENGTH = 8;
39
64
  export function Header(props) {
40
- const { theme } = useTheme();
41
- const [expanded, setExpanded] = createSignal(false);
42
- // Model·thinking combined
43
- const modelThinking = createMemo(() => {
44
- const model = props.modelId.replace(/^claude-/, "").replace(/-latest$/, "");
45
- if (props.thinking === "off")
46
- return model;
47
- // Abbreviate thinking level
48
- const thinkingAbbrev = {
49
- off: "",
50
- minimal: "min",
51
- low: "low",
52
- medium: "med",
53
- high: "high",
54
- xhigh: "xhi",
55
- };
56
- return `${model}·${thinkingAbbrev[props.thinking]}`;
65
+ const {
66
+ theme
67
+ } = useTheme();
68
+ const [expanded, setExpanded] = createSignal(false);
69
+ // Model·thinking combined
70
+ const modelThinking = createMemo(() => {
71
+ const model = props.modelId.replace(/^claude-/, "").replace(/-latest$/, "");
72
+ if (props.thinking === "off") return model;
73
+ // Abbreviate thinking level
74
+ const thinkingAbbrev = {
75
+ off: "",
76
+ minimal: "min",
77
+ low: "low",
78
+ medium: "med",
79
+ high: "high",
80
+ xhigh: "xhi"
81
+ };
82
+ return `${model}·${thinkingAbbrev[props.thinking]}`;
83
+ });
84
+ // Activity with robot face
85
+ const activity = createMemo(() => {
86
+ if (props.retryStatus) {
87
+ return {
88
+ face: "● ! ●",
89
+ label: "retry",
90
+ color: theme.warning
91
+ };
92
+ }
93
+ const state = props.activityState;
94
+ const base = ACTIVITY_FACES[state];
95
+ // Animate face for active states
96
+ let face = base.face;
97
+ const frames = ANIMATED_FACES[state];
98
+ if (frames) {
99
+ const frameIndex = props.spinnerFrame % frames.length;
100
+ face = frames[frameIndex] ?? base.face;
101
+ }
102
+ const color = state === "idle" ? theme.textMuted : theme.accent;
103
+ return {
104
+ face,
105
+ label: base.label,
106
+ color
107
+ };
108
+ });
109
+ // Progress bar with percentage
110
+ const progressBar = createMemo(() => {
111
+ if (props.contextWindow <= 0) return null;
112
+ const pct = props.contextTokens > 0 ? Math.min(100, props.contextTokens / props.contextWindow * 100) : 0;
113
+ const filled = Math.round(pct / 100 * PROGRESS_BAR_LENGTH);
114
+ const empty = PROGRESS_BAR_LENGTH - filled;
115
+ const bar = PROGRESS_FILLED.repeat(filled) + PROGRESS_EMPTY.repeat(empty);
116
+ const color = pct > 90 ? theme.error : pct > 70 ? theme.warning : pct > 40 ? theme.text : theme.success;
117
+ return {
118
+ bar,
119
+ pct: Math.round(pct),
120
+ color
121
+ };
122
+ });
123
+ // Queue indicator
124
+ const queueIndicator = createMemo(() => {
125
+ const {
126
+ steer,
127
+ followUp
128
+ } = props.queueCounts;
129
+ if (steer <= 0 && followUp <= 0) return null;
130
+ const parts = [];
131
+ if (steer > 0) {
132
+ parts.push(`⚡${steer}`);
133
+ }
134
+ if (followUp > 0) {
135
+ parts.push(`…${followUp}`);
136
+ }
137
+ return parts.join(" ");
138
+ });
139
+ // LSP status
140
+ const lspStatus = createMemo(() => {
141
+ const servers = props.lsp.activeServers();
142
+ if (servers.length === 0) return null;
143
+ const uniqueIds = [...new Set(servers.map(s => s.serverId))];
144
+ const symbolIndex = props.lspActive ? 1 : 0;
145
+ const symbols = uniqueIds.map(id => LSP_SYMBOLS[id]?.[symbolIndex] ?? id).join("");
146
+ const counts = props.lsp.diagnosticCounts();
147
+ return {
148
+ symbols,
149
+ errors: counts.errors,
150
+ warnings: counts.warnings
151
+ };
152
+ });
153
+ const toggleExpanded = () => setExpanded(v => !v);
154
+ return (() => {
155
+ var _el$ = _$createElement("box"),
156
+ _el$2 = _$createElement("box"),
157
+ _el$3 = _$createElement("box"),
158
+ _el$4 = _$createElement("text"),
159
+ _el$5 = _$createElement("span"),
160
+ _el$6 = _$createElement("span"),
161
+ _el$7 = _$createTextNode(` `),
162
+ _el$8 = _$createElement("text"),
163
+ _el$0 = _$createElement("box");
164
+ _$insertNode(_el$, _el$2);
165
+ _$insertNode(_el$, _el$0);
166
+ _$setProp(_el$, "flexDirection", "row");
167
+ _$setProp(_el$, "flexShrink", 0);
168
+ _$setProp(_el$, "paddingLeft", 1);
169
+ _$setProp(_el$, "paddingRight", 1);
170
+ _$setProp(_el$, "border", ["top", "bottom", "left", "right"]);
171
+ _$setProp(_el$, "borderStyle", "rounded");
172
+ _$setProp(_el$, "onMouseUp", e => {
173
+ if (e.isSelecting) return;
174
+ toggleExpanded();
57
175
  });
58
- // Activity with robot face
59
- const activity = createMemo(() => {
60
- if (props.retryStatus) {
61
- return { face: "● ! ●", label: "retry", color: theme.warning };
62
- }
63
- const state = props.activityState;
64
- const base = ACTIVITY_FACES[state];
65
- // Animate face for active states
66
- let face = base.face;
67
- const frames = ANIMATED_FACES[state];
68
- if (frames) {
69
- const frameIndex = props.spinnerFrame % frames.length;
70
- face = frames[frameIndex] ?? base.face;
71
- }
72
- const color = state === "idle" ? theme.textMuted : theme.accent;
73
- return { face, label: base.label, color };
176
+ _$insertNode(_el$2, _el$3);
177
+ _$insertNode(_el$2, _el$8);
178
+ _$setProp(_el$2, "flexDirection", "row");
179
+ _$setProp(_el$2, "flexShrink", 0);
180
+ _$setProp(_el$2, "gap", 1);
181
+ _$insertNode(_el$3, _el$4);
182
+ _$setProp(_el$3, "minWidth", ACTIVITY_WIDTH);
183
+ _$insertNode(_el$4, _el$5);
184
+ _$insertNode(_el$4, _el$6);
185
+ _$insert(_el$5, () => activity().face);
186
+ _$insertNode(_el$6, _el$7);
187
+ _$insert(_el$6, () => activity().label, null);
188
+ _$insert(_el$8, modelThinking);
189
+ _$insert(_el$2, _$createComponent(Show, {
190
+ get when() {
191
+ return progressBar();
192
+ },
193
+ keyed: true,
194
+ children: prog => (() => {
195
+ var _el$10 = _$createElement("text"),
196
+ _el$11 = _$createElement("span"),
197
+ _el$12 = _$createElement("span"),
198
+ _el$13 = _$createTextNode(` `),
199
+ _el$14 = _$createTextNode(`%`);
200
+ _$insertNode(_el$10, _el$11);
201
+ _$insertNode(_el$10, _el$12);
202
+ _$insert(_el$11, () => prog.bar);
203
+ _$insertNode(_el$12, _el$13);
204
+ _$insertNode(_el$12, _el$14);
205
+ _$insert(_el$12, () => prog.pct, _el$14);
206
+ _$effect(_p$ => {
207
+ var _v$5 = {
208
+ fg: prog.color
209
+ },
210
+ _v$6 = {
211
+ fg: theme.textMuted
212
+ };
213
+ _v$5 !== _p$.e && (_p$.e = _$setProp(_el$11, "style", _v$5, _p$.e));
214
+ _v$6 !== _p$.t && (_p$.t = _$setProp(_el$12, "style", _v$6, _p$.t));
215
+ return _p$;
216
+ }, {
217
+ e: undefined,
218
+ t: undefined
219
+ });
220
+ return _el$10;
221
+ })()
222
+ }), null);
223
+ _$insert(_el$2, _$createComponent(Show, {
224
+ get when() {
225
+ return queueIndicator();
226
+ },
227
+ get children() {
228
+ var _el$9 = _$createElement("text");
229
+ _$insert(_el$9, queueIndicator);
230
+ _$effect(_$p => _$setProp(_el$9, "fg", theme.warning, _$p));
231
+ return _el$9;
232
+ }
233
+ }), null);
234
+ _$setProp(_el$0, "flexGrow", 1);
235
+ _$insert(_el$, _$createComponent(Show, {
236
+ get when() {
237
+ return expanded();
238
+ },
239
+ get children() {
240
+ var _el$1 = _$createElement("box");
241
+ _$setProp(_el$1, "flexDirection", "row");
242
+ _$setProp(_el$1, "flexShrink", 0);
243
+ _$setProp(_el$1, "gap", 1);
244
+ _$insert(_el$1, _$createComponent(Show, {
245
+ get when() {
246
+ return lspStatus();
247
+ },
248
+ keyed: true,
249
+ children: lsp => (() => {
250
+ var _el$15 = _$createElement("text"),
251
+ _el$16 = _$createElement("span");
252
+ _$insertNode(_el$15, _el$16);
253
+ _$insert(_el$16, () => lsp.symbols);
254
+ _$insert(_el$15, _$createComponent(Show, {
255
+ get when() {
256
+ return lsp.errors > 0 || lsp.warnings > 0;
257
+ },
258
+ get children() {
259
+ return [(() => {
260
+ var _el$17 = _$createElement("span");
261
+ _$insertNode(_el$17, _$createTextNode(` `));
262
+ _$effect(_$p => _$setProp(_el$17, "style", {
263
+ fg: theme.textMuted
264
+ }, _$p));
265
+ return _el$17;
266
+ })(), _$createComponent(Show, {
267
+ get when() {
268
+ return lsp.errors > 0;
269
+ },
270
+ get children() {
271
+ var _el$19 = _$createElement("span");
272
+ _$insert(_el$19, () => lsp.errors);
273
+ _$effect(_$p => _$setProp(_el$19, "style", {
274
+ fg: theme.error
275
+ }, _$p));
276
+ return _el$19;
277
+ }
278
+ }), _$createComponent(Show, {
279
+ get when() {
280
+ return _$memo(() => lsp.errors > 0)() && lsp.warnings > 0;
281
+ },
282
+ get children() {
283
+ var _el$20 = _$createElement("span");
284
+ _$insertNode(_el$20, _$createTextNode(`/`));
285
+ _$effect(_$p => _$setProp(_el$20, "style", {
286
+ fg: theme.textMuted
287
+ }, _$p));
288
+ return _el$20;
289
+ }
290
+ }), _$createComponent(Show, {
291
+ get when() {
292
+ return lsp.warnings > 0;
293
+ },
294
+ get children() {
295
+ var _el$22 = _$createElement("span");
296
+ _$insert(_el$22, () => lsp.warnings);
297
+ _$effect(_$p => _$setProp(_el$22, "style", {
298
+ fg: theme.warning
299
+ }, _$p));
300
+ return _el$22;
301
+ }
302
+ })];
303
+ }
304
+ }), null);
305
+ _$effect(_$p => _$setProp(_el$16, "style", {
306
+ fg: props.lspActive ? theme.accent : theme.success
307
+ }, _$p));
308
+ return _el$15;
309
+ })()
310
+ }));
311
+ return _el$1;
312
+ }
313
+ }), null);
314
+ _$effect(_p$ => {
315
+ var _v$ = theme.border,
316
+ _v$2 = {
317
+ fg: activity().color
318
+ },
319
+ _v$3 = {
320
+ fg: theme.textMuted
321
+ },
322
+ _v$4 = theme.text;
323
+ _v$ !== _p$.e && (_p$.e = _$setProp(_el$, "borderColor", _v$, _p$.e));
324
+ _v$2 !== _p$.t && (_p$.t = _$setProp(_el$5, "style", _v$2, _p$.t));
325
+ _v$3 !== _p$.a && (_p$.a = _$setProp(_el$6, "style", _v$3, _p$.a));
326
+ _v$4 !== _p$.o && (_p$.o = _$setProp(_el$8, "fg", _v$4, _p$.o));
327
+ return _p$;
328
+ }, {
329
+ e: undefined,
330
+ t: undefined,
331
+ a: undefined,
332
+ o: undefined
74
333
  });
75
- // Progress bar with percentage
76
- const progressBar = createMemo(() => {
77
- if (props.contextWindow <= 0)
78
- return null;
79
- const pct = props.contextTokens > 0
80
- ? Math.min(100, (props.contextTokens / props.contextWindow) * 100)
81
- : 0;
82
- const filled = Math.round((pct / 100) * PROGRESS_BAR_LENGTH);
83
- const empty = PROGRESS_BAR_LENGTH - filled;
84
- const bar = PROGRESS_FILLED.repeat(filled) + PROGRESS_EMPTY.repeat(empty);
85
- const color = pct > 90 ? theme.error : pct > 70 ? theme.warning : pct > 40 ? theme.text : theme.success;
86
- return { bar, pct: Math.round(pct), color };
87
- });
88
- // Queue indicator
89
- const queueIndicator = createMemo(() => {
90
- const { steer, followUp } = props.queueCounts;
91
- if (steer <= 0 && followUp <= 0)
92
- return null;
93
- const parts = [];
94
- if (steer > 0) {
95
- parts.push(`⚡${steer}`);
96
- }
97
- if (followUp > 0) {
98
- parts.push(`…${followUp}`);
99
- }
100
- return parts.join(" ");
101
- });
102
- // LSP status
103
- const lspStatus = createMemo(() => {
104
- const servers = props.lsp.activeServers();
105
- if (servers.length === 0)
106
- return null;
107
- const uniqueIds = [...new Set(servers.map((s) => s.serverId))];
108
- const symbolIndex = props.lspActive ? 1 : 0;
109
- const symbols = uniqueIds.map((id) => LSP_SYMBOLS[id]?.[symbolIndex] ?? id).join("");
110
- const counts = props.lsp.diagnosticCounts();
111
- return { symbols, errors: counts.errors, warnings: counts.warnings };
112
- });
113
- const toggleExpanded = () => setExpanded((v) => !v);
114
- return (_jsxs("box", { flexDirection: "row", flexShrink: 0, paddingLeft: 1, paddingRight: 1, border: ["top", "bottom", "left", "right"], borderStyle: "rounded", borderColor: theme.border, onMouseUp: (e) => {
115
- if (e.isSelecting)
116
- return;
117
- toggleExpanded();
118
- }, children: [_jsxs("box", { flexDirection: "row", flexShrink: 0, gap: 1, children: [_jsx("box", { minWidth: ACTIVITY_WIDTH, children: _jsxs("text", { children: [_jsx("span", { style: { fg: activity().color }, children: activity().face }), _jsxs("span", { style: { fg: theme.textMuted }, children: [" ", activity().label] })] }) }), _jsx("text", { fg: theme.text, children: modelThinking() }), _jsx(Show, { when: progressBar(), keyed: true, children: (prog) => (_jsxs("text", { children: [_jsx("span", { style: { fg: prog.color }, children: prog.bar }), _jsxs("span", { style: { fg: theme.textMuted }, children: [" ", prog.pct, "%"] })] })) }), _jsx(Show, { when: queueIndicator(), children: _jsx("text", { fg: theme.warning, children: queueIndicator() }) })] }), _jsx("box", { flexGrow: 1 }), _jsx(Show, { when: expanded(), children: _jsx("box", { flexDirection: "row", flexShrink: 0, gap: 1, children: _jsx(Show, { when: lspStatus(), keyed: true, children: (lsp) => (_jsxs("text", { children: [_jsx("span", { style: { fg: props.lspActive ? theme.accent : theme.success }, children: lsp.symbols }), _jsxs(Show, { when: lsp.errors > 0 || lsp.warnings > 0, children: [_jsx("span", { style: { fg: theme.textMuted }, children: " " }), _jsx(Show, { when: lsp.errors > 0, children: _jsx("span", { style: { fg: theme.error }, children: lsp.errors }) }), _jsx(Show, { when: lsp.errors > 0 && lsp.warnings > 0, children: _jsx("span", { style: { fg: theme.textMuted }, children: "/" }) }), _jsx(Show, { when: lsp.warnings > 0, children: _jsx("span", { style: { fg: theme.warning }, children: lsp.warnings }) })] })] })) }) }) })] }));
119
- }
120
- //# sourceMappingURL=Header.js.map
334
+ return _el$;
335
+ })();
336
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"Header.js","sourceRoot":"","sources":["../../src/components/Header.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Header.jsx","sourceRoot":"","sources":["../../src/components/Header.tsx"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAKhD,MAAM,WAAW,GAA0C;IACzD,UAAU,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;IACtB,KAAK,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;IACjB,YAAY,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;IACxB,IAAI,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;IAChB,EAAE,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;IACd,KAAK,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;IACjB,eAAe,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;CAC5B,CAAA;AAED,+CAA+C;AAC/C,MAAM,cAAc,GAA2D;IAC7E,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE;IACvC,QAAQ,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE;IAC3C,SAAS,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE;IAC7C,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE;IACrC,UAAU,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE;CAC7C,CAAA;AAED,2CAA2C;AAC3C,MAAM,cAAc,GAA6C;IAC/D,SAAS,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EAAG,wBAAwB;IAC1E,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EAAI,uBAAuB;IACzE,IAAI,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EAAO,gBAAgB;IACjE,UAAU,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,qBAAqB;CACxE,CAAA;AAED,+DAA+D;AAC/D,MAAM,cAAc,GAAG,EAAE,CAAA;AAEzB,8BAA8B;AAC9B,MAAM,eAAe,GAAG,GAAG,CAAA;AAC3B,MAAM,cAAc,GAAG,GAAG,CAAA;AAC1B,MAAM,mBAAmB,GAAG,CAAC,CAAA;AAiB7B,MAAM,UAAU,MAAM,CAAC,KAAkB;IACvC,MAAM,EAAE,KAAK,EAAE,GAAG,QAAQ,EAAE,CAAA;IAC5B,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,YAAY,CAAC,KAAK,CAAC,CAAA;IAEnD,0BAA0B;IAC1B,MAAM,aAAa,GAAG,UAAU,CAAC,GAAG,EAAE;QACpC,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAA;QAC3E,IAAI,KAAK,CAAC,QAAQ,KAAK,KAAK;YAAE,OAAO,KAAK,CAAA;QAC1C,4BAA4B;QAC5B,MAAM,cAAc,GAAkC;YACpD,GAAG,EAAE,EAAE;YACP,OAAO,EAAE,KAAK;YACd,GAAG,EAAE,KAAK;YACV,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,MAAM;YACZ,KAAK,EAAE,KAAK;SACb,CAAA;QACD,OAAO,GAAG,KAAK,IAAI,cAAc,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAA;IACrD,CAAC,CAAC,CAAA;IAEF,2BAA2B;IAC3B,MAAM,QAAQ,GAAG,UAAU,CAAC,GAAG,EAAE;QAC/B,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;YACtB,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,CAAA;QAChE,CAAC;QACD,MAAM,KAAK,GAAG,KAAK,CAAC,aAAa,CAAA;QACjC,MAAM,IAAI,GAAG,cAAc,CAAC,KAAK,CAAC,CAAA;QAElC,iCAAiC;QACjC,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAA;QACpB,MAAM,MAAM,GAAG,cAAc,CAAC,KAAK,CAAC,CAAA;QACpC,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,UAAU,GAAG,KAAK,CAAC,YAAY,GAAG,MAAM,CAAC,MAAM,CAAA;YACrD,IAAI,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,IAAI,CAAA;QACxC,CAAC;QAED,MAAM,KAAK,GAAG,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAA;QAC/D,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,KAAK,EAAE,CAAA;IAC3C,CAAC,CAAC,CAAA;IAEF,+BAA+B;IAC/B,MAAM,WAAW,GAAG,UAAU,CAAC,GAAG,EAAE;QAClC,IAAI,KAAK,CAAC,aAAa,IAAI,CAAC;YAAE,OAAO,IAAI,CAAA;QACzC,MAAM,GAAG,GAAG,KAAK,CAAC,aAAa,GAAG,CAAC;YACjC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,aAAa,GAAG,KAAK,CAAC,aAAa,CAAC,GAAG,GAAG,CAAC;YAClE,CAAC,CAAC,CAAC,CAAA;QACL,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,mBAAmB,CAAC,CAAA;QAC5D,MAAM,KAAK,GAAG,mBAAmB,GAAG,MAAM,CAAA;QAC1C,MAAM,GAAG,GAAG,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,cAAc,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;QACzE,MAAM,KAAK,GAAG,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAA;QACvG,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,CAAA;IAC7C,CAAC,CAAC,CAAA;IAEF,kBAAkB;IAClB,MAAM,cAAc,GAAG,UAAU,CAAC,GAAG,EAAE;QACrC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC,WAAW,CAAA;QAC7C,IAAI,KAAK,IAAI,CAAC,IAAI,QAAQ,IAAI,CAAC;YAAE,OAAO,IAAI,CAAA;QAC5C,MAAM,KAAK,GAAa,EAAE,CAAA;QAC1B,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YACd,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,EAAE,CAAC,CAAA;QACzB,CAAC;QACD,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;YACjB,KAAK,CAAC,IAAI,CAAC,IAAI,QAAQ,EAAE,CAAC,CAAA;QAC5B,CAAC;QACD,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IACxB,CAAC,CAAC,CAAA;IAGF,aAAa;IACb,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE;QAChC,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,aAAa,EAAE,CAAA;QACzC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAA;QACrC,MAAM,SAAS,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;QAC9D,MAAM,WAAW,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QAC3C,MAAM,OAAO,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACpF,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAA;QAC3C,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAA;IACtE,CAAC,CAAC,CAAA;IAEF,MAAM,cAAc,GAAG,GAAG,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;IAEnD,OAAO,CACT,CAAC,GAAG,CACE,aAAa,CAAC,KAAK,CACnB,UAAU,CAAC,CAAC,CAAC,CAAC,CACd,WAAW,CAAC,CAAC,CAAC,CAAC,CACf,YAAY,CAAC,CAAC,CAAC,CAAC,CAChB,MAAM,CAAC,CAAC,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAC3C,WAAW,CAAC,SAAS,CACrB,WAAW,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAC1B,SAAS,CAAC,CAAC,CAAC,CAA4B,EAAE,EAAE;YAC1C,IAAI,CAAC,CAAC,WAAW;gBAAE,OAAM;YACzB,cAAc,EAAE,CAAA;QAClB,CAAC,CAAC,CAEF;MAAA,CAAC,gEAAgE,CACjE;MAAA,CAAC,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAC7C;QAAA,CAAC,4BAA4B,CAC7B;QAAA,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,CAC5B;UAAA,CAAC,IAAI,CACH;YAAA,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,CAC9D;YAAA,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,CAAE,CAAA,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,EAAE,IAAI,CACjE;UAAA,EAAE,IAAI,CACR;QAAA,EAAE,GAAG,CAEL;;QAAA,CAAC,oBAAoB,CACrB;QAAA,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,EAAE,CAAC,EAAE,IAAI,CAE7C;;QAAA,CAAC,kBAAkB,CACnB;QAAA,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,KAAK,CAC9B;UAAA,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CACT,CAAC,IAAI,CACH;cAAA,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,CACjD;cAAA,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,CAAG,EAAA,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAC3D;YAAA,EAAE,IAAI,CAAC,CACR,CACH;QAAA,EAAE,IAAI,CAEN;;QAAA,CAAC,WAAW,CACZ;QAAA,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,cAAc,EAAE,CAAC,CAC3B;UAAA,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC,EAAE,IAAI,CACnD;QAAA,EAAE,IAAI,CACR;MAAA,EAAE,GAAG,CAEL;;MAAA,CAAC,YAAY,CACb;MAAA,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAEjB;;MAAA,CAAC,sDAAsD,CACvD;MAAA,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC,CACrB;QAAA,CAAC,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAE7C;;UAAA,CAAC,SAAS,CACV;UAAA,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,KAAK,CAC5B;YAAA,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CACR,CAAC,IAAI,CACH;gBAAA,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,IAAI,CACxF;gBAAA,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,GAAG,CAAC,QAAQ,GAAG,CAAC,CAAC,CAC7C;kBAAA,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,CAAE,CAAA,EAAE,IAAI,CAC7C;kBAAA,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CACzB;oBAAA,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,IAAI,CACtD;kBAAA,EAAE,IAAI,CACN;kBAAA,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,GAAG,CAAC,QAAQ,GAAG,CAAC,CAAC,CAC7C;oBAAA,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,CAC/C;kBAAA,EAAE,IAAI,CACN;kBAAA,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,QAAQ,GAAG,CAAC,CAAC,CAC3B;oBAAA,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,IAAI,CAC1D;kBAAA,EAAE,IAAI,CACR;gBAAA,EAAE,IAAI,CACR;cAAA,EAAE,IAAI,CAAC,CACR,CACH;UAAA,EAAE,IAAI,CACR;QAAA,EAAE,GAAG,CACP;MAAA,EAAE,IAAI,CACR;IAAA,EAAE,GAAG,CAAC,CACP,CAAA;AACH,CAAC"}