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.
- package/dist/backfill.d.ts +71 -0
- package/dist/backfill.d.ts.map +1 -0
- package/dist/backfill.js +637 -0
- package/dist/backfill.js.map +1 -0
- package/dist/clerk-model.d.ts +28 -2
- package/dist/clerk-model.d.ts.map +1 -1
- package/dist/clerk-model.js +90 -29
- package/dist/clerk-model.js.map +1 -1
- package/dist/cli.js +36 -0
- package/dist/cli.js.map +1 -1
- package/dist/config-cleanup.d.ts +35 -0
- package/dist/config-cleanup.d.ts.map +1 -0
- package/dist/config-cleanup.js +167 -0
- package/dist/config-cleanup.js.map +1 -0
- package/dist/context-window.d.ts +79 -0
- package/dist/context-window.d.ts.map +1 -0
- package/dist/context-window.js +192 -0
- package/dist/context-window.js.map +1 -0
- package/dist/local-data.d.ts +110 -0
- package/dist/local-data.d.ts.map +1 -1
- package/dist/local-data.js +219 -3
- package/dist/local-data.js.map +1 -1
- package/dist/local-db.d.ts.map +1 -1
- package/dist/local-db.js +116 -3
- package/dist/local-db.js.map +1 -1
- package/dist/local-server.d.ts.map +1 -1
- package/dist/local-server.js +567 -29
- package/dist/local-server.js.map +1 -1
- package/dist/mcp/claude-config-writer.d.ts +28 -0
- package/dist/mcp/claude-config-writer.d.ts.map +1 -0
- package/dist/mcp/claude-config-writer.js +125 -0
- package/dist/mcp/claude-config-writer.js.map +1 -0
- package/dist/mcp/local-memory-server.d.ts.map +1 -1
- package/dist/mcp/local-memory-server.js +27 -2
- package/dist/mcp/local-memory-server.js.map +1 -1
- package/dist/mcp/manager.d.ts +4 -0
- package/dist/mcp/manager.d.ts.map +1 -1
- package/dist/mcp/manager.js +19 -0
- package/dist/mcp/manager.js.map +1 -1
- package/dist/mcp/marketplace.d.ts +52 -0
- package/dist/mcp/marketplace.d.ts.map +1 -0
- package/dist/mcp/marketplace.js +144 -0
- package/dist/mcp/marketplace.js.map +1 -0
- package/dist/orchestration/safeguards.d.ts +29 -0
- package/dist/orchestration/safeguards.d.ts.map +1 -0
- package/dist/orchestration/safeguards.js +32 -0
- package/dist/orchestration/safeguards.js.map +1 -0
- package/dist/orchestration/status-parser.d.ts +10 -6
- package/dist/orchestration/status-parser.d.ts.map +1 -1
- package/dist/orchestration/status-parser.js +35 -19
- package/dist/orchestration/status-parser.js.map +1 -1
- package/dist/orchestration/topic-normalizer.d.ts +15 -0
- package/dist/orchestration/topic-normalizer.d.ts.map +1 -0
- package/dist/orchestration/topic-normalizer.js +65 -0
- package/dist/orchestration/topic-normalizer.js.map +1 -0
- package/dist/providers/claude-cli.d.ts.map +1 -1
- package/dist/providers/claude-cli.js +8 -1
- package/dist/providers/claude-cli.js.map +1 -1
- package/dist/summarization-pipeline.d.ts +39 -0
- package/dist/summarization-pipeline.d.ts.map +1 -0
- package/dist/summarization-pipeline.js +280 -0
- package/dist/summarization-pipeline.js.map +1 -0
- package/dist/tools/search-local-memory.d.ts.map +1 -1
- package/dist/tools/search-local-memory.js +34 -2
- package/dist/tools/search-local-memory.js.map +1 -1
- package/dist/workflow-engine.d.ts +6 -0
- package/dist/workflow-engine.d.ts.map +1 -1
- package/dist/workflow-engine.js +174 -11
- package/dist/workflow-engine.js.map +1 -1
- package/package.json +1 -1
package/dist/mcp/manager.js
CHANGED
|
@@ -317,6 +317,25 @@ class MCPManager extends events_1.EventEmitter {
|
|
|
317
317
|
this.rebuildToolList();
|
|
318
318
|
this.saveConfigs();
|
|
319
319
|
}
|
|
320
|
+
/**
|
|
321
|
+
* Uninstall an MCP server — stop if running, remove persisted config.
|
|
322
|
+
*/
|
|
323
|
+
async uninstallServer(id) {
|
|
324
|
+
// Stop if running
|
|
325
|
+
const instance = this.servers.get(id);
|
|
326
|
+
if (instance) {
|
|
327
|
+
instance.process.kill();
|
|
328
|
+
this.servers.delete(id);
|
|
329
|
+
this.rebuildToolList();
|
|
330
|
+
}
|
|
331
|
+
// Remove from persisted configs even if not currently running
|
|
332
|
+
const configs = this.loadPersistedConfigs().filter((c) => c.id !== id);
|
|
333
|
+
const dir = path.dirname(this.configPath);
|
|
334
|
+
if (!fs.existsSync(dir)) {
|
|
335
|
+
fs.mkdirSync(dir, { recursive: true, mode: 0o700 });
|
|
336
|
+
}
|
|
337
|
+
fs.writeFileSync(this.configPath, JSON.stringify(configs, null, 2), { mode: 0o600 });
|
|
338
|
+
}
|
|
320
339
|
/** Set always-on flag for a server */
|
|
321
340
|
setAlwaysOn(id, alwaysOn) {
|
|
322
341
|
const instance = this.servers.get(id);
|
package/dist/mcp/manager.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manager.js","sourceRoot":"","sources":["../../src/mcp/manager.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"manager.js","sourceRoot":"","sources":["../../src/mcp/manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MCP Marketplace — enriched tool catalog with layman descriptions
|
|
3
|
+
* for the desktop Tools page. Augments BUILTIN_REGISTRY entries.
|
|
4
|
+
*/
|
|
5
|
+
import { MCPServerEntry } from './registry';
|
|
6
|
+
export interface MarketplaceCategory {
|
|
7
|
+
id: string;
|
|
8
|
+
label: string;
|
|
9
|
+
}
|
|
10
|
+
export declare const MARKETPLACE_CATEGORIES: MarketplaceCategory[];
|
|
11
|
+
export interface MarketplaceToolInfo {
|
|
12
|
+
/** Matches MCPServerEntry.id */
|
|
13
|
+
id: string;
|
|
14
|
+
/** Short bold tagline */
|
|
15
|
+
tagline: string;
|
|
16
|
+
/** "Your AI can..." description */
|
|
17
|
+
whatAiGets: string;
|
|
18
|
+
/** "When you'd use it" hint */
|
|
19
|
+
whenToUse: string;
|
|
20
|
+
/** What's required — human-readable */
|
|
21
|
+
requires: string;
|
|
22
|
+
/** Category for filtering */
|
|
23
|
+
category: string;
|
|
24
|
+
/** Icon color (tailwind bg class) */
|
|
25
|
+
iconColor: string;
|
|
26
|
+
/** Human-readable env var labels */
|
|
27
|
+
envVarLabels?: Record<string, string>;
|
|
28
|
+
}
|
|
29
|
+
export type MarketplaceInstallStatus = 'not_installed' | 'installed' | 'running';
|
|
30
|
+
export interface MarketplaceTool {
|
|
31
|
+
/** Registry entry (id, name, description, envVars, trustLevel, etc.) */
|
|
32
|
+
entry: MCPServerEntry;
|
|
33
|
+
/** Marketplace enrichment */
|
|
34
|
+
info: MarketplaceToolInfo;
|
|
35
|
+
/** Current install/run status */
|
|
36
|
+
status: MarketplaceInstallStatus;
|
|
37
|
+
/** Whether it's also configured in Claude Code */
|
|
38
|
+
inClaudeConfig: boolean;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Build the full marketplace catalog by merging registry + marketplace info.
|
|
42
|
+
* Status and Claude config checks are done by the caller (local-server).
|
|
43
|
+
*/
|
|
44
|
+
export declare function buildMarketplaceCatalog(): Array<{
|
|
45
|
+
entry: MCPServerEntry;
|
|
46
|
+
info: MarketplaceToolInfo;
|
|
47
|
+
}>;
|
|
48
|
+
/**
|
|
49
|
+
* Get marketplace info for a single tool by id.
|
|
50
|
+
*/
|
|
51
|
+
export declare function getMarketplaceInfo(toolId: string): MarketplaceToolInfo | undefined;
|
|
52
|
+
//# sourceMappingURL=marketplace.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"marketplace.d.ts","sourceRoot":"","sources":["../../src/mcp/marketplace.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAoB,cAAc,EAAE,MAAM,YAAY,CAAC;AAE9D,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;CACf;AAED,eAAO,MAAM,sBAAsB,EAAE,mBAAmB,EAOvD,CAAC;AAEF,MAAM,WAAW,mBAAmB;IAClC,gCAAgC;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,yBAAyB;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,mCAAmC;IACnC,UAAU,EAAE,MAAM,CAAC;IACnB,+BAA+B;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,uCAAuC;IACvC,QAAQ,EAAE,MAAM,CAAC;IACjB,6BAA6B;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,qCAAqC;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,oCAAoC;IACpC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACvC;AA4GD,MAAM,MAAM,wBAAwB,GAAG,eAAe,GAAG,WAAW,GAAG,SAAS,CAAC;AAEjF,MAAM,WAAW,eAAe;IAC9B,wEAAwE;IACxE,KAAK,EAAE,cAAc,CAAC;IACtB,6BAA6B;IAC7B,IAAI,EAAE,mBAAmB,CAAC;IAC1B,iCAAiC;IACjC,MAAM,EAAE,wBAAwB,CAAC;IACjC,kDAAkD;IAClD,cAAc,EAAE,OAAO,CAAC;CACzB;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,IAAI,KAAK,CAAC;IAAE,KAAK,EAAE,cAAc,CAAC;IAAC,IAAI,EAAE,mBAAmB,CAAA;CAAE,CAAC,CAWrG;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,mBAAmB,GAAG,SAAS,CAElF"}
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* MCP Marketplace — enriched tool catalog with layman descriptions
|
|
4
|
+
* for the desktop Tools page. Augments BUILTIN_REGISTRY entries.
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.MARKETPLACE_CATEGORIES = void 0;
|
|
8
|
+
exports.buildMarketplaceCatalog = buildMarketplaceCatalog;
|
|
9
|
+
exports.getMarketplaceInfo = getMarketplaceInfo;
|
|
10
|
+
const registry_1 = require("./registry");
|
|
11
|
+
exports.MARKETPLACE_CATEGORIES = [
|
|
12
|
+
{ id: 'all', label: 'All' },
|
|
13
|
+
{ id: 'productivity', label: 'Productivity' },
|
|
14
|
+
{ id: 'developer', label: 'Developer' },
|
|
15
|
+
{ id: 'data', label: 'Data' },
|
|
16
|
+
{ id: 'browser', label: 'Browser' },
|
|
17
|
+
{ id: 'memory', label: 'Memory' },
|
|
18
|
+
];
|
|
19
|
+
const MARKETPLACE_INFO = [
|
|
20
|
+
{
|
|
21
|
+
id: 'funolio-memory',
|
|
22
|
+
tagline: 'Your AI remembers everything you\'ve discussed',
|
|
23
|
+
whatAiGets: 'Search conversation history, facts, decisions, and action items across all projects',
|
|
24
|
+
whenToUse: 'When you want AI to recall a past conversation or find a decision from weeks ago',
|
|
25
|
+
requires: 'Nothing — built in',
|
|
26
|
+
category: 'memory',
|
|
27
|
+
iconColor: 'bg-purple-500',
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
id: 'playwright',
|
|
31
|
+
tagline: 'Your AI can browse the web like a person',
|
|
32
|
+
whatAiGets: 'Open websites, click buttons, fill out forms, take screenshots, read page content',
|
|
33
|
+
whenToUse: 'When you want AI to research something online or test a website',
|
|
34
|
+
requires: 'Free, no setup',
|
|
35
|
+
category: 'browser',
|
|
36
|
+
iconColor: 'bg-green-500',
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
id: 'github',
|
|
40
|
+
tagline: 'Your AI can work with your GitHub repos',
|
|
41
|
+
whatAiGets: 'List repos, create issues, search code, read pull requests, check CI status',
|
|
42
|
+
whenToUse: 'When you want AI to file a bug, review a PR, or search code on GitHub',
|
|
43
|
+
requires: 'GitHub token (free from github.com/settings/tokens)',
|
|
44
|
+
category: 'developer',
|
|
45
|
+
iconColor: 'bg-gray-700',
|
|
46
|
+
envVarLabels: { GITHUB_TOKEN: 'GitHub Personal Access Token' },
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
id: 'slack',
|
|
50
|
+
tagline: 'Your AI can read and send Slack messages',
|
|
51
|
+
whatAiGets: 'Read channels, send messages, reply to threads, list channels',
|
|
52
|
+
whenToUse: 'When you want AI to post updates or summarize channel activity',
|
|
53
|
+
requires: 'Slack Bot Token (from api.slack.com)',
|
|
54
|
+
category: 'productivity',
|
|
55
|
+
iconColor: 'bg-pink-500',
|
|
56
|
+
envVarLabels: { SLACK_BOT_TOKEN: 'Slack Bot Token' },
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
id: 'notion',
|
|
60
|
+
tagline: 'Your AI can read and write your Notion workspace',
|
|
61
|
+
whatAiGets: 'Search pages, read content, create pages, query databases',
|
|
62
|
+
whenToUse: 'When you want AI to pull from Notion docs or create meeting notes',
|
|
63
|
+
requires: 'Notion API key (from notion.so/my-integrations)',
|
|
64
|
+
category: 'productivity',
|
|
65
|
+
iconColor: 'bg-stone-700',
|
|
66
|
+
envVarLabels: { NOTION_API_KEY: 'Notion API Key' },
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
id: 'postgres',
|
|
70
|
+
tagline: 'Your AI can query your Postgres database',
|
|
71
|
+
whatAiGets: 'Run SQL queries, inspect table schemas, list tables',
|
|
72
|
+
whenToUse: 'When you want AI to answer questions about your data or debug queries',
|
|
73
|
+
requires: 'Database connection string',
|
|
74
|
+
category: 'data',
|
|
75
|
+
iconColor: 'bg-blue-600',
|
|
76
|
+
envVarLabels: { DATABASE_URL: 'Database Connection String' },
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
id: 'sqlite',
|
|
80
|
+
tagline: 'Your AI can query local SQLite databases',
|
|
81
|
+
whatAiGets: 'Run SQL, inspect tables, explore local .db files',
|
|
82
|
+
whenToUse: 'When you want AI to analyze a local database file',
|
|
83
|
+
requires: 'Nothing — just point it at a .db file',
|
|
84
|
+
category: 'data',
|
|
85
|
+
iconColor: 'bg-cyan-600',
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
id: 'filesystem',
|
|
89
|
+
tagline: 'Your AI gets advanced file search and monitoring',
|
|
90
|
+
whatAiGets: 'Search files by name/content, glob patterns, watch for changes',
|
|
91
|
+
whenToUse: 'When you want AI to find files across a project or monitor logs',
|
|
92
|
+
requires: 'Nothing — works with local files',
|
|
93
|
+
category: 'developer',
|
|
94
|
+
iconColor: 'bg-yellow-600',
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
id: 'docker',
|
|
98
|
+
tagline: 'Your AI can manage Docker containers',
|
|
99
|
+
whatAiGets: 'Start/stop containers, read logs, build images, list running containers',
|
|
100
|
+
whenToUse: 'When you want AI to deploy a service or debug a container',
|
|
101
|
+
requires: 'Docker must be installed and running',
|
|
102
|
+
category: 'developer',
|
|
103
|
+
iconColor: 'bg-sky-500',
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
id: 'puppeteer',
|
|
107
|
+
tagline: 'Your AI can control a headless Chrome browser',
|
|
108
|
+
whatAiGets: 'Navigate pages, take screenshots, click, type, run JavaScript',
|
|
109
|
+
whenToUse: 'When you want AI to scrape data or automate browser testing',
|
|
110
|
+
requires: 'Chrome installed (comes with most systems)',
|
|
111
|
+
category: 'browser',
|
|
112
|
+
iconColor: 'bg-orange-500',
|
|
113
|
+
},
|
|
114
|
+
{
|
|
115
|
+
id: 'memory',
|
|
116
|
+
tagline: 'Your AI can remember things between sessions',
|
|
117
|
+
whatAiGets: 'Store/retrieve key-value pairs that persist across conversations',
|
|
118
|
+
whenToUse: 'When you want AI to keep preferences or notes between chats',
|
|
119
|
+
requires: 'Nothing — stores data locally',
|
|
120
|
+
category: 'memory',
|
|
121
|
+
iconColor: 'bg-indigo-500',
|
|
122
|
+
},
|
|
123
|
+
];
|
|
124
|
+
/**
|
|
125
|
+
* Build the full marketplace catalog by merging registry + marketplace info.
|
|
126
|
+
* Status and Claude config checks are done by the caller (local-server).
|
|
127
|
+
*/
|
|
128
|
+
function buildMarketplaceCatalog() {
|
|
129
|
+
const catalog = [];
|
|
130
|
+
for (const entry of registry_1.BUILTIN_REGISTRY) {
|
|
131
|
+
const info = MARKETPLACE_INFO.find((m) => m.id === entry.id);
|
|
132
|
+
if (info) {
|
|
133
|
+
catalog.push({ entry, info });
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
return catalog;
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* Get marketplace info for a single tool by id.
|
|
140
|
+
*/
|
|
141
|
+
function getMarketplaceInfo(toolId) {
|
|
142
|
+
return MARKETPLACE_INFO.find((m) => m.id === toolId);
|
|
143
|
+
}
|
|
144
|
+
//# sourceMappingURL=marketplace.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"marketplace.js","sourceRoot":"","sources":["../../src/mcp/marketplace.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Safeguards — Single source of truth for all safety constants.
|
|
3
|
+
*
|
|
4
|
+
* Every limit, timeout, and cap in the prompt architecture
|
|
5
|
+
* references these constants. No magic numbers elsewhere.
|
|
6
|
+
*/
|
|
7
|
+
export declare const SAFEGUARDS: {
|
|
8
|
+
/** Max build→QA→fix cycles per checkpoint step */
|
|
9
|
+
readonly MAX_QA_LOOPS: 3;
|
|
10
|
+
/** Max retries per step on failure/UNKNOWN */
|
|
11
|
+
readonly MAX_AGENT_ATTEMPTS: 3;
|
|
12
|
+
/** Timeout for helper/clerk tasks (summarization, extraction, cleanup) in ms */
|
|
13
|
+
readonly HELPER_TIMEOUT_MS: 30000;
|
|
14
|
+
/** Max steps in a single workflow template */
|
|
15
|
+
readonly MAX_WORKFLOW_STEPS: 10;
|
|
16
|
+
/** Max agentic loop iterations per workflow step */
|
|
17
|
+
readonly MAX_WORKFLOW_ITERATIONS: 15;
|
|
18
|
+
/** Number of turns in the sliding context window */
|
|
19
|
+
readonly CONTEXT_WINDOW_TURNS: 5;
|
|
20
|
+
/** Fallback recent-turn window when no summary exists yet */
|
|
21
|
+
readonly NO_SUMMARY_CONTEXT_WINDOW_TURNS: 10;
|
|
22
|
+
/** Summarize every N turns */
|
|
23
|
+
readonly SUMMARIZE_EVERY_N_TURNS: 5;
|
|
24
|
+
/** Max messages per backfill chunk */
|
|
25
|
+
readonly BACKFILL_CHUNK_SIZE: 20;
|
|
26
|
+
/** Config file size threshold for condensation (bytes) */
|
|
27
|
+
readonly CONFIG_CONDENSE_THRESHOLD: 5120;
|
|
28
|
+
};
|
|
29
|
+
//# sourceMappingURL=safeguards.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"safeguards.d.ts","sourceRoot":"","sources":["../../src/orchestration/safeguards.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,eAAO,MAAM,UAAU;IACrB,kDAAkD;;IAElD,8CAA8C;;IAE9C,gFAAgF;;IAEhF,8CAA8C;;IAE9C,oDAAoD;;IAEpD,oDAAoD;;IAEpD,6DAA6D;;IAE7D,8BAA8B;;IAE9B,sCAAsC;;IAEtC,0DAA0D;;CAElD,CAAC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Safeguards — Single source of truth for all safety constants.
|
|
4
|
+
*
|
|
5
|
+
* Every limit, timeout, and cap in the prompt architecture
|
|
6
|
+
* references these constants. No magic numbers elsewhere.
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.SAFEGUARDS = void 0;
|
|
10
|
+
exports.SAFEGUARDS = {
|
|
11
|
+
/** Max build→QA→fix cycles per checkpoint step */
|
|
12
|
+
MAX_QA_LOOPS: 3,
|
|
13
|
+
/** Max retries per step on failure/UNKNOWN */
|
|
14
|
+
MAX_AGENT_ATTEMPTS: 3,
|
|
15
|
+
/** Timeout for helper/clerk tasks (summarization, extraction, cleanup) in ms */
|
|
16
|
+
HELPER_TIMEOUT_MS: 30_000,
|
|
17
|
+
/** Max steps in a single workflow template */
|
|
18
|
+
MAX_WORKFLOW_STEPS: 10,
|
|
19
|
+
/** Max agentic loop iterations per workflow step */
|
|
20
|
+
MAX_WORKFLOW_ITERATIONS: 15,
|
|
21
|
+
/** Number of turns in the sliding context window */
|
|
22
|
+
CONTEXT_WINDOW_TURNS: 5,
|
|
23
|
+
/** Fallback recent-turn window when no summary exists yet */
|
|
24
|
+
NO_SUMMARY_CONTEXT_WINDOW_TURNS: 10,
|
|
25
|
+
/** Summarize every N turns */
|
|
26
|
+
SUMMARIZE_EVERY_N_TURNS: 5,
|
|
27
|
+
/** Max messages per backfill chunk */
|
|
28
|
+
BACKFILL_CHUNK_SIZE: 20,
|
|
29
|
+
/** Config file size threshold for condensation (bytes) */
|
|
30
|
+
CONFIG_CONDENSE_THRESHOLD: 5120,
|
|
31
|
+
};
|
|
32
|
+
//# sourceMappingURL=safeguards.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"safeguards.js","sourceRoot":"","sources":["../../src/orchestration/safeguards.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEU,QAAA,UAAU,GAAG;IACxB,kDAAkD;IAClD,YAAY,EAAE,CAAC;IACf,8CAA8C;IAC9C,kBAAkB,EAAE,CAAC;IACrB,gFAAgF;IAChF,iBAAiB,EAAE,MAAM;IACzB,8CAA8C;IAC9C,kBAAkB,EAAE,EAAE;IACtB,oDAAoD;IACpD,uBAAuB,EAAE,EAAE;IAC3B,oDAAoD;IACpD,oBAAoB,EAAE,CAAC;IACvB,6DAA6D;IAC7D,+BAA+B,EAAE,EAAE;IACnC,8BAA8B;IAC9B,uBAAuB,EAAE,CAAC;IAC1B,sCAAsC;IACtC,mBAAmB,EAAE,EAAE;IACvB,0DAA0D;IAC1D,yBAAyB,EAAE,IAAI;CACvB,CAAC"}
|
|
@@ -1,13 +1,15 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* STATUS parser for structured output contract.
|
|
3
3
|
*
|
|
4
|
-
* Extracts STATUS from assistant message footer.
|
|
5
|
-
* Expected format
|
|
4
|
+
* Extracts STATUS, RESULT, SUMMARY, and REASON from assistant message footer.
|
|
5
|
+
* Expected format:
|
|
6
6
|
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
7
|
+
* RESULT: <deliverable>
|
|
8
|
+
* SUMMARY: <1-2 sentence explanation>
|
|
9
|
+
* STATUS: PASS | FAIL | COMPLETE | UNKNOWN
|
|
10
|
+
* REASON: <why UNKNOWN, if applicable>
|
|
9
11
|
*
|
|
10
|
-
* If missing or invalid → UNKNOWN.
|
|
12
|
+
* If missing or invalid → UNKNOWN. Parser NEVER throws.
|
|
11
13
|
*/
|
|
12
14
|
export type ParsedStatus = 'PASS' | 'FAIL' | 'COMPLETE' | 'UNKNOWN';
|
|
13
15
|
/**
|
|
@@ -16,12 +18,14 @@ export type ParsedStatus = 'PASS' | 'FAIL' | 'COMPLETE' | 'UNKNOWN';
|
|
|
16
18
|
*/
|
|
17
19
|
export declare function parseStatus(messageContent: string): ParsedStatus;
|
|
18
20
|
/**
|
|
19
|
-
* Extract the full structured footer (RESULT, SUMMARY, STATUS) if present.
|
|
21
|
+
* Extract the full structured footer (RESULT, SUMMARY, STATUS, REASON) if present.
|
|
22
|
+
* Never throws — always returns a result object.
|
|
20
23
|
*/
|
|
21
24
|
export interface StructuredFooter {
|
|
22
25
|
result: string | null;
|
|
23
26
|
summary: string | null;
|
|
24
27
|
status: ParsedStatus;
|
|
28
|
+
reason: string | null;
|
|
25
29
|
}
|
|
26
30
|
export declare function parseStructuredFooter(messageContent: string): StructuredFooter;
|
|
27
31
|
//# sourceMappingURL=status-parser.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"status-parser.d.ts","sourceRoot":"","sources":["../../src/orchestration/status-parser.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"status-parser.d.ts","sourceRoot":"","sources":["../../src/orchestration/status-parser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,MAAM,GAAG,UAAU,GAAG,SAAS,CAAC;AAIpE;;;GAGG;AACH,wBAAgB,WAAW,CAAC,cAAc,EAAE,MAAM,GAAG,YAAY,CAgBhE;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,MAAM,EAAE,YAAY,CAAC;IACrB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AAED,wBAAgB,qBAAqB,CAAC,cAAc,EAAE,MAAM,GAAG,gBAAgB,CA6B9E"}
|
|
@@ -2,13 +2,15 @@
|
|
|
2
2
|
/**
|
|
3
3
|
* STATUS parser for structured output contract.
|
|
4
4
|
*
|
|
5
|
-
* Extracts STATUS from assistant message footer.
|
|
6
|
-
* Expected format
|
|
5
|
+
* Extracts STATUS, RESULT, SUMMARY, and REASON from assistant message footer.
|
|
6
|
+
* Expected format:
|
|
7
7
|
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
8
|
+
* RESULT: <deliverable>
|
|
9
|
+
* SUMMARY: <1-2 sentence explanation>
|
|
10
|
+
* STATUS: PASS | FAIL | COMPLETE | UNKNOWN
|
|
11
|
+
* REASON: <why UNKNOWN, if applicable>
|
|
10
12
|
*
|
|
11
|
-
* If missing or invalid → UNKNOWN.
|
|
13
|
+
* If missing or invalid → UNKNOWN. Parser NEVER throws.
|
|
12
14
|
*/
|
|
13
15
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
16
|
exports.parseStatus = parseStatus;
|
|
@@ -22,29 +24,43 @@ function parseStatus(messageContent) {
|
|
|
22
24
|
if (!messageContent)
|
|
23
25
|
return 'UNKNOWN';
|
|
24
26
|
// Match STATUS: followed by a value on the same or next line
|
|
25
|
-
const regex = /STATUS:\s*\n?\s*(PASS|FAIL|COMPLETE)\b/gi;
|
|
27
|
+
const regex = /STATUS:\s*\n?\s*(PASS|FAIL|COMPLETE|UNKNOWN)\b/gi;
|
|
26
28
|
let lastMatch = 'UNKNOWN';
|
|
27
29
|
let match;
|
|
28
30
|
while ((match = regex.exec(messageContent)) !== null) {
|
|
29
31
|
const val = match[1].toUpperCase();
|
|
30
|
-
if (VALID_STATUSES.has(val)) {
|
|
32
|
+
if (VALID_STATUSES.has(val) || val === 'UNKNOWN') {
|
|
31
33
|
lastMatch = val;
|
|
32
34
|
}
|
|
33
35
|
}
|
|
34
36
|
return lastMatch;
|
|
35
37
|
}
|
|
36
38
|
function parseStructuredFooter(messageContent) {
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
39
|
+
if (!messageContent) {
|
|
40
|
+
return { result: null, summary: null, status: 'UNKNOWN', reason: null };
|
|
41
|
+
}
|
|
42
|
+
try {
|
|
43
|
+
const status = parseStatus(messageContent);
|
|
44
|
+
let result = null;
|
|
45
|
+
let summary = null;
|
|
46
|
+
let reason = null;
|
|
47
|
+
// Extract RESULT: block (everything between RESULT: and SUMMARY:/STATUS:/REASON:/end)
|
|
48
|
+
const resultMatch = messageContent.match(/RESULT:\s*\n?([\s\S]*?)(?=\nSUMMARY:|\nSTATUS:|\nREASON:|\n---|\s*$)/i);
|
|
49
|
+
if (resultMatch)
|
|
50
|
+
result = resultMatch[1].trim() || null;
|
|
51
|
+
// Extract SUMMARY: block
|
|
52
|
+
const summaryMatch = messageContent.match(/SUMMARY:\s*\n?([\s\S]*?)(?=\nSTATUS:|\nREASON:|\n---|\s*$)/i);
|
|
53
|
+
if (summaryMatch)
|
|
54
|
+
summary = summaryMatch[1].trim() || null;
|
|
55
|
+
// Extract REASON: block (present when STATUS is UNKNOWN)
|
|
56
|
+
const reasonMatch = messageContent.match(/REASON:\s*\n?([\s\S]*?)(?=\n---|\s*$)/i);
|
|
57
|
+
if (reasonMatch)
|
|
58
|
+
reason = reasonMatch[1].trim() || null;
|
|
59
|
+
return { result, summary, status, reason };
|
|
60
|
+
}
|
|
61
|
+
catch {
|
|
62
|
+
// Parser must never throw
|
|
63
|
+
return { result: null, summary: null, status: 'UNKNOWN', reason: null };
|
|
64
|
+
}
|
|
49
65
|
}
|
|
50
66
|
//# sourceMappingURL=status-parser.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"status-parser.js","sourceRoot":"","sources":["../../src/orchestration/status-parser.ts"],"names":[],"mappings":";AAAA
|
|
1
|
+
{"version":3,"file":"status-parser.js","sourceRoot":"","sources":["../../src/orchestration/status-parser.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;GAYG;;AAUH,kCAgBC;AAaD,sDA6BC;AAhED,MAAM,cAAc,GAAG,IAAI,GAAG,CAAe,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC;AAE3E;;;GAGG;AACH,SAAgB,WAAW,CAAC,cAAsB;IAChD,IAAI,CAAC,cAAc;QAAE,OAAO,SAAS,CAAC;IAEtC,6DAA6D;IAC7D,MAAM,KAAK,GAAG,kDAAkD,CAAC;IACjE,IAAI,SAAS,GAAiB,SAAS,CAAC;IAExC,IAAI,KAA6B,CAAC;IAClC,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QACrD,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAkB,CAAC;QACnD,IAAI,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YACjD,SAAS,GAAG,GAAG,CAAC;QAClB,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAaD,SAAgB,qBAAqB,CAAC,cAAsB;IAC1D,IAAI,CAAC,cAAc,EAAE,CAAC;QACpB,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IAC1E,CAAC;IAED,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,WAAW,CAAC,cAAc,CAAC,CAAC;QAE3C,IAAI,MAAM,GAAkB,IAAI,CAAC;QACjC,IAAI,OAAO,GAAkB,IAAI,CAAC;QAClC,IAAI,MAAM,GAAkB,IAAI,CAAC;QAEjC,sFAAsF;QACtF,MAAM,WAAW,GAAG,cAAc,CAAC,KAAK,CAAC,uEAAuE,CAAC,CAAC;QAClH,IAAI,WAAW;YAAE,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC;QAExD,yBAAyB;QACzB,MAAM,YAAY,GAAG,cAAc,CAAC,KAAK,CAAC,6DAA6D,CAAC,CAAC;QACzG,IAAI,YAAY;YAAE,OAAO,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC;QAE3D,yDAAyD;QACzD,MAAM,WAAW,GAAG,cAAc,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC;QACnF,IAAI,WAAW;YAAE,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC;QAExD,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;IAC7C,CAAC;IAAC,MAAM,CAAC;QACP,0BAA0B;QAC1B,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IAC1E,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Topic title normalization — enforces quality constraints on topic names.
|
|
3
|
+
*
|
|
4
|
+
* Rules:
|
|
5
|
+
* - Title case
|
|
6
|
+
* - Max 3 words, max 32 chars
|
|
7
|
+
* - Blocks low-signal patterns ("fix", "bug #123", long sentences)
|
|
8
|
+
* - Strips leading "The", trailing punctuation
|
|
9
|
+
*/
|
|
10
|
+
/**
|
|
11
|
+
* Normalize a topic title to enforce quality constraints.
|
|
12
|
+
* Returns cleaned title or null if the input is too low-signal.
|
|
13
|
+
*/
|
|
14
|
+
export declare function normalizeTopicTitle(raw: string): string | null;
|
|
15
|
+
//# sourceMappingURL=topic-normalizer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"topic-normalizer.d.ts","sourceRoot":"","sources":["../../src/orchestration/topic-normalizer.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAuBH;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAmC9D"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Topic title normalization — enforces quality constraints on topic names.
|
|
4
|
+
*
|
|
5
|
+
* Rules:
|
|
6
|
+
* - Title case
|
|
7
|
+
* - Max 3 words, max 32 chars
|
|
8
|
+
* - Blocks low-signal patterns ("fix", "bug #123", long sentences)
|
|
9
|
+
* - Strips leading "The", trailing punctuation
|
|
10
|
+
*/
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.normalizeTopicTitle = normalizeTopicTitle;
|
|
13
|
+
const LOW_SIGNAL_PATTERNS = [
|
|
14
|
+
/^fix\b/i,
|
|
15
|
+
/^bug\s*#?\d/i,
|
|
16
|
+
/^update\b/i,
|
|
17
|
+
/^change\b/i,
|
|
18
|
+
/^issue\s*#?\d/i,
|
|
19
|
+
/^todo\b/i,
|
|
20
|
+
/^wip\b/i,
|
|
21
|
+
/^misc\b/i,
|
|
22
|
+
/^untitled\b/i,
|
|
23
|
+
/^general\s*discussion$/i,
|
|
24
|
+
/^quick\s*(question|chat|fix)/i,
|
|
25
|
+
];
|
|
26
|
+
function toTitleCase(str) {
|
|
27
|
+
return str
|
|
28
|
+
.split(/\s+/)
|
|
29
|
+
.map((w) => w.charAt(0).toUpperCase() + w.slice(1).toLowerCase())
|
|
30
|
+
.join(' ');
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Normalize a topic title to enforce quality constraints.
|
|
34
|
+
* Returns cleaned title or null if the input is too low-signal.
|
|
35
|
+
*/
|
|
36
|
+
function normalizeTopicTitle(raw) {
|
|
37
|
+
if (!raw || typeof raw !== 'string')
|
|
38
|
+
return null;
|
|
39
|
+
let title = raw.trim();
|
|
40
|
+
// Strip quotes
|
|
41
|
+
title = title.replace(/^["'`]+|["'`]+$/g, '');
|
|
42
|
+
// Strip leading "The "
|
|
43
|
+
title = title.replace(/^the\s+/i, '');
|
|
44
|
+
// Strip trailing punctuation
|
|
45
|
+
title = title.replace(/[.!?,;:]+$/, '');
|
|
46
|
+
title = title.trim();
|
|
47
|
+
if (!title || title.length < 2)
|
|
48
|
+
return null;
|
|
49
|
+
// Block low-signal patterns
|
|
50
|
+
for (const pattern of LOW_SIGNAL_PATTERNS) {
|
|
51
|
+
if (pattern.test(title))
|
|
52
|
+
return null;
|
|
53
|
+
}
|
|
54
|
+
// Clamp to 3 words max
|
|
55
|
+
const words = title.split(/\s+/).slice(0, 3);
|
|
56
|
+
title = words.join(' ');
|
|
57
|
+
// Max 32 chars
|
|
58
|
+
if (title.length > 32) {
|
|
59
|
+
title = title.slice(0, 32).trim();
|
|
60
|
+
}
|
|
61
|
+
// Title case
|
|
62
|
+
title = toTitleCase(title);
|
|
63
|
+
return title || null;
|
|
64
|
+
}
|
|
65
|
+
//# sourceMappingURL=topic-normalizer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"topic-normalizer.js","sourceRoot":"","sources":["../../src/orchestration/topic-normalizer.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;AA2BH,kDAmCC;AA5DD,MAAM,mBAAmB,GAAG;IAC1B,SAAS;IACT,cAAc;IACd,YAAY;IACZ,YAAY;IACZ,gBAAgB;IAChB,UAAU;IACV,SAAS;IACT,UAAU;IACV,cAAc;IACd,yBAAyB;IACzB,+BAA+B;CAChC,CAAC;AAEF,SAAS,WAAW,CAAC,GAAW;IAC9B,OAAO,GAAG;SACP,KAAK,CAAC,KAAK,CAAC;SACZ,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;SAChE,IAAI,CAAC,GAAG,CAAC,CAAC;AACf,CAAC;AAED;;;GAGG;AACH,SAAgB,mBAAmB,CAAC,GAAW;IAC7C,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IAEjD,IAAI,KAAK,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;IAEvB,eAAe;IACf,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC;IAE9C,uBAAuB;IACvB,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;IAEtC,6BAA6B;IAC7B,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;IAExC,KAAK,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IACrB,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,IAAI,CAAC;IAE5C,4BAA4B;IAC5B,KAAK,MAAM,OAAO,IAAI,mBAAmB,EAAE,CAAC;QAC1C,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;IACvC,CAAC;IAED,uBAAuB;IACvB,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC7C,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAExB,eAAe;IACf,IAAI,KAAK,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;QACtB,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACpC,CAAC;IAED,aAAa;IACb,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;IAE3B,OAAO,KAAK,IAAI,IAAI,CAAC;AACvB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude-cli.d.ts","sourceRoot":"","sources":["../../src/providers/claude-cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,cAAc,EAAE,WAAW,EAAe,MAAM,SAAS,CAAC;AAQnG;;;;GAIG;AACH,qBAAa,iBAAkB,YAAW,WAAW;IACnD,OAAO,CAAC,MAAM,CAAoB;gBAEtB,MAAM,EAAE,iBAAiB;IAI/B,IAAI,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"claude-cli.d.ts","sourceRoot":"","sources":["../../src/providers/claude-cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,cAAc,EAAE,WAAW,EAAe,MAAM,SAAS,CAAC;AAQnG;;;;GAIG;AACH,qBAAa,iBAAkB,YAAW,WAAW;IACnD,OAAO,CAAC,MAAM,CAAoB;gBAEtB,MAAM,EAAE,iBAAiB;IAI/B,IAAI,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,WAAW,CAAC;IA2DzD,OAAO,CAAC,WAAW;IAgQnB,qEAAqE;IACrE,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;CAGlC"}
|
|
@@ -20,7 +20,11 @@ class ClaudeCliProvider {
|
|
|
20
20
|
// Build a full prompt that includes conversation history so the CLI
|
|
21
21
|
// provider maintains context across multi-turn conversations.
|
|
22
22
|
// `claude --print` is stateless, so we must inline everything.
|
|
23
|
-
|
|
23
|
+
// /new is prepended to start a fresh Claude session every time.
|
|
24
|
+
// This ensures we control exactly what context the CLI sees (our structured
|
|
25
|
+
// prompt with summary + last 5 turns) instead of letting it accumulate
|
|
26
|
+
// its own history. Major token savings.
|
|
27
|
+
let fullPrompt = '/new\n';
|
|
24
28
|
if (options.system) {
|
|
25
29
|
fullPrompt += `[System Instructions]\n${options.system}\n\n`;
|
|
26
30
|
}
|
|
@@ -45,6 +49,9 @@ class ClaudeCliProvider {
|
|
|
45
49
|
'--print',
|
|
46
50
|
'--output-format', 'stream-json',
|
|
47
51
|
'--verbose',
|
|
52
|
+
// Allow all tool use without interactive permission prompts.
|
|
53
|
+
// In --print mode there's no TTY to approve, so tools would fail.
|
|
54
|
+
'--permission-mode', 'bypassPermissions',
|
|
48
55
|
];
|
|
49
56
|
// Retry loop for Windows DLL init failures (0xC0000142)
|
|
50
57
|
let lastError = null;
|