@scoutflo/topology-contracts 0.5.1 → 0.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -5,10 +5,17 @@ Pure shared topology vocabulary and Zod boundary schemas for Scoutflo topology w
5
5
  This package owns:
6
6
 
7
7
  - topology provider constants and explicit compatibility aliases;
8
- - AWS, Kubernetes, and integration topology family constants;
8
+ - AWS, Kubernetes, integration, and GitHub account topology family constants;
9
+ - GitHub account source-sync source-type constants;
9
10
  - source-sync capability, intent, scope, completeness, warning, and candidate DTO schemas;
10
11
  - topology correlation rule metadata and candidate DTO schemas;
11
- - small topology resource and relation vocabulary constants useful at contract boundaries.
12
+ - Gateway/Mongo-aligned topology resource and relation vocabulary constants useful at contract boundaries.
13
+
14
+ Canonical topology resource and relation constants mirror stable persisted Scoutflo ontology values. Source-sync family constants remain separate and may use provider/source-specific family names such as AWS scan families.
15
+
16
+ GitHub source-sync vocabulary currently covers only the account/App installation node (`account` family and `github_account` source type). Repository inventory and repository relationship vocabulary are intentionally not exported yet.
17
+
18
+ Provider constants are shared vocabulary, not a source-sync capability registry. Values such as `pagerduty` and `correlation` may be valid persisted providers without implying that the source-sync registry can run them.
12
19
 
13
20
  Gateway remains the runtime authority for provider discovery, credential resolution, dry-run/apply, lifecycle, reconciliation, persistence, audit, provider clients, source-specific payload parsing, and topology correlation rule execution.
14
21
 
@@ -0,0 +1,13 @@
1
+ import { z } from 'zod';
2
+ export declare const GITHUB_TOPOLOGY_FAMILY: {
3
+ readonly ACCOUNT: "account";
4
+ };
5
+ export declare const GITHUB_TOPOLOGY_FAMILY_VALUES: readonly ["account"];
6
+ export declare const githubTopologyFamilySchema: z.ZodEnum<["account"]>;
7
+ export type GithubTopologyFamily = z.infer<typeof githubTopologyFamilySchema>;
8
+ export declare const GITHUB_TOPOLOGY_SOURCE_TYPE: {
9
+ readonly ACCOUNT: "github_account";
10
+ };
11
+ export declare const GITHUB_TOPOLOGY_SOURCE_TYPE_VALUES: readonly ["github_account"];
12
+ export declare const githubTopologySourceTypeSchema: z.ZodEnum<["github_account"]>;
13
+ export type GithubTopologySourceType = z.infer<typeof githubTopologySourceTypeSchema>;
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.githubTopologySourceTypeSchema = exports.GITHUB_TOPOLOGY_SOURCE_TYPE_VALUES = exports.GITHUB_TOPOLOGY_SOURCE_TYPE = exports.githubTopologyFamilySchema = exports.GITHUB_TOPOLOGY_FAMILY_VALUES = exports.GITHUB_TOPOLOGY_FAMILY = void 0;
4
+ const zod_1 = require("zod");
5
+ exports.GITHUB_TOPOLOGY_FAMILY = {
6
+ ACCOUNT: 'account',
7
+ };
8
+ exports.GITHUB_TOPOLOGY_FAMILY_VALUES = [
9
+ exports.GITHUB_TOPOLOGY_FAMILY.ACCOUNT,
10
+ ];
11
+ exports.githubTopologyFamilySchema = zod_1.z.enum(exports.GITHUB_TOPOLOGY_FAMILY_VALUES);
12
+ exports.GITHUB_TOPOLOGY_SOURCE_TYPE = {
13
+ ACCOUNT: 'github_account',
14
+ };
15
+ exports.GITHUB_TOPOLOGY_SOURCE_TYPE_VALUES = [
16
+ exports.GITHUB_TOPOLOGY_SOURCE_TYPE.ACCOUNT,
17
+ ];
18
+ exports.githubTopologySourceTypeSchema = zod_1.z.enum(exports.GITHUB_TOPOLOGY_SOURCE_TYPE_VALUES);
19
+ //# sourceMappingURL=github.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"github.js","sourceRoot":"","sources":["../../../src/families/github.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAEX,QAAA,sBAAsB,GAAG;IACpC,OAAO,EAAE,SAAS;CACV,CAAC;AAEE,QAAA,6BAA6B,GAAG;IAC3C,8BAAsB,CAAC,OAAO;CACtB,CAAC;AAEE,QAAA,0BAA0B,GAAG,OAAC,CAAC,IAAI,CAAC,qCAA6B,CAAC,CAAC;AAInE,QAAA,2BAA2B,GAAG;IACzC,OAAO,EAAE,gBAAgB;CACjB,CAAC;AAEE,QAAA,kCAAkC,GAAG;IAChD,mCAA2B,CAAC,OAAO;CAC3B,CAAC;AAEE,QAAA,8BAA8B,GAAG,OAAC,CAAC,IAAI,CAAC,0CAAkC,CAAC,CAAC"}
@@ -2,5 +2,6 @@ import { z } from 'zod';
2
2
  export * from './aws';
3
3
  export * from './kubernetes';
4
4
  export * from './integrations';
5
- export declare const topologyFamilySchema: z.ZodUnion<[z.ZodEnum<["account", "vpc", "subnet", "ec2_instance", "rds_instance", "s3_bucket", "eks_cluster"]>, z.ZodEnum<["cluster", "namespace", "deployment", "statefulset", "daemonset", "job", "cronjob", "service"]>, z.ZodEnum<["integration_resource"]>]>;
5
+ export * from './github';
6
+ export declare const topologyFamilySchema: z.ZodUnion<[z.ZodEnum<["account", "vpc", "subnet", "ec2_instance", "rds_instance", "s3_bucket", "eks_cluster"]>, z.ZodEnum<["cluster", "namespace", "deployment", "statefulset", "daemonset", "job", "cronjob", "service"]>, z.ZodEnum<["integration_resource"]>, z.ZodEnum<["account"]>]>;
6
7
  export type TopologyFamily = z.infer<typeof topologyFamilySchema>;
@@ -17,14 +17,17 @@ Object.defineProperty(exports, "__esModule", { value: true });
17
17
  exports.topologyFamilySchema = void 0;
18
18
  const zod_1 = require("zod");
19
19
  const aws_1 = require("./aws");
20
+ const github_1 = require("./github");
20
21
  const integrations_1 = require("./integrations");
21
22
  const kubernetes_1 = require("./kubernetes");
22
23
  __exportStar(require("./aws"), exports);
23
24
  __exportStar(require("./kubernetes"), exports);
24
25
  __exportStar(require("./integrations"), exports);
26
+ __exportStar(require("./github"), exports);
25
27
  exports.topologyFamilySchema = zod_1.z.union([
26
28
  aws_1.awsTopologyFamilySchema,
27
29
  kubernetes_1.kubernetesTopologyFamilySchema,
28
30
  integrations_1.integrationTopologyFamilySchema,
31
+ github_1.githubTopologyFamilySchema,
29
32
  ]);
30
33
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/families/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,6BAAwB;AACxB,+BAAgD;AAChD,iDAAiE;AACjE,6CAA8D;AAE9D,wCAAsB;AACtB,+CAA6B;AAC7B,iDAA+B;AAElB,QAAA,oBAAoB,GAAG,OAAC,CAAC,KAAK,CAAC;IAC1C,6BAAuB;IACvB,2CAA8B;IAC9B,8CAA+B;CAChC,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/families/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,6BAAwB;AACxB,+BAAgD;AAChD,qCAAsD;AACtD,iDAAiE;AACjE,6CAA8D;AAE9D,wCAAsB;AACtB,+CAA6B;AAC7B,iDAA+B;AAC/B,2CAAyB;AAEZ,QAAA,oBAAoB,GAAG,OAAC,CAAC,KAAK,CAAC;IAC1C,6BAAuB;IACvB,2CAA8B;IAC9B,8CAA+B;IAC/B,mCAA0B;CAC3B,CAAC,CAAC"}