@convertcom/mcp-server 0.0.1-beta.10 → 0.0.1-beta.13

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 (63) hide show
  1. package/.assets/apple-touch-icon.png +0 -0
  2. package/.assets/convert-icon-64.png +0 -0
  3. package/.assets/convert-icon.svg +7 -0
  4. package/.assets/convert-logo.png +0 -0
  5. package/.assets/favicon.ico +0 -0
  6. package/.assets/favicon.png +0 -0
  7. package/.assets/icon-128.png +0 -0
  8. package/.assets/icon-180.png +0 -0
  9. package/.assets/icon-192.png +0 -0
  10. package/.assets/icon-256.png +0 -0
  11. package/.assets/icon-512.png +0 -0
  12. package/.assets/icon.png +0 -0
  13. package/.assets/og-image.png +0 -0
  14. package/README.md +11 -1
  15. package/build/api-config.d.ts +5 -0
  16. package/build/api-config.js +131 -13
  17. package/build/api-config.js.map +1 -1
  18. package/build/auth-context.d.ts +50 -0
  19. package/build/auth-context.js +2 -0
  20. package/build/auth-context.js.map +1 -0
  21. package/build/brand.d.ts +6 -0
  22. package/build/brand.js +89 -0
  23. package/build/brand.js.map +1 -0
  24. package/build/executor.d.ts +2 -1
  25. package/build/executor.js +118 -348
  26. package/build/executor.js.map +1 -1
  27. package/build/generated-tool-validators.d.ts +2803 -0
  28. package/build/generated-tool-validators.js +119285 -0
  29. package/build/generated-tool-validators.js.map +1 -0
  30. package/build/index.d.ts +7 -8
  31. package/build/index.js +46 -399
  32. package/build/index.js.map +1 -1
  33. package/build/kb-search-node.d.ts +2 -0
  34. package/build/kb-search-node.js +8 -0
  35. package/build/kb-search-node.js.map +1 -0
  36. package/build/kb-search.d.ts +1 -1
  37. package/build/kb-search.js +1 -4
  38. package/build/kb-search.js.map +1 -1
  39. package/build/namespaced.d.ts +2 -1
  40. package/build/namespaced.js +88 -7
  41. package/build/namespaced.js.map +1 -1
  42. package/build/operator.d.ts +2 -0
  43. package/build/operator.js +88 -45
  44. package/build/operator.js.map +1 -1
  45. package/build/runtime.d.ts +28 -0
  46. package/build/runtime.js +394 -0
  47. package/build/runtime.js.map +1 -0
  48. package/build/schema-normalizer.d.ts +2 -0
  49. package/build/schema-normalizer.js +373 -0
  50. package/build/schema-normalizer.js.map +1 -0
  51. package/build/tools.js +22 -10
  52. package/build/tools.js.map +1 -1
  53. package/data/convert-kb.json +12381 -12276
  54. package/data/kb-vectors/0/embedding.index.3.proxima +0 -0
  55. package/data/kb-vectors/0/scalar.0.ipc +0 -0
  56. package/data/kb-vectors/1/.gitkeep +0 -0
  57. package/data/kb-vectors/del.0 +0 -0
  58. package/data/kb-vectors/idmap.0/000008.sst +0 -0
  59. package/data/kb-vectors/idmap.0/IDENTITY +1 -1
  60. package/data/kb-vectors/idmap.0/MANIFEST-000005 +0 -0
  61. package/data/kb-vectors/manifest.3 +2 -2
  62. package/package.json +29 -8
  63. package/server.json +2 -2
package/build/executor.js CHANGED
@@ -1,17 +1,22 @@
1
1
  import axios from 'axios';
2
- import { Ajv2020 } from 'ajv/dist/2020.js';
3
2
  import { toolDefinitionMap } from './tools.js';
4
- import { API_BASE_URL } from './api-config.js';
5
- import { JSON_SCHEMA_DRAFT_2020_12, pathParamsFromTemplate } from './shared.js';
3
+ import { API_BASE_URL, buildConvertAuthHeaders } from './api-config.js';
4
+ import { pathParamsFromTemplate } from './shared.js';
5
+ import { precompiledToolValidators } from './generated-tool-validators.js';
6
+ import { isPlainObject } from './schema-normalizer.js';
6
7
  const MAX_API_ERROR_DETAIL_LEN = 2000;
7
8
  const MAX_SCHEMA_ERRORS_TO_SHOW = 8;
8
9
  const validatorCache = new Map();
9
- const ajv = new Ajv2020({
10
- allErrors: true,
11
- strict: false,
12
- allowUnionTypes: true,
13
- validateFormats: false,
14
- });
10
+ class ConvertApiTransportError extends Error {
11
+ status;
12
+ data;
13
+ constructor(message, status, data) {
14
+ super(message);
15
+ this.status = status;
16
+ this.data = data;
17
+ this.name = 'ConvertApiTransportError';
18
+ }
19
+ }
15
20
  function resolvePathTemplate(pathTemplate, args) {
16
21
  const params = pathParamsFromTemplate(pathTemplate);
17
22
  let resolvedPath = pathTemplate;
@@ -26,7 +31,7 @@ function resolvePathTemplate(pathTemplate, args) {
26
31
  }
27
32
  return { resolvedPath, missing };
28
33
  }
29
- export async function executeToolByName(toolName, toolArgs) {
34
+ export async function executeToolByName(toolName, toolArgs, executionContext) {
30
35
  const toolDefinition = toolDefinitionMap.get(toolName);
31
36
  if (!toolDefinition) {
32
37
  return {
@@ -35,9 +40,9 @@ export async function executeToolByName(toolName, toolArgs) {
35
40
  structuredContent: { error: `Unknown tool: ${toolName}` },
36
41
  };
37
42
  }
38
- return await executeApiTool(toolName, toolDefinition, toolArgs);
43
+ return await executeApiTool(toolName, toolDefinition, toolArgs, executionContext);
39
44
  }
40
- async function executeApiTool(toolName, definition, toolArgs) {
45
+ async function executeApiTool(toolName, definition, toolArgs, executionContext) {
41
46
  let uploadScreenshotReadbackUrl = null;
42
47
  try {
43
48
  const argsToValidate = (typeof toolArgs === 'object' && toolArgs !== null) ? toolArgs : {};
@@ -58,11 +63,6 @@ async function executeApiTool(toolName, definition, toolArgs) {
58
63
  const queryParams = {};
59
64
  const headers = { 'Accept': 'application/json' };
60
65
  let requestBodyData = undefined;
61
- // Apply basic authentication (Bearer token)
62
- const bearerToken = process.env.BEARER_TOKEN || process.env.API_TOKEN;
63
- if (bearerToken) {
64
- headers['authorization'] = `Bearer ${bearerToken}`;
65
- }
66
66
  definition.executionParameters.forEach((param) => {
67
67
  const value = validatedArgs[param.name];
68
68
  if (typeof value !== 'undefined' && value !== null) {
@@ -86,7 +86,8 @@ async function executeApiTool(toolName, definition, toolArgs) {
86
86
  throw new Error(`Failed to resolve path parameters: missing ${resolved.missing.join(', ')} for template ${definition.pathTemplate}. Provided keys: ${availableArgKeys}`);
87
87
  }
88
88
  // Build full URL with query string directly - don't rely on axios params serialization
89
- let fullUrl = API_BASE_URL + urlPath;
89
+ const apiBaseUrl = (executionContext?.apiBaseUrl ?? API_BASE_URL).replace(/\/+$/, '');
90
+ let fullUrl = apiBaseUrl + urlPath;
90
91
  if (Object.keys(queryParams).length > 0) {
91
92
  // Serialize query params with bracket notation for arrays
92
93
  const parts = [];
@@ -111,17 +112,35 @@ async function executeApiTool(toolName, definition, toolArgs) {
111
112
  headers['content-type'] = definition.requestBodyContentType;
112
113
  }
113
114
  }
115
+ const authContext = resolveAuthContext(validatedArgs, executionContext);
116
+ if (authContext) {
117
+ Object.assign(headers, buildConvertAuthHeaders(fullUrl, requestBodyData, authContext));
118
+ }
119
+ else if (executionContext) {
120
+ const hint = executionContext.missingCredentialsHint ? ` ${executionContext.missingCredentialsHint}` : '';
121
+ return {
122
+ isError: true,
123
+ content: [{
124
+ type: 'text',
125
+ text: `Convert credentials are not configured for this request.${hint}`,
126
+ }],
127
+ structuredContent: {
128
+ error: 'MissingConvertCredentials',
129
+ message: 'No Convert authentication context was provided for this request.',
130
+ hint: executionContext.missingCredentialsHint,
131
+ },
132
+ };
133
+ }
114
134
  const config = {
115
135
  method: (definition.method || 'get').toUpperCase(),
116
136
  url: fullUrl,
117
- // Don't pass params - query string is already in URL
118
137
  headers,
119
138
  ...(requestBodyData !== undefined && { data: requestBodyData }),
120
139
  };
121
140
  if (toolName === 'uploadexperiencevariationscreenshot') {
122
141
  uploadScreenshotReadbackUrl = fullUrl;
123
142
  }
124
- const response = await axios(config);
143
+ const response = await executeApiRequest(config, executionContext);
125
144
  let responseText = '';
126
145
  const contentType = response.headers['content-type']?.toLowerCase() || '';
127
146
  const isJsonResponse = contentType.includes('application/json') && typeof response.data === 'object' && response.data !== null;
@@ -157,6 +176,9 @@ async function executeApiTool(toolName, definition, toolArgs) {
157
176
  return recovered;
158
177
  errorMessage = formatApiError(error);
159
178
  }
179
+ else if (error instanceof ConvertApiTransportError) {
180
+ errorMessage = formatTransportError(error);
181
+ }
160
182
  else if (error instanceof Error) {
161
183
  errorMessage = error.message;
162
184
  }
@@ -171,6 +193,75 @@ async function executeApiTool(toolName, definition, toolArgs) {
171
193
  };
172
194
  }
173
195
  }
196
+ async function executeApiRequest(request, executionContext) {
197
+ if (executionContext?.apiTransport) {
198
+ const response = await executionContext.apiTransport(request);
199
+ if (response.status >= 400) {
200
+ throw new ConvertApiTransportError(`API Error: Status ${response.status}`, response.status, response.data);
201
+ }
202
+ return response;
203
+ }
204
+ const config = {
205
+ method: request.method,
206
+ url: request.url,
207
+ headers: request.headers,
208
+ ...(typeof request.data !== 'undefined' ? { data: request.data } : {}),
209
+ };
210
+ const response = await axios(config);
211
+ return {
212
+ status: response.status,
213
+ headers: normalizeResponseHeaders(response.headers),
214
+ data: response.data,
215
+ };
216
+ }
217
+ function normalizeResponseHeaders(headers) {
218
+ const out = {};
219
+ if (!headers || typeof headers !== 'object')
220
+ return out;
221
+ for (const [key, value] of Object.entries(headers)) {
222
+ if (typeof value === 'string')
223
+ out[key.toLowerCase()] = value;
224
+ else if (Array.isArray(value))
225
+ out[key.toLowerCase()] = value.map(String).join(', ');
226
+ else if (typeof value !== 'undefined' && value !== null)
227
+ out[key.toLowerCase()] = String(value);
228
+ }
229
+ return out;
230
+ }
231
+ function formatTransportError(error) {
232
+ const detail = typeof error.data === 'string'
233
+ ? error.data
234
+ : (typeof error.data !== 'undefined' ? safeStringify(error.data) : '');
235
+ const trimmed = detail.trim();
236
+ return trimmed
237
+ ? `API Error: Status ${error.status}\n${trimmed.slice(0, MAX_API_ERROR_DETAIL_LEN)}`
238
+ : `API Error: Status ${error.status}`;
239
+ }
240
+ function safeStringify(value) {
241
+ try {
242
+ return JSON.stringify(value, null, 2);
243
+ }
244
+ catch {
245
+ return String(value);
246
+ }
247
+ }
248
+ function resolveAuthContext(args, executionContext) {
249
+ if (executionContext?.authContext) {
250
+ return executionContext.authContext;
251
+ }
252
+ if (!executionContext?.credentialsByAccount) {
253
+ return undefined;
254
+ }
255
+ const rawAccountId = args.account_id;
256
+ const accountId = typeof rawAccountId === 'number'
257
+ ? rawAccountId
258
+ : (typeof rawAccountId === 'string' ? Number(rawAccountId) : undefined);
259
+ if (typeof accountId === 'number' && Number.isFinite(accountId)) {
260
+ return executionContext.credentialsByAccount.get(accountId);
261
+ }
262
+ const first = executionContext.credentialsByAccount.values().next();
263
+ return first.done ? undefined : first.value;
264
+ }
174
265
  export async function recoverUploadedScreenshot(toolName, error, readbackUrl) {
175
266
  if (toolName !== 'uploadexperiencevariationscreenshot')
176
267
  return null;
@@ -351,7 +442,7 @@ export function validateToolArgs(toolName, rawSchema, args) {
351
442
  return {
352
443
  ok: false,
353
444
  errors: [],
354
- message: `Internal schema error: could not compile input schema for tool "${toolName}".`,
445
+ message: `Internal schema error: missing precompiled input validator for tool "${toolName}". This build is invalid; run yarn workspace @convertcom/mcp-server build:validators and commit src/generated-tool-validators.js.`,
355
446
  };
356
447
  }
357
448
  const valid = validator(args);
@@ -372,336 +463,15 @@ function getOrCreateValidator(toolName, rawSchema) {
372
463
  const cached = validatorCache.get(toolName);
373
464
  if (cached)
374
465
  return cached;
375
- const fallbackSchema = {
376
- $schema: JSON_SCHEMA_DRAFT_2020_12,
377
- type: 'object',
378
- additionalProperties: true,
379
- };
380
- const normalized = normalizeSchema(rawSchema, toolName);
381
- const schema = (normalized && typeof normalized === 'object') ? normalized : fallbackSchema;
382
- if (!schema.$schema)
383
- schema.$schema = JSON_SCHEMA_DRAFT_2020_12;
384
- try {
385
- const validator = ajv.compile(schema);
386
- validatorCache.set(toolName, validator);
387
- return validator;
388
- }
389
- catch (error) {
390
- const message = error instanceof Error ? error.message : String(error);
391
- console.error(`Failed to compile JSON schema for '${toolName}': ${message}`);
392
- return null;
466
+ const precompiled = precompiledToolValidators[toolName];
467
+ if (precompiled) {
468
+ validatorCache.set(toolName, precompiled);
469
+ return precompiled;
393
470
  }
394
- }
395
- function normalizeSchema(input, toolName) {
396
- const seen = new WeakMap();
397
- function walk(node, path = '') {
398
- if (!node || typeof node !== 'object')
399
- return node;
400
- if (seen.has(node))
401
- return seen.get(node);
402
- if (Array.isArray(node)) {
403
- const arr = [];
404
- seen.set(node, arr);
405
- node.forEach((item, index) => arr.push(walk(item, `${path}/${index}`)));
406
- return arr;
407
- }
408
- const out = {};
409
- seen.set(node, out);
410
- for (const [key, value] of Object.entries(node)) {
411
- out[key] = walk(value, `${path}/${escapeJsonPointer(key)}`);
412
- }
413
- if (Array.isArray(out.oneOf) && isExperienceChangeUnionPath(path)) {
414
- out.oneOf = normalizeExperienceChangeUnion(out.oneOf);
415
- }
416
- if (out.nullable === true) {
417
- const type = out.type;
418
- if (typeof type === 'string') {
419
- out.type = [type, 'null'];
420
- }
421
- else if (Array.isArray(type)) {
422
- const typeSet = new Set(type);
423
- typeSet.add('null');
424
- out.type = [...typeSet];
425
- }
426
- else if (Array.isArray(out.oneOf)) {
427
- out.oneOf = [...out.oneOf, { type: 'null' }];
428
- }
429
- else if (Array.isArray(out.anyOf)) {
430
- out.anyOf = [...out.anyOf, { type: 'null' }];
431
- }
432
- delete out.nullable;
433
- }
434
- return out;
435
- }
436
- return normalizeToolSpecificSchema(toolName, walk(input));
437
- }
438
- function escapeJsonPointer(value) {
439
- return value.replace(/~/g, '~0').replace(/\//g, '~1');
440
- }
441
- function isExperienceChangeUnionPath(path) {
442
- return path.includes('/properties/changes/items');
443
- }
444
- function normalizeExperienceChangeUnion(branches) {
445
- return branches.map((branch, index) => {
446
- if (!isAutoPlaceholderSchema(branch))
447
- return branch;
448
- const inferredType = inferPlaceholderChangeType(branches, index);
449
- if (inferredType === 'defaultRedirect')
450
- return defaultRedirectChangeSchema();
451
- if (inferredType === 'richStructure')
452
- return richStructureChangeSchema();
453
- return branch;
454
- });
455
- }
456
- function isAutoPlaceholderSchema(schema) {
457
- return isPlainObject(schema)
458
- && typeof schema.description === 'string'
459
- && schema.description.includes('auto-placeholder');
460
- }
461
- function inferPlaceholderChangeType(branches, index) {
462
- const previousTypes = collectDiscriminantTypes(branches[index - 1]);
463
- const nextTypes = collectDiscriminantTypes(branches[index + 1]);
464
- if (index === 2 && nextTypes.has('customCode'))
465
- return 'defaultRedirect';
466
- if (previousTypes.has('defaultRedirect'))
467
- return 'richStructure';
468
- if (previousTypes.has('customCode') && nextTypes.has('fullStackFeature'))
469
- return 'richStructure';
471
+ void rawSchema;
472
+ console.error(`Missing precompiled JSON schema validator for generated tool '${toolName}'. Run yarn workspace @convertcom/mcp-server build:validators and commit src/generated-tool-validators.js.`);
470
473
  return null;
471
474
  }
472
- function collectDiscriminantTypes(schema) {
473
- const types = new Set();
474
- const visited = new WeakSet();
475
- function walk(node) {
476
- if (!node || typeof node !== 'object')
477
- return;
478
- if (visited.has(node))
479
- return;
480
- visited.add(node);
481
- if (Array.isArray(node)) {
482
- node.forEach(walk);
483
- return;
484
- }
485
- const record = node;
486
- const typeProperty = isPlainObject(record.properties) ? record.properties.type : undefined;
487
- if (isPlainObject(typeProperty) && Array.isArray(typeProperty.enum)) {
488
- for (const value of typeProperty.enum) {
489
- if (typeof value === 'string')
490
- types.add(value);
491
- }
492
- }
493
- for (const value of Object.values(record))
494
- walk(value);
495
- }
496
- walk(schema);
497
- return types;
498
- }
499
- function defaultRedirectChangeSchema() {
500
- return {
501
- type: 'object',
502
- description: 'Normalized schema for a defaultRedirect split URL change. Replaces a broad generated auto-placeholder so oneOf validation can discriminate by type.',
503
- properties: {
504
- type: { type: 'string', enum: ['defaultRedirect'] },
505
- data: {
506
- type: 'object',
507
- additionalProperties: false,
508
- properties: {
509
- original_pattern: { type: 'string' },
510
- variation_pattern: { type: 'string' },
511
- case_sensitive: { type: 'boolean' },
512
- },
513
- required: ['original_pattern', 'variation_pattern'],
514
- },
515
- },
516
- required: ['type', 'data'],
517
- };
518
- }
519
- function richStructureChangeSchema() {
520
- return {
521
- type: 'object',
522
- description: 'Normalized schema for a richStructure visual editor change. Replaces a broad generated auto-placeholder so oneOf validation can discriminate by type.',
523
- properties: {
524
- id: { type: 'integer' },
525
- type: { type: 'string', enum: ['richStructure'] },
526
- data: { type: 'object', additionalProperties: true },
527
- },
528
- required: ['type', 'data'],
529
- additionalProperties: true,
530
- };
531
- }
532
- function normalizeToolSpecificSchema(toolName, schema) {
533
- if (!isPlainObject(schema))
534
- return schema;
535
- const properties = isPlainObject(schema.properties) ? schema.properties : undefined;
536
- if (!properties || !Object.prototype.hasOwnProperty.call(properties, 'requestBody'))
537
- return schema;
538
- if (toolName === 'createaudience') {
539
- properties.requestBody = audienceRequestBodySchema(true);
540
- }
541
- else if (toolName === 'updateaudience') {
542
- properties.requestBody = audienceRequestBodySchema(false);
543
- }
544
- else if (toolName === 'createlocation') {
545
- properties.requestBody = locationRequestBodySchema(true);
546
- }
547
- else if (toolName === 'updatelocation') {
548
- properties.requestBody = locationRequestBodySchema(false);
549
- }
550
- else if (toolName === 'creategoal') {
551
- properties.requestBody = goalRequestBodySchema(true);
552
- }
553
- else if (toolName === 'updategoal') {
554
- properties.requestBody = goalRequestBodySchema(false);
555
- }
556
- else if (toolName === 'createfeature') {
557
- properties.requestBody = featureRequestBodySchema(true);
558
- }
559
- else if (toolName === 'updatefeature') {
560
- properties.requestBody = featureRequestBodySchema(false);
561
- }
562
- else if (toolName === 'uploadexperiencevariationscreenshot') {
563
- properties.requestBody = uploadImageNoNameRequestBodySchema();
564
- }
565
- return schema;
566
- }
567
- function uploadImageNoNameRequestBodySchema() {
568
- return {
569
- type: 'object',
570
- description: 'Normalized multipart image upload payload. Accepts either a raw data URL/base64 string in image or an object with data_url/base64 plus optional filename/content_type metadata.',
571
- additionalProperties: true,
572
- properties: {
573
- image: {
574
- anyOf: [
575
- { type: 'string', format: 'binary' },
576
- {
577
- type: 'object',
578
- additionalProperties: true,
579
- properties: {
580
- data_url: { type: 'string' },
581
- dataUrl: { type: 'string' },
582
- base64: { type: 'string' },
583
- content: { type: 'string' },
584
- data: { type: 'string' },
585
- value: { type: 'string' },
586
- filename: { type: 'string' },
587
- name: { type: 'string' },
588
- content_type: { type: 'string' },
589
- contentType: { type: 'string' },
590
- mime_type: { type: 'string' },
591
- mimeType: { type: 'string' },
592
- },
593
- },
594
- ],
595
- },
596
- },
597
- required: ['image'],
598
- };
599
- }
600
- function audienceRequestBodySchema(isCreate) {
601
- return {
602
- type: 'object',
603
- description: 'Normalized Convert audience payload schema. The generated OpenAPI oneOf currently rejects valid non-null rules for segmentation/permanent/transient audiences, so MCP validates the stable envelope and lets the API validate the rule semantics.',
604
- additionalProperties: true,
605
- properties: {
606
- id: { type: 'integer' },
607
- name: { type: 'string', maxLength: 100 },
608
- description: { type: ['string', 'null'], maxLength: 500 },
609
- status: { type: 'string', enum: ['active', 'archived'] },
610
- type: { type: 'string', enum: ['segmentation', 'permanent', 'transient'] },
611
- rules: ruleObjectSchema('Audience rules use nested OR -> AND -> OR_WHEN blocks. Audience rule_type values include visitor_type, country, city, region, device/browser fields, cookies, JS conditions, URL fields for segmentation audiences, and page-tag fields.'),
612
- selected_default: { type: 'boolean' },
613
- },
614
- required: isCreate ? ['name', 'type', 'rules'] : [],
615
- };
616
- }
617
- function locationRequestBodySchema(isCreate) {
618
- return {
619
- type: 'object',
620
- description: 'Normalized Convert location payload schema. The generated OpenAPI schema currently treats non-null rules as invalid, so MCP validates the stable envelope and lets the API validate the rule semantics.',
621
- additionalProperties: true,
622
- properties: {
623
- id: { type: 'integer' },
624
- name: { type: 'string', maxLength: 100 },
625
- description: { type: ['string', 'null'], maxLength: 500 },
626
- status: { type: 'string', enum: ['active', 'archived'] },
627
- rules: ruleObjectSchema('Location rules use nested OR -> AND -> OR_WHEN blocks, usually with URL/page matching rule types.'),
628
- trigger: { type: ['object', 'null'], additionalProperties: true },
629
- selected_default: { type: 'boolean' },
630
- },
631
- required: isCreate ? ['name', 'rules'] : [],
632
- };
633
- }
634
- function goalRequestBodySchema(isCreate) {
635
- return {
636
- type: 'object',
637
- description: 'Normalized Convert goal payload schema. The generated OpenAPI oneOf is too strict for real goal variants such as clicks_element, code_trigger, and triggering_rule scoping.',
638
- additionalProperties: true,
639
- properties: {
640
- id: { type: 'integer' },
641
- name: { type: 'string', maxLength: 100 },
642
- key: { type: 'string', maxLength: 32 },
643
- description: { type: ['string', 'null'], maxLength: 500 },
644
- status: { type: 'string', enum: ['active', 'archived'] },
645
- type: {
646
- type: 'string',
647
- enum: [
648
- 'advanced',
649
- 'visits_page',
650
- 'revenue',
651
- 'clicks_link',
652
- 'submits_form',
653
- 'clicks_element',
654
- 'dom_interaction',
655
- 'scroll_percentage',
656
- 'ga_import',
657
- 'code_trigger',
658
- ],
659
- },
660
- settings: { type: ['object', 'null'], additionalProperties: true },
661
- triggering_rule: ruleObjectSchema('Goal triggering rules use nested OR -> AND -> OR_WHEN blocks to scope when the goal can fire.'),
662
- selected_default: { type: 'boolean' },
663
- },
664
- required: isCreate ? ['name', 'type'] : [],
665
- };
666
- }
667
- function featureRequestBodySchema(isCreate) {
668
- return {
669
- type: 'object',
670
- description: 'Normalized Convert feature payload schema. The generated OpenAPI oneOf currently combines a base null default_value with type-specific default_value branches, causing valid boolean/number defaults to fail validation.',
671
- additionalProperties: true,
672
- properties: {
673
- id: { type: 'integer' },
674
- name: { type: 'string', maxLength: 100 },
675
- key: { type: 'string', maxLength: 32 },
676
- description: { type: ['string', 'null'], maxLength: 200 },
677
- status: { type: 'string', enum: ['active', 'archived'] },
678
- variables: {
679
- type: 'array',
680
- items: {
681
- type: 'object',
682
- additionalProperties: true,
683
- properties: {
684
- key: { type: 'string', maxLength: 32 },
685
- type: { type: 'string', enum: ['json', 'string', 'boolean', 'float', 'integer'] },
686
- default_value: {},
687
- },
688
- required: ['key', 'type'],
689
- },
690
- },
691
- },
692
- required: isCreate ? ['name', 'variables'] : [],
693
- };
694
- }
695
- function ruleObjectSchema(description) {
696
- return {
697
- type: ['object', 'null'],
698
- description,
699
- additionalProperties: true,
700
- };
701
- }
702
- function isPlainObject(value) {
703
- return typeof value === 'object' && value !== null && !Array.isArray(value);
704
- }
705
475
  function summarizeSchemaErrors(errors) {
706
476
  if (!errors.length)
707
477
  return 'Validation failed with no issue details.';
@@ -1 +1 @@
1
- {"version":3,"file":"executor.js","sourceRoot":"","sources":["../src/executor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"executor.js","sourceRoot":"","sources":["../src/executor.ts"],"names":[],"mappings":"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"}