@cwygoda/service-catalog-core 2.1.0 → 3.0.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 (76) hide show
  1. package/dist/adapters/index.d.ts +2 -2
  2. package/dist/adapters/index.d.ts.map +1 -1
  3. package/dist/adapters/index.js +2 -2
  4. package/dist/adapters/index.js.map +1 -1
  5. package/dist/adapters/loaders/filesystem.loader.d.ts.map +1 -1
  6. package/dist/adapters/loaders/filesystem.loader.js +15 -4
  7. package/dist/adapters/loaders/filesystem.loader.js.map +1 -1
  8. package/dist/adapters/loaders/filesystem.loader.test.js +73 -2
  9. package/dist/adapters/loaders/filesystem.loader.test.js.map +1 -1
  10. package/dist/adapters/parsers/sidecar.transforms.d.ts +25 -2
  11. package/dist/adapters/parsers/sidecar.transforms.d.ts.map +1 -1
  12. package/dist/adapters/parsers/sidecar.transforms.js +24 -2
  13. package/dist/adapters/parsers/sidecar.transforms.js.map +1 -1
  14. package/dist/adapters/parsers/toml.parser.d.ts +3 -1
  15. package/dist/adapters/parsers/toml.parser.d.ts.map +1 -1
  16. package/dist/adapters/parsers/toml.parser.js +19 -2
  17. package/dist/adapters/parsers/toml.parser.js.map +1 -1
  18. package/dist/adapters/parsers/toml.parser.test.js +53 -3
  19. package/dist/adapters/parsers/toml.parser.test.js.map +1 -1
  20. package/dist/adapters/parsers/yaml.parser.d.ts +3 -1
  21. package/dist/adapters/parsers/yaml.parser.d.ts.map +1 -1
  22. package/dist/adapters/parsers/yaml.parser.js +10 -2
  23. package/dist/adapters/parsers/yaml.parser.js.map +1 -1
  24. package/dist/adapters/parsers/yaml.parser.test.js +79 -1
  25. package/dist/adapters/parsers/yaml.parser.test.js.map +1 -1
  26. package/dist/adapters/persistence/json.writer.test.js +6 -1
  27. package/dist/adapters/persistence/json.writer.test.js.map +1 -1
  28. package/dist/domain/catalog.d.ts +7 -1
  29. package/dist/domain/catalog.d.ts.map +1 -1
  30. package/dist/domain/catalog.js +14 -2
  31. package/dist/domain/catalog.js.map +1 -1
  32. package/dist/domain/catalog.test.js +78 -1
  33. package/dist/domain/catalog.test.js.map +1 -1
  34. package/dist/domain/data-store.d.ts +23 -0
  35. package/dist/domain/data-store.d.ts.map +1 -0
  36. package/dist/domain/data-store.js +42 -0
  37. package/dist/domain/data-store.js.map +1 -0
  38. package/dist/domain/data-store.test.d.ts +2 -0
  39. package/dist/domain/data-store.test.d.ts.map +1 -0
  40. package/dist/domain/data-store.test.js +93 -0
  41. package/dist/domain/data-store.test.js.map +1 -0
  42. package/dist/domain/index.d.ts +1 -0
  43. package/dist/domain/index.d.ts.map +1 -1
  44. package/dist/domain/index.js +1 -0
  45. package/dist/domain/index.js.map +1 -1
  46. package/dist/domain/service.d.ts +9 -3
  47. package/dist/domain/service.d.ts.map +1 -1
  48. package/dist/domain/service.js +3 -1
  49. package/dist/domain/service.js.map +1 -1
  50. package/dist/domain/service.test.js +7 -3
  51. package/dist/domain/service.test.js.map +1 -1
  52. package/dist/schemas/catalog.schema.d.ts +45 -7
  53. package/dist/schemas/catalog.schema.d.ts.map +1 -1
  54. package/dist/schemas/catalog.schema.js +18 -1
  55. package/dist/schemas/catalog.schema.js.map +1 -1
  56. package/dist/schemas/data-store.schema.d.ts +20 -0
  57. package/dist/schemas/data-store.schema.d.ts.map +1 -0
  58. package/dist/schemas/data-store.schema.js +22 -0
  59. package/dist/schemas/data-store.schema.js.map +1 -0
  60. package/dist/schemas/data-store.schema.test.d.ts +2 -0
  61. package/dist/schemas/data-store.schema.test.d.ts.map +1 -0
  62. package/dist/schemas/data-store.schema.test.js +68 -0
  63. package/dist/schemas/data-store.schema.test.js.map +1 -0
  64. package/dist/schemas/index.d.ts +1 -0
  65. package/dist/schemas/index.d.ts.map +1 -1
  66. package/dist/schemas/index.js +1 -0
  67. package/dist/schemas/index.js.map +1 -1
  68. package/dist/schemas/service.schema.d.ts +7 -3
  69. package/dist/schemas/service.schema.d.ts.map +1 -1
  70. package/dist/schemas/service.schema.js +6 -1
  71. package/dist/schemas/service.schema.js.map +1 -1
  72. package/dist/schemas/service.schema.test.js +10 -2
  73. package/dist/schemas/service.schema.test.js.map +1 -1
  74. package/dist/services/graph-builder.test.js +11 -0
  75. package/dist/services/graph-builder.test.js.map +1 -1
  76. package/package.json +1 -1
@@ -0,0 +1,42 @@
1
+ const VALID_TYPES = new Set(['database', 'cache', 'queue', 'search-index', 'object-store']);
2
+ export function isDataStore(value) {
3
+ if (typeof value !== 'object' || value === null)
4
+ return false;
5
+ const obj = value;
6
+ // Required fields
7
+ if (typeof obj['id'] !== 'string')
8
+ return false;
9
+ if (typeof obj['name'] !== 'string')
10
+ return false;
11
+ if (typeof obj['description'] !== 'string')
12
+ return false;
13
+ if (typeof obj['type'] !== 'string' || !VALID_TYPES.has(obj['type']))
14
+ return false;
15
+ // Optional fields
16
+ if ('domain' in obj && obj['domain'] !== undefined && typeof obj['domain'] !== 'string') {
17
+ return false;
18
+ }
19
+ if ('owner' in obj && obj['owner'] !== undefined && typeof obj['owner'] !== 'string') {
20
+ return false;
21
+ }
22
+ if ('technology' in obj &&
23
+ obj['technology'] !== undefined &&
24
+ typeof obj['technology'] !== 'string') {
25
+ return false;
26
+ }
27
+ return true;
28
+ }
29
+ export function createDataStore(id, name, description, type, options) {
30
+ return {
31
+ id,
32
+ name,
33
+ description,
34
+ type,
35
+ ...(options?.domain !== undefined && { domain: options.domain }),
36
+ ...(options?.owner !== undefined && { owner: options.owner }),
37
+ ...(options?.technology !== undefined && { technology: options.technology }),
38
+ ...(options?.links !== undefined && { links: options.links }),
39
+ ...(options?.content !== undefined && { content: options.content }),
40
+ };
41
+ }
42
+ //# sourceMappingURL=data-store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-store.js","sourceRoot":"","sources":["../../src/domain/data-store.ts"],"names":[],"mappings":"AAgBA,MAAM,WAAW,GAAG,IAAI,GAAG,CAAS,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,cAAc,CAAC,CAAC,CAAC;AAEpG,MAAM,UAAU,WAAW,CAAC,KAAc;IACxC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IAC9D,MAAM,GAAG,GAAG,KAAgC,CAAC;IAE7C,kBAAkB;IAClB,IAAI,OAAO,GAAG,CAAC,IAAI,CAAC,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAChD,IAAI,OAAO,GAAG,CAAC,MAAM,CAAC,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAClD,IAAI,OAAO,GAAG,CAAC,aAAa,CAAC,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IACzD,IAAI,OAAO,GAAG,CAAC,MAAM,CAAC,KAAK,QAAQ,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IAEnF,kBAAkB;IAClB,IAAI,QAAQ,IAAI,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,KAAK,SAAS,IAAI,OAAO,GAAG,CAAC,QAAQ,CAAC,KAAK,QAAQ,EAAE,CAAC;QACxF,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,OAAO,IAAI,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,KAAK,SAAS,IAAI,OAAO,GAAG,CAAC,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;QACrF,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IACE,YAAY,IAAI,GAAG;QACnB,GAAG,CAAC,YAAY,CAAC,KAAK,SAAS;QAC/B,OAAO,GAAG,CAAC,YAAY,CAAC,KAAK,QAAQ,EACrC,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAUD,MAAM,UAAU,eAAe,CAC7B,EAAU,EACV,IAAY,EACZ,WAAmB,EACnB,IAAmB,EACnB,OAAgC;IAEhC,OAAO;QACL,EAAE;QACF,IAAI;QACJ,WAAW;QACX,IAAI;QACJ,GAAG,CAAC,OAAO,EAAE,MAAM,KAAK,SAAS,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;QAChE,GAAG,CAAC,OAAO,EAAE,KAAK,KAAK,SAAS,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC;QAC7D,GAAG,CAAC,OAAO,EAAE,UAAU,KAAK,SAAS,IAAI,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC;QAC5E,GAAG,CAAC,OAAO,EAAE,KAAK,KAAK,SAAS,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,CAAC;QAC7D,GAAG,CAAC,OAAO,EAAE,OAAO,KAAK,SAAS,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC;KACpE,CAAC;AACJ,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data-store.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-store.test.d.ts","sourceRoot":"","sources":["../../src/domain/data-store.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,93 @@
1
+ import { describe, it, expect } from 'vitest';
2
+ import { isDataStore, createDataStore } from './data-store.js';
3
+ describe('DataStore', () => {
4
+ describe('isDataStore', () => {
5
+ it('returns true for valid data store', () => {
6
+ const ds = {
7
+ id: 'orders-db',
8
+ name: 'Orders DB',
9
+ description: 'Primary database',
10
+ type: 'database',
11
+ };
12
+ expect(isDataStore(ds)).toBe(true);
13
+ });
14
+ it('validates all types', () => {
15
+ const types = ['database', 'cache', 'queue', 'search-index', 'object-store'];
16
+ for (const type of types) {
17
+ expect(isDataStore({ id: 'test', name: 'Test', description: 'Desc', type })).toBe(true);
18
+ }
19
+ });
20
+ it('returns false for missing id', () => {
21
+ expect(isDataStore({ name: 'Test', description: 'Desc', type: 'database' })).toBe(false);
22
+ });
23
+ it('returns false for missing name', () => {
24
+ expect(isDataStore({ id: 'test', description: 'Desc', type: 'database' })).toBe(false);
25
+ });
26
+ it('returns false for missing description', () => {
27
+ expect(isDataStore({ id: 'test', name: 'Test', type: 'database' })).toBe(false);
28
+ });
29
+ it('returns false for missing type', () => {
30
+ expect(isDataStore({ id: 'test', name: 'Test', description: 'Desc' })).toBe(false);
31
+ });
32
+ it('returns false for invalid type', () => {
33
+ expect(isDataStore({ id: 'test', name: 'Test', description: 'Desc', type: 'nosql' })).toBe(false);
34
+ });
35
+ it('returns false for non-object', () => {
36
+ expect(isDataStore(null)).toBe(false);
37
+ expect(isDataStore('string')).toBe(false);
38
+ expect(isDataStore(42)).toBe(false);
39
+ });
40
+ it('returns false for non-string optional fields', () => {
41
+ const base = { id: 'test', name: 'Test', description: 'Desc', type: 'database' };
42
+ expect(isDataStore({ ...base, domain: 42 })).toBe(false);
43
+ expect(isDataStore({ ...base, owner: 42 })).toBe(false);
44
+ expect(isDataStore({ ...base, technology: 42 })).toBe(false);
45
+ });
46
+ it('accepts valid optional fields', () => {
47
+ expect(isDataStore({
48
+ id: 'test',
49
+ name: 'Test',
50
+ description: 'Desc',
51
+ type: 'database',
52
+ domain: 'commerce',
53
+ owner: 'order-service',
54
+ technology: 'PostgreSQL',
55
+ })).toBe(true);
56
+ });
57
+ });
58
+ describe('createDataStore', () => {
59
+ it('creates data store with required fields only', () => {
60
+ const ds = createDataStore('orders-db', 'Orders DB', 'Primary database', 'database');
61
+ expect(ds).toEqual({
62
+ id: 'orders-db',
63
+ name: 'Orders DB',
64
+ description: 'Primary database',
65
+ type: 'database',
66
+ });
67
+ });
68
+ it('creates data store with all optional fields', () => {
69
+ const links = [{ url: 'https://dash.io', title: 'Dashboard' }];
70
+ const ds = createDataStore('orders-db', 'Orders DB', 'Primary database', 'database', {
71
+ domain: 'commerce',
72
+ owner: 'order-service',
73
+ technology: 'PostgreSQL',
74
+ links,
75
+ content: 'Some content',
76
+ });
77
+ expect(ds.domain).toBe('commerce');
78
+ expect(ds.owner).toBe('order-service');
79
+ expect(ds.technology).toBe('PostgreSQL');
80
+ expect(ds.links).toBe(links);
81
+ expect(ds.content).toBe('Some content');
82
+ });
83
+ it('omits optional fields when not provided', () => {
84
+ const ds = createDataStore('test', 'Test', 'Desc', 'cache');
85
+ expect('domain' in ds).toBe(false);
86
+ expect('owner' in ds).toBe(false);
87
+ expect('technology' in ds).toBe(false);
88
+ expect('links' in ds).toBe(false);
89
+ expect('content' in ds).toBe(false);
90
+ });
91
+ });
92
+ });
93
+ //# sourceMappingURL=data-store.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-store.test.js","sourceRoot":"","sources":["../../src/domain/data-store.test.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ export * from './service.js';
2
2
  export * from './catalog.js';
3
3
  export * from './use-case.js';
4
4
  export * from './domain.js';
5
+ export * from './data-store.js';
5
6
  export * from './connection.js';
6
7
  export * from './graph.js';
7
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/domain/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/domain/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC"}
@@ -2,6 +2,7 @@ export * from './service.js';
2
2
  export * from './catalog.js';
3
3
  export * from './use-case.js';
4
4
  export * from './domain.js';
5
+ export * from './data-store.js';
5
6
  export * from './connection.js';
6
7
  export * from './graph.js';
7
8
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/domain/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/domain/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC"}
@@ -1,5 +1,9 @@
1
1
  import type { Connection } from './connection.js';
2
- export type ServiceType = 'web-service' | 'event-consumer' | 'event-producer' | 'web-app' | 'library';
2
+ export type ServiceType = 'web-service' | 'event-consumer' | 'event-producer' | 'event-transformer' | 'web-app' | 'library';
3
+ export interface DataStoreConnection {
4
+ target: string;
5
+ access: 'r' | 'rw';
6
+ }
3
7
  export type Lifecycle = 'experimental' | 'active' | 'deprecated' | 'sunset';
4
8
  export type Tier = 'critical' | 'standard' | 'internal';
5
9
  export interface Link {
@@ -32,7 +36,8 @@ export interface Service {
32
36
  tier?: Tier;
33
37
  contacts?: Contact[];
34
38
  language?: string[];
35
- framework?: string;
39
+ frameworks?: string[];
40
+ dataStores?: DataStoreConnection[];
36
41
  specs?: SpecSummary[];
37
42
  connections?: Connection[];
38
43
  content?: string;
@@ -49,7 +54,8 @@ export interface CreateServiceOptions {
49
54
  tier?: Tier;
50
55
  contacts?: Contact[];
51
56
  language?: string[];
52
- framework?: string;
57
+ frameworks?: string[];
58
+ dataStores?: DataStoreConnection[];
53
59
  specs?: SpecSummary[];
54
60
  connections?: Connection[];
55
61
  content?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../src/domain/service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAElD,MAAM,MAAM,WAAW,GACnB,aAAa,GACb,gBAAgB,GAChB,gBAAgB,GAChB,SAAS,GACT,SAAS,CAAC;AACd,MAAM,MAAM,SAAS,GAAG,cAAc,GAAG,QAAQ,GAAG,YAAY,GAAG,QAAQ,CAAC;AAC5E,MAAM,MAAM,IAAI,GAAG,UAAU,GAAG,UAAU,GAAG,UAAU,CAAC;AAExD,MAAM,WAAW,IAAI;IACnB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,SAAS,GAAG,UAAU,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,WAAW,CAAC;IAClB,SAAS,EAAE,SAAS,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,WAAW,EAAE,CAAC;IACtB,WAAW,CAAC,EAAE,UAAU,EAAE,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAcD,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,OAAO,CAuB1D;AAED,MAAM,WAAW,oBAAoB;IACnC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,WAAW,EAAE,CAAC;IACtB,WAAW,CAAC,EAAE,UAAU,EAAE,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,wBAAgB,aAAa,CAC3B,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAoBT"}
1
+ {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../src/domain/service.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@ const VALID_TYPES = new Set([
3
3
  'web-service',
4
4
  'event-consumer',
5
5
  'event-producer',
6
+ 'event-transformer',
6
7
  'web-app',
7
8
  'library',
8
9
  ]);
@@ -50,7 +51,8 @@ export function createService(id, name, description, options) {
50
51
  ...(options?.tier !== undefined && { tier: options.tier }),
51
52
  ...(options?.contacts !== undefined && { contacts: options.contacts }),
52
53
  ...(options?.language !== undefined && { language: options.language }),
53
- ...(options?.framework !== undefined && { framework: options.framework }),
54
+ ...(options?.frameworks !== undefined && { frameworks: options.frameworks }),
55
+ ...(options?.dataStores !== undefined && { dataStores: options.dataStores }),
54
56
  ...(options?.specs !== undefined && { specs: options.specs }),
55
57
  ...(options?.connections !== undefined && { connections: options.connections }),
56
58
  ...(options?.content !== undefined && { content: options.content }),
@@ -1 +1 @@
1
- {"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/domain/service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"service.js","sourceRoot":"","sources":["../../src/domain/service.ts"],"names":[],"mappings":"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"}
@@ -17,6 +17,7 @@ describe('Service', () => {
17
17
  'web-service',
18
18
  'event-consumer',
19
19
  'event-producer',
20
+ 'event-transformer',
20
21
  'web-app',
21
22
  'library',
22
23
  ]) {
@@ -139,7 +140,8 @@ describe('Service', () => {
139
140
  tier: 'critical',
140
141
  contacts: [{ type: 'slack', value: '#eng' }],
141
142
  language: ['typescript'],
142
- framework: 'nestjs',
143
+ frameworks: ['nestjs'],
144
+ dataStores: [{ target: 'orders-db', access: 'rw' }],
143
145
  connections: [{ target: 'other', type: 'http' }],
144
146
  content: 'Rich description',
145
147
  });
@@ -150,7 +152,8 @@ describe('Service', () => {
150
152
  expect(service.tier).toBe('critical');
151
153
  expect(service.contacts).toHaveLength(1);
152
154
  expect(service.language).toEqual(['typescript']);
153
- expect(service.framework).toBe('nestjs');
155
+ expect(service.frameworks).toEqual(['nestjs']);
156
+ expect(service.dataStores).toEqual([{ target: 'orders-db', access: 'rw' }]);
154
157
  expect(service.connections).toHaveLength(1);
155
158
  expect(service.content).toBe('Rich description');
156
159
  });
@@ -167,7 +170,8 @@ describe('Service', () => {
167
170
  expect('tier' in service).toBe(false);
168
171
  expect('contacts' in service).toBe(false);
169
172
  expect('language' in service).toBe(false);
170
- expect('framework' in service).toBe(false);
173
+ expect('frameworks' in service).toBe(false);
174
+ expect('dataStores' in service).toBe(false);
171
175
  expect('specs' in service).toBe(false);
172
176
  expect('connections' in service).toBe(false);
173
177
  expect('content' in service).toBe(false);
@@ -1 +1 @@
1
- {"version":3,"file":"service.test.js","sourceRoot":"","sources":["../../src/domain/service.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"service.test.js","sourceRoot":"","sources":["../../src/domain/service.test.ts"],"names":[],"mappings":"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"}
@@ -11,7 +11,7 @@ export declare const ServiceSchema: import("@sinclair/typebox").TObject<{
11
11
  name: import("@sinclair/typebox").TString;
12
12
  description: import("@sinclair/typebox").TString;
13
13
  domain: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
14
- type: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"web-service">, import("@sinclair/typebox").TLiteral<"event-consumer">, import("@sinclair/typebox").TLiteral<"event-producer">, import("@sinclair/typebox").TLiteral<"web-app">, import("@sinclair/typebox").TLiteral<"library">]>;
14
+ type: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"web-service">, import("@sinclair/typebox").TLiteral<"event-consumer">, import("@sinclair/typebox").TLiteral<"event-producer">, import("@sinclair/typebox").TLiteral<"event-transformer">, import("@sinclair/typebox").TLiteral<"web-app">, import("@sinclair/typebox").TLiteral<"library">]>;
15
15
  lifecycle: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"experimental">, import("@sinclair/typebox").TLiteral<"active">, import("@sinclair/typebox").TLiteral<"deprecated">, import("@sinclair/typebox").TLiteral<"sunset">]>;
16
16
  owner: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
17
17
  tags: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
@@ -27,7 +27,11 @@ export declare const ServiceSchema: import("@sinclair/typebox").TObject<{
27
27
  value: import("@sinclair/typebox").TString;
28
28
  }>>>;
29
29
  language: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
30
- framework: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
30
+ frameworks: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
31
+ dataStores: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
32
+ target: import("@sinclair/typebox").TString;
33
+ access: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"r">, import("@sinclair/typebox").TLiteral<"rw">]>;
34
+ }>>>;
31
35
  specs: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
32
36
  type: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"openapi">, import("@sinclair/typebox").TLiteral<"asyncapi">]>;
33
37
  version: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
@@ -80,7 +84,7 @@ export declare const GraphNodeSchema: import("@sinclair/typebox").TObject<{
80
84
  id: import("@sinclair/typebox").TString;
81
85
  name: import("@sinclair/typebox").TString;
82
86
  domain: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
83
- type: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"web-service">, import("@sinclair/typebox").TLiteral<"event-consumer">, import("@sinclair/typebox").TLiteral<"event-producer">, import("@sinclair/typebox").TLiteral<"web-app">, import("@sinclair/typebox").TLiteral<"library">]>>;
87
+ type: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"web-service">, import("@sinclair/typebox").TLiteral<"event-consumer">, import("@sinclair/typebox").TLiteral<"event-producer">, import("@sinclair/typebox").TLiteral<"event-transformer">, import("@sinclair/typebox").TLiteral<"web-app">, import("@sinclair/typebox").TLiteral<"library">]>>;
84
88
  lifecycle: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"experimental">, import("@sinclair/typebox").TLiteral<"active">, import("@sinclair/typebox").TLiteral<"deprecated">, import("@sinclair/typebox").TLiteral<"sunset">]>>;
85
89
  }>;
86
90
  export declare const GraphEdgeSchema: import("@sinclair/typebox").TObject<{
@@ -95,7 +99,7 @@ export declare const ServiceGraphSchema: import("@sinclair/typebox").TObject<{
95
99
  id: import("@sinclair/typebox").TString;
96
100
  name: import("@sinclair/typebox").TString;
97
101
  domain: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
98
- type: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"web-service">, import("@sinclair/typebox").TLiteral<"event-consumer">, import("@sinclair/typebox").TLiteral<"event-producer">, import("@sinclair/typebox").TLiteral<"web-app">, import("@sinclair/typebox").TLiteral<"library">]>>;
102
+ type: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"web-service">, import("@sinclair/typebox").TLiteral<"event-consumer">, import("@sinclair/typebox").TLiteral<"event-producer">, import("@sinclair/typebox").TLiteral<"event-transformer">, import("@sinclair/typebox").TLiteral<"web-app">, import("@sinclair/typebox").TLiteral<"library">]>>;
99
103
  lifecycle: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"experimental">, import("@sinclair/typebox").TLiteral<"active">, import("@sinclair/typebox").TLiteral<"deprecated">, import("@sinclair/typebox").TLiteral<"sunset">]>>;
100
104
  }>>;
101
105
  edges: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
@@ -106,13 +110,28 @@ export declare const ServiceGraphSchema: import("@sinclair/typebox").TObject<{
106
110
  events: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
107
111
  }>>;
108
112
  }>;
113
+ export declare const DataStoreOutputSchema: import("@sinclair/typebox").TObject<{
114
+ id: import("@sinclair/typebox").TString;
115
+ name: import("@sinclair/typebox").TString;
116
+ description: import("@sinclair/typebox").TString;
117
+ type: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"database">, import("@sinclair/typebox").TLiteral<"cache">, import("@sinclair/typebox").TLiteral<"queue">, import("@sinclair/typebox").TLiteral<"search-index">, import("@sinclair/typebox").TLiteral<"object-store">]>;
118
+ domain: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
119
+ owner: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
120
+ technology: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
121
+ links: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
122
+ url: import("@sinclair/typebox").TString;
123
+ title: import("@sinclair/typebox").TString;
124
+ type: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
125
+ }>>>;
126
+ content: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
127
+ }>;
109
128
  export declare const CatalogSchema: import("@sinclair/typebox").TObject<{
110
129
  services: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
111
130
  id: import("@sinclair/typebox").TString;
112
131
  name: import("@sinclair/typebox").TString;
113
132
  description: import("@sinclair/typebox").TString;
114
133
  domain: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
115
- type: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"web-service">, import("@sinclair/typebox").TLiteral<"event-consumer">, import("@sinclair/typebox").TLiteral<"event-producer">, import("@sinclair/typebox").TLiteral<"web-app">, import("@sinclair/typebox").TLiteral<"library">]>;
134
+ type: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"web-service">, import("@sinclair/typebox").TLiteral<"event-consumer">, import("@sinclair/typebox").TLiteral<"event-producer">, import("@sinclair/typebox").TLiteral<"event-transformer">, import("@sinclair/typebox").TLiteral<"web-app">, import("@sinclair/typebox").TLiteral<"library">]>;
116
135
  lifecycle: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"experimental">, import("@sinclair/typebox").TLiteral<"active">, import("@sinclair/typebox").TLiteral<"deprecated">, import("@sinclair/typebox").TLiteral<"sunset">]>;
117
136
  owner: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
118
137
  tags: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
@@ -128,7 +147,11 @@ export declare const CatalogSchema: import("@sinclair/typebox").TObject<{
128
147
  value: import("@sinclair/typebox").TString;
129
148
  }>>>;
130
149
  language: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
131
- framework: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
150
+ frameworks: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
151
+ dataStores: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
152
+ target: import("@sinclair/typebox").TString;
153
+ access: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"r">, import("@sinclair/typebox").TLiteral<"rw">]>;
154
+ }>>>;
132
155
  specs: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
133
156
  type: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"openapi">, import("@sinclair/typebox").TLiteral<"asyncapi">]>;
134
157
  version: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
@@ -177,12 +200,27 @@ export declare const CatalogSchema: import("@sinclair/typebox").TObject<{
177
200
  description: import("@sinclair/typebox").TString;
178
201
  parent: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
179
202
  }>>;
203
+ dataStores: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
204
+ id: import("@sinclair/typebox").TString;
205
+ name: import("@sinclair/typebox").TString;
206
+ description: import("@sinclair/typebox").TString;
207
+ type: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"database">, import("@sinclair/typebox").TLiteral<"cache">, import("@sinclair/typebox").TLiteral<"queue">, import("@sinclair/typebox").TLiteral<"search-index">, import("@sinclair/typebox").TLiteral<"object-store">]>;
208
+ domain: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
209
+ owner: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
210
+ technology: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
211
+ links: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
212
+ url: import("@sinclair/typebox").TString;
213
+ title: import("@sinclair/typebox").TString;
214
+ type: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
215
+ }>>>;
216
+ content: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
217
+ }>>;
180
218
  graph: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
181
219
  nodes: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
182
220
  id: import("@sinclair/typebox").TString;
183
221
  name: import("@sinclair/typebox").TString;
184
222
  domain: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
185
- type: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"web-service">, import("@sinclair/typebox").TLiteral<"event-consumer">, import("@sinclair/typebox").TLiteral<"event-producer">, import("@sinclair/typebox").TLiteral<"web-app">, import("@sinclair/typebox").TLiteral<"library">]>>;
223
+ type: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"web-service">, import("@sinclair/typebox").TLiteral<"event-consumer">, import("@sinclair/typebox").TLiteral<"event-producer">, import("@sinclair/typebox").TLiteral<"event-transformer">, import("@sinclair/typebox").TLiteral<"web-app">, import("@sinclair/typebox").TLiteral<"library">]>>;
186
224
  lifecycle: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"experimental">, import("@sinclair/typebox").TLiteral<"active">, import("@sinclair/typebox").TLiteral<"deprecated">, import("@sinclair/typebox").TLiteral<"sunset">]>>;
187
225
  }>>;
188
226
  edges: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
@@ -1 +1 @@
1
- {"version":3,"file":"catalog.schema.d.ts","sourceRoot":"","sources":["../../src/schemas/catalog.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAgBtD,eAAO,MAAM,iBAAiB;;;;;;EAM5B,CAAC;AAEH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkBxB,CAAC;AAEH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;EAWxB,CAAC;AAEH,eAAO,MAAM,kBAAkB;;;;;EAK7B,CAAC;AAGH,eAAO,MAAM,eAAe;;;;;;EAM1B,CAAC;AAEH,eAAO,MAAM,eAAe;;;;;;EAM1B,CAAC;AAEH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;EAG7B,CAAC;AAEH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAKxB,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,aAAa,CAAC,CAAC"}
1
+ {"version":3,"file":"catalog.schema.d.ts","sourceRoot":"","sources":["../../src/schemas/catalog.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAiBtD,eAAO,MAAM,iBAAiB;;;;;;EAM5B,CAAC;AAEH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA0BxB,CAAC;AAEH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;EAWxB,CAAC;AAEH,eAAO,MAAM,kBAAkB;;;;;EAK7B,CAAC;AAGH,eAAO,MAAM,eAAe;;;;;;EAM1B,CAAC;AAEH,eAAO,MAAM,eAAe;;;;;;EAM1B,CAAC;AAEH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;EAG7B,CAAC;AAEH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;EAUhC,CAAC;AAEH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAMxB,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,aAAa,CAAC,CAAC"}
@@ -2,6 +2,7 @@ import { Type } from '@sinclair/typebox';
2
2
  import { ParticipantSchema, StepSchema, DocLinkSchema, ServiceRefSchema, } from './use-case.schema.js';
3
3
  import { ConnectionSchema } from './connection.schema.js';
4
4
  import { ServiceTypeSchema, LifecycleSchema, TierSchema, LinkSchema, ContactSchema, } from './service.schema.js';
5
+ import { DataStoreTypeSchema } from './data-store.schema.js';
5
6
  export const SpecSummarySchema = Type.Object({
6
7
  type: Type.Union([Type.Literal('openapi'), Type.Literal('asyncapi')]),
7
8
  version: Type.Optional(Type.String()),
@@ -23,7 +24,11 @@ export const ServiceSchema = Type.Object({
23
24
  tier: Type.Optional(TierSchema),
24
25
  contacts: Type.Optional(Type.Array(ContactSchema)),
25
26
  language: Type.Optional(Type.Array(Type.String())),
26
- framework: Type.Optional(Type.String()),
27
+ frameworks: Type.Optional(Type.Array(Type.String())),
28
+ dataStores: Type.Optional(Type.Array(Type.Object({
29
+ target: Type.String({ minLength: 1 }),
30
+ access: Type.Union([Type.Literal('r'), Type.Literal('rw')]),
31
+ }))),
27
32
  specs: Type.Optional(Type.Array(SpecSummarySchema)),
28
33
  connections: Type.Optional(Type.Array(ConnectionSchema)),
29
34
  content: Type.Optional(Type.String()),
@@ -65,10 +70,22 @@ export const ServiceGraphSchema = Type.Object({
65
70
  nodes: Type.Array(GraphNodeSchema),
66
71
  edges: Type.Array(GraphEdgeSchema),
67
72
  });
73
+ export const DataStoreOutputSchema = Type.Object({
74
+ id: Type.String({ minLength: 1 }),
75
+ name: Type.String({ minLength: 1 }),
76
+ description: Type.String(),
77
+ type: DataStoreTypeSchema,
78
+ domain: Type.Optional(Type.String({ minLength: 1 })),
79
+ owner: Type.Optional(Type.String({ minLength: 1 })),
80
+ technology: Type.Optional(Type.String({ minLength: 1 })),
81
+ links: Type.Optional(Type.Array(LinkSchema)),
82
+ content: Type.Optional(Type.String()),
83
+ });
68
84
  export const CatalogSchema = Type.Object({
69
85
  services: Type.Array(ServiceSchema),
70
86
  useCases: Type.Array(UseCaseSchema),
71
87
  domains: Type.Array(DomainOutputSchema),
88
+ dataStores: Type.Array(DataStoreOutputSchema),
72
89
  graph: Type.Optional(ServiceGraphSchema),
73
90
  });
74
91
  //# sourceMappingURL=catalog.schema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"catalog.schema.js","sourceRoot":"","sources":["../../src/schemas/catalog.schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"catalog.schema.js","sourceRoot":"","sources":["../../src/schemas/catalog.schema.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import { type Static } from '@sinclair/typebox';
2
+ export declare const DataStoreTypeSchema: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"database">, import("@sinclair/typebox").TLiteral<"cache">, import("@sinclair/typebox").TLiteral<"queue">, import("@sinclair/typebox").TLiteral<"search-index">, import("@sinclair/typebox").TLiteral<"object-store">]>;
3
+ export declare const DataStoreSidecarSchema: import("@sinclair/typebox").TObject<{
4
+ data_store: import("@sinclair/typebox").TObject<{
5
+ id: import("@sinclair/typebox").TString;
6
+ name: import("@sinclair/typebox").TString;
7
+ description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
8
+ type: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"database">, import("@sinclair/typebox").TLiteral<"cache">, import("@sinclair/typebox").TLiteral<"queue">, import("@sinclair/typebox").TLiteral<"search-index">, import("@sinclair/typebox").TLiteral<"object-store">]>;
9
+ domain: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
10
+ owner: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
11
+ technology: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
12
+ links: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
13
+ url: import("@sinclair/typebox").TString;
14
+ title: import("@sinclair/typebox").TString;
15
+ type: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
16
+ }>>>;
17
+ }>;
18
+ }>;
19
+ export type DataStoreSidecar = Static<typeof DataStoreSidecarSchema>;
20
+ //# sourceMappingURL=data-store.schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-store.schema.d.ts","sourceRoot":"","sources":["../../src/schemas/data-store.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAGtD,eAAO,MAAM,mBAAmB,kSAM9B,CAAC;AAEH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;EAWjC,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC,OAAO,sBAAsB,CAAC,CAAC"}
@@ -0,0 +1,22 @@
1
+ import { Type } from '@sinclair/typebox';
2
+ import { LinkSchema } from './service.schema.js';
3
+ export const DataStoreTypeSchema = Type.Union([
4
+ Type.Literal('database'),
5
+ Type.Literal('cache'),
6
+ Type.Literal('queue'),
7
+ Type.Literal('search-index'),
8
+ Type.Literal('object-store'),
9
+ ]);
10
+ export const DataStoreSidecarSchema = Type.Object({
11
+ data_store: Type.Object({
12
+ id: Type.String({ minLength: 1 }),
13
+ name: Type.String({ minLength: 1 }),
14
+ description: Type.Optional(Type.String()),
15
+ type: DataStoreTypeSchema,
16
+ domain: Type.Optional(Type.String({ minLength: 1 })),
17
+ owner: Type.Optional(Type.String({ minLength: 1 })),
18
+ technology: Type.Optional(Type.String({ minLength: 1 })),
19
+ links: Type.Optional(Type.Array(LinkSchema)),
20
+ }),
21
+ });
22
+ //# sourceMappingURL=data-store.schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-store.schema.js","sourceRoot":"","sources":["../../src/schemas/data-store.schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAe,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,CAAC,KAAK,CAAC;IAC5C,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;IACxB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;IACrB,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;IACrB,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC;IAC5B,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC;CAC7B,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,sBAAsB,GAAG,IAAI,CAAC,MAAM,CAAC;IAChD,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC;QACtB,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;QACjC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;QACnC,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QACzC,IAAI,EAAE,mBAAmB;QACzB,MAAM,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC;QACpD,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC;QACnD,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC;QACxD,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;KAC7C,CAAC;CACH,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data-store.schema.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-store.schema.test.d.ts","sourceRoot":"","sources":["../../src/schemas/data-store.schema.test.ts"],"names":[],"mappings":""}