@kindgi/api 0.1.4-rc.5 → 0.1.4

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.
@@ -1 +1 @@
1
- {"version":3,"file":"providers.d.ts","sourceRoot":"","sources":["../../src/routes/providers.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAU5B,OAAO,KAAK,EAAU,QAAQ,EAAE,MAAM,eAAe,CAAC;AAItD,OAAO,KAAK,EAAE,uBAAuB,EAAqB,MAAM,wBAAwB,CAAC;AACzF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAG1C;;;;;;;;;;;;;GAaG;AACH;;;;;;GAMG;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,MAAM,EAAE;IACvC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,UAAU,GAAG,YAAY,CAAC;CAC1C,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAE3B,wBAAgB,eAAe,CAC7B,OAAO,EAAE,uBAAuB,EAChC,OAAO,CAAC,EAAE,iBAAiB,GAC1B,IAAI,CAAC,MAAM,CAAC,CAsPd"}
1
+ {"version":3,"file":"providers.d.ts","sourceRoot":"","sources":["../../src/routes/providers.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAW5B,OAAO,KAAK,EAAU,QAAQ,EAAE,MAAM,eAAe,CAAC;AAItD,OAAO,KAAK,EAAE,uBAAuB,EAAqB,MAAM,wBAAwB,CAAC;AACzF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAG1C;;;;;;;;;;;;;GAaG;AACH;;;;;;GAMG;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,MAAM,EAAE;IACvC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,UAAU,GAAG,YAAY,CAAC;CAC1C,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAE3B,wBAAgB,eAAe,CAC7B,OAAO,EAAE,uBAAuB,EAChC,OAAO,CAAC,EAAE,iBAAiB,GAC1B,IAAI,CAAC,MAAM,CAAC,CAsPd"}
@@ -1,7 +1,7 @@
1
1
  // SPDX-License-Identifier: Apache-2.0
2
2
  // Copyright (C) 2026 Kindgi Inc.
3
3
  import { Hono } from 'hono';
4
- import { FEATURES, validateProviderLabels, } from '@kindgi/capabilities';
4
+ import { FEATURES, isModelThinking, validateProviderLabels, } from '@kindgi/capabilities';
5
5
  import { statusFor, toWireError } from '../errors.js';
6
6
  import { clampLimit } from './pagination.js';
7
7
  export function providersRouter(binding, onWrite) {
@@ -195,14 +195,15 @@ function serializeProvider(m) {
195
195
  name: model.name,
196
196
  contextWindow: model.contextWindow,
197
197
  features: model.features,
198
- cost: {
199
- promptUsdPer1kTokens: model.cost.promptUsdPer1kTokens,
200
- completionUsdPer1kTokens: model.cost.completionUsdPer1kTokens,
201
- },
198
+ // As stored: the base rates and any an adapter widens it with.
199
+ cost: { ...model.cost },
202
200
  ...(model.p95LatencyMs !== undefined && { p95LatencyMs: model.p95LatencyMs }),
203
201
  ...(model.maxOutputTokens !== undefined && { maxOutputTokens: model.maxOutputTokens }),
202
+ ...(model.sampling !== undefined && { sampling: model.sampling }),
203
+ ...(model.thinking !== undefined && { thinking: model.thinking }),
204
204
  ...(model.description !== undefined && { description: model.description }),
205
205
  })),
206
+ ...(m.defaultModel !== undefined && { defaultModel: m.defaultModel }),
206
207
  ...(m.attributes !== undefined && { attributes: m.attributes }),
207
208
  ...(m.description !== undefined && { description: m.description }),
208
209
  ...(m.capabilityKind !== undefined && { capabilityKind: m.capabilityKind }),
@@ -321,10 +322,20 @@ function validateProviderMetadata(body) {
321
322
  const badLabels = validateProviderLabels(b.id, b.labels);
322
323
  if (badLabels !== undefined)
323
324
  return { kind: 'err', error: badLabels };
325
+ if (b.defaultModel !== undefined && !seenNames.has(b.defaultModel)) {
326
+ return {
327
+ kind: 'err',
328
+ error: {
329
+ message: `provider "${b.id}" defaultModel must be one of its models (${[...seenNames].join(', ')}), got ${JSON.stringify(b.defaultModel)}`,
330
+ reason: 'unknown-default-model',
331
+ },
332
+ };
333
+ }
324
334
  const value = {
325
335
  id: b.id,
326
336
  region: b.region,
327
337
  models: validatedModels,
338
+ ...(b.defaultModel !== undefined && { defaultModel: b.defaultModel }),
328
339
  ...(b.attributes !== undefined && { attributes: b.attributes }),
329
340
  ...(b.description !== undefined && { description: b.description }),
330
341
  ...(b.capabilityKind !== undefined && { capabilityKind: b.capabilityKind }),
@@ -404,6 +415,16 @@ function validateModelInfo(providerId, raw) {
404
415
  },
405
416
  };
406
417
  }
418
+ const extraRates = costExtraRates(cost);
419
+ if (extraRates === undefined) {
420
+ return {
421
+ kind: 'err',
422
+ error: {
423
+ message: `provider "${providerId}" model "${m.name}" cost table's other rates must be non-negative numbers, or objects of them (e.g. longContext: { thresholdTokens, promptUsdPer1kTokens, completionUsdPer1kTokens })`,
424
+ reason: 'invalid-cost',
425
+ },
426
+ };
427
+ }
407
428
  if (m.p95LatencyMs !== undefined) {
408
429
  if (typeof m.p95LatencyMs !== 'number' || m.p95LatencyMs < 0) {
409
430
  return {
@@ -428,6 +449,24 @@ function validateModelInfo(providerId, raw) {
428
449
  };
429
450
  }
430
451
  }
452
+ if (m.sampling !== undefined && typeof m.sampling !== 'boolean') {
453
+ return {
454
+ kind: 'err',
455
+ error: {
456
+ message: `provider "${providerId}" model "${m.name}" sampling must be true or false`,
457
+ reason: 'invalid-sampling',
458
+ },
459
+ };
460
+ }
461
+ if (m.thinking !== undefined && !isModelThinking(m.thinking)) {
462
+ return {
463
+ kind: 'err',
464
+ error: {
465
+ message: `provider "${providerId}" model "${m.name}" thinking must be { mode: 'adaptive' | 'always', lowest: <the vendor's setting> }`,
466
+ reason: 'invalid-thinking',
467
+ },
468
+ };
469
+ }
431
470
  if (m.description !== undefined && typeof m.description !== 'string') {
432
471
  return {
433
472
  kind: 'err',
@@ -442,15 +481,49 @@ function validateModelInfo(providerId, raw) {
442
481
  contextWindow: m.contextWindow,
443
482
  features: m.features,
444
483
  cost: {
484
+ ...extraRates,
445
485
  promptUsdPer1kTokens: cost.promptUsdPer1kTokens,
446
486
  completionUsdPer1kTokens: cost.completionUsdPer1kTokens,
447
487
  },
448
488
  ...(m.p95LatencyMs !== undefined && { p95LatencyMs: m.p95LatencyMs }),
449
489
  ...(m.maxOutputTokens !== undefined && { maxOutputTokens: m.maxOutputTokens }),
490
+ ...(m.sampling !== undefined && { sampling: m.sampling }),
491
+ ...(m.thinking !== undefined && {
492
+ thinking: { mode: m.thinking.mode, lowest: m.thinking.lowest },
493
+ }),
450
494
  ...(m.description !== undefined && { description: m.description }),
451
495
  };
452
496
  return { kind: 'ok', value };
453
497
  }
498
+ /**
499
+ * The rates a cost table carries beyond the two base ones: an adapter
500
+ * widens it with its own (Anthropic's prompt-cache multipliers, Gemini's
501
+ * cached-prompt share, a long-context tier), each a non-negative number
502
+ * or one level of an object of them. Returned as given, or `undefined`
503
+ * when one isn't, so a registration keeps what its adapter prices with.
504
+ */
505
+ function costExtraRates(cost) {
506
+ const isRate = (v) => typeof v === 'number' && Number.isFinite(v) && v >= 0;
507
+ const out = {};
508
+ for (const [key, value] of Object.entries(cost)) {
509
+ if (key === 'promptUsdPer1kTokens' || key === 'completionUsdPer1kTokens')
510
+ continue;
511
+ if (isRate(value)) {
512
+ out[key] = value;
513
+ }
514
+ else if (typeof value === 'object' &&
515
+ value !== null &&
516
+ !Array.isArray(value) &&
517
+ Object.keys(value).length > 0 &&
518
+ Object.values(value).every(isRate)) {
519
+ out[key] = { ...value };
520
+ }
521
+ else {
522
+ return undefined;
523
+ }
524
+ }
525
+ return out;
526
+ }
454
527
  /**
455
528
  * Parse the optional `adapter_config` on the register request body: a
456
529
  * flat object of string, number or boolean values. Credentials don't
@@ -1 +1 @@
1
- {"version":3,"file":"providers.js","sourceRoot":"","sources":["../../src/routes/providers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"providers.js","sourceRoot":"","sources":["../../src/routes/providers.ts"],"names":[],"mappings":"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"}
package/openapi.json CHANGED
@@ -7819,6 +7819,30 @@
7819
7819
  }
7820
7820
  }
7821
7821
  },
7822
+ "ModelThinking": {
7823
+ "type": "object",
7824
+ "additionalProperties": false,
7825
+ "required": [
7826
+ "mode",
7827
+ "lowest"
7828
+ ],
7829
+ "description": "How the model thinks before it answers, so a call that wants as little as it allows (a judge's) gets it. Absent: it doesn't think, or nothing is known.",
7830
+ "properties": {
7831
+ "mode": {
7832
+ "type": "string",
7833
+ "enum": [
7834
+ "adaptive",
7835
+ "always"
7836
+ ],
7837
+ "description": "`adaptive`: on unless turned down. `always`: on, and it can only be lowered."
7838
+ },
7839
+ "lowest": {
7840
+ "type": "string",
7841
+ "minLength": 1,
7842
+ "description": "The vendor's own setting for the least thinking: for Anthropic `disabled`, `between_tools` or an effort (`low`); for Gemini a thinking level (`low`, `minimal`); for OpenAI a reasoning effort (`low`, `none`)."
7843
+ }
7844
+ }
7845
+ },
7822
7846
  "ProviderCost": {
7823
7847
  "type": "object",
7824
7848
  "additionalProperties": true,
@@ -7878,6 +7902,13 @@
7878
7902
  "minimum": 1,
7879
7903
  "description": "Fallback cap on output tokens. Adapters that require `max_tokens` on every request (e.g. Anthropic) use this when `ModelCallInput.maxOutputTokens` is unset."
7880
7904
  },
7905
+ "sampling": {
7906
+ "type": "boolean",
7907
+ "description": "Whether the model takes sampling settings (`temperature`). `false`: its API rejects a non-default value, so the call goes without one and the answer's `warnings` say so (`sampling-unsupported`). Absent: it takes them."
7908
+ },
7909
+ "thinking": {
7910
+ "$ref": "#/components/schemas/ModelThinking"
7911
+ },
7881
7912
  "description": {
7882
7913
  "type": "string",
7883
7914
  "description": "Short per-model description surfaced in logs."
@@ -7911,6 +7942,11 @@
7911
7942
  },
7912
7943
  "description": "Models this connection exposes. Non-empty. `models[i].name` must be unique within the list."
7913
7944
  },
7945
+ "defaultModel": {
7946
+ "type": "string",
7947
+ "minLength": 1,
7948
+ "description": "The model to use when an agent doesn't choose: one of `models[].name`. When candidates rank equally, it comes before the provider's other models; without it, ties break by model name. A preset sets it. A runtime before 0.1.4 ignores it."
7949
+ },
7914
7950
  "attributes": {
7915
7951
  "type": "array",
7916
7952
  "items": {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kindgi/api",
3
- "version": "0.1.4-rc.5",
3
+ "version": "0.1.4",
4
4
  "description": "REST + SSE HTTP surface for Kindgi™. createApp assembles a Hono app serving the /v1/* REST API (bearer or session-token auth; OpenAPI 3.1 document at /v1/openapi.json) and an optional S3-compatible /s3/* surface (SigV4), over caller-plugged bindings for the runtime (runs, agents, flows, HITL, supervisor) and for storage. Route conventions: docs/API-ROUTE-CONVENTIONS.md.",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
@@ -32,31 +32,31 @@
32
32
  "openapi.json"
33
33
  ],
34
34
  "dependencies": {
35
- "@kindgi/agents": "0.1.4-rc.5",
36
- "@kindgi/audit-events": "0.1.4-rc.5",
37
- "@kindgi/compliance": "0.1.4-rc.5",
38
- "@kindgi/authz": "0.1.4-rc.5",
39
- "@kindgi/blob-binding": "0.1.4-rc.5",
40
- "@kindgi/capabilities": "0.1.4-rc.5",
41
- "@kindgi/crypto": "0.1.4-rc.5",
42
- "@kindgi/flow": "0.1.4-rc.5",
43
- "@kindgi/guardrails": "0.1.4-rc.5",
44
- "@kindgi/log": "0.1.4-rc.5",
45
- "@kindgi/memory": "0.1.4-rc.5",
46
- "@kindgi/platform": "0.1.4-rc.5",
47
- "@kindgi/provenance": "0.1.4-rc.5",
48
- "@kindgi/runtime": "0.1.4-rc.5",
49
- "@kindgi/policy-contract": "0.1.4-rc.5",
50
- "@kindgi/schema": "0.1.4-rc.5",
51
- "@kindgi/tools": "0.1.4-rc.5",
52
- "@kindgi/types": "0.1.4-rc.5",
35
+ "@kindgi/agents": "0.1.4",
36
+ "@kindgi/audit-events": "0.1.4",
37
+ "@kindgi/compliance": "0.1.4",
38
+ "@kindgi/authz": "0.1.4",
39
+ "@kindgi/blob-binding": "0.1.4",
40
+ "@kindgi/capabilities": "0.1.4",
41
+ "@kindgi/crypto": "0.1.4",
42
+ "@kindgi/flow": "0.1.4",
43
+ "@kindgi/guardrails": "0.1.4",
44
+ "@kindgi/log": "0.1.4",
45
+ "@kindgi/memory": "0.1.4",
46
+ "@kindgi/platform": "0.1.4",
47
+ "@kindgi/provenance": "0.1.4",
48
+ "@kindgi/runtime": "0.1.4",
49
+ "@kindgi/policy-contract": "0.1.4",
50
+ "@kindgi/schema": "0.1.4",
51
+ "@kindgi/tools": "0.1.4",
52
+ "@kindgi/types": "0.1.4",
53
53
  "@scalar/hono-api-reference": "^0.12.2",
54
54
  "hono": "^4.6.14"
55
55
  },
56
56
  "devDependencies": {
57
- "@kindgi/audit-events-inmemory": "0.1.4-rc.5",
58
- "@kindgi/specs": "0.1.4-rc.5",
59
- "@kindgi/testing": "0.1.4-rc.5",
57
+ "@kindgi/audit-events-inmemory": "0.1.4",
58
+ "@kindgi/specs": "0.1.4",
59
+ "@kindgi/testing": "0.1.4",
60
60
  "@types/aws4": "^1.11.6",
61
61
  "@types/node": "^22.10.5",
62
62
  "aws4": "^1.13.2",
@@ -4016,6 +4016,28 @@ export const CapabilityCollectionPageSchema: JsonSchema = {
4016
4016
  },
4017
4017
  };
4018
4018
 
4019
+ /** `ModelInfo.thinking`: how a model thinks, so a judge can ask for its least. */
4020
+ export const ModelThinkingSchema: JsonSchema = {
4021
+ type: 'object',
4022
+ additionalProperties: false,
4023
+ required: ['mode', 'lowest'],
4024
+ description:
4025
+ "How the model thinks before it answers, so a call that wants as little as it allows (a judge's) gets it. Absent: it doesn't think, or nothing is known.",
4026
+ properties: {
4027
+ mode: {
4028
+ type: 'string',
4029
+ enum: ['adaptive', 'always'],
4030
+ description: '`adaptive`: on unless turned down. `always`: on, and it can only be lowered.',
4031
+ },
4032
+ lowest: {
4033
+ type: 'string',
4034
+ minLength: 1,
4035
+ description:
4036
+ "The vendor's own setting for the least thinking: for Anthropic `disabled`, `between_tools` or an effort (`low`); for Gemini a thinking level (`low`, `minimal`); for OpenAI a reasoning effort (`low`, `none`).",
4037
+ },
4038
+ },
4039
+ };
4040
+
4019
4041
  export const ProviderCostSchema: JsonSchema = {
4020
4042
  type: 'object',
4021
4043
  // Adapters widen the cost table with their own rates (Anthropic's
@@ -4067,6 +4089,12 @@ export const ModelInfoSchema: JsonSchema = {
4067
4089
  description:
4068
4090
  'Fallback cap on output tokens. Adapters that require `max_tokens` on every request (e.g. Anthropic) use this when `ModelCallInput.maxOutputTokens` is unset.',
4069
4091
  },
4092
+ sampling: {
4093
+ type: 'boolean',
4094
+ description:
4095
+ "Whether the model takes sampling settings (`temperature`). `false`: its API rejects a non-default value, so the call goes without one and the answer's `warnings` say so (`sampling-unsupported`). Absent: it takes them.",
4096
+ },
4097
+ thinking: { $ref: '#/components/schemas/ModelThinking' },
4070
4098
  description: {
4071
4099
  type: 'string',
4072
4100
  description: 'Short per-model description surfaced in logs.',
@@ -4104,6 +4132,12 @@ export const ProviderMetadataSchema: JsonSchema = {
4104
4132
  description:
4105
4133
  'Models this connection exposes. Non-empty. `models[i].name` must be unique within the list.',
4106
4134
  },
4135
+ defaultModel: {
4136
+ type: 'string',
4137
+ minLength: 1,
4138
+ description:
4139
+ "The model to use when an agent doesn't choose: one of `models[].name`. When candidates rank equally, it comes before the provider's other models; without it, ties break by model name. A preset sets it. A runtime before 0.1.4 ignores it.",
4140
+ },
4107
4141
  attributes: {
4108
4142
  type: 'array',
4109
4143
  items: { type: 'string' },
@@ -8420,6 +8454,7 @@ export const COMPONENT_SCHEMAS: ReadonlyArray<readonly [string, JsonSchema]> = [
8420
8454
  ['Feature', FeatureSchema],
8421
8455
  ['CapabilityDescriptor', CapabilityDescriptorSchema],
8422
8456
  ['CapabilityCollectionPage', CapabilityCollectionPageSchema],
8457
+ ['ModelThinking', ModelThinkingSchema],
8423
8458
  ['ProviderCost', ProviderCostSchema],
8424
8459
  ['ModelInfo', ModelInfoSchema],
8425
8460
  ['ProviderMetadata', ProviderMetadataSchema],
@@ -9,6 +9,7 @@ import {
9
9
  type Feature,
10
10
  type ModelInfo,
11
11
  type ProviderMetadata,
12
+ isModelThinking,
12
13
  validateProviderLabels,
13
14
  } from '@kindgi/capabilities';
14
15
  import type { Cursor, TenantId } from '@kindgi/types';
@@ -305,14 +306,15 @@ function serializeProvider(m: ProviderMetadata): Record<string, unknown> {
305
306
  name: model.name,
306
307
  contextWindow: model.contextWindow,
307
308
  features: model.features,
308
- cost: {
309
- promptUsdPer1kTokens: model.cost.promptUsdPer1kTokens,
310
- completionUsdPer1kTokens: model.cost.completionUsdPer1kTokens,
311
- },
309
+ // As stored: the base rates and any an adapter widens it with.
310
+ cost: { ...model.cost },
312
311
  ...(model.p95LatencyMs !== undefined && { p95LatencyMs: model.p95LatencyMs }),
313
312
  ...(model.maxOutputTokens !== undefined && { maxOutputTokens: model.maxOutputTokens }),
313
+ ...(model.sampling !== undefined && { sampling: model.sampling }),
314
+ ...(model.thinking !== undefined && { thinking: model.thinking }),
314
315
  ...(model.description !== undefined && { description: model.description }),
315
316
  })),
317
+ ...(m.defaultModel !== undefined && { defaultModel: m.defaultModel }),
316
318
  ...(m.attributes !== undefined && { attributes: m.attributes }),
317
319
  ...(m.description !== undefined && { description: m.description }),
318
320
  ...(m.capabilityKind !== undefined && { capabilityKind: m.capabilityKind }),
@@ -436,10 +438,20 @@ function validateProviderMetadata(
436
438
  }
437
439
  const badLabels = validateProviderLabels(b.id, b.labels);
438
440
  if (badLabels !== undefined) return { kind: 'err', error: badLabels };
441
+ if (b.defaultModel !== undefined && !seenNames.has(b.defaultModel as string)) {
442
+ return {
443
+ kind: 'err',
444
+ error: {
445
+ message: `provider "${b.id}" defaultModel must be one of its models (${[...seenNames].join(', ')}), got ${JSON.stringify(b.defaultModel)}`,
446
+ reason: 'unknown-default-model',
447
+ },
448
+ };
449
+ }
439
450
  const value: ProviderMetadata = {
440
451
  id: b.id,
441
452
  region: b.region,
442
453
  models: validatedModels,
454
+ ...(b.defaultModel !== undefined && { defaultModel: b.defaultModel as string }),
443
455
  ...(b.attributes !== undefined && { attributes: b.attributes as readonly string[] }),
444
456
  ...(b.description !== undefined && { description: b.description }),
445
457
  ...(b.capabilityKind !== undefined && { capabilityKind: b.capabilityKind as string }),
@@ -527,6 +539,16 @@ function validateModelInfo(
527
539
  },
528
540
  };
529
541
  }
542
+ const extraRates = costExtraRates(cost as unknown as Record<string, unknown>);
543
+ if (extraRates === undefined) {
544
+ return {
545
+ kind: 'err',
546
+ error: {
547
+ message: `provider "${providerId}" model "${m.name}" cost table's other rates must be non-negative numbers, or objects of them (e.g. longContext: { thresholdTokens, promptUsdPer1kTokens, completionUsdPer1kTokens })`,
548
+ reason: 'invalid-cost',
549
+ },
550
+ };
551
+ }
530
552
  if (m.p95LatencyMs !== undefined) {
531
553
  if (typeof m.p95LatencyMs !== 'number' || m.p95LatencyMs < 0) {
532
554
  return {
@@ -553,6 +575,24 @@ function validateModelInfo(
553
575
  };
554
576
  }
555
577
  }
578
+ if (m.sampling !== undefined && typeof m.sampling !== 'boolean') {
579
+ return {
580
+ kind: 'err',
581
+ error: {
582
+ message: `provider "${providerId}" model "${m.name}" sampling must be true or false`,
583
+ reason: 'invalid-sampling',
584
+ },
585
+ };
586
+ }
587
+ if (m.thinking !== undefined && !isModelThinking(m.thinking)) {
588
+ return {
589
+ kind: 'err',
590
+ error: {
591
+ message: `provider "${providerId}" model "${m.name}" thinking must be { mode: 'adaptive' | 'always', lowest: <the vendor's setting> }`,
592
+ reason: 'invalid-thinking',
593
+ },
594
+ };
595
+ }
556
596
  if (m.description !== undefined && typeof m.description !== 'string') {
557
597
  return {
558
598
  kind: 'err',
@@ -567,16 +607,52 @@ function validateModelInfo(
567
607
  contextWindow: m.contextWindow,
568
608
  features: m.features as readonly Feature[],
569
609
  cost: {
610
+ ...extraRates,
570
611
  promptUsdPer1kTokens: cost.promptUsdPer1kTokens,
571
612
  completionUsdPer1kTokens: cost.completionUsdPer1kTokens,
572
- },
613
+ } as ModelInfo['cost'],
573
614
  ...(m.p95LatencyMs !== undefined && { p95LatencyMs: m.p95LatencyMs }),
574
615
  ...(m.maxOutputTokens !== undefined && { maxOutputTokens: m.maxOutputTokens }),
616
+ ...(m.sampling !== undefined && { sampling: m.sampling }),
617
+ ...(m.thinking !== undefined && {
618
+ thinking: { mode: m.thinking.mode, lowest: m.thinking.lowest },
619
+ }),
575
620
  ...(m.description !== undefined && { description: m.description }),
576
621
  };
577
622
  return { kind: 'ok', value };
578
623
  }
579
624
 
625
+ /**
626
+ * The rates a cost table carries beyond the two base ones: an adapter
627
+ * widens it with its own (Anthropic's prompt-cache multipliers, Gemini's
628
+ * cached-prompt share, a long-context tier), each a non-negative number
629
+ * or one level of an object of them. Returned as given, or `undefined`
630
+ * when one isn't, so a registration keeps what its adapter prices with.
631
+ */
632
+ function costExtraRates(
633
+ cost: Readonly<Record<string, unknown>>,
634
+ ): Record<string, number | Record<string, number>> | undefined {
635
+ const isRate = (v: unknown): v is number => typeof v === 'number' && Number.isFinite(v) && v >= 0;
636
+ const out: Record<string, number | Record<string, number>> = {};
637
+ for (const [key, value] of Object.entries(cost)) {
638
+ if (key === 'promptUsdPer1kTokens' || key === 'completionUsdPer1kTokens') continue;
639
+ if (isRate(value)) {
640
+ out[key] = value;
641
+ } else if (
642
+ typeof value === 'object' &&
643
+ value !== null &&
644
+ !Array.isArray(value) &&
645
+ Object.keys(value).length > 0 &&
646
+ Object.values(value).every(isRate)
647
+ ) {
648
+ out[key] = { ...(value as Record<string, number>) };
649
+ } else {
650
+ return undefined;
651
+ }
652
+ }
653
+ return out;
654
+ }
655
+
580
656
  /**
581
657
  * Parse the optional `adapter_config` on the register request body: a
582
658
  * flat object of string, number or boolean values. Credentials don't