@specverse/engines 6.27.14 → 6.29.4

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.
Files changed (35) hide show
  1. package/dist/ai/analyse-runner.d.ts +16 -0
  2. package/dist/ai/analyse-runner.d.ts.map +1 -1
  3. package/dist/ai/analyse-runner.js +119 -60
  4. package/dist/ai/analyse-runner.js.map +1 -1
  5. package/dist/ai/behaviours-runner.d.ts +49 -0
  6. package/dist/ai/behaviours-runner.d.ts.map +1 -0
  7. package/dist/ai/behaviours-runner.js +177 -0
  8. package/dist/ai/behaviours-runner.js.map +1 -0
  9. package/dist/ai/deployment-emitter.d.ts +86 -0
  10. package/dist/ai/deployment-emitter.d.ts.map +1 -0
  11. package/dist/ai/deployment-emitter.js +201 -0
  12. package/dist/ai/deployment-emitter.js.map +1 -0
  13. package/dist/ai/index.d.ts +2 -0
  14. package/dist/ai/index.d.ts.map +1 -1
  15. package/dist/ai/index.js +5 -0
  16. package/dist/ai/index.js.map +1 -1
  17. package/dist/ai/manifest-emitter.d.ts +60 -0
  18. package/dist/ai/manifest-emitter.d.ts.map +1 -0
  19. package/dist/ai/manifest-emitter.js +126 -0
  20. package/dist/ai/manifest-emitter.js.map +1 -0
  21. package/dist/ai/skeleton-emitter.d.ts +11 -1
  22. package/dist/ai/skeleton-emitter.d.ts.map +1 -1
  23. package/dist/ai/skeleton-emitter.js +73 -2
  24. package/dist/ai/skeleton-emitter.js.map +1 -1
  25. package/dist/analyse-prepass/adapters/react-views.d.ts +59 -0
  26. package/dist/analyse-prepass/adapters/react-views.d.ts.map +1 -0
  27. package/dist/analyse-prepass/adapters/react-views.js +314 -0
  28. package/dist/analyse-prepass/adapters/react-views.js.map +1 -0
  29. package/dist/analyse-prepass/index.d.ts +15 -0
  30. package/dist/analyse-prepass/index.d.ts.map +1 -1
  31. package/dist/analyse-prepass/index.js +46 -0
  32. package/dist/analyse-prepass/index.js.map +1 -1
  33. package/dist/libs/instance-factories/cli/templates/commander/command-generator.js +51 -4
  34. package/libs/instance-factories/cli/templates/commander/command-generator.ts +70 -5
  35. package/package.json +2 -2
@@ -189,7 +189,20 @@ export function emitFaithfulSkeleton(facts) {
189
189
  }
190
190
  const orphanClasses = ctx.classesByComponent.get('_unassigned') ?? [];
191
191
  const orphanEntities = [...ctx.entityHome.entries()].filter(([, h]) => h === 'Unassigned');
192
- if ((orphanClasses?.length ?? 0) > 0 || orphanEntities.length > 0) {
192
+ // Views are orphan when their filePath doesn't match any suggested
193
+ // component's structural sourceDir. The component-body emitter
194
+ // surfaces these via `bucketKey === '_unassigned'` when it runs
195
+ // for the catch-all; we just need to decide whether to emit the
196
+ // catch-all at all.
197
+ const orphanViews = (ctx.facts.views ?? []).filter((v) => {
198
+ for (const c of ctx.facts.suggestedComponents ?? []) {
199
+ const sd = c.structural?.sourceDir;
200
+ if (sd && v.filePath.startsWith(sd))
201
+ return false;
202
+ }
203
+ return true;
204
+ });
205
+ if ((orphanClasses?.length ?? 0) > 0 || orphanEntities.length > 0 || orphanViews.length > 0) {
193
206
  const noteParts = [];
194
207
  if ((orphanClasses?.length ?? 0) > 0) {
195
208
  noteParts.push(`${orphanClasses.length} walked class(es) did not match any suggested component's source path`);
@@ -197,6 +210,9 @@ export function emitFaithfulSkeleton(facts) {
197
210
  if (orphanEntities.length > 0) {
198
211
  noteParts.push(`${orphanEntities.length} entit(ies) not listed in any named component`);
199
212
  }
213
+ if (orphanViews.length > 0) {
214
+ noteParts.push(`${orphanViews.length} view(s) not under any suggested component's source path`);
215
+ }
200
216
  b.emit(' Unassigned:\n', {
201
217
  yamlPath: 'components.Unassigned',
202
218
  rule: 'header-component-default-when-none-suggested',
@@ -209,7 +225,18 @@ export function emitFaithfulSkeleton(facts) {
209
225
  emitComponentBody(b, ctx, 'Unassigned', '_unassigned', undefined);
210
226
  }
211
227
  }
212
- return b.toResult(ctx.entityHomeAssignments);
228
+ // Project the bookkeeping shapes into stable types for downstream consumers
229
+ // (deployment-emitter). The internal EmitterContext carries richer typing
230
+ // than what consumers need; expose a narrow, stable shape only.
231
+ const classesByComponent = new Map();
232
+ for (const [k, classes] of ctx.classesByComponent) {
233
+ classesByComponent.set(k, (classes ?? []).map((c) => ({ entityName: c.entityName, filePath: c.filePath })));
234
+ }
235
+ return {
236
+ ...b.toResult(ctx.entityHomeAssignments),
237
+ classesByComponent,
238
+ entityHome: new Map(ctx.entityHome),
239
+ };
213
240
  }
214
241
  function emitComponentBody(b, ctx, specName, bucketKey, _comp) {
215
242
  // ── Models (only when adapters detected entities) ─────────────────
@@ -440,6 +467,50 @@ function emitComponentBody(b, ctx, specName, bucketKey, _comp) {
440
467
  });
441
468
  const controllers = classes.filter((c) => /Controller$/.test(c.entityName));
442
469
  const services = classes.filter((c) => !/Controller$/.test(c.entityName));
470
+ // ── Views (engines 6.28.0+) ───────────────────────────────────────
471
+ // Detected React/JSX components, attributed by source-tree topology:
472
+ // a view's filePath must start with this component's structural
473
+ // sourceDir to land here. Falls through silently when no structural
474
+ // info exists (community-detection-only suggestion) — those views
475
+ // wind up in the `Unassigned` / `Application` catch-all.
476
+ const componentViews = (ctx.facts.views ?? []).filter((v) => {
477
+ const sd = _comp?.structural?.sourceDir;
478
+ if (!sd)
479
+ return bucketKey === '_unassigned'; // catch-all only
480
+ return v.filePath.startsWith(sd);
481
+ });
482
+ // Per-name dedup within this component.
483
+ const seenViewNames = new Set();
484
+ const dedupViews = componentViews.filter((v) => {
485
+ if (seenViewNames.has(v.name))
486
+ return false;
487
+ seenViewNames.add(v.name);
488
+ return true;
489
+ });
490
+ if (dedupViews.length > 0) {
491
+ b.emit(` views:\n`, {
492
+ yamlPath: `components.${specName}.views`,
493
+ rule: 'comment-skeleton-marker',
494
+ });
495
+ for (const v of dedupViews) {
496
+ const viewIdx = (ctx.facts.views ?? []).indexOf(v);
497
+ b.emit(` ${v.name}:\n`, {
498
+ yamlPath: `components.${specName}.views.${v.name}`,
499
+ rule: 'view-from-react-component',
500
+ sourceFactRef: `facts.views[${viewIdx}]`,
501
+ sourceLocation: { filePath: v.filePath, lineRange: v.sourceLineRange },
502
+ });
503
+ const kindLabel = v.kind === 'class-component' ? 'React class component'
504
+ : v.kind === 'arrow-component' ? 'React arrow component'
505
+ : v.kind === 'default-export' ? 'React default export'
506
+ : 'React function component';
507
+ const screenSuffix = v.isScreen ? ' (screen)' : '';
508
+ b.emit(` description: "${kindLabel}${screenSuffix} detected in ${v.filePath.split('/').slice(-2).join('/')}"\n`, {
509
+ yamlPath: `components.${specName}.views.${v.name}.description`,
510
+ rule: 'view-description-from-react-kind',
511
+ });
512
+ }
513
+ }
443
514
  if (controllers.length > 0) {
444
515
  b.emit(` controllers:\n`, {
445
516
  yamlPath: `components.${specName}.controllers`,
@@ -1 +1 @@
1
- {"version":3,"file":"skeleton-emitter.js","sourceRoot":"","sources":["../../src/ai/skeleton-emitter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"skeleton-emitter.js","sourceRoot":"","sources":["../../src/ai/skeleton-emitter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,59 @@
1
+ /**
2
+ * `react-views` adapter — surfaces React components from `.tsx` / `.jsx`
3
+ * files as candidate views.
4
+ *
5
+ * Why this exists: codebases with React/React Native UI (idle-meta's
6
+ * editor, mythology-mobile, idle-clicker-mobile) declare their views as
7
+ * top-level component functions or classes. None of the prior adapters
8
+ * (typescript-decorators, typescript-interfaces, express-routes,
9
+ * typescript-prisma) read JSX — so all view declarations were silently
10
+ * dropped from analyse output.
11
+ *
12
+ * Each detected component becomes one entry in `prepassFacts.views[]`,
13
+ * keyed by component name. Skeleton-emitter then emits a `views:` block
14
+ * per detected SpecVerse component, populated with the views that fall
15
+ * under that source-tree subtree.
16
+ *
17
+ * Detection criteria (any one matches):
18
+ * - `export function Name(...)` returning JSX (heuristic: contains `<...>`)
19
+ * - `export const Name = (...) => <...>` or `export const Name: FC<...> = ...`
20
+ * - `export default function Name(...)` or `export default class Name`
21
+ * - `class Name extends React.Component` / `extends Component`
22
+ *
23
+ * Naming gates:
24
+ * - PascalCase identifier required (lowercase-first names = helpers, skip)
25
+ * - Length ≥ 2 (single-letter names = generic placeholders, skip)
26
+ *
27
+ * Out of scope for v1:
28
+ * - JSX render-tree analysis (which other components does this view render?)
29
+ * - Hook detection (`useFoo`, `useBar`)
30
+ * - Prop type extraction
31
+ * - State/store consumer detection
32
+ * These can be added incrementally without breaking the v1 contract.
33
+ */
34
+ export interface ReactViewDeclaration {
35
+ /** Component name in PascalCase (suitable as a yaml key). */
36
+ name: string;
37
+ /** Source file path (absolute). */
38
+ filePath: string;
39
+ /** Line range of the declaration (1-indexed). Best-effort, may be approximate. */
40
+ sourceLineRange: [number, number];
41
+ /** Detection mechanism — useful for forward-logged provenance. */
42
+ kind: 'function-component' | 'arrow-component' | 'class-component' | 'default-export';
43
+ /** True when the component name ends with `Screen` (React Native convention). */
44
+ isScreen: boolean;
45
+ }
46
+ export interface ReactViewFile {
47
+ filePath: string;
48
+ views: ReactViewDeclaration[];
49
+ }
50
+ /** True when the file path looks like a React/JSX source file. */
51
+ export declare function isReactViewFile(filePath: string): boolean;
52
+ /** True when the source contains content that looks like JSX or React Native imports. */
53
+ export declare function looksLikeReactSource(source: string): boolean;
54
+ /**
55
+ * Parse a single React/JSX file and extract candidate view declarations.
56
+ * Returns at most one entry per name (per-file dedup).
57
+ */
58
+ export declare function parseReactViews(filePath: string, source: string): ReactViewFile;
59
+ //# sourceMappingURL=react-views.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"react-views.d.ts","sourceRoot":"","sources":["../../../src/analyse-prepass/adapters/react-views.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AAEH,MAAM,WAAW,oBAAoB;IACnC,6DAA6D;IAC7D,IAAI,EAAE,MAAM,CAAC;IACb,mCAAmC;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,kFAAkF;IAClF,eAAe,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,kEAAkE;IAClE,IAAI,EAAE,oBAAoB,GAAG,iBAAiB,GAAG,iBAAiB,GAAG,gBAAgB,CAAC;IACtF,iFAAiF;IACjF,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,oBAAoB,EAAE,CAAC;CAC/B;AAED,kEAAkE;AAClE,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAEzD;AAED,yFAAyF;AACzF,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAM5D;AAyFD;;;GAGG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,aAAa,CAiF/E"}
@@ -0,0 +1,314 @@
1
+ /**
2
+ * `react-views` adapter — surfaces React components from `.tsx` / `.jsx`
3
+ * files as candidate views.
4
+ *
5
+ * Why this exists: codebases with React/React Native UI (idle-meta's
6
+ * editor, mythology-mobile, idle-clicker-mobile) declare their views as
7
+ * top-level component functions or classes. None of the prior adapters
8
+ * (typescript-decorators, typescript-interfaces, express-routes,
9
+ * typescript-prisma) read JSX — so all view declarations were silently
10
+ * dropped from analyse output.
11
+ *
12
+ * Each detected component becomes one entry in `prepassFacts.views[]`,
13
+ * keyed by component name. Skeleton-emitter then emits a `views:` block
14
+ * per detected SpecVerse component, populated with the views that fall
15
+ * under that source-tree subtree.
16
+ *
17
+ * Detection criteria (any one matches):
18
+ * - `export function Name(...)` returning JSX (heuristic: contains `<...>`)
19
+ * - `export const Name = (...) => <...>` or `export const Name: FC<...> = ...`
20
+ * - `export default function Name(...)` or `export default class Name`
21
+ * - `class Name extends React.Component` / `extends Component`
22
+ *
23
+ * Naming gates:
24
+ * - PascalCase identifier required (lowercase-first names = helpers, skip)
25
+ * - Length ≥ 2 (single-letter names = generic placeholders, skip)
26
+ *
27
+ * Out of scope for v1:
28
+ * - JSX render-tree analysis (which other components does this view render?)
29
+ * - Hook detection (`useFoo`, `useBar`)
30
+ * - Prop type extraction
31
+ * - State/store consumer detection
32
+ * These can be added incrementally without breaking the v1 contract.
33
+ */
34
+ /** True when the file path looks like a React/JSX source file. */
35
+ export function isReactViewFile(filePath) {
36
+ return /\.(tsx|jsx)$/i.test(filePath);
37
+ }
38
+ /** True when the source contains content that looks like JSX or React Native imports. */
39
+ export function looksLikeReactSource(source) {
40
+ // Quick gate: must reference React or look like JSX. Avoids parsing
41
+ // every .tsx file (some are pure type/utility helpers with no UI).
42
+ if (/\bfrom\s+['"]react(?:-native)?['"]/.test(source))
43
+ return true;
44
+ if (/<[A-Z][A-Za-z0-9_]*[\s/>]/.test(source))
45
+ return true; // JSX tag
46
+ return false;
47
+ }
48
+ /** PascalCase + min-length gate for component names. */
49
+ function isComponentNameShape(name) {
50
+ return /^[A-Z][A-Za-z0-9_]+$/.test(name) && name.length >= 2;
51
+ }
52
+ /** Map a 0-indexed character offset into the source to a 1-indexed line number. */
53
+ function offsetToLine(source, offset) {
54
+ // Count newlines before offset; +1 for 1-indexed.
55
+ let line = 1;
56
+ for (let i = 0; i < offset && i < source.length; i++) {
57
+ if (source[i] === '\n')
58
+ line++;
59
+ }
60
+ return line;
61
+ }
62
+ /** Find the matching close brace for an open brace at `openIdx`. */
63
+ function findMatchingBrace(source, openIdx) {
64
+ let depth = 1;
65
+ let inString = null;
66
+ let inLineComment = false;
67
+ let inBlockComment = false;
68
+ for (let i = openIdx + 1; i < source.length; i++) {
69
+ const c = source[i];
70
+ const n = source[i + 1];
71
+ if (inLineComment) {
72
+ if (c === '\n')
73
+ inLineComment = false;
74
+ continue;
75
+ }
76
+ if (inBlockComment) {
77
+ if (c === '*' && n === '/') {
78
+ inBlockComment = false;
79
+ i++;
80
+ }
81
+ continue;
82
+ }
83
+ if (inString) {
84
+ if (c === '\\') {
85
+ i++;
86
+ continue;
87
+ }
88
+ if (c === inString)
89
+ inString = null;
90
+ continue;
91
+ }
92
+ if (c === '/' && n === '/') {
93
+ inLineComment = true;
94
+ i++;
95
+ continue;
96
+ }
97
+ if (c === '/' && n === '*') {
98
+ inBlockComment = true;
99
+ i++;
100
+ continue;
101
+ }
102
+ if (c === '"' || c === "'" || c === '`') {
103
+ inString = c;
104
+ continue;
105
+ }
106
+ if (c === '{')
107
+ depth++;
108
+ else if (c === '}') {
109
+ depth--;
110
+ if (depth === 0)
111
+ return i;
112
+ }
113
+ }
114
+ return -1;
115
+ }
116
+ /**
117
+ * Strip line and block comments from source so the regex passes don't
118
+ * pick up commented-out function-like text. Crude but sufficient — we
119
+ * only need approximate line ranges, not exact ones.
120
+ */
121
+ function stripComments(source) {
122
+ let out = '';
123
+ let inLine = false;
124
+ let inBlock = false;
125
+ let inString = null;
126
+ for (let i = 0; i < source.length; i++) {
127
+ const c = source[i];
128
+ const n = source[i + 1];
129
+ if (inLine) {
130
+ if (c === '\n') {
131
+ inLine = false;
132
+ out += c;
133
+ }
134
+ else
135
+ out += ' ';
136
+ continue;
137
+ }
138
+ if (inBlock) {
139
+ if (c === '*' && n === '/') {
140
+ inBlock = false;
141
+ out += ' ';
142
+ i++;
143
+ }
144
+ else if (c === '\n')
145
+ out += '\n';
146
+ else
147
+ out += ' ';
148
+ continue;
149
+ }
150
+ if (inString) {
151
+ out += c;
152
+ if (c === '\\') {
153
+ i++;
154
+ if (i < source.length)
155
+ out += source[i];
156
+ continue;
157
+ }
158
+ if (c === inString)
159
+ inString = null;
160
+ continue;
161
+ }
162
+ if (c === '/' && n === '/') {
163
+ inLine = true;
164
+ out += ' ';
165
+ i++;
166
+ continue;
167
+ }
168
+ if (c === '/' && n === '*') {
169
+ inBlock = true;
170
+ out += ' ';
171
+ i++;
172
+ continue;
173
+ }
174
+ if (c === '"' || c === "'" || c === '`') {
175
+ inString = c;
176
+ out += c;
177
+ continue;
178
+ }
179
+ out += c;
180
+ }
181
+ return out;
182
+ }
183
+ /**
184
+ * Parse a single React/JSX file and extract candidate view declarations.
185
+ * Returns at most one entry per name (per-file dedup).
186
+ */
187
+ export function parseReactViews(filePath, source) {
188
+ if (!looksLikeReactSource(source)) {
189
+ return { filePath, views: [] };
190
+ }
191
+ const cleaned = stripComments(source);
192
+ const found = new Map();
193
+ const record = (name, kind, offset, endOffset) => {
194
+ if (!isComponentNameShape(name))
195
+ return;
196
+ if (found.has(name))
197
+ return; // Per-file dedup.
198
+ const startLine = offsetToLine(cleaned, offset);
199
+ const endLine = endOffset !== undefined ? offsetToLine(cleaned, endOffset) : startLine;
200
+ found.set(name, {
201
+ name,
202
+ filePath,
203
+ sourceLineRange: [startLine, endLine],
204
+ kind,
205
+ isScreen: name.endsWith('Screen'),
206
+ });
207
+ };
208
+ // 1. Class components: `class Name extends (React.)Component`
209
+ const classRe = /\bclass\s+([A-Z][A-Za-z0-9_]+)\s+extends\s+(?:React\.)?(?:Pure)?Component\b/g;
210
+ let m;
211
+ while ((m = classRe.exec(cleaned)) !== null) {
212
+ record(m[1], 'class-component', m.index);
213
+ }
214
+ // 2. Function declarations that look like components: `function Name(...)` followed by JSX.
215
+ // Heuristic: declared with `export` (or `export default`) and the body contains a JSX-shaped return.
216
+ const funcRe = /\bexport\s+(?:default\s+)?(?:async\s+)?function\s+([A-Z][A-Za-z0-9_]+)\s*\(/g;
217
+ while ((m = funcRe.exec(cleaned)) !== null) {
218
+ const name = m[1];
219
+ const isDefault = /\bexport\s+default\b/.test(cleaned.slice(Math.max(0, m.index - 20), m.index + m[0].length));
220
+ // Locate the opening brace of the function body.
221
+ const openParenIdx = m.index + m[0].length - 1;
222
+ const closeParenIdx = findMatchingParenLite(cleaned, openParenIdx);
223
+ if (closeParenIdx < 0)
224
+ continue;
225
+ const openBraceIdx = cleaned.indexOf('{', closeParenIdx);
226
+ if (openBraceIdx < 0)
227
+ continue;
228
+ const closeBraceIdx = findMatchingBrace(cleaned, openBraceIdx);
229
+ if (closeBraceIdx < 0)
230
+ continue;
231
+ const body = cleaned.slice(openBraceIdx, closeBraceIdx + 1);
232
+ if (!bodyContainsJsxReturn(body))
233
+ continue;
234
+ record(name, isDefault ? 'default-export' : 'function-component', m.index, closeBraceIdx);
235
+ }
236
+ // 3. Arrow / FC declarations: `export const Name = (...) => ...` or `export const Name: FC = ...`
237
+ const arrowRe = /\bexport\s+const\s+([A-Z][A-Za-z0-9_]+)\s*(?::\s*(?:React\.)?(?:FC|FunctionComponent|VFC)[^=]*)?=\s*(?:\(|<|\b(?:React\.)?(?:memo|forwardRef)\s*\()/g;
238
+ while ((m = arrowRe.exec(cleaned)) !== null) {
239
+ const name = m[1];
240
+ // Best-effort body lookup: find the `=>` that follows the equals.
241
+ const arrowAt = cleaned.indexOf('=>', m.index + m[0].length - 1);
242
+ if (arrowAt < 0)
243
+ continue;
244
+ // Body is either a brace-block or an expression that contains JSX.
245
+ const afterArrow = arrowAt + 2;
246
+ let bodyEnd = afterArrow;
247
+ if (cleaned[afterArrow] === ' ' || cleaned[afterArrow] === '\n') {
248
+ // Skip whitespace.
249
+ let j = afterArrow;
250
+ while (j < cleaned.length && /\s/.test(cleaned[j]))
251
+ j++;
252
+ if (cleaned[j] === '{') {
253
+ const close = findMatchingBrace(cleaned, j);
254
+ if (close >= 0)
255
+ bodyEnd = close;
256
+ }
257
+ else {
258
+ // Expression body — scan to the next semicolon at the outer level.
259
+ bodyEnd = Math.min(cleaned.length, j + 2000); // bounded sniff
260
+ }
261
+ }
262
+ const body = cleaned.slice(arrowAt, bodyEnd + 1);
263
+ if (!body.includes('<') && !/return\s*\(/.test(body))
264
+ continue;
265
+ if (!/<[A-Z]|<[a-z]+\s|<\/|<>/.test(body))
266
+ continue;
267
+ record(name, 'arrow-component', m.index, bodyEnd);
268
+ }
269
+ // 4. Default-export-only forms missed above: `export default function (...)` (anonymous).
270
+ // Skip these — anonymous default exports can't be named meaningfully without filename.
271
+ // Filename-derived naming is the caller's responsibility.
272
+ return { filePath, views: [...found.values()] };
273
+ }
274
+ /** True when a function body (between { and }) contains a JSX-shaped return. */
275
+ function bodyContainsJsxReturn(body) {
276
+ // Quick gate: any return followed by `<` (with optional paren) or any `<X />`-ish tag.
277
+ if (/return\s*\(?\s*<[A-Za-z]/.test(body))
278
+ return true;
279
+ if (/<>[\s\S]*<\//.test(body))
280
+ return true; // fragment
281
+ if (/<[A-Z][A-Za-z0-9_]*[\s/>]/.test(body))
282
+ return true;
283
+ return false;
284
+ }
285
+ /** Lightweight paren-matcher (string-aware). Used by parseReactViews's function-decl path. */
286
+ function findMatchingParenLite(source, openIdx) {
287
+ let depth = 1;
288
+ let inString = null;
289
+ for (let i = openIdx + 1; i < source.length; i++) {
290
+ const c = source[i];
291
+ if (inString) {
292
+ if (c === '\\') {
293
+ i++;
294
+ continue;
295
+ }
296
+ if (c === inString)
297
+ inString = null;
298
+ continue;
299
+ }
300
+ if (c === '"' || c === "'" || c === '`') {
301
+ inString = c;
302
+ continue;
303
+ }
304
+ if (c === '(')
305
+ depth++;
306
+ else if (c === ')') {
307
+ depth--;
308
+ if (depth === 0)
309
+ return i;
310
+ }
311
+ }
312
+ return -1;
313
+ }
314
+ //# sourceMappingURL=react-views.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"react-views.js","sourceRoot":"","sources":["../../../src/analyse-prepass/adapters/react-views.ts"],"names":[],"mappings":"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"}
@@ -135,6 +135,21 @@ export interface SpecVerseFacts {
135
135
  /** Per-method classified timelines. */
136
136
  methods: import('./behavior-step-classifier.js').MethodCandidates[];
137
137
  }>;
138
+ /**
139
+ * Detected React/JSX view declarations (engines 6.28.0+). Populated
140
+ * by the `react-views` adapter when `*.tsx` / `*.jsx` files are
141
+ * present and `runReactViewsAdapter !== false` in options. One entry
142
+ * per uniquely-named view declaration (function components, arrow
143
+ * components, class components, default exports). The skeleton
144
+ * emitter consumes these to populate per-component `views:` blocks.
145
+ */
146
+ views?: Array<{
147
+ name: string;
148
+ filePath: string;
149
+ sourceLineRange: [number, number];
150
+ kind: 'function-component' | 'arrow-component' | 'class-component' | 'default-export';
151
+ isScreen: boolean;
152
+ }>;
138
153
  /**
139
154
  * Audit-trail decision log — one entry per walker class, including
140
155
  * methods that were filtered out + their drop reason. Populated when