@relace-ai/jacq 0.1.2-beta.4 → 0.1.2-beta.6

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 (94) hide show
  1. package/dist/actions/messages.d.ts +16 -16
  2. package/dist/actions/messages.js +47 -29
  3. package/dist/actions/messages.js.map +1 -1
  4. package/dist/actions/tasks.d.ts +1 -2
  5. package/dist/actions/tasks.js +8 -8
  6. package/dist/actions/tasks.js.map +1 -1
  7. package/dist/approvalGate.d.ts +42 -0
  8. package/dist/approvalGate.js +140 -0
  9. package/dist/approvalGate.js.map +1 -0
  10. package/dist/approvals.d.ts +21 -0
  11. package/dist/approvals.js +79 -0
  12. package/dist/approvals.js.map +1 -0
  13. package/dist/auth.d.ts +1 -0
  14. package/dist/auth.js +3 -0
  15. package/dist/auth.js.map +1 -1
  16. package/dist/charWidth.d.ts +7 -0
  17. package/dist/charWidth.js +24 -19
  18. package/dist/charWidth.js.map +1 -1
  19. package/dist/clipboard.d.ts +0 -5
  20. package/dist/clipboard.js +0 -5
  21. package/dist/clipboard.js.map +1 -1
  22. package/dist/commands.js +3 -2
  23. package/dist/commands.js.map +1 -1
  24. package/dist/config.d.ts +2 -1
  25. package/dist/config.js +17 -10
  26. package/dist/config.js.map +1 -1
  27. package/dist/connection.d.ts +2 -0
  28. package/dist/connection.js +199 -6
  29. package/dist/connection.js.map +1 -1
  30. package/dist/index.js +196 -34
  31. package/dist/index.js.map +1 -1
  32. package/dist/markdown/parser.js +248 -60
  33. package/dist/markdown/parser.js.map +1 -1
  34. package/dist/markdown/renderer.d.ts +3 -3
  35. package/dist/markdown/renderer.js +254 -108
  36. package/dist/markdown/renderer.js.map +1 -1
  37. package/dist/markdown/types.d.ts +4 -1
  38. package/dist/markdown/types.js.map +1 -1
  39. package/dist/protocol.d.ts +0 -2
  40. package/dist/protocol.js +137 -98
  41. package/dist/protocol.js.map +1 -1
  42. package/dist/renderer.js +4 -0
  43. package/dist/renderer.js.map +1 -1
  44. package/dist/startupAnimation.d.ts +4 -0
  45. package/dist/startupAnimation.js +326 -0
  46. package/dist/startupAnimation.js.map +1 -0
  47. package/dist/state.js +23 -5
  48. package/dist/state.js.map +1 -1
  49. package/dist/styles.js +4 -1
  50. package/dist/styles.js.map +1 -1
  51. package/dist/terminal.d.ts +9 -0
  52. package/dist/terminal.js +15 -0
  53. package/dist/terminal.js.map +1 -1
  54. package/dist/tools/registry.js +138 -13
  55. package/dist/tools/registry.js.map +1 -1
  56. package/dist/types.d.ts +57 -21
  57. package/dist/types.js +3 -1
  58. package/dist/types.js.map +1 -1
  59. package/dist/ui/config.d.ts +6 -0
  60. package/dist/ui/config.js +53 -0
  61. package/dist/ui/config.js.map +1 -0
  62. package/dist/ui/diffViewer.d.ts +9 -0
  63. package/dist/ui/diffViewer.js +320 -0
  64. package/dist/ui/diffViewer.js.map +1 -0
  65. package/dist/ui/index.js +40 -21
  66. package/dist/ui/index.js.map +1 -1
  67. package/dist/ui/input.d.ts +1 -1
  68. package/dist/ui/input.js +40 -15
  69. package/dist/ui/input.js.map +1 -1
  70. package/dist/ui/localCommands.d.ts +8 -0
  71. package/dist/ui/localCommands.js +267 -0
  72. package/dist/ui/localCommands.js.map +1 -0
  73. package/dist/ui/messages.js +195 -93
  74. package/dist/ui/messages.js.map +1 -1
  75. package/dist/ui/primitives.js +2 -1
  76. package/dist/ui/primitives.js.map +1 -1
  77. package/dist/ui/promptInput.js +42 -8
  78. package/dist/ui/promptInput.js.map +1 -1
  79. package/dist/ui/promptPicker.js +3 -4
  80. package/dist/ui/promptPicker.js.map +1 -1
  81. package/dist/ui/resumeTask.d.ts +6 -0
  82. package/dist/ui/resumeTask.js +136 -0
  83. package/dist/ui/resumeTask.js.map +1 -0
  84. package/dist/ui/sessions.js +2 -2
  85. package/dist/ui/sessions.js.map +1 -1
  86. package/dist/ui/welcome.js +22 -35
  87. package/dist/ui/welcome.js.map +1 -1
  88. package/dist/utils/resolvePath.d.ts +10 -0
  89. package/dist/utils/resolvePath.js +24 -0
  90. package/dist/utils/resolvePath.js.map +1 -0
  91. package/package.json +7 -4
  92. package/dist/ui/backgroundTasks.d.ts +0 -7
  93. package/dist/ui/backgroundTasks.js +0 -192
  94. package/dist/ui/backgroundTasks.js.map +0 -1
@@ -7,19 +7,7 @@ import fs from 'fs';
7
7
  import path from 'path';
8
8
  import { execFileSync, spawn } from 'child_process';
9
9
  import { glob } from 'glob';
10
- /**
11
- * Resolve a path, expanding ~ and handling absolute paths.
12
- */
13
- function resolvePath(inputPath, cwd) {
14
- if (!inputPath || inputPath === '.')
15
- return cwd;
16
- let expanded = inputPath;
17
- if (expanded.startsWith('~/') || expanded === '~') {
18
- const home = process.env.HOME || process.env.USERPROFILE || '';
19
- expanded = expanded === '~' ? home : path.join(home, expanded.slice(2));
20
- }
21
- return path.isAbsolute(expanded) ? path.resolve(expanded) : path.resolve(cwd, expanded);
22
- }
10
+ import { resolvePath } from '../utils/resolvePath.js';
23
11
  /**
24
12
  * Tool definitions announced to the server.
25
13
  */
@@ -89,6 +77,43 @@ export const TOOL_DEFINITIONS = [
89
77
  required: ['pattern'],
90
78
  },
91
79
  },
80
+ {
81
+ name: 'edit_file',
82
+ description: 'Edit a file by replacing a specific string',
83
+ inputSchema: {
84
+ type: 'object',
85
+ properties: {
86
+ path: { type: 'string', description: 'File path' },
87
+ old_string: { type: 'string', description: 'The exact string to find and replace' },
88
+ new_string: { type: 'string', description: 'The string to replace it with' },
89
+ replace_all: { type: 'boolean', description: 'Replace all occurrences (default: false)' },
90
+ },
91
+ required: ['path', 'old_string', 'new_string'],
92
+ },
93
+ },
94
+ {
95
+ name: 'copy_file',
96
+ description: 'Copy a file from source to destination',
97
+ inputSchema: {
98
+ type: 'object',
99
+ properties: {
100
+ source: { type: 'string', description: 'Source file path' },
101
+ destination: { type: 'string', description: 'Destination file path' },
102
+ },
103
+ required: ['source', 'destination'],
104
+ },
105
+ },
106
+ {
107
+ name: 'delete_file',
108
+ description: 'Delete a file or empty directory',
109
+ inputSchema: {
110
+ type: 'object',
111
+ properties: {
112
+ path: { type: 'string', description: 'Path to file or directory' },
113
+ },
114
+ required: ['path'],
115
+ },
116
+ },
92
117
  {
93
118
  name: 'bash',
94
119
  description: 'Run a shell command',
@@ -296,6 +321,106 @@ export const TOOL_IMPLEMENTATIONS = {
296
321
  return { success: false, error: `Error in grep: ${err}` };
297
322
  }
298
323
  },
324
+ async edit_file(args, cwd) {
325
+ try {
326
+ const filePath = resolvePath(args.path, cwd);
327
+ if (!fs.existsSync(filePath)) {
328
+ return { success: false, error: `Error: file does not exist: ${args.path}` };
329
+ }
330
+ const stat = fs.statSync(filePath);
331
+ if (stat.isDirectory()) {
332
+ return { success: false, error: `Error: path is a directory, not a file: ${args.path}` };
333
+ }
334
+ const oldString = args.old_string;
335
+ const newString = args.new_string;
336
+ const replaceAll = args.replace_all || false;
337
+ if (oldString === '') {
338
+ return { success: false, error: 'Error: old_string cannot be empty' };
339
+ }
340
+ const content = fs.readFileSync(filePath, 'utf-8');
341
+ // Count occurrences
342
+ let count = 0;
343
+ let idx = 0;
344
+ while ((idx = content.indexOf(oldString, idx)) !== -1) {
345
+ count++;
346
+ idx += oldString.length;
347
+ }
348
+ if (count === 0) {
349
+ const lines = content.split('\n').slice(0, 20);
350
+ let preview = lines.join('\n');
351
+ if (content.split('\n').length > 20)
352
+ preview += '\n... (truncated)';
353
+ return { success: false, error: `Error: old_string not found in ${args.path}.\n\nFile starts with:\n${preview}` };
354
+ }
355
+ if (count > 1 && !replaceAll) {
356
+ return { success: false, error: `Error: old_string appears ${count} times in ${args.path}. Use replace_all=true to replace all, or provide a more specific string.` };
357
+ }
358
+ let newContent;
359
+ if (replaceAll) {
360
+ newContent = content.split(oldString).join(newString);
361
+ }
362
+ else {
363
+ const pos = content.indexOf(oldString);
364
+ newContent = content.slice(0, pos) + newString + content.slice(pos + oldString.length);
365
+ }
366
+ fs.writeFileSync(filePath, newContent, 'utf-8');
367
+ if (replaceAll && count > 1) {
368
+ return { success: true, result: `Edited ${args.path}: replaced ${count} occurrences` };
369
+ }
370
+ return { success: true, result: `Edited ${args.path}: replaced 1 occurrence` };
371
+ }
372
+ catch (err) {
373
+ return { success: false, error: `Error editing file: ${err}` };
374
+ }
375
+ },
376
+ async copy_file(args, cwd) {
377
+ try {
378
+ const source = resolvePath(args.source, cwd);
379
+ const destination = resolvePath(args.destination, cwd);
380
+ if (!fs.existsSync(source)) {
381
+ return { success: false, error: `Error: source does not exist: ${args.source}` };
382
+ }
383
+ const srcStat = fs.statSync(source);
384
+ if (!srcStat.isFile()) {
385
+ return { success: false, error: `Error: source is not a file: ${args.source}` };
386
+ }
387
+ // If destination is a directory, copy into it with source filename
388
+ let destPath = destination;
389
+ if (fs.existsSync(destination) && fs.statSync(destination).isDirectory()) {
390
+ destPath = path.join(destination, path.basename(source));
391
+ }
392
+ fs.mkdirSync(path.dirname(destPath), { recursive: true });
393
+ fs.copyFileSync(source, destPath);
394
+ const relDest = path.relative(cwd, destPath) || destPath;
395
+ return { success: true, result: `Copied ${args.source} -> ${relDest}` };
396
+ }
397
+ catch (err) {
398
+ return { success: false, error: `Error copying file: ${err}` };
399
+ }
400
+ },
401
+ async delete_file(args, cwd) {
402
+ try {
403
+ const filePath = resolvePath(args.path, cwd);
404
+ if (!fs.existsSync(filePath)) {
405
+ return { success: false, error: `Error: path does not exist: ${args.path}` };
406
+ }
407
+ const stat = fs.statSync(filePath);
408
+ if (stat.isDirectory()) {
409
+ const entries = fs.readdirSync(filePath);
410
+ if (entries.length > 0) {
411
+ return { success: false, error: `Error: directory not empty: ${args.path}` };
412
+ }
413
+ fs.rmdirSync(filePath);
414
+ }
415
+ else {
416
+ fs.unlinkSync(filePath);
417
+ }
418
+ return { success: true, result: `Deleted: ${args.path}` };
419
+ }
420
+ catch (err) {
421
+ return { success: false, error: `Error deleting: ${err}` };
422
+ }
423
+ },
299
424
  async bash(args, cwd) {
300
425
  const command = args.command;
301
426
  const timeout = Math.min(args.timeout || 30, 300) * 1000;
@@ -1 +1 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/tools/registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/tools/registry.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  /**
2
2
  * Central type definitions for the client
3
3
  */
4
+ export declare function assertNever(x: never): never;
4
5
  export interface DamageRect {
5
6
  x: number;
6
7
  y: number;
@@ -19,6 +20,7 @@ export interface CellChange extends CellInfo {
19
20
  export interface StyleSpec {
20
21
  color?: string;
21
22
  bg?: string;
23
+ bgRgb?: [number, number, number];
22
24
  bold?: boolean;
23
25
  dim?: boolean;
24
26
  italic?: boolean;
@@ -42,8 +44,9 @@ export interface StyledLine {
42
44
  segments?: LineSegment[];
43
45
  links?: LineLink[];
44
46
  }
45
- export type ActivityPhase = 'idle' | 'submitting' | 'waiting_for_first_step' | 'resuming_from_prompt' | 'streaming' | 'awaiting_prompt' | 'cancelling';
46
- export type OverlayType = 'sessions' | 'widgets' | 'filePicker' | null;
47
+ export type StatusKind = 'done' | 'cancelled' | 'failed' | 'suspended' | 'resumed' | 'info';
48
+ export type ActivityPhase = 'idle' | 'submitting' | 'waiting_for_step' | 'resuming_from_prompt' | 'streaming' | 'awaiting_prompt' | 'cancelling';
49
+ export type OverlayType = 'sessions' | 'filePicker' | 'localCommands' | 'diffViewer' | 'resumeTask' | 'config' | null;
47
50
  export interface Layout {
48
51
  width: number;
49
52
  height: number;
@@ -60,21 +63,40 @@ export interface ToolCall {
60
63
  name: string;
61
64
  toolUseId?: string;
62
65
  args?: Record<string, unknown>;
66
+ target?: string;
67
+ source?: string;
63
68
  }
64
- export interface Message {
69
+ interface MessageBase {
65
70
  id: string;
66
- type: 'user' | 'agent' | 'tool' | 'status' | 'error';
67
71
  content: string;
68
72
  taskId?: string;
69
- toolCalls?: ToolCall[] | null;
70
- agentMessage?: string | null;
71
- tokens?: {
73
+ timestamp: number;
74
+ }
75
+ export interface UserMessage extends MessageBase {
76
+ type: 'user';
77
+ }
78
+ export interface AgentMessage extends MessageBase {
79
+ type: 'agent';
80
+ }
81
+ export interface ToolMessage extends MessageBase {
82
+ type: 'tool';
83
+ toolCalls: ToolCall[];
84
+ agentMessage: string | null;
85
+ tokens: {
72
86
  input: number;
73
87
  output: number;
74
88
  } | null;
89
+ }
90
+ export interface StatusMessage extends MessageBase {
91
+ type: 'status';
92
+ statusKind: StatusKind;
75
93
  linkUrl?: string;
76
- timestamp: number;
77
94
  }
95
+ export interface ErrorMessage extends MessageBase {
96
+ type: 'error';
97
+ statusKind?: StatusKind;
98
+ }
99
+ export type Message = UserMessage | AgentMessage | ToolMessage | StatusMessage | ErrorMessage;
78
100
  export interface TaskTokens {
79
101
  input: number;
80
102
  output: number;
@@ -84,11 +106,11 @@ export interface TaskTokens {
84
106
  export interface Task {
85
107
  id: string;
86
108
  status: string;
87
- prompt?: string;
109
+ prompt: string;
88
110
  initialPrompt?: string;
89
- step?: number;
111
+ currentStep: number;
90
112
  tokens?: TaskTokens;
91
- updatedAt?: string;
113
+ updatedAt: string;
92
114
  }
93
115
  export interface PromptQuestion {
94
116
  question: string;
@@ -101,17 +123,13 @@ export interface PromptQuestion {
101
123
  export interface PendingPrompt {
102
124
  taskId: string;
103
125
  promptId: string;
126
+ promptType?: 'ask_user' | 'wait_for_client';
104
127
  toolUseId: string;
105
128
  questions: PromptQuestion[];
106
129
  currentQuestionIndex: number;
107
130
  answers: Record<string, string>;
108
131
  contextMessage?: string | null;
109
132
  }
110
- export interface Widget {
111
- id: string;
112
- title: string;
113
- width?: number;
114
- }
115
133
  export interface FilePickerEntry {
116
134
  name: string;
117
135
  path: string;
@@ -124,11 +142,13 @@ export interface AppState {
124
142
  pastedBlocks: PastedBlock[];
125
143
  nextPasteId: number;
126
144
  connected: boolean;
145
+ wasConnected: boolean;
127
146
  serverUrl: string;
128
147
  clientId: string | null;
129
148
  serverStatus: unknown;
130
149
  messages: Message[];
131
150
  streamBuffer: string;
151
+ liveStepMessageIds: Record<string, string>;
132
152
  tasksLoaded: boolean;
133
153
  tasks: Task[];
134
154
  currentTaskId: string | null;
@@ -162,13 +182,27 @@ export interface AppState {
162
182
  mimeType?: string;
163
183
  path?: string;
164
184
  }>;
165
- widgets: Widget[];
166
- widgetsIndex: number;
167
- widgetsPage: number;
168
- widgetsLoaded: boolean;
185
+ diffViewerIndex: number;
186
+ diffViewerFullscreen: boolean;
187
+ diffViewerScrollOffset: number;
188
+ diffViewerFileName: string | null;
189
+ diffViewerOldContent: string | null;
190
+ diffViewerNewContent: string | null;
191
+ diffViewerSuggestedDir: string | null;
192
+ resumeTaskIndex: number;
193
+ resumeTaskId: string | null;
194
+ localCommandsIndex: number;
195
+ localCommandsProposed: string | null;
196
+ localCommandsDir: string | null;
197
+ localCommandsFullscreen: boolean;
198
+ localCommandsScrollOffset: number;
199
+ localCommandsDescription: string | null;
200
+ localCommandsSuggestedPrefix: string | null;
201
+ localCommandsTitle: string | null;
169
202
  authenticated: boolean;
170
203
  authInProgress: boolean;
171
204
  authMessage: string | null;
205
+ authDenied: boolean;
172
206
  userName: string | null;
173
207
  blinkVisible: boolean;
174
208
  lastBlinkTime: number;
@@ -181,9 +215,10 @@ export interface KeyInfo {
181
215
  shift?: boolean;
182
216
  sequence?: string;
183
217
  }
218
+ export type KeyAction = 'quit' | 'submit' | 'promptResponse' | 'selectTask' | 'newSession' | 'attachFiles' | 'localCommandApprove' | 'localCommandAllowlist' | 'localCommandReject' | 'editApprove' | 'editAllowAll' | 'editReject' | 'resumeTask' | 'cancelSuspendedTask' | 'resumeTaskBack' | 'login' | 'logout';
184
219
  export interface KeyResult {
185
220
  handled?: boolean;
186
- action?: string;
221
+ action?: KeyAction;
187
222
  text?: string;
188
223
  response?: string;
189
224
  taskId?: string;
@@ -200,3 +235,4 @@ export interface UIComponent {
200
235
  draw(screen: import('./screen.js').Screen, y: number, state: AppState, layout: Layout, styles: StyleMap): void;
201
236
  handleKey(str: string | undefined, key: KeyInfo, state: AppState): KeyResult;
202
237
  }
238
+ export {};
package/dist/types.js CHANGED
@@ -1,5 +1,7 @@
1
1
  /**
2
2
  * Central type definitions for the client
3
3
  */
4
- export {};
4
+ export function assertNever(x) {
5
+ throw new Error(`Unexpected value: ${x}`);
6
+ }
5
7
  //# sourceMappingURL=types.js.map
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,UAAU,WAAW,CAAC,CAAQ;IAChC,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,EAAE,CAAC,CAAC;AAC9C,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Config Overlay Component
3
+ */
4
+ import type { UIComponent } from '../types.js';
5
+ declare const config: UIComponent;
6
+ export default config;
@@ -0,0 +1,53 @@
1
+ /**
2
+ * Config Overlay Component
3
+ */
4
+ import { drawText, drawHLine } from './primitives.js';
5
+ import { markDirty } from '../state.js';
6
+ import { createRequire } from 'module';
7
+ const require = createRequire(import.meta.url);
8
+ const { version: CLIENT_VERSION } = require('../../package.json');
9
+ const STATUS_ROWS = 4;
10
+ const config = {
11
+ height(_state) {
12
+ // top border + title + blank + status rows + bottom border + hints
13
+ return 2 + 1 + 1 + STATUS_ROWS + 1 + 1;
14
+ },
15
+ draw(screen, y, state, layout, styles) {
16
+ const width = layout.width;
17
+ // Top separator
18
+ drawHLine(screen, 0, y, width, styles.border);
19
+ // Title
20
+ drawText(screen, 2, y + 1, 'Config', styles.title);
21
+ // Status rows
22
+ const contentY = y + 3;
23
+ const labelCol = 4;
24
+ const valueCol = 14;
25
+ drawText(screen, labelCol, contentY, 'Version', styles.dim);
26
+ drawText(screen, valueCol, contentY, `v${CLIENT_VERSION}`, styles.value);
27
+ drawText(screen, labelCol, contentY + 1, 'Status', styles.dim);
28
+ const status = state.connected ? 'Connected' : 'Disconnected';
29
+ drawText(screen, valueCol, contentY + 1, status, state.connected ? styles.connected : styles.value);
30
+ drawText(screen, labelCol, contentY + 2, 'User', styles.dim);
31
+ const user = state.userName || (state.authenticated ? 'Authenticated' : 'Not logged in');
32
+ drawText(screen, valueCol, contentY + 2, user, styles.value);
33
+ drawText(screen, labelCol, contentY + 3, 'Server', styles.dim);
34
+ const maxServerLen = Math.max(0, width - valueCol - 2);
35
+ drawText(screen, valueCol, contentY + 3, state.serverUrl.slice(0, maxServerLen), styles.value);
36
+ // Bottom separator
37
+ const bottomY = y + this.height(state) - 2;
38
+ drawHLine(screen, 0, bottomY, width, styles.border);
39
+ // Hints
40
+ drawText(screen, 2, bottomY + 1, 'Esc', styles.value);
41
+ drawText(screen, 5, bottomY + 1, ' close', styles.hint);
42
+ },
43
+ handleKey(_str, key, state) {
44
+ if (key.name === 'escape') {
45
+ state.overlay = null;
46
+ markDirty();
47
+ return { handled: true };
48
+ }
49
+ return { handled: false };
50
+ }
51
+ };
52
+ export default config;
53
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/ui/config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Diff Viewer Component — renders unified diffs in the terminal
3
+ *
4
+ * Uses @pierre/diffs for diff computation, renders to screen buffer.
5
+ * Two modes: compact (default, height-capped) and fullscreen (Ctrl+E, scrollable).
6
+ */
7
+ import type { UIComponent } from '../types.js';
8
+ declare const diffViewer: UIComponent;
9
+ export default diffViewer;