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,304 +1,36 @@
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
+ * REMOVED: Subscription API runtime has been removed.
4
+ *
5
+ * Connection to LLM providers is now exclusively via:
6
+ * 1. CLI providers (claude-cli, codex-cli) spawns the CLI binary
7
+ * 2. API key (BYOK) — standard x-api-key authentication
8
+ */
35
9
  Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.resolveClaudeSubscriptionRuntime = resolveClaudeSubscriptionRuntime;
11
+ exports.resolveCodexSubscriptionRuntime = resolveCodexSubscriptionRuntime;
36
12
  exports.claudeSubscriptionRuntimeLabel = claudeSubscriptionRuntimeLabel;
37
13
  exports.resolveClaudeSubscriptionRequestShape = resolveClaudeSubscriptionRequestShape;
38
14
  exports.resolveSubscriptionApiModel = resolveSubscriptionApiModel;
39
- exports.resolveClaudeSubscriptionRuntime = resolveClaudeSubscriptionRuntime;
40
- exports.resolveCodexSubscriptionRuntime = resolveCodexSubscriptionRuntime;
41
- const data = __importStar(require("../local-data"));
42
- const credential_reader_1 = require("./credential-reader");
43
- const token_refresh_1 = require("./token-refresh");
44
- const anthropic_subscription_1 = require("./anthropic-subscription");
45
- function claudeSubscriptionRuntimeLabel(source) {
46
- const normalized = String(source || '').trim().toLowerCase();
47
- if (normalized.includes('openclaw'))
48
- return 'OpenClaw Connection';
49
- return 'Subscription API';
50
- }
51
- /**
52
- * Anthropic/OpenClaw request shape should stay on native structured messages by default.
53
- * Source selection tells us where credentials came from, not how to flatten prompts.
54
- */
55
- function resolveClaudeSubscriptionRequestShape(_source) {
56
- return 'default';
57
- }
58
- function resolveSubscriptionApiModel(profileModel, configuredDefaultModel) {
59
- const isPlaceholder = (value) => {
60
- const normalized = value.trim().toLowerCase();
61
- return normalized === ''
62
- || normalized === 'default'
63
- || normalized === 'claude-code'
64
- || normalized === 'codex-cli';
65
- };
66
- const resolvedProfileModel = (profileModel || '').trim();
67
- if (!isPlaceholder(resolvedProfileModel)) {
68
- return resolvedProfileModel;
69
- }
70
- const resolvedDefaultModel = (configuredDefaultModel || '').trim();
71
- if (!isPlaceholder(resolvedDefaultModel)) {
72
- return resolvedDefaultModel;
73
- }
15
+ /** @deprecated Always returns null. */
16
+ async function resolveClaudeSubscriptionRuntime(_options) {
74
17
  return null;
75
18
  }
76
- function readDbOauthCredential(providerId) {
77
- const connection = data.findProviderConnection(providerId, 'oauth') || data.findProviderConnection(providerId);
78
- if (!connection?.oauth_token) {
79
- return null;
80
- }
81
- return {
82
- source: `db:${providerId}`,
83
- credential: {
84
- provider: providerId === 'anthropic' || providerId === 'claude-cli' ? 'anthropic' : 'openai',
85
- accessToken: connection.oauth_token,
86
- refreshToken: connection.oauth_refresh_token || '',
87
- expiresAt: connection.oauth_expires_at ?? 0,
88
- },
89
- };
90
- }
91
- function shouldImportCandidate(current, incoming) {
92
- if (!incoming?.accessToken)
93
- return false;
94
- if (!current?.accessToken)
95
- return true;
96
- if (incoming.accessToken === current.accessToken) {
97
- return (incoming.expiresAt || 0) > (current.expiresAt || 0)
98
- || (!!incoming.refreshToken && !current.refreshToken);
99
- }
100
- return (incoming.expiresAt || 0) > (current.expiresAt || 0)
101
- || (!!incoming.refreshToken && !current.refreshToken);
102
- }
103
- function syncProviderOauthCredential(providerId, credential, defaultModel) {
104
- if (!credential.accessToken)
105
- return;
106
- data.upsertOauthProviderConnection({
107
- providerId,
108
- oauthToken: credential.accessToken,
109
- oauthRefreshToken: credential.refreshToken || null,
110
- oauthExpiresAt: credential.expiresAt ?? null,
111
- defaultModel: defaultModel ?? null,
112
- });
113
- }
114
- async function ensureFreshCredential(credential, providerForLog, onRefresh) {
115
- if (!credential)
116
- return null;
117
- const needsCodexIdTokenRepair = providerForLog === 'openai' && !credential.idToken;
118
- const expired = (0, credential_reader_1.isExpired)(credential);
119
- if (!expired && !needsCodexIdTokenRepair) {
120
- return credential;
121
- }
122
- if (!credential.refreshToken) {
123
- return expired ? null : (credential.accessToken ? credential : null);
124
- }
125
- try {
126
- const refreshed = await (0, token_refresh_1.refreshToken)(credential);
127
- onRefresh?.(refreshed.credential);
128
- return refreshed.credential;
129
- }
130
- catch (err) {
131
- console.warn(`[subscription-runtime] ${providerForLog} OAuth token refresh failed: ${err?.message || err}`);
132
- return expired ? null : (credential.accessToken ? credential : null);
133
- }
134
- }
135
- async function resolveDbPrimaryClaudeCredentialCandidates(preferredModel, inputCredential, inputToken, inputAccessMode, inputSource = 'request:anthropic', persistInputCredential = false) {
136
- const candidates = [];
137
- const seen = new Set();
138
- const pushCandidate = (candidate) => {
139
- if (!candidate?.credential?.accessToken)
140
- return;
141
- const key = `${candidate.source}:${candidate.credential.accessToken}`;
142
- if (seen.has(key))
143
- return;
144
- seen.add(key);
145
- candidates.push(candidate);
146
- };
147
- const openClawConnection = data.findProviderConnection('anthropic', 'openclaw');
148
- if (inputAccessMode === 'openclaw' && inputToken?.trim()) {
149
- pushCandidate({
150
- source: 'request:anthropic:openclaw',
151
- credential: {
152
- provider: 'anthropic',
153
- accessToken: inputToken.trim(),
154
- refreshToken: '',
155
- expiresAt: 0,
156
- },
157
- });
158
- }
159
- if (openClawConnection?.api_key_enc) {
160
- pushCandidate({
161
- source: 'db:anthropic:openclaw',
162
- credential: {
163
- provider: 'anthropic',
164
- accessToken: openClawConnection.api_key_enc,
165
- refreshToken: '',
166
- expiresAt: 0,
167
- },
168
- });
169
- }
170
- const dbCandidate = readDbOauthCredential('anthropic');
171
- const legacyCandidate = readDbOauthCredential('claude-cli');
172
- const fileCredential = (0, credential_reader_1.readClaudeCredentials)();
173
- let selected = dbCandidate;
174
- if (legacyCandidate && shouldImportCandidate(dbCandidate?.credential || null, legacyCandidate.credential)) {
175
- syncProviderOauthCredential('anthropic', legacyCandidate.credential, preferredModel);
176
- selected = { source: 'db:anthropic', credential: legacyCandidate.credential };
177
- }
178
- if (fileCredential && shouldImportCandidate(selected?.credential || null, fileCredential)) {
179
- syncProviderOauthCredential('anthropic', fileCredential, preferredModel);
180
- selected = { source: 'db:anthropic', credential: fileCredential };
181
- }
182
- if (inputCredential?.accessToken && shouldImportCandidate(selected?.credential || null, inputCredential)) {
183
- if (persistInputCredential) {
184
- syncProviderOauthCredential('anthropic', inputCredential, preferredModel);
185
- selected = { source: 'db:anthropic', credential: inputCredential };
186
- }
187
- else {
188
- selected = { source: inputSource, credential: inputCredential };
189
- }
190
- }
191
- if (!selected?.credential?.accessToken) {
192
- return candidates;
193
- }
194
- const refreshed = await ensureFreshCredential(selected.credential, 'anthropic', selected.source === 'db:anthropic' || selected.source === inputSource
195
- ? (credential) => syncProviderOauthCredential('anthropic', credential, preferredModel)
196
- : (credential) => syncProviderOauthCredential('anthropic', credential, preferredModel));
197
- if (!refreshed?.accessToken) {
198
- return candidates;
199
- }
200
- if (selected.source !== inputSource || persistInputCredential) {
201
- syncProviderOauthCredential('anthropic', refreshed, preferredModel);
202
- pushCandidate({ source: 'db:anthropic', credential: refreshed });
203
- return candidates;
204
- }
205
- pushCandidate({ source: selected.source, credential: refreshed });
206
- return candidates;
19
+ /** @deprecated Always returns null. */
20
+ async function resolveCodexSubscriptionRuntime(_options) {
21
+ return null;
207
22
  }
208
- async function resolveDbPrimaryCodexCredential(preferredModel, inputCredential, inputSource = 'request:openai', persistInputCredential = false) {
209
- const dbCandidate = readDbOauthCredential('openai');
210
- const legacyCandidate = readDbOauthCredential('codex-cli');
211
- const fileCredential = (0, credential_reader_1.readCodexCredentials)();
212
- let selected = dbCandidate;
213
- if (legacyCandidate && shouldImportCandidate(dbCandidate?.credential || null, legacyCandidate.credential)) {
214
- syncProviderOauthCredential('openai', legacyCandidate.credential, preferredModel);
215
- selected = { source: 'db:openai', credential: legacyCandidate.credential };
216
- }
217
- if (fileCredential && shouldImportCandidate(selected?.credential || null, fileCredential)) {
218
- syncProviderOauthCredential('openai', fileCredential, preferredModel);
219
- selected = { source: 'db:openai', credential: fileCredential };
220
- }
221
- if (inputCredential?.accessToken && shouldImportCandidate(selected?.credential || null, inputCredential)) {
222
- if (persistInputCredential) {
223
- syncProviderOauthCredential('openai', inputCredential, preferredModel);
224
- selected = { source: 'db:openai', credential: inputCredential };
225
- }
226
- else {
227
- selected = { source: inputSource, credential: inputCredential };
228
- }
229
- }
230
- if (!selected?.credential?.accessToken) {
231
- return null;
232
- }
233
- const refreshed = await ensureFreshCredential(selected.credential, 'openai', selected.source === 'db:openai' || persistInputCredential
234
- ? (credential) => syncProviderOauthCredential('openai', credential, preferredModel)
235
- : null);
236
- if (!refreshed?.accessToken) {
237
- return null;
238
- }
239
- if (selected.source !== inputSource || persistInputCredential) {
240
- syncProviderOauthCredential('openai', refreshed, preferredModel);
241
- return { source: 'db:openai', credential: refreshed };
242
- }
243
- return { source: selected.source, credential: refreshed };
23
+ /** @deprecated Subscription API removed. Returns a display label. */
24
+ function claudeSubscriptionRuntimeLabel(_source) {
25
+ return 'Subscription (removed)';
244
26
  }
245
- async function resolveClaudeSubscriptionRuntime(options = {}) {
246
- const model = resolveSubscriptionApiModel(options.preferredModel, data.findProviderConnection('anthropic')?.default_model
247
- || data.findProviderConnection('claude-cli')?.default_model
248
- || null);
249
- if (!model)
250
- return null;
251
- const candidates = await resolveDbPrimaryClaudeCredentialCandidates(model, options.inputCredential, options.inputToken, options.inputAccessMode, options.inputSource || 'request:anthropic', options.persistInputCredential === true);
252
- if (candidates.length === 0) {
253
- return null;
254
- }
255
- let lastError = null;
256
- for (const selected of candidates) {
257
- try {
258
- const requestConfig = (0, anthropic_subscription_1.getClaudeSubscriptionRequestConfig)(selected.source);
259
- const resolved = await (0, anthropic_subscription_1.resolveAnthropicSubscriptionAuth)({
260
- accessToken: selected.credential.accessToken,
261
- refreshToken: selected.credential.refreshToken || null,
262
- expiresAt: selected.credential.expiresAt ?? null,
263
- onRefresh: (credential) => syncProviderOauthCredential('anthropic', credential, model),
264
- });
265
- return {
266
- providerName: 'anthropic',
267
- apiKey: resolved.token,
268
- model,
269
- source: selected.source,
270
- authMode: resolved.authMode,
271
- baseUrl: requestConfig.baseUrl,
272
- apiQuery: requestConfig.apiQuery,
273
- extraHeaders: requestConfig.extraHeaders,
274
- };
275
- }
276
- catch (err) {
277
- lastError = err;
278
- console.warn(`[subscription-runtime] Claude credential candidate failed (${selected.source}); trying next candidate if available: ${err?.message || err}`);
279
- }
280
- }
281
- if (lastError)
282
- throw lastError;
283
- return null;
27
+ /** @deprecated Subscription API removed. Always returns undefined. */
28
+ function resolveClaudeSubscriptionRequestShape(_source) {
29
+ return undefined;
284
30
  }
285
- async function resolveCodexSubscriptionRuntime(options = {}) {
286
- const model = resolveSubscriptionApiModel(options.preferredModel, data.findProviderConnection('openai')?.default_model
287
- || data.findProviderConnection('codex-cli')?.default_model
288
- || null);
289
- if (!model)
290
- return null;
291
- const selected = await resolveDbPrimaryCodexCredential(model, options.inputCredential, options.inputSource || 'request:openai', options.persistInputCredential === true);
292
- if (!selected?.credential?.accessToken) {
293
- return null;
294
- }
295
- return {
296
- providerName: 'openai',
297
- apiKey: selected.credential.accessToken,
298
- model,
299
- source: selected.source,
300
- baseUrl: 'https://chatgpt.com/backend-api/codex',
301
- apiStyle: 'codex-chatgpt-responses',
302
- };
31
+ /** @deprecated Subscription API removed. Returns the preferred model or fallback. */
32
+ function resolveSubscriptionApiModel(preferred, fallback) {
33
+ const model = (preferred || '').trim() || (fallback || '').trim();
34
+ return model || undefined;
303
35
  }
304
36
  //# sourceMappingURL=subscription-runtime.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"subscription-runtime.js","sourceRoot":"","sources":["../../src/auth/subscription-runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"subscription-runtime.js","sourceRoot":"","sources":["../../src/auth/subscription-runtime.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;AAmBH,4EAEC;AAGD,0EAEC;AAGD,wEAEC;AAGD,sFAEC;AAGD,kEAGC;AAxBD,uCAAuC;AAChC,KAAK,UAAU,gCAAgC,CAAC,QAAc;IACnE,OAAO,IAAI,CAAC;AACd,CAAC;AAED,uCAAuC;AAChC,KAAK,UAAU,+BAA+B,CAAC,QAAc;IAClE,OAAO,IAAI,CAAC;AACd,CAAC;AAED,qEAAqE;AACrE,SAAgB,8BAA8B,CAAC,OAAuB;IACpE,OAAO,wBAAwB,CAAC;AAClC,CAAC;AAED,sEAAsE;AACtE,SAAgB,qCAAqC,CAAC,OAAuB;IAC3E,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,qFAAqF;AACrF,SAAgB,2BAA2B,CAAC,SAAyB,EAAE,QAAwB;IAC7F,MAAM,KAAK,GAAG,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAClE,OAAO,KAAK,IAAI,SAAS,CAAC;AAC5B,CAAC"}
@@ -1,15 +1,17 @@
1
1
  /**
2
- * Token Refresh Module Funolio Agent OAuth System
2
+ * REMOVED: OAuth token refresh has been removed.
3
3
  *
4
- * For Anthropic tokens: delegates refresh to the Funolio server (cloud mode)
5
- * to prevent race conditions with single-use refresh tokens.
6
- * The server is the sole authority for refreshing with Anthropic.
4
+ * Connection to LLM providers is now exclusively via:
5
+ * 1. CLI providers (claude-cli, codex-cli) handle their own auth/refresh
6
+ * 2. API key (BYOK) API keys don't expire
7
7
  *
8
- * For OpenAI/Gemini: refreshes directly (their tokens aren't single-use).
8
+ * The token-refresh module previously handled:
9
+ * - Anthropic OAuth token refresh (single-use rotation)
10
+ * - OpenAI OAuth token refresh
11
+ * - Google/Gemini OAuth token refresh
12
+ * - Server-delegated token refresh (cloud mode)
9
13
  *
10
- * Config: `tokenRefreshAuthority` in ~/.funolio/config.json
11
- * - "cloud" (default): Server refreshes Anthropic tokens
12
- * - "local": Legacy direct refresh (for self-hosted without a server)
14
+ * CLI providers now handle all token lifecycle internally.
13
15
  */
14
16
  import { OAuthCredential } from './credential-reader';
15
17
  export declare class TokenRefreshError extends Error {
@@ -21,24 +23,13 @@ export interface RefreshResult {
21
23
  credential: OAuthCredential;
22
24
  written: boolean;
23
25
  }
24
- export declare function refreshOpenAIToken(credential: OAuthCredential): Promise<OAuthCredential>;
25
- export declare function refreshGeminiToken(credential: OAuthCredential): Promise<OAuthCredential>;
26
- export declare function writeClaudeCredentials(credential: OAuthCredential): boolean;
27
- export declare function writeCodexCredentials(credential: OAuthCredential): boolean;
28
- /**
29
- * Push a fresh credential to the Funolio server so it can perform
30
- * server-side refresh later. Fire-and-forget after local refresh.
31
- */
32
- export declare function seedServerWithToken(credential: OAuthCredential): Promise<boolean>;
33
- /**
34
- * Check if a credential needs refresh (expired or within 5-minute buffer).
35
- */
36
- export declare function needsRefresh(credential: OAuthCredential): boolean;
37
- /**
38
- * Refresh a single credential. For Anthropic in cloud mode, delegates to the
39
- * Funolio server. For other providers (or local mode), refreshes directly.
40
- *
41
- * After refresh, writes updated tokens back to the source files.
42
- */
43
- export declare function refreshToken(credential: OAuthCredential): Promise<RefreshResult>;
26
+ /** @deprecated Always returns false. API keys don't expire. */
27
+ export declare function needsRefresh(_credential: OAuthCredential): boolean;
28
+ /** @deprecated Always throws. Use CLI providers or API keys instead. */
29
+ export declare function refreshToken(_credential: OAuthCredential): Promise<RefreshResult>;
30
+ export declare function refreshOpenAIToken(_credential: OAuthCredential): Promise<OAuthCredential>;
31
+ export declare function refreshGeminiToken(_credential: OAuthCredential): Promise<OAuthCredential>;
32
+ export declare function writeClaudeCredentials(_credential: OAuthCredential): boolean;
33
+ export declare function writeCodexCredentials(_credential: OAuthCredential): boolean;
34
+ export declare function seedServerWithToken(_credential: OAuthCredential): Promise<boolean>;
44
35
  //# sourceMappingURL=token-refresh.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"token-refresh.d.ts","sourceRoot":"","sources":["../../src/auth/token-refresh.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAOH,OAAO,EAAE,eAAe,EAAc,MAAM,qBAAqB,CAAC;AAyBlE,qBAAa,iBAAkB,SAAQ,KAAK;IAC1C,SAAgB,QAAQ,EAAE,MAAM,CAAC;IACjC,SAAgB,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;gBAEnC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM;CAMnE;AAED,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,eAAe,CAAC;IAC5B,OAAO,EAAE,OAAO,CAAC;CAClB;AAuMD,wBAAsB,kBAAkB,CACtC,UAAU,EAAE,eAAe,GAC1B,OAAO,CAAC,eAAe,CAAC,CAoC1B;AAED,wBAAsB,kBAAkB,CACtC,UAAU,EAAE,eAAe,GAC1B,OAAO,CAAC,eAAe,CAAC,CAmC1B;AAID,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,eAAe,GAAG,OAAO,CA0C3E;AAED,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,eAAe,GAAG,OAAO,CA4C1E;AA6BD;;;GAGG;AACH,wBAAsB,mBAAmB,CAAC,UAAU,EAAE,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC,CA4BvF;AAID;;GAEG;AACH,wBAAgB,YAAY,CAAC,UAAU,EAAE,eAAe,GAAG,OAAO,CAEjE;AAED;;;;;GAKG;AACH,wBAAsB,YAAY,CAAC,UAAU,EAAE,eAAe,GAAG,OAAO,CAAC,aAAa,CAAC,CA4DtF"}
1
+ {"version":3,"file":"token-refresh.d.ts","sourceRoot":"","sources":["../../src/auth/token-refresh.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,eAAe,EAAc,MAAM,qBAAqB,CAAC;AAElE,qBAAa,iBAAkB,SAAQ,KAAK;IAC1C,SAAgB,QAAQ,EAAE,MAAM,CAAC;IACjC,SAAgB,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;gBAEnC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM;CAMnE;AAED,MAAM,WAAW,aAAa;IAC5B,UAAU,EAAE,eAAe,CAAC;IAC5B,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,+DAA+D;AAC/D,wBAAgB,YAAY,CAAC,WAAW,EAAE,eAAe,GAAG,OAAO,CAElE;AAED,wEAAwE;AACxE,wBAAsB,YAAY,CAAC,WAAW,EAAE,eAAe,GAAG,OAAO,CAAC,aAAa,CAAC,CAKvF;AAGD,wBAAsB,kBAAkB,CAAC,WAAW,EAAE,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC,CAE/F;AAED,wBAAsB,kBAAkB,CAAC,WAAW,EAAE,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC,CAE/F;AAED,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,eAAe,GAAG,OAAO,CAAkB;AAC/F,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,eAAe,GAAG,OAAO,CAAkB;AAC9F,wBAAsB,mBAAmB,CAAC,WAAW,EAAE,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC,CAAkB"}