@pentoshi/clai 4.11.16 → 4.11.18

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 (279) hide show
  1. package/README.md +31 -22
  2. package/dist/agent/compaction/summary-execution.d.ts +1 -0
  3. package/dist/agent/compaction/summary-execution.js +25 -16
  4. package/dist/agent/compaction/summary-execution.js.map +1 -1
  5. package/dist/agent/context/compact-with-summary.js +18 -0
  6. package/dist/agent/context/compact-with-summary.js.map +1 -1
  7. package/dist/agent/context/compaction-source-prefix.d.ts +8 -0
  8. package/dist/agent/context/compaction-source-prefix.js +26 -0
  9. package/dist/agent/context/compaction-source-prefix.js.map +1 -0
  10. package/dist/agent/plan-decision.js +5 -1
  11. package/dist/agent/plan-decision.js.map +1 -1
  12. package/dist/agent/runner.js +3 -0
  13. package/dist/agent/runner.js.map +1 -1
  14. package/dist/agent/subagents/manager.d.ts +5 -0
  15. package/dist/agent/subagents/manager.js +52 -5
  16. package/dist/agent/subagents/manager.js.map +1 -1
  17. package/dist/agent/subagents/model-chain.d.ts +31 -0
  18. package/dist/agent/subagents/model-chain.js +146 -0
  19. package/dist/agent/subagents/model-chain.js.map +1 -0
  20. package/dist/agent/subagents/read-only-tools.js +362 -54
  21. package/dist/agent/subagents/read-only-tools.js.map +1 -1
  22. package/dist/agent/subagents/tools.js +21 -1
  23. package/dist/agent/subagents/tools.js.map +1 -1
  24. package/dist/agent/subagents/types.d.ts +5 -0
  25. package/dist/agent/subagents/worker.js +106 -45
  26. package/dist/agent/subagents/worker.js.map +1 -1
  27. package/dist/agent/turn/compaction-summarizer.d.ts +1 -0
  28. package/dist/agent/turn/compaction-summarizer.js +2 -0
  29. package/dist/agent/turn/compaction-summarizer.js.map +1 -1
  30. package/dist/agent/turn/loop/run-rounds.js +2 -0
  31. package/dist/agent/turn/loop/run-rounds.js.map +1 -1
  32. package/dist/agent/turn/loop/stream-request.js +1 -0
  33. package/dist/agent/turn/loop/stream-request.js.map +1 -1
  34. package/dist/agent/turn/setup/compaction-services.d.ts +2 -1
  35. package/dist/agent/turn/setup/compaction-services.js +14 -0
  36. package/dist/agent/turn/setup/compaction-services.js.map +1 -1
  37. package/dist/agent/turn/setup/turn-budget.js +1 -9
  38. package/dist/agent/turn/setup/turn-budget.js.map +1 -1
  39. package/dist/agent/turn/subagent-inbox.d.ts +1 -0
  40. package/dist/agent/turn/subagent-inbox.js +12 -1
  41. package/dist/agent/turn/subagent-inbox.js.map +1 -1
  42. package/dist/app/commands/catalog.js +2 -1
  43. package/dist/app/commands/catalog.js.map +1 -1
  44. package/dist/app/controllers/session-compact-helper.d.ts +2 -0
  45. package/dist/app/controllers/session-compact-helper.js +7 -3
  46. package/dist/app/controllers/session-compact-helper.js.map +1 -1
  47. package/dist/app/controllers/session-context-usage.d.ts +2 -5
  48. package/dist/app/controllers/session-context-usage.js +28 -101
  49. package/dist/app/controllers/session-context-usage.js.map +1 -1
  50. package/dist/app/controllers/session-controller.d.ts +8 -1
  51. package/dist/app/controllers/session-controller.js +14 -11
  52. package/dist/app/controllers/session-controller.js.map +1 -1
  53. package/dist/app/controllers/session-subagents.d.ts +1 -0
  54. package/dist/app/controllers/session-subagents.js +7 -1
  55. package/dist/app/controllers/session-subagents.js.map +1 -1
  56. package/dist/classic/app/ClassicApp.js +4 -0
  57. package/dist/classic/app/ClassicApp.js.map +1 -1
  58. package/dist/classic/chrome/Chrome.d.ts +1 -1
  59. package/dist/classic/chrome/Chrome.js +1 -0
  60. package/dist/classic/chrome/Chrome.js.map +1 -1
  61. package/dist/classic/chrome/SubagentsStrip.d.ts +3 -0
  62. package/dist/classic/chrome/SubagentsStrip.js +9 -0
  63. package/dist/classic/chrome/SubagentsStrip.js.map +1 -0
  64. package/dist/classic/chrome/row-budget.d.ts +2 -0
  65. package/dist/classic/chrome/row-budget.js +4 -1
  66. package/dist/classic/chrome/row-budget.js.map +1 -1
  67. package/dist/classic/chrome/subagents-row.d.ts +9 -0
  68. package/dist/classic/chrome/subagents-row.js +13 -0
  69. package/dist/classic/chrome/subagents-row.js.map +1 -0
  70. package/dist/classic/panels/keys-panel.d.ts +2 -2
  71. package/dist/classic/panels/keys-panel.js +24 -8
  72. package/dist/classic/panels/keys-panel.js.map +1 -1
  73. package/dist/classic/panels/pager-panel.d.ts +2 -2
  74. package/dist/classic/panels/pager-panel.js +7 -6
  75. package/dist/classic/panels/pager-panel.js.map +1 -1
  76. package/dist/classic/panels/panel-host.js +7 -2
  77. package/dist/classic/panels/panel-host.js.map +1 -1
  78. package/dist/commands/providers.js +8 -0
  79. package/dist/commands/providers.js.map +1 -1
  80. package/dist/llm/anthropic.js +29 -1
  81. package/dist/llm/anthropic.js.map +1 -1
  82. package/dist/llm/bynara.js +9 -20
  83. package/dist/llm/bynara.js.map +1 -1
  84. package/dist/llm/capabilities.d.ts +6 -1
  85. package/dist/llm/capabilities.js +130 -6
  86. package/dist/llm/capabilities.js.map +1 -1
  87. package/dist/llm/capability/state.d.ts +1 -1
  88. package/dist/llm/capability/state.js +16 -2
  89. package/dist/llm/capability/state.js.map +1 -1
  90. package/dist/llm/capability/tool-dialect.js +4 -0
  91. package/dist/llm/capability/tool-dialect.js.map +1 -1
  92. package/dist/llm/capability/vision-patterns.d.ts +1 -0
  93. package/dist/llm/capability/vision-patterns.js +31 -1
  94. package/dist/llm/capability/vision-patterns.js.map +1 -1
  95. package/dist/llm/capability/vision-registry.js +8 -2
  96. package/dist/llm/capability/vision-registry.js.map +1 -1
  97. package/dist/llm/context-windows.js +1 -0
  98. package/dist/llm/context-windows.js.map +1 -1
  99. package/dist/llm/deepseek.d.ts +2 -0
  100. package/dist/llm/deepseek.js +91 -0
  101. package/dist/llm/deepseek.js.map +1 -0
  102. package/dist/llm/glm.d.ts +2 -0
  103. package/dist/llm/glm.js +91 -0
  104. package/dist/llm/glm.js.map +1 -0
  105. package/dist/llm/kimi.d.ts +2 -0
  106. package/dist/llm/kimi.js +91 -0
  107. package/dist/llm/kimi.js.map +1 -0
  108. package/dist/llm/learned-capabilities.js +9 -3
  109. package/dist/llm/learned-capabilities.js.map +1 -1
  110. package/dist/llm/lowest-reasoning.js +20 -7
  111. package/dist/llm/lowest-reasoning.js.map +1 -1
  112. package/dist/llm/minimax.d.ts +2 -0
  113. package/dist/llm/minimax.js +91 -0
  114. package/dist/llm/minimax.js.map +1 -0
  115. package/dist/llm/modal.js +5 -0
  116. package/dist/llm/modal.js.map +1 -1
  117. package/dist/llm/model-layers/model-rules.js +24 -0
  118. package/dist/llm/model-layers/model-rules.js.map +1 -1
  119. package/dist/llm/ollama.js +26 -1
  120. package/dist/llm/ollama.js.map +1 -1
  121. package/dist/llm/provider-identity.js +25 -0
  122. package/dist/llm/provider-identity.js.map +1 -1
  123. package/dist/llm/provider-info-text.js +121 -3
  124. package/dist/llm/provider-info-text.js.map +1 -1
  125. package/dist/llm/provider-profile-layers.js +118 -0
  126. package/dist/llm/provider-profile-layers.js.map +1 -1
  127. package/dist/llm/provider.js +14 -2
  128. package/dist/llm/provider.js.map +1 -1
  129. package/dist/llm/reasoning-capability.js +4 -0
  130. package/dist/llm/reasoning-capability.js.map +1 -1
  131. package/dist/llm/reasoning-errors.js +1 -1
  132. package/dist/llm/reasoning-errors.js.map +1 -1
  133. package/dist/llm/request-purpose.d.ts +3 -0
  134. package/dist/llm/request-purpose.js +11 -0
  135. package/dist/llm/request-purpose.js.map +1 -0
  136. package/dist/llm/responses-config.d.ts +1 -0
  137. package/dist/llm/responses-config.js +6 -0
  138. package/dist/llm/responses-config.js.map +1 -1
  139. package/dist/llm/responses-http.d.ts +1 -1
  140. package/dist/llm/responses-http.js +2 -1
  141. package/dist/llm/responses-http.js.map +1 -1
  142. package/dist/llm/responses-stream.d.ts +2 -2
  143. package/dist/llm/responses-stream.js +3 -2
  144. package/dist/llm/responses-stream.js.map +1 -1
  145. package/dist/llm/routing/attempt-complete.js +15 -3
  146. package/dist/llm/routing/attempt-complete.js.map +1 -1
  147. package/dist/llm/routing/attempt-request.d.ts +11 -0
  148. package/dist/llm/routing/attempt-request.js +56 -5
  149. package/dist/llm/routing/attempt-request.js.map +1 -1
  150. package/dist/llm/routing/attempt-stream.js +15 -3
  151. package/dist/llm/routing/attempt-stream.js.map +1 -1
  152. package/dist/llm/routing/error-classification.d.ts +2 -0
  153. package/dist/llm/routing/error-classification.js +26 -6
  154. package/dist/llm/routing/error-classification.js.map +1 -1
  155. package/dist/llm/routing/key-rotation.js +26 -11
  156. package/dist/llm/routing/key-rotation.js.map +1 -1
  157. package/dist/llm/routing/provider-selection.js +12 -0
  158. package/dist/llm/routing/provider-selection.js.map +1 -1
  159. package/dist/llm/session-affinity.d.ts +1 -0
  160. package/dist/llm/session-affinity.js +4 -0
  161. package/dist/llm/session-affinity.js.map +1 -1
  162. package/dist/llm/session-route.d.ts +7 -0
  163. package/dist/llm/session-route.js +16 -0
  164. package/dist/llm/session-route.js.map +1 -0
  165. package/dist/llm/wire/capability-errors.js +4 -4
  166. package/dist/llm/wire/capability-errors.js.map +1 -1
  167. package/dist/llm/wire/chat-body.js +5 -4
  168. package/dist/llm/wire/chat-body.js.map +1 -1
  169. package/dist/llm/wire/effort-preflight.d.ts +15 -0
  170. package/dist/llm/wire/effort-preflight.js +141 -0
  171. package/dist/llm/wire/effort-preflight.js.map +1 -0
  172. package/dist/llm/wire/image-payloads.d.ts +2 -0
  173. package/dist/llm/wire/image-payloads.js +34 -0
  174. package/dist/llm/wire/image-payloads.js.map +1 -0
  175. package/dist/llm/wire/openai-complete.d.ts +4 -1
  176. package/dist/llm/wire/openai-complete.js +11 -3
  177. package/dist/llm/wire/openai-complete.js.map +1 -1
  178. package/dist/llm/wire/openai-stream.d.ts +5 -2
  179. package/dist/llm/wire/openai-stream.js +17 -8
  180. package/dist/llm/wire/openai-stream.js.map +1 -1
  181. package/dist/llm/wire/responses-first.d.ts +4 -1
  182. package/dist/llm/wire/responses-first.js +11 -7
  183. package/dist/llm/wire/responses-first.js.map +1 -1
  184. package/dist/llm/wire/responses-preflight.js +29 -12
  185. package/dist/llm/wire/responses-preflight.js.map +1 -1
  186. package/dist/prompts/embedded.js +1 -1
  187. package/dist/prompts/embedded.js.map +1 -1
  188. package/dist/prompts/index.js +42 -21
  189. package/dist/prompts/index.js.map +1 -1
  190. package/dist/prompts/system.agent.md +3 -3
  191. package/dist/store/config/endpoints.d.ts +11 -0
  192. package/dist/store/config/endpoints.js +19 -1
  193. package/dist/store/config/endpoints.js.map +1 -1
  194. package/dist/store/config/subagent-models.d.ts +7 -0
  195. package/dist/store/config/subagent-models.js +73 -0
  196. package/dist/store/config/subagent-models.js.map +1 -0
  197. package/dist/store/config.d.ts +4 -3
  198. package/dist/store/config.js +7 -2
  199. package/dist/store/config.js.map +1 -1
  200. package/dist/store/keys.js +8 -1
  201. package/dist/store/keys.js.map +1 -1
  202. package/dist/store/subagents.js +8 -1
  203. package/dist/store/subagents.js.map +1 -1
  204. package/dist/tools/definitions/subagents.d.ts +1 -1
  205. package/dist/tools/definitions/subagents.js +15 -6
  206. package/dist/tools/definitions/subagents.js.map +1 -1
  207. package/dist/tui-v2/app/App.js +4 -0
  208. package/dist/tui-v2/app/App.js.map +1 -1
  209. package/dist/tui-v2/bootstrap/patch-opentui-text.js +14 -13
  210. package/dist/tui-v2/bootstrap/patch-opentui-text.js.map +1 -1
  211. package/dist/tui-v2/bootstrap/renderer-handle.d.ts +1 -0
  212. package/dist/tui-v2/bootstrap/renderer-handle.js +2 -1
  213. package/dist/tui-v2/bootstrap/renderer-handle.js.map +1 -1
  214. package/dist/tui-v2/bootstrap/shrink-resize-guard.d.ts +27 -0
  215. package/dist/tui-v2/bootstrap/shrink-resize-guard.js +118 -0
  216. package/dist/tui-v2/bootstrap/shrink-resize-guard.js.map +1 -0
  217. package/dist/tui-v2/bootstrap/start-tui-v2.js +3 -0
  218. package/dist/tui-v2/bootstrap/start-tui-v2.js.map +1 -1
  219. package/dist/tui-v2/components/jobs/subagents-panel.d.ts +11 -0
  220. package/dist/tui-v2/components/jobs/subagents-panel.js +80 -0
  221. package/dist/tui-v2/components/jobs/subagents-panel.js.map +1 -0
  222. package/dist/tui-v2/components/modal/keys-modal-pick.d.ts +9 -0
  223. package/dist/tui-v2/components/modal/keys-modal-pick.js +15 -0
  224. package/dist/tui-v2/components/modal/keys-modal-pick.js.map +1 -0
  225. package/dist/tui-v2/components/modal/keys-modal.js +46 -12
  226. package/dist/tui-v2/components/modal/keys-modal.js.map +1 -1
  227. package/dist/tui-v2/components/pager/pager-line.js +3 -2
  228. package/dist/tui-v2/components/pager/pager-line.js.map +1 -1
  229. package/dist/tui-v2/components/pager/pager.js +47 -35
  230. package/dist/tui-v2/components/pager/pager.js.map +1 -1
  231. package/dist/tui-v2/components/transcript/thinking-block.js +1 -3
  232. package/dist/tui-v2/components/transcript/thinking-block.js.map +1 -1
  233. package/dist/tui-v2/components/transcript/thinking-presentation.d.ts +0 -1
  234. package/dist/tui-v2/components/transcript/thinking-presentation.js +1 -3
  235. package/dist/tui-v2/components/transcript/thinking-presentation.js.map +1 -1
  236. package/dist/tui-v2/rendering/pager-markdown.d.ts +2 -0
  237. package/dist/tui-v2/rendering/pager-markdown.js +10 -6
  238. package/dist/tui-v2/rendering/pager-markdown.js.map +1 -1
  239. package/dist/tui-v2/rendering/subagent-ansi.d.ts +4 -0
  240. package/dist/tui-v2/rendering/subagent-ansi.js +10 -0
  241. package/dist/tui-v2/rendering/subagent-ansi.js.map +1 -0
  242. package/dist/types.d.ts +2 -1
  243. package/dist/types.js +4 -0
  244. package/dist/types.js.map +1 -1
  245. package/dist/ui-core/commands/picker-commands.d.ts +12 -0
  246. package/dist/ui-core/commands/picker-commands.js +9 -5
  247. package/dist/ui-core/commands/picker-commands.js.map +1 -1
  248. package/dist/ui-core/commands/session-commands.js +5 -3
  249. package/dist/ui-core/commands/session-commands.js.map +1 -1
  250. package/dist/ui-core/commands/subagent-commands.d.ts +8 -0
  251. package/dist/ui-core/commands/subagent-commands.js +81 -21
  252. package/dist/ui-core/commands/subagent-commands.js.map +1 -1
  253. package/dist/ui-core/commands/subagent-models-editor.d.ts +2 -0
  254. package/dist/ui-core/commands/subagent-models-editor.js +123 -0
  255. package/dist/ui-core/commands/subagent-models-editor.js.map +1 -0
  256. package/dist/ui-core/controllers/overlay-controller.d.ts +10 -0
  257. package/dist/ui-core/controllers/overlay-controller.js.map +1 -1
  258. package/dist/ui-core/rendering/format-usage.js +5 -0
  259. package/dist/ui-core/rendering/format-usage.js.map +1 -1
  260. package/dist/ui-core/rendering/markdown.d.ts +2 -0
  261. package/dist/ui-core/rendering/markdown.js +1 -1
  262. package/dist/ui-core/rendering/markdown.js.map +1 -1
  263. package/dist/ui-core/rendering/sanitize-display.d.ts +3 -0
  264. package/dist/ui-core/rendering/sanitize-display.js +33 -2
  265. package/dist/ui-core/rendering/sanitize-display.js.map +1 -1
  266. package/dist/ui-core/rendering/status-segments.js +3 -1
  267. package/dist/ui-core/rendering/status-segments.js.map +1 -1
  268. package/dist/ui-core/rendering/subagent-presentation.d.ts +2 -0
  269. package/dist/ui-core/rendering/subagent-presentation.js +9 -0
  270. package/dist/ui-core/rendering/subagent-presentation.js.map +1 -1
  271. package/dist/ui-core/rendering/subagent-source.d.ts +2 -0
  272. package/dist/ui-core/rendering/subagent-source.js +10 -1
  273. package/dist/ui-core/rendering/subagent-source.js.map +1 -1
  274. package/dist/version.generated.d.ts +2 -2
  275. package/dist/version.generated.js +2 -2
  276. package/package.json +1 -1
  277. package/dist/llm/effort-fallback.d.ts +0 -6
  278. package/dist/llm/effort-fallback.js +0 -67
  279. package/dist/llm/effort-fallback.js.map +0 -1
@@ -2,5 +2,5 @@
2
2
  * AUTO-GENERATED by scripts/sync-version.mjs — do not edit by hand.
3
3
  * Source of truth: package.json "version".
4
4
  */
5
- export declare const VERSION: "4.11.16";
6
- export declare const VERSION_TAG: "v4.11.16";
5
+ export declare const VERSION: "4.11.18";
6
+ export declare const VERSION_TAG: "v4.11.18";
@@ -2,6 +2,6 @@
2
2
  * AUTO-GENERATED by scripts/sync-version.mjs — do not edit by hand.
3
3
  * Source of truth: package.json "version".
4
4
  */
5
- export const VERSION = "4.11.16";
6
- export const VERSION_TAG = "v4.11.16";
5
+ export const VERSION = "4.11.18";
6
+ export const VERSION_TAG = "v4.11.18";
7
7
  //# sourceMappingURL=version.generated.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pentoshi/clai",
3
- "version": "4.11.16",
3
+ "version": "4.11.18",
4
4
  "description": "A fast, cross-platform AI CLI assistant with ask and agent modes for shell tasks, file operations, and cybersecurity workflows.",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -1,6 +0,0 @@
1
- import type { CompletionRequest, ReasoningEffort, ReasoningPreference } from "../types.js";
2
- export declare const EFFORT_LADDER: readonly ReasoningEffort[];
3
- export declare function fallbackEffortsFor(requested: ReasoningEffort): ReasoningEffort[];
4
- export declare function effortCandidates(thinking: ReasoningPreference | undefined): ReasoningEffort[];
5
- export declare function isEffortRejectedError(error: unknown): boolean;
6
- export declare function withEffortFallback<T>(request: CompletionRequest, attempt: (thinking: CompletionRequest["thinking"]) => Promise<T>, onExhausted: () => never): Promise<T>;
@@ -1,67 +0,0 @@
1
- import { isInvalidReasoningContentError, isMissingReasoningContentError, } from "./reasoning-errors.js";
2
- export const EFFORT_LADDER = [
3
- "xhigh",
4
- "high",
5
- ];
6
- export function fallbackEffortsFor(requested) {
7
- const normalized = requested.toLowerCase();
8
- const nearest = {
9
- max: ["xhigh", "high"],
10
- xhigh: ["high"],
11
- };
12
- return nearest[normalized] ?? [];
13
- }
14
- export function effortCandidates(thinking) {
15
- const requested = thinking?.effort ?? "medium";
16
- const seen = new Set();
17
- const candidates = [];
18
- for (const effort of [requested, ...fallbackEffortsFor(requested)]) {
19
- const key = effort.toLowerCase();
20
- if (seen.has(key))
21
- continue;
22
- seen.add(key);
23
- candidates.push(effort);
24
- }
25
- return candidates;
26
- }
27
- export function isEffortRejectedError(error) {
28
- if (isMissingReasoningContentError(error) ||
29
- isInvalidReasoningContentError(error))
30
- return false;
31
- const status = error && typeof error === "object" && "status" in error
32
- ? Number(error.status)
33
- : undefined;
34
- if (status !== 400 && status !== 422)
35
- return false;
36
- const body = error && typeof error === "object" && "body" in error
37
- ? String(error.body ?? "")
38
- : "";
39
- const message = error instanceof Error ? error.message : String(error);
40
- const hay = `${message}\n${body}`.toLowerCase();
41
- if (!/reasoning_effort|\beffort\b|chat_template_kwargs|\bthinking\b/.test(hay)) {
42
- return false;
43
- }
44
- return /must be one of|invalid|unsupported|not support|unknown|unrecognized|not a valid|not allowed|expected one of/.test(hay);
45
- }
46
- export async function withEffortFallback(request, attempt, onExhausted) {
47
- if (!request.thinking?.enabled)
48
- return await attempt(request.thinking);
49
- const candidates = effortCandidates(request.thinking);
50
- let lastError;
51
- for (let index = 0; index < candidates.length; index += 1) {
52
- try {
53
- return await attempt({ ...request.thinking, effort: candidates[index] });
54
- }
55
- catch (error) {
56
- if (!isEffortRejectedError(error))
57
- throw error;
58
- lastError = error;
59
- if (index === candidates.length - 1)
60
- throw error;
61
- }
62
- }
63
- if (lastError)
64
- throw lastError;
65
- onExhausted();
66
- }
67
- //# sourceMappingURL=effort-fallback.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"effort-fallback.js","sourceRoot":"","sources":["../../src/llm/effort-fallback.ts"],"names":[],"mappings":"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"}