@zmdb/ai 1.0.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (53) hide show
  1. package/LICENSE +10 -0
  2. package/README.md +56 -0
  3. package/dist/chat/index.d.ts +81 -0
  4. package/dist/chat/index.d.ts.map +1 -0
  5. package/dist/chat/index.js +86 -0
  6. package/dist/chat/index.js.map +1 -0
  7. package/dist/compiler.d.ts +3 -0
  8. package/dist/compiler.d.ts.map +1 -0
  9. package/dist/compiler.js +2 -0
  10. package/dist/compiler.js.map +1 -0
  11. package/dist/http/caller.d.ts +3 -0
  12. package/dist/http/caller.d.ts.map +1 -0
  13. package/dist/http/caller.js +128 -0
  14. package/dist/http/caller.js.map +1 -0
  15. package/dist/http/generate.d.ts +7 -0
  16. package/dist/http/generate.d.ts.map +1 -0
  17. package/dist/http/generate.js +205 -0
  18. package/dist/http/generate.js.map +1 -0
  19. package/dist/http/index.d.ts +5 -0
  20. package/dist/http/index.d.ts.map +1 -0
  21. package/dist/http/index.js +6 -0
  22. package/dist/http/index.js.map +1 -0
  23. package/dist/http/parse.d.ts +11 -0
  24. package/dist/http/parse.d.ts.map +1 -0
  25. package/dist/http/parse.js +398 -0
  26. package/dist/http/parse.js.map +1 -0
  27. package/dist/http/types.d.ts +59 -0
  28. package/dist/http/types.d.ts.map +1 -0
  29. package/dist/http/types.js +20 -0
  30. package/dist/http/types.js.map +1 -0
  31. package/dist/index.d.ts +12 -0
  32. package/dist/index.d.ts.map +1 -0
  33. package/dist/index.js +33 -0
  34. package/dist/index.js.map +1 -0
  35. package/dist/providers.d.ts +85 -0
  36. package/dist/providers.d.ts.map +1 -0
  37. package/dist/providers.js +252 -0
  38. package/dist/providers.js.map +1 -0
  39. package/dist/tool-runtime.d.ts +36 -0
  40. package/dist/tool-runtime.d.ts.map +1 -0
  41. package/dist/tool-runtime.js +55 -0
  42. package/dist/tool-runtime.js.map +1 -0
  43. package/package.json +66 -0
  44. package/src/chat/index.ts +202 -0
  45. package/src/compiler.ts +2 -0
  46. package/src/http/caller.ts +132 -0
  47. package/src/http/generate.ts +218 -0
  48. package/src/http/index.ts +16 -0
  49. package/src/http/parse.ts +666 -0
  50. package/src/http/types.ts +83 -0
  51. package/src/index.ts +40 -0
  52. package/src/providers.ts +443 -0
  53. package/src/tool-runtime.ts +91 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generate.js","sourceRoot":"","sources":["../../src/http/generate.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ export { bindOpenApiTool } from './caller.js';
2
+ export { generateOpenApiToolsModule } from './generate.js';
3
+ export { toolsFromOpenApi } from './parse.js';
4
+ export { OpenApiHttpError, ToolSpecRefusalError, type BoundOpenApiTool, type OpenApiCallerOptions, type OpenApiGeneratedTool, type OpenApiOperationIdentity, type OpenApiToolRequest, type OpenApiToolsOptions, type ToolProvider, type ToolSpecRefusal, } from './types.js';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/http/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,0BAA0B,EAAE,MAAM,eAAe,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACpB,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EACzB,KAAK,wBAAwB,EAC7B,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACxB,KAAK,YAAY,EACjB,KAAK,eAAe,GACrB,MAAM,YAAY,CAAC"}
@@ -0,0 +1,6 @@
1
+ // Public @zmdb/ai/http surface.
2
+ export { bindOpenApiTool } from './caller.js';
3
+ export { generateOpenApiToolsModule } from './generate.js';
4
+ export { toolsFromOpenApi } from './parse.js';
5
+ export { OpenApiHttpError, ToolSpecRefusalError, } from './types.js';
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/http/index.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,0BAA0B,EAAE,MAAM,eAAe,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EACL,gBAAgB,EAChB,oBAAoB,GASrB,MAAM,YAAY,CAAC"}
@@ -0,0 +1,11 @@
1
+ import type { ToolSpec } from '../index.js';
2
+ import { type OpenApiToolRequest, type OpenApiToolsOptions } from './types.js';
3
+ export interface CompiledOpenApiTool {
4
+ readonly spec: ToolSpec;
5
+ readonly request: OpenApiToolRequest;
6
+ readonly argumentSchemas: Readonly<Record<string, unknown>>;
7
+ readonly required: readonly string[];
8
+ }
9
+ export declare function compileOpenApiTools(document: unknown, options?: OpenApiToolsOptions): readonly CompiledOpenApiTool[];
10
+ export declare function toolsFromOpenApi(document: unknown, options?: OpenApiToolsOptions): readonly ToolSpec[];
11
+ //# sourceMappingURL=parse.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../../src/http/parse.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAGL,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EAEzB,MAAM,YAAY,CAAC;AAKpB,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,kBAAkB,CAAC;IACrC,QAAQ,CAAC,eAAe,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAC5D,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;CACtC;AAykBD,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,OAAO,EACjB,OAAO,GAAE,mBAAwB,GAChC,SAAS,mBAAmB,EAAE,CAsDhC;AAED,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,GAAE,mBAAwB,GAAG,SAAS,QAAQ,EAAE,CAE1G"}
@@ -0,0 +1,398 @@
1
+ import {} from '@zmdb/schema/openapi';
2
+ import { ToolSpecRefusalError, } from './types.js';
3
+ const METHODS = new Set(['delete', 'get', 'head', 'options', 'patch', 'post', 'put', 'trace']);
4
+ const NAME = /^[A-Za-z0-9_-]+$/;
5
+ function isRecord(value) {
6
+ return typeof value === 'object' && value !== null && !Array.isArray(value);
7
+ }
8
+ function refuse(provider, path, construct, reason, suggestion) {
9
+ throw new ToolSpecRefusalError({ provider, path, construct, reason, suggestion });
10
+ }
11
+ function operationPath(method, path) {
12
+ return `${method.toUpperCase()} ${path}`;
13
+ }
14
+ function pointerSegment(segment) {
15
+ return segment.replaceAll('~1', '/').replaceAll('~0', '~');
16
+ }
17
+ function resolvePointer(document, reference, provider, path, stack) {
18
+ if (!reference.startsWith('#/')) {
19
+ refuse(provider, path, '$ref', `external reference ${reference} is not fetched`, 'bundle the referenced schema into this document before generation');
20
+ }
21
+ if (stack.has(reference)) {
22
+ refuse(provider, path, '$ref cycle', `reference cycle includes ${reference}`, 'replace the recursive shape with a bounded, non-recursive tool argument');
23
+ }
24
+ let current = document;
25
+ for (const encoded of reference.slice(2).split('/')) {
26
+ const segment = pointerSegment(encoded);
27
+ if (!isRecord(current) || !Object.hasOwn(current, segment)) {
28
+ refuse(provider, path, '$ref', `reference ${reference} does not resolve within the document`, 'add the referenced component or remove the operation');
29
+ }
30
+ current = current[segment];
31
+ }
32
+ const next = new Set(stack);
33
+ next.add(reference);
34
+ return inlineReferences(current, document, provider, path, next);
35
+ }
36
+ function inlineReferences(value, document, provider, path, stack = new Set()) {
37
+ if (Array.isArray(value)) {
38
+ return value.map(item => inlineReferences(item, document, provider, path, stack));
39
+ }
40
+ if (!isRecord(value))
41
+ return value;
42
+ const reference = value['$ref'];
43
+ if (reference !== undefined) {
44
+ if (typeof reference !== 'string') {
45
+ refuse(provider, path, '$ref', 'the reference is not a string', 'use an in-document JSON Pointer');
46
+ }
47
+ const siblings = Object.keys(value).filter(key => key !== '$ref');
48
+ if (siblings.length > 0) {
49
+ refuse(provider, path, '$ref siblings', `reference ${reference} also declares ${siblings.join(', ')}`, 'inline the schema and apply those keywords directly');
50
+ }
51
+ return resolvePointer(document, reference, provider, path, stack);
52
+ }
53
+ const result = {};
54
+ for (const key of Object.keys(value).toSorted()) {
55
+ result[key] = inlineReferences(value[key], document, provider, path, stack);
56
+ }
57
+ return result;
58
+ }
59
+ function schemaArray(value) {
60
+ return Array.isArray(value) ? value : undefined;
61
+ }
62
+ function validateSchema(schema, provider, path, location) {
63
+ if (!isRecord(schema)) {
64
+ refuse(provider, path, location, 'the schema is not an object', 'replace it with an OpenAPI schema object');
65
+ }
66
+ for (const construct of ['allOf', 'not', 'if', 'then', 'else', 'dependentSchemas', 'patternProperties']) {
67
+ if (schema[construct] !== undefined) {
68
+ refuse(provider, path, construct, `${construct} is not representable by the generated TypeScript argument`, 'publish a concrete object shape for this tool operation');
69
+ }
70
+ }
71
+ if (schema['additionalProperties'] !== undefined && schema['additionalProperties'] !== false) {
72
+ refuse(provider, path, 'additionalProperties', 'an open-ended property map cannot be compiled by the existing validator emitter', 'declare the accepted properties explicitly');
73
+ }
74
+ if (provider === 'gemini' && (schema['oneOf'] !== undefined || schema['anyOf'] !== undefined)) {
75
+ refuse(provider, path, 'oneOf/anyOf', 'Gemini tool schemas do not accept this union spelling', 'split the operation into tools with concrete argument shapes');
76
+ }
77
+ if (provider === 'openai-strict' && Object.keys(schema).length === 0) {
78
+ refuse(provider, path, 'untyped schema', 'OpenAI strict tools require a type for every property', 'replace the unconstrained value with a concrete schema');
79
+ }
80
+ for (const union of ['oneOf', 'anyOf']) {
81
+ const members = schemaArray(schema[union]);
82
+ if (schema[union] !== undefined && (members === undefined || members.length === 0)) {
83
+ refuse(provider, path, union, `${union} must contain schemas`, 'declare at least one concrete union member');
84
+ }
85
+ for (const member of members ?? [])
86
+ validateSchema(member, provider, path, `${location}.${union}`);
87
+ }
88
+ const properties = schema['properties'];
89
+ if (properties !== undefined) {
90
+ if (!isRecord(properties)) {
91
+ refuse(provider, path, 'properties', 'properties is not an object', 'declare a named schema per property');
92
+ }
93
+ for (const [name, property] of Object.entries(properties)) {
94
+ validateSchema(property, provider, path, `${location}.${name}`);
95
+ }
96
+ }
97
+ const items = schema['items'];
98
+ if (items !== undefined)
99
+ validateSchema(items, provider, path, `${location}.items`);
100
+ return schema;
101
+ }
102
+ function schemaFor(value, document, provider, path, location) {
103
+ return validateSchema(inlineReferences(value, document, provider, path), provider, path, location);
104
+ }
105
+ function mergeUrlShapes(shapes) {
106
+ if (shapes.length === 0)
107
+ return undefined;
108
+ return {
109
+ array: shapes.some(shape => shape.array),
110
+ scalar: shapes.some(shape => shape.scalar),
111
+ };
112
+ }
113
+ function urlShapes(schema) {
114
+ const values = schema['enum'];
115
+ if (Array.isArray(values) && values.length > 0) {
116
+ return values.every(value => value === null || typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean')
117
+ ? { array: false, scalar: true }
118
+ : undefined;
119
+ }
120
+ for (const union of ['oneOf', 'anyOf']) {
121
+ const members = schema[union];
122
+ if (Array.isArray(members)) {
123
+ const shapes = [];
124
+ for (const member of members) {
125
+ if (!isRecord(member))
126
+ return undefined;
127
+ const shape = urlShapes(member);
128
+ if (shape === undefined)
129
+ return undefined;
130
+ shapes.push(shape);
131
+ }
132
+ return mergeUrlShapes(shapes);
133
+ }
134
+ }
135
+ const type = schema['type'];
136
+ if (Array.isArray(type)) {
137
+ const shapes = [];
138
+ for (const member of type) {
139
+ const shape = urlShapes({ ...schema, type: member });
140
+ if (shape === undefined)
141
+ return undefined;
142
+ shapes.push(shape);
143
+ }
144
+ return mergeUrlShapes(shapes);
145
+ }
146
+ if (type === 'array') {
147
+ const items = schema['items'];
148
+ if (!isRecord(items))
149
+ return undefined;
150
+ const itemShapes = urlShapes(items);
151
+ return itemShapes?.scalar === true && itemShapes.array === false ? { array: true, scalar: false } : undefined;
152
+ }
153
+ return type === 'string' || type === 'integer' || type === 'number' || type === 'boolean' || type === 'null'
154
+ ? { array: false, scalar: true }
155
+ : undefined;
156
+ }
157
+ function validateUrlSchema(schema, location, name, provider, path) {
158
+ const shapes = urlShapes(schema);
159
+ const supported = shapes !== undefined &&
160
+ (location === 'path' ? shapes.scalar && shapes.array === false : shapes.scalar || shapes.array);
161
+ if (supported)
162
+ return;
163
+ refuse(provider, path, `${location} parameter schema`, `${location} parameter ${name} is not a URL-safe ${location === 'path' ? 'scalar' : 'scalar or scalar array'}`, `declare ${name} as a string, number, boolean${location === 'query' ? ' or an array of those values' : ''}`);
164
+ }
165
+ function requiredNames(schema, provider, path) {
166
+ const required = schema['required'];
167
+ if (required === undefined)
168
+ return new Set();
169
+ if (!Array.isArray(required) || required.some(name => typeof name !== 'string')) {
170
+ refuse(provider, path, 'required', 'required is not a string array', 'list required property names as strings');
171
+ }
172
+ return new Set(required);
173
+ }
174
+ function objectProperties(schema, provider, path) {
175
+ const type = schema['type'];
176
+ const properties = schema['properties'];
177
+ if (type !== 'object' && properties === undefined) {
178
+ refuse(provider, path, 'requestBody', 'a JSON request body cannot be flattened because it is not an object', 'wrap the body fields in an object schema');
179
+ }
180
+ if (properties === undefined)
181
+ return {};
182
+ if (!isRecord(properties)) {
183
+ refuse(provider, path, 'properties', 'request body properties is not an object', 'declare named body properties');
184
+ }
185
+ return properties;
186
+ }
187
+ function operationIdOf(operation, method, path, provider) {
188
+ const value = operation['operationId'];
189
+ const where = operationPath(method, path);
190
+ if (typeof value !== 'string' || value.length === 0) {
191
+ refuse(provider, where, 'operationId', `operation ${where} has no operationId`, 'add a stable operationId before generating tools');
192
+ }
193
+ if (value.length > 64 || !NAME.test(value)) {
194
+ refuse(provider, where, 'operationId', `operationId ${value} must match ${NAME.source} and be at most 64 characters`, 'rename the operation with letters, digits, underscores or hyphens');
195
+ }
196
+ return value;
197
+ }
198
+ function parameterList(value, document, provider, path) {
199
+ if (value === undefined)
200
+ return [];
201
+ if (!Array.isArray(value)) {
202
+ refuse(provider, path, 'parameters', 'parameters is not an array', 'declare OpenAPI parameter objects');
203
+ }
204
+ return value.map(item => {
205
+ const resolved = inlineReferences(item, document, provider, path);
206
+ if (!isRecord(resolved)) {
207
+ refuse(provider, path, 'parameter', 'a parameter is not an object', 'declare a named OpenAPI parameter');
208
+ }
209
+ return resolved;
210
+ });
211
+ }
212
+ function mergedParameters(pathItem, operation, document, provider, path) {
213
+ const merged = new Map();
214
+ for (const parameter of [
215
+ ...parameterList(pathItem['parameters'], document, provider, path),
216
+ ...parameterList(operation['parameters'], document, provider, path),
217
+ ]) {
218
+ const name = parameter['name'];
219
+ const location = parameter['in'];
220
+ if (typeof name !== 'string' || typeof location !== 'string') {
221
+ refuse(provider, path, 'parameter', 'a parameter has no string name or location', 'name the parameter and its in');
222
+ }
223
+ merged.set(`${location}:${name}`, parameter);
224
+ }
225
+ return [...merged.values()];
226
+ }
227
+ function addArgument(properties, required, name, schema, isRequired, provider, path) {
228
+ if (Object.hasOwn(properties, name)) {
229
+ refuse(provider, path, 'argument name collision', `more than one path, query or body value is named ${name}`, 'rename one field in the OpenAPI document');
230
+ }
231
+ properties[name] = schema;
232
+ if (isRequired)
233
+ required.add(name);
234
+ }
235
+ function requestBody(operation, document, provider, path) {
236
+ const raw = operation['requestBody'];
237
+ if (raw === undefined)
238
+ return { properties: {}, required: new Set(), present: false };
239
+ const resolved = inlineReferences(raw, document, provider, path);
240
+ if (!isRecord(resolved) || !isRecord(resolved['content'])) {
241
+ refuse(provider, path, 'requestBody', 'requestBody has no content map', 'declare an application/json body');
242
+ }
243
+ const content = resolved['content'];
244
+ const json = content['application/json'];
245
+ if (json === undefined) {
246
+ const media = Object.keys(content).join(', ') || 'no media type';
247
+ refuse(provider, path, 'requestBody media type', `request body uses ${media}, not application/json`, 'publish an application/json schema for this operation');
248
+ }
249
+ if (!isRecord(json) || json['schema'] === undefined) {
250
+ refuse(provider, path, 'requestBody schema', 'application/json has no schema', 'declare the JSON body schema');
251
+ }
252
+ const schema = schemaFor(json['schema'], document, provider, path, 'requestBody');
253
+ return {
254
+ properties: objectProperties(schema, provider, path),
255
+ required: requiredNames(schema, provider, path),
256
+ present: true,
257
+ };
258
+ }
259
+ function pathParameterNames(path) {
260
+ return [...path.matchAll(/\{([^{}]+)\}/g)].map(match => match[1] ?? '');
261
+ }
262
+ function validatePath(path, provider) {
263
+ if (!path.startsWith('/') || path.includes('?') || path.includes('#')) {
264
+ refuse(provider, path, 'operation path', 'an OpenAPI operation path must start with / and contain no query or fragment', 'move query values into in:query parameters and publish an absolute path template');
265
+ }
266
+ const withoutPlaceholders = path.replaceAll(/\{[^{}]+\}/g, '');
267
+ if (withoutPlaceholders.includes('{') || withoutPlaceholders.includes('}')) {
268
+ refuse(provider, path, 'path placeholder', 'the operation path contains an unmatched or empty placeholder', 'use a named placeholder such as {projectId}');
269
+ }
270
+ if (path.split('/').some(segment => segment === '.' || segment === '..')) {
271
+ refuse(provider, path, 'operation path', 'the operation path contains a URL dot segment', 'publish the canonical path without . or .. segments');
272
+ }
273
+ }
274
+ function compileOperation(document, path, method, pathItem, operation, options, provider) {
275
+ const operationId = operationIdOf(operation, method, path, provider);
276
+ const identity = { method, path, operationId };
277
+ if (options.include !== undefined && !options.include(identity))
278
+ return undefined;
279
+ const where = `${operationId} (${operationPath(method, path)})`;
280
+ const properties = {};
281
+ const required = new Set();
282
+ const pathParameters = [];
283
+ const queryParameters = [];
284
+ for (const parameter of mergedParameters(pathItem, operation, document, provider, where)) {
285
+ const name = parameter['name'];
286
+ const location = parameter['in'];
287
+ if (typeof name !== 'string' || typeof location !== 'string')
288
+ continue;
289
+ if (location === 'header' || location === 'cookie')
290
+ continue;
291
+ if (location !== 'path' && location !== 'query') {
292
+ refuse(provider, where, 'parameter location', `parameter ${name} uses unsupported location ${location}`, 'use a path or query parameter; supply credentials through caller-owned headers');
293
+ }
294
+ if (parameter['schema'] === undefined) {
295
+ refuse(provider, where, 'parameter schema', `parameter ${name} has no schema`, 'declare its scalar schema');
296
+ }
297
+ const schema = schemaFor(parameter['schema'], document, provider, where, `parameter ${name}`);
298
+ validateUrlSchema(schema, location, name, provider, where);
299
+ if (location === 'path') {
300
+ if (parameter['required'] !== true) {
301
+ refuse(provider, where, 'path parameter', `path parameter ${name} is not required`, 'mark it required');
302
+ }
303
+ pathParameters.push(name);
304
+ addArgument(properties, required, name, schema, true, provider, where);
305
+ }
306
+ else {
307
+ queryParameters.push(name);
308
+ addArgument(properties, required, name, schema, parameter['required'] === true, provider, where);
309
+ }
310
+ }
311
+ const placeholders = pathParameterNames(path);
312
+ for (const name of placeholders) {
313
+ if (!pathParameters.includes(name)) {
314
+ refuse(provider, where, 'path parameter', `path placeholder ${name} has no matching parameter schema`, 'declare a required in:path parameter with that name');
315
+ }
316
+ }
317
+ for (const name of pathParameters) {
318
+ if (!placeholders.includes(name)) {
319
+ refuse(provider, where, 'path parameter', `path parameter ${name} has no {${name}} placeholder`, 'remove it or add the matching placeholder');
320
+ }
321
+ }
322
+ const body = requestBody(operation, document, provider, where);
323
+ const bodyParameters = [];
324
+ for (const name of Object.keys(body.properties).toSorted()) {
325
+ const schema = body.properties[name];
326
+ if (!isRecord(schema)) {
327
+ refuse(provider, where, `requestBody.${name}`, 'the property schema is not an object', 'declare its schema');
328
+ }
329
+ bodyParameters.push(name);
330
+ addArgument(properties, required, name, schema, body.required.has(name), provider, where);
331
+ }
332
+ const sortedProperties = {};
333
+ for (const name of Object.keys(properties).toSorted())
334
+ sortedProperties[name] = properties[name];
335
+ const parameters = {
336
+ type: 'object',
337
+ properties: sortedProperties,
338
+ required: [...required].toSorted(),
339
+ };
340
+ const description = typeof operation['summary'] === 'string'
341
+ ? operation['summary']
342
+ : typeof operation['description'] === 'string'
343
+ ? operation['description']
344
+ : undefined;
345
+ const spec = description === undefined ? { name: operationId, parameters } : { name: operationId, description, parameters };
346
+ return {
347
+ spec,
348
+ request: {
349
+ method: method.toUpperCase(),
350
+ path,
351
+ pathParameters: pathParameters.toSorted(),
352
+ queryParameters: queryParameters.toSorted(),
353
+ bodyParameters,
354
+ hasBody: body.present,
355
+ },
356
+ argumentSchemas: sortedProperties,
357
+ required: parameters.required,
358
+ };
359
+ }
360
+ export function compileOpenApiTools(document, options = {}) {
361
+ const provider = options.provider ?? 'json-schema';
362
+ if (!isRecord(document) || !isRecord(document['paths'])) {
363
+ refuse(provider, 'document', 'paths', 'the OpenAPI document has no paths object', 'pass an OpenAPI document');
364
+ }
365
+ const result = [];
366
+ const names = new Set();
367
+ for (const path of Object.keys(document['paths']).toSorted()) {
368
+ validatePath(path, provider);
369
+ const pathItem = document['paths'][path];
370
+ if (!isRecord(pathItem)) {
371
+ refuse(provider, path, 'path item', 'the path item is not an object', 'declare operations under this path');
372
+ }
373
+ if (pathItem['$ref'] !== undefined) {
374
+ refuse(provider, path, 'path item $ref', 'a referenced path item hides operation identity before generation', 'inline the path item; schema and parameter references remain supported');
375
+ }
376
+ for (const method of Object.keys(pathItem)
377
+ .filter(key => METHODS.has(key.toLowerCase()))
378
+ .toSorted()) {
379
+ const rawOperation = pathItem[method];
380
+ if (!isRecord(rawOperation)) {
381
+ refuse(provider, operationPath(method, path), 'operation', 'the operation is not an object', 'declare it');
382
+ }
383
+ const compiled = compileOperation(document, path, method.toLowerCase(), pathItem, rawOperation, options, provider);
384
+ if (compiled === undefined)
385
+ continue;
386
+ if (names.has(compiled.spec.name)) {
387
+ refuse(provider, operationPath(method, path), 'operationId collision', `operationId ${compiled.spec.name} appears more than once`, 'give every operation a distinct operationId');
388
+ }
389
+ names.add(compiled.spec.name);
390
+ result.push(compiled);
391
+ }
392
+ }
393
+ return result;
394
+ }
395
+ export function toolsFromOpenApi(document, options = {}) {
396
+ return compileOpenApiTools(document, options).map(tool => tool.spec);
397
+ }
398
+ //# sourceMappingURL=parse.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parse.js","sourceRoot":"","sources":["../../src/http/parse.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,59 @@
1
+ import type { ToolSpec } from '../index.js';
2
+ export type ToolProvider = 'openai' | 'openai-strict' | 'anthropic' | 'gemini' | 'json-schema';
3
+ export interface ToolSpecRefusal {
4
+ readonly provider: ToolProvider;
5
+ readonly path: string;
6
+ readonly construct: string;
7
+ readonly reason: string;
8
+ readonly suggestion: string;
9
+ }
10
+ export declare class ToolSpecRefusalError extends Error {
11
+ readonly refusal: ToolSpecRefusal;
12
+ constructor(refusal: ToolSpecRefusal);
13
+ }
14
+ export interface OpenApiOperationIdentity {
15
+ readonly method: string;
16
+ readonly path: string;
17
+ readonly operationId: string;
18
+ }
19
+ export interface OpenApiToolsOptions {
20
+ readonly provider?: ToolProvider;
21
+ readonly include?: (operation: OpenApiOperationIdentity) => boolean;
22
+ }
23
+ export interface OpenApiToolRequest {
24
+ readonly method: string;
25
+ readonly path: string;
26
+ readonly pathParameters: readonly string[];
27
+ readonly queryParameters: readonly string[];
28
+ readonly bodyParameters: readonly string[];
29
+ readonly hasBody: boolean;
30
+ }
31
+ /**
32
+ * One checked-in generated tool. `validate` is intentionally a normal
33
+ * `assert<T>` call in generated source: the existing AOT transform compiles it
34
+ * from TypeScript's IR, so this path does not grow a second validator engine.
35
+ */
36
+ export interface OpenApiGeneratedTool<T> {
37
+ readonly spec: ToolSpec;
38
+ readonly request: OpenApiToolRequest;
39
+ readonly validate: (input: unknown) => T;
40
+ }
41
+ export interface OpenApiCallerOptions {
42
+ readonly baseUrl: string;
43
+ readonly allowedBaseUrls: readonly string[];
44
+ readonly headers?: Readonly<Record<string, string>>;
45
+ readonly timeoutMs?: number;
46
+ readonly maxResponseBytes?: number;
47
+ readonly fetch?: typeof globalThis.fetch;
48
+ }
49
+ export interface BoundOpenApiTool<T> {
50
+ readonly spec: ToolSpec;
51
+ readonly validate: (input: unknown) => T;
52
+ readonly handler: (input: T) => Promise<unknown>;
53
+ }
54
+ export declare class OpenApiHttpError extends Error {
55
+ readonly status: number;
56
+ readonly body: string;
57
+ constructor(status: number, body: string);
58
+ }
59
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/http/types.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE5C,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,eAAe,GAAG,WAAW,GAAG,QAAQ,GAAG,aAAa,CAAC;AAE/F,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC;IAChC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;CAC7B;AAED,qBAAa,oBAAqB,SAAQ,KAAK;IAC7C,QAAQ,CAAC,OAAO,EAAE,eAAe,CAAC;IAElC,YAAY,OAAO,EAAE,eAAe,EAOnC;CACF;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,QAAQ,CAAC,EAAE,YAAY,CAAC;IACjC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,wBAAwB,KAAK,OAAO,CAAC;CACrE;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,cAAc,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3C,QAAQ,CAAC,eAAe,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5C,QAAQ,CAAC,cAAc,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3C,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC3B;AAED;;;;GAIG;AACH,MAAM,WAAW,oBAAoB,CAAC,CAAC;IACrC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,kBAAkB,CAAC;IACrC,QAAQ,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,CAAC,CAAC;CAC1C;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,eAAe,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5C,QAAQ,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACpD,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,CAAC;CAC1C;AAED,MAAM,WAAW,gBAAgB,CAAC,CAAC;IACjC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,CAAC,CAAC;IACzC,QAAQ,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CAClD;AAED,qBAAa,gBAAiB,SAAQ,KAAK;IACzC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB,YAAY,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAKvC;CACF"}
@@ -0,0 +1,20 @@
1
+ export class ToolSpecRefusalError extends Error {
2
+ refusal;
3
+ constructor(refusal) {
4
+ super(`Tool input ${refusal.path || '<root>'} cannot become a ${refusal.provider} tool: ` +
5
+ `${refusal.reason} (${refusal.construct}). ${refusal.suggestion}`);
6
+ this.name = 'ToolSpecRefusalError';
7
+ this.refusal = refusal;
8
+ }
9
+ }
10
+ export class OpenApiHttpError extends Error {
11
+ status;
12
+ body;
13
+ constructor(status, body) {
14
+ super(`OpenAPI tool request failed with HTTP ${status}: ${body}`);
15
+ this.name = 'OpenApiHttpError';
16
+ this.status = status;
17
+ this.body = body;
18
+ }
19
+ }
20
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/http/types.ts"],"names":[],"mappings":"AAaA,MAAM,OAAO,oBAAqB,SAAQ,KAAK;IACpC,OAAO,CAAkB;IAElC,YAAY,OAAwB;QAClC,KAAK,CACH,cAAc,OAAO,CAAC,IAAI,IAAI,QAAQ,oBAAoB,OAAO,CAAC,QAAQ,SAAS;YACjF,GAAG,OAAO,CAAC,MAAM,KAAK,OAAO,CAAC,SAAS,MAAM,OAAO,CAAC,UAAU,EAAE,CACpE,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC;QACnC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;CACF;AAgDD,MAAM,OAAO,gBAAiB,SAAQ,KAAK;IAChC,MAAM,CAAS;IACf,IAAI,CAAS;IAEtB,YAAY,MAAc,EAAE,IAAY;QACtC,KAAK,CAAC,yCAAyC,MAAM,KAAK,IAAI,EAAE,CAAC,CAAC;QAClE,IAAI,CAAC,IAAI,GAAG,kBAAkB,CAAC;QAC/B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;CACF"}
@@ -0,0 +1,12 @@
1
+ import { type CoreSchema } from '@zmdb/schema';
2
+ import { toolFor, type ToolOptions, type ToolSpec } from './providers.js';
3
+ export declare function toolFromSchema(name: string, schema: CoreSchema<string>, opts?: ToolOptions): ToolSpec;
4
+ export interface ParseResult<T> {
5
+ success: boolean;
6
+ data?: T;
7
+ errors?: readonly string[];
8
+ }
9
+ export declare function lenientParse<T = unknown>(text: string, coerce?: (v: unknown) => T): ParseResult<T>;
10
+ export { toolFor };
11
+ export type { ToolOptions, ToolProvider, ToolSchema, ToolSpec, ToolSpecFor } from './providers.js';
12
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,cAAc,CAAC;AAE/C,OAAO,EAAE,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1E,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,QAAQ,CAErG;AAED,MAAM,WAAW,WAAW,CAAC,CAAC;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,CAAC,CAAC;IACT,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC5B;AAED,wBAAgB,YAAY,CAAC,CAAC,GAAG,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAsBlG;AAED,OAAO,EAAE,OAAO,EAAE,CAAC;AACnB,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,33 @@
1
+ import {} from '@zmdb/schema';
2
+ import { toolFor } from './providers.js';
3
+ export function toolFromSchema(name, schema, opts) {
4
+ return toolFor('json-schema', name, schema, opts);
5
+ }
6
+ export function lenientParse(text, coerce) {
7
+ // strip a leading/trailing markdown code fence (```json … ```)
8
+ const stripped = text
9
+ .trim()
10
+ .replace(/^```(?:json)?\s*/i, '')
11
+ .replace(/\s*```$/, '')
12
+ .trim();
13
+ let parsed;
14
+ try {
15
+ parsed = JSON.parse(stripped);
16
+ }
17
+ catch (err) {
18
+ return { success: false, errors: [err instanceof Error ? err.message : 'invalid JSON'] };
19
+ }
20
+ // boundary: with no `coerce` there is nothing to check the payload against —
21
+ // `T` is the caller's claim about the model's output, exactly as with
22
+ // `JSON.parse`. Pass a `coerce` (or run the AOT validator) to make it proven.
23
+ if (!coerce)
24
+ return { success: true, data: parsed };
25
+ try {
26
+ return { success: true, data: coerce(parsed) };
27
+ }
28
+ catch (err) {
29
+ return { success: false, errors: [err instanceof Error ? err.message : 'coercion failed'] };
30
+ }
31
+ }
32
+ export { toolFor };
33
+ //# sourceMappingURL=index.js.map