@happyvertical/smrt-mcp-openai 0.51.38 → 0.51.39

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/forms.js ADDED
@@ -0,0 +1,389 @@
1
+ /** Bounded OpenAI form wire profile; pinned upstream sources are in FORMS.md. */
2
+ import { json, jsonSnapshot, keys, record, text } from './validation.js';
3
+ function boundedJson(v) {
4
+ const snapshot = jsonSnapshot(v);
5
+ if (new TextEncoder().encode(JSON.stringify(snapshot)).length > 65536)
6
+ throw new TypeError('Form exceeds byte limit');
7
+ return snapshot;
8
+ }
9
+ const common = ['type', 'title', 'description', 'default'];
10
+ const strings = ['minLength', 'maxLength', 'format', 'x-openai-suggestions'];
11
+ function optionalText(v, names, max = 4096) {
12
+ for (const name of names)
13
+ if (v[name] !== undefined &&
14
+ (typeof v[name] !== 'string' || v[name].length > max))
15
+ throw new TypeError('Invalid form text');
16
+ }
17
+ function list(v, max = 64) {
18
+ if (!Array.isArray(v) || v.length > max)
19
+ throw new TypeError('Invalid form list');
20
+ return v;
21
+ }
22
+ function stringList(v, max = 64) {
23
+ const a = list(v, max);
24
+ if (a.some((x) => typeof x !== 'string' || x.length > 4096))
25
+ throw new TypeError('Invalid string list');
26
+ return a;
27
+ }
28
+ function bounds(f, min, max, limit) {
29
+ for (const key of [min, max])
30
+ if (f[key] !== undefined &&
31
+ (typeof f[key] !== 'number' ||
32
+ !Number.isFinite(f[key]) ||
33
+ (limit !== undefined &&
34
+ (!Number.isSafeInteger(f[key]) ||
35
+ f[key] < 0 ||
36
+ f[key] > limit))))
37
+ throw new TypeError('Invalid form bounds');
38
+ if (Number(f[min] ?? -Infinity) > Number(f[max] ?? Infinity))
39
+ throw new TypeError('Reversed form bounds');
40
+ }
41
+ function icon(v) {
42
+ const i = record(v);
43
+ keys(i, ['src', 'mimeType', 'sizes', 'theme']);
44
+ text(i.src, 8192);
45
+ optionalText(i, ['mimeType'], 128);
46
+ if (i.sizes !== undefined)
47
+ stringList(i.sizes, 8);
48
+ if (i.theme !== undefined && !['light', 'dark'].includes(String(i.theme)))
49
+ throw new TypeError('Invalid icon theme');
50
+ // No active/SVG image payloads or arbitrary schemes in form declarations.
51
+ if (!/^data:image\/(png|jpeg|webp|gif);base64,[A-Za-z0-9+/=]+$/.test(String(i.src))) {
52
+ const u = new URL(String(i.src));
53
+ if (u.protocol !== 'https:' || u.username || u.password)
54
+ throw new TypeError('Unsafe form image');
55
+ }
56
+ }
57
+ function options(v) {
58
+ const a = list(v);
59
+ const values = new Set();
60
+ for (const raw of a) {
61
+ const o = record(raw);
62
+ keys(o, [
63
+ 'const',
64
+ 'title',
65
+ 'description',
66
+ 'x-openai-thumbnail',
67
+ 'x-openai-preview',
68
+ ]);
69
+ optionalText(o, ['const', 'title', 'description']);
70
+ if (typeof o.const !== 'string' ||
71
+ typeof o.title !== 'string' ||
72
+ values.has(o.const))
73
+ throw new TypeError('Invalid option');
74
+ values.add(o.const);
75
+ for (const k of ['x-openai-thumbnail', 'x-openai-preview'])
76
+ if (o[k] !== undefined)
77
+ icon(o[k]);
78
+ }
79
+ return a;
80
+ }
81
+ function resource(v) {
82
+ const r = record(v);
83
+ keys(r, [
84
+ 'uri',
85
+ 'name',
86
+ 'title',
87
+ 'description',
88
+ 'mimeType',
89
+ 'size',
90
+ 'icons',
91
+ 'annotations',
92
+ '_meta',
93
+ ]);
94
+ text(r.uri, 2048);
95
+ text(r.name, 256);
96
+ uri(String(r.uri));
97
+ optionalText(r, ['title', 'description', 'mimeType']);
98
+ if (r.size !== undefined &&
99
+ (!Number.isSafeInteger(r.size) || Number(r.size) < 0))
100
+ throw new TypeError('Invalid resource size');
101
+ if (r.icons !== undefined)
102
+ for (const i of list(r.icons, 8))
103
+ icon(i);
104
+ if (r._meta !== undefined)
105
+ record(r._meta);
106
+ if (r.annotations !== undefined) {
107
+ const a = record(r.annotations);
108
+ keys(a, ['audience', 'priority', 'lastModified']);
109
+ if (a.audience !== undefined &&
110
+ stringList(a.audience, 2).some((x) => !['user', 'assistant'].includes(x)))
111
+ throw new TypeError('Invalid resource audience');
112
+ if (a.priority !== undefined &&
113
+ (typeof a.priority !== 'number' || a.priority < 0 || a.priority > 1))
114
+ throw new TypeError('Invalid priority');
115
+ optionalText(a, ['lastModified'], 64);
116
+ }
117
+ }
118
+ function uri(v) {
119
+ if (v.length > 2048 || /[\s\\]/.test(v))
120
+ throw new TypeError('Invalid resource URI');
121
+ const u = new URL(v);
122
+ if (['javascript:', 'data:', 'file:'].includes(u.protocol) ||
123
+ u.username ||
124
+ u.password)
125
+ throw new TypeError('Expected opaque resource URI');
126
+ }
127
+ function stringField(f, extra = []) {
128
+ if (f.default !== undefined && typeof f.default !== 'string')
129
+ throw new TypeError('Invalid string default');
130
+ keys(f, [...common, ...strings, ...extra]);
131
+ bounds(f, 'minLength', 'maxLength', 4096);
132
+ if (f.format !== undefined &&
133
+ !['email', 'uri', 'date', 'date-time'].includes(String(f.format)))
134
+ throw new TypeError('Invalid format');
135
+ if (f['x-openai-suggestions'] !== undefined)
136
+ options(f['x-openai-suggestions']);
137
+ }
138
+ function field(raw) {
139
+ const f = record(raw);
140
+ optionalText(f, ['title', 'description']);
141
+ if (f.type === 'string') {
142
+ if (f.enum !== undefined) {
143
+ keys(f, [...common, 'enum', 'enumNames']);
144
+ const values = stringList(f.enum);
145
+ if (new Set(values).size !== values.length)
146
+ throw new TypeError('Duplicate enum');
147
+ if (f.enumNames !== undefined &&
148
+ stringList(f.enumNames).length !== values.length)
149
+ throw new TypeError('Invalid enum titles');
150
+ }
151
+ else if (f.oneOf !== undefined) {
152
+ keys(f, [...common, 'oneOf']);
153
+ options(f.oneOf);
154
+ }
155
+ else
156
+ stringField(f, ['x-openai-input']);
157
+ }
158
+ else if (f.type === 'array') {
159
+ keys(f, [
160
+ ...common,
161
+ 'minItems',
162
+ 'maxItems',
163
+ 'items',
164
+ 'uniqueItems',
165
+ 'x-openai-input',
166
+ ]);
167
+ bounds(f, 'minItems', 'maxItems', 64);
168
+ const item = record(f.items);
169
+ if (item.anyOf !== undefined) {
170
+ keys(item, ['anyOf']);
171
+ options(item.anyOf);
172
+ if (f.uniqueItems !== undefined)
173
+ throw new TypeError('uniqueItems only supports string arrays');
174
+ }
175
+ else if (item.enum !== undefined) {
176
+ keys(item, ['type', 'enum']);
177
+ if (item.type !== 'string')
178
+ throw new TypeError('Expected string items');
179
+ stringList(item.enum);
180
+ if (f.uniqueItems !== undefined)
181
+ throw new TypeError('uniqueItems only supports string arrays');
182
+ }
183
+ else {
184
+ if (item.type !== 'string')
185
+ throw new TypeError('Expected string items');
186
+ stringField(item);
187
+ optionalText(item, ['title', 'description']);
188
+ if (f.uniqueItems !== undefined && typeof f.uniqueItems !== 'boolean')
189
+ throw new TypeError('Invalid uniqueItems');
190
+ }
191
+ }
192
+ else if (f.type === 'boolean')
193
+ keys(f, common);
194
+ else if (f.type === 'number' || f.type === 'integer') {
195
+ keys(f, [...common, 'minimum', 'maximum']);
196
+ bounds(f, 'minimum', 'maximum');
197
+ }
198
+ else
199
+ throw new TypeError('Unsupported form field');
200
+ if (f['x-openai-input'] !== undefined) {
201
+ if (f.uniqueItems !== undefined)
202
+ throw new TypeError('Resource array does not support uniqueItems');
203
+ const input = record(f['x-openai-input']);
204
+ keys(input, [
205
+ 'type',
206
+ 'options',
207
+ 'userOptions',
208
+ ...(f.type === 'array' ? ['selection'] : []),
209
+ ]);
210
+ if (!['file', 'resource'].includes(String(input.type)))
211
+ throw new TypeError('Unsupported resource input');
212
+ if (f.type === 'string'
213
+ ? f.format !== 'uri'
214
+ : f.type !== 'array' || record(f.items).format !== 'uri')
215
+ throw new TypeError('Resource picker requires URI fields');
216
+ const resources = list(input.options);
217
+ for (const r of resources)
218
+ resource(r);
219
+ const uris = resources.map((r) => record(r).uri);
220
+ if (new Set(uris).size !== uris.length)
221
+ throw new TypeError('Duplicate resource');
222
+ if (input.selection !== undefined &&
223
+ !['explicit', 'implicit'].includes(String(input.selection)))
224
+ throw new TypeError('Invalid selection');
225
+ if (input.userOptions !== undefined) {
226
+ const u = record(input.userOptions);
227
+ keys(u, ['kind', 'accept']);
228
+ if (u.kind !== undefined &&
229
+ !['file', 'directory'].includes(String(u.kind)))
230
+ throw new TypeError('Invalid resource kind');
231
+ if (u.accept !== undefined)
232
+ stringList(u.accept, 16);
233
+ }
234
+ if (f.default !== undefined &&
235
+ (input.selection === 'implicit' ||
236
+ (Array.isArray(f.default) ? f.default : [f.default]).some((x) => !uris.includes(x))))
237
+ throw new TypeError('Invalid resource default');
238
+ }
239
+ if (f.default !== undefined)
240
+ validateValue(f, f.default);
241
+ }
242
+ /** Parse a detached inert snapshot. Unknown semantics are rejected, never stripped. */
243
+ export function validateOpenAiForm(value) {
244
+ const snapshot = boundedJson(value);
245
+ const form = record(snapshot);
246
+ keys(form, ['$schema', 'type', 'properties', 'required']);
247
+ optionalText(form, ['$schema'], 256);
248
+ if (form.type !== 'object')
249
+ throw new TypeError('Expected form object');
250
+ const properties = record(form.properties);
251
+ if (Object.keys(properties).length > 64)
252
+ throw new TypeError('Too many form fields');
253
+ for (const [name, f] of Object.entries(properties)) {
254
+ text(name, 128);
255
+ field(f);
256
+ }
257
+ if (form.required !== undefined) {
258
+ const required = stringList(form.required);
259
+ if (new Set(required).size !== required.length ||
260
+ required.some((name) => !Object.hasOwn(properties, name)))
261
+ throw new TypeError('Invalid required fields');
262
+ }
263
+ return structuredClone(snapshot);
264
+ }
265
+ function validateValue(f, value) {
266
+ if (f.type === 'array') {
267
+ const a = stringList(value);
268
+ if (a.length < Number(f.minItems ?? 0) ||
269
+ a.length > Number(f.maxItems ?? 64) ||
270
+ (f.uniqueItems === true && new Set(a).size !== a.length))
271
+ throw new TypeError('Invalid array value');
272
+ const item = record(f.items);
273
+ for (const v of a)
274
+ validateValue(item.anyOf ? { type: 'string', oneOf: item.anyOf } : item, v);
275
+ }
276
+ else if (f.type === 'string') {
277
+ if (typeof value !== 'string' ||
278
+ value.length > 4096 ||
279
+ [...value].length < Number(f.minLength ?? 0) ||
280
+ [...value].length > Number(f.maxLength ?? 4096))
281
+ throw new TypeError('Invalid string value');
282
+ if ((f.enum && !stringList(f.enum).includes(value)) ||
283
+ (f.oneOf && !list(f.oneOf).some((o) => record(o).const === value)))
284
+ throw new TypeError('Unknown option');
285
+ if (f.format === 'uri')
286
+ uri(value);
287
+ if (f.format === 'email' && !/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(value))
288
+ throw new TypeError('Invalid email');
289
+ if (f.format === 'date' &&
290
+ (!/^\d{4}-\d{2}-\d{2}$/.test(value) ||
291
+ Number.isNaN(Date.parse(value)) ||
292
+ new Date(value).toISOString().slice(0, 10) !== value))
293
+ throw new TypeError('Invalid date');
294
+ if (f.format === 'date-time') {
295
+ const match = /^(\d{4}-\d{2}-\d{2})T(\d{2}):(\d{2}):(\d{2})(?:\.\d+)?(?:Z|[+-](\d{2}):(\d{2}))$/.exec(value);
296
+ if (!match ||
297
+ Number.isNaN(Date.parse(match[1])) ||
298
+ new Date(match[1]).toISOString().slice(0, 10) !== match[1] ||
299
+ Number(match[2]) > 23 ||
300
+ Number(match[3]) > 59 ||
301
+ Number(match[4]) > 59 ||
302
+ Number(match[5] ?? 0) > 23 ||
303
+ Number(match[6] ?? 0) > 59 ||
304
+ Number.isNaN(Date.parse(value)))
305
+ throw new TypeError('Invalid date-time');
306
+ }
307
+ }
308
+ else if (f.type === 'boolean') {
309
+ if (typeof value !== 'boolean')
310
+ throw new TypeError('Invalid boolean value');
311
+ }
312
+ else if (typeof value !== 'number' ||
313
+ !Number.isFinite(value) ||
314
+ (f.type === 'integer' && !Number.isSafeInteger(value)) ||
315
+ value < Number(f.minimum ?? -Infinity) ||
316
+ value > Number(f.maximum ?? Infinity))
317
+ throw new TypeError('Invalid numeric value');
318
+ if (f['x-openai-input']) {
319
+ const input = record(f['x-openai-input']);
320
+ if (input.selection !== 'implicit' &&
321
+ input.userOptions === undefined &&
322
+ (Array.isArray(value) ? value : [value]).some((v) => !list(input.options).some((o) => record(o).uri === v)))
323
+ throw new TypeError('Resource not offered');
324
+ }
325
+ }
326
+ /** Reply validation grants no file access, identity, or domain approval. */
327
+ export function validateOpenAiFormReply(schema, value) {
328
+ const form = validateOpenAiForm(schema);
329
+ const snapshot = boundedJson(value);
330
+ const reply = record(snapshot);
331
+ if (reply.action === 'cancel' || reply.action === 'decline') {
332
+ keys(reply, ['action']);
333
+ return { action: reply.action };
334
+ }
335
+ if (reply.action !== 'accept')
336
+ throw new TypeError('Invalid form action');
337
+ keys(reply, ['action', 'content']);
338
+ const content = record(reply.content);
339
+ if (Object.keys(content).some((name) => !Object.hasOwn(form.properties, name)) ||
340
+ (form.required ?? []).some((name) => !Object.hasOwn(content, name)))
341
+ throw new TypeError('Invalid form fields');
342
+ for (const [name, v] of Object.entries(content))
343
+ validateValue(record(form.properties[name]), v);
344
+ return structuredClone(snapshot);
345
+ }
346
+ /** Enumerate selections for the owning live authorization callback, never fetch. */
347
+ export function formResourceSelections(schema, reply) {
348
+ if (reply.action !== 'accept')
349
+ return [];
350
+ return [
351
+ ...new Set(Object.entries(schema.properties)
352
+ .filter(([, f]) => 'x-openai-input' in f)
353
+ .flatMap(([name]) => {
354
+ const v = reply.content[name];
355
+ return v === undefined ? [] : Array.isArray(v) ? v : [v];
356
+ })),
357
+ ];
358
+ }
359
+ /** SDK-v2 2.0.0 MRTR InputRequest union excludes openai/elicitation/create. */
360
+ export function openAiFormSupport(capabilities) {
361
+ try {
362
+ json(capabilities);
363
+ const c = record(capabilities);
364
+ const e = c.extensions === undefined ? {} : record(c.extensions);
365
+ if (e['openai/elicitation'] === undefined)
366
+ return {
367
+ mode: 'application-form',
368
+ native: false,
369
+ reason: 'capability-absent',
370
+ };
371
+ const x = record(e['openai/elicitation']);
372
+ if (x.form !== undefined) {
373
+ const f = record(x.form);
374
+ if (!Object.keys(f).length)
375
+ return {
376
+ mode: 'application-form',
377
+ native: false,
378
+ reason: 'sdk-mrtr-unsupported',
379
+ };
380
+ }
381
+ }
382
+ catch { }
383
+ return {
384
+ mode: 'application-form',
385
+ native: false,
386
+ reason: 'capability-unknown',
387
+ };
388
+ }
389
+ //# sourceMappingURL=forms.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"forms.js","sourceRoot":"","sources":["../src/forms.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"mentions.d.ts","sourceRoot":"","sources":["../src/mentions.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,eAAe,EACpB,KAAK,YAAY,EACjB,KAAK,yBAAyB,EAC/B,MAAM,6BAA6B,CAAC;AAGrC,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,UAAU,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,KAAK,CAAC;QACZ,GAAG,EAAE,MAAM,CAAC;QACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;QACjB,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;KAC1B,CAAC,CAAC;CACJ;AAED,gFAAgF;AAChF,wBAAgB,uBAAuB,CACrC,UAAU,EAAE,yBAAyB,GACpC,yBAAyB,CA8E3B;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAOnD;AAED,4FAA4F;AAC5F,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,qBAAqB,EAAE,CA4C1E;AAED;;;;GAIG;AACH,wBAAsB,6BAA6B,CAAC,OAAO,EAAE;IAC3D,MAAM,EAAE,YAAY,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,SAAS,EAAE,eAAe,GAAG,IAAI,CAAC;CACnC,2DAMA"}
1
+ {"version":3,"file":"mentions.d.ts","sourceRoot":"","sources":["../src/mentions.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,eAAe,EACpB,KAAK,YAAY,EACjB,KAAK,yBAAyB,EAC/B,MAAM,6BAA6B,CAAC;AAGrC,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,UAAU,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,KAAK,CAAC;QACZ,GAAG,EAAE,MAAM,CAAC;QACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;QACjB,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;KAC1B,CAAC,CAAC;CACJ;AAED,gFAAgF;AAChF,wBAAgB,uBAAuB,CACrC,UAAU,EAAE,yBAAyB,GACpC,yBAAyB,CA8E3B;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAOnD;AAED,4FAA4F;AAC5F,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,qBAAqB,EAAE,CA6C1E;AAED;;;;GAIG;AACH,wBAAsB,6BAA6B,CAAC,OAAO,EAAE;IAC3D,MAAM,EAAE,YAAY,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,SAAS,EAAE,eAAe,GAAG,IAAI,CAAC;CACnC,2DAMA"}
package/dist/mentions.js CHANGED
@@ -89,6 +89,7 @@ export function mentionQuery(value) {
89
89
  }
90
90
  /** Native mention result is deliberately limited to resource links and resource handles. */
91
91
  export function openAiMentionItems(value) {
92
+ json(value);
92
93
  if (!Array.isArray(value) || value.length > 25)
93
94
  throw new TypeError('Too many mention items');
94
95
  return value.map((item) => {
@@ -1 +1 @@
1
- {"version":3,"file":"mentions.js","sourceRoot":"","sources":["../src/mentions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mentions.js","sourceRoot":"","sources":["../src/mentions.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,9 @@
1
1
  /** No transport or host imports: shared bounded, inert wire validation. */
2
2
  export declare const OPENAI_EXTENSIONS_REVISION = "e314720a0daac326217d1f123fcf51647868fa9f";
3
+ /** Retains the validation-only public contract; never invokes value callbacks. */
3
4
  export declare function json(value: unknown): void;
5
+ /** Copy only own enumerable data descriptors into a detached inert JSON tree. */
6
+ export declare function jsonSnapshot(value: unknown): unknown;
4
7
  export declare function record(v: unknown): Record<string, unknown>;
5
8
  export declare function text(v: unknown, max?: number): string;
6
9
  export declare function keys(v: Record<string, unknown>, allowed: readonly string[]): void;
@@ -1 +1 @@
1
- {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../src/validation.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,eAAO,MAAM,0BAA0B,6CACK,CAAC;AAC7C,wBAAgB,IAAI,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CA+BzC;AACD,wBAAgB,MAAM,CAAC,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAS1D;AACD,wBAAgB,IAAI,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,SAAO,GAAG,MAAM,CAInD;AACD,wBAAgB,IAAI,CAClB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC1B,OAAO,EAAE,SAAS,MAAM,EAAE,GACzB,IAAI,CAGN;AACD,wBAAgB,QAAQ,CAAC,CAAC,EAAE,OAAO,GAAG,MAAM,CAI3C;AACD,MAAM,MAAM,iBAAiB,GAAG,QAAQ,GAAG,YAAY,CAAC;AACxD,wBAAgB,WAAW,CAAC,CAAC,EAAE,OAAO,GAAG,iBAAiB,CAIzD;AACD,uFAAuF;AACvF,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAgCrD"}
1
+ {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../src/validation.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,eAAO,MAAM,0BAA0B,6CACK,CAAC;AAC7C,kFAAkF;AAClF,wBAAgB,IAAI,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAEzC;AACD,iFAAiF;AACjF,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAyDpD;AACD,wBAAgB,MAAM,CAAC,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAS1D;AACD,wBAAgB,IAAI,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,SAAO,GAAG,MAAM,CAInD;AACD,wBAAgB,IAAI,CAClB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC1B,OAAO,EAAE,SAAS,MAAM,EAAE,GACzB,IAAI,CAGN;AACD,wBAAgB,QAAQ,CAAC,CAAC,EAAE,OAAO,GAAG,MAAM,CAI3C;AACD,MAAM,MAAM,iBAAiB,GAAG,QAAQ,GAAG,YAAY,CAAC;AACxD,wBAAgB,WAAW,CAAC,CAAC,EAAE,OAAO,GAAG,iBAAiB,CAIzD;AACD,uFAAuF;AACvF,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAgCrD"}
@@ -1,42 +1,68 @@
1
1
  /** No transport or host imports: shared bounded, inert wire validation. */
2
2
  export const OPENAI_EXTENSIONS_REVISION = 'e314720a0daac326217d1f123fcf51647868fa9f';
3
+ /** Retains the validation-only public contract; never invokes value callbacks. */
3
4
  export function json(value) {
5
+ jsonSnapshot(value);
6
+ }
7
+ /** Copy only own enumerable data descriptors into a detached inert JSON tree. */
8
+ export function jsonSnapshot(value) {
4
9
  let remaining = 65536;
10
+ // JSON.stringify consults inherited toJSON, including on arrays. Reject a
11
+ // polluted intrinsic before inspecting or serializing any caller-owned value.
12
+ for (const prototype of [Object.prototype, Array.prototype]) {
13
+ if (Object.getOwnPropertyDescriptor(prototype, 'toJSON'))
14
+ throw new TypeError('Expected inert JSON');
15
+ }
5
16
  const visit = (v, depth) => {
6
17
  if (--remaining < 0 || depth > 16)
7
18
  throw new TypeError('Metadata exceeds limits');
8
19
  if (v === null || typeof v === 'boolean')
9
- return;
20
+ return v;
10
21
  if (typeof v === 'number' && Number.isFinite(v))
11
- return;
22
+ return v;
12
23
  if (typeof v === 'string') {
13
24
  remaining -= new TextEncoder().encode(v).length;
14
25
  if (remaining < 0)
15
26
  throw new TypeError('Metadata exceeds limits');
16
- return;
17
- }
18
- if (Array.isArray(v)) {
19
- if (v.length > 1024)
20
- throw new TypeError('Array exceeds limits');
21
- for (const item of v)
22
- visit(item, depth + 1);
23
- return;
27
+ return v;
24
28
  }
25
- const obj = record(v);
26
- const keys = Object.keys(obj);
27
- if (keys.length > 256)
28
- throw new TypeError('Object exceeds limits');
29
- for (const key of keys) {
30
- if (['__proto__', 'constructor', 'prototype'].includes(key))
29
+ const array = Array.isArray(v);
30
+ const obj = array ? v : record(v);
31
+ if (array && Object.getPrototypeOf(obj) !== Array.prototype)
32
+ throw new TypeError('Expected plain array');
33
+ const descriptors = Object.getOwnPropertyDescriptors(obj);
34
+ const names = Reflect.ownKeys(descriptors);
35
+ const length = array
36
+ ? Object.getOwnPropertyDescriptor(obj, 'length')?.value
37
+ : 0;
38
+ if (array ? length > 1024 || names.length !== length + 1 : names.length > 256)
39
+ throw new TypeError('JSON collection exceeds limits');
40
+ const result = array
41
+ ? []
42
+ : Object.create(null);
43
+ for (const key of names) {
44
+ if (array && key === 'length')
45
+ continue;
46
+ if (typeof key !== 'string' ||
47
+ ['__proto__', 'constructor', 'prototype'].includes(key))
31
48
  throw new TypeError('Unsafe key');
32
- const descriptor = Object.getOwnPropertyDescriptor(obj, key);
33
- if (!descriptor || !('value' in descriptor))
49
+ const descriptor = descriptors[key];
50
+ if (!descriptor.enumerable || !('value' in descriptor))
34
51
  throw new TypeError('Expected inert JSON');
35
- visit(key, depth + 1);
36
- visit(descriptor.value, depth + 1);
52
+ if (array && (!/^(0|[1-9][0-9]*)$/.test(key) || Number(key) >= length))
53
+ throw new TypeError('Expected array indices');
54
+ if (!array)
55
+ visit(key, depth + 1);
56
+ Object.defineProperty(result, key, {
57
+ value: visit(descriptor.value, depth + 1),
58
+ enumerable: true,
59
+ writable: true,
60
+ configurable: true,
61
+ });
37
62
  }
63
+ return result;
38
64
  };
39
- visit(value, 0);
65
+ return visit(value, 0);
40
66
  }
41
67
  export function record(v) {
42
68
  if (!v ||
@@ -1 +1 @@
1
- {"version":3,"file":"validation.js","sourceRoot":"","sources":["../src/validation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validation.js","sourceRoot":"","sources":["../src/validation.ts"],"names":[],"mappings":"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"}