callman-mcp 0.7.1 → 0.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (113) hide show
  1. package/CHANGELOG.md +72 -0
  2. package/README.md +38 -5
  3. package/dist/client/api.d.ts +97 -1
  4. package/dist/client/api.d.ts.map +1 -1
  5. package/dist/client/api.js +120 -0
  6. package/dist/client/api.js.map +1 -1
  7. package/dist/client/errors.d.ts.map +1 -1
  8. package/dist/client/errors.js +45 -11
  9. package/dist/client/errors.js.map +1 -1
  10. package/dist/client/http.d.ts +2 -1
  11. package/dist/client/http.d.ts.map +1 -1
  12. package/dist/client/http.js +4 -2
  13. package/dist/client/http.js.map +1 -1
  14. package/dist/client/types.d.ts +196 -0
  15. package/dist/client/types.d.ts.map +1 -1
  16. package/dist/client/types.js +0 -3
  17. package/dist/client/types.js.map +1 -1
  18. package/dist/config.d.ts +1 -0
  19. package/dist/config.d.ts.map +1 -1
  20. package/dist/config.js +2 -0
  21. package/dist/config.js.map +1 -1
  22. package/dist/context.d.ts +16 -0
  23. package/dist/context.d.ts.map +1 -1
  24. package/dist/context.js +2 -0
  25. package/dist/context.js.map +1 -1
  26. package/dist/domain/requestShape.d.ts +4 -4
  27. package/dist/index.js +17 -1
  28. package/dist/index.js.map +1 -1
  29. package/dist/resources/docs/mocks.d.ts +2 -0
  30. package/dist/resources/docs/mocks.d.ts.map +1 -0
  31. package/dist/resources/docs/mocks.js +445 -0
  32. package/dist/resources/docs/mocks.js.map +1 -0
  33. package/dist/resources/docs/overview.d.ts +1 -1
  34. package/dist/resources/docs/overview.d.ts.map +1 -1
  35. package/dist/resources/docs/overview.js +11 -1
  36. package/dist/resources/docs/overview.js.map +1 -1
  37. package/dist/resources/generated/aiPacks.d.ts +1 -1
  38. package/dist/resources/generated/aiPacks.js +2 -2
  39. package/dist/resources/index.d.ts.map +1 -1
  40. package/dist/resources/index.js +2 -0
  41. package/dist/resources/index.js.map +1 -1
  42. package/dist/server.d.ts +8 -2
  43. package/dist/server.d.ts.map +1 -1
  44. package/dist/server.js +5 -2
  45. package/dist/server.js.map +1 -1
  46. package/dist/tools/catalog.d.ts +1 -1
  47. package/dist/tools/catalog.d.ts.map +1 -1
  48. package/dist/tools/catalog.js +32 -0
  49. package/dist/tools/catalog.js.map +1 -1
  50. package/dist/tools/import.d.ts.map +1 -1
  51. package/dist/tools/import.js +7 -1
  52. package/dist/tools/import.js.map +1 -1
  53. package/dist/tools/index.d.ts.map +1 -1
  54. package/dist/tools/index.js +2 -0
  55. package/dist/tools/index.js.map +1 -1
  56. package/dist/tools/meta.d.ts.map +1 -1
  57. package/dist/tools/meta.js +29 -2
  58. package/dist/tools/meta.js.map +1 -1
  59. package/dist/tools/mockData.d.ts +4 -0
  60. package/dist/tools/mockData.d.ts.map +1 -0
  61. package/dist/tools/mockData.js +384 -0
  62. package/dist/tools/mockData.js.map +1 -0
  63. package/dist/tools/mockEngine.d.ts +129 -0
  64. package/dist/tools/mockEngine.d.ts.map +1 -0
  65. package/dist/tools/mockEngine.js +225 -0
  66. package/dist/tools/mockEngine.js.map +1 -0
  67. package/dist/tools/mockImport.d.ts +5 -0
  68. package/dist/tools/mockImport.d.ts.map +1 -0
  69. package/dist/tools/mockImport.js +298 -0
  70. package/dist/tools/mockImport.js.map +1 -0
  71. package/dist/tools/mockSchemas.d.ts +12272 -0
  72. package/dist/tools/mockSchemas.d.ts.map +1 -0
  73. package/dist/tools/mockSchemas.js +247 -0
  74. package/dist/tools/mockSchemas.js.map +1 -0
  75. package/dist/tools/mockShared.d.ts +6355 -0
  76. package/dist/tools/mockShared.d.ts.map +1 -0
  77. package/dist/tools/mockShared.js +445 -0
  78. package/dist/tools/mockShared.js.map +1 -0
  79. package/dist/tools/mocks.d.ts +4 -0
  80. package/dist/tools/mocks.d.ts.map +1 -0
  81. package/dist/tools/mocks.js +413 -0
  82. package/dist/tools/mocks.js.map +1 -0
  83. package/dist/tools/mocksLocal.d.ts +48 -0
  84. package/dist/tools/mocksLocal.d.ts.map +1 -0
  85. package/dist/tools/mocksLocal.js +261 -0
  86. package/dist/tools/mocksLocal.js.map +1 -0
  87. package/dist/tools/uiTestAdmin.d.ts.map +1 -1
  88. package/dist/tools/uiTestAdmin.js +3 -1
  89. package/dist/tools/uiTestAdmin.js.map +1 -1
  90. package/dist-cjs/client/api.js +120 -0
  91. package/dist-cjs/client/errors.js +45 -11
  92. package/dist-cjs/client/http.js +4 -2
  93. package/dist-cjs/client/types.js +0 -3
  94. package/dist-cjs/config.js +2 -0
  95. package/dist-cjs/context.js +2 -0
  96. package/dist-cjs/resources/docs/mocks.js +447 -0
  97. package/dist-cjs/resources/docs/overview.js +11 -1
  98. package/dist-cjs/resources/generated/aiPacks.js +2 -2
  99. package/dist-cjs/resources/index.js +2 -0
  100. package/dist-cjs/server.js +5 -2
  101. package/dist-cjs/tools/catalog.js +32 -0
  102. package/dist-cjs/tools/import.js +7 -1
  103. package/dist-cjs/tools/index.js +2 -0
  104. package/dist-cjs/tools/meta.js +28 -1
  105. package/dist-cjs/tools/mockData.js +387 -0
  106. package/dist-cjs/tools/mockEngine.js +243 -0
  107. package/dist-cjs/tools/mockImport.js +302 -0
  108. package/dist-cjs/tools/mockSchemas.js +253 -0
  109. package/dist-cjs/tools/mockShared.js +474 -0
  110. package/dist-cjs/tools/mocks.js +416 -0
  111. package/dist-cjs/tools/mocksLocal.js +277 -0
  112. package/dist-cjs/tools/uiTestAdmin.js +3 -1
  113. package/package.json +3 -3
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mockSchemas.d.ts","sourceRoot":"","sources":["../../src/tools/mockSchemas.ts"],"names":[],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAwH,CAAC;AAGzJ,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAA6K,CAAC;AAE9M,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAChE,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAMhE,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqBoF,CAAC;AAErH,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAIhE,eAAO,MAAM,UAAU,4BAImH,CAAC"}
@@ -0,0 +1,247 @@
1
+ import { faultsFromSimple, MOCK_DATA_OPERATIONS, MOCK_FAKER_HINTS, MOCK_FIELD_NAME_PATTERN, MOCK_FIELD_TYPES, MOCK_ID_STRATEGIES, MOCK_RESOURCE_ENDPOINTS, MOCK_RESOURCE_NAME_PATTERN, MOCK_RESOURCE_TEMPLATES, MOCK_SESSION_ID_PATTERN, } from "callman-core/mock-engine";
2
+ import { z } from "zod";
3
+ import { unknownKeysErrorMap } from "../lib/strict.js";
4
+ // The typed input shapes of the mock tools: the response shapes of a route
5
+ // (static / template / builder presets with their typed configs) and the
6
+ // mock engine v2 parts — resources, user sign-in, faults, data actions. The
7
+ // vocabularies (field types, id strategies, data operations, endpoints, faker
8
+ // hints, resource templates) come from callman-core, so the tools speak
9
+ // exactly the engine's words. Typed, but the backend stays the validator:
10
+ // what the server requires is described, not always enforced here.
11
+ export const strictObject = (shape, where) => z.object(shape, { errorMap: unknownKeysErrorMap("field", Object.keys(shape), where) }).strict();
12
+ export const statusCode = z.coerce.number().int().min(100).max(599);
13
+ export const headersSchema = z.record(z.string().max(8192));
14
+ export const delaySchema = z.discriminatedUnion("mode", [
15
+ strictObject({ mode: z.literal("none") }, "delay"),
16
+ strictObject({ mode: z.literal("fixed"), ms: z.number().int().min(0).max(60_000) }, "delay"),
17
+ strictObject({ mode: z.literal("random"), minMs: z.number().int().min(0).max(60_000), maxMs: z.number().int().min(0).max(60_000) }, "delay"),
18
+ ]);
19
+ export const requestValidationSchema = strictObject({ mode: z.enum(["any", "schema"]), schema: z.unknown().optional().describe("JSON Schema (draft-07) the request body must match when mode is schema; a mismatch answers 400") }, "requestValidation");
20
+ export const conditionSchema = strictObject({
21
+ type: z.enum(["all", "any"]),
22
+ rules: z
23
+ .array(strictObject({
24
+ field: z.string().min(1).max(200).describe("headers.<name>, params.<name>, query.<name> or body.<dotted.path> (engine v2 also auth.sub, auth.claims.<name>, session.id)"),
25
+ operator: z.enum(["exists", "not-exists", "equals", "not-equals", "contains", "starts-with", "matches"]),
26
+ value: z.string().max(2000).optional(),
27
+ }, "condition rule"))
28
+ .min(1)
29
+ .max(20),
30
+ }, "condition");
31
+ // ── builder presets (typed configs) ─────────────────────────────────────
32
+ const sourceSchema = z.discriminatedUnion("kind", [
33
+ strictObject({ kind: z.literal("static"), data: z.array(z.unknown()).describe("The items") }, "source"),
34
+ strictObject({ kind: z.literal("state"), stateKey: z.string().min(1).max(120).describe("Top-level key of the mock's state holding the array") }, "source"),
35
+ ]);
36
+ const notFoundSchema = strictObject({ statusCode: statusCode.optional().describe("Default 404"), body: z.unknown().optional() }, "notFoundBehavior");
37
+ const stateKey = z.string().min(1).max(120).describe("Required: the state key (an array of objects) this route writes");
38
+ const lookup = {
39
+ paramName: z.string().min(1).max(120).optional().describe('The path parameter holding the id (default "id"; the route path must use :<paramName>)'),
40
+ lookupField: z.string().min(1).max(120).optional().describe('The item field compared with it (default "id")'),
41
+ };
42
+ const reply = { statusCode: statusCode.optional(), headers: headersSchema.optional() };
43
+ const builderConfigSchema = z.discriminatedUnion("preset", [
44
+ strictObject({
45
+ preset: z.literal("list"),
46
+ source: sourceSchema.optional().describe("Required: { kind: \"state\", stateKey } or { kind: \"static\", data: [...] }"),
47
+ filtering: strictObject({
48
+ enabled: z.boolean(),
49
+ rules: z.array(strictObject({ queryParam: z.string().min(1).max(120), field: z.string().min(1).max(120), operator: z.enum(["equals", "contains", "startsWith", "in"]) }, "filtering rule")).max(20).optional(),
50
+ }, "filtering").optional(),
51
+ sorting: strictObject({ enabled: z.boolean(), sortByParam: z.string().min(1).max(120).optional(), orderParam: z.string().min(1).max(120).optional(), allowedFields: z.array(z.string().min(1).max(120)).max(50).optional() }, "sorting").optional(),
52
+ pagination: strictObject({
53
+ enabled: z.boolean(),
54
+ strategy: z.enum(["page", "offset", "cursor"]).optional(),
55
+ defaultPageSize: z.number().int().min(1).max(1000).optional(),
56
+ maxPageSize: z.number().int().min(1).max(1000).optional(),
57
+ envelope: z.enum(["standard", "data-meta", "raw"]).optional(),
58
+ }, "pagination").optional(),
59
+ ...reply,
60
+ }, "list config"),
61
+ strictObject({ preset: z.literal("detail"), source: sourceSchema.optional().describe("Required"), notFoundBehavior: notFoundSchema.optional().describe("Required, e.g. { statusCode: 404 }"), ...lookup, ...reply }, "detail config"),
62
+ strictObject({
63
+ preset: z.literal("create"),
64
+ stateKey: stateKey.optional(),
65
+ autoGenerate: strictObject({ id: z.enum(["uuid", "incremental"]).optional(), createdAt: z.boolean().optional(), updatedAt: z.boolean().optional() }, "autoGenerate").optional(),
66
+ requiredFields: z.array(z.string().min(1).max(120)).max(50).optional().describe("Missing in the request body → 400"),
67
+ responseBehavior: z.enum(["return-created", "return-id", "status-only"]).optional(),
68
+ ...reply,
69
+ }, "create config"),
70
+ strictObject({
71
+ preset: z.literal("update"),
72
+ stateKey: stateKey.optional(),
73
+ notFoundBehavior: notFoundSchema.optional().describe("Required, e.g. { statusCode: 404 }"),
74
+ ...lookup,
75
+ mergeStrategy: z.enum(["partial", "full"]).optional(),
76
+ autoUpdateUpdatedAt: z.boolean().optional(),
77
+ ...reply,
78
+ }, "update config"),
79
+ strictObject({
80
+ preset: z.literal("delete"),
81
+ stateKey: stateKey.optional(),
82
+ notFoundBehavior: notFoundSchema.optional().describe("Required, e.g. { statusCode: 404 }"),
83
+ ...lookup,
84
+ responseBehavior: z.enum(["204", "return-deleted", "success-message"]).optional(),
85
+ ...reply,
86
+ }, "delete config"),
87
+ strictObject({ preset: z.literal("echo"), ...reply }, "echo config"),
88
+ strictObject({ preset: z.literal("custom"), ...reply, body: z.unknown().optional() }, "custom config"),
89
+ ]);
90
+ export const BUILDER_PRESETS = ["list", "detail", "create", "update", "delete", "echo", "custom"];
91
+ export const builderResponseSchema = strictObject({
92
+ type: z.literal("builder"),
93
+ preset: z.enum(BUILDER_PRESETS),
94
+ config: builderConfigSchema.describe("The preset's config; config.preset must equal preset. See callman://docs/mocks"),
95
+ }, "builder response");
96
+ // ── user sign-in requirement, faults ────────────────────────────────────
97
+ export const protectedSchema = z
98
+ .union([z.boolean(), strictObject({ roles: z.array(z.string().trim().min(1).max(64)).min(1).max(20) }, "protected")])
99
+ .describe('Engine v2: needs a user signed in through the mock\'s userAuth (Authorization: Bearer <token>; else 401). true = any user, { roles: ["admin"] } = a user with one of these roles (else 403), false = public even when userAuth protects everything');
100
+ export const toAuthRequirement = (value) => (value === true ? "user" : value === false ? "none" : { roles: value.roles });
101
+ export const fromAuthRequirement = (auth) => auth === undefined || auth === null ? undefined : auth === "user" ? true : auth === "none" ? false : { roles: auth.roles };
102
+ const percent = z.number().min(0).max(100);
103
+ // The flat form (core `faultsFromSimple` turns it into fault rules).
104
+ export const simpleFaultsSchema = strictObject({
105
+ errorRate: percent.optional().describe("% of requests answered with errorStatus"),
106
+ errorStatus: statusCode.optional().describe("Status of the injected errors (default 500)"),
107
+ errorBody: z.unknown().optional().describe("Body of the injected errors"),
108
+ delay: delaySchema.optional().describe("Extra delay on every request"),
109
+ timeoutRate: percent.optional().describe("% of requests held unanswered, then 504 — the client times out"),
110
+ dropRate: percent.optional().describe("% of requests whose connection is closed without an answer"),
111
+ failFirst: z.number().int().min(0).max(1000).optional().describe("The first N calls (per test session) fail with errorStatus, then it recovers — for retry logic"),
112
+ }, "faults").describe("Engine v2: fail on purpose — error rate, delay, timeouts, dropped connections, fail the first N calls");
113
+ export const toFaultConfig = (simple) => faultsFromSimple(simple);
114
+ // ── per-outcome responses (data actions, resource endpoints, sign-in) ───
115
+ export const outcomeResponseSchema = strictObject({ statusCode: statusCode.optional(), headers: headersSchema.optional(), body: z.unknown().optional().describe("Template: {{record}}, {{records}}, {{total}}, {{request.*}}, {{auth.sub}} …") }, "outcome response");
116
+ // The outcomes a data operation ends in (core MockOutcome).
117
+ const OUTCOMES = ["success", "created", "notFound", "conflict", "validationError", "unauthorized", "forbidden", "limitExceeded", "payloadTooLarge"];
118
+ export const outcomeResponsesSchema = strictObject(Object.fromEntries(OUTCOMES.map((outcome) => [outcome, outcomeResponseSchema.optional()])), "responses").describe(`Override the answer per outcome (${OUTCOMES.join(", ")}); the rest keep the engine's default answer`);
119
+ // ── data actions (a route that reads or writes a resource) ──────────────
120
+ const resourceName = z.string().trim().regex(MOCK_RESOURCE_NAME_PATTERN, "Resource names start with a lowercase letter and use letters, digits, _ or - (max 40)");
121
+ const fieldName = z.string().trim().regex(MOCK_FIELD_NAME_PATTERN, "Field names use letters, digits and _ and start with a letter or _ (max 64)");
122
+ export const dataActionSchema = strictObject({
123
+ operation: z.enum(MOCK_DATA_OPERATIONS).describe("insert (create from the body), find (a list), findOne, update, delete, count, upsert"),
124
+ resource: resourceName.describe("The resource it works on"),
125
+ match: z
126
+ .array(strictObject({
127
+ field: z.string().trim().min(1).max(200).regex(/^[A-Za-z0-9_.-]+$/, "A field name or dotted path"),
128
+ // core MockActionMatchRule["op"]
129
+ op: z.enum(["eq", "ne", "gt", "gte", "lt", "lte", "in", "contains", "like"]).optional().describe("Default eq"),
130
+ value: z.string().max(2000).describe('A template or a literal: "{{request.params.id}}", "{{request.query.status}}", "{{auth.sub}}", "active"'),
131
+ skipIfEmpty: z.boolean().optional().describe("Ignore this rule when the value is empty (optional filters)"),
132
+ }, "match rule"))
133
+ .max(10)
134
+ .optional()
135
+ .describe("Which records: every rule must hold"),
136
+ write: strictObject({
137
+ source: z.string().max(2000).optional().describe('Template of the written object (default "{{request.body}}")'),
138
+ pick: z.array(fieldName).max(100).optional(),
139
+ omit: z.array(fieldName).max(100).optional(),
140
+ set: z.record(z.unknown()).optional().describe('Fields set last, e.g. { "status": "cancelled", "userId": "{{auth.sub}}" }'),
141
+ }, "write").optional(),
142
+ mode: z.enum(["merge", "replace"]).optional().describe("update: merge (default) or replace"),
143
+ many: z.boolean().optional().describe("update / delete every match, not just the first"),
144
+ find: strictObject({ useRequestQuery: z.boolean().optional().describe("Apply the caller's list query (?status=paid&_sort=-total …) too"), sort: z.string().max(200).optional(), limit: z.number().int().min(1).max(1000).optional() }, "find").optional(),
145
+ responses: outcomeResponsesSchema.optional(),
146
+ }, "data").describe('Engine v2: this route reads or writes a resource instead of answering a fixed body, e.g. { operation: "update", resource: "orders", match: [{ field: "id", value: "{{request.params.id}}" }], write: { set: { status: "cancelled" } } }');
147
+ const ITEM_TYPES = MOCK_FIELD_TYPES.filter((type) => type !== "password" && type !== "array");
148
+ export const RESOURCE_TEMPLATE_IDS = MOCK_RESOURCE_TEMPLATES.map((template) => template.id);
149
+ const fieldSchema = strictObject({
150
+ name: fieldName,
151
+ type: z.enum(MOCK_FIELD_TYPES).describe("password fields are stored salted-hashed and never returned"),
152
+ required: z.boolean().optional(),
153
+ nullable: z.boolean().optional(),
154
+ unique: z.boolean().optional().describe("A second record with the same value → 409"),
155
+ uniqueCaseInsensitive: z.boolean().optional(),
156
+ default: z.unknown().optional().describe('A literal, or a template such as "{{now}}" / "{{auth.sub}}"'),
157
+ enum: z.array(z.union([z.string().max(500), z.number()])).max(100).optional(),
158
+ min: z.number().optional(),
159
+ max: z.number().optional(),
160
+ minLength: z.number().int().min(0).max(1_000_000).optional(),
161
+ maxLength: z.number().int().min(0).max(1_000_000).optional(),
162
+ pattern: z.string().max(512).optional().describe("A regular expression the value must match"),
163
+ items: strictObject({ type: z.enum(ITEM_TYPES) }, "items").optional().describe("type array: the type of its items"),
164
+ readOnly: z.boolean().optional().describe("Client writes are ignored"),
165
+ writeOnly: z.boolean().optional().describe("Never returned"),
166
+ ref: strictObject({
167
+ resource: resourceName.describe("The resource it points to"),
168
+ onDelete: z.enum(["restrict", "cascade", "nullify", "none"]).optional().describe("When the target is deleted: refuse (409), delete these too, set null, or nothing (default)"),
169
+ check: z.boolean().optional().describe("The target must exist on create / update (default true)"),
170
+ as: fieldName.optional().describe("Name of the expanded object for _expand (default: the field name without Id)"),
171
+ nested: z.boolean().optional().describe("Also answer GET/POST /<target>/:<field>/<this resource> (default true)"),
172
+ }, "ref").optional().describe("A relation (orders.userId → users): _expand / _embed and nested routes follow it"),
173
+ fakerHint: z.string().max(300).optional().describe(`How seed data is generated: ${MOCK_FAKER_HINTS.slice(0, 10).join(", ")} … (any $random* token), or a template like "{{$randomFirstName}} {{$randomLastName}}"`),
174
+ }, "resource field");
175
+ const endpointSchema = z.union([
176
+ z.boolean(),
177
+ strictObject({
178
+ enabled: z.boolean().optional(),
179
+ protected: protectedSchema.optional(),
180
+ faults: simpleFaultsSchema.optional(),
181
+ delay: delaySchema.optional(),
182
+ responses: outcomeResponsesSchema.optional(),
183
+ requestValidation: requestValidationSchema.optional(),
184
+ }, "endpoint"),
185
+ ]);
186
+ const endpointsSchema = strictObject(Object.fromEntries(MOCK_RESOURCE_ENDPOINTS.map((endpoint) => [endpoint, endpointSchema.optional()])), "endpoints").describe(`Per auto endpoint (${MOCK_RESOURCE_ENDPOINTS.join(", ")}): false switches it off; an object sets protected / faults / delay / responses / requestValidation`);
187
+ const listSchema = strictObject({
188
+ envelope: z.enum(["array", "data-meta", "items", "custom"]).optional().describe('array (default): a plain array; data-meta: { data, meta: { total, page, limit } }; items: { items, total, page, limit }; custom: customBody'),
189
+ customBody: z.unknown().optional().describe("envelope custom: a template with {{records}} {{total}} {{page}} {{limit}} {{totalPages}}"),
190
+ defaultLimit: z.number().int().min(1).max(1000).nullable().optional().describe("Page size when the client sends none (null = everything up to maxLimit)"),
191
+ maxLimit: z.number().int().min(1).max(1000).optional(),
192
+ totalCountHeader: z.boolean().optional().describe("X-Total-Count (default true)"),
193
+ linkHeader: z.boolean().optional().describe("Link: <…>; rel=\"next\" (default true)"),
194
+ filterMode: z.enum(["declared", "any"]).optional().describe("declared: only declared fields filter; any: every query parameter does"),
195
+ searchable: z.boolean().optional().describe("?q= full-text search"),
196
+ defaultSort: z.string().max(200).optional().describe('e.g. "-createdAt,name"'),
197
+ }, "list");
198
+ const seedSchema = strictObject({
199
+ records: z.array(z.record(z.unknown())).max(5000).optional().describe("Records every new copy of the data starts with"),
200
+ generate: z.number().int().min(0).max(1000).optional().describe("Also generate N records from the fields (fakerHint)"),
201
+ salt: z.string().max(64).optional().describe("Change it to get different generated records"),
202
+ }, "seed");
203
+ const resourceShape = {
204
+ template: z.enum(RESOURCE_TEMPLATE_IDS).optional().describe(`Start from a ready resource (${RESOURCE_TEMPLATE_IDS.join(", ")}): its fields, id strategy and generated seed; what you pass overrides it`),
205
+ name: resourceName.optional().describe("Unique per mock; lowercase first letter (users, orders, line-items). Default: the template's"),
206
+ basePath: z.string().min(1).max(256).optional().describe("Where its endpoints live (default /<name>)"),
207
+ idField: fieldName.optional().describe('Default "id"'),
208
+ idStrategy: z.enum(MOCK_ID_STRATEGIES).optional().describe("How new ids are made (default uuid; client = the caller sends it)"),
209
+ lookupField: fieldName.optional().describe("The field /:id endpoints look up by (default idField, e.g. slug)"),
210
+ allowClientId: z.boolean().optional().describe("Accept an id sent by the client on create (default true)"),
211
+ fields: z.array(fieldSchema).max(100).optional().describe("Typed fields with validation; none = schemaless (anything goes, json-server style)"),
212
+ additionalFields: z.enum(["allow", "strip", "reject"]).optional().describe("Fields that are not declared: keep (default), drop, or 400"),
213
+ timestamps: strictObject({ createdAt: fieldName.nullable().optional(), updatedAt: fieldName.nullable().optional() }, "timestamps").optional().describe("Field names (default createdAt / updatedAt); null switches one off"),
214
+ ownerField: fieldName.optional().describe("Each record belongs to the signed-in user through this field: users see and change only their own (needs userAuth)"),
215
+ protected: protectedSchema.optional(),
216
+ endpoints: endpointsSchema.optional(),
217
+ list: listSchema.optional(),
218
+ seed: seedSchema.optional(),
219
+ };
220
+ export const resourceInputSchema = strictObject(resourceShape, "resource").describe("A resource: a small database in the mock with auto CRUD endpoints");
221
+ const { template: _template, ...patchShape } = resourceShape;
222
+ export const resourcePatchSchema = strictObject(patchShape, "resource changes").describe("The keys to change; each replaces the stored value (fields replaces the whole list — read it with get_mock first)");
223
+ // ── user sign-in ────────────────────────────────────────────────────────
224
+ const authEndpointSchema = strictObject({ enabled: z.boolean().optional(), path: z.string().min(1).max(256).optional() }, "sign-in endpoint");
225
+ export const userAuthInputSchema = strictObject({
226
+ enabled: z.boolean().optional().describe("Default true"),
227
+ usersResource: resourceName.optional().describe('The resource holding the users (default "users"); it needs the identity and password fields'),
228
+ identityField: fieldName.optional().describe('Default "email"'),
229
+ passwordField: fieldName.optional().describe('Default "password" (make it a field of type password)'),
230
+ tokenTtlSeconds: z.number().int().min(60).max(7 * 24 * 3600).optional().describe("Lifetime of the issued JWTs (default 3600)"),
231
+ issuer: z.string().trim().max(200).optional(),
232
+ audience: z.string().trim().max(200).optional(),
233
+ roleClaim: fieldName.optional().describe('The user field copied into the role claim that { roles } requirements check (default "role")'),
234
+ claims: z.record(fieldName).optional().describe("Extra claims: claim name → user field"),
235
+ protect: z.enum(["none", "resources", "all"]).optional().describe("What needs a signed-in user by default: nothing, every resource endpoint (default), or every route"),
236
+ endpoints: strictObject({ login: authEndpointSchema.optional(), register: authEndpointSchema.optional(), me: authEndpointSchema.optional() }, "sign-in endpoints")
237
+ .optional()
238
+ .describe("Default POST /auth/login, POST /auth/register, GET /auth/me"),
239
+ responses: strictObject({ loginSuccess: outcomeResponseSchema.optional(), loginFailure: outcomeResponseSchema.optional(), unauthorized: outcomeResponseSchema.optional(), forbidden: outcomeResponseSchema.optional() }, "sign-in responses").optional(),
240
+ }, "userAuth").describe("Engine v2: user sign-in — login / register / me endpoints issue HS256 JWTs for the users of a resource");
241
+ // ── sessions ────────────────────────────────────────────────────────────
242
+ export const sessionArg = z
243
+ .string()
244
+ .regex(MOCK_SESSION_ID_PATTERN, "1–64 letters, digits, . _ : or -")
245
+ .optional()
246
+ .describe("A test session (what callers send as X-Mock-Session): work on that session's own copy of the data instead of the shared one");
247
+ //# sourceMappingURL=mockSchemas.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mockSchemas.js","sourceRoot":"","sources":["../../src/tools/mockSchemas.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACpB,gBAAgB,EAChB,uBAAuB,EACvB,gBAAgB,EAChB,kBAAkB,EAClB,uBAAuB,EACvB,0BAA0B,EAC1B,uBAAuB,EACvB,uBAAuB,GAKxB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAEvD,2EAA2E;AAC3E,yEAAyE;AACzE,4EAA4E;AAC5E,8EAA8E;AAC9E,wEAAwE;AACxE,0EAA0E;AAC1E,mEAAmE;AAEnE,MAAM,CAAC,MAAM,YAAY,GAAG,CAA0B,KAAQ,EAAE,KAAa,EAAE,EAAE,CAC/E,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,mBAAmB,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;AAElG,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AACpE,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;AAE5D,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAC,kBAAkB,CAAC,MAAM,EAAE;IACtD,YAAY,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC;IAClD,YAAY,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC;IAC5F,YAAY,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC;CAC7I,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,uBAAuB,GAAG,YAAY,CACjD,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gGAAgG,CAAC,EAAE,EAC9K,mBAAmB,CACpB,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,YAAY,CACzC;IACE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAC5B,KAAK,EAAE,CAAC;SACL,KAAK,CACJ,YAAY,CACV;QACE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,6HAA6H,CAAC;QACzK,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,SAAS,CAAC,CAAC;QACxG,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE;KACvC,EACD,gBAAgB,CACjB,CACF;SACA,GAAG,CAAC,CAAC,CAAC;SACN,GAAG,CAAC,EAAE,CAAC;CACX,EACD,WAAW,CACZ,CAAC;AAEF,2EAA2E;AAE3E,MAAM,YAAY,GAAG,CAAC,CAAC,kBAAkB,CAAC,MAAM,EAAE;IAChD,YAAY,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,EAAE,QAAQ,CAAC;IACvG,YAAY,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,qDAAqD,CAAC,EAAE,EAAE,QAAQ,CAAC;CAC3J,CAAC,CAAC;AAEH,MAAM,cAAc,GAAG,YAAY,CAAC,EAAE,UAAU,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,EAAE,EAAE,kBAAkB,CAAC,CAAC;AACrJ,MAAM,QAAQ,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,iEAAiE,CAAC,CAAC;AACxH,MAAM,MAAM,GAAG;IACb,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wFAAwF,CAAC;IACnJ,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gDAAgD,CAAC;CAC9G,CAAC;AACF,MAAM,KAAK,GAAG,EAAE,UAAU,EAAE,UAAU,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,aAAa,CAAC,QAAQ,EAAE,EAAE,CAAC;AAEvF,MAAM,mBAAmB,GAAG,CAAC,CAAC,kBAAkB,CAAC,QAAQ,EAAE;IACzD,YAAY,CACV;QACE,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;QACzB,MAAM,EAAE,YAAY,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8EAA8E,CAAC;QACxH,SAAS,EAAE,YAAY,CACrB;YACE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE;YACpB,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,UAAU,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC,EAAE,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE;SAC/M,EACD,WAAW,CACZ,CAAC,QAAQ,EAAE;QACZ,OAAO,EAAE,YAAY,CACnB,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,aAAa,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,EAAE,EACtM,SAAS,CACV,CAAC,QAAQ,EAAE;QACZ,UAAU,EAAE,YAAY,CACtB;YACE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE;YACpB,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE;YACzD,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE;YAC7D,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE;YACzD,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC,QAAQ,EAAE;SAC9D,EACD,YAAY,CACb,CAAC,QAAQ,EAAE;QACZ,GAAG,KAAK;KACT,EACD,aAAa,CACd;IACD,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,YAAY,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,gBAAgB,EAAE,cAAc,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oCAAoC,CAAC,EAAE,GAAG,MAAM,EAAE,GAAG,KAAK,EAAE,EAAE,eAAe,CAAC;IACrO,YAAY,CACV;QACE,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;QAC3B,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE;QAC7B,YAAY,EAAE,YAAY,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,EAAE,EAAE,cAAc,CAAC,CAAC,QAAQ,EAAE;QAC/K,cAAc,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;QACpH,gBAAgB,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,gBAAgB,EAAE,WAAW,EAAE,aAAa,CAAC,CAAC,CAAC,QAAQ,EAAE;QACnF,GAAG,KAAK;KACT,EACD,eAAe,CAChB;IACD,YAAY,CACV;QACE,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;QAC3B,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE;QAC7B,gBAAgB,EAAE,cAAc,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oCAAoC,CAAC;QAC1F,GAAG,MAAM;QACT,aAAa,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE;QACrD,mBAAmB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;QAC3C,GAAG,KAAK;KACT,EACD,eAAe,CAChB;IACD,YAAY,CACV;QACE,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;QAC3B,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE;QAC7B,gBAAgB,EAAE,cAAc,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oCAAoC,CAAC;QAC1F,GAAG,MAAM;QACT,gBAAgB,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,CAAC,CAAC,CAAC,QAAQ,EAAE;QACjF,GAAG,KAAK;KACT,EACD,eAAe,CAChB;IACD,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,aAAa,CAAC;IACpE,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,GAAG,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,EAAE,EAAE,eAAe,CAAC;CACvG,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAU,CAAC;AAE3G,MAAM,CAAC,MAAM,qBAAqB,GAAG,YAAY,CAC/C;IACE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;IAC1B,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC;IAC/B,MAAM,EAAE,mBAAmB,CAAC,QAAQ,CAAC,gFAAgF,CAAC;CACvH,EACD,kBAAkB,CACnB,CAAC;AAEF,2EAA2E;AAE3E,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC;KAC7B,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,YAAY,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC,CAAC;KACpH,QAAQ,CAAC,oPAAoP,CAAC,CAAC;AAIlQ,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,KAAqB,EAAuB,EAAE,CAAC,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;AAE/J,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,IAA4C,EAA8B,EAAE,CAC9G,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;AAE7H,MAAM,OAAO,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAE3C,qEAAqE;AACrE,MAAM,CAAC,MAAM,kBAAkB,GAAG,YAAY,CAC5C;IACE,SAAS,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yCAAyC,CAAC;IACjF,WAAW,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6CAA6C,CAAC;IAC1F,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6BAA6B,CAAC;IACzE,KAAK,EAAE,WAAW,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;IACtE,WAAW,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gEAAgE,CAAC;IAC1G,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4DAA4D,CAAC;IACnG,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gGAAgG,CAAC;CACnK,EACD,QAAQ,CACT,CAAC,QAAQ,CAAC,uGAAuG,CAAC,CAAC;AAIpH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,MAA4C,EAA0B,EAAE,CAAC,gBAAgB,CAAC,MAA6C,CAAC,CAAC;AAEvK,2EAA2E;AAE3E,MAAM,CAAC,MAAM,qBAAqB,GAAG,YAAY,CAC/C,EAAE,UAAU,EAAE,UAAU,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,aAAa,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6EAA6E,CAAC,EAAE,EAC9L,kBAAkB,CACnB,CAAC;AAEF,4DAA4D;AAC5D,MAAM,QAAQ,GAAG,CAAC,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,iBAAiB,EAAE,cAAc,EAAE,WAAW,EAAE,eAAe,EAAE,iBAAiB,CAAU,CAAC;AAE7J,MAAM,CAAC,MAAM,sBAAsB,GAAG,YAAY,CAChD,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,qBAAqB,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAsF,EAC/K,WAAW,CACZ,CAAC,QAAQ,CAAC,oCAAoC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC;AAElH,2EAA2E;AAE3E,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,0BAA0B,EAAE,uFAAuF,CAAC,CAAC;AAClK,MAAM,SAAS,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,uBAAuB,EAAE,6EAA6E,CAAC,CAAC;AAElJ,MAAM,CAAC,MAAM,gBAAgB,GAAG,YAAY,CAC1C;IACE,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,QAAQ,CAAC,sFAAsF,CAAC;IACxI,QAAQ,EAAE,YAAY,CAAC,QAAQ,CAAC,0BAA0B,CAAC;IAC3D,KAAK,EAAE,CAAC;SACL,KAAK,CACJ,YAAY,CACV;QACE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,mBAAmB,EAAE,6BAA6B,CAAC;QAClG,iCAAiC;QACjC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC;QAC9G,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,wGAAwG,CAAC;QAC9I,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6DAA6D,CAAC;KAC5G,EACD,YAAY,CACb,CACF;SACA,GAAG,CAAC,EAAE,CAAC;SACP,QAAQ,EAAE;SACV,QAAQ,CAAC,qCAAqC,CAAC;IAClD,KAAK,EAAE,YAAY,CACjB;QACE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6DAA6D,CAAC;QAC/G,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;QAC5C,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;QAC5C,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2EAA2E,CAAC;KAC5H,EACD,OAAO,CACR,CAAC,QAAQ,EAAE;IACZ,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oCAAoC,CAAC;IAC5F,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iDAAiD,CAAC;IACxF,IAAI,EAAE,YAAY,CAChB,EAAE,eAAe,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iEAAiE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,EAClN,MAAM,CACP,CAAC,QAAQ,EAAE;IACZ,SAAS,EAAE,sBAAsB,CAAC,QAAQ,EAAE;CAC7C,EACD,MAAM,CACP,CAAC,QAAQ,CAAC,yOAAyO,CAAC,CAAC;AAOtP,MAAM,UAAU,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC,IAAI,EAAoB,EAAE,CAAC,IAAI,KAAK,UAAU,IAAI,IAAI,KAAK,OAAO,CAA8B,CAAC;AAE7I,MAAM,CAAC,MAAM,qBAAqB,GAAG,uBAAuB,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,CAA0B,CAAC;AAErH,MAAM,WAAW,GAAG,YAAY,CAC9B;IACE,IAAI,EAAE,SAAS;IACf,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,QAAQ,CAAC,6DAA6D,CAAC;IACtG,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAChC,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAChC,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2CAA2C,CAAC;IACpF,qBAAqB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC7C,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6DAA6D,CAAC;IACvG,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;IAC7E,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC1B,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC1B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE;IAC5D,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE;IAC5D,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2CAA2C,CAAC;IAC7F,KAAK,EAAE,YAAY,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;IACnH,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC;IACtE,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC;IAC5D,GAAG,EAAE,YAAY,CACf;QACE,QAAQ,EAAE,YAAY,CAAC,QAAQ,CAAC,2BAA2B,CAAC;QAC5D,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4FAA4F,CAAC;QAC9K,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yDAAyD,CAAC;QACjG,EAAE,EAAE,SAAS,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8EAA8E,CAAC;QACjH,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wEAAwE,CAAC;KAClH,EACD,KAAK,CACN,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kFAAkF,CAAC;IACzG,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+BAA+B,gBAAgB,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,wFAAwF,CAAC;CACpN,EACD,gBAAgB,CACjB,CAAC;AAEF,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC;IAC7B,CAAC,CAAC,OAAO,EAAE;IACX,YAAY,CACV;QACE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;QAC/B,SAAS,EAAE,eAAe,CAAC,QAAQ,EAAE;QACrC,MAAM,EAAE,kBAAkB,CAAC,QAAQ,EAAE;QACrC,KAAK,EAAE,WAAW,CAAC,QAAQ,EAAE;QAC7B,SAAS,EAAE,sBAAsB,CAAC,QAAQ,EAAE;QAC5C,iBAAiB,EAAE,uBAAuB,CAAC,QAAQ,EAAE;KACtD,EACD,UAAU,CACX;CACF,CAAC,CAAC;AAEH,MAAM,eAAe,GAAG,YAAY,CAClC,MAAM,CAAC,WAAW,CAAC,uBAAuB,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,QAAQ,EAAE,cAAc,CAAC,QAAQ,EAAE,CAAC,CAAC,CAA8F,EACjM,WAAW,CACZ,CAAC,QAAQ,CAAC,sBAAsB,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,qGAAqG,CAAC,CAAC;AAE1K,MAAM,UAAU,GAAG,YAAY,CAC7B;IACE,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6IAA6I,CAAC;IAC9N,UAAU,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0FAA0F,CAAC;IACvI,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yEAAyE,CAAC;IACzJ,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE;IACtD,gBAAgB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;IACjF,UAAU,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wCAAwC,CAAC;IACrF,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wEAAwE,CAAC;IACrI,UAAU,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC;IACnE,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC;CAC/E,EACD,MAAM,CACP,CAAC;AAEF,MAAM,UAAU,GAAG,YAAY,CAC7B;IACE,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gDAAgD,CAAC;IACvH,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qDAAqD,CAAC;IACtH,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8CAA8C,CAAC;CAC7F,EACD,MAAM,CACP,CAAC;AAEF,MAAM,aAAa,GAAG;IACpB,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gCAAgC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,2EAA2E,CAAC;IACxM,IAAI,EAAE,YAAY,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8FAA8F,CAAC;IACtI,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4CAA4C,CAAC;IACtG,OAAO,EAAE,SAAS,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC;IACtD,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mEAAmE,CAAC;IAC/H,WAAW,EAAE,SAAS,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kEAAkE,CAAC;IAC9G,aAAa,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0DAA0D,CAAC;IAC1G,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oFAAoF,CAAC;IAC/I,gBAAgB,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4DAA4D,CAAC;IACxI,UAAU,EAAE,YAAY,CAAC,EAAE,SAAS,EAAE,SAAS,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,SAAS,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,EAAE,EAAE,YAAY,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oEAAoE,CAAC;IAC5N,UAAU,EAAE,SAAS,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oHAAoH,CAAC;IAC/J,SAAS,EAAE,eAAe,CAAC,QAAQ,EAAE;IACrC,SAAS,EAAE,eAAe,CAAC,QAAQ,EAAE;IACrC,IAAI,EAAE,UAAU,CAAC,QAAQ,EAAE;IAC3B,IAAI,EAAE,UAAU,CAAC,QAAQ,EAAE;CAC5B,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG,YAAY,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,mEAAmE,CAAC,CAAC;AAEzJ,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,UAAU,EAAE,GAAG,aAAa,CAAC;AAC7D,MAAM,CAAC,MAAM,mBAAmB,GAAG,YAAY,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAAC,QAAQ,CAAC,mHAAmH,CAAC,CAAC;AAK9M,2EAA2E;AAE3E,MAAM,kBAAkB,GAAG,YAAY,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,EAAE,kBAAkB,CAAC,CAAC;AAE9I,MAAM,CAAC,MAAM,mBAAmB,GAAG,YAAY,CAC7C;IACE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC;IACxD,aAAa,EAAE,YAAY,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6FAA6F,CAAC;IAC9I,aAAa,EAAE,SAAS,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC;IAC/D,aAAa,EAAE,SAAS,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uDAAuD,CAAC;IACrG,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4CAA4C,CAAC;IAC9H,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;IAC7C,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;IAC/C,SAAS,EAAE,SAAS,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8FAA8F,CAAC;IACxI,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uCAAuC,CAAC;IACxF,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oGAAoG,CAAC;IACvK,SAAS,EAAE,YAAY,CAAC,EAAE,KAAK,EAAE,kBAAkB,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,kBAAkB,CAAC,QAAQ,EAAE,EAAE,EAAE,EAAE,kBAAkB,CAAC,QAAQ,EAAE,EAAE,EAAE,mBAAmB,CAAC;SAC/J,QAAQ,EAAE;SACV,QAAQ,CAAC,6DAA6D,CAAC;IAC1E,SAAS,EAAE,YAAY,CACrB,EAAE,YAAY,EAAE,qBAAqB,CAAC,QAAQ,EAAE,EAAE,YAAY,EAAE,qBAAqB,CAAC,QAAQ,EAAE,EAAE,YAAY,EAAE,qBAAqB,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,qBAAqB,CAAC,QAAQ,EAAE,EAAE,EAC/L,mBAAmB,CACpB,CAAC,QAAQ,EAAE;CACb,EACD,UAAU,CACX,CAAC,QAAQ,CAAC,wGAAwG,CAAC,CAAC;AAIrH,2EAA2E;AAE3E,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC;KACxB,MAAM,EAAE;KACR,KAAK,CAAC,uBAAuB,EAAE,kCAAkC,CAAC;KAClE,QAAQ,EAAE;KACV,QAAQ,CAAC,6HAA6H,CAAC,CAAC"}