@kindgi/capabilities 0.1.4-rc.5 → 0.1.5-rc.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/README.md +2 -2
- package/dist/adapter-factory.d.ts +48 -0
- package/dist/adapter-factory.d.ts.map +1 -1
- package/dist/adapter-factory.js +8 -0
- package/dist/adapter-factory.js.map +1 -1
- package/dist/index.d.ts +8 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -3
- package/dist/index.js.map +1 -1
- package/dist/registry.d.ts +3 -1
- package/dist/registry.d.ts.map +1 -1
- package/dist/registry.js +32 -0
- package/dist/registry.js.map +1 -1
- package/dist/router.js +10 -2
- package/dist/router.js.map +1 -1
- package/dist/sampling.d.ts +21 -0
- package/dist/sampling.d.ts.map +1 -0
- package/dist/sampling.js +20 -0
- package/dist/sampling.js.map +1 -0
- package/dist/tool-names.d.ts +27 -0
- package/dist/tool-names.d.ts.map +1 -0
- package/dist/tool-names.js +44 -0
- package/dist/tool-names.js.map +1 -0
- package/dist/types.d.ts +67 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +26 -0
- package/dist/types.js.map +1 -1
- package/package.json +10 -5
- package/src/adapter-factory.ts +57 -0
- package/src/index.ts +14 -3
- package/src/registry.ts +35 -1
- package/src/router.ts +10 -2
- package/src/sampling.ts +41 -0
- package/src/tool-names.ts +52 -0
- package/src/types.ts +85 -1
package/README.md
CHANGED
|
@@ -12,7 +12,7 @@ Keep agent definitions independent of any one model vendor. Agents state require
|
|
|
12
12
|
- **`Capability`** — `{ kind?, needs, prefer?, budget? }`. `kind` defaults to `DEFAULT_CAPABILITY_KIND` (`'llm-inference'`); `BUILT_IN_CAPABILITY_KINDS` / `BuiltInCapabilityKind` list the well-known kinds, and `CapabilityKind` is an open string.
|
|
13
13
|
- **`Requirement`** — hard constraints: `{ feature }`, `{ contextWindow: { op, value } }`, `{ costPerCall: { op, usd } }` (compared against the model's prompt price per 1K tokens), `{ region }`, `{ p95LatencyMs: { op, value } }`, `{ providers: { allow?, deny? } }`, `{ models: { allow?, deny? } }`. Operators are `ComparisonOp` (`>=`, `>`, `=`, `<=`, `<`) and `UpperBoundOp` (`<=`, `<`) for latency.
|
|
14
14
|
- **`Preference`** — `{ feature, weight }`; `feature` is a `Feature` or a provider attribute such as `'lower-cost'`. Weights add up per candidate and may be negative.
|
|
15
|
-
- **`FEATURES`** / **`Feature`** — the closed feature set: `structured-output`, `vision`, `audio-input`, `audio-output`, `tool-use`, `parallel-tool-use`, `thinking`, `long-context`, `code-execution`, `web-search`, `file-search`, `streaming`, `batch`.
|
|
15
|
+
- **`FEATURES`** / **`Feature`** — the closed feature set: `structured-output`, `vision`, `audio-input`, `audio-output`, `tool-use`, `parallel-tool-use`, `thinking`, `long-context`, `code-execution`, `web-search`, `file-search`, `streaming`, `batch`. `structured-output` means the model can follow a JSON schema natively (`ModelCallInput.structuredOutput`, where its adapter maps it); an agent's typed output doesn't use that yet, and on every provider is checked by parse and repair.
|
|
16
16
|
- **`Budget`** — `maxCostUsd`, `maxTokens`, `maxDurationMs`.
|
|
17
17
|
- **`defineCapability(spec)`** — validates a declaration against the bundled `capability.schema.json` (the same file as in [`@kindgi/specs`](../specs/); its `$id` is exported as `CAPABILITY_SCHEMA_URI`) and returns `Result<Capability, InvalidCapabilityError>`. The schema accepts `needs`, `prefer` and `budget` with every requirement except `models`, so a declaration that sets `kind` or uses a `models` requirement is rejected here even though the type and the router accept it.
|
|
18
18
|
- **Providers**
|
|
@@ -29,7 +29,7 @@ Keep agent definitions independent of any one model vendor. Agents state require
|
|
|
29
29
|
- **`RoutingDecision`** — the chosen `provider` and `model`, a human-readable `reason`, and `alternates` (`ProviderModelPick[]`) in rank order.
|
|
30
30
|
- **`matchTuples(input)`** — the filtering step on its own: the passing candidates, unranked, or `capability-unsatisfiable` when none pass.
|
|
31
31
|
- **`TenantPolicy`** — `tenantId`, provider and model `allow` / `deny` lists, `regionAllow`, `maxCostPerCallUsd`, `maxTokensPerCall`. An allow list (or `regionAllow`) that is present restricts even when empty: `[]` allows nothing.
|
|
32
|
-
- **Adapter factories** — **`createAdapterFactoryRegistry(seed?)`** returns an **`AdapterFactoryRegistry`** (`register`, `get`, `has`, `list`): a deployment-wide map from adapter id to the code that builds providers. An **`AdapterFactoryEntry`** holds `adapterId`, `capabilityKind`, a `factory` (**`AdapterFactory`**: `(input: AdapterFactoryInput) => ModelProvider`, where `AdapterFactoryInput` is `metadata` plus an optional `resolveApiKey`),
|
|
32
|
+
- **Adapter factories** — **`createAdapterFactoryRegistry(seed?)`** returns an **`AdapterFactoryRegistry`** (`register`, `get`, `has`, `list`): a deployment-wide map from adapter id to the code that builds providers. An **`AdapterFactoryEntry`** holds `adapterId`, `capabilityKind`, a `factory` (**`AdapterFactory`**: `(input: AdapterFactoryInput) => ModelProvider`, where `AdapterFactoryInput` is `metadata` plus an optional `resolveApiKey`), an optional `prepare(params)` that streams **`PrepareEvent`**s (`progress`, `ready`, `error`) for downloads or warm-up, and an optional `checkConfig(input)`: the adapter's static check of a provider registration (**`AdapterConfigCheckInput`**: `metadata`, `config`, `hasSecretRef`; no network, no secret read), returning **`AdapterConfigProblem`**s (`path`, a JSON pointer into the registration, and `message`). Each problem's `message` names the setting and what it takes, and `factory` throws it as **`adapterConfigError(adapterId, providerId, problem)`** words it; the runtime runs the check when a provider registers. Registering the same id twice throws.
|
|
33
33
|
- **Errors** — **`CapabilityError`**, a union of `InvalidCapabilityError`, `InvalidProviderError`, `DuplicateProviderError`, `CapabilityUnsatisfiableError` and `BudgetExceededError`. `CapabilityUnsatisfiableError.reasons` lists, for each requirement that rejected at least one candidate, the candidates that satisfied it and a structured **`RejectionReason`** for each that did not (`missing-feature`, `context-window-mismatch`, `region-mismatch`, `tenant-denied`, `capability-kind-mismatch`, …).
|
|
34
34
|
|
|
35
35
|
## Example
|
|
@@ -41,7 +41,55 @@ export interface AdapterFactoryEntry {
|
|
|
41
41
|
* in-process).
|
|
42
42
|
*/
|
|
43
43
|
readonly prepare?: (params?: Readonly<Record<string, unknown>>) => AsyncIterable<PrepareEvent>;
|
|
44
|
+
/**
|
|
45
|
+
* What's wrong with a provider registration for this adapter, read
|
|
46
|
+
* statically: its `adapter_config`, its metadata, and whether it names a
|
|
47
|
+
* secret. No network, no secret resolution (a registration's secret may
|
|
48
|
+
* be set after it registers), no client built. An empty list means the
|
|
49
|
+
* factory will take it.
|
|
50
|
+
*
|
|
51
|
+
* The runtime runs it when a provider registers (a problem refuses the
|
|
52
|
+
* registration, naming the field) and when someone checks a registered
|
|
53
|
+
* provider. It must agree with `factory`: build both from the same
|
|
54
|
+
* functions, so a registration the check passes is one the factory
|
|
55
|
+
* accepts, and each problem's message is the error the factory throws.
|
|
56
|
+
* Absent: the adapter has no check, and registration takes any flat
|
|
57
|
+
* `adapter_config`.
|
|
58
|
+
*/
|
|
59
|
+
readonly checkConfig?: (input: AdapterConfigCheckInput) => readonly AdapterConfigProblem[];
|
|
60
|
+
}
|
|
61
|
+
/** What `AdapterFactoryEntry.checkConfig` reads: a registration, without its secret. */
|
|
62
|
+
export interface AdapterConfigCheckInput {
|
|
63
|
+
readonly metadata: ProviderMetadata;
|
|
64
|
+
readonly config?: AdapterConfig;
|
|
65
|
+
/** Whether the registration names a secret (`secret_ref`). Its value is never read here. */
|
|
66
|
+
readonly hasSecretRef: boolean;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* One thing wrong with a registration (`AdapterFactoryEntry.checkConfig`),
|
|
70
|
+
* in the shape of the API's validation issues (`{ path, message }`).
|
|
71
|
+
*/
|
|
72
|
+
export interface AdapterConfigProblem {
|
|
73
|
+
/**
|
|
74
|
+
* The setting at fault, as a JSON pointer into the registration:
|
|
75
|
+
* `/adapter_config/<key>`, `/secret_ref`, `/metadata/region`,
|
|
76
|
+
* `/metadata/models/<i>/name`.
|
|
77
|
+
*/
|
|
78
|
+
readonly path: string;
|
|
79
|
+
/**
|
|
80
|
+
* What's wrong with that setting and what it takes, without the adapter
|
|
81
|
+
* or provider (e.g. `adapter_config.api must be one of responses,
|
|
82
|
+
* chat-completions.`): the API lists it under its own sentence. The
|
|
83
|
+
* factory throws it as `adapterConfigError` words it.
|
|
84
|
+
*/
|
|
85
|
+
readonly message: string;
|
|
44
86
|
}
|
|
87
|
+
/**
|
|
88
|
+
* The error an adapter's factory throws for a problem its `checkConfig`
|
|
89
|
+
* reports: `<adapterId>: provider "<providerId>": <message>`. Both read the
|
|
90
|
+
* registration through the same functions, so they say the same thing.
|
|
91
|
+
*/
|
|
92
|
+
export declare function adapterConfigError(adapterId: string, providerId: string, problem: AdapterConfigProblem): Error;
|
|
45
93
|
/**
|
|
46
94
|
* Event stream emitted by `AdapterFactoryEntry.prepare()`. Shape kept
|
|
47
95
|
* deliberately open (`message` + optional numeric progress fields)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter-factory.d.ts","sourceRoot":"","sources":["../src/adapter-factory.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAElE;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,WAAW,mBAAmB;IAClC,2EAA2E;IAC3E,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,oFAAoF;IACpF,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC;IACjC;;;;;;;;;;;;;;OAcG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,KAAK,aAAa,CAAC,YAAY,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"adapter-factory.d.ts","sourceRoot":"","sources":["../src/adapter-factory.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAElE;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,WAAW,mBAAmB;IAClC,2EAA2E;IAC3E,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,oFAAoF;IACpF,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,OAAO,EAAE,cAAc,CAAC;IACjC;;;;;;;;;;;;;;OAcG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,KAAK,aAAa,CAAC,YAAY,CAAC,CAAC;IAC/F;;;;;;;;;;;;;;OAcG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,uBAAuB,KAAK,SAAS,oBAAoB,EAAE,CAAC;CAC5F;AAED,wFAAwF;AACxF,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAC;IACpC,QAAQ,CAAC,MAAM,CAAC,EAAE,aAAa,CAAC;IAChC,4FAA4F;IAC5F,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;CAChC;AAED;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC;;;;OAIG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB;;;;;OAKG;IACH,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,oBAAoB,GAC5B,KAAK,CAEP;AAED;;;;;;GAMG;AACH,MAAM,MAAM,YAAY,GACpB;IACE,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,qEAAqE;IACrE,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;CACxB,GACD;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,GACrD;IAAE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAEzD;;;;;;;;;GASG;AACH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAC;IACpC;;;;;OAKG;IACH,QAAQ,CAAC,MAAM,CAAC,EAAE,aAAa,CAAC;IAChC;;;;;OAKG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;IAC/C;;;;;OAKG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;CAC/B;AAED,iEAAiE;AACjE,MAAM,MAAM,aAAa,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC;AAEhF,MAAM,MAAM,cAAc,GAAG,CAAC,KAAK,EAAE,mBAAmB,KAAK,aAAa,CAAC;AAE3E,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,KAAK,EAAE,mBAAmB,GAAG,IAAI,CAAC;IAC3C,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,mBAAmB,GAAG,SAAS,CAAC;IACxD,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC;IAChC,IAAI,IAAI,SAAS,mBAAmB,EAAE,CAAC;CACxC;AAED;;;;;;;;;GASG;AACH,wBAAgB,4BAA4B,CAC1C,IAAI,GAAE,SAAS,mBAAmB,EAAO,GACxC,sBAAsB,CA0BxB"}
|
package/dist/adapter-factory.js
CHANGED
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
|
2
2
|
// Copyright (C) 2026 Kindgi Inc.
|
|
3
|
+
/**
|
|
4
|
+
* The error an adapter's factory throws for a problem its `checkConfig`
|
|
5
|
+
* reports: `<adapterId>: provider "<providerId>": <message>`. Both read the
|
|
6
|
+
* registration through the same functions, so they say the same thing.
|
|
7
|
+
*/
|
|
8
|
+
export function adapterConfigError(adapterId, providerId, problem) {
|
|
9
|
+
return new Error(`${adapterId}: provider "${providerId}": ${problem.message}`);
|
|
10
|
+
}
|
|
3
11
|
/**
|
|
4
12
|
* Create an in-memory `AdapterFactoryRegistry`. Global
|
|
5
13
|
* (deployment-scoped) — every tenant reads from the same map because
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapter-factory.js","sourceRoot":"","sources":["../src/adapter-factory.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,iCAAiC;
|
|
1
|
+
{"version":3,"file":"adapter-factory.js","sourceRoot":"","sources":["../src/adapter-factory.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,iCAAiC;AA4FjC;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAChC,SAAiB,EACjB,UAAkB,EAClB,OAA6B;IAE7B,OAAO,IAAI,KAAK,CAAC,GAAG,SAAS,eAAe,UAAU,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;AACjF,CAAC;AAqED;;;;;;;;;GASG;AACH,MAAM,UAAU,4BAA4B,CAC1C,OAAuC,EAAE;IAEzC,MAAM,OAAO,GAAG,IAAI,GAAG,EAA+B,CAAC;IAEvD,SAAS,QAAQ,CAAC,KAA0B;QAC1C,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;YACjC,MAAM,IAAI,KAAK,CACb,4BAA4B,KAAK,CAAC,SAAS,yFAAyF,CACrI,CAAC;QACJ,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IACtC,CAAC;IAED,KAAK,MAAM,KAAK,IAAI,IAAI;QAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;IAE1C,OAAO;QACL,QAAQ;QACR,GAAG,CAAC,SAAS;YACX,OAAO,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAChC,CAAC;QACD,GAAG,CAAC,SAAS;YACX,OAAO,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAChC,CAAC;QACD,IAAI;YACF,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QAC/B,CAAC;KACF,CAAC;AACJ,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,13 +1,16 @@
|
|
|
1
|
-
export { createAdapterFactoryRegistry } from './adapter-factory.js';
|
|
2
|
-
export type { AdapterConfig, AdapterFactory, AdapterFactoryEntry, AdapterFactoryInput, AdapterFactoryRegistry, PrepareEvent, } from './adapter-factory.js';
|
|
1
|
+
export { adapterConfigError, createAdapterFactoryRegistry } from './adapter-factory.js';
|
|
2
|
+
export type { AdapterConfig, AdapterConfigCheckInput, AdapterConfigProblem, AdapterFactory, AdapterFactoryEntry, AdapterFactoryInput, AdapterFactoryRegistry, PrepareEvent, } from './adapter-factory.js';
|
|
3
3
|
export { CAPABILITY_SCHEMA_URI, defineCapability } from './define.js';
|
|
4
4
|
export { PROVIDER_LABEL_KEY, PROVIDER_LABEL_MANAGED_BY, PROVIDER_LABEL_VALUE_MAX_LENGTH, PROVIDER_LABELS_MAX_KEYS, validateProviderLabels, } from './provider-labels.js';
|
|
5
|
-
export { createProviderRegistry } from './registry.js';
|
|
5
|
+
export { createProviderRegistry, isModelThinking } from './registry.js';
|
|
6
6
|
export { matchTuples, route } from './router.js';
|
|
7
7
|
export type { RouteInput } from './router.js';
|
|
8
|
+
export { SAMPLING_UNSUPPORTED, samplingFor } from './sampling.js';
|
|
9
|
+
export type { Sampling } from './sampling.js';
|
|
8
10
|
export { recordModelUsage } from './usage.js';
|
|
11
|
+
export { nameToolsAsSent } from './tool-names.js';
|
|
9
12
|
export type { RecordModelUsageOptions } from './usage.js';
|
|
10
|
-
export { BUILT_IN_CAPABILITY_KINDS, DEFAULT_CAPABILITY_KIND, FEATURES } from './types.js';
|
|
11
|
-
export type { Budget, BuiltInCapabilityKind, Capability, CapabilityKind, ComparisonOp, Feature, ModelCallInput, ModelUsageRecord, ModelCallResult, ModelCallWarning, ModelMessage, ModelInfo, ModelProvider, ModelToolCall, ModelToolDefinition, Preference, ProviderMetadata, ProviderModelPick, ProviderRegistry, RejectionReason, Requirement, RoutingDecision, StructuredOutputRequest, TenantPolicy, UpperBoundOp, UsageCounters, UsageSink, } from './types.js';
|
|
13
|
+
export { BUILT_IN_CAPABILITY_KINDS, DEFAULT_CAPABILITY_KIND, FEATURE_DESCRIPTIONS, FEATURES, } from './types.js';
|
|
14
|
+
export type { Budget, BuiltInCapabilityKind, Capability, CapabilityKind, ComparisonOp, Feature, ModelCallInput, ModelUsageRecord, ModelCallResult, ModelCallWarning, ModelMessage, ModelInfo, ModelProvider, ModelThinking, ModelToolCall, ModelToolDefinition, Preference, ProviderMetadata, ProviderModelPick, ProviderRegistry, RejectionReason, Requirement, RoutingDecision, StructuredOutputRequest, TenantPolicy, UpperBoundOp, UsageCounters, UsageSink, } from './types.js';
|
|
12
15
|
export type { BudgetExceededError, CapabilityError, CapabilityUnsatisfiableError, DuplicateProviderError, InvalidCapabilityError, InvalidProviderError, } from './errors.js';
|
|
13
16
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,4BAA4B,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,kBAAkB,EAAE,4BAA4B,EAAE,MAAM,sBAAsB,CAAC;AACxF,YAAY,EACV,aAAa,EACb,uBAAuB,EACvB,oBAAoB,EACpB,cAAc,EACd,mBAAmB,EACnB,mBAAmB,EACnB,sBAAsB,EACtB,YAAY,GACb,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACtE,OAAO,EACL,kBAAkB,EAClB,yBAAyB,EACzB,+BAA+B,EAC/B,wBAAwB,EACxB,sBAAsB,GACvB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,sBAAsB,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACxE,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACjD,YAAY,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAClE,YAAY,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,YAAY,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAC1D,OAAO,EACL,yBAAyB,EACzB,uBAAuB,EACvB,oBAAoB,EACpB,QAAQ,GACT,MAAM,YAAY,CAAC;AACpB,YAAY,EACV,MAAM,EACN,qBAAqB,EACrB,UAAU,EACV,cAAc,EACd,YAAY,EACZ,OAAO,EACP,cAAc,EACd,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,YAAY,EACZ,SAAS,EACT,aAAa,EACb,aAAa,EACb,aAAa,EACb,mBAAmB,EACnB,UAAU,EACV,gBAAgB,EAChB,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,EACf,WAAW,EACX,eAAe,EACf,uBAAuB,EACvB,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,SAAS,GACV,MAAM,YAAY,CAAC;AACpB,YAAY,EACV,mBAAmB,EACnB,eAAe,EACf,4BAA4B,EAC5B,sBAAsB,EACtB,sBAAsB,EACtB,oBAAoB,GACrB,MAAM,aAAa,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
|
2
2
|
// Copyright (C) 2026 Kindgi Inc.
|
|
3
|
-
export { createAdapterFactoryRegistry } from './adapter-factory.js';
|
|
3
|
+
export { adapterConfigError, createAdapterFactoryRegistry } from './adapter-factory.js';
|
|
4
4
|
export { CAPABILITY_SCHEMA_URI, defineCapability } from './define.js';
|
|
5
5
|
export { PROVIDER_LABEL_KEY, PROVIDER_LABEL_MANAGED_BY, PROVIDER_LABEL_VALUE_MAX_LENGTH, PROVIDER_LABELS_MAX_KEYS, validateProviderLabels, } from './provider-labels.js';
|
|
6
|
-
export { createProviderRegistry } from './registry.js';
|
|
6
|
+
export { createProviderRegistry, isModelThinking } from './registry.js';
|
|
7
7
|
export { matchTuples, route } from './router.js';
|
|
8
|
+
export { SAMPLING_UNSUPPORTED, samplingFor } from './sampling.js';
|
|
8
9
|
export { recordModelUsage } from './usage.js';
|
|
9
|
-
export {
|
|
10
|
+
export { nameToolsAsSent } from './tool-names.js';
|
|
11
|
+
export { BUILT_IN_CAPABILITY_KINDS, DEFAULT_CAPABILITY_KIND, FEATURE_DESCRIPTIONS, FEATURES, } from './types.js';
|
|
10
12
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,iCAAiC;AAEjC,OAAO,EAAE,4BAA4B,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,iCAAiC;AAEjC,OAAO,EAAE,kBAAkB,EAAE,4BAA4B,EAAE,MAAM,sBAAsB,CAAC;AAWxF,OAAO,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACtE,OAAO,EACL,kBAAkB,EAClB,yBAAyB,EACzB,+BAA+B,EAC/B,wBAAwB,EACxB,sBAAsB,GACvB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,sBAAsB,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AACxE,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEjD,OAAO,EAAE,oBAAoB,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAElE,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAElD,OAAO,EACL,yBAAyB,EACzB,uBAAuB,EACvB,oBAAoB,EACpB,QAAQ,GACT,MAAM,YAAY,CAAC"}
|
package/dist/registry.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Result, TenantId } from '@kindgi/types';
|
|
2
2
|
import type { CapabilityError } from './errors.js';
|
|
3
|
-
import type { ModelProvider, ProviderRegistry } from './types.js';
|
|
3
|
+
import type { ModelProvider, ModelThinking, ProviderRegistry } from './types.js';
|
|
4
4
|
/**
|
|
5
5
|
* Create an in-memory registry of model providers. Tenant-scoped:
|
|
6
6
|
* each tenant owns its own `providerId → ModelProvider` map. The
|
|
@@ -24,4 +24,6 @@ export declare function createProviderRegistry(seed?: readonly {
|
|
|
24
24
|
readonly registry: ProviderRegistry;
|
|
25
25
|
register(tenantId: TenantId, provider: ModelProvider): Result<void, CapabilityError>;
|
|
26
26
|
};
|
|
27
|
+
/** `ModelInfo.thinking`'s shape: a known mode and a non-empty vendor setting. */
|
|
28
|
+
export declare function isModelThinking(value: unknown): value is ModelThinking;
|
|
27
29
|
//# sourceMappingURL=registry.d.ts.map
|
package/dist/registry.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEtD,OAAO,KAAK,EAAE,eAAe,EAAgD,MAAM,aAAa,CAAC;AAEjG,OAAO,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEtD,OAAO,KAAK,EAAE,eAAe,EAAgD,MAAM,aAAa,CAAC;AAEjG,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEjF;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,sBAAsB,CACpC,IAAI,GAAE,SAAS;IAAE,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAA;CAAE,EAAO,GACtF;IACD,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAC;IACpC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,GAAG,MAAM,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;CACtF,CA8KA;AAED,iFAAiF;AACjF,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,aAAa,CAStE"}
|
package/dist/registry.js
CHANGED
|
@@ -103,6 +103,28 @@ export function createProviderRegistry(seed = []) {
|
|
|
103
103
|
reason: 'invalid-max-output-tokens',
|
|
104
104
|
};
|
|
105
105
|
}
|
|
106
|
+
if (m.sampling !== undefined && typeof m.sampling !== 'boolean') {
|
|
107
|
+
return {
|
|
108
|
+
code: 'invalid-provider',
|
|
109
|
+
message: `provider "${p.metadata.id}" model "${m.name}" sampling must be true or false`,
|
|
110
|
+
reason: 'invalid-sampling',
|
|
111
|
+
};
|
|
112
|
+
}
|
|
113
|
+
if (m.thinking !== undefined && !isModelThinking(m.thinking)) {
|
|
114
|
+
return {
|
|
115
|
+
code: 'invalid-provider',
|
|
116
|
+
message: `provider "${p.metadata.id}" model "${m.name}" thinking must be { mode: 'adaptive' | 'always', lowest: <the vendor's setting> }`,
|
|
117
|
+
reason: 'invalid-thinking',
|
|
118
|
+
};
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
const defaultModel = p.metadata.defaultModel;
|
|
122
|
+
if (defaultModel !== undefined && !p.metadata.models.some((m) => m.name === defaultModel)) {
|
|
123
|
+
return {
|
|
124
|
+
code: 'invalid-provider',
|
|
125
|
+
message: `provider "${p.metadata.id}" defaultModel "${String(defaultModel)}" isn't one of its models (${p.metadata.models.map((m) => m.name).join(', ')})`,
|
|
126
|
+
reason: 'unknown-default-model',
|
|
127
|
+
};
|
|
106
128
|
}
|
|
107
129
|
const badLabels = validateProviderLabels(p.metadata.id, p.metadata.labels);
|
|
108
130
|
if (badLabels !== undefined)
|
|
@@ -158,4 +180,14 @@ export function createProviderRegistry(seed = []) {
|
|
|
158
180
|
}
|
|
159
181
|
return { registry, register };
|
|
160
182
|
}
|
|
183
|
+
/** `ModelInfo.thinking`'s shape: a known mode and a non-empty vendor setting. */
|
|
184
|
+
export function isModelThinking(value) {
|
|
185
|
+
if (typeof value !== 'object' || value === null)
|
|
186
|
+
return false;
|
|
187
|
+
const t = value;
|
|
188
|
+
return ((t.mode === 'adaptive' || t.mode === 'always') &&
|
|
189
|
+
typeof t.lowest === 'string' &&
|
|
190
|
+
t.lowest.length > 0 &&
|
|
191
|
+
Object.keys(t).every((k) => k === 'mode' || k === 'lowest'));
|
|
192
|
+
}
|
|
161
193
|
//# sourceMappingURL=registry.js.map
|
package/dist/registry.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,iCAAiC;AAKjC,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAG9D;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,sBAAsB,CACpC,OAAqF,EAAE;IAKvF,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAwC,CAAC;IAEjE,SAAS,SAAS,CAAC,QAAkB;QACnC,IAAI,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC/B,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;YACpB,CAAC,GAAG,IAAI,GAAG,EAAyB,CAAC;YACrC,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QAC5B,CAAC;QACD,OAAO,CAAC,CAAC;IACX,CAAC;IAED,SAAS,QAAQ,CAAC,CAAgB;QAChC,IAAI,OAAO,CAAC,CAAC,QAAQ,CAAC,EAAE,KAAK,QAAQ,IAAI,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACpE,OAAO;gBACL,IAAI,EAAE,kBAAkB;gBACxB,OAAO,EAAE,+BAA+B;gBACxC,MAAM,EAAE,UAAU;aACnB,CAAC;QACJ,CAAC;QACD,IAAI,OAAO,CAAC,CAAC,QAAQ,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5E,OAAO;gBACL,IAAI,EAAE,kBAAkB;gBACxB,OAAO,EAAE,aAAa,CAAC,CAAC,QAAQ,CAAC,EAAE,2BAA2B;gBAC9D,MAAM,EAAE,cAAc;aACvB,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxE,OAAO;gBACL,IAAI,EAAE,kBAAkB;gBACxB,OAAO,EAAE,aAAa,CAAC,CAAC,QAAQ,CAAC,EAAE,uDAAuD;gBAC1F,MAAM,EAAE,cAAc;aACvB,CAAC;QACJ,CAAC;QACD,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;QACpC,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;YAClC,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACtD,OAAO;oBACL,IAAI,EAAE,kBAAkB;oBACxB,OAAO,EAAE,aAAa,CAAC,CAAC,QAAQ,CAAC,EAAE,+BAA+B;oBAClE,MAAM,EAAE,kBAAkB;iBAC3B,CAAC;YACJ,CAAC;YACD,IAAI,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC1B,OAAO;oBACL,IAAI,EAAE,kBAAkB;oBACxB,OAAO,EAAE,aAAa,CAAC,CAAC,QAAQ,CAAC,EAAE,qBAAqB,CAAC,CAAC,IAAI,uCAAuC;oBACrG,MAAM,EAAE,sBAAsB;iBAC/B,CAAC;YACJ,CAAC;YACD,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACtB,IACE,OAAO,CAAC,CAAC,aAAa,KAAK,QAAQ;gBACnC,CAAC,CAAC,aAAa,IAAI,CAAC;gBACpB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,EAClC,CAAC;gBACD,OAAO;oBACL,IAAI,EAAE,kBAAkB;oBACxB,OAAO,EAAE,aAAa,CAAC,CAAC,QAAQ,CAAC,EAAE,YAAY,CAAC,CAAC,IAAI,4CAA4C;oBACjG,MAAM,EAAE,wBAAwB;iBACjC,CAAC;YACJ,CAAC;YACD,IACE,OAAO,CAAC,CAAC,IAAI,EAAE,oBAAoB,KAAK,QAAQ;gBAChD,CAAC,CAAC,IAAI,CAAC,oBAAoB,GAAG,CAAC;gBAC/B,OAAO,CAAC,CAAC,IAAI,CAAC,wBAAwB,KAAK,QAAQ;gBACnD,CAAC,CAAC,IAAI,CAAC,wBAAwB,GAAG,CAAC,EACnC,CAAC;gBACD,OAAO;oBACL,IAAI,EAAE,kBAAkB;oBACxB,OAAO,EAAE,aAAa,CAAC,CAAC,QAAQ,CAAC,EAAE,YAAY,CAAC,CAAC,IAAI,qFAAqF;oBAC1I,MAAM,EAAE,cAAc;iBACvB,CAAC;YACJ,CAAC;YACD,IACE,CAAC,CAAC,YAAY,KAAK,SAAS;gBAC5B,CAAC,OAAO,CAAC,CAAC,YAAY,KAAK,QAAQ,IAAI,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC,EAC1D,CAAC;gBACD,OAAO;oBACL,IAAI,EAAE,kBAAkB;oBACxB,OAAO,EAAE,aAAa,CAAC,CAAC,QAAQ,CAAC,EAAE,YAAY,CAAC,CAAC,IAAI,8CAA8C;oBACnG,MAAM,EAAE,qBAAqB;iBAC9B,CAAC;YACJ,CAAC;YACD,IACE,CAAC,CAAC,eAAe,KAAK,SAAS;gBAC/B,CAAC,OAAO,CAAC,CAAC,eAAe,KAAK,QAAQ;oBACpC,CAAC,CAAC,eAAe,IAAI,CAAC;oBACtB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,EACvC,CAAC;gBACD,OAAO;oBACL,IAAI,EAAE,kBAAkB;oBACxB,OAAO,EAAE,aAAa,CAAC,CAAC,QAAQ,CAAC,EAAE,YAAY,CAAC,CAAC,IAAI,8CAA8C;oBACnG,MAAM,EAAE,2BAA2B;iBACpC,CAAC;YACJ,CAAC;YACD,IAAI,CAAC,CAAC,QAAQ,KAAK,SAAS,IAAI,OAAO,CAAC,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;gBAChE,OAAO;oBACL,IAAI,EAAE,kBAAkB;oBACxB,OAAO,EAAE,aAAa,CAAC,CAAC,QAAQ,CAAC,EAAE,YAAY,CAAC,CAAC,IAAI,kCAAkC;oBACvF,MAAM,EAAE,kBAAkB;iBAC3B,CAAC;YACJ,CAAC;YACD,IAAI,CAAC,CAAC,QAAQ,KAAK,SAAS,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC7D,OAAO;oBACL,IAAI,EAAE,kBAAkB;oBACxB,OAAO,EAAE,aAAa,CAAC,CAAC,QAAQ,CAAC,EAAE,YAAY,CAAC,CAAC,IAAI,oFAAoF;oBACzI,MAAM,EAAE,kBAAkB;iBAC3B,CAAC;YACJ,CAAC;QACH,CAAC;QACD,MAAM,YAAY,GAAG,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC;QAC7C,IAAI,YAAY,KAAK,SAAS,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,YAAY,CAAC,EAAE,CAAC;YAC1F,OAAO;gBACL,IAAI,EAAE,kBAAkB;gBACxB,OAAO,EAAE,aAAa,CAAC,CAAC,QAAQ,CAAC,EAAE,mBAAmB,MAAM,CAAC,YAAY,CAAC,8BAA8B,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;gBAC1J,MAAM,EAAE,uBAAuB;aAChC,CAAC;QACJ,CAAC;QACD,MAAM,SAAS,GAAG,sBAAsB,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAC3E,IAAI,SAAS,KAAK,SAAS;YAAE,OAAO,EAAE,IAAI,EAAE,kBAAkB,EAAE,GAAG,SAAS,EAAE,CAAC;QAC/E,IAAI,OAAO,CAAC,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;YACnC,OAAO;gBACL,IAAI,EAAE,kBAAkB;gBACxB,OAAO,EAAE,aAAa,CAAC,CAAC,QAAQ,CAAC,EAAE,6BAA6B;gBAChE,MAAM,EAAE,gBAAgB;aACzB,CAAC;QACJ,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,SAAS,QAAQ,CAAC,QAAkB,EAAE,QAAuB;QAC3D,MAAM,OAAO,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACnC,IAAI,OAAO,KAAK,SAAS;YAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;QAClE,MAAM,CAAC,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;QAC9B,IAAI,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;YAChC,MAAM,GAAG,GAA2B;gBAClC,IAAI,EAAE,oBAAoB;gBAC1B,OAAO,EAAE,aAAa,QAAQ,CAAC,QAAQ,CAAC,EAAE,uCAAuC,QAAQ,GAAG;gBAC5F,UAAU,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE;aACjC,CAAC;YACF,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;QACrC,CAAC;QACD,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;QACtC,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;IAC1C,CAAC;IAED,MAAM,QAAQ,GAAqB;QACjC,QAAQ,CAAC,QAAQ,EAAE,QAAQ;YACzB,MAAM,CAAC,GAAG,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YACvC,IAAI,CAAC,CAAC,IAAI,KAAK,KAAK;gBAAE,MAAM,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACzD,CAAC;QACD,GAAG,CAAC,QAAQ,EAAE,EAAE;YACd,OAAO,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;QACzC,CAAC;QACD,IAAI,CAAC,QAAQ;YACX,MAAM,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACjC,IAAI,CAAC,KAAK,SAAS;gBAAE,OAAO,EAAE,CAAC;YAC/B,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;QACzB,CAAC;QACD,GAAG,CAAC,QAAQ,EAAE,EAAE;YACd,OAAO,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,IAAI,KAAK,CAAC;QAClD,CAAC;KACF,CAAC;IAEF,KAAK,MAAM,KAAK,IAAI,IAAI,EAAE,CAAC;QACzB,MAAM,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;QACnD,IAAI,CAAC,CAAC,IAAI,KAAK,KAAK;YAClB,MAAM,IAAI,KAAK,CACb,kBAAkB,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,0BAA0B,KAAK,CAAC,QAAQ,MAAM,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,CAC5G,CAAC;IACN,CAAC;IAED,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;AAChC,CAAC;AAED,iFAAiF;AACjF,MAAM,UAAU,eAAe,CAAC,KAAc;IAC5C,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IAC9D,MAAM,CAAC,GAAG,KAAgC,CAAC;IAC3C,OAAO,CACL,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC;QAC9C,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ;QAC5B,CAAC,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;QACnB,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,MAAM,IAAI,CAAC,KAAK,QAAQ,CAAC,CAC5D,CAAC;AACJ,CAAC"}
|
package/dist/router.js
CHANGED
|
@@ -149,8 +149,9 @@ function tupleKey(t) {
|
|
|
149
149
|
}
|
|
150
150
|
/**
|
|
151
151
|
* Rank tuples by summed weight of matched preferences, stable sort.
|
|
152
|
-
* Equal scores tiebreak
|
|
153
|
-
*
|
|
152
|
+
* Equal scores tiebreak on the provider id, then the provider's
|
|
153
|
+
* `defaultModel` first, then the model name, so replay is deterministic
|
|
154
|
+
* even when multiple tuples tie.
|
|
154
155
|
*/
|
|
155
156
|
function rankByPreference(tuples, prefs) {
|
|
156
157
|
if (prefs.length === 0)
|
|
@@ -167,8 +168,15 @@ function compareTuplesLex(a, b) {
|
|
|
167
168
|
const p = a.provider.metadata.id.localeCompare(b.provider.metadata.id);
|
|
168
169
|
if (p !== 0)
|
|
169
170
|
return p;
|
|
171
|
+
const d = Number(isDefaultModel(b)) - Number(isDefaultModel(a));
|
|
172
|
+
if (d !== 0)
|
|
173
|
+
return d;
|
|
170
174
|
return a.model.name.localeCompare(b.model.name);
|
|
171
175
|
}
|
|
176
|
+
/** The provider names this model as the one to use when nothing else decides. */
|
|
177
|
+
function isDefaultModel(t) {
|
|
178
|
+
return t.provider.metadata.defaultModel === t.model.name;
|
|
179
|
+
}
|
|
172
180
|
function preferenceScore(t, prefs) {
|
|
173
181
|
let score = 0;
|
|
174
182
|
const providerAttrs = t.provider.metadata.attributes;
|
package/dist/router.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"router.js","sourceRoot":"","sources":["../src/router.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"router.js","sourceRoot":"","sources":["../src/router.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,iCAAiC;AAKjC,OAAO,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AA+CrD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,UAAU,KAAK,CAAC,KAAiB;IACrC,MAAM,SAAS,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;IACrC,IAAI,SAAS,CAAC,IAAI,KAAK,KAAK;QAAE,OAAO,SAAS,CAAC;IAE/C,MAAM,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC;IACrF,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC;IACtC,MAAM,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC;IACxD,MAAM,MAAM,GAAG,gBAAgB,CAAC,UAAU,EAAE,KAAK,CAAC,UAAU,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;IAC3E,MAAM,UAAU,GAAG,mBAAmB,CAAC,MAAM,EAAE,KAAK,CAAC,iBAAiB,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC;IAC9F,MAAM,GAAG,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;IAC1B,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtB,kDAAkD;QAClD,OAAO,aAAa,CAAC,EAAE,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;IAC/C,CAAC;IACD,OAAO;QACL,IAAI,EAAE,IAAI;QACV,KAAK,EAAE;YACL,QAAQ,EAAE,GAAG,CAAC,QAAQ;YACtB,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,MAAM,EAAE,WAAW,CAAC,GAAG,EAAE,KAAK,EAAE,QAAQ,CAAC;YACzC,UAAU,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;YAC/B,QAAQ;SACT;KACF,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,SAAS,YAAY,CAAC,SAAmC;IACvD,MAAM,GAAG,GAAwB,EAAE,CAAC;IACpC,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;QAC1B,KAAK,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;YAClC,GAAG,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;QACtC,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,WAAW,CACzB,KAAiB;IAEjB,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAC7C,MAAM,UAAU,GAAG,IAAI,GAAG,EAAoB,CAAC;IAC/C,MAAM,qBAAqB,GAAsD,EAAE,CAAC;IAEpF,MAAM,aAAa,GAAG,KAAK,CAAC,UAAU,CAAC,IAAI,IAAI,uBAAuB,CAAC;IACvE,MAAM,YAAY,GAGZ;QACJ,mEAAmE;QACnE,qEAAqE;QACrE,0BAA0B;QAC1B;YACE,KAAK,EAAE,qBAAqB,aAAa,EAAE;YAC3C,IAAI,EAAE,CAAC,CAAC,EAA0B,EAAE;gBAClC,MAAM,YAAY,GAAG,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,cAAc,IAAI,uBAAuB,CAAC;gBACnF,IAAI,YAAY,KAAK,aAAa;oBAAE,OAAO,IAAI,CAAC;gBAChD,OAAO;oBACL,IAAI,EAAE,0BAA0B;oBAChC,OAAO,EAAE,kBAAkB,YAAY,+BAA+B,aAAa,GAAG;oBACtF,QAAQ,EAAE,YAAY;oBACtB,MAAM,EAAE,aAAa;iBACtB,CAAC;YACJ,CAAC;SACF;QACD,GAAG,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YACtC,KAAK,EAAE,mBAAmB,CAAC,GAAG,CAAC;YAC/B,IAAI,EAAE,CAAC,CAAoB,EAA0B,EAAE,CAAC,gBAAgB,CAAC,GAAG,EAAE,CAAC,CAAC;SACjF,CAAC,CAAC;QACH,GAAG,wBAAwB,CAAC,KAAK,CAAC,YAAY,CAAC;KAChD,CAAC;IAEF,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACvB,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QACxB,KAAK,MAAM,CAAC,IAAI,YAAY,EAAE,CAAC;YAC7B,MAAM,SAAS,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC5B,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;gBACvB,MAAM,QAAQ,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;gBAC3C,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,MAAM,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC;gBACnD,UAAU,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;YAChC,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;IACzF,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;IAElE,kEAAkE;IAClE,iEAAiE;IACjE,yEAAyE;IACzE,KAAK,MAAM,CAAC,IAAI,YAAY,EAAE,CAAC;QAC7B,MAAM,UAAU,GAAa,EAAE,CAAC;QAChC,MAAM,SAAS,GAAgE,EAAE,CAAC;QAClF,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;YACvB,MAAM,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC1B,MAAM,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YACvB,IAAI,OAAO,KAAK,IAAI;gBAAE,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;;gBACrC,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;QAC/C,CAAC;QACD,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS;QACrC,qBAAqB,CAAC,IAAI,CAAC;YACzB,WAAW,EAAE,CAAC,CAAC,KAAK;YACpB,mBAAmB,EAAE,UAAU;YAC/B,kBAAkB,EAAE,SAAS;SAC9B,CAAC,CAAC;IACL,CAAC;IACD,OAAO,aAAa,CAAC,qBAAqB,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;AAClE,CAAC;AAED,uFAAuF;AACvF,SAAS,QAAQ,CAAC,CAAoB;IACpC,OAAO,GAAG,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;AACrD,CAAC;AAED;;;;;GAKG;AACH,SAAS,gBAAgB,CACvB,MAAoC,EACpC,KAA4B;IAE5B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,CAAC,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAClE,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,eAAe,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5E,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACnB,IAAI,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,KAAK;YAAE,OAAO,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;QAClD,OAAO,gBAAgB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IACH,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAChC,CAAC;AAED,SAAS,gBAAgB,CAAC,CAAoB,EAAE,CAAoB;IAClE,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IACvE,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC;IACtB,MAAM,CAAC,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;IAChE,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC;IACtB,OAAO,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AAClD,CAAC;AAED,iFAAiF;AACjF,SAAS,cAAc,CAAC,CAAoB;IAC1C,OAAO,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,KAAK,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;AAC3D,CAAC;AAED,SAAS,eAAe,CAAC,CAAoB,EAAE,KAA4B;IACzE,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,MAAM,aAAa,GAAG,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC;IACrD,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC;IACvC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IACE,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAgB,CAAC;YAC7C,aAAa,EAAE,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,EAC9C,CAAC;YACD,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC;QACvB,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;GAKG;AACH,SAAS,mBAAmB,CAC1B,MAAoC,EACpC,iBAAqC,EACrC,cAAkC;IAElC,IAAI,iBAAiB,KAAK,SAAS,IAAI,cAAc,KAAK,SAAS;QAAE,OAAO,MAAM,CAAC;IACnF,MAAM,OAAO,GAAG,CAAC,CAAoB,EAAW,EAAE;QAChD,IAAI,iBAAiB,KAAK,SAAS,IAAI,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,KAAK,iBAAiB,EAAE,CAAC;YACpF,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,cAAc,KAAK,SAAS,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,cAAc;YAAE,OAAO,KAAK,CAAC;QAClF,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IACF,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3E,CAAC;AAED;;;;;;GAMG;AACH,SAAS,gBAAgB,CAAC,GAAgB,EAAE,CAAoB;IAC9D,MAAM,IAAI,GAAG,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;IACjC,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;IACtB,IAAI,SAAS,IAAI,GAAG,EAAE,CAAC;QACrB,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC;YAAE,OAAO,IAAI,CAAC;QACtD,OAAO;YACL,IAAI,EAAE,iBAAiB;YACvB,OAAO,EAAE,6BAA6B,GAAG,CAAC,OAAO,GAAG;YACpD,OAAO,EAAE,GAAG,CAAC,OAAO;SACrB,CAAC;IACJ,CAAC;IACD,IAAI,eAAe,IAAI,GAAG,EAAE,CAAC;QAC3B,IAAI,OAAO,CAAC,KAAK,CAAC,aAAa,EAAE,GAAG,CAAC,aAAa,CAAC,EAAE,EAAE,GAAG,CAAC,aAAa,CAAC,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QAC7F,OAAO;YACL,IAAI,EAAE,yBAAyB;YAC/B,OAAO,EAAE,iBAAiB,KAAK,CAAC,aAAa,UAAU,GAAG,CAAC,aAAa,CAAC,EAAE,GAAG,GAAG,CAAC,aAAa,CAAC,KAAK,EAAE;YACvG,QAAQ,EAAE,KAAK,CAAC,aAAa;YAC7B,EAAE,EAAE,GAAG,CAAC,aAAa,CAAC,EAAE;YACxB,MAAM,EAAE,GAAG,CAAC,aAAa,CAAC,KAAK;SAChC,CAAC;IACJ,CAAC;IACD,IAAI,aAAa,IAAI,GAAG,EAAE,CAAC;QACzB,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC;QAC9C,IAAI,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,WAAW,CAAC,EAAE,EAAE,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC;QACzE,OAAO;YACL,IAAI,EAAE,kBAAkB;YACxB,OAAO,EAAE,eAAe,KAAK,aAAa,GAAG,CAAC,WAAW,CAAC,EAAE,IAAI,GAAG,CAAC,WAAW,CAAC,GAAG,EAAE;YACrF,gBAAgB,EAAE,KAAK;YACvB,EAAE,EAAE,GAAG,CAAC,WAAW,CAAC,EAAE;YACtB,SAAS,EAAE,GAAG,CAAC,WAAW,CAAC,GAAG;SAC/B,CAAC;IACJ,CAAC;IACD,IAAI,QAAQ,IAAI,GAAG,EAAE,CAAC;QACpB,IAAI,IAAI,CAAC,MAAM,KAAK,GAAG,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC;QAC5C,OAAO;YACL,IAAI,EAAE,iBAAiB;YACvB,OAAO,EAAE,WAAW,IAAI,CAAC,MAAM,kBAAkB,GAAG,CAAC,MAAM,GAAG;YAC9D,QAAQ,EAAE,IAAI,CAAC,MAAM;YACrB,MAAM,EAAE,GAAG,CAAC,MAAM;SACnB,CAAC;IACJ,CAAC;IACD,IAAI,cAAc,IAAI,GAAG,EAAE,CAAC;QAC1B,IAAI,KAAK,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;YACrC,OAAO,EAAE,IAAI,EAAE,qBAAqB,EAAE,OAAO,EAAE,mCAAmC,EAAE,CAAC;QACvF,CAAC;QACD,IAAI,iBAAiB,CAAC,KAAK,CAAC,YAAY,EAAE,GAAG,CAAC,YAAY,CAAC,EAAE,EAAE,GAAG,CAAC,YAAY,CAAC,KAAK,CAAC;YACpF,OAAO,IAAI,CAAC;QACd,OAAO;YACL,IAAI,EAAE,qBAAqB;YAC3B,OAAO,EAAE,cAAc,KAAK,CAAC,YAAY,YAAY,GAAG,CAAC,YAAY,CAAC,EAAE,GAAG,GAAG,CAAC,YAAY,CAAC,KAAK,IAAI;YACrG,UAAU,EAAE,KAAK,CAAC,YAAY;YAC9B,EAAE,EAAE,GAAG,CAAC,YAAY,CAAC,EAAE;YACvB,QAAQ,EAAE,GAAG,CAAC,YAAY,CAAC,KAAK;SACjC,CAAC;IACJ,CAAC;IACD,IAAI,WAAW,IAAI,GAAG,EAAE,CAAC;QACvB,IAAI,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC;YACnD,OAAO;gBACL,IAAI,EAAE,sBAAsB;gBAC5B,OAAO,EAAE,uBAAuB;gBAChC,UAAU,EAAE,IAAI,CAAC,EAAE;aACpB,CAAC;QACJ,CAAC;QACD,IAAI,GAAG,CAAC,SAAS,CAAC,KAAK,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;YAChF,OAAO;gBACL,IAAI,EAAE,2BAA2B;gBACjC,OAAO,EAAE,4BAA4B;gBACrC,UAAU,EAAE,IAAI,CAAC,EAAE;gBACnB,KAAK,EAAE,GAAG,CAAC,SAAS,CAAC,KAAK;aAC3B,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,QAAQ,IAAI,GAAG,EAAE,CAAC;QACpB,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;YACnD,OAAO;gBACL,IAAI,EAAE,mBAAmB;gBACzB,OAAO,EAAE,oBAAoB;gBAC7B,SAAS,EAAE,KAAK,CAAC,IAAI;aACtB,CAAC;QACJ,CAAC;QACD,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7E,OAAO;gBACL,IAAI,EAAE,wBAAwB;gBAC9B,OAAO,EAAE,yBAAyB;gBAClC,SAAS,EAAE,KAAK,CAAC,IAAI;gBACrB,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK;aACxB,CAAC;QACJ,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,qBAAqB,EAAE,OAAO,EAAE,2BAA2B,EAAE,CAAC;AAC/E,CAAC;AAED;;;;;GAKG;AACH,SAAS,wBAAwB,CAAC,MAAgC;IAIhE,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,EAAE,CAAC;IACpC,MAAM,GAAG,GAGH,EAAE,CAAC;IACT,MAAM,YAAY,GAAG,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC;IAC5C,IAAI,YAAY,KAAK,SAAS,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1D,MAAM,IAAI,GAAG,YAAY,CAAC;QAC1B,GAAG,CAAC,IAAI,CAAC;YACP,KAAK,EAAE,yBAAyB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG;YACjD,IAAI,EAAE,CAAC,CAAC,EAA0B,EAAE,CAClC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACnC,CAAC,CAAC;oBACE,IAAI,EAAE,eAAe;oBACrB,OAAO,EAAE,oBAAoB;oBAC7B,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;iBACnC;gBACH,CAAC,CAAC,IAAI;SACX,CAAC,CAAC;IACL,CAAC;IACD,MAAM,aAAa,GAAG,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC;IAC9C,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;QAChC,MAAM,KAAK,GAAG,aAAa,CAAC;QAC5B,GAAG,CAAC,IAAI,CAAC;YACP,KAAK,EAAE,0BAA0B,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG;YACnD,IAAI,EAAE,CAAC,CAAC,EAA0B,EAAE,CAClC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACpC,CAAC,CAAC,IAAI;gBACN,CAAC,CAAC;oBACE,IAAI,EAAE,oBAAoB;oBAC1B,OAAO,EAAE,0BAA0B;oBACnC,UAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;iBACnC;SACR,CAAC,CAAC;IACL,CAAC;IACD,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC;IACtC,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpD,MAAM,IAAI,GAAG,SAAS,CAAC;QACvB,GAAG,CAAC,IAAI,CAAC;YACP,KAAK,EAAE,sBAAsB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG;YAC9C,IAAI,EAAE,CAAC,CAAC,EAA0B,EAAE,CAClC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;gBACzB,CAAC,CAAC;oBACE,IAAI,EAAE,qBAAqB;oBAC3B,OAAO,EAAE,4BAA4B;oBACrC,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI;iBACxB;gBACH,CAAC,CAAC,IAAI;SACX,CAAC,CAAC;IACL,CAAC;IACD,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC;IACxC,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,MAAM,KAAK,GAAG,UAAU,CAAC;QACzB,GAAG,CAAC,IAAI,CAAC;YACP,KAAK,EAAE,uBAAuB,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG;YAChD,IAAI,EAAE,CAAC,CAAC,EAA0B,EAAE,CAClC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;gBAC1B,CAAC,CAAC,IAAI;gBACN,CAAC,CAAC;oBACE,IAAI,EAAE,0BAA0B;oBAChC,OAAO,EAAE,gCAAgC;oBACzC,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI;iBACxB;SACR,CAAC,CAAC;IACL,CAAC;IACD,IAAI,MAAM,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;QACrC,MAAM,OAAO,GAAG,MAAM,CAAC,WAAW,CAAC;QACnC,GAAG,CAAC,IAAI,CAAC;YACP,KAAK,EAAE,sBAAsB,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG;YACjD,IAAI,EAAE,CAAC,CAAC,EAA0B,EAAE,CAClC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC;gBAC1C,CAAC,CAAC,IAAI;gBACN,CAAC,CAAC;oBACE,IAAI,EAAE,2BAA2B;oBACjC,OAAO,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,4BAA4B;oBAC1E,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM;oBACpC,KAAK,EAAE,OAAO;iBACf;SACR,CAAC,CAAC;IACL,CAAC;IACD,IAAI,MAAM,CAAC,iBAAiB,KAAK,SAAS,EAAE,CAAC;QAC3C,MAAM,GAAG,GAAG,MAAM,CAAC,iBAAiB,CAAC;QACrC,GAAG,CAAC,IAAI,CAAC;YACP,KAAK,EAAE,6BAA6B,GAAG,EAAE;YACzC,IAAI,EAAE,CAAC,CAAC,EAA0B,EAAE,CAClC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,oBAAoB,IAAI,GAAG;gBACtC,CAAC,CAAC,IAAI;gBACN,CAAC,CAAC;oBACE,IAAI,EAAE,0BAA0B;oBAChC,OAAO,EAAE,kBAAkB,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,oBAAoB,kBAAkB,GAAG,EAAE;oBACnF,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,oBAAoB;oBAC9C,MAAM,EAAE,GAAG;iBACZ;SACR,CAAC,CAAC;IACL,CAAC;IACD,IAAI,MAAM,CAAC,gBAAgB,KAAK,SAAS,EAAE,CAAC;QAC1C,MAAM,GAAG,GAAG,MAAM,CAAC,gBAAgB,CAAC;QACpC,GAAG,CAAC,IAAI,CAAC;YACP,KAAK,EAAE,4BAA4B,GAAG,EAAE;YACxC,IAAI,EAAE,CAAC,CAAC,EAA0B,EAAE,CAClC,CAAC,CAAC,KAAK,CAAC,aAAa,IAAI,GAAG;gBAC1B,CAAC,CAAC,IAAI;gBACN,CAAC,CAAC;oBACE,8DAA8D;oBAC9D,IAAI,EAAE,yBAAyB;oBAC/B,OAAO,EAAE,iBAAiB,CAAC,CAAC,KAAK,CAAC,aAAa,iBAAiB,GAAG,EAAE;oBACrE,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,aAAa;oBAC/B,EAAE,EAAE,IAAI;oBACR,MAAM,EAAE,GAAG;iBACZ;SACR,CAAC,CAAC;IACL,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,OAAO,CAAC,MAAc,EAAE,EAAgB,EAAE,MAAc;IAC/D,QAAQ,EAAE,EAAE,CAAC;QACX,KAAK,IAAI;YACP,OAAO,MAAM,IAAI,MAAM,CAAC;QAC1B,KAAK,GAAG;YACN,OAAO,MAAM,GAAG,MAAM,CAAC;QACzB,KAAK,GAAG;YACN,OAAO,MAAM,KAAK,MAAM,CAAC;QAC3B,KAAK,IAAI;YACP,OAAO,MAAM,IAAI,MAAM,CAAC;QAC1B,KAAK,GAAG;YACN,OAAO,MAAM,GAAG,MAAM,CAAC;IAC3B,CAAC;AACH,CAAC;AAED,SAAS,iBAAiB,CAAC,MAAc,EAAE,EAAgB,EAAE,MAAc;IACzE,OAAO,EAAE,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,IAAI,MAAM,CAAC,CAAC,CAAC,MAAM,GAAG,MAAM,CAAC;AAC1D,CAAC;AAED,SAAS,mBAAmB,CAAC,GAAgB;IAC3C,IAAI,SAAS,IAAI,GAAG;QAAE,OAAO,WAAW,GAAG,CAAC,OAAO,EAAE,CAAC;IACtD,IAAI,eAAe,IAAI,GAAG;QACxB,OAAO,gBAAgB,GAAG,CAAC,aAAa,CAAC,EAAE,GAAG,GAAG,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;IAC1E,IAAI,aAAa,IAAI,GAAG;QAAE,OAAO,cAAc,GAAG,CAAC,WAAW,CAAC,EAAE,IAAI,GAAG,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC;IAC3F,IAAI,QAAQ,IAAI,GAAG;QAAE,OAAO,UAAU,GAAG,CAAC,MAAM,EAAE,CAAC;IACnD,IAAI,cAAc,IAAI,GAAG;QAAE,OAAO,eAAe,GAAG,CAAC,YAAY,CAAC,EAAE,GAAG,GAAG,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;IAChG,IAAI,WAAW,IAAI,GAAG,EAAE,CAAC;QACvB,MAAM,KAAK,GAAG,GAAG,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QACnD,MAAM,IAAI,GAAG,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QACjD,OAAO,oBAAoB,KAAK,UAAU,IAAI,IAAI,CAAC;IACrD,CAAC;IACD,IAAI,QAAQ,IAAI,GAAG,EAAE,CAAC;QACpB,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QAChD,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QAC9C,OAAO,iBAAiB,KAAK,UAAU,IAAI,IAAI,CAAC;IAClD,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,WAAW,CAAC,CAAoB,EAAE,KAAiB,EAAE,QAAiB;IAC7E,MAAM,KAAK,GAAG;QACZ,WAAW,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,IAAI,GAAG;QACtD,aAAa,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,gBAAgB;KAC3D,CAAC;IACF,IAAI,QAAQ;QAAE,KAAK,CAAC,IAAI,CAAC,iEAAiE,CAAC,CAAC;IAC5F,IAAI,KAAK,CAAC,YAAY,KAAK,SAAS;QAAE,KAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;IAC3E,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC;IACtC,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;QACzC,KAAK,CAAC,IAAI,CAAC,iBAAiB,KAAK,CAAC,MAAM,gBAAgB,CAAC,CAAC;IAC5D,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,aAAa,CACpB,OAAgD,EAChD,YAAsC;IAEtC,OAAO;QACL,IAAI,EAAE,KAAK;QACX,KAAK,EAAE;YACL,IAAI,EAAE,0BAA0B;YAChC,OAAO,EAAE,6DAA6D;YACtE,OAAO;YACP,GAAG,CAAC,YAAY,KAAK,SAAS,IAAI,EAAE,QAAQ,EAAE,YAAY,CAAC,QAAQ,EAAE,CAAC;SACvE;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Sampling settings for a model that may not take them. Some models
|
|
3
|
+
* reject a non-default `temperature` outright (Anthropic's Claude 4.7
|
|
4
|
+
* and later; OpenAI's GPT-6 at any reasoning effort but `none`). Their
|
|
5
|
+
* `ModelInfo.sampling` is `false`, and every adapter asks this one place
|
|
6
|
+
* what to send: the call goes out without the temperature, and the
|
|
7
|
+
* answer carries a `sampling-unsupported` warning saying so, instead of
|
|
8
|
+
* failing on the vendor's 400.
|
|
9
|
+
*/
|
|
10
|
+
import type { ModelCallInput, ModelCallWarning, ModelInfo } from './types.js';
|
|
11
|
+
/** The warning code an answer carries when its temperature was left out. */
|
|
12
|
+
export declare const SAMPLING_UNSUPPORTED = "sampling-unsupported";
|
|
13
|
+
export interface Sampling {
|
|
14
|
+
/** The temperature to send: absent when unset, or when the model doesn't take one. */
|
|
15
|
+
readonly temperature?: number;
|
|
16
|
+
/** One `sampling-unsupported` warning when a temperature was left out. */
|
|
17
|
+
readonly warnings: readonly ModelCallWarning[];
|
|
18
|
+
}
|
|
19
|
+
/** What to send of a call's sampling settings, for this model. */
|
|
20
|
+
export declare function samplingFor(model: Pick<ModelInfo, 'name' | 'sampling'>, input: Pick<ModelCallInput, 'temperature'>): Sampling;
|
|
21
|
+
//# sourceMappingURL=sampling.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sampling.d.ts","sourceRoot":"","sources":["../src/sampling.ts"],"names":[],"mappings":"AAGA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAE9E,4EAA4E;AAC5E,eAAO,MAAM,oBAAoB,yBAAyB,CAAC;AAE3D,MAAM,WAAW,QAAQ;IACvB,sFAAsF;IACtF,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,0EAA0E;IAC1E,QAAQ,CAAC,QAAQ,EAAE,SAAS,gBAAgB,EAAE,CAAC;CAChD;AAED,kEAAkE;AAClE,wBAAgB,WAAW,CACzB,KAAK,EAAE,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,UAAU,CAAC,EAC3C,KAAK,EAAE,IAAI,CAAC,cAAc,EAAE,aAAa,CAAC,GACzC,QAAQ,CAWV"}
|
package/dist/sampling.js
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
2
|
+
// Copyright (C) 2026 Kindgi Inc.
|
|
3
|
+
/** The warning code an answer carries when its temperature was left out. */
|
|
4
|
+
export const SAMPLING_UNSUPPORTED = 'sampling-unsupported';
|
|
5
|
+
/** What to send of a call's sampling settings, for this model. */
|
|
6
|
+
export function samplingFor(model, input) {
|
|
7
|
+
if (input.temperature === undefined)
|
|
8
|
+
return { warnings: [] };
|
|
9
|
+
if (model.sampling !== false)
|
|
10
|
+
return { temperature: input.temperature, warnings: [] };
|
|
11
|
+
return {
|
|
12
|
+
warnings: [
|
|
13
|
+
{
|
|
14
|
+
code: SAMPLING_UNSUPPORTED,
|
|
15
|
+
message: `${model.name} doesn't take a temperature, so the call went without one (it asked for ${input.temperature}).`,
|
|
16
|
+
},
|
|
17
|
+
],
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=sampling.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sampling.js","sourceRoot":"","sources":["../src/sampling.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,iCAAiC;AAcjC,4EAA4E;AAC5E,MAAM,CAAC,MAAM,oBAAoB,GAAG,sBAAsB,CAAC;AAS3D,kEAAkE;AAClE,MAAM,UAAU,WAAW,CACzB,KAA2C,EAC3C,KAA0C;IAE1C,IAAI,KAAK,CAAC,WAAW,KAAK,SAAS;QAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;IAC7D,IAAI,KAAK,CAAC,QAAQ,KAAK,KAAK;QAAE,OAAO,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;IACtF,OAAO;QACL,QAAQ,EAAE;YACR;gBACE,IAAI,EAAE,oBAAoB;gBAC1B,OAAO,EAAE,GAAG,KAAK,CAAC,IAAI,2EAA2E,KAAK,CAAC,WAAW,IAAI;aACvH;SACF;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A model's own tools, named in its text by the names it's sent them
|
|
3
|
+
* under.
|
|
4
|
+
*
|
|
5
|
+
* Tool ids are dotted (`acme.lookup_order`), and providers that forbid
|
|
6
|
+
* dots in tool names (Anthropic, OpenAI-compatible) are sent an encoded
|
|
7
|
+
* name (`acme__lookup_order`). An agent's instructions that name a tool
|
|
8
|
+
* by its id then point the model at a name it wasn't given. It writes
|
|
9
|
+
* the call as text, or the server drops it. Measured on local models,
|
|
10
|
+
* that's a quarter of such turns (T311).
|
|
11
|
+
*
|
|
12
|
+
* `nameToolsAsSent` rewrites each declared tool id in `text` to its sent
|
|
13
|
+
* name:
|
|
14
|
+
* - only the ids passed (the call's own tools), as whole tokens: not
|
|
15
|
+
* preceded by a word character, `.` or `-`, and not followed by a word
|
|
16
|
+
* character, `-` or `.<word>`. So `acme.lookup_orders`,
|
|
17
|
+
* `xacme.lookup_order` and `acme.lookup_order.v2` are left alone, and
|
|
18
|
+
* a sentence's final `.` isn't part of the id;
|
|
19
|
+
* - deterministically: one pass, longest id first, so the same text and
|
|
20
|
+
* tools always give the same bytes (prompt-cache prefixes stay stable).
|
|
21
|
+
*
|
|
22
|
+
* An adapter applies it to the text it sends (the system prompt), at the
|
|
23
|
+
* wire boundary: the agent's own messages, the journal and provenance
|
|
24
|
+
* keep the author's dotted ids.
|
|
25
|
+
*/
|
|
26
|
+
export declare function nameToolsAsSent(text: string, toolIds: readonly string[], sentName: (id: string) => string): string;
|
|
27
|
+
//# sourceMappingURL=tool-names.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-names.d.ts","sourceRoot":"","sources":["../src/tool-names.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,eAAe,CAC7B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,SAAS,MAAM,EAAE,EAC1B,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,MAAM,GAC/B,MAAM,CAeR"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
2
|
+
// Copyright (C) 2026 Kindgi Inc.
|
|
3
|
+
/**
|
|
4
|
+
* A model's own tools, named in its text by the names it's sent them
|
|
5
|
+
* under.
|
|
6
|
+
*
|
|
7
|
+
* Tool ids are dotted (`acme.lookup_order`), and providers that forbid
|
|
8
|
+
* dots in tool names (Anthropic, OpenAI-compatible) are sent an encoded
|
|
9
|
+
* name (`acme__lookup_order`). An agent's instructions that name a tool
|
|
10
|
+
* by its id then point the model at a name it wasn't given. It writes
|
|
11
|
+
* the call as text, or the server drops it. Measured on local models,
|
|
12
|
+
* that's a quarter of such turns (T311).
|
|
13
|
+
*
|
|
14
|
+
* `nameToolsAsSent` rewrites each declared tool id in `text` to its sent
|
|
15
|
+
* name:
|
|
16
|
+
* - only the ids passed (the call's own tools), as whole tokens: not
|
|
17
|
+
* preceded by a word character, `.` or `-`, and not followed by a word
|
|
18
|
+
* character, `-` or `.<word>`. So `acme.lookup_orders`,
|
|
19
|
+
* `xacme.lookup_order` and `acme.lookup_order.v2` are left alone, and
|
|
20
|
+
* a sentence's final `.` isn't part of the id;
|
|
21
|
+
* - deterministically: one pass, longest id first, so the same text and
|
|
22
|
+
* tools always give the same bytes (prompt-cache prefixes stay stable).
|
|
23
|
+
*
|
|
24
|
+
* An adapter applies it to the text it sends (the system prompt), at the
|
|
25
|
+
* wire boundary: the agent's own messages, the journal and provenance
|
|
26
|
+
* keep the author's dotted ids.
|
|
27
|
+
*/
|
|
28
|
+
export function nameToolsAsSent(text, toolIds, sentName) {
|
|
29
|
+
const renamed = new Map();
|
|
30
|
+
for (const id of toolIds) {
|
|
31
|
+
const name = sentName(id);
|
|
32
|
+
if (name !== id)
|
|
33
|
+
renamed.set(id, name);
|
|
34
|
+
}
|
|
35
|
+
if (renamed.size === 0)
|
|
36
|
+
return text;
|
|
37
|
+
const ids = [...renamed.keys()].sort((a, b) => b.length - a.length || (a < b ? -1 : a > b ? 1 : 0));
|
|
38
|
+
const pattern = new RegExp(`(?<![\\w.-])(?:${ids.map(escapeRegExp).join('|')})(?![\\w-]|\\.\\w)`, 'g');
|
|
39
|
+
return text.replace(pattern, (id) => renamed.get(id) ?? id);
|
|
40
|
+
}
|
|
41
|
+
function escapeRegExp(text) {
|
|
42
|
+
return text.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=tool-names.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-names.js","sourceRoot":"","sources":["../src/tool-names.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,iCAAiC;AAEjC;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,UAAU,eAAe,CAC7B,IAAY,EACZ,OAA0B,EAC1B,QAAgC;IAEhC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC1C,KAAK,MAAM,EAAE,IAAI,OAAO,EAAE,CAAC;QACzB,MAAM,IAAI,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;QAC1B,IAAI,IAAI,KAAK,EAAE;YAAE,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IACzC,CAAC;IACD,IAAI,OAAO,CAAC,IAAI,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACpC,MAAM,GAAG,GAAG,CAAC,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAClC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAC9D,CAAC;IACF,MAAM,OAAO,GAAG,IAAI,MAAM,CACxB,kBAAkB,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,oBAAoB,EACrE,GAAG,CACJ,CAAC;IACF,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;AAC9D,CAAC;AAED,SAAS,YAAY,CAAC,IAAY;IAChC,OAAO,IAAI,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;AACrD,CAAC"}
|
package/dist/types.d.ts
CHANGED
|
@@ -3,9 +3,21 @@ import type { ProjectId, RunId, TenantId } from '@kindgi/types';
|
|
|
3
3
|
* The closed set of feature flags an agent can require. Matches
|
|
4
4
|
* `@kindgi/specs/capability.schema.json` FeatureRequirement enum. Providers self-
|
|
5
5
|
* report which of these they satisfy.
|
|
6
|
+
*
|
|
7
|
+
* `structured-output`: the model can follow a JSON schema natively
|
|
8
|
+
* (`ModelCallInput.structuredOutput`, where its adapter maps it). An
|
|
9
|
+
* agent's typed output (`output`) doesn't use that yet: on every provider
|
|
10
|
+
* it's the agent's instructions, then a parse and a check against the
|
|
11
|
+
* schema, with repairs.
|
|
6
12
|
*/
|
|
7
13
|
export declare const FEATURES: readonly ["structured-output", "vision", "audio-input", "audio-output", "tool-use", "parallel-tool-use", "thinking", "long-context", "code-execution", "web-search", "file-search", "streaming", "batch"];
|
|
8
14
|
export type Feature = (typeof FEATURES)[number];
|
|
15
|
+
/**
|
|
16
|
+
* What each feature means, in a line: the capability catalog's
|
|
17
|
+
* descriptions (`GET /v1/capabilities`), and what a model declaring the
|
|
18
|
+
* feature promises.
|
|
19
|
+
*/
|
|
20
|
+
export declare const FEATURE_DESCRIPTIONS: Readonly<Record<Feature, string>>;
|
|
9
21
|
/** Comparison operator used by numeric requirements (context, cost, latency). */
|
|
10
22
|
export type ComparisonOp = '>=' | '>' | '=' | '<=' | '<';
|
|
11
23
|
/** Numeric-comparison-only operators (latency can only bound from above). */
|
|
@@ -230,9 +242,36 @@ export interface ModelInfo {
|
|
|
230
242
|
* `ModelCallInput.maxOutputTokens` is unset.
|
|
231
243
|
*/
|
|
232
244
|
readonly maxOutputTokens?: number;
|
|
245
|
+
/**
|
|
246
|
+
* Whether the model takes sampling settings (`temperature`). `false`:
|
|
247
|
+
* its API rejects a non-default value (Anthropic's Claude 4.7 and
|
|
248
|
+
* later, OpenAI's GPT-6), so an adapter sends the call without one and
|
|
249
|
+
* says so in the answer's `warnings` (`sampling-unsupported`), instead
|
|
250
|
+
* of failing it. Absent: it takes them.
|
|
251
|
+
*/
|
|
252
|
+
readonly sampling?: boolean;
|
|
253
|
+
/**
|
|
254
|
+
* How the model thinks before it answers, so a call that wants as
|
|
255
|
+
* little as it allows (`ModelCallInput.thinking: 'lowest'`, which
|
|
256
|
+
* judges set) gets it. Absent: it doesn't think, or nothing is known,
|
|
257
|
+
* and the adapter sends nothing for it.
|
|
258
|
+
*/
|
|
259
|
+
readonly thinking?: ModelThinking;
|
|
233
260
|
/** Short per-model description surfaced in logs. */
|
|
234
261
|
readonly description?: string;
|
|
235
262
|
}
|
|
263
|
+
/** How a model thinks (`ModelInfo.thinking`). */
|
|
264
|
+
export interface ModelThinking {
|
|
265
|
+
/** `adaptive`: on unless turned down. `always`: on, and it can only be lowered. */
|
|
266
|
+
readonly mode: 'adaptive' | 'always';
|
|
267
|
+
/**
|
|
268
|
+
* The vendor's own setting for the least thinking, which the adapter
|
|
269
|
+
* sends: for Anthropic a thinking type that turns it off (`disabled`,
|
|
270
|
+
* `between_tools`) or an effort (`low`); for Gemini a thinking level
|
|
271
|
+
* (`low`, `minimal`); for OpenAI a reasoning effort (`low`, `none`).
|
|
272
|
+
*/
|
|
273
|
+
readonly lowest: string;
|
|
274
|
+
}
|
|
236
275
|
/**
|
|
237
276
|
* What a `ModelProvider` reports about itself so the router can match
|
|
238
277
|
* capabilities against it without invoking. Static metadata — no side
|
|
@@ -259,6 +298,14 @@ export interface ProviderMetadata {
|
|
|
259
298
|
* must be unique within the list.
|
|
260
299
|
*/
|
|
261
300
|
readonly models: readonly ModelInfo[];
|
|
301
|
+
/**
|
|
302
|
+
* The model to use when an agent doesn't choose: one of `models[].name`.
|
|
303
|
+
* When the router's candidates rank equally (an agent with no
|
|
304
|
+
* preference, no `preferredModel`), this provider's default comes before
|
|
305
|
+
* its other models. Without it, ties break by model name, so the default
|
|
306
|
+
* is whichever name sorts first.
|
|
307
|
+
*/
|
|
308
|
+
readonly defaultModel?: string;
|
|
262
309
|
/**
|
|
263
310
|
* Soft attributes the provider self-reports for preference-ranking.
|
|
264
311
|
* Examples: `'local'`, `'lower-cost'`, `'higher-accuracy'`. Opaque to
|
|
@@ -327,7 +374,9 @@ export interface ModelToolDefinition {
|
|
|
327
374
|
* Adapter coverage:
|
|
328
375
|
* - `@kindgi/adapter-model-openai-compat` — translates to
|
|
329
376
|
* `response_format: { type: "json_schema", json_schema: { name,
|
|
330
|
-
* schema, strict: true } }
|
|
377
|
+
* schema, strict: true } }` on Chat Completions, and to
|
|
378
|
+
* `text.format: { type: "json_schema", name, schema, strict: true }`
|
|
379
|
+
* on OpenAI's Responses API.
|
|
331
380
|
* - `@kindgi/adapter-model-anthropic` — ignores it (see that
|
|
332
381
|
* package's README).
|
|
333
382
|
*/
|
|
@@ -353,9 +402,26 @@ export interface ModelCallInput {
|
|
|
353
402
|
readonly structuredOutput?: StructuredOutputRequest;
|
|
354
403
|
/** Sampling controls — providers translate to their equivalent. */
|
|
355
404
|
readonly temperature?: number;
|
|
405
|
+
/**
|
|
406
|
+
* `lowest`: think as little as the model allows (its
|
|
407
|
+
* `ModelInfo.thinking.lowest`), so a short answer isn't crowded out by
|
|
408
|
+
* thinking. Judges set it. Absent, or a model with no `thinking`: the
|
|
409
|
+
* model's default.
|
|
410
|
+
*/
|
|
411
|
+
readonly thinking?: 'lowest';
|
|
356
412
|
readonly maxOutputTokens?: number;
|
|
357
413
|
/** Cooperative cancellation. Handlers should observe. */
|
|
358
414
|
readonly abortSignal?: AbortSignal;
|
|
415
|
+
/**
|
|
416
|
+
* A W3C `traceparent` for this call (`00-<trace id>-<span id>-<flags>`),
|
|
417
|
+
* so the vendor's request logs can be matched to the run that made the
|
|
418
|
+
* call. An adapter sends it as the `traceparent` header on its request
|
|
419
|
+
* to the vendor when it is set, and never makes one up. The caller sets
|
|
420
|
+
* it only when the provider's registration opts in (it leaves the
|
|
421
|
+
* process: ids only, never content). Adapters that don't know it
|
|
422
|
+
* ignore it.
|
|
423
|
+
*/
|
|
424
|
+
readonly traceparent?: string;
|
|
359
425
|
}
|
|
360
426
|
/**
|
|
361
427
|
* A model call's token counts. `promptTokens` and `completionTokens` are
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/types.js
CHANGED
|
@@ -4,6 +4,12 @@
|
|
|
4
4
|
* The closed set of feature flags an agent can require. Matches
|
|
5
5
|
* `@kindgi/specs/capability.schema.json` FeatureRequirement enum. Providers self-
|
|
6
6
|
* report which of these they satisfy.
|
|
7
|
+
*
|
|
8
|
+
* `structured-output`: the model can follow a JSON schema natively
|
|
9
|
+
* (`ModelCallInput.structuredOutput`, where its adapter maps it). An
|
|
10
|
+
* agent's typed output (`output`) doesn't use that yet: on every provider
|
|
11
|
+
* it's the agent's instructions, then a parse and a check against the
|
|
12
|
+
* schema, with repairs.
|
|
7
13
|
*/
|
|
8
14
|
export const FEATURES = [
|
|
9
15
|
'structured-output',
|
|
@@ -20,6 +26,26 @@ export const FEATURES = [
|
|
|
20
26
|
'streaming',
|
|
21
27
|
'batch',
|
|
22
28
|
];
|
|
29
|
+
/**
|
|
30
|
+
* What each feature means, in a line: the capability catalog's
|
|
31
|
+
* descriptions (`GET /v1/capabilities`), and what a model declaring the
|
|
32
|
+
* feature promises.
|
|
33
|
+
*/
|
|
34
|
+
export const FEATURE_DESCRIPTIONS = {
|
|
35
|
+
'structured-output': 'Answers in JSON that matches a schema the caller gives (a response format), not only free text.',
|
|
36
|
+
vision: 'Reads images in its input.',
|
|
37
|
+
'audio-input': 'Reads audio in its input.',
|
|
38
|
+
'audio-output': 'Produces audio as its answer.',
|
|
39
|
+
'tool-use': 'Calls tools: answers with a tool call and its arguments, then continues with the result.',
|
|
40
|
+
'parallel-tool-use': 'Calls several tools in one turn.',
|
|
41
|
+
thinking: 'Reasons in a separate step before it answers (extended or hidden thinking).',
|
|
42
|
+
'long-context': 'Takes a long input: a large context window.',
|
|
43
|
+
'code-execution': 'Runs code in a sandbox its provider hosts.',
|
|
44
|
+
'web-search': 'Searches the web through its provider.',
|
|
45
|
+
'file-search': "Searches files through its provider's own retrieval.",
|
|
46
|
+
streaming: 'Streams its answer as it is produced.',
|
|
47
|
+
batch: 'Takes requests in a batch, answered later at a lower price.',
|
|
48
|
+
};
|
|
23
49
|
/** Well-known capability kinds — for enums, schema validation, docs. */
|
|
24
50
|
export const BUILT_IN_CAPABILITY_KINDS = [
|
|
25
51
|
'llm-inference',
|
package/dist/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,iCAAiC;AAIjC
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,sCAAsC;AACtC,iCAAiC;AAIjC;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,mBAAmB;IACnB,QAAQ;IACR,aAAa;IACb,cAAc;IACd,UAAU;IACV,mBAAmB;IACnB,UAAU;IACV,cAAc;IACd,gBAAgB;IAChB,YAAY;IACZ,aAAa;IACb,WAAW;IACX,OAAO;CACC,CAAC;AAIX;;;;GAIG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAsC;IACrE,mBAAmB,EACjB,iGAAiG;IACnG,MAAM,EAAE,4BAA4B;IACpC,aAAa,EAAE,2BAA2B;IAC1C,cAAc,EAAE,+BAA+B;IAC/C,UAAU,EACR,0FAA0F;IAC5F,mBAAmB,EAAE,kCAAkC;IACvD,QAAQ,EAAE,6EAA6E;IACvF,cAAc,EAAE,6CAA6C;IAC7D,gBAAgB,EAAE,4CAA4C;IAC9D,YAAY,EAAE,wCAAwC;IACtD,aAAa,EAAE,sDAAsD;IACrE,SAAS,EAAE,uCAAuC;IAClD,KAAK,EAAE,6DAA6D;CACrE,CAAC;AAgFF,wEAAwE;AACxE,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC,eAAe;IACf,WAAW;IACX,aAAa;IACb,cAAc;IACd,iBAAiB;CACT,CAAC;AAGX,yDAAyD;AACzD,MAAM,CAAC,MAAM,uBAAuB,GAAmB,eAAe,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kindgi/capabilities",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.5-rc.0",
|
|
4
4
|
"description": "Capability declarations + provider router for Kindgi™. Agents declare what they need from a model (features such as structured-output or tool-use, context window, cost, region, latency, provider and model allow/deny lists) and what they prefer; the router picks a registered (provider, model) pair that satisfies every hard constraint plus tenant policy, ranked by soft preferences, and reports per requirement which candidates it rejected when none qualify. Also the provider-neutral ModelProvider contract, a tenant-scoped provider registry, and an adapter-factory registry. Capability kinds are open strings matched by equality; llm-inference is the default.",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"repository": {
|
|
@@ -25,6 +25,11 @@
|
|
|
25
25
|
"types": "./dist/attempts.d.ts",
|
|
26
26
|
"import": "./dist/attempts.js",
|
|
27
27
|
"default": "./dist/attempts.js"
|
|
28
|
+
},
|
|
29
|
+
"./tool-names": {
|
|
30
|
+
"types": "./dist/tool-names.d.ts",
|
|
31
|
+
"import": "./dist/tool-names.js",
|
|
32
|
+
"default": "./dist/tool-names.js"
|
|
28
33
|
}
|
|
29
34
|
},
|
|
30
35
|
"files": [
|
|
@@ -35,12 +40,12 @@
|
|
|
35
40
|
"type-manifest.json"
|
|
36
41
|
],
|
|
37
42
|
"dependencies": {
|
|
38
|
-
"@kindgi/platform": "0.1.
|
|
39
|
-
"@kindgi/schema": "0.1.
|
|
40
|
-
"@kindgi/types": "0.1.
|
|
43
|
+
"@kindgi/platform": "0.1.5-rc.0",
|
|
44
|
+
"@kindgi/schema": "0.1.5-rc.0",
|
|
45
|
+
"@kindgi/types": "0.1.5-rc.0"
|
|
41
46
|
},
|
|
42
47
|
"devDependencies": {
|
|
43
|
-
"@kindgi/specs": "0.1.
|
|
48
|
+
"@kindgi/specs": "0.1.5-rc.0",
|
|
44
49
|
"@types/node": "^22.10.5",
|
|
45
50
|
"typescript": "^5.7.3",
|
|
46
51
|
"vitest": "^2.1.8"
|
package/src/adapter-factory.ts
CHANGED
|
@@ -45,6 +45,63 @@ export interface AdapterFactoryEntry {
|
|
|
45
45
|
* in-process).
|
|
46
46
|
*/
|
|
47
47
|
readonly prepare?: (params?: Readonly<Record<string, unknown>>) => AsyncIterable<PrepareEvent>;
|
|
48
|
+
/**
|
|
49
|
+
* What's wrong with a provider registration for this adapter, read
|
|
50
|
+
* statically: its `adapter_config`, its metadata, and whether it names a
|
|
51
|
+
* secret. No network, no secret resolution (a registration's secret may
|
|
52
|
+
* be set after it registers), no client built. An empty list means the
|
|
53
|
+
* factory will take it.
|
|
54
|
+
*
|
|
55
|
+
* The runtime runs it when a provider registers (a problem refuses the
|
|
56
|
+
* registration, naming the field) and when someone checks a registered
|
|
57
|
+
* provider. It must agree with `factory`: build both from the same
|
|
58
|
+
* functions, so a registration the check passes is one the factory
|
|
59
|
+
* accepts, and each problem's message is the error the factory throws.
|
|
60
|
+
* Absent: the adapter has no check, and registration takes any flat
|
|
61
|
+
* `adapter_config`.
|
|
62
|
+
*/
|
|
63
|
+
readonly checkConfig?: (input: AdapterConfigCheckInput) => readonly AdapterConfigProblem[];
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
/** What `AdapterFactoryEntry.checkConfig` reads: a registration, without its secret. */
|
|
67
|
+
export interface AdapterConfigCheckInput {
|
|
68
|
+
readonly metadata: ProviderMetadata;
|
|
69
|
+
readonly config?: AdapterConfig;
|
|
70
|
+
/** Whether the registration names a secret (`secret_ref`). Its value is never read here. */
|
|
71
|
+
readonly hasSecretRef: boolean;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
/**
|
|
75
|
+
* One thing wrong with a registration (`AdapterFactoryEntry.checkConfig`),
|
|
76
|
+
* in the shape of the API's validation issues (`{ path, message }`).
|
|
77
|
+
*/
|
|
78
|
+
export interface AdapterConfigProblem {
|
|
79
|
+
/**
|
|
80
|
+
* The setting at fault, as a JSON pointer into the registration:
|
|
81
|
+
* `/adapter_config/<key>`, `/secret_ref`, `/metadata/region`,
|
|
82
|
+
* `/metadata/models/<i>/name`.
|
|
83
|
+
*/
|
|
84
|
+
readonly path: string;
|
|
85
|
+
/**
|
|
86
|
+
* What's wrong with that setting and what it takes, without the adapter
|
|
87
|
+
* or provider (e.g. `adapter_config.api must be one of responses,
|
|
88
|
+
* chat-completions.`): the API lists it under its own sentence. The
|
|
89
|
+
* factory throws it as `adapterConfigError` words it.
|
|
90
|
+
*/
|
|
91
|
+
readonly message: string;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
/**
|
|
95
|
+
* The error an adapter's factory throws for a problem its `checkConfig`
|
|
96
|
+
* reports: `<adapterId>: provider "<providerId>": <message>`. Both read the
|
|
97
|
+
* registration through the same functions, so they say the same thing.
|
|
98
|
+
*/
|
|
99
|
+
export function adapterConfigError(
|
|
100
|
+
adapterId: string,
|
|
101
|
+
providerId: string,
|
|
102
|
+
problem: AdapterConfigProblem,
|
|
103
|
+
): Error {
|
|
104
|
+
return new Error(`${adapterId}: provider "${providerId}": ${problem.message}`);
|
|
48
105
|
}
|
|
49
106
|
|
|
50
107
|
/**
|
package/src/index.ts
CHANGED
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
|
2
2
|
// Copyright (C) 2026 Kindgi Inc.
|
|
3
3
|
|
|
4
|
-
export { createAdapterFactoryRegistry } from './adapter-factory.js';
|
|
4
|
+
export { adapterConfigError, createAdapterFactoryRegistry } from './adapter-factory.js';
|
|
5
5
|
export type {
|
|
6
6
|
AdapterConfig,
|
|
7
|
+
AdapterConfigCheckInput,
|
|
8
|
+
AdapterConfigProblem,
|
|
7
9
|
AdapterFactory,
|
|
8
10
|
AdapterFactoryEntry,
|
|
9
11
|
AdapterFactoryInput,
|
|
@@ -18,12 +20,20 @@ export {
|
|
|
18
20
|
PROVIDER_LABELS_MAX_KEYS,
|
|
19
21
|
validateProviderLabels,
|
|
20
22
|
} from './provider-labels.js';
|
|
21
|
-
export { createProviderRegistry } from './registry.js';
|
|
23
|
+
export { createProviderRegistry, isModelThinking } from './registry.js';
|
|
22
24
|
export { matchTuples, route } from './router.js';
|
|
23
25
|
export type { RouteInput } from './router.js';
|
|
26
|
+
export { SAMPLING_UNSUPPORTED, samplingFor } from './sampling.js';
|
|
27
|
+
export type { Sampling } from './sampling.js';
|
|
24
28
|
export { recordModelUsage } from './usage.js';
|
|
29
|
+
export { nameToolsAsSent } from './tool-names.js';
|
|
25
30
|
export type { RecordModelUsageOptions } from './usage.js';
|
|
26
|
-
export {
|
|
31
|
+
export {
|
|
32
|
+
BUILT_IN_CAPABILITY_KINDS,
|
|
33
|
+
DEFAULT_CAPABILITY_KIND,
|
|
34
|
+
FEATURE_DESCRIPTIONS,
|
|
35
|
+
FEATURES,
|
|
36
|
+
} from './types.js';
|
|
27
37
|
export type {
|
|
28
38
|
Budget,
|
|
29
39
|
BuiltInCapabilityKind,
|
|
@@ -38,6 +48,7 @@ export type {
|
|
|
38
48
|
ModelMessage,
|
|
39
49
|
ModelInfo,
|
|
40
50
|
ModelProvider,
|
|
51
|
+
ModelThinking,
|
|
41
52
|
ModelToolCall,
|
|
42
53
|
ModelToolDefinition,
|
|
43
54
|
Preference,
|
package/src/registry.ts
CHANGED
|
@@ -5,7 +5,7 @@ import type { Result, TenantId } from '@kindgi/types';
|
|
|
5
5
|
|
|
6
6
|
import type { CapabilityError, DuplicateProviderError, InvalidProviderError } from './errors.js';
|
|
7
7
|
import { validateProviderLabels } from './provider-labels.js';
|
|
8
|
-
import type { ModelProvider, ProviderRegistry } from './types.js';
|
|
8
|
+
import type { ModelProvider, ModelThinking, ProviderRegistry } from './types.js';
|
|
9
9
|
|
|
10
10
|
/**
|
|
11
11
|
* Create an in-memory registry of model providers. Tenant-scoped:
|
|
@@ -124,6 +124,28 @@ export function createProviderRegistry(
|
|
|
124
124
|
reason: 'invalid-max-output-tokens',
|
|
125
125
|
};
|
|
126
126
|
}
|
|
127
|
+
if (m.sampling !== undefined && typeof m.sampling !== 'boolean') {
|
|
128
|
+
return {
|
|
129
|
+
code: 'invalid-provider',
|
|
130
|
+
message: `provider "${p.metadata.id}" model "${m.name}" sampling must be true or false`,
|
|
131
|
+
reason: 'invalid-sampling',
|
|
132
|
+
};
|
|
133
|
+
}
|
|
134
|
+
if (m.thinking !== undefined && !isModelThinking(m.thinking)) {
|
|
135
|
+
return {
|
|
136
|
+
code: 'invalid-provider',
|
|
137
|
+
message: `provider "${p.metadata.id}" model "${m.name}" thinking must be { mode: 'adaptive' | 'always', lowest: <the vendor's setting> }`,
|
|
138
|
+
reason: 'invalid-thinking',
|
|
139
|
+
};
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
const defaultModel = p.metadata.defaultModel;
|
|
143
|
+
if (defaultModel !== undefined && !p.metadata.models.some((m) => m.name === defaultModel)) {
|
|
144
|
+
return {
|
|
145
|
+
code: 'invalid-provider',
|
|
146
|
+
message: `provider "${p.metadata.id}" defaultModel "${String(defaultModel)}" isn't one of its models (${p.metadata.models.map((m) => m.name).join(', ')})`,
|
|
147
|
+
reason: 'unknown-default-model',
|
|
148
|
+
};
|
|
127
149
|
}
|
|
128
150
|
const badLabels = validateProviderLabels(p.metadata.id, p.metadata.labels);
|
|
129
151
|
if (badLabels !== undefined) return { code: 'invalid-provider', ...badLabels };
|
|
@@ -181,3 +203,15 @@ export function createProviderRegistry(
|
|
|
181
203
|
|
|
182
204
|
return { registry, register };
|
|
183
205
|
}
|
|
206
|
+
|
|
207
|
+
/** `ModelInfo.thinking`'s shape: a known mode and a non-empty vendor setting. */
|
|
208
|
+
export function isModelThinking(value: unknown): value is ModelThinking {
|
|
209
|
+
if (typeof value !== 'object' || value === null) return false;
|
|
210
|
+
const t = value as Record<string, unknown>;
|
|
211
|
+
return (
|
|
212
|
+
(t.mode === 'adaptive' || t.mode === 'always') &&
|
|
213
|
+
typeof t.lowest === 'string' &&
|
|
214
|
+
t.lowest.length > 0 &&
|
|
215
|
+
Object.keys(t).every((k) => k === 'mode' || k === 'lowest')
|
|
216
|
+
);
|
|
217
|
+
}
|
package/src/router.ts
CHANGED
|
@@ -207,8 +207,9 @@ function tupleKey(t: ProviderModelPick): string {
|
|
|
207
207
|
|
|
208
208
|
/**
|
|
209
209
|
* Rank tuples by summed weight of matched preferences, stable sort.
|
|
210
|
-
* Equal scores tiebreak
|
|
211
|
-
*
|
|
210
|
+
* Equal scores tiebreak on the provider id, then the provider's
|
|
211
|
+
* `defaultModel` first, then the model name, so replay is deterministic
|
|
212
|
+
* even when multiple tuples tie.
|
|
212
213
|
*/
|
|
213
214
|
function rankByPreference(
|
|
214
215
|
tuples: readonly ProviderModelPick[],
|
|
@@ -226,9 +227,16 @@ function rankByPreference(
|
|
|
226
227
|
function compareTuplesLex(a: ProviderModelPick, b: ProviderModelPick): number {
|
|
227
228
|
const p = a.provider.metadata.id.localeCompare(b.provider.metadata.id);
|
|
228
229
|
if (p !== 0) return p;
|
|
230
|
+
const d = Number(isDefaultModel(b)) - Number(isDefaultModel(a));
|
|
231
|
+
if (d !== 0) return d;
|
|
229
232
|
return a.model.name.localeCompare(b.model.name);
|
|
230
233
|
}
|
|
231
234
|
|
|
235
|
+
/** The provider names this model as the one to use when nothing else decides. */
|
|
236
|
+
function isDefaultModel(t: ProviderModelPick): boolean {
|
|
237
|
+
return t.provider.metadata.defaultModel === t.model.name;
|
|
238
|
+
}
|
|
239
|
+
|
|
232
240
|
function preferenceScore(t: ProviderModelPick, prefs: readonly Preference[]): number {
|
|
233
241
|
let score = 0;
|
|
234
242
|
const providerAttrs = t.provider.metadata.attributes;
|
package/src/sampling.ts
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
2
|
+
// Copyright (C) 2026 Kindgi Inc.
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Sampling settings for a model that may not take them. Some models
|
|
6
|
+
* reject a non-default `temperature` outright (Anthropic's Claude 4.7
|
|
7
|
+
* and later; OpenAI's GPT-6 at any reasoning effort but `none`). Their
|
|
8
|
+
* `ModelInfo.sampling` is `false`, and every adapter asks this one place
|
|
9
|
+
* what to send: the call goes out without the temperature, and the
|
|
10
|
+
* answer carries a `sampling-unsupported` warning saying so, instead of
|
|
11
|
+
* failing on the vendor's 400.
|
|
12
|
+
*/
|
|
13
|
+
|
|
14
|
+
import type { ModelCallInput, ModelCallWarning, ModelInfo } from './types.js';
|
|
15
|
+
|
|
16
|
+
/** The warning code an answer carries when its temperature was left out. */
|
|
17
|
+
export const SAMPLING_UNSUPPORTED = 'sampling-unsupported';
|
|
18
|
+
|
|
19
|
+
export interface Sampling {
|
|
20
|
+
/** The temperature to send: absent when unset, or when the model doesn't take one. */
|
|
21
|
+
readonly temperature?: number;
|
|
22
|
+
/** One `sampling-unsupported` warning when a temperature was left out. */
|
|
23
|
+
readonly warnings: readonly ModelCallWarning[];
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
/** What to send of a call's sampling settings, for this model. */
|
|
27
|
+
export function samplingFor(
|
|
28
|
+
model: Pick<ModelInfo, 'name' | 'sampling'>,
|
|
29
|
+
input: Pick<ModelCallInput, 'temperature'>,
|
|
30
|
+
): Sampling {
|
|
31
|
+
if (input.temperature === undefined) return { warnings: [] };
|
|
32
|
+
if (model.sampling !== false) return { temperature: input.temperature, warnings: [] };
|
|
33
|
+
return {
|
|
34
|
+
warnings: [
|
|
35
|
+
{
|
|
36
|
+
code: SAMPLING_UNSUPPORTED,
|
|
37
|
+
message: `${model.name} doesn't take a temperature, so the call went without one (it asked for ${input.temperature}).`,
|
|
38
|
+
},
|
|
39
|
+
],
|
|
40
|
+
};
|
|
41
|
+
}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
2
|
+
// Copyright (C) 2026 Kindgi Inc.
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* A model's own tools, named in its text by the names it's sent them
|
|
6
|
+
* under.
|
|
7
|
+
*
|
|
8
|
+
* Tool ids are dotted (`acme.lookup_order`), and providers that forbid
|
|
9
|
+
* dots in tool names (Anthropic, OpenAI-compatible) are sent an encoded
|
|
10
|
+
* name (`acme__lookup_order`). An agent's instructions that name a tool
|
|
11
|
+
* by its id then point the model at a name it wasn't given. It writes
|
|
12
|
+
* the call as text, or the server drops it. Measured on local models,
|
|
13
|
+
* that's a quarter of such turns (T311).
|
|
14
|
+
*
|
|
15
|
+
* `nameToolsAsSent` rewrites each declared tool id in `text` to its sent
|
|
16
|
+
* name:
|
|
17
|
+
* - only the ids passed (the call's own tools), as whole tokens: not
|
|
18
|
+
* preceded by a word character, `.` or `-`, and not followed by a word
|
|
19
|
+
* character, `-` or `.<word>`. So `acme.lookup_orders`,
|
|
20
|
+
* `xacme.lookup_order` and `acme.lookup_order.v2` are left alone, and
|
|
21
|
+
* a sentence's final `.` isn't part of the id;
|
|
22
|
+
* - deterministically: one pass, longest id first, so the same text and
|
|
23
|
+
* tools always give the same bytes (prompt-cache prefixes stay stable).
|
|
24
|
+
*
|
|
25
|
+
* An adapter applies it to the text it sends (the system prompt), at the
|
|
26
|
+
* wire boundary: the agent's own messages, the journal and provenance
|
|
27
|
+
* keep the author's dotted ids.
|
|
28
|
+
*/
|
|
29
|
+
export function nameToolsAsSent(
|
|
30
|
+
text: string,
|
|
31
|
+
toolIds: readonly string[],
|
|
32
|
+
sentName: (id: string) => string,
|
|
33
|
+
): string {
|
|
34
|
+
const renamed = new Map<string, string>();
|
|
35
|
+
for (const id of toolIds) {
|
|
36
|
+
const name = sentName(id);
|
|
37
|
+
if (name !== id) renamed.set(id, name);
|
|
38
|
+
}
|
|
39
|
+
if (renamed.size === 0) return text;
|
|
40
|
+
const ids = [...renamed.keys()].sort(
|
|
41
|
+
(a, b) => b.length - a.length || (a < b ? -1 : a > b ? 1 : 0),
|
|
42
|
+
);
|
|
43
|
+
const pattern = new RegExp(
|
|
44
|
+
`(?<![\\w.-])(?:${ids.map(escapeRegExp).join('|')})(?![\\w-]|\\.\\w)`,
|
|
45
|
+
'g',
|
|
46
|
+
);
|
|
47
|
+
return text.replace(pattern, (id) => renamed.get(id) ?? id);
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
function escapeRegExp(text: string): string {
|
|
51
|
+
return text.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
|
|
52
|
+
}
|
package/src/types.ts
CHANGED
|
@@ -7,6 +7,12 @@ import type { ProjectId, RunId, TenantId } from '@kindgi/types';
|
|
|
7
7
|
* The closed set of feature flags an agent can require. Matches
|
|
8
8
|
* `@kindgi/specs/capability.schema.json` FeatureRequirement enum. Providers self-
|
|
9
9
|
* report which of these they satisfy.
|
|
10
|
+
*
|
|
11
|
+
* `structured-output`: the model can follow a JSON schema natively
|
|
12
|
+
* (`ModelCallInput.structuredOutput`, where its adapter maps it). An
|
|
13
|
+
* agent's typed output (`output`) doesn't use that yet: on every provider
|
|
14
|
+
* it's the agent's instructions, then a parse and a check against the
|
|
15
|
+
* schema, with repairs.
|
|
10
16
|
*/
|
|
11
17
|
export const FEATURES = [
|
|
12
18
|
'structured-output',
|
|
@@ -26,6 +32,29 @@ export const FEATURES = [
|
|
|
26
32
|
|
|
27
33
|
export type Feature = (typeof FEATURES)[number];
|
|
28
34
|
|
|
35
|
+
/**
|
|
36
|
+
* What each feature means, in a line: the capability catalog's
|
|
37
|
+
* descriptions (`GET /v1/capabilities`), and what a model declaring the
|
|
38
|
+
* feature promises.
|
|
39
|
+
*/
|
|
40
|
+
export const FEATURE_DESCRIPTIONS: Readonly<Record<Feature, string>> = {
|
|
41
|
+
'structured-output':
|
|
42
|
+
'Answers in JSON that matches a schema the caller gives (a response format), not only free text.',
|
|
43
|
+
vision: 'Reads images in its input.',
|
|
44
|
+
'audio-input': 'Reads audio in its input.',
|
|
45
|
+
'audio-output': 'Produces audio as its answer.',
|
|
46
|
+
'tool-use':
|
|
47
|
+
'Calls tools: answers with a tool call and its arguments, then continues with the result.',
|
|
48
|
+
'parallel-tool-use': 'Calls several tools in one turn.',
|
|
49
|
+
thinking: 'Reasons in a separate step before it answers (extended or hidden thinking).',
|
|
50
|
+
'long-context': 'Takes a long input: a large context window.',
|
|
51
|
+
'code-execution': 'Runs code in a sandbox its provider hosts.',
|
|
52
|
+
'web-search': 'Searches the web through its provider.',
|
|
53
|
+
'file-search': "Searches files through its provider's own retrieval.",
|
|
54
|
+
streaming: 'Streams its answer as it is produced.',
|
|
55
|
+
batch: 'Takes requests in a batch, answered later at a lower price.',
|
|
56
|
+
};
|
|
57
|
+
|
|
29
58
|
/** Comparison operator used by numeric requirements (context, cost, latency). */
|
|
30
59
|
export type ComparisonOp = '>=' | '>' | '=' | '<=' | '<';
|
|
31
60
|
|
|
@@ -256,10 +285,38 @@ export interface ModelInfo {
|
|
|
256
285
|
* `ModelCallInput.maxOutputTokens` is unset.
|
|
257
286
|
*/
|
|
258
287
|
readonly maxOutputTokens?: number;
|
|
288
|
+
/**
|
|
289
|
+
* Whether the model takes sampling settings (`temperature`). `false`:
|
|
290
|
+
* its API rejects a non-default value (Anthropic's Claude 4.7 and
|
|
291
|
+
* later, OpenAI's GPT-6), so an adapter sends the call without one and
|
|
292
|
+
* says so in the answer's `warnings` (`sampling-unsupported`), instead
|
|
293
|
+
* of failing it. Absent: it takes them.
|
|
294
|
+
*/
|
|
295
|
+
readonly sampling?: boolean;
|
|
296
|
+
/**
|
|
297
|
+
* How the model thinks before it answers, so a call that wants as
|
|
298
|
+
* little as it allows (`ModelCallInput.thinking: 'lowest'`, which
|
|
299
|
+
* judges set) gets it. Absent: it doesn't think, or nothing is known,
|
|
300
|
+
* and the adapter sends nothing for it.
|
|
301
|
+
*/
|
|
302
|
+
readonly thinking?: ModelThinking;
|
|
259
303
|
/** Short per-model description surfaced in logs. */
|
|
260
304
|
readonly description?: string;
|
|
261
305
|
}
|
|
262
306
|
|
|
307
|
+
/** How a model thinks (`ModelInfo.thinking`). */
|
|
308
|
+
export interface ModelThinking {
|
|
309
|
+
/** `adaptive`: on unless turned down. `always`: on, and it can only be lowered. */
|
|
310
|
+
readonly mode: 'adaptive' | 'always';
|
|
311
|
+
/**
|
|
312
|
+
* The vendor's own setting for the least thinking, which the adapter
|
|
313
|
+
* sends: for Anthropic a thinking type that turns it off (`disabled`,
|
|
314
|
+
* `between_tools`) or an effort (`low`); for Gemini a thinking level
|
|
315
|
+
* (`low`, `minimal`); for OpenAI a reasoning effort (`low`, `none`).
|
|
316
|
+
*/
|
|
317
|
+
readonly lowest: string;
|
|
318
|
+
}
|
|
319
|
+
|
|
263
320
|
/**
|
|
264
321
|
* What a `ModelProvider` reports about itself so the router can match
|
|
265
322
|
* capabilities against it without invoking. Static metadata — no side
|
|
@@ -286,6 +343,14 @@ export interface ProviderMetadata {
|
|
|
286
343
|
* must be unique within the list.
|
|
287
344
|
*/
|
|
288
345
|
readonly models: readonly ModelInfo[];
|
|
346
|
+
/**
|
|
347
|
+
* The model to use when an agent doesn't choose: one of `models[].name`.
|
|
348
|
+
* When the router's candidates rank equally (an agent with no
|
|
349
|
+
* preference, no `preferredModel`), this provider's default comes before
|
|
350
|
+
* its other models. Without it, ties break by model name, so the default
|
|
351
|
+
* is whichever name sorts first.
|
|
352
|
+
*/
|
|
353
|
+
readonly defaultModel?: string;
|
|
289
354
|
/**
|
|
290
355
|
* Soft attributes the provider self-reports for preference-ranking.
|
|
291
356
|
* Examples: `'local'`, `'lower-cost'`, `'higher-accuracy'`. Opaque to
|
|
@@ -358,7 +423,9 @@ export interface ModelToolDefinition {
|
|
|
358
423
|
* Adapter coverage:
|
|
359
424
|
* - `@kindgi/adapter-model-openai-compat` — translates to
|
|
360
425
|
* `response_format: { type: "json_schema", json_schema: { name,
|
|
361
|
-
* schema, strict: true } }
|
|
426
|
+
* schema, strict: true } }` on Chat Completions, and to
|
|
427
|
+
* `text.format: { type: "json_schema", name, schema, strict: true }`
|
|
428
|
+
* on OpenAI's Responses API.
|
|
362
429
|
* - `@kindgi/adapter-model-anthropic` — ignores it (see that
|
|
363
430
|
* package's README).
|
|
364
431
|
*/
|
|
@@ -385,9 +452,26 @@ export interface ModelCallInput {
|
|
|
385
452
|
readonly structuredOutput?: StructuredOutputRequest;
|
|
386
453
|
/** Sampling controls — providers translate to their equivalent. */
|
|
387
454
|
readonly temperature?: number;
|
|
455
|
+
/**
|
|
456
|
+
* `lowest`: think as little as the model allows (its
|
|
457
|
+
* `ModelInfo.thinking.lowest`), so a short answer isn't crowded out by
|
|
458
|
+
* thinking. Judges set it. Absent, or a model with no `thinking`: the
|
|
459
|
+
* model's default.
|
|
460
|
+
*/
|
|
461
|
+
readonly thinking?: 'lowest';
|
|
388
462
|
readonly maxOutputTokens?: number;
|
|
389
463
|
/** Cooperative cancellation. Handlers should observe. */
|
|
390
464
|
readonly abortSignal?: AbortSignal;
|
|
465
|
+
/**
|
|
466
|
+
* A W3C `traceparent` for this call (`00-<trace id>-<span id>-<flags>`),
|
|
467
|
+
* so the vendor's request logs can be matched to the run that made the
|
|
468
|
+
* call. An adapter sends it as the `traceparent` header on its request
|
|
469
|
+
* to the vendor when it is set, and never makes one up. The caller sets
|
|
470
|
+
* it only when the provider's registration opts in (it leaves the
|
|
471
|
+
* process: ids only, never content). Adapters that don't know it
|
|
472
|
+
* ignore it.
|
|
473
|
+
*/
|
|
474
|
+
readonly traceparent?: string;
|
|
391
475
|
}
|
|
392
476
|
|
|
393
477
|
/**
|