@palantir/pack.document-schema.type-gen 0.8.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 (173) 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 -0
  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.map +1 -1
  16. package/build/esm/lib/pack-docschema-api/pack-docschema-ir/recordDef.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 +27 -16
  40. package/build/esm/utils/ir/__tests__/convertIrToWireSchema.test.js.map +1 -1
  41. package/build/esm/utils/ir/__tests__/generateModelsFromIr.test.js +6 -24
  42. package/build/esm/utils/ir/__tests__/generateModelsFromIr.test.js.map +1 -1
  43. package/build/esm/utils/ir/__tests__/generateZodSchemasFromIr.test.js +10 -40
  44. package/build/esm/utils/ir/__tests__/generateZodSchemasFromIr.test.js.map +1 -1
  45. package/build/esm/utils/ir/convertIrToWireSchema.js +4 -2
  46. package/build/esm/utils/ir/convertIrToWireSchema.js.map +1 -1
  47. package/build/esm/utils/ir/generateZodSchemasFromIr.js +1 -1
  48. package/build/esm/utils/ir/generateZodSchemasFromIr.js.map +1 -1
  49. package/build/esm/utils/ir/irFieldHelpers.js +383 -0
  50. package/build/esm/utils/ir/irFieldHelpers.js.map +1 -0
  51. package/build/esm/utils/schema/__tests__/__snapshots__/generateVersionsFromSchema/single-version.js +2 -0
  52. package/build/esm/utils/schema/__tests__/__snapshots__/generateVersionsFromSchema/single-version.js.map +1 -0
  53. package/build/esm/utils/schema/__tests__/__snapshots__/generateVersionsFromSchema/three-version-chain.js +2 -0
  54. package/build/esm/utils/schema/__tests__/__snapshots__/generateVersionsFromSchema/three-version-chain.js.map +1 -0
  55. package/build/esm/utils/schema/__tests__/__snapshots__/generateVersionsFromSchema/two-version.js +2 -0
  56. package/build/esm/utils/schema/__tests__/__snapshots__/generateVersionsFromSchema/two-version.js.map +1 -0
  57. package/build/esm/utils/schema/__tests__/convertSchemaToSteps.test.js +13 -0
  58. package/build/esm/utils/schema/__tests__/convertSchemaToSteps.test.js.map +1 -1
  59. package/build/esm/utils/schema/__tests__/fixtures.js +278 -0
  60. package/build/esm/utils/schema/__tests__/fixtures.js.map +1 -0
  61. package/build/esm/utils/schema/__tests__/generateInternalFromSchema.test.js +53 -0
  62. package/build/esm/utils/schema/__tests__/generateInternalFromSchema.test.js.map +1 -0
  63. package/build/esm/utils/schema/__tests__/generateModelMetadataFromSchema.test.js +42 -0
  64. package/build/esm/utils/schema/__tests__/generateModelMetadataFromSchema.test.js.map +1 -0
  65. package/build/esm/utils/schema/__tests__/generateScopeFromSchema.test.js +38 -0
  66. package/build/esm/utils/schema/__tests__/generateScopeFromSchema.test.js.map +1 -0
  67. package/build/esm/utils/schema/__tests__/generateVersionedTypesFromSchema.test.js +64 -0
  68. package/build/esm/utils/schema/__tests__/generateVersionedTypesFromSchema.test.js.map +1 -0
  69. package/build/esm/utils/schema/__tests__/generateVersionedZodFromSchema.test.js +60 -0
  70. package/build/esm/utils/schema/__tests__/generateVersionedZodFromSchema.test.js.map +1 -0
  71. package/build/esm/utils/schema/__tests__/generateVersionsFromSchema.test.js +38 -0
  72. package/build/esm/utils/schema/__tests__/generateVersionsFromSchema.test.js.map +1 -0
  73. package/build/esm/utils/schema/__tests__/snapshotUtils.js +106 -0
  74. package/build/esm/utils/schema/__tests__/snapshotUtils.js.map +1 -0
  75. package/build/esm/utils/schema/convertSchemaToSteps.js +6 -0
  76. package/build/esm/utils/schema/convertSchemaToSteps.js.map +1 -1
  77. package/build/esm/utils/schema/generateIndexFromSchema.js +74 -0
  78. package/build/esm/utils/schema/generateIndexFromSchema.js.map +1 -0
  79. package/build/esm/utils/schema/generateInternalFromSchema.js +264 -0
  80. package/build/esm/utils/schema/generateInternalFromSchema.js.map +1 -0
  81. package/build/esm/utils/schema/generateModelMetadataFromSchema.js +172 -0
  82. package/build/esm/utils/schema/generateModelMetadataFromSchema.js.map +1 -0
  83. package/build/esm/utils/schema/generateScopeFromSchema.js +151 -0
  84. package/build/esm/utils/schema/generateScopeFromSchema.js.map +1 -0
  85. package/build/esm/utils/schema/generateTypesFromSchema.js +20 -26
  86. package/build/esm/utils/schema/generateTypesFromSchema.js.map +1 -1
  87. package/build/esm/utils/schema/generateVersionedTypesFromSchema.js +187 -0
  88. package/build/esm/utils/schema/generateVersionedTypesFromSchema.js.map +1 -0
  89. package/build/esm/utils/schema/generateVersionedZodFromSchema.js +153 -0
  90. package/build/esm/utils/schema/generateVersionedZodFromSchema.js.map +1 -0
  91. package/build/esm/utils/schema/generateVersionsFromSchema.js +52 -0
  92. package/build/esm/utils/schema/generateVersionsFromSchema.js.map +1 -0
  93. package/build/esm/utils/schema/loadSchemaModule.js +53 -0
  94. package/build/esm/utils/schema/loadSchemaModule.js.map +1 -0
  95. package/build/esm/utils/schema/resolveSchemaChain.js +104 -0
  96. package/build/esm/utils/schema/resolveSchemaChain.js.map +1 -0
  97. package/build/esm/utils/schema/runtimeSchema.js +69 -0
  98. package/build/esm/utils/schema/runtimeSchema.js.map +1 -0
  99. package/build/esm/utils/schema/writeAllSdkFiles.js +111 -0
  100. package/build/esm/utils/schema/writeAllSdkFiles.js.map +1 -0
  101. package/build/esm/utils/steps/__tests__/__snapshots__/types/arrayFields.js.map +1 -1
  102. package/build/esm/utils/steps/__tests__/__snapshots__/types/customDiscriminant.js +1 -1
  103. package/build/esm/utils/steps/__tests__/__snapshots__/types/customDiscriminant.js.map +1 -1
  104. package/build/esm/utils/steps/__tests__/__snapshots__/types/generateTypeScriptInterfaces.js +1 -1
  105. package/build/esm/utils/steps/__tests__/__snapshots__/types/generateTypeScriptInterfaces.js.map +1 -1
  106. package/build/esm/utils/steps/__tests__/__snapshots__/types/refTypes.js.map +1 -1
  107. package/build/esm/utils/steps/__tests__/__snapshots__/types/simpleRecord.js.map +1 -1
  108. package/build/esm/utils/steps/__tests__/__snapshots__/types/simpleSteps.js +1 -1
  109. package/build/esm/utils/steps/__tests__/__snapshots__/types/simpleSteps.js.map +1 -1
  110. package/build/esm/utils/steps/__tests__/convertStepsToIr.test.js +93 -1
  111. package/build/esm/utils/steps/__tests__/convertStepsToIr.test.js.map +1 -1
  112. package/build/esm/utils/steps/convertStepsToIr.js +45 -40
  113. package/build/esm/utils/steps/convertStepsToIr.js.map +1 -1
  114. package/build/types/commands/asset/__tests__/buildPrefixRewriteFetch.test.d.ts +2 -0
  115. package/build/types/commands/asset/__tests__/buildPrefixRewriteFetch.test.d.ts.map +1 -0
  116. package/build/types/commands/asset/assetDeployHandler.d.ts +15 -0
  117. package/build/types/commands/asset/assetDeployHandler.d.ts.map +1 -1
  118. package/build/types/commands/asset/registerAssetCommands.d.ts.map +1 -1
  119. package/build/types/commands/ir/irGenTypesHandler.d.ts +8 -0
  120. package/build/types/commands/ir/irGenTypesHandler.d.ts.map +1 -0
  121. package/build/types/commands/ir/registerIrCommands.d.ts.map +1 -1
  122. package/build/types/commands/schema/registerSchemaCommands.d.ts.map +1 -1
  123. package/build/types/commands/schema/schemaIrHandler.d.ts +19 -0
  124. package/build/types/commands/schema/schemaIrHandler.d.ts.map +1 -0
  125. package/build/types/index.d.ts +1 -0
  126. package/build/types/index.d.ts.map +1 -1
  127. package/build/types/lib/pack-docschema-api/pack-docschema-ir/recordDef.d.ts +0 -2
  128. package/build/types/lib/pack-docschema-api/pack-docschema-ir/recordDef.d.ts.map +1 -1
  129. package/build/types/utils/ir/irFieldHelpers.d.ts +36 -0
  130. package/build/types/utils/ir/irFieldHelpers.d.ts.map +1 -0
  131. package/build/types/utils/schema/__tests__/fixtures.d.ts +23 -0
  132. package/build/types/utils/schema/__tests__/fixtures.d.ts.map +1 -0
  133. package/build/types/utils/schema/__tests__/generateInternalFromSchema.test.d.ts +2 -0
  134. package/build/types/utils/schema/__tests__/generateInternalFromSchema.test.d.ts.map +1 -0
  135. package/build/types/utils/schema/__tests__/generateModelMetadataFromSchema.test.d.ts +2 -0
  136. package/build/types/utils/schema/__tests__/generateModelMetadataFromSchema.test.d.ts.map +1 -0
  137. package/build/types/utils/schema/__tests__/generateScopeFromSchema.test.d.ts +2 -0
  138. package/build/types/utils/schema/__tests__/generateScopeFromSchema.test.d.ts.map +1 -0
  139. package/build/types/utils/schema/__tests__/generateVersionedTypesFromSchema.test.d.ts +2 -0
  140. package/build/types/utils/schema/__tests__/generateVersionedTypesFromSchema.test.d.ts.map +1 -0
  141. package/build/types/utils/schema/__tests__/generateVersionedZodFromSchema.test.d.ts +2 -0
  142. package/build/types/utils/schema/__tests__/generateVersionedZodFromSchema.test.d.ts.map +1 -0
  143. package/build/types/utils/schema/__tests__/generateVersionsFromSchema.test.d.ts +2 -0
  144. package/build/types/utils/schema/__tests__/generateVersionsFromSchema.test.d.ts.map +1 -0
  145. package/build/types/utils/schema/__tests__/snapshotUtils.d.ts +47 -0
  146. package/build/types/utils/schema/__tests__/snapshotUtils.d.ts.map +1 -0
  147. package/build/types/utils/schema/convertSchemaToSteps.d.ts.map +1 -1
  148. package/build/types/utils/schema/generateIndexFromSchema.d.ts +14 -0
  149. package/build/types/utils/schema/generateIndexFromSchema.d.ts.map +1 -0
  150. package/build/types/utils/schema/generateInternalFromSchema.d.ts +15 -0
  151. package/build/types/utils/schema/generateInternalFromSchema.d.ts.map +1 -0
  152. package/build/types/utils/schema/generateModelMetadataFromSchema.d.ts +10 -0
  153. package/build/types/utils/schema/generateModelMetadataFromSchema.d.ts.map +1 -0
  154. package/build/types/utils/schema/generateScopeFromSchema.d.ts +13 -0
  155. package/build/types/utils/schema/generateScopeFromSchema.d.ts.map +1 -0
  156. package/build/types/utils/schema/generateTypesFromSchema.d.ts.map +1 -1
  157. package/build/types/utils/schema/generateVersionedTypesFromSchema.d.ts +15 -0
  158. package/build/types/utils/schema/generateVersionedTypesFromSchema.d.ts.map +1 -0
  159. package/build/types/utils/schema/generateVersionedZodFromSchema.d.ts +12 -0
  160. package/build/types/utils/schema/generateVersionedZodFromSchema.d.ts.map +1 -0
  161. package/build/types/utils/schema/generateVersionsFromSchema.d.ts +13 -0
  162. package/build/types/utils/schema/generateVersionsFromSchema.d.ts.map +1 -0
  163. package/build/types/utils/schema/loadSchemaModule.d.ts +14 -0
  164. package/build/types/utils/schema/loadSchemaModule.d.ts.map +1 -0
  165. package/build/types/utils/schema/resolveSchemaChain.d.ts +39 -0
  166. package/build/types/utils/schema/resolveSchemaChain.d.ts.map +1 -0
  167. package/build/types/utils/schema/runtimeSchema.d.ts +27 -0
  168. package/build/types/utils/schema/runtimeSchema.d.ts.map +1 -0
  169. package/build/types/utils/schema/writeAllSdkFiles.d.ts +8 -0
  170. package/build/types/utils/schema/writeAllSdkFiles.d.ts.map +1 -0
  171. package/build/types/utils/steps/convertStepsToIr.d.ts +3 -3
  172. package/build/types/utils/steps/convertStepsToIr.d.ts.map +1 -1
  173. package/package.json +3 -3
@@ -38,11 +38,19 @@ export function convertStepsToIr(steps, metadata) {
38
38
  * Converts record and union definitions to Palantir IR format
39
39
  */
40
40
  export function convertSchemaToIr(inputSchema, metadata) {
41
+ // Build a mapping from declared model name → export key so that union variant
42
+ // refs (which use declared model names) can be remapped to export keys.
43
+ const nameToExportKey = new Map();
44
+ for (const [exportKey, modelDef] of Object.entries(inputSchema)) {
45
+ const existing = nameToExportKey.get(modelDef.name);
46
+ !(existing == null) ? process.env.NODE_ENV !== "production" ? invariant(false, `Duplicate declared model name "${modelDef.name}": exported as both "${existing}" and "${exportKey}"`) : invariant(false) : void 0;
47
+ nameToExportKey.set(modelDef.name, exportKey);
48
+ }
41
49
  const primaryModelKeys = [];
42
50
  const models = new Map();
43
- for (const modelDef of Object.values(inputSchema)) {
44
- if (collectModels(modelDef, models)) {
45
- primaryModelKeys.push(modelDef.name);
51
+ for (const [exportKey, modelDef] of Object.entries(inputSchema)) {
52
+ if (collectModels(exportKey, modelDef, nameToExportKey, models)) {
53
+ primaryModelKeys.push(exportKey);
46
54
  }
47
55
  }
48
56
  return {
@@ -53,48 +61,47 @@ export function convertSchemaToIr(inputSchema, metadata) {
53
61
  models: Object.fromEntries(models)
54
62
  };
55
63
  }
56
- function collectModels(modelDef, outModels) {
57
- !!outModels.has(modelDef.name) ? process.env.NODE_ENV !== "production" ? invariant(false, `Duplicate model definition: ${modelDef.name}`) : invariant(false) : void 0;
64
+ function collectModels(exportKey, modelDef, nameToExportKey, outModels) {
65
+ !!outModels.has(exportKey) ? process.env.NODE_ENV !== "production" ? invariant(false, `Duplicate model definition: ${exportKey}`) : invariant(false) : void 0;
58
66
  switch (modelDef.type) {
59
67
  case "record":
60
68
  {
61
- outModels.set(modelDef.name, IModelDef.record(convertRecordDefToIr(modelDef)));
69
+ outModels.set(exportKey, IModelDef.record(convertRecordDefToIr(modelDef, exportKey, nameToExportKey)));
62
70
  return true;
63
71
  }
64
72
  case "union":
65
73
  {
66
- outModels.set(modelDef.name, IModelDef.union(convertUnionDefToIr(modelDef)));
74
+ outModels.set(exportKey, IModelDef.union(convertUnionDefToIr(modelDef, exportKey, nameToExportKey)));
67
75
  return true;
68
76
  }
69
77
  default:
70
78
  assertNever(modelDef);
71
79
  }
72
80
  }
73
- export function convertRecordDefToIr(recordDef) {
81
+ export function convertRecordDefToIr(recordDef, exportKey, nameToExportKey) {
82
+ const key = exportKey ?? recordDef.name;
74
83
  const fields = Object.entries(recordDef.fields).map(([fieldKey, fieldType]) => ({
75
84
  key: fieldKey,
76
85
  name: fieldKey,
77
86
  description: undefined,
78
- fieldType: convertTypeToFieldTypeUnion(fieldType),
87
+ fieldType: convertTypeToFieldTypeUnion(fieldType, nameToExportKey),
79
88
  metadata: {
80
89
  addedInVersion: 1
81
90
  },
82
91
  isOptional: fieldType.type === "optional" ? true : undefined
83
92
  }));
84
93
  return {
85
- key: recordDef.name,
94
+ key,
86
95
  name: recordDef.name,
87
- description: recordDef.docs || undefined,
88
- fields,
89
- metadata: {
90
- addedInVersion: 1
91
- }
96
+ description: recordDef.docs ?? undefined,
97
+ fields
92
98
  };
93
99
  }
94
- export function convertUnionDefToIr(unionDef) {
95
- const variantEntries = Object.entries(unionDef.variants).map(([variantName, modelRef]) => [variantName, modelRef.name]);
100
+ export function convertUnionDefToIr(unionDef, exportKey, nameToExportKey) {
101
+ const key = exportKey ?? unionDef.name;
102
+ const variantEntries = Object.entries(unionDef.variants).map(([variantName, modelRef]) => [variantName, nameToExportKey?.get(modelRef.name) ?? modelRef.name]);
96
103
  return {
97
- key: unionDef.name,
104
+ key,
98
105
  name: unionDef.name,
99
106
  description: unionDef.docs,
100
107
  discriminant: unionDef.discriminant,
@@ -106,23 +113,22 @@ export function convertUnionDefToIr(unionDef) {
106
113
  }
107
114
 
108
115
  // TODO: rename to convertSchemaTypeToFieldTypeUnion
109
- export function convertTypeToFieldTypeUnion(schemaType) {
116
+ export function convertTypeToFieldTypeUnion(schemaType, nameToExportKey) {
110
117
  switch (schemaType.type) {
111
118
  case "array":
112
119
  {
120
+ // P.Array.items is typed as TypeBase due to the generic; narrow via type field
121
+ const items = schemaType.items;
122
+ const allowNullValue = items.type === "optional";
123
+ const elementType = allowNullValue ? items.item : items;
113
124
  return IFieldTypeUnion.array({
114
- allowNullValue: false,
115
- value: convertTypeToFieldValueUnion(schemaType.items)
125
+ allowNullValue,
126
+ value: convertTypeToFieldValueUnion(elementType, nameToExportKey)
116
127
  });
117
128
  }
118
- // TODO: have map/set types in document-schema-api
119
-
120
129
  case "optional":
121
- {
122
- // Optional flag is handled at field level, but we need to unwrap the inner type
123
-
124
- return convertTypeToFieldTypeUnion(schemaType.item);
125
- }
130
+ // Optional flag is handled at field level; unwrap and recurse on inner type
131
+ return convertTypeToFieldTypeUnion(schemaType.item, nameToExportKey);
126
132
  case "boolean":
127
133
  case "docRef":
128
134
  case "double":
@@ -132,16 +138,15 @@ export function convertTypeToFieldTypeUnion(schemaType) {
132
138
  case "string":
133
139
  case "unknown":
134
140
  case "userRef":
135
- return IFieldTypeUnion.value(convertTypeToFieldValueUnion(schemaType));
141
+ return IFieldTypeUnion.value(convertTypeToFieldValueUnion(schemaType, nameToExportKey));
136
142
  default:
137
143
  assertNever(schemaType);
138
144
  }
139
145
  }
140
- function convertTypeToFieldValueUnion(schemaType) {
146
+ function convertTypeToFieldValueUnion(schemaType, nameToExportKey) {
141
147
  switch (schemaType.type) {
142
148
  case "array":
143
- // TODO: fix the argument types so these aren't possible
144
- process.env.NODE_ENV !== "production" ? invariant(false, `Collection type passed to convertTypeToFieldValueUnion: ${schemaType.type}`) : invariant(false);
149
+ throw new Error("Nested arrays are not supported in the IR. " + "Wrap the inner array in a record instead.");
145
150
  case "boolean":
146
151
  return IFieldValueUnion.boolean({});
147
152
  case "docRef":
@@ -159,16 +164,16 @@ function convertTypeToFieldValueUnion(schemaType) {
159
164
  objectTypeRids: []
160
165
  });
161
166
  case "optional":
167
+ // Nested optional — unwrap and continue
168
+ // TODO: probably warn? maybe throw
169
+ return convertTypeToFieldValueUnion(schemaType.item, nameToExportKey);
170
+ case "ref":
162
171
  {
163
- // If we get here, it means we have nested optionals - unwrap and continue
164
- // TODO: probably warn? maybe throw
165
-
166
- return convertTypeToFieldValueUnion(schemaType.item);
172
+ const modelKey = nameToExportKey?.get(schemaType.name) ?? schemaType.name;
173
+ return IFieldValueUnion.modelRef({
174
+ modelTypes: [modelKey]
175
+ });
167
176
  }
168
- case "ref":
169
- return IFieldValueUnion.modelRef({
170
- modelTypes: [schemaType.name]
171
- });
172
177
  case "string":
173
178
  return IFieldValueUnion.string({});
174
179
  case "unknown":
@@ -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 metadata: { addedInVersion: 1 },\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"}
@@ -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;AAGzC,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAiB5D"}
@@ -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;AAGzC,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAW7D"}
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,6 +4,7 @@ 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 { type ModelMetadataOutput } from "./utils/schema/generateModelMetadataFromSchema.js";
7
8
  export { generateTypesFromSchema } from "./utils/schema/generateTypesFromSchema.js";
8
9
  export { generateZodFromSchema } from "./utils/schema/generateZodFromSchema.js";
9
10
  export { convertRecordDefToIr, convertSchemaToIr, convertStepsToIr, convertTypeToFieldTypeUnion, type SchemaMetadata, } from "./utils/steps/convertStepsToIr.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,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"}
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"}
@@ -1,11 +1,9 @@
1
1
  import type { IModelTypeKey } from "../pack-docschema-api/modelTypeKey.js";
2
2
  import type { IFieldDef } from "./fieldDef.js";
3
- import type { ISchemaMeta } from "./schemaMeta.js";
4
3
  export interface IRecordDef {
5
4
  readonly "key": IModelTypeKey;
6
5
  readonly "name": string;
7
6
  readonly "description"?: string | null;
8
7
  readonly "fields": ReadonlyArray<IFieldDef>;
9
- readonly "metadata": ISchemaMeta;
10
8
  }
11
9
  //# sourceMappingURL=recordDef.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"recordDef.d.ts","sourceRoot":"","sources":["../../../../../src/lib/pack-docschema-api/pack-docschema-ir/recordDef.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AAC3E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACnD,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC;IAC5C,QAAQ,CAAC,UAAU,EAAE,WAAW,CAAC;CAClC"}
1
+ {"version":3,"file":"recordDef.d.ts","sourceRoot":"","sources":["../../../../../src/lib/pack-docschema-api/pack-docschema-ir/recordDef.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AAC3E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC/C,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC;IAC9B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC,SAAS,CAAC,CAAC;CAC7C"}
@@ -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"}
@@ -0,0 +1,23 @@
1
+ import type { SchemaDefinition } from "@palantir/pack.schema";
2
+ export declare const singleVersionSchema: SchemaDefinition;
3
+ /** Two-version schema with field removal (color removed, fillColor + strokeColor + opacity added) */
4
+ export declare const twoVersionFieldRemovalSchema: SchemaDefinition;
5
+ export declare const twoVersionAdditiveSchema: SchemaDefinition;
6
+ export declare const refFieldsSchema: SchemaDefinition;
7
+ export declare const unionTypesSchema: SchemaDefinition;
8
+ /** Schema with nested optionals: tests that optional inside array structures is preserved */
9
+ export declare const nestedOptionalsSchema: SchemaDefinition;
10
+ /** Two-version schema with derived fields (color split into fillColor + strokeColor) */
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;
21
+ /** Three-version chain: Item (name, color -> name, hexColor -> name, hexColor, tags) */
22
+ export declare const threeVersionChainSchema: SchemaDefinition;
23
+ //# sourceMappingURL=fixtures.d.ts.map
@@ -0,0 +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,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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=generateInternalFromSchema.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generateInternalFromSchema.test.d.ts","sourceRoot":"","sources":["../../../../../src/utils/schema/__tests__/generateInternalFromSchema.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=generateModelMetadataFromSchema.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generateModelMetadataFromSchema.test.d.ts","sourceRoot":"","sources":["../../../../../src/utils/schema/__tests__/generateModelMetadataFromSchema.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=generateScopeFromSchema.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generateScopeFromSchema.test.d.ts","sourceRoot":"","sources":["../../../../../src/utils/schema/__tests__/generateScopeFromSchema.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=generateVersionedTypesFromSchema.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generateVersionedTypesFromSchema.test.d.ts","sourceRoot":"","sources":["../../../../../src/utils/schema/__tests__/generateVersionedTypesFromSchema.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=generateVersionedZodFromSchema.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generateVersionedZodFromSchema.test.d.ts","sourceRoot":"","sources":["../../../../../src/utils/schema/__tests__/generateVersionedZodFromSchema.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=generateVersionsFromSchema.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generateVersionsFromSchema.test.d.ts","sourceRoot":"","sources":["../../../../../src/utils/schema/__tests__/generateVersionsFromSchema.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,47 @@
1
+ import type { InternalTypesOutput } from "../generateInternalFromSchema.js";
2
+ import type { ModelMetadataOutput } from "../generateModelMetadataFromSchema.js";
3
+ import type { VersionedTypesOutput } from "../generateVersionedTypesFromSchema.js";
4
+ import type { VersionedZodOutput } from "../generateVersionedZodFromSchema.js";
5
+ /**
6
+ * Combine a VersionedTypesOutput into a single snapshot string.
7
+ *
8
+ * Layout:
9
+ * // === types_v1.ts ===
10
+ * ...formatted code...
11
+ * // === writeTypes_v1.ts ===
12
+ * ...
13
+ * // === types.ts ===
14
+ * ...
15
+ */
16
+ export declare function formatVersionedTypesSnapshot(result: VersionedTypesOutput): Promise<string>;
17
+ /**
18
+ * Format a ModelMetadataOutput into a snapshot string.
19
+ */
20
+ export declare function formatModelMetadataSnapshot(result: ModelMetadataOutput): Promise<string>;
21
+ /**
22
+ * Format a single generated string into a snapshot.
23
+ */
24
+ export declare function formatSingleSnapshot(filename: string, code: string): Promise<string>;
25
+ /**
26
+ * Combine a VersionedZodOutput into a single snapshot string.
27
+ *
28
+ * Layout:
29
+ * // === schema_v1.ts ===
30
+ * ...formatted code...
31
+ * // === schema.ts ===
32
+ * ...
33
+ */
34
+ export declare function formatVersionedZodSnapshot(result: VersionedZodOutput): Promise<string>;
35
+ /**
36
+ * Combine an InternalTypesOutput into a single snapshot string.
37
+ *
38
+ * Layout:
39
+ * // === _internal/types.ts ===
40
+ * ...formatted code...
41
+ * // === _internal/upgrades.ts ===
42
+ * ...
43
+ * // === _internal/schema.ts ===
44
+ * ...
45
+ */
46
+ export declare function formatInternalTypesSnapshot(result: InternalTypesOutput): Promise<string>;
47
+ //# sourceMappingURL=snapshotUtils.d.ts.map
@@ -0,0 +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 +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"}
@@ -0,0 +1,14 @@
1
+ import type { ResolvedIrChain } from "./resolveSchemaChain.js";
2
+ /**
3
+ * Generate the index.ts barrel export from a versioned schema.
4
+ *
5
+ * Exports:
6
+ * - `models.js` (star export — model constants and DocumentModel)
7
+ * - `types.js` (star export — latest-version type aliases)
8
+ * - `versions.js` (star export — SupportedVersions, LatestVersion, MinSupportedVersion)
9
+ * - `versionedDocRef.js` (star export — VersionedDocRef types and factory)
10
+ * - Per supported version: explicit named type exports from `types_vN.js`
11
+ * (not star exports, to avoid polluting autocomplete for read-only consumers)
12
+ */
13
+ export declare function generateIndexFromChain(resolved: ResolvedIrChain, minSupportedVersion?: number): string;
14
+ //# sourceMappingURL=generateIndexFromSchema.d.ts.map
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,15 @@
1
+ import type { ResolvedIrChain } from "./resolveSchemaChain.js";
2
+ export interface InternalTypesOutput {
3
+ /** _internal/types.ts content */
4
+ internalTypes: string;
5
+ /** _internal/upgrades.ts content */
6
+ upgrades: string;
7
+ /** _internal/schema.ts content */
8
+ internalSchema: string;
9
+ }
10
+ /**
11
+ * Generate _internal/types.ts, _internal/upgrades.ts, and _internal/schema.ts
12
+ * from an already-resolved versioned IR chain.
13
+ */
14
+ export declare function generateInternalFromChain(resolved: ResolvedIrChain): InternalTypesOutput;
15
+ //# sourceMappingURL=generateInternalFromSchema.d.ts.map
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,10 @@
1
+ import type { ResolvedIrChain } from "./resolveSchemaChain.js";
2
+ export interface ModelMetadataOutput {
3
+ /** models.ts content -- DocumentModel with version metadata and upgrade references */
4
+ modelsFile: string;
5
+ }
6
+ /**
7
+ * Generate models.ts from an already-resolved versioned IR chain.
8
+ */
9
+ export declare function generateModelMetadataFromChain(resolved: ResolvedIrChain, minSupportedVersion?: number): ModelMetadataOutput;
10
+ //# sourceMappingURL=generateModelMetadataFromSchema.d.ts.map
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,13 @@
1
+ import type { ResolvedIrChain } from "./resolveSchemaChain.js";
2
+ /**
3
+ * Generate versionedDocRef.ts from a versioned schema chain.
4
+ *
5
+ * Produces:
6
+ * - Per-version VersionedDocRef_vN interfaces extending DocumentRef<DocumentModel>
7
+ * - Union type VersionedDocRef = VersionedDocRef_v1 | VersionedDocRef_v2
8
+ *
9
+ * Every model gets a version-specific overload on every version so that
10
+ * write data is always typed to the exact version, not the latest.
11
+ */
12
+ export declare function generateScopeFromChain(resolved: ResolvedIrChain, minSupportedVersion?: number): string;
13
+ //# sourceMappingURL=generateScopeFromSchema.d.ts.map