@distilled.cloud/core 0.30.3 → 1.0.0-rc.10
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.
- package/LICENSE +201 -0
- package/lib/api.d.ts +165 -0
- package/lib/api.d.ts.map +1 -0
- package/lib/api.js +190 -0
- package/lib/api.js.map +1 -0
- package/lib/category.d.ts +4 -4
- package/lib/category.js +4 -4
- package/lib/codegen/boolean-string-enums.d.ts +36 -0
- package/lib/codegen/boolean-string-enums.d.ts.map +1 -0
- package/lib/codegen/boolean-string-enums.js +94 -0
- package/lib/codegen/boolean-string-enums.js.map +1 -0
- package/lib/codegen/boolean-string-enums.test.d.ts +2 -0
- package/lib/codegen/boolean-string-enums.test.d.ts.map +1 -0
- package/lib/codegen/boolean-string-enums.test.js +147 -0
- package/lib/codegen/boolean-string-enums.test.js.map +1 -0
- package/lib/codegen/cli.d.ts +79 -0
- package/lib/codegen/cli.d.ts.map +1 -0
- package/lib/codegen/cli.js +149 -0
- package/lib/codegen/cli.js.map +1 -0
- package/lib/codegen/emit.d.ts +125 -0
- package/lib/codegen/emit.d.ts.map +1 -0
- package/lib/codegen/emit.js +101 -0
- package/lib/codegen/emit.js.map +1 -0
- package/lib/codegen/format.d.ts +23 -0
- package/lib/codegen/format.d.ts.map +1 -0
- package/lib/codegen/format.js +28 -0
- package/lib/codegen/format.js.map +1 -0
- package/lib/codegen/generator.d.ts +334 -0
- package/lib/codegen/generator.d.ts.map +1 -0
- package/lib/codegen/generator.js +813 -0
- package/lib/codegen/generator.js.map +1 -0
- package/lib/codegen/graph.d.ts +36 -0
- package/lib/codegen/graph.d.ts.map +1 -0
- package/lib/codegen/graph.js +136 -0
- package/lib/codegen/graph.js.map +1 -0
- package/lib/codegen/graphql-client.d.ts +62 -0
- package/lib/codegen/graphql-client.d.ts.map +1 -0
- package/lib/codegen/graphql-client.js +294 -0
- package/lib/codegen/graphql-client.js.map +1 -0
- package/lib/codegen/graphql-client.test.d.ts +2 -0
- package/lib/codegen/graphql-client.test.d.ts.map +1 -0
- package/lib/codegen/graphql-client.test.js +311 -0
- package/lib/codegen/graphql-client.test.js.map +1 -0
- package/lib/codegen/graphql.d.ts +207 -0
- package/lib/codegen/graphql.d.ts.map +1 -0
- package/lib/codegen/graphql.js +799 -0
- package/lib/codegen/graphql.js.map +1 -0
- package/lib/codegen/members.d.ts +25 -0
- package/lib/codegen/members.d.ts.map +1 -0
- package/lib/codegen/members.js +55 -0
- package/lib/codegen/members.js.map +1 -0
- package/lib/codegen/naming.d.ts +29 -0
- package/lib/codegen/naming.d.ts.map +1 -0
- package/lib/codegen/naming.js +74 -0
- package/lib/codegen/naming.js.map +1 -0
- package/lib/codegen/openapi-cli.d.ts +52 -0
- package/lib/codegen/openapi-cli.d.ts.map +1 -0
- package/lib/codegen/openapi-cli.js +109 -0
- package/lib/codegen/openapi-cli.js.map +1 -0
- package/lib/codegen/openapi.d.ts +178 -0
- package/lib/codegen/openapi.d.ts.map +1 -0
- package/lib/codegen/openapi.js +1377 -0
- package/lib/codegen/openapi.js.map +1 -0
- package/lib/codegen/operations.d.ts +24 -0
- package/lib/codegen/operations.d.ts.map +1 -0
- package/lib/codegen/operations.js +56 -0
- package/lib/codegen/operations.js.map +1 -0
- package/lib/codegen/pagination.d.ts +39 -0
- package/lib/codegen/pagination.d.ts.map +1 -0
- package/lib/codegen/pagination.js +33 -0
- package/lib/codegen/pagination.js.map +1 -0
- package/lib/codegen/patches.d.ts +65 -0
- package/lib/codegen/patches.d.ts.map +1 -0
- package/lib/codegen/patches.js +236 -0
- package/lib/codegen/patches.js.map +1 -0
- package/lib/codegen/patches.test.d.ts +2 -0
- package/lib/codegen/patches.test.d.ts.map +1 -0
- package/lib/codegen/patches.test.js +105 -0
- package/lib/codegen/patches.test.js.map +1 -0
- package/lib/codegen/prelude.d.ts +15 -0
- package/lib/codegen/prelude.d.ts.map +1 -0
- package/lib/codegen/prelude.js +60 -0
- package/lib/codegen/prelude.js.map +1 -0
- package/lib/codegen/proto.d.ts +121 -0
- package/lib/codegen/proto.d.ts.map +1 -0
- package/lib/codegen/proto.js +962 -0
- package/lib/codegen/proto.js.map +1 -0
- package/lib/codegen/rewrite-operation-ids.d.ts +131 -0
- package/lib/codegen/rewrite-operation-ids.d.ts.map +1 -0
- package/lib/codegen/rewrite-operation-ids.js +1079 -0
- package/lib/codegen/rewrite-operation-ids.js.map +1 -0
- package/lib/codegen/rewrite-operation-ids.test.d.ts +2 -0
- package/lib/codegen/rewrite-operation-ids.test.d.ts.map +1 -0
- package/lib/codegen/rewrite-operation-ids.test.js +533 -0
- package/lib/codegen/rewrite-operation-ids.test.js.map +1 -0
- package/lib/codegen/spec-path.d.ts +16 -0
- package/lib/codegen/spec-path.d.ts.map +1 -0
- package/lib/codegen/spec-path.js +101 -0
- package/lib/codegen/spec-path.js.map +1 -0
- package/lib/error-category.d.ts +28 -0
- package/lib/error-category.d.ts.map +1 -0
- package/lib/error-category.js +46 -0
- package/lib/error-category.js.map +1 -0
- package/lib/errors.d.ts +1 -0
- package/lib/errors.d.ts.map +1 -1
- package/lib/errors.js +18 -13
- package/lib/errors.js.map +1 -1
- package/lib/graphql.d.ts +284 -0
- package/lib/graphql.d.ts.map +1 -0
- package/lib/graphql.fixture.d.ts +249 -0
- package/lib/graphql.fixture.d.ts.map +1 -0
- package/lib/graphql.fixture.js +240 -0
- package/lib/graphql.fixture.js.map +1 -0
- package/lib/graphql.js +718 -0
- package/lib/graphql.js.map +1 -0
- package/lib/graphql.test.d.ts +2 -0
- package/lib/graphql.test.d.ts.map +1 -0
- package/lib/graphql.test.js +780 -0
- package/lib/graphql.test.js.map +1 -0
- package/lib/graphql.types.d.ts +2 -0
- package/lib/graphql.types.d.ts.map +1 -0
- package/lib/graphql.types.js +45 -0
- package/lib/graphql.types.js.map +1 -0
- package/lib/json-patch.d.ts +30 -30
- package/lib/json-patch.d.ts.map +1 -1
- package/lib/json-patch.js +73 -107
- package/lib/json-patch.js.map +1 -1
- package/lib/pagination.d.ts +77 -51
- package/lib/pagination.d.ts.map +1 -1
- package/lib/pagination.js +162 -94
- package/lib/pagination.js.map +1 -1
- package/lib/protocol-http.d.ts +74 -0
- package/lib/protocol-http.d.ts.map +1 -0
- package/lib/protocol-http.js +590 -0
- package/lib/protocol-http.js.map +1 -0
- package/lib/protocol-http.test.d.ts +2 -0
- package/lib/protocol-http.test.d.ts.map +1 -0
- package/lib/protocol-http.test.js +88 -0
- package/lib/protocol-http.test.js.map +1 -0
- package/lib/protocol-rest.d.ts +134 -0
- package/lib/protocol-rest.d.ts.map +1 -0
- package/lib/protocol-rest.js +256 -0
- package/lib/protocol-rest.js.map +1 -0
- package/lib/retry.d.ts +8 -2
- package/lib/retry.d.ts.map +1 -1
- package/lib/retry.js +22 -16
- package/lib/retry.js.map +1 -1
- package/lib/schema.d.ts +8 -9
- package/lib/schema.d.ts.map +1 -1
- package/lib/schema.js +8 -9
- package/lib/schema.js.map +1 -1
- package/lib/trait.d.ts +174 -0
- package/lib/trait.d.ts.map +1 -0
- package/lib/trait.js +123 -0
- package/lib/trait.js.map +1 -0
- package/package.json +24 -78
- package/src/api.ts +460 -0
- package/src/category.ts +4 -4
- package/src/codegen/boolean-string-enums.test.ts +168 -0
- package/src/codegen/boolean-string-enums.ts +106 -0
- package/src/codegen/cli.ts +285 -0
- package/src/codegen/emit.ts +203 -0
- package/src/codegen/format.ts +47 -0
- package/src/codegen/generator.ts +1283 -0
- package/src/codegen/graph.ts +151 -0
- package/src/codegen/graphql-client.test.ts +386 -0
- package/src/codegen/graphql-client.ts +419 -0
- package/src/codegen/graphql.ts +1217 -0
- package/src/codegen/members.ts +71 -0
- package/src/codegen/naming.ts +86 -0
- package/src/codegen/openapi-cli.ts +182 -0
- package/src/codegen/openapi.ts +1689 -0
- package/src/codegen/operations.ts +76 -0
- package/src/codegen/pagination.ts +71 -0
- package/src/codegen/patches.test.ts +130 -0
- package/src/codegen/patches.ts +291 -0
- package/src/codegen/prelude.ts +70 -0
- package/src/codegen/proto.ts +1128 -0
- package/src/codegen/rewrite-operation-ids.test.ts +563 -0
- package/src/codegen/rewrite-operation-ids.ts +1206 -0
- package/src/codegen/spec-path.ts +115 -0
- package/src/error-category.ts +84 -0
- package/src/errors.ts +22 -25
- package/src/graphql.fixture.ts +371 -0
- package/src/graphql.test.ts +974 -0
- package/src/graphql.ts +1321 -0
- package/src/graphql.types.ts +185 -0
- package/src/json-patch.ts +95 -122
- package/src/pagination.ts +217 -146
- package/src/protocol-http.test.ts +107 -0
- package/src/protocol-http.ts +735 -0
- package/src/protocol-rest.ts +391 -0
- package/src/retry.ts +21 -22
- package/src/schema.ts +9 -10
- package/src/trait.ts +274 -0
- package/README.md +0 -30
- package/lib/client.d.ts +0 -167
- package/lib/client.d.ts.map +0 -1
- package/lib/client.js +0 -659
- package/lib/client.js.map +0 -1
- package/lib/schemas.d.ts +0 -60
- package/lib/schemas.d.ts.map +0 -1
- package/lib/schemas.js +0 -79
- package/lib/schemas.js.map +0 -1
- package/lib/sensitive.d.ts +0 -71
- package/lib/sensitive.d.ts.map +0 -1
- package/lib/sensitive.js +0 -96
- package/lib/sensitive.js.map +0 -1
- package/lib/traits.d.ts +0 -421
- package/lib/traits.d.ts.map +0 -1
- package/lib/traits.js +0 -737
- package/lib/traits.js.map +0 -1
- package/src/client.ts +0 -1177
- package/src/schemas.ts +0 -128
- package/src/sensitive.ts +0 -119
- package/src/traits.ts +0 -996
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"graphql.js","sourceRoot":"","sources":["../../src/codegen/graphql.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAsDxD;;;;GAIG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,IAAa,EAAuB,EAAE;IACtE,MAAM,CAAC,GAAG,IAIT,CAAC;IACF,MAAM,MAAM,GACV,CAAC,EAAE,IAAI,EAAE,QAAQ,IAAI,CAAC,EAAE,QAAQ,IAAI,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAE,CAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAC1E,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CACb,oFAAoF,CACrF,CAAC;IACJ,CAAC;IACD,OAAO,MAA6B,CAAC;AACvC,CAAC,CAAC;AAEF,+EAA+E;AAC/E,yBAAyB;AACzB,+EAA+E;AAE/E,MAAM,CAAC,MAAM,OAAO,GAAG;IACrB,MAAM,EAAE,mBAAmB;IAC3B,OAAO,EAAE,oBAAoB;IAC7B,OAAO,EAAE,oBAAoB;IAC7B,IAAI,EAAE,iBAAiB;IACvB,MAAM,EAAE,mBAAmB;IAC3B,SAAS,EAAE,sBAAsB;IACjC,QAAQ,EAAE,qBAAqB;CACvB,CAAC;AAEX,iDAAiD;AACjD,MAAM,eAAe,GAA2B;IAC9C,MAAM,EAAE,OAAO,CAAC,MAAM;IACtB,EAAE,EAAE,OAAO,CAAC,MAAM;IAClB,GAAG,EAAE,OAAO,CAAC,OAAO;IACpB,KAAK,EAAE,OAAO,CAAC,MAAM;IACrB,OAAO,EAAE,OAAO,CAAC,OAAO;CACzB,CAAC;AA8GF,+EAA+E;AAC/E,gBAAgB;AAChB,+EAA+E;AAE/E,MAAM,UAAU,GAAG,CAAC,CAAS,EAAU,EAAE,CACvC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAEzC,MAAM,YAAY,GAAG,CAAC,CAAS,EAAU,EAAE,CACzC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAC,EAAE,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;AAEhF,MAAM,aAAa,GAAG,CAAC,CAAU,EAAuC,EAAE,CACxE,CAAC,CAAC,IAAI,KAAK,UAAU,IAAI,CAAC,CAAC,MAAM;IAC/B,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE;IACnC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;AAElC,sEAAsE;AACtE,MAAM,aAAa,GAAG,CAAC,CAAU,EAAU,EAAE;IAC3C,IAAI,CAAC,CAAC,IAAI,KAAK,UAAU,IAAI,CAAC,CAAC,MAAM;QAAE,OAAO,GAAG,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;IAC5E,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,MAAM;QAAE,OAAO,IAAI,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;IACzE,OAAO,CAAC,CAAC,IAAI,IAAI,SAAS,CAAC;AAC7B,CAAC,CAAC;AAEF,MAAM,KAAK,GAAG,CAAC,EAAU,EAAU,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;AAE7D,MAAM,WAAW,GAAG,CAAC,IAAY,EAAU,EAAE;IAC3C,IAAI,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,GAAG,CAAC,CAAC;IAC9C,IAAI,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC;QAAE,GAAG,GAAG,IAAI,GAAG,EAAE,CAAC;IACxC,OAAO,GAAG,IAAI,GAAG,CAAC;AACpB,CAAC,CAAC;AAEF,MAAM,cAAc,GAAG,CAAC,KAAa,EAAU,EAAE;IAC/C,IAAI,GAAG,GAAG,KAAK;SACZ,WAAW,EAAE;SACb,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC;SAC3B,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;IAC3B,IAAI,GAAG,KAAK,EAAE;QAAE,GAAG,GAAG,OAAO,CAAC;IAC9B,IAAI,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC;QAAE,GAAG,GAAG,IAAI,GAAG,EAAE,CAAC;IACxC,OAAO,GAAG,CAAC;AACb,CAAC,CAAC;AAEF,MAAM,UAAU,GAAG,CAAC,CAA4B,EAAsB,EAAE;IACtE,MAAM,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IACzC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAC3B,CAAC,CAAC;AAEF,0EAA0E;AAC1E,MAAM,SAAS,GAAG,CAAC,GAAY,EAAW,EAAE;IAC1C,IAAI,CAAC,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;IAChC,OAAO,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,MAAM;QAAE,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC;IACvE,OAAO,CAAC,CAAC;AACX,CAAC,CAAC;AASF,MAAM,cAAc,GAAU;IAC5B,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,OAAO;IACd,KAAK,EAAE,OAAO;IACd,IAAI,EAAE,MAAM;IACZ,QAAQ,EAAE,UAAU;IACpB,SAAS,EAAE,WAAW;IACtB,WAAW,EAAE,aAAa;IAC1B,IAAI,EAAE,OAAO;CACd,CAAC;AAYF,MAAM,YAAY,GAAG,CACnB,GAAU,EACV,OAAuC,EAC7B,EAAE;IACZ,MAAM,WAAW,GAAG,IAAI,GAAG,EAAmB,CAAC;IAC/C,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;IAChC,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;IAEpC,MAAM,YAAY,GAAG,CAAC,IAA+B,EAAW,EAAE;QAChE,IAAI,CAAC,IAAI;YAAE,OAAO,KAAK,CAAC;QACxB,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO,MAAM,CAAC;QACxC,uEAAuE;QACvE,2CAA2C;QAC3C,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAE7B,MAAM,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC5B,MAAM,MAAM,GAAG,CAAC,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5D,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,KAAK,CAAC,CAAC;QAC5D,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,QAAQ,CAAC,CAAC;QAClE,IAAI,CAAC,UAAU,IAAI,CAAC,aAAa;YAAE,OAAO,KAAK,CAAC;QAEhD,MAAM,QAAQ,GAAG,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC;QACjD,MAAM,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC9D,MAAM,OAAO,GAAG,CAAC,QAAQ,EAAE,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC,CAAC;QAC1E,IAAI,CAAC,OAAO;YAAE,OAAO,KAAK,CAAC;QAE3B,MAAM,YAAY,GAAG,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC;QACxD,MAAM,YAAY,GAAG,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC1E,MAAM,SAAS,GAAG,CAAC,YAAY,EAAE,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,CACjD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,SAAS,CAChC,CAAC;QACF,IAAI,CAAC,SAAS;YAAE,OAAO,KAAK,CAAC;QAE7B,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC5B,IAAI,QAAQ;YAAE,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAClC,IAAI,YAAY;YAAE,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAC9C,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IAEF,wEAAwE;IACxE,iEAAiE;IACjE,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;QACjC,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ;YAAE,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAChD,CAAC;IAED,OAAO;QACL,GAAG;QACH,YAAY;QACZ,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QAClD,UAAU,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;KAC3D,CAAC;AACJ,CAAC,CAAC;AAkBF;;;;;;;;;GASG;AACH,MAAM,gBAAgB,GAAG,CACvB,GAAc,EACd,cAAkC,EAClC,SAAiB,EACR,EAAE;IACX,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC;IACxB,IAAI,CAAC,KAAK,IAAI,CAAC,cAAc;QAAE,OAAO,KAAK,CAAC;IAC5C,IAAI,KAAK,CAAC,YAAY,CAAC,cAAc,CAAC,EAAE,CAAC;QACvC,OAAO,SAAS,KAAK,KAAK,CAAC,GAAG,CAAC,KAAK,IAAI,SAAS,KAAK,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC;IAC3E,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC;QAAE,OAAO,SAAS,KAAK,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC;IACtE,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,eAAe,GAAG,CACtB,GAAY,EACZ,GAAc,EACd,KAAa,EACb,QAAgB,EAChB,IAAiB,EACa,EAAE;IAChC,MAAM,EAAE,IAAI,EAAE,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;IAEpC,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QACxC,OAAO,eAAe,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;IAClE,CAAC;IAED,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW;QAAE,OAAO,SAAS,CAAC;IAC1E,IAAI,CAAC,IAAI,CAAC,IAAI;QAAE,OAAO,SAAS,CAAC;IACjC,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;QAAE,OAAO,SAAS,CAAC;IAC1C,IAAI,KAAK,GAAG,QAAQ;QAAE,OAAO,SAAS,CAAC;IAEvC,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5C,IAAI,CAAC,QAAQ,EAAE,MAAM;QAAE,OAAO,SAAS,CAAC;IAExC,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAC/C,MAAM,MAAM,GAAqB,EAAE,CAAC;IAEpC,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;QACpC,yEAAyE;QACzE,sDAAsD;QACtD,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC;YAAE,SAAS;QAElD,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACtD,IAAI,UAAU,GAAG,SAAS,CAAC;QAC3B,IAAI,UAAU,CAAC,IAAI,KAAK,MAAM,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;YACpD,UAAU,GAAG,aAAa,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC;QACrD,CAAC;QAED,IAAI,QAAsC,CAAC;QAC3C,IAAI,UAAU,CAAC,IAAI,KAAK,QAAQ,IAAI,UAAU,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YACpE,MAAM,WAAW,GAAG,gBAAgB,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YACjE,QAAQ,GAAG,eAAe,CACxB,KAAK,CAAC,IAAI,EACV,GAAG,EACH,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,EAC/B,QAAQ,EACR,QAAQ,CACT,CAAC;YACF,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACvC,kEAAkE;gBAClE,SAAS;YACX,CAAC;QACH,CAAC;aAAM,IAAI,UAAU,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YACvC,wEAAwE;YACxE,SAAS;QACX,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;IAChE,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEF,sEAAsE;AACtE,MAAM,kBAAkB,GAAG,CAAC,MAAwB,EAAE,MAAc,EAAU,EAAE,CAC9E,MAAM;KACH,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACT,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC;IACjC,CAAC,CAAC,GAAG,MAAM,GAAG,CAAC,CAAC,IAAI,OAAO,kBAAkB,CAAC,CAAC,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC,KAAK,MAAM,GAAG;IACtF,CAAC,CAAC,GAAG,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE,CACzB;KACA,IAAI,CAAC,IAAI,CAAC,CAAC;AAiBhB;;;;;;;;;GASG;AACH,MAAM,qBAAqB,GAAG,CAC5B,KAAY,EACZ,WAA4B,EAC5B,GAAc,EACd,iBAAyB,EACzB,cAAuB,EACJ,EAAE;IACrB,MAAM,IAAI,GAAkB;QAC1B,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,EAAE;QACtB,UAAU,EAAE,KAAK,CAAC,IAAI;KACvB,CAAC;IACF,MAAM,KAAK,GAAG,CAAC,GAAG,WAAW,EAAE,IAAI,CAAC,CAAC;IAErC,2EAA2E;IAC3E,qDAAqD;IACrD,MAAM,SAAS,GAAG,eAAe,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;IACpE,IAAI,SAAS,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtC,OAAO,CAAC,KAAK,CAAC,CAAC;IACjB,CAAC;IAED,yEAAyE;IACzE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACvD,IAAI,YAAY,GAAG,UAAU,CAAC;IAC9B,IAAI,YAAY,CAAC,IAAI,KAAK,MAAM,IAAI,YAAY,CAAC,MAAM,EAAE,CAAC;QACxD,YAAY,GAAG,aAAa,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC;IACzD,CAAC;IAED,MAAM,QAAQ,GACZ,CAAC,YAAY,CAAC,IAAI,KAAK,QAAQ,IAAI,YAAY,CAAC,IAAI,KAAK,WAAW,CAAC;QACrE,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC;IAEtB,IAAI,CAAC,QAAQ,IAAI,KAAK,CAAC,MAAM,IAAI,iBAAiB,EAAE,CAAC;QACnD,OAAO,CAAC,KAAK,CAAC,CAAC;IACjB,CAAC;IAED,MAAM,aAAa,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,IAAK,CAAC,CAAC;IAC1D,IAAI,CAAC,aAAa,EAAE,MAAM,IAAI,aAAa,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChE,OAAO,CAAC,KAAK,CAAC,CAAC;IACjB,CAAC;IAED,MAAM,KAAK,GAAsB,EAAE,CAAC;IACpC,KAAK,MAAM,QAAQ,IAAI,aAAa,CAAC,MAAM,EAAE,CAAC;QAC5C,IAAI,cAAc,IAAI,QAAQ,CAAC,YAAY;YAAE,SAAS;QACtD,KAAK,CAAC,IAAI,CACR,GAAG,qBAAqB,CACtB,QAAQ,EACR,KAAK,EACL,GAAG,EACH,iBAAiB,EACjB,cAAc,CACf,CACF,CAAC;IACJ,CAAC;IAED,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AAC5C,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,kBAAkB,GAAG,CAAC,MAAuB,EAAU,EAAE;IAC7D,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;IACvD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,MAAM,CAAC,CAAC,CAAE,CAAC,IAAI,CAAC;IAChD,OAAO,CACL,MAAM,CAAC,CAAC,CAAE,CAAC,IAAI;QACf,MAAM;aACH,KAAK,CAAC,CAAC,CAAC;aACR,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;aAChC,IAAI,CAAC,EAAE,CAAC,CACZ,CAAC;AACJ,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,eAAe,GAAG,CAAC,MAAuB,EAAuB,EAAE;IACvE,MAAM,UAAU,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC7C,MAAM,YAAY,GAAG,IAAI,GAAG,EAAU,CAAC;IACvC,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;QAC1B,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YAC5B,IAAI,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC;YACvB,IAAI,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC9B,OAAO,GAAG,GAAG,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBAClD,IAAI,CAAC,GAAG,CAAC,CAAC;gBACV,OAAO,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;oBACjC,OAAO,GAAG,GAAG,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;gBAC1D,CAAC;YACH,CAAC;YACD,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAC1B,UAAU,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;QACtD,CAAC;IACH,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,iBAAiB,GAAG,CACxB,IAA0B,EAC1B,aAAqB,EACrB,MAAuB,EACvB,SAAuC,EACvC,UAA+B,EACvB,EAAE;IACV,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;QAC1B,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YAC5B,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC;YACvE,OAAO,CAAC,IAAI,CAAC,IAAI,OAAO,KAAK,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC;IAED,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM;QAC3B,CAAC,CAAC,GAAG,IAAI,IAAI,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;QACnD,CAAC,CAAC,GAAG,IAAI,IAAI,aAAa,EAAE,CAAC;IAE/B,MAAM,UAAU,GAAG,CACjB,IAAmB,EACnB,KAAa,EACb,MAAc,EACN,EAAE;QACV,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI;aACtB,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YACX,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC;YACvE,OAAO,GAAG,GAAG,CAAC,IAAI,MAAM,OAAO,EAAE,CAAC;QACpC,CAAC,CAAC;aACD,IAAI,CAAC,IAAI,CAAC,CAAC;QACd,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI,OAAO,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QAC9D,OAAO,GAAG,MAAM,GAAG,IAAI,OAAO,KAAK,KAAK,MAAM,GAAG,CAAC;IACpD,CAAC,CAAC;IAEF,IAAI,IAAY,CAAC;IACjB,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACnD,IAAI,SAAS,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtC,IAAI,GAAG,kBAAkB,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IACpD,CAAC;SAAM,CAAC;QACN,uEAAuE;QACvE,8BAA8B;QAC9B,IAAI,GAAG,GAAG,WAAW,YAAY,CAAC;IACpC,CAAC;IAED,IAAI,MAAM,GAAG,IAAI,CAAC;IAClB,KAAK,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5C,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAClC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAE,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAClD,CAAC;IAED,OAAO,GAAG,MAAM,OAAO,MAAM,KAAK,CAAC;AACrC,CAAC,CAAC;AAYF,4EAA4E;AAC5E,MAAM,QAAQ,GAAG,CAAC,GAAQ,EAAE,IAAY,EAAE,GAAQ,EAAU,EAAE;IAC5D,IAAI,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;IAC7B,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;IACxB,IAAI,IAAI,GAAG,IAAI,CAAC;IAChB,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,OAAO,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC;QAAE,IAAI,GAAG,GAAG,IAAI,GAAG,CAAC,EAAE,EAAE,CAAC;IACnD,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACpB,MAAM,EAAE,GAAG,GAAG,GAAG,CAAC,SAAS,IAAI,IAAI,EAAE,CAAC;IACtC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC;IACrB,OAAO,EAAE,CAAC;AACZ,CAAC,CAAC;AAEF,sDAAsD;AACtD,MAAM,QAAQ,GAAG,CAAC,GAAQ,EAAE,IAAY,EAAE,GAAQ,EAAU,EAAE;IAC5D,MAAM,EAAE,GAAG,GAAG,GAAG,CAAC,SAAS,IAAI,IAAI,EAAE,CAAC;IACtC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC;IACrB,OAAO,EAAE,CAAC;AACZ,CAAC,CAAC;AAgBF,MAAM,aAAa,GAAG,CACpB,GAAQ,EACR,GAAc,EACd,MAAuB,EACvB,aAAqC,EAC1B,EAAE;IACb,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC3C,MAAM,SAAS,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC5C,MAAM,aAAa,GAAG,IAAI,GAAG,EAAkB,CAAC;IAEhD,MAAM,YAAY,GAAG,CAAC,IAAY,EAAU,EAAE,CAC5C,eAAe,CAAC,IAAI,CAAC,IAAI,aAAa,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC;IAEnE,MAAM,SAAS,GAAG,CAAC,IAAY,EAAU,EAAE;QACzC,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,MAAM;YAAE,OAAO,MAAM,CAAC;QAC1B,MAAM,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAChC,MAAM,OAAO,GAAwB,EAAE,CAAC;QACxC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;QAC/B,KAAK,MAAM,CAAC,IAAI,CAAC,EAAE,UAAU,IAAI,EAAE,EAAE,CAAC;YACpC,IAAI,EAAE,GAAG,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAChC,IAAI,CAAC,GAAG,CAAC,CAAC;YACV,OAAO,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBAAE,EAAE,GAAG,GAAG,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC;YAC7D,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACb,OAAO,CAAC,EAAE,CAAC,GAAG;gBACZ,MAAM,EAAE,iBAAiB;gBACzB,MAAM,EAAE,EAAE,sBAAsB,EAAE,CAAC,CAAC,IAAI,EAAE;aAC3C,CAAC;QACJ,CAAC;QACD,MAAM,EAAE,GAAG,QAAQ,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;QAC1D,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACvB,OAAO,EAAE,CAAC;IACZ,CAAC,CAAC;IAEF,MAAM,eAAe,GAAG,CACtB,GAAY,EAC2B,EAAE;QACzC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;QAC7C,MAAM,QAAQ,GAAG,CAAC,OAAO,CAAC;QAC1B,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACxC,MAAM,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC1C,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC9C,IAAI,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACpC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,GAAG,QAAQ,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE;oBAClD,IAAI,EAAE,MAAM;oBACZ,MAAM,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE;oBAC/B,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACrE,CAAC,CAAC;gBACH,aAAa,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;YACjC,CAAC;YACD,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;QACtC,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACxC,OAAO,EAAE,MAAM,EAAE,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC;QACvD,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACtC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC;QACpD,CAAC;QACD,IAAI,IAAI,CAAC,IAAI,KAAK,cAAc,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YAC9C,OAAO,EAAE,MAAM,EAAE,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC;QAC3D,CAAC;QACD,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,QAAQ,EAAE,QAAQ,EAAE,CAAC;IAChD,CAAC,CAAC;IAEF,MAAM,gBAAgB,GAAG,CAAC,IAAY,EAAU,EAAE;QAChD,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACnC,IAAI,MAAM;YAAE,OAAO,MAAM,CAAC;QAC1B,MAAM,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAChC,wEAAwE;QACxE,qEAAqE;QACrE,MAAM,GAAG,GAAQ,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;QACpD,MAAM,EAAE,GAAG,QAAQ,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;QACpC,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACxB,MAAM,GAAG,GAAG,UAAU,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;QACvC,IAAI,GAAG;YAAE,GAAG,CAAC,MAAM,GAAG,EAAE,0BAA0B,EAAE,GAAG,EAAE,CAAC;QAC1D,KAAK,MAAM,CAAC,IAAI,CAAC,EAAE,WAAW,IAAI,EAAE,EAAE,CAAC;YACrC,MAAM,EAAE,OAAO,EAAE,GAAG,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAC1C,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACrD,MAAM,YAAY,GAAwB,EAAE,CAAC;YAC7C,IAAI,OAAO;gBAAE,YAAY,CAAC,qBAAqB,CAAC,GAAG,EAAE,CAAC;YACtD,IAAI,QAAQ;gBAAE,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;YACjD,MAAM,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;YACvC,IAAI,IAAI;gBAAE,YAAY,CAAC,0BAA0B,CAAC,GAAG,IAAI,CAAC;YAC1D,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG;gBACjC,MAAM;gBACN,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACtE,CAAC;QACJ,CAAC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC,CAAC;IAEF,OAAO;QACL,GAAG;QACH,GAAG;QACH,MAAM;QACN,YAAY;QACZ,SAAS;QACT,gBAAgB;QAChB,eAAe;KAChB,CAAC;AACJ,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,iBAAiB,GAAG,CACxB,IAAe,EACf,GAAY,EACZ,QAAsC,EACtC,IAAY,EAC2B,EAAE;IACzC,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;IAC7C,MAAM,QAAQ,GAAG,CAAC,OAAO,CAAC;IAE1B,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QACxC,MAAM,IAAI,GAAG,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,MAAM,CAAC,CAAC;QAC3E,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,MAAM,EAAE;YAC/C,IAAI,EAAE,MAAM;YACZ,MAAM,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE;YAC/B,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC1E,CAAC,CAAC;QACH,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;IAC9B,CAAC;IACD,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACxC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC;IAC5D,CAAC;IACD,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACtC,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,CAAC;IACzD,CAAC;IACD,IACE,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,KAAK,WAAW,CAAC;QACrD,QAAQ;QACR,QAAQ,CAAC,MAAM,GAAG,CAAC,EACnB,CAAC;QACD,MAAM,OAAO,GAAG,qBAAqB,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;QAC5D,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC,CAAC;QACxE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;IAC9B,CAAC;IACD,oDAAoD;IACpD,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,QAAQ,EAAE,QAAQ,EAAE,CAAC;AAChD,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,qBAAqB,GAAG,CAC5B,IAAe,EACf,MAAwB,EACxB,IAAY,EACS,EAAE;IACvB,MAAM,OAAO,GAAwB,EAAE,CAAC;IACxC,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QACvB,MAAM,GAAG,GAAG,iBAAiB,CAC3B,IAAI,EACJ,CAAC,CAAC,IAAI,EACN,CAAC,CAAC,QAAQ,EACV,GAAG,IAAI,GAAG,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CACjC,CAAC;QACF,MAAM,YAAY,GAAwB,EAAE,qBAAqB,EAAE,EAAE,EAAE,CAAC;QACxE,IAAI,GAAG,CAAC,QAAQ;YAAE,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;QAC1D,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC;IAC9E,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAcF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CACpC,OAA8B,EACR,EAAE;IACxB,MAAM,EACJ,MAAM,EACN,SAAS,EACT,WAAW,EACX,YAAY,EACZ,oBAAoB,EACpB,cAAc,GAAG,KAAK,EACtB,QAAQ,EACR,MAAM,EACN,QAAQ,GAAG,CAAC,EACZ,iBAAiB,GAAG,CAAC,EACrB,cAAc,GAAG,IAAI,EACrB,aAAa,GAAG,GAAG,EAAE,CAAC,KAAK,EAC3B,aAAa,GAAG,EAAE,EAClB,KAAK,GAAG,KAAK,EACb,eAAe,GAAG,UAAU,GAC7B,GAAG,OAAO,CAAC;IAEZ,MAAM,OAAO,GAAG,IAAI,GAAG,EAA6B,CAAC;IACrD,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,KAAK;QAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAErD,MAAM,QAAQ,GAAsB,KAAK;QACvC,CAAC,CAAC,EAAE,GAAG,cAAc,EAAE,GAAG,KAAK,EAAE;QACjC,CAAC,CAAC,SAAS,CAAC;IACd,MAAM,GAAG,GAAc;QACrB,OAAO;QACP,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS;KAC9D,CAAC;IAEF,0EAA0E;IAC1E,iEAAiE;IACjE,MAAM,OAAO,GAAgB,EAAE,CAAC;IAChC,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;IAEpC,MAAM,WAAW,GAAG,CAAC,YAAoB,EAAE,IAA0B,EAAE,EAAE;QACvE,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAC3C,IAAI,CAAC,QAAQ,EAAE,MAAM;YAAE,OAAO;QAC9B,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;YACpC,IAAI,cAAc,IAAI,KAAK,CAAC,YAAY;gBAAE,SAAS;YACnD,IAAI,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC;gBAAE,SAAS;YACxC,MAAM,KAAK,GAAG,qBAAqB,CACjC,KAAK,EACL,EAAE,EACF,GAAG,EACH,iBAAiB,EACjB,cAAc,CACf,CAAC;YACF,KAAK,MAAM,MAAM,IAAI,KAAK,EAAE,CAAC;gBAC3B,MAAM,YAAY,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;gBAChD,MAAM,OAAO,GACX,eAAe,KAAK,UAAU;oBAC5B,CAAC,CAAC,UAAU,CAAC,YAAY,CAAC;oBAC1B,CAAC,CAAC,YAAY,CAAC;gBACnB,IAAI,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;oBAC3B,+DAA+D;oBAC/D,4DAA4D;oBAC5D,IAAI,OAAO,KAAK,YAAY,EAAE,CAAC;wBAC7B,OAAO,CAAC,IAAI,CACV,8BAA8B,YAAY,MAAM,OAAO,0BAA0B,CAClF,CAAC;oBACJ,CAAC;oBACD,SAAS;gBACX,CAAC;gBACD,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBACvB,OAAO,CAAC,IAAI,CAAC;oBACX,YAAY;oBACZ,MAAM,EAAE,YAAY,CAAC,OAAO,CAAC;oBAC7B,IAAI;oBACJ,IAAI,EAAE,MAAM;oBACZ,WAAW,EACT,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS;iBAClE,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC,CAAC;IAEF,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC5C,IAAI,MAAM,CAAC,YAAY;QAAE,WAAW,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAE3E,mCAAmC;IACnC,MAAM,GAAG,GAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,GAAG,EAAE,EAAE,SAAS,EAAE,CAAC;IAC7D,uEAAuE;IACvE,0EAA0E;IAC1E,kEAAkE;IAClE,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAC3B,KAAK,MAAM,EAAE,IAAI,OAAO,EAAE,CAAC;QACzB,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;QACzB,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,MAAM,SAAS,CAAC,CAAC;QACrC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,MAAM,UAAU,CAAC,CAAC;IACxC,CAAC;IAED,MAAM,IAAI,GAAG,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC;IAC5D,MAAM,UAAU,GAA8B,EAAE,CAAC;IACjD,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,IAAI,SAAS,GAAG,CAAC,CAAC;IAElB,KAAK,MAAM,EAAE,IAAI,OAAO,EAAE,CAAC;QACzB,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,eAAe,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;YAC5C,MAAM,IAAI,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAE,CAAC;YAC1C,MAAM,SAAS,GAAG,eAAe,CAC/B,IAAI,CAAC,UAAU,EACf,GAAG,EACH,CAAC,EACD,QAAQ,EACR,IAAI,GAAG,EAAE,CACV,CAAC;YACF,MAAM,QAAQ,GAAG,iBAAiB,CAChC,EAAE,CAAC,IAAI,EACP,EAAE,CAAC,YAAY,EACf,EAAE,CAAC,IAAI,EACP,SAAS,EACT,UAAU,CACX,CAAC;YACF,MAAM,YAAY,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAE1D,0CAA0C;YAC1C,MAAM,YAAY,GAAwB,EAAE,CAAC;YAC7C,KAAK,MAAM,IAAI,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC;gBAC3B,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;oBAC5B,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,EAAE,CAAE,CAAC;oBAC5D,MAAM,EAAE,OAAO,EAAE,GAAG,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;oBAC5C,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;oBAC5D,MAAM,YAAY,GAAwB,EAAE,CAAC;oBAC7C,IAAI,OAAO;wBAAE,YAAY,CAAC,qBAAqB,CAAC,GAAG,EAAE,CAAC;oBACtD,IAAI,QAAQ;wBAAE,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;oBACjD,MAAM,IAAI,GAAG,UAAU,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;oBACzC,IAAI,IAAI;wBAAE,YAAY,CAAC,0BAA0B,CAAC,GAAG,IAAI,CAAC;oBAC1D,YAAY,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,GAAG;wBACnC,MAAM;wBACN,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM;4BAClC,CAAC,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE;4BAC1B,CAAC,CAAC,EAAE,CAAC;qBACR,CAAC;gBACJ,CAAC;YACH,CAAC;YACD,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,MAAM,SAAS,EAAE;gBACnD,IAAI,EAAE,WAAW;gBACjB,OAAO,EAAE,YAAY;gBACrB,MAAM,EAAE;oBACN,kBAAkB,EAAE,EAAE;oBACtB,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE;wBAClB,KAAK,EAAE,QAAQ;wBACf,aAAa,EAAE,EAAE,CAAC,YAAY;wBAC9B,IAAI,EAAE,EAAE,CAAC,IAAI;qBACd;iBACF;aACF,CAAC,CAAC;YAEH,mEAAmE;YACnE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACzD,MAAM,YAAY,GAChB,CAAC,OAAO,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW,CAAC;gBAC3D,SAAS,KAAK,SAAS;gBACvB,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;YAEvB,IAAI,QAAgB,CAAC;YACrB,IAAI,YAAY,EAAE,CAAC;gBACjB,kEAAkE;gBAClE,QAAQ,GAAG,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,MAAM,UAAU,EAAE;oBAC/C,IAAI,EAAE,WAAW;oBACjB,OAAO,EAAE,qBAAqB,CAC5B,IAAI,EACJ,SAAU,EACV,GAAG,EAAE,CAAC,MAAM,UAAU,CACvB;oBACD,MAAM,EAAE;wBACN,mBAAmB,EAAE,EAAE;wBACvB,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,YAAY;wBACnC,0BAA0B,EAAE,uBAAuB,YAAY,oDAAoD;qBACpH;iBACF,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,qEAAqE;gBACrE,mEAAmE;gBACnE,oBAAoB;gBACpB,MAAM,KAAK,GAAG,iBAAiB,CAC7B,IAAI,EACJ,IAAI,CAAC,UAAU,EACf,SAAS,EACT,GAAG,EAAE,CAAC,MAAM,QAAQ,CACrB,CAAC;gBACF,QAAQ,GAAG,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,MAAM,UAAU,EAAE;oBAC/C,IAAI,EAAE,WAAW;oBACjB,OAAO,EAAE;wBACP,MAAM,EAAE;4BACN,MAAM,EAAE,KAAK,CAAC,MAAM;4BACpB,MAAM,EAAE;gCACN,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,EAAE;gCACpB,qBAAqB,EAAE,EAAE;gCACzB,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gCACpD,0BAA0B,EAAE,uBAAuB,YAAY,KAAK;6BACrE;yBACF;qBACF;oBACD,MAAM,EAAE;wBACN,mBAAmB,EAAE,EAAE;wBACvB,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,YAAY;qBACpC;iBACF,CAAC,CAAC;YACL,CAAC;YAED,sBAAsB;YACtB,MAAM,QAAQ,GAAwB;gBACpC,iBAAiB,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE;aAChE,CAAC;YACF,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;gBACnB,QAAQ,CAAC,0BAA0B,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC;YACxD,CAAC;YACD,IAAI,EAAE,CAAC,IAAI,KAAK,OAAO;gBAAE,QAAQ,CAAC,qBAAqB,CAAC,GAAG,EAAE,CAAC;YAE9D,uEAAuE;YACvE,sEAAsE;YACtE,mEAAmE;YACnE,wCAAwC;YACxC,MAAM,EAAE,GACN,QAAQ,IAAI,YAAY;gBACtB,CAAC,CAAC,mBAAmB,CAAC,QAAQ,EAAE,GAAG,EAAE,IAAI,EAAE,UAAU,CAAC;gBACtD,CAAC,CAAC,SAAS,CAAC;YAChB,IAAI,EAAE,EAAE,CAAC;gBACP,QAAQ,CAAC,sBAAsB,CAAC,GAAG,EAAE,CAAC;gBACtC,SAAS,EAAE,CAAC;YACd,CAAC;YAED,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,EAAE;gBACpC,IAAI,EAAE,WAAW;gBACjB,KAAK,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE;gBAC1B,MAAM,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE;gBAC5B,MAAM,EAAE,QAAQ;aACjB,CAAC,CAAC;YACH,UAAU,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;YAClC,SAAS,EAAE,CAAC;QACd,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,EAAE,CAAC;YACT,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,YAAY,GAAG,EAAE,GAAG,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;IAED,QAAQ,CAAC,GAAG,EAAE,WAAW,EAAE;QACzB,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,cAAc;QACvB,UAAU,EAAE,UAAU;QACtB,MAAM,EAAE;YACN,kBAAkB,EAAE,YAAY;YAChC,GAAG,CAAC,oBAAoB;gBACtB,CAAC,CAAC,EAAE,0BAA0B,EAAE,oBAAoB,EAAE;gBACtD,CAAC,CAAC,EAAE,CAAC;SACR;KACF,CAAC,CAAC;IAEH,OAAO;QACL,KAAK,EAAE;YACL,MAAM,EAAE,KAAK;YACb,QAAQ,EAAE;gBACR,YAAY,EAAE;oBACZ,mEAAmE;oBACnE,EAAE,EAAE,EAAE,iBAAiB,EAAE,SAAS,EAAE,GAAG,EAAE;oBACzC,EAAE,EAAE,EAAE,qBAAqB,EAAE,SAAS,EAAE,GAAG,EAAE;oBAC7C,EAAE,EAAE,EAAE,mBAAmB,EAAE,SAAS,EAAE,GAAG,EAAE;iBAC5C;aACF;YACD,MAAM,EAAE,GAAG,CAAC,MAAM;SACnB;QACD,SAAS;QACT,MAAM;QACN,SAAS;QACT,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,MAAM;KAC3C,CAAC;AACJ,CAAC,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,mBAAmB,GAAG,CAC1B,GAAU,EACV,GAAc,EACd,IAAmB,EACnB,UAA+B,EACM,EAAE;IACvC,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC;IACxB,IAAI,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IAC7B,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC;QAAE,OAAO,SAAS,CAAC;IAE3E,MAAM,MAAM,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;IACxE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAE/D,MAAM,UAAU,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC;IAC5E,MAAM,QAAQ,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC;IAE1E,OAAO;QACL,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,UAAU;QACV,WAAW,EAAE,GAAG,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,SAAS,EAAE;QAC/C,WAAW,EAAE,GAAG,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,WAAW,EAAE;QACjD,wEAAwE;QACxE,KAAK,EAAE,GAAG,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,IAAI,EAAE;QACjC,QAAQ;KACT,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
export interface MemberBase {
|
|
2
|
+
/** Original smithy member name. */
|
|
3
|
+
readonly name: string;
|
|
4
|
+
/** TS-facing name (per `nameFn`, deduplicated within the structure). */
|
|
5
|
+
readonly tsName: string;
|
|
6
|
+
readonly target: string;
|
|
7
|
+
readonly required: boolean;
|
|
8
|
+
readonly doc: string | undefined;
|
|
9
|
+
readonly traits: Record<string, any>;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Base analysis of a structure's members: TS naming (with collision
|
|
13
|
+
* dedup — a clashing name falls back to the original, then a numeric
|
|
14
|
+
* suffix), required-ness, and one-line docs. Binding classification and
|
|
15
|
+
* anything provider-specific layer on top via `traits`.
|
|
16
|
+
*/
|
|
17
|
+
export declare const memberBases: (def: any, nameFn?: (memberName: string) => string) => MemberBase[];
|
|
18
|
+
/**
|
|
19
|
+
* The wire name a bound member serializes under, per the smithy HTTP
|
|
20
|
+
* binding traits: labels use the member name (URI placeholders), query and
|
|
21
|
+
* header use the trait value when it's a non-empty string, everything else
|
|
22
|
+
* uses `jsonName` when present.
|
|
23
|
+
*/
|
|
24
|
+
export declare const smithyWireName: (traits: Record<string, any>, memberName: string, binding: "label" | "query" | "header" | "other") => string;
|
|
25
|
+
//# sourceMappingURL=members.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"members.d.ts","sourceRoot":"","sources":["../../src/codegen/members.ts"],"names":[],"mappings":"AASA,MAAM,WAAW,UAAU;IACzB,mCAAmC;IACnC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,wEAAwE;IACxE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CACtC;AAED;;;;;GAKG;AACH,eAAO,MAAM,WAAW,QACjB,GAAG,WACA,CAAC,UAAU,EAAE,MAAM,KAAK,MAAM,KACrC,UAAU,EAkBZ,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,cAAc,WACjB,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,cACf,MAAM,WACT,OAAO,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,KAC9C,MAWF,CAAC"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Structure-member analysis for the SDK generators (dev-time only).
|
|
3
|
+
*
|
|
4
|
+
* The TS-facing name policy is the provider's (cloudflare camelCases wire
|
|
5
|
+
* names, AWS keeps them) — supplied as `nameFn`. Wire-name resolution from
|
|
6
|
+
* the smithy HTTP binding traits is generic smithy semantics.
|
|
7
|
+
*/
|
|
8
|
+
import { oneLine } from "./naming.js";
|
|
9
|
+
/**
|
|
10
|
+
* Base analysis of a structure's members: TS naming (with collision
|
|
11
|
+
* dedup — a clashing name falls back to the original, then a numeric
|
|
12
|
+
* suffix), required-ness, and one-line docs. Binding classification and
|
|
13
|
+
* anything provider-specific layer on top via `traits`.
|
|
14
|
+
*/
|
|
15
|
+
export const memberBases = (def, nameFn = (n) => n) => {
|
|
16
|
+
const used = new Set();
|
|
17
|
+
return Object.entries(def.members ?? {}).map(([mn, m]) => {
|
|
18
|
+
const traits = m.traits ?? {};
|
|
19
|
+
let tsName = nameFn(mn);
|
|
20
|
+
if (used.has(tsName))
|
|
21
|
+
tsName = mn;
|
|
22
|
+
let k = 2;
|
|
23
|
+
while (used.has(tsName))
|
|
24
|
+
tsName = `${nameFn(mn)}${k++}`;
|
|
25
|
+
used.add(tsName);
|
|
26
|
+
return {
|
|
27
|
+
name: mn,
|
|
28
|
+
tsName,
|
|
29
|
+
target: m.target,
|
|
30
|
+
required: "smithy.api#required" in traits,
|
|
31
|
+
doc: oneLine(traits["smithy.api#documentation"]),
|
|
32
|
+
traits,
|
|
33
|
+
};
|
|
34
|
+
});
|
|
35
|
+
};
|
|
36
|
+
/**
|
|
37
|
+
* The wire name a bound member serializes under, per the smithy HTTP
|
|
38
|
+
* binding traits: labels use the member name (URI placeholders), query and
|
|
39
|
+
* header use the trait value when it's a non-empty string, everything else
|
|
40
|
+
* uses `jsonName` when present.
|
|
41
|
+
*/
|
|
42
|
+
export const smithyWireName = (traits, memberName, binding) => {
|
|
43
|
+
if (binding === "label")
|
|
44
|
+
return memberName;
|
|
45
|
+
if (binding === "query") {
|
|
46
|
+
const v = traits["smithy.api#httpQuery"];
|
|
47
|
+
return typeof v === "string" && v ? v : memberName;
|
|
48
|
+
}
|
|
49
|
+
if (binding === "header") {
|
|
50
|
+
const v = traits["smithy.api#httpHeader"];
|
|
51
|
+
return typeof v === "string" && v ? v : memberName;
|
|
52
|
+
}
|
|
53
|
+
return traits["smithy.api#jsonName"] ?? memberName;
|
|
54
|
+
};
|
|
55
|
+
//# sourceMappingURL=members.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"members.js","sourceRoot":"","sources":["../../src/codegen/members.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAatC;;;;;GAKG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CACzB,GAAQ,EACR,MAAM,GAAmC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EACnC,EAAE;IAChB,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,OAAO,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAgB,EAAE,EAAE;QACtE,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC;QAC9B,IAAI,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC;QACxB,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC;YAAE,MAAM,GAAG,EAAE,CAAC;QAClC,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC;YAAE,MAAM,GAAG,GAAG,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACxD,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACjB,OAAO;YACL,IAAI,EAAE,EAAE;YACR,MAAM;YACN,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,QAAQ,EAAE,qBAAqB,IAAI,MAAM;YACzC,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,0BAA0B,CAAC,CAAC;YAChD,MAAM;SACP,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAC5B,MAA2B,EAC3B,UAAkB,EAClB,OAA+C,EACvC,EAAE;IACV,IAAI,OAAO,KAAK,OAAO;QAAE,OAAO,UAAU,CAAC;IAC3C,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;QACxB,MAAM,CAAC,GAAG,MAAM,CAAC,sBAAsB,CAAC,CAAC;QACzC,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;IACrD,CAAC;IACD,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;QACzB,MAAM,CAAC,GAAG,MAAM,CAAC,uBAAuB,CAAC,CAAC;QAC1C,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;IACrD,CAAC;IACD,OAAO,MAAM,CAAC,qBAAqB,CAAC,IAAI,UAAU,CAAC;AACrD,CAAC,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared naming utilities for the SDK generators (dev-time only — imported by
|
|
3
|
+
* `packages/<sdk>/scripts/generate.ts`, never by runtime code).
|
|
4
|
+
*/
|
|
5
|
+
/** JSON-string-quote a value for emission into generated source. */
|
|
6
|
+
export declare const q: (s: string) => string;
|
|
7
|
+
/** Smithy shape id → local name (`ns#Shape` → `Shape`). */
|
|
8
|
+
export declare const local: (id: string) => string;
|
|
9
|
+
/** Whether a shape id is a smithy prelude shape (`smithy.api#…`). */
|
|
10
|
+
export declare const isPrelude: (id: string) => boolean;
|
|
11
|
+
/** Emit a TS object key: bare when a valid identifier, quoted otherwise. */
|
|
12
|
+
export declare const tsKey: (s: string) => string;
|
|
13
|
+
/** snake_case / kebab-case wire name → camelCase TS-facing name. */
|
|
14
|
+
export declare const camel: (s: string) => string;
|
|
15
|
+
/** Reserved words that can't be `const` names. */
|
|
16
|
+
export declare const RESERVED: Set<string>;
|
|
17
|
+
/**
|
|
18
|
+
* Lower-case the first character for an exported operation name — unless the
|
|
19
|
+
* result is a reserved word, in which case the original casing is kept.
|
|
20
|
+
*/
|
|
21
|
+
export declare const lowerFirst: (s: string) => string;
|
|
22
|
+
/** Upper-case the first character. */
|
|
23
|
+
export declare const upperFirst: (s: string) => string;
|
|
24
|
+
/**
|
|
25
|
+
* Collapse a smithy documentation string to a single safe line for a
|
|
26
|
+
* `/** … */` comment.
|
|
27
|
+
*/
|
|
28
|
+
export declare const oneLine: (s: string | undefined) => string | undefined;
|
|
29
|
+
//# sourceMappingURL=naming.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"naming.d.ts","sourceRoot":"","sources":["../../src/codegen/naming.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,oEAAoE;AACpE,eAAO,MAAM,CAAC,MAAO,MAAM,KAAG,MAA2B,CAAC;AAE1D,2DAA2D;AAC3D,eAAO,MAAM,KAAK,OAAQ,MAAM,KAAG,MAAgC,CAAC;AAEpE,qEAAqE;AACrE,eAAO,MAAM,SAAS,OAAQ,MAAM,KAAG,OAAuC,CAAC;AAI/E,4EAA4E;AAC5E,eAAO,MAAM,KAAK,MAAO,MAAM,KAAG,MAAoC,CAAC;AAEvE,oEAAoE;AACpE,eAAO,MAAM,KAAK,MAAO,MAAM,KAAG,MACmC,CAAC;AAEtE,kDAAkD;AAClD,eAAO,MAAM,QAAQ,aAyCnB,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,UAAU,MAAO,MAAM,KAAG,MAGtC,CAAC;AAEF,sCAAsC;AACtC,eAAO,MAAM,UAAU,MAAO,MAAM,KAAG,MACC,CAAC;AAEzC;;;GAGG;AACH,eAAO,MAAM,OAAO,MAAO,MAAM,GAAG,SAAS,KAAG,MAAM,GAAG,SACe,CAAC"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared naming utilities for the SDK generators (dev-time only — imported by
|
|
3
|
+
* `packages/<sdk>/scripts/generate.ts`, never by runtime code).
|
|
4
|
+
*/
|
|
5
|
+
/** JSON-string-quote a value for emission into generated source. */
|
|
6
|
+
export const q = (s) => JSON.stringify(s);
|
|
7
|
+
/** Smithy shape id → local name (`ns#Shape` → `Shape`). */
|
|
8
|
+
export const local = (id) => id.split("#")[1] ?? id;
|
|
9
|
+
/** Whether a shape id is a smithy prelude shape (`smithy.api#…`). */
|
|
10
|
+
export const isPrelude = (id) => id.startsWith("smithy.api#");
|
|
11
|
+
const IDENT = /^[A-Za-z_$][A-Za-z0-9_$]*$/;
|
|
12
|
+
/** Emit a TS object key: bare when a valid identifier, quoted otherwise. */
|
|
13
|
+
export const tsKey = (s) => (IDENT.test(s) ? s : q(s));
|
|
14
|
+
/** snake_case / kebab-case wire name → camelCase TS-facing name. */
|
|
15
|
+
export const camel = (s) => s.replace(/[_-]+([A-Za-z0-9])/g, (_, c) => c.toUpperCase());
|
|
16
|
+
/** Reserved words that can't be `const` names. */
|
|
17
|
+
export const RESERVED = new Set([
|
|
18
|
+
"break",
|
|
19
|
+
"case",
|
|
20
|
+
"catch",
|
|
21
|
+
"class",
|
|
22
|
+
"const",
|
|
23
|
+
"continue",
|
|
24
|
+
"debugger",
|
|
25
|
+
"default",
|
|
26
|
+
"delete",
|
|
27
|
+
"do",
|
|
28
|
+
"else",
|
|
29
|
+
"enum",
|
|
30
|
+
"export",
|
|
31
|
+
"extends",
|
|
32
|
+
"false",
|
|
33
|
+
"finally",
|
|
34
|
+
"for",
|
|
35
|
+
"function",
|
|
36
|
+
"if",
|
|
37
|
+
"import",
|
|
38
|
+
"in",
|
|
39
|
+
"instanceof",
|
|
40
|
+
"let",
|
|
41
|
+
"new",
|
|
42
|
+
"null",
|
|
43
|
+
"package",
|
|
44
|
+
"return",
|
|
45
|
+
"static",
|
|
46
|
+
"super",
|
|
47
|
+
"switch",
|
|
48
|
+
"this",
|
|
49
|
+
"throw",
|
|
50
|
+
"true",
|
|
51
|
+
"try",
|
|
52
|
+
"typeof",
|
|
53
|
+
"var",
|
|
54
|
+
"void",
|
|
55
|
+
"while",
|
|
56
|
+
"with",
|
|
57
|
+
"yield",
|
|
58
|
+
]);
|
|
59
|
+
/**
|
|
60
|
+
* Lower-case the first character for an exported operation name — unless the
|
|
61
|
+
* result is a reserved word, in which case the original casing is kept.
|
|
62
|
+
*/
|
|
63
|
+
export const lowerFirst = (s) => {
|
|
64
|
+
const lowered = s.charAt(0).toLowerCase() + s.slice(1);
|
|
65
|
+
return RESERVED.has(lowered) ? s : lowered;
|
|
66
|
+
};
|
|
67
|
+
/** Upper-case the first character. */
|
|
68
|
+
export const upperFirst = (s) => s.charAt(0).toUpperCase() + s.slice(1);
|
|
69
|
+
/**
|
|
70
|
+
* Collapse a smithy documentation string to a single safe line for a
|
|
71
|
+
* `/** … */` comment.
|
|
72
|
+
*/
|
|
73
|
+
export const oneLine = (s) => s ? s.replace(/\s+/g, " ").replace(/\*\//g, "*\\/").trim() : undefined;
|
|
74
|
+
//# sourceMappingURL=naming.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"naming.js","sourceRoot":"","sources":["../../src/codegen/naming.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,oEAAoE;AACpE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAS,EAAU,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;AAE1D,2DAA2D;AAC3D,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,EAAU,EAAU,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;AAEpE,qEAAqE;AACrE,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,EAAU,EAAW,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;AAE/E,MAAM,KAAK,GAAG,4BAA4B,CAAC;AAE3C,4EAA4E;AAC5E,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,CAAS,EAAU,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAEvE,oEAAoE;AACpE,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,CAAS,EAAU,EAAE,CACzC,CAAC,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAAC,EAAE,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;AAEtE,kDAAkD;AAClD,MAAM,CAAC,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC;IAC9B,OAAO;IACP,MAAM;IACN,OAAO;IACP,OAAO;IACP,OAAO;IACP,UAAU;IACV,UAAU;IACV,SAAS;IACT,QAAQ;IACR,IAAI;IACJ,MAAM;IACN,MAAM;IACN,QAAQ;IACR,SAAS;IACT,OAAO;IACP,SAAS;IACT,KAAK;IACL,UAAU;IACV,IAAI;IACJ,QAAQ;IACR,IAAI;IACJ,YAAY;IACZ,KAAK;IACL,KAAK;IACL,MAAM;IACN,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,MAAM;IACN,OAAO;IACP,MAAM;IACN,KAAK;IACL,QAAQ;IACR,KAAK;IACL,MAAM;IACN,OAAO;IACP,MAAM;IACN,OAAO;CACR,CAAC,CAAC;AAEH;;;GAGG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,CAAS,EAAU,EAAE;IAC9C,MAAM,OAAO,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACvD,OAAO,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;AAC7C,CAAC,CAAC;AAEF,sCAAsC;AACtC,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,CAAS,EAAU,EAAE,CAC9C,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAEzC;;;GAGG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,CAAqB,EAAsB,EAAE,CACnE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { type OpenApiConvertOptions } from "./openapi.ts";
|
|
2
|
+
export interface OpenApiSpecEntry {
|
|
3
|
+
/** Output model name — written to `<outDir>/<name>.json`. */
|
|
4
|
+
readonly name: string;
|
|
5
|
+
/** Spec file path, relative to `root` (or absolute). */
|
|
6
|
+
readonly specPath: string;
|
|
7
|
+
/**
|
|
8
|
+
* Hook between patching and conversion (e.g. path prefixing, server
|
|
9
|
+
* rewrites). May mutate the spec in place or return a replacement.
|
|
10
|
+
*/
|
|
11
|
+
readonly preprocess?: (spec: any) => unknown | void | Promise<unknown | void>;
|
|
12
|
+
/** Per-spec converter option overrides (merged over the shared options). */
|
|
13
|
+
readonly options?: Partial<OpenApiConvertOptions>;
|
|
14
|
+
}
|
|
15
|
+
export interface RunOpenApiConvertOptions {
|
|
16
|
+
/** Absolute package root (usually `path.resolve(import.meta.dir, "..")`). */
|
|
17
|
+
readonly root: string;
|
|
18
|
+
readonly specs: readonly OpenApiSpecEntry[];
|
|
19
|
+
/**
|
|
20
|
+
* RFC-6902 patch chain root, relative to `root`. Default `"patches"`;
|
|
21
|
+
* `false` disables. Layout: `<patchesDir>/<name>/*.json` when the
|
|
22
|
+
* per-spec directory exists; for single-spec providers a flat
|
|
23
|
+
* `<patchesDir>/*.json` also works. Ops under `/shapes` or `/metadata`
|
|
24
|
+
* apply to the Smithy model after conversion; the rest apply to OpenAPI.
|
|
25
|
+
*/
|
|
26
|
+
readonly patchesDir?: string | false;
|
|
27
|
+
/** Output directory, relative to `root`. Default `".generated-specs"`. */
|
|
28
|
+
readonly outDir?: string;
|
|
29
|
+
/**
|
|
30
|
+
* Spec text parser. Default `JSON.parse` — the seam for YAML specs
|
|
31
|
+
* (`parse: (text) => YAML.parse(text)`).
|
|
32
|
+
*/
|
|
33
|
+
readonly parse?: (text: string, specPath: string) => unknown;
|
|
34
|
+
/** Shared converter options (per-spec `options` merge over these). */
|
|
35
|
+
readonly options: OpenApiConvertOptions;
|
|
36
|
+
/**
|
|
37
|
+
* What to do when a patch JSON pointer does not resolve. Default `"fail"`:
|
|
38
|
+
* silent skip is how a whole patch chain can vanish after an upstream path
|
|
39
|
+
* prefix change. `"warn"` restores the old skip-and-continue behaviour.
|
|
40
|
+
*/
|
|
41
|
+
readonly onStalePatch?: "fail" | "warn";
|
|
42
|
+
/**
|
|
43
|
+
* Run {@link finalizeConvert} on the written models (reference check +
|
|
44
|
+
* finalized marker; naming already happened in the converter). Default
|
|
45
|
+
* true. Pass false when the caller finalizes once after several convert
|
|
46
|
+
* steps (Fly machines + sprites + addons).
|
|
47
|
+
*/
|
|
48
|
+
readonly finalize?: boolean;
|
|
49
|
+
}
|
|
50
|
+
/** Run the OpenAPI→Smithy conversion pipeline (plain async — call from a script). */
|
|
51
|
+
export declare const runOpenApiConvert: (o: RunOpenApiConvertOptions) => Promise<void>;
|
|
52
|
+
//# sourceMappingURL=openapi-cli.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"openapi-cli.d.ts","sourceRoot":"","sources":["../../src/codegen/openapi-cli.ts"],"names":[],"mappings":"AAgBA,OAAO,EAEL,KAAK,qBAAqB,EAC3B,MAAM,cAAc,CAAC;AAStB,MAAM,WAAW,gBAAgB;IAC/B,6DAA6D;IAC7D,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,wDAAwD;IACxD,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B;;;OAGG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,OAAO,GAAG,IAAI,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;IAC9E,4EAA4E;IAC5E,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,CAAC;CACnD;AAED,MAAM,WAAW,wBAAwB;IACvC,6EAA6E;IAC7E,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,SAAS,gBAAgB,EAAE,CAAC;IAC5C;;;;;;OAMG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IACrC,0EAA0E;IAC1E,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB;;;OAGG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC;IAC7D,sEAAsE;IACtE,QAAQ,CAAC,OAAO,EAAE,qBAAqB,CAAC;IACxC;;;;OAIG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxC;;;;;OAKG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;CAC7B;AAWD,qFAAqF;AACrF,eAAO,MAAM,iBAAiB,MACzB,wBAAwB,KAC1B,OAAO,CAAC,IAAI,CA2Fd,CAAC"}
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* OpenAPI → Smithy pipeline helper (dev-time only, provider-agnostic).
|
|
3
|
+
*
|
|
4
|
+
* Owns the spec-side pipeline every OpenAPI-sourced provider shares: read the
|
|
5
|
+
* spec file, apply OpenAPI RFC-6902 ops to the document, convert with
|
|
6
|
+
* {@link convertOpenApiToSmithy} (which owns verbNoun naming), apply Smithy
|
|
7
|
+
* RFC-6902 ops (`/shapes`, `/metadata`) to the model, and write
|
|
8
|
+
* `.generated-specs/<name>.json`. Stale targets fail unless
|
|
9
|
+
* `onStalePatch: "warn"`.
|
|
10
|
+
*
|
|
11
|
+
* A provider's `scripts/convert.ts` is: a `runOpenApiConvert` call.
|
|
12
|
+
* `scripts/generate.ts` compiles the already-patched models and does not
|
|
13
|
+
* apply patches.
|
|
14
|
+
*/
|
|
15
|
+
import * as fs from "node:fs/promises";
|
|
16
|
+
import * as path from "node:path";
|
|
17
|
+
import { convertOpenApiToSmithy, } from "./openapi.js";
|
|
18
|
+
import { applyRfc6902Files, finalizeConvert, isSmithyPatchPath, listRfc6902PatchFiles, } from "./patches.js";
|
|
19
|
+
import { resolveSpecPath } from "./spec-path.js";
|
|
20
|
+
const exists = async (p) => {
|
|
21
|
+
try {
|
|
22
|
+
await fs.access(p);
|
|
23
|
+
return true;
|
|
24
|
+
}
|
|
25
|
+
catch {
|
|
26
|
+
return false;
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
/** Run the OpenAPI→Smithy conversion pipeline (plain async — call from a script). */
|
|
30
|
+
export const runOpenApiConvert = async (o) => {
|
|
31
|
+
const outDir = path.resolve(o.root, o.outDir ?? ".generated-specs");
|
|
32
|
+
const patchRoot = o.patchesDir === false
|
|
33
|
+
? undefined
|
|
34
|
+
: path.resolve(o.root, o.patchesDir ?? "patches");
|
|
35
|
+
const parse = o.parse ?? ((text) => JSON.parse(text));
|
|
36
|
+
const onStalePatch = o.onStalePatch ?? "fail";
|
|
37
|
+
await fs.mkdir(outDir, { recursive: true });
|
|
38
|
+
console.log("🛠️ openapi → smithy");
|
|
39
|
+
console.log(` Output: ${outDir}`);
|
|
40
|
+
for (const entry of o.specs) {
|
|
41
|
+
// Production path by default; `specs/.local` under DISTILLED_SPECS_LOCAL.
|
|
42
|
+
const specPath = resolveSpecPath(o.root, entry.specPath);
|
|
43
|
+
let spec = parse(await fs.readFile(specPath, "utf8"), specPath);
|
|
44
|
+
// ---- RFC-6902: OpenAPI ops before convert, Smithy ops after ----
|
|
45
|
+
let patchDir;
|
|
46
|
+
if (patchRoot && (await exists(patchRoot))) {
|
|
47
|
+
const perSpec = path.join(patchRoot, entry.name);
|
|
48
|
+
if (await exists(perSpec)) {
|
|
49
|
+
patchDir = perSpec;
|
|
50
|
+
}
|
|
51
|
+
else if (o.specs.length === 1) {
|
|
52
|
+
patchDir = patchRoot;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
const patchFiles = patchDir ? await listRfc6902PatchFiles(patchDir) : [];
|
|
56
|
+
const patchLabel = (file) => `${entry.name}/${path.basename(file)}`;
|
|
57
|
+
const openapiPatches = await applyRfc6902Files(spec, patchFiles, {
|
|
58
|
+
onStalePatch,
|
|
59
|
+
include: (op) => !isSmithyPatchPath(op.path),
|
|
60
|
+
label: patchLabel,
|
|
61
|
+
});
|
|
62
|
+
if (openapiPatches.errors.length) {
|
|
63
|
+
for (const b of openapiPatches.errors)
|
|
64
|
+
console.error(`❌ bad patch: ${b}`);
|
|
65
|
+
throw new Error(`${openapiPatches.errors.length} patch operation(s) failed — fix the pointers or delete the patch`);
|
|
66
|
+
}
|
|
67
|
+
// ---- Preprocess hook ----
|
|
68
|
+
if (entry.preprocess) {
|
|
69
|
+
const replaced = await entry.preprocess(spec);
|
|
70
|
+
if (replaced !== undefined)
|
|
71
|
+
spec = replaced;
|
|
72
|
+
}
|
|
73
|
+
// ---- Convert, Smithy patches, write ----
|
|
74
|
+
const model = convertOpenApiToSmithy(spec, {
|
|
75
|
+
...o.options,
|
|
76
|
+
...entry.options,
|
|
77
|
+
});
|
|
78
|
+
const smithyPatches = await applyRfc6902Files(model, patchFiles, {
|
|
79
|
+
onStalePatch,
|
|
80
|
+
include: (op) => isSmithyPatchPath(op.path),
|
|
81
|
+
label: patchLabel,
|
|
82
|
+
});
|
|
83
|
+
if (smithyPatches.errors.length) {
|
|
84
|
+
for (const b of smithyPatches.errors)
|
|
85
|
+
console.error(`❌ bad patch: ${b}`);
|
|
86
|
+
throw new Error(`${smithyPatches.errors.length} Smithy patch operation(s) failed — fix the pointers or delete the patch`);
|
|
87
|
+
}
|
|
88
|
+
const opCount = Object.values(model.shapes).filter((s) => s.type === "operation").length;
|
|
89
|
+
const outPath = path.join(outDir, `${entry.name}.json`);
|
|
90
|
+
await fs.writeFile(outPath, JSON.stringify(model, null, 2) + "\n");
|
|
91
|
+
const staleOps = openapiPatches.stale + smithyPatches.stale;
|
|
92
|
+
console.log(` ✅ ${entry.name}: ${opCount} operations, ${Object.keys(model.shapes).length} shapes` +
|
|
93
|
+
(patchFiles.length
|
|
94
|
+
? ` (${patchFiles.length} patch file(s) applied${staleOps ? `, ${staleOps} stale op(s) skipped` : ""})`
|
|
95
|
+
: ""));
|
|
96
|
+
}
|
|
97
|
+
if (o.finalize !== false) {
|
|
98
|
+
const written = new Set(o.specs.map((s) => s.name));
|
|
99
|
+
await finalizeConvert({
|
|
100
|
+
root: o.root,
|
|
101
|
+
outDir,
|
|
102
|
+
// Patches and naming already ran above.
|
|
103
|
+
patchesDir: false,
|
|
104
|
+
operationNaming: "as-is",
|
|
105
|
+
include: (resource) => written.has(resource),
|
|
106
|
+
});
|
|
107
|
+
}
|
|
108
|
+
};
|
|
109
|
+
//# sourceMappingURL=openapi-cli.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"openapi-cli.js","sourceRoot":"","sources":["../../src/codegen/openapi-cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* OpenAPI → Smithy 2.0 JSON converter (dev-time only, provider-agnostic).
|
|
3
|
+
*
|
|
4
|
+
* Turns a Swagger 2.0 / OAS 3.0 / OAS 3.1 document into the same Smithy JSON
|
|
5
|
+
* model shape the other spec converters produce (`{ smithy: "2.0", metadata,
|
|
6
|
+
* shapes }`), so every OpenAPI-sourced provider flows through the one shared
|
|
7
|
+
* `generateService` compiler. Conversion fidelity follows distilled v0's
|
|
8
|
+
* `generate-openapi.ts` feature matrix:
|
|
9
|
+
*
|
|
10
|
+
* • one operation per (path × get/post/put/patch/delete — plus head/options
|
|
11
|
+
* when a provider opts in via `extraHttpMethods`), deprecated skipped by
|
|
12
|
+
* default; op shape name = PascalCase(operationId), or verbNoun
|
|
13
|
+
* (`Apps_list` → `ListApps`) when {@link OpenApiConvertOptions.operationNaming}
|
|
14
|
+
* is `"verbNoun"`
|
|
15
|
+
* • input `<Op>Request`: path params → `smithy.api#httpLabel` (+required),
|
|
16
|
+
* query params → `smithy.api#httpQuery`, header params →
|
|
17
|
+
* `smithy.api#httpHeader` when `headerParams` is on (dropped otherwise,
|
|
18
|
+
* as cookie params always are),
|
|
19
|
+
* body properties flattened alongside
|
|
20
|
+
* (labels win, then query, then headers, then body);
|
|
21
|
+
* non-object bodies become a sole `body` member with `smithy.api#httpPayload`
|
|
22
|
+
* • `$ref`s become NAMED shapes (`components/schemas/X` → `<ns>#X`), reused
|
|
23
|
+
* across operations; anonymous nested objects synthesize names from the
|
|
24
|
+
* parent + member path
|
|
25
|
+
* • responses: 200 → 201 → 204 precedence (`successStatuses` overrides),
|
|
26
|
+
* `application/json` only; object
|
|
27
|
+
* results become `<Op>Response` structures (a sole `$ref` reuses the named
|
|
28
|
+
* shape); bare array/scalar results wrap in a structure whose single
|
|
29
|
+
* member carries `com.distilled.openapi#rawResponse` (the SdkSpec maps it
|
|
30
|
+
* to a root pipe); no schema → `smithy.api#Unit`; `head` is always
|
|
31
|
+
* `smithy.api#Unit`, whatever content the spec declares
|
|
32
|
+
* • nullability (3.0 `nullable`, 3.1 `type: [..., "null"]`, 2.0
|
|
33
|
+
* `x-nullable`, `oneOf`/`anyOf` null branches) → member-level
|
|
34
|
+
* `com.distilled.openapi#nullable` trait
|
|
35
|
+
* • sensitive string members (x-sensitive or name-pattern match) →
|
|
36
|
+
* `smithy.api#sensitive` on the member (direction-agnostic; the SdkSpec
|
|
37
|
+
* decides the input/output treatment)
|
|
38
|
+
* • per-op non-2xx statuses (outside `defaultErrorStatuses`) → typed error
|
|
39
|
+
* shapes with `smithy.api#error`/`smithy.api#httpError` and
|
|
40
|
+
* `com.distilled.openapi#errorMatchers` status matchers
|
|
41
|
+
* • v0 pagination detection (`pagination.cursor` / `.next` / `.next_page`,
|
|
42
|
+
* `next_token`/`NextToken`/`nextToken`, `next_page` + input alias lists +
|
|
43
|
+
* first top-level array property) → `smithy.api#paginated` on the op
|
|
44
|
+
* (with the non-standard `mode` member the core runtime dispatches on)
|
|
45
|
+
*/
|
|
46
|
+
import { type OperationIdRewrite } from "./rewrite-operation-ids.ts";
|
|
47
|
+
/** Member-level nullability (`S.NullOr` + `| null` via `SdkSpec.nullableTrait`). */
|
|
48
|
+
export declare const NULLABLE_TRAIT = "com.distilled.openapi#nullable";
|
|
49
|
+
/**
|
|
50
|
+
* Marks the sole member of a synthesized response wrapper for bare
|
|
51
|
+
* array/scalar response bodies. SdkSpecs bind it with a `rootPipe`
|
|
52
|
+
* (`T.RawResponseRoot()` from `core/protocol-rest`), so the emitted response
|
|
53
|
+
* type IS the payload type.
|
|
54
|
+
*/
|
|
55
|
+
export declare const RAW_RESPONSE_TRAIT = "com.distilled.openapi#rawResponse";
|
|
56
|
+
/**
|
|
57
|
+
* Wire-matching rules for a generated error class (see
|
|
58
|
+
* `SdkSpec.errorMatchersTrait` + `applyErrorMatchers`). The converter stamps
|
|
59
|
+
* `[{ status }]` from the response status the class was mapped from.
|
|
60
|
+
*/
|
|
61
|
+
export declare const ERROR_MATCHERS_TRAIT = "com.distilled.openapi#errorMatchers";
|
|
62
|
+
/**
|
|
63
|
+
* Non-JSON request body encoding chosen by the v0 content-type precedence
|
|
64
|
+
* (json > form-urlencoded > multipart). Value: `"form-urlencoded"` |
|
|
65
|
+
* `"multipart"`. `"multipart"` is also merged into the `smithy.api#http`
|
|
66
|
+
* trait's `contentType` (which core's `buildRequest` understands);
|
|
67
|
+
* form-urlencoded is left to provider SdkSpecs/protocols.
|
|
68
|
+
*/
|
|
69
|
+
export declare const CONTENT_TYPE_TRAIT = "com.distilled.openapi#contentType";
|
|
70
|
+
/**
|
|
71
|
+
* The `apiVersion` recorded on every operation when
|
|
72
|
+
* {@link OpenApiConvertOptions.apiVersion} is set (Azure ARM style). The
|
|
73
|
+
* matching `api-version` query parameter is dropped from inputs; the
|
|
74
|
+
* provider's protocol injects it at request time.
|
|
75
|
+
*/
|
|
76
|
+
export declare const API_VERSION_TRAIT = "com.distilled.openapi#apiVersion";
|
|
77
|
+
export declare const SENSITIVE_FIELD_PATTERNS: readonly RegExp[];
|
|
78
|
+
export interface OpenApiConvertOptions {
|
|
79
|
+
/** Shape namespace, e.g. `"com.neon.api"`. */
|
|
80
|
+
readonly namespace: string;
|
|
81
|
+
/** Service shape name (PascalCased), e.g. `"Neon"`. */
|
|
82
|
+
readonly serviceName: string;
|
|
83
|
+
/** Service shape `version`. Default: the spec's `info.version`, else "1.0". */
|
|
84
|
+
readonly serviceVersion?: string;
|
|
85
|
+
/**
|
|
86
|
+
* Non-2xx response status → error class name. Statuses in
|
|
87
|
+
* {@link defaultErrorStatuses} never produce per-op errors. Default:
|
|
88
|
+
* `{400: BadRequest, 403: Forbidden, 404: NotFound, 409: Conflict,
|
|
89
|
+
* 422: UnprocessableEntity}` (the v0 default).
|
|
90
|
+
*/
|
|
91
|
+
readonly statusToErrorClass?: Readonly<Record<string, string>>;
|
|
92
|
+
/**
|
|
93
|
+
* Statuses covered by the SDK's common errors, excluded from per-op error
|
|
94
|
+
* lists. Default: `{"401","429","500","503"}` (the v0 default).
|
|
95
|
+
*/
|
|
96
|
+
readonly defaultErrorStatuses?: Iterable<string>;
|
|
97
|
+
/** Skip operations marked `deprecated: true`. Default true. */
|
|
98
|
+
readonly skipDeprecated?: boolean;
|
|
99
|
+
/**
|
|
100
|
+
* HTTP methods to convert IN ADDITION to get/post/put/patch/delete —
|
|
101
|
+
* currently `"head"` and `"options"`. Opt-in, so a provider that models
|
|
102
|
+
* them (Vercel probes cache artifacts and sandbox files with HEAD) gets
|
|
103
|
+
* them without every other provider silently gaining operations.
|
|
104
|
+
*
|
|
105
|
+
* `head` operations always output `smithy.api#Unit` — see the output-shape
|
|
106
|
+
* comment in {@link convertOpenApiToSmithy} for why a declared response
|
|
107
|
+
* body on a HEAD can never arrive.
|
|
108
|
+
*/
|
|
109
|
+
readonly extraHttpMethods?: readonly ("head" | "options")[];
|
|
110
|
+
/**
|
|
111
|
+
* Emit `in: header` parameters as `smithy.api#httpHeader` members instead
|
|
112
|
+
* of dropping them. Opt-in for the same reason as
|
|
113
|
+
* {@link extraHttpMethods}: turning it on adds input members to every
|
|
114
|
+
* operation whose spec declares a header parameter, and most providers
|
|
115
|
+
* declare ones the protocol already sends itself (Accept, Authorization,
|
|
116
|
+
* an API-version pin). Providers whose headers are real per-call inputs
|
|
117
|
+
* — Vercel's `x-Artifact-*` remote-cache metadata, `x-Vercel-Digest` —
|
|
118
|
+
* ask for them.
|
|
119
|
+
*/
|
|
120
|
+
readonly headerParams?: boolean;
|
|
121
|
+
/**
|
|
122
|
+
* Response statuses to read the operation's output shape from, most
|
|
123
|
+
* preferred first. Default `["200", "201", "204"]`. Extend it for an API
|
|
124
|
+
* that answers asynchronous work with a body under another status — Vercel
|
|
125
|
+
* returns `202 Accepted` with a payload from nine endpoints (artifact
|
|
126
|
+
* upload, account deletion, VCR blob/manifest writes), which would
|
|
127
|
+
* otherwise generate as a `void` output.
|
|
128
|
+
*/
|
|
129
|
+
readonly successStatuses?: readonly string[];
|
|
130
|
+
/**
|
|
131
|
+
* Azure-style fixed `api-version`: drops `api-version` query params and
|
|
132
|
+
* stamps {@link API_VERSION_TRAIT} on every operation.
|
|
133
|
+
*/
|
|
134
|
+
readonly apiVersion?: string;
|
|
135
|
+
/**
|
|
136
|
+
* Name patterns marking string members sensitive. Default
|
|
137
|
+
* {@link SENSITIVE_FIELD_PATTERNS}. Pass `[]` to disable name-based
|
|
138
|
+
* detection (explicit `x-sensitive: true` still applies).
|
|
139
|
+
*/
|
|
140
|
+
readonly sensitivePatterns?: readonly RegExp[];
|
|
141
|
+
/**
|
|
142
|
+
* Optional full shape-definition overrides for emitted error classes
|
|
143
|
+
* (keyed by class name) — e.g. custom members. The converter's default is
|
|
144
|
+
* an empty structure with `smithy.api#error` + `smithy.api#httpError` +
|
|
145
|
+
* {@link ERROR_MATCHERS_TRAIT} traits; overrides are merged over it.
|
|
146
|
+
*/
|
|
147
|
+
readonly errorShapes?: Readonly<Record<string, any>>;
|
|
148
|
+
/**
|
|
149
|
+
* How to turn an OpenAPI `operationId` into the Smithy/SDK operation name.
|
|
150
|
+
* This is a convert policy, not a spec patch — the OpenAPI document is
|
|
151
|
+
* left alone.
|
|
152
|
+
*
|
|
153
|
+
* - `"verbNoun"` (default): `Apps_list` / `ConfigsList` / `showContact` →
|
|
154
|
+
* `listApps` / `listConfigs` / `getApp`. Already verb-first ids stay.
|
|
155
|
+
* An operation with no `operationId`, or a mechanical one that only
|
|
156
|
+
* restates the method and path (`get-api-card`, `post_v1_users`), is
|
|
157
|
+
* named from the route instead: `GET /users` → `listUsers`,
|
|
158
|
+
* `GET /users/{id}` → `getUser`, `POST /users/{id}/reset` →
|
|
159
|
+
* `resetUser`.
|
|
160
|
+
* - `"as-is"`: `PascalCase(operationId)` (`Apps_list` → `AppsList`).
|
|
161
|
+
*
|
|
162
|
+
* {@link operationNames} overrides win (lookup by `"METHOD path"`, then
|
|
163
|
+
* operationId).
|
|
164
|
+
*/
|
|
165
|
+
readonly operationNaming?: "as-is" | "verbNoun";
|
|
166
|
+
/**
|
|
167
|
+
* Per-operation name overrides for {@link operationNaming}. Use
|
|
168
|
+
* `"METHOD path"` keys when two methods share an `operationId`.
|
|
169
|
+
*/
|
|
170
|
+
readonly operationNames?: OperationIdRewrite;
|
|
171
|
+
}
|
|
172
|
+
export interface SmithyModel {
|
|
173
|
+
smithy: "2.0";
|
|
174
|
+
metadata: any;
|
|
175
|
+
shapes: Record<string, any>;
|
|
176
|
+
}
|
|
177
|
+
export declare const convertOpenApiToSmithy: (spec: unknown, options: OpenApiConvertOptions) => SmithyModel;
|
|
178
|
+
//# sourceMappingURL=openapi.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"openapi.d.ts","sourceRoot":"","sources":["../../src/codegen/openapi.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AAEH,OAAO,EAML,KAAK,kBAAkB,EACxB,MAAM,4BAA4B,CAAC;AAMpC,oFAAoF;AACpF,eAAO,MAAM,cAAc,mCAAmC,CAAC;AAC/D;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,sCAAsC,CAAC;AACtE;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,wCAAwC,CAAC;AAC1E;;;;;;GAMG;AACH,eAAO,MAAM,kBAAkB,sCAAsC,CAAC;AACtE;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,qCAAqC,CAAC;AAMpE,eAAO,MAAM,wBAAwB,EAAE,SAAS,MAAM,EAoBrD,CAAC;AAMF,MAAM,WAAW,qBAAqB;IACpC,8CAA8C;IAC9C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,uDAAuD;IACvD,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,+EAA+E;IAC/E,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACjC;;;;;OAKG;IACH,QAAQ,CAAC,kBAAkB,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAC/D;;;OAGG;IACH,QAAQ,CAAC,oBAAoB,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IACjD,+DAA+D;IAC/D,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC;IAClC;;;;;;;;;OASG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,SAAS,CAAC,MAAM,GAAG,SAAS,CAAC,EAAE,CAAC;IAC5D;;;;;;;;;OASG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC;IAChC;;;;;;;OAOG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC7C;;;OAGG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B;;;;OAIG;IACH,QAAQ,CAAC,iBAAiB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC/C;;;;;OAKG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;IACrD;;;;;;;;;;;;;;;;OAgBG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,GAAG,UAAU,CAAC;IAChD;;;OAGG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,kBAAkB,CAAC;CAC9C;AAED,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,KAAK,CAAC;IACd,QAAQ,EAAE,GAAG,CAAC;IACd,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC7B;AA6gCD,eAAO,MAAM,sBAAsB,SAC3B,OAAO,WACJ,qBAAqB,KAC7B,WA6aF,CAAC"}
|