@withbuddi/buddi 0.1.0-pre.19 → 0.1.0-pre.20

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 (222) hide show
  1. package/README.md +1 -1
  2. package/node_modules/@buddi/cli/dist/.tsbuildinfo +1 -1
  3. package/node_modules/@buddi/cli/dist/commands.js +1 -1
  4. package/node_modules/@buddi/cli/dist/commands.js.map +1 -1
  5. package/node_modules/@buddi/cli/dist/main.d.ts.map +1 -1
  6. package/node_modules/@buddi/cli/dist/main.js +12 -2
  7. package/node_modules/@buddi/cli/dist/main.js.map +1 -1
  8. package/node_modules/@buddi/cli/dist/status.d.ts +10 -0
  9. package/node_modules/@buddi/cli/dist/status.d.ts.map +1 -1
  10. package/node_modules/@buddi/cli/dist/status.js +4 -0
  11. package/node_modules/@buddi/cli/dist/status.js.map +1 -1
  12. package/node_modules/@buddi/core/dist/.tsbuildinfo +1 -1
  13. package/node_modules/@buddi/core/dist/agents/catalog.d.ts.map +1 -1
  14. package/node_modules/@buddi/core/dist/agents/catalog.js +7 -1
  15. package/node_modules/@buddi/core/dist/agents/catalog.js.map +1 -1
  16. package/node_modules/@buddi/core/dist/provider-accounts.d.ts +7 -1
  17. package/node_modules/@buddi/core/dist/provider-accounts.d.ts.map +1 -1
  18. package/node_modules/@buddi/core/dist/provider-accounts.js +14 -1
  19. package/node_modules/@buddi/core/dist/provider-accounts.js.map +1 -1
  20. package/node_modules/@buddi/core/dist/provider.d.ts +6 -0
  21. package/node_modules/@buddi/core/dist/provider.d.ts.map +1 -1
  22. package/node_modules/@buddi/core/dist/provider.js.map +1 -1
  23. package/node_modules/@buddi/core/migrations/046_ollama_device_key.sql +7 -0
  24. package/node_modules/@buddi/core/migrations/047_reported_context_windows.sql +5 -0
  25. package/node_modules/@buddi/gateway/dist/.tsbuildinfo +1 -1
  26. package/node_modules/@buddi/gateway/dist/codex-accounts.d.ts +24 -11
  27. package/node_modules/@buddi/gateway/dist/codex-accounts.d.ts.map +1 -1
  28. package/node_modules/@buddi/gateway/dist/codex-accounts.js +151 -215
  29. package/node_modules/@buddi/gateway/dist/codex-accounts.js.map +1 -1
  30. package/node_modules/@buddi/gateway/dist/index.d.ts +1 -0
  31. package/node_modules/@buddi/gateway/dist/index.d.ts.map +1 -1
  32. package/node_modules/@buddi/gateway/dist/index.js +1 -0
  33. package/node_modules/@buddi/gateway/dist/index.js.map +1 -1
  34. package/node_modules/@buddi/gateway/dist/ollama-accounts.d.ts +87 -0
  35. package/node_modules/@buddi/gateway/dist/ollama-accounts.d.ts.map +1 -0
  36. package/node_modules/@buddi/gateway/dist/ollama-accounts.js +179 -0
  37. package/node_modules/@buddi/gateway/dist/ollama-accounts.js.map +1 -0
  38. package/node_modules/@buddi/gateway/dist/provider-accounts.d.ts +47 -1
  39. package/node_modules/@buddi/gateway/dist/provider-accounts.d.ts.map +1 -1
  40. package/node_modules/@buddi/gateway/dist/provider-accounts.js +182 -25
  41. package/node_modules/@buddi/gateway/dist/provider-accounts.js.map +1 -1
  42. package/node_modules/@buddi/gateway/dist/surfaces/context-budget.d.ts.map +1 -1
  43. package/node_modules/@buddi/gateway/dist/surfaces/context-budget.js +10 -3
  44. package/node_modules/@buddi/gateway/dist/surfaces/context-budget.js.map +1 -1
  45. package/node_modules/@buddi/gateway/dist/web/server.d.ts.map +1 -1
  46. package/node_modules/@buddi/gateway/dist/web/server.js +16 -13
  47. package/node_modules/@buddi/gateway/dist/web/server.js.map +1 -1
  48. package/node_modules/@buddi/install/dist/.tsbuildinfo +1 -1
  49. package/node_modules/@buddi/runtime/dist/.tsbuildinfo +1 -1
  50. package/node_modules/@buddi/runtime/dist/codex-direct.d.ts +55 -0
  51. package/node_modules/@buddi/runtime/dist/codex-direct.d.ts.map +1 -0
  52. package/node_modules/@buddi/runtime/dist/codex-direct.js +334 -0
  53. package/node_modules/@buddi/runtime/dist/codex-direct.js.map +1 -0
  54. package/node_modules/@buddi/runtime/dist/codex-oauth.d.ts +66 -0
  55. package/node_modules/@buddi/runtime/dist/codex-oauth.d.ts.map +1 -0
  56. package/node_modules/@buddi/runtime/dist/codex-oauth.js +210 -0
  57. package/node_modules/@buddi/runtime/dist/codex-oauth.js.map +1 -0
  58. package/node_modules/@buddi/runtime/dist/codex-profile.d.ts +19 -0
  59. package/node_modules/@buddi/runtime/dist/codex-profile.d.ts.map +1 -0
  60. package/node_modules/@buddi/runtime/dist/codex-profile.js +99 -0
  61. package/node_modules/@buddi/runtime/dist/codex-profile.js.map +1 -0
  62. package/node_modules/@buddi/runtime/dist/context-window.d.ts.map +1 -1
  63. package/node_modules/@buddi/runtime/dist/context-window.js +4 -0
  64. package/node_modules/@buddi/runtime/dist/context-window.js.map +1 -1
  65. package/node_modules/@buddi/runtime/dist/delegate.d.ts +24 -0
  66. package/node_modules/@buddi/runtime/dist/delegate.d.ts.map +1 -1
  67. package/node_modules/@buddi/runtime/dist/delegate.js +87 -11
  68. package/node_modules/@buddi/runtime/dist/delegate.js.map +1 -1
  69. package/node_modules/@buddi/runtime/dist/index.d.ts +4 -4
  70. package/node_modules/@buddi/runtime/dist/index.d.ts.map +1 -1
  71. package/node_modules/@buddi/runtime/dist/index.js +5 -5
  72. package/node_modules/@buddi/runtime/dist/index.js.map +1 -1
  73. package/node_modules/@buddi/runtime/dist/loop.d.ts +7 -0
  74. package/node_modules/@buddi/runtime/dist/loop.d.ts.map +1 -1
  75. package/node_modules/@buddi/runtime/dist/loop.js +48 -8
  76. package/node_modules/@buddi/runtime/dist/loop.js.map +1 -1
  77. package/node_modules/@buddi/runtime/dist/ollama-signing.d.ts +52 -0
  78. package/node_modules/@buddi/runtime/dist/ollama-signing.d.ts.map +1 -0
  79. package/node_modules/@buddi/runtime/dist/ollama-signing.js +154 -0
  80. package/node_modules/@buddi/runtime/dist/ollama-signing.js.map +1 -0
  81. package/node_modules/@buddi/runtime/dist/openai.d.ts.map +1 -1
  82. package/node_modules/@buddi/runtime/dist/openai.js +21 -7
  83. package/node_modules/@buddi/runtime/dist/openai.js.map +1 -1
  84. package/node_modules/@buddi/runtime/dist/provider-models.d.ts +2 -0
  85. package/node_modules/@buddi/runtime/dist/provider-models.d.ts.map +1 -1
  86. package/node_modules/@buddi/runtime/dist/provider-models.js +8 -3
  87. package/node_modules/@buddi/runtime/dist/provider-models.js.map +1 -1
  88. package/node_modules/@buddi/tool-artifacts/dist/.tsbuildinfo +1 -1
  89. package/node_modules/@buddi/tool-browser/dist/.tsbuildinfo +1 -1
  90. package/node_modules/@buddi/tool-email/dist/.tsbuildinfo +1 -1
  91. package/node_modules/@buddi/tool-host/dist/.tsbuildinfo +1 -1
  92. package/node_modules/@buddi/tool-memory/dist/.tsbuildinfo +1 -1
  93. package/node_modules/@buddi/tool-web/dist/.tsbuildinfo +1 -1
  94. package/package.json +2 -2
  95. package/packages/cli/dist/.tsbuildinfo +1 -1
  96. package/packages/cli/dist/commands.js +1 -1
  97. package/packages/cli/dist/commands.js.map +1 -1
  98. package/packages/cli/dist/main.d.ts.map +1 -1
  99. package/packages/cli/dist/main.js +12 -2
  100. package/packages/cli/dist/main.js.map +1 -1
  101. package/packages/cli/dist/status.d.ts +10 -0
  102. package/packages/cli/dist/status.d.ts.map +1 -1
  103. package/packages/cli/dist/status.js +4 -0
  104. package/packages/cli/dist/status.js.map +1 -1
  105. package/packages/core/dist/.tsbuildinfo +1 -1
  106. package/packages/core/dist/agents/catalog.d.ts.map +1 -1
  107. package/packages/core/dist/agents/catalog.js +7 -1
  108. package/packages/core/dist/agents/catalog.js.map +1 -1
  109. package/packages/core/dist/provider-accounts.d.ts +7 -1
  110. package/packages/core/dist/provider-accounts.d.ts.map +1 -1
  111. package/packages/core/dist/provider-accounts.js +14 -1
  112. package/packages/core/dist/provider-accounts.js.map +1 -1
  113. package/packages/core/dist/provider.d.ts +6 -0
  114. package/packages/core/dist/provider.d.ts.map +1 -1
  115. package/packages/core/dist/provider.js.map +1 -1
  116. package/packages/core/migrations/046_ollama_device_key.sql +7 -0
  117. package/packages/core/migrations/047_reported_context_windows.sql +5 -0
  118. package/packages/gateway/dist/.tsbuildinfo +1 -1
  119. package/packages/gateway/dist/codex-accounts.d.ts +24 -11
  120. package/packages/gateway/dist/codex-accounts.d.ts.map +1 -1
  121. package/packages/gateway/dist/codex-accounts.js +151 -215
  122. package/packages/gateway/dist/codex-accounts.js.map +1 -1
  123. package/packages/gateway/dist/index.d.ts +1 -0
  124. package/packages/gateway/dist/index.d.ts.map +1 -1
  125. package/packages/gateway/dist/index.js +1 -0
  126. package/packages/gateway/dist/index.js.map +1 -1
  127. package/packages/gateway/dist/ollama-accounts.d.ts +87 -0
  128. package/packages/gateway/dist/ollama-accounts.d.ts.map +1 -0
  129. package/packages/gateway/dist/ollama-accounts.js +179 -0
  130. package/packages/gateway/dist/ollama-accounts.js.map +1 -0
  131. package/packages/gateway/dist/provider-accounts.d.ts +47 -1
  132. package/packages/gateway/dist/provider-accounts.d.ts.map +1 -1
  133. package/packages/gateway/dist/provider-accounts.js +182 -25
  134. package/packages/gateway/dist/provider-accounts.js.map +1 -1
  135. package/packages/gateway/dist/surfaces/context-budget.d.ts.map +1 -1
  136. package/packages/gateway/dist/surfaces/context-budget.js +10 -3
  137. package/packages/gateway/dist/surfaces/context-budget.js.map +1 -1
  138. package/packages/gateway/dist/web/server.d.ts.map +1 -1
  139. package/packages/gateway/dist/web/server.js +16 -13
  140. package/packages/gateway/dist/web/server.js.map +1 -1
  141. package/packages/install/dist/.tsbuildinfo +1 -1
  142. package/packages/runtime/dist/.tsbuildinfo +1 -1
  143. package/packages/runtime/dist/codex-direct.d.ts +55 -0
  144. package/packages/runtime/dist/codex-direct.d.ts.map +1 -0
  145. package/packages/runtime/dist/codex-direct.js +334 -0
  146. package/packages/runtime/dist/codex-direct.js.map +1 -0
  147. package/packages/runtime/dist/codex-oauth.d.ts +66 -0
  148. package/packages/runtime/dist/codex-oauth.d.ts.map +1 -0
  149. package/packages/runtime/dist/codex-oauth.js +210 -0
  150. package/packages/runtime/dist/codex-oauth.js.map +1 -0
  151. package/packages/runtime/dist/codex-profile.d.ts +19 -0
  152. package/packages/runtime/dist/codex-profile.d.ts.map +1 -0
  153. package/packages/runtime/dist/codex-profile.js +99 -0
  154. package/packages/runtime/dist/codex-profile.js.map +1 -0
  155. package/packages/runtime/dist/context-window.d.ts.map +1 -1
  156. package/packages/runtime/dist/context-window.js +4 -0
  157. package/packages/runtime/dist/context-window.js.map +1 -1
  158. package/packages/runtime/dist/delegate.d.ts +24 -0
  159. package/packages/runtime/dist/delegate.d.ts.map +1 -1
  160. package/packages/runtime/dist/delegate.js +87 -11
  161. package/packages/runtime/dist/delegate.js.map +1 -1
  162. package/packages/runtime/dist/index.d.ts +4 -4
  163. package/packages/runtime/dist/index.d.ts.map +1 -1
  164. package/packages/runtime/dist/index.js +5 -5
  165. package/packages/runtime/dist/index.js.map +1 -1
  166. package/packages/runtime/dist/loop.d.ts +7 -0
  167. package/packages/runtime/dist/loop.d.ts.map +1 -1
  168. package/packages/runtime/dist/loop.js +48 -8
  169. package/packages/runtime/dist/loop.js.map +1 -1
  170. package/packages/runtime/dist/ollama-signing.d.ts +52 -0
  171. package/packages/runtime/dist/ollama-signing.d.ts.map +1 -0
  172. package/packages/runtime/dist/ollama-signing.js +154 -0
  173. package/packages/runtime/dist/ollama-signing.js.map +1 -0
  174. package/packages/runtime/dist/openai.d.ts.map +1 -1
  175. package/packages/runtime/dist/openai.js +21 -7
  176. package/packages/runtime/dist/openai.js.map +1 -1
  177. package/packages/runtime/dist/provider-models.d.ts +2 -0
  178. package/packages/runtime/dist/provider-models.d.ts.map +1 -1
  179. package/packages/runtime/dist/provider-models.js +8 -3
  180. package/packages/runtime/dist/provider-models.js.map +1 -1
  181. package/packages/tools/artifacts/dist/.tsbuildinfo +1 -1
  182. package/packages/tools/browser/dist/.tsbuildinfo +1 -1
  183. package/packages/tools/email/dist/.tsbuildinfo +1 -1
  184. package/packages/tools/host/dist/.tsbuildinfo +1 -1
  185. package/packages/tools/memory/dist/.tsbuildinfo +1 -1
  186. package/packages/tools/web/dist/.tsbuildinfo +1 -1
  187. package/packages/web/dist/assets/index-BRc5auXm.js +123 -0
  188. package/packages/web/dist/assets/{index-B727JQsO.css → index-DwUpotTR.css} +1 -1
  189. package/packages/web/dist/index.html +2 -2
  190. package/node_modules/@buddi/runtime/dist/codex-app-server.d.ts +0 -20
  191. package/node_modules/@buddi/runtime/dist/codex-app-server.d.ts.map +0 -1
  192. package/node_modules/@buddi/runtime/dist/codex-app-server.js +0 -172
  193. package/node_modules/@buddi/runtime/dist/codex-app-server.js.map +0 -1
  194. package/node_modules/@buddi/runtime/dist/codex-policy.d.ts +0 -6
  195. package/node_modules/@buddi/runtime/dist/codex-policy.d.ts.map +0 -1
  196. package/node_modules/@buddi/runtime/dist/codex-policy.js +0 -79
  197. package/node_modules/@buddi/runtime/dist/codex-policy.js.map +0 -1
  198. package/node_modules/@buddi/runtime/dist/codex-rpc.d.ts +0 -34
  199. package/node_modules/@buddi/runtime/dist/codex-rpc.d.ts.map +0 -1
  200. package/node_modules/@buddi/runtime/dist/codex-rpc.js +0 -152
  201. package/node_modules/@buddi/runtime/dist/codex-rpc.js.map +0 -1
  202. package/node_modules/@buddi/runtime/dist/codex-session.d.ts +0 -30
  203. package/node_modules/@buddi/runtime/dist/codex-session.d.ts.map +0 -1
  204. package/node_modules/@buddi/runtime/dist/codex-session.js +0 -169
  205. package/node_modules/@buddi/runtime/dist/codex-session.js.map +0 -1
  206. package/packages/runtime/dist/codex-app-server.d.ts +0 -20
  207. package/packages/runtime/dist/codex-app-server.d.ts.map +0 -1
  208. package/packages/runtime/dist/codex-app-server.js +0 -172
  209. package/packages/runtime/dist/codex-app-server.js.map +0 -1
  210. package/packages/runtime/dist/codex-policy.d.ts +0 -6
  211. package/packages/runtime/dist/codex-policy.d.ts.map +0 -1
  212. package/packages/runtime/dist/codex-policy.js +0 -79
  213. package/packages/runtime/dist/codex-policy.js.map +0 -1
  214. package/packages/runtime/dist/codex-rpc.d.ts +0 -34
  215. package/packages/runtime/dist/codex-rpc.d.ts.map +0 -1
  216. package/packages/runtime/dist/codex-rpc.js +0 -152
  217. package/packages/runtime/dist/codex-rpc.js.map +0 -1
  218. package/packages/runtime/dist/codex-session.d.ts +0 -30
  219. package/packages/runtime/dist/codex-session.d.ts.map +0 -1
  220. package/packages/runtime/dist/codex-session.js +0 -169
  221. package/packages/runtime/dist/codex-session.js.map +0 -1
  222. package/packages/web/dist/assets/index-OA0xgibo.js +0 -123
@@ -1,20 +1,28 @@
1
1
  import { randomUUID } from 'node:crypto';
2
2
  import { setTimeout as delay } from 'node:timers/promises';
3
- import { accountBaseUrl, accountModelProblem, accountProtocol, createVault, providerFromEnv, putOwnerSecret, registerSecretDestination, resolveProviderAccount, useOwnerSecret, vaultState, } from '@buddi/core';
4
- import { contextWindowTokens, createProvider, providerCapabilities, listProviderModels, readAnthropicTokens } from '@buddi/runtime';
3
+ import { OLLAMA_CLOUD_ACCOUNT_URL, accountBaseUrl, accountModelProblem, accountProtocol, createVault, providerFromEnv, putOwnerSecret, registerSecretDestination, resolveProviderAccount, useOwnerSecret, vaultState, } from '@buddi/core';
4
+ import { contextWindowTokens, createProvider, providerCapabilities, listProviderModels, readAnthropicTokens, readCodexTokens } from '@buddi/runtime';
5
5
  import { z } from 'zod';
6
6
  import { providerDiagnostic } from './provider-diagnostics.js';
7
7
  import { CodexAccounts } from './codex-accounts.js';
8
8
  import { AnthropicAccounts } from './anthropic-accounts.js';
9
+ import { OllamaAccounts, deviceView, readOllamaDevice } from './ollama-accounts.js';
9
10
  import { SIGNIN_HIDDEN, subscriptionSignIns } from './subscription-signins.js';
10
11
  import { ACCOUNTS_PROVIDER_KIND, accountsProviderDestination, deleteAccountSecret, ownerSecretVault } from './owner-secrets.js';
12
+ /** At most this many models' windows are kept per account. */
13
+ const REPORTED_WINDOWS_MAX = 1000;
14
+ /** The provider's reported window for a model, when it said a usable one. */
15
+ function reportedWindow(map, model) {
16
+ const tokens = map && Object.hasOwn(map, model) ? map[model] : undefined;
17
+ return typeof tokens === 'number' && Number.isInteger(tokens) && tokens >= 8_000 && tokens <= 2_000_000 ? tokens : undefined;
18
+ }
11
19
  const columns = `id, label, kind, auth, base_url as "baseUrl", default_model as "defaultModel",
12
- context_window_tokens as "contextWindowTokens",
20
+ context_window_tokens as "contextWindowTokens", reported_context_windows as "reportedContextWindows",
13
21
  enabled, deleting, revision, secret_ref as "secretRef", legacy_env as "legacyEnv"`;
14
22
  const saveSchema = z.object({
15
23
  id: z.string().min(1).max(100).optional(), revision: z.number().int().positive().optional(),
16
24
  label: z.string().trim().min(1).max(100), kind: z.enum(['anthropic', 'openai', 'openai-compatible', 'codex']),
17
- auth: z.enum(['api-key', 'none', 'legacy-subscription-token', 'chatgpt', 'anthropic-oauth']),
25
+ auth: z.enum(['api-key', 'none', 'legacy-subscription-token', 'chatgpt', 'anthropic-oauth', 'device-key']),
18
26
  baseUrl: z.string().trim().max(2048).optional(), defaultModel: z.string().trim().min(1).max(150),
19
27
  enabled: z.boolean(), secret: z.string().trim().min(1).max(16384).optional(),
20
28
  /**
@@ -63,6 +71,8 @@ export class ProviderAccounts {
63
71
  vault;
64
72
  codex;
65
73
  anthropic;
74
+ ollama;
75
+ #devices = new Map();
66
76
  #tokenInfo = new Map();
67
77
  #rows = new Map();
68
78
  #bindings = new Map();
@@ -97,6 +107,8 @@ export class ProviderAccounts {
97
107
  this.codex = new CodexAccounts({ vault: this.accountVault });
98
108
  if (this.accountVault)
99
109
  this.anthropic = new AnthropicAccounts(this.accountVault);
110
+ if (this.accountVault)
111
+ this.ollama = new OllamaAccounts(this.accountVault, deps.ollama?.protocol, deps.ollama?.now, deps.ollama?.deviceName);
100
112
  }
101
113
  get anthropicOAuthEnabled() { return subscriptionSignIns(this.deps.env).claude && !!this.anthropic; }
102
114
  async initialize() {
@@ -161,14 +173,26 @@ export class ProviderAccounts {
161
173
  const bindings = await this.deps.pool.query('select agent_id as "agentId", account_id as "accountId", model from core.agent_provider_accounts');
162
174
  const configured = new Map();
163
175
  this.#tokenInfo.clear();
176
+ this.#devices.clear();
164
177
  for (const row of result.rows) {
165
178
  try {
166
179
  const raw = await this.#secret(row);
167
180
  configured.set(row.id, row.auth === 'none' || !!raw);
181
+ if (row.auth === 'device-key') {
182
+ // Configured means connected: a key nobody pressed Connect for signs nothing useful.
183
+ const device = raw ? readOllamaDevice(raw) : null;
184
+ configured.set(row.id, !!device?.connectedAt);
185
+ if (device)
186
+ this.#devices.set(row.id, deviceView(device));
187
+ }
168
188
  if (row.auth === 'anthropic-oauth' && raw) {
169
189
  const tokens = readAnthropicTokens(raw);
170
190
  this.#tokenInfo.set(row.id, { tokenExpiresAt: new Date(tokens.expiresAt).toISOString(), reconnectRequired: tokens.state !== 'ready' });
171
191
  }
192
+ if (row.kind === 'codex' && raw) {
193
+ const tokens = readCodexTokens(raw);
194
+ this.#tokenInfo.set(row.id, { tokenExpiresAt: new Date(tokens.expiresAt).toISOString(), reconnectRequired: tokens.state !== 'ready' });
195
+ }
172
196
  }
173
197
  catch {
174
198
  configured.set(row.id, false);
@@ -191,8 +215,9 @@ export class ProviderAccounts {
191
215
  : row.kind === 'codex' && !this.codex ? SIGNIN_HIDDEN.codex
192
216
  : row.auth === 'anthropic-oauth' && !this.anthropicOAuthEnabled ? SIGNIN_HIDDEN.claude
193
217
  : !row.enabled ? `Provider account “${row.label}” is disabled.`
194
- : !this.#configured.get(row.id) ? `Provider account “${row.label}” needs a credential or vault access.`
195
- : accountModelProblem(row.kind, binding.model);
218
+ : row.auth === 'device-key' && !this.#configured.get(row.id) ? `Connect Ollama for “${row.label}” in Settings → Model accounts.`
219
+ : !this.#configured.get(row.id) ? `Provider account “${row.label}” needs a credential or vault access.`
220
+ : accountModelProblem(row.kind, binding.model);
196
221
  return { provider, availability: issue ? { ok: false, problem: { code: 'missing-credential', message: issue } } : { ok: true } };
197
222
  };
198
223
  view(ownerSession) {
@@ -200,19 +225,24 @@ export class ProviderAccounts {
200
225
  vault: { kind: this.vault?.kind ?? 'none', ...vaultState({ env: this.deps.env }) },
201
226
  codexEnabled: !!this.codex,
202
227
  anthropicOAuthEnabled: this.anthropicOAuthEnabled,
203
- accounts: [...this.#rows.values()].map(({ secretRef: _secret, legacyEnv: _env, deleting, ...row }) => ({
204
- ...row, configured: this.#configured.get(row.id) ?? false,
205
- // What the runtime would assume for this account's default model, so
206
- // the field can show it as a placeholder instead of a blank the owner
207
- // has to guess at.
208
- detectedContextWindowTokens: contextWindowTokens(row.defaultModel, row.kind === 'codex' ? 'openai' : row.kind),
209
- removalPending: deleting,
210
- refreshable: row.kind === 'codex' || row.auth === 'anthropic-oauth', tokenExpiresAt: null, subscriptionRenewsAt: null,
211
- ...(row.auth === 'anthropic-oauth' ? { ...this.#tokenInfo.get(row.id), login: this.anthropic?.view(row.id, row.revision, ownerSession) ?? null } : {}),
212
- ...(row.kind === 'codex' ? { login: this.codex?.view(row.id) ?? null } : {}),
213
- assignedAgents: [...this.#bindings.values()].filter(b => b.accountId === row.id).map(b => b.agentId),
214
- test: this.#tests.get(row.id) ?? null,
215
- })),
228
+ accounts: [...this.#rows.values()].map(({ secretRef: _secret, legacyEnv: _env, deleting, reportedContextWindows, ...row }) => {
229
+ // The provider's own number for the default model when its model list
230
+ // said one, else what the runtime would assume from the name, so the
231
+ // field can show it as a placeholder instead of a blank.
232
+ const reported = reportedWindow(reportedContextWindows, row.defaultModel);
233
+ return {
234
+ ...row, configured: this.#configured.get(row.id) ?? false,
235
+ detectedContextWindowTokens: reported ?? contextWindowTokens(row.defaultModel, row.kind === 'codex' ? 'openai' : row.kind),
236
+ detectedContextWindowSource: (reported ? 'provider' : 'table'),
237
+ removalPending: deleting,
238
+ refreshable: row.kind === 'codex' || row.auth === 'anthropic-oauth', tokenExpiresAt: null, subscriptionRenewsAt: null,
239
+ ...(row.auth === 'anthropic-oauth' ? { ...this.#tokenInfo.get(row.id), login: this.anthropic?.view(row.id, row.revision, ownerSession) ?? null } : {}),
240
+ ...(row.kind === 'codex' ? { ...this.#tokenInfo.get(row.id), login: this.codex?.view(row.id) ?? null } : {}),
241
+ ...(row.auth === 'device-key' ? { device: this.#devices.get(row.id) ?? null, login: this.ollama?.view(row.id, row.revision, ownerSession) ?? null } : {}),
242
+ assignedAgents: [...this.#bindings.values()].filter(b => b.accountId === row.id).map(b => b.agentId),
243
+ test: this.#tests.get(row.id) ?? null,
244
+ };
245
+ }),
216
246
  bindings: [...this.#bindings.values()],
217
247
  };
218
248
  }
@@ -262,6 +292,7 @@ export class ProviderAccounts {
262
292
  if (current.revision !== row.revision || !current.enabled || current.deleting)
263
293
  throw new ProviderAccountError(409, 'Account changed. Refresh models again.');
264
294
  this.#modelLists.set(id, { revision: row.revision, until: Date.now() + 60_000, value });
295
+ await this.#rememberWindows(current, value).catch(() => { });
265
296
  return value;
266
297
  }
267
298
  catch (error) {
@@ -277,6 +308,32 @@ export class ProviderAccounts {
277
308
  this.#modelRequests.set(key, pending);
278
309
  return pending;
279
310
  }
311
+ /**
312
+ * Keep the windows the provider's own model list reported, merged over what
313
+ * earlier fetches said, so the account page and the transcript budget can
314
+ * use the provider's number instead of a guess from the model name.
315
+ */
316
+ async #rememberWindows(row, list) {
317
+ const found = list.models.filter(m => typeof m.contextWindow === 'number');
318
+ if (!found.length)
319
+ return;
320
+ const merged = new Map();
321
+ for (const [model, tokens] of Object.entries(row.reportedContextWindows ?? {})) {
322
+ if (typeof tokens === 'number' && Number.isFinite(tokens))
323
+ merged.set(model, tokens);
324
+ }
325
+ // Fresh entries go last, so the cap drops the oldest.
326
+ for (const m of found) {
327
+ merged.delete(m.id);
328
+ merged.set(m.id, m.contextWindow);
329
+ }
330
+ const entries = [...merged.entries()];
331
+ const capped = Object.fromEntries(entries.slice(Math.max(0, entries.length - REPORTED_WINDOWS_MAX)));
332
+ const { rows } = await this.deps.pool.query(`update core.provider_accounts set reported_context_windows=$2::jsonb where id=$1 returning reported_context_windows as "reportedContextWindows"`, [row.id, JSON.stringify(capped)]);
333
+ const live = this.#rows.get(row.id);
334
+ if (rows[0] && live)
335
+ this.#rows.set(row.id, { ...live, reportedContextWindows: rows[0].reportedContextWindows });
336
+ }
280
337
  /**
281
338
  * List the models a credential can reach, before anything is saved.
282
339
  *
@@ -318,6 +375,14 @@ export class ProviderAccounts {
318
375
  throw new ProviderAccountError(400, 'ChatGPT accounts use device sign-in, not a pasted token.');
319
376
  if (input.auth === 'anthropic-oauth' && (input.kind !== 'anthropic' || input.secret))
320
377
  throw new ProviderAccountError(400, 'Claude OAuth requires an Anthropic account and browser sign-in, not a pasted token.');
378
+ if (input.auth === 'device-key') {
379
+ if (input.kind !== 'openai-compatible' || input.secret)
380
+ throw new ProviderAccountError(400, 'An Ollama device key is made by buddi and connected on ollama.com, not pasted.');
381
+ if (input.baseUrl && input.baseUrl.replace(/\/+$/, '') !== OLLAMA_CLOUD_ACCOUNT_URL)
382
+ throw new ProviderAccountError(400, 'A device key only connects to Ollama Cloud. Use a key for another address.');
383
+ if (!this.ollama)
384
+ throw new ProviderAccountError(409, 'Configure a credential vault on the host first.');
385
+ }
321
386
  const old = input.id ? await this.#row(input.id) : undefined;
322
387
  if (input.auth === 'anthropic-oauth' && !old && !this.anthropicOAuthEnabled)
323
388
  throw new ProviderAccountError(400, SIGNIN_HIDDEN.claude);
@@ -335,7 +400,7 @@ export class ProviderAccounts {
335
400
  throw new ProviderAccountError(400, 'Credential cannot contain control characters.');
336
401
  let baseUrl;
337
402
  try {
338
- baseUrl = accountBaseUrl(input.kind, input.baseUrl);
403
+ baseUrl = accountBaseUrl(input.kind, input.auth === 'device-key' ? OLLAMA_CLOUD_ACCOUNT_URL : input.baseUrl);
339
404
  }
340
405
  catch (e) {
341
406
  throw new ProviderAccountError(400, e.message);
@@ -355,7 +420,8 @@ export class ProviderAccounts {
355
420
  try {
356
421
  if (old?.auth === 'anthropic-oauth')
357
422
  this.anthropic?.forget(id);
358
- let secretRef = old?.secretRef ?? (input.auth === 'anthropic-oauth' ? `ANTHROPIC_ACCOUNT_${randomUUID().replaceAll('-', '_')}` : input.kind === 'codex' ? `CODEX_ACCOUNT_${randomUUID().replaceAll('-', '_')}` : null);
423
+ let secretRef = old?.secretRef ?? (input.auth === 'anthropic-oauth' ? `ANTHROPIC_ACCOUNT_${randomUUID().replaceAll('-', '_')}` : input.kind === 'codex' ? `CODEX_ACCOUNT_${randomUUID().replaceAll('-', '_')}`
424
+ : input.auth === 'device-key' ? `OLLAMA_DEVICE_${randomUUID().replaceAll('-', '_')}` : null);
359
425
  if (input.secret) {
360
426
  if (!this.vault)
361
427
  throw new ProviderAccountError(409, 'Configure a credential vault on the host first.');
@@ -449,6 +515,7 @@ export class ProviderAccounts {
449
515
  const oauthLease = row.auth === 'anthropic-oauth' ? await this.#anthropicAccess(row, false) : undefined;
450
516
  try {
451
517
  this.anthropic?.forget(id);
518
+ this.ollama?.forget(id);
452
519
  // A tombstone prevents reactivation even if vault deletion is denied.
453
520
  const disabled = await this.deps.pool.query(`update core.provider_accounts set enabled=false,deleting=true,revision=revision+1
454
521
  where id=$1 and revision=$2 returning id`, [id, revision]);
@@ -482,7 +549,9 @@ export class ProviderAccounts {
482
549
  if (!snapshot)
483
550
  throw new ProviderAccountError(409, 'Provider account is no longer available.');
484
551
  return {
485
- capabilities: { ...providerCapabilities(accountProtocol(snapshot.kind)), ...(snapshot.kind === 'codex' ? { usageReporting: false, parallelToolCalls: false } : {}) },
552
+ // A ChatGPT account speaks the Responses API, whose row matches OpenAI's:
553
+ // parallel tool calls, usage reported, no native search, no documents.
554
+ capabilities: providerCapabilities(accountProtocol(snapshot.kind)),
486
555
  complete: async (request) => {
487
556
  const row = await this.#row(id);
488
557
  if (row.revision !== snapshot.revision)
@@ -510,7 +579,7 @@ export class ProviderAccounts {
510
579
  try {
511
580
  const row = await this.#row(id);
512
581
  if (row.kind === 'codex')
513
- throw new ProviderAccountError(400, 'Codex connection testing has no verified output-token cap. Connect and send a test chat instead.');
582
+ throw new ProviderAccountError(400, 'A ChatGPT subscription has no output-token cap for a connection test. Connect and send a test chat instead.');
514
583
  let diagnostic = { state: 'connected', message: 'Connection succeeded.', httpStatus: null, retryAt: null };
515
584
  try {
516
585
  const resolved = resolveProviderAccount(row, row.defaultModel, await this.#usableSecret(row));
@@ -574,6 +643,18 @@ export class ProviderAccounts {
574
643
  await this.#codexReleased.get(id);
575
644
  }
576
645
  async #usableSecret(row, signal) {
646
+ if (row.auth === 'device-key') {
647
+ if (!this.ollama || !row.secretRef)
648
+ throw new ProviderAccountError(409, 'Configure a credential vault on the host first.');
649
+ try {
650
+ return await this.ollama.credential(row.secretRef);
651
+ }
652
+ catch (error) {
653
+ // Never propagate vault errors, which may carry key material.
654
+ throw new ProviderAccountError(409, error instanceof Error && /^(Connect this Ollama|Invalid Ollama device key|The credential vault)/.test(error.message)
655
+ ? error.message : 'Could not read the Ollama device key. Check the vault and connect again.');
656
+ }
657
+ }
577
658
  if (row.auth !== 'anthropic-oauth') {
578
659
  if (row.auth === 'none' || row.secretRef === null)
579
660
  return this.#secret(row);
@@ -705,6 +786,75 @@ export class ProviderAccounts {
705
786
  }
706
787
  });
707
788
  }
789
+ /**
790
+ * Ollama Cloud with a device key: `connect` makes a key pair in the vault and
791
+ * answers with the page to press Connect on; `poll` asks ollama.com once
792
+ * whether that happened; `disconnect` removes the key from the vault. The
793
+ * device stays listed on ollama.com until the owner removes it there.
794
+ */
795
+ ollamaAction(id, action, body, owner) {
796
+ return this.#serial(async () => {
797
+ const row = await this.#row(id);
798
+ if (!owner || row.auth !== 'device-key' || !row.secretRef)
799
+ throw new ProviderAccountError(409, 'This is not an Ollama Cloud account connected with a device key.');
800
+ if (!this.ollama)
801
+ throw new ProviderAccountError(409, 'Configure a credential vault on the host first.');
802
+ if (row.deleting)
803
+ throw new ProviderAccountError(409, 'Removal is pending. Unlock the vault and finish removing this account.');
804
+ if (action === 'poll') {
805
+ if (typeof body.attemptId !== 'string')
806
+ throw new ProviderAccountError(400, 'Connect first.');
807
+ let answer;
808
+ try {
809
+ answer = await this.ollama.poll(id, row.revision, owner, body.attemptId, row.secretRef);
810
+ }
811
+ catch (error) {
812
+ throw new ProviderAccountError(409, error.message);
813
+ }
814
+ if (answer.state === 'connected') {
815
+ this.#modelLists.delete(id);
816
+ this.#tests.delete(id);
817
+ await this.load();
818
+ }
819
+ return answer;
820
+ }
821
+ if (row.revision !== body.revision)
822
+ throw new ProviderAccountError(409, 'Account changed. Refresh before continuing.');
823
+ if (action === 'connect' && !row.enabled)
824
+ throw new ProviderAccountError(409, 'Enable this account before connecting it.');
825
+ this.ollama.forget(id);
826
+ let unpaired = false;
827
+ if (action === 'disconnect') {
828
+ unpaired = await this.ollama.unpair(row.secretRef);
829
+ try {
830
+ await deleteAccountSecret(this.deps.pool, this.vault, row.secretRef);
831
+ }
832
+ catch {
833
+ throw new ProviderAccountError(409, 'Could not remove the Ollama device key. Unlock the vault and retry.');
834
+ }
835
+ }
836
+ // A new key, or none: runs that started on the old one stop at their next call.
837
+ await this.deps.pool.query('update core.provider_accounts set revision=revision+1,updated_at=now() where id=$1', [id]);
838
+ this.#modelLists.delete(id);
839
+ this.#tests.delete(id);
840
+ if (action === 'disconnect') {
841
+ await this.load();
842
+ return { removed: true, unpaired, note: unpaired
843
+ ? 'Disconnected. The key is gone from buddi, and ollama.com no longer lists this device.'
844
+ : 'Disconnected. The key is gone from buddi. ollama.com did not confirm it forgot this device; if it is still listed in your ollama.com settings, remove it there.' };
845
+ }
846
+ let started;
847
+ try {
848
+ started = await this.ollama.start(id, row.revision + 1, owner, row.secretRef);
849
+ }
850
+ catch (error) {
851
+ await this.load();
852
+ throw new ProviderAccountError(409, error.message);
853
+ }
854
+ await this.load();
855
+ return started;
856
+ });
857
+ }
708
858
  async #codexCompletionAccess(row, signal) {
709
859
  const deadline = Date.now() + 120_000;
710
860
  while (true) {
@@ -791,12 +941,19 @@ export class ProviderAccounts {
791
941
  const lease = await this.#codexAccess(row);
792
942
  try {
793
943
  const started = await this.codex.login(lease.access);
794
- void started.finished.then(() => lease.release()).catch(() => { });
944
+ void started.finished.then(() => lease.release()).then(() => {
945
+ if (this.codex?.view(id)?.state !== 'connected')
946
+ return;
947
+ // Fill the provider's windows now, not when the owner next opens the picker.
948
+ this.#modelLists.delete(id);
949
+ void this.models(id, true).catch(() => { });
950
+ }).catch(() => { });
795
951
  return started.view;
796
952
  }
797
953
  catch {
798
954
  await lease.release();
799
- throw new ProviderAccountError(409, 'Could not start Codex sign-in. Check CLI version 0.155.0 and host vault access.');
955
+ const view = this.codex.view(id);
956
+ throw new ProviderAccountError(409, view?.state === 'failed' && view.message ? view.message : 'Could not start ChatGPT sign-in. Check the host vault and try again.');
800
957
  }
801
958
  });
802
959
  }
@@ -1 +1 @@
1
- {"version":3,"file":"provider-accounts.js","sourceRoot":"","sources":["../src/provider-accounts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"provider-accounts.js","sourceRoot":"","sources":["../src/provider-accounts.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"context-budget.d.ts","sourceRoot":"","sources":["../../src/surfaces/context-budget.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAW7C,OAAO,EAAwB,KAAK,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAO3F,MAAM,WAAW,gBAAgB;IAC/B,4EAA4E;IAC5E,SAAS,EAAE,MAAM,CAAC;IAClB;;;;OAIG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;;;OAMG;IACH,aAAa,EAAE,MAAM,CAAC;IACtB,2EAA2E;IAC3E,KAAK,EAAE,MAAM,CAAC;IACd,2EAA2E;IAC3E,YAAY,EAAE,MAAM,CAAC;IACrB,mDAAmD;IACnD,MAAM,EAAE,SAAS,GAAG,sBAAsB,GAAG,UAAU,CAAC;CACzD;AAsCD;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CA2BzG;AAeD,sEAAsE;AACtE,wBAAgB,oBAAoB,IAAI,IAAI,CAE3C;AAED;;;;;;;;GAQG;AACH,wBAAsB,yBAAyB,CAC7C,IAAI,EAAE,SAAS,EACf,cAAc,EAAE,MAAM,EACtB,MAAM,CAAC,EAAE,kBAAkB,GAC1B,OAAO,CAAC,MAAM,CAAC,CAkBjB"}
1
+ {"version":3,"file":"context-budget.d.ts","sourceRoot":"","sources":["../../src/surfaces/context-budget.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAW7C,OAAO,EAAwB,KAAK,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAO3F,MAAM,WAAW,gBAAgB;IAC/B,4EAA4E;IAC5E,SAAS,EAAE,MAAM,CAAC;IAClB;;;;OAIG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;;;OAMG;IACH,aAAa,EAAE,MAAM,CAAC;IACtB,2EAA2E;IAC3E,KAAK,EAAE,MAAM,CAAC;IACd,2EAA2E;IAC3E,YAAY,EAAE,MAAM,CAAC;IACrB,mDAAmD;IACnD,MAAM,EAAE,SAAS,GAAG,sBAAsB,GAAG,UAAU,CAAC;CACzD;AA2CD;;GAEG;AACH,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CA6BzG;AAeD,sEAAsE;AACtE,wBAAgB,oBAAoB,IAAI,IAAI,CAE3C;AAED;;;;;;;;GAQG;AACH,wBAAsB,yBAAyB,CAC7C,IAAI,EAAE,SAAS,EACf,cAAc,EAAE,MAAM,EACtB,MAAM,CAAC,EAAE,kBAAkB,GAC1B,OAAO,CAAC,MAAM,CAAC,CAkBjB"}
@@ -26,7 +26,12 @@ function fallbackBudget() {
26
26
  function budgetFor(row, source) {
27
27
  const model = typeof row.model === 'string' ? row.model : '';
28
28
  const raw = row.override;
29
- const override = raw === null || raw === undefined ? null : Number(raw);
29
+ const owner = raw === null || raw === undefined ? null : Number(raw);
30
+ // The owner's value wins; then what the provider's own model list reported.
31
+ const map = row.reported;
32
+ const reportedRaw = map && typeof map === 'object' && Object.hasOwn(map, model) ? map[model] : undefined;
33
+ const reported = typeof reportedRaw === 'number' && Number.isFinite(reportedRaw) ? reportedRaw : null;
34
+ const override = owner ?? reported;
30
35
  const windowTokens = contextWindowTokens(model, providerOf(row.kind), override);
31
36
  const maxTokens = transcriptTokenBudget(windowTokens);
32
37
  return {
@@ -42,7 +47,8 @@ function budgetFor(row, source) {
42
47
  * The size limit for one conversation, from the model its agent will run on.
43
48
  */
44
49
  export async function transcriptBudget(pool, conversationId) {
45
- const { rows } = await pool.query(`select b.model as model, a.kind as kind, a.context_window_tokens as override
50
+ const { rows } = await pool.query(`select b.model as model, a.kind as kind, a.context_window_tokens as override,
51
+ a.reported_context_windows as reported
46
52
  from core.conversations c
47
53
  join core.agent_provider_accounts b on b.agent_id = c.agent_id
48
54
  left join core.provider_accounts a on a.id = b.account_id
@@ -53,7 +59,8 @@ export async function transcriptBudget(pool, conversationId) {
53
59
  // No binding: the run resolves this agent against the installation's default
54
60
  // account — the first enabled one, which is the order everything else reads
55
61
  // them in — so that is the window it will actually be given.
56
- const { rows: defaults } = await pool.query(`select default_model as model, kind, context_window_tokens as override
62
+ const { rows: defaults } = await pool.query(`select default_model as model, kind, context_window_tokens as override,
63
+ reported_context_windows as reported
57
64
  from core.provider_accounts
58
65
  where enabled and not deleting
59
66
  order by created_at, id
@@ -1 +1 @@
1
- {"version":3,"file":"context-budget.js","sourceRoot":"","sources":["../../src/surfaces/context-budget.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"context-budget.js","sourceRoot":"","sources":["../../src/surfaces/context-budget.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/web/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/web/server.ts"],"names":[],"mappings":"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"}