@auto-engineer/server-implementer 1.139.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 (72) hide show
  1. package/.turbo/turbo-build.log +1 -1
  2. package/.turbo/turbo-test.log +3 -3
  3. package/.turbo/turbo-type-check.log +1 -1
  4. package/CHANGELOG.md +17 -0
  5. package/DEBUG.md +4 -4
  6. package/README.md +4 -4
  7. package/dist/src/agent/detectShadowsInSlice.specs.js +6 -6
  8. package/dist/src/agent/detectShadowsInSlice.specs.js.map +1 -1
  9. package/dist/src/agent/runAllSlices.d.ts +1 -1
  10. package/dist/src/agent/runAllSlices.d.ts.map +1 -1
  11. package/dist/src/agent/runAllSlices.js +7 -7
  12. package/dist/src/agent/runAllSlices.js.map +1 -1
  13. package/dist/src/agent/runFlows.d.ts +1 -1
  14. package/dist/src/agent/runFlows.d.ts.map +1 -1
  15. package/dist/src/agent/runFlows.js +20 -20
  16. package/dist/src/agent/runFlows.js.map +1 -1
  17. package/dist/src/agent/runSlice.d.ts +4 -4
  18. package/dist/src/agent/runSlice.d.ts.map +1 -1
  19. package/dist/src/agent/runSlice.js +64 -64
  20. package/dist/src/agent/runSlice.js.map +1 -1
  21. package/dist/src/agent/runTests.d.ts +1 -1
  22. package/dist/src/agent/runTests.d.ts.map +1 -1
  23. package/dist/src/agent/runTests.js +12 -12
  24. package/dist/src/agent/runTests.js.map +1 -1
  25. package/dist/src/commands/implement-server.d.ts +1 -1
  26. package/dist/src/commands/implement-server.d.ts.map +1 -1
  27. package/dist/src/commands/implement-server.js +17 -17
  28. package/dist/src/commands/implement-server.js.map +1 -1
  29. package/dist/src/commands/implement-slice.d.ts +10 -10
  30. package/dist/src/commands/implement-slice.d.ts.map +1 -1
  31. package/dist/src/commands/implement-slice.js +47 -47
  32. package/dist/src/commands/implement-slice.js.map +1 -1
  33. package/dist/src/index.d.ts +5 -5
  34. package/dist/src/index.d.ts.map +1 -1
  35. package/dist/src/index.js +4 -4
  36. package/dist/src/index.js.map +1 -1
  37. package/dist/src/prompts/systemPrompt.d.ts +1 -1
  38. package/dist/src/prompts/systemPrompt.d.ts.map +1 -1
  39. package/dist/src/prompts/systemPrompt.js +1 -1
  40. package/dist/src/utils/buildContextSections.js +3 -3
  41. package/dist/src/utils/buildContextSections.js.map +1 -1
  42. package/dist/src/utils/buildContextSections.specs.js +6 -6
  43. package/dist/src/utils/buildContextSections.specs.js.map +1 -1
  44. package/dist/src/utils/loadContextFiles.d.ts +1 -1
  45. package/dist/src/utils/loadContextFiles.d.ts.map +1 -1
  46. package/dist/src/utils/loadContextFiles.js +4 -4
  47. package/dist/src/utils/loadContextFiles.js.map +1 -1
  48. package/dist/src/utils/loadContextFiles.specs.js +12 -12
  49. package/dist/src/utils/loadContextFiles.specs.js.map +1 -1
  50. package/dist/src/utils/loadSharedContext.d.ts +1 -1
  51. package/dist/src/utils/loadSharedContext.d.ts.map +1 -1
  52. package/dist/src/utils/loadSharedContext.js +2 -2
  53. package/dist/src/utils/loadSharedContext.js.map +1 -1
  54. package/dist/src/utils/loadSharedContext.specs.js +7 -7
  55. package/dist/src/utils/loadSharedContext.specs.js.map +1 -1
  56. package/dist/tsconfig.tsbuildinfo +1 -1
  57. package/package.json +4 -4
  58. package/src/agent/detectShadowsInSlice.specs.ts +6 -6
  59. package/src/agent/runAllSlices.ts +7 -7
  60. package/src/agent/runFlows.ts +21 -21
  61. package/src/agent/runSlice.ts +65 -65
  62. package/src/agent/runTests.ts +12 -12
  63. package/src/commands/implement-server.ts +18 -18
  64. package/src/commands/implement-slice.ts +73 -71
  65. package/src/index.ts +8 -8
  66. package/src/prompts/systemPrompt.ts +1 -1
  67. package/src/utils/buildContextSections.specs.ts +6 -6
  68. package/src/utils/buildContextSections.ts +3 -3
  69. package/src/utils/loadContextFiles.specs.ts +12 -12
  70. package/src/utils/loadContextFiles.ts +4 -4
  71. package/src/utils/loadSharedContext.specs.ts +7 -7
  72. package/src/utils/loadSharedContext.ts +2 -2
@@ -1,5 +1,5 @@
1
1
  import { commandHandler as implementServerHandler } from './commands/implement-server';
2
- import { commandHandler as implementSliceHandler } from './commands/implement-slice';
2
+ import { commandHandler as implementMomentHandler } from './commands/implement-slice';
3
3
  export declare const COMMANDS: (import("@auto-engineer/message-bus").UnifiedCommandHandler<Readonly<{
4
4
  type: "ImplementServer";
5
5
  data: Readonly<{
@@ -9,9 +9,9 @@ export declare const COMMANDS: (import("@auto-engineer/message-bus").UnifiedComm
9
9
  requestId?: string;
10
10
  correlationId?: string;
11
11
  }>> | import("@auto-engineer/message-bus").UnifiedCommandHandler<Readonly<{
12
- type: "ImplementSlice";
12
+ type: "ImplementMoment";
13
13
  data: Readonly<{
14
- slicePath: string;
14
+ momentPath: string;
15
15
  context?: {
16
16
  previousOutputs?: string;
17
17
  attemptNumber?: number;
@@ -24,7 +24,7 @@ export declare const COMMANDS: (import("@auto-engineer/message-bus").UnifiedComm
24
24
  requestId?: string;
25
25
  correlationId?: string;
26
26
  }>>)[];
27
- export { implementServerHandler, implementSliceHandler };
27
+ export { implementServerHandler, implementMomentHandler };
28
28
  export type { ImplementServerCommand, ImplementServerEvents, ServerImplementationFailedEvent, ServerImplementedEvent, } from './commands/implement-server';
29
- export { handleImplementSliceCommand, type ImplementSliceCommand, type ImplementSliceEvents, type SliceImplementationFailedEvent, type SliceImplementedEvent, } from './commands/implement-slice';
29
+ export { handleImplementMomentCommand, type ImplementMomentCommand, type ImplementMomentEvents, type MomentImplementationFailedEvent, type MomentImplementedEvent, } from './commands/implement-slice';
30
30
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,IAAI,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACvF,OAAO,EAAE,cAAc,IAAI,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAErF,eAAO,MAAM,QAAQ;;;;;;;;;;;;;2BAewc,CAAC;yBAA6B,CAAC;;;qBAAkD,CAAC;;;;;;MAfxe,CAAC;AACxE,OAAO,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,CAAC;AACzD,YAAY,EACV,sBAAsB,EACtB,qBAAqB,EACrB,+BAA+B,EAC/B,sBAAsB,GACvB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,2BAA2B,EAC3B,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,EACzB,KAAK,8BAA8B,EACnC,KAAK,qBAAqB,GAC3B,MAAM,4BAA4B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,IAAI,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACvF,OAAO,EAAE,cAAc,IAAI,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AAEtF,eAAO,MAAM,QAAQ;;;;;;;;;;;;;2BAemc,CAAC;yBAA6B,CAAC;;;qBAAkD,CAAC;;;;;;MAfle,CAAC;AACzE,OAAO,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,CAAC;AAC1D,YAAY,EACV,sBAAsB,EACtB,qBAAqB,EACrB,+BAA+B,EAC/B,sBAAsB,GACvB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,4BAA4B,EAC5B,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,EAC1B,KAAK,+BAA+B,EACpC,KAAK,sBAAsB,GAC5B,MAAM,4BAA4B,CAAC"}
package/dist/src/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { commandHandler as implementServerHandler } from './commands/implement-server.js';
2
- import { commandHandler as implementSliceHandler } from './commands/implement-slice.js';
3
- export const COMMANDS = [implementServerHandler, implementSliceHandler];
4
- export { implementServerHandler, implementSliceHandler };
5
- export { handleImplementSliceCommand, } from './commands/implement-slice.js';
2
+ import { commandHandler as implementMomentHandler } from './commands/implement-slice.js';
3
+ export const COMMANDS = [implementServerHandler, implementMomentHandler];
4
+ export { implementServerHandler, implementMomentHandler };
5
+ export { handleImplementMomentCommand, } from './commands/implement-slice.js';
6
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,IAAI,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACvF,OAAO,EAAE,cAAc,IAAI,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAErF,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,sBAAsB,EAAE,qBAAqB,CAAC,CAAC;AACxE,OAAO,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,CAAC;AAOzD,OAAO,EACL,2BAA2B,GAK5B,MAAM,4BAA4B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,IAAI,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACvF,OAAO,EAAE,cAAc,IAAI,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AAEtF,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,sBAAsB,EAAE,sBAAsB,CAAC,CAAC;AACzE,OAAO,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,CAAC;AAO1D,OAAO,EACL,4BAA4B,GAK7B,MAAM,4BAA4B,CAAC"}
@@ -1,2 +1,2 @@
1
- export declare const SYSTEM_PROMPT = "\n## 1. ROLE & CONTEXT\n\nYou are a software engineer implementing @auto-implement files in a sliced event-driven TypeScript server.\n\n- Architecture: event-sourced CQRS with @event-driven-io/emmett\n- Language: TypeScript with type-graphql\n- Sliced structure: Command, Reaction, Query slices\n- Each slice has scaffolded files with implementation instructions marked with comments or TODOs\n\n## 2. TASK\n\n- Complete the logic in the target file following embedded instructions\n- Return the entire updated file, production-ready\n- Remove all TODO/instruction comments after implementing\n- Scaffolded files contain fixed generated structure.\n Only change code inside the implementation area indicated by TODOs or instruction comments.\n\n## 3. EMMETT FRAMEWORK PATTERNS\n\ndecide(command, state) returns only { type, data }:\n CORRECT:\n return { type: 'OrderPlaced', data: { orderId: command.data.id } };\n WRONG \u2014 framework adds kind/metadata internally:\n return { type: 'OrderPlaced', data: {...}, kind: 'Event', metadata: {...} };\n\nevolve(state, event) returns new state derived from event data:\n CORRECT:\n return { ...state, status: event.data.status, updatedAt: event.data.timestamp };\n\nreact(context) returns void \u2014 queries eventStore, sends commands:\n CORRECT:\n const { state } = await eventStore.aggregateStream(streamId, { evolve, initialState });\n await commandSender.send({ type: 'ProcessItem', kind: 'Command', data: {...} });\n\nProjection evolve(document, event) returns updated document.\n\n## 4. IMPORT RULES\n\n- The provided context files are the COMPLETE set of available modules.\n If a module or type does not appear in any provided file, it does not exist.\n- Only import from: sibling files (./), shared directory ('../../../shared'),\n or packages already imported in the scaffolded code.\n- Never create imports to modules not shown in the provided context.\n- If you need a type that doesn't exist in any provided file,\n use inline types or primitive values instead.\n- Preserve existing import statements exactly \u2014 do not remove, rename, replace,\n or reorganize them unless a scaffold instruction explicitly requires a change.\n- Use the node: protocol for Node.js built-in modules (e.g., node:crypto, node:path).\n\n## 5. TEST SPECIFICATIONS GUIDANCE\n\n- .specs.ts files show expected behavior via Given/When/Then patterns\n- given([events]) = initial state, when({input}) = trigger, then({output}) = expected result\n- Match the exact field names, types, and value derivations in assertions\n- Pay attention to which values come from state vs. command/event data\n- If a spec queries eventStore before testing, the implementation must too\n- Derive values from inputs \u2014 never hardcode test literals\n\n## 6. CONSTRAINTS\n\n- Type safety: no type errors, annotate array literals with explicit types\n- Enums: if shared types define enums, use constants (e.g., Status.ACTIVE) not string literals ('active')\n- Immutability: functional patterns, never mutate state\n- Include ALL required fields in object literals\n- Preserve index signatures ([key: string]: unknown)\n- When mapping objects to a typed array, include ALL required fields in each object literal\n\n## 7. SLICE CONVENTIONS\n\n- Command slice: validate command, inspect state, emit events, never mutate state. Uses graphql mutations.\n- Reaction slice: respond to events with commands.\n- Query slice: maintain projections based on events, do not emit or throw. Uses graphql queries.\n\n## 8. AVOID\n\n- Adding dependencies\n- Refactoring unrelated code\n- Inventing types, enums, or modules not present in provided files\n- String literals for enum-typed fields\n- Hardcoding values that should be computed from inputs\n- Reproducing literal values from test examples\n- Type assertions and escape hatches such as `as any`, `as unknown as`, or broad casts to silence errors\n- Changing scaffolded framework calls or helper names unless explicitly instructed by the scaffold\n- Importing types or modules not directly referenced in the implementation code\n\n## 9. OUTPUT\n\nReturn only the entire updated file. No commentary, no markdown fences.\nEnsure the output is valid TypeScript.\n";
1
+ export declare const SYSTEM_PROMPT = "\n## 1. ROLE & CONTEXT\n\nYou are a software engineer implementing @auto-implement files in a sliced event-driven TypeScript server.\n\n- Architecture: event-sourced CQRS with @event-driven-io/emmett\n- Language: TypeScript with type-graphql\n- Structured moments: Command, Reaction, Query moments\n- Each slice has scaffolded files with implementation instructions marked with comments or TODOs\n\n## 2. TASK\n\n- Complete the logic in the target file following embedded instructions\n- Return the entire updated file, production-ready\n- Remove all TODO/instruction comments after implementing\n- Scaffolded files contain fixed generated structure.\n Only change code inside the implementation area indicated by TODOs or instruction comments.\n\n## 3. EMMETT FRAMEWORK PATTERNS\n\ndecide(command, state) returns only { type, data }:\n CORRECT:\n return { type: 'OrderPlaced', data: { orderId: command.data.id } };\n WRONG \u2014 framework adds kind/metadata internally:\n return { type: 'OrderPlaced', data: {...}, kind: 'Event', metadata: {...} };\n\nevolve(state, event) returns new state derived from event data:\n CORRECT:\n return { ...state, status: event.data.status, updatedAt: event.data.timestamp };\n\nreact(context) returns void \u2014 queries eventStore, sends commands:\n CORRECT:\n const { state } = await eventStore.aggregateStream(streamId, { evolve, initialState });\n await commandSender.send({ type: 'ProcessItem', kind: 'Command', data: {...} });\n\nProjection evolve(document, event) returns updated document.\n\n## 4. IMPORT RULES\n\n- The provided context files are the COMPLETE set of available modules.\n If a module or type does not appear in any provided file, it does not exist.\n- Only import from: sibling files (./), shared directory ('../../../shared'),\n or packages already imported in the scaffolded code.\n- Never create imports to modules not shown in the provided context.\n- If you need a type that doesn't exist in any provided file,\n use inline types or primitive values instead.\n- Preserve existing import statements exactly \u2014 do not remove, rename, replace,\n or reorganize them unless a scaffold instruction explicitly requires a change.\n- Use the node: protocol for Node.js built-in modules (e.g., node:crypto, node:path).\n\n## 5. TEST SPECIFICATIONS GUIDANCE\n\n- .specs.ts files show expected behavior via Given/When/Then patterns\n- given([events]) = initial state, when({input}) = trigger, then({output}) = expected result\n- Match the exact field names, types, and value derivations in assertions\n- Pay attention to which values come from state vs. command/event data\n- If a spec queries eventStore before testing, the implementation must too\n- Derive values from inputs \u2014 never hardcode test literals\n\n## 6. CONSTRAINTS\n\n- Type safety: no type errors, annotate array literals with explicit types\n- Enums: if shared types define enums, use constants (e.g., Status.ACTIVE) not string literals ('active')\n- Immutability: functional patterns, never mutate state\n- Include ALL required fields in object literals\n- Preserve index signatures ([key: string]: unknown)\n- When mapping objects to a typed array, include ALL required fields in each object literal\n\n## 7. SLICE CONVENTIONS\n\n- Command slice: validate command, inspect state, emit events, never mutate state. Uses graphql mutations.\n- Reaction slice: respond to events with commands.\n- Query slice: maintain projections based on events, do not emit or throw. Uses graphql queries.\n\n## 8. AVOID\n\n- Adding dependencies\n- Refactoring unrelated code\n- Inventing types, enums, or modules not present in provided files\n- String literals for enum-typed fields\n- Hardcoding values that should be computed from inputs\n- Reproducing literal values from test examples\n- Type assertions and escape hatches such as `as any`, `as unknown as`, or broad casts to silence errors\n- Changing scaffolded framework calls or helper names unless explicitly instructed by the scaffold\n- Importing types or modules not directly referenced in the implementation code\n\n## 9. OUTPUT\n\nReturn only the entire updated file. No commentary, no markdown fences.\nEnsure the output is valid TypeScript.\n";
2
2
  //# sourceMappingURL=systemPrompt.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"systemPrompt.d.ts","sourceRoot":"","sources":["../../../src/prompts/systemPrompt.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa,ypIA0FzB,CAAC"}
1
+ {"version":3,"file":"systemPrompt.d.ts","sourceRoot":"","sources":["../../../src/prompts/systemPrompt.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa,4pIA0FzB,CAAC"}
@@ -5,7 +5,7 @@ You are a software engineer implementing @auto-implement files in a sliced event
5
5
 
6
6
  - Architecture: event-sourced CQRS with @event-driven-io/emmett
7
7
  - Language: TypeScript with type-graphql
8
- - Sliced structure: Command, Reaction, Query slices
8
+ - Structured moments: Command, Reaction, Query moments
9
9
  - Each slice has scaffolded files with implementation instructions marked with comments or TODOs
10
10
 
11
11
  ## 2. TASK
@@ -1,7 +1,7 @@
1
1
  export function buildContextSections(targetFile, context, options) {
2
2
  const sharedFiles = Object.entries(context).filter(([name]) => name.startsWith('shared/'));
3
3
  const specs = Object.entries(context).filter(([name]) => name.endsWith('.specs.ts'));
4
- const sliceFiles = Object.entries(context).filter(([name]) => name !== targetFile && !name.startsWith('shared/') && !name.endsWith('.specs.ts'));
4
+ const momentFiles = Object.entries(context).filter(([name]) => name !== targetFile && !name.startsWith('shared/') && !name.endsWith('.specs.ts'));
5
5
  let result = '';
6
6
  if (sharedFiles.length > 0) {
7
7
  result += `---\n📦 Shared domain types (importable from '../../../shared'):\n`;
@@ -10,8 +10,8 @@ export function buildContextSections(targetFile, context, options) {
10
10
  result += `\n\n${options.enumExamples}`;
11
11
  result += '\n\n';
12
12
  }
13
- result += `---\n🧠 Other files in the same slice:\n`;
14
- result += sliceFiles.map(([name, content]) => `// File: ${name}\n${content}`).join('\n\n');
13
+ result += `---\n🧠 Other files in the same moment:\n`;
14
+ result += momentFiles.map(([name, content]) => `// File: ${name}\n${content}`).join('\n\n');
15
15
  if (specs.length > 0) {
16
16
  result += `\n\n---\n🧪 Test specifications (READ-ONLY reference):\n`;
17
17
  result += specs.map(([name, content]) => `// File: ${name}\n${content}`).join('\n\n');
@@ -1 +1 @@
1
- {"version":3,"file":"buildContextSections.js","sourceRoot":"","sources":["../../../src/utils/buildContextSections.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,oBAAoB,CAClC,UAAkB,EAClB,OAA+B,EAC/B,OAAmC;IAEnC,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC;IAC3F,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC;IACrF,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,CAC/C,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,KAAK,UAAU,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAC9F,CAAC;IAEF,IAAI,MAAM,GAAG,EAAE,CAAC;IAEhB,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,oEAAoE,CAAC;QAC/E,MAAM,IAAI,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,YAAY,IAAI,KAAK,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC5F,IAAI,OAAO,EAAE,YAAY;YAAE,MAAM,IAAI,OAAO,OAAO,CAAC,YAAY,EAAE,CAAC;QACnE,MAAM,IAAI,MAAM,CAAC;IACnB,CAAC;IAED,MAAM,IAAI,0CAA0C,CAAC;IACrD,MAAM,IAAI,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,YAAY,IAAI,KAAK,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAE3F,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,MAAM,IAAI,0DAA0D,CAAC;QACrE,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,YAAY,IAAI,KAAK,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACxF,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"buildContextSections.js","sourceRoot":"","sources":["../../../src/utils/buildContextSections.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,oBAAoB,CAClC,UAAkB,EAClB,OAA+B,EAC/B,OAAmC;IAEnC,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC;IAC3F,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC;IACrF,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,CAChD,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,KAAK,UAAU,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAC9F,CAAC;IAEF,IAAI,MAAM,GAAG,EAAE,CAAC;IAEhB,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,oEAAoE,CAAC;QAC/E,MAAM,IAAI,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,YAAY,IAAI,KAAK,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC5F,IAAI,OAAO,EAAE,YAAY;YAAE,MAAM,IAAI,OAAO,OAAO,CAAC,YAAY,EAAE,CAAC;QACnE,MAAM,IAAI,MAAM,CAAC;IACnB,CAAC;IAED,MAAM,IAAI,2CAA2C,CAAC;IACtD,MAAM,IAAI,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,YAAY,IAAI,KAAK,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAE5F,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrB,MAAM,IAAI,0DAA0D,CAAC;QACrE,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC,YAAY,IAAI,KAAK,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACxF,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import { describe, expect, it } from 'vitest';
2
2
  import { buildContextSections } from './buildContextSections.js';
3
3
  describe('buildContextSections', () => {
4
- it('separates shared files, slice files, and spec files into labeled sections', () => {
4
+ it('separates shared files, moment files, and spec files into labeled sections', () => {
5
5
  const context = {
6
6
  'decide.ts': 'export function decide() {}',
7
7
  'state.ts': 'export type State = {}',
@@ -16,7 +16,7 @@ describe('buildContextSections', () => {
16
16
  'export type Foo = string;',
17
17
  '',
18
18
  '---',
19
- '🧠 Other files in the same slice:',
19
+ '🧠 Other files in the same moment:',
20
20
  '// File: state.ts',
21
21
  'export type State = {}',
22
22
  '',
@@ -32,7 +32,7 @@ describe('buildContextSections', () => {
32
32
  'state.ts': 'export type State = {}',
33
33
  };
34
34
  const result = buildContextSections('decide.ts', context);
35
- expect(result).toBe(['---', '🧠 Other files in the same slice:', '// File: state.ts', 'export type State = {}'].join('\n'));
35
+ expect(result).toBe(['---', '🧠 Other files in the same moment:', '// File: state.ts', 'export type State = {}'].join('\n'));
36
36
  });
37
37
  it('omits spec section when no spec files exist', () => {
38
38
  const context = {
@@ -48,7 +48,7 @@ describe('buildContextSections', () => {
48
48
  'export type Foo = string;',
49
49
  '',
50
50
  '---',
51
- '🧠 Other files in the same slice:',
51
+ '🧠 Other files in the same moment:',
52
52
  '// File: evolve.ts',
53
53
  'export function evolve() {}',
54
54
  ].join('\n'));
@@ -69,12 +69,12 @@ describe('buildContextSections', () => {
69
69
  'Use Status.ACTIVE not "active"',
70
70
  '',
71
71
  '---',
72
- '🧠 Other files in the same slice:',
72
+ '🧠 Other files in the same moment:',
73
73
  '// File: evolve.ts',
74
74
  'export function evolve() {}',
75
75
  ].join('\n'));
76
76
  });
77
- it('excludes target file from slice files section', () => {
77
+ it('excludes target file from moment files section', () => {
78
78
  const context = {
79
79
  'decide.ts': 'export function decide() {}',
80
80
  'evolve.ts': 'export function evolve() {}',
@@ -1 +1 @@
1
- {"version":3,"file":"buildContextSections.specs.js","sourceRoot":"","sources":["../../../src/utils/buildContextSections.specs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"buildContextSections.specs.js","sourceRoot":"","sources":["../../../src/utils/buildContextSections.specs.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- export declare function loadContextFiles(sliceDir: string): Promise<Record<string, string>>;
1
+ export declare function loadContextFiles(momentDir: string): Promise<Record<string, string>>;
2
2
  //# sourceMappingURL=loadContextFiles.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"loadContextFiles.d.ts","sourceRoot":"","sources":["../../../src/utils/loadContextFiles.ts"],"names":[],"mappings":"AAKA,wBAAsB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CASxF"}
1
+ {"version":3,"file":"loadContextFiles.d.ts","sourceRoot":"","sources":["../../../src/utils/loadContextFiles.ts"],"names":[],"mappings":"AAKA,wBAAsB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CASzF"}
@@ -2,13 +2,13 @@ import { readFile } from 'node:fs/promises';
2
2
  import path from 'node:path';
3
3
  import fg from 'fast-glob';
4
4
  import { loadSharedContext } from './loadSharedContext.js';
5
- export async function loadContextFiles(sliceDir) {
6
- const files = await fg(['*.ts'], { cwd: sliceDir });
5
+ export async function loadContextFiles(momentDir) {
6
+ const files = await fg(['*.ts'], { cwd: momentDir });
7
7
  const context = {};
8
8
  for (const file of files) {
9
- context[file] = await readFile(path.join(sliceDir, file), 'utf-8');
9
+ context[file] = await readFile(path.join(momentDir, file), 'utf-8');
10
10
  }
11
- const sharedFiles = await loadSharedContext(sliceDir);
11
+ const sharedFiles = await loadSharedContext(momentDir);
12
12
  Object.assign(context, sharedFiles);
13
13
  return context;
14
14
  }
@@ -1 +1 @@
1
- {"version":3,"file":"loadContextFiles.js","sourceRoot":"","sources":["../../../src/utils/loadContextFiles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,WAAW,CAAC;AAC3B,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,QAAgB;IACrD,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC;IACpD,MAAM,OAAO,GAA2B,EAAE,CAAC;IAC3C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,OAAO,CAAC,IAAI,CAAC,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;IACrE,CAAC;IACD,MAAM,WAAW,GAAG,MAAM,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IACtD,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IACpC,OAAO,OAAO,CAAC;AACjB,CAAC"}
1
+ {"version":3,"file":"loadContextFiles.js","sourceRoot":"","sources":["../../../src/utils/loadContextFiles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,WAAW,CAAC;AAC3B,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,SAAiB;IACtD,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC;IACrD,MAAM,OAAO,GAA2B,EAAE,CAAC;IAC3C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,OAAO,CAAC,IAAI,CAAC,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;IACtE,CAAC;IACD,MAAM,WAAW,GAAG,MAAM,iBAAiB,CAAC,SAAS,CAAC,CAAC;IACvD,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IACpC,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -4,22 +4,22 @@ import { afterEach, beforeEach, describe, expect, it } from 'vitest';
4
4
  import { loadContextFiles } from './loadContextFiles.js';
5
5
  describe('loadContextFiles', () => {
6
6
  let tmpDir;
7
- let sliceDir;
7
+ let momentDir;
8
8
  let sharedDir;
9
9
  beforeEach(async () => {
10
10
  tmpDir = await fs.mkdtemp(path.join(import.meta.dirname, '.tmp-'));
11
11
  sharedDir = path.join(tmpDir, 'shared');
12
- sliceDir = path.join(tmpDir, 'src', 'slices', 'some-slice');
13
- await fs.mkdir(sliceDir, { recursive: true });
12
+ momentDir = path.join(tmpDir, 'src', 'moments', 'some-moment');
13
+ await fs.mkdir(momentDir, { recursive: true });
14
14
  });
15
15
  afterEach(async () => {
16
16
  await fs.rm(tmpDir, { recursive: true, force: true });
17
17
  });
18
- it('loads all .ts files from slice directory including specs', async () => {
19
- await fs.writeFile(path.join(sliceDir, 'decide.ts'), 'export function decide() {}');
20
- await fs.writeFile(path.join(sliceDir, 'state.ts'), 'export type State = {}');
21
- await fs.writeFile(path.join(sliceDir, 'decide.specs.ts'), 'it("works", () => {})');
22
- const result = await loadContextFiles(sliceDir);
18
+ it('loads all .ts files from moment directory including specs', async () => {
19
+ await fs.writeFile(path.join(momentDir, 'decide.ts'), 'export function decide() {}');
20
+ await fs.writeFile(path.join(momentDir, 'state.ts'), 'export type State = {}');
21
+ await fs.writeFile(path.join(momentDir, 'decide.specs.ts'), 'it("works", () => {})');
22
+ const result = await loadContextFiles(momentDir);
23
23
  expect(result).toEqual({
24
24
  'decide.ts': 'export function decide() {}',
25
25
  'state.ts': 'export type State = {}',
@@ -28,16 +28,16 @@ describe('loadContextFiles', () => {
28
28
  });
29
29
  it('integrates shared context files with real filenames', async () => {
30
30
  await fs.mkdir(sharedDir, { recursive: true });
31
- await fs.writeFile(path.join(sliceDir, 'decide.ts'), 'export function decide() {}');
31
+ await fs.writeFile(path.join(momentDir, 'decide.ts'), 'export function decide() {}');
32
32
  await fs.writeFile(path.join(sharedDir, 'types.ts'), 'export type Foo = string;');
33
- const result = await loadContextFiles(sliceDir);
33
+ const result = await loadContextFiles(momentDir);
34
34
  expect(result).toEqual({
35
35
  'decide.ts': 'export function decide() {}',
36
36
  'shared/types.ts': 'export type Foo = string;',
37
37
  });
38
38
  });
39
- it('returns empty record for empty slice directory', async () => {
40
- const result = await loadContextFiles(sliceDir);
39
+ it('returns empty record for empty moment directory', async () => {
40
+ const result = await loadContextFiles(momentDir);
41
41
  expect(result).toEqual({});
42
42
  });
43
43
  });
@@ -1 +1 @@
1
- {"version":3,"file":"loadContextFiles.specs.js","sourceRoot":"","sources":["../../../src/utils/loadContextFiles.specs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"loadContextFiles.specs.js","sourceRoot":"","sources":["../../../src/utils/loadContextFiles.specs.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- export declare function loadSharedContext(sliceDir: string): Promise<Record<string, string>>;
1
+ export declare function loadSharedContext(momentDir: string): Promise<Record<string, string>>;
2
2
  //# sourceMappingURL=loadSharedContext.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"loadSharedContext.d.ts","sourceRoot":"","sources":["../../../src/utils/loadSharedContext.ts"],"names":[],"mappings":"AAKA,wBAAsB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAYzF"}
1
+ {"version":3,"file":"loadSharedContext.d.ts","sourceRoot":"","sources":["../../../src/utils/loadSharedContext.ts"],"names":[],"mappings":"AAKA,wBAAsB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAY1F"}
@@ -2,8 +2,8 @@ import { existsSync } from 'node:fs';
2
2
  import { readFile } from 'node:fs/promises';
3
3
  import path from 'node:path';
4
4
  import fg from 'fast-glob';
5
- export async function loadSharedContext(sliceDir) {
6
- const sharedDir = path.resolve(sliceDir, '../../../shared');
5
+ export async function loadSharedContext(momentDir) {
6
+ const sharedDir = path.resolve(momentDir, '../../../shared');
7
7
  if (!existsSync(sharedDir))
8
8
  return {};
9
9
  const sharedFiles = await fg(['*.ts'], { cwd: sharedDir });
@@ -1 +1 @@
1
- {"version":3,"file":"loadSharedContext.js","sourceRoot":"","sources":["../../../src/utils/loadSharedContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,WAAW,CAAC;AAE3B,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,QAAgB;IACtD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;IAC5D,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC;QAAE,OAAO,EAAE,CAAC;IAEtC,MAAM,WAAW,GAAG,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC;IAC3D,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAExC,MAAM,MAAM,GAA2B,EAAE,CAAC;IAC1C,KAAK,MAAM,IAAI,IAAI,WAAW,CAAC,IAAI,EAAE,EAAE,CAAC;QACtC,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;IACjF,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"loadSharedContext.js","sourceRoot":"","sources":["../../../src/utils/loadSharedContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,WAAW,CAAC;AAE3B,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,SAAiB;IACvD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC;IAC7D,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC;QAAE,OAAO,EAAE,CAAC;IAEtC,MAAM,WAAW,GAAG,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,CAAC;IAC3D,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAExC,MAAM,MAAM,GAA2B,EAAE,CAAC;IAC1C,KAAK,MAAM,IAAI,IAAI,WAAW,CAAC,IAAI,EAAE,EAAE,CAAC;QACtC,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;IACjF,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -4,30 +4,30 @@ import { afterEach, beforeEach, describe, expect, it } from 'vitest';
4
4
  import { loadSharedContext } from './loadSharedContext.js';
5
5
  describe('loadSharedContext', () => {
6
6
  let tmpDir;
7
- let sliceDir;
7
+ let momentDir;
8
8
  let sharedDir;
9
9
  beforeEach(async () => {
10
10
  tmpDir = await fs.mkdtemp(path.join(import.meta.dirname, '.tmp-'));
11
11
  sharedDir = path.join(tmpDir, 'shared');
12
- sliceDir = path.join(tmpDir, 'src', 'slices', 'some-slice');
13
- await fs.mkdir(sliceDir, { recursive: true });
12
+ momentDir = path.join(tmpDir, 'src', 'moments', 'some-moment');
13
+ await fs.mkdir(momentDir, { recursive: true });
14
14
  });
15
15
  afterEach(async () => {
16
16
  await fs.rm(tmpDir, { recursive: true, force: true });
17
17
  });
18
18
  it('returns empty record when shared directory does not exist', async () => {
19
- expect(await loadSharedContext(sliceDir)).toEqual({});
19
+ expect(await loadSharedContext(momentDir)).toEqual({});
20
20
  });
21
21
  it('returns empty record when shared directory has no .ts files', async () => {
22
22
  await fs.mkdir(sharedDir, { recursive: true });
23
23
  await fs.writeFile(path.join(sharedDir, 'readme.md'), '# Readme');
24
- expect(await loadSharedContext(sliceDir)).toEqual({});
24
+ expect(await loadSharedContext(momentDir)).toEqual({});
25
25
  });
26
26
  it('returns all .ts files from shared directory keyed by real path sorted by name', async () => {
27
27
  await fs.mkdir(sharedDir, { recursive: true });
28
28
  await fs.writeFile(path.join(sharedDir, 'types.ts'), 'export type Foo = string;');
29
29
  await fs.writeFile(path.join(sharedDir, 'enums.ts'), 'export enum Bar { A = "a" }');
30
- const result = await loadSharedContext(sliceDir);
30
+ const result = await loadSharedContext(momentDir);
31
31
  expect(result).toEqual({
32
32
  'shared/enums.ts': 'export enum Bar { A = "a" }',
33
33
  'shared/types.ts': 'export type Foo = string;',
@@ -36,7 +36,7 @@ describe('loadSharedContext', () => {
36
36
  it('returns content for a single .ts file', async () => {
37
37
  await fs.mkdir(sharedDir, { recursive: true });
38
38
  await fs.writeFile(path.join(sharedDir, 'types.ts'), 'export type X = number;');
39
- const result = await loadSharedContext(sliceDir);
39
+ const result = await loadSharedContext(momentDir);
40
40
  expect(result).toEqual({
41
41
  'shared/types.ts': 'export type X = number;',
42
42
  });
@@ -1 +1 @@
1
- {"version":3,"file":"loadSharedContext.specs.js","sourceRoot":"","sources":["../../../src/utils/loadSharedContext.specs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"loadSharedContext.specs.js","sourceRoot":"","sources":["../../../src/utils/loadSharedContext.specs.ts"],"names":[],"mappings":"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"}