@pentoshi/clai 3.8.19 → 3.8.20

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 (59) hide show
  1. package/dist/agent/compaction-summary.d.ts +1 -1
  2. package/dist/agent/compaction-summary.js +3 -2
  3. package/dist/agent/compaction-summary.js.map +1 -1
  4. package/dist/agent/context-manager.d.ts +29 -2
  5. package/dist/agent/context-manager.js +125 -17
  6. package/dist/agent/context-manager.js.map +1 -1
  7. package/dist/agent/continue-orient.d.ts +39 -0
  8. package/dist/agent/continue-orient.js +152 -0
  9. package/dist/agent/continue-orient.js.map +1 -0
  10. package/dist/agent/runner.js +46 -6
  11. package/dist/agent/runner.js.map +1 -1
  12. package/dist/agent/session-state.d.ts +2 -0
  13. package/dist/agent/session-state.js +9 -3
  14. package/dist/agent/session-state.js.map +1 -1
  15. package/dist/agent/stop-summary.d.ts +2 -2
  16. package/dist/agent/stop-summary.js +23 -4
  17. package/dist/agent/stop-summary.js.map +1 -1
  18. package/dist/agent/tool-output-formatting.js +8 -4
  19. package/dist/agent/tool-output-formatting.js.map +1 -1
  20. package/dist/app/controllers/session-compact-helper.d.ts +2 -0
  21. package/dist/app/controllers/session-compact-helper.js +14 -5
  22. package/dist/app/controllers/session-compact-helper.js.map +1 -1
  23. package/dist/app/controllers/session-controller.js +6 -1
  24. package/dist/app/controllers/session-controller.js.map +1 -1
  25. package/dist/llm/http.js +22 -12
  26. package/dist/llm/http.js.map +1 -1
  27. package/dist/prompts/embedded.js +1 -1
  28. package/dist/prompts/embedded.js.map +1 -1
  29. package/dist/prompts/system.agent.md +3 -2
  30. package/dist/tools/definitions.js +9 -2
  31. package/dist/tools/definitions.js.map +1 -1
  32. package/dist/tools/http.d.ts +2 -0
  33. package/dist/tools/http.js +208 -57
  34. package/dist/tools/http.js.map +1 -1
  35. package/dist/tools/registry.js +1 -0
  36. package/dist/tools/registry.js.map +1 -1
  37. package/dist/tui-v2/app/App.js +39 -1
  38. package/dist/tui-v2/app/App.js.map +1 -1
  39. package/dist/tui-v2/app/commands/picker-commands.js +7 -7
  40. package/dist/tui-v2/app/commands/picker-commands.js.map +1 -1
  41. package/dist/tui-v2/bootstrap/start-tui-v2.js +10 -4
  42. package/dist/tui-v2/bootstrap/start-tui-v2.js.map +1 -1
  43. package/dist/tui-v2/components/modal/secret-modal.d.ts +3 -1
  44. package/dist/tui-v2/components/modal/secret-modal.js +110 -18
  45. package/dist/tui-v2/components/modal/secret-modal.js.map +1 -1
  46. package/dist/tui-v2/components/toast/toast-anim.d.ts +5 -4
  47. package/dist/tui-v2/components/toast/toast-anim.js +10 -7
  48. package/dist/tui-v2/components/toast/toast-anim.js.map +1 -1
  49. package/dist/tui-v2/components/toast/toast-host.d.ts +9 -3
  50. package/dist/tui-v2/components/toast/toast-host.js +124 -26
  51. package/dist/tui-v2/components/toast/toast-host.js.map +1 -1
  52. package/dist/tui-v2/controllers/overlay-controller.d.ts +6 -0
  53. package/dist/tui-v2/controllers/overlay-controller.js +25 -0
  54. package/dist/tui-v2/controllers/overlay-controller.js.map +1 -1
  55. package/dist/tui-v2/state/transcript-reducer.js +70 -30
  56. package/dist/tui-v2/state/transcript-reducer.js.map +1 -1
  57. package/dist/version.generated.d.ts +2 -2
  58. package/dist/version.generated.js +2 -2
  59. package/package.json +1 -1
@@ -2,8 +2,14 @@ import net from "node:net";
2
2
  import { lookup } from "node:dns/promises";
3
3
  import { isBlockedAddress } from "./web/ssrf-guard.js";
4
4
  import { toReadableText } from "./web/readable.js";
5
- const DEFAULT_MAX_BYTES = 256 * 1024;
6
- const DEFAULT_RETRIES = 2;
5
+ /** Capture budget for body bytes (artifact + evidence build). Model context is capped later. */
6
+ const DEFAULT_MAX_BYTES = 128 * 1024;
7
+ /**
8
+ * Default retries for remote evidence: 0 so intentional 5xx/probe responses are
9
+ * not silently rewritten. Callers may pass retries; owned loopback still soft-
10
+ * retries connection refused.
11
+ */
12
+ const DEFAULT_RETRIES = 0;
7
13
  const RETRY_STATUSES = new Set([408, 425, 429, 500, 502, 503, 504]);
8
14
  const ALLOWED_METHODS = new Set([
9
15
  "GET",
@@ -14,6 +20,11 @@ const ALLOWED_METHODS = new Set([
14
20
  "DELETE",
15
21
  "OPTIONS",
16
22
  ]);
23
+ /** Browser-like default UA — less fingerprint noise than clai-http-fetch/*. */
24
+ const DEFAULT_USER_AGENT = "Mozilla/5.0 (compatible; clai/1.0; +https://github.com/pentoshi007/clai) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36";
25
+ const DEFAULT_TIMEOUT_MS = 15_000;
26
+ const MIN_TIMEOUT_MS = 3_000;
27
+ const MAX_TIMEOUT_MS = 60_000;
17
28
  /**
18
29
  * Block (or require explicit ownership confirmation for) requests that
19
30
  * target loopback, private, link-local, or cloud-metadata addresses.
@@ -125,6 +136,11 @@ function isConnectionRefusedError(error) {
125
136
  /\bother side closed\b/i.test(msg) ||
126
137
  /\bsocket hang up\b/i.test(msg));
127
138
  }
139
+ function clampTimeoutMs(value) {
140
+ if (value === undefined || !Number.isFinite(value))
141
+ return DEFAULT_TIMEOUT_MS;
142
+ return Math.max(MIN_TIMEOUT_MS, Math.min(MAX_TIMEOUT_MS, Math.floor(value)));
143
+ }
128
144
  export async function httpFetch(url, options = {}) {
129
145
  let target;
130
146
  try {
@@ -177,7 +193,7 @@ export async function httpFetch(url, options = {}) {
177
193
  return { ok: false, output: initialDenial, exitCode: 1 };
178
194
  const headers = new Headers(options.headers);
179
195
  if (!headers.has("user-agent")) {
180
- headers.set("user-agent", "clai-http-fetch/1.1");
196
+ headers.set("user-agent", DEFAULT_USER_AGENT);
181
197
  }
182
198
  if (!headers.has("accept")) {
183
199
  headers.set("accept", "text/html,application/xhtml+xml,application/xml;q=0.9,text/plain;q=0.8,*/*;q=0.5");
@@ -201,24 +217,26 @@ export async function httpFetch(url, options = {}) {
201
217
  let attempts = 0;
202
218
  let lastNetworkError;
203
219
  let usedUrl = url;
204
- // Extra retries for local probes (server often not ready on first tick).
205
- const baseRetries = method === "GET" || method === "HEAD"
220
+ let redirectHops = [];
221
+ const timeoutMs = clampTimeoutMs(options.timeoutMs);
222
+ // Status retries only when caller opts in (default 0). Loopback keeps soft
223
+ // connection-refused retries below regardless of status-retry budget.
224
+ const statusRetryLimit = method === "GET" || method === "HEAD"
206
225
  ? clampRetries(options.retries ?? DEFAULT_RETRIES)
207
226
  : 0;
208
- const retryLimit = ownedLoopback
209
- ? Math.max(baseRetries, 4)
210
- : baseRetries;
227
+ const connRetryLimit = ownedLoopback
228
+ ? Math.max(statusRetryLimit, 4)
229
+ : statusRetryLimit;
211
230
  try {
212
231
  candidateLoop: for (let ci = 0; ci < urlCandidates.length; ci += 1) {
213
232
  const candidateUrl = urlCandidates[ci];
214
233
  usedUrl = candidateUrl;
215
- // Fresh attempt counter per candidate, but keep total for the message.
216
234
  let localAttempts = 0;
217
235
  for (;;) {
218
236
  attempts += 1;
219
237
  localAttempts += 1;
220
238
  const controller = new AbortController();
221
- const timer = setTimeout(() => controller.abort(), 15000);
239
+ const timer = setTimeout(() => controller.abort(), timeoutMs);
222
240
  const onParentAbort = () => controller.abort();
223
241
  if (options.signal) {
224
242
  if (options.signal.aborted) {
@@ -229,6 +247,7 @@ export async function httpFetch(url, options = {}) {
229
247
  try {
230
248
  let requestUrl = candidateUrl;
231
249
  let redirects = 0;
250
+ redirectHops = [];
232
251
  for (;;) {
233
252
  response = await fetch(requestUrl, {
234
253
  ...init,
@@ -239,6 +258,15 @@ export async function httpFetch(url, options = {}) {
239
258
  break;
240
259
  if (redirects >= 10)
241
260
  throw new Error("Too many redirects (maximum 10)");
261
+ const setCookies = typeof response.headers.getSetCookie === "function"
262
+ ? response.headers.getSetCookie()
263
+ : multiHeader(response.headers, "set-cookie");
264
+ redirectHops.push({
265
+ status: response.status,
266
+ url: requestUrl,
267
+ location,
268
+ setCookies,
269
+ });
242
270
  const next = new URL(location, requestUrl);
243
271
  const denial = await authorizeDestination(next);
244
272
  if (denial)
@@ -247,13 +275,12 @@ export async function httpFetch(url, options = {}) {
247
275
  requestUrl = next.toString();
248
276
  redirects += 1;
249
277
  }
250
- if (localAttempts <= retryLimit &&
278
+ if (localAttempts <= statusRetryLimit &&
251
279
  RETRY_STATUSES.has(response.status)) {
252
280
  await drainResponse(response);
253
281
  await sleep(retryDelayMs(localAttempts));
254
282
  continue;
255
283
  }
256
- // Success for this candidate
257
284
  break candidateLoop;
258
285
  }
259
286
  catch (error) {
@@ -262,7 +289,7 @@ export async function httpFetch(url, options = {}) {
262
289
  error.name === "AbortError" &&
263
290
  !options.signal?.aborted;
264
291
  const errMsg = isTimeout
265
- ? "Request timed out after 15s"
292
+ ? `Request timed out after ${timeoutMs}ms`
266
293
  : error instanceof Error
267
294
  ? error.message
268
295
  : String(error);
@@ -271,17 +298,16 @@ export async function httpFetch(url, options = {}) {
271
298
  }
272
299
  // Connection refused on loopback → try next address or retry.
273
300
  if (ownedLoopback && isConnectionRefusedError(error)) {
274
- if (localAttempts <= retryLimit) {
301
+ if (localAttempts <= connRetryLimit) {
275
302
  await sleep(Math.min(400 * localAttempts, 1500));
276
303
  continue;
277
304
  }
278
- // Exhausted retries for this host — try next loopback candidate.
279
305
  if (ci + 1 < urlCandidates.length) {
280
306
  break; // next candidate
281
307
  }
282
308
  throw new Error(errMsg);
283
309
  }
284
- if (localAttempts > retryLimit) {
310
+ if (localAttempts > statusRetryLimit) {
285
311
  throw new Error(errMsg);
286
312
  }
287
313
  await sleep(retryDelayMs(localAttempts));
@@ -354,59 +380,29 @@ export async function httpFetch(url, options = {}) {
354
380
  }
355
381
  }
356
382
  else {
357
- // No streaming body (eg HEAD or empty 204). Fall through with empty text.
358
383
  collected = "";
359
384
  }
360
- const headerLines = [];
361
- response.headers.forEach((v, k) => headerLines.push(`${k}: ${v}`));
362
- const headerBlock = headerLines.length > 0 ? `Headers:\n${headerLines.join("\n")}\n\n` : "";
363
- const truncNote = truncated
364
- ? `\n... (truncated at ${limit.toLocaleString()} bytes)`
365
- : "";
366
385
  const contentType = response.headers.get("content-type") ?? "";
367
386
  const isBinary = isBinaryContentType(contentType) || isBinaryContent(collected);
368
- const displayBody = isBinary
369
- ? `[Binary content (${contentType || "unknown content type"}) - raw body suppressed]`
370
- : collected;
371
- const body = method === "HEAD" ? "" : displayBody;
372
- const readable = method !== "HEAD" && !isBinary && contentType.toLowerCase().includes("html")
373
- ? toReadableText(collected)
374
- : "";
375
387
  const finalUrl = response.url || usedUrl;
376
- const meta = {
388
+ const evidence = formatHttpEvidence({
389
+ method,
377
390
  requestedUrl: url,
391
+ usedUrl,
378
392
  finalUrl,
379
- probedUrl: usedUrl !== url ? usedUrl : undefined,
380
393
  status: response.status,
381
394
  statusText: response.statusText,
382
- ok: response.ok,
383
- method,
384
395
  attempts,
385
- retried: attempts > 1,
386
- headers: Object.fromEntries([...response.headers.entries()].sort(([a], [b]) => a.localeCompare(b))),
387
- contentType,
388
396
  bytesRead,
389
397
  truncated,
390
- truncatedAt: truncated ? limit : undefined,
391
- lastNetworkError: lastNetworkError instanceof Error
392
- ? lastNetworkError.message
393
- : lastNetworkError
394
- ? String(lastNetworkError)
395
- : undefined,
396
- };
397
- const evidence = [
398
- `${response.status} ${response.statusText} ${finalUrl}`,
399
- `attempts=${attempts} bytes=${bytesRead}${truncated ? ` truncated@${limit}` : ""}${usedUrl !== url ? ` via=${usedUrl}` : ""}`,
400
- "",
401
- "Metadata:",
402
- JSON.stringify(meta, null, 2),
403
- "",
404
- headerBlock.trimEnd(),
405
- readable ? `\nReadable content:\n${readable}\n` : "",
406
- method === "HEAD" ? "" : `Raw body:\n${body}${truncNote}`,
407
- ]
408
- .filter((part) => part !== "")
409
- .join("\n");
398
+ limit,
399
+ contentType,
400
+ headers: response.headers,
401
+ body: collected,
402
+ isBinary,
403
+ redirectHops,
404
+ lastNetworkError,
405
+ });
410
406
  return {
411
407
  ok: true,
412
408
  output: evidence,
@@ -414,6 +410,161 @@ export async function httpFetch(url, options = {}) {
414
410
  truncated,
415
411
  };
416
412
  }
413
+ function multiHeader(headers, name) {
414
+ const out = [];
415
+ headers.forEach((value, key) => {
416
+ if (key.toLowerCase() === name.toLowerCase())
417
+ out.push(value);
418
+ });
419
+ return out;
420
+ }
421
+ /** Headers always kept in evidence (security / fingerprint / cookies). */
422
+ const PRIORITY_HEADER_RE = /^(set-cookie|server|x-powered-by|x-aspnet|x-generator|x-frame-options|x-content-type-options|x-xss-protection|content-security-policy|content-type|location|www-authenticate|access-control-|strict-transport|referrer-policy|permissions-policy|cross-origin-|cache-control|via|cf-ray|x-request-id|x-amz-|x-served|link|allow|retry-after)$/i;
423
+ function formatHttpEvidence(input) {
424
+ const lines = [];
425
+ lines.push(`${input.status} ${input.statusText} ${input.method} ${input.finalUrl}`);
426
+ if (input.redirectHops.length > 0) {
427
+ const chain = [
428
+ ...input.redirectHops.map((h) => `${h.status} ${h.url} → ${h.location}`),
429
+ `${input.status} ${input.finalUrl}`,
430
+ ];
431
+ lines.push(`redirects: ${chain.join(" → ")}`);
432
+ for (const hop of input.redirectHops) {
433
+ if (hop.setCookies.length) {
434
+ lines.push(` hop ${hop.status} set-cookie: ${hop.setCookies.join("; ")}`);
435
+ }
436
+ }
437
+ }
438
+ const metaBits = [
439
+ `attempts=${input.attempts}`,
440
+ `bytes=${input.bytesRead}`,
441
+ ];
442
+ if (input.truncated)
443
+ metaBits.push(`truncated@${input.limit}`);
444
+ if (input.usedUrl !== input.requestedUrl)
445
+ metaBits.push(`via=${input.usedUrl}`);
446
+ if (input.requestedUrl !== input.finalUrl && input.redirectHops.length === 0) {
447
+ metaBits.push(`requested=${input.requestedUrl}`);
448
+ }
449
+ lines.push(metaBits.join(" "));
450
+ if (input.finalUrl.startsWith("https:")) {
451
+ lines.push("TLS: leaf cert not captured by http.fetch — use web.fetch with includeTls=true for fingerprint/SAN.");
452
+ }
453
+ // ALL response headers, always — cheap vs body and critical for pentest.
454
+ // Security/fingerprint headers first for scannability; remainder sorted after.
455
+ const allHeaders = [];
456
+ input.headers.forEach((v, k) => allHeaders.push([k, v]));
457
+ allHeaders.sort(([a], [b]) => a.localeCompare(b));
458
+ const priority = [];
459
+ const rest = [];
460
+ for (const [k, v] of allHeaders) {
461
+ const line = `${k}: ${v}`;
462
+ if (PRIORITY_HEADER_RE.test(k))
463
+ priority.push(line);
464
+ else
465
+ rest.push(line);
466
+ }
467
+ lines.push("");
468
+ lines.push("Headers:");
469
+ for (const line of priority)
470
+ lines.push(line);
471
+ for (const line of rest)
472
+ lines.push(line);
473
+ const tech = deriveTechHints(input.headers, input.body, input.contentType);
474
+ if (tech) {
475
+ lines.push("");
476
+ lines.push(`Tech hints: ${tech}`);
477
+ }
478
+ if (input.method !== "HEAD") {
479
+ lines.push("");
480
+ lines.push("Body:");
481
+ if (input.isBinary) {
482
+ lines.push(`[Binary content (${input.contentType || "unknown content type"}) — raw body suppressed]`);
483
+ }
484
+ else {
485
+ const ct = input.contentType.toLowerCase();
486
+ const isHtml = ct.includes("html");
487
+ const isJson = ct.includes("json") ||
488
+ ct.includes("javascript") ||
489
+ ct.includes("xml") ||
490
+ ct.startsWith("text/");
491
+ // Single representation: readable HTML OR raw text/json — never both.
492
+ let bodyText = isHtml
493
+ ? toReadableText(input.body) || input.body
494
+ : input.body;
495
+ // Error pages: keep status/headers rich, body shorter.
496
+ const isError = input.status >= 400;
497
+ const bodyCap = isError
498
+ ? 3_000
499
+ : isHtml
500
+ ? 6_000
501
+ : isJson
502
+ ? 12_000
503
+ : 8_000;
504
+ // Body is the only intentional truncate — status/headers/redirects stay full.
505
+ if (bodyText.length > bodyCap) {
506
+ bodyText =
507
+ bodyText.slice(0, bodyCap) +
508
+ `\n... (body truncated at ${bodyCap.toLocaleString()} chars — headers/status above are complete; re-fetch with higher maxBytes or page if you need more body)`;
509
+ }
510
+ if (input.truncated && !bodyText.includes("capture truncated")) {
511
+ bodyText += `\n... (wire capture stopped at ${input.limit.toLocaleString()} bytes — raise maxBytes for more body)`;
512
+ }
513
+ lines.push(bodyText || "(empty)");
514
+ }
515
+ }
516
+ if (input.lastNetworkError) {
517
+ const err = input.lastNetworkError instanceof Error
518
+ ? input.lastNetworkError.message
519
+ : String(input.lastNetworkError);
520
+ if (err) {
521
+ lines.push("");
522
+ lines.push(`note: earlier network error during retries: ${err}`);
523
+ }
524
+ }
525
+ return lines.join("\n");
526
+ }
527
+ /** Header-derived stack hints only — never invent products. */
528
+ function deriveTechHints(headers, body, contentType) {
529
+ const bits = [];
530
+ const server = headers.get("server");
531
+ if (server)
532
+ bits.push(`server=${server}`);
533
+ const powered = headers.get("x-powered-by");
534
+ if (powered)
535
+ bits.push(`x-powered-by=${powered}`);
536
+ const gen = headers.get("x-generator");
537
+ if (gen)
538
+ bits.push(`x-generator=${gen}`);
539
+ const cookies = typeof headers.getSetCookie === "function"
540
+ ? headers.getSetCookie()
541
+ : multiHeader(headers, "set-cookie");
542
+ if (cookies.length) {
543
+ const names = cookies
544
+ .map((c) => c.split("=")[0]?.trim())
545
+ .filter(Boolean)
546
+ .slice(0, 8);
547
+ if (names.length)
548
+ bits.push(`cookies=${names.join(",")}`);
549
+ }
550
+ if (contentType)
551
+ bits.push(`content-type=${contentType.split(";")[0]?.trim()}`);
552
+ // Light path markers from body (safe, non-invented).
553
+ const sample = body.slice(0, 8_000);
554
+ if (/\/_next\//i.test(sample) || /__NEXT_DATA__/i.test(sample)) {
555
+ bits.push("marker=next.js");
556
+ }
557
+ else if (/wp-content|wordpress/i.test(sample)) {
558
+ bits.push("marker=wordpress");
559
+ }
560
+ else if (/csrfmiddlewaretoken|django/i.test(sample)) {
561
+ bits.push("marker=django");
562
+ }
563
+ else if (/react/i.test(sample) && /data-reactroot|__REACT/i.test(sample)) {
564
+ bits.push("marker=react");
565
+ }
566
+ return bits.join("; ");
567
+ }
417
568
  function clampRetries(value) {
418
569
  if (!Number.isFinite(value))
419
570
  return DEFAULT_RETRIES;
@@ -1 +1 @@
1
- {"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/tools/http.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/tools/http.ts"],"names":[],"mappings":"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"}
@@ -354,6 +354,7 @@ export const toolRegistry = {
354
354
  maxBytes: optionalNumber(args, "maxBytes"),
355
355
  iOwnThis,
356
356
  retries: optionalNumber(args, "retries"),
357
+ timeoutMs: optionalNumber(args, "timeoutMs"),
357
358
  signal: options?.signal,
358
359
  // Never attach engagement hop checks for owned loopback — leftover
359
360
  // pentest scope must not fail local app verify.