@elizaos/app-core 2.0.0-alpha.413 → 2.0.0-alpha.415

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 (63) hide show
  1. package/apps/app-lifeops/src/lifeops/service-mixin-whatsapp.js +1 -90
  2. package/package.json +5 -5
  3. package/packages/agent/src/actions/index.d.ts +0 -1
  4. package/packages/agent/src/actions/index.d.ts.map +1 -1
  5. package/packages/agent/src/actions/index.js +0 -1
  6. package/packages/agent/src/api/accounts-routes.d.ts +31 -0
  7. package/packages/agent/src/api/accounts-routes.d.ts.map +1 -0
  8. package/packages/agent/src/api/accounts-routes.js +745 -0
  9. package/packages/agent/src/api/index.d.ts +1 -0
  10. package/packages/agent/src/api/index.d.ts.map +1 -1
  11. package/packages/agent/src/api/index.js +1 -0
  12. package/packages/agent/src/api/model-provider-helpers.js +10 -10
  13. package/packages/agent/src/api/provider-switch-config.js +2 -2
  14. package/packages/agent/src/api/server.d.ts.map +1 -1
  15. package/packages/agent/src/api/server.js +14 -0
  16. package/packages/agent/src/api/subscription-routes.d.ts.map +1 -1
  17. package/packages/agent/src/api/subscription-routes.js +48 -1
  18. package/packages/agent/src/auth/credentials.d.ts.map +1 -1
  19. package/packages/agent/src/auth/credentials.js +14 -3
  20. package/packages/agent/src/auth/index.d.ts +2 -0
  21. package/packages/agent/src/auth/index.d.ts.map +1 -1
  22. package/packages/agent/src/auth/index.js +2 -0
  23. package/packages/agent/src/auth/oauth-flow.d.ts +106 -0
  24. package/packages/agent/src/auth/oauth-flow.d.ts.map +1 -0
  25. package/packages/agent/src/auth/oauth-flow.js +349 -0
  26. package/packages/agent/src/auth/vendor/pi-oauth/anthropic-login.d.ts +32 -0
  27. package/packages/agent/src/auth/vendor/pi-oauth/anthropic-login.d.ts.map +1 -1
  28. package/packages/agent/src/auth/vendor/pi-oauth/anthropic-login.js +63 -28
  29. package/packages/agent/src/config/schema.js +1 -1
  30. package/packages/agent/src/config/types.messages.d.ts +1 -1
  31. package/packages/agent/src/config/types.tools.d.ts +1 -1
  32. package/packages/agent/src/providers/page-scoped-context.js +1 -1
  33. package/packages/agent/src/runtime/eliza-plugin.d.ts.map +1 -1
  34. package/packages/agent/src/runtime/eliza-plugin.js +0 -3
  35. package/packages/agent/src/runtime/eliza.js +3 -3
  36. package/packages/agent/src/runtime/plugin-collector.js +3 -4
  37. package/packages/app-core/src/api/accounts-routes.d.ts +16 -0
  38. package/packages/app-core/src/api/accounts-routes.d.ts.map +1 -0
  39. package/packages/app-core/src/api/accounts-routes.js +15 -0
  40. package/packages/app-core/src/api/credential-resolver.d.ts +15 -0
  41. package/packages/app-core/src/api/credential-resolver.d.ts.map +1 -1
  42. package/packages/app-core/src/api/credential-resolver.js +43 -0
  43. package/packages/app-core/src/api/plugins-compat-routes.d.ts +1 -0
  44. package/packages/app-core/src/api/plugins-compat-routes.d.ts.map +1 -1
  45. package/packages/app-core/src/api/plugins-compat-routes.js +5 -3
  46. package/packages/app-core/src/components/conversations/conversation-utils.js +4 -4
  47. package/packages/app-core/src/components/pages/page-scoped-conversations.js +1 -1
  48. package/packages/app-core/src/components/settings/ProviderSwitcher.js +1 -1
  49. package/packages/app-core/src/services/account-pool.d.ts +91 -0
  50. package/packages/app-core/src/services/account-pool.d.ts.map +1 -0
  51. package/packages/app-core/src/services/account-pool.js +466 -0
  52. package/packages/app-core/src/services/account-usage.d.ts +73 -0
  53. package/packages/app-core/src/services/account-usage.d.ts.map +1 -0
  54. package/packages/app-core/src/services/account-usage.js +179 -0
  55. package/packages/app-core/src/services/auth-store.js +1 -1
  56. package/packages/app-core/src/state/useOnboardingState.js +1 -1
  57. package/packages/shared/src/contracts/lifeops.d.ts +5 -4
  58. package/packages/shared/src/contracts/lifeops.d.ts.map +1 -1
  59. package/packages/typescript/src/utils/context-catalog.d.ts.map +1 -1
  60. package/packages/typescript/src/utils/context-catalog.js +2 -3
  61. package/packages/agent/src/actions/app-control.d.ts +0 -23
  62. package/packages/agent/src/actions/app-control.d.ts.map +0 -1
  63. package/packages/agent/src/actions/app-control.js +0 -775
@@ -1,3 +1,4 @@
1
+ export * from "./accounts-routes.js";
1
2
  export * from "./agent-admin-routes.js";
2
3
  export * from "./agent-lifecycle-routes.js";
3
4
  export * from "./agent-model.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../agent/src/api/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,kBAAkB,CAAC;AACjC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,OAAO,EACL,KAAK,eAAe,EACpB,gBAAgB,GACjB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,KAAK,uBAAuB,EAC5B,uBAAuB,GACxB,MAAM,0BAA0B,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,eAAe,CAAC;AAC9B,cAAc,yBAAyB,CAAC;AACxC,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,OAAO,EACL,qBAAqB,EACrB,iBAAiB,EACjB,KAAK,sBAAsB,EAC3B,KAAK,wBAAwB,EAC7B,KAAK,eAAe,EACpB,KAAK,gBAAgB,GACtB,MAAM,oBAAoB,CAAC;AAC5B,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,sBAAsB,CAAC;AACrC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,6BAA6B,CAAC;AAC5C,OAAO,EACL,uBAAuB,EACvB,mBAAmB,EACnB,KAAK,wBAAwB,EAC7B,KAAK,0BAA0B,EAC/B,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,GACxB,MAAM,sBAAsB,CAAC;AAC9B,cAAc,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../agent/src/api/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,kBAAkB,CAAC;AACjC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,OAAO,EACL,KAAK,eAAe,EACpB,gBAAgB,GACjB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,KAAK,uBAAuB,EAC5B,uBAAuB,GACxB,MAAM,0BAA0B,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,eAAe,CAAC;AAC9B,cAAc,yBAAyB,CAAC;AACxC,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,OAAO,EACL,qBAAqB,EACrB,iBAAiB,EACjB,KAAK,sBAAsB,EAC3B,KAAK,wBAAwB,EAC7B,KAAK,eAAe,EACpB,KAAK,gBAAgB,GACtB,MAAM,oBAAoB,CAAC;AAC5B,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,sBAAsB,CAAC;AACrC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wBAAwB,CAAC;AACvC,cAAc,qBAAqB,CAAC;AACpC,cAAc,iBAAiB,CAAC;AAChC,cAAc,aAAa,CAAC;AAC5B,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,6BAA6B,CAAC;AAC5C,OAAO,EACL,uBAAuB,EACvB,mBAAmB,EACnB,KAAK,wBAAwB,EAC7B,KAAK,0BAA0B,EAC/B,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,GACxB,MAAM,sBAAsB,CAAC;AAC9B,cAAc,gBAAgB,CAAC"}
@@ -1,3 +1,4 @@
1
+ export * from "./accounts-routes.js";
1
2
  export * from "./agent-admin-routes.js";
2
3
  export * from "./agent-lifecycle-routes.js";
3
4
  export * from "./agent-model.js";
@@ -34,28 +34,28 @@ export function getModelOptions() {
34
34
  },
35
35
  // OpenAI
36
36
  {
37
- id: "openai/gpt-5.4-pro",
38
- name: "GPT-5.4 Pro",
37
+ id: "openai/gpt-5.5-pro",
38
+ name: "GPT-5.5 Pro",
39
39
  provider: "OpenAI",
40
- description: "Highest-precision GPT-5.4 variant.",
40
+ description: "Highest-precision GPT-5.5 variant.",
41
41
  },
42
42
  {
43
- id: "openai/gpt-5.4",
44
- name: "GPT-5.4",
43
+ id: "openai/gpt-5.5",
44
+ name: "GPT-5.5",
45
45
  provider: "OpenAI",
46
46
  description: "Flagship OpenAI model for coding and reasoning.",
47
47
  },
48
48
  {
49
- id: "openai/gpt-5.4-mini",
50
- name: "GPT-5.4 Mini",
49
+ id: "openai/gpt-5.5-mini",
50
+ name: "GPT-5.5 Mini",
51
51
  provider: "OpenAI",
52
52
  description: "High-volume OpenAI mini model.",
53
53
  },
54
54
  {
55
- id: "openai/gpt-5.4-nano",
56
- name: "GPT-5.4 Nano",
55
+ id: "openai/gpt-5.5-nano",
56
+ name: "GPT-5.5 Nano",
57
57
  provider: "OpenAI",
58
- description: "Cheapest GPT-5.4 tier for fast routing and gating.",
58
+ description: "Cheapest GPT-5.5 tier for fast routing and gating.",
59
59
  },
60
60
  // Google
61
61
  {
@@ -281,9 +281,9 @@ const PROVIDER_DEFAULT_MODELS = {
281
281
  },
282
282
  openai: {
283
283
  smallKey: "OPENAI_SMALL_MODEL",
284
- smallVal: "gpt-5.4-mini",
284
+ smallVal: "gpt-5.5-mini",
285
285
  largeKey: "OPENAI_LARGE_MODEL",
286
- largeVal: "gpt-5.4",
286
+ largeVal: "gpt-5.5",
287
287
  },
288
288
  google: {
289
289
  smallKey: "GOOGLE_SMALL_MODEL",
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../../../../agent/src/api/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../../../../../agent/src/api/server.ts"],"names":[],"mappings":"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"}
@@ -129,6 +129,7 @@ import { cloneWithoutBlockedObjectKeys, decodePathComponent, getErrorMessage, ha
129
129
  import { applySignalQrOverride } from "./signal-routes.js";
130
130
  import { discoverSkills } from "./skill-discovery-helpers.js";
131
131
  import { handleSkillsRoutes } from "./skills-routes.js";
132
+ import { handleAccountsRoutes } from "./accounts-routes.js";
132
133
  import { handleSubscriptionRoutes } from "./subscription-routes.js";
133
134
  import { handleTelegramAccountRoute } from "./telegram-account-routes.js";
134
135
  import { handleTriggerRoutes } from "./trigger-routes.js";
@@ -818,6 +819,19 @@ async function handleRequest(req, res, state, ctx) {
818
819
  })) {
819
820
  return;
820
821
  }
822
+ if (await handleAccountsRoutes({
823
+ req,
824
+ res,
825
+ method,
826
+ pathname,
827
+ readJsonBody,
828
+ json,
829
+ error,
830
+ state: { config: state.config },
831
+ saveConfig: saveElizaConfig,
832
+ })) {
833
+ return;
834
+ }
821
835
  // ═══════════════════════════════════════════════════════════════════════
822
836
  // Health / status / runtime routes (extracted to health-routes.ts)
823
837
  // ═══════════════════════════════════════════════════════════════════════
@@ -1 +1 @@
1
- {"version":3,"file":"subscription-routes.d.ts","sourceRoot":"","sources":["../../../../../../agent/src/api/subscription-routes.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAEzD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAE9D,KAAK,UAAU,GAAG,cAAc,eAAe,CAAC,CAAC;AAEjD,MAAM,MAAM,mBAAmB,GAAG,IAAI,CACpC,UAAU,EACR,uBAAuB,GACvB,qBAAqB,GACrB,iBAAiB,GACjB,iBAAiB,GACjB,8BAA8B,GAC9B,mBAAmB,CACtB,CAAC;AAEF,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,WAAW,CAAC;IACpB,cAAc,CAAC,EAAE,aAAa,CAAC;IAC/B,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,eAAe,CAAC,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC;CACjD;AAED,MAAM,WAAW,wBAAyB,SAAQ,mBAAmB;IACnE,KAAK,EAAE,sBAAsB,CAAC;IAC9B,UAAU,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,IAAI,CAAC;IAC1C,oBAAoB,EAAE,MAAM,OAAO,CAAC,mBAAmB,CAAC,CAAC;CAC1D;AAED,wBAAsB,wBAAwB,CAC5C,GAAG,EAAE,wBAAwB,GAC5B,OAAO,CAAC,OAAO,CAAC,CAgPlB"}
1
+ {"version":3,"file":"subscription-routes.d.ts","sourceRoot":"","sources":["../../../../../../agent/src/api/subscription-routes.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAEzD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAM5D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAE9D,KAAK,UAAU,GAAG,cAAc,eAAe,CAAC,CAAC;AAEjD,MAAM,MAAM,mBAAmB,GAAG,IAAI,CACpC,UAAU,EACR,uBAAuB,GACvB,qBAAqB,GACrB,iBAAiB,GACjB,iBAAiB,GACjB,8BAA8B,GAC9B,mBAAmB,CACtB,CAAC;AAEF,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,WAAW,CAAC;IACpB,cAAc,CAAC,EAAE,aAAa,CAAC;IAC/B,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,eAAe,CAAC,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC;CACjD;AAED,MAAM,WAAW,wBAAyB,SAAQ,mBAAmB;IACnE,KAAK,EAAE,sBAAsB,CAAC;IAC9B,UAAU,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,IAAI,CAAC;IAC1C,oBAAoB,EAAE,MAAM,OAAO,CAAC,mBAAmB,CAAC,CAAC;CAC1D;AAED,wBAAsB,wBAAwB,CAC5C,GAAG,EAAE,wBAAwB,GAC5B,OAAO,CAAC,OAAO,CAAC,CAwQlB"}
@@ -6,7 +6,27 @@ export async function handleSubscriptionRoutes(ctx) {
6
6
  if (method === "GET" && pathname === "/api/subscription/status") {
7
7
  try {
8
8
  const { getSubscriptionStatus } = await loadSubscriptionAuth();
9
- json(res, { providers: getSubscriptionStatus() });
9
+ const baseRows = getSubscriptionStatus();
10
+ // Join each per-account row with its rich LinkedAccountConfig
11
+ // entry from `milady.json` (priority, enabled, health, usage).
12
+ // CLI / setup-token / Claude Code rows have synthetic accountIds
13
+ // and no config-level row — they pass through unchanged so the
14
+ // UI's existing `find(s => s.provider === ...)` keeps working.
15
+ const linkedAccounts = readRichLinkedAccounts(state.config);
16
+ const rows = baseRows.map((row) => {
17
+ const linked = linkedAccounts[row.accountId];
18
+ if (!linked || linked.providerId !== row.provider)
19
+ return row;
20
+ const enriched = {
21
+ ...row,
22
+ priority: linked.priority,
23
+ enabled: linked.enabled,
24
+ health: linked.health,
25
+ ...(linked.usage ? { usage: linked.usage } : {}),
26
+ };
27
+ return enriched;
28
+ });
29
+ json(res, { providers: rows });
10
30
  }
11
31
  catch (err) {
12
32
  logger.error(`[api] Failed to get subscription status: ${String(err)}`);
@@ -211,3 +231,30 @@ export async function handleSubscriptionRoutes(ctx) {
211
231
  }
212
232
  return false;
213
233
  }
234
+ /**
235
+ * Read rich `LinkedAccountConfig` rows out of the dual-shape
236
+ * `linkedAccounts` config bag. Skips legacy
237
+ * `LinkedAccountFlagConfig` entries (provider-name keys like
238
+ * `elizacloud`) — those are filtered out by the shape check.
239
+ */
240
+ function readRichLinkedAccounts(config) {
241
+ const bag = config.linkedAccounts;
242
+ if (!bag)
243
+ return {};
244
+ const out = {};
245
+ for (const [key, value] of Object.entries(bag)) {
246
+ if (!value || typeof value !== "object")
247
+ continue;
248
+ const candidate = value;
249
+ if (typeof candidate.id === "string" &&
250
+ typeof candidate.providerId === "string" &&
251
+ typeof candidate.label === "string" &&
252
+ typeof candidate.enabled === "boolean" &&
253
+ typeof candidate.priority === "number" &&
254
+ typeof candidate.createdAt === "number" &&
255
+ typeof candidate.health === "string") {
256
+ out[key] = candidate;
257
+ }
258
+ }
259
+ return out;
260
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"credentials.d.ts","sourceRoot":"","sources":["../../../../../../agent/src/auth/credentials.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAOH,OAAO,EACL,KAAK,uBAAuB,EAM7B,MAAM,sBAAsB,CAAC;AAI9B,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EAEtB,KAAK,oBAAoB,EAC1B,MAAM,YAAY,CAAC;AAsBpB;;;;;;GAMG;AACH,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,oBAAoB,EAC9B,WAAW,EAAE,gBAAgB,EAC7B,SAAS,GAAE,MAA2B,GACrC,IAAI,CAuBN;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,oBAAoB,EAC9B,SAAS,GAAE,MAA2B,GACrC,iBAAiB,GAAG,IAAI,CAI1B;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,oBAAoB,EAC9B,SAAS,GAAE,MAA2B,GACrC,IAAI,CAEN;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,oBAAoB,EAC9B,SAAS,GAAE,MAA2B,GACrC,OAAO,CAIT;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,oBAAoB,GAC7B,uBAAuB,EAAE,CAE3B;AAED;;;;;;;;GAQG;AACH,wBAAsB,cAAc,CAClC,QAAQ,EAAE,oBAAoB,EAC9B,SAAS,GAAE,MAA2B,GACrC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAyCxB;AAuCD,MAAM,MAAM,4BAA4B,GACpC,KAAK,GACL,iBAAiB,GACjB,aAAa,GACb,WAAW,GACX,IAAI,CAAC;AAET;;;;;;;GAOG;AACH,MAAM,WAAW,yBAAyB;IACxC,QAAQ,EAAE,oBAAoB,CAAC;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,OAAO,CAAC;IACpB,KAAK,EAAE,OAAO,CAAC;IACf,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,MAAM,EAAE,4BAA4B,CAAC;CACtC;AAED,wBAAgB,qBAAqB,IAAI,yBAAyB,EAAE,CAwEnE;AA+ID;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,4BAA4B,CAAC,MAAM,CAAC,EAAE;IAC1D,MAAM,CAAC,EAAE;QACP,QAAQ,CAAC,EAAE;YAAE,oBAAoB,CAAC,EAAE,MAAM,CAAC;YAAC,KAAK,CAAC,EAAE;gBAAE,OAAO,CAAC,EAAE,MAAM,CAAA;aAAE,CAAA;SAAE,CAAC;KAC5E,CAAC;CACH,GAAG,OAAO,CAAC,IAAI,CAAC,CAmFhB"}
1
+ {"version":3,"file":"credentials.d.ts","sourceRoot":"","sources":["../../../../../../agent/src/auth/credentials.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAOH,OAAO,EACL,KAAK,uBAAuB,EAM7B,MAAM,sBAAsB,CAAC;AAI9B,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,iBAAiB,EAEtB,KAAK,oBAAoB,EAC1B,MAAM,YAAY,CAAC;AAsBpB;;;;;;GAMG;AACH,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,oBAAoB,EAC9B,WAAW,EAAE,gBAAgB,EAC7B,SAAS,GAAE,MAA2B,GACrC,IAAI,CAuBN;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,oBAAoB,EAC9B,SAAS,GAAE,MAA2B,GACrC,iBAAiB,GAAG,IAAI,CAI1B;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,oBAAoB,EAC9B,SAAS,GAAE,MAA2B,GACrC,IAAI,CAEN;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,oBAAoB,EAC9B,SAAS,GAAE,MAA2B,GACrC,OAAO,CAIT;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,oBAAoB,GAC7B,uBAAuB,EAAE,CAE3B;AAED;;;;;;;;GAQG;AACH,wBAAsB,cAAc,CAClC,QAAQ,EAAE,oBAAoB,EAC9B,SAAS,GAAE,MAA2B,GACrC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAyCxB;AAuCD,MAAM,MAAM,4BAA4B,GACpC,KAAK,GACL,iBAAiB,GACjB,aAAa,GACb,WAAW,GACX,IAAI,CAAC;AAET;;;;;;;GAOG;AACH,MAAM,WAAW,yBAAyB;IACxC,QAAQ,EAAE,oBAAoB,CAAC;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,OAAO,CAAC;IACpB,KAAK,EAAE,OAAO,CAAC;IACf,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,MAAM,EAAE,4BAA4B,CAAC;CACtC;AAED,wBAAgB,qBAAqB,IAAI,yBAAyB,EAAE,CAwEnE;AA+ID;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,4BAA4B,CAAC,MAAM,CAAC,EAAE;IAC1D,MAAM,CAAC,EAAE;QACP,QAAQ,CAAC,EAAE;YAAE,oBAAoB,CAAC,EAAE,MAAM,CAAC;YAAC,KAAK,CAAC,EAAE;gBAAE,OAAO,CAAC,EAAE,MAAM,CAAA;aAAE,CAAA;SAAE,CAAC;KAC5E,CAAC;CACH,GAAG,OAAO,CAAC,IAAI,CAAC,CAmGhB"}
@@ -396,11 +396,22 @@ export async function applySubscriptionCredentials(config) {
396
396
  }
397
397
  // ── OpenAI Codex subscription → set OPENAI_API_KEY ────────────────────
398
398
  //
399
- // For now, the FIRST configured Codex account wins. WS2's AccountPool
400
- // will replace this with priority/health-aware selection.
399
+ // Account selection goes through the WS2 AccountPool when its shim is
400
+ // installed (via `app-core`'s `getDefaultAccountPool()` accessor). The
401
+ // shim is symbol-keyed on `globalThis` so this package doesn't need to
402
+ // depend on `@elizaos/app-core`. When the shim is absent (e.g. agent
403
+ // running without app-core), we fall back to the lowest-createdAt
404
+ // account, which is stable for single-account installs.
401
405
  const codexAccounts = listProviderAccounts("openai-codex");
402
406
  if (codexAccounts.length > 0) {
403
- const primary = codexAccounts[0];
407
+ const selectorSymbol = Symbol.for("milady.account-pool.subscription-selector.v1");
408
+ const selector = globalThis[selectorSymbol];
409
+ let chosenId = null;
410
+ if (selector) {
411
+ chosenId = await selector.pickAccountId("openai-codex");
412
+ }
413
+ const primary = codexAccounts.find((a) => a.id === chosenId) ??
414
+ codexAccounts.slice().sort((a, b) => a.createdAt - b.createdAt)[0];
404
415
  const codexToken = await getAccessToken("openai-codex", primary.id);
405
416
  if (codexToken) {
406
417
  process.env.OPENAI_API_KEY = codexToken;
@@ -1,6 +1,8 @@
1
+ export * from "./account-storage.js";
1
2
  export * from "./anthropic.js";
2
3
  export * from "./claude-code-stealth.js";
3
4
  export * from "./credentials.js";
5
+ export * from "./oauth-flow.js";
4
6
  export * from "./openai-codex.js";
5
7
  export * from "./types.js";
6
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../agent/src/auth/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,0BAA0B,CAAC;AACzC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../agent/src/auth/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,0BAA0B,CAAC;AACzC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,YAAY,CAAC"}
@@ -1,5 +1,7 @@
1
+ export * from "./account-storage.js";
1
2
  export * from "./anthropic.js";
2
3
  export * from "./claude-code-stealth.js";
3
4
  export * from "./credentials.js";
5
+ export * from "./oauth-flow.js";
4
6
  export * from "./openai-codex.js";
5
7
  export * from "./types.js";
@@ -0,0 +1,106 @@
1
+ /**
2
+ * OAuth flow orchestration registry.
3
+ *
4
+ * Wraps the provider-specific programmatic OAuth helpers
5
+ * (`startAnthropicOAuthFlowRaw` from
6
+ * `vendor/pi-oauth/anthropic-login.ts` and the loopback-listener flow
7
+ * in `openai-codex.ts`) with:
8
+ *
9
+ * - a 5-minute timeout per flow,
10
+ * - automatic `saveAccount(...)` after token exchange,
11
+ * - an in-memory registry keyed by `sessionId` so the HTTP API can
12
+ * stream progress over SSE and the CLI can `await` completion,
13
+ * - garbage collection 10 minutes after a flow reaches a terminal
14
+ * state.
15
+ *
16
+ * Both the CLI and the new accounts-routes HTTP endpoints drive flows
17
+ * through this module — there is no direct caller of the vendor-level
18
+ * OAuth helpers anymore.
19
+ */
20
+ import { type AccountCredentialRecord } from "./account-storage.js";
21
+ import type { SubscriptionProvider } from "./types.js";
22
+ /** Server-tracked status of an in-flight OAuth flow. */
23
+ export type FlowStatus = "pending" | "success" | "error" | "cancelled" | "timeout";
24
+ export interface FlowState {
25
+ sessionId: string;
26
+ providerId: SubscriptionProvider;
27
+ status: FlowStatus;
28
+ /** Set on `pending` (so the UI can re-open the browser) and on `success`. */
29
+ authUrl?: string;
30
+ /** Anthropic only — the user must paste `code#state`; Codex uses the loopback callback. */
31
+ needsCodeSubmission: boolean;
32
+ account?: AccountCredentialRecord;
33
+ error?: string;
34
+ startedAt: number;
35
+ endedAt?: number;
36
+ }
37
+ export interface OAuthFlowHandle {
38
+ sessionId: string;
39
+ authUrl: string;
40
+ /** Codex flows resolve via the loopback listener; Anthropic requires `submitCode`. */
41
+ needsCodeSubmission: boolean;
42
+ /** Resolves with the saved AccountCredentialRecord; rejects on cancel/timeout/error. */
43
+ completion: Promise<{
44
+ account: AccountCredentialRecord;
45
+ }>;
46
+ /** Anthropic only — submit `code#state` from the redirect page. No-op for Codex. */
47
+ submitCode: (code: string) => void;
48
+ cancel: (reason?: string) => void;
49
+ }
50
+ interface StartOptions {
51
+ label: string;
52
+ accountId?: string;
53
+ /**
54
+ * Called after the account is saved on disk. Used by the HTTP
55
+ * route layer to also write a `LinkedAccountConfig` row into
56
+ * `milady.json`. Failures here propagate as flow `error`.
57
+ */
58
+ onAccountSaved?: (account: AccountCredentialRecord) => void | Promise<void>;
59
+ }
60
+ /**
61
+ * Start a programmatic Anthropic OAuth flow. Anthropic's redirect URI
62
+ * is hardcoded to `console.anthropic.com/oauth/code/callback` — the
63
+ * UI must surface the auth URL, prompt the user to copy the
64
+ * `code#state` blob, and call `submitCode()` with it. Once the code is
65
+ * submitted, the token exchange runs and the account is persisted.
66
+ */
67
+ export declare function startAnthropicOAuthFlow(opts: StartOptions): Promise<OAuthFlowHandle>;
68
+ /**
69
+ * Start a programmatic Codex OAuth flow. Codex has a loopback listener
70
+ * on :1455, so the user just signs in in the browser and the listener
71
+ * picks up the redirect — `submitCode()` is a no-op. The accountId
72
+ * baked into the JWT is preserved on `LinkedAccountConfig.organizationId`
73
+ * (used by the Codex usage probe via the `ChatGPT-Account-Id` header).
74
+ */
75
+ export declare function startCodexOAuthFlow(opts: StartOptions): Promise<OAuthFlowHandle>;
76
+ export declare function getFlowState(sessionId: string): FlowState | null;
77
+ export declare function getFlowHandle(sessionId: string): OAuthFlowHandle | null;
78
+ /**
79
+ * Subscribe to status updates for a flow. Replays the current state
80
+ * synchronously so SSE consumers always receive an immediate frame.
81
+ * Returns an unsubscribe function.
82
+ */
83
+ export declare function subscribeFlow(sessionId: string, listener: (state: FlowState) => void): () => void;
84
+ export declare function cancelFlow(sessionId: string, reason?: string): boolean;
85
+ export declare function submitFlowCode(sessionId: string, code: string): boolean;
86
+ /**
87
+ * Remove every flow from the registry. Tests use this to reset
88
+ * between cases without resetting the whole module.
89
+ */
90
+ export declare function _resetFlowRegistry(): void;
91
+ /**
92
+ * Test-only helper to seed a synthetic flow without going through the
93
+ * vendor layer. Used by `accounts-routes.test.ts` to assert the SSE
94
+ * surface streams `success` / `error` payloads correctly.
95
+ */
96
+ export declare function _registerSyntheticFlow(args: {
97
+ sessionId?: string;
98
+ providerId: SubscriptionProvider;
99
+ authUrl: string;
100
+ needsCodeSubmission?: boolean;
101
+ }): {
102
+ sessionId: string;
103
+ complete: (state: FlowState) => void;
104
+ };
105
+ export {};
106
+ //# sourceMappingURL=oauth-flow.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"oauth-flow.d.ts","sourceRoot":"","sources":["../../../../../../agent/src/auth/oauth-flow.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAIH,OAAO,EACL,KAAK,uBAAuB,EAE7B,MAAM,sBAAsB,CAAC;AAG9B,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAMvD,wDAAwD;AACxD,MAAM,MAAM,UAAU,GAClB,SAAS,GACT,SAAS,GACT,OAAO,GACP,WAAW,GACX,SAAS,CAAC;AAEd,MAAM,WAAW,SAAS;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,oBAAoB,CAAC;IACjC,MAAM,EAAE,UAAU,CAAC;IACnB,6EAA6E;IAC7E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,2FAA2F;IAC3F,mBAAmB,EAAE,OAAO,CAAC;IAC7B,OAAO,CAAC,EAAE,uBAAuB,CAAC;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,sFAAsF;IACtF,mBAAmB,EAAE,OAAO,CAAC;IAC7B,wFAAwF;IACxF,UAAU,EAAE,OAAO,CAAC;QAAE,OAAO,EAAE,uBAAuB,CAAA;KAAE,CAAC,CAAC;IAC1D,oFAAoF;IACpF,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,MAAM,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;CACnC;AAuED,UAAU,YAAY;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,uBAAuB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC7E;AAID;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,YAAY,GACjB,OAAO,CAAC,eAAe,CAAC,CAqB1B;AAID;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,YAAY,GACjB,OAAO,CAAC,eAAe,CAAC,CAmB1B;AA2ID,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAGhE;AAED,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI,CAGvE;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAC3B,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,GACnC,MAAM,IAAI,CASZ;AAED,wBAAgB,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAMtE;AAED,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAOvE;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,IAAI,IAAI,CAKzC;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE;IAC3C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,oBAAoB,CAAC;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B,GAAG;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAA;CAAE,CA+B9D"}