@luckydraw/cumulus 0.30.27 → 0.30.28
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/CHANGELOG.md +5 -1
- package/dist/gateway/daemon.js +0 -0
- package/dist/gateway/static/widget.js +16 -0
- package/dist/lib/gateway.d.ts +1 -1
- package/dist/lib/gateway.d.ts.map +1 -1
- package/dist/lib/gateway.js +1 -3
- package/dist/lib/gateway.js.map +1 -1
- package/dist/lib/projects.d.ts.map +1 -0
- package/package.json +1 -1
- package/dist/lib/intent-reviewer.d.ts +0 -103
- package/dist/lib/intent-reviewer.d.ts.map +0 -1
- package/dist/lib/intent-reviewer.js +0 -363
- package/dist/lib/intent-reviewer.js.map +0 -1
package/CHANGELOG.md
CHANGED
package/dist/gateway/daemon.js
CHANGED
|
File without changes
|
|
@@ -2070,6 +2070,20 @@
|
|
|
2070
2070
|
|
|
2071
2071
|
// ── Markdown ──────────────────────────────────────────────────────────────
|
|
2072
2072
|
|
|
2073
|
+
// Strip literal <thinking>...</thinking> blocks from displayed assistant
|
|
2074
|
+
// content. The server already filters these from the live token stream, but
|
|
2075
|
+
// the final `done` response and replayed history carry the raw text (kept
|
|
2076
|
+
// for RLM context). This guarantees they never render in the chat area.
|
|
2077
|
+
function stripThinkingBlocks(text) {
|
|
2078
|
+
if (typeof text !== 'string' || text.indexOf('<thinking') === -1) return text;
|
|
2079
|
+
var out = text.replace(/<thinking>[\s\S]*?<\/thinking>/gi, '');
|
|
2080
|
+
// Drop a dangling/unterminated <thinking> (truncated reasoning) through end
|
|
2081
|
+
out = out.replace(/<thinking>[\s\S]*$/i, '');
|
|
2082
|
+
// Tidy whitespace left behind by removed blocks
|
|
2083
|
+
out = out.replace(/^\s+/, '').replace(/\n{3,}/g, '\n\n');
|
|
2084
|
+
return out;
|
|
2085
|
+
}
|
|
2086
|
+
|
|
2073
2087
|
function renderMarkdown(text) {
|
|
2074
2088
|
// Phase 0.5: Extract blex fences BEFORE code blocks
|
|
2075
2089
|
var blexResult = extractBlexBlocks(text);
|
|
@@ -2949,6 +2963,7 @@
|
|
|
2949
2963
|
}
|
|
2950
2964
|
|
|
2951
2965
|
function buildAssistantMsgEl(content, isStreaming, msgKey) {
|
|
2966
|
+
content = stripThinkingBlocks(content);
|
|
2952
2967
|
var el = document.createElement('div');
|
|
2953
2968
|
el.className = 'cumulus-msg assistant';
|
|
2954
2969
|
if (isStreaming) el.setAttribute('data-testid', 'webchat-streaming');
|
|
@@ -5352,6 +5367,7 @@
|
|
|
5352
5367
|
}
|
|
5353
5368
|
|
|
5354
5369
|
function buildAssistantMsgEl(content, isStreaming, msgKey) {
|
|
5370
|
+
content = stripThinkingBlocks(content);
|
|
5355
5371
|
var el = document.createElement('div');
|
|
5356
5372
|
el.className = 'cumulus-msg assistant';
|
|
5357
5373
|
if (isStreaming) el.setAttribute('data-testid', 'webchat-streaming');
|
package/dist/lib/gateway.d.ts
CHANGED
|
@@ -29,7 +29,7 @@ export declare function drainActiveSubprocesses(timeoutMs?: number): Promise<num
|
|
|
29
29
|
export declare const RECENT_CONTEXT_COUNT = 10;
|
|
30
30
|
export declare const RECENT_MSG_MAX_TOKENS = 500;
|
|
31
31
|
export declare const RECENT_CONTEXT_BUDGET = 6000;
|
|
32
|
-
export declare const SYSTEM_PROMPT_TEMPLATE = "You have NO memory of this conversation. There are {count} prior messages (~{tokens} tokens) in the history.\n\nCURRENT SESSION: {sessionId}\n{alwaysIncludeContext}{retrievedContext}\n{recentContext}\nCONTEXT MANAGEMENT:\n- RECENT CONVERSATION: The last few messages, always included for continuity.\n- RETRIEVED CONTEXT: Automatically retrieved based on the user's current message using semantic + keyword search.\n- Large content may be stored externally as [STORED:xxx] references.\n\nWORKFLOW:\n1. FIRST use the RETRIEVED CONTEXT above \u2014 it was automatically selected for relevance to this query\n2. Check RECENT CONVERSATION for immediate context\n3. Only use tools if the retrieved context doesn't contain what you need\n4. For [STORED:xxx] references, use retrieve_content to get full content\n5. For file reads, use read_file (the built-in Read tool is disabled)\n\nNEVER guess. Use the context provided or retrieve more if needed.\nIMPORTANT: Never mention the retrieval system or tools to the user. Present information naturally.\n\nFILE READING (MANDATORY):\nThe built-in Read tool is DISABLED in this environment. You MUST use read_file (MCP tool) for ALL file reads.\n- read_file reads the file, chunks it, embeds it into a vector store, and stores it for persistent retrieval across sessions\n- You receive a summary, content ID, and chunk table-of-contents\n- Use read_content_chunk(contentId, N) to navigate to specific sections\n- Using the built-in Read tool bypasses vector storage and loses context permanently \u2014 NEVER use it\n\nTOOL ROUTING (CRITICAL):\n\n| Need to... | CORRECT tool | WRONG tool (do NOT use) |\n|---------------------|-------------------|-------------------------|\n| Read a file | read_file | Read |\n| Search stored files | search_content | Grep |\n| Get stored content | retrieve_content | Read |\n\nTOOLS:\n- read_file: Read any file (text or PDF) and store for future retrieval \u2014 USE THIS FOR ALL FILE READS\n- store_content: Store arbitrary text content for future retrieval\n- search_history: Search past messages by keyword or meaning\n- peek_recent: Get the last few messages\n- read_messages: Read messages by index range\n- retrieve_content: Get full stored content by [STORED:xxx] ID\n- search_content: Search across all stored content\n- read_content_chunk: Read a specific chunk of stored content by index\n\nINTER-AGENT MESSAGING:\nYou can communicate with other agents/threads running on this gateway.\n- list_agents: See all active threads and their status (idle/streaming)\n- send_to_agent(target, message): Send a message to another thread \u2014 it will be delivered as a new turn\n- broadcast(message): Send a message to all other threads\nWhen the user mentions another agent by name (e.g., \"@thundercat\", \"@Friday\"), use send_to_agent to message them.\n\nDo NOT append status codes, tags, or metadata to your responses.\n\nRESPONSE FORMAT: TASK TRACKING\n\nWhen working on multi-step tasks, structure your response using these blocks:\n\n<
|
|
32
|
+
export declare const SYSTEM_PROMPT_TEMPLATE = "You have NO memory of this conversation. There are {count} prior messages (~{tokens} tokens) in the history.\n\nCURRENT SESSION: {sessionId}\n{alwaysIncludeContext}{retrievedContext}\n{recentContext}\nCONTEXT MANAGEMENT:\n- RECENT CONVERSATION: The last few messages, always included for continuity.\n- RETRIEVED CONTEXT: Automatically retrieved based on the user's current message using semantic + keyword search.\n- Large content may be stored externally as [STORED:xxx] references.\n\nWORKFLOW:\n1. FIRST use the RETRIEVED CONTEXT above \u2014 it was automatically selected for relevance to this query\n2. Check RECENT CONVERSATION for immediate context\n3. Only use tools if the retrieved context doesn't contain what you need\n4. For [STORED:xxx] references, use retrieve_content to get full content\n5. For file reads, use read_file (the built-in Read tool is disabled)\n\nNEVER guess. Use the context provided or retrieve more if needed.\nIMPORTANT: Never mention the retrieval system or tools to the user. Present information naturally.\n\nFILE READING (MANDATORY):\nThe built-in Read tool is DISABLED in this environment. You MUST use read_file (MCP tool) for ALL file reads.\n- read_file reads the file, chunks it, embeds it into a vector store, and stores it for persistent retrieval across sessions\n- You receive a summary, content ID, and chunk table-of-contents\n- Use read_content_chunk(contentId, N) to navigate to specific sections\n- Using the built-in Read tool bypasses vector storage and loses context permanently \u2014 NEVER use it\n\nTOOL ROUTING (CRITICAL):\n\n| Need to... | CORRECT tool | WRONG tool (do NOT use) |\n|---------------------|-------------------|-------------------------|\n| Read a file | read_file | Read |\n| Search stored files | search_content | Grep |\n| Get stored content | retrieve_content | Read |\n\nTOOLS:\n- read_file: Read any file (text or PDF) and store for future retrieval \u2014 USE THIS FOR ALL FILE READS\n- store_content: Store arbitrary text content for future retrieval\n- search_history: Search past messages by keyword or meaning\n- peek_recent: Get the last few messages\n- read_messages: Read messages by index range\n- retrieve_content: Get full stored content by [STORED:xxx] ID\n- search_content: Search across all stored content\n- read_content_chunk: Read a specific chunk of stored content by index\n\nINTER-AGENT MESSAGING:\nYou can communicate with other agents/threads running on this gateway.\n- list_agents: See all active threads and their status (idle/streaming)\n- send_to_agent(target, message): Send a message to another thread \u2014 it will be delivered as a new turn\n- broadcast(message): Send a message to all other threads\nWhen the user mentions another agent by name (e.g., \"@thundercat\", \"@Friday\"), use send_to_agent to message them.\n\nDo NOT append status codes, tags, or metadata to your responses.\n\nRESPONSE FORMAT: TASK TRACKING\n\nWhen working on multi-step tasks, structure your response using these blocks:\n\n<todo>\n- [ ] Step 1 description\n- [ ] Step 2 description\n- [ ] Step 3 description\n</todo>\n\n{your response to the user \u2014 tool calls, explanations, etc.}\n\nAfter executing tools or completing steps, emit an updated <todo> block reflecting progress:\n\n<todo>\n- [x] Step 1 description\n- [x] Step 2 description (just finished)\n- [ ] Step 3 description\n</todo>\n\nRules:\n- Use full-replacement semantics: emit the COMPLETE list each time, not diffs\n- Mark completed items with [x], pending with [ ]\n- The <todo> block is REQUIRED for multi-step work (2+ steps), optional for simple Q&A\n- The LAST <todo> block in your response is the authoritative state\n- Do NOT wrap your response text in <text> tags \u2014 just write normally after the <todo> block\n\n### Todo Decomposition Rules\n\nWhen a todo involves CREATING something (writing content, building a page, designing a system, drafting a document), you MUST decompose it before executing:\n\n1. **Outline first** \u2014 Create a bullet-point outline of the deliverable's structure\n2. **Convert outline to subtodos** \u2014 Each bullet becomes a subtodo under the parent\n3. **Execute subtodos sequentially** \u2014 Complete each one, updating status as you go\n4. **Review after completion** \u2014 Add a review subtodo to verify the whole\n\n#### Decomposition trigger words\nIf a todo contains: \"create\", \"build\", \"write\", \"design\", \"implement\", \"draft\", \"compose\" \u2014 it is a creation task. Decompose it.\n\n#### Example\n\nBAD (atomic):\n<todo>\n[ ] Fetch npm package info\n[ ] Create a promotional HTML page \u2190 jumps straight to execution\n[ ] Upload to media server\n</todo>\n\nGOOD (decomposed):\n<todo>\n[x] Fetch npm package info\n[ ] Create promotional HTML page:\n [ ] Outline page sections (hero, features, quickstart, footer)\n [ ] Draft hero section with title, tagline, CTA\n [ ] Draft features grid from package capabilities\n [ ] Draft quickstart with install commands\n [ ] Draft footer with links\n [ ] Review full page for consistency\n [ ] Finalize and minify\n[ ] Upload to media server\n</todo>\n\n### Adaptive Todo Management\n\nYour todo list is a LIVING document. As you execute:\n\n1. **New information** \u2014 If executing a todo reveals important context (e.g., a file has an unexpected structure, an API returns a different format than expected), create a todo to address or document it.\n\n2. **Bugs discovered** \u2014 If you encounter a bug while working on something else, create a todo for it immediately. Do NOT fix it inline unless it blocks your current task. This prevents scope creep while ensuring nothing is forgotten.\n\n3. **Dependencies uncovered** \u2014 If a todo turns out to require prerequisite work you didn't anticipate, insert the prerequisite as a new todo BEFORE the blocked one.\n\n4. **Scope changes** \u2014 If the user redirects or adds requirements mid-stream, update the todo list BEFORE executing. Never act on verbal instructions without first reflecting them in todos.\n\n### Mandatory Decomposition Before Execution\n\nDO NOT EXECUTE a todo until it has been decomposed into small enough\ntasks that cannot be sensibly decomposed into 3+ sub-tasks.\n\nBefore executing any todo:\n1. Can this todo be sensibly decomposed into 3+ sub-todos?\n \u2192 YES: Decompose it. Then check each sub-todo the same way.\n \u2192 NO: Execute it.\n\nThis is recursive and mandatory \u2014 no exceptions.\n\n### Just-In-Time Decomposition\n\nBefore executing the next todo, apply the mandatory decomposition check:\n\n### Example\n\nBEFORE (todos too coarse):\n<todo>\n[ ] Interactive semantic search demo (type queries, see memories retrieved)\n</todo>\n\nAFTER (decomposed at execution time):\n<todo>\n[ ] Interactive semantic search demo:\n [ ] Create search input UI (text field + submit button)\n [ ] Build mock memory dataset (10-15 example memories)\n [ ] Implement fuzzy/keyword matching against dataset\n [ ] Render results as styled cards below input\n [ ] Add typing animation for \"retrieval\" effect\n</todo>\n\n### Todo Lifecycle\n\n1. **Decompose creation tasks** before executing (outline \u2192 subtodos)\n2. **Adapt dynamically** \u2014 if new information, bugs, or dependencies arise during execution, create new todos to address them\n3. **Never fix inline** \u2014 if you discover a bug unrelated to your current task, capture it as a todo rather than context-switching\n4. **Reflect redirects** \u2014 if the user changes direction, update the todo list before executing the new direction\n5. **Debugging** \u2014 treat each hypothesis as a todo; test systematically rather than chasing the first suspicious lead";
|
|
33
33
|
export declare const FILE_READ_REMINDER = "<system-reminder>\nFILE READING: The built-in Read tool is DISABLED. Use read_file for ALL file reads (text, code, PDFs).\n- read_file reads the file, extracts text (including from PDFs), chunks it, embeds it, and stores it for future retrieval\n- You receive a summary, content ID, and chunk table-of-contents\n- Use the TOC to navigate: read_content_chunk(\"contentId\", chunkIndex) for specific sections\n- Use search_content(\"query\") to find content across all stored files\n</system-reminder>\n\n";
|
|
34
34
|
/** Typed stream segment for verbose display */
|
|
35
35
|
export type StreamSegment = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gateway.d.ts","sourceRoot":"","sources":["../../src/lib/gateway.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAS,YAAY,EAAE,MAAM,eAAe,CAAC;AAYpD,OAAO,EAAE,qBAAqB,EAAqB,MAAM,8BAA8B,CAAC;AACxF,OAAO,EAAkB,KAAK,WAAW,EAAE,KAAK,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAS7F,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,OAAO,KAAK,EAAE,gBAAgB,EAA2B,MAAM,eAAe,CAAC;AAC/E,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAQ5C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAc9C,iFAAiF;AACjF,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAEtD;AASD,yEAAyE;AACzE,wBAAgB,wBAAwB,IAAI,MAAM,CAEjD;AAED,kFAAkF;AAClF,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAE3F;AAED,wEAAwE;AACxE,wBAAgB,oBAAoB,IAAI,MAAM,EAAE,CAE/C;AAED,gGAAgG;AAChG,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAUhE;AAED,8FAA8F;AAC9F,wBAAsB,uBAAuB,CAAC,SAAS,SAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAclF;AAED,eAAO,MAAM,oBAAoB,KAAK,CAAC;AACvC,eAAO,MAAM,qBAAqB,MAAM,CAAC;AACzC,eAAO,MAAM,qBAAqB,OAAQ,CAAC;AAE3C,eAAO,MAAM,sBAAsB,
|
|
1
|
+
{"version":3,"file":"gateway.d.ts","sourceRoot":"","sources":["../../src/lib/gateway.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/gateway.js
CHANGED
|
@@ -137,8 +137,6 @@ RESPONSE FORMAT: TASK TRACKING
|
|
|
137
137
|
|
|
138
138
|
When working on multi-step tasks, structure your response using these blocks:
|
|
139
139
|
|
|
140
|
-
<thinking>{your reasoning, including how to decompose the work}</thinking>
|
|
141
|
-
|
|
142
140
|
<todo>
|
|
143
141
|
- [ ] Step 1 description
|
|
144
142
|
- [ ] Step 2 description
|
|
@@ -159,7 +157,6 @@ Rules:
|
|
|
159
157
|
- Use full-replacement semantics: emit the COMPLETE list each time, not diffs
|
|
160
158
|
- Mark completed items with [x], pending with [ ]
|
|
161
159
|
- The <todo> block is REQUIRED for multi-step work (2+ steps), optional for simple Q&A
|
|
162
|
-
- <thinking> is optional but encouraged for complex tasks
|
|
163
160
|
- The LAST <todo> block in your response is the authoritative state
|
|
164
161
|
- Do NOT wrap your response text in <text> tags — just write normally after the <todo> block
|
|
165
162
|
|
|
@@ -1594,6 +1591,7 @@ export async function sendMessage(options) {
|
|
|
1594
1591
|
'bypassPermissions',
|
|
1595
1592
|
'--mcp-config',
|
|
1596
1593
|
mcpConfigPath,
|
|
1594
|
+
'--strict-mcp-config',
|
|
1597
1595
|
'--input-format',
|
|
1598
1596
|
'stream-json',
|
|
1599
1597
|
'--effort',
|
package/dist/lib/gateway.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gateway.js","sourceRoot":"","sources":["../../src/lib/gateway.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"gateway.js","sourceRoot":"","sources":["../../src/lib/gateway.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"projects.d.ts","sourceRoot":"","sources":["../../src/lib/projects.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAaH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oDAAoD;IACpD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mDAAmD;IACnD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,qEAAqE;IACrE,QAAQ,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACrE;AA4BD;;GAEG;AACH,wBAAsB,aAAa,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,eAAe,CAAC,CAkE3F;AAED;;GAEG;AACH,wBAAsB,YAAY,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CA4BlF;AAED;;GAEG;AACH,wBAAsB,UAAU,CAC9B,IAAI,EAAE,MAAM,EACZ,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAUjC;AAED;;GAEG;AACH,wBAAsB,aAAa,CACjC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,eAAe,EAAE,SAAS,GAAG,eAAe,GAAG,WAAW,CAAC,CAAC,EAClF,WAAW,CAAC,EAAE,MAAM,EACpB,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,eAAe,CAAC,CAoC1B;AAED;;GAEG;AACH,wBAAsB,aAAa,CACjC,IAAI,EAAE,MAAM,EACZ,YAAY,UAAQ,EACpB,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,IAAI,CAAC,CAgBf;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,EAClB,WAAW,CAAC,EAAE,MAAM,EACpB,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,eAAe,CAAC,CAS1B;AAED;;;GAGG;AACH,wBAAsB,uBAAuB,CAC3C,UAAU,EAAE,MAAM,EAClB,UAAU,CAAC,EAAE,MAAM,EACnB,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAexB"}
|
package/package.json
CHANGED
|
@@ -1,103 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Intent Reviewer — adversarial quality gate for Write/Edit tool calls.
|
|
3
|
-
*
|
|
4
|
-
* Intercepts Write/Edit results, compares stated intent vs actual execution
|
|
5
|
-
* using GLM-5 via HuggingFace, and either passes or rejects with actionable feedback.
|
|
6
|
-
* After 3 failures on the same task+file, escalates to the user.
|
|
7
|
-
*/
|
|
8
|
-
export interface ReviewVerdict {
|
|
9
|
-
verdict: 'pass' | 'provisional_pass' | 'fail';
|
|
10
|
-
score: number;
|
|
11
|
-
claims: Array<{
|
|
12
|
-
claim: string;
|
|
13
|
-
finding: string;
|
|
14
|
-
result: 'true' | 'false' | 'partially_false';
|
|
15
|
-
}>;
|
|
16
|
-
limitations: string;
|
|
17
|
-
feedback: string;
|
|
18
|
-
}
|
|
19
|
-
export interface ReviewInput {
|
|
20
|
-
intent: string;
|
|
21
|
-
execution: {
|
|
22
|
-
type: 'edit' | 'write';
|
|
23
|
-
file: string;
|
|
24
|
-
old?: string;
|
|
25
|
-
new_content: string;
|
|
26
|
-
};
|
|
27
|
-
taskContext?: string;
|
|
28
|
-
}
|
|
29
|
-
export interface ReviewLog {
|
|
30
|
-
threadId: string;
|
|
31
|
-
model: string;
|
|
32
|
-
toolName: string;
|
|
33
|
-
filePath: string;
|
|
34
|
-
verdict: 'pass' | 'provisional_pass' | 'fail' | 'skipped' | 'timeout' | 'error';
|
|
35
|
-
score: number;
|
|
36
|
-
attempt: number;
|
|
37
|
-
latencyMs: number;
|
|
38
|
-
timestamp: number;
|
|
39
|
-
}
|
|
40
|
-
export declare function shouldReview(toolName: string, params: Record<string, unknown>): boolean;
|
|
41
|
-
interface MessageLike {
|
|
42
|
-
role: string;
|
|
43
|
-
content: string | Array<{
|
|
44
|
-
type: string;
|
|
45
|
-
text?: string;
|
|
46
|
-
}>;
|
|
47
|
-
}
|
|
48
|
-
/**
|
|
49
|
-
* Extract intent from the last assistant message.
|
|
50
|
-
* Priority: <thinking> > active <todo> item > plain text.
|
|
51
|
-
*/
|
|
52
|
-
export declare function extractIntent(messages: MessageLike[]): string | null;
|
|
53
|
-
/**
|
|
54
|
-
* Get the currently-active todo text (first [ ] item in last <todo> block).
|
|
55
|
-
* Used for failure counter keys and reset detection.
|
|
56
|
-
*/
|
|
57
|
-
export declare function getActiveTodoText(messages: MessageLike[]): string | null;
|
|
58
|
-
export declare class IntentReviewer {
|
|
59
|
-
private hfApiKey;
|
|
60
|
-
private states;
|
|
61
|
-
private reviewLogs;
|
|
62
|
-
constructor(hfApiKey: string);
|
|
63
|
-
/**
|
|
64
|
-
* Get or create per-thread review state.
|
|
65
|
-
*/
|
|
66
|
-
private getState;
|
|
67
|
-
/**
|
|
68
|
-
* Reset failure counters when user sends a new message.
|
|
69
|
-
*/
|
|
70
|
-
resetOnNewUserMessage(threadId: string): void;
|
|
71
|
-
/**
|
|
72
|
-
* Check if active todo changed (reset counters for affected files).
|
|
73
|
-
*/
|
|
74
|
-
private checkTodoReset;
|
|
75
|
-
/**
|
|
76
|
-
* Evaluate a Write/Edit execution against stated intent.
|
|
77
|
-
* Returns the modified tool result (pass-through, annotated, or error).
|
|
78
|
-
*/
|
|
79
|
-
evaluate(threadId: string, model: string, toolName: string, params: Record<string, unknown>, toolResult: string, messages: MessageLike[]): Promise<{
|
|
80
|
-
output: string;
|
|
81
|
-
isError: boolean;
|
|
82
|
-
}>;
|
|
83
|
-
/**
|
|
84
|
-
* Call GLM-5 via HuggingFace to evaluate intent vs execution.
|
|
85
|
-
*/
|
|
86
|
-
private callReviewModel;
|
|
87
|
-
/**
|
|
88
|
-
* Log a review for analytics.
|
|
89
|
-
*/
|
|
90
|
-
private logReview;
|
|
91
|
-
/**
|
|
92
|
-
* Get review statistics for analytics.
|
|
93
|
-
*/
|
|
94
|
-
getStats(): {
|
|
95
|
-
total: number;
|
|
96
|
-
byVerdict: Record<string, number>;
|
|
97
|
-
avgLatencyMs: number;
|
|
98
|
-
p95LatencyMs: number;
|
|
99
|
-
p99LatencyMs: number;
|
|
100
|
-
};
|
|
101
|
-
}
|
|
102
|
-
export {};
|
|
103
|
-
//# sourceMappingURL=intent-reviewer.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"intent-reviewer.d.ts","sourceRoot":"","sources":["../../src/lib/intent-reviewer.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,GAAG,kBAAkB,GAAG,MAAM,CAAC;IAC9C,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,GAAG,OAAO,GAAG,iBAAiB,CAAA;KAAE,CAAC,CAAC;IAChG,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE;QACT,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;QACvB,IAAI,EAAE,MAAM,CAAC;QACb,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;IACF,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,SAAS;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,GAAG,kBAAkB,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;IAChF,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AA2CD,wBAAgB,YAAY,CAC1B,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAmBT;AAID,UAAU,WAAW;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,GAAG,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC1D;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,WAAW,EAAE,GAAG,MAAM,GAAG,IAAI,CAmDpE;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,WAAW,EAAE,GAAG,MAAM,GAAG,IAAI,CAyBxE;AAID,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,MAAM,CAAuC;IACrD,OAAO,CAAC,UAAU,CAAmB;gBAEzB,QAAQ,EAAE,MAAM;IAI5B;;OAEG;IACH,OAAO,CAAC,QAAQ;IAWhB;;OAEG;IACH,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAQ7C;;OAEG;IACH,OAAO,CAAC,cAAc;IAUtB;;;OAGG;IACG,QAAQ,CACZ,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,WAAW,EAAE,GACtB,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;IAiHhD;;OAEG;YACW,eAAe;IA8D7B;;OAEG;IACH,OAAO,CAAC,SAAS;IAmCjB;;OAEG;IACH,QAAQ,IAAI;QACV,KAAK,EAAE,MAAM,CAAC;QACd,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAClC,YAAY,EAAE,MAAM,CAAC;QACrB,YAAY,EAAE,MAAM,CAAC;QACrB,YAAY,EAAE,MAAM,CAAC;KACtB;CAiBF"}
|
|
@@ -1,363 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Intent Reviewer — adversarial quality gate for Write/Edit tool calls.
|
|
3
|
-
*
|
|
4
|
-
* Intercepts Write/Edit results, compares stated intent vs actual execution
|
|
5
|
-
* using GLM-5 via HuggingFace, and either passes or rejects with actionable feedback.
|
|
6
|
-
* After 3 failures on the same task+file, escalates to the user.
|
|
7
|
-
*/
|
|
8
|
-
// ─── Constants ───────────────────────────────────────────────────────────────
|
|
9
|
-
const REVIEW_MODEL = 'zai-org/GLM-5';
|
|
10
|
-
const REVIEW_TIMEOUT_MS = 5_000; // GLM-5 via HF is slower than Haiku
|
|
11
|
-
const MAX_STRIKES = 3;
|
|
12
|
-
const HF_API_URL = 'https://router.huggingface.co/v1/chat/completions';
|
|
13
|
-
const REVIEWER_SYSTEM_PROMPT = `You are an Intent Reviewer. Your job is to DISPROVE that the output matches the stated intent. Assume the output is wrong until proven otherwise.
|
|
14
|
-
|
|
15
|
-
## What You Receive
|
|
16
|
-
- INTENT: What was planned (from <thinking>, <todo>, or surrounding text)
|
|
17
|
-
- EXECUTION: What was actually written (the diff or file content)
|
|
18
|
-
- TASK CONTEXT: The user's original request (if available)
|
|
19
|
-
|
|
20
|
-
For each claim in the intent, challenge it against the literal code. Does the implementation match both the letter and spirit of the claim?
|
|
21
|
-
|
|
22
|
-
## What You Cannot Evaluate
|
|
23
|
-
Subjective quality (fun, beautiful, engaging) is beyond your scope. State this limitation explicitly. Give a provisional pass when all verifiable claims check out but subjective assessment is needed.
|
|
24
|
-
|
|
25
|
-
## Response Format
|
|
26
|
-
Respond with ONLY valid JSON (no markdown fencing, no extra text):
|
|
27
|
-
{
|
|
28
|
-
"verdict": "pass" | "provisional_pass" | "fail",
|
|
29
|
-
"score": 0-10,
|
|
30
|
-
"claims": [
|
|
31
|
-
{ "claim": "description of what was intended", "finding": "what was actually done", "result": "true" | "false" | "partially_false" }
|
|
32
|
-
],
|
|
33
|
-
"limitations": "any aspects you cannot evaluate",
|
|
34
|
-
"feedback": "specific actionable feedback if failing, empty string if passing"
|
|
35
|
-
}`;
|
|
36
|
-
// ─── Skip Logic ──────────────────────────────────────────────────────────────
|
|
37
|
-
const SKIP_EXTENSIONS = /\.(json|yml|yaml|toml|env|lock|md|txt|csv|log)$/i;
|
|
38
|
-
export function shouldReview(toolName, params) {
|
|
39
|
-
if (toolName !== 'Write' && toolName !== 'Edit')
|
|
40
|
-
return false;
|
|
41
|
-
const file = params.file_path || '';
|
|
42
|
-
if (SKIP_EXTENSIONS.test(file))
|
|
43
|
-
return false;
|
|
44
|
-
// Skip tiny edits (< 5 lines changed)
|
|
45
|
-
if (params.old_string && params.new_string) {
|
|
46
|
-
const oldLines = params.old_string.split('\n').length;
|
|
47
|
-
const newLines = params.new_string.split('\n').length;
|
|
48
|
-
if (Math.max(oldLines, newLines) < 5)
|
|
49
|
-
return false;
|
|
50
|
-
}
|
|
51
|
-
// Skip tiny new files (< 20 lines)
|
|
52
|
-
if (toolName === 'Write' && params.content) {
|
|
53
|
-
if (params.content.split('\n').length < 20)
|
|
54
|
-
return false;
|
|
55
|
-
}
|
|
56
|
-
return true;
|
|
57
|
-
}
|
|
58
|
-
/**
|
|
59
|
-
* Extract intent from the last assistant message.
|
|
60
|
-
* Priority: <thinking> > active <todo> item > plain text.
|
|
61
|
-
*/
|
|
62
|
-
export function extractIntent(messages) {
|
|
63
|
-
// Walk backwards to find last assistant message
|
|
64
|
-
for (let i = messages.length - 1; i >= 0; i--) {
|
|
65
|
-
const msg = messages[i];
|
|
66
|
-
if (msg.role !== 'assistant')
|
|
67
|
-
continue;
|
|
68
|
-
const text = typeof msg.content === 'string'
|
|
69
|
-
? msg.content
|
|
70
|
-
: msg.content
|
|
71
|
-
.filter(b => b.type === 'text' && b.text)
|
|
72
|
-
.map(b => b.text)
|
|
73
|
-
.join('\n');
|
|
74
|
-
if (!text)
|
|
75
|
-
continue;
|
|
76
|
-
const parts = [];
|
|
77
|
-
// Extract <thinking> block
|
|
78
|
-
const thinkingMatch = text.match(/<thinking>([\s\S]*?)<\/thinking>/);
|
|
79
|
-
if (thinkingMatch) {
|
|
80
|
-
parts.push(`THINKING: ${thinkingMatch[1].trim()}`);
|
|
81
|
-
}
|
|
82
|
-
// Extract active <todo> item (first [ ] in last <todo> block)
|
|
83
|
-
const todoBlocks = [...text.matchAll(/<todo>([\s\S]*?)<\/todo>/g)];
|
|
84
|
-
if (todoBlocks.length > 0) {
|
|
85
|
-
const lastTodo = todoBlocks[todoBlocks.length - 1][1];
|
|
86
|
-
const activeItem = lastTodo
|
|
87
|
-
.split('\n')
|
|
88
|
-
.find(line => line.match(/^[-\s]*\[ \]/));
|
|
89
|
-
if (activeItem) {
|
|
90
|
-
parts.push(`ACTIVE TODO: ${activeItem.replace(/^[-\s]*\[ \]\s*/, '').trim()}`);
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
// Extract plain text (non-tag content)
|
|
94
|
-
const plainText = text
|
|
95
|
-
.replace(/<thinking>[\s\S]*?<\/thinking>/g, '')
|
|
96
|
-
.replace(/<todo>[\s\S]*?<\/todo>/g, '')
|
|
97
|
-
.trim();
|
|
98
|
-
if (plainText) {
|
|
99
|
-
parts.push(`TEXT: ${plainText.substring(0, 500)}`);
|
|
100
|
-
}
|
|
101
|
-
if (parts.length > 0) {
|
|
102
|
-
return parts.join('\n\n');
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
return null;
|
|
106
|
-
}
|
|
107
|
-
/**
|
|
108
|
-
* Get the currently-active todo text (first [ ] item in last <todo> block).
|
|
109
|
-
* Used for failure counter keys and reset detection.
|
|
110
|
-
*/
|
|
111
|
-
export function getActiveTodoText(messages) {
|
|
112
|
-
for (let i = messages.length - 1; i >= 0; i--) {
|
|
113
|
-
const msg = messages[i];
|
|
114
|
-
if (msg.role !== 'assistant')
|
|
115
|
-
continue;
|
|
116
|
-
const text = typeof msg.content === 'string'
|
|
117
|
-
? msg.content
|
|
118
|
-
: msg.content
|
|
119
|
-
.filter(b => b.type === 'text' && b.text)
|
|
120
|
-
.map(b => b.text)
|
|
121
|
-
.join('\n');
|
|
122
|
-
const todoBlocks = [...text.matchAll(/<todo>([\s\S]*?)<\/todo>/g)];
|
|
123
|
-
if (todoBlocks.length > 0) {
|
|
124
|
-
const lastTodo = todoBlocks[todoBlocks.length - 1][1];
|
|
125
|
-
const activeItem = lastTodo
|
|
126
|
-
.split('\n')
|
|
127
|
-
.find(line => line.match(/^[-\s]*\[ \]/));
|
|
128
|
-
if (activeItem) {
|
|
129
|
-
return activeItem.replace(/^[-\s]*\[ \]\s*/, '').trim();
|
|
130
|
-
}
|
|
131
|
-
}
|
|
132
|
-
}
|
|
133
|
-
return null;
|
|
134
|
-
}
|
|
135
|
-
// ─── Intent Reviewer ─────────────────────────────────────────────────────────
|
|
136
|
-
export class IntentReviewer {
|
|
137
|
-
hfApiKey;
|
|
138
|
-
states = new Map();
|
|
139
|
-
reviewLogs = [];
|
|
140
|
-
constructor(hfApiKey) {
|
|
141
|
-
this.hfApiKey = hfApiKey;
|
|
142
|
-
}
|
|
143
|
-
/**
|
|
144
|
-
* Get or create per-thread review state.
|
|
145
|
-
*/
|
|
146
|
-
getState(threadId) {
|
|
147
|
-
if (!this.states.has(threadId)) {
|
|
148
|
-
this.states.set(threadId, {
|
|
149
|
-
failureCounts: new Map(),
|
|
150
|
-
feedbackHistory: new Map(),
|
|
151
|
-
lastActiveTodo: null,
|
|
152
|
-
});
|
|
153
|
-
}
|
|
154
|
-
return this.states.get(threadId);
|
|
155
|
-
}
|
|
156
|
-
/**
|
|
157
|
-
* Reset failure counters when user sends a new message.
|
|
158
|
-
*/
|
|
159
|
-
resetOnNewUserMessage(threadId) {
|
|
160
|
-
const state = this.states.get(threadId);
|
|
161
|
-
if (state) {
|
|
162
|
-
state.failureCounts.clear();
|
|
163
|
-
state.feedbackHistory.clear();
|
|
164
|
-
}
|
|
165
|
-
}
|
|
166
|
-
/**
|
|
167
|
-
* Check if active todo changed (reset counters for affected files).
|
|
168
|
-
*/
|
|
169
|
-
checkTodoReset(threadId, currentTodo) {
|
|
170
|
-
const state = this.getState(threadId);
|
|
171
|
-
if (currentTodo && state.lastActiveTodo && currentTodo !== state.lastActiveTodo) {
|
|
172
|
-
// Active todo changed — reset all counters
|
|
173
|
-
state.failureCounts.clear();
|
|
174
|
-
state.feedbackHistory.clear();
|
|
175
|
-
}
|
|
176
|
-
state.lastActiveTodo = currentTodo;
|
|
177
|
-
}
|
|
178
|
-
/**
|
|
179
|
-
* Evaluate a Write/Edit execution against stated intent.
|
|
180
|
-
* Returns the modified tool result (pass-through, annotated, or error).
|
|
181
|
-
*/
|
|
182
|
-
async evaluate(threadId, model, toolName, params, toolResult, messages) {
|
|
183
|
-
const filePath = params.file_path || 'unknown';
|
|
184
|
-
const activeTodo = getActiveTodoText(messages);
|
|
185
|
-
this.checkTodoReset(threadId, activeTodo);
|
|
186
|
-
// Extract intent
|
|
187
|
-
const intent = extractIntent(messages);
|
|
188
|
-
if (!intent) {
|
|
189
|
-
this.logReview(threadId, model, toolName, filePath, 'skipped', 0, 0, 0);
|
|
190
|
-
return { output: toolResult, isError: false };
|
|
191
|
-
}
|
|
192
|
-
// Build execution description
|
|
193
|
-
const execution = toolName === 'Edit'
|
|
194
|
-
? {
|
|
195
|
-
type: 'edit',
|
|
196
|
-
file: filePath,
|
|
197
|
-
old: params.old_string,
|
|
198
|
-
new_content: params.new_string,
|
|
199
|
-
}
|
|
200
|
-
: {
|
|
201
|
-
type: 'write',
|
|
202
|
-
file: filePath,
|
|
203
|
-
new_content: params.content,
|
|
204
|
-
};
|
|
205
|
-
// Truncate large content for the review (keep it fast)
|
|
206
|
-
const maxContentChars = 3000;
|
|
207
|
-
const executionDesc = execution.type === 'edit'
|
|
208
|
-
? `FILE: ${execution.file}\nOLD:\n${(execution.old || '').slice(0, maxContentChars)}\nNEW:\n${execution.new_content.slice(0, maxContentChars)}`
|
|
209
|
-
: `FILE: ${execution.file}\nCONTENT:\n${execution.new_content.slice(0, maxContentChars)}`;
|
|
210
|
-
// Call Haiku with timeout
|
|
211
|
-
const startTime = Date.now();
|
|
212
|
-
let verdict;
|
|
213
|
-
try {
|
|
214
|
-
verdict = await this.callReviewModel(intent, executionDesc, REVIEW_TIMEOUT_MS);
|
|
215
|
-
}
|
|
216
|
-
catch (err) {
|
|
217
|
-
const latency = Date.now() - startTime;
|
|
218
|
-
const isTimeout = err.message?.includes('timeout');
|
|
219
|
-
this.logReview(threadId, model, toolName, filePath, isTimeout ? 'timeout' : 'error', 0, 0, latency);
|
|
220
|
-
console.warn(`[IntentReviewer] ${isTimeout ? 'TIMEOUT' : 'ERROR'} thread=${threadId} ` +
|
|
221
|
-
`latency=${latency}ms: ${err.message}`);
|
|
222
|
-
// Default to pass on infrastructure failure
|
|
223
|
-
return { output: toolResult, isError: false };
|
|
224
|
-
}
|
|
225
|
-
const latency = Date.now() - startTime;
|
|
226
|
-
const state = this.getState(threadId);
|
|
227
|
-
const key = `${activeTodo || 'no-todo'}:${filePath}`;
|
|
228
|
-
if (verdict.verdict === 'pass') {
|
|
229
|
-
this.logReview(threadId, model, toolName, filePath, 'pass', verdict.score, 0, latency);
|
|
230
|
-
return { output: toolResult, isError: false };
|
|
231
|
-
}
|
|
232
|
-
if (verdict.verdict === 'provisional_pass') {
|
|
233
|
-
this.logReview(threadId, model, toolName, filePath, 'provisional_pass', verdict.score, 0, latency);
|
|
234
|
-
const annotation = `\n\n[Intent Review: PROVISIONAL PASS — Score ${verdict.score}/10]\n` +
|
|
235
|
-
`Verified: ${verdict.claims.filter(c => c.result === 'true').map(c => c.claim).join(', ')}\n` +
|
|
236
|
-
`Unverifiable: ${verdict.limitations}`;
|
|
237
|
-
return { output: toolResult + annotation, isError: false };
|
|
238
|
-
}
|
|
239
|
-
// FAIL
|
|
240
|
-
const count = (state.failureCounts.get(key) || 0) + 1;
|
|
241
|
-
state.failureCounts.set(key, count);
|
|
242
|
-
if (!state.feedbackHistory.has(key)) {
|
|
243
|
-
state.feedbackHistory.set(key, []);
|
|
244
|
-
}
|
|
245
|
-
state.feedbackHistory.get(key).push(verdict.feedback);
|
|
246
|
-
this.logReview(threadId, model, toolName, filePath, 'fail', verdict.score, count, latency);
|
|
247
|
-
if (count >= MAX_STRIKES) {
|
|
248
|
-
const allFeedback = state.feedbackHistory.get(key) || [];
|
|
249
|
-
return {
|
|
250
|
-
output: `ESCALATION REQUIRED: You have failed this task ${MAX_STRIKES} times.\n\n` +
|
|
251
|
-
`Previous feedback:\n${allFeedback.map((f, i) => ` Attempt ${i + 1}: ${f}`).join('\n')}\n\n` +
|
|
252
|
-
`You MUST now:\n` +
|
|
253
|
-
`1. Stop attempting this task\n` +
|
|
254
|
-
`2. Explain the core difficulty to the user\n` +
|
|
255
|
-
`3. Suggest 2-3 ways to proceed\n\n` +
|
|
256
|
-
`Do NOT attempt another revision.`,
|
|
257
|
-
isError: true,
|
|
258
|
-
};
|
|
259
|
-
}
|
|
260
|
-
const failedClaims = verdict.claims
|
|
261
|
-
.filter(c => c.result !== 'true')
|
|
262
|
-
.map(c => `- "${c.claim}" → ${c.finding}`)
|
|
263
|
-
.join('\n');
|
|
264
|
-
return {
|
|
265
|
-
output: `REVISION REQUIRED (attempt ${count}/${MAX_STRIKES}): ${verdict.feedback}\n\n` +
|
|
266
|
-
`Claims that failed:\n${failedClaims}`,
|
|
267
|
-
isError: true,
|
|
268
|
-
};
|
|
269
|
-
}
|
|
270
|
-
/**
|
|
271
|
-
* Call GLM-5 via HuggingFace to evaluate intent vs execution.
|
|
272
|
-
*/
|
|
273
|
-
async callReviewModel(intent, execution, timeoutMs) {
|
|
274
|
-
const userMessage = `## INTENT\n${intent}\n\n## EXECUTION\n${execution}`;
|
|
275
|
-
const controller = new AbortController();
|
|
276
|
-
const timer = setTimeout(() => controller.abort(), timeoutMs);
|
|
277
|
-
try {
|
|
278
|
-
const response = await fetch(HF_API_URL, {
|
|
279
|
-
method: 'POST',
|
|
280
|
-
headers: {
|
|
281
|
-
'Content-Type': 'application/json',
|
|
282
|
-
Authorization: `Bearer ${this.hfApiKey}`,
|
|
283
|
-
},
|
|
284
|
-
body: JSON.stringify({
|
|
285
|
-
model: REVIEW_MODEL,
|
|
286
|
-
max_tokens: 1024,
|
|
287
|
-
stream: false,
|
|
288
|
-
messages: [
|
|
289
|
-
{ role: 'system', content: REVIEWER_SYSTEM_PROMPT },
|
|
290
|
-
{ role: 'user', content: userMessage },
|
|
291
|
-
],
|
|
292
|
-
}),
|
|
293
|
-
signal: controller.signal,
|
|
294
|
-
});
|
|
295
|
-
clearTimeout(timer);
|
|
296
|
-
if (!response.ok) {
|
|
297
|
-
const body = await response.text().catch(() => '');
|
|
298
|
-
throw Object.assign(new Error(`HF API ${response.status}: ${body.slice(0, 200)}`), {
|
|
299
|
-
status: response.status,
|
|
300
|
-
});
|
|
301
|
-
}
|
|
302
|
-
const json = (await response.json());
|
|
303
|
-
const text = json.choices?.[0]?.message?.content || '';
|
|
304
|
-
// Parse JSON — strip markdown fencing if present
|
|
305
|
-
const cleaned = text.replace(/^```(?:json)?\s*\n?/m, '').replace(/\n?```\s*$/m, '').trim();
|
|
306
|
-
const parsed = JSON.parse(cleaned);
|
|
307
|
-
// Validate required fields
|
|
308
|
-
if (!parsed.verdict || !['pass', 'provisional_pass', 'fail'].includes(parsed.verdict)) {
|
|
309
|
-
throw new Error(`Invalid verdict: ${parsed.verdict}`);
|
|
310
|
-
}
|
|
311
|
-
return parsed;
|
|
312
|
-
}
|
|
313
|
-
catch (err) {
|
|
314
|
-
clearTimeout(timer);
|
|
315
|
-
if (err.name === 'AbortError') {
|
|
316
|
-
throw new Error('Review timeout exceeded');
|
|
317
|
-
}
|
|
318
|
-
throw err;
|
|
319
|
-
}
|
|
320
|
-
}
|
|
321
|
-
/**
|
|
322
|
-
* Log a review for analytics.
|
|
323
|
-
*/
|
|
324
|
-
logReview(threadId, model, toolName, filePath, verdict, score, attempt, latencyMs) {
|
|
325
|
-
const entry = {
|
|
326
|
-
threadId,
|
|
327
|
-
model,
|
|
328
|
-
toolName,
|
|
329
|
-
filePath,
|
|
330
|
-
verdict,
|
|
331
|
-
score,
|
|
332
|
-
attempt,
|
|
333
|
-
latencyMs,
|
|
334
|
-
timestamp: Date.now(),
|
|
335
|
-
};
|
|
336
|
-
this.reviewLogs.push(entry);
|
|
337
|
-
// Keep only last 1000 entries in memory
|
|
338
|
-
if (this.reviewLogs.length > 1000) {
|
|
339
|
-
this.reviewLogs = this.reviewLogs.slice(-500);
|
|
340
|
-
}
|
|
341
|
-
console.log(`[IntentReviewer] thread=${threadId} tool=${toolName} file=${filePath.split('/').pop()} ` +
|
|
342
|
-
`verdict=${verdict} score=${score} attempt=${attempt} latency=${latencyMs}ms`);
|
|
343
|
-
}
|
|
344
|
-
/**
|
|
345
|
-
* Get review statistics for analytics.
|
|
346
|
-
*/
|
|
347
|
-
getStats() {
|
|
348
|
-
const total = this.reviewLogs.length;
|
|
349
|
-
const byVerdict = {};
|
|
350
|
-
const latencies = [];
|
|
351
|
-
for (const log of this.reviewLogs) {
|
|
352
|
-
byVerdict[log.verdict] = (byVerdict[log.verdict] || 0) + 1;
|
|
353
|
-
if (log.latencyMs > 0)
|
|
354
|
-
latencies.push(log.latencyMs);
|
|
355
|
-
}
|
|
356
|
-
latencies.sort((a, b) => a - b);
|
|
357
|
-
const avg = latencies.length > 0 ? latencies.reduce((a, b) => a + b, 0) / latencies.length : 0;
|
|
358
|
-
const p95 = latencies.length > 0 ? latencies[Math.floor(latencies.length * 0.95)] : 0;
|
|
359
|
-
const p99 = latencies.length > 0 ? latencies[Math.floor(latencies.length * 0.99)] : 0;
|
|
360
|
-
return { total, byVerdict, avgLatencyMs: Math.round(avg), p95LatencyMs: p95 ?? 0, p99LatencyMs: p99 ?? 0 };
|
|
361
|
-
}
|
|
362
|
-
}
|
|
363
|
-
//# sourceMappingURL=intent-reviewer.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"intent-reviewer.js","sourceRoot":"","sources":["../../src/lib/intent-reviewer.ts"],"names":[],"mappings":"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"}
|