@auto-engineer/narrative 0.15.0 → 0.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/CHANGELOG.md +13 -0
  3. package/dist/tsconfig.tsbuildinfo +1 -1
  4. package/package.json +5 -4
  5. package/tsconfig.json +1 -1
  6. package/dist/src/fluent-builder.specs.d.ts +0 -2
  7. package/dist/src/fluent-builder.specs.d.ts.map +0 -1
  8. package/dist/src/fluent-builder.specs.js +0 -28
  9. package/dist/src/fluent-builder.specs.js.map +0 -1
  10. package/dist/src/getNarratives.cache.specs.d.ts +0 -2
  11. package/dist/src/getNarratives.cache.specs.d.ts.map +0 -1
  12. package/dist/src/getNarratives.cache.specs.js +0 -234
  13. package/dist/src/getNarratives.cache.specs.js.map +0 -1
  14. package/dist/src/getNarratives.specs.d.ts +0 -2
  15. package/dist/src/getNarratives.specs.d.ts.map +0 -1
  16. package/dist/src/getNarratives.specs.js +0 -1307
  17. package/dist/src/getNarratives.specs.js.map +0 -1
  18. package/dist/src/id/addAutoIds.specs.d.ts +0 -2
  19. package/dist/src/id/addAutoIds.specs.d.ts.map +0 -1
  20. package/dist/src/id/addAutoIds.specs.js +0 -602
  21. package/dist/src/id/addAutoIds.specs.js.map +0 -1
  22. package/dist/src/id/hasAllIds.specs.d.ts +0 -2
  23. package/dist/src/id/hasAllIds.specs.d.ts.map +0 -1
  24. package/dist/src/id/hasAllIds.specs.js +0 -424
  25. package/dist/src/id/hasAllIds.specs.js.map +0 -1
  26. package/dist/src/model-to-narrative.specs.d.ts +0 -2
  27. package/dist/src/model-to-narrative.specs.d.ts.map +0 -1
  28. package/dist/src/model-to-narrative.specs.js +0 -2437
  29. package/dist/src/model-to-narrative.specs.js.map +0 -1
  30. package/dist/src/narrative-context.specs.d.ts +0 -2
  31. package/dist/src/narrative-context.specs.d.ts.map +0 -1
  32. package/dist/src/narrative-context.specs.js +0 -260
  33. package/dist/src/narrative-context.specs.js.map +0 -1
  34. package/dist/src/transformers/model-to-narrative/generators/gwt.specs.d.ts +0 -2
  35. package/dist/src/transformers/model-to-narrative/generators/gwt.specs.d.ts.map +0 -1
  36. package/dist/src/transformers/model-to-narrative/generators/gwt.specs.js +0 -142
  37. package/dist/src/transformers/model-to-narrative/generators/gwt.specs.js.map +0 -1
  38. package/dist/src/transformers/narrative-to-model/type-inference.specs.d.ts +0 -2
  39. package/dist/src/transformers/narrative-to-model/type-inference.specs.d.ts.map +0 -1
  40. package/dist/src/transformers/narrative-to-model/type-inference.specs.js +0 -177
  41. package/dist/src/transformers/narrative-to-model/type-inference.specs.js.map +0 -1
@@ -1,177 +0,0 @@
1
- import { describe, expect, it } from 'vitest';
2
- import { narrativesToModel } from './index.js';
3
- describe('Type inference in narrative-to-model transformer', () => {
4
- it('should correctly extract command types from when clauses', () => {
5
- const flows = [
6
- {
7
- name: 'Test Flow',
8
- id: 'FLOW-001',
9
- slices: [
10
- {
11
- id: 'SLICE-001',
12
- type: 'command',
13
- name: 'Submit Answer Command',
14
- client: { specs: [] },
15
- server: {
16
- description: 'Submit answer server',
17
- specs: [
18
- {
19
- type: 'gherkin',
20
- feature: 'Submit Answer Specs',
21
- rules: [
22
- {
23
- id: 'RULE-001',
24
- name: 'Should accept answer submission',
25
- examples: [
26
- {
27
- name: 'Valid answer submission',
28
- steps: [
29
- {
30
- keyword: 'When',
31
- text: 'AnswerQuestion',
32
- docString: {
33
- questionnaireId: 'q-001',
34
- participantId: 'participant-abc',
35
- questionId: 'q1',
36
- answer: 'Yes',
37
- },
38
- },
39
- {
40
- keyword: 'Then',
41
- text: 'QuestionAnswered',
42
- docString: {
43
- questionnaireId: 'q-001',
44
- participantId: 'participant-abc',
45
- questionId: 'q1',
46
- answer: 'Yes',
47
- savedAt: new Date(),
48
- },
49
- },
50
- ],
51
- },
52
- ],
53
- },
54
- ],
55
- },
56
- ],
57
- },
58
- },
59
- {
60
- id: 'SLICE-002',
61
- type: 'command',
62
- name: 'Submit Questionnaire Command',
63
- client: { specs: [] },
64
- server: {
65
- description: 'Submit questionnaire server',
66
- specs: [
67
- {
68
- type: 'gherkin',
69
- feature: 'Submit Questionnaire Specs',
70
- rules: [
71
- {
72
- id: 'RULE-002',
73
- name: 'Should submit questionnaire',
74
- examples: [
75
- {
76
- name: 'Valid questionnaire submission',
77
- steps: [
78
- {
79
- keyword: 'When',
80
- text: 'SubmitQuestionnaire',
81
- docString: {
82
- questionnaireId: 'q-001',
83
- participantId: 'participant-abc',
84
- },
85
- },
86
- {
87
- keyword: 'Then',
88
- text: 'QuestionnaireSubmitted',
89
- docString: {
90
- questionnaireId: 'q-001',
91
- participantId: 'participant-abc',
92
- submittedAt: new Date(),
93
- },
94
- },
95
- ],
96
- },
97
- ],
98
- },
99
- ],
100
- },
101
- ],
102
- },
103
- },
104
- ],
105
- },
106
- ];
107
- const model = narrativesToModel(flows);
108
- // Should have the correct command messages extracted
109
- expect(model.messages.some((msg) => msg.name === 'AnswerQuestion')).toBe(true);
110
- expect(model.messages.some((msg) => msg.name === 'SubmitQuestionnaire')).toBe(true);
111
- expect(model.messages.some((msg) => msg.name === 'QuestionAnswered')).toBe(true);
112
- expect(model.messages.some((msg) => msg.name === 'QuestionnaireSubmitted')).toBe(true);
113
- // Should NOT have InferredType fallback
114
- expect(model.messages.some((msg) => msg.name === 'InferredType')).toBe(false);
115
- // Verify the command messages have the correct structure
116
- const answerQuestionMsg = model.messages.find((msg) => msg.name === 'AnswerQuestion');
117
- expect(answerQuestionMsg?.type).toBe('command');
118
- expect(answerQuestionMsg?.fields).toBeDefined();
119
- const submitQuestionnaireMsg = model.messages.find((msg) => msg.name === 'SubmitQuestionnaire');
120
- expect(submitQuestionnaireMsg?.type).toBe('command');
121
- expect(submitQuestionnaireMsg?.fields).toBeDefined();
122
- });
123
- it('should handle single object when/then clauses correctly', () => {
124
- const flows = [
125
- {
126
- name: 'Single Object Flow',
127
- id: 'FLOW-001',
128
- slices: [
129
- {
130
- id: 'SLICE-001',
131
- type: 'command',
132
- name: 'Single Object Command',
133
- client: { specs: [] },
134
- server: {
135
- description: 'Single object server',
136
- specs: [
137
- {
138
- type: 'gherkin',
139
- feature: 'Single Object Specs',
140
- rules: [
141
- {
142
- id: 'RULE-001',
143
- name: 'Should handle single object',
144
- examples: [
145
- {
146
- name: 'Single object example',
147
- steps: [
148
- {
149
- keyword: 'When',
150
- text: 'TestCommand',
151
- docString: { test: 'value' },
152
- },
153
- {
154
- keyword: 'Then',
155
- text: 'TestEvent',
156
- docString: { result: 'success' },
157
- },
158
- ],
159
- },
160
- ],
161
- },
162
- ],
163
- },
164
- ],
165
- },
166
- },
167
- ],
168
- },
169
- ];
170
- const model = narrativesToModel(flows);
171
- // Should extract the command and event types from single objects
172
- expect(model.messages.some((msg) => msg.name === 'TestCommand')).toBe(true);
173
- expect(model.messages.some((msg) => msg.name === 'TestEvent')).toBe(true);
174
- expect(model.messages.some((msg) => msg.name === 'InferredType')).toBe(false);
175
- });
176
- });
177
- //# sourceMappingURL=type-inference.specs.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"type-inference.specs.js","sourceRoot":"","sources":["../../../../src/transformers/narrative-to-model/type-inference.specs.ts"],"names":[],"mappings":"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"}