@scoutflo/topology-contracts 0.7.18 → 0.7.20

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.
@@ -295,6 +295,48 @@ export declare const CONNECTION_CONTRACT_FAMILY_REGISTRIES: readonly [readonly [
295
295
  readonly provider_category: "deployment";
296
296
  readonly notes: readonly ["Verified by fresh Gateway source-sync/correlation export; active deployment-binding V1 shape."];
297
297
  readonly guardrails: readonly ["Do not rename the ratified active k8s workload namespace contract key.", "Gateway owns runtime stamping, validation, selector evaluation, and reconciliation."];
298
+ }, {
299
+ readonly key: "observed_service_calls_service";
300
+ readonly version: "v1";
301
+ readonly status: "active";
302
+ readonly family: "kubernetes";
303
+ readonly source_endpoint: {
304
+ readonly entity_type: "service";
305
+ readonly label: "observed_service";
306
+ };
307
+ readonly relation: "CALLS";
308
+ readonly target_endpoint: {
309
+ readonly entity_type: "service";
310
+ readonly label: "observed_service";
311
+ };
312
+ readonly relation_class: "associative";
313
+ readonly attribute_schema_key: "relationship.observed_service_call.v1";
314
+ readonly evidence_level: "implemented";
315
+ readonly provider_family: "kubernetes";
316
+ readonly provider_category: "deployment";
317
+ readonly notes: readonly ["Scoutflo Kubernetes agent eBPF relationship route materializes directed observed service calls."];
318
+ readonly guardrails: readonly ["Do not rename the ratified active k8s workload namespace contract key.", "Gateway owns runtime stamping, validation, selector evaluation, and reconciliation."];
319
+ }, {
320
+ readonly key: "observed_service_bidirectional_calls_service";
321
+ readonly version: "v1";
322
+ readonly status: "active";
323
+ readonly family: "kubernetes";
324
+ readonly source_endpoint: {
325
+ readonly entity_type: "service";
326
+ readonly label: "observed_service";
327
+ };
328
+ readonly relation: "BI_DIRECTIONAL_CALLS";
329
+ readonly target_endpoint: {
330
+ readonly entity_type: "service";
331
+ readonly label: "observed_service";
332
+ };
333
+ readonly relation_class: "associative";
334
+ readonly attribute_schema_key: "relationship.observed_service_call.v1";
335
+ readonly evidence_level: "implemented";
336
+ readonly provider_family: "kubernetes";
337
+ readonly provider_category: "deployment";
338
+ readonly notes: readonly ["Aggregate contract for persisted bidirectional observed service call rows derived from two directed eBPF observations."];
339
+ readonly guardrails: readonly ["Do not rename the ratified active k8s workload namespace contract key.", "Gateway owns runtime stamping, validation, selector evaluation, and reconciliation."];
298
340
  }], readonly [{
299
341
  readonly key: "github_account_owns_repository";
300
342
  readonly version: "v1";
@@ -110,4 +110,46 @@ export declare const KUBERNETES_CONNECTION_CONTRACTS: readonly [{
110
110
  readonly provider_category: "deployment";
111
111
  readonly notes: readonly ["Verified by fresh Gateway source-sync/correlation export; active deployment-binding V1 shape."];
112
112
  readonly guardrails: readonly ["Do not rename the ratified active k8s workload namespace contract key.", "Gateway owns runtime stamping, validation, selector evaluation, and reconciliation."];
113
+ }, {
114
+ readonly key: "observed_service_calls_service";
115
+ readonly version: "v1";
116
+ readonly status: "active";
117
+ readonly family: "kubernetes";
118
+ readonly source_endpoint: {
119
+ readonly entity_type: "service";
120
+ readonly label: "observed_service";
121
+ };
122
+ readonly relation: "CALLS";
123
+ readonly target_endpoint: {
124
+ readonly entity_type: "service";
125
+ readonly label: "observed_service";
126
+ };
127
+ readonly relation_class: "associative";
128
+ readonly attribute_schema_key: "relationship.observed_service_call.v1";
129
+ readonly evidence_level: "implemented";
130
+ readonly provider_family: "kubernetes";
131
+ readonly provider_category: "deployment";
132
+ readonly notes: readonly ["Scoutflo Kubernetes agent eBPF relationship route materializes directed observed service calls."];
133
+ readonly guardrails: readonly ["Do not rename the ratified active k8s workload namespace contract key.", "Gateway owns runtime stamping, validation, selector evaluation, and reconciliation."];
134
+ }, {
135
+ readonly key: "observed_service_bidirectional_calls_service";
136
+ readonly version: "v1";
137
+ readonly status: "active";
138
+ readonly family: "kubernetes";
139
+ readonly source_endpoint: {
140
+ readonly entity_type: "service";
141
+ readonly label: "observed_service";
142
+ };
143
+ readonly relation: "BI_DIRECTIONAL_CALLS";
144
+ readonly target_endpoint: {
145
+ readonly entity_type: "service";
146
+ readonly label: "observed_service";
147
+ };
148
+ readonly relation_class: "associative";
149
+ readonly attribute_schema_key: "relationship.observed_service_call.v1";
150
+ readonly evidence_level: "implemented";
151
+ readonly provider_family: "kubernetes";
152
+ readonly provider_category: "deployment";
153
+ readonly notes: readonly ["Aggregate contract for persisted bidirectional observed service call rows derived from two directed eBPF observations."];
154
+ readonly guardrails: readonly ["Do not rename the ratified active k8s workload namespace contract key.", "Gateway owns runtime stamping, validation, selector evaluation, and reconciliation."];
113
155
  }];
@@ -96,5 +96,37 @@ exports.KUBERNETES_CONNECTION_CONTRACTS = [
96
96
  notes: ['Verified by fresh Gateway source-sync/correlation export; active deployment-binding V1 shape.'],
97
97
  guardrails: kubernetesContractGuardrails,
98
98
  },
99
+ {
100
+ key: 'observed_service_calls_service',
101
+ version: 'v1',
102
+ status: status_1.CONNECTION_CONTRACT_STATUS.ACTIVE,
103
+ family: types_1.CONNECTION_CONTRACT_FAMILY.KUBERNETES,
104
+ source_endpoint: { entity_type: 'service', label: 'observed_service' },
105
+ relation: topology_1.TOPOLOGY_RELATION_TYPE.CALLS,
106
+ target_endpoint: { entity_type: 'service', label: 'observed_service' },
107
+ relation_class: 'associative',
108
+ attribute_schema_key: types_1.OBSERVED_SERVICE_CALL_ATTRIBUTE_SCHEMA_KEY,
109
+ evidence_level: types_1.CONNECTION_CONTRACT_EVIDENCE_LEVEL.IMPLEMENTED,
110
+ provider_family: 'kubernetes',
111
+ provider_category: types_1.CONNECTION_CONTRACT_PROVIDER_CATEGORY.DEPLOYMENT,
112
+ notes: ['Scoutflo Kubernetes agent eBPF relationship route materializes directed observed service calls.'],
113
+ guardrails: kubernetesContractGuardrails,
114
+ },
115
+ {
116
+ key: 'observed_service_bidirectional_calls_service',
117
+ version: 'v1',
118
+ status: status_1.CONNECTION_CONTRACT_STATUS.ACTIVE,
119
+ family: types_1.CONNECTION_CONTRACT_FAMILY.KUBERNETES,
120
+ source_endpoint: { entity_type: 'service', label: 'observed_service' },
121
+ relation: topology_1.TOPOLOGY_RELATION_TYPE.BI_DIRECTIONAL_CALLS,
122
+ target_endpoint: { entity_type: 'service', label: 'observed_service' },
123
+ relation_class: 'associative',
124
+ attribute_schema_key: types_1.OBSERVED_SERVICE_CALL_ATTRIBUTE_SCHEMA_KEY,
125
+ evidence_level: types_1.CONNECTION_CONTRACT_EVIDENCE_LEVEL.IMPLEMENTED,
126
+ provider_family: 'kubernetes',
127
+ provider_category: types_1.CONNECTION_CONTRACT_PROVIDER_CATEGORY.DEPLOYMENT,
128
+ notes: ['Aggregate contract for persisted bidirectional observed service call rows derived from two directed eBPF observations.'],
129
+ guardrails: kubernetesContractGuardrails,
130
+ },
99
131
  ];
100
132
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/correlation/contracts/families/kubernetes/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/correlation/contracts/families/kubernetes/index.ts"],"names":[],"mappings":";;;AAAA,wEAGuC;AACvC,qDAA0D;AAC1D,mDAAsF;AACtF,uCASqB;AACrB,yCAA0D;AAE1D,MAAM,kCAAkC,GAAG;IACzC,iCAAsB,CAAC,qBAAqB;IAC5C,iCAAsB,CAAC,uBAAuB;IAC9C,iCAAsB,CAAC,qBAAqB;IAC5C,iCAAsB,CAAC,cAAc;IACrC,iCAAsB,CAAC,mBAAmB;CAClC,CAAC;AAEX,MAAM,4BAA4B,GAAG;IACnC,wEAAwE;IACxE,qFAAqF;CAC7E,CAAC;AAEE,QAAA,+BAA+B,GAAG;IAC7C;QACE,GAAG,EAAE,+BAA+B;QACpC,OAAO,EAAE,IAAI;QACb,MAAM,EAAE,mCAA0B,CAAC,MAAM;QACzC,MAAM,EAAE,kCAA0B,CAAC,UAAU;QAC7C,eAAe,EAAE,EAAE,WAAW,EAAE,UAAU,EAAE,aAAa,EAAE,iCAAsB,CAAC,oBAAoB,EAAE,QAAQ,EAAE,6BAAiB,CAAC,GAAG,EAAE;QACzI,QAAQ,EAAE,iCAAsB,CAAC,OAAO;QACxC,eAAe,EAAE,EAAE,WAAW,EAAE,UAAU,EAAE,aAAa,EAAE,iCAAsB,CAAC,kBAAkB,EAAE,QAAQ,EAAE,6BAAiB,CAAC,GAAG,EAAE;QACvI,cAAc,EAAE,YAAY;QAC5B,oBAAoB,EAAE,mDAA2C;QACjE,cAAc,EAAE,0CAAkC,CAAC,WAAW;QAC9D,eAAe,EAAE,YAAY;QAC7B,iBAAiB,EAAE,6CAAqC,CAAC,UAAU;QACnE,UAAU,EAAE,4BAA4B;KACzC;IACD;QACE,GAAG,EAAE,+BAA+B;QACpC,OAAO,EAAE,IAAI;QACb,MAAM,EAAE,mCAA0B,CAAC,MAAM;QACzC,MAAM,EAAE,kCAA0B,CAAC,UAAU;QAC7C,eAAe,EAAE,EAAE,WAAW,EAAE,UAAU,EAAE,aAAa,EAAE,iCAAsB,CAAC,kBAAkB,EAAE,QAAQ,EAAE,6BAAiB,CAAC,GAAG,EAAE;QACvI,QAAQ,EAAE,iCAAsB,CAAC,OAAO;QACxC,eAAe,EAAE,EAAE,WAAW,EAAE,UAAU,EAAE,aAAa,EAAE,iCAAsB,CAAC,oBAAoB,EAAE,QAAQ,EAAE,6BAAiB,CAAC,GAAG,EAAE;QACzI,cAAc,EAAE,YAAY;QAC5B,oBAAoB,EAAE,mDAA2C;QACjE,cAAc,EAAE,0CAAkC,CAAC,WAAW;QAC9D,eAAe,EAAE,YAAY;QAC7B,iBAAiB,EAAE,6CAAqC,CAAC,UAAU;QACnE,UAAU,EAAE,4BAA4B;KACzC;IACD;QACE,GAAG,EAAE,kEAA2C;QAChD,OAAO,EAAE,qDAA8B;QACvC,MAAM,EAAE,mCAA0B,CAAC,MAAM;QACzC,MAAM,EAAE,kCAA0B,CAAC,UAAU;QAC7C,eAAe,EAAE,EAAE,WAAW,EAAE,UAAU,EAAE,cAAc,EAAE,kCAAkC,EAAE,QAAQ,EAAE,6BAAiB,CAAC,GAAG,EAAE;QACjI,QAAQ,EAAE,iCAAsB,CAAC,OAAO;QACxC,eAAe,EAAE,EAAE,WAAW,EAAE,UAAU,EAAE,aAAa,EAAE,iCAAsB,CAAC,oBAAoB,EAAE,QAAQ,EAAE,6BAAiB,CAAC,GAAG,EAAE;QACzI,cAAc,EAAE,YAAY;QAC5B,oBAAoB,EAAE,mDAA2C;QACjE,cAAc,EAAE,0CAAkC,CAAC,WAAW;QAC9D,eAAe,EAAE,YAAY;QAC7B,iBAAiB,EAAE,6CAAqC,CAAC,UAAU;QACnE,KAAK,EAAE,CAAC,6DAA6D,CAAC;QACtE,UAAU,EAAE,4BAA4B;KACzC;IACD;QACE,GAAG,EAAE,gCAAgC;QACrC,OAAO,EAAE,IAAI;QACb,MAAM,EAAE,mCAA0B,CAAC,MAAM;QACzC,MAAM,EAAE,kCAA0B,CAAC,UAAU;QAC7C,eAAe,EAAE,EAAE,WAAW,EAAE,UAAU,EAAE,aAAa,EAAE,iCAAsB,CAAC,kBAAkB,EAAE,QAAQ,EAAE,6BAAiB,CAAC,GAAG,EAAE;QACvI,QAAQ,EAAE,iCAAsB,CAAC,SAAS;QAC1C,eAAe,EAAE,EAAE,WAAW,EAAE,UAAU,EAAE,cAAc,EAAE,kCAAkC,EAAE,QAAQ,EAAE,6BAAiB,CAAC,GAAG,EAAE;QACjI,cAAc,EAAE,aAAa;QAC7B,oBAAoB,EAAE,6CAAqC;QAC3D,cAAc,EAAE,0CAAkC,CAAC,WAAW;QAC9D,eAAe,EAAE,YAAY;QAC7B,iBAAiB,EAAE,6CAAqC,CAAC,UAAU;QACnE,KAAK,EAAE,CAAC,6FAA6F,CAAC;QACtG,UAAU,EAAE,4BAA4B;KACzC;IACD;QACE,GAAG,EAAE,kCAAkC;QACvC,OAAO,EAAE,IAAI;QACb,MAAM,EAAE,mCAA0B,CAAC,MAAM;QACzC,MAAM,EAAE,kCAA0B,CAAC,UAAU;QAC7C,eAAe,EAAE,EAAE,WAAW,EAAE,SAAS,EAAE,KAAK,EAAE,kBAAkB,EAAE;QACtE,QAAQ,EAAE,iCAAsB,CAAC,WAAW;QAC5C,eAAe,EAAE,EAAE,WAAW,EAAE,UAAU,EAAE,cAAc,EAAE,kCAAkC,EAAE,QAAQ,EAAE,6BAAiB,CAAC,GAAG,EAAE;QACjI,cAAc,EAAE,YAAY;QAC5B,oBAAoB,EAAE,+CAAuC;QAC7D,cAAc,EAAE,0CAAkC,CAAC,WAAW;QAC9D,eAAe,EAAE,YAAY;QAC7B,iBAAiB,EAAE,6CAAqC,CAAC,UAAU;QACnE,KAAK,EAAE,CAAC,+FAA+F,CAAC;QACxG,UAAU,EAAE,4BAA4B;KACzC;IACD;QACE,GAAG,EAAE,gCAAgC;QACrC,OAAO,EAAE,IAAI;QACb,MAAM,EAAE,mCAA0B,CAAC,MAAM;QACzC,MAAM,EAAE,kCAA0B,CAAC,UAAU;QAC7C,eAAe,EAAE,EAAE,WAAW,EAAE,SAAS,EAAE,KAAK,EAAE,kBAAkB,EAAE;QACtE,QAAQ,EAAE,iCAAsB,CAAC,KAAK;QACtC,eAAe,EAAE,EAAE,WAAW,EAAE,SAAS,EAAE,KAAK,EAAE,kBAAkB,EAAE;QACtE,cAAc,EAAE,aAAa;QAC7B,oBAAoB,EAAE,kDAA0C;QAChE,cAAc,EAAE,0CAAkC,CAAC,WAAW;QAC9D,eAAe,EAAE,YAAY;QAC7B,iBAAiB,EAAE,6CAAqC,CAAC,UAAU;QACnE,KAAK,EAAE,CAAC,iGAAiG,CAAC;QAC1G,UAAU,EAAE,4BAA4B;KACzC;IACD;QACE,GAAG,EAAE,8CAA8C;QACnD,OAAO,EAAE,IAAI;QACb,MAAM,EAAE,mCAA0B,CAAC,MAAM;QACzC,MAAM,EAAE,kCAA0B,CAAC,UAAU;QAC7C,eAAe,EAAE,EAAE,WAAW,EAAE,SAAS,EAAE,KAAK,EAAE,kBAAkB,EAAE;QACtE,QAAQ,EAAE,iCAAsB,CAAC,oBAAoB;QACrD,eAAe,EAAE,EAAE,WAAW,EAAE,SAAS,EAAE,KAAK,EAAE,kBAAkB,EAAE;QACtE,cAAc,EAAE,aAAa;QAC7B,oBAAoB,EAAE,kDAA0C;QAChE,cAAc,EAAE,0CAAkC,CAAC,WAAW;QAC9D,eAAe,EAAE,YAAY;QAC7B,iBAAiB,EAAE,6CAAqC,CAAC,UAAU;QACnE,KAAK,EAAE,CAAC,wHAAwH,CAAC;QACjI,UAAU,EAAE,4BAA4B;KACzC;CACuD,CAAC"}
@@ -293,6 +293,48 @@ export declare const CONNECTION_CONTRACT_REGISTRY: ({
293
293
  readonly provider_category: "deployment";
294
294
  readonly notes: readonly ["Verified by fresh Gateway source-sync/correlation export; active deployment-binding V1 shape."];
295
295
  readonly guardrails: readonly ["Do not rename the ratified active k8s workload namespace contract key.", "Gateway owns runtime stamping, validation, selector evaluation, and reconciliation."];
296
+ } | {
297
+ readonly key: "observed_service_calls_service";
298
+ readonly version: "v1";
299
+ readonly status: "active";
300
+ readonly family: "kubernetes";
301
+ readonly source_endpoint: {
302
+ readonly entity_type: "service";
303
+ readonly label: "observed_service";
304
+ };
305
+ readonly relation: "CALLS";
306
+ readonly target_endpoint: {
307
+ readonly entity_type: "service";
308
+ readonly label: "observed_service";
309
+ };
310
+ readonly relation_class: "associative";
311
+ readonly attribute_schema_key: "relationship.observed_service_call.v1";
312
+ readonly evidence_level: "implemented";
313
+ readonly provider_family: "kubernetes";
314
+ readonly provider_category: "deployment";
315
+ readonly notes: readonly ["Scoutflo Kubernetes agent eBPF relationship route materializes directed observed service calls."];
316
+ readonly guardrails: readonly ["Do not rename the ratified active k8s workload namespace contract key.", "Gateway owns runtime stamping, validation, selector evaluation, and reconciliation."];
317
+ } | {
318
+ readonly key: "observed_service_bidirectional_calls_service";
319
+ readonly version: "v1";
320
+ readonly status: "active";
321
+ readonly family: "kubernetes";
322
+ readonly source_endpoint: {
323
+ readonly entity_type: "service";
324
+ readonly label: "observed_service";
325
+ };
326
+ readonly relation: "BI_DIRECTIONAL_CALLS";
327
+ readonly target_endpoint: {
328
+ readonly entity_type: "service";
329
+ readonly label: "observed_service";
330
+ };
331
+ readonly relation_class: "associative";
332
+ readonly attribute_schema_key: "relationship.observed_service_call.v1";
333
+ readonly evidence_level: "implemented";
334
+ readonly provider_family: "kubernetes";
335
+ readonly provider_category: "deployment";
336
+ readonly notes: readonly ["Aggregate contract for persisted bidirectional observed service call rows derived from two directed eBPF observations."];
337
+ readonly guardrails: readonly ["Do not rename the ratified active k8s workload namespace contract key.", "Gateway owns runtime stamping, validation, selector evaluation, and reconciliation."];
296
338
  } | {
297
339
  readonly key: "github_account_owns_repository";
298
340
  readonly version: "v1";
@@ -39,6 +39,7 @@ export declare const INTEGRATION_RELATIONSHIP_CLAIM_LAYER_VALUES: readonly ["ide
39
39
  export declare const STRUCTURAL_CONTAINMENT_ATTRIBUTE_SCHEMA_KEY = "relationship.structural_containment.v1";
40
40
  export declare const SELECTOR_ROUTING_ATTRIBUTE_SCHEMA_KEY = "relationship.selector_routing.v1";
41
41
  export declare const DEPLOYMENT_BINDING_ATTRIBUTE_SCHEMA_KEY = "relationship.deployment_binding.v1";
42
+ export declare const OBSERVED_SERVICE_CALL_ATTRIBUTE_SCHEMA_KEY = "relationship.observed_service_call.v1";
42
43
  export declare const OBSERVABILITY_BINDING_ATTRIBUTE_SCHEMA_KEY = "relationship.observability_binding.v1";
43
44
  export declare const VCS_GITHUB_ATTRIBUTE_SCHEMA_KEY = "vcs.github";
44
45
  export declare const DEPLOYMENT_ARGOCD_ATTRIBUTE_SCHEMA_KEY = "deployment.argocd";
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.connectionContractMetadataSchema = exports.connectionContractEndpointSchema = exports.integrationRelationshipClaimLayersSchema = exports.integrationRelationshipClaimLayerSchema = exports.connectionContractProviderCategorySchema = exports.connectionContractEvidenceLevelSchema = exports.connectionContractFamilySchema = exports.CONTRACT_SCHEMA_ALERTING_PROVIDER_RESERVED = exports.CONTRACT_SCHEMA_MONITORING_ZENDUTY = exports.CONTRACT_SCHEMA_TICKETING_PROVIDER = exports.CONTRACT_SCHEMA_TICKETING_JSM = exports.CONTRACT_SCHEMA_TICKETING_JIRA = exports.CONTRACT_SCHEMA_TRACING_VICTORIATRACES = exports.CONTRACT_SCHEMA_TRACING_TEMPO = exports.CONTRACT_SCHEMA_LOGGING_VICTORIALOGS = exports.CONTRACT_SCHEMA_LOGGING_LOKI = exports.CONTRACT_SCHEMA_LOGGING_ELK = exports.CONTRACT_SCHEMA_MONITORING_PAGERDUTY = exports.CONTRACT_SCHEMA_MONITORING_GROUNDCOVER = exports.CONTRACT_SCHEMA_MONITORING_GRAFANA = exports.CONTRACT_SCHEMA_MONITORING_DATADOG = exports.CONTRACT_SCHEMA_MONITORING_SENTRY = exports.CONTRACT_SCHEMA_MONITORING_VICTORIAMETRICS = exports.CONTRACT_SCHEMA_MONITORING_MIMIR = exports.CONTRACT_SCHEMA_MONITORING_PROMETHEUS = exports.DEPLOYMENT_ARGOCD_ATTRIBUTE_SCHEMA_KEY = exports.VCS_GITHUB_ATTRIBUTE_SCHEMA_KEY = exports.OBSERVABILITY_BINDING_ATTRIBUTE_SCHEMA_KEY = exports.DEPLOYMENT_BINDING_ATTRIBUTE_SCHEMA_KEY = exports.SELECTOR_ROUTING_ATTRIBUTE_SCHEMA_KEY = exports.STRUCTURAL_CONTAINMENT_ATTRIBUTE_SCHEMA_KEY = exports.INTEGRATION_RELATIONSHIP_CLAIM_LAYER_VALUES = exports.INTEGRATION_RELATIONSHIP_CLAIM_LAYER = exports.CONNECTION_CONTRACT_PROVIDER_CATEGORY_VALUES = exports.CONNECTION_CONTRACT_PROVIDER_CATEGORY = exports.CONNECTION_CONTRACT_EVIDENCE_LEVEL_VALUES = exports.CONNECTION_CONTRACT_EVIDENCE_LEVEL = exports.CONNECTION_CONTRACT_FAMILY_VALUES = exports.CONNECTION_CONTRACT_FAMILY = void 0;
3
+ exports.connectionContractMetadataSchema = exports.connectionContractEndpointSchema = exports.integrationRelationshipClaimLayersSchema = exports.integrationRelationshipClaimLayerSchema = exports.connectionContractProviderCategorySchema = exports.connectionContractEvidenceLevelSchema = exports.connectionContractFamilySchema = exports.CONTRACT_SCHEMA_ALERTING_PROVIDER_RESERVED = exports.CONTRACT_SCHEMA_MONITORING_ZENDUTY = exports.CONTRACT_SCHEMA_TICKETING_PROVIDER = exports.CONTRACT_SCHEMA_TICKETING_JSM = exports.CONTRACT_SCHEMA_TICKETING_JIRA = exports.CONTRACT_SCHEMA_TRACING_VICTORIATRACES = exports.CONTRACT_SCHEMA_TRACING_TEMPO = exports.CONTRACT_SCHEMA_LOGGING_VICTORIALOGS = exports.CONTRACT_SCHEMA_LOGGING_LOKI = exports.CONTRACT_SCHEMA_LOGGING_ELK = exports.CONTRACT_SCHEMA_MONITORING_PAGERDUTY = exports.CONTRACT_SCHEMA_MONITORING_GROUNDCOVER = exports.CONTRACT_SCHEMA_MONITORING_GRAFANA = exports.CONTRACT_SCHEMA_MONITORING_DATADOG = exports.CONTRACT_SCHEMA_MONITORING_SENTRY = exports.CONTRACT_SCHEMA_MONITORING_VICTORIAMETRICS = exports.CONTRACT_SCHEMA_MONITORING_MIMIR = exports.CONTRACT_SCHEMA_MONITORING_PROMETHEUS = exports.DEPLOYMENT_ARGOCD_ATTRIBUTE_SCHEMA_KEY = exports.VCS_GITHUB_ATTRIBUTE_SCHEMA_KEY = exports.OBSERVABILITY_BINDING_ATTRIBUTE_SCHEMA_KEY = exports.OBSERVED_SERVICE_CALL_ATTRIBUTE_SCHEMA_KEY = exports.DEPLOYMENT_BINDING_ATTRIBUTE_SCHEMA_KEY = exports.SELECTOR_ROUTING_ATTRIBUTE_SCHEMA_KEY = exports.STRUCTURAL_CONTAINMENT_ATTRIBUTE_SCHEMA_KEY = exports.INTEGRATION_RELATIONSHIP_CLAIM_LAYER_VALUES = exports.INTEGRATION_RELATIONSHIP_CLAIM_LAYER = exports.CONNECTION_CONTRACT_PROVIDER_CATEGORY_VALUES = exports.CONNECTION_CONTRACT_PROVIDER_CATEGORY = exports.CONNECTION_CONTRACT_EVIDENCE_LEVEL_VALUES = exports.CONNECTION_CONTRACT_EVIDENCE_LEVEL = exports.CONNECTION_CONTRACT_FAMILY_VALUES = exports.CONNECTION_CONTRACT_FAMILY = void 0;
4
4
  exports.connectionContractCompositeKey = connectionContractCompositeKey;
5
5
  exports.connectionContractRef = connectionContractRef;
6
6
  const zod_1 = require("zod");
@@ -71,6 +71,7 @@ exports.INTEGRATION_RELATIONSHIP_CLAIM_LAYER_VALUES = [
71
71
  exports.STRUCTURAL_CONTAINMENT_ATTRIBUTE_SCHEMA_KEY = 'relationship.structural_containment.v1';
72
72
  exports.SELECTOR_ROUTING_ATTRIBUTE_SCHEMA_KEY = 'relationship.selector_routing.v1';
73
73
  exports.DEPLOYMENT_BINDING_ATTRIBUTE_SCHEMA_KEY = 'relationship.deployment_binding.v1';
74
+ exports.OBSERVED_SERVICE_CALL_ATTRIBUTE_SCHEMA_KEY = 'relationship.observed_service_call.v1';
74
75
  exports.OBSERVABILITY_BINDING_ATTRIBUTE_SCHEMA_KEY = 'relationship.observability_binding.v1';
75
76
  exports.VCS_GITHUB_ATTRIBUTE_SCHEMA_KEY = 'vcs.github';
76
77
  exports.DEPLOYMENT_ARGOCD_ATTRIBUTE_SCHEMA_KEY = 'deployment.argocd';
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/correlation/contracts/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/correlation/contracts/types.ts"],"names":[],"mappings":"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"}
@@ -4,4 +4,5 @@ export * from './lifecycle';
4
4
  export * from './contractVocabulary';
5
5
  export * from './connectionContractV1';
6
6
  export * from './claimProjection';
7
+ export * from './queryHintTemplates';
7
8
  export * from './contracts';
@@ -20,5 +20,6 @@ __exportStar(require("./lifecycle"), exports);
20
20
  __exportStar(require("./contractVocabulary"), exports);
21
21
  __exportStar(require("./connectionContractV1"), exports);
22
22
  __exportStar(require("./claimProjection"), exports);
23
+ __exportStar(require("./queryHintTemplates"), exports);
23
24
  __exportStar(require("./contracts"), exports);
24
25
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/correlation/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yCAAuB;AACvB,8CAA4B;AAC5B,8CAA4B;AAC5B,uDAAqC;AACrC,yDAAuC;AACvC,oDAAkC;AAClC,8CAA4B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/correlation/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yCAAuB;AACvB,8CAA4B;AAC5B,8CAA4B;AAC5B,uDAAqC;AACrC,yDAAuC;AACvC,oDAAkC;AAClC,uDAAqC;AACrC,8CAA4B"}
@@ -0,0 +1,7 @@
1
+ import type { SupportedCorrelationSignalCategory } from './connectionContractV1';
2
+ export interface IntegrationQueryHintTemplate {
3
+ category: SupportedCorrelationSignalCategory;
4
+ provider_query_param: string;
5
+ syntax: string;
6
+ }
7
+ export declare function queryHintTemplatesFor(provider: string, categories?: readonly string[]): IntegrationQueryHintTemplate[];
@@ -0,0 +1,130 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.queryHintTemplatesFor = queryHintTemplatesFor;
4
+ const providers_1 = require("../providers");
5
+ const PROMETHEUS_COMPATIBLE_PROVIDERS = new Set([
6
+ providers_1.TOPOLOGY_PROVIDER.PROMETHEUS,
7
+ providers_1.TOPOLOGY_PROVIDER.VICTORIAMETRICS,
8
+ providers_1.TOPOLOGY_PROVIDER.MIMIR,
9
+ ]);
10
+ const LOGQL_PROVIDERS = new Set([
11
+ providers_1.TOPOLOGY_PROVIDER.LOKI,
12
+ providers_1.TOPOLOGY_PROVIDER.VICTORIALOGS,
13
+ ]);
14
+ const TRACE_PROVIDERS = new Set([
15
+ providers_1.TOPOLOGY_PROVIDER.TEMPO,
16
+ providers_1.TOPOLOGY_PROVIDER.VICTORIATRACES,
17
+ ]);
18
+ const TEMPLATE_ROWS = {
19
+ prometheus_compatible: [
20
+ { category: 'service', provider_query_param: 'match/query', syntax: '{service="<service>"} or {service_name="<service>"} or {job="<service>"}' },
21
+ { category: 'namespace', provider_query_param: 'match/query', syntax: '{namespace="<namespace>"}' },
22
+ { category: 'pod', provider_query_param: 'match/query', syntax: '{pod="<pod>"}' },
23
+ { category: 'container', provider_query_param: 'match/query', syntax: '{container="<container>"}' },
24
+ { category: 'cluster', provider_query_param: 'match/query', syntax: '{cluster="<cluster>"}' },
25
+ { category: 'workload', provider_query_param: 'match/query', syntax: '{deployment="<workload>"} or {app="<workload>"} or {app_kubernetes_io_name="<workload>"}' },
26
+ { category: 'environment', provider_query_param: 'match/query', syntax: '{environment="<environment>"}' },
27
+ ],
28
+ logql: [
29
+ { category: 'service', provider_query_param: 'query', syntax: '{service="<service>"} or {service_name="<service>"} or {app="<service>"}' },
30
+ { category: 'namespace', provider_query_param: 'query', syntax: '{namespace="<namespace>"}' },
31
+ { category: 'pod', provider_query_param: 'query', syntax: '{pod="<pod>"}' },
32
+ { category: 'container', provider_query_param: 'query', syntax: '{container="<container>"}' },
33
+ { category: 'cluster', provider_query_param: 'query', syntax: '{cluster="<cluster>"}' },
34
+ ],
35
+ traces: [
36
+ { category: 'service', provider_query_param: 'query/service', syntax: 'resource.service.name="<service>" or service="<service>"' },
37
+ { category: 'namespace', provider_query_param: 'query', syntax: 'resource.k8s.namespace.name="<namespace>"' },
38
+ { category: 'pod', provider_query_param: 'query', syntax: 'resource.k8s.pod.name="<pod>"' },
39
+ { category: 'cluster', provider_query_param: 'query', syntax: 'resource.k8s.cluster.name="<cluster>"' },
40
+ { category: 'environment', provider_query_param: 'query', syntax: 'resource.deployment.environment="<environment>"' },
41
+ ],
42
+ [providers_1.TOPOLOGY_PROVIDER.DATADOG]: [
43
+ { category: 'service', provider_query_param: 'query', syntax: 'service:<service>' },
44
+ { category: 'namespace', provider_query_param: 'query', syntax: 'kube_namespace:<namespace>' },
45
+ { category: 'pod', provider_query_param: 'query', syntax: 'pod_name:<pod>' },
46
+ { category: 'container', provider_query_param: 'query', syntax: 'container_name:<container>' },
47
+ { category: 'cluster', provider_query_param: 'query', syntax: 'kube_cluster_name:<cluster>' },
48
+ { category: 'environment', provider_query_param: 'query', syntax: 'env:<environment>' },
49
+ { category: 'team', provider_query_param: 'query', syntax: 'team:<team>' },
50
+ ],
51
+ [providers_1.TOPOLOGY_PROVIDER.ARGOCD]: [
52
+ { category: 'service', provider_query_param: 'application selector', syntax: 'app.kubernetes.io/name=<service>' },
53
+ { category: 'namespace', provider_query_param: 'destination namespace', syntax: 'destination.namespace=<namespace>' },
54
+ { category: 'cluster', provider_query_param: 'destination cluster', syntax: 'destination.name=<cluster>' },
55
+ { category: 'project', provider_query_param: 'project', syntax: 'project=<project>' },
56
+ { category: 'repository', provider_query_param: 'repo', syntax: 'repo=<repository>' },
57
+ ],
58
+ [providers_1.TOPOLOGY_PROVIDER.GRAFANA]: [
59
+ { category: 'service', provider_query_param: 'dashboard/alert labels', syntax: 'label service=<service> or service_name=<service>' },
60
+ { category: 'namespace', provider_query_param: 'dashboard/alert labels', syntax: 'label namespace=<namespace>' },
61
+ { category: 'environment', provider_query_param: 'dashboard/alert labels', syntax: 'label environment=<environment>' },
62
+ { category: 'team', provider_query_param: 'dashboard/alert labels', syntax: 'label team=<team>' },
63
+ ],
64
+ [providers_1.TOPOLOGY_PROVIDER.SENTRY]: [
65
+ { category: 'service', provider_query_param: 'query', syntax: 'transaction:<service> or tags[service]=<service>' },
66
+ { category: 'environment', provider_query_param: 'environment', syntax: 'environment=<environment>' },
67
+ { category: 'project', provider_query_param: 'project_slug', syntax: 'project_slug=<project>' },
68
+ { category: 'team', provider_query_param: 'team_slug', syntax: 'team_slug=<team>' },
69
+ ],
70
+ [providers_1.TOPOLOGY_PROVIDER.JIRA]: [
71
+ { category: 'project', provider_query_param: 'project_key/jql', syntax: 'project = <project>' },
72
+ { category: 'service', provider_query_param: 'jql', syntax: 'labels = <service> or component = <service>' },
73
+ { category: 'team', provider_query_param: 'jql', syntax: 'labels = <team>' },
74
+ ],
75
+ [providers_1.TOPOLOGY_PROVIDER.JSM]: [
76
+ { category: 'project', provider_query_param: 'project_key', syntax: 'project_key=<project>' },
77
+ { category: 'service', provider_query_param: 'request filter', syntax: 'serviceDeskId=<service>' },
78
+ { category: 'team', provider_query_param: 'request filter', syntax: 'organization/team=<team>' },
79
+ ],
80
+ [providers_1.TOPOLOGY_PROVIDER.BITBUCKET]: [
81
+ { category: 'repository', provider_query_param: 'repo_slug', syntax: 'repo_slug=<repository>' },
82
+ { category: 'project', provider_query_param: 'project_key', syntax: 'project_key=<project>' },
83
+ { category: 'team', provider_query_param: 'workspace', syntax: 'workspace=<team>' },
84
+ ],
85
+ [providers_1.TOPOLOGY_PROVIDER.CONFLUENCE]: [
86
+ { category: 'space', provider_query_param: 'space_key', syntax: 'space_key=<space>' },
87
+ { category: 'service', provider_query_param: 'title/label filter', syntax: 'title or label contains <service>' },
88
+ ],
89
+ [providers_1.TOPOLOGY_PROVIDER.ELK]: [
90
+ { category: 'service', provider_query_param: 'query', syntax: 'service.name:"<service>" or service:"<service>"' },
91
+ { category: 'namespace', provider_query_param: 'query', syntax: 'kubernetes.namespace:"<namespace>"' },
92
+ { category: 'pod', provider_query_param: 'query', syntax: 'kubernetes.pod.name:"<pod>"' },
93
+ { category: 'container', provider_query_param: 'query', syntax: 'container.name:"<container>"' },
94
+ { category: 'environment', provider_query_param: 'query', syntax: 'environment:"<environment>"' },
95
+ ],
96
+ [providers_1.TOPOLOGY_PROVIDER.GROUNDCOVER]: [
97
+ { category: 'service', provider_query_param: 'workload/service filter', syntax: 'service=<service>' },
98
+ { category: 'namespace', provider_query_param: 'namespace filter', syntax: 'namespace=<namespace>' },
99
+ { category: 'workload', provider_query_param: 'workload filter', syntax: 'workload=<workload>' },
100
+ { category: 'cluster', provider_query_param: 'cluster filter', syntax: 'cluster=<cluster>' },
101
+ ],
102
+ [providers_1.TOPOLOGY_PROVIDER.PAGERDUTY]: [
103
+ { category: 'service', provider_query_param: 'service_ids/query', syntax: 'service_ids=<service> or query=<service>' },
104
+ { category: 'team', provider_query_param: 'team_ids/query', syntax: 'team_ids=<team> or query=<team>' },
105
+ { category: 'environment', provider_query_param: 'query', syntax: 'query=<environment>' },
106
+ ],
107
+ [providers_1.TOPOLOGY_PROVIDER.ZENDUTY]: [
108
+ { category: 'service', provider_query_param: 'service_id/filter', syntax: 'service_id=<service>' },
109
+ { category: 'team', provider_query_param: 'team_id/filter', syntax: 'team_id=<team>' },
110
+ { category: 'environment', provider_query_param: 'filter', syntax: 'environment=<environment>' },
111
+ ],
112
+ };
113
+ function templateFamilyForProvider(provider) {
114
+ const normalizedProvider = provider.trim().toLowerCase();
115
+ if (PROMETHEUS_COMPATIBLE_PROVIDERS.has(normalizedProvider))
116
+ return 'prometheus_compatible';
117
+ if (LOGQL_PROVIDERS.has(normalizedProvider))
118
+ return 'logql';
119
+ if (TRACE_PROVIDERS.has(normalizedProvider))
120
+ return 'traces';
121
+ return normalizedProvider;
122
+ }
123
+ function queryHintTemplatesFor(provider, categories) {
124
+ const templates = TEMPLATE_ROWS[templateFamilyForProvider(provider)] || [];
125
+ const categorySet = categories && categories.length > 0 ? new Set(categories) : undefined;
126
+ return templates
127
+ .filter((template) => !categorySet || categorySet.has(template.category))
128
+ .map((template) => ({ ...template }));
129
+ }
130
+ //# sourceMappingURL=queryHintTemplates.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"queryHintTemplates.js","sourceRoot":"","sources":["../../../src/correlation/queryHintTemplates.ts"],"names":[],"mappings":"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"}
@@ -106,6 +106,29 @@ const src_1 = require("../src");
106
106
  strict_1.default.equal(src_1.topologyCorrelationContractFamilySchema.parse('observability.metrics'), 'observability.metrics');
107
107
  strict_1.default.equal(src_1.topologyCorrelationContractKeySchema.parse(ref.correlation_contract_key), 'k8s_workload_sends_metrics_to_prometheus_compatible');
108
108
  });
109
+ (0, node_test_1.default)('exports observed service call relationship contracts', () => {
110
+ strict_1.default.equal(src_1.OBSERVED_SERVICE_CALLS_SERVICE_CONTRACT_KEY, 'observed_service_calls_service');
111
+ strict_1.default.equal(src_1.OBSERVED_SERVICE_BIDIRECTIONAL_CALLS_SERVICE_CONTRACT_KEY, 'observed_service_bidirectional_calls_service');
112
+ strict_1.default.equal(src_1.RELATIONSHIP_OBSERVED_SERVICE_CALL_ATTRIBUTE_SCHEMA_KEY, 'relationship.observed_service_call.v1');
113
+ strict_1.default.deepEqual(src_1.OBSERVED_SERVICE_CALLS_SERVICE_CONTRACT_REF, {
114
+ correlation_contract_key: src_1.OBSERVED_SERVICE_CALLS_SERVICE_CONTRACT_KEY,
115
+ correlation_contract_version: src_1.CONNECTION_CONTRACT_VERSION_V1,
116
+ });
117
+ strict_1.default.deepEqual(src_1.OBSERVED_SERVICE_BIDIRECTIONAL_CALLS_SERVICE_CONTRACT_REF, {
118
+ correlation_contract_key: src_1.OBSERVED_SERVICE_BIDIRECTIONAL_CALLS_SERVICE_CONTRACT_KEY,
119
+ correlation_contract_version: src_1.CONNECTION_CONTRACT_VERSION_V1,
120
+ });
121
+ strict_1.default.equal(src_1.connectionContractV1KeySchema.parse(src_1.OBSERVED_SERVICE_CALLS_SERVICE_CONTRACT_KEY), src_1.OBSERVED_SERVICE_CALLS_SERVICE_CONTRACT_KEY);
122
+ strict_1.default.equal(src_1.connectionContractAttributeSchemaKeySchema.parse(src_1.RELATIONSHIP_OBSERVED_SERVICE_CALL_ATTRIBUTE_SCHEMA_KEY), src_1.RELATIONSHIP_OBSERVED_SERVICE_CALL_ATTRIBUTE_SCHEMA_KEY);
123
+ const directed = (0, src_1.getConnectionContract)(src_1.OBSERVED_SERVICE_CALLS_SERVICE_CONTRACT_KEY, src_1.CONNECTION_CONTRACT_VERSION_V1);
124
+ const bidirectional = (0, src_1.getConnectionContract)(src_1.OBSERVED_SERVICE_BIDIRECTIONAL_CALLS_SERVICE_CONTRACT_KEY, src_1.CONNECTION_CONTRACT_VERSION_V1);
125
+ strict_1.default.equal(directed?.status, src_1.CONNECTION_CONTRACT_STATUS.ACTIVE);
126
+ strict_1.default.equal(directed?.relation, src_1.TOPOLOGY_RELATION_TYPE.CALLS);
127
+ strict_1.default.equal(directed?.attribute_schema_key, src_1.RELATIONSHIP_OBSERVED_SERVICE_CALL_ATTRIBUTE_SCHEMA_KEY);
128
+ strict_1.default.equal(bidirectional?.status, src_1.CONNECTION_CONTRACT_STATUS.ACTIVE);
129
+ strict_1.default.equal(bidirectional?.relation, src_1.TOPOLOGY_RELATION_TYPE.BI_DIRECTIONAL_CALLS);
130
+ strict_1.default.equal(bidirectional?.attribute_schema_key, src_1.RELATIONSHIP_OBSERVED_SERVICE_CALL_ATTRIBUTE_SCHEMA_KEY);
131
+ });
109
132
  (0, node_test_1.default)('exports canonical correlation claim projection for topology and alert correlation', () => {
110
133
  strict_1.default.deepEqual((0, src_1.claimProjectionForPath)(['resource', 'service.name']), {
111
134
  category: 'service',
@@ -125,6 +148,33 @@ const src_1 = require("../src");
125
148
  scoring: false,
126
149
  });
127
150
  });
151
+ (0, node_test_1.default)('exports provider query hint templates for derived investigation context', () => {
152
+ strict_1.default.deepEqual((0, src_1.queryHintTemplatesFor)('victoriametrics', ['service', 'namespace']), [
153
+ {
154
+ category: 'service',
155
+ provider_query_param: 'match/query',
156
+ syntax: '{service="<service>"} or {service_name="<service>"} or {job="<service>"}',
157
+ },
158
+ {
159
+ category: 'namespace',
160
+ provider_query_param: 'match/query',
161
+ syntax: '{namespace="<namespace>"}',
162
+ },
163
+ ]);
164
+ strict_1.default.deepEqual((0, src_1.queryHintTemplatesFor)('sentry', ['project', 'environment']), [
165
+ {
166
+ category: 'environment',
167
+ provider_query_param: 'environment',
168
+ syntax: 'environment=<environment>',
169
+ },
170
+ {
171
+ category: 'project',
172
+ provider_query_param: 'project_slug',
173
+ syntax: 'project_slug=<project>',
174
+ },
175
+ ]);
176
+ strict_1.default.deepEqual((0, src_1.queryHintTemplatesFor)('unknown-provider', ['service']), []);
177
+ });
128
178
  (0, node_test_1.default)('exports ratified Connection Contract V1 topology vocabulary', () => {
129
179
  strict_1.default.equal(src_1.CONNECTION_CONTRACT_VERSION_V1, 'v1');
130
180
  strict_1.default.equal(src_1.connectionContractVersionV1Schema.parse('v1'), 'v1');
@@ -143,6 +193,8 @@ const src_1 = require("../src");
143
193
  'k8s_workload_part_of_namespace',
144
194
  'k8s_service_routes_to_workload',
145
195
  'service_deployed_as_k8s_workload',
196
+ 'observed_service_calls_service',
197
+ 'observed_service_bidirectional_calls_service',
146
198
  'k8s_workload_sends_metrics_to_prometheus_compatible',
147
199
  'workload_reports_errors_to_sentry',
148
200
  'k8s_workload_sends_logs_to_loki',
@@ -210,6 +262,14 @@ const src_1 = require("../src");
210
262
  correlation_contract_key: 'service_deployed_as_k8s_workload',
211
263
  correlation_contract_version: 'v1',
212
264
  },
265
+ {
266
+ correlation_contract_key: 'observed_service_calls_service',
267
+ correlation_contract_version: 'v1',
268
+ },
269
+ {
270
+ correlation_contract_key: 'observed_service_bidirectional_calls_service',
271
+ correlation_contract_version: 'v1',
272
+ },
213
273
  {
214
274
  correlation_contract_key: 'k8s_workload_sends_metrics_to_prometheus_compatible',
215
275
  correlation_contract_version: 'v1',
@@ -276,12 +336,14 @@ const src_1 = require("../src");
276
336
  strict_1.default.equal(src_1.RELATIONSHIP_STRUCTURAL_CONTAINMENT_ATTRIBUTE_SCHEMA_KEY, 'relationship.structural_containment.v1');
277
337
  strict_1.default.equal(src_1.RELATIONSHIP_SELECTOR_ROUTING_ATTRIBUTE_SCHEMA_KEY, 'relationship.selector_routing.v1');
278
338
  strict_1.default.equal(src_1.RELATIONSHIP_DEPLOYMENT_BINDING_ATTRIBUTE_SCHEMA_KEY, 'relationship.deployment_binding.v1');
339
+ strict_1.default.equal(src_1.RELATIONSHIP_OBSERVED_SERVICE_CALL_ATTRIBUTE_SCHEMA_KEY, 'relationship.observed_service_call.v1');
279
340
  strict_1.default.equal(src_1.RELATIONSHIP_OBSERVABILITY_BINDING_ATTRIBUTE_SCHEMA_KEY, 'relationship.observability_binding.v1');
280
341
  strict_1.default.equal(src_1.connectionContractAttributeSchemaKeySchema.parse(src_1.RELATIONSHIP_STRUCTURAL_CONTAINMENT_ATTRIBUTE_SCHEMA_KEY), src_1.RELATIONSHIP_STRUCTURAL_CONTAINMENT_ATTRIBUTE_SCHEMA_KEY);
281
342
  strict_1.default.deepEqual([...src_1.CONNECTION_CONTRACT_ATTRIBUTE_SCHEMA_KEYS], [
282
343
  'relationship.structural_containment.v1',
283
344
  'relationship.selector_routing.v1',
284
345
  'relationship.deployment_binding.v1',
346
+ 'relationship.observed_service_call.v1',
285
347
  'relationship.observability_binding.v1',
286
348
  'monitoring.prometheus',
287
349
  'monitoring.mimir',
@@ -380,6 +442,8 @@ const src_1 = require("../src");
380
442
  'k8s_workload_part_of_namespace/v1',
381
443
  'k8s_service_routes_to_workload/v1',
382
444
  'service_deployed_as_k8s_workload/v1',
445
+ 'observed_service_calls_service/v1',
446
+ 'observed_service_bidirectional_calls_service/v1',
383
447
  'k8s_workload_sends_metrics_to_prometheus_compatible/v1',
384
448
  'workload_reports_errors_to_sentry/v1',
385
449
  'k8s_workload_sends_logs_to_loki/v1',
@@ -448,7 +512,7 @@ const src_1 = require("../src");
448
512
  strict_1.default.deepEqual(observabilityBindingKeys.map((key) => (0, src_1.getConnectionContract)(key, 'v1')?.attribute_schema_key), observabilityBindingKeys.map(() => 'relationship.observability_binding.v1'));
449
513
  strict_1.default.equal((0, src_1.getConnectionContract)('service_uses_ticketing_provider', 'v1')?.status, src_1.CONNECTION_CONTRACT_STATUS.RESERVED);
450
514
  strict_1.default.equal((0, src_1.listConnectionContractsByFamily)(src_1.CONNECTION_CONTRACT_FAMILY.AWS).length, 8);
451
- strict_1.default.equal((0, src_1.listConnectionContractsByFamily)(src_1.CONNECTION_CONTRACT_FAMILY.KUBERNETES).length, 5);
515
+ strict_1.default.equal((0, src_1.listConnectionContractsByFamily)(src_1.CONNECTION_CONTRACT_FAMILY.KUBERNETES).length, 7);
452
516
  strict_1.default.equal((0, src_1.listConnectionContractsByFamily)(src_1.CONNECTION_CONTRACT_FAMILY.GITHUB).length, 3);
453
517
  strict_1.default.equal((0, src_1.listConnectionContractsByFamily)(src_1.CONNECTION_CONTRACT_FAMILY.ARGOCD).length, 3);
454
518
  strict_1.default.deepEqual((0, src_1.listConnectionContractsByStatus)(src_1.CONNECTION_CONTRACT_STATUS.CANDIDATE).map((contract) => contract.key), [