@relace-ai/jacq 0.1.1-beta.1 → 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 (106) hide show
  1. package/dist/actions/messages.d.ts +41 -0
  2. package/dist/actions/messages.js +77 -0
  3. package/dist/actions/messages.js.map +1 -0
  4. package/dist/actions/prompts.d.ts +6 -0
  5. package/dist/actions/prompts.js +18 -0
  6. package/dist/actions/prompts.js.map +1 -0
  7. package/dist/actions/tasks.d.ts +13 -0
  8. package/dist/actions/tasks.js +66 -0
  9. package/dist/actions/tasks.js.map +1 -0
  10. package/dist/auth.d.ts +12 -0
  11. package/dist/auth.js +131 -0
  12. package/dist/auth.js.map +1 -0
  13. package/dist/clipboard.d.ts +21 -0
  14. package/dist/clipboard.js +126 -0
  15. package/dist/clipboard.js.map +1 -0
  16. package/dist/commands.d.ts +15 -0
  17. package/dist/commands.js +23 -0
  18. package/dist/commands.js.map +1 -0
  19. package/dist/config.d.ts +12 -0
  20. package/dist/config.js +63 -0
  21. package/dist/config.js.map +1 -0
  22. package/dist/connection.d.ts +43 -0
  23. package/dist/connection.js +231 -0
  24. package/dist/connection.js.map +1 -0
  25. package/dist/constants.d.ts +2 -0
  26. package/dist/constants.js +3 -0
  27. package/dist/constants.js.map +1 -0
  28. package/dist/debug.d.ts +96 -0
  29. package/dist/debug.js +144 -0
  30. package/dist/debug.js.map +1 -0
  31. package/dist/index.d.ts +10 -0
  32. package/dist/index.js +390 -0
  33. package/dist/index.js.map +1 -0
  34. package/dist/markdown/index.d.ts +11 -0
  35. package/dist/markdown/index.js +12 -0
  36. package/dist/markdown/index.js.map +1 -0
  37. package/dist/markdown/parser.d.ts +22 -0
  38. package/dist/markdown/parser.js +310 -0
  39. package/dist/markdown/parser.js.map +1 -0
  40. package/dist/markdown/renderer.d.ts +23 -0
  41. package/dist/markdown/renderer.js +358 -0
  42. package/dist/markdown/renderer.js.map +1 -0
  43. package/dist/markdown/types.d.ts +74 -0
  44. package/dist/markdown/types.js +12 -0
  45. package/dist/markdown/types.js.map +1 -0
  46. package/dist/protocol.d.ts +46 -0
  47. package/dist/protocol.js +608 -0
  48. package/dist/protocol.js.map +1 -0
  49. package/dist/renderer.d.ts +46 -0
  50. package/dist/renderer.js +144 -0
  51. package/dist/renderer.js.map +1 -0
  52. package/dist/screen.d.ts +34 -0
  53. package/dist/screen.js +167 -0
  54. package/dist/screen.js.map +1 -0
  55. package/dist/state.d.ts +6 -0
  56. package/dist/state.js +77 -0
  57. package/dist/state.js.map +1 -0
  58. package/dist/styles.d.ts +16 -0
  59. package/dist/styles.js +68 -0
  60. package/dist/styles.js.map +1 -0
  61. package/dist/terminal.d.ts +46 -0
  62. package/dist/terminal.js +67 -0
  63. package/dist/terminal.js.map +1 -0
  64. package/dist/tools/executor.d.ts +8 -0
  65. package/dist/tools/executor.js +20 -0
  66. package/dist/tools/executor.js.map +1 -0
  67. package/dist/tools/index.d.ts +5 -0
  68. package/dist/tools/index.js +6 -0
  69. package/dist/tools/index.js.map +1 -0
  70. package/dist/tools/registry.d.ts +32 -0
  71. package/dist/tools/registry.js +344 -0
  72. package/dist/tools/registry.js.map +1 -0
  73. package/dist/types.d.ts +200 -0
  74. package/dist/types.js +5 -0
  75. package/dist/types.js.map +1 -0
  76. package/dist/ui/backgroundTasks.d.ts +7 -0
  77. package/dist/ui/backgroundTasks.js +192 -0
  78. package/dist/ui/backgroundTasks.js.map +1 -0
  79. package/dist/ui/filePicker.d.ts +9 -0
  80. package/dist/ui/filePicker.js +315 -0
  81. package/dist/ui/filePicker.js.map +1 -0
  82. package/dist/ui/index.d.ts +33 -0
  83. package/dist/ui/index.js +289 -0
  84. package/dist/ui/index.js.map +1 -0
  85. package/dist/ui/input.d.ts +7 -0
  86. package/dist/ui/input.js +320 -0
  87. package/dist/ui/input.js.map +1 -0
  88. package/dist/ui/messages.d.ts +9 -0
  89. package/dist/ui/messages.js +329 -0
  90. package/dist/ui/messages.js.map +1 -0
  91. package/dist/ui/primitives.d.ts +35 -0
  92. package/dist/ui/primitives.js +94 -0
  93. package/dist/ui/primitives.js.map +1 -0
  94. package/dist/ui/promptInput.d.ts +8 -0
  95. package/dist/ui/promptInput.js +198 -0
  96. package/dist/ui/promptInput.js.map +1 -0
  97. package/dist/ui/promptPicker.d.ts +7 -0
  98. package/dist/ui/promptPicker.js +214 -0
  99. package/dist/ui/promptPicker.js.map +1 -0
  100. package/dist/ui/sessions.d.ts +6 -0
  101. package/dist/ui/sessions.js +214 -0
  102. package/dist/ui/sessions.js.map +1 -0
  103. package/dist/ui/welcome.d.ts +6 -0
  104. package/dist/ui/welcome.js +114 -0
  105. package/dist/ui/welcome.js.map +1 -0
  106. package/package.json +1 -1
@@ -0,0 +1,214 @@
1
+ /**
2
+ * Session Picker Component — full-screen draw() API
3
+ */
4
+ import { drawText, drawHLine } from './primitives.js';
5
+ import { markDirty } from '../state.js';
6
+ import { connection } from '../connection.js';
7
+ import { refreshTasks } from '../protocol.js';
8
+ const MIN_HEIGHT = 10;
9
+ const TASKS_PER_PAGE = 9;
10
+ const sessions = {
11
+ height(state) {
12
+ const tasks = state.tasks || [];
13
+ const totalPages = Math.ceil(tasks.length / TASKS_PER_PAGE) || 1;
14
+ const taskRows = Math.min(tasks.length, TASKS_PER_PAGE);
15
+ const paginationRow = totalPages > 1 ? 2 : 1;
16
+ const contentHeight = 6 + taskRows + paginationRow;
17
+ return Math.max(MIN_HEIGHT, contentHeight);
18
+ },
19
+ draw(screen, y, state, layout, styles) {
20
+ const width = layout.width;
21
+ const tasks = state.tasks || [];
22
+ const componentHeight = this.height(state);
23
+ const totalPages = Math.ceil(tasks.length / TASKS_PER_PAGE) || 1;
24
+ const currentPage = state.sessionPickerPage || 0;
25
+ // Top separator
26
+ drawHLine(screen, 0, y, width, styles.border);
27
+ // Title row
28
+ const running = tasks.filter(t => t.status === 'running' || t.status === 'awaiting_input').length;
29
+ const completed = tasks.filter(t => t.status === 'completed' || t.status === 'failed' || t.status === 'cancelled').length;
30
+ if (running > 0 || completed > 0) {
31
+ const summary = `${running} active \u00b7 ${completed} completed`;
32
+ drawText(screen, 2, y + 1, 'Chats', styles.title);
33
+ drawText(screen, width - summary.length - 2, y + 1, summary, styles.dim);
34
+ }
35
+ else {
36
+ drawText(screen, 2, y + 1, 'Chats', styles.title);
37
+ }
38
+ // New session option
39
+ const isNewSelected = state.sessionPickerIndex === 0;
40
+ const newPrefix = isNewSelected ? ' > ' : ' ';
41
+ drawText(screen, 0, y + 3, newPrefix, styles.value);
42
+ drawText(screen, 4, y + 3, '0.', styles.dim);
43
+ drawText(screen, 7, y + 3, '+ New chat', isNewSelected ? styles.title : styles.text);
44
+ // Task list for current page
45
+ const pageStart = currentPage * TASKS_PER_PAGE;
46
+ const pageEnd = Math.min(pageStart + TASKS_PER_PAGE, tasks.length);
47
+ const pageTasks = tasks.slice(pageStart, pageEnd);
48
+ for (let i = 0; i < pageTasks.length; i++) {
49
+ const task = pageTasks[i];
50
+ const displayIndex = i + 1;
51
+ const isSelected = state.sessionPickerIndex === displayIndex;
52
+ const isCurrent = task.id === state.currentTaskId;
53
+ const row = y + 4 + i;
54
+ const prefix = isSelected ? ' > ' : ' ';
55
+ drawText(screen, 0, row, prefix, styles.value);
56
+ drawText(screen, 4, row, `${displayIndex}.`, styles.dim);
57
+ let col = 7;
58
+ if (isCurrent) {
59
+ drawText(screen, col, row, '[current] ', styles.dim);
60
+ col += 10;
61
+ }
62
+ const maxPromptLen = Math.max(0, width - col - 2);
63
+ const rawPrompt = task.prompt || task.initialPrompt || '';
64
+ const prompt = rawPrompt.replace(/[\r\n\t]+/g, ' ').replace(/\s+/g, ' ').trim().slice(0, maxPromptLen) || 'Untitled';
65
+ drawText(screen, col, row, prompt, isSelected ? styles.title : styles.value);
66
+ }
67
+ // Pagination
68
+ const paginationY = y + 4 + pageTasks.length + 1;
69
+ if (totalPages > 1) {
70
+ drawText(screen, 2, paginationY, `\u2190 Page ${currentPage + 1}/${totalPages} \u2192`, styles.dim);
71
+ }
72
+ // Bottom separator
73
+ const bottomY = y + componentHeight - 2;
74
+ drawHLine(screen, 0, bottomY, width, styles.border);
75
+ // Hints
76
+ const hy = bottomY + 1;
77
+ let hx = 2;
78
+ const gap = ' ';
79
+ if (totalPages > 1) {
80
+ drawText(screen, hx, hy, '\u2191\u2193', styles.value);
81
+ hx += 2;
82
+ drawText(screen, hx, hy, ' navigate', styles.hint);
83
+ hx += 9 + gap.length;
84
+ drawText(screen, hx, hy, '\u2190\u2192', styles.value);
85
+ hx += 2;
86
+ drawText(screen, hx, hy, ' page', styles.hint);
87
+ hx += 5 + gap.length;
88
+ }
89
+ else {
90
+ drawText(screen, hx, hy, '\u2191\u2193', styles.value);
91
+ hx += 2;
92
+ drawText(screen, hx, hy, ' navigate', styles.hint);
93
+ hx += 9 + gap.length;
94
+ }
95
+ drawText(screen, hx, hy, 'Enter', styles.value);
96
+ hx += 5;
97
+ drawText(screen, hx, hy, ' select', styles.hint);
98
+ hx += 7 + gap.length;
99
+ drawText(screen, hx, hy, '#0-9', styles.value);
100
+ hx += 4;
101
+ drawText(screen, hx, hy, ' quick', styles.hint);
102
+ hx += 6 + gap.length;
103
+ drawText(screen, hx, hy, 'Bksp', styles.value);
104
+ hx += 4;
105
+ drawText(screen, hx, hy, ' delete', styles.hint);
106
+ hx += 7 + gap.length;
107
+ drawText(screen, hx, hy, 'Tab/Esc', styles.value);
108
+ hx += 7;
109
+ drawText(screen, hx, hy, ' close', styles.hint);
110
+ },
111
+ handleKey(str, key, state) {
112
+ const tasks = state.tasks || [];
113
+ const totalPages = Math.ceil(tasks.length / TASKS_PER_PAGE) || 1;
114
+ const currentPage = state.sessionPickerPage || 0;
115
+ const pageStart = currentPage * TASKS_PER_PAGE;
116
+ const pageEnd = Math.min(pageStart + TASKS_PER_PAGE, tasks.length);
117
+ const pageTasks = tasks.slice(pageStart, pageEnd);
118
+ const maxIndex = currentPage === 0 ? pageTasks.length : pageTasks.length;
119
+ if (key.name === 'escape') {
120
+ state.overlay = null;
121
+ markDirty();
122
+ return { handled: true };
123
+ }
124
+ if (key.name === 'left' && totalPages > 1) {
125
+ state.sessionPickerPage = currentPage > 0 ? currentPage - 1 : totalPages - 1;
126
+ state.sessionPickerIndex = state.sessionPickerPage === 0 ? 0 : 1;
127
+ markDirty();
128
+ return { handled: true };
129
+ }
130
+ if (key.name === 'right' && totalPages > 1) {
131
+ state.sessionPickerPage = currentPage < totalPages - 1 ? currentPage + 1 : 0;
132
+ state.sessionPickerIndex = state.sessionPickerPage === 0 ? 0 : 1;
133
+ markDirty();
134
+ return { handled: true };
135
+ }
136
+ if (key.name === 'up') {
137
+ const minIndex = currentPage === 0 ? 0 : 1;
138
+ state.sessionPickerIndex = state.sessionPickerIndex > minIndex
139
+ ? state.sessionPickerIndex - 1
140
+ : maxIndex;
141
+ markDirty();
142
+ return { handled: true };
143
+ }
144
+ if (key.name === 'down') {
145
+ const minIndex = currentPage === 0 ? 0 : 1;
146
+ state.sessionPickerIndex = state.sessionPickerIndex < maxIndex
147
+ ? state.sessionPickerIndex + 1
148
+ : minIndex;
149
+ markDirty();
150
+ return { handled: true };
151
+ }
152
+ if (key.name === 'return') {
153
+ if (currentPage === 0 && state.sessionPickerIndex === 0) {
154
+ state.overlay = null;
155
+ state.currentTaskId = null;
156
+ markDirty();
157
+ return { handled: true, action: 'newSession' };
158
+ }
159
+ else {
160
+ const taskIndex = state.sessionPickerIndex - 1;
161
+ const task = pageTasks[taskIndex];
162
+ if (task) {
163
+ state.overlay = null;
164
+ state.currentTaskId = task.id;
165
+ markDirty();
166
+ return { handled: true, action: 'selectTask', taskId: task.id };
167
+ }
168
+ }
169
+ return { handled: true };
170
+ }
171
+ if (key.name === 'backspace' && state.sessionPickerIndex >= 1 && state.sessionPickerIndex <= pageTasks.length) {
172
+ const task = pageTasks[state.sessionPickerIndex - 1];
173
+ if (task) {
174
+ deleteTask(task.id, state);
175
+ }
176
+ return { handled: true };
177
+ }
178
+ if (str === '0') {
179
+ state.overlay = null;
180
+ state.currentTaskId = null;
181
+ markDirty();
182
+ return { handled: true, action: 'newSession' };
183
+ }
184
+ const num = parseInt(str || '', 10);
185
+ if (num >= 1 && num <= 9 && num <= pageTasks.length) {
186
+ const task = pageTasks[num - 1];
187
+ state.overlay = null;
188
+ state.currentTaskId = task.id;
189
+ markDirty();
190
+ return { handled: true, action: 'selectTask', taskId: task.id };
191
+ }
192
+ return { handled: false };
193
+ }
194
+ };
195
+ async function deleteTask(taskId, state) {
196
+ try {
197
+ await connection.request({
198
+ type: 'task.delete',
199
+ taskId,
200
+ }, 5000);
201
+ if (state.currentTaskId === taskId) {
202
+ state.currentTaskId = null;
203
+ }
204
+ if (state.sessionPickerIndex > (state.tasks || []).length - 1) {
205
+ state.sessionPickerIndex = Math.max(0, state.sessionPickerIndex - 1);
206
+ }
207
+ refreshTasks();
208
+ }
209
+ catch {
210
+ // Silently fail
211
+ }
212
+ }
213
+ export default sessions;
214
+ //# sourceMappingURL=sessions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sessions.js","sourceRoot":"","sources":["../../src/ui/sessions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Welcome Box Component — full-screen draw() API
3
+ */
4
+ import type { UIComponent } from '../types.js';
5
+ declare const welcome: UIComponent;
6
+ export default welcome;
@@ -0,0 +1,114 @@
1
+ /**
2
+ * Welcome Box Component — full-screen draw() API
3
+ */
4
+ import { drawText, drawBox } from './primitives.js';
5
+ const BOX_HEIGHT = 9;
6
+ const HEIGHT = BOX_HEIGHT + 1;
7
+ const welcome = {
8
+ height(state) {
9
+ return state.showWelcome ? HEIGHT : 0;
10
+ },
11
+ draw(screen, y, state, layout, styles) {
12
+ if (!state.showWelcome)
13
+ return;
14
+ const width = layout.width;
15
+ const totalWidth = Math.min(width - 2, 90);
16
+ const unitWidth = Math.floor(totalWidth / 10);
17
+ const leftWidth = unitWidth * 4;
18
+ const midWidth = unitWidth * 3;
19
+ const rightWidth = totalWidth - leftWidth - midWidth;
20
+ const startX = 1;
21
+ // Left box — branding + connection
22
+ drawBox(screen, startX, y, leftWidth, BOX_HEIGHT, styles.border);
23
+ const title = 'jacq';
24
+ const subtitle = ' by Relace';
25
+ const fullTitle = title + subtitle;
26
+ const titleX = startX + Math.floor((leftWidth - fullTitle.length) / 2);
27
+ drawText(screen, titleX, y + 1, title, styles.title);
28
+ drawText(screen, titleX + title.length, y + 1, subtitle, styles.dim);
29
+ const infoX = startX + 2;
30
+ drawText(screen, infoX, y + 3, 'Server:', styles.label);
31
+ const shortUrl = state.serverUrl.replace('ws://', '').replace('wss://', '').replace('/ws', '');
32
+ drawText(screen, infoX + 8, y + 3, shortUrl.slice(0, leftWidth - 12), styles.dim);
33
+ drawText(screen, infoX, y + 4, 'Status:', styles.label);
34
+ if (state.authInProgress) {
35
+ const dot = state.blinkVisible ? '○' : '●';
36
+ drawText(screen, infoX + 8, y + 4, `${dot} ${state.authMessage || 'Authenticating...'}`, styles.dim);
37
+ }
38
+ else if (!state.authenticated) {
39
+ drawText(screen, infoX + 8, y + 4, 'Not logged in', styles.dim);
40
+ }
41
+ else if (state.connected) {
42
+ drawText(screen, infoX + 8, y + 4, 'Connected', styles.connected);
43
+ }
44
+ else {
45
+ const dot = state.blinkVisible ? '○' : '●';
46
+ drawText(screen, infoX + 8, y + 4, `${dot} Connecting`, styles.dim);
47
+ }
48
+ drawText(screen, infoX, y + 5, 'User:', styles.label);
49
+ if (!state.authenticated) {
50
+ drawText(screen, infoX + 8, y + 5, 'Type /login', styles.value);
51
+ }
52
+ else if (state.userName) {
53
+ drawText(screen, infoX + 8, y + 5, state.userName, styles.value);
54
+ }
55
+ else {
56
+ drawText(screen, infoX + 8, y + 5, '—', styles.dim);
57
+ }
58
+ drawText(screen, infoX, y + 7, '^C to quit', styles.dim);
59
+ if (state.authenticated) {
60
+ // Middle box — sessions
61
+ const midX = startX + leftWidth;
62
+ drawBox(screen, midX, y, midWidth, BOX_HEIGHT, styles.border);
63
+ drawText(screen, midX + 2, y + 1, 'Chats', styles.title);
64
+ const tasks = state.tasks || [];
65
+ if (tasks.length > 0) {
66
+ const maxPrompt = midWidth - 6;
67
+ let ty = 3;
68
+ for (const task of tasks.slice(0, 2)) {
69
+ const prompt = (task.prompt || task.initialPrompt || '').replace(/\s+/g, ' ').trim().slice(0, maxPrompt);
70
+ drawText(screen, midX + 2, y + ty, prompt || 'Untitled', styles.value);
71
+ ty++;
72
+ }
73
+ if (tasks.length > 2) {
74
+ drawText(screen, midX + 2, y + ty, `+${tasks.length - 2} more`, styles.dim);
75
+ }
76
+ }
77
+ else if (!state.tasksLoaded) {
78
+ drawText(screen, midX + 2, y + 3, 'Loading...', styles.dim);
79
+ }
80
+ else {
81
+ drawText(screen, midX + 2, y + 3, 'No chats yet', styles.dim);
82
+ }
83
+ drawText(screen, midX + 2, y + 7, 'Tab for chats', styles.dim);
84
+ // Right box — widgets
85
+ const rightX = midX + midWidth;
86
+ drawBox(screen, rightX, y, rightWidth, BOX_HEIGHT, styles.border);
87
+ drawText(screen, rightX + 2, y + 1, 'Widgets', styles.title);
88
+ const widgets = state.widgets || [];
89
+ if (widgets.length > 0) {
90
+ let ty = 3;
91
+ for (const widget of widgets.slice(0, 2)) {
92
+ const widgetTitle = (widget.title || 'Untitled').slice(0, rightWidth - 6);
93
+ drawText(screen, rightX + 2, y + ty, widgetTitle, styles.value);
94
+ ty++;
95
+ }
96
+ if (widgets.length > 2) {
97
+ drawText(screen, rightX + 2, y + ty, `+${widgets.length - 2} more`, styles.dim);
98
+ }
99
+ }
100
+ else if (!state.connected) {
101
+ drawText(screen, rightX + 2, y + 3, 'Loading...', styles.dim);
102
+ }
103
+ else {
104
+ drawText(screen, rightX + 2, y + 3, 'No widgets yet', styles.dim);
105
+ }
106
+ drawText(screen, rightX + 2, y + 7, '^W for widgets', styles.dim);
107
+ }
108
+ },
109
+ handleKey(_str, _key, _state) {
110
+ return { handled: false };
111
+ }
112
+ };
113
+ export default welcome;
114
+ //# sourceMappingURL=welcome.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"welcome.js","sourceRoot":"","sources":["../../src/ui/welcome.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@relace-ai/jacq",
3
- "version": "0.1.1-beta.1",
3
+ "version": "0.1.1",
4
4
  "description": "TUI coding agent by Relace",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",