@nyrra/prismantix-cli 0.0.4-next.22 → 0.0.4-next.24

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.
@@ -23,7 +23,7 @@ export default class FoundryImport extends Command {
23
23
  env: "PRISMANTIX_OUTPUT_DIR",
24
24
  }),
25
25
  validate: Flags.boolean({
26
- description: "Compile generated source and run upstream @osdk/maker OntologyIr conversion.",
26
+ description: "Compile generated source, run upstream @osdk/maker OntologyIr conversion, and convert IR to full metadata.",
27
27
  }),
28
28
  };
29
29
  async run() {
@@ -69,7 +69,7 @@ export default class FoundryImport extends Command {
69
69
  this.log(`Objects: ${result.counts.objects}; relations: ${result.counts.relations}; actions: ${result.counts.actions}; interfaces: ${result.counts.interfaces}; shared properties: ${result.counts.sharedProperties}; type groups: ${result.counts.typeGroups}`);
70
70
  this.log(`Diagnostics: ${result.diagnostics.total} total, ${result.diagnostics.warnings + result.diagnostics.errors} warnings/errors, ${result.diagnostics.info} info.`);
71
71
  if (result.validation) {
72
- this.log(`Validation: ${result.validation.makerPackage} ${result.validation.makerVersion} produced OntologyIr (${result.validation.ontologyIrBytes} bytes).`);
72
+ this.log(`Validation: ${result.validation.makerPackage} ${result.validation.makerVersion} produced OntologyIr (${result.validation.ontologyIrBytes} bytes); ${result.validation.fullMetadataConverterPackage} ${result.validation.fullMetadataConverterVersion} produced full metadata (${result.validation.fullMetadataBytes} bytes, ${result.validation.fullMetadataCounts.objectTypes} objects).`);
73
73
  }
74
74
  for (const file of result.files) {
75
75
  this.log(`- ${file.relativePath}: ${file.path}`);
@@ -87,7 +87,7 @@ function completionProgressMessage(event) {
87
87
  case "converted":
88
88
  return `Converted ${event.counts.objects} objects, ${event.counts.relations} relations, ${event.counts.actions} actions, ${event.counts.interfaces} interfaces, and ${event.counts.sharedProperties} shared properties.`;
89
89
  case "validated":
90
- return `Validated generated OAC with ${event.validation.makerPackage} ${event.validation.makerVersion}.`;
90
+ return `Validated generated OAC with ${event.validation.makerPackage} ${event.validation.makerVersion} and ${event.validation.fullMetadataConverterPackage} ${event.validation.fullMetadataConverterVersion}.`;
91
91
  case "write-file":
92
92
  return `Wrote ${event.file.relativePath}.`;
93
93
  }
@@ -7,7 +7,7 @@ export function normalizeAction(action, actionIndex, nameAllocator, diagnostics)
7
7
  displayName: actionDisplayName(action, apiName.sanitized),
8
8
  parameterCount: parameterCount(actionFormContent(action)),
9
9
  ruleTypes: actionRuleTypes(action),
10
- status: actionStatus(action),
10
+ status: actionStatus(action, actionIndex, diagnostics),
11
11
  };
12
12
  }
13
13
  function normalizeActionApiName(action, actionIndex, nameAllocator, diagnostics) {
@@ -32,6 +32,6 @@ function actionRuleTypes(action) {
32
32
  function actionRules(action) {
33
33
  return action.actionTypeLogic?.logic?.rules ?? [];
34
34
  }
35
- function actionStatus(action) {
36
- return normalizeStatus(action.metadata?.status);
35
+ function actionStatus(action, actionIndex, diagnostics) {
36
+ return normalizeStatus(action.metadata?.status, `$.actionTypes[${actionIndex}].metadata.status`, diagnostics);
37
37
  }
@@ -1 +1 @@
1
- {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../src/foundry-import/interfaces.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACX,oBAAoB,EACpB,gBAAgB,EAChB,mBAAmB,EACnB,MAAM,YAAY,CAAC;AAQpB,wBAAgB,kBAAkB,CACjC,aAAa,EAAE,gBAAgB,EAC/B,cAAc,EAAE,MAAM,EACtB,aAAa,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,EACvC,qBAAqB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,EAC/C,WAAW,EAAE,oBAAoB,EAAE,GACjC,mBAAmB,CAsCrB"}
1
+ {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../src/foundry-import/interfaces.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACX,oBAAoB,EACpB,gBAAgB,EAChB,mBAAmB,EACnB,MAAM,YAAY,CAAC;AAQpB,wBAAgB,kBAAkB,CACjC,aAAa,EAAE,gBAAgB,EAC/B,cAAc,EAAE,MAAM,EACtB,aAAa,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,EACvC,qBAAqB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,EAC/C,WAAW,EAAE,oBAAoB,EAAE,GACjC,mBAAmB,CA0CrB"}
@@ -11,7 +11,7 @@ export function normalizeInterface(interfaceType, interfaceIndex, nameAllocator,
11
11
  displayName: displayNameFor(interfaceType.displayMetadata, sanitizedApiName),
12
12
  rid: interfaceType.rid,
13
13
  searchable: interfaceType.searchable ?? false,
14
- status: normalizeStatus(interfaceType.status),
14
+ status: normalizeStatus(interfaceType.status, `$.interfaces[${interfaceIndex}].status`, diagnostics),
15
15
  variableName: variableNameAllocator(`${toPascalCase(sanitizedApiName)}Interface`),
16
16
  };
17
17
  }
@@ -1 +1 @@
1
- {"version":3,"file":"objects.d.ts","sourceRoot":"","sources":["../../src/foundry-import/objects.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EACX,oBAAoB,EACpB,iBAAiB,EACjB,gBAAgB,EAChB,MAAM,YAAY,CAAC;AAQpB,UAAU,0BAA0B;IACnC,QAAQ,CAAC,WAAW,EAAE,oBAAoB,EAAE,CAAC;IAC7C,QAAQ,CAAC,mBAAmB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IACvD,QAAQ,CAAC,qBAAqB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;CACzD;AAED,wBAAgB,eAAe,CAC9B,UAAU,EAAE,iBAAiB,EAC7B,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,0BAA0B,GACjC,gBAAgB,CAiDlB"}
1
+ {"version":3,"file":"objects.d.ts","sourceRoot":"","sources":["../../src/foundry-import/objects.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EACX,oBAAoB,EACpB,iBAAiB,EACjB,gBAAgB,EAChB,MAAM,YAAY,CAAC;AAQpB,UAAU,0BAA0B;IACnC,QAAQ,CAAC,WAAW,EAAE,oBAAoB,EAAE,CAAC;IAC7C,QAAQ,CAAC,mBAAmB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IACvD,QAAQ,CAAC,qBAAqB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;CACzD;AAED,wBAAgB,eAAe,CAC9B,UAAU,EAAE,iBAAiB,EAC7B,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,0BAA0B,GACjC,gBAAgB,CAqDlB"}
@@ -18,7 +18,7 @@ export function normalizeObject(objectType, objectIndex, context) {
18
18
  properties,
19
19
  propertiesById,
20
20
  rid: objectType.rid,
21
- status: normalizeStatus(objectType.status),
21
+ status: normalizeStatus(objectType.status, `$.objectTypes[${objectIndex}].status`, context.diagnostics),
22
22
  titlePropertyApiName: titlePropertyApiName(keys, fallbackProperty),
23
23
  variableName: context.variableNameAllocator(toPascalCase(apiName.sanitized)),
24
24
  };
@@ -1 +1 @@
1
- {"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../../src/foundry-import/parse.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAGxE,wBAAgB,oBAAoB,CACnC,KAAK,EAAE,OAAO,EACd,WAAW,EAAE,oBAAoB,EAAE,GACjC,eAAe,CAejB"}
1
+ {"version":3,"file":"parse.d.ts","sourceRoot":"","sources":["../../src/foundry-import/parse.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,oBAAoB,EAYpB,eAAe,EACf,MAAM,YAAY,CAAC;AAOpB,wBAAgB,oBAAoB,CACnC,KAAK,EAAE,OAAO,EACd,WAAW,EAAE,oBAAoB,EAAE,GACjC,eAAe,CAkBjB"}
@@ -1,8 +1,14 @@
1
1
  import { arrayField, isRecord } from "./utils.js";
2
+ const baseTypeFields = ["baseType", "dataType", "type"];
3
+ const dataTypeFields = ["dataType", "type"];
4
+ const interfaceTypeFields = ["type", "dataType", "fieldType"];
2
5
  export function parseFoundryV2Export(input, diagnostics) {
3
6
  if (!isRecord(input)) {
4
7
  throw new Error("Expected a JSON object.");
5
8
  }
9
+ if (isFoundryFullMetadataExport(input)) {
10
+ return parseFoundryFullMetadataExport(input, diagnostics);
11
+ }
6
12
  const version = typeof input.version === "number" ? input.version : 0;
7
13
  addVersionDiagnostic(version, input.version, diagnostics);
8
14
  return {
@@ -15,6 +21,445 @@ export function parseFoundryV2Export(input, diagnostics) {
15
21
  version,
16
22
  };
17
23
  }
24
+ function isFoundryFullMetadataExport(input) {
25
+ const objectTypes = input.objectTypes;
26
+ return (isRecord(objectTypes) &&
27
+ Object.values(objectTypes).some((value) => isRecord(value) && isRecord(value.objectType)));
28
+ }
29
+ function parseFoundryFullMetadataExport(input, diagnostics) {
30
+ const objectTypes = recordField(input, "objectTypes");
31
+ return {
32
+ actionTypes: recordValues(input, "actionTypes").map(fullMetadataActionType),
33
+ interfaces: recordValues(input, "interfaceTypes").map(fullMetadataInterface),
34
+ objectTypes: Object.values(objectTypes).map(fullMetadataObjectType),
35
+ relations: fullMetadataRelations(objectTypes, diagnostics),
36
+ sharedProperties: recordValues(input, "sharedPropertyTypes").map(fullMetadataSharedProperty),
37
+ typeGroups: arrayField(input, "typeGroups"),
38
+ version: 2,
39
+ };
40
+ }
41
+ function fullMetadataObjectType(value) {
42
+ const wrapper = isRecord(value) ? value : {};
43
+ const objectType = isRecord(wrapper.objectType)
44
+ ? wrapper.objectType
45
+ : wrapper;
46
+ return {
47
+ aliases: stringArray(objectType.aliases),
48
+ apiName: stringField(objectType, "apiName"),
49
+ datasources: arrayField(objectType, "datasources"),
50
+ displayMetadata: fullMetadataDisplayMetadata(objectType),
51
+ interfaces: fullMetadataObjectInterfaces(wrapper),
52
+ primaryKeys: fullMetadataPrimaryKeys(objectType),
53
+ properties: recordEntries(objectType, "properties").map(([key, property]) => fullMetadataProperty(key, property)),
54
+ rid: stringField(objectType, "rid"),
55
+ status: fullMetadataStatus(objectType.status),
56
+ titlePropertyId: fullMetadataTitleProperty(objectType),
57
+ typeGroups: stringArray(objectType.typeGroups),
58
+ };
59
+ }
60
+ function fullMetadataPrimaryKeys(objectType) {
61
+ const primaryKey = stringField(objectType, "primaryKey");
62
+ return primaryKey ? [primaryKey] : stringArray(objectType.primaryKeys);
63
+ }
64
+ function fullMetadataTitleProperty(objectType) {
65
+ return firstStringField(objectType, ["titleProperty", "titlePropertyId"]);
66
+ }
67
+ function fullMetadataObjectInterfaces(wrapper) {
68
+ const implementsInterfaces = stringArray(wrapper.implementsInterfaces);
69
+ if (implementsInterfaces.length > 0) {
70
+ return implementsInterfaces;
71
+ }
72
+ const implementsInterfaces2 = wrapper.implementsInterfaces2;
73
+ return isRecord(implementsInterfaces2)
74
+ ? Object.keys(implementsInterfaces2)
75
+ : [];
76
+ }
77
+ function fullMetadataProperty(apiName, value) {
78
+ const property = isRecord(value) ? value : {};
79
+ return {
80
+ apiName: stringFieldWithFallback(property, "apiName", apiName),
81
+ baseFormatter: property.baseFormatter,
82
+ baseType: fullMetadataBaseType(firstPresentValue(property, baseTypeFields)),
83
+ dataConstraints: dataConstraints(property),
84
+ displayMetadata: fullMetadataDisplayMetadata(property),
85
+ id: stringFieldWithFallback(property, "id", apiName),
86
+ indexedForSearch: booleanField(property, "indexedForSearch"),
87
+ renderHints: renderHints(property),
88
+ rid: stringField(property, "rid"),
89
+ source: recordOrUndefined(property.source),
90
+ status: fullMetadataStatus(property.status),
91
+ typeClasses: arrayField(property, "typeClasses"),
92
+ valueType: fullMetadataValueType(property),
93
+ };
94
+ }
95
+ function fullMetadataActionType(value) {
96
+ const action = isRecord(value) ? value : {};
97
+ return {
98
+ actionTypeLogic: {
99
+ logic: {
100
+ rules: arrayField(action, "operations").map((operation) => ({ type: operation.type })),
101
+ },
102
+ },
103
+ metadata: {
104
+ apiName: stringField(action, "apiName"),
105
+ displayMetadata: fullMetadataDisplayMetadata(action),
106
+ formContentInOrder: recordEntries(action, "parameters").map(([id, parameter]) => ({
107
+ parameter: fullMetadataActionParameter(id, parameter),
108
+ type: "parameter",
109
+ })),
110
+ rid: stringField(action, "rid"),
111
+ status: fullMetadataStatus(action.status),
112
+ },
113
+ };
114
+ }
115
+ function fullMetadataActionParameter(id, value) {
116
+ const parameter = isRecord(value) ? value : {};
117
+ return {
118
+ displayMetadata: fullMetadataDisplayMetadata(parameter),
119
+ id,
120
+ type: fullMetadataBaseType(firstPresentValue(parameter, dataTypeFields)),
121
+ };
122
+ }
123
+ function fullMetadataInterface(value) {
124
+ const interfaceType = isRecord(value) ? value : {};
125
+ return {
126
+ apiName: stringField(interfaceType, "apiName"),
127
+ displayMetadata: fullMetadataDisplayMetadata(interfaceType),
128
+ extendsInterfaces: stringArray(interfaceType.extendsInterfaces),
129
+ links: recordOrArrayValues(interfaceType.links),
130
+ properties: recordOrArrayValues(interfaceType.properties).map(fullMetadataInterfaceProperty),
131
+ rid: stringField(interfaceType, "rid"),
132
+ searchable: booleanField(interfaceType, "searchable"),
133
+ status: fullMetadataStatus(interfaceType.status),
134
+ };
135
+ }
136
+ function fullMetadataInterfaceProperty(value) {
137
+ const property = isRecord(value) ? value : {};
138
+ return {
139
+ displayName: stringField(property, "displayName"),
140
+ isSharedProperty: booleanField(property, "isSharedProperty"),
141
+ required: firstBooleanField(property, [
142
+ "required",
143
+ "requireImplementation",
144
+ ]),
145
+ sharedPropertyRid: stringField(property, "sharedPropertyRid"),
146
+ type: fullMetadataBaseType(firstPresentValue(property, interfaceTypeFields)),
147
+ };
148
+ }
149
+ function fullMetadataSharedProperty(value) {
150
+ const property = isRecord(value) ? value : {};
151
+ return {
152
+ aliases: stringArray(property.aliases),
153
+ apiName: stringField(property, "apiName"),
154
+ baseType: fullMetadataBaseType(firstPresentValue(property, baseTypeFields)),
155
+ dataConstraints: dataConstraints(property),
156
+ displayMetadata: fullMetadataDisplayMetadata(property),
157
+ indexedForSearch: booleanField(property, "indexedForSearch"),
158
+ renderHints: renderHints(property),
159
+ rid: stringField(property, "rid"),
160
+ valueType: fullMetadataValueType(property),
161
+ };
162
+ }
163
+ function fullMetadataRelations(objectTypes, diagnostics) {
164
+ const groups = fullMetadataLinkGroups(objectTypes);
165
+ return [...groups.entries()].flatMap(([relationRid, links], relationIndex) => fullMetadataRelation(relationRid, links, relationIndex, diagnostics));
166
+ }
167
+ function fullMetadataLinkGroups(objectTypes) {
168
+ const groups = new Map();
169
+ for (const value of Object.values(objectTypes)) {
170
+ addFullMetadataObjectLinks(groups, value);
171
+ }
172
+ return groups;
173
+ }
174
+ function addFullMetadataObjectLinks(groups, value) {
175
+ const wrapper = isRecord(value) ? value : {};
176
+ const context = fullMetadataLinkContext(wrapper);
177
+ if (!context) {
178
+ return;
179
+ }
180
+ for (const link of arrayField(wrapper, "linkTypes")) {
181
+ addFullMetadataLink(groups, context, link);
182
+ }
183
+ }
184
+ function addFullMetadataLink(groups, context, value) {
185
+ const linkRecord = isRecord(value) ? value : {};
186
+ const relationRid = fullMetadataRelationRid(context.sourceApiName, linkRecord);
187
+ const group = groups.get(relationRid) ?? [];
188
+ group.push({ link: linkRecord, ...context });
189
+ groups.set(relationRid, group);
190
+ }
191
+ function fullMetadataLinkContext(wrapper) {
192
+ const objectType = fullMetadataWrappedObjectType(wrapper);
193
+ const sourceApiName = stringField(objectType, "apiName");
194
+ const sourceRid = stringField(objectType, "rid");
195
+ return sourceApiName && sourceRid ? { sourceApiName, sourceRid } : undefined;
196
+ }
197
+ function fullMetadataRelationRid(sourceApiName, link) {
198
+ return (stringField(link, "linkTypeRid") ??
199
+ `${sourceApiName}:${stringFieldWithFallback(link, "apiName", "link")}`);
200
+ }
201
+ function fullMetadataRelation(relationRid, links, relationIndex, diagnostics) {
202
+ if (links.length !== 2) {
203
+ diagnostics.push({
204
+ code: "skipped.fullMetadataLinkGroup",
205
+ message: `Foundry full-metadata link group ${relationRid} has ${links.length} sides; expected 2.`,
206
+ path: `$.objectTypes.*.linkTypes[${relationIndex}]`,
207
+ severity: "warning",
208
+ });
209
+ return [];
210
+ }
211
+ const foreignKeySide = links.find((link) => Boolean(stringField(link.link, "foreignKeyPropertyApiName")));
212
+ if (foreignKeySide) {
213
+ return fullMetadataOneToManyRelation(relationRid, links, foreignKeySide);
214
+ }
215
+ return [fullMetadataManyToManyRelation(relationRid, linkPair(links))];
216
+ }
217
+ function fullMetadataManyToManyRelation(relationRid, [a, b]) {
218
+ return {
219
+ definition: {
220
+ manyToMany: {
221
+ objectTypeAToBLinkMetadata: fullMetadataLinkMetadata(a.link),
222
+ objectTypeBToALinkMetadata: fullMetadataLinkMetadata(b.link),
223
+ objectTypeRidA: a.sourceRid,
224
+ objectTypeRidB: b.sourceRid,
225
+ },
226
+ type: "manyToMany",
227
+ },
228
+ id: relationRid,
229
+ rid: relationRid,
230
+ status: fullMetadataStatus(firstPresentValueFromList([a.link, b.link], "status")),
231
+ };
232
+ }
233
+ function fullMetadataOneToManyRelation(relationRid, links, foreignKeySide) {
234
+ const oneSide = links.find((link) => link !== foreignKeySide);
235
+ if (!oneSide) {
236
+ return [];
237
+ }
238
+ return [
239
+ {
240
+ definition: {
241
+ oneToMany: {
242
+ cardinalityHint: stringField(oneSide.link, "cardinality") === "ONE"
243
+ ? "ONE_TO_ONE"
244
+ : "ONE_TO_MANY",
245
+ manySideForeignKeyPropertyId: stringField(foreignKeySide.link, "foreignKeyPropertyApiName"),
246
+ manyToOneLinkMetadata: fullMetadataLinkMetadata(foreignKeySide.link),
247
+ objectTypeRidManySide: foreignKeySide.sourceRid,
248
+ objectTypeRidOneSide: oneSide.sourceRid,
249
+ oneToManyLinkMetadata: fullMetadataLinkMetadata(oneSide.link),
250
+ },
251
+ type: "oneToMany",
252
+ },
253
+ id: relationRid,
254
+ rid: relationRid,
255
+ status: fullMetadataStatus(foreignKeySide.link.status ?? oneSide.link.status),
256
+ },
257
+ ];
258
+ }
259
+ function fullMetadataLinkMetadata(link) {
260
+ return {
261
+ apiName: stringField(link, "apiName"),
262
+ displayMetadata: fullMetadataDisplayMetadata(link),
263
+ typeClasses: arrayField(link, "typeClasses"),
264
+ };
265
+ }
266
+ function fullMetadataWrappedObjectType(value) {
267
+ const wrapper = isRecord(value) ? value : {};
268
+ return isRecord(wrapper.objectType) ? wrapper.objectType : wrapper;
269
+ }
270
+ function fullMetadataBaseType(value) {
271
+ const record = recordOrUndefined(value);
272
+ return record ? fullMetadataBaseTypeFromRecord(record) : undefined;
273
+ }
274
+ function fullMetadataBaseTypeFromRecord(value) {
275
+ const type = stringField(value, "type");
276
+ return type
277
+ ? typedFullMetadataBaseType(value, type)
278
+ : value;
279
+ }
280
+ function typedFullMetadataBaseType(value, type) {
281
+ const normalizedType = normalizeFullMetadataType(type);
282
+ return {
283
+ ...value,
284
+ ...fullMetadataBaseTypeExtras(value, normalizedType),
285
+ type: normalizedType,
286
+ };
287
+ }
288
+ function fullMetadataBaseTypeExtras(value, type) {
289
+ const extras = {
290
+ ARRAY: () => ({ subType: fullMetadataBaseType(value.subType) }),
291
+ STRUCT: () => ({
292
+ structFields: recordOrArrayValues(value.fields).map((field) => fullMetadataStructField(field)),
293
+ }),
294
+ };
295
+ return extras[type]?.() ?? {};
296
+ }
297
+ function fullMetadataStructField(value) {
298
+ const field = isRecord(value) ? value : {};
299
+ return {
300
+ apiName: stringField(field, "apiName") ?? stringField(field, "name"),
301
+ displayMetadata: fullMetadataDisplayMetadata(field),
302
+ fieldType: fullMetadataBaseType(field.fieldType ?? field.dataType),
303
+ };
304
+ }
305
+ function normalizeFullMetadataType(type) {
306
+ const typeMap = {
307
+ array: "ARRAY",
308
+ attachment: "ATTACHMENT",
309
+ boolean: "BOOLEAN",
310
+ date: "DATE",
311
+ double: "DOUBLE",
312
+ geohash: "GEOHASH",
313
+ geopoint: "GEOHASH",
314
+ geoshape: "GEOSHAPE",
315
+ integer: "INTEGER",
316
+ long: "LONG",
317
+ marking: "MARKING",
318
+ mediaReference: "MEDIA_REFERENCE",
319
+ string: "STRING",
320
+ struct: "STRUCT",
321
+ timestamp: "TIMESTAMP",
322
+ vector: "VECTOR",
323
+ };
324
+ return typeMap[type] ?? type;
325
+ }
326
+ function fullMetadataStatus(value) {
327
+ const type = fullMetadataStatusType(value);
328
+ return type
329
+ ? { ...fullMetadataStatusRecord(value), type: type.toLowerCase() }
330
+ : undefined;
331
+ }
332
+ function fullMetadataStatusRecord(value) {
333
+ return isRecord(value) ? value : {};
334
+ }
335
+ function fullMetadataStatusType(value) {
336
+ return typeof value === "string"
337
+ ? nonEmptyString(value)
338
+ : stringField(fullMetadataStatusRecord(value), "type");
339
+ }
340
+ function fullMetadataDisplayMetadata(record) {
341
+ const nested = recordOrUndefined(record.displayMetadata);
342
+ return nested ? nested : displayMetadataFromTopLevelFields(record);
343
+ }
344
+ function displayMetadataFromTopLevelFields(record) {
345
+ const displayMetadata = {
346
+ description: nullableStringField(record, "description"),
347
+ displayName: nullableStringField(record, "displayName"),
348
+ groupDisplayName: nullableStringField(record, "groupDisplayName"),
349
+ icon: definedValue(record.icon),
350
+ pluralDisplayName: nullableStringField(record, "pluralDisplayName"),
351
+ visibility: nullableStringField(record, "visibility"),
352
+ };
353
+ const compact = compactRecord(displayMetadata);
354
+ return Object.keys(compact).length > 0
355
+ ? compact
356
+ : undefined;
357
+ }
358
+ function linkPair(links) {
359
+ return [links[0], links[1]];
360
+ }
361
+ function fullMetadataValueType(record) {
362
+ const explicit = record.valueType;
363
+ return explicit === undefined ? valueTypeReference(record) : explicit;
364
+ }
365
+ function firstPresentValue(record, keys) {
366
+ for (const key of keys) {
367
+ const value = record[key];
368
+ if (value !== undefined) {
369
+ return value;
370
+ }
371
+ }
372
+ return undefined;
373
+ }
374
+ function firstPresentValueFromList(records, key) {
375
+ for (const record of records) {
376
+ const value = record[key];
377
+ if (value !== undefined) {
378
+ return value;
379
+ }
380
+ }
381
+ return undefined;
382
+ }
383
+ function firstStringField(record, keys) {
384
+ for (const key of keys) {
385
+ const value = stringField(record, key);
386
+ if (value) {
387
+ return value;
388
+ }
389
+ }
390
+ return undefined;
391
+ }
392
+ function firstBooleanField(record, keys) {
393
+ for (const key of keys) {
394
+ const value = booleanField(record, key);
395
+ if (value !== undefined) {
396
+ return value;
397
+ }
398
+ }
399
+ return undefined;
400
+ }
401
+ function stringFieldWithFallback(record, key, fallback) {
402
+ return stringField(record, key) ?? fallback;
403
+ }
404
+ function recordOrUndefined(value) {
405
+ return isRecord(value) ? value : undefined;
406
+ }
407
+ function nonEmptyString(value) {
408
+ return value === "" ? undefined : value;
409
+ }
410
+ function nullableStringField(record, key) {
411
+ const value = record[key];
412
+ return typeof value === "string" || value === null ? value : undefined;
413
+ }
414
+ function definedValue(value) {
415
+ return value === undefined ? undefined : value;
416
+ }
417
+ function compactRecord(record) {
418
+ return Object.fromEntries(Object.entries(record).filter((entry) => entry[1] !== undefined));
419
+ }
420
+ function dataConstraints(record) {
421
+ return isRecord(record.dataConstraints) ? record.dataConstraints : undefined;
422
+ }
423
+ function valueTypeReference(record) {
424
+ const valueTypeApiName = stringField(record, "valueTypeApiName");
425
+ return valueTypeApiName ? { apiName: valueTypeApiName } : undefined;
426
+ }
427
+ function renderHints(record) {
428
+ const explicit = stringArray(record.renderHints);
429
+ if (explicit.length > 0) {
430
+ return explicit;
431
+ }
432
+ return arrayField(record, "typeClasses").flatMap((typeClass) => typeClass.kind === "render_hint" && typeClass.name ? [typeClass.name] : []);
433
+ }
434
+ function recordField(record, key) {
435
+ const value = record[key];
436
+ return isRecord(value) ? value : {};
437
+ }
438
+ function recordValues(record, key) {
439
+ return Object.values(recordField(record, key));
440
+ }
441
+ function recordEntries(record, key) {
442
+ return Object.entries(recordField(record, key));
443
+ }
444
+ function recordOrArrayValues(value) {
445
+ if (Array.isArray(value)) {
446
+ return value;
447
+ }
448
+ return isRecord(value) ? Object.values(value) : [];
449
+ }
450
+ function stringField(record, key) {
451
+ const value = record[key];
452
+ return typeof value === "string" && value !== "" ? value : undefined;
453
+ }
454
+ function booleanField(record, key) {
455
+ const value = record[key];
456
+ return typeof value === "boolean" ? value : undefined;
457
+ }
458
+ function stringArray(value) {
459
+ return Array.isArray(value)
460
+ ? value.filter((item) => typeof item === "string")
461
+ : [];
462
+ }
18
463
  function addVersionDiagnostic(version, rawVersion, diagnostics) {
19
464
  if (version === 2) {
20
465
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"relations.d.ts","sourceRoot":"","sources":["../../src/foundry-import/relations.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACX,oBAAoB,EAIpB,eAAe,EACf,gBAAgB,EAEhB,kBAAkB,EAClB,MAAM,YAAY,CAAC;AA4BpB,wBAAgB,iBAAiB,CAChC,QAAQ,EAAE,eAAe,EACzB,aAAa,EAAE,MAAM,EACrB,YAAY,EAAE,WAAW,CAAC,MAAM,EAAE,gBAAgB,CAAC,EACnD,qBAAqB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,EAC/C,qBAAqB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,EAC/C,WAAW,EAAE,oBAAoB,EAAE,GACjC,SAAS,kBAAkB,EAAE,CAO/B;AA8UD,wBAAgB,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG;IACnC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC;IACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACvB,CAEA;AAED,wBAAgB,KAAK,CACpB,KAAK,EAAE,OAAO,GACZ,KAAK,IAAI;IAAE,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAI3D"}
1
+ {"version":3,"file":"relations.d.ts","sourceRoot":"","sources":["../../src/foundry-import/relations.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACX,oBAAoB,EAIpB,eAAe,EACf,gBAAgB,EAEhB,kBAAkB,EAClB,MAAM,YAAY,CAAC;AA4BpB,wBAAgB,iBAAiB,CAChC,QAAQ,EAAE,eAAe,EACzB,aAAa,EAAE,MAAM,EACrB,YAAY,EAAE,WAAW,CAAC,MAAM,EAAE,gBAAgB,CAAC,EACnD,qBAAqB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,EAC/C,qBAAqB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,EAC/C,WAAW,EAAE,oBAAoB,EAAE,GACjC,SAAS,kBAAkB,EAAE,CAO/B;AAsVD,wBAAgB,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG;IACnC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC;IACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACvB,CAEA;AAED,wBAAgB,KAAK,CACpB,KAAK,EAAE,OAAO,GACZ,KAAK,IAAI;IAAE,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAI3D"}
@@ -83,7 +83,7 @@ function normalizeOneToManyRelation(relation, oneToMany, relationIndex, context)
83
83
  },
84
84
  kind: "oneToMany",
85
85
  rid: relation.rid,
86
- status: normalizeStatus(relation.status),
86
+ status: normalizeStatus(relation.status, `$.relations[${relationIndex}].status`, context.diagnostics),
87
87
  variableName: relationNames.variableName,
88
88
  },
89
89
  ];
@@ -129,7 +129,7 @@ function normalizeManyToManyRelation(relation, manyToMany, relationIndex, contex
129
129
  },
130
130
  kind: "manyToMany",
131
131
  rid: relation.rid,
132
- status: normalizeStatus(relation.status),
132
+ status: normalizeStatus(relation.status, `$.relations[${relationIndex}].status`, context.diagnostics),
133
133
  variableName: relationNames.variableName,
134
134
  },
135
135
  ];
@@ -328,8 +328,20 @@ export interface FoundryImportResult {
328
328
  }
329
329
  export interface FoundryImportValidation {
330
330
  readonly compiler: "typescript";
331
+ readonly fullMetadataBytes: number;
332
+ readonly fullMetadataConverterPackage: "@osdk/generator-converters.ontologyir";
333
+ readonly fullMetadataConverterVersion: string;
334
+ readonly fullMetadataCounts: FoundryImportValidationFullMetadataCounts;
331
335
  readonly makerPackage: "@osdk/maker";
332
336
  readonly makerVersion: string;
333
337
  readonly ontologyIrBytes: number;
334
338
  }
339
+ export interface FoundryImportValidationFullMetadataCounts {
340
+ readonly actionTypes: number;
341
+ readonly interfaceTypes: number;
342
+ readonly objectTypes: number;
343
+ readonly queryTypes: number;
344
+ readonly sharedPropertyTypes: number;
345
+ readonly valueTypes: number;
346
+ }
335
347
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/foundry-import/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/foundry-import/types.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@ export declare function requiredString(value: unknown, path: string, diagnostics
5
5
  export declare function displayNameFor(displayMetadata: FoundryDisplayMetadata | undefined, fallback: string): string;
6
6
  export declare function visibilityFor(displayMetadata: FoundryDisplayMetadata | undefined): string | undefined;
7
7
  export declare function normalizeDescription(description: string | null | undefined): string | undefined;
8
- export declare function normalizeStatus(status: FoundryStatus | undefined): string | undefined;
8
+ export declare function normalizeStatus(status: FoundryStatus | undefined, path: string, diagnostics: ConversionDiagnostic[]): string | undefined;
9
9
  export declare function normalizeNullability(nullability: string | undefined, path: string, diagnostics: ConversionDiagnostic[]): NormalizedNullability | undefined;
10
10
  export declare function summarizeConversion(result: ConversionResult): FoundryImportCounts;
11
11
  export declare function summarizeDiagnostics(diagnostics: readonly ConversionDiagnostic[]): FoundryImportDiagnosticsSummary;
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/foundry-import/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,oBAAoB,EACpB,gBAAgB,EAChB,sBAAsB,EACtB,mBAAmB,EACnB,+BAA+B,EAC/B,aAAa,EACb,qBAAqB,EACrB,MAAM,YAAY,CAAC;AAEpB,wBAAgB,UAAU,CAAC,CAAC,EAC3B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,GAAG,EAAE,MAAM,GACT,SAAS,CAAC,EAAE,CAGd;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAEzE;AAED,wBAAgB,cAAc,CAC7B,KAAK,EAAE,OAAO,EACd,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,oBAAoB,EAAE,EACnC,QAAQ,EAAE,MAAM,GACd,MAAM,CAWR;AAED,wBAAgB,cAAc,CAC7B,eAAe,EAAE,sBAAsB,GAAG,SAAS,EACnD,QAAQ,EAAE,MAAM,GACd,MAAM,CAER;AAED,wBAAgB,aAAa,CAC5B,eAAe,EAAE,sBAAsB,GAAG,SAAS,GACjD,MAAM,GAAG,SAAS,CAEpB;AAED,wBAAgB,oBAAoB,CACnC,WAAW,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GACpC,MAAM,GAAG,SAAS,CAEpB;AAED,wBAAgB,eAAe,CAC9B,MAAM,EAAE,aAAa,GAAG,SAAS,GAC/B,MAAM,GAAG,SAAS,CAEpB;AAED,wBAAgB,oBAAoB,CACnC,WAAW,EAAE,MAAM,GAAG,SAAS,EAC/B,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,oBAAoB,EAAE,GACjC,qBAAqB,GAAG,SAAS,CAsBnC;AAED,wBAAgB,mBAAmB,CAClC,MAAM,EAAE,gBAAgB,GACtB,mBAAmB,CASrB;AAED,wBAAgB,oBAAoB,CACnC,WAAW,EAAE,SAAS,oBAAoB,EAAE,GAC1C,+BAA+B,CAcjC;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAEzD"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/foundry-import/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,oBAAoB,EACpB,gBAAgB,EAChB,sBAAsB,EACtB,mBAAmB,EACnB,+BAA+B,EAC/B,aAAa,EACb,qBAAqB,EACrB,MAAM,YAAY,CAAC;AAIpB,wBAAgB,UAAU,CAAC,CAAC,EAC3B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,GAAG,EAAE,MAAM,GACT,SAAS,CAAC,EAAE,CAGd;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAEzE;AAED,wBAAgB,cAAc,CAC7B,KAAK,EAAE,OAAO,EACd,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,oBAAoB,EAAE,EACnC,QAAQ,EAAE,MAAM,GACd,MAAM,CAWR;AAED,wBAAgB,cAAc,CAC7B,eAAe,EAAE,sBAAsB,GAAG,SAAS,EACnD,QAAQ,EAAE,MAAM,GACd,MAAM,CAER;AAED,wBAAgB,aAAa,CAC5B,eAAe,EAAE,sBAAsB,GAAG,SAAS,GACjD,MAAM,GAAG,SAAS,CAEpB;AAED,wBAAgB,oBAAoB,CACnC,WAAW,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GACpC,MAAM,GAAG,SAAS,CAEpB;AAED,wBAAgB,eAAe,CAC9B,MAAM,EAAE,aAAa,GAAG,SAAS,EACjC,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,oBAAoB,EAAE,GACjC,MAAM,GAAG,SAAS,CAUpB;AAuBD,wBAAgB,oBAAoB,CACnC,WAAW,EAAE,MAAM,GAAG,SAAS,EAC/B,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,oBAAoB,EAAE,GACjC,qBAAqB,GAAG,SAAS,CAsBnC;AAED,wBAAgB,mBAAmB,CAClC,MAAM,EAAE,gBAAgB,GACtB,mBAAmB,CASrB;AAED,wBAAgB,oBAAoB,CACnC,WAAW,EAAE,SAAS,oBAAoB,EAAE,GAC1C,+BAA+B,CAcjC;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAEzD"}
@@ -1,3 +1,4 @@
1
+ const unsupportedFullMetadataStatusTypes = new Set(["endorsed", "example"]);
1
2
  export function arrayField(record, key) {
2
3
  const value = record[key];
3
4
  return Array.isArray(value) ? value : [];
@@ -26,8 +27,29 @@ export function visibilityFor(displayMetadata) {
26
27
  export function normalizeDescription(description) {
27
28
  return description === null || description === "" ? undefined : description;
28
29
  }
29
- export function normalizeStatus(status) {
30
- return status?.type;
30
+ export function normalizeStatus(status, path, diagnostics) {
31
+ const statusType = normalizedStatusType(status);
32
+ if (!statusType) {
33
+ return undefined;
34
+ }
35
+ if (unsupportedFullMetadataStatusTypes.has(statusType)) {
36
+ addUnsupportedStatusDiagnostic(statusType, path, diagnostics);
37
+ return undefined;
38
+ }
39
+ return statusType;
40
+ }
41
+ function normalizedStatusType(status) {
42
+ return typeof status?.type === "string" && status.type !== ""
43
+ ? status.type
44
+ : undefined;
45
+ }
46
+ function addUnsupportedStatusDiagnostic(statusType, path, diagnostics) {
47
+ diagnostics.push({
48
+ code: "coerced.unsupportedStatus",
49
+ message: `Status ${statusType} is not representable by upstream full-metadata conversion; omitting status from OAC output.`,
50
+ path,
51
+ severity: "warning",
52
+ });
31
53
  }
32
54
  export function normalizeNullability(nullability, path, diagnostics) {
33
55
  const knownNullability = {
@@ -1 +1 @@
1
- {"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../src/foundry-import/validate.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAG7E,UAAU,eAAe;IACxB,QAAQ,CAAC,KAAK,EAAE,SAAS,iBAAiB,EAAE,CAAC;IAC7C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC3B;AAWD,wBAAsB,2BAA2B,CAChD,KAAK,EAAE,eAAe,GACpB,OAAO,CAAC,uBAAuB,CAAC,CAelC"}
1
+ {"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../src/foundry-import/validate.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAQ7E,UAAU,eAAe;IACxB,QAAQ,CAAC,KAAK,EAAE,SAAS,iBAAiB,EAAE,CAAC;IAC7C,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC3B;AAWD,wBAAsB,2BAA2B,CAChD,KAAK,EAAE,eAAe,GACpB,OAAO,CAAC,uBAAuB,CAAC,CAsBlC"}
@@ -3,6 +3,7 @@ import { copyFile, mkdir, mkdtemp, readFile, realpath, rm, symlink, writeFile, }
3
3
  import { createRequire } from "node:module";
4
4
  import { basename, dirname, join, resolve } from "node:path";
5
5
  import { pathToFileURL } from "node:url";
6
+ import { OntologyIrToFullMetadataConverter } from "@osdk/generator-converters.ontologyir";
6
7
  import { defineOntology } from "@osdk/maker";
7
8
  import { formatErrorMessage, isRecord } from "./utils.js";
8
9
  const requireFromHere = createRequire(import.meta.url);
@@ -12,11 +13,16 @@ export async function validateFoundryImportOutput(input) {
12
13
  await prepareValidationWorkspace(workspace, input.files);
13
14
  await runTypeScriptCompile(workspace.tsconfigPath, workspace.tempDir);
14
15
  const ontologyIr = await convertCompiledOntology(workspace.buildDir);
16
+ const fullMetadata = convertOntologyIrToFullMetadata(ontologyIr);
15
17
  return {
16
18
  compiler: "typescript",
19
+ fullMetadataBytes: serializedSize(fullMetadata),
20
+ fullMetadataConverterPackage: "@osdk/generator-converters.ontologyir",
21
+ fullMetadataConverterVersion: await packageVersion("@osdk/generator-converters.ontologyir"),
22
+ fullMetadataCounts: summarizeFullMetadata(fullMetadata),
17
23
  makerPackage: "@osdk/maker",
18
- makerVersion: await makerVersion(),
19
- ontologyIrBytes: ontologyIrSize(ontologyIr),
24
+ makerVersion: await packageVersion("@osdk/maker"),
25
+ ontologyIrBytes: serializedSize(ontologyIr),
20
26
  };
21
27
  }
22
28
  finally {
@@ -49,7 +55,7 @@ async function copySourceFile(file, sourceDir) {
49
55
  async function linkMakerPackage(tempDir) {
50
56
  const scopeDir = join(tempDir, "node_modules", "@osdk");
51
57
  await mkdir(scopeDir, { recursive: true });
52
- await symlink(await makerPackageRoot(), join(scopeDir, "maker"), "dir");
58
+ await symlink(await packageRoot("@osdk/maker"), join(scopeDir, "maker"), "dir");
53
59
  }
54
60
  async function writeValidationTsconfig(workspace) {
55
61
  await writeFile(workspace.tsconfigPath, `${JSON.stringify({
@@ -82,17 +88,30 @@ async function convertCompiledOntology(buildDir) {
82
88
  await import(pathToFileURL(join(buildDir, "index.mjs")).href);
83
89
  }, undefined);
84
90
  }
85
- function ontologyIrSize(ontologyIr) {
86
- return Buffer.byteLength(JSON.stringify(ontologyIr), "utf-8");
91
+ function convertOntologyIrToFullMetadata(ontologyIr) {
92
+ return OntologyIrToFullMetadataConverter.getFullMetadataFromIr(ontologyIr.ontology);
93
+ }
94
+ function serializedSize(value) {
95
+ return Buffer.byteLength(JSON.stringify(value), "utf-8");
96
+ }
97
+ function summarizeFullMetadata(fullMetadata) {
98
+ return {
99
+ actionTypes: Object.keys(fullMetadata.actionTypes).length,
100
+ interfaceTypes: Object.keys(fullMetadata.interfaceTypes).length,
101
+ objectTypes: Object.keys(fullMetadata.objectTypes).length,
102
+ queryTypes: Object.keys(fullMetadata.queryTypes).length,
103
+ sharedPropertyTypes: Object.keys(fullMetadata.sharedPropertyTypes).length,
104
+ valueTypes: Object.keys(fullMetadata.valueTypes).length,
105
+ };
87
106
  }
88
107
  function tscBinPath() {
89
108
  return requireFromHere.resolve("typescript/bin/tsc");
90
109
  }
91
- async function makerPackageRoot() {
92
- return await realpath(resolve(dirname(requireFromHere.resolve("@osdk/maker")), "../.."));
110
+ async function packageRoot(packageName) {
111
+ return await realpath(resolve(dirname(requireFromHere.resolve(packageName)), "../.."));
93
112
  }
94
- async function makerVersion() {
95
- const packageJsonPath = join(await makerPackageRoot(), "package.json");
113
+ async function packageVersion(packageName) {
114
+ const packageJsonPath = join(await packageRoot(packageName), "package.json");
96
115
  const packageJson = JSON.parse(await readFile(packageJsonPath, "utf-8"));
97
116
  return isRecord(packageJson) && typeof packageJson.version === "string"
98
117
  ? packageJson.version
@@ -99,6 +99,6 @@ async function maybeValidateImport(options, outputDir, files) {
99
99
  return await validateFoundryImportOutput({ files, outputDir });
100
100
  }
101
101
  catch (error) {
102
- throw new CliUserError("validation_failed", `Generated OAC failed upstream @osdk/maker validation: ${formatErrorMessage(error)}`);
102
+ throw new CliUserError("validation_failed", `Generated OAC failed upstream OSDK validation: ${formatErrorMessage(error)}`);
103
103
  }
104
104
  }
@@ -161,7 +161,7 @@
161
161
  "type": "option"
162
162
  },
163
163
  "validate": {
164
- "description": "Compile generated source and run upstream @osdk/maker OntologyIr conversion.",
164
+ "description": "Compile generated source, run upstream @osdk/maker OntologyIr conversion, and convert IR to full metadata.",
165
165
  "name": "validate",
166
166
  "allowNo": false,
167
167
  "type": "boolean"
@@ -184,5 +184,5 @@
184
184
  ]
185
185
  }
186
186
  },
187
- "version": "0.0.4-next.22"
187
+ "version": "0.0.4-next.24"
188
188
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@nyrra/prismantix-cli",
3
3
  "description": "PrismantiX API client CLI.",
4
- "version": "0.0.4-next.22",
4
+ "version": "0.0.4-next.24",
5
5
  "author": "NYRRA Inc.",
6
6
  "bin": {
7
7
  "prismantix-cli": "bin/run.js"
@@ -13,6 +13,7 @@
13
13
  "@inkjs/ui": "^2.0.0",
14
14
  "@oclif/core": "^4.11.4",
15
15
  "@oclif/plugin-help": "^6.2.49",
16
+ "@osdk/generator-converters.ontologyir": "2.41.0",
16
17
  "@osdk/maker": "0.44.0",
17
18
  "ink": "^7.0.4",
18
19
  "react": "19.2.6",