@goodbones/core 0.1.0-beta.10 → 0.1.0-beta.12

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 (119) hide show
  1. package/build/dts/core/structure.d.ts.map +1 -1
  2. package/build/dts/domain/architecture-config.d.ts +3 -310
  3. package/build/dts/domain/architecture-config.d.ts.map +1 -1
  4. package/build/dts/domain/snapshot.d.ts +150 -18
  5. package/build/dts/domain/snapshot.d.ts.map +1 -1
  6. package/build/dts/index.d.ts +11 -14
  7. package/build/dts/index.d.ts.map +1 -1
  8. package/build/dts/infrastructure/file-system-fake.d.ts.map +1 -1
  9. package/build/dts/infrastructure/file-system-live.d.ts.map +1 -1
  10. package/build/dts/infrastructure/walk.d.ts +6 -1
  11. package/build/dts/infrastructure/walk.d.ts.map +1 -1
  12. package/build/dts/load/extension.d.ts +33 -0
  13. package/build/dts/load/extension.d.ts.map +1 -0
  14. package/build/dts/load/policy.d.ts +4 -10
  15. package/build/dts/load/policy.d.ts.map +1 -1
  16. package/build/dts/manifest/compile.d.ts +7 -2
  17. package/build/dts/manifest/compile.d.ts.map +1 -1
  18. package/build/dts/manifest/extension.d.ts +8 -0
  19. package/build/dts/manifest/extension.d.ts.map +1 -0
  20. package/build/dts/manifest/glob.d.ts +1 -0
  21. package/build/dts/manifest/glob.d.ts.map +1 -1
  22. package/build/dts/manifest/json-schema.d.ts +6 -2
  23. package/build/dts/manifest/json-schema.d.ts.map +1 -1
  24. package/build/dts/manifest/manifest.d.ts +7 -362
  25. package/build/dts/manifest/manifest.d.ts.map +1 -1
  26. package/build/dts/ports/file-system.d.ts +1 -0
  27. package/build/dts/ports/file-system.d.ts.map +1 -1
  28. package/build/dts/testing.d.ts +0 -1
  29. package/build/dts/testing.d.ts.map +1 -1
  30. package/build/esm/core/structure.js +1 -1
  31. package/build/esm/core/structure.js.map +1 -1
  32. package/build/esm/domain/architecture-config.js +3 -136
  33. package/build/esm/domain/architecture-config.js.map +1 -1
  34. package/build/esm/domain/snapshot.js +55 -15
  35. package/build/esm/domain/snapshot.js.map +1 -1
  36. package/build/esm/index.js +16 -10
  37. package/build/esm/index.js.map +1 -1
  38. package/build/esm/infrastructure/file-system-fake.js +10 -0
  39. package/build/esm/infrastructure/file-system-fake.js.map +1 -1
  40. package/build/esm/infrastructure/file-system-live.js +9 -1
  41. package/build/esm/infrastructure/file-system-live.js.map +1 -1
  42. package/build/esm/infrastructure/walk.js +50 -4
  43. package/build/esm/infrastructure/walk.js.map +1 -1
  44. package/build/esm/load/extension.js +2 -0
  45. package/build/esm/load/extension.js.map +1 -0
  46. package/build/esm/load/policy.js +43 -116
  47. package/build/esm/load/policy.js.map +1 -1
  48. package/build/esm/manifest/compile.js +3 -182
  49. package/build/esm/manifest/compile.js.map +1 -1
  50. package/build/esm/manifest/extension.js +2 -0
  51. package/build/esm/manifest/extension.js.map +1 -0
  52. package/build/esm/manifest/glob.js +3 -0
  53. package/build/esm/manifest/glob.js.map +1 -1
  54. package/build/esm/manifest/json-schema.js +45 -11
  55. package/build/esm/manifest/json-schema.js.map +1 -1
  56. package/build/esm/manifest/manifest.js +56 -172
  57. package/build/esm/manifest/manifest.js.map +1 -1
  58. package/build/esm/testing.js +0 -1
  59. package/build/esm/testing.js.map +1 -1
  60. package/package.json +1 -1
  61. package/schema/architecture-node.schema.json +0 -887
  62. package/schema/architecture.schema.json +3264 -1591
  63. package/schema/conformance.schema.json +291 -47
  64. package/src/core/structure.ts +5 -3
  65. package/src/domain/architecture-config.ts +3 -180
  66. package/src/domain/snapshot.ts +125 -25
  67. package/src/index.ts +51 -78
  68. package/src/infrastructure/file-system-fake.ts +12 -0
  69. package/src/infrastructure/file-system-live.ts +8 -1
  70. package/src/infrastructure/walk.ts +58 -3
  71. package/src/load/extension.ts +66 -0
  72. package/src/load/policy.ts +60 -175
  73. package/src/manifest/compile.ts +2 -213
  74. package/src/manifest/extension.ts +41 -0
  75. package/src/manifest/glob.ts +5 -0
  76. package/src/manifest/json-schema.ts +53 -11
  77. package/src/manifest/manifest.ts +82 -214
  78. package/src/ports/file-system.ts +3 -0
  79. package/src/testing.ts +0 -1
  80. package/build/dts/core/campaigns.d.ts +0 -141
  81. package/build/dts/core/campaigns.d.ts.map +0 -1
  82. package/build/dts/core/ledger.d.ts +0 -61
  83. package/build/dts/core/ledger.d.ts.map +0 -1
  84. package/build/dts/domain/report.d.ts +0 -16
  85. package/build/dts/domain/report.d.ts.map +0 -1
  86. package/build/dts/infrastructure/campaign-functions.d.ts +0 -7
  87. package/build/dts/infrastructure/campaign-functions.d.ts.map +0 -1
  88. package/build/dts/infrastructure/report-source-fake.d.ts +0 -4
  89. package/build/dts/infrastructure/report-source-fake.d.ts.map +0 -1
  90. package/build/dts/infrastructure/report-source-live.d.ts +0 -3
  91. package/build/dts/infrastructure/report-source-live.d.ts.map +0 -1
  92. package/build/dts/ports/campaign-predicate.d.ts +0 -24
  93. package/build/dts/ports/campaign-predicate.d.ts.map +0 -1
  94. package/build/dts/ports/report-source.d.ts +0 -14
  95. package/build/dts/ports/report-source.d.ts.map +0 -1
  96. package/build/esm/core/campaigns.js +0 -778
  97. package/build/esm/core/campaigns.js.map +0 -1
  98. package/build/esm/core/ledger.js +0 -171
  99. package/build/esm/core/ledger.js.map +0 -1
  100. package/build/esm/domain/report.js +0 -168
  101. package/build/esm/domain/report.js.map +0 -1
  102. package/build/esm/infrastructure/campaign-functions.js +0 -67
  103. package/build/esm/infrastructure/campaign-functions.js.map +0 -1
  104. package/build/esm/infrastructure/report-source-fake.js +0 -6
  105. package/build/esm/infrastructure/report-source-fake.js.map +0 -1
  106. package/build/esm/infrastructure/report-source-live.js +0 -165
  107. package/build/esm/infrastructure/report-source-live.js.map +0 -1
  108. package/build/esm/ports/campaign-predicate.js +0 -2
  109. package/build/esm/ports/campaign-predicate.js.map +0 -1
  110. package/build/esm/ports/report-source.js +0 -7
  111. package/build/esm/ports/report-source.js.map +0 -1
  112. package/src/core/campaigns.ts +0 -1056
  113. package/src/core/ledger.ts +0 -242
  114. package/src/domain/report.ts +0 -203
  115. package/src/infrastructure/campaign-functions.ts +0 -98
  116. package/src/infrastructure/report-source-fake.ts +0 -10
  117. package/src/infrastructure/report-source-live.ts +0 -192
  118. package/src/ports/campaign-predicate.ts +0 -30
  119. package/src/ports/report-source.ts +0 -35
@@ -3,6 +3,7 @@ import * as Schema from "effect/Schema";
3
3
  import { ConfigInvalid } from "../domain/architecture-error.js";
4
4
  import { type ManifestLocator } from "../domain/manifest-location.js";
5
5
  import { type Substitution } from "./expand.js";
6
+ import type { ManifestExtension } from "./extension.js";
6
7
  declare const Imports: Schema.Struct<{
7
8
  readonly message: Schema.optionalKey<Schema.String>;
8
9
  readonly allow: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.$Array<Schema.String>]>>;
@@ -41,6 +42,9 @@ declare const Members: Schema.Struct<{
41
42
  readonly name: Schema.String;
42
43
  }>>;
43
44
  }>;
45
+ export declare const SurfaceConvention: Schema.Union<readonly [Schema.Literals<readonly ["kebab-case", "camelCase", "PascalCase", "snake_case"]>, Schema.Struct<{
46
+ readonly regex: Schema.String;
47
+ }>]>;
44
48
  declare const Surface: Schema.Struct<{
45
49
  readonly message: Schema.String;
46
50
  readonly kinds: Schema.optionalKey<Schema.$Array<Schema.Literals<readonly ["named", "default", "namespace"]>>>;
@@ -129,236 +133,7 @@ declare const Limits: Schema.Struct<{
129
133
  readonly concentration: Schema.optionalKey<Schema.Finite>;
130
134
  }>>;
131
135
  }>;
132
- declare const PathTerm: Schema.Struct<{
133
- readonly file: Schema.Union<readonly [Schema.String, Schema.$Array<Schema.String>]>;
134
- readonly fileNot: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.$Array<Schema.String>]>>;
135
- readonly subject: Schema.optionalKey<Schema.Finite>;
136
- readonly convention: Schema.optionalKey<Schema.Union<readonly [Schema.Literals<readonly ["kebab-case", "camelCase", "PascalCase", "snake_case"]>, Schema.Struct<{
137
- readonly regex: Schema.String;
138
- }>]>>;
139
- }>;
140
- declare const ImportsTerm: Schema.Struct<{
141
- readonly resolves: Schema.Union<readonly [Schema.String, Schema.Struct<{
142
- readonly external: Schema.String;
143
- }>, Schema.Struct<{
144
- readonly builtin: Schema.String;
145
- }>]>;
146
- readonly symbols: Schema.optionalKey<Schema.$Array<Schema.String>>;
147
- }>;
148
- declare const ExportsTerm: Schema.Struct<{
149
- readonly name: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.$Array<Schema.String>]>>;
150
- readonly kinds: Schema.optionalKey<Schema.$Array<Schema.Literals<readonly ["named", "default", "namespace"]>>>;
151
- readonly declares: Schema.optionalKey<Schema.$Array<Schema.Literals<readonly ["function", "class", "variable", "type", "interface", "enum", "expression", "other"]>>>;
152
- readonly reexport: Schema.optionalKey<Schema.Boolean>;
153
- }>;
154
- declare const MembersTerm: Schema.Struct<{
155
- readonly subject: Schema.Literals<readonly ["members", "calls"]>;
156
- readonly name: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.$Array<Schema.String>]>>;
157
- readonly in: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.$Array<Schema.String>]>>;
158
- readonly declares: Schema.optionalKey<Schema.$Array<Schema.Literals<readonly ["function", "class", "variable", "type", "interface", "enum", "expression", "other"]>>>;
159
- }>;
160
- declare const ContentTerm: Schema.Struct<{
161
- readonly regex: Schema.String;
162
- }>;
163
- declare const SyntaxTerm: Schema.Struct<{
164
- readonly pattern: Schema.optionalKey<Schema.Unknown>;
165
- readonly kind: Schema.optionalKey<Schema.Unknown>;
166
- readonly regex: Schema.optionalKey<Schema.Unknown>;
167
- readonly nthChild: Schema.optionalKey<Schema.Unknown>;
168
- readonly inside: Schema.optionalKey<Schema.Unknown>;
169
- readonly has: Schema.optionalKey<Schema.Unknown>;
170
- readonly precedes: Schema.optionalKey<Schema.Unknown>;
171
- readonly follows: Schema.optionalKey<Schema.Unknown>;
172
- readonly all: Schema.optionalKey<Schema.Unknown>;
173
- readonly any: Schema.optionalKey<Schema.Unknown>;
174
- readonly not: Schema.optionalKey<Schema.Unknown>;
175
- readonly where: Schema.optionalKey<Schema.$Record<Schema.String, Schema.Struct<{
176
- readonly regex: Schema.optionalKey<Schema.String>;
177
- readonly binding: Schema.optionalKey<Schema.Struct<{
178
- readonly resolves: Schema.Union<readonly [Schema.String, Schema.Struct<{
179
- readonly external: Schema.String;
180
- }>, Schema.Struct<{
181
- readonly builtin: Schema.String;
182
- }>]>;
183
- readonly member: Schema.optionalKey<Schema.$Array<Schema.String>>;
184
- }>>;
185
- }>>>;
186
- }>;
187
- declare const ReportTerm: Schema.Struct<{
188
- readonly command: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.$Array<Schema.String>]>>;
189
- readonly file: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.$Array<Schema.String>]>>;
190
- readonly format: Schema.Literals<readonly ["tsc", "eslint", "oxlint", "regex"]>;
191
- readonly pattern: Schema.optionalKey<Schema.String>;
192
- readonly codes: Schema.optionalKey<Schema.$Array<Schema.String>>;
193
- readonly codesNot: Schema.optionalKey<Schema.$Array<Schema.String>>;
194
- }>;
195
- export type DetectorSpec = {
196
- readonly all: ReadonlyArray<DetectorSpec>;
197
- } | {
198
- readonly any: ReadonlyArray<DetectorSpec>;
199
- } | {
200
- readonly not: DetectorSpec;
201
- } | {
202
- readonly path: typeof PathTerm.Type;
203
- } | {
204
- readonly imports: typeof ImportsTerm.Type;
205
- } | {
206
- readonly exports: typeof ExportsTerm.Type;
207
- } | {
208
- readonly members: typeof MembersTerm.Type;
209
- } | {
210
- readonly requires: ReadonlyArray<string>;
211
- } | {
212
- readonly content: typeof ContentTerm.Type;
213
- } | {
214
- readonly syntax: typeof SyntaxTerm.Type;
215
- } | {
216
- readonly report: typeof ReportTerm.Type;
217
- } | {
218
- readonly fn: string;
219
- };
220
- declare const CampaignProbe: Schema.Struct<{
221
- readonly path: Schema.String;
222
- readonly source: Schema.optionalKey<Schema.String>;
223
- readonly edges: Schema.optionalKey<Schema.$Record<Schema.String, Schema.Union<readonly [Schema.String, Schema.Struct<{
224
- readonly external: Schema.String;
225
- }>, Schema.Struct<{
226
- readonly builtin: Schema.String;
227
- }>]>>>;
228
- readonly files: Schema.optionalKey<Schema.$Array<Schema.String>>;
229
- readonly report: Schema.optionalKey<Schema.$Array<Schema.Struct<{
230
- readonly line: Schema.Finite;
231
- readonly column: Schema.optionalKey<Schema.Finite>;
232
- readonly code: Schema.optionalKey<Schema.String>;
233
- readonly message: Schema.optionalKey<Schema.String>;
234
- }>>>;
235
- }>;
236
- declare const Campaign: Schema.Struct<{
237
- readonly id: Schema.String;
238
- readonly title: Schema.optionalKey<Schema.String>;
239
- readonly why: Schema.String;
240
- readonly how: Schema.String;
241
- readonly owner: Schema.optionalKey<Schema.String>;
242
- readonly scope: Schema.Union<readonly [Schema.String, Schema.$Array<Schema.String>]>;
243
- readonly unit: Schema.Literals<readonly ["file", "declaration", "match"]>;
244
- readonly detect: Schema.Union<readonly [Schema.Struct<{
245
- readonly all: Schema.$Array<Schema.suspend<Schema.Codec<DetectorSpec, DetectorSpec, never, never>>>;
246
- }>, Schema.Struct<{
247
- readonly any: Schema.$Array<Schema.suspend<Schema.Codec<DetectorSpec, DetectorSpec, never, never>>>;
248
- }>, Schema.Struct<{
249
- readonly not: Schema.suspend<Schema.Codec<DetectorSpec, DetectorSpec, never, never>>;
250
- }>, Schema.Struct<{
251
- readonly path: Schema.Struct<{
252
- readonly file: Schema.Union<readonly [Schema.String, Schema.$Array<Schema.String>]>;
253
- readonly fileNot: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.$Array<Schema.String>]>>;
254
- readonly subject: Schema.optionalKey<Schema.Finite>;
255
- readonly convention: Schema.optionalKey<Schema.Union<readonly [Schema.Literals<readonly ["kebab-case", "camelCase", "PascalCase", "snake_case"]>, Schema.Struct<{
256
- readonly regex: Schema.String;
257
- }>]>>;
258
- }>;
259
- }>, Schema.Struct<{
260
- readonly imports: Schema.Struct<{
261
- readonly resolves: Schema.Union<readonly [Schema.String, Schema.Struct<{
262
- readonly external: Schema.String;
263
- }>, Schema.Struct<{
264
- readonly builtin: Schema.String;
265
- }>]>;
266
- readonly symbols: Schema.optionalKey<Schema.$Array<Schema.String>>;
267
- }>;
268
- }>, Schema.Struct<{
269
- readonly exports: Schema.Struct<{
270
- readonly name: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.$Array<Schema.String>]>>;
271
- readonly kinds: Schema.optionalKey<Schema.$Array<Schema.Literals<readonly ["named", "default", "namespace"]>>>;
272
- readonly declares: Schema.optionalKey<Schema.$Array<Schema.Literals<readonly ["function", "class", "variable", "type", "interface", "enum", "expression", "other"]>>>;
273
- readonly reexport: Schema.optionalKey<Schema.Boolean>;
274
- }>;
275
- }>, Schema.Struct<{
276
- readonly members: Schema.Struct<{
277
- readonly subject: Schema.Literals<readonly ["members", "calls"]>;
278
- readonly name: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.$Array<Schema.String>]>>;
279
- readonly in: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.$Array<Schema.String>]>>;
280
- readonly declares: Schema.optionalKey<Schema.$Array<Schema.Literals<readonly ["function", "class", "variable", "type", "interface", "enum", "expression", "other"]>>>;
281
- }>;
282
- }>, Schema.Struct<{
283
- readonly requires: Schema.$Array<Schema.String>;
284
- }>, Schema.Struct<{
285
- readonly content: Schema.Struct<{
286
- readonly regex: Schema.String;
287
- }>;
288
- }>, Schema.Struct<{
289
- readonly syntax: Schema.Struct<{
290
- readonly pattern: Schema.optionalKey<Schema.Unknown>;
291
- readonly kind: Schema.optionalKey<Schema.Unknown>;
292
- readonly regex: Schema.optionalKey<Schema.Unknown>;
293
- readonly nthChild: Schema.optionalKey<Schema.Unknown>;
294
- readonly inside: Schema.optionalKey<Schema.Unknown>;
295
- readonly has: Schema.optionalKey<Schema.Unknown>;
296
- readonly precedes: Schema.optionalKey<Schema.Unknown>;
297
- readonly follows: Schema.optionalKey<Schema.Unknown>;
298
- readonly all: Schema.optionalKey<Schema.Unknown>;
299
- readonly any: Schema.optionalKey<Schema.Unknown>;
300
- readonly not: Schema.optionalKey<Schema.Unknown>;
301
- readonly where: Schema.optionalKey<Schema.$Record<Schema.String, Schema.Struct<{
302
- readonly regex: Schema.optionalKey<Schema.String>;
303
- readonly binding: Schema.optionalKey<Schema.Struct<{
304
- readonly resolves: Schema.Union<readonly [Schema.String, Schema.Struct<{
305
- readonly external: Schema.String;
306
- }>, Schema.Struct<{
307
- readonly builtin: Schema.String;
308
- }>]>;
309
- readonly member: Schema.optionalKey<Schema.$Array<Schema.String>>;
310
- }>>;
311
- }>>>;
312
- }>;
313
- }>, Schema.Struct<{
314
- readonly report: Schema.Struct<{
315
- readonly command: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.$Array<Schema.String>]>>;
316
- readonly file: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.$Array<Schema.String>]>>;
317
- readonly format: Schema.Literals<readonly ["tsc", "eslint", "oxlint", "regex"]>;
318
- readonly pattern: Schema.optionalKey<Schema.String>;
319
- readonly codes: Schema.optionalKey<Schema.$Array<Schema.String>>;
320
- readonly codesNot: Schema.optionalKey<Schema.$Array<Schema.String>>;
321
- }>;
322
- }>, Schema.Struct<{
323
- readonly fn: Schema.String;
324
- }>]>;
325
- readonly probes: Schema.Struct<{
326
- readonly fires: Schema.$Array<Schema.Struct<{
327
- readonly path: Schema.String;
328
- readonly source: Schema.optionalKey<Schema.String>;
329
- readonly edges: Schema.optionalKey<Schema.$Record<Schema.String, Schema.Union<readonly [Schema.String, Schema.Struct<{
330
- readonly external: Schema.String;
331
- }>, Schema.Struct<{
332
- readonly builtin: Schema.String;
333
- }>]>>>;
334
- readonly files: Schema.optionalKey<Schema.$Array<Schema.String>>;
335
- readonly report: Schema.optionalKey<Schema.$Array<Schema.Struct<{
336
- readonly line: Schema.Finite;
337
- readonly column: Schema.optionalKey<Schema.Finite>;
338
- readonly code: Schema.optionalKey<Schema.String>;
339
- readonly message: Schema.optionalKey<Schema.String>;
340
- }>>>;
341
- }>>;
342
- readonly ignores: Schema.optionalKey<Schema.$Array<Schema.Struct<{
343
- readonly path: Schema.String;
344
- readonly source: Schema.optionalKey<Schema.String>;
345
- readonly edges: Schema.optionalKey<Schema.$Record<Schema.String, Schema.Union<readonly [Schema.String, Schema.Struct<{
346
- readonly external: Schema.String;
347
- }>, Schema.Struct<{
348
- readonly builtin: Schema.String;
349
- }>]>>>;
350
- readonly files: Schema.optionalKey<Schema.$Array<Schema.String>>;
351
- readonly report: Schema.optionalKey<Schema.$Array<Schema.Struct<{
352
- readonly line: Schema.Finite;
353
- readonly column: Schema.optionalKey<Schema.Finite>;
354
- readonly code: Schema.optionalKey<Schema.String>;
355
- readonly message: Schema.optionalKey<Schema.String>;
356
- }>>>;
357
- }>>>;
358
- }>;
359
- readonly staleAfter: Schema.String;
360
- readonly onComplete: Schema.optionalKey<Schema.Literals<readonly ["keep", "remove"]>>;
361
- }>;
136
+ export declare const decodeManifestTree: (raw: unknown) => Result.Result<Readonly<Record<string, ManifestNode>>, string>;
362
137
  export declare const Manifest: Schema.Struct<{
363
138
  readonly resolve: Schema.Struct<{
364
139
  readonly scopes: Schema.$Array<Schema.Struct<{
@@ -430,133 +205,6 @@ export declare const Manifest: Schema.Struct<{
430
205
  readonly concentration: Schema.optionalKey<Schema.Finite>;
431
206
  }>>;
432
207
  }>>;
433
- readonly campaigns: Schema.optionalKey<Schema.$Array<Schema.Struct<{
434
- readonly id: Schema.String;
435
- readonly title: Schema.optionalKey<Schema.String>;
436
- readonly why: Schema.String;
437
- readonly how: Schema.String;
438
- readonly owner: Schema.optionalKey<Schema.String>;
439
- readonly scope: Schema.Union<readonly [Schema.String, Schema.$Array<Schema.String>]>;
440
- readonly unit: Schema.Literals<readonly ["file", "declaration", "match"]>;
441
- readonly detect: Schema.Union<readonly [Schema.Struct<{
442
- readonly all: Schema.$Array<Schema.suspend<Schema.Codec<DetectorSpec, DetectorSpec, never, never>>>;
443
- }>, Schema.Struct<{
444
- readonly any: Schema.$Array<Schema.suspend<Schema.Codec<DetectorSpec, DetectorSpec, never, never>>>;
445
- }>, Schema.Struct<{
446
- readonly not: Schema.suspend<Schema.Codec<DetectorSpec, DetectorSpec, never, never>>;
447
- }>, Schema.Struct<{
448
- readonly path: Schema.Struct<{
449
- readonly file: Schema.Union<readonly [Schema.String, Schema.$Array<Schema.String>]>;
450
- readonly fileNot: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.$Array<Schema.String>]>>;
451
- readonly subject: Schema.optionalKey<Schema.Finite>;
452
- readonly convention: Schema.optionalKey<Schema.Union<readonly [Schema.Literals<readonly ["kebab-case", "camelCase", "PascalCase", "snake_case"]>, Schema.Struct<{
453
- readonly regex: Schema.String;
454
- }>]>>;
455
- }>;
456
- }>, Schema.Struct<{
457
- readonly imports: Schema.Struct<{
458
- readonly resolves: Schema.Union<readonly [Schema.String, Schema.Struct<{
459
- readonly external: Schema.String;
460
- }>, Schema.Struct<{
461
- readonly builtin: Schema.String;
462
- }>]>;
463
- readonly symbols: Schema.optionalKey<Schema.$Array<Schema.String>>;
464
- }>;
465
- }>, Schema.Struct<{
466
- readonly exports: Schema.Struct<{
467
- readonly name: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.$Array<Schema.String>]>>;
468
- readonly kinds: Schema.optionalKey<Schema.$Array<Schema.Literals<readonly ["named", "default", "namespace"]>>>;
469
- readonly declares: Schema.optionalKey<Schema.$Array<Schema.Literals<readonly ["function", "class", "variable", "type", "interface", "enum", "expression", "other"]>>>;
470
- readonly reexport: Schema.optionalKey<Schema.Boolean>;
471
- }>;
472
- }>, Schema.Struct<{
473
- readonly members: Schema.Struct<{
474
- readonly subject: Schema.Literals<readonly ["members", "calls"]>;
475
- readonly name: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.$Array<Schema.String>]>>;
476
- readonly in: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.$Array<Schema.String>]>>;
477
- readonly declares: Schema.optionalKey<Schema.$Array<Schema.Literals<readonly ["function", "class", "variable", "type", "interface", "enum", "expression", "other"]>>>;
478
- }>;
479
- }>, Schema.Struct<{
480
- readonly requires: Schema.$Array<Schema.String>;
481
- }>, Schema.Struct<{
482
- readonly content: Schema.Struct<{
483
- readonly regex: Schema.String;
484
- }>;
485
- }>, Schema.Struct<{
486
- readonly syntax: Schema.Struct<{
487
- readonly pattern: Schema.optionalKey<Schema.Unknown>;
488
- readonly kind: Schema.optionalKey<Schema.Unknown>;
489
- readonly regex: Schema.optionalKey<Schema.Unknown>;
490
- readonly nthChild: Schema.optionalKey<Schema.Unknown>;
491
- readonly inside: Schema.optionalKey<Schema.Unknown>;
492
- readonly has: Schema.optionalKey<Schema.Unknown>;
493
- readonly precedes: Schema.optionalKey<Schema.Unknown>;
494
- readonly follows: Schema.optionalKey<Schema.Unknown>;
495
- readonly all: Schema.optionalKey<Schema.Unknown>;
496
- readonly any: Schema.optionalKey<Schema.Unknown>;
497
- readonly not: Schema.optionalKey<Schema.Unknown>;
498
- readonly where: Schema.optionalKey<Schema.$Record<Schema.String, Schema.Struct<{
499
- readonly regex: Schema.optionalKey<Schema.String>;
500
- readonly binding: Schema.optionalKey<Schema.Struct<{
501
- readonly resolves: Schema.Union<readonly [Schema.String, Schema.Struct<{
502
- readonly external: Schema.String;
503
- }>, Schema.Struct<{
504
- readonly builtin: Schema.String;
505
- }>]>;
506
- readonly member: Schema.optionalKey<Schema.$Array<Schema.String>>;
507
- }>>;
508
- }>>>;
509
- }>;
510
- }>, Schema.Struct<{
511
- readonly report: Schema.Struct<{
512
- readonly command: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.$Array<Schema.String>]>>;
513
- readonly file: Schema.optionalKey<Schema.Union<readonly [Schema.String, Schema.$Array<Schema.String>]>>;
514
- readonly format: Schema.Literals<readonly ["tsc", "eslint", "oxlint", "regex"]>;
515
- readonly pattern: Schema.optionalKey<Schema.String>;
516
- readonly codes: Schema.optionalKey<Schema.$Array<Schema.String>>;
517
- readonly codesNot: Schema.optionalKey<Schema.$Array<Schema.String>>;
518
- }>;
519
- }>, Schema.Struct<{
520
- readonly fn: Schema.String;
521
- }>]>;
522
- readonly probes: Schema.Struct<{
523
- readonly fires: Schema.$Array<Schema.Struct<{
524
- readonly path: Schema.String;
525
- readonly source: Schema.optionalKey<Schema.String>;
526
- readonly edges: Schema.optionalKey<Schema.$Record<Schema.String, Schema.Union<readonly [Schema.String, Schema.Struct<{
527
- readonly external: Schema.String;
528
- }>, Schema.Struct<{
529
- readonly builtin: Schema.String;
530
- }>]>>>;
531
- readonly files: Schema.optionalKey<Schema.$Array<Schema.String>>;
532
- readonly report: Schema.optionalKey<Schema.$Array<Schema.Struct<{
533
- readonly line: Schema.Finite;
534
- readonly column: Schema.optionalKey<Schema.Finite>;
535
- readonly code: Schema.optionalKey<Schema.String>;
536
- readonly message: Schema.optionalKey<Schema.String>;
537
- }>>>;
538
- }>>;
539
- readonly ignores: Schema.optionalKey<Schema.$Array<Schema.Struct<{
540
- readonly path: Schema.String;
541
- readonly source: Schema.optionalKey<Schema.String>;
542
- readonly edges: Schema.optionalKey<Schema.$Record<Schema.String, Schema.Union<readonly [Schema.String, Schema.Struct<{
543
- readonly external: Schema.String;
544
- }>, Schema.Struct<{
545
- readonly builtin: Schema.String;
546
- }>]>>>;
547
- readonly files: Schema.optionalKey<Schema.$Array<Schema.String>>;
548
- readonly report: Schema.optionalKey<Schema.$Array<Schema.Struct<{
549
- readonly line: Schema.Finite;
550
- readonly column: Schema.optionalKey<Schema.Finite>;
551
- readonly code: Schema.optionalKey<Schema.String>;
552
- readonly message: Schema.optionalKey<Schema.String>;
553
- }>>>;
554
- }>>>;
555
- }>;
556
- readonly staleAfter: Schema.String;
557
- readonly onComplete: Schema.optionalKey<Schema.Literals<readonly ["keep", "remove"]>>;
558
- }>>>;
559
- readonly ledger: Schema.optionalKey<Schema.String>;
560
208
  readonly aliases: Schema.optionalKey<Schema.$Record<Schema.String, Schema.String>>;
561
209
  readonly tree: Schema.$Record<Schema.String, Schema.Codec<ManifestNode, ManifestNode, never, never>>;
562
210
  }>;
@@ -569,19 +217,16 @@ export type GraphSpec = typeof Graph.Type;
569
217
  export type LimitsSpec = typeof Limits.Type;
570
218
  export type NamingSpec = typeof Naming.Type;
571
219
  export type ExportRestriction = typeof ExportRestriction.Type;
572
- export type CampaignSpec = typeof Campaign.Type;
573
- export type CampaignProbeSpec = typeof CampaignProbe.Type;
574
- export type SyntaxTermSpec = typeof SyntaxTerm.Type;
575
- export declare const DEFAULT_LEDGER_DIR = ".architecture-campaigns";
576
- export declare const durationMs: (duration: string) => number;
577
220
  export declare const globsOf: (globs: string | ReadonlyArray<string>) => ReadonlyArray<string>;
578
221
  export type DecodedManifest = {
579
222
  readonly manifest: Manifest;
223
+ readonly extensions: ReadonlyMap<string, unknown>;
580
224
  readonly notices: ReadonlyArray<string>;
581
225
  readonly substitutions: ReadonlyArray<Substitution>;
582
226
  };
583
227
  export type DecodeManifestOptions = {
584
228
  readonly locate?: ManifestLocator | undefined;
229
+ readonly extensions?: ReadonlyArray<ManifestExtension> | undefined;
585
230
  };
586
231
  export declare const decodeManifest: (configPath: string, input: unknown, options?: DecodeManifestOptions) => Result.Result<DecodedManifest, ConfigInvalid>;
587
232
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../../../src/manifest/manifest.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../../../src/manifest/manifest.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  export type FileSystem = {
2
2
  readonly exists: (repoRelativePath: string) => boolean;
3
3
  readonly readText: (repoRelativePath: string) => string | null;
4
+ readonly list: (repoRelativeDir: string) => ReadonlyArray<string>;
4
5
  };
5
6
  //# sourceMappingURL=file-system.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"file-system.d.ts","sourceRoot":"","sources":["../../../src/ports/file-system.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,UAAU,GAAG;IACvB,QAAQ,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,MAAM,KAAK,OAAO,CAAC;IAEvD,QAAQ,CAAC,QAAQ,EAAE,CAAC,gBAAgB,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;CAChE,CAAC"}
1
+ {"version":3,"file":"file-system.d.ts","sourceRoot":"","sources":["../../../src/ports/file-system.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,UAAU,GAAG;IACvB,QAAQ,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,MAAM,KAAK,OAAO,CAAC;IAEvD,QAAQ,CAAC,QAAQ,EAAE,CAAC,gBAAgB,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;IAG/D,QAAQ,CAAC,IAAI,EAAE,CAAC,eAAe,EAAE,MAAM,KAAK,aAAa,CAAC,MAAM,CAAC,CAAC;CACnE,CAAC"}
@@ -1,6 +1,5 @@
1
1
  export { makeFactExtractorFake } from "./infrastructure/fact-extractor-fake.js";
2
2
  export { makeFileSystemFake } from "./infrastructure/file-system-fake.js";
3
3
  export { makeModuleResolverFake } from "./infrastructure/module-resolver-fake.js";
4
- export { makeReportSourceFake } from "./infrastructure/report-source-fake.js";
5
4
  export { makeSyntaxMatcherFake, type StagedMatch } from "./infrastructure/syntax-matcher-fake.js";
6
5
  //# sourceMappingURL=testing.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"testing.d.ts","sourceRoot":"","sources":["../../src/testing.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,qBAAqB,EAAE,MAAM,yCAAyC,CAAC;AAChF,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAC1E,OAAO,EAAE,sBAAsB,EAAE,MAAM,0CAA0C,CAAC;AAClF,OAAO,EAAE,oBAAoB,EAAE,MAAM,wCAAwC,CAAC;AAC9E,OAAO,EAAE,qBAAqB,EAAE,KAAK,WAAW,EAAE,MAAM,yCAAyC,CAAC"}
1
+ {"version":3,"file":"testing.d.ts","sourceRoot":"","sources":["../../src/testing.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,qBAAqB,EAAE,MAAM,yCAAyC,CAAC;AAChF,OAAO,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAC1E,OAAO,EAAE,sBAAsB,EAAE,MAAM,0CAA0C,CAAC;AAClF,OAAO,EAAE,qBAAqB,EAAE,KAAK,WAAW,EAAE,MAAM,yCAAyC,CAAC"}
@@ -239,7 +239,7 @@ export const structureRulesFailingTheirProbe = (structure) => {
239
239
  failing.push(rule.name);
240
240
  }
241
241
  const layoutOnly = { ...structure, parity: [] };
242
- const reported = (file) => evaluateStructure(layoutOnly, { exists: () => true, readText: () => null }, file).map((violation) => violation.ruleName);
242
+ const reported = (file) => evaluateStructure(layoutOnly, { exists: () => true, readText: () => null, list: () => [] }, file).map((violation) => violation.ruleName);
243
243
  for (const rule of structure.folders) {
244
244
  // A folder that admits any name claims its folder but states no policy, so
245
245
  // there is nothing for a probe to demonstrate.
@@ -1 +1 @@
1
- {"version":3,"file":"structure.js","sourceRoot":"","sources":["../../../src/core/structure.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"structure.js","sourceRoot":"","sources":["../../../src/core/structure.ts"],"names":[],"mappings":"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"}