@osdk/cli 0.32.0 → 0.32.1-main-20260406220320
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +7 -0
- package/build/esm/acorn-2ONPHVNE.js +4014 -0
- package/build/esm/acorn-2ONPHVNE.js.map +1 -0
- package/build/esm/angular-BLMWAHFR.js +3921 -0
- package/build/esm/angular-BLMWAHFR.js.map +1 -0
- package/build/esm/babel-3NM2PEMH.js +9588 -0
- package/build/esm/babel-3NM2PEMH.js.map +1 -0
- package/build/esm/{chunk-TUUWLZNZ.js → chunk-4CBIBF7P.js} +33 -5
- package/build/esm/chunk-4CBIBF7P.js.map +1 -0
- package/build/esm/chunk-OBNIOZZ3.js +84 -0
- package/build/esm/chunk-OBNIOZZ3.js.map +1 -0
- package/build/esm/chunk-SEFKBDOM.js +127 -0
- package/build/esm/chunk-SEFKBDOM.js.map +1 -0
- package/build/esm/{chunk-FQRKVHAE.js → chunk-UIAONP7L.js} +4 -2
- package/build/esm/chunk-UIAONP7L.js.map +1 -0
- package/build/esm/chunk-UN2YTB6E.js +43 -0
- package/build/esm/chunk-UN2YTB6E.js.map +1 -0
- package/build/esm/estree-W4CYHNEC.js +6145 -0
- package/build/esm/estree-W4CYHNEC.js.map +1 -0
- package/build/esm/flow-JBS2TSFC.js +27169 -0
- package/build/esm/flow-JBS2TSFC.js.map +1 -0
- package/build/esm/glimmer-V4LJ6GLD.js +6974 -0
- package/build/esm/glimmer-V4LJ6GLD.js.map +1 -0
- package/build/esm/graphql-H5EVBMG6.js +1720 -0
- package/build/esm/graphql-H5EVBMG6.js.map +1 -0
- package/build/esm/handleGenerate-AMAIYKIC.js +19501 -0
- package/build/esm/handleGenerate-AMAIYKIC.js.map +1 -0
- package/build/esm/html-M53H7DSS.js +5810 -0
- package/build/esm/html-M53H7DSS.js.map +1 -0
- package/build/esm/index.js +223 -18
- package/build/esm/index.js.map +1 -1
- package/build/esm/loginFlow-AD7BNVSR.js +4 -0
- package/build/esm/loginFlow-AD7BNVSR.js.map +1 -0
- package/build/esm/markdown-MBM2N6R4.js +6697 -0
- package/build/esm/markdown-MBM2N6R4.js.map +1 -0
- package/build/esm/meriyah-WA3U2F5N.js +4343 -0
- package/build/esm/meriyah-WA3U2F5N.js.map +1 -0
- package/build/esm/postcss-SG76YHLC.js +6281 -0
- package/build/esm/postcss-SG76YHLC.js.map +1 -0
- package/build/esm/{siteDeployCommand-4RSVHCYL.js → siteDeployCommand-AGIAZTH4.js} +10 -5
- package/build/esm/siteDeployCommand-AGIAZTH4.js.map +1 -0
- package/build/esm/typescript-3WZD42RO.js +13078 -0
- package/build/esm/typescript-3WZD42RO.js.map +1 -0
- package/build/esm/{versionDeleteCommand-ZDSYOJVF.js → versionDeleteCommand-7S2FAOEI.js} +8 -5
- package/build/esm/versionDeleteCommand-7S2FAOEI.js.map +1 -0
- package/build/esm/{versionDeleteCommand-E7XUIDUE.js → versionDeleteCommand-GLALILDP.js} +8 -5
- package/build/esm/versionDeleteCommand-GLALILDP.js.map +1 -0
- package/build/esm/{versionGetCommand-3FJSCGFI.js → versionGetCommand-PADKUDTN.js} +7 -4
- package/build/esm/versionGetCommand-PADKUDTN.js.map +1 -0
- package/build/esm/{versionInfoCommand-3NHIQCD4.js → versionInfoCommand-IFI7UJEH.js} +7 -4
- package/build/esm/versionInfoCommand-IFI7UJEH.js.map +1 -0
- package/build/esm/{versionListCommand-FN6U7DQW.js → versionListCommand-2AQEJRCU.js} +7 -4
- package/build/esm/versionListCommand-2AQEJRCU.js.map +1 -0
- package/build/esm/{versionListCommand-NYIQZT3U.js → versionListCommand-OTLJLFSO.js} +7 -4
- package/build/esm/versionListCommand-OTLJLFSO.js.map +1 -0
- package/build/esm/{versionSetCommand-OZDYOLQB.js → versionSetCommand-4U2IDLF7.js} +7 -4
- package/build/esm/versionSetCommand-4U2IDLF7.js.map +1 -0
- package/build/esm/{versionUnsetCommand-YRRYIK4E.js → versionUnsetCommand-DQWM2XRT.js} +8 -5
- package/build/esm/versionUnsetCommand-DQWM2XRT.js.map +1 -0
- package/build/esm/{widgetSetDeployCommand-UE2GYNU4.js → widgetSetDeployCommand-3N2APFRO.js} +7 -5
- package/build/esm/widgetSetDeployCommand-3N2APFRO.js.map +1 -0
- package/build/esm/yaml-7IJ6PB44.js +5822 -0
- package/build/esm/yaml-7IJ6PB44.js.map +1 -0
- package/package.json +8 -8
- package/build/esm/chunk-FQRKVHAE.js.map +0 -1
- package/build/esm/chunk-PZ5AY32C.js +0 -9
- package/build/esm/chunk-PZ5AY32C.js.map +0 -1
- package/build/esm/chunk-TUUWLZNZ.js.map +0 -1
- package/build/esm/siteDeployCommand-4RSVHCYL.js.map +0 -1
- package/build/esm/versionDeleteCommand-E7XUIDUE.js.map +0 -1
- package/build/esm/versionDeleteCommand-ZDSYOJVF.js.map +0 -1
- package/build/esm/versionGetCommand-3FJSCGFI.js.map +0 -1
- package/build/esm/versionInfoCommand-3NHIQCD4.js.map +0 -1
- package/build/esm/versionListCommand-FN6U7DQW.js.map +0 -1
- package/build/esm/versionListCommand-NYIQZT3U.js.map +0 -1
- package/build/esm/versionSetCommand-OZDYOLQB.js.map +0 -1
- package/build/esm/versionUnsetCommand-YRRYIK4E.js.map +0 -1
- package/build/esm/widgetSetDeployCommand-UE2GYNU4.js.map +0 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { ExitProcessError } from './chunk-OBNIOZZ3.js';
|
|
2
|
+
import { init_esm_shims, __export } from './chunk-UN2YTB6E.js';
|
|
3
3
|
import { PalantirApiError, UnknownError } from '@osdk/shared.net.errors';
|
|
4
4
|
import { createFetchHeaderMutator, createFetchOrThrow } from '@osdk/shared.net.fetch';
|
|
5
5
|
import { consola } from 'consola';
|
|
@@ -9,6 +9,7 @@ import { promises } from 'fs';
|
|
|
9
9
|
import path from 'path';
|
|
10
10
|
|
|
11
11
|
// src/net/createInternalClientContext.mts
|
|
12
|
+
init_esm_shims();
|
|
12
13
|
function createInternalClientContext(foundryUrl, tokenProvider) {
|
|
13
14
|
return {
|
|
14
15
|
tokenProvider,
|
|
@@ -27,9 +28,17 @@ __export(third_party_applications_exports, {
|
|
|
27
28
|
uploadSnapshotVersion: () => uploadSnapshotVersion,
|
|
28
29
|
uploadVersion: () => uploadVersion
|
|
29
30
|
});
|
|
31
|
+
init_esm_shims();
|
|
32
|
+
|
|
33
|
+
// src/net/third-party-applications/deleteVersion.mts
|
|
34
|
+
init_esm_shims();
|
|
35
|
+
|
|
36
|
+
// src/net/createFetch.mts
|
|
37
|
+
init_esm_shims();
|
|
30
38
|
|
|
31
39
|
// src/net/UserAgent.ts
|
|
32
|
-
|
|
40
|
+
init_esm_shims();
|
|
41
|
+
var USER_AGENT = `osdk-cli/${"0.32.1-main-20260406220320"}`;
|
|
33
42
|
|
|
34
43
|
// src/net/createFetch.mts
|
|
35
44
|
function createFetch(tokenProvider, fetchFn = fetch) {
|
|
@@ -147,6 +156,7 @@ async function deleteVersion(ctx, thirdPartyAppRid, version) {
|
|
|
147
156
|
}
|
|
148
157
|
|
|
149
158
|
// src/net/third-party-applications/deployWebsite.mts
|
|
159
|
+
init_esm_shims();
|
|
150
160
|
async function deployWebsite(ctx, thirdPartyAppRid, request) {
|
|
151
161
|
const fetch2 = createFetch(ctx.tokenProvider);
|
|
152
162
|
const url = `${ctx.foundryUrl}/api/v2/thirdPartyApplications/${thirdPartyAppRid}/website/deploy?preview=true`;
|
|
@@ -159,6 +169,9 @@ async function deployWebsite(ctx, thirdPartyAppRid, request) {
|
|
|
159
169
|
});
|
|
160
170
|
return result.json();
|
|
161
171
|
}
|
|
172
|
+
|
|
173
|
+
// src/net/third-party-applications/getWebsite.mts
|
|
174
|
+
init_esm_shims();
|
|
162
175
|
async function getWebsite(ctx, thirdPartyAppRid) {
|
|
163
176
|
const fetch2 = createFetch(ctx.tokenProvider);
|
|
164
177
|
const url = `${ctx.foundryUrl}/api/v2/thirdPartyApplications/${thirdPartyAppRid}/website?preview=true`;
|
|
@@ -174,6 +187,7 @@ async function getWebsite(ctx, thirdPartyAppRid) {
|
|
|
174
187
|
}
|
|
175
188
|
|
|
176
189
|
// src/net/third-party-applications/listVersions.mts
|
|
190
|
+
init_esm_shims();
|
|
177
191
|
async function listVersions(ctx, thirdPartyAppRid) {
|
|
178
192
|
const fetch2 = createFetch(ctx.tokenProvider);
|
|
179
193
|
const url = `${ctx.foundryUrl}/api/v2/thirdPartyApplications/${thirdPartyAppRid}/website/versions?preview=true`;
|
|
@@ -182,6 +196,7 @@ async function listVersions(ctx, thirdPartyAppRid) {
|
|
|
182
196
|
}
|
|
183
197
|
|
|
184
198
|
// src/net/third-party-applications/undeployWebsite.mts
|
|
199
|
+
init_esm_shims();
|
|
185
200
|
async function undeployWebsite(ctx, thirdPartyAppRid) {
|
|
186
201
|
const fetch2 = createFetch(ctx.tokenProvider);
|
|
187
202
|
const url = `${ctx.foundryUrl}/api/v2/thirdPartyApplications/${thirdPartyAppRid}/website/undeploy?preview=true`;
|
|
@@ -191,6 +206,7 @@ async function undeployWebsite(ctx, thirdPartyAppRid) {
|
|
|
191
206
|
}
|
|
192
207
|
|
|
193
208
|
// src/net/third-party-applications/uploadSnapshotVersion.mts
|
|
209
|
+
init_esm_shims();
|
|
194
210
|
async function uploadSnapshotVersion(ctx, thirdPartyAppRid, version, snapshotId, zipFile) {
|
|
195
211
|
const fetch2 = createFetch(ctx.tokenProvider);
|
|
196
212
|
const url = `${ctx.foundryUrl}/api/v2/thirdPartyApplications/${thirdPartyAppRid}/website/versions/uploadSnapshot?version=${encodeURIComponent(version)}&preview=true${snapshotId !== "" ? `&snapshotIdentifier=${encodeURIComponent(snapshotId)}` : ""}`;
|
|
@@ -207,6 +223,7 @@ async function uploadSnapshotVersion(ctx, thirdPartyAppRid, version, snapshotId,
|
|
|
207
223
|
}
|
|
208
224
|
|
|
209
225
|
// src/net/third-party-applications/uploadVersion.mts
|
|
226
|
+
init_esm_shims();
|
|
210
227
|
async function uploadVersion(ctx, thirdPartyAppRid, version, zipFile) {
|
|
211
228
|
const fetch2 = createFetch(ctx.tokenProvider);
|
|
212
229
|
const url = `${ctx.foundryUrl}/api/v2/thirdPartyApplications/${thirdPartyAppRid}/website/versions/upload?version=${encodeURIComponent(version)}&preview=true`;
|
|
@@ -230,8 +247,10 @@ __export(widget_registry_exports, {
|
|
|
230
247
|
listReleases: () => listReleases,
|
|
231
248
|
publishRelease: () => publishRelease
|
|
232
249
|
});
|
|
250
|
+
init_esm_shims();
|
|
233
251
|
|
|
234
252
|
// src/net/widget-registry/deleteRelease.mts
|
|
253
|
+
init_esm_shims();
|
|
235
254
|
async function deleteRelease(ctx, widgetSetRid, releaseVersion) {
|
|
236
255
|
const fetch2 = createFetch(ctx.tokenProvider);
|
|
237
256
|
const url = `${ctx.foundryUrl}/api/v2/widgets/widgetSets/${widgetSetRid}/releases/${releaseVersion}?preview=true`;
|
|
@@ -241,6 +260,7 @@ async function deleteRelease(ctx, widgetSetRid, releaseVersion) {
|
|
|
241
260
|
}
|
|
242
261
|
|
|
243
262
|
// src/net/widget-registry/getRelease.mts
|
|
263
|
+
init_esm_shims();
|
|
244
264
|
async function getRelease(ctx, widgetSetRid, releaseVersion) {
|
|
245
265
|
const fetch2 = createFetch(ctx.tokenProvider);
|
|
246
266
|
const url = `${ctx.foundryUrl}/api/v2/widgets/widgetSets/${widgetSetRid}/releases/${releaseVersion}?preview=true`;
|
|
@@ -249,6 +269,7 @@ async function getRelease(ctx, widgetSetRid, releaseVersion) {
|
|
|
249
269
|
}
|
|
250
270
|
|
|
251
271
|
// src/net/widget-registry/listReleases.mts
|
|
272
|
+
init_esm_shims();
|
|
252
273
|
async function listReleases(ctx, widgetSetRid) {
|
|
253
274
|
const fetch2 = createFetch(ctx.tokenProvider);
|
|
254
275
|
const url = `${ctx.foundryUrl}/api/v2/widgets/widgetSets/${widgetSetRid}/releases?preview=true`;
|
|
@@ -257,6 +278,7 @@ async function listReleases(ctx, widgetSetRid) {
|
|
|
257
278
|
}
|
|
258
279
|
|
|
259
280
|
// src/net/widget-registry/publishRelease.mts
|
|
281
|
+
init_esm_shims();
|
|
260
282
|
async function publishRelease(ctx, repositoryRid, repositoryVersion, zipFile) {
|
|
261
283
|
const fetch2 = createFetch(ctx.tokenProvider);
|
|
262
284
|
const url = `${ctx.foundryUrl}/api/v2/widgets/repositories/${repositoryRid}/publish?preview=true&repositoryVersion=${repositoryVersion}`;
|
|
@@ -270,6 +292,12 @@ async function publishRelease(ctx, repositoryRid, repositoryVersion, zipFile) {
|
|
|
270
292
|
// Node hates me
|
|
271
293
|
});
|
|
272
294
|
}
|
|
295
|
+
|
|
296
|
+
// src/net/index.mts
|
|
297
|
+
init_esm_shims();
|
|
298
|
+
|
|
299
|
+
// src/util/token.ts
|
|
300
|
+
init_esm_shims();
|
|
273
301
|
var TOKEN_ENV_VARS = ["FOUNDRY_TOKEN", "FOUNDRY_SDK_AUTH_TOKEN"];
|
|
274
302
|
async function loadToken(token, tokenFile) {
|
|
275
303
|
if (token) {
|
|
@@ -322,5 +350,5 @@ function isJWT(token) {
|
|
|
322
350
|
}
|
|
323
351
|
|
|
324
352
|
export { createInternalClientContext, loadToken, third_party_applications_exports, widget_registry_exports };
|
|
325
|
-
//# sourceMappingURL=chunk-
|
|
326
|
-
//# sourceMappingURL=chunk-
|
|
353
|
+
//# sourceMappingURL=chunk-4CBIBF7P.js.map
|
|
354
|
+
//# sourceMappingURL=chunk-4CBIBF7P.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/net/createInternalClientContext.mts","../../src/net/third-party-applications/index.mts","../../src/net/third-party-applications/deleteVersion.mts","../../src/net/createFetch.mts","../../src/net/UserAgent.ts","../../src/net/third-party-applications/deployWebsite.mts","../../src/net/third-party-applications/getWebsite.mts","../../src/net/third-party-applications/listVersions.mts","../../src/net/third-party-applications/undeployWebsite.mts","../../src/net/third-party-applications/uploadSnapshotVersion.mts","../../src/net/third-party-applications/uploadVersion.mts","../../src/net/widget-registry/index.mts","../../src/net/widget-registry/deleteRelease.mts","../../src/net/widget-registry/getRelease.mts","../../src/net/widget-registry/listReleases.mts","../../src/net/widget-registry/publishRelease.mts","../../src/net/index.mts","../../src/util/token.ts"],"names":["fetch","PalantirApiError","consola","fsPromises"],"mappings":"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","file":"chunk-4CBIBF7P.js","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 function createInternalClientContext(foundryUrl, tokenProvider) {\n return {\n tokenProvider,\n foundryUrl\n };\n}","/*\n * Copyright 2024 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport { deleteVersion } from \"./deleteVersion.mjs\";\nexport { deployWebsite } from \"./deployWebsite.mjs\";\nexport { getWebsite } from \"./getWebsite.mjs\";\nexport { listVersions } from \"./listVersions.mjs\";\nexport { undeployWebsite } from \"./undeployWebsite.mjs\";\nexport { uploadSnapshotVersion } from \"./uploadSnapshotVersion.mjs\";\nexport { uploadVersion } from \"./uploadVersion.mjs\";","/*\n * Copyright 2024 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { createFetch } from \"../createFetch.mjs\";\nexport async function deleteVersion(ctx, thirdPartyAppRid, version) {\n const fetch = createFetch(ctx.tokenProvider);\n const url = `${ctx.foundryUrl}/api/v2/thirdPartyApplications/${thirdPartyAppRid}/website/versions/${encodeURIComponent(version)}?preview=true`;\n await fetch(url, {\n method: \"DELETE\"\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 { ExitProcessError } from \"@osdk/cli.common\";\nimport { PalantirApiError, UnknownError } from \"@osdk/shared.net.errors\";\nimport { createFetchHeaderMutator, createFetchOrThrow } from \"@osdk/shared.net.fetch\";\nimport { consola } from \"consola\";\nimport { inspect } from \"node:util\";\nimport prettyBytes from \"pretty-bytes\";\nimport { USER_AGENT } from \"./UserAgent.js\";\nexport function createFetch(tokenProvider, fetchFn = fetch) {\n return createFetchHeaderMutator(createRequestLoggingFetch(createErrorExitingFetch(createFetchOrThrow(fetchFn))), async headers => {\n const token = await tokenProvider();\n headers.set(\"Authorization\", `Bearer ${token}`);\n headers.set(\"Fetch-User-Agent\", USER_AGENT);\n return headers;\n });\n}\nfunction createErrorExitingFetch(fetchFn = fetch) {\n return function errorExitingFetch(input, init) {\n return fetchFn(input, init).catch(handleFetchError);\n };\n}\nfunction handleFetchError(e) {\n if (!(e instanceof PalantirApiError)) {\n throw new ExitProcessError(1, \"Unexpected fetch error\");\n }\n let tip;\n if (e.statusCode === 401) {\n tip = \"Check your token is valid and has not expired or been disabled\";\n } else if (e.statusCode === 403) {\n tip = \"Check your token has the required scopes for this operation\";\n } else if (e.statusCode === 404) {\n tip = \"The resource may not exist or your token may not have the required scopes to load it\";\n }\n let message;\n if (e.errorName === \"CannotDeleteDeployedVersion\") {\n message = \"The site version to delete is live and cannot be deleted\";\n tip = \"Run the `site version set` command to change the live site version\";\n } else if (e.errorName === \"InvalidVersion\") {\n message = \"The site version is invalid and must be a valid SemVer string\";\n } else if (e.errorName === \"VersionAlreadyExists\") {\n message = \"The site version already exists\";\n } else if (e.errorName === \"VersionNotFound\") {\n message = \"The site version could not be found\";\n } else if (e.errorName === \"VersionLimitExceeded\") {\n const {\n versionLimit\n } = e.parameters ?? {};\n const versionLimitPart = versionLimit != null ? ` (Limit: ${versionLimit} versions)` : \"\";\n message = `The site contains too many versions${versionLimitPart}`;\n tip = \"Run the `site version delete` command to delete an old version and try again\";\n } else if (e.errorName === \"FileCountLimitExceeded\") {\n const {\n fileCountLimit\n } = e.parameters ?? {};\n const fileCountLimitPart = fileCountLimit != null ? ` (Limit: ${fileCountLimit} files)` : \"\";\n message = `The .zip file contains too many files${fileCountLimitPart}`;\n tip = \"Reduce the number of files in the production build to below the limit\";\n } else if (e.errorName === \"FileSizeLimitExceeded\") {\n const {\n currentFilePath,\n currentFileSizeBytes,\n fileSizeBytesLimit\n } = e.parameters ?? {};\n const currentFilePathPart = currentFilePath != null ? ` \"${currentFilePath}\"` : \"\";\n const currentFileSizePart = currentFileSizeBytes != null ? ` (${prettyBytes(parseInt(currentFileSizeBytes), {\n binary: true\n })})` : \"\";\n const fileSizeLimitPart = fileSizeBytesLimit != null ? ` (Limit: ${prettyBytes(parseInt(fileSizeBytesLimit), {\n binary: true\n })})` : \"\";\n message = `The .zip file contains a file${currentFilePathPart}${currentFileSizePart} that is too large${fileSizeLimitPart}`;\n tip = \"Ensure all files in the production build are below the size limit\";\n } else if (e.errorName === \"ScanningInProgress\") {\n message = \"The website version is being scanned for vulnerabilities and cannot be deployed yet\";\n tip = \"If you have a `foundry.config.json` file, set the `site.uploadOnly` property to `true` to disable automatic deployment.\\n\" + \"Website versions can be manually deployed from the Website Hosting page in Developer Console after their scans have completed\";\n } else {\n if (e instanceof UnknownError) {\n // Include deep inspect of original error\n message = `${e.message}\\n\\n${inspect(e, {\n depth: 10,\n colors: true\n })}`;\n } else {\n // Include extra info about the original API error\n // https://www.palantir.com/docs/foundry/api/general/overview/errors/\n const {\n errorCode,\n errorName,\n errorInstanceId,\n parameters\n } = e;\n message = `${e.message}\\n\\n${JSON.stringify({\n errorCode,\n errorName,\n errorInstanceId,\n parameters\n }, null, 2)}`;\n }\n }\n throw new ExitProcessError(1, message, tip, e);\n}\nfunction createRequestLoggingFetch(fetchFn = fetch) {\n return function requestLoggingFetch(input, init) {\n const requestLog = typeof input === \"string\" || input instanceof URL ? `${init?.method ?? \"GET\"}: ${input.toString().trim()}`\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-conversion\n : `${input.method ?? \"GET\"}: ${input.url.toString().trim()}`;\n consola.trace(requestLog);\n return fetchFn(input, init).then(a => {\n consola.trace(`FINISH ${requestLog}`);\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\nexport const USER_AGENT = `osdk-cli/${process.env.PACKAGE_VERSION}`;","/*\n * Copyright 2024 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { createFetch } from \"../createFetch.mjs\";\nexport async function deployWebsite(ctx, thirdPartyAppRid, request) {\n const fetch = createFetch(ctx.tokenProvider);\n const url = `${ctx.foundryUrl}/api/v2/thirdPartyApplications/${thirdPartyAppRid}/website/deploy?preview=true`;\n const result = await fetch(url, {\n method: \"POST\",\n body: JSON.stringify(request),\n headers: {\n \"Content-Type\": \"application/json\"\n }\n });\n return result.json();\n}","/*\n * Copyright 2024 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { ExitProcessError } from \"@osdk/cli.common\";\nimport { PalantirApiError } from \"@osdk/shared.net.errors\";\nimport { createFetch } from \"../createFetch.mjs\";\nexport async function getWebsite(ctx, thirdPartyAppRid) {\n const fetch = createFetch(ctx.tokenProvider);\n const url = `${ctx.foundryUrl}/api/v2/thirdPartyApplications/${thirdPartyAppRid}/website?preview=true`;\n try {\n const result = await fetch(url);\n return await result.json();\n } catch (e) {\n // Revisit this error handling in the API\n if (e instanceof ExitProcessError && e.originalError != null && e.originalError instanceof PalantirApiError && e.originalError.errorName === \"WebsiteNotFound\") {\n return undefined;\n }\n throw e;\n }\n}","/*\n * Copyright 2024 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { createFetch } from \"../createFetch.mjs\";\nexport async function listVersions(ctx, thirdPartyAppRid) {\n const fetch = createFetch(ctx.tokenProvider);\n const url = `${ctx.foundryUrl}/api/v2/thirdPartyApplications/${thirdPartyAppRid}/website/versions?preview=true`;\n const result = await fetch(url);\n return result.json();\n}","/*\n * Copyright 2024 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { createFetch } from \"../createFetch.mjs\";\nexport async function undeployWebsite(ctx, thirdPartyAppRid) {\n const fetch = createFetch(ctx.tokenProvider);\n const url = `${ctx.foundryUrl}/api/v2/thirdPartyApplications/${thirdPartyAppRid}/website/undeploy?preview=true`;\n await fetch(url, {\n method: \"POST\"\n });\n}","/*\n * Copyright 2024 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { createFetch } from \"../createFetch.mjs\";\nexport async function uploadSnapshotVersion(ctx, thirdPartyAppRid, version, snapshotId, zipFile) {\n const fetch = createFetch(ctx.tokenProvider);\n const url = `${ctx.foundryUrl}/api/v2/thirdPartyApplications/${thirdPartyAppRid}/website/versions/uploadSnapshot?version=${encodeURIComponent(version)}&preview=true${snapshotId !== \"\" ? `&snapshotIdentifier=${encodeURIComponent(snapshotId)}` : \"\"}`;\n const result = await fetch(url, {\n method: \"POST\",\n body: zipFile,\n headers: {\n \"Content-Type\": \"application/octet-stream\"\n },\n duplex: \"half\" // Node hates me\n });\n return result.json();\n}","/*\n * Copyright 2024 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { createFetch } from \"../createFetch.mjs\";\nexport async function uploadVersion(ctx, thirdPartyAppRid, version, zipFile) {\n const fetch = createFetch(ctx.tokenProvider);\n const url = `${ctx.foundryUrl}/api/v2/thirdPartyApplications/${thirdPartyAppRid}/website/versions/upload?version=${encodeURIComponent(version)}&preview=true`;\n const result = await fetch(url, {\n method: \"POST\",\n body: zipFile,\n headers: {\n \"Content-Type\": \"application/octet-stream\"\n },\n duplex: \"half\" // Node hates me\n });\n return result.json();\n}","/*\n * Copyright 2025 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 { deleteRelease } from \"./deleteRelease.mjs\";\nexport { getRelease } from \"./getRelease.mjs\";\nexport { listReleases } from \"./listReleases.mjs\";\nexport { publishRelease } from \"./publishRelease.mjs\";","/*\n * Copyright 2025 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 async function deleteRelease(ctx, widgetSetRid, releaseVersion) {\n const fetch = createFetch(ctx.tokenProvider);\n const url = `${ctx.foundryUrl}/api/v2/widgets/widgetSets/${widgetSetRid}/releases/${releaseVersion}?preview=true`;\n await fetch(url, {\n method: \"DELETE\"\n });\n}","/*\n * Copyright 2025 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 async function getRelease(ctx, widgetSetRid, releaseVersion) {\n const fetch = createFetch(ctx.tokenProvider);\n const url = `${ctx.foundryUrl}/api/v2/widgets/widgetSets/${widgetSetRid}/releases/${releaseVersion}?preview=true`;\n const response = await fetch(url);\n return response.json();\n}","/*\n * Copyright 2025 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 async function listReleases(ctx, widgetSetRid) {\n const fetch = createFetch(ctx.tokenProvider);\n const url = `${ctx.foundryUrl}/api/v2/widgets/widgetSets/${widgetSetRid}/releases?preview=true`;\n const response = await fetch(url);\n return response.json();\n}","/*\n * Copyright 2025 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 async function publishRelease(ctx, repositoryRid, repositoryVersion, zipFile) {\n const fetch = createFetch(ctx.tokenProvider);\n const url = `${ctx.foundryUrl}/api/v2/widgets/repositories/${repositoryRid}/publish?preview=true&repositoryVersion=${repositoryVersion}`;\n await fetch(url, {\n method: \"POST\",\n body: zipFile,\n headers: {\n \"Content-Type\": \"application/octet-stream\"\n },\n duplex: \"half\" // Node hates me\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 { createInternalClientContext } from \"./createInternalClientContext.mjs\";\nexport * as thirdPartyApplications from \"./third-party-applications/index.mjs\";\nexport * as widgetRegistry from \"./widget-registry/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\nimport { ExitProcessError } from \"@osdk/cli.common\";\nimport { consola } from \"consola\";\nimport { promises as fsPromises } from \"node:fs\";\nimport path from \"node:path\";\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 option`);\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} option`);\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.`, `You can supply a --token or --token-file option, or set the ${TOKEN_ENV_VARS[0]} environment variable`);\n}\n/**\n * 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.\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,84 @@
|
|
|
1
|
+
import { init_esm_shims } from './chunk-UN2YTB6E.js';
|
|
2
|
+
import { consola } from 'consola';
|
|
3
|
+
import { colorize } from 'consola/utils';
|
|
4
|
+
import yargs from 'yargs';
|
|
5
|
+
import { hideBin } from 'yargs/helpers';
|
|
6
|
+
import { valid } from 'semver';
|
|
7
|
+
|
|
8
|
+
// ../cli.common/build/esm/ExitProcessError.js
|
|
9
|
+
init_esm_shims();
|
|
10
|
+
var ExitProcessError = class extends Error {
|
|
11
|
+
constructor(errorCode, msg, tip, originalError) {
|
|
12
|
+
super(msg);
|
|
13
|
+
this.errorCode = errorCode;
|
|
14
|
+
this.msg = msg;
|
|
15
|
+
this.tip = tip;
|
|
16
|
+
this.originalError = originalError;
|
|
17
|
+
}
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
// ../cli.common/build/esm/YargsCheckError.js
|
|
21
|
+
init_esm_shims();
|
|
22
|
+
var YargsCheckError = class extends Error {
|
|
23
|
+
constructor(msg) {
|
|
24
|
+
super(msg);
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
// ../cli.common/build/esm/index.js
|
|
29
|
+
init_esm_shims();
|
|
30
|
+
|
|
31
|
+
// ../cli.common/build/esm/getYargsBase.js
|
|
32
|
+
init_esm_shims();
|
|
33
|
+
|
|
34
|
+
// ../cli.common/build/esm/yargs/logLevelMiddleware.js
|
|
35
|
+
init_esm_shims();
|
|
36
|
+
var firstTime = true;
|
|
37
|
+
async function logLevelMiddleware(args) {
|
|
38
|
+
if (firstTime) {
|
|
39
|
+
firstTime = false;
|
|
40
|
+
consola.level = 3 + args.verbose;
|
|
41
|
+
if (consola.level > 3) {
|
|
42
|
+
consola.debug(`Verbose logging enabled (${consola.level === 4 ? "debug" : "trace"})
|
|
43
|
+
`);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
// ../cli.common/build/esm/getYargsBase.js
|
|
49
|
+
function getYargsBase(args) {
|
|
50
|
+
return yargs(hideBin(args)).wrap(Math.min(150, yargs().terminalWidth())).env("OSDK").version(false).option("verbose", {
|
|
51
|
+
alias: "v",
|
|
52
|
+
type: "boolean",
|
|
53
|
+
description: "Enable verbose logging",
|
|
54
|
+
count: true
|
|
55
|
+
}).demandCommand().middleware(logLevelMiddleware, true).strict().fail(async (msg, err, argv) => {
|
|
56
|
+
if (err instanceof ExitProcessError) {
|
|
57
|
+
consola.error(err.message);
|
|
58
|
+
if (err.tip != null) {
|
|
59
|
+
consola.log(colorize("bold", `\u{1F4A1} Tip: ${err.tip}`));
|
|
60
|
+
consola.log("");
|
|
61
|
+
}
|
|
62
|
+
consola.debug(err.stack);
|
|
63
|
+
} else {
|
|
64
|
+
if (err && !(err instanceof YargsCheckError)) {
|
|
65
|
+
throw err;
|
|
66
|
+
} else {
|
|
67
|
+
argv.showHelp();
|
|
68
|
+
consola.log("");
|
|
69
|
+
consola.error(msg);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
process.exit(1);
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
// ../cli.common/build/esm/util/isValidSemver.js
|
|
77
|
+
init_esm_shims();
|
|
78
|
+
function isValidSemver(semverString) {
|
|
79
|
+
return valid(semverString) != null;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
export { ExitProcessError, YargsCheckError, getYargsBase, isValidSemver };
|
|
83
|
+
//# sourceMappingURL=chunk-OBNIOZZ3.js.map
|
|
84
|
+
//# sourceMappingURL=chunk-OBNIOZZ3.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../cli.common/build/esm/ExitProcessError.js","../../../cli.common/build/esm/YargsCheckError.js","../../../cli.common/build/esm/index.js","../../../cli.common/build/esm/getYargsBase.js","../../../cli.common/build/esm/yargs/logLevelMiddleware.js","../../../cli.common/build/esm/util/isValidSemver.js"],"names":["consola"],"mappings":";;;;;;;;AAAA,cAAA,EAAA;AAgBa,IAAA,gBAAA,GAAN,cAA+B,KAAM,CAAA;AAAA,EAC1C,WAAY,CAAA,SAAA,EAAW,GAAK,EAAA,GAAA,EAAK,aAAe,EAAA;AAC9C,IAAA,KAAA,CAAM,GAAG,CAAA;AACT,IAAA,IAAA,CAAK,SAAY,GAAA,SAAA;AACjB,IAAA,IAAA,CAAK,GAAM,GAAA,GAAA;AACX,IAAA,IAAA,CAAK,GAAM,GAAA,GAAA;AACX,IAAA,IAAA,CAAK,aAAgB,GAAA,aAAA;AAAA;AAEzB;;;ACxBA,cAAA,EAAA;AAgBa,IAAA,eAAA,GAAN,cAA8B,KAAM,CAAA;AAAA,EACzC,YAAY,GAAK,EAAA;AACf,IAAA,KAAA,CAAM,GAAG,CAAA;AAAA;AAEb;;;ACpBA,cAAA,EAAA;;;ACAA,cAAA,EAAA;;;ACAA,cAAA,EAAA;AAiBA,IAAI,SAAY,GAAA,IAAA;AAChB,eAAsB,mBAAmB,IAAM,EAAA;AAC7C,EAAA,IAAI,SAAW,EAAA;AACb,IAAY,SAAA,GAAA,KAAA;AACZ,IAAQ,OAAA,CAAA,KAAA,GAAQ,IAAI,IAAK,CAAA,OAAA;AACzB,IAAI,IAAA,OAAA,CAAQ,QAAQ,CAAG,EAAA;AACrB,MAAA,OAAA,CAAQ,MAAM,CAA4B,yBAAA,EAAA,OAAA,CAAQ,KAAU,KAAA,CAAA,GAAI,UAAU,OAAO,CAAA;AAAA,CAAK,CAAA;AAAA;AACxF;AAEJ;;;ADHO,SAAS,aAAa,IAAM,EAAA;AACjC,EAAO,OAAA,KAAA,CAAM,QAAQ,IAAI,CAAC,EAAE,IAAK,CAAA,IAAA,CAAK,GAAI,CAAA,GAAA,EAAK,KAAM,EAAA,CAAE,eAAe,CAAC,EAAE,GAAI,CAAA,MAAM,EAAE,OAAQ,CAAA,KAAK,CAAE,CAAA,MAAA,CAAO,SAAW,EAAA;AAAA,IACpH,KAAO,EAAA,GAAA;AAAA,IACP,IAAM,EAAA,SAAA;AAAA,IACN,WAAa,EAAA,wBAAA;AAAA,IACb,KAAO,EAAA;AAAA,GACR,CAAA,CAAE,aAAc,EAAA,CAAE,WAAW,kBAAoB,EAAA,IAAI,CAAE,CAAA,MAAA,EAAS,CAAA,IAAA,CAAK,OAAO,GAAA,EAAK,KAAK,IAAS,KAAA;AAC9F,IAAA,IAAI,eAAe,gBAAkB,EAAA;AACnC,MAAAA,OAAAA,CAAQ,KAAM,CAAA,GAAA,CAAI,OAAO,CAAA;AACzB,MAAI,IAAA,GAAA,CAAI,OAAO,IAAM,EAAA;AACnB,QAAAA,OAAAA,CAAQ,IAAI,QAAS,CAAA,MAAA,EAAQ,kBAAW,GAAI,CAAA,GAAG,EAAE,CAAC,CAAA;AAClD,QAAAA,OAAAA,CAAQ,IAAI,EAAE,CAAA;AAAA;AAEhB,MAAAA,OAAAA,CAAQ,KAAM,CAAA,GAAA,CAAI,KAAK,CAAA;AAAA,KAClB,MAAA;AACL,MAAI,IAAA,GAAA,IAAO,EAAE,GAAA,YAAe,eAAkB,CAAA,EAAA;AAC5C,QAAM,MAAA,GAAA;AAAA,OACD,MAAA;AACL,QAAA,IAAA,CAAK,QAAS,EAAA;AACd,QAAAA,OAAAA,CAAQ,IAAI,EAAE,CAAA;AACd,QAAAA,OAAAA,CAAQ,MAAM,GAAG,CAAA;AAAA;AACnB;AAEF,IAAA,OAAA,CAAQ,KAAK,CAAC,CAAA;AAAA,GACf,CAAA;AACH;;;AEhDA,cAAA,EAAA;AAiBO,SAAS,cAAc,YAAc,EAAA;AAC1C,EAAO,OAAA,KAAA,CAAM,YAAY,CAAK,IAAA,IAAA;AAChC","file":"chunk-OBNIOZZ3.js","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 ExitProcessError extends Error {\n constructor(errorCode, msg, tip, originalError) {\n super(msg);\n this.errorCode = errorCode;\n this.msg = msg;\n this.tip = tip;\n this.originalError = originalError;\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 class YargsCheckError extends Error {\n constructor(msg) {\n super(msg);\n }\n}","/*\n * Copyright 2024 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport { ExitProcessError } from \"./ExitProcessError.js\";\nexport { getYargsBase } from \"./getYargsBase.js\";\nexport { isValidSemver } from \"./util/isValidSemver.js\";\nexport { YargsCheckError } from \"./YargsCheckError.js\";","/*\n * Copyright 2024 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { consola } from \"consola\";\nimport { colorize } from \"consola/utils\";\nimport yargs from \"yargs\";\nimport { hideBin } from \"yargs/helpers\";\nimport { ExitProcessError } from \"./ExitProcessError.js\";\nimport { logLevelMiddleware } from \"./yargs/logLevelMiddleware.js\";\nimport { YargsCheckError } from \"./YargsCheckError.js\";\nexport function getYargsBase(args) {\n return 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(logLevelMiddleware, true).strict().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)) {\n throw err;\n } else {\n argv.showHelp();\n consola.log(\"\");\n consola.error(msg);\n }\n }\n process.exit(1);\n });\n}","/*\n * Copyright 2024 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { consola } from \"consola\";\nlet firstTime = true;\nexport async function logLevelMiddleware(args) {\n if (firstTime) {\n firstTime = false;\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 }\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 { valid } from \"semver\";\nexport function isValidSemver(semverString) {\n return valid(semverString) != null;\n}"]}
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
import { init_esm_shims } from './chunk-UN2YTB6E.js';
|
|
2
|
+
import consola from 'consola';
|
|
3
|
+
import { getRandomValues, subtle } from 'crypto';
|
|
4
|
+
import { createServer } from 'http';
|
|
5
|
+
import { join } from 'path/posix';
|
|
6
|
+
import { exit } from 'process';
|
|
7
|
+
import { parse } from 'url';
|
|
8
|
+
import open from 'open';
|
|
9
|
+
|
|
10
|
+
// ../cli.common/build/esm/public/loginFlow.js
|
|
11
|
+
init_esm_shims();
|
|
12
|
+
|
|
13
|
+
// ../cli.common/build/esm/commands/auth/login/loginFlow.js
|
|
14
|
+
init_esm_shims();
|
|
15
|
+
|
|
16
|
+
// ../cli.common/build/esm/commands/auth/login/token.js
|
|
17
|
+
init_esm_shims();
|
|
18
|
+
function isTokenErrorResponse(response) {
|
|
19
|
+
return response.error != null;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
// ../cli.common/build/esm/commands/auth/login/loginFlow.js
|
|
23
|
+
var BROWSER_PROMPT_TIME_MS = 60 * 1e3;
|
|
24
|
+
async function invokeLoginFlow(args) {
|
|
25
|
+
consola.start(`Authenticating using application id: ${args.clientId}`);
|
|
26
|
+
const redirectUrl = "http://localhost:8080/auth/callback";
|
|
27
|
+
const port = parse(redirectUrl).port;
|
|
28
|
+
let resolve;
|
|
29
|
+
const authCode = new Promise((_res) => {
|
|
30
|
+
resolve = _res;
|
|
31
|
+
});
|
|
32
|
+
const server = createServer((req, res) => {
|
|
33
|
+
const query = parse(req.url, true).query;
|
|
34
|
+
res.end("Authenticated");
|
|
35
|
+
resolve(query["code"]);
|
|
36
|
+
});
|
|
37
|
+
server.on("error", (e) => {
|
|
38
|
+
if (e.code === "EADDRINUSE") {
|
|
39
|
+
consola.error(`Port ${port} is already in use, unable to perform authentication flow.`);
|
|
40
|
+
server.close();
|
|
41
|
+
exit(1);
|
|
42
|
+
}
|
|
43
|
+
});
|
|
44
|
+
server.listen(port);
|
|
45
|
+
const clientId = args.clientId;
|
|
46
|
+
const state = generateRandomString();
|
|
47
|
+
const codeVerifier = generateRandomString();
|
|
48
|
+
const codeChallenge = await generateCodeChallenge(codeVerifier);
|
|
49
|
+
const authorizeUrl = generateAuthorizeUrl(args.foundryUrl, clientId, state, redirectUrl, codeChallenge);
|
|
50
|
+
try {
|
|
51
|
+
await open(authorizeUrl);
|
|
52
|
+
} catch {
|
|
53
|
+
consola.warn(`Unable to open browser, please open this url in your browser to to authenticate: ${authorizeUrl}`);
|
|
54
|
+
}
|
|
55
|
+
const browserPrompt = setTimeout(() => {
|
|
56
|
+
consola.warn(`Still waiting for the authentication to complete. Please open a browser to ${authorizeUrl}`);
|
|
57
|
+
}, BROWSER_PROMPT_TIME_MS);
|
|
58
|
+
const code = await authCode;
|
|
59
|
+
server.close();
|
|
60
|
+
clearTimeout(browserPrompt);
|
|
61
|
+
const token = await getTokenWithCodeVerifier(clientId, redirectUrl, code, args.foundryUrl, codeVerifier);
|
|
62
|
+
if (isTokenErrorResponse(token)) {
|
|
63
|
+
consola.error("Unable to authenticate", token.error, token.error_description);
|
|
64
|
+
exit(1);
|
|
65
|
+
}
|
|
66
|
+
consola.success(`Successfully authenticated!`);
|
|
67
|
+
return token;
|
|
68
|
+
}
|
|
69
|
+
function generateRandomString(length = 128) {
|
|
70
|
+
const characters = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-._~";
|
|
71
|
+
const output = [];
|
|
72
|
+
const array = new Uint8Array(1);
|
|
73
|
+
const maxIndex = 256 - 256 % characters.length;
|
|
74
|
+
while (output.length < length) {
|
|
75
|
+
getRandomValues(array);
|
|
76
|
+
if (array[0] < maxIndex) {
|
|
77
|
+
output.push(characters[array[0] % characters.length]);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
return output.join("");
|
|
81
|
+
}
|
|
82
|
+
async function generateCodeChallenge(codeVerifier) {
|
|
83
|
+
const data = new TextEncoder().encode(codeVerifier);
|
|
84
|
+
const digest = await subtle.digest("SHA-256", data);
|
|
85
|
+
const codeChallenge = btoa(String.fromCharCode(...new Uint8Array(digest))).replace(/\//g, "_").replace(/\+/g, "-").replace(/=/g, "");
|
|
86
|
+
return {
|
|
87
|
+
codeChallenge,
|
|
88
|
+
codeChallengeMethod: "S256"
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
function generateAuthorizeUrl(baseUrl, clientId, state, redirectUrl, codeChallenge) {
|
|
92
|
+
const queryParams = new URLSearchParams();
|
|
93
|
+
queryParams.append("client_id", clientId);
|
|
94
|
+
queryParams.append("response_type", "code");
|
|
95
|
+
queryParams.append("state", state);
|
|
96
|
+
queryParams.append("redirect_uri", redirectUrl);
|
|
97
|
+
queryParams.append("code_challenge", codeChallenge.codeChallenge);
|
|
98
|
+
queryParams.append("code_challenge_method", codeChallenge.codeChallengeMethod);
|
|
99
|
+
queryParams.append("scope", ["offline_access", "api:read-data", "api:use-ontologies-read"].join(" "));
|
|
100
|
+
return join(baseUrl, "multipass", "api", "oauth2", "authorize") + `?` + queryParams.toString();
|
|
101
|
+
}
|
|
102
|
+
async function getTokenWithCodeVerifier(clientId, redirectUrl, code, baseUrl, codeVerifier) {
|
|
103
|
+
const body = new URLSearchParams();
|
|
104
|
+
body.append("client_id", clientId);
|
|
105
|
+
body.append("grant_type", "authorization_code");
|
|
106
|
+
body.append("code", code);
|
|
107
|
+
body.append("redirect_uri", redirectUrl);
|
|
108
|
+
body.append("code_verifier", codeVerifier);
|
|
109
|
+
const tokenUrl = join(baseUrl, "multipass", "api", "oauth2", "token") + `?state=${codeVerifier}`;
|
|
110
|
+
try {
|
|
111
|
+
const response = await fetch(tokenUrl, {
|
|
112
|
+
body: body.toString(),
|
|
113
|
+
headers: {
|
|
114
|
+
"Content-Type": "application/x-www-form-urlencoded"
|
|
115
|
+
},
|
|
116
|
+
method: "POST"
|
|
117
|
+
});
|
|
118
|
+
const responseText = await response.json();
|
|
119
|
+
return responseText;
|
|
120
|
+
} catch (e) {
|
|
121
|
+
throw new Error(`Failed to get token: ${e?.cause?.toString() ?? e?.toString() ?? "Unknown error"}`);
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
export { invokeLoginFlow };
|
|
126
|
+
//# sourceMappingURL=chunk-SEFKBDOM.js.map
|
|
127
|
+
//# sourceMappingURL=chunk-SEFKBDOM.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../cli.common/build/esm/public/loginFlow.js","../../../cli.common/build/esm/commands/auth/login/loginFlow.js","../../../cli.common/build/esm/commands/auth/login/token.js"],"names":[],"mappings":"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","file":"chunk-SEFKBDOM.js","sourcesContent":["/*\n * Copyright 2024 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport { invokeLoginFlow as default } from \"../commands/auth/login/loginFlow.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 consola from \"consola\";\nimport { getRandomValues, subtle } from \"node:crypto\";\nimport { createServer } from \"node:http\";\nimport { join } from \"node:path/posix\";\nimport { exit } from \"node:process\";\nimport { parse } from \"node:url\";\nimport open from \"open\";\nimport { isTokenErrorResponse } from \"./token.js\";\nconst BROWSER_PROMPT_TIME_MS = 60 * 1000;\nexport async function invokeLoginFlow(args) {\n consola.start(`Authenticating using application id: ${args.clientId}`);\n const redirectUrl = \"http://localhost:8080/auth/callback\";\n const port = parse(redirectUrl).port;\n let resolve;\n const authCode = new Promise(_res => {\n resolve = _res;\n });\n const server = createServer((req, res) => {\n const query = parse(req.url, true).query;\n res.end(\"Authenticated\");\n resolve(query[\"code\"]);\n });\n server.on(\"error\", e => {\n if (e.code === \"EADDRINUSE\") {\n consola.error(`Port ${port} is already in use, unable to perform authentication flow.`);\n server.close();\n exit(1);\n }\n });\n server.listen(port);\n const clientId = args.clientId;\n const state = generateRandomString();\n const codeVerifier = generateRandomString();\n const codeChallenge = await generateCodeChallenge(codeVerifier);\n const authorizeUrl = generateAuthorizeUrl(args.foundryUrl, clientId, state, redirectUrl, codeChallenge);\n try {\n await open(authorizeUrl);\n } catch {\n consola.warn(`Unable to open browser, please open this url in your browser to to authenticate: ${authorizeUrl}`);\n }\n\n // nag the user if we didn't get an auth token for a relatively long time\n const browserPrompt = setTimeout(() => {\n consola.warn(`Still waiting for the authentication to complete. Please open a browser to ${authorizeUrl}`);\n }, BROWSER_PROMPT_TIME_MS);\n const code = await authCode;\n server.close();\n clearTimeout(browserPrompt);\n const token = await getTokenWithCodeVerifier(clientId, redirectUrl, code, args.foundryUrl, codeVerifier);\n if (isTokenErrorResponse(token)) {\n consola.error(\"Unable to authenticate\", token.error, token.error_description);\n exit(1);\n }\n consola.success(`Successfully authenticated!`);\n return token;\n}\nfunction generateRandomString(length = 128) {\n const characters = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-._~\";\n const output = [];\n const array = new Uint8Array(1);\n const maxIndex = 256 - 256 % characters.length;\n while (output.length < length) {\n getRandomValues(array);\n if (array[0] < maxIndex) {\n output.push(characters[array[0] % characters.length]);\n }\n }\n return output.join(\"\");\n}\nasync function generateCodeChallenge(codeVerifier) {\n const data = new TextEncoder().encode(codeVerifier);\n const digest = await subtle.digest(\"SHA-256\", data);\n const codeChallenge = btoa(String.fromCharCode(...new Uint8Array(digest))).replace(/\\//g, \"_\").replace(/\\+/g, \"-\").replace(/=/g, \"\");\n return {\n codeChallenge,\n codeChallengeMethod: \"S256\"\n };\n}\nfunction generateAuthorizeUrl(baseUrl, clientId, state, redirectUrl, codeChallenge) {\n const queryParams = new URLSearchParams();\n queryParams.append(\"client_id\", clientId);\n queryParams.append(\"response_type\", \"code\");\n queryParams.append(\"state\", state);\n queryParams.append(\"redirect_uri\", redirectUrl);\n queryParams.append(\"code_challenge\", codeChallenge.codeChallenge);\n queryParams.append(\"code_challenge_method\", codeChallenge.codeChallengeMethod);\n queryParams.append(\"scope\", [\"offline_access\", \"api:read-data\", \"api:use-ontologies-read\"].join(\" \"));\n return join(baseUrl, \"multipass\", \"api\", \"oauth2\", \"authorize\") + `?` + queryParams.toString();\n}\nasync function getTokenWithCodeVerifier(clientId, redirectUrl, code, baseUrl, codeVerifier) {\n const body = new URLSearchParams();\n body.append(\"client_id\", clientId);\n body.append(\"grant_type\", \"authorization_code\");\n body.append(\"code\", code);\n body.append(\"redirect_uri\", redirectUrl);\n body.append(\"code_verifier\", codeVerifier);\n const tokenUrl = join(baseUrl, \"multipass\", \"api\", \"oauth2\", \"token\") + `?state=${codeVerifier}`;\n try {\n const response = await fetch(tokenUrl, {\n body: body.toString(),\n headers: {\n \"Content-Type\": \"application/x-www-form-urlencoded\"\n },\n method: \"POST\"\n });\n const responseText = await response.json();\n return responseText;\n } catch (e) {\n throw new Error(`Failed to get token: ${e?.cause?.toString() ?? e?.toString() ?? \"Unknown error\"}`);\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 isTokenErrorResponse(response) {\n return response.error != null;\n}"]}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
+
import { init_esm_shims } from './chunk-UN2YTB6E.js';
|
|
1
2
|
import { consola } from 'consola';
|
|
2
3
|
|
|
3
4
|
// src/consola/handlePromptCancel.ts
|
|
5
|
+
init_esm_shims();
|
|
4
6
|
var cancelSymbol = Symbol.for("cancel");
|
|
5
7
|
function handlePromptCancel(promptResponse) {
|
|
6
8
|
const isFalse = typeof promptResponse === "boolean" && !promptResponse;
|
|
@@ -12,5 +14,5 @@ function handlePromptCancel(promptResponse) {
|
|
|
12
14
|
}
|
|
13
15
|
|
|
14
16
|
export { handlePromptCancel };
|
|
15
|
-
//# sourceMappingURL=chunk-
|
|
16
|
-
//# sourceMappingURL=chunk-
|
|
17
|
+
//# sourceMappingURL=chunk-UIAONP7L.js.map
|
|
18
|
+
//# sourceMappingURL=chunk-UIAONP7L.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/consola/handlePromptCancel.ts"],"names":[],"mappings":";;;;AAAA,cAAA,EAAA;AAmBA,IAAM,YAAA,GAAe,MAAO,CAAA,GAAA,CAAI,QAAQ,CAAA;AACjC,SAAS,mBAAmB,cAAgB,EAAA;AACjD,EAAA,MAAM,OAAU,GAAA,OAAO,cAAmB,KAAA,SAAA,IAAa,CAAC,cAAA;AACxD,EAAA,MAAM,WAAW,cAAmB,KAAA,YAAA;AACpC,EAAA,IAAI,YAAY,OAAS,EAAA;AACvB,IAAA,OAAA,CAAQ,KAAK,qBAAqB,CAAA;AAClC,IAAA,OAAA,CAAQ,KAAK,CAAC,CAAA;AAAA;AAElB","file":"chunk-UIAONP7L.js","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\";\n\n// https://github.com/unjs/consola?tab=readme-ov-file#await-promptmessage--type-cancel-\nconst cancelSymbol = Symbol.for(\"cancel\");\nexport function handlePromptCancel(promptResponse) {\n const isFalse = typeof promptResponse === \"boolean\" && !promptResponse;\n const isSigInt = promptResponse === cancelSymbol;\n if (isSigInt || isFalse) {\n consola.fail(\"Operation cancelled\");\n process.exit(0);\n }\n}"]}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import 'path';
|
|
2
|
+
import 'url';
|
|
3
|
+
|
|
4
|
+
var __create = Object.create;
|
|
5
|
+
var __defProp = Object.defineProperty;
|
|
6
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
7
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
8
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
9
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
10
|
+
var __esm = (fn, res) => function __init() {
|
|
11
|
+
return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res;
|
|
12
|
+
};
|
|
13
|
+
var __commonJS = (cb, mod) => function __require() {
|
|
14
|
+
return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
|
|
15
|
+
};
|
|
16
|
+
var __export = (target, all) => {
|
|
17
|
+
for (var name in all)
|
|
18
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
19
|
+
};
|
|
20
|
+
var __copyProps = (to, from, except, desc) => {
|
|
21
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
22
|
+
for (let key of __getOwnPropNames(from))
|
|
23
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
24
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
25
|
+
}
|
|
26
|
+
return to;
|
|
27
|
+
};
|
|
28
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
29
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
30
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
31
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
32
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
33
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
34
|
+
mod
|
|
35
|
+
));
|
|
36
|
+
var init_esm_shims = __esm({
|
|
37
|
+
"../../node_modules/.pnpm/tsup@8.5.0_@microsoft+api-extractor@7.52.11_@types+node@18.19.124__@swc+core@1.7.39_jit_2efd353a01dfa07b53783c60af3184d6/node_modules/tsup/assets/esm_shims.js"() {
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
|
|
41
|
+
export { __commonJS, __export, __toESM, init_esm_shims };
|
|
42
|
+
//# sourceMappingURL=chunk-UN2YTB6E.js.map
|
|
43
|
+
//# sourceMappingURL=chunk-UN2YTB6E.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../node_modules/.pnpm/tsup@8.5.0_@microsoft+api-extractor@7.52.11_@types+node@18.19.124__@swc+core@1.7.39_jit_2efd353a01dfa07b53783c60af3184d6/node_modules/tsup/assets/esm_shims.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAA,cAAA,GAAA,KAAA,CAAA;AAAA,EAAA,yLAAA,GAAA;AAAA;AAAA,CAAA","file":"chunk-UN2YTB6E.js","sourcesContent":["// Shim globals in esm bundle\nimport path from 'node:path';\nimport { fileURLToPath } from 'node:url';\nconst getFilename = () => fileURLToPath(import.meta.url);\nconst getDirname = () => path.dirname(getFilename());\nexport const __dirname = /* @__PURE__ */getDirname();\nexport const __filename = /* @__PURE__ */getFilename();"]}
|