@commercetools/cli-topic-integration-layer 0.5.1 → 0.6.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.
package/README.md CHANGED
@@ -29,12 +29,8 @@ commercetools auth login --project-key <your-project-key>
29
29
  commercetools integration-layer init [DIR] # scaffold an extensions monorepo [offline]
30
30
 
31
31
  commercetools integration-layer extension build # bundle src/extension.ts → dist [offline]
32
- commercetools integration-layer extension serve # local dev server, GraphiQL + hot reload
32
+ commercetools integration-layer extension serve # local dev server; allowlist-gated fetch when online + logged in
33
33
  commercetools integration-layer extension invoke # fire a sample API-Extension callback [offline]
34
- commercetools integration-layer extension validate # local checks + remote compose/breaking gate
35
- commercetools integration-layer extension push # build + validate + upload, then await the load verdict
36
- commercetools integration-layer extension status # the Project's stored bundle
37
- commercetools integration-layer extension delete # remove the extension subgraph
38
34
 
39
35
  commercetools integration-layer explore # local GraphQL explorer over your deployed edge
40
36
  commercetools integration-layer schema fetch # the Project's core-subgraph SDL
@@ -20,6 +20,13 @@ export default class ExtensionServe extends IntegrationLayerCommand {
20
20
  * would double-count the local extension. Overridable via --auth-url / IL_AUTH_URL for
21
21
  * staging zones that don't follow the production host convention.
22
22
  */
23
+ private warnUnrestrictedResolverFetch;
24
+ /**
25
+ * Load the project's extension HTTP allowlist when logged in and the integration layer
26
+ * is reachable. Returns undefined (after a warning) when not logged in or offline.
27
+ */
28
+ private trySandboxFetch;
29
+ private maybeWrapResolvers;
23
30
  private resolveAuthEdge;
24
31
  run(): Promise<void>;
25
32
  /**
@@ -26,8 +26,9 @@ import { loadBundleSource } from "../../../lib/tooling/loadBundle.js";
26
26
  import { composeWithIntegrationLayer } from "../../../lib/tooling/compose.js";
27
27
  import { discoverExtensions, mergeExtensionSubgraph } from "../../../lib/tooling/extensions.js";
28
28
  import { makeGateway, mintAnonymousSession } from "../../../lib/tooling/gateway.js";
29
- import { fetchSubgraphSdl } from "../../../lib/ilClient.js";
29
+ import { fetchSubgraphSdl, getAllowlist } from "../../../lib/ilClient.js";
30
30
  import { IntegrationLayerCommand, authEdgeUrlForRegion, } from "../../../lib/base.js";
31
+ import { createSandboxFetch, installDelegatingFetch, wrapResolverMap, } from "../../../lib/tooling/sandboxFetch.js";
31
32
  /**
32
33
  * Per-project config the runtime injects as `ctx.config`. Locally there is no
33
34
  * Commerce Integration Layer to read it from, so it's sourced from `EXTENSION_CONFIG_<KEY>`
@@ -51,7 +52,7 @@ function devContext() {
51
52
  * does. Throws (with a clean message) if the bundle didn't export a `typeDefs` string
52
53
  * + `resolvers` object — the same shape `validateBundle` checks.
53
54
  */
54
- function buildSubgraph(mod) {
55
+ function buildSubgraph(mod, sandboxFetch) {
55
56
  const { typeDefs, resolvers } = mod;
56
57
  if (typeof typeDefs !== "string" || typeDefs.trim() === "") {
57
58
  throw new Error("bundle must export a non-empty `typeDefs` string");
@@ -59,10 +60,11 @@ function buildSubgraph(mod) {
59
60
  if (resolvers === null || typeof resolvers !== "object") {
60
61
  throw new Error("bundle must export a `resolvers` object");
61
62
  }
63
+ const resolvedResolvers = sandboxFetch ? wrapResolverMap(resolvers, sandboxFetch) : resolvers;
62
64
  // `@apollo/subgraph` types `resolvers` as its internal `GraphQLResolverMap`; the
63
65
  // bundle's exports are `unknown` (validated above), so cast through the function's
64
66
  // own parameter type rather than reaching into its `dist/` internals.
65
- const moduleArg = { typeDefs: parse(typeDefs), resolvers };
67
+ const moduleArg = { typeDefs: parse(typeDefs), resolvers: resolvedResolvers };
66
68
  return { schema: buildSubgraphSchema(moduleArg), typeDefs };
67
69
  }
68
70
  export default class ExtensionServe extends IntegrationLayerCommand {
@@ -74,6 +76,7 @@ export default class ExtensionServe extends IntegrationLayerCommand {
74
76
  ];
75
77
  // Standalone serve needs no login; --compose/--gateway resolve the context lazily
76
78
  // (and then require a logged-in principal) only when they actually reach the IL.
79
+ // The HTTP allowlist is fetched best-effort when logged in and online.
77
80
  authorized = false;
78
81
  static flags = {
79
82
  port: Flags.integer({ char: "p", description: "port to listen on", default: 4000 }),
@@ -108,6 +111,42 @@ export default class ExtensionServe extends IntegrationLayerCommand {
108
111
  * would double-count the local extension. Overridable via --auth-url / IL_AUTH_URL for
109
112
  * staging zones that don't follow the production host convention.
110
113
  */
114
+ warnUnrestrictedResolverFetch(reason) {
115
+ this.logToStderr(`⚠ ${reason} — resolver fetch is UNRESTRICTED locally (production still enforces the project allowlist)`);
116
+ }
117
+ /**
118
+ * Load the project's extension HTTP allowlist when logged in and the integration layer
119
+ * is reachable. Returns undefined (after a warning) when not logged in or offline.
120
+ */
121
+ async trySandboxFetch(flags, ctx) {
122
+ let ilContext = ctx;
123
+ if (!ilContext) {
124
+ try {
125
+ ilContext = await this.resolveIlContext(flags);
126
+ }
127
+ catch (err) {
128
+ this.warnUnrestrictedResolverFetch(err.message);
129
+ return undefined;
130
+ }
131
+ }
132
+ try {
133
+ const { allow } = await getAllowlist(ilContext.baseUrl, ilContext.projectKey, ilContext.token);
134
+ if (allow.length === 0) {
135
+ this.log(`⚠ extension HTTP allowlist for '${ilContext.projectKey}' is empty — resolver fetch can reach only localhost until hosts are added (commercetools integration-layer allowlist add …)`);
136
+ }
137
+ else {
138
+ this.log(`Extension HTTP allowlist for '${ilContext.projectKey}': ${allow.join(", ")}`);
139
+ }
140
+ return createSandboxFetch(() => allow);
141
+ }
142
+ catch (err) {
143
+ this.warnUnrestrictedResolverFetch(`could not load the extension HTTP allowlist (${err.message})`);
144
+ return undefined;
145
+ }
146
+ }
147
+ maybeWrapResolvers(resolvers, sandboxFetch) {
148
+ return sandboxFetch ? wrapResolverMap(resolvers, sandboxFetch) : resolvers;
149
+ }
111
150
  resolveAuthEdge(flags) {
112
151
  const authUrl = flags["auth-url"] ?? authEdgeUrlForRegion(this.requirePrincipal().getRegion());
113
152
  if (!authUrl) {
@@ -122,6 +161,8 @@ export default class ExtensionServe extends IntegrationLayerCommand {
122
161
  await this.runAll(flags);
123
162
  return;
124
163
  }
164
+ const sandboxFetch = await this.trySandboxFetch(flags);
165
+ const restoreFetch = sandboxFetch ? installDelegatingFetch() : undefined;
125
166
  const entry = defaultEntry();
126
167
  const outfile = defaultOutfile();
127
168
  const port = flags.port;
@@ -164,7 +205,7 @@ export default class ExtensionServe extends IntegrationLayerCommand {
164
205
  const warn = (m) => {
165
206
  this.logToStderr(m);
166
207
  };
167
- const ctx = await this.watchAndBuild(entry, outfile, async (built) => {
208
+ const ctx = await this.watchAndBuild(entry, outfile, sandboxFetch, async (built) => {
168
209
  subgraphSchema = built.schema;
169
210
  if (!withIntegrationLayer)
170
211
  return;
@@ -197,6 +238,7 @@ export default class ExtensionServe extends IntegrationLayerCommand {
197
238
  plugins: [useApolloFederation({ gateway: gw })],
198
239
  graphqlEndpoint: "/graphql",
199
240
  landingPage: false,
241
+ maskedErrors: false,
200
242
  });
201
243
  log(`✓ gateway ready at http://localhost:${port}/graphql`);
202
244
  if (prev)
@@ -224,6 +266,7 @@ export default class ExtensionServe extends IntegrationLayerCommand {
224
266
  context: () => devContext(),
225
267
  graphqlEndpoint: subgraphPath,
226
268
  landingPage: false,
269
+ maskedErrors: false,
227
270
  });
228
271
  // The composed, client-facing merged schema — browsable/introspectable, not
229
272
  // executable (no resolvers). Available in both --compose and --gateway.
@@ -284,6 +327,7 @@ export default class ExtensionServe extends IntegrationLayerCommand {
284
327
  lines.push(` watching ${entry} — edit and save to hot-reload\n`);
285
328
  this.log(lines.join("\n"));
286
329
  const shutdown = () => {
330
+ restoreFetch?.();
287
331
  void ctx.dispose();
288
332
  server.close(() => process.exit(0));
289
333
  };
@@ -308,9 +352,12 @@ export default class ExtensionServe extends IntegrationLayerCommand {
308
352
  if (extensions.length === 0) {
309
353
  this.error(`no extensions found under ./${flags["extensions-dir"]}/*/src/extension.ts — run --all from the monorepo root`);
310
354
  }
355
+ const ilContext = await this.resolveIlContext(flags);
356
+ const sandboxFetch = await this.trySandboxFetch(flags, ilContext);
357
+ const restoreFetch = sandboxFetch ? installDelegatingFetch() : undefined;
311
358
  // Reach the Commerce Integration Layer exactly like --gateway: its core-subgraph SDL is the
312
359
  // compose baseline, and an anonymous session authenticates the gateway's calls.
313
- const { baseUrl, projectKey, token } = await this.resolveIlContext(flags);
360
+ const { baseUrl, projectKey, token } = ilContext;
314
361
  // /subgraph is on the extensions edge (baseUrl); the core-subgraph /graphql the gateway
315
362
  // routes to and the /session it mints are on the identity edge, reached via the
316
363
  // identity/auth edge — a different host in the deployed split (see resolveAuthEdge).
@@ -373,6 +420,7 @@ export default class ExtensionServe extends IntegrationLayerCommand {
373
420
  plugins: [useApolloFederation({ gateway: gw })],
374
421
  graphqlEndpoint: "/graphql",
375
422
  landingPage: false,
423
+ maskedErrors: false,
376
424
  });
377
425
  log(`✓ gateway ready at http://localhost:${port}/graphql`);
378
426
  if (prev)
@@ -396,7 +444,10 @@ export default class ExtensionServe extends IntegrationLayerCommand {
396
444
  warn(`✗ extension '${ext.name}' exported no \`resolvers\` object`);
397
445
  return;
398
446
  }
399
- modules.set(ext.name, { typeDefs, resolvers });
447
+ modules.set(ext.name, {
448
+ typeDefs,
449
+ resolvers: this.maybeWrapResolvers(resolvers, sandboxFetch),
450
+ });
400
451
  await recompose();
401
452
  });
402
453
  contexts.push(ctx);
@@ -418,6 +469,7 @@ export default class ExtensionServe extends IntegrationLayerCommand {
418
469
  context: () => devContext(),
419
470
  graphqlEndpoint: "/_extension",
420
471
  landingPage: false,
472
+ maskedErrors: false,
421
473
  });
422
474
  // The browsable (not executable) merged API schema.
423
475
  const composedYoga = createYoga({
@@ -472,6 +524,7 @@ export default class ExtensionServe extends IntegrationLayerCommand {
472
524
  lines.push(` watching ${extensions.length} extension(s) — edit and save to hot-reload\n`);
473
525
  this.log(lines.join("\n"));
474
526
  const shutdown = () => {
527
+ restoreFetch?.();
475
528
  for (const ctx of contexts)
476
529
  void ctx.dispose();
477
530
  server.close(() => process.exit(0));
@@ -486,9 +539,9 @@ export default class ExtensionServe extends IntegrationLayerCommand {
486
539
  * loaded subgraph on every (re)build. Resolves once the initial build has produced
487
540
  * one (so the caller can start serving); later rebuilds fire `onBuild` again.
488
541
  */
489
- async watchAndBuild(entry, outfile, onBuild) {
542
+ async watchAndBuild(entry, outfile, sandboxFetch, onBuild) {
490
543
  return this.watchEntry(entry, outfile, async (mod) => {
491
- await onBuild(buildSubgraph(mod));
544
+ await onBuild(buildSubgraph(mod, sandboxFetch));
492
545
  });
493
546
  }
494
547
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"serve.js","sourceRoot":"","sources":["../../../../src/commands/integration-layer/extension/serve.ts"],"names":[],"mappings":"AAAA,kFAAkF;AAClF,sFAAsF;AACtF,oFAAoF;AACpF,6EAA6E;AAC7E,qFAAqF;AACrF,iEAAiE;AACjE,EAAE;AACF,SAAS;AACT,uEAAuE;AACvE,kGAAkG;AAClG,iFAAiF;AACjF,mFAAmF;AACnF,4FAA4F;AAC5F,sEAAsE;AAEtE,OAAO,EAAE,YAAY,EAA6C,MAAM,WAAW,CAAC;AACpF,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,OAAO,MAAM,cAAc,CAAC;AACnC,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,KAAK,EAAsB,MAAM,SAAS,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,OAAO,IAAI,cAAc,EAAqB,MAAM,SAAS,CAAC;AACvE,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AACtG,OAAO,EAAE,gBAAgB,EAAwB,MAAM,oCAAoC,CAAC;AAC5F,OAAO,EAAE,2BAA2B,EAAsB,MAAM,iCAAiC,CAAC;AAClG,OAAO,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AAChG,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AACpF,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EACL,uBAAuB,EACvB,oBAAoB,GAErB,MAAM,sBAAsB,CAAC;AAQ9B;;;;GAIG;AACH,SAAS,gBAAgB;IACvB,MAAM,MAAM,GAAG,mBAAmB,CAAC;IACnC,MAAM,MAAM,GAA2B,EAAE,CAAC;IAC1C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACvD,IAAI,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YACxD,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,CAAC;QAC3C,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,UAAU;IACjB,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,gBAAgB,EAAE,EAAE,CAAC;AAC/D,CAAC;AAQD;;;;GAIG;AACH,SAAS,aAAa,CAAC,GAAoB;IACzC,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,GAAG,CAAC;IACpC,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QAC3D,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;IACtE,CAAC;IACD,IAAI,SAAS,KAAK,IAAI,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;QACxD,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;IAC7D,CAAC;IACD,iFAAiF;IACjF,mFAAmF;IACnF,sEAAsE;IACtE,MAAM,SAAS,GAAG,EAAE,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE,SAAS,EAEpD,CAAC;IACL,OAAO,EAAE,MAAM,EAAE,mBAAmB,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;AAC9D,CAAC;AAED,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,uBAAuB;IACjE,MAAM,CAAU,WAAW,GACzB,sFAAsF,CAAC;IAEzF,MAAM,CAAU,QAAQ,GAAG;QACzB,qDAAqD;QACrD,+DAA+D;QAC/D,2EAA2E;KAC5E,CAAC;IAEF,kFAAkF;IAClF,iFAAiF;IAC9D,UAAU,GAAG,KAAK,CAAC;IAEtC,MAAM,CAAU,KAAK,GAAG;QACtB,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,mBAAmB,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QACnF,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC;YACrB,WAAW,EAAE,oFAAoF;YACjG,OAAO,EAAE,KAAK;SACf,CAAC;QACF,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC;YACrB,WAAW,EAAE,mEAAmE;YAChF,OAAO,EAAE,KAAK;SACf,CAAC;QACF,GAAG,EAAE,KAAK,CAAC,OAAO,CAAC;YACjB,WAAW,EACT,6KAA6K;YAC/K,OAAO,EAAE,KAAK;SACf,CAAC;QACF,gBAAgB,EAAE,KAAK,CAAC,MAAM,CAAC;YAC7B,WAAW,EAAE,4DAA4D;YACzE,OAAO,EAAE,YAAY;SACtB,CAAC;QACF,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC;YACvB,WAAW,EACT,yLAAyL;YAC3L,GAAG,EAAE,aAAa;YAClB,SAAS,EAAE,4BAA4B;SACxC,CAAC;KACH,CAAC;IAEF;;;;;;;;OAQG;IACK,eAAe,CAAC,KAA8B;QACpD,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,CAAC,IAAI,oBAAoB,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,SAAS,EAAE,CAAC,CAAC;QAC/F,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CACb,8EAA8E;gBAC5E,0EAA0E,CAC7E,CAAC;QACJ,CAAC;QACD,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QACnD,IAAI,KAAK,CAAC,GAAG,EAAE,CAAC;YACd,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACzB,OAAO;QACT,CAAC;QACD,MAAM,KAAK,GAAG,YAAY,EAAE,CAAC;QAC7B,MAAM,OAAO,GAAG,cAAc,EAAE,CAAC;QACjC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;QACxB,kFAAkF;QAClF,sFAAsF;QACtF,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,UAAU,CAAC;QAChE,MAAM,YAAY,GAAG,oBAAoB,IAAI,GAAG,YAAY,EAAE,CAAC;QAE/D,+EAA+E;QAC/E,+EAA+E;QAC/E,MAAM,oBAAoB,GAAG,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC;QAC5D,IAAI,mBAAuC,CAAC;QAC5C,IAAI,0BAA0B,GAAG,EAAE,CAAC;QACpC,IAAI,sBAA0C,CAAC;QAC/C,IAAI,oBAAoB,EAAE,CAAC;YACzB,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;YAC1E,gFAAgF;YAChF,oFAAoF;YACpF,yFAAyF;YACzF,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;YAC5C,0BAA0B,GAAG,GAAG,OAAO,IAAI,kBAAkB,CAAC,UAAU,CAAC,UAAU,CAAC;YACpF,IAAI,CAAC,GAAG,CAAC,gDAAgD,UAAU,UAAU,OAAO,IAAI,CAAC,CAAC;YAC1F,mBAAmB,GAAG,MAAM,gBAAgB,CAAC,OAAO,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;YACzE,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;gBAClB,sBAAsB,GAAG,MAAM,oBAAoB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;gBACzE,IAAI,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC;YAC3D,CAAC;QACH,CAAC;QAED,kFAAkF;QAClF,oEAAoE;QACpE,IAAI,cAAyC,CAAC;QAC9C,IAAI,QAAmC,CAAC;QACxC,kFAAkF;QAClF,+EAA+E;QAC/E,iFAAiF;QACjF,gDAAgD;QAChD,IAAI,WAA8E,CAAC;QACnF,IAAI,oBAAwC,CAAC;QAC7C,IAAI,aAAoD,CAAC;QAEzD,MAAM,GAAG,GAAG,CAAC,CAAS,EAAQ,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC7C,MAAM,IAAI,GAAG,CAAC,CAAS,EAAQ,EAAE;YAC/B,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QACtB,CAAC,CAAC;QAEF,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;YACnE,cAAc,GAAG,KAAK,CAAC,MAAM,CAAC;YAC9B,IAAI,CAAC,oBAAoB;gBAAE,OAAO;YAClC,QAAQ,GAAG,2BAA2B,CAAC,mBAAoB,EAAE,KAAK,CAAC,QAAQ,EAAE;gBAC3E,mBAAmB,EAAE,0BAA0B;gBAC/C,YAAY;aACb,CAAC,CAAC;YACH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,IAAI,CAAC,yDAAyD,CAAC,CAAC;gBAChE,KAAK,MAAM,CAAC,IAAI,QAAQ,CAAC,MAAM;oBAAE,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBAClD,OAAO;YACT,CAAC;YACD,GAAG,CAAC,oFAAoF,IAAI,WAAW,CAAC,CAAC;YACzG,IAAI,CAAC,KAAK,CAAC,OAAO;gBAAE,OAAO;YAE3B,IAAI,QAAQ,CAAC,aAAa,KAAK,oBAAoB,EAAE,CAAC;gBACpD,GAAG,CAAC,0DAA0D,CAAC,CAAC;gBAChE,OAAO;YACT,CAAC;YACD,IAAI,CAAC;gBACH,MAAM,EAAE,GAAG,MAAM,WAAW,CAAC;oBAC3B,aAAa,EAAE,QAAQ,CAAC,aAAa;oBACrC,sBAAsB,EAAE,sBAAuB;iBAChD,CAAC,CAAC;gBACH,MAAM,IAAI,GAAG,aAAa,CAAC;gBAC3B,aAAa,GAAG,EAAE,CAAC;gBACnB,oBAAoB,GAAG,QAAQ,CAAC,aAAa,CAAC;gBAC9C,WAAW,GAAG,UAAU,CAAC;oBACvB,OAAO,EAAE,CAAC,mBAAmB,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;oBAC/C,eAAe,EAAE,UAAU;oBAC3B,WAAW,EAAE,KAAK;iBACnB,CAAC,CAAC;gBACH,GAAG,CAAC,uCAAuC,IAAI,UAAU,CAAC,CAAC;gBAC3D,IAAI,IAAI;oBAAE,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;YAC9B,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,CAAC,2BAA4B,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;YAC5D,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,MAAM,GAAG,CAAC,OAAO,EAAE,CAAC;YACpB,IAAI,CAAC,KAAK,CAAC,mEAAmE,CAAC,CAAC;QAClF,CAAC;QACD,IAAI,oBAAoB,IAAI,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC;YAC1C,IAAI,CACF,KAAK,CAAC,OAAO;gBACX,CAAC,CAAC,wFAAwF;oBACtF,wEAAwE;gBAC5E,CAAC,CAAC,qFAAqF;oBACnF,kEAAkE,CACzE,CAAC;QACJ,CAAC;QAED,iFAAiF;QACjF,8CAA8C;QAC9C,MAAM,YAAY,GAAG,UAAU,CAAC;YAC9B,MAAM,EAAE,GAAG,EAAE,CAAC,cAAe;YAC7B,OAAO,EAAE,GAAG,EAAE,CAAC,UAAU,EAAE;YAC3B,eAAe,EAAE,YAAY;YAC7B,WAAW,EAAE,KAAK;SACnB,CAAC,CAAC;QAEH,4EAA4E;QAC5E,wEAAwE;QACxE,MAAM,YAAY,GAAG,oBAAoB;YACvC,CAAC,CAAC,UAAU,CAAC;gBACT,MAAM,EAAE,GAAG,EAAE;oBACX,IAAI,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC;wBAClB,MAAM,IAAI,KAAK,CACb,oEAAoE,CAAC,QAAQ,EAAE,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC1G,CAAC;oBACJ,CAAC;oBACD,OAAO,QAAQ,CAAC,SAAS,CAAC;gBAC5B,CAAC;gBACD,eAAe,EAAE,WAAW;gBAC5B,WAAW,EAAE,KAAK;aACnB,CAAC;YACJ,CAAC,CAAC,SAAS,CAAC;QAEd,MAAM,MAAM,GAAG,YAAY,CAAC,CAAC,GAAoB,EAAE,GAAmB,EAAE,EAAE;YACxE,MAAM,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAE3C,gEAAgE;YAChE,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK,IAAI,CAAC,IAAI,KAAK,iBAAiB,IAAI,IAAI,KAAK,qBAAqB,CAAC,EAAE,CAAC;gBAC3F,IAAI,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC;oBAClB,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC;oBACrB,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;oBAC5C,GAAG,CAAC,GAAG,CACL,oEAAoE,CAAC,QAAQ,EAAE,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAC5G,CAAC;oBACF,OAAO;gBACT,CAAC;gBACD,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,2BAA2B,CAAC,CAAC;gBAC3D,GAAG,CAAC,GAAG,CAAC,IAAI,KAAK,iBAAiB,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;gBAC/E,OAAO;YACT,CAAC;YAED,IAAI,YAAY,IAAI,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC;gBAAE,OAAO,KAAK,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YACrF,IAAI,KAAK,CAAC,OAAO,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;gBACjD,IAAI,CAAC,WAAW,EAAE,CAAC;oBACjB,MAAM,IAAI,GAAG,QAAQ,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC7D,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC;oBACrB,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;oBAC5C,GAAG,CAAC,GAAG,CACL,wFAAwF,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAC5G,CAAC;oBACF,OAAO;gBACT,CAAC;gBACD,OAAO,KAAK,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YACpC,CAAC;YACD,0DAA0D;YAC1D,OAAO,KAAK,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC;QACH,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;QAEnE,MAAM,IAAI,GAAG,oBAAoB,IAAI,EAAE,CAAC;QACxC,MAAM,KAAK,GAAG,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC;QACtC,KAAK,CAAC,IAAI,CACR,KAAK,CAAC,OAAO;YACX,CAAC,CAAC,MAAM,IAAI,wFAAwF;YACpG,CAAC,CAAC,MAAM,IAAI,iCAAiC,CAChD,CAAC;QACF,IAAI,KAAK,CAAC,OAAO;YAAE,KAAK,CAAC,IAAI,CAAC,MAAM,IAAI,iEAAiE,CAAC,CAAC;QAC3G,IAAI,oBAAoB,EAAE,CAAC;YACzB,KAAK,CAAC,IAAI,CAAC,MAAM,IAAI,6DAA6D,CAAC,CAAC;YACpF,KAAK,CAAC,IAAI,CAAC,MAAM,IAAI,oBAAoB,IAAI,kCAAkC,CAAC,CAAC;QACnF,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,WAAW,IAAI,oCAAoC,CAAC,CAAC;QAChE,KAAK,CAAC,IAAI,CAAC,eAAe,KAAK,kCAAkC,CAAC,CAAC;QACnE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAE3B,MAAM,QAAQ,GAAG,GAAS,EAAE;YAC1B,KAAK,GAAG,CAAC,OAAO,EAAE,CAAC;YACnB,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACtC,CAAC,CAAC;QACF,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC/B,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAEhC,2EAA2E;QAC3E,MAAM,IAAI,OAAO,CAAO,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IACpC,CAAC;IAED;;;;;;;;OAQG;IACK,KAAK,CAAC,MAAM,CAClB,KAAqF;QAErF,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;QACxB,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAC3B,MAAM,UAAU,GAAG,MAAM,kBAAkB,CAAC,IAAI,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC;QAC3E,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,IAAI,CAAC,KAAK,CACR,+BAA+B,KAAK,CAAC,gBAAgB,CAAC,wDAAwD,CAC/G,CAAC;QACJ,CAAC;QAED,4FAA4F;QAC5F,gFAAgF;QAChF,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;QAC1E,wFAAwF;QACxF,gFAAgF;QAChF,qFAAqF;QACrF,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QAC5C,MAAM,0BAA0B,GAAG,GAAG,OAAO,IAAI,kBAAkB,CAAC,UAAU,CAAC,UAAU,CAAC;QAC1F,IAAI,CAAC,GAAG,CAAC,gDAAgD,UAAU,UAAU,OAAO,IAAI,CAAC,CAAC;QAC1F,MAAM,mBAAmB,GAAG,MAAM,gBAAgB,CAAC,OAAO,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;QAC/E,MAAM,sBAAsB,GAAG,MAAM,oBAAoB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QAC/E,IAAI,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC;QAEzD,mFAAmF;QACnF,4FAA4F;QAC5F,MAAM,YAAY,GAAG,oBAAoB,IAAI,aAAa,CAAC;QAE3D,kFAAkF;QAClF,qFAAqF;QACrF,cAAc;QACd,MAAM,OAAO,GAAG,IAAI,GAAG,EAAmD,CAAC;QAC3E,IAAI,cAAyC,CAAC;QAC9C,IAAI,QAAmC,CAAC;QACxC,IAAI,WAA8E,CAAC;QACnF,IAAI,oBAAwC,CAAC;QAC7C,IAAI,aAAoD,CAAC;QAEzD,MAAM,GAAG,GAAG,CAAC,CAAS,EAAQ,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC7C,MAAM,IAAI,GAAG,CAAC,CAAS,EAAQ,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QAEtD,2FAA2F;QAC3F,qFAAqF;QACrF,6EAA6E;QAC7E,mEAAmE;QACnE,MAAM,SAAS,GAAG,KAAK,IAAmB,EAAE;YAC1C,IAAI,OAAO,CAAC,IAAI,GAAG,UAAU,CAAC,MAAM;gBAAE,OAAO;YAC7C,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,sBAAsB,CACnC,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAC1F,CAAC;gBACF,cAAc,GAAG,MAAM,CAAC,MAAM,CAAC;gBAC/B,QAAQ,GAAG,2BAA2B,CAAC,mBAAmB,EAAE,MAAM,CAAC,GAAG,EAAE;oBACtE,mBAAmB,EAAE,0BAA0B;oBAC/C,YAAY;iBACb,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,CAAC,KAAM,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;gBACpC,OAAO;YACT,CAAC;YACD,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,IAAI,CAAC,kEAAkE,CAAC,CAAC;gBACzE,KAAK,MAAM,CAAC,IAAI,QAAQ,CAAC,MAAM;oBAAE,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBAClD,OAAO;YACT,CAAC;YACD,GAAG,CAAC,oFAAoF,IAAI,WAAW,CAAC,CAAC;YACzG,IAAI,QAAQ,CAAC,aAAa,KAAK,oBAAoB,EAAE,CAAC;gBACpD,GAAG,CAAC,0DAA0D,CAAC,CAAC;gBAChE,OAAO;YACT,CAAC;YACD,IAAI,CAAC;gBACH,MAAM,EAAE,GAAG,MAAM,WAAW,CAAC,EAAE,aAAa,EAAE,QAAQ,CAAC,aAAa,EAAE,sBAAsB,EAAE,CAAC,CAAC;gBAChG,MAAM,IAAI,GAAG,aAAa,CAAC;gBAC3B,aAAa,GAAG,EAAE,CAAC;gBACnB,oBAAoB,GAAG,QAAQ,CAAC,aAAa,CAAC;gBAC9C,WAAW,GAAG,UAAU,CAAC;oBACvB,OAAO,EAAE,CAAC,mBAAmB,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;oBAC/C,eAAe,EAAE,UAAU;oBAC3B,WAAW,EAAE,KAAK;iBACnB,CAAC,CAAC;gBACH,GAAG,CAAC,uCAAuC,IAAI,UAAU,CAAC,CAAC;gBAC3D,IAAI,IAAI;oBAAE,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;YAC9B,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,CAAC,2BAA4B,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;YAC5D,CAAC;QACH,CAAC,CAAC;QAEF,iFAAiF;QACjF,sFAAsF;QACtF,MAAM,QAAQ,GAAmB,EAAE,CAAC;QACpC,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;YAC7B,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;gBACtE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,GAAG,CAAC;gBACpC,IAAI,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;oBAC3D,IAAI,CAAC,gBAAgB,GAAG,CAAC,IAAI,mCAAmC,CAAC,CAAC;oBAClE,OAAO;gBACT,CAAC;gBACD,IAAI,SAAS,KAAK,IAAI,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE,CAAC;oBACxD,IAAI,CAAC,gBAAgB,GAAG,CAAC,IAAI,oCAAoC,CAAC,CAAC;oBACnE,OAAO;gBACT,CAAC;gBACD,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC;gBAC/C,MAAM,SAAS,EAAE,CAAC;YACpB,CAAC,CAAC,CAAC;YACH,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACrB,CAAC;QAED,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,KAAK,MAAM,GAAG,IAAI,QAAQ;gBAAE,MAAM,GAAG,CAAC,OAAO,EAAE,CAAC;YAChD,IAAI,CAAC,KAAK,CAAC,6DAA6D,CAAC,CAAC;QAC5E,CAAC;QACD,IAAI,QAAQ,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YAC7B,IAAI,CACF,uFAAuF;gBACrF,wEAAwE,CAC3E,CAAC;QACJ,CAAC;QAED,iFAAiF;QACjF,+EAA+E;QAC/E,sCAAsC;QACtC,MAAM,YAAY,GAAG,UAAU,CAAC;YAC9B,MAAM,EAAE,GAAG,EAAE,CAAC,cAAe;YAC7B,OAAO,EAAE,GAAG,EAAE,CAAC,UAAU,EAAE;YAC3B,eAAe,EAAE,aAAa;YAC9B,WAAW,EAAE,KAAK;SACnB,CAAC,CAAC;QAEH,oDAAoD;QACpD,MAAM,YAAY,GAAG,UAAU,CAAC;YAC9B,MAAM,EAAE,GAAG,EAAE;gBACX,IAAI,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC;oBAClB,MAAM,IAAI,KAAK,CACb,mEAAmE,CAAC,QAAQ,EAAE,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACzG,CAAC;gBACJ,CAAC;gBACD,OAAO,QAAQ,CAAC,SAAS,CAAC;YAC5B,CAAC;YACD,eAAe,EAAE,WAAW;YAC5B,WAAW,EAAE,KAAK;SACnB,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,YAAY,CAAC,CAAC,GAAoB,EAAE,GAAmB,EAAE,EAAE;YACxE,MAAM,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAE3C,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK,IAAI,CAAC,IAAI,KAAK,iBAAiB,IAAI,IAAI,KAAK,qBAAqB,CAAC,EAAE,CAAC;gBAC3F,IAAI,CAAC,QAAQ,EAAE,EAAE,EAAE,CAAC;oBAClB,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC;oBACrB,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;oBAC5C,GAAG,CAAC,GAAG,CACL,mEAAmE,CAAC,QAAQ,EAAE,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAC3G,CAAC;oBACF,OAAO;gBACT,CAAC;gBACD,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,2BAA2B,CAAC,CAAC;gBAC3D,GAAG,CAAC,GAAG,CAAC,IAAI,KAAK,iBAAiB,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;gBAC/E,OAAO;YACT,CAAC;YAED,IAAI,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC;gBAAE,OAAO,KAAK,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YAErE,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;gBAChC,IAAI,CAAC,WAAW,EAAE,CAAC;oBACjB,MAAM,IAAI,GAAG,QAAQ,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC7D,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC;oBACrB,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;oBAC5C,GAAG,CAAC,GAAG,CACL,uFAAuF,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAC3G,CAAC;oBACF,OAAO;gBACT,CAAC;gBACD,OAAO,KAAK,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YACpC,CAAC;YAED,kDAAkD;YAClD,OAAO,KAAK,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC;QACH,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;QAEnE,MAAM,IAAI,GAAG,oBAAoB,IAAI,EAAE,CAAC;QACxC,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvD,MAAM,KAAK,GAAG;YACZ,QAAQ,UAAU,CAAC,MAAM,2CAA2C,KAAK,qCAAqC;SAC/G,CAAC;QACF,KAAK,CAAC,IAAI,CACR,MAAM,IAAI,4FAA4F,CACvG,CAAC;QACF,KAAK,CAAC,IAAI,CAAC,MAAM,IAAI,uEAAuE,CAAC,CAAC;QAC9F,KAAK,CAAC,IAAI,CAAC,MAAM,IAAI,6DAA6D,CAAC,CAAC;QACpF,KAAK,CAAC,IAAI,CAAC,MAAM,IAAI,oBAAoB,IAAI,kCAAkC,CAAC,CAAC;QACjF,KAAK,CAAC,IAAI,CAAC,WAAW,IAAI,oCAAoC,CAAC,CAAC;QAChE,KAAK,CAAC,IAAI,CAAC,eAAe,UAAU,CAAC,MAAM,+CAA+C,CAAC,CAAC;QAC5F,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAE3B,MAAM,QAAQ,GAAG,GAAS,EAAE;YAC1B,KAAK,MAAM,GAAG,IAAI,QAAQ;gBAAE,KAAK,GAAG,CAAC,OAAO,EAAE,CAAC;YAC/C,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACtC,CAAC,CAAC;QACF,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC/B,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAEhC,4EAA4E;QAC5E,MAAM,IAAI,OAAO,CAAO,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IACpC,CAAC;IAED;;;;OAIG;IACK,KAAK,CAAC,aAAa,CACzB,KAAa,EACb,OAAe,EACf,OAAuD;QAEvD,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;YACnD,MAAM,OAAO,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACK,KAAK,CAAC,UAAU,CACtB,KAAa,EACb,OAAe,EACf,QAAwD;QAExD,MAAM,MAAM,GAAG,KAAK,IAAmB,EAAE;YACvC,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAC/C,MAAM,QAAQ,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC;QAC3C,CAAC,CAAC;QAEF,IAAI,cAA2B,CAAC;QAChC,MAAM,UAAU,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;YAC/C,cAAc,GAAG,OAAO,CAAC;QAC3B,CAAC,CAAC,CAAC;QACH,IAAI,YAAY,GAAG,IAAI,CAAC;QACxB,MAAM,GAAG,GAAG,CAAC,CAAS,EAAQ,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAC7C,MAAM,IAAI,GAAG,CAAC,CAAS,EAAQ,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QAEtD,MAAM,GAAG,GAAG,MAAM,cAAc,CAAC;YAC/B,WAAW,EAAE,CAAC,KAAK,CAAC;YACpB,OAAO;YACP,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE,KAAK;YACb,QAAQ,EAAE,SAAS;YACnB,MAAM,EAAE,QAAQ;YAChB,UAAU,EAAE,CAAC,QAAQ,CAAC;YACtB,QAAQ,EAAE,uBAAuB;YACjC,QAAQ,EAAE,QAAQ;YAClB,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,iBAAiB;oBACvB,KAAK,CAAC,KAAK;wBACT,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;4BAC3B,IAAI,CAAC;gCACH,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oCAC7B,IAAI,CAAC,+CAA+C,CAAC,CAAC;oCACtD,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM;wCAAE,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;oCACnD,OAAO;gCACT,CAAC;gCACD,IAAI,CAAC;oCACH,MAAM,MAAM,EAAE,CAAC;oCACf,GAAG,CAAC,KAAK,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,IAAI,KAAK,EAAE,CAAC,CAAC;gCAC3D,CAAC;gCAAC,OAAO,GAAG,EAAE,CAAC;oCACb,IAAI,CAAC,oBAAqB,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;gCACrD,CAAC;4BACH,CAAC;oCAAS,CAAC;gCACT,IAAI,YAAY,EAAE,CAAC;oCACjB,YAAY,GAAG,KAAK,CAAC;oCACrB,cAAc,EAAE,CAAC;gCACnB,CAAC;4BACH,CAAC;wBACH,CAAC,CAAC,CAAC;oBACL,CAAC;iBACF;aACF;SACF,CAAC,CAAC;QAEH,MAAM,GAAG,CAAC,KAAK,EAAE,CAAC;QAClB,MAAM,UAAU,CAAC;QACjB,OAAO,GAAG,CAAC;IACb,CAAC"}
1
+ {"version":3,"file":"serve.js","sourceRoot":"","sources":["../../../../src/commands/integration-layer/extension/serve.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ /** Supplies the current allow patterns, re-read on every sandbox `fetch` call. */
2
+ export type AllowlistProvider = () => readonly string[];
3
+ /**
4
+ * Build the allowlist-gated `fetch` the production sandbox endows. Throws a `TypeError`
5
+ * — like `fetch` on failure — when the destination is not on the allow list.
6
+ */
7
+ export declare function createSandboxFetch(allowlistProvider: AllowlistProvider): typeof fetch;
8
+ /**
9
+ * Route `globalThis.fetch` through the sandbox wrapper when a resolver runs inside
10
+ * {@link wrapResolverMap}. Returns a restore function for shutdown.
11
+ */
12
+ export declare function installDelegatingFetch(): () => void;
13
+ /** Wrap every resolver so its `fetch` calls use the allowlist-gated wrapper. */
14
+ export declare function wrapResolverMap(resolvers: object, sandboxFetch: typeof fetch): object;
@@ -0,0 +1,100 @@
1
+ // Allowlist-gated `fetch` for the local `serve` dev server — the same merchant
2
+ // `allow` list production enforces, plus loopback hosts (localhost/127.0.0.0/8/::1)
3
+ // which are always permitted locally so an extension can reach a service on the
4
+ // dev machine while you iterate (see isLocalhost). Resolvers run through
5
+ // {@link wrapResolverMap} so only extension code sees this wrapper; the gateway
6
+ // and integration-layer client keep the real Node `fetch`.
7
+ import { AsyncLocalStorage } from "node:async_hooks";
8
+ /** Does `hostname` match any allowlist pattern? */
9
+ function hostAllowed(hostname, allowlist) {
10
+ const host = hostname.toLowerCase();
11
+ return allowlist.some((pattern) => {
12
+ if (pattern.startsWith("*.")) {
13
+ const suffix = pattern.slice(2);
14
+ return host === suffix || host.endsWith(`.${suffix}`);
15
+ }
16
+ return host === pattern;
17
+ });
18
+ }
19
+ /**
20
+ * Loopback hosts served by the developer's own machine. `serve` always permits
21
+ * these regardless of the merchant allow list, so an extension can reach a service
22
+ * running locally (a mock, a companion API) while you iterate. This is a
23
+ * LOCAL-DEV-ONLY affordance: the deployed sandbox enforces only the real allow
24
+ * list, and localhost is never on it — so nothing here loosens production.
25
+ * Covers `localhost` (and any `*.localhost` subdomain), the IPv4 loopback range
26
+ * `127.0.0.0/8`, and IPv6 `::1` (brackets stripped as the WHATWG URL keeps them).
27
+ */
28
+ function isLocalhost(hostname) {
29
+ const host = hostname.toLowerCase().replace(/^\[|\]$/g, "");
30
+ if (host === "localhost" || host.endsWith(".localhost"))
31
+ return true;
32
+ if (host === "::1")
33
+ return true;
34
+ return /^127\.\d{1,3}\.\d{1,3}\.\d{1,3}$/.test(host);
35
+ }
36
+ function requestUrl(input) {
37
+ if (typeof input === "string")
38
+ return input;
39
+ if (input instanceof URL)
40
+ return input.href;
41
+ const url = input.url;
42
+ return typeof url === "string" ? url : String(input);
43
+ }
44
+ /**
45
+ * Build the allowlist-gated `fetch` the production sandbox endows. Throws a `TypeError`
46
+ * — like `fetch` on failure — when the destination is not on the allow list.
47
+ */
48
+ export function createSandboxFetch(allowlistProvider) {
49
+ const realFetch = globalThis.fetch.bind(globalThis);
50
+ const sandboxFetch = async (input, init) => {
51
+ let parsed;
52
+ try {
53
+ parsed = new URL(requestUrl(input));
54
+ }
55
+ catch {
56
+ throw new TypeError(`fetch: invalid URL "${requestUrl(input)}"`);
57
+ }
58
+ if (parsed.protocol !== "https:" && parsed.protocol !== "http:") {
59
+ throw new TypeError(`fetch: unsupported protocol "${parsed.protocol}"`);
60
+ }
61
+ const host = parsed.hostname;
62
+ // Loopback is always reachable locally (see isLocalhost); everything else must
63
+ // be on the merchant allow list, exactly as production enforces.
64
+ if (!isLocalhost(host) && !hostAllowed(host, allowlistProvider())) {
65
+ throw new TypeError(`fetch: host "${host}" is not in the extension HTTP allowlist`);
66
+ }
67
+ return realFetch(input, { ...init, redirect: "manual" });
68
+ };
69
+ return sandboxFetch;
70
+ }
71
+ const sandboxFetchStorage = new AsyncLocalStorage();
72
+ /**
73
+ * Route `globalThis.fetch` through the sandbox wrapper when a resolver runs inside
74
+ * {@link wrapResolverMap}. Returns a restore function for shutdown.
75
+ */
76
+ export function installDelegatingFetch() {
77
+ const realFetch = globalThis.fetch.bind(globalThis);
78
+ globalThis.fetch = ((input, init) => {
79
+ const fn = sandboxFetchStorage.getStore() ?? realFetch;
80
+ return fn(input, init);
81
+ });
82
+ return () => {
83
+ globalThis.fetch = realFetch;
84
+ };
85
+ }
86
+ /** Wrap every resolver so its `fetch` calls use the allowlist-gated wrapper. */
87
+ export function wrapResolverMap(resolvers, sandboxFetch) {
88
+ const wrap = (value) => {
89
+ if (typeof value === "function") {
90
+ const fn = value;
91
+ return (...args) => sandboxFetchStorage.run(sandboxFetch, () => fn(...args));
92
+ }
93
+ if (value !== null && typeof value === "object") {
94
+ return Object.fromEntries(Object.entries(value).map(([k, v]) => [k, wrap(v)]));
95
+ }
96
+ return value;
97
+ };
98
+ return wrap(resolvers);
99
+ }
100
+ //# sourceMappingURL=sandboxFetch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sandboxFetch.js","sourceRoot":"","sources":["../../../src/lib/tooling/sandboxFetch.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,8 +1,13 @@
1
1
  {
2
2
  "name": "@commercetools/cli-topic-integration-layer",
3
- "version": "0.5.1",
3
+ "version": "0.6.0",
4
4
  "description": "commercetools CLI plugin: integration-layer topic",
5
5
  "license": "MIT",
6
+ "repository": {
7
+ "type": "git",
8
+ "url": "git+https://github.com/commercetools/commerce-integration-layer-extensions.git",
9
+ "directory": "packages/cli-topic-integration-layer"
10
+ },
6
11
  "type": "module",
7
12
  "main": "./dist/index.js",
8
13
  "files": [