funolio-agent 0.12.2 → 0.13.0

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 (70) hide show
  1. package/dist/backfill.d.ts +71 -0
  2. package/dist/backfill.d.ts.map +1 -0
  3. package/dist/backfill.js +637 -0
  4. package/dist/backfill.js.map +1 -0
  5. package/dist/clerk-model.d.ts +28 -2
  6. package/dist/clerk-model.d.ts.map +1 -1
  7. package/dist/clerk-model.js +90 -29
  8. package/dist/clerk-model.js.map +1 -1
  9. package/dist/cli.js +36 -0
  10. package/dist/cli.js.map +1 -1
  11. package/dist/config-cleanup.d.ts +35 -0
  12. package/dist/config-cleanup.d.ts.map +1 -0
  13. package/dist/config-cleanup.js +167 -0
  14. package/dist/config-cleanup.js.map +1 -0
  15. package/dist/context-window.d.ts +79 -0
  16. package/dist/context-window.d.ts.map +1 -0
  17. package/dist/context-window.js +192 -0
  18. package/dist/context-window.js.map +1 -0
  19. package/dist/local-data.d.ts +110 -0
  20. package/dist/local-data.d.ts.map +1 -1
  21. package/dist/local-data.js +219 -3
  22. package/dist/local-data.js.map +1 -1
  23. package/dist/local-db.d.ts.map +1 -1
  24. package/dist/local-db.js +116 -3
  25. package/dist/local-db.js.map +1 -1
  26. package/dist/local-server.d.ts.map +1 -1
  27. package/dist/local-server.js +567 -29
  28. package/dist/local-server.js.map +1 -1
  29. package/dist/mcp/claude-config-writer.d.ts +28 -0
  30. package/dist/mcp/claude-config-writer.d.ts.map +1 -0
  31. package/dist/mcp/claude-config-writer.js +125 -0
  32. package/dist/mcp/claude-config-writer.js.map +1 -0
  33. package/dist/mcp/local-memory-server.d.ts.map +1 -1
  34. package/dist/mcp/local-memory-server.js +27 -2
  35. package/dist/mcp/local-memory-server.js.map +1 -1
  36. package/dist/mcp/manager.d.ts +4 -0
  37. package/dist/mcp/manager.d.ts.map +1 -1
  38. package/dist/mcp/manager.js +19 -0
  39. package/dist/mcp/manager.js.map +1 -1
  40. package/dist/mcp/marketplace.d.ts +52 -0
  41. package/dist/mcp/marketplace.d.ts.map +1 -0
  42. package/dist/mcp/marketplace.js +144 -0
  43. package/dist/mcp/marketplace.js.map +1 -0
  44. package/dist/orchestration/safeguards.d.ts +29 -0
  45. package/dist/orchestration/safeguards.d.ts.map +1 -0
  46. package/dist/orchestration/safeguards.js +32 -0
  47. package/dist/orchestration/safeguards.js.map +1 -0
  48. package/dist/orchestration/status-parser.d.ts +10 -6
  49. package/dist/orchestration/status-parser.d.ts.map +1 -1
  50. package/dist/orchestration/status-parser.js +35 -19
  51. package/dist/orchestration/status-parser.js.map +1 -1
  52. package/dist/orchestration/topic-normalizer.d.ts +15 -0
  53. package/dist/orchestration/topic-normalizer.d.ts.map +1 -0
  54. package/dist/orchestration/topic-normalizer.js +65 -0
  55. package/dist/orchestration/topic-normalizer.js.map +1 -0
  56. package/dist/providers/claude-cli.d.ts.map +1 -1
  57. package/dist/providers/claude-cli.js +8 -1
  58. package/dist/providers/claude-cli.js.map +1 -1
  59. package/dist/summarization-pipeline.d.ts +39 -0
  60. package/dist/summarization-pipeline.d.ts.map +1 -0
  61. package/dist/summarization-pipeline.js +280 -0
  62. package/dist/summarization-pipeline.js.map +1 -0
  63. package/dist/tools/search-local-memory.d.ts.map +1 -1
  64. package/dist/tools/search-local-memory.js +34 -2
  65. package/dist/tools/search-local-memory.js.map +1 -1
  66. package/dist/workflow-engine.d.ts +6 -0
  67. package/dist/workflow-engine.d.ts.map +1 -1
  68. package/dist/workflow-engine.js +174 -11
  69. package/dist/workflow-engine.js.map +1 -1
  70. package/package.json +1 -1
@@ -67,18 +67,44 @@ export declare class ClerkModel {
67
67
  */
68
68
  routeTask(prompt: string, agents: data.AgentProfileRow[]): Promise<TaskRoute>;
69
69
  /**
70
- * Build an optimized system prompt with relevant context, respecting token budget.
70
+ * Build an optimized system prompt using the structured template format.
71
+ *
72
+ * Template:
73
+ * SYSTEM: agent soul_md / role definition
74
+ * PROJECT: project name
75
+ * TOPIC: current topic title
76
+ * CONTEXT SUMMARY: latest compound summary (or "(none)")
77
+ * RECENT MESSAGES (LAST 5 TURNS): from context-window.ts
78
+ * INPUT ARTIFACT: RESULT from previous agent (if handoff)
79
+ * AVAILABLE TOOLS: tool descriptions
80
+ * OUTPUT FORMAT: RESULT/SUMMARY/STATUS (only for workflow steps)
71
81
  *
72
82
  * Budget allocation:
73
83
  * - System prompt base: ~500 tokens
74
84
  * - Memory facts: up to 30% of budget
75
85
  * - Decisions: up to 15% of budget
76
- * - Summaries: up to 15% of budget
86
+ * - Context summary: up to 15% of budget
77
87
  * - Remaining: reserved for conversation history
78
88
  */
79
89
  buildPrompt(userPrompt: string, agentId: string, profile: data.AgentProfileRow, opts?: {
80
90
  targetModel?: string;
81
91
  maxContextTokens?: number;
92
+ conversationId?: string;
93
+ isWorkflowStep?: boolean;
94
+ isCheckpoint?: boolean;
95
+ inputArtifact?: string;
96
+ projectName?: string;
97
+ topicTitle?: string;
98
+ workflowContext?: {
99
+ workflowId: string;
100
+ stepIndex: number;
101
+ totalSteps: number;
102
+ currentAgent: string;
103
+ pipelineState: string;
104
+ previousSteps?: string;
105
+ retryCount?: number;
106
+ loopCount?: number;
107
+ };
82
108
  }): BuiltPrompt;
83
109
  /**
84
110
  * Extract memory facts, decisions, action items, and entities from conversation messages.
@@ -1 +1 @@
1
- {"version":3,"file":"clerk-model.d.ts","sourceRoot":"","sources":["../src/clerk-model.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,KAAK,IAAI,MAAM,cAAc,CAAC;AAKrC,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,yEAAyE;IACzE,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,WAAW;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,gDAAgD;IAChD,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC9F,SAAS,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC3E,WAAW,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACxE,QAAQ,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACjD;AA8BD,qBAAa,UAAU;IACrB,OAAO,CAAC,MAAM,CAAmB;IACjC,OAAO,CAAC,GAAG,CAAc;gBAEb,MAAM,EAAE,gBAAgB;IAQpC;;;;OAIG;IACG,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,eAAe,EAAE,GAAG,OAAO,CAAC,SAAS,CAAC;IAyDnF;;;;;;;;;OASG;IACH,WAAW,CACT,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,IAAI,CAAC,eAAe,EAC7B,IAAI,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,gBAAgB,CAAC,EAAE,MAAM,CAAA;KAAE,GACzD,WAAW;IA2Gd;;;OAGG;IACG,aAAa,CACjB,cAAc,EAAE,MAAM,EACtB,QAAQ,EAAE,IAAI,CAAC,UAAU,EAAE,GAC1B,OAAO,CAAC,gBAAgB,CAAC;IAwC5B;;;OAGG;IACH,WAAW,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE;CAe/E;AAMD;;;GAGG;AACH,wBAAgB,QAAQ,IAAI,UAAU,GAAG,IAAI,CAsC5C;AAED,2DAA2D;AAC3D,wBAAgB,UAAU,IAAI,IAAI,CAEjC"}
1
+ {"version":3,"file":"clerk-model.d.ts","sourceRoot":"","sources":["../src/clerk-model.ts"],"names":[],"mappings":"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"}
@@ -51,6 +51,8 @@ exports.resetClerk = resetClerk;
51
51
  const index_1 = require("./providers/index");
52
52
  const data = __importStar(require("./local-data"));
53
53
  const config_1 = require("./config");
54
+ const context_window_1 = require("./context-window");
55
+ const safeguards_1 = require("./orchestration/safeguards");
54
56
  // ─── Token Estimation ────────────────────────────────────────────
55
57
  /** Rough token estimation: ~4 chars per token for English text */
56
58
  function estimateTokens(text) {
@@ -141,13 +143,23 @@ Respond with ONLY a JSON object: {"agentId": "...", "reasoning": "..."}`,
141
143
  };
142
144
  }
143
145
  /**
144
- * Build an optimized system prompt with relevant context, respecting token budget.
146
+ * Build an optimized system prompt using the structured template format.
147
+ *
148
+ * Template:
149
+ * SYSTEM: agent soul_md / role definition
150
+ * PROJECT: project name
151
+ * TOPIC: current topic title
152
+ * CONTEXT SUMMARY: latest compound summary (or "(none)")
153
+ * RECENT MESSAGES (LAST 5 TURNS): from context-window.ts
154
+ * INPUT ARTIFACT: RESULT from previous agent (if handoff)
155
+ * AVAILABLE TOOLS: tool descriptions
156
+ * OUTPUT FORMAT: RESULT/SUMMARY/STATUS (only for workflow steps)
145
157
  *
146
158
  * Budget allocation:
147
159
  * - System prompt base: ~500 tokens
148
160
  * - Memory facts: up to 30% of budget
149
161
  * - Decisions: up to 15% of budget
150
- * - Summaries: up to 15% of budget
162
+ * - Context summary: up to 15% of budget
151
163
  * - Remaining: reserved for conversation history
152
164
  */
153
165
  buildPrompt(userPrompt, agentId, profile, opts) {
@@ -156,13 +168,25 @@ Respond with ONLY a JSON object: {"agentId": "...", "reasoning": "..."}`,
156
168
  const maxContextTokens = opts?.maxContextTokens || this.config.maxContextTokens || 8000;
157
169
  // Reserve tokens for response (min 4K, max 20% of context window)
158
170
  const responseReserve = Math.min(Math.max(4000, Math.floor(contextWindow * 0.2)), 32000);
159
- // Build base system prompt
160
- let systemPrompt = profile.soul_md
171
+ // Build structured prompt
172
+ const promptParts = [];
173
+ // SYSTEM section
174
+ const soulMd = profile.soul_md
161
175
  || 'You are a Funolio AI agent running locally. You have access to project files and can execute code.';
162
- systemPrompt += '\n\nIMPORTANT: When the user references a project, topic, or past work, use the relevant memory/facts provided below. If no relevant facts are available, say so honestly rather than guessing. Use your tools (file browsing, commands) to find project files on the local machine.';
176
+ promptParts.push(soulMd);
177
+ promptParts.push('\nIf you need additional project context beyond what is provided here, use the search_local_memory tool to retrieve relevant summaries or artifacts.');
163
178
  if (profile.memory_md) {
164
- systemPrompt += '\n\n[Bot Memory]\n' + profile.memory_md;
179
+ promptParts.push('\n[Bot Memory]\n' + profile.memory_md);
180
+ }
181
+ // PROJECT section
182
+ if (opts?.projectName) {
183
+ promptParts.push(`\nPROJECT: ${opts.projectName}`);
165
184
  }
185
+ // TOPIC section
186
+ if (opts?.topicTitle) {
187
+ promptParts.push(`TOPIC: ${opts.topicTitle}`);
188
+ }
189
+ let systemPrompt = promptParts.join('\n');
166
190
  const baseTokens = estimateTokens(systemPrompt);
167
191
  let remainingBudget = maxContextTokens - baseTokens;
168
192
  let injectedFacts = 0;
@@ -171,8 +195,21 @@ Respond with ONLY a JSON object: {"agentId": "...", "reasoning": "..."}`,
171
195
  // Allocate budget for each context type
172
196
  const factsBudget = Math.floor(remainingBudget * 0.35);
173
197
  const decisionsBudget = Math.floor(remainingBudget * 0.15);
174
- const summariesBudget = Math.floor(remainingBudget * 0.15);
175
- // 1. Inject relevant memory facts (search by prompt keywords)
198
+ // CONTEXT SUMMARY section (from conversation_summary table)
199
+ let hasSummary = false;
200
+ if (opts?.conversationId) {
201
+ try {
202
+ const latest = (0, context_window_1.getLatestSummary)(opts.conversationId);
203
+ if (latest) {
204
+ hasSummary = true;
205
+ systemPrompt += '\n\n[Context Summary]\n' + latest.summary_text;
206
+ injectedSummaries = 1;
207
+ remainingBudget -= estimateTokens(latest.summary_text);
208
+ }
209
+ }
210
+ catch { /* DB not available */ }
211
+ }
212
+ // Inject relevant memory facts (search by prompt keywords)
176
213
  try {
177
214
  const facts = data.searchMemoryFacts(userPrompt, agentId, 50);
178
215
  if (facts.length > 0) {
@@ -194,7 +231,7 @@ Respond with ONLY a JSON object: {"agentId": "...", "reasoning": "..."}`,
194
231
  }
195
232
  }
196
233
  catch { /* DB not available */ }
197
- // 2. Inject relevant decisions
234
+ // Inject relevant decisions
198
235
  try {
199
236
  const decisions = data.listDecisions({ limit: 20 });
200
237
  if (decisions.length > 0) {
@@ -216,29 +253,53 @@ Respond with ONLY a JSON object: {"agentId": "...", "reasoning": "..."}`,
216
253
  }
217
254
  }
218
255
  catch { /* DB not available */ }
219
- // 3. Inject conversation summaries for context
220
- try {
221
- const recentConvs = data.listConversations({ limit: 5 });
222
- const summaries = recentConvs.filter(c => c.summary);
223
- if (summaries.length > 0) {
224
- let summariesText = '';
225
- let summariesTokens = 0;
226
- for (const c of summaries) {
227
- const line = `- [${c.title || 'Untitled'}] ${c.summary}\n`;
228
- const lineTokens = estimateTokens(line);
229
- if (summariesTokens + lineTokens > summariesBudget)
230
- break;
231
- summariesText += line;
232
- summariesTokens += lineTokens;
233
- injectedSummaries++;
234
- }
235
- if (summariesText) {
236
- systemPrompt += '\n\n[Recent Conversation Summaries]\n' + summariesText.trimEnd();
237
- remainingBudget -= summariesTokens;
256
+ // RECENT MESSAGES section
257
+ if (opts?.conversationId) {
258
+ try {
259
+ const turnWindow = hasSummary
260
+ ? safeguards_1.SAFEGUARDS.CONTEXT_WINDOW_TURNS
261
+ : safeguards_1.SAFEGUARDS.NO_SUMMARY_CONTEXT_WINDOW_TURNS;
262
+ const recentTurns = (0, context_window_1.getRecentTurns)(opts.conversationId, turnWindow);
263
+ if (recentTurns.length > 0) {
264
+ const turnsText = (0, context_window_1.formatTurnsForPrompt)(recentTurns);
265
+ const turnsTokens = estimateTokens(turnsText);
266
+ if (turnsTokens < remainingBudget * 0.6) {
267
+ systemPrompt += `\n\n[Recent Messages (Last ${recentTurns.length} Turns)]\n` + turnsText;
268
+ remainingBudget -= turnsTokens;
269
+ }
238
270
  }
239
271
  }
272
+ catch { /* DB not available */ }
273
+ }
274
+ // INPUT ARTIFACT section (handoff from previous agent)
275
+ if (opts?.inputArtifact) {
276
+ systemPrompt += '\n\n[Input from Previous Step]\n' + opts.inputArtifact;
277
+ remainingBudget -= estimateTokens(opts.inputArtifact);
278
+ }
279
+ // WORKFLOW STATE section (current step, pipeline position, retry counters)
280
+ if (opts?.workflowContext) {
281
+ const wc = opts.workflowContext;
282
+ const parts = [`Pipeline: ${wc.pipelineState}`];
283
+ if (wc.previousSteps)
284
+ parts.push(`Previous: ${wc.previousSteps}`);
285
+ if (wc.retryCount && wc.retryCount > 0)
286
+ parts.push(`Retry: attempt ${wc.retryCount + 1} of ${safeguards_1.SAFEGUARDS.MAX_AGENT_ATTEMPTS}`);
287
+ if (wc.loopCount && wc.loopCount > 0)
288
+ parts.push(`QA loop: iteration ${wc.loopCount}`);
289
+ const stateText = parts.join('\n');
290
+ systemPrompt += '\n\n[Workflow State]\n' + stateText;
291
+ remainingBudget -= estimateTokens(stateText);
292
+ }
293
+ // OUTPUT FORMAT — only for workflow/template steps (prompt-mode gating)
294
+ if (opts?.isWorkflowStep) {
295
+ systemPrompt += `\n\nOUTPUT FORMAT (MANDATORY):
296
+ RESULT: <your deliverable>
297
+ SUMMARY: <1-2 sentence explanation>
298
+ STATUS: PASS | FAIL | COMPLETE | UNKNOWN`;
299
+ if (opts?.isCheckpoint) {
300
+ systemPrompt += '\n\nThis is a quality checkpoint. You MUST return STATUS: PASS or STATUS: FAIL.';
301
+ }
240
302
  }
241
- catch { /* DB not available */ }
242
303
  // Calculate history budget: remaining context window - system prompt - response reserve
243
304
  const systemTokens = estimateTokens(systemPrompt);
244
305
  const historyBudget = contextWindow - systemTokens - responseReserve;
@@ -1 +1 @@
1
- {"version":3,"file":"clerk-model.js","sourceRoot":"","sources":["../src/clerk-model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"clerk-model.js","sourceRoot":"","sources":["../src/clerk-model.ts"],"names":[],"mappings":"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"}
package/dist/cli.js CHANGED
@@ -188,5 +188,41 @@ program
188
188
  const { startMcpServer } = await Promise.resolve().then(() => __importStar(require('./mcp/local-memory-server')));
189
189
  startMcpServer();
190
190
  });
191
+ program
192
+ .command('backfill')
193
+ .description('Backfill existing conversations with project/topic assignment and artifact extraction')
194
+ .action(async () => {
195
+ const { initLocalDb } = await Promise.resolve().then(() => __importStar(require('./local-db')));
196
+ const { backfillAll } = await Promise.resolve().then(() => __importStar(require('./backfill')));
197
+ const { isClerkConfigured } = await Promise.resolve().then(() => __importStar(require('./summarization-pipeline')));
198
+ // Initialize DB
199
+ initLocalDb();
200
+ if (!isClerkConfigured()) {
201
+ console.error(chalk_1.default.red('Error: Configure a clerk model before running backfill.'));
202
+ console.error(chalk_1.default.yellow('Run the app and go to Settings → Orchestration to configure a clerk model.'));
203
+ process.exit(1);
204
+ }
205
+ console.log(chalk_1.default.blue('Starting backfill of existing conversations...'));
206
+ const result = await backfillAll((progress) => {
207
+ process.stdout.write(`\r Processing ${progress.processedConversations}/${progress.totalConversations} conversations...`);
208
+ }, undefined, {
209
+ includeSummaries: false,
210
+ includeProjectCatalog: true,
211
+ });
212
+ console.log('\n');
213
+ console.log(chalk_1.default.green('Backfill complete:'));
214
+ console.log(` Conversations processed: ${result.conversationsProcessed}`);
215
+ console.log(` Summaries created: ${result.summariesCreated}`);
216
+ console.log(` Decisions extracted: ${result.decisionsExtracted}`);
217
+ console.log(` Action items extracted: ${result.actionItemsExtracted}`);
218
+ console.log(` Facts extracted: ${result.factsExtracted}`);
219
+ console.log(` Topics created: ${result.topicsCreated}`);
220
+ if (result.errors.length > 0) {
221
+ console.log(chalk_1.default.yellow(`\n Errors (${result.errors.length}):`));
222
+ for (const err of result.errors.slice(0, 10)) {
223
+ console.log(chalk_1.default.yellow(` - ${err}`));
224
+ }
225
+ }
226
+ });
191
227
  program.parse();
192
228
  //# sourceMappingURL=cli.js.map
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Config File Cleanup — Auto-Condense Large Project Context Files
3
+ *
4
+ * Scans project directories for large .md files (CLAUDE.md, README, etc.)
5
+ * and uses the clerk model to condense them. Condensed versions are stored
6
+ * in project_setting table with SHA-256 hash for idempotency.
7
+ *
8
+ * Re-runs only re-condense files whose content has changed (hash mismatch).
9
+ */
10
+ export interface CleanupResult {
11
+ filesScanned: number;
12
+ filesCondensed: number;
13
+ filesSkipped: number;
14
+ errors: string[];
15
+ }
16
+ /**
17
+ * Scan a project directory for large context files.
18
+ */
19
+ export declare function scanProjectFiles(projectDir: string): Array<{
20
+ name: string;
21
+ path: string;
22
+ size: number;
23
+ }>;
24
+ /**
25
+ * Run config file cleanup for a project.
26
+ * Uses hash-based idempotency — only re-condenses changed files.
27
+ */
28
+ export declare function runConfigCleanup(projectId: string, projectDir: string, opts?: {
29
+ force?: boolean;
30
+ }): Promise<CleanupResult>;
31
+ /**
32
+ * Get the condensed version of a context file, or null if not condensed.
33
+ */
34
+ export declare function getCondensedFile(projectId: string, filename: string): string | null;
35
+ //# sourceMappingURL=config-cleanup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-cleanup.d.ts","sourceRoot":"","sources":["../src/config-cleanup.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAYH,MAAM,WAAW,aAAa;IAC5B,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAUD;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,GAAG,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CA4BxG;AAmCD;;;GAGG;AACH,wBAAsB,gBAAgB,CACpC,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,IAAI,CAAC,EAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,GACzB,OAAO,CAAC,aAAa,CAAC,CAyCxB;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAMnF"}
@@ -0,0 +1,167 @@
1
+ "use strict";
2
+ /**
3
+ * Config File Cleanup — Auto-Condense Large Project Context Files
4
+ *
5
+ * Scans project directories for large .md files (CLAUDE.md, README, etc.)
6
+ * and uses the clerk model to condense them. Condensed versions are stored
7
+ * in project_setting table with SHA-256 hash for idempotency.
8
+ *
9
+ * Re-runs only re-condense files whose content has changed (hash mismatch).
10
+ */
11
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
12
+ if (k2 === undefined) k2 = k;
13
+ var desc = Object.getOwnPropertyDescriptor(m, k);
14
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
15
+ desc = { enumerable: true, get: function() { return m[k]; } };
16
+ }
17
+ Object.defineProperty(o, k2, desc);
18
+ }) : (function(o, m, k, k2) {
19
+ if (k2 === undefined) k2 = k;
20
+ o[k2] = m[k];
21
+ }));
22
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
23
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
24
+ }) : function(o, v) {
25
+ o["default"] = v;
26
+ });
27
+ var __importStar = (this && this.__importStar) || (function () {
28
+ var ownKeys = function(o) {
29
+ ownKeys = Object.getOwnPropertyNames || function (o) {
30
+ var ar = [];
31
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
32
+ return ar;
33
+ };
34
+ return ownKeys(o);
35
+ };
36
+ return function (mod) {
37
+ if (mod && mod.__esModule) return mod;
38
+ var result = {};
39
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
40
+ __setModuleDefault(result, mod);
41
+ return result;
42
+ };
43
+ })();
44
+ Object.defineProperty(exports, "__esModule", { value: true });
45
+ exports.scanProjectFiles = scanProjectFiles;
46
+ exports.runConfigCleanup = runConfigCleanup;
47
+ exports.getCondensedFile = getCondensedFile;
48
+ const clerk_model_1 = require("./clerk-model");
49
+ const summarization_pipeline_1 = require("./summarization-pipeline");
50
+ const data = __importStar(require("./local-data"));
51
+ const safeguards_1 = require("./orchestration/safeguards");
52
+ const fs = __importStar(require("fs"));
53
+ const path = __importStar(require("path"));
54
+ const crypto = __importStar(require("crypto"));
55
+ // ─── File Scanning ──────────────────────────────────────────────
56
+ /** Files to scan for condensation */
57
+ const CONTEXT_FILE_PATTERNS = [
58
+ 'CLAUDE.md', 'README.md', 'AGENTS.md', 'MEMORY.md',
59
+ 'TOOLS.md', 'SKILLS.md', 'CONTRIBUTING.md',
60
+ ];
61
+ /**
62
+ * Scan a project directory for large context files.
63
+ */
64
+ function scanProjectFiles(projectDir) {
65
+ const results = [];
66
+ for (const filename of CONTEXT_FILE_PATTERNS) {
67
+ const filePath = path.join(projectDir, filename);
68
+ if (fs.existsSync(filePath)) {
69
+ const stat = fs.statSync(filePath);
70
+ if (stat.size > safeguards_1.SAFEGUARDS.CONFIG_CONDENSE_THRESHOLD) {
71
+ results.push({ name: filename, path: filePath, size: stat.size });
72
+ }
73
+ }
74
+ }
75
+ // Also check .claude subdirectory
76
+ const claudeDir = path.join(projectDir, '.claude');
77
+ if (fs.existsSync(claudeDir)) {
78
+ for (const filename of CONTEXT_FILE_PATTERNS) {
79
+ const filePath = path.join(claudeDir, filename);
80
+ if (fs.existsSync(filePath)) {
81
+ const stat = fs.statSync(filePath);
82
+ if (stat.size > safeguards_1.SAFEGUARDS.CONFIG_CONDENSE_THRESHOLD) {
83
+ results.push({ name: `.claude/${filename}`, path: filePath, size: stat.size });
84
+ }
85
+ }
86
+ }
87
+ }
88
+ return results;
89
+ }
90
+ // ─── Condensation ───────────────────────────────────────────────
91
+ /**
92
+ * Condense a file using the clerk model.
93
+ */
94
+ async function condenseFile(content, filename) {
95
+ const clerk = (0, clerk_model_1.getClerk)();
96
+ if (!clerk)
97
+ throw new Error('No clerk available');
98
+ const clerkLlm = clerk.llm;
99
+ const response = await Promise.race([
100
+ clerkLlm.chat({
101
+ messages: [{ role: 'user', content: `Condense this configuration/documentation file. Keep all actionable instructions, conventions, and rules. Remove verbose explanations, examples, and repetition.\n\nFile: ${filename}\n\n${content}` }],
102
+ system: 'You condense documentation files while preserving all actionable content. Return ONLY the condensed text, no commentary.',
103
+ stream: false,
104
+ }),
105
+ new Promise((_, reject) => setTimeout(() => reject(new Error('Condensation timeout')), safeguards_1.SAFEGUARDS.HELPER_TIMEOUT_MS)),
106
+ ]);
107
+ return response.content?.trim() || content;
108
+ }
109
+ /**
110
+ * Compute SHA-256 hash of file contents.
111
+ */
112
+ function sha256(content) {
113
+ return crypto.createHash('sha256').update(content).digest('hex');
114
+ }
115
+ // ─── Main Cleanup ───────────────────────────────────────────────
116
+ /**
117
+ * Run config file cleanup for a project.
118
+ * Uses hash-based idempotency — only re-condenses changed files.
119
+ */
120
+ async function runConfigCleanup(projectId, projectDir, opts) {
121
+ if (!(0, summarization_pipeline_1.isClerkConfigured)()) {
122
+ return { filesScanned: 0, filesCondensed: 0, filesSkipped: 0, errors: ['Clerk not configured'] };
123
+ }
124
+ const files = scanProjectFiles(projectDir);
125
+ const result = {
126
+ filesScanned: files.length,
127
+ filesCondensed: 0,
128
+ filesSkipped: 0,
129
+ errors: [],
130
+ };
131
+ for (const file of files) {
132
+ try {
133
+ const content = fs.readFileSync(file.path, 'utf-8');
134
+ const currentHash = sha256(content);
135
+ // Check stored hash for idempotency
136
+ if (!opts?.force) {
137
+ const storedHash = data.getProjectSetting(projectId, `condensed_hash:${file.name}`);
138
+ if (storedHash === currentHash) {
139
+ result.filesSkipped++;
140
+ continue; // File unchanged, already condensed
141
+ }
142
+ }
143
+ // Condense via clerk
144
+ const condensed = await condenseFile(content, file.name);
145
+ // Store condensed text + hash
146
+ data.setProjectSetting(projectId, `condensed:${file.name}`, condensed);
147
+ data.setProjectSetting(projectId, `condensed_hash:${file.name}`, currentHash);
148
+ result.filesCondensed++;
149
+ }
150
+ catch (err) {
151
+ result.errors.push(`${file.name}: ${err.message}`);
152
+ }
153
+ }
154
+ return result;
155
+ }
156
+ /**
157
+ * Get the condensed version of a context file, or null if not condensed.
158
+ */
159
+ function getCondensedFile(projectId, filename) {
160
+ try {
161
+ return data.getProjectSetting(projectId, `condensed:${filename}`) || null;
162
+ }
163
+ catch {
164
+ return null;
165
+ }
166
+ }
167
+ //# sourceMappingURL=config-cleanup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-cleanup.js","sourceRoot":"","sources":["../src/config-cleanup.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,79 @@
1
+ /**
2
+ * Context Window Manager — Sliding Window for Conversation Turns
3
+ *
4
+ * A "turn" = one user message + all following assistant/tool messages
5
+ * before the next user message.
6
+ *
7
+ * Responsibilities:
8
+ * - Count turns in a conversation
9
+ * - Return the last N turns as structured objects
10
+ * - Determine when summarization should trigger (every 5 turns)
11
+ * - Retrieve turns that need summarizing
12
+ * - Get/store conversation summaries
13
+ */
14
+ import * as data from './local-data';
15
+ export interface Turn {
16
+ index: number;
17
+ userMessage: data.MessageRow;
18
+ responses: data.MessageRow[];
19
+ }
20
+ export interface ConversationSummaryRow {
21
+ id: string;
22
+ conversation_id: string;
23
+ summary_text: string;
24
+ turn_range_start: number;
25
+ turn_range_end: number;
26
+ decisions_json: string | null;
27
+ action_items_json: string | null;
28
+ facts_json: string | null;
29
+ created_at: string;
30
+ }
31
+ /**
32
+ * Count turns from messages. A turn = user msg + all following
33
+ * assistant/tool messages before the next user message.
34
+ */
35
+ export declare function countTurns(conversationId: string): number;
36
+ /**
37
+ * Parse messages into structured turns.
38
+ */
39
+ export declare function parseTurns(messages: data.MessageRow[]): Turn[];
40
+ /**
41
+ * Get the last N turns for a conversation.
42
+ */
43
+ export declare function getRecentTurns(conversationId: string, count?: number): Turn[];
44
+ /**
45
+ * Format turns as text for inclusion in prompts.
46
+ */
47
+ export declare function formatTurnsForPrompt(turns: Turn[]): string;
48
+ /**
49
+ * Check if summarization should trigger.
50
+ * Triggers every 5 turns (at turn 5, 10, 15, ...).
51
+ * Only triggers if the latest summary doesn't already cover these turns.
52
+ */
53
+ export declare function shouldSummarize(conversationId: string): boolean;
54
+ /**
55
+ * Get the turns that need to be summarized.
56
+ * Returns the 5 turns since the last summary endpoint.
57
+ */
58
+ export declare function getTurnsForSummarization(conversationId: string): Turn[];
59
+ /**
60
+ * Get the most recent summary for a conversation.
61
+ */
62
+ export declare function getLatestSummary(conversationId: string): ConversationSummaryRow | null;
63
+ /**
64
+ * Get all summaries for a conversation, in order.
65
+ */
66
+ export declare function getAllSummaries(conversationId: string): ConversationSummaryRow[];
67
+ /**
68
+ * Store a new conversation summary.
69
+ */
70
+ export declare function storeSummary(conversationId: string, summaryText: string, turnRangeStart: number, turnRangeEnd: number, extractions?: {
71
+ decisions?: any[];
72
+ actionItems?: any[];
73
+ facts?: any[];
74
+ }): ConversationSummaryRow;
75
+ /**
76
+ * Increment the turn count on a conversation. Called after saving a user message.
77
+ */
78
+ export declare function incrementTurnCount(conversationId: string): void;
79
+ //# sourceMappingURL=context-window.d.ts.map