@barissozen/csns 0.7.6 → 0.7.8

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/dist/bin/csns.js CHANGED
@@ -164,6 +164,19 @@ async function cmdTrace(config) {
164
164
  console.log(` 🚨 Critical: ${report.summary.criticalCount}`);
165
165
  console.log(` ⚠️ Warning: ${report.summary.warningCount}`);
166
166
  }
167
+ async function cmdReview(args, config) {
168
+ console.log(' 🔍 Reviewing changes...\n');
169
+ const { PRReviewer } = await import('../orchestrator/pr-reviewer.js');
170
+ const provider = getProvider(config);
171
+ const reviewer = new PRReviewer(PROJECT_ROOT, provider);
172
+ const isAll = args.includes('--all');
173
+ const commitMatch = args.match(/--commit\s+(\S+)/);
174
+ const scope = commitMatch ? 'commit' : isAll ? 'all' : 'staged';
175
+ const result = await reviewer.review(scope, commitMatch?.[1]);
176
+ // Print markdown to terminal
177
+ console.log(result.markdown);
178
+ console.log(` ⏱️ ${result.duration}ms\n`);
179
+ }
167
180
  async function cmdStatus() {
168
181
  try {
169
182
  const content = await readFile(join(PROJECT_ROOT, 'STATE.md'), 'utf-8');
@@ -216,6 +229,8 @@ function printHelp() {
216
229
  Commands:
217
230
  /new [brief] Start a new project (interactive if no brief given)
218
231
  /audit Reverse-engineer & audit current codebase
232
+ /review Review staged git changes (security + architecture)
233
+ /review --all Review all uncommitted changes
219
234
  /trace Full 4-layer trace (static + semantic + runtime + audit)
220
235
  /status Show STATE.md
221
236
  /log Show DECISIONS.md
@@ -264,6 +279,9 @@ async function repl(config) {
264
279
  else if (input === '/audit') {
265
280
  await cmdAudit(config);
266
281
  }
282
+ else if (input.startsWith('/review')) {
283
+ await cmdReview(input.slice(7).trim(), config);
284
+ }
267
285
  else if (input === '/trace') {
268
286
  await cmdTrace(config);
269
287
  }
@@ -311,6 +329,9 @@ async function nonInteractive(command, args, config) {
311
329
  case 'audit':
312
330
  await cmdAudit(config);
313
331
  break;
332
+ case 'review':
333
+ await cmdReview(args, config);
334
+ break;
314
335
  case 'trace':
315
336
  await cmdTrace(config);
316
337
  break;
@@ -1 +1 @@
1
- {"version":3,"file":"csns.js","sourceRoot":"","sources":["../../src/bin/csns.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"csns.js","sourceRoot":"","sources":["../../src/bin/csns.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,52 @@
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
+ export interface DetectedEntity {
11
+ name: string;
12
+ slug: string;
13
+ pluralSlug: string;
14
+ fields: EntityField[];
15
+ isAuthEntity: boolean;
16
+ }
17
+ export interface EntityField {
18
+ name: string;
19
+ type: 'string' | 'number' | 'boolean' | 'date' | 'json' | 'reference';
20
+ required: boolean;
21
+ reference?: string;
22
+ }
23
+ export interface DetectedRelation {
24
+ from: string;
25
+ to: string;
26
+ type: 'one-to-many' | 'many-to-many' | 'one-to-one';
27
+ throughField?: string;
28
+ }
29
+ export interface DetectedEndpoints {
30
+ entity: string;
31
+ routes: Array<{
32
+ method: 'GET' | 'POST' | 'PUT' | 'DELETE';
33
+ path: string;
34
+ description: string;
35
+ }>;
36
+ }
37
+ export interface EntityDetectionResult {
38
+ entities: DetectedEntity[];
39
+ relations: DetectedRelation[];
40
+ endpoints: DetectedEndpoints[];
41
+ }
42
+ export declare class EntityDetector {
43
+ /**
44
+ * Detect entities, relations, and endpoints from a brief description.
45
+ */
46
+ detect(brief: string): EntityDetectionResult;
47
+ private detectRelations;
48
+ private generateEndpoints;
49
+ private matchEntityName;
50
+ private pluralize;
51
+ }
52
+ //# sourceMappingURL=entity-detector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entity-detector.d.ts","sourceRoot":"","sources":["../../src/orchestrator/entity-detector.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,YAAY,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,GAAG,WAAW,CAAC;IACtE,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,aAAa,GAAG,cAAc,GAAG,YAAY,CAAC;IACpD,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,KAAK,CAAC;QACZ,MAAM,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,CAAC;QAC1C,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC,CAAC;CACJ;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,cAAc,EAAE,CAAC;IAC3B,SAAS,EAAE,gBAAgB,EAAE,CAAC;IAC9B,SAAS,EAAE,iBAAiB,EAAE,CAAC;CAChC;AAuJD,qBAAa,cAAc;IAEzB;;OAEG;IACH,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,qBAAqB;IAuE5C,OAAO,CAAC,eAAe;IAmCvB,OAAO,CAAC,iBAAiB;IAqDzB,OAAO,CAAC,eAAe;IAWvB,OAAO,CAAC,SAAS;CAKlB"}
@@ -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":"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"}
@@ -8,4 +8,7 @@ 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';
13
+ export { PRReviewer } from './pr-reviewer.js';
11
14
  //# 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;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC"}
@@ -8,4 +8,7 @@ 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';
13
+ export { PRReviewer } from './pr-reviewer.js';
11
14
  //# 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;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1,53 @@
1
+ /**
2
+ * PR Review — Targeted Audit on Changed Files
3
+ *
4
+ * Takes a git diff (staged, unstaged, or specific commit range),
5
+ * identifies changed files + their dependents, runs targeted
6
+ * security scan + architecture check, outputs PR-comment-ready markdown.
7
+ *
8
+ * Usage:
9
+ * csns review → reviews staged changes
10
+ * csns review --all → reviews all uncommitted changes
11
+ * csns review --commit HEAD~3..HEAD → reviews commit range
12
+ */
13
+ import type { LLMProvider } from '../llm/types.js';
14
+ import type { SecurityFinding } from '../agent/tracer/security-scanner.js';
15
+ import type { ArchitectureViolation } from '../agent/tracer/reverse-engineer.js';
16
+ export interface ReviewResult {
17
+ /** Changed files detected from git */
18
+ changedFiles: string[];
19
+ /** Files impacted by the changes (dependents) */
20
+ impactedFiles: string[];
21
+ /** Security findings in changed files */
22
+ securityFindings: SecurityFinding[];
23
+ /** Architecture violations in changed files */
24
+ architectureViolations: ArchitectureViolation[];
25
+ /** Summary stats */
26
+ summary: {
27
+ filesChanged: number;
28
+ filesImpacted: number;
29
+ securityIssues: number;
30
+ archViolations: number;
31
+ verdict: 'approve' | 'request-changes' | 'comment';
32
+ };
33
+ /** PR-comment-ready markdown */
34
+ markdown: string;
35
+ duration: number;
36
+ }
37
+ export type ReviewScope = 'staged' | 'all' | 'commit';
38
+ export declare class PRReviewer {
39
+ private projectRoot;
40
+ private provider;
41
+ constructor(projectRoot: string, provider?: LLMProvider | null);
42
+ /**
43
+ * Review changes based on scope.
44
+ */
45
+ review(scope?: ReviewScope, commitRange?: string): Promise<ReviewResult>;
46
+ private getChangedFiles;
47
+ private findImpactedFiles;
48
+ private scanSecurity;
49
+ private checkArchitecture;
50
+ private generateMarkdown;
51
+ private emptyResult;
52
+ }
53
+ //# sourceMappingURL=pr-reviewer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pr-reviewer.d.ts","sourceRoot":"","sources":["../../src/orchestrator/pr-reviewer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAMH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAMjF,MAAM,WAAW,YAAY;IAC3B,sCAAsC;IACtC,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,iDAAiD;IACjD,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,yCAAyC;IACzC,gBAAgB,EAAE,eAAe,EAAE,CAAC;IACpC,+CAA+C;IAC/C,sBAAsB,EAAE,qBAAqB,EAAE,CAAC;IAChD,oBAAoB;IACpB,OAAO,EAAE;QACP,YAAY,EAAE,MAAM,CAAC;QACrB,aAAa,EAAE,MAAM,CAAC;QACtB,cAAc,EAAE,MAAM,CAAC;QACvB,cAAc,EAAE,MAAM,CAAC;QACvB,OAAO,EAAE,SAAS,GAAG,iBAAiB,GAAG,SAAS,CAAC;KACpD,CAAC;IACF,gCAAgC;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,KAAK,GAAG,QAAQ,CAAC;AAMtD,qBAAa,UAAU;IACrB,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,QAAQ,CAAqB;gBAEzB,WAAW,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,WAAW,GAAG,IAAI;IAK9D;;OAEG;IACG,MAAM,CAAC,KAAK,GAAE,WAAsB,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAwDxF,OAAO,CAAC,eAAe;YA4BT,iBAAiB;YA4BjB,YAAY;YAOZ,iBAAiB;IAa/B,OAAO,CAAC,gBAAgB;IA6ExB,OAAO,CAAC,WAAW;CAiBpB"}