@caryyon/core 0.1.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 (41) hide show
  1. package/dist/constants/index.d.ts +50 -0
  2. package/dist/constants/index.d.ts.map +1 -0
  3. package/dist/constants/index.js +53 -0
  4. package/dist/constants/index.js.map +1 -0
  5. package/dist/index.d.ts +5 -0
  6. package/dist/index.d.ts.map +1 -0
  7. package/dist/index.js +8 -0
  8. package/dist/index.js.map +1 -0
  9. package/dist/types/connection.d.ts +22 -0
  10. package/dist/types/connection.d.ts.map +1 -0
  11. package/dist/types/connection.js +3 -0
  12. package/dist/types/connection.js.map +1 -0
  13. package/dist/types/dependency.d.ts +35 -0
  14. package/dist/types/dependency.d.ts.map +1 -0
  15. package/dist/types/dependency.js +18 -0
  16. package/dist/types/dependency.js.map +1 -0
  17. package/dist/types/index.d.ts +11 -0
  18. package/dist/types/index.d.ts.map +1 -0
  19. package/dist/types/index.js +9 -0
  20. package/dist/types/index.js.map +1 -0
  21. package/dist/types/plugin.d.ts +20 -0
  22. package/dist/types/plugin.d.ts.map +1 -0
  23. package/dist/types/plugin.js +3 -0
  24. package/dist/types/plugin.js.map +1 -0
  25. package/dist/types/route.d.ts +49 -0
  26. package/dist/types/route.d.ts.map +1 -0
  27. package/dist/types/route.js +15 -0
  28. package/dist/types/route.js.map +1 -0
  29. package/dist/types/service.d.ts +39 -0
  30. package/dist/types/service.d.ts.map +1 -0
  31. package/dist/types/service.js +23 -0
  32. package/dist/types/service.js.map +1 -0
  33. package/dist/utils/id-generator.d.ts +4 -0
  34. package/dist/utils/id-generator.d.ts.map +1 -0
  35. package/dist/utils/id-generator.js +20 -0
  36. package/dist/utils/id-generator.js.map +1 -0
  37. package/dist/validators/schema-validator.d.ts +24 -0
  38. package/dist/validators/schema-validator.d.ts.map +1 -0
  39. package/dist/validators/schema-validator.js +137 -0
  40. package/dist/validators/schema-validator.js.map +1 -0
  41. package/package.json +37 -0
@@ -0,0 +1,50 @@
1
+ export declare const API_ENDPOINTS: {
2
+ readonly INGEST_METADATA: "/ingest/metadata";
3
+ readonly SERVICES: "/services";
4
+ readonly SERVICE_DETAIL: (id: string) => string;
5
+ readonly GRAPH: "/graph";
6
+ readonly GRAPH_DEPENDENCIES: (id: string) => string;
7
+ readonly GRAPH_DEPENDENTS: (id: string) => string;
8
+ readonly ROUTES: "/routes";
9
+ readonly DEPENDENCIES: "/dependencies";
10
+ readonly METRICS_STREAM: "/metrics/stream";
11
+ readonly HEALTH: "/health";
12
+ readonly SCHEMA: (version: string) => string;
13
+ };
14
+ export declare const API_CONFIG: {
15
+ readonly DEFAULT_ENDPOINT: "https://api.lattice.dev/v1";
16
+ readonly DEFAULT_TIMEOUT: 5000;
17
+ readonly DEFAULT_RETRY_ATTEMPTS: 3;
18
+ };
19
+ export declare const SCHEMA_VERSIONS: {
20
+ readonly CURRENT: "1.0.0";
21
+ readonly SUPPORTED: readonly ["1.0.0"];
22
+ };
23
+ export declare const HTTP_HEADERS: {
24
+ readonly API_KEY: "X-Lattice-API-Key";
25
+ readonly TRACE_ID: "X-Trace-ID";
26
+ readonly ORIGIN_SERVICE: "X-Origin-Service";
27
+ readonly SCHEMA_VERSION: "X-Lattice-Schema-Version";
28
+ };
29
+ export declare const SERVICE_STATUS: {
30
+ readonly ACTIVE: "active";
31
+ readonly INACTIVE: "inactive";
32
+ readonly UNKNOWN: "unknown";
33
+ };
34
+ export declare const DEFAULTS: {
35
+ readonly SUBMIT_INTERVAL: 300000;
36
+ readonly INACTIVE_THRESHOLD: 3600000;
37
+ readonly DEPENDENCY_DEPTH: 1;
38
+ readonly SERVICE_NAME_FALLBACK: "unknown-service";
39
+ };
40
+ export declare const ENV_VARS: {
41
+ readonly LATTICE_API_ENDPOINT: "LATTICE_API_ENDPOINT";
42
+ readonly LATTICE_API_KEY: "LATTICE_API_KEY";
43
+ readonly LATTICE_SERVICE_NAME: "LATTICE_SERVICE_NAME";
44
+ readonly LATTICE_ENABLED: "LATTICE_ENABLED";
45
+ readonly LATTICE_AUTO_SUBMIT: "LATTICE_AUTO_SUBMIT";
46
+ readonly LATTICE_SUBMIT_INTERVAL: "LATTICE_SUBMIT_INTERVAL";
47
+ readonly SERVICE_NAME: "SERVICE_NAME";
48
+ readonly NODE_ENV: "NODE_ENV";
49
+ };
50
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/constants/index.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,aAAa;;;kCAGH,MAAM;;sCAEF,MAAM;oCACR,MAAM;;;;;+BAKX,MAAM;CAChB,CAAC;AAKX,eAAO,MAAM,UAAU;;;;CAIb,CAAC;AAKX,eAAO,MAAM,eAAe;;;CAGlB,CAAC;AAKX,eAAO,MAAM,YAAY;;;;;CAKf,CAAC;AAKX,eAAO,MAAM,cAAc;;;;CAIjB,CAAC;AAKX,eAAO,MAAM,QAAQ;;;;;CAKX,CAAC;AAKX,eAAO,MAAM,QAAQ;;;;;;;;;CASX,CAAC"}
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ENV_VARS = exports.DEFAULTS = exports.SERVICE_STATUS = exports.HTTP_HEADERS = exports.SCHEMA_VERSIONS = exports.API_CONFIG = exports.API_ENDPOINTS = void 0;
4
+ exports.API_ENDPOINTS = {
5
+ INGEST_METADATA: '/ingest/metadata',
6
+ SERVICES: '/services',
7
+ SERVICE_DETAIL: (id) => `/services/${id}`,
8
+ GRAPH: '/graph',
9
+ GRAPH_DEPENDENCIES: (id) => `/graph/dependencies/${id}`,
10
+ GRAPH_DEPENDENTS: (id) => `/graph/dependents/${id}`,
11
+ ROUTES: '/routes',
12
+ DEPENDENCIES: '/dependencies',
13
+ METRICS_STREAM: '/metrics/stream',
14
+ HEALTH: '/health',
15
+ SCHEMA: (version) => `/schemas/${version}`,
16
+ };
17
+ exports.API_CONFIG = {
18
+ DEFAULT_ENDPOINT: 'https://api.lattice.dev/v1',
19
+ DEFAULT_TIMEOUT: 5000,
20
+ DEFAULT_RETRY_ATTEMPTS: 3,
21
+ };
22
+ exports.SCHEMA_VERSIONS = {
23
+ CURRENT: '1.0.0',
24
+ SUPPORTED: ['1.0.0'],
25
+ };
26
+ exports.HTTP_HEADERS = {
27
+ API_KEY: 'X-Lattice-API-Key',
28
+ TRACE_ID: 'X-Trace-ID',
29
+ ORIGIN_SERVICE: 'X-Origin-Service',
30
+ SCHEMA_VERSION: 'X-Lattice-Schema-Version',
31
+ };
32
+ exports.SERVICE_STATUS = {
33
+ ACTIVE: 'active',
34
+ INACTIVE: 'inactive',
35
+ UNKNOWN: 'unknown',
36
+ };
37
+ exports.DEFAULTS = {
38
+ SUBMIT_INTERVAL: 300000,
39
+ INACTIVE_THRESHOLD: 3600000,
40
+ DEPENDENCY_DEPTH: 1,
41
+ SERVICE_NAME_FALLBACK: 'unknown-service',
42
+ };
43
+ exports.ENV_VARS = {
44
+ LATTICE_API_ENDPOINT: 'LATTICE_API_ENDPOINT',
45
+ LATTICE_API_KEY: 'LATTICE_API_KEY',
46
+ LATTICE_SERVICE_NAME: 'LATTICE_SERVICE_NAME',
47
+ LATTICE_ENABLED: 'LATTICE_ENABLED',
48
+ LATTICE_AUTO_SUBMIT: 'LATTICE_AUTO_SUBMIT',
49
+ LATTICE_SUBMIT_INTERVAL: 'LATTICE_SUBMIT_INTERVAL',
50
+ SERVICE_NAME: 'SERVICE_NAME',
51
+ NODE_ENV: 'NODE_ENV',
52
+ };
53
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/constants/index.ts"],"names":[],"mappings":";;;AAOa,QAAA,aAAa,GAAG;IAC3B,eAAe,EAAE,kBAAkB;IACnC,QAAQ,EAAE,WAAW;IACrB,cAAc,EAAE,CAAC,EAAU,EAAE,EAAE,CAAC,aAAa,EAAE,EAAE;IACjD,KAAK,EAAE,QAAQ;IACf,kBAAkB,EAAE,CAAC,EAAU,EAAE,EAAE,CAAC,uBAAuB,EAAE,EAAE;IAC/D,gBAAgB,EAAE,CAAC,EAAU,EAAE,EAAE,CAAC,qBAAqB,EAAE,EAAE;IAC3D,MAAM,EAAE,SAAS;IACjB,YAAY,EAAE,eAAe;IAC7B,cAAc,EAAE,iBAAiB;IACjC,MAAM,EAAE,SAAS;IACjB,MAAM,EAAE,CAAC,OAAe,EAAE,EAAE,CAAC,YAAY,OAAO,EAAE;CAC1C,CAAC;AAKE,QAAA,UAAU,GAAG;IACxB,gBAAgB,EAAE,4BAA4B;IAC9C,eAAe,EAAE,IAAI;IACrB,sBAAsB,EAAE,CAAC;CACjB,CAAC;AAKE,QAAA,eAAe,GAAG;IAC7B,OAAO,EAAE,OAAO;IAChB,SAAS,EAAE,CAAC,OAAO,CAAC;CACZ,CAAC;AAKE,QAAA,YAAY,GAAG;IAC1B,OAAO,EAAE,mBAAmB;IAC5B,QAAQ,EAAE,YAAY;IACtB,cAAc,EAAE,kBAAkB;IAClC,cAAc,EAAE,0BAA0B;CAClC,CAAC;AAKE,QAAA,cAAc,GAAG;IAC5B,MAAM,EAAE,QAAQ;IAChB,QAAQ,EAAE,UAAU;IACpB,OAAO,EAAE,SAAS;CACV,CAAC;AAKE,QAAA,QAAQ,GAAG;IACtB,eAAe,EAAE,MAAM;IACvB,kBAAkB,EAAE,OAAO;IAC3B,gBAAgB,EAAE,CAAC;IACnB,qBAAqB,EAAE,iBAAiB;CAChC,CAAC;AAKE,QAAA,QAAQ,GAAG;IACtB,oBAAoB,EAAE,sBAAsB;IAC5C,eAAe,EAAE,iBAAiB;IAClC,oBAAoB,EAAE,sBAAsB;IAC5C,eAAe,EAAE,iBAAiB;IAClC,mBAAmB,EAAE,qBAAqB;IAC1C,uBAAuB,EAAE,yBAAyB;IAClD,YAAY,EAAE,cAAc;IAC5B,QAAQ,EAAE,UAAU;CACZ,CAAC"}
@@ -0,0 +1,5 @@
1
+ export * from './types';
2
+ export * from './validators/schema-validator';
3
+ export * from './constants';
4
+ export * from './utils/id-generator';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAMA,cAAc,SAAS,CAAC;AAGxB,cAAc,+BAA+B,CAAC;AAG9C,cAAc,aAAa,CAAC;AAG5B,cAAc,sBAAsB,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./types"), exports);
5
+ tslib_1.__exportStar(require("./validators/schema-validator"), exports);
6
+ tslib_1.__exportStar(require("./constants"), exports);
7
+ tslib_1.__exportStar(require("./utils/id-generator"), exports);
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAMA,kDAAwB;AAGxB,wEAA8C;AAG9C,sDAA4B;AAG5B,+DAAqC"}
@@ -0,0 +1,22 @@
1
+ export interface Connection {
2
+ id: string;
3
+ sourceServiceId: string;
4
+ targetServiceId: string;
5
+ targetRouteId?: string;
6
+ method: string;
7
+ path: string;
8
+ callCount: number;
9
+ avgResponseTimeMs?: number;
10
+ p95ResponseTimeMs?: number;
11
+ p99ResponseTimeMs?: number;
12
+ successCount: number;
13
+ errorCount: number;
14
+ errorRate: number;
15
+ requestFrequency?: number;
16
+ peakTime?: string;
17
+ firstSeen: Date;
18
+ lastSeen: Date;
19
+ sampleTraceIds?: string[];
20
+ metadata?: Record<string, unknown>;
21
+ }
22
+ //# sourceMappingURL=connection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connection.d.ts","sourceRoot":"","sources":["../../src/types/connection.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,UAAU;IAEzB,EAAE,EAAE,MAAM,CAAC;IAGX,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;IAGxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IAGb,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAG3B,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAGlB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAGlB,SAAS,EAAE,IAAI,CAAC;IAChB,QAAQ,EAAE,IAAI,CAAC;IAGf,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAG1B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=connection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"connection.js","sourceRoot":"","sources":["../../src/types/connection.ts"],"names":[],"mappings":""}
@@ -0,0 +1,35 @@
1
+ export interface Dependency {
2
+ id: string;
3
+ serviceId: string;
4
+ packageName: string;
5
+ version: string;
6
+ versionRange?: string;
7
+ dependencyType: DependencyType;
8
+ scope?: string;
9
+ installedSize?: number;
10
+ publishSize?: number;
11
+ fileCount?: number;
12
+ hasVulnerabilities?: boolean;
13
+ vulnerabilityCount?: number;
14
+ highestSeverity?: VulnerabilitySeverity;
15
+ description?: string;
16
+ license?: string;
17
+ repository?: string;
18
+ homepage?: string;
19
+ firstSeen: Date;
20
+ lastSeen: Date;
21
+ metadata?: Record<string, unknown>;
22
+ }
23
+ export declare enum DependencyType {
24
+ Direct = "direct",
25
+ Transitive = "transitive",
26
+ Peer = "peer",
27
+ Dev = "dev"
28
+ }
29
+ export declare enum VulnerabilitySeverity {
30
+ Critical = "critical",
31
+ High = "high",
32
+ Medium = "medium",
33
+ Low = "low"
34
+ }
35
+ //# sourceMappingURL=dependency.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dependency.d.ts","sourceRoot":"","sources":["../../src/types/dependency.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,UAAU;IAEzB,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAGlB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IAGtB,cAAc,EAAE,cAAc,CAAC;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;IAGf,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IAGnB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,eAAe,CAAC,EAAE,qBAAqB,CAAC;IAGxC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAGlB,SAAS,EAAE,IAAI,CAAC;IAChB,QAAQ,EAAE,IAAI,CAAC;IAGf,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAKD,oBAAY,cAAc;IACxB,MAAM,WAAW;IACjB,UAAU,eAAe;IACzB,IAAI,SAAS;IACb,GAAG,QAAQ;CACZ;AAKD,oBAAY,qBAAqB;IAC/B,QAAQ,aAAa;IACrB,IAAI,SAAS;IACb,MAAM,WAAW;IACjB,GAAG,QAAQ;CACZ"}
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.VulnerabilitySeverity = exports.DependencyType = void 0;
4
+ var DependencyType;
5
+ (function (DependencyType) {
6
+ DependencyType["Direct"] = "direct";
7
+ DependencyType["Transitive"] = "transitive";
8
+ DependencyType["Peer"] = "peer";
9
+ DependencyType["Dev"] = "dev";
10
+ })(DependencyType || (exports.DependencyType = DependencyType = {}));
11
+ var VulnerabilitySeverity;
12
+ (function (VulnerabilitySeverity) {
13
+ VulnerabilitySeverity["Critical"] = "critical";
14
+ VulnerabilitySeverity["High"] = "high";
15
+ VulnerabilitySeverity["Medium"] = "medium";
16
+ VulnerabilitySeverity["Low"] = "low";
17
+ })(VulnerabilitySeverity || (exports.VulnerabilitySeverity = VulnerabilitySeverity = {}));
18
+ //# sourceMappingURL=dependency.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dependency.js","sourceRoot":"","sources":["../../src/types/dependency.ts"],"names":[],"mappings":";;;AA4CA,IAAY,cAKX;AALD,WAAY,cAAc;IACxB,mCAAiB,CAAA;IACjB,2CAAyB,CAAA;IACzB,+BAAa,CAAA;IACb,6BAAW,CAAA;AACb,CAAC,EALW,cAAc,8BAAd,cAAc,QAKzB;AAKD,IAAY,qBAKX;AALD,WAAY,qBAAqB;IAC/B,8CAAqB,CAAA;IACrB,sCAAa,CAAA;IACb,0CAAiB,CAAA;IACjB,oCAAW,CAAA;AACb,CAAC,EALW,qBAAqB,qCAArB,qBAAqB,QAKhC"}
@@ -0,0 +1,11 @@
1
+ export * from './service';
2
+ export * from './route';
3
+ export * from './dependency';
4
+ export * from './connection';
5
+ export * from './plugin';
6
+ export interface ServiceMetadataSubmission {
7
+ service: import('./service').Service;
8
+ routes?: import('./route').Route[];
9
+ dependencies?: import('./dependency').Dependency[];
10
+ }
11
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAIA,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AAMzB,MAAM,WAAW,yBAAyB;IACxC,OAAO,EAAE,OAAO,WAAW,EAAE,OAAO,CAAC;IACrC,MAAM,CAAC,EAAE,OAAO,SAAS,EAAE,KAAK,EAAE,CAAC;IACnC,YAAY,CAAC,EAAE,OAAO,cAAc,EAAE,UAAU,EAAE,CAAC;CACpD"}
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./service"), exports);
5
+ tslib_1.__exportStar(require("./route"), exports);
6
+ tslib_1.__exportStar(require("./dependency"), exports);
7
+ tslib_1.__exportStar(require("./connection"), exports);
8
+ tslib_1.__exportStar(require("./plugin"), exports);
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":";;;AAIA,oDAA0B;AAC1B,kDAAwB;AACxB,uDAA6B;AAC7B,uDAA6B;AAC7B,mDAAyB"}
@@ -0,0 +1,20 @@
1
+ export interface Plugin {
2
+ id: string;
3
+ name: string;
4
+ version: string;
5
+ supportedFrameworks: string[];
6
+ supportedSchemaVersions: string[];
7
+ preferredSchemaVersion: string;
8
+ canDiscoverRoutes: boolean;
9
+ canDiscoverDependencies: boolean;
10
+ canTrackConnections: boolean;
11
+ description?: string;
12
+ author?: string;
13
+ repository?: string;
14
+ documentation?: string;
15
+ servicesUsing?: number;
16
+ registeredAt: Date;
17
+ lastUsed?: Date;
18
+ metadata?: Record<string, unknown>;
19
+ }
20
+ //# sourceMappingURL=plugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../src/types/plugin.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,MAAM;IAErB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAGhB,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,uBAAuB,EAAE,MAAM,EAAE,CAAC;IAClC,sBAAsB,EAAE,MAAM,CAAC;IAG/B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,uBAAuB,EAAE,OAAO,CAAC;IACjC,mBAAmB,EAAE,OAAO,CAAC;IAG7B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IAGvB,aAAa,CAAC,EAAE,MAAM,CAAC;IAGvB,YAAY,EAAE,IAAI,CAAC;IACnB,QAAQ,CAAC,EAAE,IAAI,CAAC;IAGhB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=plugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../src/types/plugin.ts"],"names":[],"mappings":""}
@@ -0,0 +1,49 @@
1
+ export interface Route {
2
+ id: string;
3
+ serviceId: string;
4
+ method: HttpMethod;
5
+ path: string;
6
+ middlewareChain?: string[];
7
+ handlerLocation?: HandlerLocation;
8
+ pathParameters?: RouteParameter[];
9
+ queryParameters?: RouteParameter[];
10
+ requestSchema?: JSONSchema;
11
+ responseSchema?: JSONSchema;
12
+ description?: string;
13
+ tags?: string[];
14
+ avgResponseTimeMs?: number;
15
+ callFrequency?: number;
16
+ errorRate?: number;
17
+ firstSeen: Date;
18
+ lastSeen: Date;
19
+ metadata?: Record<string, unknown>;
20
+ }
21
+ export declare enum HttpMethod {
22
+ GET = "GET",
23
+ POST = "POST",
24
+ PUT = "PUT",
25
+ PATCH = "PATCH",
26
+ DELETE = "DELETE",
27
+ HEAD = "HEAD",
28
+ OPTIONS = "OPTIONS",
29
+ ALL = "ALL"
30
+ }
31
+ export interface HandlerLocation {
32
+ file: string;
33
+ line?: number;
34
+ function?: string;
35
+ }
36
+ export interface RouteParameter {
37
+ name: string;
38
+ type?: 'string' | 'number' | 'boolean' | 'object' | 'array';
39
+ required: boolean;
40
+ description?: string;
41
+ example?: unknown;
42
+ }
43
+ export interface JSONSchema {
44
+ type: string;
45
+ properties?: Record<string, JSONSchema>;
46
+ required?: string[];
47
+ [key: string]: unknown;
48
+ }
49
+ //# sourceMappingURL=route.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../src/types/route.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,KAAK;IAEpB,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAGlB,MAAM,EAAE,UAAU,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IAGb,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,eAAe,CAAC,EAAE,eAAe,CAAC;IAGlC,cAAc,CAAC,EAAE,cAAc,EAAE,CAAC;IAClC,eAAe,CAAC,EAAE,cAAc,EAAE,CAAC;IAGnC,aAAa,CAAC,EAAE,UAAU,CAAC;IAC3B,cAAc,CAAC,EAAE,UAAU,CAAC;IAG5B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAGhB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IAGnB,SAAS,EAAE,IAAI,CAAC;IAChB,QAAQ,EAAE,IAAI,CAAC;IAGf,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAKD,oBAAY,UAAU;IACpB,GAAG,QAAQ;IACX,IAAI,SAAS;IACb,GAAG,QAAQ;IACX,KAAK,UAAU;IACf,MAAM,WAAW;IACjB,IAAI,SAAS;IACb,OAAO,YAAY;IACnB,GAAG,QAAQ;CACZ;AAKD,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAKD,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,OAAO,CAAC;IAC5D,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAKD,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACxC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB"}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.HttpMethod = void 0;
4
+ var HttpMethod;
5
+ (function (HttpMethod) {
6
+ HttpMethod["GET"] = "GET";
7
+ HttpMethod["POST"] = "POST";
8
+ HttpMethod["PUT"] = "PUT";
9
+ HttpMethod["PATCH"] = "PATCH";
10
+ HttpMethod["DELETE"] = "DELETE";
11
+ HttpMethod["HEAD"] = "HEAD";
12
+ HttpMethod["OPTIONS"] = "OPTIONS";
13
+ HttpMethod["ALL"] = "ALL";
14
+ })(HttpMethod || (exports.HttpMethod = HttpMethod = {}));
15
+ //# sourceMappingURL=route.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"route.js","sourceRoot":"","sources":["../../src/types/route.ts"],"names":[],"mappings":";;;AA4CA,IAAY,UASX;AATD,WAAY,UAAU;IACpB,yBAAW,CAAA;IACX,2BAAa,CAAA;IACb,yBAAW,CAAA;IACX,6BAAe,CAAA;IACf,+BAAiB,CAAA;IACjB,2BAAa,CAAA;IACb,iCAAmB,CAAA;IACnB,yBAAW,CAAA;AACb,CAAC,EATW,UAAU,0BAAV,UAAU,QASrB"}
@@ -0,0 +1,39 @@
1
+ export interface Service {
2
+ id: string;
3
+ name: string;
4
+ version?: string;
5
+ environment?: 'development' | 'staging' | 'production' | string;
6
+ deploymentType?: 'kubernetes' | 'docker' | 'serverless' | 'bare-metal';
7
+ language: string;
8
+ framework: string;
9
+ runtime?: string;
10
+ description?: string;
11
+ repository?: string;
12
+ healthCheckUrl?: string;
13
+ status: 'active' | 'inactive' | 'unknown';
14
+ firstSeen: Date;
15
+ lastSeen: Date;
16
+ discoveredBy: {
17
+ pluginName: string;
18
+ pluginVersion: string;
19
+ schemaVersion: string;
20
+ };
21
+ metadata?: Record<string, unknown>;
22
+ }
23
+ export declare enum ServiceStatus {
24
+ Active = "active",
25
+ Inactive = "inactive",
26
+ Unknown = "unknown"
27
+ }
28
+ export declare enum DeploymentType {
29
+ Kubernetes = "kubernetes",
30
+ Docker = "docker",
31
+ Serverless = "serverless",
32
+ BareMetal = "bare-metal"
33
+ }
34
+ export declare enum Environment {
35
+ Development = "development",
36
+ Staging = "staging",
37
+ Production = "production"
38
+ }
39
+ //# sourceMappingURL=service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../src/types/service.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,OAAO;IAEtB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IAGjB,WAAW,CAAC,EAAE,aAAa,GAAG,SAAS,GAAG,YAAY,GAAG,MAAM,CAAC;IAChE,cAAc,CAAC,EAAE,YAAY,GAAG,QAAQ,GAAG,YAAY,GAAG,YAAY,CAAC;IAGvE,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IAGjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IAGxB,MAAM,EAAE,QAAQ,GAAG,UAAU,GAAG,SAAS,CAAC;IAC1C,SAAS,EAAE,IAAI,CAAC;IAChB,QAAQ,EAAE,IAAI,CAAC;IAGf,YAAY,EAAE;QACZ,UAAU,EAAE,MAAM,CAAC;QACnB,aAAa,EAAE,MAAM,CAAC;QACtB,aAAa,EAAE,MAAM,CAAC;KACvB,CAAC;IAGF,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAKD,oBAAY,aAAa;IACvB,MAAM,WAAW;IACjB,QAAQ,aAAa;IACrB,OAAO,YAAY;CACpB;AAKD,oBAAY,cAAc;IACxB,UAAU,eAAe;IACzB,MAAM,WAAW;IACjB,UAAU,eAAe;IACzB,SAAS,eAAe;CACzB;AAKD,oBAAY,WAAW;IACrB,WAAW,gBAAgB;IAC3B,OAAO,YAAY;IACnB,UAAU,eAAe;CAC1B"}
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Environment = exports.DeploymentType = exports.ServiceStatus = void 0;
4
+ var ServiceStatus;
5
+ (function (ServiceStatus) {
6
+ ServiceStatus["Active"] = "active";
7
+ ServiceStatus["Inactive"] = "inactive";
8
+ ServiceStatus["Unknown"] = "unknown";
9
+ })(ServiceStatus || (exports.ServiceStatus = ServiceStatus = {}));
10
+ var DeploymentType;
11
+ (function (DeploymentType) {
12
+ DeploymentType["Kubernetes"] = "kubernetes";
13
+ DeploymentType["Docker"] = "docker";
14
+ DeploymentType["Serverless"] = "serverless";
15
+ DeploymentType["BareMetal"] = "bare-metal";
16
+ })(DeploymentType || (exports.DeploymentType = DeploymentType = {}));
17
+ var Environment;
18
+ (function (Environment) {
19
+ Environment["Development"] = "development";
20
+ Environment["Staging"] = "staging";
21
+ Environment["Production"] = "production";
22
+ })(Environment || (exports.Environment = Environment = {}));
23
+ //# sourceMappingURL=service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/types/service.ts"],"names":[],"mappings":";;;AA0CA,IAAY,aAIX;AAJD,WAAY,aAAa;IACvB,kCAAiB,CAAA;IACjB,sCAAqB,CAAA;IACrB,oCAAmB,CAAA;AACrB,CAAC,EAJW,aAAa,6BAAb,aAAa,QAIxB;AAKD,IAAY,cAKX;AALD,WAAY,cAAc;IACxB,2CAAyB,CAAA;IACzB,mCAAiB,CAAA;IACjB,2CAAyB,CAAA;IACzB,0CAAwB,CAAA;AAC1B,CAAC,EALW,cAAc,8BAAd,cAAc,QAKzB;AAKD,IAAY,WAIX;AAJD,WAAY,WAAW;IACrB,0CAA2B,CAAA;IAC3B,kCAAmB,CAAA;IACnB,wCAAyB,CAAA;AAC3B,CAAC,EAJW,WAAW,2BAAX,WAAW,QAItB"}
@@ -0,0 +1,4 @@
1
+ export declare const generateId: () => string;
2
+ export declare const generateTraceId: () => string;
3
+ export declare const isValidId: (id: string) => boolean;
4
+ //# sourceMappingURL=id-generator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"id-generator.d.ts","sourceRoot":"","sources":["../../src/utils/id-generator.ts"],"names":[],"mappings":"AAUA,eAAO,MAAM,UAAU,QAAO,MAE7B,CAAC;AAKF,eAAO,MAAM,eAAe,QAAO,MAElC,CAAC;AAKF,eAAO,MAAM,SAAS,GAAI,IAAI,MAAM,KAAG,OAGtC,CAAC"}
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isValidId = exports.generateTraceId = exports.generateId = void 0;
4
+ const cuid2_1 = require("@paralleldrive/cuid2");
5
+ const createId = (0, cuid2_1.init)({
6
+ length: 24,
7
+ });
8
+ const generateId = () => {
9
+ return createId();
10
+ };
11
+ exports.generateId = generateId;
12
+ const generateTraceId = () => {
13
+ return createId();
14
+ };
15
+ exports.generateTraceId = generateTraceId;
16
+ const isValidId = (id) => {
17
+ return /^[a-z0-9]{24}$/.test(id);
18
+ };
19
+ exports.isValidId = isValidId;
20
+ //# sourceMappingURL=id-generator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"id-generator.js","sourceRoot":"","sources":["../../src/utils/id-generator.ts"],"names":[],"mappings":";;;AAAA,gDAA4C;AAM5C,MAAM,QAAQ,GAAG,IAAA,YAAI,EAAC;IACpB,MAAM,EAAE,EAAE;CACX,CAAC,CAAC;AAEI,MAAM,UAAU,GAAG,GAAW,EAAE;IACrC,OAAO,QAAQ,EAAE,CAAC;AACpB,CAAC,CAAC;AAFW,QAAA,UAAU,cAErB;AAKK,MAAM,eAAe,GAAG,GAAW,EAAE;IAC1C,OAAO,QAAQ,EAAE,CAAC;AACpB,CAAC,CAAC;AAFW,QAAA,eAAe,mBAE1B;AAKK,MAAM,SAAS,GAAG,CAAC,EAAU,EAAW,EAAE;IAE/C,OAAO,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACnC,CAAC,CAAC;AAHW,QAAA,SAAS,aAGpB"}
@@ -0,0 +1,24 @@
1
+ import type { ServiceMetadataSubmission } from '../types';
2
+ export declare class SchemaValidator {
3
+ private ajv;
4
+ private validateService;
5
+ private validateRoute;
6
+ private validateDependency;
7
+ private validateConnection;
8
+ private validateSubmission;
9
+ constructor();
10
+ validateServiceMetadata(data: unknown): ValidationResult<ServiceMetadataSubmission>;
11
+ validateServiceObject(data: unknown): ValidationResult;
12
+ validateRouteObject(data: unknown): ValidationResult;
13
+ validateDependencyObject(data: unknown): ValidationResult;
14
+ validateConnectionObject(data: unknown): ValidationResult;
15
+ private formatErrors;
16
+ getSchemaVersion(): string;
17
+ }
18
+ export interface ValidationResult<T = unknown> {
19
+ valid: boolean;
20
+ data?: T;
21
+ errors?: string[];
22
+ }
23
+ export declare const schemaValidator: SchemaValidator;
24
+ //# sourceMappingURL=schema-validator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema-validator.d.ts","sourceRoot":"","sources":["../../src/validators/schema-validator.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,UAAU,CAAC;AAK1D,qBAAa,eAAe;IAC1B,OAAO,CAAC,GAAG,CAAM;IACjB,OAAO,CAAC,eAAe,CAA+B;IACtD,OAAO,CAAC,aAAa,CAA+B;IACpD,OAAO,CAAC,kBAAkB,CAA+B;IACzD,OAAO,CAAC,kBAAkB,CAA+B;IACzD,OAAO,CAAC,kBAAkB,CAA+B;;IAoCzD,uBAAuB,CAAC,IAAI,EAAE,OAAO,GAAG,gBAAgB,CAAC,yBAAyB,CAAC;IA0BnF,qBAAqB,CAAC,IAAI,EAAE,OAAO,GAAG,gBAAgB;IAuBtD,mBAAmB,CAAC,IAAI,EAAE,OAAO,GAAG,gBAAgB;IAuBpD,wBAAwB,CAAC,IAAI,EAAE,OAAO,GAAG,gBAAgB;IAuBzD,wBAAwB,CAAC,IAAI,EAAE,OAAO,GAAG,gBAAgB;IAuBzD,OAAO,CAAC,YAAY;IAWpB,gBAAgB,IAAI,MAAM;CAG3B;AAKD,MAAM,WAAW,gBAAgB,CAAC,CAAC,GAAG,OAAO;IAC3C,KAAK,EAAE,OAAO,CAAC;IACf,IAAI,CAAC,EAAE,CAAC,CAAC;IACT,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB;AAKD,eAAO,MAAM,eAAe,iBAAwB,CAAC"}
@@ -0,0 +1,137 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.schemaValidator = exports.SchemaValidator = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const ajv_1 = tslib_1.__importDefault(require("ajv"));
6
+ const ajv_formats_1 = tslib_1.__importDefault(require("ajv-formats"));
7
+ const schema_v1_json_1 = tslib_1.__importDefault(require("../../../../specs/001-service-discovery-and/contracts/schema-v1.json"));
8
+ class SchemaValidator {
9
+ ajv;
10
+ validateService;
11
+ validateRoute;
12
+ validateDependency;
13
+ validateConnection;
14
+ validateSubmission;
15
+ constructor() {
16
+ this.ajv = new ajv_1.default({
17
+ allErrors: true,
18
+ strict: false,
19
+ validateFormats: true,
20
+ });
21
+ (0, ajv_formats_1.default)(this.ajv);
22
+ if (schema_v1_json_1.default.definitions) {
23
+ this.ajv.addSchema(schema_v1_json_1.default);
24
+ this.validateService = this.ajv.compile({
25
+ $ref: `${schema_v1_json_1.default.$id}#/definitions/Service`
26
+ });
27
+ this.validateRoute = this.ajv.compile({
28
+ $ref: `${schema_v1_json_1.default.$id}#/definitions/Route`
29
+ });
30
+ this.validateDependency = this.ajv.compile({
31
+ $ref: `${schema_v1_json_1.default.$id}#/definitions/Dependency`
32
+ });
33
+ this.validateConnection = this.ajv.compile({
34
+ $ref: `${schema_v1_json_1.default.$id}#/definitions/Connection`
35
+ });
36
+ this.validateSubmission = this.ajv.compile({
37
+ $ref: `${schema_v1_json_1.default.$id}#/definitions/ServiceMetadataSubmission`
38
+ });
39
+ }
40
+ }
41
+ validateServiceMetadata(data) {
42
+ if (!this.validateSubmission) {
43
+ return {
44
+ valid: false,
45
+ errors: ['Schema validator not initialized'],
46
+ };
47
+ }
48
+ const valid = this.validateSubmission(data);
49
+ if (valid) {
50
+ return {
51
+ valid: true,
52
+ data: data,
53
+ };
54
+ }
55
+ return {
56
+ valid: false,
57
+ errors: this.formatErrors(this.validateSubmission.errors || []),
58
+ };
59
+ }
60
+ validateServiceObject(data) {
61
+ if (!this.validateService) {
62
+ return {
63
+ valid: false,
64
+ errors: ['Schema validator not initialized'],
65
+ };
66
+ }
67
+ const valid = this.validateService(data);
68
+ if (valid) {
69
+ return { valid: true, data };
70
+ }
71
+ return {
72
+ valid: false,
73
+ errors: this.formatErrors(this.validateService.errors || []),
74
+ };
75
+ }
76
+ validateRouteObject(data) {
77
+ if (!this.validateRoute) {
78
+ return {
79
+ valid: false,
80
+ errors: ['Schema validator not initialized'],
81
+ };
82
+ }
83
+ const valid = this.validateRoute(data);
84
+ if (valid) {
85
+ return { valid: true, data };
86
+ }
87
+ return {
88
+ valid: false,
89
+ errors: this.formatErrors(this.validateRoute.errors || []),
90
+ };
91
+ }
92
+ validateDependencyObject(data) {
93
+ if (!this.validateDependency) {
94
+ return {
95
+ valid: false,
96
+ errors: ['Schema validator not initialized'],
97
+ };
98
+ }
99
+ const valid = this.validateDependency(data);
100
+ if (valid) {
101
+ return { valid: true, data };
102
+ }
103
+ return {
104
+ valid: false,
105
+ errors: this.formatErrors(this.validateDependency.errors || []),
106
+ };
107
+ }
108
+ validateConnectionObject(data) {
109
+ if (!this.validateConnection) {
110
+ return {
111
+ valid: false,
112
+ errors: ['Schema validator not initialized'],
113
+ };
114
+ }
115
+ const valid = this.validateConnection(data);
116
+ if (valid) {
117
+ return { valid: true, data };
118
+ }
119
+ return {
120
+ valid: false,
121
+ errors: this.formatErrors(this.validateConnection.errors || []),
122
+ };
123
+ }
124
+ formatErrors(errors) {
125
+ return errors.map((error) => {
126
+ const path = error.instancePath || 'root';
127
+ const message = error.message || 'validation failed';
128
+ return `${path}: ${message}`;
129
+ });
130
+ }
131
+ getSchemaVersion() {
132
+ return schema_v1_json_1.default.version;
133
+ }
134
+ }
135
+ exports.SchemaValidator = SchemaValidator;
136
+ exports.schemaValidator = new SchemaValidator();
137
+ //# sourceMappingURL=schema-validator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema-validator.js","sourceRoot":"","sources":["../../src/validators/schema-validator.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,37 @@
1
+ {
2
+ "name": "@caryyon/core",
3
+ "version": "0.1.0",
4
+ "description": "Core types, validators, and utilities for Lattice",
5
+ "main": "dist/index.js",
6
+ "types": "dist/index.d.ts",
7
+ "scripts": {
8
+ "build": "tsc",
9
+ "dev": "tsc --watch",
10
+ "test": "vitest run",
11
+ "test:watch": "vitest",
12
+ "lint": "eslint src --ext .ts",
13
+ "clean": "rm -rf dist"
14
+ },
15
+ "dependencies": {
16
+ "@paralleldrive/cuid2": "^2.2.2",
17
+ "ajv": "^8.12.0",
18
+ "ajv-formats": "^2.1.1",
19
+ "tslib": "^2.6.2"
20
+ },
21
+ "devDependencies": {
22
+ "@types/node": "^20.10.0",
23
+ "typescript": "^5.3.0",
24
+ "vitest": "^1.0.0"
25
+ },
26
+ "files": [
27
+ "dist"
28
+ ],
29
+ "publishConfig": {
30
+ "access": "public"
31
+ },
32
+ "repository": {
33
+ "type": "git",
34
+ "url": "https://github.com/Caryyon/lattice.git",
35
+ "directory": "packages/core"
36
+ }
37
+ }