clitrigger 0.2.8 → 0.2.9

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 (71) hide show
  1. package/dist/client/assets/{index-BjSdQnnM.css → index-BwUXJf1U.css} +1 -1
  2. package/dist/client/assets/index-DI7n7r9n.js +748 -0
  3. package/dist/client/index.html +2 -2
  4. package/dist/server/db/queries.d.ts +15 -1
  5. package/dist/server/db/queries.d.ts.map +1 -1
  6. package/dist/server/db/queries.js +51 -0
  7. package/dist/server/db/queries.js.map +1 -1
  8. package/dist/server/db/schema.d.ts.map +1 -1
  9. package/dist/server/db/schema.js +11 -0
  10. package/dist/server/db/schema.js.map +1 -1
  11. package/dist/server/index.d.ts.map +1 -1
  12. package/dist/server/index.js +4 -0
  13. package/dist/server/index.js.map +1 -1
  14. package/dist/server/routes/files.d.ts.map +1 -1
  15. package/dist/server/routes/files.js +122 -0
  16. package/dist/server/routes/files.js.map +1 -1
  17. package/dist/server/routes/logs.d.ts.map +1 -1
  18. package/dist/server/routes/logs.js +4 -5
  19. package/dist/server/routes/logs.js.map +1 -1
  20. package/dist/server/routes/projects.js +2 -2
  21. package/dist/server/routes/projects.js.map +1 -1
  22. package/dist/server/routes/session-aliases.d.ts +3 -0
  23. package/dist/server/routes/session-aliases.d.ts.map +1 -0
  24. package/dist/server/routes/session-aliases.js +88 -0
  25. package/dist/server/routes/session-aliases.js.map +1 -0
  26. package/dist/server/routes/sessions.d.ts.map +1 -1
  27. package/dist/server/routes/sessions.js +4 -0
  28. package/dist/server/routes/sessions.js.map +1 -1
  29. package/dist/server/routes/vault.d.ts +3 -0
  30. package/dist/server/routes/vault.d.ts.map +1 -0
  31. package/dist/server/routes/vault.js +184 -0
  32. package/dist/server/routes/vault.js.map +1 -0
  33. package/dist/server/services/cli-adapters.d.ts +1 -1
  34. package/dist/server/services/cli-adapters.d.ts.map +1 -1
  35. package/dist/server/services/cli-adapters.js +31 -0
  36. package/dist/server/services/cli-adapters.js.map +1 -1
  37. package/dist/server/services/discussion-orchestrator.d.ts.map +1 -1
  38. package/dist/server/services/discussion-orchestrator.js +29 -13
  39. package/dist/server/services/discussion-orchestrator.js.map +1 -1
  40. package/dist/server/services/file-scanner.d.ts +26 -0
  41. package/dist/server/services/file-scanner.d.ts.map +1 -0
  42. package/dist/server/services/file-scanner.js +244 -0
  43. package/dist/server/services/file-scanner.js.map +1 -0
  44. package/dist/server/services/memory-inject-hook.d.ts +3 -1
  45. package/dist/server/services/memory-inject-hook.d.ts.map +1 -1
  46. package/dist/server/services/memory-inject-hook.js +49 -0
  47. package/dist/server/services/memory-inject-hook.js.map +1 -1
  48. package/dist/server/services/orchestrator.d.ts +2 -0
  49. package/dist/server/services/orchestrator.d.ts.map +1 -1
  50. package/dist/server/services/orchestrator.js +5 -10
  51. package/dist/server/services/orchestrator.js.map +1 -1
  52. package/dist/server/services/project-status.d.ts +10 -0
  53. package/dist/server/services/project-status.d.ts.map +1 -0
  54. package/dist/server/services/project-status.js +34 -0
  55. package/dist/server/services/project-status.js.map +1 -0
  56. package/dist/server/services/session-manager.d.ts.map +1 -1
  57. package/dist/server/services/session-manager.js +19 -2
  58. package/dist/server/services/session-manager.js.map +1 -1
  59. package/dist/server/services/vault-injector.d.ts +14 -0
  60. package/dist/server/services/vault-injector.d.ts.map +1 -0
  61. package/dist/server/services/vault-injector.js +106 -0
  62. package/dist/server/services/vault-injector.js.map +1 -0
  63. package/dist/server/services/vault-retriever.d.ts +7 -0
  64. package/dist/server/services/vault-retriever.d.ts.map +1 -0
  65. package/dist/server/services/vault-retriever.js +108 -0
  66. package/dist/server/services/vault-retriever.js.map +1 -0
  67. package/dist/server/websocket/events.d.ts +2 -0
  68. package/dist/server/websocket/events.d.ts.map +1 -1
  69. package/electron/main.cjs +74 -8
  70. package/package.json +1 -1
  71. package/dist/client/assets/index-CCQfo9GC.js +0 -735
@@ -8,6 +8,21 @@ import * as queries from '../db/queries.js';
8
8
  import { applyMemoryInjection } from './memory-inject-hook.js';
9
9
  import { parseMemoryNodeIds, parseRawFilePaths } from './memory-injector.js';
10
10
  import { buildSourceTextFromDiscussion, runAutoIngestAndBroadcast } from './memory-ingest.js';
11
+ import { broadcastProjectStatus } from './project-status.js';
12
+ function broadcastDiscussionProjectStatus(discussionId) {
13
+ try {
14
+ const d = queries.getDiscussionById(discussionId);
15
+ if (d)
16
+ broadcastProjectStatus(d.project_id);
17
+ }
18
+ catch { /* ignore */ }
19
+ }
20
+ // Wraps the WS broadcast so every discussion status change also refreshes
21
+ // the parent project's status (sidebar dot pulses on running discussions).
22
+ function dispatchDiscussionStatus(payload) {
23
+ broadcaster.broadcast({ type: 'discussion:status-changed', ...payload });
24
+ broadcastDiscussionProjectStatus(payload.discussionId);
25
+ }
11
26
  function maybeAutoIngestDiscussion(discussionId) {
12
27
  try {
13
28
  const d = queries.getDiscussionById(discussionId);
@@ -74,7 +89,7 @@ export class DiscussionOrchestrator {
74
89
  console.error(`[discussion] Failed to create worktree for discussion ${discussionId}:`, message);
75
90
  queries.updateDiscussionStatus(discussionId, 'failed');
76
91
  queries.createDiscussionLog(discussionId, null, 'error', `Failed to create worktree: ${message}`);
77
- broadcaster.broadcast({ type: 'discussion:status-changed', discussionId, status: 'failed', currentRound: 0, currentAgentId: null });
92
+ dispatchDiscussionStatus({ discussionId, status: 'failed', currentRound: 0, currentAgentId: null });
78
93
  return;
79
94
  }
80
95
  queries.updateDiscussion(discussionId, { branch_name: branchName, worktree_path: worktreePath });
@@ -98,12 +113,12 @@ export class DiscussionOrchestrator {
98
113
  if (!nextMessage) {
99
114
  queries.updateDiscussionStatus(discussionId, 'completed');
100
115
  queries.updateDiscussion(discussionId, { current_agent_id: null });
101
- broadcaster.broadcast({ type: 'discussion:status-changed', discussionId, status: 'completed', currentRound: discussion.current_round, currentAgentId: null });
116
+ dispatchDiscussionStatus({ discussionId, status: 'completed', currentRound: discussion.current_round, currentAgentId: null });
102
117
  return;
103
118
  }
104
119
  queries.updateDiscussionStatus(discussionId, 'running');
105
120
  queries.updateDiscussion(discussionId, { current_round: nextMessage.round_number, current_agent_id: nextMessage.agent_id });
106
- broadcaster.broadcast({ type: 'discussion:status-changed', discussionId, status: 'running', currentRound: nextMessage.round_number, currentAgentId: nextMessage.agent_id });
121
+ dispatchDiscussionStatus({ discussionId, status: 'running', currentRound: nextMessage.round_number, currentAgentId: nextMessage.agent_id });
107
122
  await this.runAgentTurn(discussionId, nextMessage.id);
108
123
  }
109
124
  /**
@@ -126,7 +141,7 @@ export class DiscussionOrchestrator {
126
141
  queries.updateDiscussionStatus(discussionId, 'paused');
127
142
  queries.updateDiscussion(discussionId, { process_pid: 0 });
128
143
  queries.createDiscussionLog(discussionId, null, 'info', 'Discussion paused by user.');
129
- broadcaster.broadcast({ type: 'discussion:status-changed', discussionId, status: 'paused', currentRound: discussion.current_round, currentAgentId: null });
144
+ dispatchDiscussionStatus({ discussionId, status: 'paused', currentRound: discussion.current_round, currentAgentId: null });
130
145
  }
131
146
  /**
132
147
  * Skip the current agent's turn.
@@ -187,7 +202,7 @@ export class DiscussionOrchestrator {
187
202
  const msg = queries.createDiscussionMessage(discussionId, agentId, implRound, 0, agent.role, agent.name);
188
203
  queries.updateDiscussionStatus(discussionId, 'running');
189
204
  queries.updateDiscussion(discussionId, { current_round: implRound, current_agent_id: agentId });
190
- broadcaster.broadcast({ type: 'discussion:status-changed', discussionId, status: 'running', currentRound: implRound, currentAgentId: agentId });
205
+ dispatchDiscussionStatus({ discussionId, status: 'running', currentRound: implRound, currentAgentId: agentId });
191
206
  await this.runAgentTurn(discussionId, msg.id, true);
192
207
  }
193
208
  /**
@@ -223,6 +238,7 @@ export class DiscussionOrchestrator {
223
238
  mode: memMode,
224
239
  nodeIds: parseMemoryNodeIds(discussion.memory_node_ids),
225
240
  rawFilePaths,
241
+ vaultFilePaths: rawFilePaths,
226
242
  projectRoot: project.path,
227
243
  query: `${discussion.title}\n${discussion.description ?? ''}`.trim(),
228
244
  log: (type, msg) => queries.createDiscussionLog(discussionId, messageId, type, msg),
@@ -302,7 +318,7 @@ export class DiscussionOrchestrator {
302
318
  queries.updateDiscussion(discussionId, { process_pid: 0 });
303
319
  queries.createDiscussionLog(discussionId, messageId, 'error', `${message.agent_name} failed (exit code ${exitCode}).`);
304
320
  broadcaster.broadcast({ type: 'discussion:message-changed', discussionId, messageId, agentId: message.agent_id, agentName: message.agent_name, round: message.round_number, status: 'failed' });
305
- broadcaster.broadcast({ type: 'discussion:status-changed', discussionId, status: 'failed', currentRound: message.round_number, currentAgentId: message.agent_id });
321
+ dispatchDiscussionStatus({ discussionId, status: 'failed', currentRound: message.round_number, currentAgentId: message.agent_id });
306
322
  }
307
323
  }).catch((err) => {
308
324
  const errMsg = err instanceof Error ? err.message : String(err);
@@ -312,7 +328,7 @@ export class DiscussionOrchestrator {
312
328
  queries.updateDiscussion(discussionId, { process_pid: 0 });
313
329
  queries.createDiscussionLog(discussionId, messageId, 'error', `Process error: ${errMsg}`);
314
330
  broadcaster.broadcast({ type: 'discussion:message-changed', discussionId, messageId, agentId: message.agent_id, agentName: message.agent_name, round: message.round_number, status: 'failed' });
315
- broadcaster.broadcast({ type: 'discussion:status-changed', discussionId, status: 'failed', currentRound: message.round_number, currentAgentId: message.agent_id });
331
+ dispatchDiscussionStatus({ discussionId, status: 'failed', currentRound: message.round_number, currentAgentId: message.agent_id });
316
332
  });
317
333
  }
318
334
  catch (err) {
@@ -322,7 +338,7 @@ export class DiscussionOrchestrator {
322
338
  queries.updateDiscussionStatus(discussionId, 'failed');
323
339
  queries.createDiscussionLog(discussionId, messageId, 'error', `Failed to start ${adapter.displayName}: ${errMsg}`);
324
340
  broadcaster.broadcast({ type: 'discussion:message-changed', discussionId, messageId, agentId: message.agent_id, agentName: message.agent_name, round: message.round_number, status: 'failed' });
325
- broadcaster.broadcast({ type: 'discussion:status-changed', discussionId, status: 'failed', currentRound: message.round_number, currentAgentId: message.agent_id });
341
+ dispatchDiscussionStatus({ discussionId, status: 'failed', currentRound: message.round_number, currentAgentId: message.agent_id });
326
342
  }
327
343
  }
328
344
  /**
@@ -341,7 +357,7 @@ export class DiscussionOrchestrator {
341
357
  queries.updateDiscussionStatus(discussionId, 'completed');
342
358
  queries.updateDiscussion(discussionId, { current_agent_id: null });
343
359
  queries.createDiscussionLog(discussionId, null, 'info', 'Implementation completed. Discussion finished.');
344
- broadcaster.broadcast({ type: 'discussion:status-changed', discussionId, status: 'completed', currentRound: currentMsg.round_number, currentAgentId: null });
360
+ dispatchDiscussionStatus({ discussionId, status: 'completed', currentRound: currentMsg.round_number, currentAgentId: null });
345
361
  maybeAutoIngestDiscussion(discussionId);
346
362
  return;
347
363
  }
@@ -349,7 +365,7 @@ export class DiscussionOrchestrator {
349
365
  const nextInRound = messages.find((m) => m.round_number === currentMsg.round_number && m.turn_order > currentMsg.turn_order && (m.status === 'pending' || m.status === 'failed'));
350
366
  if (nextInRound) {
351
367
  queries.updateDiscussion(discussionId, { current_agent_id: nextInRound.agent_id });
352
- broadcaster.broadcast({ type: 'discussion:status-changed', discussionId, status: 'running', currentRound: currentMsg.round_number, currentAgentId: nextInRound.agent_id });
368
+ dispatchDiscussionStatus({ discussionId, status: 'running', currentRound: currentMsg.round_number, currentAgentId: nextInRound.agent_id });
353
369
  await this.runAgentTurn(discussionId, nextInRound.id);
354
370
  return;
355
371
  }
@@ -369,7 +385,7 @@ export class DiscussionOrchestrator {
369
385
  const firstInNextRound = newMessages.find((m) => m.round_number === nextRound && m.status === 'pending');
370
386
  if (firstInNextRound) {
371
387
  queries.updateDiscussion(discussionId, { current_round: nextRound, current_agent_id: firstInNextRound.agent_id });
372
- broadcaster.broadcast({ type: 'discussion:status-changed', discussionId, status: 'running', currentRound: nextRound, currentAgentId: firstInNextRound.agent_id });
388
+ dispatchDiscussionStatus({ discussionId, status: 'running', currentRound: nextRound, currentAgentId: firstInNextRound.agent_id });
373
389
  await this.runAgentTurn(discussionId, firstInNextRound.id);
374
390
  return;
375
391
  }
@@ -379,7 +395,7 @@ export class DiscussionOrchestrator {
379
395
  const implAgent = queries.getDiscussionAgentById(discussion.implement_agent_id);
380
396
  if (implAgent) {
381
397
  queries.createDiscussionLog(discussionId, null, 'info', `All discussion rounds completed. Auto-implementing with ${implAgent.name}...`);
382
- broadcaster.broadcast({ type: 'discussion:status-changed', discussionId, status: 'running', currentRound: discussion.max_rounds, currentAgentId: implAgent.id });
398
+ dispatchDiscussionStatus({ discussionId, status: 'running', currentRound: discussion.max_rounds, currentAgentId: implAgent.id });
383
399
  await this.triggerImplementation(discussionId, implAgent.id, { fromAutoImplement: true });
384
400
  return;
385
401
  }
@@ -389,7 +405,7 @@ export class DiscussionOrchestrator {
389
405
  queries.updateDiscussionStatus(discussionId, 'completed');
390
406
  queries.updateDiscussion(discussionId, { current_agent_id: null });
391
407
  queries.createDiscussionLog(discussionId, null, 'info', 'All discussion rounds completed.');
392
- broadcaster.broadcast({ type: 'discussion:status-changed', discussionId, status: 'completed', currentRound: discussion.max_rounds, currentAgentId: null });
408
+ dispatchDiscussionStatus({ discussionId, status: 'completed', currentRound: discussion.max_rounds, currentAgentId: null });
393
409
  maybeAutoIngestDiscussion(discussionId);
394
410
  }
395
411
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"discussion-orchestrator.js","sourceRoot":"","sources":["../../../src/server/services/discussion-orchestrator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"discussion-orchestrator.js","sourceRoot":"","sources":["../../../src/server/services/discussion-orchestrator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ export interface VaultFile {
2
+ relativePath: string;
3
+ stem: string;
4
+ title: string;
5
+ tags: string[];
6
+ wikilinks: string[];
7
+ size: number;
8
+ mtime: string;
9
+ bodyPreview: string;
10
+ }
11
+ export interface VaultEdge {
12
+ from: string;
13
+ to: string;
14
+ }
15
+ export interface VaultGraph {
16
+ files: VaultFile[];
17
+ edges: VaultEdge[];
18
+ }
19
+ export declare function scanVault(projectRoot: string, excludePatterns?: string[]): VaultFile[];
20
+ export declare function buildVaultGraph(projectRoot: string, excludePatterns?: string[]): VaultGraph;
21
+ export declare function readVaultFile(projectRoot: string, relativePath: string): string | null;
22
+ export declare function writeVaultFile(projectRoot: string, relativePath: string, content: string): boolean;
23
+ export declare function deleteVaultFile(projectRoot: string, relativePath: string): boolean;
24
+ export declare function renameVaultFile(projectRoot: string, oldPath: string, newPath: string): boolean;
25
+ export declare function searchVault(projectRoot: string, query: string, excludePatterns?: string[]): VaultFile[];
26
+ //# sourceMappingURL=file-scanner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-scanner.d.ts","sourceRoot":"","sources":["../../../src/server/services/file-scanner.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,SAAS;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB,KAAK,EAAE,SAAS,EAAE,CAAC;CACpB;AA4ED,wBAAgB,SAAS,CAAC,WAAW,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,EAAE,CAwDtF;AAED,wBAAgB,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,MAAM,EAAE,GAAG,UAAU,CA2C3F;AAED,wBAAgB,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAUtF;AAED,wBAAgB,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAYlG;AAED,wBAAgB,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAWlF;AAED,wBAAgB,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAc9F;AAED,wBAAgB,WAAW,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,MAAM,EAAE,GAAG,SAAS,EAAE,CAUvG"}
@@ -0,0 +1,244 @@
1
+ import fs from 'fs';
2
+ import path from 'path';
3
+ import { parseWikilinks } from './memory-wikilinks.js';
4
+ const DEFAULT_EXCLUDES = [
5
+ 'node_modules',
6
+ '.git',
7
+ 'dist',
8
+ 'build',
9
+ '.worktrees',
10
+ '.clitrigger',
11
+ 'out',
12
+ '.next',
13
+ '.nuxt',
14
+ 'vendor',
15
+ '.venv',
16
+ '__pycache__',
17
+ '.tox',
18
+ 'coverage',
19
+ ];
20
+ const FRONTMATTER_RE = /^---\r?\n([\s\S]*?)\r?\n---/;
21
+ const BODY_PREVIEW_LEN = 200;
22
+ function parseFrontmatter(content) {
23
+ const match = content.match(FRONTMATTER_RE);
24
+ if (!match)
25
+ return { frontmatter: null, body: content };
26
+ const raw = match[1];
27
+ const body = content.slice(match[0].length).trimStart();
28
+ const fm = {};
29
+ for (const line of raw.split(/\r?\n/)) {
30
+ const colonIdx = line.indexOf(':');
31
+ if (colonIdx < 1)
32
+ continue;
33
+ const key = line.slice(0, colonIdx).trim();
34
+ let value = line.slice(colonIdx + 1).trim();
35
+ if (typeof value === 'string' && value.startsWith('[') && value.endsWith(']')) {
36
+ try {
37
+ value = JSON.parse(value);
38
+ }
39
+ catch {
40
+ const inner = value.slice(1, -1);
41
+ value = inner.split(',').map(s => s.trim().replace(/^['"]|['"]$/g, '')).filter(Boolean);
42
+ }
43
+ }
44
+ fm[key] = value;
45
+ }
46
+ return { frontmatter: fm, body };
47
+ }
48
+ function shouldExclude(relativePath, excludes) {
49
+ const parts = relativePath.split(/[\\/]/);
50
+ return parts.some(p => excludes.includes(p));
51
+ }
52
+ function walkDir(dir, root, excludes, results) {
53
+ let entries;
54
+ try {
55
+ entries = fs.readdirSync(dir, { withFileTypes: true });
56
+ }
57
+ catch {
58
+ return;
59
+ }
60
+ for (const entry of entries) {
61
+ const fullPath = path.join(dir, entry.name);
62
+ const rel = path.relative(root, fullPath).replace(/\\/g, '/');
63
+ if (shouldExclude(rel, excludes))
64
+ continue;
65
+ if (entry.isDirectory()) {
66
+ walkDir(fullPath, root, excludes, results);
67
+ }
68
+ else if (entry.isFile() && entry.name.endsWith('.md')) {
69
+ results.push(rel);
70
+ }
71
+ }
72
+ }
73
+ export function scanVault(projectRoot, excludePatterns) {
74
+ const resolved = path.resolve(projectRoot);
75
+ if (!fs.existsSync(resolved) || !fs.statSync(resolved).isDirectory())
76
+ return [];
77
+ const excludes = excludePatterns ?? DEFAULT_EXCLUDES;
78
+ const relativePaths = [];
79
+ walkDir(resolved, resolved, excludes, relativePaths);
80
+ const files = [];
81
+ for (const rel of relativePaths) {
82
+ const abs = path.join(resolved, rel);
83
+ let stat;
84
+ try {
85
+ stat = fs.statSync(abs);
86
+ }
87
+ catch {
88
+ continue;
89
+ }
90
+ let content;
91
+ try {
92
+ content = fs.readFileSync(abs, 'utf-8');
93
+ }
94
+ catch {
95
+ continue;
96
+ }
97
+ const { frontmatter, body } = parseFrontmatter(content);
98
+ const stem = path.basename(rel, '.md');
99
+ const tags = [];
100
+ if (frontmatter?.tags) {
101
+ const raw = frontmatter.tags;
102
+ if (Array.isArray(raw)) {
103
+ tags.push(...raw.map(String).filter(Boolean));
104
+ }
105
+ else if (typeof raw === 'string') {
106
+ tags.push(...raw.split(',').map(s => s.trim()).filter(Boolean));
107
+ }
108
+ }
109
+ const refs = parseWikilinks(body);
110
+ const wikilinks = [...new Set(refs.map(r => r.title))];
111
+ const bodyFlat = body.replace(/\s+/g, ' ').trim();
112
+ const bodyPreview = bodyFlat.length > BODY_PREVIEW_LEN
113
+ ? bodyFlat.slice(0, BODY_PREVIEW_LEN) + '…'
114
+ : bodyFlat;
115
+ const title = frontmatter?.title || stem;
116
+ files.push({
117
+ relativePath: rel,
118
+ stem,
119
+ title,
120
+ tags,
121
+ wikilinks,
122
+ size: stat.size,
123
+ mtime: stat.mtime.toISOString(),
124
+ bodyPreview,
125
+ });
126
+ }
127
+ return files;
128
+ }
129
+ export function buildVaultGraph(projectRoot, excludePatterns) {
130
+ const files = scanVault(projectRoot, excludePatterns);
131
+ const stemIndex = new Map();
132
+ for (const f of files) {
133
+ const key = f.stem.toLowerCase();
134
+ const existing = stemIndex.get(key) ?? [];
135
+ existing.push(f.relativePath);
136
+ stemIndex.set(key, existing);
137
+ }
138
+ const titleIndex = new Map();
139
+ for (const f of files) {
140
+ const key = f.title.toLowerCase();
141
+ const existing = titleIndex.get(key) ?? [];
142
+ existing.push(f.relativePath);
143
+ titleIndex.set(key, existing);
144
+ }
145
+ const edges = [];
146
+ const seen = new Set();
147
+ for (const f of files) {
148
+ const fromDir = path.dirname(f.relativePath);
149
+ for (const link of f.wikilinks) {
150
+ const key = link.toLowerCase();
151
+ const candidates = stemIndex.get(key) ?? titleIndex.get(key) ?? [];
152
+ let target;
153
+ if (candidates.length === 1) {
154
+ target = candidates[0];
155
+ }
156
+ else if (candidates.length > 1) {
157
+ target = candidates.find(c => path.dirname(c) === fromDir) ?? candidates[0];
158
+ }
159
+ if (target && target !== f.relativePath) {
160
+ const edgeKey = `${f.relativePath}→${target}`;
161
+ if (!seen.has(edgeKey)) {
162
+ seen.add(edgeKey);
163
+ edges.push({ from: f.relativePath, to: target });
164
+ }
165
+ }
166
+ }
167
+ }
168
+ return { files, edges };
169
+ }
170
+ export function readVaultFile(projectRoot, relativePath) {
171
+ const resolved = path.resolve(projectRoot);
172
+ const abs = path.resolve(resolved, relativePath);
173
+ if (!abs.startsWith(resolved + path.sep) && abs !== resolved)
174
+ return null;
175
+ if (!abs.endsWith('.md'))
176
+ return null;
177
+ try {
178
+ return fs.readFileSync(abs, 'utf-8');
179
+ }
180
+ catch {
181
+ return null;
182
+ }
183
+ }
184
+ export function writeVaultFile(projectRoot, relativePath, content) {
185
+ const resolved = path.resolve(projectRoot);
186
+ const abs = path.resolve(resolved, relativePath);
187
+ if (!abs.startsWith(resolved + path.sep))
188
+ return false;
189
+ if (!abs.endsWith('.md'))
190
+ return false;
191
+ try {
192
+ fs.mkdirSync(path.dirname(abs), { recursive: true });
193
+ fs.writeFileSync(abs, content, 'utf-8');
194
+ return true;
195
+ }
196
+ catch {
197
+ return false;
198
+ }
199
+ }
200
+ export function deleteVaultFile(projectRoot, relativePath) {
201
+ const resolved = path.resolve(projectRoot);
202
+ const abs = path.resolve(resolved, relativePath);
203
+ if (!abs.startsWith(resolved + path.sep))
204
+ return false;
205
+ if (!abs.endsWith('.md'))
206
+ return false;
207
+ try {
208
+ fs.unlinkSync(abs);
209
+ return true;
210
+ }
211
+ catch {
212
+ return false;
213
+ }
214
+ }
215
+ export function renameVaultFile(projectRoot, oldPath, newPath) {
216
+ const resolved = path.resolve(projectRoot);
217
+ const absOld = path.resolve(resolved, oldPath);
218
+ const absNew = path.resolve(resolved, newPath);
219
+ if (!absOld.startsWith(resolved + path.sep))
220
+ return false;
221
+ if (!absNew.startsWith(resolved + path.sep))
222
+ return false;
223
+ if (!absOld.endsWith('.md') || !absNew.endsWith('.md'))
224
+ return false;
225
+ try {
226
+ fs.mkdirSync(path.dirname(absNew), { recursive: true });
227
+ fs.renameSync(absOld, absNew);
228
+ return true;
229
+ }
230
+ catch {
231
+ return false;
232
+ }
233
+ }
234
+ export function searchVault(projectRoot, query, excludePatterns) {
235
+ if (!query.trim())
236
+ return [];
237
+ const files = scanVault(projectRoot, excludePatterns);
238
+ const q = query.toLowerCase();
239
+ return files.filter(f => f.stem.toLowerCase().includes(q) ||
240
+ f.title.toLowerCase().includes(q) ||
241
+ f.tags.some(t => t.toLowerCase().includes(q)) ||
242
+ f.bodyPreview.toLowerCase().includes(q));
243
+ }
244
+ //# sourceMappingURL=file-scanner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-scanner.js","sourceRoot":"","sources":["../../../src/server/services/file-scanner.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,9 @@ export interface MemoryInjectionContext {
5
5
  nodeIds: string[];
6
6
  /** Raw markdown source files (relative paths under .clitrigger/raw) to inject verbatim. */
7
7
  rawFilePaths?: string[];
8
- /** Project root absolute path required when rawFilePaths is non-empty. */
8
+ /** Vault file paths (project-relative .md files) for file-based injection. */
9
+ vaultFilePaths?: string[];
10
+ /** Project root absolute path — required when rawFilePaths or vaultFilePaths is non-empty. */
9
11
  projectRoot?: string;
10
12
  /** Required for mode='auto' — task title + description, agent prompt, etc. */
11
13
  query?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"memory-inject-hook.d.ts","sourceRoot":"","sources":["../../../src/server/services/memory-inject-hook.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuC,KAAK,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAGlG,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,gBAAgB,CAAC;IACvB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,2FAA2F;IAC3F,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,4EAA4E;IAC5E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,8EAA8E;IAC9E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CAC9C;AAED,wBAAsB,oBAAoB,CAAC,GAAG,EAAE,sBAAsB,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAuF9F"}
1
+ {"version":3,"file":"memory-inject-hook.d.ts","sourceRoot":"","sources":["../../../src/server/services/memory-inject-hook.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuC,KAAK,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAKlG,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,gBAAgB,CAAC;IACvB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,2FAA2F;IAC3F,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,8EAA8E;IAC9E,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,8FAA8F;IAC9F,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,8EAA8E;IAC9E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CAC9C;AAED,wBAAsB,oBAAoB,CAAC,GAAG,EAAE,sBAAsB,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAY9F"}
@@ -1,6 +1,55 @@
1
1
  import { buildMemoryBlock, buildRawFileBlock } from './memory-injector.js';
2
2
  import { selectRelevantNodes } from './memory-retriever.js';
3
+ import { buildVaultBlock } from './vault-injector.js';
4
+ import { selectRelevantFiles } from './vault-retriever.js';
3
5
  export async function applyMemoryInjection(ctx) {
6
+ const vaultPaths = (ctx.vaultFilePaths ?? []).filter(Boolean);
7
+ const hasVault = vaultPaths.length > 0 || ctx.mode !== 'none';
8
+ const hasProjectRoot = !!ctx.projectRoot;
9
+ // Vault-based injection (new path): if vaultFilePaths is set or no nodeIds exist, use file-based
10
+ if (hasProjectRoot && (vaultPaths.length > 0 || (ctx.nodeIds.length === 0 && ctx.mode !== 'none'))) {
11
+ return applyVaultInjection(ctx, vaultPaths);
12
+ }
13
+ // Legacy node-based injection (old path): falls through when nodeIds are present
14
+ return applyLegacyInjection(ctx);
15
+ }
16
+ async function applyVaultInjection(ctx, vaultPaths) {
17
+ if (ctx.mode === 'none')
18
+ return null;
19
+ if (!ctx.projectRoot)
20
+ return null;
21
+ let effectiveMode = ctx.mode;
22
+ let effectivePaths = vaultPaths;
23
+ if (ctx.mode === 'auto') {
24
+ const query = (ctx.query || '').trim();
25
+ if (!query) {
26
+ ctx.log('output', `[vault] inject mode='auto' but no query provided — skipped`);
27
+ return null;
28
+ }
29
+ ctx.log('output', `[vault] inject mode='auto' — running retrieval...`);
30
+ const res = await selectRelevantFiles(ctx.projectId, ctx.projectRoot, query);
31
+ if (res.selectedPaths.length === 0) {
32
+ const reason = res.reason ?? 'unknown';
33
+ ctx.log('output', `[vault] auto retrieval picked 0 files (${reason}, ${res.candidateCount} candidate(s)) — skipped`);
34
+ return null;
35
+ }
36
+ ctx.log('output', `[vault] auto retrieval picked ${res.selectedPaths.length}/${res.candidateCount} candidate file(s)`);
37
+ effectiveMode = 'selected';
38
+ effectivePaths = res.selectedPaths;
39
+ }
40
+ const result = buildVaultBlock({
41
+ projectRoot: ctx.projectRoot,
42
+ mode: effectiveMode,
43
+ filePaths: effectivePaths,
44
+ });
45
+ if (!result) {
46
+ ctx.log('output', `[vault] inject mode '${ctx.mode}' produced no files — skipped`);
47
+ return null;
48
+ }
49
+ ctx.log('output', `[vault] injected ${result.fileCount} file(s), mode=${ctx.mode}`);
50
+ return result.block;
51
+ }
52
+ async function applyLegacyInjection(ctx) {
4
53
  const rawPaths = (ctx.rawFilePaths ?? []).filter(Boolean);
5
54
  const hasRaw = rawPaths.length > 0 && !!ctx.projectRoot;
6
55
  if (ctx.mode === 'none' && !hasRaw)