@scoutflo/topology-contracts 0.7.2 → 0.7.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/dist/src/correlation/candidate.d.ts +6 -0
- package/dist/src/correlation/candidate.js +3 -0
- package/dist/src/correlation/candidate.js.map +1 -1
- package/dist/src/correlation/connectionContractV1.d.ts +80 -0
- package/dist/src/correlation/connectionContractV1.js +139 -0
- package/dist/src/correlation/connectionContractV1.js.map +1 -0
- package/dist/src/correlation/contracts/families/argocd/index.d.ts +73 -0
- package/dist/src/correlation/contracts/families/argocd/index.js +71 -0
- package/dist/src/correlation/contracts/families/argocd/index.js.map +1 -0
- package/dist/src/correlation/contracts/families/aws/index.d.ts +181 -0
- package/dist/src/correlation/contracts/families/aws/index.js +138 -0
- package/dist/src/correlation/contracts/families/aws/index.js.map +1 -0
- package/dist/src/correlation/contracts/families/github/index.d.ts +71 -0
- package/dist/src/correlation/contracts/families/github/index.js +61 -0
- package/dist/src/correlation/contracts/families/github/index.js.map +1 -0
- package/dist/src/correlation/contracts/families/index.d.ts +906 -0
- package/dist/src/correlation/contracts/families/index.js +35 -0
- package/dist/src/correlation/contracts/families/index.js.map +1 -0
- package/dist/src/correlation/contracts/families/integrations/index.d.ts +467 -0
- package/dist/src/correlation/contracts/families/integrations/index.js +357 -0
- package/dist/src/correlation/contracts/families/integrations/index.js.map +1 -0
- package/dist/src/correlation/contracts/families/kubernetes/index.d.ts +113 -0
- package/dist/src/correlation/contracts/families/kubernetes/index.js +100 -0
- package/dist/src/correlation/contracts/families/kubernetes/index.js.map +1 -0
- package/dist/src/correlation/contracts/index.d.ts +4 -0
- package/dist/src/correlation/contracts/index.js +21 -0
- package/dist/src/correlation/contracts/index.js.map +1 -0
- package/dist/src/correlation/contracts/registry.d.ts +912 -0
- package/dist/src/correlation/contracts/registry.js +55 -0
- package/dist/src/correlation/contracts/registry.js.map +1 -0
- package/dist/src/correlation/contracts/status.d.ts +10 -0
- package/dist/src/correlation/contracts/status.js +18 -0
- package/dist/src/correlation/contracts/status.js.map +1 -0
- package/dist/src/correlation/contracts/types.d.ts +302 -0
- package/dist/src/correlation/contracts/types.js +114 -0
- package/dist/src/correlation/contracts/types.js.map +1 -0
- package/dist/src/correlation/index.d.ts +2 -0
- package/dist/src/correlation/index.js +2 -0
- package/dist/src/correlation/index.js.map +1 -1
- package/dist/src/source-sync/candidate.d.ts +6 -0
- package/dist/src/source-sync/candidate.js +3 -0
- package/dist/src/source-sync/candidate.js.map +1 -1
- package/dist/test/contracts.test.js +162 -3
- package/dist/test/contracts.test.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AWS_CONNECTION_CONTRACTS = void 0;
|
|
4
|
+
const providers_1 = require("../../../../providers");
|
|
5
|
+
const topology_1 = require("../../../../topology");
|
|
6
|
+
const types_1 = require("../../types");
|
|
7
|
+
const status_1 = require("../../status");
|
|
8
|
+
const awsStructuralGuardrails = [
|
|
9
|
+
'Candidate registry metadata only; Gateway owns source-sync stamping, validation, and reconciliation.',
|
|
10
|
+
'Provider-specific AWS identifiers remain in source_attributes and must not become global normalized keys.',
|
|
11
|
+
];
|
|
12
|
+
exports.AWS_CONNECTION_CONTRACTS = [
|
|
13
|
+
{
|
|
14
|
+
key: 'aws_vpc_part_of_account',
|
|
15
|
+
version: 'v1',
|
|
16
|
+
status: status_1.CONNECTION_CONTRACT_STATUS.CANDIDATE,
|
|
17
|
+
family: types_1.CONNECTION_CONTRACT_FAMILY.AWS,
|
|
18
|
+
source_endpoint: { entity_type: 'resource', resource_type: topology_1.TOPOLOGY_RESOURCE_TYPE.VPC, provider: providers_1.TOPOLOGY_PROVIDER.AWS },
|
|
19
|
+
relation: topology_1.TOPOLOGY_RELATION_TYPE.PART_OF,
|
|
20
|
+
target_endpoint: { entity_type: 'resource', resource_type: topology_1.TOPOLOGY_RESOURCE_TYPE.AWS_ACCOUNT, provider: providers_1.TOPOLOGY_PROVIDER.AWS },
|
|
21
|
+
relation_class: 'structural',
|
|
22
|
+
attribute_schema_key: types_1.STRUCTURAL_CONTAINMENT_ATTRIBUTE_SCHEMA_KEY,
|
|
23
|
+
evidence_level: types_1.CONNECTION_CONTRACT_EVIDENCE_LEVEL.CODE_EVIDENCE,
|
|
24
|
+
provider_family: 'aws',
|
|
25
|
+
provider_category: types_1.CONNECTION_CONTRACT_PROVIDER_CATEGORY.CLOUD,
|
|
26
|
+
notes: ['Uses the generic persisted database resource_type; current AWS adapter evidence maps this to RDS-style resources.'],
|
|
27
|
+
guardrails: awsStructuralGuardrails,
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
key: 'aws_subnet_part_of_vpc',
|
|
31
|
+
version: 'v1',
|
|
32
|
+
status: status_1.CONNECTION_CONTRACT_STATUS.CANDIDATE,
|
|
33
|
+
family: types_1.CONNECTION_CONTRACT_FAMILY.AWS,
|
|
34
|
+
source_endpoint: { entity_type: 'resource', resource_type: topology_1.TOPOLOGY_RESOURCE_TYPE.SUBNET, provider: providers_1.TOPOLOGY_PROVIDER.AWS },
|
|
35
|
+
relation: topology_1.TOPOLOGY_RELATION_TYPE.PART_OF,
|
|
36
|
+
target_endpoint: { entity_type: 'resource', resource_type: topology_1.TOPOLOGY_RESOURCE_TYPE.VPC, provider: providers_1.TOPOLOGY_PROVIDER.AWS },
|
|
37
|
+
relation_class: 'structural',
|
|
38
|
+
attribute_schema_key: types_1.STRUCTURAL_CONTAINMENT_ATTRIBUTE_SCHEMA_KEY,
|
|
39
|
+
evidence_level: types_1.CONNECTION_CONTRACT_EVIDENCE_LEVEL.CODE_EVIDENCE,
|
|
40
|
+
provider_family: 'aws',
|
|
41
|
+
provider_category: types_1.CONNECTION_CONTRACT_PROVIDER_CATEGORY.CLOUD,
|
|
42
|
+
notes: ['Uses the generic persisted object_storage resource_type; current AWS adapter evidence maps this to S3-style resources.'],
|
|
43
|
+
guardrails: awsStructuralGuardrails,
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
key: 'aws_compute_instance_part_of_subnet',
|
|
47
|
+
version: 'v1',
|
|
48
|
+
status: status_1.CONNECTION_CONTRACT_STATUS.CANDIDATE,
|
|
49
|
+
family: types_1.CONNECTION_CONTRACT_FAMILY.AWS,
|
|
50
|
+
source_endpoint: { entity_type: 'resource', resource_type: topology_1.TOPOLOGY_RESOURCE_TYPE.COMPUTE_INSTANCE, provider: providers_1.TOPOLOGY_PROVIDER.AWS },
|
|
51
|
+
relation: topology_1.TOPOLOGY_RELATION_TYPE.PART_OF,
|
|
52
|
+
target_endpoint: { entity_type: 'resource', resource_type: topology_1.TOPOLOGY_RESOURCE_TYPE.SUBNET, provider: providers_1.TOPOLOGY_PROVIDER.AWS },
|
|
53
|
+
relation_class: 'structural',
|
|
54
|
+
attribute_schema_key: types_1.STRUCTURAL_CONTAINMENT_ATTRIBUTE_SCHEMA_KEY,
|
|
55
|
+
evidence_level: types_1.CONNECTION_CONTRACT_EVIDENCE_LEVEL.CODE_EVIDENCE,
|
|
56
|
+
provider_family: 'aws',
|
|
57
|
+
provider_category: types_1.CONNECTION_CONTRACT_PROVIDER_CATEGORY.CLOUD,
|
|
58
|
+
notes: ['Uses the generic persisted kubernetes_cluster resource_type; current AWS adapter evidence maps this to EKS-style resources.'],
|
|
59
|
+
guardrails: awsStructuralGuardrails,
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
key: 'aws_compute_instance_part_of_vpc',
|
|
63
|
+
version: 'v1',
|
|
64
|
+
status: status_1.CONNECTION_CONTRACT_STATUS.CANDIDATE,
|
|
65
|
+
family: types_1.CONNECTION_CONTRACT_FAMILY.AWS,
|
|
66
|
+
source_endpoint: { entity_type: 'resource', resource_type: topology_1.TOPOLOGY_RESOURCE_TYPE.COMPUTE_INSTANCE, provider: providers_1.TOPOLOGY_PROVIDER.AWS },
|
|
67
|
+
relation: topology_1.TOPOLOGY_RELATION_TYPE.PART_OF,
|
|
68
|
+
target_endpoint: { entity_type: 'resource', resource_type: topology_1.TOPOLOGY_RESOURCE_TYPE.VPC, provider: providers_1.TOPOLOGY_PROVIDER.AWS },
|
|
69
|
+
relation_class: 'structural',
|
|
70
|
+
attribute_schema_key: types_1.STRUCTURAL_CONTAINMENT_ATTRIBUTE_SCHEMA_KEY,
|
|
71
|
+
evidence_level: types_1.CONNECTION_CONTRACT_EVIDENCE_LEVEL.CODE_EVIDENCE,
|
|
72
|
+
provider_family: 'aws',
|
|
73
|
+
provider_category: types_1.CONNECTION_CONTRACT_PROVIDER_CATEGORY.CLOUD,
|
|
74
|
+
notes: ['Uses the generic persisted kubernetes_cluster resource_type; current AWS adapter evidence maps this to EKS-style resources.'],
|
|
75
|
+
guardrails: awsStructuralGuardrails,
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
key: 'aws_database_part_of_vpc',
|
|
79
|
+
version: 'v1',
|
|
80
|
+
status: status_1.CONNECTION_CONTRACT_STATUS.CANDIDATE,
|
|
81
|
+
family: types_1.CONNECTION_CONTRACT_FAMILY.AWS,
|
|
82
|
+
source_endpoint: { entity_type: 'resource', resource_type: topology_1.TOPOLOGY_RESOURCE_TYPE.DATABASE, provider: providers_1.TOPOLOGY_PROVIDER.AWS },
|
|
83
|
+
relation: topology_1.TOPOLOGY_RELATION_TYPE.PART_OF,
|
|
84
|
+
target_endpoint: { entity_type: 'resource', resource_type: topology_1.TOPOLOGY_RESOURCE_TYPE.VPC, provider: providers_1.TOPOLOGY_PROVIDER.AWS },
|
|
85
|
+
relation_class: 'structural',
|
|
86
|
+
attribute_schema_key: types_1.STRUCTURAL_CONTAINMENT_ATTRIBUTE_SCHEMA_KEY,
|
|
87
|
+
evidence_level: types_1.CONNECTION_CONTRACT_EVIDENCE_LEVEL.CODE_EVIDENCE,
|
|
88
|
+
provider_family: 'aws',
|
|
89
|
+
provider_category: types_1.CONNECTION_CONTRACT_PROVIDER_CATEGORY.CLOUD,
|
|
90
|
+
guardrails: awsStructuralGuardrails,
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
key: 'aws_object_storage_part_of_account',
|
|
94
|
+
version: 'v1',
|
|
95
|
+
status: status_1.CONNECTION_CONTRACT_STATUS.CANDIDATE,
|
|
96
|
+
family: types_1.CONNECTION_CONTRACT_FAMILY.AWS,
|
|
97
|
+
source_endpoint: { entity_type: 'resource', resource_type: topology_1.TOPOLOGY_RESOURCE_TYPE.OBJECT_STORAGE, provider: providers_1.TOPOLOGY_PROVIDER.AWS },
|
|
98
|
+
relation: topology_1.TOPOLOGY_RELATION_TYPE.PART_OF,
|
|
99
|
+
target_endpoint: { entity_type: 'resource', resource_type: topology_1.TOPOLOGY_RESOURCE_TYPE.AWS_ACCOUNT, provider: providers_1.TOPOLOGY_PROVIDER.AWS },
|
|
100
|
+
relation_class: 'structural',
|
|
101
|
+
attribute_schema_key: types_1.STRUCTURAL_CONTAINMENT_ATTRIBUTE_SCHEMA_KEY,
|
|
102
|
+
evidence_level: types_1.CONNECTION_CONTRACT_EVIDENCE_LEVEL.CODE_EVIDENCE,
|
|
103
|
+
provider_family: 'aws',
|
|
104
|
+
provider_category: types_1.CONNECTION_CONTRACT_PROVIDER_CATEGORY.CLOUD,
|
|
105
|
+
guardrails: awsStructuralGuardrails,
|
|
106
|
+
},
|
|
107
|
+
{
|
|
108
|
+
key: 'aws_kubernetes_cluster_part_of_vpc',
|
|
109
|
+
version: 'v1',
|
|
110
|
+
status: status_1.CONNECTION_CONTRACT_STATUS.CANDIDATE,
|
|
111
|
+
family: types_1.CONNECTION_CONTRACT_FAMILY.AWS,
|
|
112
|
+
source_endpoint: { entity_type: 'resource', resource_type: topology_1.TOPOLOGY_RESOURCE_TYPE.KUBERNETES_CLUSTER, provider: providers_1.TOPOLOGY_PROVIDER.AWS },
|
|
113
|
+
relation: topology_1.TOPOLOGY_RELATION_TYPE.PART_OF,
|
|
114
|
+
target_endpoint: { entity_type: 'resource', resource_type: topology_1.TOPOLOGY_RESOURCE_TYPE.VPC, provider: providers_1.TOPOLOGY_PROVIDER.AWS },
|
|
115
|
+
relation_class: 'structural',
|
|
116
|
+
attribute_schema_key: types_1.STRUCTURAL_CONTAINMENT_ATTRIBUTE_SCHEMA_KEY,
|
|
117
|
+
evidence_level: types_1.CONNECTION_CONTRACT_EVIDENCE_LEVEL.CODE_EVIDENCE,
|
|
118
|
+
provider_family: 'aws',
|
|
119
|
+
provider_category: types_1.CONNECTION_CONTRACT_PROVIDER_CATEGORY.CLOUD,
|
|
120
|
+
guardrails: awsStructuralGuardrails,
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
key: 'aws_kubernetes_cluster_part_of_account',
|
|
124
|
+
version: 'v1',
|
|
125
|
+
status: status_1.CONNECTION_CONTRACT_STATUS.CANDIDATE,
|
|
126
|
+
family: types_1.CONNECTION_CONTRACT_FAMILY.AWS,
|
|
127
|
+
source_endpoint: { entity_type: 'resource', resource_type: topology_1.TOPOLOGY_RESOURCE_TYPE.KUBERNETES_CLUSTER, provider: providers_1.TOPOLOGY_PROVIDER.AWS },
|
|
128
|
+
relation: topology_1.TOPOLOGY_RELATION_TYPE.PART_OF,
|
|
129
|
+
target_endpoint: { entity_type: 'resource', resource_type: topology_1.TOPOLOGY_RESOURCE_TYPE.AWS_ACCOUNT, provider: providers_1.TOPOLOGY_PROVIDER.AWS },
|
|
130
|
+
relation_class: 'structural',
|
|
131
|
+
attribute_schema_key: types_1.STRUCTURAL_CONTAINMENT_ATTRIBUTE_SCHEMA_KEY,
|
|
132
|
+
evidence_level: types_1.CONNECTION_CONTRACT_EVIDENCE_LEVEL.CODE_EVIDENCE,
|
|
133
|
+
provider_family: 'aws',
|
|
134
|
+
provider_category: types_1.CONNECTION_CONTRACT_PROVIDER_CATEGORY.CLOUD,
|
|
135
|
+
guardrails: awsStructuralGuardrails,
|
|
136
|
+
},
|
|
137
|
+
];
|
|
138
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/correlation/contracts/families/aws/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
export declare const GITHUB_CONNECTION_CONTRACTS: readonly [{
|
|
2
|
+
readonly key: "github_account_owns_repository";
|
|
3
|
+
readonly version: "v1";
|
|
4
|
+
readonly status: "reserved";
|
|
5
|
+
readonly family: "github";
|
|
6
|
+
readonly source_endpoint: {
|
|
7
|
+
readonly entity_type: "resource";
|
|
8
|
+
readonly resource_type: "vcs";
|
|
9
|
+
readonly source_type: "github_account";
|
|
10
|
+
readonly provider: "github";
|
|
11
|
+
};
|
|
12
|
+
readonly relation: "OWNS";
|
|
13
|
+
readonly target_endpoint: {
|
|
14
|
+
readonly entity_type: "resource";
|
|
15
|
+
readonly resource_type: "vcs";
|
|
16
|
+
readonly source_type: "github_repository";
|
|
17
|
+
readonly provider: "github";
|
|
18
|
+
};
|
|
19
|
+
readonly relation_class: "associative";
|
|
20
|
+
readonly attribute_schema_key: "vcs.github";
|
|
21
|
+
readonly evidence_level: "planned";
|
|
22
|
+
readonly provider_family: "github";
|
|
23
|
+
readonly provider_category: "vcs";
|
|
24
|
+
readonly guardrails: readonly ["GitHub repository contracts are reserved vocabulary until repository nodes and edges exist locally.", "Do not treat repository metadata alone as proof of a service or resource edge."];
|
|
25
|
+
}, {
|
|
26
|
+
readonly key: "github_repository_defines_service";
|
|
27
|
+
readonly version: "v1";
|
|
28
|
+
readonly status: "reserved";
|
|
29
|
+
readonly family: "github";
|
|
30
|
+
readonly source_endpoint: {
|
|
31
|
+
readonly entity_type: "resource";
|
|
32
|
+
readonly resource_type: "vcs";
|
|
33
|
+
readonly source_type: "github_repository";
|
|
34
|
+
readonly provider: "github";
|
|
35
|
+
};
|
|
36
|
+
readonly relation: "PROVIDES";
|
|
37
|
+
readonly target_endpoint: {
|
|
38
|
+
readonly entity_type: "service";
|
|
39
|
+
readonly label: "scoutflo_service";
|
|
40
|
+
};
|
|
41
|
+
readonly relation_class: "associative";
|
|
42
|
+
readonly attribute_schema_key: "vcs.github";
|
|
43
|
+
readonly evidence_level: "planned";
|
|
44
|
+
readonly provider_family: "github";
|
|
45
|
+
readonly provider_category: "vcs";
|
|
46
|
+
readonly notes: readonly ["Reserved until repository nodes and service-definition projection tests exist."];
|
|
47
|
+
readonly guardrails: readonly ["GitHub repository contracts are reserved vocabulary until repository nodes and edges exist locally.", "Do not treat repository metadata alone as proof of a service or resource edge."];
|
|
48
|
+
}, {
|
|
49
|
+
readonly key: "github_repository_defines_resource";
|
|
50
|
+
readonly version: "v1";
|
|
51
|
+
readonly status: "reserved";
|
|
52
|
+
readonly family: "github";
|
|
53
|
+
readonly source_endpoint: {
|
|
54
|
+
readonly entity_type: "resource";
|
|
55
|
+
readonly resource_type: "vcs";
|
|
56
|
+
readonly source_type: "github_repository";
|
|
57
|
+
readonly provider: "github";
|
|
58
|
+
};
|
|
59
|
+
readonly relation: "PROVIDES";
|
|
60
|
+
readonly target_endpoint: {
|
|
61
|
+
readonly entity_type: "resource";
|
|
62
|
+
readonly label: "declared_in_repository";
|
|
63
|
+
};
|
|
64
|
+
readonly relation_class: "associative";
|
|
65
|
+
readonly attribute_schema_key: "vcs.github";
|
|
66
|
+
readonly evidence_level: "planned";
|
|
67
|
+
readonly provider_family: "github";
|
|
68
|
+
readonly provider_category: "vcs";
|
|
69
|
+
readonly notes: readonly ["Reserved for IaC/manifest-backed resource definitions; provider files stay in source_attributes."];
|
|
70
|
+
readonly guardrails: readonly ["GitHub repository contracts are reserved vocabulary until repository nodes and edges exist locally.", "Do not treat repository metadata alone as proof of a service or resource edge."];
|
|
71
|
+
}];
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.GITHUB_CONNECTION_CONTRACTS = void 0;
|
|
4
|
+
const providers_1 = require("../../../../providers");
|
|
5
|
+
const topology_1 = require("../../../../topology");
|
|
6
|
+
const types_1 = require("../../types");
|
|
7
|
+
const status_1 = require("../../status");
|
|
8
|
+
const githubGuardrails = [
|
|
9
|
+
'GitHub repository contracts are reserved vocabulary until repository nodes and edges exist locally.',
|
|
10
|
+
'Do not treat repository metadata alone as proof of a service or resource edge.',
|
|
11
|
+
];
|
|
12
|
+
exports.GITHUB_CONNECTION_CONTRACTS = [
|
|
13
|
+
{
|
|
14
|
+
key: 'github_account_owns_repository',
|
|
15
|
+
version: 'v1',
|
|
16
|
+
status: status_1.CONNECTION_CONTRACT_STATUS.RESERVED,
|
|
17
|
+
family: types_1.CONNECTION_CONTRACT_FAMILY.GITHUB,
|
|
18
|
+
source_endpoint: { entity_type: 'resource', resource_type: topology_1.TOPOLOGY_RESOURCE_TYPE.VCS, source_type: 'github_account', provider: providers_1.TOPOLOGY_PROVIDER.GITHUB },
|
|
19
|
+
relation: topology_1.TOPOLOGY_RELATION_TYPE.OWNS,
|
|
20
|
+
target_endpoint: { entity_type: 'resource', resource_type: topology_1.TOPOLOGY_RESOURCE_TYPE.VCS, source_type: 'github_repository', provider: providers_1.TOPOLOGY_PROVIDER.GITHUB },
|
|
21
|
+
relation_class: 'associative',
|
|
22
|
+
attribute_schema_key: types_1.VCS_GITHUB_ATTRIBUTE_SCHEMA_KEY,
|
|
23
|
+
evidence_level: types_1.CONNECTION_CONTRACT_EVIDENCE_LEVEL.PLANNED,
|
|
24
|
+
provider_family: 'github',
|
|
25
|
+
provider_category: types_1.CONNECTION_CONTRACT_PROVIDER_CATEGORY.VCS,
|
|
26
|
+
guardrails: githubGuardrails,
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
key: 'github_repository_defines_service',
|
|
30
|
+
version: 'v1',
|
|
31
|
+
status: status_1.CONNECTION_CONTRACT_STATUS.RESERVED,
|
|
32
|
+
family: types_1.CONNECTION_CONTRACT_FAMILY.GITHUB,
|
|
33
|
+
source_endpoint: { entity_type: 'resource', resource_type: topology_1.TOPOLOGY_RESOURCE_TYPE.VCS, source_type: 'github_repository', provider: providers_1.TOPOLOGY_PROVIDER.GITHUB },
|
|
34
|
+
relation: topology_1.TOPOLOGY_RELATION_TYPE.PROVIDES,
|
|
35
|
+
target_endpoint: { entity_type: 'service', label: 'scoutflo_service' },
|
|
36
|
+
relation_class: 'associative',
|
|
37
|
+
attribute_schema_key: types_1.VCS_GITHUB_ATTRIBUTE_SCHEMA_KEY,
|
|
38
|
+
evidence_level: types_1.CONNECTION_CONTRACT_EVIDENCE_LEVEL.PLANNED,
|
|
39
|
+
provider_family: 'github',
|
|
40
|
+
provider_category: types_1.CONNECTION_CONTRACT_PROVIDER_CATEGORY.VCS,
|
|
41
|
+
notes: ['Reserved until repository nodes and service-definition projection tests exist.'],
|
|
42
|
+
guardrails: githubGuardrails,
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
key: 'github_repository_defines_resource',
|
|
46
|
+
version: 'v1',
|
|
47
|
+
status: status_1.CONNECTION_CONTRACT_STATUS.RESERVED,
|
|
48
|
+
family: types_1.CONNECTION_CONTRACT_FAMILY.GITHUB,
|
|
49
|
+
source_endpoint: { entity_type: 'resource', resource_type: topology_1.TOPOLOGY_RESOURCE_TYPE.VCS, source_type: 'github_repository', provider: providers_1.TOPOLOGY_PROVIDER.GITHUB },
|
|
50
|
+
relation: topology_1.TOPOLOGY_RELATION_TYPE.PROVIDES,
|
|
51
|
+
target_endpoint: { entity_type: 'resource', label: 'declared_in_repository' },
|
|
52
|
+
relation_class: 'associative',
|
|
53
|
+
attribute_schema_key: types_1.VCS_GITHUB_ATTRIBUTE_SCHEMA_KEY,
|
|
54
|
+
evidence_level: types_1.CONNECTION_CONTRACT_EVIDENCE_LEVEL.PLANNED,
|
|
55
|
+
provider_family: 'github',
|
|
56
|
+
provider_category: types_1.CONNECTION_CONTRACT_PROVIDER_CATEGORY.VCS,
|
|
57
|
+
notes: ['Reserved for IaC/manifest-backed resource definitions; provider files stay in source_attributes.'],
|
|
58
|
+
guardrails: githubGuardrails,
|
|
59
|
+
},
|
|
60
|
+
];
|
|
61
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/correlation/contracts/families/github/index.ts"],"names":[],"mappings":";;;AAAA,qDAA0D;AAC1D,mDAAsF;AACtF,uCAMqB;AACrB,yCAA0D;AAE1D,MAAM,gBAAgB,GAAG;IACvB,qGAAqG;IACrG,gFAAgF;CACxE,CAAC;AAEE,QAAA,2BAA2B,GAAG;IACzC;QACE,GAAG,EAAE,gCAAgC;QACrC,OAAO,EAAE,IAAI;QACb,MAAM,EAAE,mCAA0B,CAAC,QAAQ;QAC3C,MAAM,EAAE,kCAA0B,CAAC,MAAM;QACzC,eAAe,EAAE,EAAE,WAAW,EAAE,UAAU,EAAE,aAAa,EAAE,iCAAsB,CAAC,GAAG,EAAE,WAAW,EAAE,gBAAgB,EAAE,QAAQ,EAAE,6BAAiB,CAAC,MAAM,EAAE;QAC1J,QAAQ,EAAE,iCAAsB,CAAC,IAAI;QACrC,eAAe,EAAE,EAAE,WAAW,EAAE,UAAU,EAAE,aAAa,EAAE,iCAAsB,CAAC,GAAG,EAAE,WAAW,EAAE,mBAAmB,EAAE,QAAQ,EAAE,6BAAiB,CAAC,MAAM,EAAE;QAC7J,cAAc,EAAE,aAAa;QAC7B,oBAAoB,EAAE,uCAA+B;QACrD,cAAc,EAAE,0CAAkC,CAAC,OAAO;QAC1D,eAAe,EAAE,QAAQ;QACzB,iBAAiB,EAAE,6CAAqC,CAAC,GAAG;QAC5D,UAAU,EAAE,gBAAgB;KAC7B;IACD;QACE,GAAG,EAAE,mCAAmC;QACxC,OAAO,EAAE,IAAI;QACb,MAAM,EAAE,mCAA0B,CAAC,QAAQ;QAC3C,MAAM,EAAE,kCAA0B,CAAC,MAAM;QACzC,eAAe,EAAE,EAAE,WAAW,EAAE,UAAU,EAAE,aAAa,EAAE,iCAAsB,CAAC,GAAG,EAAE,WAAW,EAAE,mBAAmB,EAAE,QAAQ,EAAE,6BAAiB,CAAC,MAAM,EAAE;QAC7J,QAAQ,EAAE,iCAAsB,CAAC,QAAQ;QACzC,eAAe,EAAE,EAAE,WAAW,EAAE,SAAS,EAAE,KAAK,EAAE,kBAAkB,EAAE;QACtE,cAAc,EAAE,aAAa;QAC7B,oBAAoB,EAAE,uCAA+B;QACrD,cAAc,EAAE,0CAAkC,CAAC,OAAO;QAC1D,eAAe,EAAE,QAAQ;QACzB,iBAAiB,EAAE,6CAAqC,CAAC,GAAG;QAC5D,KAAK,EAAE,CAAC,gFAAgF,CAAC;QACzF,UAAU,EAAE,gBAAgB;KAC7B;IACD;QACE,GAAG,EAAE,oCAAoC;QACzC,OAAO,EAAE,IAAI;QACb,MAAM,EAAE,mCAA0B,CAAC,QAAQ;QAC3C,MAAM,EAAE,kCAA0B,CAAC,MAAM;QACzC,eAAe,EAAE,EAAE,WAAW,EAAE,UAAU,EAAE,aAAa,EAAE,iCAAsB,CAAC,GAAG,EAAE,WAAW,EAAE,mBAAmB,EAAE,QAAQ,EAAE,6BAAiB,CAAC,MAAM,EAAE;QAC7J,QAAQ,EAAE,iCAAsB,CAAC,QAAQ;QACzC,eAAe,EAAE,EAAE,WAAW,EAAE,UAAU,EAAE,KAAK,EAAE,wBAAwB,EAAE;QAC7E,cAAc,EAAE,aAAa;QAC7B,oBAAoB,EAAE,uCAA+B;QACrD,cAAc,EAAE,0CAAkC,CAAC,OAAO;QAC1D,eAAe,EAAE,QAAQ;QACzB,iBAAiB,EAAE,6CAAqC,CAAC,GAAG;QAC5D,KAAK,EAAE,CAAC,kGAAkG,CAAC;QAC3G,UAAU,EAAE,gBAAgB;KAC7B;CACuD,CAAC"}
|