@agent-teams/engineering-foundation 0.2.1 → 0.4.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/README.md +15 -2
- package/dist/capabilities/public-api-compatibility/adapters/outbound/api-extractor/microsoft-public-api-extractor.d.ts +6 -0
- package/dist/capabilities/public-api-compatibility/adapters/outbound/api-extractor/microsoft-public-api-extractor.d.ts.map +1 -0
- package/dist/capabilities/public-api-compatibility/adapters/outbound/api-extractor/microsoft-public-api-extractor.js +143 -0
- package/dist/capabilities/public-api-compatibility/adapters/outbound/api-extractor/microsoft-public-api-extractor.js.map +1 -0
- package/dist/capabilities/public-api-compatibility/adapters/outbound/crypto/node-change-fingerprint.d.ts +5 -0
- package/dist/capabilities/public-api-compatibility/adapters/outbound/crypto/node-change-fingerprint.d.ts.map +1 -0
- package/dist/capabilities/public-api-compatibility/adapters/outbound/crypto/node-change-fingerprint.js +7 -0
- package/dist/capabilities/public-api-compatibility/adapters/outbound/crypto/node-change-fingerprint.js.map +1 -0
- package/dist/capabilities/public-api-compatibility/adapters/outbound/filesystem/filesystem-public-api-repository.d.ts +9 -0
- package/dist/capabilities/public-api-compatibility/adapters/outbound/filesystem/filesystem-public-api-repository.d.ts.map +1 -0
- package/dist/capabilities/public-api-compatibility/adapters/outbound/filesystem/filesystem-public-api-repository.js +205 -0
- package/dist/capabilities/public-api-compatibility/adapters/outbound/filesystem/filesystem-public-api-repository.js.map +1 -0
- package/dist/capabilities/public-api-compatibility/application/model/public-api.d.ts +46 -0
- package/dist/capabilities/public-api-compatibility/application/model/public-api.d.ts.map +1 -0
- package/dist/capabilities/public-api-compatibility/application/model/public-api.js +4 -0
- package/dist/capabilities/public-api-compatibility/application/model/public-api.js.map +1 -0
- package/dist/capabilities/public-api-compatibility/application/policies/evaluate-public-api-compatibility.d.ts +13 -0
- package/dist/capabilities/public-api-compatibility/application/policies/evaluate-public-api-compatibility.d.ts.map +1 -0
- package/dist/capabilities/public-api-compatibility/application/policies/evaluate-public-api-compatibility.js +168 -0
- package/dist/capabilities/public-api-compatibility/application/policies/evaluate-public-api-compatibility.js.map +1 -0
- package/dist/capabilities/public-api-compatibility/application/ports/change-fingerprint.d.ts +4 -0
- package/dist/capabilities/public-api-compatibility/application/ports/change-fingerprint.d.ts.map +1 -0
- package/dist/capabilities/public-api-compatibility/application/ports/change-fingerprint.js +2 -0
- package/dist/capabilities/public-api-compatibility/application/ports/change-fingerprint.js.map +1 -0
- package/dist/capabilities/public-api-compatibility/application/ports/public-api-extractor.d.ts +5 -0
- package/dist/capabilities/public-api-compatibility/application/ports/public-api-extractor.d.ts.map +1 -0
- package/dist/capabilities/public-api-compatibility/application/ports/public-api-extractor.js +2 -0
- package/dist/capabilities/public-api-compatibility/application/ports/public-api-extractor.js.map +1 -0
- package/dist/capabilities/public-api-compatibility/application/ports/public-api-repository.d.ts +8 -0
- package/dist/capabilities/public-api-compatibility/application/ports/public-api-repository.d.ts.map +1 -0
- package/dist/capabilities/public-api-compatibility/application/ports/public-api-repository.js +2 -0
- package/dist/capabilities/public-api-compatibility/application/ports/public-api-repository.js.map +1 -0
- package/dist/capabilities/public-api-compatibility/application/rules.d.ts +19 -0
- package/dist/capabilities/public-api-compatibility/application/rules.d.ts.map +1 -0
- package/dist/capabilities/public-api-compatibility/application/rules.js +20 -0
- package/dist/capabilities/public-api-compatibility/application/rules.js.map +1 -0
- package/dist/capabilities/public-api-compatibility/application/use-cases/analyze-public-api-compatibility.d.ts +15 -0
- package/dist/capabilities/public-api-compatibility/application/use-cases/analyze-public-api-compatibility.d.ts.map +1 -0
- package/dist/capabilities/public-api-compatibility/application/use-cases/analyze-public-api-compatibility.js +30 -0
- package/dist/capabilities/public-api-compatibility/application/use-cases/analyze-public-api-compatibility.js.map +1 -0
- package/dist/capabilities/public-api-compatibility/application/use-cases/promote-public-api-baselines.d.ts +14 -0
- package/dist/capabilities/public-api-compatibility/application/use-cases/promote-public-api-baselines.d.ts.map +1 -0
- package/dist/capabilities/public-api-compatibility/application/use-cases/promote-public-api-baselines.js +62 -0
- package/dist/capabilities/public-api-compatibility/application/use-cases/promote-public-api-baselines.js.map +1 -0
- package/dist/capabilities/public-api-compatibility/contract/config.d.ts +5 -0
- package/dist/capabilities/public-api-compatibility/contract/config.d.ts.map +1 -0
- package/dist/capabilities/public-api-compatibility/contract/config.js +104 -0
- package/dist/capabilities/public-api-compatibility/contract/config.js.map +1 -0
- package/dist/capabilities/public-api-compatibility/module.d.ts +10 -0
- package/dist/capabilities/public-api-compatibility/module.d.ts.map +1 -0
- package/dist/capabilities/public-api-compatibility/module.js +69 -0
- package/dist/capabilities/public-api-compatibility/module.js.map +1 -0
- package/dist/capabilities/repository-security-baseline/adapters/outbound/filesystem/filesystem-repository-security-reader.d.ts +6 -0
- package/dist/capabilities/repository-security-baseline/adapters/outbound/filesystem/filesystem-repository-security-reader.d.ts.map +1 -0
- package/dist/capabilities/repository-security-baseline/adapters/outbound/filesystem/filesystem-repository-security-reader.js +200 -0
- package/dist/capabilities/repository-security-baseline/adapters/outbound/filesystem/filesystem-repository-security-reader.js.map +1 -0
- package/dist/capabilities/repository-security-baseline/application/model/repository-security.d.ts +46 -0
- package/dist/capabilities/repository-security-baseline/application/model/repository-security.d.ts.map +1 -0
- package/dist/capabilities/repository-security-baseline/application/model/repository-security.js +2 -0
- package/dist/capabilities/repository-security-baseline/application/model/repository-security.js.map +1 -0
- package/dist/capabilities/repository-security-baseline/application/policies/evaluate-repository-security.d.ts +4 -0
- package/dist/capabilities/repository-security-baseline/application/policies/evaluate-repository-security.d.ts.map +1 -0
- package/dist/capabilities/repository-security-baseline/application/policies/evaluate-repository-security.js +218 -0
- package/dist/capabilities/repository-security-baseline/application/policies/evaluate-repository-security.js.map +1 -0
- package/dist/capabilities/repository-security-baseline/application/ports/repository-security-reader.d.ts +5 -0
- package/dist/capabilities/repository-security-baseline/application/ports/repository-security-reader.d.ts.map +1 -0
- package/dist/capabilities/repository-security-baseline/application/ports/repository-security-reader.js +2 -0
- package/dist/capabilities/repository-security-baseline/application/ports/repository-security-reader.js.map +1 -0
- package/dist/capabilities/repository-security-baseline/application/rules.d.ts +23 -0
- package/dist/capabilities/repository-security-baseline/application/rules.d.ts.map +1 -0
- package/dist/capabilities/repository-security-baseline/application/rules.js +24 -0
- package/dist/capabilities/repository-security-baseline/application/rules.js.map +1 -0
- package/dist/capabilities/repository-security-baseline/application/use-cases/analyze-repository-security.d.ts +9 -0
- package/dist/capabilities/repository-security-baseline/application/use-cases/analyze-repository-security.d.ts.map +1 -0
- package/dist/capabilities/repository-security-baseline/application/use-cases/analyze-repository-security.js +7 -0
- package/dist/capabilities/repository-security-baseline/application/use-cases/analyze-repository-security.js.map +1 -0
- package/dist/capabilities/repository-security-baseline/contract/config.d.ts +5 -0
- package/dist/capabilities/repository-security-baseline/contract/config.d.ts.map +1 -0
- package/dist/capabilities/repository-security-baseline/contract/config.js +86 -0
- package/dist/capabilities/repository-security-baseline/contract/config.js.map +1 -0
- package/dist/capabilities/repository-security-baseline/module.d.ts +5 -0
- package/dist/capabilities/repository-security-baseline/module.d.ts.map +1 -0
- package/dist/capabilities/repository-security-baseline/module.js +49 -0
- package/dist/capabilities/repository-security-baseline/module.js.map +1 -0
- package/dist/capabilities/source-dependencies/adapters/outbound/node/node-source-dependency-resolver.d.ts +6 -0
- package/dist/capabilities/source-dependencies/adapters/outbound/node/node-source-dependency-resolver.d.ts.map +1 -0
- package/dist/capabilities/source-dependencies/adapters/outbound/node/node-source-dependency-resolver.js +151 -0
- package/dist/capabilities/source-dependencies/adapters/outbound/node/node-source-dependency-resolver.js.map +1 -0
- package/dist/capabilities/source-dependencies/adapters/outbound/oxc/oxc-source-dependency-parser.d.ts +7 -0
- package/dist/capabilities/source-dependencies/adapters/outbound/oxc/oxc-source-dependency-parser.d.ts.map +1 -0
- package/dist/capabilities/source-dependencies/adapters/outbound/oxc/oxc-source-dependency-parser.js +96 -0
- package/dist/capabilities/source-dependencies/adapters/outbound/oxc/oxc-source-dependency-parser.js.map +1 -0
- package/dist/capabilities/source-dependencies/application/model/source-workspace.d.ts +66 -0
- package/dist/capabilities/source-dependencies/application/model/source-workspace.d.ts.map +1 -0
- package/dist/capabilities/source-dependencies/application/model/source-workspace.js +13 -0
- package/dist/capabilities/source-dependencies/application/model/source-workspace.js.map +1 -0
- package/dist/capabilities/source-dependencies/application/policies/evaluate-source-dependencies.d.ts +15 -0
- package/dist/capabilities/source-dependencies/application/policies/evaluate-source-dependencies.d.ts.map +1 -0
- package/dist/capabilities/source-dependencies/application/policies/evaluate-source-dependencies.js +223 -0
- package/dist/capabilities/source-dependencies/application/policies/evaluate-source-dependencies.js.map +1 -0
- package/dist/capabilities/source-dependencies/application/ports/source-dependency-parser.d.ts +6 -0
- package/dist/capabilities/source-dependencies/application/ports/source-dependency-parser.d.ts.map +1 -0
- package/dist/capabilities/source-dependencies/application/ports/source-dependency-parser.js +2 -0
- package/dist/capabilities/source-dependencies/application/ports/source-dependency-parser.js.map +1 -0
- package/dist/capabilities/source-dependencies/application/ports/source-dependency-resolver.d.ts +12 -0
- package/dist/capabilities/source-dependencies/application/ports/source-dependency-resolver.d.ts.map +1 -0
- package/dist/capabilities/source-dependencies/application/ports/source-dependency-resolver.js +2 -0
- package/dist/capabilities/source-dependencies/application/ports/source-dependency-resolver.js.map +1 -0
- package/dist/capabilities/source-dependencies/application/rules.d.ts +26 -0
- package/dist/capabilities/source-dependencies/application/rules.d.ts.map +1 -0
- package/dist/capabilities/source-dependencies/application/rules.js +27 -0
- package/dist/capabilities/source-dependencies/application/rules.js.map +1 -0
- package/dist/capabilities/source-dependencies/application/use-cases/analyze-source-dependencies.d.ts +19 -0
- package/dist/capabilities/source-dependencies/application/use-cases/analyze-source-dependencies.d.ts.map +1 -0
- package/dist/capabilities/source-dependencies/application/use-cases/analyze-source-dependencies.js +69 -0
- package/dist/capabilities/source-dependencies/application/use-cases/analyze-source-dependencies.js.map +1 -0
- package/dist/capabilities/source-dependencies/contract/config.d.ts +5 -0
- package/dist/capabilities/source-dependencies/contract/config.d.ts.map +1 -0
- package/dist/capabilities/source-dependencies/contract/config.js +108 -0
- package/dist/capabilities/source-dependencies/contract/config.js.map +1 -0
- package/dist/capabilities/source-dependencies/module.d.ts +5 -0
- package/dist/capabilities/source-dependencies/module.d.ts.map +1 -0
- package/dist/capabilities/source-dependencies/module.js +61 -0
- package/dist/capabilities/source-dependencies/module.js.map +1 -0
- package/dist/capabilities/suppression-governance/adapters/outbound/oxc/oxc-suppression-scanner.d.ts +7 -0
- package/dist/capabilities/suppression-governance/adapters/outbound/oxc/oxc-suppression-scanner.d.ts.map +1 -0
- package/dist/capabilities/suppression-governance/adapters/outbound/oxc/oxc-suppression-scanner.js +115 -0
- package/dist/capabilities/suppression-governance/adapters/outbound/oxc/oxc-suppression-scanner.js.map +1 -0
- package/dist/capabilities/suppression-governance/adapters/outbound/time/system-clock.d.ts +5 -0
- package/dist/capabilities/suppression-governance/adapters/outbound/time/system-clock.d.ts.map +1 -0
- package/dist/capabilities/suppression-governance/adapters/outbound/time/system-clock.js +6 -0
- package/dist/capabilities/suppression-governance/adapters/outbound/time/system-clock.js.map +1 -0
- package/dist/capabilities/suppression-governance/application/model/iso-date.d.ts +2 -0
- package/dist/capabilities/suppression-governance/application/model/iso-date.d.ts.map +1 -0
- package/dist/capabilities/suppression-governance/application/model/iso-date.js +27 -0
- package/dist/capabilities/suppression-governance/application/model/iso-date.js.map +1 -0
- package/dist/capabilities/suppression-governance/application/model/suppression-governance.d.ts +35 -0
- package/dist/capabilities/suppression-governance/application/model/suppression-governance.d.ts.map +1 -0
- package/dist/capabilities/suppression-governance/application/model/suppression-governance.js +8 -0
- package/dist/capabilities/suppression-governance/application/model/suppression-governance.js.map +1 -0
- package/dist/capabilities/suppression-governance/application/policies/evaluate-suppression-governance.d.ts +8 -0
- package/dist/capabilities/suppression-governance/application/policies/evaluate-suppression-governance.d.ts.map +1 -0
- package/dist/capabilities/suppression-governance/application/policies/evaluate-suppression-governance.js +196 -0
- package/dist/capabilities/suppression-governance/application/policies/evaluate-suppression-governance.js.map +1 -0
- package/dist/capabilities/suppression-governance/application/ports/calendar-clock.d.ts +4 -0
- package/dist/capabilities/suppression-governance/application/ports/calendar-clock.d.ts.map +1 -0
- package/dist/capabilities/suppression-governance/application/ports/calendar-clock.js +2 -0
- package/dist/capabilities/suppression-governance/application/ports/calendar-clock.js.map +1 -0
- package/dist/capabilities/suppression-governance/application/ports/suppression-scanner.d.ts +6 -0
- package/dist/capabilities/suppression-governance/application/ports/suppression-scanner.d.ts.map +1 -0
- package/dist/capabilities/suppression-governance/application/ports/suppression-scanner.js +2 -0
- package/dist/capabilities/suppression-governance/application/ports/suppression-scanner.js.map +1 -0
- package/dist/capabilities/suppression-governance/application/rules.d.ts +25 -0
- package/dist/capabilities/suppression-governance/application/rules.d.ts.map +1 -0
- package/dist/capabilities/suppression-governance/application/rules.js +26 -0
- package/dist/capabilities/suppression-governance/application/rules.js.map +1 -0
- package/dist/capabilities/suppression-governance/application/use-cases/analyze-suppression-governance.d.ts +15 -0
- package/dist/capabilities/suppression-governance/application/use-cases/analyze-suppression-governance.d.ts.map +1 -0
- package/dist/capabilities/suppression-governance/application/use-cases/analyze-suppression-governance.js +15 -0
- package/dist/capabilities/suppression-governance/application/use-cases/analyze-suppression-governance.js.map +1 -0
- package/dist/capabilities/suppression-governance/contract/config.d.ts +5 -0
- package/dist/capabilities/suppression-governance/contract/config.d.ts.map +1 -0
- package/dist/capabilities/suppression-governance/contract/config.js +108 -0
- package/dist/capabilities/suppression-governance/contract/config.js.map +1 -0
- package/dist/capabilities/suppression-governance/module.d.ts +5 -0
- package/dist/capabilities/suppression-governance/module.d.ts.map +1 -0
- package/dist/capabilities/suppression-governance/module.js +57 -0
- package/dist/capabilities/suppression-governance/module.js.map +1 -0
- package/dist/capabilities/workspace-dependency-declarations/adapters/outbound/pnpm-workspace/pnpm-workspace-reader.d.ts +1 -0
- package/dist/capabilities/workspace-dependency-declarations/adapters/outbound/pnpm-workspace/pnpm-workspace-reader.d.ts.map +1 -1
- package/dist/capabilities/workspace-dependency-declarations/adapters/outbound/pnpm-workspace/pnpm-workspace-reader.js +4 -195
- package/dist/capabilities/workspace-dependency-declarations/adapters/outbound/pnpm-workspace/pnpm-workspace-reader.js.map +1 -1
- package/dist/capabilities/workspace-dependency-declarations/application/model/workspace-dependency-policy.d.ts +6 -0
- package/dist/capabilities/workspace-dependency-declarations/application/model/workspace-dependency-policy.d.ts.map +1 -0
- package/dist/capabilities/workspace-dependency-declarations/application/model/workspace-dependency-policy.js +2 -0
- package/dist/capabilities/workspace-dependency-declarations/application/model/workspace-dependency-policy.js.map +1 -0
- package/dist/capabilities/workspace-dependency-declarations/application/model/workspace-snapshot.d.ts +1 -26
- package/dist/capabilities/workspace-dependency-declarations/application/model/workspace-snapshot.d.ts.map +1 -1
- package/dist/capabilities/workspace-dependency-declarations/application/model/workspace-snapshot.js +1 -6
- package/dist/capabilities/workspace-dependency-declarations/application/model/workspace-snapshot.js.map +1 -1
- package/dist/capabilities/workspace-dependency-declarations/application/policies/evaluate-workspace-dependencies.d.ts +1 -1
- package/dist/capabilities/workspace-dependency-declarations/application/policies/evaluate-workspace-dependencies.d.ts.map +1 -1
- package/dist/capabilities/workspace-dependency-declarations/contract/config.d.ts +1 -5
- package/dist/capabilities/workspace-dependency-declarations/contract/config.d.ts.map +1 -1
- package/dist/capabilities/workspace-dependency-declarations/contract/config.js.map +1 -1
- package/dist/capabilities/workspace-dependency-declarations/module.d.ts +2 -0
- package/dist/capabilities/workspace-dependency-declarations/module.d.ts.map +1 -1
- package/dist/capabilities/workspace-dependency-declarations/module.js +2 -0
- package/dist/capabilities/workspace-dependency-declarations/module.js.map +1 -1
- package/dist/capability-runtime.d.ts +1 -5
- package/dist/capability-runtime.d.ts.map +1 -1
- package/dist/capability-runtime.js +4 -4
- package/dist/capability-runtime.js.map +1 -1
- package/dist/check-contract.d.ts +3 -2
- package/dist/check-contract.d.ts.map +1 -1
- package/dist/check-runner.d.ts +0 -2
- package/dist/check-runner.d.ts.map +1 -1
- package/dist/check-runner.js +1 -7
- package/dist/check-runner.js.map +1 -1
- package/dist/cli.js +36 -7
- package/dist/cli.js.map +1 -1
- package/dist/composition/capability-registry.d.ts.map +1 -1
- package/dist/composition/capability-registry.js +8 -0
- package/dist/composition/capability-registry.js.map +1 -1
- package/dist/composition/rule-registry.d.ts +8 -0
- package/dist/composition/rule-registry.d.ts.map +1 -0
- package/dist/composition/rule-registry.js +13 -0
- package/dist/composition/rule-registry.js.map +1 -0
- package/dist/filesystem-path-safety.d.ts +2 -0
- package/dist/filesystem-path-safety.d.ts.map +1 -0
- package/dist/filesystem-path-safety.js +19 -0
- package/dist/filesystem-path-safety.js.map +1 -0
- package/dist/foundation-config.d.ts +5 -4
- package/dist/foundation-config.d.ts.map +1 -1
- package/dist/foundation-config.js +56 -15
- package/dist/foundation-config.js.map +1 -1
- package/dist/local-mode/adapters/outbound/time/system-clock.d.ts +2 -0
- package/dist/local-mode/adapters/outbound/time/system-clock.d.ts.map +1 -0
- package/dist/local-mode/adapters/outbound/time/system-clock.js +4 -0
- package/dist/local-mode/adapters/outbound/time/system-clock.js.map +1 -0
- package/dist/local-mode/consumer-policy.js +1 -1
- package/dist/local-mode/consumer-policy.js.map +1 -1
- package/dist/local-mode/service.d.ts +1 -1
- package/dist/local-mode/service.d.ts.map +1 -1
- package/dist/local-mode/service.js +1 -1
- package/dist/local-mode/service.js.map +1 -1
- package/dist/package-self-check.d.ts +2 -2
- package/dist/package-self-check.d.ts.map +1 -1
- package/dist/package-self-check.js +23 -20
- package/dist/package-self-check.js.map +1 -1
- package/dist/schema-catalog.d.ts +1 -3
- package/dist/schema-catalog.d.ts.map +1 -1
- package/dist/schema-catalog.js +2 -6
- package/dist/schema-catalog.js.map +1 -1
- package/dist/schema-ids.d.ts +3 -0
- package/dist/schema-ids.d.ts.map +1 -0
- package/dist/schema-ids.js +11 -0
- package/dist/schema-ids.js.map +1 -0
- package/dist/semantic-version.d.ts +2 -0
- package/dist/semantic-version.d.ts.map +1 -1
- package/dist/semantic-version.js +72 -1
- package/dist/semantic-version.js.map +1 -1
- package/dist/source-inventory/adapters/outbound/filesystem/filesystem-source-tree-reader.d.ts +6 -0
- package/dist/source-inventory/adapters/outbound/filesystem/filesystem-source-tree-reader.d.ts.map +1 -0
- package/dist/source-inventory/adapters/outbound/filesystem/filesystem-source-tree-reader.js +133 -0
- package/dist/source-inventory/adapters/outbound/filesystem/filesystem-source-tree-reader.js.map +1 -0
- package/dist/source-inventory/application/model/source-file-snapshot.d.ts +5 -0
- package/dist/source-inventory/application/model/source-file-snapshot.d.ts.map +1 -0
- package/dist/source-inventory/application/model/source-file-snapshot.js +2 -0
- package/dist/source-inventory/application/model/source-file-snapshot.js.map +1 -0
- package/dist/source-inventory/application/ports/source-tree-reader.d.ts +5 -0
- package/dist/source-inventory/application/ports/source-tree-reader.d.ts.map +1 -0
- package/dist/source-inventory/application/ports/source-tree-reader.js +2 -0
- package/dist/source-inventory/application/ports/source-tree-reader.js.map +1 -0
- package/dist/strict-yaml.d.ts +1 -2
- package/dist/strict-yaml.d.ts.map +1 -1
- package/dist/strict-yaml.js +3 -3
- package/dist/strict-yaml.js.map +1 -1
- package/dist/workspace-inventory/adapters/outbound/pnpm/pnpm-workspace-inventory-reader.d.ts +6 -0
- package/dist/workspace-inventory/adapters/outbound/pnpm/pnpm-workspace-inventory-reader.d.ts.map +1 -0
- package/dist/workspace-inventory/adapters/outbound/pnpm/pnpm-workspace-inventory-reader.js +288 -0
- package/dist/workspace-inventory/adapters/outbound/pnpm/pnpm-workspace-inventory-reader.js.map +1 -0
- package/dist/workspace-inventory/application/model/workspace-inventory.d.ts +38 -0
- package/dist/workspace-inventory/application/model/workspace-inventory.d.ts.map +1 -0
- package/dist/workspace-inventory/application/model/workspace-inventory.js +7 -0
- package/dist/workspace-inventory/application/model/workspace-inventory.js.map +1 -0
- package/dist/workspace-inventory/application/ports/workspace-inventory-reader.d.ts +5 -0
- package/dist/workspace-inventory/application/ports/workspace-inventory-reader.d.ts.map +1 -0
- package/dist/workspace-inventory/application/ports/workspace-inventory-reader.js +2 -0
- package/dist/workspace-inventory/application/ports/workspace-inventory-reader.js.map +1 -0
- package/package.json +7 -1
- package/presets/oxlint/base.json +2 -0
- package/presets/oxlint/type-aware.json +39 -0
- package/schemas/architecture-source-dependencies/v1.schema.json +97 -0
- package/schemas/foundation-config/v1.schema.json +40 -0
- package/schemas/package-public-api-baseline/v1.schema.json +39 -0
- package/schemas/package-public-api-compatibility/v1.schema.json +70 -0
- package/schemas/quality-suppression-governance/v1.schema.json +109 -0
- package/schemas/repository-security-baseline/v1.schema.json +57 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workspace-inventory-reader.d.ts","sourceRoot":"","sources":["../../../../src/workspace-inventory/application/ports/workspace-inventory-reader.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAE1E,MAAM,WAAW,wBAAwB;IACvC,IAAI,CACF,YAAY,EAAE,MAAM,EACpB,qBAAqB,EAAE,MAAM,EAC7B,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,kBAAkB,CAAC,CAAC;CAChC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workspace-inventory-reader.js","sourceRoot":"","sources":["../../../../src/workspace-inventory/application/ports/workspace-inventory-reader.ts"],"names":[],"mappings":""}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@agent-teams/engineering-foundation",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.0",
|
|
4
4
|
"description": "Versioned engineering policy, tooling, and conformance for Agent Teams repositories.",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"type": "module",
|
|
@@ -54,8 +54,14 @@
|
|
|
54
54
|
]
|
|
55
55
|
},
|
|
56
56
|
"dependencies": {
|
|
57
|
+
"@microsoft/api-extractor": "7.58.12",
|
|
58
|
+
"@microsoft/api-extractor-model": "7.33.10",
|
|
57
59
|
"ajv": "8.20.0",
|
|
60
|
+
"oxc-parser": "0.142.0",
|
|
58
61
|
"proper-lockfile": "4.1.2",
|
|
59
62
|
"yaml": "2.9.0"
|
|
63
|
+
},
|
|
64
|
+
"scripts": {
|
|
65
|
+
"build": "tsc --build tsconfig.json --pretty false"
|
|
60
66
|
}
|
|
61
67
|
}
|
package/presets/oxlint/base.json
CHANGED
|
@@ -21,6 +21,7 @@
|
|
|
21
21
|
"array-callback-return": "error",
|
|
22
22
|
"curly": "error",
|
|
23
23
|
"eqeqeq": "error",
|
|
24
|
+
"import/no-cycle": "error",
|
|
24
25
|
"import/no-duplicates": "error",
|
|
25
26
|
"import/no-mutable-exports": "error",
|
|
26
27
|
"import/no-self-import": "error",
|
|
@@ -30,6 +31,7 @@
|
|
|
30
31
|
"no-promise-executor-return": "error",
|
|
31
32
|
"no-prototype-builtins": "error",
|
|
32
33
|
"oxc/no-accumulating-spread": "error",
|
|
34
|
+
"promise/no-multiple-resolved": "error",
|
|
33
35
|
"promise/no-return-wrap": "error",
|
|
34
36
|
"promise/param-names": "error",
|
|
35
37
|
"unicorn/error-message": "error",
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
{
|
|
2
|
+
"extends": ["./node.json"],
|
|
3
|
+
"options": {
|
|
4
|
+
"typeAware": true,
|
|
5
|
+
"typeCheck": false
|
|
6
|
+
},
|
|
7
|
+
"rules": {
|
|
8
|
+
"typescript/await-thenable": "error",
|
|
9
|
+
"typescript/consistent-return": "off",
|
|
10
|
+
"typescript/no-array-delete": "error",
|
|
11
|
+
"typescript/no-base-to-string": "error",
|
|
12
|
+
"typescript/no-confusing-void-expression": "error",
|
|
13
|
+
"typescript/no-deprecated": "error",
|
|
14
|
+
"typescript/no-floating-promises": "error",
|
|
15
|
+
"typescript/no-for-in-array": "error",
|
|
16
|
+
"typescript/no-misused-promises": "error",
|
|
17
|
+
"typescript/no-misused-spread": "error",
|
|
18
|
+
"typescript/no-unnecessary-condition": "error",
|
|
19
|
+
"typescript/no-unnecessary-type-assertion": "error",
|
|
20
|
+
"typescript/no-unsafe-argument": "error",
|
|
21
|
+
"typescript/no-unsafe-assignment": "error",
|
|
22
|
+
"typescript/no-unsafe-call": "error",
|
|
23
|
+
"typescript/no-unsafe-declaration-merging": "error",
|
|
24
|
+
"typescript/no-unsafe-enum-comparison": "error",
|
|
25
|
+
"typescript/no-unsafe-function-type": "error",
|
|
26
|
+
"typescript/no-unsafe-member-access": "error",
|
|
27
|
+
"typescript/no-unsafe-return": "error",
|
|
28
|
+
"typescript/no-unsafe-type-assertion": "off",
|
|
29
|
+
"typescript/no-unsafe-unary-minus": "error",
|
|
30
|
+
"typescript/only-throw-error": "error",
|
|
31
|
+
"typescript/prefer-readonly": "error",
|
|
32
|
+
"typescript/require-array-sort-compare": "error",
|
|
33
|
+
"typescript/restrict-template-expressions": "error",
|
|
34
|
+
"typescript/strict-boolean-expressions": "error",
|
|
35
|
+
"typescript/switch-exhaustiveness-check": "error",
|
|
36
|
+
"typescript/unbound-method": "error",
|
|
37
|
+
"typescript/use-unknown-in-catch-callback-variable": "error"
|
|
38
|
+
}
|
|
39
|
+
}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://schemas.agent-teams.ai/engineering-foundation/architecture-source-dependencies/v1",
|
|
4
|
+
"title": "Source dependency architecture capability configuration",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"additionalProperties": false,
|
|
7
|
+
"required": ["schemaVersion", "workspace", "governedRoots", "boundaries"],
|
|
8
|
+
"properties": {
|
|
9
|
+
"schemaVersion": { "const": 1 },
|
|
10
|
+
"workspace": {
|
|
11
|
+
"type": "object",
|
|
12
|
+
"additionalProperties": false,
|
|
13
|
+
"required": ["kind", "manifest"],
|
|
14
|
+
"properties": {
|
|
15
|
+
"kind": { "const": "pnpm" },
|
|
16
|
+
"manifest": { "const": "pnpm-workspace.yaml" }
|
|
17
|
+
}
|
|
18
|
+
},
|
|
19
|
+
"governedRoots": {
|
|
20
|
+
"type": "array",
|
|
21
|
+
"minItems": 1,
|
|
22
|
+
"uniqueItems": true,
|
|
23
|
+
"items": { "$ref": "#/$defs/repositoryDirectory" }
|
|
24
|
+
},
|
|
25
|
+
"boundaries": {
|
|
26
|
+
"type": "array",
|
|
27
|
+
"minItems": 1,
|
|
28
|
+
"maxItems": 5000,
|
|
29
|
+
"items": { "$ref": "#/$defs/boundary" }
|
|
30
|
+
}
|
|
31
|
+
},
|
|
32
|
+
"$defs": {
|
|
33
|
+
"repositoryDirectory": {
|
|
34
|
+
"type": "string",
|
|
35
|
+
"minLength": 1,
|
|
36
|
+
"maxLength": 240,
|
|
37
|
+
"pattern": "^(?!/)(?!.*\\\\)(?!.*(?:^|/)\\.{1,2}(?:/|$))[^*?{}[\\]]+$"
|
|
38
|
+
},
|
|
39
|
+
"boundaryId": {
|
|
40
|
+
"type": "string",
|
|
41
|
+
"minLength": 1,
|
|
42
|
+
"maxLength": 120,
|
|
43
|
+
"pattern": "^[a-z0-9](?:[a-z0-9._-]{0,118}[a-z0-9])?$"
|
|
44
|
+
},
|
|
45
|
+
"packageName": {
|
|
46
|
+
"type": "string",
|
|
47
|
+
"pattern": "^(?:@[a-z0-9][a-z0-9._-]*/)?[a-z0-9][a-z0-9._-]*$"
|
|
48
|
+
},
|
|
49
|
+
"builtinName": {
|
|
50
|
+
"type": "string",
|
|
51
|
+
"pattern": "^node:[a-z0-9_./-]+$"
|
|
52
|
+
},
|
|
53
|
+
"boundary": {
|
|
54
|
+
"type": "object",
|
|
55
|
+
"additionalProperties": false,
|
|
56
|
+
"required": ["id", "roots", "allow"],
|
|
57
|
+
"properties": {
|
|
58
|
+
"id": { "$ref": "#/$defs/boundaryId" },
|
|
59
|
+
"roots": {
|
|
60
|
+
"type": "array",
|
|
61
|
+
"minItems": 1,
|
|
62
|
+
"uniqueItems": true,
|
|
63
|
+
"items": { "$ref": "#/$defs/repositoryDirectory" }
|
|
64
|
+
},
|
|
65
|
+
"allow": {
|
|
66
|
+
"type": "object",
|
|
67
|
+
"additionalProperties": false,
|
|
68
|
+
"required": ["boundaries", "packages", "builtins", "runtimeReferences"],
|
|
69
|
+
"properties": {
|
|
70
|
+
"boundaries": {
|
|
71
|
+
"type": "array",
|
|
72
|
+
"uniqueItems": true,
|
|
73
|
+
"items": { "$ref": "#/$defs/boundaryId" }
|
|
74
|
+
},
|
|
75
|
+
"packages": {
|
|
76
|
+
"type": "array",
|
|
77
|
+
"uniqueItems": true,
|
|
78
|
+
"items": { "$ref": "#/$defs/packageName" }
|
|
79
|
+
},
|
|
80
|
+
"builtins": {
|
|
81
|
+
"type": "array",
|
|
82
|
+
"uniqueItems": true,
|
|
83
|
+
"items": { "$ref": "#/$defs/builtinName" }
|
|
84
|
+
},
|
|
85
|
+
"runtimeReferences": {
|
|
86
|
+
"type": "array",
|
|
87
|
+
"uniqueItems": true,
|
|
88
|
+
"items": {
|
|
89
|
+
"enum": ["commonjs", "dynamic", "type-query"]
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
}
|
|
@@ -25,6 +25,46 @@
|
|
|
25
25
|
"additionalProperties": false,
|
|
26
26
|
"minProperties": 1,
|
|
27
27
|
"properties": {
|
|
28
|
+
"package.public-api-compatibility": {
|
|
29
|
+
"type": "object",
|
|
30
|
+
"additionalProperties": false,
|
|
31
|
+
"required": ["configPath"],
|
|
32
|
+
"properties": {
|
|
33
|
+
"configPath": {
|
|
34
|
+
"$ref": "#/$defs/repositoryRelativeYamlPath"
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
},
|
|
38
|
+
"quality.suppression-governance": {
|
|
39
|
+
"type": "object",
|
|
40
|
+
"additionalProperties": false,
|
|
41
|
+
"required": ["configPath"],
|
|
42
|
+
"properties": {
|
|
43
|
+
"configPath": {
|
|
44
|
+
"$ref": "#/$defs/repositoryRelativeYamlPath"
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
},
|
|
48
|
+
"repository.security-baseline": {
|
|
49
|
+
"type": "object",
|
|
50
|
+
"additionalProperties": false,
|
|
51
|
+
"required": ["configPath"],
|
|
52
|
+
"properties": {
|
|
53
|
+
"configPath": {
|
|
54
|
+
"$ref": "#/$defs/repositoryRelativeYamlPath"
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
},
|
|
58
|
+
"architecture.source-dependencies": {
|
|
59
|
+
"type": "object",
|
|
60
|
+
"additionalProperties": false,
|
|
61
|
+
"required": ["configPath"],
|
|
62
|
+
"properties": {
|
|
63
|
+
"configPath": {
|
|
64
|
+
"$ref": "#/$defs/repositoryRelativeYamlPath"
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
},
|
|
28
68
|
"workspace.dependency-declarations": {
|
|
29
69
|
"type": "object",
|
|
30
70
|
"additionalProperties": false,
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://schemas.agent-teams.ai/engineering-foundation/package-public-api-baseline/v1",
|
|
4
|
+
"title": "Released public API baseline",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"additionalProperties": false,
|
|
7
|
+
"required": [
|
|
8
|
+
"schemaVersion",
|
|
9
|
+
"packageName",
|
|
10
|
+
"packageVersion",
|
|
11
|
+
"extractorVersion",
|
|
12
|
+
"items"
|
|
13
|
+
],
|
|
14
|
+
"properties": {
|
|
15
|
+
"schemaVersion": { "const": 1 },
|
|
16
|
+
"packageName": { "type": "string", "minLength": 1, "maxLength": 214 },
|
|
17
|
+
"packageVersion": {
|
|
18
|
+
"type": "string",
|
|
19
|
+
"pattern": "^(?:0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)\\.(?:0|[1-9][0-9]*)(?:-(?:(?:0|[1-9][0-9]*|[0-9]*[A-Za-z-][0-9A-Za-z-]*)(?:\\.(?:0|[1-9][0-9]*|[0-9]*[A-Za-z-][0-9A-Za-z-]*))*))?(?:\\+[0-9A-Za-z-]+(?:\\.[0-9A-Za-z-]+)*)?$"
|
|
20
|
+
},
|
|
21
|
+
"extractorVersion": { "type": "string", "minLength": 1, "maxLength": 40 },
|
|
22
|
+
"items": {
|
|
23
|
+
"type": "array",
|
|
24
|
+
"maxItems": 100000,
|
|
25
|
+
"items": {
|
|
26
|
+
"type": "object",
|
|
27
|
+
"additionalProperties": false,
|
|
28
|
+
"required": ["canonicalReference", "kind", "parentKind", "signature"],
|
|
29
|
+
"properties": {
|
|
30
|
+
"canonicalReference": { "type": "string", "minLength": 1, "maxLength": 1000 },
|
|
31
|
+
"kind": { "type": "string", "minLength": 1, "maxLength": 80 },
|
|
32
|
+
"parentReference": { "type": "string", "minLength": 1, "maxLength": 1000 },
|
|
33
|
+
"parentKind": { "type": "string", "minLength": 1, "maxLength": 80 },
|
|
34
|
+
"signature": { "type": "string", "minLength": 1, "maxLength": 10000 }
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://schemas.agent-teams.ai/engineering-foundation/package-public-api-compatibility/v1",
|
|
4
|
+
"title": "Public API compatibility capability configuration",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"additionalProperties": false,
|
|
7
|
+
"required": ["schemaVersion", "changesetDirectory", "packages"],
|
|
8
|
+
"properties": {
|
|
9
|
+
"schemaVersion": { "const": 1 },
|
|
10
|
+
"changesetDirectory": { "$ref": "#/$defs/repositoryPath" },
|
|
11
|
+
"packages": {
|
|
12
|
+
"type": "array",
|
|
13
|
+
"minItems": 1,
|
|
14
|
+
"maxItems": 100,
|
|
15
|
+
"items": { "$ref": "#/$defs/package" }
|
|
16
|
+
}
|
|
17
|
+
},
|
|
18
|
+
"$defs": {
|
|
19
|
+
"repositoryPath": {
|
|
20
|
+
"type": "string",
|
|
21
|
+
"minLength": 1,
|
|
22
|
+
"maxLength": 300,
|
|
23
|
+
"pattern": "^(?!/)(?!.*\\\\)(?!.*(?:^|/)\\.\\.(?:/|$))(?!.*[*?{}[\\]]).+$"
|
|
24
|
+
},
|
|
25
|
+
"packageName": {
|
|
26
|
+
"type": "string",
|
|
27
|
+
"minLength": 1,
|
|
28
|
+
"maxLength": 214,
|
|
29
|
+
"pattern": "^(?:@[a-z0-9][a-z0-9._-]*/)?[a-z0-9][a-z0-9._-]*$"
|
|
30
|
+
},
|
|
31
|
+
"fingerprint": {
|
|
32
|
+
"type": "string",
|
|
33
|
+
"pattern": "^sha256:[a-f0-9]{64}$"
|
|
34
|
+
},
|
|
35
|
+
"package": {
|
|
36
|
+
"type": "object",
|
|
37
|
+
"additionalProperties": false,
|
|
38
|
+
"required": [
|
|
39
|
+
"packageName",
|
|
40
|
+
"packageRoot",
|
|
41
|
+
"manifestPath",
|
|
42
|
+
"declarationEntryPoint",
|
|
43
|
+
"tsconfigPath",
|
|
44
|
+
"releasedBaselinePath",
|
|
45
|
+
"approvedBreakingChanges"
|
|
46
|
+
],
|
|
47
|
+
"properties": {
|
|
48
|
+
"packageName": { "$ref": "#/$defs/packageName" },
|
|
49
|
+
"packageRoot": { "$ref": "#/$defs/repositoryPath" },
|
|
50
|
+
"manifestPath": { "$ref": "#/$defs/repositoryPath" },
|
|
51
|
+
"declarationEntryPoint": { "$ref": "#/$defs/repositoryPath" },
|
|
52
|
+
"tsconfigPath": { "$ref": "#/$defs/repositoryPath" },
|
|
53
|
+
"releasedBaselinePath": { "$ref": "#/$defs/repositoryPath" },
|
|
54
|
+
"approvedBreakingChanges": {
|
|
55
|
+
"type": "array",
|
|
56
|
+
"maxItems": 100,
|
|
57
|
+
"items": {
|
|
58
|
+
"type": "object",
|
|
59
|
+
"additionalProperties": false,
|
|
60
|
+
"required": ["fingerprint", "decisionPath"],
|
|
61
|
+
"properties": {
|
|
62
|
+
"fingerprint": { "$ref": "#/$defs/fingerprint" },
|
|
63
|
+
"decisionPath": { "$ref": "#/$defs/repositoryPath" }
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
}
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://schemas.agent-teams.ai/engineering-foundation/quality-suppression-governance/v1",
|
|
4
|
+
"title": "Suppression governance capability configuration",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"additionalProperties": false,
|
|
7
|
+
"required": ["schemaVersion", "governedRoots", "nonWaivableRulePrefixes", "waivers"],
|
|
8
|
+
"properties": {
|
|
9
|
+
"schemaVersion": { "const": 1 },
|
|
10
|
+
"governedRoots": {
|
|
11
|
+
"type": "array",
|
|
12
|
+
"minItems": 1,
|
|
13
|
+
"maxItems": 100,
|
|
14
|
+
"uniqueItems": true,
|
|
15
|
+
"items": { "$ref": "#/$defs/repositoryPath" }
|
|
16
|
+
},
|
|
17
|
+
"nonWaivableRulePrefixes": {
|
|
18
|
+
"type": "array",
|
|
19
|
+
"maxItems": 100,
|
|
20
|
+
"uniqueItems": true,
|
|
21
|
+
"items": {
|
|
22
|
+
"type": "string",
|
|
23
|
+
"minLength": 2,
|
|
24
|
+
"maxLength": 100,
|
|
25
|
+
"pattern": "^[a-z0-9][a-z0-9./-]*[.-]$"
|
|
26
|
+
}
|
|
27
|
+
},
|
|
28
|
+
"waivers": {
|
|
29
|
+
"type": "array",
|
|
30
|
+
"maxItems": 10000,
|
|
31
|
+
"items": { "$ref": "#/$defs/waiver" }
|
|
32
|
+
}
|
|
33
|
+
},
|
|
34
|
+
"$defs": {
|
|
35
|
+
"repositoryPath": {
|
|
36
|
+
"type": "string",
|
|
37
|
+
"minLength": 1,
|
|
38
|
+
"maxLength": 300,
|
|
39
|
+
"pattern": "^(?!/)(?!.*\\\\)(?!.*(?:^|/)\\.\\.(?:/|$))(?!.*[*?{}[\\]]).+$"
|
|
40
|
+
},
|
|
41
|
+
"waiverId": {
|
|
42
|
+
"type": "string",
|
|
43
|
+
"minLength": 5,
|
|
44
|
+
"maxLength": 80,
|
|
45
|
+
"pattern": "^[A-Z][A-Z0-9]*(?:-[A-Z0-9]+)+$"
|
|
46
|
+
},
|
|
47
|
+
"ruleId": {
|
|
48
|
+
"type": "string",
|
|
49
|
+
"minLength": 2,
|
|
50
|
+
"maxLength": 160,
|
|
51
|
+
"pattern": "^[a-z0-9@][a-zA-Z0-9@/._:-]*$"
|
|
52
|
+
},
|
|
53
|
+
"waiver": {
|
|
54
|
+
"type": "object",
|
|
55
|
+
"additionalProperties": false,
|
|
56
|
+
"required": [
|
|
57
|
+
"id",
|
|
58
|
+
"path",
|
|
59
|
+
"line",
|
|
60
|
+
"directive",
|
|
61
|
+
"rules",
|
|
62
|
+
"owner",
|
|
63
|
+
"reason",
|
|
64
|
+
"createdOn",
|
|
65
|
+
"expiresOn",
|
|
66
|
+
"decisionRef"
|
|
67
|
+
],
|
|
68
|
+
"properties": {
|
|
69
|
+
"id": { "$ref": "#/$defs/waiverId" },
|
|
70
|
+
"path": { "$ref": "#/$defs/repositoryPath" },
|
|
71
|
+
"line": { "type": "integer", "minimum": 1, "maximum": 10000000 },
|
|
72
|
+
"directive": {
|
|
73
|
+
"enum": [
|
|
74
|
+
"oxlint-disable-line",
|
|
75
|
+
"oxlint-disable-next-line",
|
|
76
|
+
"typescript-expect-error",
|
|
77
|
+
"ast-grep-ignore"
|
|
78
|
+
]
|
|
79
|
+
},
|
|
80
|
+
"rules": {
|
|
81
|
+
"type": "array",
|
|
82
|
+
"minItems": 1,
|
|
83
|
+
"maxItems": 50,
|
|
84
|
+
"uniqueItems": true,
|
|
85
|
+
"items": { "$ref": "#/$defs/ruleId" }
|
|
86
|
+
},
|
|
87
|
+
"owner": {
|
|
88
|
+
"type": "string",
|
|
89
|
+
"minLength": 2,
|
|
90
|
+
"maxLength": 120,
|
|
91
|
+
"pattern": "^[a-z0-9][a-z0-9./-]*$"
|
|
92
|
+
},
|
|
93
|
+
"reason": { "type": "string", "minLength": 20, "maxLength": 500 },
|
|
94
|
+
"createdOn": { "$ref": "#/$defs/date" },
|
|
95
|
+
"expiresOn": { "$ref": "#/$defs/date" },
|
|
96
|
+
"decisionRef": {
|
|
97
|
+
"type": "string",
|
|
98
|
+
"minLength": 3,
|
|
99
|
+
"maxLength": 240,
|
|
100
|
+
"pattern": "^[^\\s]+$"
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
},
|
|
104
|
+
"date": {
|
|
105
|
+
"type": "string",
|
|
106
|
+
"pattern": "^20[0-9]{2}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[12][0-9]|3[01])$"
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://schemas.agent-teams.ai/engineering-foundation/repository-security-baseline/v1",
|
|
4
|
+
"title": "Repository security baseline capability configuration",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"additionalProperties": false,
|
|
7
|
+
"required": [
|
|
8
|
+
"schemaVersion",
|
|
9
|
+
"workflowDirectory",
|
|
10
|
+
"dependencyReviewWorkflow",
|
|
11
|
+
"sbomWorkflow",
|
|
12
|
+
"privilegedJobs",
|
|
13
|
+
"publishablePackageManifests"
|
|
14
|
+
],
|
|
15
|
+
"properties": {
|
|
16
|
+
"schemaVersion": { "const": 1 },
|
|
17
|
+
"workflowDirectory": { "$ref": "#/$defs/repositoryPath" },
|
|
18
|
+
"dependencyReviewWorkflow": { "$ref": "#/$defs/repositoryPath" },
|
|
19
|
+
"sbomWorkflow": { "$ref": "#/$defs/repositoryPath" },
|
|
20
|
+
"privilegedJobs": {
|
|
21
|
+
"type": "array",
|
|
22
|
+
"maxItems": 100,
|
|
23
|
+
"items": {
|
|
24
|
+
"type": "object",
|
|
25
|
+
"additionalProperties": false,
|
|
26
|
+
"required": ["workflowPath", "jobId", "permissions"],
|
|
27
|
+
"properties": {
|
|
28
|
+
"workflowPath": { "$ref": "#/$defs/repositoryPath" },
|
|
29
|
+
"jobId": { "type": "string", "pattern": "^[A-Za-z0-9_-]{1,100}$" },
|
|
30
|
+
"permissions": { "$ref": "#/$defs/permissions" }
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
},
|
|
34
|
+
"publishablePackageManifests": {
|
|
35
|
+
"type": "array",
|
|
36
|
+
"minItems": 1,
|
|
37
|
+
"maxItems": 100,
|
|
38
|
+
"uniqueItems": true,
|
|
39
|
+
"items": { "$ref": "#/$defs/repositoryPath" }
|
|
40
|
+
}
|
|
41
|
+
},
|
|
42
|
+
"$defs": {
|
|
43
|
+
"repositoryPath": {
|
|
44
|
+
"type": "string",
|
|
45
|
+
"minLength": 1,
|
|
46
|
+
"maxLength": 500,
|
|
47
|
+
"pattern": "^(?!/)(?!.*(?:^|/)\\.\\.(?:/|$))(?!.*\\\\)(?!.*//)[^\\u0000]+$"
|
|
48
|
+
},
|
|
49
|
+
"permissions": {
|
|
50
|
+
"type": "object",
|
|
51
|
+
"minProperties": 1,
|
|
52
|
+
"maxProperties": 30,
|
|
53
|
+
"propertyNames": { "pattern": "^[a-z-]{1,50}$" },
|
|
54
|
+
"additionalProperties": { "enum": ["none", "read", "write"] }
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
}
|