@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.
Files changed (45) hide show
  1. package/dist/src/correlation/candidate.d.ts +6 -0
  2. package/dist/src/correlation/candidate.js +3 -0
  3. package/dist/src/correlation/candidate.js.map +1 -1
  4. package/dist/src/correlation/connectionContractV1.d.ts +80 -0
  5. package/dist/src/correlation/connectionContractV1.js +139 -0
  6. package/dist/src/correlation/connectionContractV1.js.map +1 -0
  7. package/dist/src/correlation/contracts/families/argocd/index.d.ts +73 -0
  8. package/dist/src/correlation/contracts/families/argocd/index.js +71 -0
  9. package/dist/src/correlation/contracts/families/argocd/index.js.map +1 -0
  10. package/dist/src/correlation/contracts/families/aws/index.d.ts +181 -0
  11. package/dist/src/correlation/contracts/families/aws/index.js +138 -0
  12. package/dist/src/correlation/contracts/families/aws/index.js.map +1 -0
  13. package/dist/src/correlation/contracts/families/github/index.d.ts +71 -0
  14. package/dist/src/correlation/contracts/families/github/index.js +61 -0
  15. package/dist/src/correlation/contracts/families/github/index.js.map +1 -0
  16. package/dist/src/correlation/contracts/families/index.d.ts +906 -0
  17. package/dist/src/correlation/contracts/families/index.js +35 -0
  18. package/dist/src/correlation/contracts/families/index.js.map +1 -0
  19. package/dist/src/correlation/contracts/families/integrations/index.d.ts +467 -0
  20. package/dist/src/correlation/contracts/families/integrations/index.js +357 -0
  21. package/dist/src/correlation/contracts/families/integrations/index.js.map +1 -0
  22. package/dist/src/correlation/contracts/families/kubernetes/index.d.ts +113 -0
  23. package/dist/src/correlation/contracts/families/kubernetes/index.js +100 -0
  24. package/dist/src/correlation/contracts/families/kubernetes/index.js.map +1 -0
  25. package/dist/src/correlation/contracts/index.d.ts +4 -0
  26. package/dist/src/correlation/contracts/index.js +21 -0
  27. package/dist/src/correlation/contracts/index.js.map +1 -0
  28. package/dist/src/correlation/contracts/registry.d.ts +912 -0
  29. package/dist/src/correlation/contracts/registry.js +55 -0
  30. package/dist/src/correlation/contracts/registry.js.map +1 -0
  31. package/dist/src/correlation/contracts/status.d.ts +10 -0
  32. package/dist/src/correlation/contracts/status.js +18 -0
  33. package/dist/src/correlation/contracts/status.js.map +1 -0
  34. package/dist/src/correlation/contracts/types.d.ts +302 -0
  35. package/dist/src/correlation/contracts/types.js +114 -0
  36. package/dist/src/correlation/contracts/types.js.map +1 -0
  37. package/dist/src/correlation/index.d.ts +2 -0
  38. package/dist/src/correlation/index.js +2 -0
  39. package/dist/src/correlation/index.js.map +1 -1
  40. package/dist/src/source-sync/candidate.d.ts +6 -0
  41. package/dist/src/source-sync/candidate.js +3 -0
  42. package/dist/src/source-sync/candidate.js.map +1 -1
  43. package/dist/test/contracts.test.js +162 -3
  44. package/dist/test/contracts.test.js.map +1 -1
  45. package/package.json +1 -1
@@ -25,6 +25,8 @@ export declare const topologyCorrelationCandidateSchema: z.ZodObject<{
25
25
  id: string;
26
26
  }>;
27
27
  relation: z.ZodString;
28
+ correlation_contract_key: z.ZodOptional<z.ZodString>;
29
+ correlation_contract_version: z.ZodOptional<z.ZodString>;
28
30
  canonical_key: z.ZodString;
29
31
  semantic_key: z.ZodString;
30
32
  confidence: z.ZodObject<{
@@ -169,6 +171,8 @@ export declare const topologyCorrelationCandidateSchema: z.ZodObject<{
169
171
  id: string;
170
172
  }>;
171
173
  relation: z.ZodString;
174
+ correlation_contract_key: z.ZodOptional<z.ZodString>;
175
+ correlation_contract_version: z.ZodOptional<z.ZodString>;
172
176
  canonical_key: z.ZodString;
173
177
  semantic_key: z.ZodString;
174
178
  confidence: z.ZodObject<{
@@ -313,6 +317,8 @@ export declare const topologyCorrelationCandidateSchema: z.ZodObject<{
313
317
  id: string;
314
318
  }>;
315
319
  relation: z.ZodString;
320
+ correlation_contract_key: z.ZodOptional<z.ZodString>;
321
+ correlation_contract_version: z.ZodOptional<z.ZodString>;
316
322
  canonical_key: z.ZodString;
317
323
  semantic_key: z.ZodString;
318
324
  confidence: z.ZodObject<{
@@ -4,6 +4,7 @@ exports.topologyCorrelationCandidateSchema = exports.topologyCorrelationDecision
4
4
  const zod_1 = require("zod");
5
5
  const correlation_core_1 = require("@scoutflo/correlation-core");
6
6
  const common_1 = require("../source-sync/common");
7
+ const contractVocabulary_1 = require("./contractVocabulary");
7
8
  exports.topologyCorrelationDecisionSchema = zod_1.z.enum([
8
9
  'ready',
9
10
  'warning_only',
@@ -19,6 +20,8 @@ exports.topologyCorrelationCandidateSchema = zod_1.z.object({
19
20
  from: correlation_core_1.correlationEntityRefSchema,
20
21
  to: correlation_core_1.correlationEntityRefSchema,
21
22
  relation: common_1.nonEmptyStringSchema,
23
+ correlation_contract_key: contractVocabulary_1.topologyCorrelationContractKeySchema.optional(),
24
+ correlation_contract_version: contractVocabulary_1.topologyCorrelationContractVersionSchema.optional(),
22
25
  canonical_key: common_1.nonEmptyStringSchema,
23
26
  semantic_key: common_1.nonEmptyStringSchema,
24
27
  confidence: correlation_core_1.confidenceSchema,
@@ -1 +1 @@
1
- {"version":3,"file":"candidate.js","sourceRoot":"","sources":["../../../src/correlation/candidate.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AACxB,iEAKoC;AACpC,kDAG+B;AAElB,QAAA,iCAAiC,GAAG,OAAC,CAAC,IAAI,CAAC;IACtD,OAAO;IACP,cAAc;IACd,WAAW;IACX,SAAS;IACT,UAAU;IACV,YAAY;CACb,CAAC,CAAC;AAEU,QAAA,kCAAkC,GAAG,OAAC,CAAC,MAAM,CAAC;IACzD,aAAa,EAAE,6BAAoB;IACnC,QAAQ,EAAE,6BAAoB;IAC9B,YAAY,EAAE,6BAAoB;IAClC,IAAI,EAAE,6CAA0B;IAChC,EAAE,EAAE,6CAA0B;IAC9B,QAAQ,EAAE,6BAAoB;IAC9B,aAAa,EAAE,6BAAoB;IACnC,YAAY,EAAE,6BAAoB;IAClC,UAAU,EAAE,mCAAgB;IAC5B,QAAQ,EAAE,OAAC,CAAC,KAAK,CAAC,4CAAyB,CAAC;IAC5C,QAAQ,EAAE,yCAAiC;IAC3C,WAAW,EAAE,OAAC,CAAC,KAAK,CAAC,8CAA2B,CAAC,CAAC,QAAQ,EAAE;IAC5D,UAAU,EAAE,qBAAY,CAAC,QAAQ,EAAE;IACnC,iBAAiB,EAAE,qBAAY,CAAC,QAAQ,EAAE;CAC3C,CAAC,CAAC,WAAW,EAAE,CAAC"}
1
+ {"version":3,"file":"candidate.js","sourceRoot":"","sources":["../../../src/correlation/candidate.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AACxB,iEAKoC;AACpC,kDAG+B;AAC/B,6DAG8B;AAEjB,QAAA,iCAAiC,GAAG,OAAC,CAAC,IAAI,CAAC;IACtD,OAAO;IACP,cAAc;IACd,WAAW;IACX,SAAS;IACT,UAAU;IACV,YAAY;CACb,CAAC,CAAC;AAEU,QAAA,kCAAkC,GAAG,OAAC,CAAC,MAAM,CAAC;IACzD,aAAa,EAAE,6BAAoB;IACnC,QAAQ,EAAE,6BAAoB;IAC9B,YAAY,EAAE,6BAAoB;IAClC,IAAI,EAAE,6CAA0B;IAChC,EAAE,EAAE,6CAA0B;IAC9B,QAAQ,EAAE,6BAAoB;IAC9B,wBAAwB,EAAE,yDAAoC,CAAC,QAAQ,EAAE;IACzE,4BAA4B,EAAE,6DAAwC,CAAC,QAAQ,EAAE;IACjF,aAAa,EAAE,6BAAoB;IACnC,YAAY,EAAE,6BAAoB;IAClC,UAAU,EAAE,mCAAgB;IAC5B,QAAQ,EAAE,OAAC,CAAC,KAAK,CAAC,4CAAyB,CAAC;IAC5C,QAAQ,EAAE,yCAAiC;IAC3C,WAAW,EAAE,OAAC,CAAC,KAAK,CAAC,8CAA2B,CAAC,CAAC,QAAQ,EAAE;IAC5D,UAAU,EAAE,qBAAY,CAAC,QAAQ,EAAE;IACnC,iBAAiB,EAAE,qBAAY,CAAC,QAAQ,EAAE;CAC3C,CAAC,CAAC,WAAW,EAAE,CAAC"}
@@ -0,0 +1,80 @@
1
+ import { z } from 'zod';
2
+ export declare const CONNECTION_CONTRACT_VERSION_V1 = "v1";
3
+ export declare const K8S_WORKLOAD_PART_OF_NAMESPACE_CONTRACT_KEY = "k8s_workload_part_of_namespace";
4
+ export declare const K8S_WORKLOAD_SENDS_METRICS_TO_PROMETHEUS_COMPATIBLE_CONTRACT_KEY = "k8s_workload_sends_metrics_to_prometheus_compatible";
5
+ export declare const WORKLOAD_REPORTS_ERRORS_TO_SENTRY_CONTRACT_KEY = "workload_reports_errors_to_sentry";
6
+ export declare const CONNECTION_CONTRACT_V1_KEYS: readonly ["k8s_workload_part_of_namespace", "k8s_workload_sends_metrics_to_prometheus_compatible", "workload_reports_errors_to_sentry"];
7
+ export declare const RELATIONSHIP_STRUCTURAL_CONTAINMENT_ATTRIBUTE_SCHEMA_KEY = "relationship.structural_containment.v1";
8
+ export declare const MONITORING_PROMETHEUS_ATTRIBUTE_SCHEMA_KEY = "monitoring.prometheus";
9
+ export declare const MONITORING_MIMIR_ATTRIBUTE_SCHEMA_KEY = "monitoring.mimir";
10
+ export declare const MONITORING_VICTORIAMETRICS_ATTRIBUTE_SCHEMA_KEY = "monitoring.victoriametrics";
11
+ export declare const MONITORING_SENTRY_ATTRIBUTE_SCHEMA_KEY = "monitoring.sentry";
12
+ export declare const CONNECTION_CONTRACT_ATTRIBUTE_SCHEMA_KEYS: readonly ["relationship.structural_containment.v1", "monitoring.prometheus", "monitoring.mimir", "monitoring.victoriametrics", "monitoring.sentry"];
13
+ export declare const PERSISTED_CANONICAL_IDENTITY_CLAIMS: readonly ["service_name", "namespace", "workload_name", "workload_type", "cluster_id", "environment", "provider", "integration_category"];
14
+ export declare const KUBERNETES_WORKLOAD_CANONICAL_IDENTITY_CLAIMS: readonly ["cluster_id", "namespace", "workload_name", "workload_type"];
15
+ export declare const RATIFIED_MATCH_EVIDENCE_SIGNAL_CATEGORIES: readonly ["service", "workload", "cluster", "pod", "container", "app", "team", "project", "repository", "space"];
16
+ export declare const SUPPORTED_CORRELATION_SIGNAL_CATEGORIES: readonly ["service", "namespace", "workload", "cluster", "pod", "container", "app", "team", "project", "repository", "space", "environment"];
17
+ export declare const INTEGRATION_CATEGORY_VALUES: readonly ["observability", "logging", "tracing", "vcs", "ticketing", "deployment", "alerting"];
18
+ export declare const PROMETHEUS_COMPATIBLE_PROVIDERS: readonly ["mimir", "prometheus", "victoriametrics"];
19
+ export declare const PROMETHEUS_COMPATIBLE_ATTRIBUTE_SCHEMA_BY_PROVIDER: {
20
+ readonly mimir: "monitoring.mimir";
21
+ readonly prometheus: "monitoring.prometheus";
22
+ readonly victoriametrics: "monitoring.victoriametrics";
23
+ };
24
+ export declare const connectionContractVersionV1Schema: z.ZodLiteral<"v1">;
25
+ export declare const connectionContractV1KeySchema: z.ZodEnum<["k8s_workload_part_of_namespace", "k8s_workload_sends_metrics_to_prometheus_compatible", "workload_reports_errors_to_sentry"]>;
26
+ export declare const connectionContractAttributeSchemaKeySchema: z.ZodEnum<["relationship.structural_containment.v1", "monitoring.prometheus", "monitoring.mimir", "monitoring.victoriametrics", "monitoring.sentry"]>;
27
+ export declare const persistedCanonicalIdentityClaimSchema: z.ZodEnum<["service_name", "namespace", "workload_name", "workload_type", "cluster_id", "environment", "provider", "integration_category"]>;
28
+ export declare const kubernetesWorkloadCanonicalIdentityClaimSchema: z.ZodEnum<["cluster_id", "namespace", "workload_name", "workload_type"]>;
29
+ export declare const ratifiedMatchEvidenceSignalCategorySchema: z.ZodEnum<["service", "workload", "cluster", "pod", "container", "app", "team", "project", "repository", "space"]>;
30
+ export declare const supportedCorrelationSignalCategorySchema: z.ZodEnum<["service", "namespace", "workload", "cluster", "pod", "container", "app", "team", "project", "repository", "space", "environment"]>;
31
+ export declare const integrationCategoryValueSchema: z.ZodEnum<["observability", "logging", "tracing", "vcs", "ticketing", "deployment", "alerting"]>;
32
+ export declare const prometheusCompatibleProviderSchema: z.ZodEnum<["mimir", "prometheus", "victoriametrics"]>;
33
+ export declare const connectionContractV1RefSchema: z.ZodObject<{
34
+ correlation_contract_key: z.ZodEnum<["k8s_workload_part_of_namespace", "k8s_workload_sends_metrics_to_prometheus_compatible", "workload_reports_errors_to_sentry"]>;
35
+ correlation_contract_version: z.ZodLiteral<"v1">;
36
+ }, "passthrough", z.ZodTypeAny, z.objectOutputType<{
37
+ correlation_contract_key: z.ZodEnum<["k8s_workload_part_of_namespace", "k8s_workload_sends_metrics_to_prometheus_compatible", "workload_reports_errors_to_sentry"]>;
38
+ correlation_contract_version: z.ZodLiteral<"v1">;
39
+ }, z.ZodTypeAny, "passthrough">, z.objectInputType<{
40
+ correlation_contract_key: z.ZodEnum<["k8s_workload_part_of_namespace", "k8s_workload_sends_metrics_to_prometheus_compatible", "workload_reports_errors_to_sentry"]>;
41
+ correlation_contract_version: z.ZodLiteral<"v1">;
42
+ }, z.ZodTypeAny, "passthrough">>;
43
+ export declare const K8S_WORKLOAD_PART_OF_NAMESPACE_CONTRACT_REF: {
44
+ readonly correlation_contract_key: "k8s_workload_part_of_namespace";
45
+ readonly correlation_contract_version: "v1";
46
+ };
47
+ export declare const K8S_WORKLOAD_SENDS_METRICS_TO_PROMETHEUS_COMPATIBLE_CONTRACT_REF: {
48
+ readonly correlation_contract_key: "k8s_workload_sends_metrics_to_prometheus_compatible";
49
+ readonly correlation_contract_version: "v1";
50
+ };
51
+ export declare const WORKLOAD_REPORTS_ERRORS_TO_SENTRY_CONTRACT_REF: {
52
+ readonly correlation_contract_key: "workload_reports_errors_to_sentry";
53
+ readonly correlation_contract_version: "v1";
54
+ };
55
+ export declare const CONNECTION_CONTRACT_V1_REFS: readonly [{
56
+ readonly correlation_contract_key: "k8s_workload_part_of_namespace";
57
+ readonly correlation_contract_version: "v1";
58
+ }, {
59
+ readonly correlation_contract_key: "k8s_workload_sends_metrics_to_prometheus_compatible";
60
+ readonly correlation_contract_version: "v1";
61
+ }, {
62
+ readonly correlation_contract_key: "workload_reports_errors_to_sentry";
63
+ readonly correlation_contract_version: "v1";
64
+ }];
65
+ export type ConnectionContractV1Key = z.infer<typeof connectionContractV1KeySchema>;
66
+ export type ConnectionContractVersionV1 = z.infer<typeof connectionContractVersionV1Schema>;
67
+ export type ConnectionContractV1Ref = z.infer<typeof connectionContractV1RefSchema>;
68
+ export type ConnectionContractAttributeSchemaKey = z.infer<typeof connectionContractAttributeSchemaKeySchema>;
69
+ export type PersistedCanonicalIdentityClaim = z.infer<typeof persistedCanonicalIdentityClaimSchema>;
70
+ export type KubernetesWorkloadCanonicalIdentityClaim = z.infer<typeof kubernetesWorkloadCanonicalIdentityClaimSchema>;
71
+ export type RatifiedMatchEvidenceSignalCategory = z.infer<typeof ratifiedMatchEvidenceSignalCategorySchema>;
72
+ export type SupportedCorrelationSignalCategory = z.infer<typeof supportedCorrelationSignalCategorySchema>;
73
+ export type IntegrationCategoryValue = z.infer<typeof integrationCategoryValueSchema>;
74
+ export type PrometheusCompatibleProvider = z.infer<typeof prometheusCompatibleProviderSchema>;
75
+ export declare function prometheusCompatibleContractForProvider(provider: string): (typeof K8S_WORKLOAD_SENDS_METRICS_TO_PROMETHEUS_COMPATIBLE_CONTRACT_REF & {
76
+ attribute_schema_key: (typeof PROMETHEUS_COMPATIBLE_ATTRIBUTE_SCHEMA_BY_PROVIDER)[PrometheusCompatibleProvider];
77
+ }) | undefined;
78
+ export declare function sentryContractForProvider(provider: string): (typeof WORKLOAD_REPORTS_ERRORS_TO_SENTRY_CONTRACT_REF & {
79
+ attribute_schema_key: typeof MONITORING_SENTRY_ATTRIBUTE_SCHEMA_KEY;
80
+ }) | undefined;
@@ -0,0 +1,139 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CONNECTION_CONTRACT_V1_REFS = exports.WORKLOAD_REPORTS_ERRORS_TO_SENTRY_CONTRACT_REF = exports.K8S_WORKLOAD_SENDS_METRICS_TO_PROMETHEUS_COMPATIBLE_CONTRACT_REF = exports.K8S_WORKLOAD_PART_OF_NAMESPACE_CONTRACT_REF = exports.connectionContractV1RefSchema = exports.prometheusCompatibleProviderSchema = exports.integrationCategoryValueSchema = exports.supportedCorrelationSignalCategorySchema = exports.ratifiedMatchEvidenceSignalCategorySchema = exports.kubernetesWorkloadCanonicalIdentityClaimSchema = exports.persistedCanonicalIdentityClaimSchema = exports.connectionContractAttributeSchemaKeySchema = exports.connectionContractV1KeySchema = exports.connectionContractVersionV1Schema = exports.PROMETHEUS_COMPATIBLE_ATTRIBUTE_SCHEMA_BY_PROVIDER = exports.PROMETHEUS_COMPATIBLE_PROVIDERS = exports.INTEGRATION_CATEGORY_VALUES = exports.SUPPORTED_CORRELATION_SIGNAL_CATEGORIES = exports.RATIFIED_MATCH_EVIDENCE_SIGNAL_CATEGORIES = exports.KUBERNETES_WORKLOAD_CANONICAL_IDENTITY_CLAIMS = exports.PERSISTED_CANONICAL_IDENTITY_CLAIMS = exports.CONNECTION_CONTRACT_ATTRIBUTE_SCHEMA_KEYS = exports.MONITORING_SENTRY_ATTRIBUTE_SCHEMA_KEY = exports.MONITORING_VICTORIAMETRICS_ATTRIBUTE_SCHEMA_KEY = exports.MONITORING_MIMIR_ATTRIBUTE_SCHEMA_KEY = exports.MONITORING_PROMETHEUS_ATTRIBUTE_SCHEMA_KEY = exports.RELATIONSHIP_STRUCTURAL_CONTAINMENT_ATTRIBUTE_SCHEMA_KEY = exports.CONNECTION_CONTRACT_V1_KEYS = exports.WORKLOAD_REPORTS_ERRORS_TO_SENTRY_CONTRACT_KEY = exports.K8S_WORKLOAD_SENDS_METRICS_TO_PROMETHEUS_COMPATIBLE_CONTRACT_KEY = exports.K8S_WORKLOAD_PART_OF_NAMESPACE_CONTRACT_KEY = exports.CONNECTION_CONTRACT_VERSION_V1 = void 0;
4
+ exports.prometheusCompatibleContractForProvider = prometheusCompatibleContractForProvider;
5
+ exports.sentryContractForProvider = sentryContractForProvider;
6
+ const zod_1 = require("zod");
7
+ const providers_1 = require("../providers");
8
+ exports.CONNECTION_CONTRACT_VERSION_V1 = 'v1';
9
+ exports.K8S_WORKLOAD_PART_OF_NAMESPACE_CONTRACT_KEY = 'k8s_workload_part_of_namespace';
10
+ exports.K8S_WORKLOAD_SENDS_METRICS_TO_PROMETHEUS_COMPATIBLE_CONTRACT_KEY = 'k8s_workload_sends_metrics_to_prometheus_compatible';
11
+ exports.WORKLOAD_REPORTS_ERRORS_TO_SENTRY_CONTRACT_KEY = 'workload_reports_errors_to_sentry';
12
+ exports.CONNECTION_CONTRACT_V1_KEYS = [
13
+ exports.K8S_WORKLOAD_PART_OF_NAMESPACE_CONTRACT_KEY,
14
+ exports.K8S_WORKLOAD_SENDS_METRICS_TO_PROMETHEUS_COMPATIBLE_CONTRACT_KEY,
15
+ exports.WORKLOAD_REPORTS_ERRORS_TO_SENTRY_CONTRACT_KEY,
16
+ ];
17
+ exports.RELATIONSHIP_STRUCTURAL_CONTAINMENT_ATTRIBUTE_SCHEMA_KEY = 'relationship.structural_containment.v1';
18
+ exports.MONITORING_PROMETHEUS_ATTRIBUTE_SCHEMA_KEY = 'monitoring.prometheus';
19
+ exports.MONITORING_MIMIR_ATTRIBUTE_SCHEMA_KEY = 'monitoring.mimir';
20
+ exports.MONITORING_VICTORIAMETRICS_ATTRIBUTE_SCHEMA_KEY = 'monitoring.victoriametrics';
21
+ exports.MONITORING_SENTRY_ATTRIBUTE_SCHEMA_KEY = 'monitoring.sentry';
22
+ exports.CONNECTION_CONTRACT_ATTRIBUTE_SCHEMA_KEYS = [
23
+ exports.RELATIONSHIP_STRUCTURAL_CONTAINMENT_ATTRIBUTE_SCHEMA_KEY,
24
+ exports.MONITORING_PROMETHEUS_ATTRIBUTE_SCHEMA_KEY,
25
+ exports.MONITORING_MIMIR_ATTRIBUTE_SCHEMA_KEY,
26
+ exports.MONITORING_VICTORIAMETRICS_ATTRIBUTE_SCHEMA_KEY,
27
+ exports.MONITORING_SENTRY_ATTRIBUTE_SCHEMA_KEY,
28
+ ];
29
+ exports.PERSISTED_CANONICAL_IDENTITY_CLAIMS = [
30
+ 'service_name',
31
+ 'namespace',
32
+ 'workload_name',
33
+ 'workload_type',
34
+ 'cluster_id',
35
+ 'environment',
36
+ 'provider',
37
+ 'integration_category',
38
+ ];
39
+ exports.KUBERNETES_WORKLOAD_CANONICAL_IDENTITY_CLAIMS = [
40
+ 'cluster_id',
41
+ 'namespace',
42
+ 'workload_name',
43
+ 'workload_type',
44
+ ];
45
+ exports.RATIFIED_MATCH_EVIDENCE_SIGNAL_CATEGORIES = [
46
+ 'service',
47
+ 'workload',
48
+ 'cluster',
49
+ 'pod',
50
+ 'container',
51
+ 'app',
52
+ 'team',
53
+ 'project',
54
+ 'repository',
55
+ 'space',
56
+ ];
57
+ exports.SUPPORTED_CORRELATION_SIGNAL_CATEGORIES = [
58
+ 'service',
59
+ 'namespace',
60
+ 'workload',
61
+ 'cluster',
62
+ 'pod',
63
+ 'container',
64
+ 'app',
65
+ 'team',
66
+ 'project',
67
+ 'repository',
68
+ 'space',
69
+ 'environment',
70
+ ];
71
+ exports.INTEGRATION_CATEGORY_VALUES = [
72
+ 'observability',
73
+ 'logging',
74
+ 'tracing',
75
+ 'vcs',
76
+ 'ticketing',
77
+ 'deployment',
78
+ 'alerting',
79
+ ];
80
+ exports.PROMETHEUS_COMPATIBLE_PROVIDERS = [
81
+ providers_1.TOPOLOGY_PROVIDER.MIMIR,
82
+ providers_1.TOPOLOGY_PROVIDER.PROMETHEUS,
83
+ providers_1.TOPOLOGY_PROVIDER.VICTORIAMETRICS,
84
+ ];
85
+ exports.PROMETHEUS_COMPATIBLE_ATTRIBUTE_SCHEMA_BY_PROVIDER = {
86
+ [providers_1.TOPOLOGY_PROVIDER.MIMIR]: exports.MONITORING_MIMIR_ATTRIBUTE_SCHEMA_KEY,
87
+ [providers_1.TOPOLOGY_PROVIDER.PROMETHEUS]: exports.MONITORING_PROMETHEUS_ATTRIBUTE_SCHEMA_KEY,
88
+ [providers_1.TOPOLOGY_PROVIDER.VICTORIAMETRICS]: exports.MONITORING_VICTORIAMETRICS_ATTRIBUTE_SCHEMA_KEY,
89
+ };
90
+ exports.connectionContractVersionV1Schema = zod_1.z.literal(exports.CONNECTION_CONTRACT_VERSION_V1);
91
+ exports.connectionContractV1KeySchema = zod_1.z.enum(exports.CONNECTION_CONTRACT_V1_KEYS);
92
+ exports.connectionContractAttributeSchemaKeySchema = zod_1.z.enum(exports.CONNECTION_CONTRACT_ATTRIBUTE_SCHEMA_KEYS);
93
+ exports.persistedCanonicalIdentityClaimSchema = zod_1.z.enum(exports.PERSISTED_CANONICAL_IDENTITY_CLAIMS);
94
+ exports.kubernetesWorkloadCanonicalIdentityClaimSchema = zod_1.z.enum(exports.KUBERNETES_WORKLOAD_CANONICAL_IDENTITY_CLAIMS);
95
+ exports.ratifiedMatchEvidenceSignalCategorySchema = zod_1.z.enum(exports.RATIFIED_MATCH_EVIDENCE_SIGNAL_CATEGORIES);
96
+ exports.supportedCorrelationSignalCategorySchema = zod_1.z.enum(exports.SUPPORTED_CORRELATION_SIGNAL_CATEGORIES);
97
+ exports.integrationCategoryValueSchema = zod_1.z.enum(exports.INTEGRATION_CATEGORY_VALUES);
98
+ exports.prometheusCompatibleProviderSchema = zod_1.z.enum(exports.PROMETHEUS_COMPATIBLE_PROVIDERS);
99
+ exports.connectionContractV1RefSchema = zod_1.z.object({
100
+ correlation_contract_key: exports.connectionContractV1KeySchema,
101
+ correlation_contract_version: exports.connectionContractVersionV1Schema,
102
+ }).passthrough();
103
+ exports.K8S_WORKLOAD_PART_OF_NAMESPACE_CONTRACT_REF = {
104
+ correlation_contract_key: exports.K8S_WORKLOAD_PART_OF_NAMESPACE_CONTRACT_KEY,
105
+ correlation_contract_version: exports.CONNECTION_CONTRACT_VERSION_V1,
106
+ };
107
+ exports.K8S_WORKLOAD_SENDS_METRICS_TO_PROMETHEUS_COMPATIBLE_CONTRACT_REF = {
108
+ correlation_contract_key: exports.K8S_WORKLOAD_SENDS_METRICS_TO_PROMETHEUS_COMPATIBLE_CONTRACT_KEY,
109
+ correlation_contract_version: exports.CONNECTION_CONTRACT_VERSION_V1,
110
+ };
111
+ exports.WORKLOAD_REPORTS_ERRORS_TO_SENTRY_CONTRACT_REF = {
112
+ correlation_contract_key: exports.WORKLOAD_REPORTS_ERRORS_TO_SENTRY_CONTRACT_KEY,
113
+ correlation_contract_version: exports.CONNECTION_CONTRACT_VERSION_V1,
114
+ };
115
+ exports.CONNECTION_CONTRACT_V1_REFS = [
116
+ exports.K8S_WORKLOAD_PART_OF_NAMESPACE_CONTRACT_REF,
117
+ exports.K8S_WORKLOAD_SENDS_METRICS_TO_PROMETHEUS_COMPATIBLE_CONTRACT_REF,
118
+ exports.WORKLOAD_REPORTS_ERRORS_TO_SENTRY_CONTRACT_REF,
119
+ ];
120
+ function prometheusCompatibleContractForProvider(provider) {
121
+ const parsedProvider = exports.prometheusCompatibleProviderSchema.safeParse(provider.trim().toLowerCase());
122
+ if (!parsedProvider.success) {
123
+ return undefined;
124
+ }
125
+ return {
126
+ attribute_schema_key: exports.PROMETHEUS_COMPATIBLE_ATTRIBUTE_SCHEMA_BY_PROVIDER[parsedProvider.data],
127
+ ...exports.K8S_WORKLOAD_SENDS_METRICS_TO_PROMETHEUS_COMPATIBLE_CONTRACT_REF,
128
+ };
129
+ }
130
+ function sentryContractForProvider(provider) {
131
+ if (provider.trim().toLowerCase() !== providers_1.TOPOLOGY_PROVIDER.SENTRY) {
132
+ return undefined;
133
+ }
134
+ return {
135
+ attribute_schema_key: exports.MONITORING_SENTRY_ATTRIBUTE_SCHEMA_KEY,
136
+ ...exports.WORKLOAD_REPORTS_ERRORS_TO_SENTRY_CONTRACT_REF,
137
+ };
138
+ }
139
+ //# sourceMappingURL=connectionContractV1.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connectionContractV1.js","sourceRoot":"","sources":["../../../src/correlation/connectionContractV1.ts"],"names":[],"mappings":";;;AAmJA,0FAcC;AAED,8DAaC;AAhLD,6BAAwB;AACxB,4CAAiD;AAEpC,QAAA,8BAA8B,GAAG,IAAI,CAAC;AAEtC,QAAA,2CAA2C,GAAG,gCAAgC,CAAC;AAC/E,QAAA,gEAAgE,GAC3E,qDAAqD,CAAC;AAC3C,QAAA,8CAA8C,GAAG,mCAAmC,CAAC;AAErF,QAAA,2BAA2B,GAAG;IACzC,mDAA2C;IAC3C,wEAAgE;IAChE,sDAA8C;CACtC,CAAC;AAEE,QAAA,wDAAwD,GACnE,wCAAwC,CAAC;AAE9B,QAAA,0CAA0C,GAAG,uBAAuB,CAAC;AACrE,QAAA,qCAAqC,GAAG,kBAAkB,CAAC;AAC3D,QAAA,+CAA+C,GAAG,4BAA4B,CAAC;AAC/E,QAAA,sCAAsC,GAAG,mBAAmB,CAAC;AAE7D,QAAA,yCAAyC,GAAG;IACvD,gEAAwD;IACxD,kDAA0C;IAC1C,6CAAqC;IACrC,uDAA+C;IAC/C,8CAAsC;CAC9B,CAAC;AAEE,QAAA,mCAAmC,GAAG;IACjD,cAAc;IACd,WAAW;IACX,eAAe;IACf,eAAe;IACf,YAAY;IACZ,aAAa;IACb,UAAU;IACV,sBAAsB;CACd,CAAC;AAEE,QAAA,6CAA6C,GAAG;IAC3D,YAAY;IACZ,WAAW;IACX,eAAe;IACf,eAAe;CACP,CAAC;AAEE,QAAA,yCAAyC,GAAG;IACvD,SAAS;IACT,UAAU;IACV,SAAS;IACT,KAAK;IACL,WAAW;IACX,KAAK;IACL,MAAM;IACN,SAAS;IACT,YAAY;IACZ,OAAO;CACC,CAAC;AAEE,QAAA,uCAAuC,GAAG;IACrD,SAAS;IACT,WAAW;IACX,UAAU;IACV,SAAS;IACT,KAAK;IACL,WAAW;IACX,KAAK;IACL,MAAM;IACN,SAAS;IACT,YAAY;IACZ,OAAO;IACP,aAAa;CACL,CAAC;AAEE,QAAA,2BAA2B,GAAG;IACzC,eAAe;IACf,SAAS;IACT,SAAS;IACT,KAAK;IACL,WAAW;IACX,YAAY;IACZ,UAAU;CACF,CAAC;AAEE,QAAA,+BAA+B,GAAG;IAC7C,6BAAiB,CAAC,KAAK;IACvB,6BAAiB,CAAC,UAAU;IAC5B,6BAAiB,CAAC,eAAe;CACzB,CAAC;AAEE,QAAA,kDAAkD,GAAG;IAChE,CAAC,6BAAiB,CAAC,KAAK,CAAC,EAAE,6CAAqC;IAChE,CAAC,6BAAiB,CAAC,UAAU,CAAC,EAAE,kDAA0C;IAC1E,CAAC,6BAAiB,CAAC,eAAe,CAAC,EAAE,uDAA+C;CAC5E,CAAC;AAEE,QAAA,iCAAiC,GAAG,OAAC,CAAC,OAAO,CAAC,sCAA8B,CAAC,CAAC;AAC9E,QAAA,6BAA6B,GAAG,OAAC,CAAC,IAAI,CAAC,mCAA2B,CAAC,CAAC;AACpE,QAAA,0CAA0C,GAAG,OAAC,CAAC,IAAI,CAAC,iDAAyC,CAAC,CAAC;AAC/F,QAAA,qCAAqC,GAAG,OAAC,CAAC,IAAI,CAAC,2CAAmC,CAAC,CAAC;AACpF,QAAA,8CAA8C,GAAG,OAAC,CAAC,IAAI,CAAC,qDAA6C,CAAC,CAAC;AACvG,QAAA,yCAAyC,GAAG,OAAC,CAAC,IAAI,CAAC,iDAAyC,CAAC,CAAC;AAC9F,QAAA,wCAAwC,GAAG,OAAC,CAAC,IAAI,CAAC,+CAAuC,CAAC,CAAC;AAC3F,QAAA,8BAA8B,GAAG,OAAC,CAAC,IAAI,CAAC,mCAA2B,CAAC,CAAC;AACrE,QAAA,kCAAkC,GAAG,OAAC,CAAC,IAAI,CAAC,uCAA+B,CAAC,CAAC;AAE7E,QAAA,6BAA6B,GAAG,OAAC,CAAC,MAAM,CAAC;IACpD,wBAAwB,EAAE,qCAA6B;IACvD,4BAA4B,EAAE,yCAAiC;CAChE,CAAC,CAAC,WAAW,EAAE,CAAC;AAEJ,QAAA,2CAA2C,GAAG;IACzD,wBAAwB,EAAE,mDAA2C;IACrE,4BAA4B,EAAE,sCAA8B;CACpD,CAAC;AAEE,QAAA,gEAAgE,GAAG;IAC9E,wBAAwB,EAAE,wEAAgE;IAC1F,4BAA4B,EAAE,sCAA8B;CACpD,CAAC;AAEE,QAAA,8CAA8C,GAAG;IAC5D,wBAAwB,EAAE,sDAA8C;IACxE,4BAA4B,EAAE,sCAA8B;CACpD,CAAC;AAEE,QAAA,2BAA2B,GAAG;IACzC,mDAA2C;IAC3C,wEAAgE;IAChE,sDAA8C;CACtC,CAAC;AAaX,SAAgB,uCAAuC,CAAC,QAAgB;IAKtE,MAAM,cAAc,GAAG,0CAAkC,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;IACnG,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC;QAC5B,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO;QACL,oBAAoB,EAAE,0DAAkD,CAAC,cAAc,CAAC,IAAI,CAAC;QAC7F,GAAG,wEAAgE;KACpE,CAAC;AACJ,CAAC;AAED,SAAgB,yBAAyB,CAAC,QAAgB;IAKxD,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,6BAAiB,CAAC,MAAM,EAAE,CAAC;QAC/D,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO;QACL,oBAAoB,EAAE,8CAAsC;QAC5D,GAAG,sDAA8C;KAClD,CAAC;AACJ,CAAC"}
@@ -0,0 +1,73 @@
1
+ export declare const ARGOCD_CONNECTION_CONTRACTS: readonly [{
2
+ readonly key: "argocd_app_sources_github_repository";
3
+ readonly version: "v1";
4
+ readonly status: "experimental";
5
+ readonly family: "argocd";
6
+ readonly source_endpoint: {
7
+ readonly entity_type: "resource";
8
+ readonly resource_type: "ci_cd";
9
+ readonly source_type: "argocd_application";
10
+ readonly provider: "argocd";
11
+ };
12
+ readonly relation: "CONFIGURED_BY";
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: "deployment.argocd";
21
+ readonly evidence_level: "pre_prod_validation";
22
+ readonly provider_family: "argocd";
23
+ readonly provider_category: "deployment";
24
+ readonly guardrails: readonly ["ArgoCD contracts are experimental until application nodes and endpoint-specific relation semantics exist.", "Application manifests and provider-specific sync facts remain in source_attributes."];
25
+ }, {
26
+ readonly key: "argocd_app_deploys_to_k8s_service";
27
+ readonly version: "v1";
28
+ readonly status: "experimental";
29
+ readonly family: "argocd";
30
+ readonly source_endpoint: {
31
+ readonly entity_type: "resource";
32
+ readonly resource_type: "ci_cd";
33
+ readonly source_type: "argocd_application";
34
+ readonly provider: "argocd";
35
+ };
36
+ readonly relation: "DEPLOYED_ON";
37
+ readonly target_endpoint: {
38
+ readonly entity_type: "resource";
39
+ readonly resource_type: "kubernetes_service";
40
+ readonly provider: "k8s";
41
+ };
42
+ readonly relation_class: "associative";
43
+ readonly attribute_schema_key: "deployment.argocd";
44
+ readonly evidence_level: "pre_prod_validation";
45
+ readonly provider_family: "argocd";
46
+ readonly provider_category: "deployment";
47
+ readonly notes: readonly ["Relation naming should be reviewed before ratification; this is not active production behavior."];
48
+ readonly guardrails: readonly ["ArgoCD contracts are experimental until application nodes and endpoint-specific relation semantics exist.", "Application manifests and provider-specific sync facts remain in source_attributes."];
49
+ }, {
50
+ readonly key: "argocd_app_deploys_to_k8s_workload";
51
+ readonly version: "v1";
52
+ readonly status: "experimental";
53
+ readonly family: "argocd";
54
+ readonly source_endpoint: {
55
+ readonly entity_type: "resource";
56
+ readonly resource_type: "ci_cd";
57
+ readonly source_type: "argocd_application";
58
+ readonly provider: "argocd";
59
+ };
60
+ readonly relation: "DEPLOYED_ON";
61
+ readonly target_endpoint: {
62
+ readonly entity_type: "resource";
63
+ readonly resource_types: readonly ["kubernetes_deployment", "kubernetes_stateful_set", "kubernetes_daemon_set", "kubernetes_job", "kubernetes_cron_job"];
64
+ readonly provider: "k8s";
65
+ };
66
+ readonly relation_class: "associative";
67
+ readonly attribute_schema_key: "deployment.argocd";
68
+ readonly evidence_level: "pre_prod_validation";
69
+ readonly provider_family: "argocd";
70
+ readonly provider_category: "deployment";
71
+ readonly notes: readonly ["Relation naming should be reviewed before ratification; this is not active production behavior."];
72
+ readonly guardrails: readonly ["ArgoCD contracts are experimental until application nodes and endpoint-specific relation semantics exist.", "Application manifests and provider-specific sync facts remain in source_attributes."];
73
+ }];
@@ -0,0 +1,71 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ARGOCD_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 argocdGuardrails = [
9
+ 'ArgoCD contracts are experimental until application nodes and endpoint-specific relation semantics exist.',
10
+ 'Application manifests and provider-specific sync facts remain in source_attributes.',
11
+ ];
12
+ exports.ARGOCD_CONNECTION_CONTRACTS = [
13
+ {
14
+ key: 'argocd_app_sources_github_repository',
15
+ version: 'v1',
16
+ status: status_1.CONNECTION_CONTRACT_STATUS.EXPERIMENTAL,
17
+ family: types_1.CONNECTION_CONTRACT_FAMILY.ARGOCD,
18
+ source_endpoint: { entity_type: 'resource', resource_type: topology_1.TOPOLOGY_RESOURCE_TYPE.CI_CD, source_type: 'argocd_application', provider: providers_1.TOPOLOGY_PROVIDER.ARGOCD },
19
+ relation: topology_1.TOPOLOGY_RELATION_TYPE.CONFIGURED_BY,
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.DEPLOYMENT_ARGOCD_ATTRIBUTE_SCHEMA_KEY,
23
+ evidence_level: types_1.CONNECTION_CONTRACT_EVIDENCE_LEVEL.PRE_PROD_VALIDATION,
24
+ provider_family: 'argocd',
25
+ provider_category: types_1.CONNECTION_CONTRACT_PROVIDER_CATEGORY.DEPLOYMENT,
26
+ guardrails: argocdGuardrails,
27
+ },
28
+ {
29
+ key: 'argocd_app_deploys_to_k8s_service',
30
+ version: 'v1',
31
+ status: status_1.CONNECTION_CONTRACT_STATUS.EXPERIMENTAL,
32
+ family: types_1.CONNECTION_CONTRACT_FAMILY.ARGOCD,
33
+ source_endpoint: { entity_type: 'resource', resource_type: topology_1.TOPOLOGY_RESOURCE_TYPE.CI_CD, source_type: 'argocd_application', provider: providers_1.TOPOLOGY_PROVIDER.ARGOCD },
34
+ relation: topology_1.TOPOLOGY_RELATION_TYPE.DEPLOYED_ON,
35
+ target_endpoint: { entity_type: 'resource', resource_type: topology_1.TOPOLOGY_RESOURCE_TYPE.KUBERNETES_SERVICE, provider: providers_1.TOPOLOGY_PROVIDER.K8S },
36
+ relation_class: 'associative',
37
+ attribute_schema_key: types_1.DEPLOYMENT_ARGOCD_ATTRIBUTE_SCHEMA_KEY,
38
+ evidence_level: types_1.CONNECTION_CONTRACT_EVIDENCE_LEVEL.PRE_PROD_VALIDATION,
39
+ provider_family: 'argocd',
40
+ provider_category: types_1.CONNECTION_CONTRACT_PROVIDER_CATEGORY.DEPLOYMENT,
41
+ notes: ['Relation naming should be reviewed before ratification; this is not active production behavior.'],
42
+ guardrails: argocdGuardrails,
43
+ },
44
+ {
45
+ key: 'argocd_app_deploys_to_k8s_workload',
46
+ version: 'v1',
47
+ status: status_1.CONNECTION_CONTRACT_STATUS.EXPERIMENTAL,
48
+ family: types_1.CONNECTION_CONTRACT_FAMILY.ARGOCD,
49
+ source_endpoint: { entity_type: 'resource', resource_type: topology_1.TOPOLOGY_RESOURCE_TYPE.CI_CD, source_type: 'argocd_application', provider: providers_1.TOPOLOGY_PROVIDER.ARGOCD },
50
+ relation: topology_1.TOPOLOGY_RELATION_TYPE.DEPLOYED_ON,
51
+ target_endpoint: {
52
+ entity_type: 'resource',
53
+ resource_types: [
54
+ topology_1.TOPOLOGY_RESOURCE_TYPE.KUBERNETES_DEPLOYMENT,
55
+ topology_1.TOPOLOGY_RESOURCE_TYPE.KUBERNETES_STATEFUL_SET,
56
+ topology_1.TOPOLOGY_RESOURCE_TYPE.KUBERNETES_DAEMON_SET,
57
+ topology_1.TOPOLOGY_RESOURCE_TYPE.KUBERNETES_JOB,
58
+ topology_1.TOPOLOGY_RESOURCE_TYPE.KUBERNETES_CRON_JOB,
59
+ ],
60
+ provider: providers_1.TOPOLOGY_PROVIDER.K8S,
61
+ },
62
+ relation_class: 'associative',
63
+ attribute_schema_key: types_1.DEPLOYMENT_ARGOCD_ATTRIBUTE_SCHEMA_KEY,
64
+ evidence_level: types_1.CONNECTION_CONTRACT_EVIDENCE_LEVEL.PRE_PROD_VALIDATION,
65
+ provider_family: 'argocd',
66
+ provider_category: types_1.CONNECTION_CONTRACT_PROVIDER_CATEGORY.DEPLOYMENT,
67
+ notes: ['Relation naming should be reviewed before ratification; this is not active production behavior.'],
68
+ guardrails: argocdGuardrails,
69
+ },
70
+ ];
71
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/correlation/contracts/families/argocd/index.ts"],"names":[],"mappings":";;;AAAA,qDAA0D;AAC1D,mDAAsF;AACtF,uCAMqB;AACrB,yCAA0D;AAE1D,MAAM,gBAAgB,GAAG;IACvB,2GAA2G;IAC3G,qFAAqF;CAC7E,CAAC;AAEE,QAAA,2BAA2B,GAAG;IACzC;QACE,GAAG,EAAE,sCAAsC;QAC3C,OAAO,EAAE,IAAI;QACb,MAAM,EAAE,mCAA0B,CAAC,YAAY;QAC/C,MAAM,EAAE,kCAA0B,CAAC,MAAM;QACzC,eAAe,EAAE,EAAE,WAAW,EAAE,UAAU,EAAE,aAAa,EAAE,iCAAsB,CAAC,KAAK,EAAE,WAAW,EAAE,oBAAoB,EAAE,QAAQ,EAAE,6BAAiB,CAAC,MAAM,EAAE;QAChK,QAAQ,EAAE,iCAAsB,CAAC,aAAa;QAC9C,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,8CAAsC;QAC5D,cAAc,EAAE,0CAAkC,CAAC,mBAAmB;QACtE,eAAe,EAAE,QAAQ;QACzB,iBAAiB,EAAE,6CAAqC,CAAC,UAAU;QACnE,UAAU,EAAE,gBAAgB;KAC7B;IACD;QACE,GAAG,EAAE,mCAAmC;QACxC,OAAO,EAAE,IAAI;QACb,MAAM,EAAE,mCAA0B,CAAC,YAAY;QAC/C,MAAM,EAAE,kCAA0B,CAAC,MAAM;QACzC,eAAe,EAAE,EAAE,WAAW,EAAE,UAAU,EAAE,aAAa,EAAE,iCAAsB,CAAC,KAAK,EAAE,WAAW,EAAE,oBAAoB,EAAE,QAAQ,EAAE,6BAAiB,CAAC,MAAM,EAAE;QAChK,QAAQ,EAAE,iCAAsB,CAAC,WAAW;QAC5C,eAAe,EAAE,EAAE,WAAW,EAAE,UAAU,EAAE,aAAa,EAAE,iCAAsB,CAAC,kBAAkB,EAAE,QAAQ,EAAE,6BAAiB,CAAC,GAAG,EAAE;QACvI,cAAc,EAAE,aAAa;QAC7B,oBAAoB,EAAE,8CAAsC;QAC5D,cAAc,EAAE,0CAAkC,CAAC,mBAAmB;QACtE,eAAe,EAAE,QAAQ;QACzB,iBAAiB,EAAE,6CAAqC,CAAC,UAAU;QACnE,KAAK,EAAE,CAAC,iGAAiG,CAAC;QAC1G,UAAU,EAAE,gBAAgB;KAC7B;IACD;QACE,GAAG,EAAE,oCAAoC;QACzC,OAAO,EAAE,IAAI;QACb,MAAM,EAAE,mCAA0B,CAAC,YAAY;QAC/C,MAAM,EAAE,kCAA0B,CAAC,MAAM;QACzC,eAAe,EAAE,EAAE,WAAW,EAAE,UAAU,EAAE,aAAa,EAAE,iCAAsB,CAAC,KAAK,EAAE,WAAW,EAAE,oBAAoB,EAAE,QAAQ,EAAE,6BAAiB,CAAC,MAAM,EAAE;QAChK,QAAQ,EAAE,iCAAsB,CAAC,WAAW;QAC5C,eAAe,EAAE;YACf,WAAW,EAAE,UAAU;YACvB,cAAc,EAAE;gBACd,iCAAsB,CAAC,qBAAqB;gBAC5C,iCAAsB,CAAC,uBAAuB;gBAC9C,iCAAsB,CAAC,qBAAqB;gBAC5C,iCAAsB,CAAC,cAAc;gBACrC,iCAAsB,CAAC,mBAAmB;aAC3C;YACD,QAAQ,EAAE,6BAAiB,CAAC,GAAG;SAChC;QACD,cAAc,EAAE,aAAa;QAC7B,oBAAoB,EAAE,8CAAsC;QAC5D,cAAc,EAAE,0CAAkC,CAAC,mBAAmB;QACtE,eAAe,EAAE,QAAQ;QACzB,iBAAiB,EAAE,6CAAqC,CAAC,UAAU;QACnE,KAAK,EAAE,CAAC,iGAAiG,CAAC;QAC1G,UAAU,EAAE,gBAAgB;KAC7B;CACuD,CAAC"}
@@ -0,0 +1,181 @@
1
+ export declare const AWS_CONNECTION_CONTRACTS: readonly [{
2
+ readonly key: "aws_vpc_part_of_account";
3
+ readonly version: "v1";
4
+ readonly status: "candidate";
5
+ readonly family: "aws";
6
+ readonly source_endpoint: {
7
+ readonly entity_type: "resource";
8
+ readonly resource_type: "vpc";
9
+ readonly provider: "aws";
10
+ };
11
+ readonly relation: "PART_OF";
12
+ readonly target_endpoint: {
13
+ readonly entity_type: "resource";
14
+ readonly resource_type: "aws_account";
15
+ readonly provider: "aws";
16
+ };
17
+ readonly relation_class: "structural";
18
+ readonly attribute_schema_key: "relationship.structural_containment.v1";
19
+ readonly evidence_level: "code_evidence";
20
+ readonly provider_family: "aws";
21
+ readonly provider_category: "cloud";
22
+ readonly notes: readonly ["Uses the generic persisted database resource_type; current AWS adapter evidence maps this to RDS-style resources."];
23
+ readonly guardrails: readonly ["Candidate registry metadata only; Gateway owns source-sync stamping, validation, and reconciliation.", "Provider-specific AWS identifiers remain in source_attributes and must not become global normalized keys."];
24
+ }, {
25
+ readonly key: "aws_subnet_part_of_vpc";
26
+ readonly version: "v1";
27
+ readonly status: "candidate";
28
+ readonly family: "aws";
29
+ readonly source_endpoint: {
30
+ readonly entity_type: "resource";
31
+ readonly resource_type: "subnet";
32
+ readonly provider: "aws";
33
+ };
34
+ readonly relation: "PART_OF";
35
+ readonly target_endpoint: {
36
+ readonly entity_type: "resource";
37
+ readonly resource_type: "vpc";
38
+ readonly provider: "aws";
39
+ };
40
+ readonly relation_class: "structural";
41
+ readonly attribute_schema_key: "relationship.structural_containment.v1";
42
+ readonly evidence_level: "code_evidence";
43
+ readonly provider_family: "aws";
44
+ readonly provider_category: "cloud";
45
+ readonly notes: readonly ["Uses the generic persisted object_storage resource_type; current AWS adapter evidence maps this to S3-style resources."];
46
+ readonly guardrails: readonly ["Candidate registry metadata only; Gateway owns source-sync stamping, validation, and reconciliation.", "Provider-specific AWS identifiers remain in source_attributes and must not become global normalized keys."];
47
+ }, {
48
+ readonly key: "aws_compute_instance_part_of_subnet";
49
+ readonly version: "v1";
50
+ readonly status: "candidate";
51
+ readonly family: "aws";
52
+ readonly source_endpoint: {
53
+ readonly entity_type: "resource";
54
+ readonly resource_type: "compute_instance";
55
+ readonly provider: "aws";
56
+ };
57
+ readonly relation: "PART_OF";
58
+ readonly target_endpoint: {
59
+ readonly entity_type: "resource";
60
+ readonly resource_type: "subnet";
61
+ readonly provider: "aws";
62
+ };
63
+ readonly relation_class: "structural";
64
+ readonly attribute_schema_key: "relationship.structural_containment.v1";
65
+ readonly evidence_level: "code_evidence";
66
+ readonly provider_family: "aws";
67
+ readonly provider_category: "cloud";
68
+ readonly notes: readonly ["Uses the generic persisted kubernetes_cluster resource_type; current AWS adapter evidence maps this to EKS-style resources."];
69
+ readonly guardrails: readonly ["Candidate registry metadata only; Gateway owns source-sync stamping, validation, and reconciliation.", "Provider-specific AWS identifiers remain in source_attributes and must not become global normalized keys."];
70
+ }, {
71
+ readonly key: "aws_compute_instance_part_of_vpc";
72
+ readonly version: "v1";
73
+ readonly status: "candidate";
74
+ readonly family: "aws";
75
+ readonly source_endpoint: {
76
+ readonly entity_type: "resource";
77
+ readonly resource_type: "compute_instance";
78
+ readonly provider: "aws";
79
+ };
80
+ readonly relation: "PART_OF";
81
+ readonly target_endpoint: {
82
+ readonly entity_type: "resource";
83
+ readonly resource_type: "vpc";
84
+ readonly provider: "aws";
85
+ };
86
+ readonly relation_class: "structural";
87
+ readonly attribute_schema_key: "relationship.structural_containment.v1";
88
+ readonly evidence_level: "code_evidence";
89
+ readonly provider_family: "aws";
90
+ readonly provider_category: "cloud";
91
+ readonly notes: readonly ["Uses the generic persisted kubernetes_cluster resource_type; current AWS adapter evidence maps this to EKS-style resources."];
92
+ readonly guardrails: readonly ["Candidate registry metadata only; Gateway owns source-sync stamping, validation, and reconciliation.", "Provider-specific AWS identifiers remain in source_attributes and must not become global normalized keys."];
93
+ }, {
94
+ readonly key: "aws_database_part_of_vpc";
95
+ readonly version: "v1";
96
+ readonly status: "candidate";
97
+ readonly family: "aws";
98
+ readonly source_endpoint: {
99
+ readonly entity_type: "resource";
100
+ readonly resource_type: "database";
101
+ readonly provider: "aws";
102
+ };
103
+ readonly relation: "PART_OF";
104
+ readonly target_endpoint: {
105
+ readonly entity_type: "resource";
106
+ readonly resource_type: "vpc";
107
+ readonly provider: "aws";
108
+ };
109
+ readonly relation_class: "structural";
110
+ readonly attribute_schema_key: "relationship.structural_containment.v1";
111
+ readonly evidence_level: "code_evidence";
112
+ readonly provider_family: "aws";
113
+ readonly provider_category: "cloud";
114
+ readonly guardrails: readonly ["Candidate registry metadata only; Gateway owns source-sync stamping, validation, and reconciliation.", "Provider-specific AWS identifiers remain in source_attributes and must not become global normalized keys."];
115
+ }, {
116
+ readonly key: "aws_object_storage_part_of_account";
117
+ readonly version: "v1";
118
+ readonly status: "candidate";
119
+ readonly family: "aws";
120
+ readonly source_endpoint: {
121
+ readonly entity_type: "resource";
122
+ readonly resource_type: "object_storage";
123
+ readonly provider: "aws";
124
+ };
125
+ readonly relation: "PART_OF";
126
+ readonly target_endpoint: {
127
+ readonly entity_type: "resource";
128
+ readonly resource_type: "aws_account";
129
+ readonly provider: "aws";
130
+ };
131
+ readonly relation_class: "structural";
132
+ readonly attribute_schema_key: "relationship.structural_containment.v1";
133
+ readonly evidence_level: "code_evidence";
134
+ readonly provider_family: "aws";
135
+ readonly provider_category: "cloud";
136
+ readonly guardrails: readonly ["Candidate registry metadata only; Gateway owns source-sync stamping, validation, and reconciliation.", "Provider-specific AWS identifiers remain in source_attributes and must not become global normalized keys."];
137
+ }, {
138
+ readonly key: "aws_kubernetes_cluster_part_of_vpc";
139
+ readonly version: "v1";
140
+ readonly status: "candidate";
141
+ readonly family: "aws";
142
+ readonly source_endpoint: {
143
+ readonly entity_type: "resource";
144
+ readonly resource_type: "kubernetes_cluster";
145
+ readonly provider: "aws";
146
+ };
147
+ readonly relation: "PART_OF";
148
+ readonly target_endpoint: {
149
+ readonly entity_type: "resource";
150
+ readonly resource_type: "vpc";
151
+ readonly provider: "aws";
152
+ };
153
+ readonly relation_class: "structural";
154
+ readonly attribute_schema_key: "relationship.structural_containment.v1";
155
+ readonly evidence_level: "code_evidence";
156
+ readonly provider_family: "aws";
157
+ readonly provider_category: "cloud";
158
+ readonly guardrails: readonly ["Candidate registry metadata only; Gateway owns source-sync stamping, validation, and reconciliation.", "Provider-specific AWS identifiers remain in source_attributes and must not become global normalized keys."];
159
+ }, {
160
+ readonly key: "aws_kubernetes_cluster_part_of_account";
161
+ readonly version: "v1";
162
+ readonly status: "candidate";
163
+ readonly family: "aws";
164
+ readonly source_endpoint: {
165
+ readonly entity_type: "resource";
166
+ readonly resource_type: "kubernetes_cluster";
167
+ readonly provider: "aws";
168
+ };
169
+ readonly relation: "PART_OF";
170
+ readonly target_endpoint: {
171
+ readonly entity_type: "resource";
172
+ readonly resource_type: "aws_account";
173
+ readonly provider: "aws";
174
+ };
175
+ readonly relation_class: "structural";
176
+ readonly attribute_schema_key: "relationship.structural_containment.v1";
177
+ readonly evidence_level: "code_evidence";
178
+ readonly provider_family: "aws";
179
+ readonly provider_category: "cloud";
180
+ readonly guardrails: readonly ["Candidate registry metadata only; Gateway owns source-sync stamping, validation, and reconciliation.", "Provider-specific AWS identifiers remain in source_attributes and must not become global normalized keys."];
181
+ }];