@lofder/dsers-mcp-product 1.3.7 → 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (155) hide show
  1. package/README.md +164 -74
  2. package/dist/auth/browser-finder.d.ts +5 -5
  3. package/dist/auth/browser-finder.d.ts.map +1 -1
  4. package/dist/auth/browser-finder.js +13 -95
  5. package/dist/auth/browser-finder.js.map +1 -1
  6. package/dist/auth/cdp-session.d.ts.map +1 -1
  7. package/dist/auth/cdp-session.js +89 -38
  8. package/dist/auth/cdp-session.js.map +1 -1
  9. package/dist/auth/index.d.ts +3 -5
  10. package/dist/auth/index.d.ts.map +1 -1
  11. package/dist/auth/index.js +3 -5
  12. package/dist/auth/index.js.map +1 -1
  13. package/dist/auth/oauth.d.ts +36 -0
  14. package/dist/auth/oauth.d.ts.map +1 -0
  15. package/dist/auth/oauth.js +173 -0
  16. package/dist/auth/oauth.js.map +1 -0
  17. package/dist/auth/safari-fallback.d.ts.map +1 -1
  18. package/dist/auth/safari-fallback.js +7 -2
  19. package/dist/auth/safari-fallback.js.map +1 -1
  20. package/dist/auth/terminal-prompt.d.ts.map +1 -1
  21. package/dist/auth/terminal-prompt.js +6 -3
  22. package/dist/auth/terminal-prompt.js.map +1 -1
  23. package/dist/auth/token-store.d.ts +10 -2
  24. package/dist/auth/token-store.d.ts.map +1 -1
  25. package/dist/auth/token-store.js +32 -5
  26. package/dist/auth/token-store.js.map +1 -1
  27. package/dist/cli.js +51 -68
  28. package/dist/cli.js.map +1 -1
  29. package/dist/dsers/account.d.ts.map +1 -1
  30. package/dist/dsers/account.js.map +1 -1
  31. package/dist/dsers/auth.d.ts +5 -6
  32. package/dist/dsers/auth.d.ts.map +1 -1
  33. package/dist/dsers/auth.js +57 -84
  34. package/dist/dsers/auth.js.map +1 -1
  35. package/dist/dsers/client.d.ts +0 -1
  36. package/dist/dsers/client.d.ts.map +1 -1
  37. package/dist/dsers/client.js +7 -14
  38. package/dist/dsers/client.js.map +1 -1
  39. package/dist/dsers/config.d.ts +19 -16
  40. package/dist/dsers/config.d.ts.map +1 -1
  41. package/dist/dsers/config.js +22 -30
  42. package/dist/dsers/config.js.map +1 -1
  43. package/dist/dsers/product.d.ts.map +1 -1
  44. package/dist/dsers/product.js +5 -10
  45. package/dist/dsers/product.js.map +1 -1
  46. package/dist/dsers/settings.d.ts.map +1 -1
  47. package/dist/dsers/settings.js.map +1 -1
  48. package/dist/error-map.d.ts.map +1 -1
  49. package/dist/error-map.js +4 -6
  50. package/dist/error-map.js.map +1 -1
  51. package/dist/index.d.ts +2 -2
  52. package/dist/index.d.ts.map +1 -1
  53. package/dist/index.js +22 -13
  54. package/dist/index.js.map +1 -1
  55. package/dist/instructions.d.ts.map +1 -1
  56. package/dist/instructions.js +15 -2
  57. package/dist/instructions.js.map +1 -1
  58. package/dist/job-store.d.ts.map +1 -1
  59. package/dist/job-store.js.map +1 -1
  60. package/dist/oauth/crypto.d.ts.map +1 -1
  61. package/dist/oauth/crypto.js.map +1 -1
  62. package/dist/provider/helpers.d.ts +28 -0
  63. package/dist/provider/helpers.d.ts.map +1 -0
  64. package/dist/provider/helpers.js +265 -0
  65. package/dist/provider/helpers.js.map +1 -0
  66. package/dist/provider/import-ops.d.ts +23 -0
  67. package/dist/provider/import-ops.d.ts.map +1 -0
  68. package/dist/provider/import-ops.js +350 -0
  69. package/dist/provider/import-ops.js.map +1 -0
  70. package/dist/provider/index.d.ts +38 -0
  71. package/dist/provider/index.d.ts.map +1 -0
  72. package/dist/provider/index.js +172 -0
  73. package/dist/provider/index.js.map +1 -0
  74. package/dist/provider/normalize.d.ts +7 -0
  75. package/dist/provider/normalize.d.ts.map +1 -0
  76. package/dist/provider/normalize.js +239 -0
  77. package/dist/provider/normalize.js.map +1 -0
  78. package/dist/provider/push.d.ts +15 -0
  79. package/dist/provider/push.d.ts.map +1 -0
  80. package/dist/provider/push.js +420 -0
  81. package/dist/provider/push.js.map +1 -0
  82. package/dist/provider/store.d.ts +7 -0
  83. package/dist/provider/store.d.ts.map +1 -0
  84. package/dist/provider/store.js +152 -0
  85. package/dist/provider/store.js.map +1 -0
  86. package/dist/provider.d.ts.map +1 -1
  87. package/dist/provider.js +82 -241
  88. package/dist/provider.js.map +1 -1
  89. package/dist/push-guard.d.ts.map +1 -1
  90. package/dist/push-guard.js +3 -7
  91. package/dist/push-guard.js.map +1 -1
  92. package/dist/push-options.js.map +1 -1
  93. package/dist/resolver.d.ts.map +1 -1
  94. package/dist/resolver.js +1 -2
  95. package/dist/resolver.js.map +1 -1
  96. package/dist/rules.d.ts.map +1 -1
  97. package/dist/rules.js +39 -13
  98. package/dist/rules.js.map +1 -1
  99. package/dist/service/browse-shared.d.ts +6 -0
  100. package/dist/service/browse-shared.d.ts.map +1 -0
  101. package/dist/service/browse-shared.js +26 -0
  102. package/dist/service/browse-shared.js.map +1 -0
  103. package/dist/service/browse.d.ts +20 -0
  104. package/dist/service/browse.d.ts.map +1 -0
  105. package/dist/service/browse.js +159 -0
  106. package/dist/service/browse.js.map +1 -0
  107. package/dist/service/find-product.d.ts +12 -0
  108. package/dist/service/find-product.d.ts.map +1 -0
  109. package/dist/service/find-product.js +51 -0
  110. package/dist/service/find-product.js.map +1 -0
  111. package/dist/service/helpers.d.ts +20 -0
  112. package/dist/service/helpers.d.ts.map +1 -0
  113. package/dist/service/helpers.js +163 -0
  114. package/dist/service/helpers.js.map +1 -0
  115. package/dist/service/import-flow.d.ts +6 -0
  116. package/dist/service/import-flow.d.ts.map +1 -0
  117. package/dist/service/import-flow.js +141 -0
  118. package/dist/service/import-flow.js.map +1 -0
  119. package/dist/service/import-list.d.ts +6 -0
  120. package/dist/service/import-list.d.ts.map +1 -0
  121. package/dist/service/import-list.js +103 -0
  122. package/dist/service/import-list.js.map +1 -0
  123. package/dist/service/index.d.ts +37 -0
  124. package/dist/service/index.d.ts.map +1 -0
  125. package/dist/service/index.js +132 -0
  126. package/dist/service/index.js.map +1 -0
  127. package/dist/service/my-products.d.ts +7 -0
  128. package/dist/service/my-products.d.ts.map +1 -0
  129. package/dist/service/my-products.js +51 -0
  130. package/dist/service/my-products.js.map +1 -0
  131. package/dist/service/preview.d.ts +7 -0
  132. package/dist/service/preview.d.ts.map +1 -0
  133. package/dist/service/preview.js +235 -0
  134. package/dist/service/preview.js.map +1 -0
  135. package/dist/service/push-flow.d.ts +12 -0
  136. package/dist/service/push-flow.d.ts.map +1 -0
  137. package/dist/service/push-flow.js +251 -0
  138. package/dist/service/push-flow.js.map +1 -0
  139. package/dist/service/status.d.ts +6 -0
  140. package/dist/service/status.d.ts.map +1 -0
  141. package/dist/service/status.js +90 -0
  142. package/dist/service/status.js.map +1 -0
  143. package/dist/service.d.ts +1 -1
  144. package/dist/service.d.ts.map +1 -1
  145. package/dist/service.js +23 -32
  146. package/dist/service.js.map +1 -1
  147. package/dist/tools.d.ts +1 -1
  148. package/dist/tools.d.ts.map +1 -1
  149. package/dist/tools.js +162 -114
  150. package/dist/tools.js.map +1 -1
  151. package/dist/types/dsers-api.d.ts +133 -0
  152. package/dist/types/dsers-api.d.ts.map +1 -0
  153. package/dist/types/dsers-api.js +2 -0
  154. package/dist/types/dsers-api.js.map +1 -0
  155. package/package.json +15 -5
@@ -14,13 +14,15 @@ function askPassword(prompt) {
14
14
  let pw = "";
15
15
  const onData = (buf) => {
16
16
  for (const b of buf) {
17
- if (b === 0x03) { // Ctrl+C
17
+ if (b === 0x03) {
18
+ // Ctrl+C
18
19
  process.stderr.write("\n");
19
20
  process.stdin.setRawMode?.(false);
20
21
  process.stdin.removeListener("data", onData);
21
22
  process.exit(130);
22
23
  }
23
- if (b === 0x0d || b === 0x0a) { // Enter
24
+ if (b === 0x0d || b === 0x0a) {
25
+ // Enter
24
26
  process.stderr.write("\n");
25
27
  process.stdin.setRawMode?.(false);
26
28
  process.stdin.removeListener("data", onData);
@@ -28,7 +30,8 @@ function askPassword(prompt) {
28
30
  resolve(pw);
29
31
  return;
30
32
  }
31
- if (b === 0x7f || b === 0x08) { // Backspace
33
+ if (b === 0x7f || b === 0x08) {
34
+ // Backspace
32
35
  if (pw.length > 0) {
33
36
  pw = pw.slice(0, -1);
34
37
  process.stderr.write("\b \b");
@@ -1 +1 @@
1
- {"version":3,"file":"terminal-prompt.js","sourceRoot":"","sources":["../../src/auth/terminal-prompt.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"terminal-prompt.js","sourceRoot":"","sources":["../../src/auth/terminal-prompt.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,19 @@
1
+ /** OAuth token storage format (shared with DSClaw) */
1
2
  export interface StoredSession {
2
- session_id: string;
3
- state: string;
3
+ access_token: string;
4
+ refresh_token: string;
5
+ expires_at: number;
6
+ client_id: string;
7
+ oauth_base: string;
4
8
  base_url: string;
5
9
  ts: number;
6
10
  }
11
+ /** Check if a parsed credential is the old CDP format */
12
+ export declare function isLegacySession(obj: Record<string, unknown>): boolean;
7
13
  export declare function saveToken(session: StoredSession): void;
8
14
  export declare function loadToken(): StoredSession | null;
9
15
  export declare function clearToken(): boolean;
10
16
  export declare function tokenFilePath(): string;
17
+ /** Check if a legacy CDP credential file exists (for migration messaging) */
18
+ export declare function hasLegacyCredentials(): boolean;
11
19
  //# sourceMappingURL=token-store.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"token-store.d.ts","sourceRoot":"","sources":["../../src/auth/token-store.ts"],"names":[],"mappings":"AAeA,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,EAAE,EAAE,MAAM,CAAC;CACZ;AA0CD,wBAAgB,SAAS,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI,CAQtD;AAED,wBAAgB,SAAS,IAAI,aAAa,GAAG,IAAI,CAahD;AAED,wBAAgB,UAAU,IAAI,OAAO,CAIpC;AAED,wBAAgB,aAAa,IAAI,MAAM,CAEtC"}
1
+ {"version":3,"file":"token-store.d.ts","sourceRoot":"","sources":["../../src/auth/token-store.ts"],"names":[],"mappings":"AAWA,sDAAsD;AACtD,MAAM,WAAW,aAAa;IAC5B,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,EAAE,EAAE,MAAM,CAAC;CACZ;AAsDD,yDAAyD;AACzD,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAErE;AAED,wBAAgB,SAAS,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI,CAYtD;AAED,wBAAgB,SAAS,IAAI,aAAa,GAAG,IAAI,CAkBhD;AAED,wBAAgB,UAAU,IAAI,OAAO,CASpC;AAED,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAED,6EAA6E;AAC7E,wBAAgB,oBAAoB,IAAI,OAAO,CAY9C"}
@@ -1,5 +1,5 @@
1
- import { randomBytes, createCipheriv, createDecipheriv, createHash, } from "node:crypto";
2
- import { readFileSync, writeFileSync, mkdirSync, unlinkSync, chmodSync, } from "node:fs";
1
+ import { randomBytes, createCipheriv, createDecipheriv, createHash } from "node:crypto";
2
+ import { readFileSync, writeFileSync, mkdirSync, unlinkSync, chmodSync } from "node:fs";
3
3
  import { existsSync } from "node:fs";
4
4
  import { join } from "node:path";
5
5
  import { homedir, hostname, userInfo } from "node:os";
@@ -49,6 +49,10 @@ function decrypt(encoded) {
49
49
  return null;
50
50
  }
51
51
  }
52
+ /** Check if a parsed credential is the old CDP format */
53
+ export function isLegacySession(obj) {
54
+ return typeof obj.session_id === "string" && !obj.access_token;
55
+ }
52
56
  export function saveToken(session) {
53
57
  const dir = getCredDir();
54
58
  mkdirSync(dir, { recursive: true, mode: 0o700 });
@@ -59,7 +63,9 @@ export function saveToken(session) {
59
63
  try {
60
64
  chmodSync(file, 0o600);
61
65
  }
62
- catch (_chmodErr) { /* Windows: chmod not fully supported */ }
66
+ catch (_chmodErr) {
67
+ /* Windows: chmod not fully supported */
68
+ }
63
69
  }
64
70
  export function loadToken() {
65
71
  const file = getCredFile();
@@ -70,8 +76,12 @@ export function loadToken() {
70
76
  const json = decrypt(encrypted);
71
77
  if (!json)
72
78
  return null;
73
- const session = JSON.parse(json);
74
- if (!session.session_id)
79
+ const parsed = JSON.parse(json);
80
+ // Detect legacy CDP format → caller should prompt re-login
81
+ if (isLegacySession(parsed))
82
+ return null;
83
+ const session = parsed;
84
+ if (!session.access_token)
75
85
  return null;
76
86
  return session;
77
87
  }
@@ -94,4 +104,21 @@ export function clearToken() {
94
104
  export function tokenFilePath() {
95
105
  return getCredFile();
96
106
  }
107
+ /** Check if a legacy CDP credential file exists (for migration messaging) */
108
+ export function hasLegacyCredentials() {
109
+ const file = getCredFile();
110
+ if (!existsSync(file))
111
+ return false;
112
+ try {
113
+ const encrypted = readFileSync(file, "utf-8").trim();
114
+ const json = decrypt(encrypted);
115
+ if (!json)
116
+ return false;
117
+ const parsed = JSON.parse(json);
118
+ return isLegacySession(parsed);
119
+ }
120
+ catch {
121
+ return false;
122
+ }
123
+ }
97
124
  //# sourceMappingURL=token-store.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"token-store.js","sourceRoot":"","sources":["../../src/auth/token-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"token-store.js","sourceRoot":"","sources":["../../src/auth/token-store.ts"],"names":[],"mappings":"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"}
package/dist/cli.js CHANGED
@@ -1,9 +1,9 @@
1
1
  #!/usr/bin/env node
2
2
  import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
3
3
  import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
4
- import { configFromEnv, configFromToken } from "./dsers/config.js";
5
- import { buildProvider } from "./provider.js";
6
- import { ImportFlowService } from "./service.js";
4
+ import { configFromToken, configFromEnv } from "./dsers/config.js";
5
+ import { buildProvider } from "./provider/index.js";
6
+ import { ImportFlowService } from "./service/index.js";
7
7
  import { FileJobStore } from "./job-store.js";
8
8
  import { registerTools } from "./tools.js";
9
9
  import { SERVER_INSTRUCTIONS } from "./instructions.js";
@@ -11,6 +11,8 @@ import { resolve, dirname } from "node:path";
11
11
  import { homedir } from "node:os";
12
12
  import { readFileSync, statSync } from "node:fs";
13
13
  import { fileURLToPath } from "node:url";
14
+ import { authorizeWithPKCE } from "./auth/oauth.js";
15
+ import { saveToken, loadToken, clearToken, tokenFilePath, hasLegacyCredentials, } from "./auth/token-store.js";
14
16
  const __dirname = dirname(fileURLToPath(import.meta.url));
15
17
  const PKG_VERSION = (() => {
16
18
  try {
@@ -20,59 +22,25 @@ const PKG_VERSION = (() => {
20
22
  return "0.0.0";
21
23
  }
22
24
  })();
23
- import { findChromiumBrowser, loginViaCDP, isMacOS, loginViaSafari, loginViaTerminal, saveToken, loadToken, clearToken, tokenFilePath, } from "./auth/index.js";
24
25
  const log = (msg) => process.stderr.write(`${msg}\n`);
25
26
  /* ------------------------------------------------------------------ */
26
27
  /* login subcommand */
27
28
  /* ------------------------------------------------------------------ */
28
29
  async function handleLogin() {
29
30
  log("DSers MCP — Login");
30
- log("Your password never passes through this tool when using browser login.\n");
31
- let session = null;
32
- // Strategy 1: Chromium CDP
33
- const browser = findChromiumBrowser();
34
- if (browser) {
35
- log(`Found: ${browser.name}`);
36
- try {
37
- session = await loginViaCDP(browser.path, log);
38
- }
39
- catch (err) {
40
- log(`Browser login failed: ${err instanceof Error ? err.message : String(err)}`);
41
- }
42
- }
43
- else {
44
- log("No Chromium browser (Chrome, Edge, Brave, etc.) found.");
45
- }
46
- // Strategy 2: macOS Safari
47
- if (!session && isMacOS()) {
48
- try {
49
- session = await loginViaSafari(log);
50
- }
51
- catch (err) {
52
- log(`Safari login failed: ${err instanceof Error ? err.message : String(err)}`);
53
- }
54
- }
55
- // Strategy 3: Terminal prompt
56
- if (!session) {
57
- try {
58
- session = await loginViaTerminal(log);
59
- }
60
- catch (err) {
61
- log(`Terminal login failed: ${err instanceof Error ? err.message : String(err)}`);
62
- }
63
- }
64
- if (!session) {
65
- log("\nLogin was not completed. Please try again.");
66
- process.exit(1);
31
+ log("Your password never passes through this tool.\n");
32
+ if (hasLegacyCredentials()) {
33
+ log("Found old session format (pre-OAuth). It will be replaced with the new OAuth token.\n");
67
34
  }
68
- // Validate session against DSers API
69
- log("Validating session...");
35
+ // Load existing client_id to reuse (avoid re-registering)
36
+ const existing = loadToken();
37
+ const savedClientId = existing?.client_id;
38
+ const tokens = await authorizeWithPKCE(log, savedClientId);
39
+ // Validate token against DSers API
40
+ log("Validating token...");
70
41
  try {
71
- const resp = await fetch("https://bff-api-gw.dsers.com/account-user-bff/v1/users/info", {
72
- headers: {
73
- Authorization: `Bearer ${session.session_id}`,
74
- Cookie: `session_id=${session.session_id}; state=${session.state}`,
75
- },
42
+ const resp = await fetch(`${tokens.base_url}/account-user-bff/v1/users/info`, {
43
+ headers: { Authorization: `Bearer ${tokens.access_token}` },
76
44
  });
77
45
  if (!resp.ok)
78
46
  throw new Error(`HTTP ${resp.status}`);
@@ -81,20 +49,14 @@ async function handleLogin() {
81
49
  log(`Authenticated as: ${email}`);
82
50
  }
83
51
  catch (err) {
84
- log(`Warning: could not verify session (${err instanceof Error ? err.message : String(err)}). Saving anyway.`);
52
+ log(`Warning: could not verify token (${err instanceof Error ? err.message : String(err)}). Saving anyway.`);
85
53
  }
86
- // Save encrypted token
87
- saveToken({
88
- session_id: session.session_id,
89
- state: session.state,
90
- base_url: "https://bff-api-gw.dsers.com",
91
- ts: Date.now(),
92
- });
93
- log(`\nSession saved to: ${tokenFilePath()}`);
54
+ saveToken(tokens);
55
+ log(`\nToken saved to: ${tokenFilePath()}`);
94
56
  log("Encrypted with machine-specific key. Cannot be used on other machines.\n");
95
57
  log("You can now use the MCP server without any credentials in your config:");
96
58
  log("");
97
- log(' {');
59
+ log(" {");
98
60
  log(' "mcpServers": {');
99
61
  log(' "dsers-mcp-product": {');
100
62
  log(' "command": "npx",');
@@ -119,37 +81,52 @@ function handleLogout() {
119
81
  /* MCP server (default) */
120
82
  /* ------------------------------------------------------------------ */
121
83
  async function startServer() {
122
- // Credential resolution priority: token file > env vars
123
- // (HTTP headers always override at runtime, handled by DSersClient)
124
84
  let dsersConfig;
125
85
  const token = loadToken();
126
86
  if (token) {
127
- dsersConfig = configFromToken(token.session_id, token.state, token.base_url);
87
+ dsersConfig = configFromToken(token.access_token, token.base_url, token.refresh_token, token.expires_at, token.client_id, token.oauth_base);
128
88
  }
129
89
  else {
130
90
  dsersConfig = configFromEnv();
91
+ if (hasLegacyCredentials()) {
92
+ process.stderr.write("Warning: Found old session format (pre-OAuth). Please re-authenticate:\n" +
93
+ " npx @lofder/dsers-mcp-product login\n\n");
94
+ }
131
95
  }
96
+ // Token hot-reload: watch credential file for changes
132
97
  let lastTokenMtime = 0;
133
98
  try {
134
99
  lastTokenMtime = statSync(tokenFilePath()).mtimeMs;
135
100
  }
136
- catch { /* no token file yet */ }
101
+ catch {
102
+ /* no token file yet */
103
+ }
137
104
  dsersConfig.tokenReloader = () => {
138
105
  try {
139
106
  const mtime = statSync(tokenFilePath()).mtimeMs;
140
107
  if (mtime === lastTokenMtime)
141
108
  return null;
142
109
  lastTokenMtime = mtime;
143
- return loadToken();
110
+ const fresh = loadToken();
111
+ if (!fresh)
112
+ return null;
113
+ return {
114
+ access_token: fresh.access_token,
115
+ refresh_token: fresh.refresh_token,
116
+ expires_at: fresh.expires_at,
117
+ client_id: fresh.client_id,
118
+ oauth_base: fresh.oauth_base,
119
+ base_url: fresh.base_url,
120
+ };
144
121
  }
145
122
  catch {
146
123
  return null;
147
124
  }
148
125
  };
149
- if (!dsersConfig.email && !dsersConfig.password && !dsersConfig.sessionId) {
126
+ if (!dsersConfig.accessToken) {
150
127
  process.stderr.write("Warning: No DSers credentials found.\n" +
151
128
  "Run 'npx @lofder/dsers-mcp-product login' to authenticate.\n" +
152
- "Or set DSERS_TOKEN environment variable for headless environments.\n\n");
129
+ "Or set DSERS_ACCESS_TOKEN environment variable for headless environments.\n\n");
153
130
  }
154
131
  const STATE_DIR = process.env.IMPORT_MCP_STATE_DIR ?? resolve(homedir(), ".dsers-mcp", "state");
155
132
  const provider = buildProvider(dsersConfig);
@@ -167,7 +144,7 @@ function printHelp() {
167
144
  log("dsers-mcp-product — MCP server for DSers dropshipping product management\n");
168
145
  log("Usage:");
169
146
  log(" npx @lofder/dsers-mcp-product Start the MCP server (stdio)");
170
- log(" npx @lofder/dsers-mcp-product login Authenticate with DSers via browser");
147
+ log(" npx @lofder/dsers-mcp-product login Authenticate with DSers via OAuth");
171
148
  log(" npx @lofder/dsers-mcp-product logout Clear saved session");
172
149
  log(" npx @lofder/dsers-mcp-product --help Show this help message\n");
173
150
  log("For more info: https://github.com/lofder/dsers-mcp-product");
@@ -177,12 +154,18 @@ if (cmd === "--help" || cmd === "-h" || cmd === "help") {
177
154
  printHelp();
178
155
  }
179
156
  else if (cmd === "login") {
180
- handleLogin().catch((e) => { log(`Error: ${e.message ?? e}`); process.exit(1); });
157
+ handleLogin().catch((e) => {
158
+ log(`Error: ${e.message ?? e}`);
159
+ process.exit(1);
160
+ });
181
161
  }
182
162
  else if (cmd === "logout") {
183
163
  handleLogout();
184
164
  }
185
165
  else {
186
- startServer().catch((e) => { process.stderr.write(`Fatal: ${e.message ?? e}\n`); process.exit(1); });
166
+ startServer().catch((e) => {
167
+ process.stderr.write(`Fatal: ${e.message ?? e}\n`);
168
+ process.exit(1);
169
+ });
187
170
  }
188
171
  //# sourceMappingURL=cli.js.map
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAC1D,MAAM,WAAW,GAAG,CAAC,GAAG,EAAE;IACxB,IAAI,CAAC;QAAC,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;IAAC,CAAC;IAClG,MAAM,CAAC;QAAC,OAAO,OAAO,CAAC;IAAC,CAAC;AAC3B,CAAC,CAAC,EAAE,CAAC;AACL,OAAO,EACL,mBAAmB,EACnB,WAAW,EACX,OAAO,EACP,cAAc,EACd,gBAAgB,EAChB,SAAS,EACT,SAAS,EACT,UAAU,EACV,aAAa,GACd,MAAM,iBAAiB,CAAC;AAEzB,MAAM,GAAG,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC;AAE9D,wEAAwE;AACxE,wEAAwE;AACxE,wEAAwE;AAExE,KAAK,UAAU,WAAW;IACxB,GAAG,CAAC,mBAAmB,CAAC,CAAC;IACzB,GAAG,CAAC,0EAA0E,CAAC,CAAC;IAEhF,IAAI,OAAO,GAAiD,IAAI,CAAC;IAEjE,2BAA2B;IAC3B,MAAM,OAAO,GAAG,mBAAmB,EAAE,CAAC;IACtC,IAAI,OAAO,EAAE,CAAC;QACZ,GAAG,CAAC,UAAU,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;QAC9B,IAAI,CAAC;YACH,OAAO,GAAG,MAAM,WAAW,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QACjD,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACtB,GAAG,CAAC,yBAAyB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACnF,CAAC;IACH,CAAC;SAAM,CAAC;QACN,GAAG,CAAC,wDAAwD,CAAC,CAAC;IAChE,CAAC;IAED,2BAA2B;IAC3B,IAAI,CAAC,OAAO,IAAI,OAAO,EAAE,EAAE,CAAC;QAC1B,IAAI,CAAC;YACH,OAAO,GAAG,MAAM,cAAc,CAAC,GAAG,CAAC,CAAC;QACtC,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACtB,GAAG,CAAC,wBAAwB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAClF,CAAC;IACH,CAAC;IAED,8BAA8B;IAC9B,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,IAAI,CAAC;YACH,OAAO,GAAG,MAAM,gBAAgB,CAAC,GAAG,CAAC,CAAC;QACxC,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACtB,GAAG,CAAC,0BAA0B,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACpF,CAAC;IACH,CAAC;IAED,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,GAAG,CAAC,8CAA8C,CAAC,CAAC;QACpD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,qCAAqC;IACrC,GAAG,CAAC,uBAAuB,CAAC,CAAC;IAC7B,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,KAAK,CACtB,6DAA6D,EAC7D;YACE,OAAO,EAAE;gBACP,aAAa,EAAE,UAAU,OAAO,CAAC,UAAU,EAAE;gBAC7C,MAAM,EAAE,cAAc,OAAO,CAAC,UAAU,WAAW,OAAO,CAAC,KAAK,EAAE;aACnE;SACF,CACF,CAAC;QACF,IAAI,CAAC,IAAI,CAAC,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,QAAQ,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QACrD,MAAM,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,CAAwB,CAAC;QACxD,MAAM,KAAK,GAAG,IAAI,EAAE,IAAI,EAAE,KAAK,IAAI,SAAS,CAAC;QAC7C,GAAG,CAAC,qBAAqB,KAAK,EAAE,CAAC,CAAC;IACpC,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACtB,GAAG,CAAC,sCAAsC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;IACjH,CAAC;IAED,uBAAuB;IACvB,SAAS,CAAC;QACR,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,QAAQ,EAAE,8BAA8B;QACxC,EAAE,EAAE,IAAI,CAAC,GAAG,EAAE;KACf,CAAC,CAAC;IAEH,GAAG,CAAC,uBAAuB,aAAa,EAAE,EAAE,CAAC,CAAC;IAC9C,GAAG,CAAC,0EAA0E,CAAC,CAAC;IAChF,GAAG,CAAC,wEAAwE,CAAC,CAAC;IAC9E,GAAG,CAAC,EAAE,CAAC,CAAC;IACR,GAAG,CAAC,KAAK,CAAC,CAAC;IACX,GAAG,CAAC,qBAAqB,CAAC,CAAC;IAC3B,GAAG,CAAC,8BAA8B,CAAC,CAAC;IACpC,GAAG,CAAC,2BAA2B,CAAC,CAAC;IACjC,GAAG,CAAC,qDAAqD,CAAC,CAAC;IAC3D,GAAG,CAAC,SAAS,CAAC,CAAC;IACf,GAAG,CAAC,OAAO,CAAC,CAAC;IACb,GAAG,CAAC,KAAK,CAAC,CAAC;IACX,GAAG,CAAC,EAAE,CAAC,CAAC;AACV,CAAC;AAED,wEAAwE;AACxE,wEAAwE;AACxE,wEAAwE;AAExE,SAAS,YAAY;IACnB,IAAI,UAAU,EAAE,EAAE,CAAC;QACjB,GAAG,CAAC,wBAAwB,CAAC,CAAC;IAChC,CAAC;SAAM,CAAC;QACN,GAAG,CAAC,yBAAyB,CAAC,CAAC;IACjC,CAAC;AACH,CAAC;AAED,wEAAwE;AACxE,wEAAwE;AACxE,wEAAwE;AAExE,KAAK,UAAU,WAAW;IACxB,wDAAwD;IACxD,oEAAoE;IACpE,IAAI,WAAW,CAAC;IAEhB,MAAM,KAAK,GAAG,SAAS,EAAE,CAAC;IAC1B,IAAI,KAAK,EAAE,CAAC;QACV,WAAW,GAAG,eAAe,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC/E,CAAC;SAAM,CAAC;QACN,WAAW,GAAG,aAAa,EAAE,CAAC;IAChC,CAAC;IAED,IAAI,cAAc,GAAG,CAAC,CAAC;IACvB,IAAI,CAAC;QAAC,cAAc,GAAG,QAAQ,CAAC,aAAa,EAAE,CAAC,CAAC,OAAO,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC,CAAC,uBAAuB,CAAC,CAAC;IAC7F,WAAW,CAAC,aAAa,GAAG,GAAG,EAAE;QAC/B,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,EAAE,CAAC,CAAC,OAAO,CAAC;YAChD,IAAI,KAAK,KAAK,cAAc;gBAAE,OAAO,IAAI,CAAC;YAC1C,cAAc,GAAG,KAAK,CAAC;YACvB,OAAO,SAAS,EAAE,CAAC;QACrB,CAAC;QAAC,MAAM,CAAC;YAAC,OAAO,IAAI,CAAC;QAAC,CAAC;IAC1B,CAAC,CAAC;IAEF,IAAI,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC,WAAW,CAAC,QAAQ,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,CAAC;QAC1E,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,wCAAwC;YACxC,8DAA8D;YAC9D,wEAAwE,CACzE,CAAC;IACJ,CAAC;IAED,MAAM,SAAS,GACb,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,OAAO,CAAC,OAAO,EAAE,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;IAEhF,MAAM,QAAQ,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC;IAC5C,MAAM,KAAK,GAAG,IAAI,YAAY,CAAC,SAAS,CAAC,CAAC;IAC1C,MAAM,OAAO,GAAG,IAAI,iBAAiB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAEvD,MAAM,MAAM,GAAG,IAAI,SAAS,CAC1B,EAAE,IAAI,EAAE,mBAAmB,EAAE,OAAO,EAAE,WAAW,EAAE,EACnD,EAAE,YAAY,EAAE,mBAAmB,EAAE,CACtC,CAAC;IAEF,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAE/B,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AAClC,CAAC;AAED,wEAAwE;AACxE,wEAAwE;AACxE,wEAAwE;AAExE,SAAS,SAAS;IAChB,GAAG,CAAC,4EAA4E,CAAC,CAAC;IAClF,GAAG,CAAC,QAAQ,CAAC,CAAC;IACd,GAAG,CAAC,2EAA2E,CAAC,CAAC;IACjF,GAAG,CAAC,mFAAmF,CAAC,CAAC;IACzF,GAAG,CAAC,mEAAmE,CAAC,CAAC;IACzE,GAAG,CAAC,wEAAwE,CAAC,CAAC;IAC9E,GAAG,CAAC,4DAA4D,CAAC,CAAC;AACpE,CAAC;AAED,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC;AAE3C,IAAI,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;IACvD,SAAS,EAAE,CAAC;AACd,CAAC;KAAM,IAAI,GAAG,KAAK,OAAO,EAAE,CAAC;IAC3B,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,OAAO,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACpF,CAAC;KAAM,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;IAC5B,YAAY,EAAE,CAAC;AACjB,CAAC;KAAM,CAAC;IACN,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACvG,CAAC"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EACL,SAAS,EACT,SAAS,EACT,UAAU,EACV,aAAa,EACb,oBAAoB,GACrB,MAAM,uBAAuB,CAAC;AAE/B,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAC1D,MAAM,WAAW,GAAG,CAAC,GAAG,EAAE;IACxB,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;IAC5F,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,OAAO,CAAC;IACjB,CAAC;AACH,CAAC,CAAC,EAAE,CAAC;AAEL,MAAM,GAAG,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC;AAE9D,wEAAwE;AACxE,wEAAwE;AACxE,wEAAwE;AAExE,KAAK,UAAU,WAAW;IACxB,GAAG,CAAC,mBAAmB,CAAC,CAAC;IACzB,GAAG,CAAC,iDAAiD,CAAC,CAAC;IAEvD,IAAI,oBAAoB,EAAE,EAAE,CAAC;QAC3B,GAAG,CAAC,uFAAuF,CAAC,CAAC;IAC/F,CAAC;IAED,0DAA0D;IAC1D,MAAM,QAAQ,GAAG,SAAS,EAAE,CAAC;IAC7B,MAAM,aAAa,GAAG,QAAQ,EAAE,SAAS,CAAC;IAE1C,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;IAE3D,mCAAmC;IACnC,GAAG,CAAC,qBAAqB,CAAC,CAAC;IAC3B,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,GAAG,MAAM,CAAC,QAAQ,iCAAiC,EAAE;YAC5E,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,MAAM,CAAC,YAAY,EAAE,EAAE;SAC5D,CAAC,CAAC;QACH,IAAI,CAAC,IAAI,CAAC,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,QAAQ,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QACrD,MAAM,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,CAAwB,CAAC;QACxD,MAAM,KAAK,GAAG,IAAI,EAAE,IAAI,EAAE,KAAK,IAAI,SAAS,CAAC;QAC7C,GAAG,CAAC,qBAAqB,KAAK,EAAE,CAAC,CAAC;IACpC,CAAC;IAAC,OAAO,GAAY,EAAE,CAAC;QACtB,GAAG,CAAC,oCAAoC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;IAC/G,CAAC;IAED,SAAS,CAAC,MAAM,CAAC,CAAC;IAElB,GAAG,CAAC,qBAAqB,aAAa,EAAE,EAAE,CAAC,CAAC;IAC5C,GAAG,CAAC,0EAA0E,CAAC,CAAC;IAChF,GAAG,CAAC,wEAAwE,CAAC,CAAC;IAC9E,GAAG,CAAC,EAAE,CAAC,CAAC;IACR,GAAG,CAAC,KAAK,CAAC,CAAC;IACX,GAAG,CAAC,qBAAqB,CAAC,CAAC;IAC3B,GAAG,CAAC,8BAA8B,CAAC,CAAC;IACpC,GAAG,CAAC,2BAA2B,CAAC,CAAC;IACjC,GAAG,CAAC,qDAAqD,CAAC,CAAC;IAC3D,GAAG,CAAC,SAAS,CAAC,CAAC;IACf,GAAG,CAAC,OAAO,CAAC,CAAC;IACb,GAAG,CAAC,KAAK,CAAC,CAAC;IACX,GAAG,CAAC,EAAE,CAAC,CAAC;AACV,CAAC;AAED,wEAAwE;AACxE,wEAAwE;AACxE,wEAAwE;AAExE,SAAS,YAAY;IACnB,IAAI,UAAU,EAAE,EAAE,CAAC;QACjB,GAAG,CAAC,wBAAwB,CAAC,CAAC;IAChC,CAAC;SAAM,CAAC;QACN,GAAG,CAAC,yBAAyB,CAAC,CAAC;IACjC,CAAC;AACH,CAAC;AAED,wEAAwE;AACxE,wEAAwE;AACxE,wEAAwE;AAExE,KAAK,UAAU,WAAW;IACxB,IAAI,WAAW,CAAC;IAEhB,MAAM,KAAK,GAAG,SAAS,EAAE,CAAC;IAC1B,IAAI,KAAK,EAAE,CAAC;QACV,WAAW,GAAG,eAAe,CAC3B,KAAK,CAAC,YAAY,EAClB,KAAK,CAAC,QAAQ,EACd,KAAK,CAAC,aAAa,EACnB,KAAK,CAAC,UAAU,EAChB,KAAK,CAAC,SAAS,EACf,KAAK,CAAC,UAAU,CACjB,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,WAAW,GAAG,aAAa,EAAE,CAAC;QAC9B,IAAI,oBAAoB,EAAE,EAAE,CAAC;YAC3B,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,0EAA0E;gBACxE,2CAA2C,CAC9C,CAAC;QACJ,CAAC;IACH,CAAC;IAED,sDAAsD;IACtD,IAAI,cAAc,GAAG,CAAC,CAAC;IACvB,IAAI,CAAC;QACH,cAAc,GAAG,QAAQ,CAAC,aAAa,EAAE,CAAC,CAAC,OAAO,CAAC;IACrD,CAAC;IAAC,MAAM,CAAC;QACP,uBAAuB;IACzB,CAAC;IACD,WAAW,CAAC,aAAa,GAAG,GAAG,EAAE;QAC/B,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,EAAE,CAAC,CAAC,OAAO,CAAC;YAChD,IAAI,KAAK,KAAK,cAAc;gBAAE,OAAO,IAAI,CAAC;YAC1C,cAAc,GAAG,KAAK,CAAC;YACvB,MAAM,KAAK,GAAG,SAAS,EAAE,CAAC;YAC1B,IAAI,CAAC,KAAK;gBAAE,OAAO,IAAI,CAAC;YACxB,OAAO;gBACL,YAAY,EAAE,KAAK,CAAC,YAAY;gBAChC,aAAa,EAAE,KAAK,CAAC,aAAa;gBAClC,UAAU,EAAE,KAAK,CAAC,UAAU;gBAC5B,SAAS,EAAE,KAAK,CAAC,SAAS;gBAC1B,UAAU,EAAE,KAAK,CAAC,UAAU;gBAC5B,QAAQ,EAAE,KAAK,CAAC,QAAQ;aACzB,CAAC;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC,CAAC;IAEF,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;QAC7B,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,wCAAwC;YACtC,8DAA8D;YAC9D,+EAA+E,CAClF,CAAC;IACJ,CAAC;IAED,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,OAAO,CAAC,OAAO,EAAE,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;IAEhG,MAAM,QAAQ,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC;IAC5C,MAAM,KAAK,GAAG,IAAI,YAAY,CAAC,SAAS,CAAC,CAAC;IAC1C,MAAM,OAAO,GAAG,IAAI,iBAAiB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAEvD,MAAM,MAAM,GAAG,IAAI,SAAS,CAC1B,EAAE,IAAI,EAAE,mBAAmB,EAAE,OAAO,EAAE,WAAW,EAAE,EACnD,EAAE,YAAY,EAAE,mBAAmB,EAAE,CACtC,CAAC;IAEF,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAE/B,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AAClC,CAAC;AAED,wEAAwE;AACxE,wEAAwE;AACxE,wEAAwE;AAExE,SAAS,SAAS;IAChB,GAAG,CAAC,4EAA4E,CAAC,CAAC;IAClF,GAAG,CAAC,QAAQ,CAAC,CAAC;IACd,GAAG,CAAC,2EAA2E,CAAC,CAAC;IACjF,GAAG,CAAC,iFAAiF,CAAC,CAAC;IACvF,GAAG,CAAC,mEAAmE,CAAC,CAAC;IACzE,GAAG,CAAC,wEAAwE,CAAC,CAAC;IAC9E,GAAG,CAAC,4DAA4D,CAAC,CAAC;AACpE,CAAC;AAED,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC;AAE3C,IAAI,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;IACvD,SAAS,EAAE,CAAC;AACd,CAAC;KAAM,IAAI,GAAG,KAAK,OAAO,EAAE,CAAC;IAC3B,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;QACxB,GAAG,CAAC,UAAU,CAAC,CAAC,OAAO,IAAI,CAAC,EAAE,CAAC,CAAC;QAChC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC;KAAM,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;IAC5B,YAAY,EAAE,CAAC;AACjB,CAAC;KAAM,CAAC;IACN,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;QACxB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC;QACnD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"account.d.ts","sourceRoot":"","sources":["../../src/dsers/account.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C,wBAAsB,UAAU,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAEtF;AAED,wBAAsB,cAAc,CAClC,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAElC;AAED,wBAAsB,WAAW,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAEvF;AAED,wBAAsB,cAAc,CAClC,MAAM,EAAE,WAAW,EACnB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAElC;AAED,wBAAsB,SAAS,CAC7B,MAAM,EAAE,WAAW,EACnB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAElC;AAED,wBAAsB,WAAW,CAC/B,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAElC;AAED,wBAAsB,SAAS,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAErF;AAED,wBAAsB,WAAW,CAC/B,MAAM,EAAE,WAAW,EACnB,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,MAAM,EAAE,GACpB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAElC;AAED,wBAAsB,WAAW,CAC/B,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAElC;AAED,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EAAE,GACpB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAElC;AAED,wBAAsB,aAAa,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAEzF;AAED,wBAAsB,QAAQ,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAEpF"}
1
+ {"version":3,"file":"account.d.ts","sourceRoot":"","sources":["../../src/dsers/account.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C,wBAAsB,UAAU,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAEtF;AAED,wBAAsB,cAAc,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAE3G;AAED,wBAAsB,WAAW,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAEvF;AAED,wBAAsB,cAAc,CAClC,MAAM,EAAE,WAAW,EACnB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC5B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAElC;AAED,wBAAsB,SAAS,CAC7B,MAAM,EAAE,WAAW,EACnB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAElC;AAED,wBAAsB,WAAW,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAExG;AAED,wBAAsB,SAAS,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAErF;AAED,wBAAsB,WAAW,CAC/B,MAAM,EAAE,WAAW,EACnB,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,MAAM,EAAE,GACpB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAElC;AAED,wBAAsB,WAAW,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAExG;AAED,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EAAE,GACpB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAElC;AAED,wBAAsB,aAAa,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAEzF;AAED,wBAAsB,QAAQ,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAEpF"}
@@ -1 +1 @@
1
- {"version":3,"file":"account.js","sourceRoot":"","sources":["../../src/dsers/account.ts"],"names":[],"mappings":"AAKA,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,MAAmB;IAClD,OAAO,MAAM,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;AAC9D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,MAAmB,EACnB,OAAe;IAEf,OAAO,MAAM,CAAC,GAAG,CAAC,oCAAoC,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;AACvE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,MAAmB;IACnD,OAAO,MAAM,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;AACvD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,MAAmB,EACnB,IAA6B;IAE7B,OAAO,MAAM,CAAC,IAAI,CAAC,iCAAiC,EAAE,IAAI,CAAC,CAAC;AAC9D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,MAAmB,EACnB,QAAgB,EAChB,QAAgB;IAEhB,OAAO,MAAM,CAAC,IAAI,CAAC,uCAAuC,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;AACtF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,MAAmB,EACnB,OAAe;IAEf,OAAO,MAAM,CAAC,IAAI,CAAC,oCAAoC,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;AACxE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,MAAmB;IACjD,OAAO,MAAM,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;AACzD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,MAAmB,EACnB,KAAa,EACb,WAAqB;IAErB,OAAO,MAAM,CAAC,IAAI,CAAC,oCAAoC,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC;AACnF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,MAAmB,EACnB,OAAe;IAEf,OAAO,MAAM,CAAC,IAAI,CAAC,oCAAoC,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;AACxE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,MAAmB,EACnB,OAAe,EACf,WAAqB;IAErB,OAAO,MAAM,CAAC,IAAI,CAAC,wCAAwC,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC;AACzF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,MAAmB;IACrD,OAAO,MAAM,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;AAC3D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,MAAmB;IAChD,OAAO,MAAM,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;AACtD,CAAC"}
1
+ {"version":3,"file":"account.js","sourceRoot":"","sources":["../../src/dsers/account.ts"],"names":[],"mappings":"AAKA,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,MAAmB;IAClD,OAAO,MAAM,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;AAC9D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,MAAmB,EAAE,OAAe;IACvE,OAAO,MAAM,CAAC,GAAG,CAAC,oCAAoC,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;AACvE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,MAAmB;IACnD,OAAO,MAAM,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;AACvD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,MAAmB,EACnB,IAA6B;IAE7B,OAAO,MAAM,CAAC,IAAI,CAAC,iCAAiC,EAAE,IAAI,CAAC,CAAC;AAC9D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,MAAmB,EACnB,QAAgB,EAChB,QAAgB;IAEhB,OAAO,MAAM,CAAC,IAAI,CAAC,uCAAuC,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;AACtF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,MAAmB,EAAE,OAAe;IACpE,OAAO,MAAM,CAAC,IAAI,CAAC,oCAAoC,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;AACxE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,MAAmB;IACjD,OAAO,MAAM,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;AACzD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,MAAmB,EACnB,KAAa,EACb,WAAqB;IAErB,OAAO,MAAM,CAAC,IAAI,CAAC,oCAAoC,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC;AACnF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,MAAmB,EAAE,OAAe;IACpE,OAAO,MAAM,CAAC,IAAI,CAAC,oCAAoC,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;AACxE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,MAAmB,EACnB,OAAe,EACf,WAAqB;IAErB,OAAO,MAAM,CAAC,IAAI,CAAC,wCAAwC,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,CAAC;AACzF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,MAAmB;IACrD,OAAO,MAAM,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;AAC3D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,QAAQ,CAAC,MAAmB;IAChD,OAAO,MAAM,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAC;AACtD,CAAC"}
@@ -1,14 +1,13 @@
1
1
  import type { DSersConfig } from "./config.js";
2
2
  export declare class DSersAuth {
3
3
  private config;
4
- private sessionId;
5
- private state;
6
- private fetchedAt;
4
+ private accessToken;
5
+ private refreshToken;
6
+ private expiresAt;
7
+ private clientId;
8
+ private oauthBase;
7
9
  constructor(config: DSersConfig);
8
10
  getSession(): Promise<[string, string]>;
9
- login(): Promise<[string, string]>;
10
11
  invalidate(): void;
11
- private readCache;
12
- private writeCache;
13
12
  }
14
13
  //# sourceMappingURL=auth.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/dsers/auth.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAU/C,qBAAa,SAAS;IACpB,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,KAAK,CAAuB;IACpC,OAAO,CAAC,SAAS,CAAK;gBAEV,MAAM,EAAE,WAAW;IASzB,UAAU,IAAI,OAAO,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAwBvC,KAAK,IAAI,OAAO,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAsCxC,UAAU,IAAI,IAAI;IAMlB,OAAO,CAAC,SAAS;IAYjB,OAAO,CAAC,UAAU;CAcnB"}
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/dsers/auth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAI/C,qBAAa,SAAS;IACpB,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,WAAW,CAAuB;IAC1C,OAAO,CAAC,YAAY,CAAuB;IAC3C,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,QAAQ,CAAuB;IACvC,OAAO,CAAC,SAAS,CAAuB;gBAE5B,MAAM,EAAE,WAAW;IAezB,UAAU,IAAI,OAAO,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IA+D7C,UAAU,IAAI,IAAI;CAInB"}
@@ -1,105 +1,78 @@
1
- import { readFileSync, writeFileSync, mkdirSync, chmodSync } from "node:fs";
2
- import { existsSync } from "node:fs";
3
- import { dirname } from "node:path";
4
- const SESSION_TTL = 3600 * 6 * 1000; // 6 hours in ms
1
+ import { refreshAccessToken } from "../auth/oauth.js";
2
+ import { saveToken } from "../auth/token-store.js";
5
3
  export class DSersAuth {
6
4
  config;
7
- sessionId = null;
8
- state = null;
9
- fetchedAt = 0;
5
+ accessToken = null;
6
+ refreshToken = null;
7
+ expiresAt = 0;
8
+ clientId = null;
9
+ oauthBase = null;
10
10
  constructor(config) {
11
11
  this.config = config;
12
- if (config.sessionId) {
13
- this.sessionId = config.sessionId;
14
- this.state = config.sessionState ?? "";
15
- this.fetchedAt = Date.now();
12
+ if (config.accessToken) {
13
+ this.accessToken = config.accessToken;
14
+ this.refreshToken = config.refreshToken ?? null;
15
+ this.expiresAt = config.expiresAt ?? 0;
16
+ this.clientId = config.clientId ?? null;
17
+ this.oauthBase = config.oauthBase ?? null;
18
+ }
19
+ // Legacy: support sessionId field (Vercel route.ts compat)
20
+ if (!this.accessToken && config.sessionId) {
21
+ this.accessToken = config.sessionId;
16
22
  }
17
23
  }
18
24
  async getSession() {
25
+ // Check token reloader (hot-reload from file changes)
19
26
  if (this.config.tokenReloader) {
20
27
  const fresh = this.config.tokenReloader();
21
- if (fresh?.session_id && fresh.session_id !== this.sessionId) {
22
- this.sessionId = fresh.session_id;
23
- this.state = fresh.state ?? "";
24
- this.fetchedAt = Date.now();
25
- return [this.sessionId, this.state];
28
+ if (fresh?.access_token && fresh.access_token !== this.accessToken) {
29
+ this.accessToken = fresh.access_token;
30
+ this.refreshToken = fresh.refresh_token;
31
+ this.expiresAt = fresh.expires_at;
32
+ this.clientId = fresh.client_id;
33
+ this.oauthBase = fresh.oauth_base;
34
+ return [this.accessToken, ""];
26
35
  }
27
36
  }
28
- if (this.sessionId && Date.now() - this.fetchedAt < SESSION_TTL) {
29
- return [this.sessionId, this.state ?? ""];
37
+ // Token still valid
38
+ if (this.accessToken && (this.expiresAt === 0 || Date.now() < this.expiresAt)) {
39
+ return [this.accessToken, ""];
30
40
  }
31
- const cached = this.readCache();
32
- if (cached) {
33
- [this.sessionId, this.state, this.fetchedAt] = cached;
34
- return [this.sessionId, this.state];
41
+ // Try refresh
42
+ if (this.refreshToken && this.clientId) {
43
+ try {
44
+ const refreshed = await refreshAccessToken(this.refreshToken, this.clientId, this.oauthBase ?? undefined);
45
+ this.accessToken = refreshed.access_token;
46
+ this.refreshToken = refreshed.refresh_token;
47
+ this.expiresAt = refreshed.expires_at;
48
+ // Persist refreshed tokens so other processes pick them up
49
+ saveToken({
50
+ access_token: this.accessToken,
51
+ refresh_token: this.refreshToken,
52
+ expires_at: this.expiresAt,
53
+ client_id: this.clientId,
54
+ oauth_base: this.oauthBase ?? "https://mcp-oauth-api-gw.dsers.com",
55
+ base_url: this.config.baseUrl,
56
+ ts: Date.now(),
57
+ });
58
+ return [this.accessToken, ""];
59
+ }
60
+ catch (_refreshErr) {
61
+ // Refresh failed — fall through to error
62
+ }
35
63
  }
36
- return this.login();
37
- }
38
- async login() {
39
- if (!this.config.email || !this.config.password) {
64
+ if (!this.accessToken) {
40
65
  throw new Error("DSers credentials not configured.\n" +
41
66
  "Recommended: run 'npx @lofder/dsers-mcp-product login' to authenticate via browser.\n" +
42
- "If browser login is not available, set DSERS_TOKEN environment variable.");
43
- }
44
- const resp = await fetch(`${this.config.baseUrl}/account-user-bff/v1/users/login`, {
45
- method: "POST",
46
- headers: { "Content-Type": "application/json" },
47
- body: JSON.stringify({
48
- email: this.config.email,
49
- password: this.config.password,
50
- }),
51
- });
52
- if (!resp.ok) {
53
- throw new Error(`Login HTTP ${resp.status}: ${await resp.text()}`);
54
- }
55
- const data = (await resp.json());
56
- const inner = data.data;
57
- if (!inner?.sessionId) {
58
- throw new Error(`Login failed: ${JSON.stringify(data)}`);
67
+ "If browser login is not available, set DSERS_ACCESS_TOKEN environment variable.");
59
68
  }
60
- this.sessionId = inner.sessionId;
61
- this.state = inner.state ?? "";
62
- this.fetchedAt = Date.now();
63
- this.writeCache();
64
- return [this.sessionId, this.state];
69
+ // Access token exists but expired and no refresh available
70
+ throw new Error("DSers session expired. Please re-authenticate:\n" +
71
+ " npx @lofder/dsers-mcp-product login");
65
72
  }
66
73
  invalidate() {
67
- this.sessionId = null;
68
- this.state = null;
69
- this.fetchedAt = 0;
70
- }
71
- readCache() {
72
- try {
73
- const p = this.config.sessionFile;
74
- if (!existsSync(p))
75
- return null;
76
- const obj = JSON.parse(readFileSync(p, "utf-8"));
77
- if (Date.now() - obj.ts > SESSION_TTL)
78
- return null;
79
- return [obj.session_id, obj.state ?? "", obj.ts];
80
- }
81
- catch (_readErr) {
82
- return null;
83
- }
84
- }
85
- writeCache() {
86
- if (this.config.sessionId)
87
- return;
88
- try {
89
- const p = this.config.sessionFile;
90
- mkdirSync(dirname(p), { recursive: true });
91
- const payload = {
92
- session_id: this.sessionId,
93
- state: this.state ?? "",
94
- ts: this.fetchedAt,
95
- };
96
- writeFileSync(p, JSON.stringify(payload), { encoding: "utf-8", mode: 0o600 });
97
- try {
98
- chmodSync(p, 0o600);
99
- }
100
- catch (_chmodErr) { /* Windows: chmod not fully supported */ }
101
- }
102
- catch (_writeErr) { /* file write failed — continue with in-memory session only */ }
74
+ this.accessToken = null;
75
+ this.expiresAt = 0;
103
76
  }
104
77
  }
105
78
  //# sourceMappingURL=auth.js.map