@devtrack-solution/codesdd 1.2.3 → 1.2.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.sdd/skills/curated/devtrack-api/SKILL.md +98 -12
- package/.sdd/skills/curated/devtrack-api/agents/claude-code.yaml +10 -0
- package/.sdd/skills/curated/devtrack-api/agents/codex.yaml +10 -0
- package/.sdd/skills/curated/devtrack-api/agents/cursor.yaml +10 -0
- package/.sdd/skills/curated/devtrack-api/agents/gemini.yaml +10 -0
- package/.sdd/skills/curated/devtrack-api/agents/kimi.yaml +10 -0
- package/.sdd/skills/curated/devtrack-api/agents/openai.yaml +5 -3
- package/.sdd/skills/curated/devtrack-api/agents/opencode.yaml +12 -0
- package/.sdd/skills/curated/devtrack-api/references/application-presentation.md +61 -5
- package/.sdd/skills/curated/devtrack-api/references/consumer-sync-policy.md +15 -3
- package/.sdd/skills/curated/devtrack-api/references/contract-pack.yaml +1951 -0
- package/.sdd/skills/curated/devtrack-api/references/domain-modeling.md +16 -14
- package/.sdd/skills/curated/devtrack-api/references/field-validation-protocol.md +40 -0
- package/.sdd/skills/curated/devtrack-api/references/foundation-layout.md +19 -2
- package/.sdd/skills/curated/devtrack-api/references/generated-artifact-invalidation.md +97 -0
- package/.sdd/skills/curated/devtrack-api/references/implementation-checklist.md +30 -1
- package/.sdd/skills/curated/devtrack-api/references/portable-agent-contract.md +42 -0
- package/.sdd/skills/curated/devtrack-api/references/testing-validation.md +22 -1
- package/.sdd/skills/curated/devtrack-api/references/typeorm-infrastructure.md +9 -7
- package/README.md +280 -29
- package/dist/applications/sdd/index.d.ts +16 -0
- package/dist/applications/sdd/index.js +16 -0
- package/dist/cli/program.js +180 -11
- package/dist/commands/config.js +197 -10
- package/dist/commands/sdd/execution.js +408 -16
- package/dist/commands/sdd/plugin.js +5 -0
- package/dist/commands/sdd/shared.d.ts +1 -0
- package/dist/commands/sdd/shared.js +10 -0
- package/dist/commands/sdd.js +157 -7
- package/dist/core/cli/command-matrix.d.ts +18 -0
- package/dist/core/cli/command-matrix.js +157 -0
- package/dist/core/cli-command-quality.js +11 -0
- package/dist/core/completions/command-registry.js +45 -0
- package/dist/core/config-schema.d.ts +31 -1
- package/dist/core/config-schema.js +79 -5
- package/dist/core/config.d.ts +1 -0
- package/dist/core/config.js +11 -0
- package/dist/core/global-config.d.ts +29 -0
- package/dist/core/init.d.ts +2 -2
- package/dist/core/init.js +13 -14
- package/dist/core/sdd/agent-binding.d.ts +19 -19
- package/dist/core/sdd/agent-runtime-contract.d.ts +204 -0
- package/dist/core/sdd/agent-runtime-contract.js +200 -0
- package/dist/core/sdd/allocator-recovery.d.ts +14 -0
- package/dist/core/sdd/allocator-recovery.js +30 -0
- package/dist/core/sdd/allocator-security.d.ts +18 -0
- package/dist/core/sdd/allocator-security.js +36 -0
- package/dist/core/sdd/api-foundation-baseline.d.ts +111 -0
- package/dist/core/sdd/api-foundation-baseline.js +151 -0
- package/dist/core/sdd/api-foundation-parity.d.ts +114 -0
- package/dist/core/sdd/api-foundation-parity.js +131 -0
- package/dist/core/sdd/api-profile-catalog.d.ts +36 -0
- package/dist/core/sdd/api-profile-catalog.js +132 -0
- package/dist/core/sdd/api-profile-dry-run-projection.d.ts +93 -0
- package/dist/core/sdd/api-profile-dry-run-projection.js +370 -0
- package/dist/core/sdd/api-profile-recipes.d.ts +82 -0
- package/dist/core/sdd/api-profile-recipes.js +484 -0
- package/dist/core/sdd/artifact-id-allocator.d.ts +368 -0
- package/dist/core/sdd/artifact-id-allocator.js +510 -0
- package/dist/core/sdd/check.d.ts +52 -1
- package/dist/core/sdd/check.js +326 -11
- package/dist/core/sdd/coordination/coordination-adapters.d.ts +15 -8
- package/dist/core/sdd/coordination/coordination-adapters.js +43 -15
- package/dist/core/sdd/coordination/index.d.ts +1 -0
- package/dist/core/sdd/coordination/index.js +1 -0
- package/dist/core/sdd/coordination/redis-runtime.d.ts +131 -0
- package/dist/core/sdd/coordination/redis-runtime.js +698 -0
- package/dist/core/sdd/deepagent-contracts.d.ts +99 -5
- package/dist/core/sdd/deepagent-contracts.js +62 -0
- package/dist/core/sdd/deepagents/reversa-subagents.d.ts +3 -3
- package/dist/core/sdd/default-bootstrap-files.d.ts +2 -2
- package/dist/core/sdd/default-bootstrap-files.js +14 -10
- package/dist/core/sdd/default-skills.js +115 -9
- package/dist/core/sdd/devtrack-api-appliance.d.ts +42 -1
- package/dist/core/sdd/devtrack-api-appliance.js +159 -32
- package/dist/core/sdd/devtrack-api-architecture.d.ts +16 -0
- package/dist/core/sdd/devtrack-api-architecture.js +86 -0
- package/dist/core/sdd/docs-sync.js +24 -18
- package/dist/core/sdd/domain/capability-diff.d.ts +63 -0
- package/dist/core/sdd/domain/capability-diff.js +200 -0
- package/dist/core/sdd/domain/change-safety-guardrails.d.ts +74 -0
- package/dist/core/sdd/domain/change-safety-guardrails.js +333 -0
- package/dist/core/sdd/domain/semantic-intent-classifier.d.ts +29 -0
- package/dist/core/sdd/domain/semantic-intent-classifier.js +117 -0
- package/dist/core/sdd/enterprise-mutating-command-gate.d.ts +27 -0
- package/dist/core/sdd/enterprise-mutating-command-gate.js +104 -0
- package/dist/core/sdd/enterprise-provenance-gates.d.ts +20 -0
- package/dist/core/sdd/enterprise-provenance-gates.js +63 -0
- package/dist/core/sdd/enterprise-provisioning-policy.d.ts +26 -0
- package/dist/core/sdd/enterprise-provisioning-policy.js +104 -0
- package/dist/core/sdd/foundation-artifact-map-validator.d.ts +16 -0
- package/dist/core/sdd/foundation-artifact-map-validator.js +71 -0
- package/dist/core/sdd/foundation-layer-manifest.d.ts +24 -0
- package/dist/core/sdd/foundation-layer-manifest.js +117 -0
- package/dist/core/sdd/governance-schemas.d.ts +2 -2
- package/dist/core/sdd/governance-schemas.js +11 -2
- package/dist/core/sdd/intent-guard.d.ts +22 -0
- package/dist/core/sdd/intent-guard.js +67 -0
- package/dist/core/sdd/json-schema.js +13 -1
- package/dist/core/sdd/legacy-operations.js +169 -5
- package/dist/core/sdd/migrate-workspace.js +39 -0
- package/dist/core/sdd/package-security-gates.d.ts +21 -0
- package/dist/core/sdd/package-security-gates.js +121 -0
- package/dist/core/sdd/package-structure-gate.d.ts +85 -3
- package/dist/core/sdd/package-structure-gate.js +384 -11
- package/dist/core/sdd/parallel-feat-automation.d.ts +185 -7
- package/dist/core/sdd/parallel-feat-automation.js +212 -0
- package/dist/core/sdd/plugin-broker.d.ts +223 -4
- package/dist/core/sdd/plugin-broker.js +10 -0
- package/dist/core/sdd/plugin-cli.d.ts +30 -0
- package/dist/core/sdd/plugin-cli.js +70 -3
- package/dist/core/sdd/plugin-evidence.d.ts +73 -0
- package/dist/core/sdd/plugin-manifest.d.ts +69 -1
- package/dist/core/sdd/plugin-manifest.js +10 -0
- package/dist/core/sdd/plugin-policy-pack.d.ts +1 -1
- package/dist/core/sdd/plugin-policy.js +6 -1
- package/dist/core/sdd/plugin-registry.d.ts +138 -2
- package/dist/core/sdd/plugin-sdk-contract.d.ts +363 -0
- package/dist/core/sdd/plugin-sdk-contract.js +268 -0
- package/dist/core/sdd/plugin-skill-binding.d.ts +1 -1
- package/dist/core/sdd/quality-validation.d.ts +89 -16
- package/dist/core/sdd/release-readiness.d.ts +68 -0
- package/dist/core/sdd/release-readiness.js +767 -0
- package/dist/core/sdd/reversa-architecture-extractor.d.ts +13 -0
- package/dist/core/sdd/reversa-architecture-extractor.js +89 -0
- package/dist/core/sdd/reversa-artifact-writer.d.ts +18 -0
- package/dist/core/sdd/reversa-artifact-writer.js +40 -0
- package/dist/core/sdd/reversa-command-policy.d.ts +136 -0
- package/dist/core/sdd/reversa-command-policy.js +361 -0
- package/dist/core/sdd/reversa-data-extractor.d.ts +11 -0
- package/dist/core/sdd/reversa-data-extractor.js +73 -0
- package/dist/core/sdd/reversa-equivalence.d.ts +20 -0
- package/dist/core/sdd/reversa-equivalence.js +34 -0
- package/dist/core/sdd/reversa-evidence.d.ts +298 -0
- package/dist/core/sdd/reversa-evidence.js +118 -0
- package/dist/core/sdd/reversa-reconstruction.d.ts +29 -0
- package/dist/core/sdd/reversa-reconstruction.js +32 -0
- package/dist/core/sdd/reversa-rules-extractor.d.ts +12 -0
- package/dist/core/sdd/reversa-rules-extractor.js +86 -0
- package/dist/core/sdd/reversa-source-safety.d.ts +19 -0
- package/dist/core/sdd/reversa-source-safety.js +105 -0
- package/dist/core/sdd/reversa-surface-scout.d.ts +13 -0
- package/dist/core/sdd/reversa-surface-scout.js +85 -0
- package/dist/core/sdd/reversa-ux-mapper.d.ts +11 -0
- package/dist/core/sdd/reversa-ux-mapper.js +73 -0
- package/dist/core/sdd/runtime-boundary-contract.d.ts +45 -0
- package/dist/core/sdd/runtime-boundary-contract.js +90 -0
- package/dist/core/sdd/sdk-agent-plugin-quality-gates.d.ts +150 -0
- package/dist/core/sdd/sdk-agent-plugin-quality-gates.js +258 -0
- package/dist/core/sdd/services/agent-run.service.d.ts +38 -6
- package/dist/core/sdd/services/agent-run.service.js +73 -1
- package/dist/core/sdd/services/archive-quality-coherence.service.d.ts +17 -0
- package/dist/core/sdd/services/archive-quality-coherence.service.js +141 -0
- package/dist/core/sdd/services/capability-diff.service.d.ts +18 -0
- package/dist/core/sdd/services/capability-diff.service.js +26 -0
- package/dist/core/sdd/services/change-safety-preflight.service.d.ts +17 -0
- package/dist/core/sdd/services/change-safety-preflight.service.js +17 -0
- package/dist/core/sdd/services/context.service.d.ts +43 -340
- package/dist/core/sdd/services/context.service.js +323 -9
- package/dist/core/sdd/services/decide.service.js +1 -1
- package/dist/core/sdd/services/finalize.service.d.ts +27 -0
- package/dist/core/sdd/services/finalize.service.js +226 -18
- package/dist/core/sdd/services/frontend-impact.service.d.ts +1 -1
- package/dist/core/sdd/services/historical-quality-regression.service.d.ts +35 -0
- package/dist/core/sdd/services/historical-quality-regression.service.js +228 -0
- package/dist/core/sdd/services/ingest-deposito.service.js +1 -1
- package/dist/core/sdd/services/planning-execution-coherence.service.d.ts +45 -0
- package/dist/core/sdd/services/planning-execution-coherence.service.js +225 -0
- package/dist/core/sdd/services/semantic-intent-classifier.service.d.ts +6 -0
- package/dist/core/sdd/services/semantic-intent-classifier.service.js +7 -0
- package/dist/core/sdd/state.d.ts +1 -0
- package/dist/core/sdd/state.js +266 -34
- package/dist/core/sdd/store/sdd-stores.js +2 -2
- package/dist/core/sdd/structural-health.d.ts +13 -13
- package/dist/core/sdd/types.d.ts +30 -15
- package/dist/core/sdd/types.js +4 -0
- package/dist/core/sdd/views.js +17 -0
- package/dist/core/sdd/workspace-schemas.d.ts +428 -7
- package/dist/core/sdd/workspace-schemas.js +223 -70
- package/dist/core/shared/skill-generation.d.ts +2 -0
- package/dist/core/shared/skill-generation.js +19 -2
- package/dist/core/shared/tool-detection.d.ts +19 -0
- package/dist/core/shared/tool-detection.js +89 -0
- package/dist/domains/sdd/index.d.ts +6 -0
- package/dist/domains/sdd/index.js +6 -0
- package/dist/infrastructures/sdd/index.d.ts +7 -0
- package/dist/infrastructures/sdd/index.js +6 -0
- package/dist/presentations/cli/sdd/index.d.ts +3 -0
- package/dist/presentations/cli/sdd/index.js +3 -0
- package/dist/shared/sdd/index.d.ts +3 -0
- package/dist/shared/sdd/index.js +2 -0
- package/package.json +14 -10
- package/schemas/sdd/2-plan.schema.json +207 -2
- package/schemas/sdd/5-quality.schema.json +324 -25
- package/schemas/sdd/agent-runtime-command-plan.schema.json +212 -0
- package/schemas/sdd/agent-runtime-opencode-run-evidence.schema.json +270 -0
- package/schemas/sdd/codesdd-plugin.schema.json +171 -0
- package/schemas/sdd/deepagent-run-request.schema.json +316 -0
- package/schemas/sdd/parallel-feat-automation-plan.schema.json +89 -0
- package/schemas/sdd/parallel-feat-scheduler-request.schema.json +116 -0
- package/schemas/sdd/parallel-feat-scheduler-result.schema.json +404 -0
- package/schemas/sdd/plugin-artifact-manifest.schema.json +109 -0
- package/schemas/sdd/plugin-artifact-map.schema.json +223 -0
- package/schemas/sdd/plugin-evidence-manifest.schema.json +109 -0
- package/schemas/sdd/plugin-language-runtime.schema.json +103 -0
- package/schemas/sdd/plugin-package-governance.schema.json +74 -0
- package/schemas/sdd/plugin-registry.schema.json +171 -0
- package/schemas/sdd/plugin-runtime-invocation-plan.schema.json +109 -0
- package/schemas/sdd/quality-evidence-bundle.schema.json +109 -0
- package/schemas/sdd/reversa-evidence-bundle.schema.json +466 -0
- package/schemas/sdd/sdk-agent-plugin-quality-gate-input.schema.json +168 -0
- package/schemas/sdd/sdk-agent-plugin-quality-gate-report.schema.json +160 -0
- package/schemas/sdd/workspace-catalog.schema.json +5298 -1409
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
export declare const CODESDD_FULL_FOUNDATION_COMPATIBLE_PROFILE_ID = "full-foundation-compatible";
|
|
2
|
+
export declare const CODESDD_FULL_FOUNDATION_PARITY_MATRIX: {
|
|
3
|
+
readonly id: "full-foundation-compatible-parity-matrix";
|
|
4
|
+
readonly version: 1;
|
|
5
|
+
readonly profile_id: "full-foundation-compatible";
|
|
6
|
+
readonly foundation_reference: "devtrack-foundation-api";
|
|
7
|
+
};
|
|
8
|
+
export declare const CODESDD_FULL_FOUNDATION_PARITY_DIMENSIONS: readonly ["architecture-roots", "contract-boundaries", "api-documentation", "env-and-runtime-config", "package-scripts", "auth-and-authorization", "persistence-typeorm", "validation-and-errors", "evidence-and-quality-gates"];
|
|
9
|
+
export declare const CODESDD_FULL_FOUNDATION_PARITY_QUALITY_GATES: readonly ["foundation-parity-matrix-required", "foundation-architecture-roots-parity", "foundation-contract-boundaries-parity", "foundation-api-documentation-parity", "foundation-env-runtime-config-parity", "foundation-package-scripts-parity", "foundation-auth-authorization-parity", "foundation-typeorm-persistence-parity", "foundation-validation-errors-parity", "foundation-evidence-quality-gates-parity"];
|
|
10
|
+
export type CodeSddFullFoundationParityDimensionId = (typeof CODESDD_FULL_FOUNDATION_PARITY_DIMENSIONS)[number];
|
|
11
|
+
export interface CodeSddFullFoundationParityDimension {
|
|
12
|
+
id: CodeSddFullFoundationParityDimensionId;
|
|
13
|
+
title: string;
|
|
14
|
+
foundation_reference: typeof CODESDD_FULL_FOUNDATION_PARITY_MATRIX.foundation_reference;
|
|
15
|
+
severity: 'P0';
|
|
16
|
+
quality_gate: (typeof CODESDD_FULL_FOUNDATION_PARITY_QUALITY_GATES)[number];
|
|
17
|
+
contract_rule_refs: readonly string[];
|
|
18
|
+
required_artifacts: readonly string[];
|
|
19
|
+
required_evidence: readonly string[];
|
|
20
|
+
}
|
|
21
|
+
export declare const CODESDD_FULL_FOUNDATION_PARITY_DIMENSION_DEFINITIONS: {
|
|
22
|
+
'architecture-roots': {
|
|
23
|
+
id: "architecture-roots";
|
|
24
|
+
title: string;
|
|
25
|
+
foundation_reference: "devtrack-foundation-api";
|
|
26
|
+
severity: "P0";
|
|
27
|
+
quality_gate: "foundation-architecture-roots-parity";
|
|
28
|
+
contract_rule_refs: string[];
|
|
29
|
+
required_artifacts: string[];
|
|
30
|
+
required_evidence: string[];
|
|
31
|
+
};
|
|
32
|
+
'contract-boundaries': {
|
|
33
|
+
id: "contract-boundaries";
|
|
34
|
+
title: string;
|
|
35
|
+
foundation_reference: "devtrack-foundation-api";
|
|
36
|
+
severity: "P0";
|
|
37
|
+
quality_gate: "foundation-contract-boundaries-parity";
|
|
38
|
+
contract_rule_refs: string[];
|
|
39
|
+
required_artifacts: string[];
|
|
40
|
+
required_evidence: string[];
|
|
41
|
+
};
|
|
42
|
+
'api-documentation': {
|
|
43
|
+
id: "api-documentation";
|
|
44
|
+
title: string;
|
|
45
|
+
foundation_reference: "devtrack-foundation-api";
|
|
46
|
+
severity: "P0";
|
|
47
|
+
quality_gate: "foundation-api-documentation-parity";
|
|
48
|
+
contract_rule_refs: string[];
|
|
49
|
+
required_artifacts: string[];
|
|
50
|
+
required_evidence: string[];
|
|
51
|
+
};
|
|
52
|
+
'env-and-runtime-config': {
|
|
53
|
+
id: "env-and-runtime-config";
|
|
54
|
+
title: string;
|
|
55
|
+
foundation_reference: "devtrack-foundation-api";
|
|
56
|
+
severity: "P0";
|
|
57
|
+
quality_gate: "foundation-env-runtime-config-parity";
|
|
58
|
+
contract_rule_refs: string[];
|
|
59
|
+
required_artifacts: string[];
|
|
60
|
+
required_evidence: string[];
|
|
61
|
+
};
|
|
62
|
+
'package-scripts': {
|
|
63
|
+
id: "package-scripts";
|
|
64
|
+
title: string;
|
|
65
|
+
foundation_reference: "devtrack-foundation-api";
|
|
66
|
+
severity: "P0";
|
|
67
|
+
quality_gate: "foundation-package-scripts-parity";
|
|
68
|
+
contract_rule_refs: string[];
|
|
69
|
+
required_artifacts: string[];
|
|
70
|
+
required_evidence: string[];
|
|
71
|
+
};
|
|
72
|
+
'auth-and-authorization': {
|
|
73
|
+
id: "auth-and-authorization";
|
|
74
|
+
title: string;
|
|
75
|
+
foundation_reference: "devtrack-foundation-api";
|
|
76
|
+
severity: "P0";
|
|
77
|
+
quality_gate: "foundation-auth-authorization-parity";
|
|
78
|
+
contract_rule_refs: string[];
|
|
79
|
+
required_artifacts: string[];
|
|
80
|
+
required_evidence: string[];
|
|
81
|
+
};
|
|
82
|
+
'persistence-typeorm': {
|
|
83
|
+
id: "persistence-typeorm";
|
|
84
|
+
title: string;
|
|
85
|
+
foundation_reference: "devtrack-foundation-api";
|
|
86
|
+
severity: "P0";
|
|
87
|
+
quality_gate: "foundation-typeorm-persistence-parity";
|
|
88
|
+
contract_rule_refs: string[];
|
|
89
|
+
required_artifacts: string[];
|
|
90
|
+
required_evidence: string[];
|
|
91
|
+
};
|
|
92
|
+
'validation-and-errors': {
|
|
93
|
+
id: "validation-and-errors";
|
|
94
|
+
title: string;
|
|
95
|
+
foundation_reference: "devtrack-foundation-api";
|
|
96
|
+
severity: "P0";
|
|
97
|
+
quality_gate: "foundation-validation-errors-parity";
|
|
98
|
+
contract_rule_refs: string[];
|
|
99
|
+
required_artifacts: string[];
|
|
100
|
+
required_evidence: string[];
|
|
101
|
+
};
|
|
102
|
+
'evidence-and-quality-gates': {
|
|
103
|
+
id: "evidence-and-quality-gates";
|
|
104
|
+
title: string;
|
|
105
|
+
foundation_reference: "devtrack-foundation-api";
|
|
106
|
+
severity: "P0";
|
|
107
|
+
quality_gate: "foundation-evidence-quality-gates-parity";
|
|
108
|
+
contract_rule_refs: string[];
|
|
109
|
+
required_artifacts: string[];
|
|
110
|
+
required_evidence: string[];
|
|
111
|
+
};
|
|
112
|
+
};
|
|
113
|
+
export declare function getCodeSddFullFoundationParityMatrix(): CodeSddFullFoundationParityDimension[];
|
|
114
|
+
//# sourceMappingURL=api-foundation-parity.d.ts.map
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
export const CODESDD_FULL_FOUNDATION_COMPATIBLE_PROFILE_ID = 'full-foundation-compatible';
|
|
2
|
+
export const CODESDD_FULL_FOUNDATION_PARITY_MATRIX = {
|
|
3
|
+
id: 'full-foundation-compatible-parity-matrix',
|
|
4
|
+
version: 1,
|
|
5
|
+
profile_id: CODESDD_FULL_FOUNDATION_COMPATIBLE_PROFILE_ID,
|
|
6
|
+
foundation_reference: 'devtrack-foundation-api',
|
|
7
|
+
};
|
|
8
|
+
export const CODESDD_FULL_FOUNDATION_PARITY_DIMENSIONS = [
|
|
9
|
+
'architecture-roots',
|
|
10
|
+
'contract-boundaries',
|
|
11
|
+
'api-documentation',
|
|
12
|
+
'env-and-runtime-config',
|
|
13
|
+
'package-scripts',
|
|
14
|
+
'auth-and-authorization',
|
|
15
|
+
'persistence-typeorm',
|
|
16
|
+
'validation-and-errors',
|
|
17
|
+
'evidence-and-quality-gates',
|
|
18
|
+
];
|
|
19
|
+
export const CODESDD_FULL_FOUNDATION_PARITY_QUALITY_GATES = [
|
|
20
|
+
'foundation-parity-matrix-required',
|
|
21
|
+
'foundation-architecture-roots-parity',
|
|
22
|
+
'foundation-contract-boundaries-parity',
|
|
23
|
+
'foundation-api-documentation-parity',
|
|
24
|
+
'foundation-env-runtime-config-parity',
|
|
25
|
+
'foundation-package-scripts-parity',
|
|
26
|
+
'foundation-auth-authorization-parity',
|
|
27
|
+
'foundation-typeorm-persistence-parity',
|
|
28
|
+
'foundation-validation-errors-parity',
|
|
29
|
+
'foundation-evidence-quality-gates-parity',
|
|
30
|
+
];
|
|
31
|
+
export const CODESDD_FULL_FOUNDATION_PARITY_DIMENSION_DEFINITIONS = {
|
|
32
|
+
'architecture-roots': {
|
|
33
|
+
id: 'architecture-roots',
|
|
34
|
+
title: 'Foundation-compatible source roots',
|
|
35
|
+
foundation_reference: 'devtrack-foundation-api',
|
|
36
|
+
severity: 'P0',
|
|
37
|
+
quality_gate: 'foundation-architecture-roots-parity',
|
|
38
|
+
contract_rule_refs: ['DTAPI-P0-FULL-FOUNDATION-PARITY-001', 'DTAPI-P0-PATH-001', 'DTAPI-P0-IMPORTS-001'],
|
|
39
|
+
required_artifacts: ['src/application/**', 'src/domain/**', 'src/infrastructure/**', 'src/presentation/**', 'src/shared/**'],
|
|
40
|
+
required_evidence: ['generated roots use Foundation-compatible singular output structure', 'artifact map records Foundation source references'],
|
|
41
|
+
},
|
|
42
|
+
'contract-boundaries': {
|
|
43
|
+
id: 'contract-boundaries',
|
|
44
|
+
title: 'Application and domain contract boundaries',
|
|
45
|
+
foundation_reference: 'devtrack-foundation-api',
|
|
46
|
+
severity: 'P0',
|
|
47
|
+
quality_gate: 'foundation-contract-boundaries-parity',
|
|
48
|
+
contract_rule_refs: ['DTAPI-P0-FULL-FOUNDATION-PARITY-001', 'DTAPI-P0-COMPOSITION-001', 'DTAPI-P0-PORTS-001'],
|
|
49
|
+
required_artifacts: ['src/application/**/ports/**', 'src/application/**/use-cases/**', 'src/domain/**'],
|
|
50
|
+
required_evidence: ['ports and use cases are present for user-facing flows', 'presentation does not call infrastructure directly'],
|
|
51
|
+
},
|
|
52
|
+
'api-documentation': {
|
|
53
|
+
id: 'api-documentation',
|
|
54
|
+
title: 'Swagger/OpenAPI parity',
|
|
55
|
+
foundation_reference: 'devtrack-foundation-api',
|
|
56
|
+
severity: 'P0',
|
|
57
|
+
quality_gate: 'foundation-api-documentation-parity',
|
|
58
|
+
contract_rule_refs: ['DTAPI-P0-FULL-FOUNDATION-PARITY-001', 'DTAPI-P0-OPENAPI-001'],
|
|
59
|
+
required_artifacts: ['src/main.ts', 'src/presentation/rest/**', '.env.example'],
|
|
60
|
+
required_evidence: ['Swagger bootstrap and /docs route are present', 'controllers and DTOs expose documented request and response shapes'],
|
|
61
|
+
},
|
|
62
|
+
'env-and-runtime-config': {
|
|
63
|
+
id: 'env-and-runtime-config',
|
|
64
|
+
title: 'Environment and typed runtime configuration parity',
|
|
65
|
+
foundation_reference: 'devtrack-foundation-api',
|
|
66
|
+
severity: 'P0',
|
|
67
|
+
quality_gate: 'foundation-env-runtime-config-parity',
|
|
68
|
+
contract_rule_refs: ['DTAPI-P0-FULL-FOUNDATION-PARITY-001', 'DTAPI-P0-TOOL-BASELINE-001'],
|
|
69
|
+
required_artifacts: ['.env.example', 'src/infrastructure/settings/**'],
|
|
70
|
+
required_evidence: ['all runtime variables are represented as placeholders', 'typed configuration reads environment without exposing secrets'],
|
|
71
|
+
},
|
|
72
|
+
'package-scripts': {
|
|
73
|
+
id: 'package-scripts',
|
|
74
|
+
title: 'Package scripts and operational bootstrap parity',
|
|
75
|
+
foundation_reference: 'devtrack-foundation-api',
|
|
76
|
+
severity: 'P0',
|
|
77
|
+
quality_gate: 'foundation-package-scripts-parity',
|
|
78
|
+
contract_rule_refs: ['DTAPI-P0-FULL-FOUNDATION-PARITY-001', 'DTAPI-P0-TOOL-BASELINE-001', 'DTAPI-P0-RUNTIME-SCRIPTS-001'],
|
|
79
|
+
required_artifacts: ['package.json', 'scripts/cleanup.sh', 'scripts/kill-port.js'],
|
|
80
|
+
required_evidence: [
|
|
81
|
+
'build, lint, test, coverage, e2e, cleanup, cleanup:install, start, start:dev, and start:prod scripts are present',
|
|
82
|
+
'start and start:dev kill the configured port listener before continuing bootstrap',
|
|
83
|
+
'nested package-script calls use npm run/npm install so npm and pnpm invocations both work without requiring pnpm in Docker',
|
|
84
|
+
'migration scripts are present when persistence is included',
|
|
85
|
+
],
|
|
86
|
+
},
|
|
87
|
+
'auth-and-authorization': {
|
|
88
|
+
id: 'auth-and-authorization',
|
|
89
|
+
title: 'Authentication, authorization, guards, and security docs parity',
|
|
90
|
+
foundation_reference: 'devtrack-foundation-api',
|
|
91
|
+
severity: 'P0',
|
|
92
|
+
quality_gate: 'foundation-auth-authorization-parity',
|
|
93
|
+
contract_rule_refs: ['DTAPI-P0-FULL-FOUNDATION-PARITY-001', 'DTAPI-P0-AUTH-PLAN-001', 'DTAPI-P0-OPENAPI-001'],
|
|
94
|
+
required_artifacts: ['src/presentation/**/guards/**', 'src/presentation/**/decorators/**', 'FEAT quality evidence'],
|
|
95
|
+
required_evidence: ['auth/authz decisions are recorded', 'protected routes include guards/decorators and documented security schemes'],
|
|
96
|
+
},
|
|
97
|
+
'persistence-typeorm': {
|
|
98
|
+
id: 'persistence-typeorm',
|
|
99
|
+
title: 'TypeORM persistence parity',
|
|
100
|
+
foundation_reference: 'devtrack-foundation-api',
|
|
101
|
+
severity: 'P0',
|
|
102
|
+
quality_gate: 'foundation-typeorm-persistence-parity',
|
|
103
|
+
contract_rule_refs: ['DTAPI-P0-FULL-FOUNDATION-PARITY-001', 'DTAPI-P0-TYPEORM-001', 'DTAPI-P1-RUNTIME-001'],
|
|
104
|
+
required_artifacts: ['src/infrastructure/adapters/orm/typeorm.module.ts', 'src/infrastructure/adapters/orm/*-orm.module.ts', 'src/infrastructure/adapters/orm/**', 'src/application/**/ports/out/**'],
|
|
105
|
+
required_evidence: ['persistence uses TypeORM only', 'typeorm.module.ts owns root TypeORM wiring', '<context>-orm.module.ts exports repository/service port providers', 'application depends on output ports instead of ORM entities'],
|
|
106
|
+
},
|
|
107
|
+
'validation-and-errors': {
|
|
108
|
+
id: 'validation-and-errors',
|
|
109
|
+
title: 'Validation and structured API errors parity',
|
|
110
|
+
foundation_reference: 'devtrack-foundation-api',
|
|
111
|
+
severity: 'P0',
|
|
112
|
+
quality_gate: 'foundation-validation-errors-parity',
|
|
113
|
+
contract_rule_refs: ['DTAPI-P0-FULL-FOUNDATION-PARITY-001', 'DTAPI-P0-USECASE-001', 'DTAPI-P0-OPENAPI-001'],
|
|
114
|
+
required_artifacts: ['src/main.ts', 'src/presentation/**/dtos/**', 'src/presentation/dtos/api-error-response.dto.ts'],
|
|
115
|
+
required_evidence: ['validation pipe is configured', 'DTO validators and structured error response docs are present'],
|
|
116
|
+
},
|
|
117
|
+
'evidence-and-quality-gates': {
|
|
118
|
+
id: 'evidence-and-quality-gates',
|
|
119
|
+
title: 'Evidence manifest and quality gates parity',
|
|
120
|
+
foundation_reference: 'devtrack-foundation-api',
|
|
121
|
+
severity: 'P0',
|
|
122
|
+
quality_gate: 'foundation-evidence-quality-gates-parity',
|
|
123
|
+
contract_rule_refs: ['DTAPI-P0-FULL-FOUNDATION-PARITY-001', 'DTAPI-P1-EVIDENCE-001'],
|
|
124
|
+
required_artifacts: ['.sdd/plugin-evidence/**', 'coverage/**', 'test/**'],
|
|
125
|
+
required_evidence: ['artifact and evidence manifests are emitted', 'validation commands and FEAT quality evidence are recorded'],
|
|
126
|
+
},
|
|
127
|
+
};
|
|
128
|
+
export function getCodeSddFullFoundationParityMatrix() {
|
|
129
|
+
return CODESDD_FULL_FOUNDATION_PARITY_DIMENSIONS.map((dimensionId) => CODESDD_FULL_FOUNDATION_PARITY_DIMENSION_DEFINITIONS[dimensionId]);
|
|
130
|
+
}
|
|
131
|
+
//# sourceMappingURL=api-foundation-parity.js.map
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { CODESDD_FULL_FOUNDATION_PARITY_DIMENSIONS, CODESDD_FULL_FOUNDATION_PARITY_MATRIX } from './api-foundation-parity.js';
|
|
2
|
+
export declare const CODESDD_API_PROFILE_FAMILY_ID = "codesdd-api-profile-family";
|
|
3
|
+
export declare const LEGACY_DEVTRACK_API_PROFILE_ALIAS = "devtrack-api";
|
|
4
|
+
export { CODESDD_API_FOUNDATION_SHARED_BASELINE, CODESDD_API_SHARED_BASELINE_QUALITY_GATES, CODESDD_API_SHARED_BASELINE_REQUIREMENT_DEFINITIONS, CODESDD_API_SHARED_BASELINE_REQUIREMENTS, getCodeSddApiSharedBaselineRequirements, type CodeSddApiSharedBaselineRequirement, type CodeSddApiSharedBaselineRequirementId, } from './api-foundation-baseline.js';
|
|
5
|
+
export { CODESDD_FULL_FOUNDATION_COMPATIBLE_PROFILE_ID, CODESDD_FULL_FOUNDATION_PARITY_DIMENSION_DEFINITIONS, CODESDD_FULL_FOUNDATION_PARITY_DIMENSIONS, CODESDD_FULL_FOUNDATION_PARITY_MATRIX, CODESDD_FULL_FOUNDATION_PARITY_QUALITY_GATES, getCodeSddFullFoundationParityMatrix, type CodeSddFullFoundationParityDimension, type CodeSddFullFoundationParityDimensionId, } from './api-foundation-parity.js';
|
|
6
|
+
export { CODESDD_AI_AGENT_API_PROFILE_QUALITY_GATES, CODESDD_AI_AGENT_API_PROFILE_RECIPE, CODESDD_AI_AGENT_API_PROFILE_VALIDATION_COMMANDS, CODESDD_API_MANDATORY_CLEANUP_SCRIPT_MARKERS, CODESDD_API_MANDATORY_KILL_PORT_SCRIPT_MARKERS, CODESDD_API_MANDATORY_PACKAGE_SCRIPT_MARKERS, CODESDD_API_PROFILE_RECIPE_CONTRACT, CODESDD_EVENTED_API_PROFILE_QUALITY_GATES, CODESDD_EVENTED_API_PROFILE_RECIPE, CODESDD_EVENTED_API_PROFILE_VALIDATION_COMMANDS, CODESDD_MINIMAL_REST_PROFILE_QUALITY_GATES, CODESDD_MINIMAL_REST_PROFILE_RECIPE, CODESDD_MINIMAL_REST_PROFILE_VALIDATION_COMMANDS, CODESDD_REST_AUTH_RBAC_PROFILE_QUALITY_GATES, CODESDD_REST_AUTH_RBAC_PROFILE_RECIPE, CODESDD_REST_AUTH_RBAC_PROFILE_VALIDATION_COMMANDS, CODESDD_REST_CRUD_TYPEORM_PROFILE_QUALITY_GATES, CODESDD_REST_CRUD_TYPEORM_PROFILE_RECIPE, CODESDD_REST_CRUD_TYPEORM_PROFILE_VALIDATION_COMMANDS, validateAiAgentApiProfileRecipe, validateEventedApiProfileRecipe, validateMinimalRestProfileRecipe, validateRestAuthRbacProfileRecipe, validateRestCrudTypeormProfileRecipe, type CodeSddApiProfileRecipe, type CodeSddApiProfileRecipeArtifact, type CodeSddApiProfileRecipeArtifactCategory, type CodeSddApiProfileRecipeValidationFindingCode, type CodeSddApiProfileRecipeValidationFinding, type CodeSddApiProfileRecipeValidationInput, type CodeSddApiProfileRecipeValidationResult, } from './api-profile-recipes.js';
|
|
7
|
+
export declare const CODESDD_API_PROFILE_IDS: readonly ["minimal-rest", "rest-auth-rbac", "rest-crud-typeorm", "evented-api", "ai-agent-api", "full-foundation-compatible"];
|
|
8
|
+
export type CodeSddApiProfileId = (typeof CODESDD_API_PROFILE_IDS)[number];
|
|
9
|
+
export declare const DEFAULT_CODESDD_API_PROFILE_ID: CodeSddApiProfileId;
|
|
10
|
+
export declare const DEFAULT_DEVTRACK_API_ALIAS_PROFILE_ID: CodeSddApiProfileId;
|
|
11
|
+
export interface CodeSddApiProfileDefinition {
|
|
12
|
+
id: CodeSddApiProfileId;
|
|
13
|
+
title: string;
|
|
14
|
+
summary: string;
|
|
15
|
+
foundation_reference: 'devtrack-foundation-api';
|
|
16
|
+
inherits_shared_baseline: true;
|
|
17
|
+
selection_triggers: string[];
|
|
18
|
+
adds: string[];
|
|
19
|
+
required_proof: string[];
|
|
20
|
+
parity_matrix_ref?: typeof CODESDD_FULL_FOUNDATION_PARITY_MATRIX.id;
|
|
21
|
+
parity_dimensions?: typeof CODESDD_FULL_FOUNDATION_PARITY_DIMENSIONS;
|
|
22
|
+
}
|
|
23
|
+
export interface ResolvedCodeSddApiProfile {
|
|
24
|
+
family_id: typeof CODESDD_API_PROFILE_FAMILY_ID;
|
|
25
|
+
input: string | undefined;
|
|
26
|
+
profile_id: CodeSddApiProfileId;
|
|
27
|
+
legacy_alias: boolean;
|
|
28
|
+
migration_notice?: string;
|
|
29
|
+
}
|
|
30
|
+
export declare const CODESDD_API_PROFILE_DEFINITIONS: Record<CodeSddApiProfileId, CodeSddApiProfileDefinition>;
|
|
31
|
+
export declare function isCodeSddApiProfileId(value: string): value is CodeSddApiProfileId;
|
|
32
|
+
export declare function resolveCodeSddApiProfile(value?: string, options?: {
|
|
33
|
+
defaultProfile?: CodeSddApiProfileId;
|
|
34
|
+
}): ResolvedCodeSddApiProfile;
|
|
35
|
+
export declare function selectCodeSddApiProfileFromIntent(intent: string): CodeSddApiProfileId;
|
|
36
|
+
//# sourceMappingURL=api-profile-catalog.d.ts.map
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
import { CODESDD_FULL_FOUNDATION_PARITY_DIMENSIONS, CODESDD_FULL_FOUNDATION_PARITY_MATRIX, } from './api-foundation-parity.js';
|
|
2
|
+
export const CODESDD_API_PROFILE_FAMILY_ID = 'codesdd-api-profile-family';
|
|
3
|
+
export const LEGACY_DEVTRACK_API_PROFILE_ALIAS = 'devtrack-api';
|
|
4
|
+
export { CODESDD_API_FOUNDATION_SHARED_BASELINE, CODESDD_API_SHARED_BASELINE_QUALITY_GATES, CODESDD_API_SHARED_BASELINE_REQUIREMENT_DEFINITIONS, CODESDD_API_SHARED_BASELINE_REQUIREMENTS, getCodeSddApiSharedBaselineRequirements, } from './api-foundation-baseline.js';
|
|
5
|
+
export { CODESDD_FULL_FOUNDATION_COMPATIBLE_PROFILE_ID, CODESDD_FULL_FOUNDATION_PARITY_DIMENSION_DEFINITIONS, CODESDD_FULL_FOUNDATION_PARITY_DIMENSIONS, CODESDD_FULL_FOUNDATION_PARITY_MATRIX, CODESDD_FULL_FOUNDATION_PARITY_QUALITY_GATES, getCodeSddFullFoundationParityMatrix, } from './api-foundation-parity.js';
|
|
6
|
+
export { CODESDD_AI_AGENT_API_PROFILE_QUALITY_GATES, CODESDD_AI_AGENT_API_PROFILE_RECIPE, CODESDD_AI_AGENT_API_PROFILE_VALIDATION_COMMANDS, CODESDD_API_MANDATORY_CLEANUP_SCRIPT_MARKERS, CODESDD_API_MANDATORY_KILL_PORT_SCRIPT_MARKERS, CODESDD_API_MANDATORY_PACKAGE_SCRIPT_MARKERS, CODESDD_API_PROFILE_RECIPE_CONTRACT, CODESDD_EVENTED_API_PROFILE_QUALITY_GATES, CODESDD_EVENTED_API_PROFILE_RECIPE, CODESDD_EVENTED_API_PROFILE_VALIDATION_COMMANDS, CODESDD_MINIMAL_REST_PROFILE_QUALITY_GATES, CODESDD_MINIMAL_REST_PROFILE_RECIPE, CODESDD_MINIMAL_REST_PROFILE_VALIDATION_COMMANDS, CODESDD_REST_AUTH_RBAC_PROFILE_QUALITY_GATES, CODESDD_REST_AUTH_RBAC_PROFILE_RECIPE, CODESDD_REST_AUTH_RBAC_PROFILE_VALIDATION_COMMANDS, CODESDD_REST_CRUD_TYPEORM_PROFILE_QUALITY_GATES, CODESDD_REST_CRUD_TYPEORM_PROFILE_RECIPE, CODESDD_REST_CRUD_TYPEORM_PROFILE_VALIDATION_COMMANDS, validateAiAgentApiProfileRecipe, validateEventedApiProfileRecipe, validateMinimalRestProfileRecipe, validateRestAuthRbacProfileRecipe, validateRestCrudTypeormProfileRecipe, } from './api-profile-recipes.js';
|
|
7
|
+
export const CODESDD_API_PROFILE_IDS = [
|
|
8
|
+
'minimal-rest',
|
|
9
|
+
'rest-auth-rbac',
|
|
10
|
+
'rest-crud-typeorm',
|
|
11
|
+
'evented-api',
|
|
12
|
+
'ai-agent-api',
|
|
13
|
+
'full-foundation-compatible',
|
|
14
|
+
];
|
|
15
|
+
const CODESDD_API_PROFILE_SELECTION_ORDER = [
|
|
16
|
+
'rest-auth-rbac',
|
|
17
|
+
'rest-crud-typeorm',
|
|
18
|
+
'evented-api',
|
|
19
|
+
'ai-agent-api',
|
|
20
|
+
'full-foundation-compatible',
|
|
21
|
+
'minimal-rest',
|
|
22
|
+
];
|
|
23
|
+
export const DEFAULT_CODESDD_API_PROFILE_ID = 'minimal-rest';
|
|
24
|
+
export const DEFAULT_DEVTRACK_API_ALIAS_PROFILE_ID = 'full-foundation-compatible';
|
|
25
|
+
export const CODESDD_API_PROFILE_DEFINITIONS = {
|
|
26
|
+
'minimal-rest': {
|
|
27
|
+
id: 'minimal-rest',
|
|
28
|
+
title: 'Minimal REST',
|
|
29
|
+
summary: 'Smallest production-grade REST API baseline.',
|
|
30
|
+
foundation_reference: 'devtrack-foundation-api',
|
|
31
|
+
inherits_shared_baseline: true,
|
|
32
|
+
selection_triggers: ['api', 'rest', 'minimal', 'endpoint', 'route'],
|
|
33
|
+
adds: ['health route', 'root REST module', 'controller DTOs', 'single use-case slice'],
|
|
34
|
+
required_proof: ['OpenAPI docs', '.env.example', 'package scripts', 'route/use-case tests'],
|
|
35
|
+
},
|
|
36
|
+
'rest-auth-rbac': {
|
|
37
|
+
id: 'rest-auth-rbac',
|
|
38
|
+
title: 'REST Auth RBAC',
|
|
39
|
+
summary: 'REST API with authentication, authorization, guards, and permission boundaries.',
|
|
40
|
+
foundation_reference: 'devtrack-foundation-api',
|
|
41
|
+
inherits_shared_baseline: true,
|
|
42
|
+
selection_triggers: ['auth', 'authentication', 'authorization', 'rbac', 'permission', 'guard'],
|
|
43
|
+
adds: ['auth strategy', 'route guards', 'permission decorators', 'current-user boundary', 'RBAC policy examples'],
|
|
44
|
+
required_proof: ['protected OpenAPI docs', 'allow/deny route tests', 'guard/decorator artifacts'],
|
|
45
|
+
},
|
|
46
|
+
'rest-crud-typeorm': {
|
|
47
|
+
id: 'rest-crud-typeorm',
|
|
48
|
+
title: 'REST CRUD TypeORM',
|
|
49
|
+
summary: 'REST CRUD API with TypeORM persistence and application/repository boundaries.',
|
|
50
|
+
foundation_reference: 'devtrack-foundation-api',
|
|
51
|
+
inherits_shared_baseline: true,
|
|
52
|
+
selection_triggers: ['crud', 'typeorm', 'database', 'entity', 'repository', 'migration'],
|
|
53
|
+
adds: ['TypeORM entity', 'repository port', 'migration scripts', 'pagination', 'filtering', 'uniqueness checks'],
|
|
54
|
+
required_proof: ['repository boundary tests', 'migration script evidence', 'CRUD integration evidence'],
|
|
55
|
+
},
|
|
56
|
+
'evented-api': {
|
|
57
|
+
id: 'evented-api',
|
|
58
|
+
title: 'Evented API',
|
|
59
|
+
summary: 'API with application events, handlers, queue delivery, idempotency, and retry policy.',
|
|
60
|
+
foundation_reference: 'devtrack-foundation-api',
|
|
61
|
+
inherits_shared_baseline: true,
|
|
62
|
+
selection_triggers: ['event', 'events', 'outbox', 'queue', 'handler', 'idempotency', 'retry'],
|
|
63
|
+
adds: ['application event contracts', 'application handlers', 'queue delivery strategy', 'idempotency', 'retry/error policy'],
|
|
64
|
+
required_proof: ['event contract docs', 'handler tests', 'idempotency/retry evidence'],
|
|
65
|
+
},
|
|
66
|
+
'ai-agent-api': {
|
|
67
|
+
id: 'ai-agent-api',
|
|
68
|
+
title: 'AI Agent API',
|
|
69
|
+
summary: 'API for AI agent workflows with tool boundaries, safety, redaction, and deterministic tests.',
|
|
70
|
+
foundation_reference: 'devtrack-foundation-api',
|
|
71
|
+
inherits_shared_baseline: true,
|
|
72
|
+
selection_triggers: ['ai', 'agent', 'llm', 'tool', 'prompt', 'provider', 'model'],
|
|
73
|
+
adds: ['agent endpoint conventions', 'tool/action boundaries', 'provider config redaction', 'audit trail'],
|
|
74
|
+
required_proof: ['no live credential tests', 'tool boundary validation', 'redaction evidence', 'auditability evidence'],
|
|
75
|
+
},
|
|
76
|
+
'full-foundation-compatible': {
|
|
77
|
+
id: 'full-foundation-compatible',
|
|
78
|
+
title: 'Full Foundation Compatible',
|
|
79
|
+
summary: 'Strict profile for full compatibility with devtrack-foundation-api architecture and conventions.',
|
|
80
|
+
foundation_reference: 'devtrack-foundation-api',
|
|
81
|
+
inherits_shared_baseline: true,
|
|
82
|
+
selection_triggers: ['foundation', 'foundation-compatible', 'full', 'devtrack-api', 'devtrack-foundation-api'],
|
|
83
|
+
adds: ['Foundation parity matrix', 'full layer structure', 'strict contract validation', 'legacy alias compatibility'],
|
|
84
|
+
required_proof: ['Foundation parity matrix', 'artifact map evidence', 'strict validation gates'],
|
|
85
|
+
parity_matrix_ref: CODESDD_FULL_FOUNDATION_PARITY_MATRIX.id,
|
|
86
|
+
parity_dimensions: CODESDD_FULL_FOUNDATION_PARITY_DIMENSIONS,
|
|
87
|
+
},
|
|
88
|
+
};
|
|
89
|
+
export function isCodeSddApiProfileId(value) {
|
|
90
|
+
return CODESDD_API_PROFILE_IDS.includes(value);
|
|
91
|
+
}
|
|
92
|
+
export function resolveCodeSddApiProfile(value, options = {}) {
|
|
93
|
+
const normalized = value?.trim();
|
|
94
|
+
const defaultProfile = options.defaultProfile ?? DEFAULT_CODESDD_API_PROFILE_ID;
|
|
95
|
+
if (!normalized) {
|
|
96
|
+
return {
|
|
97
|
+
family_id: CODESDD_API_PROFILE_FAMILY_ID,
|
|
98
|
+
input: value,
|
|
99
|
+
profile_id: defaultProfile,
|
|
100
|
+
legacy_alias: false,
|
|
101
|
+
};
|
|
102
|
+
}
|
|
103
|
+
if (normalized === LEGACY_DEVTRACK_API_PROFILE_ALIAS) {
|
|
104
|
+
return {
|
|
105
|
+
family_id: CODESDD_API_PROFILE_FAMILY_ID,
|
|
106
|
+
input: value,
|
|
107
|
+
profile_id: DEFAULT_DEVTRACK_API_ALIAS_PROFILE_ID,
|
|
108
|
+
legacy_alias: true,
|
|
109
|
+
migration_notice: 'devtrack-api is a compatibility alias; use full-foundation-compatible for new CodeSDD API profile requests.',
|
|
110
|
+
};
|
|
111
|
+
}
|
|
112
|
+
if (isCodeSddApiProfileId(normalized)) {
|
|
113
|
+
return {
|
|
114
|
+
family_id: CODESDD_API_PROFILE_FAMILY_ID,
|
|
115
|
+
input: value,
|
|
116
|
+
profile_id: normalized,
|
|
117
|
+
legacy_alias: false,
|
|
118
|
+
};
|
|
119
|
+
}
|
|
120
|
+
throw new Error(`Unknown CodeSDD API profile "${value}". Expected one of: ${CODESDD_API_PROFILE_IDS.join(', ')}.`);
|
|
121
|
+
}
|
|
122
|
+
export function selectCodeSddApiProfileFromIntent(intent) {
|
|
123
|
+
const normalized = intent.toLowerCase();
|
|
124
|
+
for (const profile of CODESDD_API_PROFILE_SELECTION_ORDER) {
|
|
125
|
+
const definition = CODESDD_API_PROFILE_DEFINITIONS[profile];
|
|
126
|
+
if (definition.selection_triggers.some((trigger) => normalized.includes(trigger))) {
|
|
127
|
+
return profile;
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
return DEFAULT_CODESDD_API_PROFILE_ID;
|
|
131
|
+
}
|
|
132
|
+
//# sourceMappingURL=api-profile-catalog.js.map
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import { type CodeSddApiProfileId, type ResolvedCodeSddApiProfile } from './api-profile-catalog.js';
|
|
2
|
+
import type { PluginArtifactKind, PluginArtifactLayer, PluginArtifactRole } from './plugin-sdk-contract.js';
|
|
3
|
+
export declare const CODESDD_API_PROFILE_DRY_RUN_EVIDENCE_CONTRACT: {
|
|
4
|
+
readonly id: "profile-aware-dry-run-evidence";
|
|
5
|
+
readonly version: 1;
|
|
6
|
+
readonly mode: "dry-run";
|
|
7
|
+
readonly mutation_policy: "planning-only";
|
|
8
|
+
};
|
|
9
|
+
export type CodeSddApiProfileDryRunWriteSource = 'shared-baseline' | 'profile-overlay' | 'full-foundation-parity';
|
|
10
|
+
export interface CodeSddApiProfileExpectedWriteDefinition {
|
|
11
|
+
path: string;
|
|
12
|
+
layer: PluginArtifactLayer;
|
|
13
|
+
artifact_kind: PluginArtifactKind;
|
|
14
|
+
role: PluginArtifactRole;
|
|
15
|
+
source: CodeSddApiProfileDryRunWriteSource;
|
|
16
|
+
reason: string;
|
|
17
|
+
required_by: readonly string[];
|
|
18
|
+
}
|
|
19
|
+
export interface CodeSddApiProfileDryRunExpectationDefinition {
|
|
20
|
+
profile_id: CodeSddApiProfileId;
|
|
21
|
+
profile_quality_gates: readonly string[];
|
|
22
|
+
expected_writes: readonly CodeSddApiProfileExpectedWriteDefinition[];
|
|
23
|
+
}
|
|
24
|
+
export interface CodeSddApiProfileArtifactMapRefInput {
|
|
25
|
+
path: string;
|
|
26
|
+
layer: PluginArtifactLayer;
|
|
27
|
+
artifact_kind: PluginArtifactKind;
|
|
28
|
+
role: PluginArtifactRole;
|
|
29
|
+
content_type: string;
|
|
30
|
+
source_reference: string;
|
|
31
|
+
tags: readonly string[];
|
|
32
|
+
}
|
|
33
|
+
export interface CodeSddApiProfileProjectedWrite extends CodeSddApiProfileExpectedWriteDefinition {
|
|
34
|
+
status: 'expected';
|
|
35
|
+
planned_in_current_scaffold: boolean;
|
|
36
|
+
}
|
|
37
|
+
export interface CodeSddApiProfileArtifactMapRef {
|
|
38
|
+
path: string;
|
|
39
|
+
layer: PluginArtifactLayer;
|
|
40
|
+
artifact_kind: PluginArtifactKind;
|
|
41
|
+
role: PluginArtifactRole;
|
|
42
|
+
content_type: string;
|
|
43
|
+
source_refs: string[];
|
|
44
|
+
tags: string[];
|
|
45
|
+
status: 'planned';
|
|
46
|
+
}
|
|
47
|
+
export interface CodeSddApiProfileValidationResult {
|
|
48
|
+
command: string;
|
|
49
|
+
status: 'pending';
|
|
50
|
+
result: 'not_executed_dry_run';
|
|
51
|
+
expected_outcome: string;
|
|
52
|
+
evidence_required: readonly string[];
|
|
53
|
+
}
|
|
54
|
+
export interface CodeSddApiProfileMigrationWarning {
|
|
55
|
+
code: 'legacy-profile-alias';
|
|
56
|
+
severity: 'warning';
|
|
57
|
+
requested_profile: string;
|
|
58
|
+
resolves_to: CodeSddApiProfileId;
|
|
59
|
+
message: string;
|
|
60
|
+
}
|
|
61
|
+
export interface CodeSddApiProfileDryRunProjection {
|
|
62
|
+
id: typeof CODESDD_API_PROFILE_DRY_RUN_EVIDENCE_CONTRACT.id;
|
|
63
|
+
version: typeof CODESDD_API_PROFILE_DRY_RUN_EVIDENCE_CONTRACT.version;
|
|
64
|
+
mode: typeof CODESDD_API_PROFILE_DRY_RUN_EVIDENCE_CONTRACT.mode;
|
|
65
|
+
mutation_policy: typeof CODESDD_API_PROFILE_DRY_RUN_EVIDENCE_CONTRACT.mutation_policy;
|
|
66
|
+
selected_profile: CodeSddApiProfileId;
|
|
67
|
+
requested_profile: string;
|
|
68
|
+
legacy_alias: boolean;
|
|
69
|
+
inherited_baseline: true;
|
|
70
|
+
expected_write_scope: string[];
|
|
71
|
+
expected_writes: CodeSddApiProfileProjectedWrite[];
|
|
72
|
+
expected_quality_gates: string[];
|
|
73
|
+
artifact_map_refs: CodeSddApiProfileArtifactMapRef[];
|
|
74
|
+
validation_results: CodeSddApiProfileValidationResult[];
|
|
75
|
+
migration_warnings: CodeSddApiProfileMigrationWarning[];
|
|
76
|
+
}
|
|
77
|
+
export declare const CODESDD_API_PROFILE_DRY_RUN_EXPECTATION_DEFINITIONS: {
|
|
78
|
+
'minimal-rest': CodeSddApiProfileDryRunExpectationDefinition;
|
|
79
|
+
'rest-auth-rbac': CodeSddApiProfileDryRunExpectationDefinition;
|
|
80
|
+
'rest-crud-typeorm': CodeSddApiProfileDryRunExpectationDefinition;
|
|
81
|
+
'evented-api': CodeSddApiProfileDryRunExpectationDefinition;
|
|
82
|
+
'ai-agent-api': CodeSddApiProfileDryRunExpectationDefinition;
|
|
83
|
+
'full-foundation-compatible': CodeSddApiProfileDryRunExpectationDefinition;
|
|
84
|
+
};
|
|
85
|
+
export declare function getCodeSddApiProfileDryRunExpectation(profileId: CodeSddApiProfileId): CodeSddApiProfileDryRunExpectationDefinition;
|
|
86
|
+
export declare function getCodeSddApiProfileDryRunExpectations(): CodeSddApiProfileDryRunExpectationDefinition[];
|
|
87
|
+
export declare function buildCodeSddApiProfileDryRunProjection(input: {
|
|
88
|
+
apiProfile: ResolvedCodeSddApiProfile;
|
|
89
|
+
expectedWriteScope: readonly string[];
|
|
90
|
+
artifactMapRefs: readonly CodeSddApiProfileArtifactMapRefInput[];
|
|
91
|
+
validationCommands: readonly string[];
|
|
92
|
+
}): CodeSddApiProfileDryRunProjection;
|
|
93
|
+
//# sourceMappingURL=api-profile-dry-run-projection.d.ts.map
|