swallowkit 1.0.0-beta.8 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (272) hide show
  1. package/README.ja.md +87 -181
  2. package/README.md +87 -238
  3. package/dist/__tests__/fixtures.d.ts +12 -0
  4. package/dist/__tests__/fixtures.d.ts.map +1 -1
  5. package/dist/__tests__/fixtures.js +101 -0
  6. package/dist/__tests__/fixtures.js.map +1 -1
  7. package/dist/cli/commands/add-auth.d.ts +15 -0
  8. package/dist/cli/commands/add-auth.d.ts.map +1 -0
  9. package/dist/cli/commands/add-auth.js +790 -0
  10. package/dist/cli/commands/add-auth.js.map +1 -0
  11. package/dist/cli/commands/add-connector.d.ts +20 -0
  12. package/dist/cli/commands/add-connector.d.ts.map +1 -0
  13. package/dist/cli/commands/add-connector.js +164 -0
  14. package/dist/cli/commands/add-connector.js.map +1 -0
  15. package/dist/cli/commands/cosmos-worktree-isolation.d.ts +25 -0
  16. package/dist/cli/commands/cosmos-worktree-isolation.d.ts.map +1 -0
  17. package/dist/cli/commands/cosmos-worktree-isolation.js +124 -0
  18. package/dist/cli/commands/cosmos-worktree-isolation.js.map +1 -0
  19. package/dist/cli/commands/create-model.d.ts +1 -4
  20. package/dist/cli/commands/create-model.d.ts.map +1 -1
  21. package/dist/cli/commands/create-model.js +20 -82
  22. package/dist/cli/commands/create-model.js.map +1 -1
  23. package/dist/cli/commands/dev-seeds.d.ts +27 -0
  24. package/dist/cli/commands/dev-seeds.d.ts.map +1 -1
  25. package/dist/cli/commands/dev-seeds.js +188 -6
  26. package/dist/cli/commands/dev-seeds.js.map +1 -1
  27. package/dist/cli/commands/dev.d.ts +30 -0
  28. package/dist/cli/commands/dev.d.ts.map +1 -1
  29. package/dist/cli/commands/dev.js +495 -129
  30. package/dist/cli/commands/dev.js.map +1 -1
  31. package/dist/cli/commands/init.d.ts +70 -0
  32. package/dist/cli/commands/init.d.ts.map +1 -1
  33. package/dist/cli/commands/init.js +797 -768
  34. package/dist/cli/commands/init.js.map +1 -1
  35. package/dist/cli/commands/scaffold.d.ts +24 -3
  36. package/dist/cli/commands/scaffold.d.ts.map +1 -1
  37. package/dist/cli/commands/scaffold.js +408 -189
  38. package/dist/cli/commands/scaffold.js.map +1 -1
  39. package/dist/cli/index.d.ts +5 -1
  40. package/dist/cli/index.d.ts.map +1 -1
  41. package/dist/cli/index.js +335 -58
  42. package/dist/cli/index.js.map +1 -1
  43. package/dist/core/config.d.ts +13 -3
  44. package/dist/core/config.d.ts.map +1 -1
  45. package/dist/core/config.js +151 -8
  46. package/dist/core/config.js.map +1 -1
  47. package/dist/core/mock/connector-mock-server.d.ts +101 -0
  48. package/dist/core/mock/connector-mock-server.d.ts.map +1 -0
  49. package/dist/core/mock/connector-mock-server.js +480 -0
  50. package/dist/core/mock/connector-mock-server.js.map +1 -0
  51. package/dist/core/mock/zod-mock-generator.d.ts +14 -0
  52. package/dist/core/mock/zod-mock-generator.d.ts.map +1 -0
  53. package/dist/core/mock/zod-mock-generator.js +163 -0
  54. package/dist/core/mock/zod-mock-generator.js.map +1 -0
  55. package/dist/core/operations/auth-operations.d.ts +61 -0
  56. package/dist/core/operations/auth-operations.d.ts.map +1 -0
  57. package/dist/core/operations/auth-operations.js +272 -0
  58. package/dist/core/operations/auth-operations.js.map +1 -0
  59. package/dist/core/operations/create-model.d.ts +15 -0
  60. package/dist/core/operations/create-model.d.ts.map +1 -0
  61. package/dist/core/operations/create-model.js +185 -0
  62. package/dist/core/operations/create-model.js.map +1 -0
  63. package/dist/core/operations/file-session.d.ts +56 -0
  64. package/dist/core/operations/file-session.d.ts.map +1 -0
  65. package/dist/core/operations/file-session.js +203 -0
  66. package/dist/core/operations/file-session.js.map +1 -0
  67. package/dist/core/operations/provision-operations.d.ts +52 -0
  68. package/dist/core/operations/provision-operations.d.ts.map +1 -0
  69. package/dist/core/operations/provision-operations.js +211 -0
  70. package/dist/core/operations/provision-operations.js.map +1 -0
  71. package/dist/core/operations/runtime.d.ts +37 -0
  72. package/dist/core/operations/runtime.d.ts.map +1 -0
  73. package/dist/core/operations/runtime.js +248 -0
  74. package/dist/core/operations/runtime.js.map +1 -0
  75. package/dist/core/operations/scaffold-apply.d.ts +21 -0
  76. package/dist/core/operations/scaffold-apply.d.ts.map +1 -0
  77. package/dist/core/operations/scaffold-apply.js +57 -0
  78. package/dist/core/operations/scaffold-apply.js.map +1 -0
  79. package/dist/core/operations/scaffold-machine.d.ts +16 -0
  80. package/dist/core/operations/scaffold-machine.d.ts.map +1 -0
  81. package/dist/core/operations/scaffold-machine.js +51 -0
  82. package/dist/core/operations/scaffold-machine.js.map +1 -0
  83. package/dist/core/operations/scaffold-plan.d.ts +43 -0
  84. package/dist/core/operations/scaffold-plan.d.ts.map +1 -0
  85. package/dist/core/operations/scaffold-plan.js +187 -0
  86. package/dist/core/operations/scaffold-plan.js.map +1 -0
  87. package/dist/core/project/agent-instructions.d.ts +29 -0
  88. package/dist/core/project/agent-instructions.d.ts.map +1 -0
  89. package/dist/core/project/agent-instructions.js +160 -0
  90. package/dist/core/project/agent-instructions.js.map +1 -0
  91. package/dist/core/project/artifacts.d.ts +58 -0
  92. package/dist/core/project/artifacts.d.ts.map +1 -0
  93. package/dist/core/project/artifacts.js +179 -0
  94. package/dist/core/project/artifacts.js.map +1 -0
  95. package/dist/core/project/boundaries.d.ts +50 -0
  96. package/dist/core/project/boundaries.d.ts.map +1 -0
  97. package/dist/core/project/boundaries.js +117 -0
  98. package/dist/core/project/boundaries.js.map +1 -0
  99. package/dist/core/project/capabilities.d.ts +58 -0
  100. package/dist/core/project/capabilities.d.ts.map +1 -0
  101. package/dist/core/project/capabilities.js +135 -0
  102. package/dist/core/project/capabilities.js.map +1 -0
  103. package/dist/core/project/drift.d.ts +29 -0
  104. package/dist/core/project/drift.d.ts.map +1 -0
  105. package/dist/core/project/drift.js +188 -0
  106. package/dist/core/project/drift.js.map +1 -0
  107. package/dist/core/project/infra.d.ts +49 -0
  108. package/dist/core/project/infra.d.ts.map +1 -0
  109. package/dist/core/project/infra.js +167 -0
  110. package/dist/core/project/infra.js.map +1 -0
  111. package/dist/core/project/manifest.d.ts +92 -0
  112. package/dist/core/project/manifest.d.ts.map +1 -0
  113. package/dist/core/project/manifest.js +321 -0
  114. package/dist/core/project/manifest.js.map +1 -0
  115. package/dist/core/project/state.d.ts +15 -0
  116. package/dist/core/project/state.d.ts.map +1 -0
  117. package/dist/core/project/state.js +106 -0
  118. package/dist/core/project/state.js.map +1 -0
  119. package/dist/core/project/validation.d.ts +20 -0
  120. package/dist/core/project/validation.d.ts.map +1 -0
  121. package/dist/core/project/validation.js +274 -0
  122. package/dist/core/project/validation.js.map +1 -0
  123. package/dist/core/project/workflows.d.ts +43 -0
  124. package/dist/core/project/workflows.d.ts.map +1 -0
  125. package/dist/core/project/workflows.js +299 -0
  126. package/dist/core/project/workflows.js.map +1 -0
  127. package/dist/core/scaffold/auth-generator.d.ts +63 -0
  128. package/dist/core/scaffold/auth-generator.d.ts.map +1 -0
  129. package/dist/core/scaffold/auth-generator.js +1774 -0
  130. package/dist/core/scaffold/auth-generator.js.map +1 -0
  131. package/dist/core/scaffold/connector-functions-generator.d.ts +41 -0
  132. package/dist/core/scaffold/connector-functions-generator.d.ts.map +1 -0
  133. package/dist/core/scaffold/connector-functions-generator.js +1029 -0
  134. package/dist/core/scaffold/connector-functions-generator.js.map +1 -0
  135. package/dist/core/scaffold/functions-generator.d.ts +4 -3
  136. package/dist/core/scaffold/functions-generator.d.ts.map +1 -1
  137. package/dist/core/scaffold/functions-generator.js +405 -134
  138. package/dist/core/scaffold/functions-generator.js.map +1 -1
  139. package/dist/core/scaffold/model-parser.d.ts +20 -0
  140. package/dist/core/scaffold/model-parser.d.ts.map +1 -1
  141. package/dist/core/scaffold/model-parser.js +229 -78
  142. package/dist/core/scaffold/model-parser.js.map +1 -1
  143. package/dist/core/scaffold/native-schema-generator.d.ts +19 -0
  144. package/dist/core/scaffold/native-schema-generator.d.ts.map +1 -0
  145. package/dist/core/scaffold/native-schema-generator.js +753 -0
  146. package/dist/core/scaffold/native-schema-generator.js.map +1 -0
  147. package/dist/core/scaffold/nextjs-generator.d.ts +8 -0
  148. package/dist/core/scaffold/nextjs-generator.d.ts.map +1 -1
  149. package/dist/core/scaffold/nextjs-generator.js +152 -8
  150. package/dist/core/scaffold/nextjs-generator.js.map +1 -1
  151. package/dist/core/scaffold/ui-generator.d.ts +17 -4
  152. package/dist/core/scaffold/ui-generator.d.ts.map +1 -1
  153. package/dist/core/scaffold/ui-generator.js +174 -34
  154. package/dist/core/scaffold/ui-generator.js.map +1 -1
  155. package/dist/core/verify/index.d.ts +69 -0
  156. package/dist/core/verify/index.d.ts.map +1 -0
  157. package/dist/core/verify/index.js +412 -0
  158. package/dist/core/verify/index.js.map +1 -0
  159. package/dist/machine/contracts.d.ts +24 -0
  160. package/dist/machine/contracts.d.ts.map +1 -0
  161. package/dist/machine/contracts.js +3 -0
  162. package/dist/machine/contracts.js.map +1 -0
  163. package/dist/machine/errors.d.ts +14 -0
  164. package/dist/machine/errors.d.ts.map +1 -0
  165. package/dist/machine/errors.js +42 -0
  166. package/dist/machine/errors.js.map +1 -0
  167. package/dist/machine/index.d.ts +3 -0
  168. package/dist/machine/index.d.ts.map +1 -0
  169. package/dist/machine/index.js +566 -0
  170. package/dist/machine/index.js.map +1 -0
  171. package/dist/mcp/index.d.ts +25 -0
  172. package/dist/mcp/index.d.ts.map +1 -0
  173. package/dist/mcp/index.js +425 -0
  174. package/dist/mcp/index.js.map +1 -0
  175. package/dist/types/index.d.ts +105 -0
  176. package/dist/types/index.d.ts.map +1 -1
  177. package/dist/utils/package-manager.d.ts +7 -11
  178. package/dist/utils/package-manager.d.ts.map +1 -1
  179. package/dist/utils/package-manager.js +42 -17
  180. package/dist/utils/package-manager.js.map +1 -1
  181. package/dist/utils/python-uv.d.ts +21 -0
  182. package/dist/utils/python-uv.d.ts.map +1 -0
  183. package/dist/utils/python-uv.js +111 -0
  184. package/dist/utils/python-uv.js.map +1 -0
  185. package/dist/version.d.ts +2 -0
  186. package/dist/version.d.ts.map +1 -0
  187. package/dist/version.js +49 -0
  188. package/dist/version.js.map +1 -0
  189. package/package.json +15 -17
  190. package/src/__tests__/__snapshots__/functions-generator.test.ts.snap +716 -22
  191. package/src/__tests__/__snapshots__/nextjs-generator.test.ts.snap +19 -7
  192. package/src/__tests__/__snapshots__/ui-generator.test.ts.snap +20 -12
  193. package/src/__tests__/agent-instructions.test.ts +237 -0
  194. package/src/__tests__/agent-loop-phase34.test.ts +513 -0
  195. package/src/__tests__/auth.test.ts +770 -0
  196. package/src/__tests__/bff-swa-auth.test.ts +275 -0
  197. package/src/__tests__/config.test.ts +176 -3
  198. package/src/__tests__/connector-functions-generator.test.ts +288 -0
  199. package/src/__tests__/connector-mock-server.test.ts +459 -0
  200. package/src/__tests__/connector-model-bff.test.ts +162 -0
  201. package/src/__tests__/cosmos-worktree-isolation.test.ts +149 -0
  202. package/src/__tests__/dev-seeds.test.ts +124 -0
  203. package/src/__tests__/dev.test.ts +254 -0
  204. package/src/__tests__/file-session.test.ts +98 -0
  205. package/src/__tests__/fixtures.ts +101 -0
  206. package/src/__tests__/functions-generator.test.ts +137 -1
  207. package/src/__tests__/init.test.ts +386 -1
  208. package/src/__tests__/jest-globals.d.ts +8 -0
  209. package/src/__tests__/machine.test.ts +371 -0
  210. package/src/__tests__/mcp.test.ts +253 -0
  211. package/src/__tests__/model-parser.test.ts +142 -0
  212. package/src/__tests__/multi-auth.test.ts +160 -0
  213. package/src/__tests__/nextjs-generator.test.ts +8 -0
  214. package/src/__tests__/package-manager.test.ts +59 -4
  215. package/src/__tests__/plan-apply.test.ts +499 -0
  216. package/src/__tests__/python-uv.test.ts +48 -0
  217. package/src/__tests__/scaffold.test.ts +287 -24
  218. package/src/__tests__/tsconfig.json +15 -0
  219. package/src/__tests__/ui-generator.test.ts +104 -0
  220. package/src/__tests__/zod-mock-generator.test.ts +132 -0
  221. package/src/cli/commands/add-auth.ts +853 -0
  222. package/src/cli/commands/add-connector.ts +159 -0
  223. package/src/cli/commands/cosmos-worktree-isolation.ts +130 -0
  224. package/src/cli/commands/create-model.ts +21 -100
  225. package/src/cli/commands/dev-seeds.ts +278 -7
  226. package/src/cli/commands/dev.ts +607 -160
  227. package/src/cli/commands/init.ts +880 -808
  228. package/src/cli/commands/scaffold.ts +531 -236
  229. package/src/cli/index.ts +338 -60
  230. package/src/core/config.ts +145 -9
  231. package/src/core/mock/connector-mock-server.ts +555 -0
  232. package/src/core/mock/zod-mock-generator.ts +205 -0
  233. package/src/core/operations/auth-operations.ts +360 -0
  234. package/src/core/operations/create-model.ts +191 -0
  235. package/src/core/operations/file-session.ts +222 -0
  236. package/src/core/operations/provision-operations.ts +297 -0
  237. package/src/core/operations/runtime.ts +258 -0
  238. package/src/core/operations/scaffold-apply.ts +106 -0
  239. package/src/core/operations/scaffold-machine.ts +77 -0
  240. package/src/core/operations/scaffold-plan.ts +215 -0
  241. package/src/core/project/agent-instructions.ts +167 -0
  242. package/src/core/project/agent-templates/AGENTS.md +504 -0
  243. package/src/core/project/agent-templates/CLAUDE.md +31 -0
  244. package/src/core/project/agent-templates/azure-functions.instructions.md +22 -0
  245. package/src/core/project/agent-templates/bff-routes.instructions.md +18 -0
  246. package/src/core/project/agent-templates/copilot-instructions.md +27 -0
  247. package/src/core/project/agent-templates/shared-models.instructions.md +72 -0
  248. package/src/core/project/artifacts.ts +205 -0
  249. package/src/core/project/boundaries.ts +170 -0
  250. package/src/core/project/capabilities.ts +193 -0
  251. package/src/core/project/drift.ts +202 -0
  252. package/src/core/project/infra.ts +196 -0
  253. package/src/core/project/manifest.ts +402 -0
  254. package/src/core/project/state.ts +77 -0
  255. package/src/core/project/validation.ts +295 -0
  256. package/src/core/project/workflows.ts +295 -0
  257. package/src/core/scaffold/auth-generator.ts +1824 -0
  258. package/src/core/scaffold/connector-functions-generator.ts +1133 -0
  259. package/src/core/scaffold/functions-generator.ts +432 -134
  260. package/src/core/scaffold/model-parser.ts +244 -90
  261. package/src/core/scaffold/native-schema-generator.ts +904 -0
  262. package/src/core/scaffold/nextjs-generator.ts +174 -9
  263. package/src/core/scaffold/ui-generator.ts +191 -36
  264. package/src/core/verify/index.ts +468 -0
  265. package/src/machine/contracts.ts +33 -0
  266. package/src/machine/errors.ts +45 -0
  267. package/src/machine/index.ts +690 -0
  268. package/src/mcp/index.ts +423 -0
  269. package/src/types/index.ts +137 -0
  270. package/src/utils/package-manager.ts +41 -19
  271. package/src/utils/python-uv.ts +96 -0
  272. package/src/version.ts +13 -0
@@ -1 +1 @@
1
- {"version":3,"file":"functions-generator.js","sourceRoot":"","sources":["../../../src/core/scaffold/functions-generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"functions-generator.js","sourceRoot":"","sources":["../../../src/core/scaffold/functions-generator.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  /**
2
2
  * Zod モデルファイルを解析して、スキーマ情報を抽出する
3
3
  */
4
+ import { ModelConnectorConfig, ModelAuthPolicy } from "../../types";
4
5
  export interface ModelInfo {
5
6
  name: string;
6
7
  displayName: string;
@@ -11,11 +12,15 @@ export interface ModelInfo {
11
12
  hasCreatedAt: boolean;
12
13
  hasUpdatedAt: boolean;
13
14
  nestedSchemaRefs: NestedSchemaRef[];
15
+ connectorConfig?: ModelConnectorConfig;
16
+ authPolicy?: ModelAuthPolicy;
17
+ partitionKey: string;
14
18
  }
15
19
  export interface FieldInfo {
16
20
  name: string;
17
21
  type: string;
18
22
  isOptional: boolean;
23
+ isNullable?: boolean;
19
24
  isArray: boolean;
20
25
  enumValues?: string[];
21
26
  isForeignKey?: boolean;
@@ -49,6 +54,21 @@ export declare function toPascalCase(str: string): string;
49
54
  * 文字列を camelCase に変換
50
55
  */
51
56
  export declare function toCamelCase(str: string): string;
57
+ /**
58
+ * モデルファイルから connectorConfig エクスポートを静的解析で抽出する
59
+ */
60
+ export declare function parseConnectorConfig(content: string): ModelConnectorConfig | undefined;
61
+ /**
62
+ * authPolicy をモデルファイルから抽出
63
+ * パターン: export const authPolicy = { roles: [...], read: [...], write: [...] }
64
+ */
65
+ export declare function parseAuthPolicy(content: string): ModelAuthPolicy | undefined;
66
+ /**
67
+ * パーティションキーを抽出する
68
+ * export const partitionKey = '/tenantId' のようなエクスポートを検出
69
+ * 未指定の場合はデフォルト '/id' を返す
70
+ */
71
+ export declare function parsePartitionKey(content: string): string;
52
72
  /**
53
73
  * 文字列を kebab-case に変換
54
74
  */
@@ -1 +1 @@
1
- {"version":3,"file":"model-parser.d.ts","sourceRoot":"","sources":["../../../src/core/scaffold/model-parser.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,KAAK,EAAE,OAAO,CAAC;IACf,YAAY,EAAE,OAAO,CAAC;IACtB,YAAY,EAAE,OAAO,CAAC;IACtB,gBAAgB,EAAE,eAAe,EAAE,CAAC;CACrC;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,OAAO,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,OAAO,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAqD1E;AAmdD;;GAEG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAKhD;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAG/C;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAI/C;AAED;;;;GAIG;AACH,wBAAsB,YAAY,CAAC,SAAS,GAAE,MAAwB,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,CAwB5F"}
1
+ {"version":3,"file":"model-parser.d.ts","sourceRoot":"","sources":["../../../src/core/scaffold/model-parser.ts"],"names":[],"mappings":"AAAA;;GAEG;AAOH,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEpE,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,KAAK,EAAE,OAAO,CAAC;IACf,YAAY,EAAE,OAAO,CAAC;IACtB,YAAY,EAAE,OAAO,CAAC;IACtB,gBAAgB,EAAE,eAAe,EAAE,CAAC;IACpC,eAAe,CAAC,EAAE,oBAAoB,CAAC;IACvC,UAAU,CAAC,EAAE,eAAe,CAAC;IAC7B,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,OAAO,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAgF1E;AA+aD;;GAEG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAKhD;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAG/C;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,oBAAoB,GAAG,SAAS,CA2FtF;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS,CA4C5E;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAGzD;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAI/C;AAED;;;;GAIG;AACH,wBAAsB,YAAY,CAAC,SAAS,GAAE,MAAwB,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,CAwB5F"}
@@ -39,10 +39,15 @@ Object.defineProperty(exports, "__esModule", { value: true });
39
39
  exports.parseModelFile = parseModelFile;
40
40
  exports.toPascalCase = toPascalCase;
41
41
  exports.toCamelCase = toCamelCase;
42
+ exports.parseConnectorConfig = parseConnectorConfig;
43
+ exports.parseAuthPolicy = parseAuthPolicy;
44
+ exports.parsePartitionKey = parsePartitionKey;
42
45
  exports.toKebabCase = toKebabCase;
43
46
  exports.getAllModels = getAllModels;
44
47
  const fs = __importStar(require("fs"));
48
+ const child_process_1 = require("child_process");
45
49
  const path = __importStar(require("path"));
50
+ const ts = __importStar(require("typescript"));
46
51
  /**
47
52
  * モデルファイルを解析して ModelInfo を返す
48
53
  */
@@ -55,11 +60,15 @@ async function parseModelFile(modelPath) {
55
60
  // モデル名を推定(ファイル名を PascalCase に変換)
56
61
  const modelName = toPascalCase(fileName);
57
62
  // スキーマ変数名を抽出
63
+ // コメント内のコードパターンを誤認識しないよう、先にコメントを除去してから正規表現を適用する
58
64
  // パターン1: export const todoSchema = z.object({ ... }) (camelCase + Schema接尾辞)
59
65
  // パターン2: export const Todo = z.object({ ... }) (Zod公式パターン)
60
- let schemaMatch = content.match(/export\s+const\s+(\w+Schema)\s*=/);
66
+ const contentWithoutComments = content
67
+ .replace(/\/\*[\s\S]*?\*\//g, '') // ブロックコメントを除去
68
+ .replace(/\/\/.*/g, ''); // 行コメントを除去
69
+ let schemaMatch = contentWithoutComments.match(/export\s+const\s+(\w+Schema)\s*=/);
61
70
  if (!schemaMatch) {
62
- schemaMatch = content.match(/export\s+const\s+(\w+)\s*=\s*z\.object\s*\(/);
71
+ schemaMatch = contentWithoutComments.match(/export\s+const\s+(\w+)\s*=\s*z\.object\s*\(/);
63
72
  }
64
73
  if (!schemaMatch) {
65
74
  throw new Error(`Could not find exported schema in ${modelPath}. Expected patterns:\n - export const xxxSchema = z.object({ ... })\n - export const Xxx = z.object({ ... })`);
@@ -68,6 +77,12 @@ async function parseModelFile(modelPath) {
68
77
  // displayName を抽出(例: export const displayName = 'Task')
69
78
  const displayNameMatch = content.match(/export\s+const\s+displayName\s*=\s*['"]([^'"]+)['"]/);
70
79
  const displayName = displayNameMatch ? displayNameMatch[1] : modelName;
80
+ // connectorConfig を抽出(外部データソース用メタデータ)
81
+ const connectorConfig = parseConnectorConfig(content);
82
+ // authPolicy を抽出(ロールベースアクセス制御用メタデータ)
83
+ const authPolicy = parseAuthPolicy(content);
84
+ // partitionKey を抽出(Cosmos DB パーティションキー)
85
+ const partitionKey = parsePartitionKey(content);
71
86
  // ネストしたスキーマ参照を検出
72
87
  const nestedSchemaRefs = detectNestedSchemaRefs(modelPath, content, schemaName);
73
88
  // フィールド情報を抽出(動的インポートを使用)
@@ -78,6 +93,16 @@ async function parseModelFile(modelPath) {
78
93
  const hasId = fields.some(f => f.name === "id");
79
94
  const hasCreatedAt = fields.some(f => f.name === "createdAt");
80
95
  const hasUpdatedAt = fields.some(f => f.name === "updatedAt");
96
+ // パーティションキーのバリデーション
97
+ if (partitionKey !== '/id') {
98
+ if (!partitionKey.startsWith('/')) {
99
+ console.warn(`⚠️ [${modelName}] partitionKey should start with '/': got '${partitionKey}'`);
100
+ }
101
+ const pkField = partitionKey.startsWith('/') ? partitionKey.slice(1) : partitionKey;
102
+ if (fields.length > 0 && !fields.some(f => f.name === pkField)) {
103
+ console.warn(`⚠️ [${modelName}] partitionKey field '${pkField}' not found in schema fields`);
104
+ }
105
+ }
81
106
  return {
82
107
  name: modelName,
83
108
  displayName,
@@ -88,6 +113,9 @@ async function parseModelFile(modelPath) {
88
113
  hasCreatedAt,
89
114
  hasUpdatedAt,
90
115
  nestedSchemaRefs,
116
+ partitionKey,
117
+ ...(connectorConfig ? { connectorConfig } : {}),
118
+ ...(authPolicy ? { authPolicy } : {}),
91
119
  };
92
120
  }
93
121
  /**
@@ -257,67 +285,46 @@ function mergeNestedSchemaInfo(fields, nestedRefs) {
257
285
  }
258
286
  }
259
287
  }
288
+ function compileModelModule(modelPath, directory, modules = new Map()) {
289
+ const sourcePath = path.resolve(modelPath);
290
+ const existing = modules.get(sourcePath);
291
+ if (existing)
292
+ return existing;
293
+ const outputPath = path.join(directory, `model-${modules.size}.mjs`);
294
+ modules.set(sourcePath, outputPath);
295
+ const output = ts.transpileModule(fs.readFileSync(sourcePath, "utf8"), {
296
+ fileName: sourcePath,
297
+ compilerOptions: { target: ts.ScriptTarget.ES2022, module: ts.ModuleKind.ESNext },
298
+ transformers: {
299
+ after: [context => source => {
300
+ const visit = node => {
301
+ if (ts.isStringLiteral(node) &&
302
+ (ts.isImportDeclaration(node.parent) || ts.isExportDeclaration(node.parent)) &&
303
+ node.text.startsWith(".")) {
304
+ const base = path.resolve(path.dirname(sourcePath), node.text);
305
+ const candidates = [base.replace(/\.js$/, ".ts"), `${base}.ts`, path.join(base, "index.ts"), base];
306
+ const dependency = candidates.find(candidate => fs.existsSync(candidate) && fs.statSync(candidate).isFile());
307
+ if (!dependency)
308
+ throw new Error(`Cannot resolve ${node.text} from ${sourcePath}`);
309
+ const compiled = compileModelModule(dependency, directory, modules);
310
+ return context.factory.createStringLiteral(`./${path.basename(compiled)}`);
311
+ }
312
+ return ts.visitEachChild(node, visit, context);
313
+ };
314
+ return ts.visitNode(source, visit);
315
+ }],
316
+ },
317
+ });
318
+ fs.writeFileSync(outputPath, output.outputText);
319
+ return outputPath;
320
+ }
260
321
  /**
261
322
  * Zodスキーマから動的にフィールド情報を抽出
262
323
  */
263
324
  async function extractFieldsFromSchema(modelPath, schemaName) {
264
325
  const fields = [];
326
+ let tempDirectory;
265
327
  try {
266
- // child_processでtsxを実行
267
- const { execSync } = require('child_process');
268
- const { tmpdir } = require('os');
269
- const { join } = require('path');
270
- const { writeFileSync, unlinkSync, readFileSync } = require('fs');
271
- // モデルファイルの内容を読み込む
272
- let modelContent = readFileSync(modelPath, 'utf8');
273
- const modelDir = path.dirname(path.resolve(modelPath));
274
- // ローカル相対インポートを絶対パスの .mjs import 文に変換して保持
275
- // パターン: import { categorySchema } from './category'
276
- const localImports = [];
277
- modelContent = modelContent.replace(/import\s*\{([^}]+)\}\s*from\s*['"](\.[^'"]+)['"]\s*;?/g, (_match, imports, importPath) => {
278
- // インポートされた変数名を取得
279
- const importedNames = imports.split(',').map(s => {
280
- const trimmed = s.trim();
281
- // 'as' エイリアスに対応
282
- return trimmed.split(/\s+as\s+/).pop().trim();
283
- }).filter(s => s.length > 0);
284
- // 相対パスを絶対パスに解決
285
- let resolvedPath = path.resolve(modelDir, importPath);
286
- if (!resolvedPath.endsWith('.ts') && !resolvedPath.endsWith('.js')) {
287
- resolvedPath += '.ts';
288
- }
289
- if (fs.existsSync(resolvedPath)) {
290
- // インポート先の内容を読み込み、インライン化する
291
- let refContent = readFileSync(resolvedPath, 'utf8');
292
- // インポート先の import 文を除去
293
- refContent = refContent.replace(/import\s+.*?\s+from\s+['"](?!\.).*?['"];?\s*/g, '');
294
- refContent = refContent.replace(/import\s+.*?\s+from\s+['"]\..*?['"];?\s*/g, '');
295
- refContent = refContent.replace(/export\s+(const|type|interface|class|function)\s+/g, '$1 ');
296
- refContent = refContent.replace(/^type\s+\w+\s*=\s*[^;]+;/gm, '');
297
- refContent = refContent.replace(/^interface\s+\w+\s*\{[\s\S]*?\}/gm, '');
298
- refContent = refContent.replace(/\/\*[\s\S]*?\*\//g, '');
299
- refContent = refContent.replace(/\/\/.*/g, '');
300
- // インポートされていない const 宣言を除去(displayName 等の重複を防ぐ)
301
- const importedNameSet = new Set(importedNames);
302
- refContent = refContent.replace(/^const\s+(\w+)\s*=\s*[^;]+;/gm, (constMatch, varName) => {
303
- return importedNameSet.has(varName) ? constMatch : '';
304
- });
305
- localImports.push(refContent.trim());
306
- }
307
- return ''; // 元のインポート文は除去
308
- });
309
- // zod 以外のパッケージインポートを除去
310
- modelContent = modelContent.replace(/import\s+.*?\s+from\s+['"].*?['"];?\s*/g, '');
311
- modelContent = modelContent.replace(/export\s+(const|type|interface|class|function)\s+/g, '$1 ');
312
- // type宣言を削除(ランタイムでは不要)
313
- modelContent = modelContent.replace(/^type\s+\w+\s*=\s*[^;]+;/gm, '');
314
- // interface宣言を削除(ランタイムでは不要、複数行対応)
315
- modelContent = modelContent.replace(/^interface\s+\w+\s*\{[\s\S]*?\}/gm, '');
316
- // コメントを削除
317
- modelContent = modelContent.replace(/\/\*[\s\S]*?\*\//g, '');
318
- modelContent = modelContent.replace(/\/\/.*/g, '');
319
- // インライン化したローカルインポートを先頭に追加
320
- const inlinedDeps = localImports.length > 0 ? localImports.join('\n\n') + '\n\n' : '';
321
328
  // プロジェクトルートを探す(package.jsonがある場所)
322
329
  let projectRoot = path.dirname(modelPath);
323
330
  while (projectRoot !== path.dirname(projectRoot)) {
@@ -327,16 +334,11 @@ async function extractFieldsFromSchema(modelPath, schemaName) {
327
334
  projectRoot = path.dirname(projectRoot);
328
335
  }
329
336
  // プロジェクトルート内に一時スクリプトファイルを作成
330
- const tempScript = path.join(projectRoot, `.swallowkit-parser-${Date.now()}.mjs`);
337
+ tempDirectory = fs.mkdtempSync(path.join(projectRoot, '.swallowkit-parser-'));
338
+ const compiledModel = compileModelModule(modelPath, tempDirectory);
339
+ const tempScript = path.join(tempDirectory, 'inspect.mjs');
331
340
  const scriptCode = `
332
- import { z } from 'zod/v4';
333
-
334
- // インライン化した依存スキーマ
335
- ${inlinedDeps}
336
- // モデルファイルの内容を評価
337
- ${modelContent}
338
-
339
- const schema = ${schemaName};
341
+ import { ${schemaName} as schema } from './${path.basename(compiledModel)}';
340
342
 
341
343
  // Zod v3とv4の両方に対応
342
344
  const isObject = (schema && schema._def &&
@@ -348,10 +350,11 @@ if (isObject) {
348
350
  const field = shape[key];
349
351
  let type = 'string';
350
352
  let isOptional = false;
353
+ let isNullable = false;
351
354
  let isArray = false;
352
355
  let enumValues = undefined;
353
356
 
354
- // ZodOptional, ZodDefault, ZodEffects を unwrap
357
+ // ZodOptional, ZodNullable, ZodDefault, ZodEffects を unwrap
355
358
  let fieldDef = field;
356
359
  const getTypeName = (def) => def?._def?.typeName || def?.constructor?.name || '';
357
360
 
@@ -365,6 +368,10 @@ if (isObject) {
365
368
  isOptional = true;
366
369
  fieldDef = fieldDef._def.innerType;
367
370
  unwrapped = true;
371
+ } else if (typeName === 'ZodNullable') {
372
+ isNullable = true;
373
+ fieldDef = fieldDef._def.innerType;
374
+ unwrapped = true;
368
375
  } else if (typeName === 'ZodDefault') {
369
376
  // .default() は optional と同様に扱う
370
377
  isOptional = true;
@@ -380,7 +387,7 @@ if (isObject) {
380
387
  // ZodArray をチェック
381
388
  if (getTypeName(fieldDef) === 'ZodArray') {
382
389
  isArray = true;
383
- fieldDef = fieldDef._def.type || fieldDef._def.element;
390
+ fieldDef = fieldDef._def.element || fieldDef._def.type;
384
391
  }
385
392
 
386
393
  // 基本型を判定
@@ -421,20 +428,15 @@ if (isObject) {
421
428
  isForeignKey = true;
422
429
  }
423
430
 
424
- return { name: key, type, isOptional, isArray, enumValues, isForeignKey, referencedModel };
431
+ return { name: key, type, isOptional, isNullable, isArray, enumValues, isForeignKey, referencedModel };
425
432
  });
426
433
 
427
434
  console.log(JSON.stringify(fields));
428
435
  }
429
436
  `;
430
- writeFileSync(tempScript, scriptCode, 'utf8');
437
+ fs.writeFileSync(tempScript, scriptCode, 'utf8');
431
438
  try {
432
- // プロジェクトルートでtsxを実行 (npm/pnpm 両対応)
433
- // Detect package manager from project lockfile
434
- const { detectFromProject, getCommands } = require('../../utils/package-manager');
435
- const pm = detectFromProject(projectRoot);
436
- const pmCmd = getCommands(pm);
437
- const result = execSync(`${pmCmd.exec} tsx "${tempScript}"`, {
439
+ const result = (0, child_process_1.execFileSync)(process.execPath, [tempScript], {
438
440
  encoding: 'utf8',
439
441
  cwd: projectRoot,
440
442
  });
@@ -447,7 +449,7 @@ if (isObject) {
447
449
  finally {
448
450
  // 一時ファイルを削除
449
451
  try {
450
- unlinkSync(tempScript);
452
+ fs.unlinkSync(tempScript);
451
453
  }
452
454
  catch (e) {
453
455
  // ファイル削除失敗は無視
@@ -455,11 +457,14 @@ if (isObject) {
455
457
  }
456
458
  }
457
459
  catch (error) {
458
- // tsxが使えない場合は正規表現フォールバック
459
460
  console.warn('Failed to use dynamic import, falling back to regex parsing');
460
461
  console.warn('Error:', error);
461
462
  return extractFieldsWithRegex(modelPath, schemaName);
462
463
  }
464
+ finally {
465
+ if (tempDirectory)
466
+ fs.rmSync(tempDirectory, { recursive: true, force: true });
467
+ }
463
468
  return fields;
464
469
  }
465
470
  /**
@@ -489,6 +494,7 @@ function extractFieldsWithRegex(modelPath, schemaName) {
489
494
  name: fieldName,
490
495
  type: mapZodTypeToTs(zodType),
491
496
  isOptional: fieldDef.includes(".optional()"),
497
+ isNullable: fieldDef.includes(".nullable()"),
492
498
  isArray: fieldDef.includes(".array()"),
493
499
  });
494
500
  }
@@ -524,6 +530,151 @@ function toCamelCase(str) {
524
530
  const pascal = toPascalCase(str);
525
531
  return pascal.charAt(0).toLowerCase() + pascal.slice(1);
526
532
  }
533
+ /**
534
+ * モデルファイルから connectorConfig エクスポートを静的解析で抽出する
535
+ */
536
+ function parseConnectorConfig(content) {
537
+ // export const connectorConfig = { ... } を検出
538
+ const connectorMatch = content.match(/export\s+const\s+connectorConfig\s*=\s*\{/);
539
+ if (!connectorMatch) {
540
+ return undefined;
541
+ }
542
+ // connectorConfig オブジェクトの内容を抽出
543
+ const startIdx = content.indexOf('{', connectorMatch.index);
544
+ let braceCount = 1;
545
+ let endIdx = startIdx + 1;
546
+ while (braceCount > 0 && endIdx < content.length) {
547
+ if (content[endIdx] === '{')
548
+ braceCount++;
549
+ if (content[endIdx] === '}')
550
+ braceCount--;
551
+ endIdx++;
552
+ }
553
+ const objectStr = content.substring(startIdx, endIdx);
554
+ // connector 名を抽出
555
+ const connectorNameMatch = objectStr.match(/connector\s*:\s*['"]([^'"]+)['"]/);
556
+ if (!connectorNameMatch) {
557
+ return undefined;
558
+ }
559
+ const connector = connectorNameMatch[1];
560
+ // operations を抽出
561
+ const opsMatch = objectStr.match(/operations\s*:\s*\[([^\]]*)\]/);
562
+ const operations = [];
563
+ if (opsMatch) {
564
+ const opsStr = opsMatch[1];
565
+ const opEntries = opsStr.match(/['"]([^'"]+)['"]/g);
566
+ if (opEntries) {
567
+ for (const entry of opEntries) {
568
+ operations.push(entry.replace(/['"]/g, ''));
569
+ }
570
+ }
571
+ }
572
+ // table を抽出(RDB 固有)
573
+ const tableMatch = objectStr.match(/table\s*:\s*['"]([^'"]+)['"]/);
574
+ // idColumn を抽出(RDB 固有)
575
+ const idColumnMatch = objectStr.match(/idColumn\s*:\s*['"]([^'"]+)['"]/);
576
+ // endpoints を抽出(API 固有)— endpoint値に {id} 等のプレースホルダが含まれるためbrace-countingで抽出
577
+ let endpoints;
578
+ const endpointsStart = objectStr.match(/endpoints\s*:\s*\{/);
579
+ if (endpointsStart) {
580
+ const epStartIdx = objectStr.indexOf('{', endpointsStart.index);
581
+ let epBraceCount = 1;
582
+ let epEndIdx = epStartIdx + 1;
583
+ while (epBraceCount > 0 && epEndIdx < objectStr.length) {
584
+ const ch = objectStr[epEndIdx];
585
+ // 文字列内の波括弧をスキップ
586
+ if (ch === "'" || ch === '"') {
587
+ epEndIdx++;
588
+ while (epEndIdx < objectStr.length && objectStr[epEndIdx] !== ch) {
589
+ epEndIdx++;
590
+ }
591
+ }
592
+ else if (ch === '{') {
593
+ epBraceCount++;
594
+ }
595
+ else if (ch === '}') {
596
+ epBraceCount--;
597
+ }
598
+ epEndIdx++;
599
+ }
600
+ const epStr = objectStr.substring(epStartIdx + 1, epEndIdx - 1);
601
+ endpoints = {};
602
+ const endpointEntries = epStr.matchAll(/(\w+)\s*:\s*['"]([^'"]+)['"]/g);
603
+ for (const entry of endpointEntries) {
604
+ endpoints[entry[1]] = entry[2];
605
+ }
606
+ }
607
+ if (tableMatch) {
608
+ // RDB コネクタ
609
+ return {
610
+ connector,
611
+ operations: operations,
612
+ table: tableMatch[1],
613
+ ...(idColumnMatch ? { idColumn: idColumnMatch[1] } : {}),
614
+ };
615
+ }
616
+ // API コネクタ
617
+ return {
618
+ connector,
619
+ operations: operations,
620
+ ...(endpoints ? { endpoints } : {}),
621
+ };
622
+ }
623
+ /**
624
+ * authPolicy をモデルファイルから抽出
625
+ * パターン: export const authPolicy = { roles: [...], read: [...], write: [...] }
626
+ */
627
+ function parseAuthPolicy(content) {
628
+ const policyMatch = content.match(/export\s+const\s+authPolicy\s*=\s*\{/);
629
+ if (!policyMatch) {
630
+ return undefined;
631
+ }
632
+ const startIdx = content.indexOf('{', policyMatch.index);
633
+ let braceCount = 1;
634
+ let endIdx = startIdx + 1;
635
+ while (braceCount > 0 && endIdx < content.length) {
636
+ if (content[endIdx] === '{')
637
+ braceCount++;
638
+ if (content[endIdx] === '}')
639
+ braceCount--;
640
+ endIdx++;
641
+ }
642
+ const objectStr = content.substring(startIdx, endIdx);
643
+ const extractRoles = (key) => {
644
+ const match = objectStr.match(new RegExp(`${key}\\s*:\\s*\\[([^\\]]*)\\]`));
645
+ if (!match)
646
+ return undefined;
647
+ const entries = match[1].match(/['"]([^'"]+)['"]/g);
648
+ if (!entries)
649
+ return [];
650
+ return entries.map(e => e.replace(/['"]/g, ''));
651
+ };
652
+ const roles = extractRoles('roles');
653
+ const read = extractRoles('read');
654
+ const write = extractRoles('write');
655
+ const extractName = (key) => objectStr.match(new RegExp(`${key}\\s*:\\s*['"]([^'"]+)['"]`))?.[1];
656
+ const namedPolicy = extractName('policy');
657
+ const namedRead = extractName('read');
658
+ const namedWrite = extractName('write');
659
+ if (!roles && !read && !write && !namedPolicy && !namedRead && !namedWrite) {
660
+ return undefined;
661
+ }
662
+ return {
663
+ ...(roles ? { roles } : {}),
664
+ ...(namedRead ? { read: namedRead } : read ? { read } : {}),
665
+ ...(namedWrite ? { write: namedWrite } : write ? { write } : {}),
666
+ ...(namedPolicy ? { policy: namedPolicy } : {}),
667
+ };
668
+ }
669
+ /**
670
+ * パーティションキーを抽出する
671
+ * export const partitionKey = '/tenantId' のようなエクスポートを検出
672
+ * 未指定の場合はデフォルト '/id' を返す
673
+ */
674
+ function parsePartitionKey(content) {
675
+ const match = content.match(/export\s+const\s+partitionKey\s*=\s*['"]([^'"]+)['"]/);
676
+ return match ? match[1] : '/id';
677
+ }
527
678
  /**
528
679
  * 文字列を kebab-case に変換
529
680
  */
@@ -1 +1 @@
1
- {"version":3,"file":"model-parser.js","sourceRoot":"","sources":["../../../src/core/scaffold/model-parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"model-parser.js","sourceRoot":"","sources":["../../../src/core/scaffold/model-parser.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import { BackendLanguage } from "../../types";
2
+ import { FileOperationSession } from "../operations/file-session";
3
+ import { ModelInfo } from "./model-parser";
4
+ export declare const NSWAG_CONSOLECORE_VERSION = "14.7.1";
5
+ export declare const PYTHON_SCHEMA_CODEGEN_REQUIREMENT = "datamodel-code-generator>=0.44.0,<1.0.0";
6
+ export declare function buildCSharpCodegenToolManifestSource(): string;
7
+ export declare function buildPythonCodegenRequirementsSource(): string;
8
+ export declare function getCSharpSchemaModelPath(outputDir: string, modelName: string): string;
9
+ export declare function getCSharpSchemaOptionPath(outputDir: string): string;
10
+ export declare function getPythonSchemaModelPath(outputDir: string, modelName: string): string;
11
+ export declare function getCSharpNativeGeneratorArgs(specPath: string, outputPath: string): string[];
12
+ export declare function getPythonNativeGeneratorArgs(specPath: string, outputPath: string): string[];
13
+ /**
14
+ * 外部 codegen toolchain の事前検証。プロジェクトには一切書き込まず、
15
+ * OS 一時ディレクトリ上で NSwag / datamodel-code-generator を実行して失敗を早期検出する。
16
+ */
17
+ export declare function validateNativeSchemaToolchain(models: ModelInfo[], rootModel: ModelInfo, backendLanguage: Exclude<BackendLanguage, "typescript">, functionsRoot: string): Promise<void>;
18
+ export declare function generateLanguageSchemaArtifacts(models: ModelInfo[], rootModel: ModelInfo, functionsDir: string, backendLanguage: Exclude<BackendLanguage, "typescript">, session?: FileOperationSession): Promise<void>;
19
+ //# sourceMappingURL=native-schema-generator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"native-schema-generator.d.ts","sourceRoot":"","sources":["../../../src/core/scaffold/native-schema-generator.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,SAAS,EAAe,MAAM,gBAAgB,CAAC;AAYxD,eAAO,MAAM,yBAAyB,WAAW,CAAC;AAClD,eAAO,MAAM,iCAAiC,4CAA4C,CAAC;AA4C3F,wBAAgB,oCAAoC,IAAI,MAAM,CAe7D;AAED,wBAAgB,oCAAoC,IAAI,MAAM,CAE7D;AAyBD,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAErF;AAED,wBAAgB,yBAAyB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAEnE;AAED,wBAAgB,wBAAwB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAErF;AAED,wBAAgB,4BAA4B,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,CAkB3F;AAED,wBAAgB,4BAA4B,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,CAkB3F;AAqkBD;;;GAGG;AACH,wBAAsB,6BAA6B,CACjD,MAAM,EAAE,SAAS,EAAE,EACnB,SAAS,EAAE,SAAS,EACpB,eAAe,EAAE,OAAO,CAAC,eAAe,EAAE,YAAY,CAAC,EACvD,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,IAAI,CAAC,CAmDf;AA8DD,wBAAsB,+BAA+B,CACnD,MAAM,EAAE,SAAS,EAAE,EACnB,SAAS,EAAE,SAAS,EACpB,YAAY,EAAE,MAAM,EACpB,eAAe,EAAE,OAAO,CAAC,eAAe,EAAE,YAAY,CAAC,EACvD,OAAO,GAAE,oBAAyD,GACjE,OAAO,CAAC,IAAI,CAAC,CAqCf"}