@metaobjectsdev/cli 0.12.5 → 0.13.0-rc.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.
- package/README.md +18 -5
- package/dist/src/commands/init.d.ts.map +1 -1
- package/dist/src/commands/init.js +96 -7
- package/dist/src/commands/init.js.map +1 -1
- package/package.json +9 -9
- package/src/commands/init.ts +97 -7
package/README.md
CHANGED
|
@@ -56,7 +56,7 @@ Run schema ops from the compiled binary:
|
|
|
56
56
|
## Quick start
|
|
57
57
|
|
|
58
58
|
```bash
|
|
59
|
-
# 1. Scaffold metaobjects/ + .metaobjects/ + metaobjects.config.ts
|
|
59
|
+
# 1. Scaffold metaobjects/ + .metaobjects/ + codegen/generators/ + metaobjects.config.ts
|
|
60
60
|
meta init
|
|
61
61
|
|
|
62
62
|
# 2. Author entity metadata
|
|
@@ -86,7 +86,9 @@ Running `meta` with no arguments prints a concise status line (whether a `metaob
|
|
|
86
86
|
|
|
87
87
|
### `meta init`
|
|
88
88
|
|
|
89
|
-
Scaffolds `metaobjects/` (visible entity declarations, with a placeholder `meta.common.json`), `.metaobjects/` (hidden tool state: `config.json`, `package.meta.json`, `AGENTS.md`, `CLAUDE.md`, `.gitignore`, `.gen-state/`), and `metaobjects.config.ts` at the repo root.
|
|
89
|
+
Scaffolds `metaobjects/` (visible entity declarations, with a placeholder `meta.common.json`), `.metaobjects/` (hidden tool state: `config.json`, `package.meta.json`, `AGENTS.md`, `CLAUDE.md`, `.gitignore`, `.gen-state/`), the **owned codegen generators** at `codegen/generators/{entity,queries,routes,barrel}.ts`, and `metaobjects.config.ts` at the repo root.
|
|
90
|
+
|
|
91
|
+
The generators are copied from the codegen reference templates and are **yours to edit** (ADR-0034 scaffold-and-own); the scaffolded `metaobjects.config.ts` imports them locally, and `meta gen` runs from those local copies — not from the package. Each generator file is written only if absent, so re-running with `--force` never clobbers a hand-edited generator.
|
|
90
92
|
|
|
91
93
|
Flags:
|
|
92
94
|
- `--force` — overwrite scaffold files (memory records preserved)
|
|
@@ -159,11 +161,14 @@ Flags:
|
|
|
159
161
|
|
|
160
162
|
Two config files, by design:
|
|
161
163
|
|
|
162
|
-
**`metaobjects.config.ts`** (at repo root) — generator wiring and codegen knobs, type-checked TS:
|
|
164
|
+
**`metaobjects.config.ts`** (at repo root) — generator wiring and codegen knobs, type-checked TS. The generators are imported from the **owned local copies** that `meta init` scaffolded into `codegen/generators/` (ADR-0034 scaffold-and-own), not from the package:
|
|
163
165
|
|
|
164
166
|
```ts
|
|
165
167
|
import { defineConfig } from "@metaobjectsdev/cli";
|
|
166
|
-
import { entityFile
|
|
168
|
+
import { entityFile } from "./codegen/generators/entity";
|
|
169
|
+
import { queriesFile } from "./codegen/generators/queries";
|
|
170
|
+
import { routesFile } from "./codegen/generators/routes";
|
|
171
|
+
import { barrel } from "./codegen/generators/barrel";
|
|
167
172
|
|
|
168
173
|
export default defineConfig({
|
|
169
174
|
outDir: "packages/database/src/generated",
|
|
@@ -175,6 +180,10 @@ export default defineConfig({
|
|
|
175
180
|
});
|
|
176
181
|
```
|
|
177
182
|
|
|
183
|
+
> Importing these generator factories from `@metaobjectsdev/codegen-ts/generators`
|
|
184
|
+
> still works but is **deprecated** (ADR-0034) — own a local copy instead. The
|
|
185
|
+
> package export will be removed in a future major.
|
|
186
|
+
|
|
178
187
|
### Multiple output targets
|
|
179
188
|
|
|
180
189
|
By default every generator writes to `outDir`. To route each generator's output
|
|
@@ -183,7 +192,11 @@ concern — declare named **targets** and point generators at them with `target`
|
|
|
183
192
|
|
|
184
193
|
```ts
|
|
185
194
|
import { defineConfig } from "@metaobjectsdev/cli";
|
|
186
|
-
|
|
195
|
+
// Owned generators scaffolded by `meta init` (ADR-0034 scaffold-and-own).
|
|
196
|
+
import { entityFile } from "./codegen/generators/entity";
|
|
197
|
+
import { queriesFile } from "./codegen/generators/queries";
|
|
198
|
+
import { routesFile } from "./codegen/generators/routes";
|
|
199
|
+
import { barrel } from "./codegen/generators/barrel";
|
|
187
200
|
import { formFile } from "@metaobjectsdev/codegen-ts-react";
|
|
188
201
|
import { tanstackQuery, tanstackGrid } from "@metaobjectsdev/codegen-ts-tanstack";
|
|
189
202
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/commands/init.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/commands/init.ts"],"names":[],"mappings":"AA+FA,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,EAAE,CAAC,EAAE,OAAO,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,4KAA4K;IAC5K,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAgID,wBAAsB,IAAI,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CAuIjE;AAoBD,wBAAgB,cAAc,IAAI,MAAM,CAEvC;AAoBD,wBAAsB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CA+C9E"}
|
|
@@ -9,23 +9,45 @@ import { parseInitArgs } from "../lib/args.js";
|
|
|
9
9
|
import { log } from "../lib/log.js";
|
|
10
10
|
import { cliVersion } from "../lib/version.js";
|
|
11
11
|
import { findWranglerConfig, parseWranglerConfig } from "@metaobjectsdev/migrate-ts";
|
|
12
|
+
import { readReferenceTemplate, REFERENCE_GENERATOR_NAMES } from "@metaobjectsdev/codegen-ts";
|
|
13
|
+
// ADR-0034 scaffold-and-own — `meta init` copies the codegen reference templates into
|
|
14
|
+
// the consumer's repo so they OWN them; metaobjects.config.ts imports them locally.
|
|
15
|
+
const OWNED_GENERATORS_DIR = "codegen/generators";
|
|
12
16
|
const META_COMMON_JSON = JSON.stringify({
|
|
13
17
|
metadata: {
|
|
14
18
|
package: "",
|
|
15
19
|
children: [],
|
|
16
20
|
},
|
|
17
21
|
}, null, 2) + "\n";
|
|
22
|
+
// Issue #75 — a multi-target codegen config can route a target's outDir under
|
|
23
|
+
// `.metaobjects/<targetName>/src/generated/`. That output is the regenerable
|
|
24
|
+
// shadow (the canonical output lives at the configured outDir; re-running
|
|
25
|
+
// `meta gen` recreates the shadow), so it must NOT be committed by default. We
|
|
26
|
+
// ignore the per-target generated shadow with a narrow `*/src/generated/`
|
|
27
|
+
// pattern, then explicitly re-include `migrations/` and `config.json` so the
|
|
28
|
+
// tracked artifacts are never swept up even if a future broad pattern were added.
|
|
18
29
|
const METAOBJECTS_GITIGNORE_BODY = `.gen-state/
|
|
30
|
+
|
|
31
|
+
# Per-target codegen output routed under .metaobjects/<target>/ is regenerable
|
|
32
|
+
# (re-run \`meta gen\`); never commit it. The canonical output is your configured
|
|
33
|
+
# outDir, not this shadow.
|
|
34
|
+
*/src/generated/
|
|
35
|
+
|
|
36
|
+
# These ARE meant to be tracked — keep them even if a broad pattern matches.
|
|
37
|
+
!migrations/
|
|
38
|
+
!config.json
|
|
39
|
+
!package.meta.json
|
|
19
40
|
`;
|
|
20
41
|
function buildMetaobjectsConfigBody(dialect = "sqlite") {
|
|
21
42
|
return `import { defineConfig } from "@metaobjectsdev/cli";
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
} from "
|
|
43
|
+
// Owned codegen generators (ADR-0034 scaffold-and-own). \`meta init\` copied these
|
|
44
|
+
// reference templates into ./codegen/generators/ — they are YOURS to edit, and
|
|
45
|
+
// \`meta gen\` runs from these local copies, not from the package. Read each file's
|
|
46
|
+
// header doc-block for what it emits and how to customize it.
|
|
47
|
+
import { entityFile } from "./codegen/generators/entity";
|
|
48
|
+
import { queriesFile } from "./codegen/generators/queries";
|
|
49
|
+
import { routesFile } from "./codegen/generators/routes";
|
|
50
|
+
import { barrel } from "./codegen/generators/barrel";
|
|
29
51
|
|
|
30
52
|
export default defineConfig({
|
|
31
53
|
outDir: "src/generated",
|
|
@@ -49,6 +71,7 @@ export default defineConfig({
|
|
|
49
71
|
}
|
|
50
72
|
const NEXT_STEPS = `
|
|
51
73
|
Initialized metaobjects/ + .metaobjects/ + metaobjects.config.ts
|
|
74
|
+
Codegen generators copied to codegen/generators/ — they're YOURS to edit (ADR-0034 scaffold-and-own).
|
|
52
75
|
|
|
53
76
|
Next steps (when later sub-projects ship):
|
|
54
77
|
meta ingest # propose entities from your existing TS code
|
|
@@ -68,7 +91,44 @@ async function readManifest(cwd) {
|
|
|
68
91
|
return undefined;
|
|
69
92
|
}
|
|
70
93
|
}
|
|
94
|
+
/**
|
|
95
|
+
* Walk up from `start` looking for a `.git` directory; return the repo root, or
|
|
96
|
+
* undefined when `start` is not inside a git working tree. (`.git` can be a file
|
|
97
|
+
* in worktrees/submodules — accept either a dir or a file.)
|
|
98
|
+
*/
|
|
99
|
+
function findGitRoot(start) {
|
|
100
|
+
let dir = start;
|
|
101
|
+
// eslint-disable-next-line no-constant-condition
|
|
102
|
+
while (true) {
|
|
103
|
+
if (existsSyncWrap(join(dir, ".git")))
|
|
104
|
+
return dir;
|
|
105
|
+
const parent = dirname(dir);
|
|
106
|
+
if (parent === dir)
|
|
107
|
+
return undefined; // reached filesystem root
|
|
108
|
+
dir = parent;
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Issue #77 — Claude Code discovers `.claude/skills/` only from cwd + ANCESTOR
|
|
113
|
+
* dirs + the user level; it never walks DOWN into subdirs. So scaffolding the
|
|
114
|
+
* agent-context into a monorepo subdir means a root-launched session won't load
|
|
115
|
+
* the skills (the common case). When the init dir is inside a git repo whose
|
|
116
|
+
* root is an ANCESTOR (i.e. a subdir init), warn and point the user at the repo
|
|
117
|
+
* root. The metadata/config/migrations correctly stay in the subdir regardless.
|
|
118
|
+
*/
|
|
119
|
+
function warnIfMonorepoSubdir(opts, result) {
|
|
120
|
+
if (opts.noSkills)
|
|
121
|
+
return; // no skills written → nothing to warn about
|
|
122
|
+
const gitRoot = findGitRoot(opts.cwd);
|
|
123
|
+
if (gitRoot === undefined || gitRoot === opts.cwd)
|
|
124
|
+
return; // repo root or non-git → fine
|
|
125
|
+
const lang = opts.servers && opts.servers.length > 0 ? opts.servers[0] : "<lang>";
|
|
126
|
+
result.warnings.push("agent-context skills scaffolded into a monorepo subdir won't be discovered from a " +
|
|
127
|
+
"root-launched session (Claude Code only walks cwd + ancestors). Scaffold the context " +
|
|
128
|
+
`at the repo root instead: cd <repo-root> && meta init --docs-only --server ${lang}`);
|
|
129
|
+
}
|
|
71
130
|
async function writeAgentContext(opts, result) {
|
|
131
|
+
warnIfMonorepoSubdir(opts, result);
|
|
72
132
|
const stack = resolveStack(opts.cwd, { servers: opts.servers ?? [], clients: opts.clients ?? [] });
|
|
73
133
|
let assembled = assemble({ contentRoot: resolveAgentContextRoot(), stack });
|
|
74
134
|
if (opts.noSkills)
|
|
@@ -127,6 +187,26 @@ async function wireRootMemory(cwd, result) {
|
|
|
127
187
|
result.warnings.push(`wired ${ROOT_IMPORT_LINE} into ${path.endsWith("AGENTS.md") ? "AGENTS.md" : "CLAUDE.md"} so the MetaObjects context loads`);
|
|
128
188
|
}
|
|
129
189
|
}
|
|
190
|
+
/**
|
|
191
|
+
* ADR-0034 — copy the codegen reference templates into the consumer's repo at
|
|
192
|
+
* `codegen/generators/<name>.ts` so they own them. Each file is written only if absent,
|
|
193
|
+
* so a re-run with --force never clobbers a hand-edited generator. The scaffolded
|
|
194
|
+
* metaobjects.config.ts imports these local copies (not the package `/generators` export).
|
|
195
|
+
*/
|
|
196
|
+
async function writeOwnedGenerators(opts, result) {
|
|
197
|
+
const dir = join(opts.cwd, OWNED_GENERATORS_DIR);
|
|
198
|
+
await mkdir(dir, { recursive: true });
|
|
199
|
+
for (const name of REFERENCE_GENERATOR_NAMES) {
|
|
200
|
+
const rel = `${OWNED_GENERATORS_DIR}/${name}.ts`;
|
|
201
|
+
const abs = join(dir, `${name}.ts`);
|
|
202
|
+
if (await fileExists(abs)) {
|
|
203
|
+
result.preserved.push(rel);
|
|
204
|
+
continue;
|
|
205
|
+
}
|
|
206
|
+
await writeFile(abs, readReferenceTemplate(name), "utf8");
|
|
207
|
+
result.created.push(rel);
|
|
208
|
+
}
|
|
209
|
+
}
|
|
130
210
|
export async function init(opts) {
|
|
131
211
|
const result = { created: [], preserved: [], warnings: [] };
|
|
132
212
|
const agentDir = join(opts.cwd, DEFAULT_METAOBJECTS_DIR);
|
|
@@ -157,6 +237,8 @@ export async function init(opts) {
|
|
|
157
237
|
result.created.push(d);
|
|
158
238
|
result.created.push("metaobjects/meta.common.json", ".metaobjects/config.json", ".metaobjects/.gitignore", `.metaobjects/${PACKAGE_MANIFEST_FILE}`);
|
|
159
239
|
result.created.push(".metaobjects/AGENTS.md", ".metaobjects/CLAUDE.md", ".claude/skills/metaobjects-*", AGENT_CONTEXT_MANIFEST_PATH);
|
|
240
|
+
for (const name of REFERENCE_GENERATOR_NAMES)
|
|
241
|
+
result.created.push(`${OWNED_GENERATORS_DIR}/${name}.ts`);
|
|
160
242
|
result.created.push("metaobjects.config.ts");
|
|
161
243
|
return result;
|
|
162
244
|
}
|
|
@@ -227,6 +309,9 @@ export async function init(opts) {
|
|
|
227
309
|
result.preserved.push(`.metaobjects/${PACKAGE_MANIFEST_FILE}`);
|
|
228
310
|
}
|
|
229
311
|
await writeAgentContext(opts, result);
|
|
312
|
+
// ADR-0034 — scaffold the OWNED codegen generators that metaobjects.config.ts imports
|
|
313
|
+
// locally. Done before the config so the import targets exist on first `meta gen`.
|
|
314
|
+
await writeOwnedGenerators(opts, result);
|
|
230
315
|
// Scaffold metaobjects.config.ts at the project root. Never overwrite if it exists.
|
|
231
316
|
const forgeConfigPath = join(opts.cwd, "metaobjects.config.ts");
|
|
232
317
|
if (!(await fileExists(forgeConfigPath))) {
|
|
@@ -312,6 +397,10 @@ export async function initCommand(args, cwd) {
|
|
|
312
397
|
}
|
|
313
398
|
else {
|
|
314
399
|
log.info(nextStepsBlock());
|
|
400
|
+
// Surface any scaffold warnings (e.g. the #77 monorepo-subdir agent-context
|
|
401
|
+
// discovery warning) — these are otherwise dropped on the normal init path.
|
|
402
|
+
for (const w of result.warnings)
|
|
403
|
+
log.warn(w);
|
|
315
404
|
}
|
|
316
405
|
}
|
|
317
406
|
return 0;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/commands/init.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/commands/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACpE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,UAAU,IAAI,cAAc,EAAE,YAAY,IAAI,gBAAgB,EAAE,MAAM,SAAS,CAAC;AACzF,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,UAAU,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AACrJ,OAAO,EACL,QAAQ,EAAE,uBAAuB,EAAE,YAAY,EAC/C,2BAA2B,GAC5B,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACrF,OAAO,EAAE,qBAAqB,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AAE9F,sFAAsF;AACtF,oFAAoF;AACpF,MAAM,oBAAoB,GAAG,oBAAoB,CAAC;AAElD,MAAM,gBAAgB,GAAG,IAAI,CAAC,SAAS,CACrC;IACE,QAAQ,EAAE;QACR,OAAO,EAAE,EAAE;QACX,QAAQ,EAAE,EAAe;KAC1B;CACF,EACD,IAAI,EACJ,CAAC,CACF,GAAG,IAAI,CAAC;AAET,8EAA8E;AAC9E,6EAA6E;AAC7E,0EAA0E;AAC1E,+EAA+E;AAC/E,0EAA0E;AAC1E,6EAA6E;AAC7E,kFAAkF;AAClF,MAAM,0BAA0B,GAAG;;;;;;;;;;;CAWlC,CAAC;AAEF,SAAS,0BAA0B,CAAC,UAAwC,QAAQ;IAClF,OAAO;;;;;;;;;;;;;;gBAcO,OAAO;;;;;;;;;;;;;;CActB,CAAC;AACF,CAAC;AAED,MAAM,UAAU,GAAG;;;;;;;;;;CAUlB,CAAC;AAuBF,KAAK,UAAU,YAAY,CAAC,GAAW;IACrC,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,2BAA2B,CAAC,CAAC;IACjD,IAAI,CAAC,CAAC,MAAM,UAAU,CAAC,CAAC,CAAC,CAAC;QAAE,OAAO,SAAS,CAAC;IAC7C,IAAI,CAAC;QAAC,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC,CAAa,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,SAAS,CAAC;IAAC,CAAC;AAC/F,CAAC;AAED;;;;GAIG;AACH,SAAS,WAAW,CAAC,KAAa;IAChC,IAAI,GAAG,GAAG,KAAK,CAAC;IAChB,iDAAiD;IACjD,OAAO,IAAI,EAAE,CAAC;QACZ,IAAI,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;YAAE,OAAO,GAAG,CAAC;QAClD,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;QAC5B,IAAI,MAAM,KAAK,GAAG;YAAE,OAAO,SAAS,CAAC,CAAC,0BAA0B;QAChE,GAAG,GAAG,MAAM,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,oBAAoB,CAAC,IAAiB,EAAE,MAAkB;IACjE,IAAI,IAAI,CAAC,QAAQ;QAAE,OAAO,CAAC,4CAA4C;IACvE,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACtC,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,IAAI,CAAC,GAAG;QAAE,OAAO,CAAC,8BAA8B;IACzF,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;IACnF,MAAM,CAAC,QAAQ,CAAC,IAAI,CAClB,oFAAoF;QACpF,uFAAuF;QACvF,8EAA8E,IAAI,EAAE,CACrF,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,iBAAiB,CAAC,IAAiB,EAAE,MAAkB;IACpE,oBAAoB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACnC,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC,CAAC;IACnG,IAAI,SAAS,GAAG,QAAQ,CAAC,EAAE,WAAW,EAAE,uBAAuB,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;IAC5E,IAAI,IAAI,CAAC,QAAQ;QAAE,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAE9F,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC3C,MAAM,QAAQ,GAAG,YAAY,CAAC;QAC5B,KAAK,EAAE,SAAS,EAAE,KAAK;QACvB,WAAW,EAAE,CAAC,GAAG,EAAE,EAAE;YACnB,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YAChC,OAAO,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACzE,CAAC;QACD,WAAW,EAAE,UAAU,EAAE;KAC1B,CAAC,CAAC;IAEH,KAAK,MAAM,CAAC,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;QAChC,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;QACnC,MAAM,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/C,MAAM,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACzC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC;QACnC,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;QACtC,MAAM,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/C,MAAM,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACzC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QAC/B,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,sDAAsD,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;IACnG,CAAC;IACD,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,2BAA2B,CAAC,CAAC;IAChE,MAAM,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACvD,MAAM,SAAS,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC,CAAC;IAExF,KAAK,MAAM,MAAM,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;QACtC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,MAAM,8DAA8D,CAAC,CAAC;IAChG,CAAC;IAED,IAAI,IAAI,CAAC,QAAQ;QAAE,MAAM,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;AAC5D,CAAC;AAED,MAAM,gBAAgB,GAAG,yBAAyB,CAAC;AACnD,KAAK,UAAU,cAAc,CAAC,GAAW,EAAE,MAAkB;IAC3D,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;IAC1C,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;IAC1C,MAAM,YAAY,GAAG,MAAM,UAAU,CAAC,UAAU,CAAC,CAAC;IAClD,MAAM,YAAY,GAAG,MAAM,UAAU,CAAC,UAAU,CAAC,CAAC;IAElD,kGAAkG;IAClG,IAAI,CAAC,YAAY,IAAI,CAAC,YAAY,EAAE,CAAC;QACnC,MAAM,SAAS,CAAC,UAAU,EAAE,uBAAuB,gBAAgB,IAAI,EAAE,MAAM,CAAC,CAAC;QACjF,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC;QACpE,OAAO;IACT,CAAC;IACD,kFAAkF;IAClF,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,YAAY,CAAC,EAAE,CAAC,UAAU,EAAE,YAAY,CAAC,CAAU,EAAE,CAAC;QAC/F,IAAI,CAAC,MAAM;YAAE,SAAS;QACtB,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC1C,IAAI,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC;YAAE,SAAS;QAC9C,MAAM,SAAS,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,gBAAgB,IAAI,EAAE,MAAM,CAAC,CAAC;QACtF,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,gBAAgB,SAAS,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,mCAAmC,CAAC,CAAC;IACpJ,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,oBAAoB,CAAC,IAAiB,EAAE,MAAkB;IACvE,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,oBAAoB,CAAC,CAAC;IACjD,MAAM,KAAK,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACtC,KAAK,MAAM,IAAI,IAAI,yBAAyB,EAAE,CAAC;QAC7C,MAAM,GAAG,GAAG,GAAG,oBAAoB,IAAI,IAAI,KAAK,CAAC;QACjD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,KAAK,CAAC,CAAC;QACpC,IAAI,MAAM,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YAC1B,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC3B,SAAS;QACX,CAAC;QACD,MAAM,SAAS,CAAC,GAAG,EAAE,qBAAqB,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC;QAC1D,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,IAAI,CAAC,IAAiB;IAC1C,MAAM,MAAM,GAAe,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;IACxE,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,uBAAuB,CAAC,CAAC;IACzD,MAAM,cAAc,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,oBAAoB,CAAC,CAAC;IAE5D,MAAM,cAAc,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,CAAC;IACjD,MAAM,iBAAiB,GAAG,MAAM,SAAS,CAAC,cAAc,CAAC,CAAC;IAC1D,MAAM,MAAM,GAAG,cAAc,IAAI,iBAAiB,CAAC;IAEnD,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClB,qGAAqG;QACrG,MAAM,iBAAiB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACtC,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,IAAI,IAAI,CAAC,WAAW,IAAI,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QAC9C,8EAA8E;QAC9E,MAAM,iBAAiB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACtC,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,IAAI,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QAC/C,MAAM,IAAI,KAAK,CACb,qKAAqK,CACtK,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,GAAG;QACX,oBAAoB;QACpB,uBAAuB;QACvB,GAAG,uBAAuB,aAAa;KACxC,CAAC;IAEF,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;QACnB,KAAK,MAAM,CAAC,IAAI,IAAI;YAAE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC7C,MAAM,CAAC,OAAO,CAAC,IAAI,CACjB,8BAA8B,EAC9B,0BAA0B,EAC1B,yBAAyB,EACzB,gBAAgB,qBAAqB,EAAE,CACxC,CAAC;QACF,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,wBAAwB,EAAE,wBAAwB,EAAE,8BAA8B,EAAE,2BAA2B,CAAC,CAAC;QACrI,KAAK,MAAM,IAAI,IAAI,yBAAyB;YAAE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,oBAAoB,IAAI,IAAI,KAAK,CAAC,CAAC;QACxG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;QAC7C,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;QACrB,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACpD,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;YAAE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC1D,CAAC;IAED,6DAA6D;IAC7D,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC;IAChE,IAAI,CAAC,CAAC,MAAM,UAAU,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC;QACxC,MAAM,SAAS,CAAC,cAAc,EAAE,gBAAgB,EAAE,MAAM,CAAC,CAAC;QAC1D,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;IACtD,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;IACxD,CAAC;IAED,2BAA2B;IAC3B,MAAM,WAAW,GAAG,IAAI,CAAC,EAAE;QACzB,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,GAAG,cAAc,EAAE,OAAO,EAAE,mBAAmB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACnF,CAAC,CAAC,cAAc,CAAC;IACnB,IAAI,cAAc,EAAE,CAAC;QACnB,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;QACjD,IAAI,YAAgC,CAAC;QACrC,IAAI,CAAC;YACH,YAAY,GAAG,MAAM,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;YAClD,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;YAC5D,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC,EAAE,GAAG,cAAc,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC;YACpE,oFAAoF;YACpF,oFAAoF;YACpF,kFAAkF;YAClF,gFAAgF;YAChF,MAAM,UAAU,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YACnC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;QACpD,CAAC;QAAC,MAAM,CAAC;YACP,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;gBAC/B,GAAG,CAAC,IAAI,CAAC,wFAAwF,CAAC,CAAC;gBACnG,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBACvB,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,yDAAyD,CAAC,CAAC;YAClF,CAAC;YACD,MAAM,SAAS,CACb,IAAI,CAAC,QAAQ,EAAE,aAAa,CAAC,EAC7B,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,EAC3C,MAAM,CACP,CAAC;YACF,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;gBAC/B,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;YAClD,CAAC;QACH,CAAC;IACH,CAAC;SAAM,CAAC;QACN,MAAM,SAAS,CACb,IAAI,CAAC,QAAQ,EAAE,aAAa,CAAC,EAC7B,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,EAC3C,MAAM,CACP,CAAC;QACF,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;IAClD,CAAC;IAED,0BAA0B;IAC1B,MAAM,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,EAAE,0BAA0B,EAAE,MAAM,CAAC,CAAC;IAClF,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;IAE/C,4EAA4E;IAC5E,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,EAAE,qBAAqB,CAAC,CAAC;IAC3D,IAAI,CAAC,CAAC,MAAM,UAAU,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC;QACtC,MAAM,kBAAkB,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC9C,MAAM,YAAY,GAAG;YACnB,IAAI,EAAE,kBAAkB;YACxB,OAAO,EAAE,OAAO;YAChB,OAAO,EAAE,EAAc;SACxB,CAAC;QACF,MAAM,SAAS,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC,CAAC;QACpF,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,qBAAqB,EAAE,CAAC,CAAC;IAC/D,CAAC;SAAM,CAAC;QACN,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,gBAAgB,qBAAqB,EAAE,CAAC,CAAC;IACjE,CAAC;IAED,MAAM,iBAAiB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAEtC,sFAAsF;IACtF,mFAAmF;IACnF,MAAM,oBAAoB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAEzC,oFAAoF;IACpF,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,uBAAuB,CAAC,CAAC;IAChE,IAAI,CAAC,CAAC,MAAM,UAAU,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC;QACzC,MAAM,SAAS,CAAC,eAAe,EAAE,0BAA0B,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC;QAChG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;IAC/C,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,mBAAmB,CAAC,GAAW;IACtC,MAAM,KAAK,GAA4B,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IACzD,MAAM,OAAO,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;IACxC,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;YAC5C,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACnC,KAAK,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAE,CAAC,OAAO,EAAE,CAAC;YACxD,CAAC;YACD,0EAA0E;YAC1E,uEAAuE;QACzE,CAAC;QAAC,MAAM,CAAC;YACP,2CAA2C;QAC7C,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,cAAc;IAC5B,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,KAAK,UAAU,SAAS,CAAC,CAAS;IAChC,IAAI,CAAC;QACH,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC;QACxB,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;IACzB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,KAAK,UAAU,UAAU,CAAC,CAAS;IACjC,IAAI,CAAC;QACH,MAAM,CAAC,GAAG,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC;QACxB,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC;IACpB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,IAAc,EAAE,GAAW;IAC3D,IAAI,KAAK,CAAC;IACV,IAAI,CAAC;QACH,KAAK,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,GAAG,CAAC,KAAK,CAAE,GAAa,CAAC,OAAO,CAAC,CAAC;QAClC,OAAO,CAAC,CAAC;IACX,CAAC;IAED,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC;YACxB,GAAG;YACH,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,EAAE,EAAE,KAAK,CAAC,EAAE;YACZ,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,QAAQ,EAAE,KAAK,CAAC,QAAQ;SACzB,CAAC,CAAC;QAEH,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;YACpB,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YAC1B,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,OAAO;gBAAE,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;YACzD,OAAO,CAAC,CAAC;QACX,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;YACjB,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;gBACnB,GAAG,CAAC,IAAI,CAAC,6CAA6C,MAAM,CAAC,OAAO,CAAC,MAAM,iEAAiE,CAAC,CAAC;gBAC9I,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,QAAQ;oBAAE,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBACpD,GAAG,CAAC,IAAI,CAAC,iGAAiG,CAAC,CAAC;YAC9G,CAAC;iBAAM,CAAC;gBACN,GAAG,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;gBAC3B,4EAA4E;gBAC5E,4EAA4E;gBAC5E,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,QAAQ;oBAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC/C,CAAC;QACH,CAAC;QACD,OAAO,CAAC,CAAC;IACX,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,GAAG,CAAC,KAAK,CAAE,GAAa,CAAC,OAAO,CAAC,CAAC;QAClC,OAAO,CAAC,CAAC;IACX,CAAC;AACH,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@metaobjectsdev/cli",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.13.0-rc.1",
|
|
4
4
|
"description": "CLI for MetaObjects: scaffold, codegen, migrate, and drift-detection commands.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/src/index.js",
|
|
@@ -49,14 +49,14 @@
|
|
|
49
49
|
],
|
|
50
50
|
"dependencies": {
|
|
51
51
|
"@libsql/kysely-libsql": "^0.4.0",
|
|
52
|
-
"@metaobjectsdev/codegen-ts": "0.
|
|
53
|
-
"@metaobjectsdev/codegen-ts-react": "0.
|
|
54
|
-
"@metaobjectsdev/codegen-ts-tanstack": "0.
|
|
55
|
-
"@metaobjectsdev/metadata": "0.
|
|
56
|
-
"@metaobjectsdev/migrate-ts": "0.
|
|
57
|
-
"@metaobjectsdev/render": "0.
|
|
58
|
-
"@metaobjectsdev/runtime-ts": "0.
|
|
59
|
-
"@metaobjectsdev/sdk": "0.
|
|
52
|
+
"@metaobjectsdev/codegen-ts": "0.13.0-rc.1",
|
|
53
|
+
"@metaobjectsdev/codegen-ts-react": "0.13.0-rc.1",
|
|
54
|
+
"@metaobjectsdev/codegen-ts-tanstack": "0.13.0-rc.1",
|
|
55
|
+
"@metaobjectsdev/metadata": "0.13.0-rc.1",
|
|
56
|
+
"@metaobjectsdev/migrate-ts": "0.13.0-rc.1",
|
|
57
|
+
"@metaobjectsdev/render": "0.13.0-rc.1",
|
|
58
|
+
"@metaobjectsdev/runtime-ts": "0.13.0-rc.1",
|
|
59
|
+
"@metaobjectsdev/sdk": "0.13.0-rc.1",
|
|
60
60
|
"@toon-format/toon": "^2.3.0",
|
|
61
61
|
"jiti": "^2.4.0"
|
|
62
62
|
},
|
package/src/commands/init.ts
CHANGED
|
@@ -12,6 +12,11 @@ import { parseInitArgs } from "../lib/args.js";
|
|
|
12
12
|
import { log } from "../lib/log.js";
|
|
13
13
|
import { cliVersion } from "../lib/version.js";
|
|
14
14
|
import { findWranglerConfig, parseWranglerConfig } from "@metaobjectsdev/migrate-ts";
|
|
15
|
+
import { readReferenceTemplate, REFERENCE_GENERATOR_NAMES } from "@metaobjectsdev/codegen-ts";
|
|
16
|
+
|
|
17
|
+
// ADR-0034 scaffold-and-own — `meta init` copies the codegen reference templates into
|
|
18
|
+
// the consumer's repo so they OWN them; metaobjects.config.ts imports them locally.
|
|
19
|
+
const OWNED_GENERATORS_DIR = "codegen/generators";
|
|
15
20
|
|
|
16
21
|
const META_COMMON_JSON = JSON.stringify(
|
|
17
22
|
{
|
|
@@ -24,18 +29,36 @@ const META_COMMON_JSON = JSON.stringify(
|
|
|
24
29
|
2,
|
|
25
30
|
) + "\n";
|
|
26
31
|
|
|
32
|
+
// Issue #75 — a multi-target codegen config can route a target's outDir under
|
|
33
|
+
// `.metaobjects/<targetName>/src/generated/`. That output is the regenerable
|
|
34
|
+
// shadow (the canonical output lives at the configured outDir; re-running
|
|
35
|
+
// `meta gen` recreates the shadow), so it must NOT be committed by default. We
|
|
36
|
+
// ignore the per-target generated shadow with a narrow `*/src/generated/`
|
|
37
|
+
// pattern, then explicitly re-include `migrations/` and `config.json` so the
|
|
38
|
+
// tracked artifacts are never swept up even if a future broad pattern were added.
|
|
27
39
|
const METAOBJECTS_GITIGNORE_BODY = `.gen-state/
|
|
40
|
+
|
|
41
|
+
# Per-target codegen output routed under .metaobjects/<target>/ is regenerable
|
|
42
|
+
# (re-run \`meta gen\`); never commit it. The canonical output is your configured
|
|
43
|
+
# outDir, not this shadow.
|
|
44
|
+
*/src/generated/
|
|
45
|
+
|
|
46
|
+
# These ARE meant to be tracked — keep them even if a broad pattern matches.
|
|
47
|
+
!migrations/
|
|
48
|
+
!config.json
|
|
49
|
+
!package.meta.json
|
|
28
50
|
`;
|
|
29
51
|
|
|
30
52
|
function buildMetaobjectsConfigBody(dialect: "sqlite" | "postgres" | "d1" = "sqlite"): string {
|
|
31
53
|
return `import { defineConfig } from "@metaobjectsdev/cli";
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
} from "
|
|
54
|
+
// Owned codegen generators (ADR-0034 scaffold-and-own). \`meta init\` copied these
|
|
55
|
+
// reference templates into ./codegen/generators/ — they are YOURS to edit, and
|
|
56
|
+
// \`meta gen\` runs from these local copies, not from the package. Read each file's
|
|
57
|
+
// header doc-block for what it emits and how to customize it.
|
|
58
|
+
import { entityFile } from "./codegen/generators/entity";
|
|
59
|
+
import { queriesFile } from "./codegen/generators/queries";
|
|
60
|
+
import { routesFile } from "./codegen/generators/routes";
|
|
61
|
+
import { barrel } from "./codegen/generators/barrel";
|
|
39
62
|
|
|
40
63
|
export default defineConfig({
|
|
41
64
|
outDir: "src/generated",
|
|
@@ -60,6 +83,7 @@ export default defineConfig({
|
|
|
60
83
|
|
|
61
84
|
const NEXT_STEPS = `
|
|
62
85
|
Initialized metaobjects/ + .metaobjects/ + metaobjects.config.ts
|
|
86
|
+
Codegen generators copied to codegen/generators/ — they're YOURS to edit (ADR-0034 scaffold-and-own).
|
|
63
87
|
|
|
64
88
|
Next steps (when later sub-projects ship):
|
|
65
89
|
meta ingest # propose entities from your existing TS code
|
|
@@ -96,7 +120,44 @@ async function readManifest(cwd: string): Promise<Manifest | undefined> {
|
|
|
96
120
|
try { return JSON.parse(await readFile(p, "utf8")) as Manifest; } catch { return undefined; }
|
|
97
121
|
}
|
|
98
122
|
|
|
123
|
+
/**
|
|
124
|
+
* Walk up from `start` looking for a `.git` directory; return the repo root, or
|
|
125
|
+
* undefined when `start` is not inside a git working tree. (`.git` can be a file
|
|
126
|
+
* in worktrees/submodules — accept either a dir or a file.)
|
|
127
|
+
*/
|
|
128
|
+
function findGitRoot(start: string): string | undefined {
|
|
129
|
+
let dir = start;
|
|
130
|
+
// eslint-disable-next-line no-constant-condition
|
|
131
|
+
while (true) {
|
|
132
|
+
if (existsSyncWrap(join(dir, ".git"))) return dir;
|
|
133
|
+
const parent = dirname(dir);
|
|
134
|
+
if (parent === dir) return undefined; // reached filesystem root
|
|
135
|
+
dir = parent;
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
/**
|
|
140
|
+
* Issue #77 — Claude Code discovers `.claude/skills/` only from cwd + ANCESTOR
|
|
141
|
+
* dirs + the user level; it never walks DOWN into subdirs. So scaffolding the
|
|
142
|
+
* agent-context into a monorepo subdir means a root-launched session won't load
|
|
143
|
+
* the skills (the common case). When the init dir is inside a git repo whose
|
|
144
|
+
* root is an ANCESTOR (i.e. a subdir init), warn and point the user at the repo
|
|
145
|
+
* root. The metadata/config/migrations correctly stay in the subdir regardless.
|
|
146
|
+
*/
|
|
147
|
+
function warnIfMonorepoSubdir(opts: InitOptions, result: InitResult): void {
|
|
148
|
+
if (opts.noSkills) return; // no skills written → nothing to warn about
|
|
149
|
+
const gitRoot = findGitRoot(opts.cwd);
|
|
150
|
+
if (gitRoot === undefined || gitRoot === opts.cwd) return; // repo root or non-git → fine
|
|
151
|
+
const lang = opts.servers && opts.servers.length > 0 ? opts.servers[0]! : "<lang>";
|
|
152
|
+
result.warnings.push(
|
|
153
|
+
"agent-context skills scaffolded into a monorepo subdir won't be discovered from a " +
|
|
154
|
+
"root-launched session (Claude Code only walks cwd + ancestors). Scaffold the context " +
|
|
155
|
+
`at the repo root instead: cd <repo-root> && meta init --docs-only --server ${lang}`,
|
|
156
|
+
);
|
|
157
|
+
}
|
|
158
|
+
|
|
99
159
|
async function writeAgentContext(opts: InitOptions, result: InitResult): Promise<void> {
|
|
160
|
+
warnIfMonorepoSubdir(opts, result);
|
|
100
161
|
const stack = resolveStack(opts.cwd, { servers: opts.servers ?? [], clients: opts.clients ?? [] });
|
|
101
162
|
let assembled = assemble({ contentRoot: resolveAgentContextRoot(), stack });
|
|
102
163
|
if (opts.noSkills) assembled = assembled.filter((f) => !f.path.startsWith(".claude/skills/"));
|
|
@@ -158,6 +219,27 @@ async function wireRootMemory(cwd: string, result: InitResult): Promise<void> {
|
|
|
158
219
|
}
|
|
159
220
|
}
|
|
160
221
|
|
|
222
|
+
/**
|
|
223
|
+
* ADR-0034 — copy the codegen reference templates into the consumer's repo at
|
|
224
|
+
* `codegen/generators/<name>.ts` so they own them. Each file is written only if absent,
|
|
225
|
+
* so a re-run with --force never clobbers a hand-edited generator. The scaffolded
|
|
226
|
+
* metaobjects.config.ts imports these local copies (not the package `/generators` export).
|
|
227
|
+
*/
|
|
228
|
+
async function writeOwnedGenerators(opts: InitOptions, result: InitResult): Promise<void> {
|
|
229
|
+
const dir = join(opts.cwd, OWNED_GENERATORS_DIR);
|
|
230
|
+
await mkdir(dir, { recursive: true });
|
|
231
|
+
for (const name of REFERENCE_GENERATOR_NAMES) {
|
|
232
|
+
const rel = `${OWNED_GENERATORS_DIR}/${name}.ts`;
|
|
233
|
+
const abs = join(dir, `${name}.ts`);
|
|
234
|
+
if (await fileExists(abs)) {
|
|
235
|
+
result.preserved.push(rel);
|
|
236
|
+
continue;
|
|
237
|
+
}
|
|
238
|
+
await writeFile(abs, readReferenceTemplate(name), "utf8");
|
|
239
|
+
result.created.push(rel);
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
|
|
161
243
|
export async function init(opts: InitOptions): Promise<InitResult> {
|
|
162
244
|
const result: InitResult = { created: [], preserved: [], warnings: [] };
|
|
163
245
|
const agentDir = join(opts.cwd, DEFAULT_METAOBJECTS_DIR);
|
|
@@ -200,6 +282,7 @@ export async function init(opts: InitOptions): Promise<InitResult> {
|
|
|
200
282
|
`.metaobjects/${PACKAGE_MANIFEST_FILE}`,
|
|
201
283
|
);
|
|
202
284
|
result.created.push(".metaobjects/AGENTS.md", ".metaobjects/CLAUDE.md", ".claude/skills/metaobjects-*", AGENT_CONTEXT_MANIFEST_PATH);
|
|
285
|
+
for (const name of REFERENCE_GENERATOR_NAMES) result.created.push(`${OWNED_GENERATORS_DIR}/${name}.ts`);
|
|
203
286
|
result.created.push("metaobjects.config.ts");
|
|
204
287
|
return result;
|
|
205
288
|
}
|
|
@@ -280,6 +363,10 @@ export async function init(opts: InitOptions): Promise<InitResult> {
|
|
|
280
363
|
|
|
281
364
|
await writeAgentContext(opts, result);
|
|
282
365
|
|
|
366
|
+
// ADR-0034 — scaffold the OWNED codegen generators that metaobjects.config.ts imports
|
|
367
|
+
// locally. Done before the config so the import targets exist on first `meta gen`.
|
|
368
|
+
await writeOwnedGenerators(opts, result);
|
|
369
|
+
|
|
283
370
|
// Scaffold metaobjects.config.ts at the project root. Never overwrite if it exists.
|
|
284
371
|
const forgeConfigPath = join(opts.cwd, "metaobjects.config.ts");
|
|
285
372
|
if (!(await fileExists(forgeConfigPath))) {
|
|
@@ -367,6 +454,9 @@ export async function initCommand(args: string[], cwd: string): Promise<number>
|
|
|
367
454
|
log.info("Re-run --docs-only --refresh-docs to update; --no-wire-root to skip the root CLAUDE.md @import.");
|
|
368
455
|
} else {
|
|
369
456
|
log.info(nextStepsBlock());
|
|
457
|
+
// Surface any scaffold warnings (e.g. the #77 monorepo-subdir agent-context
|
|
458
|
+
// discovery warning) — these are otherwise dropped on the normal init path.
|
|
459
|
+
for (const w of result.warnings) log.warn(w);
|
|
370
460
|
}
|
|
371
461
|
}
|
|
372
462
|
return 0;
|