@auto-engineer/narrative 1.138.0 → 1.140.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 (181) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/.turbo/turbo-test.log +5 -5
  3. package/.turbo/turbo-type-check.log +1 -1
  4. package/CHANGELOG.md +41 -0
  5. package/dist/scripts/convert-flow-exec.js +2 -2
  6. package/dist/scripts/convert-flow-exec.js.map +1 -1
  7. package/dist/scripts/print-schema.js +5 -5
  8. package/dist/scripts/print-schema.js.map +1 -1
  9. package/dist/src/fluent-builder.d.ts +29 -29
  10. package/dist/src/fluent-builder.d.ts.map +1 -1
  11. package/dist/src/fluent-builder.js +81 -81
  12. package/dist/src/fluent-builder.js.map +1 -1
  13. package/dist/src/{getNarratives.d.ts → getScenes.d.ts} +6 -6
  14. package/dist/src/getScenes.d.ts.map +1 -0
  15. package/dist/src/{getNarratives.js → getScenes.js} +16 -16
  16. package/dist/src/getScenes.js.map +1 -0
  17. package/dist/src/id/addAutoIds.d.ts.map +1 -1
  18. package/dist/src/id/addAutoIds.js +22 -22
  19. package/dist/src/id/addAutoIds.js.map +1 -1
  20. package/dist/src/id/hasAllIds.d.ts.map +1 -1
  21. package/dist/src/id/hasAllIds.js +2 -2
  22. package/dist/src/id/hasAllIds.js.map +1 -1
  23. package/dist/src/index.d.ts +8 -8
  24. package/dist/src/index.d.ts.map +1 -1
  25. package/dist/src/index.js +4 -4
  26. package/dist/src/index.js.map +1 -1
  27. package/dist/src/loader/index.js +1 -1
  28. package/dist/src/loader/index.js.map +1 -1
  29. package/dist/src/loader/runtime-cjs.js +1 -1
  30. package/dist/src/loader/runtime-cjs.js.map +1 -1
  31. package/dist/src/narrative-context.d.ts +9 -9
  32. package/dist/src/narrative-context.d.ts.map +1 -1
  33. package/dist/src/narrative-context.js +47 -47
  34. package/dist/src/narrative-context.js.map +1 -1
  35. package/dist/src/narrative-registry.d.ts +6 -6
  36. package/dist/src/narrative-registry.d.ts.map +1 -1
  37. package/dist/src/narrative-registry.js +26 -26
  38. package/dist/src/narrative-registry.js.map +1 -1
  39. package/dist/src/narrative.d.ts +5 -5
  40. package/dist/src/narrative.d.ts.map +1 -1
  41. package/dist/src/narrative.js +26 -27
  42. package/dist/src/narrative.js.map +1 -1
  43. package/dist/src/parse-graphql-request.d.ts +1 -1
  44. package/dist/src/parse-graphql-request.d.ts.map +1 -1
  45. package/dist/src/parse-graphql-request.js +3 -3
  46. package/dist/src/parse-graphql-request.js.map +1 -1
  47. package/dist/src/samples/items.narrative.js +2 -2
  48. package/dist/src/samples/items.narrative.js.map +1 -1
  49. package/dist/src/samples/mixed-given-types.narrative.js +2 -2
  50. package/dist/src/samples/mixed-given-types.narrative.js.map +1 -1
  51. package/dist/src/samples/place-order.narrative.js +2 -2
  52. package/dist/src/samples/place-order.narrative.js.map +1 -1
  53. package/dist/src/samples/questionnaires.narrative.js +2 -2
  54. package/dist/src/samples/questionnaires.narrative.js.map +1 -1
  55. package/dist/src/samples/seasonal-assistant.schema.json +2 -2
  56. package/dist/src/samples/test-with-ids.narrative.js +2 -2
  57. package/dist/src/samples/test-with-ids.narrative.js.map +1 -1
  58. package/dist/src/schema.d.ts +136 -136
  59. package/dist/src/schema.d.ts.map +1 -1
  60. package/dist/src/schema.js +76 -76
  61. package/dist/src/schema.js.map +1 -1
  62. package/dist/src/slice-builder.d.ts +6 -6
  63. package/dist/src/slice-builder.d.ts.map +1 -1
  64. package/dist/src/slice-builder.js +21 -21
  65. package/dist/src/slice-builder.js.map +1 -1
  66. package/dist/src/transformers/model-to-narrative/analysis/lint-helpers.js +1 -1
  67. package/dist/src/transformers/model-to-narrative/analysis/lint-helpers.js.map +1 -1
  68. package/dist/src/transformers/model-to-narrative/cross-module-imports.js +4 -4
  69. package/dist/src/transformers/model-to-narrative/cross-module-imports.js.map +1 -1
  70. package/dist/src/transformers/model-to-narrative/generators/compose.js +3 -3
  71. package/dist/src/transformers/model-to-narrative/generators/compose.js.map +1 -1
  72. package/dist/src/transformers/model-to-narrative/generators/flow.d.ts +2 -2
  73. package/dist/src/transformers/model-to-narrative/generators/flow.d.ts.map +1 -1
  74. package/dist/src/transformers/model-to-narrative/generators/flow.js +20 -20
  75. package/dist/src/transformers/model-to-narrative/generators/flow.js.map +1 -1
  76. package/dist/src/transformers/model-to-narrative/generators/imports.d.ts +1 -1
  77. package/dist/src/transformers/model-to-narrative/generators/imports.d.ts.map +1 -1
  78. package/dist/src/transformers/model-to-narrative/generators/imports.js +1 -1
  79. package/dist/src/transformers/model-to-narrative/generators/imports.js.map +1 -1
  80. package/dist/src/transformers/model-to-narrative/generators/module-code.js +14 -14
  81. package/dist/src/transformers/model-to-narrative/generators/module-code.js.map +1 -1
  82. package/dist/src/transformers/model-to-narrative/index.d.ts +4 -4
  83. package/dist/src/transformers/model-to-narrative/index.d.ts.map +1 -1
  84. package/dist/src/transformers/model-to-narrative/index.js +1 -1
  85. package/dist/src/transformers/model-to-narrative/spec-traversal.d.ts +2 -2
  86. package/dist/src/transformers/model-to-narrative/spec-traversal.d.ts.map +1 -1
  87. package/dist/src/transformers/model-to-narrative/spec-traversal.js +5 -5
  88. package/dist/src/transformers/model-to-narrative/spec-traversal.js.map +1 -1
  89. package/dist/src/transformers/model-to-narrative/types.d.ts +1 -1
  90. package/dist/src/transformers/model-to-narrative/types.d.ts.map +1 -1
  91. package/dist/src/transformers/model-to-narrative/utils/integration-extractor.d.ts +1 -1
  92. package/dist/src/transformers/model-to-narrative/utils/integration-extractor.d.ts.map +1 -1
  93. package/dist/src/transformers/model-to-narrative/utils/integration-extractor.js +4 -4
  94. package/dist/src/transformers/model-to-narrative/utils/integration-extractor.js.map +1 -1
  95. package/dist/src/transformers/model-to-narrative/validate-modules.d.ts +1 -1
  96. package/dist/src/transformers/model-to-narrative/validate-modules.d.ts.map +1 -1
  97. package/dist/src/transformers/model-to-narrative/validate-modules.js +19 -19
  98. package/dist/src/transformers/model-to-narrative/validate-modules.js.map +1 -1
  99. package/dist/src/transformers/narrative-to-model/assemble.d.ts +2 -2
  100. package/dist/src/transformers/narrative-to-model/assemble.d.ts.map +1 -1
  101. package/dist/src/transformers/narrative-to-model/assemble.js +10 -3
  102. package/dist/src/transformers/narrative-to-model/assemble.js.map +1 -1
  103. package/dist/src/transformers/narrative-to-model/debug.d.ts.map +1 -1
  104. package/dist/src/transformers/narrative-to-model/debug.js +1 -1
  105. package/dist/src/transformers/narrative-to-model/debug.js.map +1 -1
  106. package/dist/src/transformers/narrative-to-model/derive-modules.d.ts +2 -2
  107. package/dist/src/transformers/narrative-to-model/derive-modules.d.ts.map +1 -1
  108. package/dist/src/transformers/narrative-to-model/derive-modules.js +9 -9
  109. package/dist/src/transformers/narrative-to-model/derive-modules.js.map +1 -1
  110. package/dist/src/transformers/narrative-to-model/index.d.ts +2 -2
  111. package/dist/src/transformers/narrative-to-model/index.d.ts.map +1 -1
  112. package/dist/src/transformers/narrative-to-model/index.js +39 -39
  113. package/dist/src/transformers/narrative-to-model/index.js.map +1 -1
  114. package/dist/src/transformers/narrative-to-model/spec-processors.js +1 -1
  115. package/dist/src/transformers/narrative-to-model/spec-processors.js.map +1 -1
  116. package/dist/src/transformers/narrative-to-model/strings.d.ts +1 -1
  117. package/dist/src/transformers/narrative-to-model/strings.d.ts.map +1 -1
  118. package/dist/src/transformers/narrative-to-model/strings.js +6 -6
  119. package/dist/src/transformers/narrative-to-model/strings.js.map +1 -1
  120. package/dist/src/validate-slice-requests.d.ts +4 -4
  121. package/dist/src/validate-slice-requests.d.ts.map +1 -1
  122. package/dist/src/validate-slice-requests.js +34 -34
  123. package/dist/src/validate-slice-requests.js.map +1 -1
  124. package/dist/tsconfig.tsbuildinfo +1 -1
  125. package/package.json +4 -4
  126. package/scripts/convert-flow-exec.ts +2 -2
  127. package/scripts/print-schema.ts +8 -8
  128. package/src/fluent-builder.specs.ts +3 -3
  129. package/src/fluent-builder.ts +141 -141
  130. package/src/{getNarratives.cache.specs.ts → getScenes.cache.specs.ts} +45 -45
  131. package/src/{getNarratives.specs.ts → getScenes.specs.ts} +302 -300
  132. package/src/{getNarratives.ts → getScenes.ts} +20 -20
  133. package/src/id/addAutoIds.specs.ts +105 -105
  134. package/src/id/addAutoIds.ts +26 -26
  135. package/src/id/hasAllIds.specs.ts +59 -59
  136. package/src/id/hasAllIds.ts +6 -6
  137. package/src/index.ts +12 -13
  138. package/src/loader/index.ts +1 -1
  139. package/src/loader/runtime-cjs.ts +1 -1
  140. package/src/model-to-narrative.specs.ts +133 -135
  141. package/src/narrative-context.specs.ts +24 -24
  142. package/src/narrative-context.ts +61 -61
  143. package/src/narrative-registry.ts +31 -31
  144. package/src/narrative.ts +31 -33
  145. package/src/parse-graphql-request.specs.ts +5 -5
  146. package/src/parse-graphql-request.ts +3 -3
  147. package/src/samples/items.narrative.ts +2 -2
  148. package/src/samples/mixed-given-types.narrative.ts +2 -2
  149. package/src/samples/place-order.narrative.ts +2 -2
  150. package/src/samples/questionnaires.narrative.ts +2 -2
  151. package/src/samples/seasonal-assistant.schema.json +2 -2
  152. package/src/samples/test-with-ids.narrative.ts +2 -2
  153. package/src/schema.specs.ts +99 -91
  154. package/src/schema.ts +89 -89
  155. package/src/slice-builder.ts +30 -30
  156. package/src/transformers/model-to-narrative/analysis/lint-helpers.ts +1 -1
  157. package/src/transformers/model-to-narrative/cross-module-imports.specs.ts +43 -43
  158. package/src/transformers/model-to-narrative/cross-module-imports.ts +4 -4
  159. package/src/transformers/model-to-narrative/generators/compose.ts +4 -4
  160. package/src/transformers/model-to-narrative/generators/flow.ts +36 -36
  161. package/src/transformers/model-to-narrative/generators/imports.ts +1 -1
  162. package/src/transformers/model-to-narrative/generators/module-code.ts +15 -15
  163. package/src/transformers/model-to-narrative/index.ts +4 -4
  164. package/src/transformers/model-to-narrative/modules.specs.ts +58 -58
  165. package/src/transformers/model-to-narrative/spec-traversal.specs.ts +43 -43
  166. package/src/transformers/model-to-narrative/spec-traversal.ts +6 -6
  167. package/src/transformers/model-to-narrative/types.ts +1 -1
  168. package/src/transformers/model-to-narrative/utils/integration-extractor.ts +5 -5
  169. package/src/transformers/model-to-narrative/validate-modules.ts +22 -22
  170. package/src/transformers/narrative-to-model/assemble.ts +12 -4
  171. package/src/transformers/narrative-to-model/debug.ts +1 -1
  172. package/src/transformers/narrative-to-model/derive-modules.specs.ts +35 -35
  173. package/src/transformers/narrative-to-model/derive-modules.ts +11 -11
  174. package/src/transformers/narrative-to-model/index.ts +47 -47
  175. package/src/transformers/narrative-to-model/spec-processors.ts +1 -1
  176. package/src/transformers/narrative-to-model/strings.ts +6 -6
  177. package/src/transformers/narrative-to-model/type-inference.specs.ts +11 -11
  178. package/src/validate-slice-requests.specs.ts +113 -113
  179. package/src/validate-slice-requests.ts +49 -49
  180. package/dist/src/getNarratives.d.ts.map +0 -1
  181. package/dist/src/getNarratives.js.map +0 -1
@@ -3,7 +3,7 @@ import gql from 'graphql-tag';
3
3
  import { beforeEach, describe, expect, it } from 'vitest';
4
4
  import * as dataBuilders from './data-narrative-builders';
5
5
  import * as fluent from './fluent-builder';
6
- import { clearGetNarrativesCache, getNarratives } from './getNarratives';
6
+ import { clearGetScenesCache, getScenes } from './getScenes';
7
7
  import * as flowApi from './narrative';
8
8
  import * as typesApi from './types';
9
9
 
@@ -17,13 +17,13 @@ const importMap = {
17
17
 
18
18
  const pattern = /\.(narrative)\.(ts)$/;
19
19
 
20
- describe('getNarratives caching', { timeout: 30_000 }, () => {
20
+ describe('getScenes caching', { timeout: 30_000 }, () => {
21
21
  let vfs: IFileStore;
22
22
  const root = '/test';
23
23
 
24
24
  beforeEach(() => {
25
25
  vfs = new InMemoryFileStore();
26
- clearGetNarrativesCache();
26
+ clearGetScenesCache();
27
27
  });
28
28
 
29
29
  it('should rebuild cache when a helper file is modified', async () => {
@@ -33,10 +33,10 @@ describe('getNarratives caching', { timeout: 30_000 }, () => {
33
33
  }
34
34
  `;
35
35
  const flowContent = `
36
- import { narrative } from '../narrative';
36
+ import { scene } from '../narrative';
37
37
  import { formatName } from './helper';
38
38
 
39
- narrative('TestFlow', () => {
39
+ scene('TestFlow', () => {
40
40
  const name = formatName('test');
41
41
  });
42
42
  `;
@@ -44,7 +44,7 @@ describe('getNarratives caching', { timeout: 30_000 }, () => {
44
44
  await vfs.write('/test/helper.ts', new TextEncoder().encode(helperContent1));
45
45
  await vfs.write('/test/test.narrative.ts', new TextEncoder().encode(flowContent));
46
46
 
47
- const firstCallResult = await getNarratives({ vfs, root, pattern, fastFsScan: true, importMap });
47
+ const firstCallResult = await getScenes({ vfs, root, pattern, fastFsScan: true, importMap });
48
48
  const hash1 = firstCallResult.vfsFiles.sort().join(',');
49
49
 
50
50
  const helperContent2 = `
@@ -54,30 +54,30 @@ describe('getNarratives caching', { timeout: 30_000 }, () => {
54
54
  `;
55
55
  await vfs.write('/test/helper.ts', new TextEncoder().encode(helperContent2));
56
56
 
57
- const secondCallResult = await getNarratives({ vfs, root, pattern, fastFsScan: true, importMap });
57
+ const secondCallResult = await getScenes({ vfs, root, pattern, fastFsScan: true, importMap });
58
58
 
59
59
  const hash2 = secondCallResult.vfsFiles.sort().join(',');
60
60
  expect(hash1).toBe(hash2);
61
- expect(secondCallResult.narratives).toBeDefined();
61
+ expect(secondCallResult.scenes).toBeDefined();
62
62
  });
63
63
 
64
64
  it('should rebuild cache when import map changes', async () => {
65
65
  const flowContent = `
66
- import { narrative } from '../narrative';
66
+ import { scene } from '../narrative';
67
67
 
68
- narrative('TestFlow', () => {
68
+ scene('TestFlow', () => {
69
69
  const x = 1;
70
70
  });
71
71
  `;
72
72
  await vfs.write('/test/test.narrative.ts', new TextEncoder().encode(flowContent));
73
73
 
74
74
  const importMap1 = { 'test-module': { default: 'value1' } };
75
- const result1 = await getNarratives({ vfs, root, importMap: importMap1, pattern, fastFsScan: true });
75
+ const result1 = await getScenes({ vfs, root, importMap: importMap1, pattern, fastFsScan: true });
76
76
  const importMap2 = { 'test-module': { default: 'value2' } };
77
77
 
78
- const result2 = await getNarratives({ vfs, root, importMap: importMap2, pattern, fastFsScan: true });
78
+ const result2 = await getScenes({ vfs, root, importMap: importMap2, pattern, fastFsScan: true });
79
79
 
80
- expect(result1.narratives.length).toBe(result2.narratives.length);
80
+ expect(result1.scenes.length).toBe(result2.scenes.length);
81
81
  });
82
82
 
83
83
  it('should rebuild cache when a new dependency is added', async () => {
@@ -87,10 +87,10 @@ describe('getNarratives caching', { timeout: 30_000 }, () => {
87
87
  }
88
88
  `;
89
89
  const flowContent = `
90
- import { narrative } from '../narrative';
90
+ import { scene } from '../narrative';
91
91
  import { getValue } from './helper';
92
92
 
93
- narrative('TestFlow', () => {
93
+ scene('TestFlow', () => {
94
94
  const val = getValue();
95
95
  });
96
96
  `;
@@ -98,7 +98,7 @@ describe('getNarratives caching', { timeout: 30_000 }, () => {
98
98
  await vfs.write('/test/helper.ts', new TextEncoder().encode(helperContent1));
99
99
  await vfs.write('/test/test.narrative.ts', new TextEncoder().encode(flowContent));
100
100
 
101
- const firstCallResult = await getNarratives({ vfs, root, pattern, fastFsScan: true, importMap });
101
+ const firstCallResult = await getScenes({ vfs, root, pattern, fastFsScan: true, importMap });
102
102
  const filesCount1 = firstCallResult.vfsFiles.length;
103
103
 
104
104
  const transitiveContent = `
@@ -117,7 +117,7 @@ describe('getNarratives caching', { timeout: 30_000 }, () => {
117
117
  await vfs.write('/test/transitive.ts', new TextEncoder().encode(transitiveContent));
118
118
  await vfs.write('/test/helper.ts', new TextEncoder().encode(helperContent2));
119
119
 
120
- const secondCallResult = await getNarratives({ vfs, root, pattern, fastFsScan: true, importMap });
120
+ const secondCallResult = await getScenes({ vfs, root, pattern, fastFsScan: true, importMap });
121
121
 
122
122
  const filesCount2 = secondCallResult.vfsFiles.length;
123
123
  expect(filesCount2).toBeGreaterThan(filesCount1);
@@ -126,9 +126,9 @@ describe('getNarratives caching', { timeout: 30_000 }, () => {
126
126
 
127
127
  it('should not rebuild cache when an unrelated file is touched', async () => {
128
128
  const flowContent = `
129
- import { narrative } from '../narrative';
129
+ import { scene } from '../narrative';
130
130
 
131
- narrative('TestFlow', () => {
131
+ scene('TestFlow', () => {
132
132
  const x = 1;
133
133
  });
134
134
  `;
@@ -136,11 +136,11 @@ describe('getNarratives caching', { timeout: 30_000 }, () => {
136
136
  await vfs.write('/test/test.narrative.ts', new TextEncoder().encode(flowContent));
137
137
  await vfs.write('/test/unrelated.txt', new TextEncoder().encode('initial content'));
138
138
 
139
- const firstCallResult = await getNarratives({ vfs, root, pattern, fastFsScan: true, importMap });
139
+ const firstCallResult = await getScenes({ vfs, root, pattern, fastFsScan: true, importMap });
140
140
 
141
141
  await vfs.write('/test/unrelated.txt', new TextEncoder().encode('modified content'));
142
142
 
143
- const secondCallResult = await getNarratives({ vfs, root, pattern, fastFsScan: true, importMap });
143
+ const secondCallResult = await getScenes({ vfs, root, pattern, fastFsScan: true, importMap });
144
144
 
145
145
  expect(secondCallResult.vfsFiles.some((f) => f.includes('unrelated.txt'))).toBe(false);
146
146
  expect(firstCallResult.vfsFiles).toEqual(secondCallResult.vfsFiles);
@@ -148,16 +148,16 @@ describe('getNarratives caching', { timeout: 30_000 }, () => {
148
148
 
149
149
  it('should rebuild cache when a file is deleted from the graph', async () => {
150
150
  const flowContent1 = `
151
- import { narrative } from '../narrative';
151
+ import { scene } from '../narrative';
152
152
 
153
- narrative('TestFlow1', () => {
153
+ scene('TestFlow1', () => {
154
154
  const x = 1;
155
155
  });
156
156
  `;
157
157
  const flowContent2 = `
158
- import { narrative } from '../narrative';
158
+ import { scene } from '../narrative';
159
159
 
160
- narrative('TestFlow2', () => {
160
+ scene('TestFlow2', () => {
161
161
  const x = 2;
162
162
  });
163
163
  `;
@@ -165,29 +165,29 @@ describe('getNarratives caching', { timeout: 30_000 }, () => {
165
165
  await vfs.write('/test/test.narrative.ts', new TextEncoder().encode(flowContent1));
166
166
  await vfs.write('/test/test2.narrative.ts', new TextEncoder().encode(flowContent2));
167
167
 
168
- const firstCallResult = await getNarratives({ vfs, root, pattern, fastFsScan: true, importMap });
169
- expect(firstCallResult.narratives.length).toBeGreaterThanOrEqual(2);
168
+ const firstCallResult = await getScenes({ vfs, root, pattern, fastFsScan: true, importMap });
169
+ expect(firstCallResult.scenes.length).toBeGreaterThanOrEqual(2);
170
170
 
171
171
  await vfs.remove('/test/test2.narrative.ts');
172
172
 
173
- const secondCallResult = await getNarratives({ vfs, root, pattern, fastFsScan: true, importMap });
173
+ const secondCallResult = await getScenes({ vfs, root, pattern, fastFsScan: true, importMap });
174
174
 
175
- expect(secondCallResult.narratives.length).toBeLessThan(firstCallResult.narratives.length);
175
+ expect(secondCallResult.scenes.length).toBeLessThan(firstCallResult.scenes.length);
176
176
  expect(secondCallResult.vfsFiles.length).toBeLessThan(firstCallResult.vfsFiles.length);
177
177
  });
178
178
 
179
179
  it('should rebuild cache when a file is renamed', async () => {
180
180
  const flowContent = `
181
- import { narrative } from '../narrative';
181
+ import { scene } from '../narrative';
182
182
 
183
- narrative('TestFlow', () => {
183
+ scene('TestFlow', () => {
184
184
  const x = 1;
185
185
  });
186
186
  `;
187
187
 
188
188
  await vfs.write('/test/test.narrative.ts', new TextEncoder().encode(flowContent));
189
189
 
190
- const firstCallResult = await getNarratives({ vfs, root, pattern, fastFsScan: true, importMap });
190
+ const firstCallResult = await getScenes({ vfs, root, pattern, fastFsScan: true, importMap });
191
191
  expect(firstCallResult.vfsFiles.some((f) => f.includes('test.narrative.ts'))).toBe(true);
192
192
 
193
193
  const content = await vfs.read('/test/test.narrative.ts');
@@ -196,7 +196,7 @@ describe('getNarratives caching', { timeout: 30_000 }, () => {
196
196
  await vfs.remove('/test/test.narrative.ts');
197
197
  }
198
198
 
199
- const secondCallResult = await getNarratives({ vfs, root, pattern, fastFsScan: true });
199
+ const secondCallResult = await getScenes({ vfs, root, pattern, fastFsScan: true });
200
200
 
201
201
  expect(secondCallResult.vfsFiles.some((f) => f.includes('renamed.narrative.ts'))).toBe(true);
202
202
  expect(secondCallResult.vfsFiles.some((f) => f.includes('test.narrative.ts'))).toBe(false);
@@ -209,9 +209,9 @@ describe('getNarratives caching', { timeout: 30_000 }, () => {
209
209
  }
210
210
  `;
211
211
  const flowContent = `
212
- import { narrative } from '../narrative';
212
+ import { scene } from '../narrative';
213
213
 
214
- narrative('TestFlow', () => {
214
+ scene('TestFlow', () => {
215
215
  const x: string = 'test';
216
216
  });
217
217
  `;
@@ -219,16 +219,16 @@ describe('getNarratives caching', { timeout: 30_000 }, () => {
219
219
  await vfs.write('/test/types.d.ts', new TextEncoder().encode(dtsContent));
220
220
  await vfs.write('/test/test.narrative.ts', new TextEncoder().encode(flowContent));
221
221
 
222
- const result = await getNarratives({ vfs, root, pattern, fastFsScan: true, importMap });
222
+ const result = await getScenes({ vfs, root, pattern, fastFsScan: true, importMap });
223
223
 
224
224
  expect(result.vfsFiles.some((f) => f.endsWith('.d.ts'))).toBe(false);
225
225
  });
226
226
 
227
227
  it('should rebuild when import map keys change even with same values', async () => {
228
228
  const flowContent = `
229
- import { narrative } from '../narrative';
229
+ import { scene } from '../narrative';
230
230
 
231
- narrative('TestFlow', () => {
231
+ scene('TestFlow', () => {
232
232
  const x = 1;
233
233
  });
234
234
  `;
@@ -236,12 +236,12 @@ describe('getNarratives caching', { timeout: 30_000 }, () => {
236
236
  await vfs.write('/test/test.narrative.ts', new TextEncoder().encode(flowContent));
237
237
 
238
238
  const importMap1 = { 'module-a': 'value', 'module-b': 'value' };
239
- const result1 = await getNarratives({ vfs, root, importMap: importMap1, pattern, fastFsScan: true });
239
+ const result1 = await getScenes({ vfs, root, importMap: importMap1, pattern, fastFsScan: true });
240
240
  const importMap2 = { 'module-c': 'value', 'module-d': 'value' };
241
241
 
242
- const result2 = await getNarratives({ vfs, root, importMap: importMap2, pattern, fastFsScan: true });
242
+ const result2 = await getScenes({ vfs, root, importMap: importMap2, pattern, fastFsScan: true });
243
243
 
244
- expect(result1.narratives).toEqual(result2.narratives); // Same flows
244
+ expect(result1.scenes).toEqual(result2.scenes); // Same flows
245
245
  });
246
246
 
247
247
  it('should handle complex transitive dependency chains', async () => {
@@ -257,10 +257,10 @@ describe('getNarratives caching', { timeout: 30_000 }, () => {
257
257
  export const TOP_VALUE = MID_VALUE + '-top';
258
258
  `;
259
259
  const flowContent = `
260
- import { narrative } from '../narrative';
260
+ import { scene } from '../narrative';
261
261
  import { TOP_VALUE } from './chain1';
262
262
 
263
- narrative('TestFlow', () => {
263
+ scene('TestFlow', () => {
264
264
  const val = TOP_VALUE;
265
265
  });
266
266
  `;
@@ -270,7 +270,7 @@ describe('getNarratives caching', { timeout: 30_000 }, () => {
270
270
  await vfs.write('/test/chain1.ts', new TextEncoder().encode(chain1Content));
271
271
  await vfs.write('/test/test.narrative.ts', new TextEncoder().encode(flowContent));
272
272
 
273
- const result1 = await getNarratives({ vfs, root, pattern, fastFsScan: true, importMap });
273
+ const result1 = await getScenes({ vfs, root, pattern, fastFsScan: true, importMap });
274
274
 
275
275
  expect(result1.vfsFiles.some((f) => f.includes('chain1'))).toBe(true);
276
276
  expect(result1.vfsFiles.some((f) => f.includes('chain2'))).toBe(true);
@@ -281,7 +281,7 @@ describe('getNarratives caching', { timeout: 30_000 }, () => {
281
281
  `;
282
282
  await vfs.write('/test/chain3.ts', new TextEncoder().encode(modifiedChain3Content));
283
283
 
284
- const result2 = await getNarratives({ vfs, root, pattern, fastFsScan: true, importMap });
284
+ const result2 = await getScenes({ vfs, root, pattern, fastFsScan: true, importMap });
285
285
  expect(result2.vfsFiles.length).toBe(result1.vfsFiles.length);
286
286
  });
287
287
  });