@pentoshi/clai 3.11.6 → 3.11.8

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.
@@ -0,0 +1,57 @@
1
+ /**
2
+ * Pure finalize-time gate: pick the recovery nudge that must replace a final
3
+ * answer, or nothing when the turn may finalize. No I/O, no budget mutation.
4
+ */
5
+ import { type RecoveryAction, type RecoveryBudgets } from "./must-continue.js";
6
+ /** Task fields the gate reads. */
7
+ export interface FinalizeGatePlanTask {
8
+ id: string;
9
+ title: string;
10
+ state: string;
11
+ responderOwned?: boolean | undefined;
12
+ }
13
+ /** Plain-data snapshot of the live plan, resolved once by the caller. */
14
+ export interface FinalizeGatePlan {
15
+ kind: string;
16
+ hasVerifiedRuntime: boolean;
17
+ tasks: readonly FinalizeGatePlanTask[];
18
+ }
19
+ /** Everything the finalize cascade reads, as data. */
20
+ export interface FinalizeGateInput {
21
+ cleaned: string;
22
+ recovery: RecoveryBudgets;
23
+ toolsAttached: boolean;
24
+ productiveSteps: number;
25
+ planApproved: boolean;
26
+ planHasOpenWork: boolean;
27
+ activePlanExists: boolean;
28
+ wantsAction: boolean;
29
+ narratedAction: boolean;
30
+ narratedWebAction: boolean;
31
+ isPlanMode: boolean;
32
+ buildLikeTurn: boolean;
33
+ pentestLikeTurn: boolean;
34
+ buildLike: boolean;
35
+ pentestLike: boolean;
36
+ pentestSession: boolean;
37
+ informationalQuery: boolean;
38
+ idleOrSocialPrompt: boolean;
39
+ freshWebSearchRequired: boolean;
40
+ freshnessGuardText: string;
41
+ sawFreshWebSearch: boolean;
42
+ sawPlanCreateOk: boolean;
43
+ sawFeatureImplWrite: boolean;
44
+ sawScaffoldOk: boolean;
45
+ sawLocalAppMaterialWork: boolean;
46
+ sawServerStart: boolean;
47
+ sawServerTail: boolean;
48
+ sawLocalHttpProbe: boolean;
49
+ sawFailedLocalHttpProbe: boolean;
50
+ sawActivePentestTest: boolean;
51
+ sawSuccessfulMutation: boolean;
52
+ featureAppAsk: boolean;
53
+ projectRoot: string | undefined;
54
+ plan: FinalizeGatePlan | undefined;
55
+ deferResponderReport: boolean;
56
+ }
57
+ export declare function chooseFinalizeRecovery(input: FinalizeGateInput): RecoveryAction | undefined;
@@ -0,0 +1,146 @@
1
+ /**
2
+ * Pure finalize-time gate: pick the recovery nudge that must replace a final
3
+ * answer, or nothing when the turn may finalize. No I/O, no budget mutation.
4
+ */
5
+ import { budgetRemaining, freestyleClaimsAppReady, looksLikeShallowPentestReport, recoveryForErrorDiagnosis, recoveryForFailedProbe, recoveryForFreshness, recoveryForMissingFeature, recoveryForMissingPlan, recoveryForNarration, recoveryForPrematureComplete, recoveryForRuntimeVerify, recoveryForShallowPentest, } from "./must-continue.js";
6
+ import { looksLikeErrorDiagnosisWithFixIntent, looksLikePlanNarration, } from "./tool-call-parser.js";
7
+ export function chooseFinalizeRecovery(input) {
8
+ const { cleaned, recovery, toolsAttached, productiveSteps, plan } = input;
9
+ const planNarrated = (input.buildLikeTurn || input.pentestLikeTurn) &&
10
+ !input.activePlanExists &&
11
+ looksLikePlanNarration(cleaned);
12
+ const errorFixNarration = !input.sawSuccessfulMutation &&
13
+ looksLikeErrorDiagnosisWithFixIntent(cleaned);
14
+ const shouldRetryBeforeFinalizing = productiveSteps === 0 ||
15
+ planNarrated ||
16
+ ((input.narratedAction || input.narratedWebAction) &&
17
+ !input.informationalQuery) ||
18
+ (input.planApproved &&
19
+ input.planHasOpenWork &&
20
+ (input.narratedAction || errorFixNarration)) ||
21
+ (input.planApproved && errorFixNarration) ||
22
+ (input.buildLikeTurn && errorFixNarration);
23
+ if (input.wantsAction &&
24
+ cleaned.trim().length > 0 &&
25
+ shouldRetryBeforeFinalizing) {
26
+ let action;
27
+ if (errorFixNarration && budgetRemaining(recovery, "errorFix")) {
28
+ action = recoveryForErrorDiagnosis(toolsAttached);
29
+ }
30
+ else if (budgetRemaining(recovery, "actionIntent") &&
31
+ input.planHasOpenWork &&
32
+ input.planApproved) {
33
+ action = recoveryForNarration(toolsAttached, "plan_open");
34
+ }
35
+ else if (budgetRemaining(recovery, "actionIntent") &&
36
+ input.pentestLikeTurn) {
37
+ action = recoveryForNarration(toolsAttached, "pentest");
38
+ }
39
+ else if (budgetRemaining(recovery, "actionIntent") &&
40
+ (input.freshWebSearchRequired || input.narratedWebAction)) {
41
+ action = recoveryForNarration(toolsAttached, "web");
42
+ }
43
+ else if (budgetRemaining(recovery, "actionIntent") &&
44
+ input.buildLikeTurn &&
45
+ (planNarrated || productiveSteps > 0)) {
46
+ action = recoveryForNarration(toolsAttached, "build_plan_prose");
47
+ }
48
+ else if (budgetRemaining(recovery, "actionIntent") &&
49
+ input.buildLikeTurn) {
50
+ action = recoveryForNarration(toolsAttached, "build");
51
+ }
52
+ else if (budgetRemaining(recovery, "actionIntent")) {
53
+ action = recoveryForNarration(toolsAttached, "generic");
54
+ }
55
+ if (action)
56
+ return action;
57
+ }
58
+ if (input.freshWebSearchRequired &&
59
+ !input.sawFreshWebSearch &&
60
+ budgetRemaining(recovery, "freshnessUsed")) {
61
+ return recoveryForFreshness(input.freshnessGuardText +
62
+ (toolsAttached
63
+ ? " Call the web_search tool now."
64
+ : " Reply with ONLY a fenced ```tool block for web.search now."));
65
+ }
66
+ if (input.isPlanMode &&
67
+ !input.informationalQuery &&
68
+ !input.idleOrSocialPrompt &&
69
+ budgetRemaining(recovery, "forcePlan")) {
70
+ if (!plan && !input.sawPlanCreateOk) {
71
+ return recoveryForMissingPlan(toolsAttached);
72
+ }
73
+ }
74
+ if (input.buildLike &&
75
+ !input.pentestLike &&
76
+ !input.pentestSession &&
77
+ input.planApproved &&
78
+ input.featureAppAsk &&
79
+ !input.sawFeatureImplWrite &&
80
+ (input.sawScaffoldOk || input.sawLocalAppMaterialWork) &&
81
+ productiveSteps > 0 &&
82
+ budgetRemaining(recovery, "featureImpl")) {
83
+ return recoveryForMissingFeature(input.projectRoot);
84
+ }
85
+ if (input.buildLike &&
86
+ !input.pentestLike &&
87
+ !input.pentestSession &&
88
+ budgetRemaining(recovery, "runtimeVerify") &&
89
+ (!input.featureAppAsk || input.sawFeatureImplWrite)) {
90
+ const planRuntimeOk = Boolean(plan && plan.hasVerifiedRuntime);
91
+ const sessionRuntimeOk = input.sawServerStart &&
92
+ (input.sawServerTail || input.sawLocalHttpProbe || planRuntimeOk);
93
+ if (!planRuntimeOk && !sessionRuntimeOk) {
94
+ const codingPlanFinished = Boolean(plan &&
95
+ input.planApproved &&
96
+ plan.kind !== "pentest" &&
97
+ plan.tasks.length > 0 &&
98
+ plan.tasks.every((task) => task.state === "done" || task.state === "skipped"));
99
+ const freestyleLocalAppDone = !input.planApproved &&
100
+ input.sawLocalAppMaterialWork &&
101
+ productiveSteps > 0 &&
102
+ freestyleClaimsAppReady(cleaned) &&
103
+ (input.projectRoot !== undefined ||
104
+ /\b(?:npm|pnpm|yarn|bun)\s+run\s+dev\b/i.test(cleaned) ||
105
+ /\bopen\s+http:\/\/localhost\b/i.test(cleaned));
106
+ if (codingPlanFinished || freestyleLocalAppDone) {
107
+ return recoveryForRuntimeVerify(input.projectRoot);
108
+ }
109
+ }
110
+ }
111
+ if (input.buildLike &&
112
+ !input.pentestLike &&
113
+ !input.pentestSession &&
114
+ input.sawFailedLocalHttpProbe &&
115
+ !input.sawLocalHttpProbe &&
116
+ budgetRemaining(recovery, "failedProbe") &&
117
+ cleaned.trim().length > 0) {
118
+ return recoveryForFailedProbe();
119
+ }
120
+ if ((input.pentestLike || input.pentestSession) &&
121
+ budgetRemaining(recovery, "shallowPentest") &&
122
+ looksLikeShallowPentestReport(cleaned, {
123
+ productiveSteps,
124
+ sawActiveTest: input.sawActivePentestTest,
125
+ })) {
126
+ return recoveryForShallowPentest();
127
+ }
128
+ if (input.planApproved && budgetRemaining(recovery, "prematureComplete")) {
129
+ const unfinished = plan?.tasks.filter((task) => !task.responderOwned &&
130
+ (task.state === "pending" || task.state === "in_progress"));
131
+ if (plan &&
132
+ unfinished &&
133
+ unfinished.length > 0 &&
134
+ !input.deferResponderReport) {
135
+ const next = unfinished[0];
136
+ return recoveryForPrematureComplete({
137
+ unfinished,
138
+ next,
139
+ pentest: plan.kind === "pentest" || input.pentestSession,
140
+ errorFix: errorFixNarration,
141
+ });
142
+ }
143
+ }
144
+ return undefined;
145
+ }
146
+ //# sourceMappingURL=finalize-gate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"finalize-gate.js","sourceRoot":"","sources":["../../src/agent/finalize-gate.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ export declare const INTERRUPTED_REASONING_LIMIT = 4000;
2
+ export declare const INTERRUPTED_REASONING_MIN = 160;
3
+ export declare const MIN_RESUMPTION_YIELD = 240;
4
+ export declare function isMeaningfulResumptionYield(producedChars: number): boolean;
5
+ export declare function appendInterruptedReasoning(previous: string, next: string): string;
6
+ export declare function interruptedReasoningBrief(reasoning: string): string | undefined;
@@ -0,0 +1,38 @@
1
+ export const INTERRUPTED_REASONING_LIMIT = 4_000;
2
+ export const INTERRUPTED_REASONING_MIN = 160;
3
+ export const MIN_RESUMPTION_YIELD = 240;
4
+ export function isMeaningfulResumptionYield(producedChars) {
5
+ return producedChars >= MIN_RESUMPTION_YIELD;
6
+ }
7
+ function normalize(reasoning) {
8
+ return reasoning.replace(/\r/g, "").replace(/[ \t]+$/gm, "").trim();
9
+ }
10
+ function clampReasoning(reasoning) {
11
+ if (reasoning.length <= INTERRUPTED_REASONING_LIMIT)
12
+ return reasoning;
13
+ const tail = reasoning.slice(reasoning.length - INTERRUPTED_REASONING_LIMIT);
14
+ const breakAt = tail.indexOf("\n");
15
+ return breakAt > 0 && breakAt < 400 ? tail.slice(breakAt + 1) : tail;
16
+ }
17
+ export function appendInterruptedReasoning(previous, next) {
18
+ const addition = normalize(next);
19
+ if (!addition)
20
+ return previous;
21
+ const earlier = normalize(previous);
22
+ if (!earlier)
23
+ return clampReasoning(addition);
24
+ if (earlier.includes(addition))
25
+ return clampReasoning(earlier);
26
+ if (addition.includes(earlier))
27
+ return clampReasoning(addition);
28
+ return clampReasoning(`${earlier}\n\n${addition}`);
29
+ }
30
+ export function interruptedReasoningBrief(reasoning) {
31
+ const body = normalize(reasoning);
32
+ if (body.length < INTERRUPTED_REASONING_MIN)
33
+ return undefined;
34
+ return ("Your own reasoning from the interrupted attempt is preserved below. " +
35
+ "Build on these conclusions instead of re-deriving them, and go straight to the next concrete action.\n\n" +
36
+ `<preserved_reasoning>\n${body}\n</preserved_reasoning>`);
37
+ }
38
+ //# sourceMappingURL=interrupted-reasoning.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interrupted-reasoning.js","sourceRoot":"","sources":["../../src/agent/interrupted-reasoning.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,2BAA2B,GAAG,KAAK,CAAC;AAEjD,MAAM,CAAC,MAAM,yBAAyB,GAAG,GAAG,CAAC;AAE7C,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAG,CAAC;AAExC,MAAM,UAAU,2BAA2B,CAAC,aAAqB;IAC/D,OAAO,aAAa,IAAI,oBAAoB,CAAC;AAC/C,CAAC;AAED,SAAS,SAAS,CAAC,SAAiB;IAClC,OAAO,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;AACtE,CAAC;AAED,SAAS,cAAc,CAAC,SAAiB;IACvC,IAAI,SAAS,CAAC,MAAM,IAAI,2BAA2B;QAAE,OAAO,SAAS,CAAC;IACtE,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,2BAA2B,CAAC,CAAC;IAC7E,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACnC,OAAO,OAAO,GAAG,CAAC,IAAI,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACvE,CAAC;AAED,MAAM,UAAU,0BAA0B,CACxC,QAAgB,EAChB,IAAY;IAEZ,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IACjC,IAAI,CAAC,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAC/B,MAAM,OAAO,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;IACpC,IAAI,CAAC,OAAO;QAAE,OAAO,cAAc,CAAC,QAAQ,CAAC,CAAC;IAC9C,IAAI,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,OAAO,cAAc,CAAC,OAAO,CAAC,CAAC;IAC/D,IAAI,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC;QAAE,OAAO,cAAc,CAAC,QAAQ,CAAC,CAAC;IAChE,OAAO,cAAc,CAAC,GAAG,OAAO,OAAO,QAAQ,EAAE,CAAC,CAAC;AACrD,CAAC;AAED,MAAM,UAAU,yBAAyB,CACvC,SAAiB;IAEjB,MAAM,IAAI,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC;IAClC,IAAI,IAAI,CAAC,MAAM,GAAG,yBAAyB;QAAE,OAAO,SAAS,CAAC;IAC9D,OAAO,CACL,sEAAsE;QACtE,0GAA0G;QAC1G,0BAA0B,IAAI,0BAA0B,CACzD,CAAC;AACJ,CAAC"}