swallowkit 2.0.0-alpha.1 → 2.0.0-alpha.11

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 (224) hide show
  1. package/README.ja.md +14 -0
  2. package/README.md +14 -0
  3. package/dist/cli/commands/add-auth.js +37 -6
  4. package/dist/cli/commands/add-auth.js.map +1 -1
  5. package/dist/cli/commands/configure-mcp.d.ts +12 -0
  6. package/dist/cli/commands/configure-mcp.d.ts.map +1 -0
  7. package/dist/cli/commands/configure-mcp.js +42 -0
  8. package/dist/cli/commands/configure-mcp.js.map +1 -0
  9. package/dist/cli/commands/dev.d.ts +2 -2
  10. package/dist/cli/commands/dev.d.ts.map +1 -1
  11. package/dist/cli/commands/dev.js +39 -27
  12. package/dist/cli/commands/dev.js.map +1 -1
  13. package/dist/cli/commands/init.d.ts +8 -2
  14. package/dist/cli/commands/init.d.ts.map +1 -1
  15. package/dist/cli/commands/init.js +67 -132
  16. package/dist/cli/commands/init.js.map +1 -1
  17. package/dist/cli/commands/migrations.d.ts.map +1 -1
  18. package/dist/cli/commands/migrations.js +25 -0
  19. package/dist/cli/commands/migrations.js.map +1 -1
  20. package/dist/cli/commands/provision.d.ts +5 -0
  21. package/dist/cli/commands/provision.d.ts.map +1 -1
  22. package/dist/cli/commands/provision.js +278 -55
  23. package/dist/cli/commands/provision.js.map +1 -1
  24. package/dist/cli/commands/scaffold.d.ts +4 -0
  25. package/dist/cli/commands/scaffold.d.ts.map +1 -1
  26. package/dist/cli/commands/scaffold.js +85 -3
  27. package/dist/cli/commands/scaffold.js.map +1 -1
  28. package/dist/cli/index.d.ts +2 -0
  29. package/dist/cli/index.d.ts.map +1 -1
  30. package/dist/cli/index.js +43 -5
  31. package/dist/cli/index.js.map +1 -1
  32. package/dist/core/operations/create-model.d.ts +2 -0
  33. package/dist/core/operations/create-model.d.ts.map +1 -1
  34. package/dist/core/operations/create-model.js +60 -8
  35. package/dist/core/operations/create-model.js.map +1 -1
  36. package/dist/core/operations/migration-generator.d.ts.map +1 -1
  37. package/dist/core/operations/migration-generator.js +12 -1
  38. package/dist/core/operations/migration-generator.js.map +1 -1
  39. package/dist/core/operations/model-migration.d.ts +22 -0
  40. package/dist/core/operations/model-migration.d.ts.map +1 -0
  41. package/dist/core/operations/model-migration.js +36 -0
  42. package/dist/core/operations/model-migration.js.map +1 -0
  43. package/dist/core/operations/provision-deployment.d.ts +52 -0
  44. package/dist/core/operations/provision-deployment.d.ts.map +1 -0
  45. package/dist/core/operations/provision-deployment.js +164 -0
  46. package/dist/core/operations/provision-deployment.js.map +1 -0
  47. package/dist/core/operations/provision-operations.d.ts +62 -6
  48. package/dist/core/operations/provision-operations.d.ts.map +1 -1
  49. package/dist/core/operations/provision-operations.js +653 -115
  50. package/dist/core/operations/provision-operations.js.map +1 -1
  51. package/dist/core/operations/scaffold-apply.d.ts +1 -0
  52. package/dist/core/operations/scaffold-apply.d.ts.map +1 -1
  53. package/dist/core/operations/scaffold-apply.js +1 -0
  54. package/dist/core/operations/scaffold-apply.js.map +1 -1
  55. package/dist/core/operations/scaffold-machine.d.ts +1 -0
  56. package/dist/core/operations/scaffold-machine.d.ts.map +1 -1
  57. package/dist/core/operations/scaffold-machine.js.map +1 -1
  58. package/dist/core/operations/scaffold-plan.d.ts +2 -0
  59. package/dist/core/operations/scaffold-plan.d.ts.map +1 -1
  60. package/dist/core/operations/scaffold-plan.js +3 -1
  61. package/dist/core/operations/scaffold-plan.js.map +1 -1
  62. package/dist/core/project/agent-instructions.d.ts.map +1 -1
  63. package/dist/core/project/agent-instructions.js +4 -1
  64. package/dist/core/project/agent-instructions.js.map +1 -1
  65. package/dist/core/project/boundaries.d.ts +5 -2
  66. package/dist/core/project/boundaries.d.ts.map +1 -1
  67. package/dist/core/project/boundaries.js +51 -20
  68. package/dist/core/project/boundaries.js.map +1 -1
  69. package/dist/core/project/capabilities.d.ts +10 -0
  70. package/dist/core/project/capabilities.d.ts.map +1 -1
  71. package/dist/core/project/capabilities.js +38 -6
  72. package/dist/core/project/capabilities.js.map +1 -1
  73. package/dist/core/project/home-page.d.ts +4 -0
  74. package/dist/core/project/home-page.d.ts.map +1 -0
  75. package/dist/core/project/home-page.js +113 -0
  76. package/dist/core/project/home-page.js.map +1 -0
  77. package/dist/core/project/mcp-config.d.ts +26 -0
  78. package/dist/core/project/mcp-config.d.ts.map +1 -0
  79. package/dist/core/project/mcp-config.js +117 -0
  80. package/dist/core/project/mcp-config.js.map +1 -0
  81. package/dist/core/project/react-project.d.ts +1 -1
  82. package/dist/core/project/react-project.d.ts.map +1 -1
  83. package/dist/core/project/react-project.js +46 -25
  84. package/dist/core/project/react-project.js.map +1 -1
  85. package/dist/core/project/state.d.ts +7 -0
  86. package/dist/core/project/state.d.ts.map +1 -1
  87. package/dist/core/project/state.js +86 -0
  88. package/dist/core/project/state.js.map +1 -1
  89. package/dist/core/project/workflows.d.ts.map +1 -1
  90. package/dist/core/project/workflows.js +72 -12
  91. package/dist/core/project/workflows.js.map +1 -1
  92. package/dist/core/scaffold/auth-generator.d.ts.map +1 -1
  93. package/dist/core/scaffold/auth-generator.js +26 -27
  94. package/dist/core/scaffold/auth-generator.js.map +1 -1
  95. package/dist/core/scaffold/model-parser.d.ts +23 -0
  96. package/dist/core/scaffold/model-parser.d.ts.map +1 -1
  97. package/dist/core/scaffold/model-parser.js +407 -137
  98. package/dist/core/scaffold/model-parser.js.map +1 -1
  99. package/dist/core/scaffold/native-schema-generator.d.ts +13 -0
  100. package/dist/core/scaffold/native-schema-generator.d.ts.map +1 -1
  101. package/dist/core/scaffold/native-schema-generator.js +294 -91
  102. package/dist/core/scaffold/native-schema-generator.js.map +1 -1
  103. package/dist/core/scaffold/openapi-generator.d.ts +5 -0
  104. package/dist/core/scaffold/openapi-generator.d.ts.map +1 -1
  105. package/dist/core/scaffold/openapi-generator.js +53 -3
  106. package/dist/core/scaffold/openapi-generator.js.map +1 -1
  107. package/dist/core/scaffold/ui-generator.d.ts +0 -3
  108. package/dist/core/scaffold/ui-generator.d.ts.map +1 -1
  109. package/dist/core/scaffold/ui-generator.js +68 -7
  110. package/dist/core/scaffold/ui-generator.js.map +1 -1
  111. package/dist/core/verify/index.d.ts +4 -3
  112. package/dist/core/verify/index.d.ts.map +1 -1
  113. package/dist/core/verify/index.js +122 -5
  114. package/dist/core/verify/index.js.map +1 -1
  115. package/dist/machine/contracts.d.ts +1 -0
  116. package/dist/machine/contracts.d.ts.map +1 -1
  117. package/dist/machine/errors.d.ts +3 -2
  118. package/dist/machine/errors.d.ts.map +1 -1
  119. package/dist/machine/errors.js +2 -1
  120. package/dist/machine/errors.js.map +1 -1
  121. package/dist/machine/index.d.ts.map +1 -1
  122. package/dist/machine/index.js +59 -28
  123. package/dist/machine/index.js.map +1 -1
  124. package/dist/mcp/index.d.ts +6 -4
  125. package/dist/mcp/index.d.ts.map +1 -1
  126. package/dist/mcp/index.js +210 -25
  127. package/dist/mcp/index.js.map +1 -1
  128. package/dist/mcp/version-selection.d.ts +55 -0
  129. package/dist/mcp/version-selection.d.ts.map +1 -0
  130. package/dist/mcp/version-selection.js +152 -0
  131. package/dist/mcp/version-selection.js.map +1 -0
  132. package/dist/utils/azure-cli.d.ts +56 -0
  133. package/dist/utils/azure-cli.d.ts.map +1 -0
  134. package/dist/utils/azure-cli.js +326 -0
  135. package/dist/utils/azure-cli.js.map +1 -0
  136. package/dist/utils/azure-diagnostics.d.ts +16 -0
  137. package/dist/utils/azure-diagnostics.d.ts.map +1 -0
  138. package/dist/utils/azure-diagnostics.js +68 -0
  139. package/dist/utils/azure-diagnostics.js.map +1 -0
  140. package/dist/utils/package-manager.js +2 -2
  141. package/dist/utils/package-manager.js.map +1 -1
  142. package/dist/utils/python-uv.d.ts +5 -7
  143. package/dist/utils/python-uv.d.ts.map +1 -1
  144. package/dist/utils/python-uv.js +50 -24
  145. package/dist/utils/python-uv.js.map +1 -1
  146. package/dist/utils/react-dev.d.ts +4 -0
  147. package/dist/utils/react-dev.d.ts.map +1 -0
  148. package/dist/utils/react-dev.js +35 -0
  149. package/dist/utils/react-dev.js.map +1 -0
  150. package/dist/utils/semver.d.ts +14 -0
  151. package/dist/utils/semver.d.ts.map +1 -0
  152. package/dist/utils/semver.js +61 -0
  153. package/dist/utils/semver.js.map +1 -0
  154. package/package.json +6 -3
  155. package/src/__tests__/__snapshots__/boundaries.test.ts.snap +154 -0
  156. package/src/__tests__/agent-instructions.test.ts +93 -0
  157. package/src/__tests__/agent-loop-phase34.test.ts +143 -8
  158. package/src/__tests__/auth.test.ts +9 -0
  159. package/src/__tests__/azure-cli.test.ts +202 -0
  160. package/src/__tests__/boundaries.test.ts +42 -0
  161. package/src/__tests__/csharp-schema.test.ts +261 -0
  162. package/src/__tests__/dev.test.ts +13 -6
  163. package/src/__tests__/fixtures/az wrapper.cmd +2 -0
  164. package/src/__tests__/fixtures/azure-cli.cjs +153 -0
  165. package/src/__tests__/fixtures/provision-runner.cjs +28 -0
  166. package/src/__tests__/generated-project-matrix.test.ts +789 -0
  167. package/src/__tests__/home-page.test.ts +50 -0
  168. package/src/__tests__/init.test.ts +116 -0
  169. package/src/__tests__/mcp-version.test.ts +262 -0
  170. package/src/__tests__/mcp.test.ts +120 -3
  171. package/src/__tests__/multi-auth.test.ts +115 -4
  172. package/src/__tests__/package-manager.test.ts +17 -2
  173. package/src/__tests__/plan-apply.test.ts +179 -0
  174. package/src/__tests__/provision-runtime.test.ts +722 -0
  175. package/src/__tests__/python-uv.test.ts +50 -14
  176. package/src/__tests__/python-venv.test.ts +48 -0
  177. package/src/__tests__/react-dev.test.ts +72 -0
  178. package/src/__tests__/react.test.ts +19 -0
  179. package/src/__tests__/schema-analysis.test.ts +329 -0
  180. package/src/cli/commands/add-auth.ts +36 -6
  181. package/src/cli/commands/configure-mcp.ts +54 -0
  182. package/src/cli/commands/dev.ts +40 -31
  183. package/src/cli/commands/init.ts +73 -138
  184. package/src/cli/commands/migrations.ts +22 -0
  185. package/src/cli/commands/provision.ts +294 -56
  186. package/src/cli/commands/scaffold.ts +105 -3
  187. package/src/cli/index.ts +40 -7
  188. package/src/core/operations/create-model.ts +51 -13
  189. package/src/core/operations/migration-generator.ts +14 -1
  190. package/src/core/operations/model-migration.ts +52 -0
  191. package/src/core/operations/provision-deployment.ts +183 -0
  192. package/src/core/operations/provision-operations.ts +662 -154
  193. package/src/core/operations/scaffold-apply.ts +2 -0
  194. package/src/core/operations/scaffold-machine.ts +1 -0
  195. package/src/core/operations/scaffold-plan.ts +5 -1
  196. package/src/core/project/agent-instructions.ts +4 -1
  197. package/src/core/project/agent-templates/AGENTS.md +126 -6
  198. package/src/core/project/agent-templates/CLAUDE.md +14 -1
  199. package/src/core/project/agent-templates/copilot-instructions.md +15 -1
  200. package/src/core/project/agent-templates/shared-models.instructions.md +23 -3
  201. package/src/core/project/boundaries.ts +62 -20
  202. package/src/core/project/capabilities.ts +49 -6
  203. package/src/core/project/home-page.ts +114 -0
  204. package/src/core/project/mcp-config.ts +84 -0
  205. package/src/core/project/react-project.ts +50 -28
  206. package/src/core/project/state.ts +70 -0
  207. package/src/core/project/workflows.ts +72 -12
  208. package/src/core/scaffold/auth-generator.ts +26 -27
  209. package/src/core/scaffold/model-parser.ts +413 -129
  210. package/src/core/scaffold/native-schema-generator.ts +319 -103
  211. package/src/core/scaffold/openapi-generator.ts +63 -5
  212. package/src/core/scaffold/ui-generator.ts +70 -8
  213. package/src/core/verify/index.ts +118 -6
  214. package/src/machine/contracts.ts +1 -0
  215. package/src/machine/errors.ts +4 -2
  216. package/src/machine/index.ts +65 -34
  217. package/src/mcp/index.ts +221 -31
  218. package/src/mcp/version-selection.ts +163 -0
  219. package/src/utils/azure-cli.ts +315 -0
  220. package/src/utils/azure-diagnostics.ts +75 -0
  221. package/src/utils/package-manager.ts +2 -2
  222. package/src/utils/python-uv.ts +53 -33
  223. package/src/utils/react-dev.ts +31 -0
  224. package/src/utils/semver.ts +59 -0
@@ -43,6 +43,10 @@ exports.SWALLOWKIT_STATE_DIR = void 0;
43
43
  exports.savePlanState = savePlanState;
44
44
  exports.loadPlanState = loadPlanState;
45
45
  exports.deletePlanState = deletePlanState;
46
+ exports.saveProvisionRun = saveProvisionRun;
47
+ exports.loadProvisionRun = loadProvisionRun;
48
+ exports.listProvisionRuns = listProvisionRuns;
49
+ exports.lockProvisionTarget = lockProvisionTarget;
46
50
  exports.saveLastVerifyState = saveLastVerifyState;
47
51
  exports.loadLastVerifyState = loadLastVerifyState;
48
52
  const fs = __importStar(require("fs"));
@@ -86,6 +90,88 @@ function deletePlanState(planId, projectRoot = process.cwd()) {
86
90
  fs.unlinkSync(filePath);
87
91
  }
88
92
  }
93
+ function provisionRunPath(runId, projectRoot) {
94
+ if (!/^[a-f0-9]{12}$/.test(runId))
95
+ throw new Error("Invalid provision run ID.");
96
+ return path.join(projectRoot, exports.SWALLOWKIT_STATE_DIR, "provision", `${runId}.json`);
97
+ }
98
+ function saveProvisionRun(run, projectRoot = process.cwd()) {
99
+ ensureStateDir(projectRoot);
100
+ const file = provisionRunPath(run.runId, projectRoot);
101
+ fs.mkdirSync(path.dirname(file), { recursive: true });
102
+ const temporary = `${file}.tmp-${process.pid}`;
103
+ fs.writeFileSync(temporary, `${JSON.stringify(run, null, 2)}\n`, { encoding: "utf-8", mode: 0o600 });
104
+ fs.renameSync(temporary, file);
105
+ }
106
+ function loadProvisionRun(runId, projectRoot = process.cwd()) {
107
+ const file = provisionRunPath(runId, projectRoot);
108
+ if (!fs.existsSync(file))
109
+ return null;
110
+ // Unlike a preview, discarding a corrupt execution checkpoint could replay Azure writes.
111
+ return JSON.parse(fs.readFileSync(file, "utf-8"));
112
+ }
113
+ function listProvisionRuns(projectRoot = process.cwd()) {
114
+ const directory = path.join(projectRoot, exports.SWALLOWKIT_STATE_DIR, "provision");
115
+ if (!fs.existsSync(directory))
116
+ return [];
117
+ return fs.readdirSync(directory).filter((name) => /^[a-f0-9]{12}\.json$/.test(name))
118
+ .map((name) => loadProvisionRun(name.slice(0, -5), projectRoot));
119
+ }
120
+ /** A live local executor must not share an Azure target with another executor. */
121
+ function lockProvisionTarget(key, projectRoot = process.cwd()) {
122
+ if (!/^[a-f0-9]{64}$/.test(key))
123
+ throw new Error("Invalid provision lock key.");
124
+ const directory = path.join(ensureStateDir(projectRoot), "provision");
125
+ fs.mkdirSync(directory, { recursive: true });
126
+ const file = path.join(directory, `${key}.lock`);
127
+ const create = () => {
128
+ const descriptor = fs.openSync(file, "wx", 0o600);
129
+ try {
130
+ fs.writeFileSync(descriptor, String(process.pid));
131
+ }
132
+ finally {
133
+ fs.closeSync(descriptor);
134
+ }
135
+ };
136
+ try {
137
+ create();
138
+ }
139
+ catch (error) {
140
+ if (error.code !== "EEXIST")
141
+ throw error;
142
+ const recoveryFile = `${file}.recovery`;
143
+ let descriptor;
144
+ try {
145
+ descriptor = fs.openSync(recoveryFile, "wx", 0o600);
146
+ }
147
+ catch (recoveryError) {
148
+ if (recoveryError.code !== "EEXIST")
149
+ throw recoveryError;
150
+ throw new Error("Provision lock recovery is already in progress. Inspect the checkpoint before retrying.");
151
+ }
152
+ fs.closeSync(descriptor);
153
+ try {
154
+ const pid = Number(fs.readFileSync(file, "utf-8"));
155
+ if (!Number.isInteger(pid) || pid < 1)
156
+ throw new Error("Invalid provision lock; inspect the checkpoint before removing the lock.");
157
+ try {
158
+ process.kill(pid, 0);
159
+ }
160
+ catch (probeError) {
161
+ if (probeError.code !== "ESRCH")
162
+ throw probeError;
163
+ fs.unlinkSync(file);
164
+ create();
165
+ return () => fs.unlinkSync(file);
166
+ }
167
+ throw new Error("Another local provision executor is using this Azure target. Inspect its run; do not start a second deployment.");
168
+ }
169
+ finally {
170
+ fs.unlinkSync(recoveryFile);
171
+ }
172
+ }
173
+ return () => fs.unlinkSync(file);
174
+ }
89
175
  const LAST_VERIFY_FILE = "last-verify.json";
90
176
  function saveLastVerifyState(result, projectRoot = process.cwd()) {
91
177
  const stateDir = ensureStateDir(projectRoot);
@@ -1 +1 @@
1
- {"version":3,"file":"state.js","sourceRoot":"","sources":["../../../src/core/project/state.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"state.js","sourceRoot":"","sources":["../../../src/core/project/state.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"workflows.d.ts","sourceRoot":"","sources":["../../../src/core/project/workflows.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAKH,MAAM,WAAW,WAAW;IAC1B,wCAAwC;IACxC,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW,EAAE,CAgO/D;AAED,eAAO,MAAM,aAAa,QAAwC,CAAC;AACnE,eAAO,MAAM,UAAU,QAAiC,CAAC;AAEzD,uDAAuD;AACvD,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAS9E;AAED,4DAA4D;AAC5D,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK,CAAC;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAS9F;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAS7E"}
1
+ {"version":3,"file":"workflows.d.ts","sourceRoot":"","sources":["../../../src/core/project/workflows.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAKH,MAAM,WAAW,WAAW;IAC1B,wCAAwC;IACxC,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW,EAAE,CA4R/D;AAED,eAAO,MAAM,aAAa,QAAwC,CAAC;AACnE,eAAO,MAAM,UAAU,QAAiC,CAAC;AAEzD,uDAAuD;AACvD,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAS9E;AAED,4DAA4D;AAC5D,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK,CAAC;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAS9F;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAS7E"}
@@ -55,10 +55,10 @@ function buildWorkflowDocs(runCmd) {
55
55
  fileName: "add-model.md",
56
56
  title: "Add a new model (autonomous loop)",
57
57
  skillName: "swallowkit-add-model",
58
- skillDescription: "Add a new data model to a SwallowKit project and deterministically derive CRUD Functions, BFF routes, UI pages, and Cosmos DB infra from it using the plan/apply/verify loop. Use when asked to add a model, entity, resource, table, or a new CRUD feature.",
58
+ skillDescription: "Add a new persistent model, including models with custom APIs, and generate required infrastructure. Derive CRUD Functions, BFF routes, and UI only when needed using the plan/apply/verify loop. Use when asked to add a model, entity, resource, table, or a new CRUD feature.",
59
59
  content: `# Workflow: Add a new model
60
60
 
61
- Goal: add a data model and derive CRUD/BFF/UI/infra deterministically.
61
+ Goal: add a persistent model and generate its required infrastructure, even with custom APIs. A hand-written model alone is not complete.
62
62
 
63
63
  ## Responsibility boundary
64
64
 
@@ -70,15 +70,43 @@ Goal: add a data model and derive CRUD/BFF/UI/infra deterministically.
70
70
 
71
71
  1. Create the model file (deterministic template):
72
72
  \`${runCmd} swallowkit machine generate model <name> --overwrite never\`
73
+ - This is the machine equivalent of \`${runCmd} swallowkit create-model <name>\`.
74
+ Preserve existing schemas; model creation alone does not generate a Cosmos DB container.
73
75
  2. Edit \`shared/models/<name>.ts\` — add domain fields (free-form authoring).
74
- 3. Compute the change plan (writes nothing):
76
+ - Native C#/Python types follow Zod, not names: \`z.iso.datetime()\` for dates, \`z.number().int()\` for integers.
77
+ - \`<model>Id\` fields reference a model only when it exists in \`shared/models\`; otherwise declare
78
+ \`export const references = { fieldId: 'Model' }\` (or \`false\` to opt out).
79
+ 3. When CRUD is needed, compute the change plan (writes nothing):
75
80
  \`${runCmd} swallowkit machine plan scaffold <name>\`
76
81
  - \`status: "requires-human"\` → review \`data.conflicts\`; only proceed with \`--approve\` if overwriting is intended.
77
- 4. Apply:
82
+ - Must not change Bicep/infrastructure? Add \`--skip-infra\` to plan and apply. Nothing under \`infra/\` changes and
83
+ the plan warns \`infra-skipped\`; later run \`${runCmd} swallowkit migrations add-model <name>\` to add only the container migration.
84
+ State the reason and pending infrastructure work; a passing verify does not mean the model is complete or deployment-ready.
85
+ - Read \`data.warnings\`. \`user-scoped-data-without-auth\` means generated CRUD would expose every user's documents;
86
+ add auth (\`swallowkit-add-auth\`) and owner-scoped ai-authored endpoints before exposing the model.
87
+ - \`auth-policy-without-auth\` blocks generation before file writes: configure authentication with plan/apply auth,
88
+ then re-plan. Do not remove a required policy to bypass this prerequisite.
89
+ For named \`auth.schemes\`, define named authorization policies selecting schemes/roles and reference them from
90
+ \`authPolicy.policy\` or read/write names; role-only declarations block with \`auth-policy-requires-named-policy\`.
91
+ Single-provider \`auth.provider\` supports role lists only; named policies block with \`auth-named-policy-requires-named-scheme\`.
92
+ - Scaffold appends missing exports to \`shared/index.ts\` for hand-authored models too.
93
+ Manual exports are allowed; no managed markers exist in that file.
94
+ - If custom APIs replace CRUD, skip scaffold (including \`--api-only\`, which still generates CRUD).
95
+ Review \`${runCmd} swallowkit migrations add-model <name> --dry-run\`, then run
96
+ \`${runCmd} swallowkit migrations add-model <name>\` to generate only the container migration and generation records.
97
+ Keep the schema exported from \`shared/index.ts\`. External connector models need their connector mapping, not a Cosmos container.
98
+ 4. Apply the reviewed CRUD scaffold plan, if needed:
78
99
  \`${runCmd} swallowkit machine apply scaffold --plan <planId>\`
79
100
  5. Verify:
80
- \`${runCmd} swallowkit machine verify project\`
101
+ - Inspect \`machine inspect entities\`, \`machine inspect infra\`, \`machine inspect artifacts\`, and \`machine inspect drift\`.
102
+ Match the model's container name and partition key to its Bicep, \`sourceModel\` in
103
+ \`infra/migrations/manifest.json\`, and \`.swallowkit/artifacts.json\`.
104
+ For a baseline-owned container, verify the tracked definition and \`infra/main.bicep\` wiring instead of requiring a new migration.
105
+ Do not hand-edit a checksum-locked baseline or an existing migration.
106
+ - Run \`${runCmd} swallowkit machine verify project\`.
81
107
  - \`summary.done: false\` → \`${runCmd} swallowkit machine explain failure\` and repair, then re-verify.
108
+ - Required infrastructure still missing? Report the reason and remaining work, not completion or deployment readiness.
109
+ Local generation does not provision Azure; follow the separate provision workflow and human approval gates.
82
110
  6. If \`dev-seeds/\` exists, update seed JSON for the new model. Seeds are only
83
111
  applied by \`${runCmd} swallowkit dev --seed-env <environment>\` — editing the
84
112
  JSON alone does nothing.
@@ -166,7 +194,7 @@ the scoping key from the verified principal, never from the request body.
166
194
  fileName: "verify-and-repair.md",
167
195
  title: "Verify and repair loop",
168
196
  skillName: "swallowkit-verify-repair",
169
- skillDescription: "Converge a SwallowKit project to a verified state: run structure/drift/typecheck (and build/lint/test) checks, read evidence with explain failure, repair, and repeat. Use after any code or schema change, when verification fails, when the build/lint/tests are broken, or before finishing a task.",
197
+ skillDescription: "Converge a SwallowKit project to a verified state: run structure/drift/typecheck/backend-build (and build/lint/test) checks, read evidence with explain failure, repair, and repeat. Use after any code or schema change, when verification fails, when the build/lint/tests are broken, or before finishing a task.",
170
198
  content: `# Workflow: Verify and repair
171
199
 
172
200
  Goal: converge the project to a verified state after any change.
@@ -174,14 +202,16 @@ Goal: converge the project to a verified state after any change.
174
202
  ## Loop
175
203
 
176
204
  1. \`${runCmd} swallowkit machine verify project\`
177
- - default checks: structure, drift, typecheck (+ project-specific checks from swallowkit.config \`verify.checks\`)
178
- - opt-in heavier checks: \`--checks structure,drift,typecheck,build,lint,test\`
205
+ - default checks: structure, drift, typecheck, backend-build (+ project-specific checks from swallowkit.config \`verify.checks\`)
206
+ - backend-build: standalone C# \`dotnet build\`, TypeScript \`tsc --noEmit\`, Python 3 \`compileall\` (syntax only).
207
+ Missing toolchains are skipped with a reason, not proof of a working backend. Restore them and re-run.
208
+ - opt-in heavier checks: \`--checks "structure,drift,typecheck,backend-build,build,lint,test"\` (quote CSV in PowerShell)
179
209
  2. If \`summary.done\` is false:
180
210
  - \`${runCmd} swallowkit machine explain failure\` → evidence (logTail, findings, violations) and suggestedActions per check.
181
211
  - Repair:
182
212
  - \`drift\` failures → follow each finding's \`repairAction\` (usually re-run plan/apply scaffold).
183
213
  - \`structure\` failures → follow \`suggestedFix\` per violation.
184
- - \`typecheck\`/\`build\`/\`lint\`/\`test\` failures → fix the code in ai-authored files.
214
+ - \`typecheck\`/\`backend-build\`/\`build\`/\`lint\`/\`test\` failures → fix the source code, not generated artifacts.
185
215
  3. Repeat until \`summary.done: true\`.
186
216
 
187
217
  ## Exit criteria
@@ -206,9 +236,14 @@ Goal: bootstrap Azure once, then apply only pending versioned infrastructure mig
206
236
  \`status: "requires-human"\` and \`requiresApproval: true\` by design.
207
237
  - Never pass \`--approve\` to \`apply provision\` unless a human explicitly
208
238
  instructed you to provision in this session.
239
+ - This plan/apply workflow is for agents. Humans normally run \`swallowkit provision\`
240
+ directly; do not switch to that command to bypass the agent approval gate.
209
241
  - Inspect infra locally first — no \`az\` calls are needed for inspection.
210
242
  - Never edit an applied migration. Create a corrective migration instead.
211
243
  - Never use \`--reconcile\` for an ordinary model or resource addition.
244
+ - A local az error/timeout or Ctrl+C does not prove Azure failed. Never
245
+ re-submit, cancel, or delete a deployment to repair a wait or bookkeeping failure.
246
+ - Respect \`status\`, \`outcome\`, and \`nextActions\`, not just \`ok\`.
212
247
 
213
248
  ## Steps
214
249
 
@@ -216,7 +251,7 @@ Goal: bootstrap Azure once, then apply only pending versioned infrastructure mig
216
251
  \`${runCmd} swallowkit machine inspect infra\`
217
252
  - review parameters, modules, outputs, and container wiring warnings.
218
253
  2. Compute the provisioning plan (no resources are created):
219
- \`${runCmd} swallowkit machine plan provision -g <resource-group> --location <region>\`
254
+ \`${runCmd} swallowkit machine plan provision -g <resource-group> --location <region> --swa-location <swa-region>\`
220
255
  - the plan reports \`bootstrap\`, \`migrate\`, \`noop\`, or \`adoption-required\`.
221
256
  - it lists only pending migrations and the exact \`az\` commands that would run.
222
257
  - for an older untagged environment, first run \`${runCmd} swallowkit migrations init --legacy-baseline\`, then plan with \`--adopt-existing --baseline 0 --what-if\`.
@@ -224,12 +259,35 @@ Goal: bootstrap Azure once, then apply only pending versioned infrastructure mig
224
259
  3. Present the plan to the human and wait for explicit approval.
225
260
  4. Only after approval:
226
261
  \`${runCmd} swallowkit machine apply provision --plan <planId> --approve\`
227
- 5. Verify the deployment outputs and report them.
262
+ 5. If \`in-progress\`, \`unknown\`, or \`partial\`, retain the execution
263
+ checkpoint and read/wait for the original deployment:
264
+ \`${runCmd} swallowkit machine inspect provision --plan <runId> --wait-seconds 300\`.
265
+ Inspection never writes Azure tags or the local ledger.
266
+ 6. After fresh explicit human approval, resume:
267
+ \`${runCmd} swallowkit machine apply provision --plan <runId> --approve\`.
268
+ Attempted deployments are not re-submitted; remaining reviewed steps and
269
+ tags/ledger finish only after Azure \`Succeeded\`.
270
+ 7. Report completion only when \`status: "complete"\` and
271
+ \`outcome: "succeeded"\`. Never report deployment output secrets.
272
+
273
+ For an older untracked bootstrap, plan with \`--resume-deployment <name>\`
274
+ and the original RG, subscription and regions. Recovery compares its ARM
275
+ template and non-secure parameters to local Bicep before approval. Mismatch,
276
+ unreadable evidence or secure parameters block; do not work around this by
277
+ using reconcile/adoption or replacing the migration manifest.
228
278
 
229
279
  ## Terminal states
230
280
 
231
281
  \`apply provision\` without \`--approve\` fails with \`approval-required\` —
232
282
  this is the guardrail working as intended, not an error to work around.
283
+
284
+ Azure \`Running\`/\`Accepted\` means \`in-progress\`. An unreadable or missing
285
+ deployment means \`unknown\`, not Azure failure. Azure \`Failed\`/\`Canceled\`
286
+ returns sanitized Azure and operation causes. Azure \`Succeeded\` with incomplete
287
+ tag/ledger writes means \`partial\`; resume bookkeeping without redeploying.
288
+ The default wait is 300 seconds (0-3600 via \`--wait-seconds\`), not unlimited.
289
+ Warning-only stderr with exit 0 is accepted. Diagnostics report local exit,
290
+ signal, elapsed time and truncated/redacted output separately from Azure state.
233
291
  `,
234
292
  };
235
293
  const index = {
@@ -257,7 +315,9 @@ under \`.github/skills/\` so skills-aware agents load them automatically.
257
315
 
258
316
  - **ai-authored** (write freely): \`shared/models/\`, business logic, custom pages/components, tests.
259
317
  - **deterministic** (never hand-edit): artifacts generated by SwallowKit (see \`.swallowkit/artifacts.json\`) and \`.swallowkit/\` metadata. Change models/config and regenerate via plan/apply.
260
- - **shared** (edit outside markers): \`infra/main.bicep\`, \`functions/function_app.py\`, \`shared/index.ts\`.
318
+ - **shared**: \`shared/index.ts\` allows manual exports (no markers; SwallowKit appends missing entries).
319
+ For Python \`functions/function_app.py\`, edit outside the registration marker.
320
+ - **infrastructure**: baseline \`infra/\` files are checksum-locked by \`infra/migrations/manifest.json\`; add resources as new migrations (\`swallowkit create-migration <slug>\`, \`swallowkit migrations add-model <model>\`).
261
321
 
262
322
  Full machine-readable contract: \`${runCmd} swallowkit machine inspect boundaries\`
263
323
  `,
@@ -1 +1 @@
1
- {"version":3,"file":"workflows.js","sourceRoot":"","sources":["../../../src/core/project/workflows.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workflows.js","sourceRoot":"","sources":["../../../src/core/project/workflows.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"auth-generator.d.ts","sourceRoot":"","sources":["../../../src/core/scaffold/auth-generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth-generator.d.ts","sourceRoot":"","sources":["../../../src/core/scaffold/auth-generator.ts"],"names":[],"mappings":"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"}
@@ -149,8 +149,7 @@ function generateNamedAuthRouterCSharp(config) {
149
149
  using System.Text;
150
150
  using System.Text.Json;
151
151
  using Microsoft.Azure.Functions.Worker.Http;
152
- using Functions.Auth.Schemes;
153
- namespace Functions.Auth;
152
+ ${externalCases ? "using Functions.Auth.Schemes;\n" : ""}namespace Functions.Auth;
154
153
  public record AuthPrincipal(string Subject, string Scheme, string Issuer, string[] Roles, IReadOnlyDictionary<string, object?> Claims)
155
154
  {
156
155
  [Obsolete("Use Subject")] public string UserId => Subject;
@@ -202,15 +201,15 @@ ${externalCases}
202
201
  function generateNamedAuthRouterPython(config) {
203
202
  const external = Object.entries(config.schemes).filter(([, s]) => s.provider === "external-token");
204
203
  const imports = external.map(([n]) => `from auth.schemes.${schemeSlug(n).replace(/-/g, "_")}.verifier import verify_external_token as verify_${safeIdentifier(n)}, ExternalTokenVerificationError as Error_${safeIdentifier(n)}`).join("\n");
205
- const cases = external.map(([n], index) => ` ${index === 0 ? "if" : "elif"} scheme == ${JSON.stringify(n)}:
206
- try:
207
- value = verify_${safeIdentifier(n)}(bearer)
208
- except Error_${safeIdentifier(n)} as exc:
209
- raise AuthError(503 if exc.identity_provider_unavailable else 401, "Identity provider unavailable" if exc.identity_provider_unavailable else "Invalid token")
210
- except Exception:
211
- raise AuthError(503, "External token verifier unavailable")
212
- if not value.get("subject") or not isinstance(value.get("roles"), list): raise AuthError(401, "Invalid external principal")
213
- principal = {"subject": value["subject"], "scheme": scheme, "issuer": value.get("issuer", scheme), "roles": value["roles"], "claims": value.get("claims", {}), "userId": value["subject"]}`).join("\n");
204
+ const cases = external.map(([n], index) => ` ${index === 0 ? "if" : "elif"} scheme == ${JSON.stringify(n)}:
205
+ try:
206
+ value = verify_${safeIdentifier(n)}(bearer)
207
+ except Error_${safeIdentifier(n)} as exc:
208
+ raise AuthError(503 if exc.identity_provider_unavailable else 401, "Identity provider unavailable" if exc.identity_provider_unavailable else "Invalid token")
209
+ except Exception:
210
+ raise AuthError(503, "External token verifier unavailable")
211
+ if not value.get("subject") or not isinstance(value.get("roles"), list): raise AuthError(401, "Invalid external principal")
212
+ principal = {"subject": value["subject"], "scheme": scheme, "issuer": value.get("issuer", scheme), "roles": value["roles"], "claims": value.get("claims", {}), "userId": value["subject"]}`).join("\n");
214
213
  return `import base64
215
214
  import json
216
215
  import azure.functions as func
@@ -230,14 +229,14 @@ def require_auth(req: func.HttpRequest, policy_name: str):
230
229
  if len(candidates) != 1: raise AuthError(401, "Authentication required" if not candidates else "Ambiguous credentials")
231
230
  scheme = candidates[0]
232
231
  ${cases}
233
- ${external.length ? "elif" : "if"} PROVIDERS[scheme] == "swa":
234
- try:
235
- value=json.loads(base64.b64decode(swa).decode("utf-8")); roles=[r for r in value.get("userRoles",[]) if isinstance(r,str)]
236
- if not value.get("userId") or "authenticated" not in roles: raise ValueError()
237
- if ALLOWED_PROVIDERS[scheme] and value.get("identityProvider") not in ALLOWED_PROVIDERS[scheme]: raise ValueError()
238
- principal={"subject":value["userId"],"scheme":scheme,"issuer":"swa:"+value.get("identityProvider", "unknown"),"roles":roles,"claims":value,"userId":value["userId"]}
239
- except Exception: raise AuthError(401,"Invalid SWA client principal")
240
- else: raise AuthError(401,"Authentication adapter is not configured")
232
+ ${external.length ? "elif" : "if"} PROVIDERS[scheme] == "swa":
233
+ try:
234
+ value=json.loads(base64.b64decode(swa).decode("utf-8")); roles=[r for r in value.get("userRoles",[]) if isinstance(r,str)]
235
+ if not value.get("userId") or "authenticated" not in roles: raise ValueError()
236
+ if ALLOWED_PROVIDERS[scheme] and value.get("identityProvider") not in ALLOWED_PROVIDERS[scheme]: raise ValueError()
237
+ principal={"subject":value["userId"],"scheme":scheme,"issuer":"swa:"+value.get("identityProvider", "unknown"),"roles":roles,"claims":value,"userId":value["userId"]}
238
+ except Exception: raise AuthError(401,"Invalid SWA client principal")
239
+ else: raise AuthError(401,"Authentication adapter is not configured")
241
240
  require_roles(principal, policy.get("roles", [])); return principal
242
241
  def require_roles(principal, roles):
243
242
  if roles and not any(role in principal.get("roles",[]) for role in roles): raise AuthError(403,"Insufficient permissions")
@@ -1147,17 +1146,17 @@ export default function LoginPage() {
1147
1146
  };
1148
1147
 
1149
1148
  return (
1150
- <div className="min-h-screen flex items-center justify-center bg-gray-50">
1151
- <div className="w-full max-w-md p-8 bg-white rounded-lg shadow-md">
1152
- <h1 className="text-2xl font-bold text-center mb-6">ログイン</h1>
1149
+ <div className="min-h-screen flex items-center justify-center bg-gray-50 dark:bg-gray-900">
1150
+ <div className="w-full max-w-md p-8 bg-white dark:bg-gray-800 rounded-lg shadow-md">
1151
+ <h1 className="text-2xl font-bold text-center mb-6 text-gray-900 dark:text-gray-100">ログイン</h1>
1153
1152
  {error && (
1154
- <div className="mb-4 p-3 bg-red-50 border border-red-200 text-red-700 rounded text-sm">
1153
+ <div className="mb-4 p-3 bg-red-50 dark:bg-red-900/20 border border-red-200 dark:border-red-800 text-red-700 dark:text-red-300 rounded text-sm">
1155
1154
  {error}
1156
1155
  </div>
1157
1156
  )}
1158
1157
  <form onSubmit={handleSubmit} className="space-y-4">
1159
1158
  <div>
1160
- <label htmlFor="loginId" className="block text-sm font-medium text-gray-700 mb-1">
1159
+ <label htmlFor="loginId" className="block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1">
1161
1160
  ログインID
1162
1161
  </label>
1163
1162
  <input
@@ -1165,13 +1164,13 @@ export default function LoginPage() {
1165
1164
  type="text"
1166
1165
  value={loginId}
1167
1166
  onChange={(e) => setLoginId(e.target.value)}
1168
- className="w-full px-3 py-2 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500"
1167
+ className="w-full px-3 py-2 bg-white dark:bg-gray-900 text-gray-900 dark:text-gray-100 border border-gray-300 dark:border-gray-600 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500"
1169
1168
  required
1170
1169
  autoFocus
1171
1170
  />
1172
1171
  </div>
1173
1172
  <div>
1174
- <label htmlFor="password" className="block text-sm font-medium text-gray-700 mb-1">
1173
+ <label htmlFor="password" className="block text-sm font-medium text-gray-700 dark:text-gray-300 mb-1">
1175
1174
  パスワード
1176
1175
  </label>
1177
1176
  <input
@@ -1179,7 +1178,7 @@ export default function LoginPage() {
1179
1178
  type="password"
1180
1179
  value={password}
1181
1180
  onChange={(e) => setPassword(e.target.value)}
1182
- className="w-full px-3 py-2 border border-gray-300 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500"
1181
+ className="w-full px-3 py-2 bg-white dark:bg-gray-900 text-gray-900 dark:text-gray-100 border border-gray-300 dark:border-gray-600 rounded-md focus:outline-none focus:ring-2 focus:ring-blue-500"
1183
1182
  required
1184
1183
  />
1185
1184
  </div>
@@ -1 +1 @@
1
- {"version":3,"file":"auth-generator.js","sourceRoot":"","sources":["../../../src/core/scaffold/auth-generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth-generator.js","sourceRoot":"","sources":["../../../src/core/scaffold/auth-generator.ts"],"names":[],"mappings":"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"}
@@ -24,6 +24,20 @@ export interface ModelInfo {
24
24
  parserWarnings: string[];
25
25
  semanticFingerprint: string;
26
26
  }
27
+ export type FieldFormat = "date-time" | "date" | "time" | "email" | "uuid" | "uri";
28
+ /** Zod validation constraints that native backends can enforce. For arrays, length bounds are minItems/maxItems and other values apply to each element. */
29
+ export interface FieldConstraints {
30
+ minLength?: number;
31
+ maxLength?: number;
32
+ pattern?: string;
33
+ patternFlags?: string;
34
+ minimum?: number;
35
+ maximum?: number;
36
+ exclusiveMinimum?: boolean;
37
+ exclusiveMaximum?: boolean;
38
+ minItems?: number;
39
+ maxItems?: number;
40
+ }
27
41
  export interface FieldInfo {
28
42
  name: string;
29
43
  type: string;
@@ -31,6 +45,10 @@ export interface FieldInfo {
31
45
  isNullable?: boolean;
32
46
  isArray: boolean;
33
47
  enumValues?: string[];
48
+ format?: FieldFormat;
49
+ isInteger?: boolean;
50
+ constraints?: FieldConstraints;
51
+ objectFields?: FieldInfo[];
34
52
  isForeignKey?: boolean;
35
53
  referencedModel?: string;
36
54
  isNestedSchema?: boolean;
@@ -72,6 +90,11 @@ export declare function parseConnectorConfig(content: string): ModelConnectorCon
72
90
  * パターン: export const authPolicy = { roles: [...], read: [...], write: [...] }
73
91
  */
74
92
  export declare function parseAuthPolicy(content: string): ModelAuthPolicy | undefined;
93
+ /**
94
+ * `export const references = { userId: 'User', legacyId: false }` を静的に抽出する。
95
+ * 値が false / null の場合は名前からの推測を無効にする。
96
+ */
97
+ export declare function parseReferences(content: string): Record<string, string | false>;
75
98
  /**
76
99
  * パーティションキーを抽出する
77
100
  * export const partitionKey = '/tenantId' のようなエクスポートを検出
@@ -1 +1 @@
1
- {"version":3,"file":"model-parser.d.ts","sourceRoot":"","sources":["../../../src/core/scaffold/model-parser.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAI7C,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAIpE,MAAM,MAAM,gBAAgB,GAAG,YAAY,GAAG,SAAS,CAAC;AAExD,MAAM,WAAW,kBAAkB;IACjC,WAAW,CAAC,EAAE,OAAO,YAAY,CAAC;CACnC;AAED,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;IACrB,UAAU,EAAE,gBAAgB,CAAC;IAC7B,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,mBAAmB,EAAE,MAAM,CAAC;CAC7B;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,EAAE,OAAO,GAAE,kBAAuB,GAAG,OAAO,CAAC,SAAS,CAAC,CAsF5G;AAED,wBAAgB,8BAA8B,CAAC,KAAK,EAAE,IAAI,CAAC,SAAS,EAAE,qBAAqB,GAAG,UAAU,CAAC,GAAG,MAAM,CAWjH;AAqhBD;;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"}
1
+ {"version":3,"file":"model-parser.d.ts","sourceRoot":"","sources":["../../../src/core/scaffold/model-parser.ts"],"names":[],"mappings":"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"}