@osdk/cli 0.8.0 → 0.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. package/build/js/chunk-CCA2T5YW.cjs +12 -0
  2. package/build/js/chunk-CCA2T5YW.cjs.map +1 -0
  3. package/build/js/chunk-MU5KWUEI.mjs +10 -0
  4. package/build/js/chunk-MU5KWUEI.mjs.map +1 -0
  5. package/build/js/{chunk-NJJ5VSTS.cjs → chunk-S2I3VLCY.cjs} +2 -2
  6. package/build/js/{chunk-M5JTX7RC.mjs → chunk-UUMRUSW7.mjs} +2 -2
  7. package/build/js/{handleGenerate-EGYMVXVW.cjs → handleGenerate-CR7EMFR7.cjs} +4 -3
  8. package/build/js/handleGenerate-CR7EMFR7.cjs.map +1 -0
  9. package/build/js/{handleGenerate-OBJOC2XY.mjs → handleGenerate-JD2EN42M.mjs} +4 -3
  10. package/build/js/handleGenerate-JD2EN42M.mjs.map +1 -0
  11. package/build/js/index.cjs +26 -27
  12. package/build/js/index.cjs.map +1 -1
  13. package/build/js/index.mjs +21 -22
  14. package/build/js/index.mjs.map +1 -1
  15. package/build/js/{siteDeployCommand-D62CVVEY.mjs → siteDeployCommand-PEQ4IOIZ.mjs} +2 -2
  16. package/build/js/{siteDeployCommand-5DBNGRT3.cjs → siteDeployCommand-XSWYJZYG.cjs} +9 -9
  17. package/build/js/{versionDeleteCommand-F255OTHE.mjs → versionDeleteCommand-AAP4O5ZE.mjs} +2 -2
  18. package/build/js/{versionDeleteCommand-SKJ7OBNI.cjs → versionDeleteCommand-VFJ2WM7Q.cjs} +5 -5
  19. package/build/js/{versionGetCommand-VHIOZCA7.mjs → versionGetCommand-3UVDIRMY.mjs} +2 -2
  20. package/build/js/{versionGetCommand-LVE7IZL3.cjs → versionGetCommand-JASRA4QL.cjs} +7 -7
  21. package/build/js/{versionListCommand-W4A2FA43.mjs → versionListCommand-AGCM7LFR.mjs} +2 -2
  22. package/build/js/{versionListCommand-JNYLJ45G.cjs → versionListCommand-DANLZEEE.cjs} +7 -7
  23. package/build/js/{versionSetCommand-PLKTCPWX.cjs → versionSetCommand-K3IPOA5G.cjs} +7 -7
  24. package/build/js/{versionSetCommand-JLILKOKN.mjs → versionSetCommand-UT4LAKJO.mjs} +2 -2
  25. package/build/js/{versionUnsetCommand-PGU2S3WS.cjs → versionUnsetCommand-NIEO3RO4.cjs} +7 -7
  26. package/build/js/{versionUnsetCommand-Q6YWVVAI.mjs → versionUnsetCommand-OKXMDWJU.mjs} +2 -2
  27. package/changelog/0.9.0/pr-38.v2.yml +5 -0
  28. package/changelog/0.9.0/pr-68.v2.yml +6 -0
  29. package/package.json +2 -2
  30. package/build/js/handleGenerate-EGYMVXVW.cjs.map +0 -1
  31. package/build/js/handleGenerate-OBJOC2XY.mjs.map +0 -1
  32. /package/build/js/{chunk-M5JTX7RC.mjs.map → chunk-S2I3VLCY.cjs.map} +0 -0
  33. /package/build/js/{chunk-NJJ5VSTS.cjs.map → chunk-UUMRUSW7.mjs.map} +0 -0
  34. /package/build/js/{siteDeployCommand-5DBNGRT3.cjs.map → siteDeployCommand-PEQ4IOIZ.mjs.map} +0 -0
  35. /package/build/js/{siteDeployCommand-D62CVVEY.mjs.map → siteDeployCommand-XSWYJZYG.cjs.map} +0 -0
  36. /package/build/js/{versionDeleteCommand-F255OTHE.mjs.map → versionDeleteCommand-AAP4O5ZE.mjs.map} +0 -0
  37. /package/build/js/{versionDeleteCommand-SKJ7OBNI.cjs.map → versionDeleteCommand-VFJ2WM7Q.cjs.map} +0 -0
  38. /package/build/js/{versionGetCommand-LVE7IZL3.cjs.map → versionGetCommand-3UVDIRMY.mjs.map} +0 -0
  39. /package/build/js/{versionGetCommand-VHIOZCA7.mjs.map → versionGetCommand-JASRA4QL.cjs.map} +0 -0
  40. /package/build/js/{versionListCommand-JNYLJ45G.cjs.map → versionListCommand-AGCM7LFR.mjs.map} +0 -0
  41. /package/build/js/{versionListCommand-W4A2FA43.mjs.map → versionListCommand-DANLZEEE.cjs.map} +0 -0
  42. /package/build/js/{versionSetCommand-JLILKOKN.mjs.map → versionSetCommand-K3IPOA5G.cjs.map} +0 -0
  43. /package/build/js/{versionSetCommand-PLKTCPWX.cjs.map → versionSetCommand-UT4LAKJO.mjs.map} +0 -0
  44. /package/build/js/{versionUnsetCommand-PGU2S3WS.cjs.map → versionUnsetCommand-NIEO3RO4.cjs.map} +0 -0
  45. /package/build/js/{versionUnsetCommand-Q6YWVVAI.mjs.map → versionUnsetCommand-OKXMDWJU.mjs.map} +0 -0
@@ -0,0 +1,12 @@
1
+ 'use strict';
2
+
3
+ // src/YargsCheckError.ts
4
+ var YargsCheckError = class extends Error {
5
+ constructor(msg) {
6
+ super(msg);
7
+ }
8
+ };
9
+
10
+ exports.YargsCheckError = YargsCheckError;
11
+ //# sourceMappingURL=out.js.map
12
+ //# sourceMappingURL=chunk-CCA2T5YW.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/YargsCheckError.ts"],"names":[],"mappings":";AAgBO,IAAM,kBAAN,cAA8B,MAAM;AAAA,EACzC,YAAY,KAAK;AACf,UAAM,GAAG;AAAA,EACX;AACF","sourcesContent":["/*\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 class YargsCheckError extends Error {\n constructor(msg) {\n super(msg);\n }\n}"]}
@@ -0,0 +1,10 @@
1
+ // src/YargsCheckError.ts
2
+ var YargsCheckError = class extends Error {
3
+ constructor(msg) {
4
+ super(msg);
5
+ }
6
+ };
7
+
8
+ export { YargsCheckError };
9
+ //# sourceMappingURL=out.js.map
10
+ //# sourceMappingURL=chunk-MU5KWUEI.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/YargsCheckError.ts"],"names":[],"mappings":";AAgBO,IAAM,kBAAN,cAA8B,MAAM;AAAA,EACzC,YAAY,KAAK;AACf,UAAM,GAAG;AAAA,EACX;AACF","sourcesContent":["/*\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 class YargsCheckError extends Error {\n constructor(msg) {\n super(msg);\n }\n}"]}
@@ -72,7 +72,7 @@ chunkHQDDGVB7_cjs.__export(SiteAssetArtifactsService_exports, {
72
72
  });
73
73
 
74
74
  // src/net/UserAgent.ts
75
- var USER_AGENT = `osdk-cli/${"0.8.0"}`;
75
+ var USER_AGENT = `osdk-cli/${"0.9.0"}`;
76
76
 
77
77
  // src/net/createFetch.mts
78
78
  function createFetch(tokenProvider, fetchFn = fetch) {
@@ -260,4 +260,4 @@ exports.createInternalClientContext = createInternalClientContext;
260
260
  exports.loadToken = loadToken;
261
261
  exports.third_party_application_service_exports = third_party_application_service_exports;
262
262
  //# sourceMappingURL=out.js.map
263
- //# sourceMappingURL=chunk-NJJ5VSTS.cjs.map
263
+ //# sourceMappingURL=chunk-S2I3VLCY.cjs.map
@@ -66,7 +66,7 @@ __export(SiteAssetArtifactsService_exports, {
66
66
  });
67
67
 
68
68
  // src/net/UserAgent.ts
69
- var USER_AGENT = `osdk-cli/${"0.8.0"}`;
69
+ var USER_AGENT = `osdk-cli/${"0.9.0"}`;
70
70
 
71
71
  // src/net/createFetch.mts
72
72
  function createFetch(tokenProvider, fetchFn = fetch) {
@@ -249,4 +249,4 @@ function isJWT(token) {
249
249
 
250
250
  export { ArtifactsSitesAdminV2Service_exports, artifacts_exports, createConjureContext, createInternalClientContext, loadToken, third_party_application_service_exports };
251
251
  //# sourceMappingURL=out.js.map
252
- //# sourceMappingURL=chunk-M5JTX7RC.mjs.map
252
+ //# sourceMappingURL=chunk-UUMRUSW7.mjs.map
@@ -1,5 +1,6 @@
1
1
  'use strict';
2
2
 
3
+ var chunkCCA2T5YW_cjs = require('./chunk-CCA2T5YW.cjs');
3
4
  var chunkTZGNA5WR_cjs = require('./chunk-TZGNA5WR.cjs');
4
5
  require('./chunk-HQDDGVB7.cjs');
5
6
  var requests = require('@osdk/gateway/requests');
@@ -28,7 +29,7 @@ function _interopNamespace(e) {
28
29
 
29
30
  var fs__namespace = /*#__PURE__*/_interopNamespace(fs);
30
31
 
31
- var USER_AGENT = `osdk-cli/${"0.8.0"}`;
32
+ var USER_AGENT = `osdk-cli/${"0.9.0"}`;
32
33
  async function handleGenerate(args) {
33
34
  let success = false;
34
35
  if (args.ontologyPath) {
@@ -36,7 +37,7 @@ async function handleGenerate(args) {
36
37
  } else if (args.foundryUrl && args.clientId) {
37
38
  success = await generateFromStack(args);
38
39
  } else {
39
- throw new Error("Must have specified ontologyPath or stack and clientId");
40
+ throw new chunkCCA2T5YW_cjs.YargsCheckError("Must have specified ontologyPath or stack and clientId");
40
41
  }
41
42
  if (success) {
42
43
  consola.consola.info("OSDK Generated!");
@@ -116,4 +117,4 @@ function getUserAgent(version) {
116
117
 
117
118
  module.exports = handleGenerate;
118
119
  //# sourceMappingURL=out.js.map
119
- //# sourceMappingURL=handleGenerate-EGYMVXVW.cjs.map
120
+ //# sourceMappingURL=handleGenerate-CR7EMFR7.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/commands/typescript/generate/handleGenerate.mts"],"names":[],"mappings":";;;;;;;;;AAgBA,SAAS,yBAAyB,wBAAwB;AAC1D,SAAS,mCAAmC,4CAA4C;AACxF,SAAS,qBAAqB,4BAA4B;AAC1D,SAAS,eAAe;AACxB,YAAY,QAAQ;AAGpB,IAAM,aAAa,YAAY,OAA2B;AAC1D,eAAO,eAAsC,MAAM;AACjD,MAAI,UAAU;AACd,MAAI,KAAK,cAAc;AACrB,cAAU,MAAM,sBAAsB,IAAI;AAAA,EAC5C,WAAW,KAAK,cAAc,KAAK,UAAU;AAC3C,cAAU,MAAM,kBAAkB,IAAI;AAAA,EACxC,OAAO;AACL,UAAM,IAAI,gBAAgB,wDAAwD;AAAA,EACpF;AACA,MAAI,SAAS;AACX,YAAQ,KAAK,iBAAiB;AAAA,EAChC;AACF;AACA,eAAe,sBAAsB,MAAM;AACzC,MAAI,CAAI,cAAW,KAAK,YAAY,GAAG;AACrC,YAAQ,MAAM,iCAAiC,KAAK,YAAY,EAAE;AAClE,WAAO;AAAA,EACT;AACA,QAAM,WAAW,KAAK,MAAM,MAAS,YAAS,SAAS,KAAK,cAAc,OAAO,CAAC;AAClF,SAAO,MAAM,kBAAkB,UAAU,IAAI;AAC/C;AACA,eAAe,kBAAkB,MAAM;AACrC,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAI;AACJ,QAAM,QAAQ,MAAM,gBAAgB;AAAA,IAClC;AAAA,IACA;AAAA,IACA,SAAS;AAAA,EACX,CAAC;AACD,QAAM;AAAA,IACJ;AAAA,EACF,IAAI,oBAAoB;AAAA,IACtB,UAAU;AAAA,MACR,WAAW;AAAA,IACb;AAAA,EACF,GAAG,KAAK,YAAY,MAAM,MAAM,cAAc,UAAU;AACxD,MAAI;AACF,UAAM,aAAa,MAAM,iBAAiB,qBAAqB,YAAY,KAAK,CAAC;AACjF,QAAI,WAAW,KAAK,WAAW,GAAG;AAChC,cAAQ,MAAM,4DAA4D,WAAW,KAAK,MAAM,cAAc;AAC9G,aAAO;AAAA,IACT;AACA,UAAM,WAAW,MAAM,wBAAwB,qBAAqB,YAAY,KAAK,GAAG,WAAW,KAAK,CAAC,EAAE,OAAO;AAClH,QAAI,mBAAmB;AACrB,MAAG,iBAAc,mBAAmB,KAAK,UAAU,UAAU,MAAM,CAAC,CAAC;AAAA,IACvE;AACA,WAAO,MAAM,kBAAkB,UAAU,IAAI;AAAA,EAC/C,SAAS,GAAG;AACV,YAAQ,MAAM,mCAAmC,CAAC;AAClD,WAAO;AAAA,EACT;AACF;AACA,eAAe,kBAAkB,UAAU,MAAM;AAC/C,QAAM,YAAY;AAAA,IAChB,WAAW,CAAC,MAAM,aAAa;AAC7B,aAAU,YAAS,UAAU,MAAM,UAAU,OAAO;AAAA,IACtD;AAAA,IACA,OAAO,OAAO,MAAM,YAAY;AAC9B,YAAS,YAAS,MAAM,MAAM,OAAO;AAAA,IACvC;AAAA,IACA,SAAS,OAAM,SAAW,YAAS,QAAQ,IAAI;AAAA,EACjD;AACA,MAAI;AACF,QAAI,KAAK,MAAM;AACb,YAAM,qCAAqC,UAAU,aAAa,KAAK,OAAO,GAAG,WAAW,KAAK,QAAQ,KAAK,WAAW;AAAA,IAC3H,OAAO;AACL,YAAM,kCAAkC,UAAU,aAAa,KAAK,OAAO,GAAG,WAAW,KAAK,QAAQ,KAAK,WAAW;AAAA,IACxH;AAAA,EACF,SAAS,GAAG;AACV,YAAQ,MAAM,0BAA0B,EAAE,OAAO;AACjD,WAAO;AAAA,EACT;AACA,SAAO;AACT;AAIA,SAAS,aAAa,SAAS;AAC7B,MAAI,YAAY,OAAO;AACrB,WAAO;AAAA,EACT,OAAO;AACL,WAAO,kBAAkB,OAAO,IAAI,UAAU;AAAA,EAChD;AACF","sourcesContent":["/*\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 { getOntologyFullMetadata, listOntologiesV2 } from \"@osdk/gateway/requests\";\nimport { generateClientSdkVersionOneDotOne, generateClientSdkVersionTwoPointZero } from \"@osdk/generator\";\nimport { createClientContext, createOpenApiRequest } from \"@osdk/shared.net\";\nimport { consola } from \"consola\";\nimport * as fs from \"node:fs\";\nimport { YargsCheckError } from \"../../../YargsCheckError.js\";\nimport invokeLoginFlow from \"../../auth/login/loginFlow.js\";\nconst USER_AGENT = `osdk-cli/${process.env.PACKAGE_VERSION}`;\nexport default async function handleGenerate(args) {\n let success = false;\n if (args.ontologyPath) {\n success = await generateFromLocalFile(args);\n } else if (args.foundryUrl && args.clientId) {\n success = await generateFromStack(args);\n } else {\n throw new YargsCheckError(\"Must have specified ontologyPath or stack and clientId\");\n }\n if (success) {\n consola.info(\"OSDK Generated!\");\n }\n}\nasync function generateFromLocalFile(args) {\n if (!fs.existsSync(args.ontologyPath)) {\n consola.error(`Ontology file does not exist: ${args.ontologyPath}`);\n return false;\n }\n const ontology = JSON.parse(await fs.promises.readFile(args.ontologyPath, \"utf-8\"));\n return await generateClientSdk(ontology, args);\n}\nasync function generateFromStack(args) {\n const {\n foundryUrl,\n clientId,\n ontologyWritePath\n } = args;\n const token = await invokeLoginFlow({\n clientId,\n foundryUrl,\n verbose: 0\n });\n const {\n fetch\n } = createClientContext({\n metadata: {\n userAgent: USER_AGENT\n }\n }, args.foundryUrl, () => token.access_token, USER_AGENT);\n try {\n const ontologies = await listOntologiesV2(createOpenApiRequest(foundryUrl, fetch));\n if (ontologies.data.length !== 1) {\n consola.error(`Could not look up ontology with these credentials. Found ${ontologies.data.length} ontologies.`);\n return false;\n }\n const ontology = await getOntologyFullMetadata(createOpenApiRequest(foundryUrl, fetch), ontologies.data[0].apiName);\n if (ontologyWritePath) {\n fs.writeFileSync(ontologyWritePath, JSON.stringify(ontology, null, 2));\n }\n return await generateClientSdk(ontology, args);\n } catch (e) {\n consola.error(\"Failed to generate the ontology\", e);\n return false;\n }\n}\nasync function generateClientSdk(ontology, args) {\n const minimalFs = {\n writeFile: (path, contents) => {\n return fs.promises.writeFile(path, contents, \"utf-8\");\n },\n mkdir: async (path, options) => {\n await fs.promises.mkdir(path, options);\n },\n readdir: async path => fs.promises.readdir(path)\n };\n try {\n if (args.beta) {\n await generateClientSdkVersionTwoPointZero(ontology, getUserAgent(args.version), minimalFs, args.outDir, args.packageType);\n } else {\n await generateClientSdkVersionOneDotOne(ontology, getUserAgent(args.version), minimalFs, args.outDir, args.packageType);\n }\n } catch (e) {\n consola.error(\"OSDK generation failed\", e.message);\n return false;\n }\n return true;\n}\n\n// If the user passed us `dev` as our version, we use that for both our generated package version AND the cli version.\n// This makes it so that releases don't force us to have to regenerate the code when the version strings change.\nfunction getUserAgent(version) {\n if (version === \"dev\") {\n return \"typescript-sdk/dev osdk-cli/dev\";\n } else {\n return `typescript-sdk/${version} ${USER_AGENT}`;\n }\n}"]}
@@ -1,3 +1,4 @@
1
+ import { YargsCheckError } from './chunk-MU5KWUEI.mjs';
1
2
  import { invokeLoginFlow } from './chunk-HD6SVFKA.mjs';
2
3
  import './chunk-E2SEJZTC.mjs';
3
4
  import { listOntologiesV2, getOntologyFullMetadata } from '@osdk/gateway/requests';
@@ -6,7 +7,7 @@ import { createClientContext, createOpenApiRequest } from '@osdk/shared.net';
6
7
  import { consola } from 'consola';
7
8
  import * as fs from 'fs';
8
9
 
9
- var USER_AGENT = `osdk-cli/${"0.8.0"}`;
10
+ var USER_AGENT = `osdk-cli/${"0.9.0"}`;
10
11
  async function handleGenerate(args) {
11
12
  let success = false;
12
13
  if (args.ontologyPath) {
@@ -14,7 +15,7 @@ async function handleGenerate(args) {
14
15
  } else if (args.foundryUrl && args.clientId) {
15
16
  success = await generateFromStack(args);
16
17
  } else {
17
- throw new Error("Must have specified ontologyPath or stack and clientId");
18
+ throw new YargsCheckError("Must have specified ontologyPath or stack and clientId");
18
19
  }
19
20
  if (success) {
20
21
  consola.info("OSDK Generated!");
@@ -94,4 +95,4 @@ function getUserAgent(version) {
94
95
 
95
96
  export { handleGenerate as default };
96
97
  //# sourceMappingURL=out.js.map
97
- //# sourceMappingURL=handleGenerate-OBJOC2XY.mjs.map
98
+ //# sourceMappingURL=handleGenerate-JD2EN42M.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/commands/typescript/generate/handleGenerate.mts"],"names":[],"mappings":";;;;;;;;;AAgBA,SAAS,yBAAyB,wBAAwB;AAC1D,SAAS,mCAAmC,4CAA4C;AACxF,SAAS,qBAAqB,4BAA4B;AAC1D,SAAS,eAAe;AACxB,YAAY,QAAQ;AAGpB,IAAM,aAAa,YAAY,OAA2B;AAC1D,eAAO,eAAsC,MAAM;AACjD,MAAI,UAAU;AACd,MAAI,KAAK,cAAc;AACrB,cAAU,MAAM,sBAAsB,IAAI;AAAA,EAC5C,WAAW,KAAK,cAAc,KAAK,UAAU;AAC3C,cAAU,MAAM,kBAAkB,IAAI;AAAA,EACxC,OAAO;AACL,UAAM,IAAI,gBAAgB,wDAAwD;AAAA,EACpF;AACA,MAAI,SAAS;AACX,YAAQ,KAAK,iBAAiB;AAAA,EAChC;AACF;AACA,eAAe,sBAAsB,MAAM;AACzC,MAAI,CAAI,cAAW,KAAK,YAAY,GAAG;AACrC,YAAQ,MAAM,iCAAiC,KAAK,YAAY,EAAE;AAClE,WAAO;AAAA,EACT;AACA,QAAM,WAAW,KAAK,MAAM,MAAS,YAAS,SAAS,KAAK,cAAc,OAAO,CAAC;AAClF,SAAO,MAAM,kBAAkB,UAAU,IAAI;AAC/C;AACA,eAAe,kBAAkB,MAAM;AACrC,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAI;AACJ,QAAM,QAAQ,MAAM,gBAAgB;AAAA,IAClC;AAAA,IACA;AAAA,IACA,SAAS;AAAA,EACX,CAAC;AACD,QAAM;AAAA,IACJ;AAAA,EACF,IAAI,oBAAoB;AAAA,IACtB,UAAU;AAAA,MACR,WAAW;AAAA,IACb;AAAA,EACF,GAAG,KAAK,YAAY,MAAM,MAAM,cAAc,UAAU;AACxD,MAAI;AACF,UAAM,aAAa,MAAM,iBAAiB,qBAAqB,YAAY,KAAK,CAAC;AACjF,QAAI,WAAW,KAAK,WAAW,GAAG;AAChC,cAAQ,MAAM,4DAA4D,WAAW,KAAK,MAAM,cAAc;AAC9G,aAAO;AAAA,IACT;AACA,UAAM,WAAW,MAAM,wBAAwB,qBAAqB,YAAY,KAAK,GAAG,WAAW,KAAK,CAAC,EAAE,OAAO;AAClH,QAAI,mBAAmB;AACrB,MAAG,iBAAc,mBAAmB,KAAK,UAAU,UAAU,MAAM,CAAC,CAAC;AAAA,IACvE;AACA,WAAO,MAAM,kBAAkB,UAAU,IAAI;AAAA,EAC/C,SAAS,GAAG;AACV,YAAQ,MAAM,mCAAmC,CAAC;AAClD,WAAO;AAAA,EACT;AACF;AACA,eAAe,kBAAkB,UAAU,MAAM;AAC/C,QAAM,YAAY;AAAA,IAChB,WAAW,CAAC,MAAM,aAAa;AAC7B,aAAU,YAAS,UAAU,MAAM,UAAU,OAAO;AAAA,IACtD;AAAA,IACA,OAAO,OAAO,MAAM,YAAY;AAC9B,YAAS,YAAS,MAAM,MAAM,OAAO;AAAA,IACvC;AAAA,IACA,SAAS,OAAM,SAAW,YAAS,QAAQ,IAAI;AAAA,EACjD;AACA,MAAI;AACF,QAAI,KAAK,MAAM;AACb,YAAM,qCAAqC,UAAU,aAAa,KAAK,OAAO,GAAG,WAAW,KAAK,QAAQ,KAAK,WAAW;AAAA,IAC3H,OAAO;AACL,YAAM,kCAAkC,UAAU,aAAa,KAAK,OAAO,GAAG,WAAW,KAAK,QAAQ,KAAK,WAAW;AAAA,IACxH;AAAA,EACF,SAAS,GAAG;AACV,YAAQ,MAAM,0BAA0B,EAAE,OAAO;AACjD,WAAO;AAAA,EACT;AACA,SAAO;AACT;AAIA,SAAS,aAAa,SAAS;AAC7B,MAAI,YAAY,OAAO;AACrB,WAAO;AAAA,EACT,OAAO;AACL,WAAO,kBAAkB,OAAO,IAAI,UAAU;AAAA,EAChD;AACF","sourcesContent":["/*\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 { getOntologyFullMetadata, listOntologiesV2 } from \"@osdk/gateway/requests\";\nimport { generateClientSdkVersionOneDotOne, generateClientSdkVersionTwoPointZero } from \"@osdk/generator\";\nimport { createClientContext, createOpenApiRequest } from \"@osdk/shared.net\";\nimport { consola } from \"consola\";\nimport * as fs from \"node:fs\";\nimport { YargsCheckError } from \"../../../YargsCheckError.js\";\nimport invokeLoginFlow from \"../../auth/login/loginFlow.js\";\nconst USER_AGENT = `osdk-cli/${process.env.PACKAGE_VERSION}`;\nexport default async function handleGenerate(args) {\n let success = false;\n if (args.ontologyPath) {\n success = await generateFromLocalFile(args);\n } else if (args.foundryUrl && args.clientId) {\n success = await generateFromStack(args);\n } else {\n throw new YargsCheckError(\"Must have specified ontologyPath or stack and clientId\");\n }\n if (success) {\n consola.info(\"OSDK Generated!\");\n }\n}\nasync function generateFromLocalFile(args) {\n if (!fs.existsSync(args.ontologyPath)) {\n consola.error(`Ontology file does not exist: ${args.ontologyPath}`);\n return false;\n }\n const ontology = JSON.parse(await fs.promises.readFile(args.ontologyPath, \"utf-8\"));\n return await generateClientSdk(ontology, args);\n}\nasync function generateFromStack(args) {\n const {\n foundryUrl,\n clientId,\n ontologyWritePath\n } = args;\n const token = await invokeLoginFlow({\n clientId,\n foundryUrl,\n verbose: 0\n });\n const {\n fetch\n } = createClientContext({\n metadata: {\n userAgent: USER_AGENT\n }\n }, args.foundryUrl, () => token.access_token, USER_AGENT);\n try {\n const ontologies = await listOntologiesV2(createOpenApiRequest(foundryUrl, fetch));\n if (ontologies.data.length !== 1) {\n consola.error(`Could not look up ontology with these credentials. Found ${ontologies.data.length} ontologies.`);\n return false;\n }\n const ontology = await getOntologyFullMetadata(createOpenApiRequest(foundryUrl, fetch), ontologies.data[0].apiName);\n if (ontologyWritePath) {\n fs.writeFileSync(ontologyWritePath, JSON.stringify(ontology, null, 2));\n }\n return await generateClientSdk(ontology, args);\n } catch (e) {\n consola.error(\"Failed to generate the ontology\", e);\n return false;\n }\n}\nasync function generateClientSdk(ontology, args) {\n const minimalFs = {\n writeFile: (path, contents) => {\n return fs.promises.writeFile(path, contents, \"utf-8\");\n },\n mkdir: async (path, options) => {\n await fs.promises.mkdir(path, options);\n },\n readdir: async path => fs.promises.readdir(path)\n };\n try {\n if (args.beta) {\n await generateClientSdkVersionTwoPointZero(ontology, getUserAgent(args.version), minimalFs, args.outDir, args.packageType);\n } else {\n await generateClientSdkVersionOneDotOne(ontology, getUserAgent(args.version), minimalFs, args.outDir, args.packageType);\n }\n } catch (e) {\n consola.error(\"OSDK generation failed\", e.message);\n return false;\n }\n return true;\n}\n\n// If the user passed us `dev` as our version, we use that for both our generated package version AND the cli version.\n// This makes it so that releases don't force us to have to regenerate the code when the version strings change.\nfunction getUserAgent(version) {\n if (version === \"dev\") {\n return \"typescript-sdk/dev osdk-cli/dev\";\n } else {\n return `typescript-sdk/${version} ${USER_AGENT}`;\n }\n}"]}
@@ -1,5 +1,6 @@
1
1
  'use strict';
2
2
 
3
+ var chunkCCA2T5YW_cjs = require('./chunk-CCA2T5YW.cjs');
3
4
  var chunkUE2TMWJL_cjs = require('./chunk-UE2TMWJL.cjs');
4
5
  var chunkHZ3XILMW_cjs = require('./chunk-HZ3XILMW.cjs');
5
6
  require('./chunk-HQDDGVB7.cjs');
@@ -23,7 +24,8 @@ var command = {
23
24
  alias: "applicationId",
24
25
  // for backwards compatibility
25
26
  type: "string",
26
- demandOption: true
27
+ demandOption: true,
28
+ describe: "OAuth client ID for application"
27
29
  });
28
30
  },
29
31
  handler: async (args) => {
@@ -42,8 +44,9 @@ var site = {
42
44
  foundryUrl: {
43
45
  type: "string",
44
46
  demandOption: true,
45
- alias: "baseUrl"
47
+ alias: "baseUrl",
46
48
  // for backwards compatibility
49
+ describe: "URL for the Foundry stack"
47
50
  }
48
51
  }).command(login_default).demandCommand();
49
52
  },
@@ -139,13 +142,6 @@ function getConfig() {
139
142
  return configPromise;
140
143
  }
141
144
  var configLoader_default = getConfig;
142
-
143
- // src/YargsCheckError.ts
144
- var YargsCheckError = class extends Error {
145
- constructor(msg) {
146
- super(msg);
147
- }
148
- };
149
145
  async function logDeployCommandConfigFileOverride(args, config) {
150
146
  if (config?.autoVersion != null && args.autoVersion !== config?.autoVersion.type) {
151
147
  consola.consola.debug(`Overriding "autoVersion" from config file with ${args.autoVersion}`);
@@ -210,21 +206,24 @@ var command2 = {
210
206
  }
211
207
  }).group(["directory", "version", "uploadOnly"], "Deploy Options").group(["autoVersion", "gitTagPrefix"], "Auto Version Options").check((args) => {
212
208
  if (autoVersion == null && args.autoVersion == null && args.version == null) {
213
- throw new YargsCheckError("One of --version or --autoVersion must be specified");
209
+ throw new chunkCCA2T5YW_cjs.YargsCheckError("One of --version or --autoVersion must be specified");
210
+ }
211
+ if (args.version != null && !chunkUE2TMWJL_cjs.isValidSemver(args.version)) {
212
+ throw new chunkCCA2T5YW_cjs.YargsCheckError(`--version "${args.version}" must be a valid SemVer string`);
214
213
  }
215
214
  const autoVersionType = args.autoVersion ?? autoVersion;
216
215
  if (autoVersionType !== "git-describe") {
217
- throw new YargsCheckError(`Only 'git-describe' is supported for autoVersion`);
216
+ throw new chunkCCA2T5YW_cjs.YargsCheckError(`Only 'git-describe' is supported for autoVersion`);
218
217
  }
219
218
  const gitTagPrefixValue = args.gitTagPrefix ?? gitTagPrefix;
220
219
  if (gitTagPrefixValue != null && autoVersionType !== "git-describe") {
221
- throw new YargsCheckError(`--gitTagPrefix is only supported when --autoVersion=git-describe`);
220
+ throw new chunkCCA2T5YW_cjs.YargsCheckError(`--gitTagPrefix is only supported when --autoVersion=git-describe`);
222
221
  }
223
222
  return true;
224
223
  }).middleware((args) => logDeployCommandConfigFileOverride(args, siteConfig));
225
224
  },
226
225
  handler: async (args) => {
227
- const command11 = await import('./siteDeployCommand-5DBNGRT3.cjs');
226
+ const command11 = await import('./siteDeployCommand-XSWYJZYG.cjs');
228
227
  const {
229
228
  version,
230
229
  autoVersion,
@@ -267,7 +266,7 @@ var command3 = {
267
266
  }).group(["yes"], "Delete Options");
268
267
  },
269
268
  handler: async (args) => {
270
- const command11 = await import('./versionDeleteCommand-SKJ7OBNI.cjs');
269
+ const command11 = await import('./versionDeleteCommand-VFJ2WM7Q.cjs');
271
270
  await command11.default(args);
272
271
  }
273
272
  };
@@ -281,7 +280,7 @@ var command4 = {
281
280
  return argv;
282
281
  },
283
282
  handler: async (args) => {
284
- const command11 = await import('./versionGetCommand-LVE7IZL3.cjs');
283
+ const command11 = await import('./versionGetCommand-JASRA4QL.cjs');
285
284
  await command11.default(args);
286
285
  }
287
286
  };
@@ -295,7 +294,7 @@ var command5 = {
295
294
  return argv;
296
295
  },
297
296
  handler: async (args) => {
298
- const command11 = await import('./versionListCommand-JNYLJ45G.cjs');
297
+ const command11 = await import('./versionListCommand-DANLZEEE.cjs');
299
298
  await command11.default(args);
300
299
  }
301
300
  };
@@ -313,7 +312,7 @@ var command6 = {
313
312
  });
314
313
  },
315
314
  handler: async (args) => {
316
- const command11 = await import('./versionSetCommand-PLKTCPWX.cjs');
315
+ const command11 = await import('./versionSetCommand-K3IPOA5G.cjs');
317
316
  await command11.default(args);
318
317
  }
319
318
  };
@@ -331,7 +330,7 @@ var command7 = {
331
330
  }).group(["yes"], "Unset Options");
332
331
  },
333
332
  handler: async (args) => {
334
- const command11 = await import('./versionUnsetCommand-PGU2S3WS.cjs');
333
+ const command11 = await import('./versionUnsetCommand-NIEO3RO4.cjs');
335
334
  await command11.default(args);
336
335
  }
337
336
  };
@@ -376,7 +375,7 @@ var command9 = {
376
375
  } : {
377
376
  demandOption: true
378
377
  },
379
- description: "Foundry URL including protocol"
378
+ description: "URL for the Foundry stack"
380
379
  },
381
380
  token: {
382
381
  type: "string",
@@ -390,7 +389,7 @@ var command9 = {
390
389
  }
391
390
  }).group(["application", "foundryUrl", "token", "tokenFile"], "Common Options").command(version_default).command(deploy_default).check((args) => {
392
391
  if (!args.foundryUrl.startsWith("https://")) {
393
- throw new YargsCheckError("foundryUrl must start with https://");
392
+ throw new chunkCCA2T5YW_cjs.YargsCheckError("foundryUrl must start with https://");
394
393
  }
395
394
  return true;
396
395
  }).middleware((args) => logSiteCommandConfigFileOverride(args, config?.foundryConfig)).demandCommand();
@@ -418,7 +417,7 @@ var command10 = {
418
417
  conflicts: ["foundryUrl", "clientId"]
419
418
  },
420
419
  foundryUrl: {
421
- description: "The URL to the foundry stack that contains the ontology",
420
+ description: "URL for the foundry stack that contains the ontology",
422
421
  type: "string",
423
422
  demandOption: false,
424
423
  conflicts: "ontologyPath",
@@ -427,7 +426,7 @@ var command10 = {
427
426
  // for backwards compatibility
428
427
  },
429
428
  clientId: {
430
- description: "The application's client id",
429
+ description: "OAuth client ID for application",
431
430
  type: "string",
432
431
  demandOption: false,
433
432
  conflicts: "ontologyPath",
@@ -455,16 +454,16 @@ var command10 = {
455
454
  }
456
455
  }).group(["ontologyPath", "outDir", "version"], "Generate from a local file").group(["foundryUrl", "clientId", "outDir", "ontologyWritePath", "version"], "OR Generate from Foundry").check((args) => {
457
456
  if (!args.ontologyPath && !args.foundryUrl) {
458
- throw new Error("Error: Must specify either ontologyPath or foundryUrl and clientId");
457
+ throw new chunkCCA2T5YW_cjs.YargsCheckError("Must specify either ontologyPath or foundryUrl and clientId");
459
458
  }
460
459
  if (args.version !== "dev" && !chunkUE2TMWJL_cjs.isValidSemver(args.version)) {
461
- throw new Error("Error: Version must be 'dev' or a valid semver version");
460
+ throw new chunkCCA2T5YW_cjs.YargsCheckError("Version must be 'dev' or a valid semver version");
462
461
  }
463
462
  return true;
464
463
  });
465
464
  },
466
465
  handler: async (args) => {
467
- const command11 = await import('./handleGenerate-EGYMVXVW.cjs');
466
+ const command11 = await import('./handleGenerate-CR7EMFR7.cjs');
468
467
  await command11.default(args);
469
468
  }
470
469
  };
@@ -496,7 +495,7 @@ var firstTime2 = true;
496
495
  async function logVersionMiddleware(args) {
497
496
  if (firstTime2) {
498
497
  firstTime2 = false;
499
- consola.consola.info(`Palantir OSDK CLI ${"0.8.0"}`);
498
+ consola.consola.info(`Palantir OSDK CLI ${"0.9.0"}`);
500
499
  consola.consola.level = 3 + args.verbose;
501
500
  if (consola.consola.level > 3) {
502
501
  consola.consola.debug(`Verbose logging enabled (${consola.consola.level === 4 ? "debug" : "trace"})`);
@@ -530,7 +529,7 @@ async function cli(args = process.argv) {
530
529
  }
531
530
  consola.consola.debug(err.stack);
532
531
  } else {
533
- if (err && err instanceof YargsCheckError === false) {
532
+ if (err && err instanceof chunkCCA2T5YW_cjs.YargsCheckError === false) {
534
533
  throw err;
535
534
  } else {
536
535
  argv.showHelp();
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/cli.ts","../../src/commands/auth/login/index.ts","../../src/commands/auth/index.ts","../../src/util/config.ts","../../src/util/configLoader.ts","../../src/YargsCheckError.ts","../../src/commands/site/deploy/logDeployCommandConfigFileOverride.ts","../../src/commands/site/deploy/index.ts","../../src/commands/site/logSiteCommandConfigFileOverride.ts","../../src/commands/site/version/delete/index.ts","../../src/commands/site/version/get/index.ts","../../src/commands/site/version/list/index.ts","../../src/commands/site/version/set/index.ts","../../src/commands/site/version/unset/index.ts","../../src/commands/site/version/index.ts","../../src/commands/site/index.ts","../../src/commands/typescript/generate/generate.ts","../../src/commands/typescript/index.ts","../../src/yargs/logConfigFileMiddleware.ts","../../src/yargs/logVersionMiddleware.ts"],"names":["consola","command","autoVersion","application","foundryUrl","site","firstTime"],"mappings":"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","sourcesContent":["/*\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 { consola } from \"consola\";\nimport { colorize } from \"consola/utils\";\nimport yargs from \"yargs\";\nimport { hideBin } from \"yargs/helpers\";\nimport auth from \"./commands/auth/index.js\";\nimport site from \"./commands/site/index.js\";\nimport typescript from \"./commands/typescript/index.js\";\nimport { ExitProcessError } from \"./ExitProcessError.js\";\nimport { logConfigFileMiddleware } from \"./yargs/logConfigFileMiddleware.js\";\nimport { logVersionMiddleware } from \"./yargs/logVersionMiddleware.js\";\nimport { YargsCheckError } from \"./YargsCheckError.js\";\nexport async function cli(args = process.argv) {\n const base = yargs(hideBin(args)).wrap(Math.min(150, yargs().terminalWidth())).env(\"OSDK\").version(false).option(\"verbose\", {\n alias: \"v\",\n type: \"boolean\",\n description: \"Enable verbose logging\",\n count: true\n }).demandCommand().middleware(logVersionMiddleware, true).middleware(logConfigFileMiddleware).strict().command({\n command: \"unstable\",\n aliases: [\"experimental\"],\n describe: \"Unstable commands\",\n builder: async argv => {\n return argv.command(site).command(typescript).command(auth).demandCommand();\n },\n handler: _args => {}\n }).fail(async (msg, err, argv) => {\n if (err instanceof ExitProcessError) {\n consola.error(err.message);\n if (err.tip != null) {\n consola.log(colorize(\"bold\", `💡 Tip: ${err.tip}`));\n consola.log(\"\");\n }\n consola.debug(err.stack);\n } else {\n if (err && err instanceof YargsCheckError === false) {\n throw err;\n } else {\n argv.showHelp();\n consola.log(\"\");\n consola.error(msg);\n }\n }\n process.exit(1);\n });\n\n // Special handling where failures happen before yargs does its error handling within .fail\n try {\n return await base.parseAsync();\n } catch (err) {\n if (err instanceof ExitProcessError) {\n consola.error(err);\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 command = {\n command: \"login\",\n describe: \"Authenticate with an application ID\",\n builder: argv => {\n return argv.option(\"clientId\", {\n alias: \"applicationId\",\n // for backwards compatibility\n type: \"string\",\n demandOption: true\n });\n },\n handler: async args => {\n const command = await import(\"./loginFlow.js\");\n await command.default(args);\n }\n};\nexport default command;","/*\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 login from \"./login/index.js\";\nconst site = {\n command: \"auth\",\n describe: \"Manage your session\",\n builder: argv => {\n return argv.options({\n foundryUrl: {\n type: \"string\",\n demandOption: true,\n alias: \"baseUrl\" // for backwards compatibility\n }\n }).command(login).demandCommand();\n },\n handler: async args => {}\n};\nexport default site;","/*\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 { promises as fsPromises } from \"node:fs\";\nimport { extname } from \"node:path\";\nimport { ExitProcessError } from \"../ExitProcessError.js\";\nconst CONFIG_FILE_NAMES = [\"foundry.config.json\"];\nconst CONFIG_FILE_SCHEMA = {\n type: \"object\",\n properties: {\n foundryUrl: {\n type: \"string\"\n },\n site: {\n type: \"object\",\n properties: {\n application: {\n type: \"string\"\n },\n directory: {\n type: \"string\"\n },\n autoVersion: {\n type: \"object\",\n nullable: true,\n oneOf: [{\n properties: {\n \"type\": {\n const: \"git-describe\",\n type: \"string\"\n },\n \"tagPrefix\": {\n type: \"string\",\n nullable: true\n }\n }\n }],\n required: [\"type\"]\n }\n },\n required: [\"application\", \"directory\"]\n }\n },\n required: [\"foundryUrl\", \"site\"],\n additionalProperties: false\n};\n\n/**\n * Asynchronously loads a configuration file. Looks for any of the CONFIG_FILE_NAMES in the current directory going up to the root directory.\n * @returns A promise that resolves to the configuration JSON object, or undefined if not found.\n * @throws Will throw an error if the configuration file is found but cannot be read or parsed.\n */\nexport async function loadFoundryConfig() {\n const ajvModule = await import(\"ajv\");\n const Ajv = ajvModule.default.default; // https://github.com/ajv-validator/ajv/issues/2132\n const ajv = new Ajv({\n allErrors: true\n });\n const validate = ajv.compile(CONFIG_FILE_SCHEMA);\n const {\n findUp\n } = await import(\"find-up\");\n const configFilePath = await findUp(CONFIG_FILE_NAMES);\n if (configFilePath) {\n let foundryConfig;\n try {\n const fileContent = await fsPromises.readFile(configFilePath, \"utf-8\");\n foundryConfig = parseConfigFile(fileContent, configFilePath);\n } catch (error) {\n throw new ExitProcessError(2, `Couldn't read or parse config file ${configFilePath}. Error: ${error}`);\n }\n if (!validate(foundryConfig)) {\n throw new ExitProcessError(2, `The configuration file does not match the expected schema: ${ajv.errorsText(validate.errors)}`);\n }\n return {\n foundryConfig,\n configFilePath\n };\n }\n return undefined;\n}\nfunction parseConfigFile(fileContent, configFilePath) {\n const extension = extname(configFilePath);\n switch (extension) {\n case \".json\":\n return JSON.parse(fileContent);\n default:\n throw new ExitProcessError(2, `Unsupported file extension: ${extension} for config file.`);\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 { loadFoundryConfig } from \"./config.js\";\nlet configPromise = undefined;\nfunction getConfig() {\n if (configPromise == null) {\n configPromise = loadFoundryConfig();\n }\n return configPromise;\n}\nexport default getConfig;","/*\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 class YargsCheckError extends Error {\n constructor(msg) {\n super(msg);\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 { consola } from \"consola\";\nexport async function logDeployCommandConfigFileOverride(args, config) {\n if (config?.autoVersion != null && args.autoVersion !== config?.autoVersion.type) {\n consola.debug(`Overriding \"autoVersion\" from config file with ${args.autoVersion}`);\n }\n if (config?.directory != null && args.directory !== config?.directory) {\n consola.debug(`Overriding \"directory\" from config file with ${args.directory}`);\n }\n if (config?.autoVersion?.tagPrefix != null && args.gitTagPrefix != null && args.gitTagPrefix !== config?.autoVersion.tagPrefix) {\n consola.debug(`Overriding \"gitTagPrefix\" from config file with ${args.gitTagPrefix}`);\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 configLoader from \"../../../util/configLoader.js\";\nimport { YargsCheckError } from \"../../../YargsCheckError.js\";\nimport { logDeployCommandConfigFileOverride } from \"./logDeployCommandConfigFileOverride.js\";\nconst command = {\n command: \"deploy\",\n describe: \"Deploy a new site version\",\n builder: async argv => {\n const config = await configLoader();\n const siteConfig = config?.foundryConfig.site;\n const directory = siteConfig?.directory;\n const autoVersion = siteConfig?.autoVersion;\n const gitTagPrefix = autoVersion?.tagPrefix;\n return argv.options({\n directory: {\n type: \"string\",\n description: \"Directory containing site files\",\n ...(directory ? {\n default: directory\n } : {\n demandOption: true\n })\n },\n uploadOnly: {\n type: \"boolean\",\n description: \"Upload new site version only without setting as live\",\n default: false\n },\n version: {\n type: \"string\",\n description: \"New version of site to deploy\",\n ...(autoVersion == null ? {\n conflicts: \"autoVersion\"\n } : {})\n },\n autoVersion: {\n coerce: autoVersion => autoVersion,\n type: \"string\",\n choices: [\"git-describe\"],\n description: \"Enable auto versioning\",\n ...(autoVersion != null ? {\n default: autoVersion.type\n } : {\n conflicts: \"version\"\n })\n },\n gitTagPrefix: {\n type: \"string\",\n description: \"Prefix to match git tags on when 'git-describe' auto versioning is used. If not provided, all tags are matched and the prefix 'v' is stripped if present.\",\n ...(gitTagPrefix ? {\n default: gitTagPrefix\n } : {})\n }\n }).group([\"directory\", \"version\", \"uploadOnly\"], \"Deploy Options\").group([\"autoVersion\", \"gitTagPrefix\"], \"Auto Version Options\").check(args => {\n // This is required because we can't use demandOption with conflicts. conflicts protects us against the case where both are provided.\n // So this case is for when nothing is provided.\n if (autoVersion == null && args.autoVersion == null && args.version == null) {\n throw new YargsCheckError(\"One of --version or --autoVersion must be specified\");\n }\n const autoVersionType = args.autoVersion ?? autoVersion;\n if (autoVersionType !== \"git-describe\") {\n throw new YargsCheckError(`Only 'git-describe' is supported for autoVersion`);\n }\n const gitTagPrefixValue = args.gitTagPrefix ?? gitTagPrefix;\n // Future proofing for when we support other autoVersion types\n if (gitTagPrefixValue != null && autoVersionType !== \"git-describe\") {\n throw new YargsCheckError(`--gitTagPrefix is only supported when --autoVersion=git-describe`);\n }\n return true;\n }).middleware(args => logDeployCommandConfigFileOverride(args, siteConfig));\n },\n handler: async args => {\n const command = await import(\"./siteDeployCommand.mjs\");\n const {\n version,\n autoVersion,\n gitTagPrefix,\n ...restArgs\n } = args;\n const selectedVersion = args.version != null ? args.version : {\n type: args.autoVersion,\n tagPrefix: args.gitTagPrefix\n };\n await command.default({\n ...restArgs,\n selectedVersion\n });\n }\n};\nexport default command;","/*\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 { consola } from \"consola\";\nexport async function logSiteCommandConfigFileOverride(args, config) {\n if (config?.site.application != null && args.application !== config.site.application) {\n consola.debug(`Overriding \"application\" from config file with ${args.application}`);\n }\n if (config?.foundryUrl != null && args.foundryUrl !== config.foundryUrl) {\n consola.debug(`Overriding \"foundryUrl\" from config file with ${args.foundryUrl}`);\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\nconst command = {\n command: \"delete <version>\",\n describe: \"Delete site version\",\n builder: argv => {\n return argv.positional(\"version\", {\n type: \"string\",\n demandOption: true,\n description: \"Version to set as live\"\n }).option(\"yes\", {\n alias: \"y\",\n type: \"boolean\",\n description: \"Automatically confirm destructive changes\"\n }).group([\"yes\"], \"Delete Options\");\n },\n handler: async args => {\n const command = await import(\"./versionDeleteCommand.mjs\");\n await command.default(args);\n }\n};\nexport default command;","/*\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\nconst command = {\n command: \"get\",\n describe: \"Get live site version\",\n builder: argv => {\n return argv;\n },\n handler: async args => {\n const command = await import(\"./versionGetCommand.mjs\");\n await command.default(args);\n }\n};\nexport default command;","/*\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\nconst command = {\n command: \"list\",\n describe: \"List site versions\",\n builder: argv => {\n return argv;\n },\n handler: async args => {\n const command = await import(\"./versionListCommand.mjs\");\n await command.default(args);\n }\n};\nexport default command;","/*\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\nconst command = {\n command: \"set <version>\",\n describe: \"Set live site version\",\n builder: argv => {\n return argv.positional(\"version\", {\n type: \"string\",\n demandOption: true,\n description: \"Version to set as live\"\n });\n },\n handler: async args => {\n const command = await import(\"./versionSetCommand.mjs\");\n await command.default(args);\n }\n};\nexport default command;","/*\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\nconst command = {\n command: \"unset\",\n describe: \"Clear live site version\",\n builder: argv => {\n return argv.option(\"yes\", {\n alias: \"y\",\n type: \"boolean\",\n description: \"Automatically confirm destructive changes\"\n }).group([\"yes\"], \"Unset Options\");\n },\n handler: async args => {\n const command = await import(\"./versionUnsetCommand.mjs\");\n await command.default(args);\n }\n};\nexport default command;","/*\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 deleteCmd from \"./delete/index.js\";\nimport get from \"./get/index.js\";\nimport list from \"./list/index.js\";\nimport set from \"./set/index.js\";\nimport unset from \"./unset/index.js\";\nconst command = {\n command: \"version\",\n describe: \"Manage site versions\",\n builder: argv => {\n return argv.command(list).command(get).command(set).command(unset).command(deleteCmd).demandCommand();\n },\n handler: async args => {}\n};\nexport default command;","/*\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 configLoader from \"../../util/configLoader.js\";\nimport { YargsCheckError } from \"../../YargsCheckError.js\";\nimport deploy from \"./deploy/index.js\";\nimport { logSiteCommandConfigFileOverride } from \"./logSiteCommandConfigFileOverride.js\";\nimport version from \"./version/index.js\";\nconst command = {\n command: \"site\",\n describe: \"Manage your site\",\n builder: async argv => {\n const config = await configLoader();\n const application = config?.foundryConfig.site.application;\n const foundryUrl = config?.foundryConfig.foundryUrl;\n return argv.options({\n application: {\n type: \"string\",\n coerce: application => application,\n ...(application ? {\n default: application\n } : {\n demandOption: true\n }),\n description: \"Application resource identifier (rid)\"\n },\n foundryUrl: {\n coerce: foundryUrl => foundryUrl.replace(/\\/$/, \"\"),\n type: \"string\",\n ...(foundryUrl ? {\n default: foundryUrl\n } : {\n demandOption: true\n }),\n description: \"Foundry URL including protocol\"\n },\n token: {\n type: \"string\",\n conflicts: \"tokenFile\",\n description: \"Foundry API token\"\n },\n tokenFile: {\n type: \"string\",\n conflicts: \"token\",\n description: \"Path to file containing Foundry API token\"\n }\n }).group([\"application\", \"foundryUrl\", \"token\", \"tokenFile\"], \"Common Options\").command(version).command(deploy).check(args => {\n if (!args.foundryUrl.startsWith(\"https://\")) {\n throw new YargsCheckError(\"foundryUrl must start with https://\");\n }\n return true;\n }).middleware(args => logSiteCommandConfigFileOverride(args, config?.foundryConfig)).demandCommand();\n },\n handler: async args => {}\n};\nexport default command;","/*\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 { isValidSemver } from \"../../../util/isValidSemver.js\";\nexport const command = {\n command: \"generate\",\n describe: \"Generate TypeScript SDK from ontology\",\n builder: argv => {\n return argv.options({\n \"outDir\": {\n type: \"string\",\n description: \"Where to place the generated files\",\n demandOption: true\n },\n ontologyPath: {\n description: \"Path to the ontology wire json\",\n type: \"string\",\n demandOption: false,\n conflicts: [\"foundryUrl\", \"clientId\"]\n },\n foundryUrl: {\n description: \"The URL to the foundry stack that contains the ontology\",\n type: \"string\",\n demandOption: false,\n conflicts: \"ontologyPath\",\n implies: \"clientId\",\n alias: \"stack\" // for backwards compatibility\n },\n clientId: {\n description: \"The application's client id\",\n type: \"string\",\n demandOption: false,\n conflicts: \"ontologyPath\",\n implies: \"foundryUrl\"\n },\n ontologyWritePath: {\n description: \"Path to write the ontology wire json\",\n type: \"string\",\n demandOption: false,\n conflicts: [\"ontologyPath\"]\n },\n beta: {\n type: \"boolean\",\n description: \"Should generate beta sdk\",\n demandOption: false\n },\n packageType: {\n default: \"commonjs\",\n choices: [\"commonjs\", \"module\"]\n },\n version: {\n type: \"string\",\n description: \"Version of the generated code, or 'dev'\",\n demandOption: true\n }\n }).group([\"ontologyPath\", \"outDir\", \"version\"], \"Generate from a local file\").group([\"foundryUrl\", \"clientId\", \"outDir\", \"ontologyWritePath\", \"version\"], \"OR Generate from Foundry\").check(args => {\n if (!args.ontologyPath && !args.foundryUrl) {\n throw new Error(\"Error: Must specify either ontologyPath or foundryUrl and clientId\");\n }\n if (args.version !== \"dev\" && !isValidSemver(args.version)) {\n throw new Error(\"Error: Version must be 'dev' or a valid semver version\");\n }\n return true;\n });\n },\n handler: async args => {\n const command = await import(\"./handleGenerate.mjs\");\n await command.default(args);\n }\n};\nexport default command;","/*\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 generate from \"./generate/generate.js\";\nconst site = {\n command: \"typescript\",\n describe: \"Manage code\",\n builder: argv => {\n return argv.command(generate).demandCommand();\n },\n handler: async args => {}\n};\nexport default site;","/*\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 { consola } from \"consola\";\nimport getConfig from \"../util/configLoader.js\";\nlet firstTime = true;\nexport async function logConfigFileMiddleware() {\n if (firstTime) {\n firstTime = false;\n const config = getConfig();\n const configFilePath = (await config)?.configFilePath;\n if (configFilePath) {\n consola.debug(`Using configuration from file: \"${configFilePath}\"`);\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\nimport { consola } from \"consola\";\nlet firstTime = true;\nexport async function logVersionMiddleware(args) {\n if (firstTime) {\n firstTime = false;\n // This will be called before any command is executed\n consola.info(`Palantir OSDK CLI ${process.env.PACKAGE_VERSION}`);\n consola.level = 3 + args.verbose; // so 1 -v is debug logs and -vv is trace\n if (consola.level > 3) {\n consola.debug(`Verbose logging enabled (${consola.level === 4 ? \"debug\" : \"trace\"})`);\n }\n consola.log(\"\"); // intentional blank line\n }\n}"]}
1
+ {"version":3,"sources":["../../src/cli.ts","../../src/commands/auth/login/index.ts","../../src/commands/auth/index.ts","../../src/util/config.ts","../../src/util/configLoader.ts","../../src/commands/site/deploy/logDeployCommandConfigFileOverride.ts","../../src/commands/site/deploy/index.ts","../../src/commands/site/logSiteCommandConfigFileOverride.ts","../../src/commands/site/version/delete/index.ts","../../src/commands/site/version/get/index.ts","../../src/commands/site/version/list/index.ts","../../src/commands/site/version/set/index.ts","../../src/commands/site/version/unset/index.ts","../../src/commands/site/version/index.ts","../../src/commands/site/index.ts","../../src/commands/typescript/generate/generate.ts","../../src/commands/typescript/index.ts","../../src/yargs/logConfigFileMiddleware.ts","../../src/yargs/logVersionMiddleware.ts"],"names":["consola","command","autoVersion","application","foundryUrl","site","firstTime"],"mappings":"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","sourcesContent":["/*\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 { consola } from \"consola\";\nimport { colorize } from \"consola/utils\";\nimport yargs from \"yargs\";\nimport { hideBin } from \"yargs/helpers\";\nimport auth from \"./commands/auth/index.js\";\nimport site from \"./commands/site/index.js\";\nimport typescript from \"./commands/typescript/index.js\";\nimport { ExitProcessError } from \"./ExitProcessError.js\";\nimport { logConfigFileMiddleware } from \"./yargs/logConfigFileMiddleware.js\";\nimport { logVersionMiddleware } from \"./yargs/logVersionMiddleware.js\";\nimport { YargsCheckError } from \"./YargsCheckError.js\";\nexport async function cli(args = process.argv) {\n const base = yargs(hideBin(args)).wrap(Math.min(150, yargs().terminalWidth())).env(\"OSDK\").version(false).option(\"verbose\", {\n alias: \"v\",\n type: \"boolean\",\n description: \"Enable verbose logging\",\n count: true\n }).demandCommand().middleware(logVersionMiddleware, true).middleware(logConfigFileMiddleware).strict().command({\n command: \"unstable\",\n aliases: [\"experimental\"],\n describe: \"Unstable commands\",\n builder: async argv => {\n return argv.command(site).command(typescript).command(auth).demandCommand();\n },\n handler: _args => {}\n }).fail(async (msg, err, argv) => {\n if (err instanceof ExitProcessError) {\n consola.error(err.message);\n if (err.tip != null) {\n consola.log(colorize(\"bold\", `💡 Tip: ${err.tip}`));\n consola.log(\"\");\n }\n consola.debug(err.stack);\n } else {\n if (err && err instanceof YargsCheckError === false) {\n throw err;\n } else {\n argv.showHelp();\n consola.log(\"\");\n consola.error(msg);\n }\n }\n process.exit(1);\n });\n\n // Special handling where failures happen before yargs does its error handling within .fail\n try {\n return await base.parseAsync();\n } catch (err) {\n if (err instanceof ExitProcessError) {\n consola.error(err);\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 command = {\n command: \"login\",\n describe: \"Authenticate with an application ID\",\n builder: argv => {\n return argv.option(\"clientId\", {\n alias: \"applicationId\",\n // for backwards compatibility\n type: \"string\",\n demandOption: true,\n describe: \"OAuth client ID for application\"\n });\n },\n handler: async args => {\n const command = await import(\"./loginFlow.js\");\n await command.default(args);\n }\n};\nexport default command;","/*\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 login from \"./login/index.js\";\nconst site = {\n command: \"auth\",\n describe: \"Manage your session\",\n builder: argv => {\n return argv.options({\n foundryUrl: {\n type: \"string\",\n demandOption: true,\n alias: \"baseUrl\",\n // for backwards compatibility\n describe: \"URL for the Foundry stack\"\n }\n }).command(login).demandCommand();\n },\n handler: async args => {}\n};\nexport default site;","/*\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 { promises as fsPromises } from \"node:fs\";\nimport { extname } from \"node:path\";\nimport { ExitProcessError } from \"../ExitProcessError.js\";\nconst CONFIG_FILE_NAMES = [\"foundry.config.json\"];\nconst CONFIG_FILE_SCHEMA = {\n type: \"object\",\n properties: {\n foundryUrl: {\n type: \"string\"\n },\n site: {\n type: \"object\",\n properties: {\n application: {\n type: \"string\"\n },\n directory: {\n type: \"string\"\n },\n autoVersion: {\n type: \"object\",\n nullable: true,\n oneOf: [{\n properties: {\n \"type\": {\n const: \"git-describe\",\n type: \"string\"\n },\n \"tagPrefix\": {\n type: \"string\",\n nullable: true\n }\n }\n }],\n required: [\"type\"]\n }\n },\n required: [\"application\", \"directory\"]\n }\n },\n required: [\"foundryUrl\", \"site\"],\n additionalProperties: false\n};\n\n/**\n * Asynchronously loads a configuration file. Looks for any of the CONFIG_FILE_NAMES in the current directory going up to the root directory.\n * @returns A promise that resolves to the configuration JSON object, or undefined if not found.\n * @throws Will throw an error if the configuration file is found but cannot be read or parsed.\n */\nexport async function loadFoundryConfig() {\n const ajvModule = await import(\"ajv\");\n const Ajv = ajvModule.default.default; // https://github.com/ajv-validator/ajv/issues/2132\n const ajv = new Ajv({\n allErrors: true\n });\n const validate = ajv.compile(CONFIG_FILE_SCHEMA);\n const {\n findUp\n } = await import(\"find-up\");\n const configFilePath = await findUp(CONFIG_FILE_NAMES);\n if (configFilePath) {\n let foundryConfig;\n try {\n const fileContent = await fsPromises.readFile(configFilePath, \"utf-8\");\n foundryConfig = parseConfigFile(fileContent, configFilePath);\n } catch (error) {\n throw new ExitProcessError(2, `Couldn't read or parse config file ${configFilePath}. Error: ${error}`);\n }\n if (!validate(foundryConfig)) {\n throw new ExitProcessError(2, `The configuration file does not match the expected schema: ${ajv.errorsText(validate.errors)}`);\n }\n return {\n foundryConfig,\n configFilePath\n };\n }\n return undefined;\n}\nfunction parseConfigFile(fileContent, configFilePath) {\n const extension = extname(configFilePath);\n switch (extension) {\n case \".json\":\n return JSON.parse(fileContent);\n default:\n throw new ExitProcessError(2, `Unsupported file extension: ${extension} for config file.`);\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 { loadFoundryConfig } from \"./config.js\";\nlet configPromise = undefined;\nfunction getConfig() {\n if (configPromise == null) {\n configPromise = loadFoundryConfig();\n }\n return configPromise;\n}\nexport default getConfig;","/*\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 { consola } from \"consola\";\nexport async function logDeployCommandConfigFileOverride(args, config) {\n if (config?.autoVersion != null && args.autoVersion !== config?.autoVersion.type) {\n consola.debug(`Overriding \"autoVersion\" from config file with ${args.autoVersion}`);\n }\n if (config?.directory != null && args.directory !== config?.directory) {\n consola.debug(`Overriding \"directory\" from config file with ${args.directory}`);\n }\n if (config?.autoVersion?.tagPrefix != null && args.gitTagPrefix != null && args.gitTagPrefix !== config?.autoVersion.tagPrefix) {\n consola.debug(`Overriding \"gitTagPrefix\" from config file with ${args.gitTagPrefix}`);\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 configLoader from \"../../../util/configLoader.js\";\nimport { isValidSemver } from \"../../../util/isValidSemver.js\";\nimport { YargsCheckError } from \"../../../YargsCheckError.js\";\nimport { logDeployCommandConfigFileOverride } from \"./logDeployCommandConfigFileOverride.js\";\nconst command = {\n command: \"deploy\",\n describe: \"Deploy a new site version\",\n builder: async argv => {\n const config = await configLoader();\n const siteConfig = config?.foundryConfig.site;\n const directory = siteConfig?.directory;\n const autoVersion = siteConfig?.autoVersion;\n const gitTagPrefix = autoVersion?.tagPrefix;\n return argv.options({\n directory: {\n type: \"string\",\n description: \"Directory containing site files\",\n ...(directory ? {\n default: directory\n } : {\n demandOption: true\n })\n },\n uploadOnly: {\n type: \"boolean\",\n description: \"Upload new site version only without setting as live\",\n default: false\n },\n version: {\n type: \"string\",\n description: \"New version of site to deploy\",\n ...(autoVersion == null ? {\n conflicts: \"autoVersion\"\n } : {})\n },\n autoVersion: {\n coerce: autoVersion => autoVersion,\n type: \"string\",\n choices: [\"git-describe\"],\n description: \"Enable auto versioning\",\n ...(autoVersion != null ? {\n default: autoVersion.type\n } : {\n conflicts: \"version\"\n })\n },\n gitTagPrefix: {\n type: \"string\",\n description: \"Prefix to match git tags on when 'git-describe' auto versioning is used. If not provided, all tags are matched and the prefix 'v' is stripped if present.\",\n ...(gitTagPrefix ? {\n default: gitTagPrefix\n } : {})\n }\n }).group([\"directory\", \"version\", \"uploadOnly\"], \"Deploy Options\").group([\"autoVersion\", \"gitTagPrefix\"], \"Auto Version Options\").check(args => {\n // This is required because we can't use demandOption with conflicts. conflicts protects us against the case where both are provided.\n // So this case is for when nothing is provided.\n if (autoVersion == null && args.autoVersion == null && args.version == null) {\n throw new YargsCheckError(\"One of --version or --autoVersion must be specified\");\n }\n if (args.version != null && !isValidSemver(args.version)) {\n throw new YargsCheckError(`--version \"${args.version}\" must be a valid SemVer string`);\n }\n const autoVersionType = args.autoVersion ?? autoVersion;\n if (autoVersionType !== \"git-describe\") {\n throw new YargsCheckError(`Only 'git-describe' is supported for autoVersion`);\n }\n const gitTagPrefixValue = args.gitTagPrefix ?? gitTagPrefix;\n // Future proofing for when we support other autoVersion types\n if (gitTagPrefixValue != null && autoVersionType !== \"git-describe\") {\n throw new YargsCheckError(`--gitTagPrefix is only supported when --autoVersion=git-describe`);\n }\n return true;\n }).middleware(args => logDeployCommandConfigFileOverride(args, siteConfig));\n },\n handler: async args => {\n const command = await import(\"./siteDeployCommand.mjs\");\n const {\n version,\n autoVersion,\n gitTagPrefix,\n ...restArgs\n } = args;\n const selectedVersion = args.version != null ? args.version : {\n type: args.autoVersion,\n tagPrefix: args.gitTagPrefix\n };\n await command.default({\n ...restArgs,\n selectedVersion\n });\n }\n};\nexport default command;","/*\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 { consola } from \"consola\";\nexport async function logSiteCommandConfigFileOverride(args, config) {\n if (config?.site.application != null && args.application !== config.site.application) {\n consola.debug(`Overriding \"application\" from config file with ${args.application}`);\n }\n if (config?.foundryUrl != null && args.foundryUrl !== config.foundryUrl) {\n consola.debug(`Overriding \"foundryUrl\" from config file with ${args.foundryUrl}`);\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\nconst command = {\n command: \"delete <version>\",\n describe: \"Delete site version\",\n builder: argv => {\n return argv.positional(\"version\", {\n type: \"string\",\n demandOption: true,\n description: \"Version to set as live\"\n }).option(\"yes\", {\n alias: \"y\",\n type: \"boolean\",\n description: \"Automatically confirm destructive changes\"\n }).group([\"yes\"], \"Delete Options\");\n },\n handler: async args => {\n const command = await import(\"./versionDeleteCommand.mjs\");\n await command.default(args);\n }\n};\nexport default command;","/*\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\nconst command = {\n command: \"get\",\n describe: \"Get live site version\",\n builder: argv => {\n return argv;\n },\n handler: async args => {\n const command = await import(\"./versionGetCommand.mjs\");\n await command.default(args);\n }\n};\nexport default command;","/*\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\nconst command = {\n command: \"list\",\n describe: \"List site versions\",\n builder: argv => {\n return argv;\n },\n handler: async args => {\n const command = await import(\"./versionListCommand.mjs\");\n await command.default(args);\n }\n};\nexport default command;","/*\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\nconst command = {\n command: \"set <version>\",\n describe: \"Set live site version\",\n builder: argv => {\n return argv.positional(\"version\", {\n type: \"string\",\n demandOption: true,\n description: \"Version to set as live\"\n });\n },\n handler: async args => {\n const command = await import(\"./versionSetCommand.mjs\");\n await command.default(args);\n }\n};\nexport default command;","/*\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\nconst command = {\n command: \"unset\",\n describe: \"Clear live site version\",\n builder: argv => {\n return argv.option(\"yes\", {\n alias: \"y\",\n type: \"boolean\",\n description: \"Automatically confirm destructive changes\"\n }).group([\"yes\"], \"Unset Options\");\n },\n handler: async args => {\n const command = await import(\"./versionUnsetCommand.mjs\");\n await command.default(args);\n }\n};\nexport default command;","/*\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 deleteCmd from \"./delete/index.js\";\nimport get from \"./get/index.js\";\nimport list from \"./list/index.js\";\nimport set from \"./set/index.js\";\nimport unset from \"./unset/index.js\";\nconst command = {\n command: \"version\",\n describe: \"Manage site versions\",\n builder: argv => {\n return argv.command(list).command(get).command(set).command(unset).command(deleteCmd).demandCommand();\n },\n handler: async args => {}\n};\nexport default command;","/*\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 configLoader from \"../../util/configLoader.js\";\nimport { YargsCheckError } from \"../../YargsCheckError.js\";\nimport deploy from \"./deploy/index.js\";\nimport { logSiteCommandConfigFileOverride } from \"./logSiteCommandConfigFileOverride.js\";\nimport version from \"./version/index.js\";\nconst command = {\n command: \"site\",\n describe: \"Manage your site\",\n builder: async argv => {\n const config = await configLoader();\n const application = config?.foundryConfig.site.application;\n const foundryUrl = config?.foundryConfig.foundryUrl;\n return argv.options({\n application: {\n type: \"string\",\n coerce: application => application,\n ...(application ? {\n default: application\n } : {\n demandOption: true\n }),\n description: \"Application resource identifier (rid)\"\n },\n foundryUrl: {\n coerce: foundryUrl => foundryUrl.replace(/\\/$/, \"\"),\n type: \"string\",\n ...(foundryUrl ? {\n default: foundryUrl\n } : {\n demandOption: true\n }),\n description: \"URL for the Foundry stack\"\n },\n token: {\n type: \"string\",\n conflicts: \"tokenFile\",\n description: \"Foundry API token\"\n },\n tokenFile: {\n type: \"string\",\n conflicts: \"token\",\n description: \"Path to file containing Foundry API token\"\n }\n }).group([\"application\", \"foundryUrl\", \"token\", \"tokenFile\"], \"Common Options\").command(version).command(deploy).check(args => {\n if (!args.foundryUrl.startsWith(\"https://\")) {\n throw new YargsCheckError(\"foundryUrl must start with https://\");\n }\n return true;\n }).middleware(args => logSiteCommandConfigFileOverride(args, config?.foundryConfig)).demandCommand();\n },\n handler: async args => {}\n};\nexport default command;","/*\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 { isValidSemver } from \"../../../util/isValidSemver.js\";\nimport { YargsCheckError } from \"../../../YargsCheckError.js\";\nexport const command = {\n command: \"generate\",\n describe: \"Generate TypeScript SDK from ontology\",\n builder: argv => {\n return argv.options({\n \"outDir\": {\n type: \"string\",\n description: \"Where to place the generated files\",\n demandOption: true\n },\n ontologyPath: {\n description: \"Path to the ontology wire json\",\n type: \"string\",\n demandOption: false,\n conflicts: [\"foundryUrl\", \"clientId\"]\n },\n foundryUrl: {\n description: \"URL for the foundry stack that contains the ontology\",\n type: \"string\",\n demandOption: false,\n conflicts: \"ontologyPath\",\n implies: \"clientId\",\n alias: \"stack\" // for backwards compatibility\n },\n clientId: {\n description: \"OAuth client ID for application\",\n type: \"string\",\n demandOption: false,\n conflicts: \"ontologyPath\",\n implies: \"foundryUrl\"\n },\n ontologyWritePath: {\n description: \"Path to write the ontology wire json\",\n type: \"string\",\n demandOption: false,\n conflicts: [\"ontologyPath\"]\n },\n beta: {\n type: \"boolean\",\n description: \"Should generate beta sdk\",\n demandOption: false\n },\n packageType: {\n default: \"commonjs\",\n choices: [\"commonjs\", \"module\"]\n },\n version: {\n type: \"string\",\n description: \"Version of the generated code, or 'dev'\",\n demandOption: true\n }\n }).group([\"ontologyPath\", \"outDir\", \"version\"], \"Generate from a local file\").group([\"foundryUrl\", \"clientId\", \"outDir\", \"ontologyWritePath\", \"version\"], \"OR Generate from Foundry\").check(args => {\n if (!args.ontologyPath && !args.foundryUrl) {\n throw new YargsCheckError(\"Must specify either ontologyPath or foundryUrl and clientId\");\n }\n if (args.version !== \"dev\" && !isValidSemver(args.version)) {\n throw new YargsCheckError(\"Version must be 'dev' or a valid semver version\");\n }\n return true;\n });\n },\n handler: async args => {\n const command = await import(\"./handleGenerate.mjs\");\n await command.default(args);\n }\n};\nexport default command;","/*\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 generate from \"./generate/generate.js\";\nconst site = {\n command: \"typescript\",\n describe: \"Manage code\",\n builder: argv => {\n return argv.command(generate).demandCommand();\n },\n handler: async args => {}\n};\nexport default site;","/*\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 { consola } from \"consola\";\nimport getConfig from \"../util/configLoader.js\";\nlet firstTime = true;\nexport async function logConfigFileMiddleware() {\n if (firstTime) {\n firstTime = false;\n const config = getConfig();\n const configFilePath = (await config)?.configFilePath;\n if (configFilePath) {\n consola.debug(`Using configuration from file: \"${configFilePath}\"`);\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\nimport { consola } from \"consola\";\nlet firstTime = true;\nexport async function logVersionMiddleware(args) {\n if (firstTime) {\n firstTime = false;\n // This will be called before any command is executed\n consola.info(`Palantir OSDK CLI ${process.env.PACKAGE_VERSION}`);\n consola.level = 3 + args.verbose; // so 1 -v is debug logs and -vv is trace\n if (consola.level > 3) {\n consola.debug(`Verbose logging enabled (${consola.level === 4 ? \"debug\" : \"trace\"})`);\n }\n consola.log(\"\"); // intentional blank line\n }\n}"]}