@stll/ai-catalog 0.7.1 → 0.8.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.
package/dist/index.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- import { $ as resolveWorkingBYOKModelForRole, A as RECOMMENDED_CHAT_MODELS, B as getContextWindowTokens, C as MODEL_DISPLAY_METADATA, Ct as ReasoningReplayFormat, D as ModelRole, Dt as ModelRateAmounts, E as ModelDisplayMetadata, Et as ModelRate, F as StreamingToolUseSupport, G as getModelReasoningCapabilities, H as getModelDisplayMetadata, I as TANSTACK_AI_PROVIDERS, J as isBYOKModelRoleSupported, K as getModelReasoningEfforts, L as TEMPERATURE_POLICIES, M as ResolveReasoningEffortOptions, N as ResolvedReasoningEffort, O as OfferedBYOKModelId, Ot as getStandardModelRate, P as STREAMING_TOOL_USE_SUPPORTS, Q as resolveReasoningEffort, R as TanStackAIProvider, S as MODEL_CATALOG_PROVIDER_KIND, St as ReasoningProvenance, T as MODEL_STREAMING_TOOL_USE, Tt as MODEL_RATE_UNITS_PER_USD, U as getModelImageInputCapability, V as getModelDefaultReasoningEffort, W as getModelRate, X as isChatPdfAttachmentModelSupported, Y as isBYOKProviderRoleSupported, Z as normalizeModelCatalogId, _ as FIRST_PARTY_MODEL_PROVIDERS, _t as ModelsDevRateProvider, a as BYOKProvider, at as MODEL_REASONING_EFFORTS, b as ImageInputCapability, bt as ModelReasoningCapabilities, c as BYOK_MODEL_OPTIONS, ct as DocumentInputOverride, d as DECISION_MODEL_CATALOG, dt as IMAGE_INPUT_OVERRIDES, et as shouldEmitTemperature, f as DECISION_MODEL_PROVIDERS, ft as ImageInputOverride, g as FALLBACK_CHAT_MODEL_BY_PROVIDER, gt as MODELS_DEV_RATE_SOURCE_ALIASES, h as DecisionModelProvider, ht as MODELS_DEV_RATE_PROVIDER_BY_CATALOG_PROVIDER, i as BYOKModelIdByProvider, it as MODEL_OUTPUT_TOKEN_LIMITS, j as ReasoningEffort, k as REASONING_EFFORTS, kt as resolveModelRate, l as CHAT_PDF_ATTACHMENT_MODEL_OPTIONS, lt as CAPABILITY_OVERRIDES, m as DEFAULT_MODELS, mt as MODELS_DEV_RATE_CORRECTIONS, n as AI_PROVIDERS, nt as MODEL_DEFAULT_REASONING_EFFORTS, o as BYOK_DEFAULT_MODELS, ot as MODEL_TEMPERATURE_POLICIES, p as DEFAULT_CONTEXT_WINDOW_TOKENS, pt as ImageInputOverrides, q as getOutputTokenLimit, r as ANTHROPIC_ADAPTIVE_THINKING_MODELS, rt as MODEL_IMAGE_INPUT_CAPABILITIES, s as BYOK_DOCUMENT_INPUT_MODEL_OPTIONS, st as DOCUMENT_INPUT_OVERRIDES, t as AIProvider, tt as supportsStreamingToolUse, u as CONTEXT_WINDOW_TOKENS, ut as CapabilityOverride, v as FirstPartyModelProvider, vt as RETAINED_MODELS_DEV_RATE_ENTRIES, w as MODEL_ROLES, wt as MODEL_RATES, x as MODEL_CATALOG_ID_ALIASES, xt as REASONING_REPLAY_FORMATS, y as IMAGE_INPUT_CAPABILITIES, yt as MODEL_REASONING_CAPABILITIES, z as TemperaturePolicy } from "./index-EpV_hi43.js";
2
- export { AIProvider, AI_PROVIDERS, ANTHROPIC_ADAPTIVE_THINKING_MODELS, BYOKModelIdByProvider, BYOKProvider, BYOK_DEFAULT_MODELS, BYOK_DOCUMENT_INPUT_MODEL_OPTIONS, BYOK_MODEL_OPTIONS, CAPABILITY_OVERRIDES, CHAT_PDF_ATTACHMENT_MODEL_OPTIONS, CONTEXT_WINDOW_TOKENS, type CapabilityOverride, DECISION_MODEL_CATALOG, DECISION_MODEL_PROVIDERS, DEFAULT_CONTEXT_WINDOW_TOKENS, DEFAULT_MODELS, DOCUMENT_INPUT_OVERRIDES, DecisionModelProvider, type DocumentInputOverride, FALLBACK_CHAT_MODEL_BY_PROVIDER, FIRST_PARTY_MODEL_PROVIDERS, FirstPartyModelProvider, IMAGE_INPUT_CAPABILITIES, IMAGE_INPUT_OVERRIDES, ImageInputCapability, type ImageInputOverride, type ImageInputOverrides, MODELS_DEV_RATE_CORRECTIONS, MODELS_DEV_RATE_PROVIDER_BY_CATALOG_PROVIDER, MODELS_DEV_RATE_SOURCE_ALIASES, MODEL_CATALOG_ID_ALIASES, MODEL_CATALOG_PROVIDER_KIND, MODEL_DEFAULT_REASONING_EFFORTS, MODEL_DISPLAY_METADATA, MODEL_IMAGE_INPUT_CAPABILITIES, MODEL_OUTPUT_TOKEN_LIMITS, MODEL_RATES, MODEL_RATE_UNITS_PER_USD, MODEL_REASONING_CAPABILITIES, MODEL_REASONING_EFFORTS, MODEL_ROLES, MODEL_STREAMING_TOOL_USE, MODEL_TEMPERATURE_POLICIES, ModelDisplayMetadata, type ModelRate, type ModelRateAmounts, type ModelReasoningCapabilities, ModelRole, type ModelsDevRateProvider, OfferedBYOKModelId, REASONING_EFFORTS, REASONING_REPLAY_FORMATS, RECOMMENDED_CHAT_MODELS, RETAINED_MODELS_DEV_RATE_ENTRIES, ReasoningEffort, type ReasoningProvenance, type ReasoningReplayFormat, ResolveReasoningEffortOptions, ResolvedReasoningEffort, STREAMING_TOOL_USE_SUPPORTS, StreamingToolUseSupport, TANSTACK_AI_PROVIDERS, TEMPERATURE_POLICIES, TanStackAIProvider, TemperaturePolicy, getContextWindowTokens, getModelDefaultReasoningEffort, getModelDisplayMetadata, getModelImageInputCapability, getModelRate, getModelReasoningCapabilities, getModelReasoningEfforts, getOutputTokenLimit, getStandardModelRate, isBYOKModelRoleSupported, isBYOKProviderRoleSupported, isChatPdfAttachmentModelSupported, normalizeModelCatalogId, resolveModelRate, resolveReasoningEffort, resolveWorkingBYOKModelForRole, shouldEmitTemperature, supportsStreamingToolUse };
1
+ import { $ as MODEL_IMAGE_INPUT_CAPABILITIES, A as STREAMING_TOOL_USE_SUPPORTS, At as MODEL_TASK_OVERRIDE_GROUP, B as getModelRate, Bt as resolveDefaultModel, C as ModelDisplayMetadata, Ct as ModelRateAmounts, D as ReasoningEffort, Dt as MODEL_OVERRIDE_GROUPS, E as RECOMMENDED_CHAT_MODELS, F as TemperaturePolicy, G as isBYOKProviderRoleSupported, H as getModelReasoningEfforts, I as getContextWindowTokens, J as resolveReasoningEffort, K as isChatPdfAttachmentModelSupported, L as getModelDefaultReasoningEffort, Lt as ModelOverrideGroup, M as TANSTACK_AI_PROVIDERS, N as TEMPERATURE_POLICIES, O as ResolveReasoningEffortOptions, Ot as MODEL_OVERRIDE_GROUP_TASK, P as TanStackAIProvider, Q as MODEL_DEFAULT_REASONING_EFFORTS, R as getModelDisplayMetadata, Rt as ModelTask, S as MODEL_STREAMING_TOOL_USE, St as ModelRate, T as REASONING_EFFORTS, Tt as resolveModelRate, U as getOutputTokenLimit, V as getModelReasoningCapabilities, Vt as resolveDefaultOverrideModels, W as isBYOKModelRoleSupported, X as shouldEmitTemperature, Y as resolveWorkingBYOKModelForTask, Z as supportsStreamingToolUse, _ as IMAGE_INPUT_CAPABILITIES, _t as REASONING_REPLAY_FORMATS, a as BYOKProvider, at as CAPABILITY_OVERRIDES, b as MODEL_CATALOG_PROVIDER_KIND, bt as MODEL_RATES, c as BYOK_MODEL_OPTIONS, ct as ImageInputOverride, d as DECISION_MODEL_CATALOG, dt as MODELS_DEV_RATE_PROVIDER_BY_CATALOG_PROVIDER, et as MODEL_OUTPUT_TOKEN_LIMITS, f as DECISION_MODEL_PROVIDERS, ft as MODELS_DEV_RATE_SOURCE_ALIASES, g as FirstPartyModelProvider, gt as ModelReasoningCapabilities, h as FIRST_PARTY_MODEL_PROVIDERS, ht as MODEL_REASONING_CAPABILITIES, i as BYOKModelIdByProvider, it as DocumentInputOverride, j as StreamingToolUseSupport, k as ResolvedReasoningEffort, kt as MODEL_TASKS, l as CHAT_PDF_ATTACHMENT_MODEL_OPTIONS, lt as ImageInputOverrides, m as DecisionModelProvider, mt as RETAINED_MODELS_DEV_RATE_ENTRIES, n as AI_PROVIDERS, nt as MODEL_TEMPERATURE_POLICIES, o as BYOK_DEFAULT_MODELS, ot as CapabilityOverride, p as DEFAULT_CONTEXT_WINDOW_TOKENS, pt as ModelsDevRateProvider, q as normalizeModelCatalogId, r as ANTHROPIC_ADAPTIVE_THINKING_MODELS, rt as DOCUMENT_INPUT_OVERRIDES, s as BYOK_DOCUMENT_INPUT_MODEL_OPTIONS, st as IMAGE_INPUT_OVERRIDES, t as AIProvider, tt as MODEL_REASONING_EFFORTS, u as CONTEXT_WINDOW_TOKENS, ut as MODELS_DEV_RATE_CORRECTIONS, v as ImageInputCapability, vt as ReasoningProvenance, w as OfferedBYOKModelId, wt as getStandardModelRate, x as MODEL_DISPLAY_METADATA, xt as MODEL_RATE_UNITS_PER_USD, y as MODEL_CATALOG_ID_ALIASES, yt as ReasoningReplayFormat, z as getModelImageInputCapability } from "./index-Bo8Lm9sX.js";
2
+ export { AIProvider, AI_PROVIDERS, ANTHROPIC_ADAPTIVE_THINKING_MODELS, BYOKModelIdByProvider, BYOKProvider, BYOK_DEFAULT_MODELS, BYOK_DOCUMENT_INPUT_MODEL_OPTIONS, BYOK_MODEL_OPTIONS, CAPABILITY_OVERRIDES, CHAT_PDF_ATTACHMENT_MODEL_OPTIONS, CONTEXT_WINDOW_TOKENS, type CapabilityOverride, DECISION_MODEL_CATALOG, DECISION_MODEL_PROVIDERS, DEFAULT_CONTEXT_WINDOW_TOKENS, DOCUMENT_INPUT_OVERRIDES, DecisionModelProvider, type DocumentInputOverride, FIRST_PARTY_MODEL_PROVIDERS, FirstPartyModelProvider, IMAGE_INPUT_CAPABILITIES, IMAGE_INPUT_OVERRIDES, ImageInputCapability, type ImageInputOverride, type ImageInputOverrides, MODELS_DEV_RATE_CORRECTIONS, MODELS_DEV_RATE_PROVIDER_BY_CATALOG_PROVIDER, MODELS_DEV_RATE_SOURCE_ALIASES, MODEL_CATALOG_ID_ALIASES, MODEL_CATALOG_PROVIDER_KIND, MODEL_DEFAULT_REASONING_EFFORTS, MODEL_DISPLAY_METADATA, MODEL_IMAGE_INPUT_CAPABILITIES, MODEL_OUTPUT_TOKEN_LIMITS, MODEL_OVERRIDE_GROUPS, MODEL_OVERRIDE_GROUP_TASK, MODEL_RATES, MODEL_RATE_UNITS_PER_USD, MODEL_REASONING_CAPABILITIES, MODEL_REASONING_EFFORTS, MODEL_STREAMING_TOOL_USE, MODEL_TASKS, MODEL_TASK_OVERRIDE_GROUP, MODEL_TEMPERATURE_POLICIES, ModelDisplayMetadata, type ModelOverrideGroup, type ModelRate, type ModelRateAmounts, type ModelReasoningCapabilities, type ModelTask, type ModelsDevRateProvider, OfferedBYOKModelId, REASONING_EFFORTS, REASONING_REPLAY_FORMATS, RECOMMENDED_CHAT_MODELS, RETAINED_MODELS_DEV_RATE_ENTRIES, ReasoningEffort, type ReasoningProvenance, type ReasoningReplayFormat, ResolveReasoningEffortOptions, ResolvedReasoningEffort, STREAMING_TOOL_USE_SUPPORTS, StreamingToolUseSupport, TANSTACK_AI_PROVIDERS, TEMPERATURE_POLICIES, TanStackAIProvider, TemperaturePolicy, getContextWindowTokens, getModelDefaultReasoningEffort, getModelDisplayMetadata, getModelImageInputCapability, getModelRate, getModelReasoningCapabilities, getModelReasoningEfforts, getOutputTokenLimit, getStandardModelRate, isBYOKModelRoleSupported, isBYOKProviderRoleSupported, isChatPdfAttachmentModelSupported, normalizeModelCatalogId, resolveDefaultModel, resolveDefaultOverrideModels, resolveModelRate, resolveReasoningEffort, resolveWorkingBYOKModelForTask, shouldEmitTemperature, supportsStreamingToolUse };
package/dist/index.js CHANGED
@@ -1 +1,3 @@
1
- export { t as AI_PROVIDERS, n as ANTHROPIC_ADAPTIVE_THINKING_MODELS, r as BYOK_DEFAULT_MODELS, i as BYOK_DOCUMENT_INPUT_MODEL_OPTIONS, a as BYOK_MODEL_OPTIONS, H as CAPABILITY_OVERRIDES, o as CHAT_PDF_ATTACHMENT_MODEL_OPTIONS, s as CONTEXT_WINDOW_TOKENS, c as DECISION_MODEL_CATALOG, l as DECISION_MODEL_PROVIDERS, u as DEFAULT_CONTEXT_WINDOW_TOKENS, d as DEFAULT_MODELS, V as DOCUMENT_INPUT_OVERRIDES, f as FALLBACK_CHAT_MODEL_BY_PROVIDER, p as FIRST_PARTY_MODEL_PROVIDERS, m as IMAGE_INPUT_CAPABILITIES, U as IMAGE_INPUT_OVERRIDES, W as MODELS_DEV_RATE_CORRECTIONS, G as MODELS_DEV_RATE_PROVIDER_BY_CATALOG_PROVIDER, K as MODELS_DEV_RATE_SOURCE_ALIASES, h as MODEL_CATALOG_ID_ALIASES, g as MODEL_CATALOG_PROVIDER_KIND, et as MODEL_DEFAULT_REASONING_EFFORTS, _ as MODEL_DISPLAY_METADATA, tt as MODEL_IMAGE_INPUT_CAPABILITIES, nt as MODEL_OUTPUT_TOKEN_LIMITS, $ as MODEL_RATES, J as MODEL_RATE_UNITS_PER_USD, Z as MODEL_REASONING_CAPABILITIES, rt as MODEL_REASONING_EFFORTS, v as MODEL_ROLES, y as MODEL_STREAMING_TOOL_USE, it as MODEL_TEMPERATURE_POLICIES, b as REASONING_EFFORTS, Q as REASONING_REPLAY_FORMATS, x as RECOMMENDED_CHAT_MODELS, q as RETAINED_MODELS_DEV_RATE_ENTRIES, S as STREAMING_TOOL_USE_SUPPORTS, C as TANSTACK_AI_PROVIDERS, w as TEMPERATURE_POLICIES, T as getContextWindowTokens, E as getModelDefaultReasoningEffort, D as getModelDisplayMetadata, O as getModelImageInputCapability, k as getModelRate, A as getModelReasoningCapabilities, j as getModelReasoningEfforts, M as getOutputTokenLimit, Y as getStandardModelRate, N as isBYOKModelRoleSupported, P as isBYOKProviderRoleSupported, F as isChatPdfAttachmentModelSupported, I as normalizeModelCatalogId, X as resolveModelRate, L as resolveReasoningEffort, R as resolveWorkingBYOKModelForRole, z as shouldEmitTemperature, B as supportsStreamingToolUse } from "./src-CyBTM4lw.js";
1
+ import { $ as MODEL_OUTPUT_TOKEN_LIMITS, A as isBYOKModelRoleSupported, B as IMAGE_INPUT_OVERRIDES, C as getModelDefaultReasoningEffort, D as getModelReasoningCapabilities, E as getModelRate, F as resolveWorkingBYOKModelForTask, G as MODEL_RATE_UNITS_PER_USD, H as MODELS_DEV_RATE_PROVIDER_BY_CATALOG_PROVIDER, I as shouldEmitTemperature, J as MODEL_REASONING_CAPABILITIES, K as getStandardModelRate, L as supportsStreamingToolUse, M as isChatPdfAttachmentModelSupported, N as normalizeModelCatalogId, O as getModelReasoningEfforts, P as resolveReasoningEffort, Q as MODEL_IMAGE_INPUT_CAPABILITIES, R as DOCUMENT_INPUT_OVERRIDES, S as getContextWindowTokens, T as getModelImageInputCapability, U as MODELS_DEV_RATE_SOURCE_ALIASES, V as MODELS_DEV_RATE_CORRECTIONS, W as RETAINED_MODELS_DEV_RATE_ENTRIES, X as MODEL_RATES, Y as REASONING_REPLAY_FORMATS, Z as MODEL_DEFAULT_REASONING_EFFORTS, _ as REASONING_EFFORTS, a as BYOK_MODEL_OPTIONS, b as TANSTACK_AI_PROVIDERS, c as DECISION_MODEL_CATALOG, d as FIRST_PARTY_MODEL_PROVIDERS, et as MODEL_REASONING_EFFORTS, f as IMAGE_INPUT_CAPABILITIES, g as MODEL_STREAMING_TOOL_USE, h as MODEL_DISPLAY_METADATA, i as BYOK_DOCUMENT_INPUT_MODEL_OPTIONS, j as isBYOKProviderRoleSupported, k as getOutputTokenLimit, l as DECISION_MODEL_PROVIDERS, m as MODEL_CATALOG_PROVIDER_KIND, n as ANTHROPIC_ADAPTIVE_THINKING_MODELS, o as CHAT_PDF_ATTACHMENT_MODEL_OPTIONS, p as MODEL_CATALOG_ID_ALIASES, q as resolveModelRate, r as BYOK_DEFAULT_MODELS, s as CONTEXT_WINDOW_TOKENS, t as AI_PROVIDERS, tt as MODEL_TEMPERATURE_POLICIES, u as DEFAULT_CONTEXT_WINDOW_TOKENS, v as RECOMMENDED_CHAT_MODELS, w as getModelDisplayMetadata, x as TEMPERATURE_POLICIES, y as STREAMING_TOOL_USE_SUPPORTS, z as CAPABILITY_OVERRIDES } from "./src-B99ljB46.js";
2
+ import { MODEL_OVERRIDE_GROUPS, MODEL_OVERRIDE_GROUP_TASK, MODEL_TASKS, MODEL_TASK_OVERRIDE_GROUP, resolveDefaultModel, resolveDefaultOverrideModels } from "./model-defaults-ledger.js";
3
+ export { AI_PROVIDERS, ANTHROPIC_ADAPTIVE_THINKING_MODELS, BYOK_DEFAULT_MODELS, BYOK_DOCUMENT_INPUT_MODEL_OPTIONS, BYOK_MODEL_OPTIONS, CAPABILITY_OVERRIDES, CHAT_PDF_ATTACHMENT_MODEL_OPTIONS, CONTEXT_WINDOW_TOKENS, DECISION_MODEL_CATALOG, DECISION_MODEL_PROVIDERS, DEFAULT_CONTEXT_WINDOW_TOKENS, DOCUMENT_INPUT_OVERRIDES, FIRST_PARTY_MODEL_PROVIDERS, IMAGE_INPUT_CAPABILITIES, IMAGE_INPUT_OVERRIDES, MODELS_DEV_RATE_CORRECTIONS, MODELS_DEV_RATE_PROVIDER_BY_CATALOG_PROVIDER, MODELS_DEV_RATE_SOURCE_ALIASES, MODEL_CATALOG_ID_ALIASES, MODEL_CATALOG_PROVIDER_KIND, MODEL_DEFAULT_REASONING_EFFORTS, MODEL_DISPLAY_METADATA, MODEL_IMAGE_INPUT_CAPABILITIES, MODEL_OUTPUT_TOKEN_LIMITS, MODEL_OVERRIDE_GROUPS, MODEL_OVERRIDE_GROUP_TASK, MODEL_RATES, MODEL_RATE_UNITS_PER_USD, MODEL_REASONING_CAPABILITIES, MODEL_REASONING_EFFORTS, MODEL_STREAMING_TOOL_USE, MODEL_TASKS, MODEL_TASK_OVERRIDE_GROUP, MODEL_TEMPERATURE_POLICIES, REASONING_EFFORTS, REASONING_REPLAY_FORMATS, RECOMMENDED_CHAT_MODELS, RETAINED_MODELS_DEV_RATE_ENTRIES, STREAMING_TOOL_USE_SUPPORTS, TANSTACK_AI_PROVIDERS, TEMPERATURE_POLICIES, getContextWindowTokens, getModelDefaultReasoningEffort, getModelDisplayMetadata, getModelImageInputCapability, getModelRate, getModelReasoningCapabilities, getModelReasoningEfforts, getOutputTokenLimit, getStandardModelRate, isBYOKModelRoleSupported, isBYOKProviderRoleSupported, isChatPdfAttachmentModelSupported, normalizeModelCatalogId, resolveDefaultModel, resolveDefaultOverrideModels, resolveModelRate, resolveReasoningEffort, resolveWorkingBYOKModelForTask, shouldEmitTemperature, supportsStreamingToolUse };
@@ -0,0 +1,2 @@
1
+ import { At as MODEL_TASK_OVERRIDE_GROUP, Bt as resolveDefaultModel, Dt as MODEL_OVERRIDE_GROUPS, Et as MODEL_DEFAULTS_LEDGER, Ft as ModelDefaultsLedger, It as ModelMode, Lt as ModelOverrideGroup, Mt as ModelDefaultEntry, Nt as ModelDefaultQuality, Ot as MODEL_OVERRIDE_GROUP_TASK, Pt as ModelDefaultRationale, Rt as ModelTask, Vt as resolveDefaultOverrideModels, jt as ModelDefaultCandidate, kt as MODEL_TASKS, zt as ResolvedDefaultModel } from "./index-Bo8Lm9sX.js";
2
+ export { MODEL_DEFAULTS_LEDGER, MODEL_OVERRIDE_GROUPS, MODEL_OVERRIDE_GROUP_TASK, MODEL_TASKS, MODEL_TASK_OVERRIDE_GROUP, ModelDefaultCandidate, ModelDefaultEntry, ModelDefaultQuality, ModelDefaultRationale, ModelDefaultsLedger, ModelMode, ModelOverrideGroup, ModelTask, ResolvedDefaultModel, resolveDefaultModel, resolveDefaultOverrideModels };
@@ -0,0 +1,450 @@
1
+ //#region src/model-defaults-ledger.ts
2
+ const MODEL_TASKS = [
3
+ "chat",
4
+ "reasoning",
5
+ "analysis",
6
+ "pdf",
7
+ "search-expand",
8
+ "classify",
9
+ "short-text"
10
+ ];
11
+ const MODEL_OVERRIDE_GROUPS = [
12
+ "fast",
13
+ "chat",
14
+ "reasoning",
15
+ "pdf"
16
+ ];
17
+ const MODEL_TASK_OVERRIDE_GROUP = {
18
+ chat: "chat",
19
+ reasoning: "reasoning",
20
+ analysis: "chat",
21
+ pdf: "pdf",
22
+ "search-expand": "fast",
23
+ classify: "fast",
24
+ "short-text": "fast"
25
+ };
26
+ const MODEL_OVERRIDE_GROUP_TASK = {
27
+ fast: "short-text",
28
+ chat: "chat",
29
+ reasoning: "reasoning",
30
+ pdf: "pdf"
31
+ };
32
+ const PROVIDER_DEFAULT_OMIT_MODE = {
33
+ type: "provider-default",
34
+ temperaturePolicy: "omit"
35
+ };
36
+ const PROVIDER_DEFAULT_EMIT_MODE = {
37
+ type: "provider-default",
38
+ temperaturePolicy: "emit"
39
+ };
40
+ const GOOGLE_FLASH_NONE_MODE = {
41
+ type: "google-thinking",
42
+ requestedEffort: "none",
43
+ thinkingLevel: "LOW",
44
+ temperaturePolicy: "omit"
45
+ };
46
+ const GOOGLE_FLASH_HIGH_MODE = {
47
+ type: "google-thinking",
48
+ requestedEffort: "high",
49
+ thinkingLevel: "HIGH",
50
+ temperaturePolicy: "omit"
51
+ };
52
+ const UNMEASURED_SEED_QUALITY = {
53
+ source: "seed",
54
+ measurement: { status: "unmeasured" }
55
+ };
56
+ const DEFAULT_RATIONALE_BY_GROUP = {
57
+ fast: { rationaleKey: "organization.aiConfig.defaultRationale.fast" },
58
+ chat: { rationaleKey: "organization.aiConfig.defaultRationale.chat" },
59
+ reasoning: { rationaleKey: "organization.aiConfig.defaultRationale.reasoning" },
60
+ pdf: { rationaleKey: "organization.aiConfig.defaultRationale.pdf" }
61
+ };
62
+ const CHAT_DEFAULTS = {
63
+ google: {
64
+ kind: "candidate",
65
+ candidate: {
66
+ modelId: "gemini-3.8-flash",
67
+ mode: GOOGLE_FLASH_NONE_MODE
68
+ },
69
+ quality: UNMEASURED_SEED_QUALITY,
70
+ rationale: DEFAULT_RATIONALE_BY_GROUP.chat
71
+ },
72
+ openrouter: {
73
+ kind: "candidate",
74
+ candidate: {
75
+ modelId: "openai/gpt-6-sol",
76
+ mode: PROVIDER_DEFAULT_OMIT_MODE
77
+ },
78
+ quality: UNMEASURED_SEED_QUALITY,
79
+ rationale: DEFAULT_RATIONALE_BY_GROUP.chat
80
+ },
81
+ openai: {
82
+ kind: "candidate",
83
+ candidate: {
84
+ modelId: "gpt-6-sol",
85
+ mode: PROVIDER_DEFAULT_OMIT_MODE
86
+ },
87
+ quality: UNMEASURED_SEED_QUALITY,
88
+ rationale: DEFAULT_RATIONALE_BY_GROUP.chat
89
+ },
90
+ azure_foundry: {
91
+ kind: "candidate",
92
+ candidate: {
93
+ modelId: "gpt-5.6-terra",
94
+ mode: PROVIDER_DEFAULT_OMIT_MODE
95
+ },
96
+ quality: UNMEASURED_SEED_QUALITY,
97
+ rationale: DEFAULT_RATIONALE_BY_GROUP.chat
98
+ },
99
+ anthropic: {
100
+ kind: "candidate",
101
+ candidate: {
102
+ modelId: "claude-opus-5-5",
103
+ mode: PROVIDER_DEFAULT_OMIT_MODE
104
+ },
105
+ quality: UNMEASURED_SEED_QUALITY,
106
+ rationale: DEFAULT_RATIONALE_BY_GROUP.chat
107
+ },
108
+ bedrock: {
109
+ kind: "candidate",
110
+ candidate: {
111
+ modelId: "us.anthropic.claude-sonnet-4-5-20250929-v1:0",
112
+ mode: PROVIDER_DEFAULT_EMIT_MODE
113
+ },
114
+ quality: UNMEASURED_SEED_QUALITY,
115
+ rationale: DEFAULT_RATIONALE_BY_GROUP.chat
116
+ },
117
+ mistral: {
118
+ kind: "candidate",
119
+ candidate: {
120
+ modelId: "mistral-medium-latest",
121
+ mode: PROVIDER_DEFAULT_EMIT_MODE
122
+ },
123
+ quality: UNMEASURED_SEED_QUALITY,
124
+ rationale: DEFAULT_RATIONALE_BY_GROUP.chat
125
+ },
126
+ openai_compatible: {
127
+ kind: "candidate",
128
+ candidate: {
129
+ modelId: "default",
130
+ mode: PROVIDER_DEFAULT_OMIT_MODE
131
+ },
132
+ quality: UNMEASURED_SEED_QUALITY,
133
+ rationale: DEFAULT_RATIONALE_BY_GROUP.chat
134
+ },
135
+ huggingface: {
136
+ kind: "candidate",
137
+ candidate: {
138
+ modelId: "speakleash/Bielik-11B-v2.3-Instruct",
139
+ mode: PROVIDER_DEFAULT_OMIT_MODE
140
+ },
141
+ quality: UNMEASURED_SEED_QUALITY,
142
+ rationale: DEFAULT_RATIONALE_BY_GROUP.chat
143
+ }
144
+ };
145
+ const REASONING_DEFAULTS = {
146
+ google: {
147
+ kind: "candidate",
148
+ candidate: {
149
+ modelId: "gemini-3.8-flash",
150
+ mode: GOOGLE_FLASH_HIGH_MODE
151
+ },
152
+ quality: UNMEASURED_SEED_QUALITY,
153
+ rationale: DEFAULT_RATIONALE_BY_GROUP.reasoning
154
+ },
155
+ openrouter: {
156
+ kind: "candidate",
157
+ candidate: {
158
+ modelId: "openai/gpt-6-sol",
159
+ mode: {
160
+ type: "reasoning-effort",
161
+ effort: "high",
162
+ temperaturePolicy: "omit"
163
+ }
164
+ },
165
+ quality: UNMEASURED_SEED_QUALITY,
166
+ rationale: DEFAULT_RATIONALE_BY_GROUP.reasoning
167
+ },
168
+ openai: {
169
+ kind: "candidate",
170
+ candidate: {
171
+ modelId: "gpt-6-sol",
172
+ mode: {
173
+ type: "reasoning-effort",
174
+ effort: "medium",
175
+ temperaturePolicy: "omit"
176
+ }
177
+ },
178
+ quality: UNMEASURED_SEED_QUALITY,
179
+ rationale: DEFAULT_RATIONALE_BY_GROUP.reasoning
180
+ },
181
+ azure_foundry: {
182
+ kind: "candidate",
183
+ candidate: {
184
+ modelId: "gpt-5.6-terra",
185
+ mode: PROVIDER_DEFAULT_OMIT_MODE
186
+ },
187
+ quality: UNMEASURED_SEED_QUALITY,
188
+ rationale: DEFAULT_RATIONALE_BY_GROUP.reasoning
189
+ },
190
+ anthropic: {
191
+ kind: "candidate",
192
+ candidate: {
193
+ modelId: "claude-opus-5-5",
194
+ mode: {
195
+ type: "anthropic-thinking",
196
+ thinking: { type: "adaptive" },
197
+ temperaturePolicy: "omit"
198
+ }
199
+ },
200
+ quality: UNMEASURED_SEED_QUALITY,
201
+ rationale: DEFAULT_RATIONALE_BY_GROUP.reasoning
202
+ },
203
+ bedrock: {
204
+ kind: "candidate",
205
+ candidate: {
206
+ modelId: "us.anthropic.claude-sonnet-4-5-20250929-v1:0",
207
+ mode: PROVIDER_DEFAULT_EMIT_MODE
208
+ },
209
+ quality: UNMEASURED_SEED_QUALITY,
210
+ rationale: DEFAULT_RATIONALE_BY_GROUP.reasoning
211
+ },
212
+ mistral: {
213
+ kind: "candidate",
214
+ candidate: {
215
+ modelId: "mistral-medium-latest",
216
+ mode: PROVIDER_DEFAULT_EMIT_MODE
217
+ },
218
+ quality: UNMEASURED_SEED_QUALITY,
219
+ rationale: DEFAULT_RATIONALE_BY_GROUP.reasoning
220
+ },
221
+ openai_compatible: {
222
+ kind: "candidate",
223
+ candidate: {
224
+ modelId: "default",
225
+ mode: PROVIDER_DEFAULT_OMIT_MODE
226
+ },
227
+ quality: UNMEASURED_SEED_QUALITY,
228
+ rationale: DEFAULT_RATIONALE_BY_GROUP.reasoning
229
+ },
230
+ huggingface: {
231
+ kind: "candidate",
232
+ candidate: {
233
+ modelId: "speakleash/Bielik-11B-v2.3-Instruct",
234
+ mode: PROVIDER_DEFAULT_OMIT_MODE
235
+ },
236
+ quality: UNMEASURED_SEED_QUALITY,
237
+ rationale: DEFAULT_RATIONALE_BY_GROUP.reasoning
238
+ }
239
+ };
240
+ const PDF_DEFAULTS = {
241
+ google: {
242
+ kind: "candidate",
243
+ candidate: {
244
+ modelId: "gemini-3.8-flash",
245
+ mode: GOOGLE_FLASH_NONE_MODE
246
+ },
247
+ quality: UNMEASURED_SEED_QUALITY,
248
+ rationale: DEFAULT_RATIONALE_BY_GROUP.pdf
249
+ },
250
+ openrouter: {
251
+ kind: "candidate",
252
+ candidate: {
253
+ modelId: "openai/gpt-6-sol",
254
+ mode: PROVIDER_DEFAULT_OMIT_MODE
255
+ },
256
+ quality: UNMEASURED_SEED_QUALITY,
257
+ rationale: DEFAULT_RATIONALE_BY_GROUP.pdf
258
+ },
259
+ openai: {
260
+ kind: "candidate",
261
+ candidate: {
262
+ modelId: "gpt-6-sol",
263
+ mode: PROVIDER_DEFAULT_OMIT_MODE
264
+ },
265
+ quality: UNMEASURED_SEED_QUALITY,
266
+ rationale: DEFAULT_RATIONALE_BY_GROUP.pdf
267
+ },
268
+ azure_foundry: {
269
+ kind: "candidate",
270
+ candidate: {
271
+ modelId: "gpt-5.6-terra",
272
+ mode: PROVIDER_DEFAULT_OMIT_MODE
273
+ },
274
+ quality: UNMEASURED_SEED_QUALITY,
275
+ rationale: DEFAULT_RATIONALE_BY_GROUP.pdf
276
+ },
277
+ anthropic: {
278
+ kind: "candidate",
279
+ candidate: {
280
+ modelId: "claude-opus-5-5",
281
+ mode: PROVIDER_DEFAULT_OMIT_MODE
282
+ },
283
+ quality: UNMEASURED_SEED_QUALITY,
284
+ rationale: DEFAULT_RATIONALE_BY_GROUP.pdf
285
+ },
286
+ bedrock: {
287
+ kind: "candidate",
288
+ candidate: {
289
+ modelId: "us.anthropic.claude-sonnet-4-5-20250929-v1:0",
290
+ mode: PROVIDER_DEFAULT_EMIT_MODE
291
+ },
292
+ quality: UNMEASURED_SEED_QUALITY,
293
+ rationale: DEFAULT_RATIONALE_BY_GROUP.pdf
294
+ },
295
+ mistral: {
296
+ kind: "unsupported",
297
+ reason: "document-input-unsupported"
298
+ },
299
+ openai_compatible: {
300
+ kind: "candidate",
301
+ candidate: {
302
+ modelId: "default",
303
+ mode: PROVIDER_DEFAULT_OMIT_MODE
304
+ },
305
+ quality: UNMEASURED_SEED_QUALITY,
306
+ rationale: DEFAULT_RATIONALE_BY_GROUP.pdf
307
+ },
308
+ huggingface: {
309
+ kind: "candidate",
310
+ candidate: {
311
+ modelId: "speakleash/Bielik-11B-v2.3-Instruct",
312
+ mode: PROVIDER_DEFAULT_OMIT_MODE
313
+ },
314
+ quality: UNMEASURED_SEED_QUALITY,
315
+ rationale: DEFAULT_RATIONALE_BY_GROUP.pdf
316
+ }
317
+ };
318
+ const FAST_DEFAULTS = {
319
+ google: {
320
+ kind: "candidate",
321
+ candidate: {
322
+ modelId: "gemini-3.8-flash",
323
+ mode: GOOGLE_FLASH_NONE_MODE
324
+ },
325
+ quality: UNMEASURED_SEED_QUALITY,
326
+ rationale: DEFAULT_RATIONALE_BY_GROUP.fast
327
+ },
328
+ openrouter: {
329
+ kind: "candidate",
330
+ candidate: {
331
+ modelId: "anthropic/claude-haiku-5.5",
332
+ mode: {
333
+ type: "reasoning-effort",
334
+ effort: "none",
335
+ temperaturePolicy: "omit"
336
+ }
337
+ },
338
+ quality: UNMEASURED_SEED_QUALITY,
339
+ rationale: DEFAULT_RATIONALE_BY_GROUP.fast
340
+ },
341
+ openai: {
342
+ kind: "candidate",
343
+ candidate: {
344
+ modelId: "gpt-6-luna",
345
+ mode: PROVIDER_DEFAULT_OMIT_MODE
346
+ },
347
+ quality: UNMEASURED_SEED_QUALITY,
348
+ rationale: DEFAULT_RATIONALE_BY_GROUP.fast
349
+ },
350
+ azure_foundry: {
351
+ kind: "candidate",
352
+ candidate: {
353
+ modelId: "gpt-5.6-luna",
354
+ mode: PROVIDER_DEFAULT_OMIT_MODE
355
+ },
356
+ quality: UNMEASURED_SEED_QUALITY,
357
+ rationale: DEFAULT_RATIONALE_BY_GROUP.fast
358
+ },
359
+ anthropic: {
360
+ kind: "candidate",
361
+ candidate: {
362
+ modelId: "claude-haiku-5-5",
363
+ mode: PROVIDER_DEFAULT_OMIT_MODE
364
+ },
365
+ quality: UNMEASURED_SEED_QUALITY,
366
+ rationale: DEFAULT_RATIONALE_BY_GROUP.fast
367
+ },
368
+ bedrock: {
369
+ kind: "candidate",
370
+ candidate: {
371
+ modelId: "us.anthropic.claude-haiku-5-5",
372
+ mode: PROVIDER_DEFAULT_OMIT_MODE
373
+ },
374
+ quality: UNMEASURED_SEED_QUALITY,
375
+ rationale: DEFAULT_RATIONALE_BY_GROUP.fast
376
+ },
377
+ mistral: {
378
+ kind: "candidate",
379
+ candidate: {
380
+ modelId: "mistral-small-latest",
381
+ mode: PROVIDER_DEFAULT_EMIT_MODE
382
+ },
383
+ quality: UNMEASURED_SEED_QUALITY,
384
+ rationale: DEFAULT_RATIONALE_BY_GROUP.fast
385
+ },
386
+ openai_compatible: {
387
+ kind: "candidate",
388
+ candidate: {
389
+ modelId: "default",
390
+ mode: PROVIDER_DEFAULT_OMIT_MODE
391
+ },
392
+ quality: UNMEASURED_SEED_QUALITY,
393
+ rationale: DEFAULT_RATIONALE_BY_GROUP.fast
394
+ },
395
+ huggingface: {
396
+ kind: "candidate",
397
+ candidate: {
398
+ modelId: "speakleash/Bielik-1.5B-v3.0-Instruct",
399
+ mode: PROVIDER_DEFAULT_OMIT_MODE
400
+ },
401
+ quality: UNMEASURED_SEED_QUALITY,
402
+ rationale: DEFAULT_RATIONALE_BY_GROUP.fast
403
+ }
404
+ };
405
+ const MODEL_DEFAULTS_LEDGER = {
406
+ chat: CHAT_DEFAULTS,
407
+ reasoning: REASONING_DEFAULTS,
408
+ analysis: CHAT_DEFAULTS,
409
+ pdf: PDF_DEFAULTS,
410
+ "search-expand": FAST_DEFAULTS,
411
+ classify: FAST_DEFAULTS,
412
+ "short-text": FAST_DEFAULTS
413
+ };
414
+ /** Seeded defaults preserve the configured provider order. */
415
+ const resolveDefaultModel = ({ task, orgProviders }) => {
416
+ for (const provider of orgProviders) {
417
+ const entry = MODEL_DEFAULTS_LEDGER[task][provider];
418
+ if (entry.kind === "candidate") return {
419
+ provider,
420
+ modelId: entry.candidate.modelId,
421
+ mode: entry.candidate.mode
422
+ };
423
+ }
424
+ return null;
425
+ };
426
+ const defaultSelection = (selection) => selection === null ? null : {
427
+ provider: selection.provider,
428
+ modelId: selection.modelId
429
+ };
430
+ /** Settings groups are a presentation of task defaults, not a second selection policy. */
431
+ const resolveDefaultOverrideModels = (orgProviders) => ({
432
+ fast: defaultSelection(resolveDefaultModel({
433
+ task: MODEL_OVERRIDE_GROUP_TASK.fast,
434
+ orgProviders
435
+ })),
436
+ chat: defaultSelection(resolveDefaultModel({
437
+ task: MODEL_OVERRIDE_GROUP_TASK.chat,
438
+ orgProviders
439
+ })),
440
+ reasoning: defaultSelection(resolveDefaultModel({
441
+ task: MODEL_OVERRIDE_GROUP_TASK.reasoning,
442
+ orgProviders
443
+ })),
444
+ pdf: defaultSelection(resolveDefaultModel({
445
+ task: MODEL_OVERRIDE_GROUP_TASK.pdf,
446
+ orgProviders
447
+ }))
448
+ });
449
+ //#endregion
450
+ export { MODEL_DEFAULTS_LEDGER, MODEL_OVERRIDE_GROUPS, MODEL_OVERRIDE_GROUP_TASK, MODEL_TASKS, MODEL_TASK_OVERRIDE_GROUP, resolveDefaultModel, resolveDefaultOverrideModels };