@auto-engineer/app-assembler 1.112.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/LICENSE ADDED
@@ -0,0 +1,10 @@
1
+ Elastic License 2.0
2
+
3
+ Copyright 2024 Sam Hatoum
4
+
5
+ This software and associated documentation files (the "Software") are licensed under the Elastic License 2.0 (the "License"). You may not use this file except in compliance with the License.
6
+
7
+ You may obtain a copy of the License at:
8
+ https://www.elastic.co/licensing/elastic-license
9
+
10
+ Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
@@ -0,0 +1,8 @@
1
+ import { type LanguageModel } from 'ai';
2
+ import type { AssembleAppPayload, AssembleAppResult, ImplementedComponent } from './types.js';
3
+ export declare function assembleApp(payload: AssembleAppPayload, implementedComponents: ImplementedComponent[], options: {
4
+ model: LanguageModel;
5
+ targetDir: string;
6
+ maxRefinements?: number;
7
+ }): Promise<AssembleAppResult>;
8
+ //# sourceMappingURL=assemble.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assemble.d.ts","sourceRoot":"","sources":["../../src/assemble.ts"],"names":[],"mappings":"AAEA,OAAO,EAAgB,KAAK,aAAa,EAAE,MAAM,IAAI,CAAC;AAItD,OAAO,KAAK,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAE9F,wBAAsB,WAAW,CAC/B,OAAO,EAAE,kBAAkB,EAC3B,qBAAqB,EAAE,oBAAoB,EAAE,EAC7C,OAAO,EAAE;IAAE,KAAK,EAAE,aAAa,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,cAAc,CAAC,EAAE,MAAM,CAAA;CAAE,GAC5E,OAAO,CAAC,iBAAiB,CAAC,CAwE5B"}
@@ -0,0 +1,68 @@
1
+ import { mkdirSync, writeFileSync } from 'node:fs';
2
+ import { dirname, resolve } from 'node:path';
3
+ import { generateText } from 'ai';
4
+ import { parseFiles } from './file-parser.js';
5
+ import { buildRefinementPrompt, buildSystemPrompt, buildUserPrompt } from './prompt.js';
6
+ import { runTypeCheck } from './type-checker.js';
7
+ export async function assembleApp(payload, implementedComponents, options) {
8
+ const { model, targetDir, maxRefinements = 3 } = options;
9
+ let totalInputTokens = 0;
10
+ let totalOutputTokens = 0;
11
+ // Initial generation
12
+ const systemPrompt = buildSystemPrompt();
13
+ const userPrompt = buildUserPrompt(payload, implementedComponents);
14
+ const initial = await generateText({
15
+ model,
16
+ system: systemPrompt,
17
+ prompt: userPrompt,
18
+ });
19
+ totalInputTokens += initial.usage.inputTokens ?? 0;
20
+ totalOutputTokens += initial.usage.outputTokens ?? 0;
21
+ let files = parseFiles(initial.text);
22
+ writeFiles(targetDir, files);
23
+ // Type-check refinement loop
24
+ let refinements = 0;
25
+ let lastTypeCheckResult;
26
+ for (let i = 0; i < maxRefinements; i++) {
27
+ const generatedPaths = files.map((f) => f.path);
28
+ const result = runTypeCheck(targetDir, generatedPaths);
29
+ lastTypeCheckResult = result;
30
+ console.log(`[app-assembler] type-check iteration ${i + 1}/${maxRefinements} — passed=${result.passed}, errors=${result.errors.length}`);
31
+ if (result.errors.length > 0) {
32
+ console.log(`[app-assembler] errors:\n${result.errors.join('\n')}`);
33
+ }
34
+ console.log(`[app-assembler] generated files: ${generatedPaths.join(', ')}`);
35
+ if (result.passed)
36
+ break;
37
+ refinements++;
38
+ console.log(` refinement ${refinements}/${maxRefinements} — ${result.errors.length} errors`);
39
+ const refinementPrompt = buildRefinementPrompt(result.errors, files);
40
+ const refined = await generateText({
41
+ model,
42
+ system: systemPrompt,
43
+ prompt: refinementPrompt,
44
+ });
45
+ totalInputTokens += refined.usage.inputTokens ?? 0;
46
+ totalOutputTokens += refined.usage.outputTokens ?? 0;
47
+ const previousFiles = files.map((f) => f.path).join(', ');
48
+ files = parseFiles(refined.text);
49
+ console.log(`[app-assembler] refinement ${refinements} — files before: [${previousFiles}], files after: [${files.map((f) => f.path).join(', ')}]`);
50
+ writeFiles(targetDir, files);
51
+ }
52
+ if (lastTypeCheckResult && !lastTypeCheckResult.passed) {
53
+ console.warn(`[app-assembler] WARNING: type-check still failing after ${maxRefinements} refinements. Remaining errors:\n${lastTypeCheckResult.errors.join('\n')}`);
54
+ }
55
+ return {
56
+ files,
57
+ usage: { inputTokens: totalInputTokens, outputTokens: totalOutputTokens },
58
+ refinements,
59
+ };
60
+ }
61
+ function writeFiles(targetDir, files) {
62
+ for (const file of files) {
63
+ const fullPath = resolve(targetDir, file.path);
64
+ mkdirSync(dirname(fullPath), { recursive: true });
65
+ writeFileSync(fullPath, file.content, 'utf-8');
66
+ }
67
+ }
68
+ //# sourceMappingURL=assemble.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assemble.js","sourceRoot":"","sources":["../../src/assemble.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ import { type Command, type Event } from '@auto-engineer/message-bus';
2
+ import type { AssembleAppJob } from '../types.js';
3
+ export type AssembleAppCommand = Command<'AssembleApp', {
4
+ job: AssembleAppJob;
5
+ }>;
6
+ export type AppAssembledEvent = Event<'AppAssembled', {
7
+ filesWritten: string[];
8
+ refinements: number;
9
+ inputTokens: number;
10
+ outputTokens: number;
11
+ }>;
12
+ export type AppAssemblyFailedEvent = Event<'AppAssemblyFailed', {
13
+ error: string;
14
+ }>;
15
+ export type AssembleAppEvents = AppAssembledEvent | AppAssemblyFailedEvent;
16
+ export declare const commandHandler: import("@auto-engineer/message-bus").UnifiedCommandHandler<Readonly<{
17
+ type: "AssembleApp";
18
+ data: Readonly<{
19
+ job: AssembleAppJob;
20
+ }>;
21
+ timestamp?: Date;
22
+ requestId?: string;
23
+ correlationId?: string;
24
+ }>>;
25
+ export default commandHandler;
26
+ //# sourceMappingURL=assemble-app.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assemble-app.d.ts","sourceRoot":"","sources":["../../../src/commands/assemble-app.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,OAAO,EAAwB,KAAK,KAAK,EAAE,MAAM,4BAA4B,CAAC;AAI5F,OAAO,KAAK,EAAE,cAAc,EAA4C,MAAM,aAAa,CAAC;AAI5F,MAAM,MAAM,kBAAkB,GAAG,OAAO,CACtC,aAAa,EACb;IACE,GAAG,EAAE,cAAc,CAAC;CACrB,CACF,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,KAAK,CACnC,cAAc,EACd;IACE,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;CACtB,CACF,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG,KAAK,CACxC,mBAAmB,EACnB;IACE,KAAK,EAAE,MAAM,CAAC;CACf,CACF,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,iBAAiB,GAAG,sBAAsB,CAAC;AAyB3E,eAAO,MAAM,cAAc;;;aA9ClB,cAAc;;;;;GAqHrB,CAAC;AAEH,eAAe,cAAc,CAAC"}
@@ -0,0 +1,89 @@
1
+ import { readFile } from 'node:fs/promises';
2
+ import path from 'node:path';
3
+ import { defineCommandHandler } from '@auto-engineer/message-bus';
4
+ import { createModelFromEnv } from '@auto-engineer/model-factory';
5
+ import createDebug from 'debug';
6
+ import { assembleApp } from '../assemble.js';
7
+ const debug = createDebug('auto:app-assembler:command');
8
+ async function readComponentsDb(clientDir) {
9
+ try {
10
+ const raw = await readFile(path.join(clientDir, '.context', 'components-db.json'), 'utf-8');
11
+ const entries = JSON.parse(raw);
12
+ return entries
13
+ .filter((e) => !!e.componentPath && !!e.name)
14
+ .map((e) => ({
15
+ componentId: e.id ?? e.name,
16
+ componentName: e.name,
17
+ filePath: e.componentPath,
18
+ atomicType: e.atomicType ?? 'molecule',
19
+ }));
20
+ }
21
+ catch {
22
+ debug('No components-db.json found, proceeding with empty components list');
23
+ return [];
24
+ }
25
+ }
26
+ export const commandHandler = defineCommandHandler({
27
+ name: 'AssembleApp',
28
+ displayName: 'Assemble App',
29
+ alias: 'assemble:app',
30
+ description: 'Generate the app shell (routing, layout, navigation) from route definitions and implemented components',
31
+ category: 'implement',
32
+ icon: 'app',
33
+ fields: {
34
+ job: {
35
+ description: 'AssembleAppJob containing routes, navigation edges, layout, and cross-cutting rules',
36
+ required: true,
37
+ },
38
+ },
39
+ examples: [
40
+ '$ auto assemble:app --job=\'{"id":"job_assemble-app","dependsOn":[],"target":"AssembleApp","payload":{...}}\'',
41
+ ],
42
+ events: [
43
+ { name: 'AppAssembled', displayName: 'App Assembled' },
44
+ { name: 'AppAssemblyFailed', displayName: 'App Assembly Failed' },
45
+ ],
46
+ handle: async (command) => {
47
+ const { job } = command.data;
48
+ const payload = job.payload;
49
+ debug('Assembling app: appName=%s, routes=%d', payload.appName, payload.routes.length);
50
+ try {
51
+ const clientDir = path.resolve('client');
52
+ debug('Client directory: %s', clientDir);
53
+ const implementedComponents = await readComponentsDb(clientDir);
54
+ debug('Found %d implemented components', implementedComponents.length);
55
+ const model = createModelFromEnv();
56
+ const result = await assembleApp(payload, implementedComponents, {
57
+ model,
58
+ targetDir: clientDir,
59
+ });
60
+ const filesWritten = result.files.map((f) => f.path);
61
+ debug('App assembled: %d files, %d refinements', filesWritten.length, result.refinements);
62
+ return {
63
+ type: 'AppAssembled',
64
+ data: {
65
+ filesWritten,
66
+ refinements: result.refinements,
67
+ inputTokens: result.usage.inputTokens,
68
+ outputTokens: result.usage.outputTokens,
69
+ },
70
+ timestamp: new Date(),
71
+ requestId: command.requestId,
72
+ correlationId: command.correlationId,
73
+ };
74
+ }
75
+ catch (error) {
76
+ const errorMessage = error instanceof Error ? error.message : String(error);
77
+ debug('Assembly failed: %s', errorMessage);
78
+ return {
79
+ type: 'AppAssemblyFailed',
80
+ data: { error: errorMessage },
81
+ timestamp: new Date(),
82
+ requestId: command.requestId,
83
+ correlationId: command.correlationId,
84
+ };
85
+ }
86
+ },
87
+ });
88
+ export default commandHandler;
89
+ //# sourceMappingURL=assemble-app.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assemble-app.js","sourceRoot":"","sources":["../../../src/commands/assemble-app.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Parse LLM output that uses <!-- file: path --> delimiters into individual files.
3
+ */
4
+ export declare function parseFiles(output: string): {
5
+ path: string;
6
+ content: string;
7
+ }[];
8
+ //# sourceMappingURL=file-parser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-parser.d.ts","sourceRoot":"","sources":["../../src/file-parser.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,EAAE,CA0B9E"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Parse LLM output that uses <!-- file: path --> delimiters into individual files.
3
+ */
4
+ export function parseFiles(output) {
5
+ const files = [];
6
+ const marker = /<!--\s*file:\s*(.+?)\s*-->/g;
7
+ const matches = [];
8
+ let match;
9
+ while ((match = marker.exec(output)) !== null) {
10
+ matches.push({ index: match.index + match[0].length, path: match[1].trim() });
11
+ }
12
+ for (let i = 0; i < matches.length; i++) {
13
+ const start = matches[i].index;
14
+ const end = i + 1 < matches.length ? output.lastIndexOf('<!--', matches[i + 1].index) : output.length;
15
+ let content = output.slice(start, end).trim();
16
+ // Strip wrapping code fences if present
17
+ content = content.replace(/^```(?:tsx?|jsx?|typescript|javascript)?\s*\n?/, '');
18
+ content = content.replace(/\n?```\s*$/, '');
19
+ content = content.trim();
20
+ if (content) {
21
+ files.push({ path: matches[i].path, content });
22
+ }
23
+ }
24
+ return files;
25
+ }
26
+ //# sourceMappingURL=file-parser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file-parser.js","sourceRoot":"","sources":["../../src/file-parser.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,MAAc;IACvC,MAAM,KAAK,GAAwC,EAAE,CAAC;IACtD,MAAM,MAAM,GAAG,6BAA6B,CAAC;IAE7C,MAAM,OAAO,GAAsC,EAAE,CAAC;IACtD,IAAI,KAA6B,CAAC;IAClC,OAAO,CAAC,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QAC9C,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IAChF,CAAC;IAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACxC,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QAC/B,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC;QACtG,IAAI,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;QAE9C,wCAAwC;QACxC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,gDAAgD,EAAE,EAAE,CAAC,CAAC;QAChF,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;QAC5C,OAAO,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;QAEzB,IAAI,OAAO,EAAE,CAAC;YACZ,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;QACjD,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { commandHandler as assembleAppHandler } from './commands/assemble-app.js';
2
+ export declare const COMMANDS: import("@auto-engineer/message-bus").UnifiedCommandHandler<Readonly<{
3
+ type: "AssembleApp";
4
+ data: Readonly<{
5
+ job: import("./types.js").AssembleAppJob;
6
+ }>;
7
+ timestamp?: Date;
8
+ requestId?: string;
9
+ correlationId?: string;
10
+ }>>[];
11
+ export { assembleAppHandler };
12
+ export { assembleApp } from './assemble.js';
13
+ export type { AppAssembledEvent, AppAssemblyFailedEvent, AssembleAppCommand, AssembleAppEvents, } from './commands/assemble-app.js';
14
+ export { parseFiles } from './file-parser.js';
15
+ export { runTypeCheck } from './type-checker.js';
16
+ export type { AssembleAppJob, AssembleAppPayload, AssembleAppResult, CrossCuttingRule, ImplementedComponent, LayoutInfo, NavigationEdge, RouteDefinition, } from './types.js';
17
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,IAAI,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAElF,eAAO,MAAM,QAAQ;;;;;;;;KAAuB,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,CAAC;AAC9B,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,YAAY,EACV,iBAAiB,EACjB,sBAAsB,EACtB,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,YAAY,EACV,cAAc,EACd,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,EAChB,oBAAoB,EACpB,UAAU,EACV,cAAc,EACd,eAAe,GAChB,MAAM,YAAY,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { commandHandler as assembleAppHandler } from './commands/assemble-app.js';
2
+ export const COMMANDS = [assembleAppHandler];
3
+ export { assembleAppHandler };
4
+ export { assembleApp } from './assemble.js';
5
+ export { parseFiles } from './file-parser.js';
6
+ export { runTypeCheck } from './type-checker.js';
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,IAAI,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAElF,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,kBAAkB,CAAC,CAAC;AAC7C,OAAO,EAAE,kBAAkB,EAAE,CAAC;AAC9B,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAO5C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC"}
@@ -0,0 +1,8 @@
1
+ import type { AssembleAppPayload, ImplementedComponent } from './types.js';
2
+ export declare function buildSystemPrompt(): string;
3
+ export declare function buildUserPrompt(payload: AssembleAppPayload, implementedComponents: ImplementedComponent[]): string;
4
+ export declare function buildRefinementPrompt(errors: string[], currentFiles: {
5
+ path: string;
6
+ content: string;
7
+ }[]): string;
8
+ //# sourceMappingURL=prompt.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompt.d.ts","sourceRoot":"","sources":["../../src/prompt.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAE3E,wBAAgB,iBAAiB,IAAI,MAAM,CAoC1C;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,GAAG,MAAM,CA6BlH;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,YAAY,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,EAAE,GAAG,MAAM,CAYjH"}
@@ -0,0 +1,80 @@
1
+ export function buildSystemPrompt() {
2
+ return `You are a scaffold-level LLM generating the **app shell only** — routing, layout wrappers, and navigation.
3
+
4
+ ## What you do
5
+ - Match routes to page components and generate \`App.tsx\` with \`<BrowserRouter>\` + \`<Routes>\`
6
+ - Generate layout wrappers if the app needs them (e.g. sidebar nav, top nav bar, shared page chrome)
7
+ - Wire cross-cutting rules (auth guards, etc.) into the routing/layout layer
8
+
9
+ ## What you do NOT do
10
+ - You do NOT implement or modify page components — they are already fully built. You only import and wire them.
11
+ - You do NOT create new page content, data fetching logic, or GraphQL operations inside pages.
12
+
13
+ ## Conventions
14
+ - React Router v6 (\`react-router-dom\`)
15
+ - TanStack Query (\`@tanstack/react-query\`) — wrap with \`<QueryClientProvider>\` in App.tsx
16
+ - Tailwind CSS for all styling
17
+ - Always import the global CSS as the first import in App.tsx: \`import '@/index.css';\`
18
+ - **Named exports ONLY** — NEVER use \`export default\`. Every export must be a named export (e.g. \`export function App()\`, \`export function MainLayout()\`). Every import must use named imports (e.g. \`import { App } from './App'\`, \`import { LogWorkoutPage } from '@/components/LogWorkoutPage'\`).
19
+ - \`@/\` import alias maps to \`src/\`
20
+ - All page components are in \`src/components/\` — use the exact file paths provided
21
+
22
+ ## Output format
23
+ For each file you generate, output:
24
+
25
+ \`\`\`
26
+ <!-- file: src/App.tsx -->
27
+ \`\`\`
28
+
29
+ followed by the full tsx code for that file. Repeat for each file.
30
+
31
+ ## Scope of generated files
32
+ You may ONLY generate these files:
33
+ - \`src/App.tsx\` (required — the app shell with routing)
34
+ - \`src/layouts/*.tsx\` (optional — layout wrappers like MainLayout, Sidebar, etc.)
35
+
36
+ Never generate or modify files in \`src/components/\`.`;
37
+ }
38
+ export function buildUserPrompt(payload, implementedComponents) {
39
+ const pages = implementedComponents.filter((c) => c.atomicType === 'page');
40
+ const nonPages = implementedComponents.filter((c) => c.atomicType !== 'page');
41
+ return `## App: ${payload.appName}
42
+
43
+ ## Route Definitions
44
+ ${JSON.stringify(payload.routes, null, 2)}
45
+
46
+ ## Navigation Edges
47
+ ${JSON.stringify(payload.navigationEdges, null, 2)}
48
+
49
+ ## Cross-Cutting Rules
50
+ ${JSON.stringify(payload.crossCuttingRules, null, 2)}
51
+
52
+ ## Layout Tokens
53
+ ${JSON.stringify(payload.layout, null, 2)}
54
+
55
+ ## Entry Route
56
+ The default route ("/") should render: ${payload.entryRoute}
57
+
58
+ ## Implemented Page Components
59
+ These are fully built page components. Import and wire them into routes:
60
+ ${pages.map((c) => `- ${c.componentName} → import from "@/${c.filePath.replace(/^src\//, '').replace(/\.tsx$/, '')}" (pattern: route match by name)`).join('\n')}
61
+
62
+ ## Other Implemented Components (for reference only — do NOT import these in App.tsx)
63
+ ${nonPages.length > 0 ? nonPages.map((c) => `- ${c.componentName} (${c.atomicType}) at ${c.filePath}`).join('\n') : 'None'}
64
+
65
+ Generate the app shell files now.`;
66
+ }
67
+ export function buildRefinementPrompt(errors, currentFiles) {
68
+ return `The generated files have TypeScript errors. Fix them.
69
+
70
+ ## Errors
71
+ \`\`\`
72
+ ${errors.join('\n')}
73
+ \`\`\`
74
+
75
+ ## Current Files
76
+ ${currentFiles.map((f) => `<!-- file: ${f.path} -->\n\`\`\`tsx\n${f.content}\n\`\`\``).join('\n\n')}
77
+
78
+ Output the corrected files using the same \`<!-- file: path -->\` format. Include ALL files, not just changed ones.`;
79
+ }
80
+ //# sourceMappingURL=prompt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../src/prompt.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,iBAAiB;IAC/B,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uDAkC8C,CAAC;AACxD,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,OAA2B,EAAE,qBAA6C;IACxG,MAAM,KAAK,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,MAAM,CAAC,CAAC;IAC3E,MAAM,QAAQ,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,MAAM,CAAC,CAAC;IAE9E,OAAO,WAAW,OAAO,CAAC,OAAO;;;EAGjC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;;;EAGvC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC;;;EAGhD,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,iBAAiB,EAAE,IAAI,EAAE,CAAC,CAAC;;;EAGlD,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;;;yCAGA,OAAO,CAAC,UAAU;;;;EAIzD,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,aAAa,qBAAqB,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,kCAAkC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;;EAG9J,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,aAAa,KAAK,CAAC,CAAC,UAAU,QAAQ,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM;;kCAExF,CAAC;AACnC,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,MAAgB,EAAE,YAAiD;IACvG,OAAO;;;;EAIP,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC;;;;EAIjB,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,CAAC,IAAI,oBAAoB,CAAC,CAAC,OAAO,UAAU,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;;oHAEiB,CAAC;AACrH,CAAC"}
@@ -0,0 +1,10 @@
1
+ export type TypeCheckResult = {
2
+ passed: boolean;
3
+ errors: string[];
4
+ };
5
+ /**
6
+ * Run `pnpm type-check` in the target directory and filter errors
7
+ * to only those in the generated files.
8
+ */
9
+ export declare function runTypeCheck(targetDir: string, generatedFiles: string[]): TypeCheckResult;
10
+ //# sourceMappingURL=type-checker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"type-checker.d.ts","sourceRoot":"","sources":["../../src/type-checker.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,eAAe,GAAG;IAC5B,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB,CAAC;AAEF;;;GAGG;AACH,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,GAAG,eAAe,CAmCzF"}
@@ -0,0 +1,39 @@
1
+ import { execSync } from 'node:child_process';
2
+ /**
3
+ * Run `pnpm type-check` in the target directory and filter errors
4
+ * to only those in the generated files.
5
+ */
6
+ export function runTypeCheck(targetDir, generatedFiles) {
7
+ try {
8
+ execSync('pnpm type-check', {
9
+ cwd: targetDir,
10
+ stdio: 'pipe',
11
+ encoding: 'utf-8',
12
+ });
13
+ return { passed: true, errors: [] };
14
+ }
15
+ catch (err) {
16
+ const stderr = err.stderr ?? '';
17
+ const stdout = err.stdout ?? '';
18
+ const combined = stderr + '\n' + stdout;
19
+ // Parse TS errors: "src/App.tsx(5,10): error TS2307: ..."
20
+ // Also handles: "src/App.tsx:5:10 - error TS2307: ..."
21
+ const errorLines = combined.split('\n').filter((line) => /error TS\d+/.test(line));
22
+ // Normalize generated file paths for matching
23
+ const normalizedPaths = new Set(generatedFiles.map((f) => f.replace(/^\.\//, '')));
24
+ // Filter to only errors in files we generated
25
+ const relevantErrors = errorLines.filter((line) => {
26
+ for (const filePath of normalizedPaths) {
27
+ if (line.includes(filePath))
28
+ return true;
29
+ }
30
+ return false;
31
+ });
32
+ if (relevantErrors.length === 0) {
33
+ // Errors exist but none in our generated files — treat as passed
34
+ return { passed: true, errors: [] };
35
+ }
36
+ return { passed: false, errors: relevantErrors };
37
+ }
38
+ }
39
+ //# sourceMappingURL=type-checker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"type-checker.js","sourceRoot":"","sources":["../../src/type-checker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAO9C;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,SAAiB,EAAE,cAAwB;IACtE,IAAI,CAAC;QACH,QAAQ,CAAC,iBAAiB,EAAE;YAC1B,GAAG,EAAE,SAAS;YACd,KAAK,EAAE,MAAM;YACb,QAAQ,EAAE,OAAO;SAClB,CAAC,CAAC;QACH,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;IACtC,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACtB,MAAM,MAAM,GAAI,GAA2B,CAAC,MAAM,IAAI,EAAE,CAAC;QACzD,MAAM,MAAM,GAAI,GAA2B,CAAC,MAAM,IAAI,EAAE,CAAC;QACzD,MAAM,QAAQ,GAAG,MAAM,GAAG,IAAI,GAAG,MAAM,CAAC;QAExC,0DAA0D;QAC1D,uDAAuD;QACvD,MAAM,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAEnF,8CAA8C;QAC9C,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;QAEnF,8CAA8C;QAC9C,MAAM,cAAc,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;YAChD,KAAK,MAAM,QAAQ,IAAI,eAAe,EAAE,CAAC;gBACvC,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;oBAAE,OAAO,IAAI,CAAC;YAC3C,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC,CAAC,CAAC;QAEH,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAChC,iEAAiE;YACjE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;QACtC,CAAC;QAED,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC;IACnD,CAAC;AACH,CAAC"}
@@ -0,0 +1,61 @@
1
+ export type RouteDefinition = {
2
+ path: string;
3
+ params: string[];
4
+ routeType: 'dedicated' | 'nested';
5
+ deepLinkable: boolean;
6
+ parentPath?: string;
7
+ sceneName: string;
8
+ interactionPattern: string;
9
+ };
10
+ export type NavigationEdge = {
11
+ fromSceneName: string;
12
+ toSceneName: string;
13
+ trigger: string;
14
+ triggerLabel: string;
15
+ triggerEmphasis?: 'primary' | 'secondary' | 'destructive' | 'ghost';
16
+ };
17
+ export type CrossCuttingRule = {
18
+ id: string;
19
+ description: string;
20
+ appliesTo: 'all-pages' | string[];
21
+ rule: string;
22
+ };
23
+ export type LayoutInfo = {
24
+ pagePadding: string;
25
+ maxContentWidth: string;
26
+ narrowContentWidth: string;
27
+ pageHeader: string;
28
+ stickyActionBar: string;
29
+ };
30
+ export type AssembleAppPayload = {
31
+ routes: RouteDefinition[];
32
+ navigationEdges: NavigationEdge[];
33
+ crossCuttingRules: CrossCuttingRule[];
34
+ layout: LayoutInfo;
35
+ entryRoute: string;
36
+ appName: string;
37
+ };
38
+ export type AssembleAppJob = {
39
+ id: 'job_assemble-app';
40
+ dependsOn: string[];
41
+ target: 'AssembleApp';
42
+ payload: AssembleAppPayload;
43
+ };
44
+ export type ImplementedComponent = {
45
+ componentId: string;
46
+ componentName: string;
47
+ filePath: string;
48
+ atomicType: string;
49
+ };
50
+ export type AssembleAppResult = {
51
+ files: {
52
+ path: string;
53
+ content: string;
54
+ }[];
55
+ usage: {
56
+ inputTokens: number;
57
+ outputTokens: number;
58
+ };
59
+ refinements: number;
60
+ };
61
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,SAAS,EAAE,WAAW,GAAG,QAAQ,CAAC;IAClC,YAAY,EAAE,OAAO,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,kBAAkB,EAAE,MAAM,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,CAAC,EAAE,SAAS,GAAG,WAAW,GAAG,aAAa,GAAG,OAAO,CAAC;CACrE,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,WAAW,GAAG,MAAM,EAAE,CAAC;IAClC,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,MAAM,EAAE,eAAe,EAAE,CAAC;IAC1B,eAAe,EAAE,cAAc,EAAE,CAAC;IAClC,iBAAiB,EAAE,gBAAgB,EAAE,CAAC;IACtC,MAAM,EAAE,UAAU,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,EAAE,EAAE,kBAAkB,CAAC;IACvB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,MAAM,EAAE,aAAa,CAAC;IACtB,OAAO,EAAE,kBAAkB,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC3C,KAAK,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,CAAC;IACrD,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1 @@
1
+ {"fileNames":["../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2016.intl.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2017.date.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/.pnpm/typescript@5.8.3/node_modules/typescript/lib/lib.decorators.legacy.d.ts","../../../node_modules/.pnpm/@types+json-schema@7.0.15/node_modules/@types/json-schema/index.d.ts","../../../node_modules/.pnpm/@ai-sdk+provider@3.0.8/node_modules/@ai-sdk/provider/dist/index.d.ts","../../../node_modules/.pnpm/@standard-schema+spec@1.1.0/node_modules/@standard-schema/spec/dist/index.d.ts","../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v3/helpers/typeAliases.d.cts","../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v3/helpers/util.d.cts","../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v3/ZodError.d.cts","../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v3/locales/en.d.cts","../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v3/errors.d.cts","../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v3/helpers/parseUtil.d.cts","../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v3/helpers/enumUtil.d.cts","../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v3/helpers/errorUtil.d.cts","../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v3/helpers/partialUtil.d.cts","../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v3/standard-schema.d.cts","../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v3/types.d.cts","../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v3/external.d.cts","../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v3/index.d.cts","../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/json-schema.d.cts","../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/standard-schema.d.cts","../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/registries.d.cts","../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/to-json-schema.d.cts","../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/util.d.cts","../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/versions.d.cts","../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/schemas.d.cts","../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/checks.d.cts","../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/errors.d.cts","../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/core.d.cts","../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/parse.d.cts","../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/regexes.d.cts","../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/ar.d.cts","../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/az.d.cts","../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/be.d.cts","../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/bg.d.cts","../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/ca.d.cts","../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/cs.d.cts","../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/da.d.cts","../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/de.d.cts","../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/en.d.cts","../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/eo.d.cts","../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/es.d.cts","../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/fa.d.cts","../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/fi.d.cts","../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/fr.d.cts","../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/fr-CA.d.cts","../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/he.d.cts","../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/hu.d.cts","../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/hy.d.cts","../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/id.d.cts","../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/is.d.cts","../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/it.d.cts","../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/ja.d.cts","../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/ka.d.cts","../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/kh.d.cts","../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/km.d.cts","../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/ko.d.cts","../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/lt.d.cts","../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/mk.d.cts","../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/ms.d.cts","../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/nl.d.cts","../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/no.d.cts","../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/ota.d.cts","../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/ps.d.cts","../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/pl.d.cts","../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/pt.d.cts","../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/ru.d.cts","../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/sl.d.cts","../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/sv.d.cts","../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/ta.d.cts","../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/th.d.cts","../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/tr.d.cts","../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/ua.d.cts","../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/uk.d.cts","../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/ur.d.cts","../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/uz.d.cts","../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/vi.d.cts","../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/zh-CN.d.cts","../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/zh-TW.d.cts","../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/yo.d.cts","../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/locales/index.d.cts","../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/doc.d.cts","../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/api.d.cts","../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/json-schema-processors.d.cts","../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/json-schema-generator.d.cts","../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/core/index.d.cts","../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/classic/errors.d.cts","../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/classic/parse.d.cts","../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/classic/schemas.d.cts","../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/classic/checks.d.cts","../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/classic/compat.d.cts","../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/classic/from-json-schema.d.cts","../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/classic/iso.d.cts","../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/classic/coerce.d.cts","../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/classic/external.d.cts","../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/classic/index.d.cts","../../../node_modules/.pnpm/zod@4.3.6/node_modules/zod/v4/index.d.cts","../../../node_modules/.pnpm/eventsource-parser@3.0.6/node_modules/eventsource-parser/dist/stream.d.ts","../../../node_modules/.pnpm/@ai-sdk+provider-utils@4.0.15_zod@4.3.6/node_modules/@ai-sdk/provider-utils/dist/index.d.ts","../../../node_modules/.pnpm/@ai-sdk+gateway@3.0.46_zod@4.3.6/node_modules/@ai-sdk/gateway/dist/index.d.ts","../../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/baggage/internal/symbol.d.ts","../../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/baggage/types.d.ts","../../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/baggage/utils.d.ts","../../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/common/Exception.d.ts","../../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/common/Time.d.ts","../../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/common/Attributes.d.ts","../../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/context/types.d.ts","../../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/context/context.d.ts","../../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/api/context.d.ts","../../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/diag/types.d.ts","../../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/diag/consoleLogger.d.ts","../../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/api/diag.d.ts","../../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/metrics/ObservableResult.d.ts","../../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/metrics/Metric.d.ts","../../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/metrics/Meter.d.ts","../../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/metrics/NoopMeter.d.ts","../../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/metrics/MeterProvider.d.ts","../../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/api/metrics.d.ts","../../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/propagation/TextMapPropagator.d.ts","../../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/baggage/context-helpers.d.ts","../../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/api/propagation.d.ts","../../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/trace/attributes.d.ts","../../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/trace/trace_state.d.ts","../../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/trace/span_context.d.ts","../../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/trace/link.d.ts","../../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/trace/status.d.ts","../../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/trace/span.d.ts","../../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/trace/span_kind.d.ts","../../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/trace/SpanOptions.d.ts","../../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/trace/tracer.d.ts","../../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/trace/tracer_options.d.ts","../../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/trace/ProxyTracer.d.ts","../../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/trace/tracer_provider.d.ts","../../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/trace/ProxyTracerProvider.d.ts","../../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/trace/SamplingResult.d.ts","../../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/trace/Sampler.d.ts","../../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/trace/trace_flags.d.ts","../../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/trace/internal/utils.d.ts","../../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/trace/spancontext-utils.d.ts","../../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/trace/invalid-span-constants.d.ts","../../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/trace/context-utils.d.ts","../../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/api/trace.d.ts","../../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/context-api.d.ts","../../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/diag-api.d.ts","../../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/metrics-api.d.ts","../../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/propagation-api.d.ts","../../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/trace-api.d.ts","../../../node_modules/.pnpm/@opentelemetry+api@1.9.0/node_modules/@opentelemetry/api/build/src/index.d.ts","../../../node_modules/.pnpm/ai@6.0.86_zod@4.3.6/node_modules/ai/dist/index.d.ts","../src/file-parser.ts","../src/types.ts","../src/prompt.ts","../src/type-checker.ts","../src/assemble.ts","../../message-bus/dist/src/types.d.ts","../../message-bus/dist/src/define-command.d.ts","../../message-bus/dist/src/message-bus.d.ts","../../message-bus/dist/src/index.d.ts","../../model-factory/dist/src/index.d.ts","../../../node_modules/.pnpm/@types+ms@2.1.0/node_modules/@types/ms/index.d.ts","../../../node_modules/.pnpm/@types+debug@4.1.12/node_modules/@types/debug/index.d.ts","../src/commands/assemble-app.ts","../src/index.ts","../../../node_modules/.pnpm/@types+node@20.19.11/node_modules/@types/node/compatibility/disposable.d.ts","../../../node_modules/.pnpm/@types+node@20.19.11/node_modules/@types/node/compatibility/indexable.d.ts","../../../node_modules/.pnpm/@types+node@20.19.11/node_modules/@types/node/compatibility/iterators.d.ts","../../../node_modules/.pnpm/@types+node@20.19.11/node_modules/@types/node/compatibility/index.d.ts","../../../node_modules/.pnpm/@types+node@20.19.11/node_modules/@types/node/globals.typedarray.d.ts","../../../node_modules/.pnpm/@types+node@20.19.11/node_modules/@types/node/buffer.buffer.d.ts","../../../node_modules/.pnpm/buffer@5.7.1/node_modules/buffer/index.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/header.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/readable.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/file.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/fetch.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/formdata.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/connector.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/client.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/errors.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/dispatcher.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/global-dispatcher.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/global-origin.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/pool-stats.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/pool.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/handlers.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/balanced-pool.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/agent.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-interceptor.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-agent.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-client.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-pool.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/mock-errors.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/proxy-agent.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/env-http-proxy-agent.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/retry-handler.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/retry-agent.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/api.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/interceptors.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/util.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/cookies.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/patch.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/websocket.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/eventsource.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/filereader.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/diagnostics-channel.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/content-type.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/cache.d.ts","../../../node_modules/.pnpm/undici-types@6.21.0/node_modules/undici-types/index.d.ts","../../../node_modules/.pnpm/@types+node@20.19.11/node_modules/@types/node/globals.d.ts","../../../node_modules/.pnpm/@types+node@20.19.11/node_modules/@types/node/assert.d.ts","../../../node_modules/.pnpm/@types+node@20.19.11/node_modules/@types/node/assert/strict.d.ts","../../../node_modules/.pnpm/@types+node@20.19.11/node_modules/@types/node/async_hooks.d.ts","../../../node_modules/.pnpm/@types+node@20.19.11/node_modules/@types/node/buffer.d.ts","../../../node_modules/.pnpm/@types+node@20.19.11/node_modules/@types/node/child_process.d.ts","../../../node_modules/.pnpm/@types+node@20.19.11/node_modules/@types/node/cluster.d.ts","../../../node_modules/.pnpm/@types+node@20.19.11/node_modules/@types/node/console.d.ts","../../../node_modules/.pnpm/@types+node@20.19.11/node_modules/@types/node/constants.d.ts","../../../node_modules/.pnpm/@types+node@20.19.11/node_modules/@types/node/crypto.d.ts","../../../node_modules/.pnpm/@types+node@20.19.11/node_modules/@types/node/dgram.d.ts","../../../node_modules/.pnpm/@types+node@20.19.11/node_modules/@types/node/diagnostics_channel.d.ts","../../../node_modules/.pnpm/@types+node@20.19.11/node_modules/@types/node/dns.d.ts","../../../node_modules/.pnpm/@types+node@20.19.11/node_modules/@types/node/dns/promises.d.ts","../../../node_modules/.pnpm/@types+node@20.19.11/node_modules/@types/node/domain.d.ts","../../../node_modules/.pnpm/@types+node@20.19.11/node_modules/@types/node/dom-events.d.ts","../../../node_modules/.pnpm/@types+node@20.19.11/node_modules/@types/node/events.d.ts","../../../node_modules/.pnpm/@types+node@20.19.11/node_modules/@types/node/fs.d.ts","../../../node_modules/.pnpm/@types+node@20.19.11/node_modules/@types/node/fs/promises.d.ts","../../../node_modules/.pnpm/@types+node@20.19.11/node_modules/@types/node/http.d.ts","../../../node_modules/.pnpm/@types+node@20.19.11/node_modules/@types/node/http2.d.ts","../../../node_modules/.pnpm/@types+node@20.19.11/node_modules/@types/node/https.d.ts","../../../node_modules/.pnpm/@types+node@20.19.11/node_modules/@types/node/inspector.d.ts","../../../node_modules/.pnpm/@types+node@20.19.11/node_modules/@types/node/module.d.ts","../../../node_modules/.pnpm/@types+node@20.19.11/node_modules/@types/node/net.d.ts","../../../node_modules/.pnpm/@types+node@20.19.11/node_modules/@types/node/os.d.ts","../../../node_modules/.pnpm/@types+node@20.19.11/node_modules/@types/node/path.d.ts","../../../node_modules/.pnpm/@types+node@20.19.11/node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/.pnpm/@types+node@20.19.11/node_modules/@types/node/process.d.ts","../../../node_modules/.pnpm/@types+node@20.19.11/node_modules/@types/node/punycode.d.ts","../../../node_modules/.pnpm/@types+node@20.19.11/node_modules/@types/node/querystring.d.ts","../../../node_modules/.pnpm/@types+node@20.19.11/node_modules/@types/node/readline.d.ts","../../../node_modules/.pnpm/@types+node@20.19.11/node_modules/@types/node/readline/promises.d.ts","../../../node_modules/.pnpm/@types+node@20.19.11/node_modules/@types/node/repl.d.ts","../../../node_modules/.pnpm/@types+node@20.19.11/node_modules/@types/node/sea.d.ts","../../../node_modules/.pnpm/@types+node@20.19.11/node_modules/@types/node/stream.d.ts","../../../node_modules/.pnpm/@types+node@20.19.11/node_modules/@types/node/stream/promises.d.ts","../../../node_modules/.pnpm/@types+node@20.19.11/node_modules/@types/node/stream/consumers.d.ts","../../../node_modules/.pnpm/@types+node@20.19.11/node_modules/@types/node/stream/web.d.ts","../../../node_modules/.pnpm/@types+node@20.19.11/node_modules/@types/node/string_decoder.d.ts","../../../node_modules/.pnpm/@types+node@20.19.11/node_modules/@types/node/test.d.ts","../../../node_modules/.pnpm/@types+node@20.19.11/node_modules/@types/node/timers.d.ts","../../../node_modules/.pnpm/@types+node@20.19.11/node_modules/@types/node/timers/promises.d.ts","../../../node_modules/.pnpm/@types+node@20.19.11/node_modules/@types/node/tls.d.ts","../../../node_modules/.pnpm/@types+node@20.19.11/node_modules/@types/node/trace_events.d.ts","../../../node_modules/.pnpm/@types+node@20.19.11/node_modules/@types/node/tty.d.ts","../../../node_modules/.pnpm/@types+node@20.19.11/node_modules/@types/node/url.d.ts","../../../node_modules/.pnpm/@types+node@20.19.11/node_modules/@types/node/util.d.ts","../../../node_modules/.pnpm/@types+node@20.19.11/node_modules/@types/node/v8.d.ts","../../../node_modules/.pnpm/@types+node@20.19.11/node_modules/@types/node/vm.d.ts","../../../node_modules/.pnpm/@types+node@20.19.11/node_modules/@types/node/wasi.d.ts","../../../node_modules/.pnpm/@types+node@20.19.11/node_modules/@types/node/worker_threads.d.ts","../../../node_modules/.pnpm/@types+node@20.19.11/node_modules/@types/node/zlib.d.ts","../../../node_modules/.pnpm/@types+node@20.19.11/node_modules/@types/node/index.d.ts"],"fileIdsList":[[48,142,212,255],[48,49,62,140,141,212,255],[47,212,255],[150,212,255],[153,212,255],[158,160,212,255],[146,150,162,163,212,255],[173,176,182,184,212,255],[145,150,212,255],[212,255],[144,212,255],[145,212,255],[152,212,255],[155,212,255],[145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,185,186,187,188,189,190,212,255],[161,212,255],[157,212,255],[158,212,255],[149,150,156,212,255],[157,158,212,255],[164,212,255],[185,212,255],[150,170,172,173,174,212,255],[173,174,176,212,255],[150,165,168,171,178,212,255],[165,166,212,255],[148,165,168,171,212,255],[149,212,255],[150,167,170,212,255],[166,212,255],[167,212,255],[165,167,212,255],[147,148,165,167,168,169,212,255],[167,170,212,255],[150,170,172,212,255],[173,174,212,255],[203,212,255],[212,252,255],[212,254,255],[255],[212,255,260,289],[212,255,256,261,267,275,286,297],[212,255,256,257,267,275],[207,208,209,212,255],[212,255,258,298],[212,255,259,260,268,276],[212,255,260,286,294],[212,255,261,263,267,275],[212,254,255,262],[212,255,263,264],[212,255,265,267],[212,254,255,267],[212,255,267,268,269,286,297],[212,255,267,268,269,282,286,289],[212,250,255],[212,255,263,267,270,275,286,297],[212,255,267,268,270,271,275,286,294,297],[212,255,270,272,286,294,297],[210,211,212,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303],[212,255,267,273],[212,255,274,297,302],[212,255,263,267,275,286],[212,255,276],[212,255,277],[212,254,255,278],[212,252,253,254,255,256,257,258,259,260,261,262,263,264,265,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303],[212,255,280],[212,255,281],[212,255,267,282,283],[212,255,282,284,298,300],[212,255,267,286,287,289],[212,255,288,289],[212,255,286,287],[212,255,289],[212,255,290],[212,252,255,286,291],[212,255,267,292,293],[212,255,292,293],[212,255,260,275,286,294],[212,255,295],[212,255,275,296],[212,255,270,281,297],[212,255,260,298],[212,255,286,299],[212,255,274,300],[212,255,301],[212,255,267,269,278,286,289,297,300,302],[212,255,286,303],[48,140,142,143,191,212,255,270],[212,222,226,255,297],[212,222,255,286,297],[212,217,255],[212,219,222,255,294,297],[212,255,275,294],[212,255,304],[212,217,255,304],[212,219,222,255,275,297],[212,214,215,218,221,255,267,286,297],[212,222,229,255],[212,214,220,255],[212,222,243,244,255],[212,218,222,255,289,297,304],[212,243,255,304],[212,216,217,255,304],[212,222,255],[212,216,217,218,219,220,221,222,223,224,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,244,245,246,247,248,249,255],[212,222,237,255],[212,222,229,230,255],[212,220,222,230,231,255],[212,221,255],[212,214,217,222,255],[212,222,226,230,231,255],[212,226,255],[212,220,222,225,255,297],[212,214,219,222,229,255],[212,255,286],[212,217,222,243,255,302,304],[50,51,62,212,255],[52,53,212,255],[50,51,52,54,55,60,212,255],[51,52,212,255],[60,212,255],[61,212,255],[52,212,255],[50,51,52,55,56,57,58,59,212,255],[129,212,255],[129,132,212,255],[124,127,129,130,131,132,133,134,135,136,137,212,255],[63,65,132,212,255],[138,212,255],[129,130,212,255],[64,129,131,212,255],[65,67,69,70,71,72,212,255],[67,69,71,72,212,255],[67,69,71,212,255],[64,67,69,70,72,212,255],[63,65,66,67,68,69,70,71,72,73,74,124,125,126,127,128,212,255],[63,65,66,69,212,255],[65,66,69,212,255],[69,72,212,255],[63,64,66,67,68,70,71,72,212,255],[63,64,65,69,129,212,255],[69,70,71,72,212,255],[139,212,255],[71,212,255],[75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,212,255],[192,193,194,195,196,212,255,268,277],[194,197,201,202,204,212,255,269,277],[193,194,196,197,205,212,255],[194,212,255],[212,255,256],[198,212,255],[198,199,200,212,255],[192,212,255]],"fileInfos":[{"version":"69684132aeb9b5642cbcd9e22dff7818ff0ee1aa831728af0ecf97d3364d5546","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"e44bb8bbac7f10ecc786703fe0a6a4b952189f908707980ba8f3c8975a760962","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"092c2bfe125ce69dbb1223c85d68d4d2397d7d8411867b5cc03cec902c233763","affectsGlobalScope":true,"impliedFormat":1},{"version":"c57796738e7f83dbc4b8e65132f11a377649c00dd3eee333f672b8f0a6bea671","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"0559b1f683ac7505ae451f9a96ce4c3c92bdc71411651ca6ddb0e88baaaad6a3","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"936e80ad36a2ee83fc3caf008e7c4c5afe45b3cf3d5c24408f039c1d47bdc1df","affectsGlobalScope":true,"impliedFormat":1},{"version":"d15bea3d62cbbdb9797079416b8ac375ae99162a7fba5de2c6c505446486ac0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"68d18b664c9d32a7336a70235958b8997ebc1c3b8505f4f1ae2b7e7753b87618","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb3d66c8327153d8fa7dd03f9c58d351107fe824c79e9b56b462935176cdf12a","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"fef8cfad2e2dc5f5b3d97a6f4f2e92848eb1b88e897bb7318cef0e2820bceaab","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"954296b30da6d508a104a3a0b5d96b76495c709785c1d11610908e63481ee667","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"d6d7ae4d1f1f3772e2a3cde568ed08991a8ae34a080ff1151af28b7f798e22ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"52ada8e0b6e0482b728070b7639ee42e83a9b1c22d205992756fe020fd9f4a47","affectsGlobalScope":true,"impliedFormat":1},{"version":"3bdefe1bfd4d6dee0e26f928f93ccc128f1b64d5d501ff4a8cf3c6371200e5e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"639e512c0dfc3fad96a84caad71b8834d66329a1f28dc95e3946c9b58176c73a","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"f3d8c757e148ad968f0d98697987db363070abada5f503da3c06aefd9d4248c1","impliedFormat":1},{"version":"6ff4c27ce1c30040730481cab949bf344938252c250111642ae5e12c51de8324","impliedFormat":1},{"version":"bdd14f07b4eca0b4b5203b85b8dbc4d084c749fa590bee5ea613e1641dcd3b29","impliedFormat":99},{"version":"d3cfde44f8089768ebb08098c96d01ca260b88bccf238d55eee93f1c620ff5a5","impliedFormat":1},{"version":"293eadad9dead44c6fd1db6de552663c33f215c55a1bfa2802a1bceed88ff0ec","impliedFormat":1},{"version":"36eb5babc665b890786550d4a8cb20ef7105673a6d5551fbdd7012877bb26942","impliedFormat":1},{"version":"fec412ded391a7239ef58f455278154b62939370309c1fed322293d98c8796a6","impliedFormat":1},{"version":"e3498cf5e428e6c6b9e97bd88736f26d6cf147dedbfa5a8ad3ed8e05e059af8a","impliedFormat":1},{"version":"dba3f34531fd9b1b6e072928b6f885aa4d28dd6789cbd0e93563d43f4b62da53","impliedFormat":1},{"version":"f672c876c1a04a223cf2023b3d91e8a52bb1544c576b81bf64a8fec82be9969c","impliedFormat":1},{"version":"e4b03ddcf8563b1c0aee782a185286ed85a255ce8a30df8453aade2188bbc904","impliedFormat":1},{"version":"2329d90062487e1eaca87b5e06abcbbeeecf80a82f65f949fd332cfcf824b87b","impliedFormat":1},{"version":"25b3f581e12ede11e5739f57a86e8668fbc0124f6649506def306cad2c59d262","impliedFormat":1},{"version":"93c3e73824ad57f98fd23b39335dbdae2db0bd98199b0dc0b9ccc60bf3c5134a","impliedFormat":1},{"version":"a9ebb67d6bbead6044b43714b50dcb77b8f7541ffe803046fdec1714c1eba206","impliedFormat":1},{"version":"833e92c058d033cde3f29a6c7603f517001d1ddd8020bc94d2067a3bc69b2a8e","impliedFormat":1},{"version":"c1a2e05eb6d7ca8d7e4a7f4c93ccf0c2857e842a64c98eaee4d85841ee9855e6","impliedFormat":1},{"version":"835fb2909ce458740fb4a49fc61709896c6864f5ce3db7f0a88f06c720d74d02","impliedFormat":1},{"version":"6e5857f38aa297a859cab4ec891408659218a5a2610cd317b6dcbef9979459cc","impliedFormat":1},{"version":"ead8e39c2e11891f286b06ae2aa71f208b1802661fcdb2425cffa4f494a68854","impliedFormat":1},{"version":"82919acbb38870fcf5786ec1292f0f5afe490f9b3060123e48675831bd947192","impliedFormat":1},{"version":"e222701788ec77bd57c28facbbd142eadf5c749a74d586bc2f317db7e33544b1","impliedFormat":1},{"version":"09154713fae0ed7befacdad783e5bd1970c06fc41a5f866f7f933b96312ce764","impliedFormat":1},{"version":"8d67b13da77316a8a2fabc21d340866ddf8a4b99e76a6c951cc45189142df652","impliedFormat":1},{"version":"a91c8d28d10fee7fe717ddf3743f287b68770c813c98f796b6e38d5d164bd459","impliedFormat":1},{"version":"68add36d9632bc096d7245d24d6b0b8ad5f125183016102a3dad4c9c2438ccb0","impliedFormat":1},{"version":"3a819c2928ee06bbcc84e2797fd3558ae2ebb7e0ed8d87f71732fb2e2acc87b4","impliedFormat":1},{"version":"f6f827cd43e92685f194002d6b52a9408309cda1cec46fb7ca8489a95cbd2fd4","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"e0bfe601a9fdf6defe94ed62dc60ac71597566001a1f86e705c95e431a9c816d","impliedFormat":1},{"version":"a270a1a893d1aee5a3c1c8c276cd2778aa970a2741ee2ccf29cc3210d7da80f5","impliedFormat":1},{"version":"add0ce7b77ba5b308492fa68f77f24d1ed1d9148534bdf05ac17c30763fc1a79","impliedFormat":1},{"version":"8926594ee895917e90701d8cbb5fdf77fc238b266ac540f929c7253f8ad6233d","impliedFormat":1},{"version":"2f67911e4bf4e0717dc2ded248ce2d5e4398d945ee13889a6852c1233ea41508","impliedFormat":1},{"version":"d8430c275b0f59417ea8e173cfb888a4477b430ec35b595bf734f3ec7a7d729f","impliedFormat":1},{"version":"69364df1c776372d7df1fb46a6cb3a6bf7f55e700f533a104e3f9d70a32bec18","impliedFormat":1},{"version":"6042774c61ece4ba77b3bf375f15942eb054675b7957882a00c22c0e4fe5865c","impliedFormat":1},{"version":"5a3bd57ed7a9d9afef74c75f77fce79ba3c786401af9810cdf45907c4e93f30e","impliedFormat":1},{"version":"ed8763205f02fb65e84eff7432155258df7f93b7d938f01785cb447d043d53f3","impliedFormat":1},{"version":"30db853bb2e60170ba11e39ab48bacecb32d06d4def89eedf17e58ebab762a65","impliedFormat":1},{"version":"e27451b24234dfed45f6cf22112a04955183a99c42a2691fb4936d63cfe42761","impliedFormat":1},{"version":"2316301dd223d31962d917999acf8e543e0119c5d24ec984c9f22cb23247160c","impliedFormat":1},{"version":"58d65a2803c3b6629b0e18c8bf1bc883a686fcf0333230dd0151ab6e85b74307","impliedFormat":1},{"version":"e818471014c77c103330aee11f00a7a00b37b35500b53ea6f337aefacd6174c9","impliedFormat":1},{"version":"d4a5b1d2ff02c37643e18db302488cd64c342b00e2786e65caac4e12bda9219b","impliedFormat":1},{"version":"d8bc0c5487582c6d887c32c92d8b4ffb23310146fcb1d82adf4b15c77f57c4ac","impliedFormat":1},{"version":"8cb31102790372bebfd78dd56d6752913b0f3e2cefbeb08375acd9f5ba737155","impliedFormat":1},{"version":"56e0775830b68d13c3d7f4ec75df7d016db6b879ef9676affb5233a9a289c192","impliedFormat":99},{"version":"88b083521af3ce236d87f73a4a0fef3e44f453698b804c8baf2f123c29ef8166","impliedFormat":1},{"version":"0b9ddaac2107f4855cedb4f35ee16673a032d014ac5782be8ce91f9ac279401d","impliedFormat":1},{"version":"a4e9e0d92dcad2cb387a5f1bdffe621569052f2d80186e11973aa7080260d296","impliedFormat":1},{"version":"f6380cc36fc3efc70084d288d0a05d0a2e09da012ee3853f9d62431e7216f129","impliedFormat":1},{"version":"497c3e541b4acf6c5d5ba75b03569cfe5fe25c8a87e6c87f1af98da6a3e7b918","impliedFormat":1},{"version":"d9429b81edf2fb2abf1e81e9c2e92615f596ed3166673d9b69b84c369b15fdc0","impliedFormat":1},{"version":"7e22943ae4e474854ca0695ab750a8026f55bb94278331fda02a4fb42efce063","impliedFormat":1},{"version":"7da9ff3d9a7e62ddca6393a23e67296ab88f2fcb94ee5f7fb977fa8e478852ac","impliedFormat":1},{"version":"e1b45cc21ea200308cbc8abae2fb0cfd014cb5b0e1d1643bcc50afa5959b6d83","impliedFormat":1},{"version":"c9740b0ce7533ce6ba21a7d424e38d2736acdddeab2b1a814c00396e62cc2f10","impliedFormat":1},{"version":"b3c1f6a3fdbb04c6b244de6d5772ffdd9e962a2faea1440e410049c13e874b87","impliedFormat":1},{"version":"dcaa872d9b52b9409979170734bdfd38f846c32114d05b70640fd05140b171bb","impliedFormat":1},{"version":"6c434d20da381fcd2e8b924a3ec9b8653cf8bed8e0da648e91f4c984bd2a5a91","impliedFormat":1},{"version":"992419d044caf6b14946fa7b9463819ab2eeb7af7c04919cc2087ce354c92266","impliedFormat":1},{"version":"fa9815e9ce1330289a5c0192e2e91eb6178c0caa83c19fe0c6a9f67013fe795c","impliedFormat":1},{"version":"06384a1a73fcf4524952ecd0d6b63171c5d41dd23573907a91ef0a687ddb4a8c","impliedFormat":1},{"version":"34b1594ecf1c84bcc7a04d9f583afa6345a6fea27a52cf2685f802629219de45","impliedFormat":1},{"version":"d82c9ca830d7b94b7530a2c5819064d8255b93dfeddc5b2ebb8a09316f002c89","impliedFormat":1},{"version":"7e046b9634add57e512412a7881efbc14d44d1c65eadd35432412aa564537975","impliedFormat":1},{"version":"aac9079b9e2b5180036f27ab37cb3cf4fd19955be48ccc82eab3f092ee3d4026","impliedFormat":1},{"version":"3d9c38933bc69e0a885da20f019de441a3b5433ce041ba5b9d3a541db4b568cb","impliedFormat":1},{"version":"606aa2b74372221b0f79ca8ae3568629f444cc454aa59b032e4cb602308dec94","impliedFormat":1},{"version":"50474eaea72bfda85cc37ae6cd29f0556965c0849495d96c8c04c940ef3d2f44","impliedFormat":1},{"version":"b4874382f863cf7dc82b3d15aed1e1372ac3fede462065d5bfc8510c0d8f7b19","impliedFormat":1},{"version":"df10b4f781871afb72b2d648d497671190b16b679bf7533b744cc10b3c6bf7ea","impliedFormat":1},{"version":"1fdc28754c77e852c92087c789a1461aa6eed19c335dc92ce6b16a188e7ba305","impliedFormat":1},{"version":"a656dab1d502d4ddc845b66d8735c484bfebbf0b1eda5fb29729222675759884","impliedFormat":1},{"version":"465a79505258d251068dc0047a67a3605dd26e6b15e9ad2cec297442cbb58820","impliedFormat":1},{"version":"ddae22d9329db28ce3d80a2a53f99eaed66959c1c9cd719c9b744e5470579d2f","impliedFormat":1},{"version":"d0e25feadef054c6fc6a7f55ccc3b27b7216142106b9ff50f5e7b19d85c62ca7","impliedFormat":1},{"version":"111214009193320cacbae104e8281f6cb37788b52a6a84d259f9822c8c71f6ca","impliedFormat":1},{"version":"01c8e2c8984c96b9b48be20ee396bd3689a3a3e6add8d50fe8229a7d4e62ff45","impliedFormat":1},{"version":"a4a0800b592e533897b4967b00fb00f7cd48af9714d300767cc231271aa100af","impliedFormat":1},{"version":"20aa818c3e16e40586f2fa26327ea17242c8873fe3412a69ec68846017219314","impliedFormat":1},{"version":"f498532f53d54f831851990cb4bcd96063d73e302906fa07e2df24aa5935c7d1","impliedFormat":1},{"version":"5fd19dfde8de7a0b91df6a9bbdc44b648fd1f245cae9e8b8cf210d83ee06f106","impliedFormat":1},{"version":"3b8d6638c32e63ea0679eb26d1eb78534f4cc02c27b80f1c0a19f348774f5571","impliedFormat":1},{"version":"ce0da52e69bc3d82a7b5bc40da6baad08d3790de13ad35e89148a88055b46809","impliedFormat":1},{"version":"9e01233da81bfed887f8d9a70d1a26bf11b8ddff165806cc586c84980bf8fc24","impliedFormat":1},{"version":"214a6afbab8b285fc97eb3cece36cae65ea2fca3cbd0c017a96159b14050d202","impliedFormat":1},{"version":"14beeca2944b75b229c0549e0996dc4b7863e07257e0d359d63a7be49a6b86a4","impliedFormat":1},{"version":"f7bb9adb1daa749208b47d1313a46837e4d27687f85a3af7777fc1c9b3dc06b1","impliedFormat":1},{"version":"c549fe2f52101ffe47f58107c702af7cdcd42da8c80afd79f707d1c5d77d4b6e","impliedFormat":1},{"version":"3966ea9e1c1a5f6e636606785999734988e135541b79adc6b5d00abdc0f4bf05","impliedFormat":1},{"version":"0b60b69c957adb27f990fbc27ea4ac1064249400262d7c4c1b0a1687506b3406","impliedFormat":1},{"version":"12c26e5d1befc0ded725cee4c2316f276013e6f2eb545966562ae9a0c1931357","impliedFormat":1},{"version":"27b247363f1376c12310f73ebac6debcde009c0b95b65a8207e4fa90e132b30a","impliedFormat":1},{"version":"05bd302e2249da923048c09dc684d1d74cb205551a87f22fb8badc09ec532a08","impliedFormat":1},{"version":"fe930ec064571ab3b698b13bddf60a29abf9d2f36d51ab1ca0083b087b061f3a","impliedFormat":1},{"version":"6b85c4198e4b62b0056d55135ad95909adf1b95c9a86cdbed2c0f4cc1a902d53","impliedFormat":1},{"version":"01f6aa4821d7dbeb80a96d3332656ade73de35b92942980f6fc6f3547ed0205d","affectsGlobalScope":true,"impliedFormat":1},{"version":"a47af407d34851a30c29e32ed25c32e5558f2f455b7715fdd45ed72d5095587e","signature":"959d5a39fd862d067e43ccf425ea5dd1a5a11ad2b9206bee94e525c6dddb41ff"},{"version":"702eecb04f0b0b7fb432048f9f1e77d033e03bb5ae898ca7bdbb4a02c83366dd","signature":"3fd2b0eb5385c028b78dbf07cce807504a4d105d8f6f94d747acd59fb6e33c46"},{"version":"365ef33a7bf97f1052e008b3c1c27b9f9e6a2746ffd04a598c0c7cda74587b51","signature":"68b2f30876034fcaca7edb57804dfbce31509e6895ebdbf34cc6de063632c4ec"},{"version":"b24b68d1b845c56cb4301e854c35e92b45e5edc924cf741b0414d5a0efef47fe","signature":"de54698255e1ca2c55410dc6b9321068742f005efec6d97ea16e1a7ede423ca8"},{"version":"9918c74b7ea717d90bb360e4a625fb9434ed53d926507be99b41a4494a8810c7","signature":"14cf33acf9da82db13665097be4c60610694838b2430e7d058ccfe82fbcb4813"},"ee2a6621965f784580813424013a2fcfcee165361920acda122c5c084bba5ec2","0dd0a2fb7a745c8eeda21bf94ce91b5da2deac90de5be5996001d230851416d1","d798f4170a3fd8aa409ba66be78695eaae8b0b17bd3e30bf3f71aecd384d77c8","7acddd763df340ad296f37eff89424e00e52a1d3b50e3165772313605d1a8ffc","b87829626c5a66ec9da5d93615e61bd1c81e9aaed3c6434ee7583293da4697d6",{"version":"fb893a0dfc3c9fb0f9ca93d0648694dd95f33cbad2c0f2c629f842981dfd4e2e","impliedFormat":1},{"version":"3eb11dbf3489064a47a2e1cf9d261b1f100ef0b3b50ffca6c44dd99d6dd81ac1","impliedFormat":1},{"version":"efb0721338436d11f525bab3cc93e362d61ff8203fec40b882a9e08ee091b843","signature":"045bc27f03e5724dc461c7490706a001e1f13056ddf9b63d0092a3bd4f556354"},{"version":"8c882a24bf4b658df15d017d8f0c82383afe58a7a0fca97275bbb50e60c01eec","signature":"e494ba136f1e0ac83b8c88a73b49487a85ff0affb002af329c0c41b6ce39a3c2"},{"version":"70521b6ab0dcba37539e5303104f29b721bfb2940b2776da4cc818c07e1fefc1","affectsGlobalScope":true,"impliedFormat":1},{"version":"ab41ef1f2cdafb8df48be20cd969d875602483859dc194e9c97c8a576892c052","affectsGlobalScope":true,"impliedFormat":1},{"version":"d153a11543fd884b596587ccd97aebbeed950b26933ee000f94009f1ab142848","affectsGlobalScope":true,"impliedFormat":1},{"version":"21d819c173c0cf7cc3ce57c3276e77fd9a8a01d35a06ad87158781515c9a438a","impliedFormat":1},{"version":"a79e62f1e20467e11a904399b8b18b18c0c6eea6b50c1168bf215356d5bebfaf","affectsGlobalScope":true,"impliedFormat":1},{"version":"49a5a44f2e68241a1d2bd9ec894535797998841c09729e506a7cbfcaa40f2180","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e9c23ba78aabc2e0a27033f18737a6df754067731e69dc5f52823957d60a4b6","impliedFormat":1},{"version":"5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","impliedFormat":1},{"version":"763fe0f42b3d79b440a9b6e51e9ba3f3f91352469c1e4b3b67bfa4ff6352f3f4","impliedFormat":1},{"version":"25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","impliedFormat":1},{"version":"c464d66b20788266e5353b48dc4aa6bc0dc4a707276df1e7152ab0c9ae21fad8","impliedFormat":1},{"version":"78d0d27c130d35c60b5e5566c9f1e5be77caf39804636bc1a40133919a949f21","impliedFormat":1},{"version":"c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","impliedFormat":1},{"version":"1d6e127068ea8e104a912e42fc0a110e2aa5a66a356a917a163e8cf9a65e4a75","impliedFormat":1},{"version":"5ded6427296cdf3b9542de4471d2aa8d3983671d4cac0f4bf9c637208d1ced43","impliedFormat":1},{"version":"7f182617db458e98fc18dfb272d40aa2fff3a353c44a89b2c0ccb3937709bfb5","impliedFormat":1},{"version":"cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","impliedFormat":1},{"version":"385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","impliedFormat":1},{"version":"9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","impliedFormat":1},{"version":"0b8a9268adaf4da35e7fa830c8981cfa22adbbe5b3f6f5ab91f6658899e657a7","impliedFormat":1},{"version":"11396ed8a44c02ab9798b7dca436009f866e8dae3c9c25e8c1fbc396880bf1bb","impliedFormat":1},{"version":"ba7bc87d01492633cb5a0e5da8a4a42a1c86270e7b3d2dea5d156828a84e4882","impliedFormat":1},{"version":"4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","impliedFormat":1},{"version":"c21dc52e277bcfc75fac0436ccb75c204f9e1b3fa5e12729670910639f27343e","impliedFormat":1},{"version":"13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","impliedFormat":1},{"version":"9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","impliedFormat":1},{"version":"4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","impliedFormat":1},{"version":"24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","impliedFormat":1},{"version":"ea0148f897b45a76544ae179784c95af1bd6721b8610af9ffa467a518a086a43","impliedFormat":1},{"version":"24c6a117721e606c9984335f71711877293a9651e44f59f3d21c1ea0856f9cc9","impliedFormat":1},{"version":"dd3273ead9fbde62a72949c97dbec2247ea08e0c6952e701a483d74ef92d6a17","impliedFormat":1},{"version":"405822be75ad3e4d162e07439bac80c6bcc6dbae1929e179cf467ec0b9ee4e2e","impliedFormat":1},{"version":"0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","impliedFormat":1},{"version":"e61be3f894b41b7baa1fbd6a66893f2579bfad01d208b4ff61daef21493ef0a8","impliedFormat":1},{"version":"bd0532fd6556073727d28da0edfd1736417a3f9f394877b6d5ef6ad88fba1d1a","impliedFormat":1},{"version":"89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","impliedFormat":1},{"version":"615ba88d0128ed16bf83ef8ccbb6aff05c3ee2db1cc0f89ab50a4939bfc1943f","impliedFormat":1},{"version":"a4d551dbf8746780194d550c88f26cf937caf8d56f102969a110cfaed4b06656","impliedFormat":1},{"version":"8bd86b8e8f6a6aa6c49b71e14c4ffe1211a0e97c80f08d2c8cc98838006e4b88","impliedFormat":1},{"version":"317e63deeb21ac07f3992f5b50cdca8338f10acd4fbb7257ebf56735bf52ab00","impliedFormat":1},{"version":"4732aec92b20fb28c5fe9ad99521fb59974289ed1e45aecb282616202184064f","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"bf67d53d168abc1298888693338cb82854bdb2e69ef83f8a0092093c2d562107","impliedFormat":1},{"version":"1ca84b44ad1d8e4576f24904d8b95dd23b94ea67e1575f89614ac90062fc67f4","affectsGlobalScope":true,"impliedFormat":1},{"version":"6d586db0a09a9495ebb5dece28f54df9684bfbd6e1f568426ca153126dac4a40","impliedFormat":1},{"version":"7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","impliedFormat":1},{"version":"8c0bcd6c6b67b4b503c11e91a1fb91522ed585900eab2ab1f61bba7d7caa9d6f","impliedFormat":1},{"version":"567b7f607f400873151d7bc63a049514b53c3c00f5f56e9e95695d93b66a138e","affectsGlobalScope":true,"impliedFormat":1},{"version":"823f9c08700a30e2920a063891df4e357c64333fdba6889522acc5b7ae13fc08","impliedFormat":1},{"version":"84c1930e33d1bb12ad01bcbe11d656f9646bd21b2fb2afd96e8e10615a021aef","impliedFormat":1},{"version":"35ec8b6760fd7138bbf5809b84551e31028fb2ba7b6dc91d95d098bf212ca8b4","affectsGlobalScope":true,"impliedFormat":1},{"version":"5524481e56c48ff486f42926778c0a3cce1cc85dc46683b92b1271865bcf015a","impliedFormat":1},{"version":"4b87f767c7bc841511113c876a6b8bf1fd0cb0b718c888ad84478b372ec486b1","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d04e3640dd9eb67f7f1e5bd3d0bf96c784666f7aefc8ac1537af6f2d38d4c29","impliedFormat":1},{"version":"9d19808c8c291a9010a6c788e8532a2da70f811adb431c97520803e0ec649991","impliedFormat":1},{"version":"2bf469abae4cc9c0f340d4e05d9d26e37f936f9c8ca8f007a6534f109dcc77e4","impliedFormat":1},{"version":"4aacb0dd020eeaef65426153686cc639a78ec2885dc72ad220be1d25f1a439df","impliedFormat":1},{"version":"f0bd7e6d931657b59605c44112eaf8b980ba7f957a5051ed21cb93d978cf2f45","impliedFormat":1},{"version":"71450bbc2d82821d24ca05699a533e72758964e9852062c53b30f31c36978ab8","affectsGlobalScope":true,"impliedFormat":1},{"version":"0ada07543808f3b967624645a8e1ccd446f8b01ade47842acf1328aec899fed0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4c21aaa8257d7950a5b75a251d9075b6a371208fc948c9c8402f6690ef3b5b55","impliedFormat":1},{"version":"b5895e6353a5d708f55d8685c38a235c3a6d8138e374dee8ceb8ffde5aa8002a","impliedFormat":1},{"version":"54c4f21f578864961efc94e8f42bc893a53509e886370ec7dd602e0151b9266c","impliedFormat":1},{"version":"de735eca2c51dd8b860254e9fdb6d9ec19fe402dfe597c23090841ce3937cfc5","impliedFormat":1},{"version":"4ff41188773cbf465807dd2f7059c7494cbee5115608efc297383832a1150c43","impliedFormat":1},{"version":"5650cf3dace09e7c25d384e3e6b818b938f68f4e8de96f52d9c5a1b3db068e86","impliedFormat":1},{"version":"1354ca5c38bd3fd3836a68e0f7c9f91f172582ba30ab15bb8c075891b91502b7","affectsGlobalScope":true,"impliedFormat":1},{"version":"5155da3047ef977944d791a2188ff6e6c225f6975cc1910ab7bb6838ab84cede","impliedFormat":1},{"version":"93f437e1398a4f06a984f441f7fa7a9f0535c04399619b5c22e0b87bdee182cb","impliedFormat":1},{"version":"afbe24ab0d74694372baa632ecb28bb375be53f3be53f9b07ecd7fc994907de5","impliedFormat":1},{"version":"e16d218a30f6a6810b57f7e968124eaa08c7bb366133ea34bbf01e7cd6b8c0ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb8692dea24c27821f77e397272d9ed2eda0b95e4a75beb0fdda31081d15a8ae","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e043a1bc8fbf2a255bccf9bf27e0f1caf916c3b0518ea34aa72357c0afd42ec","impliedFormat":1},{"version":"b4f70ec656a11d570e1a9edce07d118cd58d9760239e2ece99306ee9dfe61d02","impliedFormat":1},{"version":"3bc2f1e2c95c04048212c569ed38e338873f6a8593930cf5a7ef24ffb38fc3b6","impliedFormat":1},{"version":"8145e07aad6da5f23f2fcd8c8e4c5c13fb26ee986a79d03b0829b8fce152d8b2","impliedFormat":1},{"version":"f9d9d753d430ed050dc1bf2667a1bab711ccbb1c1507183d794cc195a5b085cc","impliedFormat":1},{"version":"9eece5e586312581ccd106d4853e861aaaa1a39f8e3ea672b8c3847eedd12f6e","impliedFormat":1},{"version":"5b6844ad931dcc1d3aca53268f4bd671428421464b1286746027aede398094f2","impliedFormat":1},{"version":"37ba7b45141a45ce6e80e66f2a96c8a5ab1bcef0fc2d0f56bb58df96ec67e972","impliedFormat":1},{"version":"125d792ec6c0c0f657d758055c494301cc5fdb327d9d9d5960b3f129aff76093","impliedFormat":1},{"version":"0225ecb9ed86bdb7a2c7fd01f1556906902929377b44483dc4b83e03b3ef227d","affectsGlobalScope":true,"impliedFormat":1},{"version":"1851a3b4db78664f83901bb9cac9e45e03a37bb5933cc5bf37e10bb7e91ab4eb","impliedFormat":1},{"version":"461e54289e6287e8494a0178ba18182acce51a02bca8dea219149bf2cf96f105","impliedFormat":1},{"version":"12ed4559eba17cd977aa0db658d25c4047067444b51acfdcbf38470630642b23","affectsGlobalScope":true,"impliedFormat":1},{"version":"f3ffabc95802521e1e4bcba4c88d8615176dc6e09111d920c7a213bdda6e1d65","impliedFormat":1},{"version":"e31e51c55800014d926e3f74208af49cb7352803619855c89296074d1ecbb524","impliedFormat":1},{"version":"ae56f65caf3be91108707bd8dfbccc2a57a91feb5daabf7165a06a945545ed26","impliedFormat":1},{"version":"a136d5de521da20f31631a0a96bf712370779d1c05b7015d7019a9b2a0446ca9","impliedFormat":1},{"version":"dfb96ba5177b68003deec9e773c47257da5c4c8a74053d8956389d832df72002","affectsGlobalScope":true,"impliedFormat":1},{"version":"92d3070580cf72b4bb80959b7f16ede9a3f39e6f4ef2ac87cfa4561844fdc69f","affectsGlobalScope":true,"impliedFormat":1},{"version":"d3dffd70e6375b872f0b4e152de4ae682d762c61a24881ecc5eb9f04c5caf76f","impliedFormat":1},{"version":"613deebaec53731ff6b74fe1a89f094b708033db6396b601df3e6d5ab0ec0a47","impliedFormat":1},{"version":"d91a7d8b5655c42986f1bdfe2105c4408f472831c8f20cf11a8c3345b6b56c8c","impliedFormat":1},{"version":"e56eb632f0281c9f8210eb8c86cc4839a427a4ffffcfd2a5e40b956050b3e042","affectsGlobalScope":true,"impliedFormat":1},{"version":"e8a979b8af001c9fc2e774e7809d233c8ca955a28756f52ee5dee88ccb0611d2","impliedFormat":1},{"version":"cac793cc47c29e26e4ac3601dcb00b4435ebed26203485790e44f2ad8b6ad847","impliedFormat":1}],"root":[[193,197],205,206],"options":{"allowJs":true,"composite":true,"declaration":true,"declarationMap":true,"esModuleInterop":true,"inlineSources":false,"module":99,"noUnusedLocals":false,"noUnusedParameters":false,"outDir":"./","skipLibCheck":true,"sourceMap":true,"strict":true,"strictNullChecks":true,"target":7},"referencedMap":[[143,1],[142,2],[48,3],[152,4],[155,5],[161,6],[164,7],[185,8],[163,9],[144,10],[145,11],[146,12],[149,10],[147,10],[148,10],[186,13],[151,4],[150,10],[187,14],[154,5],[153,10],[191,15],[188,16],[158,17],[160,18],[157,19],[159,20],[156,17],[189,21],[162,4],[190,22],[175,23],[177,24],[179,25],[178,26],[172,27],[165,28],[184,29],[181,30],[183,31],[168,32],[170,33],[167,30],[171,10],[182,34],[169,10],[180,10],[166,10],[173,35],[174,10],[176,36],[49,10],[204,37],[47,10],[203,10],[252,38],[253,38],[254,39],[212,40],[255,41],[256,42],[257,43],[207,10],[210,44],[208,10],[209,10],[258,45],[259,46],[260,47],[261,48],[262,49],[263,50],[264,50],[266,10],[265,51],[267,52],[268,53],[269,54],[251,55],[211,10],[270,56],[271,57],[272,58],[304,59],[273,60],[274,61],[275,62],[276,63],[277,64],[278,65],[279,66],[280,67],[281,68],[282,69],[283,69],[284,70],[285,10],[286,71],[288,72],[287,73],[289,74],[290,75],[291,76],[292,77],[293,78],[294,79],[295,80],[296,81],[297,82],[298,83],[299,84],[300,85],[301,86],[302,87],[303,88],[192,89],[213,10],[141,10],[45,10],[46,10],[8,10],[10,10],[9,10],[2,10],[11,10],[12,10],[13,10],[14,10],[15,10],[16,10],[17,10],[18,10],[3,10],[19,10],[20,10],[4,10],[21,10],[25,10],[22,10],[23,10],[24,10],[26,10],[27,10],[28,10],[5,10],[29,10],[30,10],[31,10],[32,10],[6,10],[36,10],[33,10],[34,10],[35,10],[37,10],[7,10],[38,10],[43,10],[44,10],[39,10],[40,10],[41,10],[42,10],[1,10],[229,90],[239,91],[228,90],[249,92],[220,93],[219,94],[248,95],[242,96],[247,97],[222,98],[236,99],[221,100],[245,101],[217,102],[216,95],[246,103],[218,104],[223,105],[224,10],[227,105],[214,10],[250,106],[240,107],[231,108],[232,109],[234,110],[230,111],[233,112],[243,95],[225,113],[226,114],[235,115],[215,116],[238,107],[237,105],[241,10],[244,117],[52,118],[54,119],[61,120],[56,10],[57,10],[55,121],[58,122],[50,10],[51,10],[62,123],[53,124],[59,10],[60,125],[133,126],[137,127],[134,127],[130,126],[138,128],[135,129],[139,130],[136,127],[131,131],[132,132],[126,133],[70,134],[72,135],[125,10],[71,136],[129,137],[128,138],[127,139],[63,10],[73,134],[74,10],[65,140],[69,141],[64,10],[66,142],[67,143],[68,10],[140,144],[75,145],[76,145],[77,145],[78,145],[79,145],[80,145],[81,145],[82,145],[83,145],[84,145],[85,145],[86,145],[87,145],[89,145],[88,145],[90,145],[91,145],[92,145],[93,145],[124,146],[94,145],[95,145],[96,145],[97,145],[98,145],[99,145],[100,145],[101,145],[102,145],[103,145],[104,145],[105,145],[106,145],[108,145],[107,145],[109,145],[110,145],[111,145],[112,145],[113,145],[114,145],[115,145],[116,145],[117,145],[118,145],[119,145],[120,145],[123,145],[121,145],[122,145],[197,147],[205,148],[193,10],[206,149],[195,150],[196,151],[194,10],[199,152],[201,153],[200,152],[198,10],[202,154]],"latestChangedDtsFile":"./src/index.d.ts","version":"5.8.3"}
package/package.json ADDED
@@ -0,0 +1,30 @@
1
+ {
2
+ "name": "@auto-engineer/app-assembler",
3
+ "type": "module",
4
+ "main": "./dist/src/index.js",
5
+ "types": "./dist/src/index.d.ts",
6
+ "exports": {
7
+ ".": {
8
+ "types": "./dist/src/index.d.ts",
9
+ "import": "./dist/src/index.js"
10
+ }
11
+ },
12
+ "files": [
13
+ "dist"
14
+ ],
15
+ "dependencies": {
16
+ "ai": "^6.0.0",
17
+ "debug": "^4.4.1",
18
+ "@auto-engineer/message-bus": "1.112.2",
19
+ "@auto-engineer/model-factory": "1.112.2"
20
+ },
21
+ "devDependencies": {
22
+ "@types/debug": "^4.1.12"
23
+ },
24
+ "version": "1.112.2",
25
+ "scripts": {
26
+ "build": "tsc && tsx ../../scripts/fix-esm-imports.ts",
27
+ "type-check": "tsc --noEmit",
28
+ "release": "pnpm publish --no-git-checks --access public"
29
+ }
30
+ }