@osdk/cli 0.3.0 → 0.4.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 (114) hide show
  1. package/build/js/{chunk-OOW63BC4.cjs → chunk-D7QHLGEU.cjs} +88 -24
  2. package/build/js/chunk-D7QHLGEU.cjs.map +1 -0
  3. package/build/js/chunk-N6K26UR4.mjs +9 -0
  4. package/build/js/chunk-N6K26UR4.mjs.map +1 -0
  5. package/build/js/chunk-X2S4O5ZR.cjs +11 -0
  6. package/build/js/chunk-X2S4O5ZR.cjs.map +1 -0
  7. package/build/js/{chunk-SQHFJOHN.mjs → chunk-XNYKWAIE.mjs} +84 -26
  8. package/build/js/chunk-XNYKWAIE.mjs.map +1 -0
  9. package/build/js/{handleGenerate-K6X2HG4V.mjs → handleGenerate-A7X2XAGW.mjs} +2 -2
  10. package/build/js/{handleGenerate-FCY2LRSZ.cjs → handleGenerate-WOW33WYG.cjs} +2 -2
  11. package/build/js/index.cjs +334 -81
  12. package/build/js/index.cjs.map +1 -1
  13. package/build/js/index.mjs +333 -80
  14. package/build/js/index.mjs.map +1 -1
  15. package/build/js/siteDeployCommand-HSR3QDAT.mjs +82 -0
  16. package/build/js/siteDeployCommand-HSR3QDAT.mjs.map +1 -0
  17. package/build/js/siteDeployCommand-MXKGJFFB.cjs +107 -0
  18. package/build/js/siteDeployCommand-MXKGJFFB.cjs.map +1 -0
  19. package/build/js/versionDeleteCommand-6BJL5XLG.mjs +26 -0
  20. package/build/js/versionDeleteCommand-6BJL5XLG.mjs.map +1 -0
  21. package/build/js/versionDeleteCommand-RLU7UUYD.cjs +28 -0
  22. package/build/js/versionDeleteCommand-RLU7UUYD.cjs.map +1 -0
  23. package/build/js/versionGetCommand-OR4RLOLM.mjs +28 -0
  24. package/build/js/versionGetCommand-OR4RLOLM.mjs.map +1 -0
  25. package/build/js/versionGetCommand-Y2VR2WKH.cjs +30 -0
  26. package/build/js/versionGetCommand-Y2VR2WKH.cjs.map +1 -0
  27. package/build/js/versionListCommand-5KM5PFYL.cjs +34 -0
  28. package/build/js/versionListCommand-5KM5PFYL.cjs.map +1 -0
  29. package/build/js/versionListCommand-LPPGQCQF.mjs +32 -0
  30. package/build/js/versionListCommand-LPPGQCQF.mjs.map +1 -0
  31. package/build/js/versionSetCommand-LHOVVI6U.mjs +31 -0
  32. package/build/js/versionSetCommand-LHOVVI6U.mjs.map +1 -0
  33. package/build/js/versionSetCommand-VD3L5DOV.cjs +33 -0
  34. package/build/js/versionSetCommand-VD3L5DOV.cjs.map +1 -0
  35. package/build/js/versionUnsetCommand-IJT4JWBN.mjs +24 -0
  36. package/build/js/versionUnsetCommand-IJT4JWBN.mjs.map +1 -0
  37. package/build/js/versionUnsetCommand-XYBUQ6XB.cjs +26 -0
  38. package/build/js/versionUnsetCommand-XYBUQ6XB.cjs.map +1 -0
  39. package/build/types/YargsCheckError.d.ts +3 -0
  40. package/build/types/commands/site/CommonSiteArgs.d.ts +4 -2
  41. package/build/types/commands/site/deploy/SiteDeployArgs.d.ts +5 -2
  42. package/build/types/commands/site/deploy/index.d.ts +1 -1
  43. package/build/types/commands/site/deploy/logDeployCommandConfigFileOverride.d.ts +4 -0
  44. package/build/types/commands/site/deploy/siteDeployCommand.d.mts +2 -0
  45. package/build/types/commands/site/index.d.ts +3 -3
  46. package/build/types/commands/site/logSiteCommandConfigFileOverride.d.ts +4 -0
  47. package/build/types/commands/site/version/SiteVersionArgs.d.ts +4 -0
  48. package/build/types/commands/site/version/delete/index.d.ts +5 -0
  49. package/build/types/commands/site/version/delete/versionDeleteCommand.d.mts +2 -0
  50. package/build/types/commands/site/version/get/index.d.ts +4 -0
  51. package/build/types/commands/site/version/get/versionGetCommand.d.mts +2 -0
  52. package/build/types/commands/site/{versions → version}/index.d.ts +1 -1
  53. package/build/types/commands/site/version/list/index.d.ts +4 -0
  54. package/build/types/commands/site/version/list/versionListCommand.d.mts +2 -0
  55. package/build/types/commands/site/version/set/index.d.ts +5 -0
  56. package/build/types/commands/site/version/set/versionSetCommand.d.mts +2 -0
  57. package/build/types/commands/site/version/unset/index.d.ts +4 -0
  58. package/build/types/commands/site/version/unset/versionUnsetCommand.d.mts +2 -0
  59. package/build/types/net/artifacts/SiteAssetArtifactsService/DeleteSiteVersionRequest.d.mts +5 -0
  60. package/build/types/net/artifacts/SiteAssetArtifactsService/UploadZippedSiteAssetRequest.d.mts +6 -0
  61. package/build/types/net/artifacts/SiteAssetArtifactsService/deleteSiteVersion.d.mts +3 -2
  62. package/build/types/net/artifacts/SiteAssetArtifactsService/fetchSiteVersions.d.mts +2 -1
  63. package/build/types/net/artifacts/SiteAssetArtifactsService/uploadSiteVersion.d.mts +3 -2
  64. package/build/types/net/createConjureContext.d.mts +1 -1
  65. package/build/types/net/createInternalClientContext.d.mts +2 -0
  66. package/build/types/net/index.d.mts +1 -0
  67. package/build/types/net/internalClientContext.d.mts +4 -0
  68. package/build/types/net/third-party-application-service/fetchWebsiteRepositoryRid.d.mts +2 -1
  69. package/build/types/util/autoVersion.d.ts +8 -0
  70. package/build/types/util/autoVersion.test.d.ts +1 -0
  71. package/build/types/util/config.d.ts +25 -0
  72. package/build/types/util/config.test.d.ts +1 -0
  73. package/build/types/util/configLoader.d.ts +3 -0
  74. package/build/types/util/isValidSemver.test.d.ts +1 -0
  75. package/build/types/util/token.d.ts +21 -0
  76. package/build/types/util/token.test.d.ts +1 -0
  77. package/build/types/yargs/logConfigFileMiddleware.d.ts +1 -0
  78. package/changelog/0.3.0/pr-20.v2.yml +5 -0
  79. package/changelog/0.4.0/pr-15.v2.yml +5 -0
  80. package/changelog/0.4.0/pr-17.v2.yml +5 -0
  81. package/changelog/0.4.0/pr-35.v2.yml +5 -0
  82. package/changelog/0.4.0/pr-41.v2.yml +5 -0
  83. package/changelog/0.4.0/pr-42.v2.yml +5 -0
  84. package/changelog/@unreleased/.gitkeep +0 -0
  85. package/package.json +5 -2
  86. package/build/js/chunk-OOW63BC4.cjs.map +0 -1
  87. package/build/js/chunk-SQHFJOHN.mjs.map +0 -1
  88. package/build/js/handleSiteDeploy-5C2FGADK.cjs +0 -30
  89. package/build/js/handleSiteDeploy-5C2FGADK.cjs.map +0 -1
  90. package/build/js/handleSiteDeploy-HHXON5YE.mjs +0 -28
  91. package/build/js/handleSiteDeploy-HHXON5YE.mjs.map +0 -1
  92. package/build/js/siteDeleteCommand-47GMSHFS.mjs +0 -13
  93. package/build/js/siteDeleteCommand-47GMSHFS.mjs.map +0 -1
  94. package/build/js/siteDeleteCommand-7YTHDD4P.cjs +0 -15
  95. package/build/js/siteDeleteCommand-7YTHDD4P.cjs.map +0 -1
  96. package/build/js/siteUploadCommand-HBZYJ4ZP.cjs +0 -58
  97. package/build/js/siteUploadCommand-HBZYJ4ZP.cjs.map +0 -1
  98. package/build/js/siteUploadCommand-S2HTCGZK.mjs +0 -33
  99. package/build/js/siteUploadCommand-S2HTCGZK.mjs.map +0 -1
  100. package/build/js/siteVersionsCommand-GU3HKEGQ.cjs +0 -29
  101. package/build/js/siteVersionsCommand-GU3HKEGQ.cjs.map +0 -1
  102. package/build/js/siteVersionsCommand-X5MO726Z.mjs +0 -27
  103. package/build/js/siteVersionsCommand-X5MO726Z.mjs.map +0 -1
  104. package/build/types/commands/site/delete/DeleteArgs.d.ts +0 -4
  105. package/build/types/commands/site/delete/index.d.ts +0 -5
  106. package/build/types/commands/site/delete/siteDeleteCommand.d.mts +0 -2
  107. package/build/types/commands/site/deploy/handleSiteDeploy.d.mts +0 -2
  108. package/build/types/commands/site/upload/UploadArgs.d.ts +0 -5
  109. package/build/types/commands/site/upload/index.d.ts +0 -5
  110. package/build/types/commands/site/upload/siteUploadCommand.d.mts +0 -2
  111. package/build/types/commands/site/versions/siteVersionsCommand.d.mts +0 -2
  112. /package/{CHANGELOG.md → CHANGELOG_OLD.md} +0 -0
  113. /package/build/js/{handleGenerate-FCY2LRSZ.cjs.map → handleGenerate-A7X2XAGW.mjs.map} +0 -0
  114. /package/build/js/{handleGenerate-K6X2HG4V.mjs.map → handleGenerate-WOW33WYG.cjs.map} +0 -0
@@ -5,6 +5,12 @@ var chunkHQDDGVB7_cjs = require('./chunk-HQDDGVB7.cjs');
5
5
  var conjureLite = require('conjure-lite');
6
6
  var consola = require('consola');
7
7
  var shared_net = require('@osdk/shared.net');
8
+ var fs = require('fs');
9
+ var path = require('path');
10
+
11
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
12
+
13
+ var path__default = /*#__PURE__*/_interopDefault(path);
8
14
 
9
15
  // src/generated/artifacts-sites/ArtifactsSitesAdminV2Service.ts
10
16
  var ArtifactsSitesAdminV2Service_exports = {};
@@ -85,17 +91,17 @@ function createDebugLoggingFetch(fetchFn = fetch) {
85
91
  });
86
92
  };
87
93
  }
88
- async function fetchWebsiteRepositoryRid(baseUrl, thirdPartyAppRid) {
89
- const fetch2 = createFetch(() => process.env.FOUNDRY_SDK_AUTH_TOKEN);
94
+ async function fetchWebsiteRepositoryRid(ctx, thirdPartyAppRid) {
95
+ const fetch2 = createFetch(ctx.tokenProvider);
90
96
  const url = `
91
- ${baseUrl}/third-party-application-service/api/application-websites/${thirdPartyAppRid}`;
97
+ ${ctx.foundryUrl}/third-party-application-service/api/application-websites/${thirdPartyAppRid}`;
92
98
  const result = await fetch2(url);
93
99
  if (result.status >= 200 && result.status < 300) {
94
100
  const repositoryRid = await result.json();
95
101
  consola.consola.debug(`Repository RID: ${repositoryRid}`);
96
102
  return repositoryRid;
97
103
  }
98
- throw new Error(`Unexpected response code ${result.status} (${result.statusText})`);
104
+ throw new chunkHYF3CTKZ_cjs.ExitProcessError(result.status, `Unexpected response code ${result.status} (${result.statusText})`);
99
105
  }
100
106
 
101
107
  // src/net/artifacts/SiteAssetArtifactsService/getSiteAssetBaseUrl.mts
@@ -104,15 +110,14 @@ function getSiteAssetBaseUrl(foundryBaseUrl, repositoryRid) {
104
110
  }
105
111
 
106
112
  // src/net/artifacts/SiteAssetArtifactsService/deleteSiteVersion.mts
107
- async function deleteSiteVersion(baseUrl, thirdPartyAppRid, version) {
108
- const repositoryRid = await fetchWebsiteRepositoryRid(baseUrl, thirdPartyAppRid);
109
- const url = `${getSiteAssetBaseUrl(baseUrl, repositoryRid)}/versions/${version}`;
110
- const fetch2 = createFetch(() => process.env.FOUNDRY_SDK_AUTH_TOKEN);
113
+ async function deleteSiteVersion(ctx, request) {
114
+ const repositoryRid = await fetchWebsiteRepositoryRid(ctx, request.application);
115
+ const url = `${getSiteAssetBaseUrl(ctx.foundryUrl, repositoryRid)}/versions/${request.version}`;
116
+ const fetch2 = createFetch(ctx.tokenProvider);
111
117
  const result = await fetch2(url, {
112
118
  method: "DELETE"
113
119
  });
114
120
  if (result.status >= 200 && result.status < 300) {
115
- consola.consola.level = consola.LogLevels.debug;
116
121
  consola.consola.debug(`${result.status} - Status Text: '${result.statusText}'`);
117
122
  return true;
118
123
  } else {
@@ -121,25 +126,25 @@ async function deleteSiteVersion(baseUrl, thirdPartyAppRid, version) {
121
126
  }
122
127
 
123
128
  // src/net/artifacts/SiteAssetArtifactsService/fetchSiteVersions.mts
124
- async function fetchSiteVersions(baseUrl, thirdPartyAppRid) {
125
- const repositoryRid = await fetchWebsiteRepositoryRid(baseUrl, thirdPartyAppRid);
126
- const url = `${getSiteAssetBaseUrl(baseUrl, repositoryRid)}/versions`;
127
- const fetch2 = createFetch(() => process.env.FOUNDRY_SDK_AUTH_TOKEN);
129
+ async function fetchSiteVersions(ctx, thirdPartyAppRid) {
130
+ const repositoryRid = await fetchWebsiteRepositoryRid(ctx, thirdPartyAppRid);
131
+ const url = `${getSiteAssetBaseUrl(ctx.foundryUrl, repositoryRid)}/versions`;
132
+ const fetch2 = createFetch(ctx.tokenProvider);
128
133
  const result = await fetch2(url);
129
134
  if (result.status === 200) {
130
135
  const response = await result.json();
131
136
  return response.versions;
132
137
  } else {
133
- throw new Error(`Unexpected response code ${result.status} (${result.statusText})`);
138
+ throw new chunkHYF3CTKZ_cjs.ExitProcessError(result.status, `Unexpected response code ${result.status} (${result.statusText})`);
134
139
  }
135
140
  }
136
- async function uploadZippedSiteAsset(baseUrl, thirdPartyAppRid, version, zipFile) {
137
- const repositoryRid = await fetchWebsiteRepositoryRid(baseUrl, thirdPartyAppRid);
138
- const url = `${getSiteAssetBaseUrl(baseUrl, repositoryRid)}/versions/zip/${version}`;
139
- const fetch2 = createFetch(() => process.env.FOUNDRY_SDK_AUTH_TOKEN);
141
+ async function uploadZippedSiteAsset(ctx, request) {
142
+ const repositoryRid = await fetchWebsiteRepositoryRid(ctx, request.application);
143
+ const url = `${getSiteAssetBaseUrl(ctx.foundryUrl, repositoryRid)}/versions/zip/${request.version}`;
144
+ const fetch2 = createFetch(ctx.tokenProvider);
140
145
  const result = await fetch2(url, {
141
146
  method: "PUT",
142
- body: zipFile,
147
+ body: request.zipFile,
143
148
  headers: {
144
149
  "Content-Type": "application/octet-stream"
145
150
  },
@@ -147,7 +152,6 @@ async function uploadZippedSiteAsset(baseUrl, thirdPartyAppRid, version, zipFile
147
152
  // Node hates me
148
153
  });
149
154
  if (result.status >= 200 && result.status < 300) {
150
- consola.consola.level = consola.LogLevels.debug;
151
155
  consola.consola.debug("Status Text: " + result.statusText);
152
156
  return true;
153
157
  } else if (result.status === 409) {
@@ -158,23 +162,83 @@ async function uploadZippedSiteAsset(baseUrl, thirdPartyAppRid, version, zipFile
158
162
  }
159
163
 
160
164
  // src/net/createConjureContext.mts
161
- function createConjureContext(baseUrl, servicePath) {
165
+ function createConjureContext(foundryUrl, servicePath, tokenProvider) {
162
166
  return {
163
- fetchFn: createFetch(() => process.env.FOUNDRY_SDK_AUTH_TOKEN),
164
- baseUrl,
167
+ fetchFn: createFetch(tokenProvider),
168
+ baseUrl: foundryUrl,
165
169
  servicePath
166
170
  };
167
171
  }
168
172
 
173
+ // src/net/createInternalClientContext.mts
174
+ function createInternalClientContext(foundryUrl, tokenProvider) {
175
+ return {
176
+ tokenProvider,
177
+ foundryUrl
178
+ };
179
+ }
180
+
169
181
  // src/net/third-party-application-service/index.mts
170
182
  var third_party_application_service_exports = {};
171
183
  chunkHQDDGVB7_cjs.__export(third_party_application_service_exports, {
172
184
  fetchWebsiteRepositoryRid: () => fetchWebsiteRepositoryRid
173
185
  });
186
+ var TOKEN_ENV_VARS = ["FOUNDRY_TOKEN", "FOUNDRY_SDK_AUTH_TOKEN"];
187
+ async function loadToken(token, tokenFile) {
188
+ if (token) {
189
+ consola.consola.debug(`Using token from --token argument`);
190
+ validate(token);
191
+ return token;
192
+ }
193
+ if (tokenFile) {
194
+ const loadedToken = await loadTokenFile(tokenFile);
195
+ consola.consola.debug(`Using token from --tokenFile=${loadedToken.filePath} argument`);
196
+ validate(loadedToken.token);
197
+ return loadedToken.token;
198
+ }
199
+ for (const envVar of TOKEN_ENV_VARS) {
200
+ const environmentToken = process.env[envVar];
201
+ if (environmentToken) {
202
+ consola.consola.debug(`Using token from ${envVar} environment variable`);
203
+ validate(environmentToken);
204
+ if (envVar === "FOUNDRY_SDK_AUTH_TOKEN") {
205
+ consola.consola.warn(`Using FOUNDRY_SDK_AUTH_TOKEN environment variable is deprecated. Please use FOUNDRY_TOKEN instead.`);
206
+ }
207
+ return environmentToken;
208
+ }
209
+ }
210
+ throw new chunkHYF3CTKZ_cjs.ExitProcessError(2, `No token found. Please supply a --token argument, a --token-file argument or set the ${TOKEN_ENV_VARS[0]} environment variable.`);
211
+ }
212
+ async function loadTokenFile(filePath) {
213
+ let token;
214
+ let resolvedPath;
215
+ try {
216
+ resolvedPath = path__default.default.resolve(filePath);
217
+ token = await fs.promises.readFile(resolvedPath, "utf8");
218
+ token = token.trim();
219
+ } catch (error) {
220
+ throw new chunkHYF3CTKZ_cjs.ExitProcessError(2, `Unable to read token file "${filePath}": ${error}`);
221
+ }
222
+ return {
223
+ filePath: resolvedPath,
224
+ token
225
+ };
226
+ }
227
+ function validate(token) {
228
+ if (!isJWT(token)) {
229
+ throw new chunkHYF3CTKZ_cjs.ExitProcessError(2, `Token does not appear to be a JWT`);
230
+ }
231
+ }
232
+ function isJWT(token) {
233
+ const jwtPattern = /^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/;
234
+ return jwtPattern.test(token);
235
+ }
174
236
 
175
237
  exports.ArtifactsSitesAdminV2Service_exports = ArtifactsSitesAdminV2Service_exports;
176
238
  exports.artifacts_exports = artifacts_exports;
177
239
  exports.createConjureContext = createConjureContext;
240
+ exports.createInternalClientContext = createInternalClientContext;
241
+ exports.loadToken = loadToken;
178
242
  exports.third_party_application_service_exports = third_party_application_service_exports;
179
243
  //# sourceMappingURL=out.js.map
180
- //# sourceMappingURL=chunk-OOW63BC4.cjs.map
244
+ //# sourceMappingURL=chunk-D7QHLGEU.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/generated/artifacts-sites/ArtifactsSitesAdminV2Service.ts","../../src/generated/artifacts-sites/ArtifactsSitesAdminV2Service/clearDeployedVersion.ts","../../src/generated/artifacts-sites/ArtifactsSitesAdminV2Service/getContentSecurityPolicyAdditions.ts","../../src/generated/artifacts-sites/ArtifactsSitesAdminV2Service/getDeployedVersion.ts","../../src/generated/artifacts-sites/ArtifactsSitesAdminV2Service/getRegisteredSiteDomains.ts","../../src/generated/artifacts-sites/ArtifactsSitesAdminV2Service/getRequestedSiteDomains.ts","../../src/generated/artifacts-sites/ArtifactsSitesAdminV2Service/previewContentSecurityPolicy.ts","../../src/generated/artifacts-sites/ArtifactsSitesAdminV2Service/putContentSecurityPolicyAdditions.ts","../../src/generated/artifacts-sites/ArtifactsSitesAdminV2Service/requestSiteDomainForRepository.ts","../../src/generated/artifacts-sites/ArtifactsSitesAdminV2Service/unregisterSiteDomain.ts","../../src/generated/artifacts-sites/ArtifactsSitesAdminV2Service/updateDeployedVersion.ts","../../src/net/artifacts/index.mts","../../src/net/artifacts/SiteAssetArtifactsService/index.mts","../../src/net/artifacts/SiteAssetArtifactsService/deleteSiteVersion.mts","../../src/net/createFetch.mts","../../src/net/third-party-application-service/fetchWebsiteRepositoryRid.mts","../../src/net/artifacts/SiteAssetArtifactsService/getSiteAssetBaseUrl.mts","../../src/net/artifacts/SiteAssetArtifactsService/fetchSiteVersions.mts","../../src/net/artifacts/SiteAssetArtifactsService/uploadSiteVersion.mts","../../src/net/createConjureContext.mts","../../src/net/createInternalClientContext.mts","../../src/net/third-party-application-service/index.mts","../../src/util/token.ts"],"names":["conjureFetch","consola","fetch"],"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\nexport { clearDeployedVersion } from \"./ArtifactsSitesAdminV2Service/clearDeployedVersion.js\";\nexport { getContentSecurityPolicyAdditions } from \"./ArtifactsSitesAdminV2Service/getContentSecurityPolicyAdditions.js\";\nexport { getDeployedVersion } from \"./ArtifactsSitesAdminV2Service/getDeployedVersion.js\";\nexport { getRegisteredSiteDomains } from \"./ArtifactsSitesAdminV2Service/getRegisteredSiteDomains.js\";\nexport { getRequestedSiteDomains } from \"./ArtifactsSitesAdminV2Service/getRequestedSiteDomains.js\";\nexport { previewContentSecurityPolicy } from \"./ArtifactsSitesAdminV2Service/previewContentSecurityPolicy.js\";\nexport { putContentSecurityPolicyAdditions } from \"./ArtifactsSitesAdminV2Service/putContentSecurityPolicyAdditions.js\";\nexport { requestSiteDomainForRepository } from \"./ArtifactsSitesAdminV2Service/requestSiteDomainForRepository.js\";\nexport { unregisterSiteDomain } from \"./ArtifactsSitesAdminV2Service/unregisterSiteDomain.js\";\nexport { updateDeployedVersion } from \"./ArtifactsSitesAdminV2Service/updateDeployedVersion.js\";","/*\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 { conjureFetch } from \"conjure-lite\";\n\n/**\n * Clears the deployed version while leaving the associated domain, visiting the associated domain in this state\n * will return an error.\n *\n * artifacts:sites:write-deployment-info permission is needed on the repository rid to call this endpoint.\n */\nexport async function clearDeployedVersion(ctx, repositoryRid) {\n return conjureFetch(ctx, `/sites/v2/admin/repository/${repositoryRid}/deployed-version`, \"DELETE\");\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 { conjureFetch } from \"conjure-lite\";\n/**\n * Get the CSP additions configured for a repository.\n *\n * artifacts:sites:read-deployment-info permission is needed on the repository rid to call this endpoint.\n */\nexport async function getContentSecurityPolicyAdditions(ctx, repositoryRid) {\n return conjureFetch(ctx, `/sites/v2/admin/repository/${repositoryRid}/csp/additions`, \"GET\");\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 { conjureFetch } from \"conjure-lite\";\n/**\n * Get the deployed version that will be served for a given siteasset repository.\n *\n * artifacts:sites:read-deployment-info permission is needed on the repository rid to call this endpoint.\n */\nexport async function getDeployedVersion(ctx, repositoryRid) {\n return conjureFetch(ctx, `/sites/v2/admin/repository/${repositoryRid}/deployed-version`, \"GET\");\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 { conjureFetch } from \"conjure-lite\";\n/**\n * Get domains that have been successfully registered with the given repository. Visiting a successfully\n * registered domain should serve the registered repository assets.\n *\n * artifacts:sites:read-deployment-info permission is needed on the repository rid to call this endpoint.\n */\nexport async function getRegisteredSiteDomains(ctx, repositoryRid) {\n return conjureFetch(ctx, `/sites/v2/admin/repository/${repositoryRid}/domains/registered`, \"GET\");\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 { conjureFetch } from \"conjure-lite\";\n/**\n * Get domains that have been requested for a given repository. For control panel domains that require\n * an approval, this will also include pending requests. Closed/rejected requests will only be included as long\n * as their domain hasn't been re-requested for another repository.\n *\n * artifacts:sites:read-deployment-info permission is needed on the repository rid to call this endpoint.\n */\nexport async function getRequestedSiteDomains(ctx, repositoryRid) {\n return conjureFetch(ctx, `/sites/v2/admin/repository/${repositoryRid}/domains/requested`, \"GET\");\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 { conjureFetch } from \"conjure-lite\";\n/**\n * Preview what the CSP that will be served with the site looks like.\n *\n * artifacts:sites:read-deployment-info permission is needed on the repository rid to call this endpoint.\n */\nexport async function previewContentSecurityPolicy(ctx, repositoryRid, request) {\n return conjureFetch(ctx, `/sites/v2/admin/repository/${repositoryRid}/csp/preview`, \"POST\", request);\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 { conjureFetch } from \"conjure-lite\";\n/**\n * Set the CSP additions configured for a repository.\n *\n * artifacts:sites:write-deployment-info permission is needed on the repository rid to call this endpoint.\n */\nexport async function putContentSecurityPolicyAdditions(ctx, repositoryRid, contentSecurityPolicyAdditions) {\n return conjureFetch(ctx, `/sites/v2/admin/repository/${repositoryRid}/csp/additions`, \"PUT\", contentSecurityPolicyAdditions);\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 { conjureFetch } from \"conjure-lite\";\n/**\n * Requests the registration of a domain with the provided repository, this will result in an approvals task\n * getting created for approval by an admin.\n *\n * Once the task has been approved, visiting the domain will serve the deployed version, if any is deployed.\n *\n * artifacts:sites:manage-domains permission is needed on the repository rid to call this endpoint.\n */\nexport async function requestSiteDomainForRepository(ctx, repositoryRid, request) {\n return conjureFetch(ctx, `/sites/v2/admin/repository/${repositoryRid}/domains/submit-registration`, \"POST\", request);\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 { conjureFetch } from \"conjure-lite\";\n/**\n * Unregisters a domain from a repository, visiting the domain will no longer serve the repository assets.\n *\n * Depending on how the domain for the repository was setup, this might also result in deleting the domain\n * itself.\n *\n * artifacts:sites:manage-domains permission is needed on the repository rid to call this endpoint.\n */\nexport async function unregisterSiteDomain(ctx, repositoryRid, request) {\n return conjureFetch(ctx, `/sites/v2/admin/repository/${repositoryRid}/domains/unregister`, \"POST\", request);\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 { conjureFetch } from \"conjure-lite\";\n/**\n * Sets the asset version of the siteasset repository that will be served.\n *\n * artifacts:sites:write-deployment-info permission is needed on the repository rid to call this endpoint.\n */\nexport async function updateDeployedVersion(ctx, repositoryRid, version) {\n return conjureFetch(ctx, `/sites/v2/admin/repository/${repositoryRid}/deployed-version`, \"PUT\", version);\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 * as SiteAssetArtifactsService from \"./SiteAssetArtifactsService/index.mjs\";","/*\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 { deleteSiteVersion } from \"./deleteSiteVersion.mjs\";\nexport { fetchSiteVersions } from \"./fetchSiteVersions.mjs\";\nexport { uploadZippedSiteAsset } from \"./uploadSiteVersion.mjs\";","/*\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 { ExitProcessError } from \"../../../ExitProcessError.js\";\nimport { createFetch } from \"../../createFetch.mjs\";\nimport { fetchWebsiteRepositoryRid } from \"../../third-party-application-service/fetchWebsiteRepositoryRid.mjs\";\nimport { getSiteAssetBaseUrl } from \"./getSiteAssetBaseUrl.mjs\";\nexport async function deleteSiteVersion(ctx, request) {\n const repositoryRid = await fetchWebsiteRepositoryRid(ctx, request.application);\n const url = `${getSiteAssetBaseUrl(ctx.foundryUrl, repositoryRid)}/versions/${request.version}`;\n const fetch = createFetch(ctx.tokenProvider);\n const result = await fetch(url, {\n method: \"DELETE\"\n });\n if (result.status >= 200 && result.status < 300) {\n consola.debug(`${result.status} - Status Text: '${result.statusText}'`);\n return true;\n } else {\n throw new ExitProcessError(result.status, `Unexpected response code ${result.status} (${result.statusText})`);\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 { createFetchHeaderMutator } from \"@osdk/shared.net\";\nimport { consola } from \"consola\";\nexport function createFetch(tokenProvider, fetchFn = fetch) {\n return createFetchHeaderMutator(createDebugLoggingFetch(fetchFn), async headers => {\n const token = await tokenProvider();\n headers.set(\"Authorization\", `Bearer ${token}`);\n headers.set(\"Fetch-User-Agent\", \"\");\n return headers;\n });\n}\nfunction createDebugLoggingFetch(fetchFn = fetch) {\n return function debugLoggingFetch(input, init) {\n if (typeof input === \"string\" || input instanceof URL) {\n consola.debug(`${init?.method ?? \"GET\"}: ${input.toString().trim()}`);\n } else {\n consola.debug(`${input.method ?? \"GET\"}: ${input.url.toString().trim()}`);\n }\n return fetchFn(input, init).then(a => {\n consola.debug(\"Finished fetch\");\n return a;\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\";\nimport { ExitProcessError } from \"../../ExitProcessError.js\";\nimport { createFetch } from \"../createFetch.mjs\";\nexport async function fetchWebsiteRepositoryRid(ctx, thirdPartyAppRid) {\n const fetch = createFetch(ctx.tokenProvider);\n const url = `\n ${ctx.foundryUrl}/third-party-application-service/api/application-websites/${thirdPartyAppRid}`;\n const result = await fetch(url);\n if (result.status >= 200 && result.status < 300) {\n const repositoryRid = await result.json();\n consola.debug(`Repository RID: ${repositoryRid}`);\n return repositoryRid;\n }\n throw new ExitProcessError(result.status, `Unexpected response code ${result.status} (${result.statusText})`);\n}","/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport function getSiteAssetBaseUrl(foundryBaseUrl, repositoryRid) {\n return `${foundryBaseUrl}/artifacts/api/repositories/${repositoryRid}/contents/release/siteasset`;\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 { ExitProcessError } from \"../../../ExitProcessError.js\";\nimport { createFetch } from \"../../createFetch.mjs\";\nimport { fetchWebsiteRepositoryRid } from \"../../third-party-application-service/fetchWebsiteRepositoryRid.mjs\";\nimport { getSiteAssetBaseUrl } from \"./getSiteAssetBaseUrl.mjs\";\nexport async function fetchSiteVersions(ctx, thirdPartyAppRid) {\n const repositoryRid = await fetchWebsiteRepositoryRid(ctx, thirdPartyAppRid);\n const url = `${getSiteAssetBaseUrl(ctx.foundryUrl, repositoryRid)}/versions`;\n const fetch = createFetch(ctx.tokenProvider);\n const result = await fetch(url);\n if (result.status === 200) {\n const response = await result.json();\n return response.versions;\n } else {\n throw new ExitProcessError(result.status, `Unexpected response code ${result.status} (${result.statusText})`);\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\";\nimport { ExitProcessError } from \"../../../ExitProcessError.js\";\nimport { createFetch } from \"../../createFetch.mjs\";\nimport { fetchWebsiteRepositoryRid } from \"../../third-party-application-service/fetchWebsiteRepositoryRid.mjs\";\nimport { getSiteAssetBaseUrl } from \"./getSiteAssetBaseUrl.mjs\";\nexport async function uploadZippedSiteAsset(ctx, request) {\n const repositoryRid = await fetchWebsiteRepositoryRid(ctx, request.application);\n const url = `${getSiteAssetBaseUrl(ctx.foundryUrl, repositoryRid)}/versions/zip/${request.version}`;\n const fetch = createFetch(ctx.tokenProvider);\n const result = await fetch(url, {\n method: \"PUT\",\n body: request.zipFile,\n headers: {\n \"Content-Type\": \"application/octet-stream\"\n },\n duplex: \"half\" // Node hates me\n });\n if (result.status >= 200 && result.status < 300) {\n consola.debug(\"Status Text: \" + result.statusText);\n return true;\n } else if (result.status === 409) {\n throw new ExitProcessError(result.status, \"Version already exists\");\n } else {\n throw new ExitProcessError(result.status, `Unexpected response code ${result.status} (${result.statusText})`);\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 { createFetch } from \"./createFetch.mjs\";\nexport function createConjureContext(foundryUrl, servicePath, tokenProvider) {\n return {\n fetchFn: createFetch(tokenProvider),\n baseUrl: foundryUrl,\n servicePath\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 function createInternalClientContext(foundryUrl, tokenProvider) {\n return {\n tokenProvider,\n 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\nexport { fetchWebsiteRepositoryRid } from \"./fetchWebsiteRepositoryRid.mjs\";","/*\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 { promises as fsPromises } from \"node:fs\";\nimport path from \"node:path\";\nimport { ExitProcessError } from \"../ExitProcessError.js\";\nconst TOKEN_ENV_VARS = [\"FOUNDRY_TOKEN\", \"FOUNDRY_SDK_AUTH_TOKEN\"];\n\n/**\n * Loads a JWT Auth Token from an argument, a file, or environment variable returning the first found.\n * @param token The token as a string.\n * @param tokenFile The path to the token file.\n * @returns The token as a string.\n * @throws An error if no token is found.\n */\nexport async function loadToken(token, tokenFile) {\n if (token) {\n consola.debug(`Using token from --token argument`);\n validate(token);\n return token;\n }\n if (tokenFile) {\n const loadedToken = await loadTokenFile(tokenFile);\n consola.debug(`Using token from --tokenFile=${loadedToken.filePath} argument`);\n validate(loadedToken.token);\n return loadedToken.token;\n }\n for (const envVar of TOKEN_ENV_VARS) {\n const environmentToken = process.env[envVar];\n if (environmentToken) {\n consola.debug(`Using token from ${envVar} environment variable`);\n validate(environmentToken);\n if (envVar === \"FOUNDRY_SDK_AUTH_TOKEN\") {\n consola.warn(`Using FOUNDRY_SDK_AUTH_TOKEN environment variable is deprecated. Please use FOUNDRY_TOKEN instead.`);\n }\n return environmentToken;\n }\n }\n throw new ExitProcessError(2, `No token found. Please supply a --token argument, a --token-file argument or set the ${TOKEN_ENV_VARS[0]} environment variable.`);\n}\n/**\n * Synchronously reads a JWT Auth Token from a file.\n * @param filePath The path to the token file.\n * @returns The token as a string.\n * @throws An error if the file cannot be read or if the file does not contain a valid JWT.\n */\nexport async function loadTokenFile(filePath) {\n let token;\n let resolvedPath;\n try {\n resolvedPath = path.resolve(filePath);\n token = await fsPromises.readFile(resolvedPath, \"utf8\");\n token = token.trim();\n } catch (error) {\n throw new ExitProcessError(2, `Unable to read token file \"${filePath}\": ${error}`);\n }\n return {\n filePath: resolvedPath,\n token\n };\n}\nexport function validate(token) {\n if (!isJWT(token)) {\n throw new ExitProcessError(2, `Token does not appear to be a JWT`);\n }\n}\nfunction isJWT(token) {\n // https://stackoverflow.com/a/65755789\n const jwtPattern = /^[A-Za-z0-9-_]+\\.[A-Za-z0-9-_]+\\.[A-Za-z0-9-_]*$/;\n return jwtPattern.test(token);\n}"]}
@@ -0,0 +1,9 @@
1
+ // src/util/isValidSemver.ts
2
+ var semver = /^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$/;
3
+ function isValidSemver(semverString) {
4
+ return semver.test(semverString);
5
+ }
6
+
7
+ export { isValidSemver };
8
+ //# sourceMappingURL=out.js.map
9
+ //# sourceMappingURL=chunk-N6K26UR4.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/util/isValidSemver.ts"],"names":[],"mappings":";AAiBA,IAAM,SAAS;AACR,SAAS,cAAc,cAAc;AAC1C,SAAO,OAAO,KAAK,YAAY;AACjC","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\n// https://semver.org/#is-there-a-suggested-regular-expression-regex-to-check-a-semver-string\nconst semver = /^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$/;\nexport function isValidSemver(semverString) {\n return semver.test(semverString);\n}"]}
@@ -0,0 +1,11 @@
1
+ 'use strict';
2
+
3
+ // src/util/isValidSemver.ts
4
+ var semver = /^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$/;
5
+ function isValidSemver(semverString) {
6
+ return semver.test(semverString);
7
+ }
8
+
9
+ exports.isValidSemver = isValidSemver;
10
+ //# sourceMappingURL=out.js.map
11
+ //# sourceMappingURL=chunk-X2S4O5ZR.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/util/isValidSemver.ts"],"names":[],"mappings":";AAiBA,IAAM,SAAS;AACR,SAAS,cAAc,cAAc;AAC1C,SAAO,OAAO,KAAK,YAAY;AACjC","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\n// https://semver.org/#is-there-a-suggested-regular-expression-regex-to-check-a-semver-string\nconst semver = /^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$/;\nexport function isValidSemver(semverString) {\n return semver.test(semverString);\n}"]}
@@ -1,8 +1,10 @@
1
1
  import { ExitProcessError } from './chunk-GTNZA5UY.mjs';
2
2
  import { __export } from './chunk-E2SEJZTC.mjs';
3
3
  import { conjureFetch } from 'conjure-lite';
4
- import { consola, LogLevels } from 'consola';
4
+ import { consola } from 'consola';
5
5
  import { createFetchHeaderMutator } from '@osdk/shared.net';
6
+ import { promises } from 'fs';
7
+ import path from 'path';
6
8
 
7
9
  // src/generated/artifacts-sites/ArtifactsSitesAdminV2Service.ts
8
10
  var ArtifactsSitesAdminV2Service_exports = {};
@@ -83,17 +85,17 @@ function createDebugLoggingFetch(fetchFn = fetch) {
83
85
  });
84
86
  };
85
87
  }
86
- async function fetchWebsiteRepositoryRid(baseUrl, thirdPartyAppRid) {
87
- const fetch2 = createFetch(() => process.env.FOUNDRY_SDK_AUTH_TOKEN);
88
+ async function fetchWebsiteRepositoryRid(ctx, thirdPartyAppRid) {
89
+ const fetch2 = createFetch(ctx.tokenProvider);
88
90
  const url = `
89
- ${baseUrl}/third-party-application-service/api/application-websites/${thirdPartyAppRid}`;
91
+ ${ctx.foundryUrl}/third-party-application-service/api/application-websites/${thirdPartyAppRid}`;
90
92
  const result = await fetch2(url);
91
93
  if (result.status >= 200 && result.status < 300) {
92
94
  const repositoryRid = await result.json();
93
95
  consola.debug(`Repository RID: ${repositoryRid}`);
94
96
  return repositoryRid;
95
97
  }
96
- throw new Error(`Unexpected response code ${result.status} (${result.statusText})`);
98
+ throw new ExitProcessError(result.status, `Unexpected response code ${result.status} (${result.statusText})`);
97
99
  }
98
100
 
99
101
  // src/net/artifacts/SiteAssetArtifactsService/getSiteAssetBaseUrl.mts
@@ -102,15 +104,14 @@ function getSiteAssetBaseUrl(foundryBaseUrl, repositoryRid) {
102
104
  }
103
105
 
104
106
  // src/net/artifacts/SiteAssetArtifactsService/deleteSiteVersion.mts
105
- async function deleteSiteVersion(baseUrl, thirdPartyAppRid, version) {
106
- const repositoryRid = await fetchWebsiteRepositoryRid(baseUrl, thirdPartyAppRid);
107
- const url = `${getSiteAssetBaseUrl(baseUrl, repositoryRid)}/versions/${version}`;
108
- const fetch2 = createFetch(() => process.env.FOUNDRY_SDK_AUTH_TOKEN);
107
+ async function deleteSiteVersion(ctx, request) {
108
+ const repositoryRid = await fetchWebsiteRepositoryRid(ctx, request.application);
109
+ const url = `${getSiteAssetBaseUrl(ctx.foundryUrl, repositoryRid)}/versions/${request.version}`;
110
+ const fetch2 = createFetch(ctx.tokenProvider);
109
111
  const result = await fetch2(url, {
110
112
  method: "DELETE"
111
113
  });
112
114
  if (result.status >= 200 && result.status < 300) {
113
- consola.level = LogLevels.debug;
114
115
  consola.debug(`${result.status} - Status Text: '${result.statusText}'`);
115
116
  return true;
116
117
  } else {
@@ -119,25 +120,25 @@ async function deleteSiteVersion(baseUrl, thirdPartyAppRid, version) {
119
120
  }
120
121
 
121
122
  // src/net/artifacts/SiteAssetArtifactsService/fetchSiteVersions.mts
122
- async function fetchSiteVersions(baseUrl, thirdPartyAppRid) {
123
- const repositoryRid = await fetchWebsiteRepositoryRid(baseUrl, thirdPartyAppRid);
124
- const url = `${getSiteAssetBaseUrl(baseUrl, repositoryRid)}/versions`;
125
- const fetch2 = createFetch(() => process.env.FOUNDRY_SDK_AUTH_TOKEN);
123
+ async function fetchSiteVersions(ctx, thirdPartyAppRid) {
124
+ const repositoryRid = await fetchWebsiteRepositoryRid(ctx, thirdPartyAppRid);
125
+ const url = `${getSiteAssetBaseUrl(ctx.foundryUrl, repositoryRid)}/versions`;
126
+ const fetch2 = createFetch(ctx.tokenProvider);
126
127
  const result = await fetch2(url);
127
128
  if (result.status === 200) {
128
129
  const response = await result.json();
129
130
  return response.versions;
130
131
  } else {
131
- throw new Error(`Unexpected response code ${result.status} (${result.statusText})`);
132
+ throw new ExitProcessError(result.status, `Unexpected response code ${result.status} (${result.statusText})`);
132
133
  }
133
134
  }
134
- async function uploadZippedSiteAsset(baseUrl, thirdPartyAppRid, version, zipFile) {
135
- const repositoryRid = await fetchWebsiteRepositoryRid(baseUrl, thirdPartyAppRid);
136
- const url = `${getSiteAssetBaseUrl(baseUrl, repositoryRid)}/versions/zip/${version}`;
137
- const fetch2 = createFetch(() => process.env.FOUNDRY_SDK_AUTH_TOKEN);
135
+ async function uploadZippedSiteAsset(ctx, request) {
136
+ const repositoryRid = await fetchWebsiteRepositoryRid(ctx, request.application);
137
+ const url = `${getSiteAssetBaseUrl(ctx.foundryUrl, repositoryRid)}/versions/zip/${request.version}`;
138
+ const fetch2 = createFetch(ctx.tokenProvider);
138
139
  const result = await fetch2(url, {
139
140
  method: "PUT",
140
- body: zipFile,
141
+ body: request.zipFile,
141
142
  headers: {
142
143
  "Content-Type": "application/octet-stream"
143
144
  },
@@ -145,7 +146,6 @@ async function uploadZippedSiteAsset(baseUrl, thirdPartyAppRid, version, zipFile
145
146
  // Node hates me
146
147
  });
147
148
  if (result.status >= 200 && result.status < 300) {
148
- consola.level = LogLevels.debug;
149
149
  consola.debug("Status Text: " + result.statusText);
150
150
  return true;
151
151
  } else if (result.status === 409) {
@@ -156,20 +156,78 @@ async function uploadZippedSiteAsset(baseUrl, thirdPartyAppRid, version, zipFile
156
156
  }
157
157
 
158
158
  // src/net/createConjureContext.mts
159
- function createConjureContext(baseUrl, servicePath) {
159
+ function createConjureContext(foundryUrl, servicePath, tokenProvider) {
160
160
  return {
161
- fetchFn: createFetch(() => process.env.FOUNDRY_SDK_AUTH_TOKEN),
162
- baseUrl,
161
+ fetchFn: createFetch(tokenProvider),
162
+ baseUrl: foundryUrl,
163
163
  servicePath
164
164
  };
165
165
  }
166
166
 
167
+ // src/net/createInternalClientContext.mts
168
+ function createInternalClientContext(foundryUrl, tokenProvider) {
169
+ return {
170
+ tokenProvider,
171
+ foundryUrl
172
+ };
173
+ }
174
+
167
175
  // src/net/third-party-application-service/index.mts
168
176
  var third_party_application_service_exports = {};
169
177
  __export(third_party_application_service_exports, {
170
178
  fetchWebsiteRepositoryRid: () => fetchWebsiteRepositoryRid
171
179
  });
180
+ var TOKEN_ENV_VARS = ["FOUNDRY_TOKEN", "FOUNDRY_SDK_AUTH_TOKEN"];
181
+ async function loadToken(token, tokenFile) {
182
+ if (token) {
183
+ consola.debug(`Using token from --token argument`);
184
+ validate(token);
185
+ return token;
186
+ }
187
+ if (tokenFile) {
188
+ const loadedToken = await loadTokenFile(tokenFile);
189
+ consola.debug(`Using token from --tokenFile=${loadedToken.filePath} argument`);
190
+ validate(loadedToken.token);
191
+ return loadedToken.token;
192
+ }
193
+ for (const envVar of TOKEN_ENV_VARS) {
194
+ const environmentToken = process.env[envVar];
195
+ if (environmentToken) {
196
+ consola.debug(`Using token from ${envVar} environment variable`);
197
+ validate(environmentToken);
198
+ if (envVar === "FOUNDRY_SDK_AUTH_TOKEN") {
199
+ consola.warn(`Using FOUNDRY_SDK_AUTH_TOKEN environment variable is deprecated. Please use FOUNDRY_TOKEN instead.`);
200
+ }
201
+ return environmentToken;
202
+ }
203
+ }
204
+ throw new ExitProcessError(2, `No token found. Please supply a --token argument, a --token-file argument or set the ${TOKEN_ENV_VARS[0]} environment variable.`);
205
+ }
206
+ async function loadTokenFile(filePath) {
207
+ let token;
208
+ let resolvedPath;
209
+ try {
210
+ resolvedPath = path.resolve(filePath);
211
+ token = await promises.readFile(resolvedPath, "utf8");
212
+ token = token.trim();
213
+ } catch (error) {
214
+ throw new ExitProcessError(2, `Unable to read token file "${filePath}": ${error}`);
215
+ }
216
+ return {
217
+ filePath: resolvedPath,
218
+ token
219
+ };
220
+ }
221
+ function validate(token) {
222
+ if (!isJWT(token)) {
223
+ throw new ExitProcessError(2, `Token does not appear to be a JWT`);
224
+ }
225
+ }
226
+ function isJWT(token) {
227
+ const jwtPattern = /^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/;
228
+ return jwtPattern.test(token);
229
+ }
172
230
 
173
- export { ArtifactsSitesAdminV2Service_exports, artifacts_exports, createConjureContext, third_party_application_service_exports };
231
+ export { ArtifactsSitesAdminV2Service_exports, artifacts_exports, createConjureContext, createInternalClientContext, loadToken, third_party_application_service_exports };
174
232
  //# sourceMappingURL=out.js.map
175
- //# sourceMappingURL=chunk-SQHFJOHN.mjs.map
233
+ //# sourceMappingURL=chunk-XNYKWAIE.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/generated/artifacts-sites/ArtifactsSitesAdminV2Service.ts","../../src/generated/artifacts-sites/ArtifactsSitesAdminV2Service/clearDeployedVersion.ts","../../src/generated/artifacts-sites/ArtifactsSitesAdminV2Service/getContentSecurityPolicyAdditions.ts","../../src/generated/artifacts-sites/ArtifactsSitesAdminV2Service/getDeployedVersion.ts","../../src/generated/artifacts-sites/ArtifactsSitesAdminV2Service/getRegisteredSiteDomains.ts","../../src/generated/artifacts-sites/ArtifactsSitesAdminV2Service/getRequestedSiteDomains.ts","../../src/generated/artifacts-sites/ArtifactsSitesAdminV2Service/previewContentSecurityPolicy.ts","../../src/generated/artifacts-sites/ArtifactsSitesAdminV2Service/putContentSecurityPolicyAdditions.ts","../../src/generated/artifacts-sites/ArtifactsSitesAdminV2Service/requestSiteDomainForRepository.ts","../../src/generated/artifacts-sites/ArtifactsSitesAdminV2Service/unregisterSiteDomain.ts","../../src/generated/artifacts-sites/ArtifactsSitesAdminV2Service/updateDeployedVersion.ts","../../src/net/artifacts/index.mts","../../src/net/artifacts/SiteAssetArtifactsService/index.mts","../../src/net/artifacts/SiteAssetArtifactsService/deleteSiteVersion.mts","../../src/net/createFetch.mts","../../src/net/third-party-application-service/fetchWebsiteRepositoryRid.mts","../../src/net/artifacts/SiteAssetArtifactsService/getSiteAssetBaseUrl.mts","../../src/net/artifacts/SiteAssetArtifactsService/fetchSiteVersions.mts","../../src/net/artifacts/SiteAssetArtifactsService/uploadSiteVersion.mts","../../src/net/createConjureContext.mts","../../src/net/createInternalClientContext.mts","../../src/net/third-party-application-service/index.mts","../../src/util/token.ts"],"names":["conjureFetch","consola","fetch"],"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\nexport { clearDeployedVersion } from \"./ArtifactsSitesAdminV2Service/clearDeployedVersion.js\";\nexport { getContentSecurityPolicyAdditions } from \"./ArtifactsSitesAdminV2Service/getContentSecurityPolicyAdditions.js\";\nexport { getDeployedVersion } from \"./ArtifactsSitesAdminV2Service/getDeployedVersion.js\";\nexport { getRegisteredSiteDomains } from \"./ArtifactsSitesAdminV2Service/getRegisteredSiteDomains.js\";\nexport { getRequestedSiteDomains } from \"./ArtifactsSitesAdminV2Service/getRequestedSiteDomains.js\";\nexport { previewContentSecurityPolicy } from \"./ArtifactsSitesAdminV2Service/previewContentSecurityPolicy.js\";\nexport { putContentSecurityPolicyAdditions } from \"./ArtifactsSitesAdminV2Service/putContentSecurityPolicyAdditions.js\";\nexport { requestSiteDomainForRepository } from \"./ArtifactsSitesAdminV2Service/requestSiteDomainForRepository.js\";\nexport { unregisterSiteDomain } from \"./ArtifactsSitesAdminV2Service/unregisterSiteDomain.js\";\nexport { updateDeployedVersion } from \"./ArtifactsSitesAdminV2Service/updateDeployedVersion.js\";","/*\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 { conjureFetch } from \"conjure-lite\";\n\n/**\n * Clears the deployed version while leaving the associated domain, visiting the associated domain in this state\n * will return an error.\n *\n * artifacts:sites:write-deployment-info permission is needed on the repository rid to call this endpoint.\n */\nexport async function clearDeployedVersion(ctx, repositoryRid) {\n return conjureFetch(ctx, `/sites/v2/admin/repository/${repositoryRid}/deployed-version`, \"DELETE\");\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 { conjureFetch } from \"conjure-lite\";\n/**\n * Get the CSP additions configured for a repository.\n *\n * artifacts:sites:read-deployment-info permission is needed on the repository rid to call this endpoint.\n */\nexport async function getContentSecurityPolicyAdditions(ctx, repositoryRid) {\n return conjureFetch(ctx, `/sites/v2/admin/repository/${repositoryRid}/csp/additions`, \"GET\");\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 { conjureFetch } from \"conjure-lite\";\n/**\n * Get the deployed version that will be served for a given siteasset repository.\n *\n * artifacts:sites:read-deployment-info permission is needed on the repository rid to call this endpoint.\n */\nexport async function getDeployedVersion(ctx, repositoryRid) {\n return conjureFetch(ctx, `/sites/v2/admin/repository/${repositoryRid}/deployed-version`, \"GET\");\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 { conjureFetch } from \"conjure-lite\";\n/**\n * Get domains that have been successfully registered with the given repository. Visiting a successfully\n * registered domain should serve the registered repository assets.\n *\n * artifacts:sites:read-deployment-info permission is needed on the repository rid to call this endpoint.\n */\nexport async function getRegisteredSiteDomains(ctx, repositoryRid) {\n return conjureFetch(ctx, `/sites/v2/admin/repository/${repositoryRid}/domains/registered`, \"GET\");\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 { conjureFetch } from \"conjure-lite\";\n/**\n * Get domains that have been requested for a given repository. For control panel domains that require\n * an approval, this will also include pending requests. Closed/rejected requests will only be included as long\n * as their domain hasn't been re-requested for another repository.\n *\n * artifacts:sites:read-deployment-info permission is needed on the repository rid to call this endpoint.\n */\nexport async function getRequestedSiteDomains(ctx, repositoryRid) {\n return conjureFetch(ctx, `/sites/v2/admin/repository/${repositoryRid}/domains/requested`, \"GET\");\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 { conjureFetch } from \"conjure-lite\";\n/**\n * Preview what the CSP that will be served with the site looks like.\n *\n * artifacts:sites:read-deployment-info permission is needed on the repository rid to call this endpoint.\n */\nexport async function previewContentSecurityPolicy(ctx, repositoryRid, request) {\n return conjureFetch(ctx, `/sites/v2/admin/repository/${repositoryRid}/csp/preview`, \"POST\", request);\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 { conjureFetch } from \"conjure-lite\";\n/**\n * Set the CSP additions configured for a repository.\n *\n * artifacts:sites:write-deployment-info permission is needed on the repository rid to call this endpoint.\n */\nexport async function putContentSecurityPolicyAdditions(ctx, repositoryRid, contentSecurityPolicyAdditions) {\n return conjureFetch(ctx, `/sites/v2/admin/repository/${repositoryRid}/csp/additions`, \"PUT\", contentSecurityPolicyAdditions);\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 { conjureFetch } from \"conjure-lite\";\n/**\n * Requests the registration of a domain with the provided repository, this will result in an approvals task\n * getting created for approval by an admin.\n *\n * Once the task has been approved, visiting the domain will serve the deployed version, if any is deployed.\n *\n * artifacts:sites:manage-domains permission is needed on the repository rid to call this endpoint.\n */\nexport async function requestSiteDomainForRepository(ctx, repositoryRid, request) {\n return conjureFetch(ctx, `/sites/v2/admin/repository/${repositoryRid}/domains/submit-registration`, \"POST\", request);\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 { conjureFetch } from \"conjure-lite\";\n/**\n * Unregisters a domain from a repository, visiting the domain will no longer serve the repository assets.\n *\n * Depending on how the domain for the repository was setup, this might also result in deleting the domain\n * itself.\n *\n * artifacts:sites:manage-domains permission is needed on the repository rid to call this endpoint.\n */\nexport async function unregisterSiteDomain(ctx, repositoryRid, request) {\n return conjureFetch(ctx, `/sites/v2/admin/repository/${repositoryRid}/domains/unregister`, \"POST\", request);\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 { conjureFetch } from \"conjure-lite\";\n/**\n * Sets the asset version of the siteasset repository that will be served.\n *\n * artifacts:sites:write-deployment-info permission is needed on the repository rid to call this endpoint.\n */\nexport async function updateDeployedVersion(ctx, repositoryRid, version) {\n return conjureFetch(ctx, `/sites/v2/admin/repository/${repositoryRid}/deployed-version`, \"PUT\", version);\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 * as SiteAssetArtifactsService from \"./SiteAssetArtifactsService/index.mjs\";","/*\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 { deleteSiteVersion } from \"./deleteSiteVersion.mjs\";\nexport { fetchSiteVersions } from \"./fetchSiteVersions.mjs\";\nexport { uploadZippedSiteAsset } from \"./uploadSiteVersion.mjs\";","/*\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 { ExitProcessError } from \"../../../ExitProcessError.js\";\nimport { createFetch } from \"../../createFetch.mjs\";\nimport { fetchWebsiteRepositoryRid } from \"../../third-party-application-service/fetchWebsiteRepositoryRid.mjs\";\nimport { getSiteAssetBaseUrl } from \"./getSiteAssetBaseUrl.mjs\";\nexport async function deleteSiteVersion(ctx, request) {\n const repositoryRid = await fetchWebsiteRepositoryRid(ctx, request.application);\n const url = `${getSiteAssetBaseUrl(ctx.foundryUrl, repositoryRid)}/versions/${request.version}`;\n const fetch = createFetch(ctx.tokenProvider);\n const result = await fetch(url, {\n method: \"DELETE\"\n });\n if (result.status >= 200 && result.status < 300) {\n consola.debug(`${result.status} - Status Text: '${result.statusText}'`);\n return true;\n } else {\n throw new ExitProcessError(result.status, `Unexpected response code ${result.status} (${result.statusText})`);\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 { createFetchHeaderMutator } from \"@osdk/shared.net\";\nimport { consola } from \"consola\";\nexport function createFetch(tokenProvider, fetchFn = fetch) {\n return createFetchHeaderMutator(createDebugLoggingFetch(fetchFn), async headers => {\n const token = await tokenProvider();\n headers.set(\"Authorization\", `Bearer ${token}`);\n headers.set(\"Fetch-User-Agent\", \"\");\n return headers;\n });\n}\nfunction createDebugLoggingFetch(fetchFn = fetch) {\n return function debugLoggingFetch(input, init) {\n if (typeof input === \"string\" || input instanceof URL) {\n consola.debug(`${init?.method ?? \"GET\"}: ${input.toString().trim()}`);\n } else {\n consola.debug(`${input.method ?? \"GET\"}: ${input.url.toString().trim()}`);\n }\n return fetchFn(input, init).then(a => {\n consola.debug(\"Finished fetch\");\n return a;\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\";\nimport { ExitProcessError } from \"../../ExitProcessError.js\";\nimport { createFetch } from \"../createFetch.mjs\";\nexport async function fetchWebsiteRepositoryRid(ctx, thirdPartyAppRid) {\n const fetch = createFetch(ctx.tokenProvider);\n const url = `\n ${ctx.foundryUrl}/third-party-application-service/api/application-websites/${thirdPartyAppRid}`;\n const result = await fetch(url);\n if (result.status >= 200 && result.status < 300) {\n const repositoryRid = await result.json();\n consola.debug(`Repository RID: ${repositoryRid}`);\n return repositoryRid;\n }\n throw new ExitProcessError(result.status, `Unexpected response code ${result.status} (${result.statusText})`);\n}","/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport function getSiteAssetBaseUrl(foundryBaseUrl, repositoryRid) {\n return `${foundryBaseUrl}/artifacts/api/repositories/${repositoryRid}/contents/release/siteasset`;\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 { ExitProcessError } from \"../../../ExitProcessError.js\";\nimport { createFetch } from \"../../createFetch.mjs\";\nimport { fetchWebsiteRepositoryRid } from \"../../third-party-application-service/fetchWebsiteRepositoryRid.mjs\";\nimport { getSiteAssetBaseUrl } from \"./getSiteAssetBaseUrl.mjs\";\nexport async function fetchSiteVersions(ctx, thirdPartyAppRid) {\n const repositoryRid = await fetchWebsiteRepositoryRid(ctx, thirdPartyAppRid);\n const url = `${getSiteAssetBaseUrl(ctx.foundryUrl, repositoryRid)}/versions`;\n const fetch = createFetch(ctx.tokenProvider);\n const result = await fetch(url);\n if (result.status === 200) {\n const response = await result.json();\n return response.versions;\n } else {\n throw new ExitProcessError(result.status, `Unexpected response code ${result.status} (${result.statusText})`);\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\";\nimport { ExitProcessError } from \"../../../ExitProcessError.js\";\nimport { createFetch } from \"../../createFetch.mjs\";\nimport { fetchWebsiteRepositoryRid } from \"../../third-party-application-service/fetchWebsiteRepositoryRid.mjs\";\nimport { getSiteAssetBaseUrl } from \"./getSiteAssetBaseUrl.mjs\";\nexport async function uploadZippedSiteAsset(ctx, request) {\n const repositoryRid = await fetchWebsiteRepositoryRid(ctx, request.application);\n const url = `${getSiteAssetBaseUrl(ctx.foundryUrl, repositoryRid)}/versions/zip/${request.version}`;\n const fetch = createFetch(ctx.tokenProvider);\n const result = await fetch(url, {\n method: \"PUT\",\n body: request.zipFile,\n headers: {\n \"Content-Type\": \"application/octet-stream\"\n },\n duplex: \"half\" // Node hates me\n });\n if (result.status >= 200 && result.status < 300) {\n consola.debug(\"Status Text: \" + result.statusText);\n return true;\n } else if (result.status === 409) {\n throw new ExitProcessError(result.status, \"Version already exists\");\n } else {\n throw new ExitProcessError(result.status, `Unexpected response code ${result.status} (${result.statusText})`);\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 { createFetch } from \"./createFetch.mjs\";\nexport function createConjureContext(foundryUrl, servicePath, tokenProvider) {\n return {\n fetchFn: createFetch(tokenProvider),\n baseUrl: foundryUrl,\n servicePath\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 function createInternalClientContext(foundryUrl, tokenProvider) {\n return {\n tokenProvider,\n 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\nexport { fetchWebsiteRepositoryRid } from \"./fetchWebsiteRepositoryRid.mjs\";","/*\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 { promises as fsPromises } from \"node:fs\";\nimport path from \"node:path\";\nimport { ExitProcessError } from \"../ExitProcessError.js\";\nconst TOKEN_ENV_VARS = [\"FOUNDRY_TOKEN\", \"FOUNDRY_SDK_AUTH_TOKEN\"];\n\n/**\n * Loads a JWT Auth Token from an argument, a file, or environment variable returning the first found.\n * @param token The token as a string.\n * @param tokenFile The path to the token file.\n * @returns The token as a string.\n * @throws An error if no token is found.\n */\nexport async function loadToken(token, tokenFile) {\n if (token) {\n consola.debug(`Using token from --token argument`);\n validate(token);\n return token;\n }\n if (tokenFile) {\n const loadedToken = await loadTokenFile(tokenFile);\n consola.debug(`Using token from --tokenFile=${loadedToken.filePath} argument`);\n validate(loadedToken.token);\n return loadedToken.token;\n }\n for (const envVar of TOKEN_ENV_VARS) {\n const environmentToken = process.env[envVar];\n if (environmentToken) {\n consola.debug(`Using token from ${envVar} environment variable`);\n validate(environmentToken);\n if (envVar === \"FOUNDRY_SDK_AUTH_TOKEN\") {\n consola.warn(`Using FOUNDRY_SDK_AUTH_TOKEN environment variable is deprecated. Please use FOUNDRY_TOKEN instead.`);\n }\n return environmentToken;\n }\n }\n throw new ExitProcessError(2, `No token found. Please supply a --token argument, a --token-file argument or set the ${TOKEN_ENV_VARS[0]} environment variable.`);\n}\n/**\n * Synchronously reads a JWT Auth Token from a file.\n * @param filePath The path to the token file.\n * @returns The token as a string.\n * @throws An error if the file cannot be read or if the file does not contain a valid JWT.\n */\nexport async function loadTokenFile(filePath) {\n let token;\n let resolvedPath;\n try {\n resolvedPath = path.resolve(filePath);\n token = await fsPromises.readFile(resolvedPath, \"utf8\");\n token = token.trim();\n } catch (error) {\n throw new ExitProcessError(2, `Unable to read token file \"${filePath}\": ${error}`);\n }\n return {\n filePath: resolvedPath,\n token\n };\n}\nexport function validate(token) {\n if (!isJWT(token)) {\n throw new ExitProcessError(2, `Token does not appear to be a JWT`);\n }\n}\nfunction isJWT(token) {\n // https://stackoverflow.com/a/65755789\n const jwtPattern = /^[A-Za-z0-9-_]+\\.[A-Za-z0-9-_]+\\.[A-Za-z0-9-_]*$/;\n return jwtPattern.test(token);\n}"]}
@@ -6,7 +6,7 @@ import { createClientContext, createOpenApiRequest } from '@osdk/shared.net';
6
6
  import { consola } from 'consola';
7
7
  import * as fs from 'fs';
8
8
 
9
- var USER_AGENT = `osdk-cli/${"0.3.0"}`;
9
+ var USER_AGENT = `osdk-cli/${"0.4.0"}`;
10
10
  async function handleGenerate(args) {
11
11
  let success = false;
12
12
  if (args.ontologyPath) {
@@ -94,4 +94,4 @@ function getUserAgent(version) {
94
94
 
95
95
  export { handleGenerate as default };
96
96
  //# sourceMappingURL=out.js.map
97
- //# sourceMappingURL=handleGenerate-K6X2HG4V.mjs.map
97
+ //# sourceMappingURL=handleGenerate-A7X2XAGW.mjs.map
@@ -28,7 +28,7 @@ function _interopNamespace(e) {
28
28
 
29
29
  var fs__namespace = /*#__PURE__*/_interopNamespace(fs);
30
30
 
31
- var USER_AGENT = `osdk-cli/${"0.3.0"}`;
31
+ var USER_AGENT = `osdk-cli/${"0.4.0"}`;
32
32
  async function handleGenerate(args) {
33
33
  let success = false;
34
34
  if (args.ontologyPath) {
@@ -116,4 +116,4 @@ function getUserAgent(version) {
116
116
 
117
117
  module.exports = handleGenerate;
118
118
  //# sourceMappingURL=out.js.map
119
- //# sourceMappingURL=handleGenerate-FCY2LRSZ.cjs.map
119
+ //# sourceMappingURL=handleGenerate-WOW33WYG.cjs.map