@elizaos/agent 2.0.0-alpha.441 → 2.0.0-alpha.501

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 (980) hide show
  1. package/apps/app-companion/src/components/companion/CompanionAppView.d.ts.map +1 -1
  2. package/apps/app-companion/src/components/companion/CompanionAppView.js +6 -2
  3. package/apps/app-companion/src/components/companion/CompanionHeader.d.ts +3 -1
  4. package/apps/app-companion/src/components/companion/CompanionHeader.d.ts.map +1 -1
  5. package/apps/app-companion/src/components/companion/CompanionHeader.js +8 -2
  6. package/apps/app-companion/src/components/companion/CompanionPerformanceSettings.d.ts +2 -0
  7. package/apps/app-companion/src/components/companion/CompanionPerformanceSettings.d.ts.map +1 -0
  8. package/apps/app-companion/src/components/companion/CompanionPerformanceSettings.js +33 -0
  9. package/apps/app-companion/src/components/companion/CompanionSettingsPanel.d.ts +2 -0
  10. package/apps/app-companion/src/components/companion/CompanionSettingsPanel.d.ts.map +1 -0
  11. package/apps/app-companion/src/components/companion/CompanionSettingsPanel.js +7 -0
  12. package/apps/app-companion/src/components/companion/CompanionShell.d.ts.map +1 -1
  13. package/apps/app-companion/src/components/companion/CompanionShell.js +1 -1
  14. package/apps/app-companion/src/components/companion/CompanionView.d.ts.map +1 -1
  15. package/apps/app-companion/src/components/companion/CompanionView.js +6 -2
  16. package/apps/app-companion/src/types/render-modes.d.ts +4 -0
  17. package/apps/app-companion/src/types/render-modes.d.ts.map +1 -0
  18. package/apps/app-companion/src/types/render-modes.js +6 -0
  19. package/apps/app-elizamaker/src/drop-routes.d.ts.map +1 -1
  20. package/apps/app-elizamaker/src/drop-service.d.ts +1 -1
  21. package/apps/app-elizamaker/src/drop-service.d.ts.map +1 -1
  22. package/apps/app-elizamaker/src/og-tracker.d.ts.map +1 -1
  23. package/apps/app-elizamaker/src/og-tracker.js +1 -1
  24. package/apps/app-elizamaker/src/twitter-verify.js +1 -1
  25. package/apps/app-lifeops/src/actions/website-blocker.d.ts.map +1 -1
  26. package/apps/app-lifeops/src/actions/website-blocker.js +18 -16
  27. package/apps/app-lifeops/src/api/client-lifeops.d.ts +37 -75
  28. package/apps/app-lifeops/src/api/client-lifeops.d.ts.map +1 -1
  29. package/apps/app-lifeops/src/api/client-lifeops.js +119 -0
  30. package/apps/app-lifeops/src/inbox/channel-deep-links.d.ts +2 -4
  31. package/apps/app-lifeops/src/inbox/channel-deep-links.d.ts.map +1 -1
  32. package/apps/app-lifeops/src/inbox/channel-deep-links.js +8 -38
  33. package/apps/app-lifeops/src/inbox/message-fetcher.d.ts +1 -1
  34. package/apps/app-lifeops/src/inbox/message-fetcher.d.ts.map +1 -1
  35. package/apps/app-lifeops/src/inbox/message-fetcher.js +180 -77
  36. package/apps/app-lifeops/src/inbox/types.d.ts +1 -1
  37. package/apps/app-lifeops/src/inbox/types.d.ts.map +1 -1
  38. package/apps/app-lifeops/src/lifeops/browser-extension-store.d.ts.map +1 -1
  39. package/apps/app-lifeops/src/lifeops/browser-readiness.d.ts +16 -0
  40. package/apps/app-lifeops/src/lifeops/browser-readiness.d.ts.map +1 -0
  41. package/apps/app-lifeops/src/lifeops/browser-readiness.js +74 -0
  42. package/apps/app-lifeops/src/lifeops/browser-session-lifecycle.d.ts.map +1 -1
  43. package/apps/app-lifeops/src/lifeops/browser-session-lifecycle.js +1 -1
  44. package/apps/app-lifeops/src/lifeops/checkin/checkin-service.d.ts.map +1 -1
  45. package/apps/app-lifeops/src/lifeops/defaults.d.ts +1 -1
  46. package/apps/app-lifeops/src/lifeops/defaults.d.ts.map +1 -1
  47. package/apps/app-lifeops/src/lifeops/discord-desktop-cdp.d.ts +16 -0
  48. package/apps/app-lifeops/src/lifeops/discord-desktop-cdp.d.ts.map +1 -1
  49. package/apps/app-lifeops/src/lifeops/discord-desktop-cdp.js +217 -1
  50. package/apps/app-lifeops/src/lifeops/email-unsubscribe-gmail.d.ts.map +1 -1
  51. package/apps/app-lifeops/src/lifeops/email-unsubscribe-gmail.js +8 -3
  52. package/apps/app-lifeops/src/lifeops/feature-flags.types.d.ts.map +1 -1
  53. package/apps/app-lifeops/src/lifeops/goal-semantic-evaluator.js +1 -1
  54. package/apps/app-lifeops/src/lifeops/google-calendar.d.ts.map +1 -1
  55. package/apps/app-lifeops/src/lifeops/google-calendar.js +24 -31
  56. package/apps/app-lifeops/src/lifeops/google-drive.d.ts.map +1 -1
  57. package/apps/app-lifeops/src/lifeops/google-drive.js +7 -1
  58. package/apps/app-lifeops/src/lifeops/google-fetch.d.ts +1 -1
  59. package/apps/app-lifeops/src/lifeops/google-fetch.d.ts.map +1 -1
  60. package/apps/app-lifeops/src/lifeops/google-fetch.js +4 -6
  61. package/apps/app-lifeops/src/lifeops/google-gmail.d.ts.map +1 -1
  62. package/apps/app-lifeops/src/lifeops/google-gmail.js +50 -34
  63. package/apps/app-lifeops/src/lifeops/health-bridge.d.ts.map +1 -1
  64. package/apps/app-lifeops/src/lifeops/health-bridge.js +53 -10
  65. package/apps/app-lifeops/src/lifeops/health-connectors.d.ts +23 -0
  66. package/apps/app-lifeops/src/lifeops/health-connectors.d.ts.map +1 -0
  67. package/apps/app-lifeops/src/lifeops/health-connectors.js +962 -0
  68. package/apps/app-lifeops/src/lifeops/health-oauth.d.ts +62 -0
  69. package/apps/app-lifeops/src/lifeops/health-oauth.d.ts.map +1 -0
  70. package/apps/app-lifeops/src/lifeops/health-oauth.js +496 -0
  71. package/apps/app-lifeops/src/lifeops/payment-csv-import.d.ts.map +1 -1
  72. package/apps/app-lifeops/src/lifeops/payment-csv-import.js +1 -5
  73. package/apps/app-lifeops/src/lifeops/payment-recurrence.d.ts.map +1 -1
  74. package/apps/app-lifeops/src/lifeops/payment-recurrence.js +2 -1
  75. package/apps/app-lifeops/src/lifeops/payment-types.d.ts +8 -7
  76. package/apps/app-lifeops/src/lifeops/payment-types.d.ts.map +1 -1
  77. package/apps/app-lifeops/src/lifeops/priority-scoring.d.ts.map +1 -1
  78. package/apps/app-lifeops/src/lifeops/repository.d.ts +46 -10
  79. package/apps/app-lifeops/src/lifeops/repository.d.ts.map +1 -1
  80. package/apps/app-lifeops/src/lifeops/repository.js +683 -65
  81. package/apps/app-lifeops/src/lifeops/schedule-insight.d.ts.map +1 -1
  82. package/apps/app-lifeops/src/lifeops/schedule-insight.js +2 -3
  83. package/apps/app-lifeops/src/lifeops/schema.d.ts +6403 -3831
  84. package/apps/app-lifeops/src/lifeops/schema.d.ts.map +1 -1
  85. package/apps/app-lifeops/src/lifeops/schema.js +105 -18
  86. package/apps/app-lifeops/src/lifeops/seed-routines.d.ts +1 -1
  87. package/apps/app-lifeops/src/lifeops/seed-routines.d.ts.map +1 -1
  88. package/apps/app-lifeops/src/lifeops/seed-routines.js +7 -2
  89. package/apps/app-lifeops/src/lifeops/service-constants.d.ts +15 -0
  90. package/apps/app-lifeops/src/lifeops/service-constants.d.ts.map +1 -1
  91. package/apps/app-lifeops/src/lifeops/service-constants.js +21 -3
  92. package/apps/app-lifeops/src/lifeops/service-helpers-browser.d.ts +1 -1
  93. package/apps/app-lifeops/src/lifeops/service-helpers-browser.d.ts.map +1 -1
  94. package/apps/app-lifeops/src/lifeops/service-helpers-browser.js +1 -1
  95. package/apps/app-lifeops/src/lifeops/service-helpers-misc.d.ts.map +1 -1
  96. package/apps/app-lifeops/src/lifeops/service-helpers-misc.js +5 -5
  97. package/apps/app-lifeops/src/lifeops/service-helpers-occurrence.d.ts.map +1 -1
  98. package/apps/app-lifeops/src/lifeops/service-helpers-occurrence.js +1 -1
  99. package/apps/app-lifeops/src/lifeops/service-helpers-reminder.d.ts +48 -1
  100. package/apps/app-lifeops/src/lifeops/service-helpers-reminder.d.ts.map +1 -1
  101. package/apps/app-lifeops/src/lifeops/service-helpers-reminder.js +191 -17
  102. package/apps/app-lifeops/src/lifeops/service-mixin-browser.d.ts.map +1 -1
  103. package/apps/app-lifeops/src/lifeops/service-mixin-browser.js +10 -7
  104. package/apps/app-lifeops/src/lifeops/service-mixin-calendar.d.ts.map +1 -1
  105. package/apps/app-lifeops/src/lifeops/service-mixin-calendar.js +4 -11
  106. package/apps/app-lifeops/src/lifeops/service-mixin-core.d.ts.map +1 -1
  107. package/apps/app-lifeops/src/lifeops/service-mixin-core.js +5 -2
  108. package/apps/app-lifeops/src/lifeops/service-mixin-definitions.d.ts.map +1 -1
  109. package/apps/app-lifeops/src/lifeops/service-mixin-definitions.js +7 -6
  110. package/apps/app-lifeops/src/lifeops/service-mixin-discord.js +237 -32
  111. package/apps/app-lifeops/src/lifeops/service-mixin-drive.d.ts.map +1 -1
  112. package/apps/app-lifeops/src/lifeops/service-mixin-drive.js +6 -5
  113. package/apps/app-lifeops/src/lifeops/service-mixin-gmail.d.ts.map +1 -1
  114. package/apps/app-lifeops/src/lifeops/service-mixin-gmail.js +86 -31
  115. package/apps/app-lifeops/src/lifeops/service-mixin-goals.d.ts.map +1 -1
  116. package/apps/app-lifeops/src/lifeops/service-mixin-goals.js +14 -15
  117. package/apps/app-lifeops/src/lifeops/service-mixin-google.d.ts.map +1 -1
  118. package/apps/app-lifeops/src/lifeops/service-mixin-google.js +71 -51
  119. package/apps/app-lifeops/src/lifeops/service-mixin-health.js +528 -1
  120. package/apps/app-lifeops/src/lifeops/service-mixin-imessage.d.ts.map +1 -1
  121. package/apps/app-lifeops/src/lifeops/service-mixin-imessage.js +94 -6
  122. package/apps/app-lifeops/src/lifeops/service-mixin-inbox.d.ts.map +1 -1
  123. package/apps/app-lifeops/src/lifeops/service-mixin-inbox.js +9 -0
  124. package/apps/app-lifeops/src/lifeops/service-mixin-payments.d.ts +3 -0
  125. package/apps/app-lifeops/src/lifeops/service-mixin-payments.d.ts.map +1 -1
  126. package/apps/app-lifeops/src/lifeops/service-mixin-payments.js +93 -26
  127. package/apps/app-lifeops/src/lifeops/service-mixin-reminders.d.ts.map +1 -1
  128. package/apps/app-lifeops/src/lifeops/service-mixin-reminders.js +331 -167
  129. package/apps/app-lifeops/src/lifeops/service-mixin-scheduling.js +5 -10
  130. package/apps/app-lifeops/src/lifeops/service-mixin-screentime.js +372 -10
  131. package/apps/app-lifeops/src/lifeops/service-mixin-signal.js +179 -43
  132. package/apps/app-lifeops/src/lifeops/service-mixin-sleep.js +31 -1
  133. package/apps/app-lifeops/src/lifeops/service-mixin-status.d.ts.map +1 -1
  134. package/apps/app-lifeops/src/lifeops/service-mixin-status.js +82 -13
  135. package/apps/app-lifeops/src/lifeops/service-mixin-subscriptions.js +1 -1
  136. package/apps/app-lifeops/src/lifeops/service-mixin-telegram.js +59 -12
  137. package/apps/app-lifeops/src/lifeops/service-mixin-whatsapp.js +165 -22
  138. package/apps/app-lifeops/src/lifeops/service-mixin-workflows.d.ts.map +1 -1
  139. package/apps/app-lifeops/src/lifeops/service-mixin-workflows.js +3 -0
  140. package/apps/app-lifeops/src/lifeops/service-normalize-calendar.d.ts.map +1 -1
  141. package/apps/app-lifeops/src/lifeops/service-normalize-calendar.js +4 -4
  142. package/apps/app-lifeops/src/lifeops/service-normalize-gmail.d.ts +3 -1
  143. package/apps/app-lifeops/src/lifeops/service-normalize-gmail.d.ts.map +1 -1
  144. package/apps/app-lifeops/src/lifeops/service-normalize-gmail.js +5 -3
  145. package/apps/app-lifeops/src/lifeops/service-normalize-health.d.ts.map +1 -1
  146. package/apps/app-lifeops/src/lifeops/service-normalize-health.js +4 -3
  147. package/apps/app-lifeops/src/lifeops/service-normalize-task.d.ts.map +1 -1
  148. package/apps/app-lifeops/src/lifeops/service-normalize-task.js +10 -1
  149. package/apps/app-lifeops/src/lifeops/service-normalize.d.ts.map +1 -1
  150. package/apps/app-lifeops/src/lifeops/service-normalize.js +3 -3
  151. package/apps/app-lifeops/src/lifeops/service-types.d.ts +1 -1
  152. package/apps/app-lifeops/src/lifeops/service-types.d.ts.map +1 -1
  153. package/apps/app-lifeops/src/lifeops/service.d.ts +92 -166
  154. package/apps/app-lifeops/src/lifeops/service.d.ts.map +1 -1
  155. package/apps/app-lifeops/src/lifeops/service.js +2 -2
  156. package/apps/app-lifeops/src/lifeops/signal-auth.d.ts +7 -0
  157. package/apps/app-lifeops/src/lifeops/signal-auth.d.ts.map +1 -1
  158. package/apps/app-lifeops/src/lifeops/signal-auth.js +50 -6
  159. package/apps/app-lifeops/src/lifeops/signal-local-client.d.ts +7 -0
  160. package/apps/app-lifeops/src/lifeops/signal-local-client.d.ts.map +1 -1
  161. package/apps/app-lifeops/src/lifeops/signal-local-client.js +95 -4
  162. package/apps/app-lifeops/src/lifeops/sleep-cycle.d.ts +7 -1
  163. package/apps/app-lifeops/src/lifeops/sleep-cycle.d.ts.map +1 -1
  164. package/apps/app-lifeops/src/lifeops/sleep-cycle.js +16 -6
  165. package/apps/app-lifeops/src/lifeops/sleep-episode-store.d.ts +2 -1
  166. package/apps/app-lifeops/src/lifeops/sleep-episode-store.d.ts.map +1 -1
  167. package/apps/app-lifeops/src/lifeops/sleep-episode-store.js +7 -3
  168. package/apps/app-lifeops/src/lifeops/social-taxonomy.d.ts.map +1 -1
  169. package/apps/app-lifeops/src/lifeops/social-taxonomy.js +68 -16
  170. package/apps/app-lifeops/src/lifeops/subscriptions-playbooks.d.ts.map +1 -1
  171. package/apps/app-lifeops/src/lifeops/subscriptions-playbooks.js +24 -14
  172. package/apps/app-lifeops/src/lifeops/subscriptions-types.d.ts.map +1 -1
  173. package/apps/app-lifeops/src/lifeops/telegram-auth.d.ts +8 -1
  174. package/apps/app-lifeops/src/lifeops/telegram-auth.d.ts.map +1 -1
  175. package/apps/app-lifeops/src/lifeops/telegram-auth.js +44 -5
  176. package/apps/app-lifeops/src/lifeops/telegram-local-client.d.ts +1 -0
  177. package/apps/app-lifeops/src/lifeops/telegram-local-client.d.ts.map +1 -1
  178. package/apps/app-lifeops/src/lifeops/telegram-local-client.js +141 -7
  179. package/apps/app-lifeops/src/lifeops/twilio.d.ts.map +1 -1
  180. package/apps/app-lifeops/src/lifeops/twilio.js +3 -1
  181. package/apps/app-lifeops/src/lifeops/whatsapp-client.d.ts.map +1 -1
  182. package/apps/app-lifeops/src/lifeops/whatsapp-client.js +7 -4
  183. package/apps/app-lifeops/src/lifeops/x-poster.d.ts.map +1 -1
  184. package/apps/app-lifeops/src/lifeops/x-poster.js +3 -1
  185. package/apps/app-lifeops/src/lifeops/x-reader.d.ts.map +1 -1
  186. package/apps/app-lifeops/src/lifeops/x-reader.js +10 -3
  187. package/apps/app-lifeops/src/providers/website-blocker.js +2 -2
  188. package/apps/app-lifeops/src/public.d.ts +2 -2
  189. package/apps/app-lifeops/src/public.d.ts.map +1 -1
  190. package/apps/app-lifeops/src/public.js +2 -2
  191. package/apps/app-lifeops/src/routes/lifeops-routes.d.ts.map +1 -1
  192. package/apps/app-lifeops/src/routes/lifeops-routes.js +327 -92
  193. package/apps/app-lifeops/src/routes/plugin.d.ts.map +1 -1
  194. package/apps/app-lifeops/src/routes/plugin.js +79 -50
  195. package/apps/app-lifeops/src/routes/sleep-routes.d.ts.map +1 -1
  196. package/apps/app-lifeops/src/website-blocker/access.d.ts +1 -1
  197. package/apps/app-lifeops/src/website-blocker/access.d.ts.map +1 -1
  198. package/apps/app-lifeops/src/website-blocker/access.js +13 -9
  199. package/apps/app-lifeops/src/website-blocker/engine.d.ts.map +1 -1
  200. package/apps/app-lifeops/src/website-blocker/engine.js +23 -2
  201. package/apps/app-lifeops/src/website-blocker/public.d.ts +4 -4
  202. package/apps/app-lifeops/src/website-blocker/public.d.ts.map +1 -1
  203. package/apps/app-lifeops/src/website-blocker/public.js +2 -2
  204. package/apps/app-lifeops/src/website-blocker/roles.d.ts +2 -4
  205. package/apps/app-lifeops/src/website-blocker/roles.d.ts.map +1 -1
  206. package/apps/app-lifeops/src/website-blocker/roles.js +1 -4
  207. package/apps/app-steward/src/actions/check-balance.d.ts.map +1 -1
  208. package/apps/app-steward/src/actions/wallet-action-shared.d.ts.map +1 -1
  209. package/apps/app-steward/src/actions/wallet-action-shared.js +1 -1
  210. package/apps/app-steward/src/api/wallet-evm-balance.d.ts.map +1 -1
  211. package/apps/app-steward/src/browser-workspace-wallet.d.ts +15 -1
  212. package/apps/app-steward/src/browser-workspace-wallet.d.ts.map +1 -1
  213. package/apps/app-steward/src/browser-workspace-wallet.js +7 -1
  214. package/apps/app-steward/src/index.d.ts +4 -4
  215. package/apps/app-steward/src/index.d.ts.map +1 -1
  216. package/apps/app-steward/src/index.js +4 -4
  217. package/apps/app-steward/src/routes/steward-bridge.d.ts.map +1 -1
  218. package/apps/app-steward/src/routes/steward-bridge.js +1 -1
  219. package/apps/app-steward/src/routes/wallet-browser-compat-routes.d.ts.map +1 -1
  220. package/apps/app-steward/src/routes/wallet-browser-compat-routes.js +88 -1
  221. package/apps/app-training/src/backends/atropos.d.ts.map +1 -1
  222. package/apps/app-training/src/backends/atropos.js +2 -2
  223. package/apps/app-training/src/backends/native.d.ts +1 -1
  224. package/apps/app-training/src/backends/native.d.ts.map +1 -1
  225. package/apps/app-training/src/backends/tinker.d.ts.map +1 -1
  226. package/apps/app-training/src/core/index.d.ts +5 -5
  227. package/apps/app-training/src/core/index.d.ts.map +1 -1
  228. package/apps/app-training/src/core/index.js +4 -4
  229. package/apps/app-training/src/core/privacy-filter.d.ts.map +1 -1
  230. package/apps/app-training/src/core/training-orchestrator.d.ts.map +1 -1
  231. package/apps/app-training/src/optimizers/bootstrap-fewshot.d.ts.map +1 -1
  232. package/apps/app-training/src/optimizers/bootstrap-fewshot.js +7 -3
  233. package/apps/app-training/src/optimizers/index.d.ts +4 -4
  234. package/apps/app-training/src/optimizers/index.d.ts.map +1 -1
  235. package/apps/app-training/src/optimizers/index.js +2 -2
  236. package/apps/app-training/src/optimizers/instruction-search.d.ts.map +1 -1
  237. package/apps/app-training/src/optimizers/instruction-search.js +6 -1
  238. package/apps/app-training/src/optimizers/prompt-evolution.d.ts.map +1 -1
  239. package/apps/app-training/src/optimizers/prompt-evolution.js +6 -1
  240. package/apps/app-training/src/optimizers/scoring.d.ts +5 -7
  241. package/apps/app-training/src/optimizers/scoring.d.ts.map +1 -1
  242. package/apps/app-training/src/optimizers/types.d.ts.map +1 -1
  243. package/apps/app-training/src/routes/index.d.ts +1 -1
  244. package/apps/app-training/src/routes/index.d.ts.map +1 -1
  245. package/apps/app-training/src/routes/index.js +1 -1
  246. package/apps/app-training/src/services/index.d.ts +3 -3
  247. package/apps/app-training/src/services/index.d.ts.map +1 -1
  248. package/apps/app-training/src/services/index.js +2 -2
  249. package/apps/app-training/src/services/training-trigger.d.ts.map +1 -1
  250. package/package.json +4 -4
  251. package/packages/agent/src/actions/browser-session.d.ts.map +1 -1
  252. package/packages/agent/src/actions/browser-session.js +73 -5
  253. package/packages/agent/src/actions/extract-page.d.ts.map +1 -1
  254. package/packages/agent/src/actions/extract-page.js +11 -3
  255. package/packages/agent/src/actions/launchpad-launch.d.ts +16 -0
  256. package/packages/agent/src/actions/launchpad-launch.d.ts.map +1 -0
  257. package/packages/agent/src/actions/launchpad-launch.js +207 -0
  258. package/packages/agent/src/actions/logs.d.ts.map +1 -1
  259. package/packages/agent/src/actions/logs.js +19 -2
  260. package/packages/agent/src/actions/manage-tasks.d.ts.map +1 -1
  261. package/packages/agent/src/actions/manage-tasks.js +55 -0
  262. package/packages/agent/src/actions/page-action-groups.d.ts +17 -0
  263. package/packages/agent/src/actions/page-action-groups.d.ts.map +1 -0
  264. package/packages/agent/src/actions/page-action-groups.js +171 -0
  265. package/packages/agent/src/actions/scratchpad.d.ts.map +1 -1
  266. package/packages/agent/src/actions/scratchpad.js +17 -2
  267. package/packages/agent/src/actions/web-search.d.ts.map +1 -1
  268. package/packages/agent/src/actions/web-search.js +10 -2
  269. package/packages/agent/src/api/accounts-routes.d.ts.map +1 -1
  270. package/packages/agent/src/api/accounts-routes.js +8 -10
  271. package/packages/agent/src/api/chat-augmentation.d.ts.map +1 -1
  272. package/packages/agent/src/api/chat-augmentation.js +18 -6
  273. package/packages/agent/src/api/cloud-relay-routes.d.ts.map +1 -1
  274. package/packages/agent/src/api/cloud-relay-routes.js +3 -2
  275. package/packages/agent/src/api/cloud-routes.d.ts +3 -0
  276. package/packages/agent/src/api/cloud-routes.d.ts.map +1 -1
  277. package/packages/agent/src/api/cloud-routes.js +54 -1
  278. package/packages/agent/src/api/cloud-status-routes.d.ts.map +1 -1
  279. package/packages/agent/src/api/cloud-status-routes.js +25 -15
  280. package/packages/agent/src/api/connector-routes.d.ts +8 -0
  281. package/packages/agent/src/api/connector-routes.d.ts.map +1 -1
  282. package/packages/agent/src/api/connector-routes.js +25 -1
  283. package/packages/agent/src/api/experience-routes.d.ts.map +1 -1
  284. package/packages/agent/src/api/experience-routes.js +57 -0
  285. package/packages/agent/src/api/index.d.ts +1 -1
  286. package/packages/agent/src/api/index.d.ts.map +1 -1
  287. package/packages/agent/src/api/index.js +5 -5
  288. package/packages/agent/src/api/provider-switch-config.d.ts +4 -1
  289. package/packages/agent/src/api/provider-switch-config.d.ts.map +1 -1
  290. package/packages/agent/src/api/provider-switch-config.js +8 -1
  291. package/packages/agent/src/api/provider-switch-routes.d.ts +7 -1
  292. package/packages/agent/src/api/provider-switch-routes.d.ts.map +1 -1
  293. package/packages/agent/src/api/provider-switch-routes.js +62 -27
  294. package/packages/agent/src/api/runtime-plugin-routes.d.ts +5 -0
  295. package/packages/agent/src/api/runtime-plugin-routes.d.ts.map +1 -1
  296. package/packages/agent/src/api/runtime-plugin-routes.js +13 -0
  297. package/packages/agent/src/api/server-helpers-auth.d.ts.map +1 -1
  298. package/packages/agent/src/api/server-helpers-auth.js +7 -0
  299. package/packages/agent/src/api/server.d.ts.map +1 -1
  300. package/packages/agent/src/api/server.js +73 -11
  301. package/packages/agent/src/api/subscription-routes.d.ts.map +1 -1
  302. package/packages/agent/src/api/subscription-routes.js +6 -2
  303. package/packages/agent/src/auth/credentials.d.ts.map +1 -1
  304. package/packages/agent/src/auth/credentials.js +6 -2
  305. package/packages/agent/src/autonomy/index.d.ts.map +1 -1
  306. package/packages/agent/src/autonomy/index.js +5 -3
  307. package/packages/agent/src/bin.js +25 -0
  308. package/packages/agent/src/cli/index.d.ts.map +1 -1
  309. package/packages/agent/src/cli/index.js +17 -1
  310. package/packages/agent/src/cloud/cloud-manager.d.ts +1 -0
  311. package/packages/agent/src/cloud/cloud-manager.d.ts.map +1 -1
  312. package/packages/agent/src/cloud/cloud-manager.js +9 -0
  313. package/packages/agent/src/providers/page-scoped-context.d.ts.map +1 -1
  314. package/packages/agent/src/providers/page-scoped-context.js +48 -8
  315. package/packages/agent/src/runtime/aosp-llama-adapter.d.ts +193 -0
  316. package/packages/agent/src/runtime/aosp-llama-adapter.d.ts.map +1 -0
  317. package/packages/agent/src/runtime/aosp-llama-adapter.js +938 -0
  318. package/packages/agent/src/runtime/aosp-local-inference-bootstrap.d.ts +42 -0
  319. package/packages/agent/src/runtime/aosp-local-inference-bootstrap.d.ts.map +1 -0
  320. package/packages/agent/src/runtime/aosp-local-inference-bootstrap.js +299 -0
  321. package/packages/agent/src/runtime/core-plugins.d.ts +20 -0
  322. package/packages/agent/src/runtime/core-plugins.d.ts.map +1 -1
  323. package/packages/agent/src/runtime/core-plugins.js +22 -2
  324. package/packages/agent/src/runtime/discord-local-plugin.d.ts.map +1 -1
  325. package/packages/agent/src/runtime/discord-local-plugin.js +36 -0
  326. package/packages/agent/src/runtime/eliza-plugin.d.ts.map +1 -1
  327. package/packages/agent/src/runtime/eliza-plugin.js +9 -0
  328. package/packages/agent/src/runtime/eliza.d.ts.map +1 -1
  329. package/packages/agent/src/runtime/eliza.js +18 -8
  330. package/packages/agent/src/runtime/first-time-setup.d.ts +1 -0
  331. package/packages/agent/src/runtime/first-time-setup.d.ts.map +1 -1
  332. package/packages/agent/src/runtime/first-time-setup.js +1 -0
  333. package/packages/agent/src/runtime/operations/classifier.d.ts +36 -0
  334. package/packages/agent/src/runtime/operations/classifier.d.ts.map +1 -0
  335. package/packages/agent/src/runtime/operations/classifier.js +72 -0
  336. package/packages/agent/src/runtime/operations/cold-strategy.d.ts +19 -0
  337. package/packages/agent/src/runtime/operations/cold-strategy.d.ts.map +1 -0
  338. package/packages/agent/src/runtime/operations/cold-strategy.js +83 -0
  339. package/packages/agent/src/runtime/operations/health-checks.d.ts +24 -0
  340. package/packages/agent/src/runtime/operations/health-checks.d.ts.map +1 -0
  341. package/packages/agent/src/runtime/operations/health-checks.js +186 -0
  342. package/packages/agent/src/runtime/operations/health.d.ts +32 -0
  343. package/packages/agent/src/runtime/operations/health.d.ts.map +1 -0
  344. package/packages/agent/src/runtime/operations/health.js +151 -0
  345. package/packages/agent/src/runtime/operations/index.d.ts +16 -0
  346. package/packages/agent/src/runtime/operations/index.d.ts.map +1 -0
  347. package/packages/agent/src/runtime/operations/index.js +14 -0
  348. package/packages/agent/src/runtime/operations/manager.d.ts +68 -0
  349. package/packages/agent/src/runtime/operations/manager.d.ts.map +1 -0
  350. package/packages/agent/src/runtime/operations/manager.js +182 -0
  351. package/packages/agent/src/runtime/operations/reload-hot.d.ts +40 -0
  352. package/packages/agent/src/runtime/operations/reload-hot.d.ts.map +1 -0
  353. package/packages/agent/src/runtime/operations/reload-hot.js +176 -0
  354. package/packages/agent/src/runtime/operations/repository.d.ts +44 -0
  355. package/packages/agent/src/runtime/operations/repository.d.ts.map +1 -0
  356. package/packages/agent/src/runtime/operations/repository.js +233 -0
  357. package/packages/agent/src/runtime/operations/types.d.ts +201 -0
  358. package/packages/agent/src/runtime/operations/types.d.ts.map +1 -0
  359. package/packages/agent/src/runtime/operations/types.js +30 -0
  360. package/packages/agent/src/runtime/plugin-collector.d.ts.map +1 -1
  361. package/packages/agent/src/runtime/plugin-collector.js +47 -7
  362. package/packages/agent/src/runtime/plugin-role-gating.d.ts.map +1 -1
  363. package/packages/agent/src/runtime/plugin-role-gating.js +42 -9
  364. package/packages/agent/src/runtime/restart.d.ts +14 -38
  365. package/packages/agent/src/runtime/restart.d.ts.map +1 -1
  366. package/packages/agent/src/runtime/restart.js +14 -39
  367. package/packages/agent/src/services/browser-workspace-desktop.d.ts.map +1 -1
  368. package/packages/agent/src/services/browser-workspace-desktop.js +107 -0
  369. package/packages/agent/src/services/browser-workspace-types.d.ts +7 -1
  370. package/packages/agent/src/services/browser-workspace-types.d.ts.map +1 -1
  371. package/packages/agent/src/services/browser-workspace.d.ts.map +1 -1
  372. package/packages/agent/src/services/browser-workspace.js +7 -0
  373. package/packages/agent/src/services/index.d.ts +1 -0
  374. package/packages/agent/src/services/index.d.ts.map +1 -1
  375. package/packages/agent/src/services/index.js +1 -0
  376. package/packages/agent/src/services/launchpads/image-generator.d.ts +22 -0
  377. package/packages/agent/src/services/launchpads/image-generator.d.ts.map +1 -0
  378. package/packages/agent/src/services/launchpads/image-generator.js +46 -0
  379. package/packages/agent/src/services/launchpads/launchpad-engine.d.ts +32 -0
  380. package/packages/agent/src/services/launchpads/launchpad-engine.d.ts.map +1 -0
  381. package/packages/agent/src/services/launchpads/launchpad-engine.js +191 -0
  382. package/packages/agent/src/services/launchpads/launchpad-types.d.ts +116 -0
  383. package/packages/agent/src/services/launchpads/launchpad-types.d.ts.map +1 -0
  384. package/packages/agent/src/services/launchpads/launchpad-types.js +19 -0
  385. package/packages/agent/src/services/launchpads/metadata-generator.d.ts +24 -0
  386. package/packages/agent/src/services/launchpads/metadata-generator.d.ts.map +1 -0
  387. package/packages/agent/src/services/launchpads/metadata-generator.js +96 -0
  388. package/packages/agent/src/services/launchpads/profiles/flap-sh.d.ts +25 -0
  389. package/packages/agent/src/services/launchpads/profiles/flap-sh.d.ts.map +1 -0
  390. package/packages/agent/src/services/launchpads/profiles/flap-sh.js +80 -0
  391. package/packages/agent/src/services/launchpads/profiles/four-meme.d.ts +11 -0
  392. package/packages/agent/src/services/launchpads/profiles/four-meme.d.ts.map +1 -0
  393. package/packages/agent/src/services/launchpads/profiles/four-meme.js +70 -0
  394. package/packages/agent/src/services/registry-client.js +1 -1
  395. package/packages/agent/src/services/research-task-executor.d.ts.map +1 -1
  396. package/packages/agent/src/services/research-task-executor.js +3 -1
  397. package/packages/app-core/src/App.d.ts.map +1 -1
  398. package/packages/app-core/src/App.js +6 -8
  399. package/packages/app-core/src/api/auth/sessions.js +1 -1
  400. package/packages/app-core/src/api/auth/tokens.d.ts +3 -0
  401. package/packages/app-core/src/api/auth/tokens.d.ts.map +1 -0
  402. package/packages/app-core/src/api/auth/tokens.js +13 -0
  403. package/packages/app-core/src/api/auth.d.ts +1 -3
  404. package/packages/app-core/src/api/auth.d.ts.map +1 -1
  405. package/packages/app-core/src/api/auth.js +2 -16
  406. package/packages/app-core/src/api/client-agent.d.ts +14 -3
  407. package/packages/app-core/src/api/client-agent.d.ts.map +1 -1
  408. package/packages/app-core/src/api/client-agent.js +74 -1
  409. package/packages/app-core/src/api/client-base.d.ts.map +1 -1
  410. package/packages/app-core/src/api/client-base.js +34 -2
  411. package/packages/app-core/src/api/client-cloud.d.ts +5 -1
  412. package/packages/app-core/src/api/client-cloud.d.ts.map +1 -1
  413. package/packages/app-core/src/api/client-cloud.js +9 -2
  414. package/packages/app-core/src/api/client-types-chat.d.ts +8 -0
  415. package/packages/app-core/src/api/client-types-chat.d.ts.map +1 -1
  416. package/packages/app-core/src/api/client-types-cloud.d.ts +2 -0
  417. package/packages/app-core/src/api/client-types-cloud.d.ts.map +1 -1
  418. package/packages/app-core/src/api/client-types-config.d.ts +1 -1
  419. package/packages/app-core/src/api/client-types-config.d.ts.map +1 -1
  420. package/packages/app-core/src/api/client-types-core.d.ts +1 -1
  421. package/packages/app-core/src/api/client-types-core.d.ts.map +1 -1
  422. package/packages/app-core/src/api/client-types-experience.d.ts +50 -0
  423. package/packages/app-core/src/api/client-types-experience.d.ts.map +1 -1
  424. package/packages/app-core/src/api/client-wallet.d.ts +7 -1
  425. package/packages/app-core/src/api/client-wallet.d.ts.map +1 -1
  426. package/packages/app-core/src/api/client-wallet.js +6 -0
  427. package/packages/app-core/src/components/accounts/AccountCard.d.ts.map +1 -1
  428. package/packages/app-core/src/components/accounts/AccountCard.js +5 -3
  429. package/packages/app-core/src/components/accounts/AccountList.d.ts.map +1 -1
  430. package/packages/app-core/src/components/accounts/AccountList.js +1 -9
  431. package/packages/app-core/src/components/accounts/AddAccountDialog.d.ts.map +1 -1
  432. package/packages/app-core/src/components/accounts/AddAccountDialog.js +2 -27
  433. package/packages/app-core/src/components/accounts/RotationStrategyPicker.d.ts.map +1 -1
  434. package/packages/app-core/src/components/accounts/RotationStrategyPicker.js +0 -5
  435. package/packages/app-core/src/components/apps/AppsCatalogGrid.js +1 -1
  436. package/packages/app-core/src/components/apps/app-identity.d.ts +8 -0
  437. package/packages/app-core/src/components/apps/app-identity.d.ts.map +1 -1
  438. package/packages/app-core/src/components/apps/app-identity.js +23 -2
  439. package/packages/app-core/src/components/apps/catalog-loader.d.ts.map +1 -1
  440. package/packages/app-core/src/components/apps/catalog-loader.js +10 -1
  441. package/packages/app-core/src/components/apps/helpers.d.ts +5 -2
  442. package/packages/app-core/src/components/apps/helpers.d.ts.map +1 -1
  443. package/packages/app-core/src/components/apps/helpers.js +14 -3
  444. package/packages/app-core/src/components/apps/overlay-app-registry.d.ts.map +1 -1
  445. package/packages/app-core/src/components/apps/overlay-app-registry.js +13 -2
  446. package/packages/app-core/src/components/character/CharacterExperienceWorkspace.d.ts.map +1 -1
  447. package/packages/app-core/src/components/character/CharacterExperienceWorkspace.js +220 -3
  448. package/packages/app-core/src/components/character/character-hub-helpers.d.ts.map +1 -1
  449. package/packages/app-core/src/components/character/character-hub-helpers.js +4 -0
  450. package/packages/app-core/src/components/character/character-hub-types.d.ts +4 -0
  451. package/packages/app-core/src/components/character/character-hub-types.d.ts.map +1 -1
  452. package/packages/app-core/src/components/chat/AppsSection.d.ts.map +1 -1
  453. package/packages/app-core/src/components/chat/AppsSection.js +24 -1
  454. package/packages/app-core/src/components/chat/TasksEventsPanel.d.ts.map +1 -1
  455. package/packages/app-core/src/components/chat/TasksEventsPanel.js +1 -1
  456. package/packages/app-core/src/components/connectors/ConnectorModeSelector.d.ts +35 -0
  457. package/packages/app-core/src/components/connectors/ConnectorModeSelector.d.ts.map +1 -0
  458. package/packages/app-core/src/components/connectors/ConnectorModeSelector.js +150 -0
  459. package/packages/app-core/src/components/conversations/ConversationsSidebar.d.ts.map +1 -1
  460. package/packages/app-core/src/components/conversations/ConversationsSidebar.js +8 -6
  461. package/packages/app-core/src/components/custom-actions/custom-action-form.d.ts +1 -1
  462. package/packages/app-core/src/components/custom-actions/custom-action-form.d.ts.map +1 -1
  463. package/packages/app-core/src/components/custom-actions/custom-action-form.js +1 -1
  464. package/packages/app-core/src/components/local-inference/LocalInferencePanel.d.ts.map +1 -1
  465. package/packages/app-core/src/components/local-inference/LocalInferencePanel.js +1 -3
  466. package/packages/app-core/src/components/local-inference/ProvidersList.d.ts +0 -13
  467. package/packages/app-core/src/components/local-inference/ProvidersList.d.ts.map +1 -1
  468. package/packages/app-core/src/components/local-inference/ProvidersList.js +10 -21
  469. package/packages/app-core/src/components/local-inference/RoutingMatrix.d.ts +0 -11
  470. package/packages/app-core/src/components/local-inference/RoutingMatrix.d.ts.map +1 -1
  471. package/packages/app-core/src/components/local-inference/RoutingMatrix.js +21 -18
  472. package/packages/app-core/src/components/local-inference/SlotAssignments.d.ts.map +1 -1
  473. package/packages/app-core/src/components/local-inference/SlotAssignments.js +11 -11
  474. package/packages/app-core/src/components/onboarding/BootstrapStep.d.ts +5 -2
  475. package/packages/app-core/src/components/onboarding/BootstrapStep.d.ts.map +1 -1
  476. package/packages/app-core/src/components/onboarding/BootstrapStep.js +54 -6
  477. package/packages/app-core/src/components/pages/AppDetailsView.d.ts +4 -6
  478. package/packages/app-core/src/components/pages/AppDetailsView.d.ts.map +1 -1
  479. package/packages/app-core/src/components/pages/AppDetailsView.js +109 -54
  480. package/packages/app-core/src/components/pages/AppsView.d.ts.map +1 -1
  481. package/packages/app-core/src/components/pages/AppsView.js +33 -53
  482. package/packages/app-core/src/components/pages/AutomationsView.d.ts.map +1 -1
  483. package/packages/app-core/src/components/pages/AutomationsView.js +6 -22
  484. package/packages/app-core/src/components/pages/BrowserWorkspaceView.d.ts +14 -0
  485. package/packages/app-core/src/components/pages/BrowserWorkspaceView.d.ts.map +1 -1
  486. package/packages/app-core/src/components/pages/BrowserWorkspaceView.js +462 -45
  487. package/packages/app-core/src/components/pages/ChatView.d.ts.map +1 -1
  488. package/packages/app-core/src/components/pages/ChatView.js +1 -1
  489. package/packages/app-core/src/components/pages/ConfigPageView.js +2 -2
  490. package/packages/app-core/src/components/pages/InventoryView.js +4 -4
  491. package/packages/app-core/src/components/pages/KnowledgeView.js +1 -1
  492. package/packages/app-core/src/components/pages/LogsView.d.ts.map +1 -1
  493. package/packages/app-core/src/components/pages/LogsView.js +0 -4
  494. package/packages/app-core/src/components/pages/SecretsView.js +1 -1
  495. package/packages/app-core/src/components/pages/SettingsView.d.ts.map +1 -1
  496. package/packages/app-core/src/components/pages/SettingsView.js +76 -176
  497. package/packages/app-core/src/components/pages/WorkflowGraphViewer.js +1 -1
  498. package/packages/app-core/src/components/pages/page-scoped-conversations.d.ts +1 -1
  499. package/packages/app-core/src/components/pages/page-scoped-conversations.d.ts.map +1 -1
  500. package/packages/app-core/src/components/pages/page-scoped-conversations.js +62 -7
  501. package/packages/app-core/src/components/pages/plugin-list-utils.d.ts.map +1 -1
  502. package/packages/app-core/src/components/pages/plugin-list-utils.js +0 -1
  503. package/packages/app-core/src/components/pages/plugin-view-connectors.d.ts.map +1 -1
  504. package/packages/app-core/src/components/pages/plugin-view-connectors.js +12 -4
  505. package/packages/app-core/src/components/pages/useBrowserWorkspaceWalletBridge.d.ts.map +1 -1
  506. package/packages/app-core/src/components/pages/useBrowserWorkspaceWalletBridge.js +41 -0
  507. package/packages/app-core/src/components/settings/AppearanceSettingsSection.d.ts.map +1 -1
  508. package/packages/app-core/src/components/settings/AppearanceSettingsSection.js +3 -42
  509. package/packages/app-core/src/components/settings/ProviderSwitcher.d.ts.map +1 -1
  510. package/packages/app-core/src/components/settings/ProviderSwitcher.js +74 -39
  511. package/packages/app-core/src/components/settings/SubscriptionStatus.d.ts.map +1 -1
  512. package/packages/app-core/src/components/settings/SubscriptionStatus.js +2 -2
  513. package/packages/app-core/src/components/settings/permission-controls.d.ts.map +1 -1
  514. package/packages/app-core/src/components/settings/permission-controls.js +41 -7
  515. package/packages/app-core/src/components/shell/BugReportModal.js +2 -2
  516. package/packages/app-core/src/components/shell/CommandPalette.d.ts.map +1 -1
  517. package/packages/app-core/src/components/shell/CommandPalette.js +3 -3
  518. package/packages/app-core/src/components/shell/Header.js +2 -2
  519. package/packages/app-core/src/components/shell/RuntimeGate.d.ts.map +1 -1
  520. package/packages/app-core/src/components/shell/RuntimeGate.js +309 -57
  521. package/packages/app-core/src/components/shell/StartupShell.js +2 -2
  522. package/packages/app-core/src/components/workspace/AppWorkspaceChrome.js +2 -2
  523. package/packages/app-core/src/config/boot-config-store.d.ts +35 -6
  524. package/packages/app-core/src/config/boot-config-store.d.ts.map +1 -1
  525. package/packages/app-core/src/hooks/useAccounts.d.ts +1 -1
  526. package/packages/app-core/src/hooks/useAccounts.d.ts.map +1 -1
  527. package/packages/app-core/src/hooks/voice-chat-playback.d.ts.map +1 -1
  528. package/packages/app-core/src/hooks/voice-chat-playback.js +2 -2
  529. package/packages/app-core/src/i18n/locales/en.json +229 -210
  530. package/packages/app-core/src/i18n/locales/es.json +255 -236
  531. package/packages/app-core/src/i18n/locales/ko.json +255 -236
  532. package/packages/app-core/src/i18n/locales/pt.json +255 -236
  533. package/packages/app-core/src/i18n/locales/tl.json +254 -235
  534. package/packages/app-core/src/i18n/locales/vi.json +255 -236
  535. package/packages/app-core/src/i18n/locales/zh-CN.json +255 -236
  536. package/packages/app-core/src/onboarding/mobile-runtime-mode.d.ts +1 -1
  537. package/packages/app-core/src/onboarding/mobile-runtime-mode.d.ts.map +1 -1
  538. package/packages/app-core/src/onboarding/mobile-runtime-mode.js +3 -0
  539. package/packages/app-core/src/onboarding/probe-local-agent.d.ts +44 -0
  540. package/packages/app-core/src/onboarding/probe-local-agent.d.ts.map +1 -0
  541. package/packages/app-core/src/onboarding/probe-local-agent.js +126 -0
  542. package/packages/app-core/src/onboarding-config.d.ts +1 -0
  543. package/packages/app-core/src/onboarding-config.d.ts.map +1 -1
  544. package/packages/app-core/src/onboarding-config.js +3 -0
  545. package/packages/app-core/src/platform/init.d.ts +8 -0
  546. package/packages/app-core/src/platform/init.d.ts.map +1 -1
  547. package/packages/app-core/src/platform/init.js +10 -0
  548. package/packages/app-core/src/services/account-pool.d.ts +98 -0
  549. package/packages/app-core/src/services/account-pool.d.ts.map +1 -0
  550. package/packages/app-core/src/services/account-pool.js +506 -0
  551. package/packages/app-core/src/services/account-usage.d.ts +75 -0
  552. package/packages/app-core/src/services/account-usage.d.ts.map +1 -0
  553. package/packages/app-core/src/services/account-usage.js +179 -0
  554. package/packages/app-core/src/services/local-inference/active-model.d.ts +14 -0
  555. package/packages/app-core/src/services/local-inference/active-model.d.ts.map +1 -1
  556. package/packages/app-core/src/services/local-inference/device-bridge.d.ts +7 -0
  557. package/packages/app-core/src/services/local-inference/device-bridge.d.ts.map +1 -1
  558. package/packages/app-core/src/services/local-inference/device-bridge.js +108 -3
  559. package/packages/app-core/src/services/local-inference/paths.d.ts +9 -2
  560. package/packages/app-core/src/services/local-inference/paths.d.ts.map +1 -1
  561. package/packages/app-core/src/services/local-inference/paths.js +10 -3
  562. package/packages/app-core/src/services/local-inference/providers.d.ts +1 -1
  563. package/packages/app-core/src/services/local-inference/providers.d.ts.map +1 -1
  564. package/packages/app-core/src/services/local-inference/providers.js +46 -0
  565. package/packages/app-core/src/services/local-inference/routing-preferences.d.ts +3 -1
  566. package/packages/app-core/src/services/local-inference/routing-preferences.d.ts.map +1 -1
  567. package/packages/app-core/src/services/local-inference/routing-preferences.js +1 -0
  568. package/packages/app-core/src/services/local-inference/types.d.ts +1 -1
  569. package/packages/app-core/src/services/local-inference/types.d.ts.map +1 -1
  570. package/packages/app-core/src/shell/AppWindowRenderer.d.ts.map +1 -1
  571. package/packages/app-core/src/shell/AppWindowRenderer.js +14 -26
  572. package/packages/app-core/src/state/AppContext.d.ts +1 -1
  573. package/packages/app-core/src/state/AppContext.d.ts.map +1 -1
  574. package/packages/app-core/src/state/AppContext.js +1 -1
  575. package/packages/app-core/src/state/connector-deeplink.d.ts +30 -0
  576. package/packages/app-core/src/state/connector-deeplink.d.ts.map +1 -0
  577. package/packages/app-core/src/state/connector-deeplink.js +46 -0
  578. package/packages/app-core/src/state/index.d.ts +1 -0
  579. package/packages/app-core/src/state/index.d.ts.map +1 -1
  580. package/packages/app-core/src/state/index.js +1 -0
  581. package/packages/app-core/src/state/useCloudState.d.ts.map +1 -1
  582. package/packages/app-core/src/state/useCloudState.js +4 -1
  583. package/packages/app-core/src/state/useMiscUiState.js +1 -1
  584. package/packages/app-core/src/utils/asset-url.d.ts.map +1 -1
  585. package/packages/app-core/src/utils/asset-url.js +14 -1
  586. package/packages/app-core/src/utils/browser-tabs-renderer-registry.d.ts +56 -0
  587. package/packages/app-core/src/utils/browser-tabs-renderer-registry.d.ts.map +1 -0
  588. package/packages/app-core/src/utils/browser-tabs-renderer-registry.js +738 -0
  589. package/packages/app-core/src/utils/errors.d.ts +13 -0
  590. package/packages/app-core/src/utils/errors.d.ts.map +1 -0
  591. package/packages/app-core/src/utils/errors.js +25 -0
  592. package/packages/shared/src/connector-cred-types.d.ts +27 -0
  593. package/packages/shared/src/connector-cred-types.d.ts.map +1 -0
  594. package/packages/shared/src/connector-cred-types.js +63 -0
  595. package/packages/shared/src/contracts/apps.d.ts.map +1 -1
  596. package/packages/shared/src/contracts/apps.js +10 -0
  597. package/packages/shared/src/contracts/lifeops-extensions.d.ts +145 -0
  598. package/packages/shared/src/contracts/lifeops-extensions.d.ts.map +1 -1
  599. package/packages/shared/src/contracts/lifeops-extensions.js +6 -0
  600. package/packages/shared/src/contracts/lifeops.d.ts +265 -25
  601. package/packages/shared/src/contracts/lifeops.d.ts.map +1 -1
  602. package/packages/shared/src/contracts/lifeops.js +56 -0
  603. package/packages/shared/src/contracts/service-routing.d.ts +1 -0
  604. package/packages/shared/src/contracts/service-routing.d.ts.map +1 -1
  605. package/packages/shared/src/contracts/service-routing.js +3 -0
  606. package/packages/shared/src/index.d.ts +1 -0
  607. package/packages/shared/src/index.d.ts.map +1 -1
  608. package/packages/shared/src/index.js +1 -0
  609. package/packages/shared/src/runtime-env.d.ts +2 -0
  610. package/packages/shared/src/runtime-env.d.ts.map +1 -1
  611. package/packages/shared/src/runtime-env.js +20 -0
  612. package/packages/shared/src/spoken-text.js +2 -2
  613. package/packages/typescript/src/action-docs.d.ts +4 -0
  614. package/packages/typescript/src/action-docs.d.ts.map +1 -1
  615. package/packages/typescript/src/action-docs.js +29 -5
  616. package/packages/typescript/src/actions.d.ts.map +1 -1
  617. package/packages/typescript/src/actions.js +19 -3
  618. package/packages/typescript/src/features/advanced-capabilities/actions/removeContact.d.ts.map +1 -1
  619. package/packages/typescript/src/features/advanced-capabilities/actions/removeContact.js +23 -4
  620. package/packages/typescript/src/features/advanced-capabilities/actions/scheduleFollowUp.d.ts.map +1 -1
  621. package/packages/typescript/src/features/advanced-capabilities/actions/scheduleFollowUp.js +2 -0
  622. package/packages/typescript/src/features/advanced-capabilities/actions/searchContacts.d.ts.map +1 -1
  623. package/packages/typescript/src/features/advanced-capabilities/actions/searchContacts.js +2 -0
  624. package/packages/typescript/src/features/advanced-capabilities/actions/updateContact.d.ts.map +1 -1
  625. package/packages/typescript/src/features/advanced-capabilities/actions/updateContact.js +23 -3
  626. package/packages/typescript/src/features/advanced-capabilities/clipboard/actions/read-attachment.d.ts.map +1 -1
  627. package/packages/typescript/src/features/advanced-capabilities/clipboard/actions/read-attachment.js +9 -1
  628. package/packages/typescript/src/features/advanced-capabilities/clipboard/actions/read-file.d.ts.map +1 -1
  629. package/packages/typescript/src/features/advanced-capabilities/clipboard/actions/read-file.js +4 -0
  630. package/packages/typescript/src/features/advanced-capabilities/clipboard/actions/save-attachment-to-clipboard.d.ts.map +1 -1
  631. package/packages/typescript/src/features/advanced-capabilities/clipboard/actions/save-attachment-to-clipboard.js +8 -1
  632. package/packages/typescript/src/features/advanced-capabilities/clipboard/types.d.ts +1 -1
  633. package/packages/typescript/src/features/advanced-capabilities/clipboard/types.d.ts.map +1 -1
  634. package/packages/typescript/src/features/advanced-capabilities/evaluators/factExtractor.js +2 -2
  635. package/packages/typescript/src/features/advanced-capabilities/experience/actions/record-experience.d.ts.map +1 -1
  636. package/packages/typescript/src/features/advanced-capabilities/experience/actions/record-experience.js +1 -0
  637. package/packages/typescript/src/features/advanced-capabilities/experience/actions/search-experiences.d.ts +3 -0
  638. package/packages/typescript/src/features/advanced-capabilities/experience/actions/search-experiences.d.ts.map +1 -0
  639. package/packages/typescript/src/features/advanced-capabilities/experience/actions/search-experiences.js +110 -0
  640. package/packages/typescript/src/features/advanced-capabilities/experience/evaluators/experienceEvaluator.d.ts.map +1 -1
  641. package/packages/typescript/src/features/advanced-capabilities/experience/evaluators/experienceEvaluator.js +5 -0
  642. package/packages/typescript/src/features/advanced-capabilities/experience/index.d.ts +1 -0
  643. package/packages/typescript/src/features/advanced-capabilities/experience/index.d.ts.map +1 -1
  644. package/packages/typescript/src/features/advanced-capabilities/experience/index.js +1 -0
  645. package/packages/typescript/src/features/advanced-capabilities/experience/providers/experienceProvider.d.ts.map +1 -1
  646. package/packages/typescript/src/features/advanced-capabilities/experience/providers/experienceProvider.js +16 -6
  647. package/packages/typescript/src/features/advanced-capabilities/experience/service.d.ts +21 -1
  648. package/packages/typescript/src/features/advanced-capabilities/experience/service.d.ts.map +1 -1
  649. package/packages/typescript/src/features/advanced-capabilities/experience/service.js +391 -8
  650. package/packages/typescript/src/features/advanced-capabilities/experience/types.d.ts +44 -0
  651. package/packages/typescript/src/features/advanced-capabilities/experience/types.d.ts.map +1 -1
  652. package/packages/typescript/src/features/advanced-capabilities/experience/utils/experienceFormatter.d.ts +24 -0
  653. package/packages/typescript/src/features/advanced-capabilities/experience/utils/experienceFormatter.d.ts.map +1 -0
  654. package/packages/typescript/src/features/advanced-capabilities/experience/utils/experienceFormatter.js +152 -0
  655. package/packages/typescript/src/features/advanced-capabilities/experience/utils/experienceText.d.ts +1 -0
  656. package/packages/typescript/src/features/advanced-capabilities/experience/utils/experienceText.d.ts.map +1 -1
  657. package/packages/typescript/src/features/advanced-capabilities/experience/utils/experienceText.js +53 -1
  658. package/packages/typescript/src/features/advanced-capabilities/index.d.ts.map +1 -1
  659. package/packages/typescript/src/features/advanced-capabilities/index.js +4 -2
  660. package/packages/typescript/src/features/advanced-capabilities/personality/index.d.ts +1 -2
  661. package/packages/typescript/src/features/advanced-capabilities/personality/index.d.ts.map +1 -1
  662. package/packages/typescript/src/features/advanced-capabilities/personality/index.js +1 -2
  663. package/packages/typescript/src/features/advanced-planning/actions/chain-example.d.ts.map +1 -1
  664. package/packages/typescript/src/features/advanced-planning/actions/chain-example.js +4 -7
  665. package/packages/typescript/src/features/basic-capabilities/actions/reply.d.ts.map +1 -1
  666. package/packages/typescript/src/features/basic-capabilities/actions/reply.js +1 -0
  667. package/packages/typescript/src/features/basic-capabilities/index.d.ts +1 -1
  668. package/packages/typescript/src/features/basic-capabilities/index.d.ts.map +1 -1
  669. package/packages/typescript/src/features/basic-capabilities/providers/actions.d.ts.map +1 -1
  670. package/packages/typescript/src/features/basic-capabilities/providers/actions.js +40 -2
  671. package/packages/typescript/src/features/index.js +1 -1
  672. package/packages/typescript/src/features/knowledge/actions.d.ts.map +1 -1
  673. package/packages/typescript/src/features/knowledge/actions.js +42 -16
  674. package/packages/typescript/src/features/plugin-manager/actions/coreStatusAction.d.ts.map +1 -1
  675. package/packages/typescript/src/features/plugin-manager/actions/coreStatusAction.js +23 -5
  676. package/packages/typescript/src/features/plugin-manager/actions/listEjectedPluginsAction.d.ts.map +1 -1
  677. package/packages/typescript/src/features/plugin-manager/actions/listEjectedPluginsAction.js +31 -6
  678. package/packages/typescript/src/features/plugin-manager/actions/plugin-handlers/core-status.d.ts.map +1 -1
  679. package/packages/typescript/src/features/plugin-manager/actions/plugin-handlers/create.d.ts.map +1 -1
  680. package/packages/typescript/src/features/plugin-manager/actions/plugin-handlers/create.js +21 -5
  681. package/packages/typescript/src/features/plugin-manager/actions/plugin-handlers/eject.d.ts.map +1 -1
  682. package/packages/typescript/src/features/plugin-manager/actions/plugin-handlers/eject.js +3 -1
  683. package/packages/typescript/src/features/plugin-manager/actions/plugin-handlers/install.d.ts.map +1 -1
  684. package/packages/typescript/src/features/plugin-manager/actions/plugin.d.ts.map +1 -1
  685. package/packages/typescript/src/features/plugin-manager/actions/plugin.js +4 -1
  686. package/packages/typescript/src/features/plugin-manager/actions/searchPluginAction.d.ts.map +1 -1
  687. package/packages/typescript/src/features/plugin-manager/actions/searchPluginAction.js +44 -11
  688. package/packages/typescript/src/features/plugin-manager/index.d.ts +2 -2
  689. package/packages/typescript/src/features/plugin-manager/index.d.ts.map +1 -1
  690. package/packages/typescript/src/features/plugin-manager/index.js +3 -3
  691. package/packages/typescript/src/features/plugin-manager/security.d.ts.map +1 -1
  692. package/packages/typescript/src/features/plugin-manager/services/pluginManagerService.d.ts.map +1 -1
  693. package/packages/typescript/src/features/plugin-manager/services/pluginManagerService.js +0 -1
  694. package/packages/typescript/src/features/plugin-manager/services/pluginRegistryService.d.ts.map +1 -1
  695. package/packages/typescript/src/features/plugin-manager/services/pluginRegistryService.js +1 -2
  696. package/packages/typescript/src/features/secrets/actions/manage-secret.d.ts.map +1 -1
  697. package/packages/typescript/src/features/secrets/actions/manage-secret.js +13 -2
  698. package/packages/typescript/src/features/secrets/actions/request-secret.d.ts.map +1 -1
  699. package/packages/typescript/src/features/secrets/actions/request-secret.js +23 -5
  700. package/packages/typescript/src/features/secrets/actions/set-secret.d.ts.map +1 -1
  701. package/packages/typescript/src/features/secrets/actions/set-secret.js +22 -4
  702. package/packages/typescript/src/features/secrets/index.d.ts +22 -0
  703. package/packages/typescript/src/features/secrets/index.d.ts.map +1 -0
  704. package/packages/typescript/src/features/secrets/index.js +24 -0
  705. package/packages/typescript/src/features/secrets/onboarding/action.d.ts.map +1 -1
  706. package/packages/typescript/src/features/secrets/onboarding/action.js +1 -0
  707. package/packages/typescript/src/features/secrets/plugin.d.ts +70 -0
  708. package/packages/typescript/src/features/secrets/plugin.d.ts.map +1 -0
  709. package/packages/typescript/src/features/secrets/plugin.js +87 -0
  710. package/packages/typescript/src/features/secrets/services/index.d.ts +7 -0
  711. package/packages/typescript/src/features/secrets/services/index.d.ts.map +1 -0
  712. package/packages/typescript/src/features/secrets/services/index.js +5 -0
  713. package/packages/typescript/src/features/secrets/types.d.ts +1 -1
  714. package/packages/typescript/src/features/secrets/types.js +1 -1
  715. package/packages/typescript/src/features/trust/actions/evaluateTrust.d.ts.map +1 -1
  716. package/packages/typescript/src/features/trust/actions/evaluateTrust.js +5 -0
  717. package/packages/typescript/src/features/trust/actions/recordTrustInteraction.d.ts.map +1 -1
  718. package/packages/typescript/src/features/trust/actions/recordTrustInteraction.js +5 -0
  719. package/packages/typescript/src/features/trust/actions/requestElevation.d.ts.map +1 -1
  720. package/packages/typescript/src/features/trust/actions/requestElevation.js +5 -0
  721. package/packages/typescript/src/features/trust/actions/roles.d.ts.map +1 -1
  722. package/packages/typescript/src/features/trust/actions/roles.js +4 -0
  723. package/packages/typescript/src/features/trust/actions/settings.d.ts.map +1 -1
  724. package/packages/typescript/src/features/trust/actions/settings.js +17 -4
  725. package/packages/typescript/src/features/trust/index.js +4 -4
  726. package/packages/typescript/src/features/trust/providers/settings.js +1 -1
  727. package/packages/typescript/src/features/trust/services/SecurityStore.d.ts +1 -1
  728. package/packages/typescript/src/features/trust/services/SecurityStore.js +1 -1
  729. package/packages/typescript/src/features/trust/services/db.js +1 -1
  730. package/packages/typescript/src/generated/action-docs.d.ts +93 -15
  731. package/packages/typescript/src/generated/action-docs.d.ts.map +1 -1
  732. package/packages/typescript/src/generated/action-docs.js +93 -16
  733. package/packages/typescript/src/index.node.d.ts +3 -0
  734. package/packages/typescript/src/index.node.d.ts.map +1 -1
  735. package/packages/typescript/src/index.node.js +4 -0
  736. package/packages/typescript/src/lifeops-passive-connectors.d.ts +7 -0
  737. package/packages/typescript/src/lifeops-passive-connectors.d.ts.map +1 -0
  738. package/packages/typescript/src/lifeops-passive-connectors.js +39 -0
  739. package/packages/typescript/src/runtime.d.ts +1 -0
  740. package/packages/typescript/src/runtime.d.ts.map +1 -1
  741. package/packages/typescript/src/runtime.js +199 -9
  742. package/packages/typescript/src/services/message.d.ts +7 -0
  743. package/packages/typescript/src/services/message.d.ts.map +1 -1
  744. package/packages/typescript/src/services/message.js +222 -25
  745. package/packages/typescript/src/types/components.d.ts +5 -0
  746. package/packages/typescript/src/types/components.d.ts.map +1 -1
  747. package/packages/typescript/src/types/memory.d.ts +2 -1
  748. package/packages/typescript/src/types/memory.d.ts.map +1 -1
  749. package/packages/typescript/src/utils/context-catalog.d.ts.map +1 -1
  750. package/packages/typescript/src/utils/context-catalog.js +124 -14
  751. package/packages/typescript/src/utils/context-routing.d.ts.map +1 -1
  752. package/packages/typescript/src/utils/context-routing.js +42 -0
  753. package/packages/typescript/src/utils/prompt-compression.d.ts +6 -0
  754. package/packages/typescript/src/utils/prompt-compression.d.ts.map +1 -0
  755. package/packages/typescript/src/utils/prompt-compression.js +14 -0
  756. package/packages/typescript/src/utils.d.ts +1 -0
  757. package/packages/typescript/src/utils.d.ts.map +1 -1
  758. package/packages/typescript/src/utils.js +2 -1
  759. package/packages/ui/src/components/composites/chat/chat-composer-shell.js +1 -1
  760. package/packages/ui/src/components/composites/sidebar/sidebar-root.js +3 -3
  761. package/packages/ui/src/components/ui/dialog.js +1 -1
  762. package/packages/ui/src/components/ui/drawer-sheet.js +1 -1
  763. package/packages/ui/src/components/ui/themed-select.js +2 -2
  764. package/packages/ui/src/components/ui/tooltip-extended.js +1 -1
  765. package/packages/ui/src/components/ui/tooltip.js +1 -1
  766. package/packages/ui/src/layouts/page-layout/page-layout-mobile-drawer.js +1 -1
  767. package/packages/ui/src/layouts/workspace-layout/workspace-layout.js +2 -2
  768. package/plugins/plugin-browser-bridge/src/actions.d.ts +44 -0
  769. package/plugins/plugin-browser-bridge/src/actions.d.ts.map +1 -0
  770. package/plugins/plugin-browser-bridge/src/actions.js +234 -0
  771. package/plugins/plugin-browser-bridge/src/contracts.d.ts +272 -0
  772. package/plugins/plugin-browser-bridge/src/contracts.d.ts.map +1 -0
  773. package/plugins/plugin-browser-bridge/src/contracts.js +48 -0
  774. package/plugins/plugin-browser-bridge/src/index.d.ts +19 -0
  775. package/plugins/plugin-browser-bridge/src/index.d.ts.map +1 -0
  776. package/plugins/plugin-browser-bridge/src/index.js +18 -0
  777. package/plugins/plugin-browser-bridge/src/packaging.d.ts +27 -0
  778. package/plugins/plugin-browser-bridge/src/packaging.d.ts.map +1 -0
  779. package/plugins/plugin-browser-bridge/src/packaging.js +503 -0
  780. package/plugins/plugin-browser-bridge/src/plugin.d.ts +10 -0
  781. package/plugins/plugin-browser-bridge/src/plugin.d.ts.map +1 -0
  782. package/plugins/plugin-browser-bridge/src/plugin.js +140 -0
  783. package/plugins/plugin-browser-bridge/src/routes.d.ts +37 -0
  784. package/plugins/plugin-browser-bridge/src/routes.d.ts.map +1 -0
  785. package/plugins/plugin-browser-bridge/src/routes.js +496 -0
  786. package/plugins/plugin-browser-bridge/src/schema.d.ts +2250 -0
  787. package/plugins/plugin-browser-bridge/src/schema.d.ts.map +1 -0
  788. package/plugins/plugin-browser-bridge/src/schema.js +111 -0
  789. package/plugins/plugin-browser-bridge/src/service.d.ts +28 -0
  790. package/plugins/plugin-browser-bridge/src/service.d.ts.map +1 -0
  791. package/plugins/plugin-browser-bridge/src/service.js +1 -0
  792. package/apps/app-lifeops/src/components/AppBlockerSettingsCard.d.ts +0 -3
  793. package/apps/app-lifeops/src/components/AppBlockerSettingsCard.d.ts.map +0 -1
  794. package/apps/app-lifeops/src/components/AppBlockerSettingsCard.js +0 -189
  795. package/apps/app-lifeops/src/components/BrowserBridgeSetupPanel.d.ts +0 -2
  796. package/apps/app-lifeops/src/components/BrowserBridgeSetupPanel.d.ts.map +0 -1
  797. package/apps/app-lifeops/src/components/BrowserBridgeSetupPanel.js +0 -1065
  798. package/apps/app-lifeops/src/components/BrowserBridgeStatusChip.d.ts +0 -7
  799. package/apps/app-lifeops/src/components/BrowserBridgeStatusChip.d.ts.map +0 -1
  800. package/apps/app-lifeops/src/components/BrowserBridgeStatusChip.js +0 -71
  801. package/apps/app-lifeops/src/components/DataSourcesStrip.d.ts +0 -14
  802. package/apps/app-lifeops/src/components/DataSourcesStrip.d.ts.map +0 -1
  803. package/apps/app-lifeops/src/components/DataSourcesStrip.js +0 -36
  804. package/apps/app-lifeops/src/components/EventEditorDrawer.d.ts +0 -23
  805. package/apps/app-lifeops/src/components/EventEditorDrawer.d.ts.map +0 -1
  806. package/apps/app-lifeops/src/components/EventEditorDrawer.js +0 -514
  807. package/apps/app-lifeops/src/components/LifeOpsActivitySignalsEffect.d.ts +0 -2
  808. package/apps/app-lifeops/src/components/LifeOpsActivitySignalsEffect.d.ts.map +0 -1
  809. package/apps/app-lifeops/src/components/LifeOpsActivitySignalsEffect.js +0 -10
  810. package/apps/app-lifeops/src/components/LifeOpsCalendarSection.d.ts +0 -15
  811. package/apps/app-lifeops/src/components/LifeOpsCalendarSection.d.ts.map +0 -1
  812. package/apps/app-lifeops/src/components/LifeOpsCalendarSection.js +0 -515
  813. package/apps/app-lifeops/src/components/LifeOpsChatAdapter.d.ts +0 -34
  814. package/apps/app-lifeops/src/components/LifeOpsChatAdapter.d.ts.map +0 -1
  815. package/apps/app-lifeops/src/components/LifeOpsChatAdapter.js +0 -175
  816. package/apps/app-lifeops/src/components/LifeOpsFeatureTogglesSection.d.ts +0 -2
  817. package/apps/app-lifeops/src/components/LifeOpsFeatureTogglesSection.d.ts.map +0 -1
  818. package/apps/app-lifeops/src/components/LifeOpsFeatureTogglesSection.js +0 -99
  819. package/apps/app-lifeops/src/components/LifeOpsHabitVisuals.d.ts +0 -37
  820. package/apps/app-lifeops/src/components/LifeOpsHabitVisuals.d.ts.map +0 -1
  821. package/apps/app-lifeops/src/components/LifeOpsHabitVisuals.js +0 -88
  822. package/apps/app-lifeops/src/components/LifeOpsInboxSection.d.ts +0 -13
  823. package/apps/app-lifeops/src/components/LifeOpsInboxSection.d.ts.map +0 -1
  824. package/apps/app-lifeops/src/components/LifeOpsInboxSection.js +0 -491
  825. package/apps/app-lifeops/src/components/LifeOpsLinkBankButton.d.ts +0 -12
  826. package/apps/app-lifeops/src/components/LifeOpsLinkBankButton.d.ts.map +0 -1
  827. package/apps/app-lifeops/src/components/LifeOpsLinkBankButton.js +0 -92
  828. package/apps/app-lifeops/src/components/LifeOpsLinkPaypalButton.d.ts +0 -12
  829. package/apps/app-lifeops/src/components/LifeOpsLinkPaypalButton.d.ts.map +0 -1
  830. package/apps/app-lifeops/src/components/LifeOpsLinkPaypalButton.js +0 -160
  831. package/apps/app-lifeops/src/components/LifeOpsMoneySection.d.ts +0 -3
  832. package/apps/app-lifeops/src/components/LifeOpsMoneySection.d.ts.map +0 -1
  833. package/apps/app-lifeops/src/components/LifeOpsMoneySection.js +0 -373
  834. package/apps/app-lifeops/src/components/LifeOpsNavRail.d.ts +0 -9
  835. package/apps/app-lifeops/src/components/LifeOpsNavRail.d.ts.map +0 -1
  836. package/apps/app-lifeops/src/components/LifeOpsNavRail.js +0 -93
  837. package/apps/app-lifeops/src/components/LifeOpsOperationalPanels.d.ts +0 -4
  838. package/apps/app-lifeops/src/components/LifeOpsOperationalPanels.d.ts.map +0 -1
  839. package/apps/app-lifeops/src/components/LifeOpsOperationalPanels.js +0 -274
  840. package/apps/app-lifeops/src/components/LifeOpsOverviewSection.d.ts +0 -7
  841. package/apps/app-lifeops/src/components/LifeOpsOverviewSection.d.ts.map +0 -1
  842. package/apps/app-lifeops/src/components/LifeOpsOverviewSection.js +0 -670
  843. package/apps/app-lifeops/src/components/LifeOpsPageSections.d.ts +0 -42
  844. package/apps/app-lifeops/src/components/LifeOpsPageSections.d.ts.map +0 -1
  845. package/apps/app-lifeops/src/components/LifeOpsPageSections.js +0 -166
  846. package/apps/app-lifeops/src/components/LifeOpsPageView.d.ts +0 -2
  847. package/apps/app-lifeops/src/components/LifeOpsPageView.d.ts.map +0 -1
  848. package/apps/app-lifeops/src/components/LifeOpsPageView.js +0 -566
  849. package/apps/app-lifeops/src/components/LifeOpsRemindersSection.d.ts +0 -2
  850. package/apps/app-lifeops/src/components/LifeOpsRemindersSection.d.ts.map +0 -1
  851. package/apps/app-lifeops/src/components/LifeOpsRemindersSection.js +0 -749
  852. package/apps/app-lifeops/src/components/LifeOpsResizableSidebar.d.ts +0 -27
  853. package/apps/app-lifeops/src/components/LifeOpsResizableSidebar.d.ts.map +0 -1
  854. package/apps/app-lifeops/src/components/LifeOpsResizableSidebar.js +0 -106
  855. package/apps/app-lifeops/src/components/LifeOpsScreenTimeSection.d.ts +0 -2
  856. package/apps/app-lifeops/src/components/LifeOpsScreenTimeSection.d.ts.map +0 -1
  857. package/apps/app-lifeops/src/components/LifeOpsScreenTimeSection.js +0 -373
  858. package/apps/app-lifeops/src/components/LifeOpsSectionContent.d.ts +0 -10
  859. package/apps/app-lifeops/src/components/LifeOpsSectionContent.d.ts.map +0 -1
  860. package/apps/app-lifeops/src/components/LifeOpsSectionContent.js +0 -30
  861. package/apps/app-lifeops/src/components/LifeOpsSelectionContext.d.ts +0 -21
  862. package/apps/app-lifeops/src/components/LifeOpsSelectionContext.d.ts.map +0 -1
  863. package/apps/app-lifeops/src/components/LifeOpsSelectionContext.js +0 -30
  864. package/apps/app-lifeops/src/components/LifeOpsSettingsSection.d.ts +0 -20
  865. package/apps/app-lifeops/src/components/LifeOpsSettingsSection.d.ts.map +0 -1
  866. package/apps/app-lifeops/src/components/LifeOpsSettingsSection.js +0 -598
  867. package/apps/app-lifeops/src/components/LifeOpsSetupGate.d.ts +0 -13
  868. package/apps/app-lifeops/src/components/LifeOpsSetupGate.d.ts.map +0 -1
  869. package/apps/app-lifeops/src/components/LifeOpsSetupGate.js +0 -134
  870. package/apps/app-lifeops/src/components/LifeOpsSleepSection.d.ts +0 -10
  871. package/apps/app-lifeops/src/components/LifeOpsSleepSection.d.ts.map +0 -1
  872. package/apps/app-lifeops/src/components/LifeOpsSleepSection.js +0 -425
  873. package/apps/app-lifeops/src/components/LifeOpsWorkspaceShell.d.ts +0 -11
  874. package/apps/app-lifeops/src/components/LifeOpsWorkspaceShell.d.ts.map +0 -1
  875. package/apps/app-lifeops/src/components/LifeOpsWorkspaceShell.js +0 -49
  876. package/apps/app-lifeops/src/components/LifeOpsWorkspaceView.d.ts +0 -2
  877. package/apps/app-lifeops/src/components/LifeOpsWorkspaceView.d.ts.map +0 -1
  878. package/apps/app-lifeops/src/components/LifeOpsWorkspaceView.js +0 -1041
  879. package/apps/app-lifeops/src/components/MessagingConnectorCards.d.ts +0 -7
  880. package/apps/app-lifeops/src/components/MessagingConnectorCards.d.ts.map +0 -1
  881. package/apps/app-lifeops/src/components/MessagingConnectorCards.js +0 -643
  882. package/apps/app-lifeops/src/components/MissingSourceCard.d.ts +0 -9
  883. package/apps/app-lifeops/src/components/MissingSourceCard.d.ts.map +0 -1
  884. package/apps/app-lifeops/src/components/MissingSourceCard.js +0 -5
  885. package/apps/app-lifeops/src/components/MobileSignalsSetupCard.d.ts +0 -2
  886. package/apps/app-lifeops/src/components/MobileSignalsSetupCard.d.ts.map +0 -1
  887. package/apps/app-lifeops/src/components/MobileSignalsSetupCard.js +0 -163
  888. package/apps/app-lifeops/src/components/SleepInspectionPanel.d.ts +0 -8
  889. package/apps/app-lifeops/src/components/SleepInspectionPanel.d.ts.map +0 -1
  890. package/apps/app-lifeops/src/components/SleepInspectionPanel.js +0 -59
  891. package/apps/app-lifeops/src/components/WebsiteBlockerSettingsCard.d.ts +0 -3
  892. package/apps/app-lifeops/src/components/WebsiteBlockerSettingsCard.d.ts.map +0 -1
  893. package/apps/app-lifeops/src/components/WebsiteBlockerSettingsCard.js +0 -75
  894. package/apps/app-lifeops/src/components/WhatsAppQrOverlay.d.ts +0 -8
  895. package/apps/app-lifeops/src/components/WhatsAppQrOverlay.d.ts.map +0 -1
  896. package/apps/app-lifeops/src/components/WhatsAppQrOverlay.js +0 -48
  897. package/apps/app-lifeops/src/components/lifeops-labels.d.ts +0 -2
  898. package/apps/app-lifeops/src/components/lifeops-labels.d.ts.map +0 -1
  899. package/apps/app-lifeops/src/components/lifeops-labels.js +0 -5
  900. package/apps/app-lifeops/src/events/index.d.ts +0 -34
  901. package/apps/app-lifeops/src/events/index.d.ts.map +0 -1
  902. package/apps/app-lifeops/src/events/index.js +0 -23
  903. package/apps/app-lifeops/src/hooks/useCalendarWeek.d.ts +0 -28
  904. package/apps/app-lifeops/src/hooks/useCalendarWeek.d.ts.map +0 -1
  905. package/apps/app-lifeops/src/hooks/useCalendarWeek.js +0 -93
  906. package/apps/app-lifeops/src/hooks/useDiscordConnector.d.ts +0 -14
  907. package/apps/app-lifeops/src/hooks/useDiscordConnector.d.ts.map +0 -1
  908. package/apps/app-lifeops/src/hooks/useDiscordConnector.js +0 -126
  909. package/apps/app-lifeops/src/hooks/useGoogleLifeOpsConnector.d.ts +0 -29
  910. package/apps/app-lifeops/src/hooks/useGoogleLifeOpsConnector.d.ts.map +0 -1
  911. package/apps/app-lifeops/src/hooks/useGoogleLifeOpsConnector.js +0 -481
  912. package/apps/app-lifeops/src/hooks/useIMessageConnector.d.ts +0 -10
  913. package/apps/app-lifeops/src/hooks/useIMessageConnector.d.ts.map +0 -1
  914. package/apps/app-lifeops/src/hooks/useIMessageConnector.js +0 -50
  915. package/apps/app-lifeops/src/hooks/useInbox.d.ts +0 -34
  916. package/apps/app-lifeops/src/hooks/useInbox.d.ts.map +0 -1
  917. package/apps/app-lifeops/src/hooks/useInbox.js +0 -98
  918. package/apps/app-lifeops/src/hooks/useLifeOpsActivitySignals.d.ts +0 -2
  919. package/apps/app-lifeops/src/hooks/useLifeOpsActivitySignals.d.ts.map +0 -1
  920. package/apps/app-lifeops/src/hooks/useLifeOpsActivitySignals.js +0 -383
  921. package/apps/app-lifeops/src/hooks/useLifeOpsAppState.d.ts +0 -9
  922. package/apps/app-lifeops/src/hooks/useLifeOpsAppState.d.ts.map +0 -1
  923. package/apps/app-lifeops/src/hooks/useLifeOpsAppState.js +0 -83
  924. package/apps/app-lifeops/src/hooks/useLifeOpsCapabilitiesStatus.d.ts +0 -8
  925. package/apps/app-lifeops/src/hooks/useLifeOpsCapabilitiesStatus.d.ts.map +0 -1
  926. package/apps/app-lifeops/src/hooks/useLifeOpsCapabilitiesStatus.js +0 -60
  927. package/apps/app-lifeops/src/hooks/useLifeOpsScheduleInspection.d.ts +0 -18
  928. package/apps/app-lifeops/src/hooks/useLifeOpsScheduleInspection.d.ts.map +0 -1
  929. package/apps/app-lifeops/src/hooks/useLifeOpsScheduleInspection.js +0 -66
  930. package/apps/app-lifeops/src/hooks/useLifeOpsScheduleState.d.ts +0 -14
  931. package/apps/app-lifeops/src/hooks/useLifeOpsScheduleState.d.ts.map +0 -1
  932. package/apps/app-lifeops/src/hooks/useLifeOpsScheduleState.js +0 -79
  933. package/apps/app-lifeops/src/hooks/useLifeOpsSection.d.ts +0 -18
  934. package/apps/app-lifeops/src/hooks/useLifeOpsSection.d.ts.map +0 -1
  935. package/apps/app-lifeops/src/hooks/useLifeOpsSection.js +0 -78
  936. package/apps/app-lifeops/src/hooks/useLifeOpsXConnector.d.ts +0 -14
  937. package/apps/app-lifeops/src/hooks/useLifeOpsXConnector.d.ts.map +0 -1
  938. package/apps/app-lifeops/src/hooks/useLifeOpsXConnector.js +0 -160
  939. package/apps/app-lifeops/src/hooks/useSignalConnector.d.ts +0 -16
  940. package/apps/app-lifeops/src/hooks/useSignalConnector.d.ts.map +0 -1
  941. package/apps/app-lifeops/src/hooks/useSignalConnector.js +0 -198
  942. package/apps/app-lifeops/src/hooks/useTelegramConnector.d.ts +0 -21
  943. package/apps/app-lifeops/src/hooks/useTelegramConnector.d.ts.map +0 -1
  944. package/apps/app-lifeops/src/hooks/useTelegramConnector.js +0 -177
  945. package/apps/app-lifeops/src/hooks/useWhatsAppConnector.d.ts +0 -8
  946. package/apps/app-lifeops/src/hooks/useWhatsAppConnector.d.ts.map +0 -1
  947. package/apps/app-lifeops/src/hooks/useWhatsAppConnector.js +0 -58
  948. package/apps/app-lifeops/src/hooks/useWhatsAppPairing.d.ts +0 -12
  949. package/apps/app-lifeops/src/hooks/useWhatsAppPairing.d.ts.map +0 -1
  950. package/apps/app-lifeops/src/hooks/useWhatsAppPairing.js +0 -159
  951. package/apps/app-lifeops/src/lifeops-route.d.ts +0 -74
  952. package/apps/app-lifeops/src/lifeops-route.d.ts.map +0 -1
  953. package/apps/app-lifeops/src/lifeops-route.js +0 -204
  954. package/apps/app-lifeops/src/platform/lifeops-github.d.ts +0 -15
  955. package/apps/app-lifeops/src/platform/lifeops-github.d.ts.map +0 -1
  956. package/apps/app-lifeops/src/platform/lifeops-github.js +0 -135
  957. package/apps/app-lifeops/src/types/app-blocker-settings-card.d.ts +0 -2
  958. package/apps/app-lifeops/src/types/app-blocker-settings-card.d.ts.map +0 -1
  959. package/apps/app-lifeops/src/types/app-blocker-settings-card.js +0 -1
  960. package/apps/app-lifeops/src/types/index.d.ts +0 -3
  961. package/apps/app-lifeops/src/types/index.d.ts.map +0 -1
  962. package/apps/app-lifeops/src/types/index.js +0 -1
  963. package/apps/app-lifeops/src/types/website-blocker-settings-card.d.ts +0 -2
  964. package/apps/app-lifeops/src/types/website-blocker-settings-card.d.ts.map +0 -1
  965. package/apps/app-lifeops/src/types/website-blocker-settings-card.js +0 -1
  966. package/apps/app-lifeops/src/ui.d.ts +0 -11
  967. package/apps/app-lifeops/src/ui.d.ts.map +0 -1
  968. package/apps/app-lifeops/src/ui.js +0 -9
  969. package/apps/app-lifeops/src/utils/lifeops-url.d.ts +0 -5
  970. package/apps/app-lifeops/src/utils/lifeops-url.d.ts.map +0 -1
  971. package/apps/app-lifeops/src/utils/lifeops-url.js +0 -35
  972. package/packages/native-plugins/mobile-signals/src/definitions.d.ts +0 -162
  973. package/packages/native-plugins/mobile-signals/src/definitions.d.ts.map +0 -1
  974. package/packages/native-plugins/mobile-signals/src/definitions.js +0 -1
  975. package/packages/native-plugins/mobile-signals/src/index.d.ts +0 -4
  976. package/packages/native-plugins/mobile-signals/src/index.d.ts.map +0 -1
  977. package/packages/native-plugins/mobile-signals/src/index.js +0 -6
  978. package/packages/native-plugins/mobile-signals/src/web.d.ts +0 -29
  979. package/packages/native-plugins/mobile-signals/src/web.d.ts.map +0 -1
  980. package/packages/native-plugins/mobile-signals/src/web.js +0 -269
@@ -20,6 +20,44 @@ const DEFAULT_GMAIL_SEARCH_CACHE_SCAN_LIMIT = 200;
20
20
  function managedGoogleGrantId(grant) {
21
21
  return grant.cloudConnectionId ?? grant.id;
22
22
  }
23
+ function googleGrantAccountEmail(grant) {
24
+ return (normalizeOptionalString(grant.identityEmail) ??
25
+ (typeof grant.identity.email === "string"
26
+ ? grant.identity.email.trim().toLowerCase()
27
+ : null));
28
+ }
29
+ function metadataString(metadata, key) {
30
+ const value = metadata[key];
31
+ return typeof value === "string" && value.trim().length > 0
32
+ ? value.trim()
33
+ : null;
34
+ }
35
+ function emailLikeMessageFromGmailSummary(message) {
36
+ const headers = {};
37
+ const listUnsubscribe = metadataString(message.metadata, "listUnsubscribe");
38
+ if (listUnsubscribe)
39
+ headers["List-Unsubscribe"] = listUnsubscribe;
40
+ const listId = metadataString(message.metadata, "listId");
41
+ if (listId)
42
+ headers["List-Id"] = listId;
43
+ const precedence = metadataString(message.metadata, "precedence");
44
+ if (precedence)
45
+ headers.Precedence = precedence;
46
+ const autoSubmitted = metadataString(message.metadata, "autoSubmitted");
47
+ if (autoSubmitted)
48
+ headers["Auto-Submitted"] = autoSubmitted;
49
+ return {
50
+ id: message.id,
51
+ externalId: message.externalId,
52
+ subject: message.subject,
53
+ from: message.from,
54
+ fromEmail: message.fromEmail,
55
+ snippet: message.snippet,
56
+ labels: message.labels,
57
+ headers: Object.keys(headers).length > 0 ? headers : null,
58
+ bodyText: metadataString(message.metadata, "bodyText"),
59
+ };
60
+ }
23
61
  export function withGmail(Base) {
24
62
  return class extends Base {
25
63
  /**
@@ -40,15 +78,7 @@ export function withGmail(Base) {
40
78
  this.runtime.getSetting?.("lifeops.bills.autoExtract") !== false;
41
79
  for (const message of args.messages) {
42
80
  try {
43
- const candidate = {
44
- id: message.id,
45
- externalId: message.externalId,
46
- subject: message.subject,
47
- from: message.from,
48
- fromEmail: message.fromEmail,
49
- snippet: message.snippet,
50
- labels: message.labels,
51
- };
81
+ const candidate = emailLikeMessageFromGmailSummary(message);
52
82
  const classification = await classifyEmail(this.runtime, candidate);
53
83
  if (classification.category !== "bill" ||
54
84
  classification.confidence < 0.6) {
@@ -136,16 +166,16 @@ export function withGmail(Base) {
136
166
  : null,
137
167
  maxResults: args.maxResults,
138
168
  });
139
- const persistedMessages = messages.map((message) => ({
140
- id: createGmailMessageId(this.agentId(), "google", grant.side, message.externalId),
169
+ const accountEmail = googleGrantAccountEmail(grant);
170
+ const persistedMessages = messages.map((message) => materializeGmailMessageSummary({
141
171
  agentId: this.agentId(),
142
- provider: "google",
143
172
  side: grant.side,
144
- ...message,
173
+ grantId: grant.id,
174
+ accountEmail,
175
+ message,
145
176
  syncedAt,
146
- updatedAt: syncedAt,
147
177
  }));
148
- await this.repository.pruneGmailMessages(this.agentId(), "google", messages.map((message) => message.externalId), grant.side);
178
+ await this.repository.pruneGmailMessages(this.agentId(), "google", messages.map((message) => message.externalId), grant.side, grant.id);
149
179
  for (const message of persistedMessages) {
150
180
  await this.repository.upsertGmailMessage(message, grant.side);
151
181
  }
@@ -154,6 +184,7 @@ export function withGmail(Base) {
154
184
  provider: "google",
155
185
  side: grant.side,
156
186
  mailbox: GOOGLE_GMAIL_MAILBOX,
187
+ grantId: grant.id,
157
188
  maxResults: args.maxResults,
158
189
  syncedAt,
159
190
  }));
@@ -202,7 +233,7 @@ export function withGmail(Base) {
202
233
  }
203
234
  const grant = await this.requireGoogleGmailGrant(requestUrl, mode, side, grantId);
204
235
  const effectiveSide = grant.side;
205
- const syncState = await this.repository.getGmailSyncState(this.agentId(), "google", GOOGLE_GMAIL_MAILBOX, effectiveSide);
236
+ const syncState = await this.repository.getGmailSyncState(this.agentId(), "google", GOOGLE_GMAIL_MAILBOX, effectiveSide, grant.id);
206
237
  if (!forceSync &&
207
238
  syncState &&
208
239
  isGmailSyncStateFresh({
@@ -213,6 +244,7 @@ export function withGmail(Base) {
213
244
  })) {
214
245
  const messages = await this.repository.listGmailMessages(this.agentId(), "google", {
215
246
  maxResults,
247
+ grantId: grant.id,
216
248
  }, effectiveSide);
217
249
  return {
218
250
  messages,
@@ -258,7 +290,7 @@ export function withGmail(Base) {
258
290
  allMessages.push({
259
291
  ...message,
260
292
  grantId: grant.id,
261
- accountEmail: grant.identityEmail ?? undefined,
293
+ accountEmail: googleGrantAccountEmail(grant) ?? undefined,
262
294
  });
263
295
  }
264
296
  }
@@ -290,6 +322,7 @@ export function withGmail(Base) {
290
322
  const preservedCachedMessages = forceSync
291
323
  ? await this.repository.listGmailMessages(this.agentId(), "google", {
292
324
  maxResults: DEFAULT_GMAIL_SEARCH_CACHE_SCAN_LIMIT,
325
+ grantId: grant.id,
293
326
  }, effectiveSide)
294
327
  : null;
295
328
  const triage = await this.getGmailTriage(requestUrl, {
@@ -308,6 +341,7 @@ export function withGmail(Base) {
308
341
  const cachedMessages = preservedCachedMessages ??
309
342
  (await this.repository.listGmailMessages(this.agentId(), "google", {
310
343
  maxResults: DEFAULT_GMAIL_SEARCH_CACHE_SCAN_LIMIT,
344
+ grantId: grant.id,
311
345
  }, effectiveSide));
312
346
  messages = filterGmailMessagesBySearch({
313
347
  messages: cachedMessages,
@@ -337,6 +371,8 @@ export function withGmail(Base) {
337
371
  messages: managedSearch.messages.map((message) => materializeGmailMessageSummary({
338
372
  agentId: this.agentId(),
339
373
  side: effectiveSide,
374
+ grantId: grant.id,
375
+ accountEmail: googleGrantAccountEmail(grant),
340
376
  message,
341
377
  syncedAt: managedSearch.syncedAt,
342
378
  })),
@@ -351,6 +387,7 @@ export function withGmail(Base) {
351
387
  provider: "google",
352
388
  side: effectiveSide,
353
389
  mailbox: GOOGLE_GMAIL_MAILBOX,
390
+ grantId: grant.id,
354
391
  maxResults,
355
392
  syncedAt: managedSearch.syncedAt,
356
393
  }));
@@ -403,6 +440,8 @@ export function withGmail(Base) {
403
440
  messages: syncedMessages.map((message) => materializeGmailMessageSummary({
404
441
  agentId: this.agentId(),
405
442
  side: effectiveSide,
443
+ grantId: grant.id,
444
+ accountEmail: googleGrantAccountEmail(grant),
406
445
  message,
407
446
  syncedAt,
408
447
  })),
@@ -417,6 +456,7 @@ export function withGmail(Base) {
417
456
  provider: "google",
418
457
  side: effectiveSide,
419
458
  mailbox: GOOGLE_GMAIL_MAILBOX,
459
+ grantId: grant.id,
420
460
  maxResults,
421
461
  syncedAt,
422
462
  }));
@@ -450,7 +490,7 @@ export function withGmail(Base) {
450
490
  fail(409, "This Google connection only has Gmail metadata access. Reconnect Google to grant Gmail read access so Eliza can read email bodies.");
451
491
  }
452
492
  let selectedMessage = messageId
453
- ? await this.repository.getGmailMessage(this.agentId(), "google", messageId, grant.side)
493
+ ? await this.repository.getGmailMessage(this.agentId(), "google", messageId, grant.side, grant.id)
454
494
  : null;
455
495
  if (!selectedMessage && query) {
456
496
  const search = await this.getGmailSearch(requestUrl, {
@@ -500,6 +540,8 @@ export function withGmail(Base) {
500
540
  const message = materializeGmailMessageSummary({
501
541
  agentId: this.agentId(),
502
542
  side: grant.side,
543
+ grantId: grant.id,
544
+ accountEmail: googleGrantAccountEmail(grant),
503
545
  message: detail.message,
504
546
  syncedAt,
505
547
  });
@@ -644,7 +686,7 @@ export function withGmail(Base) {
644
686
  now,
645
687
  })).map((thread) => ({
646
688
  threadId: thread.threadId,
647
- messageId: createGmailMessageId(this.agentId(), "google", grant.side, thread.externalMessageId),
689
+ messageId: createGmailMessageId(this.agentId(), "google", grant.side, grant.id, thread.externalMessageId),
648
690
  subject: thread.subject,
649
691
  to: thread.to,
650
692
  cc: thread.cc,
@@ -655,7 +697,7 @@ export function withGmail(Base) {
655
697
  labels: thread.labels,
656
698
  htmlLink: thread.htmlLink,
657
699
  grantId: grant.id,
658
- accountEmail: grant.identityEmail ?? undefined,
700
+ accountEmail: googleGrantAccountEmail(grant) ?? undefined,
659
701
  }));
660
702
  await this.clearGoogleGrantAuthFailure(grant);
661
703
  return {
@@ -674,7 +716,7 @@ export function withGmail(Base) {
674
716
  ? args.grant.identity.email.trim().toLowerCase()
675
717
  : null;
676
718
  for (const messageId of args.messageIds) {
677
- let message = await this.repository.getGmailMessage(this.agentId(), "google", messageId, args.grant.side);
719
+ let message = await this.repository.getGmailMessage(this.agentId(), "google", messageId, args.grant.side, args.grant.id);
678
720
  if (!message) {
679
721
  const fetched = await fetchGoogleGmailMessage({
680
722
  accessToken,
@@ -685,6 +727,8 @@ export function withGmail(Base) {
685
727
  ? materializeGmailMessageSummary({
686
728
  agentId: this.agentId(),
687
729
  side: args.grant.side,
730
+ grantId: args.grant.id,
731
+ accountEmail: googleGrantAccountEmail(args.grant),
688
732
  message: fetched,
689
733
  syncedAt: new Date().toISOString(),
690
734
  })
@@ -764,6 +808,7 @@ export function withGmail(Base) {
764
808
  operation,
765
809
  labelIds,
766
810
  side: grant.side,
811
+ grantId: grant.id,
767
812
  });
768
813
  await this.clearGoogleGrantAuthFailure(grant);
769
814
  await this.recordGmailAudit("gmail_messages_managed", `google:${grant.mode}:gmail`, "gmail messages managed", {
@@ -784,12 +829,12 @@ export function withGmail(Base) {
784
829
  labelIds,
785
830
  destructive,
786
831
  grantId: grant.id,
787
- accountEmail: grant.identityEmail ?? undefined,
832
+ accountEmail: googleGrantAccountEmail(grant) ?? undefined,
788
833
  };
789
834
  }
790
835
  async updateCachedGmailMessagesAfterManage(args) {
791
836
  if (args.operation === "delete") {
792
- await this.repository.deleteGmailMessages(this.agentId(), "google", args.messages.map((message) => message.id), args.side);
837
+ await this.repository.deleteGmailMessages(this.agentId(), "google", args.messages.map((message) => message.id), args.side, args.grantId);
793
838
  return;
794
839
  }
795
840
  for (const message of args.messages) {
@@ -859,6 +904,8 @@ export function withGmail(Base) {
859
904
  const messageSummary = materializeGmailMessageSummary({
860
905
  agentId: this.agentId(),
861
906
  side: grant.side,
907
+ grantId: grant.id,
908
+ accountEmail: googleGrantAccountEmail(grant),
862
909
  message: fetched,
863
910
  syncedAt,
864
911
  });
@@ -867,7 +914,7 @@ export function withGmail(Base) {
867
914
  await this.repository.upsertGmailSpamReviewItem(buildGmailSpamReviewItem({
868
915
  message: messageSummary,
869
916
  grantId: grant.id,
870
- accountEmail: grant.identityEmail ?? null,
917
+ accountEmail: googleGrantAccountEmail(grant),
871
918
  now: syncedAt,
872
919
  }));
873
920
  }
@@ -900,7 +947,7 @@ export function withGmail(Base) {
900
947
  likelyReplyNeeded: messageSummary.likelyReplyNeeded,
901
948
  triageScore: messageSummary.triageScore,
902
949
  grantId: grant.id,
903
- accountEmail: grant.identityEmail ?? null,
950
+ accountEmail: googleGrantAccountEmail(grant),
904
951
  htmlLink: messageSummary.htmlLink,
905
952
  },
906
953
  };
@@ -977,6 +1024,8 @@ export function withGmail(Base) {
977
1024
  ? materializeGmailMessageSummary({
978
1025
  agentId: this.agentId(),
979
1026
  side: grant.side,
1027
+ grantId: grant.id,
1028
+ accountEmail: googleGrantAccountEmail(grant),
980
1029
  message: fetched,
981
1030
  syncedAt: new Date().toISOString(),
982
1031
  })
@@ -1189,7 +1238,7 @@ export function withGmail(Base) {
1189
1238
  const intent = normalizeOptionalString(request.intent);
1190
1239
  const includeQuotedOriginal = normalizeOptionalBoolean(request.includeQuotedOriginal, "includeQuotedOriginal") ?? false;
1191
1240
  const grant = await this.requireGoogleGmailGrant(requestUrl, mode, side, grantId);
1192
- let message = await this.repository.getGmailMessage(this.agentId(), "google", messageId, grant.side);
1241
+ let message = await this.repository.getGmailMessage(this.agentId(), "google", messageId, grant.side, grant.id);
1193
1242
  if (!message) {
1194
1243
  const accessToken = resolveGoogleExecutionTarget(grant) === "cloud"
1195
1244
  ? null
@@ -1199,7 +1248,7 @@ export function withGmail(Base) {
1199
1248
  const triage = await this.getGmailTriage(requestUrl, {
1200
1249
  mode,
1201
1250
  side: grant.side,
1202
- grantId,
1251
+ grantId: grant.id,
1203
1252
  maxResults: DEFAULT_GMAIL_TRIAGE_MAX_RESULTS,
1204
1253
  }, new Date());
1205
1254
  message =
@@ -1219,6 +1268,8 @@ export function withGmail(Base) {
1219
1268
  ? materializeGmailMessageSummary({
1220
1269
  agentId: this.agentId(),
1221
1270
  side: grant.side,
1271
+ grantId: grant.id,
1272
+ accountEmail: googleGrantAccountEmail(grant),
1222
1273
  message: fetched,
1223
1274
  syncedAt: new Date().toISOString(),
1224
1275
  })
@@ -1316,13 +1367,13 @@ export function withGmail(Base) {
1316
1367
  fail(409, "Gmail send requires explicit confirmation.");
1317
1368
  }
1318
1369
  const grant = await this.requireGoogleGmailSendGrant(requestUrl, mode, side, grantId);
1319
- let message = await this.repository.getGmailMessage(this.agentId(), "google", messageId, grant.side);
1370
+ let message = await this.repository.getGmailMessage(this.agentId(), "google", messageId, grant.side, grant.id);
1320
1371
  if (!message) {
1321
1372
  if (resolveGoogleExecutionTarget(grant) === "cloud") {
1322
1373
  const triage = await this.getGmailTriage(requestUrl, {
1323
1374
  mode,
1324
1375
  side: grant.side,
1325
- grantId,
1376
+ grantId: grant.id,
1326
1377
  maxResults: DEFAULT_GMAIL_TRIAGE_MAX_RESULTS,
1327
1378
  }, new Date());
1328
1379
  message =
@@ -1342,6 +1393,8 @@ export function withGmail(Base) {
1342
1393
  ? materializeGmailMessageSummary({
1343
1394
  agentId: this.agentId(),
1344
1395
  side: grant.side,
1396
+ grantId: grant.id,
1397
+ accountEmail: googleGrantAccountEmail(grant),
1345
1398
  message: fetched,
1346
1399
  syncedAt: new Date().toISOString(),
1347
1400
  })
@@ -1453,13 +1506,13 @@ export function withGmail(Base) {
1453
1506
  for (const [index, item] of items.entries()) {
1454
1507
  const messageId = requireNonEmptyString(item.messageId, `items[${index}].messageId`);
1455
1508
  const bodyText = normalizeGmailReplyBody(item.bodyText);
1456
- let message = await this.repository.getGmailMessage(this.agentId(), "google", messageId, grant.side);
1509
+ let message = await this.repository.getGmailMessage(this.agentId(), "google", messageId, grant.side, grant.id);
1457
1510
  if (!message) {
1458
1511
  if (resolveGoogleExecutionTarget(grant) === "cloud") {
1459
1512
  const triage = await this.getGmailTriage(requestUrl, {
1460
1513
  mode,
1461
1514
  side: grant.side,
1462
- grantId,
1515
+ grantId: grant.id,
1463
1516
  maxResults: DEFAULT_GMAIL_TRIAGE_MAX_RESULTS,
1464
1517
  }, new Date());
1465
1518
  message =
@@ -1479,6 +1532,8 @@ export function withGmail(Base) {
1479
1532
  ? materializeGmailMessageSummary({
1480
1533
  agentId: this.agentId(),
1481
1534
  side: grant.side,
1535
+ grantId: grant.id,
1536
+ accountEmail: googleGrantAccountEmail(grant),
1482
1537
  message: fetched,
1483
1538
  syncedAt: new Date().toISOString(),
1484
1539
  })
@@ -1 +1 @@
1
- {"version":3,"file":"service-mixin-goals.d.ts","sourceRoot":"","sources":["../../../../../../../apps/app-lifeops/src/lifeops/service-mixin-goals.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,wBAAwB,EACxB,oBAAoB,EAEpB,yBAAyB,EAGzB,iBAAiB,EACjB,iBAAiB,EAEjB,4BAA4B,EAE5B,eAAe,EAMf,uBAAuB,EACvB,wBAAwB,EACzB,MAAM,uBAAuB,CAAC;AAkD/B,OAAO,KAAK,EACV,WAAW,EACX,kBAAkB,EAClB,UAAU,EACX,MAAM,yBAAyB,CAAC;AAEjC,MAAM,WAAW,kBAAkB;IACjC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1C,SAAS,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC;IAC1C,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;IACpD,UAAU,CAAC,OAAO,EAAE,wBAAwB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC1E,UAAU,CACR,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,wBAAwB,GAChC,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC9B,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,IAAI,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;IACnE,iBAAiB,CACf,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,4BAA4B,CAAC,CAAC;IACzC,WAAW,CAAC,GAAG,CAAC,EAAE,IAAI,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;IAClD,mBAAmB,IAAI,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAAC;IACvD,uBAAuB,CACrB,SAAS,EAAE;QACT,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACvB,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC5B,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;KAClD,EACD,GAAG,CAAC,EAAE,IAAI,GACT,OAAO,CAAC,yBAAyB,CAAC,CAAC;IACtC,kBAAkB,CAAC,GAAG,CAAC,EAAE,IAAI,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAAC;CAClE;AAyCD,wBAAgB,SAAS,CAAC,KAAK,SAAS,WAAW,CAAC,kBAAkB,CAAC,EACrE,IAAI,EAAE,KAAK,GACV,UAAU,CAAC,KAAK,EAAE,kBAAkB,CAAC,CA+rCvC"}
1
+ {"version":3,"file":"service-mixin-goals.d.ts","sourceRoot":"","sources":["../../../../../../../apps/app-lifeops/src/lifeops/service-mixin-goals.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,wBAAwB,EACxB,oBAAoB,EAEpB,yBAAyB,EAGzB,iBAAiB,EACjB,iBAAiB,EAEjB,4BAA4B,EAE5B,eAAe,EAMf,uBAAuB,EACvB,wBAAwB,EACzB,MAAM,uBAAuB,CAAC;AAqC/B,OAAO,KAAK,EACV,WAAW,EACX,kBAAkB,EAClB,UAAU,EACX,MAAM,yBAAyB,CAAC;AAUjC,MAAM,WAAW,kBAAkB;IACjC,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1C,SAAS,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC;IAC1C,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;IACpD,UAAU,CAAC,OAAO,EAAE,wBAAwB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC1E,UAAU,CACR,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,wBAAwB,GAChC,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC9B,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,IAAI,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;IACnE,iBAAiB,CACf,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,4BAA4B,CAAC,CAAC;IACzC,WAAW,CAAC,GAAG,CAAC,EAAE,IAAI,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;IAClD,mBAAmB,IAAI,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAAC;IACvD,uBAAuB,CACrB,SAAS,EAAE;QACT,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACvB,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC5B,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;KAClD,EACD,GAAG,CAAC,EAAE,IAAI,GACT,OAAO,CAAC,yBAAyB,CAAC,CAAC;IACtC,kBAAkB,CAAC,GAAG,CAAC,EAAE,IAAI,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAAC;CAClE;AAyCD,wBAAgB,SAAS,CAAC,KAAK,SAAS,WAAW,CAAC,kBAAkB,CAAC,EACrE,IAAI,EAAE,KAAK,GACV,UAAU,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAiuCvC"}
@@ -1,15 +1,14 @@
1
1
  import { LIFEOPS_GOAL_STATUSES, LIFEOPS_GOAL_SUGGESTION_KINDS, LIFEOPS_REVIEW_STATES, } from "../contracts/index.js";
2
- import { createLifeOpsAuditEvent, createLifeOpsGoalDefinition, } from "./repository.js";
3
- import { fail, normalizeEnumValue, normalizeOptionalString, normalizeReminderUrgency, requireNonEmptyString, } from "./service-normalize.js";
4
- import { isRecord, mergeMetadata, normalizeNullableRecord, normalizeOptionalRecord, requireRecord, buildActiveReminders, buildActiveCalendarEventReminders, selectOverviewOccurrences, priorityToUrgency, } from "./service-helpers-misc.js";
5
- import { shouldDeliverReminderForIntensity, } from "./service-helpers-reminder.js";
6
- import { summarizeOverviewSection, } from "./service-helpers-occurrence.js";
2
+ import { resolveDefaultTimeZone } from "./defaults.js";
7
3
  import { mergeGoalSemanticReviewMetadata, readGoalGroundingMetadata, readGoalSemanticReviewMetadata, } from "./goal-grounding.js";
8
4
  import { evaluateGoalProgressWithLlm } from "./goal-semantic-evaluator.js";
9
- import { resolveDefaultTimeZone } from "./defaults.js";
10
- import { addMinutes } from "./time.js";
11
- import { getZonedDateParts } from "./time.js";
5
+ import { createLifeOpsAuditEvent, createLifeOpsGoalDefinition, } from "./repository.js";
12
6
  import { GOAL_REVIEW_LOOKBACK_DAYS, GOAL_SEMANTIC_REVIEW_CACHE_TTL_MS, MAX_OVERVIEW_REMINDERS, OVERVIEW_HORIZON_MINUTES, } from "./service-constants.js";
7
+ import { buildActiveCalendarEventReminders, buildActiveReminders, isRecord, mergeMetadata, normalizeNullableRecord, normalizeOptionalRecord, priorityToUrgency, requireRecord, selectOverviewOccurrences, } from "./service-helpers-misc.js";
8
+ import { summarizeOverviewSection } from "./service-helpers-occurrence.js";
9
+ import { shouldDeliverReminderForIntensity } from "./service-helpers-reminder.js";
10
+ import { fail, normalizeEnumValue, normalizeOptionalString, normalizeReminderUrgency, requireNonEmptyString, } from "./service-normalize.js";
11
+ import { addMinutes, getZonedDateParts } from "./time.js";
13
12
  const GOAL_SIMILARITY_STOP_WORDS = new Set([
14
13
  "and",
15
14
  "the",
@@ -75,16 +74,14 @@ export function withGoals(Base) {
75
74
  return cadence ?? null;
76
75
  })(),
77
76
  supportStrategy: (() => {
78
- const strategy = normalizeOptionalRecord(request.supportStrategy, "supportStrategy") ??
79
- {};
77
+ const strategy = normalizeOptionalRecord(request.supportStrategy, "supportStrategy") ?? {};
80
78
  if (Array.isArray(strategy)) {
81
79
  fail(400, "supportStrategy must be an object, not an array");
82
80
  }
83
81
  return strategy;
84
82
  })(),
85
83
  successCriteria: (() => {
86
- const criteria = normalizeOptionalRecord(request.successCriteria, "successCriteria") ??
87
- {};
84
+ const criteria = normalizeOptionalRecord(request.successCriteria, "successCriteria") ?? {};
88
85
  if (Array.isArray(criteria)) {
89
86
  fail(400, "successCriteria must be an object, not an array");
90
87
  }
@@ -488,7 +485,8 @@ export function withGoals(Base) {
488
485
  if (!Number.isFinite(reviewedAtMs)) {
489
486
  return null;
490
487
  }
491
- if (args.now.getTime() - reviewedAtMs > GOAL_SEMANTIC_REVIEW_CACHE_TTL_MS) {
488
+ if (args.now.getTime() - reviewedAtMs >
489
+ GOAL_SEMANTIC_REVIEW_CACHE_TTL_MS) {
492
490
  return null;
493
491
  }
494
492
  return cached;
@@ -853,8 +851,9 @@ export function withGoals(Base) {
853
851
  }
854
852
  const goals = await this.refreshGoalReviewStates(now);
855
853
  const allReminders = [
856
- ...buildActiveReminders(overviewOccurrences, plansByDefinitionId, now).filter((reminder) => shouldDeliverReminderForIntensity(definitionPreferencesById.get(reminder.definitionId ?? "")?.effective
857
- ?.intensity ?? globalReminderPreference.effective.intensity, occurrenceUrgencies.get(reminder.ownerId) ?? "medium")),
854
+ ...buildActiveReminders(overviewOccurrences, plansByDefinitionId, now).filter((reminder) => shouldDeliverReminderForIntensity(definitionPreferencesById.get(reminder.definitionId ?? "")
855
+ ?.effective?.intensity ??
856
+ globalReminderPreference.effective.intensity, occurrenceUrgencies.get(reminder.ownerId) ?? "medium")),
858
857
  ...buildActiveCalendarEventReminders(calendarEvents, plansByEventId, this.ownerEntityId(), now).filter((reminder) => shouldDeliverReminderForIntensity(globalReminderPreference.effective.intensity, eventUrgencies.get(reminder.ownerId) ?? "medium")),
859
858
  ].sort((left, right) => new Date(left.scheduledFor).getTime() -
860
859
  new Date(right.scheduledFor).getTime());
@@ -1 +1 @@
1
- {"version":3,"file":"service-mixin-google.d.ts","sourceRoot":"","sources":["../../../../../../../apps/app-lifeops/src/lifeops/service-mixin-google.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,uCAAuC,EAEvC,oBAAoB,EACpB,oBAAoB,EACpB,4BAA4B,EAC5B,kCAAkC,EAClC,mCAAmC,EACpC,MAAM,uBAAuB,CAAC;AAkC/B,MAAM,WAAW,oBAAoB;IACnC,wBAAwB,CACtB,UAAU,EAAE,GAAG,EACf,aAAa,CAAC,EAAE,oBAAoB,EACpC,aAAa,CAAC,EAAE,oBAAoB,EACpC,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,4BAA4B,CAAC,CAAC;IACzC,0BAA0B,CACxB,UAAU,EAAE,GAAG,EACf,aAAa,CAAC,EAAE,oBAAoB,GACnC,OAAO,CAAC,4BAA4B,EAAE,CAAC,CAAC;IAC3C,yBAAyB,CACvB,UAAU,EAAE,GAAG,EACf,kBAAkB,EAAE,oBAAoB,GAAG,SAAS,EACpD,aAAa,CAAC,EAAE,oBAAoB,GACnC,OAAO,CAAC,4BAA4B,CAAC,CAAC;IACzC,oBAAoB,CAClB,OAAO,EAAE,kCAAkC,EAC3C,UAAU,EAAE,GAAG,GACd,OAAO,CAAC,mCAAmC,CAAC,CAAC;IAChD,+BAA+B,CAC7B,WAAW,EAAE,GAAG,GACf,OAAO,CAAC,4BAA4B,CAAC,CAAC;IACzC,yBAAyB,CACvB,OAAO,EAAE,uCAAuC,EAChD,UAAU,EAAE,GAAG,GACd,OAAO,CAAC,4BAA4B,CAAC,CAAC;CAC1C"}
1
+ {"version":3,"file":"service-mixin-google.d.ts","sourceRoot":"","sources":["../../../../../../../apps/app-lifeops/src/lifeops/service-mixin-google.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,uCAAuC,EAEvC,oBAAoB,EACpB,oBAAoB,EACpB,4BAA4B,EAC5B,kCAAkC,EAClC,mCAAmC,EACpC,MAAM,uBAAuB,CAAC;AAkC/B,MAAM,WAAW,oBAAoB;IACnC,wBAAwB,CACtB,UAAU,EAAE,GAAG,EACf,aAAa,CAAC,EAAE,oBAAoB,EACpC,aAAa,CAAC,EAAE,oBAAoB,EACpC,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,4BAA4B,CAAC,CAAC;IACzC,0BAA0B,CACxB,UAAU,EAAE,GAAG,EACf,aAAa,CAAC,EAAE,oBAAoB,GACnC,OAAO,CAAC,4BAA4B,EAAE,CAAC,CAAC;IAC3C,yBAAyB,CACvB,UAAU,EAAE,GAAG,EACf,kBAAkB,EAAE,oBAAoB,GAAG,SAAS,EACpD,aAAa,CAAC,EAAE,oBAAoB,GACnC,OAAO,CAAC,4BAA4B,CAAC,CAAC;IACzC,oBAAoB,CAClB,OAAO,EAAE,kCAAkC,EAC3C,UAAU,EAAE,GAAG,GACd,OAAO,CAAC,mCAAmC,CAAC,CAAC;IAChD,+BAA+B,CAC7B,WAAW,EAAE,GAAG,GACf,OAAO,CAAC,4BAA4B,CAAC,CAAC;IACzC,yBAAyB,CACvB,OAAO,EAAE,uCAAuC,EAChD,UAAU,EAAE,GAAG,GACd,OAAO,CAAC,4BAA4B,CAAC,CAAC;CAC1C"}
@@ -1,9 +1,10 @@
1
+ import crypto from "node:crypto";
1
2
  import { GoogleApiError, googleErrorLooksLikeAdminPolicyBlock, googleErrorRequiresReauth, } from "./google-api-error.js";
2
3
  import { resolveGoogleAvailableModes, resolveGoogleExecutionTarget, resolveGoogleGrants, resolveGoogleSourceOfTruth, resolvePreferredGoogleGrant, } from "./google-connector-gateway.js";
3
4
  import { ManagedGoogleClientError, resolveManagedGoogleCloudConfig, } from "./google-managed-client.js";
4
5
  import { completeGoogleConnectorOAuth, deleteStoredGoogleToken, GoogleOAuthError, readStoredGoogleToken, resolveGoogleOAuthConfig, startGoogleConnectorOAuth, } from "./google-oauth.js";
5
6
  import { createLifeOpsConnectorGrant } from "./repository.js";
6
- import { fail } from "./service-normalize.js";
7
+ import { fail, normalizeOptionalString } from "./service-normalize.js";
7
8
  import { normalizeGoogleCapabilityRequest, normalizeGrantCapabilities, normalizeOptionalConnectorMode, normalizeOptionalConnectorSide, } from "./service-normalize-connector.js";
8
9
  // ---------------------------------------------------------------------------
9
10
  // Local helpers
@@ -92,6 +93,11 @@ export function withGoogle(Base) {
92
93
  await this.repository.deleteGmailSpamReviewItemsForProvider(this.agentId(), "google", side);
93
94
  await this.repository.deleteGmailSyncState(this.agentId(), "google", undefined, side);
94
95
  }
96
+ async clearGoogleGrantData(grant) {
97
+ await this.repository.deleteGmailMessagesForProvider(this.agentId(), "google", grant.side, grant.id);
98
+ await this.repository.deleteGmailSpamReviewItemsForProvider(this.agentId(), "google", grant.side, grant.id);
99
+ await this.repository.deleteGmailSyncState(this.agentId(), "google", undefined, grant.side, grant.id);
100
+ }
95
101
  /**
96
102
  * Delete reminder plans for a set of calendar events.
97
103
  * This is a helper used by clearGoogleConnectorData. Subclasses that
@@ -385,7 +391,7 @@ export function withGoogle(Base) {
385
391
  if (error instanceof ManagedGoogleClientError) {
386
392
  if (error.status === 404) {
387
393
  if (resolvedGrant?.mode === "cloud_managed") {
388
- await this.repository.deleteConnectorGrant(this.agentId(), "google", "cloud_managed", side);
394
+ await this.repository.deleteConnectorGrant(this.agentId(), "google", "cloud_managed", side, resolvedGrant.id);
389
395
  if (!grants.some((candidate) => candidate.provider === "google" &&
390
396
  candidate.side === side &&
391
397
  candidate.mode !== "cloud_managed")) {
@@ -675,6 +681,8 @@ export function withGoogle(Base) {
675
681
  const existingGrant = request.grantId
676
682
  ? ((await this.repository.listConnectorGrants(this.agentId())).find((g) => g.id === request.grantId) ?? null)
677
683
  : await this.repository.getConnectorGrant(this.agentId(), "google", resolvedConfig.mode, requestedSide);
684
+ const pendingGrantId = request.grantId ??
685
+ (request.createNewGrant ? crypto.randomUUID() : undefined);
678
686
  try {
679
687
  return startGoogleConnectorOAuth({
680
688
  agentId: this.agentId(),
@@ -682,10 +690,10 @@ export function withGoogle(Base) {
682
690
  requestUrl,
683
691
  mode: resolvedConfig.mode,
684
692
  requestedCapabilities,
685
- existingCapabilities: existingGrant
693
+ existingCapabilities: existingGrant && !request.createNewGrant
686
694
  ? normalizeGrantCapabilities(existingGrant.capabilities)
687
695
  : undefined,
688
- grantId: request.grantId,
696
+ grantId: pendingGrantId,
689
697
  });
690
698
  }
691
699
  catch (error) {
@@ -722,11 +730,17 @@ export function withGoogle(Base) {
722
730
  if (result.agentId !== this.agentId()) {
723
731
  fail(409, "Google callback does not belong to the active agent.");
724
732
  }
733
+ const currentGoogleGrants = (await this.repository.listConnectorGrants(this.agentId())).filter((candidate) => candidate.provider === "google");
725
734
  const existingGrant = result.grantId
726
- ? ((await this.repository.listConnectorGrants(this.agentId())).find((g) => g.id === result.grantId) ?? null)
735
+ ? (currentGoogleGrants.find((g) => g.id === result.grantId) ?? null)
727
736
  : await this.repository.getConnectorGrant(this.agentId(), "google", result.mode, result.side);
737
+ const previousPreferredGrant = resolvePreferredGoogleGrant({
738
+ grants: currentGoogleGrants,
739
+ defaultMode: result.mode,
740
+ });
728
741
  const nowIso = new Date().toISOString();
729
742
  const clearedMetadata = clearGoogleGrantAuthFailureMetadata(existingGrant?.metadata ?? {});
743
+ const preferredByAgent = existingGrant?.preferredByAgent ?? previousPreferredGrant === null;
730
744
  const grant = existingGrant
731
745
  ? {
732
746
  ...existingGrant,
@@ -737,6 +751,7 @@ export function withGoogle(Base) {
737
751
  executionTarget: "local",
738
752
  sourceOfTruth: "local_storage",
739
753
  cloudConnectionId: null,
754
+ preferredByAgent,
740
755
  metadata: {
741
756
  ...clearedMetadata,
742
757
  expiresAt: result.expiresAt,
@@ -745,31 +760,32 @@ export function withGoogle(Base) {
745
760
  lastRefreshAt: nowIso,
746
761
  updatedAt: nowIso,
747
762
  }
748
- : createLifeOpsConnectorGrant({
749
- agentId: this.agentId(),
750
- provider: "google",
751
- side: result.side,
752
- identity: { ...result.identity },
753
- grantedScopes: [...result.grantedScopes],
754
- capabilities: [...result.grantedCapabilities],
755
- tokenRef: result.tokenRef,
756
- mode: result.mode,
757
- executionTarget: "local",
758
- sourceOfTruth: "local_storage",
759
- preferredByAgent: true,
760
- cloudConnectionId: null,
761
- metadata: {
762
- expiresAt: result.expiresAt,
763
- hasRefreshToken: result.hasRefreshToken,
764
- },
765
- lastRefreshAt: nowIso,
766
- });
763
+ : {
764
+ ...createLifeOpsConnectorGrant({
765
+ agentId: this.agentId(),
766
+ provider: "google",
767
+ side: result.side,
768
+ identity: { ...result.identity },
769
+ grantedScopes: [...result.grantedScopes],
770
+ capabilities: [...result.grantedCapabilities],
771
+ tokenRef: result.tokenRef,
772
+ mode: result.mode,
773
+ executionTarget: "local",
774
+ sourceOfTruth: "local_storage",
775
+ preferredByAgent,
776
+ cloudConnectionId: null,
777
+ metadata: {
778
+ expiresAt: result.expiresAt,
779
+ hasRefreshToken: result.hasRefreshToken,
780
+ },
781
+ lastRefreshAt: nowIso,
782
+ }),
783
+ ...(result.grantId ? { id: result.grantId } : {}),
784
+ };
767
785
  await this.repository.upsertConnectorGrant(grant);
768
- const previousPreferredGrant = resolvePreferredGoogleGrant({
769
- grants: (await this.repository.listConnectorGrants(this.agentId())).filter((candidate) => candidate.provider === "google"),
770
- defaultMode: result.mode,
771
- });
772
- const nextPreferredGrant = await this.setPreferredGoogleConnectorMode(result.mode, result.side);
786
+ const nextPreferredGrant = preferredByAgent || !previousPreferredGrant
787
+ ? await this.setPreferredGoogleConnectorMode(result.mode, result.side)
788
+ : previousPreferredGrant;
773
789
  if (previousPreferredGrant?.id !== nextPreferredGrant?.id) {
774
790
  await this.clearGoogleConnectorData();
775
791
  }
@@ -781,9 +797,10 @@ export function withGoogle(Base) {
781
797
  tokenRef: result.tokenRef,
782
798
  expiresAt: result.expiresAt,
783
799
  });
784
- return this.getGoogleConnectorStatus(callbackUrl, result.mode, result.side);
800
+ return this.getGoogleConnectorStatus(callbackUrl, result.mode, result.side, grant.id);
785
801
  }
786
802
  async disconnectGoogleConnector(request, requestUrl) {
803
+ const requestedGrantId = normalizeOptionalString(request.grantId);
787
804
  const requestedMode = normalizeOptionalConnectorMode(request.mode, "mode");
788
805
  const requestedSide = normalizeOptionalConnectorSide(request.side, "side");
789
806
  const grants = (await this.repository.listConnectorGrants(this.agentId())).filter((grant) => grant.provider === "google");
@@ -793,26 +810,26 @@ export function withGoogle(Base) {
793
810
  .configured,
794
811
  grants,
795
812
  });
796
- const mode = requestedMode ??
797
- resolvePreferredGoogleGrant({
798
- grants,
799
- requestedMode,
800
- requestedSide,
801
- defaultMode: modeAvailability.defaultMode,
802
- })?.mode ??
803
- modeAvailability.defaultMode;
804
- const side = requestedSide ??
805
- resolvePreferredGoogleGrant({
806
- grants,
807
- requestedMode,
808
- requestedSide,
809
- defaultMode: modeAvailability.defaultMode,
810
- })?.side ??
811
- "owner";
812
- const grant = await this.repository.getConnectorGrant(this.agentId(), "google", mode, side);
813
+ const preferredGrant = resolvePreferredGoogleGrant({
814
+ grants,
815
+ requestedMode,
816
+ requestedSide,
817
+ defaultMode: modeAvailability.defaultMode,
818
+ });
819
+ const fallbackMode = requestedMode ?? preferredGrant?.mode ?? modeAvailability.defaultMode;
820
+ const fallbackSide = requestedSide ?? preferredGrant?.side ?? "owner";
821
+ const grant = requestedGrantId
822
+ ? (grants.find((candidate) => candidate.id === requestedGrantId) ??
823
+ null)
824
+ : await this.repository.getConnectorGrant(this.agentId(), "google", fallbackMode, fallbackSide);
813
825
  if (!grant) {
814
- return this.getGoogleConnectorStatus(requestUrl, mode, side);
826
+ if (requestedGrantId) {
827
+ fail(404, "Google connector grant not found.");
828
+ }
829
+ return this.getGoogleConnectorStatus(requestUrl, fallbackMode, fallbackSide);
815
830
  }
831
+ const mode = grant.mode;
832
+ const side = grant.side;
816
833
  if (mode === "cloud_managed" && grant.cloudConnectionId) {
817
834
  try {
818
835
  await this.googleManagedClient.disconnectConnector(grant.cloudConnectionId, grant.side);
@@ -836,9 +853,12 @@ export function withGoogle(Base) {
836
853
  grants,
837
854
  defaultMode: modeAvailability.defaultMode,
838
855
  });
839
- await this.repository.deleteConnectorGrant(this.agentId(), "google", mode, side);
840
- const nextPreferredGrant = await this.setPreferredGoogleConnectorMode(null);
841
- if (previousPreferredGrant?.id === grant.id || !nextPreferredGrant) {
856
+ await this.repository.deleteConnectorGrant(this.agentId(), "google", mode, side, grant.id);
857
+ const nextPreferredGrant = previousPreferredGrant?.id === grant.id || !previousPreferredGrant
858
+ ? await this.setPreferredGoogleConnectorMode(null)
859
+ : previousPreferredGrant;
860
+ await this.clearGoogleGrantData(grant);
861
+ if (!nextPreferredGrant) {
842
862
  await this.clearGoogleConnectorData();
843
863
  }
844
864
  await this.recordConnectorAudit(`google:${mode}`, "google connector disconnected", {