@auto-engineer/narrative 0.11.12 → 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 (54) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/CHANGELOG.md +11 -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} +1 -1
  8. package/dist/src/getNarratives.cache.specs.js.map +1 -0
  9. package/dist/src/getNarratives.specs.js +6 -19
  10. package/dist/src/getNarratives.specs.js.map +1 -1
  11. package/dist/src/model-to-narrative.specs.d.ts +2 -0
  12. package/dist/src/model-to-narrative.specs.d.ts.map +1 -0
  13. package/dist/src/{model-to-flow.specs.js → model-to-narrative.specs.js} +209 -1
  14. package/dist/src/model-to-narrative.specs.js.map +1 -0
  15. package/dist/src/narrative-context.d.ts.map +1 -1
  16. package/dist/src/narrative-context.js +0 -1
  17. package/dist/src/narrative-context.js.map +1 -1
  18. package/dist/src/narrative.d.ts +1 -0
  19. package/dist/src/narrative.d.ts.map +1 -1
  20. package/dist/src/narrative.js +11 -0
  21. package/dist/src/narrative.js.map +1 -1
  22. package/dist/src/samples/mixed-given-types.narrative.js +0 -1
  23. package/dist/src/samples/mixed-given-types.narrative.js.map +1 -1
  24. package/dist/src/samples/questionnaires.narrative.js +0 -2
  25. package/dist/src/samples/questionnaires.narrative.js.map +1 -1
  26. package/dist/src/schema.d.ts +1855 -1855
  27. package/dist/src/schema.d.ts.map +1 -1
  28. package/dist/src/schema.js +1 -0
  29. package/dist/src/schema.js.map +1 -1
  30. package/dist/src/transformers/model-to-narrative/generators/gwt.d.ts.map +1 -1
  31. package/dist/src/transformers/model-to-narrative/generators/gwt.js +32 -8
  32. package/dist/src/transformers/model-to-narrative/generators/gwt.js.map +1 -1
  33. package/dist/src/transformers/narrative-to-model/debug.d.ts.map +1 -1
  34. package/dist/src/transformers/narrative-to-model/debug.js +1 -1
  35. package/dist/src/transformers/narrative-to-model/debug.js.map +1 -1
  36. package/dist/tsconfig.tsbuildinfo +1 -1
  37. package/package.json +5 -5
  38. package/src/commands/export-schema-helper.ts +1 -2
  39. package/src/getNarratives.specs.ts +6 -20
  40. package/src/{model-to-flow.specs.ts → model-to-narrative.specs.ts} +212 -0
  41. package/src/narrative-context.ts +0 -1
  42. package/src/narrative.ts +16 -1
  43. package/src/samples/mixed-given-types.narrative.ts +0 -1
  44. package/src/samples/questionnaires.narrative.ts +0 -2
  45. package/src/schema.ts +1 -0
  46. package/src/transformers/model-to-narrative/generators/gwt.ts +44 -9
  47. package/src/transformers/narrative-to-model/debug.ts +1 -1
  48. package/dist/src/getFlows.cache.specs.d.ts +0 -2
  49. package/dist/src/getFlows.cache.specs.d.ts.map +0 -1
  50. package/dist/src/getFlows.cache.specs.js.map +0 -1
  51. package/dist/src/model-to-flow.specs.d.ts +0 -2
  52. package/dist/src/model-to-flow.specs.d.ts.map +0 -1
  53. package/dist/src/model-to-flow.specs.js.map +0 -1
  54. /package/src/{getFlows.cache.specs.ts → getNarratives.cache.specs.ts} +0 -0
package/package.json CHANGED
@@ -19,9 +19,9 @@
19
19
  "typescript": "^5.9.2",
20
20
  "zod": "^3.22.4",
21
21
  "zod-to-json-schema": "^3.22.3",
22
- "@auto-engineer/file-store": "0.11.12",
23
- "@auto-engineer/id": "0.11.12",
24
- "@auto-engineer/message-bus": "0.11.12"
22
+ "@auto-engineer/file-store": "0.11.13",
23
+ "@auto-engineer/id": "0.11.13",
24
+ "@auto-engineer/message-bus": "0.11.13"
25
25
  },
26
26
  "devDependencies": {
27
27
  "@types/node": "^20.0.0",
@@ -29,12 +29,12 @@
29
29
  "eslint-plugin-sort-keys-fix": "^1.1.2",
30
30
  "fake-indexeddb": "^6.0.0",
31
31
  "tsx": "^4.20.3",
32
- "@auto-engineer/cli": "0.11.12"
32
+ "@auto-engineer/cli": "0.11.13"
33
33
  },
34
34
  "publishConfig": {
35
35
  "access": "public"
36
36
  },
37
- "version": "0.11.12",
37
+ "version": "0.11.13",
38
38
  "scripts": {
39
39
  "build": "tsx scripts/build.ts",
40
40
  "test": "vitest run --reporter=dot",
@@ -12,7 +12,6 @@ const main = async () => {
12
12
  debug('Starting export-schema-helper with directory: %s', directory);
13
13
 
14
14
  try {
15
- // Import getFlows from the project's node_modules to ensure we use the same module context
16
15
  const getFileStore = getFs as () => Promise<IExtendedFileStore>;
17
16
  const fs: IExtendedFileStore = await getFileStore();
18
17
  const projectNarrativePath = fs.join(
@@ -24,7 +23,7 @@ const main = async () => {
24
23
  'src',
25
24
  'getNarratives.js',
26
25
  );
27
- debug('Importing getFlows from: %s', projectNarrativePath);
26
+ debug('Importing getNarratives from: %s', projectNarrativePath);
28
27
 
29
28
  const { pathToFileURL } = await import('url');
30
29
  const narrativeModule = (await import(pathToFileURL(projectNarrativePath).href)) as {
@@ -19,7 +19,7 @@ describe('getNarratives', (_mode) => {
19
19
  root = path.resolve(__dirname);
20
20
  });
21
21
  // eslint-disable-next-line complexity
22
- it('loads multiple flows and generates correct models', async () => {
22
+ it('loads multiple narratives and generates correct models', async () => {
23
23
  const flows = await getNarratives({ vfs, root: path.resolve(__dirname), pattern, fastFsScan: true });
24
24
  const schemas = flows.toModel();
25
25
 
@@ -191,7 +191,7 @@ describe('getNarratives', (_mode) => {
191
191
  expect(Array.isArray(parsed.integrations)).toBe(true);
192
192
  });
193
193
 
194
- it('should handle flows with integrations', async () => {
194
+ it('should handle narratives with integrations', async () => {
195
195
  const flows = await getNarratives({ vfs: vfs, root: root, pattern: /\.(narrative)\.(ts)$/, fastFsScan: true });
196
196
  const specsSchema = flows.toModel();
197
197
 
@@ -267,7 +267,7 @@ describe('getNarratives', (_mode) => {
267
267
  ).toBe(true);
268
268
  });
269
269
 
270
- it('should have ids for flows and slices that have ids', async () => {
270
+ it('should have ids for narratives and slices that have ids', async () => {
271
271
  const flows = await getNarratives({ vfs: vfs, root: root, pattern: /\.(narrative)\.(ts)$/, fastFsScan: true });
272
272
 
273
273
  const schemas = flows.toModel();
@@ -640,7 +640,7 @@ flow('questionnaires-test', () => {
640
640
  }
641
641
  });
642
642
 
643
- it('does not emit empty generics for empty when()', async () => {
643
+ it('does not emit empty generics or empty when clauses', async () => {
644
644
  const flows = await getNarratives({
645
645
  vfs,
646
646
  root,
@@ -651,13 +651,9 @@ flow('questionnaires-test', () => {
651
651
  const model = flows.toModel();
652
652
  const code = await modelToNarrative(model);
653
653
 
654
- // Should not produce `.when<>({})` for empty when-clauses
655
654
  expect(code).not.toMatch(/\.when<>\(\{\}\)/);
656
-
657
- // should render empty whens as `.when({})` for empty when-clauses
658
- const emptyWhenCount = (code.match(/\.when\(\{}\)/g) ?? []).length;
659
- expect(emptyWhenCount).toBeGreaterThanOrEqual(2);
660
655
  expect(code).not.toMatch(/\.when<\s*\{\s*}\s*>\(\{}\)/);
656
+ expect(code).not.toMatch(/\.when\(\{}\)/);
661
657
  });
662
658
 
663
659
  it('should not generate phantom messages with empty names', async () => {
@@ -927,17 +923,7 @@ function validateMixedGivenTypes(example: Example): void {
927
923
  }
928
924
 
929
925
  function validateEmptyWhenClause(example: Example): void {
930
- expect(example.when).toBeDefined();
931
- expect(typeof example.when === 'object' && !Array.isArray(example.when)).toBe(true);
932
- if (typeof example.when === 'object' && !Array.isArray(example.when)) {
933
- expect('commandRef' in example.when).toBe(false);
934
- expect('eventRef' in example.when).toBe(true);
935
- expect('stateRef' in example.when).toBe(false);
936
- if ('eventRef' in example.when) {
937
- expect(example.when.eventRef).toBe('');
938
- }
939
- expect(example.when.exampleData).toEqual({});
940
- }
926
+ expect(example.when).toBeUndefined();
941
927
  }
942
928
 
943
929
  function validateThenClause(example: Example): void {
@@ -1819,4 +1819,216 @@ narrative('Response Analytics', () => {
1819
1819
  });
1820
1820
  `);
1821
1821
  });
1822
+
1823
+ it('should omit .when({}) when given has multiple items and when is empty', async () => {
1824
+ const modelWithEmptyWhen: Model = {
1825
+ variant: 'specs',
1826
+ narratives: [
1827
+ {
1828
+ name: 'Todo List Summary',
1829
+ id: 'TODO-001',
1830
+ slices: [
1831
+ {
1832
+ name: 'views completion summary',
1833
+ id: 'SUMMARY-001',
1834
+ type: 'query',
1835
+ client: {
1836
+ description: 'Summary view client',
1837
+ },
1838
+ server: {
1839
+ description: 'Summary calculation server',
1840
+ specs: {
1841
+ name: 'Summary Statistics',
1842
+ rules: [
1843
+ {
1844
+ id: 'RULE-SUMMARY',
1845
+ description: 'summary shows overall todo list statistics',
1846
+ examples: [
1847
+ {
1848
+ description: 'calculates summary from multiple todos',
1849
+ given: [
1850
+ {
1851
+ eventRef: 'TodoAdded',
1852
+ exampleData: {
1853
+ todoId: 'todo-001',
1854
+ description: 'Buy groceries',
1855
+ status: 'pending',
1856
+ addedAt: new Date('2030-01-01T09:00:00.000Z'),
1857
+ },
1858
+ },
1859
+ {
1860
+ eventRef: 'TodoAdded',
1861
+ exampleData: {
1862
+ todoId: 'todo-002',
1863
+ description: 'Write report',
1864
+ status: 'pending',
1865
+ addedAt: new Date('2030-01-01T09:10:00.000Z'),
1866
+ },
1867
+ },
1868
+ {
1869
+ eventRef: 'TodoMarkedInProgress',
1870
+ exampleData: {
1871
+ todoId: 'todo-001',
1872
+ markedAt: new Date('2030-01-01T10:00:00.000Z'),
1873
+ },
1874
+ },
1875
+ {
1876
+ eventRef: 'TodoMarkedComplete',
1877
+ exampleData: {
1878
+ todoId: 'todo-002',
1879
+ completedAt: new Date('2030-01-01T11:00:00.000Z'),
1880
+ },
1881
+ },
1882
+ ],
1883
+ when: {
1884
+ eventRef: '',
1885
+ exampleData: {},
1886
+ },
1887
+ then: [
1888
+ {
1889
+ stateRef: 'TodoListSummary',
1890
+ exampleData: {
1891
+ summaryId: 'main-summary',
1892
+ totalTodos: 2,
1893
+ pendingCount: 0,
1894
+ inProgressCount: 1,
1895
+ completedCount: 1,
1896
+ completionPercentage: 50,
1897
+ },
1898
+ },
1899
+ ],
1900
+ },
1901
+ ],
1902
+ },
1903
+ ],
1904
+ },
1905
+ },
1906
+ },
1907
+ ],
1908
+ },
1909
+ ],
1910
+ messages: [
1911
+ {
1912
+ type: 'event',
1913
+ name: 'TodoAdded',
1914
+ fields: [
1915
+ { name: 'todoId', type: 'string', required: true },
1916
+ { name: 'description', type: 'string', required: true },
1917
+ { name: 'status', type: 'string', required: true },
1918
+ { name: 'addedAt', type: 'Date', required: true },
1919
+ ],
1920
+ source: 'internal',
1921
+ metadata: { version: 1 },
1922
+ },
1923
+ {
1924
+ type: 'event',
1925
+ name: 'TodoMarkedInProgress',
1926
+ fields: [
1927
+ { name: 'todoId', type: 'string', required: true },
1928
+ { name: 'markedAt', type: 'Date', required: true },
1929
+ ],
1930
+ source: 'internal',
1931
+ metadata: { version: 1 },
1932
+ },
1933
+ {
1934
+ type: 'event',
1935
+ name: 'TodoMarkedComplete',
1936
+ fields: [
1937
+ { name: 'todoId', type: 'string', required: true },
1938
+ { name: 'completedAt', type: 'Date', required: true },
1939
+ ],
1940
+ source: 'internal',
1941
+ metadata: { version: 1 },
1942
+ },
1943
+ {
1944
+ type: 'state',
1945
+ name: 'TodoListSummary',
1946
+ fields: [
1947
+ { name: 'summaryId', type: 'string', required: true },
1948
+ { name: 'totalTodos', type: 'number', required: true },
1949
+ { name: 'pendingCount', type: 'number', required: true },
1950
+ { name: 'inProgressCount', type: 'number', required: true },
1951
+ { name: 'completedCount', type: 'number', required: true },
1952
+ { name: 'completionPercentage', type: 'number', required: true },
1953
+ ],
1954
+ metadata: { version: 1 },
1955
+ },
1956
+ ],
1957
+ integrations: [],
1958
+ };
1959
+
1960
+ const code = await modelToNarrative(modelWithEmptyWhen);
1961
+
1962
+ expect(code).toEqual(`import { example, narrative, query, rule, specs } from '@auto-engineer/narrative';
1963
+ import type { Event, State } from '@auto-engineer/narrative';
1964
+ type TodoAdded = Event<
1965
+ 'TodoAdded',
1966
+ {
1967
+ todoId: string;
1968
+ description: string;
1969
+ status: string;
1970
+ addedAt: Date;
1971
+ }
1972
+ >;
1973
+ type TodoMarkedInProgress = Event<
1974
+ 'TodoMarkedInProgress',
1975
+ {
1976
+ todoId: string;
1977
+ markedAt: Date;
1978
+ }
1979
+ >;
1980
+ type TodoMarkedComplete = Event<
1981
+ 'TodoMarkedComplete',
1982
+ {
1983
+ todoId: string;
1984
+ completedAt: Date;
1985
+ }
1986
+ >;
1987
+ type TodoListSummary = State<
1988
+ 'TodoListSummary',
1989
+ {
1990
+ summaryId: string;
1991
+ totalTodos: number;
1992
+ pendingCount: number;
1993
+ inProgressCount: number;
1994
+ completedCount: number;
1995
+ completionPercentage: number;
1996
+ }
1997
+ >;
1998
+ narrative('Todo List Summary', 'TODO-001', () => {
1999
+ query('views completion summary', 'SUMMARY-001').server(() => {
2000
+ specs('Summary Statistics', () => {
2001
+ rule('summary shows overall todo list statistics', 'RULE-SUMMARY', () => {
2002
+ example('calculates summary from multiple todos')
2003
+ .given<TodoAdded>({
2004
+ todoId: 'todo-001',
2005
+ description: 'Buy groceries',
2006
+ status: 'pending',
2007
+ addedAt: new Date('2030-01-01T09:00:00.000Z'),
2008
+ })
2009
+ .and<TodoAdded>({
2010
+ todoId: 'todo-002',
2011
+ description: 'Write report',
2012
+ status: 'pending',
2013
+ addedAt: new Date('2030-01-01T09:10:00.000Z'),
2014
+ })
2015
+ .and<TodoMarkedInProgress>({ todoId: 'todo-001', markedAt: new Date('2030-01-01T10:00:00.000Z') })
2016
+ .and<TodoMarkedComplete>({ todoId: 'todo-002', completedAt: new Date('2030-01-01T11:00:00.000Z') })
2017
+ .then<TodoListSummary>({
2018
+ summaryId: 'main-summary',
2019
+ totalTodos: 2,
2020
+ pendingCount: 0,
2021
+ inProgressCount: 1,
2022
+ completedCount: 1,
2023
+ completionPercentage: 50,
2024
+ });
2025
+ });
2026
+ });
2027
+ });
2028
+ });
2029
+ `);
2030
+
2031
+ expect(code).not.toContain('.when({})');
2032
+ expect(code).not.toContain('.when<');
2033
+ });
1822
2034
  });
@@ -321,7 +321,6 @@ export function recordExample(description: string): void {
321
321
  const rule = objectRules[context.currentRuleIndex];
322
322
  rule.examples.push({
323
323
  description,
324
- when: { commandRef: '', exampleData: {} }, // Default, will be updated
325
324
  then: [],
326
325
  });
327
326
  context.currentExampleIndex = rule.examples.length - 1;
package/src/narrative.ts CHANGED
@@ -93,7 +93,7 @@ export function rule(description: string, idOrFn: string | (() => void), fn?: ()
93
93
  callback();
94
94
  }
95
95
 
96
- export const example = (description: string) => {
96
+ export const example = (description: string): TypedExampleBuilder => {
97
97
  recordExample(description);
98
98
  return createExampleBuilder();
99
99
  };
@@ -122,6 +122,7 @@ interface TypedExampleBuilder {
122
122
  interface TypedGivenBuilder<G> {
123
123
  and<U>(data: ExtractData<U> | ExtractData<U>[], context?: ContextFor<U>): TypedGivenBuilder<G | U>;
124
124
  when<W>(data: ExtractData<W> | ExtractData<W>[], context?: ContextFor<W>): TypedGivenWhenBuilder<G, W>;
125
+ then<T>(data: ExtractData<T> | ExtractData<T>[], context?: ContextFor<T>): TypedGivenThenBuilder<G, never, T>;
125
126
  }
126
127
 
127
128
  interface TypedWhenBuilder<W> {
@@ -180,6 +181,20 @@ function createGivenBuilder<G>(): TypedGivenBuilder<G> {
180
181
  },
181
182
  };
182
183
  },
184
+ then<T>(data: ExtractData<T> | ExtractData<T>[], context?: ContextFor<T>): TypedGivenThenBuilder<G, never, T> {
185
+ const thenItems = Array.isArray(data) ? data : [data];
186
+ recordThenData(thenItems, normalizeContext(context as Partial<Record<string, string>>));
187
+ return {
188
+ and<A>(
189
+ data: ExtractData<A> | ExtractData<A>[],
190
+ context?: ContextFor<A>,
191
+ ): TypedGivenThenBuilder<G, never, T | A> {
192
+ const andItems = Array.isArray(data) ? data : [data];
193
+ recordAndThenData(andItems, normalizeContext(context as Partial<Record<string, string>>));
194
+ return createThenBuilder<never, T | A>() as TypedGivenThenBuilder<G, never, T | A>;
195
+ },
196
+ };
197
+ },
183
198
  };
184
199
  }
185
200
 
@@ -58,7 +58,6 @@ flow('Mixed Given Types', 'FLOW-MGT', () => {
58
58
  itemId: 'item-002',
59
59
  addedAt: new Date('2024-01-01T10:02:00Z'),
60
60
  })
61
- .when({}) // empty when clause
62
61
  .then<SystemStatus>({
63
62
  systemId: 'system-001',
64
63
  itemCount: 2,
@@ -135,7 +135,6 @@ flow('Questionnaires', 'AUTO-Q9m2Kp4Lx', () => {
135
135
  link: 'https://app.example.com/q/q-001?participant=participant-abc',
136
136
  sentAt: new Date('2030-01-01T09:00:00Z'),
137
137
  })
138
- .when({})
139
138
  .then<QuestionnaireProgress>({
140
139
  questionnaireId: 'q-001',
141
140
  participantId: 'participant-abc',
@@ -259,7 +258,6 @@ flow('Questionnaires', 'AUTO-Q9m2Kp4Lx', () => {
259
258
  answer: 'No',
260
259
  savedAt: new Date('2030-01-01T09:05:00Z'),
261
260
  })
262
- .when({}) // FIX ME
263
261
  .then<QuestionnaireProgress>({
264
262
  questionnaireId: 'q-001',
265
263
  participantId: 'participant-abc',
package/src/schema.ts CHANGED
@@ -181,6 +181,7 @@ const ExampleSchema = z
181
181
  .describe('Given conditions'),
182
182
  when: z
183
183
  .union([CommandExampleSchema, EventExampleSchema, z.array(CommandExampleSchema), z.array(EventExampleSchema)])
184
+ .optional()
184
185
  .describe('When action or events occur'),
185
186
  then: z
186
187
  .array(z.union([EventExampleSchema, StateExampleSchema, CommandExampleSchema, ErrorExampleSchema]))
@@ -164,26 +164,61 @@ function addEventWhenToChain(
164
164
  );
165
165
  }
166
166
 
167
- function addWhenToChain(
167
+ function isEmptyEventWhen(when: { eventRef: string; exampleData: Record<string, unknown> }): boolean {
168
+ return (!when.eventRef || when.eventRef === '') && Object.keys(when.exampleData).length === 0;
169
+ }
170
+
171
+ function isEmptyCommandWhen(when: { commandRef: string; exampleData: Record<string, unknown> }): boolean {
172
+ return (!when.commandRef || when.commandRef === '') && Object.keys(when.exampleData).length === 0;
173
+ }
174
+
175
+ function isEmptyWhen(whenData: GWTBlock['when']): boolean {
176
+ if (!whenData) return true;
177
+ if (Array.isArray(whenData) && whenData.length === 0) return true;
178
+ if (typeof whenData === 'object' && 'eventRef' in whenData) {
179
+ return isEmptyEventWhen(whenData as { eventRef: string; exampleData: Record<string, unknown> });
180
+ }
181
+ if (typeof whenData === 'object' && 'commandRef' in whenData) {
182
+ return isEmptyCommandWhen(whenData as { commandRef: string; exampleData: Record<string, unknown> });
183
+ }
184
+ return false;
185
+ }
186
+
187
+ function processWhenForSliceKind(
168
188
  ts: typeof import('typescript'),
169
189
  f: tsNS.NodeFactory,
170
190
  exampleChain: tsNS.Expression,
171
- g: GWTBlock,
191
+ when: GWTBlock['when'],
172
192
  sliceKind: 'command' | 'react' | 'query' | 'experience',
173
193
  messages?: Array<{ type: string; name: string; fields: Array<{ name: string; type: string; required: boolean }> }>,
174
194
  ): tsNS.Expression {
175
- if (sliceKind === 'command' && isWhenCommand(g.when)) {
176
- return addCommandWhenToChain(ts, f, exampleChain, g.when, messages);
177
- } else if ((sliceKind === 'react' || sliceKind === 'query') && isWhenEvents(g.when)) {
178
- const firstWhenEvent = g.when[0];
179
- return addEventWhenToChain(ts, f, exampleChain, firstWhenEvent, messages);
180
- } else if (sliceKind === 'query' && g.when && !Array.isArray(g.when) && 'eventRef' in g.when) {
181
- const whenEvent = g.when as { eventRef: string; exampleData: Record<string, unknown> };
195
+ if (sliceKind === 'command' && isWhenCommand(when)) {
196
+ return addCommandWhenToChain(ts, f, exampleChain, when, messages);
197
+ }
198
+ if ((sliceKind === 'react' || sliceKind === 'query') && isWhenEvents(when)) {
199
+ return addEventWhenToChain(ts, f, exampleChain, when[0], messages);
200
+ }
201
+ if (sliceKind === 'query' && when && !Array.isArray(when) && 'eventRef' in when) {
202
+ const whenEvent = when as { eventRef: string; exampleData: Record<string, unknown> };
182
203
  return addEventWhenToChain(ts, f, exampleChain, whenEvent, messages);
183
204
  }
184
205
  return exampleChain;
185
206
  }
186
207
 
208
+ function addWhenToChain(
209
+ ts: typeof import('typescript'),
210
+ f: tsNS.NodeFactory,
211
+ exampleChain: tsNS.Expression,
212
+ g: GWTBlock,
213
+ sliceKind: 'command' | 'react' | 'query' | 'experience',
214
+ messages?: Array<{ type: string; name: string; fields: Array<{ name: string; type: string; required: boolean }> }>,
215
+ ): tsNS.Expression {
216
+ if (isEmptyWhen(g.when)) {
217
+ return exampleChain;
218
+ }
219
+ return processWhenForSliceKind(ts, f, exampleChain, g.when, sliceKind, messages);
220
+ }
221
+
187
222
  function getThenTypeRef(firstThenItem: GWTBlock['then'][0]): string {
188
223
  if ('eventRef' in firstThenItem) {
189
224
  return (firstThenItem as { eventRef: string }).eventRef;
@@ -1,6 +1,6 @@
1
1
  import createDebug from 'debug';
2
2
 
3
- export const debugIntegrations = createDebug('auto:flow:getFlows:integrations');
3
+ export const debugIntegrations = createDebug('auto:flow:getNarratives:integrations');
4
4
  if (typeof debugIntegrations === 'object' && debugIntegrations !== null && 'color' in debugIntegrations) {
5
5
  (debugIntegrations as { color: string }).color = '6';
6
6
  }
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=getFlows.cache.specs.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getFlows.cache.specs.d.ts","sourceRoot":"","sources":["../../src/getFlows.cache.specs.ts"],"names":[],"mappings":""}
@@ -1 +0,0 @@
1
- {"version":3,"file":"getFlows.cache.specs.js","sourceRoot":"","sources":["../../src/getFlows.cache.specs.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=model-to-flow.specs.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"model-to-flow.specs.d.ts","sourceRoot":"","sources":["../../src/model-to-flow.specs.ts"],"names":[],"mappings":""}
@@ -1 +0,0 @@
1
- {"version":3,"file":"model-to-flow.specs.js","sourceRoot":"","sources":["../../src/model-to-flow.specs.ts"],"names":[],"mappings":"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"}