@osdk/foundry-sdk-generator 2.2.0-beta.20 → 2.2.0-beta.22

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,31 @@
1
1
  # @osdk/foundry-sdk-generator
2
2
 
3
+ ## 2.2.0-beta.22
4
+
5
+ ### Minor Changes
6
+
7
+ - 18ba34f: Adds the ability to generate and execute functions at pinned versions
8
+
9
+ ### Patch Changes
10
+
11
+ - Updated dependencies [18ba34f]
12
+ - @osdk/generator@2.2.0-beta.22
13
+ - @osdk/client@2.2.0-beta.22
14
+ - @osdk/api@2.2.0-beta.22
15
+
16
+ ## 2.2.0-beta.21
17
+
18
+ ### Minor Changes
19
+
20
+ - 317b555: Release
21
+
22
+ ### Patch Changes
23
+
24
+ - Updated dependencies [317b555]
25
+ - @osdk/generator@2.2.0-beta.21
26
+ - @osdk/client@2.2.0-beta.21
27
+ - @osdk/api@2.2.0-beta.21
28
+
3
29
  ## 2.2.0-beta.20
4
30
 
5
31
  ### Minor Changes
@@ -18,7 +18,7 @@ import { Project, Node } from 'ts-morph';
18
18
  import * as fs from 'node:fs';
19
19
  import { ScriptTarget, ModuleKind, createCompilerHost, createSourceFile, createProgram } from 'typescript';
20
20
 
21
- // ../../node_modules/.pnpm/tsup@8.4.0_@microsoft+api-extractor@7.52.7_@types+node@18.19.97__@swc+core@1.7.39_jiti@2.4.2__kxzaa7ugeuo2htsbghawal3spu/node_modules/tsup/assets/esm_shims.js
21
+ // ../../node_modules/.pnpm/tsup@8.4.0_@microsoft+api-extractor@7.52.7_@types+node@18.19.97__@swc+core@1.7.39_jiti@2.4.2__2dta44cza7xfoposuc4x3z55ly/node_modules/tsup/assets/esm_shims.js
22
22
  var getFilename = () => fileURLToPath$1(import.meta.url);
23
23
  var getDirname = () => path.dirname(getFilename());
24
24
  var __dirname = /* @__PURE__ */ getDirname();
@@ -226,7 +226,7 @@ var OntologyMetadataResolver = class {
226
226
  objectType.linkTypes = objectType.linkTypes.filter((linkType) => linkTypesToKeep.has(linkType.apiName));
227
227
  });
228
228
  const filteredActionTypes = Object.fromEntries(Object.entries(ontologyFullMetadata.actionTypes).filter(([actionApiName]) => {
229
- if (expectedEntities.actionTypes.has(this.camelize(actionApiName))) {
229
+ if (expectedEntities.actionTypes.has(actionApiName)) {
230
230
  return true;
231
231
  }
232
232
  return false;
@@ -269,71 +269,129 @@ var OntologyMetadataResolver = class {
269
269
  } catch (e) {
270
270
  return Result.err([`Unable to load the specified Ontology with network error: ${JSON.stringify(e)}`]);
271
271
  }
272
- const ontologyFullMetadata = await OntologiesV2.getFullMetadata(this.getClientContext(), ontology.rid);
273
- if (ontologyFullMetadata.errorName != null) {
274
- return Result.err([`Unable to load the specified Ontology metadata.
272
+ if (extPackageInfo.size > 0) {
273
+ const ontologyFullMetadata = await OntologiesV2.getFullMetadata(this.getClientContext(), ontology.rid);
274
+ if (ontologyFullMetadata.errorName != null) {
275
+ return Result.err([`Unable to load the specified Ontology metadata.
275
276
  ${JSON.stringify(ontologyFullMetadata, null, 2)}`]);
276
- }
277
- const externalObjects = /* @__PURE__ */ new Map();
278
- const externalInterfaces = /* @__PURE__ */ new Map();
279
- for (const {
280
- sdk
281
- } of extPackageInfo.values()) {
282
- if (sdk.npm?.npmPackageName == null) {
283
- throw new Error("External package is not generated as an npm package");
284
277
  }
285
- const dataScope = sdk.inputs.dataScope.ontologyV2;
286
- for (const rid of dataScope.objectTypes) {
287
- const ot = Object.values(ontologyFullMetadata.objectTypes).find((ot2) => ot2.objectType.rid === rid);
288
- if (!ot) {
289
- throw new Error(`Could not find external object type with rid ${rid}`);
278
+ const externalObjects = /* @__PURE__ */ new Map();
279
+ const externalInterfaces = /* @__PURE__ */ new Map();
280
+ for (const {
281
+ sdk
282
+ } of extPackageInfo.values()) {
283
+ if (sdk.npm?.npmPackageName == null) {
284
+ throw new Error("External package is not generated as an npm package");
285
+ }
286
+ const dataScope = sdk.inputs.dataScope.ontologyV2;
287
+ for (const rid of dataScope.objectTypes) {
288
+ const ot = Object.values(ontologyFullMetadata.objectTypes).find((ot2) => ot2.objectType.rid === rid);
289
+ if (!ot) {
290
+ throw new Error(`Could not find external object type with rid ${rid}`);
291
+ }
292
+ externalObjects.set(ot.objectType.apiName, sdk.npm.npmPackageName);
293
+ }
294
+ for (const rid of dataScope.interfaceTypes) {
295
+ const it = Object.values(ontologyFullMetadata.interfaceTypes).find((it2) => it2.rid === rid);
296
+ if (!it) {
297
+ throw new Error(`Could not find external interface type with rid ${rid}`);
298
+ }
299
+ externalInterfaces.set(it.apiName, sdk.npm.npmPackageName);
290
300
  }
291
- externalObjects.set(ot.objectType.apiName, sdk.npm.npmPackageName);
292
301
  }
293
- for (const rid of dataScope.interfaceTypes) {
294
- const it = Object.values(ontologyFullMetadata.interfaceTypes).find((it2) => it2.rid === rid);
295
- if (!it) {
296
- throw new Error(`Could not find external interface type with rid ${rid}`);
302
+ const linkTypes = /* @__PURE__ */ new Map();
303
+ const objectTypes = new Set(entities.objectTypesApiNamesToLoad);
304
+ const queryTypes = new Set(entities.queryTypesApiNamesToLoad);
305
+ for (const queryType of entities.queryTypesApiNamesToLoad ?? []) {
306
+ if (queryType.includes(":")) {
307
+ throw new Error(`Query types with fixed versions are not supported with external packages: ${queryType}`);
297
308
  }
298
- externalInterfaces.set(it.apiName, sdk.npm.npmPackageName);
299
309
  }
300
- }
301
- const linkTypes = /* @__PURE__ */ new Map();
302
- const objectTypes = new Set(entities.objectTypesApiNamesToLoad);
303
- const queryTypes = new Set(entities.queryTypesApiNamesToLoad);
304
- const actionTypes = new Set(entities.actionTypesApiNamesToLoad?.map((action) => this.camelize(action)));
305
- const interfaceTypes = new Set(entities.interfaceTypesApiNamesToLoad);
306
- for (const linkType of entities.linkTypesApiNamesToLoad ?? []) {
307
- const [objectTypeApiName, linkTypeApiName] = linkType.split(".");
308
- if (!linkTypes.has(objectTypeApiName)) {
309
- linkTypes.set(objectTypeApiName, /* @__PURE__ */ new Set());
310
+ const actionTypes = new Set(entities.actionTypesApiNamesToLoad);
311
+ const interfaceTypes = new Set(entities.interfaceTypesApiNamesToLoad);
312
+ for (const linkType of entities.linkTypesApiNamesToLoad ?? []) {
313
+ const [objectTypeApiName, linkTypeApiName] = linkType.split(".");
314
+ if (!linkTypes.has(objectTypeApiName)) {
315
+ linkTypes.set(objectTypeApiName, /* @__PURE__ */ new Set());
316
+ }
317
+ linkTypes.get(objectTypeApiName)?.add(linkTypeApiName);
310
318
  }
311
- linkTypes.get(objectTypeApiName)?.add(linkTypeApiName);
312
- }
313
- const filteredFullMetadata = this.filterMetadataByApiName(ontologyFullMetadata, {
314
- objectTypes,
315
- linkTypes,
316
- actionTypes,
317
- queryTypes,
318
- interfaceTypes
319
- }, extPackageInfo);
320
- const validData = this.validateLoadedOntologyMetadata(filteredFullMetadata, {
321
- objectTypes,
322
- linkTypes,
323
- actionTypes,
324
- queryTypes,
325
- interfaceTypes
326
- }, ontologyFullMetadata, extPackageInfo);
327
- if (validData.isErr()) {
328
- return Result.err(validData.error);
319
+ const filteredFullMetadata = this.filterMetadataByApiName(ontologyFullMetadata, {
320
+ objectTypes,
321
+ linkTypes,
322
+ actionTypes,
323
+ queryTypes,
324
+ interfaceTypes
325
+ }, extPackageInfo);
326
+ const validData = this.validateLoadedOntologyMetadata(filteredFullMetadata, {
327
+ objectTypes,
328
+ linkTypes,
329
+ actionTypes,
330
+ queryTypes,
331
+ interfaceTypes
332
+ }, extPackageInfo, ontologyFullMetadata);
333
+ if (validData.isErr()) {
334
+ return Result.err(validData.error);
335
+ }
336
+ return Result.ok({
337
+ requestedMetadata: filteredFullMetadata,
338
+ externalInterfaces,
339
+ externalObjects,
340
+ fixedVersionQueryTypes: []
341
+ });
342
+ } else {
343
+ const objectTypes = new Set(entities.objectTypesApiNamesToLoad);
344
+ const interfaceTypes = new Set(entities.interfaceTypesApiNamesToLoad);
345
+ const actionTypes = new Set(entities.actionTypesApiNamesToLoad);
346
+ const linkTypes = /* @__PURE__ */ new Map();
347
+ for (const linkType of entities.linkTypesApiNamesToLoad ?? []) {
348
+ const [objectTypeApiName, linkTypeApiName] = linkType.split(".");
349
+ if (!linkTypes.has(objectTypeApiName)) {
350
+ linkTypes.set(objectTypeApiName, /* @__PURE__ */ new Set());
351
+ }
352
+ linkTypes.get(objectTypeApiName)?.add(linkTypeApiName);
353
+ }
354
+ const queryTypes = /* @__PURE__ */ new Set();
355
+ const fixedVersionQueryTypes = [];
356
+ for (const queryType of entities.queryTypesApiNamesToLoad ?? []) {
357
+ if (queryTypes.has(queryType)) {
358
+ return Result.err([`Query type ${queryType} was specified multiple times.`]);
359
+ }
360
+ const lastColonIndex = queryType.lastIndexOf(":");
361
+ if (lastColonIndex !== -1) {
362
+ const queryTypeApiName = queryType.substring(0, lastColonIndex);
363
+ fixedVersionQueryTypes.push(queryTypeApiName);
364
+ }
365
+ queryTypes.add(queryType);
366
+ }
367
+ const requestedMetadata = await OntologiesV2.loadMetadata(this.getClientContext(), ontology.rid, {
368
+ actionTypes: [...actionTypes],
369
+ objectTypes: [...objectTypes],
370
+ queryTypes: [...queryTypes],
371
+ interfaceTypes: [...interfaceTypes],
372
+ linkTypes: Array.from(linkTypes.entries()).flatMap(([_, linkTypeApiNames]) => [...linkTypeApiNames])
373
+ }, {
374
+ preview: true
375
+ });
376
+ const validData = this.validateLoadedOntologyMetadata(requestedMetadata, {
377
+ objectTypes,
378
+ linkTypes,
379
+ actionTypes,
380
+ queryTypes,
381
+ interfaceTypes
382
+ }, extPackageInfo);
383
+ if (validData.isErr()) {
384
+ return Result.err(validData.error);
385
+ }
386
+ return Result.ok({
387
+ requestedMetadata,
388
+ externalInterfaces: /* @__PURE__ */ new Map(),
389
+ externalObjects: /* @__PURE__ */ new Map(),
390
+ fixedVersionQueryTypes
391
+ });
329
392
  }
330
- return Result.ok({
331
- filteredFullMetadata,
332
- externalInterfaces,
333
- externalObjects
334
- });
335
393
  }
336
- validateLoadedOntologyMetadata(filteredFullMetadata, expectedEntities, fullOntology, packageInfo) {
394
+ validateLoadedOntologyMetadata(filteredFullMetadata, expectedEntities, packageInfo, fullMetadata) {
337
395
  const errors = [];
338
396
  const loadedObjectTypes = Object.fromEntries(Object.values(filteredFullMetadata.objectTypes).map((object) => [object.objectType.apiName, object]));
339
397
  const loadedLinkTypes = Object.fromEntries(Object.values(filteredFullMetadata.objectTypes).map((object) => [object.objectType.apiName, Object.fromEntries(object.linkTypes.map((link) => [link.apiName, link]))]));
@@ -351,7 +409,7 @@ ${JSON.stringify(ontologyFullMetadata, null, 2)}`]);
351
409
  }
352
410
  for (const [, link] of Object.entries(loadedLinkTypes[object])) {
353
411
  if (!expectedEntities.objectTypes.has(link.objectTypeApiName)) {
354
- const fromFull = fullOntology.objectTypes[link.objectTypeApiName];
412
+ const fromFull = fullMetadata?.objectTypes[link.objectTypeApiName];
355
413
  if (fromFull && hasObjectType(packageInfo, fromFull)) {
356
414
  continue;
357
415
  }
@@ -390,14 +448,13 @@ ${JSON.stringify(ontologyFullMetadata, null, 2)}`]);
390
448
  if (missingQueryTypes.length > 0) {
391
449
  errors.push(`Unable to find the following Query Types: ${missingQueryTypes.join()}`);
392
450
  }
393
- const loadedActionTypes = Object.fromEntries(Object.entries(filteredFullMetadata.actionTypes).map(([actionApiName, action]) => [this.camelize(actionApiName), action]));
394
451
  const missingActionTypes = [];
395
452
  for (const actionApiName of expectedEntities.actionTypes) {
396
- if (!loadedActionTypes[actionApiName]) {
453
+ if (!filteredFullMetadata.actionTypes[actionApiName]) {
397
454
  missingActionTypes.push(actionApiName);
398
455
  }
399
456
  }
400
- for (const action of Object.values(loadedActionTypes)) {
457
+ for (const action of Object.values(filteredFullMetadata.actionTypes)) {
401
458
  const result = this.validateActionParameters(action, expectedEntities.objectTypes, expectedEntities.interfaceTypes);
402
459
  if (result.isErr()) {
403
460
  for (const errorString of result.error) {
@@ -420,8 +477,7 @@ ${JSON.stringify(ontologyFullMetadata, null, 2)}`]);
420
477
  return results;
421
478
  }
422
479
  validateActionParameters(actionType, loadedObjectApiNames, loadedInterfaceApiNames) {
423
- const camelizedApiName = this.camelize(actionType.apiName);
424
- const parameterValidation = Object.entries(actionType.parameters).map(([_paramName, paramData]) => this.isSupportedActionTypeParameter(camelizedApiName, paramData.dataType, loadedObjectApiNames, loadedInterfaceApiNames));
480
+ const parameterValidation = Object.entries(actionType.parameters).map(([_paramName, paramData]) => this.isSupportedActionTypeParameter(actionType.apiName, paramData.dataType, loadedObjectApiNames, loadedInterfaceApiNames));
425
481
  return Result.coalesce(parameterValidation);
426
482
  }
427
483
  visitSupportedQueryTypes(queryApiName, propertyName, baseType, loadedObjectApiNames) {
@@ -508,9 +564,6 @@ ${JSON.stringify(ontologyFullMetadata, null, 2)}`]);
508
564
  return Result.err([`Unable to load action ${actionApiName} because it takes an unsupported parameter: ${JSON.stringify(actionTypeParameter)} specify only the actions you want to load with the --actions argument.`]);
509
565
  }
510
566
  }
511
- camelize(name) {
512
- return name.replace(/-./g, (segment) => segment[1].toUpperCase());
513
- }
514
567
  };
515
568
  function hasObjectType(z, fromFull) {
516
569
  for (const q of z.values()) {
@@ -586,7 +639,7 @@ async function resolveDependenciesFromFindUp(deps, cwd) {
586
639
  }
587
640
 
588
641
  // src/utils/UserAgent.ts
589
- var USER_AGENT = `typescript-sdk-generator/${"2.2.0-beta.20"}`;
642
+ var USER_AGENT = `typescript-sdk-generator/${"2.2.0-beta.22"}`;
590
643
  async function createRollupBuild(absolutePackagePath, packageName) {
591
644
  const inputPath = `${absolutePackagePath}/${packageName}/esm/index.js`;
592
645
  const {
@@ -876,7 +929,7 @@ async function generatePackage(ontologyInfo, options) {
876
929
  await mkdir(options.outputDir, {
877
930
  recursive: true
878
931
  });
879
- await writeFile(path2__default.join(options.outputDir, "ontology.json"), JSON.stringify(ontologyInfo.filteredFullMetadata, null, 2), "utf-8");
932
+ await writeFile(path2__default.join(options.outputDir, "ontology.json"), JSON.stringify(ontologyInfo.requestedMetadata, null, 2), "utf-8");
880
933
  return;
881
934
  }
882
935
  const packagePath = customNormalize(join(options.outputDir, options.packageName));
@@ -896,7 +949,7 @@ async function generatePackage(ontologyInfo, options) {
896
949
  },
897
950
  readdir: (path4) => readdir(path4)
898
951
  };
899
- await generateClientSdkVersionTwoPointZero(ontologyInfo.filteredFullMetadata, `typescript-sdk/${options.packageVersion} ${USER_AGENT}`, hostFs, packagePath, "module", ontologyInfo.externalObjects, ontologyInfo.externalInterfaces);
952
+ await generateClientSdkVersionTwoPointZero(ontologyInfo.requestedMetadata, `typescript-sdk/${options.packageVersion} ${USER_AGENT}`, hostFs, packagePath, "module", ontologyInfo.externalObjects, ontologyInfo.externalInterfaces, /* @__PURE__ */ new Map(), false, ontologyInfo.fixedVersionQueryTypes);
900
953
  const contents = await generatePackageJson({
901
954
  packageName: options.packageName,
902
955
  packagePath,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../node_modules/.pnpm/tsup@8.4.0_@microsoft+api-extractor@7.52.7_@types+node@18.19.97__@swc+core@1.7.39_jiti@2.4.2__kxzaa7ugeuo2htsbghawal3spu/node_modules/tsup/assets/esm_shims.js","../../../../node_modules/.pnpm/conjure-lite@0.4.4/node_modules/conjure-lite/dist/index.mjs","../../../client.unstable.tpsa/build/esm/index.js","../../src/ontologyMetadata/Result.ts","../../src/ontologyMetadata/ontologyMetadataResolver.ts","../../src/utils/semverUtils.ts","../../../generator-utils/build/esm/changeVersionPrefix.js","../../../../node_modules/.pnpm/tiny-invariant@1.3.3/node_modules/tiny-invariant/dist/esm/tiny-invariant.js","../../../generator-utils/build/esm/getDependencyVersionFromFindUpPackageJson.js","../../../generator-utils/build/esm/resolveDependenciesFromFindUp.js","../../src/utils/UserAgent.ts","../../src/generate/generateBundles.ts","../../src/generate/betaClient/getModuleSourceFile.ts","../../src/generate/betaClient/copyFiles.ts","../../src/generate/betaClient/bundleDependencies.ts","../../src/generate/betaClient/compileInMemory.ts","../../src/generate/betaClient/generatePackageJson.ts","../../src/generate/betaClient/generatePackage.ts","../../src/generate/commandUtils.ts","../../src/generate/GeneratePackageCommand.ts","../../src/cli/foundrySdkGeneratorCli.ts"],"names":["fileURLToPath","ot","it","prefix","join","writeFile","path","contents"],"mappings":"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","file":"index.js","sourcesContent":["// Shim globals in esm bundle\nimport { fileURLToPath } from 'url';\nimport path from 'path';\nconst getFilename = () => fileURLToPath(import.meta.url);\nconst getDirname = () => path.dirname(getFilename());\nexport const __dirname = /* @__PURE__ */getDirname();\nexport const __filename = /* @__PURE__ */getFilename();","async function conjureFetch({\n fetchFn,\n baseUrl,\n servicePath,\n tokenProvider\n}, url, method, body, params, contentType, accept) {\n if (body) {\n if (body instanceof URLSearchParams || body instanceof Blob || body instanceof FormData || typeof body === \"string\" || body instanceof ArrayBuffer) ;else {\n body = JSON.stringify(body);\n }\n }\n const queryParams = Object.entries(params ?? {}).flatMap(([key, value]) => {\n if (value == null) {\n return [];\n }\n if (Array.isArray(value)) {\n return value.map(item => [key, item]);\n }\n const stringValue = \"\" + value;\n return stringValue.length === 0 ? [] : [[key, stringValue]];\n });\n const query = Object.keys(queryParams).length === 0 ? \"\" : `?${new URLSearchParams(queryParams).toString()}`;\n const response = await (fetchFn ?? fetch)(`${baseUrl}${servicePath}${url}${query}`, {\n method,\n credentials: \"same-origin\",\n headers: {\n \"Fetch-User-Agent\": \"conjure-lite\",\n \"Content-Type\": contentType ?? \"application/json\",\n accept: accept ?? \"application/json\",\n ...(tokenProvider ? {\n \"Authorization\": `Bearer ${await tokenProvider()}`\n } : {})\n },\n ...(body ? {\n body\n } : {})\n });\n try {\n if (response.status === 204) {\n return void 0;\n }\n const body2 = await readBody(response);\n if (!response.ok) {\n throw new ConjureError(\"STATUS\", void 0, response.status, body2);\n }\n return body2;\n } catch (error) {\n if (error instanceof ConjureError) {\n throw error;\n } else if (error instanceof TypeError) {\n throw new ConjureError(\"NETWORK\", error);\n } else {\n throw new ConjureError(\"OTHER\", error);\n }\n }\n}\nasync function readBody(response) {\n const contentType = response.headers.get(\"Content-Type\") != null ? response.headers.get(\"Content-Type\") : \"\";\n try {\n if (contentType.includes(\"application/json\")) {\n return await response.json();\n } else if (contentType.includes(\"application/octet-stream\")) {\n return await response.blob();\n } else {\n return await response.text();\n }\n } catch (error) {\n throw new ConjureError(\"PARSE\", error, response.status);\n }\n}\nclass ConjureError {\n type;\n originalError;\n status;\n body;\n constructor(errorType, originalError, status, body) {\n this.type = errorType;\n this.originalError = originalError;\n this.status = status;\n this.body = body;\n }\n toString() {\n return JSON.stringify({\n body: this.body,\n originalError: this.originalError && this.originalError.toString(),\n status: this.status,\n type: this.type\n }, null, \" \");\n }\n}\nexport { conjureFetch };","import { conjureFetch } from 'conjure-lite';\n\n// src/generated/third-party-application-service/SdkService/getSdk.ts\nasync function getSdk(ctx, repositoryRid, packageName, sdkVersion) {\n return conjureFetch(ctx, `/sdks/${repositoryRid}/${packageName}/${sdkVersion}`, \"GET\");\n}\nasync function getSdkPackage(ctx, sdkPackageRid) {\n return conjureFetch(ctx, `/sdks/packages/${sdkPackageRid}`, \"GET\");\n}\nexport { getSdk, getSdkPackage };","/*\n * Copyright 2023 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/**\n * Use Result.ok() / Result.err() for constructing\n */\n\nexport class Ok {\n constructor(value) {\n this.value = value;\n }\n isErr() {\n return false;\n }\n isOk() {\n return true;\n }\n transform(transformOk, _transformErr) {\n return transformOk(this.value);\n }\n map(transformOk) {\n return Result.ok(transformOk(this.value));\n }\n mapErr(_transformErr) {\n return Result.ok(this.value);\n }\n}\nexport class Err {\n constructor(error) {\n this.error = error;\n }\n isErr() {\n return true;\n }\n isOk() {\n return false;\n }\n transform(_transformOk, transformErr) {\n return transformErr(this.error);\n }\n map(_transformOk) {\n return Result.err(this.error);\n }\n mapErr(transformErr) {\n return Result.err(transformErr(this.error));\n }\n}\nexport const Result = {\n ok(ok) {\n return new Ok(ok);\n },\n err(err) {\n return new Err(err);\n },\n /**\n * Returns err E array if any result has an error.\n * Returns T array if all results are ok.\n */\n coalesce(results) {\n return results.reduce((acc, value) => {\n return value.transform(ok => {\n return acc.transform(accOk => {\n return Result.ok([...accOk, ok]);\n }, accErr => {\n return Result.err(accErr);\n });\n }, err => {\n return acc.transform(() => {\n return Result.err([...err]);\n }, accErr => {\n return Result.err([...accErr, ...err]);\n });\n });\n }, Result.ok([]));\n }\n};","/*\n * Copyright 2023 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 { getSdk, getSdkPackage } from \"@osdk/client.unstable.tpsa\";\nimport { createSharedClientContext } from \"@osdk/shared.client.impl\";\nimport { Result } from \"./Result.js\";\nexport class OntologyMetadataResolver {\n #authToken;\n constructor(authToken, stackName) {\n this.stackName = stackName;\n this.#authToken = authToken;\n }\n getClientContext() {\n return createSharedClientContext(this.stackName.match(/^https?:\\/\\//) ? this.stackName : `https://${this.stackName}`, () => Promise.resolve(this.#authToken), `foundry-typescript-osdk-generator/${process.env.npm_package_version}`);\n }\n filterMetadataByApiName(ontologyFullMetadata, expectedEntities, pkgInfo) {\n const filteredObjectTypes = Object.fromEntries(Object.entries(ontologyFullMetadata.objectTypes).filter(([, {\n objectType\n }]) => {\n for (const {\n sdk: {\n inputs: {\n dataScope\n }\n }\n } of pkgInfo.values()) {\n for (const objectTypeRid of dataScope.ontologyV2.objectTypes) {\n if (objectTypeRid === objectType.rid) {\n return true;\n }\n }\n }\n return expectedEntities.objectTypes.has(objectType.apiName);\n }));\n const filteredInterfaceTypes = Object.fromEntries(Object.entries(ontologyFullMetadata.interfaceTypes).filter(([interfaceApiName]) => expectedEntities.interfaceTypes.has(interfaceApiName)));\n Object.values(filteredObjectTypes).forEach(objectType => {\n const linkTypesToKeep = expectedEntities.linkTypes.get(objectType.objectType.apiName);\n if (!linkTypesToKeep) {\n objectType.linkTypes = [];\n return;\n }\n objectType.linkTypes = objectType.linkTypes.filter(linkType => linkTypesToKeep.has(linkType.apiName));\n });\n const filteredActionTypes = Object.fromEntries(Object.entries(ontologyFullMetadata.actionTypes).filter(([actionApiName]) => {\n if (expectedEntities.actionTypes.has(this.camelize(actionApiName))) {\n return true;\n }\n return false;\n }));\n const filteredQueryTypes = Object.fromEntries(Object.entries(ontologyFullMetadata.queryTypes).filter(([queryApiName]) => expectedEntities.queryTypes.has(queryApiName)));\n return {\n ontology: ontologyFullMetadata.ontology,\n objectTypes: filteredObjectTypes,\n actionTypes: filteredActionTypes,\n queryTypes: filteredQueryTypes,\n interfaceTypes: filteredInterfaceTypes,\n sharedPropertyTypes: {}\n };\n }\n async getInfoForPackages(pkgs) {\n const conjureCtx = {\n baseUrl: `https://${this.stackName}`,\n servicePath: \"/third-party-application-service/api\",\n tokenProvider: () => Promise.resolve(this.#authToken)\n };\n const ret = new Map();\n for (const [packageRid, packageVersion] of pkgs) {\n const sdkPackage = await getSdkPackage(conjureCtx, packageRid);\n const sdk = await getSdk(conjureCtx, sdkPackage.repositoryRid, sdkPackage.packageName, packageVersion);\n ret.set(packageRid, {\n sdkPackage,\n sdk,\n packageVersion\n });\n }\n return ret;\n }\n async getWireOntologyDefinition(ontologyRid, entities, extPackageInfo = new Map()) {\n let ontology;\n const {\n OntologiesV2\n } = await import(\"@osdk/foundry.ontologies\");\n try {\n ontology = await OntologiesV2.get(this.getClientContext(), ontologyRid);\n } catch (e) {\n return Result.err([`Unable to load the specified Ontology with network error: ${JSON.stringify(e)}`]);\n }\n const ontologyFullMetadata = await OntologiesV2.getFullMetadata(this.getClientContext(), ontology.rid);\n if (ontologyFullMetadata.errorName != null) {\n return Result.err([`Unable to load the specified Ontology metadata.\\n${JSON.stringify(ontologyFullMetadata, null, 2)}`]);\n }\n const externalObjects = new Map();\n const externalInterfaces = new Map();\n for (const {\n sdk\n } of extPackageInfo.values()) {\n if (sdk.npm?.npmPackageName == null) {\n throw new Error(\"External package is not generated as an npm package\");\n }\n const dataScope = sdk.inputs.dataScope.ontologyV2;\n for (const rid of dataScope.objectTypes) {\n const ot = Object.values(ontologyFullMetadata.objectTypes).find(ot => ot.objectType.rid === rid);\n if (!ot) {\n throw new Error(`Could not find external object type with rid ${rid}`);\n }\n externalObjects.set(ot.objectType.apiName, sdk.npm.npmPackageName);\n }\n for (const rid of dataScope.interfaceTypes) {\n const it = Object.values(ontologyFullMetadata.interfaceTypes).find(it => it.rid === rid);\n if (!it) {\n throw new Error(`Could not find external interface type with rid ${rid}`);\n }\n externalInterfaces.set(it.apiName, sdk.npm.npmPackageName);\n }\n }\n const linkTypes = new Map();\n const objectTypes = new Set(entities.objectTypesApiNamesToLoad);\n const queryTypes = new Set(entities.queryTypesApiNamesToLoad);\n const actionTypes = new Set(entities.actionTypesApiNamesToLoad?.map(action => this.camelize(action)));\n const interfaceTypes = new Set(entities.interfaceTypesApiNamesToLoad);\n for (const linkType of entities.linkTypesApiNamesToLoad ?? []) {\n const [objectTypeApiName, linkTypeApiName] = linkType.split(\".\");\n if (!linkTypes.has(objectTypeApiName)) {\n linkTypes.set(objectTypeApiName, new Set());\n }\n linkTypes.get(objectTypeApiName)?.add(linkTypeApiName);\n }\n const filteredFullMetadata = this.filterMetadataByApiName(ontologyFullMetadata, {\n objectTypes,\n linkTypes,\n actionTypes,\n queryTypes,\n interfaceTypes\n }, extPackageInfo);\n const validData = this.validateLoadedOntologyMetadata(filteredFullMetadata, {\n objectTypes,\n linkTypes,\n actionTypes,\n queryTypes,\n interfaceTypes\n }, ontologyFullMetadata, extPackageInfo);\n if (validData.isErr()) {\n return Result.err(validData.error);\n }\n return Result.ok({\n filteredFullMetadata,\n externalInterfaces,\n externalObjects\n });\n }\n validateLoadedOntologyMetadata(filteredFullMetadata, expectedEntities, fullOntology, packageInfo) {\n const errors = [];\n const loadedObjectTypes = Object.fromEntries(Object.values(filteredFullMetadata.objectTypes).map(object => [object.objectType.apiName, object]));\n const loadedLinkTypes = Object.fromEntries(Object.values(filteredFullMetadata.objectTypes).map(object => [object.objectType.apiName, Object.fromEntries(object.linkTypes.map(link => [link.apiName, link]))]));\n const loadedInterfaceTypes = Object.fromEntries(Object.values(filteredFullMetadata.interfaceTypes).map(interfaceType => [interfaceType.apiName, interfaceType]));\n const missingObjectTypes = [];\n for (const object of expectedEntities.objectTypes) {\n // Expected an object that wasn't loaded\n if (!loadedObjectTypes[object]) {\n missingObjectTypes.push(object);\n continue;\n }\n\n // Expected a link that wasn't received\n for (const expectedLink of expectedEntities.linkTypes.get(object) ?? []) {\n if (!loadedLinkTypes[object][expectedLink]) {\n errors.push(`Unable to find link type ${expectedLink} for Object Type ${object}`);\n }\n }\n for (const [, link] of Object.entries(loadedLinkTypes[object])) {\n // Loaded a link where target was not loaded\n if (!expectedEntities.objectTypes.has(link.objectTypeApiName)) {\n // is it in a package?\n const fromFull = fullOntology.objectTypes[link.objectTypeApiName];\n if (fromFull && hasObjectType(packageInfo, fromFull)) {\n continue;\n }\n errors.push(`Unable to load link type ${link.apiName} for ${loadedObjectTypes[object].objectType.apiName}, because the target object type ${link.objectTypeApiName} is not loaded. Please specify the target Object type with --objectTypes ${link.objectTypeApiName}`);\n }\n }\n }\n if (missingObjectTypes.length > 0) {\n errors.push(`Unable to find the following Object Types: ${missingObjectTypes.join(\", \")}`);\n }\n const missingInterfaceTypes = [];\n for (const expectedInterface of expectedEntities.interfaceTypes) {\n if (!loadedInterfaceTypes[expectedInterface]) {\n missingInterfaceTypes.push(expectedInterface);\n continue;\n }\n }\n if (missingInterfaceTypes.length > 0) {\n errors.push(`Unable to find the following Interface Types: ${missingInterfaceTypes.join(\", \")}`);\n }\n const loadedQueryTypes = Object.fromEntries(Object.entries(filteredFullMetadata.queryTypes).map(([queryApiName, query]) => [queryApiName, query]));\n\n // Validate expected queries were loaded\n const missingQueryTypes = [];\n for (const queryApiName of expectedEntities.queryTypes) {\n if (!loadedQueryTypes[queryApiName]) {\n missingQueryTypes.push(queryApiName);\n }\n }\n\n // Validate parameters and output for Queries\n for (const query of Object.values(loadedQueryTypes)) {\n const result = this.validateQueryParametersAndOutput(query, expectedEntities.objectTypes);\n if (result.isErr()) {\n for (const errorString of result.error) {\n errors.push(errorString);\n }\n }\n }\n if (missingQueryTypes.length > 0) {\n errors.push(`Unable to find the following Query Types: ${missingQueryTypes.join()}`);\n }\n const loadedActionTypes = Object.fromEntries(Object.entries(filteredFullMetadata.actionTypes).map(([actionApiName, action]) => [this.camelize(actionApiName), action]));\n const missingActionTypes = [];\n for (const actionApiName of expectedEntities.actionTypes) {\n if (!loadedActionTypes[actionApiName]) {\n missingActionTypes.push(actionApiName);\n }\n }\n\n // Validate parameters for Actions\n for (const action of Object.values(loadedActionTypes)) {\n const result = this.validateActionParameters(action, expectedEntities.objectTypes, expectedEntities.interfaceTypes);\n if (result.isErr()) {\n for (const errorString of result.error) {\n errors.push(errorString);\n }\n }\n }\n if (missingActionTypes.length > 0) {\n errors.push(`Unable to find the following Action Types: ${missingActionTypes.join()}`);\n }\n if (errors.length > 0) {\n return Result.err(errors);\n }\n return Result.ok({});\n }\n validateQueryParametersAndOutput(query, loadedObjectApiNames) {\n const parameterValidation = Object.entries(query.parameters).map(([paramName, paramData]) => this.visitSupportedQueryTypes(query.apiName, paramName, paramData.dataType, loadedObjectApiNames));\n parameterValidation.push(this.visitSupportedQueryTypes(query.apiName, \"output\", query.output, loadedObjectApiNames));\n const results = Result.coalesce(parameterValidation);\n return results;\n }\n validateActionParameters(actionType, loadedObjectApiNames, loadedInterfaceApiNames) {\n const camelizedApiName = this.camelize(actionType.apiName);\n const parameterValidation = Object.entries(actionType.parameters).map(([_paramName, paramData]) => this.isSupportedActionTypeParameter(camelizedApiName, paramData.dataType, loadedObjectApiNames, loadedInterfaceApiNames));\n return Result.coalesce(parameterValidation);\n }\n visitSupportedQueryTypes(queryApiName, propertyName, baseType, loadedObjectApiNames) {\n switch (baseType.type) {\n case \"array\":\n case \"set\":\n return this.visitSupportedQueryTypes(queryApiName, propertyName, baseType.subType, loadedObjectApiNames);\n case \"objectSet\":\n case \"object\":\n if (loadedObjectApiNames.has(baseType.objectTypeApiName)) {\n return Result.ok({});\n }\n return Result.err([`Unable to load query ${queryApiName} because it takes an unloaded object type as a parameter: ${baseType.objectTypeApiName} in parameter ${propertyName}. ` + `Make sure to specify it as an argument with --ontologyObjects ${baseType.objectTypeApiName}.}`]);\n case \"struct\":\n const results = baseType.fields?.map(field => {\n return this.visitSupportedQueryTypes(queryApiName, propertyName, field.fieldType, loadedObjectApiNames);\n });\n if (!results) {\n return Result.ok({});\n }\n return Result.coalesce(results);\n case \"union\":\n if (baseType.unionTypes.find(unionTypes => unionTypes.type === \"null\")) {\n return Result.ok({});\n }\n return Result.err([`Unable to load query ${queryApiName} because it takes an unsupported parameter type: ${JSON.stringify(baseType)} in parameter ${propertyName}`]);\n case \"string\":\n case \"boolean\":\n case \"attachment\":\n case \"date\":\n case \"double\":\n case \"float\":\n case \"integer\":\n case \"long\":\n case \"threeDimensionalAggregation\":\n case \"timestamp\":\n case \"twoDimensionalAggregation\":\n case \"entrySet\":\n case \"null\":\n return Result.ok({});\n case \"unsupported\":\n return Result.err([`Unable to load query ${queryApiName} because it takes an unsupported parameter type: ${JSON.stringify(baseType)} in parameter ${propertyName}`]);\n default:\n const _ = baseType;\n return Result.err([`Unable to load query ${queryApiName} because it takes an unsupported parameter type: ${JSON.stringify(baseType)} in parameter ${propertyName}`]);\n }\n }\n isSupportedActionTypeParameter(actionApiName, actionTypeParameter, loadedObjectApiNames, loadedInterfaceApiNames) {\n switch (actionTypeParameter.type) {\n case \"array\":\n return this.isSupportedActionTypeParameter(actionApiName, actionTypeParameter.subType, loadedObjectApiNames, loadedInterfaceApiNames);\n case \"object\":\n if (loadedObjectApiNames.has(actionTypeParameter.objectTypeApiName)) {\n return Result.ok({});\n }\n return Result.err([`Unable to load action ${actionApiName} because it takes an unloaded object type as a parameter: ${actionTypeParameter.objectTypeApiName} ` + `make sure to specify it as an argument with --ontologyObjects ${actionTypeParameter.objectTypeApiName})`]);\n case \"objectSet\":\n if (loadedObjectApiNames.has(actionTypeParameter.objectTypeApiName)) {\n return Result.ok({});\n }\n return Result.err([`Unable to load action ${actionApiName} because it takes an ObjectSet of unloaded object type as a parameter: ${actionTypeParameter.objectTypeApiName} ` + `make sure to specify it as an argument with --ontologyObjects ${actionTypeParameter.objectTypeApiName})`]);\n case \"interfaceObject\":\n if (loadedInterfaceApiNames.has(actionTypeParameter.interfaceTypeApiName)) {\n return Result.ok({});\n }\n return Result.err([`Unable to load action ${actionApiName} because it takes an unloaded interface type as a parameter: ${actionTypeParameter.interfaceTypeApiName} ` + `make sure to specify it as an argument with --ontologyInterfaces ${actionTypeParameter.interfaceTypeApiName}`]);\n case \"string\":\n case \"boolean\":\n case \"attachment\":\n case \"date\":\n case \"double\":\n case \"integer\":\n case \"long\":\n case \"timestamp\":\n case \"struct\":\n case \"mediaReference\":\n case \"objectType\":\n case \"marking\":\n case \"geohash\":\n case \"geoshape\":\n return Result.ok({});\n case \"vector\":\n return Result.err([`Unable to load action ${actionApiName} because it takes an unsupported parameter: ${JSON.stringify(actionTypeParameter)} ` + `specify only the actions you want to load with the --actions argument.`]);\n default:\n const _ = actionTypeParameter;\n return Result.err([`Unable to load action ${actionApiName} because it takes an unsupported parameter: ${JSON.stringify(actionTypeParameter)} ` + `specify only the actions you want to load with the --actions argument.`]);\n }\n }\n camelize(name) {\n return name.replace(/-./g, segment => segment[1].toUpperCase());\n }\n}\nfunction hasObjectType(z, fromFull) {\n for (const q of z.values()) {\n const {\n objectTypes\n } = q.sdk.inputs.dataScope.ontologyV2;\n if (objectTypes.includes(fromFull.objectType.rid)) {\n return true;\n }\n }\n return false;\n}","/*\n * Copyright 2023 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// https://semver.org/#is-there-a-suggested-regular-expression-regex-to-check-a-semver-string\nconst semver = /^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$/;\nexport function isValidSemver(semverString) {\n return semver.test(semverString);\n}","/*\n * Copyright 2024 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\nexport function changeVersionPrefix(version, prefix) {\n const isWorkspaceProtocol = version.startsWith(\"workspace:\");\n if (isWorkspaceProtocol) {\n version = version.slice(\"workspace:\".length);\n }\n if (version[0] === \"^\" || version[0] === \"~\" || version[0] === \"*\") {\n version = version.slice(1);\n }\n return `${isWorkspaceProtocol ? \"workspace:\" : \"\"}${prefix}${version}`;\n}","var isProduction = process.env.NODE_ENV === 'production';\nvar prefix = 'Invariant failed';\nfunction invariant(condition, message) {\n if (condition) {\n return;\n }\n if (isProduction) {\n throw new Error(prefix);\n }\n var provided = typeof message === 'function' ? message() : message;\n var value = provided ? \"\".concat(prefix, \": \").concat(provided) : prefix;\n throw new Error(value);\n}\nexport { invariant as default };","/*\n * Copyright 2024 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 { readFile } from \"fs/promises\";\nimport invariant from \"tiny-invariant\";\nexport async function getDependencyVersionFromFindUpPackageJson(name, opts) {\n const {\n findUp\n } = await import(\"find-up\");\n const packageJsonPath = await findUp(\"package.json\", opts);\n !(packageJsonPath !== undefined) ? process.env.NODE_ENV !== \"production\" ? !false ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"Could not find package.json\") : invariant(false) : void 0 : !false ? process.env.NODE_ENV !== \"production\" ? invariant(false) : invariant(false) : void 0 : void 0;\n const packageJson = await readFile(packageJsonPath, {\n encoding: \"utf-8\"\n });\n if (!packageJson) {\n throw new Error(`Could not find package.json in current working directory: ${process.cwd()}`);\n }\n const parsedPackageJson = JSON.parse(packageJson);\n const version = parsedPackageJson.dependencies?.[name] ?? parsedPackageJson.devDependencies?.[name] ?? parsedPackageJson.peerDependencies?.[name];\n !(version !== undefined) ? process.env.NODE_ENV !== \"production\" ? !false ? process.env.NODE_ENV !== \"production\" ? invariant(false, `Could not find a dependency for ${name} in ${packageJsonPath}`) : invariant(false) : void 0 : !false ? process.env.NODE_ENV !== \"production\" ? invariant(false) : invariant(false) : void 0 : void 0;\n return version;\n}","/*\n * Copyright 2024 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 { changeVersionPrefix } from \"./changeVersionPrefix.js\";\nimport { getDependencyVersionFromFindUpPackageJson } from \"./getDependencyVersionFromFindUpPackageJson.js\";\n\n/**\n * Resolves dependencies to their versions per our package.json if undefined.\n * Sets the prefix to `^` for the version specified or read from package.json.\n * @param deps\n * @returns\n */\nexport async function resolveDependenciesFromFindUp(deps, cwd) {\n return await Promise.all(Object.entries(deps).map(async ([dependencyName, dependencyVersion]) => {\n return {\n dependencyName,\n dependencyVersion: changeVersionPrefix(dependencyVersion ?? (await getDependencyVersionFromFindUpPackageJson(dependencyName, {\n cwd\n })), \"^\")\n };\n }));\n}","/*\n * Copyright 2023 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\nexport const USER_AGENT = `typescript-sdk-generator/${process.env.PACKAGE_VERSION}`;","/*\n * Copyright 2023 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 commonjs from \"@rollup/plugin-commonjs\";\nimport { nodeResolve } from \"@rollup/plugin-node-resolve\";\nimport { rollup } from \"rollup\";\nimport nodePolyfill from \"rollup-plugin-polyfill-node\";\nasync function createRollupBuild(absolutePackagePath, packageName) {\n const inputPath = `${absolutePackagePath}/${packageName}/esm/index.js`;\n const {\n findUp\n } = await import(\"find-up\");\n const nodeModulesPath = await findUp(\"node_modules\", {\n cwd: __dirname,\n type: \"directory\"\n });\n return await rollup({\n input: inputPath,\n plugins: [nodeResolve({\n browser: true,\n modulePaths: [nodeModulesPath]\n }), (\"default\" in commonjs ? commonjs.default : commonjs)({}), (\"default\" in nodePolyfill ? nodePolyfill.default : nodePolyfill)()],\n onwarn: (warning, warn) => {\n // Ignore circular dependency warnings\n if (warning.code === \"CIRCULAR_DEPENDENCY\") {\n return;\n }\n\n // Pass through all other warnings\n warn(warning);\n }\n });\n}\nasync function writeRollupBuild(rollupBuild, absolutePackagePath, packageName, format) {\n const outputPath = `${absolutePackagePath}/${packageName}/dist/bundle/index.${format === \"cjs\" ? \"cjs\" : \"mjs\"}`;\n await Promise.all([rollupBuild.write({\n file: outputPath,\n format,\n name: packageName,\n amd: {\n id: packageName\n },\n plugins: []\n })]);\n}\nasync function generateEsmBuild(absolutePackagePath, packageName) {\n const umdBuild = await createRollupBuild(absolutePackagePath, packageName);\n await writeRollupBuild(umdBuild, absolutePackagePath, packageName, \"esm\");\n}\nexport async function generateBundles(absolutePackagePath, packageName) {\n await Promise.all([generateEsmBuild(absolutePackagePath, packageName)]);\n}","/*\n * Copyright 2023 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\nexport function getModuleSourceFile(project, node) {\n let exportSourceFile;\n try {\n exportSourceFile = project.getSourceFile(`/${node.getLiteralText()}.ts`);\n if (!exportSourceFile) {\n exportSourceFile = project.getSourceFile(`/${node.getLiteralText()}/index.ts`);\n if (!exportSourceFile) {\n return undefined;\n }\n }\n } catch (e) {\n return undefined;\n }\n return exportSourceFile;\n}\nexport function withoutTrailingIndex(filePath) {\n return filePath.endsWith(\"/index\") ? filePath.slice(0, -6) : filePath;\n}","/*\n * Copyright 2023 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 * as fs from \"node:fs\";\nimport * as path from \"node:path\";\nimport { Node } from \"ts-morph\";\nimport { withoutTrailingIndex } from \"./getModuleSourceFile.js\";\nconst KNOWN_EXTERNAL = new Set([\"geojson\"]);\nfunction removeDts(file) {\n return file.replace(/\\.d\\.c?ts$/, \"\");\n}\nexport async function copyFiles(project, dirs, generatedPackageName, generatedFiles) {\n const importSet = new Set();\n for (const [fileName, file] of Object.entries(generatedFiles)) {\n if (!fileName.endsWith(\".d.ts\") && !fileName.endsWith(\".d.cts\")) {\n continue;\n }\n const indexOfPackageName = fileName.indexOf(generatedPackageName);\n const tsPath = removeDts(fileName.slice(indexOfPackageName + generatedPackageName.length));\n const newModulePath = `${generatedPackageName}${tsPath}`;\n const sourceFile = project.createSourceFile(newModulePath, file);\n for (const importDeclaration of sourceFile.getImportDeclarations()) {\n const moduleSpecifier = importDeclaration.getModuleSpecifier();\n const newModuleSpecifier = transformModuleSpecifier(moduleSpecifier.getLiteralValue(), newModulePath);\n moduleSpecifier.setLiteralValue(newModuleSpecifier);\n if (newModuleSpecifier.startsWith(\"internal\")) {\n for (const importName of importDeclaration.getNamedImports().map(imp => imp.getName())) {\n importSet.add(importName);\n }\n }\n }\n for (const exportedDecl of sourceFile.getStatements()) {\n if (Node.isModifierable(exportedDecl)) {\n exportedDecl.toggleModifier(\"declare\", false);\n }\n }\n for (const exportDeclaration of sourceFile.getExportDeclarations()) {\n const moduleSpecifier = exportDeclaration.getModuleSpecifier();\n if (moduleSpecifier) {\n const newModuleSpecifier = transformModuleSpecifier(moduleSpecifier.getLiteralValue(), newModulePath);\n moduleSpecifier.setLiteralValue(newModuleSpecifier);\n if (newModuleSpecifier.startsWith(\"internal\")) {\n for (const exportName of exportDeclaration.getNamedExports().map(exp => exp.getName())) {\n importSet.add(exportName);\n }\n }\n }\n }\n }\n for (const dir of dirs) {\n const buildDirsToTry = [\"build/cjs\", \"build/esm\"];\n const packageName = getPackageName(dir);\n const relativeBuildDir = buildDirsToTry.find(buildDir => {\n return [\"d.ts\", \"d.cts\", \"d.mts\"].some(ext => {\n try {\n fs.statSync(path.join(dir, buildDir, `index.${ext}`));\n return true;\n } catch (e) {\n return false;\n }\n });\n });\n if (!relativeBuildDir) {\n throw new Error(\"Couldn't find the right build dir\");\n }\n for (const file of getTypeFiles(path.join(dir, relativeBuildDir))) {\n const absoluteBuildDir = path.join(dir, relativeBuildDir);\n const tsPath = removeDts(path.relative(absoluteBuildDir, file));\n const newModulePath = `internal/${packageName}/${tsPath}`;\n const fileContents = fs.readFileSync(file).toString();\n const sourceFile = project.createSourceFile(`${newModulePath}.ts`, fileContents, {\n overwrite: true\n });\n for (const importDeclaration of sourceFile.getImportDeclarations()) {\n const moduleSpecifier = importDeclaration.getModuleSpecifier();\n const newModuleSpecifier = transformModuleSpecifier(moduleSpecifier.getLiteralValue(), newModulePath);\n moduleSpecifier.setLiteralValue(newModuleSpecifier);\n }\n for (const exportedDecl of sourceFile.getStatements()) {\n if (Node.isModifierable(exportedDecl)) {\n exportedDecl.toggleModifier(\"declare\", false);\n }\n }\n for (const exportDeclaration of sourceFile.getExportDeclarations()) {\n const moduleSpecifier = exportDeclaration.getModuleSpecifier();\n if (moduleSpecifier) {\n const newModuleSpecifier = transformModuleSpecifier(moduleSpecifier.getLiteralValue(), newModulePath);\n moduleSpecifier.setLiteralValue(withoutTrailingIndex(newModuleSpecifier));\n }\n }\n }\n }\n return importSet;\n}\nfunction getPackageName(dir) {\n const pkg = fs.readFileSync(path.join(dir, \"package.json\"));\n const parsed = JSON.parse(pkg.toString());\n return parsed.name;\n}\nfunction* getTypeFiles(dir) {\n for (const item of fs.readdirSync(dir)) {\n const target = path.join(dir, item);\n // no test files\n if (target.endsWith(\".d.ts\") && !target.endsWith(\".test.d.ts\") || target.endsWith(\".d.cts\") && !target.endsWith(\".test.d.cts\")) {\n yield target;\n } else {\n const stat = fs.lstatSync(target);\n // no test directories either\n if (stat.isDirectory() && item !== \"test\") {\n yield* getTypeFiles(target);\n }\n }\n }\n}\nfunction transformModuleSpecifier(value, filePath) {\n let moduleSpecifier;\n if (value.startsWith(\"@osdk\")) {\n // package relative import\n if (value.startsWith(\"@osdk/gateway/types\")) {\n moduleSpecifier = `internal/${value.replace(\"@osdk/gateway/types\", \"@osdk/gateway/public/types\")}`;\n } else {\n moduleSpecifier = `internal/${value}`;\n }\n } else if (value.startsWith(\".\")) {\n // path relative import\n moduleSpecifier = path.join(filePath, \"..\", value);\n } else if (KNOWN_EXTERNAL.has(value)) {\n moduleSpecifier = `internal/${value}`;\n } else {\n throw new Error(\"Failed generated DTS for package, no handling for: \" + value);\n }\n return withoutTrailingIndex(withoutExtension(moduleSpecifier));\n}\nfunction withoutExtension(value) {\n return value.replace(\".js\", \"\");\n}","/*\n * Copyright 2023 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 { Project } from \"ts-morph\";\nimport { copyFiles } from \"./copyFiles.js\";\nimport { withoutTrailingIndex } from \"./getModuleSourceFile.js\";\nimport { ProjectMinifier } from \"./minifyBundle.js\";\nexport async function bundleDependencies(dirs, generatedPackageName, generatedFiles, entry) {\n const project = new Project({\n useInMemoryFileSystem: true,\n compilerOptions: {\n declaration: true,\n emitDeclarationOnly: true,\n outFile: \"dist/bundle/index.d.ts\"\n }\n });\n const importSet = await copyFiles(project, dirs, generatedPackageName, generatedFiles);\n if (entry) {\n const projectMinifier = new ProjectMinifier(project, importSet, entry);\n projectMinifier.minifyProject();\n }\n return outputModule(project);\n}\nexport function outputModule(project) {\n const modules = [];\n project.getSourceFiles().forEach(sourceFile => {\n const lines = sourceFile.getText().split(\"\\n\");\n while (lines.length > 0 && lines[lines.length - 1] === \"\") {\n lines.pop();\n }\n\n // skip empty modules\n if (lines.length === 0) {\n return;\n }\n const module = [];\n module.push(`/** ${sourceFile.getFilePath()} **/`);\n module.push(`declare module \"${withoutTrailingIndex(sourceFile.getFilePath().replace(\".ts\", \"\").replace(\"/\", \"\"))}\" {`);\n for (const line of lines) {\n const trimmed = line.trim();\n if (trimmed.length === 0) {\n continue;\n }\n module.push(`\\t${line}`);\n }\n module.push(`}`);\n modules.push(module.join(\"\\n\"));\n });\n return modules.join(\"\\n\");\n}","/*\n * Copyright 2023 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 { createCompilerHost, createProgram, createSourceFile, ModuleKind, ScriptTarget } from \"typescript\";\nexport function compileInMemory(files, type) {\n const inMemoryOutputFileSystem = {};\n const compilerOptions = {\n module: type === \"cjs\" ? ModuleKind.CommonJS : ModuleKind.ES2022,\n target: ScriptTarget.ES2020,\n resolvePackageJsonExports: true,\n declaration: true,\n skipLibCheck: true\n };\n const compilerHost = createCompilerHost(compilerOptions);\n compilerHost.writeFile = (fileName, data) => {\n inMemoryOutputFileSystem[fileName] = data;\n };\n const originalSourceFile = compilerHost.getSourceFile;\n compilerHost.getSourceFile = (fileName, languageVersion) => {\n const sourceText = files[fileName];\n return sourceText !== undefined ? createSourceFile(fileName, sourceText, languageVersion) : originalSourceFile(fileName, languageVersion);\n };\n const program = createProgram(Object.keys(files), compilerOptions, compilerHost);\n const emitOutput = program.emit();\n return {\n files: inMemoryOutputFileSystem,\n diagnostics: emitOutput.diagnostics\n };\n}","/*\n * Copyright 2023 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 { writeFile } from \"fs/promises\";\nimport { join } from \"path\";\nexport async function generatePackageJson(options) {\n const packageDeps = constructDependencies(options.dependencies);\n const packagePeerDeps = constructDependencies(options.peerDependencies);\n\n // Note that any \"default\" conditions _must_ be last in their block otherwise it will crash at runtime\n const packageJson = {\n name: options.packageName,\n version: options.packageVersion,\n main: \"./cjs/index.js\",\n types: \"./cjs/index.d.ts\",\n exports: {\n \".\": {\n script: {\n types: \"./dist/bundle/index.d.mts\",\n default: \"./dist/bundle/index.mjs\"\n },\n require: {\n types: \"./cjs/index.d.ts\",\n default: \"./cjs/index.js\"\n },\n import: {\n types: \"./esm/index.d.ts\",\n default: \"./esm/index.js\"\n },\n types: \"./cjs/index.d.ts\",\n default: \"./cjs/index.js\"\n }\n },\n dependencies: packageDeps,\n peerDependencies: packagePeerDeps,\n type: \"commonjs\"\n };\n await writeFile(join(options.packagePath, \"package.json\"), JSON.stringify(packageJson, undefined, 4));\n return packageJson;\n}\nfunction constructDependencies(dependencies) {\n return dependencies?.reduce((acc, value) => {\n acc[value.dependencyName] = value.dependencyVersion;\n return acc;\n }, {});\n}","/*\n * Copyright 2023 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 { generateClientSdkVersionTwoPointZero } from \"@osdk/generator\";\nimport { resolveDependenciesFromFindUp } from \"@osdk/generator-utils\";\nimport { mkdir, readdir, writeFile } from \"fs/promises\";\nimport path from \"node:path\";\nimport { normalize } from \"node:path/posix\";\nimport { fileURLToPath } from \"node:url\";\nimport { dirname, isAbsolute, join } from \"path\";\nimport { USER_AGENT } from \"../../utils/UserAgent.js\";\nimport { generateBundles } from \"../generateBundles.js\";\nimport { bundleDependencies } from \"./bundleDependencies.js\";\nimport { compileInMemory } from \"./compileInMemory.js\";\nimport { generatePackageJson } from \"./generatePackageJson.js\";\nconst betaPeerDependencies = {\n \"@osdk/client\": undefined\n};\nexport async function generatePackage(ontologyInfo, options) {\n const {\n consola\n } = await import(\"consola\");\n let success = true;\n if (options.ontologyJsonOnly) {\n await mkdir(options.outputDir, {\n recursive: true\n });\n await writeFile(path.join(options.outputDir, \"ontology.json\"), JSON.stringify(ontologyInfo.filteredFullMetadata, null, 2), \"utf-8\");\n return;\n }\n const packagePath = customNormalize(join(options.outputDir, options.packageName));\n const resolvedPeerDependencies = await resolveDependenciesFromFindUp(betaPeerDependencies, dirname(fileURLToPath(import.meta.url)));\n await mkdir(packagePath, {\n recursive: true\n });\n const inMemoryFileSystem = {};\n const hostFs = {\n writeFile: async (path, contents) => {\n inMemoryFileSystem[customNormalize(path)] = contents;\n },\n mkdir: async (path, _options) => {\n await mkdir(customNormalize(path), {\n recursive: true\n });\n },\n readdir: path => readdir(path)\n };\n await generateClientSdkVersionTwoPointZero(ontologyInfo.filteredFullMetadata, `typescript-sdk/${options.packageVersion} ${USER_AGENT}`, hostFs, packagePath, \"module\", ontologyInfo.externalObjects, ontologyInfo.externalInterfaces);\n\n // actually write file plus save contents\n const contents = await generatePackageJson({\n packageName: options.packageName,\n packagePath,\n packageVersion: options.packageVersion,\n dependencies: [],\n peerDependencies: resolvedPeerDependencies,\n beta: options.beta\n });\n const compilerOutput = {};\n for (const type of [\"esm\", \"cjs\"]) {\n // writes to in memory fs that the compiler will read from\n await hostFs.writeFile(join(packagePath, \"package.json\"), JSON.stringify({\n ...contents,\n type: type === \"cjs\" ? \"commonjs\" : \"module\"\n }));\n compilerOutput[type] = compileInMemory(inMemoryFileSystem, type);\n compilerOutput[type].diagnostics.forEach(d => {\n consola.error(`Error compiling file`, d.file?.fileName, d.messageText);\n success = false;\n });\n await mkdir(join(packagePath, \"dist\", \"bundle\"), {\n recursive: true\n });\n await mkdir(join(packagePath, \"esm\"), {\n recursive: true\n });\n await mkdir(join(packagePath, \"cjs\"), {\n recursive: true\n });\n for (const [path, contents] of Object.entries(compilerOutput[type].files)) {\n const newPath = path.replace(packagePath, join(packagePath, type));\n await mkdir(dirname(newPath), {\n recursive: true\n });\n await writeFile(newPath, contents, {\n flag: \"w\"\n });\n }\n void (await writeFile(join(packagePath, type, \"package.json\"), JSON.stringify({\n type: type === \"esm\" ? \"module\" : \"commonjs\"\n })));\n }\n await mkdir(join(packagePath, \"dist\", \"bundle\"), {\n recursive: true\n });\n const {\n findUp\n } = await import(\"find-up\");\n const nodeModulesPath = await findUp(\"node_modules\", {\n cwd: dirname(fileURLToPath(import.meta.url)),\n type: \"directory\"\n });\n let bundleDts = \"\";\n if (nodeModulesPath) {\n try {\n bundleDts = await bundleDependencies([], options.packageName, compilerOutput[\"esm\"].files, undefined);\n } catch (e) {\n consola.error(\"Failed bundling DTS\", e);\n success = false;\n }\n } else {\n consola.error(\"Could not find node_modules directory, skipping DTS bundling\");\n success = false;\n }\n await writeFile(join(packagePath, \"dist\", \"bundle\", \"index.d.mts\"), bundleDts, {\n flag: \"w\"\n });\n const absolutePackagePath = isAbsolute(options.outputDir) ? options.outputDir : join(process.cwd(), options.outputDir);\n try {\n await generateBundles(absolutePackagePath, options.packageName);\n } catch (e) {\n consola.error(e);\n success = false;\n }\n if (!success) {\n throw new Error(\"Failed to generate package\");\n }\n}\nexport function customNormalize(pathName) {\n return normalize(pathName.replace(/\\\\/g, \"/\"));\n}","/*\n * Copyright 2023 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\nexport function transformArrayArg(arg) {\n if (arg && arg.length > 0) {\n if (arg[0] === undefined) {\n return undefined;\n }\n }\n return arg;\n}","/*\n * Copyright 2023 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 { exit } from \"process\";\nimport { OntologyMetadataResolver } from \"../ontologyMetadata/index.js\";\nimport { isValidSemver } from \"../utils/index.js\";\nimport { generatePackage } from \"./betaClient/generatePackage.js\";\nimport { transformArrayArg } from \"./commandUtils.js\";\nexport class GeneratePackageCommand {\n command = \"generatePackage\";\n describe = \"Generates a new npm package which can be published\";\n constructor() {}\n builder(args) {\n return args.positional(\"authToken\", {\n type: \"string\",\n demandOption: true\n }).positional(\"foundryHostname\", {\n type: \"string\",\n demandOption: true\n }).positional(\"packageName\", {\n type: \"string\",\n demandOption: true,\n description: \"The name of the package to generate\"\n }).positional(\"packageVersion\", {\n type: \"string\",\n demandOption: true,\n description: \"The version of the package to generate\"\n }).positional(\"outputDir\", {\n type: \"string\",\n demandOption: true,\n description: \"The path where the package with the provided package name will be generated\"\n }).positional(\"ontology\", {\n type: \"string\",\n demandOption: true,\n description: `The ontology rid or ontology API name of the ontology to generate. Example Usage: --ontology palantirOntology`,\n default: \"ri.ontology.main.ontology.00000000-0000-0000-0000-000000000000\"\n }).options(\"objectTypes\", {\n array: true,\n string: true,\n demandOption: false,\n description: `The API names of the object types to generate. Example Usage: --objectTypes Aircraft Airport`,\n default: undefined,\n defaultDescription: `By default, no arguments will not load any object type.`\n }).options(\"actionTypes\", {\n array: true,\n string: true,\n demandOption: false,\n description: `The API names of the action types to generate. Example Usage: --actionTypes schedule-airplane-maintenance`,\n default: undefined,\n defaultDescription: `By default, no arguments will not load any action type.`\n }).options(\"linkTypes\", {\n array: true,\n string: true,\n demandOption: false,\n description: `The link types to generate in the format of ObjectTypeApiName.LinkTypeApiName. Example Usage: --linkTypes Aircraft.scheduledFlight`,\n default: undefined,\n defaultDescription: `By default, no arguments will not load any link type.`\n }).options(\"queryTypes\", {\n array: true,\n string: true,\n demandOption: false,\n description: `The API Names of the query types to generate. Example Usage: --queryTypes calculateMetric`,\n default: undefined,\n defaultDescription: `By default, no arguments will not load any query type.`\n }).options(\"interfaceTypes\", {\n array: true,\n string: true,\n demandOption: false,\n description: `The API Names of the interface types to generate. Example Usage: --interfaceTypes Geolocatable`,\n default: undefined,\n defaultDescription: `By default, no arguments will not load any interface type.`\n }).options(\"experimentalFeatures\", {\n array: true,\n string: true,\n demandOption: false,\n description: `Experimental features that can be modified or removed at any time. Example Usage: --experimentalFeatures realtimeUpdates`,\n default: undefined,\n defaultDescription: `By default, no arguments will not enable any experimental features.`\n }).options(\"beta\", {\n boolean: true,\n demandOption: false,\n hidden: true,\n default: false\n }).options(\"sdkPackages\", {\n array: true,\n string: true,\n // experimental for now\n hidden: true,\n coerce: arg => {\n return new Map(arg.map(sdkPackage => sdkPackage.split(\"=\", 2)));\n }\n }).strict();\n }\n handler = async args => {\n const {\n consola\n } = await import(\"consola\");\n consola.start(`Generating OSDK: ${args.packageName} at version: ${args.packageVersion}`);\n const ontologyRid = args.ontology;\n const ontologyMetadataResolver = new OntologyMetadataResolver(args.authToken, args.foundryHostname);\n if (!isValidSemver(args.packageVersion)) {\n consola.error(new Error(`Invalid argument provided for packageVersion: ${args.packageVersion}, expected valid semver`));\n exit(1);\n }\n const packageInfo = await ontologyMetadataResolver.getInfoForPackages(args.sdkPackages ?? new Map());\n const timeStart = Date.now();\n const wireOntologyDefinition = await ontologyMetadataResolver.getWireOntologyDefinition(ontologyRid, {\n objectTypesApiNamesToLoad: transformArrayArg(args.objectTypes),\n actionTypesApiNamesToLoad: transformArrayArg(args.actionTypes),\n queryTypesApiNamesToLoad: transformArrayArg(args.queryTypes),\n interfaceTypesApiNamesToLoad: transformArrayArg(args.interfaceTypes),\n linkTypesApiNamesToLoad: transformArrayArg(args.linkTypes)\n }, packageInfo);\n if (wireOntologyDefinition.isErr()) {\n wireOntologyDefinition.error.forEach(err => {\n consola.error(err);\n });\n consola.error(\"Failed generating package\");\n exit(1);\n }\n await generatePackage(wireOntologyDefinition.value, {\n packageName: args.packageName,\n packageVersion: args.packageVersion,\n outputDir: args.outputDir,\n beta: !!args.beta,\n ontologyJsonOnly: args.experimentalFeatures?.includes(\"ontologyJsonOnly\") ?? false\n });\n const elapsedTime = Date.now() - timeStart;\n consola.success(`Finished generating package in ${(elapsedTime / 1000).toFixed(2)}s`);\n return;\n };\n}","/*\n * Copyright 2023 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 yargs from \"yargs\";\nimport { hideBin } from \"yargs/helpers\";\nimport { GeneratePackageCommand } from \"../generate/index.js\";\nexport async function cli(args = process.argv) {\n const base = yargs(hideBin(args)).command(new GeneratePackageCommand()).demandCommand().recommendCommands().strict().showHelpOnFail(true).help().version(process.env.npm_package_version);\n try {\n return await base.parseAsync();\n } catch (e) {\n // eslint-disable-next-line no-console\n console.log(e);\n }\n}"]}
1
+ {"version":3,"sources":["../../../../node_modules/.pnpm/tsup@8.4.0_@microsoft+api-extractor@7.52.7_@types+node@18.19.97__@swc+core@1.7.39_jiti@2.4.2__2dta44cza7xfoposuc4x3z55ly/node_modules/tsup/assets/esm_shims.js","../../../../node_modules/.pnpm/conjure-lite@0.4.4/node_modules/conjure-lite/dist/index.mjs","../../../client.unstable.tpsa/build/esm/index.js","../../src/ontologyMetadata/Result.ts","../../src/ontologyMetadata/ontologyMetadataResolver.ts","../../src/utils/semverUtils.ts","../../../generator-utils/build/esm/changeVersionPrefix.js","../../../../node_modules/.pnpm/tiny-invariant@1.3.3/node_modules/tiny-invariant/dist/esm/tiny-invariant.js","../../../generator-utils/build/esm/getDependencyVersionFromFindUpPackageJson.js","../../../generator-utils/build/esm/resolveDependenciesFromFindUp.js","../../src/utils/UserAgent.ts","../../src/generate/generateBundles.ts","../../src/generate/betaClient/getModuleSourceFile.ts","../../src/generate/betaClient/copyFiles.ts","../../src/generate/betaClient/bundleDependencies.ts","../../src/generate/betaClient/compileInMemory.ts","../../src/generate/betaClient/generatePackageJson.ts","../../src/generate/betaClient/generatePackage.ts","../../src/generate/commandUtils.ts","../../src/generate/GeneratePackageCommand.ts","../../src/cli/foundrySdkGeneratorCli.ts"],"names":["fileURLToPath","ot","it","prefix","join","writeFile","path","contents"],"mappings":"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","file":"index.js","sourcesContent":["// Shim globals in esm bundle\nimport { fileURLToPath } from 'url';\nimport path from 'path';\nconst getFilename = () => fileURLToPath(import.meta.url);\nconst getDirname = () => path.dirname(getFilename());\nexport const __dirname = /* @__PURE__ */getDirname();\nexport const __filename = /* @__PURE__ */getFilename();","async function conjureFetch({\n fetchFn,\n baseUrl,\n servicePath,\n tokenProvider\n}, url, method, body, params, contentType, accept) {\n if (body) {\n if (body instanceof URLSearchParams || body instanceof Blob || body instanceof FormData || typeof body === \"string\" || body instanceof ArrayBuffer) ;else {\n body = JSON.stringify(body);\n }\n }\n const queryParams = Object.entries(params ?? {}).flatMap(([key, value]) => {\n if (value == null) {\n return [];\n }\n if (Array.isArray(value)) {\n return value.map(item => [key, item]);\n }\n const stringValue = \"\" + value;\n return stringValue.length === 0 ? [] : [[key, stringValue]];\n });\n const query = Object.keys(queryParams).length === 0 ? \"\" : `?${new URLSearchParams(queryParams).toString()}`;\n const response = await (fetchFn ?? fetch)(`${baseUrl}${servicePath}${url}${query}`, {\n method,\n credentials: \"same-origin\",\n headers: {\n \"Fetch-User-Agent\": \"conjure-lite\",\n \"Content-Type\": contentType ?? \"application/json\",\n accept: accept ?? \"application/json\",\n ...(tokenProvider ? {\n \"Authorization\": `Bearer ${await tokenProvider()}`\n } : {})\n },\n ...(body ? {\n body\n } : {})\n });\n try {\n if (response.status === 204) {\n return void 0;\n }\n const body2 = await readBody(response);\n if (!response.ok) {\n throw new ConjureError(\"STATUS\", void 0, response.status, body2);\n }\n return body2;\n } catch (error) {\n if (error instanceof ConjureError) {\n throw error;\n } else if (error instanceof TypeError) {\n throw new ConjureError(\"NETWORK\", error);\n } else {\n throw new ConjureError(\"OTHER\", error);\n }\n }\n}\nasync function readBody(response) {\n const contentType = response.headers.get(\"Content-Type\") != null ? response.headers.get(\"Content-Type\") : \"\";\n try {\n if (contentType.includes(\"application/json\")) {\n return await response.json();\n } else if (contentType.includes(\"application/octet-stream\")) {\n return await response.blob();\n } else {\n return await response.text();\n }\n } catch (error) {\n throw new ConjureError(\"PARSE\", error, response.status);\n }\n}\nclass ConjureError {\n type;\n originalError;\n status;\n body;\n constructor(errorType, originalError, status, body) {\n this.type = errorType;\n this.originalError = originalError;\n this.status = status;\n this.body = body;\n }\n toString() {\n return JSON.stringify({\n body: this.body,\n originalError: this.originalError && this.originalError.toString(),\n status: this.status,\n type: this.type\n }, null, \" \");\n }\n}\nexport { conjureFetch };","import { conjureFetch } from 'conjure-lite';\n\n// src/generated/third-party-application-service/SdkService/getSdk.ts\nasync function getSdk(ctx, repositoryRid, packageName, sdkVersion) {\n return conjureFetch(ctx, `/sdks/${repositoryRid}/${packageName}/${sdkVersion}`, \"GET\");\n}\nasync function getSdkPackage(ctx, sdkPackageRid) {\n return conjureFetch(ctx, `/sdks/packages/${sdkPackageRid}`, \"GET\");\n}\nexport { getSdk, getSdkPackage };","/*\n * Copyright 2023 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/**\n * Use Result.ok() / Result.err() for constructing\n */\n\nexport class Ok {\n constructor(value) {\n this.value = value;\n }\n isErr() {\n return false;\n }\n isOk() {\n return true;\n }\n transform(transformOk, _transformErr) {\n return transformOk(this.value);\n }\n map(transformOk) {\n return Result.ok(transformOk(this.value));\n }\n mapErr(_transformErr) {\n return Result.ok(this.value);\n }\n}\nexport class Err {\n constructor(error) {\n this.error = error;\n }\n isErr() {\n return true;\n }\n isOk() {\n return false;\n }\n transform(_transformOk, transformErr) {\n return transformErr(this.error);\n }\n map(_transformOk) {\n return Result.err(this.error);\n }\n mapErr(transformErr) {\n return Result.err(transformErr(this.error));\n }\n}\nexport const Result = {\n ok(ok) {\n return new Ok(ok);\n },\n err(err) {\n return new Err(err);\n },\n /**\n * Returns err E array if any result has an error.\n * Returns T array if all results are ok.\n */\n coalesce(results) {\n return results.reduce((acc, value) => {\n return value.transform(ok => {\n return acc.transform(accOk => {\n return Result.ok([...accOk, ok]);\n }, accErr => {\n return Result.err(accErr);\n });\n }, err => {\n return acc.transform(() => {\n return Result.err([...err]);\n }, accErr => {\n return Result.err([...accErr, ...err]);\n });\n });\n }, Result.ok([]));\n }\n};","/*\n * Copyright 2023 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 { getSdk, getSdkPackage } from \"@osdk/client.unstable.tpsa\";\nimport { createSharedClientContext } from \"@osdk/shared.client.impl\";\nimport { Result } from \"./Result.js\";\nexport class OntologyMetadataResolver {\n #authToken;\n constructor(authToken, stackName) {\n this.stackName = stackName;\n this.#authToken = authToken;\n }\n getClientContext() {\n return createSharedClientContext(this.stackName.match(/^https?:\\/\\//) ? this.stackName : `https://${this.stackName}`, () => Promise.resolve(this.#authToken), `foundry-typescript-osdk-generator/${process.env.npm_package_version}`);\n }\n filterMetadataByApiName(ontologyFullMetadata, expectedEntities, pkgInfo) {\n const filteredObjectTypes = Object.fromEntries(Object.entries(ontologyFullMetadata.objectTypes).filter(([, {\n objectType\n }]) => {\n for (const {\n sdk: {\n inputs: {\n dataScope\n }\n }\n } of pkgInfo.values()) {\n for (const objectTypeRid of dataScope.ontologyV2.objectTypes) {\n if (objectTypeRid === objectType.rid) {\n return true;\n }\n }\n }\n return expectedEntities.objectTypes.has(objectType.apiName);\n }));\n const filteredInterfaceTypes = Object.fromEntries(Object.entries(ontologyFullMetadata.interfaceTypes).filter(([interfaceApiName]) => expectedEntities.interfaceTypes.has(interfaceApiName)));\n Object.values(filteredObjectTypes).forEach(objectType => {\n const linkTypesToKeep = expectedEntities.linkTypes.get(objectType.objectType.apiName);\n if (!linkTypesToKeep) {\n objectType.linkTypes = [];\n return;\n }\n objectType.linkTypes = objectType.linkTypes.filter(linkType => linkTypesToKeep.has(linkType.apiName));\n });\n const filteredActionTypes = Object.fromEntries(Object.entries(ontologyFullMetadata.actionTypes).filter(([actionApiName]) => {\n if (expectedEntities.actionTypes.has(actionApiName)) {\n return true;\n }\n return false;\n }));\n const filteredQueryTypes = Object.fromEntries(Object.entries(ontologyFullMetadata.queryTypes).filter(([queryApiName]) => expectedEntities.queryTypes.has(queryApiName)));\n return {\n ontology: ontologyFullMetadata.ontology,\n objectTypes: filteredObjectTypes,\n actionTypes: filteredActionTypes,\n queryTypes: filteredQueryTypes,\n interfaceTypes: filteredInterfaceTypes,\n sharedPropertyTypes: {}\n };\n }\n async getInfoForPackages(pkgs) {\n const conjureCtx = {\n baseUrl: `https://${this.stackName}`,\n servicePath: \"/third-party-application-service/api\",\n tokenProvider: () => Promise.resolve(this.#authToken)\n };\n const ret = new Map();\n for (const [packageRid, packageVersion] of pkgs) {\n const sdkPackage = await getSdkPackage(conjureCtx, packageRid);\n const sdk = await getSdk(conjureCtx, sdkPackage.repositoryRid, sdkPackage.packageName, packageVersion);\n ret.set(packageRid, {\n sdkPackage,\n sdk,\n packageVersion\n });\n }\n return ret;\n }\n async getWireOntologyDefinition(ontologyRid, entities, extPackageInfo = new Map()) {\n let ontology;\n const {\n OntologiesV2\n } = await import(\"@osdk/foundry.ontologies\");\n try {\n ontology = await OntologiesV2.get(this.getClientContext(), ontologyRid);\n } catch (e) {\n return Result.err([`Unable to load the specified Ontology with network error: ${JSON.stringify(e)}`]);\n }\n\n // If we're passing in an external SDK package, we need to load the full metadata. As a result, we cannot use query\n // version pinning. This codepath should be merged with the `loadMetadata` codepath when we have the ability to load\n // objects and interfaces by RID.\n if (extPackageInfo.size > 0) {\n const ontologyFullMetadata = await OntologiesV2.getFullMetadata(this.getClientContext(), ontology.rid);\n if (ontologyFullMetadata.errorName != null) {\n return Result.err([`Unable to load the specified Ontology metadata.\\n${JSON.stringify(ontologyFullMetadata, null, 2)}`]);\n }\n const externalObjects = new Map();\n const externalInterfaces = new Map();\n for (const {\n sdk\n } of extPackageInfo.values()) {\n if (sdk.npm?.npmPackageName == null) {\n throw new Error(\"External package is not generated as an npm package\");\n }\n const dataScope = sdk.inputs.dataScope.ontologyV2;\n for (const rid of dataScope.objectTypes) {\n const ot = Object.values(ontologyFullMetadata.objectTypes).find(ot => ot.objectType.rid === rid);\n if (!ot) {\n throw new Error(`Could not find external object type with rid ${rid}`);\n }\n externalObjects.set(ot.objectType.apiName, sdk.npm.npmPackageName);\n }\n for (const rid of dataScope.interfaceTypes) {\n const it = Object.values(ontologyFullMetadata.interfaceTypes).find(it => it.rid === rid);\n if (!it) {\n throw new Error(`Could not find external interface type with rid ${rid}`);\n }\n externalInterfaces.set(it.apiName, sdk.npm.npmPackageName);\n }\n }\n const linkTypes = new Map();\n const objectTypes = new Set(entities.objectTypesApiNamesToLoad);\n const queryTypes = new Set(entities.queryTypesApiNamesToLoad);\n for (const queryType of entities.queryTypesApiNamesToLoad ?? []) {\n if (queryType.includes(\":\")) {\n throw new Error(`Query types with fixed versions are not supported with external packages: ${queryType}`);\n }\n }\n const actionTypes = new Set(entities.actionTypesApiNamesToLoad);\n const interfaceTypes = new Set(entities.interfaceTypesApiNamesToLoad);\n for (const linkType of entities.linkTypesApiNamesToLoad ?? []) {\n const [objectTypeApiName, linkTypeApiName] = linkType.split(\".\");\n if (!linkTypes.has(objectTypeApiName)) {\n linkTypes.set(objectTypeApiName, new Set());\n }\n linkTypes.get(objectTypeApiName)?.add(linkTypeApiName);\n }\n const filteredFullMetadata = this.filterMetadataByApiName(ontologyFullMetadata, {\n objectTypes,\n linkTypes,\n actionTypes,\n queryTypes,\n interfaceTypes\n }, extPackageInfo);\n const validData = this.validateLoadedOntologyMetadata(filteredFullMetadata, {\n objectTypes,\n linkTypes,\n actionTypes,\n queryTypes,\n interfaceTypes\n }, extPackageInfo, ontologyFullMetadata);\n if (validData.isErr()) {\n return Result.err(validData.error);\n }\n return Result.ok({\n requestedMetadata: filteredFullMetadata,\n externalInterfaces,\n externalObjects,\n fixedVersionQueryTypes: []\n });\n } else {\n const objectTypes = new Set(entities.objectTypesApiNamesToLoad);\n const interfaceTypes = new Set(entities.interfaceTypesApiNamesToLoad);\n const actionTypes = new Set(entities.actionTypesApiNamesToLoad);\n const linkTypes = new Map();\n for (const linkType of entities.linkTypesApiNamesToLoad ?? []) {\n const [objectTypeApiName, linkTypeApiName] = linkType.split(\".\");\n if (!linkTypes.has(objectTypeApiName)) {\n linkTypes.set(objectTypeApiName, new Set());\n }\n linkTypes.get(objectTypeApiName)?.add(linkTypeApiName);\n }\n const queryTypes = new Set();\n const fixedVersionQueryTypes = [];\n for (const queryType of entities.queryTypesApiNamesToLoad ?? []) {\n if (queryTypes.has(queryType)) {\n return Result.err([`Query type ${queryType} was specified multiple times.`]);\n }\n const lastColonIndex = queryType.lastIndexOf(\":\");\n if (lastColonIndex !== -1) {\n const queryTypeApiName = queryType.substring(0, lastColonIndex);\n fixedVersionQueryTypes.push(queryTypeApiName);\n }\n queryTypes.add(queryType);\n }\n const requestedMetadata = await OntologiesV2.loadMetadata(this.getClientContext(), ontology.rid, {\n actionTypes: [...actionTypes],\n objectTypes: [...objectTypes],\n queryTypes: [...queryTypes],\n interfaceTypes: [...interfaceTypes],\n linkTypes: Array.from(linkTypes.entries()).flatMap(([_, linkTypeApiNames]) => [...linkTypeApiNames])\n }, {\n preview: true\n });\n const validData = this.validateLoadedOntologyMetadata(requestedMetadata, {\n objectTypes,\n linkTypes,\n actionTypes,\n queryTypes,\n interfaceTypes\n }, extPackageInfo);\n if (validData.isErr()) {\n return Result.err(validData.error);\n }\n return Result.ok({\n requestedMetadata,\n externalInterfaces: new Map(),\n externalObjects: new Map(),\n fixedVersionQueryTypes\n });\n }\n }\n validateLoadedOntologyMetadata(filteredFullMetadata, expectedEntities, packageInfo, fullMetadata) {\n const errors = [];\n const loadedObjectTypes = Object.fromEntries(Object.values(filteredFullMetadata.objectTypes).map(object => [object.objectType.apiName, object]));\n const loadedLinkTypes = Object.fromEntries(Object.values(filteredFullMetadata.objectTypes).map(object => [object.objectType.apiName, Object.fromEntries(object.linkTypes.map(link => [link.apiName, link]))]));\n const loadedInterfaceTypes = Object.fromEntries(Object.values(filteredFullMetadata.interfaceTypes).map(interfaceType => [interfaceType.apiName, interfaceType]));\n const missingObjectTypes = [];\n for (const object of expectedEntities.objectTypes) {\n // Expected an object that wasn't loaded\n if (!loadedObjectTypes[object]) {\n missingObjectTypes.push(object);\n continue;\n }\n\n // Expected a link that wasn't received\n for (const expectedLink of expectedEntities.linkTypes.get(object) ?? []) {\n if (!loadedLinkTypes[object][expectedLink]) {\n errors.push(`Unable to find link type ${expectedLink} for Object Type ${object}`);\n }\n }\n for (const [, link] of Object.entries(loadedLinkTypes[object])) {\n // Loaded a link where target was not loaded\n if (!expectedEntities.objectTypes.has(link.objectTypeApiName)) {\n // is it in a package?\n const fromFull = fullMetadata?.objectTypes[link.objectTypeApiName];\n if (fromFull && hasObjectType(packageInfo, fromFull)) {\n continue;\n }\n errors.push(`Unable to load link type ${link.apiName} for ${loadedObjectTypes[object].objectType.apiName}, because the target object type ${link.objectTypeApiName} is not loaded. Please specify the target Object type with --objectTypes ${link.objectTypeApiName}`);\n }\n }\n }\n if (missingObjectTypes.length > 0) {\n errors.push(`Unable to find the following Object Types: ${missingObjectTypes.join(\", \")}`);\n }\n const missingInterfaceTypes = [];\n for (const expectedInterface of expectedEntities.interfaceTypes) {\n if (!loadedInterfaceTypes[expectedInterface]) {\n missingInterfaceTypes.push(expectedInterface);\n continue;\n }\n }\n if (missingInterfaceTypes.length > 0) {\n errors.push(`Unable to find the following Interface Types: ${missingInterfaceTypes.join(\", \")}`);\n }\n const loadedQueryTypes = Object.fromEntries(Object.entries(filteredFullMetadata.queryTypes).map(([queryApiName, query]) => [queryApiName, query]));\n\n // Validate expected queries were loaded\n const missingQueryTypes = [];\n for (const queryApiName of expectedEntities.queryTypes) {\n if (!loadedQueryTypes[queryApiName]) {\n missingQueryTypes.push(queryApiName);\n }\n }\n\n // Validate parameters and output for Queries\n for (const query of Object.values(loadedQueryTypes)) {\n const result = this.validateQueryParametersAndOutput(query, expectedEntities.objectTypes);\n if (result.isErr()) {\n for (const errorString of result.error) {\n errors.push(errorString);\n }\n }\n }\n if (missingQueryTypes.length > 0) {\n errors.push(`Unable to find the following Query Types: ${missingQueryTypes.join()}`);\n }\n const missingActionTypes = [];\n for (const actionApiName of expectedEntities.actionTypes) {\n if (!filteredFullMetadata.actionTypes[actionApiName]) {\n missingActionTypes.push(actionApiName);\n }\n }\n\n // Validate parameters for Actions\n for (const action of Object.values(filteredFullMetadata.actionTypes)) {\n const result = this.validateActionParameters(action, expectedEntities.objectTypes, expectedEntities.interfaceTypes);\n if (result.isErr()) {\n for (const errorString of result.error) {\n errors.push(errorString);\n }\n }\n }\n if (missingActionTypes.length > 0) {\n errors.push(`Unable to find the following Action Types: ${missingActionTypes.join()}`);\n }\n if (errors.length > 0) {\n return Result.err(errors);\n }\n return Result.ok({});\n }\n validateQueryParametersAndOutput(query, loadedObjectApiNames) {\n const parameterValidation = Object.entries(query.parameters).map(([paramName, paramData]) => this.visitSupportedQueryTypes(query.apiName, paramName, paramData.dataType, loadedObjectApiNames));\n parameterValidation.push(this.visitSupportedQueryTypes(query.apiName, \"output\", query.output, loadedObjectApiNames));\n const results = Result.coalesce(parameterValidation);\n return results;\n }\n validateActionParameters(actionType, loadedObjectApiNames, loadedInterfaceApiNames) {\n const parameterValidation = Object.entries(actionType.parameters).map(([_paramName, paramData]) => this.isSupportedActionTypeParameter(actionType.apiName, paramData.dataType, loadedObjectApiNames, loadedInterfaceApiNames));\n return Result.coalesce(parameterValidation);\n }\n visitSupportedQueryTypes(queryApiName, propertyName, baseType, loadedObjectApiNames) {\n switch (baseType.type) {\n case \"array\":\n case \"set\":\n return this.visitSupportedQueryTypes(queryApiName, propertyName, baseType.subType, loadedObjectApiNames);\n case \"objectSet\":\n case \"object\":\n if (loadedObjectApiNames.has(baseType.objectTypeApiName)) {\n return Result.ok({});\n }\n return Result.err([`Unable to load query ${queryApiName} because it takes an unloaded object type as a parameter: ${baseType.objectTypeApiName} in parameter ${propertyName}. ` + `Make sure to specify it as an argument with --ontologyObjects ${baseType.objectTypeApiName}.}`]);\n case \"struct\":\n const results = baseType.fields?.map(field => {\n return this.visitSupportedQueryTypes(queryApiName, propertyName, field.fieldType, loadedObjectApiNames);\n });\n if (!results) {\n return Result.ok({});\n }\n return Result.coalesce(results);\n case \"union\":\n if (baseType.unionTypes.find(unionTypes => unionTypes.type === \"null\")) {\n return Result.ok({});\n }\n return Result.err([`Unable to load query ${queryApiName} because it takes an unsupported parameter type: ${JSON.stringify(baseType)} in parameter ${propertyName}`]);\n case \"string\":\n case \"boolean\":\n case \"attachment\":\n case \"date\":\n case \"double\":\n case \"float\":\n case \"integer\":\n case \"long\":\n case \"threeDimensionalAggregation\":\n case \"timestamp\":\n case \"twoDimensionalAggregation\":\n case \"entrySet\":\n case \"null\":\n return Result.ok({});\n case \"unsupported\":\n return Result.err([`Unable to load query ${queryApiName} because it takes an unsupported parameter type: ${JSON.stringify(baseType)} in parameter ${propertyName}`]);\n default:\n const _ = baseType;\n return Result.err([`Unable to load query ${queryApiName} because it takes an unsupported parameter type: ${JSON.stringify(baseType)} in parameter ${propertyName}`]);\n }\n }\n isSupportedActionTypeParameter(actionApiName, actionTypeParameter, loadedObjectApiNames, loadedInterfaceApiNames) {\n switch (actionTypeParameter.type) {\n case \"array\":\n return this.isSupportedActionTypeParameter(actionApiName, actionTypeParameter.subType, loadedObjectApiNames, loadedInterfaceApiNames);\n case \"object\":\n if (loadedObjectApiNames.has(actionTypeParameter.objectTypeApiName)) {\n return Result.ok({});\n }\n return Result.err([`Unable to load action ${actionApiName} because it takes an unloaded object type as a parameter: ${actionTypeParameter.objectTypeApiName} ` + `make sure to specify it as an argument with --ontologyObjects ${actionTypeParameter.objectTypeApiName})`]);\n case \"objectSet\":\n if (loadedObjectApiNames.has(actionTypeParameter.objectTypeApiName)) {\n return Result.ok({});\n }\n return Result.err([`Unable to load action ${actionApiName} because it takes an ObjectSet of unloaded object type as a parameter: ${actionTypeParameter.objectTypeApiName} ` + `make sure to specify it as an argument with --ontologyObjects ${actionTypeParameter.objectTypeApiName})`]);\n case \"interfaceObject\":\n if (loadedInterfaceApiNames.has(actionTypeParameter.interfaceTypeApiName)) {\n return Result.ok({});\n }\n return Result.err([`Unable to load action ${actionApiName} because it takes an unloaded interface type as a parameter: ${actionTypeParameter.interfaceTypeApiName} ` + `make sure to specify it as an argument with --ontologyInterfaces ${actionTypeParameter.interfaceTypeApiName}`]);\n case \"string\":\n case \"boolean\":\n case \"attachment\":\n case \"date\":\n case \"double\":\n case \"integer\":\n case \"long\":\n case \"timestamp\":\n case \"struct\":\n case \"mediaReference\":\n case \"objectType\":\n case \"marking\":\n case \"geohash\":\n case \"geoshape\":\n return Result.ok({});\n case \"vector\":\n return Result.err([`Unable to load action ${actionApiName} because it takes an unsupported parameter: ${JSON.stringify(actionTypeParameter)} ` + `specify only the actions you want to load with the --actions argument.`]);\n default:\n const _ = actionTypeParameter;\n return Result.err([`Unable to load action ${actionApiName} because it takes an unsupported parameter: ${JSON.stringify(actionTypeParameter)} ` + `specify only the actions you want to load with the --actions argument.`]);\n }\n }\n}\nfunction hasObjectType(z, fromFull) {\n for (const q of z.values()) {\n const {\n objectTypes\n } = q.sdk.inputs.dataScope.ontologyV2;\n if (objectTypes.includes(fromFull.objectType.rid)) {\n return true;\n }\n }\n return false;\n}","/*\n * Copyright 2023 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// https://semver.org/#is-there-a-suggested-regular-expression-regex-to-check-a-semver-string\nconst semver = /^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$/;\nexport function isValidSemver(semverString) {\n return semver.test(semverString);\n}","/*\n * Copyright 2024 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\nexport function changeVersionPrefix(version, prefix) {\n const isWorkspaceProtocol = version.startsWith(\"workspace:\");\n if (isWorkspaceProtocol) {\n version = version.slice(\"workspace:\".length);\n }\n if (version[0] === \"^\" || version[0] === \"~\" || version[0] === \"*\") {\n version = version.slice(1);\n }\n return `${isWorkspaceProtocol ? \"workspace:\" : \"\"}${prefix}${version}`;\n}","var isProduction = process.env.NODE_ENV === 'production';\nvar prefix = 'Invariant failed';\nfunction invariant(condition, message) {\n if (condition) {\n return;\n }\n if (isProduction) {\n throw new Error(prefix);\n }\n var provided = typeof message === 'function' ? message() : message;\n var value = provided ? \"\".concat(prefix, \": \").concat(provided) : prefix;\n throw new Error(value);\n}\nexport { invariant as default };","/*\n * Copyright 2024 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 { readFile } from \"fs/promises\";\nimport invariant from \"tiny-invariant\";\nexport async function getDependencyVersionFromFindUpPackageJson(name, opts) {\n const {\n findUp\n } = await import(\"find-up\");\n const packageJsonPath = await findUp(\"package.json\", opts);\n !(packageJsonPath !== undefined) ? process.env.NODE_ENV !== \"production\" ? !false ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"Could not find package.json\") : invariant(false) : void 0 : !false ? process.env.NODE_ENV !== \"production\" ? invariant(false) : invariant(false) : void 0 : void 0;\n const packageJson = await readFile(packageJsonPath, {\n encoding: \"utf-8\"\n });\n if (!packageJson) {\n throw new Error(`Could not find package.json in current working directory: ${process.cwd()}`);\n }\n const parsedPackageJson = JSON.parse(packageJson);\n const version = parsedPackageJson.dependencies?.[name] ?? parsedPackageJson.devDependencies?.[name] ?? parsedPackageJson.peerDependencies?.[name];\n !(version !== undefined) ? process.env.NODE_ENV !== \"production\" ? !false ? process.env.NODE_ENV !== \"production\" ? invariant(false, `Could not find a dependency for ${name} in ${packageJsonPath}`) : invariant(false) : void 0 : !false ? process.env.NODE_ENV !== \"production\" ? invariant(false) : invariant(false) : void 0 : void 0;\n return version;\n}","/*\n * Copyright 2024 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 { changeVersionPrefix } from \"./changeVersionPrefix.js\";\nimport { getDependencyVersionFromFindUpPackageJson } from \"./getDependencyVersionFromFindUpPackageJson.js\";\n\n/**\n * Resolves dependencies to their versions per our package.json if undefined.\n * Sets the prefix to `^` for the version specified or read from package.json.\n * @param deps\n * @returns\n */\nexport async function resolveDependenciesFromFindUp(deps, cwd) {\n return await Promise.all(Object.entries(deps).map(async ([dependencyName, dependencyVersion]) => {\n return {\n dependencyName,\n dependencyVersion: changeVersionPrefix(dependencyVersion ?? (await getDependencyVersionFromFindUpPackageJson(dependencyName, {\n cwd\n })), \"^\")\n };\n }));\n}","/*\n * Copyright 2023 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\nexport const USER_AGENT = `typescript-sdk-generator/${process.env.PACKAGE_VERSION}`;","/*\n * Copyright 2023 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 commonjs from \"@rollup/plugin-commonjs\";\nimport { nodeResolve } from \"@rollup/plugin-node-resolve\";\nimport { rollup } from \"rollup\";\nimport nodePolyfill from \"rollup-plugin-polyfill-node\";\nasync function createRollupBuild(absolutePackagePath, packageName) {\n const inputPath = `${absolutePackagePath}/${packageName}/esm/index.js`;\n const {\n findUp\n } = await import(\"find-up\");\n const nodeModulesPath = await findUp(\"node_modules\", {\n cwd: __dirname,\n type: \"directory\"\n });\n return await rollup({\n input: inputPath,\n plugins: [nodeResolve({\n browser: true,\n modulePaths: [nodeModulesPath]\n }), (\"default\" in commonjs ? commonjs.default : commonjs)({}), (\"default\" in nodePolyfill ? nodePolyfill.default : nodePolyfill)()],\n onwarn: (warning, warn) => {\n // Ignore circular dependency warnings\n if (warning.code === \"CIRCULAR_DEPENDENCY\") {\n return;\n }\n\n // Pass through all other warnings\n warn(warning);\n }\n });\n}\nasync function writeRollupBuild(rollupBuild, absolutePackagePath, packageName, format) {\n const outputPath = `${absolutePackagePath}/${packageName}/dist/bundle/index.${format === \"cjs\" ? \"cjs\" : \"mjs\"}`;\n await Promise.all([rollupBuild.write({\n file: outputPath,\n format,\n name: packageName,\n amd: {\n id: packageName\n },\n plugins: []\n })]);\n}\nasync function generateEsmBuild(absolutePackagePath, packageName) {\n const umdBuild = await createRollupBuild(absolutePackagePath, packageName);\n await writeRollupBuild(umdBuild, absolutePackagePath, packageName, \"esm\");\n}\nexport async function generateBundles(absolutePackagePath, packageName) {\n await Promise.all([generateEsmBuild(absolutePackagePath, packageName)]);\n}","/*\n * Copyright 2023 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\nexport function getModuleSourceFile(project, node) {\n let exportSourceFile;\n try {\n exportSourceFile = project.getSourceFile(`/${node.getLiteralText()}.ts`);\n if (!exportSourceFile) {\n exportSourceFile = project.getSourceFile(`/${node.getLiteralText()}/index.ts`);\n if (!exportSourceFile) {\n return undefined;\n }\n }\n } catch (e) {\n return undefined;\n }\n return exportSourceFile;\n}\nexport function withoutTrailingIndex(filePath) {\n return filePath.endsWith(\"/index\") ? filePath.slice(0, -6) : filePath;\n}","/*\n * Copyright 2023 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 * as fs from \"node:fs\";\nimport * as path from \"node:path\";\nimport { Node } from \"ts-morph\";\nimport { withoutTrailingIndex } from \"./getModuleSourceFile.js\";\nconst KNOWN_EXTERNAL = new Set([\"geojson\"]);\nfunction removeDts(file) {\n return file.replace(/\\.d\\.c?ts$/, \"\");\n}\nexport async function copyFiles(project, dirs, generatedPackageName, generatedFiles) {\n const importSet = new Set();\n for (const [fileName, file] of Object.entries(generatedFiles)) {\n if (!fileName.endsWith(\".d.ts\") && !fileName.endsWith(\".d.cts\")) {\n continue;\n }\n const indexOfPackageName = fileName.indexOf(generatedPackageName);\n const tsPath = removeDts(fileName.slice(indexOfPackageName + generatedPackageName.length));\n const newModulePath = `${generatedPackageName}${tsPath}`;\n const sourceFile = project.createSourceFile(newModulePath, file);\n for (const importDeclaration of sourceFile.getImportDeclarations()) {\n const moduleSpecifier = importDeclaration.getModuleSpecifier();\n const newModuleSpecifier = transformModuleSpecifier(moduleSpecifier.getLiteralValue(), newModulePath);\n moduleSpecifier.setLiteralValue(newModuleSpecifier);\n if (newModuleSpecifier.startsWith(\"internal\")) {\n for (const importName of importDeclaration.getNamedImports().map(imp => imp.getName())) {\n importSet.add(importName);\n }\n }\n }\n for (const exportedDecl of sourceFile.getStatements()) {\n if (Node.isModifierable(exportedDecl)) {\n exportedDecl.toggleModifier(\"declare\", false);\n }\n }\n for (const exportDeclaration of sourceFile.getExportDeclarations()) {\n const moduleSpecifier = exportDeclaration.getModuleSpecifier();\n if (moduleSpecifier) {\n const newModuleSpecifier = transformModuleSpecifier(moduleSpecifier.getLiteralValue(), newModulePath);\n moduleSpecifier.setLiteralValue(newModuleSpecifier);\n if (newModuleSpecifier.startsWith(\"internal\")) {\n for (const exportName of exportDeclaration.getNamedExports().map(exp => exp.getName())) {\n importSet.add(exportName);\n }\n }\n }\n }\n }\n for (const dir of dirs) {\n const buildDirsToTry = [\"build/cjs\", \"build/esm\"];\n const packageName = getPackageName(dir);\n const relativeBuildDir = buildDirsToTry.find(buildDir => {\n return [\"d.ts\", \"d.cts\", \"d.mts\"].some(ext => {\n try {\n fs.statSync(path.join(dir, buildDir, `index.${ext}`));\n return true;\n } catch (e) {\n return false;\n }\n });\n });\n if (!relativeBuildDir) {\n throw new Error(\"Couldn't find the right build dir\");\n }\n for (const file of getTypeFiles(path.join(dir, relativeBuildDir))) {\n const absoluteBuildDir = path.join(dir, relativeBuildDir);\n const tsPath = removeDts(path.relative(absoluteBuildDir, file));\n const newModulePath = `internal/${packageName}/${tsPath}`;\n const fileContents = fs.readFileSync(file).toString();\n const sourceFile = project.createSourceFile(`${newModulePath}.ts`, fileContents, {\n overwrite: true\n });\n for (const importDeclaration of sourceFile.getImportDeclarations()) {\n const moduleSpecifier = importDeclaration.getModuleSpecifier();\n const newModuleSpecifier = transformModuleSpecifier(moduleSpecifier.getLiteralValue(), newModulePath);\n moduleSpecifier.setLiteralValue(newModuleSpecifier);\n }\n for (const exportedDecl of sourceFile.getStatements()) {\n if (Node.isModifierable(exportedDecl)) {\n exportedDecl.toggleModifier(\"declare\", false);\n }\n }\n for (const exportDeclaration of sourceFile.getExportDeclarations()) {\n const moduleSpecifier = exportDeclaration.getModuleSpecifier();\n if (moduleSpecifier) {\n const newModuleSpecifier = transformModuleSpecifier(moduleSpecifier.getLiteralValue(), newModulePath);\n moduleSpecifier.setLiteralValue(withoutTrailingIndex(newModuleSpecifier));\n }\n }\n }\n }\n return importSet;\n}\nfunction getPackageName(dir) {\n const pkg = fs.readFileSync(path.join(dir, \"package.json\"));\n const parsed = JSON.parse(pkg.toString());\n return parsed.name;\n}\nfunction* getTypeFiles(dir) {\n for (const item of fs.readdirSync(dir)) {\n const target = path.join(dir, item);\n // no test files\n if (target.endsWith(\".d.ts\") && !target.endsWith(\".test.d.ts\") || target.endsWith(\".d.cts\") && !target.endsWith(\".test.d.cts\")) {\n yield target;\n } else {\n const stat = fs.lstatSync(target);\n // no test directories either\n if (stat.isDirectory() && item !== \"test\") {\n yield* getTypeFiles(target);\n }\n }\n }\n}\nfunction transformModuleSpecifier(value, filePath) {\n let moduleSpecifier;\n if (value.startsWith(\"@osdk\")) {\n // package relative import\n if (value.startsWith(\"@osdk/gateway/types\")) {\n moduleSpecifier = `internal/${value.replace(\"@osdk/gateway/types\", \"@osdk/gateway/public/types\")}`;\n } else {\n moduleSpecifier = `internal/${value}`;\n }\n } else if (value.startsWith(\".\")) {\n // path relative import\n moduleSpecifier = path.join(filePath, \"..\", value);\n } else if (KNOWN_EXTERNAL.has(value)) {\n moduleSpecifier = `internal/${value}`;\n } else {\n throw new Error(\"Failed generated DTS for package, no handling for: \" + value);\n }\n return withoutTrailingIndex(withoutExtension(moduleSpecifier));\n}\nfunction withoutExtension(value) {\n return value.replace(\".js\", \"\");\n}","/*\n * Copyright 2023 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 { Project } from \"ts-morph\";\nimport { copyFiles } from \"./copyFiles.js\";\nimport { withoutTrailingIndex } from \"./getModuleSourceFile.js\";\nimport { ProjectMinifier } from \"./minifyBundle.js\";\nexport async function bundleDependencies(dirs, generatedPackageName, generatedFiles, entry) {\n const project = new Project({\n useInMemoryFileSystem: true,\n compilerOptions: {\n declaration: true,\n emitDeclarationOnly: true,\n outFile: \"dist/bundle/index.d.ts\"\n }\n });\n const importSet = await copyFiles(project, dirs, generatedPackageName, generatedFiles);\n if (entry) {\n const projectMinifier = new ProjectMinifier(project, importSet, entry);\n projectMinifier.minifyProject();\n }\n return outputModule(project);\n}\nexport function outputModule(project) {\n const modules = [];\n project.getSourceFiles().forEach(sourceFile => {\n const lines = sourceFile.getText().split(\"\\n\");\n while (lines.length > 0 && lines[lines.length - 1] === \"\") {\n lines.pop();\n }\n\n // skip empty modules\n if (lines.length === 0) {\n return;\n }\n const module = [];\n module.push(`/** ${sourceFile.getFilePath()} **/`);\n module.push(`declare module \"${withoutTrailingIndex(sourceFile.getFilePath().replace(\".ts\", \"\").replace(\"/\", \"\"))}\" {`);\n for (const line of lines) {\n const trimmed = line.trim();\n if (trimmed.length === 0) {\n continue;\n }\n module.push(`\\t${line}`);\n }\n module.push(`}`);\n modules.push(module.join(\"\\n\"));\n });\n return modules.join(\"\\n\");\n}","/*\n * Copyright 2023 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 { createCompilerHost, createProgram, createSourceFile, ModuleKind, ScriptTarget } from \"typescript\";\nexport function compileInMemory(files, type) {\n const inMemoryOutputFileSystem = {};\n const compilerOptions = {\n module: type === \"cjs\" ? ModuleKind.CommonJS : ModuleKind.ES2022,\n target: ScriptTarget.ES2020,\n resolvePackageJsonExports: true,\n declaration: true,\n skipLibCheck: true\n };\n const compilerHost = createCompilerHost(compilerOptions);\n compilerHost.writeFile = (fileName, data) => {\n inMemoryOutputFileSystem[fileName] = data;\n };\n const originalSourceFile = compilerHost.getSourceFile;\n compilerHost.getSourceFile = (fileName, languageVersion) => {\n const sourceText = files[fileName];\n return sourceText !== undefined ? createSourceFile(fileName, sourceText, languageVersion) : originalSourceFile(fileName, languageVersion);\n };\n const program = createProgram(Object.keys(files), compilerOptions, compilerHost);\n const emitOutput = program.emit();\n return {\n files: inMemoryOutputFileSystem,\n diagnostics: emitOutput.diagnostics\n };\n}","/*\n * Copyright 2023 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 { writeFile } from \"fs/promises\";\nimport { join } from \"path\";\nexport async function generatePackageJson(options) {\n const packageDeps = constructDependencies(options.dependencies);\n const packagePeerDeps = constructDependencies(options.peerDependencies);\n\n // Note that any \"default\" conditions _must_ be last in their block otherwise it will crash at runtime\n const packageJson = {\n name: options.packageName,\n version: options.packageVersion,\n main: \"./cjs/index.js\",\n types: \"./cjs/index.d.ts\",\n exports: {\n \".\": {\n script: {\n types: \"./dist/bundle/index.d.mts\",\n default: \"./dist/bundle/index.mjs\"\n },\n require: {\n types: \"./cjs/index.d.ts\",\n default: \"./cjs/index.js\"\n },\n import: {\n types: \"./esm/index.d.ts\",\n default: \"./esm/index.js\"\n },\n types: \"./cjs/index.d.ts\",\n default: \"./cjs/index.js\"\n }\n },\n dependencies: packageDeps,\n peerDependencies: packagePeerDeps,\n type: \"commonjs\"\n };\n await writeFile(join(options.packagePath, \"package.json\"), JSON.stringify(packageJson, undefined, 4));\n return packageJson;\n}\nfunction constructDependencies(dependencies) {\n return dependencies?.reduce((acc, value) => {\n acc[value.dependencyName] = value.dependencyVersion;\n return acc;\n }, {});\n}","/*\n * Copyright 2023 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 { generateClientSdkVersionTwoPointZero } from \"@osdk/generator\";\nimport { resolveDependenciesFromFindUp } from \"@osdk/generator-utils\";\nimport { mkdir, readdir, writeFile } from \"fs/promises\";\nimport path from \"node:path\";\nimport { normalize } from \"node:path/posix\";\nimport { fileURLToPath } from \"node:url\";\nimport { dirname, isAbsolute, join } from \"path\";\nimport { USER_AGENT } from \"../../utils/UserAgent.js\";\nimport { generateBundles } from \"../generateBundles.js\";\nimport { bundleDependencies } from \"./bundleDependencies.js\";\nimport { compileInMemory } from \"./compileInMemory.js\";\nimport { generatePackageJson } from \"./generatePackageJson.js\";\nconst betaPeerDependencies = {\n \"@osdk/client\": undefined\n};\nexport async function generatePackage(ontologyInfo, options) {\n const {\n consola\n } = await import(\"consola\");\n let success = true;\n if (options.ontologyJsonOnly) {\n await mkdir(options.outputDir, {\n recursive: true\n });\n await writeFile(path.join(options.outputDir, \"ontology.json\"), JSON.stringify(ontologyInfo.requestedMetadata, null, 2), \"utf-8\");\n return;\n }\n const packagePath = customNormalize(join(options.outputDir, options.packageName));\n const resolvedPeerDependencies = await resolveDependenciesFromFindUp(betaPeerDependencies, dirname(fileURLToPath(import.meta.url)));\n await mkdir(packagePath, {\n recursive: true\n });\n const inMemoryFileSystem = {};\n const hostFs = {\n writeFile: async (path, contents) => {\n inMemoryFileSystem[customNormalize(path)] = contents;\n },\n mkdir: async (path, _options) => {\n await mkdir(customNormalize(path), {\n recursive: true\n });\n },\n readdir: path => readdir(path)\n };\n await generateClientSdkVersionTwoPointZero(ontologyInfo.requestedMetadata, `typescript-sdk/${options.packageVersion} ${USER_AGENT}`, hostFs, packagePath, \"module\", ontologyInfo.externalObjects, ontologyInfo.externalInterfaces, new Map(), false, ontologyInfo.fixedVersionQueryTypes);\n\n // actually write file plus save contents\n const contents = await generatePackageJson({\n packageName: options.packageName,\n packagePath,\n packageVersion: options.packageVersion,\n dependencies: [],\n peerDependencies: resolvedPeerDependencies,\n beta: options.beta\n });\n const compilerOutput = {};\n for (const type of [\"esm\", \"cjs\"]) {\n // writes to in memory fs that the compiler will read from\n await hostFs.writeFile(join(packagePath, \"package.json\"), JSON.stringify({\n ...contents,\n type: type === \"cjs\" ? \"commonjs\" : \"module\"\n }));\n compilerOutput[type] = compileInMemory(inMemoryFileSystem, type);\n compilerOutput[type].diagnostics.forEach(d => {\n consola.error(`Error compiling file`, d.file?.fileName, d.messageText);\n success = false;\n });\n await mkdir(join(packagePath, \"dist\", \"bundle\"), {\n recursive: true\n });\n await mkdir(join(packagePath, \"esm\"), {\n recursive: true\n });\n await mkdir(join(packagePath, \"cjs\"), {\n recursive: true\n });\n for (const [path, contents] of Object.entries(compilerOutput[type].files)) {\n const newPath = path.replace(packagePath, join(packagePath, type));\n await mkdir(dirname(newPath), {\n recursive: true\n });\n await writeFile(newPath, contents, {\n flag: \"w\"\n });\n }\n void (await writeFile(join(packagePath, type, \"package.json\"), JSON.stringify({\n type: type === \"esm\" ? \"module\" : \"commonjs\"\n })));\n }\n await mkdir(join(packagePath, \"dist\", \"bundle\"), {\n recursive: true\n });\n const {\n findUp\n } = await import(\"find-up\");\n const nodeModulesPath = await findUp(\"node_modules\", {\n cwd: dirname(fileURLToPath(import.meta.url)),\n type: \"directory\"\n });\n let bundleDts = \"\";\n if (nodeModulesPath) {\n try {\n bundleDts = await bundleDependencies([], options.packageName, compilerOutput[\"esm\"].files, undefined);\n } catch (e) {\n consola.error(\"Failed bundling DTS\", e);\n success = false;\n }\n } else {\n consola.error(\"Could not find node_modules directory, skipping DTS bundling\");\n success = false;\n }\n await writeFile(join(packagePath, \"dist\", \"bundle\", \"index.d.mts\"), bundleDts, {\n flag: \"w\"\n });\n const absolutePackagePath = isAbsolute(options.outputDir) ? options.outputDir : join(process.cwd(), options.outputDir);\n try {\n await generateBundles(absolutePackagePath, options.packageName);\n } catch (e) {\n consola.error(e);\n success = false;\n }\n if (!success) {\n throw new Error(\"Failed to generate package\");\n }\n}\nexport function customNormalize(pathName) {\n return normalize(pathName.replace(/\\\\/g, \"/\"));\n}","/*\n * Copyright 2023 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\nexport function transformArrayArg(arg) {\n if (arg && arg.length > 0) {\n if (arg[0] === undefined) {\n return undefined;\n }\n }\n return arg;\n}","/*\n * Copyright 2023 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 { exit } from \"process\";\nimport { OntologyMetadataResolver } from \"../ontologyMetadata/index.js\";\nimport { isValidSemver } from \"../utils/index.js\";\nimport { generatePackage } from \"./betaClient/generatePackage.js\";\nimport { transformArrayArg } from \"./commandUtils.js\";\nexport class GeneratePackageCommand {\n command = \"generatePackage\";\n describe = \"Generates a new npm package which can be published\";\n constructor() {}\n builder(args) {\n return args.positional(\"authToken\", {\n type: \"string\",\n demandOption: true\n }).positional(\"foundryHostname\", {\n type: \"string\",\n demandOption: true\n }).positional(\"packageName\", {\n type: \"string\",\n demandOption: true,\n description: \"The name of the package to generate\"\n }).positional(\"packageVersion\", {\n type: \"string\",\n demandOption: true,\n description: \"The version of the package to generate\"\n }).positional(\"outputDir\", {\n type: \"string\",\n demandOption: true,\n description: \"The path where the package with the provided package name will be generated\"\n }).positional(\"ontology\", {\n type: \"string\",\n demandOption: true,\n description: `The ontology rid or ontology API name of the ontology to generate. Example Usage: --ontology palantirOntology`,\n default: \"ri.ontology.main.ontology.00000000-0000-0000-0000-000000000000\"\n }).options(\"objectTypes\", {\n array: true,\n string: true,\n demandOption: false,\n description: `The API names of the object types to generate. Example Usage: --objectTypes Aircraft Airport`,\n default: undefined,\n defaultDescription: `By default, no arguments will not load any object type.`\n }).options(\"actionTypes\", {\n array: true,\n string: true,\n demandOption: false,\n description: `The API names of the action types to generate. Example Usage: --actionTypes schedule-airplane-maintenance`,\n default: undefined,\n defaultDescription: `By default, no arguments will not load any action type.`\n }).options(\"linkTypes\", {\n array: true,\n string: true,\n demandOption: false,\n description: `The link types to generate in the format of ObjectTypeApiName.LinkTypeApiName. Example Usage: --linkTypes Aircraft.scheduledFlight`,\n default: undefined,\n defaultDescription: `By default, no arguments will not load any link type.`\n }).options(\"queryTypes\", {\n array: true,\n string: true,\n demandOption: false,\n description: `The API Names of the query types to generate. Example Usage: --queryTypes calculateMetric`,\n default: undefined,\n defaultDescription: `By default, no arguments will not load any query type.`\n }).options(\"interfaceTypes\", {\n array: true,\n string: true,\n demandOption: false,\n description: `The API Names of the interface types to generate. Example Usage: --interfaceTypes Geolocatable`,\n default: undefined,\n defaultDescription: `By default, no arguments will not load any interface type.`\n }).options(\"experimentalFeatures\", {\n array: true,\n string: true,\n demandOption: false,\n description: `Experimental features that can be modified or removed at any time. Example Usage: --experimentalFeatures realtimeUpdates`,\n default: undefined,\n defaultDescription: `By default, no arguments will not enable any experimental features.`\n }).options(\"beta\", {\n boolean: true,\n demandOption: false,\n hidden: true,\n default: false\n }).options(\"sdkPackages\", {\n array: true,\n string: true,\n // experimental for now\n hidden: true,\n coerce: arg => {\n return new Map(arg.map(sdkPackage => sdkPackage.split(\"=\", 2)));\n }\n }).strict();\n }\n handler = async args => {\n const {\n consola\n } = await import(\"consola\");\n consola.start(`Generating OSDK: ${args.packageName} at version: ${args.packageVersion}`);\n const ontologyRid = args.ontology;\n const ontologyMetadataResolver = new OntologyMetadataResolver(args.authToken, args.foundryHostname);\n if (!isValidSemver(args.packageVersion)) {\n consola.error(new Error(`Invalid argument provided for packageVersion: ${args.packageVersion}, expected valid semver`));\n exit(1);\n }\n const packageInfo = await ontologyMetadataResolver.getInfoForPackages(args.sdkPackages ?? new Map());\n const timeStart = Date.now();\n const wireOntologyDefinition = await ontologyMetadataResolver.getWireOntologyDefinition(ontologyRid, {\n objectTypesApiNamesToLoad: transformArrayArg(args.objectTypes),\n actionTypesApiNamesToLoad: transformArrayArg(args.actionTypes),\n queryTypesApiNamesToLoad: transformArrayArg(args.queryTypes),\n interfaceTypesApiNamesToLoad: transformArrayArg(args.interfaceTypes),\n linkTypesApiNamesToLoad: transformArrayArg(args.linkTypes)\n }, packageInfo);\n if (wireOntologyDefinition.isErr()) {\n wireOntologyDefinition.error.forEach(err => {\n consola.error(err);\n });\n consola.error(\"Failed generating package\");\n exit(1);\n }\n await generatePackage(wireOntologyDefinition.value, {\n packageName: args.packageName,\n packageVersion: args.packageVersion,\n outputDir: args.outputDir,\n beta: !!args.beta,\n ontologyJsonOnly: args.experimentalFeatures?.includes(\"ontologyJsonOnly\") ?? false\n });\n const elapsedTime = Date.now() - timeStart;\n consola.success(`Finished generating package in ${(elapsedTime / 1000).toFixed(2)}s`);\n return;\n };\n}","/*\n * Copyright 2023 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 yargs from \"yargs\";\nimport { hideBin } from \"yargs/helpers\";\nimport { GeneratePackageCommand } from \"../generate/index.js\";\nexport async function cli(args = process.argv) {\n const base = yargs(hideBin(args)).command(new GeneratePackageCommand()).demandCommand().recommendCommands().strict().showHelpOnFail(true).help().version(process.env.npm_package_version);\n try {\n return await base.parseAsync();\n } catch (e) {\n // eslint-disable-next-line no-console\n console.log(e);\n }\n}"]}
@@ -1 +1 @@
1
- {"mappings":"AAwBA,cAAc,oBAAoB,oDAAqD;AAWvF,OAAO,iBAAe,gBACpBA,cAAc,cACdC,SAAS;CACP;CACA;CACA;CACA;CACA;AACD,IACA;AAiJH,OAAO,iBAAS,gBAAgBC","names":["ontologyInfo: OntologyInfo","options: {\n packageName: string;\n packageVersion: string;\n outputDir: string;\n beta: boolean;\n ontologyJsonOnly: boolean;\n }","pathName: string"],"sources":["../../../../src/generate/betaClient/generatePackage.ts"],"version":3,"file":"generatePackage.d.ts"}
1
+ {"mappings":"AAwBA,cAAc,oBAAoB,oDAAqD;AAWvF,OAAO,iBAAe,gBACpBA,cAAc,cACdC,SAAS;CACP;CACA;CACA;CACA;CACA;AACD,IACA;AAoJH,OAAO,iBAAS,gBAAgBC","names":["ontologyInfo: OntologyInfo","options: {\n packageName: string;\n packageVersion: string;\n outputDir: string;\n beta: boolean;\n ontologyJsonOnly: boolean;\n }","pathName: string"],"sources":["../../../../src/generate/betaClient/generatePackage.ts"],"version":3,"file":"generatePackage.d.ts"}
@@ -7,9 +7,10 @@ type PackageInfo = Map<string, {
7
7
  packageVersion: string
8
8
  }>;
9
9
  export interface OntologyInfo {
10
- filteredFullMetadata: OntologyFullMetadata;
10
+ requestedMetadata: OntologyFullMetadata;
11
11
  externalInterfaces: Map<string, string>;
12
12
  externalObjects: Map<string, string>;
13
+ fixedVersionQueryTypes: string[];
13
14
  }
14
15
  export declare class OntologyMetadataResolver {
15
16
  #private;
@@ -30,6 +31,5 @@ export declare class OntologyMetadataResolver {
30
31
  private validateActionParameters;
31
32
  private visitSupportedQueryTypes;
32
33
  private isSupportedActionTypeParameter;
33
- private camelize;
34
34
  }
35
35
  export {};
@@ -1 +1 @@
1
- {"mappings":"AAgBA,cAAc,KAAK,kBAAkB,4BAA6B;AAElE,cAKE,4BAIK,0BAA2B;AAElC,SAAS,cAAc,aAAc;KAEhC,cAAc,YAAY;CAC7B,YAAY;CACZ,KAAK;CACL;AACD;AAED,iBAAiB,aAAa;CAC5B,sBAAsB;CACtB,oBAAoB;CACpB,iBAAiB;AAClB;AAED,OAAO,cAAM,yBAAyB;;CAEL;CAA/B,YAAYA,mBAA2BC;CAIvC,QAAQ;CAUR,QAAQ;CA2ER,AAAa,mBACXC,MAAM,sBACL,QAAQ;CA4BX,AAAa,0BACXC,qBACAC,UAAU;EACR;EACA;EACA;EACA;EACA;CACD,GACDC,iBAAgB,cACf,QACD,OAAO;CA4HT,QAAQ;CA8KR,QAAQ;CA8BR,QAAQ;CAsBR,QAAQ;CAwFR,QAAQ;CAkFR,QAAQ;AAGT","names":["authToken: string","stackName: string","pkgs: Map<string, string>","ontologyRid: string","entities: {\n actionTypesApiNamesToLoad?: string[];\n objectTypesApiNamesToLoad?: string[];\n queryTypesApiNamesToLoad?: string[];\n interfaceTypesApiNamesToLoad?: string[];\n linkTypesApiNamesToLoad?: string[];\n }","extPackageInfo: PackageInfo"],"sources":["../../../src/ontologyMetadata/ontologyMetadataResolver.ts"],"version":3,"file":"ontologyMetadataResolver.d.ts"}
1
+ {"mappings":"AAgBA,cAAc,KAAK,kBAAkB,4BAA6B;AAElE,cAKE,4BAIK,0BAA2B;AAElC,SAAS,cAAc,aAAc;KAEhC,cAAc,YAAY;CAC7B,YAAY;CACZ,KAAK;CACL;AACD;AAED,iBAAiB,aAAa;CAC5B,mBAAmB;CACnB,oBAAoB;CACpB,iBAAiB;CACjB;AACD;AAED,OAAO,cAAM,yBAAyB;;CAEL;CAA/B,YAAYA,mBAA2BC;CAIvC,QAAQ;CAUR,QAAQ;CA2ER,AAAa,mBACXC,MAAM,sBACL,QAAQ;CA4BX,AAAa,0BACXC,qBACAC,UAAU;EACR;EACA;EACA;EACA;EACA;CACD,GACDC,iBAAgB,cACf,QACD,OAAO;CAwNT,QAAQ;CAqKR,QAAQ;CA8BR,QAAQ;CAoBR,QAAQ;CAwFR,QAAQ;AAiFT","names":["authToken: string","stackName: string","pkgs: Map<string, string>","ontologyRid: string","entities: {\n actionTypesApiNamesToLoad?: string[];\n objectTypesApiNamesToLoad?: string[];\n queryTypesApiNamesToLoad?: string[];\n interfaceTypesApiNamesToLoad?: string[];\n linkTypesApiNamesToLoad?: string[];\n }","extPackageInfo: PackageInfo"],"sources":["../../../src/ontologyMetadata/ontologyMetadataResolver.ts"],"version":3,"file":"ontologyMetadataResolver.d.ts"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@osdk/foundry-sdk-generator",
3
- "version": "2.2.0-beta.20",
3
+ "version": "2.2.0-beta.22",
4
4
  "description": "",
5
5
  "access": "public",
6
6
  "license": "Apache-2.0",
@@ -25,8 +25,8 @@
25
25
  }
26
26
  },
27
27
  "dependencies": {
28
- "@osdk/foundry.ontologies": "2.18.0",
29
- "@osdk/foundry.thirdpartyapplications": "2.18.0",
28
+ "@osdk/foundry.ontologies": "2.20.0",
29
+ "@osdk/foundry.thirdpartyapplications": "2.20.0",
30
30
  "@rollup/plugin-commonjs": "28.0.0",
31
31
  "@rollup/plugin-node-resolve": "15.3.0",
32
32
  "consola": "3.4.2",
@@ -36,9 +36,9 @@
36
36
  "ts-morph": "19.0.0",
37
37
  "typescript": "~5.5.4",
38
38
  "yargs": "17.7.2",
39
- "@osdk/api": "2.2.0-beta.20",
40
- "@osdk/client": "2.2.0-beta.20",
41
- "@osdk/generator": "2.2.0-beta.20",
39
+ "@osdk/api": "2.2.0-beta.22",
40
+ "@osdk/client": "2.2.0-beta.22",
41
+ "@osdk/generator": "2.2.0-beta.22",
42
42
  "@osdk/shared.client.impl": "1.2.0-beta.2"
43
43
  },
44
44
  "devDependencies": {
@@ -46,12 +46,12 @@
46
46
  "@types/yargs": "^17.0.29",
47
47
  "msw": "^2.7.3",
48
48
  "typescript": "~5.5.4",
49
- "@osdk/client.unstable": "~2.2.0-beta.20",
50
- "@osdk/generator-utils": "2.2.0-beta.20",
49
+ "@osdk/client.unstable": "~2.2.0-beta.22",
50
+ "@osdk/client.unstable.tpsa": "~0.4.0-beta.1",
51
+ "@osdk/generator-utils": "2.2.0-beta.22",
51
52
  "@osdk/monorepo.api-extractor": "~0.1.0-beta.1",
52
53
  "@osdk/monorepo.tsconfig": "~0.1.0-beta.1",
53
- "@osdk/client.unstable.tpsa": "~0.4.0-beta.1",
54
- "@osdk/shared.test": "~2.2.0-beta.20"
54
+ "@osdk/shared.test": "~2.2.0-beta.22"
55
55
  },
56
56
  "publishConfig": {
57
57
  "access": "public"