@osdk/cli 0.5.0 → 0.7.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.
- package/build/js/{chunk-GTNZA5UY.mjs → chunk-CLAEREOL.mjs} +4 -2
- package/build/js/chunk-CLAEREOL.mjs.map +1 -0
- package/build/js/chunk-DQYIDDJN.cjs +17 -0
- package/build/js/chunk-DQYIDDJN.cjs.map +1 -0
- package/build/js/{chunk-XNYKWAIE.mjs → chunk-EZIJJWAA.mjs} +35 -16
- package/build/js/chunk-EZIJJWAA.mjs.map +1 -0
- package/build/js/chunk-GX2IOTA6.mjs +10 -0
- package/build/js/{chunk-N6K26UR4.mjs.map → chunk-GX2IOTA6.mjs.map} +1 -1
- package/build/js/{chunk-JFDXL5SV.mjs → chunk-HD6SVFKA.mjs} +5 -5
- package/build/js/chunk-HD6SVFKA.mjs.map +1 -0
- package/build/js/{chunk-HYF3CTKZ.cjs → chunk-HZ3XILMW.cjs} +4 -2
- package/build/js/chunk-HZ3XILMW.cjs.map +1 -0
- package/build/js/chunk-IV3QY3PZ.mjs +15 -0
- package/build/js/chunk-IV3QY3PZ.mjs.map +1 -0
- package/build/js/{chunk-D7QHLGEU.cjs → chunk-JFYC74FJ.cjs} +41 -22
- package/build/js/chunk-JFYC74FJ.cjs.map +1 -0
- package/build/js/{chunk-2DZBTS5E.cjs → chunk-TZGNA5WR.cjs} +5 -5
- package/build/js/chunk-TZGNA5WR.cjs.map +1 -0
- package/build/js/chunk-UE2TMWJL.cjs +12 -0
- package/build/js/{chunk-X2S4O5ZR.cjs.map → chunk-UE2TMWJL.cjs.map} +1 -1
- package/build/js/{handleGenerate-Q6EQWXFG.cjs → handleGenerate-GBN42PDO.cjs} +11 -11
- package/build/js/handleGenerate-GBN42PDO.cjs.map +1 -0
- package/build/js/{handleGenerate-ZUZV3IBI.mjs → handleGenerate-NQPMMKLX.mjs} +10 -10
- package/build/js/handleGenerate-NQPMMKLX.mjs.map +1 -0
- package/build/js/index.cjs +99 -55
- package/build/js/index.cjs.map +1 -1
- package/build/js/index.mjs +95 -51
- package/build/js/index.mjs.map +1 -1
- package/build/js/loginFlow-5ZAMXQKE.cjs +10 -0
- package/build/js/loginFlow-BWWZBM36.mjs +4 -0
- package/build/js/siteDeployCommand-7QTLGWZI.mjs +150 -0
- package/build/js/siteDeployCommand-7QTLGWZI.mjs.map +1 -0
- package/build/js/siteDeployCommand-HOXKQM56.cjs +176 -0
- package/build/js/siteDeployCommand-HOXKQM56.cjs.map +1 -0
- package/build/js/versionDeleteCommand-GDQEZLYA.cjs +38 -0
- package/build/js/versionDeleteCommand-GDQEZLYA.cjs.map +1 -0
- package/build/js/{versionDeleteCommand-6BJL5XLG.mjs → versionDeleteCommand-LQRGKTMH.mjs} +13 -3
- package/build/js/versionDeleteCommand-LQRGKTMH.mjs.map +1 -0
- package/build/js/{versionGetCommand-OR4RLOLM.mjs → versionGetCommand-NZAQX7U5.mjs} +3 -3
- package/build/js/{versionGetCommand-Y2VR2WKH.cjs → versionGetCommand-RU5LS3IG.cjs} +8 -8
- package/build/js/{versionListCommand-LPPGQCQF.mjs → versionListCommand-5N57YKEQ.mjs} +6 -4
- package/build/js/versionListCommand-5N57YKEQ.mjs.map +1 -0
- package/build/js/{versionListCommand-5KM5PFYL.cjs → versionListCommand-QYCTS6KU.cjs} +11 -9
- package/build/js/versionListCommand-QYCTS6KU.cjs.map +1 -0
- package/build/js/{versionSetCommand-VD3L5DOV.cjs → versionSetCommand-K4SDBPLB.cjs} +8 -8
- package/build/js/{versionSetCommand-LHOVVI6U.mjs → versionSetCommand-UWPAQ7NV.mjs} +3 -3
- package/build/js/versionUnsetCommand-INDJ26MO.cjs +36 -0
- package/build/js/versionUnsetCommand-INDJ26MO.cjs.map +1 -0
- package/build/js/{versionUnsetCommand-IJT4JWBN.mjs → versionUnsetCommand-PZRZPTPR.mjs} +13 -3
- package/build/js/versionUnsetCommand-PZRZPTPR.mjs.map +1 -0
- package/build/types/ExitProcessError.d.ts +3 -1
- package/build/types/commands/auth/CommonAuthArgs.d.ts +1 -1
- package/build/types/commands/auth/login/LoginArgs.d.ts +1 -1
- package/build/types/commands/site/deploy/SiteDeployArgs.d.ts +2 -1
- package/build/types/commands/site/deploy/siteDeployCommand.d.mts +8 -1
- package/build/types/commands/site/version/delete/VersionDeleteArgs.d.ts +5 -0
- package/build/types/commands/site/version/delete/index.d.ts +2 -2
- package/build/types/commands/site/version/delete/versionDeleteCommand.d.mts +2 -2
- package/build/types/commands/site/version/get/VersionGetArgs.d.ts +3 -0
- package/build/types/commands/site/version/get/index.d.ts +2 -1
- package/build/types/commands/site/version/get/versionGetCommand.d.mts +2 -2
- package/build/types/commands/site/version/list/VersionListArgs.d.ts +3 -0
- package/build/types/commands/site/version/list/index.d.ts +2 -1
- package/build/types/commands/site/version/list/versionListCommand.d.mts +2 -2
- package/build/types/commands/site/version/set/VersionSetArgs.d.ts +4 -0
- package/build/types/commands/site/version/set/index.d.ts +2 -2
- package/build/types/commands/site/version/set/versionSetCommand.d.mts +2 -2
- package/build/types/commands/site/version/unset/VersionUnsetArgs.d.ts +4 -0
- package/build/types/commands/site/version/unset/index.d.ts +2 -1
- package/build/types/commands/site/version/unset/versionUnsetCommand.d.mts +2 -2
- package/build/types/commands/typescript/generate/TypescriptGenerateArgs.d.ts +1 -1
- package/build/types/consola/handlePromptCancel.d.ts +1 -0
- package/build/types/net/UserAgent.d.ts +1 -0
- package/build/types/net/index.d.mts +1 -0
- package/build/types/util/config.d.ts +2 -2
- package/build/types/util/token.d.ts +2 -2
- package/changelog/0.6.0/pr-54.v2.yml +5 -0
- package/changelog/0.6.0/pr-56.v2.yml +5 -0
- package/changelog/0.6.0/pr-58.v2.yml +5 -0
- package/changelog/0.7.0/pr-50.v2.yml +5 -0
- package/changelog/0.7.0/pr-52.v2.yml +5 -0
- package/changelog/0.7.0/pr-55.v2.yml +5 -0
- package/changelog/0.7.0/pr-61.v2.yml +5 -0
- package/changelog/0.7.0/pr-63.v2.yml +5 -0
- package/package.json +9 -3
- package/build/js/chunk-2DZBTS5E.cjs.map +0 -1
- package/build/js/chunk-D7QHLGEU.cjs.map +0 -1
- package/build/js/chunk-GTNZA5UY.mjs.map +0 -1
- package/build/js/chunk-HYF3CTKZ.cjs.map +0 -1
- package/build/js/chunk-JFDXL5SV.mjs.map +0 -1
- package/build/js/chunk-N6K26UR4.mjs +0 -9
- package/build/js/chunk-X2S4O5ZR.cjs +0 -11
- package/build/js/chunk-XNYKWAIE.mjs.map +0 -1
- package/build/js/handleGenerate-Q6EQWXFG.cjs.map +0 -1
- package/build/js/handleGenerate-ZUZV3IBI.mjs.map +0 -1
- package/build/js/loginFlow-BZDDHHT5.cjs +0 -10
- package/build/js/loginFlow-KGLTXVZ6.mjs +0 -4
- package/build/js/siteDeployCommand-7GXJF5HF.mjs +0 -100
- package/build/js/siteDeployCommand-7GXJF5HF.mjs.map +0 -1
- package/build/js/siteDeployCommand-KUNL3GIW.cjs +0 -126
- package/build/js/siteDeployCommand-KUNL3GIW.cjs.map +0 -1
- package/build/js/versionDeleteCommand-6BJL5XLG.mjs.map +0 -1
- package/build/js/versionDeleteCommand-RLU7UUYD.cjs +0 -28
- package/build/js/versionDeleteCommand-RLU7UUYD.cjs.map +0 -1
- package/build/js/versionListCommand-5KM5PFYL.cjs.map +0 -1
- package/build/js/versionListCommand-LPPGQCQF.mjs.map +0 -1
- package/build/js/versionUnsetCommand-IJT4JWBN.mjs.map +0 -1
- package/build/js/versionUnsetCommand-XYBUQ6XB.cjs +0 -26
- package/build/js/versionUnsetCommand-XYBUQ6XB.cjs.map +0 -1
- package/build/types/commands/site/version/SiteVersionArgs.d.ts +0 -4
- /package/build/js/{loginFlow-BZDDHHT5.cjs.map → loginFlow-5ZAMXQKE.cjs.map} +0 -0
- /package/build/js/{loginFlow-KGLTXVZ6.mjs.map → loginFlow-BWWZBM36.mjs.map} +0 -0
- /package/build/js/{versionGetCommand-OR4RLOLM.mjs.map → versionGetCommand-NZAQX7U5.mjs.map} +0 -0
- /package/build/js/{versionGetCommand-Y2VR2WKH.cjs.map → versionGetCommand-RU5LS3IG.cjs.map} +0 -0
- /package/build/js/{versionSetCommand-LHOVVI6U.mjs.map → versionSetCommand-K4SDBPLB.cjs.map} +0 -0
- /package/build/js/{versionSetCommand-VD3L5DOV.cjs.map → versionSetCommand-UWPAQ7NV.mjs.map} +0 -0
package/package.json
CHANGED
|
@@ -1,9 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@osdk/cli",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.7.0",
|
|
4
4
|
"description": "",
|
|
5
5
|
"access": "public",
|
|
6
6
|
"license": "Apache-2.0",
|
|
7
|
+
"repository": {
|
|
8
|
+
"type": "git",
|
|
9
|
+
"url": "https://github.com/palantir/osdk-ts.git"
|
|
10
|
+
},
|
|
7
11
|
"exports": {
|
|
8
12
|
".": {
|
|
9
13
|
"types": "./build/types/index.d.ts",
|
|
@@ -23,16 +27,18 @@
|
|
|
23
27
|
"consola": "^3.2.3",
|
|
24
28
|
"find-up": "^6.3.0",
|
|
25
29
|
"open": "^9.1.0",
|
|
30
|
+
"semver": "^7.6.0",
|
|
26
31
|
"yargs": "^17.7.2",
|
|
32
|
+
"@osdk/api": "1.1.1",
|
|
27
33
|
"@osdk/gateway": "1.1.1",
|
|
28
34
|
"@osdk/generator": "1.3.0",
|
|
29
|
-
"@osdk/shared.net": "1.2.0"
|
|
30
|
-
"@osdk/api": "1.1.1"
|
|
35
|
+
"@osdk/shared.net": "1.2.0"
|
|
31
36
|
},
|
|
32
37
|
"devDependencies": {
|
|
33
38
|
"@types/archiver": "^6.0.0",
|
|
34
39
|
"@types/ngeohash": "^0.6.4",
|
|
35
40
|
"@types/node": "^18.0.0",
|
|
41
|
+
"@types/semver": "^7.5.7",
|
|
36
42
|
"@types/yargs": "^17.0.29",
|
|
37
43
|
"ts-expect": "^1.3.0",
|
|
38
44
|
"typescript": "^5.2.2"
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/commands/auth/login/loginFlow.ts","../../src/commands/auth/login/token.ts"],"names":[],"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\n// eslint-disable-next-line import/no-named-as-default\nimport consola from \"consola\";\nimport { getRandomValues, subtle } from \"crypto\";\nimport { createServer } from \"http\";\nimport open from \"open\";\nimport { join } from \"path/posix\";\nimport { exit } from \"process\";\nimport { parse } from \"url\";\nimport { isTokenErrorResponse } from \"./token.js\";\nconst BROWSER_PROMPT_TIME_MS = 60 * 1000;\nexport default async function invokeLoginFlow(args) {\n consola.start(`Authenticating using application id: ${args.applicationId}`);\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.applicationId;\n const state = generateRandomString();\n const codeVerifier = generateRandomString();\n const codeChallenge = await generateCodeChallenge(codeVerifier);\n const authorizeUrl = generateAuthorizeUrl(args.baseUrl, 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.baseUrl, 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 let output = [];\n let 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 codeChallengeMethod = \"S256\";\n const codeChallenge = btoa(String.fromCharCode(...new Uint8Array(digest))).replace(/\\//g, \"_\").replace(/\\+/g, \"-\").replace(/=/g, \"\");\n return {\n codeChallenge,\n codeChallengeMethod\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\"].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 +0,0 @@
|
|
|
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}"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/ExitProcessError.ts"],"names":[],"mappings":";AAgBO,IAAM,mBAAN,cAA+B,MAAM;AAAA,EAC1C,YAAY,WAAW,KAAK;AAC1B,UAAM,GAAG;AACT,SAAK,YAAY;AAAA,EACnB;AACF","sourcesContent":["/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport class ExitProcessError extends Error {\n constructor(errorCode, msg) {\n super(msg);\n this.errorCode = errorCode;\n }\n}"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/ExitProcessError.ts"],"names":[],"mappings":";AAgBO,IAAM,mBAAN,cAA+B,MAAM;AAAA,EAC1C,YAAY,WAAW,KAAK;AAC1B,UAAM,GAAG;AACT,SAAK,YAAY;AAAA,EACnB;AACF","sourcesContent":["/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport class ExitProcessError extends Error {\n constructor(errorCode, msg) {\n super(msg);\n this.errorCode = errorCode;\n }\n}"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/commands/auth/login/loginFlow.ts","../../src/commands/auth/login/token.ts"],"names":[],"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\n// eslint-disable-next-line import/no-named-as-default\nimport consola from \"consola\";\nimport { getRandomValues, subtle } from \"crypto\";\nimport { createServer } from \"http\";\nimport open from \"open\";\nimport { join } from \"path/posix\";\nimport { exit } from \"process\";\nimport { parse } from \"url\";\nimport { isTokenErrorResponse } from \"./token.js\";\nconst BROWSER_PROMPT_TIME_MS = 60 * 1000;\nexport default async function invokeLoginFlow(args) {\n consola.start(`Authenticating using application id: ${args.applicationId}`);\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.applicationId;\n const state = generateRandomString();\n const codeVerifier = generateRandomString();\n const codeChallenge = await generateCodeChallenge(codeVerifier);\n const authorizeUrl = generateAuthorizeUrl(args.baseUrl, 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.baseUrl, 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 let output = [];\n let 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 codeChallengeMethod = \"S256\";\n const codeChallenge = btoa(String.fromCharCode(...new Uint8Array(digest))).replace(/\\//g, \"_\").replace(/\\+/g, \"-\").replace(/=/g, \"\");\n return {\n codeChallenge,\n codeChallengeMethod\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\"].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,9 +0,0 @@
|
|
|
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
|
|
@@ -1,11 +0,0 @@
|
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
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}"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/commands/typescript/generate/handleGenerate.mts"],"names":[],"mappings":";;;;;;AAgBA,SAAS,yBAAyB,wBAAwB;AAC1D,SAAS,mCAAmC,4CAA4C;AACxF,SAAS,qBAAqB,4BAA4B;AAC1D,SAAS,eAAe;AACxB,YAAY,QAAQ;AAEpB,IAAM,aAAa,YAAY,OAA2B;AAC1D,eAAO,eAAsC,MAAM;AACjD,MAAI,UAAU;AACd,MAAI,KAAK,cAAc;AACrB,cAAU,MAAM,sBAAsB,IAAI;AAAA,EAC5C,WAAW,KAAK,SAAS,KAAK,UAAU;AACtC,cAAU,MAAM,kBAAkB,IAAI;AAAA,EACxC,OAAO;AACL,UAAM,IAAI,MAAM,wDAAwD;AAAA,EAC1E;AACA,MAAI,SAAS;AACX,YAAQ,KAAK,iBAAiB;AAAA,EAChC;AACF;AACA,eAAe,sBAAsB,MAAM;AACzC,MAAI,CAAI,cAAW,KAAK,YAAY,GAAG;AACrC,YAAQ,MAAM,iCAAiC,KAAK,YAAY,EAAE;AAClE,WAAO;AAAA,EACT;AACA,QAAM,WAAW,KAAK,MAAM,MAAS,YAAS,SAAS,KAAK,cAAc,OAAO,CAAC;AAClF,SAAO,MAAM,kBAAkB,UAAU,IAAI;AAC/C;AACA,eAAe,kBAAkB,MAAM;AACrC,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAI;AACJ,QAAM,QAAQ,MAAM,gBAAgB;AAAA,IAClC,eAAe;AAAA,IACf,SAAS;AAAA,IACT,SAAS;AAAA,EACX,CAAC;AACD,QAAM;AAAA,IACJ;AAAA,EACF,IAAI,oBAAoB;AAAA,IACtB,UAAU;AAAA,MACR,WAAW;AAAA,IACb;AAAA,EACF,GAAG,KAAK,OAAO,MAAM,MAAM,cAAc,UAAU;AACnD,MAAI;AACF,UAAM,aAAa,MAAM,iBAAiB,qBAAqB,OAAO,KAAK,CAAC;AAC5E,QAAI,WAAW,KAAK,WAAW,GAAG;AAChC,cAAQ,MAAM,4DAA4D,WAAW,KAAK,MAAM,cAAc;AAC9G,aAAO;AAAA,IACT;AACA,UAAM,WAAW,MAAM,wBAAwB,qBAAqB,OAAO,KAAK,GAAG,WAAW,KAAK,CAAC,EAAE,OAAO;AAC7G,QAAI,mBAAmB;AACrB,MAAG,iBAAc,mBAAmB,KAAK,UAAU,UAAU,MAAM,CAAC,CAAC;AAAA,IACvE;AACA,WAAO,MAAM,kBAAkB,UAAU,IAAI;AAAA,EAC/C,SAAS,GAAG;AACV,YAAQ,MAAM,mCAAmC,CAAC;AAClD,WAAO;AAAA,EACT;AACF;AACA,eAAe,kBAAkB,UAAU,MAAM;AAC/C,QAAM,YAAY;AAAA,IAChB,WAAW,CAAC,MAAM,aAAa;AAC7B,aAAU,YAAS,UAAU,MAAM,UAAU,OAAO;AAAA,IACtD;AAAA,IACA,OAAO,OAAO,MAAM,YAAY;AAC9B,YAAS,YAAS,MAAM,MAAM,OAAO;AAAA,IACvC;AAAA,IACA,SAAS,OAAM,SAAW,YAAS,QAAQ,IAAI;AAAA,EACjD;AACA,MAAI;AACF,QAAI,KAAK,MAAM;AACb,YAAM,qCAAqC,UAAU,aAAa,KAAK,OAAO,GAAG,WAAW,KAAK,QAAQ,KAAK,WAAW;AAAA,IAC3H,OAAO;AACL,YAAM,kCAAkC,UAAU,aAAa,KAAK,OAAO,GAAG,WAAW,KAAK,QAAQ,KAAK,WAAW;AAAA,IACxH;AAAA,EACF,SAAS,GAAG;AACV,YAAQ,MAAM,0BAA0B,EAAE,OAAO;AACjD,WAAO;AAAA,EACT;AACA,SAAO;AACT;AAIA,SAAS,aAAa,SAAS;AAC7B,MAAI,YAAY,OAAO;AACrB,WAAO;AAAA,EACT,OAAO;AACL,WAAO,kBAAkB,OAAO,IAAI,UAAU;AAAA,EAChD;AACF","sourcesContent":["/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { getOntologyFullMetadata, listOntologiesV2 } from \"@osdk/gateway/requests\";\nimport { generateClientSdkVersionOneDotOne, generateClientSdkVersionTwoPointZero } from \"@osdk/generator\";\nimport { createClientContext, createOpenApiRequest } from \"@osdk/shared.net\";\nimport { consola } from \"consola\";\nimport * as fs from \"node:fs\";\nimport invokeLoginFlow from \"../../auth/login/loginFlow.js\";\nconst USER_AGENT = `osdk-cli/${process.env.PACKAGE_VERSION}`;\nexport default async function handleGenerate(args) {\n let success = false;\n if (args.ontologyPath) {\n success = await generateFromLocalFile(args);\n } else if (args.stack && args.clientId) {\n success = await generateFromStack(args);\n } else {\n throw new Error(\"Must have specified ontologyPath or stack and clientId\");\n }\n if (success) {\n consola.info(\"OSDK Generated!\");\n }\n}\nasync function generateFromLocalFile(args) {\n if (!fs.existsSync(args.ontologyPath)) {\n consola.error(`Ontology file does not exist: ${args.ontologyPath}`);\n return false;\n }\n const ontology = JSON.parse(await fs.promises.readFile(args.ontologyPath, \"utf-8\"));\n return await generateClientSdk(ontology, args);\n}\nasync function generateFromStack(args) {\n const {\n stack,\n clientId,\n ontologyWritePath\n } = args;\n const token = await invokeLoginFlow({\n applicationId: clientId,\n baseUrl: stack,\n verbose: 0\n });\n const {\n fetch\n } = createClientContext({\n metadata: {\n userAgent: USER_AGENT\n }\n }, args.stack, () => token.access_token, USER_AGENT);\n try {\n const ontologies = await listOntologiesV2(createOpenApiRequest(stack, fetch));\n if (ontologies.data.length !== 1) {\n consola.error(`Could not look up ontology with these credentials. Found ${ontologies.data.length} ontologies.`);\n return false;\n }\n const ontology = await getOntologyFullMetadata(createOpenApiRequest(stack, fetch), ontologies.data[0].apiName);\n if (ontologyWritePath) {\n fs.writeFileSync(ontologyWritePath, JSON.stringify(ontology, null, 2));\n }\n return await generateClientSdk(ontology, args);\n } catch (e) {\n consola.error(\"Failed to generate the ontology\", e);\n return false;\n }\n}\nasync function generateClientSdk(ontology, args) {\n const minimalFs = {\n writeFile: (path, contents) => {\n return fs.promises.writeFile(path, contents, \"utf-8\");\n },\n mkdir: async (path, options) => {\n await fs.promises.mkdir(path, options);\n },\n readdir: async path => fs.promises.readdir(path)\n };\n try {\n if (args.beta) {\n await generateClientSdkVersionTwoPointZero(ontology, getUserAgent(args.version), minimalFs, args.outDir, args.packageType);\n } else {\n await generateClientSdkVersionOneDotOne(ontology, getUserAgent(args.version), minimalFs, args.outDir, args.packageType);\n }\n } catch (e) {\n consola.error(\"OSDK generation failed\", e.message);\n return false;\n }\n return true;\n}\n\n// If the user passed us `dev` as our version, we use that for both our generated package version AND the cli version.\n// This makes it so that releases don't force us to have to regenerate the code when the version strings change.\nfunction getUserAgent(version) {\n if (version === \"dev\") {\n return \"typescript-sdk/dev osdk-cli/dev\";\n } else {\n return `typescript-sdk/${version} ${USER_AGENT}`;\n }\n}"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/commands/typescript/generate/handleGenerate.mts"],"names":[],"mappings":";;;;;;AAgBA,SAAS,yBAAyB,wBAAwB;AAC1D,SAAS,mCAAmC,4CAA4C;AACxF,SAAS,qBAAqB,4BAA4B;AAC1D,SAAS,eAAe;AACxB,YAAY,QAAQ;AAEpB,IAAM,aAAa,YAAY,OAA2B;AAC1D,eAAO,eAAsC,MAAM;AACjD,MAAI,UAAU;AACd,MAAI,KAAK,cAAc;AACrB,cAAU,MAAM,sBAAsB,IAAI;AAAA,EAC5C,WAAW,KAAK,SAAS,KAAK,UAAU;AACtC,cAAU,MAAM,kBAAkB,IAAI;AAAA,EACxC,OAAO;AACL,UAAM,IAAI,MAAM,wDAAwD;AAAA,EAC1E;AACA,MAAI,SAAS;AACX,YAAQ,KAAK,iBAAiB;AAAA,EAChC;AACF;AACA,eAAe,sBAAsB,MAAM;AACzC,MAAI,CAAI,cAAW,KAAK,YAAY,GAAG;AACrC,YAAQ,MAAM,iCAAiC,KAAK,YAAY,EAAE;AAClE,WAAO;AAAA,EACT;AACA,QAAM,WAAW,KAAK,MAAM,MAAS,YAAS,SAAS,KAAK,cAAc,OAAO,CAAC;AAClF,SAAO,MAAM,kBAAkB,UAAU,IAAI;AAC/C;AACA,eAAe,kBAAkB,MAAM;AACrC,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,EACF,IAAI;AACJ,QAAM,QAAQ,MAAM,gBAAgB;AAAA,IAClC,eAAe;AAAA,IACf,SAAS;AAAA,IACT,SAAS;AAAA,EACX,CAAC;AACD,QAAM;AAAA,IACJ;AAAA,EACF,IAAI,oBAAoB;AAAA,IACtB,UAAU;AAAA,MACR,WAAW;AAAA,IACb;AAAA,EACF,GAAG,KAAK,OAAO,MAAM,MAAM,cAAc,UAAU;AACnD,MAAI;AACF,UAAM,aAAa,MAAM,iBAAiB,qBAAqB,OAAO,KAAK,CAAC;AAC5E,QAAI,WAAW,KAAK,WAAW,GAAG;AAChC,cAAQ,MAAM,4DAA4D,WAAW,KAAK,MAAM,cAAc;AAC9G,aAAO;AAAA,IACT;AACA,UAAM,WAAW,MAAM,wBAAwB,qBAAqB,OAAO,KAAK,GAAG,WAAW,KAAK,CAAC,EAAE,OAAO;AAC7G,QAAI,mBAAmB;AACrB,MAAG,iBAAc,mBAAmB,KAAK,UAAU,UAAU,MAAM,CAAC,CAAC;AAAA,IACvE;AACA,WAAO,MAAM,kBAAkB,UAAU,IAAI;AAAA,EAC/C,SAAS,GAAG;AACV,YAAQ,MAAM,mCAAmC,CAAC;AAClD,WAAO;AAAA,EACT;AACF;AACA,eAAe,kBAAkB,UAAU,MAAM;AAC/C,QAAM,YAAY;AAAA,IAChB,WAAW,CAAC,MAAM,aAAa;AAC7B,aAAU,YAAS,UAAU,MAAM,UAAU,OAAO;AAAA,IACtD;AAAA,IACA,OAAO,OAAO,MAAM,YAAY;AAC9B,YAAS,YAAS,MAAM,MAAM,OAAO;AAAA,IACvC;AAAA,IACA,SAAS,OAAM,SAAW,YAAS,QAAQ,IAAI;AAAA,EACjD;AACA,MAAI;AACF,QAAI,KAAK,MAAM;AACb,YAAM,qCAAqC,UAAU,aAAa,KAAK,OAAO,GAAG,WAAW,KAAK,QAAQ,KAAK,WAAW;AAAA,IAC3H,OAAO;AACL,YAAM,kCAAkC,UAAU,aAAa,KAAK,OAAO,GAAG,WAAW,KAAK,QAAQ,KAAK,WAAW;AAAA,IACxH;AAAA,EACF,SAAS,GAAG;AACV,YAAQ,MAAM,0BAA0B,EAAE,OAAO;AACjD,WAAO;AAAA,EACT;AACA,SAAO;AACT;AAIA,SAAS,aAAa,SAAS;AAC7B,MAAI,YAAY,OAAO;AACrB,WAAO;AAAA,EACT,OAAO;AACL,WAAO,kBAAkB,OAAO,IAAI,UAAU;AAAA,EAChD;AACF","sourcesContent":["/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { getOntologyFullMetadata, listOntologiesV2 } from \"@osdk/gateway/requests\";\nimport { generateClientSdkVersionOneDotOne, generateClientSdkVersionTwoPointZero } from \"@osdk/generator\";\nimport { createClientContext, createOpenApiRequest } from \"@osdk/shared.net\";\nimport { consola } from \"consola\";\nimport * as fs from \"node:fs\";\nimport invokeLoginFlow from \"../../auth/login/loginFlow.js\";\nconst USER_AGENT = `osdk-cli/${process.env.PACKAGE_VERSION}`;\nexport default async function handleGenerate(args) {\n let success = false;\n if (args.ontologyPath) {\n success = await generateFromLocalFile(args);\n } else if (args.stack && args.clientId) {\n success = await generateFromStack(args);\n } else {\n throw new Error(\"Must have specified ontologyPath or stack and clientId\");\n }\n if (success) {\n consola.info(\"OSDK Generated!\");\n }\n}\nasync function generateFromLocalFile(args) {\n if (!fs.existsSync(args.ontologyPath)) {\n consola.error(`Ontology file does not exist: ${args.ontologyPath}`);\n return false;\n }\n const ontology = JSON.parse(await fs.promises.readFile(args.ontologyPath, \"utf-8\"));\n return await generateClientSdk(ontology, args);\n}\nasync function generateFromStack(args) {\n const {\n stack,\n clientId,\n ontologyWritePath\n } = args;\n const token = await invokeLoginFlow({\n applicationId: clientId,\n baseUrl: stack,\n verbose: 0\n });\n const {\n fetch\n } = createClientContext({\n metadata: {\n userAgent: USER_AGENT\n }\n }, args.stack, () => token.access_token, USER_AGENT);\n try {\n const ontologies = await listOntologiesV2(createOpenApiRequest(stack, fetch));\n if (ontologies.data.length !== 1) {\n consola.error(`Could not look up ontology with these credentials. Found ${ontologies.data.length} ontologies.`);\n return false;\n }\n const ontology = await getOntologyFullMetadata(createOpenApiRequest(stack, fetch), ontologies.data[0].apiName);\n if (ontologyWritePath) {\n fs.writeFileSync(ontologyWritePath, JSON.stringify(ontology, null, 2));\n }\n return await generateClientSdk(ontology, args);\n } catch (e) {\n consola.error(\"Failed to generate the ontology\", e);\n return false;\n }\n}\nasync function generateClientSdk(ontology, args) {\n const minimalFs = {\n writeFile: (path, contents) => {\n return fs.promises.writeFile(path, contents, \"utf-8\");\n },\n mkdir: async (path, options) => {\n await fs.promises.mkdir(path, options);\n },\n readdir: async path => fs.promises.readdir(path)\n };\n try {\n if (args.beta) {\n await generateClientSdkVersionTwoPointZero(ontology, getUserAgent(args.version), minimalFs, args.outDir, args.packageType);\n } else {\n await generateClientSdkVersionOneDotOne(ontology, getUserAgent(args.version), minimalFs, args.outDir, args.packageType);\n }\n } catch (e) {\n consola.error(\"OSDK generation failed\", e.message);\n return false;\n }\n return true;\n}\n\n// If the user passed us `dev` as our version, we use that for both our generated package version AND the cli version.\n// This makes it so that releases don't force us to have to regenerate the code when the version strings change.\nfunction getUserAgent(version) {\n if (version === \"dev\") {\n return \"typescript-sdk/dev osdk-cli/dev\";\n } else {\n return `typescript-sdk/${version} ${USER_AGENT}`;\n }\n}"]}
|
|
@@ -1,100 +0,0 @@
|
|
|
1
|
-
import { isValidSemver } from './chunk-N6K26UR4.mjs';
|
|
2
|
-
import { loadToken, createInternalClientContext, artifacts_exports, third_party_application_service_exports, createConjureContext, ArtifactsSitesAdminV2Service_exports } from './chunk-XNYKWAIE.mjs';
|
|
3
|
-
import { ExitProcessError } from './chunk-GTNZA5UY.mjs';
|
|
4
|
-
import './chunk-E2SEJZTC.mjs';
|
|
5
|
-
import { consola } from 'consola';
|
|
6
|
-
import archiver from 'archiver';
|
|
7
|
-
import * as fs from 'fs';
|
|
8
|
-
import path from 'path';
|
|
9
|
-
import { Readable } from 'stream';
|
|
10
|
-
import { execSync } from 'child_process';
|
|
11
|
-
|
|
12
|
-
async function autoVersion(tagPrefix = "") {
|
|
13
|
-
const [matchPrefix, prefixRegex] = tagPrefix !== "" ? [tagPrefix, new RegExp(`^${tagPrefix}`)] : [void 0, new RegExp(`^v?`)];
|
|
14
|
-
try {
|
|
15
|
-
const gitVersion = execSync(`git describe --tags --first-parent --dirty${matchPrefix != null ? ` --match="${matchPrefix}*"` : ""}`, {
|
|
16
|
-
encoding: "utf8"
|
|
17
|
-
});
|
|
18
|
-
const version = gitVersion.trim().replace(prefixRegex, "");
|
|
19
|
-
if (!isValidSemver(version)) {
|
|
20
|
-
throw new ExitProcessError(2, `The version string ${version} is not SemVer compliant.`);
|
|
21
|
-
}
|
|
22
|
-
return version;
|
|
23
|
-
} catch (error) {
|
|
24
|
-
throw new ExitProcessError(2, `Unable to determine the version automatically. Please supply a --version argument. ${error}`);
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
// src/commands/site/deploy/siteDeployCommand.mts
|
|
29
|
-
async function siteDeployCommand({
|
|
30
|
-
version,
|
|
31
|
-
application,
|
|
32
|
-
foundryUrl,
|
|
33
|
-
autoVersion: autoVersion2,
|
|
34
|
-
gitTagPrefix,
|
|
35
|
-
uploadOnly,
|
|
36
|
-
directory,
|
|
37
|
-
token,
|
|
38
|
-
tokenFile
|
|
39
|
-
}) {
|
|
40
|
-
if (version == null && autoVersion2 == null) {
|
|
41
|
-
throw new Error("Either version or autoVersion must be specified");
|
|
42
|
-
}
|
|
43
|
-
const loadedToken = await loadToken(token, tokenFile);
|
|
44
|
-
let siteVersion;
|
|
45
|
-
if (version != null) {
|
|
46
|
-
siteVersion = version;
|
|
47
|
-
} else {
|
|
48
|
-
siteVersion = await autoVersion(gitTagPrefix);
|
|
49
|
-
consola.info(`Auto version inferred next version to be: ${siteVersion}`);
|
|
50
|
-
}
|
|
51
|
-
consola.debug(`Using directory for site files: "${path.resolve(directory)}`);
|
|
52
|
-
const stat = await fs.promises.stat(directory);
|
|
53
|
-
if (!stat.isDirectory()) {
|
|
54
|
-
throw new ExitProcessError(2, "Specified path exists but is not a directory");
|
|
55
|
-
}
|
|
56
|
-
consola.start("Zipping site files");
|
|
57
|
-
const archive = archiver("zip").directory(directory, false);
|
|
58
|
-
logArchiveStats(archive);
|
|
59
|
-
consola.start("Uploading site files");
|
|
60
|
-
const tokenProvider = () => loadedToken;
|
|
61
|
-
const clientCtx = createInternalClientContext(foundryUrl, tokenProvider);
|
|
62
|
-
await Promise.all([artifacts_exports.SiteAssetArtifactsService.uploadZippedSiteAsset(clientCtx, {
|
|
63
|
-
application,
|
|
64
|
-
version: siteVersion,
|
|
65
|
-
zipFile: Readable.toWeb(archive)
|
|
66
|
-
// This cast is because the dom fetch doesnt align type wise with streams
|
|
67
|
-
}), archive.finalize()]);
|
|
68
|
-
consola.success("Upload complete");
|
|
69
|
-
if (!uploadOnly) {
|
|
70
|
-
const repositoryRid = await third_party_application_service_exports.fetchWebsiteRepositoryRid(clientCtx, application);
|
|
71
|
-
const ctx = createConjureContext(foundryUrl, "/artifacts/api", tokenProvider);
|
|
72
|
-
await ArtifactsSitesAdminV2Service_exports.updateDeployedVersion(ctx, repositoryRid, {
|
|
73
|
-
siteVersion: {
|
|
74
|
-
version: siteVersion
|
|
75
|
-
}
|
|
76
|
-
});
|
|
77
|
-
consola.success(`Deployed ${siteVersion} successfully`);
|
|
78
|
-
} else {
|
|
79
|
-
consola.debug("Upload only mode enabled, skipping deployment");
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
function logArchiveStats(archive) {
|
|
83
|
-
let archiveStats = {
|
|
84
|
-
fileCount: 0,
|
|
85
|
-
bytes: 0
|
|
86
|
-
};
|
|
87
|
-
archive.on("progress", (progress) => {
|
|
88
|
-
archiveStats = {
|
|
89
|
-
fileCount: progress.entries.total,
|
|
90
|
-
bytes: progress.fs.totalBytes
|
|
91
|
-
};
|
|
92
|
-
});
|
|
93
|
-
archive.on("finish", () => {
|
|
94
|
-
consola.debug(`Zipped ${archiveStats.fileCount} files and ${archiveStats.bytes} bytes`);
|
|
95
|
-
});
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
export { siteDeployCommand as default };
|
|
99
|
-
//# sourceMappingURL=out.js.map
|
|
100
|
-
//# sourceMappingURL=siteDeployCommand-7GXJF5HF.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/commands/site/deploy/siteDeployCommand.mts","../../src/util/autoVersion.ts"],"names":["autoVersion"],"mappings":"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","sourcesContent":["/*\n * Copyright 2023 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport { consola } from \"consola\";\nimport { artifacts, ArtifactsSitesAdminV2Service, createConjureContext, createInternalClientContext, thirdPartyApplicationService } from \"#net\";\nimport archiver from \"archiver\";\nimport * as fs from \"node:fs\";\nimport path from \"node:path\";\nimport { Readable } from \"node:stream\";\nimport { ExitProcessError } from \"../../../ExitProcessError.js\";\nimport { autoVersion as findAutoVersion } from \"../../../util/autoVersion.js\";\nimport { loadToken } from \"../../../util/token.js\";\nexport default async function siteDeployCommand({\n version,\n application,\n foundryUrl,\n autoVersion,\n gitTagPrefix,\n uploadOnly,\n directory,\n token,\n tokenFile\n}) {\n if (version == null && autoVersion == null) {\n throw new Error(\"Either version or autoVersion must be specified\");\n }\n const loadedToken = await loadToken(token, tokenFile);\n\n // version has a priority over autoVersion. Both could be defined at the same time when\n // autoVersion is present in the config file (it assigns that as a default value to argv.autoVersion)\n // and --version is passed as an argument\n let siteVersion;\n if (version != null) {\n siteVersion = version;\n } else {\n siteVersion = await findAutoVersion(gitTagPrefix);\n consola.info(`Auto version inferred next version to be: ${siteVersion}`);\n }\n consola.debug(`Using directory for site files: \"${path.resolve(directory)}`);\n const stat = await fs.promises.stat(directory);\n if (!stat.isDirectory()) {\n throw new ExitProcessError(2, \"Specified path exists but is not a directory\");\n }\n consola.start(\"Zipping site files\");\n const archive = archiver(\"zip\").directory(directory, false);\n logArchiveStats(archive);\n consola.start(\"Uploading site files\");\n const tokenProvider = () => loadedToken;\n const clientCtx = createInternalClientContext(foundryUrl, tokenProvider);\n await Promise.all([artifacts.SiteAssetArtifactsService.uploadZippedSiteAsset(clientCtx, {\n application,\n version: siteVersion,\n zipFile: Readable.toWeb(archive) // This cast is because the dom fetch doesnt align type wise with streams\n }), archive.finalize()]);\n consola.success(\"Upload complete\");\n if (!uploadOnly) {\n const repositoryRid = await thirdPartyApplicationService.fetchWebsiteRepositoryRid(clientCtx, application);\n const ctx = createConjureContext(foundryUrl, \"/artifacts/api\", tokenProvider);\n await ArtifactsSitesAdminV2Service.updateDeployedVersion(ctx, repositoryRid, {\n siteVersion: {\n version: siteVersion\n }\n });\n consola.success(`Deployed ${siteVersion} successfully`);\n } else {\n consola.debug(\"Upload only mode enabled, skipping deployment\");\n }\n}\nfunction logArchiveStats(archive) {\n let archiveStats = {\n fileCount: 0,\n bytes: 0\n };\n archive.on(\"progress\", progress => {\n archiveStats = {\n fileCount: progress.entries.total,\n bytes: progress.fs.totalBytes\n };\n });\n archive.on(\"finish\", () => {\n consola.debug(`Zipped ${archiveStats.fileCount} files and ${archiveStats.bytes} bytes`);\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 { execSync } from \"node:child_process\";\nimport { ExitProcessError } from \"../ExitProcessError.js\";\nimport { isValidSemver } from \"./isValidSemver.js\";\n\n/**\n * Gets the version string using git describe. If the @param tagPrefix is empty, git describe will return the\n * latest tag (without any filtering) and if the tag starts with \"v\", it will be removed.\n * @param tagPrefix The prefix to use for matching against tags. Defaults to an empty string.\n * @returns A promise that resolves to the version string.\n * @throws An error if the version string is not SemVer compliant or if the version cannot be determined.\n */\nexport async function autoVersion(tagPrefix = \"\") {\n const [matchPrefix, prefixRegex] = tagPrefix !== \"\" ? [tagPrefix, new RegExp(`^${tagPrefix}`)] : [undefined, new RegExp(`^v?`)];\n try {\n const gitVersion = execSync(`git describe --tags --first-parent --dirty${matchPrefix != null ? ` --match=\"${matchPrefix}*\"` : \"\"}`, {\n encoding: \"utf8\"\n });\n const version = gitVersion.trim().replace(prefixRegex, \"\");\n if (!isValidSemver(version)) {\n throw new ExitProcessError(2, `The version string ${version} is not SemVer compliant.`);\n }\n return version;\n } catch (error) {\n throw new ExitProcessError(2, `Unable to determine the version automatically. Please supply a --version argument. ${error}`);\n }\n}"]}
|