@cwygoda/service-catalog-core 0.17.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.
Files changed (201) hide show
  1. package/dist/adapters/index.d.ts +8 -0
  2. package/dist/adapters/index.d.ts.map +1 -0
  3. package/dist/adapters/index.js +8 -0
  4. package/dist/adapters/index.js.map +1 -0
  5. package/dist/adapters/loaders/filesystem.loader.d.ts +27 -0
  6. package/dist/adapters/loaders/filesystem.loader.d.ts.map +1 -0
  7. package/dist/adapters/loaders/filesystem.loader.js +183 -0
  8. package/dist/adapters/loaders/filesystem.loader.js.map +1 -0
  9. package/dist/adapters/loaders/filesystem.loader.test.d.ts +2 -0
  10. package/dist/adapters/loaders/filesystem.loader.test.d.ts.map +1 -0
  11. package/dist/adapters/loaders/filesystem.loader.test.js +576 -0
  12. package/dist/adapters/loaders/filesystem.loader.test.js.map +1 -0
  13. package/dist/adapters/parsers/bpmn-steps.d.ts +5 -0
  14. package/dist/adapters/parsers/bpmn-steps.d.ts.map +1 -0
  15. package/dist/adapters/parsers/bpmn-steps.js +124 -0
  16. package/dist/adapters/parsers/bpmn-steps.js.map +1 -0
  17. package/dist/adapters/parsers/bpmn-steps.test.d.ts +2 -0
  18. package/dist/adapters/parsers/bpmn-steps.test.d.ts.map +1 -0
  19. package/dist/adapters/parsers/bpmn-steps.test.js +112 -0
  20. package/dist/adapters/parsers/bpmn-steps.test.js.map +1 -0
  21. package/dist/adapters/parsers/bpmn-txt.parser.d.ts +21 -0
  22. package/dist/adapters/parsers/bpmn-txt.parser.d.ts.map +1 -0
  23. package/dist/adapters/parsers/bpmn-txt.parser.js +56 -0
  24. package/dist/adapters/parsers/bpmn-txt.parser.js.map +1 -0
  25. package/dist/adapters/parsers/bpmn-txt.parser.test.d.ts +2 -0
  26. package/dist/adapters/parsers/bpmn-txt.parser.test.d.ts.map +1 -0
  27. package/dist/adapters/parsers/bpmn-txt.parser.test.js +71 -0
  28. package/dist/adapters/parsers/bpmn-txt.parser.test.js.map +1 -0
  29. package/dist/adapters/parsers/markdown.parser.d.ts +22 -0
  30. package/dist/adapters/parsers/markdown.parser.d.ts.map +1 -0
  31. package/dist/adapters/parsers/markdown.parser.js +85 -0
  32. package/dist/adapters/parsers/markdown.parser.js.map +1 -0
  33. package/dist/adapters/parsers/markdown.parser.test.d.ts +2 -0
  34. package/dist/adapters/parsers/markdown.parser.test.d.ts.map +1 -0
  35. package/dist/adapters/parsers/markdown.parser.test.js +149 -0
  36. package/dist/adapters/parsers/markdown.parser.test.js.map +1 -0
  37. package/dist/adapters/parsers/sidecar.transforms.d.ts +104 -0
  38. package/dist/adapters/parsers/sidecar.transforms.d.ts.map +1 -0
  39. package/dist/adapters/parsers/sidecar.transforms.js +133 -0
  40. package/dist/adapters/parsers/sidecar.transforms.js.map +1 -0
  41. package/dist/adapters/parsers/toml.parser.d.ts +17 -0
  42. package/dist/adapters/parsers/toml.parser.d.ts.map +1 -0
  43. package/dist/adapters/parsers/toml.parser.js +91 -0
  44. package/dist/adapters/parsers/toml.parser.js.map +1 -0
  45. package/dist/adapters/parsers/toml.parser.test.d.ts +2 -0
  46. package/dist/adapters/parsers/toml.parser.test.d.ts.map +1 -0
  47. package/dist/adapters/parsers/toml.parser.test.js +345 -0
  48. package/dist/adapters/parsers/toml.parser.test.js.map +1 -0
  49. package/dist/adapters/parsers/yaml.parser.d.ts +17 -0
  50. package/dist/adapters/parsers/yaml.parser.d.ts.map +1 -0
  51. package/dist/adapters/parsers/yaml.parser.js +67 -0
  52. package/dist/adapters/parsers/yaml.parser.js.map +1 -0
  53. package/dist/adapters/parsers/yaml.parser.test.d.ts +2 -0
  54. package/dist/adapters/parsers/yaml.parser.test.d.ts.map +1 -0
  55. package/dist/adapters/parsers/yaml.parser.test.js +171 -0
  56. package/dist/adapters/parsers/yaml.parser.test.js.map +1 -0
  57. package/dist/adapters/persistence/json.writer.d.ts +7 -0
  58. package/dist/adapters/persistence/json.writer.d.ts.map +1 -0
  59. package/dist/adapters/persistence/json.writer.js +14 -0
  60. package/dist/adapters/persistence/json.writer.js.map +1 -0
  61. package/dist/adapters/persistence/json.writer.test.d.ts +2 -0
  62. package/dist/adapters/persistence/json.writer.test.d.ts.map +1 -0
  63. package/dist/adapters/persistence/json.writer.test.js +111 -0
  64. package/dist/adapters/persistence/json.writer.test.js.map +1 -0
  65. package/dist/domain/catalog.d.ts +28 -0
  66. package/dist/domain/catalog.d.ts.map +1 -0
  67. package/dist/domain/catalog.js +46 -0
  68. package/dist/domain/catalog.js.map +1 -0
  69. package/dist/domain/catalog.test.d.ts +2 -0
  70. package/dist/domain/catalog.test.d.ts.map +1 -0
  71. package/dist/domain/catalog.test.js +346 -0
  72. package/dist/domain/catalog.test.js.map +1 -0
  73. package/dist/domain/connection.d.ts +28 -0
  74. package/dist/domain/connection.d.ts.map +1 -0
  75. package/dist/domain/connection.js +53 -0
  76. package/dist/domain/connection.js.map +1 -0
  77. package/dist/domain/connection.test.d.ts +2 -0
  78. package/dist/domain/connection.test.d.ts.map +1 -0
  79. package/dist/domain/connection.test.js +150 -0
  80. package/dist/domain/connection.test.js.map +1 -0
  81. package/dist/domain/data-store.d.ts +23 -0
  82. package/dist/domain/data-store.d.ts.map +1 -0
  83. package/dist/domain/data-store.js +42 -0
  84. package/dist/domain/data-store.js.map +1 -0
  85. package/dist/domain/data-store.test.d.ts +2 -0
  86. package/dist/domain/data-store.test.d.ts.map +1 -0
  87. package/dist/domain/data-store.test.js +93 -0
  88. package/dist/domain/data-store.test.js.map +1 -0
  89. package/dist/domain/domain.d.ts +9 -0
  90. package/dist/domain/domain.d.ts.map +1 -0
  91. package/dist/domain/domain.js +26 -0
  92. package/dist/domain/domain.js.map +1 -0
  93. package/dist/domain/domain.test.d.ts +2 -0
  94. package/dist/domain/domain.test.d.ts.map +1 -0
  95. package/dist/domain/domain.test.js +92 -0
  96. package/dist/domain/domain.test.js.map +1 -0
  97. package/dist/domain/graph.d.ts +23 -0
  98. package/dist/domain/graph.d.ts.map +1 -0
  99. package/dist/domain/graph.js +2 -0
  100. package/dist/domain/graph.js.map +1 -0
  101. package/dist/domain/index.d.ts +8 -0
  102. package/dist/domain/index.d.ts.map +1 -0
  103. package/dist/domain/index.js +8 -0
  104. package/dist/domain/index.js.map +1 -0
  105. package/dist/domain/service.d.ts +66 -0
  106. package/dist/domain/service.d.ts.map +1 -0
  107. package/dist/domain/service.js +61 -0
  108. package/dist/domain/service.js.map +1 -0
  109. package/dist/domain/service.test.d.ts +2 -0
  110. package/dist/domain/service.test.d.ts.map +1 -0
  111. package/dist/domain/service.test.js +181 -0
  112. package/dist/domain/service.test.js.map +1 -0
  113. package/dist/domain/use-case.d.ts +47 -0
  114. package/dist/domain/use-case.d.ts.map +1 -0
  115. package/dist/domain/use-case.js +70 -0
  116. package/dist/domain/use-case.js.map +1 -0
  117. package/dist/domain/use-case.test.d.ts +2 -0
  118. package/dist/domain/use-case.test.d.ts.map +1 -0
  119. package/dist/domain/use-case.test.js +249 -0
  120. package/dist/domain/use-case.test.js.map +1 -0
  121. package/dist/index.d.ts +6 -0
  122. package/dist/index.d.ts.map +1 -0
  123. package/dist/index.js +11 -0
  124. package/dist/index.js.map +1 -0
  125. package/dist/ports/catalog-loader.port.d.ts +5 -0
  126. package/dist/ports/catalog-loader.port.d.ts.map +1 -0
  127. package/dist/ports/catalog-loader.port.js +2 -0
  128. package/dist/ports/catalog-loader.port.js.map +1 -0
  129. package/dist/ports/catalog-writer.port.d.ts +5 -0
  130. package/dist/ports/catalog-writer.port.d.ts.map +1 -0
  131. package/dist/ports/catalog-writer.port.js +2 -0
  132. package/dist/ports/catalog-writer.port.js.map +1 -0
  133. package/dist/ports/index.d.ts +3 -0
  134. package/dist/ports/index.d.ts.map +1 -0
  135. package/dist/ports/index.js +3 -0
  136. package/dist/ports/index.js.map +1 -0
  137. package/dist/schemas/catalog-config.schema.d.ts +23 -0
  138. package/dist/schemas/catalog-config.schema.d.ts.map +1 -0
  139. package/dist/schemas/catalog-config.schema.js +20 -0
  140. package/dist/schemas/catalog-config.schema.js.map +1 -0
  141. package/dist/schemas/catalog.schema.d.ts +248 -0
  142. package/dist/schemas/catalog.schema.d.ts.map +1 -0
  143. package/dist/schemas/catalog.schema.js +94 -0
  144. package/dist/schemas/catalog.schema.js.map +1 -0
  145. package/dist/schemas/connection.schema.d.ts +19 -0
  146. package/dist/schemas/connection.schema.d.ts.map +1 -0
  147. package/dist/schemas/connection.schema.js +25 -0
  148. package/dist/schemas/connection.schema.js.map +1 -0
  149. package/dist/schemas/connection.schema.test.d.ts +2 -0
  150. package/dist/schemas/connection.schema.test.d.ts.map +1 -0
  151. package/dist/schemas/connection.schema.test.js +114 -0
  152. package/dist/schemas/connection.schema.test.js.map +1 -0
  153. package/dist/schemas/data-store.schema.d.ts +20 -0
  154. package/dist/schemas/data-store.schema.d.ts.map +1 -0
  155. package/dist/schemas/data-store.schema.js +22 -0
  156. package/dist/schemas/data-store.schema.js.map +1 -0
  157. package/dist/schemas/data-store.schema.test.d.ts +2 -0
  158. package/dist/schemas/data-store.schema.test.d.ts.map +1 -0
  159. package/dist/schemas/data-store.schema.test.js +68 -0
  160. package/dist/schemas/data-store.schema.test.js.map +1 -0
  161. package/dist/schemas/domain.schema.d.ts +11 -0
  162. package/dist/schemas/domain.schema.d.ts.map +1 -0
  163. package/dist/schemas/domain.schema.js +10 -0
  164. package/dist/schemas/domain.schema.js.map +1 -0
  165. package/dist/schemas/domain.schema.test.d.ts +2 -0
  166. package/dist/schemas/domain.schema.test.d.ts.map +1 -0
  167. package/dist/schemas/domain.schema.test.js +95 -0
  168. package/dist/schemas/domain.schema.test.js.map +1 -0
  169. package/dist/schemas/index.d.ts +8 -0
  170. package/dist/schemas/index.d.ts.map +1 -0
  171. package/dist/schemas/index.js +8 -0
  172. package/dist/schemas/index.js.map +1 -0
  173. package/dist/schemas/service.schema.d.ts +61 -0
  174. package/dist/schemas/service.schema.d.ts.map +1 -0
  175. package/dist/schemas/service.schema.js +59 -0
  176. package/dist/schemas/service.schema.js.map +1 -0
  177. package/dist/schemas/service.schema.test.d.ts +2 -0
  178. package/dist/schemas/service.schema.test.d.ts.map +1 -0
  179. package/dist/schemas/service.schema.test.js +137 -0
  180. package/dist/schemas/service.schema.test.js.map +1 -0
  181. package/dist/schemas/use-case.schema.d.ts +54 -0
  182. package/dist/schemas/use-case.schema.d.ts.map +1 -0
  183. package/dist/schemas/use-case.schema.js +38 -0
  184. package/dist/schemas/use-case.schema.js.map +1 -0
  185. package/dist/schemas/use-case.schema.test.d.ts +2 -0
  186. package/dist/schemas/use-case.schema.test.d.ts.map +1 -0
  187. package/dist/schemas/use-case.schema.test.js +152 -0
  188. package/dist/schemas/use-case.schema.test.js.map +1 -0
  189. package/dist/services/graph-builder.d.ts +21 -0
  190. package/dist/services/graph-builder.d.ts.map +1 -0
  191. package/dist/services/graph-builder.js +138 -0
  192. package/dist/services/graph-builder.js.map +1 -0
  193. package/dist/services/graph-builder.test.d.ts +2 -0
  194. package/dist/services/graph-builder.test.d.ts.map +1 -0
  195. package/dist/services/graph-builder.test.js +393 -0
  196. package/dist/services/graph-builder.test.js.map +1 -0
  197. package/dist/services/index.d.ts +2 -0
  198. package/dist/services/index.d.ts.map +1 -0
  199. package/dist/services/index.js +2 -0
  200. package/dist/services/index.js.map +1 -0
  201. package/package.json +50 -0
@@ -0,0 +1,149 @@
1
+ import { describe, it, expect } from 'vitest';
2
+ import { parseUseCaseMarkdown, markdownToUseCase } from './markdown.parser.js';
3
+ const EXAMPLE_MD = `---
4
+ id: order-data
5
+ name: Order Data Products
6
+ domain: data-delivery
7
+ participants:
8
+ - service: catalog-ui
9
+ role: frontend
10
+ ---
11
+
12
+ # Overview
13
+ Customer browses and orders satellite data.
14
+
15
+ \`\`\`bpmn
16
+ process: order-data
17
+ task: browse
18
+ name: "Browse Products"
19
+ type: user
20
+ service: catalog-ui
21
+ doc: browsing
22
+
23
+ task: validate-order
24
+ name: "Validate Order"
25
+ type: service
26
+ service: catalog-order-service
27
+ doc: order-validation
28
+ \`\`\`
29
+
30
+ ## Browsing {#browsing}
31
+
32
+ Detailed explanation of the browsing step...
33
+
34
+ ## Order Validation {#order-validation}
35
+
36
+ The order service checks inventory...
37
+ `;
38
+ describe('parseUseCaseMarkdown', () => {
39
+ it('extracts frontmatter', () => {
40
+ const result = parseUseCaseMarkdown(EXAMPLE_MD);
41
+ expect(result.frontmatter.id).toBe('order-data');
42
+ expect(result.frontmatter.name).toBe('Order Data Products');
43
+ expect(result.frontmatter.domain).toBe('data-delivery');
44
+ expect(result.frontmatter.participants).toHaveLength(1);
45
+ expect(result.frontmatter.participants?.[0]?.service).toBe('catalog-ui');
46
+ });
47
+ it('extracts bpmn blocks', () => {
48
+ const result = parseUseCaseMarkdown(EXAMPLE_MD);
49
+ expect(result.bpmnBlocks).toHaveLength(1);
50
+ expect(result.bpmnBlocks[0]).toContain('process: order-data');
51
+ expect(result.bpmnBlocks[0]).toContain('task: browse');
52
+ });
53
+ it('strips bpmn from content', () => {
54
+ const result = parseUseCaseMarkdown(EXAMPLE_MD);
55
+ expect(result.content).not.toContain('```bpmn');
56
+ expect(result.content).toContain('## Browsing');
57
+ expect(result.content).toContain('## Order Validation');
58
+ });
59
+ it('extracts description from # Overview', () => {
60
+ const result = parseUseCaseMarkdown(EXAMPLE_MD);
61
+ expect(result.description).toBe('Customer browses and orders satellite data.');
62
+ });
63
+ it('extracts description from first paragraph when no overview', () => {
64
+ const md = `---
65
+ id: test
66
+ name: Test
67
+ ---
68
+
69
+ First paragraph of description.
70
+
71
+ ## Section
72
+ Details...
73
+ `;
74
+ const result = parseUseCaseMarkdown(md);
75
+ expect(result.description).toBe('First paragraph of description.');
76
+ });
77
+ it('handles missing bpmn blocks', () => {
78
+ const md = `---
79
+ id: simple
80
+ name: Simple
81
+ ---
82
+
83
+ Just prose content.
84
+ `;
85
+ const result = parseUseCaseMarkdown(md);
86
+ expect(result.bpmnBlocks).toHaveLength(0);
87
+ expect(result.content).toBe('Just prose content.');
88
+ });
89
+ it('throws on invalid frontmatter', () => {
90
+ const md = `---
91
+ name: Missing ID
92
+ ---
93
+
94
+ Content
95
+ `;
96
+ expect(() => parseUseCaseMarkdown(md)).toThrow('Invalid use-case.md frontmatter');
97
+ });
98
+ });
99
+ describe('markdownToUseCase', () => {
100
+ it('creates UseCase from parsed markdown', () => {
101
+ const parsed = parseUseCaseMarkdown(EXAMPLE_MD);
102
+ const useCase = markdownToUseCase(parsed);
103
+ expect(useCase.id).toBe('order-data');
104
+ expect(useCase.name).toBe('Order Data Products');
105
+ expect(useCase.domain).toBe('data-delivery');
106
+ expect(useCase.description).toBe('Customer browses and orders satellite data.');
107
+ expect(useCase.steps).toEqual([]);
108
+ expect(useCase.content).toBeTruthy();
109
+ });
110
+ it('derives participants from service refs', () => {
111
+ const parsed = parseUseCaseMarkdown(EXAMPLE_MD);
112
+ const useCase = markdownToUseCase(parsed, {
113
+ serviceRefs: [
114
+ { elementId: 'browse', serviceId: 'catalog-ui' },
115
+ { elementId: 'validate', serviceId: 'catalog-order-service' },
116
+ ],
117
+ });
118
+ // catalog-ui overridden by frontmatter (role: frontend)
119
+ // catalog-order-service derived (role: bpmn-participant)
120
+ expect(useCase.participants).toHaveLength(2);
121
+ const uiParticipant = useCase.participants.find((p) => p.service === 'catalog-ui');
122
+ expect(uiParticipant?.role).toBe('frontend');
123
+ const orderParticipant = useCase.participants.find((p) => p.service === 'catalog-order-service');
124
+ expect(orderParticipant?.role).toBe('bpmn-participant');
125
+ });
126
+ it('passes through bpmn XML and links', () => {
127
+ const parsed = parseUseCaseMarkdown(EXAMPLE_MD);
128
+ const docLinks = [{ elementId: 'browse', anchor: 'browsing' }];
129
+ const serviceRefs = [{ elementId: 'browse', serviceId: 'catalog-ui' }];
130
+ const useCase = markdownToUseCase(parsed, {
131
+ bpmnXml: '<xml/>',
132
+ docLinks,
133
+ serviceRefs,
134
+ });
135
+ expect(useCase.bpmn).toBe('<xml/>');
136
+ expect(useCase.docLinks).toEqual(docLinks);
137
+ expect(useCase.serviceRefs).toEqual(serviceRefs);
138
+ });
139
+ it('accepts steps via options', () => {
140
+ const parsed = parseUseCaseMarkdown(EXAMPLE_MD);
141
+ const steps = [
142
+ { sequence: 1, action: 'Browse Products', service: 'catalog-ui' },
143
+ { sequence: 2, action: 'Validate Order', service: 'catalog-order-service' },
144
+ ];
145
+ const useCase = markdownToUseCase(parsed, { steps });
146
+ expect(useCase.steps).toEqual(steps);
147
+ });
148
+ });
149
+ //# sourceMappingURL=markdown.parser.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"markdown.parser.test.js","sourceRoot":"","sources":["../../../src/adapters/parsers/markdown.parser.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,104 @@
1
+ import { type ServiceSidecar } from '../../schemas/service.schema.js';
2
+ import { type UseCaseSidecar } from '../../schemas/use-case.schema.js';
3
+ import { type DomainSidecar } from '../../schemas/domain.schema.js';
4
+ import { type DataStoreSidecar } from '../../schemas/data-store.schema.js';
5
+ import type { Service } from '../../domain/service.js';
6
+ import type { UseCase } from '../../domain/use-case.js';
7
+ import type { Domain } from '../../domain/domain.js';
8
+ import type { DataStore } from '../../domain/data-store.js';
9
+ export declare const compiledServiceSchema: import("@sinclair/typebox/compiler").TypeCheck<import("@sinclair/typebox").TObject<{
10
+ service: import("@sinclair/typebox").TObject<{
11
+ id: import("@sinclair/typebox").TString;
12
+ name: import("@sinclair/typebox").TString;
13
+ description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
14
+ domain: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
15
+ 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">]>>;
16
+ 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">]>>;
17
+ owner: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
18
+ tags: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
19
+ links: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
20
+ url: import("@sinclair/typebox").TString;
21
+ title: import("@sinclair/typebox").TString;
22
+ type: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
23
+ }>>>;
24
+ repository: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
25
+ tier: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"critical">, import("@sinclair/typebox").TLiteral<"standard">, import("@sinclair/typebox").TLiteral<"internal">]>>;
26
+ contacts: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
27
+ type: import("@sinclair/typebox").TString;
28
+ value: import("@sinclair/typebox").TString;
29
+ }>>>;
30
+ language: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
31
+ frameworks: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
32
+ dataStores: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
33
+ target: import("@sinclair/typebox").TString;
34
+ access: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"r">, import("@sinclair/typebox").TLiteral<"rw">]>;
35
+ }>>>;
36
+ specs: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TObject<{
37
+ openapi: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
38
+ asyncapi: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
39
+ }>>;
40
+ connections: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
41
+ target: import("@sinclair/typebox").TString;
42
+ type: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"http">, import("@sinclair/typebox").TLiteral<"event">, import("@sinclair/typebox").TLiteral<"grpc">]>;
43
+ role: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"producer">, import("@sinclair/typebox").TLiteral<"consumer">]>>;
44
+ endpoints: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
45
+ events: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
46
+ description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
47
+ }>>>;
48
+ }>;
49
+ }>>;
50
+ export declare const compiledUseCaseSchema: import("@sinclair/typebox/compiler").TypeCheck<import("@sinclair/typebox").TObject<{
51
+ use_case: import("@sinclair/typebox").TObject<{
52
+ id: import("@sinclair/typebox").TString;
53
+ name: import("@sinclair/typebox").TString;
54
+ description: import("@sinclair/typebox").TString;
55
+ domain: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
56
+ bpmn: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
57
+ participants: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
58
+ service: import("@sinclair/typebox").TString;
59
+ role: import("@sinclair/typebox").TString;
60
+ }>>;
61
+ steps: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
62
+ sequence: import("@sinclair/typebox").TNumber;
63
+ actor: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
64
+ service: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
65
+ action: import("@sinclair/typebox").TString;
66
+ endpoint: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
67
+ }>>;
68
+ }>;
69
+ }>>;
70
+ export declare const compiledDomainSchema: import("@sinclair/typebox/compiler").TypeCheck<import("@sinclair/typebox").TObject<{
71
+ domain: import("@sinclair/typebox").TObject<{
72
+ id: import("@sinclair/typebox").TString;
73
+ name: import("@sinclair/typebox").TString;
74
+ description: import("@sinclair/typebox").TString;
75
+ parent: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
76
+ }>;
77
+ }>>;
78
+ export declare const compiledDataStoreSchema: import("@sinclair/typebox/compiler").TypeCheck<import("@sinclair/typebox").TObject<{
79
+ data_store: import("@sinclair/typebox").TObject<{
80
+ id: import("@sinclair/typebox").TString;
81
+ name: import("@sinclair/typebox").TString;
82
+ description: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
83
+ 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">]>;
84
+ domain: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
85
+ owner: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
86
+ technology: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
87
+ links: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TObject<{
88
+ url: import("@sinclair/typebox").TString;
89
+ title: import("@sinclair/typebox").TString;
90
+ type: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
91
+ }>>>;
92
+ }>;
93
+ }>>;
94
+ export declare class ValidationError extends Error {
95
+ readonly filePath: string;
96
+ readonly errors: string[];
97
+ constructor(message: string, filePath: string, errors: string[]);
98
+ toString(): string;
99
+ }
100
+ export declare function sidecarToService(sidecar: ServiceSidecar): Service;
101
+ export declare function sidecarToUseCase(sidecar: UseCaseSidecar): UseCase;
102
+ export declare function sidecarToDomain(sidecar: DomainSidecar): Domain;
103
+ export declare function sidecarToDataStore(sidecar: DataStoreSidecar): DataStore;
104
+ //# sourceMappingURL=sidecar.transforms.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sidecar.transforms.d.ts","sourceRoot":"","sources":["../../../src/adapters/parsers/sidecar.transforms.ts"],"names":[],"mappings":"AACA,OAAO,EAAwB,KAAK,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAC5F,OAAO,EAAwB,KAAK,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAC7F,OAAO,EAAuB,KAAK,aAAa,EAAE,MAAM,gCAAgC,CAAC;AACzF,OAAO,EAA0B,KAAK,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AACnG,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,KAAK,EAAE,OAAO,EAAc,MAAM,0BAA0B,CAAC;AACpE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAG5D,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAA6C,CAAC;AAChF,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;GAA6C,CAAC;AAChF,eAAO,MAAM,oBAAoB;;;;;;;GAA4C,CAAC;AAC9E,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;GAA+C,CAAC;AAEpF,qBAAa,eAAgB,SAAQ,KAAK;aAGtB,QAAQ,EAAE,MAAM;aAChB,MAAM,EAAE,MAAM,EAAE;gBAFhC,OAAO,EAAE,MAAM,EACC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EAAE;IAMzB,QAAQ,IAAI,MAAM;CAG5B;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAiCjE;AAeD,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CA8BjE;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,aAAa,GAAG,MAAM,CAc9D;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,gBAAgB,GAAG,SAAS,CAgBvE"}
@@ -0,0 +1,133 @@
1
+ import { TypeCompiler } from '@sinclair/typebox/compiler';
2
+ import { ServiceSidecarSchema } from '../../schemas/service.schema.js';
3
+ import { UseCaseSidecarSchema } from '../../schemas/use-case.schema.js';
4
+ import { DomainSidecarSchema } from '../../schemas/domain.schema.js';
5
+ import { DataStoreSidecarSchema } from '../../schemas/data-store.schema.js';
6
+ import { detectBpmnTxtContent } from './bpmn-txt.parser.js';
7
+ export const compiledServiceSchema = TypeCompiler.Compile(ServiceSidecarSchema);
8
+ export const compiledUseCaseSchema = TypeCompiler.Compile(UseCaseSidecarSchema);
9
+ export const compiledDomainSchema = TypeCompiler.Compile(DomainSidecarSchema);
10
+ export const compiledDataStoreSchema = TypeCompiler.Compile(DataStoreSidecarSchema);
11
+ export class ValidationError extends Error {
12
+ filePath;
13
+ errors;
14
+ constructor(message, filePath, errors) {
15
+ super(message);
16
+ this.filePath = filePath;
17
+ this.errors = errors;
18
+ this.name = 'ValidationError';
19
+ }
20
+ toString() {
21
+ return `${this.name}: ${this.message} at ${this.filePath}\n ${this.errors.join('\n ')}`;
22
+ }
23
+ }
24
+ export function sidecarToService(sidecar) {
25
+ const s = sidecar.service;
26
+ const service = {
27
+ id: s.id,
28
+ name: s.name,
29
+ description: s.description ?? '',
30
+ type: s.type ?? 'web-service',
31
+ lifecycle: s.lifecycle ?? 'active',
32
+ };
33
+ if (s.domain !== undefined)
34
+ service.domain = s.domain;
35
+ if (s.owner !== undefined)
36
+ service.owner = s.owner;
37
+ if (s.tags !== undefined)
38
+ service.tags = s.tags;
39
+ if (s.links !== undefined)
40
+ service.links = s.links;
41
+ if (s.repository !== undefined)
42
+ service.repository = s.repository;
43
+ if (s.tier !== undefined)
44
+ service.tier = s.tier;
45
+ if (s.contacts !== undefined)
46
+ service.contacts = s.contacts;
47
+ if (s.language !== undefined)
48
+ service.language = s.language;
49
+ if (s.frameworks !== undefined)
50
+ service.frameworks = s.frameworks;
51
+ if (s.dataStores !== undefined)
52
+ service.dataStores = s.dataStores;
53
+ // specs: Spec resolution happens in loader, not parser
54
+ if (s.connections && s.connections.length > 0) {
55
+ service.connections = s.connections.map((c) => ({
56
+ target: c.target,
57
+ type: c.type,
58
+ ...(c.endpoints && { endpoints: c.endpoints }),
59
+ ...(c.events && { events: c.events }),
60
+ }));
61
+ }
62
+ return service;
63
+ }
64
+ function detectBpmnSource(bpmnValue) {
65
+ if (bpmnValue.endsWith('.bpmn.txt')) {
66
+ return { type: 'bpmn-txt', path: bpmnValue };
67
+ }
68
+ if (bpmnValue.endsWith('.bpmn')) {
69
+ return { type: 'xml', path: bpmnValue };
70
+ }
71
+ if (detectBpmnTxtContent(bpmnValue)) {
72
+ return { type: 'bpmn-txt', content: bpmnValue };
73
+ }
74
+ return { type: 'xml', path: bpmnValue };
75
+ }
76
+ export function sidecarToUseCase(sidecar) {
77
+ const uc = sidecar.use_case;
78
+ const useCase = {
79
+ id: uc.id,
80
+ name: uc.name,
81
+ description: uc.description,
82
+ participants: uc.participants.map((p) => ({
83
+ service: p.service,
84
+ role: p.role,
85
+ })),
86
+ steps: uc.steps.map((s) => ({
87
+ sequence: s.sequence,
88
+ action: s.action,
89
+ ...(s.actor !== undefined && { actor: s.actor }),
90
+ ...(s.service !== undefined && { service: s.service }),
91
+ ...(s.endpoint !== undefined && { endpoint: s.endpoint }),
92
+ })),
93
+ };
94
+ if (uc.domain !== undefined) {
95
+ useCase.domain = uc.domain;
96
+ }
97
+ if (uc.bpmn !== undefined) {
98
+ useCase.bpmn = uc.bpmn;
99
+ useCase.bpmnSource = detectBpmnSource(uc.bpmn);
100
+ }
101
+ return useCase;
102
+ }
103
+ export function sidecarToDomain(sidecar) {
104
+ const d = sidecar.domain;
105
+ const domain = {
106
+ id: d.id,
107
+ name: d.name,
108
+ description: d.description,
109
+ };
110
+ if (d.parent !== undefined) {
111
+ domain.parent = d.parent;
112
+ }
113
+ return domain;
114
+ }
115
+ export function sidecarToDataStore(sidecar) {
116
+ const ds = sidecar.data_store;
117
+ const dataStore = {
118
+ id: ds.id,
119
+ name: ds.name,
120
+ description: ds.description ?? '',
121
+ type: ds.type,
122
+ };
123
+ if (ds.domain !== undefined)
124
+ dataStore.domain = ds.domain;
125
+ if (ds.owner !== undefined)
126
+ dataStore.owner = ds.owner;
127
+ if (ds.technology !== undefined)
128
+ dataStore.technology = ds.technology;
129
+ if (ds.links !== undefined)
130
+ dataStore.links = ds.links;
131
+ return dataStore;
132
+ }
133
+ //# sourceMappingURL=sidecar.transforms.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sidecar.transforms.js","sourceRoot":"","sources":["../../../src/adapters/parsers/sidecar.transforms.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import type { ServiceSidecar } from '../../schemas/service.schema.js';
2
+ import type { UseCaseSidecar } from '../../schemas/use-case.schema.js';
3
+ import type { DomainSidecar } from '../../schemas/domain.schema.js';
4
+ import type { DataStoreSidecar } from '../../schemas/data-store.schema.js';
5
+ export { ValidationError, sidecarToService, sidecarToUseCase, sidecarToDomain, sidecarToDataStore, } from './sidecar.transforms.js';
6
+ export declare class TomlParseError extends Error {
7
+ readonly filePath: string;
8
+ readonly line?: number | undefined;
9
+ readonly column?: number | undefined;
10
+ constructor(message: string, filePath: string, line?: number | undefined, column?: number | undefined);
11
+ toString(): string;
12
+ }
13
+ export declare function parseToml(content: string, filePath: string): ServiceSidecar;
14
+ export declare function parseUseCaseToml(content: string, filePath: string): UseCaseSidecar;
15
+ export declare function parseDomainToml(content: string, filePath: string): DomainSidecar;
16
+ export declare function parseDataStoreToml(content: string, filePath: string): DataStoreSidecar;
17
+ //# sourceMappingURL=toml.parser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toml.parser.d.ts","sourceRoot":"","sources":["../../../src/adapters/parsers/toml.parser.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAC;AAU3E,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,kBAAkB,GACnB,MAAM,yBAAyB,CAAC;AAEjC,qBAAa,cAAe,SAAQ,KAAK;aAGrB,QAAQ,EAAE,MAAM;aAChB,IAAI,CAAC,EAAE,MAAM;aACb,MAAM,CAAC,EAAE,MAAM;gBAH/B,OAAO,EAAE,MAAM,EACC,QAAQ,EAAE,MAAM,EAChB,IAAI,CAAC,EAAE,MAAM,YAAA,EACb,MAAM,CAAC,EAAE,MAAM,YAAA;IAMxB,QAAQ,IAAI,MAAM;CAM5B;AAED,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,cAAc,CAuB3E;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,cAAc,CAuBlF;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,aAAa,CAuBhF;AAED,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,gBAAgB,CAuBtF"}
@@ -0,0 +1,91 @@
1
+ import { parse, TomlError } from 'smol-toml';
2
+ import { ValidationError, compiledServiceSchema, compiledUseCaseSchema, compiledDomainSchema, compiledDataStoreSchema, } from './sidecar.transforms.js';
3
+ // Re-export shared transforms for backward compatibility
4
+ export { ValidationError, sidecarToService, sidecarToUseCase, sidecarToDomain, sidecarToDataStore, } from './sidecar.transforms.js';
5
+ export class TomlParseError extends Error {
6
+ filePath;
7
+ line;
8
+ column;
9
+ constructor(message, filePath, line, column) {
10
+ super(message);
11
+ this.filePath = filePath;
12
+ this.line = line;
13
+ this.column = column;
14
+ this.name = 'TomlParseError';
15
+ }
16
+ toString() {
17
+ const location = this.line
18
+ ? `:${String(this.line)}${this.column ? `:${String(this.column)}` : ''}`
19
+ : '';
20
+ return `${this.name}: ${this.message} at ${this.filePath}${location}`;
21
+ }
22
+ }
23
+ export function parseToml(content, filePath) {
24
+ let parsed;
25
+ try {
26
+ parsed = parse(content);
27
+ }
28
+ catch (error) {
29
+ if (error instanceof TomlError) {
30
+ throw new TomlParseError(error.message, filePath, error.line, error.column);
31
+ }
32
+ throw new TomlParseError(error instanceof Error ? error.message : 'Unknown parse error', filePath);
33
+ }
34
+ if (!compiledServiceSchema.Check(parsed)) {
35
+ const errors = [...compiledServiceSchema.Errors(parsed)].map((e) => `${e.path}: ${e.message} (got ${JSON.stringify(e.value)})`);
36
+ throw new ValidationError('Invalid service sidecar', filePath, errors);
37
+ }
38
+ return parsed;
39
+ }
40
+ export function parseUseCaseToml(content, filePath) {
41
+ let parsed;
42
+ try {
43
+ parsed = parse(content);
44
+ }
45
+ catch (error) {
46
+ if (error instanceof TomlError) {
47
+ throw new TomlParseError(error.message, filePath, error.line, error.column);
48
+ }
49
+ throw new TomlParseError(error instanceof Error ? error.message : 'Unknown parse error', filePath);
50
+ }
51
+ if (!compiledUseCaseSchema.Check(parsed)) {
52
+ const errors = [...compiledUseCaseSchema.Errors(parsed)].map((e) => `${e.path}: ${e.message} (got ${JSON.stringify(e.value)})`);
53
+ throw new ValidationError('Invalid use case sidecar', filePath, errors);
54
+ }
55
+ return parsed;
56
+ }
57
+ export function parseDomainToml(content, filePath) {
58
+ let parsed;
59
+ try {
60
+ parsed = parse(content);
61
+ }
62
+ catch (error) {
63
+ if (error instanceof TomlError) {
64
+ throw new TomlParseError(error.message, filePath, error.line, error.column);
65
+ }
66
+ throw new TomlParseError(error instanceof Error ? error.message : 'Unknown parse error', filePath);
67
+ }
68
+ if (!compiledDomainSchema.Check(parsed)) {
69
+ const errors = [...compiledDomainSchema.Errors(parsed)].map((e) => `${e.path}: ${e.message} (got ${JSON.stringify(e.value)})`);
70
+ throw new ValidationError('Invalid domain sidecar', filePath, errors);
71
+ }
72
+ return parsed;
73
+ }
74
+ export function parseDataStoreToml(content, filePath) {
75
+ let parsed;
76
+ try {
77
+ parsed = parse(content);
78
+ }
79
+ catch (error) {
80
+ if (error instanceof TomlError) {
81
+ throw new TomlParseError(error.message, filePath, error.line, error.column);
82
+ }
83
+ throw new TomlParseError(error instanceof Error ? error.message : 'Unknown parse error', filePath);
84
+ }
85
+ if (!compiledDataStoreSchema.Check(parsed)) {
86
+ const errors = [...compiledDataStoreSchema.Errors(parsed)].map((e) => `${e.path}: ${e.message} (got ${JSON.stringify(e.value)})`);
87
+ throw new ValidationError('Invalid data store sidecar', filePath, errors);
88
+ }
89
+ return parsed;
90
+ }
91
+ //# sourceMappingURL=toml.parser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toml.parser.js","sourceRoot":"","sources":["../../../src/adapters/parsers/toml.parser.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=toml.parser.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toml.parser.test.d.ts","sourceRoot":"","sources":["../../../src/adapters/parsers/toml.parser.test.ts"],"names":[],"mappings":""}