create-nifra 3.3.0 → 4.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (106) hide show
  1. package/README.md +3 -3
  2. package/dist/agent-files.d.ts +41 -26
  3. package/dist/agent-files.d.ts.map +1 -1
  4. package/dist/agent-files.js +80 -47
  5. package/dist/agent-files.js.map +1 -1
  6. package/dist/agents.d.ts +3 -3
  7. package/dist/agents.d.ts.map +1 -1
  8. package/dist/agents.js +65 -69
  9. package/dist/agents.js.map +1 -1
  10. package/dist/auth.d.ts +5 -4
  11. package/dist/auth.d.ts.map +1 -1
  12. package/dist/auth.js +27 -14
  13. package/dist/auth.js.map +1 -1
  14. package/dist/cli.d.ts +23 -25
  15. package/dist/cli.d.ts.map +1 -1
  16. package/dist/cli.js +141 -130
  17. package/dist/cli.js.map +1 -1
  18. package/dist/db.d.ts.map +1 -1
  19. package/dist/db.js +49 -48
  20. package/dist/db.js.map +1 -1
  21. package/dist/scaffold/frameworks.d.ts +13 -38
  22. package/dist/scaffold/frameworks.d.ts.map +1 -1
  23. package/dist/scaffold/frameworks.js +9 -32
  24. package/dist/scaffold/frameworks.js.map +1 -1
  25. package/dist/scaffold/route-types.d.ts +9 -0
  26. package/dist/scaffold/route-types.d.ts.map +1 -0
  27. package/dist/scaffold/route-types.js +61 -0
  28. package/dist/scaffold/route-types.js.map +1 -0
  29. package/dist/scaffold/site-files.d.ts +14 -8
  30. package/dist/scaffold/site-files.d.ts.map +1 -1
  31. package/dist/scaffold/site-files.js +29 -60
  32. package/dist/scaffold/site-files.js.map +1 -1
  33. package/dist/scaffold/site.d.ts +8 -5
  34. package/dist/scaffold/site.d.ts.map +1 -1
  35. package/dist/scaffold/site.js +47 -34
  36. package/dist/scaffold/site.js.map +1 -1
  37. package/dist/scaffold/targets.d.ts +39 -0
  38. package/dist/scaffold/targets.d.ts.map +1 -0
  39. package/dist/scaffold/targets.js +116 -0
  40. package/dist/scaffold/targets.js.map +1 -0
  41. package/package.json +4 -1
  42. package/src/agent-files.ts +89 -47
  43. package/template/README.md +12 -6
  44. package/template/{src → backend}/app.test.ts +2 -2
  45. package/template/{src → backend}/app.ts +8 -3
  46. package/template/{src → backend}/index.ts +2 -2
  47. package/template/{src → backend}/routes.ts +1 -1
  48. package/template/nifra.assurance.ts +16 -14
  49. package/template/package.json +7 -7
  50. package/template/tsconfig.json +1 -1
  51. package/template-batteries/README.md +10 -6
  52. package/template-batteries/{src → backend}/app.test.ts +23 -23
  53. package/template-batteries/{src → backend}/app.ts +8 -3
  54. package/template-batteries/{src → backend}/index.ts +2 -2
  55. package/template-batteries/{src → backend}/notes.ts +1 -1
  56. package/template-batteries/nifra.assurance.ts +16 -14
  57. package/template-batteries/package.json +10 -9
  58. package/template-batteries/tsconfig.json +1 -1
  59. package/template-isr/README.md +3 -0
  60. package/template-isr/{backend.ts → backend/app.ts} +2 -0
  61. package/template-isr/{server.ts → backend/dev-server.ts} +4 -4
  62. package/template-isr/{worker.ts → backend/worker.ts} +4 -2
  63. package/template-isr/build.ts +3 -1
  64. package/template-isr/gitignore +7 -1
  65. package/template-isr/nifra.assurance.ts +15 -13
  66. package/template-isr/package.json +10 -9
  67. package/template-isr/routes/index.backend.ts +14 -0
  68. package/template-isr/routes/index.tsx +5 -17
  69. package/template-isr/tsconfig.json +5 -4
  70. package/template-isr/wrangler.toml +6 -1
  71. package/template-site/README.md +24 -23
  72. package/template-site/{backend.ts → backend/app.ts} +6 -4
  73. package/template-site/gitignore +5 -10
  74. package/template-site/nifra.assurance.ts +15 -13
  75. package/template-site/nifra.config.ts +4 -4
  76. package/template-site/routes/index.backend.ts +18 -0
  77. package/template-site/routes/index.tsx +2 -15
  78. package/template-site-preact/README.md +21 -20
  79. package/template-site-preact/nifra.config.ts +4 -4
  80. package/template-site-preact/routes/_layout.tsx +3 -1
  81. package/template-site-preact/routes/index.tsx +2 -15
  82. package/template-site-solid/README.md +21 -19
  83. package/template-site-solid/nifra.config.ts +5 -4
  84. package/template-site-solid/routes/index.tsx +2 -15
  85. package/template-site-svelte/README.md +21 -19
  86. package/template-site-svelte/nifra.config.ts +3 -2
  87. package/template-site-svelte/routes/index.svelte +3 -16
  88. package/template-site-vue/README.md +21 -20
  89. package/template-site-vue/nifra.config.ts +4 -3
  90. package/template-site-vue/routes/_layout.vue +21 -25
  91. package/template-site-vue/routes/index.vue +12 -18
  92. package/dist/scaffold/site-build.d.ts +0 -60
  93. package/dist/scaffold/site-build.d.ts.map +0 -1
  94. package/dist/scaffold/site-build.js +0 -198
  95. package/dist/scaffold/site-build.js.map +0 -1
  96. package/template-site/.dockerignore +0 -14
  97. package/template-site/Dockerfile +0 -20
  98. package/template-site/_worker.ts +0 -17
  99. package/template-site/deno.json +0 -7
  100. package/template-site/server-bun.ts +0 -35
  101. package/template-site/server-deno.ts +0 -38
  102. package/template-site/server-node.ts +0 -40
  103. package/template-site/server-vercel.ts +0 -17
  104. package/template-site/wrangler.toml +0 -4
  105. /package/template-isr/{page.ts → backend/page.ts} +0 -0
  106. /package/template-site/{counter.ts → backend/counter.ts} +0 -0
package/dist/cli.js CHANGED
@@ -3,24 +3,27 @@
3
3
  * Scaffold a new nifra app: `bun create nifra <directory>` (or `npm create nifra <dir>`).
4
4
  *
5
5
  * bun create nifra my-app # api backend (default)
6
- * bun create nifra my-app --template site # multi-target SSR site
6
+ * bun create nifra my-app --template site # SSR site, deployed to Bun
7
7
  * bun create nifra my-app --template batteries # api + jobs + cache + storage + cursor pagination
8
- * bun create nifra my-app --deploy vercel # site, with Vercel as the default deploy target
8
+ * bun create nifra my-app --target vercel # site, deployed to Vercel
9
9
  *
10
- * Copies the bundled template, restores `.gitignore` (npm strips a literal one from packages), sets the
11
- * app's `package.json` name, and - with `--deploy <target>` (site template only) - repoints the default
12
- * `build`/`deploy` scripts at that target and fills the project name into its config. Refuses to overwrite.
10
+ * Copies the bundled template, restores `.gitignore` (npm strips a literal one from packages), and sets
11
+ * the app's `package.json` name. A site deploys to ONE target (`--target`, default `bun`; `--docker`
12
+ * adds a Dockerfile for bun/node): `nifra build` generates its server entry, and the scaffold writes
13
+ * only that target's config and scripts. Refuses to overwrite.
13
14
  */
14
15
  import { realpathSync } from "node:fs";
15
- import { cp, mkdir, readFile, rename, writeFile } from "node:fs/promises";
16
- import { basename, join, relative, resolve } from "node:path";
16
+ import { cp, mkdir, readdir, readFile, rename, writeFile } from "node:fs/promises";
17
+ import { basename, dirname, join, relative, resolve } from "node:path";
17
18
  import { fileURLToPath, pathToFileURL } from "node:url";
18
- import { CLAUDE_MD_PATH, CURSOR_MCP_JSON_PATH, claudeMd, MCP_JSON_PATH, mcpJson, } from "./agent-files.js";
19
+ import { AGENT_POINTERS, CURSOR_MCP_JSON_PATH, MCP_JSON_PATH, mcpJson } from "./agent-files.js";
19
20
  import { agentsMd } from "./agents.js";
20
21
  import { AUTH_CHOICES, AUTH_PRESETS, assertAuthableDb, writeAuthFiles, } from "./auth.js";
21
22
  import { DB_CHOICES, DB_PRESETS, writeDbFiles } from "./db.js";
22
23
  import { applyFeatures } from "./scaffold/features.js";
24
+ import { starterRouteTypes } from "./scaffold/route-types.js";
23
25
  import { materializeSite } from "./scaffold/site.js";
26
+ import { DEPLOY_TARGETS, deployName, isDeployTarget, TARGETS, } from "./scaffold/targets.js";
24
27
  const TEMPLATES = {
25
28
  api: "../template",
26
29
  site: "../template-site",
@@ -31,51 +34,28 @@ const TEMPLATES = {
31
34
  * rest live in `template-site-<framework>` siblings - same multi-target deploy story, different adapter
32
35
  * + routes. */
33
36
  const FRAMEWORKS = ["react", "preact", "vue", "solid", "svelte"];
34
- const DEPLOY = {
35
- bun: {
36
- label: "Bun",
37
- build: "bun run build-bun.ts",
38
- deploy: "bun run start",
39
- steps: ["bun run build", "bun run start # serves on $PORT (default 3000), any host"],
40
- },
41
- node: {
42
- label: "Node (Docker)",
43
- build: "bun run build-node.ts",
44
- deploy: "docker build -t NAME . && docker run -p 3000:3000 NAME",
45
- steps: ["bun run build", "bun run deploy # docker build + run (or `bun run start:node`)"],
46
- },
47
- deno: {
48
- label: "Deno Deploy",
49
- build: "bun run build-deno.ts",
50
- deploy: "deployctl deploy --prod --entrypoint=dist-deno/server-deno.js",
51
- steps: [
52
- "bun run build",
53
- "bun run deploy # deployctl (install: deno install -A jsr:@deno/deployctl)",
54
- ],
55
- },
56
- "cf-pages": {
57
- label: "Cloudflare Pages",
58
- build: "bun run build.ts",
59
- deploy: "wrangler pages deploy dist",
60
- steps: ["bun run build", "bun run deploy # wrangler pages deploy dist"],
61
- },
62
- vercel: {
63
- label: "Vercel Edge",
64
- build: "bun run build-vercel.ts",
65
- deploy: "vercel deploy --prebuilt",
66
- steps: ["bun run build", "bun run deploy # vercel deploy --prebuilt"],
67
- },
68
- };
37
+ /** The next-steps lines after `bun run dev`, per deploy target. */
38
+ function targetSteps(target, docker) {
39
+ const spec = TARGETS[target];
40
+ if (docker)
41
+ return ["bun run build", "bun run deploy # docker build + run"];
42
+ return [
43
+ "bun run build",
44
+ ...(spec.deploy !== undefined
45
+ ? [`bun run deploy # ${spec.deploy}`]
46
+ : [`bun run start # ${spec.start}, any host`]),
47
+ ];
48
+ }
69
49
  // Self-hosted servers (bun/node) have no canonical push-to-deploy - CI builds + uploads the artifact and
70
50
  // leaves a host-specific placeholder. The managed targets use the vendor's official action/CLI.
71
- const SELF_HOSTED_STEP = (hint) => ` # Self-hosted: deploy is host-specific. The build output is in dist*/ - add your step here
51
+ const SELF_HOSTED_STEP = (hint) => ` # Self-hosted: deploy is host-specific. The build output is in dist/ - add your step here
72
52
  # (${hint}). Until then, CI builds on every push and uploads the bundle as an artifact.
73
53
  - name: Upload build
74
54
  if: github.ref == 'refs/heads/main'
75
55
  uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02
76
56
  with:
77
57
  name: build
78
- path: dist*`;
58
+ path: dist`;
79
59
  const CI_DEPLOY = {
80
60
  bun: {
81
61
  permissions: " contents: read",
@@ -85,7 +65,7 @@ const CI_DEPLOY = {
85
65
  node: {
86
66
  permissions: " contents: read",
87
67
  secrets: [],
88
- step: SELF_HOSTED_STEP("the template ships a Dockerfile - push to a registry, or flyctl/SSH"),
68
+ step: SELF_HOSTED_STEP("with --docker, push the image to a registry; or flyctl/SSH"),
89
69
  },
90
70
  deno: {
91
71
  // OIDC: link the repo in the Deno Deploy dashboard (no token needed) - needs id-token: write.
@@ -96,9 +76,9 @@ const CI_DEPLOY = {
96
76
  uses: denoland/deployctl@87e43e57b2336bcaf96bcd193687edcb3c5795c1
97
77
  with:
98
78
  project: NAME
99
- entrypoint: dist-deno/server-deno.js`,
79
+ entrypoint: dist/server.js`,
100
80
  },
101
- "cf-pages": {
81
+ cloudflare: {
102
82
  permissions: " contents: read",
103
83
  secrets: ["CLOUDFLARE_API_TOKEN", "CLOUDFLARE_ACCOUNT_ID"],
104
84
  step: ` - name: Publish to Cloudflare Pages
@@ -123,11 +103,11 @@ const CI_DEPLOY = {
123
103
  };
124
104
  /**
125
105
  * Build a GitHub Actions workflow that builds on every push/PR and deploys `target` on a push to `main`.
126
- * Reuses the canonical `bun run build` (the deploy preset repoints it), then runs the target's official
127
- * deploy mechanism. Exported for unit tests. Throws on an unknown target.
106
+ * Runs `bun run build` (`nifra build` for the app's target), then the target's official deploy
107
+ * mechanism. Exported for unit tests. Throws on an unknown target.
128
108
  */
129
109
  export function githubDeployWorkflow(target, appName) {
130
- const ci = CI_DEPLOY[target];
110
+ const ci = isDeployTarget(target) ? CI_DEPLOY[target] : undefined;
131
111
  if (ci === undefined) {
132
112
  throw new Error(`no CI workflow for deploy target "${target}"`);
133
113
  }
@@ -149,19 +129,21 @@ jobs:
149
129
  steps:
150
130
  - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
151
131
  - uses: oven-sh/setup-bun@0c5077e51419868618aeaa5fe8019c62421857d6
132
+ with:
133
+ bun-version: 1.4.2
152
134
  - run: bun install --frozen-lockfile
153
135
  # The gate, before the build. nifra.assurance.ts states what these routes must prove - an
154
136
  # unauthenticated write, a mutation with no body schema, a handler reaching a database it never
155
137
  # declared. Shipping that config without ever running it makes it decoration.
156
138
  - run: bun run check
157
139
  - run: bun run build
158
- ${ci.step.replaceAll("NAME", appName)}
140
+ ${ci.step.replaceAll("NAME", deployName(appName))}
159
141
  `;
160
142
  }
161
143
  /**
162
- * Copy a template into `target` and finalize it (gitignore rename, package name, optional deploy preset).
163
- * Throws on: unknown template, `--deploy` with a non-site template, unknown deploy target, or an existing
164
- * destination. Pure enough to unit-test (no argv, no process.exit).
144
+ * Copy a template into `target` and finalize it (gitignore rename, package name, the site's deploy target).
145
+ * Throws on: unknown template, `--target`/`--docker` with a non-site template, unknown deploy target, or
146
+ * an existing destination. Pure enough to unit-test (no argv, no process.exit).
165
147
  */
166
148
  export async function scaffold(opts) {
167
149
  // Validated first, before a single file is copied - a name rejected halfway through would leave a
@@ -170,7 +152,11 @@ export async function scaffold(opts) {
170
152
  // them aborts a scaffold npm would have accepted. Still narrow, because the name is substituted into
171
153
  // deploy scripts (`--name NAME`) that a shell runs - hence no metacharacters, no whitespace, and no
172
154
  // leading `-` to be read as a flag.
173
- const name = basename(opts.target);
155
+ // Resolved first, so `bun create nifra . --force` names the project after the directory it is in.
156
+ // Every path below is built from the resolved directory: on Windows, Bun fails to create `.` itself
157
+ // (EEXIST), which `mkdir(dirname(join(".", "AGENTS.md")), { recursive: true })` would ask it to.
158
+ const dir = resolve(opts.target);
159
+ const name = basename(dir);
174
160
  if (!/^[A-Za-z0-9][A-Za-z0-9._-]*$/.test(name) || name.length > 214) {
175
161
  throw new Error(`invalid project name ${JSON.stringify(name)}: use letters, digits, "-", "_", and "." ` +
176
162
  `(starting with a letter or digit), up to 214 characters`);
@@ -194,22 +180,32 @@ export async function scaffold(opts) {
194
180
  }
195
181
  framework = opts.framework;
196
182
  }
197
- let preset;
198
- if (opts.deploy !== undefined) {
199
- if (template !== "site") {
200
- throw new Error(`--deploy requires the site template (got "${template}")`);
201
- }
202
- preset = DEPLOY[opts.deploy];
203
- if (preset === undefined) {
204
- throw new Error(`unknown deploy target "${opts.deploy}". options: ${Object.keys(DEPLOY).join(", ")}`);
183
+ if (template !== "site") {
184
+ for (const [flag, given] of [
185
+ ["--target", opts.deployTarget !== undefined],
186
+ ["--docker", opts.docker === true],
187
+ ["--ci", opts.ci !== undefined],
188
+ ]) {
189
+ if (given)
190
+ throw new Error(`${flag} requires the site template (got "${template}")`);
205
191
  }
206
192
  }
207
- if (opts.ci !== undefined) {
208
- if (opts.ci !== "github")
209
- throw new Error(`unknown --ci "${opts.ci}". options: github`);
210
- if (preset === undefined) {
211
- throw new Error("--ci requires --deploy <target> (the workflow deploys that target)");
193
+ let deploy;
194
+ if (template === "site") {
195
+ const target = opts.deployTarget ?? "bun";
196
+ if (target === "cf-pages")
197
+ throw new Error('the deploy target "cf-pages" is now "cloudflare"');
198
+ if (!isDeployTarget(target)) {
199
+ throw new Error(`unknown deploy target "${target}". options: ${DEPLOY_TARGETS.join(", ")}`);
200
+ }
201
+ const docker = opts.docker === true;
202
+ if (docker && !TARGETS[target].docker) {
203
+ throw new Error(`--docker builds a self-hosting server image (bun or node); ${TARGETS[target].label} runs the app itself`);
212
204
  }
205
+ deploy = { target, label: TARGETS[target].label, docker };
206
+ }
207
+ if (opts.ci !== undefined && opts.ci !== "github") {
208
+ throw new Error(`unknown --ci "${opts.ci}". options: github`);
213
209
  }
214
210
  // DB preset (any template - an API or a site can both want persistence).
215
211
  let db;
@@ -231,43 +227,50 @@ export async function scaffold(opts) {
231
227
  assertAuthableDb(db); // reject --auth + an ORM with no drop-in better-auth adapter (e.g. Kysely)
232
228
  auth = opts.auth;
233
229
  }
230
+ // An occupied destination is refused before the first write. The template copy alone would refuse
231
+ // only a colliding template file, and every file written after it (.gitignore, AGENTS.md, the agent
232
+ // and MCP configs) would still replace one of the user's.
233
+ if (opts.force !== true && (await readdir(dir).catch(() => [])).length > 0) {
234
+ throw new Error(`"${opts.target}" already exists and is not empty`);
235
+ }
234
236
  // The site scaffold is COMPOSED rather than copied: thirteen of its files are identical whatever you
235
237
  // render with, eight are emitted from the framework model, and five are the framework's own. The
236
238
  // other templates are still a plain copy - they have no framework axis to collapse.
237
239
  // Either way the default refuses an occupied destination rather than clobbering it; --force is what
238
240
  // `bun create nifra .` needs.
239
- if (template === "site") {
240
- await materializeSite(opts.target, framework ?? "react", { force: opts.force === true });
241
+ if (deploy !== undefined) {
242
+ await materializeSite(dir, framework ?? "react", {
243
+ force: opts.force === true,
244
+ target: deploy.target,
245
+ docker: deploy.docker,
246
+ name,
247
+ });
241
248
  }
242
249
  else {
243
250
  const templateDir = fileURLToPath(new URL(TEMPLATES[template], import.meta.url));
244
- await cp(templateDir, opts.target, {
245
- recursive: true,
246
- ...(opts.force ? { force: true } : { errorOnExist: true, force: false }),
247
- });
251
+ // The destination is empty or --force was given (checked above), so nothing here replaces a file of
252
+ // the user's; Bun's errorOnExist would also refuse an existing empty directory.
253
+ await cp(templateDir, dir, { recursive: true, force: true });
254
+ if (template === "isr") {
255
+ for (const [file, contents] of starterRouteTypes("tsx")) {
256
+ await mkdir(dirname(join(dir, file)), { recursive: true });
257
+ await writeFile(join(dir, file), contents);
258
+ }
259
+ }
248
260
  }
249
261
  // The template ships its ignore file as `gitignore` (npm strips a literal `.gitignore`); restore the dot.
250
262
  try {
251
- await rename(join(opts.target, "gitignore"), join(opts.target, ".gitignore"));
263
+ await rename(join(dir, "gitignore"), join(dir, ".gitignore"));
252
264
  }
253
265
  catch {
254
266
  // A template without a `gitignore` - nothing to restore.
255
267
  }
256
- const pkgPath = join(opts.target, "package.json");
268
+ const pkgPath = join(dir, "package.json");
257
269
  const pkg = JSON.parse(await readFile(pkgPath, "utf8"));
258
270
  pkg.name = name;
259
271
  // Every feature states what it contributes and the merge refuses an undeclared collision, so which
260
- // flag was handled first stops deciding what a project ends up with. `--deploy` repoints the
261
- // canonical `build`/`deploy` aliases, which is the flag's purpose, so it says so.
272
+ // flag was handled first stops deciding what a project ends up with.
262
273
  const features = [];
263
- if (preset !== undefined) {
264
- // Multi-target stays intact (build:*, deploy:* scripts); just point the canonical aliases at the pick.
265
- features.push({
266
- label: `--deploy ${opts.deploy}`,
267
- scripts: { build: preset.build, deploy: preset.deploy.replaceAll("NAME", name) },
268
- replaces: ["build", "deploy"],
269
- });
270
- }
271
274
  if (db !== undefined) {
272
275
  // Merge the Drizzle preset's deps + db:* scripts; `bun install` then resolves them.
273
276
  const dbp = DB_PRESETS[db];
@@ -297,7 +300,7 @@ export async function scaffold(opts) {
297
300
  }
298
301
  };
299
302
  const linkPackages = real(resolve(opts.link, "packages"));
300
- const targetAbs = real(resolve(opts.target));
303
+ const targetAbs = real(dir);
301
304
  for (const section of ["dependencies", "devDependencies"]) {
302
305
  const deps = pkg[section];
303
306
  if (deps === undefined)
@@ -315,61 +318,56 @@ export async function scaffold(opts) {
315
318
  await writeFile(pkgPath, `${JSON.stringify(pkg, null, 2)}\n`);
316
319
  // Ship agent guidance so a coding agent (Claude Code, Cursor, …) writes correct nifra code from the
317
320
  // first prompt - the conventions + the gotchas, tailored to this template.
318
- await writeFile(join(opts.target, "AGENTS.md"), agentsMd({
321
+ await writeFile(join(dir, "AGENTS.md"), agentsMd({
319
322
  template,
320
323
  framework: framework ?? "react",
321
324
  name,
322
325
  ...(db !== undefined ? { db } : {}),
323
326
  ...(auth !== undefined ? { auth } : {}),
324
327
  }));
325
- // Register the project's nifra MCP server so a coding agent auto-discovers it. Claude Code reads
326
- // `.mcp.json` + `CLAUDE.md`; Cursor reads `.cursor/mcp.json`. All three come from one canonical config
327
- // (agent-files.ts) so they can't drift. CLAUDE.md is a short MCP-first preamble that `@AGENTS.md`-imports
328
- // the full cookbook rather than duplicating it.
329
- await writeFile(join(opts.target, MCP_JSON_PATH), mcpJson());
330
- await writeFile(join(opts.target, CLAUDE_MD_PATH), claudeMd());
331
- await mkdir(join(opts.target, ".cursor"), { recursive: true });
332
- await writeFile(join(opts.target, CURSOR_MCP_JSON_PATH), mcpJson());
328
+ // Every agent's own file points at AGENTS.md, and both MCP registries launch the same server - all from
329
+ // agent-files.ts, which `nifra init-agents` shares, so none of them can drift.
330
+ await writeFile(join(dir, MCP_JSON_PATH), mcpJson());
331
+ await mkdir(join(dir, ".cursor"), { recursive: true });
332
+ await writeFile(join(dir, CURSOR_MCP_JSON_PATH), mcpJson());
333
+ for (const pointer of AGENT_POINTERS) {
334
+ const path = join(dir, pointer.path);
335
+ await mkdir(dirname(path), { recursive: true });
336
+ await writeFile(path, pointer.content());
337
+ }
333
338
  // Wire the Drizzle data layer (db/ module + drizzle.config + .env.example + gitignore entries).
334
339
  if (db !== undefined)
335
- await writeDbFiles(opts.target, db);
340
+ await writeDbFiles(dir, db);
336
341
  // Wire auth AFTER the DB (it appends to the .env.example the DB preset wrote; --auth requires --db).
337
342
  if (auth !== undefined && db !== undefined)
338
- await writeAuthFiles(opts.target, auth, db);
339
- // Fill the project name into the site template's wrangler config (CF Pages project name).
340
- if (template === "site") {
341
- const wranglerPath = join(opts.target, "wrangler.toml");
342
- try {
343
- const toml = await readFile(wranglerPath, "utf8");
344
- await writeFile(wranglerPath, toml.replace(/^name = ".*"$/m, `name = "${name}"`));
345
- }
346
- catch {
347
- // No wrangler.toml - skip the name fill.
348
- }
349
- }
350
- // Emit a CI deploy workflow for the chosen target (validated above to require a deploy preset).
343
+ await writeAuthFiles(dir, auth, db);
344
+ // Emit a CI deploy workflow for the site's target.
351
345
  let ciResult;
352
- if (opts.ci === "github" && opts.deploy !== undefined) {
353
- const workflowsDir = join(opts.target, ".github", "workflows");
346
+ if (opts.ci === "github" && deploy !== undefined) {
347
+ const workflowsDir = join(dir, ".github", "workflows");
354
348
  await mkdir(workflowsDir, { recursive: true });
355
- await writeFile(join(workflowsDir, "deploy.yml"), githubDeployWorkflow(opts.deploy, name));
356
- ciResult = { ci: "github", ciSecrets: CI_DEPLOY[opts.deploy]?.secrets ?? [] };
349
+ await writeFile(join(workflowsDir, "deploy.yml"), githubDeployWorkflow(deploy.target, name));
350
+ ciResult = { ci: "github", ciSecrets: CI_DEPLOY[deploy.target].secrets };
357
351
  }
358
352
  return {
359
353
  name,
360
354
  template,
361
355
  ...(framework !== undefined ? { framework } : {}),
362
- ...(preset !== undefined ? { deploy: preset } : {}),
356
+ ...(deploy !== undefined ? { deploy } : {}),
363
357
  ...(ciResult !== undefined ? ciResult : {}),
364
358
  ...(db !== undefined ? { db } : {}),
365
359
  ...(auth !== undefined ? { auth } : {}),
366
360
  ...(opts.link !== undefined ? { link: opts.link } : {}),
367
361
  };
368
362
  }
369
- /** Parse `[dir] [--template|-t <t>] [--framework|-f <fw>] [--deploy|-d <target>] [--ci|-c github]
363
+ /** Parse `[dir] [--template|-t <t>] [--framework|-f <fw>] [--target <t>] [--docker] [--ci|-c github]
370
364
  * [--db <preset>] [--auth <preset>] [--force] [--link <path>]`.
371
- * `--framework`/`--deploy`/`--ci` all default the template to `site`. */
365
+ * `--framework`/`--target`/`--docker`/`--ci` all default the template to `site`. Throws on the retired
366
+ * `--deploy`. */
372
367
  export function parseArgs(argv) {
368
+ if (argv.includes("--deploy") || argv.includes("-d")) {
369
+ throw new Error("--deploy is now --target (bun | node | deno | cloudflare | vercel)");
370
+ }
373
371
  const rest = [...argv];
374
372
  const take = (...flags) => {
375
373
  const i = rest.findIndex((a) => flags.includes(a));
@@ -388,21 +386,25 @@ export function parseArgs(argv) {
388
386
  };
389
387
  const templateFlag = take("--template", "-t");
390
388
  const framework = take("--framework", "-f");
391
- const deploy = take("--deploy", "-d");
389
+ const deployTarget = take("--target");
390
+ const docker = hasFlag("--docker");
392
391
  const ci = take("--ci", "-c");
393
392
  const db = take("--db");
394
393
  const auth = take("--auth");
395
394
  const link = take("--link");
396
395
  const force = hasFlag("--force");
397
396
  const target = rest.find((a) => !a.startsWith("-"));
398
- // `--framework`/`--deploy`/`--ci` imply the multi-target site template unless one was named explicitly.
397
+ // `--framework`/`--target`/`--docker`/`--ci` imply the site template unless one was named explicitly.
399
398
  const template = (templateFlag ??
400
- (framework !== undefined || deploy !== undefined || ci !== undefined ? "site" : undefined));
399
+ (framework !== undefined || deployTarget !== undefined || docker || ci !== undefined
400
+ ? "site"
401
+ : undefined));
401
402
  return {
402
403
  ...(target !== undefined ? { target } : {}),
403
404
  ...(template !== undefined ? { template } : {}),
404
405
  ...(framework !== undefined ? { framework } : {}),
405
- ...(deploy !== undefined ? { deploy } : {}),
406
+ ...(deployTarget !== undefined ? { deployTarget } : {}),
407
+ ...(docker ? { docker } : {}),
406
408
  ...(ci !== undefined ? { ci } : {}),
407
409
  ...(db !== undefined ? { db } : {}),
408
410
  ...(auth !== undefined ? { auth } : {}),
@@ -410,13 +412,20 @@ export function parseArgs(argv) {
410
412
  ...(force ? { force } : {}),
411
413
  };
412
414
  }
413
- const USAGE = `usage: bun create nifra <directory> [--template api|site|isr|batteries] [--framework react|preact|vue|solid|svelte] [--deploy bun|node|deno|cf-pages|vercel] [--ci github] [--db ${DB_CHOICES.join("|")}] [--auth ${AUTH_CHOICES.join("|")}] [--force] [--link <path-to-nifra-repo>]`;
415
+ const USAGE = `usage: bun create nifra <directory> [--template api|site|isr|batteries] [--framework react|preact|vue|solid|svelte] [--target bun|node|deno|cloudflare|vercel] [--docker] [--ci github] [--db ${DB_CHOICES.join("|")}] [--auth ${AUTH_CHOICES.join("|")}] [--force] [--link <path-to-nifra-repo>]`;
414
416
  /**
415
417
  * Run the CLI for `argv` and return the exit code + the message to print - no `process.exit`, `console`,
416
418
  * or `process.argv`, so the whole flow (parse → scaffold → next-steps) is unit-testable in-process.
417
419
  */
418
420
  export async function run(argv) {
419
- const { target, template, framework, deploy, ci, db, auth, force, link } = parseArgs(argv);
421
+ let parsed;
422
+ try {
423
+ parsed = parseArgs(argv);
424
+ }
425
+ catch (err) {
426
+ return { code: 1, message: `✗ ${err instanceof Error ? err.message : String(err)}` };
427
+ }
428
+ const { target, template, framework, deployTarget, docker, ci, db, auth, force, link } = parsed;
420
429
  if (target === undefined)
421
430
  return { code: 1, message: USAGE };
422
431
  let result;
@@ -425,7 +434,8 @@ export async function run(argv) {
425
434
  target,
426
435
  ...(template !== undefined ? { template } : {}),
427
436
  ...(framework !== undefined ? { framework } : {}),
428
- ...(deploy !== undefined ? { deploy } : {}),
437
+ ...(deployTarget !== undefined ? { deployTarget } : {}),
438
+ ...(docker ? { docker } : {}),
429
439
  ...(ci !== undefined ? { ci } : {}),
430
440
  ...(db !== undefined ? { db } : {}),
431
441
  ...(auth !== undefined ? { auth } : {}),
@@ -435,8 +445,9 @@ export async function run(argv) {
435
445
  }
436
446
  catch (err) {
437
447
  const msg = err instanceof Error ? err.message : String(err);
438
- // A copy failure is almost always "destination exists" - say so plainly.
439
- const friendly = /exist/i.test(msg)
448
+ // Without --force a copy failure is almost always "destination exists" - say so plainly. With it,
449
+ // that advice is wrong, and the error itself is the only clue.
450
+ const friendly = !force && /exist/i.test(msg)
440
451
  ? `refusing to scaffold: "${target}" already exists. Use --force to overwrite.`
441
452
  : msg;
442
453
  return { code: 1, message: `✗ ${friendly}` };
@@ -452,16 +463,16 @@ export async function run(argv) {
452
463
  }
453
464
  else if (result.deploy !== undefined) {
454
465
  steps[2] = "bun run dev # local preview";
455
- steps.push(...result.deploy.steps);
466
+ steps.push(...targetSteps(result.deploy.target, result.deploy.docker));
456
467
  }
457
468
  if (result.db !== undefined) {
458
469
  // After install: set the connection string. When auth is wired, generate its tables into the schema
459
470
  // FIRST, then create + apply the migration so the auth tables are included.
460
471
  steps.push(`cp .env.example .env # then set DATABASE_URL${result.auth ? " + BETTER_AUTH_SECRET" : ""}`);
461
472
  if (result.auth !== undefined) {
462
- steps.push("bunx @better-auth/cli@latest generate # writes auth tables into db/schema.ts");
473
+ steps.push("bunx @better-auth/cli@latest generate --config backend/auth.ts # the auth tables");
463
474
  }
464
- steps.push("bun run db:generate # SQL from db/schema.ts", "bun run db:migrate # apply it");
475
+ steps.push("bun run db:generate # SQL from backend/db/schema.ts", "bun run db:migrate # apply it");
465
476
  }
466
477
  // Tag the chosen framework + deploy target + db + auth, e.g. "(Vue, Drizzle + libSQL, better-auth)".
467
478
  const tags = [
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;GAWG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AACtC,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AACzE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAC7D,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AACvD,OAAO,EACL,cAAc,EACd,oBAAoB,EACpB,QAAQ,EACR,aAAa,EACb,OAAO,GACR,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AACtC,OAAO,EACL,YAAY,EACZ,YAAY,EAEZ,gBAAgB,EAChB,cAAc,GACf,MAAM,WAAW,CAAA;AAClB,OAAO,EAAE,UAAU,EAAE,UAAU,EAAiB,YAAY,EAAE,MAAM,SAAS,CAAA;AAC7E,OAAO,EAAE,aAAa,EAA4B,MAAM,wBAAwB,CAAA;AAChF,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAEpD,MAAM,SAAS,GAAG;IAChB,GAAG,EAAE,aAAa;IAClB,IAAI,EAAE,kBAAkB;IACxB,GAAG,EAAE,iBAAiB;IACtB,SAAS,EAAE,uBAAuB;CAC1B,CAAA;AAGV;;eAEe;AACf,MAAM,UAAU,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAU,CAAA;AAgBzE,MAAM,MAAM,GAAiC;IAC3C,GAAG,EAAE;QACH,KAAK,EAAE,KAAK;QACZ,KAAK,EAAE,sBAAsB;QAC7B,MAAM,EAAE,eAAe;QACvB,KAAK,EAAE,CAAC,eAAe,EAAE,iEAAiE,CAAC;KAC5F;IACD,IAAI,EAAE;QACJ,KAAK,EAAE,eAAe;QACtB,KAAK,EAAE,uBAAuB;QAC9B,MAAM,EAAE,wDAAwD;QAChE,KAAK,EAAE,CAAC,eAAe,EAAE,qEAAqE,CAAC;KAChG;IACD,IAAI,EAAE;QACJ,KAAK,EAAE,aAAa;QACpB,KAAK,EAAE,uBAAuB;QAC9B,MAAM,EAAE,+DAA+D;QACvE,KAAK,EAAE;YACL,eAAe;YACf,iFAAiF;SAClF;KACF;IACD,UAAU,EAAE;QACV,KAAK,EAAE,kBAAkB;QACzB,KAAK,EAAE,kBAAkB;QACzB,MAAM,EAAE,4BAA4B;QACpC,KAAK,EAAE,CAAC,eAAe,EAAE,mDAAmD,CAAC;KAC9E;IACD,MAAM,EAAE;QACN,KAAK,EAAE,aAAa;QACpB,KAAK,EAAE,yBAAyB;QAChC,MAAM,EAAE,0BAA0B;QAClC,KAAK,EAAE,CAAC,eAAe,EAAE,iDAAiD,CAAC;KAC5E;CACF,CAAA;AAED,yGAAyG;AACzG,gGAAgG;AAChG,MAAM,gBAAgB,GAAG,CAAC,IAAY,EAAU,EAAE,CAChD;WACS,IAAI;;;;;;sBAMO,CAAA;AAWtB,MAAM,SAAS,GAA6B;IAC1C,GAAG,EAAE;QACH,WAAW,EAAE,kBAAkB;QAC/B,OAAO,EAAE,EAAE;QACX,IAAI,EAAE,gBAAgB,CAAC,0DAA0D,CAAC;KACnF;IACD,IAAI,EAAE;QACJ,WAAW,EAAE,kBAAkB;QAC/B,OAAO,EAAE,EAAE;QACX,IAAI,EAAE,gBAAgB,CAAC,qEAAqE,CAAC;KAC9F;IACD,IAAI,EAAE;QACJ,8FAA8F;QAC9F,WAAW,EAAE,qCAAqC;QAClD,OAAO,EAAE,EAAE;QACX,IAAI,EAAE;;;;;+CAKqC;KAC5C;IACD,UAAU,EAAE;QACV,WAAW,EAAE,kBAAkB;QAC/B,OAAO,EAAE,CAAC,sBAAsB,EAAE,uBAAuB,CAAC;QAC1D,IAAI,EAAE;;;;;;yDAM+C;KACtD;IACD,MAAM,EAAE;QACN,WAAW,EAAE,kBAAkB;QAC/B,OAAO,EAAE,CAAC,cAAc,EAAE,eAAe,EAAE,mBAAmB,CAAC;QAC/D,IAAI,EAAE;;;;;;+DAMqD;KAC5D;CACF,CAAA;AAED;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAAC,MAAc,EAAE,OAAe;IAClE,MAAM,EAAE,GAAG,SAAS,CAAC,MAAM,CAAC,CAAA;IAC5B,IAAI,EAAE,KAAK,SAAS,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,qCAAqC,MAAM,GAAG,CAAC,CAAA;IACjE,CAAC;IACD,MAAM,MAAM,GACV,EAAE,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;QACnB,CAAC,CAAC,iFAAiF,EAAE,CAAC,OAAO;aACxF,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;aACtB,IAAI,CAAC,IAAI,CAAC,IAAI;QACnB,CAAC,CAAC,6DAA6D,CAAA;IACnE,OAAO,GAAG,MAAM;;;;;;EAMhB,EAAE,CAAC,WAAW;;;;;;;;;;;;;EAad,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC;CACpC,CAAA;AACD,CAAC;AAyCD;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,IAAqB;IAClD,kGAAkG;IAClG,kGAAkG;IAClG,oGAAoG;IACpG,qGAAqG;IACrG,oGAAoG;IACpG,oCAAoC;IACpC,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IAClC,IAAI,CAAC,8BAA8B,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;QACpE,MAAM,IAAI,KAAK,CACb,wBAAwB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,2CAA2C;YACrF,yDAAyD,CAC5D,CAAA;IACH,CAAC;IACD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,KAAK,CAAA;IACvC,IAAI,SAAS,CAAC,QAAQ,CAAC,KAAK,SAAS,EAAE,CAAC;QACtC,kGAAkG;QAClG,IAAK,QAAmB,KAAK,WAAW,EAAE,CAAC;YACzC,MAAM,IAAI,KAAK,CACb,0KAA0K,CAC3K,CAAA;QACH,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,qBAAqB,QAAQ,eAAe,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAClG,CAAC;IACD,0FAA0F;IAC1F,IAAI,SAAgC,CAAA;IACpC,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QACjC,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,gDAAgD,QAAQ,IAAI,CAAC,CAAA;QAC/E,CAAC;QACD,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAsB,CAAC,EAAE,CAAC;YACtD,MAAM,IAAI,KAAK,CAAC,sBAAsB,IAAI,CAAC,SAAS,eAAe,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAC7F,CAAC;QACD,SAAS,GAAG,IAAI,CAAC,SAAsB,CAAA;IACzC,CAAC;IAED,IAAI,MAAgC,CAAA;IACpC,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAC9B,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,6CAA6C,QAAQ,IAAI,CAAC,CAAA;QAC5E,CAAC;QACD,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAC5B,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CACb,0BAA0B,IAAI,CAAC,MAAM,eAAe,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACrF,CAAA;QACH,CAAC;IACH,CAAC;IAED,IAAI,IAAI,CAAC,EAAE,KAAK,SAAS,EAAE,CAAC;QAC1B,IAAI,IAAI,CAAC,EAAE,KAAK,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,iBAAiB,IAAI,CAAC,EAAE,oBAAoB,CAAC,CAAA;QACvF,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,oEAAoE,CAAC,CAAA;QACvF,CAAC;IACH,CAAC;IAED,yEAAyE;IACzE,IAAI,EAAwB,CAAA;IAC5B,IAAI,IAAI,CAAC,EAAE,KAAK,SAAS,EAAE,CAAC;QAC1B,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAc,CAAC,EAAE,CAAC;YAC9C,MAAM,IAAI,KAAK,CAAC,iBAAiB,IAAI,CAAC,EAAE,eAAe,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACjF,CAAC;QACD,EAAE,GAAG,IAAI,CAAC,EAAc,CAAA;IAC1B,CAAC;IAED,mGAAmG;IACnG,IAAI,IAA4B,CAAA;IAChC,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC5B,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAkB,CAAC,EAAE,CAAC;YACpD,MAAM,IAAI,KAAK,CAAC,mBAAmB,IAAI,CAAC,IAAI,eAAe,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACvF,CAAC;QACD,IAAI,EAAE,KAAK,SAAS,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CACb,+EAA+E,CAChF,CAAA;QACH,CAAC;QACD,gBAAgB,CAAC,EAAE,CAAC,CAAA,CAAC,2EAA2E;QAChG,IAAI,GAAG,IAAI,CAAC,IAAkB,CAAA;IAChC,CAAC;IAED,qGAAqG;IACrG,iGAAiG;IACjG,oFAAoF;IACpF,oGAAoG;IACpG,8BAA8B;IAC9B,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;QACxB,MAAM,eAAe,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,IAAI,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC,CAAA;IAC1F,CAAC;SAAM,CAAC;QACN,MAAM,WAAW,GAAG,aAAa,CAAC,IAAI,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;QAChF,MAAM,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC,MAAM,EAAE;YACjC,SAAS,EAAE,IAAI;YACf,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;SACzE,CAAC,CAAA;IACJ,CAAC;IAED,0GAA0G;IAC1G,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC,CAAA;IAC/E,CAAC;IAAC,MAAM,CAAC;QACP,yDAAyD;IAC3D,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,cAAc,CAAC,CAAA;IACjD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,CAKrD,CAAA;IACD,GAAG,CAAC,IAAI,GAAG,IAAI,CAAA;IACf,mGAAmG;IACnG,6FAA6F;IAC7F,kFAAkF;IAClF,MAAM,QAAQ,GAA0B,EAAE,CAAA;IAC1C,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,uGAAuG;QACvG,QAAQ,CAAC,IAAI,CAAC;YACZ,KAAK,EAAE,YAAY,IAAI,CAAC,MAAM,EAAE;YAChC,OAAO,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE;YAChF,QAAQ,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC;SAC9B,CAAC,CAAA;IACJ,CAAC;IACD,IAAI,EAAE,KAAK,SAAS,EAAE,CAAC;QACrB,oFAAoF;QACpF,MAAM,GAAG,GAAG,UAAU,CAAC,EAAE,CAAC,CAAA;QAC1B,QAAQ,CAAC,IAAI,CAAC;YACZ,KAAK,EAAE,QAAQ,EAAE,EAAE;YACnB,YAAY,EAAE,GAAG,CAAC,IAAI;YACtB,eAAe,EAAE,GAAG,CAAC,OAAO;YAC5B,OAAO,EAAE,GAAG,CAAC,OAAO;SACrB,CAAC,CAAA;IACJ,CAAC;IACD,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,UAAU,IAAI,EAAE,EAAE,YAAY,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAA;IACnF,CAAC;IACD,aAAa,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAA;IAC5B,qGAAqG;IACrG,+FAA+F;IAC/F,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC5B,sFAAsF;QACtF,uFAAuF;QACvF,6EAA6E;QAC7E,MAAM,IAAI,GAAG,CAAC,CAAS,EAAU,EAAE;YACjC,IAAI,CAAC;gBACH,OAAO,YAAY,CAAC,CAAC,CAAC,CAAA;YACxB,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,CAAC,CAAA;YACV,CAAC;QACH,CAAC,CAAA;QACD,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAA;QACzD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA;QAC5C,KAAK,MAAM,OAAO,IAAI,CAAC,cAAc,EAAE,iBAAiB,CAAU,EAAE,CAAC;YACnE,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,CAAA;YACzB,IAAI,IAAI,KAAK,SAAS;gBAAE,SAAQ;YAChC,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBACpC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,WAAW,CAAC;oBAAE,SAAQ;gBAC1C,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,EAAE,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAA;gBAChE,IAAI,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;oBAC1D,IAAI,CAAC,GAAG,CAAC,GAAG,QAAQ,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,EAAE,CAAA;gBACnD,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IACD,MAAM,SAAS,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAA;IAE7D,oGAAoG;IACpG,2EAA2E;IAC3E,MAAM,SAAS,CACb,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC,EAC9B,QAAQ,CAAC;QACP,QAAQ;QACR,SAAS,EAAE,SAAS,IAAI,OAAO;QAC/B,IAAI;QACJ,GAAG,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnC,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACxC,CAAC,CACH,CAAA;IAED,iGAAiG;IACjG,uGAAuG;IACvG,0GAA0G;IAC1G,gDAAgD;IAChD,MAAM,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,EAAE,OAAO,EAAE,CAAC,CAAA;IAC5D,MAAM,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,cAAc,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAA;IAC9D,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IAC9D,MAAM,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,oBAAoB,CAAC,EAAE,OAAO,EAAE,CAAC,CAAA;IAEnE,gGAAgG;IAChG,IAAI,EAAE,KAAK,SAAS;QAAE,MAAM,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;IACzD,qGAAqG;IACrG,IAAI,IAAI,KAAK,SAAS,IAAI,EAAE,KAAK,SAAS;QAAE,MAAM,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,CAAA;IAEvF,0FAA0F;IAC1F,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;QACxB,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA;QACvD,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,CAAA;YACjD,MAAM,SAAS,CAAC,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,WAAW,IAAI,GAAG,CAAC,CAAC,CAAA;QACnF,CAAC;QAAC,MAAM,CAAC;YACP,yCAAyC;QAC3C,CAAC;IACH,CAAC;IAED,gGAAgG;IAChG,IAAI,QAAoE,CAAA;IACxE,IAAI,IAAI,CAAC,EAAE,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QACtD,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,EAAE,WAAW,CAAC,CAAA;QAC9D,MAAM,KAAK,CAAC,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QAC9C,MAAM,SAAS,CAAC,IAAI,CAAC,YAAY,EAAE,YAAY,CAAC,EAAE,oBAAoB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAA;QAC1F,QAAQ,GAAG,EAAE,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,OAAO,IAAI,EAAE,EAAE,CAAA;IAC/E,CAAC;IAED,OAAO;QACL,IAAI;QACJ,QAAQ;QACR,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjD,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnD,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3C,GAAG,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnC,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvC,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACxD,CAAA;AACH,CAAC;AAcD;;yEAEyE;AACzE,MAAM,UAAU,SAAS,CAAC,IAAuB;IAC/C,MAAM,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,CAAA;IACtB,MAAM,IAAI,GAAG,CAAC,GAAG,KAAe,EAAsB,EAAE;QACtD,MAAM,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;QAClD,IAAI,CAAC,KAAK,CAAC,CAAC;YAAE,OAAO,SAAS,CAAA;QAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;QACzB,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;QACjB,OAAO,KAAK,CAAA;IACd,CAAC,CAAA;IACD,MAAM,OAAO,GAAG,CAAC,GAAG,KAAe,EAAW,EAAE;QAC9C,MAAM,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;QAClD,IAAI,CAAC,KAAK,CAAC,CAAC;YAAE,OAAO,KAAK,CAAA;QAC1B,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;QACjB,OAAO,IAAI,CAAA;IACb,CAAC,CAAA;IACD,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,CAAA;IAC7C,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,CAAA;IAC3C,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAA;IACrC,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IAC7B,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,CAAA;IACvB,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAA;IAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAA;IAC3B,MAAM,KAAK,GAAG,OAAO,CAAC,SAAS,CAAC,CAAA;IAChC,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAA;IACnD,wGAAwG;IACxG,MAAM,QAAQ,GAAG,CAAC,YAAY;QAC5B,CAAC,SAAS,KAAK,SAAS,IAAI,MAAM,KAAK,SAAS,IAAI,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAE/E,CAAA;IACb,OAAO;QACL,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3C,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/C,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjD,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3C,GAAG,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnC,GAAG,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnC,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvC,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC5B,CAAA;AACH,CAAC;AAED,MAAM,KAAK,GAAG,oLAAoL,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,2CAA2C,CAAA;AAEpS;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,GAAG,CAAC,IAAuB;IAC/C,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,SAAS,CAAC,IAAI,CAAC,CAAA;IAC1F,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAA;IAE5D,IAAI,MAAsB,CAAA;IAC1B,IAAI,CAAC;QACH,MAAM,GAAG,MAAM,QAAQ,CAAC;YACtB,MAAM;YACN,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/C,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACjD,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3C,GAAG,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACnC,GAAG,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACnC,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACvC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3B,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACxC,CAAC,CAAA;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;QAC5D,yEAAyE;QACzE,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC;YACjC,CAAC,CAAC,0BAA0B,MAAM,6CAA6C;YAC/E,CAAC,CAAC,GAAG,CAAA;QACP,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,QAAQ,EAAE,EAAE,CAAA;IAC9C,CAAC;IAED,MAAM,KAAK,GAAa,CAAC,MAAM,MAAM,EAAE,EAAE,aAAa,EAAE,aAAa,CAAC,CAAA;IACtE,IAAI,MAAM,CAAC,EAAE,KAAK,SAAS,EAAE,CAAC;QAC5B,wEAAwE;QACxE,KAAK,CAAC,CAAC,CAAC,GAAG,sCAAsC,CAAA;QACjD,IAAI,MAAM,CAAC,SAAS,KAAK,SAAS,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClE,KAAK,CAAC,IAAI,CAAC,uBAAuB,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAClE,CAAC;QACD,KAAK,CAAC,IAAI,CACR,2FAA2F,CAC5F,CAAA;IACH,CAAC;SAAM,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QACvC,KAAK,CAAC,CAAC,CAAC,GAAG,sCAAsC,CAAA;QACjD,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IACpC,CAAC;IACD,IAAI,MAAM,CAAC,EAAE,KAAK,SAAS,EAAE,CAAC;QAC5B,oGAAoG;QACpG,4EAA4E;QAC5E,KAAK,CAAC,IAAI,CACR,+CAA+C,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,EAAE,EAAE,CAC5F,CAAA;QACD,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC9B,KAAK,CAAC,IAAI,CAAC,8EAA8E,CAAC,CAAA;QAC5F,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,8CAA8C,EAAE,iCAAiC,CAAC,CAAA;IAC/F,CAAC;IACD,qGAAqG;IACrG,MAAM,IAAI,GAAG;QACX,GAAG,CAAC,MAAM,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7D,GAAG,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7D,GAAG,CAAC,MAAM,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACjE,GAAG,CAAC,MAAM,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;KACxE,CAAA;IACD,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC9B,KAAK,CAAC,IAAI,CACR,qCAAqC,MAAM,CAAC,IAAI,2DAA2D,CAC5G,CAAA;IACH,CAAC;IACD,MAAM,MAAM,GACV,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,MAAM,KAAK,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,aAAa,MAAM,EAAE,CAAA;IACtF,OAAO;QACL,IAAI,EAAE,CAAC;QACP,OAAO,EAAE,KAAK,MAAM,oBAAoB,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;KAClF,CAAA;AACH,CAAC;AAED;;;;GAIG;AACH,SAAS,YAAY;IACnB,MAAM,QAAQ,GAAI,MAAM,CAAC,IAA2B,CAAC,IAAI,CAAA;IACzD,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,QAAQ,CAAA;IAC3C,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IAC7B,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,KAAK,CAAA;IACrC,IAAI,CAAC;QACH,uGAAuG;QACvG,OAAO,aAAa,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,CAAC,GAAG,CAAA;IACpE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC;AAED,IAAI,YAAY,EAAE,EAAE,CAAC;IACnB,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CACzD;IAAA,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAA;IACpD,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACpB,CAAC"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;GAYG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AACtC,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAClF,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACtE,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AACvD,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAC/F,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAA;AACtC,OAAO,EACL,YAAY,EACZ,YAAY,EAEZ,gBAAgB,EAChB,cAAc,GACf,MAAM,WAAW,CAAA;AAClB,OAAO,EAAE,UAAU,EAAE,UAAU,EAAiB,YAAY,EAAE,MAAM,SAAS,CAAA;AAC7E,OAAO,EAAE,aAAa,EAA4B,MAAM,wBAAwB,CAAA;AAChF,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,EACL,cAAc,EAEd,UAAU,EACV,cAAc,EACd,OAAO,GACR,MAAM,uBAAuB,CAAA;AAE9B,MAAM,SAAS,GAAG;IAChB,GAAG,EAAE,aAAa;IAClB,IAAI,EAAE,kBAAkB;IACxB,GAAG,EAAE,iBAAiB;IACtB,SAAS,EAAE,uBAAuB;CAC1B,CAAA;AAGV;;eAEe;AACf,MAAM,UAAU,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAU,CAAA;AAGzE,mEAAmE;AACnE,SAAS,WAAW,CAAC,MAAoB,EAAE,MAAe;IACxD,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;IAC5B,IAAI,MAAM;QAAE,OAAO,CAAC,eAAe,EAAE,2CAA2C,CAAC,CAAA;IACjF,OAAO;QACL,eAAe;QACf,GAAG,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS;YAC3B,CAAC,CAAC,CAAC,0BAA0B,IAAI,CAAC,MAAM,EAAE,CAAC;YAC3C,CAAC,CAAC,CAAC,0BAA0B,IAAI,CAAC,KAAK,YAAY,CAAC,CAAC;KACxD,CAAA;AACH,CAAC;AAED,yGAAyG;AACzG,gGAAgG;AAChG,MAAM,gBAAgB,GAAG,CAAC,IAAY,EAAU,EAAE,CAChD;WACS,IAAI;;;;;;qBAMM,CAAA;AAWrB,MAAM,SAAS,GAAmC;IAChD,GAAG,EAAE;QACH,WAAW,EAAE,kBAAkB;QAC/B,OAAO,EAAE,EAAE;QACX,IAAI,EAAE,gBAAgB,CAAC,0DAA0D,CAAC;KACnF;IACD,IAAI,EAAE;QACJ,WAAW,EAAE,kBAAkB;QAC/B,OAAO,EAAE,EAAE;QACX,IAAI,EAAE,gBAAgB,CAAC,4DAA4D,CAAC;KACrF;IACD,IAAI,EAAE;QACJ,8FAA8F;QAC9F,WAAW,EAAE,qCAAqC;QAClD,OAAO,EAAE,EAAE;QACX,IAAI,EAAE;;;;;qCAK2B;KAClC;IACD,UAAU,EAAE;QACV,WAAW,EAAE,kBAAkB;QAC/B,OAAO,EAAE,CAAC,sBAAsB,EAAE,uBAAuB,CAAC;QAC1D,IAAI,EAAE;;;;;;yDAM+C;KACtD;IACD,MAAM,EAAE;QACN,WAAW,EAAE,kBAAkB;QAC/B,OAAO,EAAE,CAAC,cAAc,EAAE,eAAe,EAAE,mBAAmB,CAAC;QAC/D,IAAI,EAAE;;;;;;+DAMqD;KAC5D;CACF,CAAA;AAED;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAAC,MAAc,EAAE,OAAe;IAClE,MAAM,EAAE,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;IACjE,IAAI,EAAE,KAAK,SAAS,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,qCAAqC,MAAM,GAAG,CAAC,CAAA;IACjE,CAAC;IACD,MAAM,MAAM,GACV,EAAE,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;QACnB,CAAC,CAAC,iFAAiF,EAAE,CAAC,OAAO;aACxF,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;aACtB,IAAI,CAAC,IAAI,CAAC,IAAI;QACnB,CAAC,CAAC,6DAA6D,CAAA;IACnE,OAAO,GAAG,MAAM;;;;;;EAMhB,EAAE,CAAC,WAAW;;;;;;;;;;;;;;;EAed,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;CAChD,CAAA;AACD,CAAC;AAiDD;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,IAAqB;IAClD,kGAAkG;IAClG,kGAAkG;IAClG,oGAAoG;IACpG,qGAAqG;IACrG,oGAAoG;IACpG,oCAAoC;IACpC,kGAAkG;IAClG,oGAAoG;IACpG,iGAAiG;IACjG,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IAChC,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAA;IAC1B,IAAI,CAAC,8BAA8B,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;QACpE,MAAM,IAAI,KAAK,CACb,wBAAwB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,2CAA2C;YACrF,yDAAyD,CAC5D,CAAA;IACH,CAAC;IACD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,KAAK,CAAA;IACvC,IAAI,SAAS,CAAC,QAAQ,CAAC,KAAK,SAAS,EAAE,CAAC;QACtC,kGAAkG;QAClG,IAAK,QAAmB,KAAK,WAAW,EAAE,CAAC;YACzC,MAAM,IAAI,KAAK,CACb,0KAA0K,CAC3K,CAAA;QACH,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,qBAAqB,QAAQ,eAAe,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IAClG,CAAC;IACD,0FAA0F;IAC1F,IAAI,SAAgC,CAAA;IACpC,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QACjC,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,gDAAgD,QAAQ,IAAI,CAAC,CAAA;QAC/E,CAAC;QACD,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAsB,CAAC,EAAE,CAAC;YACtD,MAAM,IAAI,KAAK,CAAC,sBAAsB,IAAI,CAAC,SAAS,eAAe,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAC7F,CAAC;QACD,SAAS,GAAG,IAAI,CAAC,SAAsB,CAAA;IACzC,CAAC;IAED,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;QACxB,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI;YAC1B,CAAC,UAAU,EAAE,IAAI,CAAC,YAAY,KAAK,SAAS,CAAC;YAC7C,CAAC,UAAU,EAAE,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC;YAClC,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,KAAK,SAAS,CAAC;SACvB,EAAE,CAAC;YACX,IAAI,KAAK;gBAAE,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,qCAAqC,QAAQ,IAAI,CAAC,CAAA;QACtF,CAAC;IACH,CAAC;IACD,IAAI,MAAgC,CAAA;IACpC,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;QACxB,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,IAAI,KAAK,CAAA;QACzC,IAAI,MAAM,KAAK,UAAU;YAAE,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAA;QAC9F,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,0BAA0B,MAAM,eAAe,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAC7F,CAAC;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,KAAK,IAAI,CAAA;QACnC,IAAI,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC;YACtC,MAAM,IAAI,KAAK,CACb,8DAA8D,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,sBAAsB,CAC1G,CAAA;QACH,CAAC;QACD,MAAM,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,CAAA;IAC3D,CAAC;IAED,IAAI,IAAI,CAAC,EAAE,KAAK,SAAS,IAAI,IAAI,CAAC,EAAE,KAAK,QAAQ,EAAE,CAAC;QAClD,MAAM,IAAI,KAAK,CAAC,iBAAiB,IAAI,CAAC,EAAE,oBAAoB,CAAC,CAAA;IAC/D,CAAC;IAED,yEAAyE;IACzE,IAAI,EAAwB,CAAA;IAC5B,IAAI,IAAI,CAAC,EAAE,KAAK,SAAS,EAAE,CAAC;QAC1B,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAc,CAAC,EAAE,CAAC;YAC9C,MAAM,IAAI,KAAK,CAAC,iBAAiB,IAAI,CAAC,EAAE,eAAe,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACjF,CAAC;QACD,EAAE,GAAG,IAAI,CAAC,EAAc,CAAA;IAC1B,CAAC;IAED,mGAAmG;IACnG,IAAI,IAA4B,CAAA;IAChC,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC5B,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAkB,CAAC,EAAE,CAAC;YACpD,MAAM,IAAI,KAAK,CAAC,mBAAmB,IAAI,CAAC,IAAI,eAAe,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACvF,CAAC;QACD,IAAI,EAAE,KAAK,SAAS,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CACb,+EAA+E,CAChF,CAAA;QACH,CAAC;QACD,gBAAgB,CAAC,EAAE,CAAC,CAAA,CAAC,2EAA2E;QAChG,IAAI,GAAG,IAAI,CAAC,IAAkB,CAAA;IAChC,CAAC;IAED,kGAAkG;IAClG,oGAAoG;IACpG,0DAA0D;IAC1D,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,IAAI,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3E,MAAM,IAAI,KAAK,CAAC,IAAI,IAAI,CAAC,MAAM,mCAAmC,CAAC,CAAA;IACrE,CAAC;IAED,qGAAqG;IACrG,iGAAiG;IACjG,oFAAoF;IACpF,oGAAoG;IACpG,8BAA8B;IAC9B,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,MAAM,eAAe,CAAC,GAAG,EAAE,SAAS,IAAI,OAAO,EAAE;YAC/C,KAAK,EAAE,IAAI,CAAC,KAAK,KAAK,IAAI;YAC1B,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,IAAI;SACL,CAAC,CAAA;IACJ,CAAC;SAAM,CAAC;QACN,MAAM,WAAW,GAAG,aAAa,CAAC,IAAI,GAAG,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAA;QAChF,oGAAoG;QACpG,gFAAgF;QAChF,MAAM,EAAE,CAAC,WAAW,EAAE,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAA;QAC5D,IAAI,QAAQ,KAAK,KAAK,EAAE,CAAC;YACvB,KAAK,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC;gBACxD,MAAM,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;gBAC1D,MAAM,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,EAAE,QAAQ,CAAC,CAAA;YAC5C,CAAC;QACH,CAAC;IACH,CAAC;IAED,0GAA0G;IAC1G,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,WAAW,CAAC,EAAE,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC,CAAA;IAC/D,CAAC;IAAC,MAAM,CAAC;QACP,yDAAyD;IAC3D,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,CAAA;IACzC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,CAKrD,CAAA;IACD,GAAG,CAAC,IAAI,GAAG,IAAI,CAAA;IACf,mGAAmG;IACnG,qEAAqE;IACrE,MAAM,QAAQ,GAA0B,EAAE,CAAA;IAC1C,IAAI,EAAE,KAAK,SAAS,EAAE,CAAC;QACrB,oFAAoF;QACpF,MAAM,GAAG,GAAG,UAAU,CAAC,EAAE,CAAC,CAAA;QAC1B,QAAQ,CAAC,IAAI,CAAC;YACZ,KAAK,EAAE,QAAQ,EAAE,EAAE;YACnB,YAAY,EAAE,GAAG,CAAC,IAAI;YACtB,eAAe,EAAE,GAAG,CAAC,OAAO;YAC5B,OAAO,EAAE,GAAG,CAAC,OAAO;SACrB,CAAC,CAAA;IACJ,CAAC;IACD,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,UAAU,IAAI,EAAE,EAAE,YAAY,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC,CAAA;IACnF,CAAC;IACD,aAAa,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAA;IAC5B,qGAAqG;IACrG,+FAA+F;IAC/F,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC5B,sFAAsF;QACtF,uFAAuF;QACvF,6EAA6E;QAC7E,MAAM,IAAI,GAAG,CAAC,CAAS,EAAU,EAAE;YACjC,IAAI,CAAC;gBACH,OAAO,YAAY,CAAC,CAAC,CAAC,CAAA;YACxB,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,CAAC,CAAA;YACV,CAAC;QACH,CAAC,CAAA;QACD,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAA;QACzD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAA;QAC3B,KAAK,MAAM,OAAO,IAAI,CAAC,cAAc,EAAE,iBAAiB,CAAU,EAAE,CAAC;YACnE,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC,CAAA;YACzB,IAAI,IAAI,KAAK,SAAS;gBAAE,SAAQ;YAChC,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBACpC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,WAAW,CAAC;oBAAE,SAAQ;gBAC1C,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,EAAE,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAA;gBAChE,IAAI,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;oBAC1D,IAAI,CAAC,GAAG,CAAC,GAAG,QAAQ,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,EAAE,CAAA;gBACnD,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IACD,MAAM,SAAS,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAA;IAE7D,oGAAoG;IACpG,2EAA2E;IAC3E,MAAM,SAAS,CACb,IAAI,CAAC,GAAG,EAAE,WAAW,CAAC,EACtB,QAAQ,CAAC;QACP,QAAQ;QACR,SAAS,EAAE,SAAS,IAAI,OAAO;QAC/B,IAAI;QACJ,GAAG,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnC,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACxC,CAAC,CACH,CAAA;IAED,wGAAwG;IACxG,+EAA+E;IAC/E,MAAM,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,aAAa,CAAC,EAAE,OAAO,EAAE,CAAC,CAAA;IACpD,MAAM,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,SAAS,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IACtD,MAAM,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,oBAAoB,CAAC,EAAE,OAAO,EAAE,CAAC,CAAA;IAC3D,KAAK,MAAM,OAAO,IAAI,cAAc,EAAE,CAAC;QACrC,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;QACpC,MAAM,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QAC/C,MAAM,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,CAAA;IAC1C,CAAC;IAED,gGAAgG;IAChG,IAAI,EAAE,KAAK,SAAS;QAAE,MAAM,YAAY,CAAC,GAAG,EAAE,EAAE,CAAC,CAAA;IACjD,qGAAqG;IACrG,IAAI,IAAI,KAAK,SAAS,IAAI,EAAE,KAAK,SAAS;QAAE,MAAM,cAAc,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,CAAA;IAE/E,mDAAmD;IACnD,IAAI,QAAoE,CAAA;IACxE,IAAI,IAAI,CAAC,EAAE,KAAK,QAAQ,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACjD,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE,SAAS,EAAE,WAAW,CAAC,CAAA;QACtD,MAAM,KAAK,CAAC,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QAC9C,MAAM,SAAS,CAAC,IAAI,CAAC,YAAY,EAAE,YAAY,CAAC,EAAE,oBAAoB,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAA;QAC5F,QAAQ,GAAG,EAAE,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,CAAA;IAC1E,CAAC;IAED,OAAO;QACL,IAAI;QACJ,QAAQ;QACR,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjD,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3C,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3C,GAAG,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnC,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvC,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACxD,CAAA;AACH,CAAC;AAeD;;;iBAGiB;AACjB,MAAM,UAAU,SAAS,CAAC,IAAuB;IAC/C,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACrD,MAAM,IAAI,KAAK,CAAC,oEAAoE,CAAC,CAAA;IACvF,CAAC;IACD,MAAM,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,CAAA;IACtB,MAAM,IAAI,GAAG,CAAC,GAAG,KAAe,EAAsB,EAAE;QACtD,MAAM,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;QAClD,IAAI,CAAC,KAAK,CAAC,CAAC;YAAE,OAAO,SAAS,CAAA;QAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;QACzB,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;QACjB,OAAO,KAAK,CAAA;IACd,CAAC,CAAA;IACD,MAAM,OAAO,GAAG,CAAC,GAAG,KAAe,EAAW,EAAE;QAC9C,MAAM,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;QAClD,IAAI,CAAC,KAAK,CAAC,CAAC;YAAE,OAAO,KAAK,CAAA;QAC1B,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;QACjB,OAAO,IAAI,CAAA;IACb,CAAC,CAAA;IACD,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,CAAA;IAC7C,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,CAAA;IAC3C,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,CAAA;IACrC,MAAM,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC,CAAA;IAClC,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IAC7B,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,CAAA;IACvB,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAA;IAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAA;IAC3B,MAAM,KAAK,GAAG,OAAO,CAAC,SAAS,CAAC,CAAA;IAChC,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAA;IACnD,sGAAsG;IACtG,MAAM,QAAQ,GAAG,CAAC,YAAY;QAC5B,CAAC,SAAS,KAAK,SAAS,IAAI,YAAY,KAAK,SAAS,IAAI,MAAM,IAAI,EAAE,KAAK,SAAS;YAClF,CAAC,CAAC,MAAM;YACR,CAAC,CAAC,SAAS,CAAC,CAA6B,CAAA;IAC7C,OAAO;QACL,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3C,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/C,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACjD,GAAG,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvD,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7B,GAAG,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnC,GAAG,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnC,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvC,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC5B,CAAA;AACH,CAAC;AAED,MAAM,KAAK,GAAG,iMAAiM,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,2CAA2C,CAAA;AAEjT;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,GAAG,CAAC,IAAuB;IAC/C,IAAI,MAAkB,CAAA;IACtB,IAAI,CAAC;QACH,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,CAAA;IAC1B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,CAAA;IACtF,CAAC;IACD,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,MAAM,CAAA;IAC/F,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAA;IAE5D,IAAI,MAAsB,CAAA;IAC1B,IAAI,CAAC;QACH,MAAM,GAAG,MAAM,QAAQ,CAAC;YACtB,MAAM;YACN,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC/C,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACjD,GAAG,CAAC,YAAY,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACvD,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7B,GAAG,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACnC,GAAG,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACnC,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACvC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3B,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACxC,CAAC,CAAA;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,GAAG,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;QAC5D,kGAAkG;QAClG,+DAA+D;QAC/D,MAAM,QAAQ,GACZ,CAAC,KAAK,IAAI,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC;YAC1B,CAAC,CAAC,0BAA0B,MAAM,6CAA6C;YAC/E,CAAC,CAAC,GAAG,CAAA;QACT,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,QAAQ,EAAE,EAAE,CAAA;IAC9C,CAAC;IAED,MAAM,KAAK,GAAa,CAAC,MAAM,MAAM,EAAE,EAAE,aAAa,EAAE,aAAa,CAAC,CAAA;IACtE,IAAI,MAAM,CAAC,EAAE,KAAK,SAAS,EAAE,CAAC;QAC5B,wEAAwE;QACxE,KAAK,CAAC,CAAC,CAAC,GAAG,sCAAsC,CAAA;QACjD,IAAI,MAAM,CAAC,SAAS,KAAK,SAAS,IAAI,MAAM,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClE,KAAK,CAAC,IAAI,CAAC,uBAAuB,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAClE,CAAC;QACD,KAAK,CAAC,IAAI,CACR,2FAA2F,CAC5F,CAAA;IACH,CAAC;SAAM,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QACvC,KAAK,CAAC,CAAC,CAAC,GAAG,sCAAsC,CAAA;QACjD,KAAK,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAA;IACxE,CAAC;IACD,IAAI,MAAM,CAAC,EAAE,KAAK,SAAS,EAAE,CAAC;QAC5B,oGAAoG;QACpG,4EAA4E;QAC5E,KAAK,CAAC,IAAI,CACR,+CAA+C,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,EAAE,EAAE,CAC5F,CAAA;QACD,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC9B,KAAK,CAAC,IAAI,CAAC,kFAAkF,CAAC,CAAA;QAChG,CAAC;QACD,KAAK,CAAC,IAAI,CACR,sDAAsD,EACtD,iCAAiC,CAClC,CAAA;IACH,CAAC;IACD,qGAAqG;IACrG,MAAM,IAAI,GAAG;QACX,GAAG,CAAC,MAAM,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7D,GAAG,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7D,GAAG,CAAC,MAAM,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACjE,GAAG,CAAC,MAAM,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;KACxE,CAAA;IACD,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC9B,KAAK,CAAC,IAAI,CACR,qCAAqC,MAAM,CAAC,IAAI,2DAA2D,CAC5G,CAAA;IACH,CAAC;IACD,MAAM,MAAM,GACV,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,MAAM,KAAK,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,aAAa,MAAM,EAAE,CAAA;IACtF,OAAO;QACL,IAAI,EAAE,CAAC;QACP,OAAO,EAAE,KAAK,MAAM,oBAAoB,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;KAClF,CAAA;AACH,CAAC;AAED;;;;GAIG;AACH,SAAS,YAAY;IACnB,MAAM,QAAQ,GAAI,MAAM,CAAC,IAA2B,CAAC,IAAI,CAAA;IACzD,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,QAAQ,CAAA;IAC3C,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IAC7B,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,KAAK,CAAA;IACrC,IAAI,CAAC;QACH,uGAAuG;QACvG,OAAO,aAAa,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,CAAC,GAAG,CAAA;IACpE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC;AAED,IAAI,YAAY,EAAE,EAAE,CAAC;IACnB,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CACzD;IAAA,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAA;IACpD,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACpB,CAAC"}
package/dist/db.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../src/db.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAKH,eAAO,MAAM,UAAU,0HAOb,CAAA;AACV,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,CAAC,CAAA;AAElD,yGAAyG;AACzG,MAAM,MAAM,GAAG,GAAG,SAAS,GAAG,QAAQ,GAAG,QAAQ,CAAA;AAEjD,MAAM,WAAW,QAAQ;IACvB,yDAAyD;IACzD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,0FAA0F;IAC1F,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAA;IACjB,8DAA8D;IAC9D,QAAQ,CAAC,OAAO,EAAE,UAAU,GAAG,QAAQ,CAAA;IACvC,kEAAkE;IAClE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;IAC/C,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;IAClD,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;IAClD,sEAAsE;IACtE,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;CACjD;AAqbD,eAAO,MAAM,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAqH3D,CAAA;AAWD,mGAAmG;AACnG,wBAAsB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAkBlF"}
1
+ {"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../src/db.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAKH,eAAO,MAAM,UAAU,0HAOb,CAAA;AACV,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,CAAC,CAAA;AAElD,yGAAyG;AACzG,MAAM,MAAM,GAAG,GAAG,SAAS,GAAG,QAAQ,GAAG,QAAQ,CAAA;AAEjD,MAAM,WAAW,QAAQ;IACvB,yDAAyD;IACzD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,0FAA0F;IAC1F,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAA;IACjB,8DAA8D;IAC9D,QAAQ,CAAC,OAAO,EAAE,UAAU,GAAG,QAAQ,CAAA;IACvC,kEAAkE;IAClE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;IAC/C,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;IAClD,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;IAClD,sEAAsE;IACtE,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;CACjD;AAsbD,eAAO,MAAM,UAAU,EAAE,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAqH3D,CAAA;AAWD,mGAAmG;AACnG,wBAAsB,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAkBlF"}