xibecode 0.0.9 → 0.1.1

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 (49) hide show
  1. package/README.md +1 -1
  2. package/dist/commands/chat.d.ts +1 -0
  3. package/dist/commands/chat.d.ts.map +1 -1
  4. package/dist/commands/chat.js +132 -49
  5. package/dist/commands/chat.js.map +1 -1
  6. package/dist/commands/config.d.ts.map +1 -1
  7. package/dist/commands/config.js +268 -174
  8. package/dist/commands/config.js.map +1 -1
  9. package/dist/commands/run.d.ts +1 -0
  10. package/dist/commands/run.d.ts.map +1 -1
  11. package/dist/commands/run.js +2 -1
  12. package/dist/commands/run.js.map +1 -1
  13. package/dist/commands/tui.d.ts +9 -0
  14. package/dist/commands/tui.d.ts.map +1 -0
  15. package/dist/commands/tui.js +83 -0
  16. package/dist/commands/tui.js.map +1 -0
  17. package/dist/core/agent.d.ts +14 -1
  18. package/dist/core/agent.d.ts.map +1 -1
  19. package/dist/core/agent.js +98 -4
  20. package/dist/core/agent.js.map +1 -1
  21. package/dist/index.js +3 -1
  22. package/dist/index.js.map +1 -1
  23. package/dist/tui/InkApp.d.ts +21 -0
  24. package/dist/tui/InkApp.d.ts.map +1 -0
  25. package/dist/tui/InkApp.js +146 -0
  26. package/dist/tui/InkApp.js.map +1 -0
  27. package/dist/tui/MarkdownMessage.d.ts +16 -0
  28. package/dist/tui/MarkdownMessage.d.ts.map +1 -0
  29. package/dist/tui/MarkdownMessage.js +63 -0
  30. package/dist/tui/MarkdownMessage.js.map +1 -0
  31. package/dist/tui/blessed-chat.d.ts +9 -0
  32. package/dist/tui/blessed-chat.d.ts.map +1 -0
  33. package/dist/tui/blessed-chat.js +887 -0
  34. package/dist/tui/blessed-chat.js.map +1 -0
  35. package/dist/tui/markdown-to-blessed.d.ts +6 -0
  36. package/dist/tui/markdown-to-blessed.d.ts.map +1 -0
  37. package/dist/tui/markdown-to-blessed.js +26 -0
  38. package/dist/tui/markdown-to-blessed.js.map +1 -0
  39. package/dist/ui/enhanced-tui.js +1 -1
  40. package/dist/ui/enhanced-tui.js.map +1 -1
  41. package/dist/ui/ink/App.d.ts +25 -0
  42. package/dist/ui/ink/App.d.ts.map +1 -0
  43. package/dist/ui/ink/App.js +372 -0
  44. package/dist/ui/ink/App.js.map +1 -0
  45. package/dist/utils/config.d.ts +12 -2
  46. package/dist/utils/config.d.ts.map +1 -1
  47. package/dist/utils/config.js +41 -5
  48. package/dist/utils/config.js.map +1 -1
  49. package/package.json +6 -1
@@ -0,0 +1,63 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Box, Text } from 'ink';
3
+ /**
4
+ * Minimal markdown renderer for the Ink TUI.
5
+ * Keeps dependencies light by supporting just:
6
+ * - paragraphs
7
+ * - headings starting with #
8
+ * - fenced code blocks ``` ```
9
+ * - bullet lists starting with - or *
10
+ *
11
+ * This can be upgraded later to use ink-markdown or remark.
12
+ */
13
+ export function MarkdownMessage({ content }) {
14
+ const lines = content.split('\n');
15
+ const elements = [];
16
+ let inCode = false;
17
+ let codeBuffer = [];
18
+ const flushCode = () => {
19
+ if (!codeBuffer.length)
20
+ return;
21
+ elements.push(_jsx(Box, { flexDirection: "column", children: codeBuffer.map((line, idx) => (_jsx(Text, { color: "magenta", children: line }, idx))) }, `code-${elements.length}`));
22
+ codeBuffer = [];
23
+ };
24
+ lines.forEach((raw, idx) => {
25
+ const line = raw.replace(/\s+$/g, '');
26
+ if (line.trim().startsWith('```')) {
27
+ if (inCode) {
28
+ // closing fence
29
+ flushCode();
30
+ inCode = false;
31
+ }
32
+ else {
33
+ // opening fence
34
+ inCode = true;
35
+ }
36
+ return;
37
+ }
38
+ if (inCode) {
39
+ codeBuffer.push(line);
40
+ return;
41
+ }
42
+ if (!line.trim()) {
43
+ elements.push(_jsx(Text, { children: " " }, `blank-${idx}`));
44
+ return;
45
+ }
46
+ if (line.startsWith('#')) {
47
+ const headingText = line.replace(/^#+\s*/, '');
48
+ elements.push(_jsx(Text, { bold: true, children: headingText }, `h-${idx}`));
49
+ return;
50
+ }
51
+ if (line.trim().startsWith('- ') || line.trim().startsWith('* ')) {
52
+ const item = line.trim().replace(/^[-*]\s+/, '');
53
+ elements.push(_jsxs(Text, { children: ["\u2022 ", item] }, `li-${idx}`));
54
+ return;
55
+ }
56
+ elements.push(_jsx(Text, { children: line }, `p-${idx}`));
57
+ });
58
+ // flush any trailing code block
59
+ flushCode();
60
+ return _jsx(Box, { flexDirection: "column", children: elements });
61
+ }
62
+ export default MarkdownMessage;
63
+ //# sourceMappingURL=MarkdownMessage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MarkdownMessage.js","sourceRoot":"","sources":["../../src/tui/MarkdownMessage.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAMhC;;;;;;;;;GASG;AACH,MAAM,UAAU,eAAe,CAAC,EAAE,OAAO,EAAwB;IAC/D,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAElC,MAAM,QAAQ,GAAsB,EAAE,CAAC;IACvC,IAAI,MAAM,GAAG,KAAK,CAAC;IACnB,IAAI,UAAU,GAAa,EAAE,CAAC;IAE9B,MAAM,SAAS,GAAG,GAAG,EAAE;QACrB,IAAI,CAAC,UAAU,CAAC,MAAM;YAAE,OAAO;QAC/B,QAAQ,CAAC,IAAI,CACX,KAAC,GAAG,IAAiC,aAAa,EAAC,QAAQ,YACxD,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,CAC7B,KAAC,IAAI,IAAW,KAAK,EAAC,SAAS,YAC5B,IAAI,IADI,GAAG,CAEP,CACR,CAAC,IALM,QAAQ,QAAQ,CAAC,MAAM,EAAE,CAM7B,CACP,CAAC;QACF,UAAU,GAAG,EAAE,CAAC;IAClB,CAAC,CAAC;IAEF,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QACzB,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAEtC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;YAClC,IAAI,MAAM,EAAE,CAAC;gBACX,gBAAgB;gBAChB,SAAS,EAAE,CAAC;gBACZ,MAAM,GAAG,KAAK,CAAC;YACjB,CAAC;iBAAM,CAAC;gBACN,gBAAgB;gBAChB,MAAM,GAAG,IAAI,CAAC;YAChB,CAAC;YACD,OAAO;QACT,CAAC;QAED,IAAI,MAAM,EAAE,CAAC;YACX,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACtB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;YACjB,QAAQ,CAAC,IAAI,CAAC,KAAC,IAAI,qBAAM,SAAS,GAAG,EAAE,CAAU,CAAC,CAAC;YACnD,OAAO;QACT,CAAC;QAED,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACzB,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YAC/C,QAAQ,CAAC,IAAI,CACX,KAAC,IAAI,IAAkB,IAAI,kBACxB,WAAW,IADH,KAAK,GAAG,EAAE,CAEd,CACR,CAAC;YACF,OAAO;QACT,CAAC;QAED,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACjE,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;YACjD,QAAQ,CAAC,IAAI,CACX,MAAC,IAAI,0BAAsB,IAAI,KAApB,MAAM,GAAG,EAAE,CAAiB,CACxC,CAAC;YACF,OAAO;QACT,CAAC;QAED,QAAQ,CAAC,IAAI,CAAC,KAAC,IAAI,cAAmB,IAAI,IAAjB,KAAK,GAAG,EAAE,CAAe,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;IAEH,gCAAgC;IAChC,SAAS,EAAE,CAAC;IAEZ,OAAO,KAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,YAAE,QAAQ,GAAO,CAAC;AACtD,CAAC;AAED,eAAe,eAAe,CAAC"}
@@ -0,0 +1,9 @@
1
+ export interface BlessedChatOptions {
2
+ model?: string;
3
+ baseUrl?: string;
4
+ apiKey?: string;
5
+ theme?: string;
6
+ session?: string;
7
+ }
8
+ export declare function runBlessedChat(options: BlessedChatOptions): Promise<void>;
9
+ //# sourceMappingURL=blessed-chat.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"blessed-chat.d.ts","sourceRoot":"","sources":["../../src/tui/blessed-chat.ts"],"names":[],"mappings":"AAiBA,MAAM,WAAW,kBAAkB;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AASD,wBAAsB,cAAc,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAq6B/E"}