alchemy 0.49.1 → 0.51.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 (92) hide show
  1. package/lib/apply.js +10 -9
  2. package/lib/apply.js.map +1 -1
  3. package/lib/aws/control/types.d.ts +4 -4
  4. package/lib/cloudflare/api-gateway-operation.d.ts +141 -0
  5. package/lib/cloudflare/api-gateway-operation.d.ts.map +1 -0
  6. package/lib/cloudflare/api-gateway-operation.js +153 -0
  7. package/lib/cloudflare/api-gateway-operation.js.map +1 -0
  8. package/lib/cloudflare/api-mitigation.d.ts +19 -0
  9. package/lib/cloudflare/api-mitigation.d.ts.map +1 -0
  10. package/lib/cloudflare/api-mitigation.js +1 -0
  11. package/lib/cloudflare/api-mitigation.js.map +1 -0
  12. package/lib/cloudflare/api-response.d.ts +2 -2
  13. package/lib/cloudflare/api-response.d.ts.map +1 -1
  14. package/lib/cloudflare/api-response.js +2 -1
  15. package/lib/cloudflare/api-response.js.map +1 -1
  16. package/lib/cloudflare/api-schema.d.ts +137 -0
  17. package/lib/cloudflare/api-schema.d.ts.map +1 -0
  18. package/lib/cloudflare/api-schema.js +197 -0
  19. package/lib/cloudflare/api-schema.js.map +1 -0
  20. package/lib/cloudflare/api-shield.d.ts +366 -0
  21. package/lib/cloudflare/api-shield.d.ts.map +1 -0
  22. package/lib/cloudflare/api-shield.js +427 -0
  23. package/lib/cloudflare/api-shield.js.map +1 -0
  24. package/lib/cloudflare/bucket.d.ts +70 -105
  25. package/lib/cloudflare/bucket.d.ts.map +1 -1
  26. package/lib/cloudflare/bucket.js +127 -244
  27. package/lib/cloudflare/bucket.js.map +1 -1
  28. package/lib/cloudflare/certificate-pack.d.ts +1 -1
  29. package/lib/cloudflare/certificate-pack.d.ts.map +1 -1
  30. package/lib/cloudflare/certificate-pack.js +18 -88
  31. package/lib/cloudflare/certificate-pack.js.map +1 -1
  32. package/lib/cloudflare/compatibility-date.gen.d.ts +1 -1
  33. package/lib/cloudflare/compatibility-date.gen.js +1 -1
  34. package/lib/cloudflare/index.d.ts +3 -0
  35. package/lib/cloudflare/index.d.ts.map +1 -1
  36. package/lib/cloudflare/index.js +3 -0
  37. package/lib/cloudflare/index.js.map +1 -1
  38. package/lib/cloudflare/nuxt.js +1 -1
  39. package/lib/cloudflare/nuxt.js.map +1 -1
  40. package/lib/cloudflare/orange.d.ts.map +1 -1
  41. package/lib/cloudflare/orange.js +4 -1
  42. package/lib/cloudflare/orange.js.map +1 -1
  43. package/lib/cloudflare/redwood.d.ts.map +1 -1
  44. package/lib/cloudflare/redwood.js +5 -1
  45. package/lib/cloudflare/redwood.js.map +1 -1
  46. package/lib/cloudflare/vite.d.ts.map +1 -1
  47. package/lib/cloudflare/vite.js +2 -10
  48. package/lib/cloudflare/vite.js.map +1 -1
  49. package/lib/cloudflare/website.d.ts.map +1 -1
  50. package/lib/cloudflare/website.js +1 -0
  51. package/lib/cloudflare/website.js.map +1 -1
  52. package/lib/cloudflare/worker.d.ts.map +1 -1
  53. package/lib/cloudflare/worker.js +1 -0
  54. package/lib/cloudflare/worker.js.map +1 -1
  55. package/lib/cloudflare/zone.d.ts +12 -0
  56. package/lib/cloudflare/zone.d.ts.map +1 -1
  57. package/lib/cloudflare/zone.js +35 -0
  58. package/lib/cloudflare/zone.js.map +1 -1
  59. package/lib/destroy.d.ts.map +1 -1
  60. package/lib/destroy.js +26 -18
  61. package/lib/destroy.js.map +1 -1
  62. package/lib/os/exec.d.ts +1 -1
  63. package/lib/os/exec.d.ts.map +1 -1
  64. package/lib/os/exec.js +1 -1
  65. package/lib/os/exec.js.map +1 -1
  66. package/lib/scope.d.ts.map +1 -1
  67. package/lib/scope.js +2 -2
  68. package/lib/scope.js.map +1 -1
  69. package/package.json +2 -1
  70. package/src/apply.ts +11 -12
  71. package/src/aws/control/types.ts +4 -4
  72. package/src/cloudflare/api-gateway-operation.ts +340 -0
  73. package/src/cloudflare/api-mitigation.ts +22 -0
  74. package/src/cloudflare/api-response.ts +7 -3
  75. package/src/cloudflare/api-schema.ts +364 -0
  76. package/src/cloudflare/api-shield.ts +676 -0
  77. package/src/cloudflare/bucket.ts +276 -468
  78. package/src/cloudflare/certificate-pack.ts +28 -152
  79. package/src/cloudflare/compatibility-date.gen.ts +1 -1
  80. package/src/cloudflare/index.ts +3 -0
  81. package/src/cloudflare/nuxt.ts +1 -1
  82. package/src/cloudflare/orange.ts +4 -1
  83. package/src/cloudflare/redwood.ts +6 -1
  84. package/src/cloudflare/vite.ts +2 -10
  85. package/src/cloudflare/website.ts +1 -0
  86. package/src/cloudflare/worker.ts +2 -1
  87. package/src/cloudflare/zone.ts +52 -0
  88. package/src/destroy.ts +26 -20
  89. package/src/os/exec.ts +2 -2
  90. package/src/scope.ts +3 -3
  91. package/templates/tanstack-start/package.json +3 -3
  92. package/templates/tanstack-start/vite.config.ts +2 -6
package/lib/apply.js CHANGED
@@ -164,6 +164,14 @@ async function _apply(resource, props, options) {
164
164
  },
165
165
  });
166
166
  }
167
+ else {
168
+ const pendingDeletions = (await scope.get("pendingDeletions")) ?? [];
169
+ pendingDeletions.push({
170
+ resource: oldOutput,
171
+ oldProps: state.oldProps,
172
+ });
173
+ await scope.set("pendingDeletions", pendingDeletions);
174
+ }
167
175
  output = await alchemy.run(resource[ResourceID], { isResource: true, parent: scope }, async () => provider.handler.bind(context({
168
176
  scope,
169
177
  phase: "create",
@@ -172,20 +180,12 @@ async function _apply(resource, props, options) {
172
180
  fqn: resource[ResourceFQN],
173
181
  seq: resource[ResourceSeq],
174
182
  props: state.props,
175
- state,
183
+ state: state,
176
184
  isReplacement: true,
177
185
  replace: () => {
178
186
  throw new Error(`Resource ${resource[ResourceKind]} ${resource[ResourceFQN]} cannot be replaced in create phase.`);
179
187
  },
180
188
  }))(resource[ResourceID], props));
181
- if (!error.force) {
182
- const pendingDeletions = (await scope.get("pendingDeletions")) ?? [];
183
- pendingDeletions.push({
184
- resource: oldOutput,
185
- oldProps: state.oldProps,
186
- });
187
- await scope.set("pendingDeletions", pendingDeletions);
188
- }
189
189
  }
190
190
  else {
191
191
  throw error;
@@ -208,6 +208,7 @@ async function _apply(resource, props, options) {
208
208
  elapsed: performance.now() - start,
209
209
  replaced: isReplaced,
210
210
  });
211
+ state = (await scope.state.get(resource[ResourceID]));
211
212
  await scope.state.set(resource[ResourceID], {
212
213
  kind: resource[ResourceKind],
213
214
  id: resource[ResourceID],
package/lib/apply.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"apply.js","sourceRoot":"","sources":["../src/apply.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"apply.js","sourceRoot":"","sources":["../src/apply.ts"],"names":[],"mappings":"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"}
@@ -9243,7 +9243,7 @@ declare namespace AWS {
9243
9243
  function SchedulingPolicy(id: string, props: SchedulingPolicyProps): Promise<SchedulingPolicy>;
9244
9244
  }
9245
9245
  namespace Bedrock {
9246
- interface APISchema {
9246
+ interface ApiSchema {
9247
9247
  /** http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-apischema.html#cfn-bedrock-agent-apischema-s3 */
9248
9248
  S3?: S3Identifier;
9249
9249
  /** http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-apischema.html#cfn-bedrock-agent-apischema-payload */
@@ -9259,7 +9259,7 @@ declare namespace AWS {
9259
9259
  /** http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-agentactiongroup.html#cfn-bedrock-agent-agentactiongroup-description */
9260
9260
  Description?: string;
9261
9261
  /** http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-agentactiongroup.html#cfn-bedrock-agent-agentactiongroup-apischema */
9262
- ApiSchema?: APISchema;
9262
+ ApiSchema?: ApiSchema;
9263
9263
  /** http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-agentactiongroup.html#cfn-bedrock-agent-agentactiongroup-functionschema */
9264
9264
  FunctionSchema?: FunctionSchema;
9265
9265
  /** http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-bedrock-agent-agentactiongroup.html#cfn-bedrock-agent-agentactiongroup-skipresourceinusecheckondelete */
@@ -57792,7 +57792,7 @@ declare namespace AWS {
57792
57792
  /** http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-index-textdocumentstatistics.html#cfn-qbusiness-index-textdocumentstatistics-indexedtextdocumentcount */
57793
57793
  IndexedTextDocumentCount?: number;
57794
57794
  }
57795
- interface APISchema {
57795
+ interface ApiSchema {
57796
57796
  /** http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-plugin-apischema.html#cfn-qbusiness-plugin-apischema-s3 */
57797
57797
  S3?: S3;
57798
57798
  /** http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-plugin-apischema.html#cfn-qbusiness-plugin-apischema-payload */
@@ -57808,7 +57808,7 @@ declare namespace AWS {
57808
57808
  /** http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-plugin-custompluginconfiguration.html#cfn-qbusiness-plugin-custompluginconfiguration-description */
57809
57809
  Description: string;
57810
57810
  /** http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-plugin-custompluginconfiguration.html#cfn-qbusiness-plugin-custompluginconfiguration-apischema */
57811
- ApiSchema: APISchema;
57811
+ ApiSchema: ApiSchema;
57812
57812
  /** http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-plugin-custompluginconfiguration.html#cfn-qbusiness-plugin-custompluginconfiguration-apischematype */
57813
57813
  ApiSchemaType: string;
57814
57814
  }
@@ -0,0 +1,141 @@
1
+ import type { Context } from "../context.ts";
2
+ import { Resource } from "../resource.ts";
3
+ import type { APIMitigation } from "./api-mitigation.ts";
4
+ import { type CloudflareApi, type CloudflareApiOptions } from "./api.ts";
5
+ import type { Zone } from "./zone.ts";
6
+ /**
7
+ * HTTP methods supported by API Gateway
8
+ */
9
+ export type HTTPMethod = "get" | "post" | "put" | "patch" | "delete" | "head" | "options" | "trace";
10
+ /**
11
+ * Properties for creating or updating an API Operation
12
+ */
13
+ export interface APIGatewayOperationProps extends CloudflareApiOptions {
14
+ /**
15
+ * The zone this operation belongs to
16
+ */
17
+ zone: string | Zone;
18
+ /**
19
+ * The API endpoint path (can contain path variables like /users/{id})
20
+ */
21
+ endpoint: string;
22
+ /**
23
+ * The host for this operation
24
+ */
25
+ host: string;
26
+ /**
27
+ * The HTTP method (GET, POST, PUT, DELETE, etc.)
28
+ */
29
+ method: string;
30
+ /**
31
+ * Mitigation action for this operation
32
+ * @default "none"
33
+ */
34
+ mitigation?: APIMitigation;
35
+ }
36
+ /**
37
+ * API Operation output
38
+ */
39
+ export interface APIGatewayOperation extends Resource<"cloudflare::APIGatewayOperation"> {
40
+ /**
41
+ * Zone ID
42
+ */
43
+ zoneId: string;
44
+ /**
45
+ * Zone name
46
+ */
47
+ zoneName: string;
48
+ /**
49
+ * Operation ID assigned by Cloudflare
50
+ */
51
+ operationId: string;
52
+ /**
53
+ * The API endpoint path
54
+ */
55
+ endpoint: string;
56
+ /**
57
+ * The host for this operation
58
+ */
59
+ host: string;
60
+ /**
61
+ * The HTTP method
62
+ */
63
+ method: string;
64
+ /**
65
+ * The mitigation action for this operation
66
+ */
67
+ action: APIMitigation;
68
+ }
69
+ /**
70
+ * Cloudflare API Gateway Operation manages individual API endpoints that can be
71
+ * monitored, secured, and configured through Cloudflare's API Shield.
72
+ *
73
+ * Operations are the building blocks for API management, representing specific
74
+ * HTTP method + endpoint + host combinations that your API exposes.
75
+ *
76
+ * @example
77
+ * ## Basic API operation
78
+ *
79
+ * Create a simple GET endpoint for user retrieval
80
+ *
81
+ * const getUserOp = await APIGatewayOperation("get-users", {
82
+ * zone: myZone,
83
+ * endpoint: "/users",
84
+ * host: "api.example.com",
85
+ * method: "GET"
86
+ * });
87
+ *
88
+ * @example
89
+ * ## API operation with path parameters
90
+ *
91
+ * Create an operation that includes path variables
92
+ *
93
+ * const getUserByIdOp = await APIGatewayOperation("get-user-by-id", {
94
+ * zone: "api.example.com",
95
+ * endpoint: "/users/{id}",
96
+ * host: "api.example.com",
97
+ * method: "GET"
98
+ * });
99
+ *
100
+ * @example
101
+ * ## RESTful CRUD operations
102
+ *
103
+ * Create a complete set of CRUD operations for a resource
104
+ *
105
+ * const createUserOp = await APIGatewayOperation("create-user", {
106
+ * zone: myZone,
107
+ * endpoint: "/users",
108
+ * host: "api.example.com",
109
+ * method: "POST"
110
+ * });
111
+ *
112
+ * const updateUserOp = await APIGatewayOperation("update-user", {
113
+ * zone: myZone,
114
+ * endpoint: "/users/{id}",
115
+ * host: "api.example.com",
116
+ * method: "PUT"
117
+ * });
118
+ *
119
+ * const deleteUserOp = await APIGatewayOperation("delete-user", {
120
+ * zone: myZone,
121
+ * endpoint: "/users/{id}",
122
+ * host: "api.example.com",
123
+ * method: "DELETE"
124
+ * });
125
+ *
126
+ * @see https://developers.cloudflare.com/api/resources/api_gateway/subresources/operations/
127
+ * @see https://developers.cloudflare.com/api-shield/management-and-monitoring/endpoint-management/
128
+ */
129
+ export declare const APIGatewayOperation: (((this: any, id: string, props?: {}) => never) & (new (_: never) => never)) | ((this: Context<APIGatewayOperation>, _id: string, props: APIGatewayOperationProps) => Promise<APIGatewayOperation>);
130
+ export interface CloudflareOperation {
131
+ operation_id: string;
132
+ method: string;
133
+ host: string;
134
+ endpoint: string;
135
+ }
136
+ export declare function getOperations(api: CloudflareApi, zoneId: string): Promise<CloudflareOperation[]>;
137
+ export declare function getOperationSchemaValidationSetting(api: CloudflareApi, zoneId: string, operationId: string): Promise<{
138
+ mitigation_action: APIMitigation;
139
+ operation_id: string;
140
+ }>;
141
+ //# sourceMappingURL=api-gateway-operation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api-gateway-operation.d.ts","sourceRoot":"","sources":["../../src/cloudflare/api-gateway-operation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAEL,KAAK,aAAa,EAClB,KAAK,oBAAoB,EAC1B,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEtC;;GAEG;AACH,MAAM,MAAM,UAAU,GAClB,KAAK,GACL,MAAM,GACN,KAAK,GACL,OAAO,GACP,QAAQ,GACR,MAAM,GACN,SAAS,GACT,OAAO,CAAC;AAEZ;;GAEG;AACH,MAAM,WAAW,wBAAyB,SAAQ,oBAAoB;IACpE;;OAEG;IACH,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAEpB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;;OAGG;IACH,UAAU,CAAC,EAAE,aAAa,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,mBACf,SAAQ,QAAQ,CAAC,iCAAiC,CAAC;IACnD;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,MAAM,EAAE,aAAa,CAAC;CACvB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2DG;AACH,eAAO,MAAM,mBAAmB,yFAGtB,OAAO,CAAC,mBAAmB,CAAC,OAC7B,MAAM,SACJ,wBAAwB,KAC9B,OAAO,CAAC,mBAAmB,CAAC,CAoDhC,CAAC;AA+EF,MAAM,WAAW,mBAAmB;IAClC,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,wBAAsB,aAAa,CACjC,GAAG,EAAE,aAAa,EAClB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAQhC;AAED,wBAAsB,mCAAmC,CACvD,GAAG,EAAE,aAAa,EAClB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM;uBAiBI,aAAa;kBAClB,MAAM;GAKzB"}
@@ -0,0 +1,153 @@
1
+ import { Resource } from "../resource.js";
2
+ import { handleApiError } from "./api-error.js";
3
+ import { createCloudflareApi, } from "./api.js";
4
+ /**
5
+ * Cloudflare API Gateway Operation manages individual API endpoints that can be
6
+ * monitored, secured, and configured through Cloudflare's API Shield.
7
+ *
8
+ * Operations are the building blocks for API management, representing specific
9
+ * HTTP method + endpoint + host combinations that your API exposes.
10
+ *
11
+ * @example
12
+ * ## Basic API operation
13
+ *
14
+ * Create a simple GET endpoint for user retrieval
15
+ *
16
+ * const getUserOp = await APIGatewayOperation("get-users", {
17
+ * zone: myZone,
18
+ * endpoint: "/users",
19
+ * host: "api.example.com",
20
+ * method: "GET"
21
+ * });
22
+ *
23
+ * @example
24
+ * ## API operation with path parameters
25
+ *
26
+ * Create an operation that includes path variables
27
+ *
28
+ * const getUserByIdOp = await APIGatewayOperation("get-user-by-id", {
29
+ * zone: "api.example.com",
30
+ * endpoint: "/users/{id}",
31
+ * host: "api.example.com",
32
+ * method: "GET"
33
+ * });
34
+ *
35
+ * @example
36
+ * ## RESTful CRUD operations
37
+ *
38
+ * Create a complete set of CRUD operations for a resource
39
+ *
40
+ * const createUserOp = await APIGatewayOperation("create-user", {
41
+ * zone: myZone,
42
+ * endpoint: "/users",
43
+ * host: "api.example.com",
44
+ * method: "POST"
45
+ * });
46
+ *
47
+ * const updateUserOp = await APIGatewayOperation("update-user", {
48
+ * zone: myZone,
49
+ * endpoint: "/users/{id}",
50
+ * host: "api.example.com",
51
+ * method: "PUT"
52
+ * });
53
+ *
54
+ * const deleteUserOp = await APIGatewayOperation("delete-user", {
55
+ * zone: myZone,
56
+ * endpoint: "/users/{id}",
57
+ * host: "api.example.com",
58
+ * method: "DELETE"
59
+ * });
60
+ *
61
+ * @see https://developers.cloudflare.com/api/resources/api_gateway/subresources/operations/
62
+ * @see https://developers.cloudflare.com/api-shield/management-and-monitoring/endpoint-management/
63
+ */
64
+ export const APIGatewayOperation = Resource("cloudflare::APIGatewayOperation", async function (_id, props) {
65
+ const api = await createCloudflareApi(props);
66
+ // Resolve zone ID and name
67
+ const zoneId = typeof props.zone === "string" ? props.zone : props.zone.id;
68
+ const zoneName = typeof props.zone === "string" ? props.zone : props.zone.name;
69
+ if (this.phase === "delete") {
70
+ if (this.output?.operationId) {
71
+ await deleteOperation(api, zoneId, this.output.operationId);
72
+ }
73
+ return this.destroy();
74
+ }
75
+ let operationId;
76
+ if (this.phase === "update") {
77
+ if (props.endpoint !== this.output?.endpoint ||
78
+ props.host !== this.output?.host ||
79
+ props.method !== this.output?.method) {
80
+ // delete and then re-create (cloudflare doesn't allow updating these properties)
81
+ this.replace(true);
82
+ }
83
+ if (props.mitigation !== this.output?.action) {
84
+ // we can update the mitigation action
85
+ await updateOperationSettings(api, zoneId, this.output.operationId, {
86
+ mitigation_action: props.mitigation ?? null,
87
+ });
88
+ }
89
+ operationId = this.output.operationId;
90
+ }
91
+ else {
92
+ const operation = await createOperation(api, zoneId, props);
93
+ operationId = operation.operation_id;
94
+ if (props.mitigation) {
95
+ await updateOperationSettings(api, zoneId, operationId, {
96
+ mitigation_action: props.mitigation ?? "none",
97
+ });
98
+ }
99
+ }
100
+ return this({
101
+ zoneId,
102
+ zoneName,
103
+ operationId,
104
+ endpoint: props.endpoint,
105
+ host: props.host,
106
+ method: props.method.toUpperCase(),
107
+ action: props.mitigation ?? null,
108
+ });
109
+ });
110
+ async function createOperation(api, zoneId, props) {
111
+ // Create the operation
112
+ const response = await api.post(`/zones/${zoneId}/api_gateway/operations/item`, {
113
+ endpoint: props.endpoint,
114
+ host: props.host,
115
+ method: props.method.toUpperCase(),
116
+ });
117
+ if (!response.ok) {
118
+ await handleApiError(response, "creating", "operation", `${props.method} ${props.endpoint}`);
119
+ }
120
+ const data = (await response.json());
121
+ return data.result;
122
+ }
123
+ async function deleteOperation(api, zoneId, operationId) {
124
+ const deleteResponse = await api.delete(`/zones/${zoneId}/api_gateway/operations/${operationId}`);
125
+ if (!deleteResponse.ok && deleteResponse.status !== 404) {
126
+ await handleApiError(deleteResponse, "deleting", "operation", operationId);
127
+ }
128
+ }
129
+ /**
130
+ * Update validation settings for a specific operation
131
+ */
132
+ async function updateOperationSettings(api, zoneId, operationId, params) {
133
+ const response = await api.put(`/zones/${zoneId}/schema_validation/settings/operations/${operationId}`, params);
134
+ if (!response.ok) {
135
+ await handleApiError(response, "updating", "operation settings", operationId);
136
+ }
137
+ }
138
+ export async function getOperations(api, zoneId) {
139
+ const response = await api.get(`/zones/${zoneId}/api_gateway/operations`);
140
+ if (!response.ok) {
141
+ await handleApiError(response, "getting", "operations");
142
+ }
143
+ return (await response.json()).result;
144
+ }
145
+ export async function getOperationSchemaValidationSetting(api, zoneId, operationId) {
146
+ const response = await api.get(`/zones/${zoneId}/schema_validation/settings/operations/${operationId}`);
147
+ if (!response.ok) {
148
+ await handleApiError(response, "getting", "operation mitigation status", operationId);
149
+ }
150
+ const data = (await response.json());
151
+ return data.result;
152
+ }
153
+ //# sourceMappingURL=api-gateway-operation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api-gateway-operation.js","sourceRoot":"","sources":["../../src/cloudflare/api-gateway-operation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import type { OpenAPIV3 } from "openapi-types";
2
+ /**
3
+ * Specifies the mitigation action to apply when a request does not conform to
4
+ * the schema for this operation:
5
+ * - `"log"`: Log the request.
6
+ * - `"block"`: Deny access to the site.
7
+ * - `"none"`: Skip mitigation for this operation.
8
+ * - `null`: Clear any mitigation action.
9
+ */
10
+ export type APIMitigation = "none" | "log" | "block" | null;
11
+ /**
12
+ * Mitigation actions for a given API schema.
13
+ */
14
+ export type APIMitigations<S extends OpenAPIV3.Document> = {
15
+ [path in keyof S["paths"]]?: APIMitigation | {
16
+ [method in keyof S["paths"][path]]?: APIMitigation;
17
+ };
18
+ };
19
+ //# sourceMappingURL=api-mitigation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api-mitigation.d.ts","sourceRoot":"","sources":["../../src/cloudflare/api-mitigation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE/C;;;;;;;GAOG;AACH,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,IAAI,CAAC;AAE5D;;GAEG;AACH,MAAM,MAAM,cAAc,CAAC,CAAC,SAAS,SAAS,CAAC,QAAQ,IAAI;KACxD,IAAI,IAAI,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EACvB,aAAa,GACb;SACG,MAAM,IAAI,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,aAAa;KACnD;CACN,CAAC"}
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=api-mitigation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api-mitigation.js","sourceRoot":"","sources":["../../src/cloudflare/api-mitigation.ts"],"names":[],"mappings":""}
@@ -13,7 +13,7 @@ export interface CloudflareApiResponse<T> {
13
13
  /**
14
14
  * Error details if success is false
15
15
  */
16
- errors: CloudflareApiError[];
16
+ errors: CloudflareApiErrorPayload[];
17
17
  /**
18
18
  * Response messages
19
19
  */
@@ -32,7 +32,7 @@ export interface CloudflareApiResponse<T> {
32
32
  /**
33
33
  * Cloudflare API error format
34
34
  */
35
- export interface CloudflareApiError {
35
+ export interface CloudflareApiErrorPayload {
36
36
  /**
37
37
  * Error code
38
38
  */
@@ -1 +1 @@
1
- {"version":3,"file":"api-response.d.ts","sourceRoot":"","sources":["../../src/cloudflare/api-response.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,qBAAqB,CAAC,CAAC;IACtC;;OAEG;IACH,MAAM,EAAE,CAAC,CAAC;IAEV;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;IAEjB;;OAEG;IACH,MAAM,EAAE,kBAAkB,EAAE,CAAC;IAE7B;;OAEG;IACH,QAAQ,EAAE,MAAM,EAAE,CAAC;IAEnB;;OAEG;IACH,WAAW,CAAC,EAAE;QACZ,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,MAAM,CAAC;QACjB,WAAW,EAAE,MAAM,CAAC;QACpB,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;;;;GAKG;AACH,wBAAsB,sBAAsB,CAC1C,QAAQ,EAAE,QAAQ,GACjB,OAAO,CAAC,MAAM,CAAC,CAUjB;AAED,wBAAsB,uBAAuB,CAAC,CAAC,EAC7C,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,GACzB,OAAO,CAAC,CAAC,CAAC,CAqBZ"}
1
+ {"version":3,"file":"api-response.d.ts","sourceRoot":"","sources":["../../src/cloudflare/api-response.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,WAAW,qBAAqB,CAAC,CAAC;IACtC;;OAEG;IACH,MAAM,EAAE,CAAC,CAAC;IAEV;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;IAEjB;;OAEG;IACH,MAAM,EAAE,yBAAyB,EAAE,CAAC;IAEpC;;OAEG;IACH,QAAQ,EAAE,MAAM,EAAE,CAAC;IAEnB;;OAEG;IACH,WAAW,CAAC,EAAE;QACZ,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,MAAM,CAAC;QACjB,WAAW,EAAE,MAAM,CAAC;QACpB,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;;;;GAKG;AACH,wBAAsB,sBAAsB,CAC1C,QAAQ,EAAE,QAAQ,GACjB,OAAO,CAAC,MAAM,CAAC,CAUjB;AAED,wBAAsB,uBAAuB,CAAC,CAAC,EAC7C,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,GACzB,OAAO,CAAC,CAAC,CAAC,CAuBZ"}
@@ -1,3 +1,4 @@
1
+ import { CloudflareApiError } from "./api-error.js";
1
2
  /**
2
3
  * Helper to extract and handle Cloudflare API errors
3
4
  *
@@ -27,7 +28,7 @@ export async function extractCloudflareResult(label, promise) {
27
28
  return json.result;
28
29
  }
29
30
  else {
30
- const error = new Error(`Failed to ${label} (${response.status} ${response.statusText}):\n${json.errors.map((e) => `- [${e.code}] ${e.message}${e.documentation_url ? ` (${e.documentation_url})` : ""}`).join("\n")}`);
31
+ const error = new CloudflareApiError(`Failed to ${label} (${response.status} ${response.statusText}):\n${json.errors.map((e) => `- [${e.code}] ${e.message}${e.documentation_url ? ` (${e.documentation_url})` : ""}`).join("\n")}`, response, json.errors);
31
32
  Error.captureStackTrace(error, extractCloudflareResult);
32
33
  Object.assign(error, {
33
34
  status: response.status,
@@ -1 +1 @@
1
- {"version":3,"file":"api-response.js","sourceRoot":"","sources":["../../src/cloudflare/api-response.ts"],"names":[],"mappings":"AAwDA;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,QAAkB;IAElB,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAA+B,CAAC;QACnE,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1C,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5E,CAAC;QACD,OAAO,QAAQ,QAAQ,CAAC,MAAM,KAAK,QAAQ,CAAC,UAAU,EAAE,CAAC;IAC3D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,QAAQ,QAAQ,CAAC,MAAM,KAAK,QAAQ,CAAC,UAAU,EAAE,CAAC;IAC3D,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,KAAa,EACb,OAA0B;IAE1B,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE;QACxC,MAAM,IAAI,KAAK,CAAC,aAAa,KAAK,mBAAmB,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE;QAC7C,MAAM,IAAI,KAAK,CACb,aAAa,KAAK,KAAK,QAAQ,CAAC,MAAM,yCAAyC,CAChF,CAAC;IACJ,CAAC,CAAC,CAA6B,CAAC;IAChC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QACjB,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;SAAM,CAAC;QACN,MAAM,KAAK,GAAG,IAAI,KAAK,CACrB,aAAa,KAAK,KAAK,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,iBAAiB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC/L,CAAC;QACF,KAAK,CAAC,iBAAiB,CAAC,KAAK,EAAE,uBAAuB,CAAC,CAAC;QACxD,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE;YACnB,MAAM,EAAE,QAAQ,CAAC,MAAM;SACxB,CAAC,CAAC;QACH,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"api-response.js","sourceRoot":"","sources":["../../src/cloudflare/api-response.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AA0DpD;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,QAAkB;IAElB,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAA+B,CAAC;QACnE,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1C,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5E,CAAC;QACD,OAAO,QAAQ,QAAQ,CAAC,MAAM,KAAK,QAAQ,CAAC,UAAU,EAAE,CAAC;IAC3D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,QAAQ,QAAQ,CAAC,MAAM,KAAK,QAAQ,CAAC,UAAU,EAAE,CAAC;IAC3D,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,KAAa,EACb,OAA0B;IAE1B,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE;QACxC,MAAM,IAAI,KAAK,CAAC,aAAa,KAAK,mBAAmB,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE;QAC7C,MAAM,IAAI,KAAK,CACb,aAAa,KAAK,KAAK,QAAQ,CAAC,MAAM,yCAAyC,CAChF,CAAC;IACJ,CAAC,CAAC,CAA6B,CAAC;IAChC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QACjB,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;SAAM,CAAC;QACN,MAAM,KAAK,GAAG,IAAI,kBAAkB,CAClC,aAAa,KAAK,KAAK,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,iBAAiB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAC9L,QAAQ,EACR,IAAI,CAAC,MAAM,CACZ,CAAC;QACF,KAAK,CAAC,iBAAiB,CAAC,KAAK,EAAE,uBAAuB,CAAC,CAAC;QACxD,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE;YACnB,MAAM,EAAE,QAAQ,CAAC,MAAM;SACxB,CAAC,CAAC;QACH,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC"}
@@ -0,0 +1,137 @@
1
+ import type { OpenAPIV3 } from "openapi-types";
2
+ import type { Context } from "../context.ts";
3
+ import { Resource } from "../resource.ts";
4
+ import { type CloudflareApi, type CloudflareApiOptions } from "./api.ts";
5
+ import type { Zone } from "./zone.ts";
6
+ /**
7
+ * Properties for creating or updating a Schema
8
+ */
9
+ export interface APISchemaProps<S extends OpenAPIV3.Document> extends CloudflareApiOptions {
10
+ /**
11
+ * The zone to upload the schema to
12
+ */
13
+ zone: string | Zone;
14
+ /**
15
+ * OpenAPI v3.0.x schema content (YAML string, JSON string, or OpenAPI object)
16
+ * Provide either this or schemaFile
17
+ *
18
+ * Note: Cloudflare only supports OpenAPI v3.0.x, not v3.1
19
+ */
20
+ schema: S;
21
+ /**
22
+ * Name for the schema
23
+ * @default resource id
24
+ */
25
+ name?: string;
26
+ /**
27
+ * Enable validation immediately after upload
28
+ *
29
+ * Warning: will trigger a replace when disabling validation.
30
+ *
31
+ * @default true
32
+ */
33
+ enabled?: boolean;
34
+ }
35
+ /**
36
+ * APISchema resource attributes.
37
+ */
38
+ export interface APISchema<S extends OpenAPIV3.Document = OpenAPIV3.Document> extends Resource<"cloudflare::APISchema"> {
39
+ /**
40
+ * Schema ID
41
+ */
42
+ id: string;
43
+ /**
44
+ * Name for the schema
45
+ */
46
+ name: string;
47
+ /**
48
+ * The API Schema
49
+ */
50
+ schema: S;
51
+ /**
52
+ * Source of the schema
53
+ */
54
+ source: string;
55
+ /**
56
+ * Whether validation is enabled
57
+ */
58
+ enabled: boolean;
59
+ }
60
+ /**
61
+ * Cloudflare API Gateway Schema manages OpenAPI v3 schemas for API validation.
62
+ *
63
+ * @example
64
+ * ## Basic schema upload with inline YAML
65
+ *
66
+ * const apiSchema = await APISchema("my-api-schema", {
67
+ * zone: myZone,
68
+ * name: "my-api-v1"
69
+ * schema: `
70
+ * openapi: 3.0.0
71
+ * info:
72
+ * title: My API
73
+ * version: 1.0.0
74
+ * servers:
75
+ * - url: https://api.example.com
76
+ * paths:
77
+ * /users:
78
+ * get:
79
+ * operationId: getUsers
80
+ * responses:
81
+ * '200':
82
+ * description: Success
83
+ * `,
84
+ * });
85
+ *
86
+ * @example
87
+ * ## Schema upload from file
88
+ *
89
+ * const fileSchema = await APISchema("api-schema-from-file", {
90
+ * zone: "example.com",
91
+ * schemaFile: "./openapi.yaml",
92
+ * name: "production-api-v2",
93
+ * enabled: false // Upload but don't enable validation yet
94
+ * });
95
+ *
96
+ * @example
97
+ * ## Schema with typed OpenAPI object
98
+ *
99
+ * import type { OpenAPIV3 } from "openapi-types";
100
+ *
101
+ * const typedSchema: OpenAPIV3.Document = {
102
+ * openapi: "3.0.0",
103
+ * info: { title: "Typed API", version: "1.0.0" },
104
+ * paths: {
105
+ * "/health": {
106
+ * get: {
107
+ * operationId: "healthCheck",
108
+ * responses: { "200": { description: "OK" } }
109
+ * }
110
+ * }
111
+ * }
112
+ * };
113
+ *
114
+ * const schema = await APISchema("typed-schema", {
115
+ * zone: myZone,
116
+ * schema: typedSchema
117
+ * });
118
+ */
119
+ export declare const APISchema: (((this: any, id: string, props?: {}) => never) & (new (_: never) => never)) | (<S extends OpenAPIV3.Document>(this: Context<APISchema<S>>, id: string, props: APISchemaProps<S>) => Promise<APISchema<S>>);
120
+ interface CloudflareSchemaDetails {
121
+ id: string;
122
+ name: string;
123
+ source: string;
124
+ validationEnabled: boolean;
125
+ createdAt: string;
126
+ }
127
+ export declare function deleteSchema(api: CloudflareApi, zoneId: string, schemaId: string): Promise<void>;
128
+ /**
129
+ * Get schema details
130
+ */
131
+ export declare function getSchema(api: CloudflareApi, zoneId: string, schemaId: string): Promise<CloudflareSchemaDetails | null>;
132
+ /**
133
+ * List all schemas in a zone
134
+ */
135
+ export declare function listSchemas(api: CloudflareApi, zoneId: string): Promise<CloudflareSchemaDetails[]>;
136
+ export {};
137
+ //# sourceMappingURL=api-schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api-schema.d.ts","sourceRoot":"","sources":["../../src/cloudflare/api-schema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE/C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C,OAAO,EAEL,KAAK,aAAa,EAClB,KAAK,oBAAoB,EAC1B,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAGtC;;GAEG;AACH,MAAM,WAAW,cAAc,CAAC,CAAC,SAAS,SAAS,CAAC,QAAQ,CAC1D,SAAQ,oBAAoB;IAC5B;;OAEG;IACH,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAEpB;;;;;OAKG;IACH,MAAM,EAAE,CAAC,CAAC;IAEV;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,SAAS,CAAC,CAAC,SAAS,SAAS,CAAC,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAC1E,SAAQ,QAAQ,CAAC,uBAAuB,CAAC;IACzC;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,MAAM,EAAE,CAAC,CAAC;IAEV;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;CAClB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0DG;AACH,eAAO,MAAM,SAAS,mFACpB,CAAC,SAAS,SAAS,CAAC,QAAQ,QACtB,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,MAAM,SAAS,cAAc,CAAC,CAAC,CAAC,KAAG,OAAO,CAC3E,SAAS,CAAC,CAAC,CAAC,CACb,CAoDC,CAAC;AAIH,UAAU,uBAAuB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,iBAAiB,EAAE,OAAO,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;CACnB;AA6ED,wBAAsB,YAAY,CAChC,GAAG,EAAE,aAAa,EAClB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC,CAuBf;AAED;;GAEG;AACH,wBAAsB,SAAS,CAC7B,GAAG,EAAE,aAAa,EAClB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,uBAAuB,GAAG,IAAI,CAAC,CAqBzC;AAED;;GAEG;AACH,wBAAsB,WAAW,CAC/B,GAAG,EAAE,aAAa,EAClB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,uBAAuB,EAAE,CAAC,CAkBpC"}