passwd-sso-cli 0.4.42 → 0.4.44

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.
@@ -6,6 +6,7 @@ import { loadConfig, saveConfig, loadCredentials, saveCredentials } from "../lib
6
6
  import { setTokenCache } from "../lib/api-client.js";
7
7
  import { runOAuthFlow, revokeTokenRequest, validateServerUrl } from "../lib/oauth.js";
8
8
  import * as output from "../lib/output.js";
9
+ import { MS_PER_MINUTE, MS_PER_SECOND } from "../lib/time.js";
9
10
  async function prompt(question) {
10
11
  const rl = createInterface({ input: process.stdin, output: process.stdout });
11
12
  return new Promise((resolve) => {
@@ -61,7 +62,7 @@ async function revokeExistingSession(serverUrl) {
61
62
  async function oauthLogin(serverUrl) {
62
63
  try {
63
64
  const result = await runOAuthFlow(serverUrl);
64
- const expiresAt = new Date(Date.now() + result.expiresIn * 1000).toISOString();
65
+ const expiresAt = new Date(Date.now() + result.expiresIn * MS_PER_SECOND).toISOString();
65
66
  saveCredentials({
66
67
  accessToken: result.accessToken,
67
68
  refreshToken: result.refreshToken,
@@ -84,7 +85,8 @@ async function manualTokenLogin(serverUrl) {
84
85
  output.error("Token is required.");
85
86
  return;
86
87
  }
87
- const expiresAt = new Date(Date.now() + 15 * 60 * 1000).toISOString();
88
+ // 15 minutes rough default for manually-pasted tokens; server re-verifies expiry
89
+ const expiresAt = new Date(Date.now() + 15 * MS_PER_MINUTE).toISOString();
88
90
  saveCredentials({
89
91
  accessToken: token,
90
92
  refreshToken: "",
@@ -6,6 +6,7 @@
6
6
  */
7
7
  import { loadCredentials, saveCredentials, loadConfig } from "./config.js";
8
8
  import { refreshTokenGrant } from "./oauth.js";
9
+ import { MS_PER_MINUTE, MS_PER_SECOND } from "./time.js";
9
10
  let cachedToken = null;
10
11
  let cachedExpiresAt = null;
11
12
  let cachedRefreshToken = null;
@@ -53,7 +54,7 @@ function getBaseUrl() {
53
54
  }
54
55
  return config.serverUrl.replace(/\/$/, "");
55
56
  }
56
- const REFRESH_BUFFER_MS = 2 * 60 * 1000;
57
+ const REFRESH_BUFFER_MS = 2 * MS_PER_MINUTE;
57
58
  function isTokenExpiringSoon() {
58
59
  if (!cachedExpiresAt)
59
60
  return false;
@@ -67,7 +68,7 @@ async function refreshToken() {
67
68
  const result = await refreshTokenGrant(baseUrl, cachedRefreshToken, cachedClientId);
68
69
  if (!result || !result.refreshToken)
69
70
  return false;
70
- const expiresAt = new Date(Date.now() + result.expiresIn * 1000).toISOString();
71
+ const expiresAt = new Date(Date.now() + result.expiresIn * MS_PER_SECOND).toISOString();
71
72
  saveCredentials({
72
73
  accessToken: result.accessToken,
73
74
  refreshToken: result.refreshToken,
@@ -122,7 +123,7 @@ export async function apiRequest(path, options = {}) {
122
123
  return { ok: res.ok, status: res.status, data };
123
124
  }
124
125
  // ─── Background Token Refresh Timer ─────────────────────────
125
- const BG_REFRESH_INTERVAL_MS = 50 * 60 * 1000;
126
+ const BG_REFRESH_INTERVAL_MS = 50 * MS_PER_MINUTE;
126
127
  let bgRefreshTimer = null;
127
128
  export function startBackgroundRefresh() {
128
129
  stopBackgroundRefresh();
@@ -0,0 +1,8 @@
1
+ /** Milliseconds per second. */
2
+ export declare const MS_PER_SECOND = 1000;
3
+ /** Milliseconds per minute. */
4
+ export declare const MS_PER_MINUTE: number;
5
+ /** Milliseconds per hour. */
6
+ export declare const MS_PER_HOUR: number;
7
+ /** Milliseconds per day. */
8
+ export declare const MS_PER_DAY: number;
@@ -0,0 +1,9 @@
1
+ /** Milliseconds per second. */
2
+ export const MS_PER_SECOND = 1_000;
3
+ /** Milliseconds per minute. */
4
+ export const MS_PER_MINUTE = 60 * MS_PER_SECOND;
5
+ /** Milliseconds per hour. */
6
+ export const MS_PER_HOUR = 60 * MS_PER_MINUTE;
7
+ /** Milliseconds per day. */
8
+ export const MS_PER_DAY = 24 * MS_PER_HOUR;
9
+ //# sourceMappingURL=time.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "passwd-sso-cli",
3
- "version": "0.4.42",
3
+ "version": "0.4.44",
4
4
  "description": "CLI for passwd-sso password manager",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -49,5 +49,8 @@
49
49
  "tsx": "^4.19.4",
50
50
  "typescript": "^5.9.0-beta",
51
51
  "vitest": "^4.0.18"
52
+ },
53
+ "overrides": {
54
+ "postcss": ">=8.5.10"
52
55
  }
53
56
  }