@auto-engineer/information-architect 0.9.13 → 0.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,18 @@
1
1
  # @auto-engineer/information-architect
2
2
 
3
+ ## 0.10.0
4
+
5
+ ### Minor Changes
6
+
7
+ - New templates and bug fixes
8
+
9
+ ### Patch Changes
10
+
11
+ - Updated dependencies []:
12
+ - @auto-engineer/ai-gateway@0.10.0
13
+ - @auto-engineer/flow@0.10.0
14
+ - @auto-engineer/message-bus@0.10.0
15
+
3
16
  ## 0.9.13
4
17
 
5
18
  ### Patch Changes
@@ -183,6 +183,9 @@
183
183
  "description": {
184
184
  "type": "string"
185
185
  },
186
+ "template": {
187
+ "type": "string"
188
+ },
186
189
  "layout": {
187
190
  "type": "object",
188
191
  "properties": {
@@ -183,6 +183,9 @@
183
183
  "description": {
184
184
  "type": "string"
185
185
  },
186
+ "template": {
187
+ "type": "string"
188
+ },
186
189
  "layout": {
187
190
  "type": "object",
188
191
  "properties": {
@@ -1,24 +1,22 @@
1
1
  import { type Command, type Event } from '@auto-engineer/message-bus';
2
2
  export type GenerateIACommand = Command<'GenerateIA', {
3
+ modelPath: string;
3
4
  outputDir: string;
4
- flowFiles: string[];
5
5
  }>;
6
6
  export type IAGeneratedEvent = Event<'IAGenerated', {
7
7
  outputPath: string;
8
8
  outputDir: string;
9
- flowFiles: string[];
10
9
  }>;
11
10
  export type IAGenerationFailedEvent = Event<'IAGenerationFailed', {
12
11
  error: string;
13
12
  outputDir: string;
14
- flowFiles: string[];
15
13
  }>;
16
14
  export type GenerateIAEvents = IAGeneratedEvent | IAGenerationFailedEvent;
17
15
  export declare const commandHandler: import("@auto-engineer/message-bus").UnifiedCommandHandler<Readonly<{
18
16
  type: "GenerateIA";
19
17
  data: Readonly<{
18
+ modelPath: string;
20
19
  outputDir: string;
21
- flowFiles: string[];
22
20
  }>;
23
21
  timestamp?: Date;
24
22
  requestId?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"generate-ia.d.ts","sourceRoot":"","sources":["../../../src/commands/generate-ia.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,KAAK,EAAwB,MAAM,4BAA4B,CAAC;AAiB5F,MAAM,MAAM,iBAAiB,GAAG,OAAO,CACrC,YAAY,EACZ;IACE,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB,CACF,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,KAAK,CAClC,aAAa,EACb;IACE,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB,CACF,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG,KAAK,CACzC,oBAAoB,EACpB;IACE,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB,CACF,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,gBAAgB,GAAG,uBAAuB,CAAC;AAE1E,eAAO,MAAM,cAAc;;;mBAzBZ,MAAM;mBACN,MAAM,EAAE;;;;;GAmDrB,CAAC;AA2JH,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"generate-ia.d.ts","sourceRoot":"","sources":["../../../src/commands/generate-ia.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,KAAK,EAAwB,MAAM,4BAA4B,CAAC;AAkB5F,MAAM,MAAM,iBAAiB,GAAG,OAAO,CACrC,YAAY,EACZ;IACE,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB,CACF,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,KAAK,CAClC,aAAa,EACb;IACE,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACnB,CACF,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG,KAAK,CACzC,oBAAoB,EACpB;IACE,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CACnB,CACF,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,gBAAgB,GAAG,uBAAuB,CAAC;AAE1E,eAAO,MAAM,cAAc;;;mBAvBZ,MAAM;mBACN,MAAM;;;;;GAoDnB,CAAC;AAkJH,eAAe,cAAc,CAAC"}
@@ -17,18 +17,18 @@ export const commandHandler = defineCommandHandler({
17
17
  description: 'Generate Information Architecture',
18
18
  category: 'generate',
19
19
  icon: 'building',
20
+ events: ['IAGenerated', 'IAGenerationFailed'],
20
21
  fields: {
21
22
  outputDir: {
22
23
  description: 'Context directory',
23
24
  required: true,
24
25
  },
25
- flowFiles: {
26
- description: 'Flow files to analyze',
26
+ modelPath: {
27
+ description: 'Path to the model file',
27
28
  required: true,
28
- // Note: flowFiles is an array, so it doesn't have a simple position
29
29
  },
30
30
  },
31
- examples: ['$ auto generate:ia --output-dir=./.context --flow-files=./flows/*.flow.ts'],
31
+ examples: ['$ auto generate:ia --output-dir=./.context --model-path=./.context/schema.json'],
32
32
  handle: async (command) => {
33
33
  const result = await handleGenerateIACommandInternal(command);
34
34
  if (result.type === 'IAGenerated') {
@@ -67,6 +67,11 @@ async function getAtomsFromMarkdown(designSystemDir) {
67
67
  debugAtoms('Total components found: %d', components.length);
68
68
  return components;
69
69
  }
70
+ async function getModelFromContext(modelPath) {
71
+ debug('Loading model from context: %s', modelPath);
72
+ const modelContent = await fs.readFile(modelPath, 'utf-8');
73
+ return JSON.parse(modelContent);
74
+ }
70
75
  async function getUniqueSchemaPath(outputDir) {
71
76
  debugFiles('Finding schema path in: %s', outputDir);
72
77
  let existingSchema;
@@ -87,10 +92,9 @@ async function getUniqueSchemaPath(outputDir) {
87
92
  return { filePath, existingSchema };
88
93
  }
89
94
  async function handleGenerateIACommandInternal(command) {
90
- const { outputDir, flowFiles } = command.data;
95
+ const { outputDir, modelPath } = command.data;
91
96
  debug('Handling GenerateIA command');
92
97
  debug(' Output directory: %s', outputDir);
93
- debug(' Flow files: %d', flowFiles.length);
94
98
  debug(' Request ID: %s', command.requestId);
95
99
  debug(' Correlation ID: %s', command.correlationId ?? 'none');
96
100
  try {
@@ -100,15 +104,8 @@ async function handleGenerateIACommandInternal(command) {
100
104
  const uxSchemaContent = await fs.readFile(uxSchemaPath, 'utf-8');
101
105
  const uxSchema = JSON.parse(uxSchemaContent);
102
106
  debugSchema('UX schema loaded successfully');
103
- // Read all flow files
104
- debugFiles('Reading %d flow files', flowFiles.length);
105
- const flows = await Promise.all(flowFiles.map(async (flow) => {
106
- debugFiles(' Reading: %s', flow);
107
- const content = await fs.readFile(flow, 'utf-8');
108
- debugFiles(' Size: %d bytes', content.length);
109
- return content;
110
- }));
111
- debugFiles('All flow files read successfully');
107
+ const model = await getModelFromContext(modelPath);
108
+ debugFiles('Reading %d flow files', model.flows.length);
112
109
  // Get unique schema path and existing schema
113
110
  const { filePath, existingSchema } = await getUniqueSchemaPath(outputDir);
114
111
  // Get atoms from markdown
@@ -118,10 +115,9 @@ async function handleGenerateIACommandInternal(command) {
118
115
  debugAtoms('Created %d atom definitions', atoms.length);
119
116
  // Generate IA schema using AI
120
117
  debug('Processing flows with AI...');
121
- debug(' Flow count: %d', flows.length);
122
118
  debug(' Existing schema: %s', existingSchema ? 'yes' : 'no');
123
119
  debug(' Atom count: %d', atoms.length);
124
- const iaSchema = await processFlowsWithAI(flows, uxSchema, existingSchema, atoms);
120
+ const iaSchema = await processFlowsWithAI(model, uxSchema, existingSchema, atoms);
125
121
  debug('AI processing complete');
126
122
  // Write the schema to file
127
123
  debugResult('Writing IA schema to: %s', filePath);
@@ -135,7 +131,6 @@ async function handleGenerateIACommandInternal(command) {
135
131
  data: {
136
132
  outputPath: filePath,
137
133
  outputDir,
138
- flowFiles,
139
134
  },
140
135
  timestamp: new Date(),
141
136
  requestId: command.requestId,
@@ -154,7 +149,6 @@ async function handleGenerateIACommandInternal(command) {
154
149
  data: {
155
150
  error: errorMessage,
156
151
  outputDir,
157
- flowFiles,
158
152
  },
159
153
  timestamp: new Date(),
160
154
  requestId: command.requestId,
@@ -1 +1 @@
1
- {"version":3,"file":"generate-ia.js","sourceRoot":"","sources":["../../../src/commands/generate-ia.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generate-ia.js","sourceRoot":"","sources":["../../../src/commands/generate-ia.ts"],"names":[],"mappings":"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"}
@@ -2,25 +2,69 @@ import { processFlowsWithAI } from './index.js';
2
2
  import uxSchema from './auto-ux-schema.json.js';
3
3
  import * as fs from 'fs/promises';
4
4
  import * as path from 'path';
5
- async function getAtomsFromMarkdown(designSystemDir) {
5
+ function determineSectionType(line) {
6
+ if (line === '## Components')
7
+ return 'components';
8
+ if (line === '## Layouts')
9
+ return 'layouts';
10
+ return null;
11
+ }
12
+ function addItemToSection(item, sectionType, components, layouts) {
13
+ if (sectionType === 'components') {
14
+ components.push(item);
15
+ }
16
+ else {
17
+ layouts.push(item);
18
+ }
19
+ }
20
+ function processLine(line, currentSection, currentItem, components, layouts) {
21
+ const trimmedLine = line.trim();
22
+ if (trimmedLine.startsWith('## ')) {
23
+ return {
24
+ section: determineSectionType(trimmedLine),
25
+ item: null,
26
+ };
27
+ }
28
+ if (trimmedLine.startsWith('### ') && currentSection) {
29
+ if (currentItem) {
30
+ addItemToSection(currentItem, currentSection, components, layouts);
31
+ }
32
+ return {
33
+ section: currentSection,
34
+ item: {
35
+ name: trimmedLine.replace(/^###\s+/, '').trim(),
36
+ description: '',
37
+ },
38
+ };
39
+ }
40
+ if (currentItem && trimmedLine.startsWith('Description: ')) {
41
+ currentItem.description = trimmedLine.replace(/^Description:\s+/, '').trim();
42
+ }
43
+ return { section: currentSection, item: currentItem };
44
+ }
45
+ async function getComponentsAndLayouts(designSystemDir) {
6
46
  const mdPath = path.join(designSystemDir, 'design-system.md');
7
47
  let content;
8
48
  try {
9
49
  content = await fs.readFile(mdPath, 'utf-8');
10
50
  }
11
51
  catch {
12
- return [];
52
+ return { components: [], layouts: [] };
13
53
  }
14
- // Find all lines that start with '### ' and extract the component name
15
54
  const lines = content.split('\n');
16
55
  const components = [];
56
+ const layouts = [];
57
+ let currentSection = null;
58
+ let currentItem = null;
17
59
  for (const line of lines) {
18
- const match = line.match(/^###\s+(.+)/);
19
- if (match) {
20
- components.push(match[1].trim());
21
- }
60
+ const result = processLine(line, currentSection, currentItem, components, layouts);
61
+ currentSection = result.section;
62
+ currentItem = result.item;
22
63
  }
23
- return components;
64
+ if (currentItem && currentSection) {
65
+ addItemToSection(currentItem, currentSection, components, layouts);
66
+ }
67
+ return { components, layouts };
24
68
  }
25
69
  async function getUniqueSchemaPath(outputDir) {
26
70
  await fs.mkdir(outputDir, { recursive: true });
@@ -49,17 +93,30 @@ async function getUniqueSchemaPath(outputDir) {
49
93
  }
50
94
  return { filePath, existingSchema };
51
95
  }
96
+ async function getModelFromContext(outputDir) {
97
+ const modelPath = path.join(outputDir, 'schema.json');
98
+ try {
99
+ const modelContent = await fs.readFile(modelPath, 'utf-8');
100
+ return JSON.parse(modelContent);
101
+ }
102
+ catch (error) {
103
+ console.error(`Error reading model from ${modelPath}:`, error);
104
+ console.error('Please ensure the model schema.json exists in the output directory.');
105
+ process.exit(1);
106
+ }
107
+ }
52
108
  async function main() {
53
- const [, , outputDir, ...flowFiles] = process.argv;
109
+ const [, , outputDir] = process.argv;
54
110
  if (!outputDir) {
55
- console.error('Usage: tsx src/generate-ia-schema.ts <output-dir> <flow-file-1> <flow-file-2> ...');
111
+ console.error('Usage: tsx src/generate-ia-schema.ts <output-dir>');
112
+ console.error('Note: The model schema.json must exist in the output directory.');
56
113
  process.exit(1);
57
114
  }
58
- const flows = await Promise.all(flowFiles.map((flow) => fs.readFile(flow, 'utf-8')));
115
+ const model = await getModelFromContext(outputDir);
59
116
  const { filePath, existingSchema } = await getUniqueSchemaPath(outputDir);
60
- const atomNames = await getAtomsFromMarkdown(outputDir);
61
- const atoms = atomNames.map((name) => ({ name, props: [] }));
62
- const iaSchema = await processFlowsWithAI(flows, uxSchema, existingSchema, atoms);
117
+ const { components: atomsNames } = await getComponentsAndLayouts(outputDir);
118
+ const atoms = atomsNames.map((atom) => ({ name: atom.name, props: [] }));
119
+ const iaSchema = await processFlowsWithAI(model, uxSchema, existingSchema, atoms);
63
120
  await fs.writeFile(filePath, JSON.stringify(iaSchema, null, 2));
64
121
  console.log(`Generated IA schema written to ${filePath}`);
65
122
  }
@@ -1 +1 @@
1
- {"version":3,"file":"generate-ia-schema.js","sourceRoot":"","sources":["../../src/generate-ia-schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generate-ia-schema.js","sourceRoot":"","sources":["../../src/generate-ia-schema.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,10 @@
1
1
  import { AIProvider } from '@auto-engineer/ai-gateway';
2
2
  import { type UXSchema, type AIAgentOutput } from './types.js';
3
+ import { type Model } from '@auto-engineer/flow';
3
4
  export declare class InformationArchitectAgent {
4
5
  private provider?;
5
6
  constructor(provider?: AIProvider);
6
- generateUXComponents(flows: string[], uxSchema: UXSchema, existingSchema?: object, atoms?: {
7
+ generateUXComponents(model: Model, uxSchema: UXSchema, existingSchema?: object, atoms?: {
7
8
  name: string;
8
9
  props: {
9
10
  name: string;
@@ -12,7 +13,7 @@ export declare class InformationArchitectAgent {
12
13
  }[]): Promise<AIAgentOutput>;
13
14
  private constructPrompt;
14
15
  }
15
- export declare function processFlowsWithAI(flows: string[], uxSchema: UXSchema, existingSchema?: object, atoms?: {
16
+ export declare function processFlowsWithAI(model: Model, uxSchema: UXSchema, existingSchema?: object, atoms?: {
16
17
  name: string;
17
18
  props: {
18
19
  name: string;
@@ -1 +1 @@
1
- {"version":3,"file":"ia-agent.d.ts","sourceRoot":"","sources":["../../src/ia-agent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAC3E,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AAe/D,qBAAa,yBAAyB;IACpC,OAAO,CAAC,QAAQ,CAAC,CAAa;gBAElB,QAAQ,CAAC,EAAE,UAAU;IAI3B,oBAAoB,CACxB,KAAK,EAAE,MAAM,EAAE,EACf,QAAQ,EAAE,QAAQ,EAClB,cAAc,CAAC,EAAE,MAAM,EACvB,KAAK,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,EAAE,CAAA;KAAE,EAAE,GAClE,OAAO,CAAC,aAAa,CAAC;IAsBzB,OAAO,CAAC,eAAe;CAgGxB;AAED,wBAAsB,kBAAkB,CACtC,KAAK,EAAE,MAAM,EAAE,EACf,QAAQ,EAAE,QAAQ,EAClB,cAAc,CAAC,EAAE,MAAM,EACvB,KAAK,CAAC,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;CAAE,EAAE,GAClE,OAAO,CAAC,aAAa,CAAC,CAGxB"}
1
+ {"version":3,"file":"ia-agent.d.ts","sourceRoot":"","sources":["../../src/ia-agent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAC3E,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AAC/D,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAejD,qBAAa,yBAAyB;IACpC,OAAO,CAAC,QAAQ,CAAC,CAAa;gBAElB,QAAQ,CAAC,EAAE,UAAU;IAI3B,oBAAoB,CACxB,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,QAAQ,EAClB,cAAc,CAAC,EAAE,MAAM,EACvB,KAAK,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,MAAM,CAAA;SAAE,EAAE,CAAA;KAAE,EAAE,GAElE,OAAO,CAAC,aAAa,CAAC;IAsBzB,OAAO,CAAC,eAAe;CAgGxB;AAED,wBAAsB,kBAAkB,CACtC,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,QAAQ,EAClB,cAAc,CAAC,EAAE,MAAM,EACvB,KAAK,CAAC,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;CAAE,EAAE,GAElE,OAAO,CAAC,aAAa,CAAC,CAGxB"}
@@ -15,13 +15,13 @@ export class InformationArchitectAgent {
15
15
  constructor(provider) {
16
16
  this.provider = provider;
17
17
  }
18
- async generateUXComponents(flows, uxSchema, existingSchema, atoms) {
19
- const prompt = this.constructPrompt(flows, uxSchema, existingSchema, atoms);
18
+ async generateUXComponents(model, uxSchema, existingSchema, atoms) {
19
+ const prompt = this.constructPrompt(model, uxSchema, existingSchema, atoms);
20
20
  try {
21
21
  const response = await generateTextWithAI(prompt, {
22
22
  provider: this.provider,
23
23
  temperature: 0.7,
24
- maxTokens: 4096,
24
+ maxTokens: 4096 * 2,
25
25
  });
26
26
  if (!response) {
27
27
  throw new Error('No response from AI agent');
@@ -37,16 +37,16 @@ export class InformationArchitectAgent {
37
37
  throw error;
38
38
  }
39
39
  }
40
- constructPrompt(flows, uxSchema, existingSchema, atoms) {
40
+ constructPrompt(model, uxSchema, existingSchema, atoms) {
41
41
  return `
42
- You are an expert UI architect and product designer. Given the following flows and UX schema, generate a detailed JSON specification for the application's UI components and pages.
42
+ You are an expert UI architect and product designer. Given the following model (containing flows, messages, and integrations) and UX schema, generate a detailed JSON specification for the application's UI components and pages.
43
43
 
44
- IMPORTANT: Only generate pages and components that are directly referenced in the provided flows. Do NOT add any extra pages or components, and do NOT make assumptions outside the flows. If something is not mentioned in the flows, it should NOT appear in the output.
44
+ IMPORTANT: Only generate pages and components that are directly referenced in the provided model's flows. Do NOT add any extra pages or components, and do NOT make assumptions outside the flows. If something is not mentioned in the flows, it should NOT appear in the output.
45
45
  IMPORTANT: try your best to reuse the existing atoms, and try not to generate atoms with context: like Submit Button, because the submit part is mainly irrelevant, instead just use the Button atom if provided.
46
46
 
47
47
  $${atoms ? `Here is a list of available atomic components (atoms) from the design system. Use these atoms and their props as much as possible. Only create new atoms if absolutely necessary. And only put the new atoms created into the schema. \n\nAtoms:\n${JSON.stringify(atoms, null, 2)}\n` : ''}
48
- Flows:
49
- ${JSON.stringify(flows, null, 2)}
48
+ System Model (flows, messages, integrations):
49
+ ${JSON.stringify(model, null, 2)}
50
50
 
51
51
  UX Schema:
52
52
  ${JSON.stringify(uxSchema, null, 2)}
@@ -72,11 +72,11 @@ Instructions:
72
72
  - In "pages", define each page as a key, with:
73
73
  - route (URL path)
74
74
  - description
75
- - layout (listing the organisms used)
75
+ - template (what wrapper does the page use)
76
76
  - navigation (array of navigation actions, e.g., { "on": "Click Listing Card", "to": "ListingDetailPage" })
77
77
  - data_requirements (array, as above, for page-level data fetching)
78
- - For each component or page, if there are any specs defined in the flows using specs('ComponentOrPageName', ...), extract all should(...) statements from .client(() => { ... }) blocks and assign them as an array of strings to a 'specs' field for the corrosponding component/page.
79
- - Only include specs from .client(() => { ... }) blocks, not from server() or other blocks.
78
+ - For each component or page, if there are any specs defined in the model's flow slices (look for slice.specs array where specs have context='client'), extract all spec descriptions and assign them as an array of strings to a 'specs' field for the corresponding component/page.
79
+ - Only include specs where the context is 'client', not 'server' or other contexts.
80
80
  - If no specs are found for a component/page, omit the 'specs' field.
81
81
 
82
82
  Use the following structure as a template for your response:
@@ -113,7 +113,6 @@ Use the following structure as a template for your response:
113
113
  "PageName": {
114
114
  "route": "/route",
115
115
  "description": "What this page does.",
116
- "layout": { "organisms": ["Organism1", "Organism2"] },
117
116
  "navigation": [{ "on": "Event", "to": "TargetPage" }],
118
117
  "data_requirements": [
119
118
  // ... as above
@@ -129,8 +128,8 @@ Do not include any text, explanation, or markdown—only the JSON object as desc
129
128
  `;
130
129
  }
131
130
  }
132
- export async function processFlowsWithAI(flows, uxSchema, existingSchema, atoms) {
131
+ export async function processFlowsWithAI(model, uxSchema, existingSchema, atoms) {
133
132
  const agent = new InformationArchitectAgent();
134
- return agent.generateUXComponents(flows, uxSchema, existingSchema, atoms);
133
+ return agent.generateUXComponents(model, uxSchema, existingSchema, atoms);
135
134
  }
136
135
  //# sourceMappingURL=ia-agent.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ia-agent.js","sourceRoot":"","sources":["../../src/ia-agent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAc,MAAM,2BAA2B,CAAC;AAG3E,SAAS,uBAAuB,CAAC,IAAY;IAC3C,OAAO,IAAI,CAAC,OAAO,CAAC,iCAAiC,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;AACtE,CAAC;AAED,SAAS,YAAY,CAAC,GAAW;IAC/B,IAAI,CAAC;QACH,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAChB,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,MAAM,OAAO,yBAAyB;IAGpC,YAAY,QAAqB;QAC/B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAED,KAAK,CAAC,oBAAoB,CACxB,KAAe,EACf,QAAkB,EAClB,cAAuB,EACvB,KAAmE;QAEnE,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,KAAK,CAAC,CAAC;QAC5E,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,kBAAkB,CAAC,MAAM,EAAE;gBAChD,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,WAAW,EAAE,GAAG;gBAChB,SAAS,EAAE,IAAI;aAChB,CAAC,CAAC;YACH,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;YAC/C,CAAC;YACD,MAAM,KAAK,GAAG,uBAAuB,CAAC,QAAQ,CAAC,CAAC;YAChD,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;gBACzB,MAAM,IAAI,KAAK,CAAC,qCAAqC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;YAC/E,CAAC;YACD,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAkB,CAAC;QAC5C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,+BAA+B,EAAE,KAAK,CAAC,CAAC;YACtD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAEO,eAAe,CACrB,KAAe,EACf,QAAkB,EAClB,cAAuB,EACvB,KAAmE;QAEnE,OAAO;;;;;;GAMR,KAAK,CAAC,CAAC,CAAC,qPAAqP,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;;EAErS,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;;;EAG9B,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;;EAEjC,cAAc,CAAC,CAAC,CAAC,kNAAkN,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2EpR,CAAC;IACA,CAAC;CACF;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,KAAe,EACf,QAAkB,EAClB,cAAuB,EACvB,KAAmE;IAEnE,MAAM,KAAK,GAAG,IAAI,yBAAyB,EAAE,CAAC;IAC9C,OAAO,KAAK,CAAC,oBAAoB,CAAC,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,KAAK,CAAC,CAAC;AAC5E,CAAC"}
1
+ {"version":3,"file":"ia-agent.js","sourceRoot":"","sources":["../../src/ia-agent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAc,MAAM,2BAA2B,CAAC;AAI3E,SAAS,uBAAuB,CAAC,IAAY;IAC3C,OAAO,IAAI,CAAC,OAAO,CAAC,iCAAiC,EAAE,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;AACtE,CAAC;AAED,SAAS,YAAY,CAAC,GAAW;IAC/B,IAAI,CAAC;QACH,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAChB,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,MAAM,OAAO,yBAAyB;IAGpC,YAAY,QAAqB;QAC/B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAED,KAAK,CAAC,oBAAoB,CACxB,KAAY,EACZ,QAAkB,EAClB,cAAuB,EACvB,KAAmE;QAGnE,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,KAAK,CAAC,CAAC;QAC5E,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,kBAAkB,CAAC,MAAM,EAAE;gBAChD,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,WAAW,EAAE,GAAG;gBAChB,SAAS,EAAE,IAAI,GAAG,CAAC;aACpB,CAAC,CAAC;YACH,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;YAC/C,CAAC;YACD,MAAM,KAAK,GAAG,uBAAuB,CAAC,QAAQ,CAAC,CAAC;YAChD,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;gBACzB,MAAM,IAAI,KAAK,CAAC,qCAAqC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;YAC/E,CAAC;YACD,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAkB,CAAC;QAC5C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,+BAA+B,EAAE,KAAK,CAAC,CAAC;YACtD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAEO,eAAe,CACrB,KAAY,EACZ,QAAkB,EAClB,cAAuB,EACvB,KAAmE;QAGnE,OAAO;;;;;;GAMR,KAAK,CAAC,CAAC,CAAC,qPAAqP,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;;EAErS,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;;;EAG9B,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;;EAEjC,cAAc,CAAC,CAAC,CAAC,kNAAkN,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0EpR,CAAC;IACA,CAAC;CACF;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,KAAY,EACZ,QAAkB,EAClB,cAAuB,EACvB,KAAmE;IAGnE,MAAM,KAAK,GAAG,IAAI,yBAAyB,EAAE,CAAC;IAC9C,OAAO,KAAK,CAAC,oBAAoB,CAAC,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,KAAK,CAAC,CAAC;AAC5E,CAAC"}
@@ -3,8 +3,8 @@ export type { UXSchema, AIAgentOutput } from './types.js';
3
3
  export declare const COMMANDS: import("@auto-engineer/message-bus").UnifiedCommandHandler<Readonly<{
4
4
  type: "GenerateIA";
5
5
  data: Readonly<{
6
+ modelPath: string;
6
7
  outputDir: string;
7
- flowFiles: string[];
8
8
  }>;
9
9
  timestamp?: Date;
10
10
  requestId?: string;