@auto-engineer/narrative 0.11.11 → 0.11.13

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 (244) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/CHANGELOG.md +22 -0
  3. package/dist/src/commands/export-schema-helper.js +1 -2
  4. package/dist/src/commands/export-schema-helper.js.map +1 -1
  5. package/dist/src/getNarratives.cache.specs.d.ts +2 -0
  6. package/dist/src/getNarratives.cache.specs.d.ts.map +1 -0
  7. package/dist/src/{getFlows.cache.specs.js → getNarratives.cache.specs.js} +19 -19
  8. package/dist/src/getNarratives.cache.specs.js.map +1 -0
  9. package/dist/src/getNarratives.specs.d.ts +2 -0
  10. package/dist/src/getNarratives.specs.d.ts.map +1 -0
  11. package/dist/src/{getFlows.specs.js → getNarratives.specs.js} +28 -41
  12. package/dist/src/getNarratives.specs.js.map +1 -0
  13. package/dist/src/id/addAutoIds.specs.js +6 -6
  14. package/dist/src/id/addAutoIds.specs.js.map +1 -1
  15. package/dist/src/id/hasAllIds.specs.js +16 -16
  16. package/dist/src/id/hasAllIds.specs.js.map +1 -1
  17. package/dist/src/model-to-narrative.specs.d.ts +2 -0
  18. package/dist/src/model-to-narrative.specs.d.ts.map +1 -0
  19. package/dist/src/{model-to-flow.specs.js → model-to-narrative.specs.js} +212 -4
  20. package/dist/src/model-to-narrative.specs.js.map +1 -0
  21. package/dist/src/narrative-context.d.ts.map +1 -1
  22. package/dist/src/narrative-context.js +0 -1
  23. package/dist/src/narrative-context.js.map +1 -1
  24. package/dist/src/narrative.d.ts +1 -0
  25. package/dist/src/narrative.d.ts.map +1 -1
  26. package/dist/src/narrative.js +11 -0
  27. package/dist/src/narrative.js.map +1 -1
  28. package/dist/src/samples/items.narrative.d.ts +2 -0
  29. package/dist/src/samples/items.narrative.d.ts.map +1 -0
  30. package/dist/src/samples/{items.flow.js → items.narrative.js} +1 -1
  31. package/dist/src/samples/items.narrative.js.map +1 -0
  32. package/dist/src/samples/mixed-given-types.narrative.d.ts +2 -0
  33. package/dist/src/samples/mixed-given-types.narrative.d.ts.map +1 -0
  34. package/dist/src/samples/{mixed-given-types.flow.js → mixed-given-types.narrative.js} +1 -2
  35. package/dist/src/samples/mixed-given-types.narrative.js.map +1 -0
  36. package/dist/src/samples/{place-order.flow.d.ts → place-order.narrative.d.ts} +2 -2
  37. package/dist/src/samples/place-order.narrative.d.ts.map +1 -0
  38. package/dist/src/samples/{place-order.flow.js → place-order.narrative.js} +1 -1
  39. package/dist/src/samples/place-order.narrative.js.map +1 -0
  40. package/dist/src/samples/questionnaires.narrative.d.ts +2 -0
  41. package/dist/src/samples/questionnaires.narrative.d.ts.map +1 -0
  42. package/dist/src/samples/{questionnaires.flow.js → questionnaires.narrative.js} +1 -3
  43. package/dist/src/samples/questionnaires.narrative.js.map +1 -0
  44. package/dist/src/samples/seasonal-assistant.schema.json +1 -1
  45. package/dist/src/samples/test-with-ids.narrative.d.ts +2 -0
  46. package/dist/src/samples/test-with-ids.narrative.d.ts.map +1 -0
  47. package/dist/src/samples/{test-with-ids.flow.js → test-with-ids.narrative.js} +1 -1
  48. package/dist/src/samples/test-with-ids.narrative.js.map +1 -0
  49. package/dist/src/schema.d.ts +2980 -2980
  50. package/dist/src/schema.d.ts.map +1 -1
  51. package/dist/src/schema.js +1 -0
  52. package/dist/src/schema.js.map +1 -1
  53. package/dist/src/transformers/model-to-narrative/generators/gwt.d.ts.map +1 -1
  54. package/dist/src/transformers/model-to-narrative/generators/gwt.js +32 -8
  55. package/dist/src/transformers/model-to-narrative/generators/gwt.js.map +1 -1
  56. package/dist/src/transformers/narrative-to-model/debug.d.ts.map +1 -1
  57. package/dist/src/transformers/narrative-to-model/debug.js +1 -1
  58. package/dist/src/transformers/narrative-to-model/debug.js.map +1 -1
  59. package/dist/tsconfig.tsbuildinfo +1 -1
  60. package/package.json +5 -5
  61. package/src/commands/export-schema-helper.ts +1 -2
  62. package/src/{getFlows.cache.specs.ts → getNarratives.cache.specs.ts} +18 -18
  63. package/src/{getFlows.specs.ts → getNarratives.specs.ts} +29 -41
  64. package/src/id/addAutoIds.specs.ts +6 -6
  65. package/src/id/hasAllIds.specs.ts +16 -16
  66. package/src/{model-to-flow.specs.ts → model-to-narrative.specs.ts} +215 -3
  67. package/src/narrative-context.ts +0 -1
  68. package/src/narrative.ts +16 -1
  69. package/src/samples/{mixed-given-types.flow.ts → mixed-given-types.narrative.ts} +0 -1
  70. package/src/samples/{place-order.flow.ts → place-order.narrative.ts} +2 -2
  71. package/src/samples/{questionnaires.flow.ts → questionnaires.narrative.ts} +0 -2
  72. package/src/samples/seasonal-assistant.schema.json +1 -1
  73. package/src/schema.ts +1 -0
  74. package/src/transformers/model-to-narrative/generators/gwt.ts +44 -9
  75. package/src/transformers/narrative-to-model/debug.ts +1 -1
  76. package/.turbo/turbo-format.log +0 -4
  77. package/.turbo/turbo-lint.log +0 -4
  78. package/.turbo/turbo-test.log +0 -14
  79. package/.turbo/turbo-type-check.log +0 -4
  80. package/dist/src/data-flow-builders.d.ts +0 -71
  81. package/dist/src/data-flow-builders.d.ts.map +0 -1
  82. package/dist/src/data-flow-builders.js +0 -326
  83. package/dist/src/data-flow-builders.js.map +0 -1
  84. package/dist/src/flow-context.d.ts +0 -25
  85. package/dist/src/flow-context.d.ts.map +0 -1
  86. package/dist/src/flow-context.js +0 -579
  87. package/dist/src/flow-context.js.map +0 -1
  88. package/dist/src/flow-context.specs.d.ts +0 -2
  89. package/dist/src/flow-context.specs.d.ts.map +0 -1
  90. package/dist/src/flow-context.specs.js +0 -185
  91. package/dist/src/flow-context.specs.js.map +0 -1
  92. package/dist/src/flow-registry.d.ts +0 -12
  93. package/dist/src/flow-registry.d.ts.map +0 -1
  94. package/dist/src/flow-registry.js +0 -46
  95. package/dist/src/flow-registry.js.map +0 -1
  96. package/dist/src/flow.d.ts +0 -49
  97. package/dist/src/flow.d.ts.map +0 -1
  98. package/dist/src/flow.js +0 -146
  99. package/dist/src/flow.js.map +0 -1
  100. package/dist/src/getFlows.cache.specs.d.ts +0 -2
  101. package/dist/src/getFlows.cache.specs.d.ts.map +0 -1
  102. package/dist/src/getFlows.cache.specs.js.map +0 -1
  103. package/dist/src/getFlows.d.ts +0 -21
  104. package/dist/src/getFlows.d.ts.map +0 -1
  105. package/dist/src/getFlows.js +0 -119
  106. package/dist/src/getFlows.js.map +0 -1
  107. package/dist/src/getFlows.specs.d.ts +0 -2
  108. package/dist/src/getFlows.specs.d.ts.map +0 -1
  109. package/dist/src/getFlows.specs.js.map +0 -1
  110. package/dist/src/model-to-flow.specs.d.ts +0 -2
  111. package/dist/src/model-to-flow.specs.d.ts.map +0 -1
  112. package/dist/src/model-to-flow.specs.js.map +0 -1
  113. package/dist/src/samples/items.flow.d.ts +0 -2
  114. package/dist/src/samples/items.flow.d.ts.map +0 -1
  115. package/dist/src/samples/items.flow.js.map +0 -1
  116. package/dist/src/samples/mixed-given-types.flow.d.ts +0 -2
  117. package/dist/src/samples/mixed-given-types.flow.d.ts.map +0 -1
  118. package/dist/src/samples/mixed-given-types.flow.js.map +0 -1
  119. package/dist/src/samples/place-order.flow.d.ts.map +0 -1
  120. package/dist/src/samples/place-order.flow.js.map +0 -1
  121. package/dist/src/samples/questionnaires.flow.d.ts +0 -2
  122. package/dist/src/samples/questionnaires.flow.d.ts.map +0 -1
  123. package/dist/src/samples/questionnaires.flow.js.map +0 -1
  124. package/dist/src/samples/test-with-ids.flow.d.ts +0 -2
  125. package/dist/src/samples/test-with-ids.flow.d.ts.map +0 -1
  126. package/dist/src/samples/test-with-ids.flow.js.map +0 -1
  127. package/dist/src/transformers/flow-to-model/assemble.d.ts +0 -3
  128. package/dist/src/transformers/flow-to-model/assemble.d.ts.map +0 -1
  129. package/dist/src/transformers/flow-to-model/assemble.js +0 -9
  130. package/dist/src/transformers/flow-to-model/assemble.js.map +0 -1
  131. package/dist/src/transformers/flow-to-model/debug.d.ts +0 -3
  132. package/dist/src/transformers/flow-to-model/debug.d.ts.map +0 -1
  133. package/dist/src/transformers/flow-to-model/debug.js +0 -6
  134. package/dist/src/transformers/flow-to-model/debug.js.map +0 -1
  135. package/dist/src/transformers/flow-to-model/example-shapes.d.ts +0 -6
  136. package/dist/src/transformers/flow-to-model/example-shapes.d.ts.map +0 -1
  137. package/dist/src/transformers/flow-to-model/example-shapes.js +0 -60
  138. package/dist/src/transformers/flow-to-model/example-shapes.js.map +0 -1
  139. package/dist/src/transformers/flow-to-model/guards.d.ts +0 -15
  140. package/dist/src/transformers/flow-to-model/guards.d.ts.map +0 -1
  141. package/dist/src/transformers/flow-to-model/guards.js +0 -18
  142. package/dist/src/transformers/flow-to-model/guards.js.map +0 -1
  143. package/dist/src/transformers/flow-to-model/index.d.ts +0 -4
  144. package/dist/src/transformers/flow-to-model/index.d.ts.map +0 -1
  145. package/dist/src/transformers/flow-to-model/index.js +0 -193
  146. package/dist/src/transformers/flow-to-model/index.js.map +0 -1
  147. package/dist/src/transformers/flow-to-model/inlining.d.ts +0 -4
  148. package/dist/src/transformers/flow-to-model/inlining.d.ts.map +0 -1
  149. package/dist/src/transformers/flow-to-model/inlining.js +0 -95
  150. package/dist/src/transformers/flow-to-model/inlining.js.map +0 -1
  151. package/dist/src/transformers/flow-to-model/integrations.d.ts +0 -36
  152. package/dist/src/transformers/flow-to-model/integrations.d.ts.map +0 -1
  153. package/dist/src/transformers/flow-to-model/integrations.js +0 -147
  154. package/dist/src/transformers/flow-to-model/integrations.js.map +0 -1
  155. package/dist/src/transformers/flow-to-model/messages.d.ts +0 -5
  156. package/dist/src/transformers/flow-to-model/messages.d.ts.map +0 -1
  157. package/dist/src/transformers/flow-to-model/messages.js +0 -88
  158. package/dist/src/transformers/flow-to-model/messages.js.map +0 -1
  159. package/dist/src/transformers/flow-to-model/normalize.d.ts +0 -3
  160. package/dist/src/transformers/flow-to-model/normalize.d.ts.map +0 -1
  161. package/dist/src/transformers/flow-to-model/normalize.js +0 -23
  162. package/dist/src/transformers/flow-to-model/normalize.js.map +0 -1
  163. package/dist/src/transformers/flow-to-model/spec-processors.d.ts +0 -34
  164. package/dist/src/transformers/flow-to-model/spec-processors.d.ts.map +0 -1
  165. package/dist/src/transformers/flow-to-model/spec-processors.js +0 -395
  166. package/dist/src/transformers/flow-to-model/spec-processors.js.map +0 -1
  167. package/dist/src/transformers/flow-to-model/strings.d.ts +0 -2
  168. package/dist/src/transformers/flow-to-model/strings.d.ts.map +0 -1
  169. package/dist/src/transformers/flow-to-model/strings.js +0 -11
  170. package/dist/src/transformers/flow-to-model/strings.js.map +0 -1
  171. package/dist/src/transformers/flow-to-model/type-inference.d.ts +0 -3
  172. package/dist/src/transformers/flow-to-model/type-inference.d.ts.map +0 -1
  173. package/dist/src/transformers/flow-to-model/type-inference.js +0 -92
  174. package/dist/src/transformers/flow-to-model/type-inference.js.map +0 -1
  175. package/dist/src/transformers/flow-to-model/type-inference.specs.d.ts +0 -2
  176. package/dist/src/transformers/flow-to-model/type-inference.specs.d.ts.map +0 -1
  177. package/dist/src/transformers/flow-to-model/type-inference.specs.js +0 -167
  178. package/dist/src/transformers/flow-to-model/type-inference.specs.js.map +0 -1
  179. package/dist/src/transformers/flow-to-model/zod-adapter.d.ts +0 -6
  180. package/dist/src/transformers/flow-to-model/zod-adapter.d.ts.map +0 -1
  181. package/dist/src/transformers/flow-to-model/zod-adapter.js +0 -101
  182. package/dist/src/transformers/flow-to-model/zod-adapter.js.map +0 -1
  183. package/dist/src/transformers/model-to-flow/analysis/extract-flow.d.ts +0 -2
  184. package/dist/src/transformers/model-to-flow/analysis/extract-flow.d.ts.map +0 -1
  185. package/dist/src/transformers/model-to-flow/analysis/extract-flow.js +0 -22
  186. package/dist/src/transformers/model-to-flow/analysis/extract-flow.js.map +0 -1
  187. package/dist/src/transformers/model-to-flow/analysis/lint-helpers.d.ts +0 -18
  188. package/dist/src/transformers/model-to-flow/analysis/lint-helpers.d.ts.map +0 -1
  189. package/dist/src/transformers/model-to-flow/analysis/lint-helpers.js +0 -78
  190. package/dist/src/transformers/model-to-flow/analysis/lint-helpers.js.map +0 -1
  191. package/dist/src/transformers/model-to-flow/analysis/type-decls.d.ts +0 -7
  192. package/dist/src/transformers/model-to-flow/analysis/type-decls.d.ts.map +0 -1
  193. package/dist/src/transformers/model-to-flow/analysis/type-decls.js +0 -74
  194. package/dist/src/transformers/model-to-flow/analysis/type-decls.js.map +0 -1
  195. package/dist/src/transformers/model-to-flow/analysis/usage.d.ts +0 -9
  196. package/dist/src/transformers/model-to-flow/analysis/usage.d.ts.map +0 -1
  197. package/dist/src/transformers/model-to-flow/analysis/usage.js +0 -90
  198. package/dist/src/transformers/model-to-flow/analysis/usage.js.map +0 -1
  199. package/dist/src/transformers/model-to-flow/ast/emit-helpers.d.ts +0 -18
  200. package/dist/src/transformers/model-to-flow/ast/emit-helpers.d.ts.map +0 -1
  201. package/dist/src/transformers/model-to-flow/ast/emit-helpers.js +0 -159
  202. package/dist/src/transformers/model-to-flow/ast/emit-helpers.js.map +0 -1
  203. package/dist/src/transformers/model-to-flow/formatting/prettier.d.ts +0 -2
  204. package/dist/src/transformers/model-to-flow/formatting/prettier.d.ts.map +0 -1
  205. package/dist/src/transformers/model-to-flow/formatting/prettier.js +0 -26
  206. package/dist/src/transformers/model-to-flow/formatting/prettier.js.map +0 -1
  207. package/dist/src/transformers/model-to-flow/formatting/sort-types.d.ts +0 -6
  208. package/dist/src/transformers/model-to-flow/formatting/sort-types.d.ts.map +0 -1
  209. package/dist/src/transformers/model-to-flow/formatting/sort-types.js +0 -17
  210. package/dist/src/transformers/model-to-flow/formatting/sort-types.js.map +0 -1
  211. package/dist/src/transformers/model-to-flow/generators/compose.d.ts +0 -6
  212. package/dist/src/transformers/model-to-flow/generators/compose.d.ts.map +0 -1
  213. package/dist/src/transformers/model-to-flow/generators/compose.js +0 -79
  214. package/dist/src/transformers/model-to-flow/generators/compose.js.map +0 -1
  215. package/dist/src/transformers/model-to-flow/generators/flow.d.ts +0 -15
  216. package/dist/src/transformers/model-to-flow/generators/flow.d.ts.map +0 -1
  217. package/dist/src/transformers/model-to-flow/generators/flow.js +0 -316
  218. package/dist/src/transformers/model-to-flow/generators/flow.js.map +0 -1
  219. package/dist/src/transformers/model-to-flow/generators/gwt.d.ts +0 -57
  220. package/dist/src/transformers/model-to-flow/generators/gwt.d.ts.map +0 -1
  221. package/dist/src/transformers/model-to-flow/generators/gwt.js +0 -186
  222. package/dist/src/transformers/model-to-flow/generators/gwt.js.map +0 -1
  223. package/dist/src/transformers/model-to-flow/generators/imports.d.ts +0 -16
  224. package/dist/src/transformers/model-to-flow/generators/imports.d.ts.map +0 -1
  225. package/dist/src/transformers/model-to-flow/generators/imports.js +0 -57
  226. package/dist/src/transformers/model-to-flow/generators/imports.js.map +0 -1
  227. package/dist/src/transformers/model-to-flow/generators/types.d.ts +0 -13
  228. package/dist/src/transformers/model-to-flow/generators/types.d.ts.map +0 -1
  229. package/dist/src/transformers/model-to-flow/generators/types.js +0 -22
  230. package/dist/src/transformers/model-to-flow/generators/types.js.map +0 -1
  231. package/dist/src/transformers/model-to-flow/index.d.ts +0 -13
  232. package/dist/src/transformers/model-to-flow/index.d.ts.map +0 -1
  233. package/dist/src/transformers/model-to-flow/index.js +0 -25
  234. package/dist/src/transformers/model-to-flow/index.js.map +0 -1
  235. package/dist/src/transformers/model-to-flow/utils/integration-extractor.d.ts +0 -12
  236. package/dist/src/transformers/model-to-flow/utils/integration-extractor.d.ts.map +0 -1
  237. package/dist/src/transformers/model-to-flow/utils/integration-extractor.js +0 -64
  238. package/dist/src/transformers/model-to-flow/utils/integration-extractor.js.map +0 -1
  239. package/dist/src/transformers/model-to-flow/utils/strings.d.ts +0 -9
  240. package/dist/src/transformers/model-to-flow/utils/strings.d.ts.map +0 -1
  241. package/dist/src/transformers/model-to-flow/utils/strings.js +0 -11
  242. package/dist/src/transformers/model-to-flow/utils/strings.js.map +0 -1
  243. /package/src/samples/{items.flow.ts → items.narrative.ts} +0 -0
  244. /package/src/samples/{test-with-ids.flow.ts → test-with-ids.narrative.ts} +0 -0
@@ -1,193 +0,0 @@
1
- import { globalIntegrationRegistry } from '../../integration-registry.js';
2
- import { integrationExportRegistry } from '../../integration-export-registry.js';
3
- import { resolveInferredType } from './type-inference.js';
4
- import { inlineAllMessageFieldTypes } from './inlining.js';
5
- import { applyExampleShapeHints } from './example-shapes.js';
6
- import { extractMessagesFromIntegrations, processDataItemIntegrations } from './integrations.js';
7
- import { matchesFlowPattern } from './strings.js';
8
- import { assembleSpecs } from './assemble.js';
9
- import { processGiven, processWhen, processThen } from './spec-processors.js';
10
- function buildUnionTypes(typesByFile) {
11
- if (!typesByFile)
12
- return undefined;
13
- const u = new Map();
14
- for (const [, m] of typesByFile)
15
- for (const [k, v] of m)
16
- u.set(k, v);
17
- return u.size ? u : undefined;
18
- }
19
- function getTypesForFlow(flow, typesByFile) {
20
- if (!typesByFile)
21
- return undefined;
22
- const sf = flow.sourceFile;
23
- if (typeof sf === 'string') {
24
- const exact = typesByFile.get(sf) || typesByFile.get(sf.replace(/\\/g, '/'));
25
- if (exact && exact.size > 0)
26
- return exact;
27
- }
28
- for (const [filePath, fileTypes] of typesByFile) {
29
- const fileName = filePath.toLowerCase();
30
- if (matchesFlowPattern(fileName, flow.name)) {
31
- return fileTypes;
32
- }
33
- }
34
- return undefined;
35
- }
36
- function tryResolveFromFlowTypes(t, flowSpecificTypes, expected, exampleData) {
37
- if (t !== 'InferredType') {
38
- const typeInfo = flowSpecificTypes.get(t);
39
- if (typeInfo) {
40
- return { resolvedName: t, typeInfo };
41
- }
42
- const inferredName = resolveInferredType(t, flowSpecificTypes, expected, exampleData);
43
- return { resolvedName: inferredName, typeInfo: flowSpecificTypes.get(inferredName) };
44
- }
45
- const inferredName = resolveInferredType(t, flowSpecificTypes, expected, exampleData);
46
- return { resolvedName: inferredName, typeInfo: flowSpecificTypes.get(inferredName) };
47
- }
48
- function tryFallbackToUnionTypes(t, resolvedName, typeInfo, unionTypes, expected, exampleData) {
49
- if (resolvedName !== 'InferredType' && typeInfo) {
50
- return { resolvedName, typeInfo };
51
- }
52
- const fallbackName = resolveInferredType(t, unionTypes, expected, exampleData);
53
- const fallbackTypeInfo = unionTypes.get(fallbackName);
54
- if (fallbackName !== 'InferredType' && fallbackTypeInfo) {
55
- return { resolvedName: fallbackName, typeInfo: fallbackTypeInfo };
56
- }
57
- return { resolvedName, typeInfo };
58
- }
59
- function tryResolveFromUnionTypes(t, unionTypes, expected, exampleData) {
60
- if (t !== 'InferredType') {
61
- const typeInfo = unionTypes.get(t);
62
- if (typeInfo) {
63
- return { resolvedName: t, typeInfo };
64
- }
65
- const inferredName = resolveInferredType(t, unionTypes, expected, exampleData);
66
- return { resolvedName: inferredName, typeInfo: unionTypes.get(inferredName) };
67
- }
68
- const inferredName = resolveInferredType(t, unionTypes, expected, exampleData);
69
- return { resolvedName: inferredName, typeInfo: unionTypes.get(inferredName) };
70
- }
71
- function createTypeResolver(flowSpecificTypes, unionTypes) {
72
- return (t, expected, exampleData) => {
73
- if (flowSpecificTypes) {
74
- const result = tryResolveFromFlowTypes(t, flowSpecificTypes, expected, exampleData);
75
- if (unionTypes) {
76
- return tryFallbackToUnionTypes(t, result.resolvedName, result.typeInfo, unionTypes, expected, exampleData);
77
- }
78
- return result;
79
- }
80
- if (unionTypes) {
81
- return tryResolveFromUnionTypes(t, unionTypes, expected, exampleData);
82
- }
83
- return { resolvedName: t, typeInfo: undefined };
84
- };
85
- }
86
- function getSliceSpecs(slice) {
87
- if ('server' in slice && slice.server?.specs !== undefined) {
88
- return slice.server.specs;
89
- }
90
- else if ('client' in slice && slice.client?.specs !== undefined) {
91
- return slice.client.specs;
92
- }
93
- return undefined;
94
- }
95
- function processSliceSpecs(slice, resolveTypeAndInfo, messages, exampleShapeHints) {
96
- const spec = getSliceSpecs(slice);
97
- if (spec !== undefined && Array.isArray(spec.rules)) {
98
- spec.rules.forEach((rule) => {
99
- // Only process rule objects (server specs), not string rules (client specs)
100
- if (typeof rule === 'object' &&
101
- rule !== null &&
102
- 'examples' in rule &&
103
- Array.isArray(rule.examples)) {
104
- const ruleObj = rule;
105
- ruleObj.examples.forEach((example) => {
106
- if (example.given !== undefined && example.given !== null) {
107
- const givenArray = Array.isArray(example.given) ? example.given : [example.given];
108
- processGiven(givenArray, resolveTypeAndInfo, messages, exampleShapeHints);
109
- }
110
- if (example.when !== undefined && example.when !== null) {
111
- const whenArray = Array.isArray(example.when) ? example.when : [example.when];
112
- processWhen(whenArray, slice, resolveTypeAndInfo, messages, exampleShapeHints);
113
- }
114
- if (example.then !== undefined && example.then !== null) {
115
- const thenArray = Array.isArray(example.then) ? example.then : [example.then];
116
- processThen(thenArray, resolveTypeAndInfo, messages, exampleShapeHints);
117
- }
118
- });
119
- }
120
- });
121
- }
122
- }
123
- function processSliceIntegrations(slice, integrations, messages) {
124
- // Integrations: from data & via
125
- if ('server' in slice && slice.server != null && 'data' in slice.server && slice.server.data !== undefined) {
126
- slice.server.data.forEach((d) => {
127
- processDataItemIntegrations(d, integrations, messages);
128
- });
129
- }
130
- if ('via' in slice && slice.via) {
131
- slice.via.forEach((integrationName) => {
132
- if (!integrations.has(integrationName)) {
133
- const sourcePath = integrationExportRegistry.getSourcePath(integrationName);
134
- if (sourcePath !== null && sourcePath !== undefined && sourcePath !== '') {
135
- integrations.set(integrationName, {
136
- name: integrationName,
137
- description: `${integrationName} integration`,
138
- source: sourcePath,
139
- });
140
- }
141
- }
142
- });
143
- }
144
- }
145
- function processFlow(flow, getFlowSpecificTypes, unionTypes, messages, integrations, exampleShapeHints) {
146
- const flowSpecificTypes = getFlowSpecificTypes(flow);
147
- const resolveTypeAndInfo = createTypeResolver(flowSpecificTypes, unionTypes);
148
- flow.slices.forEach((slice) => {
149
- processSliceSpecs(slice, resolveTypeAndInfo, messages, exampleShapeHints);
150
- processSliceIntegrations(slice, integrations, messages);
151
- });
152
- }
153
- export const flowsToModel = (flows, typesByFile) => {
154
- const messages = new Map();
155
- const integrations = new Map();
156
- const exampleShapeHints = new Map();
157
- // Pull messages defined by registered integrations first
158
- const registeredIntegrations = globalIntegrationRegistry.getAll();
159
- const integrationMessages = extractMessagesFromIntegrations(registeredIntegrations);
160
- for (const msg of integrationMessages) {
161
- if (!messages.has(msg.name))
162
- messages.set(msg.name, msg);
163
- }
164
- // Build a union of all discovered types (global fallback across files)
165
- const unionTypes = buildUnionTypes(typesByFile);
166
- // pick the best map for a given flow
167
- const getFlowSpecificTypes = (flow) => {
168
- return getTypesForFlow(flow, typesByFile);
169
- };
170
- flows.forEach((flow) => processFlow(flow, getFlowSpecificTypes, unionTypes, messages, integrations, exampleShapeHints));
171
- // Ensure all registered integrations are listed
172
- for (const integration of registeredIntegrations) {
173
- const exportName = integrationExportRegistry.getExportNameForIntegration(integration);
174
- if (!integrations.has(exportName)) {
175
- const sourcePath = integrationExportRegistry.getSourcePath(exportName);
176
- if (sourcePath !== null && sourcePath !== undefined && sourcePath !== '') {
177
- integrations.set(exportName, {
178
- name: exportName,
179
- description: `${exportName} integration`,
180
- source: sourcePath,
181
- });
182
- }
183
- }
184
- }
185
- // Apply example-driven structural shapes (e.g., Array<Product> -> Array<{ ... }>)
186
- applyExampleShapeHints(messages, exampleShapeHints);
187
- // Then inline resolvable identifiers via TypeInfo (if available)
188
- if (unionTypes) {
189
- inlineAllMessageFieldTypes(messages, unionTypes);
190
- }
191
- return assembleSpecs(flows, Array.from(messages.values()), Array.from(integrations.values()));
192
- };
193
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/transformers/flow-to-model/index.ts"],"names":[],"mappings":"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"}
@@ -1,4 +0,0 @@
1
- import { TypeInfo } from '../../loader/ts-utils';
2
- import { Message } from '../../index';
3
- export declare function inlineAllMessageFieldTypes(msgs: Map<string, Message>, lookup: Map<string, TypeInfo>): void;
4
- //# sourceMappingURL=inlining.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"inlining.d.ts","sourceRoot":"","sources":["../../../../src/transformers/flow-to-model/inlining.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAgGtC,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,GAAG,IAAI,CAQ1G"}
@@ -1,95 +0,0 @@
1
- function inlineIdentifier(name, lookup, seen = new Set()) {
2
- // avoid infinite recursion on cyclical type graphs
3
- if (seen.has(name))
4
- return undefined;
5
- seen.add(name);
6
- const ti = lookup.get(name);
7
- if (!ti)
8
- return undefined;
9
- // If the referenced type has object-like fields, inline them as { a: T; b?: U }
10
- if (Array.isArray(ti.dataFields) && ti.dataFields.length > 0) {
11
- const parts = ti.dataFields.map((f) => {
12
- const nested = inlineTypeString(f.type, lookup, seen);
13
- const typeStr = nested ?? f.type;
14
- return `${f.name}${f.required ? '' : '?'}: ${typeStr}`;
15
- });
16
- return `{ ${parts.join('; ')} }`;
17
- }
18
- // If we don't have field info, we can't inline safely
19
- return undefined;
20
- }
21
- function handleArrayType(type, lookup, seen) {
22
- const arr = type.match(/^Array<\s*([^>]+)\s*>$/);
23
- if (arr) {
24
- const inner = arr[1].trim();
25
- const inlinedInner = inlineTypeString(inner, lookup, seen) ?? inlineIdentifier(inner, lookup, seen);
26
- if (inlinedInner !== undefined && inlinedInner !== null)
27
- return `Array<${inlinedInner}>`;
28
- }
29
- return undefined;
30
- }
31
- function isPrimitiveType(type) {
32
- return (type === 'string' ||
33
- type === 'number' ||
34
- type === 'boolean' ||
35
- type === 'Date' ||
36
- type === 'unknown' ||
37
- type === 'any');
38
- }
39
- function isStructuralType(type) {
40
- const trimmed = type.trim();
41
- return (trimmed.startsWith('{') && trimmed.endsWith('}')) || trimmed.includes(' | null') || trimmed.includes('|null');
42
- }
43
- function inlineTypeString(type, lookup, seen = new Set()) {
44
- // Array<T>
45
- const arrayResult = handleArrayType(type, lookup, seen);
46
- if (arrayResult !== undefined)
47
- return arrayResult;
48
- // Basic primitives we don't touch
49
- if (isPrimitiveType(type)) {
50
- return undefined;
51
- }
52
- // Already structural? (starts with '{' and ends with '}' or looks like a union with null)
53
- if (isStructuralType(type)) {
54
- return undefined; // keep as is
55
- }
56
- // Handle union types like "string | null"
57
- if (type.includes(' | ')) {
58
- const parts = type.split(' | ').map((p) => p.trim());
59
- const inlinedParts = parts.map((part) => {
60
- if (isPrimitiveType(part) || part === 'null') {
61
- return part;
62
- }
63
- const inlined = inlineTypeString(part, lookup, seen);
64
- return inlined ?? part;
65
- });
66
- // Fix: Convert "unknown" back to "null" in union types (TypeScript parsing issue)
67
- // Only replace unknown with null when it's part of a union with other types
68
- const result = inlinedParts.join(' | ');
69
- if (inlinedParts.length > 1 && inlinedParts.includes('unknown')) {
70
- return result.replace(/\bunknown\b/g, 'null');
71
- }
72
- return result;
73
- }
74
- // Single identifier? Try to inline it
75
- const ident = type.match(/^[A-Za-z_]\w*$/);
76
- if (ident) {
77
- const asObj = inlineIdentifier(type, lookup, seen);
78
- if (asObj !== undefined)
79
- return asObj;
80
- return undefined;
81
- }
82
- // Generic we don't specially handle (Record<...>, etc.) -> leave as-is
83
- return undefined;
84
- }
85
- export function inlineAllMessageFieldTypes(msgs, lookup) {
86
- for (const [, msg] of msgs) {
87
- if (!Array.isArray(msg.fields))
88
- continue;
89
- msg.fields = msg.fields.map((f) => {
90
- const inlined = inlineTypeString(f.type, lookup);
91
- return inlined !== undefined ? { ...f, type: inlined } : f;
92
- });
93
- }
94
- }
95
- //# sourceMappingURL=inlining.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"inlining.js","sourceRoot":"","sources":["../../../../src/transformers/flow-to-model/inlining.ts"],"names":[],"mappings":"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"}
@@ -1,36 +0,0 @@
1
- import { Integration } from '../../types';
2
- import { Message } from '../../index';
3
- export declare function addIntegrationImportPath(integrationName: string, importPath: string): void;
4
- export declare function addIntegrationToMap(integrations: Map<string, {
5
- name: string;
6
- description?: string;
7
- source: string;
8
- }>, system: string): void;
9
- export declare function processDestination(d: {
10
- destination: unknown;
11
- }, integrations: Map<string, {
12
- name: string;
13
- description?: string;
14
- source: string;
15
- }>, messages: Map<string, Message>): void;
16
- export declare function processOrigin(d: {
17
- origin: unknown;
18
- }, integrations: Map<string, {
19
- name: string;
20
- description?: string;
21
- source: string;
22
- }>): void;
23
- export declare function processWithStateOrigin(d: {
24
- _withState: unknown;
25
- }, integrations: Map<string, {
26
- name: string;
27
- description?: string;
28
- source: string;
29
- }>): void;
30
- export declare function processDataItemIntegrations(d: unknown, integrations: Map<string, {
31
- name: string;
32
- description?: string;
33
- source: string;
34
- }>, messages: Map<string, Message>): void;
35
- export declare const extractMessagesFromIntegrations: (integrations: Integration[]) => Message[];
36
- //# sourceMappingURL=integrations.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"integrations.d.ts","sourceRoot":"","sources":["../../../../src/transformers/flow-to-model/integrations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAStC,wBAAgB,wBAAwB,CAAC,eAAe,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI,CAE1F;AAED,wBAAgB,mBAAmB,CACjC,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,EACjF,MAAM,EAAE,MAAM,GACb,IAAI,CAeN;AAED,wBAAgB,kBAAkB,CAChC,CAAC,EAAE;IAAE,WAAW,EAAE,OAAO,CAAA;CAAE,EAC3B,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,EACjF,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,GAC7B,IAAI,CAcN;AAED,wBAAgB,aAAa,CAC3B,CAAC,EAAE;IAAE,MAAM,EAAE,OAAO,CAAA;CAAE,EACtB,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,GAChF,IAAI,CAMN;AAED,wBAAgB,sBAAsB,CACpC,CAAC,EAAE;IAAE,UAAU,EAAE,OAAO,CAAA;CAAE,EAC1B,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,GAChF,IAAI,CASN;AAED,wBAAgB,2BAA2B,CACzC,CAAC,EAAE,OAAO,EACV,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,EACjF,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,GAC7B,IAAI,CAYN;AA6FD,eAAO,MAAM,+BAA+B,GAAI,cAAc,WAAW,EAAE,KAAG,OAAO,EAYpF,CAAC"}
@@ -1,147 +0,0 @@
1
- import { zodSchemaToFields } from './zod-adapter.js';
2
- import { debugIntegrations } from './debug.js';
3
- import { hasDestination, hasOrigin, hasWithState, isValidIntegration } from './guards.js';
4
- import { processDestinationMessage } from './messages.js';
5
- import { integrationExportRegistry } from '../../integration-export-registry.js';
6
- const integrationImportPaths = new Map();
7
- export function addIntegrationImportPath(integrationName, importPath) {
8
- integrationImportPaths.set(integrationName, importPath);
9
- }
10
- export function addIntegrationToMap(integrations, system) {
11
- if (!integrations.has(system)) {
12
- let sourcePath = integrationImportPaths.get(system);
13
- if (sourcePath === null || sourcePath === undefined || sourcePath === '') {
14
- sourcePath = integrationExportRegistry.getSourcePath(system);
15
- }
16
- if (sourcePath !== null && sourcePath !== undefined && sourcePath !== '') {
17
- integrations.set(system, {
18
- name: system,
19
- description: `${system} integration`,
20
- source: sourcePath,
21
- });
22
- }
23
- }
24
- }
25
- export function processDestination(d, integrations, messages) {
26
- if (isValidIntegration(d.destination)) {
27
- d.destination.systems.forEach((system) => {
28
- addIntegrationToMap(integrations, system);
29
- if (typeof d.destination === 'object' &&
30
- d.destination !== null &&
31
- 'message' in d.destination &&
32
- d.destination.message !== null) {
33
- processDestinationMessage(d.destination.message, messages);
34
- }
35
- });
36
- }
37
- }
38
- export function processOrigin(d, integrations) {
39
- if (isValidIntegration(d.origin)) {
40
- d.origin.systems.forEach((system) => {
41
- addIntegrationToMap(integrations, system);
42
- });
43
- }
44
- }
45
- export function processWithStateOrigin(d, integrations) {
46
- if (typeof d._withState === 'object' && d._withState !== null && 'origin' in d._withState) {
47
- const withState = d._withState;
48
- if (isValidIntegration(withState.origin)) {
49
- withState.origin.systems.forEach((system) => {
50
- addIntegrationToMap(integrations, system);
51
- });
52
- }
53
- }
54
- }
55
- export function processDataItemIntegrations(d, integrations, messages) {
56
- if (hasDestination(d)) {
57
- processDestination(d, integrations, messages);
58
- }
59
- if (hasOrigin(d)) {
60
- processOrigin(d, integrations);
61
- }
62
- if (hasWithState(d)) {
63
- processWithStateOrigin(d, integrations);
64
- }
65
- }
66
- function flattenStateEnvelope(fields) {
67
- const dataIdx = fields.findIndex((f) => f.name === 'data' && typeof f.type === 'string' && f.type.trim().startsWith('{'));
68
- if (dataIdx !== -1) {
69
- const src = fields[dataIdx].type; // "{ a: T, b?: U }" or "{ a: T; b?: U }"
70
- const bodyMatch = src.match(/^\{\s*([^}]*)\s*\}$/);
71
- if (bodyMatch && bodyMatch[1]) {
72
- const body = bodyMatch[1];
73
- const inner = [];
74
- // support comma OR semicolon separators
75
- const re = /(\w+)(\?)?\s*:\s*([^;,]+)(?=[;,]|$)/g;
76
- let m;
77
- while ((m = re.exec(body)) !== null) {
78
- inner.push({ name: m[1], required: !m[2], type: m[3].trim() });
79
- }
80
- return fields
81
- .filter((f) => f.name !== 'type' && f.name !== 'data')
82
- .concat(inner.map((f) => ({ ...f, required: f.required })));
83
- }
84
- }
85
- // No envelope? still drop the discriminator 'type'
86
- return fields.filter((f) => f.name !== 'type');
87
- }
88
- function createMessageFromFields(name, fields, messageType) {
89
- if (messageType === 'event') {
90
- return {
91
- type: 'event',
92
- name,
93
- fields,
94
- source: 'external',
95
- metadata: { version: 1 },
96
- };
97
- }
98
- else if (messageType === 'command') {
99
- return {
100
- type: 'command',
101
- name,
102
- fields,
103
- metadata: { version: 1 },
104
- };
105
- }
106
- else {
107
- return {
108
- type: 'state',
109
- name,
110
- fields,
111
- metadata: { version: 1 },
112
- };
113
- }
114
- }
115
- const extractSchemaType = (integration, schemaType, messageType) => {
116
- const messages = [];
117
- const schema = integration[schemaType]?.schema;
118
- if (schema) {
119
- debugIntegrations(`[extractMessagesFromIntegrations] Found ${schemaType}.schema:`, Object.keys(schema));
120
- for (const [name, schemaItem] of Object.entries(schema)) {
121
- if (schemaItem) {
122
- let fields = zodSchemaToFields(schemaItem);
123
- // Flatten state envelope { type, data: { ... } } for integration-derived states
124
- if (messageType === 'state') {
125
- fields = flattenStateEnvelope(fields);
126
- }
127
- debugIntegrations(`[extractMessagesFromIntegrations] Creating ${messageType} message '${name}' with fields:`, fields);
128
- messages.push(createMessageFromFields(name, fields, messageType));
129
- }
130
- }
131
- }
132
- else {
133
- debugIntegrations(`[extractMessagesFromIntegrations] No ${schemaType}.schema found for ${integration.name}`);
134
- }
135
- return messages;
136
- };
137
- export const extractMessagesFromIntegrations = (integrations) => {
138
- const messages = [];
139
- for (const integration of integrations) {
140
- debugIntegrations('Processing integration for message extraction: %s', integration.name);
141
- messages.push(...extractSchemaType(integration, 'Commands', 'command'));
142
- messages.push(...extractSchemaType(integration, 'Queries', 'state'));
143
- messages.push(...extractSchemaType(integration, 'Reactions', 'event'));
144
- }
145
- return messages;
146
- };
147
- //# sourceMappingURL=integrations.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"integrations.js","sourceRoot":"","sources":["../../../../src/transformers/flow-to-model/integrations.ts"],"names":[],"mappings":"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"}
@@ -1,5 +0,0 @@
1
- import { TypeInfo } from '../../loader/ts-utils';
2
- import { Message } from '../../index';
3
- export declare function createMessage(name: string, typeInfo: TypeInfo | undefined, messageType: 'command' | 'event' | 'state'): Message;
4
- export declare function processDestinationMessage(message: unknown, messages: Map<string, Message>): void;
5
- //# sourceMappingURL=messages.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../../../../src/transformers/flow-to-model/messages.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAkDtC,wBAAgB,aAAa,CAC3B,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,QAAQ,GAAG,SAAS,EAC9B,WAAW,EAAE,SAAS,GAAG,OAAO,GAAG,OAAO,GACzC,OAAO,CAkCT;AAED,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAYhG"}
@@ -1,88 +0,0 @@
1
- function mapKindToMessageType(k) {
2
- if (k === 'command')
3
- return 'command';
4
- if (k === 'query')
5
- return 'state';
6
- return 'event';
7
- }
8
- function buildInitialFields(typeInfo) {
9
- return (typeInfo?.dataFields ?? []).map((f) => ({
10
- name: f.name,
11
- type: f.type.includes(' | ') ? f.type.replace(/\bunknown\b/g, 'null') : f.type, // Fix TypeScript parsing issue: unknown -> null in union types only
12
- required: f.required,
13
- description: undefined,
14
- defaultValue: undefined,
15
- }));
16
- }
17
- function parseEnvelopeFields(src) {
18
- const inner = [];
19
- const m = src.match(/^\{\s*([^}]*)\s*\}$/);
20
- if (m && m[1]) {
21
- const body = m[1];
22
- const re = /(\w+)(\?)?\s*:\s*([^;,]+)(?=[;,]|$)/g;
23
- let match;
24
- while ((match = re.exec(body)) !== null) {
25
- inner.push({
26
- name: match[1],
27
- required: !match[2],
28
- type: match[3].trim(),
29
- });
30
- }
31
- }
32
- return inner;
33
- }
34
- function processStateFields(fields) {
35
- const dataField = fields.find((f) => f.name === 'data' && true && f.type.trim().startsWith('{'));
36
- if (dataField) {
37
- const inner = parseEnvelopeFields(dataField.type);
38
- // Replace envelope with flattened inner fields, drop 'type' and 'data'
39
- return fields
40
- .filter((f) => f.name !== 'type' && f.name !== 'data')
41
- .concat(inner.map((f) => ({ ...f, description: undefined, defaultValue: undefined })));
42
- }
43
- return fields;
44
- }
45
- export function createMessage(name, typeInfo, messageType) {
46
- let fields = buildInitialFields(typeInfo);
47
- if (messageType === 'state') {
48
- fields = processStateFields(fields);
49
- }
50
- const metadata = { version: 1 };
51
- if (messageType === 'event') {
52
- return {
53
- type: 'event',
54
- name,
55
- fields,
56
- source: 'internal',
57
- metadata,
58
- };
59
- }
60
- if (messageType === 'command') {
61
- return {
62
- type: 'command',
63
- name,
64
- fields,
65
- metadata,
66
- };
67
- }
68
- return {
69
- type: 'state',
70
- name,
71
- fields,
72
- metadata,
73
- };
74
- }
75
- export function processDestinationMessage(message, messages) {
76
- if (typeof message === 'object' && message !== null && 'name' in message && 'type' in message) {
77
- const typedMessage = message;
78
- if (typeof typedMessage.name === 'string' && typeof typedMessage.type === 'string') {
79
- const messageType = typedMessage.type;
80
- const mappedType = mapKindToMessageType(messageType);
81
- if (!messages.has(typedMessage.name)) {
82
- // For integration messages without TypeInfo, create empty field list
83
- messages.set(typedMessage.name, createMessage(typedMessage.name, undefined, mappedType));
84
- }
85
- }
86
- }
87
- }
88
- //# sourceMappingURL=messages.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"messages.js","sourceRoot":"","sources":["../../../../src/transformers/flow-to-model/messages.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- import { Message } from '../../index';
2
- export declare function preferNewFields(newFields: Message['fields'], oldFields?: Message['fields']): boolean;
3
- //# sourceMappingURL=normalize.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"normalize.d.ts","sourceRoot":"","sources":["../../../../src/transformers/flow-to-model/normalize.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAWtC,wBAAgB,eAAe,CAAC,SAAS,EAAE,OAAO,CAAC,QAAQ,CAAC,EAAE,SAAS,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,OAAO,CAepG"}