agent-nuvira 3.1.3 → 3.3.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/agents/agents/reasoner.d.ts +8 -0
- package/dist/agents/agents/reasoner.d.ts.map +1 -1
- package/dist/agents/agents/reasoner.js +53 -2
- package/dist/agents/agents/reasoner.js.map +1 -1
- package/dist/agents/agents/writer.d.ts +24 -0
- package/dist/agents/agents/writer.d.ts.map +1 -1
- package/dist/agents/agents/writer.js +200 -0
- package/dist/agents/agents/writer.js.map +1 -1
- package/dist/agents/composite-plan.d.ts +143 -0
- package/dist/agents/composite-plan.d.ts.map +1 -0
- package/dist/agents/composite-plan.js +399 -0
- package/dist/agents/composite-plan.js.map +1 -0
- package/dist/agents/long-form-plan.d.ts +156 -0
- package/dist/agents/long-form-plan.d.ts.map +1 -0
- package/dist/agents/long-form-plan.js +274 -0
- package/dist/agents/long-form-plan.js.map +1 -0
- package/dist/agents/orchestrator.d.ts +107 -0
- package/dist/agents/orchestrator.d.ts.map +1 -1
- package/dist/agents/orchestrator.js +501 -35
- package/dist/agents/orchestrator.js.map +1 -1
- package/dist/agents/prompt-assembly.d.ts +8 -0
- package/dist/agents/prompt-assembly.d.ts.map +1 -1
- package/dist/agents/prompt-assembly.js +17 -0
- package/dist/agents/prompt-assembly.js.map +1 -1
- package/dist/cli/chat.d.ts +33 -0
- package/dist/cli/chat.d.ts.map +1 -1
- package/dist/cli/chat.js +161 -7
- package/dist/cli/chat.js.map +1 -1
- package/dist/cli/execute.d.ts +12 -0
- package/dist/cli/execute.d.ts.map +1 -1
- package/dist/cli/execute.js +150 -2
- package/dist/cli/execute.js.map +1 -1
- package/dist/cli/loop-executor.d.ts +17 -0
- package/dist/cli/loop-executor.d.ts.map +1 -1
- package/dist/cli/loop-executor.js +160 -1
- package/dist/cli/loop-executor.js.map +1 -1
- package/dist/cli/models.d.ts.map +1 -1
- package/dist/cli/models.js +10 -0
- package/dist/cli/models.js.map +1 -1
- package/dist/cli/trace.d.ts +19 -0
- package/dist/cli/trace.d.ts.map +1 -1
- package/dist/cli/trace.js +109 -2
- package/dist/cli/trace.js.map +1 -1
- package/dist/gateway/registry.d.ts +31 -0
- package/dist/gateway/registry.d.ts.map +1 -1
- package/dist/gateway/registry.js +162 -13
- package/dist/gateway/registry.js.map +1 -1
- package/dist/inference/model-entitlement.d.ts +46 -0
- package/dist/inference/model-entitlement.d.ts.map +1 -0
- package/dist/inference/model-entitlement.js +98 -0
- package/dist/inference/model-entitlement.js.map +1 -0
- package/dist/inference/tool-call-utils.d.ts +10 -0
- package/dist/inference/tool-call-utils.d.ts.map +1 -1
- package/dist/inference/tool-call-utils.js +90 -0
- package/dist/inference/tool-call-utils.js.map +1 -1
- package/dist/learning/autonomy-policy.d.ts +370 -0
- package/dist/learning/autonomy-policy.d.ts.map +1 -0
- package/dist/learning/autonomy-policy.js +544 -0
- package/dist/learning/autonomy-policy.js.map +1 -0
- package/dist/learning/cost-tracker.d.ts +14 -0
- package/dist/learning/cost-tracker.d.ts.map +1 -1
- package/dist/learning/cost-tracker.js +22 -0
- package/dist/learning/cost-tracker.js.map +1 -1
- package/dist/learning/credential-fingerprint.d.ts +58 -0
- package/dist/learning/credential-fingerprint.d.ts.map +1 -0
- package/dist/learning/credential-fingerprint.js +126 -0
- package/dist/learning/credential-fingerprint.js.map +1 -0
- package/dist/learning/deliverable-class.d.ts +178 -0
- package/dist/learning/deliverable-class.d.ts.map +1 -0
- package/dist/learning/deliverable-class.js +504 -0
- package/dist/learning/deliverable-class.js.map +1 -0
- package/dist/learning/engine-router.d.ts +12 -1
- package/dist/learning/engine-router.d.ts.map +1 -1
- package/dist/learning/engine-router.js +28 -0
- package/dist/learning/engine-router.js.map +1 -1
- package/dist/learning/long-form.d.ts +252 -0
- package/dist/learning/long-form.d.ts.map +1 -0
- package/dist/learning/long-form.js +521 -0
- package/dist/learning/long-form.js.map +1 -0
- package/dist/learning/model-first-router.d.ts +17 -0
- package/dist/learning/model-first-router.d.ts.map +1 -1
- package/dist/learning/model-first-router.js +27 -0
- package/dist/learning/model-first-router.js.map +1 -1
- package/dist/learning/model-registry.d.ts +66 -4
- package/dist/learning/model-registry.d.ts.map +1 -1
- package/dist/learning/model-registry.js +67 -6
- package/dist/learning/model-registry.js.map +1 -1
- package/dist/learning/model-warmup.d.ts +97 -2
- package/dist/learning/model-warmup.d.ts.map +1 -1
- package/dist/learning/model-warmup.js +165 -60
- package/dist/learning/model-warmup.js.map +1 -1
- package/dist/learning/prompt-layers.d.ts +61 -0
- package/dist/learning/prompt-layers.d.ts.map +1 -0
- package/dist/learning/prompt-layers.js +140 -0
- package/dist/learning/prompt-layers.js.map +1 -0
- package/dist/learning/provider-limits.d.ts +66 -0
- package/dist/learning/provider-limits.d.ts.map +1 -0
- package/dist/learning/provider-limits.js +184 -0
- package/dist/learning/provider-limits.js.map +1 -0
- package/dist/learning/reasoning-trace.d.ts +125 -1
- package/dist/learning/reasoning-trace.d.ts.map +1 -1
- package/dist/learning/reasoning-trace.js +85 -2
- package/dist/learning/reasoning-trace.js.map +1 -1
- package/dist/learning/resilient-call.d.ts +36 -1
- package/dist/learning/resilient-call.d.ts.map +1 -1
- package/dist/learning/resilient-call.js +80 -5
- package/dist/learning/resilient-call.js.map +1 -1
- package/dist/learning/unattended-job.d.ts +350 -0
- package/dist/learning/unattended-job.d.ts.map +1 -0
- package/dist/learning/unattended-job.js +636 -0
- package/dist/learning/unattended-job.js.map +1 -0
- package/dist/learning/unattended-progress.d.ts +95 -0
- package/dist/learning/unattended-progress.d.ts.map +1 -0
- package/dist/learning/unattended-progress.js +147 -0
- package/dist/learning/unattended-progress.js.map +1 -0
- package/dist/learning/working-state.d.ts +109 -0
- package/dist/learning/working-state.d.ts.map +1 -0
- package/dist/learning/working-state.js +244 -0
- package/dist/learning/working-state.js.map +1 -0
- package/dist/nlu/conversation-gate.d.ts +33 -0
- package/dist/nlu/conversation-gate.d.ts.map +1 -1
- package/dist/nlu/conversation-gate.js +68 -3
- package/dist/nlu/conversation-gate.js.map +1 -1
- package/dist/tools/coding-tools.d.ts.map +1 -1
- package/dist/tools/coding-tools.js +95 -19
- package/dist/tools/coding-tools.js.map +1 -1
- package/dist/tools/edit-verification.d.ts +142 -0
- package/dist/tools/edit-verification.d.ts.map +1 -0
- package/dist/tools/edit-verification.js +262 -0
- package/dist/tools/edit-verification.js.map +1 -0
- package/dist/tools/git-tool.d.ts.map +1 -1
- package/dist/tools/git-tool.js +37 -4
- package/dist/tools/git-tool.js.map +1 -1
- package/dist/tools/registry.d.ts +30 -2
- package/dist/tools/registry.d.ts.map +1 -1
- package/dist/tools/registry.js +40 -11
- package/dist/tools/registry.js.map +1 -1
- package/dist/tools/run-cli.d.ts.map +1 -1
- package/dist/tools/run-cli.js +40 -13
- package/dist/tools/run-cli.js.map +1 -1
- package/dist/tools/run-terminal.d.ts +6 -1
- package/dist/tools/run-terminal.d.ts.map +1 -1
- package/dist/tools/run-terminal.js +158 -18
- package/dist/tools/run-terminal.js.map +1 -1
- package/dist/tools/tool-loop.d.ts +109 -0
- package/dist/tools/tool-loop.d.ts.map +1 -1
- package/dist/tools/tool-loop.js +362 -2
- package/dist/tools/tool-loop.js.map +1 -1
- package/dist/web-dashboard/chat-console.d.ts +8 -0
- package/dist/web-dashboard/chat-console.d.ts.map +1 -1
- package/dist/web-dashboard/chat-console.js +9 -0
- package/dist/web-dashboard/chat-console.js.map +1 -1
- package/dist/web-dashboard/chat-retry.d.ts.map +1 -1
- package/dist/web-dashboard/chat-retry.js +10 -2
- package/dist/web-dashboard/chat-retry.js.map +1 -1
- package/dist/web-dashboard/server.d.ts.map +1 -1
- package/dist/web-dashboard/server.js +80 -8
- package/dist/web-dashboard/server.js.map +1 -1
- package/dist/web-dashboard/src/types.d.ts +81 -4
- package/dist/web-dashboard/src/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/web-dashboard/public/assets/{index-Co7Hk2FT.js → index-kCUkORm7.js} +2 -2
- package/src/web-dashboard/public/assets/{index-Co7Hk2FT.js.map → index-kCUkORm7.js.map} +1 -1
- package/src/web-dashboard/public/index.html +1 -1
|
@@ -23,6 +23,7 @@
|
|
|
23
23
|
* package with pyinstaller, produce .exe for Windows"
|
|
24
24
|
*/
|
|
25
25
|
import { Agent, type AgentContext, type AgentResult, type LLMCallFn } from '../agent.js';
|
|
26
|
+
import { type DeliverableClass } from '../../learning/deliverable-class.js';
|
|
26
27
|
/** Technical decisions made by the reasoner */
|
|
27
28
|
export interface TechnicalDecision {
|
|
28
29
|
/** Detected or decided language (python, typescript, csharp, go, etc.) */
|
|
@@ -41,6 +42,13 @@ export interface TechnicalDecision {
|
|
|
41
42
|
deliverable: string;
|
|
42
43
|
/** Constraints that must be satisfied */
|
|
43
44
|
constraints: string[];
|
|
45
|
+
/**
|
|
46
|
+
* G7 — what KIND of thing the user asked for. Assigned deterministically by
|
|
47
|
+
* `classifyDeliverable` (see deliverable-class.ts), never by the model: a
|
|
48
|
+
* weak model that reads "write a story" as a software project must not be
|
|
49
|
+
* able to reintroduce the category error that killed the story task.
|
|
50
|
+
*/
|
|
51
|
+
deliverableClass: DeliverableClass;
|
|
44
52
|
/** Whether this is a greenfield (from-scratch) project */
|
|
45
53
|
isGreenfield: boolean;
|
|
46
54
|
/** Confidence in the decisions (0-1) */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reasoner.d.ts","sourceRoot":"","sources":["../../../src/agents/agents/reasoner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAAE,KAAK,EAAE,KAAK,YAAY,EAAE,KAAK,WAAW,EAAE,KAAK,SAAS,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"reasoner.d.ts","sourceRoot":"","sources":["../../../src/agents/agents/reasoner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAAE,KAAK,EAAE,KAAK,YAAY,EAAE,KAAK,WAAW,EAAE,KAAK,SAAS,EAAE,MAAM,aAAa,CAAC;AAEzF,OAAO,EAIL,KAAK,gBAAgB,EACtB,MAAM,qCAAqC,CAAC;AAI7C,+CAA+C;AAC/C,MAAM,WAAW,iBAAiB;IAChC,0EAA0E;IAC1E,QAAQ,EAAE,MAAM,CAAC;IACjB,+EAA+E;IAC/E,SAAS,EAAE,MAAM,CAAC;IAClB,oEAAoE;IACpE,QAAQ,EAAE,MAAM,CAAC;IACjB,mEAAmE;IACnE,YAAY,EAAE,MAAM,CAAC;IACrB,6CAA6C;IAC7C,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,kEAAkE;IAClE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gEAAgE;IAChE,WAAW,EAAE,MAAM,CAAC;IACpB,yCAAyC;IACzC,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB;;;;;OAKG;IACH,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,0DAA0D;IAC1D,YAAY,EAAE,OAAO,CAAC;IACtB,wCAAwC;IACxC,UAAU,EAAE,MAAM,CAAC;IACnB,kCAAkC;IAClC,SAAS,EAAE,MAAM,CAAC;CACnB;AAoDD;;;;;;GAMG;AACH,qBAAa,aAAc,SAAQ,KAAK;IACtC,QAAQ,CAAC,IAAI,cAAc;IAC3B,QAAQ,CAAC,WAAW,+CAA+C;IAE7D,OAAO,CAAC,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC;IA+H9E;;OAEG;IACH,OAAO,CAAC,aAAa;CAsCtB"}
|
|
@@ -24,6 +24,7 @@
|
|
|
24
24
|
*/
|
|
25
25
|
import { Agent } from '../agent.js';
|
|
26
26
|
import { assessProject } from '../prompt-assembly.js';
|
|
27
|
+
import { authoredDeliverableGuidance, classifyDeliverable, deliverableClassLabel, } from '../../learning/deliverable-class.js';
|
|
27
28
|
// ─── Constants ──────────────────────────────────────────────────────────────
|
|
28
29
|
const REASONER_SYSTEM_PROMPT = [
|
|
29
30
|
'You are a senior software architect. Your job is to analyze a user goal and make',
|
|
@@ -38,6 +39,11 @@ const REASONER_SYSTEM_PROMPT = [
|
|
|
38
39
|
'6. Build: How to produce the deliverable (pyinstaller, dotnet publish, npm build, etc.)',
|
|
39
40
|
'7. Deliverable: What the final output should be (executable, web-app, library, etc.)',
|
|
40
41
|
'8. Constraints: What must be true about the solution',
|
|
42
|
+
'9. Deliverable class: code | document | creative | data | research — the KIND of',
|
|
43
|
+
' thing requested. Use "creative" for stories/novels/poems and "document" for',
|
|
44
|
+
' reports/essays/articles: for those, the artifact is WRITTEN CONTENT and the',
|
|
45
|
+
' language is "none". You must NEVER answer such a request with a script or',
|
|
46
|
+
' program that would produce the content — writing it IS the task.',
|
|
41
47
|
'',
|
|
42
48
|
'Rules:',
|
|
43
49
|
'- Be SPECIFIC: "Python+tkinter" not "a language"',
|
|
@@ -56,6 +62,7 @@ const REASONER_SYSTEM_PROMPT = [
|
|
|
56
62
|
' "dependencies": ["string"],',
|
|
57
63
|
' "buildCommand": "string (optional)",',
|
|
58
64
|
' "deliverable": "string",',
|
|
65
|
+
' "deliverableClass": "code | document | creative | data | research",',
|
|
59
66
|
' "constraints": ["string"],',
|
|
60
67
|
' "isGreenfield": boolean,',
|
|
61
68
|
' "confidence": number (0-1),',
|
|
@@ -86,6 +93,14 @@ export class ReasonerAgent extends Agent {
|
|
|
86
93
|
catch {
|
|
87
94
|
// Best-effort — assessment must never break the reasoner
|
|
88
95
|
}
|
|
96
|
+
// ── Deliverable class (deterministic, before any LLM sees the goal) ──
|
|
97
|
+
// For an authored ask this is reported to the model as already DECIDED,
|
|
98
|
+
// with the consequences spelled out — the live failure was the model
|
|
99
|
+
// choosing "python + a Python script is the most efficient way" for a
|
|
100
|
+
// request to write a novel.
|
|
101
|
+
const verdict = classifyDeliverable(context.goal);
|
|
102
|
+
context.metadata.deliverableClass = verdict.class;
|
|
103
|
+
context.metadata.deliverableAuthored = verdict.authored;
|
|
89
104
|
// Build the prompt
|
|
90
105
|
const promptParts = [
|
|
91
106
|
REASONER_SYSTEM_PROMPT,
|
|
@@ -96,6 +111,15 @@ export class ReasonerAgent extends Agent {
|
|
|
96
111
|
'## Working Directory',
|
|
97
112
|
context.workingDirectory,
|
|
98
113
|
];
|
|
114
|
+
// G12 — the guidance is substrate-aware: a hybrid ask (web-based book with
|
|
115
|
+
// narration) must be told that the presentation layer is required BUT a
|
|
116
|
+
// Python service is optional, or the reasoner re-frames the whole thing as
|
|
117
|
+
// software and the prose never gets written.
|
|
118
|
+
const authoredGuidance = verdict.authored
|
|
119
|
+
? authoredDeliverableGuidance(verdict.class, verdict.substrates)
|
|
120
|
+
: '';
|
|
121
|
+
if (authoredGuidance)
|
|
122
|
+
promptParts.push(authoredGuidance);
|
|
99
123
|
// Inject project assessment if available
|
|
100
124
|
if (assessment) {
|
|
101
125
|
const assessmentLines = ['', '## Current Project State'];
|
|
@@ -133,12 +157,36 @@ export class ReasonerAgent extends Agent {
|
|
|
133
157
|
summary: 'Reasoning failed — planner will use defaults',
|
|
134
158
|
};
|
|
135
159
|
}
|
|
160
|
+
// ── ENFORCE the authored class (G7) ────────────────────────────────
|
|
161
|
+
// The classifier decided this before the model was called. If the model
|
|
162
|
+
// still answered with a programming stack — exactly what happened live
|
|
163
|
+
// ("language":"python", framework "none", reasoning "a Python script is
|
|
164
|
+
// the most efficient way") — the decision is corrected here rather than
|
|
165
|
+
// passed downstream, because the PLANNER consumes this document and would
|
|
166
|
+
// faithfully turn it into a code plan.
|
|
167
|
+
if (verdict.authored) {
|
|
168
|
+
decision.deliverableClass = verdict.class === 'document' ? 'document' : 'creative';
|
|
169
|
+
decision.language = 'none';
|
|
170
|
+
decision.framework = 'none';
|
|
171
|
+
decision.platform = 'document';
|
|
172
|
+
decision.architecture = 'sections';
|
|
173
|
+
decision.dependencies = [];
|
|
174
|
+
decision.buildCommand = undefined;
|
|
175
|
+
if (!decision.deliverable || decision.deliverable === 'unknown' || /script|program|app$/i.test(decision.deliverable)) {
|
|
176
|
+
decision.deliverable = 'markdown_file';
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
else {
|
|
180
|
+
decision.deliverableClass = verdict.class;
|
|
181
|
+
}
|
|
136
182
|
// Store the decision in the vault for the planner to use
|
|
137
183
|
context.metadata.technicalDecision = decision;
|
|
138
|
-
this.report(context, 'decided', `Technical decisions: ${decision.
|
|
184
|
+
this.report(context, 'decided', `Technical decisions: ${deliverableClassLabel(decision.deliverableClass)} → ` +
|
|
185
|
+
`${decision.language}+${decision.framework} → ${decision.platform} → ${decision.deliverable}`);
|
|
139
186
|
return {
|
|
140
187
|
success: true,
|
|
141
|
-
summary: `Technical decisions made: ${decision.
|
|
188
|
+
summary: `Technical decisions made: ${deliverableClassLabel(decision.deliverableClass)} — ` +
|
|
189
|
+
`${decision.language}+${decision.framework} on ${decision.platform}`,
|
|
142
190
|
};
|
|
143
191
|
}
|
|
144
192
|
catch (err) {
|
|
@@ -166,6 +214,8 @@ export class ReasonerAgent extends Agent {
|
|
|
166
214
|
if (!parsed.language || !parsed.framework || !parsed.platform) {
|
|
167
215
|
return null;
|
|
168
216
|
}
|
|
217
|
+
const VALID_CLASSES = ['code', 'document', 'creative', 'data', 'research'];
|
|
218
|
+
const cls = VALID_CLASSES.includes(parsed.deliverableClass) ? parsed.deliverableClass : 'code';
|
|
169
219
|
return {
|
|
170
220
|
language: String(parsed.language),
|
|
171
221
|
framework: String(parsed.framework),
|
|
@@ -174,6 +224,7 @@ export class ReasonerAgent extends Agent {
|
|
|
174
224
|
dependencies: Array.isArray(parsed.dependencies) ? parsed.dependencies : [],
|
|
175
225
|
buildCommand: parsed.buildCommand ? String(parsed.buildCommand) : undefined,
|
|
176
226
|
deliverable: String(parsed.deliverable || 'unknown'),
|
|
227
|
+
deliverableClass: cls,
|
|
177
228
|
constraints: Array.isArray(parsed.constraints) ? parsed.constraints : [],
|
|
178
229
|
isGreenfield: Boolean(parsed.isGreenfield),
|
|
179
230
|
confidence: typeof parsed.confidence === 'number' ? parsed.confidence : 0.5,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reasoner.js","sourceRoot":"","sources":["../../../src/agents/agents/reasoner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,EAAE,KAAK,EAAuD,MAAM,aAAa,CAAC;AACzF,OAAO,EAAE,aAAa,EAA0B,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"reasoner.js","sourceRoot":"","sources":["../../../src/agents/agents/reasoner.ts"],"names":[],"mappings":"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"}
|
|
@@ -40,6 +40,30 @@ export declare class WriterAgent extends Agent {
|
|
|
40
40
|
readonly name = "Writer";
|
|
41
41
|
readonly description = "Generates code changes based on the plan and context";
|
|
42
42
|
execute(context: AgentContext, callLLM: LLMCallFn): Promise<AgentResult>;
|
|
43
|
+
/**
|
|
44
|
+
* Build the AUTHOR prompt for one long-form unit.
|
|
45
|
+
*
|
|
46
|
+
* The continuity section is what makes a multi-unit book read as one work
|
|
47
|
+
* rather than 39 unrelated fragments: the previous unit's TAIL is included
|
|
48
|
+
* (not its whole text — that would blow the context budget on unit 35), which
|
|
49
|
+
* is enough for voice, tense, and plot position to carry over.
|
|
50
|
+
*/
|
|
51
|
+
private buildProsePrompt;
|
|
52
|
+
/**
|
|
53
|
+
* The tail of the previous unit, preferring the file on disk so a later unit
|
|
54
|
+
* in the same batch joins up with prose that actually exists.
|
|
55
|
+
*/
|
|
56
|
+
private resolvePreviousTail;
|
|
57
|
+
/**
|
|
58
|
+
* Write ONE unit of a long-form document.
|
|
59
|
+
*
|
|
60
|
+
* Unlike `attemptWrite`, there is no file-change parsing: the model's
|
|
61
|
+
* response IS the artifact. Trimming fences is defensive (some models wrap
|
|
62
|
+
* prose in ``` even when told not to) but a short or empty response is a
|
|
63
|
+
* hard FAILURE, never a success — the whole point of this path is that
|
|
64
|
+
* "the step ran" must not be confused with "the work exists".
|
|
65
|
+
*/
|
|
66
|
+
private attemptProseWrite;
|
|
43
67
|
/**
|
|
44
68
|
* Perform a single write attempt.
|
|
45
69
|
* Optionally uses a stricter retry prompt.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"writer.d.ts","sourceRoot":"","sources":["../../../src/agents/agents/writer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAKH,OAAO,EAAE,KAAK,EAAE,KAAK,YAAY,EAAE,KAAK,WAAW,EAAmB,KAAK,SAAS,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"writer.d.ts","sourceRoot":"","sources":["../../../src/agents/agents/writer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAKH,OAAO,EAAE,KAAK,EAAE,KAAK,YAAY,EAAE,KAAK,WAAW,EAAmB,KAAK,SAAS,EAAE,MAAM,aAAa,CAAC;AA6N1G;;;;;;;;;;;;GAYG;AACH,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CASpE;AAED;;;;;;;;;;;GAWG;AACH,qBAAa,WAAY,SAAQ,KAAK;IACpC,QAAQ,CAAC,IAAI,YAAY;IACzB,QAAQ,CAAC,WAAW,0DAA0D;IAExE,OAAO,CAAC,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,SAAS,GAAG,OAAO,CAAC,WAAW,CAAC;IAoJ9E;;;;;;;OAOG;IACH,OAAO,CAAC,gBAAgB;IAqDxB;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IAc3B;;;;;;;;OAQG;YACW,iBAAiB;IAsD/B;;;OAGG;YACW,YAAY;IAyH1B;;;;OAIG;IACH,OAAO,CAAC,WAAW;IAkInB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAsBxB;;;;;;;;;OASG;IACH,OAAO,CAAC,uBAAuB;IA8D/B;;;OAGG;IACH,OAAO,CAAC,uBAAuB;IA2C/B,OAAO,CAAC,aAAa;CA0BtB"}
|
|
@@ -17,8 +17,10 @@ import { detectLanguage } from '../../editing/types.js';
|
|
|
17
17
|
import { validateSyntax } from '../../editing/ast.js';
|
|
18
18
|
import { buildStructuralContext } from '../../editing/edit.js';
|
|
19
19
|
import { BASE_RETRY_DELAY_MS, LONG_WAIT_THRESHOLD_MS, calculateRetryDelay, isRateLimitError, parseModelName, parseRetryAfterHint, } from '../rate-limit-retry.js';
|
|
20
|
+
import { stripLeadingAuthorNotes } from '../../inference/tool-call-utils.js';
|
|
20
21
|
import { referenceDocsFor } from '../reference-docs.js';
|
|
21
22
|
import { assessProject } from '../prompt-assembly.js';
|
|
23
|
+
import { countWords } from '../../learning/long-form.js';
|
|
22
24
|
/**
|
|
23
25
|
* Build the writer system prompt with project-specific context.
|
|
24
26
|
* Layering: identity → project conventions → task instructions. The prompt
|
|
@@ -117,6 +119,18 @@ const EXT_BY_LANG = {
|
|
|
117
119
|
ruby: '.rb',
|
|
118
120
|
php: '.php',
|
|
119
121
|
};
|
|
122
|
+
/**
|
|
123
|
+
* Strip a single wrapping code fence from a prose response.
|
|
124
|
+
*
|
|
125
|
+
* Not all models obey "no code blocks" — some return the chapter wrapped in
|
|
126
|
+
* ```markdown. Without this, the chapter file would open with a stray fence.
|
|
127
|
+
* Only an OUTER wrap is removed, so fenced examples inside prose survive.
|
|
128
|
+
*/
|
|
129
|
+
function stripFences(text) {
|
|
130
|
+
const t = text.trim();
|
|
131
|
+
const outer = t.match(/^```[a-zA-Z0-9_-]*\s*\n([\s\S]*?)\n?```$/);
|
|
132
|
+
return outer ? outer[1] : t;
|
|
133
|
+
}
|
|
120
134
|
/**
|
|
121
135
|
* Extract plain fenced code blocks (```lang\n...\n```) WITHOUT a
|
|
122
136
|
* `filepath:` prefix — the blocks the strict parser rejects but the lenient
|
|
@@ -170,6 +184,33 @@ function extractPathMentions(text) {
|
|
|
170
184
|
const MAX_CONTEXT_CHARS = 16_000;
|
|
171
185
|
/** Maximum number of API retry attempts for transient LLM failures (rate limits, timeouts, etc.) */
|
|
172
186
|
const MAX_API_RETRIES = 2;
|
|
187
|
+
/**
|
|
188
|
+
* ── Prose (long-form) mode ────────────────────────────────────────────────
|
|
189
|
+
*
|
|
190
|
+
* The code path above — `maxTokens: 2048` and a contract that requires
|
|
191
|
+
* ``` ``filepath: …`` ``` code blocks — CANNOT author a document. A 100-page
|
|
192
|
+
* story is ~35,000 words; 2,048 tokens is ~1,500 words (~4 pages), and prose
|
|
193
|
+
* is not code, so a correct response would be rejected as "no parseable
|
|
194
|
+
* output". Those two facts, NOT model availability, are what killed the
|
|
195
|
+
* WhatsApp story task across six runs (see the audit in
|
|
196
|
+
* ENTERPRISE_GRADE_TRACKER.md), and no model in the pool could have changed
|
|
197
|
+
* the outcome.
|
|
198
|
+
*
|
|
199
|
+
* So a long-form unit takes a different path with the right contract:
|
|
200
|
+
* - an AUTHOR persona (not "expert software engineer")
|
|
201
|
+
* - a raised output cap sized for ~900 words with headroom
|
|
202
|
+
* - the response IS the artifact — raw prose, no code-block ceremony
|
|
203
|
+
* - a minimum word count, so a truncated or empty response is a FAILURE
|
|
204
|
+
* instead of a green step (the original run recorded `success: true`
|
|
205
|
+
* with `responseLength: 0`)
|
|
206
|
+
*/
|
|
207
|
+
// Sized for the LARGEST unit long-form planning produces: a chapter target is
|
|
208
|
+
// `WORDS_PER_CHAPTER` (2,500 words ≈ 3,400 tokens), so the cap has to clear
|
|
209
|
+
// that with headroom or every chapter truncates — which is precisely how the
|
|
210
|
+
// code path failed (2048 tokens for a request it could never satisfy).
|
|
211
|
+
const PROSE_MAX_TOKENS = 8192;
|
|
212
|
+
/** A unit below this is not a chapter — it is a truncated or empty response. */
|
|
213
|
+
const PROSE_MIN_WORDS = 120;
|
|
173
214
|
/**
|
|
174
215
|
* Distinguish a GENUINE "no changes needed" LLM judgment from a format
|
|
175
216
|
* failure (Session 46). A writer that explicitly declines — nothing to
|
|
@@ -209,6 +250,33 @@ export class WriterAgent extends Agent {
|
|
|
209
250
|
async execute(context, callLLM) {
|
|
210
251
|
let lastError;
|
|
211
252
|
let latestCallLLM = callLLM;
|
|
253
|
+
// Long-form unit? Author prose, do not write code. Dispatched before the
|
|
254
|
+
// code path so no code-shaped instruction (or code-shaped parser) can ever
|
|
255
|
+
// touch an authored deliverable.
|
|
256
|
+
if (context.metadata.proseUnit) {
|
|
257
|
+
this.report(context, 'drafting', 'Writing the next unit of the document…');
|
|
258
|
+
let lastProseError;
|
|
259
|
+
for (let attempt = 0; attempt <= MAX_API_RETRIES; attempt++) {
|
|
260
|
+
try {
|
|
261
|
+
const proseResult = await this.attemptProseWrite(context, callLLM, attempt > 0);
|
|
262
|
+
if (proseResult.success)
|
|
263
|
+
return proseResult;
|
|
264
|
+
lastProseError = proseResult.error || proseResult.summary;
|
|
265
|
+
if (/rate.?limit|429/i.test(lastProseError))
|
|
266
|
+
break;
|
|
267
|
+
}
|
|
268
|
+
catch (err) {
|
|
269
|
+
lastProseError = err instanceof Error ? err.message : String(err);
|
|
270
|
+
if (!/rate.?limit|429|timeout|network|ECONN/i.test(lastProseError))
|
|
271
|
+
break;
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
return {
|
|
275
|
+
success: false,
|
|
276
|
+
summary: 'Writer failed to produce the unit',
|
|
277
|
+
error: lastProseError || 'unknown prose failure',
|
|
278
|
+
};
|
|
279
|
+
}
|
|
212
280
|
this.report(context, 'thinking', `Reviewing task and gathered context (${context.artifacts.length} file(s) available)…`);
|
|
213
281
|
// Outer retry loop: handles transient API errors (rate limits, timeouts)
|
|
214
282
|
for (let attempt = 0; attempt <= MAX_API_RETRIES; attempt++) {
|
|
@@ -312,6 +380,138 @@ export class WriterAgent extends Agent {
|
|
|
312
380
|
error: lastError || 'Unknown error',
|
|
313
381
|
};
|
|
314
382
|
}
|
|
383
|
+
/**
|
|
384
|
+
* Build the AUTHOR prompt for one long-form unit.
|
|
385
|
+
*
|
|
386
|
+
* The continuity section is what makes a multi-unit book read as one work
|
|
387
|
+
* rather than 39 unrelated fragments: the previous unit's TAIL is included
|
|
388
|
+
* (not its whole text — that would blow the context budget on unit 35), which
|
|
389
|
+
* is enough for voice, tense, and plot position to carry over.
|
|
390
|
+
*/
|
|
391
|
+
buildProsePrompt(context, unit, isRetry) {
|
|
392
|
+
const isFinal = unit.index >= unit.total;
|
|
393
|
+
// Read the predecessor AT EXECUTION TIME when we know its path: the
|
|
394
|
+
// plan-time tail is stale for any unit after the first in a batch (its
|
|
395
|
+
// predecessor's file did not exist when the batch was planned).
|
|
396
|
+
const previousTail = this.resolvePreviousTail(unit);
|
|
397
|
+
const continuity = previousTail.trim().length > 0
|
|
398
|
+
? [
|
|
399
|
+
'## Where you are picking up',
|
|
400
|
+
'The previous unit ended like this (verbatim):',
|
|
401
|
+
'',
|
|
402
|
+
previousTail.trim(),
|
|
403
|
+
'',
|
|
404
|
+
'Continue DIRECTLY from that point in the same voice and tense. Do not',
|
|
405
|
+
'restate, summarise, or re-introduce what already happened.',
|
|
406
|
+
].join('\n')
|
|
407
|
+
: [
|
|
408
|
+
'## Where you are starting',
|
|
409
|
+
'This is the OPENING unit. Establish the setting, the voice, and the',
|
|
410
|
+
'central characters/arguments within the first few paragraphs.',
|
|
411
|
+
].join('\n');
|
|
412
|
+
return [
|
|
413
|
+
`You are an author. You write finished ${unit.deliverableClass === 'creative' ? 'fiction' : 'non-fiction prose'} to a professional standard.`,
|
|
414
|
+
'',
|
|
415
|
+
'## The work being written',
|
|
416
|
+
unit.goal.replace(/\s+/g, ' ').slice(0, 1_200),
|
|
417
|
+
'',
|
|
418
|
+
`Form: ${unit.deliverableClass} · ${unit.title} · unit ${unit.index} of ${unit.total}`,
|
|
419
|
+
'',
|
|
420
|
+
continuity,
|
|
421
|
+
'',
|
|
422
|
+
'## This unit',
|
|
423
|
+
isFinal
|
|
424
|
+
? `Write the CONCLUDING unit — ${unit.title}. Bring the work to a satisfying close.`
|
|
425
|
+
: `Write ${unit.title}. Target roughly ${unit.targetWords} words (within about a quarter either way).`,
|
|
426
|
+
'',
|
|
427
|
+
'## Output rules — follow exactly',
|
|
428
|
+
'- Output ONLY the prose of this unit. Nothing else.',
|
|
429
|
+
'- No title line, no headings, no bullet lists, no code blocks or fences.',
|
|
430
|
+
'- No preamble, no note about what you are doing, no self-commentary.',
|
|
431
|
+
'- Never mention being an AI or describe your process.',
|
|
432
|
+
'- Do not repeat the previous unit or summarise it.',
|
|
433
|
+
'- Match the language the user wrote the request in.',
|
|
434
|
+
isFinal
|
|
435
|
+
? '- Finish the narrative arc completely.'
|
|
436
|
+
: '- Do NOT write "The End" — the work continues after this unit.',
|
|
437
|
+
isRetry
|
|
438
|
+
? '\nThe previous response was rejected because it was too short, or contained commentary/code instead of prose. Return prose only, and meet the word target.'
|
|
439
|
+
: '',
|
|
440
|
+
].filter(Boolean).join('\n');
|
|
441
|
+
}
|
|
442
|
+
/**
|
|
443
|
+
* The tail of the previous unit, preferring the file on disk so a later unit
|
|
444
|
+
* in the same batch joins up with prose that actually exists.
|
|
445
|
+
*/
|
|
446
|
+
resolvePreviousTail(unit) {
|
|
447
|
+
if (unit.previousPath) {
|
|
448
|
+
try {
|
|
449
|
+
if (existsSync(unit.previousPath)) {
|
|
450
|
+
const text = readFileSync(unit.previousPath, 'utf-8').trim();
|
|
451
|
+
if (text.length > 0)
|
|
452
|
+
return text.length <= 1_200 ? text : text.slice(text.length - 1_200);
|
|
453
|
+
}
|
|
454
|
+
}
|
|
455
|
+
catch {
|
|
456
|
+
// Fall through to the plan-time tail.
|
|
457
|
+
}
|
|
458
|
+
}
|
|
459
|
+
return unit.previousTail || '';
|
|
460
|
+
}
|
|
461
|
+
/**
|
|
462
|
+
* Write ONE unit of a long-form document.
|
|
463
|
+
*
|
|
464
|
+
* Unlike `attemptWrite`, there is no file-change parsing: the model's
|
|
465
|
+
* response IS the artifact. Trimming fences is defensive (some models wrap
|
|
466
|
+
* prose in ``` even when told not to) but a short or empty response is a
|
|
467
|
+
* hard FAILURE, never a success — the whole point of this path is that
|
|
468
|
+
* "the step ran" must not be confused with "the work exists".
|
|
469
|
+
*/
|
|
470
|
+
async attemptProseWrite(context, callLLM, isRetry = false) {
|
|
471
|
+
const unit = context.metadata.proseUnit;
|
|
472
|
+
const prompt = this.buildProsePrompt(context, unit, isRetry);
|
|
473
|
+
const response = await callLLM(prompt, { temperature: isRetry ? 0.5 : 0.7, maxTokens: PROSE_MAX_TOKENS });
|
|
474
|
+
// The model's response IS the artifact, so the deliverable is cleaned
|
|
475
|
+
// deterministically rather than trusted: the unit prompt forbids headings,
|
|
476
|
+
// preambles and notes, and a model that violates it would otherwise write
|
|
477
|
+
// its notes into EVERY chapter of a 39-unit book (observed live: a chapter
|
|
478
|
+
// opening with `# Chapter 1 / Author. / … *Note:* The prompt asks for …`).
|
|
479
|
+
const prose = stripLeadingAuthorNotes(stripFences(response || '').trim()).trim();
|
|
480
|
+
const words = countWords(prose);
|
|
481
|
+
if (words < PROSE_MIN_WORDS) {
|
|
482
|
+
return {
|
|
483
|
+
success: false,
|
|
484
|
+
summary: 'Writer produced too little prose',
|
|
485
|
+
error: `Unit ${unit.index} (${unit.title}) produced ${words} words (${response.length} chars), ` +
|
|
486
|
+
`below the ${PROSE_MIN_WORDS}-word minimum — treated as a truncated or empty response. ` +
|
|
487
|
+
`Response preview: ${(response || '').slice(0, 200)}`,
|
|
488
|
+
};
|
|
489
|
+
}
|
|
490
|
+
const absolutePath = unit.absolutePath;
|
|
491
|
+
let status = 'created';
|
|
492
|
+
let originalContent;
|
|
493
|
+
try {
|
|
494
|
+
if (existsSync(absolutePath)) {
|
|
495
|
+
status = 'modified';
|
|
496
|
+
originalContent = readFileSync(absolutePath, 'utf-8');
|
|
497
|
+
}
|
|
498
|
+
}
|
|
499
|
+
catch {
|
|
500
|
+
// Best-effort — a read failure just means we report `created`.
|
|
501
|
+
}
|
|
502
|
+
const change = { path: unit.path, newContent: `${prose}\n`, originalContent, status };
|
|
503
|
+
const existing = context.fileChanges.findIndex((c) => c.path === change.path);
|
|
504
|
+
if (existing >= 0)
|
|
505
|
+
context.fileChanges[existing] = change;
|
|
506
|
+
else
|
|
507
|
+
context.fileChanges.push(change);
|
|
508
|
+
this.report(context, 'decided', `Wrote ${unit.title}: ${words} words → ${unit.path}`);
|
|
509
|
+
return {
|
|
510
|
+
success: true,
|
|
511
|
+
summary: `Wrote ${unit.title} (${words} words)`,
|
|
512
|
+
details: ` \u{1F4C4} ${unit.path} (${words} words, unit ${unit.index}/${unit.total})`,
|
|
513
|
+
};
|
|
514
|
+
}
|
|
315
515
|
/**
|
|
316
516
|
* Perform a single write attempt.
|
|
317
517
|
* Optionally uses a stricter retry prompt.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"writer.js","sourceRoot":"","sources":["../../../src/agents/agents/writer.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"writer.js","sourceRoot":"","sources":["../../../src/agents/agents/writer.ts"],"names":[],"mappings":"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"}
|