@auto-engineer/server-generator-nestjs 0.21.0 → 0.21.2

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 (100) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/package.json +3 -3
  3. package/.turbo/turbo-build.log +0 -5
  4. package/.turbo/turbo-format.log +0 -4
  5. package/.turbo/turbo-lint.log +0 -4
  6. package/.turbo/turbo-test.log +0 -13
  7. package/.turbo/turbo-type-check.log +0 -4
  8. package/dist/src/codegen/entity-consolidation.d.ts +0 -19
  9. package/dist/src/codegen/entity-consolidation.d.ts.map +0 -1
  10. package/dist/src/codegen/entity-consolidation.js +0 -134
  11. package/dist/src/codegen/entity-consolidation.js.map +0 -1
  12. package/dist/src/codegen/extract/commands.d.ts +0 -25
  13. package/dist/src/codegen/extract/commands.d.ts.map +0 -1
  14. package/dist/src/codegen/extract/commands.js +0 -67
  15. package/dist/src/codegen/extract/commands.js.map +0 -1
  16. package/dist/src/codegen/extract/data-sink.d.ts +0 -6
  17. package/dist/src/codegen/extract/data-sink.d.ts.map +0 -1
  18. package/dist/src/codegen/extract/data-sink.js +0 -90
  19. package/dist/src/codegen/extract/data-sink.js.map +0 -1
  20. package/dist/src/codegen/extract/events.d.ts +0 -10
  21. package/dist/src/codegen/extract/events.d.ts.map +0 -1
  22. package/dist/src/codegen/extract/events.js +0 -42
  23. package/dist/src/codegen/extract/events.js.map +0 -1
  24. package/dist/src/codegen/extract/fields.d.ts +0 -3
  25. package/dist/src/codegen/extract/fields.d.ts.map +0 -1
  26. package/dist/src/codegen/extract/fields.js +0 -9
  27. package/dist/src/codegen/extract/fields.js.map +0 -1
  28. package/dist/src/codegen/extract/graphql.d.ts +0 -14
  29. package/dist/src/codegen/extract/graphql.d.ts.map +0 -1
  30. package/dist/src/codegen/extract/graphql.js +0 -81
  31. package/dist/src/codegen/extract/graphql.js.map +0 -1
  32. package/dist/src/codegen/extract/gwt.d.ts +0 -6
  33. package/dist/src/codegen/extract/gwt.d.ts.map +0 -1
  34. package/dist/src/codegen/extract/gwt.js +0 -79
  35. package/dist/src/codegen/extract/gwt.js.map +0 -1
  36. package/dist/src/codegen/extract/imports.d.ts +0 -29
  37. package/dist/src/codegen/extract/imports.d.ts.map +0 -1
  38. package/dist/src/codegen/extract/imports.js +0 -55
  39. package/dist/src/codegen/extract/imports.js.map +0 -1
  40. package/dist/src/codegen/extract/index.d.ts +0 -10
  41. package/dist/src/codegen/extract/index.d.ts.map +0 -1
  42. package/dist/src/codegen/extract/index.js +0 -10
  43. package/dist/src/codegen/extract/index.js.map +0 -1
  44. package/dist/src/codegen/extract/messages.d.ts +0 -16
  45. package/dist/src/codegen/extract/messages.d.ts.map +0 -1
  46. package/dist/src/codegen/extract/messages.js +0 -192
  47. package/dist/src/codegen/extract/messages.js.map +0 -1
  48. package/dist/src/codegen/extract/projection.d.ts +0 -5
  49. package/dist/src/codegen/extract/projection.d.ts.map +0 -1
  50. package/dist/src/codegen/extract/projection.js +0 -44
  51. package/dist/src/codegen/extract/projection.js.map +0 -1
  52. package/dist/src/codegen/extract/query.d.ts +0 -13
  53. package/dist/src/codegen/extract/query.d.ts.map +0 -1
  54. package/dist/src/codegen/extract/query.js +0 -18
  55. package/dist/src/codegen/extract/query.js.map +0 -1
  56. package/dist/src/codegen/extract/states.d.ts +0 -5
  57. package/dist/src/codegen/extract/states.d.ts.map +0 -1
  58. package/dist/src/codegen/extract/states.js +0 -48
  59. package/dist/src/codegen/extract/states.js.map +0 -1
  60. package/dist/src/codegen/extract/type-helpers.d.ts +0 -13
  61. package/dist/src/codegen/extract/type-helpers.d.ts.map +0 -1
  62. package/dist/src/codegen/extract/type-helpers.js +0 -98
  63. package/dist/src/codegen/extract/type-helpers.js.map +0 -1
  64. package/dist/src/codegen/scaffoldFromSchema.d.ts +0 -9
  65. package/dist/src/codegen/scaffoldFromSchema.d.ts.map +0 -1
  66. package/dist/src/codegen/scaffoldFromSchema.js +0 -391
  67. package/dist/src/codegen/scaffoldFromSchema.js.map +0 -1
  68. package/dist/src/codegen/templates/command/command.ts.ejs +0 -16
  69. package/dist/src/codegen/templates/command/handler.specs.ts.ejs +0 -50
  70. package/dist/src/codegen/templates/command/handler.ts.ejs +0 -30
  71. package/dist/src/codegen/templates/command/input.ts.ejs +0 -23
  72. package/dist/src/codegen/templates/command/resolver.ts.ejs +0 -56
  73. package/dist/src/codegen/templates/entity/entity.ts.ejs +0 -35
  74. package/dist/src/codegen/templates/entity/index.ts.ejs +0 -6
  75. package/dist/src/codegen/templates/module/app-module.ts.ejs +0 -65
  76. package/dist/src/codegen/templates/module/domain-module.ts.ejs +0 -46
  77. package/dist/src/codegen/templates/query/handler.ts.ejs +0 -25
  78. package/dist/src/codegen/templates/query/query.ts.ejs +0 -1
  79. package/dist/src/codegen/templates/query/resolver.ts.ejs +0 -20
  80. package/dist/src/codegen/templates/query/type.ts.ejs +0 -24
  81. package/dist/src/codegen/types.d.ts +0 -37
  82. package/dist/src/codegen/types.d.ts.map +0 -1
  83. package/dist/src/codegen/types.js +0 -2
  84. package/dist/src/codegen/types.js.map +0 -1
  85. package/dist/src/codegen/utils/path.d.ts +0 -4
  86. package/dist/src/codegen/utils/path.d.ts.map +0 -1
  87. package/dist/src/codegen/utils/path.js +0 -18
  88. package/dist/src/codegen/utils/path.js.map +0 -1
  89. package/dist/src/commands/generate-server.d.ts +0 -28
  90. package/dist/src/commands/generate-server.d.ts.map +0 -1
  91. package/dist/src/commands/generate-server.js +0 -422
  92. package/dist/src/commands/generate-server.js.map +0 -1
  93. package/dist/src/index.d.ts +0 -3
  94. package/dist/src/index.d.ts.map +0 -1
  95. package/dist/src/index.js +0 -3
  96. package/dist/src/index.js.map +0 -1
  97. package/dist/src/shared/graphql-types.ts +0 -19
  98. package/dist/src/shared/main.ts +0 -27
  99. package/dist/src/shared/mikro-orm.config.ts +0 -18
  100. package/dist/tsconfig.tsbuildinfo +0 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,12 @@
1
1
  # @auto-engineer/server-generator-nestjs
2
2
 
3
+ ## 0.21.2
4
+
5
+ ### Patch Changes
6
+
7
+ - Updated dependencies []:
8
+ - @auto-engineer/narrative@0.21.2
9
+
3
10
  ## 0.21.0
4
11
 
5
12
  ### Minor Changes
package/package.json CHANGED
@@ -40,7 +40,7 @@
40
40
  "ts-node": "^10.9.2",
41
41
  "type-fest": "^4.41.0",
42
42
  "uuid": "^11.0.0",
43
- "@auto-engineer/narrative": "0.21.0"
43
+ "@auto-engineer/narrative": "0.21.2"
44
44
  },
45
45
  "publishConfig": {
46
46
  "access": "public"
@@ -52,9 +52,9 @@
52
52
  "tsx": "^4.19.2",
53
53
  "typescript": "^5.8.3",
54
54
  "vitest": "^3.2.4",
55
- "@auto-engineer/cli": "0.21.0"
55
+ "@auto-engineer/cli": "0.21.2"
56
56
  },
57
- "version": "0.21.0",
57
+ "version": "0.21.2",
58
58
  "scripts": {
59
59
  "generate:server": "tsx src/cli/index.ts",
60
60
  "-DISABLE-build": "tsc && tsx ../../scripts/fix-esm-imports.ts && rm -rf dist/src/codegen/templates && mkdir -p dist/src/codegen && cp -r src/codegen/templates dist/src/codegen/templates && cp -r src/shared dist/src",
@@ -1,5 +0,0 @@
1
-
2
- > @auto-engineer/server-generator-nestjs@0.1.0 build /Users/sam/WebstormProjects/top/auto-engineer-2/packages/server-generator-nestjs
3
- > tsc && tsx ../../scripts/fix-esm-imports.ts && rm -rf dist/src/codegen/templates && mkdir -p dist/src/codegen && cp -r src/codegen/templates dist/src/codegen/templates && cp -r src/shared dist/src
4
-
5
- Fixed ESM imports in dist/
@@ -1,4 +0,0 @@
1
-
2
- > @auto-engineer/server-generator-nestjs@0.1.0 format /Users/sam/WebstormProjects/top/auto-engineer-2/packages/server-generator-nestjs
3
- > prettier --write "**/*.{js,ts,json,md,yml,yaml}" --ignore-path ../../.prettierignore --log-level warn
4
-
@@ -1,4 +0,0 @@
1
-
2
- > @auto-engineer/server-generator-nestjs@0.1.0 lint /Users/sam/WebstormProjects/top/auto-engineer-2/packages/server-generator-nestjs
3
- > eslint 'src/**/*.ts' --ignore-pattern '**/*.specs.ts' --ignore-pattern '**/.tmp/**' --ignore-pattern 'src/shared/**' --max-warnings 0 --config ../../eslint.config.ts
4
-
@@ -1,13 +0,0 @@
1
-
2
- > @auto-engineer/server-generator-nestjs@0.11.16 test /Users/sam/WebstormProjects/top/auto-engineer-2/packages/server-generator-nestjs
3
- > vitest run --reporter=dot
4
-
5
-
6
- RUN v3.2.4 /Users/sam/WebstormProjects/top/auto-engineer-2/packages/server-generator-nestjs
7
-
8
-
9
- No test files found, exiting with code 0
10
-
11
- include: **/*.specs.{js,ts}
12
- exclude: **/.tmp/**, **/node_modules/**, **/dist/**, **/examples/**, **/create-auto-app/templates/**, **/*-starter/**, **/vite.config.ts
13
-
@@ -1,4 +0,0 @@
1
-
2
- > @auto-engineer/server-generator-nestjs@0.11.16 type-check /Users/sam/WebstormProjects/top/auto-engineer-2/packages/server-generator-nestjs
3
- > tsc --noEmit --project tsconfig.json
4
-
@@ -1,19 +0,0 @@
1
- import { Narrative } from '@auto-engineer/narrative';
2
- import { MessageDefinition } from './types.js';
3
- export interface EntityField {
4
- name: string;
5
- tsType: string;
6
- nullable: boolean;
7
- isPrimary: boolean;
8
- isEnum: boolean;
9
- enumName?: string;
10
- indexed: boolean;
11
- }
12
- export interface ConsolidatedEntity {
13
- entityName: string;
14
- tableName: string;
15
- fields: EntityField[];
16
- enumImports: string[];
17
- }
18
- export declare function consolidateEntityFields(flow: Narrative, messages: MessageDefinition[], unionToEnumName: Map<string, string>): ConsolidatedEntity;
19
- //# sourceMappingURL=entity-consolidation.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"entity-consolidation.d.ts","sourceRoot":"","sources":["../../../src/codegen/entity-consolidation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAkB,MAAM,YAAY,CAAC;AAO/D,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AAkKD,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,SAAS,EACf,QAAQ,EAAE,iBAAiB,EAAE,EAC7B,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GACnC,kBAAkB,CAuBpB"}
@@ -1,134 +0,0 @@
1
- import { extractMessagesFromSpecs } from './extract/index.js';
2
- import { pascalCase, camelCase } from 'change-case';
3
- import createDebug from 'debug';
4
- const debug = createDebug('auto:server-generator-nestjs:entity');
5
- function isEnumType(tsType) {
6
- const cleanType = tsType.replace(/\s*\|\s*null\b/g, '').trim();
7
- return /^"[^"]+"(\s*\|\s*"[^"]+")+$/.test(cleanType) || /^'[^']+'(\s*\|\s*'[^']+)+$/.test(cleanType);
8
- }
9
- function detectPrimaryKeyField(fields, flowName) {
10
- const idCandidates = [`${camelCase(flowName)}Id`, 'id', `${camelCase(flowName)}ID`, 'ID'];
11
- for (const candidate of idCandidates) {
12
- const field = fields.find((f) => f.name === candidate);
13
- if (field) {
14
- return field.name;
15
- }
16
- }
17
- const stringFields = fields.filter((f) => f.tsType === 'string' && f.name.toLowerCase().includes('id'));
18
- if (stringFields.length > 0) {
19
- return stringFields[0].name;
20
- }
21
- return null;
22
- }
23
- function shouldIndexField(fieldName, tsType) {
24
- const indexableNames = ['status', 'type', 'category', 'state'];
25
- const nameLower = fieldName.toLowerCase();
26
- if (indexableNames.some((name) => nameLower.includes(name))) {
27
- return true;
28
- }
29
- if (isEnumType(tsType)) {
30
- return true;
31
- }
32
- return false;
33
- }
34
- function processFieldsFromMessages(fields, fieldMap, unionToEnumName, enumsUsed) {
35
- for (const field of fields) {
36
- if (field.name === 'now')
37
- continue;
38
- if (!fieldMap.has(field.name)) {
39
- const isEnum = isEnumType(field.tsType);
40
- const cleanType = field.tsType.replace(/\s*\|\s*null\b/g, '').trim();
41
- let enumName;
42
- if (isEnum) {
43
- const matches = cleanType.match(/'([^']+)'/g);
44
- const values = matches !== null ? matches.map((v) => v.slice(1, -1)) : [];
45
- const normalized = values
46
- .sort()
47
- .map((v) => `'${v}'`)
48
- .join(' | ');
49
- enumName = unionToEnumName.get(normalized);
50
- if (typeof enumName === 'string' && enumName.length > 0) {
51
- enumsUsed.add(enumName);
52
- }
53
- }
54
- fieldMap.set(field.name, {
55
- name: field.name,
56
- tsType: field.tsType,
57
- nullable: /\|\s*null\b/.test(field.tsType),
58
- isPrimary: false,
59
- isEnum,
60
- enumName,
61
- indexed: false,
62
- });
63
- }
64
- }
65
- }
66
- function processMessagesWithFields(messageArray, messageLabel, fieldMap, unionToEnumName, enumsUsed) {
67
- for (const msg of messageArray) {
68
- debug(' %s: %s with %d fields', messageLabel, msg.type, msg.fields.length);
69
- if (msg.fields.length > 0) {
70
- processFieldsFromMessages(msg.fields, fieldMap, unionToEnumName, enumsUsed);
71
- }
72
- }
73
- }
74
- function processCommandSlice(slice, messages, fieldMap, unionToEnumName, enumsUsed) {
75
- debug(' Processing slice: %s (type: %s)', slice.name, slice.type);
76
- const extracted = extractMessagesFromSpecs(slice, messages);
77
- processMessagesWithFields(extracted.commands, 'Command', fieldMap, unionToEnumName, enumsUsed);
78
- processMessagesWithFields(extracted.events, 'Event', fieldMap, unionToEnumName, enumsUsed);
79
- }
80
- function processQuerySlice(slice, messages, fieldMap, unionToEnumName, enumsUsed) {
81
- debug(' Processing slice: %s (type: %s)', slice.name, slice.type);
82
- const extracted = extractMessagesFromSpecs(slice, messages);
83
- processMessagesWithFields(extracted.states, 'State', fieldMap, unionToEnumName, enumsUsed);
84
- }
85
- function collectFieldsFromSlices(flow, messages, fieldMap, unionToEnumName, enumsUsed) {
86
- for (const slice of flow.slices) {
87
- if (slice.type === 'experience')
88
- continue;
89
- if (slice.type === 'command') {
90
- processCommandSlice(slice, messages, fieldMap, unionToEnumName, enumsUsed);
91
- }
92
- if (slice.type === 'query') {
93
- processQuerySlice(slice, messages, fieldMap, unionToEnumName, enumsUsed);
94
- }
95
- }
96
- }
97
- function markPrimaryKeyAndIndexes(fields, fieldMap, flowName) {
98
- const primaryKeyField = detectPrimaryKeyField(fields, flowName);
99
- if (typeof primaryKeyField === 'string' && primaryKeyField.length > 0) {
100
- const field = fieldMap.get(primaryKeyField);
101
- if (field !== undefined) {
102
- field.isPrimary = true;
103
- debug(' Detected primary key: %s', primaryKeyField);
104
- }
105
- }
106
- else {
107
- debug(' WARNING: No primary key detected for flow: %s', flowName);
108
- }
109
- for (const field of fields) {
110
- if (!field.isPrimary && shouldIndexField(field.name, field.tsType)) {
111
- field.indexed = true;
112
- debug(' Marking field for indexing: %s', field.name);
113
- }
114
- }
115
- }
116
- export function consolidateEntityFields(flow, messages, unionToEnumName) {
117
- debug('Consolidating entity fields for flow: %s', flow.name);
118
- const fieldMap = new Map();
119
- const enumsUsed = new Set();
120
- collectFieldsFromSlices(flow, messages, fieldMap, unionToEnumName, enumsUsed);
121
- const fields = Array.from(fieldMap.values());
122
- markPrimaryKeyAndIndexes(fields, fieldMap, flow.name);
123
- const entityName = pascalCase(flow.name) + 'Entity';
124
- const tableName = camelCase(flow.name) + 's';
125
- debug('Consolidated entity: %s with %d fields', entityName, fields.length);
126
- debug(' Enum imports: %o', Array.from(enumsUsed));
127
- return {
128
- entityName,
129
- tableName,
130
- fields,
131
- enumImports: Array.from(enumsUsed),
132
- };
133
- }
134
- //# sourceMappingURL=entity-consolidation.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"entity-consolidation.js","sourceRoot":"","sources":["../../../src/codegen/entity-consolidation.ts"],"names":[],"mappings":"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"}
@@ -1,25 +0,0 @@
1
- import { CommandExample, EventExample } from '@auto-engineer/narrative';
2
- import { Message, MessageDefinition } from '../types';
3
- export declare function extractCommandsFromGwt(gwtSpecs: Array<{
4
- given?: Array<EventExample | unknown>;
5
- when?: CommandExample | EventExample | unknown[];
6
- then: Array<EventExample | unknown | {
7
- errorType: string;
8
- message?: string;
9
- }>;
10
- }>, allMessages: MessageDefinition[]): {
11
- commands: Message[];
12
- commandSchemasByName: Record<string, Message>;
13
- };
14
- export declare function extractCommandsFromThen(gwtSpecs: Array<{
15
- given?: Array<EventExample | unknown>;
16
- when?: CommandExample | EventExample | unknown[];
17
- then: Array<EventExample | unknown | {
18
- errorType: string;
19
- message?: string;
20
- }>;
21
- }>, allMessages: MessageDefinition[]): {
22
- commands: Message[];
23
- commandSchemasByName: Record<string, Message>;
24
- };
25
- //# sourceMappingURL=commands.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../../../src/codegen/extract/commands.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxE,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAqBtD,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,KAAK,CAAC;IACd,KAAK,CAAC,EAAE,KAAK,CAAC,YAAY,GAAG,OAAO,CAAC,CAAC;IACtC,IAAI,CAAC,EAAE,cAAc,GAAG,YAAY,GAAG,OAAO,EAAE,CAAC;IACjD,IAAI,EAAE,KAAK,CAAC,YAAY,GAAG,OAAO,GAAG;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC/E,CAAC,EACF,WAAW,EAAE,iBAAiB,EAAE,GAC/B;IAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;IAAC,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,CAwBxE;AAgCD,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,KAAK,CAAC;IACd,KAAK,CAAC,EAAE,KAAK,CAAC,YAAY,GAAG,OAAO,CAAC,CAAC;IACtC,IAAI,CAAC,EAAE,cAAc,GAAG,YAAY,GAAG,OAAO,EAAE,CAAC;IACjD,IAAI,EAAE,KAAK,CAAC,YAAY,GAAG,OAAO,GAAG;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC/E,CAAC,EACF,WAAW,EAAE,iBAAiB,EAAE,GAC/B;IAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;IAAC,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,CAexE"}
@@ -1,67 +0,0 @@
1
- import { extractFieldsFromMessage } from './fields.js';
2
- function createCommandMessage(commandRef, allMessages, source) {
3
- const fields = extractFieldsFromMessage(commandRef, 'command', allMessages);
4
- if (fields.length === 0 && source === 'then') {
5
- return undefined;
6
- }
7
- return {
8
- type: commandRef,
9
- fields,
10
- source,
11
- };
12
- }
13
- export function extractCommandsFromGwt(gwtSpecs, allMessages) {
14
- const commandSchemasByName = {};
15
- const commands = gwtSpecs
16
- .map((gwt) => {
17
- const cmd = gwt.when;
18
- if (Array.isArray(cmd) ||
19
- typeof cmd !== 'object' ||
20
- cmd === null ||
21
- !('commandRef' in cmd) ||
22
- typeof cmd.commandRef !== 'string' ||
23
- !cmd.commandRef)
24
- return undefined;
25
- const command = createCommandMessage(cmd.commandRef, allMessages, 'when');
26
- if (command) {
27
- commandSchemasByName[cmd.commandRef] = command;
28
- }
29
- return command;
30
- })
31
- .filter((cmd) => cmd !== undefined);
32
- return { commands, commandSchemasByName };
33
- }
34
- function isValidCommandExample(commandExample) {
35
- return (typeof commandExample === 'object' &&
36
- commandExample !== null &&
37
- 'commandRef' in commandExample &&
38
- typeof commandExample.commandRef === 'string' &&
39
- !!commandExample.commandRef);
40
- }
41
- function processCommandExample(commandExample, commands, commandSchemasByName, allMessages) {
42
- if (!isValidCommandExample(commandExample)) {
43
- return;
44
- }
45
- const commandRef = commandExample.commandRef;
46
- if (!(commandRef in commandSchemasByName)) {
47
- const command = createCommandMessage(commandRef, allMessages, 'then');
48
- if (command) {
49
- commands.push(command);
50
- commandSchemasByName[commandRef] = command;
51
- }
52
- }
53
- }
54
- export function extractCommandsFromThen(gwtSpecs, allMessages) {
55
- const commands = [];
56
- const commandSchemasByName = {};
57
- for (const gwt of gwtSpecs) {
58
- if (!Array.isArray(gwt.then)) {
59
- continue;
60
- }
61
- for (const commandExample of gwt.then) {
62
- processCommandExample(commandExample, commands, commandSchemasByName, allMessages);
63
- }
64
- }
65
- return { commands, commandSchemasByName };
66
- }
67
- //# sourceMappingURL=commands.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"commands.js","sourceRoot":"","sources":["../../../../src/codegen/extract/commands.ts"],"names":[],"mappings":"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"}
@@ -1,6 +0,0 @@
1
- import { Slice } from '@auto-engineer/narrative';
2
- export declare function getStreamFromSink(slice: Slice): {
3
- streamPattern?: string;
4
- streamId?: string;
5
- };
6
- //# sourceMappingURL=data-sink.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"data-sink.d.ts","sourceRoot":"","sources":["../../../../src/codegen/extract/data-sink.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,KAAK,EAAgB,MAAM,0BAA0B,CAAC;AA2F/E,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,KAAK,GAAG;IAAE,aAAa,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,CAiB7F"}
@@ -1,90 +0,0 @@
1
- function resolveStreamId(stream, exampleData) {
2
- return stream.replace(/\$\{([^}]+)\}/g, (_, key) => String(exampleData?.[key] ?? 'unknown'));
3
- }
4
- function extractExampleDataFromReact(firstSpec) {
5
- if (Array.isArray(firstSpec.when)) {
6
- const firstWhen = firstSpec.when[0];
7
- return typeof firstWhen?.exampleData === 'object' && firstWhen.exampleData !== null ? firstWhen.exampleData : {};
8
- }
9
- return {};
10
- }
11
- function extractExampleDataFromCommand(firstSpec) {
12
- const then = firstSpec.then;
13
- const firstExample = then.find((t) => 'exampleData' in t);
14
- return typeof firstExample?.exampleData === 'object' && firstExample.exampleData !== null
15
- ? firstExample.exampleData
16
- : {};
17
- }
18
- function extractExampleDataFromQuery(firstSpec) {
19
- if (Array.isArray(firstSpec.when)) {
20
- const firstWhen = firstSpec.when[0];
21
- return typeof firstWhen?.exampleData === 'object' && firstWhen.exampleData !== null ? firstWhen.exampleData : {};
22
- }
23
- return {};
24
- }
25
- function extractExampleDataFromSpecs(slice, gwtSpecs) {
26
- if (gwtSpecs.length === 0) {
27
- return {};
28
- }
29
- const firstSpec = gwtSpecs[0];
30
- switch (slice.type) {
31
- case 'react':
32
- return extractExampleDataFromReact(firstSpec);
33
- case 'command':
34
- return extractExampleDataFromCommand(firstSpec);
35
- case 'query':
36
- return extractExampleDataFromQuery(firstSpec);
37
- default:
38
- return {};
39
- }
40
- }
41
- function extractGwtSpecs(slice) {
42
- if (!('server' in slice))
43
- return [];
44
- const specs = slice.server?.specs;
45
- const rules = specs?.rules;
46
- return Array.isArray(rules) && rules.length > 0
47
- ? rules.flatMap((rule) => rule.examples.map((example) => ({
48
- given: example.given,
49
- when: example.when,
50
- then: example.then,
51
- })))
52
- : [];
53
- }
54
- function isValidStreamSink(item) {
55
- return (typeof item === 'object' &&
56
- item !== null &&
57
- 'destination' in item &&
58
- typeof item.destination === 'object' &&
59
- item.destination !== null &&
60
- 'type' in item.destination &&
61
- item.destination.type === 'stream' &&
62
- 'pattern' in item.destination &&
63
- typeof item.destination.pattern === 'string');
64
- }
65
- function processStreamSink(item, exampleData) {
66
- if (!isValidStreamSink(item)) {
67
- return null;
68
- }
69
- const streamPattern = item.destination.pattern;
70
- const streamId = streamPattern.length > 0 ? resolveStreamId(streamPattern, exampleData) : undefined;
71
- return { streamPattern, streamId };
72
- }
73
- export function getStreamFromSink(slice) {
74
- if (!('server' in slice))
75
- return {};
76
- const gwtSpecs = extractGwtSpecs(slice);
77
- const exampleData = extractExampleDataFromSpecs(slice, gwtSpecs);
78
- if (!('server' in slice) || slice.server == null || !('data' in slice.server) || !Array.isArray(slice.server.data)) {
79
- return {};
80
- }
81
- const serverData = slice.server.data;
82
- for (const item of serverData) {
83
- const result = processStreamSink(item, exampleData);
84
- if (result) {
85
- return result;
86
- }
87
- }
88
- return {};
89
- }
90
- //# sourceMappingURL=data-sink.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"data-sink.js","sourceRoot":"","sources":["../../../../src/codegen/extract/data-sink.ts"],"names":[],"mappings":"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"}
@@ -1,10 +0,0 @@
1
- import { EventExample } from '@auto-engineer/narrative';
2
- import { Message, MessageDefinition } from '../types';
3
- import { ReactGwtSpec } from './messages';
4
- export declare function extractEventsFromThen(thenItems: Array<EventExample | {
5
- errorType: string;
6
- message?: string;
7
- }>, allMessages: MessageDefinition[], currentSliceName?: string, currentFlowName?: string): Message[];
8
- export declare function extractEventsFromGiven(givenEvents: EventExample[] | undefined, allMessages: MessageDefinition[], currentSliceName?: string, currentFlowName?: string): Message[];
9
- export declare function extractEventsFromWhen(gwtSpecs: ReactGwtSpec[], allMessages: MessageDefinition[]): Message[];
10
- //# sourceMappingURL=events.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../../../src/codegen/extract/events.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAEtD,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAyB1C,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,KAAK,CAAC,YAAY,GAAG;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,EACxE,WAAW,EAAE,iBAAiB,EAAE,EAChC,gBAAgB,CAAC,EAAE,MAAM,EACzB,eAAe,CAAC,EAAE,MAAM,GACvB,OAAO,EAAE,CAOX;AAED,wBAAgB,sBAAsB,CACpC,WAAW,EAAE,YAAY,EAAE,GAAG,SAAS,EACvC,WAAW,EAAE,iBAAiB,EAAE,EAChC,gBAAgB,CAAC,EAAE,MAAM,EACzB,eAAe,CAAC,EAAE,MAAM,GACvB,OAAO,EAAE,CAMX;AAED,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,YAAY,EAAE,EAAE,WAAW,EAAE,iBAAiB,EAAE,GAAG,OAAO,EAAE,CAO3G"}
@@ -1,42 +0,0 @@
1
- import { extractFieldsFromMessage } from './fields.js';
2
- function createEventMessage(eventRef, source, allMessages, currentSliceName, currentFlowName) {
3
- if (eventRef == null)
4
- return undefined;
5
- const fields = extractFieldsFromMessage(eventRef, 'event', allMessages);
6
- const messageDef = allMessages.find((m) => m.type === 'event' && m.name === eventRef);
7
- const metadata = messageDef?.metadata;
8
- const sourceFlowName = metadata?.sourceFlowName ?? currentFlowName;
9
- const sourceSliceName = metadata?.sourceSliceName ?? currentSliceName;
10
- return {
11
- type: eventRef,
12
- fields,
13
- source,
14
- sourceFlowName,
15
- sourceSliceName,
16
- };
17
- }
18
- export function extractEventsFromThen(thenItems, allMessages, currentSliceName, currentFlowName) {
19
- return thenItems
20
- .map((then) => {
21
- if (!('eventRef' in then))
22
- return undefined;
23
- return createEventMessage(then.eventRef, 'then', allMessages, currentSliceName, currentFlowName);
24
- })
25
- .filter((event) => event !== undefined);
26
- }
27
- export function extractEventsFromGiven(givenEvents, allMessages, currentSliceName, currentFlowName) {
28
- if (!givenEvents)
29
- return [];
30
- return givenEvents
31
- .map((given) => createEventMessage(given.eventRef, 'given', allMessages, currentSliceName, currentFlowName))
32
- .filter((event) => event !== undefined);
33
- }
34
- export function extractEventsFromWhen(gwtSpecs, allMessages) {
35
- return gwtSpecs.flatMap((gwt) => {
36
- if (!Array.isArray(gwt.when)) {
37
- return [];
38
- }
39
- return gwt.when.flatMap((eventExample) => extractEventsFromGiven([eventExample], allMessages));
40
- });
41
- }
42
- //# sourceMappingURL=events.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"events.js","sourceRoot":"","sources":["../../../../src/codegen/extract/events.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAC;AAGpD,SAAS,kBAAkB,CACzB,QAA4B,EAC5B,MAAiC,EACjC,WAAgC,EAChC,gBAAyB,EACzB,eAAwB;IAExB,IAAI,QAAQ,IAAI,IAAI;QAAE,OAAO,SAAS,CAAC;IACvC,MAAM,MAAM,GAAG,wBAAwB,CAAC,QAAQ,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;IACxE,MAAM,UAAU,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;IACtF,MAAM,QAAQ,GAAG,UAAU,EAAE,QAA6E,CAAC;IAC3G,MAAM,cAAc,GAAG,QAAQ,EAAE,cAAc,IAAI,eAAe,CAAC;IACnE,MAAM,eAAe,GAAG,QAAQ,EAAE,eAAe,IAAI,gBAAgB,CAAC;IAEtE,OAAO;QACL,IAAI,EAAE,QAAQ;QACd,MAAM;QACN,MAAM;QACN,cAAc;QACd,eAAe;KAChB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,SAAwE,EACxE,WAAgC,EAChC,gBAAyB,EACzB,eAAwB;IAExB,OAAO,SAAS;SACb,GAAG,CAAC,CAAC,IAAI,EAAuB,EAAE;QACjC,IAAI,CAAC,CAAC,UAAU,IAAI,IAAI,CAAC;YAAE,OAAO,SAAS,CAAC;QAC5C,OAAO,kBAAkB,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,gBAAgB,EAAE,eAAe,CAAC,CAAC;IACnG,CAAC,CAAC;SACD,MAAM,CAAC,CAAC,KAAK,EAAoB,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC;AAC9D,CAAC;AAED,MAAM,UAAU,sBAAsB,CACpC,WAAuC,EACvC,WAAgC,EAChC,gBAAyB,EACzB,eAAwB;IAExB,IAAI,CAAC,WAAW;QAAE,OAAO,EAAE,CAAC;IAE5B,OAAO,WAAW;SACf,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,kBAAkB,CAAC,KAAK,CAAC,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,eAAe,CAAC,CAAC;SAC3G,MAAM,CAAC,CAAC,KAAK,EAAoB,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC;AAC9D,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,QAAwB,EAAE,WAAgC;IAC9F,OAAO,QAAQ,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;QAC9B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7B,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,sBAAsB,CAAC,CAAC,YAAY,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC;IACjG,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -1,3 +0,0 @@
1
- import { Field, MessageDefinition } from '../types';
2
- export declare function extractFieldsFromMessage(messageName: string, messageType: 'command' | 'event' | 'state', allMessages: MessageDefinition[]): Field[];
3
- //# sourceMappingURL=fields.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"fields.d.ts","sourceRoot":"","sources":["../../../../src/codegen/extract/fields.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAEpD,wBAAgB,wBAAwB,CACtC,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,SAAS,GAAG,OAAO,GAAG,OAAO,EAC1C,WAAW,EAAE,iBAAiB,EAAE,GAC/B,KAAK,EAAE,CAUT"}
@@ -1,9 +0,0 @@
1
- export function extractFieldsFromMessage(messageName, messageType, allMessages) {
2
- const messageDef = allMessages.find((m) => m.type === messageType && m.name === messageName);
3
- return (messageDef?.fields?.map((f) => ({
4
- name: f.name,
5
- tsType: f.type,
6
- required: f.required ?? true,
7
- })) ?? []);
8
- }
9
- //# sourceMappingURL=fields.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"fields.js","sourceRoot":"","sources":["../../../../src/codegen/extract/fields.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,wBAAwB,CACtC,WAAmB,EACnB,WAA0C,EAC1C,WAAgC;IAEhC,MAAM,UAAU,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,IAAI,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC;IAE7F,OAAO,CACL,UAAU,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC9B,IAAI,EAAE,CAAC,CAAC,IAAI;QACZ,MAAM,EAAE,CAAC,CAAC,IAAI;QACd,QAAQ,EAAE,CAAC,CAAC,QAAQ,IAAI,IAAI;KAC7B,CAAC,CAAC,IAAI,EAAE,CACV,CAAC;AACJ,CAAC"}
@@ -1,14 +0,0 @@
1
- export interface ParsedArg {
2
- name: string;
3
- tsType: string;
4
- graphqlType: string;
5
- nullable: boolean;
6
- }
7
- export interface ParsedGraphQlQuery {
8
- queryName: string;
9
- args: ParsedArg[];
10
- returnType: string;
11
- tsReturnType: string;
12
- }
13
- export declare function parseGraphQlRequest(request: string): ParsedGraphQlQuery;
14
- //# sourceMappingURL=graphql.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"graphql.d.ts","sourceRoot":"","sources":["../../../../src/codegen/extract/graphql.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,SAAS,EAAE,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;CACtB;AA8CD,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,kBAAkB,CAsCvE"}