funolio-agent 0.17.8 → 1.0.3

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 (223) hide show
  1. package/dist/approval.d.ts +7 -6
  2. package/dist/approval.d.ts.map +1 -1
  3. package/dist/approval.js +40 -10
  4. package/dist/approval.js.map +1 -1
  5. package/dist/auth/anthropic-subscription.d.ts +9 -29
  6. package/dist/auth/anthropic-subscription.d.ts.map +1 -1
  7. package/dist/auth/anthropic-subscription.js +12 -133
  8. package/dist/auth/anthropic-subscription.js.map +1 -1
  9. package/dist/auth/auto-detect.d.ts +28 -6
  10. package/dist/auth/auto-detect.d.ts.map +1 -1
  11. package/dist/auth/auto-detect.js +52 -205
  12. package/dist/auth/auto-detect.js.map +1 -1
  13. package/dist/auth/credential-reader.d.ts +24 -4
  14. package/dist/auth/credential-reader.d.ts.map +1 -1
  15. package/dist/auth/credential-reader.js +31 -256
  16. package/dist/auth/credential-reader.js.map +1 -1
  17. package/dist/auth/credential-status.d.ts +7 -27
  18. package/dist/auth/credential-status.d.ts.map +1 -1
  19. package/dist/auth/credential-status.js +7 -95
  20. package/dist/auth/credential-status.js.map +1 -1
  21. package/dist/auth/index.d.ts +9 -2
  22. package/dist/auth/index.d.ts.map +1 -1
  23. package/dist/auth/index.js +10 -10
  24. package/dist/auth/index.js.map +1 -1
  25. package/dist/auth/subscription-runtime.d.ts +19 -23
  26. package/dist/auth/subscription-runtime.d.ts.map +1 -1
  27. package/dist/auth/subscription-runtime.js +24 -292
  28. package/dist/auth/subscription-runtime.js.map +1 -1
  29. package/dist/auth/token-refresh.d.ts +19 -28
  30. package/dist/auth/token-refresh.d.ts.map +1 -1
  31. package/dist/auth/token-refresh.js +26 -464
  32. package/dist/auth/token-refresh.js.map +1 -1
  33. package/dist/backfill.js +2 -2
  34. package/dist/backfill.js.map +1 -1
  35. package/dist/bot-manager.d.ts +5 -6
  36. package/dist/bot-manager.d.ts.map +1 -1
  37. package/dist/bot-manager.js +20 -62
  38. package/dist/bot-manager.js.map +1 -1
  39. package/dist/clerk-model.d.ts +0 -1
  40. package/dist/clerk-model.d.ts.map +1 -1
  41. package/dist/clerk-model.js +24 -50
  42. package/dist/clerk-model.js.map +1 -1
  43. package/dist/commands/configure-provider.js +2 -2
  44. package/dist/commands/configure-provider.js.map +1 -1
  45. package/dist/commands/configure.d.ts.map +1 -1
  46. package/dist/commands/configure.js +10 -14
  47. package/dist/commands/configure.js.map +1 -1
  48. package/dist/commands/start.d.ts.map +1 -1
  49. package/dist/commands/start.js +51 -229
  50. package/dist/commands/start.js.map +1 -1
  51. package/dist/config.d.ts +1 -1
  52. package/dist/config.d.ts.map +1 -1
  53. package/dist/config.js +2 -2
  54. package/dist/config.js.map +1 -1
  55. package/dist/context-compressor.d.ts +6 -1
  56. package/dist/context-compressor.d.ts.map +1 -1
  57. package/dist/context-compressor.js +87 -18
  58. package/dist/context-compressor.js.map +1 -1
  59. package/dist/context-window.d.ts +2 -8
  60. package/dist/context-window.d.ts.map +1 -1
  61. package/dist/context-window.js +4 -4
  62. package/dist/context-window.js.map +1 -1
  63. package/dist/eval/orchestrator-front-door-replay.js +43 -2
  64. package/dist/eval/orchestrator-front-door-replay.js.map +1 -1
  65. package/dist/eval/orchestrator-todo-dispatch-replay.d.ts +2 -0
  66. package/dist/eval/orchestrator-todo-dispatch-replay.d.ts.map +1 -0
  67. package/dist/eval/orchestrator-todo-dispatch-replay.js +253 -0
  68. package/dist/eval/orchestrator-todo-dispatch-replay.js.map +1 -0
  69. package/dist/eval/orchestrator-todo-planning-replay.d.ts +2 -0
  70. package/dist/eval/orchestrator-todo-planning-replay.d.ts.map +1 -0
  71. package/dist/eval/orchestrator-todo-planning-replay.js +247 -0
  72. package/dist/eval/orchestrator-todo-planning-replay.js.map +1 -0
  73. package/dist/eval/policy-detection-replay.d.ts +2 -0
  74. package/dist/eval/policy-detection-replay.d.ts.map +1 -0
  75. package/dist/eval/policy-detection-replay.js +122 -0
  76. package/dist/eval/policy-detection-replay.js.map +1 -0
  77. package/dist/eval/todo-worker-runtime-replay.d.ts +2 -0
  78. package/dist/eval/todo-worker-runtime-replay.d.ts.map +1 -0
  79. package/dist/eval/todo-worker-runtime-replay.js +520 -0
  80. package/dist/eval/todo-worker-runtime-replay.js.map +1 -0
  81. package/dist/integration-tokens.d.ts +6 -0
  82. package/dist/integration-tokens.d.ts.map +1 -1
  83. package/dist/integration-tokens.js +43 -0
  84. package/dist/integration-tokens.js.map +1 -1
  85. package/dist/local-data.d.ts +134 -1
  86. package/dist/local-data.d.ts.map +1 -1
  87. package/dist/local-data.js +711 -18
  88. package/dist/local-data.js.map +1 -1
  89. package/dist/local-db.d.ts.map +1 -1
  90. package/dist/local-db.js +216 -12
  91. package/dist/local-db.js.map +1 -1
  92. package/dist/local-funnel.d.ts.map +1 -1
  93. package/dist/local-funnel.js +7 -0
  94. package/dist/local-funnel.js.map +1 -1
  95. package/dist/local-server.d.ts.map +1 -1
  96. package/dist/local-server.js +119 -96
  97. package/dist/local-server.js.map +1 -1
  98. package/dist/mcp/bridge-server.d.ts.map +1 -1
  99. package/dist/mcp/bridge-server.js +8 -2
  100. package/dist/mcp/bridge-server.js.map +1 -1
  101. package/dist/mcp/manager.d.ts +5 -0
  102. package/dist/mcp/manager.d.ts.map +1 -1
  103. package/dist/mcp/manager.js +131 -2
  104. package/dist/mcp/manager.js.map +1 -1
  105. package/dist/mcp/sync-cli-config.d.ts +5 -0
  106. package/dist/mcp/sync-cli-config.d.ts.map +1 -1
  107. package/dist/mcp/sync-cli-config.js +10 -2
  108. package/dist/mcp/sync-cli-config.js.map +1 -1
  109. package/dist/message-loop.d.ts +1 -10
  110. package/dist/message-loop.d.ts.map +1 -1
  111. package/dist/message-loop.js +179 -250
  112. package/dist/message-loop.js.map +1 -1
  113. package/dist/mqtt-client.d.ts +44 -0
  114. package/dist/mqtt-client.d.ts.map +1 -1
  115. package/dist/mqtt-client.js +2 -2
  116. package/dist/mqtt-client.js.map +1 -1
  117. package/dist/orchestration/front-door-policy.d.ts +26 -9
  118. package/dist/orchestration/front-door-policy.d.ts.map +1 -1
  119. package/dist/orchestration/front-door-policy.js +242 -69
  120. package/dist/orchestration/front-door-policy.js.map +1 -1
  121. package/dist/orchestration/orchestrator-blocked-prompt.d.ts +18 -0
  122. package/dist/orchestration/orchestrator-blocked-prompt.d.ts.map +1 -0
  123. package/dist/orchestration/orchestrator-blocked-prompt.js +46 -0
  124. package/dist/orchestration/orchestrator-blocked-prompt.js.map +1 -0
  125. package/dist/orchestration/orchestrator-final-response-prompt.d.ts +10 -0
  126. package/dist/orchestration/orchestrator-final-response-prompt.d.ts.map +1 -0
  127. package/dist/orchestration/orchestrator-final-response-prompt.js +39 -0
  128. package/dist/orchestration/orchestrator-final-response-prompt.js.map +1 -0
  129. package/dist/orchestration/orchestrator-operating-prompt.d.ts +11 -0
  130. package/dist/orchestration/orchestrator-operating-prompt.d.ts.map +1 -1
  131. package/dist/orchestration/orchestrator-operating-prompt.js +106 -36
  132. package/dist/orchestration/orchestrator-operating-prompt.js.map +1 -1
  133. package/dist/orchestration/policy-prompt.d.ts +6 -0
  134. package/dist/orchestration/policy-prompt.d.ts.map +1 -0
  135. package/dist/orchestration/policy-prompt.js +40 -0
  136. package/dist/orchestration/policy-prompt.js.map +1 -0
  137. package/dist/orchestration/worker-operating-prompt.d.ts +16 -0
  138. package/dist/orchestration/worker-operating-prompt.d.ts.map +1 -0
  139. package/dist/orchestration/worker-operating-prompt.js +75 -0
  140. package/dist/orchestration/worker-operating-prompt.js.map +1 -0
  141. package/dist/orchestrator.d.ts +19 -0
  142. package/dist/orchestrator.d.ts.map +1 -1
  143. package/dist/orchestrator.js +614 -54
  144. package/dist/orchestrator.js.map +1 -1
  145. package/dist/policy-detection.d.ts +40 -0
  146. package/dist/policy-detection.d.ts.map +1 -0
  147. package/dist/policy-detection.js +298 -0
  148. package/dist/policy-detection.js.map +1 -0
  149. package/dist/providers/anthropic.d.ts +0 -5
  150. package/dist/providers/anthropic.d.ts.map +1 -1
  151. package/dist/providers/anthropic.js +34 -51
  152. package/dist/providers/anthropic.js.map +1 -1
  153. package/dist/providers/claude-cli.d.ts.map +1 -1
  154. package/dist/providers/claude-cli.js +11 -2
  155. package/dist/providers/claude-cli.js.map +1 -1
  156. package/dist/providers/codex-cli.d.ts.map +1 -1
  157. package/dist/providers/codex-cli.js +121 -2
  158. package/dist/providers/codex-cli.js.map +1 -1
  159. package/dist/providers/index.d.ts +6 -2
  160. package/dist/providers/index.d.ts.map +1 -1
  161. package/dist/providers/index.js.map +1 -1
  162. package/dist/summarization-pipeline.d.ts +1 -4
  163. package/dist/summarization-pipeline.d.ts.map +1 -1
  164. package/dist/summarization-pipeline.js +43 -56
  165. package/dist/summarization-pipeline.js.map +1 -1
  166. package/dist/tools/analyze-image.js +2 -2
  167. package/dist/tools/analyze-image.js.map +1 -1
  168. package/dist/tools/edit-file.d.ts.map +1 -1
  169. package/dist/tools/edit-file.js +16 -1
  170. package/dist/tools/edit-file.js.map +1 -1
  171. package/dist/tools/git-tools.d.ts.map +1 -1
  172. package/dist/tools/git-tools.js +32 -1
  173. package/dist/tools/git-tools.js.map +1 -1
  174. package/dist/tools/index.d.ts.map +1 -1
  175. package/dist/tools/index.js +2 -0
  176. package/dist/tools/index.js.map +1 -1
  177. package/dist/tools/list-directory.d.ts.map +1 -1
  178. package/dist/tools/list-directory.js +23 -0
  179. package/dist/tools/list-directory.js.map +1 -1
  180. package/dist/tools/notify-user.d.ts.map +1 -1
  181. package/dist/tools/notify-user.js +15 -1
  182. package/dist/tools/notify-user.js.map +1 -1
  183. package/dist/tools/read-file.d.ts.map +1 -1
  184. package/dist/tools/read-file.js +3 -1
  185. package/dist/tools/read-file.js.map +1 -1
  186. package/dist/tools/request-mcp-install.js +5 -5
  187. package/dist/tools/request-mcp-install.js.map +1 -1
  188. package/dist/tools/run-command.d.ts.map +1 -1
  189. package/dist/tools/run-command.js +16 -4
  190. package/dist/tools/run-command.js.map +1 -1
  191. package/dist/tools/sandbox.d.ts.map +1 -1
  192. package/dist/tools/sandbox.js +6 -0
  193. package/dist/tools/sandbox.js.map +1 -1
  194. package/dist/tools/schedule-task.d.ts.map +1 -1
  195. package/dist/tools/schedule-task.js +37 -0
  196. package/dist/tools/schedule-task.js.map +1 -1
  197. package/dist/tools/search-codebase.d.ts.map +1 -1
  198. package/dist/tools/search-codebase.js +251 -32
  199. package/dist/tools/search-codebase.js.map +1 -1
  200. package/dist/tools/todo-tasks.d.ts +2 -0
  201. package/dist/tools/todo-tasks.d.ts.map +1 -1
  202. package/dist/tools/todo-tasks.js +203 -6
  203. package/dist/tools/todo-tasks.js.map +1 -1
  204. package/dist/tools/web-fetch.d.ts.map +1 -1
  205. package/dist/tools/web-fetch.js +21 -2
  206. package/dist/tools/web-fetch.js.map +1 -1
  207. package/dist/tools/web-search.d.ts.map +1 -1
  208. package/dist/tools/web-search.js +38 -34
  209. package/dist/tools/web-search.js.map +1 -1
  210. package/dist/types.d.ts +2 -0
  211. package/dist/types.d.ts.map +1 -1
  212. package/dist/wizard-state.d.ts.map +1 -1
  213. package/dist/wizard-state.js +30 -8
  214. package/dist/wizard-state.js.map +1 -1
  215. package/dist/wizard-support.d.ts +2 -2
  216. package/dist/wizard-support.d.ts.map +1 -1
  217. package/dist/wizard-support.js +80 -93
  218. package/dist/wizard-support.js.map +1 -1
  219. package/dist/workflow-engine.d.ts +3 -0
  220. package/dist/workflow-engine.d.ts.map +1 -1
  221. package/dist/workflow-engine.js +111 -82
  222. package/dist/workflow-engine.js.map +1 -1
  223. package/package.json +6 -1
@@ -1,242 +1,89 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
2
+ /**
3
+ * Auth Auto-Detect Funolio Agent
4
+ *
5
+ * Resolves the best available authentication method for LLM providers.
6
+ * Supported auth methods:
7
+ * 1. Explicit API key (BYOK) — passed via config or CLI flag
8
+ * 2. Environment variable API keys — ANTHROPIC_API_KEY, OPENAI_API_KEY, etc.
9
+ *
10
+ * CLI providers (claude-cli, codex-cli) do not need auth resolution here —
11
+ * they spawn the CLI binary which handles its own authentication.
12
+ *
13
+ * NOTE: Subscription API / OAuth credential resolution has been removed.
14
+ * OAuth tokens passed in config are ignored. Use CLI providers for
15
+ * subscription-based access, or provide an explicit API key.
16
+ */
35
17
  Object.defineProperty(exports, "__esModule", { value: true });
36
18
  exports.resolveAuth = resolveAuth;
37
19
  exports.ensureFreshToken = ensureFreshToken;
38
- const credential_reader_1 = require("./credential-reader");
39
- const token_refresh_1 = require("./token-refresh");
40
- const fs = __importStar(require("fs"));
41
- const path = __importStar(require("path"));
42
- const os = __importStar(require("os"));
43
20
  // ── Default Models ──────────────────────────────────────────────────────────
44
21
  const DEFAULT_MODELS = {
45
22
  anthropic: 'claude-sonnet-4-5',
46
23
  openai: 'gpt-4o',
47
24
  'google-gemini': 'gemini-2.5-flash',
48
25
  };
26
+ // ── Environment API Key Detection ───────────────────────────────────────────
27
+ function getEnvApiKey(provider) {
28
+ switch (provider) {
29
+ case 'anthropic': return process.env.ANTHROPIC_API_KEY;
30
+ case 'openai': return process.env.OPENAI_API_KEY;
31
+ case 'google':
32
+ case 'google-gemini': return process.env.GOOGLE_API_KEY;
33
+ default: return undefined;
34
+ }
35
+ }
49
36
  // ── resolveAuth ─────────────────────────────────────────────────────────────
50
37
  /**
51
38
  * Resolve the best available authentication method.
52
- * Priority: explicit API key > OAuth credentials > env vars
39
+ *
40
+ * Priority:
41
+ * 1. Explicit API key (from config.apiKey)
42
+ * 2. Environment variable API key
43
+ *
44
+ * OAuth/subscription tokens are ignored. For subscription-based access,
45
+ * use a CLI provider (claude-cli, codex-cli) instead.
46
+ *
47
+ * @param config - Auth configuration. oauthToken fields are accepted for
48
+ * backwards compatibility but are ignored.
53
49
  */
54
50
  async function resolveAuth(config) {
51
+ const provider = config.provider || 'anthropic';
52
+ const model = config.model || DEFAULT_MODELS[provider] || 'claude-sonnet-4-5';
55
53
  // 1. Explicit API key takes priority (BYOK)
56
54
  if (config.apiKey) {
57
- const provider = config.provider || 'anthropic';
58
55
  console.log(`[auto-detect] Using explicit API key (source: api-key, provider: ${provider})`);
59
56
  return {
60
57
  provider,
61
- model: config.model || DEFAULT_MODELS[provider] || 'claude-sonnet-4-5',
58
+ model,
62
59
  apiKey: config.apiKey,
63
60
  source: 'api-key',
64
61
  };
65
62
  }
66
- // 2. Use OAuth token from agent config (written during setup/configure)
67
- if (config.oauthToken) {
68
- const provider = config.provider || 'anthropic';
69
- const model = config.model || DEFAULT_MODELS[provider] || 'claude-sonnet-4-5';
70
- const credential = {
71
- provider: provider,
72
- accessToken: config.oauthToken,
73
- refreshToken: config.oauthRefreshToken || '',
74
- expiresAt: config.oauthExpiresAt || 0,
75
- };
76
- // If token is expired OR has no expiry info, and no refresh token in config,
77
- // try to find one from CLI credentials (which track expiry properly)
78
- if (!credential.refreshToken && ((0, credential_reader_1.isExpired)(credential) || !credential.expiresAt)) {
79
- console.log(`[auto-detect] Config OAuth token expired with no refresh token — checking CLI credentials...`);
80
- const cliCreds = detectClaudeCodeCredentials();
81
- if (cliCreds?.refreshToken) {
82
- console.log(`[auto-detect] Found refresh token in Claude Code credentials`);
83
- credential.refreshToken = cliCreds.refreshToken;
84
- credential.expiresAt = cliCreds.expiresAt || credential.expiresAt;
85
- // Use CLI access token if it's newer
86
- if (cliCreds.accessToken && (!(0, credential_reader_1.isExpired)(cliCreds) || cliCreds.expiresAt > credential.expiresAt)) {
87
- credential.accessToken = cliCreds.accessToken;
88
- }
89
- }
90
- }
91
- // Refresh if expired (or if we just imported CLI expiry that shows it's expired)
92
- if (credential.refreshToken && ((0, credential_reader_1.isExpired)(credential) || (credential.expiresAt > 0 && Date.now() >= credential.expiresAt))) {
93
- try {
94
- const result = await (0, token_refresh_1.refreshToken)(credential);
95
- credential.accessToken = result.credential.accessToken;
96
- credential.refreshToken = result.credential.refreshToken;
97
- credential.expiresAt = result.credential.expiresAt;
98
- // Persist the refresh token back to config so we don't lose it
99
- try {
100
- const configPath = path.join(os.homedir(), '.funolio', 'config.json');
101
- if (fs.existsSync(configPath)) {
102
- const cfg = JSON.parse(fs.readFileSync(configPath, 'utf-8'));
103
- const idx = cfg.providers?.findIndex((p) => p.id === provider);
104
- if (idx >= 0 && cfg.providers[idx]) {
105
- cfg.providers[idx].oauthToken = credential.accessToken;
106
- cfg.providers[idx].oauthRefreshToken = credential.refreshToken;
107
- cfg.providers[idx].oauthExpiresAt = credential.expiresAt;
108
- fs.writeFileSync(configPath, JSON.stringify(cfg, null, 2), 'utf-8');
109
- console.log(`[auto-detect] Persisted refreshed tokens to config`);
110
- }
111
- }
112
- }
113
- catch (writeErr) {
114
- console.warn(`[auto-detect] Failed to persist refreshed tokens:`, writeErr);
115
- }
116
- }
117
- catch {
118
- console.log(`[auto-detect] OAuth token expired and refresh failed for ${provider}`);
119
- return {
120
- provider,
121
- model,
122
- apiKey: credential.accessToken,
123
- source: 'oauth',
124
- credential,
125
- expired: true,
126
- error: `OAuth token expired for ${provider}. Run \`funolio-agent configure\` to re-authenticate.`,
127
- };
128
- }
129
- }
130
- console.log(`[auto-detect] Resolved auth: provider=${provider}, model=${model}, source=oauth (from config)`);
131
- return {
132
- provider,
133
- model,
134
- apiKey: credential.accessToken,
135
- source: 'oauth',
136
- credential,
137
- };
138
- }
139
- // 3. Try to auto-detect OAuth token from Claude Code credentials
140
- const claudeCodeAuth = detectClaudeCodeCredentials();
141
- if (claudeCodeAuth) {
142
- const provider = config.provider || 'anthropic';
143
- const model = config.model || DEFAULT_MODELS[provider] || 'claude-sonnet-4-5';
144
- // Refresh if expired
145
- if ((0, credential_reader_1.isExpired)(claudeCodeAuth) && claudeCodeAuth.refreshToken) {
146
- try {
147
- const result = await (0, token_refresh_1.refreshToken)(claudeCodeAuth);
148
- claudeCodeAuth.accessToken = result.credential.accessToken;
149
- claudeCodeAuth.refreshToken = result.credential.refreshToken;
150
- claudeCodeAuth.expiresAt = result.credential.expiresAt;
151
- }
152
- catch {
153
- console.log(`[auto-detect] Claude Code OAuth token expired and refresh failed`);
154
- return {
155
- provider,
156
- model,
157
- apiKey: claudeCodeAuth.accessToken,
158
- source: 'oauth',
159
- credential: claudeCodeAuth,
160
- expired: true,
161
- error: `Claude Code OAuth token expired and refresh failed. Run \`claude login\` to re-authenticate.`,
162
- };
163
- }
164
- }
165
- console.log(`[auto-detect] Resolved auth: provider=${provider}, model=${model}, source=oauth (from Claude Code credentials)`);
63
+ // 2. Check environment variable API keys
64
+ const envKey = getEnvApiKey(provider);
65
+ if (envKey) {
66
+ console.log(`[auto-detect] Using environment variable API key (source: env, provider: ${provider})`);
166
67
  return {
167
68
  provider,
168
69
  model,
169
- apiKey: claudeCodeAuth.accessToken,
170
- source: 'oauth',
171
- credential: claudeCodeAuth,
70
+ apiKey: envKey,
71
+ source: 'env',
172
72
  };
173
73
  }
174
- console.log('[auto-detect] No API key or OAuth token found in config');
74
+ // No API key found CLI providers handle their own auth, so returning null
75
+ // is expected for claude-cli / codex-cli. For API-based providers, this
76
+ // means the user needs to configure an API key.
77
+ console.log(`[auto-detect] No API key found for provider: ${provider}`);
175
78
  return null;
176
79
  }
177
- // ── Claude Code Credential Detection ────────────────────────────────────────
178
- /**
179
- * Detect OAuth credentials from Claude Code's local credential files.
180
- * Checks ~/.claude/.credentials.json for claudeAiOauth tokens.
181
- */
182
- function detectClaudeCodeCredentials() {
183
- try {
184
- const credPath = path.join(os.homedir(), '.claude', '.credentials.json');
185
- if (!fs.existsSync(credPath))
186
- return null;
187
- const raw = JSON.parse(fs.readFileSync(credPath, 'utf-8'));
188
- const oauth = raw?.claudeAiOauth;
189
- if (!oauth?.accessToken?.startsWith('sk-ant-oat01-'))
190
- return null;
191
- const credential = {
192
- provider: 'anthropic',
193
- accessToken: oauth.accessToken,
194
- refreshToken: oauth.refreshToken || '',
195
- expiresAt: oauth.expiresAt || 0,
196
- };
197
- if ((0, credential_reader_1.isExpired)(credential)) {
198
- console.log('[auto-detect] Claude Code OAuth token is expired, will attempt refresh');
199
- }
200
- return credential;
201
- }
202
- catch {
203
- return null;
204
- }
205
- }
206
80
  // ── ensureFreshToken ────────────────────────────────────────────────────────
207
81
  /**
208
- * Ensure the token in a ResolvedAuth is still valid. Refreshes if needed.
209
- * Returns the same object if still valid, or a new one with updated token.
82
+ * Ensure the auth is still valid. For API keys, this is a no-op passthrough.
83
+ * OAuth token refresh has been removed.
210
84
  */
211
85
  async function ensureFreshToken(auth) {
212
- if (auth.source !== 'oauth' || !auth.credential) {
213
- return auth;
214
- }
215
- if (!(0, credential_reader_1.isExpired)(auth.credential)) {
216
- return auth;
217
- }
218
- try {
219
- const result = await (0, token_refresh_1.refreshToken)(auth.credential);
220
- const refreshed = result.credential;
221
- if (refreshed.accessToken === auth.credential.accessToken) {
222
- return auth; // refresh failed or not needed, return as-is
223
- }
224
- return {
225
- ...auth,
226
- apiKey: refreshed.accessToken,
227
- credential: refreshed,
228
- };
229
- }
230
- catch (err) {
231
- if (err instanceof token_refresh_1.TokenRefreshError) {
232
- console.error(`[auto-detect] Token refresh failed for ${err.provider}: ${err.message}`);
233
- return {
234
- ...auth,
235
- expired: true,
236
- error: `Token refresh failed for ${err.provider}${err.httpStatus ? ` (HTTP ${err.httpStatus})` : ''}: ${err.message}`,
237
- };
238
- }
239
- throw err;
240
- }
86
+ // API keys don't expire return as-is
87
+ return auth;
241
88
  }
242
89
  //# sourceMappingURL=auto-detect.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"auto-detect.js","sourceRoot":"","sources":["../../src/auth/auto-detect.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgCA,kCAwIC;AAwCD,4CAgCC;AAhPD,2DAAiE;AACjE,mDAAiF;AACjF,uCAAyB;AACzB,2CAA6B;AAC7B,uCAAyB;AAczB,+EAA+E;AAE/E,MAAM,cAAc,GAA2B;IAC7C,SAAS,EAAE,mBAAmB;IAC9B,MAAM,EAAE,QAAQ;IAChB,eAAe,EAAE,kBAAkB;CACpC,CAAC;AAEF,+EAA+E;AAE/E;;;GAGG;AACI,KAAK,UAAU,WAAW,CAAC,MAOjC;IACC,4CAA4C;IAC5C,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QAClB,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,WAAW,CAAC;QAChD,OAAO,CAAC,GAAG,CAAC,oEAAoE,QAAQ,GAAG,CAAC,CAAC;QAC7F,OAAO;YACL,QAAQ;YACR,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,cAAc,CAAC,QAAQ,CAAC,IAAI,mBAAmB;YACtE,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,MAAM,EAAE,SAAS;SAClB,CAAC;IACJ,CAAC;IAED,wEAAwE;IACxE,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;QACtB,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,WAAW,CAAC;QAChD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,cAAc,CAAC,QAAQ,CAAC,IAAI,mBAAmB,CAAC;QAE9E,MAAM,UAAU,GAAoB;YAClC,QAAQ,EAAE,QAAuC;YACjD,WAAW,EAAE,MAAM,CAAC,UAAU;YAC9B,YAAY,EAAE,MAAM,CAAC,iBAAiB,IAAI,EAAE;YAC5C,SAAS,EAAE,MAAM,CAAC,cAAc,IAAI,CAAC;SACtC,CAAC;QAEF,6EAA6E;QAC7E,qEAAqE;QACrE,IAAI,CAAC,UAAU,CAAC,YAAY,IAAI,CAAC,IAAA,6BAAS,EAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YACjF,OAAO,CAAC,GAAG,CAAC,8FAA8F,CAAC,CAAC;YAC5G,MAAM,QAAQ,GAAG,2BAA2B,EAAE,CAAC;YAC/C,IAAI,QAAQ,EAAE,YAAY,EAAE,CAAC;gBAC3B,OAAO,CAAC,GAAG,CAAC,8DAA8D,CAAC,CAAC;gBAC5E,UAAU,CAAC,YAAY,GAAG,QAAQ,CAAC,YAAY,CAAC;gBAChD,UAAU,CAAC,SAAS,GAAG,QAAQ,CAAC,SAAS,IAAI,UAAU,CAAC,SAAS,CAAC;gBAClE,qCAAqC;gBACrC,IAAI,QAAQ,CAAC,WAAW,IAAI,CAAC,CAAC,IAAA,6BAAS,EAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,SAAS,GAAG,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;oBAChG,UAAU,CAAC,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAC;gBAChD,CAAC;YACH,CAAC;QACH,CAAC;QAED,iFAAiF;QACjF,IAAI,UAAU,CAAC,YAAY,IAAI,CAAC,IAAA,6BAAS,EAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE,IAAI,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;YAC3H,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,IAAA,4BAAY,EAAC,UAAU,CAAC,CAAC;gBAC9C,UAAU,CAAC,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC;gBACvD,UAAU,CAAC,YAAY,GAAG,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC;gBACzD,UAAU,CAAC,SAAS,GAAG,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC;gBAEnD,+DAA+D;gBAC/D,IAAI,CAAC;oBACH,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC;oBACtE,IAAI,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;wBAC9B,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;wBAC7D,MAAM,GAAG,GAAG,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC;wBACpE,IAAI,GAAG,IAAI,CAAC,IAAI,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC;4BACnC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,UAAU,GAAG,UAAU,CAAC,WAAW,CAAC;4BACvD,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,iBAAiB,GAAG,UAAU,CAAC,YAAY,CAAC;4BAC/D,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,cAAc,GAAG,UAAU,CAAC,SAAS,CAAC;4BACzD,EAAE,CAAC,aAAa,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;4BACpE,OAAO,CAAC,GAAG,CAAC,oDAAoD,CAAC,CAAC;wBACpE,CAAC;oBACH,CAAC;gBACH,CAAC;gBAAC,OAAO,QAAQ,EAAE,CAAC;oBAClB,OAAO,CAAC,IAAI,CAAC,mDAAmD,EAAE,QAAQ,CAAC,CAAC;gBAC9E,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,CAAC,GAAG,CAAC,4DAA4D,QAAQ,EAAE,CAAC,CAAC;gBACpF,OAAO;oBACL,QAAQ;oBACR,KAAK;oBACL,MAAM,EAAE,UAAU,CAAC,WAAW;oBAC9B,MAAM,EAAE,OAAO;oBACf,UAAU;oBACV,OAAO,EAAE,IAAI;oBACb,KAAK,EAAE,2BAA2B,QAAQ,uDAAuD;iBAClG,CAAC;YACJ,CAAC;QACH,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,yCAAyC,QAAQ,WAAW,KAAK,8BAA8B,CAAC,CAAC;QAC7G,OAAO;YACL,QAAQ;YACR,KAAK;YACL,MAAM,EAAE,UAAU,CAAC,WAAW;YAC9B,MAAM,EAAE,OAAO;YACf,UAAU;SACX,CAAC;IACJ,CAAC;IAED,iEAAiE;IACjE,MAAM,cAAc,GAAG,2BAA2B,EAAE,CAAC;IACrD,IAAI,cAAc,EAAE,CAAC;QACnB,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,WAAW,CAAC;QAChD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,cAAc,CAAC,QAAQ,CAAC,IAAI,mBAAmB,CAAC;QAE9E,qBAAqB;QACrB,IAAI,IAAA,6BAAS,EAAC,cAAc,CAAC,IAAI,cAAc,CAAC,YAAY,EAAE,CAAC;YAC7D,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,IAAA,4BAAY,EAAC,cAAc,CAAC,CAAC;gBAClD,cAAc,CAAC,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC;gBAC3D,cAAc,CAAC,YAAY,GAAG,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC;gBAC7D,cAAc,CAAC,SAAS,GAAG,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC;YACzD,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,CAAC,GAAG,CAAC,kEAAkE,CAAC,CAAC;gBAChF,OAAO;oBACL,QAAQ;oBACR,KAAK;oBACL,MAAM,EAAE,cAAc,CAAC,WAAW;oBAClC,MAAM,EAAE,OAAO;oBACf,UAAU,EAAE,cAAc;oBAC1B,OAAO,EAAE,IAAI;oBACb,KAAK,EAAE,8FAA8F;iBACtG,CAAC;YACJ,CAAC;QACH,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,yCAAyC,QAAQ,WAAW,KAAK,+CAA+C,CAAC,CAAC;QAC9H,OAAO;YACL,QAAQ;YACR,KAAK;YACL,MAAM,EAAE,cAAc,CAAC,WAAW;YAClC,MAAM,EAAE,OAAO;YACf,UAAU,EAAE,cAAc;SAC3B,CAAC;IACJ,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,yDAAyD,CAAC,CAAC;IACvE,OAAO,IAAI,CAAC;AACd,CAAC;AAED,+EAA+E;AAE/E;;;GAGG;AACH,SAAS,2BAA2B;IAClC,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,mBAAmB,CAAC,CAAC;QACzE,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC;YAAE,OAAO,IAAI,CAAC;QAE1C,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;QAC3D,MAAM,KAAK,GAAG,GAAG,EAAE,aAAa,CAAC;QACjC,IAAI,CAAC,KAAK,EAAE,WAAW,EAAE,UAAU,CAAC,eAAe,CAAC;YAAE,OAAO,IAAI,CAAC;QAElE,MAAM,UAAU,GAAoB;YAClC,QAAQ,EAAE,WAAW;YACrB,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,YAAY,EAAE,KAAK,CAAC,YAAY,IAAI,EAAE;YACtC,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,CAAC;SAChC,CAAC;QAEF,IAAI,IAAA,6BAAS,EAAC,UAAU,CAAC,EAAE,CAAC;YAC1B,OAAO,CAAC,GAAG,CAAC,wEAAwE,CAAC,CAAC;QACxF,CAAC;QAED,OAAO,UAAU,CAAC;IACpB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,+EAA+E;AAE/E;;;GAGG;AACI,KAAK,UAAU,gBAAgB,CAAC,IAAkB;IACvD,IAAI,IAAI,CAAC,MAAM,KAAK,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;QAChD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC,IAAA,6BAAS,EAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;QAChC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,IAAA,4BAAY,EAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACnD,MAAM,SAAS,GAAG,MAAM,CAAC,UAAU,CAAC;QACpC,IAAI,SAAS,CAAC,WAAW,KAAK,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;YAC1D,OAAO,IAAI,CAAC,CAAC,6CAA6C;QAC5D,CAAC;QAED,OAAO;YACL,GAAG,IAAI;YACP,MAAM,EAAE,SAAS,CAAC,WAAW;YAC7B,UAAU,EAAE,SAAS;SACtB,CAAC;IACJ,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAClB,IAAI,GAAG,YAAY,iCAAiB,EAAE,CAAC;YACrC,OAAO,CAAC,KAAK,CAAC,0CAA0C,GAAG,CAAC,QAAQ,KAAK,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;YACxF,OAAO;gBACL,GAAG,IAAI;gBACP,OAAO,EAAE,IAAI;gBACb,KAAK,EAAE,4BAA4B,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,OAAO,EAAE;aACtH,CAAC;QACJ,CAAC;QACD,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"auto-detect.js","sourceRoot":"","sources":["../../src/auth/auto-detect.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;AAgDH,kCAuCC;AAQD,4CAGC;AArFD,+EAA+E;AAE/E,MAAM,cAAc,GAA2B;IAC7C,SAAS,EAAE,mBAAmB;IAC9B,MAAM,EAAE,QAAQ;IAChB,eAAe,EAAE,kBAAkB;CACpC,CAAC;AAEF,+EAA+E;AAE/E,SAAS,YAAY,CAAC,QAAgB;IACpC,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,WAAW,CAAC,CAAC,OAAO,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;QACvD,KAAK,QAAQ,CAAC,CAAC,OAAO,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;QACjD,KAAK,QAAQ,CAAC;QACd,KAAK,eAAe,CAAC,CAAC,OAAO,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;QACxD,OAAO,CAAC,CAAC,OAAO,SAAS,CAAC;IAC5B,CAAC;AACH,CAAC;AAED,+EAA+E;AAE/E;;;;;;;;;;;;GAYG;AACI,KAAK,UAAU,WAAW,CAAC,MAOjC;IACC,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,WAAW,CAAC;IAChD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,cAAc,CAAC,QAAQ,CAAC,IAAI,mBAAmB,CAAC;IAE9E,4CAA4C;IAC5C,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QAClB,OAAO,CAAC,GAAG,CAAC,oEAAoE,QAAQ,GAAG,CAAC,CAAC;QAC7F,OAAO;YACL,QAAQ;YACR,KAAK;YACL,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,MAAM,EAAE,SAAS;SAClB,CAAC;IACJ,CAAC;IAED,yCAAyC;IACzC,MAAM,MAAM,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;IACtC,IAAI,MAAM,EAAE,CAAC;QACX,OAAO,CAAC,GAAG,CAAC,4EAA4E,QAAQ,GAAG,CAAC,CAAC;QACrG,OAAO;YACL,QAAQ;YACR,KAAK;YACL,MAAM,EAAE,MAAM;YACd,MAAM,EAAE,KAAK;SACd,CAAC;IACJ,CAAC;IAED,4EAA4E;IAC5E,wEAAwE;IACxE,gDAAgD;IAChD,OAAO,CAAC,GAAG,CAAC,gDAAgD,QAAQ,EAAE,CAAC,CAAC;IACxE,OAAO,IAAI,CAAC;AACd,CAAC;AAED,+EAA+E;AAE/E;;;GAGG;AACI,KAAK,UAAU,gBAAgB,CAAC,IAAkB;IACvD,uCAAuC;IACvC,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -1,3 +1,18 @@
1
+ /**
2
+ * REMOVED: OAuth credential reading from disk has been removed.
3
+ *
4
+ * Connection to LLM providers is now exclusively via:
5
+ * 1. CLI providers (claude-cli, codex-cli) — spawns the CLI binary
6
+ * 2. API key (BYOK) — standard x-api-key authentication
7
+ *
8
+ * The credential-reader previously read OAuth tokens from:
9
+ * - ~/.claude/.credentials.json (Anthropic)
10
+ * - ~/.codex/auth.json (OpenAI)
11
+ * - ~/.config/gcloud/application_default_credentials.json (Google)
12
+ *
13
+ * These files are now only used by the CLI providers themselves (claude, codex)
14
+ * and are not read by the Funolio agent.
15
+ */
1
16
  export interface OAuthCredential {
2
17
  provider: 'anthropic' | 'openai' | 'google-gemini';
3
18
  accessToken: string;
@@ -14,11 +29,16 @@ export interface CredentialDetectionResult {
14
29
  error: string;
15
30
  }[];
16
31
  }
17
- /** Clear the credential cache (useful for testing or forced refresh). */
18
- export declare function clearCache(): void;
32
+ /** @deprecated Always returns empty results. */
33
+ export declare function detectCredentials(): CredentialDetectionResult;
34
+ /** @deprecated Always returns null. */
19
35
  export declare function readClaudeCredentials(): OAuthCredential | null;
36
+ /** @deprecated Always returns null. */
20
37
  export declare function readCodexCredentials(): OAuthCredential | null;
38
+ /** @deprecated Always returns null. */
21
39
  export declare function readGeminiCredentials(): OAuthCredential | null;
22
- export declare function detectCredentials(): CredentialDetectionResult;
23
- export declare function isExpired(cred: OAuthCredential): boolean;
40
+ /** Clear the credential cache (no-op). */
41
+ export declare function clearCache(): void;
42
+ /** @deprecated Always returns true (expired). */
43
+ export declare function isExpired(_cred: OAuthCredential): boolean;
24
44
  //# sourceMappingURL=credential-reader.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"credential-reader.d.ts","sourceRoot":"","sources":["../../src/auth/credential-reader.ts"],"names":[],"mappings":"AAQA,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,WAAW,GAAG,QAAQ,GAAG,eAAe,CAAC;IACnD,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,yBAAyB;IACxC,WAAW,EAAE,eAAe,EAAE,CAAC;IAC/B,MAAM,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CAC/C;AAyBD,yEAAyE;AACzE,wBAAgB,UAAU,IAAI,IAAI,CAEjC;AAyCD,wBAAgB,qBAAqB,IAAI,eAAe,GAAG,IAAI,CAwC9D;AAED,wBAAgB,oBAAoB,IAAI,eAAe,GAAG,IAAI,CA+C7D;AAED,wBAAgB,qBAAqB,IAAI,eAAe,GAAG,IAAI,CA2D9D;AAID,wBAAgB,iBAAiB,IAAI,yBAAyB,CA0B7D;AAMD,wBAAgB,SAAS,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAIxD"}
1
+ {"version":3,"file":"credential-reader.d.ts","sourceRoot":"","sources":["../../src/auth/credential-reader.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,WAAW,GAAG,QAAQ,GAAG,eAAe,CAAC;IACnD,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,yBAAyB;IACxC,WAAW,EAAE,eAAe,EAAE,CAAC;IAC/B,MAAM,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CAC/C;AAED,gDAAgD;AAChD,wBAAgB,iBAAiB,IAAI,yBAAyB,CAE7D;AAED,uCAAuC;AACvC,wBAAgB,qBAAqB,IAAI,eAAe,GAAG,IAAI,CAE9D;AAED,uCAAuC;AACvC,wBAAgB,oBAAoB,IAAI,eAAe,GAAG,IAAI,CAE7D;AAED,uCAAuC;AACvC,wBAAgB,qBAAqB,IAAI,eAAe,GAAG,IAAI,CAE9D;AAED,0CAA0C;AAC1C,wBAAgB,UAAU,IAAI,IAAI,CAAG;AAErC,iDAAiD;AACjD,wBAAgB,SAAS,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAEzD"}