swallowkit 2.0.0-alpha.3 → 2.0.0-alpha.4

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 (133) hide show
  1. package/dist/cli/commands/configure-mcp.d.ts +12 -0
  2. package/dist/cli/commands/configure-mcp.d.ts.map +1 -0
  3. package/dist/cli/commands/configure-mcp.js +42 -0
  4. package/dist/cli/commands/configure-mcp.js.map +1 -0
  5. package/dist/cli/commands/init.d.ts +4 -1
  6. package/dist/cli/commands/init.d.ts.map +1 -1
  7. package/dist/cli/commands/init.js +16 -4
  8. package/dist/cli/commands/init.js.map +1 -1
  9. package/dist/cli/commands/migrations.d.ts.map +1 -1
  10. package/dist/cli/commands/migrations.js +25 -0
  11. package/dist/cli/commands/migrations.js.map +1 -1
  12. package/dist/cli/commands/provision.d.ts +2 -0
  13. package/dist/cli/commands/provision.d.ts.map +1 -1
  14. package/dist/cli/commands/provision.js +45 -16
  15. package/dist/cli/commands/provision.js.map +1 -1
  16. package/dist/cli/commands/scaffold.d.ts +4 -0
  17. package/dist/cli/commands/scaffold.d.ts.map +1 -1
  18. package/dist/cli/commands/scaffold.js +40 -2
  19. package/dist/cli/commands/scaffold.js.map +1 -1
  20. package/dist/cli/index.d.ts +2 -0
  21. package/dist/cli/index.d.ts.map +1 -1
  22. package/dist/cli/index.js +27 -2
  23. package/dist/cli/index.js.map +1 -1
  24. package/dist/core/operations/model-migration.d.ts +22 -0
  25. package/dist/core/operations/model-migration.d.ts.map +1 -0
  26. package/dist/core/operations/model-migration.js +36 -0
  27. package/dist/core/operations/model-migration.js.map +1 -0
  28. package/dist/core/operations/provision-operations.d.ts +19 -1
  29. package/dist/core/operations/provision-operations.d.ts.map +1 -1
  30. package/dist/core/operations/provision-operations.js +62 -35
  31. package/dist/core/operations/provision-operations.js.map +1 -1
  32. package/dist/core/operations/scaffold-apply.d.ts +1 -0
  33. package/dist/core/operations/scaffold-apply.d.ts.map +1 -1
  34. package/dist/core/operations/scaffold-apply.js +1 -0
  35. package/dist/core/operations/scaffold-apply.js.map +1 -1
  36. package/dist/core/operations/scaffold-machine.d.ts +1 -0
  37. package/dist/core/operations/scaffold-machine.d.ts.map +1 -1
  38. package/dist/core/operations/scaffold-machine.js.map +1 -1
  39. package/dist/core/operations/scaffold-plan.d.ts +2 -0
  40. package/dist/core/operations/scaffold-plan.d.ts.map +1 -1
  41. package/dist/core/operations/scaffold-plan.js +3 -1
  42. package/dist/core/operations/scaffold-plan.js.map +1 -1
  43. package/dist/core/project/boundaries.d.ts +5 -2
  44. package/dist/core/project/boundaries.d.ts.map +1 -1
  45. package/dist/core/project/boundaries.js +49 -18
  46. package/dist/core/project/boundaries.js.map +1 -1
  47. package/dist/core/project/capabilities.d.ts +1 -0
  48. package/dist/core/project/capabilities.d.ts.map +1 -1
  49. package/dist/core/project/capabilities.js +20 -2
  50. package/dist/core/project/capabilities.js.map +1 -1
  51. package/dist/core/project/mcp-config.d.ts +26 -0
  52. package/dist/core/project/mcp-config.d.ts.map +1 -0
  53. package/dist/core/project/mcp-config.js +117 -0
  54. package/dist/core/project/mcp-config.js.map +1 -0
  55. package/dist/core/project/workflows.d.ts.map +1 -1
  56. package/dist/core/project/workflows.js +9 -1
  57. package/dist/core/project/workflows.js.map +1 -1
  58. package/dist/core/scaffold/model-parser.d.ts +23 -0
  59. package/dist/core/scaffold/model-parser.d.ts.map +1 -1
  60. package/dist/core/scaffold/model-parser.js +407 -137
  61. package/dist/core/scaffold/model-parser.js.map +1 -1
  62. package/dist/core/scaffold/native-schema-generator.d.ts +11 -0
  63. package/dist/core/scaffold/native-schema-generator.d.ts.map +1 -1
  64. package/dist/core/scaffold/native-schema-generator.js +273 -75
  65. package/dist/core/scaffold/native-schema-generator.js.map +1 -1
  66. package/dist/core/scaffold/openapi-generator.d.ts +5 -0
  67. package/dist/core/scaffold/openapi-generator.d.ts.map +1 -1
  68. package/dist/core/scaffold/openapi-generator.js +53 -3
  69. package/dist/core/scaffold/openapi-generator.js.map +1 -1
  70. package/dist/core/scaffold/ui-generator.d.ts +0 -3
  71. package/dist/core/scaffold/ui-generator.d.ts.map +1 -1
  72. package/dist/core/scaffold/ui-generator.js +68 -7
  73. package/dist/core/scaffold/ui-generator.js.map +1 -1
  74. package/dist/core/verify/index.d.ts.map +1 -1
  75. package/dist/core/verify/index.js +24 -1
  76. package/dist/core/verify/index.js.map +1 -1
  77. package/dist/machine/index.d.ts.map +1 -1
  78. package/dist/machine/index.js +39 -15
  79. package/dist/machine/index.js.map +1 -1
  80. package/dist/mcp/index.d.ts +3 -2
  81. package/dist/mcp/index.d.ts.map +1 -1
  82. package/dist/mcp/index.js +137 -13
  83. package/dist/mcp/index.js.map +1 -1
  84. package/dist/mcp/version-selection.d.ts +55 -0
  85. package/dist/mcp/version-selection.d.ts.map +1 -0
  86. package/dist/mcp/version-selection.js +152 -0
  87. package/dist/mcp/version-selection.js.map +1 -0
  88. package/dist/utils/azure-cli.d.ts +44 -0
  89. package/dist/utils/azure-cli.d.ts.map +1 -0
  90. package/dist/utils/azure-cli.js +164 -0
  91. package/dist/utils/azure-cli.js.map +1 -0
  92. package/dist/utils/semver.d.ts +14 -0
  93. package/dist/utils/semver.d.ts.map +1 -0
  94. package/dist/utils/semver.js +61 -0
  95. package/dist/utils/semver.js.map +1 -0
  96. package/package.json +1 -1
  97. package/src/__tests__/__snapshots__/boundaries.test.ts.snap +154 -0
  98. package/src/__tests__/agent-loop-phase34.test.ts +29 -0
  99. package/src/__tests__/azure-cli.test.ts +199 -0
  100. package/src/__tests__/boundaries.test.ts +42 -0
  101. package/src/__tests__/csharp-schema.test.ts +261 -0
  102. package/src/__tests__/mcp-version.test.ts +262 -0
  103. package/src/__tests__/mcp.test.ts +49 -3
  104. package/src/__tests__/plan-apply.test.ts +59 -0
  105. package/src/__tests__/schema-analysis.test.ts +329 -0
  106. package/src/cli/commands/configure-mcp.ts +54 -0
  107. package/src/cli/commands/init.ts +19 -4
  108. package/src/cli/commands/migrations.ts +22 -0
  109. package/src/cli/commands/provision.ts +53 -17
  110. package/src/cli/commands/scaffold.ts +40 -2
  111. package/src/cli/index.ts +26 -3
  112. package/src/core/operations/model-migration.ts +52 -0
  113. package/src/core/operations/provision-operations.ts +86 -42
  114. package/src/core/operations/scaffold-apply.ts +2 -0
  115. package/src/core/operations/scaffold-machine.ts +1 -0
  116. package/src/core/operations/scaffold-plan.ts +5 -1
  117. package/src/core/project/agent-templates/AGENTS.md +39 -3
  118. package/src/core/project/agent-templates/CLAUDE.md +3 -1
  119. package/src/core/project/agent-templates/copilot-instructions.md +3 -1
  120. package/src/core/project/boundaries.ts +60 -18
  121. package/src/core/project/capabilities.ts +22 -2
  122. package/src/core/project/mcp-config.ts +84 -0
  123. package/src/core/project/workflows.ts +9 -1
  124. package/src/core/scaffold/model-parser.ts +413 -129
  125. package/src/core/scaffold/native-schema-generator.ts +297 -78
  126. package/src/core/scaffold/openapi-generator.ts +63 -5
  127. package/src/core/scaffold/ui-generator.ts +70 -8
  128. package/src/core/verify/index.ts +23 -1
  129. package/src/machine/index.ts +42 -18
  130. package/src/mcp/index.ts +156 -14
  131. package/src/mcp/version-selection.ts +163 -0
  132. package/src/utils/azure-cli.ts +154 -0
  133. package/src/utils/semver.ts +59 -0
@@ -41,6 +41,8 @@ exports.getCSharpSchemaOptionPath = getCSharpSchemaOptionPath;
41
41
  exports.getPythonSchemaModelPath = getPythonSchemaModelPath;
42
42
  exports.getCSharpNativeGeneratorArgs = getCSharpNativeGeneratorArgs;
43
43
  exports.getPythonNativeGeneratorArgs = getPythonNativeGeneratorArgs;
44
+ exports.toPythonRegex = toPythonRegex;
45
+ exports.getPythonRegexWarnings = getPythonRegexWarnings;
44
46
  exports.validateNativeSchemaToolchain = validateNativeSchemaToolchain;
45
47
  exports.generateLanguageSchemaArtifacts = generateLanguageSchemaArtifacts;
46
48
  const fs = __importStar(require("fs"));
@@ -162,8 +164,22 @@ function buildCSharpEnumMemberMap(values, enumType) {
162
164
  function csharpStringLiteral(value) {
163
165
  return JSON.stringify(value);
164
166
  }
165
- function isDateLikeField(field) {
166
- return field.type === "date" || (field.type === "string" && field.name.toLowerCase().endsWith("at"));
167
+ /** Date/time types are used only when the Zod schema declares them (z.iso.datetime(), z.iso.date(), z.date()). */
168
+ function getCSharpScalarType(field) {
169
+ switch (field.type) {
170
+ case "string":
171
+ return field.format === "date-time" ? "DateTime" : field.format === "date" ? "DateOnly" : "string";
172
+ case "number":
173
+ return field.isInteger ? "long" : "double";
174
+ case "boolean":
175
+ return "bool";
176
+ case "date":
177
+ return "DateTime";
178
+ case "object":
179
+ return "Dictionary<string, object>";
180
+ default:
181
+ return "object";
182
+ }
167
183
  }
168
184
  function getCSharpSchemaModelPath(outputDir, modelName) {
169
185
  return path.join(outputDir, "src", "SwallowKitBackendModels", "Model", `${modelName}.cs`);
@@ -213,29 +229,17 @@ function getPythonNativeGeneratorArgs(specPath, outputPath) {
213
229
  ];
214
230
  }
215
231
  function getCSharpFieldBaseType(field) {
232
+ // Arrays first: arrays of nested models or enums are lists of the element type.
233
+ if (field.isArray) {
234
+ return `List<${getCSharpArrayElementType(field)}>`;
235
+ }
216
236
  if (field.isNestedSchema && field.nestedModelName) {
217
237
  return field.nestedModelName;
218
238
  }
219
239
  if (field.enumValues?.length) {
220
240
  return `${toPascalIdentifier(field.name)}Enum`;
221
241
  }
222
- if (field.isArray) {
223
- return `List<${getCSharpArrayElementType(field)}>`;
224
- }
225
- switch (field.type) {
226
- case "string":
227
- return isDateLikeField(field) ? "DateTime" : "string";
228
- case "number":
229
- return "decimal";
230
- case "boolean":
231
- return "bool";
232
- case "date":
233
- return "DateTime";
234
- case "object":
235
- return "Dictionary<string, object>";
236
- default:
237
- return "object";
238
- }
242
+ return getCSharpScalarType(field);
239
243
  }
240
244
  function getCSharpArrayElementType(field) {
241
245
  if (field.isNestedSchema && field.nestedModelName) {
@@ -244,24 +248,11 @@ function getCSharpArrayElementType(field) {
244
248
  if (field.enumValues?.length) {
245
249
  return `${toPascalIdentifier(field.name)}Enum`;
246
250
  }
247
- switch (field.type) {
248
- case "string":
249
- return isDateLikeField(field) ? "DateTime" : "string";
250
- case "number":
251
- return "decimal";
252
- case "boolean":
253
- return "bool";
254
- case "date":
255
- return "DateTime";
256
- case "object":
257
- return "Dictionary<string, object>";
258
- default:
259
- return "object";
260
- }
251
+ return getCSharpScalarType(field);
261
252
  }
262
253
  function getCSharpPropertyType(field) {
263
254
  const baseType = getCSharpFieldBaseType(field);
264
- return field.isOptional ? `${baseType}?` : baseType;
255
+ return field.isOptional || field.isNullable ? `${baseType}?` : baseType;
265
256
  }
266
257
  function getCSharpOptionType(field) {
267
258
  return `Option<${getCSharpPropertyType(field)}>`;
@@ -318,11 +309,96 @@ function buildCSharpEnumToJsonCases(field, members) {
318
309
  .map((member) => ` if (value == ${enumType}.${member.name})\n return ${csharpStringLiteral(member.value)};`)
319
310
  .join("\n\n");
320
311
  }
312
+ function csharpNumberLiteral(value) {
313
+ return Number.isInteger(value) ? `${value}` : `${value}d`;
314
+ }
315
+ function csharpRegexOptions(flags) {
316
+ const options = [
317
+ flags?.includes("i") ? "RegexOptions.IgnoreCase" : null,
318
+ flags?.includes("m") ? "RegexOptions.Multiline" : null,
319
+ flags?.includes("s") ? "RegexOptions.Singleline" : null,
320
+ ].filter(Boolean);
321
+ return options.length > 0 ? options.join(" | ") : "RegexOptions.None";
322
+ }
323
+ function isCSharpReferenceType(field) {
324
+ if (field.isArray || field.isNestedSchema || field.type === "object")
325
+ return true;
326
+ if (field.enumValues?.length)
327
+ return false;
328
+ return field.type === "string" && field.format !== "date-time" && field.format !== "date";
329
+ }
330
+ /**
331
+ * Translate Zod constraints into IValidatableObject checks. Regexes use search semantics like
332
+ * Zod's RegExp.test. String formats (email/uuid/url) and value-type presence stay with Zod.
333
+ */
334
+ function buildCSharpValueChecks(field, accessor, member, optionalValue) {
335
+ const constraints = field.constraints ?? {};
336
+ const checks = [];
337
+ const add = (condition, message) => checks.push(`if (${condition})\n yield return new ValidationResult(${csharpStringLiteral(message)}, new[] { ${member} });`);
338
+ if (field.isNestedSchema && field.nestedModelName) {
339
+ // Pattern variables in an if condition stay in scope for the enclosing block, so keep names unique.
340
+ const variable = `validated${toPascalIdentifier(field.name)}${accessor === "item" ? "Item" : ""}`;
341
+ checks.push(`if (${accessor} is IValidatableObject ${variable})\n foreach (var ${variable}Result in ${variable}.Validate(new ValidationContext(${accessor})))\n yield return new ValidationResult(${variable}Result.ErrorMessage, ${variable}Result.MemberNames.Select(name => ${member} + "." + name).ToArray());`);
342
+ return checks;
343
+ }
344
+ if (field.enumValues?.length)
345
+ return checks;
346
+ if (field.type === "string" && field.format !== "date-time" && field.format !== "date") {
347
+ if (constraints.minLength !== undefined)
348
+ add(`${accessor} != null && ${accessor}.Length < ${constraints.minLength}`, `${field.name} must contain at least ${constraints.minLength} character(s).`);
349
+ if (constraints.maxLength !== undefined)
350
+ add(`${accessor} != null && ${accessor}.Length > ${constraints.maxLength}`, `${field.name} must contain at most ${constraints.maxLength} character(s).`);
351
+ if (constraints.pattern !== undefined) {
352
+ add(`${accessor} != null && !Regex.IsMatch(${accessor}, ${csharpStringLiteral(constraints.pattern)}, ${csharpRegexOptions(constraints.patternFlags)})`, `${field.name} must match /${constraints.pattern}/${constraints.patternFlags ?? ""}.`);
353
+ }
354
+ }
355
+ if (field.type === "number") {
356
+ const value = optionalValue ? `${accessor}.Value` : accessor;
357
+ const guard = optionalValue ? `${accessor}.HasValue && ` : "";
358
+ if (constraints.minimum !== undefined) {
359
+ add(`${guard}${value} ${constraints.exclusiveMinimum ? "<=" : "<"} ${csharpNumberLiteral(constraints.minimum)}`, `${field.name} must be ${constraints.exclusiveMinimum ? "greater than" : "greater than or equal to"} ${constraints.minimum}.`);
360
+ }
361
+ if (constraints.maximum !== undefined) {
362
+ add(`${guard}${value} ${constraints.exclusiveMaximum ? ">=" : ">"} ${csharpNumberLiteral(constraints.maximum)}`, `${field.name} must be ${constraints.exclusiveMaximum ? "less than" : "less than or equal to"} ${constraints.maximum}.`);
363
+ }
364
+ }
365
+ return checks;
366
+ }
367
+ function buildCSharpValidationBody(model) {
368
+ const blocks = [];
369
+ for (const field of model.fields) {
370
+ const propertyName = toPascalIdentifier(field.name);
371
+ const member = csharpStringLiteral(field.name);
372
+ const constraints = field.constraints ?? {};
373
+ // .nullable() fields accept null in Zod, so only non-nullable required references are rejected.
374
+ if (!field.isOptional && !field.isNullable && isCSharpReferenceType(field)) {
375
+ blocks.push(`if (${propertyName} is null)\n yield return new ValidationResult(${csharpStringLiteral(`${field.name} is required.`)}, new[] { ${member} });`);
376
+ }
377
+ if (field.isArray) {
378
+ if (constraints.minItems !== undefined) {
379
+ blocks.push(`if (${propertyName} != null && ${propertyName}.Count < ${constraints.minItems})\n yield return new ValidationResult(${csharpStringLiteral(`${field.name} must contain at least ${constraints.minItems} item(s).`)}, new[] { ${member} });`);
380
+ }
381
+ if (constraints.maxItems !== undefined) {
382
+ blocks.push(`if (${propertyName} != null && ${propertyName}.Count > ${constraints.maxItems})\n yield return new ValidationResult(${csharpStringLiteral(`${field.name} must contain at most ${constraints.maxItems} item(s).`)}, new[] { ${member} });`);
383
+ }
384
+ const itemChecks = buildCSharpValueChecks({ ...field, isArray: false }, "item", `${member} + "[" + index + "]"`, false);
385
+ if (itemChecks.length > 0) {
386
+ blocks.push(`if (${propertyName} != null)\n {\n for (var index = 0; index < ${propertyName}.Count; index++)\n {\n var item = ${propertyName}[index];\n${itemChecks.map((check) => ` ${check.replace(/\n {16}/g, "\n ").replace(/\n {20}/g, "\n ")}`).join("\n")}\n }\n }`);
387
+ }
388
+ continue;
389
+ }
390
+ const optionalValue = (field.isOptional || field.isNullable === true) && !isCSharpReferenceType(field);
391
+ blocks.push(...buildCSharpValueChecks(field, propertyName, member, optionalValue));
392
+ }
393
+ return blocks.length > 0
394
+ ? blocks.map((block) => ` ${block}`).join("\n\n")
395
+ : " yield break;";
396
+ }
321
397
  function generateLegacyCompatibleCSharpModelSource(model) {
322
398
  const requiredFields = model.fields.filter((field) => !field.isOptional);
323
399
  const optionalFields = model.fields.filter((field) => field.isOptional);
324
400
  const constructorParams = [
325
- ...requiredFields.map((field) => `${getCSharpFieldBaseType(field)} ${field.name}`),
401
+ ...requiredFields.map((field) => `${getCSharpPropertyType(field)} ${field.name}`),
326
402
  ...optionalFields.map((field) => `${getCSharpOptionType(field)} ${field.name} = default`),
327
403
  ].join(", ");
328
404
  const constructorAssignments = [
@@ -338,7 +414,7 @@ function generateLegacyCompatibleCSharpModelSource(model) {
338
414
  return ` /// <summary>
339
415
  /// Defines ${toPascalIdentifier(field.name)}
340
416
  /// </summary>
341
- [JsonConverter(typeof(JsonStringEnumConverter))]
417
+ [JsonConverter(typeof(${enumType}JsonConverter))]
342
418
  public enum ${enumType}
343
419
  {
344
420
  ${buildCSharpEnumMembers(enumMembers)}
@@ -359,6 +435,22 @@ ${buildCSharpEnumFromStringCases(field, enumMembers, true)}
359
435
  ${buildCSharpEnumToJsonCases(field, enumMembers)}
360
436
 
361
437
  throw new NotImplementedException($"Value could not be handled: '{value}'");
438
+ }
439
+
440
+ /// <summary>
441
+ /// Reads and writes ${enumType} with the exact Zod enum values.
442
+ /// </summary>
443
+ public sealed class ${enumType}JsonConverter : JsonConverter<${enumType}>
444
+ {
445
+ public override ${enumType} Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
446
+ {
447
+ var value = reader.GetString();
448
+ var parsed = value == null ? null : ${enumType}FromStringOrDefault(value);
449
+ return parsed ?? throw new JsonException($"Unsupported ${enumType} value: '{value}'");
450
+ }
451
+
452
+ public override void Write(Utf8JsonWriter writer, ${enumType} value, JsonSerializerOptions options)
453
+ => writer.WriteStringValue(${enumType}ToJsonValue(value));
362
454
  }`;
363
455
  })
364
456
  .join("\n\n");
@@ -383,7 +475,8 @@ ${buildCSharpEnumToJsonCases(field, enumMembers)}
383
475
  /// <summary>
384
476
  /// Gets or Sets ${propertyName}
385
477
  /// </summary>
386
- [JsonPropertyName("${field.name}")]
478
+ [JsonPropertyName("${field.name}")]${field.isNullable ? "" : `
479
+ [JsonIgnore(Condition = JsonIgnoreCondition.WhenWritingNull)]`}
387
480
  public ${propertyType} ${propertyName} { get { return this.${propertyName}Option; } set { this.${propertyName}Option = new(value); } }`;
388
481
  })
389
482
  .join("\n\n");
@@ -405,8 +498,11 @@ ${buildCSharpEnumToJsonCases(field, enumMembers)}
405
498
  using System;
406
499
  using System.Collections.Generic;
407
500
  using System.ComponentModel.DataAnnotations;
501
+ using System.Linq;
408
502
  using System.Text;
503
+ using System.Text.Json;
409
504
  using System.Text.Json.Serialization;
505
+ using System.Text.RegularExpressions;
410
506
  using SwallowKitBackendModels.Client;
411
507
 
412
508
  namespace SwallowKitBackendModels.Model
@@ -416,12 +512,22 @@ namespace SwallowKitBackendModels.Model
416
512
  /// </summary>
417
513
  public partial class ${model.name} : IValidatableObject
418
514
  {
515
+ /// <summary>
516
+ /// Used by System.Text.Json. Optional values are marked as set only when present in the JSON.
517
+ /// </summary>
518
+ #pragma warning disable CS8618
419
519
  [JsonConstructor]
520
+ public ${model.name}()
521
+ {
522
+ OnCreated();
523
+ }
524
+ #pragma warning restore CS8618
525
+ ${constructorParams ? `
420
526
  public ${model.name}(${constructorParams})
421
527
  {
422
528
  ${constructorAssignments}
423
529
  }
424
-
530
+ ` : ""}
425
531
  partial void OnCreated();
426
532
  ${enumBlocks ? `\n\n${enumBlocks}` : ""}
427
533
 
@@ -438,24 +544,18 @@ ${toStringBody}
438
544
 
439
545
  IEnumerable<ValidationResult> IValidatableObject.Validate(ValidationContext validationContext)
440
546
  {
441
- yield break;
547
+ ${buildCSharpValidationBody(model)}
442
548
  }
443
549
  }
444
550
  }
445
551
  `;
446
552
  }
447
- function getPythonTypeName(field) {
448
- if (field.isNestedSchema && field.nestedModelName) {
449
- return field.nestedModelName;
450
- }
451
- if (field.isArray) {
452
- return `List[${getPythonArrayElementType(field)}]`;
453
- }
553
+ function getPythonScalarType(field) {
454
554
  switch (field.type) {
455
555
  case "string":
456
- return isDateLikeField(field) ? "datetime" : "StrictStr";
556
+ return field.format === "date-time" ? "datetime" : field.format === "date" ? "date" : "StrictStr";
457
557
  case "number":
458
- return "Union[StrictFloat, StrictInt]";
558
+ return field.isInteger ? "StrictInt" : "Union[StrictFloat, StrictInt]";
459
559
  case "boolean":
460
560
  return "StrictBool";
461
561
  case "date":
@@ -466,36 +566,128 @@ function getPythonTypeName(field) {
466
566
  return "Any";
467
567
  }
468
568
  }
569
+ /** pydantic Field bounds for a scalar value (string length or numeric range). */
570
+ function getPythonValueConstraintArgs(field) {
571
+ const constraints = field.constraints ?? {};
572
+ if (field.enumValues?.length || field.isNestedSchema)
573
+ return [];
574
+ const args = [];
575
+ if (field.type === "string" && field.format !== "date-time" && field.format !== "date") {
576
+ if (constraints.minLength !== undefined)
577
+ args.push(`min_length=${constraints.minLength}`);
578
+ if (constraints.maxLength !== undefined)
579
+ args.push(`max_length=${constraints.maxLength}`);
580
+ }
581
+ if (field.type === "number") {
582
+ if (constraints.minimum !== undefined)
583
+ args.push(`${constraints.exclusiveMinimum ? "gt" : "ge"}=${constraints.minimum}`);
584
+ if (constraints.maximum !== undefined)
585
+ args.push(`${constraints.exclusiveMaximum ? "lt" : "le"}=${constraints.maximum}`);
586
+ }
587
+ return args;
588
+ }
469
589
  function getPythonArrayElementType(field) {
470
590
  if (field.isNestedSchema && field.nestedModelName) {
471
591
  return field.nestedModelName;
472
592
  }
473
- switch (field.type) {
474
- case "string":
475
- return isDateLikeField(field) ? "datetime" : "StrictStr";
476
- case "number":
477
- return "Union[StrictFloat, StrictInt]";
478
- case "boolean":
479
- return "StrictBool";
480
- case "date":
481
- return "datetime";
482
- case "object":
483
- return "Dict[str, Any]";
484
- default:
485
- return "Any";
593
+ const elementType = getPythonScalarType(field);
594
+ const elementArgs = getPythonValueConstraintArgs(field);
595
+ return elementArgs.length > 0 ? `Annotated[${elementType}, Field(${elementArgs.join(", ")})]` : elementType;
596
+ }
597
+ function getPythonTypeName(field) {
598
+ if (field.isArray) {
599
+ return `List[${getPythonArrayElementType(field)}]`;
600
+ }
601
+ if (field.isNestedSchema && field.nestedModelName) {
602
+ return field.nestedModelName;
486
603
  }
604
+ return getPythonScalarType(field);
487
605
  }
488
606
  function buildPythonFieldDeclaration(field) {
489
607
  const pythonName = toSnakeCase(field.name);
490
608
  const typeName = field.isOptional ? `Optional[${getPythonTypeName(field)}]` : getPythonTypeName(field);
491
- const aliasSuffix = pythonName !== field.name ? `, alias="${field.name}"` : "";
492
- if (field.isOptional) {
493
- return `${pythonName}: ${typeName} = Field(default=None${aliasSuffix})`;
494
- }
495
- if (aliasSuffix) {
496
- return `${pythonName}: ${typeName} = Field(${aliasSuffix.slice(2)})`;
497
- }
498
- return `${pythonName}: ${typeName}`;
609
+ const fieldArgs = [
610
+ ...(field.isOptional ? ["default=None"] : []),
611
+ ...(pythonName !== field.name ? [`alias="${field.name}"`] : []),
612
+ ...(field.isArray
613
+ ? [
614
+ ...(field.constraints?.minItems !== undefined ? [`min_length=${field.constraints.minItems}`] : []),
615
+ ...(field.constraints?.maxItems !== undefined ? [`max_length=${field.constraints.maxItems}`] : []),
616
+ ]
617
+ : getPythonValueConstraintArgs(field)),
618
+ ];
619
+ return fieldArgs.length > 0
620
+ ? `${pythonName}: ${typeName} = Field(${fieldArgs.join(", ")})`
621
+ : `${pythonName}: ${typeName}`;
622
+ }
623
+ function buildPythonRegexFlags(flags) {
624
+ const values = [
625
+ flags?.includes("i") ? "re.IGNORECASE" : null,
626
+ flags?.includes("m") ? "re.MULTILINE" : null,
627
+ flags?.includes("s") ? "re.DOTALL" : null,
628
+ ].filter(Boolean);
629
+ return values.length > 0 ? values.join(" | ") : "0";
630
+ }
631
+ /**
632
+ * Translates a JavaScript regex (as used by Zod) to Python `re` syntax. Constructs Python cannot
633
+ * express identically are reported as unsupported so the validator is skipped instead of breaking imports.
634
+ */
635
+ function toPythonRegex(pattern, flags = "") {
636
+ const unsupportedFlags = [...flags].filter((flag) => !"imsgu".includes(flag));
637
+ if (unsupportedFlags.length > 0)
638
+ return { unsupported: `flag(s) ${unsupportedFlags.join("")} have no Python equivalent` };
639
+ const checks = [
640
+ [/\\[pP]\{/, "Unicode property escapes (\\p{...})"],
641
+ [/\\u\{/, "code point escapes (\\u{...})"],
642
+ [/\\c[A-Za-z]/, "control escapes (\\cX)"],
643
+ [/\(\?<[=!]/, "lookbehind (JavaScript allows variable width; Python does not)"],
644
+ [/\[\^?\]/, "empty character classes ([] / [^])"],
645
+ ];
646
+ for (const [construct, label] of checks) {
647
+ if (construct.test(pattern))
648
+ return { unsupported: label };
649
+ }
650
+ return {
651
+ pattern: pattern
652
+ .replace(/\(\?<([A-Za-z_][A-Za-z0-9_]*)>/g, "(?P<$1>")
653
+ .replace(/\\k<([A-Za-z_][A-Za-z0-9_]*)>/g, "(?P=$1)"),
654
+ };
655
+ }
656
+ function pythonRegexFields(model) {
657
+ return model.fields
658
+ .filter((field) => field.type === "string" && !field.enumValues?.length && field.constraints?.pattern !== undefined)
659
+ .map((field) => ({ field, translation: toPythonRegex(field.constraints.pattern, field.constraints.patternFlags) }));
660
+ }
661
+ function getPythonRegexWarnings(model) {
662
+ return pythonRegexFields(model)
663
+ .filter((entry) => "unsupported" in entry.translation)
664
+ .map(({ field, translation }) => `python-regex-not-enforced: ${model.name}.${field.name} uses ${translation.unsupported}; the Python model does not enforce /${field.constraints.pattern}/. The BFF Zod schema still validates it.`);
665
+ }
666
+ /**
667
+ * Zod regex checks use RegExp.test (search), so validators use re.search instead of pydantic's anchored pattern.
668
+ * They run before type conversion so date/time strings are checked as the JSON text Zod sees; non-string
669
+ * values are left to the field's own type validation.
670
+ */
671
+ function buildPythonPatternValidators(model) {
672
+ return pythonRegexFields(model)
673
+ .filter((entry) => "pattern" in entry.translation)
674
+ .map(({ field, translation }) => {
675
+ const pythonName = toSnakeCase(field.name);
676
+ const pattern = JSON.stringify(translation.pattern);
677
+ const flags = buildPythonRegexFlags(field.constraints.patternFlags);
678
+ const message = JSON.stringify(`${field.name} must match /${field.constraints.pattern}/${field.constraints.patternFlags ?? ""}`);
679
+ return ` @field_validator('${pythonName}', mode='before')
680
+ def ${pythonName}_validate_pattern(cls, value):
681
+ """Validates the Zod regex constraint"""
682
+ if value is None:
683
+ return value
684
+
685
+ for item in (value if isinstance(value, list) else [value]):
686
+ if isinstance(item, str) and not re.search(${pattern}, item, ${flags}):
687
+ raise ValueError(${message})
688
+ return value`;
689
+ })
690
+ .join("\n\n");
499
691
  }
500
692
  function buildPythonEnumValidators(model) {
501
693
  return model.fields
@@ -526,7 +718,7 @@ function buildPythonModelImports(model) {
526
718
  function generateLegacyCompatiblePythonModelSource(model) {
527
719
  const fieldDeclarations = model.fields.map((field) => ` ${buildPythonFieldDeclaration(field)}`).join("\n");
528
720
  const propertyNames = model.fields.map((field) => `"${field.name}"`).join(", ");
529
- const validators = buildPythonEnumValidators(model);
721
+ const validators = [buildPythonEnumValidators(model), buildPythonPatternValidators(model)].filter(Boolean).join("\n\n");
530
722
  const dictAssignments = model.fields
531
723
  .map((field) => ` "${field.name}": obj.get("${field.name}")`)
532
724
  .join(",\n");
@@ -549,9 +741,9 @@ import pprint
549
741
  import re # noqa: F401
550
742
  import json
551
743
 
552
- from datetime import datetime
744
+ from datetime import date, datetime
553
745
  from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictFloat, StrictInt, StrictStr, field_validator
554
- from typing import Any, ClassVar, Dict, List, Optional, Set, Union
746
+ from typing import Annotated, Any, ClassVar, Dict, List, Optional, Set, Union
555
747
  from typing_extensions import Self
556
748
 
557
749
  ${buildPythonModelImports(model)}class ${model.name}(BaseModel):
@@ -575,7 +767,7 @@ ${validators ? `\n\n${validators}` : ""}
575
767
 
576
768
  def to_json(self) -> str:
577
769
  """Returns the JSON representation of the model using alias"""
578
- return json.dumps(self.to_dict())
770
+ return self.model_dump_json(by_alias=True, exclude_none=True)
579
771
 
580
772
  @classmethod
581
773
  def from_json(cls, json_str: str) -> Optional[Self]:
@@ -754,6 +946,10 @@ async function generatePythonSchemaArtifacts(models, outputDir, functionsRoot, s
754
946
  writeMergedPythonInitFile(path.join(packageRoot, "__init__.py"), buildGeneratedPythonPackageInitSource(models), session, sourceModel);
755
947
  writeMergedPythonInitFile(path.join(modelsRoot, "__init__.py"), buildGeneratedPythonModelsInitSource(models), session, sourceModel);
756
948
  for (const model of models) {
949
+ for (const warning of getPythonRegexWarnings(model)) {
950
+ session.addWarning(warning);
951
+ console.warn(`⚠️ ${warning}`);
952
+ }
757
953
  const modelPath = getPythonSchemaModelPath(outputDir, model.name);
758
954
  session.writeFile(modelPath, generateLegacyCompatiblePythonModelSource(model), {
759
955
  ownership: "managed",
@@ -778,11 +974,13 @@ async function generateLanguageSchemaArtifacts(models, rootModel, functionsDir,
778
974
  });
779
975
  console.log(planning ? `\ud83d\udccb Will create: ${specPath}` : `\u2705 Created: ${specPath}`);
780
976
  const outputDir = path.join(functionsRoot, "generated", backendLanguage === "csharp" ? "csharp-models" : "python-models");
977
+ // Inline z.object fields become named classes (e.g. ProbeItemNested) so their shape is preserved.
978
+ const nativeModels = (0, openapi_generator_1.expandInlineObjectModels)(models);
781
979
  if (backendLanguage === "csharp") {
782
- await generateCSharpSchemaArtifacts(models, outputDir, functionsRoot, session, rootModel.name);
980
+ await generateCSharpSchemaArtifacts(nativeModels, outputDir, functionsRoot, session, rootModel.name);
783
981
  }
784
982
  else {
785
- await generatePythonSchemaArtifacts(models, outputDir, functionsRoot, session, rootModel.name);
983
+ await generatePythonSchemaArtifacts(nativeModels, outputDir, functionsRoot, session, rootModel.name);
786
984
  }
787
985
  console.log(planning
788
986
  ? `\ud83d\udccb Will generate ${backendLanguage} schema assets: ${outputDir}`
@@ -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"}