@barissozen/csns 0.7.5 → 0.7.7

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.
@@ -0,0 +1,297 @@
1
+ /**
2
+ * Entity Detector — Brief'ten Entity, Relation, Endpoint Çıkarma
3
+ *
4
+ * "Todo app with users, projects, and tasks. Users can share projects."
5
+ * →
6
+ * entities: [User, Project, Task]
7
+ * relations: [User↔Project (many-to-many), Project→Task (one-to-many)]
8
+ * endpoints: [CRUD for each + share endpoint]
9
+ */
10
+ // ═══════════════════════════════════════════════════════════
11
+ // Keyword → Entity Patterns
12
+ // ═══════════════════════════════════════════════════════════
13
+ /** Common nouns that indicate entities */
14
+ const ENTITY_PATTERNS = [
15
+ {
16
+ keywords: ['user', 'users', 'account', 'accounts', 'member', 'members', 'person', 'people'],
17
+ name: 'User',
18
+ fields: [
19
+ { name: 'email', type: 'string', required: true },
20
+ { name: 'name', type: 'string', required: true },
21
+ { name: 'password', type: 'string', required: true },
22
+ { name: 'role', type: 'string', required: false },
23
+ ],
24
+ isAuth: true,
25
+ },
26
+ {
27
+ keywords: ['todo', 'todos', 'task', 'tasks', 'item', 'items'],
28
+ name: 'Task',
29
+ fields: [
30
+ { name: 'title', type: 'string', required: true },
31
+ { name: 'description', type: 'string', required: false },
32
+ { name: 'completed', type: 'boolean', required: false },
33
+ { name: 'dueDate', type: 'date', required: false },
34
+ ],
35
+ isAuth: false,
36
+ },
37
+ {
38
+ keywords: ['project', 'projects', 'workspace', 'workspaces', 'board', 'boards'],
39
+ name: 'Project',
40
+ fields: [
41
+ { name: 'name', type: 'string', required: true },
42
+ { name: 'description', type: 'string', required: false },
43
+ ],
44
+ isAuth: false,
45
+ },
46
+ {
47
+ keywords: ['post', 'posts', 'article', 'articles', 'blog', 'entry', 'entries'],
48
+ name: 'Post',
49
+ fields: [
50
+ { name: 'title', type: 'string', required: true },
51
+ { name: 'content', type: 'string', required: true },
52
+ { name: 'published', type: 'boolean', required: false },
53
+ { name: 'publishedAt', type: 'date', required: false },
54
+ ],
55
+ isAuth: false,
56
+ },
57
+ {
58
+ keywords: ['comment', 'comments', 'reply', 'replies'],
59
+ name: 'Comment',
60
+ fields: [
61
+ { name: 'content', type: 'string', required: true },
62
+ ],
63
+ isAuth: false,
64
+ },
65
+ {
66
+ keywords: ['product', 'products', 'listing', 'listings'],
67
+ name: 'Product',
68
+ fields: [
69
+ { name: 'name', type: 'string', required: true },
70
+ { name: 'description', type: 'string', required: false },
71
+ { name: 'price', type: 'number', required: true },
72
+ { name: 'stock', type: 'number', required: false },
73
+ ],
74
+ isAuth: false,
75
+ },
76
+ {
77
+ keywords: ['order', 'orders', 'purchase', 'purchases'],
78
+ name: 'Order',
79
+ fields: [
80
+ { name: 'status', type: 'string', required: true },
81
+ { name: 'total', type: 'number', required: true },
82
+ ],
83
+ isAuth: false,
84
+ },
85
+ {
86
+ keywords: ['category', 'categories', 'tag', 'tags', 'label', 'labels'],
87
+ name: 'Category',
88
+ fields: [
89
+ { name: 'name', type: 'string', required: true },
90
+ { name: 'slug', type: 'string', required: false },
91
+ ],
92
+ isAuth: false,
93
+ },
94
+ {
95
+ keywords: ['message', 'messages', 'chat', 'conversation', 'conversations'],
96
+ name: 'Message',
97
+ fields: [
98
+ { name: 'content', type: 'string', required: true },
99
+ { name: 'read', type: 'boolean', required: false },
100
+ ],
101
+ isAuth: false,
102
+ },
103
+ {
104
+ keywords: ['notification', 'notifications', 'alert', 'alerts'],
105
+ name: 'Notification',
106
+ fields: [
107
+ { name: 'title', type: 'string', required: true },
108
+ { name: 'message', type: 'string', required: true },
109
+ { name: 'read', type: 'boolean', required: false },
110
+ ],
111
+ isAuth: false,
112
+ },
113
+ {
114
+ keywords: ['file', 'files', 'upload', 'uploads', 'attachment', 'attachments', 'image', 'images'],
115
+ name: 'File',
116
+ fields: [
117
+ { name: 'filename', type: 'string', required: true },
118
+ { name: 'url', type: 'string', required: true },
119
+ { name: 'size', type: 'number', required: false },
120
+ { name: 'mimeType', type: 'string', required: false },
121
+ ],
122
+ isAuth: false,
123
+ },
124
+ {
125
+ keywords: ['link', 'links', 'url', 'urls', 'shortener', 'redirect'],
126
+ name: 'Link',
127
+ fields: [
128
+ { name: 'originalUrl', type: 'string', required: true },
129
+ { name: 'shortCode', type: 'string', required: true },
130
+ { name: 'clicks', type: 'number', required: false },
131
+ { name: 'expiresAt', type: 'date', required: false },
132
+ ],
133
+ isAuth: false,
134
+ },
135
+ ];
136
+ /** Relation detection patterns */
137
+ const RELATION_PATTERNS = [
138
+ { pattern: /(\w+)\s+(?:can\s+)?(?:have|has|contain|own|create)\s+(?:many|multiple|several)\s+(\w+)/i, type: 'one-to-many' },
139
+ { pattern: /(\w+)\s+(?:belong|assigned)\s+to\s+(?:a|one|an)\s+(\w+)/i, type: 'one-to-many' },
140
+ { pattern: /(\w+)\s+(?:can\s+)?(?:share|join|belong\s+to\s+many|participate)\s+(\w+)/i, type: 'many-to-many' },
141
+ { pattern: /(\w+)\s+and\s+(\w+)\s+(?:can\s+)?(?:share|collaborate)/i, type: 'many-to-many' },
142
+ { pattern: /each\s+(\w+)\s+has\s+(?:one|a|an)\s+(\w+)/i, type: 'one-to-one' },
143
+ ];
144
+ // ═══════════════════════════════════════════════════════════
145
+ // Detector
146
+ // ═══════════════════════════════════════════════════════════
147
+ export class EntityDetector {
148
+ /**
149
+ * Detect entities, relations, and endpoints from a brief description.
150
+ */
151
+ detect(brief) {
152
+ const briefLower = brief.toLowerCase();
153
+ const words = briefLower.split(/[\s,.;:!?/\\()\[\]{}"'`—–-]+/).filter(w => w.length > 1);
154
+ // 1. Detect entities
155
+ const entities = [];
156
+ const entityNames = new Set();
157
+ for (const pattern of ENTITY_PATTERNS) {
158
+ const found = pattern.keywords.some(kw => words.includes(kw) || briefLower.includes(kw));
159
+ if (found && !entityNames.has(pattern.name)) {
160
+ entityNames.add(pattern.name);
161
+ entities.push({
162
+ name: pattern.name,
163
+ slug: pattern.name.toLowerCase(),
164
+ pluralSlug: this.pluralize(pattern.name.toLowerCase()),
165
+ fields: [...pattern.fields],
166
+ isAuthEntity: pattern.isAuth,
167
+ });
168
+ }
169
+ }
170
+ // If no entities detected, create a generic "Resource"
171
+ if (entities.length === 0) {
172
+ entities.push({
173
+ name: 'Resource',
174
+ slug: 'resource',
175
+ pluralSlug: 'resources',
176
+ fields: [
177
+ { name: 'name', type: 'string', required: true },
178
+ { name: 'description', type: 'string', required: false },
179
+ ],
180
+ isAuthEntity: false,
181
+ });
182
+ }
183
+ // 2. Detect relations
184
+ const relations = this.detectRelations(brief, entities);
185
+ // 3. Add ownership relations (User → everything, if User exists)
186
+ const userEntity = entities.find(e => e.isAuthEntity);
187
+ if (userEntity) {
188
+ for (const entity of entities) {
189
+ if (entity.isAuthEntity)
190
+ continue;
191
+ const exists = relations.some(r => (r.from === userEntity.name && r.to === entity.name) ||
192
+ (r.from === entity.name && r.to === userEntity.name));
193
+ if (!exists) {
194
+ relations.push({
195
+ from: userEntity.name,
196
+ to: entity.name,
197
+ type: 'one-to-many',
198
+ });
199
+ // Add userId reference field
200
+ entity.fields.push({
201
+ name: 'userId',
202
+ type: 'reference',
203
+ required: true,
204
+ reference: userEntity.name,
205
+ });
206
+ }
207
+ }
208
+ }
209
+ // 4. Generate endpoints
210
+ const endpoints = this.generateEndpoints(entities, relations);
211
+ return { entities, relations, endpoints };
212
+ }
213
+ detectRelations(brief, entities) {
214
+ const relations = [];
215
+ const entityNames = entities.map(e => e.name.toLowerCase());
216
+ for (const rp of RELATION_PATTERNS) {
217
+ const match = brief.match(rp.pattern);
218
+ if (match) {
219
+ const from = this.matchEntityName(match[1] ?? '', entityNames, entities);
220
+ const to = this.matchEntityName(match[2] ?? '', entityNames, entities);
221
+ if (from && to && from !== to) {
222
+ const exists = relations.some(r => r.from === from && r.to === to);
223
+ if (!exists) {
224
+ relations.push({ from, to, type: rp.type });
225
+ }
226
+ }
227
+ }
228
+ }
229
+ // Detect parent-child from "X's Y" or "Y of X" patterns
230
+ const possessivePattern = /(\w+)(?:'s|s')\s+(\w+)/gi;
231
+ let match;
232
+ while ((match = possessivePattern.exec(brief)) !== null) {
233
+ const from = this.matchEntityName(match[1] ?? '', entityNames, entities);
234
+ const to = this.matchEntityName(match[2] ?? '', entityNames, entities);
235
+ if (from && to && from !== to) {
236
+ const exists = relations.some(r => r.from === from && r.to === to);
237
+ if (!exists) {
238
+ relations.push({ from, to, type: 'one-to-many' });
239
+ }
240
+ }
241
+ }
242
+ return relations;
243
+ }
244
+ generateEndpoints(entities, relations) {
245
+ const endpoints = [];
246
+ for (const entity of entities) {
247
+ const routes = [];
248
+ const base = `/${entity.pluralSlug}`;
249
+ if (entity.isAuthEntity) {
250
+ routes.push({ method: 'POST', path: '/auth/register', description: `Register new ${entity.slug}` }, { method: 'POST', path: '/auth/login', description: `Login ${entity.slug}` }, { method: 'GET', path: '/auth/me', description: `Get current ${entity.slug}` });
251
+ }
252
+ // CRUD
253
+ routes.push({ method: 'GET', path: base, description: `List all ${entity.pluralSlug}` }, { method: 'GET', path: `${base}/:id`, description: `Get ${entity.slug} by ID` }, { method: 'POST', path: base, description: `Create ${entity.slug}` }, { method: 'PUT', path: `${base}/:id`, description: `Update ${entity.slug}` }, { method: 'DELETE', path: `${base}/:id`, description: `Delete ${entity.slug}` });
254
+ // Relation-based endpoints
255
+ for (const rel of relations) {
256
+ if (rel.from === entity.name) {
257
+ const childEntity = entities.find(e => e.name === rel.to);
258
+ if (childEntity) {
259
+ routes.push({
260
+ method: 'GET',
261
+ path: `${base}/:id/${childEntity.pluralSlug}`,
262
+ description: `List ${childEntity.pluralSlug} for ${entity.slug}`,
263
+ });
264
+ }
265
+ }
266
+ if (rel.type === 'many-to-many' && rel.to === entity.name) {
267
+ const parentEntity = entities.find(e => e.name === rel.from);
268
+ if (parentEntity) {
269
+ routes.push({ method: 'POST', path: `${base}/:id/${parentEntity.pluralSlug}/:${parentEntity.slug}Id`, description: `Add ${parentEntity.slug} to ${entity.slug}` }, { method: 'DELETE', path: `${base}/:id/${parentEntity.pluralSlug}/:${parentEntity.slug}Id`, description: `Remove ${parentEntity.slug} from ${entity.slug}` });
270
+ }
271
+ }
272
+ }
273
+ endpoints.push({ entity: entity.name, routes });
274
+ }
275
+ return endpoints;
276
+ }
277
+ matchEntityName(word, _entityNames, entities) {
278
+ const lower = word.toLowerCase();
279
+ // Direct match
280
+ const direct = entities.find(e => e.slug === lower || e.pluralSlug === lower);
281
+ if (direct)
282
+ return direct.name;
283
+ // Fuzzy — check if word starts with entity name
284
+ const fuzzy = entities.find(e => lower.startsWith(e.slug) || e.slug.startsWith(lower));
285
+ if (fuzzy)
286
+ return fuzzy.name;
287
+ return null;
288
+ }
289
+ pluralize(word) {
290
+ if (word.endsWith('y') && !/[aeiou]y$/.test(word))
291
+ return word.slice(0, -1) + 'ies';
292
+ if (word.endsWith('s') || word.endsWith('x') || word.endsWith('z') || word.endsWith('ch') || word.endsWith('sh'))
293
+ return word + 'es';
294
+ return word + 's';
295
+ }
296
+ }
297
+ //# sourceMappingURL=entity-detector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entity-detector.js","sourceRoot":"","sources":["../../src/orchestrator/entity-detector.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAuCH,8DAA8D;AAC9D,4BAA4B;AAC5B,8DAA8D;AAE9D,0CAA0C;AAC1C,MAAM,eAAe,GAKhB;IACH;QACE,QAAQ,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,CAAC;QAC3F,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE;YACN,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;YACjD,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;YAChD,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;YACpD,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE;SAClD;QACD,MAAM,EAAE,IAAI;KACb;IACD;QACE,QAAQ,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC;QAC7D,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE;YACN,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;YACjD,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE;YACxD,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE;YACvD,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE;SACnD;QACD,MAAM,EAAE,KAAK;KACd;IACD;QACE,QAAQ,EAAE,CAAC,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,CAAC;QAC/E,IAAI,EAAE,SAAS;QACf,MAAM,EAAE;YACN,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;YAChD,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE;SACzD;QACD,MAAM,EAAE,KAAK;KACd;IACD;QACE,QAAQ,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,CAAC;QAC9E,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE;YACN,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;YACjD,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;YACnD,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE;YACvD,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE;SACvD;QACD,MAAM,EAAE,KAAK;KACd;IACD;QACE,QAAQ,EAAE,CAAC,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,CAAC;QACrD,IAAI,EAAE,SAAS;QACf,MAAM,EAAE;YACN,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;SACpD;QACD,MAAM,EAAE,KAAK;KACd;IACD;QACE,QAAQ,EAAE,CAAC,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,CAAC;QACxD,IAAI,EAAE,SAAS;QACf,MAAM,EAAE;YACN,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;YAChD,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE;YACxD,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;YACjD,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE;SACnD;QACD,MAAM,EAAE,KAAK;KACd;IACD;QACE,QAAQ,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,CAAC;QACtD,IAAI,EAAE,OAAO;QACb,MAAM,EAAE;YACN,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;YAClD,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;SAClD;QACD,MAAM,EAAE,KAAK;KACd;IACD;QACE,QAAQ,EAAE,CAAC,UAAU,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC;QACtE,IAAI,EAAE,UAAU;QAChB,MAAM,EAAE;YACN,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;YAChD,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE;SAClD;QACD,MAAM,EAAE,KAAK;KACd;IACD;QACE,QAAQ,EAAE,CAAC,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,cAAc,EAAE,eAAe,CAAC;QAC1E,IAAI,EAAE,SAAS;QACf,MAAM,EAAE;YACN,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;YACnD,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE;SACnD;QACD,MAAM,EAAE,KAAK;KACd;IACD;QACE,QAAQ,EAAE,CAAC,cAAc,EAAE,eAAe,EAAE,OAAO,EAAE,QAAQ,CAAC;QAC9D,IAAI,EAAE,cAAc;QACpB,MAAM,EAAE;YACN,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;YACjD,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;YACnD,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE;SACnD;QACD,MAAM,EAAE,KAAK;KACd;IACD;QACE,QAAQ,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,OAAO,EAAE,QAAQ,CAAC;QAChG,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE;YACN,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;YACpD,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;YAC/C,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE;YACjD,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE;SACtD;QACD,MAAM,EAAE,KAAK;KACd;IACD;QACE,QAAQ,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,CAAC;QACnE,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE;YACN,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;YACvD,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;YACrD,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE;YACnD,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE;SACrD;QACD,MAAM,EAAE,KAAK;KACd;CACF,CAAC;AAEF,kCAAkC;AAClC,MAAM,iBAAiB,GAGlB;IACH,EAAE,OAAO,EAAE,yFAAyF,EAAE,IAAI,EAAE,aAAa,EAAE;IAC3H,EAAE,OAAO,EAAE,0DAA0D,EAAE,IAAI,EAAE,aAAa,EAAE;IAC5F,EAAE,OAAO,EAAE,2EAA2E,EAAE,IAAI,EAAE,cAAc,EAAE;IAC9G,EAAE,OAAO,EAAE,yDAAyD,EAAE,IAAI,EAAE,cAAc,EAAE;IAC5F,EAAE,OAAO,EAAE,4CAA4C,EAAE,IAAI,EAAE,YAAY,EAAE;CAC9E,CAAC;AAEF,8DAA8D;AAC9D,WAAW;AACX,8DAA8D;AAE9D,MAAM,OAAO,cAAc;IAEzB;;OAEG;IACH,MAAM,CAAC,KAAa;QAClB,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;QACvC,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAEzF,qBAAqB;QACrB,MAAM,QAAQ,GAAqB,EAAE,CAAC;QACtC,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC;QAEtC,KAAK,MAAM,OAAO,IAAI,eAAe,EAAE,CAAC;YACtC,MAAM,KAAK,GAAG,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;YACzF,IAAI,KAAK,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC5C,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBAC9B,QAAQ,CAAC,IAAI,CAAC;oBACZ,IAAI,EAAE,OAAO,CAAC,IAAI;oBAClB,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE;oBAChC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;oBACtD,MAAM,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;oBAC3B,YAAY,EAAE,OAAO,CAAC,MAAM;iBAC7B,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,uDAAuD;QACvD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,QAAQ,CAAC,IAAI,CAAC;gBACZ,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,UAAU;gBAChB,UAAU,EAAE,WAAW;gBACvB,MAAM,EAAE;oBACN,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE;oBAChD,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE;iBACzD;gBACD,YAAY,EAAE,KAAK;aACpB,CAAC,CAAC;QACL,CAAC;QAED,sBAAsB;QACtB,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QAExD,iEAAiE;QACjE,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;QACtD,IAAI,UAAU,EAAE,CAAC;YACf,KAAK,MAAM,MAAM,IAAI,QAAQ,EAAE,CAAC;gBAC9B,IAAI,MAAM,CAAC,YAAY;oBAAE,SAAS;gBAClC,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAChC,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,IAAI,CAAC;oBACpD,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC,EAAE,KAAK,UAAU,CAAC,IAAI,CAAC,CACrD,CAAC;gBACF,IAAI,CAAC,MAAM,EAAE,CAAC;oBACZ,SAAS,CAAC,IAAI,CAAC;wBACb,IAAI,EAAE,UAAU,CAAC,IAAI;wBACrB,EAAE,EAAE,MAAM,CAAC,IAAI;wBACf,IAAI,EAAE,aAAa;qBACpB,CAAC,CAAC;oBACH,6BAA6B;oBAC7B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;wBACjB,IAAI,EAAE,QAAQ;wBACd,IAAI,EAAE,WAAW;wBACjB,QAAQ,EAAE,IAAI;wBACd,SAAS,EAAE,UAAU,CAAC,IAAI;qBAC3B,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;QAED,wBAAwB;QACxB,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QAE9D,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC;IAC5C,CAAC;IAEO,eAAe,CAAC,KAAa,EAAE,QAA0B;QAC/D,MAAM,SAAS,GAAuB,EAAE,CAAC;QACzC,MAAM,WAAW,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;QAE5D,KAAK,MAAM,EAAE,IAAI,iBAAiB,EAAE,CAAC;YACnC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;YACtC,IAAI,KAAK,EAAE,CAAC;gBACV,MAAM,IAAI,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;gBACzE,MAAM,EAAE,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;gBACvE,IAAI,IAAI,IAAI,EAAE,IAAI,IAAI,KAAK,EAAE,EAAE,CAAC;oBAC9B,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;oBACnE,IAAI,CAAC,MAAM,EAAE,CAAC;wBACZ,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;oBAC9C,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,wDAAwD;QACxD,MAAM,iBAAiB,GAAG,0BAA0B,CAAC;QACrD,IAAI,KAA6B,CAAC;QAClC,OAAO,CAAC,KAAK,GAAG,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;YACxD,MAAM,IAAI,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;YACzE,MAAM,EAAE,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;YACvE,IAAI,IAAI,IAAI,EAAE,IAAI,IAAI,KAAK,EAAE,EAAE,CAAC;gBAC9B,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;gBACnE,IAAI,CAAC,MAAM,EAAE,CAAC;oBACZ,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC;gBACpD,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAEO,iBAAiB,CAAC,QAA0B,EAAE,SAA6B;QACjF,MAAM,SAAS,GAAwB,EAAE,CAAC;QAE1C,KAAK,MAAM,MAAM,IAAI,QAAQ,EAAE,CAAC;YAC9B,MAAM,MAAM,GAAgC,EAAE,CAAC;YAC/C,MAAM,IAAI,GAAG,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;YAErC,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;gBACxB,MAAM,CAAC,IAAI,CACT,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,gBAAgB,EAAE,WAAW,EAAE,gBAAgB,MAAM,CAAC,IAAI,EAAE,EAAE,EACtF,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,WAAW,EAAE,SAAS,MAAM,CAAC,IAAI,EAAE,EAAE,EAC5E,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,eAAe,MAAM,CAAC,IAAI,EAAE,EAAE,CAC/E,CAAC;YACJ,CAAC;YAED,OAAO;YACP,MAAM,CAAC,IAAI,CACT,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,YAAY,MAAM,CAAC,UAAU,EAAE,EAAE,EAC3E,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,IAAI,MAAM,EAAE,WAAW,EAAE,OAAO,MAAM,CAAC,IAAI,QAAQ,EAAE,EAC/E,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,MAAM,CAAC,IAAI,EAAE,EAAE,EACpE,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,IAAI,MAAM,EAAE,WAAW,EAAE,UAAU,MAAM,CAAC,IAAI,EAAE,EAAE,EAC5E,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,IAAI,MAAM,EAAE,WAAW,EAAE,UAAU,MAAM,CAAC,IAAI,EAAE,EAAE,CAChF,CAAC;YAEF,2BAA2B;YAC3B,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;gBAC5B,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC;oBAC7B,MAAM,WAAW,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC;oBAC1D,IAAI,WAAW,EAAE,CAAC;wBAChB,MAAM,CAAC,IAAI,CAAC;4BACV,MAAM,EAAE,KAAK;4BACb,IAAI,EAAE,GAAG,IAAI,QAAQ,WAAW,CAAC,UAAU,EAAE;4BAC7C,WAAW,EAAE,QAAQ,WAAW,CAAC,UAAU,QAAQ,MAAM,CAAC,IAAI,EAAE;yBACjE,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;gBACD,IAAI,GAAG,CAAC,IAAI,KAAK,cAAc,IAAI,GAAG,CAAC,EAAE,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC;oBAC1D,MAAM,YAAY,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC,CAAC;oBAC7D,IAAI,YAAY,EAAE,CAAC;wBACjB,MAAM,CAAC,IAAI,CACT,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,QAAQ,YAAY,CAAC,UAAU,KAAK,YAAY,CAAC,IAAI,IAAI,EAAE,WAAW,EAAE,OAAO,YAAY,CAAC,IAAI,OAAO,MAAM,CAAC,IAAI,EAAE,EAAE,EACrJ,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,IAAI,QAAQ,YAAY,CAAC,UAAU,KAAK,YAAY,CAAC,IAAI,IAAI,EAAE,WAAW,EAAE,UAAU,YAAY,CAAC,IAAI,SAAS,MAAM,CAAC,IAAI,EAAE,EAAE,CAC7J,CAAC;oBACJ,CAAC;gBACH,CAAC;YACH,CAAC;YAED,SAAS,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QAClD,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAEO,eAAe,CAAC,IAAY,EAAE,YAAsB,EAAE,QAA0B;QACtF,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACjC,eAAe;QACf,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,IAAI,CAAC,CAAC,UAAU,KAAK,KAAK,CAAC,CAAC;QAC9E,IAAI,MAAM;YAAE,OAAO,MAAM,CAAC,IAAI,CAAC;QAC/B,gDAAgD;QAChD,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;QACvF,IAAI,KAAK;YAAE,OAAO,KAAK,CAAC,IAAI,CAAC;QAC7B,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,SAAS,CAAC,IAAY;QAC5B,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;QACpF,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,GAAG,IAAI,CAAC;QACrI,OAAO,IAAI,GAAG,GAAG,CAAC;IACpB,CAAC;CACF"}
@@ -8,4 +8,6 @@ export { RecoveryManager } from './recovery.js';
8
8
  export { IntegrationEvaluator } from './integration-evaluator.js';
9
9
  export { AuditGate } from './audit-gate.js';
10
10
  export { scaffoldProject } from './scaffold.js';
11
+ export { SmartScaffold } from './smart-scaffold.js';
12
+ export { EntityDetector } from './entity-detector.js';
11
13
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/orchestrator/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/orchestrator/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC"}
@@ -8,4 +8,6 @@ export { RecoveryManager } from './recovery.js';
8
8
  export { IntegrationEvaluator } from './integration-evaluator.js';
9
9
  export { AuditGate } from './audit-gate.js';
10
10
  export { scaffoldProject } from './scaffold.js';
11
+ export { SmartScaffold } from './smart-scaffold.js';
12
+ export { EntityDetector } from './entity-detector.js';
11
13
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/orchestrator/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/orchestrator/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC"}
@@ -0,0 +1,36 @@
1
+ /**
2
+ * Smart Scaffold — Brief'ten Multi-Entity Layered Code Generation
3
+ *
4
+ * EntityDetector sonuçlarını alıp her entity için:
5
+ * - Route (Express router + CRUD + relation endpoints)
6
+ * - Service (business logic)
7
+ * - Repository (data access)
8
+ * - Schema (Zod validation)
9
+ * - DB model (Drizzle-style)
10
+ * üretir.
11
+ */
12
+ import type { EntityDetectionResult } from './entity-detector.js';
13
+ import type { ArchitectureDecisions } from '../types/index.js';
14
+ export interface SmartScaffoldResult {
15
+ files: string[];
16
+ routes: string[];
17
+ entities: string[];
18
+ detection: EntityDetectionResult;
19
+ }
20
+ export declare class SmartScaffold {
21
+ private root;
22
+ private detector;
23
+ constructor(projectRoot: string);
24
+ generate(brief: string, decisions: ArchitectureDecisions): Promise<SmartScaffoldResult>;
25
+ private writeConfig;
26
+ private writeApp;
27
+ private writeServer;
28
+ private writeHealthRoute;
29
+ private writeSchema;
30
+ private writeService;
31
+ private writeRepository;
32
+ private writeRoute;
33
+ private writeAuth;
34
+ private writeModels;
35
+ }
36
+ //# sourceMappingURL=smart-scaffold.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"smart-scaffold.d.ts","sourceRoot":"","sources":["../../src/orchestrator/smart-scaffold.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAKH,OAAO,KAAK,EAAoC,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AACpG,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAE/D,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,SAAS,EAAE,qBAAqB,CAAC;CAClC;AAED,qBAAa,aAAa;IACxB,OAAO,CAAC,IAAI,CAAS;IACrB,OAAO,CAAC,QAAQ,CAAiB;gBAErB,WAAW,EAAE,MAAM;IAKzB,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,qBAAqB,GAAG,OAAO,CAAC,mBAAmB,CAAC;YA4D/E,WAAW;YA4BX,QAAQ;YAyCR,WAAW;YAaX,gBAAgB;YAchB,WAAW;YA8BX,YAAY;YAqDZ,eAAe;YAyCf,UAAU;YA0DV,SAAS;YA+DT,WAAW;CAuC1B"}