@astrale-os/adapter-cloudflare 0.4.10 → 0.5.0-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (128) hide show
  1. package/dist/build/codegen/identity.d.ts.map +1 -0
  2. package/dist/build/codegen/identity.js.map +1 -0
  3. package/dist/build/codegen/merge.d.ts.map +1 -0
  4. package/dist/build/codegen/merge.js.map +1 -0
  5. package/dist/build/codegen/worker.d.ts +12 -0
  6. package/dist/build/codegen/worker.d.ts.map +1 -0
  7. package/dist/build/codegen/worker.js +40 -0
  8. package/dist/build/codegen/worker.js.map +1 -0
  9. package/dist/{codegen → build/codegen}/wrangler.d.ts +6 -3
  10. package/dist/build/codegen/wrangler.d.ts.map +1 -0
  11. package/dist/{codegen → build/codegen}/wrangler.js +29 -10
  12. package/dist/build/codegen/wrangler.js.map +1 -0
  13. package/dist/build/frontend.d.ts +26 -0
  14. package/dist/build/frontend.d.ts.map +1 -0
  15. package/dist/build/frontend.js +263 -0
  16. package/dist/build/frontend.js.map +1 -0
  17. package/dist/{build.js → build/index.d.ts} +5 -4
  18. package/dist/build/index.d.ts.map +1 -0
  19. package/dist/{build.d.ts → build/index.js} +5 -5
  20. package/dist/build/index.js.map +1 -0
  21. package/dist/{parse-output.d.ts → build/parse-output.d.ts} +2 -0
  22. package/dist/build/parse-output.d.ts.map +1 -0
  23. package/dist/{parse-output.js → build/parse-output.js} +5 -0
  24. package/dist/build/parse-output.js.map +1 -0
  25. package/dist/build/prepare.d.ts +18 -0
  26. package/dist/build/prepare.d.ts.map +1 -0
  27. package/dist/build/prepare.js +117 -0
  28. package/dist/build/prepare.js.map +1 -0
  29. package/dist/build/worker.d.ts +15 -0
  30. package/dist/build/worker.d.ts.map +1 -0
  31. package/dist/build/worker.js +21 -0
  32. package/dist/build/worker.js.map +1 -0
  33. package/dist/{wrangler-cli.d.ts → build/wrangler-cli.d.ts} +8 -0
  34. package/dist/build/wrangler-cli.d.ts.map +1 -0
  35. package/dist/{wrangler-cli.js → build/wrangler-cli.js} +28 -4
  36. package/dist/build/wrangler-cli.js.map +1 -0
  37. package/dist/cloudflare.d.ts +21 -24
  38. package/dist/cloudflare.d.ts.map +1 -1
  39. package/dist/cloudflare.js +125 -191
  40. package/dist/cloudflare.js.map +1 -1
  41. package/dist/index.d.ts +4 -4
  42. package/dist/index.d.ts.map +1 -1
  43. package/dist/index.js +3 -3
  44. package/dist/index.js.map +1 -1
  45. package/dist/params.d.ts +13 -16
  46. package/dist/params.d.ts.map +1 -1
  47. package/dist/worker/index.d.ts +48 -0
  48. package/dist/worker/index.d.ts.map +1 -0
  49. package/dist/worker/index.js +186 -0
  50. package/dist/worker/index.js.map +1 -0
  51. package/package.json +13 -5
  52. package/src/build/codegen/worker.ts +53 -0
  53. package/src/{codegen → build/codegen}/wrangler.ts +34 -12
  54. package/src/build/frontend.ts +324 -0
  55. package/src/{build.ts → build/index.ts} +17 -4
  56. package/src/{parse-output.ts → build/parse-output.ts} +6 -0
  57. package/src/build/prepare.ts +161 -0
  58. package/src/build/worker.ts +37 -0
  59. package/src/{wrangler-cli.ts → build/wrangler-cli.ts} +44 -6
  60. package/src/cloudflare.ts +153 -223
  61. package/src/index.ts +4 -4
  62. package/src/params.ts +13 -17
  63. package/src/worker/index.ts +276 -0
  64. package/src/worker/tsconfig.json +10 -0
  65. package/template/astrale.config.ts +7 -7
  66. package/dist/assets-pack.d.ts +0 -8
  67. package/dist/assets-pack.d.ts.map +0 -1
  68. package/dist/assets-pack.js +0 -30
  69. package/dist/assets-pack.js.map +0 -1
  70. package/dist/build.d.ts.map +0 -1
  71. package/dist/build.js.map +0 -1
  72. package/dist/client.d.ts +0 -17
  73. package/dist/client.d.ts.map +0 -1
  74. package/dist/client.js +0 -59
  75. package/dist/client.js.map +0 -1
  76. package/dist/codegen/identity.d.ts.map +0 -1
  77. package/dist/codegen/identity.js.map +0 -1
  78. package/dist/codegen/merge.d.ts.map +0 -1
  79. package/dist/codegen/merge.js.map +0 -1
  80. package/dist/codegen/worker.d.ts +0 -51
  81. package/dist/codegen/worker.d.ts.map +0 -1
  82. package/dist/codegen/worker.js +0 -120
  83. package/dist/codegen/worker.js.map +0 -1
  84. package/dist/codegen/wrangler.d.ts.map +0 -1
  85. package/dist/codegen/wrangler.js.map +0 -1
  86. package/dist/parse-output.d.ts.map +0 -1
  87. package/dist/parse-output.js.map +0 -1
  88. package/dist/wrangler-cli.d.ts.map +0 -1
  89. package/dist/wrangler-cli.js.map +0 -1
  90. package/src/assets-pack.ts +0 -32
  91. package/src/client.ts +0 -89
  92. package/src/codegen/worker.ts +0 -136
  93. package/template/.env.example +0 -9
  94. package/template/.gitignore.template +0 -16
  95. package/template/CLAUDE.md +0 -13
  96. package/template/README.md +0 -47
  97. package/template/client/.gitignore.template +0 -4
  98. package/template/client/__tests__/app.test.tsx +0 -15
  99. package/template/client/components.json +0 -25
  100. package/template/client/index.html +0 -12
  101. package/template/client/package.json +0 -35
  102. package/template/client/src/app.tsx +0 -52
  103. package/template/client/src/components/ui/cn.ts +0 -6
  104. package/template/client/src/main.tsx +0 -9
  105. package/template/client/src/styles.css +0 -78
  106. package/template/client/tsconfig.json +0 -26
  107. package/template/client/vite.config.ts +0 -22
  108. package/template/client/vitest.config.ts +0 -13
  109. package/template/core/README.md +0 -7
  110. package/template/deps.ts +0 -9
  111. package/template/domain.ts +0 -11
  112. package/template/env.ts +0 -8
  113. package/template/icons.ts +0 -4
  114. package/template/integrations/README.md +0 -7
  115. package/template/oxlint.config.ts +0 -1
  116. package/template/package.json +0 -58
  117. package/template/pnpm-workspace.yaml +0 -31
  118. package/template/runtime/index.ts +0 -8
  119. package/template/schema/index.ts +0 -10
  120. package/template/simulation/README.md +0 -12
  121. package/template/tsconfig.json +0 -28
  122. package/template/vitest.config.ts +0 -7
  123. /package/dist/{codegen → build/codegen}/identity.d.ts +0 -0
  124. /package/dist/{codegen → build/codegen}/identity.js +0 -0
  125. /package/dist/{codegen → build/codegen}/merge.d.ts +0 -0
  126. /package/dist/{codegen → build/codegen}/merge.js +0 -0
  127. /package/src/{codegen → build/codegen}/identity.ts +0 -0
  128. /package/src/{codegen → build/codegen}/merge.ts +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"identity.d.ts","sourceRoot":"","sources":["../../../src/build/codegen/identity.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAOH,wBAAsB,cAAc,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAyBtF"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"identity.js","sourceRoot":"","sources":["../../../src/build/codegen/identity.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,MAAM,CAAA;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AACpC,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAEhC,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,UAAkB,EAAE,MAAc;IACrE,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,CAAA;IAC5C,IAAI,UAAU,CAAC,IAAI,CAAC;QAAE,OAAM;IAE5B,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,eAAe,CAAC,OAAO,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAA;IAC5E,MAAM,GAAG,GAAG,CAAC,MAAM,SAAS,CAAC,UAAU,CAAC,CAA4B,CAAA;IACpE,GAAG,CAAC,GAAG,GAAG,OAAO,CAAA;IACjB,GAAG,CAAC,GAAG,GAAG,GAAG,MAAM,MAAM,CAAA;IAEzB,MAAM,KAAK,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IAC5C,MAAM,SAAS,CACb,IAAI,EACJ,kDAAkD,MAAM,mCAAmC;QACzF,8BAA8B,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,aAAa,CAC1E,CAAA;IAED,wEAAwE;IACxE,uEAAuE;IACvE,0EAA0E;IAC1E,2DAA2D;IAC3D,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,gFAAgF,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM;QACnG,kBAAkB,MAAM,+DAA+D;QACvF,gGAAgG,CACnG,CAAA;AACH,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"merge.d.ts","sourceRoot":"","sources":["../../../src/build/codegen/merge.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,eAAe,CAC7B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC/B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAazB"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"merge.js","sourceRoot":"","sources":["../../../src/build/codegen/merge.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ /** Codegen for the Cloudflare module entry owned by the adapter. */
2
+ export interface WorkerCodegenOptions {
3
+ readonly origin: string;
4
+ /** Optional same-zone routing service selected by the adapter environment. */
5
+ readonly router?: {
6
+ readonly binding: string;
7
+ readonly hostSuffix: string;
8
+ readonly minLabels: number;
9
+ };
10
+ }
11
+ export declare function generateWorkerEntry(options: WorkerCodegenOptions): string;
12
+ //# sourceMappingURL=worker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worker.d.ts","sourceRoot":"","sources":["../../../src/build/codegen/worker.ts"],"names":[],"mappings":"AAAA,oEAAoE;AAEpE,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,8EAA8E;IAC9E,QAAQ,CAAC,MAAM,CAAC,EAAE;QAChB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;QACxB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;QAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;KAC3B,CAAA;CACF;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,oBAAoB,GAAG,MAAM,CAwCzE"}
@@ -0,0 +1,40 @@
1
+ /** Codegen for the Cloudflare module entry owned by the adapter. */
2
+ export function generateWorkerEntry(options) {
3
+ const router = options.router;
4
+ const routerPredicate = router === undefined
5
+ ? ''
6
+ : `
7
+ function isInstanceHost(host: string): boolean {
8
+ return host.endsWith('${router.hostSuffix}') && host.split('.').length >= ${router.minLabels}
9
+ }
10
+ `;
11
+ const routeSubrequest = router === undefined
12
+ ? ''
13
+ : `
14
+ routeSubrequest: (url, env) => {
15
+ const labels = url.hostname.split('.')
16
+ if (env.DISPATCHER && labels[1] === 'svc') return env.DISPATCHER.get(labels[0]!)
17
+ if (env.${router.binding} && isInstanceHost(url.hostname)) return env.${router.binding}
18
+ return null
19
+ },`;
20
+ return `// AUTO-GENERATED by @astrale-os/adapter-cloudflare — do not edit.
21
+ // Regenerated by every Astrale Domain build, dev, and deploy operation.
22
+ // Domain origin: ${options.origin}
23
+ import type { CloudflareAdapterBindings } from '@astrale-os/adapter-cloudflare/worker'
24
+ import type { ApplicationEnvironment } from '../implementation.js'
25
+
26
+ import { cloudflareWorkerEntry } from '@astrale-os/adapter-cloudflare/worker'
27
+ import { domain } from '../implementation.js'
28
+ import { PRIVATE_JWK } from './identity.js'
29
+
30
+ type WorkerEnv = CloudflareEnv & ApplicationEnvironment & CloudflareAdapterBindings
31
+ ${routerPredicate}
32
+ export default cloudflareWorkerEntry<WorkerEnv>()({
33
+ definition: domain,
34
+ privateKey: PRIVATE_JWK,
35
+ resolveUrl: (env, requestOrigin) => env.WORKER_URL ?? requestOrigin,
36
+ selfBinding: (env) => env.SELF,${routeSubrequest}
37
+ })
38
+ `;
39
+ }
40
+ //# sourceMappingURL=worker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worker.js","sourceRoot":"","sources":["../../../src/build/codegen/worker.ts"],"names":[],"mappings":"AAAA,oEAAoE;AAYpE,MAAM,UAAU,mBAAmB,CAAC,OAA6B;IAC/D,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAA;IAC7B,MAAM,eAAe,GACnB,MAAM,KAAK,SAAS;QAClB,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC;;0BAEkB,MAAM,CAAC,UAAU,mCAAmC,MAAM,CAAC,SAAS;;CAE7F,CAAA;IACC,MAAM,eAAe,GACnB,MAAM,KAAK,SAAS;QAClB,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC;;;;cAIM,MAAM,CAAC,OAAO,gDAAgD,MAAM,CAAC,OAAO;;KAErF,CAAA;IAEH,OAAO;;oBAEW,OAAO,CAAC,MAAM;;;;;;;;;EAShC,eAAe;;;;;mCAKkB,eAAe;;CAEjD,CAAA;AACD,CAAC"}
@@ -4,7 +4,7 @@
4
4
  * internal adapter detail the dev never sees.
5
5
  *
6
6
  * `main` is `./worker.gen.ts` (same dir). `assets.directory` points at the
7
- * project's Vite build (`CLIENT_DIST_DIR`). A `SELF` service binding enables autobinding
7
+ * adapter's materialized frontend stage. A `SELF` service binding enables autobinding
8
8
  * (a handler calling back into its own domain). Custom-domain deploys attach a
9
9
  * `custom_domain` route; otherwise the Worker ships to `*.workers.dev`.
10
10
  *
@@ -15,8 +15,11 @@ export interface WranglerCodegenOptions {
15
15
  workerName: string;
16
16
  /** Full custom hostname for a routed deploy (e.g. 'crm.acme.dev'). */
17
17
  route?: string;
18
- /** Whether the project has a built client SPA to serve under /ui/*. */
19
- hasClient: boolean;
18
+ /** Exact materialized local frontend; absence means no ASSETS binding. */
19
+ frontend?: {
20
+ readonly directory: string;
21
+ readonly routes: readonly string[];
22
+ };
20
23
  /** Plain (non-secret) vars to bake in. */
21
24
  vars?: Record<string, string>;
22
25
  /** Add the SELF service binding (autobinding). */
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wrangler.d.ts","sourceRoot":"","sources":["../../../src/build/codegen/wrangler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAIH,MAAM,WAAW,sBAAsB;IACrC,UAAU,EAAE,MAAM,CAAA;IAClB,sEAAsE;IACtE,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,0EAA0E;IAC1E,QAAQ,CAAC,EAAE;QACT,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;QAC1B,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAA;KACnC,CAAA;IACD,0CAA0C;IAC1C,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC7B,kDAAkD;IAClD,WAAW,EAAE,OAAO,CAAA;IACpB;;;;OAIG;IACH,MAAM,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAA;IAC7C;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACnC;AAKD,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,sBAAsB,GAAG,MAAM,CAgD3E"}
@@ -4,34 +4,46 @@
4
4
  * internal adapter detail the dev never sees.
5
5
  *
6
6
  * `main` is `./worker.gen.ts` (same dir). `assets.directory` points at the
7
- * project's Vite build (`CLIENT_DIST_DIR`). A `SELF` service binding enables autobinding
7
+ * adapter's materialized frontend stage. A `SELF` service binding enables autobinding
8
8
  * (a handler calling back into its own domain). Custom-domain deploys attach a
9
9
  * `custom_domain` route; otherwise the Worker ships to `*.workers.dev`.
10
10
  *
11
11
  * A dev's `params.wrangler` escape hatch is deep-merged on top of this base
12
12
  * (extra bindings: KV, R2, D1, queues, …) — see `mergeUserConfig`.
13
13
  */
14
- import { CLIENT_DIST_DIR } from '../client';
15
- import { deepMergeConfig } from './merge';
16
- const COMPATIBILITY_DATE = '2026-07-07';
14
+ import { deepMergeConfig } from './merge.js';
15
+ // Wrangler 4.121.0's pinned workerd accepts dates through 2026-08-11.
16
+ const COMPATIBILITY_DATE = '2026-08-11';
17
17
  export function generateWranglerConfig(opts) {
18
18
  const config = {
19
19
  name: opts.workerName,
20
20
  main: './worker.gen.ts',
21
21
  compatibility_date: COMPATIBILITY_DATE,
22
- compatibility_flags: ['nodejs_compat', 'nodejs_compat_populate_process_env'],
22
+ compatibility_flags: ['nodejs_compat'],
23
23
  workers_dev: true,
24
+ version_metadata: { binding: 'ASTRALE_VERSION_METADATA' },
24
25
  observability: { enabled: true },
25
26
  };
26
27
  if (opts.route) {
27
28
  config.routes = [{ pattern: opts.route, custom_domain: true }];
28
29
  }
29
- if (opts.hasClient) {
30
+ if (opts.frontend !== undefined) {
30
31
  config.assets = {
31
- directory: `../${CLIENT_DIST_DIR}`,
32
+ directory: opts.frontend.directory,
32
33
  binding: 'ASSETS',
33
- not_found_handling: 'single-page-application',
34
- run_worker_first: true,
34
+ run_worker_first: [
35
+ '/invoke',
36
+ '/invoke/*',
37
+ '/install',
38
+ '/install/*',
39
+ '/health',
40
+ '/health/*',
41
+ '/meta',
42
+ '/meta/*',
43
+ '/.well-known',
44
+ '/.well-known/*',
45
+ ...opts.frontend.routes,
46
+ ],
35
47
  };
36
48
  }
37
49
  const services = [];
@@ -49,7 +61,14 @@ export function generateWranglerConfig(opts) {
49
61
  return JSON.stringify(merged, null, 2) + '\n';
50
62
  }
51
63
  /** Keys the adapter owns and won't let `params.wrangler` clobber. */
52
- const ADAPTER_OWNED_KEYS = ['name', 'main', 'assets', 'routes'];
64
+ const ADAPTER_OWNED_KEYS = [
65
+ 'name',
66
+ 'main',
67
+ 'assets',
68
+ 'routes',
69
+ 'compatibility_date',
70
+ 'version_metadata',
71
+ ];
53
72
  /**
54
73
  * Deep-merge the dev's raw wrangler overlay over the generated config, after
55
74
  * refusing any attempt to override an adapter-owned key. Throwing (rather than
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wrangler.js","sourceRoot":"","sources":["../../../src/build/codegen/wrangler.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ import type { CompiledFrontendArtifact, DomainDefinition } from '@astrale-os/sdk';
2
+ export declare const FRONTEND_STAGE_DIR = ".astrale/frontend";
3
+ /** Materialize one Domain-owned frontend recipe into an immutable adapter artifact. */
4
+ export declare function buildFrontend(input: {
5
+ readonly definition: DomainDefinition;
6
+ readonly projectDir: string;
7
+ readonly onLog?: (line: string) => void;
8
+ }): Promise<CompiledFrontendArtifact | undefined>;
9
+ export interface FrontendWatchHandle {
10
+ stop(): Promise<void>;
11
+ }
12
+ export interface FrontendWatchSubscription {
13
+ close(): void;
14
+ }
15
+ export type FrontendWatchSubscribe = (root: string, onChange: (path?: string) => void, onError: (error: Error) => void) => FrontendWatchSubscription;
16
+ /** Keep Wrangler's materialized frontend stage current without owning config regeneration. */
17
+ export declare function watchFrontend(input: {
18
+ readonly definition: DomainDefinition;
19
+ readonly projectDir: string;
20
+ readonly onLog?: (line: string) => void;
21
+ readonly onRebuild?: () => void;
22
+ readonly delayMs?: number;
23
+ readonly build?: typeof buildFrontend;
24
+ readonly subscribe?: FrontendWatchSubscribe;
25
+ }): FrontendWatchHandle | undefined;
26
+ //# sourceMappingURL=frontend.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"frontend.d.ts","sourceRoot":"","sources":["../../src/build/frontend.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,gBAAgB,EAAgB,MAAM,iBAAiB,CAAA;AAU/F,eAAO,MAAM,kBAAkB,sBAAsB,CAAA;AAKrD,uFAAuF;AACvF,wBAAsB,aAAa,CAAC,KAAK,EAAE;IACzC,QAAQ,CAAC,UAAU,EAAE,gBAAgB,CAAA;IACrC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;CACxC,GAAG,OAAO,CAAC,wBAAwB,GAAG,SAAS,CAAC,CAgBhD;AAgED,MAAM,WAAW,mBAAmB;IAClC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAA;CACtB;AAED,MAAM,WAAW,yBAAyB;IACxC,KAAK,IAAI,IAAI,CAAA;CACd;AAED,MAAM,MAAM,sBAAsB,GAAG,CACnC,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,CAAC,IAAI,CAAC,EAAE,MAAM,KAAK,IAAI,EACjC,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,KAC5B,yBAAyB,CAAA;AAE9B,8FAA8F;AAC9F,wBAAgB,aAAa,CAAC,KAAK,EAAE;IACnC,QAAQ,CAAC,UAAU,EAAE,gBAAgB,CAAA;IACrC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IACvC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,IAAI,CAAA;IAC/B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,aAAa,CAAA;IACrC,QAAQ,CAAC,SAAS,CAAC,EAAE,sBAAsB,CAAA;CAC5C,GAAG,mBAAmB,GAAG,SAAS,CAwElC"}
@@ -0,0 +1,263 @@
1
+ import { compileFrontend } from '@astrale-os/sdk';
2
+ import { compileReactEntrypoint } from '@astrale-os/sdk/react';
3
+ import { spawn } from 'node:child_process';
4
+ import { watch } from 'node:fs';
5
+ import { mkdir, readFile, readdir, rename, rm, writeFile } from 'node:fs/promises';
6
+ import { dirname, join, resolve, sep } from 'node:path';
7
+ export const FRONTEND_STAGE_DIR = '.astrale/frontend';
8
+ const FRONTEND_REBUILD_DELAY_MS = 75;
9
+ let stageGeneration = 0;
10
+ const buildQueues = new Map();
11
+ /** Materialize one Domain-owned frontend recipe into an immutable adapter artifact. */
12
+ export async function buildFrontend(input) {
13
+ const key = resolve(input.projectDir);
14
+ const previous = buildQueues.get(key) ?? Promise.resolve();
15
+ let release = () => { };
16
+ const current = new Promise((resolveBuild) => {
17
+ release = resolveBuild;
18
+ });
19
+ const tail = previous.then(() => current);
20
+ buildQueues.set(key, tail);
21
+ await previous;
22
+ try {
23
+ return await buildFrontendUnlocked(input);
24
+ }
25
+ finally {
26
+ release();
27
+ if (buildQueues.get(key) === tail)
28
+ buildQueues.delete(key);
29
+ }
30
+ }
31
+ async function buildFrontendUnlocked(input) {
32
+ const artifact = input.definition.frontend;
33
+ if (artifact === undefined)
34
+ return undefined;
35
+ if (artifact.source.kind === 'external') {
36
+ return compileFrontend({
37
+ artifact,
38
+ files: [],
39
+ provenance: { adapter: 'cloudflare', source: 'external' },
40
+ });
41
+ }
42
+ let files;
43
+ if (artifact.source.kind === 'generated') {
44
+ files = artifact.source.files.map((file) => ({
45
+ path: file.path,
46
+ content: typeof file.content === 'string' ? new TextEncoder().encode(file.content) : file.content,
47
+ ...(file.mediaType === undefined ? {} : { mediaType: file.mediaType }),
48
+ }));
49
+ }
50
+ else if (artifact.source.kind === 'prebuilt') {
51
+ files = await readFiles(contained(input.projectDir, artifact.source.directory, 'prebuilt frontend'));
52
+ }
53
+ else {
54
+ if (isReactFrontend(artifact)) {
55
+ const root = contained(input.projectDir, artifact.source.root, 'React frontend root');
56
+ for (const file of compileReactEntrypoint(artifact)) {
57
+ const path = contained(root, file.path, 'generated React entrypoint');
58
+ await mkdir(dirname(path), { recursive: true });
59
+ await writeFile(path, file.content);
60
+ }
61
+ }
62
+ const output = contained(input.projectDir, artifact.source.outDir, 'Vite frontend output');
63
+ await rm(output, { recursive: true, force: true });
64
+ await runBuild(artifact.source.command[0], [
65
+ ...artifact.source.command.slice(1),
66
+ artifact.source.root,
67
+ '--outDir',
68
+ output,
69
+ '--emptyOutDir',
70
+ ], input.projectDir, input.onLog);
71
+ files = await readFiles(output);
72
+ }
73
+ const compiled = await compileFrontend({
74
+ artifact,
75
+ baseHref: 'https://frontend.invalid/',
76
+ files,
77
+ provenance: { adapter: 'cloudflare', source: artifact.source.kind },
78
+ });
79
+ await replaceStage(input.projectDir, compiled.files);
80
+ return compiled;
81
+ }
82
+ /** Keep Wrangler's materialized frontend stage current without owning config regeneration. */
83
+ export function watchFrontend(input) {
84
+ const artifact = input.definition.frontend;
85
+ if (artifact === undefined ||
86
+ artifact.source.kind === 'external' ||
87
+ artifact.source.kind === 'generated')
88
+ return undefined;
89
+ const source = artifact.source;
90
+ const root = source.kind === 'prebuilt'
91
+ ? contained(input.projectDir, source.directory, 'prebuilt frontend watch root')
92
+ : resolve(input.projectDir);
93
+ const build = input.build ?? buildFrontend;
94
+ const subscribe = input.subscribe ?? subscribeToFrontend;
95
+ const delayMs = input.delayMs ?? FRONTEND_REBUILD_DELAY_MS;
96
+ let stopped = false;
97
+ let pending = false;
98
+ let timer;
99
+ let running;
100
+ const drain = async () => {
101
+ if (stopped || running !== undefined || !pending)
102
+ return;
103
+ pending = false;
104
+ running = (async () => {
105
+ try {
106
+ await build({
107
+ definition: input.definition,
108
+ projectDir: input.projectDir,
109
+ onLog: input.onLog,
110
+ });
111
+ if (!stopped)
112
+ input.onRebuild?.();
113
+ }
114
+ catch (error) {
115
+ input.onLog?.(`frontend rebuild failed; keeping the last good stage: ${error instanceof Error ? error.message : String(error)}`);
116
+ }
117
+ })();
118
+ await running;
119
+ running = undefined;
120
+ if (!stopped && pending) {
121
+ timer = setTimeout(() => {
122
+ timer = undefined;
123
+ void drain();
124
+ }, delayMs);
125
+ }
126
+ };
127
+ const schedule = (path) => {
128
+ if (stopped || !rebuildsFor(source, path))
129
+ return;
130
+ pending = true;
131
+ if (timer !== undefined)
132
+ clearTimeout(timer);
133
+ timer = setTimeout(() => {
134
+ timer = undefined;
135
+ void drain();
136
+ }, delayMs);
137
+ };
138
+ const subscription = subscribe(root, schedule, (error) => {
139
+ input.onLog?.(`frontend watcher failed: ${error.message}`);
140
+ });
141
+ return Object.freeze({
142
+ async stop() {
143
+ if (stopped)
144
+ return;
145
+ stopped = true;
146
+ pending = false;
147
+ if (timer !== undefined)
148
+ clearTimeout(timer);
149
+ timer = undefined;
150
+ subscription.close();
151
+ await running;
152
+ },
153
+ });
154
+ }
155
+ function isReactFrontend(artifact) {
156
+ return (artifact !== undefined && artifact.framework === 'react');
157
+ }
158
+ async function readFiles(root, current = '') {
159
+ const directory = join(root, current);
160
+ const entries = await readdir(directory, { withFileTypes: true });
161
+ const files = [];
162
+ for (const entry of entries.sort((left, right) => left.name.localeCompare(right.name))) {
163
+ const path = current === '' ? entry.name : `${current}/${entry.name}`;
164
+ if (entry.isDirectory())
165
+ files.push(...(await readFiles(root, path)));
166
+ else if (entry.isFile())
167
+ files.push({ path, content: new Uint8Array(await readFile(join(root, path))) });
168
+ }
169
+ return files;
170
+ }
171
+ async function replaceStage(projectDir, files) {
172
+ const stage = contained(projectDir, FRONTEND_STAGE_DIR, 'frontend stage');
173
+ const generation = `${process.pid}-${++stageGeneration}`;
174
+ const next = `${stage}.next-${generation}`;
175
+ const previous = `${stage}.previous-${generation}`;
176
+ await rm(next, { recursive: true, force: true });
177
+ await mkdir(next, { recursive: true });
178
+ try {
179
+ for (const file of files) {
180
+ const path = contained(next, file.path, 'staged frontend file');
181
+ await mkdir(dirname(path), { recursive: true });
182
+ await writeFile(path, file.content);
183
+ }
184
+ await rm(previous, { recursive: true, force: true });
185
+ let retainedPrevious = false;
186
+ try {
187
+ await rename(stage, previous);
188
+ retainedPrevious = true;
189
+ }
190
+ catch (error) {
191
+ if (!isMissing(error))
192
+ throw error;
193
+ }
194
+ try {
195
+ await rename(next, stage);
196
+ }
197
+ catch (error) {
198
+ if (retainedPrevious)
199
+ await rename(previous, stage);
200
+ throw error;
201
+ }
202
+ if (retainedPrevious)
203
+ await rm(previous, { recursive: true, force: true });
204
+ }
205
+ finally {
206
+ await rm(next, { recursive: true, force: true });
207
+ }
208
+ }
209
+ function subscribeToFrontend(root, onChange, onError) {
210
+ const watcher = watch(root, { recursive: true }, (_event, path) => {
211
+ onChange(path === null ? undefined : String(path));
212
+ });
213
+ watcher.on('error', onError);
214
+ return watcher;
215
+ }
216
+ function rebuildsFor(source, path) {
217
+ if (path === undefined || source.kind === 'prebuilt')
218
+ return true;
219
+ const normalized = path.replaceAll('\\', '/');
220
+ if (normalized === '.astrale' ||
221
+ normalized.startsWith('.astrale/') ||
222
+ normalized === 'node_modules' ||
223
+ normalized.startsWith('node_modules/') ||
224
+ normalized === '.git' ||
225
+ normalized.startsWith('.git/'))
226
+ return false;
227
+ const outDir = source.outDir.replace(/^\.\//u, '');
228
+ if (normalized === outDir || normalized.startsWith(`${outDir}/`))
229
+ return false;
230
+ const root = source.root.replace(/^\.\//u, '');
231
+ return normalized !== `${root}/astrale.generated.tsx` && normalized !== `${root}/index.html`;
232
+ }
233
+ function isMissing(error) {
234
+ return error instanceof Error && 'code' in error && error.code === 'ENOENT';
235
+ }
236
+ function contained(root, input, label) {
237
+ const base = resolve(root);
238
+ const target = resolve(base, input);
239
+ if (target !== base && !target.startsWith(`${base}${sep}`)) {
240
+ throw new TypeError(`${label} must remain within the Domain project root.`);
241
+ }
242
+ return target;
243
+ }
244
+ function runBuild(command, args, cwd, onLog) {
245
+ return new Promise((resolveBuild, reject) => {
246
+ const child = spawn(command, args, { cwd, stdio: ['ignore', 'pipe', 'pipe'] });
247
+ let output = '';
248
+ const collect = (buffer) => {
249
+ const value = buffer.toString();
250
+ output += value;
251
+ for (const line of value.split('\n'))
252
+ if (line.trim() !== '')
253
+ onLog?.(line);
254
+ };
255
+ child.stdout?.on('data', collect);
256
+ child.stderr?.on('data', collect);
257
+ child.on('error', reject);
258
+ child.on('exit', (code) => code === 0
259
+ ? resolveBuild()
260
+ : reject(new Error(`frontend build failed (code ${code ?? 1}):\n${output.slice(-1500)}`)));
261
+ });
262
+ }
263
+ //# sourceMappingURL=frontend.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"frontend.js","sourceRoot":"","sources":["../../src/build/frontend.ts"],"names":[],"mappings":"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"}
@@ -9,7 +9,8 @@
9
9
  * adapter API (`@astrale-os/adapter-cloudflare`) — it's the seam two adapters
10
10
  * build on so the codegen/bundling/dev logic lives in exactly one place.
11
11
  */
12
- export { logTo, prepare } from './cloudflare';
13
- export { buildClient, CLIENT_DIST_DIR, resolveClientDir } from './client';
14
- export { runWranglerBundle, runWranglerDev } from './wrangler-cli';
15
- //# sourceMappingURL=build.js.map
12
+ export { buildFrontend, FRONTEND_STAGE_DIR, watchFrontend, type FrontendWatchHandle, type FrontendWatchSubscribe, type FrontendWatchSubscription, } from './frontend.js';
13
+ export { logTo, prepare } from './prepare.js';
14
+ export { buildCloudflareWorker, type CloudflareWorkerBuild } from './worker.js';
15
+ export { bulkPutSecrets, runWranglerBundle, runWranglerDeploy, runWranglerDev, runWranglerTypes, } from './wrangler-cli.js';
16
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/build/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EACL,aAAa,EACb,kBAAkB,EAClB,aAAa,EACb,KAAK,mBAAmB,EACxB,KAAK,sBAAsB,EAC3B,KAAK,yBAAyB,GAC/B,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAC7C,OAAO,EAAE,qBAAqB,EAAE,KAAK,qBAAqB,EAAE,MAAM,aAAa,CAAA;AAC/E,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,iBAAiB,EACjB,cAAc,EACd,gBAAgB,GACjB,MAAM,mBAAmB,CAAA"}
@@ -9,8 +9,8 @@
9
9
  * adapter API (`@astrale-os/adapter-cloudflare`) — it's the seam two adapters
10
10
  * build on so the codegen/bundling/dev logic lives in exactly one place.
11
11
  */
12
- export { logTo, prepare } from './cloudflare';
13
- export { buildClient, CLIENT_DIST_DIR, resolveClientDir } from './client';
14
- export type { ClientConfig } from './client';
15
- export { runWranglerBundle, runWranglerDev } from './wrangler-cli';
16
- //# sourceMappingURL=build.d.ts.map
12
+ export { buildFrontend, FRONTEND_STAGE_DIR, watchFrontend, } from './frontend.js';
13
+ export { logTo, prepare } from './prepare.js';
14
+ export { buildCloudflareWorker } from './worker.js';
15
+ export { bulkPutSecrets, runWranglerBundle, runWranglerDeploy, runWranglerDev, runWranglerTypes, } from './wrangler-cli.js';
16
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/build/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EACL,aAAa,EACb,kBAAkB,EAClB,aAAa,GAId,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAC7C,OAAO,EAAE,qBAAqB,EAA8B,MAAM,aAAa,CAAA;AAC/E,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,iBAAiB,EACjB,cAAc,EACd,gBAAgB,GACjB,MAAM,mBAAmB,CAAA"}
@@ -20,6 +20,8 @@ export declare function parseDevReadyUrl(text: string, port: number): string | u
20
20
  * output).
21
21
  */
22
22
  export declare function parseDeployUrl(text: string, route?: string): string | undefined;
23
+ /** Cloudflare version published by the final Wrangler deploy pass. */
24
+ export declare function parseDeployVersionId(text: string): string | undefined;
23
25
  /** Normalize a local dev URL to an origin: `0.0.0.0` → `localhost`, fill the port. */
24
26
  export declare function normalizeLocal(url: string, port: number): string;
25
27
  //# sourceMappingURL=parse-output.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parse-output.d.ts","sourceRoot":"","sources":["../../src/build/parse-output.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAW/E;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAI/E;AAED,sEAAsE;AACtE,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAErE;AAED,sFAAsF;AACtF,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAShE"}
@@ -5,6 +5,7 @@
5
5
  */
6
6
  const READY_RE = /(?:Ready on|Listening on|⎔.*?at)\s+(https?:\/\/[^\s]+)/i;
7
7
  const WORKERS_DEV_RE = /(https:\/\/[^\s]+\.workers\.dev)/i;
8
+ const VERSION_ID_RE = /(?:Current\s+)?Version ID:\s*([a-z0-9_-]+)/i;
8
9
  /**
9
10
  * Local dev URL from `wrangler dev` output, normalized to an origin on the given
10
11
  * port. Returns `undefined` when the output hasn't reported readiness yet.
@@ -36,6 +37,10 @@ export function parseDeployUrl(text, route) {
36
37
  const m = WORKERS_DEV_RE.exec(text);
37
38
  return m ? m[1] : undefined;
38
39
  }
40
+ /** Cloudflare version published by the final Wrangler deploy pass. */
41
+ export function parseDeployVersionId(text) {
42
+ return VERSION_ID_RE.exec(text)?.[1];
43
+ }
39
44
  /** Normalize a local dev URL to an origin: `0.0.0.0` → `localhost`, fill the port. */
40
45
  export function normalizeLocal(url, port) {
41
46
  try {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parse-output.js","sourceRoot":"","sources":["../../src/build/parse-output.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,QAAQ,GAAG,yDAAyD,CAAA;AAC1E,MAAM,cAAc,GAAG,mCAAmC,CAAA;AAC1D,MAAM,aAAa,GAAG,6CAA6C,CAAA;AAEnE;;;;;;;;GAQG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAAY,EAAE,IAAY;IACzD,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACjC,IAAI,KAAK;QAAE,OAAO,cAAc,CAAC,KAAK,CAAC,CAAC,CAAE,EAAE,IAAI,CAAC,CAAA;IACjD,wEAAwE;IACxE,kEAAkE;IAClE,MAAM,eAAe,GAAG,IAAI,MAAM,CAChC,2CAA2C,IAAI,YAAY,EAC3D,GAAG,CACJ,CAAA;IACD,MAAM,CAAC,GAAG,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACpC,OAAO,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAE,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;AACpD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAAC,IAAY,EAAE,KAAc;IACzD,IAAI,KAAK;QAAE,OAAO,WAAW,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,CAAA;IACzD,MAAM,CAAC,GAAG,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACnC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;AAC7B,CAAC;AAED,sEAAsE;AACtE,MAAM,UAAU,oBAAoB,CAAC,IAAY;IAC/C,OAAO,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;AACtC,CAAC;AAED,sFAAsF;AACtF,MAAM,UAAU,cAAc,CAAC,GAAW,EAAE,IAAY;IACtD,IAAI,CAAC;QACH,MAAM,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAA;QACtB,IAAI,CAAC,CAAC,QAAQ,KAAK,SAAS;YAAE,CAAC,CAAC,QAAQ,GAAG,WAAW,CAAA;QACtD,IAAI,CAAC,CAAC,CAAC,IAAI;YAAE,CAAC,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAA;QAClC,OAAO,CAAC,CAAC,MAAM,CAAA;IACjB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,oBAAoB,IAAI,EAAE,CAAA;IACnC,CAAC;AACH,CAAC"}
@@ -0,0 +1,18 @@
1
+ import type { BuildCtx, CompiledFrontendArtifact, DeployCtx, WatchCtx } from '@astrale-os/sdk';
2
+ import type { CloudflareParams } from '../index.js';
3
+ /** Prepare immutable generated Worker sources and Wrangler configuration. */
4
+ export declare function prepare(params: CloudflareParams, ctx: WatchCtx | DeployCtx | BuildCtx, mode: 'build' | 'dev' | 'deploy', frontend?: CompiledFrontendArtifact): Promise<{
5
+ configPath: string;
6
+ fallbackConfigPath?: string;
7
+ port: number;
8
+ workerName: string;
9
+ }>;
10
+ export declare function workerName(params: CloudflareParams, origin: string): string;
11
+ export declare function resolveRouter(ir: CloudflareParams['router']): {
12
+ binding: string;
13
+ service: string;
14
+ hostSuffix: string;
15
+ minLabels: number;
16
+ } | undefined;
17
+ export declare function logTo(): (line: string) => void;
18
+ //# sourceMappingURL=prepare.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prepare.d.ts","sourceRoot":"","sources":["../../src/build/prepare.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,QAAQ,EACR,wBAAwB,EACxB,SAAS,EAET,QAAQ,EACT,MAAM,iBAAiB,CAAA;AAKxB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAUnD,6EAA6E;AAC7E,wBAAsB,OAAO,CAC3B,MAAM,EAAE,gBAAgB,EACxB,GAAG,EAAE,QAAQ,GAAG,SAAS,GAAG,QAAQ,EACpC,IAAI,EAAE,OAAO,GAAG,KAAK,GAAG,QAAQ,EAChC,QAAQ,CAAC,EAAE,wBAAwB,GAClC,OAAO,CAAC;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAAC,CAgFhG;AAoBD,wBAAgB,UAAU,CAAC,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAgB3E;AAED,wBAAgB,aAAa,CAC3B,EAAE,EAAE,gBAAgB,CAAC,QAAQ,CAAC,GAC7B;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CASzF;AAED,wBAAgB,KAAK,IAAI,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAE9C"}