@pentoshi/clai 4.1.0 → 4.2.0

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 (264) hide show
  1. package/README.md +14 -0
  2. package/dist/agent/compaction-executor.d.ts +68 -0
  3. package/dist/agent/compaction-executor.js +343 -0
  4. package/dist/agent/compaction-executor.js.map +1 -0
  5. package/dist/agent/context-breakdown.js +2 -0
  6. package/dist/agent/context-breakdown.js.map +1 -1
  7. package/dist/agent/context-manager.d.ts +23 -9
  8. package/dist/agent/context-manager.js +72 -43
  9. package/dist/agent/context-manager.js.map +1 -1
  10. package/dist/agent/events.d.ts +3 -0
  11. package/dist/agent/loop-guard.d.ts +2 -0
  12. package/dist/agent/loop-guard.js +48 -3
  13. package/dist/agent/loop-guard.js.map +1 -1
  14. package/dist/agent/prompt-composer.js +6 -6
  15. package/dist/agent/prompt-composer.js.map +1 -1
  16. package/dist/agent/reliability-policy.d.ts +1 -0
  17. package/dist/agent/reliability-policy.js +6 -3
  18. package/dist/agent/reliability-policy.js.map +1 -1
  19. package/dist/agent/request-accounting.d.ts +97 -0
  20. package/dist/agent/request-accounting.js +207 -0
  21. package/dist/agent/request-accounting.js.map +1 -0
  22. package/dist/agent/request-budget.d.ts +2 -2
  23. package/dist/agent/request-budget.js +2 -4
  24. package/dist/agent/request-budget.js.map +1 -1
  25. package/dist/agent/runner.d.ts +8 -2
  26. package/dist/agent/runner.js +409 -178
  27. package/dist/agent/runner.js.map +1 -1
  28. package/dist/agent/session-title.d.ts +0 -26
  29. package/dist/agent/session-title.js +0 -80
  30. package/dist/agent/session-title.js.map +1 -1
  31. package/dist/agent/tool-history.d.ts +2 -2
  32. package/dist/agent/tool-history.js +19 -6
  33. package/dist/agent/tool-history.js.map +1 -1
  34. package/dist/app/adapters/agent-event-adapter.js +19 -0
  35. package/dist/app/adapters/agent-event-adapter.js.map +1 -1
  36. package/dist/app/adapters/current-agent-adapter.js +4 -0
  37. package/dist/app/adapters/current-agent-adapter.js.map +1 -1
  38. package/dist/app/commands/catalog.js +24 -0
  39. package/dist/app/commands/catalog.js.map +1 -1
  40. package/dist/app/controllers/cancel-coordinator.d.ts +51 -0
  41. package/dist/app/controllers/cancel-coordinator.js +48 -0
  42. package/dist/app/controllers/cancel-coordinator.js.map +1 -0
  43. package/dist/app/controllers/session-compact-helper.d.ts +19 -2
  44. package/dist/app/controllers/session-compact-helper.js +100 -127
  45. package/dist/app/controllers/session-compact-helper.js.map +1 -1
  46. package/dist/app/controllers/session-context-usage.d.ts +32 -15
  47. package/dist/app/controllers/session-context-usage.js +186 -51
  48. package/dist/app/controllers/session-context-usage.js.map +1 -1
  49. package/dist/app/controllers/session-controller.d.ts +20 -11
  50. package/dist/app/controllers/session-controller.js +111 -90
  51. package/dist/app/controllers/session-controller.js.map +1 -1
  52. package/dist/app/controllers/session-naming.d.ts +31 -0
  53. package/dist/app/controllers/session-naming.js +173 -0
  54. package/dist/app/controllers/session-naming.js.map +1 -0
  55. package/dist/app/controllers/session-persistence.d.ts +2 -2
  56. package/dist/app/controllers/session-persistence.js +3 -6
  57. package/dist/app/controllers/session-persistence.js.map +1 -1
  58. package/dist/app/controllers/session-turn-request.d.ts +2 -1
  59. package/dist/app/controllers/session-turn-request.js +3 -0
  60. package/dist/app/controllers/session-turn-request.js.map +1 -1
  61. package/dist/app/controllers/turn-controller.d.ts +2 -1
  62. package/dist/app/controllers/turn-controller.js +1 -0
  63. package/dist/app/controllers/turn-controller.js.map +1 -1
  64. package/dist/app/events/app-event.d.ts +9 -0
  65. package/dist/app/events/app-event.js.map +1 -1
  66. package/dist/app/ports/agent-port.d.ts +8 -1
  67. package/dist/classic/app/ClassicApp.js +2 -1
  68. package/dist/classic/app/ClassicApp.js.map +1 -1
  69. package/dist/classic/app/app-wiring.js +1 -2
  70. package/dist/classic/app/app-wiring.js.map +1 -1
  71. package/dist/classic/app/wiring-interactions.js +2 -7
  72. package/dist/classic/app/wiring-interactions.js.map +1 -1
  73. package/dist/classic/blocks/tool-lines.js +2 -1
  74. package/dist/classic/blocks/tool-lines.js.map +1 -1
  75. package/dist/classic/input/cancel-ladder.d.ts +2 -19
  76. package/dist/classic/input/cancel-ladder.js +13 -20
  77. package/dist/classic/input/cancel-ladder.js.map +1 -1
  78. package/dist/commands/providers.js +2 -0
  79. package/dist/commands/providers.js.map +1 -1
  80. package/dist/llm/adapters/anthropic-tools.d.ts +31 -14
  81. package/dist/llm/adapters/anthropic-tools.js +124 -29
  82. package/dist/llm/adapters/anthropic-tools.js.map +1 -1
  83. package/dist/llm/adapters/gemini-tools.d.ts +16 -4
  84. package/dist/llm/adapters/gemini-tools.js +117 -16
  85. package/dist/llm/adapters/gemini-tools.js.map +1 -1
  86. package/dist/llm/adapters/openai-tools.d.ts +13 -2
  87. package/dist/llm/adapters/openai-tools.js +58 -11
  88. package/dist/llm/adapters/openai-tools.js.map +1 -1
  89. package/dist/llm/agentrouter.js +68 -45
  90. package/dist/llm/agentrouter.js.map +1 -1
  91. package/dist/llm/anthropic.js +69 -36
  92. package/dist/llm/anthropic.js.map +1 -1
  93. package/dist/llm/aws-mantle.js +70 -32
  94. package/dist/llm/aws-mantle.js.map +1 -1
  95. package/dist/llm/bynara.js +26 -69
  96. package/dist/llm/bynara.js.map +1 -1
  97. package/dist/llm/capabilities.d.ts +2 -1
  98. package/dist/llm/capabilities.js +47 -0
  99. package/dist/llm/capabilities.js.map +1 -1
  100. package/dist/llm/context-snapshot.d.ts +100 -0
  101. package/dist/llm/context-snapshot.js +277 -0
  102. package/dist/llm/context-snapshot.js.map +1 -0
  103. package/dist/llm/context-windows.d.ts +10 -0
  104. package/dist/llm/context-windows.js +129 -0
  105. package/dist/llm/context-windows.js.map +1 -0
  106. package/dist/llm/custom-provider-profile.d.ts +75 -0
  107. package/dist/llm/custom-provider-profile.js +558 -0
  108. package/dist/llm/custom-provider-profile.js.map +1 -0
  109. package/dist/llm/custom-providers.d.ts +13 -1
  110. package/dist/llm/custom-providers.js +77 -25
  111. package/dist/llm/custom-providers.js.map +1 -1
  112. package/dist/llm/effort-fallback.d.ts +44 -0
  113. package/dist/llm/effort-fallback.js +101 -0
  114. package/dist/llm/effort-fallback.js.map +1 -0
  115. package/dist/llm/fireworks.js +4 -0
  116. package/dist/llm/fireworks.js.map +1 -1
  117. package/dist/llm/free.js +4 -0
  118. package/dist/llm/free.js.map +1 -1
  119. package/dist/llm/gemini.d.ts +1 -1
  120. package/dist/llm/gemini.js +89 -51
  121. package/dist/llm/gemini.js.map +1 -1
  122. package/dist/llm/groq.js +4 -0
  123. package/dist/llm/groq.js.map +1 -1
  124. package/dist/llm/hetzner.js +4 -0
  125. package/dist/llm/hetzner.js.map +1 -1
  126. package/dist/llm/http.d.ts +49 -10
  127. package/dist/llm/http.js +417 -153
  128. package/dist/llm/http.js.map +1 -1
  129. package/dist/llm/kimchi.js +4 -0
  130. package/dist/llm/kimchi.js.map +1 -1
  131. package/dist/llm/lightning.js +4 -0
  132. package/dist/llm/lightning.js.map +1 -1
  133. package/dist/llm/meta.d.ts +2 -0
  134. package/dist/llm/meta.js +811 -655
  135. package/dist/llm/meta.js.map +1 -1
  136. package/dist/llm/modal.js +4 -0
  137. package/dist/llm/modal.js.map +1 -1
  138. package/dist/llm/model-families.d.ts +9 -0
  139. package/dist/llm/model-families.js +39 -0
  140. package/dist/llm/model-families.js.map +1 -0
  141. package/dist/llm/nvidia.js +4 -0
  142. package/dist/llm/nvidia.js.map +1 -1
  143. package/dist/llm/ollama.js +44 -40
  144. package/dist/llm/ollama.js.map +1 -1
  145. package/dist/llm/openai.js +4 -0
  146. package/dist/llm/openai.js.map +1 -1
  147. package/dist/llm/openrouter.js +4 -0
  148. package/dist/llm/openrouter.js.map +1 -1
  149. package/dist/llm/operation-ledger.d.ts +60 -0
  150. package/dist/llm/operation-ledger.js +136 -0
  151. package/dist/llm/operation-ledger.js.map +1 -0
  152. package/dist/llm/operation-usage.d.ts +32 -0
  153. package/dist/llm/operation-usage.js +172 -0
  154. package/dist/llm/operation-usage.js.map +1 -0
  155. package/dist/llm/orcarouter.d.ts +7 -0
  156. package/dist/llm/orcarouter.js +166 -0
  157. package/dist/llm/orcarouter.js.map +1 -0
  158. package/dist/llm/provider-profile-layers.d.ts +7 -0
  159. package/dist/llm/provider-profile-layers.js +961 -0
  160. package/dist/llm/provider-profile-layers.js.map +1 -0
  161. package/dist/llm/provider-profile.d.ts +181 -0
  162. package/dist/llm/provider-profile.js +329 -0
  163. package/dist/llm/provider-profile.js.map +1 -0
  164. package/dist/llm/provider-profiles.d.ts +13 -0
  165. package/dist/llm/provider-profiles.js +86 -0
  166. package/dist/llm/provider-profiles.js.map +1 -0
  167. package/dist/llm/provider.d.ts +2 -0
  168. package/dist/llm/provider.js +67 -0
  169. package/dist/llm/provider.js.map +1 -1
  170. package/dist/llm/qwen-cloud.js +4 -0
  171. package/dist/llm/qwen-cloud.js.map +1 -1
  172. package/dist/llm/reasoning-artifacts.d.ts +101 -0
  173. package/dist/llm/reasoning-artifacts.js +440 -0
  174. package/dist/llm/reasoning-artifacts.js.map +1 -0
  175. package/dist/llm/request-fingerprint.d.ts +10 -0
  176. package/dist/llm/request-fingerprint.js +313 -0
  177. package/dist/llm/request-fingerprint.js.map +1 -0
  178. package/dist/llm/request-plan.d.ts +119 -0
  179. package/dist/llm/request-plan.js +279 -0
  180. package/dist/llm/request-plan.js.map +1 -0
  181. package/dist/llm/router.d.ts +19 -1
  182. package/dist/llm/router.js +447 -75
  183. package/dist/llm/router.js.map +1 -1
  184. package/dist/llm/stream-events.d.ts +47 -0
  185. package/dist/llm/stream-events.js +55 -0
  186. package/dist/llm/stream-events.js.map +1 -0
  187. package/dist/llm/stream-terminal.d.ts +30 -0
  188. package/dist/llm/stream-terminal.js +51 -0
  189. package/dist/llm/stream-terminal.js.map +1 -0
  190. package/dist/llm/token-estimate-calibration.d.ts +23 -0
  191. package/dist/llm/token-estimate-calibration.js +140 -0
  192. package/dist/llm/token-estimate-calibration.js.map +1 -0
  193. package/dist/llm/token-usage.d.ts +35 -5
  194. package/dist/llm/token-usage.js +212 -162
  195. package/dist/llm/token-usage.js.map +1 -1
  196. package/dist/llm/tokenrouter.js +8 -2
  197. package/dist/llm/tokenrouter.js.map +1 -1
  198. package/dist/modes/ask.js +11 -5
  199. package/dist/modes/ask.js.map +1 -1
  200. package/dist/noninteractive/start-noninteractive.js +31 -2
  201. package/dist/noninteractive/start-noninteractive.js.map +1 -1
  202. package/dist/noninteractive/stream-blocks.js +15 -4
  203. package/dist/noninteractive/stream-blocks.js.map +1 -1
  204. package/dist/prompts/embedded.js +1 -1
  205. package/dist/prompts/embedded.js.map +1 -1
  206. package/dist/prompts/system.agent.md +6 -0
  207. package/dist/store/config.js +5 -1
  208. package/dist/store/config.js.map +1 -1
  209. package/dist/store/history.d.ts +2 -0
  210. package/dist/store/history.js +19 -10
  211. package/dist/store/history.js.map +1 -1
  212. package/dist/store/plan.js +20 -14
  213. package/dist/store/plan.js.map +1 -1
  214. package/dist/tools/elevated-shell.d.ts +1 -1
  215. package/dist/tools/elevated-shell.js +24 -72
  216. package/dist/tools/elevated-shell.js.map +1 -1
  217. package/dist/tools/nmap-runner.js +30 -36
  218. package/dist/tools/nmap-runner.js.map +1 -1
  219. package/dist/tools/sudo-session.d.ts +83 -0
  220. package/dist/tools/sudo-session.js +124 -0
  221. package/dist/tools/sudo-session.js.map +1 -0
  222. package/dist/tui-v2/app/App.js +9 -24
  223. package/dist/tui-v2/app/App.js.map +1 -1
  224. package/dist/tui-v2/components/status/context-limit-chip.js +2 -2
  225. package/dist/tui-v2/components/status/context-limit-chip.js.map +1 -1
  226. package/dist/tui-v2/components/transcript/intro-card.js +2 -1
  227. package/dist/tui-v2/components/transcript/intro-card.js.map +1 -1
  228. package/dist/tui-v2/composer/composer-editor.js +2 -1
  229. package/dist/tui-v2/composer/composer-editor.js.map +1 -1
  230. package/dist/types.d.ts +156 -1
  231. package/dist/types.js +1 -0
  232. package/dist/types.js.map +1 -1
  233. package/dist/ui-core/bootstrap/composition-root.d.ts +2 -0
  234. package/dist/ui-core/bootstrap/composition-root.js +26 -3
  235. package/dist/ui-core/bootstrap/composition-root.js.map +1 -1
  236. package/dist/ui-core/commands/picker-commands.js +11 -5
  237. package/dist/ui-core/commands/picker-commands.js.map +1 -1
  238. package/dist/ui-core/commands/session-commands.js +41 -5
  239. package/dist/ui-core/commands/session-commands.js.map +1 -1
  240. package/dist/ui-core/plan/plan-lifecycle.js +3 -2
  241. package/dist/ui-core/plan/plan-lifecycle.js.map +1 -1
  242. package/dist/ui-core/rendering/context-limit.js +4 -1
  243. package/dist/ui-core/rendering/context-limit.js.map +1 -1
  244. package/dist/ui-core/rendering/duration.d.ts +2 -1
  245. package/dist/ui-core/rendering/duration.js +13 -5
  246. package/dist/ui-core/rendering/duration.js.map +1 -1
  247. package/dist/ui-core/rendering/intro-header.js +2 -2
  248. package/dist/ui-core/rendering/intro-header.js.map +1 -1
  249. package/dist/ui-core/rendering/theme.d.ts +1 -0
  250. package/dist/ui-core/rendering/theme.js +2 -0
  251. package/dist/ui-core/rendering/theme.js.map +1 -1
  252. package/dist/ui-core/state/transcript-hydrate.js +3 -3
  253. package/dist/ui-core/state/transcript-hydrate.js.map +1 -1
  254. package/dist/ui-core/state/transcript-reducer.d.ts +5 -0
  255. package/dist/ui-core/state/transcript-reducer.js +76 -3
  256. package/dist/ui-core/state/transcript-reducer.js.map +1 -1
  257. package/dist/ui-core/state/transcript-store.d.ts +10 -1
  258. package/dist/ui-core/state/transcript-store.js +22 -1
  259. package/dist/ui-core/state/transcript-store.js.map +1 -1
  260. package/dist/ui-core/state/transcript-types.d.ts +2 -0
  261. package/dist/ui-core/state/transcript-types.js.map +1 -1
  262. package/dist/version.generated.d.ts +2 -2
  263. package/dist/version.generated.js +2 -2
  264. package/package.json +6 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider-profile-layers.js","sourceRoot":"","sources":["../../src/llm/provider-profile-layers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,181 @@
1
+ import type { ProviderId, RequestFingerprintSerializerId } from "../types.js";
2
+ export type ProfileTriState = "supported" | "unsupported" | "unknown";
3
+ export type ProfileEvidenceSource = "user-config" | "builtin" | "catalog" | "family" | "observed" | "default";
4
+ export type ProfileConfidence = "exact" | "high" | "inferred" | "unknown";
5
+ export interface ProfileEvidence {
6
+ readonly source: ProfileEvidenceSource;
7
+ readonly confidence: ProfileConfidence;
8
+ readonly observedAt?: string | undefined;
9
+ readonly detail?: string | undefined;
10
+ }
11
+ export type WireApi = RequestFingerprintSerializerId;
12
+ export type SystemMessagePolicy = "single-leading" | "developer-fallback" | "provider-system-field";
13
+ export type ProfileAuthType = "bearer" | "custom-headers" | "query" | "proxy-headers" | "none-keyless" | "native";
14
+ export interface TransportSpec {
15
+ readonly authType: ProfileAuthType;
16
+ readonly keyEnv?: string | undefined;
17
+ readonly baseUrlEnv?: string | undefined;
18
+ readonly headers?: Readonly<Record<string, string>> | undefined;
19
+ readonly chatPath?: string | undefined;
20
+ readonly modelsPath?: string | undefined;
21
+ readonly keyless?: boolean | undefined;
22
+ readonly systemPolicy: SystemMessagePolicy;
23
+ }
24
+ export interface ProfileCapabilities {
25
+ readonly tools: ProfileTriState;
26
+ readonly images: ProfileTriState;
27
+ readonly structuredOutput: ProfileTriState;
28
+ readonly streamOptions: ProfileTriState;
29
+ }
30
+ /** Matrix 02§Required conceptual split: the generation fact is independent of controls. */
31
+ export type ReasoningGeneration = "none" | "optional" | "default-on" | "mandatory" | "unknown";
32
+ export type ReasoningControlDialect = "openai-effort" | "openai-nested-reasoning" | "anthropic-thinking" | "deepseek-thinking" | "qwen-enable-thinking" | "kimi-template-thinking" | "glm-enable-thinking" | "chat-template-thinking" | "nemotron-reasoning-budget" | "gemini-thinking-config" | "meta-reasoning-effort" | "ollama-think" | "groq-model-specific" | "modal-advertised-effort" | "none";
33
+ export type ReasoningDisableForm = "effort-none" | "effort-minimal-floor" | "thinking-disabled" | "thinking-budget-zero" | "template-thinking-false" | "template-enable-thinking-false" | "enable-thinking-false" | "omit-control" | "none-documented";
34
+ export type ReasoningOutputShape = "reasoning-content" | "reasoning-field" | "signed-thinking-block" | "thought-signature" | "encrypted-reasoning-items" | "structured-details" | "ollama-thinking";
35
+ export type FinalTurnPreservation = "required" | "supported" | "unsupported" | "unknown";
36
+ export interface ReasoningControlSpec {
37
+ readonly dialect: ReasoningControlDialect;
38
+ readonly status: ProfileTriState;
39
+ readonly evidence: ProfileEvidence;
40
+ }
41
+ /** Route-level replay contract; the first four map onto artifact replay scope. */
42
+ export type ProfileReplayScope = "none" | "tool-turn" | "next-turn" | "all-history" | "server-state" | "configurable";
43
+ export interface ReasoningCapability {
44
+ readonly generation: ReasoningGeneration;
45
+ readonly generationEvidence: ProfileEvidence;
46
+ readonly control: ReasoningControlSpec;
47
+ readonly acceptedEfforts: readonly string[];
48
+ readonly disable: ProfileTriState;
49
+ readonly disableForm?: ReasoningDisableForm | undefined;
50
+ readonly outputShapes: readonly ReasoningOutputShape[];
51
+ readonly replayScope: ProfileReplayScope;
52
+ readonly finalTurnPreservation: FinalTurnPreservation;
53
+ }
54
+ export interface OutputBudgetPolicy {
55
+ readonly sharedReasoningCap: boolean;
56
+ readonly visibleAnswerReserveTokens: number;
57
+ readonly mandatoryReasoningReserveTokens: number;
58
+ }
59
+ export type LimitSource = "provider-doc" | "catalog" | "user-config" | "family-default" | "unknown";
60
+ export interface ContextLimitSpec {
61
+ readonly contextTokens?: number | undefined;
62
+ readonly outputTokens?: number | undefined;
63
+ readonly source: LimitSource;
64
+ }
65
+ export type CachePolicyKind = "automatic-prefix" | "affinity-key" | "explicit-breakpoint" | "none-documented" | "unknown";
66
+ export interface CachePolicySpec {
67
+ readonly kind: CachePolicyKind;
68
+ readonly affinityField?: string | undefined;
69
+ readonly isolationField?: string | undefined;
70
+ readonly cacheAffectingFields: readonly string[];
71
+ readonly evidence?: ProfileEvidence | undefined;
72
+ }
73
+ export interface UsageAliasSpec {
74
+ readonly cachedInput?: readonly string[] | undefined;
75
+ readonly uncachedInput?: readonly string[] | undefined;
76
+ readonly cacheWrite?: readonly string[] | undefined;
77
+ readonly reasoningOutput?: readonly string[] | undefined;
78
+ }
79
+ export type StreamTerminalProof = "done-sentinel" | "finish-reason" | "message-stop" | "response-completed" | "response-incomplete" | "done-true" | "usage-chunk";
80
+ export interface TerminalPolicySpec {
81
+ readonly proofs: readonly StreamTerminalProof[];
82
+ readonly naturalEofAccepted: boolean;
83
+ readonly evidence: ProfileEvidence;
84
+ }
85
+ export interface ProviderProfileRoute {
86
+ readonly provider: string;
87
+ readonly model: string;
88
+ readonly wireApi: WireApi;
89
+ readonly endpointHash?: string | undefined;
90
+ readonly credentialHash?: string | undefined;
91
+ readonly configGeneration?: string | undefined;
92
+ readonly profileVersion: 1;
93
+ }
94
+ export interface ProviderProfile {
95
+ readonly version: 1;
96
+ readonly route: ProviderProfileRoute;
97
+ readonly transport: TransportSpec;
98
+ readonly capabilities: ProfileCapabilities;
99
+ readonly reasoning: ReasoningCapability;
100
+ readonly outputBudget: OutputBudgetPolicy;
101
+ readonly limits: ContextLimitSpec;
102
+ readonly cache: CachePolicySpec;
103
+ readonly usage: UsageAliasSpec;
104
+ readonly terminal: TerminalPolicySpec;
105
+ readonly evidence: ProfileEvidence;
106
+ }
107
+ export interface ProviderProfileLayer {
108
+ readonly evidence: ProfileEvidence;
109
+ readonly transport?: Partial<TransportSpec> | undefined;
110
+ readonly capabilities?: Partial<ProfileCapabilities> | undefined;
111
+ readonly reasoning?: (Partial<Omit<ReasoningCapability, "control">> & {
112
+ readonly control?: Partial<ReasoningControlSpec> | undefined;
113
+ }) | undefined;
114
+ readonly outputBudget?: Partial<OutputBudgetPolicy> | undefined;
115
+ readonly limits?: Partial<ContextLimitSpec> | undefined;
116
+ readonly cache?: Partial<CachePolicySpec> | undefined;
117
+ readonly usage?: Partial<UsageAliasSpec> | undefined;
118
+ readonly terminal?: Partial<TerminalPolicySpec> | undefined;
119
+ }
120
+ export interface ProviderProfileSourceLayers {
121
+ readonly userConfig?: ProviderProfileLayer | undefined;
122
+ readonly builtin?: ProviderProfileLayer | undefined;
123
+ readonly catalog?: ProviderProfileLayer | undefined;
124
+ readonly family?: ProviderProfileLayer | undefined;
125
+ readonly observed?: ProviderProfileLayer | undefined;
126
+ }
127
+ export declare const PARSED_OUTPUT_SHAPES: readonly ReasoningOutputShape[];
128
+ export declare const DEFAULT_CONTROL_REJECTION_TTL_MS: number;
129
+ export declare function resolveProviderProfile(input: {
130
+ provider: string;
131
+ model: string;
132
+ wireApi?: WireApi | undefined;
133
+ endpointHash?: string | undefined;
134
+ credentialHash?: string | undefined;
135
+ configGeneration?: string | undefined;
136
+ layers?: ProviderProfileSourceLayers | undefined;
137
+ }): ProviderProfile;
138
+ export interface ControlRejectionScope {
139
+ readonly provider: string;
140
+ readonly model: string;
141
+ readonly endpointHash?: string | undefined;
142
+ readonly credentialHash?: string | undefined;
143
+ readonly configGeneration?: string | undefined;
144
+ }
145
+ export interface ControlRejectionKey extends ControlRejectionScope {
146
+ readonly field: string;
147
+ readonly value?: string | undefined;
148
+ }
149
+ export declare function recordControlRejection(key: ControlRejectionKey, options?: {
150
+ ttlMs?: number;
151
+ now?: number;
152
+ } | undefined): void;
153
+ export declare function isControlRejected(key: ControlRejectionKey, now?: number | undefined): boolean;
154
+ export declare function activeControlRejections(scope: ControlRejectionScope, now?: number | undefined): readonly ControlRejectionKey[];
155
+ export declare function clearControlRejections(): void;
156
+ export declare function applyObservedControlRejections(profile: ProviderProfile, now?: number | undefined): ProviderProfile;
157
+ export declare function profileSummary(profile: ProviderProfile): {
158
+ provider: string;
159
+ model: string;
160
+ wireApi: WireApi;
161
+ reasoning: {
162
+ generation: ReasoningGeneration;
163
+ controlDialect: ReasoningControlDialect;
164
+ controlStatus: ProfileTriState;
165
+ disable: ProfileTriState;
166
+ replayScope: ProfileReplayScope;
167
+ finalTurnPreservation: FinalTurnPreservation;
168
+ evidenceSources: readonly ProfileEvidenceSource[];
169
+ };
170
+ capabilities: ProfileCapabilities;
171
+ limits: ContextLimitSpec;
172
+ cache: {
173
+ kind: CachePolicyKind;
174
+ };
175
+ terminal: {
176
+ proofs: readonly StreamTerminalProof[];
177
+ naturalEofAccepted: boolean;
178
+ };
179
+ evidence: ProfileEvidence;
180
+ };
181
+ export declare function isBuiltInProviderId(provider: string): provider is ProviderId;
@@ -0,0 +1,329 @@
1
+ import { providerIds } from "../types.js";
2
+ const LAYER_PRECEDENCE = [
3
+ "userConfig",
4
+ "builtin",
5
+ "catalog",
6
+ "family",
7
+ "observed",
8
+ ];
9
+ export const PARSED_OUTPUT_SHAPES = [
10
+ "reasoning-content",
11
+ "reasoning-field",
12
+ "signed-thinking-block",
13
+ "thought-signature",
14
+ "encrypted-reasoning-items",
15
+ "structured-details",
16
+ "ollama-thinking",
17
+ ];
18
+ export const DEFAULT_CONTROL_REJECTION_TTL_MS = 15 * 60 * 1000;
19
+ const UNKNOWN_EVIDENCE = {
20
+ source: "default",
21
+ confidence: "unknown",
22
+ };
23
+ function unknownProfile(route) {
24
+ return {
25
+ version: 1,
26
+ route,
27
+ transport: { authType: "bearer", systemPolicy: "single-leading" },
28
+ capabilities: {
29
+ tools: "unknown",
30
+ images: "unknown",
31
+ structuredOutput: "unknown",
32
+ streamOptions: "unknown",
33
+ },
34
+ reasoning: {
35
+ generation: "unknown",
36
+ generationEvidence: UNKNOWN_EVIDENCE,
37
+ control: {
38
+ dialect: "none",
39
+ status: "unknown",
40
+ evidence: UNKNOWN_EVIDENCE,
41
+ },
42
+ acceptedEfforts: [],
43
+ disable: "unknown",
44
+ // unknown routes parse broadly while sending no optional control
45
+ outputShapes: PARSED_OUTPUT_SHAPES,
46
+ replayScope: "none",
47
+ finalTurnPreservation: "unknown",
48
+ },
49
+ outputBudget: {
50
+ sharedReasoningCap: true,
51
+ visibleAnswerReserveTokens: 1024,
52
+ mandatoryReasoningReserveTokens: 0,
53
+ },
54
+ limits: { source: "unknown" },
55
+ cache: { kind: "unknown", cacheAffectingFields: [] },
56
+ usage: {},
57
+ terminal: {
58
+ proofs: [],
59
+ naturalEofAccepted: false,
60
+ evidence: UNKNOWN_EVIDENCE,
61
+ },
62
+ evidence: UNKNOWN_EVIDENCE,
63
+ };
64
+ }
65
+ export function resolveProviderProfile(input) {
66
+ const route = {
67
+ provider: input.provider,
68
+ model: input.model,
69
+ wireApi: input.wireApi ?? "chat-completions",
70
+ ...(input.endpointHash ? { endpointHash: input.endpointHash } : {}),
71
+ ...(input.credentialHash ? { credentialHash: input.credentialHash } : {}),
72
+ ...(input.configGeneration
73
+ ? { configGeneration: input.configGeneration }
74
+ : {}),
75
+ profileVersion: 1,
76
+ };
77
+ const sourceLayers = input.layers ?? {};
78
+ const layers = LAYER_PRECEDENCE.map((key) => sourceLayers[key]).filter((layer) => layer !== undefined);
79
+ if (layers.length === 0)
80
+ return unknownProfile(route);
81
+ return mergeLayers(route, layers);
82
+ }
83
+ function firstDefined(layers, pick) {
84
+ for (const layer of layers) {
85
+ const value = pick(layer);
86
+ if (value !== undefined)
87
+ return value;
88
+ }
89
+ return undefined;
90
+ }
91
+ function firstList(layers, pick) {
92
+ for (const layer of layers) {
93
+ const value = pick(layer);
94
+ if (value !== undefined && value.length > 0)
95
+ return value;
96
+ }
97
+ return undefined;
98
+ }
99
+ function evidenceFor(layers, contributes) {
100
+ for (const layer of layers) {
101
+ if (contributes(layer))
102
+ return layer.evidence;
103
+ }
104
+ return UNKNOWN_EVIDENCE;
105
+ }
106
+ function mergeLayers(route, layers) {
107
+ const base = unknownProfile(route);
108
+ const keyEnv = firstDefined(layers, (l) => l.transport?.keyEnv);
109
+ const baseUrlEnv = firstDefined(layers, (l) => l.transport?.baseUrlEnv);
110
+ const chatPath = firstDefined(layers, (l) => l.transport?.chatPath);
111
+ const modelsPath = firstDefined(layers, (l) => l.transport?.modelsPath);
112
+ const keyless = firstDefined(layers, (l) => l.transport?.keyless);
113
+ const headerLayer = layers.find((layer) => layer.transport?.headers);
114
+ const contextTokens = firstDefined(layers, (l) => l.limits?.contextTokens);
115
+ const outputTokens = firstDefined(layers, (l) => l.limits?.outputTokens);
116
+ const affinityField = firstDefined(layers, (l) => l.cache?.affinityField);
117
+ const isolationField = firstDefined(layers, (l) => l.cache?.isolationField);
118
+ const cachedInput = firstList(layers, (l) => l.usage?.cachedInput);
119
+ const uncachedInput = firstList(layers, (l) => l.usage?.uncachedInput);
120
+ const cacheWrite = firstList(layers, (l) => l.usage?.cacheWrite);
121
+ const reasoningOutput = firstList(layers, (l) => l.usage?.reasoningOutput);
122
+ const controlDialect = firstDefined(layers, (l) => l.reasoning?.control?.dialect);
123
+ const controlStatus = firstDefined(layers, (l) => l.reasoning?.control?.status);
124
+ const generation = firstDefined(layers, (l) => l.reasoning?.generation) ?? "unknown";
125
+ const disableForm = firstDefined(layers, (l) => l.reasoning?.disableForm);
126
+ const disable = firstDefined(layers, (l) => l.reasoning?.disable) ??
127
+ (generation === "mandatory" ? "unsupported" : "unknown");
128
+ return {
129
+ version: 1,
130
+ route,
131
+ transport: {
132
+ authType: firstDefined(layers, (l) => l.transport?.authType) ??
133
+ base.transport.authType,
134
+ ...(keyEnv !== undefined ? { keyEnv } : {}),
135
+ ...(baseUrlEnv !== undefined ? { baseUrlEnv } : {}),
136
+ ...(chatPath !== undefined ? { chatPath } : {}),
137
+ ...(modelsPath !== undefined ? { modelsPath } : {}),
138
+ ...(keyless !== undefined ? { keyless } : {}),
139
+ ...(headerLayer ? { headers: headerLayer.transport.headers } : {}),
140
+ systemPolicy: firstDefined(layers, (l) => l.transport?.systemPolicy) ??
141
+ base.transport.systemPolicy,
142
+ },
143
+ capabilities: {
144
+ tools: firstDefined(layers, (l) => l.capabilities?.tools) ??
145
+ base.capabilities.tools,
146
+ images: firstDefined(layers, (l) => l.capabilities?.images) ??
147
+ base.capabilities.images,
148
+ structuredOutput: firstDefined(layers, (l) => l.capabilities?.structuredOutput) ??
149
+ base.capabilities.structuredOutput,
150
+ streamOptions: firstDefined(layers, (l) => l.capabilities?.streamOptions) ??
151
+ base.capabilities.streamOptions,
152
+ },
153
+ reasoning: {
154
+ generation,
155
+ generationEvidence: evidenceFor(layers, (l) => l.reasoning?.generation !== undefined),
156
+ control: {
157
+ dialect: controlDialect ?? base.reasoning.control.dialect,
158
+ status: controlStatus ?? base.reasoning.control.status,
159
+ evidence: evidenceFor(layers, (l) => l.reasoning?.control !== undefined),
160
+ },
161
+ acceptedEfforts: firstList(layers, (l) => l.reasoning?.acceptedEfforts) ?? [],
162
+ disable,
163
+ ...(disableForm !== undefined
164
+ ? { disableForm }
165
+ : generation === "mandatory"
166
+ ? { disableForm: "none-documented" }
167
+ : {}),
168
+ outputShapes: firstList(layers, (l) => l.reasoning?.outputShapes) ??
169
+ base.reasoning.outputShapes,
170
+ replayScope: firstDefined(layers, (l) => l.reasoning?.replayScope) ??
171
+ base.reasoning.replayScope,
172
+ finalTurnPreservation: firstDefined(layers, (l) => l.reasoning?.finalTurnPreservation) ??
173
+ base.reasoning.finalTurnPreservation,
174
+ },
175
+ outputBudget: {
176
+ sharedReasoningCap: firstDefined(layers, (l) => l.outputBudget?.sharedReasoningCap) ??
177
+ base.outputBudget.sharedReasoningCap,
178
+ visibleAnswerReserveTokens: firstDefined(layers, (l) => l.outputBudget?.visibleAnswerReserveTokens) ?? base.outputBudget.visibleAnswerReserveTokens,
179
+ mandatoryReasoningReserveTokens: firstDefined(layers, (l) => l.outputBudget?.mandatoryReasoningReserveTokens) ?? base.outputBudget.mandatoryReasoningReserveTokens,
180
+ },
181
+ limits: {
182
+ ...(contextTokens !== undefined ? { contextTokens } : {}),
183
+ ...(outputTokens !== undefined ? { outputTokens } : {}),
184
+ source: firstDefined(layers, (l) => l.limits?.source) ?? base.limits.source,
185
+ },
186
+ cache: {
187
+ kind: firstDefined(layers, (l) => l.cache?.kind) ?? base.cache.kind,
188
+ ...(affinityField !== undefined ? { affinityField } : {}),
189
+ ...(isolationField !== undefined ? { isolationField } : {}),
190
+ cacheAffectingFields: firstList(layers, (l) => l.cache?.cacheAffectingFields) ??
191
+ base.cache.cacheAffectingFields,
192
+ evidence: evidenceFor(layers, (l) => l.cache?.kind !== undefined),
193
+ },
194
+ usage: {
195
+ ...(cachedInput !== undefined ? { cachedInput } : {}),
196
+ ...(uncachedInput !== undefined ? { uncachedInput } : {}),
197
+ ...(cacheWrite !== undefined ? { cacheWrite } : {}),
198
+ ...(reasoningOutput !== undefined ? { reasoningOutput } : {}),
199
+ },
200
+ terminal: {
201
+ proofs: firstList(layers, (l) => l.terminal?.proofs) ?? base.terminal.proofs,
202
+ naturalEofAccepted: firstDefined(layers, (l) => l.terminal?.naturalEofAccepted) ??
203
+ base.terminal.naturalEofAccepted,
204
+ evidence: evidenceFor(layers, (l) => l.terminal?.proofs !== undefined),
205
+ },
206
+ evidence: layers[0].evidence,
207
+ };
208
+ }
209
+ const controlRejections = new Map();
210
+ function scopeKey(scope) {
211
+ return [
212
+ scope.provider,
213
+ scope.model.trim().toLowerCase(),
214
+ scope.endpointHash ?? "",
215
+ scope.credentialHash ?? "",
216
+ scope.configGeneration ?? "",
217
+ ].join("|");
218
+ }
219
+ function rejectionStoreKey(key) {
220
+ return `${scopeKey(key)}|${key.field.trim().toLowerCase()}|${key.value?.trim().toLowerCase() ?? ""}`;
221
+ }
222
+ export function recordControlRejection(key, options) {
223
+ if (!key.field.trim())
224
+ return;
225
+ const now = options?.now ?? Date.now();
226
+ const ttl = options?.ttlMs === undefined
227
+ ? DEFAULT_CONTROL_REJECTION_TTL_MS
228
+ : Math.max(0, options.ttlMs);
229
+ const storedKey = rejectionStoreKey(key);
230
+ controlRejections.set(storedKey, {
231
+ key: { ...key, field: key.field.trim() },
232
+ storedKey,
233
+ expiresAt: now + ttl,
234
+ });
235
+ }
236
+ export function isControlRejected(key, now) {
237
+ const stored = controlRejections.get(rejectionStoreKey(key));
238
+ if (!stored)
239
+ return false;
240
+ return (now ?? Date.now()) < stored.expiresAt;
241
+ }
242
+ export function activeControlRejections(scope, now) {
243
+ const prefix = `${scopeKey(scope)}|`;
244
+ const at = now ?? Date.now();
245
+ return [...controlRejections.values()]
246
+ .filter((stored) => stored.storedKey.startsWith(prefix) && at < stored.expiresAt)
247
+ .map((stored) => stored.key);
248
+ }
249
+ export function clearControlRejections() {
250
+ controlRejections.clear();
251
+ }
252
+ const CONTROL_FIELD_BY_DIALECT = {
253
+ "openai-effort": "reasoning_effort",
254
+ "openai-nested-reasoning": "reasoning",
255
+ "anthropic-thinking": "reasoning_effort",
256
+ "deepseek-thinking": "thinking",
257
+ "qwen-enable-thinking": "enable_thinking",
258
+ "kimi-template-thinking": "chat_template_kwargs",
259
+ "glm-enable-thinking": "chat_template_kwargs",
260
+ "chat-template-thinking": "chat_template_kwargs",
261
+ "nemotron-reasoning-budget": "reasoning_budget",
262
+ "gemini-thinking-config": "generationconfig.thinkingconfig",
263
+ "meta-reasoning-effort": "reasoning_effort",
264
+ "ollama-think": "think",
265
+ "groq-model-specific": "reasoning_effort",
266
+ "modal-advertised-effort": "reasoning_effort",
267
+ none: "",
268
+ };
269
+ const REASONING_CONTROL_FIELDS = new Set(Object.values(CONTROL_FIELD_BY_DIALECT).filter(Boolean));
270
+ // a rejected control downgrades only the control facet; parsing stays permissive
271
+ export function applyObservedControlRejections(profile, now) {
272
+ const dialect = profile.reasoning.control.dialect;
273
+ const dialectField = CONTROL_FIELD_BY_DIALECT[dialect];
274
+ const matchesRoute = (field) => dialectField !== ""
275
+ ? field === dialectField
276
+ : REASONING_CONTROL_FIELDS.has(field);
277
+ const rejection = activeControlRejections(profile.route, now).find((candidate) => matchesRoute(candidate.field.toLowerCase()));
278
+ if (!rejection)
279
+ return profile;
280
+ return {
281
+ ...profile,
282
+ reasoning: {
283
+ ...profile.reasoning,
284
+ control: {
285
+ ...profile.reasoning.control,
286
+ status: "unsupported",
287
+ evidence: {
288
+ source: "observed",
289
+ confidence: "inferred",
290
+ observedAt: new Date(now ?? Date.now()).toISOString(),
291
+ detail: rejection.value
292
+ ? `rejected ${rejection.field}=${rejection.value}`
293
+ : `rejected ${rejection.field}`,
294
+ },
295
+ },
296
+ },
297
+ };
298
+ }
299
+ export function profileSummary(profile) {
300
+ return {
301
+ provider: profile.route.provider,
302
+ model: profile.route.model,
303
+ wireApi: profile.route.wireApi,
304
+ reasoning: {
305
+ generation: profile.reasoning.generation,
306
+ controlDialect: profile.reasoning.control.dialect,
307
+ controlStatus: profile.reasoning.control.status,
308
+ disable: profile.reasoning.disable,
309
+ replayScope: profile.reasoning.replayScope,
310
+ finalTurnPreservation: profile.reasoning.finalTurnPreservation,
311
+ evidenceSources: [
312
+ profile.reasoning.generationEvidence.source,
313
+ profile.reasoning.control.evidence.source,
314
+ ],
315
+ },
316
+ capabilities: profile.capabilities,
317
+ limits: profile.limits,
318
+ cache: { kind: profile.cache.kind },
319
+ terminal: {
320
+ proofs: profile.terminal.proofs,
321
+ naturalEofAccepted: profile.terminal.naturalEofAccepted,
322
+ },
323
+ evidence: profile.evidence,
324
+ };
325
+ }
326
+ export function isBuiltInProviderId(provider) {
327
+ return providerIds.includes(provider);
328
+ }
329
+ //# sourceMappingURL=provider-profile.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider-profile.js","sourceRoot":"","sources":["../../src/llm/provider-profile.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import type { ProviderId } from "../types.js";
2
+ import { type ProviderProfile, type ProviderProfileLayer, type ProviderProfileSourceLayers, type WireApi } from "./provider-profile.js";
3
+ export declare function providerWireApi(provider: ProviderId, model: string): WireApi;
4
+ export declare function builtInProfileLayers(provider: ProviderId, model: string): ProviderProfileSourceLayers;
5
+ export declare function resolveBuiltInProfile(input: {
6
+ provider: ProviderId;
7
+ model: string;
8
+ endpointHash?: string | undefined;
9
+ credentialHash?: string | undefined;
10
+ configGeneration?: string | undefined;
11
+ catalogLayer?: ProviderProfileLayer | undefined;
12
+ }): ProviderProfile;
13
+ export declare function directDeepSeekV4Layer(): ProviderProfileLayer;