@cleocode/contracts 2026.6.12 → 2026.6.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/__tests__/operation-def.test.js +5 -1
- package/dist/__tests__/operation-def.test.js.map +1 -1
- package/dist/__tests__/provider-def.test.d.ts +12 -0
- package/dist/__tests__/provider-def.test.d.ts.map +1 -0
- package/dist/__tests__/provider-def.test.js +84 -0
- package/dist/__tests__/provider-def.test.js.map +1 -0
- package/dist/__tests__/sealed-credential.test.d.ts +19 -0
- package/dist/__tests__/sealed-credential.test.d.ts.map +1 -0
- package/dist/__tests__/sealed-credential.test.js +74 -0
- package/dist/__tests__/sealed-credential.test.js.map +1 -0
- package/dist/__tests__/service-provider.test.d.ts +17 -0
- package/dist/__tests__/service-provider.test.d.ts.map +1 -0
- package/dist/__tests__/service-provider.test.js +108 -0
- package/dist/__tests__/service-provider.test.js.map +1 -0
- package/dist/__tests__/skill-executor-contract.test.js +3 -0
- package/dist/__tests__/skill-executor-contract.test.js.map +1 -1
- package/dist/acceptance-gate.d.ts +2 -3
- package/dist/acceptance-gate.d.ts.map +1 -1
- package/dist/boundary.d.ts +52 -0
- package/dist/boundary.d.ts.map +1 -1
- package/dist/boundary.js +24 -19
- package/dist/boundary.js.map +1 -1
- package/dist/conduit.d.ts +171 -0
- package/dist/conduit.d.ts.map +1 -1
- package/dist/config/index.d.ts +23 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +22 -0
- package/dist/config/index.js.map +1 -0
- package/dist/config.d.ts +104 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/data-accessor.d.ts +21 -1
- package/dist/data-accessor.d.ts.map +1 -1
- package/dist/data-accessor.js.map +1 -1
- package/dist/dispatch/__tests__/tasks-gateway-crud-ops.test.d.ts +21 -0
- package/dist/dispatch/__tests__/tasks-gateway-crud-ops.test.d.ts.map +1 -0
- package/dist/dispatch/__tests__/tasks-gateway-crud-ops.test.js +84 -0
- package/dist/dispatch/__tests__/tasks-gateway-crud-ops.test.js.map +1 -0
- package/dist/dispatch/identity.d.ts +1 -1
- package/dist/dispatch/identity.d.ts.map +1 -1
- package/dist/dispatch/identity.js +25 -0
- package/dist/dispatch/identity.js.map +1 -1
- package/dist/dispatch/operation-def.d.ts +20 -0
- package/dist/dispatch/operation-def.d.ts.map +1 -1
- package/dist/dispatch/operations-registry.d.ts.map +1 -1
- package/dist/dispatch/operations-registry.js +1044 -182
- package/dist/dispatch/operations-registry.js.map +1 -1
- package/dist/docs/read.d.ts +2 -2
- package/dist/index.d.ts +25 -11
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +17 -1
- package/dist/index.js.map +1 -1
- package/dist/lease-ipc/__tests__/freeze.test.d.ts +15 -0
- package/dist/lease-ipc/__tests__/freeze.test.d.ts.map +1 -0
- package/dist/lease-ipc/__tests__/freeze.test.js +313 -0
- package/dist/lease-ipc/__tests__/freeze.test.js.map +1 -0
- package/dist/lease-ipc/index.d.ts +17 -0
- package/dist/lease-ipc/index.d.ts.map +1 -0
- package/dist/lease-ipc/index.js +16 -0
- package/dist/lease-ipc/index.js.map +1 -0
- package/dist/lease-ipc/messages.d.ts +918 -0
- package/dist/lease-ipc/messages.d.ts.map +1 -0
- package/dist/lease-ipc/messages.js +476 -0
- package/dist/lease-ipc/messages.js.map +1 -0
- package/dist/lease-ipc/version.d.ts +41 -0
- package/dist/lease-ipc/version.d.ts.map +1 -0
- package/dist/lease-ipc/version.js +43 -0
- package/dist/lease-ipc/version.js.map +1 -0
- package/dist/llm/catalog-schema.d.ts +242 -0
- package/dist/llm/catalog-schema.d.ts.map +1 -0
- package/dist/llm/catalog-schema.js +153 -0
- package/dist/llm/catalog-schema.js.map +1 -0
- package/dist/llm/catalog-schema.json +139 -0
- package/dist/llm/index.d.ts +15 -0
- package/dist/llm/index.d.ts.map +1 -0
- package/dist/llm/index.js +14 -0
- package/dist/llm/index.js.map +1 -0
- package/dist/llm/interfaces.d.ts +23 -0
- package/dist/llm/interfaces.d.ts.map +1 -1
- package/dist/llm/oauth.d.ts +16 -2
- package/dist/llm/oauth.d.ts.map +1 -1
- package/dist/llm/onboarding.d.ts +126 -0
- package/dist/llm/onboarding.d.ts.map +1 -0
- package/dist/llm/onboarding.js +34 -0
- package/dist/llm/onboarding.js.map +1 -0
- package/dist/llm/provider-def.d.ts +254 -0
- package/dist/llm/provider-def.d.ts.map +1 -0
- package/dist/llm/provider-def.js +93 -0
- package/dist/llm/provider-def.js.map +1 -0
- package/dist/llm/sealed-credential.d.ts +164 -0
- package/dist/llm/sealed-credential.d.ts.map +1 -0
- package/dist/llm/sealed-credential.js +43 -0
- package/dist/llm/sealed-credential.js.map +1 -0
- package/dist/llm/system-of-use.d.ts +383 -0
- package/dist/llm/system-of-use.d.ts.map +1 -0
- package/dist/llm/system-of-use.js +238 -0
- package/dist/llm/system-of-use.js.map +1 -0
- package/dist/llm/system-resolver.d.ts +87 -11
- package/dist/llm/system-resolver.d.ts.map +1 -1
- package/dist/llm/system-resolver.js +14 -7
- package/dist/llm/system-resolver.js.map +1 -1
- package/dist/operations/__tests__/ensures-schema-registry.test.d.ts +17 -0
- package/dist/operations/__tests__/ensures-schema-registry.test.d.ts.map +1 -0
- package/dist/operations/__tests__/ensures-schema-registry.test.js +113 -0
- package/dist/operations/__tests__/ensures-schema-registry.test.js.map +1 -0
- package/dist/operations/admin.d.ts +124 -1
- package/dist/operations/admin.d.ts.map +1 -1
- package/dist/operations/ensures-schema-registry.d.ts +172 -0
- package/dist/operations/ensures-schema-registry.d.ts.map +1 -0
- package/dist/operations/ensures-schema-registry.js +226 -0
- package/dist/operations/ensures-schema-registry.js.map +1 -0
- package/dist/operations/entities.d.ts +110 -0
- package/dist/operations/entities.d.ts.map +1 -0
- package/dist/operations/entities.js +695 -0
- package/dist/operations/entities.js.map +1 -0
- package/dist/operations/llm.d.ts +116 -9
- package/dist/operations/llm.d.ts.map +1 -1
- package/dist/operations/output-contracts-data.d.ts.map +1 -1
- package/dist/operations/output-contracts-data.js +230 -0
- package/dist/operations/output-contracts-data.js.map +1 -1
- package/dist/operations/service.d.ts +68 -0
- package/dist/operations/service.d.ts.map +1 -0
- package/dist/operations/service.js +336 -0
- package/dist/operations/service.js.map +1 -0
- package/dist/operations/tasks.d.ts +109 -0
- package/dist/operations/tasks.d.ts.map +1 -1
- package/dist/operations/tasks.js.map +1 -1
- package/dist/operations/validate.d.ts +1 -12
- package/dist/operations/validate.d.ts.map +1 -1
- package/dist/operations/validate.js +1 -1
- package/dist/playbook.d.ts +116 -0
- package/dist/playbook.d.ts.map +1 -1
- package/dist/release/plan.d.ts +5 -5
- package/dist/session.d.ts +11 -0
- package/dist/session.d.ts.map +1 -1
- package/dist/session.js.map +1 -1
- package/dist/templates/manifest.d.ts +1 -1
- package/dist/tools/agent-tools.d.ts +231 -0
- package/dist/tools/agent-tools.d.ts.map +1 -0
- package/dist/tools/agent-tools.js +25 -0
- package/dist/tools/agent-tools.js.map +1 -0
- package/dist/tools/atomic.d.ts +19 -0
- package/dist/tools/atomic.d.ts.map +1 -1
- package/dist/tools/atomic.js +17 -0
- package/dist/tools/atomic.js.map +1 -1
- package/dist/tools/index.d.ts +2 -0
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/skill-executor.d.ts +7 -0
- package/dist/tools/skill-executor.d.ts.map +1 -1
- package/dist/tools/web-tools.d.ts +217 -0
- package/dist/tools/web-tools.d.ts.map +1 -0
- package/dist/tools/web-tools.js +31 -0
- package/dist/tools/web-tools.js.map +1 -0
- package/dist/vault/service-provider.d.ts +343 -0
- package/dist/vault/service-provider.d.ts.map +1 -0
- package/dist/vault/service-provider.js +857 -0
- package/dist/vault/service-provider.js.map +1 -0
- package/dist/workgraph.d.ts +12 -12
- package/package.json +14 -2
- package/src/__tests__/__snapshots__/operations-registry.test.ts.snap +1 -1
- package/src/__tests__/operation-def.test.ts +7 -1
- package/src/__tests__/provider-def.test.ts +93 -0
- package/src/__tests__/sealed-credential.test.ts +100 -0
- package/src/__tests__/service-provider.test.ts +129 -0
- package/src/__tests__/skill-executor-contract.test.ts +3 -0
- package/src/acceptance-gate.ts +2 -3
- package/src/boundary.ts +70 -20
- package/src/conduit.ts +200 -0
- package/src/config/index.ts +35 -0
- package/src/config.ts +106 -1
- package/src/data-accessor.ts +22 -1
- package/src/dispatch/__tests__/tasks-gateway-crud-ops.test.ts +99 -0
- package/src/dispatch/identity.ts +25 -0
- package/src/dispatch/operation-def.ts +21 -0
- package/src/dispatch/operations-registry.ts +1083 -176
- package/src/index.ts +240 -25
- package/src/lease-ipc/__tests__/freeze.test.ts +342 -0
- package/src/lease-ipc/index.ts +75 -0
- package/src/lease-ipc/messages.ts +588 -0
- package/src/lease-ipc/version.ts +46 -0
- package/src/llm/catalog-schema.json +139 -0
- package/src/llm/catalog-schema.ts +184 -0
- package/src/llm/index.ts +29 -0
- package/src/llm/interfaces.ts +23 -0
- package/src/llm/oauth.ts +16 -2
- package/src/llm/onboarding.ts +131 -0
- package/src/llm/provider-def.ts +291 -0
- package/src/llm/sealed-credential.ts +166 -0
- package/src/llm/system-of-use.ts +503 -0
- package/src/llm/system-resolver.ts +91 -11
- package/src/operations/__tests__/ensures-schema-registry.test.ts +169 -0
- package/src/operations/admin.ts +144 -0
- package/src/operations/ensures-schema-registry.ts +260 -0
- package/src/operations/entities.ts +758 -0
- package/src/operations/llm.ts +120 -8
- package/src/operations/output-contracts-data.ts +264 -0
- package/src/operations/service.ts +360 -0
- package/src/operations/tasks.ts +119 -0
- package/src/operations/validate.ts +1 -14
- package/src/playbook.ts +117 -0
- package/src/session.ts +11 -0
- package/src/tools/agent-tools.ts +270 -0
- package/src/tools/atomic.ts +21 -0
- package/src/tools/index.ts +46 -0
- package/src/tools/skill-executor.ts +7 -0
- package/src/tools/web-tools.ts +247 -0
- package/src/vault/service-provider.ts +1137 -0
- package/dist/tessera.d.ts +0 -32
- package/dist/tessera.d.ts.map +0 -1
- package/dist/tessera.js +0 -11
- package/dist/tessera.js.map +0 -1
- package/dist/warp-chain.d.ts +0 -129
- package/dist/warp-chain.d.ts.map +0 -1
- package/dist/warp-chain.js +0 -13
- package/dist/warp-chain.js.map +0 -1
- package/src/tessera.ts +0 -35
- package/src/warp-chain.ts +0 -185
|
@@ -0,0 +1,242 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Zod mirror + TypeScript types for the curated models catalog (E8 · T11731).
|
|
3
|
+
*
|
|
4
|
+
* This is the type+validation SSoT for the **shipped, offline-first** provider+model
|
|
5
|
+
* catalog seed that populates the global `models_catalog` table (T11733) and backs
|
|
6
|
+
* offline/degraded catalog reads (T11737). It mirrors the JSON Schema in the sibling
|
|
7
|
+
* `catalog-schema.json` (draft 2020-12) one-to-one.
|
|
8
|
+
*
|
|
9
|
+
* ## Offline-first — NO network is implied by these types
|
|
10
|
+
*
|
|
11
|
+
* The {@link CuratedCatalog} shape describes a committed, build-time snapshot of the
|
|
12
|
+
* models.dev wire shape. Nothing here fetches; the network refresh op
|
|
13
|
+
* (`cleo llm refresh-catalog`) is a SEPARATE leaf. The seeder reads the bundled
|
|
14
|
+
* `curated-catalog.json` (validated against {@link curatedCatalogSchema}) and upserts
|
|
15
|
+
* every row offline.
|
|
16
|
+
*
|
|
17
|
+
* ## models_catalog row parity (AC4)
|
|
18
|
+
*
|
|
19
|
+
* {@link modelsCatalogRowSelectSchema} / {@link modelsCatalogRowInsertSchema} describe the
|
|
20
|
+
* FLATTENED per-row shape persisted in the `models_catalog` DB table — the json/cost/
|
|
21
|
+
* modalities sub-objects serialize to TEXT columns, booleans to `integer({mode:'boolean'})`.
|
|
22
|
+
* {@link flattenCatalogToRows} (in core) maps a {@link CuratedCatalog} → these rows.
|
|
23
|
+
*
|
|
24
|
+
* Contracts-purity (Gate 10): this module exports ONLY zod schemas (values) and
|
|
25
|
+
* `z.infer` types — no bodied runtime helpers. The flatten/seed logic lives in core.
|
|
26
|
+
*
|
|
27
|
+
* @module llm/catalog-schema
|
|
28
|
+
* @task T11731
|
|
29
|
+
* @epic T11694 (E8-CATALOG-CURATION)
|
|
30
|
+
*/
|
|
31
|
+
import { z } from 'zod';
|
|
32
|
+
/** Legal `models_catalog.status` availability-lifecycle values. */
|
|
33
|
+
export declare const CATALOG_MODEL_STATUSES: readonly ["stable", "beta", "preview", "deprecated", "retired"];
|
|
34
|
+
/** TypeScript union of {@link CATALOG_MODEL_STATUSES}. */
|
|
35
|
+
export type CatalogModelStatus = (typeof CATALOG_MODEL_STATUSES)[number];
|
|
36
|
+
/** Legal provider auth mechanisms carried in a catalog provider entry. */
|
|
37
|
+
export declare const CATALOG_AUTH_TYPES: readonly ["api_key", "oauth", "bedrock", "vertex"];
|
|
38
|
+
/** TypeScript union of {@link CATALOG_AUTH_TYPES}. */
|
|
39
|
+
export type CatalogAuthType = (typeof CATALOG_AUTH_TYPES)[number];
|
|
40
|
+
/** Input/output modality lists for a model. */
|
|
41
|
+
export declare const catalogModalitiesSchema: z.ZodObject<{
|
|
42
|
+
input: z.ZodArray<z.ZodString>;
|
|
43
|
+
output: z.ZodArray<z.ZodString>;
|
|
44
|
+
}, z.core.$strict>;
|
|
45
|
+
/** Per-1M-token cost facets for a model (all optional — providers vary). */
|
|
46
|
+
export declare const catalogCostSchema: z.ZodObject<{
|
|
47
|
+
input: z.ZodOptional<z.ZodNumber>;
|
|
48
|
+
output: z.ZodOptional<z.ZodNumber>;
|
|
49
|
+
cache_read: z.ZodOptional<z.ZodNumber>;
|
|
50
|
+
cache_write: z.ZodOptional<z.ZodNumber>;
|
|
51
|
+
context_over_200k: z.ZodOptional<z.ZodNumber>;
|
|
52
|
+
}, z.core.$strict>;
|
|
53
|
+
/** Context/output token-window limits for a model. */
|
|
54
|
+
export declare const catalogLimitSchema: z.ZodObject<{
|
|
55
|
+
context: z.ZodNumber;
|
|
56
|
+
output: z.ZodNumber;
|
|
57
|
+
}, z.core.$strict>;
|
|
58
|
+
/** The provider-of-record (npm package + api protocol) for a model. */
|
|
59
|
+
export declare const catalogModelProviderSchema: z.ZodObject<{
|
|
60
|
+
npm: z.ZodString;
|
|
61
|
+
api: z.ZodString;
|
|
62
|
+
}, z.core.$strict>;
|
|
63
|
+
/** Full models.dev wire capability set for a single model entry. */
|
|
64
|
+
export declare const catalogModelEntrySchema: z.ZodObject<{
|
|
65
|
+
id: z.ZodString;
|
|
66
|
+
name: z.ZodString;
|
|
67
|
+
family: z.ZodString;
|
|
68
|
+
attachment: z.ZodBoolean;
|
|
69
|
+
reasoning: z.ZodBoolean;
|
|
70
|
+
temperature: z.ZodBoolean;
|
|
71
|
+
interleaved: z.ZodBoolean;
|
|
72
|
+
tool_call: z.ZodBoolean;
|
|
73
|
+
modalities: z.ZodObject<{
|
|
74
|
+
input: z.ZodArray<z.ZodString>;
|
|
75
|
+
output: z.ZodArray<z.ZodString>;
|
|
76
|
+
}, z.core.$strict>;
|
|
77
|
+
cost: z.ZodObject<{
|
|
78
|
+
input: z.ZodOptional<z.ZodNumber>;
|
|
79
|
+
output: z.ZodOptional<z.ZodNumber>;
|
|
80
|
+
cache_read: z.ZodOptional<z.ZodNumber>;
|
|
81
|
+
cache_write: z.ZodOptional<z.ZodNumber>;
|
|
82
|
+
context_over_200k: z.ZodOptional<z.ZodNumber>;
|
|
83
|
+
}, z.core.$strict>;
|
|
84
|
+
limit: z.ZodObject<{
|
|
85
|
+
context: z.ZodNumber;
|
|
86
|
+
output: z.ZodNumber;
|
|
87
|
+
}, z.core.$strict>;
|
|
88
|
+
status: z.ZodEnum<{
|
|
89
|
+
deprecated: "deprecated";
|
|
90
|
+
stable: "stable";
|
|
91
|
+
beta: "beta";
|
|
92
|
+
preview: "preview";
|
|
93
|
+
retired: "retired";
|
|
94
|
+
}>;
|
|
95
|
+
release_date: z.ZodString;
|
|
96
|
+
provider: z.ZodObject<{
|
|
97
|
+
npm: z.ZodString;
|
|
98
|
+
api: z.ZodString;
|
|
99
|
+
}, z.core.$strict>;
|
|
100
|
+
}, z.core.$strict>;
|
|
101
|
+
/** A provider record in the catalog envelope. */
|
|
102
|
+
export declare const catalogProviderSchema: z.ZodObject<{
|
|
103
|
+
id: z.ZodString;
|
|
104
|
+
endpoint: z.ZodString;
|
|
105
|
+
authTypes: z.ZodArray<z.ZodEnum<{
|
|
106
|
+
bedrock: "bedrock";
|
|
107
|
+
api_key: "api_key";
|
|
108
|
+
oauth: "oauth";
|
|
109
|
+
vertex: "vertex";
|
|
110
|
+
}>>;
|
|
111
|
+
npm: z.ZodOptional<z.ZodString>;
|
|
112
|
+
}, z.core.$strict>;
|
|
113
|
+
/**
|
|
114
|
+
* Top-level shape of the curated catalog seed (`curated-catalog.json`).
|
|
115
|
+
*
|
|
116
|
+
* `providers` is keyed by provider id; `models` is keyed by provider id → model id →
|
|
117
|
+
* {@link catalogModelEntrySchema}.
|
|
118
|
+
*/
|
|
119
|
+
export declare const curatedCatalogSchema: z.ZodObject<{
|
|
120
|
+
$schema: z.ZodOptional<z.ZodString>;
|
|
121
|
+
version: z.ZodString;
|
|
122
|
+
lastUpdated: z.ZodString;
|
|
123
|
+
providers: z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
124
|
+
id: z.ZodString;
|
|
125
|
+
endpoint: z.ZodString;
|
|
126
|
+
authTypes: z.ZodArray<z.ZodEnum<{
|
|
127
|
+
bedrock: "bedrock";
|
|
128
|
+
api_key: "api_key";
|
|
129
|
+
oauth: "oauth";
|
|
130
|
+
vertex: "vertex";
|
|
131
|
+
}>>;
|
|
132
|
+
npm: z.ZodOptional<z.ZodString>;
|
|
133
|
+
}, z.core.$strict>>;
|
|
134
|
+
models: z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodObject<{
|
|
135
|
+
id: z.ZodString;
|
|
136
|
+
name: z.ZodString;
|
|
137
|
+
family: z.ZodString;
|
|
138
|
+
attachment: z.ZodBoolean;
|
|
139
|
+
reasoning: z.ZodBoolean;
|
|
140
|
+
temperature: z.ZodBoolean;
|
|
141
|
+
interleaved: z.ZodBoolean;
|
|
142
|
+
tool_call: z.ZodBoolean;
|
|
143
|
+
modalities: z.ZodObject<{
|
|
144
|
+
input: z.ZodArray<z.ZodString>;
|
|
145
|
+
output: z.ZodArray<z.ZodString>;
|
|
146
|
+
}, z.core.$strict>;
|
|
147
|
+
cost: z.ZodObject<{
|
|
148
|
+
input: z.ZodOptional<z.ZodNumber>;
|
|
149
|
+
output: z.ZodOptional<z.ZodNumber>;
|
|
150
|
+
cache_read: z.ZodOptional<z.ZodNumber>;
|
|
151
|
+
cache_write: z.ZodOptional<z.ZodNumber>;
|
|
152
|
+
context_over_200k: z.ZodOptional<z.ZodNumber>;
|
|
153
|
+
}, z.core.$strict>;
|
|
154
|
+
limit: z.ZodObject<{
|
|
155
|
+
context: z.ZodNumber;
|
|
156
|
+
output: z.ZodNumber;
|
|
157
|
+
}, z.core.$strict>;
|
|
158
|
+
status: z.ZodEnum<{
|
|
159
|
+
deprecated: "deprecated";
|
|
160
|
+
stable: "stable";
|
|
161
|
+
beta: "beta";
|
|
162
|
+
preview: "preview";
|
|
163
|
+
retired: "retired";
|
|
164
|
+
}>;
|
|
165
|
+
release_date: z.ZodString;
|
|
166
|
+
provider: z.ZodObject<{
|
|
167
|
+
npm: z.ZodString;
|
|
168
|
+
api: z.ZodString;
|
|
169
|
+
}, z.core.$strict>;
|
|
170
|
+
}, z.core.$strict>>>;
|
|
171
|
+
}, z.core.$strict>;
|
|
172
|
+
/** The validated curated catalog seed shape. */
|
|
173
|
+
export type CuratedCatalog = z.infer<typeof curatedCatalogSchema>;
|
|
174
|
+
/** A single model entry from the curated catalog. */
|
|
175
|
+
export type CatalogModelEntry = z.infer<typeof catalogModelEntrySchema>;
|
|
176
|
+
/** A single provider entry from the curated catalog. */
|
|
177
|
+
export type CatalogProvider = z.infer<typeof catalogProviderSchema>;
|
|
178
|
+
/**
|
|
179
|
+
* INSERT/UPSERT shape for one `models_catalog` row (the flattened persistence form).
|
|
180
|
+
*
|
|
181
|
+
* The catalog's nested `modalities` / `cost` sub-objects are JSON-serialized into the
|
|
182
|
+
* `modalities` / `cost` TEXT columns; booleans persist as `integer({mode:'boolean'})`.
|
|
183
|
+
* `provider_id` is the catalog key; `models_dev_id` mirrors the entry `id`.
|
|
184
|
+
*/
|
|
185
|
+
export declare const modelsCatalogRowInsertSchema: z.ZodObject<{
|
|
186
|
+
id: z.ZodString;
|
|
187
|
+
providerId: z.ZodString;
|
|
188
|
+
name: z.ZodString;
|
|
189
|
+
family: z.ZodString;
|
|
190
|
+
attachment: z.ZodBoolean;
|
|
191
|
+
reasoning: z.ZodBoolean;
|
|
192
|
+
temperature: z.ZodBoolean;
|
|
193
|
+
interleaved: z.ZodBoolean;
|
|
194
|
+
toolCall: z.ZodBoolean;
|
|
195
|
+
modalities: z.ZodString;
|
|
196
|
+
cost: z.ZodString;
|
|
197
|
+
contextLimit: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
198
|
+
outputLimit: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
199
|
+
status: z.ZodEnum<{
|
|
200
|
+
deprecated: "deprecated";
|
|
201
|
+
stable: "stable";
|
|
202
|
+
beta: "beta";
|
|
203
|
+
preview: "preview";
|
|
204
|
+
retired: "retired";
|
|
205
|
+
}>;
|
|
206
|
+
releaseDate: z.ZodString;
|
|
207
|
+
modelsDevId: z.ZodString;
|
|
208
|
+
source: z.ZodString;
|
|
209
|
+
seededAt: z.ZodOptional<z.ZodString>;
|
|
210
|
+
}, z.core.$strict>;
|
|
211
|
+
/** SELECT shape for one `models_catalog` row (adds the always-present `seededAt`). */
|
|
212
|
+
export declare const modelsCatalogRowSelectSchema: z.ZodObject<{
|
|
213
|
+
id: z.ZodString;
|
|
214
|
+
providerId: z.ZodString;
|
|
215
|
+
name: z.ZodString;
|
|
216
|
+
family: z.ZodString;
|
|
217
|
+
attachment: z.ZodBoolean;
|
|
218
|
+
reasoning: z.ZodBoolean;
|
|
219
|
+
temperature: z.ZodBoolean;
|
|
220
|
+
interleaved: z.ZodBoolean;
|
|
221
|
+
toolCall: z.ZodBoolean;
|
|
222
|
+
modalities: z.ZodString;
|
|
223
|
+
cost: z.ZodString;
|
|
224
|
+
contextLimit: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
225
|
+
outputLimit: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
|
|
226
|
+
status: z.ZodEnum<{
|
|
227
|
+
deprecated: "deprecated";
|
|
228
|
+
stable: "stable";
|
|
229
|
+
beta: "beta";
|
|
230
|
+
preview: "preview";
|
|
231
|
+
retired: "retired";
|
|
232
|
+
}>;
|
|
233
|
+
releaseDate: z.ZodString;
|
|
234
|
+
modelsDevId: z.ZodString;
|
|
235
|
+
source: z.ZodString;
|
|
236
|
+
seededAt: z.ZodString;
|
|
237
|
+
}, z.core.$strict>;
|
|
238
|
+
/** INSERT/UPSERT row type for `models_catalog`. */
|
|
239
|
+
export type ModelsCatalogRowInsert = z.infer<typeof modelsCatalogRowInsertSchema>;
|
|
240
|
+
/** SELECT row type for `models_catalog`. */
|
|
241
|
+
export type ModelsCatalogRowSelect = z.infer<typeof modelsCatalogRowSelectSchema>;
|
|
242
|
+
//# sourceMappingURL=catalog-schema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"catalog-schema.d.ts","sourceRoot":"","sources":["../../src/llm/catalog-schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,mEAAmE;AACnE,eAAO,MAAM,sBAAsB,iEAMzB,CAAC;AAEX,0DAA0D;AAC1D,MAAM,MAAM,kBAAkB,GAAG,CAAC,OAAO,sBAAsB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEzE,0EAA0E;AAC1E,eAAO,MAAM,kBAAkB,oDAAqD,CAAC;AAErF,sDAAsD;AACtD,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAC;AAQlE,+CAA+C;AAC/C,eAAO,MAAM,uBAAuB;;;kBAKzB,CAAC;AAEZ,4EAA4E;AAC5E,eAAO,MAAM,iBAAiB;;;;;;kBAQnB,CAAC;AAEZ,sDAAsD;AACtD,eAAO,MAAM,kBAAkB;;;kBAKpB,CAAC;AAEZ,uEAAuE;AACvE,eAAO,MAAM,0BAA0B;;;kBAK5B,CAAC;AAEZ,oEAAoE;AACpE,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAiBzB,CAAC;AAEZ,iDAAiD;AACjD,eAAO,MAAM,qBAAqB;;;;;;;;;;kBAOvB,CAAC;AAEZ;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAQtB,CAAC;AAEZ,gDAAgD;AAChD,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAClE,qDAAqD;AACrD,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AACxE,wDAAwD;AACxD,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE;;;;;;GAMG;AACH,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;kBAqB9B,CAAC;AAEZ,sFAAsF;AACtF,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;kBAEvC,CAAC;AAEH,mDAAmD;AACnD,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAClF,4CAA4C;AAC5C,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC"}
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Zod mirror + TypeScript types for the curated models catalog (E8 · T11731).
|
|
3
|
+
*
|
|
4
|
+
* This is the type+validation SSoT for the **shipped, offline-first** provider+model
|
|
5
|
+
* catalog seed that populates the global `models_catalog` table (T11733) and backs
|
|
6
|
+
* offline/degraded catalog reads (T11737). It mirrors the JSON Schema in the sibling
|
|
7
|
+
* `catalog-schema.json` (draft 2020-12) one-to-one.
|
|
8
|
+
*
|
|
9
|
+
* ## Offline-first — NO network is implied by these types
|
|
10
|
+
*
|
|
11
|
+
* The {@link CuratedCatalog} shape describes a committed, build-time snapshot of the
|
|
12
|
+
* models.dev wire shape. Nothing here fetches; the network refresh op
|
|
13
|
+
* (`cleo llm refresh-catalog`) is a SEPARATE leaf. The seeder reads the bundled
|
|
14
|
+
* `curated-catalog.json` (validated against {@link curatedCatalogSchema}) and upserts
|
|
15
|
+
* every row offline.
|
|
16
|
+
*
|
|
17
|
+
* ## models_catalog row parity (AC4)
|
|
18
|
+
*
|
|
19
|
+
* {@link modelsCatalogRowSelectSchema} / {@link modelsCatalogRowInsertSchema} describe the
|
|
20
|
+
* FLATTENED per-row shape persisted in the `models_catalog` DB table — the json/cost/
|
|
21
|
+
* modalities sub-objects serialize to TEXT columns, booleans to `integer({mode:'boolean'})`.
|
|
22
|
+
* {@link flattenCatalogToRows} (in core) maps a {@link CuratedCatalog} → these rows.
|
|
23
|
+
*
|
|
24
|
+
* Contracts-purity (Gate 10): this module exports ONLY zod schemas (values) and
|
|
25
|
+
* `z.infer` types — no bodied runtime helpers. The flatten/seed logic lives in core.
|
|
26
|
+
*
|
|
27
|
+
* @module llm/catalog-schema
|
|
28
|
+
* @task T11731
|
|
29
|
+
* @epic T11694 (E8-CATALOG-CURATION)
|
|
30
|
+
*/
|
|
31
|
+
import { z } from 'zod';
|
|
32
|
+
/** Legal `models_catalog.status` availability-lifecycle values. */
|
|
33
|
+
export const CATALOG_MODEL_STATUSES = [
|
|
34
|
+
'stable',
|
|
35
|
+
'beta',
|
|
36
|
+
'preview',
|
|
37
|
+
'deprecated',
|
|
38
|
+
'retired',
|
|
39
|
+
];
|
|
40
|
+
/** Legal provider auth mechanisms carried in a catalog provider entry. */
|
|
41
|
+
export const CATALOG_AUTH_TYPES = ['api_key', 'oauth', 'bedrock', 'vertex'];
|
|
42
|
+
/** ISO date `YYYY-MM-DD` matcher (the catalog sort/version key shape). */
|
|
43
|
+
const isoDate = z.string().regex(/^\d{4}-\d{2}-\d{2}$/, 'must be an ISO date (YYYY-MM-DD)');
|
|
44
|
+
/** Semver `MAJOR.MINOR.PATCH` matcher for the catalog snapshot version. */
|
|
45
|
+
const semver = z.string().regex(/^\d+\.\d+\.\d+$/, 'must be semver (MAJOR.MINOR.PATCH)');
|
|
46
|
+
/** Input/output modality lists for a model. */
|
|
47
|
+
export const catalogModalitiesSchema = z
|
|
48
|
+
.object({
|
|
49
|
+
input: z.array(z.string()),
|
|
50
|
+
output: z.array(z.string()),
|
|
51
|
+
})
|
|
52
|
+
.strict();
|
|
53
|
+
/** Per-1M-token cost facets for a model (all optional — providers vary). */
|
|
54
|
+
export const catalogCostSchema = z
|
|
55
|
+
.object({
|
|
56
|
+
input: z.number().optional(),
|
|
57
|
+
output: z.number().optional(),
|
|
58
|
+
cache_read: z.number().optional(),
|
|
59
|
+
cache_write: z.number().optional(),
|
|
60
|
+
context_over_200k: z.number().optional(),
|
|
61
|
+
})
|
|
62
|
+
.strict();
|
|
63
|
+
/** Context/output token-window limits for a model. */
|
|
64
|
+
export const catalogLimitSchema = z
|
|
65
|
+
.object({
|
|
66
|
+
context: z.number(),
|
|
67
|
+
output: z.number(),
|
|
68
|
+
})
|
|
69
|
+
.strict();
|
|
70
|
+
/** The provider-of-record (npm package + api protocol) for a model. */
|
|
71
|
+
export const catalogModelProviderSchema = z
|
|
72
|
+
.object({
|
|
73
|
+
npm: z.string(),
|
|
74
|
+
api: z.string(),
|
|
75
|
+
})
|
|
76
|
+
.strict();
|
|
77
|
+
/** Full models.dev wire capability set for a single model entry. */
|
|
78
|
+
export const catalogModelEntrySchema = z
|
|
79
|
+
.object({
|
|
80
|
+
id: z.string(),
|
|
81
|
+
name: z.string(),
|
|
82
|
+
family: z.string(),
|
|
83
|
+
attachment: z.boolean(),
|
|
84
|
+
reasoning: z.boolean(),
|
|
85
|
+
temperature: z.boolean(),
|
|
86
|
+
interleaved: z.boolean(),
|
|
87
|
+
tool_call: z.boolean(),
|
|
88
|
+
modalities: catalogModalitiesSchema,
|
|
89
|
+
cost: catalogCostSchema,
|
|
90
|
+
limit: catalogLimitSchema,
|
|
91
|
+
status: z.enum(CATALOG_MODEL_STATUSES),
|
|
92
|
+
release_date: isoDate,
|
|
93
|
+
provider: catalogModelProviderSchema,
|
|
94
|
+
})
|
|
95
|
+
.strict();
|
|
96
|
+
/** A provider record in the catalog envelope. */
|
|
97
|
+
export const catalogProviderSchema = z
|
|
98
|
+
.object({
|
|
99
|
+
id: z.string(),
|
|
100
|
+
endpoint: z.string(),
|
|
101
|
+
authTypes: z.array(z.enum(CATALOG_AUTH_TYPES)).min(1),
|
|
102
|
+
npm: z.string().optional(),
|
|
103
|
+
})
|
|
104
|
+
.strict();
|
|
105
|
+
/**
|
|
106
|
+
* Top-level shape of the curated catalog seed (`curated-catalog.json`).
|
|
107
|
+
*
|
|
108
|
+
* `providers` is keyed by provider id; `models` is keyed by provider id → model id →
|
|
109
|
+
* {@link catalogModelEntrySchema}.
|
|
110
|
+
*/
|
|
111
|
+
export const curatedCatalogSchema = z
|
|
112
|
+
.object({
|
|
113
|
+
$schema: z.string().optional(),
|
|
114
|
+
version: semver,
|
|
115
|
+
lastUpdated: isoDate,
|
|
116
|
+
providers: z.record(z.string(), catalogProviderSchema),
|
|
117
|
+
models: z.record(z.string(), z.record(z.string(), catalogModelEntrySchema)),
|
|
118
|
+
})
|
|
119
|
+
.strict();
|
|
120
|
+
/**
|
|
121
|
+
* INSERT/UPSERT shape for one `models_catalog` row (the flattened persistence form).
|
|
122
|
+
*
|
|
123
|
+
* The catalog's nested `modalities` / `cost` sub-objects are JSON-serialized into the
|
|
124
|
+
* `modalities` / `cost` TEXT columns; booleans persist as `integer({mode:'boolean'})`.
|
|
125
|
+
* `provider_id` is the catalog key; `models_dev_id` mirrors the entry `id`.
|
|
126
|
+
*/
|
|
127
|
+
export const modelsCatalogRowInsertSchema = z
|
|
128
|
+
.object({
|
|
129
|
+
id: z.string(),
|
|
130
|
+
providerId: z.string(),
|
|
131
|
+
name: z.string(),
|
|
132
|
+
family: z.string(),
|
|
133
|
+
attachment: z.boolean(),
|
|
134
|
+
reasoning: z.boolean(),
|
|
135
|
+
temperature: z.boolean(),
|
|
136
|
+
interleaved: z.boolean(),
|
|
137
|
+
toolCall: z.boolean(),
|
|
138
|
+
modalities: z.string(),
|
|
139
|
+
cost: z.string(),
|
|
140
|
+
contextLimit: z.number().nullable().optional(),
|
|
141
|
+
outputLimit: z.number().nullable().optional(),
|
|
142
|
+
status: z.enum(CATALOG_MODEL_STATUSES),
|
|
143
|
+
releaseDate: isoDate,
|
|
144
|
+
modelsDevId: z.string(),
|
|
145
|
+
source: z.string(),
|
|
146
|
+
seededAt: z.string().optional(),
|
|
147
|
+
})
|
|
148
|
+
.strict();
|
|
149
|
+
/** SELECT shape for one `models_catalog` row (adds the always-present `seededAt`). */
|
|
150
|
+
export const modelsCatalogRowSelectSchema = modelsCatalogRowInsertSchema.extend({
|
|
151
|
+
seededAt: z.string(),
|
|
152
|
+
});
|
|
153
|
+
//# sourceMappingURL=catalog-schema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"catalog-schema.js","sourceRoot":"","sources":["../../src/llm/catalog-schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://cleocode.dev/schemas/llm/curated-catalog.json",
|
|
4
|
+
"title": "Curated Models Catalog",
|
|
5
|
+
"description": "The shipped, offline-first provider+model catalog seed (E8 · T11731). One self-contained snapshot of the models.dev wire shape that seeds the global `models_catalog` table and backs offline/degraded reads. NO network access is implied by this file — it is the build-time committed mirror.",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"required": ["version", "lastUpdated", "providers", "models"],
|
|
8
|
+
"additionalProperties": false,
|
|
9
|
+
"properties": {
|
|
10
|
+
"$schema": { "type": "string" },
|
|
11
|
+
"version": {
|
|
12
|
+
"type": "string",
|
|
13
|
+
"pattern": "^\\d+\\.\\d+\\.\\d+$",
|
|
14
|
+
"description": "Semver version of this catalog snapshot. Bumped on every regeneration; drives the seeder skip/re-seed decision."
|
|
15
|
+
},
|
|
16
|
+
"lastUpdated": {
|
|
17
|
+
"type": "string",
|
|
18
|
+
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
|
|
19
|
+
"description": "ISO date (YYYY-MM-DD) the snapshot was generated."
|
|
20
|
+
},
|
|
21
|
+
"providers": {
|
|
22
|
+
"type": "object",
|
|
23
|
+
"description": "Provider records keyed by models.dev provider id (e.g. `anthropic`, `openai`, `google`).",
|
|
24
|
+
"additionalProperties": {
|
|
25
|
+
"type": "object",
|
|
26
|
+
"required": ["id", "endpoint", "authTypes"],
|
|
27
|
+
"additionalProperties": false,
|
|
28
|
+
"properties": {
|
|
29
|
+
"id": { "type": "string", "description": "Provider id (matches the map key)." },
|
|
30
|
+
"endpoint": {
|
|
31
|
+
"type": "string",
|
|
32
|
+
"description": "Provider API base URL (e.g. `https://api.anthropic.com`)."
|
|
33
|
+
},
|
|
34
|
+
"authTypes": {
|
|
35
|
+
"type": "array",
|
|
36
|
+
"description": "Supported auth mechanisms keyed by provider id.",
|
|
37
|
+
"items": { "type": "string", "enum": ["api_key", "oauth", "bedrock", "vertex"] },
|
|
38
|
+
"minItems": 1
|
|
39
|
+
},
|
|
40
|
+
"npm": {
|
|
41
|
+
"type": "string",
|
|
42
|
+
"description": "Provider SDK npm package, when applicable (e.g. `@anthropic-ai/sdk`)."
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
},
|
|
47
|
+
"models": {
|
|
48
|
+
"type": "object",
|
|
49
|
+
"description": "Model entries keyed by provider id; each value is a map of model-id → model entry.",
|
|
50
|
+
"additionalProperties": {
|
|
51
|
+
"type": "object",
|
|
52
|
+
"additionalProperties": {
|
|
53
|
+
"$ref": "#/$defs/modelEntry"
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
},
|
|
58
|
+
"$defs": {
|
|
59
|
+
"modelEntry": {
|
|
60
|
+
"type": "object",
|
|
61
|
+
"description": "Full models.dev wire capability set for a single model.",
|
|
62
|
+
"required": [
|
|
63
|
+
"id",
|
|
64
|
+
"name",
|
|
65
|
+
"family",
|
|
66
|
+
"attachment",
|
|
67
|
+
"reasoning",
|
|
68
|
+
"temperature",
|
|
69
|
+
"interleaved",
|
|
70
|
+
"tool_call",
|
|
71
|
+
"modalities",
|
|
72
|
+
"cost",
|
|
73
|
+
"limit",
|
|
74
|
+
"status",
|
|
75
|
+
"release_date",
|
|
76
|
+
"provider"
|
|
77
|
+
],
|
|
78
|
+
"additionalProperties": false,
|
|
79
|
+
"properties": {
|
|
80
|
+
"id": { "type": "string", "description": "Model identifier (e.g. `claude-haiku-4-5`)." },
|
|
81
|
+
"name": { "type": "string", "description": "Human-readable display name." },
|
|
82
|
+
"family": { "type": "string", "description": "Model family (e.g. `claude`, `gpt`, `gemini`)." },
|
|
83
|
+
"attachment": { "type": "boolean", "description": "Supports file/image attachments." },
|
|
84
|
+
"reasoning": { "type": "boolean", "description": "Supports extended reasoning / thinking." },
|
|
85
|
+
"temperature": { "type": "boolean", "description": "Honours a temperature parameter." },
|
|
86
|
+
"interleaved": { "type": "boolean", "description": "Supports interleaved thinking blocks." },
|
|
87
|
+
"tool_call": { "type": "boolean", "description": "Supports tool/function calling." },
|
|
88
|
+
"modalities": {
|
|
89
|
+
"type": "object",
|
|
90
|
+
"required": ["input", "output"],
|
|
91
|
+
"additionalProperties": false,
|
|
92
|
+
"properties": {
|
|
93
|
+
"input": { "type": "array", "items": { "type": "string" } },
|
|
94
|
+
"output": { "type": "array", "items": { "type": "string" } }
|
|
95
|
+
}
|
|
96
|
+
},
|
|
97
|
+
"cost": {
|
|
98
|
+
"type": "object",
|
|
99
|
+
"additionalProperties": false,
|
|
100
|
+
"properties": {
|
|
101
|
+
"input": { "type": "number" },
|
|
102
|
+
"output": { "type": "number" },
|
|
103
|
+
"cache_read": { "type": "number" },
|
|
104
|
+
"cache_write": { "type": "number" },
|
|
105
|
+
"context_over_200k": { "type": "number" }
|
|
106
|
+
}
|
|
107
|
+
},
|
|
108
|
+
"limit": {
|
|
109
|
+
"type": "object",
|
|
110
|
+
"required": ["context", "output"],
|
|
111
|
+
"additionalProperties": false,
|
|
112
|
+
"properties": {
|
|
113
|
+
"context": { "type": "number", "description": "Max context window (tokens)." },
|
|
114
|
+
"output": { "type": "number", "description": "Max output tokens." }
|
|
115
|
+
}
|
|
116
|
+
},
|
|
117
|
+
"status": {
|
|
118
|
+
"type": "string",
|
|
119
|
+
"enum": ["stable", "beta", "preview", "deprecated", "retired"],
|
|
120
|
+
"description": "Availability lifecycle of the model."
|
|
121
|
+
},
|
|
122
|
+
"release_date": {
|
|
123
|
+
"type": "string",
|
|
124
|
+
"pattern": "^\\d{4}-\\d{2}-\\d{2}$",
|
|
125
|
+
"description": "ISO release date (YYYY-MM-DD). The SSoT sort key — latest wins."
|
|
126
|
+
},
|
|
127
|
+
"provider": {
|
|
128
|
+
"type": "object",
|
|
129
|
+
"required": ["npm", "api"],
|
|
130
|
+
"additionalProperties": false,
|
|
131
|
+
"properties": {
|
|
132
|
+
"npm": { "type": "string" },
|
|
133
|
+
"api": { "type": "string" }
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `@cleocode/contracts/llm` — LLM contract subpath barrel.
|
|
3
|
+
*
|
|
4
|
+
* Re-exports the declarative provider contracts so consumers can import from the
|
|
5
|
+
* `./llm` subpath (`@cleocode/contracts/llm`) in addition to the package root.
|
|
6
|
+
* Currently fronts the M3 Provider SSoT {@link ProviderDef} contract (T11702);
|
|
7
|
+
* other `llm/*` modules continue to export from the package root barrel.
|
|
8
|
+
*
|
|
9
|
+
* @module llm
|
|
10
|
+
* @task T11702
|
|
11
|
+
* @epic T11667
|
|
12
|
+
*/
|
|
13
|
+
export type { AiSdkEndpoint, AnthropicMessagesEndpoint, OAuthFlowDef, OpenAICompletionsEndpoint, OpenAIResponsesEndpoint, ProviderDef, ProviderEndpoint, ProviderTransport, RequestQuirk, RequestQuirkKind, } from './provider-def.js';
|
|
14
|
+
export { PROVIDER_TRANSPORTS, REQUEST_QUIRK_KINDS, } from './provider-def.js';
|
|
15
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/llm/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,YAAY,EACV,aAAa,EACb,yBAAyB,EACzB,YAAY,EACZ,yBAAyB,EACzB,uBAAuB,EACvB,WAAW,EACX,gBAAgB,EAChB,iBAAiB,EACjB,YAAY,EACZ,gBAAgB,GACjB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `@cleocode/contracts/llm` — LLM contract subpath barrel.
|
|
3
|
+
*
|
|
4
|
+
* Re-exports the declarative provider contracts so consumers can import from the
|
|
5
|
+
* `./llm` subpath (`@cleocode/contracts/llm`) in addition to the package root.
|
|
6
|
+
* Currently fronts the M3 Provider SSoT {@link ProviderDef} contract (T11702);
|
|
7
|
+
* other `llm/*` modules continue to export from the package root barrel.
|
|
8
|
+
*
|
|
9
|
+
* @module llm
|
|
10
|
+
* @task T11702
|
|
11
|
+
* @epic T11667
|
|
12
|
+
*/
|
|
13
|
+
export { PROVIDER_TRANSPORTS, REQUEST_QUIRK_KINDS, } from './provider-def.js';
|
|
14
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/llm/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAcH,OAAO,EACL,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,mBAAmB,CAAC"}
|
package/dist/llm/interfaces.d.ts
CHANGED
|
@@ -137,6 +137,29 @@ export interface SendOptions {
|
|
|
137
137
|
* Transports MUST ignore flags they do not recognise.
|
|
138
138
|
*/
|
|
139
139
|
readonly providerFlags?: Readonly<Record<string, unknown>>;
|
|
140
|
+
/**
|
|
141
|
+
* Tools the model may call on this call (OpenAI-format {@link TransportTool}[]).
|
|
142
|
+
*
|
|
143
|
+
* When supplied, the session forwards them onto the {@link TransportRequest.tools}
|
|
144
|
+
* surface so the wire-level transport advertises them to the model. This is the
|
|
145
|
+
* per-call hook the in-process Pi embed threads its `Context.tools` through — the
|
|
146
|
+
* registry's `toOpenAITools()` output reaches the model via `streamFn` →
|
|
147
|
+
* `SendOptions.tools` → `TransportRequest.tools`. Omit (or pass empty) for a
|
|
148
|
+
* tool-free call. Transports that do not support tools MUST ignore it.
|
|
149
|
+
*/
|
|
150
|
+
readonly tools?: readonly TransportTool[];
|
|
151
|
+
/**
|
|
152
|
+
* Cancellation signal for this call.
|
|
153
|
+
*
|
|
154
|
+
* When supplied, a streaming consumer MUST stop iterating and tear the
|
|
155
|
+
* underlying iterator down once the signal aborts — even when the wire-level
|
|
156
|
+
* transport does not itself observe the signal. This is the per-call hook the
|
|
157
|
+
* in-process Pi embed threads its loop-abort through so a detached stream
|
|
158
|
+
* producer cannot outlive the call that started it (T11898). Transports that
|
|
159
|
+
* do not consume it MUST ignore it (matching the {@link providerFlags}
|
|
160
|
+
* "ignore-unknown" contract).
|
|
161
|
+
*/
|
|
162
|
+
readonly signal?: AbortSignal;
|
|
140
163
|
}
|
|
141
164
|
/**
|
|
142
165
|
* Stateful per-conversation LLM session.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../src/llm/interfaces.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,KAAK,EACV,YAAY,EACZ,kBAAkB,EAClB,eAAe,EACf,gBAAgB,EAEhB,aAAa,EACd,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAOnD,YAAY,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAGpF,YAAY,EAAE,YAAY,EAAE,CAAC;AAM7B;;;;;;;;;;GAUG;AACH,MAAM,WAAW,eAAe;IAC9B,mFAAmF;IACnF,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,4EAA4E;IAC5E,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,8EAA8E;IAC9E,QAAQ,CAAC,aAAa,CAAC,EAAE;QACvB,6EAA6E;QAC7E,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QACvB,kEAAkE;QAClE,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QACvB,uCAAuC;QACvC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;KACjC,CAAC;IACF,iFAAiF;IACjF,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,sFAAsF;IACtF,QAAQ,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI,CAAC;CACxC;AAMD;;;;;;GAMG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;OAGG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,4CAA4C;IAC5C,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;IAC9B;;;OAGG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC;IAClC;;;OAGG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CAC5D;AAMD;;;;;;;GAOG;AACH,MAAM,WAAW,WAAW;IAC1B,sDAAsD;IACtD,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,yDAAyD;IACzD,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,yCAAyC;IACzC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,uEAAuE;IACvE,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;CAC1B;AAMD;;;;;;GAMG;AACH,MAAM,WAAW,WAAW;IAC1B;;;;;;;;OAQG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,cAAc,GAAG,cAAc,GAAG,IAAI,CAAC;IAChE;;;OAGG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,WAAW,CAAC;IACnC;;;OAGG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B;;;OAGG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC;IAClC;;;OAGG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../src/llm/interfaces.ts"],"names":[],"mappings":"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"}
|