iosm-cli 0.2.9 → 0.2.10
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 +33 -0
- package/README.md +1 -1
- package/dist/core/agent-session.d.ts +5 -0
- package/dist/core/agent-session.d.ts.map +1 -1
- package/dist/core/agent-session.js +302 -1
- package/dist/core/agent-session.js.map +1 -1
- package/dist/core/slash-commands.d.ts.map +1 -1
- package/dist/core/slash-commands.js +4 -0
- package/dist/core/slash-commands.js.map +1 -1
- package/dist/core/ultrathink.d.ts +122 -0
- package/dist/core/ultrathink.d.ts.map +1 -0
- package/dist/core/ultrathink.js +621 -0
- package/dist/core/ultrathink.js.map +1 -0
- package/dist/modes/interactive/interactive-mode.d.ts +1 -0
- package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
- package/dist/modes/interactive/interactive-mode.js +29 -0
- package/dist/modes/interactive/interactive-mode.js.map +1 -1
- package/docs/cli-reference.md +5 -0
- package/docs/interactive-mode.md +4 -0
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,39 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [0.2.10] - 2026-03-18
|
|
11
|
+
|
|
12
|
+
### Added
|
|
13
|
+
|
|
14
|
+
- **`/ultrathink` built-in command** — added deep multi-iteration analysis mode with robust slash parsing (`-q`/`--iterations`, `--` separator), context-aware no-query fallback, and shared behavior through `AgentSession.prompt` across interactive/print/json/rpc flows
|
|
15
|
+
- **Ultrathink checkpoint engine** — added structured checkpoint state (`Goal`, `Verified Facts`, `Rejected Hypotheses`, `Open Questions`, `Next Checks`) with carry-forward summaries and checkpoint compression support for long runs
|
|
16
|
+
- **Ultrathink read-only execution policy** — added strict temporary read-only tool filtering during ultrathink runs with guaranteed restoration of the original active tool set
|
|
17
|
+
- **Ultrathink evidence/runtime tests** — added dedicated parser and session-flow test suites covering iteration loops, no-query objective resolution, streaming guards, budget/stagnation paths, evidence-policy fallback, and tool-set restoration
|
|
18
|
+
|
|
19
|
+
### Changed
|
|
20
|
+
|
|
21
|
+
- **Ultrathink runtime hardening** — added budget guardrails (per-iteration input, run input/total tokens, run cost), stagnation early-stop behavior, and evidence-catalog carry-forward between passes
|
|
22
|
+
- **Ultrathink anti-hallucination policy** — added quantitative-claim evidence tagging rules, verify/synthesis no-new-evidence marker handling, and compliance-repair pass support
|
|
23
|
+
- **Ultrathink grounding behavior** — when early passes produce no tool evidence, runtime now injects an internal grounding retry that explicitly forces live read-only workspace probes before continuing
|
|
24
|
+
- **Interactive slash UX** — added `/ultrathink` to built-in slash registry and interactive autocomplete argument hints (`-q`, `--iterations`, common iteration counts)
|
|
25
|
+
|
|
26
|
+
### Fixed
|
|
27
|
+
|
|
28
|
+
- **Ultrathink hard-stop on evidence mismatch** — repeated evidence-policy mismatch no longer aborts the entire command; runtime now degrades gracefully and returns a best-effort final response instead of throwing
|
|
29
|
+
- **Internal prompt visibility leakage** — ultrathink internal retries (iteration/grounding/policy-repair prompts) are now consistently routed through hidden orchestration aliases, so users see clean progress text instead of raw directives
|
|
30
|
+
- **Budget accounting with internal retries** — per-iteration budget checks now account for cumulative input tokens across the main pass plus internal retry prompts
|
|
31
|
+
|
|
32
|
+
### Documentation
|
|
33
|
+
|
|
34
|
+
- Updated README header/version marker to `0.2.10`
|
|
35
|
+
- Added `/ultrathink` command coverage to interactive and CLI references, including read-only behavior, context fallback, and grounding-retry semantics
|
|
36
|
+
|
|
37
|
+
### Tests
|
|
38
|
+
|
|
39
|
+
- Added `test/ultrathink.test.ts` parser/validation coverage for `/ultrathink`
|
|
40
|
+
- Added `test/agent-session-ultrathink.test.ts` runtime coverage for q-iteration flow, early-stop, budget-cutoff, no-query fallback, evidence-policy graceful fallback, and restoration guarantees
|
|
41
|
+
- Expanded semantic regressions to assert `/ultrathink` built-in slash discoverability
|
|
42
|
+
|
|
10
43
|
## [0.2.9] - 2026-03-15
|
|
11
44
|
|
|
12
45
|
### Added
|
package/README.md
CHANGED
|
@@ -124,6 +124,8 @@ export interface PromptOptions {
|
|
|
124
124
|
skipOrchestrationDirective?: boolean;
|
|
125
125
|
/** Internal safety valve: disable one-shot protocol auto-repair for this prompt call. */
|
|
126
126
|
skipProtocolAutoRepair?: boolean;
|
|
127
|
+
/** Internal safety valve: skip /ultrathink command interception for internal prompts. */
|
|
128
|
+
skipUltrathinkCommand?: boolean;
|
|
127
129
|
}
|
|
128
130
|
/** Result from cycleModel() */
|
|
129
131
|
export interface ModelCycleResult {
|
|
@@ -207,6 +209,7 @@ export declare class AgentSession {
|
|
|
207
209
|
private _sessionTraceEnabled;
|
|
208
210
|
private _sessionTracePath;
|
|
209
211
|
private _protocolAutoRepairActive;
|
|
212
|
+
private _ultrathinkActive;
|
|
210
213
|
constructor(config: AgentSessionConfig);
|
|
211
214
|
/** Model registry for API key resolution and model discovery */
|
|
212
215
|
get modelRegistry(): ModelRegistry;
|
|
@@ -339,6 +342,8 @@ export declare class AgentSession {
|
|
|
339
342
|
* @throws Error if no model selected or no API key available (when not streaming)
|
|
340
343
|
*/
|
|
341
344
|
prompt(text: string, options?: PromptOptions): Promise<void>;
|
|
345
|
+
private _runUltrathinkCommand;
|
|
346
|
+
private _compressUltrathinkCheckpoint;
|
|
342
347
|
/**
|
|
343
348
|
* Try to execute an extension command. Returns true if command was found and executed.
|
|
344
349
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-session.d.ts","sourceRoot":"","sources":["../../src/core/agent-session.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"agent-session.d.ts","sourceRoot":"","sources":["../../src/core/agent-session.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
*/
|
|
15
15
|
import { appendFileSync, mkdirSync, readFileSync } from "node:fs";
|
|
16
16
|
import { basename, dirname, join } from "node:path";
|
|
17
|
-
import { isContextOverflow, modelsAreEqual, resetApiProviders, supportsXhigh } from "@mariozechner/pi-ai";
|
|
17
|
+
import { completeSimple, isContextOverflow, modelsAreEqual, resetApiProviders, supportsXhigh } from "@mariozechner/pi-ai";
|
|
18
18
|
import { getDocsPath, getSessionTracePath, isSessionTraceEnabled } from "../config.js";
|
|
19
19
|
import { buildIosmRuntimeDirective, prepareIosmRuntimeContext } from "../iosm/runtime-context.js";
|
|
20
20
|
import { theme } from "../modes/interactive/theme/theme.js";
|
|
@@ -35,6 +35,7 @@ import { isReadOnlyProfileName } from "./agent-profiles.js";
|
|
|
35
35
|
import { applyPostToolUseHooks, applyPreToolUseHooks, applyStopHooks, applyUserPromptSubmitHooks, emptyHooksConfig, } from "./hooks.js";
|
|
36
36
|
import { extractTaskPlanFromAssistantMessage, formatTaskPlanMessageContent, taskPlanSignature, TASK_PLAN_CUSTOM_TYPE, } from "./task-plan.js";
|
|
37
37
|
import { createAllTools, getAllowedFetchMethodsForProfile } from "./tools/index.js";
|
|
38
|
+
import { ULTRATHINK_CHECKPOINT_COMPRESSION_SYSTEM_PROMPT, ULTRATHINK_MAX_CHECKPOINT_CHARS, ULTRATHINK_MAX_ITERATION_INPUT_TOKENS, ULTRATHINK_MAX_RUN_COST, ULTRATHINK_MAX_RUN_INPUT_TOKENS, ULTRATHINK_MAX_RUN_TOTAL_TOKENS, ULTRATHINK_STAGNATION_LIMIT, ULTRATHINK_VISIBLE_PROMPT_PREFIX, buildUltrathinkCheckpointCompressionPrompt, buildUltrathinkBudgetStatusLine, buildUltrathinkComplianceRepairPrompt, buildUltrathinkContextTail, buildUltrathinkEvidenceCatalog, buildUltrathinkIterationPrompt, buildUltrathinkToolGroundingPrompt, buildUltrathinkVisibleIterationPrompt, createInitialUltrathinkCheckpoint, evaluateUltrathinkEvidencePolicy, extractUltrathinkCheckpoint, extractUltrathinkIterationSummary, extractUltrathinkToolEvidence, findLastMeaningfulUserIntent, getUltrathinkPhase, hasUltrathinkEvidenceViolations, isUltrathinkStagnated, normalizeUltrathinkCheckpoint, parseUltrathinkCommand, resolveUltrathinkReadOnlyTools, shouldUltrathinkForceToolGrounding, truncateUltrathinkCheckpoint, ULTRATHINK_USAGE, } from "./ultrathink.js";
|
|
38
39
|
/**
|
|
39
40
|
* Parse a skill block from message text.
|
|
40
41
|
* Returns null if the text doesn't contain a skill block.
|
|
@@ -299,6 +300,7 @@ export class AgentSession {
|
|
|
299
300
|
this._pendingHookNotices = [];
|
|
300
301
|
this._sessionTraceEnabled = isSessionTraceEnabled();
|
|
301
302
|
this._protocolAutoRepairActive = false;
|
|
303
|
+
this._ultrathinkActive = false;
|
|
302
304
|
// Track last assistant message for auto-compaction check
|
|
303
305
|
this._lastAssistantMessage = undefined;
|
|
304
306
|
this._lastTaskPlanSignature = undefined;
|
|
@@ -1066,6 +1068,22 @@ export class AgentSession {
|
|
|
1066
1068
|
source: inputSource,
|
|
1067
1069
|
imageCount: options?.images?.length ?? 0,
|
|
1068
1070
|
});
|
|
1071
|
+
if (!options?.skipUltrathinkCommand) {
|
|
1072
|
+
const ultrathinkParseResult = parseUltrathinkCommand(text);
|
|
1073
|
+
if (ultrathinkParseResult?.kind === "error") {
|
|
1074
|
+
throw new Error(`${ultrathinkParseResult.error}\n\n${ultrathinkParseResult.usage}`);
|
|
1075
|
+
}
|
|
1076
|
+
if (ultrathinkParseResult?.kind === "command") {
|
|
1077
|
+
await this._runUltrathinkCommand(ultrathinkParseResult.command, { source: inputSource });
|
|
1078
|
+
this._appendSessionTrace({
|
|
1079
|
+
type: "prompt_handled_by_command",
|
|
1080
|
+
text,
|
|
1081
|
+
command: "ultrathink",
|
|
1082
|
+
iterations: ultrathinkParseResult.command.iterations,
|
|
1083
|
+
});
|
|
1084
|
+
return;
|
|
1085
|
+
}
|
|
1086
|
+
}
|
|
1069
1087
|
// Handle extension commands first (execute immediately, even during streaming)
|
|
1070
1088
|
// Extension commands manage their own LLM interaction via iosm.sendMessage()
|
|
1071
1089
|
if (expandPromptTemplates && text.startsWith("/")) {
|
|
@@ -1313,6 +1331,289 @@ export class AgentSession {
|
|
|
1313
1331
|
}
|
|
1314
1332
|
}
|
|
1315
1333
|
}
|
|
1334
|
+
async _runUltrathinkCommand(command, options) {
|
|
1335
|
+
if (this.isStreaming) {
|
|
1336
|
+
throw new Error("Cannot start /ultrathink while the agent is processing another request.");
|
|
1337
|
+
}
|
|
1338
|
+
if (this.isCompacting) {
|
|
1339
|
+
throw new Error("Cannot start /ultrathink while compaction is running.");
|
|
1340
|
+
}
|
|
1341
|
+
if (this._ultrathinkActive) {
|
|
1342
|
+
throw new Error("An /ultrathink run is already in progress.");
|
|
1343
|
+
}
|
|
1344
|
+
if (!this.model) {
|
|
1345
|
+
throw new Error("No model selected.\n\n" +
|
|
1346
|
+
`Use /login or set an API key environment variable. See ${join(getDocsPath(), "providers.md")}\n\n` +
|
|
1347
|
+
"Then use /model to select a model.");
|
|
1348
|
+
}
|
|
1349
|
+
const apiKey = await this._modelRegistry.getApiKey(this.model);
|
|
1350
|
+
if (!apiKey) {
|
|
1351
|
+
const isOAuth = this._modelRegistry.isUsingOAuth(this.model);
|
|
1352
|
+
if (isOAuth) {
|
|
1353
|
+
throw new Error(`Authentication failed for "${this.model.provider}". ` +
|
|
1354
|
+
`Credentials may have expired or network is unavailable. ` +
|
|
1355
|
+
`Run '/login ${this.model.provider}' to re-authenticate.`);
|
|
1356
|
+
}
|
|
1357
|
+
throw new Error(`No API key found for ${this.model.provider}.\n\n` +
|
|
1358
|
+
`Use /login or set an API key environment variable. See ${join(getDocsPath(), "providers.md")}`);
|
|
1359
|
+
}
|
|
1360
|
+
const objective = command.query?.trim() || findLastMeaningfulUserIntent(this.messages);
|
|
1361
|
+
if (!objective) {
|
|
1362
|
+
throw new Error([
|
|
1363
|
+
"Cannot infer an objective for /ultrathink from session context.",
|
|
1364
|
+
"Provide a query explicitly or send a regular user request first.",
|
|
1365
|
+
"",
|
|
1366
|
+
ULTRATHINK_USAGE,
|
|
1367
|
+
].join("\n"));
|
|
1368
|
+
}
|
|
1369
|
+
const originalTools = this.getActiveToolNames();
|
|
1370
|
+
const availableToolNames = this.getAllTools().map((tool) => tool.name);
|
|
1371
|
+
const readOnlyTools = resolveUltrathinkReadOnlyTools(availableToolNames);
|
|
1372
|
+
if (readOnlyTools.length === 0) {
|
|
1373
|
+
throw new Error([
|
|
1374
|
+
"Cannot start /ultrathink: no read-only tools are currently active.",
|
|
1375
|
+
"Enable at least one analysis tool (for example read/rg/find/semantic_search/fetch/git_read) and retry.",
|
|
1376
|
+
].join("\n"));
|
|
1377
|
+
}
|
|
1378
|
+
const contextTail = buildUltrathinkContextTail(this.messages);
|
|
1379
|
+
let checkpoint = createInitialUltrathinkCheckpoint(objective);
|
|
1380
|
+
let previousSummary;
|
|
1381
|
+
let accumulatedInputTokens = 0;
|
|
1382
|
+
let accumulatedTotalTokens = 0;
|
|
1383
|
+
let accumulatedCost = 0;
|
|
1384
|
+
let stagnationCount = 0;
|
|
1385
|
+
let targetIterations = command.iterations;
|
|
1386
|
+
let enforceEvidencePolicy = true;
|
|
1387
|
+
const evidenceById = new Map();
|
|
1388
|
+
const mergeEvidence = (messages) => {
|
|
1389
|
+
const evidence = extractUltrathinkToolEvidence(messages);
|
|
1390
|
+
for (const entry of evidence) {
|
|
1391
|
+
evidenceById.set(entry.toolCallId, entry);
|
|
1392
|
+
}
|
|
1393
|
+
return evidence.length;
|
|
1394
|
+
};
|
|
1395
|
+
const registerUsage = (assistantMessage) => {
|
|
1396
|
+
const usage = assistantMessage?.usage;
|
|
1397
|
+
const inputTokens = Number(usage?.input ?? 0);
|
|
1398
|
+
const totalTokens = Number(usage?.totalTokens ?? inputTokens + Number(usage?.output ?? 0));
|
|
1399
|
+
const costTotal = Number(usage?.cost?.total ?? 0);
|
|
1400
|
+
accumulatedInputTokens += inputTokens;
|
|
1401
|
+
accumulatedTotalTokens += totalTokens;
|
|
1402
|
+
accumulatedCost += costTotal;
|
|
1403
|
+
return { inputTokens, totalTokens, costTotal };
|
|
1404
|
+
};
|
|
1405
|
+
const exceedsBudget = (iterationInputTokens) => iterationInputTokens > ULTRATHINK_MAX_ITERATION_INPUT_TOKENS ||
|
|
1406
|
+
accumulatedInputTokens > ULTRATHINK_MAX_RUN_INPUT_TOKENS ||
|
|
1407
|
+
accumulatedTotalTokens > ULTRATHINK_MAX_RUN_TOTAL_TOKENS ||
|
|
1408
|
+
accumulatedCost > ULTRATHINK_MAX_RUN_COST;
|
|
1409
|
+
const runUltrathinkInternalPrompt = async (rawPrompt, displayText) => {
|
|
1410
|
+
this._appendCustomMessageLocally({
|
|
1411
|
+
customType: INTERNAL_UI_META_CUSTOM_TYPE,
|
|
1412
|
+
content: "",
|
|
1413
|
+
display: false,
|
|
1414
|
+
details: {
|
|
1415
|
+
kind: "orchestration_context",
|
|
1416
|
+
rawPrompt,
|
|
1417
|
+
displayText,
|
|
1418
|
+
},
|
|
1419
|
+
});
|
|
1420
|
+
const messageCountBefore = this.messages.length;
|
|
1421
|
+
await this.prompt(rawPrompt, {
|
|
1422
|
+
expandPromptTemplates: false,
|
|
1423
|
+
skipIosmAutopilot: true,
|
|
1424
|
+
skipOrchestrationDirective: true,
|
|
1425
|
+
skipUltrathinkCommand: true,
|
|
1426
|
+
source: options.source,
|
|
1427
|
+
});
|
|
1428
|
+
return this.messages.slice(messageCountBefore);
|
|
1429
|
+
};
|
|
1430
|
+
this._ultrathinkActive = true;
|
|
1431
|
+
this.setActiveToolsByName(readOnlyTools);
|
|
1432
|
+
try {
|
|
1433
|
+
for (let iteration = 1; iteration <= targetIterations; iteration++) {
|
|
1434
|
+
const phase = iteration === targetIterations ? "Synthesis" : getUltrathinkPhase(iteration, targetIterations);
|
|
1435
|
+
const evidenceCatalog = buildUltrathinkEvidenceCatalog([...evidenceById.values()]);
|
|
1436
|
+
const budgetStatus = buildUltrathinkBudgetStatusLine({
|
|
1437
|
+
accumulatedInputTokens,
|
|
1438
|
+
accumulatedTotalTokens,
|
|
1439
|
+
accumulatedCost,
|
|
1440
|
+
});
|
|
1441
|
+
const iterationPrompt = buildUltrathinkIterationPrompt({
|
|
1442
|
+
iteration,
|
|
1443
|
+
totalIterations: targetIterations,
|
|
1444
|
+
phase,
|
|
1445
|
+
objective,
|
|
1446
|
+
checkpoint,
|
|
1447
|
+
previousSummary,
|
|
1448
|
+
contextTail: iteration === 1 ? contextTail : undefined,
|
|
1449
|
+
evidenceCatalog,
|
|
1450
|
+
budgetStatus,
|
|
1451
|
+
});
|
|
1452
|
+
const visibleIterationPrompt = buildUltrathinkVisibleIterationPrompt({
|
|
1453
|
+
iteration,
|
|
1454
|
+
totalIterations: targetIterations,
|
|
1455
|
+
phase,
|
|
1456
|
+
objective,
|
|
1457
|
+
});
|
|
1458
|
+
const iterationMessages = await runUltrathinkInternalPrompt(iterationPrompt, visibleIterationPrompt);
|
|
1459
|
+
let toolChecksThisIteration = mergeEvidence(iterationMessages);
|
|
1460
|
+
let assistantMessage = this._findLastAssistantMessage();
|
|
1461
|
+
let assistantText = this.getLastAssistantText() ?? "";
|
|
1462
|
+
let iterationUsage = registerUsage(assistantMessage);
|
|
1463
|
+
let iterationInputTokens = iterationUsage.inputTokens;
|
|
1464
|
+
const evaluatePolicy = () => evaluateUltrathinkEvidencePolicy({
|
|
1465
|
+
text: assistantText,
|
|
1466
|
+
phase,
|
|
1467
|
+
toolChecksThisIteration,
|
|
1468
|
+
knownEvidenceIds: [...evidenceById.keys()],
|
|
1469
|
+
});
|
|
1470
|
+
const shouldGround = shouldUltrathinkForceToolGrounding({
|
|
1471
|
+
phase,
|
|
1472
|
+
cumulativeEvidenceCount: evidenceById.size,
|
|
1473
|
+
toolChecksThisIteration,
|
|
1474
|
+
});
|
|
1475
|
+
if (shouldGround) {
|
|
1476
|
+
const groundingPrompt = buildUltrathinkToolGroundingPrompt({
|
|
1477
|
+
iteration,
|
|
1478
|
+
totalIterations: targetIterations,
|
|
1479
|
+
phase,
|
|
1480
|
+
objective,
|
|
1481
|
+
checkpoint,
|
|
1482
|
+
availableReadOnlyTools: readOnlyTools,
|
|
1483
|
+
evidenceCatalog: buildUltrathinkEvidenceCatalog([...evidenceById.values()]),
|
|
1484
|
+
});
|
|
1485
|
+
const groundingDisplayText = `${ULTRATHINK_VISIBLE_PROMPT_PREFIX} ${iteration}/${targetIterations} (${phase}) grounding retry. Performing live workspace probes with read-only tools.`;
|
|
1486
|
+
const groundingMessages = await runUltrathinkInternalPrompt(groundingPrompt, groundingDisplayText);
|
|
1487
|
+
toolChecksThisIteration += mergeEvidence(groundingMessages);
|
|
1488
|
+
assistantMessage = this._findLastAssistantMessage();
|
|
1489
|
+
assistantText = this.getLastAssistantText() ?? "";
|
|
1490
|
+
iterationUsage = registerUsage(assistantMessage);
|
|
1491
|
+
iterationInputTokens += iterationUsage.inputTokens;
|
|
1492
|
+
}
|
|
1493
|
+
if (enforceEvidencePolicy) {
|
|
1494
|
+
let evidencePolicy = evaluatePolicy();
|
|
1495
|
+
if (hasUltrathinkEvidenceViolations(evidencePolicy)) {
|
|
1496
|
+
const policyIssues = [];
|
|
1497
|
+
if (evidencePolicy.missingEvidenceForNumbers) {
|
|
1498
|
+
policyIssues.push("Quantitative claims are missing `[evidence:<toolCallId>]` tags.");
|
|
1499
|
+
}
|
|
1500
|
+
if (evidencePolicy.invalidEvidenceTags.length > 0) {
|
|
1501
|
+
policyIssues.push(`Unknown evidence tags: ${evidencePolicy.invalidEvidenceTags.join(", ")}`);
|
|
1502
|
+
}
|
|
1503
|
+
if (evidencePolicy.needsNoNewEvidenceMarker && !evidencePolicy.hasNoNewEvidenceMarker) {
|
|
1504
|
+
policyIssues.push("Verify/Synthesis response with no new tool checks must include [NO_NEW_EVIDENCE_OK].");
|
|
1505
|
+
}
|
|
1506
|
+
const repairPrompt = buildUltrathinkComplianceRepairPrompt({
|
|
1507
|
+
iteration,
|
|
1508
|
+
totalIterations: targetIterations,
|
|
1509
|
+
phase,
|
|
1510
|
+
objective,
|
|
1511
|
+
originalResponse: assistantText,
|
|
1512
|
+
issues: policyIssues,
|
|
1513
|
+
checkpoint,
|
|
1514
|
+
evidenceCatalog: buildUltrathinkEvidenceCatalog([...evidenceById.values()]),
|
|
1515
|
+
});
|
|
1516
|
+
const repairDisplayText = `${ULTRATHINK_VISIBLE_PROMPT_PREFIX} ${iteration}/${targetIterations} (${phase}) policy repair. Normalizing evidence links and checkpoint format.`;
|
|
1517
|
+
const repairMessages = await runUltrathinkInternalPrompt(repairPrompt, repairDisplayText);
|
|
1518
|
+
toolChecksThisIteration += mergeEvidence(repairMessages);
|
|
1519
|
+
assistantMessage = this._findLastAssistantMessage();
|
|
1520
|
+
assistantText = this.getLastAssistantText() ?? "";
|
|
1521
|
+
iterationUsage = registerUsage(assistantMessage);
|
|
1522
|
+
iterationInputTokens += iterationUsage.inputTokens;
|
|
1523
|
+
evidencePolicy = evaluatePolicy();
|
|
1524
|
+
if (hasUltrathinkEvidenceViolations(evidencePolicy)) {
|
|
1525
|
+
// Do not fail the entire run; keep the latest usable answer and finish gracefully.
|
|
1526
|
+
enforceEvidencePolicy = false;
|
|
1527
|
+
if (iteration < targetIterations) {
|
|
1528
|
+
targetIterations = Math.min(targetIterations, iteration + 1);
|
|
1529
|
+
}
|
|
1530
|
+
}
|
|
1531
|
+
}
|
|
1532
|
+
}
|
|
1533
|
+
previousSummary = extractUltrathinkIterationSummary(assistantText);
|
|
1534
|
+
const checkpointBeforeIteration = checkpoint;
|
|
1535
|
+
const extractedCheckpoint = extractUltrathinkCheckpoint(assistantText);
|
|
1536
|
+
if (extractedCheckpoint && extractedCheckpoint.trim()) {
|
|
1537
|
+
checkpoint = normalizeUltrathinkCheckpoint(extractedCheckpoint, objective);
|
|
1538
|
+
}
|
|
1539
|
+
if (checkpoint.length > ULTRATHINK_MAX_CHECKPOINT_CHARS) {
|
|
1540
|
+
checkpoint = await this._compressUltrathinkCheckpoint(checkpoint, objective, apiKey);
|
|
1541
|
+
}
|
|
1542
|
+
const stagnated = isUltrathinkStagnated({
|
|
1543
|
+
previousCheckpoint: checkpointBeforeIteration,
|
|
1544
|
+
nextCheckpoint: checkpoint,
|
|
1545
|
+
toolChecksThisIteration,
|
|
1546
|
+
});
|
|
1547
|
+
if (stagnated && iteration < targetIterations) {
|
|
1548
|
+
stagnationCount += 1;
|
|
1549
|
+
if (stagnationCount >= ULTRATHINK_STAGNATION_LIMIT) {
|
|
1550
|
+
targetIterations = Math.min(targetIterations, iteration + 1);
|
|
1551
|
+
}
|
|
1552
|
+
}
|
|
1553
|
+
else {
|
|
1554
|
+
stagnationCount = 0;
|
|
1555
|
+
}
|
|
1556
|
+
if (iteration < targetIterations && exceedsBudget(iterationInputTokens)) {
|
|
1557
|
+
targetIterations = Math.min(targetIterations, iteration + 1);
|
|
1558
|
+
}
|
|
1559
|
+
}
|
|
1560
|
+
}
|
|
1561
|
+
finally {
|
|
1562
|
+
this._ultrathinkActive = false;
|
|
1563
|
+
const currentTools = this.getActiveToolNames();
|
|
1564
|
+
const shouldRestore = currentTools.length !== originalTools.length ||
|
|
1565
|
+
currentTools.some((toolName, index) => toolName !== originalTools[index]);
|
|
1566
|
+
if (shouldRestore) {
|
|
1567
|
+
this.setActiveToolsByName(originalTools);
|
|
1568
|
+
}
|
|
1569
|
+
}
|
|
1570
|
+
}
|
|
1571
|
+
async _compressUltrathinkCheckpoint(checkpoint, objective, apiKey) {
|
|
1572
|
+
const model = this.model;
|
|
1573
|
+
const fallback = truncateUltrathinkCheckpoint(normalizeUltrathinkCheckpoint(checkpoint, objective), ULTRATHINK_MAX_CHECKPOINT_CHARS);
|
|
1574
|
+
if (!model)
|
|
1575
|
+
return fallback;
|
|
1576
|
+
const reserveTokens = this.settingsManager.getCompactionReserveTokens();
|
|
1577
|
+
const maxTokens = Math.max(256, Math.min(2048, Math.floor(reserveTokens * 0.4)));
|
|
1578
|
+
try {
|
|
1579
|
+
const response = await completeSimple(model, {
|
|
1580
|
+
systemPrompt: ULTRATHINK_CHECKPOINT_COMPRESSION_SYSTEM_PROMPT,
|
|
1581
|
+
messages: [
|
|
1582
|
+
{
|
|
1583
|
+
role: "user",
|
|
1584
|
+
content: [
|
|
1585
|
+
{
|
|
1586
|
+
type: "text",
|
|
1587
|
+
text: buildUltrathinkCheckpointCompressionPrompt({
|
|
1588
|
+
objective,
|
|
1589
|
+
checkpoint,
|
|
1590
|
+
maxChars: ULTRATHINK_MAX_CHECKPOINT_CHARS,
|
|
1591
|
+
}),
|
|
1592
|
+
},
|
|
1593
|
+
],
|
|
1594
|
+
timestamp: Date.now(),
|
|
1595
|
+
},
|
|
1596
|
+
],
|
|
1597
|
+
}, model.reasoning
|
|
1598
|
+
? { maxTokens, apiKey, reasoning: "high" }
|
|
1599
|
+
: { maxTokens, apiKey });
|
|
1600
|
+
if (response.stopReason === "error") {
|
|
1601
|
+
return fallback;
|
|
1602
|
+
}
|
|
1603
|
+
const text = response.content
|
|
1604
|
+
.filter((part) => part.type === "text")
|
|
1605
|
+
.map((part) => part.text)
|
|
1606
|
+
.join("\n")
|
|
1607
|
+
.trim();
|
|
1608
|
+
if (!text) {
|
|
1609
|
+
return fallback;
|
|
1610
|
+
}
|
|
1611
|
+
return truncateUltrathinkCheckpoint(normalizeUltrathinkCheckpoint(text, objective), ULTRATHINK_MAX_CHECKPOINT_CHARS);
|
|
1612
|
+
}
|
|
1613
|
+
catch {
|
|
1614
|
+
return fallback;
|
|
1615
|
+
}
|
|
1616
|
+
}
|
|
1316
1617
|
/**
|
|
1317
1618
|
* Try to execute an extension command. Returns true if command was found and executed.
|
|
1318
1619
|
*/
|