@palantir/pack.document-schema.type-gen 0.9.0 → 0.11.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 (156) 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/assetUpdateSchemaHandler.js +84 -0
  6. package/build/esm/commands/asset/assetUpdateSchemaHandler.js.map +1 -0
  7. package/build/esm/commands/asset/registerAssetCommands.js +3 -1
  8. package/build/esm/commands/asset/registerAssetCommands.js.map +1 -1
  9. package/build/esm/commands/ir/irGenTypesHandler.js +49 -0
  10. package/build/esm/commands/ir/irGenTypesHandler.js.map +1 -0
  11. package/build/esm/commands/ir/registerIrCommands.js +2 -0
  12. package/build/esm/commands/ir/registerIrCommands.js.map +1 -1
  13. package/build/esm/commands/schema/registerSchemaCommands.js +2 -2
  14. package/build/esm/commands/schema/registerSchemaCommands.js.map +1 -1
  15. package/build/esm/commands/schema/schemaIrHandler.js +56 -0
  16. package/build/esm/commands/schema/schemaIrHandler.js.map +1 -0
  17. package/build/esm/index.js +0 -6
  18. package/build/esm/index.js.map +1 -1
  19. package/build/esm/utils/ir/__tests__/__snapshots__/generateModelsFromIr/custom-discriminant.js +1 -1
  20. package/build/esm/utils/ir/__tests__/__snapshots__/generateModelsFromIr/custom-discriminant.js.map +1 -1
  21. package/build/esm/utils/ir/__tests__/__snapshots__/generateModelsFromIr/external-refs.js +1 -1
  22. package/build/esm/utils/ir/__tests__/__snapshots__/generateModelsFromIr/external-refs.js.map +1 -1
  23. package/build/esm/utils/ir/__tests__/__snapshots__/generateModelsFromIr/simple-record.js +1 -1
  24. package/build/esm/utils/ir/__tests__/__snapshots__/generateModelsFromIr/simple-record.js.map +1 -1
  25. package/build/esm/utils/ir/__tests__/__snapshots__/generateModelsFromIr/union-types.js +1 -1
  26. package/build/esm/utils/ir/__tests__/__snapshots__/generateModelsFromIr/union-types.js.map +1 -1
  27. package/build/esm/utils/ir/__tests__/__snapshots__/generateZodSchemasFromIr/array-and-map-types.js +1 -1
  28. package/build/esm/utils/ir/__tests__/__snapshots__/generateZodSchemasFromIr/array-and-map-types.js.map +1 -1
  29. package/build/esm/utils/ir/__tests__/__snapshots__/generateZodSchemasFromIr/boolean-fields.js +1 -1
  30. package/build/esm/utils/ir/__tests__/__snapshots__/generateZodSchemasFromIr/boolean-fields.js.map +1 -1
  31. package/build/esm/utils/ir/__tests__/__snapshots__/generateZodSchemasFromIr/custom-discriminant.js +1 -1
  32. package/build/esm/utils/ir/__tests__/__snapshots__/generateZodSchemasFromIr/custom-discriminant.js.map +1 -1
  33. package/build/esm/utils/ir/__tests__/__snapshots__/generateZodSchemasFromIr/datetime-fields.js +1 -1
  34. package/build/esm/utils/ir/__tests__/__snapshots__/generateZodSchemasFromIr/datetime-fields.js.map +1 -1
  35. package/build/esm/utils/ir/__tests__/__snapshots__/generateZodSchemasFromIr/simple-records.js +1 -1
  36. package/build/esm/utils/ir/__tests__/__snapshots__/generateZodSchemasFromIr/simple-records.js.map +1 -1
  37. package/build/esm/utils/ir/__tests__/__snapshots__/generateZodSchemasFromIr/union-before-records.js +1 -1
  38. package/build/esm/utils/ir/__tests__/__snapshots__/generateZodSchemasFromIr/union-before-records.js.map +1 -1
  39. package/build/esm/utils/ir/__tests__/__snapshots__/generateZodSchemasFromIr/union-types.js +1 -1
  40. package/build/esm/utils/ir/__tests__/__snapshots__/generateZodSchemasFromIr/union-types.js.map +1 -1
  41. package/build/esm/utils/ir/__tests__/convertIrToWireSchema.test.js +23 -0
  42. package/build/esm/utils/ir/__tests__/convertIrToWireSchema.test.js.map +1 -1
  43. package/build/esm/utils/ir/irFieldHelpers.js +383 -0
  44. package/build/esm/utils/ir/irFieldHelpers.js.map +1 -0
  45. package/build/esm/utils/schema/__tests__/__snapshots__/generateVersionsFromSchema/single-version.js.map +1 -1
  46. package/build/esm/utils/schema/__tests__/__snapshots__/generateVersionsFromSchema/three-version-chain.js.map +1 -1
  47. package/build/esm/utils/schema/__tests__/__snapshots__/generateVersionsFromSchema/two-version.js.map +1 -1
  48. package/build/esm/utils/schema/__tests__/convertSchemaToSteps.test.js +13 -0
  49. package/build/esm/utils/schema/__tests__/convertSchemaToSteps.test.js.map +1 -1
  50. package/build/esm/utils/schema/__tests__/fixtures.js +78 -13
  51. package/build/esm/utils/schema/__tests__/fixtures.js.map +1 -1
  52. package/build/esm/utils/schema/__tests__/generateInternalFromSchema.test.js +19 -7
  53. package/build/esm/utils/schema/__tests__/generateInternalFromSchema.test.js.map +1 -1
  54. package/build/esm/utils/schema/__tests__/generateModelMetadataFromSchema.test.js +12 -7
  55. package/build/esm/utils/schema/__tests__/generateModelMetadataFromSchema.test.js.map +1 -1
  56. package/build/esm/utils/schema/__tests__/generateScopeFromSchema.test.js +6 -5
  57. package/build/esm/utils/schema/__tests__/generateScopeFromSchema.test.js.map +1 -1
  58. package/build/esm/utils/schema/__tests__/generateVersionedTypesFromSchema.test.js +19 -10
  59. package/build/esm/utils/schema/__tests__/generateVersionedTypesFromSchema.test.js.map +1 -1
  60. package/build/esm/utils/schema/__tests__/generateVersionedZodFromSchema.test.js +15 -10
  61. package/build/esm/utils/schema/__tests__/generateVersionedZodFromSchema.test.js.map +1 -1
  62. package/build/esm/utils/schema/__tests__/generateVersionsFromSchema.test.js +6 -5
  63. package/build/esm/utils/schema/__tests__/generateVersionsFromSchema.test.js.map +1 -1
  64. package/build/esm/utils/schema/__tests__/snapshotUtils.js +3 -0
  65. package/build/esm/utils/schema/__tests__/snapshotUtils.js.map +1 -1
  66. package/build/esm/utils/schema/convertSchemaToSteps.js +6 -0
  67. package/build/esm/utils/schema/convertSchemaToSteps.js.map +1 -1
  68. package/build/esm/utils/schema/generateIndexFromSchema.js +21 -14
  69. package/build/esm/utils/schema/generateIndexFromSchema.js.map +1 -1
  70. package/build/esm/utils/schema/generateInternalFromSchema.js +202 -191
  71. package/build/esm/utils/schema/generateInternalFromSchema.js.map +1 -1
  72. package/build/esm/utils/schema/generateModelMetadataFromSchema.js +89 -80
  73. package/build/esm/utils/schema/generateModelMetadataFromSchema.js.map +1 -1
  74. package/build/esm/utils/schema/generateScopeFromSchema.js +29 -33
  75. package/build/esm/utils/schema/generateScopeFromSchema.js.map +1 -1
  76. package/build/esm/utils/schema/generateTypesFromSchema.js +9 -1
  77. package/build/esm/utils/schema/generateTypesFromSchema.js.map +1 -1
  78. package/build/esm/utils/schema/generateVersionedTypesFromSchema.js +61 -155
  79. package/build/esm/utils/schema/generateVersionedTypesFromSchema.js.map +1 -1
  80. package/build/esm/utils/schema/generateVersionedZodFromSchema.js +58 -94
  81. package/build/esm/utils/schema/generateVersionedZodFromSchema.js.map +1 -1
  82. package/build/esm/utils/schema/generateVersionsFromSchema.js +7 -5
  83. package/build/esm/utils/schema/generateVersionsFromSchema.js.map +1 -1
  84. package/build/esm/utils/schema/loadSchemaModule.js +53 -0
  85. package/build/esm/utils/schema/loadSchemaModule.js.map +1 -0
  86. package/build/esm/utils/schema/resolveSchemaChain.js +68 -9
  87. package/build/esm/utils/schema/resolveSchemaChain.js.map +1 -1
  88. package/build/esm/utils/schema/runtimeSchema.js +3 -27
  89. package/build/esm/utils/schema/runtimeSchema.js.map +1 -1
  90. package/build/esm/utils/schema/writeAllSdkFiles.js +113 -0
  91. package/build/esm/utils/schema/writeAllSdkFiles.js.map +1 -0
  92. package/build/esm/utils/steps/__tests__/__snapshots__/types/arrayFields.js.map +1 -1
  93. package/build/esm/utils/steps/__tests__/__snapshots__/types/customDiscriminant.js +1 -1
  94. package/build/esm/utils/steps/__tests__/__snapshots__/types/customDiscriminant.js.map +1 -1
  95. package/build/esm/utils/steps/__tests__/__snapshots__/types/generateTypeScriptInterfaces.js +1 -1
  96. package/build/esm/utils/steps/__tests__/__snapshots__/types/generateTypeScriptInterfaces.js.map +1 -1
  97. package/build/esm/utils/steps/__tests__/__snapshots__/types/refTypes.js.map +1 -1
  98. package/build/esm/utils/steps/__tests__/__snapshots__/types/simpleRecord.js.map +1 -1
  99. package/build/esm/utils/steps/__tests__/__snapshots__/types/simpleSteps.js +1 -1
  100. package/build/esm/utils/steps/__tests__/__snapshots__/types/simpleSteps.js.map +1 -1
  101. package/build/esm/utils/steps/__tests__/convertStepsToIr.test.js +93 -1
  102. package/build/esm/utils/steps/__tests__/convertStepsToIr.test.js.map +1 -1
  103. package/build/esm/utils/steps/convertStepsToIr.js +43 -35
  104. package/build/esm/utils/steps/convertStepsToIr.js.map +1 -1
  105. package/build/types/commands/asset/__tests__/buildPrefixRewriteFetch.test.d.ts +2 -0
  106. package/build/types/commands/asset/__tests__/buildPrefixRewriteFetch.test.d.ts.map +1 -0
  107. package/build/types/commands/asset/assetDeployHandler.d.ts +15 -0
  108. package/build/types/commands/asset/assetDeployHandler.d.ts.map +1 -1
  109. package/build/types/commands/asset/assetUpdateSchemaHandler.d.ts +12 -0
  110. package/build/types/commands/asset/assetUpdateSchemaHandler.d.ts.map +1 -0
  111. package/build/types/commands/asset/registerAssetCommands.d.ts.map +1 -1
  112. package/build/types/commands/ir/irGenTypesHandler.d.ts +8 -0
  113. package/build/types/commands/ir/irGenTypesHandler.d.ts.map +1 -0
  114. package/build/types/commands/ir/registerIrCommands.d.ts.map +1 -1
  115. package/build/types/commands/schema/registerSchemaCommands.d.ts.map +1 -1
  116. package/build/types/commands/schema/schemaIrHandler.d.ts +19 -0
  117. package/build/types/commands/schema/schemaIrHandler.d.ts.map +1 -0
  118. package/build/types/index.d.ts +1 -6
  119. package/build/types/index.d.ts.map +1 -1
  120. package/build/types/utils/ir/irFieldHelpers.d.ts +36 -0
  121. package/build/types/utils/ir/irFieldHelpers.d.ts.map +1 -0
  122. package/build/types/utils/schema/__tests__/fixtures.d.ts +10 -1
  123. package/build/types/utils/schema/__tests__/fixtures.d.ts.map +1 -1
  124. package/build/types/utils/schema/__tests__/snapshotUtils.d.ts +2 -0
  125. package/build/types/utils/schema/__tests__/snapshotUtils.d.ts.map +1 -1
  126. package/build/types/utils/schema/convertSchemaToSteps.d.ts.map +1 -1
  127. package/build/types/utils/schema/generateIndexFromSchema.d.ts +5 -3
  128. package/build/types/utils/schema/generateIndexFromSchema.d.ts.map +1 -1
  129. package/build/types/utils/schema/generateInternalFromSchema.d.ts +6 -7
  130. package/build/types/utils/schema/generateInternalFromSchema.d.ts.map +1 -1
  131. package/build/types/utils/schema/generateModelMetadataFromSchema.d.ts +3 -8
  132. package/build/types/utils/schema/generateModelMetadataFromSchema.d.ts.map +1 -1
  133. package/build/types/utils/schema/generateScopeFromSchema.d.ts +2 -2
  134. package/build/types/utils/schema/generateScopeFromSchema.d.ts.map +1 -1
  135. package/build/types/utils/schema/generateTypesFromSchema.d.ts.map +1 -1
  136. package/build/types/utils/schema/generateVersionedTypesFromSchema.d.ts +4 -7
  137. package/build/types/utils/schema/generateVersionedTypesFromSchema.d.ts.map +1 -1
  138. package/build/types/utils/schema/generateVersionedZodFromSchema.d.ts +3 -7
  139. package/build/types/utils/schema/generateVersionedZodFromSchema.d.ts.map +1 -1
  140. package/build/types/utils/schema/generateVersionsFromSchema.d.ts +3 -3
  141. package/build/types/utils/schema/generateVersionsFromSchema.d.ts.map +1 -1
  142. package/build/types/utils/schema/loadSchemaModule.d.ts +14 -0
  143. package/build/types/utils/schema/loadSchemaModule.d.ts.map +1 -0
  144. package/build/types/utils/schema/resolveSchemaChain.d.ts +29 -8
  145. package/build/types/utils/schema/resolveSchemaChain.d.ts.map +1 -1
  146. package/build/types/utils/schema/runtimeSchema.d.ts +2 -32
  147. package/build/types/utils/schema/runtimeSchema.d.ts.map +1 -1
  148. package/build/types/utils/schema/writeAllSdkFiles.d.ts +8 -0
  149. package/build/types/utils/schema/writeAllSdkFiles.d.ts.map +1 -0
  150. package/build/types/utils/steps/convertStepsToIr.d.ts +3 -3
  151. package/build/types/utils/steps/convertStepsToIr.d.ts.map +1 -1
  152. package/package.json +4 -4
  153. package/build/esm/commands/schema/schemaGenTypesHandler.js +0 -147
  154. package/build/esm/commands/schema/schemaGenTypesHandler.js.map +0 -1
  155. package/build/types/commands/schema/schemaGenTypesHandler.d.ts +0 -8
  156. package/build/types/commands/schema/schemaGenTypesHandler.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"convertStepsToIr.js","names":["invariant","IFieldTypeUnion","IFieldValueUnion","IModelDef","assertNever","convertStepsToSchema","convertStepsToIr","steps","metadata","recordDefinitions","unionDefinitions","schema","Object","fromEntries","map","def","name","convertSchemaToIr","inputSchema","primaryModelKeys","models","Map","modelDef","values","collectModels","push","description","version","outModels","has","process","env","NODE_ENV","type","set","record","convertRecordDefToIr","union","convertUnionDefToIr","recordDef","fields","entries","fieldKey","fieldType","key","undefined","convertTypeToFieldTypeUnion","addedInVersion","isOptional","docs","unionDef","variantEntries","variants","variantName","modelRef","discriminant","schemaType","array","allowNullValue","value","convertTypeToFieldValueUnion","items","item","boolean","docRef","documentTypeRids","double","mediaRef","object","interfaceTypeRids","objectTypeRids","modelTypes","string","unmanagedJson","userRef"],"sources":["convertStepsToIr.ts"],"sourcesContent":["/*\n * Copyright 2025 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 * as P from \"@palantir/pack.schema\";\nimport invariant from \"tiny-invariant\";\nimport type {\n IModelTypeKey,\n IUnionVariantKey,\n} from \"../../lib/pack-docschema-api/pack-docschema-api\";\nimport type {\n IFieldDef,\n IRealTimeDocumentSchema,\n IRecordDef,\n IUnionDef,\n} from \"../../lib/pack-docschema-api/pack-docschema-ir/index.js\";\nimport {\n IFieldTypeUnion,\n IFieldValueUnion,\n IModelDef,\n} from \"../../lib/pack-docschema-api/pack-docschema-ir/index.js\";\nimport { assertNever } from \"../assertNever.js\";\nimport { convertStepsToSchema } from \"./convertStepsToSchema.js\";\nimport type { MigrationStep } from \"./parseMigrationSteps.js\";\n\nexport interface SchemaMetadata {\n readonly name?: string;\n readonly description?: string;\n readonly version?: number;\n}\n\n/**\n * Converts migration steps to Palantir IR format\n */\nexport function convertStepsToIr(\n steps: readonly MigrationStep[],\n metadata?: SchemaMetadata,\n): IRealTimeDocumentSchema {\n // First convert steps to document-schema-api format\n const { recordDefinitions, unionDefinitions } = convertStepsToSchema(steps as MigrationStep[]);\n\n const schema = {\n ...Object.fromEntries(recordDefinitions.map(def => [def.name, def])),\n ...Object.fromEntries(unionDefinitions.map(def => [def.name, def])),\n };\n\n return convertSchemaToIr(schema, metadata);\n}\n\n/**\n * Converts record and union definitions to Palantir IR format\n */\nexport function convertSchemaToIr(\n inputSchema: P.Schema<P.ReturnedSchema>,\n metadata?: SchemaMetadata,\n): IRealTimeDocumentSchema {\n const primaryModelKeys: IModelTypeKey[] = [];\n const models = new Map<IModelTypeKey, IModelDef>();\n\n for (const modelDef of Object.values(inputSchema)) {\n if (collectModels(modelDef, models)) {\n primaryModelKeys.push(modelDef.name);\n }\n }\n\n return {\n name: metadata?.name ?? \"Generated Schema\",\n description: metadata?.description ?? \"Schema generated from migration steps\",\n version: metadata?.version ?? 1,\n primaryModelKeys,\n models: Object.fromEntries(models),\n };\n}\n\nfunction collectModels(\n modelDef: P.ModelDef,\n outModels: Map<IModelTypeKey, IModelDef>,\n): boolean {\n invariant(\n !outModels.has(modelDef.name),\n `Duplicate model definition: ${modelDef.name}`,\n );\n\n switch (modelDef.type) {\n case \"record\": {\n outModels.set(modelDef.name, IModelDef.record(convertRecordDefToIr(modelDef)));\n return true;\n }\n case \"union\": {\n outModels.set(modelDef.name, IModelDef.union(convertUnionDefToIr(modelDef)));\n return true;\n }\n default:\n assertNever(modelDef);\n }\n}\n\nexport function convertRecordDefToIr(recordDef: P.RecordDef): IRecordDef {\n const fields = Object.entries(recordDef.fields).map(([fieldKey, fieldType]): IFieldDef => ({\n key: fieldKey,\n name: fieldKey,\n description: undefined,\n fieldType: convertTypeToFieldTypeUnion(fieldType),\n metadata: { addedInVersion: 1 },\n isOptional: fieldType.type === \"optional\" ? true : undefined,\n }));\n\n return {\n key: recordDef.name,\n name: recordDef.name,\n description: recordDef.docs ?? undefined,\n fields,\n };\n}\n\nexport function convertUnionDefToIr(unionDef: P.UnionDef): IUnionDef {\n const variantEntries = Object.entries(unionDef.variants).map((\n [variantName, modelRef],\n ) =>\n [\n variantName as IUnionVariantKey,\n modelRef.name as IModelTypeKey,\n ] as const\n );\n\n return {\n key: unionDef.name,\n name: unionDef.name,\n description: unionDef.docs,\n discriminant: unionDef.discriminant,\n variants: Object.fromEntries(variantEntries),\n metadata: { addedInVersion: 1 },\n };\n}\n\n// TODO: rename to convertSchemaTypeToFieldTypeUnion\nexport function convertTypeToFieldTypeUnion(schemaType: P.Type): IFieldTypeUnion {\n switch (schemaType.type) {\n case \"array\": {\n const arrayType = schemaType as P.Array;\n return IFieldTypeUnion.array({\n allowNullValue: false,\n value: convertTypeToFieldValueUnion(arrayType.items as P.Type),\n });\n }\n // TODO: have map/set types in document-schema-api\n\n case \"optional\": {\n // Optional flag is handled at field level, but we need to unwrap the inner type\n const optionalType = schemaType as P.Optional;\n return convertTypeToFieldTypeUnion(optionalType.item as P.Type);\n }\n\n case \"boolean\":\n case \"docRef\":\n case \"double\":\n case \"mediaRef\":\n case \"objectRef\":\n case \"ref\":\n case \"string\":\n case \"unknown\":\n case \"userRef\":\n return IFieldTypeUnion.value(convertTypeToFieldValueUnion(schemaType));\n\n default:\n assertNever(schemaType);\n }\n}\n\nfunction convertTypeToFieldValueUnion(schemaType: P.Type): IFieldValueUnion {\n switch (schemaType.type) {\n case \"array\":\n // TODO: fix the argument types so these aren't possible\n invariant(\n false,\n `Collection type passed to convertTypeToFieldValueUnion: ${schemaType.type}`,\n );\n\n case \"boolean\":\n return IFieldValueUnion.boolean({});\n\n case \"docRef\":\n return IFieldValueUnion.docRef({\n documentTypeRids: [], // FIXME: confirm whether we will use rids in the deployed schema.\n });\n\n case \"double\":\n return IFieldValueUnion.double({});\n\n case \"mediaRef\":\n return IFieldValueUnion.mediaRef({});\n\n case \"objectRef\":\n return IFieldValueUnion.object({\n // FIXME: confirm whether we will use rids in the deployed schema.\n interfaceTypeRids: [],\n objectTypeRids: [],\n });\n\n case \"optional\": {\n // If we get here, it means we have nested optionals - unwrap and continue\n // TODO: probably warn? maybe throw\n const optionalType = schemaType as P.Optional;\n return convertTypeToFieldValueUnion(optionalType.item as P.Type);\n }\n\n case \"ref\":\n return IFieldValueUnion.modelRef({\n modelTypes: [schemaType.name as IModelTypeKey],\n });\n\n case \"string\":\n return IFieldValueUnion.string({});\n\n case \"unknown\":\n return IFieldValueUnion.unmanagedJson({});\n\n case \"userRef\":\n return IFieldValueUnion.userRef({});\n\n default:\n assertNever(schemaType);\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"convertStepsToIr.js","names":["invariant","IFieldTypeUnion","IFieldValueUnion","IModelDef","assertNever","convertStepsToSchema","convertStepsToIr","steps","metadata","recordDefinitions","unionDefinitions","schema","Object","fromEntries","map","def","name","convertSchemaToIr","inputSchema","nameToExportKey","Map","exportKey","modelDef","entries","existing","get","process","env","NODE_ENV","set","primaryModelKeys","models","collectModels","push","description","version","outModels","has","type","record","convertRecordDefToIr","union","convertUnionDefToIr","recordDef","key","fields","fieldKey","fieldType","undefined","convertTypeToFieldTypeUnion","addedInVersion","isOptional","docs","unionDef","variantEntries","variants","variantName","modelRef","discriminant","schemaType","items","allowNullValue","elementType","item","array","value","convertTypeToFieldValueUnion","Error","boolean","docRef","documentTypeRids","double","mediaRef","object","interfaceTypeRids","objectTypeRids","modelKey","modelTypes","string","unmanagedJson","userRef"],"sources":["convertStepsToIr.ts"],"sourcesContent":["/*\n * Copyright 2025 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 * as P from \"@palantir/pack.schema\";\nimport invariant from \"tiny-invariant\";\nimport type {\n IModelTypeKey,\n IUnionVariantKey,\n} from \"../../lib/pack-docschema-api/pack-docschema-api\";\nimport type {\n IFieldDef,\n IRealTimeDocumentSchema,\n IRecordDef,\n IUnionDef,\n} from \"../../lib/pack-docschema-api/pack-docschema-ir/index.js\";\nimport {\n IFieldTypeUnion,\n IFieldValueUnion,\n IModelDef,\n} from \"../../lib/pack-docschema-api/pack-docschema-ir/index.js\";\nimport { assertNever } from \"../assertNever.js\";\nimport { convertStepsToSchema } from \"./convertStepsToSchema.js\";\nimport type { MigrationStep } from \"./parseMigrationSteps.js\";\n\nexport interface SchemaMetadata {\n readonly name?: string;\n readonly description?: string;\n readonly version?: number;\n}\n\n/**\n * Converts migration steps to Palantir IR format\n */\nexport function convertStepsToIr(\n steps: readonly MigrationStep[],\n metadata?: SchemaMetadata,\n): IRealTimeDocumentSchema {\n // First convert steps to document-schema-api format\n const { recordDefinitions, unionDefinitions } = convertStepsToSchema(steps as MigrationStep[]);\n\n const schema = {\n ...Object.fromEntries(recordDefinitions.map(def => [def.name, def])),\n ...Object.fromEntries(unionDefinitions.map(def => [def.name, def])),\n };\n\n return convertSchemaToIr(schema, metadata);\n}\n\n/**\n * Converts record and union definitions to Palantir IR format\n */\nexport function convertSchemaToIr(\n inputSchema: P.Schema<P.ReturnedSchema>,\n metadata?: SchemaMetadata,\n): IRealTimeDocumentSchema {\n // Build a mapping from declared model name → export key so that union variant\n // refs (which use declared model names) can be remapped to export keys.\n const nameToExportKey = new Map<string, string>();\n for (const [exportKey, modelDef] of Object.entries(inputSchema)) {\n const existing = nameToExportKey.get(modelDef.name);\n invariant(\n existing == null,\n `Duplicate declared model name \"${modelDef.name}\": exported as both \"${existing}\" and \"${exportKey}\"`,\n );\n nameToExportKey.set(modelDef.name, exportKey);\n }\n\n const primaryModelKeys: IModelTypeKey[] = [];\n const models = new Map<IModelTypeKey, IModelDef>();\n\n for (const [exportKey, modelDef] of Object.entries(inputSchema)) {\n if (collectModels(exportKey, modelDef, nameToExportKey, models)) {\n primaryModelKeys.push(exportKey);\n }\n }\n\n return {\n name: metadata?.name ?? \"Generated Schema\",\n description: metadata?.description ?? \"Schema generated from migration steps\",\n version: metadata?.version ?? 1,\n primaryModelKeys,\n models: Object.fromEntries(models),\n };\n}\n\nfunction collectModels(\n exportKey: string,\n modelDef: P.ModelDef,\n nameToExportKey: Map<string, string>,\n outModels: Map<IModelTypeKey, IModelDef>,\n): boolean {\n invariant(\n !outModels.has(exportKey),\n `Duplicate model definition: ${exportKey}`,\n );\n\n switch (modelDef.type) {\n case \"record\": {\n outModels.set(\n exportKey,\n IModelDef.record(convertRecordDefToIr(modelDef, exportKey, nameToExportKey)),\n );\n return true;\n }\n case \"union\": {\n outModels.set(\n exportKey,\n IModelDef.union(convertUnionDefToIr(modelDef, exportKey, nameToExportKey)),\n );\n return true;\n }\n default:\n assertNever(modelDef);\n }\n}\n\nexport function convertRecordDefToIr(\n recordDef: P.RecordDef,\n exportKey?: string,\n nameToExportKey?: Map<string, string>,\n): IRecordDef {\n const key = exportKey ?? recordDef.name;\n const fields = Object.entries(recordDef.fields).map(([fieldKey, fieldType]): IFieldDef => ({\n key: fieldKey,\n name: fieldKey,\n description: undefined,\n fieldType: convertTypeToFieldTypeUnion(fieldType, nameToExportKey),\n metadata: { addedInVersion: 1 },\n isOptional: fieldType.type === \"optional\" ? true : undefined,\n }));\n\n return {\n key,\n name: recordDef.name,\n description: recordDef.docs ?? undefined,\n fields,\n };\n}\n\nexport function convertUnionDefToIr(\n unionDef: P.UnionDef,\n exportKey?: string,\n nameToExportKey?: Map<string, string>,\n): IUnionDef {\n const key = exportKey ?? unionDef.name;\n const variantEntries = Object.entries(unionDef.variants).map((\n [variantName, modelRef],\n ) =>\n [\n variantName as IUnionVariantKey,\n (nameToExportKey?.get(modelRef.name) ?? modelRef.name) as IModelTypeKey,\n ] as const\n );\n\n return {\n key,\n name: unionDef.name,\n description: unionDef.docs,\n discriminant: unionDef.discriminant,\n variants: Object.fromEntries(variantEntries),\n metadata: { addedInVersion: 1 },\n };\n}\n\n// TODO: rename to convertSchemaTypeToFieldTypeUnion\nexport function convertTypeToFieldTypeUnion(\n schemaType: P.Type,\n nameToExportKey?: Map<string, string>,\n): IFieldTypeUnion {\n switch (schemaType.type) {\n case \"array\": {\n // P.Array.items is typed as TypeBase due to the generic; narrow via type field\n const items = schemaType.items as P.Type;\n const allowNullValue = items.type === \"optional\";\n const elementType: P.Type = allowNullValue ? (items as P.Optional).item as P.Type : items;\n return IFieldTypeUnion.array({\n allowNullValue,\n value: convertTypeToFieldValueUnion(elementType, nameToExportKey),\n });\n }\n\n case \"optional\":\n // Optional flag is handled at field level; unwrap and recurse on inner type\n return convertTypeToFieldTypeUnion(schemaType.item as P.Type, nameToExportKey);\n\n case \"boolean\":\n case \"docRef\":\n case \"double\":\n case \"mediaRef\":\n case \"objectRef\":\n case \"ref\":\n case \"string\":\n case \"unknown\":\n case \"userRef\":\n return IFieldTypeUnion.value(convertTypeToFieldValueUnion(schemaType, nameToExportKey));\n\n default:\n assertNever(schemaType);\n }\n}\n\nfunction convertTypeToFieldValueUnion(\n schemaType: P.Type,\n nameToExportKey?: Map<string, string>,\n): IFieldValueUnion {\n switch (schemaType.type) {\n case \"array\":\n throw new Error(\n \"Nested arrays are not supported in the IR. \"\n + \"Wrap the inner array in a record instead.\",\n );\n\n case \"boolean\":\n return IFieldValueUnion.boolean({});\n\n case \"docRef\":\n return IFieldValueUnion.docRef({\n documentTypeRids: [], // FIXME: confirm whether we will use rids in the deployed schema.\n });\n\n case \"double\":\n return IFieldValueUnion.double({});\n\n case \"mediaRef\":\n return IFieldValueUnion.mediaRef({});\n\n case \"objectRef\":\n return IFieldValueUnion.object({\n // FIXME: confirm whether we will use rids in the deployed schema.\n interfaceTypeRids: [],\n objectTypeRids: [],\n });\n\n case \"optional\":\n // Nested optional — unwrap and continue\n // TODO: probably warn? maybe throw\n return convertTypeToFieldValueUnion(schemaType.item as P.Type, nameToExportKey);\n\n case \"ref\": {\n const modelKey = nameToExportKey?.get(schemaType.name) ?? schemaType.name;\n return IFieldValueUnion.modelRef({ modelTypes: [modelKey as IModelTypeKey] });\n }\n\n case \"string\":\n return IFieldValueUnion.string({});\n\n case \"unknown\":\n return IFieldValueUnion.unmanagedJson({});\n\n case \"userRef\":\n return IFieldValueUnion.userRef({});\n\n default:\n assertNever(schemaType);\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=buildPrefixRewriteFetch.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buildPrefixRewriteFetch.test.d.ts","sourceRoot":"","sources":["../../../../../src/commands/asset/__tests__/buildPrefixRewriteFetch.test.ts"],"names":[],"mappings":""}
@@ -3,7 +3,22 @@ interface AssetDeployOptions {
3
3
  readonly baseUrl: string;
4
4
  readonly auth: string;
5
5
  readonly ontologyRid: string;
6
+ readonly firstPartyPrefix?: string;
6
7
  }
8
+ /**
9
+ * The set of API prefixes that `--first-party-prefix` is allowed to rewrite to.
10
+ * Only `/api/gotham` is supported today; expand this list as new gateways are added.
11
+ */
12
+ export declare const ALLOWED_FIRST_PARTY_PREFIXES: readonly ["/api/gotham"];
13
+ /**
14
+ * Builds a fetch wrapper that rewrites the OSDK client's `/api/...` requests
15
+ * to a different prefix (e.g. `/api/gotham`). Used for stacks where the
16
+ * endpoint is served behind a different gateway path instead
17
+ * of the default `/api` route.
18
+ *
19
+ * Throws if `prefix` is not one of {@link ALLOWED_FIRST_PARTY_PREFIXES}.
20
+ */
21
+ export declare function buildPrefixRewriteFetch(prefix: string): typeof globalThis.fetch;
7
22
  /** Useful for manually deploying a document type during development to test schema changes. */
8
23
  export declare function assetDeployHandler(options: AssetDeployOptions): Promise<void>;
9
24
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"assetDeployHandler.d.ts","sourceRoot":"","sources":["../../../../src/commands/asset/assetDeployHandler.ts"],"names":[],"mappings":"AAyBA,UAAU,kBAAkB;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED,+FAA+F;AAC/F,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAyCnF"}
1
+ {"version":3,"file":"assetDeployHandler.d.ts","sourceRoot":"","sources":["../../../../src/commands/asset/assetDeployHandler.ts"],"names":[],"mappings":"AAyBA,UAAU,kBAAkB;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;CACpC;AAID;;;GAGG;AACH,eAAO,MAAM,4BAA4B,0BAA2B,CAAC;AAErE;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,UAAU,CAAC,KAAK,CAoB/E;AAED,+FAA+F;AAC/F,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAkDnF"}
@@ -0,0 +1,12 @@
1
+ interface AssetUpdateSchemaOptions {
2
+ readonly input: string;
3
+ readonly baseUrl: string;
4
+ readonly auth: string;
5
+ readonly ontologyRid: string;
6
+ readonly forceOverwrite?: boolean;
7
+ readonly firstPartyPrefix?: string;
8
+ }
9
+ /** Updates the schema of an existing document type using a generated asset JSON file. */
10
+ export declare function assetUpdateSchemaHandler(options: AssetUpdateSchemaOptions): Promise<void>;
11
+ export {};
12
+ //# sourceMappingURL=assetUpdateSchemaHandler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assetUpdateSchemaHandler.d.ts","sourceRoot":"","sources":["../../../../src/commands/asset/assetUpdateSchemaHandler.ts"],"names":[],"mappings":"AA0BA,UAAU,wBAAwB;IAChC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC;IAClC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;CACpC;AAID,yFAAyF;AACzF,wBAAsB,wBAAwB,CAC5C,OAAO,EAAE,wBAAwB,GAChC,OAAO,CAAC,IAAI,CAAC,CAyEf"}
@@ -1 +1 @@
1
- {"version":3,"file":"registerAssetCommands.d.ts","sourceRoot":"","sources":["../../../../src/commands/asset/registerAssetCommands.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGzC,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAa5D"}
1
+ {"version":3,"file":"registerAssetCommands.d.ts","sourceRoot":"","sources":["../../../../src/commands/asset/registerAssetCommands.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIzC,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAqC5D"}
@@ -0,0 +1,8 @@
1
+ interface IrGenTypesOptions {
2
+ schema: string;
3
+ output: string;
4
+ minVersion?: string;
5
+ }
6
+ export declare function irGenTypesHandler(options: IrGenTypesOptions): Promise<void>;
7
+ export {};
8
+ //# sourceMappingURL=irGenTypesHandler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"irGenTypesHandler.d.ts","sourceRoot":"","sources":["../../../../src/commands/ir/irGenTypesHandler.ts"],"names":[],"mappings":"AAsBA,UAAU,iBAAiB;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAQD,wBAAsB,iBAAiB,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAqBjF"}
@@ -1 +1 @@
1
- {"version":3,"file":"registerIrCommands.d.ts","sourceRoot":"","sources":["../../../../src/commands/ir/registerIrCommands.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMzC,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA2DzD"}
1
+ {"version":3,"file":"registerIrCommands.d.ts","sourceRoot":"","sources":["../../../../src/commands/ir/registerIrCommands.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOzC,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAqEzD"}
@@ -1 +1 @@
1
- {"version":3,"file":"registerSchemaCommands.d.ts","sourceRoot":"","sources":["../../../../src/commands/schema/registerSchemaCommands.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIzC,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAmB7D"}
1
+ {"version":3,"file":"registerSchemaCommands.d.ts","sourceRoot":"","sources":["../../../../src/commands/schema/registerSchemaCommands.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIzC,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAkB7D"}
@@ -0,0 +1,19 @@
1
+ interface SchemaIrOptions {
2
+ input: string;
3
+ output: string;
4
+ }
5
+ /**
6
+ * Resolve a TypeScript schema module to a versioned IR chain JSON file.
7
+ *
8
+ * The output is a `{ latestVersion, chain }` payload where each entry is
9
+ * `{ version, ir, migrations? }` and `ir` is a single-version
10
+ * `IRealTimeDocumentSchema`. This is the input format for `ir gen-types`.
11
+ *
12
+ * Note: this is distinct from the legacy single-version IR JSON consumed by
13
+ * `ir deploy` / `ir asset` / `ir zod`, which is a bare `IRealTimeDocumentSchema`
14
+ * (no chain, no migrations). Tools that previously read that format should
15
+ * pick the entry matching `latestVersion` from `chain` and use its `ir` field.
16
+ */
17
+ export declare function schemaIrHandler(options: SchemaIrOptions): Promise<void>;
18
+ export {};
19
+ //# sourceMappingURL=schemaIrHandler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schemaIrHandler.d.ts","sourceRoot":"","sources":["../../../../src/commands/schema/schemaIrHandler.ts"],"names":[],"mappings":"AAuBA,UAAU,eAAe;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,eAAe,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAoB7E"}
@@ -4,13 +4,8 @@ export { registerSchemaCommands } from "./commands/schema/registerSchemaCommands
4
4
  export { registerStepsCommands } from "./commands/steps/registerStepsCommands.js";
5
5
  export { generateZodSchemasFromIr } from "./utils/ir/generateZodSchemasFromIr.js";
6
6
  export { convertSchemaToSteps, convertStepsToYamlString, } from "./utils/schema/convertSchemaToSteps.js";
7
- export { generateInternalFromSchema } from "./utils/schema/generateInternalFromSchema.js";
8
- export { generateModelMetadataFromSchema, type ModelMetadataOutput, } from "./utils/schema/generateModelMetadataFromSchema.js";
9
- export { generateScopeFromSchema } from "./utils/schema/generateScopeFromSchema.js";
7
+ export { type ModelMetadataOutput } from "./utils/schema/generateModelMetadataFromSchema.js";
10
8
  export { generateTypesFromSchema } from "./utils/schema/generateTypesFromSchema.js";
11
- export { generateVersionedTypesFromSchema } from "./utils/schema/generateVersionedTypesFromSchema.js";
12
- export { generateVersionedZodFromSchema } from "./utils/schema/generateVersionedZodFromSchema.js";
13
- export { generateVersionsFromSchema } from "./utils/schema/generateVersionsFromSchema.js";
14
9
  export { generateZodFromSchema } from "./utils/schema/generateZodFromSchema.js";
15
10
  export { convertRecordDefToIr, convertSchemaToIr, convertStepsToIr, convertTypeToFieldTypeUnion, type SchemaMetadata, } from "./utils/steps/convertStepsToIr.js";
16
11
  export { generateZodFromStepsSchema } from "./utils/steps/generateZodFromStepsSchema.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AACzE,OAAO,EAAE,sBAAsB,EAAE,MAAM,6CAA6C,CAAC;AACrF,OAAO,EAAE,qBAAqB,EAAE,MAAM,2CAA2C,CAAC;AAClF,OAAO,EAAE,wBAAwB,EAAE,MAAM,wCAAwC,CAAC;AAClF,OAAO,EACL,oBAAoB,EACpB,wBAAwB,GACzB,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAAE,0BAA0B,EAAE,MAAM,8CAA8C,CAAC;AAC1F,OAAO,EACL,+BAA+B,EAC/B,KAAK,mBAAmB,GACzB,MAAM,mDAAmD,CAAC;AAC3D,OAAO,EAAE,uBAAuB,EAAE,MAAM,2CAA2C,CAAC;AACpF,OAAO,EAAE,uBAAuB,EAAE,MAAM,2CAA2C,CAAC;AACpF,OAAO,EAAE,gCAAgC,EAAE,MAAM,oDAAoD,CAAC;AACtG,OAAO,EAAE,8BAA8B,EAAE,MAAM,kDAAkD,CAAC;AAClG,OAAO,EAAE,0BAA0B,EAAE,MAAM,8CAA8C,CAAC;AAC1F,OAAO,EAAE,qBAAqB,EAAE,MAAM,yCAAyC,CAAC;AAChF,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,gBAAgB,EAChB,2BAA2B,EAC3B,KAAK,cAAc,GACpB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,0BAA0B,EAAE,MAAM,6CAA6C,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAC/B,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AACzE,OAAO,EAAE,sBAAsB,EAAE,MAAM,6CAA6C,CAAC;AACrF,OAAO,EAAE,qBAAqB,EAAE,MAAM,2CAA2C,CAAC;AAClF,OAAO,EAAE,wBAAwB,EAAE,MAAM,wCAAwC,CAAC;AAClF,OAAO,EACL,oBAAoB,EACpB,wBAAwB,GACzB,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAAE,KAAK,mBAAmB,EAAE,MAAM,mDAAmD,CAAC;AAC7F,OAAO,EAAE,uBAAuB,EAAE,MAAM,2CAA2C,CAAC;AACpF,OAAO,EAAE,qBAAqB,EAAE,MAAM,yCAAyC,CAAC;AAChF,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,gBAAgB,EAChB,2BAA2B,EAC3B,KAAK,cAAc,GACpB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,0BAA0B,EAAE,MAAM,6CAA6C,CAAC"}
@@ -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,gBA4B3C,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"}
@@ -42,6 +42,8 @@ export declare function formatVersionedZodSnapshot(result: VersionedZodOutput):
42
42
  * ...
43
43
  * // === _internal/schema.ts ===
44
44
  * ...
45
+ * // === _internal/upgradeFns.ts ===
46
+ * ...
45
47
  */
46
48
  export declare function formatInternalTypesSnapshot(result: InternalTypesOutput): Promise<string>;
47
49
  //# sourceMappingURL=snapshotUtils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"snapshotUtils.d.ts","sourceRoot":"","sources":["../../../../../src/utils/schema/__tests__/snapshotUtils.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AACjF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wCAAwC,CAAC;AACnF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAiB/E;;;;;;;;;;GAUG;AACH,wBAAsB,4BAA4B,CAChD,MAAM,EAAE,oBAAoB,GAC3B,OAAO,CAAC,MAAM,CAAC,CAcjB;AAED;;GAEG;AACH,wBAAsB,2BAA2B,CAC/C,MAAM,EAAE,mBAAmB,GAC1B,OAAO,CAAC,MAAM,CAAC,CAEjB;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,MAAM,CAAC,CAEjB;AAED;;;;;;;;GAQG;AACH,wBAAsB,0BAA0B,CAC9C,MAAM,EAAE,kBAAkB,GACzB,OAAO,CAAC,MAAM,CAAC,CAWjB;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,2BAA2B,CAC/C,MAAM,EAAE,mBAAmB,GAC1B,OAAO,CAAC,MAAM,CAAC,CAQjB"}
1
+ {"version":3,"file":"snapshotUtils.d.ts","sourceRoot":"","sources":["../../../../../src/utils/schema/__tests__/snapshotUtils.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AACjF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wCAAwC,CAAC;AACnF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAiB/E;;;;;;;;;;GAUG;AACH,wBAAsB,4BAA4B,CAChD,MAAM,EAAE,oBAAoB,GAC3B,OAAO,CAAC,MAAM,CAAC,CAcjB;AAED;;GAEG;AACH,wBAAsB,2BAA2B,CAC/C,MAAM,EAAE,mBAAmB,GAC1B,OAAO,CAAC,MAAM,CAAC,CAEjB;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,MAAM,CAAC,CAEjB;AAED;;;;;;;;GAQG;AACH,wBAAsB,0BAA0B,CAC9C,MAAM,EAAE,kBAAkB,GACzB,OAAO,CAAC,MAAM,CAAC,CAWjB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,2BAA2B,CAC/C,MAAM,EAAE,mBAAmB,GAC1B,OAAO,CAAC,MAAM,CAAC,CASjB"}
@@ -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,14 +1,16 @@
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
  *
5
5
  * Exports:
6
- * - `models.js` (star export — model constants and DocumentModel)
6
+ * - `models.js` (star export — model constants and `DocumentModel`; emitted
7
+ * as a factory function when the schema has derived fields, otherwise a const)
7
8
  * - `types.js` (star export — latest-version type aliases)
8
9
  * - `versions.js` (star export — SupportedVersions, LatestVersion, MinSupportedVersion)
9
10
  * - `versionedDocRef.js` (star export — VersionedDocRef types and factory)
11
+ * - `DocumentUpgradeFns` type (the typed shape the factory accepts)
10
12
  * - Per supported version: explicit named type exports from `types_vN.js`
11
13
  * (not star exports, to avoid polluting autocomplete for read-only consumers)
12
14
  */
13
- export declare function generateIndexFromSchema(schema: SchemaDefinition, minSupportedVersion?: number): string;
15
+ export declare function generateIndexFromChain(resolved: ResolvedIrChain, minSupportedVersion?: number): string;
14
16
  //# 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;AAY/D;;;;;;;;;;;;GAYG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,eAAe,EACzB,mBAAmB,CAAC,EAAE,MAAM,GAC3B,MAAM,CA2CR"}
@@ -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;
@@ -6,13 +6,12 @@ export interface InternalTypesOutput {
6
6
  upgrades: string;
7
7
  /** _internal/schema.ts content */
8
8
  internalSchema: string;
9
+ /** _internal/upgradeFns.ts content */
10
+ internalUpgradeFns: string;
9
11
  }
10
12
  /**
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
13
+ * Generate _internal/types.ts, _internal/upgrades.ts, _internal/schema.ts and
14
+ * _internal/upgradeFns.ts from an already-resolved versioned IR chain.
16
15
  */
17
- export declare function generateInternalFromSchema(schema: SchemaDefinition): InternalTypesOutput;
16
+ export declare function generateInternalFromChain(resolved: ResolvedIrChain): InternalTypesOutput;
18
17
  //# 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":"AA2BA,OAAO,EAEL,KAAK,eAAe,EAErB,MAAM,yBAAyB,CAAC;AAEjC,MAAM,WAAW,mBAAmB;IAClC,iCAAiC;IACjC,aAAa,EAAE,MAAM,CAAC;IACtB,oCAAoC;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,kCAAkC;IAClC,cAAc,EAAE,MAAM,CAAC;IACvB,sCAAsC;IACtC,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AA2bD;;;GAGG;AACH,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,eAAe,GACxB,mBAAmB,CAarB"}
@@ -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;AAW/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,CAsLrB"}
@@ -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
+ /** JSON-serializable form of a single field migration. */
4
+ export interface SerializedFieldMigration {
5
+ readonly derivedFrom: readonly string[];
6
+ }
7
+ /** Serialized migrations keyed by `[recordModelName][fieldName]`. */
8
+ export type SerializedVersionMigrations = Record<string, Record<string, SerializedFieldMigration>>;
9
+ export interface VersionedIrEntry {
4
10
  version: number;
5
- schema: RuntimeSchema;
6
- migrations?: VersionMigrations;
11
+ ir: IRealTimeDocumentSchema;
12
+ migrations?: SerializedVersionMigrations;
7
13
  }
8
- export interface ResolvedSchemaChain {
9
- chain: VersionedSchemaEntry[];
14
+ export interface ResolvedIrChain {
15
+ chain: VersionedIrEntry[];
10
16
  latestVersion: number;
11
17
  minVersion: number;
12
18
  }
19
+ /**
20
+ * Validate `minSupportedVersion` against an already-resolved chain and return
21
+ * the effective `minVersion`. Throws on invalid input.
22
+ */
23
+ export declare function resolveMinVersion(chain: VersionedIrEntry[], minSupportedVersion: number | undefined): {
24
+ latestVersion: number;
25
+ minVersion: number;
26
+ };
13
27
  /**
14
28
  * Collect the version chain and resolve min/latest versions.
29
+ * Each version's models are converted to IR (IRealTimeDocumentSchema).
15
30
  * Throws on empty chain or invalid minSupportedVersion.
16
31
  */
17
- export declare function resolveSchemaChain(schema: SchemaDefinition, minSupportedVersion?: number): ResolvedSchemaChain;
32
+ export declare function resolveSchemaChain(schema: SchemaDefinition, minSupportedVersion?: number): ResolvedIrChain;
33
+ /**
34
+ * True if any migration in the chain declares a non-empty `derivedFrom`. Drives
35
+ * whether the generated SDK emits `DocumentModel` as a factory (requires the
36
+ * app to supply typed upgrade functions) or as a const (no upgrade functions needed).
37
+ */
38
+ export declare function chainHasDerivedFields(chain: VersionedIrEntry[]): boolean;
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,0DAA0D;AAC1D,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;CACzC;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;AAwCD;;;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;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAUxE"}