@dainprotocol/service-sdk 2.0.63 → 2.0.65

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 (84) hide show
  1. package/dist/__tests__/api-sdk.test.d.ts +1 -0
  2. package/dist/__tests__/api-sdk.test.js +102 -0
  3. package/dist/__tests__/api-sdk.test.js.map +1 -0
  4. package/dist/__tests__/auth.test.d.ts +1 -0
  5. package/dist/__tests__/auth.test.js +110 -0
  6. package/dist/__tests__/auth.test.js.map +1 -0
  7. package/dist/__tests__/citations-plugin.test.d.ts +1 -0
  8. package/dist/__tests__/citations-plugin.test.js +491 -0
  9. package/dist/__tests__/citations-plugin.test.js.map +1 -0
  10. package/dist/__tests__/context-behavior.test.d.ts +1 -0
  11. package/dist/__tests__/context-behavior.test.js +290 -0
  12. package/dist/__tests__/context-behavior.test.js.map +1 -0
  13. package/dist/__tests__/convertToVercelTool.test.d.ts +1 -0
  14. package/dist/__tests__/convertToVercelTool.test.js +527 -0
  15. package/dist/__tests__/convertToVercelTool.test.js.map +1 -0
  16. package/dist/__tests__/core.test.d.ts +1 -0
  17. package/dist/__tests__/core.test.js +154 -0
  18. package/dist/__tests__/core.test.js.map +1 -0
  19. package/dist/__tests__/crypto-plugin.test.d.ts +1 -0
  20. package/dist/__tests__/crypto-plugin.test.js +694 -0
  21. package/dist/__tests__/crypto-plugin.test.js.map +1 -0
  22. package/dist/__tests__/humanActions.test.d.ts +1 -0
  23. package/dist/__tests__/humanActions.test.js +221 -0
  24. package/dist/__tests__/humanActions.test.js.map +1 -0
  25. package/dist/__tests__/integration.test.d.ts +1 -0
  26. package/dist/__tests__/integration.test.js +1573 -0
  27. package/dist/__tests__/integration.test.js.map +1 -0
  28. package/dist/__tests__/mealMeSchemas.test.d.ts +576 -0
  29. package/dist/__tests__/mealMeSchemas.test.js +627 -0
  30. package/dist/__tests__/mealMeSchemas.test.js.map +1 -0
  31. package/dist/__tests__/oauth-context-simple.test.d.ts +1 -0
  32. package/dist/__tests__/oauth-context-simple.test.js +90 -0
  33. package/dist/__tests__/oauth-context-simple.test.js.map +1 -0
  34. package/dist/__tests__/oauth-context.test.d.ts +1 -0
  35. package/dist/__tests__/oauth-context.test.js +282 -0
  36. package/dist/__tests__/oauth-context.test.js.map +1 -0
  37. package/dist/__tests__/oauth.test.d.ts +1 -0
  38. package/dist/__tests__/oauth.test.js +378 -0
  39. package/dist/__tests__/oauth.test.js.map +1 -0
  40. package/dist/__tests__/oauth2-client-context.test.d.ts +1 -0
  41. package/dist/__tests__/oauth2-client-context.test.js +165 -0
  42. package/dist/__tests__/oauth2-client-context.test.js.map +1 -0
  43. package/dist/__tests__/oauth2-client-integration.test.d.ts +1 -0
  44. package/dist/__tests__/oauth2-client-integration.test.js +182 -0
  45. package/dist/__tests__/oauth2-client-integration.test.js.map +1 -0
  46. package/dist/__tests__/oauth2-client-simple.test.d.ts +1 -0
  47. package/dist/__tests__/oauth2-client-simple.test.js +144 -0
  48. package/dist/__tests__/oauth2-client-simple.test.js.map +1 -0
  49. package/dist/__tests__/oauth2-context.test.d.ts +1 -0
  50. package/dist/__tests__/oauth2-context.test.js +201 -0
  51. package/dist/__tests__/oauth2-context.test.js.map +1 -0
  52. package/dist/__tests__/oauth2-datasource.test.d.ts +1 -0
  53. package/dist/__tests__/oauth2-datasource.test.js +251 -0
  54. package/dist/__tests__/oauth2-datasource.test.js.map +1 -0
  55. package/dist/__tests__/plugin.test.d.ts +1 -0
  56. package/dist/__tests__/plugin.test.js +900 -0
  57. package/dist/__tests__/plugin.test.js.map +1 -0
  58. package/dist/__tests__/processes.test.d.ts +1 -0
  59. package/dist/__tests__/processes.test.js +239 -0
  60. package/dist/__tests__/processes.test.js.map +1 -0
  61. package/dist/__tests__/streaming.test.d.ts +1 -0
  62. package/dist/__tests__/streaming.test.js +592 -0
  63. package/dist/__tests__/streaming.test.js.map +1 -0
  64. package/dist/__tests__/testEnums.d.ts +1 -0
  65. package/dist/__tests__/testEnums.js +73 -0
  66. package/dist/__tests__/testEnums.js.map +1 -0
  67. package/dist/__tests__/testOptionals.test.d.ts +1 -0
  68. package/dist/__tests__/testOptionals.test.js +83 -0
  69. package/dist/__tests__/testOptionals.test.js.map +1 -0
  70. package/dist/__tests__/types.test.d.ts +1 -0
  71. package/dist/__tests__/types.test.js +98 -0
  72. package/dist/__tests__/types.test.js.map +1 -0
  73. package/dist/client/client.d.ts +2 -1
  74. package/dist/client/client.js +6 -13
  75. package/dist/client/client.js.map +1 -1
  76. package/dist/lib/schemaStructure.d.ts +21 -2
  77. package/dist/lib/schemaStructure.js +298 -76
  78. package/dist/lib/schemaStructure.js.map +1 -1
  79. package/dist/service/server.js +26 -3
  80. package/dist/service/server.js.map +1 -1
  81. package/dist/service/zod-json-converter.d.ts +14 -0
  82. package/dist/service/zod-json-converter.js +203 -0
  83. package/dist/service/zod-json-converter.js.map +1 -0
  84. package/package.json +10 -11
@@ -8,7 +8,6 @@ Object.defineProperty(exports, "getSchemaTypeName", { enumerable: true, get: fun
8
8
  Object.defineProperty(exports, "getDetailedSchemaStructure", { enumerable: true, get: function () { return schemaConversion_1.zodToJson; } });
9
9
  /**
10
10
  * Convert Zod schema to JSON Schema format (compatible with Claude API)
11
- * Note: Claude API doesn't support oneOf/anyOf/allOf at top level of input_schema
12
11
  */
13
12
  function zodToJsonSchema(schema) {
14
13
  const result = zodToJsonSchemaInternal(schema);
@@ -23,6 +22,9 @@ function zodToJsonSchema(schema) {
23
22
  }
24
23
  return result;
25
24
  }
25
+ /**
26
+ * Internal recursive converter
27
+ */
26
28
  function zodToJsonSchemaInternal(schema) {
27
29
  const typeName = (0, schemaConversion_1.getZodTypeName)(schema);
28
30
  const baseInfo = {};
@@ -37,11 +39,8 @@ function zodToJsonSchemaInternal(schema) {
37
39
  for (const [key, value] of Object.entries(shape)) {
38
40
  const fieldSchema = value;
39
41
  properties[key] = zodToJsonSchemaInternal(fieldSchema);
40
- // Check if required (not optional/nullable/default)
41
42
  const fieldType = (0, schemaConversion_1.getZodTypeName)(fieldSchema);
42
- if (fieldType !== 'ZodOptional' &&
43
- fieldType !== 'ZodNullable' &&
44
- fieldType !== 'ZodDefault') {
43
+ if (fieldType !== 'ZodOptional' && fieldType !== 'ZodNullable' && fieldType !== 'ZodDefault') {
45
44
  required.push(key);
46
45
  }
47
46
  }
@@ -53,6 +52,7 @@ function zodToJsonSchemaInternal(schema) {
53
52
  };
54
53
  }
55
54
  case "ZodArray": {
55
+ // Zod 4: .element is public property
56
56
  const element = schema.element;
57
57
  return {
58
58
  type: 'array',
@@ -61,26 +61,41 @@ function zodToJsonSchemaInternal(schema) {
61
61
  };
62
62
  }
63
63
  case "ZodEnum": {
64
- const values = schema.options;
64
+ // Zod 4: .options is public property returning string array
65
+ const zodEnum = schema;
65
66
  return {
66
67
  type: 'string',
68
+ enum: [...zodEnum.options],
69
+ ...baseInfo,
70
+ };
71
+ }
72
+ case "ZodNativeEnum": {
73
+ // Zod 4: _def.entries contains the enum object
74
+ const def = schema._def;
75
+ const entries = def.entries || {};
76
+ // Filter out reverse mappings (numeric enums have both "0": "Name" and "Name": 0)
77
+ const values = Object.entries(entries)
78
+ .filter(([key, val]) => typeof val === 'string' || typeof key !== 'number' && isNaN(Number(key)))
79
+ .map(([, val]) => val);
80
+ return {
81
+ type: values.length > 0 && values.every(v => typeof v === 'number') ? 'number' : 'string',
67
82
  enum: values,
68
83
  ...baseInfo,
69
84
  };
70
85
  }
71
86
  case "ZodUnion": {
72
- const options = schema.options;
73
- // Check if all options are simple primitive types
87
+ // Zod 4: .options is public property
88
+ const zodUnion = schema;
89
+ const options = zodUnion.options || [];
90
+ // Simple primitive union -> type array
74
91
  const allPrimitives = options.every((opt) => {
75
92
  const tn = (0, schemaConversion_1.getZodTypeName)(opt);
76
93
  return tn === 'ZodString' || tn === 'ZodNumber' || tn === 'ZodBoolean';
77
94
  });
78
- if (allPrimitives) {
79
- // For simple type unions, use type: ["string", "number"] format
95
+ if (allPrimitives && options.length > 0) {
80
96
  const types = options.map((opt) => zodToJsonSchemaInternal(opt).type);
81
97
  return { type: types, ...baseInfo };
82
98
  }
83
- // For complex unions, fall back to oneOf
84
99
  return {
85
100
  oneOf: options.map((opt) => zodToJsonSchemaInternal(opt)),
86
101
  ...baseInfo,
@@ -89,45 +104,53 @@ function zodToJsonSchemaInternal(schema) {
89
104
  case "ZodOptional":
90
105
  case "ZodNullable":
91
106
  case "ZodDefault": {
92
- const innerType = schema._def.innerType;
93
- const innerSchema = zodToJsonSchemaInternal(innerType);
94
- if (baseInfo.description && !innerSchema.description) {
95
- innerSchema.description = baseInfo.description;
107
+ // Unwrap to inner type
108
+ const def = schema._def;
109
+ if (def.innerType) {
110
+ const innerSchema = zodToJsonSchemaInternal(def.innerType);
111
+ if (baseInfo.description && !innerSchema.description) {
112
+ innerSchema.description = baseInfo.description;
113
+ }
114
+ return innerSchema;
96
115
  }
97
- return innerSchema;
116
+ return baseInfo;
98
117
  }
99
118
  case "ZodString":
100
119
  return { type: 'string', ...baseInfo };
101
120
  case "ZodNumber": {
102
- const numSchema = schema;
121
+ // Zod 4: direct properties for constraints
122
+ const num = schema;
103
123
  const result = { type: 'number', ...baseInfo };
104
- if (numSchema.isInt) {
124
+ if (num.isInt) {
105
125
  result.type = 'integer';
106
126
  }
107
- const checks = numSchema._def.checks || [];
108
- for (const check of checks) {
109
- const checkDef = check._zod?.def || check;
110
- const checkType = checkDef.check || check.kind;
111
- if (checkType === 'greater_than' || checkType === 'min') {
112
- result.minimum = checkDef.value ?? check.value;
113
- }
114
- else if (checkType === 'less_than' || checkType === 'max') {
115
- result.maximum = checkDef.value ?? check.value;
116
- }
117
- else if (checkType === 'number_format' && checkDef.format === 'safeint') {
118
- result.type = 'integer';
119
- }
127
+ // Only include meaningful bounds (not Infinity or safe int defaults for integers)
128
+ const minVal = num.minValue;
129
+ const maxVal = num.maxValue;
130
+ const SAFE_MIN = Number.MIN_SAFE_INTEGER;
131
+ const SAFE_MAX = Number.MAX_SAFE_INTEGER;
132
+ if (typeof minVal === 'number' && minVal !== -Infinity && !(num.isInt && minVal === SAFE_MIN)) {
133
+ result.minimum = minVal;
134
+ }
135
+ if (typeof maxVal === 'number' && maxVal !== Infinity && !(num.isInt && maxVal === SAFE_MAX)) {
136
+ result.maximum = maxVal;
120
137
  }
121
138
  return result;
122
139
  }
123
140
  case "ZodBoolean":
124
141
  return { type: 'boolean', ...baseInfo };
125
142
  case "ZodLiteral": {
126
- const value = schema.value;
127
- return { type: typeof value, const: value, ...baseInfo };
143
+ const lit = schema;
144
+ const valueType = typeof lit.value;
145
+ return {
146
+ type: valueType === 'object' ? 'object' : valueType,
147
+ const: lit.value,
148
+ ...baseInfo,
149
+ };
128
150
  }
129
151
  case "ZodTuple": {
130
- const items = schema._def.items;
152
+ const def = schema._def;
153
+ const items = def.items || [];
131
154
  return {
132
155
  type: 'array',
133
156
  items: items.map((item) => zodToJsonSchemaInternal(item)),
@@ -135,62 +158,261 @@ function zodToJsonSchemaInternal(schema) {
135
158
  };
136
159
  }
137
160
  case "ZodIntersection": {
138
- const left = schema._def.left;
139
- const right = schema._def.right;
161
+ const def = schema._def;
162
+ const schemas = [];
163
+ if (def.left)
164
+ schemas.push(zodToJsonSchemaInternal(def.left));
165
+ if (def.right)
166
+ schemas.push(zodToJsonSchemaInternal(def.right));
167
+ return schemas.length > 0 ? { allOf: schemas, ...baseInfo } : baseInfo;
168
+ }
169
+ case "ZodRecord": {
170
+ const def = schema._def;
140
171
  return {
141
- allOf: [zodToJsonSchemaInternal(left), zodToJsonSchemaInternal(right)],
172
+ type: 'object',
173
+ additionalProperties: def.valueType ? zodToJsonSchemaInternal(def.valueType) : true,
142
174
  ...baseInfo,
143
175
  };
144
176
  }
145
- case "ZodDiscriminatedUnion": {
146
- const duDef = schema._def;
147
- const options = Array.isArray(duDef.options)
148
- ? duDef.options
149
- : Array.from(duDef.options.values());
150
- // Convert to merged object schema for AI SDK compatibility
151
- const mergedProperties = {};
152
- const allRequired = new Set();
153
- // Add discriminator field as required enum
154
- mergedProperties[duDef.discriminator] = {
155
- type: 'string',
156
- enum: options.map((opt) => {
157
- const optSchema = zodToJsonSchemaInternal(opt);
158
- return optSchema.properties?.[duDef.discriminator]?.const ||
159
- optSchema.properties?.[duDef.discriminator]?.enum?.[0];
160
- }).filter(Boolean),
161
- description: `Discriminator field for union type`
177
+ case "ZodMap": {
178
+ const def = schema._def;
179
+ return {
180
+ type: 'array',
181
+ items: {
182
+ type: 'array',
183
+ items: [
184
+ def.keyType ? zodToJsonSchemaInternal(def.keyType) : { type: 'string' },
185
+ def.valueType ? zodToJsonSchemaInternal(def.valueType) : {},
186
+ ],
187
+ },
188
+ ...baseInfo,
162
189
  };
163
- allRequired.add(duDef.discriminator);
164
- // Merge all properties from all options
165
- for (const option of options) {
166
- const optSchema = zodToJsonSchemaInternal(option);
167
- if (optSchema.properties) {
168
- for (const [key, value] of Object.entries(optSchema.properties)) {
169
- if (key === duDef.discriminator)
170
- continue;
171
- if (!mergedProperties[key]) {
172
- mergedProperties[key] = value;
173
- }
174
- }
175
- }
176
- }
190
+ }
191
+ case "ZodSet": {
192
+ const def = schema._def;
177
193
  return {
178
- type: 'object',
179
- properties: mergedProperties,
180
- required: Array.from(allRequired),
194
+ type: 'array',
195
+ items: def.valueType ? zodToJsonSchemaInternal(def.valueType) : {},
181
196
  ...baseInfo,
182
197
  };
183
198
  }
199
+ case "ZodDate":
200
+ return { type: 'string', format: 'date-time', ...baseInfo };
201
+ case "ZodBigInt":
202
+ return { type: 'string', format: 'int64', ...baseInfo };
203
+ case "ZodAny":
204
+ case "ZodUnknown":
205
+ return { ...baseInfo };
206
+ case "ZodVoid":
207
+ case "ZodUndefined":
208
+ case "ZodNull":
209
+ return { type: 'null', ...baseInfo };
210
+ case "ZodNever":
211
+ return { ...baseInfo };
212
+ case "ZodDiscriminatedUnion":
213
+ return handleDiscriminatedUnion(schema, baseInfo);
184
214
  case "ZodEffects": {
185
- const innerType = schema._def.schema;
186
- const innerSchema = zodToJsonSchemaInternal(innerType);
187
- if (baseInfo.description && !innerSchema.description) {
188
- innerSchema.description = baseInfo.description;
215
+ const def = schema._def;
216
+ if (def.schema) {
217
+ const innerSchema = zodToJsonSchemaInternal(def.schema);
218
+ if (baseInfo.description && !innerSchema.description) {
219
+ innerSchema.description = baseInfo.description;
220
+ }
221
+ return innerSchema;
222
+ }
223
+ return baseInfo;
224
+ }
225
+ case "ZodLazy": {
226
+ const def = schema._def;
227
+ if (def.getter) {
228
+ return zodToJsonSchemaInternal(def.getter());
189
229
  }
190
- return innerSchema;
230
+ return baseInfo;
231
+ }
232
+ case "ZodBranded": {
233
+ const def = schema._def;
234
+ return def.type ? zodToJsonSchemaInternal(def.type) : baseInfo;
235
+ }
236
+ case "ZodCatch": {
237
+ const def = schema._def;
238
+ return def.innerType ? zodToJsonSchemaInternal(def.innerType) : baseInfo;
239
+ }
240
+ case "ZodPipeline": {
241
+ const def = schema._def;
242
+ return def.in ? zodToJsonSchemaInternal(def.in) : baseInfo;
243
+ }
244
+ case "ZodReadonly": {
245
+ const def = schema._def;
246
+ return def.innerType ? zodToJsonSchemaInternal(def.innerType) : baseInfo;
247
+ }
248
+ case "ZodPromise": {
249
+ const def = schema._def;
250
+ return def.type ? zodToJsonSchemaInternal(def.type) : baseInfo;
191
251
  }
192
252
  default:
193
253
  return baseInfo;
194
254
  }
195
255
  }
256
+ /**
257
+ * Handle discriminated union with intelligent property merging
258
+ */
259
+ function handleDiscriminatedUnion(schema, baseInfo) {
260
+ const def = schema._def;
261
+ const discriminator = def.discriminator;
262
+ if (!discriminator)
263
+ return baseInfo;
264
+ // Handle both array and Map options
265
+ const rawOptions = def.options;
266
+ const options = !rawOptions ? [] :
267
+ Array.isArray(rawOptions) ? rawOptions : Array.from(rawOptions.values());
268
+ if (options.length === 0)
269
+ return baseInfo;
270
+ const mergedProperties = {};
271
+ // Collect discriminator values
272
+ const discriminatorValues = [];
273
+ for (const option of options) {
274
+ const optSchema = zodToJsonSchemaInternal(option);
275
+ const discProp = optSchema.properties?.[discriminator];
276
+ const discValue = discProp?.const || discProp?.enum?.[0];
277
+ if (discValue && !discriminatorValues.includes(discValue)) {
278
+ discriminatorValues.push(discValue);
279
+ }
280
+ }
281
+ mergedProperties[discriminator] = {
282
+ type: 'string',
283
+ enum: discriminatorValues,
284
+ description: 'Discriminator field for union type',
285
+ };
286
+ // Merge properties from all branches
287
+ for (const option of options) {
288
+ const optSchema = zodToJsonSchemaInternal(option);
289
+ const props = optSchema.properties;
290
+ if (!props)
291
+ continue;
292
+ for (const [key, value] of Object.entries(props)) {
293
+ if (key === discriminator)
294
+ continue;
295
+ if (!mergedProperties[key]) {
296
+ mergedProperties[key] = deepClone(value);
297
+ }
298
+ else {
299
+ mergedProperties[key] = mergeProperties(mergedProperties[key], value);
300
+ }
301
+ }
302
+ }
303
+ return {
304
+ type: 'object',
305
+ properties: mergedProperties,
306
+ required: [discriminator],
307
+ ...baseInfo,
308
+ };
309
+ }
310
+ /**
311
+ * Deep clone for JSON-serializable objects
312
+ */
313
+ function deepClone(obj) {
314
+ if (obj === null || typeof obj !== 'object')
315
+ return obj;
316
+ if (Array.isArray(obj))
317
+ return obj.map(deepClone);
318
+ const result = {};
319
+ for (const key of Object.keys(obj)) {
320
+ result[key] = deepClone(obj[key]);
321
+ }
322
+ return result;
323
+ }
324
+ /**
325
+ * Merge two JSON Schema properties intelligently
326
+ */
327
+ function mergeProperties(existing, incoming) {
328
+ // Both have enums -> merge values
329
+ if (existing.enum && incoming.enum) {
330
+ return {
331
+ ...existing,
332
+ enum: mergeArraysUnique(existing.enum, incoming.enum),
333
+ description: existing.description || incoming.description,
334
+ };
335
+ }
336
+ // Both have oneOf -> merge options
337
+ if (existing.oneOf && incoming.oneOf) {
338
+ return {
339
+ ...existing,
340
+ oneOf: mergeArraysUnique(existing.oneOf, incoming.oneOf, jsonEqual),
341
+ };
342
+ }
343
+ // Existing has anyOf -> add if not duplicate
344
+ if (existing.anyOf) {
345
+ if (!existing.anyOf.some(e => jsonEqual(e, incoming))) {
346
+ return { ...existing, anyOf: [...existing.anyOf, deepClone(incoming)] };
347
+ }
348
+ return existing;
349
+ }
350
+ // Different types or mixed enum/non-enum -> anyOf
351
+ if (existing.type !== incoming.type || (existing.enum && !incoming.enum) || (!existing.enum && incoming.enum)) {
352
+ return {
353
+ anyOf: [deepClone(existing), deepClone(incoming)],
354
+ description: existing.description || incoming.description,
355
+ };
356
+ }
357
+ // Same type -> merge constraints
358
+ if (existing.type === incoming.type) {
359
+ const merged = { ...existing };
360
+ // Widen numeric constraints
361
+ if (typeof incoming.minimum === 'number') {
362
+ merged.minimum = typeof existing.minimum === 'number' ? Math.min(existing.minimum, incoming.minimum) : incoming.minimum;
363
+ }
364
+ if (typeof incoming.maximum === 'number') {
365
+ merged.maximum = typeof existing.maximum === 'number' ? Math.max(existing.maximum, incoming.maximum) : incoming.maximum;
366
+ }
367
+ merged.description = existing.description || incoming.description;
368
+ // Merge array items
369
+ if (existing.type === 'array' && existing.items && incoming.items &&
370
+ !Array.isArray(existing.items) && !Array.isArray(incoming.items)) {
371
+ merged.items = mergeProperties(existing.items, incoming.items);
372
+ }
373
+ // Merge object properties
374
+ if (existing.type === 'object' && existing.properties && incoming.properties) {
375
+ merged.properties = { ...existing.properties };
376
+ for (const [key, val] of Object.entries(incoming.properties)) {
377
+ merged.properties[key] = merged.properties[key]
378
+ ? mergeProperties(merged.properties[key], val)
379
+ : deepClone(val);
380
+ }
381
+ }
382
+ return merged;
383
+ }
384
+ return existing;
385
+ }
386
+ /**
387
+ * Merge arrays with unique values
388
+ */
389
+ function mergeArraysUnique(arr1, arr2, equalFn) {
390
+ const result = [...arr1];
391
+ for (const item of arr2) {
392
+ const exists = equalFn ? result.some(e => equalFn(e, item)) : result.includes(item);
393
+ if (!exists)
394
+ result.push(item);
395
+ }
396
+ return result;
397
+ }
398
+ /**
399
+ * Deep equality check for JSON objects
400
+ */
401
+ function jsonEqual(a, b) {
402
+ if (a === b)
403
+ return true;
404
+ if (typeof a !== typeof b || typeof a !== 'object' || a === null || b === null)
405
+ return false;
406
+ if (Array.isArray(a) !== Array.isArray(b))
407
+ return false;
408
+ if (Array.isArray(a)) {
409
+ const bArr = b;
410
+ return a.length === bArr.length && a.every((v, i) => jsonEqual(v, bArr[i]));
411
+ }
412
+ const aObj = a;
413
+ const bObj = b;
414
+ const aKeys = Object.keys(aObj);
415
+ const bKeys = Object.keys(bObj);
416
+ return aKeys.length === bKeys.length && aKeys.every(k => bKeys.includes(k) && jsonEqual(aObj[k], bObj[k]));
417
+ }
196
418
  //# sourceMappingURL=schemaStructure.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"schemaStructure.js","sourceRoot":"","sources":["../../src/lib/schemaStructure.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schemaStructure.js","sourceRoot":"","sources":["../../src/lib/schemaStructure.ts"],"names":[],"mappings":";AAAA,kCAAkC;;;AAmClC,0CAcC;AA9CD,yDAAiF;AAGtD,kGAHlB,iCAAc,OAGqB;AAAe,2GAHlC,4BAAS,OAGmD;AA0BrF;;GAEG;AACH,SAAgB,eAAe,CAAC,MAAkB;IAChD,MAAM,MAAM,GAAG,uBAAuB,CAAC,MAAM,CAAC,CAAC;IAE/C,+DAA+D;IAC/D,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QACjD,OAAO;YACL,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE;YAC7B,QAAQ,EAAE,CAAC,OAAO,CAAC;YACnB,GAAG,CAAC,MAAM,CAAC,WAAW,IAAI,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC;SAC/D,CAAC;IACJ,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,SAAS,uBAAuB,CAAC,MAAkB;IACjD,MAAM,QAAQ,GAAG,IAAA,iCAAc,EAAC,MAAM,CAAC,CAAC;IACxC,MAAM,QAAQ,GAAuB,EAAE,CAAC;IAExC,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;QACvB,QAAQ,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;IAC5C,CAAC;IAED,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,WAAW,CAAC,CAAC,CAAC;YACjB,MAAM,KAAK,GAAI,MAAqC,CAAC,KAAK,CAAC;YAC3D,MAAM,UAAU,GAAuC,EAAE,CAAC;YAC1D,MAAM,QAAQ,GAAa,EAAE,CAAC;YAE9B,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBACjD,MAAM,WAAW,GAAG,KAAmB,CAAC;gBACxC,UAAU,CAAC,GAAG,CAAC,GAAG,uBAAuB,CAAC,WAAW,CAAC,CAAC;gBAEvD,MAAM,SAAS,GAAG,IAAA,iCAAc,EAAC,WAAW,CAAC,CAAC;gBAC9C,IAAI,SAAS,KAAK,aAAa,IAAI,SAAS,KAAK,aAAa,IAAI,SAAS,KAAK,YAAY,EAAE,CAAC;oBAC7F,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACrB,CAAC;YACH,CAAC;YAED,OAAO;gBACL,IAAI,EAAE,QAAQ;gBACd,UAAU;gBACV,GAAG,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC;gBACxC,GAAG,QAAQ;aACZ,CAAC;QACJ,CAAC;QAED,KAAK,UAAU,CAAC,CAAC,CAAC;YAChB,qCAAqC;YACrC,MAAM,OAAO,GAAI,MAAiC,CAAC,OAAO,CAAC;YAC3D,OAAO;gBACL,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,uBAAuB,CAAC,OAAO,CAAC;gBACvC,GAAG,QAAQ;aACZ,CAAC;QACJ,CAAC;QAED,KAAK,SAAS,CAAC,CAAC,CAAC;YACf,4DAA4D;YAC5D,MAAM,OAAO,GAAG,MAAmD,CAAC;YACpE,OAAO;gBACL,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;gBAC1B,GAAG,QAAQ;aACZ,CAAC;QACJ,CAAC;QAED,KAAK,eAAe,CAAC,CAAC,CAAC;YACrB,+CAA+C;YAC/C,MAAM,GAAG,GAAI,MAA4E,CAAC,IAAI,CAAC;YAC/F,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC;YAClC,kFAAkF;YAClF,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC;iBACnC,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,OAAO,GAAG,KAAK,QAAQ,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;iBAChG,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;YACzB,OAAO;gBACL,IAAI,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ;gBACzF,IAAI,EAAE,MAA6B;gBACnC,GAAG,QAAQ;aACZ,CAAC;QACJ,CAAC;QAED,KAAK,UAAU,CAAC,CAAC,CAAC;YAChB,qCAAqC;YACrC,MAAM,QAAQ,GAAG,MAA8C,CAAC;YAChE,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,IAAI,EAAE,CAAC;YAEvC,uCAAuC;YACvC,MAAM,aAAa,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;gBAC1C,MAAM,EAAE,GAAG,IAAA,iCAAc,EAAC,GAAG,CAAC,CAAC;gBAC/B,OAAO,EAAE,KAAK,WAAW,IAAI,EAAE,KAAK,WAAW,IAAI,EAAE,KAAK,YAAY,CAAC;YACzE,CAAC,CAAC,CAAC;YAEH,IAAI,aAAa,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxC,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,uBAAuB,CAAC,GAAG,CAAC,CAAC,IAAc,CAAC,CAAC;gBAChF,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,QAAQ,EAAE,CAAC;YACtC,CAAC;YAED,OAAO;gBACL,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,uBAAuB,CAAC,GAAG,CAAC,CAAC;gBACzD,GAAG,QAAQ;aACZ,CAAC;QACJ,CAAC;QAED,KAAK,aAAa,CAAC;QACnB,KAAK,aAAa,CAAC;QACnB,KAAK,YAAY,CAAC,CAAC,CAAC;YAClB,uBAAuB;YACvB,MAAM,GAAG,GAAI,MAA0D,CAAC,IAAI,CAAC;YAC7E,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;gBAClB,MAAM,WAAW,GAAG,uBAAuB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBAC3D,IAAI,QAAQ,CAAC,WAAW,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;oBACrD,WAAW,CAAC,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAC;gBACjD,CAAC;gBACD,OAAO,WAAW,CAAC;YACrB,CAAC;YACD,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,KAAK,WAAW;YACd,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,QAAQ,EAAE,CAAC;QAEzC,KAAK,WAAW,CAAC,CAAC,CAAC;YACjB,2CAA2C;YAC3C,MAAM,GAAG,GAAG,MAA8E,CAAC;YAC3F,MAAM,MAAM,GAAuB,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,QAAQ,EAAE,CAAC;YAEnE,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;gBACd,MAAM,CAAC,IAAI,GAAG,SAAS,CAAC;YAC1B,CAAC;YAED,kFAAkF;YAClF,MAAM,MAAM,GAAG,GAAG,CAAC,QAAQ,CAAC;YAC5B,MAAM,MAAM,GAAG,GAAG,CAAC,QAAQ,CAAC;YAC5B,MAAM,QAAQ,GAAG,MAAM,CAAC,gBAAgB,CAAC;YACzC,MAAM,QAAQ,GAAG,MAAM,CAAC,gBAAgB,CAAC;YAEzC,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,CAAC,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,IAAI,MAAM,KAAK,QAAQ,CAAC,EAAE,CAAC;gBAC9F,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC;YAC1B,CAAC;YACD,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,IAAI,MAAM,KAAK,QAAQ,CAAC,EAAE,CAAC;gBAC7F,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC;YAC1B,CAAC;YAED,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,KAAK,YAAY;YACf,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,QAAQ,EAAE,CAAC;QAE1C,KAAK,YAAY,CAAC,CAAC,CAAC;YAClB,MAAM,GAAG,GAAG,MAAiD,CAAC;YAC9D,MAAM,SAAS,GAAG,OAAO,GAAG,CAAC,KAAK,CAAC;YACnC,OAAO;gBACL,IAAI,EAAE,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;gBACnD,KAAK,EAAE,GAAG,CAAC,KAAK;gBAChB,GAAG,QAAQ;aACZ,CAAC;QACJ,CAAC;QAED,KAAK,UAAU,CAAC,CAAC,CAAC;YAChB,MAAM,GAAG,GAAI,MAAwD,CAAC,IAAI,CAAC;YAC3E,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC;YAC9B,OAAO;gBACL,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;gBACzD,GAAG,QAAQ;aACZ,CAAC;QACJ,CAAC;QAED,KAAK,iBAAiB,CAAC,CAAC,CAAC;YACvB,MAAM,GAAG,GAAI,MAAyE,CAAC,IAAI,CAAC;YAC5F,MAAM,OAAO,GAAyB,EAAE,CAAC;YACzC,IAAI,GAAG,CAAC,IAAI;gBAAE,OAAO,CAAC,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;YAC9D,IAAI,GAAG,CAAC,KAAK;gBAAE,OAAO,CAAC,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;YAChE,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,QAAQ,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;QACzE,CAAC;QAED,KAAK,WAAW,CAAC,CAAC,CAAC;YACjB,MAAM,GAAG,GAAI,MAA0D,CAAC,IAAI,CAAC;YAC7E,OAAO;gBACL,IAAI,EAAE,QAAQ;gBACd,oBAAoB,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,uBAAuB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI;gBACnF,GAAG,QAAQ;aACZ,CAAC;QACJ,CAAC;QAED,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,MAAM,GAAG,GAAI,MAAgF,CAAC,IAAI,CAAC;YACnG,OAAO;gBACL,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE;oBACL,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE;wBACL,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,uBAAuB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;wBACvE,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,uBAAuB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE;qBAC5D;iBACF;gBACD,GAAG,QAAQ;aACZ,CAAC;QACJ,CAAC;QAED,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,MAAM,GAAG,GAAI,MAA0D,CAAC,IAAI,CAAC;YAC7E,OAAO;gBACL,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,uBAAuB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE;gBAClE,GAAG,QAAQ;aACZ,CAAC;QACJ,CAAC;QAED,KAAK,SAAS;YACZ,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,QAAQ,EAAE,CAAC;QAE9D,KAAK,WAAW;YACd,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,QAAQ,EAAE,CAAC;QAE1D,KAAK,QAAQ,CAAC;QACd,KAAK,YAAY;YACf,OAAO,EAAE,GAAG,QAAQ,EAAE,CAAC;QAEzB,KAAK,SAAS,CAAC;QACf,KAAK,cAAc,CAAC;QACpB,KAAK,SAAS;YACZ,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,QAAQ,EAAE,CAAC;QAEvC,KAAK,UAAU;YACb,OAAO,EAAE,GAAG,QAAQ,EAAE,CAAC;QAEzB,KAAK,uBAAuB;YAC1B,OAAO,wBAAwB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAEpD,KAAK,YAAY,CAAC,CAAC,CAAC;YAClB,MAAM,GAAG,GAAI,MAAuD,CAAC,IAAI,CAAC;YAC1E,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;gBACf,MAAM,WAAW,GAAG,uBAAuB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBACxD,IAAI,QAAQ,CAAC,WAAW,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;oBACrD,WAAW,CAAC,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAC;gBACjD,CAAC;gBACD,OAAO,WAAW,CAAC;YACrB,CAAC;YACD,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,KAAK,SAAS,CAAC,CAAC,CAAC;YACf,MAAM,GAAG,GAAI,MAA6D,CAAC,IAAI,CAAC;YAChF,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;gBACf,OAAO,uBAAuB,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;YAC/C,CAAC;YACD,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,KAAK,YAAY,CAAC,CAAC,CAAC;YAClB,MAAM,GAAG,GAAI,MAAqD,CAAC,IAAI,CAAC;YACxE,OAAO,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,uBAAuB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;QACjE,CAAC;QAED,KAAK,UAAU,CAAC,CAAC,CAAC;YAChB,MAAM,GAAG,GAAI,MAA0D,CAAC,IAAI,CAAC;YAC7E,OAAO,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,uBAAuB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;QAC3E,CAAC;QAED,KAAK,aAAa,CAAC,CAAC,CAAC;YACnB,MAAM,GAAG,GAAI,MAAmD,CAAC,IAAI,CAAC;YACtE,OAAO,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,uBAAuB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;QAC7D,CAAC;QAED,KAAK,aAAa,CAAC,CAAC,CAAC;YACnB,MAAM,GAAG,GAAI,MAA0D,CAAC,IAAI,CAAC;YAC7E,OAAO,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,uBAAuB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;QAC3E,CAAC;QAED,KAAK,YAAY,CAAC,CAAC,CAAC;YAClB,MAAM,GAAG,GAAI,MAAqD,CAAC,IAAI,CAAC;YACxE,OAAO,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,uBAAuB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;QACjE,CAAC;QAED;YACE,OAAO,QAAQ,CAAC;IACpB,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,wBAAwB,CAAC,MAAkB,EAAE,QAA4B;IAChF,MAAM,GAAG,GAAI,MAEX,CAAC,IAAI,CAAC;IAER,MAAM,aAAa,GAAG,GAAG,CAAC,aAAa,CAAC;IACxC,IAAI,CAAC,aAAa;QAAE,OAAO,QAAQ,CAAC;IAEpC,oCAAoC;IACpC,MAAM,UAAU,GAAG,GAAG,CAAC,OAAO,CAAC;IAC/B,MAAM,OAAO,GAAiB,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC9C,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;IAE3E,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,QAAQ,CAAC;IAE1C,MAAM,gBAAgB,GAAuC,EAAE,CAAC;IAEhE,+BAA+B;IAC/B,MAAM,mBAAmB,GAAa,EAAE,CAAC;IACzC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,MAAM,SAAS,GAAG,uBAAuB,CAAC,MAAM,CAAC,CAAC;QAClD,MAAM,QAAQ,GAAG,SAAS,CAAC,UAAU,EAAE,CAAC,aAAa,CAAC,CAAC;QACvD,MAAM,SAAS,GAAI,QAAQ,EAAE,KAAgB,IAAK,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAY,CAAC;QACjF,IAAI,SAAS,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YAC1D,mBAAmB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACtC,CAAC;IACH,CAAC;IAED,gBAAgB,CAAC,aAAa,CAAC,GAAG;QAChC,IAAI,EAAE,QAAQ;QACd,IAAI,EAAE,mBAAmB;QACzB,WAAW,EAAE,oCAAoC;KAClD,CAAC;IAEF,qCAAqC;IACrC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,MAAM,SAAS,GAAG,uBAAuB,CAAC,MAAM,CAAC,CAAC;QAClD,MAAM,KAAK,GAAG,SAAS,CAAC,UAAU,CAAC;QACnC,IAAI,CAAC,KAAK;YAAE,SAAS;QAErB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACjD,IAAI,GAAG,KAAK,aAAa;gBAAE,SAAS;YAEpC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC3B,gBAAgB,CAAC,GAAG,CAAC,GAAG,SAAS,CAAC,KAA2B,CAAC,CAAC;YACjE,CAAC;iBAAM,CAAC;gBACN,gBAAgB,CAAC,GAAG,CAAC,GAAG,eAAe,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,KAA2B,CAAC,CAAC;YAC9F,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO;QACL,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE,gBAAgB;QAC5B,QAAQ,EAAE,CAAC,aAAa,CAAC;QACzB,GAAG,QAAQ;KACZ,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,SAAS,CAAI,GAAM;IAC1B,IAAI,GAAG,KAAK,IAAI,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,GAAG,CAAC;IACxD,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;QAAE,OAAO,GAAG,CAAC,GAAG,CAAC,SAAS,CAAM,CAAC;IAEvD,MAAM,MAAM,GAA4B,EAAE,CAAC;IAC3C,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACnC,MAAM,CAAC,GAAG,CAAC,GAAG,SAAS,CAAE,GAA+B,CAAC,GAAG,CAAC,CAAC,CAAC;IACjE,CAAC;IACD,OAAO,MAAW,CAAC;AACrB,CAAC;AAED;;GAEG;AACH,SAAS,eAAe,CAAC,QAA4B,EAAE,QAA4B;IACjF,kCAAkC;IAClC,IAAI,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;QACnC,OAAO;YACL,GAAG,QAAQ;YACX,IAAI,EAAE,iBAAiB,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC;YACrD,WAAW,EAAE,QAAQ,CAAC,WAAW,IAAI,QAAQ,CAAC,WAAW;SAC1D,CAAC;IACJ,CAAC;IAED,mCAAmC;IACnC,IAAI,QAAQ,CAAC,KAAK,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;QACrC,OAAO;YACL,GAAG,QAAQ;YACX,KAAK,EAAE,iBAAiB,CAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;SACpE,CAAC;IACJ,CAAC;IAED,6CAA6C;IAC7C,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;QACnB,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,EAAE,CAAC;YACtD,OAAO,EAAE,GAAG,QAAQ,EAAE,KAAK,EAAE,CAAC,GAAG,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;QAC1E,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,kDAAkD;IAClD,IAAI,QAAQ,CAAC,IAAI,KAAK,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9G,OAAO;YACL,KAAK,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC;YACjD,WAAW,EAAE,QAAQ,CAAC,WAAW,IAAI,QAAQ,CAAC,WAAW;SAC1D,CAAC;IACJ,CAAC;IAED,iCAAiC;IACjC,IAAI,QAAQ,CAAC,IAAI,KAAK,QAAQ,CAAC,IAAI,EAAE,CAAC;QACpC,MAAM,MAAM,GAAuB,EAAE,GAAG,QAAQ,EAAE,CAAC;QAEnD,4BAA4B;QAC5B,IAAI,OAAO,QAAQ,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;YACzC,MAAM,CAAC,OAAO,GAAG,OAAO,QAAQ,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC;QAC1H,CAAC;QACD,IAAI,OAAO,QAAQ,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;YACzC,MAAM,CAAC,OAAO,GAAG,OAAO,QAAQ,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC;QAC1H,CAAC;QAED,MAAM,CAAC,WAAW,GAAG,QAAQ,CAAC,WAAW,IAAI,QAAQ,CAAC,WAAW,CAAC;QAElE,oBAAoB;QACpB,IAAI,QAAQ,CAAC,IAAI,KAAK,OAAO,IAAI,QAAQ,CAAC,KAAK,IAAI,QAAQ,CAAC,KAAK;YAC7D,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACrE,MAAM,CAAC,KAAK,GAAG,eAAe,CAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;QACjE,CAAC;QAED,0BAA0B;QAC1B,IAAI,QAAQ,CAAC,IAAI,KAAK,QAAQ,IAAI,QAAQ,CAAC,UAAU,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC;YAC7E,MAAM,CAAC,UAAU,GAAG,EAAE,GAAG,QAAQ,CAAC,UAAU,EAAE,CAAC;YAC/C,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC7D,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC;oBAC7C,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC;oBAC9C,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YACrB,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED;;GAEG;AACH,SAAS,iBAAiB,CAAI,IAAS,EAAE,IAAS,EAAE,OAAiC;IACnF,MAAM,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;IACzB,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;QACxB,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACpF,IAAI,CAAC,MAAM;YAAE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,SAAS,SAAS,CAAC,CAAU,EAAE,CAAU;IACvC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACzB,IAAI,OAAO,CAAC,KAAK,OAAO,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IAE7F,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IACxD,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QACrB,MAAM,IAAI,GAAG,CAAc,CAAC;QAC5B,OAAO,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9E,CAAC;IAED,MAAM,IAAI,GAAG,CAA4B,CAAC;IAC1C,MAAM,IAAI,GAAG,CAA4B,CAAC;IAC1C,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChC,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEhC,OAAO,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7G,CAAC"}
@@ -539,8 +539,9 @@ function setupHttpServer(config, tools, services, toolboxes, metadata, privateKe
539
539
  });
540
540
  // Get home UI widget ID for current user
541
541
  app.post("/homeUI", async (c) => {
542
+ // Return null widgetId if homeUI is not configured (instead of 404)
542
543
  if (!config.homeUI) {
543
- throw new http_exception_1.HTTPException(404, { message: "No home UI configured" });
544
+ return c.json({ widgetId: null });
544
545
  }
545
546
  const agentInfo = await getAgentInfo(c);
546
547
  // Get plugin data from request body
@@ -563,10 +564,13 @@ function setupHttpServer(config, tools, services, toolboxes, metadata, privateKe
563
564
  plugins: processedPluginData.plugins
564
565
  });
565
566
  }
566
- // Verify widget exists
567
+ // Return null if widget ID is empty or widget doesn't exist
568
+ if (!homeUIWidgetId) {
569
+ return c.json({ widgetId: null });
570
+ }
567
571
  const widget = widgets.find(w => w.id === homeUIWidgetId);
568
572
  if (!widget) {
569
- throw new http_exception_1.HTTPException(404, { message: "Home UI widget not found" });
573
+ return c.json({ widgetId: null });
570
574
  }
571
575
  // Process plugins for the response
572
576
  const processedResponse = await processPluginsForResponse({ widgetId: homeUIWidgetId }, body, { extraData: { plugins: processedPluginData.plugins } });
@@ -1304,6 +1308,25 @@ function setupHttpServer(config, tools, services, toolboxes, metadata, privateKe
1304
1308
  app.get("/exampleQueries", (c) => {
1305
1309
  return c.json(config.exampleQueries || []);
1306
1310
  });
1311
+ // POST version of exampleQueries with plugin support
1312
+ app.post("/exampleQueries", async (c) => {
1313
+ const agentInfo = await getAgentInfo(c);
1314
+ // Get plugin data from request body
1315
+ let body = {};
1316
+ try {
1317
+ body = await c.req.json();
1318
+ }
1319
+ catch (error) {
1320
+ body = {}; // Default to empty body if parsing fails
1321
+ }
1322
+ // Process plugins for the request
1323
+ const processedPluginData = await processPluginsForRequest(body, agentInfo);
1324
+ // Get example queries (or empty array if not configured)
1325
+ const queries = config.exampleQueries || [];
1326
+ // Process plugins for the response
1327
+ const processedResponse = await processPluginsForResponse(queries, body, { extraData: { plugins: processedPluginData.plugins } });
1328
+ return c.json(processedResponse);
1329
+ });
1307
1330
  // Services list endpoint
1308
1331
  app.get("/services", (c) => {
1309
1332
  const serviceInfo = services.map((service) => ({