@pentoshi/clai 2.0.30 → 2.0.32

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.
Files changed (39) hide show
  1. package/dist/agent/loop-guard.js +1 -0
  2. package/dist/agent/loop-guard.js.map +1 -1
  3. package/dist/agent/runner.d.ts +1 -1
  4. package/dist/agent/runner.js +46 -9
  5. package/dist/agent/runner.js.map +1 -1
  6. package/dist/agent/session-policy.d.ts +21 -0
  7. package/dist/agent/session-policy.js +22 -0
  8. package/dist/agent/session-policy.js.map +1 -1
  9. package/dist/agent/tool-call-parser.d.ts +20 -0
  10. package/dist/agent/tool-call-parser.js +69 -3
  11. package/dist/agent/tool-call-parser.js.map +1 -1
  12. package/dist/commands/update.js +1 -1
  13. package/dist/modes/ask.js +10 -1
  14. package/dist/modes/ask.js.map +1 -1
  15. package/dist/prompts/index.d.ts +2 -2
  16. package/dist/prompts/index.js +12 -3
  17. package/dist/prompts/index.js.map +1 -1
  18. package/dist/repl.js +32 -6
  19. package/dist/repl.js.map +1 -1
  20. package/dist/safety/classifier.js +55 -15
  21. package/dist/safety/classifier.js.map +1 -1
  22. package/dist/tools/registry.js +9 -0
  23. package/dist/tools/registry.js.map +1 -1
  24. package/dist/tools/wordlists.d.ts +7 -0
  25. package/dist/tools/wordlists.js +168 -0
  26. package/dist/tools/wordlists.js.map +1 -0
  27. package/dist/tui/App.js +80 -20
  28. package/dist/tui/App.js.map +1 -1
  29. package/dist/tui/components/ConfirmModal.d.ts +3 -1
  30. package/dist/tui/components/ConfirmModal.js +6 -3
  31. package/dist/tui/components/ConfirmModal.js.map +1 -1
  32. package/dist/tui/components/Pager.js +8 -2
  33. package/dist/tui/components/Pager.js.map +1 -1
  34. package/dist/tui/render-lines.js +8 -3
  35. package/dist/tui/render-lines.js.map +1 -1
  36. package/dist/ui/markdown.d.ts +1 -0
  37. package/dist/ui/markdown.js +1 -1
  38. package/dist/ui/markdown.js.map +1 -1
  39. package/package.json +1 -1
@@ -16,6 +16,7 @@ const READ_ONLY_TOOLS = new Set([
16
16
  "sysinfo",
17
17
  "net.context",
18
18
  "tool.check",
19
+ "wordlist.find",
19
20
  "image.ocr",
20
21
  "pdf.read",
21
22
  ]);
@@ -1 +1 @@
1
- {"version":3,"file":"loop-guard.js","sourceRoot":"","sources":["../../src/agent/loop-guard.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"loop-guard.js","sourceRoot":"","sources":["../../src/agent/loop-guard.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@ import type { AgentEvent } from "./events.js";
3
3
  import { type SessionPolicy } from "./session-policy.js";
4
4
  import { type ConfirmPort } from "./confirm-port.js";
5
5
  export * from "./tool-call-parser.js";
6
- export { createSessionPolicy, isPreApprovalAllowedTool, shouldEnableImageOcr, type SessionPolicy, } from "./session-policy.js";
6
+ export { createSessionPolicy, isPreApprovalAllowedTool, isPlanApprovedByStatus, planHasOpenWork, shouldEnableImageOcr, type SessionPolicy, } from "./session-policy.js";
7
7
  export { type ConfirmPort } from "./confirm-port.js";
8
8
  export declare function styleToolChatter(call: ToolCall, text: string): string;
9
9
  export interface AgentRunOptions {
@@ -23,8 +23,8 @@ import { analyzeTask } from "./task-analyzer.js";
23
23
  import { LoopGuard } from "./loop-guard.js";
24
24
  import { loadPlan } from "../store/plan.js";
25
25
  import { pathInsideSandbox } from "../tools/fs.js";
26
- import { stripSentinelTokens, parseToolCall, recognizeBareToolJson, looksLikeTruncatedToolCall, countToolFences, parseAllToolCalls, groupToolCallsForExecution, buildTurnHistory, collapseRepeatedText, textBeforeToolCall, formatToolArgs, looksLikePentestTask, looksLikeBuildTask, looksLikeActionNarration, looksLikePlanNarration, requiresFreshWebSearch, freshnessGuardMessage, buildWorkflowDirective, shouldDimToolChatter, } from "./tool-call-parser.js";
27
- import { createSessionPolicy, isPreApprovalAllowedTool, isAbortError, shouldEnableImageOcr, } from "./session-policy.js";
26
+ import { stripSentinelTokens, parseToolCall, recognizeBareToolJson, looksLikeTruncatedToolCall, countToolFences, parseAllToolCalls, groupToolCallsForExecution, buildTurnHistory, collapseRepeatedText, textBeforeToolCall, formatToolArgs, looksLikePentestTask, looksLikeBuildTask, looksLikeInformationalQuery, looksLikeActionNarration, looksLikePlanNarration, requiresFreshWebSearch, freshnessGuardMessage, buildWorkflowDirective, shouldDimToolChatter, looksLikePromptLeak, } from "./tool-call-parser.js";
27
+ import { createSessionPolicy, isPreApprovalAllowedTool, isPlanApprovedByStatus, planHasOpenWork, isAbortError, shouldEnableImageOcr, } from "./session-policy.js";
28
28
  import { saveToolOutput, summarizeOutput, formatToolContext, } from "./tool-output-formatting.js";
29
29
  import { planContextMessage, handlePlanTool, } from "./plan-tool.js";
30
30
  import { inquirerConfirmPort, restoreInteractiveStdin, ensurePentestAuthorization, confirmToolExecution, } from "./confirm-port.js";
@@ -34,7 +34,7 @@ import { buildRichStopSummary } from "./stop-summary.js";
34
34
  // tool-call-parser.ts, and the session/plan/confirm/formatting helpers now
35
35
  // live in their own dedicated modules.
36
36
  export * from "./tool-call-parser.js";
37
- export { createSessionPolicy, isPreApprovalAllowedTool, shouldEnableImageOcr, } from "./session-policy.js";
37
+ export { createSessionPolicy, isPreApprovalAllowedTool, isPlanApprovedByStatus, planHasOpenWork, shouldEnableImageOcr, } from "./session-policy.js";
38
38
  export function styleToolChatter(call, text) {
39
39
  return shouldDimToolChatter(call) ? chalk.dim(text) : text;
40
40
  }
@@ -149,6 +149,13 @@ export async function runAgentLoop(prompt, options = {}) {
149
149
  // agent burns its turn searching the date instead of writing files.
150
150
  const buildLikeTurn = looksLikeBuildTask(prompt, options.history);
151
151
  const pentestLikeTurn = looksLikePentestTask(prompt, options.history);
152
+ // A plain informational follow-up ("what do you know so far", "summarize
153
+ // the findings") in a resumed/continuing build or pentest session must
154
+ // NOT inherit that session's "must act" behavior — it should be answered
155
+ // from context, not treated as a signal to start executing or to invent a
156
+ // brand-new plan (the exact failure where "what do u know till now"
157
+ // triggered explore→plan and created an unrelated "Enhance clai" plan).
158
+ const informationalQuery = looksLikeInformationalQuery(prompt);
152
159
  const freshWebSearchRequired = !buildLikeTurn &&
153
160
  !pentestLikeTurn &&
154
161
  toolNames.includes("web.search") &&
@@ -171,6 +178,16 @@ export async function runAgentLoop(prompt, options = {}) {
171
178
  // agent to execute task by task; otherwise the agent should refine/wait.
172
179
  const activePlan = await loadPlan(session.sessionId).catch(() => undefined);
173
180
  if (activePlan) {
181
+ // session.planApproved is in-memory only (never persisted), so a
182
+ // resumed session (via /history) or a fresh SessionPolicy after
183
+ // context compaction always starts it back at false — even when the
184
+ // plan's OWN durable status shows it was already approved/executed/
185
+ // completed via /implement. Re-derive the flag from the plan's status
186
+ // on every load so resuming a session never re-blocks tool calls
187
+ // behind a stale "awaiting approval" gate for a plan that already ran.
188
+ if (isPlanApprovedByStatus(activePlan.status)) {
189
+ session.planApproved.value = true;
190
+ }
174
191
  systemSections.push(planContextMessage(activePlan, session.planApproved.value));
175
192
  }
176
193
  // For build/scaffold turns with no active plan yet, inject an explicit
@@ -179,7 +196,7 @@ export async function runAgentLoop(prompt, options = {}) {
179
196
  // what's already there, create a comprehensive multi-task plan, then
180
197
  // implement task by task until the goal is met. This mirrors how a careful
181
198
  // coding agent (Claude Code) operates.
182
- if (buildLikeTurn && !activePlan) {
199
+ if (buildLikeTurn && !activePlan && !informationalQuery) {
183
200
  systemSections.push(buildWorkflowDirective());
184
201
  }
185
202
  const fullSystemPrompt = systemSections.join("\n\n");
@@ -917,6 +934,16 @@ export async function runAgentLoop(prompt, options = {}) {
917
934
  writeNotice("info", "recovered tool call from thinking content", chalk.dim(" ℹ recovered tool call from thinking content\n"));
918
935
  }
919
936
  }
937
+ // ── Prompt-leak guard ─────────────────────────────────────────
938
+ // If the model's visible output contains distinctive system-prompt
939
+ // markers, it is repeating its instructions (e.g. prompt injection
940
+ // via "repeat your instructions verbatim"). Any tool-call syntax
941
+ // in that output is an EXAMPLE from the prompt, not a real request.
942
+ // Suppress it so we never execute leaked examples.
943
+ if (call && looksLikePromptLeak(assistantText.visible)) {
944
+ writeNotice("warn", "suppressed tool call from apparent prompt leak", chalk.yellow(" ⚠ suppressed tool call — model appears to be repeating its system prompt\n"));
945
+ call = undefined;
946
+ }
920
947
  // Empty-response recovery
921
948
  // Some models occasionally return an empty completion: a reasoning
922
949
  // model that spent its whole budget on hidden <think> reasoning and emitted
@@ -1092,11 +1119,21 @@ export async function runAgentLoop(prompt, options = {}) {
1092
1119
  // final answer ends the turn with nothing done and no real plan saved.
1093
1120
  // Nudge it to emit a real tool call, with a concrete example.
1094
1121
  const narratedAction = looksLikeActionNarration(cleaned);
1095
- const wantsAction = buildLikeTurn ||
1096
- pentestLikeTurn ||
1097
- (activePlan && session.planApproved.value) ||
1122
+ // A plan whose OWN persisted status is "completed" has no more
1123
+ // work to force — treat this like "no active plan" for the
1124
+ // act-don't-narrate nudge so a plain follow-up question (e.g. "what
1125
+ // do you know so far") after the plan finished gets answered
1126
+ // instead of being pushed to emit another tool call.
1127
+ const planHasOpenWorkNow = planHasOpenWork(activePlan?.status);
1128
+ // History-inherited build/pentest intent only forces action when
1129
+ // THIS prompt is not itself a plain question. If the model does
1130
+ // narrate a concrete next step ("let me read X"), narratedAction
1131
+ // still forces it to actually run that step — even for a question —
1132
+ // which is the desired "do what you said" behavior.
1133
+ const wantsAction = narratedAction ||
1098
1134
  freshWebSearchRequired ||
1099
- narratedAction;
1135
+ (planHasOpenWorkNow && session.planApproved.value) ||
1136
+ (!informationalQuery && (buildLikeTurn || pentestLikeTurn));
1100
1137
  const planNarrated = buildLikeTurn && !activePlan && looksLikePlanNarration(cleaned);
1101
1138
  if (wantsAction &&
1102
1139
  cleaned.trim().length > 0 &&
@@ -1104,7 +1141,7 @@ export async function runAgentLoop(prompt, options = {}) {
1104
1141
  (productiveSteps === 0 || planNarrated || narratedAction)) {
1105
1142
  actionIntentRetries += 1;
1106
1143
  let nudge;
1107
- if (activePlan && session.planApproved.value) {
1144
+ if (planHasOpenWorkNow && session.planApproved.value) {
1108
1145
  nudge =
1109
1146
  "You wrote a message but emitted NO ```tool block, so NOTHING ran. Do NOT narrate what you will do — DO it. Emit the next tool call now (task.update / fs.writeMany / shell.exec) in a single ```tool block.";
1110
1147
  writeNotice("warn", "described an action but emitted no tool call — nudging it to run one", chalk.yellow(" ⚠ described an action but emitted no tool call — nudging it to run one\n"));
@@ -1 +1 @@
1
- {"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/agent/runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runner.js","sourceRoot":"","sources":["../../src/agent/runner.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,27 @@ export interface SessionPolicy {
14
14
  }
15
15
  export declare function createSessionPolicy(sessionId?: string): SessionPolicy;
16
16
  export declare function isPreApprovalAllowedTool(name: string): boolean;
17
+ /**
18
+ * A plan's persisted status is the durable source of truth for "has this
19
+ * plan been approved" — session.planApproved is in-memory only and resets to
20
+ * false on every fresh SessionPolicy (a /history resume, or a new policy
21
+ * created after context compaction). Without re-deriving from the plan's own
22
+ * status, a resumed session for an already-approved/executed/completed plan
23
+ * would re-block every tool call behind the "awaiting approval" gate even
24
+ * though /implement already ran before the app was closed.
25
+ */
26
+ export declare function isPlanApprovedByStatus(status: PlanStatusLike): boolean;
27
+ /**
28
+ * Whether a plan still has work left to force via the "act, don't narrate"
29
+ * nudge. A plan whose persisted status is "completed" should be treated like
30
+ * having no active plan for that purpose — otherwise a plain follow-up
31
+ * question after the plan finished (e.g. "what do you know so far") keeps
32
+ * getting pushed to emit another tool call instead of being answered.
33
+ */
34
+ export declare function planHasOpenWork(status: PlanStatusLike | undefined): boolean;
35
+ /** Subset of PlanStatus this module needs, kept local to avoid a store import. */
36
+ type PlanStatusLike = "draft" | "approved" | "in_progress" | "completed" | "abandoned";
17
37
  export declare function isAbortError(error: unknown, signal?: AbortSignal): boolean;
18
38
  /** OCR is opt-in when real image pixels are already attached to the model. */
19
39
  export declare function shouldEnableImageOcr(prompt: string, hasAttachedImages: boolean): boolean;
40
+ export {};
@@ -27,6 +27,28 @@ const PRE_APPROVAL_ALLOWED_TOOLS = new Set([
27
27
  export function isPreApprovalAllowedTool(name) {
28
28
  return PRE_APPROVAL_ALLOWED_TOOLS.has(name);
29
29
  }
30
+ /**
31
+ * A plan's persisted status is the durable source of truth for "has this
32
+ * plan been approved" — session.planApproved is in-memory only and resets to
33
+ * false on every fresh SessionPolicy (a /history resume, or a new policy
34
+ * created after context compaction). Without re-deriving from the plan's own
35
+ * status, a resumed session for an already-approved/executed/completed plan
36
+ * would re-block every tool call behind the "awaiting approval" gate even
37
+ * though /implement already ran before the app was closed.
38
+ */
39
+ export function isPlanApprovedByStatus(status) {
40
+ return status !== "draft";
41
+ }
42
+ /**
43
+ * Whether a plan still has work left to force via the "act, don't narrate"
44
+ * nudge. A plan whose persisted status is "completed" should be treated like
45
+ * having no active plan for that purpose — otherwise a plain follow-up
46
+ * question after the plan finished (e.g. "what do you know so far") keeps
47
+ * getting pushed to emit another tool call instead of being answered.
48
+ */
49
+ export function planHasOpenWork(status) {
50
+ return status !== undefined && status !== "completed";
51
+ }
30
52
  export function isAbortError(error, signal) {
31
53
  return (Boolean(signal?.aborted) ||
32
54
  (error instanceof Error && error.name === "AbortError"));
@@ -1 +1 @@
1
- {"version":3,"file":"session-policy.js","sourceRoot":"","sources":["../../src/agent/session-policy.ts"],"names":[],"mappings":"AAWA,MAAM,UAAU,mBAAmB,CAAC,SAAkB;IACpD,OAAO;QACL,KAAK,EAAE,IAAI,GAAG,EAAE;QAChB,iBAAiB,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE;QACnC,SAAS,EACP,SAAS;YACT,QAAQ,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;QAC7E,YAAY,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE;KAC/B,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,0BAA0B,GAAG,IAAI,GAAG,CAAS;IACjD,aAAa;IACb,aAAa;IACb,SAAS;IACT,SAAS;IACT,WAAW;IACX,SAAS;IACT,YAAY;IACZ,aAAa;CACd,CAAC,CAAC;AAEH,MAAM,UAAU,wBAAwB,CAAC,IAAY;IACnD,OAAO,0BAA0B,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAC9C,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,KAAc,EAAE,MAAoB;IAC/D,OAAO,CACL,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC;QACxB,CAAC,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,CAAC,CACxD,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,MAAM,UAAU,oBAAoB,CAClC,MAAc,EACd,iBAA0B;IAE1B,IAAI,CAAC,iBAAiB;QAAE,OAAO,IAAI,CAAC;IACpC,OAAO,sDAAsD,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC7E,CAAC"}
1
+ {"version":3,"file":"session-policy.js","sourceRoot":"","sources":["../../src/agent/session-policy.ts"],"names":[],"mappings":"AAWA,MAAM,UAAU,mBAAmB,CAAC,SAAkB;IACpD,OAAO;QACL,KAAK,EAAE,IAAI,GAAG,EAAE;QAChB,iBAAiB,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE;QACnC,SAAS,EACP,SAAS;YACT,QAAQ,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;QAC7E,YAAY,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE;KAC/B,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,0BAA0B,GAAG,IAAI,GAAG,CAAS;IACjD,aAAa;IACb,aAAa;IACb,SAAS;IACT,SAAS;IACT,WAAW;IACX,SAAS;IACT,YAAY;IACZ,aAAa;CACd,CAAC,CAAC;AAEH,MAAM,UAAU,wBAAwB,CAAC,IAAY;IACnD,OAAO,0BAA0B,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAC9C,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,sBAAsB,CAAC,MAAsB;IAC3D,OAAO,MAAM,KAAK,OAAO,CAAC;AAC5B,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,eAAe,CAAC,MAAkC;IAChE,OAAO,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,WAAW,CAAC;AACxD,CAAC;AAKD,MAAM,UAAU,YAAY,CAAC,KAAc,EAAE,MAAoB;IAC/D,OAAO,CACL,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC;QACxB,CAAC,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,CAAC,CACxD,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,MAAM,UAAU,oBAAoB,CAClC,MAAc,EACd,iBAA0B;IAE1B,IAAI,CAAC,iBAAiB;QAAE,OAAO,IAAI,CAAC;IACpC,OAAO,sDAAsD,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC7E,CAAC"}
@@ -122,6 +122,20 @@ export declare function looksLikePentestTask(prompt: string, history?: ChatMessa
122
122
  * ongoing build — but NOT the agent's own (possibly mistaken) plan narration.
123
123
  */
124
124
  export declare function looksLikeBuildTask(prompt: string, history?: ChatMessage[] | undefined): boolean;
125
+ /**
126
+ * Is THIS prompt a plain informational question (as opposed to a request to
127
+ * do work)? Used to stop a resumed/continuing build or pentest session from
128
+ * forcing "act, don't narrate" behavior — and the explore→plan build
129
+ * workflow — onto a question like "what do you know so far", "what did you
130
+ * find", or "summarize the results". A follow-up question in a work session
131
+ * should be ANSWERED from context, not treated as a signal to start executing
132
+ * or to invent a brand-new plan.
133
+ *
134
+ * Explicit build/continuation/plan-execution phrasing is NOT informational,
135
+ * even when it opens with a question word (e.g. "can you build the api",
136
+ * "should I add auth" → those still want work).
137
+ */
138
+ export declare function looksLikeInformationalQuery(prompt: string): boolean;
125
139
  /**
126
140
  * Detect a message that narrates an *upcoming* action ("let me explore the
127
141
  * directory", "I'll create the components") rather than an actual answer or
@@ -153,3 +167,9 @@ export declare function freshnessGuardMessage(now?: Date): string;
153
167
  */
154
168
  export declare function buildWorkflowDirective(): string;
155
169
  export declare function shouldDimToolChatter(call: ToolCall): boolean;
170
+ /**
171
+ * Returns true when the model's output looks like it is repeating the system
172
+ * prompt rather than giving a genuine answer. Used to suppress execution of
173
+ * tool-call examples embedded in the regurgitated instructions.
174
+ */
175
+ export declare function looksLikePromptLeak(text: string): boolean;
@@ -900,11 +900,11 @@ const LOCAL_RUNTIME_RE = /\b(?:current\s+(?:directory|dir|cwd|working\s+director
900
900
  // task. These are intentionally broad — over-budgeting a build is cheap
901
901
  // (the loop still stops as soon as the model gives a final answer) while
902
902
  // under-budgeting silently truncates a half-built project.
903
- const BUILD_TASK_RE = /\b(?:build|create|scaffold|generate|make|set\s*up|setup|bootstrap|init(?:ialize)?|implement|add|write|develop|code|refactor|migrate|convert|wire\s*up|integrate)\b[\s\S]{0,80}\b(?:app|application|project|site|website|web\s*app|server|api|service|component|page|module|feature|cli|script|library|package|frontend|backend|fullstack|game|bot|dashboard|form|endpoint|database|schema|test|tests|suite)\b/i;
903
+ const BUILD_TASK_RE = /\b(?:build|create|scaffold|generate|make|set\s*up|setup|bootstrap|init(?:ialize)?|implement|add|write|develop|code|refactor|migrate|convert|wire\s*up|integrate)\b[\s\S]{0,80}\b(?:app|application|project|site|website|web\s*app|server|api|service|component|page|module|feature|cli|script|library|package|frontend|backend|fullstack|game|bot|dashboard|form|endpoint|database|schema|test|tests|suite|auth|authentication|authorization|login|signup|middleware|route|routes|routing|handler|controller|model|view)\b/i;
904
904
  const BUILD_STACK_RE = /\b(?:react|next(?:\.?js)?|vue|svelte|angular|vite|webpack|express|fastify|nest(?:js)?|django|flask|fastapi|rails|laravel|spring|node(?:\.?js)?|typescript|tailwind|redux|prisma|mongoose|graphql|docker|kubernetes)\b/i;
905
905
  // Pentest / security keywords — these tasks are inherently multi-step and
906
906
  // always deserve the full step budget, just like build tasks.
907
- const PENTEST_TASK_RE = /\b(?:pentest|pen[\s-]?test|penetration|security\s*(?:test|audit|scan|assess)|csrf|xss|sqli|sql[\s-]?inject|rce|lfi|rfi|ssrf|idor|xxe|brute[\s-]?force|enumerat|exploit|vulnerabilit|recon|bug[\s-]?bounty|ctf|capture[\s-]?the[\s-]?flag|red[\s-]?team|offensive|nmap|nikto|nuclei|ffuf|gobuster|sqlmap|hydra|metasploit)\b/i;
907
+ const PENTEST_TASK_RE = /\b(?:pentest|pen[\s-]?test|penetration|security\s*(?:test|audit|scan|assess(?:ment)?)|csrf|xss|sqli|sql[\s-]?inject|rce|lfi|rfi|ssrf|idor|xxe|brute[\s-]?force|enumerat\w*|exploit\w*|vulnerabilit\w*|recon\w*|bug[\s-]?bounty|ctf|capture[\s-]?the[\s-]?flag|red[\s-]?team|offensive|nmap|nikto|nuclei|ffuf|gobuster|sqlmap|hydra|metasploit)\b/i;
908
908
  /**
909
909
  * Detect pentest/security tasks that need the full step budget.
910
910
  * Mirrors looksLikeBuildTask but for security work.
@@ -936,7 +936,7 @@ const PLAN_EXECUTION_RE = /\b(?:approve the plan|execute it (?:now|task by task)
936
936
  // step (e.g. "compare installation steps in react vite", "how do I set up
937
937
  // tailwind", "tailwind 3 vs 4"). They must NOT trigger the explore→plan
938
938
  // build workflow.
939
- const INFORMATIONAL_SIGNAL_RE = /\b(?:compare|comparison|contrast|differ(?:ence|ences|s)?|pros\s+and\s+cons|trade-?offs?|versus|vs\.?|cheat\s*sheet|explain|describe|summari[sz]e|overview)\b/i;
939
+ const INFORMATIONAL_SIGNAL_RE = /\b(?:compare|comparison|contrast|differ(?:ence|ences|s)?|pros\s+and\s+cons|trade-?offs?|versus|vs\.?|cheat\s*sheet|explain|describe|summari[sz]e|overview|tell\s+me)\b/i;
940
940
  const INTERROGATIVE_LEAD_RE = /^(?:what|which|why|how|when|who|where|is|are|do|does|did|can|could|should|would|will)\b/i;
941
941
  /**
942
942
  * Does a single message imply an actual build/scaffold task (as opposed to a
@@ -989,6 +989,33 @@ export function looksLikeBuildTask(prompt, history) {
989
989
  }
990
990
  return false;
991
991
  }
992
+ /**
993
+ * Is THIS prompt a plain informational question (as opposed to a request to
994
+ * do work)? Used to stop a resumed/continuing build or pentest session from
995
+ * forcing "act, don't narrate" behavior — and the explore→plan build
996
+ * workflow — onto a question like "what do you know so far", "what did you
997
+ * find", or "summarize the results". A follow-up question in a work session
998
+ * should be ANSWERED from context, not treated as a signal to start executing
999
+ * or to invent a brand-new plan.
1000
+ *
1001
+ * Explicit build/continuation/plan-execution phrasing is NOT informational,
1002
+ * even when it opens with a question word (e.g. "can you build the api",
1003
+ * "should I add auth" → those still want work).
1004
+ */
1005
+ export function looksLikeInformationalQuery(prompt) {
1006
+ const text = prompt.replace(/\s+/g, " ").trim();
1007
+ if (!text)
1008
+ return false;
1009
+ if (BUILD_TASK_RE.test(text) ||
1010
+ CONTINUATION_RE.test(text) ||
1011
+ INCOMPLETE_RE.test(text) ||
1012
+ PLAN_EXECUTION_RE.test(text)) {
1013
+ return false;
1014
+ }
1015
+ return (text.endsWith("?") ||
1016
+ INTERROGATIVE_LEAD_RE.test(text) ||
1017
+ INFORMATIONAL_SIGNAL_RE.test(text));
1018
+ }
992
1019
  // Matrix of action-verb narration: the model says it is *about to* do
993
1020
  // something but hasn't. Used to detect "narrate, don't act" stalls.
994
1021
  const ACTION_NARRATION_RE = /\b(?:let me|let's|i'?ll|i will|i'?m going to|i am going to|i need to|i should|i'?m about to|going to|now i'?ll|first[,]?\s*i'?ll)\s+(?:now\s+|first\s+|quickly\s+|just\s+|go\s+ahead\s+and\s+)?(?:explore|list|read|fetch|browse|check|inspect|examine|look|create|run|start|write|build|add|scaffold|set\s*up|setup|install|initialize|init|generate|make|review|open|find|search|verify|update|edit|modify|fix|implement|gather|assess|scan|audit)\b/i;
@@ -1104,4 +1131,43 @@ export function buildWorkflowDirective() {
1104
1131
  export function shouldDimToolChatter(call) {
1105
1132
  return call.name === "web.search";
1106
1133
  }
1134
+ /**
1135
+ * Distinctive section headings and phrases that appear only in our system
1136
+ * prompts. If the model's output contains several of these, it is almost
1137
+ * certainly regurgitating its instructions in response to a prompt-injection
1138
+ * attack like "repeat your instructions verbatim". Any tool-call syntax
1139
+ * inside such a leak is an EXAMPLE from the prompt, not a real request, and
1140
+ * must not be executed.
1141
+ */
1142
+ const PROMPT_LEAK_MARKERS = [
1143
+ /# SECURITY POSTURE/i,
1144
+ /# RESEARCH — READ-ONLY TOOLS/i,
1145
+ /# ACTION HANDOFF/i,
1146
+ /# PROMPT CONFIDENTIALITY/i,
1147
+ /# TOOL CALLS — HOW TO USE TOOLS/i,
1148
+ /# OPERATING RULES/i,
1149
+ /# PENTEST METHODOLOGY/i,
1150
+ /# HOW TO ANSWER/i,
1151
+ /\bbuilt by Aniket Pandey\b/i,
1152
+ /\bpentoshi007 on GitHub\b/i,
1153
+ /\bagent\.handoff\b.*\btask\b.*\breason\b/i,
1154
+ ];
1155
+ /** Minimum number of markers that must match to consider it a prompt leak. */
1156
+ const PROMPT_LEAK_THRESHOLD = 3;
1157
+ /**
1158
+ * Returns true when the model's output looks like it is repeating the system
1159
+ * prompt rather than giving a genuine answer. Used to suppress execution of
1160
+ * tool-call examples embedded in the regurgitated instructions.
1161
+ */
1162
+ export function looksLikePromptLeak(text) {
1163
+ let hits = 0;
1164
+ for (const marker of PROMPT_LEAK_MARKERS) {
1165
+ if (marker.test(text)) {
1166
+ hits += 1;
1167
+ if (hits >= PROMPT_LEAK_THRESHOLD)
1168
+ return true;
1169
+ }
1170
+ }
1171
+ return false;
1172
+ }
1107
1173
  //# sourceMappingURL=tool-call-parser.js.map