@auto-engineer/narrative 0.14.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 (46) hide show
  1. package/.turbo/turbo-build.log +9 -10
  2. package/CHANGELOG.md +26 -0
  3. package/README.md +151 -99
  4. package/dist/src/commands/export-schema.d.ts.map +1 -1
  5. package/dist/src/commands/export-schema.js +5 -1
  6. package/dist/src/commands/export-schema.js.map +1 -1
  7. package/dist/tsconfig.tsbuildinfo +1 -1
  8. package/package.json +5 -4
  9. package/src/commands/export-schema.ts +5 -1
  10. package/tsconfig.json +1 -1
  11. package/dist/src/fluent-builder.specs.d.ts +0 -2
  12. package/dist/src/fluent-builder.specs.d.ts.map +0 -1
  13. package/dist/src/fluent-builder.specs.js +0 -28
  14. package/dist/src/fluent-builder.specs.js.map +0 -1
  15. package/dist/src/getNarratives.cache.specs.d.ts +0 -2
  16. package/dist/src/getNarratives.cache.specs.d.ts.map +0 -1
  17. package/dist/src/getNarratives.cache.specs.js +0 -234
  18. package/dist/src/getNarratives.cache.specs.js.map +0 -1
  19. package/dist/src/getNarratives.specs.d.ts +0 -2
  20. package/dist/src/getNarratives.specs.d.ts.map +0 -1
  21. package/dist/src/getNarratives.specs.js +0 -1307
  22. package/dist/src/getNarratives.specs.js.map +0 -1
  23. package/dist/src/id/addAutoIds.specs.d.ts +0 -2
  24. package/dist/src/id/addAutoIds.specs.d.ts.map +0 -1
  25. package/dist/src/id/addAutoIds.specs.js +0 -602
  26. package/dist/src/id/addAutoIds.specs.js.map +0 -1
  27. package/dist/src/id/hasAllIds.specs.d.ts +0 -2
  28. package/dist/src/id/hasAllIds.specs.d.ts.map +0 -1
  29. package/dist/src/id/hasAllIds.specs.js +0 -424
  30. package/dist/src/id/hasAllIds.specs.js.map +0 -1
  31. package/dist/src/model-to-narrative.specs.d.ts +0 -2
  32. package/dist/src/model-to-narrative.specs.d.ts.map +0 -1
  33. package/dist/src/model-to-narrative.specs.js +0 -2437
  34. package/dist/src/model-to-narrative.specs.js.map +0 -1
  35. package/dist/src/narrative-context.specs.d.ts +0 -2
  36. package/dist/src/narrative-context.specs.d.ts.map +0 -1
  37. package/dist/src/narrative-context.specs.js +0 -260
  38. package/dist/src/narrative-context.specs.js.map +0 -1
  39. package/dist/src/transformers/model-to-narrative/generators/gwt.specs.d.ts +0 -2
  40. package/dist/src/transformers/model-to-narrative/generators/gwt.specs.d.ts.map +0 -1
  41. package/dist/src/transformers/model-to-narrative/generators/gwt.specs.js +0 -142
  42. package/dist/src/transformers/model-to-narrative/generators/gwt.specs.js.map +0 -1
  43. package/dist/src/transformers/narrative-to-model/type-inference.specs.d.ts +0 -2
  44. package/dist/src/transformers/narrative-to-model/type-inference.specs.d.ts.map +0 -1
  45. package/dist/src/transformers/narrative-to-model/type-inference.specs.js +0 -177
  46. 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":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAE9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAE5C,QAAQ,CAAC,kDAAkD,EAAE,GAAG,EAAE;IAChE,EAAE,CAAC,0DAA0D,EAAE,GAAG,EAAE;QAClE,MAAM,KAAK,GAAgB;YACzB;gBACE,IAAI,EAAE,WAAW;gBACjB,EAAE,EAAE,UAAU;gBACd,MAAM,EAAE;oBACN;wBACE,EAAE,EAAE,WAAW;wBACf,IAAI,EAAE,SAAS;wBACf,IAAI,EAAE,uBAAuB;wBAC7B,MAAM,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;wBACrB,MAAM,EAAE;4BACN,WAAW,EAAE,sBAAsB;4BACnC,KAAK,EAAE;gCACL;oCACE,IAAI,EAAE,SAAS;oCACf,OAAO,EAAE,qBAAqB;oCAC9B,KAAK,EAAE;wCACL;4CACE,EAAE,EAAE,UAAU;4CACd,IAAI,EAAE,iCAAiC;4CACvC,QAAQ,EAAE;gDACR;oDACE,IAAI,EAAE,yBAAyB;oDAC/B,KAAK,EAAE;wDACL;4DACE,OAAO,EAAE,MAAM;4DACf,IAAI,EAAE,gBAAgB;4DACtB,SAAS,EAAE;gEACT,eAAe,EAAE,OAAO;gEACxB,aAAa,EAAE,iBAAiB;gEAChC,UAAU,EAAE,IAAI;gEAChB,MAAM,EAAE,KAAK;6DACd;yDACF;wDACD;4DACE,OAAO,EAAE,MAAM;4DACf,IAAI,EAAE,kBAAkB;4DACxB,SAAS,EAAE;gEACT,eAAe,EAAE,OAAO;gEACxB,aAAa,EAAE,iBAAiB;gEAChC,UAAU,EAAE,IAAI;gEAChB,MAAM,EAAE,KAAK;gEACb,OAAO,EAAE,IAAI,IAAI,EAAE;6DACpB;yDACF;qDACF;iDACF;6CACF;yCACF;qCACF;iCACF;6BACF;yBACF;qBACF;oBACD;wBACE,EAAE,EAAE,WAAW;wBACf,IAAI,EAAE,SAAS;wBACf,IAAI,EAAE,8BAA8B;wBACpC,MAAM,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;wBACrB,MAAM,EAAE;4BACN,WAAW,EAAE,6BAA6B;4BAC1C,KAAK,EAAE;gCACL;oCACE,IAAI,EAAE,SAAS;oCACf,OAAO,EAAE,4BAA4B;oCACrC,KAAK,EAAE;wCACL;4CACE,EAAE,EAAE,UAAU;4CACd,IAAI,EAAE,6BAA6B;4CACnC,QAAQ,EAAE;gDACR;oDACE,IAAI,EAAE,gCAAgC;oDACtC,KAAK,EAAE;wDACL;4DACE,OAAO,EAAE,MAAM;4DACf,IAAI,EAAE,qBAAqB;4DAC3B,SAAS,EAAE;gEACT,eAAe,EAAE,OAAO;gEACxB,aAAa,EAAE,iBAAiB;6DACjC;yDACF;wDACD;4DACE,OAAO,EAAE,MAAM;4DACf,IAAI,EAAE,wBAAwB;4DAC9B,SAAS,EAAE;gEACT,eAAe,EAAE,OAAO;gEACxB,aAAa,EAAE,iBAAiB;gEAChC,WAAW,EAAE,IAAI,IAAI,EAAE;6DACxB;yDACF;qDACF;iDACF;6CACF;yCACF;qCACF;iCACF;6BACF;yBACF;qBACF;iBACF;aACF;SACF,CAAC;QAEF,MAAM,KAAK,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAEvC,qDAAqD;QACrD,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/E,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,qBAAqB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpF,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjF,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,wBAAwB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEvF,wCAAwC;QACxC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAE9E,yDAAyD;QACzD,MAAM,iBAAiB,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,gBAAgB,CAAC,CAAC;QACtF,MAAM,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChD,MAAM,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;QAEhD,MAAM,sBAAsB,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,qBAAqB,CAAC,CAAC;QAChG,MAAM,CAAC,sBAAsB,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACrD,MAAM,CAAC,sBAAsB,EAAE,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;IACvD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yDAAyD,EAAE,GAAG,EAAE;QACjE,MAAM,KAAK,GAAgB;YACzB;gBACE,IAAI,EAAE,oBAAoB;gBAC1B,EAAE,EAAE,UAAU;gBACd,MAAM,EAAE;oBACN;wBACE,EAAE,EAAE,WAAW;wBACf,IAAI,EAAE,SAAS;wBACf,IAAI,EAAE,uBAAuB;wBAC7B,MAAM,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;wBACrB,MAAM,EAAE;4BACN,WAAW,EAAE,sBAAsB;4BACnC,KAAK,EAAE;gCACL;oCACE,IAAI,EAAE,SAAS;oCACf,OAAO,EAAE,qBAAqB;oCAC9B,KAAK,EAAE;wCACL;4CACE,EAAE,EAAE,UAAU;4CACd,IAAI,EAAE,6BAA6B;4CACnC,QAAQ,EAAE;gDACR;oDACE,IAAI,EAAE,uBAAuB;oDAC7B,KAAK,EAAE;wDACL;4DACE,OAAO,EAAE,MAAM;4DACf,IAAI,EAAE,aAAa;4DACnB,SAAS,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE;yDAC7B;wDACD;4DACE,OAAO,EAAE,MAAM;4DACf,IAAI,EAAE,WAAW;4DACjB,SAAS,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE;yDACjC;qDACF;iDACF;6CACF;yCACF;qCACF;iCACF;6BACF;yBACF;qBACF;iBACF;aACF;SACF,CAAC;QAEF,MAAM,KAAK,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAEvC,iEAAiE;QACjE,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5E,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1E,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAChF,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}