securewithtrace 0.20.1 → 0.20.2
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/dist/index.js +34 -3
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -26173,6 +26173,7 @@ function colorAccentUnderline(text, colorizer = source_default) {
|
|
|
26173
26173
|
var readTokenSafe = readToken;
|
|
26174
26174
|
var PRODUCTION_API_URL = "https://api.securewithtrace.com";
|
|
26175
26175
|
var UNAUTHORIZED_STATUS = 401;
|
|
26176
|
+
var REFRESH_AUTH_FAILURE_STATUS_CODES = /* @__PURE__ */ new Set([400, 401]);
|
|
26176
26177
|
function getApiBaseUrl() {
|
|
26177
26178
|
const raw = process.env["TRACE_API_URL"];
|
|
26178
26179
|
if (!raw) {
|
|
@@ -26217,9 +26218,24 @@ function getWorkosClientId() {
|
|
|
26217
26218
|
}
|
|
26218
26219
|
return clientId;
|
|
26219
26220
|
}
|
|
26221
|
+
function parseRefreshFailureStatus(error48) {
|
|
26222
|
+
if (!(error48 instanceof Error)) {
|
|
26223
|
+
return null;
|
|
26224
|
+
}
|
|
26225
|
+
const statusMatch = error48.message.match(/\b([1-5]\d{2})\b/);
|
|
26226
|
+
if (!statusMatch?.[1]) {
|
|
26227
|
+
return null;
|
|
26228
|
+
}
|
|
26229
|
+
return Number.parseInt(statusMatch[1], 10);
|
|
26230
|
+
}
|
|
26231
|
+
function isRefreshAuthFailure(error48) {
|
|
26232
|
+
const status = parseRefreshFailureStatus(error48);
|
|
26233
|
+
return status !== null && REFRESH_AUTH_FAILURE_STATUS_CODES.has(status);
|
|
26234
|
+
}
|
|
26220
26235
|
async function refreshStoredAccessToken() {
|
|
26221
26236
|
const clientId = getWorkosClientId();
|
|
26222
26237
|
const refreshToken = readRefreshToken();
|
|
26238
|
+
const tokenOrganizationId = extractOrganizationIdFromToken(readToken());
|
|
26223
26239
|
if (!clientId || !refreshToken) {
|
|
26224
26240
|
return null;
|
|
26225
26241
|
}
|
|
@@ -26229,7 +26245,20 @@ async function refreshStoredAccessToken() {
|
|
|
26229
26245
|
writeTokens(tokenResponse.access_token, nextRefreshToken);
|
|
26230
26246
|
return tokenResponse.access_token;
|
|
26231
26247
|
} catch (error48) {
|
|
26232
|
-
if (
|
|
26248
|
+
if (tokenOrganizationId && isRefreshAuthFailure(error48)) {
|
|
26249
|
+
try {
|
|
26250
|
+
const tokenResponse = await refreshAccessToken(clientId, refreshToken, tokenOrganizationId);
|
|
26251
|
+
const nextRefreshToken = tokenResponse.refresh_token ?? refreshToken;
|
|
26252
|
+
writeTokens(tokenResponse.access_token, nextRefreshToken);
|
|
26253
|
+
return tokenResponse.access_token;
|
|
26254
|
+
} catch (orgRefreshError) {
|
|
26255
|
+
if (isRefreshAuthFailure(orgRefreshError)) {
|
|
26256
|
+
removeToken();
|
|
26257
|
+
}
|
|
26258
|
+
return null;
|
|
26259
|
+
}
|
|
26260
|
+
}
|
|
26261
|
+
if (isRefreshAuthFailure(error48)) {
|
|
26233
26262
|
removeToken();
|
|
26234
26263
|
}
|
|
26235
26264
|
return null;
|
|
@@ -26247,7 +26276,7 @@ async function refreshStoredAccessTokenForOrganization(workosOrganizationId) {
|
|
|
26247
26276
|
writeTokens(tokenResponse.access_token, nextRefreshToken);
|
|
26248
26277
|
return true;
|
|
26249
26278
|
} catch (error48) {
|
|
26250
|
-
if (
|
|
26279
|
+
if (isRefreshAuthFailure(error48)) {
|
|
26251
26280
|
removeToken();
|
|
26252
26281
|
}
|
|
26253
26282
|
return false;
|
|
@@ -27984,7 +28013,9 @@ function printRepositoriesTable(repositories) {
|
|
|
27984
28013
|
repo.status === "CONNECTED" ? "connected" : "disconnected"
|
|
27985
28014
|
]
|
|
27986
28015
|
);
|
|
27987
|
-
const colWidths = headers.map(
|
|
28016
|
+
const colWidths = headers.map(
|
|
28017
|
+
(h, i) => Math.max(h.length, ...rows.map((r) => (r[i] ?? "").length))
|
|
28018
|
+
);
|
|
27988
28019
|
const pad = (s, w3) => s.padEnd(w3);
|
|
27989
28020
|
console.log(headers.map((h, i) => pad(h, colWidths[i] ?? h.length)).join(" "));
|
|
27990
28021
|
for (const row of rows) {
|