swallowkit 1.1.2 → 2.0.0-alpha.10

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 (262) hide show
  1. package/README.ja.md +61 -7
  2. package/README.md +61 -7
  3. package/dist/cli/commands/add-auth.d.ts.map +1 -1
  4. package/dist/cli/commands/add-auth.js +103 -27
  5. package/dist/cli/commands/add-auth.js.map +1 -1
  6. package/dist/cli/commands/configure-mcp.d.ts +12 -0
  7. package/dist/cli/commands/configure-mcp.d.ts.map +1 -0
  8. package/dist/cli/commands/configure-mcp.js +42 -0
  9. package/dist/cli/commands/configure-mcp.js.map +1 -0
  10. package/dist/cli/commands/dev.d.ts +5 -2
  11. package/dist/cli/commands/dev.d.ts.map +1 -1
  12. package/dist/cli/commands/dev.js +143 -67
  13. package/dist/cli/commands/dev.js.map +1 -1
  14. package/dist/cli/commands/init.d.ts +14 -7
  15. package/dist/cli/commands/init.d.ts.map +1 -1
  16. package/dist/cli/commands/init.js +149 -170
  17. package/dist/cli/commands/init.js.map +1 -1
  18. package/dist/cli/commands/migrations.d.ts.map +1 -1
  19. package/dist/cli/commands/migrations.js +25 -0
  20. package/dist/cli/commands/migrations.js.map +1 -1
  21. package/dist/cli/commands/provision.d.ts +5 -0
  22. package/dist/cli/commands/provision.d.ts.map +1 -1
  23. package/dist/cli/commands/provision.js +278 -55
  24. package/dist/cli/commands/provision.js.map +1 -1
  25. package/dist/cli/commands/scaffold.d.ts +5 -1
  26. package/dist/cli/commands/scaffold.d.ts.map +1 -1
  27. package/dist/cli/commands/scaffold.js +123 -18
  28. package/dist/cli/commands/scaffold.js.map +1 -1
  29. package/dist/cli/index.d.ts +2 -0
  30. package/dist/cli/index.d.ts.map +1 -1
  31. package/dist/cli/index.js +49 -8
  32. package/dist/cli/index.js.map +1 -1
  33. package/dist/core/config.d.ts +2 -1
  34. package/dist/core/config.d.ts.map +1 -1
  35. package/dist/core/config.js +19 -0
  36. package/dist/core/config.js.map +1 -1
  37. package/dist/core/operations/create-model.d.ts +2 -0
  38. package/dist/core/operations/create-model.d.ts.map +1 -1
  39. package/dist/core/operations/create-model.js +60 -8
  40. package/dist/core/operations/create-model.js.map +1 -1
  41. package/dist/core/operations/migration-generator.d.ts.map +1 -1
  42. package/dist/core/operations/migration-generator.js +12 -1
  43. package/dist/core/operations/migration-generator.js.map +1 -1
  44. package/dist/core/operations/model-migration.d.ts +22 -0
  45. package/dist/core/operations/model-migration.d.ts.map +1 -0
  46. package/dist/core/operations/model-migration.js +36 -0
  47. package/dist/core/operations/model-migration.js.map +1 -0
  48. package/dist/core/operations/provision-deployment.d.ts +52 -0
  49. package/dist/core/operations/provision-deployment.d.ts.map +1 -0
  50. package/dist/core/operations/provision-deployment.js +164 -0
  51. package/dist/core/operations/provision-deployment.js.map +1 -0
  52. package/dist/core/operations/provision-operations.d.ts +62 -6
  53. package/dist/core/operations/provision-operations.d.ts.map +1 -1
  54. package/dist/core/operations/provision-operations.js +653 -115
  55. package/dist/core/operations/provision-operations.js.map +1 -1
  56. package/dist/core/operations/scaffold-apply.d.ts +1 -0
  57. package/dist/core/operations/scaffold-apply.d.ts.map +1 -1
  58. package/dist/core/operations/scaffold-apply.js +1 -0
  59. package/dist/core/operations/scaffold-apply.js.map +1 -1
  60. package/dist/core/operations/scaffold-machine.d.ts +1 -0
  61. package/dist/core/operations/scaffold-machine.d.ts.map +1 -1
  62. package/dist/core/operations/scaffold-machine.js.map +1 -1
  63. package/dist/core/operations/scaffold-plan.d.ts +2 -0
  64. package/dist/core/operations/scaffold-plan.d.ts.map +1 -1
  65. package/dist/core/operations/scaffold-plan.js +3 -1
  66. package/dist/core/operations/scaffold-plan.js.map +1 -1
  67. package/dist/core/project/agent-instructions.d.ts +2 -1
  68. package/dist/core/project/agent-instructions.d.ts.map +1 -1
  69. package/dist/core/project/agent-instructions.js +15 -0
  70. package/dist/core/project/agent-instructions.js.map +1 -1
  71. package/dist/core/project/boundaries.d.ts +5 -2
  72. package/dist/core/project/boundaries.d.ts.map +1 -1
  73. package/dist/core/project/boundaries.js +51 -20
  74. package/dist/core/project/boundaries.js.map +1 -1
  75. package/dist/core/project/capabilities.d.ts +17 -0
  76. package/dist/core/project/capabilities.d.ts.map +1 -1
  77. package/dist/core/project/capabilities.js +45 -6
  78. package/dist/core/project/capabilities.js.map +1 -1
  79. package/dist/core/project/home-page.d.ts +4 -0
  80. package/dist/core/project/home-page.d.ts.map +1 -0
  81. package/dist/core/project/home-page.js +113 -0
  82. package/dist/core/project/home-page.js.map +1 -0
  83. package/dist/core/project/manifest.d.ts +3 -1
  84. package/dist/core/project/manifest.d.ts.map +1 -1
  85. package/dist/core/project/manifest.js +47 -25
  86. package/dist/core/project/manifest.js.map +1 -1
  87. package/dist/core/project/mcp-config.d.ts +26 -0
  88. package/dist/core/project/mcp-config.d.ts.map +1 -0
  89. package/dist/core/project/mcp-config.js +117 -0
  90. package/dist/core/project/mcp-config.js.map +1 -0
  91. package/dist/core/project/react-project.d.ts +26 -0
  92. package/dist/core/project/react-project.d.ts.map +1 -0
  93. package/dist/core/project/react-project.js +443 -0
  94. package/dist/core/project/react-project.js.map +1 -0
  95. package/dist/core/project/state.d.ts +7 -0
  96. package/dist/core/project/state.d.ts.map +1 -1
  97. package/dist/core/project/state.js +86 -0
  98. package/dist/core/project/state.js.map +1 -1
  99. package/dist/core/project/validation.d.ts.map +1 -1
  100. package/dist/core/project/validation.js +32 -10
  101. package/dist/core/project/validation.js.map +1 -1
  102. package/dist/core/project/workflows.d.ts.map +1 -1
  103. package/dist/core/project/workflows.js +53 -7
  104. package/dist/core/project/workflows.js.map +1 -1
  105. package/dist/core/scaffold/auth-generator.d.ts.map +1 -1
  106. package/dist/core/scaffold/auth-generator.js +26 -27
  107. package/dist/core/scaffold/auth-generator.js.map +1 -1
  108. package/dist/core/scaffold/model-parser.d.ts +23 -0
  109. package/dist/core/scaffold/model-parser.d.ts.map +1 -1
  110. package/dist/core/scaffold/model-parser.js +407 -137
  111. package/dist/core/scaffold/model-parser.js.map +1 -1
  112. package/dist/core/scaffold/native-schema-generator.d.ts +13 -0
  113. package/dist/core/scaffold/native-schema-generator.d.ts.map +1 -1
  114. package/dist/core/scaffold/native-schema-generator.js +294 -91
  115. package/dist/core/scaffold/native-schema-generator.js.map +1 -1
  116. package/dist/core/scaffold/openapi-generator.d.ts +5 -0
  117. package/dist/core/scaffold/openapi-generator.d.ts.map +1 -1
  118. package/dist/core/scaffold/openapi-generator.js +53 -3
  119. package/dist/core/scaffold/openapi-generator.js.map +1 -1
  120. package/dist/core/scaffold/react-bff-generator.d.ts +10 -0
  121. package/dist/core/scaffold/react-bff-generator.d.ts.map +1 -0
  122. package/dist/core/scaffold/react-bff-generator.js +252 -0
  123. package/dist/core/scaffold/react-bff-generator.js.map +1 -0
  124. package/dist/core/scaffold/react-ui-generator.d.ts +6 -0
  125. package/dist/core/scaffold/react-ui-generator.d.ts.map +1 -0
  126. package/dist/core/scaffold/react-ui-generator.js +41 -0
  127. package/dist/core/scaffold/react-ui-generator.js.map +1 -0
  128. package/dist/core/scaffold/ui-generator.d.ts +0 -3
  129. package/dist/core/scaffold/ui-generator.d.ts.map +1 -1
  130. package/dist/core/scaffold/ui-generator.js +68 -7
  131. package/dist/core/scaffold/ui-generator.js.map +1 -1
  132. package/dist/core/verify/index.d.ts +4 -3
  133. package/dist/core/verify/index.d.ts.map +1 -1
  134. package/dist/core/verify/index.js +122 -5
  135. package/dist/core/verify/index.js.map +1 -1
  136. package/dist/index.d.ts +3 -3
  137. package/dist/index.d.ts.map +1 -1
  138. package/dist/index.js +3 -2
  139. package/dist/index.js.map +1 -1
  140. package/dist/machine/contracts.d.ts +1 -0
  141. package/dist/machine/contracts.d.ts.map +1 -1
  142. package/dist/machine/errors.d.ts +3 -2
  143. package/dist/machine/errors.d.ts.map +1 -1
  144. package/dist/machine/errors.js +2 -1
  145. package/dist/machine/errors.js.map +1 -1
  146. package/dist/machine/index.d.ts.map +1 -1
  147. package/dist/machine/index.js +61 -30
  148. package/dist/machine/index.js.map +1 -1
  149. package/dist/mcp/index.d.ts +6 -4
  150. package/dist/mcp/index.d.ts.map +1 -1
  151. package/dist/mcp/index.js +210 -25
  152. package/dist/mcp/index.js.map +1 -1
  153. package/dist/mcp/version-selection.d.ts +55 -0
  154. package/dist/mcp/version-selection.d.ts.map +1 -0
  155. package/dist/mcp/version-selection.js +152 -0
  156. package/dist/mcp/version-selection.js.map +1 -0
  157. package/dist/types/index.d.ts +4 -0
  158. package/dist/types/index.d.ts.map +1 -1
  159. package/dist/utils/azure-cli.d.ts +56 -0
  160. package/dist/utils/azure-cli.d.ts.map +1 -0
  161. package/dist/utils/azure-cli.js +326 -0
  162. package/dist/utils/azure-cli.js.map +1 -0
  163. package/dist/utils/azure-diagnostics.d.ts +16 -0
  164. package/dist/utils/azure-diagnostics.d.ts.map +1 -0
  165. package/dist/utils/azure-diagnostics.js +68 -0
  166. package/dist/utils/azure-diagnostics.js.map +1 -0
  167. package/dist/utils/package-manager.d.ts +2 -2
  168. package/dist/utils/package-manager.d.ts.map +1 -1
  169. package/dist/utils/package-manager.js +6 -3
  170. package/dist/utils/package-manager.js.map +1 -1
  171. package/dist/utils/python-uv.d.ts +5 -7
  172. package/dist/utils/python-uv.d.ts.map +1 -1
  173. package/dist/utils/python-uv.js +50 -24
  174. package/dist/utils/python-uv.js.map +1 -1
  175. package/dist/utils/react-dev.d.ts +4 -0
  176. package/dist/utils/react-dev.d.ts.map +1 -0
  177. package/dist/utils/react-dev.js +35 -0
  178. package/dist/utils/react-dev.js.map +1 -0
  179. package/dist/utils/semver.d.ts +14 -0
  180. package/dist/utils/semver.d.ts.map +1 -0
  181. package/dist/utils/semver.js +61 -0
  182. package/dist/utils/semver.js.map +1 -0
  183. package/package.json +7 -4
  184. package/src/__tests__/__snapshots__/boundaries.test.ts.snap +154 -0
  185. package/src/__tests__/agent-instructions.test.ts +6 -1
  186. package/src/__tests__/agent-loop-phase34.test.ts +143 -8
  187. package/src/__tests__/auth.test.ts +9 -0
  188. package/src/__tests__/azure-cli.test.ts +202 -0
  189. package/src/__tests__/boundaries.test.ts +42 -0
  190. package/src/__tests__/csharp-schema.test.ts +261 -0
  191. package/src/__tests__/dev.test.ts +13 -6
  192. package/src/__tests__/fixtures/az wrapper.cmd +2 -0
  193. package/src/__tests__/fixtures/azure-cli.cjs +153 -0
  194. package/src/__tests__/fixtures/provision-runner.cjs +28 -0
  195. package/src/__tests__/generated-project-matrix.test.ts +789 -0
  196. package/src/__tests__/home-page.test.ts +50 -0
  197. package/src/__tests__/init.test.ts +145 -5
  198. package/src/__tests__/mcp-version.test.ts +262 -0
  199. package/src/__tests__/mcp.test.ts +120 -3
  200. package/src/__tests__/multi-auth.test.ts +115 -4
  201. package/src/__tests__/package-manager.test.ts +17 -2
  202. package/src/__tests__/plan-apply.test.ts +179 -0
  203. package/src/__tests__/provision-runtime.test.ts +722 -0
  204. package/src/__tests__/python-uv.test.ts +50 -14
  205. package/src/__tests__/python-venv.test.ts +48 -0
  206. package/src/__tests__/react-dev.test.ts +72 -0
  207. package/src/__tests__/react.test.ts +838 -0
  208. package/src/__tests__/release-metadata.test.ts +121 -0
  209. package/src/__tests__/schema-analysis.test.ts +329 -0
  210. package/src/cli/commands/add-auth.ts +103 -29
  211. package/src/cli/commands/configure-mcp.ts +54 -0
  212. package/src/cli/commands/dev.ts +145 -73
  213. package/src/cli/commands/init.ts +147 -172
  214. package/src/cli/commands/migrations.ts +22 -0
  215. package/src/cli/commands/provision.ts +294 -56
  216. package/src/cli/commands/scaffold.ts +145 -22
  217. package/src/cli/index.ts +46 -10
  218. package/src/core/config.ts +21 -1
  219. package/src/core/operations/create-model.ts +51 -13
  220. package/src/core/operations/migration-generator.ts +14 -1
  221. package/src/core/operations/model-migration.ts +52 -0
  222. package/src/core/operations/provision-deployment.ts +183 -0
  223. package/src/core/operations/provision-operations.ts +662 -154
  224. package/src/core/operations/scaffold-apply.ts +2 -0
  225. package/src/core/operations/scaffold-machine.ts +1 -0
  226. package/src/core/operations/scaffold-plan.ts +5 -1
  227. package/src/core/project/agent-instructions.ts +17 -1
  228. package/src/core/project/agent-templates/AGENTS.md +113 -15
  229. package/src/core/project/agent-templates/CLAUDE.md +14 -1
  230. package/src/core/project/agent-templates/bff-routes.instructions.md +5 -3
  231. package/src/core/project/agent-templates/copilot-instructions.md +15 -1
  232. package/src/core/project/agent-templates/shared-models.instructions.md +11 -3
  233. package/src/core/project/boundaries.ts +62 -20
  234. package/src/core/project/capabilities.ts +63 -6
  235. package/src/core/project/home-page.ts +114 -0
  236. package/src/core/project/manifest.ts +52 -27
  237. package/src/core/project/mcp-config.ts +84 -0
  238. package/src/core/project/react-project.ts +529 -0
  239. package/src/core/project/state.ts +70 -0
  240. package/src/core/project/validation.ts +32 -10
  241. package/src/core/project/workflows.ts +53 -7
  242. package/src/core/scaffold/auth-generator.ts +26 -27
  243. package/src/core/scaffold/model-parser.ts +413 -129
  244. package/src/core/scaffold/native-schema-generator.ts +319 -103
  245. package/src/core/scaffold/openapi-generator.ts +63 -5
  246. package/src/core/scaffold/react-bff-generator.ts +292 -0
  247. package/src/core/scaffold/react-ui-generator.ts +51 -0
  248. package/src/core/scaffold/ui-generator.ts +70 -8
  249. package/src/core/verify/index.ts +118 -6
  250. package/src/index.ts +3 -1
  251. package/src/machine/contracts.ts +1 -0
  252. package/src/machine/errors.ts +4 -2
  253. package/src/machine/index.ts +67 -36
  254. package/src/mcp/index.ts +221 -31
  255. package/src/mcp/version-selection.ts +163 -0
  256. package/src/types/index.ts +4 -0
  257. package/src/utils/azure-cli.ts +315 -0
  258. package/src/utils/azure-diagnostics.ts +75 -0
  259. package/src/utils/package-manager.ts +7 -4
  260. package/src/utils/python-uv.ts +53 -33
  261. package/src/utils/react-dev.ts +31 -0
  262. package/src/utils/semver.ts +59 -0
@@ -1 +1 @@
1
- {"version":3,"file":"native-schema-generator.js","sourceRoot":"","sources":["../../../src/core/scaffold/native-schema-generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"native-schema-generator.js","sourceRoot":"","sources":["../../../src/core/scaffold/native-schema-generator.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,8 @@
1
1
  import { ModelInfo } from "./model-parser";
2
+ /**
3
+ * Promote inline `z.object({...})` fields to named models (e.g. ProbeItem.nested -> ProbeItemNested)
4
+ * so OpenAPI components and native classes keep their shape. Expanded fields reference the new model.
5
+ */
6
+ export declare function expandInlineObjectModels(models: ModelInfo[]): ModelInfo[];
2
7
  export declare function generateOpenApiDocument(models: ModelInfo[], rootModel: ModelInfo): string;
3
8
  //# sourceMappingURL=openapi-generator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"openapi-generator.d.ts","sourceRoot":"","sources":["../../../src/core/scaffold/openapi-generator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,SAAS,EAAe,MAAM,gBAAgB,CAAC;AAqFnE,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,SAAS,EAAE,SAAS,GAAG,MAAM,CA8HzF"}
1
+ {"version":3,"file":"openapi-generator.d.ts","sourceRoot":"","sources":["../../../src/core/scaffold/openapi-generator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,SAAS,EAA6B,MAAM,gBAAgB,CAAC;AAwBjF;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,SAAS,EAAE,CAkCzE;AAiFD,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,SAAS,EAAE,SAAS,GAAG,MAAM,CA8HzF"}
@@ -1,8 +1,49 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.expandInlineObjectModels = expandInlineObjectModels;
3
4
  exports.generateOpenApiDocument = generateOpenApiDocument;
4
5
  const model_parser_1 = require("./model-parser");
6
+ /**
7
+ * Promote inline `z.object({...})` fields to named models (e.g. ProbeItem.nested -> ProbeItemNested)
8
+ * so OpenAPI components and native classes keep their shape. Expanded fields reference the new model.
9
+ */
10
+ function expandInlineObjectModels(models) {
11
+ const names = new Set(models.map((model) => model.name));
12
+ const synthetic = [];
13
+ const expand = (owner) => ({
14
+ ...owner,
15
+ fields: owner.fields.map((field) => {
16
+ if (!field.objectFields || field.isNestedSchema)
17
+ return field;
18
+ let name = `${owner.name}${(0, model_parser_1.toPascalCase)(field.name)}`;
19
+ while (names.has(name))
20
+ name = `${name}Object`;
21
+ names.add(name);
22
+ const nested = expand({
23
+ ...owner,
24
+ name,
25
+ displayName: name,
26
+ schemaName: name,
27
+ fields: field.objectFields,
28
+ hasId: field.objectFields.some((child) => child.name === "id"),
29
+ hasCreatedAt: field.objectFields.some((child) => child.name === "createdAt"),
30
+ hasUpdatedAt: field.objectFields.some((child) => child.name === "updatedAt"),
31
+ nestedSchemaRefs: [],
32
+ partitionKey: "/id",
33
+ connectorConfig: undefined,
34
+ authPolicy: undefined,
35
+ });
36
+ synthetic.push(nested);
37
+ const rest = { ...field };
38
+ delete rest.objectFields;
39
+ return { ...rest, isNestedSchema: true, nestedModelName: name };
40
+ }),
41
+ });
42
+ const expanded = models.map(expand);
43
+ return [...expanded, ...synthetic];
44
+ }
5
45
  function toScalarSchema(field) {
46
+ const constraints = field.constraints ?? {};
6
47
  if (field.enumValues?.length) {
7
48
  return {
8
49
  type: "string",
@@ -13,7 +54,10 @@ function toScalarSchema(field) {
13
54
  case "string":
14
55
  return {
15
56
  type: "string",
16
- format: field.name.toLowerCase().endsWith("at") ? "date-time" : undefined,
57
+ ...(field.format && field.format !== "time" ? { format: field.format } : {}),
58
+ ...(constraints.minLength !== undefined ? { minLength: constraints.minLength } : {}),
59
+ ...(constraints.maxLength !== undefined ? { maxLength: constraints.maxLength } : {}),
60
+ ...(constraints.pattern !== undefined ? { pattern: constraints.pattern } : {}),
17
61
  };
18
62
  case "date":
19
63
  return {
@@ -22,7 +66,11 @@ function toScalarSchema(field) {
22
66
  };
23
67
  case "number":
24
68
  return {
25
- type: "number",
69
+ ...(field.isInteger ? { type: "integer", format: "int64" } : { type: "number", format: "double" }),
70
+ ...(constraints.minimum !== undefined ? { minimum: constraints.minimum } : {}),
71
+ ...(constraints.exclusiveMinimum ? { exclusiveMinimum: true } : {}),
72
+ ...(constraints.maximum !== undefined ? { maximum: constraints.maximum } : {}),
73
+ ...(constraints.exclusiveMaximum ? { exclusiveMaximum: true } : {}),
26
74
  };
27
75
  case "boolean":
28
76
  return {
@@ -45,6 +93,8 @@ function toFieldSchema(field) {
45
93
  return {
46
94
  type: "array",
47
95
  items: schema,
96
+ ...(field.constraints?.minItems !== undefined ? { minItems: field.constraints.minItems } : {}),
97
+ ...(field.constraints?.maxItems !== undefined ? { maxItems: field.constraints.maxItems } : {}),
48
98
  };
49
99
  }
50
100
  return schema;
@@ -66,7 +116,7 @@ function createComponentSchema(model) {
66
116
  }
67
117
  function generateOpenApiDocument(models, rootModel) {
68
118
  const rootModelRoute = (0, model_parser_1.toCamelCase)(rootModel.name);
69
- const components = Object.fromEntries(models.map((model) => [model.name, createComponentSchema(model)]));
119
+ const components = Object.fromEntries(expandInlineObjectModels(models).map((model) => [model.name, createComponentSchema(model)]));
70
120
  const document = {
71
121
  openapi: "3.0.3",
72
122
  info: {
@@ -1 +1 @@
1
- {"version":3,"file":"openapi-generator.js","sourceRoot":"","sources":["../../../src/core/scaffold/openapi-generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"openapi-generator.js","sourceRoot":"","sources":["../../../src/core/scaffold/openapi-generator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import { AuthConfig } from "../../types";
2
+ import { ModelInfo } from "./model-parser";
3
+ export declare function generateManagedFunctionConfig(route: string, methods: readonly string[], entry: string): string;
4
+ export declare function getAuthCookieName(projectName: string): string;
5
+ /** Request-local credentials: never share authentication state between invocations. */
6
+ export declare function generateReactBffHelper(projectName: string, auth?: AuthConfig): string;
7
+ export declare function generateReactBffRoute(model: ModelInfo, sharedPackageName: string): string;
8
+ export declare function generateReactGreetBff(): string;
9
+ export declare function generateReactAuthBff(projectName: string, sharedPackageName: string, customJwt: boolean): string;
10
+ //# sourceMappingURL=react-bff-generator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"react-bff-generator.d.ts","sourceRoot":"","sources":["../../../src/core/scaffold/react-bff-generator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EAAE,SAAS,EAAe,MAAM,gBAAgB,CAAC;AAExD,wBAAgB,6BAA6B,CAC3C,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,SAAS,MAAM,EAAE,EAC1B,KAAK,EAAE,MAAM,GACZ,MAAM,CAqBR;AAED,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAK7D;AAED,uFAAuF;AACvF,wBAAgB,sBAAsB,CACpC,WAAW,EAAE,MAAM,EACnB,IAAI,CAAC,EAAE,UAAU,GAChB,MAAM,CA4HR;AAED,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,SAAS,EAChB,iBAAiB,EAAE,MAAM,GACxB,MAAM,CAqDR;AAED,wBAAgB,qBAAqB,IAAI,MAAM,CAe9C;AAED,wBAAgB,oBAAoB,CAClC,WAAW,EAAE,MAAM,EACnB,iBAAiB,EAAE,MAAM,EACzB,SAAS,EAAE,OAAO,GACjB,MAAM,CA4CR"}
@@ -0,0 +1,252 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.generateManagedFunctionConfig = generateManagedFunctionConfig;
4
+ exports.getAuthCookieName = getAuthCookieName;
5
+ exports.generateReactBffHelper = generateReactBffHelper;
6
+ exports.generateReactBffRoute = generateReactBffRoute;
7
+ exports.generateReactGreetBff = generateReactGreetBff;
8
+ exports.generateReactAuthBff = generateReactAuthBff;
9
+ const config_1 = require("../config");
10
+ const model_parser_1 = require("./model-parser");
11
+ function generateManagedFunctionConfig(route, methods, entry) {
12
+ return (JSON.stringify({
13
+ scriptFile: `../dist/${entry}/index.js`,
14
+ bindings: [
15
+ {
16
+ authLevel: "anonymous",
17
+ type: "httpTrigger",
18
+ direction: "in",
19
+ name: "req",
20
+ methods: methods.map((method) => method.toLowerCase()),
21
+ route,
22
+ },
23
+ { type: "http", direction: "out", name: "$return" },
24
+ ],
25
+ }, null, 2) + "\n");
26
+ }
27
+ function getAuthCookieName(projectName) {
28
+ return (projectName.replace(/^@[^/]+\//, "").replace(/[^a-z0-9-]/g, "-") +
29
+ "-auth-token");
30
+ }
31
+ /** Request-local credentials: never share authentication state between invocations. */
32
+ function generateReactBffHelper(projectName, auth) {
33
+ const providers = new Set(Object.values((0, config_1.normalizeAuthConfig)(auth)?.schemes ?? {}).map((scheme) => scheme.provider));
34
+ return `import type { HttpRequest, HttpResponse } from '@azure/functions';
35
+ import { z } from 'zod/v4';
36
+
37
+ // SwallowKit BFF Call Function Helper (SWA managed Functions)
38
+ const forwardSwa = ${providers.has("swa")};
39
+ const forwardBearer = ${providers.has("custom-jwt") || providers.has("external-token")};
40
+ const authCookieName = '${getAuthCookieName(projectName)}';
41
+
42
+ export class BffError extends Error {
43
+ constructor(public status: number, message: string) { super(message); }
44
+ }
45
+
46
+ export function json(body: unknown, status = 200): HttpResponse {
47
+ return { status, body, headers: { 'Content-Type': 'application/json', 'Cache-Control': 'no-store' } };
48
+ }
49
+
50
+ export function parseBody(request: HttpRequest): unknown {
51
+ if (request.body === undefined || request.body === '') throw new BffError(400, 'Request body is required');
52
+ if (typeof request.body !== 'string') return request.body;
53
+ try { return JSON.parse(request.body); }
54
+ catch { throw new BffError(400, 'Invalid JSON body'); }
55
+ }
56
+
57
+ function credentialHeaders(request: HttpRequest): Record<string, string> {
58
+ const result: Record<string, string> = {};
59
+ if (forwardBearer) {
60
+ const authorization = request.headers.authorization;
61
+ const cookie = request.headers.cookie?.split(';').map(value => value.trim()).find(value => value.startsWith(authCookieName + '='));
62
+ if (authorization?.startsWith('Bearer ')) result.Authorization = authorization;
63
+ else if (cookie) {
64
+ try { result.Authorization = 'Bearer ' + decodeURIComponent(cookie.slice(authCookieName.length + 1)); }
65
+ catch { throw new BffError(401, 'Invalid authentication cookie'); }
66
+ }
67
+ }
68
+ // SWA injects this header at the trusted managed API boundary. Never expose the backend key to clients.
69
+ if (forwardSwa && request.headers['x-ms-client-principal']) {
70
+ const encoded = request.headers['x-ms-client-principal'];
71
+ try {
72
+ const decoded = Buffer.from(encoded, 'base64');
73
+ if (decoded.toString('base64') !== encoded) throw new Error('Invalid encoding');
74
+ const value = JSON.parse(decoded.toString('utf8'));
75
+ if (typeof value.identityProvider !== 'string' || !value.identityProvider ||
76
+ typeof value.userId !== 'string' || !value.userId ||
77
+ !Array.isArray(value.userRoles) || !value.userRoles.includes('authenticated')) {
78
+ throw new Error('Invalid principal');
79
+ }
80
+ result['x-ms-client-principal'] = Buffer.from(JSON.stringify({
81
+ identityProvider: value.identityProvider, userId: value.userId,
82
+ userDetails: typeof value.userDetails === 'string' ? value.userDetails : '',
83
+ userRoles: value.userRoles.filter((role: unknown) => typeof role === 'string'),
84
+ })).toString('base64');
85
+ } catch {
86
+ throw new BffError(401, 'Invalid SWA client principal');
87
+ }
88
+ }
89
+ return result;
90
+ }
91
+
92
+ export async function backendRequest(request: HttpRequest, method: string, path: string, body?: unknown): Promise<Response> {
93
+ const baseUrl = process.env.BACKEND_FUNCTIONS_BASE_URL || process.env.FUNCTIONS_BASE_URL || 'http://localhost:7071';
94
+ const parsedUrl = new URL(baseUrl);
95
+ const local = parsedUrl.protocol === 'http:' && ['localhost', '127.0.0.1', '[::1]'].includes(parsedUrl.hostname);
96
+ const key = process.env.BACKEND_FUNCTIONS_KEY;
97
+ if (!key && !local) throw new Error('BACKEND_FUNCTIONS_KEY is required for non-local Functions calls');
98
+ if (!local && parsedUrl.protocol !== 'https:') throw new Error('Remote Functions calls require HTTPS');
99
+ return fetch(baseUrl.replace(/\\/$/, '') + path, {
100
+ method,
101
+ headers: { 'Content-Type': 'application/json', ...credentialHeaders(request), ...(key ? { 'x-functions-key': key } : {}) },
102
+ body: body === undefined ? undefined : JSON.stringify(body),
103
+ redirect: 'error',
104
+ });
105
+ }
106
+
107
+ interface CallFunctionConfig {
108
+ request: HttpRequest;
109
+ method: 'GET' | 'POST' | 'PUT' | 'DELETE';
110
+ path: string;
111
+ body?: unknown;
112
+ inputSchema?: z.ZodType;
113
+ responseSchema?: z.ZodType;
114
+ successStatus?: number;
115
+ }
116
+
117
+ export async function callFunction(config: CallFunctionConfig): Promise<HttpResponse> {
118
+ try {
119
+ let body = config.body;
120
+ if (config.inputSchema) {
121
+ const result = config.inputSchema.safeParse(body);
122
+ if (!result.success) return json({ error: 'Validation failed', details: result.error.issues }, 400);
123
+ body = result.data;
124
+ }
125
+ const response = await backendRequest(config.request, config.method, config.path, body);
126
+ if (response.status === 204) return { status: 204 };
127
+ if (!response.ok) {
128
+ console.error('[BFF] Backend request failed:', response.status);
129
+ return json({ error: 'Backend request failed' }, response.status);
130
+ }
131
+ const data: unknown = await response.json();
132
+ if (config.responseSchema) {
133
+ const result = config.responseSchema.safeParse(data);
134
+ if (!result.success) {
135
+ console.error('[BFF] Backend response validation failed');
136
+ return json({ error: 'Invalid backend response' }, 502);
137
+ }
138
+ return json(result.data, config.successStatus ?? 200);
139
+ }
140
+ return json(data, config.successStatus ?? 200);
141
+ } catch (error) {
142
+ return handleError(error);
143
+ }
144
+ }
145
+
146
+ export function handleError(error: unknown): HttpResponse {
147
+ if (error instanceof BffError) return json({ error: error.message }, error.status);
148
+ console.error('[BFF] Request failed:', error instanceof Error ? error.name : 'UnknownError');
149
+ return json({ error: 'Backend request failed' }, 502);
150
+ }
151
+ `;
152
+ }
153
+ function generateReactBffRoute(model, sharedPackageName) {
154
+ const modelCamel = (0, model_parser_1.toCamelCase)(model.name);
155
+ const operations = new Set(model.connectorConfig?.operations ?? [
156
+ "getAll",
157
+ "getById",
158
+ "create",
159
+ "update",
160
+ "delete",
161
+ ]);
162
+ const managedFields = model.fields
163
+ .filter((field) => ["id", "createdAt", "updatedAt"].includes(field.name))
164
+ .map((field) => `${field.name}: true`)
165
+ .join(", ");
166
+ const clauses = [];
167
+ if (operations.has("getAll"))
168
+ clauses.push(` if (request.method === 'GET' && !id) return callFunction({ request, method: 'GET', path, responseSchema: z.array(${model.schemaName}) });`);
169
+ if (operations.has("getById"))
170
+ clauses.push(` if (request.method === 'GET' && id) return callFunction({ request, method: 'GET', path, responseSchema: ${model.schemaName} });`);
171
+ if (operations.has("create"))
172
+ clauses.push(` if (request.method === 'POST' && !id) return callFunction({ request, method: 'POST', path, body: parseBody(request), inputSchema: InputSchema, responseSchema: ${model.schemaName}, successStatus: 201 });`);
173
+ if (operations.has("update"))
174
+ clauses.push(` if (request.method === 'PUT' && id) return callFunction({ request, method: 'PUT', path, body: parseBody(request), inputSchema: InputSchema, responseSchema: ${model.schemaName} });`);
175
+ if (operations.has("delete"))
176
+ clauses.push(` if (request.method === 'DELETE' && id) return callFunction({ request, method: 'DELETE', path });`);
177
+ return `import type { AzureFunction, Context, HttpRequest } from '@azure/functions';
178
+ import { z } from 'zod/v4';
179
+ import { ${model.schemaName} } from '${sharedPackageName}';
180
+ import { callFunction, parseBody, json, handleError } from '../lib/call-function';
181
+
182
+ const InputSchema = ${model.schemaName}.omit({ ${managedFields} });
183
+
184
+ const handler: AzureFunction = async (_context: Context, request: HttpRequest) => {
185
+ try {
186
+ const id = request.params.id;
187
+ const path = '/api/${modelCamel}' + (id ? '/' + encodeURIComponent(id) : '');
188
+ ${clauses.join("\n")}
189
+ return json({ error: 'Method not allowed' }, 405);
190
+ } catch (error) { return handleError(error); }
191
+ };
192
+ export default handler;
193
+ `;
194
+ }
195
+ function generateReactGreetBff() {
196
+ return `import type { AzureFunction, Context, HttpRequest } from '@azure/functions';
197
+ import { callFunction, parseBody, handleError } from '../lib/call-function';
198
+
199
+ const handler: AzureFunction = async (_context: Context, request: HttpRequest) => {
200
+ try {
201
+ const body = request.method === 'POST' ? parseBody(request) : undefined;
202
+ return callFunction({
203
+ request, method: request.method === 'POST' ? 'POST' : 'GET',
204
+ path: '/api/greet?name=' + encodeURIComponent(request.query.name || 'World'), body,
205
+ });
206
+ } catch (error) { return handleError(error); }
207
+ };
208
+ export default handler;
209
+ `;
210
+ }
211
+ function generateReactAuthBff(projectName, sharedPackageName, customJwt) {
212
+ return `import type { AzureFunction, Context, HttpRequest } from '@azure/functions';
213
+ ${customJwt ? `import { z } from 'zod/v4';\nimport { AuthUser, LoginRequest, LoginResponse } from '${sharedPackageName}';` : ""}
214
+ import { backendRequest, callFunction, parseBody, json, handleError } from '../lib/call-function';
215
+
216
+ const cookieName = '${getAuthCookieName(projectName)}';
217
+ ${customJwt
218
+ ? `const CurrentUser = z.preprocess(value => {
219
+ if (!value || typeof value !== 'object') return value;
220
+ return { ...value, id: 'id' in value ? value.id : 'sub' in value ? value.sub : undefined };
221
+ }, AuthUser);
222
+ `
223
+ : ""}
224
+ const handler: AzureFunction = async (_context: Context, request: HttpRequest) => {
225
+ try {
226
+ const action = request.params.action;
227
+ if (action === 'me' && request.method === 'GET') return callFunction({ request, method: 'GET', path: '/api/auth/me'${customJwt ? ", responseSchema: CurrentUser" : ""} });
228
+ ${customJwt
229
+ ? ` if (action === 'logout' && request.method === 'POST') {
230
+ const response = json({ message: 'Logged out' });
231
+ response.headers = { ...response.headers, 'Set-Cookie': cookieName + '=; Path=/; HttpOnly; SameSite=Lax; Max-Age=0' };
232
+ return response;
233
+ }
234
+ if (action === 'login' && request.method === 'POST') {
235
+ const input = LoginRequest.safeParse(parseBody(request));
236
+ if (!input.success) return json({ error: 'Validation failed', details: input.error.issues }, 400);
237
+ const result = await backendRequest(request, 'POST', '/api/auth/login', input.data);
238
+ if (!result.ok) return json({ error: 'Authentication failed' }, result.status);
239
+ const data = LoginResponse.parse(await result.json());
240
+ const response = json({ user: data.user });
241
+ const secure = process.env.WEBSITE_SITE_NAME || process.env.NODE_ENV === 'production';
242
+ response.headers = { ...response.headers, 'Set-Cookie': cookieName + '=' + encodeURIComponent(data.token) + '; Path=/; HttpOnly; SameSite=Lax; Max-Age=86400' + (secure ? '; Secure' : '') };
243
+ return response;
244
+ }`
245
+ : ""}
246
+ return json({ error: 'Not found' }, 404);
247
+ } catch (error) { return handleError(error); }
248
+ };
249
+ export default handler;
250
+ `;
251
+ }
252
+ //# sourceMappingURL=react-bff-generator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"react-bff-generator.js","sourceRoot":"","sources":["../../../src/core/scaffold/react-bff-generator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { ModelInfo } from "./model-parser";
2
+ import { UIAuthOptions } from "./ui-generator";
3
+ /** Adapt the shared CRUD presentation templates to React Router, without a Next.js runtime. */
4
+ export declare function adaptReactPage(source: string): string;
5
+ export declare function generateReactModelRoutes(model: ModelInfo, auth?: UIAuthOptions): string;
6
+ //# sourceMappingURL=react-ui-generator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"react-ui-generator.d.ts","sourceRoot":"","sources":["../../../src/core/scaffold/react-ui-generator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAe,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAE/C,+FAA+F;AAC/F,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAoBrD;AAED,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,SAAS,EAChB,IAAI,CAAC,EAAE,aAAa,GACnB,MAAM,CAqBR"}
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.adaptReactPage = adaptReactPage;
4
+ exports.generateReactModelRoutes = generateReactModelRoutes;
5
+ const model_parser_1 = require("./model-parser");
6
+ /** Adapt the shared CRUD presentation templates to React Router, without a Next.js runtime. */
7
+ function adaptReactPage(source) {
8
+ return source
9
+ .replace(/^'use client';?\s*\r?\n/, "")
10
+ .replace(/import Link from 'next\/link';/g, "import { Link } from 'react-router-dom';")
11
+ .replace(/import \{ useParams, useRouter \} from 'next\/navigation';/g, "import { useParams, useNavigate } from 'react-router-dom';")
12
+ .replace(/import \{ useRouter \} from 'next\/navigation';/g, "import { useNavigate } from 'react-router-dom';")
13
+ .replace(/\buseRouter\(\)/g, "useNavigate()")
14
+ .replace(/\brouter\.(?:push|replace)\(/g, "router(")
15
+ .replace(/^\s*router\.refresh\(\);?\s*$/gm, "")
16
+ .replace(/(<Link\b[^>]*?)\bhref=/gs, "$1to=")
17
+ .replace(/\[params\]/g, "[params.id]");
18
+ }
19
+ function generateReactModelRoutes(model, auth) {
20
+ const slug = (0, model_parser_1.toKebabCase)(model.name);
21
+ return `import type { RouteObject } from 'react-router-dom';
22
+ ${auth ? "import { Outlet } from 'react-router-dom';\nimport Layout from './layout';" : ""}
23
+ import List from './page';
24
+ import Detail from './[id]/page';
25
+ import New from './new/page';
26
+ import Edit from './[id]/edit/page';
27
+
28
+ const routes: RouteObject[] = [{
29
+ path: '/${slug}',
30
+ ${auth ? "element: <Layout><Outlet /></Layout>," : ""}
31
+ children: [
32
+ { index: true, element: <List /> },
33
+ { path: 'new', element: <New /> },
34
+ { path: ':id', element: <Detail /> },
35
+ { path: ':id/edit', element: <Edit /> },
36
+ ],
37
+ }];
38
+ export default routes;
39
+ `;
40
+ }
41
+ //# sourceMappingURL=react-ui-generator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"react-ui-generator.js","sourceRoot":"","sources":["../../../src/core/scaffold/react-ui-generator.ts"],"names":[],"mappings":";;AAIA,wCAoBC;AAED,4DAwBC;AAlDD,iDAAwD;AAGxD,+FAA+F;AAC/F,SAAgB,cAAc,CAAC,MAAc;IAC3C,OAAO,MAAM;SACV,OAAO,CAAC,yBAAyB,EAAE,EAAE,CAAC;SACtC,OAAO,CACN,iCAAiC,EACjC,0CAA0C,CAC3C;SACA,OAAO,CACN,6DAA6D,EAC7D,4DAA4D,CAC7D;SACA,OAAO,CACN,kDAAkD,EAClD,iDAAiD,CAClD;SACA,OAAO,CAAC,kBAAkB,EAAE,eAAe,CAAC;SAC5C,OAAO,CAAC,+BAA+B,EAAE,SAAS,CAAC;SACnD,OAAO,CAAC,iCAAiC,EAAE,EAAE,CAAC;SAC9C,OAAO,CAAC,0BAA0B,EAAE,OAAO,CAAC;SAC5C,OAAO,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;AAC3C,CAAC;AAED,SAAgB,wBAAwB,CACtC,KAAgB,EAChB,IAAoB;IAEpB,MAAM,IAAI,GAAG,IAAA,0BAAW,EAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACrC,OAAO;EACP,IAAI,CAAC,CAAC,CAAC,4EAA4E,CAAC,CAAC,CAAC,EAAE;;;;;;;YAO9E,IAAI;IACZ,IAAI,CAAC,CAAC,CAAC,uCAAuC,CAAC,CAAC,CAAC,EAAE;;;;;;;;;CAStD,CAAC;AACF,CAAC"}
@@ -12,9 +12,6 @@ export interface UIAuthOptions {
12
12
  authenticatedFetchImport?: string;
13
13
  authContextImport?: string;
14
14
  }
15
- /**
16
- * 認証付きCRUDルートを、ページ側のuseAuthと同じAuthProviderで囲むレイアウトを生成する。
17
- */
18
15
  export declare function generateAuthLayout(model: ModelInfo, authOptions?: UIAuthOptions): string | undefined;
19
16
  /**
20
17
  * 一覧画面を生成
@@ -1 +1 @@
1
- {"version":3,"file":"ui-generator.d.ts","sourceRoot":"","sources":["../../../src/core/scaffold/ui-generator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,SAAS,EAA4B,MAAM,gBAAgB,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C,8CAA8C;AAC9C,MAAM,WAAW,aAAa;IAC5B,oBAAoB;IACpB,UAAU,EAAE,eAAe,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,SAAS,EAAE,WAAW,CAAC,EAAE,aAAa,GAAG,MAAM,GAAG,SAAS,CAgBpG;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,aAAa,GAAG,MAAM,CAsPjH;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,aAAa,GAAG,MAAM,CAiNnH;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,GAAG,MAAM,CAibzF;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,SAAS,EAAE,WAAW,CAAC,EAAE,aAAa,GAAG,MAAM,CAgErF;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,aAAa,GAAG,MAAM,CAsFjH"}
1
+ {"version":3,"file":"ui-generator.d.ts","sourceRoot":"","sources":["../../../src/core/scaffold/ui-generator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAa,SAAS,EAA4B,MAAM,gBAAgB,CAAC;AAChF,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C,8CAA8C;AAC9C,MAAM,WAAW,aAAa;IAC5B,oBAAoB;IACpB,UAAU,EAAE,eAAe,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAoBD,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,SAAS,EAAE,WAAW,CAAC,EAAE,aAAa,GAAG,MAAM,GAAG,SAAS,CAgBpG;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,aAAa,GAAG,MAAM,CA0PjH;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,aAAa,GAAG,MAAM,CAsNnH;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,GAAG,MAAM,CAudzF;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,SAAS,EAAE,WAAW,CAAC,EAAE,aAAa,GAAG,MAAM,CAgErF;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,aAAa,GAAG,MAAM,CAsFjH"}