@sigil-engine/core 0.9.2 → 1.1.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/context.yaml ADDED
@@ -0,0 +1,1788 @@
1
+ # context.yaml — generated by sigil extract
2
+ # 2026-03-19T21:20:07.889Z
3
+
4
+ version: "1.0"
5
+ project: "core"
6
+ _extraction:
7
+ extracted_at: "2026-03-19T21:20:07.889Z"
8
+ sigil_version: "0.1.0"
9
+ source_commit: "942e4c0"
10
+ extraction_ms: 480
11
+ plugins_used:
12
+ - "typescript@0.1.0"
13
+ stack:
14
+ language: "typescript"
15
+ testing:
16
+ - "vitest"
17
+ package_manager: "npm"
18
+ entities: []
19
+ components: []
20
+ routes: []
21
+ exports:
22
+ - name: "readCache"
23
+ _meta:
24
+ file: "src/cache.ts"
25
+ symbol: "readCache"
26
+ type: "function"
27
+ tags:
28
+ - "lang:typescript"
29
+ line: 42
30
+ hash: "85958b2cddde"
31
+ kind: "function"
32
+ signature: "(projectPath: string) => FileCache | null"
33
+ - name: "writeCache"
34
+ _meta:
35
+ file: "src/cache.ts"
36
+ symbol: "writeCache"
37
+ type: "function"
38
+ tags:
39
+ - "lang:typescript"
40
+ line: 52
41
+ hash: "85958b2cddde"
42
+ kind: "function"
43
+ signature: "(projectPath: string, cache: FileCache) => void"
44
+ - name: "buildCacheFromFiles"
45
+ _meta:
46
+ file: "src/cache.ts"
47
+ symbol: "buildCacheFromFiles"
48
+ type: "function"
49
+ tags:
50
+ - "lang:typescript"
51
+ line: 60
52
+ hash: "85958b2cddde"
53
+ kind: "function"
54
+ signature: "(projectPath: string, files: string[]) => FileCache"
55
+ - name: "getChangedFiles"
56
+ _meta:
57
+ file: "src/cache.ts"
58
+ symbol: "getChangedFiles"
59
+ type: "function"
60
+ tags:
61
+ - "lang:typescript"
62
+ line: 89
63
+ hash: "85958b2cddde"
64
+ kind: "function"
65
+ signature: "(projectPath: string, currentFiles: string[], cache: FileCache) => ChangedFiles"
66
+ - name: "FileCache"
67
+ _meta:
68
+ file: "src/cache.ts"
69
+ symbol: "FileCache"
70
+ type: "type"
71
+ tags:
72
+ - "lang:typescript"
73
+ - "kind:interface"
74
+ line: 16
75
+ hash: "85958b2cddde"
76
+ kind: "interface"
77
+ signature: "{ files: Record<string, { hash: string; mtime: number; }>; last_full_extract: string }"
78
+ - name: "ChangedFiles"
79
+ _meta:
80
+ file: "src/cache.ts"
81
+ symbol: "ChangedFiles"
82
+ type: "type"
83
+ tags:
84
+ - "lang:typescript"
85
+ - "kind:interface"
86
+ line: 21
87
+ hash: "85958b2cddde"
88
+ kind: "interface"
89
+ signature: "{ changed: string[]; unchanged: string[]; added: string[]; removed: string[] }"
90
+ - name: "diffContexts"
91
+ _meta:
92
+ file: "src/diff.ts"
93
+ symbol: "diffContexts"
94
+ type: "function"
95
+ tags:
96
+ - "lang:typescript"
97
+ line: 60
98
+ hash: "94441ff42222"
99
+ kind: "function"
100
+ signature: "(oldDoc: ContextDocument, newDoc: ContextDocument) => DiffResult"
101
+ - name: "formatDiff"
102
+ _meta:
103
+ file: "src/diff.ts"
104
+ symbol: "formatDiff"
105
+ type: "function"
106
+ tags:
107
+ - "lang:typescript"
108
+ line: 372
109
+ hash: "94441ff42222"
110
+ kind: "function"
111
+ signature: "(result: DiffResult) => string"
112
+ - name: "ChangeType"
113
+ _meta:
114
+ file: "src/diff.ts"
115
+ symbol: "ChangeType"
116
+ type: "type"
117
+ tags:
118
+ - "lang:typescript"
119
+ - "kind:type-alias"
120
+ line: 22
121
+ hash: "94441ff42222"
122
+ kind: "type"
123
+ signature: "\"added\" | \"removed\" | \"modified\" | \"renamed\""
124
+ - name: "ChangeCategory"
125
+ _meta:
126
+ file: "src/diff.ts"
127
+ symbol: "ChangeCategory"
128
+ type: "type"
129
+ tags:
130
+ - "lang:typescript"
131
+ - "kind:type-alias"
132
+ line: 24
133
+ hash: "94441ff42222"
134
+ kind: "type"
135
+ signature: "\"entity\" | \"component\" | \"route\" | \"export\" | \"pattern\" | \"convention\" | \"stack\" | \"dependency\""
136
+ - name: "Change"
137
+ _meta:
138
+ file: "src/diff.ts"
139
+ symbol: "Change"
140
+ type: "type"
141
+ tags:
142
+ - "lang:typescript"
143
+ - "kind:interface"
144
+ line: 34
145
+ hash: "94441ff42222"
146
+ kind: "interface"
147
+ signature: "{ type: ChangeType; name: string; category: ChangeCategory; old?: T | undefined; new?: T | undefined;
148
+ details?: string[] | undefined }"
149
+ - name: "DiffResult"
150
+ _meta:
151
+ file: "src/diff.ts"
152
+ symbol: "DiffResult"
153
+ type: "type"
154
+ tags:
155
+ - "lang:typescript"
156
+ - "kind:interface"
157
+ line: 43
158
+ hash: "94441ff42222"
159
+ kind: "interface"
160
+ signature: "{ summary: { total_changes: number; added: number; removed: number; ...; changes: Change<unknown>[];
161
+ stack_changes: Change<unknown>[]; pattern_changes: Change<unknown>[]; convention_changes: Change<unknown>[] }"
162
+ - name: "extractContext"
163
+ _meta:
164
+ file: "src/extract.ts"
165
+ symbol: "extractContext"
166
+ type: "function"
167
+ tags:
168
+ - "lang:typescript"
169
+ line: 42
170
+ hash: "27e13ae8c8f5"
171
+ kind: "function"
172
+ signature: "(opts: ExtractOptions) => Promise<ContextDocument>"
173
+ - name: "deduplicateExports"
174
+ _meta:
175
+ file: "src/extract.ts"
176
+ symbol: "deduplicateExports"
177
+ type: "function"
178
+ tags:
179
+ - "lang:typescript"
180
+ line: 160
181
+ hash: "27e13ae8c8f5"
182
+ kind: "function"
183
+ signature: "(doc: ContextDocument) => void"
184
+ - name: "ExtractOptions"
185
+ _meta:
186
+ file: "src/extract.ts"
187
+ symbol: "ExtractOptions"
188
+ type: "type"
189
+ tags:
190
+ - "lang:typescript"
191
+ - "kind:interface"
192
+ line: 25
193
+ hash: "27e13ae8c8f5"
194
+ kind: "interface"
195
+ signature: "{ projectPath: string; plugins?: string[] | undefined; onProgress?: ProgressCallback | undefined }"
196
+ - name: "ContextDocument"
197
+ _meta:
198
+ file: "src/index.ts"
199
+ symbol: "ContextDocument"
200
+ type: "type"
201
+ tags:
202
+ - "lang:typescript"
203
+ - "kind:interface"
204
+ line: 216
205
+ hash: "9f60de3c4ec9"
206
+ kind: "interface"
207
+ signature: "{ version: string; project: string; _extraction: ExtractionMeta; stack: StackInfo; entities: Entity[];
208
+ components: Component[]; routes: Route[]; exports: ExportedSymbol[]; ... +7 more }"
209
+ - name: "Meta"
210
+ _meta:
211
+ file: "src/index.ts"
212
+ symbol: "Meta"
213
+ type: "type"
214
+ tags:
215
+ - "lang:typescript"
216
+ - "kind:interface"
217
+ line: 17
218
+ hash: "9f60de3c4ec9"
219
+ kind: "interface"
220
+ signature: "{ file: string; symbol: string; type: MetaType; tags?: string[] | undefined; line?: number | undefined;
221
+ hash?: string | undefined }"
222
+ - name: "MetaType"
223
+ _meta:
224
+ file: "src/index.ts"
225
+ symbol: "MetaType"
226
+ type: "type"
227
+ tags:
228
+ - "lang:typescript"
229
+ - "kind:type-alias"
230
+ line: 40
231
+ hash: "9f60de3c4ec9"
232
+ kind: "type"
233
+ signature: "\"function\" | \"entity\" | \"component\" | \"route\" | \"class\" | \"type\" | \"constant\" | \"middleware\"
234
+ | \"hook\" | \"config\""
235
+ - name: "StackInfo"
236
+ _meta:
237
+ file: "src/index.ts"
238
+ symbol: "StackInfo"
239
+ type: "type"
240
+ tags:
241
+ - "lang:typescript"
242
+ - "kind:type-alias"
243
+ line: 64
244
+ hash: "9f60de3c4ec9"
245
+ kind: "type"
246
+ signature: "{ [x: string]: string | string[]; }"
247
+ - name: "ExtractionMeta"
248
+ _meta:
249
+ file: "src/index.ts"
250
+ symbol: "ExtractionMeta"
251
+ type: "type"
252
+ tags:
253
+ - "lang:typescript"
254
+ - "kind:interface"
255
+ line: 67
256
+ hash: "9f60de3c4ec9"
257
+ kind: "interface"
258
+ signature: "{ extracted_at: string; sigil_version?: string | undefined; source_commit?: string | undefined;
259
+ extraction_ms?: number | undefined; plugins_used?: string[] | undefined }"
260
+ - name: "Entity"
261
+ _meta:
262
+ file: "src/index.ts"
263
+ symbol: "Entity"
264
+ type: "type"
265
+ tags:
266
+ - "lang:typescript"
267
+ - "kind:interface"
268
+ line: 79
269
+ hash: "9f60de3c4ec9"
270
+ kind: "interface"
271
+ signature: "{ name: string; _meta: Meta; fields: EntityField[]; relations: EntityRelation[] }"
272
+ - name: "EntityField"
273
+ _meta:
274
+ file: "src/index.ts"
275
+ symbol: "EntityField"
276
+ type: "type"
277
+ tags:
278
+ - "lang:typescript"
279
+ - "kind:interface"
280
+ line: 86
281
+ hash: "9f60de3c4ec9"
282
+ kind: "interface"
283
+ signature: "{ name: string; type: string; primary?: boolean | undefined; unique?: boolean | undefined; nullable?:
284
+ boolean | undefined; default?: string | undefined; references?: { table: string; column: string; } | undefined }"
285
+ - name: "EntityRelation"
286
+ _meta:
287
+ file: "src/index.ts"
288
+ symbol: "EntityRelation"
289
+ type: "type"
290
+ tags:
291
+ - "lang:typescript"
292
+ - "kind:interface"
293
+ line: 96
294
+ hash: "9f60de3c4ec9"
295
+ kind: "interface"
296
+ signature: "{ to: string; type: \"one-to-one\" | \"one-to-many\" | \"many-to-many\"; via?: string | undefined; through?:
297
+ string | undefined }"
298
+ - name: "Component"
299
+ _meta:
300
+ file: "src/index.ts"
301
+ symbol: "Component"
302
+ type: "type"
303
+ tags:
304
+ - "lang:typescript"
305
+ - "kind:interface"
306
+ line: 107
307
+ hash: "9f60de3c4ec9"
308
+ kind: "interface"
309
+ signature: "{ name: string; _meta: Meta; props: ComponentProp[]; dependencies: string[]; hooks: string[]; data_sources:
310
+ string[]; route?: string | undefined }"
311
+ - name: "ComponentProp"
312
+ _meta:
313
+ file: "src/index.ts"
314
+ symbol: "ComponentProp"
315
+ type: "type"
316
+ tags:
317
+ - "lang:typescript"
318
+ - "kind:interface"
319
+ line: 118
320
+ hash: "9f60de3c4ec9"
321
+ kind: "interface"
322
+ signature: "{ name: string; type: string; required?: boolean | undefined; default?: string | undefined }"
323
+ - name: "Route"
324
+ _meta:
325
+ file: "src/index.ts"
326
+ symbol: "Route"
327
+ type: "type"
328
+ tags:
329
+ - "lang:typescript"
330
+ - "kind:interface"
331
+ line: 129
332
+ hash: "9f60de3c4ec9"
333
+ kind: "interface"
334
+ signature: "{ path: string; _meta: Meta; methods: Record<string, RouteMethod> }"
335
+ - name: "RouteMethod"
336
+ _meta:
337
+ file: "src/index.ts"
338
+ symbol: "RouteMethod"
339
+ type: "type"
340
+ tags:
341
+ - "lang:typescript"
342
+ - "kind:interface"
343
+ line: 135
344
+ hash: "9f60de3c4ec9"
345
+ kind: "interface"
346
+ signature: "{ auth?: boolean | undefined; returns?: string | undefined; params?: string[] | undefined; body?: string |
347
+ undefined; description?: string | undefined }"
348
+ - name: "ExportedSymbol"
349
+ _meta:
350
+ file: "src/index.ts"
351
+ symbol: "ExportedSymbol"
352
+ type: "type"
353
+ tags:
354
+ - "lang:typescript"
355
+ - "kind:interface"
356
+ line: 147
357
+ hash: "9f60de3c4ec9"
358
+ kind: "interface"
359
+ signature: "{ name: string; _meta: Meta; kind: \"function\" | \"class\" | \"type\" | \"constant\" | \"interface\" ...;
360
+ signature?: string | undefined; description?: string | undefined }"
361
+ - name: "Patterns"
362
+ _meta:
363
+ file: "src/index.ts"
364
+ symbol: "Patterns"
365
+ type: "type"
366
+ tags:
367
+ - "lang:typescript"
368
+ - "kind:type-alias"
369
+ line: 164
370
+ hash: "9f60de3c4ec9"
371
+ kind: "type"
372
+ signature: "{ [x: string]: string; }"
373
+ - name: "Conventions"
374
+ _meta:
375
+ file: "src/index.ts"
376
+ symbol: "Conventions"
377
+ type: "type"
378
+ tags:
379
+ - "lang:typescript"
380
+ - "kind:type-alias"
381
+ line: 171
382
+ hash: "9f60de3c4ec9"
383
+ kind: "type"
384
+ signature: "{ [x: string]: string; }"
385
+ - name: "Dependency"
386
+ _meta:
387
+ file: "src/index.ts"
388
+ symbol: "Dependency"
389
+ type: "type"
390
+ tags:
391
+ - "lang:typescript"
392
+ - "kind:interface"
393
+ line: 177
394
+ hash: "9f60de3c4ec9"
395
+ kind: "interface"
396
+ signature: "{ name: string; version: string; dev?: boolean | undefined }"
397
+ - name: "CallEdge"
398
+ _meta:
399
+ file: "src/index.ts"
400
+ symbol: "CallEdge"
401
+ type: "type"
402
+ tags:
403
+ - "lang:typescript"
404
+ - "kind:interface"
405
+ line: 187
406
+ hash: "9f60de3c4ec9"
407
+ kind: "interface"
408
+ signature: "{ caller: string; callee: string; location: { file: string; line: number; }; data_flow?: { args: string[];
409
+ returns: string; } | undefined }"
410
+ - name: "ComponentEdge"
411
+ _meta:
412
+ file: "src/index.ts"
413
+ symbol: "ComponentEdge"
414
+ type: "type"
415
+ tags:
416
+ - "lang:typescript"
417
+ - "kind:interface"
418
+ line: 196
419
+ hash: "9f60de3c4ec9"
420
+ kind: "interface"
421
+ signature: "{ source: string; target: string; weight: number }"
422
+ - name: "EnvVar"
423
+ _meta:
424
+ file: "src/index.ts"
425
+ symbol: "EnvVar"
426
+ type: "type"
427
+ tags:
428
+ - "lang:typescript"
429
+ - "kind:interface"
430
+ line: 206
431
+ hash: "9f60de3c4ec9"
432
+ kind: "interface"
433
+ signature: "{ name: string; required: boolean; used_in: string[] }"
434
+ - name: "createEmptyDocument"
435
+ _meta:
436
+ file: "src/index.ts"
437
+ symbol: "createEmptyDocument"
438
+ type: "function"
439
+ tags:
440
+ - "lang:typescript"
441
+ line: 253
442
+ hash: "9f60de3c4ec9"
443
+ kind: "function"
444
+ signature: "(project: string) => ContextDocument"
445
+ - name: "ExtractorPlugin"
446
+ _meta:
447
+ file: "src/index.ts"
448
+ symbol: "ExtractorPlugin"
449
+ type: "type"
450
+ tags:
451
+ - "lang:typescript"
452
+ - "kind:interface"
453
+ line: 42
454
+ hash: "9f60de3c4ec9"
455
+ kind: "interface"
456
+ signature: "{ name: string; version: string; languages: string[] }"
457
+ - name: "ParsedProject"
458
+ _meta:
459
+ file: "src/index.ts"
460
+ symbol: "ParsedProject"
461
+ type: "type"
462
+ tags:
463
+ - "lang:typescript"
464
+ - "kind:interface"
465
+ line: 24
466
+ hash: "9f60de3c4ec9"
467
+ kind: "interface"
468
+ signature: "{ projectPath: string; sourceFiles: string[]; manifest?: Record<string, unknown> | undefined }"
469
+ - name: "ExtractResult"
470
+ _meta:
471
+ file: "src/index.ts"
472
+ symbol: "ExtractResult"
473
+ type: "type"
474
+ tags:
475
+ - "lang:typescript"
476
+ - "kind:type-alias"
477
+ line: 37
478
+ hash: "9f60de3c4ec9"
479
+ kind: "type"
480
+ signature: "{ stack?: import(\"/Users/riomyers/sigil/packages/core/src/schema\").StackInfo | undefined; entities?:
481
+ import(\"/Users/riomyers/sigil/packages/core/src/schema\").Entity[] | undefined; components?: impo..."
482
+ - name: "ApplyIntent"
483
+ _meta:
484
+ file: "src/index.ts"
485
+ symbol: "ApplyIntent"
486
+ type: "type"
487
+ tags:
488
+ - "lang:typescript"
489
+ - "kind:interface"
490
+ line: 106
491
+ hash: "9f60de3c4ec9"
492
+ kind: "interface"
493
+ signature: "{ type: IntentType; confidence: IntentConfidence; target_file?: string | undefined; target_symbol?: string |
494
+ undefined; description: string; old_value?: unknown; new_value?: unknown; priority: number }"
495
+ - name: "ApplyResult"
496
+ _meta:
497
+ file: "src/index.ts"
498
+ symbol: "ApplyResult"
499
+ type: "type"
500
+ tags:
501
+ - "lang:typescript"
502
+ - "kind:interface"
503
+ line: 117
504
+ hash: "9f60de3c4ec9"
505
+ kind: "interface"
506
+ signature: "{ intent: ApplyIntent; success: boolean; error?: string | undefined; files_created: string[];
507
+ files_modified: string[]; preview?: string | undefined; code?: string | undefined }"
508
+ - name: "IntentType"
509
+ _meta:
510
+ file: "src/index.ts"
511
+ symbol: "IntentType"
512
+ type: "type"
513
+ tags:
514
+ - "lang:typescript"
515
+ - "kind:type-alias"
516
+ line: 85
517
+ hash: "9f60de3c4ec9"
518
+ kind: "type"
519
+ signature: "\"AddEntity\" | \"RemoveEntity\" | \"AddField\" | \"RemoveField\" | \"ModifyField\" | \"RenameSymbol\" |
520
+ \"AddComponent\" | \"RemoveComponent\" | \"AddRoute\" | \"RemoveRoute\" | \"AddMethod\" | \"RemoveMethod\" |
521
+ \"Modify..."
522
+ - name: "IntentConfidence"
523
+ _meta:
524
+ file: "src/index.ts"
525
+ symbol: "IntentConfidence"
526
+ type: "type"
527
+ tags:
528
+ - "lang:typescript"
529
+ - "kind:type-alias"
530
+ line: 104
531
+ hash: "9f60de3c4ec9"
532
+ kind: "type"
533
+ signature: "\"deterministic\" | \"needs-ai\""
534
+ - name: "ProgressCallback"
535
+ _meta:
536
+ file: "src/index.ts"
537
+ symbol: "ProgressCallback"
538
+ type: "type"
539
+ tags:
540
+ - "lang:typescript"
541
+ - "kind:type-alias"
542
+ line: 186
543
+ hash: "9f60de3c4ec9"
544
+ kind: "type"
545
+ signature: "(event: ProgressEvent) => void"
546
+ - name: "ProgressEvent"
547
+ _meta:
548
+ file: "src/index.ts"
549
+ symbol: "ProgressEvent"
550
+ type: "type"
551
+ tags:
552
+ - "lang:typescript"
553
+ - "kind:interface"
554
+ line: 179
555
+ hash: "9f60de3c4ec9"
556
+ kind: "interface"
557
+ signature: "{ phase: ProgressPhase; plugin?: string | undefined; message: string; elapsed_ms?: number | undefined }"
558
+ - name: "ProgressPhase"
559
+ _meta:
560
+ file: "src/index.ts"
561
+ symbol: "ProgressPhase"
562
+ type: "type"
563
+ tags:
564
+ - "lang:typescript"
565
+ - "kind:type-alias"
566
+ line: 170
567
+ hash: "9f60de3c4ec9"
568
+ kind: "type"
569
+ signature: "\"init\" | \"detect\" | \"extract\" | \"merge\" | \"serialize\" | \"cache\" | \"done\""
570
+ - name: "registerPlugin"
571
+ _meta:
572
+ file: "src/index.ts"
573
+ symbol: "registerPlugin"
574
+ type: "function"
575
+ tags:
576
+ - "lang:typescript"
577
+ line: 134
578
+ hash: "9f60de3c4ec9"
579
+ kind: "function"
580
+ signature: "(plugin: ExtractorPlugin) => void"
581
+ - name: "getPlugins"
582
+ _meta:
583
+ file: "src/index.ts"
584
+ symbol: "getPlugins"
585
+ type: "function"
586
+ tags:
587
+ - "lang:typescript"
588
+ line: 145
589
+ hash: "9f60de3c4ec9"
590
+ kind: "function"
591
+ signature: "() => readonly ExtractorPlugin[]"
592
+ - name: "detectPlugins"
593
+ _meta:
594
+ file: "src/index.ts"
595
+ symbol: "detectPlugins"
596
+ type: "function"
597
+ tags:
598
+ - "lang:typescript"
599
+ line: 150
600
+ hash: "9f60de3c4ec9"
601
+ kind: "function"
602
+ signature: "(projectPath: string) => Promise<ExtractorPlugin[]>"
603
+ - name: "clearPlugins"
604
+ _meta:
605
+ file: "src/index.ts"
606
+ symbol: "clearPlugins"
607
+ type: "function"
608
+ tags:
609
+ - "lang:typescript"
610
+ line: 162
611
+ hash: "9f60de3c4ec9"
612
+ kind: "function"
613
+ signature: "() => void"
614
+ - name: "ExtractOptions"
615
+ _meta:
616
+ file: "src/index.ts"
617
+ symbol: "ExtractOptions"
618
+ type: "type"
619
+ tags:
620
+ - "lang:typescript"
621
+ - "kind:interface"
622
+ line: 25
623
+ hash: "9f60de3c4ec9"
624
+ kind: "interface"
625
+ signature: "{ projectPath: string; plugins?: string[] | undefined; onProgress?: ProgressCallback | undefined }"
626
+ - name: "extractContext"
627
+ _meta:
628
+ file: "src/index.ts"
629
+ symbol: "extractContext"
630
+ type: "function"
631
+ tags:
632
+ - "lang:typescript"
633
+ line: 42
634
+ hash: "9f60de3c4ec9"
635
+ kind: "function"
636
+ signature: "(opts: ExtractOptions) => Promise<ContextDocument>"
637
+ - name: "deduplicateExports"
638
+ _meta:
639
+ file: "src/index.ts"
640
+ symbol: "deduplicateExports"
641
+ type: "function"
642
+ tags:
643
+ - "lang:typescript"
644
+ line: 160
645
+ hash: "9f60de3c4ec9"
646
+ kind: "function"
647
+ signature: "(doc: ContextDocument) => void"
648
+ - name: "DiffResult"
649
+ _meta:
650
+ file: "src/index.ts"
651
+ symbol: "DiffResult"
652
+ type: "type"
653
+ tags:
654
+ - "lang:typescript"
655
+ - "kind:interface"
656
+ line: 43
657
+ hash: "9f60de3c4ec9"
658
+ kind: "interface"
659
+ signature: "{ summary: { total_changes: number; added: number; removed: number; ...; changes: Change<unknown>[];
660
+ stack_changes: Change<unknown>[]; pattern_changes: Change<unknown>[]; convention_changes: Change<unknown>[] }"
661
+ - name: "Change"
662
+ _meta:
663
+ file: "src/index.ts"
664
+ symbol: "Change"
665
+ type: "type"
666
+ tags:
667
+ - "lang:typescript"
668
+ - "kind:interface"
669
+ line: 34
670
+ hash: "9f60de3c4ec9"
671
+ kind: "interface"
672
+ signature: "{ type: ChangeType; name: string; category: ChangeCategory; old?: T | undefined; new?: T | undefined;
673
+ details?: string[] | undefined }"
674
+ - name: "ChangeType"
675
+ _meta:
676
+ file: "src/index.ts"
677
+ symbol: "ChangeType"
678
+ type: "type"
679
+ tags:
680
+ - "lang:typescript"
681
+ - "kind:type-alias"
682
+ line: 22
683
+ hash: "9f60de3c4ec9"
684
+ kind: "type"
685
+ signature: "\"added\" | \"removed\" | \"modified\" | \"renamed\""
686
+ - name: "ChangeCategory"
687
+ _meta:
688
+ file: "src/index.ts"
689
+ symbol: "ChangeCategory"
690
+ type: "type"
691
+ tags:
692
+ - "lang:typescript"
693
+ - "kind:type-alias"
694
+ line: 24
695
+ hash: "9f60de3c4ec9"
696
+ kind: "type"
697
+ signature: "\"entity\" | \"component\" | \"route\" | \"export\" | \"pattern\" | \"convention\" | \"stack\" | \"dependency\""
698
+ - name: "diffContexts"
699
+ _meta:
700
+ file: "src/index.ts"
701
+ symbol: "diffContexts"
702
+ type: "function"
703
+ tags:
704
+ - "lang:typescript"
705
+ line: 60
706
+ hash: "9f60de3c4ec9"
707
+ kind: "function"
708
+ signature: "(oldDoc: ContextDocument, newDoc: ContextDocument) => DiffResult"
709
+ - name: "formatDiff"
710
+ _meta:
711
+ file: "src/index.ts"
712
+ symbol: "formatDiff"
713
+ type: "function"
714
+ tags:
715
+ - "lang:typescript"
716
+ line: 372
717
+ hash: "9f60de3c4ec9"
718
+ kind: "function"
719
+ signature: "(result: DiffResult) => string"
720
+ - name: "serializeYaml"
721
+ _meta:
722
+ file: "src/index.ts"
723
+ symbol: "serializeYaml"
724
+ type: "function"
725
+ tags:
726
+ - "lang:typescript"
727
+ line: 18
728
+ hash: "9f60de3c4ec9"
729
+ kind: "function"
730
+ signature: "(doc: ContextDocument) => string"
731
+ - name: "serializeJson"
732
+ _meta:
733
+ file: "src/index.ts"
734
+ symbol: "serializeJson"
735
+ type: "function"
736
+ tags:
737
+ - "lang:typescript"
738
+ line: 62
739
+ hash: "9f60de3c4ec9"
740
+ kind: "function"
741
+ signature: "(doc: ContextDocument) => string"
742
+ - name: "deserializeYaml"
743
+ _meta:
744
+ file: "src/index.ts"
745
+ symbol: "deserializeYaml"
746
+ type: "function"
747
+ tags:
748
+ - "lang:typescript"
749
+ line: 70
750
+ hash: "9f60de3c4ec9"
751
+ kind: "function"
752
+ signature: "(yamlStr: string) => ContextDocument"
753
+ - name: "deserializeJson"
754
+ _meta:
755
+ file: "src/index.ts"
756
+ symbol: "deserializeJson"
757
+ type: "function"
758
+ tags:
759
+ - "lang:typescript"
760
+ line: 74
761
+ hash: "9f60de3c4ec9"
762
+ kind: "function"
763
+ signature: "(jsonStr: string) => ContextDocument"
764
+ - name: "writeContextFile"
765
+ _meta:
766
+ file: "src/index.ts"
767
+ symbol: "writeContextFile"
768
+ type: "function"
769
+ tags:
770
+ - "lang:typescript"
771
+ line: 82
772
+ hash: "9f60de3c4ec9"
773
+ kind: "function"
774
+ signature: "(doc: ContextDocument, outputPath: string, format: \"yaml\" | \"json\") => void"
775
+ - name: "readContextFile"
776
+ _meta:
777
+ file: "src/index.ts"
778
+ symbol: "readContextFile"
779
+ type: "function"
780
+ tags:
781
+ - "lang:typescript"
782
+ line: 91
783
+ hash: "9f60de3c4ec9"
784
+ kind: "function"
785
+ signature: "(inputPath: string) => ContextDocument"
786
+ - name: "FileCache"
787
+ _meta:
788
+ file: "src/index.ts"
789
+ symbol: "FileCache"
790
+ type: "type"
791
+ tags:
792
+ - "lang:typescript"
793
+ - "kind:interface"
794
+ line: 16
795
+ hash: "9f60de3c4ec9"
796
+ kind: "interface"
797
+ signature: "{ files: Record<string, { hash: string; mtime: number; }>; last_full_extract: string }"
798
+ - name: "ChangedFiles"
799
+ _meta:
800
+ file: "src/index.ts"
801
+ symbol: "ChangedFiles"
802
+ type: "type"
803
+ tags:
804
+ - "lang:typescript"
805
+ - "kind:interface"
806
+ line: 21
807
+ hash: "9f60de3c4ec9"
808
+ kind: "interface"
809
+ signature: "{ changed: string[]; unchanged: string[]; added: string[]; removed: string[] }"
810
+ - name: "readCache"
811
+ _meta:
812
+ file: "src/index.ts"
813
+ symbol: "readCache"
814
+ type: "function"
815
+ tags:
816
+ - "lang:typescript"
817
+ line: 42
818
+ hash: "9f60de3c4ec9"
819
+ kind: "function"
820
+ signature: "(projectPath: string) => FileCache | null"
821
+ - name: "writeCache"
822
+ _meta:
823
+ file: "src/index.ts"
824
+ symbol: "writeCache"
825
+ type: "function"
826
+ tags:
827
+ - "lang:typescript"
828
+ line: 52
829
+ hash: "9f60de3c4ec9"
830
+ kind: "function"
831
+ signature: "(projectPath: string, cache: FileCache) => void"
832
+ - name: "buildCacheFromFiles"
833
+ _meta:
834
+ file: "src/index.ts"
835
+ symbol: "buildCacheFromFiles"
836
+ type: "function"
837
+ tags:
838
+ - "lang:typescript"
839
+ line: 60
840
+ hash: "9f60de3c4ec9"
841
+ kind: "function"
842
+ signature: "(projectPath: string, files: string[]) => FileCache"
843
+ - name: "getChangedFiles"
844
+ _meta:
845
+ file: "src/index.ts"
846
+ symbol: "getChangedFiles"
847
+ type: "function"
848
+ tags:
849
+ - "lang:typescript"
850
+ line: 89
851
+ hash: "9f60de3c4ec9"
852
+ kind: "function"
853
+ signature: "(projectPath: string, currentFiles: string[], cache: FileCache) => ChangedFiles"
854
+ - name: "SafetyCheckpoint"
855
+ _meta:
856
+ file: "src/index.ts"
857
+ symbol: "SafetyCheckpoint"
858
+ type: "type"
859
+ tags:
860
+ - "lang:typescript"
861
+ - "kind:interface"
862
+ line: 15
863
+ hash: "9f60de3c4ec9"
864
+ kind: "interface"
865
+ signature: "{ hadDirtyFiles: boolean; stashCreated: boolean; originalHead: string }"
866
+ - name: "ValidationResult"
867
+ _meta:
868
+ file: "src/index.ts"
869
+ symbol: "ValidationResult"
870
+ type: "type"
871
+ tags:
872
+ - "lang:typescript"
873
+ - "kind:interface"
874
+ line: 83
875
+ hash: "9f60de3c4ec9"
876
+ kind: "interface"
877
+ signature: "{ typesOk: boolean; errors: string[] }"
878
+ - name: "ConfirmCallback"
879
+ _meta:
880
+ file: "src/index.ts"
881
+ symbol: "ConfirmCallback"
882
+ type: "type"
883
+ tags:
884
+ - "lang:typescript"
885
+ - "kind:type-alias"
886
+ line: 25
887
+ hash: "9f60de3c4ec9"
888
+ kind: "type"
889
+ signature: "(message: string) => boolean | Promise<boolean>"
890
+ - name: "preApplySafety"
891
+ _meta:
892
+ file: "src/index.ts"
893
+ symbol: "preApplySafety"
894
+ type: "function"
895
+ tags:
896
+ - "lang:typescript"
897
+ line: 30
898
+ hash: "9f60de3c4ec9"
899
+ kind: "function"
900
+ signature: "(projectPath: string, confirm: ConfirmCallback) => SafetyCheckpoint"
901
+ - name: "postApplyValidation"
902
+ _meta:
903
+ file: "src/index.ts"
904
+ symbol: "postApplyValidation"
905
+ type: "function"
906
+ tags:
907
+ - "lang:typescript"
908
+ line: 88
909
+ hash: "9f60de3c4ec9"
910
+ kind: "function"
911
+ signature: "(projectPath: string) => ValidationResult"
912
+ - name: "rollbackApply"
913
+ _meta:
914
+ file: "src/index.ts"
915
+ symbol: "rollbackApply"
916
+ type: "function"
917
+ tags:
918
+ - "lang:typescript"
919
+ line: 116
920
+ hash: "9f60de3c4ec9"
921
+ kind: "function"
922
+ signature: "(projectPath: string, checkpoint: SafetyCheckpoint, confirm: ConfirmCallback) => Promise<boolean>"
923
+ - name: "getGitStatus"
924
+ _meta:
925
+ file: "src/index.ts"
926
+ symbol: "getGitStatus"
927
+ type: "function"
928
+ tags:
929
+ - "lang:typescript"
930
+ line: 175
931
+ hash: "9f60de3c4ec9"
932
+ kind: "function"
933
+ signature: "(projectPath: string) => string"
934
+ - name: "registerPlugin"
935
+ _meta:
936
+ file: "src/plugin.ts"
937
+ symbol: "registerPlugin"
938
+ type: "function"
939
+ tags:
940
+ - "lang:typescript"
941
+ line: 134
942
+ hash: "c3fd1731e8ff"
943
+ kind: "function"
944
+ signature: "(plugin: ExtractorPlugin) => void"
945
+ - name: "getPlugins"
946
+ _meta:
947
+ file: "src/plugin.ts"
948
+ symbol: "getPlugins"
949
+ type: "function"
950
+ tags:
951
+ - "lang:typescript"
952
+ line: 145
953
+ hash: "c3fd1731e8ff"
954
+ kind: "function"
955
+ signature: "() => readonly ExtractorPlugin[]"
956
+ - name: "detectPlugins"
957
+ _meta:
958
+ file: "src/plugin.ts"
959
+ symbol: "detectPlugins"
960
+ type: "function"
961
+ tags:
962
+ - "lang:typescript"
963
+ line: 150
964
+ hash: "c3fd1731e8ff"
965
+ kind: "function"
966
+ signature: "(projectPath: string) => Promise<ExtractorPlugin[]>"
967
+ - name: "clearPlugins"
968
+ _meta:
969
+ file: "src/plugin.ts"
970
+ symbol: "clearPlugins"
971
+ type: "function"
972
+ tags:
973
+ - "lang:typescript"
974
+ line: 162
975
+ hash: "c3fd1731e8ff"
976
+ kind: "function"
977
+ signature: "() => void"
978
+ - name: "ParsedProject"
979
+ _meta:
980
+ file: "src/plugin.ts"
981
+ symbol: "ParsedProject"
982
+ type: "type"
983
+ tags:
984
+ - "lang:typescript"
985
+ - "kind:interface"
986
+ line: 24
987
+ hash: "c3fd1731e8ff"
988
+ kind: "interface"
989
+ signature: "{ projectPath: string; sourceFiles: string[]; manifest?: Record<string, unknown> | undefined }"
990
+ - name: "ExtractResult"
991
+ _meta:
992
+ file: "src/plugin.ts"
993
+ symbol: "ExtractResult"
994
+ type: "type"
995
+ tags:
996
+ - "lang:typescript"
997
+ - "kind:type-alias"
998
+ line: 37
999
+ hash: "c3fd1731e8ff"
1000
+ kind: "type"
1001
+ signature: "{ stack?: import(\"/Users/riomyers/sigil/packages/core/src/schema\").StackInfo | undefined; entities?:
1002
+ import(\"/Users/riomyers/sigil/packages/core/src/schema\").Entity[] | undefined; components?: impo..."
1003
+ - name: "ExtractorPlugin"
1004
+ _meta:
1005
+ file: "src/plugin.ts"
1006
+ symbol: "ExtractorPlugin"
1007
+ type: "type"
1008
+ tags:
1009
+ - "lang:typescript"
1010
+ - "kind:interface"
1011
+ line: 42
1012
+ hash: "c3fd1731e8ff"
1013
+ kind: "interface"
1014
+ signature: "{ name: string; version: string; languages: string[] }"
1015
+ - name: "IntentType"
1016
+ _meta:
1017
+ file: "src/plugin.ts"
1018
+ symbol: "IntentType"
1019
+ type: "type"
1020
+ tags:
1021
+ - "lang:typescript"
1022
+ - "kind:type-alias"
1023
+ line: 85
1024
+ hash: "c3fd1731e8ff"
1025
+ kind: "type"
1026
+ signature: "\"AddEntity\" | \"RemoveEntity\" | \"AddField\" | \"RemoveField\" | \"ModifyField\" | \"RenameSymbol\" |
1027
+ \"AddComponent\" | \"RemoveComponent\" | \"AddRoute\" | \"RemoveRoute\" | \"AddMethod\" | \"RemoveMethod\" |
1028
+ \"Modify..."
1029
+ - name: "IntentConfidence"
1030
+ _meta:
1031
+ file: "src/plugin.ts"
1032
+ symbol: "IntentConfidence"
1033
+ type: "type"
1034
+ tags:
1035
+ - "lang:typescript"
1036
+ - "kind:type-alias"
1037
+ line: 104
1038
+ hash: "c3fd1731e8ff"
1039
+ kind: "type"
1040
+ signature: "\"deterministic\" | \"needs-ai\""
1041
+ - name: "ApplyIntent"
1042
+ _meta:
1043
+ file: "src/plugin.ts"
1044
+ symbol: "ApplyIntent"
1045
+ type: "type"
1046
+ tags:
1047
+ - "lang:typescript"
1048
+ - "kind:interface"
1049
+ line: 106
1050
+ hash: "c3fd1731e8ff"
1051
+ kind: "interface"
1052
+ signature: "{ type: IntentType; confidence: IntentConfidence; target_file?: string | undefined; target_symbol?: string |
1053
+ undefined; description: string; old_value?: unknown; new_value?: unknown; priority: number }"
1054
+ - name: "ApplyResult"
1055
+ _meta:
1056
+ file: "src/plugin.ts"
1057
+ symbol: "ApplyResult"
1058
+ type: "type"
1059
+ tags:
1060
+ - "lang:typescript"
1061
+ - "kind:interface"
1062
+ line: 117
1063
+ hash: "c3fd1731e8ff"
1064
+ kind: "interface"
1065
+ signature: "{ intent: ApplyIntent; success: boolean; error?: string | undefined; files_created: string[];
1066
+ files_modified: string[]; preview?: string | undefined; code?: string | undefined }"
1067
+ - name: "ProgressPhase"
1068
+ _meta:
1069
+ file: "src/plugin.ts"
1070
+ symbol: "ProgressPhase"
1071
+ type: "type"
1072
+ tags:
1073
+ - "lang:typescript"
1074
+ - "kind:type-alias"
1075
+ line: 170
1076
+ hash: "c3fd1731e8ff"
1077
+ kind: "type"
1078
+ signature: "\"init\" | \"detect\" | \"extract\" | \"merge\" | \"serialize\" | \"cache\" | \"done\""
1079
+ - name: "ProgressEvent"
1080
+ _meta:
1081
+ file: "src/plugin.ts"
1082
+ symbol: "ProgressEvent"
1083
+ type: "type"
1084
+ tags:
1085
+ - "lang:typescript"
1086
+ - "kind:interface"
1087
+ line: 179
1088
+ hash: "c3fd1731e8ff"
1089
+ kind: "interface"
1090
+ signature: "{ phase: ProgressPhase; plugin?: string | undefined; message: string; elapsed_ms?: number | undefined }"
1091
+ - name: "ProgressCallback"
1092
+ _meta:
1093
+ file: "src/plugin.ts"
1094
+ symbol: "ProgressCallback"
1095
+ type: "type"
1096
+ tags:
1097
+ - "lang:typescript"
1098
+ - "kind:type-alias"
1099
+ line: 186
1100
+ hash: "c3fd1731e8ff"
1101
+ kind: "type"
1102
+ signature: "(event: ProgressEvent) => void"
1103
+ - name: "preApplySafety"
1104
+ _meta:
1105
+ file: "src/safety.ts"
1106
+ symbol: "preApplySafety"
1107
+ type: "function"
1108
+ tags:
1109
+ - "lang:typescript"
1110
+ line: 30
1111
+ hash: "50ef114baea3"
1112
+ kind: "function"
1113
+ signature: "(projectPath: string, confirm: ConfirmCallback) => SafetyCheckpoint"
1114
+ - name: "postApplyValidation"
1115
+ _meta:
1116
+ file: "src/safety.ts"
1117
+ symbol: "postApplyValidation"
1118
+ type: "function"
1119
+ tags:
1120
+ - "lang:typescript"
1121
+ line: 88
1122
+ hash: "50ef114baea3"
1123
+ kind: "function"
1124
+ signature: "(projectPath: string) => ValidationResult"
1125
+ - name: "rollbackApply"
1126
+ _meta:
1127
+ file: "src/safety.ts"
1128
+ symbol: "rollbackApply"
1129
+ type: "function"
1130
+ tags:
1131
+ - "lang:typescript"
1132
+ line: 116
1133
+ hash: "50ef114baea3"
1134
+ kind: "function"
1135
+ signature: "(projectPath: string, checkpoint: SafetyCheckpoint, confirm: ConfirmCallback) => Promise<boolean>"
1136
+ - name: "getGitStatus"
1137
+ _meta:
1138
+ file: "src/safety.ts"
1139
+ symbol: "getGitStatus"
1140
+ type: "function"
1141
+ tags:
1142
+ - "lang:typescript"
1143
+ line: 175
1144
+ hash: "50ef114baea3"
1145
+ kind: "function"
1146
+ signature: "(projectPath: string) => string"
1147
+ - name: "SafetyCheckpoint"
1148
+ _meta:
1149
+ file: "src/safety.ts"
1150
+ symbol: "SafetyCheckpoint"
1151
+ type: "type"
1152
+ tags:
1153
+ - "lang:typescript"
1154
+ - "kind:interface"
1155
+ line: 15
1156
+ hash: "50ef114baea3"
1157
+ kind: "interface"
1158
+ signature: "{ hadDirtyFiles: boolean; stashCreated: boolean; originalHead: string }"
1159
+ - name: "ConfirmCallback"
1160
+ _meta:
1161
+ file: "src/safety.ts"
1162
+ symbol: "ConfirmCallback"
1163
+ type: "type"
1164
+ tags:
1165
+ - "lang:typescript"
1166
+ - "kind:type-alias"
1167
+ line: 25
1168
+ hash: "50ef114baea3"
1169
+ kind: "type"
1170
+ signature: "(message: string) => boolean | Promise<boolean>"
1171
+ - name: "ValidationResult"
1172
+ _meta:
1173
+ file: "src/safety.ts"
1174
+ symbol: "ValidationResult"
1175
+ type: "type"
1176
+ tags:
1177
+ - "lang:typescript"
1178
+ - "kind:interface"
1179
+ line: 83
1180
+ hash: "50ef114baea3"
1181
+ kind: "interface"
1182
+ signature: "{ typesOk: boolean; errors: string[] }"
1183
+ - name: "createEmptyDocument"
1184
+ _meta:
1185
+ file: "src/schema.ts"
1186
+ symbol: "createEmptyDocument"
1187
+ type: "function"
1188
+ tags:
1189
+ - "lang:typescript"
1190
+ line: 253
1191
+ hash: "1b44a4f6da92"
1192
+ kind: "function"
1193
+ signature: "(project: string) => ContextDocument"
1194
+ - name: "Meta"
1195
+ _meta:
1196
+ file: "src/schema.ts"
1197
+ symbol: "Meta"
1198
+ type: "type"
1199
+ tags:
1200
+ - "lang:typescript"
1201
+ - "kind:interface"
1202
+ line: 17
1203
+ hash: "1b44a4f6da92"
1204
+ kind: "interface"
1205
+ signature: "{ file: string; symbol: string; type: MetaType; tags?: string[] | undefined; line?: number | undefined;
1206
+ hash?: string | undefined }"
1207
+ - name: "MetaType"
1208
+ _meta:
1209
+ file: "src/schema.ts"
1210
+ symbol: "MetaType"
1211
+ type: "type"
1212
+ tags:
1213
+ - "lang:typescript"
1214
+ - "kind:type-alias"
1215
+ line: 40
1216
+ hash: "1b44a4f6da92"
1217
+ kind: "type"
1218
+ signature: "\"function\" | \"entity\" | \"component\" | \"route\" | \"class\" | \"type\" | \"constant\" | \"middleware\"
1219
+ | \"hook\" | \"config\""
1220
+ - name: "StackInfo"
1221
+ _meta:
1222
+ file: "src/schema.ts"
1223
+ symbol: "StackInfo"
1224
+ type: "type"
1225
+ tags:
1226
+ - "lang:typescript"
1227
+ - "kind:type-alias"
1228
+ line: 64
1229
+ hash: "1b44a4f6da92"
1230
+ kind: "type"
1231
+ signature: "{ [x: string]: string | string[]; }"
1232
+ - name: "ExtractionMeta"
1233
+ _meta:
1234
+ file: "src/schema.ts"
1235
+ symbol: "ExtractionMeta"
1236
+ type: "type"
1237
+ tags:
1238
+ - "lang:typescript"
1239
+ - "kind:interface"
1240
+ line: 67
1241
+ hash: "1b44a4f6da92"
1242
+ kind: "interface"
1243
+ signature: "{ extracted_at: string; sigil_version?: string | undefined; source_commit?: string | undefined;
1244
+ extraction_ms?: number | undefined; plugins_used?: string[] | undefined }"
1245
+ - name: "Entity"
1246
+ _meta:
1247
+ file: "src/schema.ts"
1248
+ symbol: "Entity"
1249
+ type: "type"
1250
+ tags:
1251
+ - "lang:typescript"
1252
+ - "kind:interface"
1253
+ line: 79
1254
+ hash: "1b44a4f6da92"
1255
+ kind: "interface"
1256
+ signature: "{ name: string; _meta: Meta; fields: EntityField[]; relations: EntityRelation[] }"
1257
+ - name: "EntityField"
1258
+ _meta:
1259
+ file: "src/schema.ts"
1260
+ symbol: "EntityField"
1261
+ type: "type"
1262
+ tags:
1263
+ - "lang:typescript"
1264
+ - "kind:interface"
1265
+ line: 86
1266
+ hash: "1b44a4f6da92"
1267
+ kind: "interface"
1268
+ signature: "{ name: string; type: string; primary?: boolean | undefined; unique?: boolean | undefined; nullable?:
1269
+ boolean | undefined; default?: string | undefined; references?: { table: string; column: string; } | undefined }"
1270
+ - name: "EntityRelation"
1271
+ _meta:
1272
+ file: "src/schema.ts"
1273
+ symbol: "EntityRelation"
1274
+ type: "type"
1275
+ tags:
1276
+ - "lang:typescript"
1277
+ - "kind:interface"
1278
+ line: 96
1279
+ hash: "1b44a4f6da92"
1280
+ kind: "interface"
1281
+ signature: "{ to: string; type: \"one-to-one\" | \"one-to-many\" | \"many-to-many\"; via?: string | undefined; through?:
1282
+ string | undefined }"
1283
+ - name: "Component"
1284
+ _meta:
1285
+ file: "src/schema.ts"
1286
+ symbol: "Component"
1287
+ type: "type"
1288
+ tags:
1289
+ - "lang:typescript"
1290
+ - "kind:interface"
1291
+ line: 107
1292
+ hash: "1b44a4f6da92"
1293
+ kind: "interface"
1294
+ signature: "{ name: string; _meta: Meta; props: ComponentProp[]; dependencies: string[]; hooks: string[]; data_sources:
1295
+ string[]; route?: string | undefined }"
1296
+ - name: "ComponentProp"
1297
+ _meta:
1298
+ file: "src/schema.ts"
1299
+ symbol: "ComponentProp"
1300
+ type: "type"
1301
+ tags:
1302
+ - "lang:typescript"
1303
+ - "kind:interface"
1304
+ line: 118
1305
+ hash: "1b44a4f6da92"
1306
+ kind: "interface"
1307
+ signature: "{ name: string; type: string; required?: boolean | undefined; default?: string | undefined }"
1308
+ - name: "Route"
1309
+ _meta:
1310
+ file: "src/schema.ts"
1311
+ symbol: "Route"
1312
+ type: "type"
1313
+ tags:
1314
+ - "lang:typescript"
1315
+ - "kind:interface"
1316
+ line: 129
1317
+ hash: "1b44a4f6da92"
1318
+ kind: "interface"
1319
+ signature: "{ path: string; _meta: Meta; methods: Record<string, RouteMethod> }"
1320
+ - name: "RouteMethod"
1321
+ _meta:
1322
+ file: "src/schema.ts"
1323
+ symbol: "RouteMethod"
1324
+ type: "type"
1325
+ tags:
1326
+ - "lang:typescript"
1327
+ - "kind:interface"
1328
+ line: 135
1329
+ hash: "1b44a4f6da92"
1330
+ kind: "interface"
1331
+ signature: "{ auth?: boolean | undefined; returns?: string | undefined; params?: string[] | undefined; body?: string |
1332
+ undefined; description?: string | undefined }"
1333
+ - name: "ExportedSymbol"
1334
+ _meta:
1335
+ file: "src/schema.ts"
1336
+ symbol: "ExportedSymbol"
1337
+ type: "type"
1338
+ tags:
1339
+ - "lang:typescript"
1340
+ - "kind:interface"
1341
+ line: 147
1342
+ hash: "1b44a4f6da92"
1343
+ kind: "interface"
1344
+ signature: "{ name: string; _meta: Meta; kind: \"function\" | \"class\" | \"type\" | \"constant\" | \"interface\" ...;
1345
+ signature?: string | undefined; description?: string | undefined }"
1346
+ - name: "Patterns"
1347
+ _meta:
1348
+ file: "src/schema.ts"
1349
+ symbol: "Patterns"
1350
+ type: "type"
1351
+ tags:
1352
+ - "lang:typescript"
1353
+ - "kind:type-alias"
1354
+ line: 164
1355
+ hash: "1b44a4f6da92"
1356
+ kind: "type"
1357
+ signature: "{ [x: string]: string; }"
1358
+ - name: "Conventions"
1359
+ _meta:
1360
+ file: "src/schema.ts"
1361
+ symbol: "Conventions"
1362
+ type: "type"
1363
+ tags:
1364
+ - "lang:typescript"
1365
+ - "kind:type-alias"
1366
+ line: 171
1367
+ hash: "1b44a4f6da92"
1368
+ kind: "type"
1369
+ signature: "{ [x: string]: string; }"
1370
+ - name: "Dependency"
1371
+ _meta:
1372
+ file: "src/schema.ts"
1373
+ symbol: "Dependency"
1374
+ type: "type"
1375
+ tags:
1376
+ - "lang:typescript"
1377
+ - "kind:interface"
1378
+ line: 177
1379
+ hash: "1b44a4f6da92"
1380
+ kind: "interface"
1381
+ signature: "{ name: string; version: string; dev?: boolean | undefined }"
1382
+ - name: "CallEdge"
1383
+ _meta:
1384
+ file: "src/schema.ts"
1385
+ symbol: "CallEdge"
1386
+ type: "type"
1387
+ tags:
1388
+ - "lang:typescript"
1389
+ - "kind:interface"
1390
+ line: 187
1391
+ hash: "1b44a4f6da92"
1392
+ kind: "interface"
1393
+ signature: "{ caller: string; callee: string; location: { file: string; line: number; }; data_flow?: { args: string[];
1394
+ returns: string; } | undefined }"
1395
+ - name: "ComponentEdge"
1396
+ _meta:
1397
+ file: "src/schema.ts"
1398
+ symbol: "ComponentEdge"
1399
+ type: "type"
1400
+ tags:
1401
+ - "lang:typescript"
1402
+ - "kind:interface"
1403
+ line: 196
1404
+ hash: "1b44a4f6da92"
1405
+ kind: "interface"
1406
+ signature: "{ source: string; target: string; weight: number }"
1407
+ - name: "EnvVar"
1408
+ _meta:
1409
+ file: "src/schema.ts"
1410
+ symbol: "EnvVar"
1411
+ type: "type"
1412
+ tags:
1413
+ - "lang:typescript"
1414
+ - "kind:interface"
1415
+ line: 206
1416
+ hash: "1b44a4f6da92"
1417
+ kind: "interface"
1418
+ signature: "{ name: string; required: boolean; used_in: string[] }"
1419
+ - name: "ContextDocument"
1420
+ _meta:
1421
+ file: "src/schema.ts"
1422
+ symbol: "ContextDocument"
1423
+ type: "type"
1424
+ tags:
1425
+ - "lang:typescript"
1426
+ - "kind:interface"
1427
+ line: 216
1428
+ hash: "1b44a4f6da92"
1429
+ kind: "interface"
1430
+ signature: "{ version: string; project: string; _extraction: ExtractionMeta; stack: StackInfo; entities: Entity[];
1431
+ components: Component[]; routes: Route[]; exports: ExportedSymbol[]; ... +7 more }"
1432
+ - name: "serializeYaml"
1433
+ _meta:
1434
+ file: "src/serialize.ts"
1435
+ symbol: "serializeYaml"
1436
+ type: "function"
1437
+ tags:
1438
+ - "lang:typescript"
1439
+ line: 18
1440
+ hash: "16cf6a73f630"
1441
+ kind: "function"
1442
+ signature: "(doc: ContextDocument) => string"
1443
+ - name: "serializeJson"
1444
+ _meta:
1445
+ file: "src/serialize.ts"
1446
+ symbol: "serializeJson"
1447
+ type: "function"
1448
+ tags:
1449
+ - "lang:typescript"
1450
+ line: 62
1451
+ hash: "16cf6a73f630"
1452
+ kind: "function"
1453
+ signature: "(doc: ContextDocument) => string"
1454
+ - name: "deserializeYaml"
1455
+ _meta:
1456
+ file: "src/serialize.ts"
1457
+ symbol: "deserializeYaml"
1458
+ type: "function"
1459
+ tags:
1460
+ - "lang:typescript"
1461
+ line: 70
1462
+ hash: "16cf6a73f630"
1463
+ kind: "function"
1464
+ signature: "(yamlStr: string) => ContextDocument"
1465
+ - name: "deserializeJson"
1466
+ _meta:
1467
+ file: "src/serialize.ts"
1468
+ symbol: "deserializeJson"
1469
+ type: "function"
1470
+ tags:
1471
+ - "lang:typescript"
1472
+ line: 74
1473
+ hash: "16cf6a73f630"
1474
+ kind: "function"
1475
+ signature: "(jsonStr: string) => ContextDocument"
1476
+ - name: "writeContextFile"
1477
+ _meta:
1478
+ file: "src/serialize.ts"
1479
+ symbol: "writeContextFile"
1480
+ type: "function"
1481
+ tags:
1482
+ - "lang:typescript"
1483
+ line: 82
1484
+ hash: "16cf6a73f630"
1485
+ kind: "function"
1486
+ signature: "(doc: ContextDocument, outputPath: string, format: \"yaml\" | \"json\") => void"
1487
+ - name: "readContextFile"
1488
+ _meta:
1489
+ file: "src/serialize.ts"
1490
+ symbol: "readContextFile"
1491
+ type: "function"
1492
+ tags:
1493
+ - "lang:typescript"
1494
+ line: 91
1495
+ hash: "16cf6a73f630"
1496
+ kind: "function"
1497
+ signature: "(inputPath: string) => ContextDocument"
1498
+ call_graph:
1499
+ - caller: "src/cache.ts::readCache"
1500
+ callee: "src/cache.ts::cachePath"
1501
+ location:
1502
+ file: "src/cache.ts"
1503
+ line: 43
1504
+ data_flow:
1505
+ args:
1506
+ - "string"
1507
+ returns: "string"
1508
+ - caller: "src/cache.ts::writeCache"
1509
+ callee: "src/cache.ts::cachePath"
1510
+ location:
1511
+ file: "src/cache.ts"
1512
+ line: 53
1513
+ data_flow:
1514
+ args:
1515
+ - "string"
1516
+ returns: "string"
1517
+ - caller: "src/diff.ts::diffContexts"
1518
+ callee: "src/diff.ts::diffNamedList"
1519
+ location:
1520
+ file: "src/diff.ts"
1521
+ line: 63
1522
+ data_flow:
1523
+ args:
1524
+ - "T[]"
1525
+ - "T[]"
1526
+ - "ChangeCategory"
1527
+ - "(old: T, neu: T) => string[]"
1528
+ returns: "Change<unknown>[]"
1529
+ - caller: "src/diff.ts::diffContexts"
1530
+ callee: "src/diff.ts::diffByKey"
1531
+ location:
1532
+ file: "src/diff.ts"
1533
+ line: 65
1534
+ data_flow:
1535
+ args:
1536
+ - "T[]"
1537
+ - "T[]"
1538
+ - "ChangeCategory"
1539
+ - "(item: T) => string"
1540
+ - "(old: T, neu: T) => string[]"
1541
+ returns: "Change<unknown>[]"
1542
+ - caller: "src/diff.ts::diffContexts"
1543
+ callee: "src/diff.ts::diffDependencies"
1544
+ location:
1545
+ file: "src/diff.ts"
1546
+ line: 67
1547
+ data_flow:
1548
+ args:
1549
+ - "ContextDocument"
1550
+ - "ContextDocument"
1551
+ returns: "Change<unknown>[]"
1552
+ - caller: "src/diff.ts::diffContexts"
1553
+ callee: "src/diff.ts::diffRecord"
1554
+ location:
1555
+ file: "src/diff.ts"
1556
+ line: 69
1557
+ data_flow:
1558
+ args:
1559
+ - "Record<string, unknown>"
1560
+ - "Record<string, unknown>"
1561
+ - "ChangeCategory"
1562
+ returns: "Change<unknown>[]"
1563
+ - caller: "src/diff.ts::diffNamedList"
1564
+ callee: "src/diff.ts::detailDiff"
1565
+ location:
1566
+ file: "src/diff.ts"
1567
+ line: 131
1568
+ data_flow:
1569
+ args:
1570
+ - "T"
1571
+ - "T"
1572
+ returns: "string[]"
1573
+ - caller: "src/diff.ts::<anonymous>"
1574
+ callee: "src/diff.ts::keyFn"
1575
+ location:
1576
+ file: "src/diff.ts"
1577
+ line: 173
1578
+ data_flow:
1579
+ args:
1580
+ - "T"
1581
+ returns: "string"
1582
+ - caller: "src/diff.ts::diffByKey"
1583
+ callee: "src/diff.ts::detailDiff"
1584
+ location:
1585
+ file: "src/diff.ts"
1586
+ line: 181
1587
+ data_flow:
1588
+ args:
1589
+ - "T"
1590
+ - "T"
1591
+ returns: "string[]"
1592
+ - caller: "src/diff.ts::diffRecord"
1593
+ callee: "src/diff.ts::deepEqual"
1594
+ location:
1595
+ file: "src/diff.ts"
1596
+ line: 217
1597
+ data_flow:
1598
+ args:
1599
+ - "unknown"
1600
+ - "unknown"
1601
+ returns: "boolean"
1602
+ - caller: "src/diff.ts::<anonymous>"
1603
+ callee: "src/diff.ts::deepEqual"
1604
+ location:
1605
+ file: "src/diff.ts"
1606
+ line: 353
1607
+ data_flow:
1608
+ args:
1609
+ - "unknown"
1610
+ - "unknown"
1611
+ returns: "boolean"
1612
+ - caller: "src/extract.ts::extractContext"
1613
+ callee: "src/extract.ts::inferProjectName"
1614
+ location:
1615
+ file: "src/extract.ts"
1616
+ line: 45
1617
+ data_flow:
1618
+ args:
1619
+ - "string"
1620
+ returns: "string"
1621
+ - caller: "src/extract.ts::extractContext"
1622
+ callee: "src/plugin.ts::progress"
1623
+ location:
1624
+ file: "src/extract.ts"
1625
+ line: 48
1626
+ data_flow:
1627
+ args:
1628
+ - "ProgressEvent"
1629
+ returns: "void"
1630
+ - caller: "src/extract.ts::extractContext"
1631
+ callee: "src/plugin.ts::getPlugins"
1632
+ location:
1633
+ file: "src/extract.ts"
1634
+ line: 56
1635
+ data_flow:
1636
+ args: []
1637
+ returns: "readonly ExtractorPlugin[]"
1638
+ - caller: "src/extract.ts::extractContext"
1639
+ callee: "src/plugin.ts::detectPlugins"
1640
+ location:
1641
+ file: "src/extract.ts"
1642
+ line: 66
1643
+ data_flow:
1644
+ args:
1645
+ - "string"
1646
+ returns: "Promise<ExtractorPlugin[]>"
1647
+ - caller: "src/extract.ts::extractContext"
1648
+ callee: "src/schema.ts::createEmptyDocument"
1649
+ location:
1650
+ file: "src/extract.ts"
1651
+ line: 81
1652
+ data_flow:
1653
+ args:
1654
+ - "string"
1655
+ returns: "ContextDocument"
1656
+ - caller: "src/extract.ts::extractContext"
1657
+ callee: "src/plugin.ts::init"
1658
+ location:
1659
+ file: "src/extract.ts"
1660
+ line: 91
1661
+ data_flow:
1662
+ args:
1663
+ - "string"
1664
+ returns: "ParsedProject | Promise<ParsedProject>"
1665
+ - caller: "src/extract.ts::extractContext"
1666
+ callee: "src/plugin.ts::extract"
1667
+ location:
1668
+ file: "src/extract.ts"
1669
+ line: 99
1670
+ data_flow:
1671
+ args:
1672
+ - "ParsedProject"
1673
+ returns: "Partial<Omit<ContextDocument, \"version\" | \"project\" | \"_extraction\">> | Promise<Partial<Omit<Cont..."
1674
+ - caller: "src/extract.ts::extractContext"
1675
+ callee: "src/extract.ts::mergeResult"
1676
+ location:
1677
+ file: "src/extract.ts"
1678
+ line: 107
1679
+ data_flow:
1680
+ args:
1681
+ - "ContextDocument"
1682
+ - "Partial<Omit<ContextDocument, \"version\" | \"project\" | \"_extraction\">>"
1683
+ returns: "void"
1684
+ - caller: "src/extract.ts::extractContext"
1685
+ callee: "src/extract.ts::getGitCommit"
1686
+ location:
1687
+ file: "src/extract.ts"
1688
+ line: 115
1689
+ data_flow:
1690
+ args:
1691
+ - "string"
1692
+ returns: "string | undefined"
1693
+ - caller: "src/extract.ts::inferProjectName"
1694
+ callee: "unknown::startsWith"
1695
+ location:
1696
+ file: "src/extract.ts"
1697
+ line: 177
1698
+ - caller: "src/extract.ts::inferProjectName"
1699
+ callee: "unknown::pop"
1700
+ location:
1701
+ file: "src/extract.ts"
1702
+ line: 178
1703
+ - caller: "src/extract.ts::inferProjectName"
1704
+ callee: "unknown::split"
1705
+ location:
1706
+ file: "src/extract.ts"
1707
+ line: 178
1708
+ - caller: "src/plugin.ts::detectPlugins"
1709
+ callee: "src/plugin.ts::detect"
1710
+ location:
1711
+ file: "src/plugin.ts"
1712
+ line: 153
1713
+ data_flow:
1714
+ args:
1715
+ - "string"
1716
+ returns: "boolean | Promise<boolean>"
1717
+ - caller: "src/safety.ts::rollbackApply"
1718
+ callee: "src/safety.ts::confirm"
1719
+ location:
1720
+ file: "src/safety.ts"
1721
+ line: 124
1722
+ data_flow:
1723
+ args:
1724
+ - "string"
1725
+ returns: "boolean | Promise<boolean>"
1726
+ - caller: "src/serialize.ts::writeContextFile"
1727
+ callee: "src/serialize.ts::serializeJson"
1728
+ location:
1729
+ file: "src/serialize.ts"
1730
+ line: 87
1731
+ data_flow:
1732
+ args:
1733
+ - "ContextDocument"
1734
+ returns: "string"
1735
+ - caller: "src/serialize.ts::writeContextFile"
1736
+ callee: "src/serialize.ts::serializeYaml"
1737
+ location:
1738
+ file: "src/serialize.ts"
1739
+ line: 87
1740
+ data_flow:
1741
+ args:
1742
+ - "ContextDocument"
1743
+ returns: "string"
1744
+ - caller: "src/serialize.ts::readContextFile"
1745
+ callee: "src/serialize.ts::deserializeJson"
1746
+ location:
1747
+ file: "src/serialize.ts"
1748
+ line: 94
1749
+ data_flow:
1750
+ args:
1751
+ - "string"
1752
+ returns: "ContextDocument"
1753
+ - caller: "src/serialize.ts::readContextFile"
1754
+ callee: "src/serialize.ts::deserializeYaml"
1755
+ location:
1756
+ file: "src/serialize.ts"
1757
+ line: 96
1758
+ data_flow:
1759
+ args:
1760
+ - "string"
1761
+ returns: "ContextDocument"
1762
+ component_graph:
1763
+ - source: "src/extract.ts"
1764
+ target: "src/plugin.ts"
1765
+ weight: 5
1766
+ - source: "src/extract.ts"
1767
+ target: "unknown"
1768
+ weight: 3
1769
+ - source: "src/extract.ts"
1770
+ target: "src/schema.ts"
1771
+ weight: 1
1772
+ env_vars: []
1773
+ patterns: {}
1774
+ conventions: {}
1775
+ dependencies:
1776
+ - name: "yaml"
1777
+ version: "^2.7.0"
1778
+ - name: "glob"
1779
+ version: "^11.0.0"
1780
+ - name: "typescript"
1781
+ version: "^5.7.0"
1782
+ dev: true
1783
+ - name: "@types/node"
1784
+ version: "^22.0.0"
1785
+ dev: true
1786
+ - name: "vitest"
1787
+ version: "^3.0.0"
1788
+ dev: true