@vetala/vetala 0.4.1-dev → 0.5.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 (63) hide show
  1. package/README.md +16 -22
  2. package/dist/src/agent.d.ts +5 -0
  3. package/dist/src/agent.js +26 -35
  4. package/dist/src/agent.js.map +1 -1
  5. package/dist/src/app-meta.d.ts +1 -1
  6. package/dist/src/app-meta.js +1 -1
  7. package/dist/src/app-meta.js.map +1 -1
  8. package/dist/src/cli.js +10 -2
  9. package/dist/src/cli.js.map +1 -1
  10. package/dist/src/config.d.ts +2 -0
  11. package/dist/src/config.js +294 -24
  12. package/dist/src/config.js.map +1 -1
  13. package/dist/src/context-files.d.ts +3 -0
  14. package/dist/src/context-files.js +127 -0
  15. package/dist/src/context-files.js.map +1 -0
  16. package/dist/src/context-memory.d.ts +2 -2
  17. package/dist/src/context-memory.js +34 -26
  18. package/dist/src/context-memory.js.map +1 -1
  19. package/dist/src/edit-history.d.ts +2 -2
  20. package/dist/src/edit-history.js +3 -3
  21. package/dist/src/edit-history.js.map +1 -1
  22. package/dist/src/edits/diff.d.ts +2 -1
  23. package/dist/src/edits/diff.js +12 -1
  24. package/dist/src/edits/diff.js.map +1 -1
  25. package/dist/src/history-store.d.ts +2 -0
  26. package/dist/src/history-store.js +69 -0
  27. package/dist/src/history-store.js.map +1 -0
  28. package/dist/src/ipc-backend.js +215 -29
  29. package/dist/src/ipc-backend.js.map +1 -1
  30. package/dist/src/ipc-ui.d.ts +2 -1
  31. package/dist/src/ipc-ui.js +19 -2
  32. package/dist/src/ipc-ui.js.map +1 -1
  33. package/dist/src/memories/pipeline.d.ts +3 -0
  34. package/dist/src/memories/pipeline.js +376 -0
  35. package/dist/src/memories/pipeline.js.map +1 -0
  36. package/dist/src/terminal-ui.js +4 -0
  37. package/dist/src/terminal-ui.js.map +1 -1
  38. package/dist/src/tools/advanced.js +16 -3
  39. package/dist/src/tools/advanced.js.map +1 -1
  40. package/dist/src/tools/filesystem.js +8 -6
  41. package/dist/src/tools/filesystem.js.map +1 -1
  42. package/dist/src/tools/languages.d.ts +14 -0
  43. package/dist/src/tools/languages.js +249 -0
  44. package/dist/src/tools/languages.js.map +1 -0
  45. package/dist/src/tools/lsp.js +156 -44
  46. package/dist/src/tools/lsp.js.map +1 -1
  47. package/dist/src/tools/repo-search.d.ts +3 -0
  48. package/dist/src/tools/repo-search.js +14 -2
  49. package/dist/src/tools/repo-search.js.map +1 -1
  50. package/dist/src/tools/tree-sitter-check.d.ts +12 -0
  51. package/dist/src/tools/tree-sitter-check.js +153 -0
  52. package/dist/src/tools/tree-sitter-check.js.map +1 -0
  53. package/dist/src/types.d.ts +47 -1
  54. package/dist/src/xdg.d.ts +6 -0
  55. package/dist/src/xdg.js +13 -2
  56. package/dist/src/xdg.js.map +1 -1
  57. package/package.json +3 -2
  58. package/tui/vetala-darwin-arm64 +0 -0
  59. package/tui/vetala-darwin-x64 +0 -0
  60. package/tui/vetala-linux-arm64 +0 -0
  61. package/tui/vetala-linux-x64 +0 -0
  62. package/tui/vetala-win32-arm64.exe +0 -0
  63. package/tui/vetala-win32-x64.exe +0 -0
@@ -7,7 +7,9 @@ import { PathPolicy } from "./path-policy.js";
7
7
  import { SessionStore } from "./session-store.js";
8
8
  import { SkillRuntime } from "./skills/runtime.js";
9
9
  import { createToolRegistry } from "./tools/index.js";
10
+ import { createSearchProvider } from "./search-provider.js";
10
11
  import { detectRuntimeHostProfile } from "./runtime-profile.js";
12
+ import { startMemoriesPipeline } from "./memories/pipeline.js";
11
13
  async function main() {
12
14
  // Parse workspace from args
13
15
  const args = process.argv.slice(2);
@@ -36,9 +38,12 @@ async function main() {
36
38
  catch {
37
39
  session = await store.createSession(workspace, config.defaultProvider, config.defaultModel);
38
40
  }
39
- // Send the initial ready message with dashboard data
40
- ui.sendReady(session);
41
- ui.sendStatus("Ready");
41
+ startMemoriesPipeline(config, store);
42
+ const sendReady = (s) => {
43
+ const profile = config.providers[s.provider];
44
+ const isLoggedIn = !!(profile && profile.authValue);
45
+ ui.sendReady(s, isLoggedIn);
46
+ };
42
47
  const skills = new SkillRuntime({
43
48
  getSession: () => session,
44
49
  sessionStore: store
@@ -49,10 +54,13 @@ async function main() {
49
54
  terminal: false
50
55
  });
51
56
  let activeAgent = null;
57
+ let lastInterruptedPrompt = null;
52
58
  // Pending approval resolution
53
59
  let pendingApprovalResolve = null;
54
60
  const pendingSelects = new Map();
55
61
  const pendingInputs = new Map();
62
+ const pendingDiffs = new Map();
63
+ const pendingSearches = new Map();
56
64
  const requestApprovalDecision = (request) => {
57
65
  return new Promise((resolve) => {
58
66
  pendingApprovalResolve = resolve;
@@ -73,39 +81,124 @@ async function main() {
73
81
  ui.sendPromptInput(id, title, placeholder);
74
82
  });
75
83
  };
84
+ const computeDiff = (before, after) => {
85
+ return new Promise((resolve) => {
86
+ const id = Math.random().toString();
87
+ pendingDiffs.set(id, resolve);
88
+ process.stdout.write(JSON.stringify({ tag: "compute_diff", data: { id, before, after } }) + "\n");
89
+ });
90
+ };
91
+ const fastSearch = (query, root, opts) => {
92
+ return new Promise((resolve) => {
93
+ const id = Math.random().toString();
94
+ pendingSearches.set(id, resolve);
95
+ process.stdout.write(JSON.stringify({
96
+ tag: "fast_search",
97
+ data: {
98
+ id,
99
+ query,
100
+ root,
101
+ limit: opts?.limit ?? 100,
102
+ regex: opts?.regex ?? false
103
+ }
104
+ }) + "\n");
105
+ });
106
+ };
107
+ const shouldSkipUpdateCheck = () => process.env.VETALA_UPDATE_CHECKED === "1" || process.env.VETALA_SMOKE_TEST === "1";
108
+ const maybeHandleAppUpdate = async () => {
109
+ if (shouldSkipUpdateCheck()) {
110
+ return;
111
+ }
112
+ try {
113
+ const { checkForAppUpdate, installAppUpdate, snoozeAppUpdate } = await import("./update-notifier.js");
114
+ const update = await checkForAppUpdate();
115
+ if (!update) {
116
+ return;
117
+ }
118
+ const choice = await requestSelect(`Update available: ${update.currentVersion} → ${update.latestVersion}`, ["Update now", "Skip for 24 hours"]);
119
+ if (choice === 0) {
120
+ ui.info("Installing update...");
121
+ try {
122
+ const result = await installAppUpdate(update.latestVersion);
123
+ const output = result.stdout || result.stderr;
124
+ if (output.trim()) {
125
+ ui.info(output);
126
+ }
127
+ ui.info("Update complete. Restart Vetala to use the new version.");
128
+ }
129
+ catch (error) {
130
+ ui.error(`Failed to install update: ${error instanceof Error ? error.message : String(error)}`);
131
+ }
132
+ }
133
+ else {
134
+ await snoozeAppUpdate(update.latestVersion);
135
+ ui.info("Update skipped for 24 hours.");
136
+ }
137
+ }
138
+ catch {
139
+ // Best-effort update checks shouldn't block startup.
140
+ }
141
+ };
76
142
  const createTools = () => createToolRegistry({
77
143
  includeWebSearch: config.searchProviderName !== "disabled",
78
144
  skillRuntime: skills
79
145
  });
80
146
  let queuedNextPrompt = null;
147
+ let processingPrompt = false;
148
+ const promptQueue = [];
149
+ const processPromptQueue = async () => {
150
+ if (processingPrompt || promptQueue.length === 0)
151
+ return;
152
+ processingPrompt = true;
153
+ const prompt = promptQueue.shift();
154
+ try {
155
+ await runPrompt(prompt);
156
+ }
157
+ finally {
158
+ processingPrompt = false;
159
+ void processPromptQueue();
160
+ }
161
+ };
162
+ const resolveContinuation = (input) => {
163
+ const normalized = input.trim().toLowerCase();
164
+ if (!lastInterruptedPrompt) {
165
+ return null;
166
+ }
167
+ if (normalized === "continue" || normalized === "resume" || normalized === "go on") {
168
+ return lastInterruptedPrompt;
169
+ }
170
+ return null;
171
+ };
81
172
  const runPrompt = async (prompt, forceRun = false) => {
82
173
  const trimmed = prompt.trim();
83
174
  if (!trimmed)
84
175
  return;
176
+ const resumed = resolveContinuation(trimmed);
177
+ const effectivePrompt = resumed ?? trimmed;
178
+ // If it's a slash command, handle immediately even if agent is busy
179
+ if (effectivePrompt.startsWith("/")) {
180
+ await handleCommand(effectivePrompt);
181
+ return;
182
+ }
85
183
  // Busy guard: if agent is running, ask user what to do
86
184
  if (activeAgent && !forceRun) {
87
- const choice = await requestSelect(`Current turn is still running. What to do with: "${trimmed.slice(0, 60)}"?`, ["Send now (stop current turn)", "Send after current turn", "Cancel"]);
185
+ const choice = await requestSelect(`Current turn is still running. What to do with: "${effectivePrompt.slice(0, 60)}"?`, ["Send now (stop current turn)", "Send after current turn", "Cancel"]);
88
186
  if (choice === 0) {
89
187
  // Force: interrupt current, then queue to run it
90
- queuedNextPrompt = trimmed;
91
- ui.info("Stopping the current turn and sending next prompt.");
188
+ queuedNextPrompt = effectivePrompt;
189
+ ui.info(resumed ? "Stopping the current turn and resuming the paused request." : "Stopping the current turn and sending next prompt.");
92
190
  ui.sendStatus("Stopping current turn");
93
191
  activeAgent.requestStop();
94
192
  }
95
193
  else if (choice === 1) {
96
194
  // Queue
97
- queuedNextPrompt = trimmed;
98
- ui.info(`Queued next prompt: ${trimmed.slice(0, 80)}`);
195
+ queuedNextPrompt = effectivePrompt;
196
+ ui.info(resumed ? "Queued resume for the paused request." : `Queued next prompt: ${effectivePrompt.slice(0, 80)}`);
99
197
  ui.sendStatus("Queued next prompt");
100
198
  }
101
199
  // else cancel: do nothing
102
200
  return;
103
201
  }
104
- // If it's a slash command, handle simply
105
- if (trimmed.startsWith("/")) {
106
- await handleCommand(trimmed);
107
- return;
108
- }
109
202
  ui.sendStatus("Running agent");
110
203
  const approvals = new ApprovalManager(session, store, null, requestApprovalDecision);
111
204
  const agent = new Agent({
@@ -119,18 +212,33 @@ async function main() {
119
212
  tools: createTools(),
120
213
  ui,
121
214
  requestTextInput,
122
- requestSelect
215
+ requestSelect,
216
+ computeDiff,
217
+ fastSearch
123
218
  });
124
219
  activeAgent = agent;
125
220
  try {
126
- await agent.runTurn(trimmed, true);
221
+ if (resumed) {
222
+ ui.info(`Resuming: ${effectivePrompt.slice(0, 80)}`);
223
+ }
224
+ await agent.runTurn(effectivePrompt, true);
127
225
  ui.sendStatus(queuedNextPrompt ? "Running queued prompt" : "Ready");
226
+ lastInterruptedPrompt = null;
128
227
  }
129
228
  catch (error) {
130
229
  if (isAgentInterruptedError(error)) {
230
+ lastInterruptedPrompt = effectivePrompt;
131
231
  const refinement = await requestTextInput("Agent paused. What should I do differently?", "");
132
- if (refinement.trim()) {
133
- queuedNextPrompt = refinement;
232
+ const refinementTrimmed = refinement.trim();
233
+ if (refinementTrimmed) {
234
+ const refinedResume = resolveContinuation(refinementTrimmed);
235
+ if (refinedResume) {
236
+ queuedNextPrompt = refinedResume;
237
+ }
238
+ else {
239
+ queuedNextPrompt = refinementTrimmed;
240
+ lastInterruptedPrompt = refinementTrimmed;
241
+ }
134
242
  }
135
243
  ui.sendStatus(queuedNextPrompt ? "Running queued prompt" : "Interrupted");
136
244
  }
@@ -150,7 +258,7 @@ async function main() {
150
258
  };
151
259
  const applyModelSelection = async (provider, model, reasoningEffort) => {
152
260
  const { getProviderDefinition } = await import("./providers/index.js");
153
- const { saveProviderDefaults, saveProviderPersistentAuth, withProviderStoredAuth, withProviderSessionAuth, loadConfig: reloadConfig, providerConfigFor } = await import("./config.js");
261
+ const { saveProviderDefaults, saveProviderPersistentAuth, saveProviderStoredAuthValue, withProviderStoredAuth, withProviderSessionAuth, loadConfig: reloadConfig, providerConfigFor } = await import("./config.js");
154
262
  const def = getProviderDefinition(provider);
155
263
  await store.updateModel(session, provider, model);
156
264
  await saveProviderDefaults(provider, model, def.supportsReasoningEffort ? { reasoningEffort } : {});
@@ -163,25 +271,30 @@ async function main() {
163
271
  const keyVal = await requestTextInput(`Enter ${authLabel} for ${def.label} / ${model}`, "");
164
272
  if (!keyVal.trim()) {
165
273
  ui.warn(`Credential entry cancelled. Model settings saved, but no usable ${def.label} credential is active.`);
166
- ui.sendReady(session);
274
+ sendReady(session);
167
275
  ui.sendStatus("Ready");
168
276
  return;
169
277
  }
170
278
  const retIdx = await requestSelect("Keep credential:", [
171
- "Keep for all sessions until /logout",
279
+ "All sessions (until /logout)",
280
+ "Store hash only (re-enter next session)",
172
281
  "This session only",
173
282
  "Cancel"
174
283
  ]);
175
284
  if (retIdx === 0) {
176
- await saveProviderPersistentAuth(session.provider, def.auth.defaultMode, keyVal.trim());
285
+ await saveProviderStoredAuthValue(session.provider, def.auth.defaultMode, keyVal.trim());
177
286
  config = withProviderStoredAuth(nextConfig, session.provider, def.auth.defaultMode, keyVal.trim());
178
287
  }
179
288
  else if (retIdx === 1) {
289
+ await saveProviderPersistentAuth(session.provider, def.auth.defaultMode, keyVal.trim());
290
+ config = withProviderSessionAuth(nextConfig, session.provider, def.auth.defaultMode, keyVal.trim());
291
+ }
292
+ else if (retIdx === 2) {
180
293
  config = withProviderSessionAuth(nextConfig, session.provider, def.auth.defaultMode, keyVal.trim());
181
294
  }
182
295
  else {
183
296
  ui.warn("API key setup cancelled.");
184
- ui.sendReady(session);
297
+ sendReady(session);
185
298
  ui.sendStatus("Ready");
186
299
  return;
187
300
  }
@@ -190,7 +303,7 @@ async function main() {
190
303
  config = nextConfig;
191
304
  }
192
305
  ui.info(`Provider set to ${def.label} / ${model}`);
193
- ui.sendReady(session);
306
+ sendReady(session);
194
307
  ui.sendStatus("Ready");
195
308
  };
196
309
  const handleCommand = async (commandLine) => {
@@ -202,6 +315,7 @@ async function main() {
202
315
  "/history", "/resume <session-id>", "/new",
203
316
  "/approve", "/config", "/logout", "/clear", "/exit"
204
317
  ].join("\n"));
318
+ ui.sendStatus("Ready");
205
319
  break;
206
320
  case "clear":
207
321
  ui.sendClear();
@@ -216,20 +330,56 @@ async function main() {
216
330
  return `${label} ${content}`;
217
331
  })
218
332
  .join("\n") || "(empty session)");
333
+ ui.sendStatus("Ready");
219
334
  break;
220
335
  case "tools":
221
336
  ui.info(createTools()
222
337
  .list()
223
338
  .map((tool) => `${tool.readOnly ? "ro" : "rw"} ${tool.name} - ${tool.description}`)
224
339
  .join("\n"));
340
+ ui.sendStatus("Ready");
225
341
  break;
226
342
  case "config":
227
343
  ui.printConfig(config);
344
+ ui.sendStatus("Ready");
228
345
  break;
229
346
  case "undo": {
230
347
  const { undoLastEdit } = await import("./edit-history.js");
231
348
  const approvals = new ApprovalManager(session, store, null, requestApprovalDecision);
232
- const result = await undoLastEdit(session, store, (req) => approvals.requestApproval(req));
349
+ // Create a temporary tool context for the undo command
350
+ const context = {
351
+ cwd: process.cwd(),
352
+ workspaceRoot: session.workspaceRoot,
353
+ approvals: {
354
+ requestApproval: (request) => approvals.requestApproval(request),
355
+ hasSessionGrant: (key) => approvals.hasSessionGrant(key),
356
+ registerReference: (targetPath) => store.appendReference(session, targetPath),
357
+ ensureWebAccess: () => approvals.ensureWebAccess()
358
+ },
359
+ interaction: {
360
+ askText: (prompt, placeholder = "") => requestTextInput(prompt, placeholder),
361
+ askSelect: (prompt, options) => requestSelect(prompt, options)
362
+ },
363
+ performance: {
364
+ computeDiff,
365
+ fastSearch
366
+ },
367
+ reads: {
368
+ hasRead: (targetPath) => session.readFiles.includes(targetPath),
369
+ registerRead: (targetPath) => store.appendReadFile(session, targetPath)
370
+ },
371
+ edits: {
372
+ recordEdit: (edit) => store.appendEdit(session, edit)
373
+ },
374
+ paths: {
375
+ resolve: (inputPath) => new PathPolicy(session.workspaceRoot, approvals).resolve(inputPath),
376
+ ensureReadable: (inputPath) => new PathPolicy(session.workspaceRoot, approvals).ensureReadable(inputPath),
377
+ ensureWritable: (inputPath) => new PathPolicy(session.workspaceRoot, approvals).ensureWritable(inputPath),
378
+ allowedRoots: () => new PathPolicy(session.workspaceRoot, approvals).allowedRoots()
379
+ },
380
+ searchProvider: createSearchProvider(config.searchProviderName)
381
+ };
382
+ const result = await undoLastEdit(session, store, (req) => approvals.requestApproval(req), context);
233
383
  ui.info(result.content);
234
384
  ui.sendStatus(result.isError ? "Undo blocked" : "Ready");
235
385
  break;
@@ -242,6 +392,7 @@ async function main() {
242
392
  ui.info(available.length > 0
243
393
  ? available.map((s) => `${pinned.has(s.name) ? "*" : "-"} ${s.name} - ${s.description}`).join("\n")
244
394
  : "(no skills available)");
395
+ ui.sendStatus("Ready");
245
396
  break;
246
397
  }
247
398
  const [sub, ...rest] = args;
@@ -265,6 +416,7 @@ async function main() {
265
416
  const cleared = await skills.clearPinnedSkills();
266
417
  ui.info(`Cleared ${cleared} pinned skills.`);
267
418
  }
419
+ ui.sendStatus("Ready");
268
420
  break;
269
421
  }
270
422
  case "resume": {
@@ -272,6 +424,7 @@ async function main() {
272
424
  const sessions = await store.listSessions();
273
425
  if (sessions.length === 0) {
274
426
  ui.info("(no sessions)");
427
+ ui.sendStatus("Ready");
275
428
  break;
276
429
  }
277
430
  const items = sessions.slice(0, 10).map(s => `${s.id.slice(0, 8)} ${s.provider}/${s.model} ${s.workspaceRoot}`);
@@ -283,7 +436,7 @@ async function main() {
283
436
  activeAgent = null;
284
437
  ui.sendClear();
285
438
  ui.sendStatus(`Resumed ${session.id.slice(0, 8)}`);
286
- ui.sendReady(session);
439
+ sendReady(session);
287
440
  }
288
441
  }
289
442
  else {
@@ -294,14 +447,14 @@ async function main() {
294
447
  session = await store.loadSession(args[0]);
295
448
  ui.sendClear();
296
449
  ui.sendStatus(`Resumed ${session.id.slice(0, 8)}`);
297
- ui.sendReady(session);
450
+ sendReady(session);
298
451
  break;
299
452
  }
300
453
  case "new": {
301
454
  session = await store.createSession(session.workspaceRoot, config.defaultProvider, config.defaultModel);
302
455
  ui.sendClear();
303
456
  ui.sendStatus(`Created ${session.id.slice(0, 8)}`);
304
- ui.sendReady(session);
457
+ sendReady(session);
305
458
  break;
306
459
  }
307
460
  case "approve":
@@ -310,12 +463,20 @@ async function main() {
310
463
  `path grants: ${session.approvals.outOfTreeRoots.join(", ") || "(none)"}`,
311
464
  `session grants: ${session.approvals.sessionActionKeys.join(", ") || "(none)"}`
312
465
  ].join("\n"));
466
+ ui.sendStatus("Ready");
313
467
  break;
314
468
  case "logout": {
469
+ activeAgent?.requestStop();
315
470
  const { clearProviderSavedAuth } = await import("./config.js");
316
471
  await clearProviderSavedAuth(session.provider);
317
472
  ui.info(`Cleared saved credential for ${session.provider}.`);
318
- ui.sendStatus("Logged out");
473
+ sendReady(session);
474
+ ui.sendStatus("Ready");
475
+ break;
476
+ }
477
+ case "exit": {
478
+ activeAgent?.requestStop();
479
+ process.exit(0);
319
480
  break;
320
481
  }
321
482
  case "model": {
@@ -385,7 +546,8 @@ async function main() {
385
546
  switch (cmd.tag) {
386
547
  case "input":
387
548
  if (cmd.data?.text && typeof cmd.data.text === "string") {
388
- await runPrompt(cmd.data.text);
549
+ promptQueue.push(cmd.data.text);
550
+ void processPromptQueue();
389
551
  }
390
552
  break;
391
553
  case "trust":
@@ -419,6 +581,26 @@ async function main() {
419
581
  }
420
582
  }
421
583
  break;
584
+ case "diffResult":
585
+ if (cmd.data?.id && typeof cmd.data.diff === "string") {
586
+ const id = cmd.data.id;
587
+ const resolve = pendingDiffs.get(id);
588
+ if (resolve) {
589
+ pendingDiffs.delete(id);
590
+ resolve(cmd.data.diff);
591
+ }
592
+ }
593
+ break;
594
+ case "searchResult":
595
+ if (cmd.data?.id && Array.isArray(cmd.data.matches)) {
596
+ const id = cmd.data.id;
597
+ const resolve = pendingSearches.get(id);
598
+ if (resolve) {
599
+ pendingSearches.delete(id);
600
+ resolve(cmd.data.matches);
601
+ }
602
+ }
603
+ break;
422
604
  case "interrupt":
423
605
  activeAgent?.requestStop();
424
606
  break;
@@ -426,6 +608,10 @@ async function main() {
426
608
  process.exit(0);
427
609
  }
428
610
  });
611
+ await maybeHandleAppUpdate();
612
+ // Send the initial ready message with dashboard data
613
+ sendReady(session);
614
+ ui.sendStatus("Ready");
429
615
  rl.on("close", () => {
430
616
  process.exit(0);
431
617
  });
@@ -1 +1 @@
1
- {"version":3,"file":"ipc-backend.js","sourceRoot":"","sources":["../../src/ipc-backend.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ipc-backend.js","sourceRoot":"","sources":["../../src/ipc-backend.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@ import type { Ora } from "ora";
4
4
  export declare class IpcTerminalUI extends TerminalUI {
5
5
  constructor(runtimeProfile: RuntimeHostProfile);
6
6
  /** Send the initial dashboard / ready message */
7
- sendReady(session: SessionState): void;
7
+ sendReady(session: SessionState, isLoggedIn: boolean): void;
8
8
  printBanner(): void;
9
9
  printStartup(_session: SessionState): void;
10
10
  printTrustPrompt(workspaceRoot: string): void;
@@ -25,4 +25,5 @@ export declare class IpcTerminalUI extends TerminalUI {
25
25
  sendPromptInput(id: string, title: string, placeholder: string): void;
26
26
  sendStatus(text: string): void;
27
27
  sendClear(): void;
28
+ offloadDiff(before: string, after: string): Promise<string>;
28
29
  }
@@ -9,13 +9,14 @@ export class IpcTerminalUI extends TerminalUI {
9
9
  super(runtimeProfile);
10
10
  }
11
11
  /** Send the initial dashboard / ready message */
12
- sendReady(session) {
12
+ sendReady(session, isLoggedIn) {
13
13
  sendIPC("ready", {
14
14
  provider: session.provider,
15
15
  model: session.model,
16
16
  workspace: session.workspaceRoot,
17
17
  sessionId: session.id,
18
- updatedAt: session.updatedAt
18
+ updatedAt: session.updatedAt,
19
+ isLoggedIn
19
20
  });
20
21
  }
21
22
  printBanner() { }
@@ -101,6 +102,10 @@ export class IpcTerminalUI extends TerminalUI {
101
102
  `reason: ${config.reasoningEffort ?? "(none)"}`,
102
103
  `search: ${config.searchProviderName}`,
103
104
  `base: ${config.baseUrl}`,
105
+ `memory: recent=${config.memory.recentMessageCount}, events=${config.memory.maxMemoryEvents}, preview=${config.memory.maxPreviewLength}, refs=${config.memory.maxReferencedFiles}`,
106
+ `context: files=${config.contextFiles.maxFiles}, fileBytes=${config.contextFiles.maxFileBytes}, totalBytes=${config.contextFiles.maxTotalBytes}`,
107
+ `history: ${config.history.persistence}${config.history.maxBytes ? ` (${config.history.maxBytes} bytes)` : ""}`,
108
+ `memories: enabled=${config.memories.enabled}, use=${config.memories.useMemories}, maxRollouts=${config.memories.maxRolloutsPerStartup}`,
104
109
  `host: ${formatRuntimeHostSummary(this.runtimeProfile)}`,
105
110
  `term: ${formatRuntimeTerminalSummary(this.runtimeProfile)}`
106
111
  ].join("\n")
@@ -121,5 +126,17 @@ export class IpcTerminalUI extends TerminalUI {
121
126
  sendClear() {
122
127
  sendIPC("clear", {});
123
128
  }
129
+ async offloadDiff(before, after) {
130
+ const id = Math.random().toString();
131
+ return new Promise((resolve) => {
132
+ const handler = (data) => {
133
+ if (data.id === id) {
134
+ process.off("message", handler); // This won't work as we are using stdout/stdin pipes
135
+ }
136
+ };
137
+ // I need a way to listen for responses in the backend.
138
+ // The rl.on("line") in ipc-backend.ts is the right place.
139
+ });
140
+ }
124
141
  }
125
142
  //# sourceMappingURL=ipc-ui.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ipc-ui.js","sourceRoot":"","sources":["../../src/ipc-ui.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ipc-ui.js","sourceRoot":"","sources":["../../src/ipc-ui.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { EffectiveConfig } from "../types.js";
2
+ import { SessionStore } from "../session-store.js";
3
+ export declare function startMemoriesPipeline(config: EffectiveConfig, store: SessionStore): void;