@impractical-ai/motion 0.1.0 → 0.1.2

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.
@@ -1,6 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  ApiError,
4
+ PACKAGE_VERSION,
4
5
  PRODUCTION_APP_URL,
5
6
  PRODUCTION_SUPABASE_URL,
6
7
  __commonJS,
@@ -12,12 +13,13 @@ import {
12
13
  loadConfig,
13
14
  openBrowser,
14
15
  saveConfig,
16
+ validateApiResponse,
15
17
  withAdmissionReceipt
16
- } from "./chunk-2RJVXP4V.js";
18
+ } from "./chunk-G56RK3HD.js";
17
19
 
18
- // node_modules/ajv/dist/compile/codegen/code.js
20
+ // ../../../node_modules/ajv/dist/compile/codegen/code.js
19
21
  var require_code = __commonJS({
20
- "node_modules/ajv/dist/compile/codegen/code.js"(exports) {
22
+ "../../../node_modules/ajv/dist/compile/codegen/code.js"(exports) {
21
23
  "use strict";
22
24
  Object.defineProperty(exports, "__esModule", { value: true });
23
25
  exports.regexpCode = exports.getEsmExportName = exports.getProperty = exports.safeStringify = exports.stringify = exports.strConcat = exports.addCodeArg = exports.str = exports._ = exports.nil = exports._Code = exports.Name = exports.IDENTIFIER = exports._CodeOrName = void 0;
@@ -169,9 +171,9 @@ var require_code = __commonJS({
169
171
  }
170
172
  });
171
173
 
172
- // node_modules/ajv/dist/compile/codegen/scope.js
174
+ // ../../../node_modules/ajv/dist/compile/codegen/scope.js
173
175
  var require_scope = __commonJS({
174
- "node_modules/ajv/dist/compile/codegen/scope.js"(exports) {
176
+ "../../../node_modules/ajv/dist/compile/codegen/scope.js"(exports) {
175
177
  "use strict";
176
178
  Object.defineProperty(exports, "__esModule", { value: true });
177
179
  exports.ValueScope = exports.ValueScopeName = exports.Scope = exports.varKinds = exports.UsedValueState = void 0;
@@ -314,9 +316,9 @@ var require_scope = __commonJS({
314
316
  }
315
317
  });
316
318
 
317
- // node_modules/ajv/dist/compile/codegen/index.js
319
+ // ../../../node_modules/ajv/dist/compile/codegen/index.js
318
320
  var require_codegen = __commonJS({
319
- "node_modules/ajv/dist/compile/codegen/index.js"(exports) {
321
+ "../../../node_modules/ajv/dist/compile/codegen/index.js"(exports) {
320
322
  "use strict";
321
323
  Object.defineProperty(exports, "__esModule", { value: true });
322
324
  exports.or = exports.and = exports.not = exports.CodeGen = exports.operators = exports.varKinds = exports.ValueScopeName = exports.ValueScope = exports.Scope = exports.Name = exports.regexpCode = exports.stringify = exports.getProperty = exports.nil = exports.strConcat = exports.str = exports._ = void 0;
@@ -1034,9 +1036,9 @@ var require_codegen = __commonJS({
1034
1036
  }
1035
1037
  });
1036
1038
 
1037
- // node_modules/ajv/dist/compile/util.js
1039
+ // ../../../node_modules/ajv/dist/compile/util.js
1038
1040
  var require_util = __commonJS({
1039
- "node_modules/ajv/dist/compile/util.js"(exports) {
1041
+ "../../../node_modules/ajv/dist/compile/util.js"(exports) {
1040
1042
  "use strict";
1041
1043
  Object.defineProperty(exports, "__esModule", { value: true });
1042
1044
  exports.checkStrictMode = exports.getErrorPath = exports.Type = exports.useFunc = exports.setEvaluated = exports.evaluatedPropsToName = exports.mergeEvaluated = exports.eachItem = exports.unescapeJsonPointer = exports.escapeJsonPointer = exports.escapeFragment = exports.unescapeFragment = exports.schemaRefOrVal = exports.schemaHasRulesButRef = exports.schemaHasRules = exports.checkUnknownRules = exports.alwaysValidSchema = exports.toHash = void 0;
@@ -1201,9 +1203,9 @@ var require_util = __commonJS({
1201
1203
  }
1202
1204
  });
1203
1205
 
1204
- // node_modules/ajv/dist/compile/names.js
1206
+ // ../../../node_modules/ajv/dist/compile/names.js
1205
1207
  var require_names = __commonJS({
1206
- "node_modules/ajv/dist/compile/names.js"(exports) {
1208
+ "../../../node_modules/ajv/dist/compile/names.js"(exports) {
1207
1209
  "use strict";
1208
1210
  Object.defineProperty(exports, "__esModule", { value: true });
1209
1211
  var codegen_1 = require_codegen();
@@ -1240,9 +1242,9 @@ var require_names = __commonJS({
1240
1242
  }
1241
1243
  });
1242
1244
 
1243
- // node_modules/ajv/dist/compile/errors.js
1245
+ // ../../../node_modules/ajv/dist/compile/errors.js
1244
1246
  var require_errors = __commonJS({
1245
- "node_modules/ajv/dist/compile/errors.js"(exports) {
1247
+ "../../../node_modules/ajv/dist/compile/errors.js"(exports) {
1246
1248
  "use strict";
1247
1249
  Object.defineProperty(exports, "__esModule", { value: true });
1248
1250
  exports.extendErrors = exports.resetErrorsCount = exports.reportExtraError = exports.reportError = exports.keyword$DataError = exports.keywordError = void 0;
@@ -1362,9 +1364,9 @@ var require_errors = __commonJS({
1362
1364
  }
1363
1365
  });
1364
1366
 
1365
- // node_modules/ajv/dist/compile/validate/boolSchema.js
1367
+ // ../../../node_modules/ajv/dist/compile/validate/boolSchema.js
1366
1368
  var require_boolSchema = __commonJS({
1367
- "node_modules/ajv/dist/compile/validate/boolSchema.js"(exports) {
1369
+ "../../../node_modules/ajv/dist/compile/validate/boolSchema.js"(exports) {
1368
1370
  "use strict";
1369
1371
  Object.defineProperty(exports, "__esModule", { value: true });
1370
1372
  exports.boolOrEmptySchema = exports.topBoolOrEmptySchema = void 0;
@@ -1413,9 +1415,9 @@ var require_boolSchema = __commonJS({
1413
1415
  }
1414
1416
  });
1415
1417
 
1416
- // node_modules/ajv/dist/compile/rules.js
1418
+ // ../../../node_modules/ajv/dist/compile/rules.js
1417
1419
  var require_rules = __commonJS({
1418
- "node_modules/ajv/dist/compile/rules.js"(exports) {
1420
+ "../../../node_modules/ajv/dist/compile/rules.js"(exports) {
1419
1421
  "use strict";
1420
1422
  Object.defineProperty(exports, "__esModule", { value: true });
1421
1423
  exports.getRules = exports.isJSONType = void 0;
@@ -1444,9 +1446,9 @@ var require_rules = __commonJS({
1444
1446
  }
1445
1447
  });
1446
1448
 
1447
- // node_modules/ajv/dist/compile/validate/applicability.js
1449
+ // ../../../node_modules/ajv/dist/compile/validate/applicability.js
1448
1450
  var require_applicability = __commonJS({
1449
- "node_modules/ajv/dist/compile/validate/applicability.js"(exports) {
1451
+ "../../../node_modules/ajv/dist/compile/validate/applicability.js"(exports) {
1450
1452
  "use strict";
1451
1453
  Object.defineProperty(exports, "__esModule", { value: true });
1452
1454
  exports.shouldUseRule = exports.shouldUseGroup = exports.schemaHasRulesForType = void 0;
@@ -1467,9 +1469,9 @@ var require_applicability = __commonJS({
1467
1469
  }
1468
1470
  });
1469
1471
 
1470
- // node_modules/ajv/dist/compile/validate/dataType.js
1472
+ // ../../../node_modules/ajv/dist/compile/validate/dataType.js
1471
1473
  var require_dataType = __commonJS({
1472
- "node_modules/ajv/dist/compile/validate/dataType.js"(exports) {
1474
+ "../../../node_modules/ajv/dist/compile/validate/dataType.js"(exports) {
1473
1475
  "use strict";
1474
1476
  Object.defineProperty(exports, "__esModule", { value: true });
1475
1477
  exports.reportTypeError = exports.checkDataTypes = exports.checkDataType = exports.coerceAndCheckDataType = exports.getJSONTypes = exports.getSchemaTypes = exports.DataType = void 0;
@@ -1651,9 +1653,9 @@ var require_dataType = __commonJS({
1651
1653
  }
1652
1654
  });
1653
1655
 
1654
- // node_modules/ajv/dist/compile/validate/defaults.js
1656
+ // ../../../node_modules/ajv/dist/compile/validate/defaults.js
1655
1657
  var require_defaults = __commonJS({
1656
- "node_modules/ajv/dist/compile/validate/defaults.js"(exports) {
1658
+ "../../../node_modules/ajv/dist/compile/validate/defaults.js"(exports) {
1657
1659
  "use strict";
1658
1660
  Object.defineProperty(exports, "__esModule", { value: true });
1659
1661
  exports.assignDefaults = void 0;
@@ -1688,9 +1690,9 @@ var require_defaults = __commonJS({
1688
1690
  }
1689
1691
  });
1690
1692
 
1691
- // node_modules/ajv/dist/vocabularies/code.js
1693
+ // ../../../node_modules/ajv/dist/vocabularies/code.js
1692
1694
  var require_code2 = __commonJS({
1693
- "node_modules/ajv/dist/vocabularies/code.js"(exports) {
1695
+ "../../../node_modules/ajv/dist/vocabularies/code.js"(exports) {
1694
1696
  "use strict";
1695
1697
  Object.defineProperty(exports, "__esModule", { value: true });
1696
1698
  exports.validateUnion = exports.validateArray = exports.usePattern = exports.callValidateCode = exports.schemaProperties = exports.allSchemaProperties = exports.noPropertyInData = exports.propertyInData = exports.isOwnProperty = exports.hasPropFunc = exports.reportMissingProp = exports.checkMissingProp = exports.checkReportMissingProp = void 0;
@@ -1821,9 +1823,9 @@ var require_code2 = __commonJS({
1821
1823
  }
1822
1824
  });
1823
1825
 
1824
- // node_modules/ajv/dist/compile/validate/keyword.js
1826
+ // ../../../node_modules/ajv/dist/compile/validate/keyword.js
1825
1827
  var require_keyword = __commonJS({
1826
- "node_modules/ajv/dist/compile/validate/keyword.js"(exports) {
1828
+ "../../../node_modules/ajv/dist/compile/validate/keyword.js"(exports) {
1827
1829
  "use strict";
1828
1830
  Object.defineProperty(exports, "__esModule", { value: true });
1829
1831
  exports.validateKeywordUsage = exports.validSchemaType = exports.funcKeywordCode = exports.macroKeywordCode = void 0;
@@ -1939,9 +1941,9 @@ var require_keyword = __commonJS({
1939
1941
  }
1940
1942
  });
1941
1943
 
1942
- // node_modules/ajv/dist/compile/validate/subschema.js
1944
+ // ../../../node_modules/ajv/dist/compile/validate/subschema.js
1943
1945
  var require_subschema = __commonJS({
1944
- "node_modules/ajv/dist/compile/validate/subschema.js"(exports) {
1946
+ "../../../node_modules/ajv/dist/compile/validate/subschema.js"(exports) {
1945
1947
  "use strict";
1946
1948
  Object.defineProperty(exports, "__esModule", { value: true });
1947
1949
  exports.extendSubschemaMode = exports.extendSubschemaData = exports.getSubschema = void 0;
@@ -2022,9 +2024,9 @@ var require_subschema = __commonJS({
2022
2024
  }
2023
2025
  });
2024
2026
 
2025
- // node_modules/fast-deep-equal/index.js
2027
+ // ../../../node_modules/fast-deep-equal/index.js
2026
2028
  var require_fast_deep_equal = __commonJS({
2027
- "node_modules/fast-deep-equal/index.js"(exports, module) {
2029
+ "../../../node_modules/fast-deep-equal/index.js"(exports, module) {
2028
2030
  "use strict";
2029
2031
  module.exports = function equal(a, b) {
2030
2032
  if (a === b) return true;
@@ -2057,9 +2059,9 @@ var require_fast_deep_equal = __commonJS({
2057
2059
  }
2058
2060
  });
2059
2061
 
2060
- // node_modules/json-schema-traverse/index.js
2062
+ // ../../../node_modules/json-schema-traverse/index.js
2061
2063
  var require_json_schema_traverse = __commonJS({
2062
- "node_modules/json-schema-traverse/index.js"(exports, module) {
2064
+ "../../../node_modules/json-schema-traverse/index.js"(exports, module) {
2063
2065
  "use strict";
2064
2066
  var traverse = module.exports = function(schema, opts, cb) {
2065
2067
  if (typeof opts == "function") {
@@ -2145,9 +2147,9 @@ var require_json_schema_traverse = __commonJS({
2145
2147
  }
2146
2148
  });
2147
2149
 
2148
- // node_modules/ajv/dist/compile/resolve.js
2150
+ // ../../../node_modules/ajv/dist/compile/resolve.js
2149
2151
  var require_resolve = __commonJS({
2150
- "node_modules/ajv/dist/compile/resolve.js"(exports) {
2152
+ "../../../node_modules/ajv/dist/compile/resolve.js"(exports) {
2151
2153
  "use strict";
2152
2154
  Object.defineProperty(exports, "__esModule", { value: true });
2153
2155
  exports.getSchemaRefs = exports.resolveUrl = exports.normalizeId = exports._getFullPath = exports.getFullPath = exports.inlineRef = void 0;
@@ -2301,9 +2303,9 @@ var require_resolve = __commonJS({
2301
2303
  }
2302
2304
  });
2303
2305
 
2304
- // node_modules/ajv/dist/compile/validate/index.js
2306
+ // ../../../node_modules/ajv/dist/compile/validate/index.js
2305
2307
  var require_validate = __commonJS({
2306
- "node_modules/ajv/dist/compile/validate/index.js"(exports) {
2308
+ "../../../node_modules/ajv/dist/compile/validate/index.js"(exports) {
2307
2309
  "use strict";
2308
2310
  Object.defineProperty(exports, "__esModule", { value: true });
2309
2311
  exports.getData = exports.KeywordCxt = exports.validateFunctionCode = void 0;
@@ -2809,9 +2811,9 @@ var require_validate = __commonJS({
2809
2811
  }
2810
2812
  });
2811
2813
 
2812
- // node_modules/ajv/dist/runtime/validation_error.js
2814
+ // ../../../node_modules/ajv/dist/runtime/validation_error.js
2813
2815
  var require_validation_error = __commonJS({
2814
- "node_modules/ajv/dist/runtime/validation_error.js"(exports) {
2816
+ "../../../node_modules/ajv/dist/runtime/validation_error.js"(exports) {
2815
2817
  "use strict";
2816
2818
  Object.defineProperty(exports, "__esModule", { value: true });
2817
2819
  var ValidationError = class extends Error {
@@ -2825,9 +2827,9 @@ var require_validation_error = __commonJS({
2825
2827
  }
2826
2828
  });
2827
2829
 
2828
- // node_modules/ajv/dist/compile/ref_error.js
2830
+ // ../../../node_modules/ajv/dist/compile/ref_error.js
2829
2831
  var require_ref_error = __commonJS({
2830
- "node_modules/ajv/dist/compile/ref_error.js"(exports) {
2832
+ "../../../node_modules/ajv/dist/compile/ref_error.js"(exports) {
2831
2833
  "use strict";
2832
2834
  Object.defineProperty(exports, "__esModule", { value: true });
2833
2835
  var resolve_1 = require_resolve();
@@ -2842,9 +2844,9 @@ var require_ref_error = __commonJS({
2842
2844
  }
2843
2845
  });
2844
2846
 
2845
- // node_modules/ajv/dist/compile/index.js
2847
+ // ../../../node_modules/ajv/dist/compile/index.js
2846
2848
  var require_compile = __commonJS({
2847
- "node_modules/ajv/dist/compile/index.js"(exports) {
2849
+ "../../../node_modules/ajv/dist/compile/index.js"(exports) {
2848
2850
  "use strict";
2849
2851
  Object.defineProperty(exports, "__esModule", { value: true });
2850
2852
  exports.resolveSchema = exports.getCompilingSchema = exports.resolveRef = exports.compileSchema = exports.SchemaEnv = void 0;
@@ -3066,9 +3068,9 @@ var require_compile = __commonJS({
3066
3068
  }
3067
3069
  });
3068
3070
 
3069
- // node_modules/ajv/dist/refs/data.json
3071
+ // ../../../node_modules/ajv/dist/refs/data.json
3070
3072
  var require_data = __commonJS({
3071
- "node_modules/ajv/dist/refs/data.json"(exports, module) {
3073
+ "../../../node_modules/ajv/dist/refs/data.json"(exports, module) {
3072
3074
  module.exports = {
3073
3075
  $id: "https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#",
3074
3076
  description: "Meta-schema for $data reference (JSON AnySchema extension proposal)",
@@ -3085,9 +3087,9 @@ var require_data = __commonJS({
3085
3087
  }
3086
3088
  });
3087
3089
 
3088
- // node_modules/fast-uri/lib/utils.js
3090
+ // ../../../node_modules/fast-uri/lib/utils.js
3089
3091
  var require_utils = __commonJS({
3090
- "node_modules/fast-uri/lib/utils.js"(exports, module) {
3092
+ "../../../node_modules/fast-uri/lib/utils.js"(exports, module) {
3091
3093
  "use strict";
3092
3094
  var isUUID = RegExp.prototype.test.bind(/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu);
3093
3095
  var isIPv4 = RegExp.prototype.test.bind(/^(?:(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)$/u);
@@ -3398,9 +3400,9 @@ var require_utils = __commonJS({
3398
3400
  }
3399
3401
  });
3400
3402
 
3401
- // node_modules/fast-uri/lib/schemes.js
3403
+ // ../../../node_modules/fast-uri/lib/schemes.js
3402
3404
  var require_schemes = __commonJS({
3403
- "node_modules/fast-uri/lib/schemes.js"(exports, module) {
3405
+ "../../../node_modules/fast-uri/lib/schemes.js"(exports, module) {
3404
3406
  "use strict";
3405
3407
  var { isUUID } = require_utils();
3406
3408
  var URN_REG = /([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu;
@@ -3608,9 +3610,9 @@ var require_schemes = __commonJS({
3608
3610
  }
3609
3611
  });
3610
3612
 
3611
- // node_modules/fast-uri/index.js
3613
+ // ../../../node_modules/fast-uri/index.js
3612
3614
  var require_fast_uri = __commonJS({
3613
- "node_modules/fast-uri/index.js"(exports, module) {
3615
+ "../../../node_modules/fast-uri/index.js"(exports, module) {
3614
3616
  "use strict";
3615
3617
  var { normalizeIPv6, removeDotSegments, recomposeAuthority, normalizePercentEncoding, normalizePathEncoding, escapePreservingEscapes, reescapeHostDelimiters, isIPv4, nonSimpleDomain } = require_utils();
3616
3618
  var { SCHEMES, getSchemeHandler } = require_schemes();
@@ -3626,12 +3628,7 @@ var require_fast_uri = __commonJS({
3626
3628
  }
3627
3629
  function resolve(baseURI, relativeURI, options) {
3628
3630
  const schemelessOptions = options ? Object.assign({ scheme: "null" }, options) : { scheme: "null" };
3629
- const { parsed: baseParsed, malformedAuthorityOrPort: baseMalformed } = parseWithStatus(baseURI, schemelessOptions);
3630
- const { parsed: relativeParsed, malformedAuthorityOrPort: relativeMalformed } = parseWithStatus(relativeURI, schemelessOptions);
3631
- if (baseMalformed || relativeMalformed) {
3632
- throw new Error(baseParsed.error || relativeParsed.error || "URI is malformed.");
3633
- }
3634
- const resolved = resolveComponent(baseParsed, relativeParsed, schemelessOptions, true);
3631
+ const resolved = resolveComponent(parse3(baseURI, schemelessOptions), parse3(relativeURI, schemelessOptions), schemelessOptions, true);
3635
3632
  schemelessOptions.skipEscape = true;
3636
3633
  return serialize(resolved, schemelessOptions);
3637
3634
  }
@@ -3756,8 +3753,6 @@ var require_fast_uri = __commonJS({
3756
3753
  return uriTokens.join("");
3757
3754
  }
3758
3755
  var URI_PARSE = /^(?:([^#/:?]+):)?(?:\/\/((?:([^#/?@]*)@)?(\[[^#/?\]]+\]|[^#/:?]*)(?::(\d*))?))?([^#?]*)(?:\?([^#]*))?(?:#((?:.|[\n\r])*))?/u;
3759
- var AUTHORITY_PREFIX = /^(?:[^#/:?]+:)?\/\/([^/?#]*)/;
3760
- var AUTHORITY_INTRODUCER_REGION = /^(?:[^#/:?]+:)?([/\\\t\n\r]*)/;
3761
3756
  function getParseError(parsed, matches) {
3762
3757
  if (matches[2] !== void 0 && parsed.path && parsed.path[0] !== "/") {
3763
3758
  return 'URI path must start with "/" when authority is present.';
@@ -3787,25 +3782,6 @@ var require_fast_uri = __commonJS({
3787
3782
  uri = "//" + uri;
3788
3783
  }
3789
3784
  }
3790
- const authorityMatch = uri.match(AUTHORITY_PREFIX);
3791
- if (authorityMatch !== null && authorityMatch[1].indexOf("\\") !== -1) {
3792
- parsed.error = "URI authority must not contain a literal backslash.";
3793
- malformedAuthorityOrPort = true;
3794
- }
3795
- const introducerMatch = uri.match(AUTHORITY_INTRODUCER_REGION);
3796
- if (introducerMatch !== null) {
3797
- const region = introducerMatch[1];
3798
- const normalizedRegion = region.replace(/[\t\n\r]/g, "");
3799
- if (normalizedRegion.length >= 2) {
3800
- if (normalizedRegion.slice(0, 2) !== "//") {
3801
- parsed.error = parsed.error || "URI authority must not contain a literal backslash.";
3802
- malformedAuthorityOrPort = true;
3803
- } else if (region.length !== normalizedRegion.length) {
3804
- parsed.error = parsed.error || "URI authority introducer must not contain whitespace.";
3805
- malformedAuthorityOrPort = true;
3806
- }
3807
- }
3808
- }
3809
3785
  const matches = uri.match(URI_PARSE);
3810
3786
  if (matches) {
3811
3787
  parsed.scheme = matches[1];
@@ -3920,9 +3896,9 @@ var require_fast_uri = __commonJS({
3920
3896
  }
3921
3897
  });
3922
3898
 
3923
- // node_modules/ajv/dist/runtime/uri.js
3899
+ // ../../../node_modules/ajv/dist/runtime/uri.js
3924
3900
  var require_uri = __commonJS({
3925
- "node_modules/ajv/dist/runtime/uri.js"(exports) {
3901
+ "../../../node_modules/ajv/dist/runtime/uri.js"(exports) {
3926
3902
  "use strict";
3927
3903
  Object.defineProperty(exports, "__esModule", { value: true });
3928
3904
  var uri = require_fast_uri();
@@ -3931,9 +3907,9 @@ var require_uri = __commonJS({
3931
3907
  }
3932
3908
  });
3933
3909
 
3934
- // node_modules/ajv/dist/core.js
3910
+ // ../../../node_modules/ajv/dist/core.js
3935
3911
  var require_core = __commonJS({
3936
- "node_modules/ajv/dist/core.js"(exports) {
3912
+ "../../../node_modules/ajv/dist/core.js"(exports) {
3937
3913
  "use strict";
3938
3914
  Object.defineProperty(exports, "__esModule", { value: true });
3939
3915
  exports.CodeGen = exports.Name = exports.nil = exports.stringify = exports.str = exports._ = exports.KeywordCxt = void 0;
@@ -4542,9 +4518,9 @@ var require_core = __commonJS({
4542
4518
  }
4543
4519
  });
4544
4520
 
4545
- // node_modules/ajv/dist/vocabularies/core/id.js
4521
+ // ../../../node_modules/ajv/dist/vocabularies/core/id.js
4546
4522
  var require_id = __commonJS({
4547
- "node_modules/ajv/dist/vocabularies/core/id.js"(exports) {
4523
+ "../../../node_modules/ajv/dist/vocabularies/core/id.js"(exports) {
4548
4524
  "use strict";
4549
4525
  Object.defineProperty(exports, "__esModule", { value: true });
4550
4526
  var def = {
@@ -4557,9 +4533,9 @@ var require_id = __commonJS({
4557
4533
  }
4558
4534
  });
4559
4535
 
4560
- // node_modules/ajv/dist/vocabularies/core/ref.js
4536
+ // ../../../node_modules/ajv/dist/vocabularies/core/ref.js
4561
4537
  var require_ref = __commonJS({
4562
- "node_modules/ajv/dist/vocabularies/core/ref.js"(exports) {
4538
+ "../../../node_modules/ajv/dist/vocabularies/core/ref.js"(exports) {
4563
4539
  "use strict";
4564
4540
  Object.defineProperty(exports, "__esModule", { value: true });
4565
4541
  exports.callRef = exports.getValidate = void 0;
@@ -4679,9 +4655,9 @@ var require_ref = __commonJS({
4679
4655
  }
4680
4656
  });
4681
4657
 
4682
- // node_modules/ajv/dist/vocabularies/core/index.js
4658
+ // ../../../node_modules/ajv/dist/vocabularies/core/index.js
4683
4659
  var require_core2 = __commonJS({
4684
- "node_modules/ajv/dist/vocabularies/core/index.js"(exports) {
4660
+ "../../../node_modules/ajv/dist/vocabularies/core/index.js"(exports) {
4685
4661
  "use strict";
4686
4662
  Object.defineProperty(exports, "__esModule", { value: true });
4687
4663
  var id_1 = require_id();
@@ -4700,9 +4676,9 @@ var require_core2 = __commonJS({
4700
4676
  }
4701
4677
  });
4702
4678
 
4703
- // node_modules/ajv/dist/vocabularies/validation/limitNumber.js
4679
+ // ../../../node_modules/ajv/dist/vocabularies/validation/limitNumber.js
4704
4680
  var require_limitNumber = __commonJS({
4705
- "node_modules/ajv/dist/vocabularies/validation/limitNumber.js"(exports) {
4681
+ "../../../node_modules/ajv/dist/vocabularies/validation/limitNumber.js"(exports) {
4706
4682
  "use strict";
4707
4683
  Object.defineProperty(exports, "__esModule", { value: true });
4708
4684
  var codegen_1 = require_codegen();
@@ -4732,9 +4708,9 @@ var require_limitNumber = __commonJS({
4732
4708
  }
4733
4709
  });
4734
4710
 
4735
- // node_modules/ajv/dist/vocabularies/validation/multipleOf.js
4711
+ // ../../../node_modules/ajv/dist/vocabularies/validation/multipleOf.js
4736
4712
  var require_multipleOf = __commonJS({
4737
- "node_modules/ajv/dist/vocabularies/validation/multipleOf.js"(exports) {
4713
+ "../../../node_modules/ajv/dist/vocabularies/validation/multipleOf.js"(exports) {
4738
4714
  "use strict";
4739
4715
  Object.defineProperty(exports, "__esModule", { value: true });
4740
4716
  var codegen_1 = require_codegen();
@@ -4760,9 +4736,9 @@ var require_multipleOf = __commonJS({
4760
4736
  }
4761
4737
  });
4762
4738
 
4763
- // node_modules/ajv/dist/runtime/ucs2length.js
4739
+ // ../../../node_modules/ajv/dist/runtime/ucs2length.js
4764
4740
  var require_ucs2length = __commonJS({
4765
- "node_modules/ajv/dist/runtime/ucs2length.js"(exports) {
4741
+ "../../../node_modules/ajv/dist/runtime/ucs2length.js"(exports) {
4766
4742
  "use strict";
4767
4743
  Object.defineProperty(exports, "__esModule", { value: true });
4768
4744
  function ucs2length(str) {
@@ -4786,9 +4762,9 @@ var require_ucs2length = __commonJS({
4786
4762
  }
4787
4763
  });
4788
4764
 
4789
- // node_modules/ajv/dist/vocabularies/validation/limitLength.js
4765
+ // ../../../node_modules/ajv/dist/vocabularies/validation/limitLength.js
4790
4766
  var require_limitLength = __commonJS({
4791
- "node_modules/ajv/dist/vocabularies/validation/limitLength.js"(exports) {
4767
+ "../../../node_modules/ajv/dist/vocabularies/validation/limitLength.js"(exports) {
4792
4768
  "use strict";
4793
4769
  Object.defineProperty(exports, "__esModule", { value: true });
4794
4770
  var codegen_1 = require_codegen();
@@ -4818,9 +4794,9 @@ var require_limitLength = __commonJS({
4818
4794
  }
4819
4795
  });
4820
4796
 
4821
- // node_modules/ajv/dist/vocabularies/validation/pattern.js
4797
+ // ../../../node_modules/ajv/dist/vocabularies/validation/pattern.js
4822
4798
  var require_pattern = __commonJS({
4823
- "node_modules/ajv/dist/vocabularies/validation/pattern.js"(exports) {
4799
+ "../../../node_modules/ajv/dist/vocabularies/validation/pattern.js"(exports) {
4824
4800
  "use strict";
4825
4801
  Object.defineProperty(exports, "__esModule", { value: true });
4826
4802
  var code_1 = require_code2();
@@ -4855,9 +4831,9 @@ var require_pattern = __commonJS({
4855
4831
  }
4856
4832
  });
4857
4833
 
4858
- // node_modules/ajv/dist/vocabularies/validation/limitProperties.js
4834
+ // ../../../node_modules/ajv/dist/vocabularies/validation/limitProperties.js
4859
4835
  var require_limitProperties = __commonJS({
4860
- "node_modules/ajv/dist/vocabularies/validation/limitProperties.js"(exports) {
4836
+ "../../../node_modules/ajv/dist/vocabularies/validation/limitProperties.js"(exports) {
4861
4837
  "use strict";
4862
4838
  Object.defineProperty(exports, "__esModule", { value: true });
4863
4839
  var codegen_1 = require_codegen();
@@ -4884,9 +4860,9 @@ var require_limitProperties = __commonJS({
4884
4860
  }
4885
4861
  });
4886
4862
 
4887
- // node_modules/ajv/dist/vocabularies/validation/required.js
4863
+ // ../../../node_modules/ajv/dist/vocabularies/validation/required.js
4888
4864
  var require_required = __commonJS({
4889
- "node_modules/ajv/dist/vocabularies/validation/required.js"(exports) {
4865
+ "../../../node_modules/ajv/dist/vocabularies/validation/required.js"(exports) {
4890
4866
  "use strict";
4891
4867
  Object.defineProperty(exports, "__esModule", { value: true });
4892
4868
  var code_1 = require_code2();
@@ -4966,9 +4942,9 @@ var require_required = __commonJS({
4966
4942
  }
4967
4943
  });
4968
4944
 
4969
- // node_modules/ajv/dist/vocabularies/validation/limitItems.js
4945
+ // ../../../node_modules/ajv/dist/vocabularies/validation/limitItems.js
4970
4946
  var require_limitItems = __commonJS({
4971
- "node_modules/ajv/dist/vocabularies/validation/limitItems.js"(exports) {
4947
+ "../../../node_modules/ajv/dist/vocabularies/validation/limitItems.js"(exports) {
4972
4948
  "use strict";
4973
4949
  Object.defineProperty(exports, "__esModule", { value: true });
4974
4950
  var codegen_1 = require_codegen();
@@ -4995,9 +4971,9 @@ var require_limitItems = __commonJS({
4995
4971
  }
4996
4972
  });
4997
4973
 
4998
- // node_modules/ajv/dist/runtime/equal.js
4974
+ // ../../../node_modules/ajv/dist/runtime/equal.js
4999
4975
  var require_equal = __commonJS({
5000
- "node_modules/ajv/dist/runtime/equal.js"(exports) {
4976
+ "../../../node_modules/ajv/dist/runtime/equal.js"(exports) {
5001
4977
  "use strict";
5002
4978
  Object.defineProperty(exports, "__esModule", { value: true });
5003
4979
  var equal = require_fast_deep_equal();
@@ -5006,9 +4982,9 @@ var require_equal = __commonJS({
5006
4982
  }
5007
4983
  });
5008
4984
 
5009
- // node_modules/ajv/dist/vocabularies/validation/uniqueItems.js
4985
+ // ../../../node_modules/ajv/dist/vocabularies/validation/uniqueItems.js
5010
4986
  var require_uniqueItems = __commonJS({
5011
- "node_modules/ajv/dist/vocabularies/validation/uniqueItems.js"(exports) {
4987
+ "../../../node_modules/ajv/dist/vocabularies/validation/uniqueItems.js"(exports) {
5012
4988
  "use strict";
5013
4989
  Object.defineProperty(exports, "__esModule", { value: true });
5014
4990
  var dataType_1 = require_dataType();
@@ -5073,9 +5049,9 @@ var require_uniqueItems = __commonJS({
5073
5049
  }
5074
5050
  });
5075
5051
 
5076
- // node_modules/ajv/dist/vocabularies/validation/const.js
5052
+ // ../../../node_modules/ajv/dist/vocabularies/validation/const.js
5077
5053
  var require_const = __commonJS({
5078
- "node_modules/ajv/dist/vocabularies/validation/const.js"(exports) {
5054
+ "../../../node_modules/ajv/dist/vocabularies/validation/const.js"(exports) {
5079
5055
  "use strict";
5080
5056
  Object.defineProperty(exports, "__esModule", { value: true });
5081
5057
  var codegen_1 = require_codegen();
@@ -5102,9 +5078,9 @@ var require_const = __commonJS({
5102
5078
  }
5103
5079
  });
5104
5080
 
5105
- // node_modules/ajv/dist/vocabularies/validation/enum.js
5081
+ // ../../../node_modules/ajv/dist/vocabularies/validation/enum.js
5106
5082
  var require_enum = __commonJS({
5107
- "node_modules/ajv/dist/vocabularies/validation/enum.js"(exports) {
5083
+ "../../../node_modules/ajv/dist/vocabularies/validation/enum.js"(exports) {
5108
5084
  "use strict";
5109
5085
  Object.defineProperty(exports, "__esModule", { value: true });
5110
5086
  var codegen_1 = require_codegen();
@@ -5151,9 +5127,9 @@ var require_enum = __commonJS({
5151
5127
  }
5152
5128
  });
5153
5129
 
5154
- // node_modules/ajv/dist/vocabularies/validation/index.js
5130
+ // ../../../node_modules/ajv/dist/vocabularies/validation/index.js
5155
5131
  var require_validation = __commonJS({
5156
- "node_modules/ajv/dist/vocabularies/validation/index.js"(exports) {
5132
+ "../../../node_modules/ajv/dist/vocabularies/validation/index.js"(exports) {
5157
5133
  "use strict";
5158
5134
  Object.defineProperty(exports, "__esModule", { value: true });
5159
5135
  var limitNumber_1 = require_limitNumber();
@@ -5189,9 +5165,9 @@ var require_validation = __commonJS({
5189
5165
  }
5190
5166
  });
5191
5167
 
5192
- // node_modules/ajv/dist/vocabularies/applicator/additionalItems.js
5168
+ // ../../../node_modules/ajv/dist/vocabularies/applicator/additionalItems.js
5193
5169
  var require_additionalItems = __commonJS({
5194
- "node_modules/ajv/dist/vocabularies/applicator/additionalItems.js"(exports) {
5170
+ "../../../node_modules/ajv/dist/vocabularies/applicator/additionalItems.js"(exports) {
5195
5171
  "use strict";
5196
5172
  Object.defineProperty(exports, "__esModule", { value: true });
5197
5173
  exports.validateAdditionalItems = void 0;
@@ -5242,9 +5218,9 @@ var require_additionalItems = __commonJS({
5242
5218
  }
5243
5219
  });
5244
5220
 
5245
- // node_modules/ajv/dist/vocabularies/applicator/items.js
5221
+ // ../../../node_modules/ajv/dist/vocabularies/applicator/items.js
5246
5222
  var require_items = __commonJS({
5247
- "node_modules/ajv/dist/vocabularies/applicator/items.js"(exports) {
5223
+ "../../../node_modules/ajv/dist/vocabularies/applicator/items.js"(exports) {
5248
5224
  "use strict";
5249
5225
  Object.defineProperty(exports, "__esModule", { value: true });
5250
5226
  exports.validateTuple = void 0;
@@ -5299,9 +5275,9 @@ var require_items = __commonJS({
5299
5275
  }
5300
5276
  });
5301
5277
 
5302
- // node_modules/ajv/dist/vocabularies/applicator/prefixItems.js
5278
+ // ../../../node_modules/ajv/dist/vocabularies/applicator/prefixItems.js
5303
5279
  var require_prefixItems = __commonJS({
5304
- "node_modules/ajv/dist/vocabularies/applicator/prefixItems.js"(exports) {
5280
+ "../../../node_modules/ajv/dist/vocabularies/applicator/prefixItems.js"(exports) {
5305
5281
  "use strict";
5306
5282
  Object.defineProperty(exports, "__esModule", { value: true });
5307
5283
  var items_1 = require_items();
@@ -5316,9 +5292,9 @@ var require_prefixItems = __commonJS({
5316
5292
  }
5317
5293
  });
5318
5294
 
5319
- // node_modules/ajv/dist/vocabularies/applicator/items2020.js
5295
+ // ../../../node_modules/ajv/dist/vocabularies/applicator/items2020.js
5320
5296
  var require_items2020 = __commonJS({
5321
- "node_modules/ajv/dist/vocabularies/applicator/items2020.js"(exports) {
5297
+ "../../../node_modules/ajv/dist/vocabularies/applicator/items2020.js"(exports) {
5322
5298
  "use strict";
5323
5299
  Object.defineProperty(exports, "__esModule", { value: true });
5324
5300
  var codegen_1 = require_codegen();
@@ -5351,9 +5327,9 @@ var require_items2020 = __commonJS({
5351
5327
  }
5352
5328
  });
5353
5329
 
5354
- // node_modules/ajv/dist/vocabularies/applicator/contains.js
5330
+ // ../../../node_modules/ajv/dist/vocabularies/applicator/contains.js
5355
5331
  var require_contains = __commonJS({
5356
- "node_modules/ajv/dist/vocabularies/applicator/contains.js"(exports) {
5332
+ "../../../node_modules/ajv/dist/vocabularies/applicator/contains.js"(exports) {
5357
5333
  "use strict";
5358
5334
  Object.defineProperty(exports, "__esModule", { value: true });
5359
5335
  var codegen_1 = require_codegen();
@@ -5445,9 +5421,9 @@ var require_contains = __commonJS({
5445
5421
  }
5446
5422
  });
5447
5423
 
5448
- // node_modules/ajv/dist/vocabularies/applicator/dependencies.js
5424
+ // ../../../node_modules/ajv/dist/vocabularies/applicator/dependencies.js
5449
5425
  var require_dependencies = __commonJS({
5450
- "node_modules/ajv/dist/vocabularies/applicator/dependencies.js"(exports) {
5426
+ "../../../node_modules/ajv/dist/vocabularies/applicator/dependencies.js"(exports) {
5451
5427
  "use strict";
5452
5428
  Object.defineProperty(exports, "__esModule", { value: true });
5453
5429
  exports.validateSchemaDeps = exports.validatePropertyDeps = exports.error = void 0;
@@ -5539,9 +5515,9 @@ var require_dependencies = __commonJS({
5539
5515
  }
5540
5516
  });
5541
5517
 
5542
- // node_modules/ajv/dist/vocabularies/applicator/propertyNames.js
5518
+ // ../../../node_modules/ajv/dist/vocabularies/applicator/propertyNames.js
5543
5519
  var require_propertyNames = __commonJS({
5544
- "node_modules/ajv/dist/vocabularies/applicator/propertyNames.js"(exports) {
5520
+ "../../../node_modules/ajv/dist/vocabularies/applicator/propertyNames.js"(exports) {
5545
5521
  "use strict";
5546
5522
  Object.defineProperty(exports, "__esModule", { value: true });
5547
5523
  var codegen_1 = require_codegen();
@@ -5582,9 +5558,9 @@ var require_propertyNames = __commonJS({
5582
5558
  }
5583
5559
  });
5584
5560
 
5585
- // node_modules/ajv/dist/vocabularies/applicator/additionalProperties.js
5561
+ // ../../../node_modules/ajv/dist/vocabularies/applicator/additionalProperties.js
5586
5562
  var require_additionalProperties = __commonJS({
5587
- "node_modules/ajv/dist/vocabularies/applicator/additionalProperties.js"(exports) {
5563
+ "../../../node_modules/ajv/dist/vocabularies/applicator/additionalProperties.js"(exports) {
5588
5564
  "use strict";
5589
5565
  Object.defineProperty(exports, "__esModule", { value: true });
5590
5566
  var code_1 = require_code2();
@@ -5688,9 +5664,9 @@ var require_additionalProperties = __commonJS({
5688
5664
  }
5689
5665
  });
5690
5666
 
5691
- // node_modules/ajv/dist/vocabularies/applicator/properties.js
5667
+ // ../../../node_modules/ajv/dist/vocabularies/applicator/properties.js
5692
5668
  var require_properties = __commonJS({
5693
- "node_modules/ajv/dist/vocabularies/applicator/properties.js"(exports) {
5669
+ "../../../node_modules/ajv/dist/vocabularies/applicator/properties.js"(exports) {
5694
5670
  "use strict";
5695
5671
  Object.defineProperty(exports, "__esModule", { value: true });
5696
5672
  var validate_1 = require_validate();
@@ -5746,9 +5722,9 @@ var require_properties = __commonJS({
5746
5722
  }
5747
5723
  });
5748
5724
 
5749
- // node_modules/ajv/dist/vocabularies/applicator/patternProperties.js
5725
+ // ../../../node_modules/ajv/dist/vocabularies/applicator/patternProperties.js
5750
5726
  var require_patternProperties = __commonJS({
5751
- "node_modules/ajv/dist/vocabularies/applicator/patternProperties.js"(exports) {
5727
+ "../../../node_modules/ajv/dist/vocabularies/applicator/patternProperties.js"(exports) {
5752
5728
  "use strict";
5753
5729
  Object.defineProperty(exports, "__esModule", { value: true });
5754
5730
  var code_1 = require_code2();
@@ -5820,9 +5796,9 @@ var require_patternProperties = __commonJS({
5820
5796
  }
5821
5797
  });
5822
5798
 
5823
- // node_modules/ajv/dist/vocabularies/applicator/not.js
5799
+ // ../../../node_modules/ajv/dist/vocabularies/applicator/not.js
5824
5800
  var require_not = __commonJS({
5825
- "node_modules/ajv/dist/vocabularies/applicator/not.js"(exports) {
5801
+ "../../../node_modules/ajv/dist/vocabularies/applicator/not.js"(exports) {
5826
5802
  "use strict";
5827
5803
  Object.defineProperty(exports, "__esModule", { value: true });
5828
5804
  var util_1 = require_util();
@@ -5851,9 +5827,9 @@ var require_not = __commonJS({
5851
5827
  }
5852
5828
  });
5853
5829
 
5854
- // node_modules/ajv/dist/vocabularies/applicator/anyOf.js
5830
+ // ../../../node_modules/ajv/dist/vocabularies/applicator/anyOf.js
5855
5831
  var require_anyOf = __commonJS({
5856
- "node_modules/ajv/dist/vocabularies/applicator/anyOf.js"(exports) {
5832
+ "../../../node_modules/ajv/dist/vocabularies/applicator/anyOf.js"(exports) {
5857
5833
  "use strict";
5858
5834
  Object.defineProperty(exports, "__esModule", { value: true });
5859
5835
  var code_1 = require_code2();
@@ -5868,9 +5844,9 @@ var require_anyOf = __commonJS({
5868
5844
  }
5869
5845
  });
5870
5846
 
5871
- // node_modules/ajv/dist/vocabularies/applicator/oneOf.js
5847
+ // ../../../node_modules/ajv/dist/vocabularies/applicator/oneOf.js
5872
5848
  var require_oneOf = __commonJS({
5873
- "node_modules/ajv/dist/vocabularies/applicator/oneOf.js"(exports) {
5849
+ "../../../node_modules/ajv/dist/vocabularies/applicator/oneOf.js"(exports) {
5874
5850
  "use strict";
5875
5851
  Object.defineProperty(exports, "__esModule", { value: true });
5876
5852
  var codegen_1 = require_codegen();
@@ -5926,9 +5902,9 @@ var require_oneOf = __commonJS({
5926
5902
  }
5927
5903
  });
5928
5904
 
5929
- // node_modules/ajv/dist/vocabularies/applicator/allOf.js
5905
+ // ../../../node_modules/ajv/dist/vocabularies/applicator/allOf.js
5930
5906
  var require_allOf = __commonJS({
5931
- "node_modules/ajv/dist/vocabularies/applicator/allOf.js"(exports) {
5907
+ "../../../node_modules/ajv/dist/vocabularies/applicator/allOf.js"(exports) {
5932
5908
  "use strict";
5933
5909
  Object.defineProperty(exports, "__esModule", { value: true });
5934
5910
  var util_1 = require_util();
@@ -5953,9 +5929,9 @@ var require_allOf = __commonJS({
5953
5929
  }
5954
5930
  });
5955
5931
 
5956
- // node_modules/ajv/dist/vocabularies/applicator/if.js
5932
+ // ../../../node_modules/ajv/dist/vocabularies/applicator/if.js
5957
5933
  var require_if = __commonJS({
5958
- "node_modules/ajv/dist/vocabularies/applicator/if.js"(exports) {
5934
+ "../../../node_modules/ajv/dist/vocabularies/applicator/if.js"(exports) {
5959
5935
  "use strict";
5960
5936
  Object.defineProperty(exports, "__esModule", { value: true });
5961
5937
  var codegen_1 = require_codegen();
@@ -6022,9 +5998,9 @@ var require_if = __commonJS({
6022
5998
  }
6023
5999
  });
6024
6000
 
6025
- // node_modules/ajv/dist/vocabularies/applicator/thenElse.js
6001
+ // ../../../node_modules/ajv/dist/vocabularies/applicator/thenElse.js
6026
6002
  var require_thenElse = __commonJS({
6027
- "node_modules/ajv/dist/vocabularies/applicator/thenElse.js"(exports) {
6003
+ "../../../node_modules/ajv/dist/vocabularies/applicator/thenElse.js"(exports) {
6028
6004
  "use strict";
6029
6005
  Object.defineProperty(exports, "__esModule", { value: true });
6030
6006
  var util_1 = require_util();
@@ -6040,9 +6016,9 @@ var require_thenElse = __commonJS({
6040
6016
  }
6041
6017
  });
6042
6018
 
6043
- // node_modules/ajv/dist/vocabularies/applicator/index.js
6019
+ // ../../../node_modules/ajv/dist/vocabularies/applicator/index.js
6044
6020
  var require_applicator = __commonJS({
6045
- "node_modules/ajv/dist/vocabularies/applicator/index.js"(exports) {
6021
+ "../../../node_modules/ajv/dist/vocabularies/applicator/index.js"(exports) {
6046
6022
  "use strict";
6047
6023
  Object.defineProperty(exports, "__esModule", { value: true });
6048
6024
  var additionalItems_1 = require_additionalItems();
@@ -6088,9 +6064,9 @@ var require_applicator = __commonJS({
6088
6064
  }
6089
6065
  });
6090
6066
 
6091
- // node_modules/ajv/dist/vocabularies/format/format.js
6067
+ // ../../../node_modules/ajv/dist/vocabularies/format/format.js
6092
6068
  var require_format = __commonJS({
6093
- "node_modules/ajv/dist/vocabularies/format/format.js"(exports) {
6069
+ "../../../node_modules/ajv/dist/vocabularies/format/format.js"(exports) {
6094
6070
  "use strict";
6095
6071
  Object.defineProperty(exports, "__esModule", { value: true });
6096
6072
  var codegen_1 = require_codegen();
@@ -6178,9 +6154,9 @@ var require_format = __commonJS({
6178
6154
  }
6179
6155
  });
6180
6156
 
6181
- // node_modules/ajv/dist/vocabularies/format/index.js
6157
+ // ../../../node_modules/ajv/dist/vocabularies/format/index.js
6182
6158
  var require_format2 = __commonJS({
6183
- "node_modules/ajv/dist/vocabularies/format/index.js"(exports) {
6159
+ "../../../node_modules/ajv/dist/vocabularies/format/index.js"(exports) {
6184
6160
  "use strict";
6185
6161
  Object.defineProperty(exports, "__esModule", { value: true });
6186
6162
  var format_1 = require_format();
@@ -6189,9 +6165,9 @@ var require_format2 = __commonJS({
6189
6165
  }
6190
6166
  });
6191
6167
 
6192
- // node_modules/ajv/dist/vocabularies/metadata.js
6168
+ // ../../../node_modules/ajv/dist/vocabularies/metadata.js
6193
6169
  var require_metadata = __commonJS({
6194
- "node_modules/ajv/dist/vocabularies/metadata.js"(exports) {
6170
+ "../../../node_modules/ajv/dist/vocabularies/metadata.js"(exports) {
6195
6171
  "use strict";
6196
6172
  Object.defineProperty(exports, "__esModule", { value: true });
6197
6173
  exports.contentVocabulary = exports.metadataVocabulary = void 0;
@@ -6212,9 +6188,9 @@ var require_metadata = __commonJS({
6212
6188
  }
6213
6189
  });
6214
6190
 
6215
- // node_modules/ajv/dist/vocabularies/draft7.js
6191
+ // ../../../node_modules/ajv/dist/vocabularies/draft7.js
6216
6192
  var require_draft7 = __commonJS({
6217
- "node_modules/ajv/dist/vocabularies/draft7.js"(exports) {
6193
+ "../../../node_modules/ajv/dist/vocabularies/draft7.js"(exports) {
6218
6194
  "use strict";
6219
6195
  Object.defineProperty(exports, "__esModule", { value: true });
6220
6196
  var core_1 = require_core2();
@@ -6234,9 +6210,9 @@ var require_draft7 = __commonJS({
6234
6210
  }
6235
6211
  });
6236
6212
 
6237
- // node_modules/ajv/dist/vocabularies/discriminator/types.js
6213
+ // ../../../node_modules/ajv/dist/vocabularies/discriminator/types.js
6238
6214
  var require_types = __commonJS({
6239
- "node_modules/ajv/dist/vocabularies/discriminator/types.js"(exports) {
6215
+ "../../../node_modules/ajv/dist/vocabularies/discriminator/types.js"(exports) {
6240
6216
  "use strict";
6241
6217
  Object.defineProperty(exports, "__esModule", { value: true });
6242
6218
  exports.DiscrError = void 0;
@@ -6248,9 +6224,9 @@ var require_types = __commonJS({
6248
6224
  }
6249
6225
  });
6250
6226
 
6251
- // node_modules/ajv/dist/vocabularies/discriminator/index.js
6227
+ // ../../../node_modules/ajv/dist/vocabularies/discriminator/index.js
6252
6228
  var require_discriminator = __commonJS({
6253
- "node_modules/ajv/dist/vocabularies/discriminator/index.js"(exports) {
6229
+ "../../../node_modules/ajv/dist/vocabularies/discriminator/index.js"(exports) {
6254
6230
  "use strict";
6255
6231
  Object.defineProperty(exports, "__esModule", { value: true });
6256
6232
  var codegen_1 = require_codegen();
@@ -6353,9 +6329,9 @@ var require_discriminator = __commonJS({
6353
6329
  }
6354
6330
  });
6355
6331
 
6356
- // node_modules/ajv/dist/refs/json-schema-draft-07.json
6332
+ // ../../../node_modules/ajv/dist/refs/json-schema-draft-07.json
6357
6333
  var require_json_schema_draft_07 = __commonJS({
6358
- "node_modules/ajv/dist/refs/json-schema-draft-07.json"(exports, module) {
6334
+ "../../../node_modules/ajv/dist/refs/json-schema-draft-07.json"(exports, module) {
6359
6335
  module.exports = {
6360
6336
  $schema: "http://json-schema.org/draft-07/schema#",
6361
6337
  $id: "http://json-schema.org/draft-07/schema#",
@@ -6510,9 +6486,9 @@ var require_json_schema_draft_07 = __commonJS({
6510
6486
  }
6511
6487
  });
6512
6488
 
6513
- // node_modules/ajv/dist/ajv.js
6489
+ // ../../../node_modules/ajv/dist/ajv.js
6514
6490
  var require_ajv = __commonJS({
6515
- "node_modules/ajv/dist/ajv.js"(exports, module) {
6491
+ "../../../node_modules/ajv/dist/ajv.js"(exports, module) {
6516
6492
  "use strict";
6517
6493
  Object.defineProperty(exports, "__esModule", { value: true });
6518
6494
  exports.MissingRefError = exports.ValidationError = exports.CodeGen = exports.Name = exports.nil = exports.stringify = exports.str = exports._ = exports.KeywordCxt = exports.Ajv = void 0;
@@ -6580,9 +6556,9 @@ var require_ajv = __commonJS({
6580
6556
  }
6581
6557
  });
6582
6558
 
6583
- // node_modules/ajv-formats/dist/formats.js
6559
+ // ../../../node_modules/ajv-formats/dist/formats.js
6584
6560
  var require_formats = __commonJS({
6585
- "node_modules/ajv-formats/dist/formats.js"(exports) {
6561
+ "../../../node_modules/ajv-formats/dist/formats.js"(exports) {
6586
6562
  "use strict";
6587
6563
  Object.defineProperty(exports, "__esModule", { value: true });
6588
6564
  exports.formatNames = exports.fastFormats = exports.fullFormats = void 0;
@@ -6783,9 +6759,9 @@ var require_formats = __commonJS({
6783
6759
  }
6784
6760
  });
6785
6761
 
6786
- // node_modules/ajv-formats/dist/limit.js
6762
+ // ../../../node_modules/ajv-formats/dist/limit.js
6787
6763
  var require_limit = __commonJS({
6788
- "node_modules/ajv-formats/dist/limit.js"(exports) {
6764
+ "../../../node_modules/ajv-formats/dist/limit.js"(exports) {
6789
6765
  "use strict";
6790
6766
  Object.defineProperty(exports, "__esModule", { value: true });
6791
6767
  exports.formatLimitDefinition = void 0;
@@ -6855,9 +6831,9 @@ var require_limit = __commonJS({
6855
6831
  }
6856
6832
  });
6857
6833
 
6858
- // node_modules/ajv-formats/dist/index.js
6834
+ // ../../../node_modules/ajv-formats/dist/index.js
6859
6835
  var require_dist = __commonJS({
6860
- "node_modules/ajv-formats/dist/index.js"(exports, module) {
6836
+ "../../../node_modules/ajv-formats/dist/index.js"(exports, module) {
6861
6837
  "use strict";
6862
6838
  Object.defineProperty(exports, "__esModule", { value: true });
6863
6839
  var formats_1 = require_formats();
@@ -6901,7 +6877,7 @@ var require_dist = __commonJS({
6901
6877
  import { readFileSync } from "node:fs";
6902
6878
  import { fileURLToPath } from "node:url";
6903
6879
 
6904
- // node_modules/zod/v3/helpers/util.js
6880
+ // ../../../node_modules/zod/v3/helpers/util.js
6905
6881
  var util;
6906
6882
  (function(util2) {
6907
6883
  util2.assertEqual = (_) => {
@@ -7035,7 +7011,7 @@ var getParsedType = (data) => {
7035
7011
  }
7036
7012
  };
7037
7013
 
7038
- // node_modules/zod/v3/ZodError.js
7014
+ // ../../../node_modules/zod/v3/ZodError.js
7039
7015
  var ZodIssueCode = util.arrayToEnum([
7040
7016
  "invalid_type",
7041
7017
  "invalid_literal",
@@ -7149,7 +7125,7 @@ ZodError.create = (issues) => {
7149
7125
  return error51;
7150
7126
  };
7151
7127
 
7152
- // node_modules/zod/v3/locales/en.js
7128
+ // ../../../node_modules/zod/v3/locales/en.js
7153
7129
  var errorMap = (issue2, _ctx) => {
7154
7130
  let message;
7155
7131
  switch (issue2.code) {
@@ -7252,13 +7228,13 @@ var errorMap = (issue2, _ctx) => {
7252
7228
  };
7253
7229
  var en_default = errorMap;
7254
7230
 
7255
- // node_modules/zod/v3/errors.js
7231
+ // ../../../node_modules/zod/v3/errors.js
7256
7232
  var overrideErrorMap = en_default;
7257
7233
  function getErrorMap() {
7258
7234
  return overrideErrorMap;
7259
7235
  }
7260
7236
 
7261
- // node_modules/zod/v3/helpers/parseUtil.js
7237
+ // ../../../node_modules/zod/v3/helpers/parseUtil.js
7262
7238
  var makeIssue = (params) => {
7263
7239
  const { data, path, errorMaps, issueData } = params;
7264
7240
  const fullPath = [...path, ...issueData.path || []];
@@ -7367,14 +7343,14 @@ var isDirty = (x) => x.status === "dirty";
7367
7343
  var isValid = (x) => x.status === "valid";
7368
7344
  var isAsync = (x) => typeof Promise !== "undefined" && x instanceof Promise;
7369
7345
 
7370
- // node_modules/zod/v3/helpers/errorUtil.js
7346
+ // ../../../node_modules/zod/v3/helpers/errorUtil.js
7371
7347
  var errorUtil;
7372
7348
  (function(errorUtil2) {
7373
7349
  errorUtil2.errToObj = (message) => typeof message === "string" ? { message } : message || {};
7374
7350
  errorUtil2.toString = (message) => typeof message === "string" ? message : message?.message;
7375
7351
  })(errorUtil || (errorUtil = {}));
7376
7352
 
7377
- // node_modules/zod/v3/types.js
7353
+ // ../../../node_modules/zod/v3/types.js
7378
7354
  var ParseInputLazyPath = class {
7379
7355
  constructor(parent, value, path, key) {
7380
7356
  this._cachedPath = [];
@@ -10778,7 +10754,7 @@ var nullableType = ZodNullable.create;
10778
10754
  var preprocessType = ZodEffects.createWithPreprocess;
10779
10755
  var pipelineType = ZodPipeline.create;
10780
10756
 
10781
- // node_modules/zod/v4/core/index.js
10757
+ // ../../../node_modules/zod/v4/core/index.js
10782
10758
  var core_exports2 = {};
10783
10759
  __export(core_exports2, {
10784
10760
  $ZodAny: () => $ZodAny,
@@ -11057,7 +11033,7 @@ __export(core_exports2, {
11057
11033
  version: () => version
11058
11034
  });
11059
11035
 
11060
- // node_modules/zod/v4/core/core.js
11036
+ // ../../../node_modules/zod/v4/core/core.js
11061
11037
  var _a;
11062
11038
  var NEVER = /* @__PURE__ */ Object.freeze({
11063
11039
  status: "aborted"
@@ -11134,7 +11110,7 @@ function config(newConfig) {
11134
11110
  return globalConfig;
11135
11111
  }
11136
11112
 
11137
- // node_modules/zod/v4/core/util.js
11113
+ // ../../../node_modules/zod/v4/core/util.js
11138
11114
  var util_exports = {};
11139
11115
  __export(util_exports, {
11140
11116
  BIGINT_FORMAT_RANGES: () => BIGINT_FORMAT_RANGES,
@@ -11830,7 +11806,7 @@ var Class = class {
11830
11806
  }
11831
11807
  };
11832
11808
 
11833
- // node_modules/zod/v4/core/errors.js
11809
+ // ../../../node_modules/zod/v4/core/errors.js
11834
11810
  var initializer = (inst, def) => {
11835
11811
  inst.name = "$ZodError";
11836
11812
  Object.defineProperty(inst, "_zod", {
@@ -11969,7 +11945,7 @@ function prettifyError(error51) {
11969
11945
  return lines.join("\n");
11970
11946
  }
11971
11947
 
11972
- // node_modules/zod/v4/core/parse.js
11948
+ // ../../../node_modules/zod/v4/core/parse.js
11973
11949
  var _parse = (_Err) => (schema, value, _ctx, _params) => {
11974
11950
  const ctx = _ctx ? { ..._ctx, async: false } : { async: false };
11975
11951
  const result = schema._zod.run({ value, issues: [] }, ctx);
@@ -12057,7 +12033,7 @@ var _safeDecodeAsync = (_Err) => async (schema, value, _ctx) => {
12057
12033
  };
12058
12034
  var safeDecodeAsync = /* @__PURE__ */ _safeDecodeAsync($ZodRealError);
12059
12035
 
12060
- // node_modules/zod/v4/core/regexes.js
12036
+ // ../../../node_modules/zod/v4/core/regexes.js
12061
12037
  var regexes_exports = {};
12062
12038
  __export(regexes_exports, {
12063
12039
  base64: () => base64,
@@ -12216,7 +12192,7 @@ var sha512_hex = /^[0-9a-fA-F]{128}$/;
12216
12192
  var sha512_base64 = /* @__PURE__ */ fixedBase64(86, "==");
12217
12193
  var sha512_base64url = /* @__PURE__ */ fixedBase64url(86);
12218
12194
 
12219
- // node_modules/zod/v4/core/checks.js
12195
+ // ../../../node_modules/zod/v4/core/checks.js
12220
12196
  var $ZodCheck = /* @__PURE__ */ $constructor("$ZodCheck", (inst, def) => {
12221
12197
  var _a3;
12222
12198
  inst._zod ?? (inst._zod = {});
@@ -12764,7 +12740,7 @@ var $ZodCheckOverwrite = /* @__PURE__ */ $constructor("$ZodCheckOverwrite", (ins
12764
12740
  };
12765
12741
  });
12766
12742
 
12767
- // node_modules/zod/v4/core/doc.js
12743
+ // ../../../node_modules/zod/v4/core/doc.js
12768
12744
  var Doc = class {
12769
12745
  constructor(args = []) {
12770
12746
  this.content = [];
@@ -12800,14 +12776,14 @@ var Doc = class {
12800
12776
  }
12801
12777
  };
12802
12778
 
12803
- // node_modules/zod/v4/core/versions.js
12779
+ // ../../../node_modules/zod/v4/core/versions.js
12804
12780
  var version = {
12805
12781
  major: 4,
12806
12782
  minor: 4,
12807
12783
  patch: 3
12808
12784
  };
12809
12785
 
12810
- // node_modules/zod/v4/core/schemas.js
12786
+ // ../../../node_modules/zod/v4/core/schemas.js
12811
12787
  var $ZodType = /* @__PURE__ */ $constructor("$ZodType", (inst, def) => {
12812
12788
  var _a3;
12813
12789
  inst ?? (inst = {});
@@ -14900,7 +14876,7 @@ function handleRefineResult(result, payload, input, inst) {
14900
14876
  }
14901
14877
  }
14902
14878
 
14903
- // node_modules/zod/v4/locales/index.js
14879
+ // ../../../node_modules/zod/v4/locales/index.js
14904
14880
  var locales_exports = {};
14905
14881
  __export(locales_exports, {
14906
14882
  ar: () => ar_default,
@@ -14957,7 +14933,7 @@ __export(locales_exports, {
14957
14933
  zhTW: () => zh_TW_default
14958
14934
  });
14959
14935
 
14960
- // node_modules/zod/v4/locales/ar.js
14936
+ // ../../../node_modules/zod/v4/locales/ar.js
14961
14937
  var error = () => {
14962
14938
  const Sizable = {
14963
14939
  string: { unit: "\u062D\u0631\u0641", verb: "\u0623\u0646 \u064A\u062D\u0648\u064A" },
@@ -15064,7 +15040,7 @@ function ar_default() {
15064
15040
  };
15065
15041
  }
15066
15042
 
15067
- // node_modules/zod/v4/locales/az.js
15043
+ // ../../../node_modules/zod/v4/locales/az.js
15068
15044
  var error2 = () => {
15069
15045
  const Sizable = {
15070
15046
  string: { unit: "simvol", verb: "olmal\u0131d\u0131r" },
@@ -15170,7 +15146,7 @@ function az_default() {
15170
15146
  };
15171
15147
  }
15172
15148
 
15173
- // node_modules/zod/v4/locales/be.js
15149
+ // ../../../node_modules/zod/v4/locales/be.js
15174
15150
  function getBelarusianPlural(count, one, few, many) {
15175
15151
  const absCount = Math.abs(count);
15176
15152
  const lastDigit = absCount % 10;
@@ -15327,7 +15303,7 @@ function be_default() {
15327
15303
  };
15328
15304
  }
15329
15305
 
15330
- // node_modules/zod/v4/locales/bg.js
15306
+ // ../../../node_modules/zod/v4/locales/bg.js
15331
15307
  var error4 = () => {
15332
15308
  const Sizable = {
15333
15309
  string: { unit: "\u0441\u0438\u043C\u0432\u043E\u043B\u0430", verb: "\u0434\u0430 \u0441\u044A\u0434\u044A\u0440\u0436\u0430" },
@@ -15448,7 +15424,7 @@ function bg_default() {
15448
15424
  };
15449
15425
  }
15450
15426
 
15451
- // node_modules/zod/v4/locales/ca.js
15427
+ // ../../../node_modules/zod/v4/locales/ca.js
15452
15428
  var error5 = () => {
15453
15429
  const Sizable = {
15454
15430
  string: { unit: "car\xE0cters", verb: "contenir" },
@@ -15557,7 +15533,7 @@ function ca_default() {
15557
15533
  };
15558
15534
  }
15559
15535
 
15560
- // node_modules/zod/v4/locales/cs.js
15536
+ // ../../../node_modules/zod/v4/locales/cs.js
15561
15537
  var error6 = () => {
15562
15538
  const Sizable = {
15563
15539
  string: { unit: "znak\u016F", verb: "m\xEDt" },
@@ -15669,7 +15645,7 @@ function cs_default() {
15669
15645
  };
15670
15646
  }
15671
15647
 
15672
- // node_modules/zod/v4/locales/da.js
15648
+ // ../../../node_modules/zod/v4/locales/da.js
15673
15649
  var error7 = () => {
15674
15650
  const Sizable = {
15675
15651
  string: { unit: "tegn", verb: "havde" },
@@ -15785,7 +15761,7 @@ function da_default() {
15785
15761
  };
15786
15762
  }
15787
15763
 
15788
- // node_modules/zod/v4/locales/de.js
15764
+ // ../../../node_modules/zod/v4/locales/de.js
15789
15765
  var error8 = () => {
15790
15766
  const Sizable = {
15791
15767
  string: { unit: "Zeichen", verb: "zu haben" },
@@ -15894,7 +15870,7 @@ function de_default() {
15894
15870
  };
15895
15871
  }
15896
15872
 
15897
- // node_modules/zod/v4/locales/el.js
15873
+ // ../../../node_modules/zod/v4/locales/el.js
15898
15874
  var error9 = () => {
15899
15875
  const Sizable = {
15900
15876
  string: { unit: "\u03C7\u03B1\u03C1\u03B1\u03BA\u03C4\u03AE\u03C1\u03B5\u03C2", verb: "\u03BD\u03B1 \u03AD\u03C7\u03B5\u03B9" },
@@ -16004,7 +15980,7 @@ function el_default() {
16004
15980
  };
16005
15981
  }
16006
15982
 
16007
- // node_modules/zod/v4/locales/en.js
15983
+ // ../../../node_modules/zod/v4/locales/en.js
16008
15984
  var error10 = () => {
16009
15985
  const Sizable = {
16010
15986
  string: { unit: "characters", verb: "to have" },
@@ -16117,7 +16093,7 @@ function en_default2() {
16117
16093
  };
16118
16094
  }
16119
16095
 
16120
- // node_modules/zod/v4/locales/eo.js
16096
+ // ../../../node_modules/zod/v4/locales/eo.js
16121
16097
  var error11 = () => {
16122
16098
  const Sizable = {
16123
16099
  string: { unit: "karaktrojn", verb: "havi" },
@@ -16227,7 +16203,7 @@ function eo_default() {
16227
16203
  };
16228
16204
  }
16229
16205
 
16230
- // node_modules/zod/v4/locales/es.js
16206
+ // ../../../node_modules/zod/v4/locales/es.js
16231
16207
  var error12 = () => {
16232
16208
  const Sizable = {
16233
16209
  string: { unit: "caracteres", verb: "tener" },
@@ -16360,7 +16336,7 @@ function es_default() {
16360
16336
  };
16361
16337
  }
16362
16338
 
16363
- // node_modules/zod/v4/locales/fa.js
16339
+ // ../../../node_modules/zod/v4/locales/fa.js
16364
16340
  var error13 = () => {
16365
16341
  const Sizable = {
16366
16342
  string: { unit: "\u06A9\u0627\u0631\u0627\u06A9\u062A\u0631", verb: "\u062F\u0627\u0634\u062A\u0647 \u0628\u0627\u0634\u062F" },
@@ -16475,7 +16451,7 @@ function fa_default() {
16475
16451
  };
16476
16452
  }
16477
16453
 
16478
- // node_modules/zod/v4/locales/fi.js
16454
+ // ../../../node_modules/zod/v4/locales/fi.js
16479
16455
  var error14 = () => {
16480
16456
  const Sizable = {
16481
16457
  string: { unit: "merkki\xE4", subject: "merkkijonon" },
@@ -16588,7 +16564,7 @@ function fi_default() {
16588
16564
  };
16589
16565
  }
16590
16566
 
16591
- // node_modules/zod/v4/locales/fr.js
16567
+ // ../../../node_modules/zod/v4/locales/fr.js
16592
16568
  var error15 = () => {
16593
16569
  const Sizable = {
16594
16570
  string: { unit: "caract\xE8res", verb: "avoir" },
@@ -16714,7 +16690,7 @@ function fr_default() {
16714
16690
  };
16715
16691
  }
16716
16692
 
16717
- // node_modules/zod/v4/locales/fr-CA.js
16693
+ // ../../../node_modules/zod/v4/locales/fr-CA.js
16718
16694
  var error16 = () => {
16719
16695
  const Sizable = {
16720
16696
  string: { unit: "caract\xE8res", verb: "avoir" },
@@ -16822,7 +16798,7 @@ function fr_CA_default() {
16822
16798
  };
16823
16799
  }
16824
16800
 
16825
- // node_modules/zod/v4/locales/he.js
16801
+ // ../../../node_modules/zod/v4/locales/he.js
16826
16802
  var error17 = () => {
16827
16803
  const TypeNames = {
16828
16804
  string: { label: "\u05DE\u05D7\u05E8\u05D5\u05D6\u05EA", gender: "f" },
@@ -17017,7 +16993,7 @@ function he_default() {
17017
16993
  };
17018
16994
  }
17019
16995
 
17020
- // node_modules/zod/v4/locales/hr.js
16996
+ // ../../../node_modules/zod/v4/locales/hr.js
17021
16997
  var error18 = () => {
17022
16998
  const Sizable = {
17023
16999
  string: { unit: "znakova", verb: "imati" },
@@ -17140,7 +17116,7 @@ function hr_default() {
17140
17116
  };
17141
17117
  }
17142
17118
 
17143
- // node_modules/zod/v4/locales/hu.js
17119
+ // ../../../node_modules/zod/v4/locales/hu.js
17144
17120
  var error19 = () => {
17145
17121
  const Sizable = {
17146
17122
  string: { unit: "karakter", verb: "legyen" },
@@ -17249,7 +17225,7 @@ function hu_default() {
17249
17225
  };
17250
17226
  }
17251
17227
 
17252
- // node_modules/zod/v4/locales/hy.js
17228
+ // ../../../node_modules/zod/v4/locales/hy.js
17253
17229
  function getArmenianPlural(count, one, many) {
17254
17230
  return Math.abs(count) === 1 ? one : many;
17255
17231
  }
@@ -17397,7 +17373,7 @@ function hy_default() {
17397
17373
  };
17398
17374
  }
17399
17375
 
17400
- // node_modules/zod/v4/locales/id.js
17376
+ // ../../../node_modules/zod/v4/locales/id.js
17401
17377
  var error21 = () => {
17402
17378
  const Sizable = {
17403
17379
  string: { unit: "karakter", verb: "memiliki" },
@@ -17504,7 +17480,7 @@ function id_default() {
17504
17480
  };
17505
17481
  }
17506
17482
 
17507
- // node_modules/zod/v4/locales/is.js
17483
+ // ../../../node_modules/zod/v4/locales/is.js
17508
17484
  var error22 = () => {
17509
17485
  const Sizable = {
17510
17486
  string: { unit: "stafi", verb: "a\xF0 hafa" },
@@ -17614,7 +17590,7 @@ function is_default() {
17614
17590
  };
17615
17591
  }
17616
17592
 
17617
- // node_modules/zod/v4/locales/it.js
17593
+ // ../../../node_modules/zod/v4/locales/it.js
17618
17594
  var error23 = () => {
17619
17595
  const Sizable = {
17620
17596
  string: { unit: "caratteri", verb: "avere" },
@@ -17723,7 +17699,7 @@ function it_default() {
17723
17699
  };
17724
17700
  }
17725
17701
 
17726
- // node_modules/zod/v4/locales/ja.js
17702
+ // ../../../node_modules/zod/v4/locales/ja.js
17727
17703
  var error24 = () => {
17728
17704
  const Sizable = {
17729
17705
  string: { unit: "\u6587\u5B57", verb: "\u3067\u3042\u308B" },
@@ -17831,7 +17807,7 @@ function ja_default() {
17831
17807
  };
17832
17808
  }
17833
17809
 
17834
- // node_modules/zod/v4/locales/ka.js
17810
+ // ../../../node_modules/zod/v4/locales/ka.js
17835
17811
  var error25 = () => {
17836
17812
  const Sizable = {
17837
17813
  string: { unit: "\u10E1\u10D8\u10DB\u10D1\u10DD\u10DA\u10DD", verb: "\u10E3\u10DC\u10D3\u10D0 \u10E8\u10D4\u10D8\u10EA\u10D0\u10D5\u10D3\u10D4\u10E1" },
@@ -17944,7 +17920,7 @@ function ka_default() {
17944
17920
  };
17945
17921
  }
17946
17922
 
17947
- // node_modules/zod/v4/locales/km.js
17923
+ // ../../../node_modules/zod/v4/locales/km.js
17948
17924
  var error26 = () => {
17949
17925
  const Sizable = {
17950
17926
  string: { unit: "\u178F\u17BD\u17A2\u1780\u17D2\u179F\u179A", verb: "\u1782\u17BD\u179A\u1798\u17B6\u1793" },
@@ -18055,12 +18031,12 @@ function km_default() {
18055
18031
  };
18056
18032
  }
18057
18033
 
18058
- // node_modules/zod/v4/locales/kh.js
18034
+ // ../../../node_modules/zod/v4/locales/kh.js
18059
18035
  function kh_default() {
18060
18036
  return km_default();
18061
18037
  }
18062
18038
 
18063
- // node_modules/zod/v4/locales/ko.js
18039
+ // ../../../node_modules/zod/v4/locales/ko.js
18064
18040
  var error27 = () => {
18065
18041
  const Sizable = {
18066
18042
  string: { unit: "\uBB38\uC790", verb: "to have" },
@@ -18172,7 +18148,7 @@ function ko_default() {
18172
18148
  };
18173
18149
  }
18174
18150
 
18175
- // node_modules/zod/v4/locales/lt.js
18151
+ // ../../../node_modules/zod/v4/locales/lt.js
18176
18152
  var capitalizeFirstCharacter = (text) => {
18177
18153
  return text.charAt(0).toUpperCase() + text.slice(1);
18178
18154
  };
@@ -18376,7 +18352,7 @@ function lt_default() {
18376
18352
  };
18377
18353
  }
18378
18354
 
18379
- // node_modules/zod/v4/locales/mk.js
18355
+ // ../../../node_modules/zod/v4/locales/mk.js
18380
18356
  var error29 = () => {
18381
18357
  const Sizable = {
18382
18358
  string: { unit: "\u0437\u043D\u0430\u0446\u0438", verb: "\u0434\u0430 \u0438\u043C\u0430\u0430\u0442" },
@@ -18486,7 +18462,7 @@ function mk_default() {
18486
18462
  };
18487
18463
  }
18488
18464
 
18489
- // node_modules/zod/v4/locales/ms.js
18465
+ // ../../../node_modules/zod/v4/locales/ms.js
18490
18466
  var error30 = () => {
18491
18467
  const Sizable = {
18492
18468
  string: { unit: "aksara", verb: "mempunyai" },
@@ -18594,7 +18570,7 @@ function ms_default() {
18594
18570
  };
18595
18571
  }
18596
18572
 
18597
- // node_modules/zod/v4/locales/nl.js
18573
+ // ../../../node_modules/zod/v4/locales/nl.js
18598
18574
  var error31 = () => {
18599
18575
  const Sizable = {
18600
18576
  string: { unit: "tekens", verb: "heeft" },
@@ -18705,7 +18681,7 @@ function nl_default() {
18705
18681
  };
18706
18682
  }
18707
18683
 
18708
- // node_modules/zod/v4/locales/no.js
18684
+ // ../../../node_modules/zod/v4/locales/no.js
18709
18685
  var error32 = () => {
18710
18686
  const Sizable = {
18711
18687
  string: { unit: "tegn", verb: "\xE5 ha" },
@@ -18814,7 +18790,7 @@ function no_default() {
18814
18790
  };
18815
18791
  }
18816
18792
 
18817
- // node_modules/zod/v4/locales/ota.js
18793
+ // ../../../node_modules/zod/v4/locales/ota.js
18818
18794
  var error33 = () => {
18819
18795
  const Sizable = {
18820
18796
  string: { unit: "harf", verb: "olmal\u0131d\u0131r" },
@@ -18924,7 +18900,7 @@ function ota_default() {
18924
18900
  };
18925
18901
  }
18926
18902
 
18927
- // node_modules/zod/v4/locales/ps.js
18903
+ // ../../../node_modules/zod/v4/locales/ps.js
18928
18904
  var error34 = () => {
18929
18905
  const Sizable = {
18930
18906
  string: { unit: "\u062A\u0648\u06A9\u064A", verb: "\u0648\u0644\u0631\u064A" },
@@ -19039,7 +19015,7 @@ function ps_default() {
19039
19015
  };
19040
19016
  }
19041
19017
 
19042
- // node_modules/zod/v4/locales/pl.js
19018
+ // ../../../node_modules/zod/v4/locales/pl.js
19043
19019
  var error35 = () => {
19044
19020
  const Sizable = {
19045
19021
  string: { unit: "znak\xF3w", verb: "mie\u0107" },
@@ -19149,7 +19125,7 @@ function pl_default() {
19149
19125
  };
19150
19126
  }
19151
19127
 
19152
- // node_modules/zod/v4/locales/pt.js
19128
+ // ../../../node_modules/zod/v4/locales/pt.js
19153
19129
  var error36 = () => {
19154
19130
  const Sizable = {
19155
19131
  string: { unit: "caracteres", verb: "ter" },
@@ -19258,7 +19234,7 @@ function pt_default() {
19258
19234
  };
19259
19235
  }
19260
19236
 
19261
- // node_modules/zod/v4/locales/ro.js
19237
+ // ../../../node_modules/zod/v4/locales/ro.js
19262
19238
  var error37 = () => {
19263
19239
  const Sizable = {
19264
19240
  string: { unit: "caractere", verb: "s\u0103 aib\u0103" },
@@ -19378,7 +19354,7 @@ function ro_default() {
19378
19354
  };
19379
19355
  }
19380
19356
 
19381
- // node_modules/zod/v4/locales/ru.js
19357
+ // ../../../node_modules/zod/v4/locales/ru.js
19382
19358
  function getRussianPlural(count, one, few, many) {
19383
19359
  const absCount = Math.abs(count);
19384
19360
  const lastDigit = absCount % 10;
@@ -19535,7 +19511,7 @@ function ru_default() {
19535
19511
  };
19536
19512
  }
19537
19513
 
19538
- // node_modules/zod/v4/locales/sl.js
19514
+ // ../../../node_modules/zod/v4/locales/sl.js
19539
19515
  var error39 = () => {
19540
19516
  const Sizable = {
19541
19517
  string: { unit: "znakov", verb: "imeti" },
@@ -19645,7 +19621,7 @@ function sl_default() {
19645
19621
  };
19646
19622
  }
19647
19623
 
19648
- // node_modules/zod/v4/locales/sv.js
19624
+ // ../../../node_modules/zod/v4/locales/sv.js
19649
19625
  var error40 = () => {
19650
19626
  const Sizable = {
19651
19627
  string: { unit: "tecken", verb: "att ha" },
@@ -19756,7 +19732,7 @@ function sv_default() {
19756
19732
  };
19757
19733
  }
19758
19734
 
19759
- // node_modules/zod/v4/locales/ta.js
19735
+ // ../../../node_modules/zod/v4/locales/ta.js
19760
19736
  var error41 = () => {
19761
19737
  const Sizable = {
19762
19738
  string: { unit: "\u0B8E\u0BB4\u0BC1\u0BA4\u0BCD\u0BA4\u0BC1\u0B95\u0BCD\u0B95\u0BB3\u0BCD", verb: "\u0B95\u0BCA\u0BA3\u0BCD\u0B9F\u0BBF\u0BB0\u0BC1\u0B95\u0BCD\u0B95 \u0BB5\u0BC7\u0BA3\u0BCD\u0B9F\u0BC1\u0BAE\u0BCD" },
@@ -19867,7 +19843,7 @@ function ta_default() {
19867
19843
  };
19868
19844
  }
19869
19845
 
19870
- // node_modules/zod/v4/locales/th.js
19846
+ // ../../../node_modules/zod/v4/locales/th.js
19871
19847
  var error42 = () => {
19872
19848
  const Sizable = {
19873
19849
  string: { unit: "\u0E15\u0E31\u0E27\u0E2D\u0E31\u0E01\u0E29\u0E23", verb: "\u0E04\u0E27\u0E23\u0E21\u0E35" },
@@ -19978,7 +19954,7 @@ function th_default() {
19978
19954
  };
19979
19955
  }
19980
19956
 
19981
- // node_modules/zod/v4/locales/tr.js
19957
+ // ../../../node_modules/zod/v4/locales/tr.js
19982
19958
  var error43 = () => {
19983
19959
  const Sizable = {
19984
19960
  string: { unit: "karakter", verb: "olmal\u0131" },
@@ -20084,7 +20060,7 @@ function tr_default() {
20084
20060
  };
20085
20061
  }
20086
20062
 
20087
- // node_modules/zod/v4/locales/uk.js
20063
+ // ../../../node_modules/zod/v4/locales/uk.js
20088
20064
  var error44 = () => {
20089
20065
  const Sizable = {
20090
20066
  string: { unit: "\u0441\u0438\u043C\u0432\u043E\u043B\u0456\u0432", verb: "\u043C\u0430\u0442\u0438\u043C\u0435" },
@@ -20193,12 +20169,12 @@ function uk_default() {
20193
20169
  };
20194
20170
  }
20195
20171
 
20196
- // node_modules/zod/v4/locales/ua.js
20172
+ // ../../../node_modules/zod/v4/locales/ua.js
20197
20173
  function ua_default() {
20198
20174
  return uk_default();
20199
20175
  }
20200
20176
 
20201
- // node_modules/zod/v4/locales/ur.js
20177
+ // ../../../node_modules/zod/v4/locales/ur.js
20202
20178
  var error45 = () => {
20203
20179
  const Sizable = {
20204
20180
  string: { unit: "\u062D\u0631\u0648\u0641", verb: "\u06C1\u0648\u0646\u0627" },
@@ -20309,7 +20285,7 @@ function ur_default() {
20309
20285
  };
20310
20286
  }
20311
20287
 
20312
- // node_modules/zod/v4/locales/uz.js
20288
+ // ../../../node_modules/zod/v4/locales/uz.js
20313
20289
  var error46 = () => {
20314
20290
  const Sizable = {
20315
20291
  string: { unit: "belgi", verb: "bo\u2018lishi kerak" },
@@ -20420,7 +20396,7 @@ function uz_default() {
20420
20396
  };
20421
20397
  }
20422
20398
 
20423
- // node_modules/zod/v4/locales/vi.js
20399
+ // ../../../node_modules/zod/v4/locales/vi.js
20424
20400
  var error47 = () => {
20425
20401
  const Sizable = {
20426
20402
  string: { unit: "k\xFD t\u1EF1", verb: "c\xF3" },
@@ -20529,7 +20505,7 @@ function vi_default() {
20529
20505
  };
20530
20506
  }
20531
20507
 
20532
- // node_modules/zod/v4/locales/zh-CN.js
20508
+ // ../../../node_modules/zod/v4/locales/zh-CN.js
20533
20509
  var error48 = () => {
20534
20510
  const Sizable = {
20535
20511
  string: { unit: "\u5B57\u7B26", verb: "\u5305\u542B" },
@@ -20639,7 +20615,7 @@ function zh_CN_default() {
20639
20615
  };
20640
20616
  }
20641
20617
 
20642
- // node_modules/zod/v4/locales/zh-TW.js
20618
+ // ../../../node_modules/zod/v4/locales/zh-TW.js
20643
20619
  var error49 = () => {
20644
20620
  const Sizable = {
20645
20621
  string: { unit: "\u5B57\u5143", verb: "\u64C1\u6709" },
@@ -20747,7 +20723,7 @@ function zh_TW_default() {
20747
20723
  };
20748
20724
  }
20749
20725
 
20750
- // node_modules/zod/v4/locales/yo.js
20726
+ // ../../../node_modules/zod/v4/locales/yo.js
20751
20727
  var error50 = () => {
20752
20728
  const Sizable = {
20753
20729
  string: { unit: "\xE0mi", verb: "n\xED" },
@@ -20855,7 +20831,7 @@ function yo_default() {
20855
20831
  };
20856
20832
  }
20857
20833
 
20858
- // node_modules/zod/v4/core/registries.js
20834
+ // ../../../node_modules/zod/v4/core/registries.js
20859
20835
  var _a2;
20860
20836
  var $output = Symbol("ZodOutput");
20861
20837
  var $input = Symbol("ZodInput");
@@ -20905,7 +20881,7 @@ function registry() {
20905
20881
  (_a2 = globalThis).__zod_globalRegistry ?? (_a2.__zod_globalRegistry = registry());
20906
20882
  var globalRegistry = globalThis.__zod_globalRegistry;
20907
20883
 
20908
- // node_modules/zod/v4/core/api.js
20884
+ // ../../../node_modules/zod/v4/core/api.js
20909
20885
  // @__NO_SIDE_EFFECTS__
20910
20886
  function _string(Class2, params) {
20911
20887
  return new Class2({
@@ -21944,7 +21920,7 @@ function _stringFormat(Class2, format, fnOrRegex, _params = {}) {
21944
21920
  return inst;
21945
21921
  }
21946
21922
 
21947
- // node_modules/zod/v4/core/to-json-schema.js
21923
+ // ../../../node_modules/zod/v4/core/to-json-schema.js
21948
21924
  function initializeContext(params) {
21949
21925
  let target = params?.target ?? "draft-2020-12";
21950
21926
  if (target === "draft-4")
@@ -22303,7 +22279,7 @@ var createStandardJSONSchemaMethod = (schema, io, processors = {}) => (params) =
22303
22279
  return finalize(ctx, schema);
22304
22280
  };
22305
22281
 
22306
- // node_modules/zod/v4/core/json-schema-processors.js
22282
+ // ../../../node_modules/zod/v4/core/json-schema-processors.js
22307
22283
  var formatMap = {
22308
22284
  guid: "uuid",
22309
22285
  url: "uri",
@@ -22847,7 +22823,7 @@ function toJSONSchema(input, params) {
22847
22823
  return finalize(ctx, input);
22848
22824
  }
22849
22825
 
22850
- // node_modules/zod/v4/core/json-schema-generator.js
22826
+ // ../../../node_modules/zod/v4/core/json-schema-generator.js
22851
22827
  var JSONSchemaGenerator = class {
22852
22828
  /** @deprecated Access via ctx instead */
22853
22829
  get metadataRegistry() {
@@ -22922,10 +22898,10 @@ var JSONSchemaGenerator = class {
22922
22898
  }
22923
22899
  };
22924
22900
 
22925
- // node_modules/zod/v4/core/json-schema.js
22901
+ // ../../../node_modules/zod/v4/core/json-schema.js
22926
22902
  var json_schema_exports = {};
22927
22903
 
22928
- // node_modules/zod/v4/mini/schemas.js
22904
+ // ../../../node_modules/zod/v4/mini/schemas.js
22929
22905
  var ZodMiniType = /* @__PURE__ */ $constructor("ZodMiniType", (inst, def) => {
22930
22906
  if (!inst._zod)
22931
22907
  throw new Error("Uninitialized schema in ZodMiniType.");
@@ -22971,7 +22947,7 @@ function object(shape, params) {
22971
22947
  return new ZodMiniObject(def);
22972
22948
  }
22973
22949
 
22974
- // node_modules/@modelcontextprotocol/sdk/dist/esm/server/zod-compat.js
22950
+ // ../../../node_modules/@modelcontextprotocol/sdk/dist/esm/server/zod-compat.js
22975
22951
  function isZ4Schema(s) {
22976
22952
  const schema = s;
22977
22953
  return !!schema._zod;
@@ -23055,33 +23031,17 @@ function normalizeObjectSchema(schema) {
23055
23031
  }
23056
23032
  return void 0;
23057
23033
  }
23058
- function getDotPath(path) {
23059
- if (path.length === 0) {
23060
- return "object root";
23061
- }
23062
- return path.reduce((acc, seg, index) => {
23063
- if (index === 0) {
23064
- return String(seg);
23065
- }
23066
- if (typeof seg === "number") {
23067
- return `${acc}[${seg}]`;
23068
- }
23069
- return `${acc}.${seg}`;
23070
- }, "");
23071
- }
23072
23034
  function getParseErrorMessage(error51) {
23073
23035
  if (error51 && typeof error51 === "object") {
23074
- if ("issues" in error51 && Array.isArray(error51.issues) && error51.issues.length > 0) {
23075
- return error51.issues.map((i) => {
23076
- if (!i.path?.length) {
23077
- return i.message;
23078
- }
23079
- return `${i.message} at ${getDotPath(i.path)}`;
23080
- }).join("\n");
23081
- }
23082
23036
  if ("message" in error51 && typeof error51.message === "string") {
23083
23037
  return error51.message;
23084
23038
  }
23039
+ if ("issues" in error51 && Array.isArray(error51.issues) && error51.issues.length > 0) {
23040
+ const firstIssue = error51.issues[0];
23041
+ if (firstIssue && typeof firstIssue === "object" && "message" in firstIssue) {
23042
+ return String(firstIssue.message);
23043
+ }
23044
+ }
23085
23045
  try {
23086
23046
  return JSON.stringify(error51);
23087
23047
  } catch {
@@ -23131,7 +23091,7 @@ function getLiteralValue(schema) {
23131
23091
  return void 0;
23132
23092
  }
23133
23093
 
23134
- // node_modules/zod/v4/classic/external.js
23094
+ // ../../../node_modules/zod/v4/classic/external.js
23135
23095
  var external_exports = {};
23136
23096
  __export(external_exports, {
23137
23097
  $brand: () => $brand,
@@ -23374,7 +23334,7 @@ __export(external_exports, {
23374
23334
  xor: () => xor
23375
23335
  });
23376
23336
 
23377
- // node_modules/zod/v4/classic/schemas.js
23337
+ // ../../../node_modules/zod/v4/classic/schemas.js
23378
23338
  var schemas_exports2 = {};
23379
23339
  __export(schemas_exports2, {
23380
23340
  ZodAny: () => ZodAny2,
@@ -23545,7 +23505,7 @@ __export(schemas_exports2, {
23545
23505
  xor: () => xor
23546
23506
  });
23547
23507
 
23548
- // node_modules/zod/v4/classic/checks.js
23508
+ // ../../../node_modules/zod/v4/classic/checks.js
23549
23509
  var checks_exports2 = {};
23550
23510
  __export(checks_exports2, {
23551
23511
  endsWith: () => _endsWith,
@@ -23579,7 +23539,7 @@ __export(checks_exports2, {
23579
23539
  uppercase: () => _uppercase
23580
23540
  });
23581
23541
 
23582
- // node_modules/zod/v4/classic/iso.js
23542
+ // ../../../node_modules/zod/v4/classic/iso.js
23583
23543
  var iso_exports2 = {};
23584
23544
  __export(iso_exports2, {
23585
23545
  ZodISODate: () => ZodISODate,
@@ -23620,7 +23580,7 @@ function duration2(params) {
23620
23580
  return _isoDuration(ZodISODuration, params);
23621
23581
  }
23622
23582
 
23623
- // node_modules/zod/v4/classic/errors.js
23583
+ // ../../../node_modules/zod/v4/classic/errors.js
23624
23584
  var initializer2 = (inst, issues) => {
23625
23585
  $ZodError.init(inst, issues);
23626
23586
  inst.name = "ZodError";
@@ -23660,7 +23620,7 @@ var ZodRealError = /* @__PURE__ */ $constructor("ZodError", initializer2, {
23660
23620
  Parent: Error
23661
23621
  });
23662
23622
 
23663
- // node_modules/zod/v4/classic/parse.js
23623
+ // ../../../node_modules/zod/v4/classic/parse.js
23664
23624
  var parse2 = /* @__PURE__ */ _parse(ZodRealError);
23665
23625
  var parseAsync2 = /* @__PURE__ */ _parseAsync(ZodRealError);
23666
23626
  var safeParse3 = /* @__PURE__ */ _safeParse(ZodRealError);
@@ -23674,7 +23634,7 @@ var safeDecode2 = /* @__PURE__ */ _safeDecode(ZodRealError);
23674
23634
  var safeEncodeAsync2 = /* @__PURE__ */ _safeEncodeAsync(ZodRealError);
23675
23635
  var safeDecodeAsync2 = /* @__PURE__ */ _safeDecodeAsync(ZodRealError);
23676
23636
 
23677
- // node_modules/zod/v4/classic/schemas.js
23637
+ // ../../../node_modules/zod/v4/classic/schemas.js
23678
23638
  var _installedGroups = /* @__PURE__ */ new WeakMap();
23679
23639
  function _installLazyMethods(inst, group, methods) {
23680
23640
  const proto = Object.getPrototypeOf(inst);
@@ -24964,7 +24924,7 @@ function preprocess(fn, schema) {
24964
24924
  });
24965
24925
  }
24966
24926
 
24967
- // node_modules/zod/v4/classic/compat.js
24927
+ // ../../../node_modules/zod/v4/classic/compat.js
24968
24928
  var ZodIssueCode2 = {
24969
24929
  invalid_type: "invalid_type",
24970
24930
  too_big: "too_big",
@@ -24990,7 +24950,7 @@ var ZodFirstPartyTypeKind2;
24990
24950
  /* @__PURE__ */ (function(ZodFirstPartyTypeKind3) {
24991
24951
  })(ZodFirstPartyTypeKind2 || (ZodFirstPartyTypeKind2 = {}));
24992
24952
 
24993
- // node_modules/zod/v4/classic/from-json-schema.js
24953
+ // ../../../node_modules/zod/v4/classic/from-json-schema.js
24994
24954
  var z = {
24995
24955
  ...schemas_exports2,
24996
24956
  ...checks_exports2,
@@ -25470,7 +25430,7 @@ function fromJSONSchema(schema, params) {
25470
25430
  return convertSchema(normalized, ctx);
25471
25431
  }
25472
25432
 
25473
- // node_modules/zod/v4/classic/coerce.js
25433
+ // ../../../node_modules/zod/v4/classic/coerce.js
25474
25434
  var coerce_exports2 = {};
25475
25435
  __export(coerce_exports2, {
25476
25436
  bigint: () => bigint3,
@@ -25495,10 +25455,10 @@ function date4(params) {
25495
25455
  return _coercedDate(ZodDate2, params);
25496
25456
  }
25497
25457
 
25498
- // node_modules/zod/v4/classic/external.js
25458
+ // ../../../node_modules/zod/v4/classic/external.js
25499
25459
  config(en_default2());
25500
25460
 
25501
- // node_modules/@modelcontextprotocol/sdk/dist/esm/types.js
25461
+ // ../../../node_modules/@modelcontextprotocol/sdk/dist/esm/types.js
25502
25462
  var LATEST_PROTOCOL_VERSION = "2025-11-25";
25503
25463
  var SUPPORTED_PROTOCOL_VERSIONS = [LATEST_PROTOCOL_VERSION, "2025-06-18", "2025-03-26", "2024-11-05", "2024-10-07"];
25504
25464
  var RELATED_TASK_META_KEY = "io.modelcontextprotocol/related-task";
@@ -27029,12 +26989,12 @@ var UrlElicitationRequiredError = class extends McpError {
27029
26989
  }
27030
26990
  };
27031
26991
 
27032
- // node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/interfaces.js
26992
+ // ../../../node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/interfaces.js
27033
26993
  function isTerminal(status) {
27034
26994
  return status === "completed" || status === "failed" || status === "cancelled";
27035
26995
  }
27036
26996
 
27037
- // node_modules/zod-to-json-schema/dist/esm/Options.js
26997
+ // ../../../node_modules/zod-to-json-schema/dist/esm/Options.js
27038
26998
  var ignoreOverride = Symbol("Let zodToJsonSchema decide on which parser to use");
27039
26999
  var defaultOptions = {
27040
27000
  name: void 0,
@@ -27068,7 +27028,7 @@ var getDefaultOptions = (options) => typeof options === "string" ? {
27068
27028
  ...options
27069
27029
  };
27070
27030
 
27071
- // node_modules/zod-to-json-schema/dist/esm/Refs.js
27031
+ // ../../../node_modules/zod-to-json-schema/dist/esm/Refs.js
27072
27032
  var getRefs = (options) => {
27073
27033
  const _options = getDefaultOptions(options);
27074
27034
  const currentPath = _options.name !== void 0 ? [..._options.basePath, _options.definitionPath, _options.name] : _options.basePath;
@@ -27089,7 +27049,7 @@ var getRefs = (options) => {
27089
27049
  };
27090
27050
  };
27091
27051
 
27092
- // node_modules/zod-to-json-schema/dist/esm/errorMessages.js
27052
+ // ../../../node_modules/zod-to-json-schema/dist/esm/errorMessages.js
27093
27053
  function addErrorMessage(res, key, errorMessage, refs) {
27094
27054
  if (!refs?.errorMessages)
27095
27055
  return;
@@ -27105,7 +27065,7 @@ function setResponseValueAndErrors(res, key, value, errorMessage, refs) {
27105
27065
  addErrorMessage(res, key, errorMessage, refs);
27106
27066
  }
27107
27067
 
27108
- // node_modules/zod-to-json-schema/dist/esm/getRelativePath.js
27068
+ // ../../../node_modules/zod-to-json-schema/dist/esm/getRelativePath.js
27109
27069
  var getRelativePath = (pathA, pathB) => {
27110
27070
  let i = 0;
27111
27071
  for (; i < pathA.length && i < pathB.length; i++) {
@@ -27115,7 +27075,7 @@ var getRelativePath = (pathA, pathB) => {
27115
27075
  return [(pathA.length - i).toString(), ...pathB.slice(i)].join("/");
27116
27076
  };
27117
27077
 
27118
- // node_modules/zod-to-json-schema/dist/esm/parsers/any.js
27078
+ // ../../../node_modules/zod-to-json-schema/dist/esm/parsers/any.js
27119
27079
  function parseAnyDef(refs) {
27120
27080
  if (refs.target !== "openAi") {
27121
27081
  return {};
@@ -27131,7 +27091,7 @@ function parseAnyDef(refs) {
27131
27091
  };
27132
27092
  }
27133
27093
 
27134
- // node_modules/zod-to-json-schema/dist/esm/parsers/array.js
27094
+ // ../../../node_modules/zod-to-json-schema/dist/esm/parsers/array.js
27135
27095
  function parseArrayDef(def, refs) {
27136
27096
  const res = {
27137
27097
  type: "array"
@@ -27155,7 +27115,7 @@ function parseArrayDef(def, refs) {
27155
27115
  return res;
27156
27116
  }
27157
27117
 
27158
- // node_modules/zod-to-json-schema/dist/esm/parsers/bigint.js
27118
+ // ../../../node_modules/zod-to-json-schema/dist/esm/parsers/bigint.js
27159
27119
  function parseBigintDef(def, refs) {
27160
27120
  const res = {
27161
27121
  type: "integer",
@@ -27201,24 +27161,24 @@ function parseBigintDef(def, refs) {
27201
27161
  return res;
27202
27162
  }
27203
27163
 
27204
- // node_modules/zod-to-json-schema/dist/esm/parsers/boolean.js
27164
+ // ../../../node_modules/zod-to-json-schema/dist/esm/parsers/boolean.js
27205
27165
  function parseBooleanDef() {
27206
27166
  return {
27207
27167
  type: "boolean"
27208
27168
  };
27209
27169
  }
27210
27170
 
27211
- // node_modules/zod-to-json-schema/dist/esm/parsers/branded.js
27171
+ // ../../../node_modules/zod-to-json-schema/dist/esm/parsers/branded.js
27212
27172
  function parseBrandedDef(_def, refs) {
27213
27173
  return parseDef(_def.type._def, refs);
27214
27174
  }
27215
27175
 
27216
- // node_modules/zod-to-json-schema/dist/esm/parsers/catch.js
27176
+ // ../../../node_modules/zod-to-json-schema/dist/esm/parsers/catch.js
27217
27177
  var parseCatchDef = (def, refs) => {
27218
27178
  return parseDef(def.innerType._def, refs);
27219
27179
  };
27220
27180
 
27221
- // node_modules/zod-to-json-schema/dist/esm/parsers/date.js
27181
+ // ../../../node_modules/zod-to-json-schema/dist/esm/parsers/date.js
27222
27182
  function parseDateDef(def, refs, overrideDateStrategy) {
27223
27183
  const strategy = overrideDateStrategy ?? refs.dateStrategy;
27224
27184
  if (Array.isArray(strategy)) {
@@ -27277,7 +27237,7 @@ var integerDateParser = (def, refs) => {
27277
27237
  return res;
27278
27238
  };
27279
27239
 
27280
- // node_modules/zod-to-json-schema/dist/esm/parsers/default.js
27240
+ // ../../../node_modules/zod-to-json-schema/dist/esm/parsers/default.js
27281
27241
  function parseDefaultDef(_def, refs) {
27282
27242
  return {
27283
27243
  ...parseDef(_def.innerType._def, refs),
@@ -27285,12 +27245,12 @@ function parseDefaultDef(_def, refs) {
27285
27245
  };
27286
27246
  }
27287
27247
 
27288
- // node_modules/zod-to-json-schema/dist/esm/parsers/effects.js
27248
+ // ../../../node_modules/zod-to-json-schema/dist/esm/parsers/effects.js
27289
27249
  function parseEffectsDef(_def, refs) {
27290
27250
  return refs.effectStrategy === "input" ? parseDef(_def.schema._def, refs) : parseAnyDef(refs);
27291
27251
  }
27292
27252
 
27293
- // node_modules/zod-to-json-schema/dist/esm/parsers/enum.js
27253
+ // ../../../node_modules/zod-to-json-schema/dist/esm/parsers/enum.js
27294
27254
  function parseEnumDef(def) {
27295
27255
  return {
27296
27256
  type: "string",
@@ -27298,7 +27258,7 @@ function parseEnumDef(def) {
27298
27258
  };
27299
27259
  }
27300
27260
 
27301
- // node_modules/zod-to-json-schema/dist/esm/parsers/intersection.js
27261
+ // ../../../node_modules/zod-to-json-schema/dist/esm/parsers/intersection.js
27302
27262
  var isJsonSchema7AllOfType = (type) => {
27303
27263
  if ("type" in type && type.type === "string")
27304
27264
  return false;
@@ -27340,7 +27300,7 @@ function parseIntersectionDef(def, refs) {
27340
27300
  } : void 0;
27341
27301
  }
27342
27302
 
27343
- // node_modules/zod-to-json-schema/dist/esm/parsers/literal.js
27303
+ // ../../../node_modules/zod-to-json-schema/dist/esm/parsers/literal.js
27344
27304
  function parseLiteralDef(def, refs) {
27345
27305
  const parsedType2 = typeof def.value;
27346
27306
  if (parsedType2 !== "bigint" && parsedType2 !== "number" && parsedType2 !== "boolean" && parsedType2 !== "string") {
@@ -27360,7 +27320,7 @@ function parseLiteralDef(def, refs) {
27360
27320
  };
27361
27321
  }
27362
27322
 
27363
- // node_modules/zod-to-json-schema/dist/esm/parsers/string.js
27323
+ // ../../../node_modules/zod-to-json-schema/dist/esm/parsers/string.js
27364
27324
  var emojiRegex2 = void 0;
27365
27325
  var zodPatterns = {
27366
27326
  /**
@@ -27685,7 +27645,7 @@ function stringifyRegExpWithFlags(regex, refs) {
27685
27645
  return pattern;
27686
27646
  }
27687
27647
 
27688
- // node_modules/zod-to-json-schema/dist/esm/parsers/record.js
27648
+ // ../../../node_modules/zod-to-json-schema/dist/esm/parsers/record.js
27689
27649
  function parseRecordDef(def, refs) {
27690
27650
  if (refs.target === "openAi") {
27691
27651
  console.warn("Warning: OpenAI may not support records in schemas! Try an array of key-value pairs instead.");
@@ -27737,7 +27697,7 @@ function parseRecordDef(def, refs) {
27737
27697
  return schema;
27738
27698
  }
27739
27699
 
27740
- // node_modules/zod-to-json-schema/dist/esm/parsers/map.js
27700
+ // ../../../node_modules/zod-to-json-schema/dist/esm/parsers/map.js
27741
27701
  function parseMapDef(def, refs) {
27742
27702
  if (refs.mapStrategy === "record") {
27743
27703
  return parseRecordDef(def, refs);
@@ -27762,7 +27722,7 @@ function parseMapDef(def, refs) {
27762
27722
  };
27763
27723
  }
27764
27724
 
27765
- // node_modules/zod-to-json-schema/dist/esm/parsers/nativeEnum.js
27725
+ // ../../../node_modules/zod-to-json-schema/dist/esm/parsers/nativeEnum.js
27766
27726
  function parseNativeEnumDef(def) {
27767
27727
  const object3 = def.values;
27768
27728
  const actualKeys = Object.keys(def.values).filter((key) => {
@@ -27776,7 +27736,7 @@ function parseNativeEnumDef(def) {
27776
27736
  };
27777
27737
  }
27778
27738
 
27779
- // node_modules/zod-to-json-schema/dist/esm/parsers/never.js
27739
+ // ../../../node_modules/zod-to-json-schema/dist/esm/parsers/never.js
27780
27740
  function parseNeverDef(refs) {
27781
27741
  return refs.target === "openAi" ? void 0 : {
27782
27742
  not: parseAnyDef({
@@ -27786,7 +27746,7 @@ function parseNeverDef(refs) {
27786
27746
  };
27787
27747
  }
27788
27748
 
27789
- // node_modules/zod-to-json-schema/dist/esm/parsers/null.js
27749
+ // ../../../node_modules/zod-to-json-schema/dist/esm/parsers/null.js
27790
27750
  function parseNullDef(refs) {
27791
27751
  return refs.target === "openApi3" ? {
27792
27752
  enum: ["null"],
@@ -27796,7 +27756,7 @@ function parseNullDef(refs) {
27796
27756
  };
27797
27757
  }
27798
27758
 
27799
- // node_modules/zod-to-json-schema/dist/esm/parsers/union.js
27759
+ // ../../../node_modules/zod-to-json-schema/dist/esm/parsers/union.js
27800
27760
  var primitiveMappings = {
27801
27761
  ZodString: "string",
27802
27762
  ZodNumber: "number",
@@ -27864,7 +27824,7 @@ var asAnyOf = (def, refs) => {
27864
27824
  return anyOf.length ? { anyOf } : void 0;
27865
27825
  };
27866
27826
 
27867
- // node_modules/zod-to-json-schema/dist/esm/parsers/nullable.js
27827
+ // ../../../node_modules/zod-to-json-schema/dist/esm/parsers/nullable.js
27868
27828
  function parseNullableDef(def, refs) {
27869
27829
  if (["ZodString", "ZodNumber", "ZodBigInt", "ZodBoolean", "ZodNull"].includes(def.innerType._def.typeName) && (!def.innerType._def.checks || !def.innerType._def.checks.length)) {
27870
27830
  if (refs.target === "openApi3") {
@@ -27896,7 +27856,7 @@ function parseNullableDef(def, refs) {
27896
27856
  return base && { anyOf: [base, { type: "null" }] };
27897
27857
  }
27898
27858
 
27899
- // node_modules/zod-to-json-schema/dist/esm/parsers/number.js
27859
+ // ../../../node_modules/zod-to-json-schema/dist/esm/parsers/number.js
27900
27860
  function parseNumberDef(def, refs) {
27901
27861
  const res = {
27902
27862
  type: "number"
@@ -27945,7 +27905,7 @@ function parseNumberDef(def, refs) {
27945
27905
  return res;
27946
27906
  }
27947
27907
 
27948
- // node_modules/zod-to-json-schema/dist/esm/parsers/object.js
27908
+ // ../../../node_modules/zod-to-json-schema/dist/esm/parsers/object.js
27949
27909
  function parseObjectDef(def, refs) {
27950
27910
  const forceOptionalIntoNullable = refs.target === "openAi";
27951
27911
  const result = {
@@ -28015,7 +27975,7 @@ function safeIsOptional(schema) {
28015
27975
  }
28016
27976
  }
28017
27977
 
28018
- // node_modules/zod-to-json-schema/dist/esm/parsers/optional.js
27978
+ // ../../../node_modules/zod-to-json-schema/dist/esm/parsers/optional.js
28019
27979
  var parseOptionalDef = (def, refs) => {
28020
27980
  if (refs.currentPath.toString() === refs.propertyPath?.toString()) {
28021
27981
  return parseDef(def.innerType._def, refs);
@@ -28034,7 +27994,7 @@ var parseOptionalDef = (def, refs) => {
28034
27994
  } : parseAnyDef(refs);
28035
27995
  };
28036
27996
 
28037
- // node_modules/zod-to-json-schema/dist/esm/parsers/pipeline.js
27997
+ // ../../../node_modules/zod-to-json-schema/dist/esm/parsers/pipeline.js
28038
27998
  var parsePipelineDef = (def, refs) => {
28039
27999
  if (refs.pipeStrategy === "input") {
28040
28000
  return parseDef(def.in._def, refs);
@@ -28054,12 +28014,12 @@ var parsePipelineDef = (def, refs) => {
28054
28014
  };
28055
28015
  };
28056
28016
 
28057
- // node_modules/zod-to-json-schema/dist/esm/parsers/promise.js
28017
+ // ../../../node_modules/zod-to-json-schema/dist/esm/parsers/promise.js
28058
28018
  function parsePromiseDef(def, refs) {
28059
28019
  return parseDef(def.type._def, refs);
28060
28020
  }
28061
28021
 
28062
- // node_modules/zod-to-json-schema/dist/esm/parsers/set.js
28022
+ // ../../../node_modules/zod-to-json-schema/dist/esm/parsers/set.js
28063
28023
  function parseSetDef(def, refs) {
28064
28024
  const items = parseDef(def.valueType._def, {
28065
28025
  ...refs,
@@ -28079,7 +28039,7 @@ function parseSetDef(def, refs) {
28079
28039
  return schema;
28080
28040
  }
28081
28041
 
28082
- // node_modules/zod-to-json-schema/dist/esm/parsers/tuple.js
28042
+ // ../../../node_modules/zod-to-json-schema/dist/esm/parsers/tuple.js
28083
28043
  function parseTupleDef(def, refs) {
28084
28044
  if (def.rest) {
28085
28045
  return {
@@ -28107,24 +28067,24 @@ function parseTupleDef(def, refs) {
28107
28067
  }
28108
28068
  }
28109
28069
 
28110
- // node_modules/zod-to-json-schema/dist/esm/parsers/undefined.js
28070
+ // ../../../node_modules/zod-to-json-schema/dist/esm/parsers/undefined.js
28111
28071
  function parseUndefinedDef(refs) {
28112
28072
  return {
28113
28073
  not: parseAnyDef(refs)
28114
28074
  };
28115
28075
  }
28116
28076
 
28117
- // node_modules/zod-to-json-schema/dist/esm/parsers/unknown.js
28077
+ // ../../../node_modules/zod-to-json-schema/dist/esm/parsers/unknown.js
28118
28078
  function parseUnknownDef(refs) {
28119
28079
  return parseAnyDef(refs);
28120
28080
  }
28121
28081
 
28122
- // node_modules/zod-to-json-schema/dist/esm/parsers/readonly.js
28082
+ // ../../../node_modules/zod-to-json-schema/dist/esm/parsers/readonly.js
28123
28083
  var parseReadonlyDef = (def, refs) => {
28124
28084
  return parseDef(def.innerType._def, refs);
28125
28085
  };
28126
28086
 
28127
- // node_modules/zod-to-json-schema/dist/esm/selectParser.js
28087
+ // ../../../node_modules/zod-to-json-schema/dist/esm/selectParser.js
28128
28088
  var selectParser = (def, typeName, refs) => {
28129
28089
  switch (typeName) {
28130
28090
  case ZodFirstPartyTypeKind.ZodString:
@@ -28200,7 +28160,7 @@ var selectParser = (def, typeName, refs) => {
28200
28160
  }
28201
28161
  };
28202
28162
 
28203
- // node_modules/zod-to-json-schema/dist/esm/parseDef.js
28163
+ // ../../../node_modules/zod-to-json-schema/dist/esm/parseDef.js
28204
28164
  function parseDef(def, refs, forceResolution = false) {
28205
28165
  const seenItem = refs.seen.get(def);
28206
28166
  if (refs.override) {
@@ -28256,7 +28216,7 @@ var addMeta = (def, refs, jsonSchema) => {
28256
28216
  return jsonSchema;
28257
28217
  };
28258
28218
 
28259
- // node_modules/zod-to-json-schema/dist/esm/zodToJsonSchema.js
28219
+ // ../../../node_modules/zod-to-json-schema/dist/esm/zodToJsonSchema.js
28260
28220
  var zodToJsonSchema = (schema, options) => {
28261
28221
  const refs = getRefs(options);
28262
28222
  let definitions = typeof options === "object" && options.definitions ? Object.entries(options.definitions).reduce((acc, [name2, schema2]) => ({
@@ -28318,7 +28278,7 @@ var zodToJsonSchema = (schema, options) => {
28318
28278
  return combined;
28319
28279
  };
28320
28280
 
28321
- // node_modules/@modelcontextprotocol/sdk/dist/esm/server/zod-json-schema-compat.js
28281
+ // ../../../node_modules/@modelcontextprotocol/sdk/dist/esm/server/zod-json-schema-compat.js
28322
28282
  function mapMiniTarget(t) {
28323
28283
  if (!t)
28324
28284
  return "draft-7";
@@ -28360,7 +28320,7 @@ function parseWithCompat(schema, data) {
28360
28320
  return result.data;
28361
28321
  }
28362
28322
 
28363
- // node_modules/@modelcontextprotocol/sdk/dist/esm/shared/protocol.js
28323
+ // ../../../node_modules/@modelcontextprotocol/sdk/dist/esm/shared/protocol.js
28364
28324
  var DEFAULT_REQUEST_TIMEOUT_MSEC = 6e4;
28365
28325
  var Protocol = class {
28366
28326
  constructor(_options) {
@@ -29314,7 +29274,7 @@ function mergeCapabilities(base, additional) {
29314
29274
  return result;
29315
29275
  }
29316
29276
 
29317
- // node_modules/@modelcontextprotocol/sdk/dist/esm/validation/ajv-provider.js
29277
+ // ../../../node_modules/@modelcontextprotocol/sdk/dist/esm/validation/ajv-provider.js
29318
29278
  var import_ajv = __toESM(require_ajv(), 1);
29319
29279
  var import_ajv_formats = __toESM(require_dist(), 1);
29320
29280
  function createDefaultAjvInstance() {
@@ -29382,7 +29342,7 @@ var AjvJsonSchemaValidator = class {
29382
29342
  }
29383
29343
  };
29384
29344
 
29385
- // node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/server.js
29345
+ // ../../../node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/server.js
29386
29346
  var ExperimentalServerTasks = class {
29387
29347
  constructor(_server) {
29388
29348
  this._server = _server;
@@ -29595,7 +29555,7 @@ var ExperimentalServerTasks = class {
29595
29555
  }
29596
29556
  };
29597
29557
 
29598
- // node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/helpers.js
29558
+ // ../../../node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/helpers.js
29599
29559
  function assertToolsCallTaskCapability(requests, method, entityName) {
29600
29560
  if (!requests) {
29601
29561
  throw new Error(`${entityName} does not support task creation (required for ${method})`);
@@ -29630,7 +29590,7 @@ function assertClientRequestTaskCapability(requests, method, entityName) {
29630
29590
  }
29631
29591
  }
29632
29592
 
29633
- // node_modules/@modelcontextprotocol/sdk/dist/esm/server/index.js
29593
+ // ../../../node_modules/@modelcontextprotocol/sdk/dist/esm/server/index.js
29634
29594
  var Server = class extends Protocol {
29635
29595
  /**
29636
29596
  * Initializes this server with the given name and version information.
@@ -29696,7 +29656,16 @@ var Server = class extends Protocol {
29696
29656
  if (!methodSchema) {
29697
29657
  throw new Error("Schema is missing a method literal");
29698
29658
  }
29699
- const methodValue = getLiteralValue(methodSchema);
29659
+ let methodValue;
29660
+ if (isZ4Schema(methodSchema)) {
29661
+ const v4Schema = methodSchema;
29662
+ const v4Def = v4Schema._zod?.def;
29663
+ methodValue = v4Def?.value ?? v4Schema.value;
29664
+ } else {
29665
+ const v3Schema = methodSchema;
29666
+ const legacyDef = v3Schema._def;
29667
+ methodValue = legacyDef?.value ?? v3Schema.value;
29668
+ }
29700
29669
  if (typeof methodValue !== "string") {
29701
29670
  throw new Error("Schema method literal must be a string");
29702
29671
  }
@@ -30001,7 +29970,7 @@ var Server = class extends Protocol {
30001
29970
  }
30002
29971
  };
30003
29972
 
30004
- // node_modules/@modelcontextprotocol/sdk/dist/esm/server/completable.js
29973
+ // ../../../node_modules/@modelcontextprotocol/sdk/dist/esm/server/completable.js
30005
29974
  var COMPLETABLE_SYMBOL = Symbol.for("mcp.completable");
30006
29975
  function isCompletable(schema) {
30007
29976
  return !!schema && typeof schema === "object" && COMPLETABLE_SYMBOL in schema;
@@ -30015,7 +29984,7 @@ var McpZodTypeKind;
30015
29984
  McpZodTypeKind2["Completable"] = "McpCompletable";
30016
29985
  })(McpZodTypeKind || (McpZodTypeKind = {}));
30017
29986
 
30018
- // node_modules/@modelcontextprotocol/sdk/dist/esm/shared/toolNameValidation.js
29987
+ // ../../../node_modules/@modelcontextprotocol/sdk/dist/esm/shared/toolNameValidation.js
30019
29988
  var TOOL_NAME_REGEX = /^[A-Za-z0-9._-]{1,128}$/;
30020
29989
  function validateToolName(name) {
30021
29990
  const warnings = [];
@@ -30073,7 +30042,7 @@ function validateAndWarnToolName(name) {
30073
30042
  return result.isValid;
30074
30043
  }
30075
30044
 
30076
- // node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/mcp-server.js
30045
+ // ../../../node_modules/@modelcontextprotocol/sdk/dist/esm/experimental/tasks/mcp-server.js
30077
30046
  var ExperimentalMcpServerTasks = class {
30078
30047
  constructor(_mcpServer) {
30079
30048
  this._mcpServer = _mcpServer;
@@ -30088,7 +30057,7 @@ var ExperimentalMcpServerTasks = class {
30088
30057
  }
30089
30058
  };
30090
30059
 
30091
- // node_modules/@modelcontextprotocol/sdk/dist/esm/server/mcp.js
30060
+ // ../../../node_modules/@modelcontextprotocol/sdk/dist/esm/server/mcp.js
30092
30061
  var McpServer = class {
30093
30062
  constructor(serverInfo, options) {
30094
30063
  this._registeredResources = {};
@@ -30880,21 +30849,12 @@ var EMPTY_COMPLETION_RESULT = {
30880
30849
  }
30881
30850
  };
30882
30851
 
30883
- // node_modules/@modelcontextprotocol/sdk/dist/esm/server/stdio.js
30852
+ // ../../../node_modules/@modelcontextprotocol/sdk/dist/esm/server/stdio.js
30884
30853
  import process3 from "node:process";
30885
30854
 
30886
- // node_modules/@modelcontextprotocol/sdk/dist/esm/shared/stdio.js
30887
- var STDIO_DEFAULT_MAX_BUFFER_SIZE = 10 * 1024 * 1024;
30855
+ // ../../../node_modules/@modelcontextprotocol/sdk/dist/esm/shared/stdio.js
30888
30856
  var ReadBuffer = class {
30889
- constructor(options) {
30890
- this._maxBufferSize = options?.maxBufferSize ?? STDIO_DEFAULT_MAX_BUFFER_SIZE;
30891
- }
30892
30857
  append(chunk) {
30893
- const newSize = (this._buffer?.length ?? 0) + chunk.length;
30894
- if (newSize > this._maxBufferSize) {
30895
- this.clear();
30896
- throw new Error(`ReadBuffer exceeded maximum size of ${this._maxBufferSize} bytes`);
30897
- }
30898
30858
  this._buffer = this._buffer ? Buffer.concat([this._buffer, chunk]) : chunk;
30899
30859
  }
30900
30860
  readMessage() {
@@ -30920,26 +30880,20 @@ function serializeMessage(message) {
30920
30880
  return JSON.stringify(message) + "\n";
30921
30881
  }
30922
30882
 
30923
- // node_modules/@modelcontextprotocol/sdk/dist/esm/server/stdio.js
30883
+ // ../../../node_modules/@modelcontextprotocol/sdk/dist/esm/server/stdio.js
30924
30884
  var StdioServerTransport = class {
30925
- constructor(_stdin = process3.stdin, _stdout = process3.stdout, options) {
30885
+ constructor(_stdin = process3.stdin, _stdout = process3.stdout) {
30926
30886
  this._stdin = _stdin;
30927
30887
  this._stdout = _stdout;
30888
+ this._readBuffer = new ReadBuffer();
30928
30889
  this._started = false;
30929
30890
  this._ondata = (chunk) => {
30930
- try {
30931
- this._readBuffer.append(chunk);
30932
- this.processReadBuffer();
30933
- } catch (error51) {
30934
- this.onerror?.(error51);
30935
- this.close().catch(() => {
30936
- });
30937
- }
30891
+ this._readBuffer.append(chunk);
30892
+ this.processReadBuffer();
30938
30893
  };
30939
30894
  this._onerror = (error51) => {
30940
30895
  this.onerror?.(error51);
30941
30896
  };
30942
- this._readBuffer = new ReadBuffer({ maxBufferSize: options?.maxBufferSize });
30943
30897
  }
30944
30898
  /**
30945
30899
  * Starts listening for messages on stdin.
@@ -30992,23 +30946,37 @@ var json2 = (value) => ({ text: JSON.stringify(value, null, 2) });
30992
30946
  var fail = (text) => ({ text, isError: true });
30993
30947
  var nap = (ctx, ms) => ctx.sleep ? ctx.sleep(ms) : new Promise((resolve) => setTimeout(resolve, ms));
30994
30948
  var TERMINAL = /* @__PURE__ */ new Set(["completed", "failed", "canceled"]);
30995
- async function waitForJob(ctx, jobId, budgetMs) {
30996
- const deadline = Date.now() + budgetMs;
30997
- let latest = null;
30998
- while (Date.now() < deadline) {
30999
- const result = await ctx.invoke("job-status", { jobIds: [jobId] });
31000
- latest = result.jobs[0] ?? latest;
31001
- if (latest && TERMINAL.has(latest.status)) return latest;
31002
- await nap(ctx, 2e3);
31003
- }
31004
- return latest;
31005
- }
30949
+ var POLL_ERROR_LIMIT = 5;
30950
+ var JOB_WAIT_SECONDS = 300;
30951
+ var BRAND_WAIT_SECONDS = 300;
30952
+ var MAX_WAIT_SECONDS = 540;
30953
+ var maxWaitSeconds = () => {
30954
+ const override = Number(process.env.IMPRACTICAL_MAX_WAIT_SECONDS);
30955
+ return Number.isFinite(override) && override > 0 ? override : MAX_WAIT_SECONDS;
30956
+ };
30957
+ function waitBudgetMs(requested, fallbackSeconds) {
30958
+ const asked = Number(requested);
30959
+ const seconds = Number.isFinite(asked) && asked > 0 ? asked : fallbackSeconds;
30960
+ return Math.min(seconds, maxWaitSeconds()) * 1e3;
30961
+ }
30962
+ var waitWasClamped = (requested) => {
30963
+ const asked = Number(requested);
30964
+ return Number.isFinite(asked) && asked > maxWaitSeconds();
30965
+ };
30966
+ var clampNote = (requested) => waitWasClamped(requested) ? ` Waiting was capped at ${maxWaitSeconds()}s (you asked for ${Number(requested)}s) because MCP clients drop a request that stays open too long, which would report this job as failed while it is still running.` : "";
30967
+ function describeJob(jobId, row, consecutiveErrors, lastError) {
30968
+ if (consecutiveErrors) return `${jobId}: status check failed (${lastError}), retrying`;
30969
+ const stage = row?.stage ? ` \u2014 ${row.stage}` : "";
30970
+ const pct = typeof row?.progress === "number" ? ` ${Math.round(row.progress * 100)}%` : "";
30971
+ return `${jobId}: ${row?.status ?? "queued"}${stage}${pct}`;
30972
+ }
30973
+ var resumeWith = (jobId) => `job_status({ jobIds: ["${jobId}"], wait: true })`;
31006
30974
  var getDraft = (ctx, draftId) => ctx.invoke("get-draft", { draftId });
31007
30975
  var studioLink = (ctx, projectId, slug) => {
31008
30976
  const base = (ctx.appUrl ?? "https://motion.impractical.ai").replace(/\/$/, "");
31009
30977
  return `${base}/projects/${projectId}/studio${slug ? `?scene=${slug}` : ""}`;
31010
30978
  };
31011
- async function saveDraft(ctx, draftId, apply, options) {
30979
+ async function saveDraft(ctx, draftId, apply) {
31012
30980
  let conflicts = 0;
31013
30981
  while (true) {
31014
30982
  const draft = await getDraft(ctx, draftId);
@@ -31029,7 +30997,12 @@ async function saveDraft(ctx, draftId, apply, options) {
31029
30997
  files: change.files,
31030
30998
  deletedPaths: change.deletedPaths
31031
30999
  });
31032
- return await reportBuild(ctx, draftId, saved, changedCount, change.deletedPaths.length, options.waitMs);
31000
+ return reportBuildStart(
31001
+ draftId,
31002
+ saved,
31003
+ changedCount,
31004
+ change.deletedPaths.length
31005
+ );
31033
31006
  } catch (error51) {
31034
31007
  const status = error51.status;
31035
31008
  const message = error51 instanceof Error ? error51.message : String(error51);
@@ -31046,33 +31019,30 @@ async function saveDraft(ctx, draftId, apply, options) {
31046
31019
  }
31047
31020
  }
31048
31021
  }
31049
- async function reportBuild(ctx, draftId, saved, changed, deleted, waitMs) {
31022
+ function reportBuildStart(draftId, saved, changed, deleted) {
31050
31023
  const summary = `Saved ${changed} file(s)` + (deleted ? `, deleted ${deleted}` : "") + ` as revision ${saved.revision}.`;
31051
31024
  if (!saved.jobId) {
31052
- return {
31053
- text: `${summary}
31054
- No preview build was queued \u2014 a draft needs both App.tsx and direction.ts before it can render.`
31055
- };
31056
- }
31057
- const row = await waitForJob(ctx, saved.jobId, waitMs);
31058
- if (!row || !TERMINAL.has(row.status)) {
31059
- return {
31060
- text: `${summary}
31061
- Preview build ${saved.jobId} is still ${row?.status ?? "queued"}. Follow it with job_status({ jobIds: ["${saved.jobId}"], wait: true }).`
31062
- };
31063
- }
31064
- if (row.status !== "completed") {
31065
- return fail(
31066
- `${summary}
31067
- Preview build FAILED \u2014 fix this and save again:
31068
-
31069
- ${row.error ?? row.status}`
31070
- );
31025
+ return json2({
31026
+ committed: true,
31027
+ draftId,
31028
+ revision: saved.revision,
31029
+ jobId: null,
31030
+ previewQueued: false,
31031
+ summary,
31032
+ note: "No preview build was queued \u2014 a draft needs both App.tsx and direction.ts before it can render."
31033
+ });
31071
31034
  }
31072
- return {
31073
- text: `${summary}
31074
- Preview built successfully at revision ${row.revision ?? saved.revision}. Capture frames with get_frames({ draftId: "${draftId}", times: [0, 1, 2] }).`
31075
- };
31035
+ return json2({
31036
+ committed: true,
31037
+ draftId,
31038
+ revision: saved.revision,
31039
+ jobId: saved.jobId,
31040
+ previewQueued: true,
31041
+ status: "queued",
31042
+ summary,
31043
+ resumeWith: resumeWith(saved.jobId),
31044
+ note: "The save committed. Do not re-apply it. Follow the preview build with resumeWith; if a transport timeout ever hides a mutation reply, read the changed file before retrying."
31045
+ });
31076
31046
  }
31077
31047
  var accountStatus = {
31078
31048
  name: "account_status",
@@ -31084,17 +31054,20 @@ var accountStatus = {
31084
31054
  var whoami = {
31085
31055
  ...accountStatus,
31086
31056
  name: "whoami",
31087
- title: "Show the connected workspace (legacy alias)"
31057
+ title: "Show the connected workspace (legacy alias)",
31058
+ description: "Deprecated alias for account_status. Use account_status to show the connected workspace, plan, weekly MCP usage, reset time, seats, and billing state."
31088
31059
  };
31089
31060
  var upgradeTool = {
31090
31061
  name: "upgrade",
31091
- title: "Open Pro billing",
31092
- description: "Give the user the authenticated billing page for upgrading to Pro. This requires explicit user interaction in the browser.",
31093
- inputSchema: {},
31062
+ title: "Get the Pro billing link",
31063
+ description: "Return the authenticated Pro billing URL. Set open=true only after the user explicitly asks to open it in their browser.",
31064
+ inputSchema: {
31065
+ open: external_exports.boolean().optional().describe("Open billing in the user's browser. Defaults to false.")
31066
+ },
31094
31067
  local: true,
31095
- handler: async (_args, ctx) => {
31068
+ handler: async (args, ctx) => {
31096
31069
  const url2 = `${(ctx.appUrl ?? "https://motion.impractical.ai").replace(/\/$/, "")}/account/billing`;
31097
- const opened = ctx.openExternal?.(url2) ?? false;
31070
+ const opened = args.open === true ? ctx.openExternal?.(url2) ?? false : false;
31098
31071
  return { text: opened ? `Opened billing in the user's browser: ${url2}` : url2 };
31099
31072
  }
31100
31073
  };
@@ -31207,32 +31180,28 @@ var readDraftFile = {
31207
31180
  var writeDraftFiles = {
31208
31181
  name: "write_draft_files",
31209
31182
  title: "Write draft files",
31210
- description: "Create or overwrite whole files in a draft, and optionally delete others. Waits for the preview rebuild and returns the build error if your code does not compile. Prefer edit_draft_file for small changes. Only .ts/.tsx/.js/.jsx/.css/.json paths sync, max 100 files per draft. Never edit project.json.",
31183
+ description: "Create or overwrite whole files in a draft, and optionally delete others. Returns the committed revision and preview-build job id immediately; follow that id with job_status. Prefer edit_draft_file for small changes. Only .ts/.tsx/.js/.jsx/.css/.json paths sync, max 100 files per draft. Never edit project.json.",
31211
31184
  inputSchema: {
31212
31185
  draftId: external_exports.string().describe("The draft id."),
31213
31186
  files: external_exports.record(external_exports.string(), external_exports.string()).describe("Map of file path to full file content."),
31214
- deletedPaths: external_exports.array(external_exports.string()).optional().describe("Paths to remove from the draft."),
31215
- waitSeconds: external_exports.number().optional().describe("How long to wait for the preview build. Default 180.")
31187
+ deletedPaths: external_exports.array(external_exports.string()).optional().describe("Paths to remove from the draft.")
31216
31188
  },
31217
31189
  handler: async (args, ctx) => {
31218
31190
  const files = args.files ?? {};
31219
31191
  const deletedPaths = args.deletedPaths ?? [];
31220
- return saveDraft(ctx, String(args.draftId), () => ({ files, deletedPaths }), {
31221
- waitMs: Number(args.waitSeconds ?? 180) * 1e3
31222
- });
31192
+ return saveDraft(ctx, String(args.draftId), () => ({ files, deletedPaths }));
31223
31193
  }
31224
31194
  };
31225
31195
  var editDraftFile = {
31226
31196
  name: "edit_draft_file",
31227
31197
  title: "Edit one draft file",
31228
- description: "Replace an exact string in one draft file. The read, the edit and the write happen in a single call against the current revision, so concurrent edits from the web tweak chat cannot clobber yours. Waits for the preview rebuild and returns the build error if your code does not compile.",
31198
+ description: "Replace an exact string in one draft file. The read, the edit and the write happen in a single call against the current revision, so concurrent edits from the web tweak chat cannot clobber yours. Returns the committed revision and preview-build job id immediately; follow that id with job_status.",
31229
31199
  inputSchema: {
31230
31200
  draftId: external_exports.string().describe("The draft id."),
31231
31201
  path: external_exports.string().describe("File path within the draft, e.g. 'direction.ts'."),
31232
31202
  oldString: external_exports.string().describe("Exact text to replace. Must appear in the file."),
31233
31203
  newString: external_exports.string().describe("Replacement text."),
31234
- replaceAll: external_exports.boolean().optional().describe("Replace every occurrence. Default false, which requires a unique match."),
31235
- waitSeconds: external_exports.number().optional().describe("How long to wait for the preview build. Default 180.")
31204
+ replaceAll: external_exports.boolean().optional().describe("Replace every occurrence. Default false, which requires a unique match.")
31236
31205
  },
31237
31206
  handler: async (args, ctx) => {
31238
31207
  const path = String(args.path);
@@ -31259,8 +31228,7 @@ var editDraftFile = {
31259
31228
  }
31260
31229
  const next = args.replaceAll ? content.split(oldString).join(newString) : content.replace(oldString, newString);
31261
31230
  return { files: { [path]: next }, deletedPaths: [] };
31262
- },
31263
- { waitMs: Number(args.waitSeconds ?? 180) * 1e3 }
31231
+ }
31264
31232
  );
31265
31233
  return problem ? fail(problem) : output;
31266
31234
  }
@@ -31272,43 +31240,63 @@ var jobStatus = {
31272
31240
  inputSchema: {
31273
31241
  jobIds: external_exports.array(external_exports.string()).min(1).max(20).describe("Job ids to check."),
31274
31242
  wait: external_exports.boolean().optional().describe("Poll until every job reaches a terminal state."),
31275
- waitSeconds: external_exports.number().optional().describe("Polling budget when wait is true. Default 300.")
31243
+ waitSeconds: external_exports.number().optional().describe(`Polling budget when wait is true. Default ${JOB_WAIT_SECONDS}, capped at ${maxWaitSeconds()}s. When the budget runs out the call returns the job ids instead of failing \u2014 call it again to keep waiting.`)
31276
31244
  },
31277
- handler: async (args, ctx) => {
31245
+ handler: async (args, ctx, progress) => {
31278
31246
  const jobIds = args.jobIds;
31279
31247
  if (!args.wait) return json2(await ctx.invoke("job-status", { jobIds }));
31280
- const budgetMs = Number(args.waitSeconds ?? 300) * 1e3;
31281
- const deadline = Date.now() + budgetMs;
31248
+ const budgetMs = waitBudgetMs(args.waitSeconds, JOB_WAIT_SECONDS);
31249
+ const started = Date.now();
31250
+ const deadline = started + budgetMs;
31282
31251
  let rows = [];
31252
+ let consecutiveErrors = 0;
31253
+ let lastError = "";
31283
31254
  while (Date.now() < deadline) {
31284
- const result = await ctx.invoke("job-status", { jobIds });
31285
- rows = result.jobs;
31286
- if (rows.length && rows.every((row) => TERMINAL.has(row.status))) return json2(rows);
31255
+ if (progress?.signal?.aborted) break;
31256
+ try {
31257
+ const result = await ctx.invoke("job-status", { jobIds });
31258
+ rows = result.jobs;
31259
+ consecutiveErrors = 0;
31260
+ if (rows.length && rows.every((row) => TERMINAL.has(row.status))) return json2(rows);
31261
+ } catch (error51) {
31262
+ lastError = error51 instanceof Error ? error51.message : String(error51);
31263
+ if (++consecutiveErrors >= POLL_ERROR_LIMIT) {
31264
+ return json2({ pollError: lastError, stillRunning: jobIds, jobs: rows });
31265
+ }
31266
+ }
31267
+ progress?.report?.({
31268
+ progress: Math.min(Date.now() - started, budgetMs),
31269
+ total: budgetMs,
31270
+ message: rows.length ? rows.map((row) => describeJob(row.id, row, consecutiveErrors, lastError)).join("; ") : jobIds.join(", ")
31271
+ });
31287
31272
  await nap(ctx, 2e3);
31288
31273
  }
31289
- return json2({ timedOut: true, jobs: rows });
31274
+ return json2({
31275
+ timedOut: true,
31276
+ stillRunning: jobIds,
31277
+ jobs: rows,
31278
+ resumeWith: `job_status({ jobIds: ${JSON.stringify(jobIds)}, wait: true })`,
31279
+ note: "The jobs are still running in the cloud \u2014 this is a pause, not a failure. Call the command in resumeWith to keep following them." + clampNote(args.waitSeconds)
31280
+ });
31290
31281
  }
31291
31282
  };
31292
31283
  var exportVideo = {
31293
31284
  name: "export_video",
31294
31285
  title: "Export the final MP4",
31295
- description: "Render the draft to a final MP4 and return a signed download URL. The URL expires, so only export once the user is happy with the frames.",
31286
+ description: "Start the final MP4 render and return its job id immediately. Follow that id with job_status for the signed download URL. Only export once the user is happy with the frames.",
31296
31287
  inputSchema: {
31297
- draftId: external_exports.string().describe("The draft id."),
31298
- waitSeconds: external_exports.number().optional().describe("Polling budget. Default 1800.")
31288
+ draftId: external_exports.string().describe("The draft id.")
31299
31289
  },
31300
31290
  handler: async (args, ctx) => {
31301
31291
  const started = await ctx.invoke("start-export", { draftId: args.draftId });
31302
- const row = await waitForJob(ctx, started.jobId, Number(args.waitSeconds ?? 1800) * 1e3);
31303
- if (!row || !TERMINAL.has(row.status)) {
31304
- return {
31305
- text: `Export job ${started.jobId} is still ${row?.status ?? "queued"}. Follow it with job_status.`
31306
- };
31307
- }
31308
- if (row.status !== "completed" || !row.master?.url) {
31309
- return fail(`Export ${row.status}${row.error ? `: ${row.error}` : ""}`);
31310
- }
31311
- return json2({ jobId: started.jobId, url: row.master.url, bytes: row.master.bytes });
31292
+ return json2({
31293
+ started: true,
31294
+ draftId: String(args.draftId),
31295
+ jobId: started.jobId,
31296
+ status: "queued",
31297
+ resumeWith: resumeWith(started.jobId),
31298
+ note: "Export started. Do not start another export. Follow this job with resumeWith to obtain the signed download URL."
31299
+ });
31312
31300
  }
31313
31301
  };
31314
31302
  var brandList = {
@@ -31328,30 +31316,83 @@ var brandGet = {
31328
31316
  var brandExtract = {
31329
31317
  name: "brand_extract",
31330
31318
  title: "Extract a brand kit from a URL",
31331
- description: "Extract a brand kit (colors, fonts, logo) from a website. Takes a few minutes. Pass the resulting slug to create_video as brandSlug.",
31319
+ description: "Start extracting a brand kit (colors, fonts, logo) from a website and return the run id immediately. To observe an existing run, call this tool with jobId instead of url; that status mode never starts another extraction.",
31332
31320
  inputSchema: {
31333
- url: external_exports.string().describe("The brand website URL."),
31321
+ url: external_exports.string().optional().describe("The brand website URL. Omit when continuing by jobId."),
31322
+ jobId: external_exports.string().optional().describe("Run id returned by a previous brand_extract call."),
31334
31323
  reextract: external_exports.boolean().optional().describe("Re-extract even if a kit already exists."),
31335
- waitSeconds: external_exports.number().optional().describe("Polling budget. Default 900.")
31324
+ wait: external_exports.boolean().optional().describe("With jobId, poll until this extraction is terminal."),
31325
+ waitSeconds: external_exports.number().optional().describe(
31326
+ `With jobId and wait, poll for up to ${BRAND_WAIT_SECONDS}s by default, capped at ${maxWaitSeconds()}s.`
31327
+ )
31336
31328
  },
31337
- handler: async (args, ctx) => {
31338
- const started = await ctx.invoke("brand-extraction", {
31339
- action: "start",
31340
- url: args.url,
31341
- ...args.reextract ? { reextract: true } : {}
31342
- });
31343
- const deadline = Date.now() + Number(args.waitSeconds ?? 900) * 1e3;
31344
- while (Date.now() < deadline) {
31345
- const status = await ctx.invoke("brand-extraction", { action: "status", job: started.job });
31346
- if (status.status === "done") {
31347
- return json2({ slug: status.slug ?? started.slug, status: "done" });
31348
- }
31329
+ handler: async (args, ctx, progress) => {
31330
+ const url2 = typeof args.url === "string" ? args.url : "";
31331
+ const jobId = typeof args.jobId === "string" ? args.jobId : "";
31332
+ if (url2 && jobId) return fail("Pass either url to start or jobId to continue, not both.");
31333
+ if (!url2 && !jobId) return fail("Pass url to start an extraction, or jobId to continue one.");
31334
+ if (url2) {
31335
+ const started = await ctx.invoke("brand-extraction", {
31336
+ action: "start",
31337
+ url: url2,
31338
+ ...args.reextract ? { reextract: true } : {}
31339
+ });
31340
+ return json2({
31341
+ started: true,
31342
+ jobId: started.job,
31343
+ slug: started.slug,
31344
+ status: "queued",
31345
+ resumeWith: `brand_extract({ jobId: "${started.job}", wait: true })`,
31346
+ note: "Brand extraction started. Do not call brand_extract with the URL again. Continue this exact run with resumeWith, then pass the completed slug to create_video as brandSlug."
31347
+ });
31348
+ }
31349
+ const readStatus = () => ctx.invoke("brand-extraction", { action: "status", job: jobId });
31350
+ if (!args.wait) {
31351
+ const status = await readStatus();
31349
31352
  if (status.status === "error" || status.status === "failed" || status.error) {
31350
31353
  return fail(`Brand extraction failed${status.error ? `: ${status.error}` : ""}`);
31351
31354
  }
31355
+ return json2({ jobId, ...status });
31356
+ }
31357
+ const budgetMs = waitBudgetMs(args.waitSeconds, BRAND_WAIT_SECONDS);
31358
+ const startedAt = Date.now();
31359
+ const deadline = startedAt + budgetMs;
31360
+ let consecutiveErrors = 0;
31361
+ let lastError = "";
31362
+ let stage = "";
31363
+ let lastStatus = {};
31364
+ while (Date.now() < deadline) {
31365
+ if (progress?.signal?.aborted) break;
31366
+ try {
31367
+ const status = await readStatus();
31368
+ lastStatus = status;
31369
+ consecutiveErrors = 0;
31370
+ stage = status.stage ?? stage;
31371
+ if (status.status === "done") {
31372
+ return json2({ jobId, ...status });
31373
+ }
31374
+ if (status.status === "error" || status.status === "failed" || status.error) {
31375
+ return fail(`Brand extraction failed${status.error ? `: ${status.error}` : ""}`);
31376
+ }
31377
+ } catch (error51) {
31378
+ lastError = error51 instanceof Error ? error51.message : String(error51);
31379
+ if (++consecutiveErrors >= POLL_ERROR_LIMIT) break;
31380
+ }
31381
+ progress?.report?.({
31382
+ progress: Math.min(Date.now() - startedAt, budgetMs),
31383
+ total: budgetMs,
31384
+ message: `brand run ${jobId}: ${stage || "extracting"}`
31385
+ });
31352
31386
  await nap(ctx, 2e3);
31353
31387
  }
31354
- return { text: `Brand extraction ${started.job} is still running. Re-run to check.` };
31388
+ return json2({
31389
+ timedOut: true,
31390
+ jobId,
31391
+ status: lastStatus,
31392
+ ...lastError ? { pollError: lastError } : {},
31393
+ resumeWith: `brand_extract({ jobId: "${jobId}", wait: true })`,
31394
+ note: "The extraction is still running \u2014 this is a pause, not a failure. Continue the same run with resumeWith; never call brand_extract with the URL again for this run." + clampNote(args.waitSeconds)
31395
+ });
31355
31396
  }
31356
31397
  };
31357
31398
  var motionProfile = {
@@ -31407,6 +31448,9 @@ var REMOTE_SAFE_TOOLS = [
31407
31448
  import { chromium } from "playwright-core";
31408
31449
  var PREVIEW_ORIGIN = "https://preview.impractical.local";
31409
31450
  var PREVIEW_URL = `${PREVIEW_ORIGIN}/stage.html`;
31451
+ var FRAME_TYPE = "jpeg";
31452
+ var FRAME_QUALITY = 80;
31453
+ var FRAME_MIME = "image/jpeg";
31410
31454
  async function launchChromium() {
31411
31455
  if (process.env.PLAYWRIGHT_CHANNEL === "chrome") {
31412
31456
  return chromium.launch({ channel: "chrome", headless: true });
@@ -31457,8 +31501,8 @@ async function captureReferenceFrames(input) {
31457
31501
  }),
31458
31502
  time3
31459
31503
  );
31460
- const png = await page.screenshot({ type: "png" });
31461
- images.push({ base64: png.toString("base64"), mimeType: "image/png" });
31504
+ const frame = await page.screenshot({ type: FRAME_TYPE, quality: FRAME_QUALITY });
31505
+ images.push({ base64: frame.toString("base64"), mimeType: FRAME_MIME });
31462
31506
  }
31463
31507
  return { images, duration: duration3 };
31464
31508
  } finally {
@@ -31571,8 +31615,8 @@ async function captureFrames(ctx, input) {
31571
31615
  }),
31572
31616
  clamped
31573
31617
  );
31574
- const png = await page.screenshot({ type: "png" });
31575
- images.push({ base64: png.toString("base64"), mimeType: "image/png" });
31618
+ const frame = await page.screenshot({ type: FRAME_TYPE, quality: FRAME_QUALITY });
31619
+ images.push({ base64: frame.toString("base64"), mimeType: FRAME_MIME });
31576
31620
  }
31577
31621
  return { images, warnings, revision: preview.artifactRevision, duration: duration3 };
31578
31622
  } finally {
@@ -31602,6 +31646,7 @@ var getFramesTool = {
31602
31646
  };
31603
31647
 
31604
31648
  // src/mcp/connect.ts
31649
+ var CONNECT_WAIT_SECONDS = 300;
31605
31650
  async function connectWorkspace(input, deps) {
31606
31651
  const grant = await deps.request(deps.supabaseUrl, "cli-device-auth", {
31607
31652
  action: "start"
@@ -31646,7 +31691,7 @@ var connectTool = {
31646
31691
  title: "Connect this workspace",
31647
31692
  description: "Authenticate Impractical Motion for this machine. Opens the user's browser to approve the connection, waits for them to confirm, and stores the credential locally. TELL THE USER YOU ARE ABOUT TO OPEN THEIR BROWSER BEFORE CALLING THIS \u2014 the call blocks until they approve. Use it whenever a tool reports that the workspace is not connected.",
31648
31693
  inputSchema: {
31649
- waitSeconds: external_exports.number().optional().describe("How long to wait for browser approval. Default 300.")
31694
+ waitSeconds: external_exports.number().optional().describe(`How long to wait for browser approval. Default ${CONNECT_WAIT_SECONDS}.`)
31650
31695
  },
31651
31696
  local: true,
31652
31697
  handler: async (args, ctx) => {
@@ -31654,7 +31699,10 @@ var connectTool = {
31654
31699
  const supabaseUrl = stored.supabaseUrl ?? PRODUCTION_SUPABASE_URL;
31655
31700
  const appUrl = stored.appUrl ?? PRODUCTION_APP_URL;
31656
31701
  const result = await connectWorkspace(
31657
- { waitMs: Number(args.waitSeconds ?? 300) * 1e3 },
31702
+ // Capped like every other wait: a browser approval that outlives the MCP
31703
+ // client's request deadline reports a failure the user then repeats,
31704
+ // burning a second device grant on an approval that already worked.
31705
+ { waitMs: waitBudgetMs(args.waitSeconds, CONNECT_WAIT_SECONDS) },
31658
31706
  {
31659
31707
  request: (url2, name, body) => invokeAt(url2, name, body),
31660
31708
  open: openBrowser,
@@ -31749,7 +31797,10 @@ var UNMETERED_MCP_TOOLS = /* @__PURE__ */ new Set([
31749
31797
  "account_status",
31750
31798
  "whoami",
31751
31799
  "upgrade",
31752
- "studio_link"
31800
+ "studio_link",
31801
+ // This tool has a packaged local fallback and is explicitly required before
31802
+ // authentication-dependent work. Admission must not block that fallback.
31803
+ "engine_types"
31753
31804
  ]);
31754
31805
  var encoder = new TextEncoder();
31755
31806
  var decoder = new TextDecoder();
@@ -31786,7 +31837,6 @@ var TOOLS = [
31786
31837
  engineTypesTool,
31787
31838
  motionContextTool
31788
31839
  ];
31789
- var VERSION = "0.1.0";
31790
31840
  function toContent(output) {
31791
31841
  const content = [{ type: "text", text: output.text }];
31792
31842
  for (const image of output.images ?? []) {
@@ -31794,6 +31844,20 @@ function toContent(output) {
31794
31844
  }
31795
31845
  return { content, ...output.isError ? { isError: true } : {} };
31796
31846
  }
31847
+ function toolProgress(extra) {
31848
+ const token = extra?._meta?.progressToken;
31849
+ const send = extra?.sendNotification;
31850
+ if (token === void 0 || !send) return { signal: extra?.signal };
31851
+ return {
31852
+ signal: extra?.signal,
31853
+ report: (update) => {
31854
+ void send({
31855
+ method: "notifications/progress",
31856
+ params: { progressToken: token, ...update }
31857
+ }).catch(() => void 0);
31858
+ }
31859
+ };
31860
+ }
31797
31861
  function register(server, tool, ctx) {
31798
31862
  server.registerTool(
31799
31863
  tool.name,
@@ -31802,10 +31866,10 @@ function register(server, tool, ctx) {
31802
31866
  description: tool.description,
31803
31867
  inputSchema: tool.inputSchema
31804
31868
  },
31805
- async (args) => {
31869
+ async (args, extra) => {
31806
31870
  try {
31807
31871
  const admission = ctx.admit && !UNMETERED_MCP_TOOLS.has(tool.name) ? await ctx.admit(tool.name) : null;
31808
- const execute = () => tool.handler(args ?? {}, ctx);
31872
+ const execute = () => tool.handler(args ?? {}, ctx, toolProgress(extra));
31809
31873
  const output = admission?.receipt && ctx.withAdmission ? await ctx.withAdmission(admission.receipt, execute) : await execute();
31810
31874
  if (admission?.warning) output.text += `
31811
31875
 
@@ -31814,7 +31878,10 @@ Quota warning: ${admission.warning}`;
31814
31878
  } catch (error51) {
31815
31879
  const status = error51.status;
31816
31880
  const message = error51 instanceof Error ? error51.message : String(error51);
31817
- const hint = status === 401 || isNotConnected(message) ? "\n\nCall the `connect` tool to authenticate this workspace." : status === 402 ? "\n\nThe workspace needs an active subscription or trial." : status === 429 ? "\n\nCall `upgrade` to open billing, or wait until the Monday UTC reset." : "";
31881
+ const details = error51 instanceof ApiError ? error51.details : void 0;
31882
+ const resetTime = typeof details?.resetTime === "string" ? details.resetTime : void 0;
31883
+ const upgradeUrl = typeof details?.upgradeUrl === "string" ? details.upgradeUrl : void 0;
31884
+ const hint = status === 401 || isNotConnected(message) ? "\n\nCall the `connect` tool to authenticate this workspace." : status === 402 ? "\n\nThe workspace needs an active subscription or trial." : status === 429 ? "\n\nNo work was started for this call. The free workspace has used all 200 weekly MCP calls." + (resetTime ? ` It resets at ${resetTime}.` : " It resets Monday at 00:00 UTC.") + ` Ask the user to upgrade${upgradeUrl ? ` at ${upgradeUrl}` : " with the `upgrade` tool"}, or retry after the reset. \`account_status\` remains available without using quota.` : "";
31818
31885
  return toContent({ text: `${tool.name} failed: ${message}${hint}`, isError: true });
31819
31886
  }
31820
31887
  }
@@ -31839,8 +31906,12 @@ function registerEngineResource(server) {
31839
31906
  );
31840
31907
  }
31841
31908
  function createServer(ctx) {
31909
+ const validatedCtx = {
31910
+ ...ctx,
31911
+ invoke: async (name, body = {}) => validateApiResponse(name, body, await ctx.invoke(name, body))
31912
+ };
31842
31913
  const server = new McpServer(
31843
- { name: "impractical-motion", version: VERSION },
31914
+ { name: "impractical-motion", version: PACKAGE_VERSION },
31844
31915
  {
31845
31916
  // This string lands in the client's system prompt at connection time —
31846
31917
  // the ONLY channel guaranteed to be in context before the agent acts.
@@ -31848,10 +31919,10 @@ function createServer(ctx) {
31848
31919
  // agent that skips motion_context still cannot produce slop by default.
31849
31920
  // The full language (ease table, blur doctrine, camera grammar, beat
31850
31921
  // sheets) ships live in motion_context's `guidance.motionDirection`.
31851
- instructions: "Impractical Motion makes studio-quality motion-graphics videos. Draft source lives in the cloud \u2014 there is no working copy on disk, so edit through these tools rather than writing files.\n\nYou are the director. Call engine_types first to learn the API, then motion_context to study the current house library and production references, then create_video, then write App.tsx (the stage markup) and direction.ts (the GSAP choreography) with edit_draft_file / write_draft_files. Every save rebuilds the preview and returns the build error if your code does not compile. Call get_frames to SEE the result before telling the user it is done, then export_video and hand them the studio_link.\n\nTHE MOTION FLOOR \u2014 these hold even if you read nothing else:\n1. Beat out the story before writing code: every beat needs a time, a thing on screen, and a move. A beat with no move is not a beat.\n2. Text enters on RISE \u2014 text.reveal(el, 'rise') on promo-out, lines ~0.2s apart. Do NOT default type to 'blur': word-by-word de-blur reads as out-of-focus and a staggered blur turns to mush. Blur is for whole-frame moves \u2014 fx.spike(el, 'blur') alongside a whip or dive, where it hides the cut. Never animate blur above 20px.\n3. Every ease is a named house curve \u2014 ease-out-* for entrances, ease-in-out-* for travel and ALL camera moves, ease-in-* for exits and dives only. Never leave an ease unspecified, and never put an ease-in-* on an entrance.\n4. Motion is fast: entrances 0.4-0.6s, exits shorter, line staggers ~0.2s apart, nothing over 1s except a deliberate hold drift or slow push.\n5. Nothing is ever static \u2014 every hold carries a slow drift or camera push. Cuts are HARD (tl.set), never crossfades.\n6. Determinism: no Date.now, Math.random, setTimeout, or CSS transitions. The exporter renders by seeking, so wall-clock motion shimmers or vanishes.\n7. Never claim a video is done without calling get_frames and looking at the frames."
31922
+ instructions: "Impractical Motion makes studio-quality motion-graphics videos. Draft source lives in the cloud \u2014 there is no working copy on disk, so edit through these tools rather than writing files.\n\nYou are the director. Call engine_types first to learn the API, then motion_context to study the current house library and production references, then create_video, then write App.tsx (the stage markup) and direction.ts (the GSAP choreography) with edit_draft_file / write_draft_files. Every save returns its committed revision and preview-build job id immediately. Follow that id with job_status and fix any build error it returns. Call get_frames to SEE the result before telling the user it is done, then call export_video, follow its returned job id with job_status, and hand the user the studio_link.\n\nJOBS OUTLIVE TOOL CALLS. Job-producing mutations return their durable job id BEFORE any wait; resume that exact id with job_status({ jobIds: [...], wait: true }). Never start a second export or re-apply an edit after a committed revision. If the MCP client kills a call and shows only a timeout, assume the acknowledgment may have been lost: DO NOT blindly retry a mutating or metered tool. Verify state first. For a write/edit, use list_draft_files and read_draft_file to confirm the intended source and revision. For an export or other project mutation, use get_project/list_projects to check whether it already started or completed. brand_extract returns a durable run handle; continue that exact jobId in status mode and never re-extract blindly. If its start acknowledgement is lost, check brand_list/brand_get before starting again. Retry only when those reads prove the mutation did not commit; otherwise continue from the observed state.\n\nTHE MOTION FLOOR \u2014 these hold even if you read nothing else:\n1. Beat out the story before writing code: every beat needs a time, a thing on screen, and a move. A beat with no move is not a beat.\n2. Text enters on RISE \u2014 text.reveal(el, 'rise') on promo-out, lines ~0.2s apart. Do NOT default type to 'blur': word-by-word de-blur reads as out-of-focus and a staggered blur turns to mush. Blur is for whole-frame moves \u2014 fx.spike(el, 'blur') alongside a whip or dive, where it hides the cut. Never animate blur above 20px.\n3. Every ease is a named house curve \u2014 ease-out-* for entrances, ease-in-out-* for travel and ALL camera moves, ease-in-* for exits and dives only. Never leave an ease unspecified, and never put an ease-in-* on an entrance.\n4. Motion is fast: entrances 0.4-0.6s, exits shorter, line staggers ~0.2s apart, nothing over 1s except a deliberate hold drift or slow push.\n5. Nothing is ever static \u2014 every hold carries a slow drift or camera push. Cuts are HARD (tl.set), never crossfades.\n6. Determinism: no Date.now, Math.random, setTimeout, or CSS transitions. The exporter renders by seeking, so wall-clock motion shimmers or vanishes.\n7. Never claim a video is done without calling get_frames and looking at the frames."
31852
31923
  }
31853
31924
  );
31854
- for (const tool of TOOLS) register(server, tool, ctx);
31925
+ for (const tool of TOOLS) register(server, tool, validatedCtx);
31855
31926
  registerEngineResource(server);
31856
31927
  return server;
31857
31928
  }