@anatomytool/validate 1.0.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.
Files changed (156) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +127 -0
  3. package/dist/canonical.d.ts +21 -0
  4. package/dist/canonical.d.ts.map +1 -0
  5. package/dist/canonical.js +76 -0
  6. package/dist/canonical.js.map +1 -0
  7. package/dist/checks/commands-no-test-warn.d.ts +6 -0
  8. package/dist/checks/commands-no-test-warn.d.ts.map +1 -0
  9. package/dist/checks/commands-no-test-warn.js +35 -0
  10. package/dist/checks/commands-no-test-warn.js.map +1 -0
  11. package/dist/checks/description-warn.d.ts +6 -0
  12. package/dist/checks/description-warn.d.ts.map +1 -0
  13. package/dist/checks/description-warn.js +23 -0
  14. package/dist/checks/description-warn.js.map +1 -0
  15. package/dist/checks/entry-point-alias-warn.d.ts +6 -0
  16. package/dist/checks/entry-point-alias-warn.d.ts.map +1 -0
  17. package/dist/checks/entry-point-alias-warn.js +25 -0
  18. package/dist/checks/entry-point-alias-warn.js.map +1 -0
  19. package/dist/checks/fingerprint-check.d.ts +6 -0
  20. package/dist/checks/fingerprint-check.d.ts.map +1 -0
  21. package/dist/checks/fingerprint-check.js +59 -0
  22. package/dist/checks/fingerprint-check.js.map +1 -0
  23. package/dist/checks/hash-check.d.ts +6 -0
  24. package/dist/checks/hash-check.d.ts.map +1 -0
  25. package/dist/checks/hash-check.js +36 -0
  26. package/dist/checks/hash-check.js.map +1 -0
  27. package/dist/checks/interface-form-check.d.ts +6 -0
  28. package/dist/checks/interface-form-check.d.ts.map +1 -0
  29. package/dist/checks/interface-form-check.js +66 -0
  30. package/dist/checks/interface-form-check.js.map +1 -0
  31. package/dist/checks/memory-dangling-ref-check.d.ts +6 -0
  32. package/dist/checks/memory-dangling-ref-check.d.ts.map +1 -0
  33. package/dist/checks/memory-dangling-ref-check.js +34 -0
  34. package/dist/checks/memory-dangling-ref-check.js.map +1 -0
  35. package/dist/checks/memory-fingerprint-check.d.ts +6 -0
  36. package/dist/checks/memory-fingerprint-check.d.ts.map +1 -0
  37. package/dist/checks/memory-fingerprint-check.js +20 -0
  38. package/dist/checks/memory-fingerprint-check.js.map +1 -0
  39. package/dist/checks/memory-supersession-check.d.ts +6 -0
  40. package/dist/checks/memory-supersession-check.d.ts.map +1 -0
  41. package/dist/checks/memory-supersession-check.js +61 -0
  42. package/dist/checks/memory-supersession-check.js.map +1 -0
  43. package/dist/checks/memory-verification-check.d.ts +6 -0
  44. package/dist/checks/memory-verification-check.d.ts.map +1 -0
  45. package/dist/checks/memory-verification-check.js +61 -0
  46. package/dist/checks/memory-verification-check.js.map +1 -0
  47. package/dist/checks/nested-path-escape.d.ts +6 -0
  48. package/dist/checks/nested-path-escape.d.ts.map +1 -0
  49. package/dist/checks/nested-path-escape.js +76 -0
  50. package/dist/checks/nested-path-escape.js.map +1 -0
  51. package/dist/checks/schema-check.d.ts +6 -0
  52. package/dist/checks/schema-check.d.ts.map +1 -0
  53. package/dist/checks/schema-check.js +32 -0
  54. package/dist/checks/schema-check.js.map +1 -0
  55. package/dist/checks/source-cross-check.d.ts +52 -0
  56. package/dist/checks/source-cross-check.d.ts.map +1 -0
  57. package/dist/checks/source-cross-check.js +473 -0
  58. package/dist/checks/source-cross-check.js.map +1 -0
  59. package/dist/checks/source-path-check.d.ts +6 -0
  60. package/dist/checks/source-path-check.d.ts.map +1 -0
  61. package/dist/checks/source-path-check.js +62 -0
  62. package/dist/checks/source-path-check.js.map +1 -0
  63. package/dist/checks/structure-path-check.d.ts +6 -0
  64. package/dist/checks/structure-path-check.d.ts.map +1 -0
  65. package/dist/checks/structure-path-check.js +31 -0
  66. package/dist/checks/structure-path-check.js.map +1 -0
  67. package/dist/checks/verify/ast-grep-verifier.d.ts +4 -0
  68. package/dist/checks/verify/ast-grep-verifier.d.ts.map +1 -0
  69. package/dist/checks/verify/ast-grep-verifier.js +153 -0
  70. package/dist/checks/verify/ast-grep-verifier.js.map +1 -0
  71. package/dist/checks/verify/detect-ast-grep.d.ts +9 -0
  72. package/dist/checks/verify/detect-ast-grep.d.ts.map +1 -0
  73. package/dist/checks/verify/detect-ast-grep.js +26 -0
  74. package/dist/checks/verify/detect-ast-grep.js.map +1 -0
  75. package/dist/checks/verify/detect-semgrep.d.ts +8 -0
  76. package/dist/checks/verify/detect-semgrep.d.ts.map +1 -0
  77. package/dist/checks/verify/detect-semgrep.js +36 -0
  78. package/dist/checks/verify/detect-semgrep.js.map +1 -0
  79. package/dist/checks/verify/glob-verifier.d.ts +5 -0
  80. package/dist/checks/verify/glob-verifier.d.ts.map +1 -0
  81. package/dist/checks/verify/glob-verifier.js +58 -0
  82. package/dist/checks/verify/glob-verifier.js.map +1 -0
  83. package/dist/checks/verify/semgrep-pattern-verifier.d.ts +4 -0
  84. package/dist/checks/verify/semgrep-pattern-verifier.d.ts.map +1 -0
  85. package/dist/checks/verify/semgrep-pattern-verifier.js +121 -0
  86. package/dist/checks/verify/semgrep-pattern-verifier.js.map +1 -0
  87. package/dist/checks/verify/semgrep-rule-file-verifier.d.ts +9 -0
  88. package/dist/checks/verify/semgrep-rule-file-verifier.d.ts.map +1 -0
  89. package/dist/checks/verify/semgrep-rule-file-verifier.js +151 -0
  90. package/dist/checks/verify/semgrep-rule-file-verifier.js.map +1 -0
  91. package/dist/checks/verify/types.d.ts +44 -0
  92. package/dist/checks/verify/types.d.ts.map +1 -0
  93. package/dist/checks/verify/types.js +6 -0
  94. package/dist/checks/verify/types.js.map +1 -0
  95. package/dist/checks/verify-check.d.ts +9 -0
  96. package/dist/checks/verify-check.d.ts.map +1 -0
  97. package/dist/checks/verify-check.js +67 -0
  98. package/dist/checks/verify-check.js.map +1 -0
  99. package/dist/discovery.d.ts +13 -0
  100. package/dist/discovery.d.ts.map +1 -0
  101. package/dist/discovery.js +82 -0
  102. package/dist/discovery.js.map +1 -0
  103. package/dist/errors.d.ts +38 -0
  104. package/dist/errors.d.ts.map +1 -0
  105. package/dist/errors.js +5 -0
  106. package/dist/errors.js.map +1 -0
  107. package/dist/index.d.ts +43 -0
  108. package/dist/index.d.ts.map +1 -0
  109. package/dist/index.js +81 -0
  110. package/dist/index.js.map +1 -0
  111. package/dist/memory.d.ts +19 -0
  112. package/dist/memory.d.ts.map +1 -0
  113. package/dist/memory.js +80 -0
  114. package/dist/memory.js.map +1 -0
  115. package/dist/parse.d.ts +17 -0
  116. package/dist/parse.d.ts.map +1 -0
  117. package/dist/parse.js +47 -0
  118. package/dist/parse.js.map +1 -0
  119. package/dist/schema-0.10.json +194 -0
  120. package/dist/schema-0.11.json +203 -0
  121. package/dist/schema-0.12.json +243 -0
  122. package/dist/schema-0.13.json +267 -0
  123. package/dist/schema-0.14.json +288 -0
  124. package/dist/schema-0.15.json +347 -0
  125. package/dist/schema-0.2.json +283 -0
  126. package/dist/schema-0.4.json +280 -0
  127. package/dist/schema-0.5.json +300 -0
  128. package/dist/schema-0.6.json +328 -0
  129. package/dist/schema-0.7.json +311 -0
  130. package/dist/schema-0.8.json +245 -0
  131. package/dist/schema-0.9.json +172 -0
  132. package/dist/schema-1.0.json +347 -0
  133. package/dist/schema-memory-0.1.json +43 -0
  134. package/dist/schema-memory-0.2.json +49 -0
  135. package/dist/schema-memory.d.ts +5 -0
  136. package/dist/schema-memory.d.ts.map +1 -0
  137. package/dist/schema-memory.js +16 -0
  138. package/dist/schema-memory.js.map +1 -0
  139. package/dist/schema.d.ts +6 -0
  140. package/dist/schema.d.ts.map +1 -0
  141. package/dist/schema.js +62 -0
  142. package/dist/schema.js.map +1 -0
  143. package/dist/schema.json +129 -0
  144. package/dist/types.d.ts +2 -0
  145. package/dist/types.d.ts.map +1 -0
  146. package/dist/types.generated.d.ts +1103 -0
  147. package/dist/types.generated.d.ts.map +1 -0
  148. package/dist/types.generated.js +7 -0
  149. package/dist/types.generated.js.map +1 -0
  150. package/dist/types.js +7 -0
  151. package/dist/types.js.map +1 -0
  152. package/dist/validate-tree.d.ts +20 -0
  153. package/dist/validate-tree.d.ts.map +1 -0
  154. package/dist/validate-tree.js +64 -0
  155. package/dist/validate-tree.js.map +1 -0
  156. package/package.json +48 -0
@@ -0,0 +1,1103 @@
1
+ /**
2
+ * GENERATED FILE — DO NOT EDIT.
3
+ * Regenerated on every build/test from ../spec/1.0/schema.json by scripts/prebuild.mjs.
4
+ */
5
+ export type Environment = Environment1 & {
6
+ language_version?: string;
7
+ runtime?: string;
8
+ os?: ["any"] | ["linux" | "macos" | "windows" | "freebsd"] | ["linux" | "macos" | "windows" | "freebsd", "linux" | "macos" | "windows" | "freebsd"] | [
9
+ "linux" | "macos" | "windows" | "freebsd",
10
+ "linux" | "macos" | "windows" | "freebsd",
11
+ "linux" | "macos" | "windows" | "freebsd"
12
+ ] | [
13
+ "linux" | "macos" | "windows" | "freebsd",
14
+ "linux" | "macos" | "windows" | "freebsd",
15
+ "linux" | "macos" | "windows" | "freebsd",
16
+ "linux" | "macos" | "windows" | "freebsd"
17
+ ] | [
18
+ "linux" | "macos" | "windows" | "freebsd",
19
+ "linux" | "macos" | "windows" | "freebsd",
20
+ "linux" | "macos" | "windows" | "freebsd",
21
+ "linux" | "macos" | "windows" | "freebsd",
22
+ "linux" | "macos" | "windows" | "freebsd"
23
+ ];
24
+ /**
25
+ * @minItems 1
26
+ * @maxItems 10
27
+ */
28
+ required_services?: [
29
+ {
30
+ name: string;
31
+ why: string;
32
+ }
33
+ ] | [
34
+ {
35
+ name: string;
36
+ why: string;
37
+ },
38
+ {
39
+ name: string;
40
+ why: string;
41
+ }
42
+ ] | [
43
+ {
44
+ name: string;
45
+ why: string;
46
+ },
47
+ {
48
+ name: string;
49
+ why: string;
50
+ },
51
+ {
52
+ name: string;
53
+ why: string;
54
+ }
55
+ ] | [
56
+ {
57
+ name: string;
58
+ why: string;
59
+ },
60
+ {
61
+ name: string;
62
+ why: string;
63
+ },
64
+ {
65
+ name: string;
66
+ why: string;
67
+ },
68
+ {
69
+ name: string;
70
+ why: string;
71
+ }
72
+ ] | [
73
+ {
74
+ name: string;
75
+ why: string;
76
+ },
77
+ {
78
+ name: string;
79
+ why: string;
80
+ },
81
+ {
82
+ name: string;
83
+ why: string;
84
+ },
85
+ {
86
+ name: string;
87
+ why: string;
88
+ },
89
+ {
90
+ name: string;
91
+ why: string;
92
+ }
93
+ ] | [
94
+ {
95
+ name: string;
96
+ why: string;
97
+ },
98
+ {
99
+ name: string;
100
+ why: string;
101
+ },
102
+ {
103
+ name: string;
104
+ why: string;
105
+ },
106
+ {
107
+ name: string;
108
+ why: string;
109
+ },
110
+ {
111
+ name: string;
112
+ why: string;
113
+ },
114
+ {
115
+ name: string;
116
+ why: string;
117
+ }
118
+ ] | [
119
+ {
120
+ name: string;
121
+ why: string;
122
+ },
123
+ {
124
+ name: string;
125
+ why: string;
126
+ },
127
+ {
128
+ name: string;
129
+ why: string;
130
+ },
131
+ {
132
+ name: string;
133
+ why: string;
134
+ },
135
+ {
136
+ name: string;
137
+ why: string;
138
+ },
139
+ {
140
+ name: string;
141
+ why: string;
142
+ },
143
+ {
144
+ name: string;
145
+ why: string;
146
+ }
147
+ ] | [
148
+ {
149
+ name: string;
150
+ why: string;
151
+ },
152
+ {
153
+ name: string;
154
+ why: string;
155
+ },
156
+ {
157
+ name: string;
158
+ why: string;
159
+ },
160
+ {
161
+ name: string;
162
+ why: string;
163
+ },
164
+ {
165
+ name: string;
166
+ why: string;
167
+ },
168
+ {
169
+ name: string;
170
+ why: string;
171
+ },
172
+ {
173
+ name: string;
174
+ why: string;
175
+ },
176
+ {
177
+ name: string;
178
+ why: string;
179
+ }
180
+ ] | [
181
+ {
182
+ name: string;
183
+ why: string;
184
+ },
185
+ {
186
+ name: string;
187
+ why: string;
188
+ },
189
+ {
190
+ name: string;
191
+ why: string;
192
+ },
193
+ {
194
+ name: string;
195
+ why: string;
196
+ },
197
+ {
198
+ name: string;
199
+ why: string;
200
+ },
201
+ {
202
+ name: string;
203
+ why: string;
204
+ },
205
+ {
206
+ name: string;
207
+ why: string;
208
+ },
209
+ {
210
+ name: string;
211
+ why: string;
212
+ },
213
+ {
214
+ name: string;
215
+ why: string;
216
+ }
217
+ ] | [
218
+ {
219
+ name: string;
220
+ why: string;
221
+ },
222
+ {
223
+ name: string;
224
+ why: string;
225
+ },
226
+ {
227
+ name: string;
228
+ why: string;
229
+ },
230
+ {
231
+ name: string;
232
+ why: string;
233
+ },
234
+ {
235
+ name: string;
236
+ why: string;
237
+ },
238
+ {
239
+ name: string;
240
+ why: string;
241
+ },
242
+ {
243
+ name: string;
244
+ why: string;
245
+ },
246
+ {
247
+ name: string;
248
+ why: string;
249
+ },
250
+ {
251
+ name: string;
252
+ why: string;
253
+ },
254
+ {
255
+ name: string;
256
+ why: string;
257
+ }
258
+ ];
259
+ /**
260
+ * @minItems 1
261
+ * @maxItems 25
262
+ */
263
+ required_env?: [
264
+ {
265
+ name: string;
266
+ why: string;
267
+ },
268
+ ...{
269
+ name: string;
270
+ why: string;
271
+ }[]
272
+ ];
273
+ };
274
+ export type Environment1 = {
275
+ [k: string]: unknown;
276
+ };
277
+ export type Verify = {
278
+ kind: "glob_exists";
279
+ /**
280
+ * Glob (repo-root-relative). With should_not=false: ≥1 file must match. With should_not=true: 0 files must match.
281
+ */
282
+ path: string;
283
+ /**
284
+ * Invert: assert NO files match the glob. Default false.
285
+ */
286
+ should_not?: boolean;
287
+ } | {
288
+ kind: "glob_only";
289
+ /**
290
+ * Glob of files to locate.
291
+ */
292
+ match: string;
293
+ /**
294
+ * Glob; every file from `match` must also match this.
295
+ */
296
+ container: string;
297
+ } | ({
298
+ [k: string]: unknown;
299
+ } | {
300
+ [k: string]: unknown;
301
+ }) | (({
302
+ [k: string]: unknown;
303
+ } | {
304
+ [k: string]: unknown;
305
+ }) & ({
306
+ [k: string]: unknown;
307
+ } | {
308
+ [k: string]: unknown;
309
+ }));
310
+ /**
311
+ * Schema for .anatomy files (v1.0). Stabilization of the v0.15 format — structurally identical to v0.15; no field added, removed, renamed, or retyped. v0.15 files migrate to v1.0 with no data change. The 0->1 bump is a stability commitment, not a breaking change (see spec/CURRENT.md).
312
+ */
313
+ export interface Anatomy {
314
+ anatomy_version: "1.0";
315
+ tagline: string;
316
+ description?: string;
317
+ author?: string;
318
+ license?: string;
319
+ docs_url?: string;
320
+ repository_url?: string;
321
+ identity: Identity;
322
+ generated: Generated;
323
+ generate?: Generate;
324
+ operation?: Operation;
325
+ structure?: Structure;
326
+ environment?: Environment;
327
+ substance?: Substance;
328
+ /**
329
+ * @minItems 1
330
+ * @maxItems 20
331
+ */
332
+ rules?: [Rule] | [Rule, Rule] | [Rule, Rule, Rule] | [Rule, Rule, Rule, Rule] | [Rule, Rule, Rule, Rule, Rule] | [Rule, Rule, Rule, Rule, Rule, Rule] | [Rule, Rule, Rule, Rule, Rule, Rule, Rule] | [Rule, Rule, Rule, Rule, Rule, Rule, Rule, Rule] | [Rule, Rule, Rule, Rule, Rule, Rule, Rule, Rule, Rule] | [Rule, Rule, Rule, Rule, Rule, Rule, Rule, Rule, Rule, Rule] | [Rule, Rule, Rule, Rule, Rule, Rule, Rule, Rule, Rule, Rule, Rule] | [Rule, Rule, Rule, Rule, Rule, Rule, Rule, Rule, Rule, Rule, Rule, Rule] | [Rule, Rule, Rule, Rule, Rule, Rule, Rule, Rule, Rule, Rule, Rule, Rule, Rule] | [Rule, Rule, Rule, Rule, Rule, Rule, Rule, Rule, Rule, Rule, Rule, Rule, Rule, Rule] | [Rule, Rule, Rule, Rule, Rule, Rule, Rule, Rule, Rule, Rule, Rule, Rule, Rule, Rule, Rule] | [Rule, Rule, Rule, Rule, Rule, Rule, Rule, Rule, Rule, Rule, Rule, Rule, Rule, Rule, Rule, Rule] | [Rule, Rule, Rule, Rule, Rule, Rule, Rule, Rule, Rule, Rule, Rule, Rule, Rule, Rule, Rule, Rule, Rule] | [Rule, Rule, Rule, Rule, Rule, Rule, Rule, Rule, Rule, Rule, Rule, Rule, Rule, Rule, Rule, Rule, Rule, Rule] | [Rule, Rule, Rule, Rule, Rule, Rule, Rule, Rule, Rule, Rule, Rule, Rule, Rule, Rule, Rule, Rule, Rule, Rule, Rule] | [
333
+ Rule,
334
+ Rule,
335
+ Rule,
336
+ Rule,
337
+ Rule,
338
+ Rule,
339
+ Rule,
340
+ Rule,
341
+ Rule,
342
+ Rule,
343
+ Rule,
344
+ Rule,
345
+ Rule,
346
+ Rule,
347
+ Rule,
348
+ Rule,
349
+ Rule,
350
+ Rule,
351
+ Rule,
352
+ Rule
353
+ ];
354
+ /**
355
+ * @minItems 1
356
+ * @maxItems 15
357
+ */
358
+ flows?: [Flow] | [Flow, Flow] | [Flow, Flow, Flow] | [Flow, Flow, Flow, Flow] | [Flow, Flow, Flow, Flow, Flow] | [Flow, Flow, Flow, Flow, Flow, Flow] | [Flow, Flow, Flow, Flow, Flow, Flow, Flow] | [Flow, Flow, Flow, Flow, Flow, Flow, Flow, Flow] | [Flow, Flow, Flow, Flow, Flow, Flow, Flow, Flow, Flow] | [Flow, Flow, Flow, Flow, Flow, Flow, Flow, Flow, Flow, Flow] | [Flow, Flow, Flow, Flow, Flow, Flow, Flow, Flow, Flow, Flow, Flow] | [Flow, Flow, Flow, Flow, Flow, Flow, Flow, Flow, Flow, Flow, Flow, Flow] | [Flow, Flow, Flow, Flow, Flow, Flow, Flow, Flow, Flow, Flow, Flow, Flow, Flow] | [Flow, Flow, Flow, Flow, Flow, Flow, Flow, Flow, Flow, Flow, Flow, Flow, Flow, Flow] | [Flow, Flow, Flow, Flow, Flow, Flow, Flow, Flow, Flow, Flow, Flow, Flow, Flow, Flow, Flow];
359
+ /**
360
+ * @minItems 1
361
+ * @maxItems 15
362
+ */
363
+ decisions?: [Decision] | [Decision, Decision] | [Decision, Decision, Decision] | [Decision, Decision, Decision, Decision] | [Decision, Decision, Decision, Decision, Decision] | [Decision, Decision, Decision, Decision, Decision, Decision] | [Decision, Decision, Decision, Decision, Decision, Decision, Decision] | [Decision, Decision, Decision, Decision, Decision, Decision, Decision, Decision] | [Decision, Decision, Decision, Decision, Decision, Decision, Decision, Decision, Decision] | [Decision, Decision, Decision, Decision, Decision, Decision, Decision, Decision, Decision, Decision] | [Decision, Decision, Decision, Decision, Decision, Decision, Decision, Decision, Decision, Decision, Decision] | [
364
+ Decision,
365
+ Decision,
366
+ Decision,
367
+ Decision,
368
+ Decision,
369
+ Decision,
370
+ Decision,
371
+ Decision,
372
+ Decision,
373
+ Decision,
374
+ Decision,
375
+ Decision
376
+ ] | [
377
+ Decision,
378
+ Decision,
379
+ Decision,
380
+ Decision,
381
+ Decision,
382
+ Decision,
383
+ Decision,
384
+ Decision,
385
+ Decision,
386
+ Decision,
387
+ Decision,
388
+ Decision,
389
+ Decision
390
+ ] | [
391
+ Decision,
392
+ Decision,
393
+ Decision,
394
+ Decision,
395
+ Decision,
396
+ Decision,
397
+ Decision,
398
+ Decision,
399
+ Decision,
400
+ Decision,
401
+ Decision,
402
+ Decision,
403
+ Decision,
404
+ Decision
405
+ ] | [
406
+ Decision,
407
+ Decision,
408
+ Decision,
409
+ Decision,
410
+ Decision,
411
+ Decision,
412
+ Decision,
413
+ Decision,
414
+ Decision,
415
+ Decision,
416
+ Decision,
417
+ Decision,
418
+ Decision,
419
+ Decision,
420
+ Decision
421
+ ];
422
+ /**
423
+ * @minItems 1
424
+ * @maxItems 30
425
+ */
426
+ vocabulary?: [VocabularyEntry, ...VocabularyEntry[]];
427
+ /**
428
+ * @minItems 1
429
+ * @maxItems 15
430
+ */
431
+ invariants?: [InvariantEntry] | [InvariantEntry, InvariantEntry] | [InvariantEntry, InvariantEntry, InvariantEntry] | [InvariantEntry, InvariantEntry, InvariantEntry, InvariantEntry] | [InvariantEntry, InvariantEntry, InvariantEntry, InvariantEntry, InvariantEntry] | [InvariantEntry, InvariantEntry, InvariantEntry, InvariantEntry, InvariantEntry, InvariantEntry] | [InvariantEntry, InvariantEntry, InvariantEntry, InvariantEntry, InvariantEntry, InvariantEntry, InvariantEntry] | [
432
+ InvariantEntry,
433
+ InvariantEntry,
434
+ InvariantEntry,
435
+ InvariantEntry,
436
+ InvariantEntry,
437
+ InvariantEntry,
438
+ InvariantEntry,
439
+ InvariantEntry
440
+ ] | [
441
+ InvariantEntry,
442
+ InvariantEntry,
443
+ InvariantEntry,
444
+ InvariantEntry,
445
+ InvariantEntry,
446
+ InvariantEntry,
447
+ InvariantEntry,
448
+ InvariantEntry,
449
+ InvariantEntry
450
+ ] | [
451
+ InvariantEntry,
452
+ InvariantEntry,
453
+ InvariantEntry,
454
+ InvariantEntry,
455
+ InvariantEntry,
456
+ InvariantEntry,
457
+ InvariantEntry,
458
+ InvariantEntry,
459
+ InvariantEntry,
460
+ InvariantEntry
461
+ ] | [
462
+ InvariantEntry,
463
+ InvariantEntry,
464
+ InvariantEntry,
465
+ InvariantEntry,
466
+ InvariantEntry,
467
+ InvariantEntry,
468
+ InvariantEntry,
469
+ InvariantEntry,
470
+ InvariantEntry,
471
+ InvariantEntry,
472
+ InvariantEntry
473
+ ] | [
474
+ InvariantEntry,
475
+ InvariantEntry,
476
+ InvariantEntry,
477
+ InvariantEntry,
478
+ InvariantEntry,
479
+ InvariantEntry,
480
+ InvariantEntry,
481
+ InvariantEntry,
482
+ InvariantEntry,
483
+ InvariantEntry,
484
+ InvariantEntry,
485
+ InvariantEntry
486
+ ] | [
487
+ InvariantEntry,
488
+ InvariantEntry,
489
+ InvariantEntry,
490
+ InvariantEntry,
491
+ InvariantEntry,
492
+ InvariantEntry,
493
+ InvariantEntry,
494
+ InvariantEntry,
495
+ InvariantEntry,
496
+ InvariantEntry,
497
+ InvariantEntry,
498
+ InvariantEntry,
499
+ InvariantEntry
500
+ ] | [
501
+ InvariantEntry,
502
+ InvariantEntry,
503
+ InvariantEntry,
504
+ InvariantEntry,
505
+ InvariantEntry,
506
+ InvariantEntry,
507
+ InvariantEntry,
508
+ InvariantEntry,
509
+ InvariantEntry,
510
+ InvariantEntry,
511
+ InvariantEntry,
512
+ InvariantEntry,
513
+ InvariantEntry,
514
+ InvariantEntry
515
+ ] | [
516
+ InvariantEntry,
517
+ InvariantEntry,
518
+ InvariantEntry,
519
+ InvariantEntry,
520
+ InvariantEntry,
521
+ InvariantEntry,
522
+ InvariantEntry,
523
+ InvariantEntry,
524
+ InvariantEntry,
525
+ InvariantEntry,
526
+ InvariantEntry,
527
+ InvariantEntry,
528
+ InvariantEntry,
529
+ InvariantEntry,
530
+ InvariantEntry
531
+ ];
532
+ /**
533
+ * @minItems 1
534
+ * @maxItems 12
535
+ */
536
+ anti_patterns?: [AntiPatternEntry] | [AntiPatternEntry, AntiPatternEntry] | [AntiPatternEntry, AntiPatternEntry, AntiPatternEntry] | [AntiPatternEntry, AntiPatternEntry, AntiPatternEntry, AntiPatternEntry] | [AntiPatternEntry, AntiPatternEntry, AntiPatternEntry, AntiPatternEntry, AntiPatternEntry] | [AntiPatternEntry, AntiPatternEntry, AntiPatternEntry, AntiPatternEntry, AntiPatternEntry, AntiPatternEntry] | [
537
+ AntiPatternEntry,
538
+ AntiPatternEntry,
539
+ AntiPatternEntry,
540
+ AntiPatternEntry,
541
+ AntiPatternEntry,
542
+ AntiPatternEntry,
543
+ AntiPatternEntry
544
+ ] | [
545
+ AntiPatternEntry,
546
+ AntiPatternEntry,
547
+ AntiPatternEntry,
548
+ AntiPatternEntry,
549
+ AntiPatternEntry,
550
+ AntiPatternEntry,
551
+ AntiPatternEntry,
552
+ AntiPatternEntry
553
+ ] | [
554
+ AntiPatternEntry,
555
+ AntiPatternEntry,
556
+ AntiPatternEntry,
557
+ AntiPatternEntry,
558
+ AntiPatternEntry,
559
+ AntiPatternEntry,
560
+ AntiPatternEntry,
561
+ AntiPatternEntry,
562
+ AntiPatternEntry
563
+ ] | [
564
+ AntiPatternEntry,
565
+ AntiPatternEntry,
566
+ AntiPatternEntry,
567
+ AntiPatternEntry,
568
+ AntiPatternEntry,
569
+ AntiPatternEntry,
570
+ AntiPatternEntry,
571
+ AntiPatternEntry,
572
+ AntiPatternEntry,
573
+ AntiPatternEntry
574
+ ] | [
575
+ AntiPatternEntry,
576
+ AntiPatternEntry,
577
+ AntiPatternEntry,
578
+ AntiPatternEntry,
579
+ AntiPatternEntry,
580
+ AntiPatternEntry,
581
+ AntiPatternEntry,
582
+ AntiPatternEntry,
583
+ AntiPatternEntry,
584
+ AntiPatternEntry,
585
+ AntiPatternEntry
586
+ ] | [
587
+ AntiPatternEntry,
588
+ AntiPatternEntry,
589
+ AntiPatternEntry,
590
+ AntiPatternEntry,
591
+ AntiPatternEntry,
592
+ AntiPatternEntry,
593
+ AntiPatternEntry,
594
+ AntiPatternEntry,
595
+ AntiPatternEntry,
596
+ AntiPatternEntry,
597
+ AntiPatternEntry,
598
+ AntiPatternEntry
599
+ ];
600
+ /**
601
+ * @minItems 1
602
+ * @maxItems 10
603
+ */
604
+ prerequisites?: [PrerequisiteEntry] | [PrerequisiteEntry, PrerequisiteEntry] | [PrerequisiteEntry, PrerequisiteEntry, PrerequisiteEntry] | [PrerequisiteEntry, PrerequisiteEntry, PrerequisiteEntry, PrerequisiteEntry] | [PrerequisiteEntry, PrerequisiteEntry, PrerequisiteEntry, PrerequisiteEntry, PrerequisiteEntry] | [PrerequisiteEntry, PrerequisiteEntry, PrerequisiteEntry, PrerequisiteEntry, PrerequisiteEntry, PrerequisiteEntry] | [
605
+ PrerequisiteEntry,
606
+ PrerequisiteEntry,
607
+ PrerequisiteEntry,
608
+ PrerequisiteEntry,
609
+ PrerequisiteEntry,
610
+ PrerequisiteEntry,
611
+ PrerequisiteEntry
612
+ ] | [
613
+ PrerequisiteEntry,
614
+ PrerequisiteEntry,
615
+ PrerequisiteEntry,
616
+ PrerequisiteEntry,
617
+ PrerequisiteEntry,
618
+ PrerequisiteEntry,
619
+ PrerequisiteEntry,
620
+ PrerequisiteEntry
621
+ ] | [
622
+ PrerequisiteEntry,
623
+ PrerequisiteEntry,
624
+ PrerequisiteEntry,
625
+ PrerequisiteEntry,
626
+ PrerequisiteEntry,
627
+ PrerequisiteEntry,
628
+ PrerequisiteEntry,
629
+ PrerequisiteEntry,
630
+ PrerequisiteEntry
631
+ ] | [
632
+ PrerequisiteEntry,
633
+ PrerequisiteEntry,
634
+ PrerequisiteEntry,
635
+ PrerequisiteEntry,
636
+ PrerequisiteEntry,
637
+ PrerequisiteEntry,
638
+ PrerequisiteEntry,
639
+ PrerequisiteEntry,
640
+ PrerequisiteEntry,
641
+ PrerequisiteEntry
642
+ ];
643
+ }
644
+ export interface Identity {
645
+ stack: string;
646
+ form: string;
647
+ domain: string;
648
+ function: string;
649
+ fingerprint: string;
650
+ }
651
+ export interface Generated {
652
+ at: string;
653
+ commit?: string;
654
+ by: string;
655
+ model: string;
656
+ schema: string;
657
+ }
658
+ /**
659
+ * Per-repo render preferences. All fields optional with defaults. Holds human choice (uncapturable), not derivable content. v0.11 added per-tool emit flags (Cursor/Aider/Cline/Roo/Continue/Windsurf) plus a shared render_budget and render_memory_count for the new renderers.
660
+ */
661
+ export interface Generate {
662
+ /**
663
+ * Emit AGENTS.md on `anatomy render` (default true).
664
+ */
665
+ agents_md?: boolean;
666
+ /**
667
+ * Token cap for the emitted AGENTS.md (default 1500).
668
+ */
669
+ agents_md_budget?: number;
670
+ /**
671
+ * Max recent-memory entries surfaced in AGENTS.md (default 10).
672
+ */
673
+ agents_md_memory_count?: number;
674
+ /**
675
+ * Emit .cursor/rules/anatomy.mdc (default false).
676
+ */
677
+ cursor_mdc?: boolean;
678
+ /**
679
+ * Emit .cursorrules (default false).
680
+ */
681
+ cursor_rules?: boolean;
682
+ /**
683
+ * Emit CONVENTIONS.md (default false).
684
+ */
685
+ aider_conventions?: boolean;
686
+ /**
687
+ * Emit .clinerules (default false).
688
+ */
689
+ cline_rules?: boolean;
690
+ /**
691
+ * Emit .roorules (default false).
692
+ */
693
+ roo_rules?: boolean;
694
+ /**
695
+ * Emit .continuerules (default false).
696
+ */
697
+ continue_rules?: boolean;
698
+ /**
699
+ * Emit .windsurfrules (default false).
700
+ */
701
+ windsurf_rules?: boolean;
702
+ /**
703
+ * Token cap for all v0.11 renderers (default 1500).
704
+ */
705
+ render_budget?: number;
706
+ /**
707
+ * Max memory entries for v0.11 renderers (default 10).
708
+ */
709
+ render_memory_count?: number;
710
+ }
711
+ export interface Operation {
712
+ /**
713
+ * @maxItems 10
714
+ */
715
+ entry_points?: [] | [EntryPoint] | [EntryPoint, EntryPoint] | [EntryPoint, EntryPoint, EntryPoint] | [EntryPoint, EntryPoint, EntryPoint, EntryPoint] | [EntryPoint, EntryPoint, EntryPoint, EntryPoint, EntryPoint] | [EntryPoint, EntryPoint, EntryPoint, EntryPoint, EntryPoint, EntryPoint] | [EntryPoint, EntryPoint, EntryPoint, EntryPoint, EntryPoint, EntryPoint, EntryPoint] | [EntryPoint, EntryPoint, EntryPoint, EntryPoint, EntryPoint, EntryPoint, EntryPoint, EntryPoint] | [EntryPoint, EntryPoint, EntryPoint, EntryPoint, EntryPoint, EntryPoint, EntryPoint, EntryPoint, EntryPoint] | [
716
+ EntryPoint,
717
+ EntryPoint,
718
+ EntryPoint,
719
+ EntryPoint,
720
+ EntryPoint,
721
+ EntryPoint,
722
+ EntryPoint,
723
+ EntryPoint,
724
+ EntryPoint,
725
+ EntryPoint
726
+ ];
727
+ commands?: {
728
+ [k: string]: string;
729
+ };
730
+ conventions?: {
731
+ [k: string]: string;
732
+ };
733
+ }
734
+ export interface EntryPoint {
735
+ path: string;
736
+ role: string;
737
+ purpose?: string;
738
+ description?: string;
739
+ }
740
+ export interface Structure {
741
+ /**
742
+ * @minItems 1
743
+ * @maxItems 25
744
+ */
745
+ entries: [
746
+ {
747
+ path: string;
748
+ purpose: string;
749
+ kind: "source" | "tests" | "docs" | "config" | "build" | "scripts" | "examples" | "generated" | "other";
750
+ convention?: string;
751
+ },
752
+ ...{
753
+ path: string;
754
+ purpose: string;
755
+ kind: "source" | "tests" | "docs" | "config" | "build" | "scripts" | "examples" | "generated" | "other";
756
+ convention?: string;
757
+ }[]
758
+ ];
759
+ }
760
+ export interface Substance {
761
+ /**
762
+ * @minItems 1
763
+ * @maxItems 10
764
+ */
765
+ key_dependencies?: [
766
+ {
767
+ name: string;
768
+ version?: string;
769
+ why: string;
770
+ }
771
+ ] | [
772
+ {
773
+ name: string;
774
+ version?: string;
775
+ why: string;
776
+ },
777
+ {
778
+ name: string;
779
+ version?: string;
780
+ why: string;
781
+ }
782
+ ] | [
783
+ {
784
+ name: string;
785
+ version?: string;
786
+ why: string;
787
+ },
788
+ {
789
+ name: string;
790
+ version?: string;
791
+ why: string;
792
+ },
793
+ {
794
+ name: string;
795
+ version?: string;
796
+ why: string;
797
+ }
798
+ ] | [
799
+ {
800
+ name: string;
801
+ version?: string;
802
+ why: string;
803
+ },
804
+ {
805
+ name: string;
806
+ version?: string;
807
+ why: string;
808
+ },
809
+ {
810
+ name: string;
811
+ version?: string;
812
+ why: string;
813
+ },
814
+ {
815
+ name: string;
816
+ version?: string;
817
+ why: string;
818
+ }
819
+ ] | [
820
+ {
821
+ name: string;
822
+ version?: string;
823
+ why: string;
824
+ },
825
+ {
826
+ name: string;
827
+ version?: string;
828
+ why: string;
829
+ },
830
+ {
831
+ name: string;
832
+ version?: string;
833
+ why: string;
834
+ },
835
+ {
836
+ name: string;
837
+ version?: string;
838
+ why: string;
839
+ },
840
+ {
841
+ name: string;
842
+ version?: string;
843
+ why: string;
844
+ }
845
+ ] | [
846
+ {
847
+ name: string;
848
+ version?: string;
849
+ why: string;
850
+ },
851
+ {
852
+ name: string;
853
+ version?: string;
854
+ why: string;
855
+ },
856
+ {
857
+ name: string;
858
+ version?: string;
859
+ why: string;
860
+ },
861
+ {
862
+ name: string;
863
+ version?: string;
864
+ why: string;
865
+ },
866
+ {
867
+ name: string;
868
+ version?: string;
869
+ why: string;
870
+ },
871
+ {
872
+ name: string;
873
+ version?: string;
874
+ why: string;
875
+ }
876
+ ] | [
877
+ {
878
+ name: string;
879
+ version?: string;
880
+ why: string;
881
+ },
882
+ {
883
+ name: string;
884
+ version?: string;
885
+ why: string;
886
+ },
887
+ {
888
+ name: string;
889
+ version?: string;
890
+ why: string;
891
+ },
892
+ {
893
+ name: string;
894
+ version?: string;
895
+ why: string;
896
+ },
897
+ {
898
+ name: string;
899
+ version?: string;
900
+ why: string;
901
+ },
902
+ {
903
+ name: string;
904
+ version?: string;
905
+ why: string;
906
+ },
907
+ {
908
+ name: string;
909
+ version?: string;
910
+ why: string;
911
+ }
912
+ ] | [
913
+ {
914
+ name: string;
915
+ version?: string;
916
+ why: string;
917
+ },
918
+ {
919
+ name: string;
920
+ version?: string;
921
+ why: string;
922
+ },
923
+ {
924
+ name: string;
925
+ version?: string;
926
+ why: string;
927
+ },
928
+ {
929
+ name: string;
930
+ version?: string;
931
+ why: string;
932
+ },
933
+ {
934
+ name: string;
935
+ version?: string;
936
+ why: string;
937
+ },
938
+ {
939
+ name: string;
940
+ version?: string;
941
+ why: string;
942
+ },
943
+ {
944
+ name: string;
945
+ version?: string;
946
+ why: string;
947
+ },
948
+ {
949
+ name: string;
950
+ version?: string;
951
+ why: string;
952
+ }
953
+ ] | [
954
+ {
955
+ name: string;
956
+ version?: string;
957
+ why: string;
958
+ },
959
+ {
960
+ name: string;
961
+ version?: string;
962
+ why: string;
963
+ },
964
+ {
965
+ name: string;
966
+ version?: string;
967
+ why: string;
968
+ },
969
+ {
970
+ name: string;
971
+ version?: string;
972
+ why: string;
973
+ },
974
+ {
975
+ name: string;
976
+ version?: string;
977
+ why: string;
978
+ },
979
+ {
980
+ name: string;
981
+ version?: string;
982
+ why: string;
983
+ },
984
+ {
985
+ name: string;
986
+ version?: string;
987
+ why: string;
988
+ },
989
+ {
990
+ name: string;
991
+ version?: string;
992
+ why: string;
993
+ },
994
+ {
995
+ name: string;
996
+ version?: string;
997
+ why: string;
998
+ }
999
+ ] | [
1000
+ {
1001
+ name: string;
1002
+ version?: string;
1003
+ why: string;
1004
+ },
1005
+ {
1006
+ name: string;
1007
+ version?: string;
1008
+ why: string;
1009
+ },
1010
+ {
1011
+ name: string;
1012
+ version?: string;
1013
+ why: string;
1014
+ },
1015
+ {
1016
+ name: string;
1017
+ version?: string;
1018
+ why: string;
1019
+ },
1020
+ {
1021
+ name: string;
1022
+ version?: string;
1023
+ why: string;
1024
+ },
1025
+ {
1026
+ name: string;
1027
+ version?: string;
1028
+ why: string;
1029
+ },
1030
+ {
1031
+ name: string;
1032
+ version?: string;
1033
+ why: string;
1034
+ },
1035
+ {
1036
+ name: string;
1037
+ version?: string;
1038
+ why: string;
1039
+ },
1040
+ {
1041
+ name: string;
1042
+ version?: string;
1043
+ why: string;
1044
+ },
1045
+ {
1046
+ name: string;
1047
+ version?: string;
1048
+ why: string;
1049
+ }
1050
+ ];
1051
+ }
1052
+ export interface Rule {
1053
+ rule: string;
1054
+ why?: string;
1055
+ verify?: Verify;
1056
+ }
1057
+ export interface Flow {
1058
+ name: string;
1059
+ summary: string;
1060
+ }
1061
+ export interface Decision {
1062
+ topic: string;
1063
+ reason: string;
1064
+ }
1065
+ export interface VocabularyEntry {
1066
+ term: string;
1067
+ meaning: string;
1068
+ /**
1069
+ * @maxItems 5
1070
+ */
1071
+ aliases?: [] | [string] | [string, string] | [string, string, string] | [string, string, string, string] | [string, string, string, string, string];
1072
+ /**
1073
+ * @maxItems 3
1074
+ */
1075
+ contrast?: [] | [string] | [string, string] | [string, string, string];
1076
+ }
1077
+ export interface InvariantEntry {
1078
+ invariant: string;
1079
+ /**
1080
+ * @maxItems 5
1081
+ */
1082
+ triggered_by?: [] | [string] | [string, string] | [string, string, string] | [string, string, string, string] | [string, string, string, string, string];
1083
+ /**
1084
+ * @maxItems 5
1085
+ */
1086
+ affected_paths?: [] | [string] | [string, string] | [string, string, string] | [string, string, string, string] | [string, string, string, string, string];
1087
+ why?: string;
1088
+ }
1089
+ export interface AntiPatternEntry {
1090
+ pattern: string;
1091
+ instead?: string;
1092
+ reason: string;
1093
+ /**
1094
+ * @maxItems 5
1095
+ */
1096
+ keywords?: [] | [string] | [string, string] | [string, string, string] | [string, string, string, string] | [string, string, string, string, string];
1097
+ }
1098
+ export interface PrerequisiteEntry {
1099
+ topic: string;
1100
+ why: string;
1101
+ link?: string;
1102
+ }
1103
+ //# sourceMappingURL=types.generated.d.ts.map