@notionx/create-notionx-app 1.0.0 → 2.0.1

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 (63) hide show
  1. package/dist/cli-notionx.js +25 -1
  2. package/dist/cli-notionx.js.map +1 -1
  3. package/dist/locale-add/persist.js +113 -0
  4. package/dist/locale-add/persist.js.map +1 -0
  5. package/dist/locale-add/plan.js +202 -21
  6. package/dist/locale-add/plan.js.map +1 -1
  7. package/dist/metadata.js.map +1 -1
  8. package/dist/notion-translation-sources/apply.js +11 -26
  9. package/dist/notion-translation-sources/apply.js.map +1 -1
  10. package/dist/notion-translation-sources/plan.js +25 -0
  11. package/dist/notion-translation-sources/plan.js.map +1 -1
  12. package/dist/provision/__tests__/translation-properties.test.js +86 -0
  13. package/dist/provision/__tests__/translation-properties.test.js.map +1 -0
  14. package/dist/provision/credentials.js +67 -0
  15. package/dist/provision/credentials.js.map +1 -0
  16. package/dist/provision/index.js +188 -11
  17. package/dist/provision/index.js.map +1 -1
  18. package/dist/provision/notion.js +422 -269
  19. package/dist/provision/notion.js.map +1 -1
  20. package/dist/provision/notion.test.js +143 -116
  21. package/dist/provision/notion.test.js.map +1 -1
  22. package/dist/provision/wire.js +16 -0
  23. package/dist/provision/wire.js.map +1 -1
  24. package/dist/registry/install.test.js +2 -0
  25. package/dist/registry/install.test.js.map +1 -1
  26. package/dist/registry/project-meta.js +4 -2
  27. package/dist/registry/project-meta.js.map +1 -1
  28. package/dist/registry/registry-types.js.map +1 -1
  29. package/dist/registry/render-content-source-files.js +1 -0
  30. package/dist/registry/render-content-source-files.js.map +1 -1
  31. package/dist/registry/render-multi-source.js +72 -28
  32. package/dist/registry/render-multi-source.js.map +1 -1
  33. package/dist/registry/update.test.js +2 -0
  34. package/dist/registry/update.test.js.map +1 -1
  35. package/dist/render.js +2 -0
  36. package/dist/render.js.map +1 -1
  37. package/dist/render.test.js +18 -12
  38. package/dist/render.test.js.map +1 -1
  39. package/dist/templates/.dev.vars.example.tmpl +4 -0
  40. package/dist/templates/__tests__/middleware-integration.test.ts +58 -0
  41. package/dist/templates/app/{{contentSourceListPath}}/[slug]/page.tsx.tmpl +8 -4
  42. package/dist/templates/app/{{contentSourceListPath}}/page.tsx.tmpl +8 -4
  43. package/dist/templates/components/page-blocks/feature-grid-block.tsx.tmpl +4 -56
  44. package/dist/templates/components/page-blocks/hero-block.tsx.tmpl +6 -67
  45. package/dist/templates/components/page-blocks/latest-posts-block.tsx.tmpl +11 -19
  46. package/dist/templates/components/page-blocks/story-block.tsx.tmpl +4 -62
  47. package/dist/templates/components/page-blocks.tsx.tmpl +5 -5
  48. package/dist/templates/components/site/site-header.tsx.tmpl +5 -3
  49. package/dist/templates/env.d.ts.tmpl +8 -0
  50. package/dist/templates/lib/blocks/translations.ts.tmpl +22 -1
  51. package/dist/templates/lib/blog/translations.ts.tmpl +19 -3
  52. package/dist/templates/lib/content/models.ts.tmpl +6 -0
  53. package/dist/templates/lib/locale-contract/index.ts.tmpl +1 -1
  54. package/dist/templates/lib/pages/source.ts.tmpl +140 -335
  55. package/dist/templates/lib/pages/translations.ts.tmpl +23 -1
  56. package/dist/templates/lib/search/config.ts.tmpl +17 -4
  57. package/dist/templates/lib/site/request-env.ts.tmpl +21 -3
  58. package/dist/templates/lib/site/settings.ts.tmpl +99 -179
  59. package/dist/templates/lib/site/translations.ts.tmpl +34 -11
  60. package/dist/templates/middleware.ts.tmpl +56 -0
  61. package/dist/templates/worker/index.ts.tmpl +14 -5
  62. package/dist/templates/wrangler.jsonc.tmpl +5 -1
  63. package/package.json +1 -1
@@ -31,6 +31,7 @@ export async function main(argv = process.argv.slice(2)) {
31
31
  const { buildLocaleAddPlan } = await import("./locale-add/plan.js");
32
32
  const { runLocaleAddPlan } = await import("./locale-add/apply.js");
33
33
  const { logLocaleAddDryRun, logLocaleAddSummary, } = await import("./locale-add/format.js");
34
+ const { resolveNotionCredentials } = await import("./provision/credentials.js");
34
35
  const registry = await loadRegistry(process.cwd());
35
36
  const validation = validateLocaleAdd({
36
37
  locale: localeArg,
@@ -40,7 +41,19 @@ export async function main(argv = process.argv.slice(2)) {
40
41
  if (!validation.ok) {
41
42
  throw new Error(validation.reason);
42
43
  }
43
- const plan = buildLocaleAddPlan({
44
+ let notionApiToken;
45
+ let notionParentPageId;
46
+ if (withNotion) {
47
+ const creds = await resolveNotionCredentials({ nonInteractive: false });
48
+ if (creds) {
49
+ notionApiToken = creds.apiToken;
50
+ notionParentPageId = creds.parentPageId;
51
+ }
52
+ else {
53
+ p.log.warn("Could not resolve Notion credentials. Translation sources will not be created.");
54
+ }
55
+ }
56
+ const plan = await buildLocaleAddPlan({
44
57
  projectDir: process.cwd(),
45
58
  // `RegistryManifest` (v2) is a superset of `ScaffoldMetadata`
46
59
  // (v1) for the fields `buildLocaleAddPlan` actually reads
@@ -50,6 +63,8 @@ export async function main(argv = process.argv.slice(2)) {
50
63
  locale: validation.locale,
51
64
  withNotion,
52
65
  copyFrom,
66
+ notionApiToken,
67
+ notionParentPageId,
53
68
  });
54
69
  logLocaleAddDryRun(plan);
55
70
  if (!apply) {
@@ -58,6 +73,15 @@ export async function main(argv = process.argv.slice(2)) {
58
73
  }
59
74
  const summary = await runLocaleAddPlan(plan);
60
75
  logLocaleAddSummary(summary);
76
+ // Persist created translation source ids to registry.json so
77
+ // future `locale add` / `notionx update` / `notionx doctor` can
78
+ // find and reuse them. Also patch wrangler.jsonc and .dev.vars
79
+ // so the worker can bind to them at runtime.
80
+ if (Object.keys(summary.translationSourceIds).length > 0) {
81
+ const { persistTranslationSourcesToRegistry, updateEnvFilesForTranslationSources, } = await import("./locale-add/persist.js");
82
+ await persistTranslationSourcesToRegistry(process.cwd(), summary.translationSourceIds);
83
+ await updateEnvFilesForTranslationSources(process.cwd(), summary.translationSourceIds);
84
+ }
61
85
  return;
62
86
  }
63
87
  if (command === "locale" && subcommand === "list") {
@@ -1 +1 @@
1
- {"version":3,"file":"cli-notionx.js","sourceRoot":"","sources":["../src/cli-notionx.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli-notionx.js","sourceRoot":"","sources":["../src/cli-notionx.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,113 @@
1
+ // packages/create-notionx-app/src/locale-add/persist.ts
2
+ //
3
+ // Persistence helpers for `notionx locale add --apply`. After the
4
+ // runner creates Notion translation data sources, these helpers
5
+ // record the resulting data source ids in `registry.json` and
6
+ // patch `wrangler.jsonc` / `.dev.vars` so the worker can find them
7
+ // at runtime.
8
+ //
9
+ // All helpers are idempotent: running them twice with the same
10
+ // inputs overwrites the previous value with the same value, and
11
+ // leaves unrelated entries untouched.
12
+ import { readFile, writeFile } from "node:fs/promises";
13
+ import path from "node:path";
14
+ import { readRegistryManifest, writeRegistryManifest, } from "../registry/registry-store.js";
15
+ /**
16
+ * Map a translation source model id to its canonical env var name.
17
+ * Returns the model id unchanged when no mapping is known (callers
18
+ * can decide whether to treat that as an error).
19
+ */
20
+ export function envVarForModel(modelId) {
21
+ const map = {
22
+ "blog-translations": "NOTION_BLOG_TRANSLATIONS_DATA_SOURCE_ID",
23
+ "page-translations": "NOTION_PAGES_TRANSLATIONS_DATA_SOURCE_ID",
24
+ "block-translations": "NOTION_BLOCKS_TRANSLATIONS_DATA_SOURCE_ID",
25
+ "site-settings-translations": "NOTION_SITE_SETTINGS_TRANSLATIONS_DATA_SOURCE_ID",
26
+ };
27
+ return map[modelId] ?? modelId;
28
+ }
29
+ /**
30
+ * Persist created translation source ids into `registry.json`'s
31
+ * `translationSources` map. Merges with any existing entries so
32
+ * re-running `locale add` for a different locale doesn't drop the
33
+ * previous refs.
34
+ *
35
+ * No-op when `translationSourceIds` is empty or the project has no
36
+ * `registry.json` yet.
37
+ */
38
+ export async function persistTranslationSourcesToRegistry(projectDir, translationSourceIds) {
39
+ if (Object.keys(translationSourceIds).length === 0)
40
+ return;
41
+ const manifest = await readRegistryManifest(projectDir);
42
+ if (!manifest)
43
+ return;
44
+ manifest.translationSources = {
45
+ ...(manifest.translationSources ?? {}),
46
+ ...Object.fromEntries(Object.entries(translationSourceIds).map(([modelId, dataSourceId]) => [
47
+ modelId,
48
+ { dataSourceId, envVar: envVarForModel(modelId) },
49
+ ])),
50
+ };
51
+ await writeRegistryManifest(projectDir, manifest);
52
+ }
53
+ /**
54
+ * Update `wrangler.jsonc` and `.dev.vars` with the new translation
55
+ * source data source ids. For `wrangler.jsonc` we replace the value
56
+ * inside the `vars` block; for `.dev.vars` we replace or append the
57
+ * `KEY=VALUE` line. Files that don't exist are skipped silently.
58
+ */
59
+ export async function updateEnvFilesForTranslationSources(projectDir, translationSourceIds) {
60
+ for (const [modelId, dataSourceId] of Object.entries(translationSourceIds)) {
61
+ const envVar = envVarForModel(modelId);
62
+ await updateEnvFile(projectDir, "wrangler.jsonc", envVar, dataSourceId);
63
+ await updateEnvFile(projectDir, ".dev.vars", envVar, dataSourceId);
64
+ }
65
+ }
66
+ /**
67
+ * Patch a single env var value in either `wrangler.jsonc` (JSONC
68
+ * `"KEY": "VALUE"` form) or `.dev.vars` (`KEY=VALUE` form).
69
+ *
70
+ * - If the file doesn't exist, returns silently (the project may
71
+ * not have a `.dev.vars` yet, or may use a different wrangler
72
+ * filename).
73
+ * - If the key exists, its value is replaced.
74
+ * - If the key doesn't exist in `.dev.vars`, it's appended.
75
+ * - If the key doesn't exist in `wrangler.jsonc`, the file is left
76
+ * untouched (we don't try to insert into the JSONC structure —
77
+ * the scaffold template is expected to ship a placeholder).
78
+ */
79
+ async function updateEnvFile(projectDir, filename, envVar, value) {
80
+ const filePath = path.join(projectDir, filename);
81
+ let content;
82
+ try {
83
+ content = await readFile(filePath, "utf8");
84
+ }
85
+ catch {
86
+ return; // File doesn't exist; skip.
87
+ }
88
+ if (filename === "wrangler.jsonc") {
89
+ // Replace placeholder or existing value in wrangler.jsonc vars
90
+ // block. Match: "ENV_VAR": "old_value" (covers both real ids
91
+ // and REPLACE_WITH_... placeholders).
92
+ // Use a non-global test regex to avoid the `lastIndex` pitfall,
93
+ // then a global regex for the actual replacement.
94
+ const testRegex = new RegExp(`"${envVar}"\\s*:\\s*"`);
95
+ if (testRegex.test(content)) {
96
+ const replaceRegex = new RegExp(`("${envVar}"\\s*:\\s*")([^"]*)(")`, "g");
97
+ content = content.replace(replaceRegex, `$1${value}$3`);
98
+ }
99
+ }
100
+ else {
101
+ // .dev.vars: KEY=VALUE format.
102
+ const testRegex = new RegExp(`^${envVar}=`, "m");
103
+ if (testRegex.test(content)) {
104
+ const replaceRegex = new RegExp(`^${envVar}=.*$`, "gm");
105
+ content = content.replace(replaceRegex, `${envVar}=${value}`);
106
+ }
107
+ else {
108
+ content = content.trimEnd() + "\n" + `${envVar}=${value}\n`;
109
+ }
110
+ }
111
+ await writeFile(filePath, content, "utf8");
112
+ }
113
+ //# sourceMappingURL=persist.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"persist.js","sourceRoot":"","sources":["../../src/locale-add/persist.ts"],"names":[],"mappings":"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"}
@@ -9,35 +9,101 @@
9
9
  // the only thing that mutates state. This makes the planner
10
10
  // trivially testable and lets the CLI render a dry-run summary
11
11
  // without side effects.
12
+ import { planNotionTranslationSources } from "../notion-translation-sources/plan.js";
13
+ import { applyNotionTranslationSources } from "../notion-translation-sources/apply.js";
14
+ import { readRegistryManifest, writeRegistryManifest, } from "../registry/registry-store.js";
15
+ import { readProjectMeta, rerenderModelsFile, } from "../registry/project-meta.js";
16
+ import { resolveTemplatesDir } from "../render.js";
12
17
  const BUILT_IN_NOTION_SOURCES = [
13
18
  "blog-translations",
14
19
  "page-translations",
15
20
  "block-translations",
16
21
  "site-settings-translations",
17
22
  ];
18
- export function buildLocaleAddPlan(input) {
23
+ export async function buildLocaleAddPlan(input) {
19
24
  const changes = [];
20
25
  const { projectDir, metadata, locale } = input;
21
26
  const i18nPath = "lib/i18n/config.ts";
22
27
  const siteConfigPath = "lib/site/config.ts";
23
- const metadataPath = ".notionx/scaffold.json";
24
- // 1. metadata: append locale to supportedLocales.
25
- const nextMetadata = {
26
- ...metadata,
27
- supportedLocales: [...metadata.supportedLocales, locale],
28
- };
28
+ // 1. metadata: append locale to supportedLocales in registry.json.
29
29
  changes.push({
30
30
  kind: "metadata",
31
31
  label: "metadata:supportedLocales",
32
- description: `Append "${locale}" to .notionx/scaffold.json supportedLocales.`,
32
+ description: `Add "${locale}" to supportedLocales in registry.json.`,
33
33
  risk: metadata.supportedLocales.includes(locale) ? "conflict" : "safe",
34
34
  async apply() {
35
- const fs = await import("node:fs/promises");
36
- const full = `${projectDir}/${metadataPath}`;
37
- await fs.writeFile(full, JSON.stringify(nextMetadata, null, 2) + "\n", "utf8");
35
+ const manifest = await readRegistryManifest(projectDir);
36
+ if (!manifest)
37
+ return;
38
+ if (!manifest.supportedLocales.includes(locale)) {
39
+ manifest.supportedLocales = [...manifest.supportedLocales, locale];
40
+ }
41
+ await writeRegistryManifest(projectDir, manifest);
42
+ },
43
+ });
44
+ // 2. Re-render middleware.ts so SUPPORTED_LOCALES includes the new
45
+ // locale. The middleware template uses {{supportedLocalesJson}}
46
+ // and {{defaultLocale}} tokens. Runs after the metadata change so
47
+ // the freshly-written registry.json is the source of truth.
48
+ changes.push({
49
+ kind: "file",
50
+ label: `file:middleware.ts`,
51
+ description: `Re-render middleware.ts with updated supportedLocales.`,
52
+ risk: "safe",
53
+ filePath: "middleware.ts",
54
+ async apply() {
55
+ const manifest = await readRegistryManifest(projectDir);
56
+ if (!manifest)
57
+ return;
58
+ const { readFile, writeFile } = await import("node:fs/promises");
59
+ const path = await import("node:path");
60
+ const templatesDir = await resolveTemplatesDir();
61
+ let template;
62
+ try {
63
+ template = await readFile(path.join(templatesDir, "middleware.ts.tmpl"), "utf8");
64
+ }
65
+ catch {
66
+ return; // Template not found; skip silently.
67
+ }
68
+ const rendered = template
69
+ .replaceAll("{{defaultLocale}}", manifest.defaultLocale)
70
+ .replaceAll("{{supportedLocalesJson}}", JSON.stringify(manifest.supportedLocales));
71
+ await writeFile(path.join(projectDir, "middleware.ts"), rendered, "utf8");
72
+ },
73
+ });
74
+ // 3. Re-render lib/content/models.ts so translation source
75
+ // declarations reflect bilingual mode (null → defineContentSource).
76
+ // `rerenderModelsFile` derives `bilingual` from
77
+ // `supportedLocales.length > 1` when not passed explicitly.
78
+ changes.push({
79
+ kind: "file",
80
+ label: `file:lib/content/models.ts`,
81
+ description: `Re-render models.ts with translation source declarations.`,
82
+ risk: "safe",
83
+ filePath: "lib/content/models.ts",
84
+ async apply() {
85
+ const manifest = await readRegistryManifest(projectDir);
86
+ if (!manifest)
87
+ return;
88
+ try {
89
+ await rerenderModelsFile({
90
+ projectDir,
91
+ templatesDir: await resolveTemplatesDir(),
92
+ project: await readProjectMeta(projectDir, manifest),
93
+ installed: manifest.installed,
94
+ internalSources: {
95
+ siteSettings: manifest.enableSiteSettings,
96
+ blocks: manifest.enableBlocks,
97
+ },
98
+ });
99
+ }
100
+ catch {
101
+ // Best-effort: if rerender fails (e.g. template not found),
102
+ // skip silently.
103
+ }
38
104
  },
39
105
  });
40
- // 2. lib/i18n/config.ts — append the locale to supportedLocalesJson.
106
+ // 4. lib/i18n/config.ts — append the locale to supportedLocalesJson.
41
107
  changes.push({
42
108
  kind: "file",
43
109
  label: `file:${i18nPath}`,
@@ -58,7 +124,7 @@ export function buildLocaleAddPlan(input) {
58
124
  await fs.writeFile(full, updated, "utf8");
59
125
  },
60
126
  });
61
- // 3. lib/site/config.ts — append the locale to the locales list.
127
+ // 5. lib/site/config.ts — append the locale to the locales list.
62
128
  changes.push({
63
129
  kind: "file",
64
130
  label: `file:${siteConfigPath}`,
@@ -79,23 +145,64 @@ export function buildLocaleAddPlan(input) {
79
145
  await fs.writeFile(full, updated, "utf8");
80
146
  },
81
147
  });
82
- // 4. (optional) Notion translation data sources declared but the
83
- // actual create/reuse happens in the translation-sources runner.
148
+ // 6. (optional) Notion translation data sources. When the Notion
149
+ // api token and parent page id are available, the planner produces
150
+ // real create/reuse plans and the `apply` closure runs them via
151
+ // `applyNotionTranslationSources`. When the Notion context is
152
+ // missing, fall back to no-op changes so the plan still renders a
153
+ // dry-run summary.
84
154
  if (input.withNotion) {
85
- for (const sourceName of BUILT_IN_NOTION_SOURCES) {
155
+ const existingSources = input.metadata.translationSources ?? {};
156
+ const baseDatabaseIds = await readBaseDatabaseIds(input.projectDir);
157
+ const plans = input.notionApiToken && input.notionParentPageId
158
+ ? planNotionTranslationSources({
159
+ locale: input.locale,
160
+ parentPageId: input.notionParentPageId,
161
+ apiToken: input.notionApiToken,
162
+ copyFrom: input.copyFrom,
163
+ existingTranslationSources: existingSources,
164
+ baseDatabaseIds,
165
+ })
166
+ : [];
167
+ for (const plan of plans) {
86
168
  changes.push({
87
169
  kind: "notion",
88
- label: `notion:${sourceName}`,
89
- description: `Ensure Notion data source "${sourceName}" exists (idempotent: create or reuse).`,
170
+ label: `notion:${plan.modelId}`,
171
+ description: `Ensure Notion data source "${plan.modelId}" exists (idempotent: create or reuse).`,
90
172
  risk: "safe",
91
- modelId: sourceName,
173
+ modelId: plan.modelId,
92
174
  async apply() {
93
- return null;
175
+ const result = await applyNotionTranslationSources([plan]);
176
+ const resolved = result.resolved[plan.modelId];
177
+ if (!resolved) {
178
+ const failure = result.failures.find((f) => f.modelId === plan.modelId);
179
+ if (failure) {
180
+ throw new Error(`Failed to create translation source ${plan.modelId}: ${failure.error}`);
181
+ }
182
+ return null;
183
+ }
184
+ return { dataSourceId: resolved.dataSourceId };
94
185
  },
95
186
  });
96
187
  }
188
+ // When notion context is missing, fall back to no-op changes
189
+ // so the plan still renders a dry-run summary.
190
+ if (plans.length === 0) {
191
+ for (const sourceName of BUILT_IN_NOTION_SOURCES) {
192
+ changes.push({
193
+ kind: "notion",
194
+ label: `notion:${sourceName}`,
195
+ description: `Ensure Notion data source "${sourceName}" exists (skipped: no Notion api token or parent page id).`,
196
+ risk: "safe",
197
+ modelId: sourceName,
198
+ async apply() {
199
+ return null;
200
+ },
201
+ });
202
+ }
203
+ }
97
204
  }
98
- // 5. (optional) Cloudflare secrets for the new translation source ids.
205
+ // 7. (optional) Cloudflare secrets for the new translation source ids.
99
206
  if (input.withNotion && input.translationSourceIds) {
100
207
  for (const [sourceName, dataSourceId] of Object.entries(input.translationSourceIds)) {
101
208
  const envVar = sourceNameToEnvVar(sourceName);
@@ -125,4 +232,78 @@ function sourceNameToEnvVar(sourceName) {
125
232
  };
126
233
  return map[sourceName] ?? null;
127
234
  }
235
+ /**
236
+ * Read the base (non-translation) Notion database ids for each
237
+ * built-in translation model.
238
+ *
239
+ * Resolution order:
240
+ * 1. `registry.json`'s `baseDatabaseIds` block — populated by the
241
+ * scaffolder during provisioning. This stores the real Notion
242
+ * `database_id` (the id Notion's relation API expects), which is
243
+ * distinct from the `data_source_id` exposed via env vars.
244
+ * 2. Fallback: env vars in `.dev.vars` / `wrangler.jsonc`. These
245
+ * store `data_source_id`, not `database_id` — Notion currently
246
+ * accepts it for relation creation in most workspaces, but it is
247
+ * not the officially correct id. Used only when the registry
248
+ * manifest is missing or predates the `baseDatabaseIds` field.
249
+ *
250
+ * Returns an empty object when neither source is available — the
251
+ * planner treats missing base ids as "create relation without
252
+ * explicit target", which is the existing behaviour.
253
+ */
254
+ async function readBaseDatabaseIds(projectDir) {
255
+ // 1. Try registry.json's baseDatabaseIds first — these are the
256
+ // real Notion database ids, not data_source_ids.
257
+ const manifest = await readRegistryManifest(projectDir);
258
+ if (manifest?.baseDatabaseIds) {
259
+ const ids = manifest.baseDatabaseIds;
260
+ return {
261
+ "blog-translations": ids.content,
262
+ "page-translations": ids.pages,
263
+ "block-translations": ids.blocks,
264
+ "site-settings-translations": ids.siteSettings,
265
+ };
266
+ }
267
+ // 2. Fallback: read from env vars (data_source_id, not ideal but
268
+ // best-effort for projects scaffolded before baseDatabaseIds existed).
269
+ const fs = await import("node:fs/promises");
270
+ const path = await import("node:path");
271
+ // Try .dev.vars first (KEY=VALUE format), then wrangler.jsonc
272
+ // ("KEY": "VALUE" inside a vars block).
273
+ let devVarsContent = "";
274
+ try {
275
+ devVarsContent = await fs.readFile(path.join(projectDir, ".dev.vars"), "utf8");
276
+ }
277
+ catch {
278
+ // .dev.vars may not exist; fall through to wrangler.jsonc.
279
+ }
280
+ let wranglerContent = "";
281
+ try {
282
+ wranglerContent = await fs.readFile(path.join(projectDir, "wrangler.jsonc"), "utf8");
283
+ }
284
+ catch {
285
+ // wrangler.jsonc may not exist; that's fine.
286
+ }
287
+ const readVar = (key) => {
288
+ // .dev.vars: KEY=VALUE (one per line).
289
+ const devVarsMatch = devVarsContent.match(new RegExp(`^${key}=(.+)$`, "m"));
290
+ if (devVarsMatch)
291
+ return devVarsMatch[1].trim();
292
+ // wrangler.jsonc: "KEY": "VALUE" (inside a vars block or top-level).
293
+ const jsoncMatch = wranglerContent.match(new RegExp(`"${key}"\\s*:\\s*"([^"]+)"`));
294
+ if (jsoncMatch)
295
+ return jsoncMatch[1];
296
+ return undefined;
297
+ };
298
+ // The env var names for the base (non-translation) data sources.
299
+ // These are the ids the scaffolder writes when it first provisions
300
+ // the blog / pages / blocks / site-settings databases.
301
+ // NOTE: These store data_source_id, not database_id.
302
+ return {
303
+ "blog-translations": readVar("NOTION_DATA_SOURCE_ID"),
304
+ "page-translations": readVar("NOTION_PAGES_DATA_SOURCE_ID"),
305
+ "block-translations": readVar("NOTION_BLOCKS_DATA_SOURCE_ID"),
306
+ "site-settings-translations": readVar("NOTION_SITE_SETTINGS_DATA_SOURCE_ID"),
307
+ };
308
+ }
128
309
  //# sourceMappingURL=plan.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"plan.js","sourceRoot":"","sources":["../../src/locale-add/plan.ts"],"names":[],"mappings":"AAAA,qDAAqD;AACrD,EAAE;AACF,iEAAiE;AACjE,mEAAmE;AACnE,mEAAmE;AACnE,iEAAiE;AACjE,EAAE;AACF,iEAAiE;AACjE,4DAA4D;AAC5D,+DAA+D;AAC/D,wBAAwB;AAoDxB,MAAM,uBAAuB,GAAG;IAC9B,mBAAmB;IACnB,mBAAmB;IACnB,oBAAoB;IACpB,4BAA4B;CACpB,CAAC;AAEX,MAAM,UAAU,kBAAkB,CAChC,KAA8B;IAE9B,MAAM,OAAO,GAAsB,EAAE,CAAC;IACtC,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;IAC/C,MAAM,QAAQ,GAAG,oBAAoB,CAAC;IACtC,MAAM,cAAc,GAAG,oBAAoB,CAAC;IAC5C,MAAM,YAAY,GAAG,wBAAwB,CAAC;IAE9C,kDAAkD;IAClD,MAAM,YAAY,GAAqB;QACrC,GAAG,QAAQ;QACX,gBAAgB,EAAE,CAAC,GAAG,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;KACzD,CAAC;IACF,OAAO,CAAC,IAAI,CAAC;QACX,IAAI,EAAE,UAAU;QAChB,KAAK,EAAE,2BAA2B;QAClC,WAAW,EAAE,WAAW,MAAM,+CAA+C;QAC7E,IAAI,EAAE,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM;QACtE,KAAK,CAAC,KAAK;YACT,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;YAC5C,MAAM,IAAI,GAAG,GAAG,UAAU,IAAI,YAAY,EAAE,CAAC;YAC7C,MAAM,EAAE,CAAC,SAAS,CAChB,IAAI,EACJ,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,EAC5C,MAAM,CACP,CAAC;QACJ,CAAC;KACF,CAAC,CAAC;IAEH,qEAAqE;IACrE,OAAO,CAAC,IAAI,CAAC;QACX,IAAI,EAAE,MAAM;QACZ,KAAK,EAAE,QAAQ,QAAQ,EAAE;QACzB,WAAW,EAAE,QAAQ,MAAM,2CAA2C;QACtE,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,QAAQ;QAClB,KAAK,CAAC,KAAK;YACT,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;YAC5C,MAAM,IAAI,GAAG,GAAG,UAAU,IAAI,QAAQ,EAAE,CAAC;YACzC,IAAI,OAAe,CAAC;YACpB,IAAI,CAAC;gBACH,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YAC5C,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO;YACT,CAAC;YACD,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAC7B,gCAAgC,EAChC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,MAAM,IAAI,CAAC,CAClD,CAAC;YACF,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QAC5C,CAAC;KACF,CAAC,CAAC;IAEH,iEAAiE;IACjE,OAAO,CAAC,IAAI,CAAC;QACX,IAAI,EAAE,MAAM;QACZ,KAAK,EAAE,QAAQ,cAAc,EAAE;QAC/B,WAAW,EAAE,QAAQ,MAAM,kCAAkC;QAC7D,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,cAAc;QACxB,KAAK,CAAC,KAAK;YACT,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;YAC5C,MAAM,IAAI,GAAG,GAAG,UAAU,IAAI,cAAc,EAAE,CAAC;YAC/C,IAAI,OAAe,CAAC;YACpB,IAAI,CAAC;gBACH,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YAC5C,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO;YACT,CAAC;YACD,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAC7B,uBAAuB,EACvB,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,MAAM,IAAI,CAAC,CAClD,CAAC;YACF,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QAC5C,CAAC;KACF,CAAC,CAAC;IAEH,mEAAmE;IACnE,iEAAiE;IACjE,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;QACrB,KAAK,MAAM,UAAU,IAAI,uBAAuB,EAAE,CAAC;YACjD,OAAO,CAAC,IAAI,CAAC;gBACX,IAAI,EAAE,QAAQ;gBACd,KAAK,EAAE,UAAU,UAAU,EAAE;gBAC7B,WAAW,EAAE,8BAA8B,UAAU,yCAAyC;gBAC9F,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE,UAAU;gBACnB,KAAK,CAAC,KAAK;oBACT,OAAO,IAAI,CAAC;gBACd,CAAC;aACF,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,uEAAuE;IACvE,IAAI,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,oBAAoB,EAAE,CAAC;QACnD,KAAK,MAAM,CAAC,UAAU,EAAE,YAAY,CAAC,IAAI,MAAM,CAAC,OAAO,CACrD,KAAK,CAAC,oBAAoB,CAC3B,EAAE,CAAC;YACF,MAAM,MAAM,GAAG,kBAAkB,CAAC,UAAU,CAAC,CAAC;YAC9C,IAAI,CAAC,MAAM;gBAAE,SAAS;YACtB,OAAO,CAAC,IAAI,CAAC;gBACX,IAAI,EAAE,YAAY;gBAClB,KAAK,EAAE,qBAAqB,MAAM,EAAE;gBACpC,WAAW,EAAE,qBAAqB,MAAM,OAAO,YAAY,GAAG;gBAC9D,IAAI,EAAE,MAAM;gBACZ,MAAM;gBACN,KAAK,CAAC,KAAK;oBACT,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,MAAM,CAAC,4BAA4B,CAAC,CAAC;oBACvE,MAAM,eAAe,CAAC,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;gBAC1E,CAAC;aACF,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;AAC7B,CAAC;AAED,SAAS,kBAAkB,CACzB,UAAkB;IAElB,MAAM,GAAG,GAAmE;QAC1E,mBAAmB,EAAE,yCAAyC;QAC9D,mBAAmB,EAAE,0CAA0C;QAC/D,oBAAoB,EAAE,2CAA2C;QACjE,4BAA4B,EAC1B,kDAAkD;KACrD,CAAC;IACF,OAAO,GAAG,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC;AACjC,CAAC"}
1
+ {"version":3,"file":"plan.js","sourceRoot":"","sources":["../../src/locale-add/plan.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"metadata.js","sourceRoot":"","sources":["../src/metadata.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,sBAAsB,GAAG,wBAAwB,CAAC;AAuD/D,MAAM,UAAU,qBAAqB,CACnC,OAAgB,EAChB,eAAuB;IAEvB,OAAO;QACL,WAAW,EAAE,SAAS;QACtB,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,eAAe;QACf,aAAa,EAAE,OAAO,CAAC,aAAa;QACpC,gBAAgB,EAAE,CAAC,GAAG,OAAO,CAAC,gBAAgB,CAAC;QAC/C,aAAa,EAAE,OAAO,CAAC,aAAa;QACpC,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;QAC9C,aAAa,EAAE;YACb,EAAE,EAAE,OAAO,CAAC,aAAa,CAAC,EAAE;YAC5B,KAAK,EAAE,OAAO,CAAC,aAAa,CAAC,KAAK;YAClC,MAAM,EAAE,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;gBACnD,GAAG,EAAE,KAAK,CAAC,GAAG;gBACd,UAAU,EAAE,KAAK,CAAC,UAAU;aAC7B,CAAC,CAAC;SACJ;QACD,kBAAkB,EAAE,EAAE;KACvB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,GAAW;IAC/C,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAA8B,CAAC;IAC5D,IACE,MAAM,CAAC,WAAW,KAAK,SAAS;QAChC,OAAO,MAAM,CAAC,WAAW,KAAK,QAAQ;QACtC,OAAO,MAAM,CAAC,eAAe,KAAK,QAAQ;QAC1C,OAAO,MAAM,CAAC,aAAa,KAAK,QAAQ;QACxC,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC;QACvC,OAAO,MAAM,CAAC,aAAa,KAAK,QAAQ;QACxC,CAAC,MAAM,CAAC,aAAa;QACrB,OAAO,MAAM,CAAC,aAAa,CAAC,EAAE,KAAK,QAAQ;QAC3C,OAAO,MAAM,CAAC,aAAa,CAAC,KAAK,KAAK,QAAQ;QAC9C,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC;QAC3C,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAC9B,CAAC,KAAK,EAAE,EAAE,CACR,CAAC,KAAK;YACN,OAAO,KAAK,CAAC,GAAG,KAAK,QAAQ;YAC7B,OAAO,KAAK,CAAC,UAAU,KAAK,QAAQ,CACvC,EACD,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;IACtD,CAAC;IAED,OAAO,MAA0B,CAAC;AACpC,CAAC"}
1
+ {"version":3,"file":"metadata.js","sourceRoot":"","sources":["../src/metadata.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,sBAAsB,GAAG,wBAAwB,CAAC;AA+D/D,MAAM,UAAU,qBAAqB,CACnC,OAAgB,EAChB,eAAuB;IAEvB,OAAO;QACL,WAAW,EAAE,SAAS;QACtB,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,eAAe;QACf,aAAa,EAAE,OAAO,CAAC,aAAa;QACpC,gBAAgB,EAAE,CAAC,GAAG,OAAO,CAAC,gBAAgB,CAAC;QAC/C,aAAa,EAAE,OAAO,CAAC,aAAa;QACpC,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;QAC9C,aAAa,EAAE;YACb,EAAE,EAAE,OAAO,CAAC,aAAa,CAAC,EAAE;YAC5B,KAAK,EAAE,OAAO,CAAC,aAAa,CAAC,KAAK;YAClC,MAAM,EAAE,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;gBACnD,GAAG,EAAE,KAAK,CAAC,GAAG;gBACd,UAAU,EAAE,KAAK,CAAC,UAAU;aAC7B,CAAC,CAAC;SACJ;QACD,kBAAkB,EAAE,EAAE;KACvB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,GAAW;IAC/C,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAA8B,CAAC;IAC5D,IACE,MAAM,CAAC,WAAW,KAAK,SAAS;QAChC,OAAO,MAAM,CAAC,WAAW,KAAK,QAAQ;QACtC,OAAO,MAAM,CAAC,eAAe,KAAK,QAAQ;QAC1C,OAAO,MAAM,CAAC,aAAa,KAAK,QAAQ;QACxC,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC;QACvC,OAAO,MAAM,CAAC,aAAa,KAAK,QAAQ;QACxC,CAAC,MAAM,CAAC,aAAa;QACrB,OAAO,MAAM,CAAC,aAAa,CAAC,EAAE,KAAK,QAAQ;QAC3C,OAAO,MAAM,CAAC,aAAa,CAAC,KAAK,KAAK,QAAQ;QAC9C,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC;QAC3C,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAC9B,CAAC,KAAK,EAAE,EAAE,CACR,CAAC,KAAK;YACN,OAAO,KAAK,CAAC,GAAG,KAAK,QAAQ;YAC7B,OAAO,KAAK,CAAC,UAAU,KAAK,QAAQ,CACvC,EACD,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;IACtD,CAAC;IAED,OAAO,MAA0B,CAAC;AACpC,CAAC"}
@@ -4,7 +4,7 @@
4
4
  // CLI. This module owns the only place that shells out to Notion for
5
5
  // translation sources; everything else flows through the same
6
6
  // `LocaleAddChange` runner.
7
- import { runNtn } from "../provision/shell.js";
7
+ import { createDatabaseWithProperties } from "../provision/notion.js";
8
8
  export async function applyNotionTranslationSources(plans) {
9
9
  const result = { resolved: {}, failures: [] };
10
10
  for (const plan of plans) {
@@ -16,31 +16,16 @@ export async function applyNotionTranslationSources(plans) {
16
16
  continue;
17
17
  }
18
18
  try {
19
- const cli = await runNtn([
20
- "databases",
21
- "create",
22
- "--parent",
23
- plan.parentPageId,
24
- "--title",
25
- titleFor(plan.modelId),
26
- ]);
27
- if (cli.code !== 0) {
28
- result.failures.push({
29
- modelId: plan.modelId,
30
- error: cli.stderr || cli.stdout,
31
- });
32
- continue;
33
- }
34
- const parsed = JSON.parse(cli.stdout);
35
- const dataSourceId = parsed.dataSourceId;
36
- if (!dataSourceId) {
37
- result.failures.push({
38
- modelId: plan.modelId,
39
- error: "ntn did not return a dataSourceId",
40
- });
41
- continue;
42
- }
43
- result.resolved[plan.modelId] = { dataSourceId, envVar: plan.envVar };
19
+ const created = await createDatabaseWithProperties({
20
+ apiToken: plan.apiToken,
21
+ parentPageId: plan.parentPageId,
22
+ title: titleFor(plan.modelId),
23
+ properties: plan.properties,
24
+ });
25
+ result.resolved[plan.modelId] = {
26
+ dataSourceId: created.dataSourceId,
27
+ envVar: plan.envVar,
28
+ };
44
29
  }
45
30
  catch (error) {
46
31
  const message = error instanceof Error ? error.message : String(error);
@@ -1 +1 @@
1
- {"version":3,"file":"apply.js","sourceRoot":"","sources":["../../src/notion-translation-sources/apply.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,EAAE;AACF,oEAAoE;AACpE,qEAAqE;AACrE,8DAA8D;AAC9D,4BAA4B;AAE5B,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAQ/C,MAAM,CAAC,KAAK,UAAU,6BAA6B,CACjD,KAAoC;IAEpC,MAAM,MAAM,GAAkC,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;IAC7E,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,MAAM,KAAK,OAAO,IAAI,IAAI,CAAC,oBAAoB,EAAE,CAAC;YACzD,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG;gBAC9B,YAAY,EAAE,IAAI,CAAC,oBAAoB;gBACvC,MAAM,EAAE,IAAI,CAAC,MAAM;aACpB,CAAC;YACF,SAAS;QACX,CAAC;QACD,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC;gBACvB,WAAW;gBACX,QAAQ;gBACR,UAAU;gBACV,IAAI,CAAC,YAAY;gBACjB,SAAS;gBACT,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC;aACvB,CAAC,CAAC;YACH,IAAI,GAAG,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;gBACnB,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;oBACnB,OAAO,EAAE,IAAI,CAAC,OAAO;oBACrB,KAAK,EAAE,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,MAAM;iBAChC,CAAC,CAAC;gBACH,SAAS;YACX,CAAC;YACD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAA8B,CAAC;YACnE,MAAM,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;YACzC,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClB,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;oBACnB,OAAO,EAAE,IAAI,CAAC,OAAO;oBACrB,KAAK,EAAE,mCAAmC;iBAC3C,CAAC,CAAC;gBACH,SAAS;YACX,CAAC;YACD,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,YAAY,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;QACxE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACvE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;QAClE,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,QAAQ,CAAC,OAAe;IAC/B,MAAM,GAAG,GAA2B;QAClC,mBAAmB,EAAE,mBAAmB;QACxC,mBAAmB,EAAE,mBAAmB;QACxC,oBAAoB,EAAE,oBAAoB;QAC1C,4BAA4B,EAAE,4BAA4B;KAC3D,CAAC;IACF,OAAO,GAAG,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC;AACjC,CAAC"}
1
+ {"version":3,"file":"apply.js","sourceRoot":"","sources":["../../src/notion-translation-sources/apply.ts"],"names":[],"mappings":"AAAA,sEAAsE;AACtE,EAAE;AACF,oEAAoE;AACpE,qEAAqE;AACrE,8DAA8D;AAC9D,4BAA4B;AAE5B,OAAO,EAAE,4BAA4B,EAAE,MAAM,wBAAwB,CAAC;AAQtE,MAAM,CAAC,KAAK,UAAU,6BAA6B,CACjD,KAAoC;IAEpC,MAAM,MAAM,GAAkC,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;IAC7E,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,MAAM,KAAK,OAAO,IAAI,IAAI,CAAC,oBAAoB,EAAE,CAAC;YACzD,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG;gBAC9B,YAAY,EAAE,IAAI,CAAC,oBAAoB;gBACvC,MAAM,EAAE,IAAI,CAAC,MAAM;aACpB,CAAC;YACF,SAAS;QACX,CAAC;QACD,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,4BAA4B,CAAC;gBACjD,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC;gBAC7B,UAAU,EAAE,IAAI,CAAC,UAAU;aAC5B,CAAC,CAAC;YACH,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG;gBAC9B,YAAY,EAAE,OAAO,CAAC,YAAY;gBAClC,MAAM,EAAE,IAAI,CAAC,MAAM;aACpB,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACvE,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;QAClE,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,QAAQ,CAAC,OAAe;IAC/B,MAAM,GAAG,GAA2B;QAClC,mBAAmB,EAAE,mBAAmB;QACxC,mBAAmB,EAAE,mBAAmB;QACxC,oBAAoB,EAAE,oBAAoB;QAC1C,4BAA4B,EAAE,4BAA4B;KAC3D,CAAC;IACF,OAAO,GAAG,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC;AACjC,CAAC"}