human-to-code 0.1.27 → 0.1.29
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/Readme.md +56 -36
- package/dist/agents/direct/file-memory.d.ts.map +1 -1
- package/dist/agents/direct/file-memory.js +70 -1
- package/dist/agents/direct/file-memory.js.map +1 -1
- package/dist/agents/direct/generation-client.d.ts +10 -0
- package/dist/agents/direct/generation-client.d.ts.map +1 -1
- package/dist/agents/direct/generation-client.js +37 -2
- package/dist/agents/direct/generation-client.js.map +1 -1
- package/dist/agents/direct/index.d.ts +4 -0
- package/dist/agents/direct/index.d.ts.map +1 -1
- package/dist/agents/direct/index.js +4 -0
- package/dist/agents/direct/index.js.map +1 -1
- package/dist/agents/direct/minicpm-profile.d.ts +8 -0
- package/dist/agents/direct/minicpm-profile.d.ts.map +1 -0
- package/dist/agents/direct/minicpm-profile.js +52 -0
- package/dist/agents/direct/minicpm-profile.js.map +1 -0
- package/dist/agents/direct/presentation.d.ts +20 -0
- package/dist/agents/direct/presentation.d.ts.map +1 -1
- package/dist/agents/direct/presentation.js +33 -3
- package/dist/agents/direct/presentation.js.map +1 -1
- package/dist/agents/direct/project-blueprint.d.ts +29 -0
- package/dist/agents/direct/project-blueprint.d.ts.map +1 -0
- package/dist/agents/direct/project-blueprint.js +170 -0
- package/dist/agents/direct/project-blueprint.js.map +1 -0
- package/dist/agents/direct/project-contracts.d.ts +34 -0
- package/dist/agents/direct/project-contracts.d.ts.map +1 -1
- package/dist/agents/direct/project-contracts.js +59 -42
- package/dist/agents/direct/project-contracts.js.map +1 -1
- package/dist/agents/direct/project-memory.d.ts +6 -0
- package/dist/agents/direct/project-memory.d.ts.map +1 -1
- package/dist/agents/direct/project-memory.js +20 -0
- package/dist/agents/direct/project-memory.js.map +1 -1
- package/dist/agents/direct/reference-validation.d.ts +55 -0
- package/dist/agents/direct/reference-validation.d.ts.map +1 -0
- package/dist/agents/direct/reference-validation.js +415 -0
- package/dist/agents/direct/reference-validation.js.map +1 -0
- package/dist/agents/direct/types.d.ts +50 -0
- package/dist/agents/direct/types.d.ts.map +1 -1
- package/dist/agents/direct/unit-todos.d.ts +51 -0
- package/dist/agents/direct/unit-todos.d.ts.map +1 -0
- package/dist/agents/direct/unit-todos.js +223 -0
- package/dist/agents/direct/unit-todos.js.map +1 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +154 -10
- package/dist/cli.js.map +1 -1
- package/dist/config/config.d.ts +40 -1
- package/dist/config/config.d.ts.map +1 -1
- package/dist/config/config.js +98 -6
- package/dist/config/config.js.map +1 -1
- package/dist/core/types.d.ts +1 -1
- package/dist/core/types.d.ts.map +1 -1
- package/dist/prompts/direct-blueprint.d.ts +19 -0
- package/dist/prompts/direct-blueprint.d.ts.map +1 -0
- package/dist/prompts/direct-blueprint.js +49 -0
- package/dist/prompts/direct-blueprint.js.map +1 -0
- package/dist/prompts/direct-conversion.d.ts +10 -0
- package/dist/prompts/direct-conversion.d.ts.map +1 -1
- package/dist/prompts/direct-conversion.js +34 -4
- package/dist/prompts/direct-conversion.js.map +1 -1
- package/dist/prompts/direct-todos.d.ts +17 -0
- package/dist/prompts/direct-todos.d.ts.map +1 -0
- package/dist/prompts/direct-todos.js +43 -0
- package/dist/prompts/direct-todos.js.map +1 -0
- package/dist/prompts/index.d.ts +2 -0
- package/dist/prompts/index.d.ts.map +1 -1
- package/dist/prompts/index.js +2 -0
- package/dist/prompts/index.js.map +1 -1
- package/dist/providers/provider.d.ts.map +1 -1
- package/dist/providers/provider.js +3 -1
- package/dist/providers/provider.js.map +1 -1
- package/docs/ARCHITECTURE.md +23 -6
- package/docs/CONFIGURATION.md +301 -0
- package/docs/MODULES.md +5 -2
- package/package.json +1 -1
package/Readme.md
CHANGED
|
@@ -266,7 +266,12 @@ Configuration is strict schema-versioned JSON. Unknown keys and credential-like
|
|
|
266
266
|
|
|
267
267
|
For OpenAI or Ollama Cloud, leave `remoteProviderConsent` false while planning, run `human-to-code context <contract> --explain`, review every item, configure model-specific conservative pricing upper bounds, then set consent true. Remote providers receive no follow-up context tools, so this is the complete code/documentation envelope for the current project/config state. Re-run the preview after changing project files, private documentation, workspace overrides, or context policy.
|
|
268
268
|
|
|
269
|
-
|
|
269
|
+
**[docs/CONFIGURATION.md](docs/CONFIGURATION.md) is the complete field-by-field
|
|
270
|
+
reference** — every key, its type, default, valid range, and validation rule,
|
|
271
|
+
plus the exact file `--init` writes. The rest of this section covers the
|
|
272
|
+
decisions worth understanding before you edit it.
|
|
273
|
+
|
|
274
|
+
This local-Ollama example shows the policy fields most projects touch:
|
|
270
275
|
|
|
271
276
|
```json
|
|
272
277
|
{
|
|
@@ -277,59 +282,74 @@ This complete local-Ollama example shows the policy fields:
|
|
|
277
282
|
{ "path": "script.human", "extension": "js" },
|
|
278
283
|
{ "path": "styles.human", "extension": "css" }
|
|
279
284
|
],
|
|
280
|
-
"filesToIgnore": ["node_modules", ".git", "dist"],
|
|
281
|
-
"allowNonHumanFiles": false,
|
|
282
285
|
"provider": {
|
|
283
286
|
"name": "ollama",
|
|
284
287
|
"model": "qwen2.5-coder:14b"
|
|
285
288
|
},
|
|
286
|
-
"workspaces": [],
|
|
287
|
-
"documentation": {
|
|
288
|
-
"mode": "local-first",
|
|
289
|
-
"privatePaths": [],
|
|
290
|
-
"officialDomains": [],
|
|
291
|
-
"officialSources": []
|
|
292
|
-
},
|
|
293
289
|
"privacy": {
|
|
294
290
|
"remoteProviderConsent": false,
|
|
295
|
-
"telemetry": false,
|
|
296
|
-
"excludedPaths": [],
|
|
297
291
|
"maxFileBytes": 512000,
|
|
298
292
|
"maxContextTokens": 64000
|
|
299
293
|
},
|
|
300
|
-
"sandbox": {
|
|
301
|
-
"required": true,
|
|
302
|
-
"engine": "auto",
|
|
303
|
-
"network": "none"
|
|
304
|
-
},
|
|
305
|
-
"budgets": {
|
|
306
|
-
"maxCostUsd": 10,
|
|
307
|
-
"maxInputTokens": 2000000,
|
|
308
|
-
"maxOutputTokens": 120000,
|
|
309
|
-
"maxRequests": 12,
|
|
310
|
-
"maxRepairs": 2,
|
|
311
|
-
"timeoutMs": 900000
|
|
312
|
-
},
|
|
313
294
|
"direct": {
|
|
314
|
-
"reconcileIntegrations":
|
|
295
|
+
"reconcileIntegrations": true,
|
|
296
|
+
"crossFileChecks": true,
|
|
297
|
+
"planning": {
|
|
298
|
+
"enabled": true,
|
|
299
|
+
"maxCodingPassesPerUnit": 2
|
|
300
|
+
}
|
|
315
301
|
}
|
|
316
302
|
}
|
|
317
303
|
```
|
|
318
304
|
|
|
305
|
+
Omitted sections keep their documented defaults; `documentation`, `privacy`,
|
|
306
|
+
`sandbox`, `budgets`, `direct`, and `direct.planning` merge field-by-field, so a
|
|
307
|
+
partial section does not discard its siblings.
|
|
308
|
+
|
|
319
309
|
`languages` lists every output language enabled for direct conversion (`typescript`, `javascript`, `python`, `rust`, `html`, `css`); its first entry is the default. The receipt lists only the languages selected by the discovered units, not every configured possibility.
|
|
320
310
|
|
|
321
311
|
`humanFileExtensions` provides the strongest routing signal. Each entry binds one exact, portable project-relative `.human` path to an output extension; a leading dot is optional, and the extension's language must appear in `languages`. This prevents prompt vocabulary from changing the output: the example always routes `script.human` to `script.js`, even if its instruction repeatedly mentions stylesheets, CSS classes, colors, or themes. Recognized inner extensions are replaced when an explicit mapping is present, so mapping `page.html.human` to `js` produces `page.js`.
|
|
322
312
|
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
the
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
313
|
+
### Multi-request planning
|
|
314
|
+
|
|
315
|
+
A single request per file has to decide a file's design, cover every requirement
|
|
316
|
+
in the spec, and invent a naming vocabulary all at once — and nothing makes two
|
|
317
|
+
independently generated files agree on that vocabulary. `direct.planning`
|
|
318
|
+
(default on) splits the work:
|
|
319
|
+
|
|
320
|
+
1. **Shared contract** — one request before any file is generated, agreeing the
|
|
321
|
+
file roster and the class names, ids, symbols, and routes every target must
|
|
322
|
+
use verbatim. Skipped when fewer than two files are planned.
|
|
323
|
+
2. **Per-target todo list** — one request per `.human` file and, unless
|
|
324
|
+
`markerTodo` is off, per inline `@human` marker.
|
|
325
|
+
3. **Coding** — one request per target, grounded in both of the above. A second
|
|
326
|
+
pass is issued *only* when a deterministic coverage check finds todo items the
|
|
327
|
+
first pass did not address, and is kept only if it preserves everything the
|
|
328
|
+
previous pass produced. That ratchet is what makes re-emitting a whole file
|
|
329
|
+
safe: a pass that drops content loses itself, not your output.
|
|
330
|
+
|
|
331
|
+
Set `direct.planning.enabled` to `false` to restore exactly one model request
|
|
332
|
+
per unit, or `maxCodingPassesPerUnit` to `1` to keep planning but never refine.
|
|
333
|
+
Every planning pass is best-effort — an unparseable blueprint or todo list is
|
|
334
|
+
discarded and the run continues on the single-pass path. The receipt and
|
|
335
|
+
`--json` plan disclose the exact request breakdown before the confirmation
|
|
336
|
+
prompt.
|
|
337
|
+
|
|
338
|
+
`direct.crossFileChecks` (default on) then cross-references the generated HTML,
|
|
339
|
+
CSS, and browser JavaScript against each other using the same static extractors
|
|
340
|
+
ProjectMemory already uses — **no model requests**. A script selecting a class
|
|
341
|
+
no markup defines, or markup linking an asset the project does not contain, is
|
|
342
|
+
reported as blocking; naming drift between markup and stylesheet is reported as
|
|
343
|
+
advisory. This is reference checking, not verification: a clean result means the
|
|
344
|
+
named references line up, never that the project behaves correctly.
|
|
345
|
+
|
|
346
|
+
`direct.reconcileIntegrations` (default on) is the bounded post-generation
|
|
347
|
+
reconciliation pass. ProjectMemory supplies structured relationships using
|
|
348
|
+
extensible language profiles; the generic orchestrator audits only connected
|
|
349
|
+
generated groups, validates strict JSON against real generated paths, repairs
|
|
350
|
+
each named target at most once, and performs at most one verification audit. A
|
|
351
|
+
failed bounded cycle rejects that evidenced group instead of writing a
|
|
352
|
+
known-inconsistent partial result. Set it to `false` to skip those requests.
|
|
333
353
|
|
|
334
354
|
The direct engine uses `privacy.maxContextTokens` as the combined upper bound
|
|
335
355
|
for FileMemory and ProjectMemory. ProjectMemory additionally caps each rendered
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-memory.d.ts","sourceRoot":"","sources":["../../../src/agents/direct/file-memory.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"file-memory.d.ts","sourceRoot":"","sources":["../../../src/agents/direct/file-memory.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EACV,cAAc,EACd,eAAe,EACf,uBAAuB,EACvB,oBAAoB,EACpB,qBAAqB,EACtB,MAAM,YAAY,CAAC;AAEpB,qBAAa,uBAAwB,SAAQ,KAAK;gBACpC,OAAO,EAAE,MAAM;CAI5B;AAeD,yEAAyE;AACzE,qBAAa,UAAU;;IACrB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;gBAMhB,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM;IAMlD,IAAI,OAAO,IAAI,SAAS,eAAe,EAAE,CAWxC;IAED,mBAAmB,CAAC,KAAK,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI;IAqB9E,MAAM,IAAI,MAAM;IAchB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;CAkC3C;AAED,wDAAwD;AACxD,wBAAsB,uBAAuB,CAC3C,KAAK,EAAE,SAAS,cAAc,EAAE,EAChC,SAAS,EAAE,CAAC,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,qBAAqB,KAAK,OAAO,CAAC,MAAM,CAAC,EACpF,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC,uBAAuB,EAAE,CAAC,CAyIpC"}
|
|
@@ -3,6 +3,7 @@ import { ContextSecurityError, scanSecrets } from "../../context/context.js";
|
|
|
3
3
|
import { extractStaticFileMemory } from "../../pipeline/file-memory.js";
|
|
4
4
|
import { declaredIdentifiers } from "./declarations.js";
|
|
5
5
|
import { formatInlineReplacement } from "./replacement.js";
|
|
6
|
+
import { acceptsRefinement, contractRegression, renderTodoList, todoCoverage, unaddressedRequirements, } from "./unit-todos.js";
|
|
6
7
|
export class FileMemoryConflictError extends Error {
|
|
7
8
|
constructor(message) {
|
|
8
9
|
super(message);
|
|
@@ -124,6 +125,9 @@ export async function generateConversionUnits(units, generator, options = {}) {
|
|
|
124
125
|
const memories = new Map();
|
|
125
126
|
const generated = [];
|
|
126
127
|
const maxAttempts = 1 + Math.max(0, options.retries ?? 1);
|
|
128
|
+
// Orthogonal to `retries`: retries recover from a failed request and restart
|
|
129
|
+
// from pass 1 with no draft, while coding passes close a todo coverage gap.
|
|
130
|
+
const maxCodingPasses = Math.max(1, options.maxCodingPasses ?? 1);
|
|
127
131
|
const contextCharBudget = options.contextCharBudget ?? Number.MAX_SAFE_INTEGER;
|
|
128
132
|
for (const unit of ordered) {
|
|
129
133
|
let memory;
|
|
@@ -136,6 +140,10 @@ export async function generateConversionUnits(units, generator, options = {}) {
|
|
|
136
140
|
}
|
|
137
141
|
let code;
|
|
138
142
|
let failure;
|
|
143
|
+
let todoRequests = 0;
|
|
144
|
+
let codingRequests = 0;
|
|
145
|
+
let refinementRejected;
|
|
146
|
+
let coverage = { addressed: [], unaddressed: [], unverifiable: [] };
|
|
139
147
|
for (let attempt = 1; attempt <= maxAttempts; attempt += 1) {
|
|
140
148
|
options.onProgress?.({ kind: "start", unit, attempt });
|
|
141
149
|
try {
|
|
@@ -145,13 +153,65 @@ export async function generateConversionUnits(units, generator, options = {}) {
|
|
|
145
153
|
}
|
|
146
154
|
const remaining = Math.max(0, contextCharBudget - (renderedMemory?.length ?? 0));
|
|
147
155
|
const renderedProjectMemory = options.projectMemory?.renderFor(unit, remaining);
|
|
148
|
-
const
|
|
156
|
+
const baseContext = {
|
|
149
157
|
inline: unit.kind === "inline",
|
|
150
158
|
...(renderedMemory ? { fileMemory: renderedMemory } : {}),
|
|
151
159
|
...(renderedProjectMemory ? { projectMemory: renderedProjectMemory } : {}),
|
|
160
|
+
};
|
|
161
|
+
// Planning enriches context; it is never allowed to fail the unit.
|
|
162
|
+
let todos;
|
|
163
|
+
if (options.plan) {
|
|
164
|
+
options.onProgress?.({ kind: "plan", unit });
|
|
165
|
+
try {
|
|
166
|
+
todos = await options.plan(unit, baseContext);
|
|
167
|
+
todoRequests += 1;
|
|
168
|
+
}
|
|
169
|
+
catch {
|
|
170
|
+
todos = undefined;
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
const todoBlock = todos === undefined ? undefined : renderTodoList(todos.todos);
|
|
174
|
+
const rawCode = await generator(unit, {
|
|
175
|
+
...baseContext,
|
|
176
|
+
...(todoBlock ? { todos: todoBlock } : {}),
|
|
152
177
|
});
|
|
178
|
+
codingRequests += 1;
|
|
153
179
|
code = memory && renderedMemory ? memory.normalizeReplacement(rawCode) : rawCode;
|
|
154
180
|
await options.validate?.(unit, code);
|
|
181
|
+
// Refine only on a real coverage gap, and keep the refinement only if it
|
|
182
|
+
// preserves everything this pass already produced.
|
|
183
|
+
const target = unit.kind === "file" ? unit.outputPath : unit.sourcePath;
|
|
184
|
+
if (todos !== undefined)
|
|
185
|
+
coverage = todoCoverage(todos.todos, target, code);
|
|
186
|
+
for (let pass = 2; todos !== undefined && pass <= maxCodingPasses && coverage.unaddressed.length > 0; pass += 1) {
|
|
187
|
+
const unaddressed = unaddressedRequirements(todos.todos, coverage);
|
|
188
|
+
options.onProgress?.({ kind: "refine", unit, pass, unaddressed: unaddressed.length });
|
|
189
|
+
let refined;
|
|
190
|
+
try {
|
|
191
|
+
const rawRefined = await generator(unit, {
|
|
192
|
+
...baseContext,
|
|
193
|
+
...(todoBlock ? { todos: todoBlock } : {}),
|
|
194
|
+
currentDraft: code,
|
|
195
|
+
unaddressedTodos: unaddressed,
|
|
196
|
+
});
|
|
197
|
+
codingRequests += 1;
|
|
198
|
+
refined = memory && renderedMemory ? memory.normalizeReplacement(rawRefined) : rawRefined;
|
|
199
|
+
await options.validate?.(unit, refined);
|
|
200
|
+
}
|
|
201
|
+
catch (error) {
|
|
202
|
+
refinementRejected = error instanceof Error ? error.message : String(error);
|
|
203
|
+
break;
|
|
204
|
+
}
|
|
205
|
+
const regression = contractRegression(target, code, refined);
|
|
206
|
+
if (!acceptsRefinement(regression)) {
|
|
207
|
+
refinementRejected = regression.lost.length > 0
|
|
208
|
+
? `refinement dropped ${regression.lost.length} existing item(s); previous pass kept`
|
|
209
|
+
: `refinement shrank the file to ${Math.round(regression.shrinkRatio * 100)}% of the previous pass; previous pass kept`;
|
|
210
|
+
break;
|
|
211
|
+
}
|
|
212
|
+
code = refined;
|
|
213
|
+
coverage = todoCoverage(todos.todos, target, code);
|
|
214
|
+
}
|
|
155
215
|
failure = undefined;
|
|
156
216
|
break;
|
|
157
217
|
}
|
|
@@ -162,6 +222,15 @@ export async function generateConversionUnits(units, generator, options = {}) {
|
|
|
162
222
|
code = undefined;
|
|
163
223
|
}
|
|
164
224
|
}
|
|
225
|
+
options.onPlanningOutcome?.({
|
|
226
|
+
unit,
|
|
227
|
+
todoRequests,
|
|
228
|
+
codingRequests,
|
|
229
|
+
...(refinementRejected !== undefined ? { refinementRejected } : {}),
|
|
230
|
+
addressed: coverage.addressed.length,
|
|
231
|
+
unaddressed: coverage.unaddressed.length,
|
|
232
|
+
unverifiable: coverage.unverifiable.length,
|
|
233
|
+
});
|
|
165
234
|
if (failure !== undefined || code === undefined) {
|
|
166
235
|
generated.push({ unit, code: "", error: failure ?? "generation produced no code" });
|
|
167
236
|
options.onProgress?.({ kind: "skip", unit, reason: failure ?? "generation produced no code" });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-memory.js","sourceRoot":"","sources":["../../../src/agents/direct/file-memory.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"file-memory.js","sourceRoot":"","sources":["../../../src/agents/direct/file-memory.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,18 @@
|
|
|
1
|
+
import { type DirectBlueprintPromptInput } from "../../prompts/direct-blueprint.ts";
|
|
2
|
+
import { type DirectTodoPromptInput } from "../../prompts/direct-todos.ts";
|
|
1
3
|
import { type DirectIntegrationAuditFile, type DirectIntegrationIssue, type DirectIntegrationRelationship } from "../../prompts/direct-integration.ts";
|
|
2
4
|
import { type DirectRepairDiagnostic, type DirectRepairRelatedFile } from "../../prompts/direct-repair.ts";
|
|
3
5
|
import type { GenerateOptions } from "./types.ts";
|
|
4
6
|
/** Send one direct-conversion request to OpenAI-compatible chat or Ollama. */
|
|
5
7
|
export declare function generateCode(instruction: string, options: GenerateOptions): Promise<string>;
|
|
8
|
+
/**
|
|
9
|
+
* One shared planning request per run. Its output is strict JSON, so it is not
|
|
10
|
+
* passed through the code-fence stripper's expectations beyond the shared
|
|
11
|
+
* transport; the caller parses and bounds it.
|
|
12
|
+
*/
|
|
13
|
+
export declare function generateBlueprint(request: DirectBlueprintPromptInput, options: GenerateOptions): Promise<string>;
|
|
14
|
+
/** One todo-list planning request for exactly one target. */
|
|
15
|
+
export declare function generateUnitTodos(request: Omit<DirectTodoPromptInput, "languageLabel">, options: GenerateOptions): Promise<string>;
|
|
6
16
|
export interface IntegrationAuditGenerationRequest {
|
|
7
17
|
files: readonly DirectIntegrationAuditFile[];
|
|
8
18
|
relationships: readonly DirectIntegrationRelationship[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generation-client.d.ts","sourceRoot":"","sources":["../../../src/agents/direct/generation-client.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"generation-client.d.ts","sourceRoot":"","sources":["../../../src/agents/direct/generation-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,0BAA0B,EAChC,MAAM,mCAAmC,CAAC;AAE3C,OAAO,EAAyB,KAAK,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAClG,OAAO,EAGL,KAAK,0BAA0B,EAC/B,KAAK,sBAAsB,EAC3B,KAAK,6BAA6B,EACnC,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAEL,KAAK,sBAAsB,EAC3B,KAAK,uBAAuB,EAC7B,MAAM,gCAAgC,CAAC;AAGxC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAuDlD,8EAA8E;AAC9E,wBAAsB,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAgBjG;AAED;;;;GAIG;AACH,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,0BAA0B,EACnC,OAAO,EAAE,eAAe,GACvB,OAAO,CAAC,MAAM,CAAC,CAEjB;AAED,6DAA6D;AAC7D,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,IAAI,CAAC,qBAAqB,EAAE,eAAe,CAAC,EACrD,OAAO,EAAE,eAAe,GACvB,OAAO,CAAC,MAAM,CAAC,CAGjB;AAED,MAAM,WAAW,iCAAiC;IAChD,KAAK,EAAE,SAAS,0BAA0B,EAAE,CAAC;IAC7C,aAAa,EAAE,SAAS,6BAA6B,EAAE,CAAC;IACxD,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,4EAA4E;AAC5E,wBAAsB,wBAAwB,CAC5C,OAAO,EAAE,iCAAiC,EAC1C,OAAO,EAAE,eAAe,GACvB,OAAO,CAAC,MAAM,CAAC,CAGjB;AAED,MAAM,WAAW,kCAAkC;IACjD,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,SAAS,sBAAsB,EAAE,CAAC;IAC1C,YAAY,EAAE,aAAa,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC/D,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,wEAAwE;AACxE,wBAAsB,6BAA6B,CACjD,OAAO,EAAE,kCAAkC,EAC3C,OAAO,EAAE,eAAe,GACvB,OAAO,CAAC,MAAM,CAAC,CAIjB;AAED,MAAM,WAAW,uBAAuB;IACtC,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,OAAO,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,SAAS,sBAAsB,EAAE,CAAC;IAC/C,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1B,YAAY,EAAE,SAAS,uBAAuB,EAAE,CAAC;IACjD,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,mFAAmF;AACnF,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,uBAAuB,EAChC,OAAO,EAAE,eAAe,GACvB,OAAO,CAAC,MAAM,CAAC,CAIjB"}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
+
import { buildDirectBlueprintPrompt, } from "../../prompts/direct-blueprint.js";
|
|
1
2
|
import { buildDirectConversionPrompt } from "../../prompts/direct-conversion.js";
|
|
3
|
+
import { buildDirectTodoPrompt } from "../../prompts/direct-todos.js";
|
|
2
4
|
import { buildDirectIntegrationAuditPrompt, buildDirectIntegrationRepairPrompt, } from "../../prompts/direct-integration.js";
|
|
3
5
|
import { buildDirectRepairPrompt, } from "../../prompts/direct-repair.js";
|
|
4
6
|
import { languageProfile } from "./languages.js";
|
|
@@ -29,13 +31,16 @@ async function requestChatCompletion(prompt, options) {
|
|
|
29
31
|
return stripCodeFence(data.choices?.[0]?.message?.content ?? "");
|
|
30
32
|
}
|
|
31
33
|
const base = options.baseUrl ?? "http://localhost:11434";
|
|
34
|
+
const optimized = options.optimizedMode;
|
|
32
35
|
const response = await fetch(`${base.replace(/\/api\/?$/u, "")}/api/chat`, {
|
|
33
36
|
method: "POST",
|
|
34
37
|
headers: { "content-type": "application/json" },
|
|
35
38
|
body: JSON.stringify({
|
|
36
39
|
model: options.model,
|
|
37
40
|
stream: false,
|
|
38
|
-
options: { temperature: 0 },
|
|
41
|
+
options: { temperature: 0, ...(optimized ? { num_ctx: optimized.maxContextTokens } : {}) },
|
|
42
|
+
...(optimized ? { keep_alive: optimized.keepAlive } : {}),
|
|
43
|
+
...(optimized ? { format: { type: "object", additionalProperties: false, required: ["code"], properties: { code: { type: "string" } } } } : {}),
|
|
39
44
|
messages: [
|
|
40
45
|
{ role: "system", content: prompt.system },
|
|
41
46
|
{ role: "user", content: prompt.user },
|
|
@@ -46,7 +51,19 @@ async function requestChatCompletion(prompt, options) {
|
|
|
46
51
|
if (!response.ok)
|
|
47
52
|
throw new Error(`Ollama request failed: ${response.status} ${await response.text()}`);
|
|
48
53
|
const data = (await response.json());
|
|
49
|
-
|
|
54
|
+
const content = data.message?.content ?? "";
|
|
55
|
+
if (!optimized)
|
|
56
|
+
return stripCodeFence(content);
|
|
57
|
+
let parsed;
|
|
58
|
+
try {
|
|
59
|
+
parsed = JSON.parse(content);
|
|
60
|
+
}
|
|
61
|
+
catch {
|
|
62
|
+
throw new Error("MiniCPM returned invalid structured source output.");
|
|
63
|
+
}
|
|
64
|
+
if (typeof parsed !== "object" || parsed === null || Array.isArray(parsed) || Object.keys(parsed).length !== 1 || typeof parsed.code !== "string")
|
|
65
|
+
throw new Error("MiniCPM structured source output must be exactly {code:string}.");
|
|
66
|
+
return parsed.code;
|
|
50
67
|
}
|
|
51
68
|
/** Send one direct-conversion request to OpenAI-compatible chat or Ollama. */
|
|
52
69
|
export async function generateCode(instruction, options) {
|
|
@@ -58,9 +75,27 @@ export async function generateCode(instruction, options) {
|
|
|
58
75
|
inline: options.inline ?? false,
|
|
59
76
|
...(options.fileMemory ? { fileMemory: options.fileMemory } : {}),
|
|
60
77
|
...(options.projectMemory ? { projectMemory: options.projectMemory } : {}),
|
|
78
|
+
...(options.blueprint ? { blueprint: options.blueprint } : {}),
|
|
79
|
+
...(options.todos ? { todos: options.todos } : {}),
|
|
80
|
+
...(options.currentDraft ? { currentDraft: options.currentDraft } : {}),
|
|
81
|
+
...(options.unaddressedTodos ? { unaddressedTodos: options.unaddressedTodos } : {}),
|
|
82
|
+
...(options.optimizedMode ? { structuredOutput: true } : {}),
|
|
61
83
|
});
|
|
62
84
|
return requestChatCompletion(prompt, options);
|
|
63
85
|
}
|
|
86
|
+
/**
|
|
87
|
+
* One shared planning request per run. Its output is strict JSON, so it is not
|
|
88
|
+
* passed through the code-fence stripper's expectations beyond the shared
|
|
89
|
+
* transport; the caller parses and bounds it.
|
|
90
|
+
*/
|
|
91
|
+
export async function generateBlueprint(request, options) {
|
|
92
|
+
return requestChatCompletion(buildDirectBlueprintPrompt(request), options);
|
|
93
|
+
}
|
|
94
|
+
/** One todo-list planning request for exactly one target. */
|
|
95
|
+
export async function generateUnitTodos(request, options) {
|
|
96
|
+
const profile = languageProfile(options.language);
|
|
97
|
+
return requestChatCompletion(buildDirectTodoPrompt({ languageLabel: profile.label, ...request }), options);
|
|
98
|
+
}
|
|
64
99
|
/** Send one opt-in, read-only, cross-language integration audit request. */
|
|
65
100
|
export async function generateIntegrationAudit(request, options) {
|
|
66
101
|
const prompt = buildDirectIntegrationAuditPrompt(request);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generation-client.js","sourceRoot":"","sources":["../../../src/agents/direct/generation-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,2BAA2B,EAAuB,MAAM,oCAAoC,CAAC;AACtG,OAAO,EACL,iCAAiC,EACjC,kCAAkC,GAInC,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EACL,uBAAuB,GAGxB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAGnD,0EAA0E;AAC1E,KAAK,UAAU,qBAAqB,CAAC,MAAsB,EAAE,OAAwB;IACnF,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAClC,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,IAAI,2BAA2B,CAAC;QAC5D,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,mBAAmB,EAAE;YACvD,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,UAAU,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACzE;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;gBACnB,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,QAAQ,EAAE;oBACR,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE;oBAC1C,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,IAAI,EAAE;iBACvC;gBACD,WAAW,EAAE,CAAC;aACf,CAAC;YACF,MAAM,EAAE,OAAO,CAAC,MAAM;SACvB,CAAC,CAAC;QACH,IAAI,CAAC,QAAQ,CAAC,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,0BAA0B,QAAQ,CAAC,MAAM,IAAI,MAAM,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACxG,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAA4D,CAAC;QAChG,OAAO,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,IAAI,EAAE,CAAC,CAAC;IACnE,CAAC;IAED,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,IAAI,wBAAwB,CAAC;IACzD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,WAAW,EAAE;QACzE,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;QAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;YACnB,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,MAAM,EAAE,KAAK;YACb,OAAO,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE;
|
|
1
|
+
{"version":3,"file":"generation-client.js","sourceRoot":"","sources":["../../../src/agents/direct/generation-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,8 @@ export * from "./marker-parser.ts";
|
|
|
5
5
|
export * from "./file-memory.ts";
|
|
6
6
|
export * from "./project-memory.ts";
|
|
7
7
|
export * from "./project-contracts.ts";
|
|
8
|
+
export * from "./project-blueprint.ts";
|
|
9
|
+
export * from "./unit-todos.ts";
|
|
8
10
|
export * from "./language-relationships.ts";
|
|
9
11
|
export * from "./discovery.ts";
|
|
10
12
|
export * from "./presentation.ts";
|
|
@@ -17,5 +19,7 @@ export * from "./candidate-overlay.ts";
|
|
|
17
19
|
export * from "./program-diagnostics.ts";
|
|
18
20
|
export * from "./dependency-graph.ts";
|
|
19
21
|
export * from "./integration-validation.ts";
|
|
22
|
+
export * from "./reference-validation.ts";
|
|
20
23
|
export * from "./staged-validation.ts";
|
|
24
|
+
export * from "./minicpm-profile.ts";
|
|
21
25
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/agents/direct/index.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC;AACvC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AACtC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,wBAAwB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/agents/direct/index.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC;AAChC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC;AACvC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AACtC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC"}
|
|
@@ -5,6 +5,8 @@ export * from "./marker-parser.js";
|
|
|
5
5
|
export * from "./file-memory.js";
|
|
6
6
|
export * from "./project-memory.js";
|
|
7
7
|
export * from "./project-contracts.js";
|
|
8
|
+
export * from "./project-blueprint.js";
|
|
9
|
+
export * from "./unit-todos.js";
|
|
8
10
|
export * from "./language-relationships.js";
|
|
9
11
|
export * from "./discovery.js";
|
|
10
12
|
export * from "./presentation.js";
|
|
@@ -17,5 +19,7 @@ export * from "./candidate-overlay.js";
|
|
|
17
19
|
export * from "./program-diagnostics.js";
|
|
18
20
|
export * from "./dependency-graph.js";
|
|
19
21
|
export * from "./integration-validation.js";
|
|
22
|
+
export * from "./reference-validation.js";
|
|
20
23
|
export * from "./staged-validation.js";
|
|
24
|
+
export * from "./minicpm-profile.js";
|
|
21
25
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/agents/direct/index.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC;AACvC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AACtC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,wBAAwB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/agents/direct/index.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,iBAAiB,CAAC;AAChC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC;AACvC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AACtC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,sBAAsB,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { DirectOptimizedModeConfigV1, ProviderConfigV1 } from "../../config/config.ts";
|
|
2
|
+
export declare const MINICPM_OPTIMIZED_MODEL = "human-to-code-minicpm-v4.6:latest";
|
|
3
|
+
export declare class MiniCpmProfileError extends Error {
|
|
4
|
+
readonly name = "MiniCpmProfileError";
|
|
5
|
+
}
|
|
6
|
+
/** Fail closed before a project prompt can reach an arbitrary or remote model. */
|
|
7
|
+
export declare function preflightMiniCpmOptimizedMode(provider: ProviderConfigV1, optimized: DirectOptimizedModeConfigV1, fetchImpl?: typeof fetch): Promise<void>;
|
|
8
|
+
//# sourceMappingURL=minicpm-profile.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"minicpm-profile.d.ts","sourceRoot":"","sources":["../../../src/agents/direct/minicpm-profile.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,2BAA2B,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE5F,eAAO,MAAM,uBAAuB,sCAAsC,CAAC;AAE3E,qBAAa,mBAAoB,SAAQ,KAAK;IAC5C,SAAkB,IAAI,yBAAyB;CAChD;AAcD,kFAAkF;AAClF,wBAAsB,6BAA6B,CACjD,QAAQ,EAAE,gBAAgB,EAC1B,SAAS,EAAE,2BAA2B,EACtC,SAAS,GAAE,OAAO,KAAa,GAC9B,OAAO,CAAC,IAAI,CAAC,CAwBf"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { isIP } from "node:net";
|
|
2
|
+
export const MINICPM_OPTIMIZED_MODEL = "human-to-code-minicpm-v4.6:latest";
|
|
3
|
+
export class MiniCpmProfileError extends Error {
|
|
4
|
+
name = "MiniCpmProfileError";
|
|
5
|
+
}
|
|
6
|
+
function isLoopback(hostname) {
|
|
7
|
+
const host = hostname.replace(/^\[|\]$/gu, "").replace(/\.$/u, "").toLowerCase();
|
|
8
|
+
return host === "localhost" || host === "::1" || (isIP(host) === 4 && host.startsWith("127."));
|
|
9
|
+
}
|
|
10
|
+
function endpoint(baseUrl) {
|
|
11
|
+
const value = baseUrl ?? "http://localhost:11434";
|
|
12
|
+
const url = new URL(value);
|
|
13
|
+
if (!isLoopback(url.hostname))
|
|
14
|
+
throw new MiniCpmProfileError("direct.optimizedMode requires a loopback-local Ollama endpoint.");
|
|
15
|
+
return `${url.protocol}//${url.host}${url.pathname.replace(/\/api\/?$/u, "").replace(/\/$/u, "")}`;
|
|
16
|
+
}
|
|
17
|
+
/** Fail closed before a project prompt can reach an arbitrary or remote model. */
|
|
18
|
+
export async function preflightMiniCpmOptimizedMode(provider, optimized, fetchImpl = fetch) {
|
|
19
|
+
if (!optimized.enabled)
|
|
20
|
+
return;
|
|
21
|
+
if (provider.name !== "ollama")
|
|
22
|
+
throw new MiniCpmProfileError("direct.optimizedMode requires provider.name to be ollama.");
|
|
23
|
+
if (provider.model !== MINICPM_OPTIMIZED_MODEL)
|
|
24
|
+
throw new MiniCpmProfileError(`direct.optimizedMode requires provider.model to be ${MINICPM_OPTIMIZED_MODEL}.`);
|
|
25
|
+
const base = endpoint(provider.baseUrl);
|
|
26
|
+
let tags;
|
|
27
|
+
try {
|
|
28
|
+
const response = await fetchImpl(`${base}/api/tags`);
|
|
29
|
+
if (!response.ok)
|
|
30
|
+
throw new Error(String(response.status));
|
|
31
|
+
tags = await response.json();
|
|
32
|
+
}
|
|
33
|
+
catch {
|
|
34
|
+
throw new MiniCpmProfileError("MiniCPM optimized-mode preflight could not list local Ollama models. Start Ollama and create the required alias first.");
|
|
35
|
+
}
|
|
36
|
+
if (!tags.models?.some((model) => model.name === MINICPM_OPTIMIZED_MODEL))
|
|
37
|
+
throw new MiniCpmProfileError(`Required local Ollama model ${MINICPM_OPTIMIZED_MODEL} is not installed; Human-To-Code will not pull it automatically.`);
|
|
38
|
+
let details;
|
|
39
|
+
try {
|
|
40
|
+
const response = await fetchImpl(`${base}/api/show`, { method: "POST", headers: { "content-type": "application/json" }, body: JSON.stringify({ model: provider.model }) });
|
|
41
|
+
if (!response.ok)
|
|
42
|
+
throw new Error(String(response.status));
|
|
43
|
+
details = await response.json();
|
|
44
|
+
}
|
|
45
|
+
catch {
|
|
46
|
+
throw new MiniCpmProfileError("MiniCPM optimized-mode preflight could not inspect the installed model.");
|
|
47
|
+
}
|
|
48
|
+
const capabilities = Array.isArray(details.capabilities) ? details.capabilities : [];
|
|
49
|
+
if (!capabilities.includes("vision") || !capabilities.includes("completion"))
|
|
50
|
+
throw new MiniCpmProfileError("The required MiniCPM alias must report both vision and completion capabilities.");
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=minicpm-profile.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"minicpm-profile.js","sourceRoot":"","sources":["../../../src/agents/direct/minicpm-profile.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,10 +7,30 @@ export interface ConditionalRequestAllowance {
|
|
|
7
7
|
integrationRepairUpTo: number;
|
|
8
8
|
compilerRepairUpTo: number;
|
|
9
9
|
}
|
|
10
|
+
/** Planning knobs the receipt needs; a subset of `direct.planning` config. */
|
|
11
|
+
export interface PlanningDisclosureOptions {
|
|
12
|
+
enabled: boolean;
|
|
13
|
+
projectBlueprint: boolean;
|
|
14
|
+
fileTodo: boolean;
|
|
15
|
+
markerTodo: boolean;
|
|
16
|
+
maxCodingPassesPerUnit: number;
|
|
17
|
+
}
|
|
18
|
+
export interface PlannedRequestCounts {
|
|
19
|
+
/** 0 or 1: the shared contract is skipped when there is nothing to agree. */
|
|
20
|
+
blueprint: number;
|
|
21
|
+
todo: number;
|
|
22
|
+
/** One per unit; refinement is conditional and reported separately. */
|
|
23
|
+
coding: number;
|
|
24
|
+
/** Additional coding requests only issued on a real todo coverage gap. */
|
|
25
|
+
refinementUpTo: number;
|
|
26
|
+
}
|
|
27
|
+
/** Exact planned request counts, for disclosure before the confirmation prompt. */
|
|
28
|
+
export declare function plannedRequestCounts(units: readonly ConversionUnit[], planning: PlanningDisclosureOptions): PlannedRequestCounts;
|
|
10
29
|
/** Conservative opt-in request ceilings for pre-generation disclosure. */
|
|
11
30
|
export declare function conditionalRequestAllowance(units: readonly ConversionUnit[], configuredLanguages: string | readonly string[]): ConditionalRequestAllowance;
|
|
12
31
|
export declare function renderReceipt(units: readonly ConversionUnit[], provider: string, model: string, configuredLanguages: string | readonly string[], options?: {
|
|
13
32
|
reconcileIntegrations?: boolean;
|
|
33
|
+
planning?: PlanningDisclosureOptions;
|
|
14
34
|
}): string;
|
|
15
35
|
export declare function stripCodeFence(output: string): string;
|
|
16
36
|
//# sourceMappingURL=presentation.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"presentation.d.ts","sourceRoot":"","sources":["../../../src/agents/direct/presentation.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD,qBAAa,gBAAiB,SAAQ,KAAK;gBAC7B,OAAO,EAAE,MAAM;CAI5B;AAED,MAAM,WAAW,2BAA2B;IAC1C,oBAAoB,EAAE,MAAM,CAAC;IAC7B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAED,0EAA0E;AAC1E,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,SAAS,cAAc,EAAE,EAChC,mBAAmB,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,GAC9C,2BAA2B,CAY7B;AAED,wBAAgB,aAAa,CAC3B,KAAK,EAAE,SAAS,cAAc,EAAE,EAChC,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,mBAAmB,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,EAC/C,OAAO,GAAE;IAAE,qBAAqB,CAAC,EAAE,OAAO,CAAA;CAAO,
|
|
1
|
+
{"version":3,"file":"presentation.d.ts","sourceRoot":"","sources":["../../../src/agents/direct/presentation.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD,qBAAa,gBAAiB,SAAQ,KAAK;gBAC7B,OAAO,EAAE,MAAM;CAI5B;AAED,MAAM,WAAW,2BAA2B;IAC1C,oBAAoB,EAAE,MAAM,CAAC;IAC7B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAED,8EAA8E;AAC9E,MAAM,WAAW,yBAAyB;IACxC,OAAO,EAAE,OAAO,CAAC;IACjB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,EAAE,OAAO,CAAC;IACpB,sBAAsB,EAAE,MAAM,CAAC;CAChC;AAED,MAAM,WAAW,oBAAoB;IACnC,6EAA6E;IAC7E,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,uEAAuE;IACvE,MAAM,EAAE,MAAM,CAAC;IACf,0EAA0E;IAC1E,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,mFAAmF;AACnF,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,SAAS,cAAc,EAAE,EAChC,QAAQ,EAAE,yBAAyB,GAClC,oBAAoB,CAYtB;AAED,0EAA0E;AAC1E,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,SAAS,cAAc,EAAE,EAChC,mBAAmB,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,GAC9C,2BAA2B,CAY7B;AAED,wBAAgB,aAAa,CAC3B,KAAK,EAAE,SAAS,cAAc,EAAE,EAChC,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,mBAAmB,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,EAC/C,OAAO,GAAE;IAAE,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,yBAAyB,CAAA;CAAO,GACtF,MAAM,CAmER;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAWrD"}
|