@typeship-ax/mcp 0.21.0 → 0.22.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 (129) hide show
  1. package/AGENTS.md +15 -11
  2. package/README.md +22 -53
  3. package/api.json +9998 -10118
  4. package/api.md +8983 -9120
  5. package/dist/arguments.d.ts +47 -0
  6. package/dist/arguments.d.ts.map +1 -0
  7. package/dist/arguments.js +254 -0
  8. package/dist/core/http.d.ts +162 -19
  9. package/dist/core/http.d.ts.map +1 -1
  10. package/dist/core/http.js +381 -48
  11. package/dist/core/pagination.d.ts +42 -6
  12. package/dist/core/pagination.d.ts.map +1 -1
  13. package/dist/core/pagination.js +111 -17
  14. package/dist/credential-storage.d.ts +10 -3
  15. package/dist/credential-storage.d.ts.map +1 -1
  16. package/dist/credential-storage.js +15 -6
  17. package/dist/dates.d.ts +1 -1
  18. package/dist/dates.js +1 -1
  19. package/dist/errors.d.ts +20 -84
  20. package/dist/errors.d.ts.map +1 -1
  21. package/dist/errors.js +20 -108
  22. package/dist/fields.d.ts +29 -0
  23. package/dist/fields.d.ts.map +1 -0
  24. package/dist/fields.js +101 -0
  25. package/dist/index.d.ts +28 -18
  26. package/dist/index.d.ts.map +1 -1
  27. package/dist/index.js +35 -25
  28. package/dist/mcp-authorization.d.ts.map +1 -1
  29. package/dist/mcp-authorization.js +34 -10
  30. package/dist/mcp-protocol.d.ts +87 -44
  31. package/dist/mcp-protocol.d.ts.map +1 -1
  32. package/dist/mcp-protocol.js +552 -478
  33. package/dist/mcp.d.ts.map +1 -1
  34. package/dist/mcp.js +127 -28
  35. package/dist/named-credentials.d.ts +19 -0
  36. package/dist/named-credentials.d.ts.map +1 -1
  37. package/dist/named-credentials.js +81 -1
  38. package/dist/oauth-request.d.ts +7 -1
  39. package/dist/oauth-request.d.ts.map +1 -1
  40. package/dist/oauth-request.js +26 -4
  41. package/dist/oauth-session.d.ts +13 -1
  42. package/dist/oauth-session.d.ts.map +1 -1
  43. package/dist/oauth-session.js +34 -18
  44. package/dist/ops.d.ts +53 -5
  45. package/dist/ops.d.ts.map +1 -1
  46. package/dist/ops.js +49 -40
  47. package/dist/resources/api-keys.d.ts +10 -7
  48. package/dist/resources/api-keys.d.ts.map +1 -1
  49. package/dist/resources/api-keys.js +10 -31
  50. package/dist/resources/deliveries.d.ts +88 -4
  51. package/dist/resources/deliveries.d.ts.map +1 -1
  52. package/dist/resources/deliveries.js +95 -18
  53. package/dist/resources/drafts.d.ts +15 -15
  54. package/dist/resources/drafts.d.ts.map +1 -1
  55. package/dist/resources/drafts.js +11 -64
  56. package/dist/resources/files.d.ts +4 -4
  57. package/dist/resources/files.d.ts.map +1 -1
  58. package/dist/resources/files.js +3 -12
  59. package/dist/resources/generations.d.ts +14 -14
  60. package/dist/resources/generations.d.ts.map +1 -1
  61. package/dist/resources/generations.js +21 -45
  62. package/dist/resources/organization.d.ts +4 -4
  63. package/dist/resources/organization.d.ts.map +1 -1
  64. package/dist/resources/organization.js +3 -10
  65. package/dist/resources/{generate.d.ts → packages.d.ts} +16 -16
  66. package/dist/resources/packages.d.ts.map +1 -0
  67. package/dist/resources/{generate.js → packages.js} +13 -29
  68. package/dist/resources/projects.d.ts +50 -50
  69. package/dist/resources/projects.d.ts.map +1 -1
  70. package/dist/resources/projects.js +60 -116
  71. package/dist/resources/releases.d.ts +21 -16
  72. package/dist/resources/releases.d.ts.map +1 -1
  73. package/dist/resources/releases.js +18 -39
  74. package/dist/resources/spec-revisions.d.ts +15 -6
  75. package/dist/resources/spec-revisions.d.ts.map +1 -1
  76. package/dist/resources/spec-revisions.js +6 -28
  77. package/dist/resources/specs.d.ts +7 -7
  78. package/dist/resources/specs.d.ts.map +1 -1
  79. package/dist/resources/specs.js +6 -34
  80. package/dist/resources/targets.d.ts +48 -48
  81. package/dist/resources/targets.d.ts.map +1 -1
  82. package/dist/resources/targets.js +58 -114
  83. package/dist/schemas.d.ts.map +1 -1
  84. package/dist/schemas.js +78 -76
  85. package/dist/search.d.ts +54 -0
  86. package/dist/search.d.ts.map +1 -0
  87. package/dist/search.js +421 -0
  88. package/dist/types.d.ts +499 -339
  89. package/dist/types.d.ts.map +1 -1
  90. package/dist/types.js +18 -18
  91. package/dist/worker.js +2 -2
  92. package/package.json +5 -2
  93. package/server.json +5 -5
  94. package/src/arguments.ts +242 -0
  95. package/src/core/http.ts +457 -58
  96. package/src/core/pagination.ts +129 -18
  97. package/src/credential-storage.ts +16 -6
  98. package/src/dates.ts +1 -1
  99. package/src/errors.ts +46 -115
  100. package/src/fields.ts +91 -0
  101. package/src/index.ts +45 -28
  102. package/src/mcp-authorization.ts +29 -9
  103. package/src/mcp-protocol.ts +580 -428
  104. package/src/mcp.ts +113 -26
  105. package/src/named-credentials.ts +66 -1
  106. package/src/oauth-request.ts +32 -6
  107. package/src/oauth-session.ts +37 -19
  108. package/src/ops.ts +82 -44
  109. package/src/resources/api-keys.ts +34 -48
  110. package/src/resources/deliveries.ts +211 -30
  111. package/src/resources/drafts.ts +60 -107
  112. package/src/resources/files.ts +19 -20
  113. package/src/resources/generations.ts +57 -75
  114. package/src/resources/organization.ts +11 -16
  115. package/src/resources/{generate.ts → packages.ts} +43 -51
  116. package/src/resources/projects.ts +145 -200
  117. package/src/resources/releases.ts +48 -65
  118. package/src/resources/spec-revisions.ts +38 -47
  119. package/src/resources/specs.ts +39 -59
  120. package/src/resources/targets.ts +143 -193
  121. package/src/schemas.ts +78 -76
  122. package/src/search.ts +434 -0
  123. package/src/types.ts +538 -357
  124. package/src/worker.ts +2 -2
  125. package/dist/resources/generate.d.ts.map +0 -1
  126. package/dist/resources/publications.d.ts +0 -47
  127. package/dist/resources/publications.d.ts.map +0 -1
  128. package/dist/resources/publications.js +0 -70
  129. package/src/resources/publications.ts +0 -140
@@ -0,0 +1,47 @@
1
+ /**
2
+ * Argument checks shared by the generated CLI and MCP server: coerce a value
3
+ * toward its schema where the intent is unambiguous, and report every
4
+ * problem, nested ones included, with the dotted path of the argument it
5
+ * belongs to. Generated by Typeship — https://typeship.dev
6
+ * No external dependencies.
7
+ */
8
+ export interface ArgumentIssue {
9
+ code: "UNKNOWN_ARGUMENT" | "INVALID_ARGUMENT" | "MISSING_ARGUMENT";
10
+ argument: string;
11
+ message: string;
12
+ }
13
+ export declare const normalizeName: (name: string) => string;
14
+ /** The closest accepted name: same letters ignoring case/punctuation first,
15
+ * then a small edit distance. Undefined when nothing is close. */
16
+ export declare function closestName(name: string, known: string[]): string | undefined;
17
+ /**
18
+ * Coerce one value toward its schema when the intent is unambiguous: the
19
+ * strings agents produce for booleans and numbers, a JSON string for an
20
+ * object or array, a scalar for a one-element array, an enum member in the
21
+ * wrong case. Returns the value to send, or a message when it can't be made
22
+ * to fit. Untyped schemas (unions, anything) pass through. The first
23
+ * problem only; checkValue reports every nested one.
24
+ */
25
+ export declare function coerceValue(value: unknown, schema: Record<string, unknown>): {
26
+ value: unknown;
27
+ } | {
28
+ error: string;
29
+ };
30
+ /**
31
+ * Check one argument value against its schema, the way prepareCall checks
32
+ * top-level arguments, and return the value to send. Recurses into array
33
+ * items and object properties: types and enums are coerced where the intent
34
+ * is clear, required properties must be present, strings must match their
35
+ * pattern, and keys an object declares closed (`additionalProperties:
36
+ * false`, as every GraphQL input type is) must be known. Every problem is
37
+ * pushed to issues with its dotted path (input.priority, items[0].name).
38
+ */
39
+ export declare function checkValue(value: unknown, schema: Record<string, unknown>, path: string, issues: ArgumentIssue[], options?: {
40
+ skipPattern?: boolean;
41
+ depth?: number;
42
+ }): unknown;
43
+ export declare function userShapedReference(name: string): boolean;
44
+ /** "me" given for a user-shaped argument or property, resolved to the
45
+ * caller's ID through the identity tool. */
46
+ export declare function isMeReference(name: string, value: string): boolean;
47
+ //# sourceMappingURL=arguments.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"arguments.d.ts","sourceRoot":"","sources":["../src/arguments.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,kBAAkB,GAAG,kBAAkB,GAAG,kBAAkB,CAAC;IACnE,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,eAAO,MAAM,aAAa,GAAI,MAAM,MAAM,KAAG,MAAsD,CAAC;AAgBpG;kEACkE;AAClE,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,GAAG,SAAS,CAU7E;AASD;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;IAAE,KAAK,EAAE,OAAO,CAAA;CAAE,GAAG;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAInH;AAgFD;;;;;;;;GAQG;AACH,wBAAgB,UAAU,CACxB,KAAK,EAAE,OAAO,EACd,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,aAAa,EAAE,EACvB,OAAO,GAAE;IAAE,WAAW,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAO,GACtD,OAAO,CAsET;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAGzD;AAED;4CAC4C;AAC5C,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAElE"}
@@ -0,0 +1,254 @@
1
+ /**
2
+ * Argument checks shared by the generated CLI and MCP server: coerce a value
3
+ * toward its schema where the intent is unambiguous, and report every
4
+ * problem, nested ones included, with the dotted path of the argument it
5
+ * belongs to. Generated by Typeship — https://typeship.dev
6
+ * No external dependencies.
7
+ */
8
+ import { dateKindOf, relativeDate } from "./dates.js";
9
+ export const normalizeName = (name) => name.toLowerCase().replace(/[^a-z0-9]/g, "");
10
+ function editDistance(a, b) {
11
+ const prev = Array.from({ length: b.length + 1 }, (_, i) => i);
12
+ for (let i = 1; i <= a.length; i++) {
13
+ let diag = prev[0];
14
+ prev[0] = i;
15
+ for (let j = 1; j <= b.length; j++) {
16
+ const tmp = prev[j];
17
+ prev[j] = Math.min(prev[j] + 1, prev[j - 1] + 1, diag + (a[i - 1] === b[j - 1] ? 0 : 1));
18
+ diag = tmp;
19
+ }
20
+ }
21
+ return prev[b.length];
22
+ }
23
+ /** The closest accepted name: same letters ignoring case/punctuation first,
24
+ * then a small edit distance. Undefined when nothing is close. */
25
+ export function closestName(name, known) {
26
+ const exact = known.filter((k) => normalizeName(k) === normalizeName(name));
27
+ if (exact.length === 1)
28
+ return exact[0];
29
+ if (exact.length > 1)
30
+ return undefined;
31
+ let best;
32
+ for (const k of known) {
33
+ const d = editDistance(name.toLowerCase(), k.toLowerCase());
34
+ if (d <= Math.max(1, Math.floor(k.length / 4)) && (best === undefined || d < best.d))
35
+ best = { name: k, d };
36
+ }
37
+ return best?.name;
38
+ }
39
+ function schemaTypes(schema) {
40
+ const t = schema.type;
41
+ if (typeof t === "string")
42
+ return [t];
43
+ if (Array.isArray(t))
44
+ return t.filter((x) => typeof x === "string");
45
+ return [];
46
+ }
47
+ /**
48
+ * Coerce one value toward its schema when the intent is unambiguous: the
49
+ * strings agents produce for booleans and numbers, a JSON string for an
50
+ * object or array, a scalar for a one-element array, an enum member in the
51
+ * wrong case. Returns the value to send, or a message when it can't be made
52
+ * to fit. Untyped schemas (unions, anything) pass through. The first
53
+ * problem only; checkValue reports every nested one.
54
+ */
55
+ export function coerceValue(value, schema) {
56
+ const issues = [];
57
+ const out = checkValue(value, schema, "", issues);
58
+ return issues.length > 0 ? { error: issues[0].message } : { value: out };
59
+ }
60
+ /** Coerce one scalar-level value (type and enum) without looking inside it. */
61
+ function coerceShallow(value, schema) {
62
+ if (value === null || value === undefined)
63
+ return { value };
64
+ // Date-shaped arguments take relative forms (-P7D, 7 days ago, today),
65
+ // resolved here so the API sees an absolute value.
66
+ const dateKind = dateKindOf(schema.format);
67
+ if (dateKind && typeof value === "string") {
68
+ const resolved = relativeDate(value, dateKind);
69
+ if (resolved && "error" in resolved)
70
+ return { error: resolved.error };
71
+ if (resolved)
72
+ value = resolved.value;
73
+ }
74
+ const types = schemaTypes(schema);
75
+ const enumValues = Array.isArray(schema.enum) ? schema.enum : undefined;
76
+ const accepts = (t) => types.length === 0 || types.includes(t);
77
+ const kind = Array.isArray(value) ? "array" : typeof value;
78
+ let out = value;
79
+ if (types.length > 0) {
80
+ if (kind === "boolean" && !accepts("boolean")) {
81
+ if (accepts("string"))
82
+ out = String(value);
83
+ else
84
+ return { error: "expected " + types.join(" or ") + ", got boolean" };
85
+ }
86
+ else if (kind === "number" && !accepts("number") && !accepts("integer")) {
87
+ if (accepts("string"))
88
+ out = String(value);
89
+ else if (accepts("array"))
90
+ out = [value];
91
+ else
92
+ return { error: "expected " + types.join(" or ") + ", got number" };
93
+ }
94
+ else if (kind === "number" && accepts("integer") && !accepts("number") && !Number.isInteger(value)) {
95
+ return { error: "expected an integer, got " + String(value) };
96
+ }
97
+ else if (kind === "string" && !accepts("string")) {
98
+ const s = value.trim();
99
+ if (accepts("boolean") && /^(true|false|yes|no|1|0)$/i.test(s))
100
+ out = /^(true|yes|1)$/i.test(s);
101
+ else if ((accepts("integer") || accepts("number")) && s !== "" && !Number.isNaN(Number(s))) {
102
+ const n = Number(s);
103
+ if (accepts("integer") && !accepts("number") && !Number.isInteger(n))
104
+ return { error: "expected an integer, got \"" + s + "\"" };
105
+ out = n;
106
+ }
107
+ else if ((accepts("object") || accepts("array")) && /^[[{]/.test(s)) {
108
+ try {
109
+ const parsed = JSON.parse(s);
110
+ const parsedKind = Array.isArray(parsed) ? "array" : parsed === null ? "null" : typeof parsed;
111
+ if (!accepts(parsedKind))
112
+ return { error: "expected " + types.join(" or ") + ", got a JSON " + parsedKind + " in a string" };
113
+ out = parsed;
114
+ }
115
+ catch {
116
+ return { error: "expected " + types.join(" or ") + ", got a string that is not valid JSON" };
117
+ }
118
+ }
119
+ else if (accepts("array")) {
120
+ out = [value];
121
+ }
122
+ else {
123
+ return { error: "expected " + types.join(" or ") + ", got string" };
124
+ }
125
+ }
126
+ else if (kind === "object" && !accepts("object")) {
127
+ if (accepts("array"))
128
+ out = [value];
129
+ else
130
+ return { error: "expected " + types.join(" or ") + ", got object" };
131
+ }
132
+ else if (kind === "array" && !accepts("array")) {
133
+ return { error: "expected " + types.join(" or ") + ", got array" };
134
+ }
135
+ }
136
+ if (enumValues && typeof out === "string" && !enumValues.includes(out)) {
137
+ const match = enumValues.filter((e) => typeof e === "string" && e.toLowerCase() === out.toLowerCase());
138
+ if (match.length === 1)
139
+ out = match[0];
140
+ else
141
+ return { error: "must be one of " + enumValues.map((e) => JSON.stringify(e)).join(", ") + ", got " + JSON.stringify(out) };
142
+ }
143
+ return { value: out };
144
+ }
145
+ /** A nullable single-variant union (`anyOf: [X, {type: "null"}]`, the shape
146
+ * nullable GraphQL enums and objects take) validates as X; any other union
147
+ * passes through unchecked. */
148
+ function nullableVariant(schema) {
149
+ const variants = schema.anyOf ?? schema.oneOf;
150
+ if (!Array.isArray(variants) || variants.length !== 2 || schema.type !== undefined)
151
+ return undefined;
152
+ const isNull = (v) => Boolean(v) && typeof v === "object" && v.type === "null";
153
+ const others = variants.filter((v) => !isNull(v));
154
+ if (others.length !== 1 || !others[0] || typeof others[0] !== "object")
155
+ return undefined;
156
+ return others[0];
157
+ }
158
+ const MAX_CHECK_DEPTH = 16;
159
+ /**
160
+ * Check one argument value against its schema, the way prepareCall checks
161
+ * top-level arguments, and return the value to send. Recurses into array
162
+ * items and object properties: types and enums are coerced where the intent
163
+ * is clear, required properties must be present, strings must match their
164
+ * pattern, and keys an object declares closed (`additionalProperties:
165
+ * false`, as every GraphQL input type is) must be known. Every problem is
166
+ * pushed to issues with its dotted path (input.priority, items[0].name).
167
+ */
168
+ export function checkValue(value, schema, path, issues, options = {}) {
169
+ const depth = options.depth ?? 0;
170
+ const at = (suffix) => path === "" ? suffix : path + ": " + suffix;
171
+ if (value === null || value === undefined)
172
+ return value;
173
+ const variant = nullableVariant(schema);
174
+ if (variant)
175
+ return checkValue(value, variant, path, issues, options);
176
+ const shallow = coerceShallow(value, schema);
177
+ if ("error" in shallow) {
178
+ issues.push({ code: "INVALID_ARGUMENT", argument: path, message: at(shallow.error) });
179
+ return value;
180
+ }
181
+ let out = shallow.value;
182
+ if (depth >= MAX_CHECK_DEPTH)
183
+ return out;
184
+ if (typeof out === "string" && typeof schema.pattern === "string" && !options.skipPattern) {
185
+ let pattern;
186
+ try {
187
+ pattern = new RegExp(schema.pattern, "u");
188
+ }
189
+ catch {
190
+ try {
191
+ pattern = new RegExp(schema.pattern);
192
+ }
193
+ catch { /* not an ECMAScript pattern: never false-alarm */ }
194
+ }
195
+ if (pattern && !pattern.test(out)) {
196
+ issues.push({ code: "INVALID_ARGUMENT", argument: path, message: at("must match the pattern " + schema.pattern + ", got " + JSON.stringify(out)) });
197
+ }
198
+ }
199
+ // Array items: check each against the items schema when it has one.
200
+ if (Array.isArray(out) && schema.items && typeof schema.items === "object" && !Array.isArray(schema.items)) {
201
+ const itemSchema = schema.items;
202
+ out = out.map((item, i) => checkValue(item, itemSchema, path + "[" + i + "]", issues, { depth: depth + 1 }));
203
+ }
204
+ // Object properties: the same checks one level down, keyed by dotted path.
205
+ if (out && typeof out === "object" && !Array.isArray(out) && schema.properties && typeof schema.properties === "object") {
206
+ const properties = schema.properties;
207
+ const known = Object.keys(properties);
208
+ const closed = schema.additionalProperties === false;
209
+ const input = out;
210
+ const next = {};
211
+ const child = (key) => path === "" ? key : path + "." + key;
212
+ for (const [key, entry] of Object.entries(input)) {
213
+ if (entry === undefined)
214
+ continue;
215
+ let name = key;
216
+ if (properties[key] === undefined && closed) {
217
+ const close = closestName(key, known);
218
+ if (close !== undefined && normalizeName(close) === normalizeName(key) && input[close] === undefined) {
219
+ name = close;
220
+ }
221
+ else {
222
+ const accepted = known.length <= 20 ? " Accepted: " + known.join(", ") + "." : "";
223
+ issues.push({
224
+ code: "UNKNOWN_ARGUMENT",
225
+ argument: child(key),
226
+ message: "Unknown property \"" + child(key) + "\"" + (close !== undefined ? "; did you mean \"" + child(close) + "\"?" : ".") + accepted,
227
+ });
228
+ continue;
229
+ }
230
+ }
231
+ const propSchema = properties[name];
232
+ next[name] = propSchema && typeof propSchema === "object"
233
+ ? checkValue(entry, propSchema, child(name), issues, { depth: depth + 1, skipPattern: typeof entry === "string" && isMeReference(name, entry) })
234
+ : entry;
235
+ }
236
+ for (const name of Array.isArray(schema.required) ? schema.required : []) {
237
+ if (next[name] === undefined && properties[name] !== undefined) {
238
+ const description = properties[name].description;
239
+ issues.push({ code: "MISSING_ARGUMENT", argument: child(name), message: "Missing required property \"" + child(name) + "\"" + (description ? ": " + String(description).split("\n")[0] : ".") });
240
+ }
241
+ }
242
+ out = next;
243
+ }
244
+ return out;
245
+ }
246
+ export function userShapedReference(name) {
247
+ const normalized = name.toLowerCase().replace(/[^a-z0-9]/g, "").replace(/ids?$/, "");
248
+ return ["user", "assignee", "owner", "member", "actor", "creator", "account", "profile", "subscriber"].includes(normalized);
249
+ }
250
+ /** "me" given for a user-shaped argument or property, resolved to the
251
+ * caller's ID through the identity tool. */
252
+ export function isMeReference(name, value) {
253
+ return value.trim().toLowerCase() === "me" && userShapedReference(name);
254
+ }
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Runtime core. Generated by typeship — https://typeship.dev
2
+ * Runtime core. Generated by Typeship — https://typeship.dev
3
3
  * Zero dependencies: built on the platform fetch API (Node 20+, browsers, edge).
4
4
  */
5
5
  export interface RequestOptions {
@@ -11,6 +11,14 @@ export interface RequestOptions {
11
11
  timeoutMs?: number;
12
12
  /** Retry attempts after the first try. Overrides the client default. */
13
13
  maxRetries?: number;
14
+ /** For a list that pages by URL (a Link header or a next-page URL field):
15
+ * start from this page URL, as a previous page's nextPageParams() gave it.
16
+ * It must be on the API's origin. */
17
+ pageUrl?: string;
18
+ /** Receives this call's response metadata (status, headers, ETag,
19
+ * rate-limit state) once a response arrives, whether the call succeeded
20
+ * or failed. A 304 Not Modified raises `NotModifiedError`. */
21
+ onResponse?: (response: ResponseMeta) => void;
14
22
  }
15
23
  export interface ResponseMeta {
16
24
  status: number;
@@ -22,12 +30,42 @@ export interface ResponseMeta {
22
30
  /** Request identifier from the JSON response body, or from headers for
23
31
  * raw and bodyless responses. */
24
32
  requestId?: string;
33
+ /** The `ETag` header, for a later conditional request (`If-None-Match`). */
34
+ etag?: string;
35
+ /** The `Last-Modified` header, for a later `If-Modified-Since`. */
36
+ lastModified?: string;
37
+ /** True for a 304 Not Modified: the resource matched the conditional
38
+ * request, and the call raised `NotModifiedError`. */
39
+ notModified?: boolean;
40
+ /** Set when the API said the call was rate limited. */
41
+ rateLimit?: RateLimitInfo;
25
42
  }
43
+ /** When a rate-limited call can be retried. Both fields are absent when the
44
+ * API did not say. */
45
+ export interface RateLimitInfo {
46
+ /** The instant the limit resets (from `Retry-After` or `x-ratelimit-reset`). */
47
+ retryAt?: Date;
48
+ /** Milliseconds from when the response arrived until `retryAt`. */
49
+ retryAfterMs?: number;
50
+ }
51
+ /**
52
+ * Whether a response is a rate limit, and when to retry. A 429 always is. A
53
+ * 403 is when it says the quota is spent (`x-ratelimit-remaining: 0`) or asks
54
+ * the caller to wait (`Retry-After`), which is how GitHub signals its primary
55
+ * and secondary limits. Undefined for every other response.
56
+ */
57
+ export declare function rateLimitInfo(status: number, headers: Headers, now?: number): RateLimitInfo | undefined;
26
58
  /**
27
59
  * A static credential or a callback resolved before every attempt. Use a
28
60
  * callback for tokens that expire (OAuth access tokens, STS, Vault).
29
61
  */
30
- export type AuthValue = string | (() => string | Promise<string>);
62
+ export type AuthValue = string | ((context: CredentialContext) => string | Promise<string>);
63
+ /** Passed to credential callbacks. `rejected` is true once, on the attempt
64
+ * after the API answered 401 to the value this callback last returned:
65
+ * refresh or replace the token instead of returning it again. */
66
+ export interface CredentialContext {
67
+ rejected: boolean;
68
+ }
31
69
  /** Passed to onRequest/onResponse hooks. Mutations to headers and url in
32
70
  * onRequest apply to the outgoing request. */
33
71
  export interface RequestContext {
@@ -64,14 +102,78 @@ export declare class SdkError extends Error {
64
102
  readonly body: unknown;
65
103
  constructor(message: string, code: string, status?: number | null, body?: unknown, requestId?: string);
66
104
  }
67
- /** Base class for every HTTP error response. */
105
+ /** Base class for every HTTP error response. The message leads with the
106
+ * status and the API's own message ("HTTP 404: No such customer"), then the
107
+ * next step. `code` is the API's error code when the body names one. */
68
108
  export declare class ApiError<S extends number = number, B = unknown> extends SdkError {
69
109
  readonly status: S;
70
110
  readonly body: B;
71
111
  readonly response: ResponseMeta;
72
- constructor(message: string, status: S, body: B, response: ResponseMeta);
112
+ /** Set when the API said this call was rate limited (a 429, or a 403
113
+ * whose headers say the quota is spent): when to retry. */
114
+ readonly rateLimit?: RateLimitInfo;
115
+ /** `summary` leads the message ("HTTP 404"); the API's message follows it. */
116
+ constructor(summary: string, status: S, body: B, response: ResponseMeta, own?: {
117
+ message: string;
118
+ code: string;
119
+ });
120
+ }
121
+ /** HTTP 400: the API rejected the request as malformed. Raised for every
122
+ * 400, documented or not; `body` is typed where the operation declares it. */
123
+ export declare class BadRequestError<B = unknown> extends ApiError<400, B> {
124
+ constructor(body: B, response: ResponseMeta);
125
+ }
126
+ /** HTTP 401: the credential is missing, invalid or expired. */
127
+ export declare class UnauthorizedError<B = unknown> extends ApiError<401, B> {
128
+ constructor(body: B, response: ResponseMeta);
129
+ }
130
+ /** HTTP 403: the credential lacks access. A 403 that signals a rate limit
131
+ * raises RateLimitError instead. */
132
+ export declare class ForbiddenError<B = unknown> extends ApiError<403, B> {
133
+ constructor(body: B, response: ResponseMeta);
134
+ }
135
+ /** HTTP 404: the resource or path does not exist. */
136
+ export declare class NotFoundError<B = unknown> extends ApiError<404, B> {
137
+ constructor(body: B, response: ResponseMeta);
138
+ }
139
+ /** HTTP 409: the request conflicts with the resource's current state. */
140
+ export declare class ConflictError<B = unknown> extends ApiError<409, B> {
141
+ constructor(body: B, response: ResponseMeta);
142
+ }
143
+ /** HTTP 422: the request was well formed but failed validation. */
144
+ export declare class UnprocessableEntityError<B = unknown> extends ApiError<422, B> {
145
+ constructor(body: B, response: ResponseMeta);
146
+ }
147
+ /** The API rate limited the call: every 429, and a 403 whose headers say
148
+ * the quota is spent. `rateLimit.retryAt` says when to try again. */
149
+ export declare class RateLimitError<B = unknown> extends ApiError<number, B> {
150
+ constructor(body: B, response: ResponseMeta);
151
+ }
152
+ /** Any 5xx: the API failed to handle a valid request. */
153
+ export declare class ServerError<B = unknown> extends ApiError<number, B> {
154
+ constructor(body: B, response: ResponseMeta);
73
155
  }
74
- /** A response status the spec didn't document. */
156
+ /** HTTP 304: a conditional request (`If-None-Match`, `If-Modified-Since`)
157
+ * matched, so the resource has not changed and the response has no body.
158
+ * Raised only when the caller sent a conditional header. `etag` and
159
+ * `lastModified` are the validators to send next time. */
160
+ export declare class NotModifiedError extends ApiError<304, undefined> {
161
+ /** The response's `ETag` header. */
162
+ readonly etag?: string;
163
+ /** The response's `Last-Modified` header. */
164
+ readonly lastModified?: string;
165
+ constructor(response: ResponseMeta);
166
+ }
167
+ /** A 2xx response whose payload reported a failure: a declared envelope
168
+ * flag set to false (`{"ok": false}`, `{"success": false}`), or a GraphQL
169
+ * result that is one of the schema's error types. */
170
+ export declare class PayloadError extends ApiError<number, unknown> {
171
+ /** The GraphQL error type the result resolved to, for GraphQL operations. */
172
+ readonly typename?: string;
173
+ constructor(body: unknown, response: ResponseMeta, typename?: string);
174
+ }
175
+ /** A status with no family class (a 402, 405 or 410, say) that the
176
+ * operation did not document. */
75
177
  export declare class UnexpectedApiError extends ApiError<number, unknown> {
76
178
  constructor(status: number, body: unknown, response: ResponseMeta);
77
179
  }
@@ -100,21 +202,37 @@ export declare class ValidationError extends SdkError {
100
202
  * are ignored: validation can miss drift but never false-alarms.
101
203
  */
102
204
  export declare function validateAgainstSchema(value: unknown, schema: unknown, path: string, out: Violation[], defs?: Record<string, unknown>): void;
103
- /** The request failed before a complete HTTP response arrived (network failure, timeout, abort, or truncated body). */
205
+ /** Why a request failed in transit, as TransportError's `code`: the
206
+ * caller's AbortSignal fired ("aborted"), the per-attempt timeout elapsed
207
+ * ("timeout"), or the connection or body read failed ("transport_error"). */
208
+ export type TransportFailure = "aborted" | "timeout" | "transport_error";
209
+ /** The request failed before a complete HTTP response arrived (network failure, timeout, abort, or truncated body); `code` says which. */
104
210
  export declare class TransportError extends SdkError {
105
211
  readonly cause?: unknown;
106
212
  readonly response?: ResponseMeta;
107
- constructor(message: string, cause?: unknown, response?: ResponseMeta);
213
+ readonly code: TransportFailure;
214
+ constructor(message: string, cause?: unknown, response?: ResponseMeta, failure?: TransportFailure);
108
215
  }
109
216
  type ErrorCtor = new (body: any, response: ResponseMeta) => ApiError<number, unknown>;
110
217
  export interface CoreRequest {
111
218
  security?: Record<string, string[]>[];
112
219
  method: string;
113
220
  path: string;
221
+ /** A full URL on the API's origin (a next-page link), sent instead of
222
+ * path and query. */
223
+ url?: string;
114
224
  query?: Record<string, unknown>;
115
225
  headers?: Record<string, string | undefined>;
116
226
  body?: unknown;
117
227
  bodyKind?: "json" | "form" | "multipart" | "text" | "binary";
228
+ /** Per-field wire encoding (the media type's `encoding`): a multipart
229
+ * part's Content-Type, or the delimiter of an unexploded form array. */
230
+ bodyEncoding?: Record<string, {
231
+ contentType?: string;
232
+ delimiter?: string;
233
+ }>;
234
+ /** Multipart fields that must hold a Blob or File (or an array of them). */
235
+ fileFields?: string[];
118
236
  /** Status matcher -> generated error class ("404", "4XX", "default"). */
119
237
  errors?: Record<string, ErrorCtor>;
120
238
  /** Idempotent requests are retried automatically. */
@@ -124,12 +242,15 @@ export interface CoreRequest {
124
242
  idempotencyKey?: string;
125
243
  /** Key into the schemas table for optional runtime validation. */
126
244
  schemaKey?: string;
127
- /** Operation-level retry policy (x-typeship-retries), merged over the
245
+ /** The success body's envelope flag (`ok`, `success`): `false` there is a
246
+ * failure reported inside a 2xx response, raised as a PayloadError. */
247
+ failureFlag?: string;
248
+ /** Operation-level retry policy from the API definition, merged over the
128
249
  * client-level policy; per-call options.maxRetries still wins. */
129
250
  retry?: RetryPolicy;
130
251
  options?: RequestOptions;
131
252
  }
132
- /** Tunable retry behavior (x-typeship-retries; defaults preserved when unset). */
253
+ /** Tunable retry behavior (defaults preserved when unset). */
133
254
  export interface RetryPolicy {
134
255
  maxRetries?: number;
135
256
  /** Replaces the default retryable set (408, 429, 500, 502, 503, 504). */
@@ -176,16 +297,18 @@ export interface CoreConfig {
176
297
  responses: boolean;
177
298
  mode: "throw" | "warn";
178
299
  };
179
- /** Per-operation schema table, keyed "resource.method" (see schemas.ts). */
180
- schemas?: Record<string, {
181
- req?: unknown;
182
- res?: unknown;
183
- }>;
184
- /** Shared component definitions the schema table references. */
185
- schemaDefs?: Record<string, unknown>;
186
- /** Root-level retry policy (x-typeship-retries at the document root). */
300
+ /** Loads the per-operation schema table, keyed "resource.method", and the
301
+ * shared component definitions it references (see schemas.ts). Called on
302
+ * the first validated request, so the table stays out of the startup path
303
+ * and, in a bundler that splits dynamic imports, out of the main bundle. */
304
+ loadSchemas?: () => Promise<SchemaTables>;
305
+ /** API-wide retry policy from the API definition. */
187
306
  retry?: RetryPolicy;
188
- /** Client-level values for x-typeship-globals parameters, by wire name. */
307
+ /** The longest server-requested wait (Retry-After, x-ratelimit-reset) a
308
+ * retry honors. A longer wait fails the call at once with the reset time
309
+ * instead of sleeping. Default 60000ms. */
310
+ maxRetryWaitMs?: number;
311
+ /** Client-level values for global parameters, by wire name. */
189
312
  globals?: Record<string, unknown>;
190
313
  /** Header names the spec's API-key schemes use. fetch drops the standard
191
314
  * credential headers on a cross-origin redirect but knows nothing of these,
@@ -206,17 +329,29 @@ export interface DebugEvent {
206
329
  /** transport failure message, when the request failed before a complete response */
207
330
  error?: string;
208
331
  }
332
+ /** The validation tables schemas.ts exports. */
333
+ export interface SchemaTables {
334
+ SCHEMAS: Record<string, {
335
+ req?: unknown;
336
+ res?: unknown;
337
+ }>;
338
+ DEFS: Record<string, unknown>;
339
+ }
209
340
  export declare class HttpCore {
210
341
  readonly config: CoreConfig;
342
+ private schemaTables?;
211
343
  /** Lowercased header names dropped on a cross-origin hop. */
212
344
  private readonly sensitiveHeaders;
213
345
  /** Whether this runtime follows redirects itself instead of letting the
214
346
  * platform do it — see followRedirects(). */
215
347
  private readonly manualRedirects;
216
348
  constructor(config: CoreConfig);
217
- /** The client-level value for an x-typeship-globals parameter. */
349
+ /** The client-level value for a global parameter. */
218
350
  globalValue(name: string): unknown;
219
351
  request<T, E>(req: CoreRequest): Promise<ApiResult<T, E>>;
352
+ /** Drop cached tokens behind the credential this request selected. True
353
+ * when a callback or cached token can resolve to a new value. */
354
+ private refreshCredentials;
220
355
  /** SDK-facing call: resolve to the payload or throw its typed error. */
221
356
  requestData<T, E>(req: CoreRequest): Promise<T>;
222
357
  private send;
@@ -240,6 +375,14 @@ export declare class HttpCore {
240
375
  export declare function formatDebugEvent(name: string, event: DebugEvent): string;
241
376
  /** Wrap a bearer credential (static or callback) as an Authorization value. */
242
377
  export declare function bearerAuth(token: AuthValue): AuthValue;
378
+ /** The media type a local file is uploaded as, from its extension. A
379
+ * Worker module (.mjs) must arrive as application/javascript+module. */
380
+ export declare function mediaTypeForPath(path: string): string;
381
+ /**
382
+ * Join a query array into one delimited value (`ids=1,2`) for parameters
383
+ * whose spec says `explode: false`. Other values pass through unchanged.
384
+ */
385
+ export declare function delimited(value: unknown, separator: string): unknown;
243
386
  export declare function toBase64(input: string): string;
244
387
  export {};
245
388
  //# sourceMappingURL=http.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../src/core/http.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../src/core/http.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,cAAc;IAC7B,iEAAiE;IACjE,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,mCAAmC;IACnC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;IAC7C,yEAAyE;IACzE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,wEAAwE;IACxE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;yCAEqC;IACrC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;kEAE8D;IAC9D,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,YAAY,KAAK,IAAI,CAAC;CAC/C;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB;;iCAE6B;IAC7B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;qCACiC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,4EAA4E;IAC5E,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,mEAAmE;IACnE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;0DACsD;IACtD,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,uDAAuD;IACvD,SAAS,CAAC,EAAE,aAAa,CAAC;CAC3B;AAED;sBACsB;AACtB,MAAM,WAAW,aAAa;IAC5B,gFAAgF;IAChF,OAAO,CAAC,EAAE,IAAI,CAAC;IACf,mEAAmE;IACnE,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAaD;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,SAAa,GAAG,aAAa,GAAG,SAAS,CAoB3G;AASD;;;GAGG;AACH,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,CAAC,CAAC,OAAO,EAAE,iBAAiB,KAAK,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;AAE5F;;iEAEiE;AACjE,MAAM,WAAW,iBAAiB;IAAG,QAAQ,EAAE,OAAO,CAAA;CAAE;AAExD;8CAC8C;AAC9C,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,gDAAgD;IAChD,OAAO,EAAE,MAAM,CAAC;CACjB;AAGD,wEAAwE;AACxE,MAAM,MAAM,SAAS,CAAC,CAAC,EAAE,CAAC,IACtB;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,CAAC,CAAC;IAAC,QAAQ,EAAE,YAAY,CAAA;CAAE,GAC7C;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,CAAC,CAAC;IAAC,QAAQ,CAAC,EAAE,YAAY,CAAA;CAAE,CAAC;AAErD,0EAA0E;AAC1E,wBAAgB,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAIvD;AAED,kFAAkF;AAClF,wBAAsB,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC;IAAE,EAAE,EAAE,OAAO,CAAC;IAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,YAAY,CAAA;CAAE,CAAC,CAiBvI;AAED,0EAA0E;AAC1E,qBAAa,QAAS,SAAQ,KAAK;IACjC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;gBAEX,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,GAAE,MAAM,GAAG,IAAW,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE,MAAM;CAQ5G;AAgDD;;wEAEwE;AACxE,qBAAa,QAAQ,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,EAAE,CAAC,GAAG,OAAO,CAAE,SAAQ,QAAQ;IAC5E,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;IACnB,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IACjB,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC;IAEhC;+DAC2D;IAC3D,QAAQ,CAAC,SAAS,CAAC,EAAE,aAAa,CAAC;IAEnC,8EAA8E;gBAClE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE;CAcjH;AAED;8EAC8E;AAC9E,qBAAa,eAAe,CAAC,CAAC,GAAG,OAAO,CAAE,SAAQ,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC;gBACpD,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,YAAY;CAG5C;AAED,+DAA+D;AAC/D,qBAAa,iBAAiB,CAAC,CAAC,GAAG,OAAO,CAAE,SAAQ,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC;gBACtD,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,YAAY;CAG5C;AAED;oCACoC;AACpC,qBAAa,cAAc,CAAC,CAAC,GAAG,OAAO,CAAE,SAAQ,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC;gBACnD,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,YAAY;CAG5C;AAED,qDAAqD;AACrD,qBAAa,aAAa,CAAC,CAAC,GAAG,OAAO,CAAE,SAAQ,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC;gBAClD,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,YAAY;CAG5C;AAED,yEAAyE;AACzE,qBAAa,aAAa,CAAC,CAAC,GAAG,OAAO,CAAE,SAAQ,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC;gBAClD,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,YAAY;CAG5C;AAED,mEAAmE;AACnE,qBAAa,wBAAwB,CAAC,CAAC,GAAG,OAAO,CAAE,SAAQ,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC;gBAC7D,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,YAAY;CAG5C;AAED;qEACqE;AACrE,qBAAa,cAAc,CAAC,CAAC,GAAG,OAAO,CAAE,SAAQ,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;gBACtD,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,YAAY;CAG5C;AAED,yDAAyD;AACzD,qBAAa,WAAW,CAAC,CAAC,GAAG,OAAO,CAAE,SAAQ,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;gBACnD,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,YAAY;CAG5C;AAED;;;0DAG0D;AAC1D,qBAAa,gBAAiB,SAAQ,QAAQ,CAAC,GAAG,EAAE,SAAS,CAAC;IAC5D,oCAAoC;IACpC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,6CAA6C;IAC7C,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;gBACnB,QAAQ,EAAE,YAAY;CAQnC;AAgBD;;qDAEqD;AACrD,qBAAa,YAAa,SAAQ,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzD,6EAA6E;IAC7E,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;gBACf,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,CAAC,EAAE,MAAM;CAIrE;AAED;iCACiC;AACjC,qBAAa,kBAAmB,SAAQ,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;gBACnD,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY;CAGlE;AAED,uFAAuF;AACvF,qBAAa,kBAAmB,SAAQ,QAAQ;IAC9C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC;IAChC,SAAkB,KAAK,CAAC,EAAE,OAAO,CAAC;gBAEtB,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,EAAE,KAAK,CAAC,EAAE,OAAO;CAOlE;AAOD,MAAM,WAAW,SAAS;IAAG,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE;AAE5D,gEAAgE;AAChE,qBAAa,eAAgB,SAAQ,QAAQ;IAC3C,QAAQ,CAAC,SAAS,EAAE,SAAS,GAAG,UAAU,CAAC;IAC3C,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,CAAC;IACvC,QAAQ,CAAC,UAAU,EAAE,SAAS,EAAE,CAAC;gBACrB,SAAS,EAAE,SAAS,GAAG,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,EAAE,MAAM,GAAE,MAAM,GAAG,YAAqB;CAS/G;AAeD;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAwF3I;AAqBD;;6EAE6E;AAC7E,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG,SAAS,GAAG,iBAAiB,CAAC;AAkBzE,0IAA0I;AAC1I,qBAAa,cAAe,SAAQ,QAAQ;IAC1C,SAAkB,KAAK,CAAC,EAAE,OAAO,CAAC;IAClC,QAAQ,CAAC,QAAQ,CAAC,EAAE,YAAY,CAAC;IACjC,SAAiB,IAAI,EAAE,gBAAgB,CAAC;gBAE5B,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,YAAY,EAAE,OAAO,GAAE,gBAAoC;CAKrH;AAED,KAAK,SAAS,GAAG,KAAK,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,YAAY,KAAK,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEtF,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;IACtC,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb;yBACqB;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;IAC7C,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,WAAW,GAAG,MAAM,GAAG,QAAQ,CAAC;IAC7D;4EACwE;IACxE,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC5E,4EAA4E;IAC5E,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,yEAAyE;IACzE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACnC,qDAAqD;IACrD,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;iDAC6C;IAC7C,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,kEAAkE;IAClE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;2EACuE;IACvE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;sEACkE;IAClE,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,OAAO,CAAC,EAAE,cAAc,CAAC;CAC1B;AAED,8DAA8D;AAC9D,MAAM,WAAW,WAAW;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,yEAAyE;IACzE,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,sDAAsD;IACtD,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACpC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;CACnC;AA2BD,MAAM,WAAW,UAAU;IACzB,0EAA0E;IAC1E,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;IACjD,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACnC,kEAAkE;IAClE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IACjC,KAAK,EAAE,OAAO,KAAK,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,yEAAyE;IACzE,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,cAAc,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9D;qDACiD;IACjD,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,cAAc,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnF;;6BAEyB;IACzB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9F;sDACkD;IAClD,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;IACpC;;yCAEqC;IACrC,QAAQ,CAAC,EAAE;QAAE,QAAQ,EAAE,OAAO,CAAC;QAAC,SAAS,EAAE,OAAO,CAAC;QAAC,IAAI,EAAE,OAAO,GAAG,MAAM,CAAA;KAAE,CAAC;IAC7E;;;gFAG4E;IAC5E,WAAW,CAAC,EAAE,MAAM,OAAO,CAAC,YAAY,CAAC,CAAC;IAC1C,qDAAqD;IACrD,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB;;+CAE2C;IAC3C,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,+DAA+D;IAC/D,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC;;;yBAGqB;IACrB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,gEAAgE;AAChE,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,+DAA+D;IAC/D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,yCAAyC;IACzC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oFAAoF;IACpF,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AA0BD,gDAAgD;AAChD,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,GAAG,CAAC,EAAE,OAAO,CAAC;QAAC,GAAG,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IAC1D,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC/B;AAED,qBAAa,QAAQ;IACnB,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAC5B,OAAO,CAAC,YAAY,CAAC,CAAwB;IAC7C,6DAA6D;IAC7D,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAW;IAC5C;iDAC6C;IAC7C,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAU;gBAG9B,MAAM,EAAE,UAAU;IAa9B,qDAAqD;IACrD,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI5B,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAmO/D;qEACiE;IACjE,OAAO,CAAC,kBAAkB;IAW1B,wEAAwE;IAClE,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC;YAIvC,IAAI;IAoDlB;;;;;;;;;;;;OAYG;YACW,eAAe;YA+Cf,QAAQ;CAiBvB;AAoCD,wEAAwE;AACxE,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,GAAG,MAAM,CAOxE;AAED,+EAA+E;AAC/E,wBAAgB,UAAU,CAAC,KAAK,EAAE,SAAS,GAAG,SAAS,CAKtD;AAGD;wEACwE;AACxE,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAUrD;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAGpE;AA6HD,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAK9C"}