@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.
- package/build/esm/commands/asset/__tests__/buildPrefixRewriteFetch.test.js +85 -0
- package/build/esm/commands/asset/__tests__/buildPrefixRewriteFetch.test.js.map +1 -0
- package/build/esm/commands/asset/assetDeployHandler.js +36 -1
- package/build/esm/commands/asset/assetDeployHandler.js.map +1 -1
- package/build/esm/commands/asset/registerAssetCommands.js +1 -1
- package/build/esm/commands/asset/registerAssetCommands.js.map +1 -1
- package/build/esm/commands/ir/irGenTypesHandler.js +49 -0
- package/build/esm/commands/ir/irGenTypesHandler.js.map +1 -0
- package/build/esm/commands/ir/registerIrCommands.js +2 -0
- package/build/esm/commands/ir/registerIrCommands.js.map +1 -1
- package/build/esm/commands/schema/registerSchemaCommands.js +2 -0
- package/build/esm/commands/schema/registerSchemaCommands.js.map +1 -1
- package/build/esm/commands/schema/schemaIrHandler.js +56 -0
- package/build/esm/commands/schema/schemaIrHandler.js.map +1 -0
- package/build/esm/index.js.map +1 -1
- package/build/esm/lib/pack-docschema-api/pack-docschema-ir/recordDef.js.map +1 -1
- package/build/esm/utils/ir/__tests__/__snapshots__/generateModelsFromIr/custom-discriminant.js +1 -1
- package/build/esm/utils/ir/__tests__/__snapshots__/generateModelsFromIr/custom-discriminant.js.map +1 -1
- package/build/esm/utils/ir/__tests__/__snapshots__/generateModelsFromIr/external-refs.js +1 -1
- package/build/esm/utils/ir/__tests__/__snapshots__/generateModelsFromIr/external-refs.js.map +1 -1
- package/build/esm/utils/ir/__tests__/__snapshots__/generateModelsFromIr/simple-record.js +1 -1
- package/build/esm/utils/ir/__tests__/__snapshots__/generateModelsFromIr/simple-record.js.map +1 -1
- package/build/esm/utils/ir/__tests__/__snapshots__/generateModelsFromIr/union-types.js +1 -1
- package/build/esm/utils/ir/__tests__/__snapshots__/generateModelsFromIr/union-types.js.map +1 -1
- package/build/esm/utils/ir/__tests__/__snapshots__/generateZodSchemasFromIr/array-and-map-types.js +1 -1
- package/build/esm/utils/ir/__tests__/__snapshots__/generateZodSchemasFromIr/array-and-map-types.js.map +1 -1
- package/build/esm/utils/ir/__tests__/__snapshots__/generateZodSchemasFromIr/boolean-fields.js +1 -1
- package/build/esm/utils/ir/__tests__/__snapshots__/generateZodSchemasFromIr/boolean-fields.js.map +1 -1
- package/build/esm/utils/ir/__tests__/__snapshots__/generateZodSchemasFromIr/custom-discriminant.js +1 -1
- package/build/esm/utils/ir/__tests__/__snapshots__/generateZodSchemasFromIr/custom-discriminant.js.map +1 -1
- package/build/esm/utils/ir/__tests__/__snapshots__/generateZodSchemasFromIr/datetime-fields.js +1 -1
- package/build/esm/utils/ir/__tests__/__snapshots__/generateZodSchemasFromIr/datetime-fields.js.map +1 -1
- package/build/esm/utils/ir/__tests__/__snapshots__/generateZodSchemasFromIr/simple-records.js +1 -1
- package/build/esm/utils/ir/__tests__/__snapshots__/generateZodSchemasFromIr/simple-records.js.map +1 -1
- package/build/esm/utils/ir/__tests__/__snapshots__/generateZodSchemasFromIr/union-before-records.js +1 -1
- package/build/esm/utils/ir/__tests__/__snapshots__/generateZodSchemasFromIr/union-before-records.js.map +1 -1
- package/build/esm/utils/ir/__tests__/__snapshots__/generateZodSchemasFromIr/union-types.js +1 -1
- package/build/esm/utils/ir/__tests__/__snapshots__/generateZodSchemasFromIr/union-types.js.map +1 -1
- package/build/esm/utils/ir/__tests__/convertIrToWireSchema.test.js +27 -16
- package/build/esm/utils/ir/__tests__/convertIrToWireSchema.test.js.map +1 -1
- package/build/esm/utils/ir/__tests__/generateModelsFromIr.test.js +6 -24
- package/build/esm/utils/ir/__tests__/generateModelsFromIr.test.js.map +1 -1
- package/build/esm/utils/ir/__tests__/generateZodSchemasFromIr.test.js +10 -40
- package/build/esm/utils/ir/__tests__/generateZodSchemasFromIr.test.js.map +1 -1
- package/build/esm/utils/ir/convertIrToWireSchema.js +4 -2
- package/build/esm/utils/ir/convertIrToWireSchema.js.map +1 -1
- package/build/esm/utils/ir/generateZodSchemasFromIr.js +1 -1
- package/build/esm/utils/ir/generateZodSchemasFromIr.js.map +1 -1
- package/build/esm/utils/ir/irFieldHelpers.js +383 -0
- package/build/esm/utils/ir/irFieldHelpers.js.map +1 -0
- package/build/esm/utils/schema/__tests__/__snapshots__/generateVersionsFromSchema/single-version.js +2 -0
- package/build/esm/utils/schema/__tests__/__snapshots__/generateVersionsFromSchema/single-version.js.map +1 -0
- package/build/esm/utils/schema/__tests__/__snapshots__/generateVersionsFromSchema/three-version-chain.js +2 -0
- package/build/esm/utils/schema/__tests__/__snapshots__/generateVersionsFromSchema/three-version-chain.js.map +1 -0
- package/build/esm/utils/schema/__tests__/__snapshots__/generateVersionsFromSchema/two-version.js +2 -0
- package/build/esm/utils/schema/__tests__/__snapshots__/generateVersionsFromSchema/two-version.js.map +1 -0
- package/build/esm/utils/schema/__tests__/convertSchemaToSteps.test.js +13 -0
- package/build/esm/utils/schema/__tests__/convertSchemaToSteps.test.js.map +1 -1
- package/build/esm/utils/schema/__tests__/fixtures.js +278 -0
- package/build/esm/utils/schema/__tests__/fixtures.js.map +1 -0
- package/build/esm/utils/schema/__tests__/generateInternalFromSchema.test.js +53 -0
- package/build/esm/utils/schema/__tests__/generateInternalFromSchema.test.js.map +1 -0
- package/build/esm/utils/schema/__tests__/generateModelMetadataFromSchema.test.js +42 -0
- package/build/esm/utils/schema/__tests__/generateModelMetadataFromSchema.test.js.map +1 -0
- package/build/esm/utils/schema/__tests__/generateScopeFromSchema.test.js +38 -0
- package/build/esm/utils/schema/__tests__/generateScopeFromSchema.test.js.map +1 -0
- package/build/esm/utils/schema/__tests__/generateVersionedTypesFromSchema.test.js +64 -0
- package/build/esm/utils/schema/__tests__/generateVersionedTypesFromSchema.test.js.map +1 -0
- package/build/esm/utils/schema/__tests__/generateVersionedZodFromSchema.test.js +60 -0
- package/build/esm/utils/schema/__tests__/generateVersionedZodFromSchema.test.js.map +1 -0
- package/build/esm/utils/schema/__tests__/generateVersionsFromSchema.test.js +38 -0
- package/build/esm/utils/schema/__tests__/generateVersionsFromSchema.test.js.map +1 -0
- package/build/esm/utils/schema/__tests__/snapshotUtils.js +106 -0
- package/build/esm/utils/schema/__tests__/snapshotUtils.js.map +1 -0
- package/build/esm/utils/schema/convertSchemaToSteps.js +6 -0
- package/build/esm/utils/schema/convertSchemaToSteps.js.map +1 -1
- package/build/esm/utils/schema/generateIndexFromSchema.js +74 -0
- package/build/esm/utils/schema/generateIndexFromSchema.js.map +1 -0
- package/build/esm/utils/schema/generateInternalFromSchema.js +264 -0
- package/build/esm/utils/schema/generateInternalFromSchema.js.map +1 -0
- package/build/esm/utils/schema/generateModelMetadataFromSchema.js +172 -0
- package/build/esm/utils/schema/generateModelMetadataFromSchema.js.map +1 -0
- package/build/esm/utils/schema/generateScopeFromSchema.js +151 -0
- package/build/esm/utils/schema/generateScopeFromSchema.js.map +1 -0
- package/build/esm/utils/schema/generateTypesFromSchema.js +20 -26
- package/build/esm/utils/schema/generateTypesFromSchema.js.map +1 -1
- package/build/esm/utils/schema/generateVersionedTypesFromSchema.js +187 -0
- package/build/esm/utils/schema/generateVersionedTypesFromSchema.js.map +1 -0
- package/build/esm/utils/schema/generateVersionedZodFromSchema.js +153 -0
- package/build/esm/utils/schema/generateVersionedZodFromSchema.js.map +1 -0
- package/build/esm/utils/schema/generateVersionsFromSchema.js +52 -0
- package/build/esm/utils/schema/generateVersionsFromSchema.js.map +1 -0
- package/build/esm/utils/schema/loadSchemaModule.js +53 -0
- package/build/esm/utils/schema/loadSchemaModule.js.map +1 -0
- package/build/esm/utils/schema/resolveSchemaChain.js +104 -0
- package/build/esm/utils/schema/resolveSchemaChain.js.map +1 -0
- package/build/esm/utils/schema/runtimeSchema.js +69 -0
- package/build/esm/utils/schema/runtimeSchema.js.map +1 -0
- package/build/esm/utils/schema/writeAllSdkFiles.js +111 -0
- package/build/esm/utils/schema/writeAllSdkFiles.js.map +1 -0
- package/build/esm/utils/steps/__tests__/__snapshots__/types/arrayFields.js.map +1 -1
- package/build/esm/utils/steps/__tests__/__snapshots__/types/customDiscriminant.js +1 -1
- package/build/esm/utils/steps/__tests__/__snapshots__/types/customDiscriminant.js.map +1 -1
- package/build/esm/utils/steps/__tests__/__snapshots__/types/generateTypeScriptInterfaces.js +1 -1
- package/build/esm/utils/steps/__tests__/__snapshots__/types/generateTypeScriptInterfaces.js.map +1 -1
- package/build/esm/utils/steps/__tests__/__snapshots__/types/refTypes.js.map +1 -1
- package/build/esm/utils/steps/__tests__/__snapshots__/types/simpleRecord.js.map +1 -1
- package/build/esm/utils/steps/__tests__/__snapshots__/types/simpleSteps.js +1 -1
- package/build/esm/utils/steps/__tests__/__snapshots__/types/simpleSteps.js.map +1 -1
- package/build/esm/utils/steps/__tests__/convertStepsToIr.test.js +93 -1
- package/build/esm/utils/steps/__tests__/convertStepsToIr.test.js.map +1 -1
- package/build/esm/utils/steps/convertStepsToIr.js +45 -40
- package/build/esm/utils/steps/convertStepsToIr.js.map +1 -1
- package/build/types/commands/asset/__tests__/buildPrefixRewriteFetch.test.d.ts +2 -0
- package/build/types/commands/asset/__tests__/buildPrefixRewriteFetch.test.d.ts.map +1 -0
- package/build/types/commands/asset/assetDeployHandler.d.ts +15 -0
- package/build/types/commands/asset/assetDeployHandler.d.ts.map +1 -1
- package/build/types/commands/asset/registerAssetCommands.d.ts.map +1 -1
- package/build/types/commands/ir/irGenTypesHandler.d.ts +8 -0
- package/build/types/commands/ir/irGenTypesHandler.d.ts.map +1 -0
- package/build/types/commands/ir/registerIrCommands.d.ts.map +1 -1
- package/build/types/commands/schema/registerSchemaCommands.d.ts.map +1 -1
- package/build/types/commands/schema/schemaIrHandler.d.ts +19 -0
- package/build/types/commands/schema/schemaIrHandler.d.ts.map +1 -0
- package/build/types/index.d.ts +1 -0
- package/build/types/index.d.ts.map +1 -1
- package/build/types/lib/pack-docschema-api/pack-docschema-ir/recordDef.d.ts +0 -2
- package/build/types/lib/pack-docschema-api/pack-docschema-ir/recordDef.d.ts.map +1 -1
- package/build/types/utils/ir/irFieldHelpers.d.ts +36 -0
- package/build/types/utils/ir/irFieldHelpers.d.ts.map +1 -0
- package/build/types/utils/schema/__tests__/fixtures.d.ts +23 -0
- package/build/types/utils/schema/__tests__/fixtures.d.ts.map +1 -0
- package/build/types/utils/schema/__tests__/generateInternalFromSchema.test.d.ts +2 -0
- package/build/types/utils/schema/__tests__/generateInternalFromSchema.test.d.ts.map +1 -0
- package/build/types/utils/schema/__tests__/generateModelMetadataFromSchema.test.d.ts +2 -0
- package/build/types/utils/schema/__tests__/generateModelMetadataFromSchema.test.d.ts.map +1 -0
- package/build/types/utils/schema/__tests__/generateScopeFromSchema.test.d.ts +2 -0
- package/build/types/utils/schema/__tests__/generateScopeFromSchema.test.d.ts.map +1 -0
- package/build/types/utils/schema/__tests__/generateVersionedTypesFromSchema.test.d.ts +2 -0
- package/build/types/utils/schema/__tests__/generateVersionedTypesFromSchema.test.d.ts.map +1 -0
- package/build/types/utils/schema/__tests__/generateVersionedZodFromSchema.test.d.ts +2 -0
- package/build/types/utils/schema/__tests__/generateVersionedZodFromSchema.test.d.ts.map +1 -0
- package/build/types/utils/schema/__tests__/generateVersionsFromSchema.test.d.ts +2 -0
- package/build/types/utils/schema/__tests__/generateVersionsFromSchema.test.d.ts.map +1 -0
- package/build/types/utils/schema/__tests__/snapshotUtils.d.ts +47 -0
- package/build/types/utils/schema/__tests__/snapshotUtils.d.ts.map +1 -0
- package/build/types/utils/schema/convertSchemaToSteps.d.ts.map +1 -1
- package/build/types/utils/schema/generateIndexFromSchema.d.ts +14 -0
- package/build/types/utils/schema/generateIndexFromSchema.d.ts.map +1 -0
- package/build/types/utils/schema/generateInternalFromSchema.d.ts +15 -0
- package/build/types/utils/schema/generateInternalFromSchema.d.ts.map +1 -0
- package/build/types/utils/schema/generateModelMetadataFromSchema.d.ts +10 -0
- package/build/types/utils/schema/generateModelMetadataFromSchema.d.ts.map +1 -0
- package/build/types/utils/schema/generateScopeFromSchema.d.ts +13 -0
- package/build/types/utils/schema/generateScopeFromSchema.d.ts.map +1 -0
- package/build/types/utils/schema/generateTypesFromSchema.d.ts.map +1 -1
- package/build/types/utils/schema/generateVersionedTypesFromSchema.d.ts +15 -0
- package/build/types/utils/schema/generateVersionedTypesFromSchema.d.ts.map +1 -0
- package/build/types/utils/schema/generateVersionedZodFromSchema.d.ts +12 -0
- package/build/types/utils/schema/generateVersionedZodFromSchema.d.ts.map +1 -0
- package/build/types/utils/schema/generateVersionsFromSchema.d.ts +13 -0
- package/build/types/utils/schema/generateVersionsFromSchema.d.ts.map +1 -0
- package/build/types/utils/schema/loadSchemaModule.d.ts +14 -0
- package/build/types/utils/schema/loadSchemaModule.d.ts.map +1 -0
- package/build/types/utils/schema/resolveSchemaChain.d.ts +39 -0
- package/build/types/utils/schema/resolveSchemaChain.d.ts.map +1 -0
- package/build/types/utils/schema/runtimeSchema.d.ts +27 -0
- package/build/types/utils/schema/runtimeSchema.d.ts.map +1 -0
- package/build/types/utils/schema/writeAllSdkFiles.d.ts +8 -0
- package/build/types/utils/schema/writeAllSdkFiles.d.ts.map +1 -0
- package/build/types/utils/steps/convertStepsToIr.d.ts +3 -3
- package/build/types/utils/steps/convertStepsToIr.d.ts.map +1 -1
- 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.
|
|
44
|
-
if (collectModels(modelDef, models)) {
|
|
45
|
-
primaryModelKeys.push(
|
|
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(
|
|
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(
|
|
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(
|
|
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
|
|
94
|
+
key,
|
|
86
95
|
name: recordDef.name,
|
|
87
|
-
description: recordDef.docs
|
|
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
|
|
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
|
|
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
|
|
115
|
-
value: convertTypeToFieldValueUnion(
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
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 @@
|
|
|
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;
|
|
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,
|
|
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 @@
|
|
|
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;
|
|
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;
|
|
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"}
|
package/build/types/index.d.ts
CHANGED
|
@@ -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,
|
|
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 @@
|
|
|
1
|
+
{"version":3,"file":"generateInternalFromSchema.test.d.ts","sourceRoot":"","sources":["../../../../../src/utils/schema/__tests__/generateInternalFromSchema.test.ts"],"names":[],"mappings":""}
|
|
@@ -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 @@
|
|
|
1
|
+
{"version":3,"file":"generateScopeFromSchema.test.d.ts","sourceRoot":"","sources":["../../../../../src/utils/schema/__tests__/generateScopeFromSchema.test.ts"],"names":[],"mappings":""}
|
|
@@ -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 @@
|
|
|
1
|
+
{"version":3,"file":"generateVersionedZodFromSchema.test.d.ts","sourceRoot":"","sources":["../../../../../src/utils/schema/__tests__/generateVersionedZodFromSchema.test.ts"],"names":[],"mappings":""}
|
|
@@ -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,
|
|
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
|