@scoutflo/topology-contracts 0.8.1 → 0.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (32) hide show
  1. package/README.md +1 -0
  2. package/dist/src/correlation/alertRouting.d.ts +220 -0
  3. package/dist/src/correlation/alertRouting.js +109 -0
  4. package/dist/src/correlation/alertRouting.js.map +1 -0
  5. package/dist/src/correlation/contracts/authoring.js +19 -0
  6. package/dist/src/correlation/contracts/authoring.js.map +1 -1
  7. package/dist/src/correlation/contracts/families/index.d.ts +57 -0
  8. package/dist/src/correlation/contracts/families/integrations/index.d.ts +57 -0
  9. package/dist/src/correlation/contracts/families/integrations/index.js +53 -0
  10. package/dist/src/correlation/contracts/families/integrations/index.js.map +1 -1
  11. package/dist/src/correlation/contracts/registry.d.ts +57 -0
  12. package/dist/src/correlation/contracts/types.d.ts +4 -3
  13. package/dist/src/correlation/contracts/types.js +2 -1
  14. package/dist/src/correlation/contracts/types.js.map +1 -1
  15. package/dist/src/correlation/index.d.ts +1 -0
  16. package/dist/src/correlation/index.js +1 -0
  17. package/dist/src/correlation/index.js.map +1 -1
  18. package/dist/src/index.d.ts +1 -0
  19. package/dist/src/index.js +1 -0
  20. package/dist/src/index.js.map +1 -1
  21. package/dist/src/product-identity.d.ts +30 -0
  22. package/dist/src/product-identity.js +128 -0
  23. package/dist/src/product-identity.js.map +1 -0
  24. package/dist/src/topology/relationTypes.d.ts +3 -2
  25. package/dist/src/topology/relationTypes.js +2 -0
  26. package/dist/src/topology/relationTypes.js.map +1 -1
  27. package/dist/test/contracts.test.js +123 -0
  28. package/dist/test/contracts.test.js.map +1 -1
  29. package/dist/test/product-identity.test.d.ts +1 -0
  30. package/dist/test/product-identity.test.js +103 -0
  31. package/dist/test/product-identity.test.js.map +1 -0
  32. package/package.json +1 -1
package/README.md CHANGED
@@ -12,6 +12,7 @@ This package owns:
12
12
  - topology correlation contract endpoint, relation-class, family, and contract-key vocabulary;
13
13
  - Gateway/Mongo-aligned topology resource and relation vocabulary constants useful at contract boundaries.
14
14
  - the bounded, schema-validated Gateway-to-Voyager `alertContext.topologyContext` DTO.
15
+ - versioned, bounded Jira/JSM, Confluence, and Sentry product-key normalization that preserves raw evidence and provider scope.
15
16
 
16
17
  ## Gateway alert topology context
17
18
 
@@ -0,0 +1,220 @@
1
+ import { z } from 'zod';
2
+ export declare const ALERT_ROUTING_CONTRACT_VERSION = "v1";
3
+ export declare const SERVICE_ROUTES_ALERTS_TO_INCIDENT_SERVICE_CONTRACT_KEY = "service_routes_alerts_to_incident_service";
4
+ export declare const WORKLOAD_ROUTES_ALERTS_TO_INCIDENT_SERVICE_CONTRACT_KEY = "workload_routes_alerts_to_incident_service";
5
+ export declare const incidentRoutingProviderSchema: z.ZodEnum<["pagerduty", "zenduty"]>;
6
+ export declare const incidentServiceIdentitySchema: z.ZodObject<{
7
+ account_id: z.ZodString;
8
+ workspace_id: z.ZodString;
9
+ integration_id: z.ZodString;
10
+ provider: z.ZodEnum<["pagerduty", "zenduty"]>;
11
+ provider_service_id: z.ZodString;
12
+ display_name: z.ZodOptional<z.ZodString>;
13
+ }, "strict", z.ZodTypeAny, {
14
+ integration_id: string;
15
+ provider: "pagerduty" | "zenduty";
16
+ account_id: string;
17
+ workspace_id: string;
18
+ provider_service_id: string;
19
+ display_name?: string | undefined;
20
+ }, {
21
+ integration_id: string;
22
+ provider: "pagerduty" | "zenduty";
23
+ account_id: string;
24
+ workspace_id: string;
25
+ provider_service_id: string;
26
+ display_name?: string | undefined;
27
+ }>;
28
+ export declare const alertRoutingEvidenceSchema: z.ZodObject<{
29
+ provider_service: z.ZodObject<{
30
+ account_id: z.ZodString;
31
+ workspace_id: z.ZodString;
32
+ integration_id: z.ZodString;
33
+ provider: z.ZodEnum<["pagerduty", "zenduty"]>;
34
+ provider_service_id: z.ZodString;
35
+ display_name: z.ZodOptional<z.ZodString>;
36
+ }, "strict", z.ZodTypeAny, {
37
+ integration_id: string;
38
+ provider: "pagerduty" | "zenduty";
39
+ account_id: string;
40
+ workspace_id: string;
41
+ provider_service_id: string;
42
+ display_name?: string | undefined;
43
+ }, {
44
+ integration_id: string;
45
+ provider: "pagerduty" | "zenduty";
46
+ account_id: string;
47
+ workspace_id: string;
48
+ provider_service_id: string;
49
+ display_name?: string | undefined;
50
+ }>;
51
+ basis: z.ZodLiteral<"provider_service_binding">;
52
+ source_ref: z.ZodString;
53
+ observed_at: z.ZodString;
54
+ }, "strict", z.ZodTypeAny, {
55
+ source_ref: string;
56
+ observed_at: string;
57
+ provider_service: {
58
+ integration_id: string;
59
+ provider: "pagerduty" | "zenduty";
60
+ account_id: string;
61
+ workspace_id: string;
62
+ provider_service_id: string;
63
+ display_name?: string | undefined;
64
+ };
65
+ basis: "provider_service_binding";
66
+ }, {
67
+ source_ref: string;
68
+ observed_at: string;
69
+ provider_service: {
70
+ integration_id: string;
71
+ provider: "pagerduty" | "zenduty";
72
+ account_id: string;
73
+ workspace_id: string;
74
+ provider_service_id: string;
75
+ display_name?: string | undefined;
76
+ };
77
+ basis: "provider_service_binding";
78
+ }>;
79
+ export declare const temporalOnCallEvidenceSchema: z.ZodEffects<z.ZodObject<{
80
+ provider: z.ZodEnum<["pagerduty", "zenduty"]>;
81
+ integration_id: z.ZodString;
82
+ provider_service_id: z.ZodString;
83
+ policy_id: z.ZodOptional<z.ZodString>;
84
+ schedule_id: z.ZodOptional<z.ZodString>;
85
+ team_id: z.ZodOptional<z.ZodString>;
86
+ responder: z.ZodOptional<z.ZodObject<{
87
+ provider_user_id: z.ZodString;
88
+ display_name: z.ZodOptional<z.ZodString>;
89
+ }, "strict", z.ZodTypeAny, {
90
+ provider_user_id: string;
91
+ display_name?: string | undefined;
92
+ }, {
93
+ provider_user_id: string;
94
+ display_name?: string | undefined;
95
+ }>>;
96
+ effective_from: z.ZodOptional<z.ZodString>;
97
+ effective_to: z.ZodOptional<z.ZodString>;
98
+ effective_bound: z.ZodEnum<["known", "open_start", "open_end", "unknown"]>;
99
+ observed_at: z.ZodString;
100
+ provenance: z.ZodObject<{
101
+ source: z.ZodEnum<["pagerduty_oncall_api", "zenduty_oncall_api"]>;
102
+ source_ref: z.ZodString;
103
+ }, "strict", z.ZodTypeAny, {
104
+ source_ref: string;
105
+ source: "pagerduty_oncall_api" | "zenduty_oncall_api";
106
+ }, {
107
+ source_ref: string;
108
+ source: "pagerduty_oncall_api" | "zenduty_oncall_api";
109
+ }>;
110
+ override_status: z.ZodEnum<["none", "active", "unknown"]>;
111
+ freshness: z.ZodEnum<["current", "stale", "degraded"]>;
112
+ }, "strict", z.ZodTypeAny, {
113
+ integration_id: string;
114
+ provider: "pagerduty" | "zenduty";
115
+ observed_at: string;
116
+ provider_service_id: string;
117
+ effective_bound: "unknown" | "known" | "open_start" | "open_end";
118
+ provenance: {
119
+ source_ref: string;
120
+ source: "pagerduty_oncall_api" | "zenduty_oncall_api";
121
+ };
122
+ override_status: "unknown" | "active" | "none";
123
+ freshness: "stale" | "degraded" | "current";
124
+ policy_id?: string | undefined;
125
+ schedule_id?: string | undefined;
126
+ team_id?: string | undefined;
127
+ responder?: {
128
+ provider_user_id: string;
129
+ display_name?: string | undefined;
130
+ } | undefined;
131
+ effective_from?: string | undefined;
132
+ effective_to?: string | undefined;
133
+ }, {
134
+ integration_id: string;
135
+ provider: "pagerduty" | "zenduty";
136
+ observed_at: string;
137
+ provider_service_id: string;
138
+ effective_bound: "unknown" | "known" | "open_start" | "open_end";
139
+ provenance: {
140
+ source_ref: string;
141
+ source: "pagerduty_oncall_api" | "zenduty_oncall_api";
142
+ };
143
+ override_status: "unknown" | "active" | "none";
144
+ freshness: "stale" | "degraded" | "current";
145
+ policy_id?: string | undefined;
146
+ schedule_id?: string | undefined;
147
+ team_id?: string | undefined;
148
+ responder?: {
149
+ provider_user_id: string;
150
+ display_name?: string | undefined;
151
+ } | undefined;
152
+ effective_from?: string | undefined;
153
+ effective_to?: string | undefined;
154
+ }>, {
155
+ integration_id: string;
156
+ provider: "pagerduty" | "zenduty";
157
+ observed_at: string;
158
+ provider_service_id: string;
159
+ effective_bound: "unknown" | "known" | "open_start" | "open_end";
160
+ provenance: {
161
+ source_ref: string;
162
+ source: "pagerduty_oncall_api" | "zenduty_oncall_api";
163
+ };
164
+ override_status: "unknown" | "active" | "none";
165
+ freshness: "stale" | "degraded" | "current";
166
+ policy_id?: string | undefined;
167
+ schedule_id?: string | undefined;
168
+ team_id?: string | undefined;
169
+ responder?: {
170
+ provider_user_id: string;
171
+ display_name?: string | undefined;
172
+ } | undefined;
173
+ effective_from?: string | undefined;
174
+ effective_to?: string | undefined;
175
+ }, {
176
+ integration_id: string;
177
+ provider: "pagerduty" | "zenduty";
178
+ observed_at: string;
179
+ provider_service_id: string;
180
+ effective_bound: "unknown" | "known" | "open_start" | "open_end";
181
+ provenance: {
182
+ source_ref: string;
183
+ source: "pagerduty_oncall_api" | "zenduty_oncall_api";
184
+ };
185
+ override_status: "unknown" | "active" | "none";
186
+ freshness: "stale" | "degraded" | "current";
187
+ policy_id?: string | undefined;
188
+ schedule_id?: string | undefined;
189
+ team_id?: string | undefined;
190
+ responder?: {
191
+ provider_user_id: string;
192
+ display_name?: string | undefined;
193
+ } | undefined;
194
+ effective_from?: string | undefined;
195
+ effective_to?: string | undefined;
196
+ }>;
197
+ export interface LegacyAlertRoutingRow {
198
+ readonly id: string;
199
+ readonly relation: string;
200
+ readonly provider?: string;
201
+ readonly provider_service_id?: string;
202
+ readonly provider_service_name?: string;
203
+ readonly source_entity_type: 'service' | 'resource';
204
+ readonly source_entity_id: string;
205
+ readonly target_entity_id: string;
206
+ }
207
+ export interface PlannedAlertRoutingRow extends LegacyAlertRoutingRow {
208
+ readonly relation: 'ROUTES_ALERTS_TO';
209
+ readonly supersedes_relationship_id: string;
210
+ }
211
+ export interface LegacyAlertRoutingMigrationPlan {
212
+ readonly create: readonly PlannedAlertRoutingRow[];
213
+ readonly supersede: readonly string[];
214
+ readonly already_migrated: readonly string[];
215
+ readonly skipped: readonly {
216
+ id: string;
217
+ reason: 'missing_provider_service_id' | 'unsupported_provider';
218
+ }[];
219
+ }
220
+ export declare function planLegacyAlertRoutingMigration(rows: readonly LegacyAlertRoutingRow[]): LegacyAlertRoutingMigrationPlan;
@@ -0,0 +1,109 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.temporalOnCallEvidenceSchema = exports.alertRoutingEvidenceSchema = exports.incidentServiceIdentitySchema = exports.incidentRoutingProviderSchema = exports.WORKLOAD_ROUTES_ALERTS_TO_INCIDENT_SERVICE_CONTRACT_KEY = exports.SERVICE_ROUTES_ALERTS_TO_INCIDENT_SERVICE_CONTRACT_KEY = exports.ALERT_ROUTING_CONTRACT_VERSION = void 0;
4
+ exports.planLegacyAlertRoutingMigration = planLegacyAlertRoutingMigration;
5
+ const zod_1 = require("zod");
6
+ exports.ALERT_ROUTING_CONTRACT_VERSION = 'v1';
7
+ exports.SERVICE_ROUTES_ALERTS_TO_INCIDENT_SERVICE_CONTRACT_KEY = 'service_routes_alerts_to_incident_service';
8
+ exports.WORKLOAD_ROUTES_ALERTS_TO_INCIDENT_SERVICE_CONTRACT_KEY = 'workload_routes_alerts_to_incident_service';
9
+ const boundedIdSchema = zod_1.z.string().trim().min(1).max(256);
10
+ const boundedDisplaySchema = zod_1.z.string().trim().min(1).max(512);
11
+ const timestampSchema = zod_1.z.string().datetime({ offset: true });
12
+ exports.incidentRoutingProviderSchema = zod_1.z.enum(['pagerduty', 'zenduty']);
13
+ exports.incidentServiceIdentitySchema = zod_1.z.object({
14
+ account_id: boundedIdSchema,
15
+ workspace_id: boundedIdSchema,
16
+ integration_id: boundedIdSchema,
17
+ provider: exports.incidentRoutingProviderSchema,
18
+ provider_service_id: boundedIdSchema,
19
+ display_name: boundedDisplaySchema.optional(),
20
+ }).strict();
21
+ exports.alertRoutingEvidenceSchema = zod_1.z.object({
22
+ provider_service: exports.incidentServiceIdentitySchema,
23
+ basis: zod_1.z.literal('provider_service_binding'),
24
+ source_ref: boundedIdSchema,
25
+ observed_at: timestampSchema,
26
+ }).strict();
27
+ exports.temporalOnCallEvidenceSchema = zod_1.z.object({
28
+ provider: exports.incidentRoutingProviderSchema,
29
+ integration_id: boundedIdSchema,
30
+ provider_service_id: boundedIdSchema,
31
+ policy_id: boundedIdSchema.optional(),
32
+ schedule_id: boundedIdSchema.optional(),
33
+ team_id: boundedIdSchema.optional(),
34
+ responder: zod_1.z.object({
35
+ provider_user_id: boundedIdSchema,
36
+ display_name: boundedDisplaySchema.optional(),
37
+ }).strict().optional(),
38
+ effective_from: timestampSchema.optional(),
39
+ effective_to: timestampSchema.optional(),
40
+ effective_bound: zod_1.z.enum(['known', 'open_start', 'open_end', 'unknown']),
41
+ observed_at: timestampSchema,
42
+ provenance: zod_1.z.object({
43
+ source: zod_1.z.enum(['pagerduty_oncall_api', 'zenduty_oncall_api']),
44
+ source_ref: boundedIdSchema,
45
+ }).strict(),
46
+ override_status: zod_1.z.enum(['none', 'active', 'unknown']),
47
+ freshness: zod_1.z.enum(['current', 'stale', 'degraded']),
48
+ }).strict().superRefine((value, context) => {
49
+ if (value.effective_bound === 'known' && (!value.effective_from || !value.effective_to)) {
50
+ context.addIssue({
51
+ code: zod_1.z.ZodIssueCode.custom,
52
+ message: 'known effective bounds require effective_from and effective_to',
53
+ path: ['effective_bound'],
54
+ });
55
+ }
56
+ if (value.effective_from && value.effective_to && value.effective_from > value.effective_to) {
57
+ context.addIssue({
58
+ code: zod_1.z.ZodIssueCode.custom,
59
+ message: 'effective_from must not be after effective_to',
60
+ path: ['effective_from'],
61
+ });
62
+ }
63
+ });
64
+ function routingIdentity(row) {
65
+ return [
66
+ row.source_entity_type,
67
+ row.source_entity_id,
68
+ row.target_entity_id,
69
+ row.provider?.trim().toLowerCase(),
70
+ row.provider_service_id?.trim(),
71
+ ].join('\u0000');
72
+ }
73
+ function planLegacyAlertRoutingMigration(rows) {
74
+ const activeNewIdentities = new Set(rows
75
+ .filter((row) => row.relation === 'ROUTES_ALERTS_TO' && row.provider_service_id)
76
+ .map(routingIdentity));
77
+ const create = [];
78
+ const supersede = [];
79
+ const already_migrated = [];
80
+ const skipped = [];
81
+ for (const row of rows) {
82
+ if (row.relation !== 'MONITORED_BY')
83
+ continue;
84
+ const provider = row.provider?.trim().toLowerCase();
85
+ if (provider !== 'pagerduty' && provider !== 'zenduty') {
86
+ skipped.push({ id: row.id, reason: 'unsupported_provider' });
87
+ continue;
88
+ }
89
+ if (!row.provider_service_id?.trim()) {
90
+ skipped.push({ id: row.id, reason: 'missing_provider_service_id' });
91
+ continue;
92
+ }
93
+ if (activeNewIdentities.has(routingIdentity(row))) {
94
+ already_migrated.push(row.id);
95
+ continue;
96
+ }
97
+ create.push({
98
+ ...row,
99
+ provider,
100
+ provider_service_id: row.provider_service_id.trim(),
101
+ relation: 'ROUTES_ALERTS_TO',
102
+ supersedes_relationship_id: row.id,
103
+ });
104
+ supersede.push(row.id);
105
+ activeNewIdentities.add(routingIdentity(row));
106
+ }
107
+ return { create, supersede, already_migrated, skipped };
108
+ }
109
+ //# sourceMappingURL=alertRouting.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"alertRouting.js","sourceRoot":"","sources":["../../../src/correlation/alertRouting.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,25 @@ const status_1 = require("./status");
12
12
  const types_1 = require("./types");
13
13
  const registry_1 = require("./registry");
14
14
  exports.RELATIONSHIP_AUTHORING_ATTRIBUTE_MANIFESTS = {
15
+ [types_1.ALERT_ROUTING_ATTRIBUTE_SCHEMA_KEY]: {
16
+ attribute_schema_key: types_1.ALERT_ROUTING_ATTRIBUTE_SCHEMA_KEY,
17
+ title: 'Alert routing binding',
18
+ description: 'Evidence-backed operational component to provider incident-service routing.',
19
+ manually_authorable: false,
20
+ fields: {
21
+ relationship_kind: { type: 'string', required: true, default_value: 'alert_routing' },
22
+ basis: {
23
+ type: 'string',
24
+ required: true,
25
+ allowed_values: ['provider_service_binding'],
26
+ },
27
+ provider: { type: 'string', required: true, allowed_values: ['pagerduty', 'zenduty'] },
28
+ provider_service_id: { type: 'string', required: true },
29
+ integration_id: { type: 'string', required: true },
30
+ source_ref: { type: 'string', required: true },
31
+ observed_at: { type: 'string', required: true },
32
+ },
33
+ },
15
34
  [types_1.STRUCTURAL_CONTAINMENT_ATTRIBUTE_SCHEMA_KEY]: {
16
35
  attribute_schema_key: types_1.STRUCTURAL_CONTAINMENT_ATTRIBUTE_SCHEMA_KEY,
17
36
  title: 'Structural containment',
@@ -1 +1 @@
1
- {"version":3,"file":"authoring.js","sourceRoot":"","sources":["../../../../src/correlation/contracts/authoring.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"authoring.js","sourceRoot":"","sources":["../../../../src/correlation/contracts/authoring.ts"],"names":[],"mappings":"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"}
@@ -480,6 +480,63 @@ export declare const CONNECTION_CONTRACT_FAMILY_REGISTRIES: readonly [readonly [
480
480
  readonly notes: readonly ["Relation naming should be reviewed before ratification; this is not active production behavior."];
481
481
  readonly guardrails: readonly ["ArgoCD contracts require bounded application endpoints and endpoint-specific relation evidence.", "Application manifests and provider-specific sync facts remain in source_attributes.", "Do not stamp ArgoCD app contracts on the generic ArgoCD integration descriptor."];
482
482
  }], readonly [{
483
+ readonly key: "service_routes_alerts_to_incident_service";
484
+ readonly version: "v1";
485
+ readonly status: "active";
486
+ readonly family: "integrations";
487
+ readonly source_endpoint: {
488
+ readonly entity_type: "service";
489
+ readonly label: "operational_service";
490
+ };
491
+ readonly relation: "ROUTES_ALERTS_TO";
492
+ readonly target_endpoint: {
493
+ readonly entity_type: "resource";
494
+ readonly resource_type: "alerting";
495
+ readonly label: "provider_incident_service";
496
+ };
497
+ readonly relation_class: "associative";
498
+ readonly attribute_schema_key: "relationship.alert_routing.v1";
499
+ readonly evidence_level: "implemented";
500
+ readonly provider_family: "incident_routing";
501
+ readonly provider_category: "alerting";
502
+ readonly claim_layers: {
503
+ readonly identity: readonly ["service"];
504
+ readonly scope: readonly ["account_id", "workspace_id", "integration_id"];
505
+ readonly diagnostic: readonly [];
506
+ readonly contract_scoped_identity: readonly ["provider_service_id"];
507
+ };
508
+ readonly notes: readonly ["Many-to-many operational service to provider incident-service routing."];
509
+ readonly guardrails: readonly ["Capabilities do not create edges; contracts need source evidence and Gateway-owned validation before emission.", "Provider-specific query hints, IDs, URLs, and setup details remain in source_attributes.", "Candidate, experimental, and reserved entries are not production-ratified contracts.", "Provider service ID and contract-scoped routing evidence are required; provider presence and names are insufficient.", "On-call assignments are temporal investigation evidence and never service-to-person topology."];
510
+ }, {
511
+ readonly key: "workload_routes_alerts_to_incident_service";
512
+ readonly version: "v1";
513
+ readonly status: "active";
514
+ readonly family: "integrations";
515
+ readonly source_endpoint: {
516
+ readonly entity_type: "resource";
517
+ readonly resource_types: readonly ["kubernetes_deployment", "kubernetes_stateful_set", "kubernetes_daemon_set", "kubernetes_job", "kubernetes_cron_job"];
518
+ readonly provider: "k8s";
519
+ };
520
+ readonly relation: "ROUTES_ALERTS_TO";
521
+ readonly target_endpoint: {
522
+ readonly entity_type: "resource";
523
+ readonly resource_type: "alerting";
524
+ readonly label: "provider_incident_service";
525
+ };
526
+ readonly relation_class: "associative";
527
+ readonly attribute_schema_key: "relationship.alert_routing.v1";
528
+ readonly evidence_level: "implemented";
529
+ readonly provider_family: "incident_routing";
530
+ readonly provider_category: "alerting";
531
+ readonly claim_layers: {
532
+ readonly identity: readonly ["workload"];
533
+ readonly scope: readonly ["cluster", "namespace", "account_id", "workspace_id", "integration_id"];
534
+ readonly diagnostic: readonly [];
535
+ readonly contract_scoped_identity: readonly ["provider_service_id"];
536
+ };
537
+ readonly notes: readonly ["Many-to-many Kubernetes workload to provider incident-service routing."];
538
+ readonly guardrails: readonly ["Capabilities do not create edges; contracts need source evidence and Gateway-owned validation before emission.", "Provider-specific query hints, IDs, URLs, and setup details remain in source_attributes.", "Candidate, experimental, and reserved entries are not production-ratified contracts.", "Provider service ID and contract-scoped routing evidence are required; provider presence and names are insufficient.", "On-call assignments are temporal investigation evidence and never workload-to-person topology."];
539
+ }, {
483
540
  readonly key: "k8s_workload_sends_metrics_to_prometheus_compatible";
484
541
  readonly version: "v1";
485
542
  readonly status: "experimental";
@@ -1,4 +1,61 @@
1
1
  export declare const INTEGRATION_CONNECTION_CONTRACTS: readonly [{
2
+ readonly key: "service_routes_alerts_to_incident_service";
3
+ readonly version: "v1";
4
+ readonly status: "active";
5
+ readonly family: "integrations";
6
+ readonly source_endpoint: {
7
+ readonly entity_type: "service";
8
+ readonly label: "operational_service";
9
+ };
10
+ readonly relation: "ROUTES_ALERTS_TO";
11
+ readonly target_endpoint: {
12
+ readonly entity_type: "resource";
13
+ readonly resource_type: "alerting";
14
+ readonly label: "provider_incident_service";
15
+ };
16
+ readonly relation_class: "associative";
17
+ readonly attribute_schema_key: "relationship.alert_routing.v1";
18
+ readonly evidence_level: "implemented";
19
+ readonly provider_family: "incident_routing";
20
+ readonly provider_category: "alerting";
21
+ readonly claim_layers: {
22
+ readonly identity: readonly ["service"];
23
+ readonly scope: readonly ["account_id", "workspace_id", "integration_id"];
24
+ readonly diagnostic: readonly [];
25
+ readonly contract_scoped_identity: readonly ["provider_service_id"];
26
+ };
27
+ readonly notes: readonly ["Many-to-many operational service to provider incident-service routing."];
28
+ readonly guardrails: readonly ["Capabilities do not create edges; contracts need source evidence and Gateway-owned validation before emission.", "Provider-specific query hints, IDs, URLs, and setup details remain in source_attributes.", "Candidate, experimental, and reserved entries are not production-ratified contracts.", "Provider service ID and contract-scoped routing evidence are required; provider presence and names are insufficient.", "On-call assignments are temporal investigation evidence and never service-to-person topology."];
29
+ }, {
30
+ readonly key: "workload_routes_alerts_to_incident_service";
31
+ readonly version: "v1";
32
+ readonly status: "active";
33
+ readonly family: "integrations";
34
+ readonly source_endpoint: {
35
+ readonly entity_type: "resource";
36
+ readonly resource_types: readonly ["kubernetes_deployment", "kubernetes_stateful_set", "kubernetes_daemon_set", "kubernetes_job", "kubernetes_cron_job"];
37
+ readonly provider: "k8s";
38
+ };
39
+ readonly relation: "ROUTES_ALERTS_TO";
40
+ readonly target_endpoint: {
41
+ readonly entity_type: "resource";
42
+ readonly resource_type: "alerting";
43
+ readonly label: "provider_incident_service";
44
+ };
45
+ readonly relation_class: "associative";
46
+ readonly attribute_schema_key: "relationship.alert_routing.v1";
47
+ readonly evidence_level: "implemented";
48
+ readonly provider_family: "incident_routing";
49
+ readonly provider_category: "alerting";
50
+ readonly claim_layers: {
51
+ readonly identity: readonly ["workload"];
52
+ readonly scope: readonly ["cluster", "namespace", "account_id", "workspace_id", "integration_id"];
53
+ readonly diagnostic: readonly [];
54
+ readonly contract_scoped_identity: readonly ["provider_service_id"];
55
+ };
56
+ readonly notes: readonly ["Many-to-many Kubernetes workload to provider incident-service routing."];
57
+ readonly guardrails: readonly ["Capabilities do not create edges; contracts need source evidence and Gateway-owned validation before emission.", "Provider-specific query hints, IDs, URLs, and setup details remain in source_attributes.", "Candidate, experimental, and reserved entries are not production-ratified contracts.", "Provider service ID and contract-scoped routing evidence are required; provider presence and names are insufficient.", "On-call assignments are temporal investigation evidence and never workload-to-person topology."];
58
+ }, {
2
59
  readonly key: "k8s_workload_sends_metrics_to_prometheus_compatible";
3
60
  readonly version: "v1";
4
61
  readonly status: "experimental";
@@ -6,6 +6,7 @@ const providers_1 = require("../../../../providers");
6
6
  const topology_1 = require("../../../../topology");
7
7
  const types_1 = require("../../types");
8
8
  const status_1 = require("../../status");
9
+ const alertRouting_1 = require("../../../alertRouting");
9
10
  const KUBERNETES_WORKLOAD_RESOURCE_TYPES = [
10
11
  topology_1.TOPOLOGY_RESOURCE_TYPE.KUBERNETES_DEPLOYMENT,
11
12
  topology_1.TOPOLOGY_RESOURCE_TYPE.KUBERNETES_STATEFUL_SET,
@@ -29,6 +30,58 @@ const sentryClaimLayers = {
29
30
  contract_scoped_identity: ['project'],
30
31
  };
31
32
  exports.INTEGRATION_CONNECTION_CONTRACTS = [
33
+ {
34
+ key: alertRouting_1.SERVICE_ROUTES_ALERTS_TO_INCIDENT_SERVICE_CONTRACT_KEY,
35
+ version: alertRouting_1.ALERT_ROUTING_CONTRACT_VERSION,
36
+ status: status_1.CONNECTION_CONTRACT_STATUS.ACTIVE,
37
+ family: types_1.CONNECTION_CONTRACT_FAMILY.INTEGRATIONS,
38
+ source_endpoint: { entity_type: 'service', label: 'operational_service' },
39
+ relation: topology_1.TOPOLOGY_RELATION_TYPE.ROUTES_ALERTS_TO,
40
+ target_endpoint: { entity_type: 'resource', resource_type: topology_1.TOPOLOGY_RESOURCE_TYPE.ALERTING, label: 'provider_incident_service' },
41
+ relation_class: 'associative',
42
+ attribute_schema_key: types_1.ALERT_ROUTING_ATTRIBUTE_SCHEMA_KEY,
43
+ evidence_level: types_1.CONNECTION_CONTRACT_EVIDENCE_LEVEL.IMPLEMENTED,
44
+ provider_family: 'incident_routing',
45
+ provider_category: types_1.CONNECTION_CONTRACT_PROVIDER_CATEGORY.ALERTING,
46
+ claim_layers: {
47
+ identity: ['service'],
48
+ scope: ['account_id', 'workspace_id', 'integration_id'],
49
+ diagnostic: [],
50
+ contract_scoped_identity: ['provider_service_id'],
51
+ },
52
+ notes: ['Many-to-many operational service to provider incident-service routing.'],
53
+ guardrails: [
54
+ ...integrationGuardrails,
55
+ 'Provider service ID and contract-scoped routing evidence are required; provider presence and names are insufficient.',
56
+ 'On-call assignments are temporal investigation evidence and never service-to-person topology.',
57
+ ],
58
+ },
59
+ {
60
+ key: alertRouting_1.WORKLOAD_ROUTES_ALERTS_TO_INCIDENT_SERVICE_CONTRACT_KEY,
61
+ version: alertRouting_1.ALERT_ROUTING_CONTRACT_VERSION,
62
+ status: status_1.CONNECTION_CONTRACT_STATUS.ACTIVE,
63
+ family: types_1.CONNECTION_CONTRACT_FAMILY.INTEGRATIONS,
64
+ source_endpoint: { entity_type: 'resource', resource_types: KUBERNETES_WORKLOAD_RESOURCE_TYPES, provider: providers_1.TOPOLOGY_PROVIDER.K8S },
65
+ relation: topology_1.TOPOLOGY_RELATION_TYPE.ROUTES_ALERTS_TO,
66
+ target_endpoint: { entity_type: 'resource', resource_type: topology_1.TOPOLOGY_RESOURCE_TYPE.ALERTING, label: 'provider_incident_service' },
67
+ relation_class: 'associative',
68
+ attribute_schema_key: types_1.ALERT_ROUTING_ATTRIBUTE_SCHEMA_KEY,
69
+ evidence_level: types_1.CONNECTION_CONTRACT_EVIDENCE_LEVEL.IMPLEMENTED,
70
+ provider_family: 'incident_routing',
71
+ provider_category: types_1.CONNECTION_CONTRACT_PROVIDER_CATEGORY.ALERTING,
72
+ claim_layers: {
73
+ identity: ['workload'],
74
+ scope: ['cluster', 'namespace', 'account_id', 'workspace_id', 'integration_id'],
75
+ diagnostic: [],
76
+ contract_scoped_identity: ['provider_service_id'],
77
+ },
78
+ notes: ['Many-to-many Kubernetes workload to provider incident-service routing.'],
79
+ guardrails: [
80
+ ...integrationGuardrails,
81
+ 'Provider service ID and contract-scoped routing evidence are required; provider presence and names are insufficient.',
82
+ 'On-call assignments are temporal investigation evidence and never workload-to-person topology.',
83
+ ],
84
+ },
32
85
  {
33
86
  key: connectionContractV1_1.K8S_WORKLOAD_SENDS_METRICS_TO_PROMETHEUS_COMPATIBLE_CONTRACT_KEY,
34
87
  version: connectionContractV1_1.CONNECTION_CONTRACT_VERSION_V1,