@palantir/pack.document-schema.type-gen 0.10.0 → 0.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (73) hide show
  1. package/build/esm/commands/asset/assetUpdateSchemaHandler.js +84 -0
  2. package/build/esm/commands/asset/assetUpdateSchemaHandler.js.map +1 -0
  3. package/build/esm/commands/asset/registerAssetCommands.js +2 -0
  4. package/build/esm/commands/asset/registerAssetCommands.js.map +1 -1
  5. package/build/esm/utils/ir/__tests__/__snapshots__/generateModelsFromIr/custom-discriminant.js +1 -1
  6. package/build/esm/utils/ir/__tests__/__snapshots__/generateModelsFromIr/custom-discriminant.js.map +1 -1
  7. package/build/esm/utils/ir/__tests__/__snapshots__/generateModelsFromIr/external-refs.js +1 -1
  8. package/build/esm/utils/ir/__tests__/__snapshots__/generateModelsFromIr/external-refs.js.map +1 -1
  9. package/build/esm/utils/ir/__tests__/__snapshots__/generateModelsFromIr/simple-record.js +1 -1
  10. package/build/esm/utils/ir/__tests__/__snapshots__/generateModelsFromIr/simple-record.js.map +1 -1
  11. package/build/esm/utils/ir/__tests__/__snapshots__/generateModelsFromIr/union-types.js +1 -1
  12. package/build/esm/utils/ir/__tests__/__snapshots__/generateModelsFromIr/union-types.js.map +1 -1
  13. package/build/esm/utils/ir/__tests__/__snapshots__/generateZodSchemasFromIr/array-and-map-types.js +1 -1
  14. package/build/esm/utils/ir/__tests__/__snapshots__/generateZodSchemasFromIr/array-and-map-types.js.map +1 -1
  15. package/build/esm/utils/ir/__tests__/__snapshots__/generateZodSchemasFromIr/boolean-fields.js +1 -1
  16. package/build/esm/utils/ir/__tests__/__snapshots__/generateZodSchemasFromIr/boolean-fields.js.map +1 -1
  17. package/build/esm/utils/ir/__tests__/__snapshots__/generateZodSchemasFromIr/custom-discriminant.js +1 -1
  18. package/build/esm/utils/ir/__tests__/__snapshots__/generateZodSchemasFromIr/custom-discriminant.js.map +1 -1
  19. package/build/esm/utils/ir/__tests__/__snapshots__/generateZodSchemasFromIr/datetime-fields.js +1 -1
  20. package/build/esm/utils/ir/__tests__/__snapshots__/generateZodSchemasFromIr/datetime-fields.js.map +1 -1
  21. package/build/esm/utils/ir/__tests__/__snapshots__/generateZodSchemasFromIr/simple-records.js +1 -1
  22. package/build/esm/utils/ir/__tests__/__snapshots__/generateZodSchemasFromIr/simple-records.js.map +1 -1
  23. package/build/esm/utils/ir/__tests__/__snapshots__/generateZodSchemasFromIr/union-before-records.js +1 -1
  24. package/build/esm/utils/ir/__tests__/__snapshots__/generateZodSchemasFromIr/union-before-records.js.map +1 -1
  25. package/build/esm/utils/ir/__tests__/__snapshots__/generateZodSchemasFromIr/union-types.js +1 -1
  26. package/build/esm/utils/ir/__tests__/__snapshots__/generateZodSchemasFromIr/union-types.js.map +1 -1
  27. package/build/esm/utils/schema/__tests__/__snapshots__/generateVersionsFromSchema/single-version.js.map +1 -1
  28. package/build/esm/utils/schema/__tests__/__snapshots__/generateVersionsFromSchema/three-version-chain.js.map +1 -1
  29. package/build/esm/utils/schema/__tests__/__snapshots__/generateVersionsFromSchema/two-version.js.map +1 -1
  30. package/build/esm/utils/schema/__tests__/fixtures.js +2 -8
  31. package/build/esm/utils/schema/__tests__/fixtures.js.map +1 -1
  32. package/build/esm/utils/schema/__tests__/generateModelMetadataFromSchema.test.js +5 -1
  33. package/build/esm/utils/schema/__tests__/generateModelMetadataFromSchema.test.js.map +1 -1
  34. package/build/esm/utils/schema/__tests__/snapshotUtils.js +3 -0
  35. package/build/esm/utils/schema/__tests__/snapshotUtils.js.map +1 -1
  36. package/build/esm/utils/schema/generateIndexFromSchema.js +7 -2
  37. package/build/esm/utils/schema/generateIndexFromSchema.js.map +1 -1
  38. package/build/esm/utils/schema/generateInternalFromSchema.js +138 -11
  39. package/build/esm/utils/schema/generateInternalFromSchema.js.map +1 -1
  40. package/build/esm/utils/schema/generateModelMetadataFromSchema.js +45 -13
  41. package/build/esm/utils/schema/generateModelMetadataFromSchema.js.map +1 -1
  42. package/build/esm/utils/schema/resolveSchemaChain.js +20 -11
  43. package/build/esm/utils/schema/resolveSchemaChain.js.map +1 -1
  44. package/build/esm/utils/schema/runtimeSchema.js +3 -0
  45. package/build/esm/utils/schema/runtimeSchema.js.map +1 -1
  46. package/build/esm/utils/schema/writeAllSdkFiles.js +2 -0
  47. package/build/esm/utils/schema/writeAllSdkFiles.js.map +1 -1
  48. package/build/esm/utils/steps/__tests__/__snapshots__/types/arrayFields.js.map +1 -1
  49. package/build/esm/utils/steps/__tests__/__snapshots__/types/customDiscriminant.js +1 -1
  50. package/build/esm/utils/steps/__tests__/__snapshots__/types/customDiscriminant.js.map +1 -1
  51. package/build/esm/utils/steps/__tests__/__snapshots__/types/generateTypeScriptInterfaces.js +1 -1
  52. package/build/esm/utils/steps/__tests__/__snapshots__/types/generateTypeScriptInterfaces.js.map +1 -1
  53. package/build/esm/utils/steps/__tests__/__snapshots__/types/refTypes.js.map +1 -1
  54. package/build/esm/utils/steps/__tests__/__snapshots__/types/simpleRecord.js.map +1 -1
  55. package/build/esm/utils/steps/__tests__/__snapshots__/types/simpleSteps.js +1 -1
  56. package/build/esm/utils/steps/__tests__/__snapshots__/types/simpleSteps.js.map +1 -1
  57. package/build/types/commands/asset/assetUpdateSchemaHandler.d.ts +12 -0
  58. package/build/types/commands/asset/assetUpdateSchemaHandler.d.ts.map +1 -0
  59. package/build/types/commands/asset/registerAssetCommands.d.ts.map +1 -1
  60. package/build/types/utils/schema/__tests__/fixtures.d.ts.map +1 -1
  61. package/build/types/utils/schema/__tests__/snapshotUtils.d.ts +2 -0
  62. package/build/types/utils/schema/__tests__/snapshotUtils.d.ts.map +1 -1
  63. package/build/types/utils/schema/generateIndexFromSchema.d.ts +3 -1
  64. package/build/types/utils/schema/generateIndexFromSchema.d.ts.map +1 -1
  65. package/build/types/utils/schema/generateInternalFromSchema.d.ts +5 -3
  66. package/build/types/utils/schema/generateInternalFromSchema.d.ts.map +1 -1
  67. package/build/types/utils/schema/generateModelMetadataFromSchema.d.ts.map +1 -1
  68. package/build/types/utils/schema/resolveSchemaChain.d.ts +7 -7
  69. package/build/types/utils/schema/resolveSchemaChain.d.ts.map +1 -1
  70. package/build/types/utils/schema/runtimeSchema.d.ts +2 -0
  71. package/build/types/utils/schema/runtimeSchema.d.ts.map +1 -1
  72. package/build/types/utils/schema/writeAllSdkFiles.d.ts.map +1 -1
  73. package/package.json +4 -4
@@ -16,11 +16,7 @@
16
16
 
17
17
  import { convertSchemaToIr } from "../steps/convertStepsToIr.js";
18
18
 
19
- /**
20
- * JSON-serializable form of a single field migration. The `forward` callback
21
- * from the schema builder is captured as its source string so the entry can be
22
- * round-tripped through a JSON IR file.
23
- */
19
+ /** JSON-serializable form of a single field migration. */
24
20
 
25
21
  /** Serialized migrations keyed by `[recordModelName][fieldName]`. */
26
22
 
@@ -46,10 +42,7 @@ function collectVersionedIrChain(input) {
46
42
  return chain;
47
43
  }
48
44
 
49
- /**
50
- * Capture each `forward` callback as its source string so the migrations object
51
- * is plain JSON-serializable data.
52
- */
45
+ /** Convert schema-builder migrations to their JSON-serializable form. */
53
46
  function serializeMigrations(migrations) {
54
47
  if (migrations == null) return undefined;
55
48
  const result = {};
@@ -57,8 +50,7 @@ function serializeMigrations(migrations) {
57
50
  const fieldEntries = {};
58
51
  for (const [fieldName, migration] of Object.entries(fields)) {
59
52
  fieldEntries[fieldName] = {
60
- derivedFrom: [...migration.derivedFrom],
61
- forwardSource: migration.forward.toString()
53
+ derivedFrom: [...migration.derivedFrom]
62
54
  };
63
55
  }
64
56
  result[modelKey] = fieldEntries;
@@ -101,4 +93,21 @@ export function resolveSchemaChain(schema, minSupportedVersion) {
101
93
  minVersion
102
94
  };
103
95
  }
96
+
97
+ /**
98
+ * True if any migration in the chain declares a non-empty `derivedFrom`. Drives
99
+ * whether the generated SDK emits `DocumentModel` as a factory (requires the
100
+ * app to supply typed upgrade functions) or as a const (no upgrade functions needed).
101
+ */
102
+ export function chainHasDerivedFields(chain) {
103
+ for (const entry of chain) {
104
+ if (entry.migrations == null) continue;
105
+ for (const recordMigrations of Object.values(entry.migrations)) {
106
+ for (const fieldMigration of Object.values(recordMigrations)) {
107
+ if (fieldMigration.derivedFrom.length > 0) return true;
108
+ }
109
+ }
110
+ }
111
+ return false;
112
+ }
104
113
  //# sourceMappingURL=resolveSchemaChain.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"resolveSchemaChain.js","names":["convertSchemaToIr","collectVersionedIrChain","input","chain","current","type","unshift","version","ir","models","migrations","serializeMigrations","previous","undefined","result","modelKey","fields","Object","entries","fieldEntries","fieldName","migration","derivedFrom","forwardSource","forward","toString","resolveMinVersion","minSupportedVersion","length","Error","latestVersion","some","c","map","join","minVersion","resolveSchemaChain","schema"],"sources":["resolveSchemaChain.ts"],"sourcesContent":["/*\n * Copyright 2026 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type { SchemaDefinition, VersionMigrations } from \"@palantir/pack.schema\";\nimport type { IRealTimeDocumentSchema } from \"../../lib/pack-docschema-api/pack-docschema-ir/index.js\";\nimport { convertSchemaToIr } from \"../steps/convertStepsToIr.js\";\n\n/**\n * JSON-serializable form of a single field migration. The `forward` callback\n * from the schema builder is captured as its source string so the entry can be\n * round-tripped through a JSON IR file.\n */\nexport interface SerializedFieldMigration {\n readonly derivedFrom: readonly string[];\n /** `Function.toString()` output of the original `forward` callback. */\n readonly forwardSource: string;\n}\n\n/** Serialized migrations keyed by `[recordModelName][fieldName]`. */\nexport type SerializedVersionMigrations = Record<\n string,\n Record<string, SerializedFieldMigration>\n>;\n\nexport interface VersionedIrEntry {\n version: number;\n ir: IRealTimeDocumentSchema;\n migrations?: SerializedVersionMigrations;\n}\n\nexport interface ResolvedIrChain {\n chain: VersionedIrEntry[];\n latestVersion: number;\n minVersion: number;\n}\n\nfunction collectVersionedIrChain(input: SchemaDefinition): VersionedIrEntry[] {\n const chain: VersionedIrEntry[] = [];\n let current: SchemaDefinition = input;\n\n while (current.type === \"versioned\") {\n chain.unshift({\n version: current.version,\n ir: convertSchemaToIr(current.models, { version: current.version }),\n migrations: serializeMigrations(current.migrations),\n });\n current = current.previous;\n }\n chain.unshift({\n version: current.version,\n ir: convertSchemaToIr(current.models, { version: current.version }),\n });\n\n return chain;\n}\n\n/**\n * Capture each `forward` callback as its source string so the migrations object\n * is plain JSON-serializable data.\n */\nfunction serializeMigrations(\n migrations: VersionMigrations | undefined,\n): SerializedVersionMigrations | undefined {\n if (migrations == null) return undefined;\n const result: SerializedVersionMigrations = {};\n for (const [modelKey, fields] of Object.entries(migrations)) {\n const fieldEntries: Record<string, SerializedFieldMigration> = {};\n for (const [fieldName, migration] of Object.entries(fields)) {\n fieldEntries[fieldName] = {\n derivedFrom: [...migration.derivedFrom],\n forwardSource: migration.forward.toString(),\n };\n }\n result[modelKey] = fieldEntries;\n }\n return result;\n}\n\n/**\n * Validate `minSupportedVersion` against an already-resolved chain and return\n * the effective `minVersion`. Throws on invalid input.\n */\nexport function resolveMinVersion(\n chain: VersionedIrEntry[],\n minSupportedVersion: number | undefined,\n): { latestVersion: number; minVersion: number } {\n if (chain.length === 0) {\n throw new Error(\"Schema version chain is empty\");\n }\n\n const latestVersion = chain[chain.length - 1]!.version;\n\n if (minSupportedVersion != null && !chain.some(c => c.version === minSupportedVersion)) {\n throw new Error(\n `minSupportedVersion ${minSupportedVersion} is not in the schema chain `\n + `(available versions: ${chain.map(c => c.version).join(\", \")})`,\n );\n }\n\n return {\n latestVersion,\n minVersion: minSupportedVersion ?? latestVersion,\n };\n}\n\n/**\n * Collect the version chain and resolve min/latest versions.\n * Each version's models are converted to IR (IRealTimeDocumentSchema).\n * Throws on empty chain or invalid minSupportedVersion.\n */\nexport function resolveSchemaChain(\n schema: SchemaDefinition,\n minSupportedVersion?: number,\n): ResolvedIrChain {\n const chain = collectVersionedIrChain(schema);\n const { latestVersion, minVersion } = resolveMinVersion(chain, minSupportedVersion);\n return { chain, latestVersion, minVersion };\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"resolveSchemaChain.js","names":["convertSchemaToIr","collectVersionedIrChain","input","chain","current","type","unshift","version","ir","models","migrations","serializeMigrations","previous","undefined","result","modelKey","fields","Object","entries","fieldEntries","fieldName","migration","derivedFrom","resolveMinVersion","minSupportedVersion","length","Error","latestVersion","some","c","map","join","minVersion","resolveSchemaChain","schema","chainHasDerivedFields","entry","recordMigrations","values","fieldMigration"],"sources":["resolveSchemaChain.ts"],"sourcesContent":["/*\n * Copyright 2026 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type { SchemaDefinition, VersionMigrations } from \"@palantir/pack.schema\";\nimport type { IRealTimeDocumentSchema } from \"../../lib/pack-docschema-api/pack-docschema-ir/index.js\";\nimport { convertSchemaToIr } from \"../steps/convertStepsToIr.js\";\n\n/** JSON-serializable form of a single field migration. */\nexport interface SerializedFieldMigration {\n readonly derivedFrom: readonly string[];\n}\n\n/** Serialized migrations keyed by `[recordModelName][fieldName]`. */\nexport type SerializedVersionMigrations = Record<\n string,\n Record<string, SerializedFieldMigration>\n>;\n\nexport interface VersionedIrEntry {\n version: number;\n ir: IRealTimeDocumentSchema;\n migrations?: SerializedVersionMigrations;\n}\n\nexport interface ResolvedIrChain {\n chain: VersionedIrEntry[];\n latestVersion: number;\n minVersion: number;\n}\n\nfunction collectVersionedIrChain(input: SchemaDefinition): VersionedIrEntry[] {\n const chain: VersionedIrEntry[] = [];\n let current: SchemaDefinition = input;\n\n while (current.type === \"versioned\") {\n chain.unshift({\n version: current.version,\n ir: convertSchemaToIr(current.models, { version: current.version }),\n migrations: serializeMigrations(current.migrations),\n });\n current = current.previous;\n }\n chain.unshift({\n version: current.version,\n ir: convertSchemaToIr(current.models, { version: current.version }),\n });\n\n return chain;\n}\n\n/** Convert schema-builder migrations to their JSON-serializable form. */\nfunction serializeMigrations(\n migrations: VersionMigrations | undefined,\n): SerializedVersionMigrations | undefined {\n if (migrations == null) return undefined;\n const result: SerializedVersionMigrations = {};\n for (const [modelKey, fields] of Object.entries(migrations)) {\n const fieldEntries: Record<string, SerializedFieldMigration> = {};\n for (const [fieldName, migration] of Object.entries(fields)) {\n fieldEntries[fieldName] = {\n derivedFrom: [...migration.derivedFrom],\n };\n }\n result[modelKey] = fieldEntries;\n }\n return result;\n}\n\n/**\n * Validate `minSupportedVersion` against an already-resolved chain and return\n * the effective `minVersion`. Throws on invalid input.\n */\nexport function resolveMinVersion(\n chain: VersionedIrEntry[],\n minSupportedVersion: number | undefined,\n): { latestVersion: number; minVersion: number } {\n if (chain.length === 0) {\n throw new Error(\"Schema version chain is empty\");\n }\n\n const latestVersion = chain[chain.length - 1]!.version;\n\n if (minSupportedVersion != null && !chain.some(c => c.version === minSupportedVersion)) {\n throw new Error(\n `minSupportedVersion ${minSupportedVersion} is not in the schema chain `\n + `(available versions: ${chain.map(c => c.version).join(\", \")})`,\n );\n }\n\n return {\n latestVersion,\n minVersion: minSupportedVersion ?? latestVersion,\n };\n}\n\n/**\n * Collect the version chain and resolve min/latest versions.\n * Each version's models are converted to IR (IRealTimeDocumentSchema).\n * Throws on empty chain or invalid minSupportedVersion.\n */\nexport function resolveSchemaChain(\n schema: SchemaDefinition,\n minSupportedVersion?: number,\n): ResolvedIrChain {\n const chain = collectVersionedIrChain(schema);\n const { latestVersion, minVersion } = resolveMinVersion(chain, minSupportedVersion);\n return { chain, latestVersion, minVersion };\n}\n\n/**\n * True if any migration in the chain declares a non-empty `derivedFrom`. Drives\n * whether the generated SDK emits `DocumentModel` as a factory (requires the\n * app to supply typed upgrade functions) or as a const (no upgrade functions needed).\n */\nexport function chainHasDerivedFields(chain: VersionedIrEntry[]): boolean {\n for (const entry of chain) {\n if (entry.migrations == null) continue;\n for (const recordMigrations of Object.values(entry.migrations)) {\n for (const fieldMigration of Object.values(recordMigrations)) {\n if (fieldMigration.derivedFrom.length > 0) return true;\n }\n }\n }\n return false;\n}\n"],"mappings":"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","ignoreList":[]}
@@ -61,6 +61,9 @@ export const MODELS_PATH = "./models.js";
61
61
  /** Internal upgrades file path: `./_internal/upgrades.js` */
62
62
  export const INTERNAL_UPGRADES_PATH = "./_internal/upgrades.js";
63
63
 
64
+ /** Internal upgrade-functions file path: `./_internal/upgradeFns.js` */
65
+ export const INTERNAL_UPGRADE_FNS_PATH = "./_internal/upgradeFns.js";
66
+
64
67
  /** Versions file path: `./versions.js` */
65
68
  export const VERSIONS_PATH = "./versions.js";
66
69
 
@@ -1 +1 @@
1
- {"version":3,"file":"runtimeSchema.js","names":["versionedTypeName","exportName","version","versionedWriteTypeName","versionedSchemaName","modelName","schemaName","typesFilePath","writeTypesFilePath","TYPES_REEXPORT_PATH","SCHEMA_REEXPORT_PATH","MODELS_PATH","INTERNAL_UPGRADES_PATH","VERSIONS_PATH","VERSIONED_DOC_REF_PATH"],"sources":["runtimeSchema.ts"],"sourcesContent":["/*\n * Copyright 2026 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/** Versioned read type name: `RecordName_vN` */\nexport function versionedTypeName(exportName: string, version: number): string {\n return `${exportName}_v${version}`;\n}\n\n/** Versioned write type name: `RecordNameUpdate_vN` */\nexport function versionedWriteTypeName(exportName: string, version: number): string {\n return `${exportName}Update_v${version}`;\n}\n\n/** Versioned Zod schema name: `RecordNameSchema_vN` */\nexport function versionedSchemaName(exportName: string, version: number): string {\n return `${exportName}Schema_v${version}`;\n}\n\n/** Model constant name: `RecordNameModel` */\nexport function modelName(exportName: string): string {\n return `${exportName}Model`;\n}\n\n/** Unversioned Zod schema name: `RecordNameSchema` */\nexport function schemaName(exportName: string): string {\n return `${exportName}Schema`;\n}\n\n/** Per-version types file path: `./types_vN.js` */\nexport function typesFilePath(version: number): string {\n return `./types_v${version}.js`;\n}\n\n/** Per-version write types file path: `./writeTypes_vN.js` */\nexport function writeTypesFilePath(version: number): string {\n return `./writeTypes_v${version}.js`;\n}\n\n/** Types re-export file path: `./types.js` */\nexport const TYPES_REEXPORT_PATH = \"./types.js\";\n\n/** Schema re-export file path: `./schema.js` */\nexport const SCHEMA_REEXPORT_PATH = \"./schema.js\";\n\n/** Models file path: `./models.js` */\nexport const MODELS_PATH = \"./models.js\";\n\n/** Internal upgrades file path: `./_internal/upgrades.js` */\nexport const INTERNAL_UPGRADES_PATH = \"./_internal/upgrades.js\";\n\n/** Versions file path: `./versions.js` */\nexport const VERSIONS_PATH = \"./versions.js\";\n\n/** Versioned doc ref file path: `./versionedDocRef.js` */\nexport const VERSIONED_DOC_REF_PATH = \"./versionedDocRef.js\";\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,OAAO,SAASA,iBAAiBA,CAACC,UAAkB,EAAEC,OAAe,EAAU;EAC7E,OAAO,GAAGD,UAAU,KAAKC,OAAO,EAAE;AACpC;;AAEA;AACA,OAAO,SAASC,sBAAsBA,CAACF,UAAkB,EAAEC,OAAe,EAAU;EAClF,OAAO,GAAGD,UAAU,WAAWC,OAAO,EAAE;AAC1C;;AAEA;AACA,OAAO,SAASE,mBAAmBA,CAACH,UAAkB,EAAEC,OAAe,EAAU;EAC/E,OAAO,GAAGD,UAAU,WAAWC,OAAO,EAAE;AAC1C;;AAEA;AACA,OAAO,SAASG,SAASA,CAACJ,UAAkB,EAAU;EACpD,OAAO,GAAGA,UAAU,OAAO;AAC7B;;AAEA;AACA,OAAO,SAASK,UAAUA,CAACL,UAAkB,EAAU;EACrD,OAAO,GAAGA,UAAU,QAAQ;AAC9B;;AAEA;AACA,OAAO,SAASM,aAAaA,CAACL,OAAe,EAAU;EACrD,OAAO,YAAYA,OAAO,KAAK;AACjC;;AAEA;AACA,OAAO,SAASM,kBAAkBA,CAACN,OAAe,EAAU;EAC1D,OAAO,iBAAiBA,OAAO,KAAK;AACtC;;AAEA;AACA,OAAO,MAAMO,mBAAmB,GAAG,YAAY;;AAE/C;AACA,OAAO,MAAMC,oBAAoB,GAAG,aAAa;;AAEjD;AACA,OAAO,MAAMC,WAAW,GAAG,aAAa;;AAExC;AACA,OAAO,MAAMC,sBAAsB,GAAG,yBAAyB;;AAE/D;AACA,OAAO,MAAMC,aAAa,GAAG,eAAe;;AAE5C;AACA,OAAO,MAAMC,sBAAsB,GAAG,sBAAsB","ignoreList":[]}
1
+ {"version":3,"file":"runtimeSchema.js","names":["versionedTypeName","exportName","version","versionedWriteTypeName","versionedSchemaName","modelName","schemaName","typesFilePath","writeTypesFilePath","TYPES_REEXPORT_PATH","SCHEMA_REEXPORT_PATH","MODELS_PATH","INTERNAL_UPGRADES_PATH","INTERNAL_UPGRADE_FNS_PATH","VERSIONS_PATH","VERSIONED_DOC_REF_PATH"],"sources":["runtimeSchema.ts"],"sourcesContent":["/*\n * Copyright 2026 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/** Versioned read type name: `RecordName_vN` */\nexport function versionedTypeName(exportName: string, version: number): string {\n return `${exportName}_v${version}`;\n}\n\n/** Versioned write type name: `RecordNameUpdate_vN` */\nexport function versionedWriteTypeName(exportName: string, version: number): string {\n return `${exportName}Update_v${version}`;\n}\n\n/** Versioned Zod schema name: `RecordNameSchema_vN` */\nexport function versionedSchemaName(exportName: string, version: number): string {\n return `${exportName}Schema_v${version}`;\n}\n\n/** Model constant name: `RecordNameModel` */\nexport function modelName(exportName: string): string {\n return `${exportName}Model`;\n}\n\n/** Unversioned Zod schema name: `RecordNameSchema` */\nexport function schemaName(exportName: string): string {\n return `${exportName}Schema`;\n}\n\n/** Per-version types file path: `./types_vN.js` */\nexport function typesFilePath(version: number): string {\n return `./types_v${version}.js`;\n}\n\n/** Per-version write types file path: `./writeTypes_vN.js` */\nexport function writeTypesFilePath(version: number): string {\n return `./writeTypes_v${version}.js`;\n}\n\n/** Types re-export file path: `./types.js` */\nexport const TYPES_REEXPORT_PATH = \"./types.js\";\n\n/** Schema re-export file path: `./schema.js` */\nexport const SCHEMA_REEXPORT_PATH = \"./schema.js\";\n\n/** Models file path: `./models.js` */\nexport const MODELS_PATH = \"./models.js\";\n\n/** Internal upgrades file path: `./_internal/upgrades.js` */\nexport const INTERNAL_UPGRADES_PATH = \"./_internal/upgrades.js\";\n\n/** Internal upgrade-functions file path: `./_internal/upgradeFns.js` */\nexport const INTERNAL_UPGRADE_FNS_PATH = \"./_internal/upgradeFns.js\";\n\n/** Versions file path: `./versions.js` */\nexport const VERSIONS_PATH = \"./versions.js\";\n\n/** Versioned doc ref file path: `./versionedDocRef.js` */\nexport const VERSIONED_DOC_REF_PATH = \"./versionedDocRef.js\";\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,OAAO,SAASA,iBAAiBA,CAACC,UAAkB,EAAEC,OAAe,EAAU;EAC7E,OAAO,GAAGD,UAAU,KAAKC,OAAO,EAAE;AACpC;;AAEA;AACA,OAAO,SAASC,sBAAsBA,CAACF,UAAkB,EAAEC,OAAe,EAAU;EAClF,OAAO,GAAGD,UAAU,WAAWC,OAAO,EAAE;AAC1C;;AAEA;AACA,OAAO,SAASE,mBAAmBA,CAACH,UAAkB,EAAEC,OAAe,EAAU;EAC/E,OAAO,GAAGD,UAAU,WAAWC,OAAO,EAAE;AAC1C;;AAEA;AACA,OAAO,SAASG,SAASA,CAACJ,UAAkB,EAAU;EACpD,OAAO,GAAGA,UAAU,OAAO;AAC7B;;AAEA;AACA,OAAO,SAASK,UAAUA,CAACL,UAAkB,EAAU;EACrD,OAAO,GAAGA,UAAU,QAAQ;AAC9B;;AAEA;AACA,OAAO,SAASM,aAAaA,CAACL,OAAe,EAAU;EACrD,OAAO,YAAYA,OAAO,KAAK;AACjC;;AAEA;AACA,OAAO,SAASM,kBAAkBA,CAACN,OAAe,EAAU;EAC1D,OAAO,iBAAiBA,OAAO,KAAK;AACtC;;AAEA;AACA,OAAO,MAAMO,mBAAmB,GAAG,YAAY;;AAE/C;AACA,OAAO,MAAMC,oBAAoB,GAAG,aAAa;;AAEjD;AACA,OAAO,MAAMC,WAAW,GAAG,aAAa;;AAExC;AACA,OAAO,MAAMC,sBAAsB,GAAG,yBAAyB;;AAE/D;AACA,OAAO,MAAMC,yBAAyB,GAAG,2BAA2B;;AAEpE;AACA,OAAO,MAAMC,aAAa,GAAG,eAAe;;AAE5C;AACA,OAAO,MAAMC,sBAAsB,GAAG,sBAAsB","ignoreList":[]}
@@ -71,6 +71,8 @@ export async function writeAllSdkFiles(resolved, outputDir, minSupportedVersion)
71
71
  consola.success(`Generated upgrades: ${path.join(internalDir, "upgrades.ts")}`);
72
72
  await fs.writeFile(path.join(internalDir, "schema.ts"), internal.internalSchema, "utf8");
73
73
  consola.success(`Generated internal schema: ${path.join(internalDir, "schema.ts")}`);
74
+ await fs.writeFile(path.join(internalDir, "upgradeFns.ts"), internal.internalUpgradeFns, "utf8");
75
+ consola.success(`Generated upgrade functions: ${path.join(internalDir, "upgradeFns.ts")}`);
74
76
 
75
77
  // versions.ts
76
78
  consola.info("Generating version types...");
@@ -1 +1 @@
1
- {"version":3,"file":"writeAllSdkFiles.js","names":["consola","fs","path","generateIndexFromChain","generateInternalFromChain","generateModelMetadataFromChain","generateScopeFromChain","generateVersionedTypesFromChain","generateVersionedZodFromChain","generateVersionsFromChain","writeAllSdkFiles","resolved","outputDir","minSupportedVersion","ensureDir","info","types","version","content","readTypes","filePath","join","writeFile","success","writeTypes","typesPath","typesReExport","zod","zodSchemas","schemaPath","schemaReExport","internal","internalDir","internalTypes","upgrades","internalSchema","versionsContent","versionsPath","indexContent","indexPath","modelMetadata","modelsPath","modelsFile","versionedDocRefContent","versionedDocRefPath","parseMinVersion","minVersion","undefined","parsed","parseInt","isNaN","Error"],"sources":["writeAllSdkFiles.ts"],"sourcesContent":["/*\n * Copyright 2026 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { consola } from \"consola\";\nimport fs from \"fs-extra\";\nimport path from \"path\";\nimport { generateIndexFromChain } from \"./generateIndexFromSchema.js\";\nimport { generateInternalFromChain } from \"./generateInternalFromSchema.js\";\nimport { generateModelMetadataFromChain } from \"./generateModelMetadataFromSchema.js\";\nimport { generateScopeFromChain } from \"./generateScopeFromSchema.js\";\nimport { generateVersionedTypesFromChain } from \"./generateVersionedTypesFromSchema.js\";\nimport { generateVersionedZodFromChain } from \"./generateVersionedZodFromSchema.js\";\nimport { generateVersionsFromChain } from \"./generateVersionsFromSchema.js\";\nimport type { ResolvedIrChain } from \"./resolveSchemaChain.js\";\n\n/**\n * Generate every versioned SDK output file from a resolved IR chain and write\n * them to `outputDir`.\n */\nexport async function writeAllSdkFiles(\n resolved: ResolvedIrChain,\n outputDir: string,\n minSupportedVersion: number | undefined,\n): Promise<void> {\n await fs.ensureDir(outputDir);\n\n // Versioned types\n consola.info(\"Generating versioned types...\");\n const types = generateVersionedTypesFromChain(resolved, minSupportedVersion);\n for (const [version, content] of types.readTypes) {\n const filePath = path.join(outputDir, `types_v${version}.ts`);\n await fs.writeFile(filePath, content, \"utf8\");\n consola.success(`Generated read types: ${filePath}`);\n }\n for (const [version, content] of types.writeTypes) {\n const filePath = path.join(outputDir, `writeTypes_v${version}.ts`);\n await fs.writeFile(filePath, content, \"utf8\");\n consola.success(`Generated write types: ${filePath}`);\n }\n const typesPath = path.join(outputDir, \"types.ts\");\n await fs.writeFile(typesPath, types.typesReExport, \"utf8\");\n consola.success(`Generated types re-export: ${typesPath}`);\n\n // Versioned Zod\n consola.info(\"Generating versioned Zod schemas...\");\n const zod = generateVersionedZodFromChain(resolved, minSupportedVersion);\n for (const [version, content] of zod.zodSchemas) {\n const filePath = path.join(outputDir, `schema_v${version}.ts`);\n await fs.writeFile(filePath, content, \"utf8\");\n consola.success(`Generated Zod schema: ${filePath}`);\n }\n const schemaPath = path.join(outputDir, \"schema.ts\");\n await fs.writeFile(schemaPath, zod.schemaReExport, \"utf8\");\n consola.success(`Generated schema re-export: ${schemaPath}`);\n\n // Internal\n consola.info(\"Generating internal types and upgrades...\");\n const internal = generateInternalFromChain(resolved);\n const internalDir = path.join(outputDir, \"_internal\");\n await fs.ensureDir(internalDir);\n await fs.writeFile(path.join(internalDir, \"types.ts\"), internal.internalTypes, \"utf8\");\n consola.success(`Generated internal types: ${path.join(internalDir, \"types.ts\")}`);\n await fs.writeFile(path.join(internalDir, \"upgrades.ts\"), internal.upgrades, \"utf8\");\n consola.success(`Generated upgrades: ${path.join(internalDir, \"upgrades.ts\")}`);\n await fs.writeFile(path.join(internalDir, \"schema.ts\"), internal.internalSchema, \"utf8\");\n consola.success(`Generated internal schema: ${path.join(internalDir, \"schema.ts\")}`);\n\n // versions.ts\n consola.info(\"Generating version types...\");\n const versionsContent = generateVersionsFromChain(resolved, minSupportedVersion);\n const versionsPath = path.join(outputDir, \"versions.ts\");\n await fs.writeFile(versionsPath, versionsContent, \"utf8\");\n consola.success(`Generated versions: ${versionsPath}`);\n\n // index.ts\n consola.info(\"Generating index barrel export...\");\n const indexContent = generateIndexFromChain(resolved, minSupportedVersion);\n const indexPath = path.join(outputDir, \"index.ts\");\n await fs.writeFile(indexPath, indexContent, \"utf8\");\n consola.success(`Generated index: ${indexPath}`);\n\n // models.ts\n consola.info(\"Generating model metadata...\");\n const modelMetadata = generateModelMetadataFromChain(resolved, minSupportedVersion);\n const modelsPath = path.join(outputDir, \"models.ts\");\n await fs.writeFile(modelsPath, modelMetadata.modelsFile, \"utf8\");\n consola.success(`Generated models: ${modelsPath}`);\n\n // versionedDocRef.ts\n consola.info(\"Generating versioned document ref types...\");\n const versionedDocRefContent = generateScopeFromChain(resolved, minSupportedVersion);\n const versionedDocRefPath = path.join(outputDir, \"versionedDocRef.ts\");\n await fs.writeFile(versionedDocRefPath, versionedDocRefContent, \"utf8\");\n consola.success(`Generated versioned doc ref: ${versionedDocRefPath}`);\n}\n\nexport function parseMinVersion(minVersion: string | undefined): number | undefined {\n if (minVersion == null) return undefined;\n const parsed = parseInt(minVersion, 10);\n if (isNaN(parsed)) {\n throw new Error(`--min-version must be a valid integer, got: \"${minVersion}\"`);\n }\n return parsed;\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"writeAllSdkFiles.js","names":["consola","fs","path","generateIndexFromChain","generateInternalFromChain","generateModelMetadataFromChain","generateScopeFromChain","generateVersionedTypesFromChain","generateVersionedZodFromChain","generateVersionsFromChain","writeAllSdkFiles","resolved","outputDir","minSupportedVersion","ensureDir","info","types","version","content","readTypes","filePath","join","writeFile","success","writeTypes","typesPath","typesReExport","zod","zodSchemas","schemaPath","schemaReExport","internal","internalDir","internalTypes","upgrades","internalSchema","internalUpgradeFns","versionsContent","versionsPath","indexContent","indexPath","modelMetadata","modelsPath","modelsFile","versionedDocRefContent","versionedDocRefPath","parseMinVersion","minVersion","undefined","parsed","parseInt","isNaN","Error"],"sources":["writeAllSdkFiles.ts"],"sourcesContent":["/*\n * Copyright 2026 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { consola } from \"consola\";\nimport fs from \"fs-extra\";\nimport path from \"path\";\nimport { generateIndexFromChain } from \"./generateIndexFromSchema.js\";\nimport { generateInternalFromChain } from \"./generateInternalFromSchema.js\";\nimport { generateModelMetadataFromChain } from \"./generateModelMetadataFromSchema.js\";\nimport { generateScopeFromChain } from \"./generateScopeFromSchema.js\";\nimport { generateVersionedTypesFromChain } from \"./generateVersionedTypesFromSchema.js\";\nimport { generateVersionedZodFromChain } from \"./generateVersionedZodFromSchema.js\";\nimport { generateVersionsFromChain } from \"./generateVersionsFromSchema.js\";\nimport type { ResolvedIrChain } from \"./resolveSchemaChain.js\";\n\n/**\n * Generate every versioned SDK output file from a resolved IR chain and write\n * them to `outputDir`.\n */\nexport async function writeAllSdkFiles(\n resolved: ResolvedIrChain,\n outputDir: string,\n minSupportedVersion: number | undefined,\n): Promise<void> {\n await fs.ensureDir(outputDir);\n\n // Versioned types\n consola.info(\"Generating versioned types...\");\n const types = generateVersionedTypesFromChain(resolved, minSupportedVersion);\n for (const [version, content] of types.readTypes) {\n const filePath = path.join(outputDir, `types_v${version}.ts`);\n await fs.writeFile(filePath, content, \"utf8\");\n consola.success(`Generated read types: ${filePath}`);\n }\n for (const [version, content] of types.writeTypes) {\n const filePath = path.join(outputDir, `writeTypes_v${version}.ts`);\n await fs.writeFile(filePath, content, \"utf8\");\n consola.success(`Generated write types: ${filePath}`);\n }\n const typesPath = path.join(outputDir, \"types.ts\");\n await fs.writeFile(typesPath, types.typesReExport, \"utf8\");\n consola.success(`Generated types re-export: ${typesPath}`);\n\n // Versioned Zod\n consola.info(\"Generating versioned Zod schemas...\");\n const zod = generateVersionedZodFromChain(resolved, minSupportedVersion);\n for (const [version, content] of zod.zodSchemas) {\n const filePath = path.join(outputDir, `schema_v${version}.ts`);\n await fs.writeFile(filePath, content, \"utf8\");\n consola.success(`Generated Zod schema: ${filePath}`);\n }\n const schemaPath = path.join(outputDir, \"schema.ts\");\n await fs.writeFile(schemaPath, zod.schemaReExport, \"utf8\");\n consola.success(`Generated schema re-export: ${schemaPath}`);\n\n // Internal\n consola.info(\"Generating internal types and upgrades...\");\n const internal = generateInternalFromChain(resolved);\n const internalDir = path.join(outputDir, \"_internal\");\n await fs.ensureDir(internalDir);\n await fs.writeFile(path.join(internalDir, \"types.ts\"), internal.internalTypes, \"utf8\");\n consola.success(`Generated internal types: ${path.join(internalDir, \"types.ts\")}`);\n await fs.writeFile(path.join(internalDir, \"upgrades.ts\"), internal.upgrades, \"utf8\");\n consola.success(`Generated upgrades: ${path.join(internalDir, \"upgrades.ts\")}`);\n await fs.writeFile(path.join(internalDir, \"schema.ts\"), internal.internalSchema, \"utf8\");\n consola.success(`Generated internal schema: ${path.join(internalDir, \"schema.ts\")}`);\n await fs.writeFile(path.join(internalDir, \"upgradeFns.ts\"), internal.internalUpgradeFns, \"utf8\");\n consola.success(`Generated upgrade functions: ${path.join(internalDir, \"upgradeFns.ts\")}`);\n\n // versions.ts\n consola.info(\"Generating version types...\");\n const versionsContent = generateVersionsFromChain(resolved, minSupportedVersion);\n const versionsPath = path.join(outputDir, \"versions.ts\");\n await fs.writeFile(versionsPath, versionsContent, \"utf8\");\n consola.success(`Generated versions: ${versionsPath}`);\n\n // index.ts\n consola.info(\"Generating index barrel export...\");\n const indexContent = generateIndexFromChain(resolved, minSupportedVersion);\n const indexPath = path.join(outputDir, \"index.ts\");\n await fs.writeFile(indexPath, indexContent, \"utf8\");\n consola.success(`Generated index: ${indexPath}`);\n\n // models.ts\n consola.info(\"Generating model metadata...\");\n const modelMetadata = generateModelMetadataFromChain(resolved, minSupportedVersion);\n const modelsPath = path.join(outputDir, \"models.ts\");\n await fs.writeFile(modelsPath, modelMetadata.modelsFile, \"utf8\");\n consola.success(`Generated models: ${modelsPath}`);\n\n // versionedDocRef.ts\n consola.info(\"Generating versioned document ref types...\");\n const versionedDocRefContent = generateScopeFromChain(resolved, minSupportedVersion);\n const versionedDocRefPath = path.join(outputDir, \"versionedDocRef.ts\");\n await fs.writeFile(versionedDocRefPath, versionedDocRefContent, \"utf8\");\n consola.success(`Generated versioned doc ref: ${versionedDocRefPath}`);\n}\n\nexport function parseMinVersion(minVersion: string | undefined): number | undefined {\n if (minVersion == null) return undefined;\n const parsed = parseInt(minVersion, 10);\n if (isNaN(parsed)) {\n throw new Error(`--min-version must be a valid integer, got: \"${minVersion}\"`);\n }\n return parsed;\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"arrayFields.js","names":[],"sources":["arrayFields.ts"],"sourcesContent":["/* Generated by @palantir/pack.document-schema.type-gen@0.10.0 */\n\n\nexport interface Container {\n readonly items: readonly string[];\n readonly numbers: readonly number[];\n}\n\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"file":"arrayFields.js","names":[],"sources":["arrayFields.ts"],"sourcesContent":["/* Generated by @palantir/pack.document-schema.type-gen@0.11.0 */\n\n\nexport interface Container {\n readonly items: readonly string[];\n readonly numbers: readonly number[];\n}\n\n"],"mappings":"","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- /* Generated by @palantir/pack.document-schema.type-gen@0.10.0 */
1
+ /* Generated by @palantir/pack.document-schema.type-gen@0.11.0 */
2
2
 
3
3
  /**
4
4
  * A cat
@@ -1 +1 @@
1
- {"version":3,"file":"customDiscriminant.js","names":["isAnimalCat","value","kind","isAnimalDog"],"sources":["customDiscriminant.ts"],"sourcesContent":["/* Generated by @palantir/pack.document-schema.type-gen@0.10.0 */\n\n\n/**\n * A cat\n */\nexport interface Cat {\n readonly meow: string;\n readonly whiskers: number;\n}\n\n/**\n * A dog\n */\nexport interface Dog {\n readonly bark: string;\n readonly tailWags: number;\n}\n\nexport interface AnimalCat extends Cat {\n readonly kind: \"cat\";\n}\n\nexport interface AnimalDog extends Dog {\n readonly kind: \"dog\";\n}\n\nexport type Animal = AnimalCat | AnimalDog;\n\nexport function isAnimalCat(value: Animal): value is AnimalCat {\n return value.kind === \"cat\";\n}\n\nexport function isAnimalDog(value: Animal): value is AnimalDog {\n return value.kind === \"dog\";\n}\n\n"],"mappings":"AAAA;;AAGA;AACA;AACA;;AAMA;AACA;AACA;;AAgBA,OAAO,SAASA,WAAWA,CAACC,KAAa,EAAsB;EAC7D,OAAOA,KAAK,CAACC,IAAI,KAAK,KAAK;AAC7B;AAEA,OAAO,SAASC,WAAWA,CAACF,KAAa,EAAsB;EAC7D,OAAOA,KAAK,CAACC,IAAI,KAAK,KAAK;AAC7B","ignoreList":[]}
1
+ {"version":3,"file":"customDiscriminant.js","names":["isAnimalCat","value","kind","isAnimalDog"],"sources":["customDiscriminant.ts"],"sourcesContent":["/* Generated by @palantir/pack.document-schema.type-gen@0.11.0 */\n\n\n/**\n * A cat\n */\nexport interface Cat {\n readonly meow: string;\n readonly whiskers: number;\n}\n\n/**\n * A dog\n */\nexport interface Dog {\n readonly bark: string;\n readonly tailWags: number;\n}\n\nexport interface AnimalCat extends Cat {\n readonly kind: \"cat\";\n}\n\nexport interface AnimalDog extends Dog {\n readonly kind: \"dog\";\n}\n\nexport type Animal = AnimalCat | AnimalDog;\n\nexport function isAnimalCat(value: Animal): value is AnimalCat {\n return value.kind === \"cat\";\n}\n\nexport function isAnimalDog(value: Animal): value is AnimalDog {\n return value.kind === \"dog\";\n}\n\n"],"mappings":"AAAA;;AAGA;AACA;AACA;;AAMA;AACA;AACA;;AAgBA,OAAO,SAASA,WAAWA,CAACC,KAAa,EAAsB;EAC7D,OAAOA,KAAK,CAACC,IAAI,KAAK,KAAK;AAC7B;AAEA,OAAO,SAASC,WAAWA,CAACF,KAAa,EAAsB;EAC7D,OAAOA,KAAK,CAACC,IAAI,KAAK,KAAK;AAC7B","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- /* Generated by @palantir/pack.document-schema.type-gen@0.10.0 */
1
+ /* Generated by @palantir/pack.document-schema.type-gen@0.11.0 */
2
2
 
3
3
  /**
4
4
  * Represents an edge in a graph
@@ -1 +1 @@
1
- {"version":3,"file":"generateTypeScriptInterfaces.js","names":["isNodeObject","value","type","isNodeTextBox"],"sources":["generateTypeScriptInterfaces.ts"],"sourcesContent":["/* Generated by @palantir/pack.document-schema.type-gen@0.10.0 */\n\n\n/**\n * Represents an edge in a graph\n */\nexport interface Edge {\n readonly source: ObjectNode;\n readonly target: ObjectNode;\n}\n\nexport interface ObjectNode {\n readonly x: number;\n readonly y: number;\n readonly label?: string;\n readonly color?: string;\n}\n\n/**\n * Represents a text box in a graph\n */\nexport interface TextBox {\n readonly x: number;\n readonly y: number;\n readonly text: string;\n}\n\nexport interface NodeObject extends ObjectNode {\n readonly type: \"object\";\n}\n\nexport interface NodeTextBox extends TextBox {\n readonly type: \"text-box\";\n}\n\nexport type Node = NodeObject | NodeTextBox;\n\nexport function isNodeObject(value: Node): value is NodeObject {\n return value.type === \"object\";\n}\n\nexport function isNodeTextBox(value: Node): value is NodeTextBox {\n return value.type === \"text-box\";\n}\n\n"],"mappings":"AAAA;;AAGA;AACA;AACA;;AAaA;AACA;AACA;;AAiBA,OAAO,SAASA,YAAYA,CAACC,KAAW,EAAuB;EAC7D,OAAOA,KAAK,CAACC,IAAI,KAAK,QAAQ;AAChC;AAEA,OAAO,SAASC,aAAaA,CAACF,KAAW,EAAwB;EAC/D,OAAOA,KAAK,CAACC,IAAI,KAAK,UAAU;AAClC","ignoreList":[]}
1
+ {"version":3,"file":"generateTypeScriptInterfaces.js","names":["isNodeObject","value","type","isNodeTextBox"],"sources":["generateTypeScriptInterfaces.ts"],"sourcesContent":["/* Generated by @palantir/pack.document-schema.type-gen@0.11.0 */\n\n\n/**\n * Represents an edge in a graph\n */\nexport interface Edge {\n readonly source: ObjectNode;\n readonly target: ObjectNode;\n}\n\nexport interface ObjectNode {\n readonly x: number;\n readonly y: number;\n readonly label?: string;\n readonly color?: string;\n}\n\n/**\n * Represents a text box in a graph\n */\nexport interface TextBox {\n readonly x: number;\n readonly y: number;\n readonly text: string;\n}\n\nexport interface NodeObject extends ObjectNode {\n readonly type: \"object\";\n}\n\nexport interface NodeTextBox extends TextBox {\n readonly type: \"text-box\";\n}\n\nexport type Node = NodeObject | NodeTextBox;\n\nexport function isNodeObject(value: Node): value is NodeObject {\n return value.type === \"object\";\n}\n\nexport function isNodeTextBox(value: Node): value is NodeTextBox {\n return value.type === \"text-box\";\n}\n\n"],"mappings":"AAAA;;AAGA;AACA;AACA;;AAaA;AACA;AACA;;AAiBA,OAAO,SAASA,YAAYA,CAACC,KAAW,EAAuB;EAC7D,OAAOA,KAAK,CAACC,IAAI,KAAK,QAAQ;AAChC;AAEA,OAAO,SAASC,aAAaA,CAACF,KAAW,EAAwB;EAC/D,OAAOA,KAAK,CAACC,IAAI,KAAK,UAAU;AAClC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"refTypes.js","names":[],"sources":["refTypes.ts"],"sourcesContent":["/* Generated by @palantir/pack.document-schema.type-gen@0.10.0 */\n\nimport type { DocumentRef, MediaRef, ObjectRef, UserRef } from \"@palantir/pack.document-schema.model-types\";\n\n/**\n * A record containing all reference types\n */\nexport interface Document {\n readonly id: string;\n readonly docRef: DocumentRef;\n readonly userRef: UserRef;\n readonly objectRef: ObjectRef;\n readonly mediaRef: MediaRef;\n readonly optionalDocRef?: DocumentRef;\n readonly docRefArray: readonly DocumentRef[];\n readonly userRefArray: readonly UserRef[];\n}\n\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"file":"refTypes.js","names":[],"sources":["refTypes.ts"],"sourcesContent":["/* Generated by @palantir/pack.document-schema.type-gen@0.11.0 */\n\nimport type { DocumentRef, MediaRef, ObjectRef, UserRef } from \"@palantir/pack.document-schema.model-types\";\n\n/**\n * A record containing all reference types\n */\nexport interface Document {\n readonly id: string;\n readonly docRef: DocumentRef;\n readonly userRef: UserRef;\n readonly objectRef: ObjectRef;\n readonly mediaRef: MediaRef;\n readonly optionalDocRef?: DocumentRef;\n readonly docRefArray: readonly DocumentRef[];\n readonly userRefArray: readonly UserRef[];\n}\n\n"],"mappings":"","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"simpleRecord.js","names":[],"sources":["simpleRecord.ts"],"sourcesContent":["/* Generated by @palantir/pack.document-schema.type-gen@0.10.0 */\n\n\n/**\n * A person record\n */\nexport interface Person {\n readonly name: string;\n readonly age: number;\n readonly email?: string;\n}\n\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"file":"simpleRecord.js","names":[],"sources":["simpleRecord.ts"],"sourcesContent":["/* Generated by @palantir/pack.document-schema.type-gen@0.11.0 */\n\n\n/**\n * A person record\n */\nexport interface Person {\n readonly name: string;\n readonly age: number;\n readonly email?: string;\n}\n\n"],"mappings":"","ignoreList":[]}
@@ -1,4 +1,4 @@
1
- /* Generated by @palantir/pack.document-schema.type-gen@0.10.0 */
1
+ /* Generated by @palantir/pack.document-schema.type-gen@0.11.0 */
2
2
 
3
3
  /**
4
4
  * A node in the graph
@@ -1 +1 @@
1
- {"version":3,"file":"simpleSteps.js","names":["isNodeObject","value","type","isNodeTextBox"],"sources":["simpleSteps.ts"],"sourcesContent":["/* Generated by @palantir/pack.document-schema.type-gen@0.10.0 */\n\n\n/**\n * A node in the graph\n */\nexport interface ObjectNode {\n readonly x: number;\n readonly y: number;\n readonly object: string;\n readonly label?: string;\n readonly edges: readonly Edge[];\n}\n\n/**\n * A text box in the graph\n */\nexport interface TextBox {\n readonly x: number;\n readonly y: number;\n readonly text: string;\n}\n\n/**\n * An edge in the graph\n */\nexport interface Edge {\n readonly source: ObjectNode;\n readonly target: ObjectNode;\n}\n\nexport interface NodeObject extends ObjectNode {\n readonly type: \"object\";\n}\n\nexport interface NodeTextBox extends TextBox {\n readonly type: \"textBox\";\n}\n\nexport type Node = NodeObject | NodeTextBox;\n\nexport function isNodeObject(value: Node): value is NodeObject {\n return value.type === \"object\";\n}\n\nexport function isNodeTextBox(value: Node): value is NodeTextBox {\n return value.type === \"textBox\";\n}\n\n"],"mappings":"AAAA;;AAGA;AACA;AACA;;AASA;AACA;AACA;;AAOA;AACA;AACA;;AAgBA,OAAO,SAASA,YAAYA,CAACC,KAAW,EAAuB;EAC7D,OAAOA,KAAK,CAACC,IAAI,KAAK,QAAQ;AAChC;AAEA,OAAO,SAASC,aAAaA,CAACF,KAAW,EAAwB;EAC/D,OAAOA,KAAK,CAACC,IAAI,KAAK,SAAS;AACjC","ignoreList":[]}
1
+ {"version":3,"file":"simpleSteps.js","names":["isNodeObject","value","type","isNodeTextBox"],"sources":["simpleSteps.ts"],"sourcesContent":["/* Generated by @palantir/pack.document-schema.type-gen@0.11.0 */\n\n\n/**\n * A node in the graph\n */\nexport interface ObjectNode {\n readonly x: number;\n readonly y: number;\n readonly object: string;\n readonly label?: string;\n readonly edges: readonly Edge[];\n}\n\n/**\n * A text box in the graph\n */\nexport interface TextBox {\n readonly x: number;\n readonly y: number;\n readonly text: string;\n}\n\n/**\n * An edge in the graph\n */\nexport interface Edge {\n readonly source: ObjectNode;\n readonly target: ObjectNode;\n}\n\nexport interface NodeObject extends ObjectNode {\n readonly type: \"object\";\n}\n\nexport interface NodeTextBox extends TextBox {\n readonly type: \"textBox\";\n}\n\nexport type Node = NodeObject | NodeTextBox;\n\nexport function isNodeObject(value: Node): value is NodeObject {\n return value.type === \"object\";\n}\n\nexport function isNodeTextBox(value: Node): value is NodeTextBox {\n return value.type === \"textBox\";\n}\n\n"],"mappings":"AAAA;;AAGA;AACA;AACA;;AASA;AACA;AACA;;AAOA;AACA;AACA;;AAgBA,OAAO,SAASA,YAAYA,CAACC,KAAW,EAAuB;EAC7D,OAAOA,KAAK,CAACC,IAAI,KAAK,QAAQ;AAChC;AAEA,OAAO,SAASC,aAAaA,CAACF,KAAW,EAAwB;EAC/D,OAAOA,KAAK,CAACC,IAAI,KAAK,SAAS;AACjC","ignoreList":[]}
@@ -0,0 +1,12 @@
1
+ interface AssetUpdateSchemaOptions {
2
+ readonly input: string;
3
+ readonly baseUrl: string;
4
+ readonly auth: string;
5
+ readonly ontologyRid: string;
6
+ readonly forceOverwrite?: boolean;
7
+ readonly firstPartyPrefix?: string;
8
+ }
9
+ /** Updates the schema of an existing document type using a generated asset JSON file. */
10
+ export declare function assetUpdateSchemaHandler(options: AssetUpdateSchemaOptions): Promise<void>;
11
+ export {};
12
+ //# sourceMappingURL=assetUpdateSchemaHandler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assetUpdateSchemaHandler.d.ts","sourceRoot":"","sources":["../../../../src/commands/asset/assetUpdateSchemaHandler.ts"],"names":[],"mappings":"AA0BA,UAAU,wBAAwB;IAChC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC;IAClC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;CACpC;AAID,yFAAyF;AACzF,wBAAsB,wBAAwB,CAC5C,OAAO,EAAE,wBAAwB,GAChC,OAAO,CAAC,IAAI,CAAC,CAyEf"}
@@ -1 +1 @@
1
- {"version":3,"file":"registerAssetCommands.d.ts","sourceRoot":"","sources":["../../../../src/commands/asset/registerAssetCommands.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGzC,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAiB5D"}
1
+ {"version":3,"file":"registerAssetCommands.d.ts","sourceRoot":"","sources":["../../../../src/commands/asset/registerAssetCommands.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIzC,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAqC5D"}
@@ -1 +1 @@
1
- {"version":3,"file":"fixtures.d.ts","sourceRoot":"","sources":["../../../../../src/utils/schema/__tests__/fixtures.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAiB,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAyB7E,eAAO,MAAM,mBAAmB,EAAE,gBAA4C,CAAC;AAE/E,qGAAqG;AACrG,eAAO,MAAM,4BAA4B,EAAE,gBAkB1C,CAAC;AAYF,eAAO,MAAM,wBAAwB,EAAE,gBAE7B,CAAC;AAaX,eAAO,MAAM,eAAe,EAAE,gBAY5B,CAAC;AAWH,eAAO,MAAM,gBAAgB,EAAE,gBAU7B,CAAC;AAEH,6FAA6F;AAC7F,eAAO,MAAM,qBAAqB,EAAE,gBASlC,CAAC;AAEH,wFAAwF;AACxF,eAAO,MAAM,6BAA6B,EAAE,gBA8B3C,CAAC;AAEF,0FAA0F;AAC1F,eAAO,MAAM,sBAAsB,EAAE,gBAOnC,CAAC;AAqBH,eAAO,MAAM,iBAAiB,EAAE,gBAU9B,CAAC;AAEH;;;;GAIG;AACH,eAAO,MAAM,6BAA6B,EAAE,gBAwBxC,CAAC;AAEL,wFAAwF;AACxF,eAAO,MAAM,uBAAuB,EAAE,gBAwClC,CAAC"}
1
+ {"version":3,"file":"fixtures.d.ts","sourceRoot":"","sources":["../../../../../src/utils/schema/__tests__/fixtures.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAiB,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAyB7E,eAAO,MAAM,mBAAmB,EAAE,gBAA4C,CAAC;AAE/E,qGAAqG;AACrG,eAAO,MAAM,4BAA4B,EAAE,gBAkB1C,CAAC;AAYF,eAAO,MAAM,wBAAwB,EAAE,gBAE7B,CAAC;AAaX,eAAO,MAAM,eAAe,EAAE,gBAY5B,CAAC;AAWH,eAAO,MAAM,gBAAgB,EAAE,gBAU7B,CAAC;AAEH,6FAA6F;AAC7F,eAAO,MAAM,qBAAqB,EAAE,gBASlC,CAAC;AAEH,wFAAwF;AACxF,eAAO,MAAM,6BAA6B,EAAE,gBA4B3C,CAAC;AAEF,0FAA0F;AAC1F,eAAO,MAAM,sBAAsB,EAAE,gBAOnC,CAAC;AAqBH,eAAO,MAAM,iBAAiB,EAAE,gBAU9B,CAAC;AAEH;;;;GAIG;AACH,eAAO,MAAM,6BAA6B,EAAE,gBAwBxC,CAAC;AAEL,wFAAwF;AACxF,eAAO,MAAM,uBAAuB,EAAE,gBAwClC,CAAC"}
@@ -42,6 +42,8 @@ export declare function formatVersionedZodSnapshot(result: VersionedZodOutput):
42
42
  * ...
43
43
  * // === _internal/schema.ts ===
44
44
  * ...
45
+ * // === _internal/upgradeFns.ts ===
46
+ * ...
45
47
  */
46
48
  export declare function formatInternalTypesSnapshot(result: InternalTypesOutput): Promise<string>;
47
49
  //# sourceMappingURL=snapshotUtils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"snapshotUtils.d.ts","sourceRoot":"","sources":["../../../../../src/utils/schema/__tests__/snapshotUtils.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AACjF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wCAAwC,CAAC;AACnF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAiB/E;;;;;;;;;;GAUG;AACH,wBAAsB,4BAA4B,CAChD,MAAM,EAAE,oBAAoB,GAC3B,OAAO,CAAC,MAAM,CAAC,CAcjB;AAED;;GAEG;AACH,wBAAsB,2BAA2B,CAC/C,MAAM,EAAE,mBAAmB,GAC1B,OAAO,CAAC,MAAM,CAAC,CAEjB;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,MAAM,CAAC,CAEjB;AAED;;;;;;;;GAQG;AACH,wBAAsB,0BAA0B,CAC9C,MAAM,EAAE,kBAAkB,GACzB,OAAO,CAAC,MAAM,CAAC,CAWjB;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,2BAA2B,CAC/C,MAAM,EAAE,mBAAmB,GAC1B,OAAO,CAAC,MAAM,CAAC,CAQjB"}
1
+ {"version":3,"file":"snapshotUtils.d.ts","sourceRoot":"","sources":["../../../../../src/utils/schema/__tests__/snapshotUtils.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AACjF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wCAAwC,CAAC;AACnF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAiB/E;;;;;;;;;;GAUG;AACH,wBAAsB,4BAA4B,CAChD,MAAM,EAAE,oBAAoB,GAC3B,OAAO,CAAC,MAAM,CAAC,CAcjB;AAED;;GAEG;AACH,wBAAsB,2BAA2B,CAC/C,MAAM,EAAE,mBAAmB,GAC1B,OAAO,CAAC,MAAM,CAAC,CAEjB;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,MAAM,CAAC,CAEjB;AAED;;;;;;;;GAQG;AACH,wBAAsB,0BAA0B,CAC9C,MAAM,EAAE,kBAAkB,GACzB,OAAO,CAAC,MAAM,CAAC,CAWjB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,2BAA2B,CAC/C,MAAM,EAAE,mBAAmB,GAC1B,OAAO,CAAC,MAAM,CAAC,CASjB"}
@@ -3,10 +3,12 @@ import type { ResolvedIrChain } from "./resolveSchemaChain.js";
3
3
  * Generate the index.ts barrel export from a versioned schema.
4
4
  *
5
5
  * Exports:
6
- * - `models.js` (star export — model constants and DocumentModel)
6
+ * - `models.js` (star export — model constants and `DocumentModel`; emitted
7
+ * as a factory function when the schema has derived fields, otherwise a const)
7
8
  * - `types.js` (star export — latest-version type aliases)
8
9
  * - `versions.js` (star export — SupportedVersions, LatestVersion, MinSupportedVersion)
9
10
  * - `versionedDocRef.js` (star export — VersionedDocRef types and factory)
11
+ * - `DocumentUpgradeFns` type (the typed shape the factory accepts)
10
12
  * - Per supported version: explicit named type exports from `types_vN.js`
11
13
  * (not star exports, to avoid polluting autocomplete for read-only consumers)
12
14
  */
@@ -1 +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"}
1
+ {"version":3,"file":"generateIndexFromSchema.d.ts","sourceRoot":"","sources":["../../../../src/utils/schema/generateIndexFromSchema.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAY/D;;;;;;;;;;;;GAYG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,eAAe,EACzB,mBAAmB,CAAC,EAAE,MAAM,GAC3B,MAAM,CA2CR"}
@@ -1,4 +1,4 @@
1
- import type { ResolvedIrChain } from "./resolveSchemaChain.js";
1
+ import { type ResolvedIrChain } from "./resolveSchemaChain.js";
2
2
  export interface InternalTypesOutput {
3
3
  /** _internal/types.ts content */
4
4
  internalTypes: string;
@@ -6,10 +6,12 @@ export interface InternalTypesOutput {
6
6
  upgrades: string;
7
7
  /** _internal/schema.ts content */
8
8
  internalSchema: string;
9
+ /** _internal/upgradeFns.ts content */
10
+ internalUpgradeFns: string;
9
11
  }
10
12
  /**
11
- * Generate _internal/types.ts, _internal/upgrades.ts, and _internal/schema.ts
12
- * from an already-resolved versioned IR chain.
13
+ * Generate _internal/types.ts, _internal/upgrades.ts, _internal/schema.ts and
14
+ * _internal/upgradeFns.ts from an already-resolved versioned IR chain.
13
15
  */
14
16
  export declare function generateInternalFromChain(resolved: ResolvedIrChain): InternalTypesOutput;
15
17
  //# sourceMappingURL=generateInternalFromSchema.d.ts.map
@@ -1 +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"}
1
+ {"version":3,"file":"generateInternalFromSchema.d.ts","sourceRoot":"","sources":["../../../../src/utils/schema/generateInternalFromSchema.ts"],"names":[],"mappings":"AA2BA,OAAO,EAEL,KAAK,eAAe,EAErB,MAAM,yBAAyB,CAAC;AAEjC,MAAM,WAAW,mBAAmB;IAClC,iCAAiC;IACjC,aAAa,EAAE,MAAM,CAAC;IACtB,oCAAoC;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,kCAAkC;IAClC,cAAc,EAAE,MAAM,CAAC;IACvB,sCAAsC;IACtC,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AA2bD;;;GAGG;AACH,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,eAAe,GACxB,mBAAmB,CAarB"}
@@ -1 +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"}
1
+ {"version":3,"file":"generateModelMetadataFromSchema.d.ts","sourceRoot":"","sources":["../../../../src/utils/schema/generateModelMetadataFromSchema.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAW/D,MAAM,WAAW,mBAAmB;IAClC,sFAAsF;IACtF,UAAU,EAAE,MAAM,CAAC;CACpB;AAeD;;GAEG;AACH,wBAAgB,8BAA8B,CAC5C,QAAQ,EAAE,eAAe,EACzB,mBAAmB,CAAC,EAAE,MAAM,GAC3B,mBAAmB,CAsLrB"}
@@ -1,14 +1,8 @@
1
1
  import type { SchemaDefinition } from "@palantir/pack.schema";
2
2
  import type { IRealTimeDocumentSchema } from "../../lib/pack-docschema-api/pack-docschema-ir/index.js";
3
- /**
4
- * JSON-serializable form of a single field migration. The `forward` callback
5
- * from the schema builder is captured as its source string so the entry can be
6
- * round-tripped through a JSON IR file.
7
- */
3
+ /** JSON-serializable form of a single field migration. */
8
4
  export interface SerializedFieldMigration {
9
5
  readonly derivedFrom: readonly string[];
10
- /** `Function.toString()` output of the original `forward` callback. */
11
- readonly forwardSource: string;
12
6
  }
13
7
  /** Serialized migrations keyed by `[recordModelName][fieldName]`. */
14
8
  export type SerializedVersionMigrations = Record<string, Record<string, SerializedFieldMigration>>;
@@ -36,4 +30,10 @@ export declare function resolveMinVersion(chain: VersionedIrEntry[], minSupporte
36
30
  * Throws on empty chain or invalid minSupportedVersion.
37
31
  */
38
32
  export declare function resolveSchemaChain(schema: SchemaDefinition, minSupportedVersion?: number): ResolvedIrChain;
33
+ /**
34
+ * True if any migration in the chain declares a non-empty `derivedFrom`. Drives
35
+ * whether the generated SDK emits `DocumentModel` as a factory (requires the
36
+ * app to supply typed upgrade functions) or as a const (no upgrade functions needed).
37
+ */
38
+ export declare function chainHasDerivedFields(chain: VersionedIrEntry[]): boolean;
39
39
  //# sourceMappingURL=resolveSchemaChain.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"resolveSchemaChain.d.ts","sourceRoot":"","sources":["../../../../src/utils/schema/resolveSchemaChain.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,gBAAgB,EAAqB,MAAM,uBAAuB,CAAC;AACjF,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,yDAAyD,CAAC;AAGvG;;;;GAIG;AACH,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;IACxC,uEAAuE;IACvE,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;CAChC;AAED,qEAAqE;AACrE,MAAM,MAAM,2BAA2B,GAAG,MAAM,CAC9C,MAAM,EACN,MAAM,CAAC,MAAM,EAAE,wBAAwB,CAAC,CACzC,CAAC;AAEF,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,EAAE,EAAE,uBAAuB,CAAC;IAC5B,UAAU,CAAC,EAAE,2BAA2B,CAAC;CAC1C;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,gBAAgB,EAAE,CAAC;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;CACpB;AA4CD;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,gBAAgB,EAAE,EACzB,mBAAmB,EAAE,MAAM,GAAG,SAAS,GACtC;IAAE,aAAa,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAkB/C;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,gBAAgB,EACxB,mBAAmB,CAAC,EAAE,MAAM,GAC3B,eAAe,CAIjB"}
1
+ {"version":3,"file":"resolveSchemaChain.d.ts","sourceRoot":"","sources":["../../../../src/utils/schema/resolveSchemaChain.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,gBAAgB,EAAqB,MAAM,uBAAuB,CAAC;AACjF,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,yDAAyD,CAAC;AAGvG,0DAA0D;AAC1D,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;CACzC;AAED,qEAAqE;AACrE,MAAM,MAAM,2BAA2B,GAAG,MAAM,CAC9C,MAAM,EACN,MAAM,CAAC,MAAM,EAAE,wBAAwB,CAAC,CACzC,CAAC;AAEF,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,EAAE,EAAE,uBAAuB,CAAC;IAC5B,UAAU,CAAC,EAAE,2BAA2B,CAAC;CAC1C;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,gBAAgB,EAAE,CAAC;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;CACpB;AAwCD;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,gBAAgB,EAAE,EACzB,mBAAmB,EAAE,MAAM,GAAG,SAAS,GACtC;IAAE,aAAa,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAkB/C;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,gBAAgB,EACxB,mBAAmB,CAAC,EAAE,MAAM,GAC3B,eAAe,CAIjB;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAUxE"}
@@ -20,6 +20,8 @@ export declare const SCHEMA_REEXPORT_PATH = "./schema.js";
20
20
  export declare const MODELS_PATH = "./models.js";
21
21
  /** Internal upgrades file path: `./_internal/upgrades.js` */
22
22
  export declare const INTERNAL_UPGRADES_PATH = "./_internal/upgrades.js";
23
+ /** Internal upgrade-functions file path: `./_internal/upgradeFns.js` */
24
+ export declare const INTERNAL_UPGRADE_FNS_PATH = "./_internal/upgradeFns.js";
23
25
  /** Versions file path: `./versions.js` */
24
26
  export declare const VERSIONS_PATH = "./versions.js";
25
27
  /** Versioned doc ref file path: `./versionedDocRef.js` */
@@ -1 +1 @@
1
- {"version":3,"file":"runtimeSchema.d.ts","sourceRoot":"","sources":["../../../../src/utils/schema/runtimeSchema.ts"],"names":[],"mappings":"AAgBA,gDAAgD;AAChD,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAE7E;AAED,uDAAuD;AACvD,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAElF;AAED,uDAAuD;AACvD,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAE/E;AAED,6CAA6C;AAC7C,wBAAgB,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAEpD;AAED,sDAAsD;AACtD,wBAAgB,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAErD;AAED,mDAAmD;AACnD,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAErD;AAED,8DAA8D;AAC9D,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAE1D;AAED,8CAA8C;AAC9C,eAAO,MAAM,mBAAmB,eAAe,CAAC;AAEhD,gDAAgD;AAChD,eAAO,MAAM,oBAAoB,gBAAgB,CAAC;AAElD,sCAAsC;AACtC,eAAO,MAAM,WAAW,gBAAgB,CAAC;AAEzC,6DAA6D;AAC7D,eAAO,MAAM,sBAAsB,4BAA4B,CAAC;AAEhE,0CAA0C;AAC1C,eAAO,MAAM,aAAa,kBAAkB,CAAC;AAE7C,0DAA0D;AAC1D,eAAO,MAAM,sBAAsB,yBAAyB,CAAC"}
1
+ {"version":3,"file":"runtimeSchema.d.ts","sourceRoot":"","sources":["../../../../src/utils/schema/runtimeSchema.ts"],"names":[],"mappings":"AAgBA,gDAAgD;AAChD,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAE7E;AAED,uDAAuD;AACvD,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAElF;AAED,uDAAuD;AACvD,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAE/E;AAED,6CAA6C;AAC7C,wBAAgB,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAEpD;AAED,sDAAsD;AACtD,wBAAgB,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAErD;AAED,mDAAmD;AACnD,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAErD;AAED,8DAA8D;AAC9D,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAE1D;AAED,8CAA8C;AAC9C,eAAO,MAAM,mBAAmB,eAAe,CAAC;AAEhD,gDAAgD;AAChD,eAAO,MAAM,oBAAoB,gBAAgB,CAAC;AAElD,sCAAsC;AACtC,eAAO,MAAM,WAAW,gBAAgB,CAAC;AAEzC,6DAA6D;AAC7D,eAAO,MAAM,sBAAsB,4BAA4B,CAAC;AAEhE,wEAAwE;AACxE,eAAO,MAAM,yBAAyB,8BAA8B,CAAC;AAErE,0CAA0C;AAC1C,eAAO,MAAM,aAAa,kBAAkB,CAAC;AAE7C,0DAA0D;AAC1D,eAAO,MAAM,sBAAsB,yBAAyB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"writeAllSdkFiles.d.ts","sourceRoot":"","sources":["../../../../src/utils/schema/writeAllSdkFiles.ts"],"names":[],"mappings":"AA0BA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE/D;;;GAGG;AACH,wBAAsB,gBAAgB,CACpC,QAAQ,EAAE,eAAe,EACzB,SAAS,EAAE,MAAM,EACjB,mBAAmB,EAAE,MAAM,GAAG,SAAS,GACtC,OAAO,CAAC,IAAI,CAAC,CAuEf;AAED,wBAAgB,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAOlF"}
1
+ {"version":3,"file":"writeAllSdkFiles.d.ts","sourceRoot":"","sources":["../../../../src/utils/schema/writeAllSdkFiles.ts"],"names":[],"mappings":"AA0BA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE/D;;;GAGG;AACH,wBAAsB,gBAAgB,CACpC,QAAQ,EAAE,eAAe,EACzB,SAAS,EAAE,MAAM,EACjB,mBAAmB,EAAE,MAAM,GAAG,SAAS,GACtC,OAAO,CAAC,IAAI,CAAC,CAyEf;AAED,wBAAgB,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAOlF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@palantir/pack.document-schema.type-gen",
3
- "version": "0.10.0",
3
+ "version": "0.11.0",
4
4
  "description": "TypeScript type generation from document schema",
5
5
  "license": "Apache-2.0",
6
6
  "repository": {
@@ -18,7 +18,7 @@
18
18
  },
19
19
  "dependencies": {
20
20
  "@osdk/client": "^2.5.2",
21
- "@osdk/foundry.pack": "^2.59.0",
21
+ "@osdk/foundry.pack": "^2.60.0",
22
22
  "commander": "^14.0.0",
23
23
  "conjure-client": "^2.15.0",
24
24
  "consola": "^3.4.2",
@@ -27,8 +27,8 @@
27
27
  "tiny-invariant": "^1.3.3",
28
28
  "yaml": "^2.8.2",
29
29
  "zod": "^4.1.13",
30
- "@palantir/pack.schema": "0.5.0",
31
- "@palantir/pack.document-schema.model-types": "~0.9.0"
30
+ "@palantir/pack.document-schema.model-types": "~0.10.0",
31
+ "@palantir/pack.schema": "0.6.0"
32
32
  },
33
33
  "devDependencies": {
34
34
  "@types/fs-extra": "^11.0.4",