@auto-engineer/server-generator-nestjs 1.3.0 → 1.3.1

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 (107) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/LICENSE +10 -0
  3. package/package.json +19 -19
  4. package/.turbo/turbo-build.log +0 -5
  5. package/.turbo/turbo-test.log +0 -13
  6. package/.turbo/turbo-type-check.log +0 -4
  7. package/dist/src/codegen/entity-consolidation.d.ts +0 -19
  8. package/dist/src/codegen/entity-consolidation.d.ts.map +0 -1
  9. package/dist/src/codegen/entity-consolidation.js +0 -134
  10. package/dist/src/codegen/entity-consolidation.js.map +0 -1
  11. package/dist/src/codegen/extract/commands.d.ts +0 -25
  12. package/dist/src/codegen/extract/commands.d.ts.map +0 -1
  13. package/dist/src/codegen/extract/commands.js +0 -67
  14. package/dist/src/codegen/extract/commands.js.map +0 -1
  15. package/dist/src/codegen/extract/data-sink.d.ts +0 -6
  16. package/dist/src/codegen/extract/data-sink.d.ts.map +0 -1
  17. package/dist/src/codegen/extract/data-sink.js +0 -78
  18. package/dist/src/codegen/extract/data-sink.js.map +0 -1
  19. package/dist/src/codegen/extract/events.d.ts +0 -10
  20. package/dist/src/codegen/extract/events.d.ts.map +0 -1
  21. package/dist/src/codegen/extract/events.js +0 -42
  22. package/dist/src/codegen/extract/events.js.map +0 -1
  23. package/dist/src/codegen/extract/fields.d.ts +0 -3
  24. package/dist/src/codegen/extract/fields.d.ts.map +0 -1
  25. package/dist/src/codegen/extract/fields.js +0 -9
  26. package/dist/src/codegen/extract/fields.js.map +0 -1
  27. package/dist/src/codegen/extract/graphql.d.ts +0 -14
  28. package/dist/src/codegen/extract/graphql.d.ts.map +0 -1
  29. package/dist/src/codegen/extract/graphql.js +0 -81
  30. package/dist/src/codegen/extract/graphql.js.map +0 -1
  31. package/dist/src/codegen/extract/gwt.d.ts +0 -6
  32. package/dist/src/codegen/extract/gwt.d.ts.map +0 -1
  33. package/dist/src/codegen/extract/gwt.js +0 -64
  34. package/dist/src/codegen/extract/gwt.js.map +0 -1
  35. package/dist/src/codegen/extract/imports.d.ts +0 -29
  36. package/dist/src/codegen/extract/imports.d.ts.map +0 -1
  37. package/dist/src/codegen/extract/imports.js +0 -55
  38. package/dist/src/codegen/extract/imports.js.map +0 -1
  39. package/dist/src/codegen/extract/index.d.ts +0 -10
  40. package/dist/src/codegen/extract/index.d.ts.map +0 -1
  41. package/dist/src/codegen/extract/index.js +0 -10
  42. package/dist/src/codegen/extract/index.js.map +0 -1
  43. package/dist/src/codegen/extract/messages.d.ts +0 -17
  44. package/dist/src/codegen/extract/messages.d.ts.map +0 -1
  45. package/dist/src/codegen/extract/messages.js +0 -172
  46. package/dist/src/codegen/extract/messages.js.map +0 -1
  47. package/dist/src/codegen/extract/projection.d.ts +0 -5
  48. package/dist/src/codegen/extract/projection.d.ts.map +0 -1
  49. package/dist/src/codegen/extract/projection.js +0 -44
  50. package/dist/src/codegen/extract/projection.js.map +0 -1
  51. package/dist/src/codegen/extract/query.d.ts +0 -14
  52. package/dist/src/codegen/extract/query.d.ts.map +0 -1
  53. package/dist/src/codegen/extract/query.js +0 -17
  54. package/dist/src/codegen/extract/query.js.map +0 -1
  55. package/dist/src/codegen/extract/states.d.ts +0 -5
  56. package/dist/src/codegen/extract/states.d.ts.map +0 -1
  57. package/dist/src/codegen/extract/states.js +0 -48
  58. package/dist/src/codegen/extract/states.js.map +0 -1
  59. package/dist/src/codegen/extract/step-converter.d.ts +0 -17
  60. package/dist/src/codegen/extract/step-converter.d.ts.map +0 -1
  61. package/dist/src/codegen/extract/step-converter.js +0 -82
  62. package/dist/src/codegen/extract/step-converter.js.map +0 -1
  63. package/dist/src/codegen/extract/step-types.d.ts +0 -29
  64. package/dist/src/codegen/extract/step-types.d.ts.map +0 -1
  65. package/dist/src/codegen/extract/step-types.js +0 -16
  66. package/dist/src/codegen/extract/step-types.js.map +0 -1
  67. package/dist/src/codegen/extract/type-helpers.d.ts +0 -13
  68. package/dist/src/codegen/extract/type-helpers.d.ts.map +0 -1
  69. package/dist/src/codegen/extract/type-helpers.js +0 -98
  70. package/dist/src/codegen/extract/type-helpers.js.map +0 -1
  71. package/dist/src/codegen/scaffoldFromSchema.d.ts +0 -9
  72. package/dist/src/codegen/scaffoldFromSchema.d.ts.map +0 -1
  73. package/dist/src/codegen/scaffoldFromSchema.js +0 -389
  74. package/dist/src/codegen/scaffoldFromSchema.js.map +0 -1
  75. package/dist/src/codegen/templates/command/command.ts.ejs +0 -16
  76. package/dist/src/codegen/templates/command/handler.specs.ts.ejs +0 -50
  77. package/dist/src/codegen/templates/command/handler.ts.ejs +0 -30
  78. package/dist/src/codegen/templates/command/input.ts.ejs +0 -23
  79. package/dist/src/codegen/templates/command/resolver.ts.ejs +0 -56
  80. package/dist/src/codegen/templates/entity/entity.ts.ejs +0 -35
  81. package/dist/src/codegen/templates/entity/index.ts.ejs +0 -6
  82. package/dist/src/codegen/templates/module/app-module.ts.ejs +0 -65
  83. package/dist/src/codegen/templates/module/domain-module.ts.ejs +0 -46
  84. package/dist/src/codegen/templates/query/handler.ts.ejs +0 -25
  85. package/dist/src/codegen/templates/query/query.ts.ejs +0 -1
  86. package/dist/src/codegen/templates/query/resolver.ts.ejs +0 -20
  87. package/dist/src/codegen/templates/query/type.ts.ejs +0 -24
  88. package/dist/src/codegen/types.d.ts +0 -38
  89. package/dist/src/codegen/types.d.ts.map +0 -1
  90. package/dist/src/codegen/types.js +0 -2
  91. package/dist/src/codegen/types.js.map +0 -1
  92. package/dist/src/codegen/utils/path.d.ts +0 -4
  93. package/dist/src/codegen/utils/path.d.ts.map +0 -1
  94. package/dist/src/codegen/utils/path.js +0 -18
  95. package/dist/src/codegen/utils/path.js.map +0 -1
  96. package/dist/src/commands/generate-server.d.ts +0 -28
  97. package/dist/src/commands/generate-server.d.ts.map +0 -1
  98. package/dist/src/commands/generate-server.js +0 -421
  99. package/dist/src/commands/generate-server.js.map +0 -1
  100. package/dist/src/index.d.ts +0 -3
  101. package/dist/src/index.d.ts.map +0 -1
  102. package/dist/src/index.js +0 -3
  103. package/dist/src/index.js.map +0 -1
  104. package/dist/src/shared/graphql-types.ts +0 -19
  105. package/dist/src/shared/main.ts +0 -27
  106. package/dist/src/shared/mikro-orm.config.ts +0 -18
  107. package/dist/tsconfig.tsbuildinfo +0 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,14 @@
1
1
  # @auto-engineer/server-generator-nestjs
2
2
 
3
+ ## 1.3.1
4
+
5
+ ### Patch Changes
6
+
7
+ - [`f6ec207`](https://github.com/BeOnAuto/auto-engineer/commit/f6ec207cd6cd3457aca2ab8202677101fe531cd6) Thanks [@rami-hatoum](https://github.com/rami-hatoum)! - - Fixed workspace dependency resolution for the narrative package to ensure correct publishing
8
+
9
+ - Updated dependencies [[`f6ec207`](https://github.com/BeOnAuto/auto-engineer/commit/f6ec207cd6cd3457aca2ab8202677101fe531cd6)]:
10
+ - @auto-engineer/narrative@1.3.1
11
+
3
12
  ## 2.0.0
4
13
 
5
14
  ### Major Changes
package/LICENSE ADDED
@@ -0,0 +1,10 @@
1
+ Elastic License 2.0
2
+
3
+ Copyright 2024 Sam Hatoum
4
+
5
+ This software and associated documentation files (the "Software") are licensed under the Elastic License 2.0 (the "License"). You may not use this file except in compliance with the License.
6
+
7
+ You may obtain a copy of the License at:
8
+ https://www.elastic.co/licensing/elastic-license
9
+
10
+ Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
package/package.json CHANGED
@@ -9,21 +9,7 @@
9
9
  "import": "./dist/src/index.js"
10
10
  }
11
11
  },
12
- "scripts": {
13
- "generate:server": "tsx src/cli/index.ts",
14
- "-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",
15
- "-DISABLE-test": "vitest run --reporter=dot",
16
- "-DISABLE-type-check": "tsc --noEmit --project tsconfig.json",
17
- "-DISABLE-lint": "eslint 'src/**/*.ts' --ignore-pattern '**/*.specs.ts' --ignore-pattern '**/.tmp/**' --ignore-pattern 'src/shared/**' --max-warnings 0 --config ../../eslint.config.ts",
18
- "-DISABLE-format": "prettier --write \"**/*.{js,ts,json,md,yml,yaml}\" --ignore-path ../../.prettierignore --log-level warn",
19
- "-DISABLE-lint:fix": "eslint 'src/**/*.ts' --ignore-pattern '**/*.specs.ts' --ignore-pattern '**/.tmp/**' --fix --config ../../eslint.config.ts",
20
- "-DISABLE-format:fix": "prettier --write \"**/*.{js,ts,json,md,yml,yaml}\" --ignore-path ../../.prettierignore --log-level warn",
21
- "-DISABLE-link:dev": "pnpm build && pnpm link --global",
22
- "-DISABLE-unlink:dev": "pnpm unlink --global",
23
- "-DISABLE-prepublishOnly": "npm run build"
24
- },
25
12
  "dependencies": {
26
- "@auto-engineer/narrative": "workspace:*",
27
13
  "@apollo/server": "^5.0.0",
28
14
  "@mikro-orm/cli": "^6.5.9",
29
15
  "@mikro-orm/core": "^6.5.9",
@@ -53,19 +39,33 @@
53
39
  "sqlite3": "^5.1.7",
54
40
  "ts-node": "^10.9.2",
55
41
  "type-fest": "^4.41.0",
56
- "uuid": "^11.0.0"
42
+ "uuid": "^11.0.0",
43
+ "@auto-engineer/narrative": "1.3.1"
57
44
  },
58
45
  "publishConfig": {
59
46
  "access": "public"
60
47
  },
61
48
  "devDependencies": {
62
- "@auto-engineer/cli": "workspace:*",
63
49
  "@nestjs/cli": "^10.4.9",
64
50
  "@types/ejs": "^3.1.5",
65
51
  "@types/fs-extra": "^11.0.4",
66
52
  "tsx": "^4.19.2",
67
53
  "typescript": "^5.8.3",
68
- "vitest": "^3.2.4"
54
+ "vitest": "^3.2.4",
55
+ "@auto-engineer/cli": "1.3.1"
69
56
  },
70
- "version": "1.3.0"
71
- }
57
+ "version": "1.3.1",
58
+ "scripts": {
59
+ "generate:server": "tsx src/cli/index.ts",
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",
61
+ "-DISABLE-test": "vitest run --reporter=dot",
62
+ "-DISABLE-type-check": "tsc --noEmit --project tsconfig.json",
63
+ "-DISABLE-lint": "eslint 'src/**/*.ts' --ignore-pattern '**/*.specs.ts' --ignore-pattern '**/.tmp/**' --ignore-pattern 'src/shared/**' --max-warnings 0 --config ../../eslint.config.ts",
64
+ "-DISABLE-format": "prettier --write \"**/*.{js,ts,json,md,yml,yaml}\" --ignore-path ../../.prettierignore --log-level warn",
65
+ "-DISABLE-lint:fix": "eslint 'src/**/*.ts' --ignore-pattern '**/*.specs.ts' --ignore-pattern '**/.tmp/**' --fix --config ../../eslint.config.ts",
66
+ "-DISABLE-format:fix": "prettier --write \"**/*.{js,ts,json,md,yml,yaml}\" --ignore-path ../../.prettierignore --log-level warn",
67
+ "-DISABLE-link:dev": "pnpm build && pnpm link --global",
68
+ "-DISABLE-unlink:dev": "pnpm unlink --global",
69
+ "-DISABLE-prepublishOnly": "npm run build"
70
+ }
71
+ }
@@ -1,5 +0,0 @@
1
-
2
- > @auto-engineer/server-generator-nestjs@0.11.16 build /Users/sam/WebstormProjects/top/auto-engineer-1/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,13 +0,0 @@
1
-
2
- > @auto-engineer/server-generator-nestjs@0.15.0 test /Users/sam/WebstormProjects/top/auto-engineer-1/packages/server-generator-nestjs
3
- > vitest run --reporter=dot
4
-
5
-
6
- RUN v3.2.4 /Users/sam/WebstormProjects/top/auto-engineer-1/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.15.0 type-check /Users/sam/WebstormProjects/top/auto-engineer-1/packages/server-generator-nestjs
3
- > tsc --noEmit --project tsconfig.json
4
-
@@ -1,19 +0,0 @@
1
- import type { Narrative } from '@auto-engineer/narrative';
2
- import type { 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,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAI1D,OAAO,KAAK,EAAkB,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAIpE,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 { camelCase, pascalCase } from 'change-case';
2
- import createDebug from 'debug';
3
- import { extractMessagesFromSpecs } from './extract/index.js';
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 type { Message, MessageDefinition } from '../types';
2
- import type { CommandExample, EventExample } from './step-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,KAAK,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAE3D,OAAO,KAAK,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAoBjE,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 type { 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,KAAK,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AA2EtD,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,KAAK,GAAG;IAAE,aAAa,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,CAiB7F"}
@@ -1,78 +0,0 @@
1
- import { extractGwtSpecsFromSlice } from './step-converter.js';
2
- function resolveStreamId(stream, exampleData) {
3
- return stream.replace(/\$\{([^}]+)\}/g, (_, key) => String(exampleData?.[key] ?? 'unknown'));
4
- }
5
- function extractExampleDataFromReact(firstSpec) {
6
- if (Array.isArray(firstSpec.when)) {
7
- const firstWhen = firstSpec.when[0];
8
- return typeof firstWhen?.exampleData === 'object' && firstWhen.exampleData !== null ? firstWhen.exampleData : {};
9
- }
10
- return {};
11
- }
12
- function extractExampleDataFromCommand(firstSpec) {
13
- const then = firstSpec.then;
14
- const firstExample = then.find((t) => 'exampleData' in t);
15
- return typeof firstExample?.exampleData === 'object' && firstExample.exampleData !== null
16
- ? firstExample.exampleData
17
- : {};
18
- }
19
- function extractExampleDataFromQuery(firstSpec) {
20
- if (Array.isArray(firstSpec.when)) {
21
- const firstWhen = firstSpec.when[0];
22
- return typeof firstWhen?.exampleData === 'object' && firstWhen.exampleData !== null ? firstWhen.exampleData : {};
23
- }
24
- return {};
25
- }
26
- function extractExampleDataFromSpecs(slice, gwtSpecs) {
27
- if (gwtSpecs.length === 0) {
28
- return {};
29
- }
30
- const firstSpec = gwtSpecs[0];
31
- switch (slice.type) {
32
- case 'react':
33
- return extractExampleDataFromReact(firstSpec);
34
- case 'command':
35
- return extractExampleDataFromCommand(firstSpec);
36
- case 'query':
37
- return extractExampleDataFromQuery(firstSpec);
38
- default:
39
- return {};
40
- }
41
- }
42
- function isValidStreamSink(item) {
43
- return (typeof item === 'object' &&
44
- item !== null &&
45
- 'destination' in item &&
46
- typeof item.destination === 'object' &&
47
- item.destination !== null &&
48
- 'type' in item.destination &&
49
- item.destination.type === 'stream' &&
50
- 'pattern' in item.destination &&
51
- typeof item.destination.pattern === 'string');
52
- }
53
- function processStreamSink(item, exampleData) {
54
- if (!isValidStreamSink(item)) {
55
- return null;
56
- }
57
- const streamPattern = item.destination.pattern;
58
- const streamId = streamPattern.length > 0 ? resolveStreamId(streamPattern, exampleData) : undefined;
59
- return { streamPattern, streamId };
60
- }
61
- export function getStreamFromSink(slice) {
62
- if (!('server' in slice))
63
- return {};
64
- const gwtSpecs = extractGwtSpecsFromSlice(slice);
65
- const exampleData = extractExampleDataFromSpecs(slice, gwtSpecs);
66
- if (!('server' in slice) || slice.server == null || !('data' in slice.server) || !Array.isArray(slice.server.data)) {
67
- return {};
68
- }
69
- const serverData = slice.server.data;
70
- for (const item of serverData) {
71
- const result = processStreamSink(item, exampleData);
72
- if (result) {
73
- return result;
74
- }
75
- }
76
- return {};
77
- }
78
- //# 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 type { Message, MessageDefinition } from '../types';
2
- import type { ReactGwtSpec } from './messages';
3
- import type { EventExample } from './step-types';
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,KAAK,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAE3D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAyBjD,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":"AACA,OAAO,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAC;AAIpD,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 type { 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,KAAK,EAAE,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAEzD,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"}