@palantir/pack.document-schema.type-gen 0.9.0 → 0.10.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 (148) hide show
  1. package/build/esm/commands/asset/__tests__/buildPrefixRewriteFetch.test.js +85 -0
  2. package/build/esm/commands/asset/__tests__/buildPrefixRewriteFetch.test.js.map +1 -0
  3. package/build/esm/commands/asset/assetDeployHandler.js +36 -1
  4. package/build/esm/commands/asset/assetDeployHandler.js.map +1 -1
  5. package/build/esm/commands/asset/registerAssetCommands.js +1 -1
  6. package/build/esm/commands/asset/registerAssetCommands.js.map +1 -1
  7. package/build/esm/commands/ir/irGenTypesHandler.js +49 -0
  8. package/build/esm/commands/ir/irGenTypesHandler.js.map +1 -0
  9. package/build/esm/commands/ir/registerIrCommands.js +2 -0
  10. package/build/esm/commands/ir/registerIrCommands.js.map +1 -1
  11. package/build/esm/commands/schema/registerSchemaCommands.js +2 -2
  12. package/build/esm/commands/schema/registerSchemaCommands.js.map +1 -1
  13. package/build/esm/commands/schema/schemaIrHandler.js +56 -0
  14. package/build/esm/commands/schema/schemaIrHandler.js.map +1 -0
  15. package/build/esm/index.js +0 -6
  16. package/build/esm/index.js.map +1 -1
  17. package/build/esm/utils/ir/__tests__/__snapshots__/generateModelsFromIr/custom-discriminant.js +1 -1
  18. package/build/esm/utils/ir/__tests__/__snapshots__/generateModelsFromIr/custom-discriminant.js.map +1 -1
  19. package/build/esm/utils/ir/__tests__/__snapshots__/generateModelsFromIr/external-refs.js +1 -1
  20. package/build/esm/utils/ir/__tests__/__snapshots__/generateModelsFromIr/external-refs.js.map +1 -1
  21. package/build/esm/utils/ir/__tests__/__snapshots__/generateModelsFromIr/simple-record.js +1 -1
  22. package/build/esm/utils/ir/__tests__/__snapshots__/generateModelsFromIr/simple-record.js.map +1 -1
  23. package/build/esm/utils/ir/__tests__/__snapshots__/generateModelsFromIr/union-types.js +1 -1
  24. package/build/esm/utils/ir/__tests__/__snapshots__/generateModelsFromIr/union-types.js.map +1 -1
  25. package/build/esm/utils/ir/__tests__/__snapshots__/generateZodSchemasFromIr/array-and-map-types.js +1 -1
  26. package/build/esm/utils/ir/__tests__/__snapshots__/generateZodSchemasFromIr/array-and-map-types.js.map +1 -1
  27. package/build/esm/utils/ir/__tests__/__snapshots__/generateZodSchemasFromIr/boolean-fields.js +1 -1
  28. package/build/esm/utils/ir/__tests__/__snapshots__/generateZodSchemasFromIr/boolean-fields.js.map +1 -1
  29. package/build/esm/utils/ir/__tests__/__snapshots__/generateZodSchemasFromIr/custom-discriminant.js +1 -1
  30. package/build/esm/utils/ir/__tests__/__snapshots__/generateZodSchemasFromIr/custom-discriminant.js.map +1 -1
  31. package/build/esm/utils/ir/__tests__/__snapshots__/generateZodSchemasFromIr/datetime-fields.js +1 -1
  32. package/build/esm/utils/ir/__tests__/__snapshots__/generateZodSchemasFromIr/datetime-fields.js.map +1 -1
  33. package/build/esm/utils/ir/__tests__/__snapshots__/generateZodSchemasFromIr/simple-records.js +1 -1
  34. package/build/esm/utils/ir/__tests__/__snapshots__/generateZodSchemasFromIr/simple-records.js.map +1 -1
  35. package/build/esm/utils/ir/__tests__/__snapshots__/generateZodSchemasFromIr/union-before-records.js +1 -1
  36. package/build/esm/utils/ir/__tests__/__snapshots__/generateZodSchemasFromIr/union-before-records.js.map +1 -1
  37. package/build/esm/utils/ir/__tests__/__snapshots__/generateZodSchemasFromIr/union-types.js +1 -1
  38. package/build/esm/utils/ir/__tests__/__snapshots__/generateZodSchemasFromIr/union-types.js.map +1 -1
  39. package/build/esm/utils/ir/__tests__/convertIrToWireSchema.test.js +23 -0
  40. package/build/esm/utils/ir/__tests__/convertIrToWireSchema.test.js.map +1 -1
  41. package/build/esm/utils/ir/irFieldHelpers.js +383 -0
  42. package/build/esm/utils/ir/irFieldHelpers.js.map +1 -0
  43. package/build/esm/utils/schema/__tests__/__snapshots__/generateVersionsFromSchema/single-version.js.map +1 -1
  44. package/build/esm/utils/schema/__tests__/__snapshots__/generateVersionsFromSchema/three-version-chain.js.map +1 -1
  45. package/build/esm/utils/schema/__tests__/__snapshots__/generateVersionsFromSchema/two-version.js.map +1 -1
  46. package/build/esm/utils/schema/__tests__/convertSchemaToSteps.test.js +13 -0
  47. package/build/esm/utils/schema/__tests__/convertSchemaToSteps.test.js.map +1 -1
  48. package/build/esm/utils/schema/__tests__/fixtures.js +76 -5
  49. package/build/esm/utils/schema/__tests__/fixtures.js.map +1 -1
  50. package/build/esm/utils/schema/__tests__/generateInternalFromSchema.test.js +19 -7
  51. package/build/esm/utils/schema/__tests__/generateInternalFromSchema.test.js.map +1 -1
  52. package/build/esm/utils/schema/__tests__/generateModelMetadataFromSchema.test.js +7 -6
  53. package/build/esm/utils/schema/__tests__/generateModelMetadataFromSchema.test.js.map +1 -1
  54. package/build/esm/utils/schema/__tests__/generateScopeFromSchema.test.js +6 -5
  55. package/build/esm/utils/schema/__tests__/generateScopeFromSchema.test.js.map +1 -1
  56. package/build/esm/utils/schema/__tests__/generateVersionedTypesFromSchema.test.js +19 -10
  57. package/build/esm/utils/schema/__tests__/generateVersionedTypesFromSchema.test.js.map +1 -1
  58. package/build/esm/utils/schema/__tests__/generateVersionedZodFromSchema.test.js +15 -10
  59. package/build/esm/utils/schema/__tests__/generateVersionedZodFromSchema.test.js.map +1 -1
  60. package/build/esm/utils/schema/__tests__/generateVersionsFromSchema.test.js +6 -5
  61. package/build/esm/utils/schema/__tests__/generateVersionsFromSchema.test.js.map +1 -1
  62. package/build/esm/utils/schema/convertSchemaToSteps.js +6 -0
  63. package/build/esm/utils/schema/convertSchemaToSteps.js.map +1 -1
  64. package/build/esm/utils/schema/generateIndexFromSchema.js +15 -13
  65. package/build/esm/utils/schema/generateIndexFromSchema.js.map +1 -1
  66. package/build/esm/utils/schema/generateInternalFromSchema.js +68 -184
  67. package/build/esm/utils/schema/generateInternalFromSchema.js.map +1 -1
  68. package/build/esm/utils/schema/generateModelMetadataFromSchema.js +46 -69
  69. package/build/esm/utils/schema/generateModelMetadataFromSchema.js.map +1 -1
  70. package/build/esm/utils/schema/generateScopeFromSchema.js +29 -33
  71. package/build/esm/utils/schema/generateScopeFromSchema.js.map +1 -1
  72. package/build/esm/utils/schema/generateTypesFromSchema.js +9 -1
  73. package/build/esm/utils/schema/generateTypesFromSchema.js.map +1 -1
  74. package/build/esm/utils/schema/generateVersionedTypesFromSchema.js +61 -155
  75. package/build/esm/utils/schema/generateVersionedTypesFromSchema.js.map +1 -1
  76. package/build/esm/utils/schema/generateVersionedZodFromSchema.js +58 -94
  77. package/build/esm/utils/schema/generateVersionedZodFromSchema.js.map +1 -1
  78. package/build/esm/utils/schema/generateVersionsFromSchema.js +7 -5
  79. package/build/esm/utils/schema/generateVersionsFromSchema.js.map +1 -1
  80. package/build/esm/utils/schema/loadSchemaModule.js +53 -0
  81. package/build/esm/utils/schema/loadSchemaModule.js.map +1 -0
  82. package/build/esm/utils/schema/resolveSchemaChain.js +59 -9
  83. package/build/esm/utils/schema/resolveSchemaChain.js.map +1 -1
  84. package/build/esm/utils/schema/runtimeSchema.js +0 -27
  85. package/build/esm/utils/schema/runtimeSchema.js.map +1 -1
  86. package/build/esm/utils/schema/writeAllSdkFiles.js +111 -0
  87. package/build/esm/utils/schema/writeAllSdkFiles.js.map +1 -0
  88. package/build/esm/utils/steps/__tests__/__snapshots__/types/arrayFields.js.map +1 -1
  89. package/build/esm/utils/steps/__tests__/__snapshots__/types/customDiscriminant.js +1 -1
  90. package/build/esm/utils/steps/__tests__/__snapshots__/types/customDiscriminant.js.map +1 -1
  91. package/build/esm/utils/steps/__tests__/__snapshots__/types/generateTypeScriptInterfaces.js +1 -1
  92. package/build/esm/utils/steps/__tests__/__snapshots__/types/generateTypeScriptInterfaces.js.map +1 -1
  93. package/build/esm/utils/steps/__tests__/__snapshots__/types/refTypes.js.map +1 -1
  94. package/build/esm/utils/steps/__tests__/__snapshots__/types/simpleRecord.js.map +1 -1
  95. package/build/esm/utils/steps/__tests__/__snapshots__/types/simpleSteps.js +1 -1
  96. package/build/esm/utils/steps/__tests__/__snapshots__/types/simpleSteps.js.map +1 -1
  97. package/build/esm/utils/steps/__tests__/convertStepsToIr.test.js +93 -1
  98. package/build/esm/utils/steps/__tests__/convertStepsToIr.test.js.map +1 -1
  99. package/build/esm/utils/steps/convertStepsToIr.js +43 -35
  100. package/build/esm/utils/steps/convertStepsToIr.js.map +1 -1
  101. package/build/types/commands/asset/__tests__/buildPrefixRewriteFetch.test.d.ts +2 -0
  102. package/build/types/commands/asset/__tests__/buildPrefixRewriteFetch.test.d.ts.map +1 -0
  103. package/build/types/commands/asset/assetDeployHandler.d.ts +15 -0
  104. package/build/types/commands/asset/assetDeployHandler.d.ts.map +1 -1
  105. package/build/types/commands/asset/registerAssetCommands.d.ts.map +1 -1
  106. package/build/types/commands/ir/irGenTypesHandler.d.ts +8 -0
  107. package/build/types/commands/ir/irGenTypesHandler.d.ts.map +1 -0
  108. package/build/types/commands/ir/registerIrCommands.d.ts.map +1 -1
  109. package/build/types/commands/schema/registerSchemaCommands.d.ts.map +1 -1
  110. package/build/types/commands/schema/schemaIrHandler.d.ts +19 -0
  111. package/build/types/commands/schema/schemaIrHandler.d.ts.map +1 -0
  112. package/build/types/index.d.ts +1 -6
  113. package/build/types/index.d.ts.map +1 -1
  114. package/build/types/utils/ir/irFieldHelpers.d.ts +36 -0
  115. package/build/types/utils/ir/irFieldHelpers.d.ts.map +1 -0
  116. package/build/types/utils/schema/__tests__/fixtures.d.ts +10 -1
  117. package/build/types/utils/schema/__tests__/fixtures.d.ts.map +1 -1
  118. package/build/types/utils/schema/convertSchemaToSteps.d.ts.map +1 -1
  119. package/build/types/utils/schema/generateIndexFromSchema.d.ts +2 -2
  120. package/build/types/utils/schema/generateIndexFromSchema.d.ts.map +1 -1
  121. package/build/types/utils/schema/generateInternalFromSchema.d.ts +3 -6
  122. package/build/types/utils/schema/generateInternalFromSchema.d.ts.map +1 -1
  123. package/build/types/utils/schema/generateModelMetadataFromSchema.d.ts +3 -8
  124. package/build/types/utils/schema/generateModelMetadataFromSchema.d.ts.map +1 -1
  125. package/build/types/utils/schema/generateScopeFromSchema.d.ts +2 -2
  126. package/build/types/utils/schema/generateScopeFromSchema.d.ts.map +1 -1
  127. package/build/types/utils/schema/generateTypesFromSchema.d.ts.map +1 -1
  128. package/build/types/utils/schema/generateVersionedTypesFromSchema.d.ts +4 -7
  129. package/build/types/utils/schema/generateVersionedTypesFromSchema.d.ts.map +1 -1
  130. package/build/types/utils/schema/generateVersionedZodFromSchema.d.ts +3 -7
  131. package/build/types/utils/schema/generateVersionedZodFromSchema.d.ts.map +1 -1
  132. package/build/types/utils/schema/generateVersionsFromSchema.d.ts +3 -3
  133. package/build/types/utils/schema/generateVersionsFromSchema.d.ts.map +1 -1
  134. package/build/types/utils/schema/loadSchemaModule.d.ts +14 -0
  135. package/build/types/utils/schema/loadSchemaModule.d.ts.map +1 -0
  136. package/build/types/utils/schema/resolveSchemaChain.d.ts +29 -8
  137. package/build/types/utils/schema/resolveSchemaChain.d.ts.map +1 -1
  138. package/build/types/utils/schema/runtimeSchema.d.ts +0 -32
  139. package/build/types/utils/schema/runtimeSchema.d.ts.map +1 -1
  140. package/build/types/utils/schema/writeAllSdkFiles.d.ts +8 -0
  141. package/build/types/utils/schema/writeAllSdkFiles.d.ts.map +1 -0
  142. package/build/types/utils/steps/convertStepsToIr.d.ts +3 -3
  143. package/build/types/utils/steps/convertStepsToIr.d.ts.map +1 -1
  144. package/package.json +3 -3
  145. package/build/esm/commands/schema/schemaGenTypesHandler.js +0 -147
  146. package/build/esm/commands/schema/schemaGenTypesHandler.js.map +0 -1
  147. package/build/types/commands/schema/schemaGenTypesHandler.d.ts +0 -8
  148. package/build/types/commands/schema/schemaGenTypesHandler.d.ts.map +0 -1
@@ -0,0 +1,36 @@
1
+ import type { IFieldTypeUnion } from "../../lib/pack-docschema-api/pack-docschema-ir/fieldTypeUnion.js";
2
+ import type { IRealTimeDocumentSchema } from "../../lib/pack-docschema-api/pack-docschema-ir/realTimeDocumentSchema.js";
3
+ /**
4
+ * Convert an IR field type to a TypeScript type string for public read types.
5
+ */
6
+ export declare function convertFieldTypeToTypeScript(fieldType: IFieldTypeUnion, version?: number): string;
7
+ /**
8
+ * Convert an IR field type to a Zod schema string.
9
+ */
10
+ export declare function convertFieldTypeToZodSchema(fieldType: IFieldTypeUnion, version?: number): string;
11
+ /**
12
+ * Convert an IR field type to a TypeScript string for internal types.
13
+ */
14
+ export declare function convertFieldTypeToInternalTypeScript(fieldType: IFieldTypeUnion, isOptional: boolean): string;
15
+ /**
16
+ * Convert an IR field type to a Zod schema string for internal schemas.
17
+ */
18
+ export declare function convertFieldTypeToInternalZod(fieldType: IFieldTypeUnion, isOptional: boolean): string;
19
+ /**
20
+ * Convert an IR field type to a FieldTypeDescriptor source string for UpgradeLens.
21
+ */
22
+ export declare function convertFieldTypeToDescriptor(fieldType: IFieldTypeUnion, isOptional: boolean): string;
23
+ /**
24
+ * Detect which external ref types (DocumentRef, MediaRef, ObjectRef, UserRef)
25
+ * are used anywhere in the IR schema.
26
+ */
27
+ export declare function detectUsedRefTypes(ir: IRealTimeDocumentSchema): Set<string>;
28
+ /**
29
+ * Collect schema-local type references (versioned type names) from a field type.
30
+ */
31
+ export declare function collectReferencedTypes(fieldType: IFieldTypeUnion, version: number, out: Set<string>): void;
32
+ /**
33
+ * Detect the external ref type (docRef, mediaRef, objectRef, userRef) of a field, if any.
34
+ */
35
+ export declare function findExternalRefType(fieldType: IFieldTypeUnion): string | undefined;
36
+ //# sourceMappingURL=irFieldHelpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"irFieldHelpers.d.ts","sourceRoot":"","sources":["../../../../src/utils/ir/irFieldHelpers.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kEAAkE,CAAC;AAExG,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,0EAA0E,CAAC;AAOxH;;GAEG;AACH,wBAAgB,4BAA4B,CAC1C,SAAS,EAAE,eAAe,EAC1B,OAAO,CAAC,EAAE,MAAM,GACf,MAAM,CAUR;AAgDD;;GAEG;AACH,wBAAgB,2BAA2B,CACzC,SAAS,EAAE,eAAe,EAC1B,OAAO,CAAC,EAAE,MAAM,GACf,MAAM,CAaR;AAqCD;;GAEG;AACH,wBAAgB,oCAAoC,CAClD,SAAS,EAAE,eAAe,EAC1B,UAAU,EAAE,OAAO,GAClB,MAAM,CAMR;AAmDD;;GAEG;AACH,wBAAgB,6BAA6B,CAC3C,SAAS,EAAE,eAAe,EAC1B,UAAU,EAAE,OAAO,GAClB,MAAM,CASR;AAiDD;;GAEG;AACH,wBAAgB,4BAA4B,CAC1C,SAAS,EAAE,eAAe,EAC1B,UAAU,EAAE,OAAO,GAClB,MAAM,CAMR;AAuCD;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,uBAAuB,GAAG,GAAG,CAAC,MAAM,CAAC,CAY3E;AA8BD;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,SAAS,EAAE,eAAe,EAC1B,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,GACf,IAAI,CASN;AAiBD;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,eAAe,GAAG,MAAM,GAAG,SAAS,CASlF"}
@@ -5,10 +5,19 @@ export declare const twoVersionFieldRemovalSchema: SchemaDefinition;
5
5
  export declare const twoVersionAdditiveSchema: SchemaDefinition;
6
6
  export declare const refFieldsSchema: SchemaDefinition;
7
7
  export declare const unionTypesSchema: SchemaDefinition;
8
- /** Schema with nested optionals: tests that optional inside array/nested structures is preserved */
8
+ /** Schema with nested optionals: tests that optional inside array structures is preserved */
9
9
  export declare const nestedOptionalsSchema: SchemaDefinition;
10
10
  /** Two-version schema with derived fields (color split into fillColor + strokeColor) */
11
11
  export declare const twoVersionDerivedFieldsSchema: SchemaDefinition;
12
+ /** Schema with aliased export key: export key "FooAlias" differs from model name "Foo" */
13
+ export declare const aliasedEntryNameSchema: SchemaDefinition;
14
+ export declare const nestedUnionSchema: SchemaDefinition;
15
+ /**
16
+ * Two-version schema where a field starts as Optional(String) in v1 and becomes
17
+ * required (String) in v2. The internal schema must remain optional because
18
+ * documents written under v1 may legitimately omit the field.
19
+ */
20
+ export declare const optionalToRequiredFieldSchema: SchemaDefinition;
12
21
  /** Three-version chain: Item (name, color -> name, hexColor -> name, hexColor, tags) */
13
22
  export declare const threeVersionChainSchema: SchemaDefinition;
14
23
  //# sourceMappingURL=fixtures.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"fixtures.d.ts","sourceRoot":"","sources":["../../../../../src/utils/schema/__tests__/fixtures.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAiB,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAyB7E,eAAO,MAAM,mBAAmB,EAAE,gBAA4C,CAAC;AAE/E,qGAAqG;AACrG,eAAO,MAAM,4BAA4B,EAAE,gBAkB1C,CAAC;AAYF,eAAO,MAAM,wBAAwB,EAAE,gBAE7B,CAAC;AAaX,eAAO,MAAM,eAAe,EAAE,gBAY5B,CAAC;AAWH,eAAO,MAAM,gBAAgB,EAAE,gBAU7B,CAAC;AAEH,oGAAoG;AACpG,eAAO,MAAM,qBAAqB,EAAE,gBAWlC,CAAC;AAEH,wFAAwF;AACxF,eAAO,MAAM,6BAA6B,EAAE,gBA8B3C,CAAC;AAEF,wFAAwF;AACxF,eAAO,MAAM,uBAAuB,EAAE,gBAwClC,CAAC"}
1
+ {"version":3,"file":"fixtures.d.ts","sourceRoot":"","sources":["../../../../../src/utils/schema/__tests__/fixtures.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAiB,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAyB7E,eAAO,MAAM,mBAAmB,EAAE,gBAA4C,CAAC;AAE/E,qGAAqG;AACrG,eAAO,MAAM,4BAA4B,EAAE,gBAkB1C,CAAC;AAYF,eAAO,MAAM,wBAAwB,EAAE,gBAE7B,CAAC;AAaX,eAAO,MAAM,eAAe,EAAE,gBAY5B,CAAC;AAWH,eAAO,MAAM,gBAAgB,EAAE,gBAU7B,CAAC;AAEH,6FAA6F;AAC7F,eAAO,MAAM,qBAAqB,EAAE,gBASlC,CAAC;AAEH,wFAAwF;AACxF,eAAO,MAAM,6BAA6B,EAAE,gBA8B3C,CAAC;AAEF,0FAA0F;AAC1F,eAAO,MAAM,sBAAsB,EAAE,gBAOnC,CAAC;AAqBH,eAAO,MAAM,iBAAiB,EAAE,gBAU9B,CAAC;AAEH;;;;GAIG;AACH,eAAO,MAAM,6BAA6B,EAAE,gBAwBxC,CAAC;AAEL,wFAAwF;AACxF,eAAO,MAAM,uBAAuB,EAAE,gBAwClC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"convertSchemaToSteps.d.ts","sourceRoot":"","sources":["../../../../src/utils/schema/convertSchemaToSteps.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,aAAa,EAAmB,MAAM,iCAAiC,CAAC;AACtF,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,2BAA2B,CAAC;AAqEnD,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,CAAC,CAAC,cAAc,GAAG,aAAa,EAAE,CA2B9E;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,aAAa,EAAE,GAAG,MAAM,CASvE"}
1
+ {"version":3,"file":"convertSchemaToSteps.d.ts","sourceRoot":"","sources":["../../../../src/utils/schema/convertSchemaToSteps.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,aAAa,EAAmB,MAAM,iCAAiC,CAAC;AACtF,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,2BAA2B,CAAC;AAqEnD,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,CAAC,CAAC,cAAc,GAAG,aAAa,EAAE,CAsC9E;AAED,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,aAAa,EAAE,GAAG,MAAM,CASvE"}
@@ -1,4 +1,4 @@
1
- import type { SchemaDefinition } from "@palantir/pack.schema";
1
+ import type { ResolvedIrChain } from "./resolveSchemaChain.js";
2
2
  /**
3
3
  * Generate the index.ts barrel export from a versioned schema.
4
4
  *
@@ -10,5 +10,5 @@ import type { SchemaDefinition } from "@palantir/pack.schema";
10
10
  * - Per supported version: explicit named type exports from `types_vN.js`
11
11
  * (not star exports, to avoid polluting autocomplete for read-only consumers)
12
12
  */
13
- export declare function generateIndexFromSchema(schema: SchemaDefinition, minSupportedVersion?: number): string;
13
+ export declare function generateIndexFromChain(resolved: ResolvedIrChain, minSupportedVersion?: number): string;
14
14
  //# sourceMappingURL=generateIndexFromSchema.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"generateIndexFromSchema.d.ts","sourceRoot":"","sources":["../../../../src/utils/schema/generateIndexFromSchema.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAe9D;;;;;;;;;;GAUG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,gBAAgB,EACxB,mBAAmB,CAAC,EAAE,MAAM,GAC3B,MAAM,CAuCR"}
1
+ {"version":3,"file":"generateIndexFromSchema.d.ts","sourceRoot":"","sources":["../../../../src/utils/schema/generateIndexFromSchema.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAW/D;;;;;;;;;;GAUG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,eAAe,EACzB,mBAAmB,CAAC,EAAE,MAAM,GAC3B,MAAM,CAwCR"}
@@ -1,4 +1,4 @@
1
- import type { SchemaDefinition } from "@palantir/pack.schema";
1
+ import type { ResolvedIrChain } from "./resolveSchemaChain.js";
2
2
  export interface InternalTypesOutput {
3
3
  /** _internal/types.ts content */
4
4
  internalTypes: string;
@@ -9,10 +9,7 @@ export interface InternalTypesOutput {
9
9
  }
10
10
  /**
11
11
  * Generate _internal/types.ts, _internal/upgrades.ts, and _internal/schema.ts
12
- * from a versioned schema chain.
13
- *
14
- * @param schema - The schema definition (initial or versioned)
15
- * @returns Object containing generated code for each internal file
12
+ * from an already-resolved versioned IR chain.
16
13
  */
17
- export declare function generateInternalFromSchema(schema: SchemaDefinition): InternalTypesOutput;
14
+ export declare function generateInternalFromChain(resolved: ResolvedIrChain): InternalTypesOutput;
18
15
  //# sourceMappingURL=generateInternalFromSchema.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"generateInternalFromSchema.d.ts","sourceRoot":"","sources":["../../../../src/utils/schema/generateInternalFromSchema.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAO9D,MAAM,WAAW,mBAAmB;IAClC,iCAAiC;IACjC,aAAa,EAAE,MAAM,CAAC;IACtB,oCAAoC;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,kCAAkC;IAClC,cAAc,EAAE,MAAM,CAAC;CACxB;AAsZD;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,gBAAgB,GACvB,mBAAmB,CAWrB"}
1
+ {"version":3,"file":"generateInternalFromSchema.d.ts","sourceRoot":"","sources":["../../../../src/utils/schema/generateInternalFromSchema.ts"],"names":[],"mappings":"AA0BA,OAAO,KAAK,EAAE,eAAe,EAAoB,MAAM,yBAAyB,CAAC;AAEjF,MAAM,WAAW,mBAAmB;IAClC,iCAAiC;IACjC,aAAa,EAAE,MAAM,CAAC;IACtB,oCAAoC;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,kCAAkC;IAClC,cAAc,EAAE,MAAM,CAAC;CACxB;AAsSD;;;GAGG;AACH,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,eAAe,GACxB,mBAAmB,CAWrB"}
@@ -1,15 +1,10 @@
1
- import type { SchemaDefinition } from "@palantir/pack.schema";
1
+ import type { ResolvedIrChain } from "./resolveSchemaChain.js";
2
2
  export interface ModelMetadataOutput {
3
3
  /** models.ts content -- DocumentModel with version metadata and upgrade references */
4
4
  modelsFile: string;
5
5
  }
6
6
  /**
7
- * Generate models.ts and schema manifest from a versioned schema chain.
8
- *
9
- * @param schema - The schema definition (initial or versioned)
10
- * @param minSupportedVersion - Minimum version this client supports (defaults to latest)
11
- * @param options - Configuration for import paths
12
- * @returns Object containing generated models.ts content and schema manifest JSON
7
+ * Generate models.ts from an already-resolved versioned IR chain.
13
8
  */
14
- export declare function generateModelMetadataFromSchema(schema: SchemaDefinition, minSupportedVersion?: number): ModelMetadataOutput;
9
+ export declare function generateModelMetadataFromChain(resolved: ResolvedIrChain, minSupportedVersion?: number): ModelMetadataOutput;
15
10
  //# sourceMappingURL=generateModelMetadataFromSchema.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"generateModelMetadataFromSchema.d.ts","sourceRoot":"","sources":["../../../../src/utils/schema/generateModelMetadataFromSchema.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAe9D,MAAM,WAAW,mBAAmB;IAClC,sFAAsF;IACtF,UAAU,EAAE,MAAM,CAAC;CACpB;AAsCD;;;;;;;GAOG;AACH,wBAAgB,+BAA+B,CAC7C,MAAM,EAAE,gBAAgB,EACxB,mBAAmB,CAAC,EAAE,MAAM,GAC3B,mBAAmB,CAmJrB"}
1
+ {"version":3,"file":"generateModelMetadataFromSchema.d.ts","sourceRoot":"","sources":["../../../../src/utils/schema/generateModelMetadataFromSchema.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAU/D,MAAM,WAAW,mBAAmB;IAClC,sFAAsF;IACtF,UAAU,EAAE,MAAM,CAAC;CACpB;AAeD;;GAEG;AACH,wBAAgB,8BAA8B,CAC5C,QAAQ,EAAE,eAAe,EACzB,mBAAmB,CAAC,EAAE,MAAM,GAC3B,mBAAmB,CAqJrB"}
@@ -1,4 +1,4 @@
1
- import type { SchemaDefinition } from "@palantir/pack.schema";
1
+ import type { ResolvedIrChain } from "./resolveSchemaChain.js";
2
2
  /**
3
3
  * Generate versionedDocRef.ts from a versioned schema chain.
4
4
  *
@@ -9,5 +9,5 @@ import type { SchemaDefinition } from "@palantir/pack.schema";
9
9
  * Every model gets a version-specific overload on every version so that
10
10
  * write data is always typed to the exact version, not the latest.
11
11
  */
12
- export declare function generateScopeFromSchema(schema: SchemaDefinition, minSupportedVersion?: number): string;
12
+ export declare function generateScopeFromChain(resolved: ResolvedIrChain, minSupportedVersion?: number): string;
13
13
  //# sourceMappingURL=generateScopeFromSchema.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"generateScopeFromSchema.d.ts","sourceRoot":"","sources":["../../../../src/utils/schema/generateScopeFromSchema.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAc9D;;;;;;;;;GASG;AACH,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,gBAAgB,EACxB,mBAAmB,CAAC,EAAE,MAAM,GAC3B,MAAM,CAmIR"}
1
+ {"version":3,"file":"generateScopeFromSchema.d.ts","sourceRoot":"","sources":["../../../../src/utils/schema/generateScopeFromSchema.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAW/D;;;;;;;;;GASG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,eAAe,EACzB,mBAAmB,CAAC,EAAE,MAAM,GAC3B,MAAM,CA8HR"}
@@ -1 +1 @@
1
- {"version":3,"file":"generateTypesFromSchema.d.ts","sourceRoot":"","sources":["../../../../src/utils/schema/generateTypesFromSchema.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AA2JpE,wBAAgB,uBAAuB,CAAC,CAAC,SAAS,cAAc,EAC9D,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,GAChB,MAAM,CA4CR"}
1
+ {"version":3,"file":"generateTypesFromSchema.d.ts","sourceRoot":"","sources":["../../../../src/utils/schema/generateTypesFromSchema.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAqKpE,wBAAgB,uBAAuB,CAAC,CAAC,SAAS,cAAc,EAC9D,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,GAChB,MAAM,CA4CR"}
@@ -1,4 +1,4 @@
1
- import type { SchemaDefinition } from "@palantir/pack.schema";
1
+ import type { ResolvedIrChain } from "./resolveSchemaChain.js";
2
2
  export interface VersionedTypesOutput {
3
3
  /** types_vN.ts files keyed by version number */
4
4
  readTypes: Map<number, string>;
@@ -8,11 +8,8 @@ export interface VersionedTypesOutput {
8
8
  typesReExport: string;
9
9
  }
10
10
  /**
11
- * Generate per-version public types and write types from a schema with version chain.
12
- *
13
- * @param schema - The schema, initial or versioned
14
- * @param minSupportedVersion - Minimum version to generate types for (defaults to latest)
15
- * @returns Object containing generated code for each output file
11
+ * Generate per-version public types and write types from an already-resolved
12
+ * versioned IR chain.
16
13
  */
17
- export declare function generateVersionedTypesFromSchema(schema: SchemaDefinition, minSupportedVersion?: number): VersionedTypesOutput;
14
+ export declare function generateVersionedTypesFromChain(resolved: ResolvedIrChain, minSupportedVersion?: number): VersionedTypesOutput;
18
15
  //# sourceMappingURL=generateVersionedTypesFromSchema.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"generateVersionedTypesFromSchema.d.ts","sourceRoot":"","sources":["../../../../src/utils/schema/generateVersionedTypesFromSchema.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAgB9D,MAAM,WAAW,oBAAoB;IACnC,gDAAgD;IAChD,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,qDAAqD;IACrD,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,yEAAyE;IACzE,aAAa,EAAE,MAAM,CAAC;CACvB;AAiSD;;;;;;GAMG;AACH,wBAAgB,gCAAgC,CAC9C,MAAM,EAAE,gBAAgB,EACxB,mBAAmB,CAAC,EAAE,MAAM,GAC3B,oBAAoB,CAgBtB"}
1
+ {"version":3,"file":"generateVersionedTypesFromSchema.d.ts","sourceRoot":"","sources":["../../../../src/utils/schema/generateVersionedTypesFromSchema.ts"],"names":[],"mappings":"AAwBA,OAAO,KAAK,EAAE,eAAe,EAAoB,MAAM,yBAAyB,CAAC;AAIjF,MAAM,WAAW,oBAAoB;IACnC,gDAAgD;IAChD,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,qDAAqD;IACrD,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,yEAAyE;IACzE,aAAa,EAAE,MAAM,CAAC;CACvB;AA8KD;;;GAGG;AACH,wBAAgB,+BAA+B,CAC7C,QAAQ,EAAE,eAAe,EACzB,mBAAmB,CAAC,EAAE,MAAM,GAC3B,oBAAoB,CAiBtB"}
@@ -1,4 +1,4 @@
1
- import type { SchemaDefinition } from "@palantir/pack.schema";
1
+ import type { ResolvedIrChain } from "./resolveSchemaChain.js";
2
2
  export interface VersionedZodOutput {
3
3
  /** schema_vN.ts files keyed by version number */
4
4
  zodSchemas: Map<number, string>;
@@ -6,11 +6,7 @@ export interface VersionedZodOutput {
6
6
  schemaReExport: string;
7
7
  }
8
8
  /**
9
- * Generate per-version Zod schemas from a schema definition with version chain.
10
- *
11
- * @param schema - The schema definition (initial or versioned)
12
- * @param minSupportedVersion - Minimum version to generate schemas for (defaults to latest)
13
- * @returns Object containing generated Zod schema code for each output file
9
+ * Generate per-version Zod schemas from an already-resolved versioned IR chain.
14
10
  */
15
- export declare function generateVersionedZodFromSchema(schema: SchemaDefinition, minSupportedVersion?: number): VersionedZodOutput;
11
+ export declare function generateVersionedZodFromChain(resolved: ResolvedIrChain, minSupportedVersion?: number): VersionedZodOutput;
16
12
  //# sourceMappingURL=generateVersionedZodFromSchema.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"generateVersionedZodFromSchema.d.ts","sourceRoot":"","sources":["../../../../src/utils/schema/generateVersionedZodFromSchema.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAiB9D,MAAM,WAAW,kBAAkB;IACjC,iDAAiD;IACjD,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,4EAA4E;IAC5E,cAAc,EAAE,MAAM,CAAC;CACxB;AAwLD;;;;;;GAMG;AACH,wBAAgB,8BAA8B,CAC5C,MAAM,EAAE,gBAAgB,EACxB,mBAAmB,CAAC,EAAE,MAAM,GAC3B,kBAAkB,CAcpB"}
1
+ {"version":3,"file":"generateVersionedZodFromSchema.d.ts","sourceRoot":"","sources":["../../../../src/utils/schema/generateVersionedZodFromSchema.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,eAAe,EAAoB,MAAM,yBAAyB,CAAC;AAIjF,MAAM,WAAW,kBAAkB;IACjC,iDAAiD;IACjD,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,4EAA4E;IAC5E,cAAc,EAAE,MAAM,CAAC;CACxB;AA2ID;;GAEG;AACH,wBAAgB,6BAA6B,CAC3C,QAAQ,EAAE,eAAe,EACzB,mBAAmB,CAAC,EAAE,MAAM,GAC3B,kBAAkB,CAepB"}
@@ -1,6 +1,6 @@
1
- import type { SchemaDefinition } from "@palantir/pack.schema";
1
+ import type { ResolvedIrChain } from "./resolveSchemaChain.js";
2
2
  /**
3
- * Generate versions.ts from a versioned schema chain.
3
+ * Generate versions.ts from an already-resolved versioned IR chain.
4
4
  *
5
5
  * Output:
6
6
  * ```
@@ -9,5 +9,5 @@ import type { SchemaDefinition } from "@palantir/pack.schema";
9
9
  * export type MinSupportedVersion = 1;
10
10
  * ```
11
11
  */
12
- export declare function generateVersionsFromSchema(schema: SchemaDefinition, minSupportedVersion?: number): string;
12
+ export declare function generateVersionsFromChain(resolved: ResolvedIrChain, minSupportedVersion?: number): string;
13
13
  //# sourceMappingURL=generateVersionsFromSchema.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"generateVersionsFromSchema.d.ts","sourceRoot":"","sources":["../../../../src/utils/schema/generateVersionsFromSchema.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAI9D;;;;;;;;;GASG;AACH,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,gBAAgB,EACxB,mBAAmB,CAAC,EAAE,MAAM,GAC3B,MAAM,CAgBR"}
1
+ {"version":3,"file":"generateVersionsFromSchema.d.ts","sourceRoot":"","sources":["../../../../src/utils/schema/generateVersionsFromSchema.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAG/D;;;;;;;;;GASG;AACH,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,eAAe,EACzB,mBAAmB,CAAC,EAAE,MAAM,GAC3B,MAAM,CAiBR"}
@@ -0,0 +1,14 @@
1
+ import type { SchemaDefinition } from "@palantir/pack.schema";
2
+ /**
3
+ * Pull a `SchemaDefinition` out of an imported module. Accepts either a chain
4
+ * built via `defineSchemaUpdate(...)` (`type: "initial" | "versioned"`) or a
5
+ * plain `ModelDefs` object exported as `default` (which is wrapped in an
6
+ * `InitialSchema` at version 1).
7
+ */
8
+ export declare function extractSchemaDefinition(schemaModule: unknown): SchemaDefinition;
9
+ /**
10
+ * Resolve and import a schema module from a file path, returning a
11
+ * `SchemaDefinition` ready for IR resolution.
12
+ */
13
+ export declare function loadSchemaModule(filePath: string): Promise<SchemaDefinition>;
14
+ //# sourceMappingURL=loadSchemaModule.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loadSchemaModule.d.ts","sourceRoot":"","sources":["../../../../src/utils/schema/loadSchemaModule.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAiB,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAM7E;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,YAAY,EAAE,OAAO,GAAG,gBAAgB,CAc/E;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAOlF"}
@@ -1,18 +1,39 @@
1
- import type { SchemaDefinition, VersionMigrations } from "@palantir/pack.schema";
2
- import type { RuntimeSchema } from "./runtimeSchema.js";
3
- export interface VersionedSchemaEntry {
1
+ import type { SchemaDefinition } from "@palantir/pack.schema";
2
+ import type { IRealTimeDocumentSchema } from "../../lib/pack-docschema-api/pack-docschema-ir/index.js";
3
+ /**
4
+ * JSON-serializable form of a single field migration. The `forward` callback
5
+ * from the schema builder is captured as its source string so the entry can be
6
+ * round-tripped through a JSON IR file.
7
+ */
8
+ export interface SerializedFieldMigration {
9
+ readonly derivedFrom: readonly string[];
10
+ /** `Function.toString()` output of the original `forward` callback. */
11
+ readonly forwardSource: string;
12
+ }
13
+ /** Serialized migrations keyed by `[recordModelName][fieldName]`. */
14
+ export type SerializedVersionMigrations = Record<string, Record<string, SerializedFieldMigration>>;
15
+ export interface VersionedIrEntry {
4
16
  version: number;
5
- schema: RuntimeSchema;
6
- migrations?: VersionMigrations;
17
+ ir: IRealTimeDocumentSchema;
18
+ migrations?: SerializedVersionMigrations;
7
19
  }
8
- export interface ResolvedSchemaChain {
9
- chain: VersionedSchemaEntry[];
20
+ export interface ResolvedIrChain {
21
+ chain: VersionedIrEntry[];
10
22
  latestVersion: number;
11
23
  minVersion: number;
12
24
  }
25
+ /**
26
+ * Validate `minSupportedVersion` against an already-resolved chain and return
27
+ * the effective `minVersion`. Throws on invalid input.
28
+ */
29
+ export declare function resolveMinVersion(chain: VersionedIrEntry[], minSupportedVersion: number | undefined): {
30
+ latestVersion: number;
31
+ minVersion: number;
32
+ };
13
33
  /**
14
34
  * Collect the version chain and resolve min/latest versions.
35
+ * Each version's models are converted to IR (IRealTimeDocumentSchema).
15
36
  * Throws on empty chain or invalid minSupportedVersion.
16
37
  */
17
- export declare function resolveSchemaChain(schema: SchemaDefinition, minSupportedVersion?: number): ResolvedSchemaChain;
38
+ export declare function resolveSchemaChain(schema: SchemaDefinition, minSupportedVersion?: number): ResolvedIrChain;
18
39
  //# sourceMappingURL=resolveSchemaChain.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"resolveSchemaChain.d.ts","sourceRoot":"","sources":["../../../../src/utils/schema/resolveSchemaChain.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AACjF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAExD,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,aAAa,CAAC;IACtB,UAAU,CAAC,EAAE,iBAAiB,CAAC;CAChC;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,oBAAoB,EAAE,CAAC;IAC9B,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;CACpB;AAmBD;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,gBAAgB,EACxB,mBAAmB,CAAC,EAAE,MAAM,GAC3B,mBAAmB,CAmBrB"}
1
+ {"version":3,"file":"resolveSchemaChain.d.ts","sourceRoot":"","sources":["../../../../src/utils/schema/resolveSchemaChain.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,gBAAgB,EAAqB,MAAM,uBAAuB,CAAC;AACjF,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,yDAAyD,CAAC;AAGvG;;;;GAIG;AACH,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;IACxC,uEAAuE;IACvE,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;CAChC;AAED,qEAAqE;AACrE,MAAM,MAAM,2BAA2B,GAAG,MAAM,CAC9C,MAAM,EACN,MAAM,CAAC,MAAM,EAAE,wBAAwB,CAAC,CACzC,CAAC;AAEF,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,EAAE,EAAE,uBAAuB,CAAC;IAC5B,UAAU,CAAC,EAAE,2BAA2B,CAAC;CAC1C;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,gBAAgB,EAAE,CAAC;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;CACpB;AA4CD;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,gBAAgB,EAAE,EACzB,mBAAmB,EAAE,MAAM,GAAG,SAAS,GACtC;IAAE,aAAa,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAkB/C;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,gBAAgB,EACxB,mBAAmB,CAAC,EAAE,MAAM,GAC3B,eAAe,CAIjB"}
@@ -1,35 +1,3 @@
1
- import { TypeKind as SchemaTypeKind } from "@palantir/pack.schema";
2
- export declare const TypeKind: typeof SchemaTypeKind & {
3
- readonly ANY: "any";
4
- };
5
- export declare const SchemaDefKind: {
6
- readonly RECORD: "record";
7
- readonly UNION: "union";
8
- };
9
- export interface SchemaField {
10
- readonly type: string;
11
- readonly items?: SchemaField;
12
- readonly item?: SchemaField;
13
- readonly refType?: "record" | "union";
14
- readonly name?: string;
15
- }
16
- export interface RuntimeSchemaRecord {
17
- readonly type: typeof SchemaDefKind.RECORD;
18
- readonly name: string;
19
- readonly docs?: string;
20
- readonly fields: Readonly<Record<string, SchemaField>>;
21
- }
22
- export interface RuntimeSchemaUnion {
23
- readonly type: typeof SchemaDefKind.UNION;
24
- readonly name?: string;
25
- readonly variants: Readonly<Record<string, SchemaField>>;
26
- readonly discriminant: string;
27
- }
28
- export type RuntimeSchemaItem = RuntimeSchemaRecord | RuntimeSchemaUnion;
29
- export type RuntimeSchema = Record<string, RuntimeSchemaItem>;
30
- export declare function isRecordSchema(item: RuntimeSchemaItem): item is RuntimeSchemaRecord;
31
- export declare function isUnionSchema(item: RuntimeSchemaItem): item is RuntimeSchemaUnion;
32
- export declare function findRecordExportName(recordName: string, schema: RuntimeSchema): string | null;
33
1
  /** Versioned read type name: `RecordName_vN` */
34
2
  export declare function versionedTypeName(exportName: string, version: number): string;
35
3
  /** Versioned write type name: `RecordNameUpdate_vN` */
@@ -1 +1 @@
1
- {"version":3,"file":"runtimeSchema.d.ts","sourceRoot":"","sources":["../../../../src/utils/schema/runtimeSchema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtimeSchema.d.ts","sourceRoot":"","sources":["../../../../src/utils/schema/runtimeSchema.ts"],"names":[],"mappings":"AAgBA,gDAAgD;AAChD,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAE7E;AAED,uDAAuD;AACvD,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAElF;AAED,uDAAuD;AACvD,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAE/E;AAED,6CAA6C;AAC7C,wBAAgB,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAEpD;AAED,sDAAsD;AACtD,wBAAgB,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAErD;AAED,mDAAmD;AACnD,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAErD;AAED,8DAA8D;AAC9D,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAE1D;AAED,8CAA8C;AAC9C,eAAO,MAAM,mBAAmB,eAAe,CAAC;AAEhD,gDAAgD;AAChD,eAAO,MAAM,oBAAoB,gBAAgB,CAAC;AAElD,sCAAsC;AACtC,eAAO,MAAM,WAAW,gBAAgB,CAAC;AAEzC,6DAA6D;AAC7D,eAAO,MAAM,sBAAsB,4BAA4B,CAAC;AAEhE,0CAA0C;AAC1C,eAAO,MAAM,aAAa,kBAAkB,CAAC;AAE7C,0DAA0D;AAC1D,eAAO,MAAM,sBAAsB,yBAAyB,CAAC"}
@@ -0,0 +1,8 @@
1
+ import type { ResolvedIrChain } from "./resolveSchemaChain.js";
2
+ /**
3
+ * Generate every versioned SDK output file from a resolved IR chain and write
4
+ * them to `outputDir`.
5
+ */
6
+ export declare function writeAllSdkFiles(resolved: ResolvedIrChain, outputDir: string, minSupportedVersion: number | undefined): Promise<void>;
7
+ export declare function parseMinVersion(minVersion: string | undefined): number | undefined;
8
+ //# sourceMappingURL=writeAllSdkFiles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"writeAllSdkFiles.d.ts","sourceRoot":"","sources":["../../../../src/utils/schema/writeAllSdkFiles.ts"],"names":[],"mappings":"AA0BA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE/D;;;GAGG;AACH,wBAAsB,gBAAgB,CACpC,QAAQ,EAAE,eAAe,EACzB,SAAS,EAAE,MAAM,EACjB,mBAAmB,EAAE,MAAM,GAAG,SAAS,GACtC,OAAO,CAAC,IAAI,CAAC,CAuEf;AAED,wBAAgB,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAOlF"}
@@ -15,7 +15,7 @@ export declare function convertStepsToIr(steps: readonly MigrationStep[], metada
15
15
  * Converts record and union definitions to Palantir IR format
16
16
  */
17
17
  export declare function convertSchemaToIr(inputSchema: P.Schema<P.ReturnedSchema>, metadata?: SchemaMetadata): IRealTimeDocumentSchema;
18
- export declare function convertRecordDefToIr(recordDef: P.RecordDef): IRecordDef;
19
- export declare function convertUnionDefToIr(unionDef: P.UnionDef): IUnionDef;
20
- export declare function convertTypeToFieldTypeUnion(schemaType: P.Type): IFieldTypeUnion;
18
+ export declare function convertRecordDefToIr(recordDef: P.RecordDef, exportKey?: string, nameToExportKey?: Map<string, string>): IRecordDef;
19
+ export declare function convertUnionDefToIr(unionDef: P.UnionDef, exportKey?: string, nameToExportKey?: Map<string, string>): IUnionDef;
20
+ export declare function convertTypeToFieldTypeUnion(schemaType: P.Type, nameToExportKey?: Map<string, string>): IFieldTypeUnion;
21
21
  //# sourceMappingURL=convertStepsToIr.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"convertStepsToIr.d.ts","sourceRoot":"","sources":["../../../../src/utils/steps/convertStepsToIr.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,KAAK,CAAC,MAAM,uBAAuB,CAAC;AAMhD,OAAO,KAAK,EAEV,uBAAuB,EACvB,UAAU,EACV,SAAS,EACV,MAAM,yDAAyD,CAAC;AACjE,OAAO,EACL,eAAe,EAGhB,MAAM,yDAAyD,CAAC;AAGjE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAE9D,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,SAAS,aAAa,EAAE,EAC/B,QAAQ,CAAC,EAAE,cAAc,GACxB,uBAAuB,CAUzB;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,EACvC,QAAQ,CAAC,EAAE,cAAc,GACxB,uBAAuB,CAiBzB;AAyBD,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,CAAC,CAAC,SAAS,GAAG,UAAU,CAgBvE;AAED,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,CAAC,CAAC,QAAQ,GAAG,SAAS,CAkBnE;AAGD,wBAAgB,2BAA2B,CAAC,UAAU,EAAE,CAAC,CAAC,IAAI,GAAG,eAAe,CA+B/E"}
1
+ {"version":3,"file":"convertStepsToIr.d.ts","sourceRoot":"","sources":["../../../../src/utils/steps/convertStepsToIr.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,KAAK,CAAC,MAAM,uBAAuB,CAAC;AAMhD,OAAO,KAAK,EAEV,uBAAuB,EACvB,UAAU,EACV,SAAS,EACV,MAAM,yDAAyD,CAAC;AACjE,OAAO,EACL,eAAe,EAGhB,MAAM,yDAAyD,CAAC;AAGjE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAE9D,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,SAAS,aAAa,EAAE,EAC/B,QAAQ,CAAC,EAAE,cAAc,GACxB,uBAAuB,CAUzB;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,EACvC,QAAQ,CAAC,EAAE,cAAc,GACxB,uBAAuB,CA6BzB;AAiCD,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,CAAC,CAAC,SAAS,EACtB,SAAS,CAAC,EAAE,MAAM,EAClB,eAAe,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GACpC,UAAU,CAiBZ;AAED,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,CAAC,CAAC,QAAQ,EACpB,SAAS,CAAC,EAAE,MAAM,EAClB,eAAe,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GACpC,SAAS,CAmBX;AAGD,wBAAgB,2BAA2B,CACzC,UAAU,EAAE,CAAC,CAAC,IAAI,EAClB,eAAe,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GACpC,eAAe,CA+BjB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@palantir/pack.document-schema.type-gen",
3
- "version": "0.9.0",
3
+ "version": "0.10.0",
4
4
  "description": "TypeScript type generation from document schema",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
@@ -27,8 +27,8 @@
27
27
  "tiny-invariant": "^1.3.3",
28
28
  "yaml": "^2.8.2",
29
29
  "zod": "^4.1.13",
30
- "@palantir/pack.document-schema.model-types": "~0.8.0",
31
- "@palantir/pack.schema": "0.4.0"
30
+ "@palantir/pack.schema": "0.5.0",
31
+ "@palantir/pack.document-schema.model-types": "~0.9.0"
32
32
  },
33
33
  "devDependencies": {
34
34
  "@types/fs-extra": "^11.0.4",
@@ -1,147 +0,0 @@
1
- /*
2
- * Copyright 2026 Palantir Technologies, Inc. All rights reserved.
3
- *
4
- * Licensed under the Apache License, Version 2.0 (the "License");
5
- * you may not use this file except in compliance with the License.
6
- * You may obtain a copy of the License at
7
- *
8
- * http://www.apache.org/licenses/LICENSE-2.0
9
- *
10
- * Unless required by applicable law or agreed to in writing, software
11
- * distributed under the License is distributed on an "AS IS" BASIS,
12
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- * See the License for the specific language governing permissions and
14
- * limitations under the License.
15
- */
16
-
17
- import { consola } from "consola";
18
- import fs from "fs-extra";
19
- import path from "path";
20
- import { pathToFileURL } from "url";
21
- import { generateIndexFromSchema } from "../../utils/schema/generateIndexFromSchema.js";
22
- import { generateInternalFromSchema } from "../../utils/schema/generateInternalFromSchema.js";
23
- import { generateModelMetadataFromSchema } from "../../utils/schema/generateModelMetadataFromSchema.js";
24
- import { generateScopeFromSchema } from "../../utils/schema/generateScopeFromSchema.js";
25
- import { generateVersionedTypesFromSchema } from "../../utils/schema/generateVersionedTypesFromSchema.js";
26
- import { generateVersionedZodFromSchema } from "../../utils/schema/generateVersionedZodFromSchema.js";
27
- import { generateVersionsFromSchema } from "../../utils/schema/generateVersionsFromSchema.js";
28
- import { extractValidSchema } from "../../utils/schema/validateSchemaModule.js";
29
- function extractSchemaDefinition(schemaModule) {
30
- const defaultExport = schemaModule.default;
31
- if (typeof defaultExport === "object" && defaultExport != null && "type" in defaultExport && (defaultExport.type === "initial" || defaultExport.type === "versioned")) {
32
- return defaultExport;
33
- }
34
-
35
- // Wrap plain ModelDefs as InitialSchema
36
- const models = extractValidSchema(schemaModule);
37
- return {
38
- type: "initial",
39
- version: 1,
40
- models
41
- };
42
- }
43
- export async function schemaGenTypesHandler(options) {
44
- const {
45
- input,
46
- output: outputDir,
47
- minVersion
48
- } = options;
49
- const inputPath = path.resolve(input);
50
- if (!(await fs.pathExists(inputPath))) {
51
- throw new Error(`Input file not found: ${inputPath}`);
52
- }
53
- consola.info(`Loading schema from: ${inputPath}`);
54
- const schemaUrl = pathToFileURL(inputPath).href;
55
- const schemaModule = await import(schemaUrl);
56
- const schema = extractSchemaDefinition(schemaModule);
57
- let minSupportedVersion;
58
- if (minVersion != null) {
59
- minSupportedVersion = parseInt(minVersion, 10);
60
- if (isNaN(minSupportedVersion)) {
61
- throw new Error(`--min-version must be a valid integer, got: "${minVersion}"`);
62
- }
63
- }
64
- const resolvedOutputDir = path.resolve(outputDir);
65
- await fs.ensureDir(resolvedOutputDir);
66
-
67
- // Generate versioned types
68
- consola.info("Generating versioned types...");
69
- const result = generateVersionedTypesFromSchema(schema, minSupportedVersion);
70
-
71
- // Write per-version read types
72
- for (const [version, content] of result.readTypes) {
73
- const filePath = path.join(resolvedOutputDir, `types_v${version}.ts`);
74
- await fs.writeFile(filePath, content, "utf8");
75
- consola.success(`Generated read types: ${filePath}`);
76
- }
77
-
78
- // Write per-version write types
79
- for (const [version, content] of result.writeTypes) {
80
- const filePath = path.join(resolvedOutputDir, `writeTypes_v${version}.ts`);
81
- await fs.writeFile(filePath, content, "utf8");
82
- consola.success(`Generated write types: ${filePath}`);
83
- }
84
-
85
- // Write types.ts re-export
86
- const typesPath = path.join(resolvedOutputDir, "types.ts");
87
- await fs.writeFile(typesPath, result.typesReExport, "utf8");
88
- consola.success(`Generated types re-export: ${typesPath}`);
89
-
90
- // Generate per-version Zod schemas
91
- consola.info("Generating versioned Zod schemas...");
92
- const zodResult = generateVersionedZodFromSchema(schema, minSupportedVersion);
93
- for (const [version, content] of zodResult.zodSchemas) {
94
- const filePath = path.join(resolvedOutputDir, `schema_v${version}.ts`);
95
- await fs.writeFile(filePath, content, "utf8");
96
- consola.success(`Generated Zod schema: ${filePath}`);
97
- }
98
-
99
- // Write schema.ts re-export
100
- const schemaPath = path.join(resolvedOutputDir, "schema.ts");
101
- await fs.writeFile(schemaPath, zodResult.schemaReExport, "utf8");
102
- consola.success(`Generated schema re-export: ${schemaPath}`);
103
-
104
- // Generate internal files
105
- consola.info("Generating internal types and upgrades...");
106
- const internal = generateInternalFromSchema(schema);
107
- const internalDir = path.join(resolvedOutputDir, "_internal");
108
- await fs.ensureDir(internalDir);
109
- const internalTypesPath = path.join(internalDir, "types.ts");
110
- await fs.writeFile(internalTypesPath, internal.internalTypes, "utf8");
111
- consola.success(`Generated internal types: ${internalTypesPath}`);
112
- const upgradesPath = path.join(internalDir, "upgrades.ts");
113
- await fs.writeFile(upgradesPath, internal.upgrades, "utf8");
114
- consola.success(`Generated upgrades: ${upgradesPath}`);
115
- const internalSchemaPath = path.join(internalDir, "schema.ts");
116
- await fs.writeFile(internalSchemaPath, internal.internalSchema, "utf8");
117
- consola.success(`Generated internal schema: ${internalSchemaPath}`);
118
-
119
- // Generate versions.ts
120
- consola.info("Generating version types...");
121
- const versionsContent = generateVersionsFromSchema(schema, minSupportedVersion);
122
- const versionsPath = path.join(resolvedOutputDir, "versions.ts");
123
- await fs.writeFile(versionsPath, versionsContent, "utf8");
124
- consola.success(`Generated versions: ${versionsPath}`);
125
-
126
- // Generate index.ts barrel export
127
- consola.info("Generating index barrel export...");
128
- const indexContent = generateIndexFromSchema(schema, minSupportedVersion);
129
- const indexPath = path.join(resolvedOutputDir, "index.ts");
130
- await fs.writeFile(indexPath, indexContent, "utf8");
131
- consola.success(`Generated index: ${indexPath}`);
132
-
133
- // Generate models.ts with version metadata
134
- consola.info("Generating model metadata...");
135
- const modelMetadata = generateModelMetadataFromSchema(schema, minSupportedVersion);
136
- const modelsPath = path.join(resolvedOutputDir, "models.ts");
137
- await fs.writeFile(modelsPath, modelMetadata.modelsFile, "utf8");
138
- consola.success(`Generated models: ${modelsPath}`);
139
-
140
- // Generate versionedDocRef.ts
141
- consola.info("Generating versioned document ref types...");
142
- const versionedDocRefContent = generateScopeFromSchema(schema, minSupportedVersion);
143
- const versionedDocRefPath = path.join(resolvedOutputDir, "versionedDocRef.ts");
144
- await fs.writeFile(versionedDocRefPath, versionedDocRefContent, "utf8");
145
- consola.success(`Generated versioned doc ref: ${versionedDocRefPath}`);
146
- }
147
- //# sourceMappingURL=schemaGenTypesHandler.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"schemaGenTypesHandler.js","names":["consola","fs","path","pathToFileURL","generateIndexFromSchema","generateInternalFromSchema","generateModelMetadataFromSchema","generateScopeFromSchema","generateVersionedTypesFromSchema","generateVersionedZodFromSchema","generateVersionsFromSchema","extractValidSchema","extractSchemaDefinition","schemaModule","defaultExport","default","type","models","version","schemaGenTypesHandler","options","input","output","outputDir","minVersion","inputPath","resolve","pathExists","Error","info","schemaUrl","href","schema","minSupportedVersion","parseInt","isNaN","resolvedOutputDir","ensureDir","result","content","readTypes","filePath","join","writeFile","success","writeTypes","typesPath","typesReExport","zodResult","zodSchemas","schemaPath","schemaReExport","internal","internalDir","internalTypesPath","internalTypes","upgradesPath","upgrades","internalSchemaPath","internalSchema","versionsContent","versionsPath","indexContent","indexPath","modelMetadata","modelsPath","modelsFile","versionedDocRefContent","versionedDocRefPath"],"sources":["schemaGenTypesHandler.ts"],"sourcesContent":["/*\n * Copyright 2026 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type { InitialSchema, SchemaDefinition } from \"@palantir/pack.schema\";\nimport { consola } from \"consola\";\nimport fs from \"fs-extra\";\nimport path from \"path\";\nimport { pathToFileURL } from \"url\";\nimport { generateIndexFromSchema } from \"../../utils/schema/generateIndexFromSchema.js\";\nimport { generateInternalFromSchema } from \"../../utils/schema/generateInternalFromSchema.js\";\nimport { generateModelMetadataFromSchema } from \"../../utils/schema/generateModelMetadataFromSchema.js\";\nimport { generateScopeFromSchema } from \"../../utils/schema/generateScopeFromSchema.js\";\nimport { generateVersionedTypesFromSchema } from \"../../utils/schema/generateVersionedTypesFromSchema.js\";\nimport { generateVersionedZodFromSchema } from \"../../utils/schema/generateVersionedZodFromSchema.js\";\nimport { generateVersionsFromSchema } from \"../../utils/schema/generateVersionsFromSchema.js\";\nimport { extractValidSchema } from \"../../utils/schema/validateSchemaModule.js\";\n\ninterface SchemaGenTypesOptions {\n input: string;\n output: string;\n minVersion?: string;\n}\n\nfunction extractSchemaDefinition(schemaModule: unknown): SchemaDefinition {\n const mod = schemaModule as Record<string, unknown>;\n const defaultExport = mod.default;\n\n if (\n typeof defaultExport === \"object\" && defaultExport != null\n && \"type\" in defaultExport\n && (defaultExport.type === \"initial\" || defaultExport.type === \"versioned\")\n ) {\n return defaultExport as SchemaDefinition;\n }\n\n // Wrap plain ModelDefs as InitialSchema\n const models = extractValidSchema(schemaModule);\n return { type: \"initial\", version: 1, models } satisfies InitialSchema;\n}\n\nexport async function schemaGenTypesHandler(options: SchemaGenTypesOptions): Promise<void> {\n const { input, output: outputDir, minVersion } = options;\n\n const inputPath = path.resolve(input);\n\n if (!await fs.pathExists(inputPath)) {\n throw new Error(`Input file not found: ${inputPath}`);\n }\n\n consola.info(`Loading schema from: ${inputPath}`);\n\n const schemaUrl = pathToFileURL(inputPath).href;\n const schemaModule: unknown = await import(schemaUrl);\n\n const schema = extractSchemaDefinition(schemaModule);\n let minSupportedVersion: number | undefined;\n if (minVersion != null) {\n minSupportedVersion = parseInt(minVersion, 10);\n if (isNaN(minSupportedVersion)) {\n throw new Error(`--min-version must be a valid integer, got: \"${minVersion}\"`);\n }\n }\n\n const resolvedOutputDir = path.resolve(outputDir);\n await fs.ensureDir(resolvedOutputDir);\n\n // Generate versioned types\n consola.info(\"Generating versioned types...\");\n const result = generateVersionedTypesFromSchema(schema, minSupportedVersion);\n\n // Write per-version read types\n for (const [version, content] of result.readTypes) {\n const filePath = path.join(resolvedOutputDir, `types_v${version}.ts`);\n await fs.writeFile(filePath, content, \"utf8\");\n consola.success(`Generated read types: ${filePath}`);\n }\n\n // Write per-version write types\n for (const [version, content] of result.writeTypes) {\n const filePath = path.join(resolvedOutputDir, `writeTypes_v${version}.ts`);\n await fs.writeFile(filePath, content, \"utf8\");\n consola.success(`Generated write types: ${filePath}`);\n }\n\n // Write types.ts re-export\n const typesPath = path.join(resolvedOutputDir, \"types.ts\");\n await fs.writeFile(typesPath, result.typesReExport, \"utf8\");\n consola.success(`Generated types re-export: ${typesPath}`);\n\n // Generate per-version Zod schemas\n consola.info(\"Generating versioned Zod schemas...\");\n const zodResult = generateVersionedZodFromSchema(schema, minSupportedVersion);\n\n for (const [version, content] of zodResult.zodSchemas) {\n const filePath = path.join(resolvedOutputDir, `schema_v${version}.ts`);\n await fs.writeFile(filePath, content, \"utf8\");\n consola.success(`Generated Zod schema: ${filePath}`);\n }\n\n // Write schema.ts re-export\n const schemaPath = path.join(resolvedOutputDir, \"schema.ts\");\n await fs.writeFile(schemaPath, zodResult.schemaReExport, \"utf8\");\n consola.success(`Generated schema re-export: ${schemaPath}`);\n\n // Generate internal files\n consola.info(\"Generating internal types and upgrades...\");\n const internal = generateInternalFromSchema(schema);\n\n const internalDir = path.join(resolvedOutputDir, \"_internal\");\n await fs.ensureDir(internalDir);\n\n const internalTypesPath = path.join(internalDir, \"types.ts\");\n await fs.writeFile(internalTypesPath, internal.internalTypes, \"utf8\");\n consola.success(`Generated internal types: ${internalTypesPath}`);\n\n const upgradesPath = path.join(internalDir, \"upgrades.ts\");\n await fs.writeFile(upgradesPath, internal.upgrades, \"utf8\");\n consola.success(`Generated upgrades: ${upgradesPath}`);\n\n const internalSchemaPath = path.join(internalDir, \"schema.ts\");\n await fs.writeFile(internalSchemaPath, internal.internalSchema, \"utf8\");\n consola.success(`Generated internal schema: ${internalSchemaPath}`);\n\n // Generate versions.ts\n consola.info(\"Generating version types...\");\n const versionsContent = generateVersionsFromSchema(schema, minSupportedVersion);\n const versionsPath = path.join(resolvedOutputDir, \"versions.ts\");\n await fs.writeFile(versionsPath, versionsContent, \"utf8\");\n consola.success(`Generated versions: ${versionsPath}`);\n\n // Generate index.ts barrel export\n consola.info(\"Generating index barrel export...\");\n const indexContent = generateIndexFromSchema(schema, minSupportedVersion);\n const indexPath = path.join(resolvedOutputDir, \"index.ts\");\n await fs.writeFile(indexPath, indexContent, \"utf8\");\n consola.success(`Generated index: ${indexPath}`);\n\n // Generate models.ts with version metadata\n consola.info(\"Generating model metadata...\");\n const modelMetadata = generateModelMetadataFromSchema(schema, minSupportedVersion);\n\n const modelsPath = path.join(resolvedOutputDir, \"models.ts\");\n await fs.writeFile(modelsPath, modelMetadata.modelsFile, \"utf8\");\n consola.success(`Generated models: ${modelsPath}`);\n\n // Generate versionedDocRef.ts\n consola.info(\"Generating versioned document ref types...\");\n const versionedDocRefContent = generateScopeFromSchema(schema, minSupportedVersion);\n const versionedDocRefPath = path.join(resolvedOutputDir, \"versionedDocRef.ts\");\n await fs.writeFile(versionedDocRefPath, versionedDocRefContent, \"utf8\");\n consola.success(`Generated versioned doc ref: ${versionedDocRefPath}`);\n}\n"],"mappings":"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","ignoreList":[]}