@nestbox-ai/cli 1.0.60 → 1.0.62
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.
|
@@ -20,7 +20,7 @@ const js_yaml_1 = __importDefault(require("js-yaml"));
|
|
|
20
20
|
const ajv_1 = __importDefault(require("ajv"));
|
|
21
21
|
// ─── Constants ────────────────────────────────────────────────────────────────
|
|
22
22
|
const AGENTS_DIR = __dirname;
|
|
23
|
-
const DEFAULT_MODEL = 'claude-
|
|
23
|
+
const DEFAULT_MODEL = 'claude-sonnet-4-6';
|
|
24
24
|
const DEFAULT_MAX_ITERATIONS = 8;
|
|
25
25
|
// ─── Helpers ─────────────────────────────────────────────────────────────────
|
|
26
26
|
function readLocalFile(filename) {
|
|
@@ -28,9 +28,12 @@ function readLocalFile(filename) {
|
|
|
28
28
|
}
|
|
29
29
|
function validateYaml(content, schemaContent) {
|
|
30
30
|
var _a;
|
|
31
|
+
// Replace ${ENV_VAR} references with a plain string so YAML parses cleanly
|
|
32
|
+
// and AJV treats them as valid string values.
|
|
33
|
+
const preprocessed = content.replace(/\$\{[^}]+\}/g, 'env-var-placeholder');
|
|
31
34
|
let data;
|
|
32
35
|
try {
|
|
33
|
-
data = js_yaml_1.default.load(
|
|
36
|
+
data = js_yaml_1.default.load(preprocessed);
|
|
34
37
|
}
|
|
35
38
|
catch (e) {
|
|
36
39
|
return { valid: false, errors: [`YAML parse error: ${e.message}`] };
|
|
@@ -43,6 +46,8 @@ function validateYaml(content, schemaContent) {
|
|
|
43
46
|
return { valid: false, errors: [`Schema parse error: ${e.message}`] };
|
|
44
47
|
}
|
|
45
48
|
const ajv = new ajv_1.default({ strict: false, allErrors: true });
|
|
49
|
+
// Suppress "unknown format 'uri' ignored" console warnings from AJV
|
|
50
|
+
ajv.addFormat('uri', () => true);
|
|
46
51
|
const validate = ajv.compile(schema);
|
|
47
52
|
const ok = validate(data);
|
|
48
53
|
if (ok)
|
|
@@ -146,7 +151,18 @@ function runDocProcAgent(options) {
|
|
|
146
151
|
}
|
|
147
152
|
return `Unknown tool: ${name}`;
|
|
148
153
|
}
|
|
149
|
-
|
|
154
|
+
// Build the system prompt once and mark it for caching.
|
|
155
|
+
// On iteration 1 the prompt is written to the cache (normal price).
|
|
156
|
+
// On iterations 2+ the 20k-token system prompt is read from cache at
|
|
157
|
+
// 10% of the normal input token price — the biggest cost lever here.
|
|
158
|
+
const systemPromptText = buildSystemPrompt();
|
|
159
|
+
const systemPrompt = [
|
|
160
|
+
{
|
|
161
|
+
type: 'text',
|
|
162
|
+
text: systemPromptText,
|
|
163
|
+
cache_control: { type: 'ephemeral' },
|
|
164
|
+
},
|
|
165
|
+
];
|
|
150
166
|
const messages = [
|
|
151
167
|
{
|
|
152
168
|
role: 'user',
|
|
@@ -162,17 +178,15 @@ function runDocProcAgent(options) {
|
|
|
162
178
|
max_tokens: 8096,
|
|
163
179
|
system: systemPrompt,
|
|
164
180
|
tools: TOOLS,
|
|
181
|
+
// Force Claude to call a tool every turn — prevents it from
|
|
182
|
+
// replying with plain text and exiting the loop prematurely.
|
|
183
|
+
tool_choice: { type: 'any' },
|
|
165
184
|
messages,
|
|
166
185
|
});
|
|
167
186
|
// Append assistant turn
|
|
168
187
|
messages.push({ role: 'assistant', content: response.content });
|
|
169
|
-
// Check stop reason
|
|
170
|
-
if (response.stop_reason === 'end_turn') {
|
|
171
|
-
onProgress('Agent finished (end_turn without calling finish tool).');
|
|
172
|
-
break;
|
|
173
|
-
}
|
|
174
188
|
if (response.stop_reason !== 'tool_use') {
|
|
175
|
-
onProgress(`Agent stopped: ${response.stop_reason}`);
|
|
189
|
+
onProgress(`Agent stopped unexpectedly: ${response.stop_reason}`);
|
|
176
190
|
break;
|
|
177
191
|
}
|
|
178
192
|
// Process all tool calls and collect results
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/agents/docProc/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/agents/docProc/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -26,7 +26,7 @@ function registerDocProcGenerateCommand(generateCommand) {
|
|
|
26
26
|
.requiredOption('-f, --file <path>', 'Path to the instructions Markdown file')
|
|
27
27
|
.requiredOption('-o, --output <dir>', 'Output directory for the generated files')
|
|
28
28
|
.requiredOption('--anthropicApiKey <key>', 'Anthropic API key (or set ANTHROPIC_API_KEY env var)')
|
|
29
|
-
.option('--model <model>', 'Claude model ID', 'claude-
|
|
29
|
+
.option('--model <model>', 'Claude model ID', 'claude-sonnet-4-6')
|
|
30
30
|
.option('--maxIterations <n>', 'Maximum agent iterations', '8')
|
|
31
31
|
.action((options) => __awaiter(this, void 0, void 0, function* () {
|
|
32
32
|
var _a, _b;
|
|
@@ -70,21 +70,33 @@ function registerDocProcGenerateCommand(generateCommand) {
|
|
|
70
70
|
},
|
|
71
71
|
});
|
|
72
72
|
spinner.stop();
|
|
73
|
-
// ── Write output files
|
|
74
|
-
|
|
73
|
+
// ── Write output files (always write whatever was produced) ──────────
|
|
74
|
+
const configWritten = result.configYaml.trim().length > 0;
|
|
75
|
+
const evalWritten = result.evalYaml.trim().length > 0;
|
|
76
|
+
if (configWritten)
|
|
75
77
|
fs_1.default.writeFileSync(configOut, result.configYaml, 'utf8');
|
|
76
|
-
|
|
77
|
-
if (result.evalYaml) {
|
|
78
|
+
if (evalWritten)
|
|
78
79
|
fs_1.default.writeFileSync(evalOut, result.evalYaml, 'utf8');
|
|
79
|
-
}
|
|
80
80
|
// ── Summary ──────────────────────────────────────────────────────────
|
|
81
81
|
console.log(chalk_1.default.bold('Results'));
|
|
82
|
-
|
|
83
|
-
|
|
82
|
+
if (configWritten) {
|
|
83
|
+
const status = result.configValid ? chalk_1.default.green('✓ valid') : chalk_1.default.yellow('⚠ invalid');
|
|
84
|
+
console.log(` config.yaml ${status} → ${configOut}`);
|
|
85
|
+
}
|
|
86
|
+
else {
|
|
87
|
+
console.log(` config.yaml ${chalk_1.default.red('✗ not generated')}`);
|
|
88
|
+
}
|
|
89
|
+
if (evalWritten) {
|
|
90
|
+
const status = result.evalValid ? chalk_1.default.green('✓ valid') : chalk_1.default.yellow('⚠ invalid');
|
|
91
|
+
console.log(` eval.yaml ${status} → ${evalOut}`);
|
|
92
|
+
}
|
|
93
|
+
else {
|
|
94
|
+
console.log(` eval.yaml ${chalk_1.default.red('✗ not generated')}`);
|
|
95
|
+
}
|
|
84
96
|
console.log(chalk_1.default.dim(`\n Completed in ${result.iterations} iteration(s).`));
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
97
|
+
const allDone = configWritten && evalWritten && result.configValid && result.evalValid;
|
|
98
|
+
if (!allDone) {
|
|
99
|
+
console.log(chalk_1.default.yellow('\nWarning: one or more files were not generated or have validation issues.'));
|
|
88
100
|
process.exit(1);
|
|
89
101
|
}
|
|
90
102
|
console.log(chalk_1.default.green('\nDone.'));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"docProc.js","sourceRoot":"","sources":["../../../src/commands/generate/docProc.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAmBA,
|
|
1
|
+
{"version":3,"file":"docProc.js","sourceRoot":"","sources":["../../../src/commands/generate/docProc.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAmBA,wEAqGC;AAvHD,kDAA0B;AAC1B,4CAAoB;AACpB,gDAAwB;AACxB,8CAAsB;AACtB,kDAAuD;AAYvD,iFAAiF;AAEjF,SAAgB,8BAA8B,CAAC,eAAwB;IACrE,eAAe;SACZ,OAAO,CAAC,UAAU,CAAC;SACnB,WAAW,CACV,kGAAkG,CACnG;SACA,cAAc,CAAC,mBAAmB,EAAE,wCAAwC,CAAC;SAC7E,cAAc,CAAC,oBAAoB,EAAE,0CAA0C,CAAC;SAChF,cAAc,CAAC,yBAAyB,EAAE,sDAAsD,CAAC;SACjG,MAAM,CAAC,iBAAiB,EAAE,iBAAiB,EAAE,mBAAmB,CAAC;SACjE,MAAM,CAAC,qBAAqB,EAAE,0BAA0B,EAAE,GAAG,CAAC;SAC9D,MAAM,CAAC,CAAO,OAA+B,EAAE,EAAE;;QAChD,0EAA0E;QAC1E,MAAM,MAAM,GAAG,OAAO,CAAC,eAAe,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;QACxE,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,CAAC,KAAK,CACX,eAAK,CAAC,GAAG,CAAC,oFAAoF,CAAC,CAChG,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,2EAA2E;QAC3E,MAAM,gBAAgB,GAAG,cAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACpD,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;YACrC,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,uCAAuC,gBAAgB,EAAE,CAAC,CAAC,CAAC;YACpF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,MAAM,YAAY,GAAG,YAAE,CAAC,YAAY,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;QAC/D,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,EAAE,CAAC;YACzB,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC,CAAC;YAC/D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,0EAA0E;QAC1E,MAAM,SAAS,GAAG,cAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC/C,YAAE,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAE7C,MAAM,SAAS,GAAG,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;QACtD,MAAM,OAAO,GAAK,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;QAEpD,0EAA0E;QAC1E,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC,CAAC;QACnE,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,iBAAiB,gBAAgB,EAAE,CAAC,CAAC,CAAC;QAC5D,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,iBAAiB,SAAS,EAAE,CAAC,CAAC,CAAC;QACrD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,iBAAiB,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QACzD,OAAO,CAAC,GAAG,EAAE,CAAC;QAEd,MAAM,OAAO,GAAG,IAAA,aAAG,EAAC,uBAAuB,CAAC,CAAC,KAAK,EAAE,CAAC;QAErD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAA,yBAAe,EAAC;gBACnC,YAAY;gBACZ,eAAe,EAAE,MAAM;gBACvB,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,aAAa,EAAE,QAAQ,CAAC,MAAA,OAAO,CAAC,aAAa,mCAAI,GAAG,EAAE,EAAE,CAAC;gBACzD,UAAU,EAAE,CAAC,GAAG,EAAE,EAAE;oBAClB,OAAO,CAAC,IAAI,GAAG,GAAG,CAAC;gBACrB,CAAC;aACF,CAAC,CAAC;YAEH,OAAO,CAAC,IAAI,EAAE,CAAC;YAEf,wEAAwE;YACxE,MAAM,aAAa,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;YAC1D,MAAM,WAAW,GAAK,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;YAExD,IAAI,aAAa;gBAAE,YAAE,CAAC,aAAa,CAAC,SAAS,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;YAC1E,IAAI,WAAW;gBAAI,YAAE,CAAC,aAAa,CAAC,OAAO,EAAI,MAAM,CAAC,QAAQ,EAAI,MAAM,CAAC,CAAC;YAE1E,wEAAwE;YACxE,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;YAEnC,IAAI,aAAa,EAAE,CAAC;gBAClB,MAAM,MAAM,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,eAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,eAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;gBACvF,OAAO,CAAC,GAAG,CAAC,kBAAkB,MAAM,QAAQ,SAAS,EAAE,CAAC,CAAC;YAC3D,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,kBAAkB,eAAK,CAAC,GAAG,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;YAChE,CAAC;YAED,IAAI,WAAW,EAAE,CAAC;gBAChB,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,eAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,eAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;gBACrF,OAAO,CAAC,GAAG,CAAC,kBAAkB,MAAM,QAAQ,OAAO,EAAE,CAAC,CAAC;YACzD,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,kBAAkB,eAAK,CAAC,GAAG,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;YAChE,CAAC;YAED,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,oBAAoB,MAAM,CAAC,UAAU,gBAAgB,CAAC,CAAC,CAAC;YAE9E,MAAM,OAAO,GAAG,aAAa,IAAI,WAAW,IAAI,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,SAAS,CAAC;YACvF,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,4EAA4E,CAAC,CAAC,CAAC;gBACxG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YAED,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;QACtC,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,OAAO,CAAC,IAAI,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,YAAY,MAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,OAAO,mCAAI,GAAG,EAAE,CAAC,CAAC,CAAC;YAC5D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAA,CAAC,CAAC;AACP,CAAC"}
|