@elizaos/plugin-personal-assistant 2.0.3-beta.5 → 2.0.3-beta.7

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 (1317) hide show
  1. package/dist/actions/app-block.d.ts +15 -0
  2. package/dist/actions/app-block.d.ts.map +1 -0
  3. package/dist/actions/app-block.js +349 -0
  4. package/dist/actions/app-block.js.map +1 -0
  5. package/dist/actions/autofill.d.ts +20 -0
  6. package/dist/actions/autofill.d.ts.map +1 -0
  7. package/dist/actions/autofill.js +370 -0
  8. package/dist/actions/autofill.js.map +1 -0
  9. package/dist/actions/block.d.ts +30 -0
  10. package/dist/actions/block.d.ts.map +1 -0
  11. package/dist/actions/block.js +326 -0
  12. package/dist/actions/block.js.map +1 -0
  13. package/dist/actions/book-travel.d.ts +10 -0
  14. package/dist/actions/book-travel.d.ts.map +1 -0
  15. package/dist/actions/book-travel.js +467 -0
  16. package/dist/actions/book-travel.js.map +1 -0
  17. package/dist/actions/brief.d.ts +60 -0
  18. package/dist/actions/brief.d.ts.map +1 -0
  19. package/dist/actions/brief.js +485 -0
  20. package/dist/actions/brief.js.map +1 -0
  21. package/dist/actions/calendar.d.ts +22 -0
  22. package/dist/actions/calendar.d.ts.map +1 -0
  23. package/dist/actions/calendar.js +832 -0
  24. package/dist/actions/calendar.js.map +1 -0
  25. package/dist/actions/conflict-detect.d.ts +67 -0
  26. package/dist/actions/conflict-detect.d.ts.map +1 -0
  27. package/dist/actions/conflict-detect.js +310 -0
  28. package/dist/actions/conflict-detect.js.map +1 -0
  29. package/dist/actions/connector.d.ts +5 -0
  30. package/dist/actions/connector.d.ts.map +1 -0
  31. package/dist/actions/connector.js +1354 -0
  32. package/dist/actions/connector.js.map +1 -0
  33. package/dist/actions/credentials.d.ts +14 -0
  34. package/dist/actions/credentials.d.ts.map +1 -0
  35. package/dist/actions/credentials.js +191 -0
  36. package/dist/actions/credentials.js.map +1 -0
  37. package/dist/actions/document.d.ts +36 -0
  38. package/dist/actions/document.d.ts.map +1 -0
  39. package/dist/actions/document.js +613 -0
  40. package/dist/actions/document.js.map +1 -0
  41. package/dist/actions/entity.d.ts +20 -0
  42. package/dist/actions/entity.d.ts.map +1 -0
  43. package/dist/actions/entity.js +785 -0
  44. package/dist/actions/entity.js.map +1 -0
  45. package/dist/actions/health.d.ts +4 -0
  46. package/dist/actions/health.d.ts.map +1 -0
  47. package/dist/actions/health.js +37 -0
  48. package/dist/actions/health.js.map +1 -0
  49. package/dist/actions/inbox.d.ts +12 -0
  50. package/dist/actions/inbox.d.ts.map +1 -0
  51. package/dist/actions/inbox.js +13 -0
  52. package/dist/actions/inbox.js.map +1 -0
  53. package/dist/actions/lib/calendly-handler.d.ts +3 -0
  54. package/dist/actions/lib/calendly-handler.d.ts.map +1 -0
  55. package/dist/actions/lib/calendly-handler.js +506 -0
  56. package/dist/actions/lib/calendly-handler.js.map +1 -0
  57. package/dist/actions/lib/extract-goal-plan.d.ts +69 -0
  58. package/dist/actions/lib/extract-goal-plan.d.ts.map +1 -0
  59. package/dist/actions/lib/extract-goal-plan.js +488 -0
  60. package/dist/actions/lib/extract-goal-plan.js.map +1 -0
  61. package/dist/actions/lib/extract-life-operation.d.ts +18 -0
  62. package/dist/actions/lib/extract-life-operation.d.ts.map +1 -0
  63. package/dist/actions/lib/extract-life-operation.js +318 -0
  64. package/dist/actions/lib/extract-life-operation.js.map +1 -0
  65. package/dist/actions/lib/extract-task-plan.d.ts +78 -0
  66. package/dist/actions/lib/extract-task-plan.d.ts.map +1 -0
  67. package/dist/actions/lib/extract-task-plan.js +355 -0
  68. package/dist/actions/lib/extract-task-plan.js.map +1 -0
  69. package/dist/actions/lib/extract-update-fields.d.ts +27 -0
  70. package/dist/actions/lib/extract-update-fields.d.ts.map +1 -0
  71. package/dist/actions/lib/extract-update-fields.js +172 -0
  72. package/dist/actions/lib/extract-update-fields.js.map +1 -0
  73. package/dist/actions/lib/lifeops-deferred-draft.d.ts +68 -0
  74. package/dist/actions/lib/lifeops-deferred-draft.d.ts.map +1 -0
  75. package/dist/actions/lib/lifeops-deferred-draft.js +315 -0
  76. package/dist/actions/lib/lifeops-deferred-draft.js.map +1 -0
  77. package/dist/actions/lib/messaging-helpers.d.ts +20 -0
  78. package/dist/actions/lib/messaging-helpers.d.ts.map +1 -0
  79. package/dist/actions/lib/messaging-helpers.js +103 -0
  80. package/dist/actions/lib/messaging-helpers.js.map +1 -0
  81. package/dist/actions/lib/owner-policy-writes.d.ts +49 -0
  82. package/dist/actions/lib/owner-policy-writes.d.ts.map +1 -0
  83. package/dist/actions/lib/owner-policy-writes.js +157 -0
  84. package/dist/actions/lib/owner-policy-writes.js.map +1 -0
  85. package/dist/actions/lib/prompt-format.d.ts +3 -0
  86. package/dist/actions/lib/prompt-format.d.ts.map +1 -0
  87. package/dist/actions/lib/prompt-format.js +42 -0
  88. package/dist/actions/lib/prompt-format.js.map +1 -0
  89. package/dist/actions/lib/scheduling-handler.d.ts +93 -0
  90. package/dist/actions/lib/scheduling-handler.d.ts.map +1 -0
  91. package/dist/actions/lib/scheduling-handler.js +868 -0
  92. package/dist/actions/lib/scheduling-handler.js.map +1 -0
  93. package/dist/actions/life.d.ts +13 -0
  94. package/dist/actions/life.d.ts.map +1 -0
  95. package/dist/actions/life.js +2524 -0
  96. package/dist/actions/life.js.map +1 -0
  97. package/dist/actions/money.d.ts +24 -0
  98. package/dist/actions/money.d.ts.map +1 -0
  99. package/dist/actions/money.js +41 -0
  100. package/dist/actions/money.js.map +1 -0
  101. package/dist/actions/owner-surfaces.d.ts +11 -0
  102. package/dist/actions/owner-surfaces.d.ts.map +1 -0
  103. package/dist/actions/owner-surfaces.js +493 -0
  104. package/dist/actions/owner-surfaces.js.map +1 -0
  105. package/dist/actions/password-manager.d.ts +10 -0
  106. package/dist/actions/password-manager.d.ts.map +1 -0
  107. package/dist/actions/password-manager.js +195 -0
  108. package/dist/actions/password-manager.js.map +1 -0
  109. package/dist/actions/payments.d.ts +10 -0
  110. package/dist/actions/payments.d.ts.map +1 -0
  111. package/dist/actions/payments.js +5 -0
  112. package/dist/actions/payments.js.map +1 -0
  113. package/dist/actions/prioritize.d.ts +49 -0
  114. package/dist/actions/prioritize.d.ts.map +1 -0
  115. package/dist/actions/prioritize.js +313 -0
  116. package/dist/actions/prioritize.js.map +1 -0
  117. package/dist/actions/remote-desktop.d.ts +13 -0
  118. package/dist/actions/remote-desktop.d.ts.map +1 -0
  119. package/dist/actions/remote-desktop.js +11 -0
  120. package/dist/actions/remote-desktop.js.map +1 -0
  121. package/dist/actions/resolve-request.d.ts +12 -0
  122. package/dist/actions/resolve-request.d.ts.map +1 -0
  123. package/dist/actions/resolve-request.js +427 -0
  124. package/dist/actions/resolve-request.js.map +1 -0
  125. package/dist/actions/schedule.d.ts +10 -0
  126. package/dist/actions/schedule.d.ts.map +1 -0
  127. package/dist/actions/schedule.js +113 -0
  128. package/dist/actions/schedule.js.map +1 -0
  129. package/dist/actions/scheduled-task.d.ts +32 -0
  130. package/dist/actions/scheduled-task.d.ts.map +1 -0
  131. package/dist/actions/scheduled-task.js +661 -0
  132. package/dist/actions/scheduled-task.js.map +1 -0
  133. package/dist/actions/screen-time.d.ts +4 -0
  134. package/dist/actions/screen-time.d.ts.map +1 -0
  135. package/dist/actions/screen-time.js +47 -0
  136. package/dist/actions/screen-time.js.map +1 -0
  137. package/dist/actions/subscriptions.d.ts +8 -0
  138. package/dist/actions/subscriptions.d.ts.map +1 -0
  139. package/dist/actions/subscriptions.js +327 -0
  140. package/dist/actions/subscriptions.js.map +1 -0
  141. package/dist/actions/voice-call.d.ts +16 -0
  142. package/dist/actions/voice-call.d.ts.map +1 -0
  143. package/dist/actions/voice-call.js +756 -0
  144. package/dist/actions/voice-call.js.map +1 -0
  145. package/dist/actions/website-block.d.ts +15 -0
  146. package/dist/actions/website-block.d.ts.map +1 -0
  147. package/dist/actions/website-block.js +719 -0
  148. package/dist/actions/website-block.js.map +1 -0
  149. package/dist/actions/work-thread.d.ts +5 -0
  150. package/dist/actions/work-thread.d.ts.map +1 -0
  151. package/dist/actions/work-thread.js +556 -0
  152. package/dist/actions/work-thread.js.map +1 -0
  153. package/dist/activity-profile/activity-tracker-repo.d.ts +28 -0
  154. package/dist/activity-profile/activity-tracker-repo.d.ts.map +1 -0
  155. package/dist/activity-profile/activity-tracker-repo.js +61 -0
  156. package/dist/activity-profile/activity-tracker-repo.js.map +1 -0
  157. package/dist/activity-profile/activity-tracker-reporting.d.ts +52 -0
  158. package/dist/activity-profile/activity-tracker-reporting.d.ts.map +1 -0
  159. package/dist/activity-profile/activity-tracker-reporting.js +119 -0
  160. package/dist/activity-profile/activity-tracker-reporting.js.map +1 -0
  161. package/dist/activity-profile/activity-tracker-service.d.ts +36 -0
  162. package/dist/activity-profile/activity-tracker-service.d.ts.map +1 -0
  163. package/dist/activity-profile/activity-tracker-service.js +187 -0
  164. package/dist/activity-profile/activity-tracker-service.js.map +1 -0
  165. package/dist/activity-profile/analyzer.d.ts +23 -0
  166. package/dist/activity-profile/analyzer.d.ts.map +1 -0
  167. package/dist/activity-profile/analyzer.js +485 -0
  168. package/dist/activity-profile/analyzer.js.map +1 -0
  169. package/dist/activity-profile/presence-signal-bridge-service.d.ts +14 -0
  170. package/dist/activity-profile/presence-signal-bridge-service.d.ts.map +1 -0
  171. package/dist/activity-profile/presence-signal-bridge-service.js +159 -0
  172. package/dist/activity-profile/presence-signal-bridge-service.js.map +1 -0
  173. package/dist/activity-profile/proactive-inbox-digest.d.ts +3 -0
  174. package/dist/activity-profile/proactive-inbox-digest.d.ts.map +1 -0
  175. package/dist/activity-profile/proactive-inbox-digest.js +21 -0
  176. package/dist/activity-profile/proactive-inbox-digest.js.map +1 -0
  177. package/dist/activity-profile/proactive-planner.d.ts +150 -0
  178. package/dist/activity-profile/proactive-planner.d.ts.map +1 -0
  179. package/dist/activity-profile/proactive-planner.js +529 -0
  180. package/dist/activity-profile/proactive-planner.js.map +1 -0
  181. package/dist/activity-profile/proactive-worker.d.ts +33 -0
  182. package/dist/activity-profile/proactive-worker.d.ts.map +1 -0
  183. package/dist/activity-profile/proactive-worker.js +779 -0
  184. package/dist/activity-profile/proactive-worker.js.map +1 -0
  185. package/dist/activity-profile/profile-metadata.d.ts +10 -0
  186. package/dist/activity-profile/profile-metadata.d.ts.map +1 -0
  187. package/dist/activity-profile/profile-metadata.js +16 -0
  188. package/dist/activity-profile/profile-metadata.js.map +1 -0
  189. package/dist/activity-profile/redactor.d.ts +15 -0
  190. package/dist/activity-profile/redactor.d.ts.map +1 -0
  191. package/dist/activity-profile/redactor.js +22 -0
  192. package/dist/activity-profile/redactor.js.map +1 -0
  193. package/dist/activity-profile/service.d.ts +11 -0
  194. package/dist/activity-profile/service.d.ts.map +1 -0
  195. package/dist/activity-profile/service.js +272 -0
  196. package/dist/activity-profile/service.js.map +1 -0
  197. package/dist/activity-profile/types.d.ts +97 -0
  198. package/dist/activity-profile/types.d.ts.map +1 -0
  199. package/dist/activity-profile/types.js +36 -0
  200. package/dist/activity-profile/types.js.map +1 -0
  201. package/dist/agent-lifeops.d.ts +2 -0
  202. package/dist/agent-lifeops.d.ts.map +1 -0
  203. package/dist/agent-lifeops.js +2 -0
  204. package/dist/agent-lifeops.js.map +1 -0
  205. package/dist/api/client-lifeops.d.ts +319 -0
  206. package/dist/api/client-lifeops.d.ts.map +1 -0
  207. package/dist/api/client-lifeops.js +794 -0
  208. package/dist/api/client-lifeops.js.map +1 -0
  209. package/dist/automation-node-contributor.d.ts +2 -0
  210. package/dist/automation-node-contributor.d.ts.map +1 -0
  211. package/dist/automation-node-contributor.js +184 -0
  212. package/dist/automation-node-contributor.js.map +1 -0
  213. package/dist/client.d.ts +16 -0
  214. package/dist/client.d.ts.map +1 -0
  215. package/dist/client.js +18 -0
  216. package/dist/client.js.map +1 -0
  217. package/dist/components/AppBlockerSettingsCard.d.ts +3 -0
  218. package/dist/components/AppBlockerSettingsCard.d.ts.map +1 -0
  219. package/dist/components/AppBlockerSettingsCard.js +538 -0
  220. package/dist/components/AppBlockerSettingsCard.js.map +1 -0
  221. package/dist/components/WebsiteBlockerSettingsCard.d.ts +3 -0
  222. package/dist/components/WebsiteBlockerSettingsCard.d.ts.map +1 -0
  223. package/dist/components/WebsiteBlockerSettingsCard.js +148 -0
  224. package/dist/components/WebsiteBlockerSettingsCard.js.map +1 -0
  225. package/dist/contracts/index.d.ts +2 -0
  226. package/dist/contracts/index.d.ts.map +1 -0
  227. package/dist/contracts/index.js +2 -0
  228. package/dist/contracts/index.js.map +1 -0
  229. package/dist/contracts/lifeops.d.ts +2 -0
  230. package/dist/contracts/lifeops.d.ts.map +1 -0
  231. package/dist/contracts/lifeops.js +2 -0
  232. package/dist/contracts/lifeops.js.map +1 -0
  233. package/dist/default-packs/autofill-whitelist-pack.d.ts +17 -0
  234. package/dist/default-packs/autofill-whitelist-pack.d.ts.map +1 -0
  235. package/dist/default-packs/autofill-whitelist-pack.js +56 -0
  236. package/dist/default-packs/autofill-whitelist-pack.js.map +1 -0
  237. package/dist/default-packs/consolidation-policies.d.ts +14 -0
  238. package/dist/default-packs/consolidation-policies.d.ts.map +1 -0
  239. package/dist/default-packs/consolidation-policies.js +17 -0
  240. package/dist/default-packs/consolidation-policies.js.map +1 -0
  241. package/dist/default-packs/contract-types.d.ts +200 -0
  242. package/dist/default-packs/contract-types.d.ts.map +1 -0
  243. package/dist/default-packs/contract-types.js +1 -0
  244. package/dist/default-packs/contract-types.js.map +1 -0
  245. package/dist/default-packs/daily-rhythm.d.ts +28 -0
  246. package/dist/default-packs/daily-rhythm.d.ts.map +1 -0
  247. package/dist/default-packs/daily-rhythm.js +136 -0
  248. package/dist/default-packs/daily-rhythm.js.map +1 -0
  249. package/dist/default-packs/escalation-ladders.d.ts +18 -0
  250. package/dist/default-packs/escalation-ladders.d.ts.map +1 -0
  251. package/dist/default-packs/escalation-ladders.js +17 -0
  252. package/dist/default-packs/escalation-ladders.js.map +1 -0
  253. package/dist/default-packs/executive-assistant.d.ts +50 -0
  254. package/dist/default-packs/executive-assistant.d.ts.map +1 -0
  255. package/dist/default-packs/executive-assistant.js +745 -0
  256. package/dist/default-packs/executive-assistant.js.map +1 -0
  257. package/dist/default-packs/followup-starter.d.ts +49 -0
  258. package/dist/default-packs/followup-starter.d.ts.map +1 -0
  259. package/dist/default-packs/followup-starter.js +104 -0
  260. package/dist/default-packs/followup-starter.js.map +1 -0
  261. package/dist/default-packs/habit-starters.d.ts +37 -0
  262. package/dist/default-packs/habit-starters.d.ts.map +1 -0
  263. package/dist/default-packs/habit-starters.js +255 -0
  264. package/dist/default-packs/habit-starters.js.map +1 -0
  265. package/dist/default-packs/inbox-triage-starter.d.ts +23 -0
  266. package/dist/default-packs/inbox-triage-starter.d.ts.map +1 -0
  267. package/dist/default-packs/inbox-triage-starter.js +61 -0
  268. package/dist/default-packs/inbox-triage-starter.js.map +1 -0
  269. package/dist/default-packs/index.d.ts +54 -0
  270. package/dist/default-packs/index.d.ts.map +1 -0
  271. package/dist/default-packs/index.js +150 -0
  272. package/dist/default-packs/index.js.map +1 -0
  273. package/dist/default-packs/lint.d.ts +62 -0
  274. package/dist/default-packs/lint.d.ts.map +1 -0
  275. package/dist/default-packs/lint.js +161 -0
  276. package/dist/default-packs/lint.js.map +1 -0
  277. package/dist/default-packs/morning-brief.d.ts +44 -0
  278. package/dist/default-packs/morning-brief.d.ts.map +1 -0
  279. package/dist/default-packs/morning-brief.js +69 -0
  280. package/dist/default-packs/morning-brief.js.map +1 -0
  281. package/dist/default-packs/quiet-user-watcher.d.ts +49 -0
  282. package/dist/default-packs/quiet-user-watcher.d.ts.map +1 -0
  283. package/dist/default-packs/quiet-user-watcher.js +92 -0
  284. package/dist/default-packs/quiet-user-watcher.js.map +1 -0
  285. package/dist/default-packs/registry-types.d.ts +51 -0
  286. package/dist/default-packs/registry-types.d.ts.map +1 -0
  287. package/dist/default-packs/registry-types.js +1 -0
  288. package/dist/default-packs/registry-types.js.map +1 -0
  289. package/dist/default-packs/task-definitions.d.ts +88 -0
  290. package/dist/default-packs/task-definitions.d.ts.map +1 -0
  291. package/dist/default-packs/task-definitions.js +87 -0
  292. package/dist/default-packs/task-definitions.js.map +1 -0
  293. package/dist/events/index.d.ts +34 -0
  294. package/dist/events/index.d.ts.map +1 -0
  295. package/dist/events/index.js +30 -0
  296. package/dist/events/index.js.map +1 -0
  297. package/dist/followup/actions/listOverdueFollowups.d.ts +3 -0
  298. package/dist/followup/actions/listOverdueFollowups.d.ts.map +1 -0
  299. package/dist/followup/actions/listOverdueFollowups.js +90 -0
  300. package/dist/followup/actions/listOverdueFollowups.js.map +1 -0
  301. package/dist/followup/actions/markFollowupDone.d.ts +3 -0
  302. package/dist/followup/actions/markFollowupDone.d.ts.map +1 -0
  303. package/dist/followup/actions/markFollowupDone.js +171 -0
  304. package/dist/followup/actions/markFollowupDone.js.map +1 -0
  305. package/dist/followup/actions/setFollowupThreshold.d.ts +3 -0
  306. package/dist/followup/actions/setFollowupThreshold.d.ts.map +1 -0
  307. package/dist/followup/actions/setFollowupThreshold.js +171 -0
  308. package/dist/followup/actions/setFollowupThreshold.js.map +1 -0
  309. package/dist/followup/followup-tracker.d.ts +83 -0
  310. package/dist/followup/followup-tracker.d.ts.map +1 -0
  311. package/dist/followup/followup-tracker.js +311 -0
  312. package/dist/followup/followup-tracker.js.map +1 -0
  313. package/dist/followup/index.d.ts +5 -0
  314. package/dist/followup/index.d.ts.map +1 -0
  315. package/dist/followup/index.js +39 -0
  316. package/dist/followup/index.js.map +1 -0
  317. package/dist/hooks/connector-error.d.ts +2 -0
  318. package/dist/hooks/connector-error.d.ts.map +1 -0
  319. package/dist/hooks/connector-error.js +13 -0
  320. package/dist/hooks/connector-error.js.map +1 -0
  321. package/dist/hooks/useDiscordConnector.d.ts +11 -0
  322. package/dist/hooks/useDiscordConnector.d.ts.map +1 -0
  323. package/dist/hooks/useDiscordConnector.js +95 -0
  324. package/dist/hooks/useDiscordConnector.js.map +1 -0
  325. package/dist/hooks/useGoogleLifeOpsConnector.d.ts +23 -0
  326. package/dist/hooks/useGoogleLifeOpsConnector.d.ts.map +1 -0
  327. package/dist/hooks/useGoogleLifeOpsConnector.js +630 -0
  328. package/dist/hooks/useGoogleLifeOpsConnector.js.map +1 -0
  329. package/dist/hooks/useIMessageConnector.d.ts +10 -0
  330. package/dist/hooks/useIMessageConnector.d.ts.map +1 -0
  331. package/dist/hooks/useIMessageConnector.js +57 -0
  332. package/dist/hooks/useIMessageConnector.js.map +1 -0
  333. package/dist/hooks/useInbox.d.ts +36 -0
  334. package/dist/hooks/useInbox.d.ts.map +1 -0
  335. package/dist/hooks/useInbox.js +96 -0
  336. package/dist/hooks/useInbox.js.map +1 -0
  337. package/dist/hooks/useLifeOpsActivitySignals.d.ts +2 -0
  338. package/dist/hooks/useLifeOpsActivitySignals.d.ts.map +1 -0
  339. package/dist/hooks/useLifeOpsActivitySignals.js +358 -0
  340. package/dist/hooks/useLifeOpsActivitySignals.js.map +1 -0
  341. package/dist/hooks/useLifeOpsAppState.d.ts +9 -0
  342. package/dist/hooks/useLifeOpsAppState.d.ts.map +1 -0
  343. package/dist/hooks/useLifeOpsAppState.js +79 -0
  344. package/dist/hooks/useLifeOpsAppState.js.map +1 -0
  345. package/dist/hooks/useLifeOpsCapabilitiesStatus.d.ts +8 -0
  346. package/dist/hooks/useLifeOpsCapabilitiesStatus.d.ts.map +1 -0
  347. package/dist/hooks/useLifeOpsCapabilitiesStatus.js +60 -0
  348. package/dist/hooks/useLifeOpsCapabilitiesStatus.js.map +1 -0
  349. package/dist/hooks/useLifeOpsXConnector.d.ts +11 -0
  350. package/dist/hooks/useLifeOpsXConnector.d.ts.map +1 -0
  351. package/dist/hooks/useLifeOpsXConnector.js +92 -0
  352. package/dist/hooks/useLifeOpsXConnector.js.map +1 -0
  353. package/dist/hooks/useSignalConnector.d.ts +14 -0
  354. package/dist/hooks/useSignalConnector.d.ts.map +1 -0
  355. package/dist/hooks/useSignalConnector.js +89 -0
  356. package/dist/hooks/useSignalConnector.js.map +1 -0
  357. package/dist/hooks/useTelegramConnector.d.ts +14 -0
  358. package/dist/hooks/useTelegramConnector.d.ts.map +1 -0
  359. package/dist/hooks/useTelegramConnector.js +97 -0
  360. package/dist/hooks/useTelegramConnector.js.map +1 -0
  361. package/dist/hooks/useWhatsAppConnector.d.ts +8 -0
  362. package/dist/hooks/useWhatsAppConnector.d.ts.map +1 -0
  363. package/dist/hooks/useWhatsAppConnector.js +62 -0
  364. package/dist/hooks/useWhatsAppConnector.js.map +1 -0
  365. package/dist/inbox/message-fetcher.d.ts +11 -0
  366. package/dist/inbox/message-fetcher.d.ts.map +1 -0
  367. package/dist/inbox/message-fetcher.js +13 -0
  368. package/dist/inbox/message-fetcher.js.map +1 -0
  369. package/dist/inbox/repository.d.ts +11 -0
  370. package/dist/inbox/repository.d.ts.map +1 -0
  371. package/dist/inbox/repository.js +5 -0
  372. package/dist/inbox/repository.js.map +1 -0
  373. package/dist/inbox/types.d.ts +10 -0
  374. package/dist/inbox/types.d.ts.map +1 -0
  375. package/dist/inbox/types.js +2 -0
  376. package/dist/inbox/types.js.map +1 -0
  377. package/dist/index.d.ts +36 -0
  378. package/dist/index.d.ts.map +1 -0
  379. package/dist/index.js +188 -0
  380. package/dist/index.js.map +1 -0
  381. package/dist/lifeops/access.d.ts +29 -0
  382. package/dist/lifeops/access.d.ts.map +1 -0
  383. package/dist/lifeops/access.js +56 -0
  384. package/dist/lifeops/access.js.map +1 -0
  385. package/dist/lifeops/app-state.d.ts +22 -0
  386. package/dist/lifeops/app-state.d.ts.map +1 -0
  387. package/dist/lifeops/app-state.js +67 -0
  388. package/dist/lifeops/app-state.js.map +1 -0
  389. package/dist/lifeops/apple-reminders.d.ts +67 -0
  390. package/dist/lifeops/apple-reminders.d.ts.map +1 -0
  391. package/dist/lifeops/apple-reminders.js +396 -0
  392. package/dist/lifeops/apple-reminders.js.map +1 -0
  393. package/dist/lifeops/approval-queue.d.ts +38 -0
  394. package/dist/lifeops/approval-queue.d.ts.map +1 -0
  395. package/dist/lifeops/approval-queue.js +575 -0
  396. package/dist/lifeops/approval-queue.js.map +1 -0
  397. package/dist/lifeops/approval-queue.types.d.ts +172 -0
  398. package/dist/lifeops/approval-queue.types.d.ts.map +1 -0
  399. package/dist/lifeops/approval-queue.types.js +27 -0
  400. package/dist/lifeops/approval-queue.types.js.map +1 -0
  401. package/dist/lifeops/autofill-whitelist.d.ts +20 -0
  402. package/dist/lifeops/autofill-whitelist.d.ts.map +1 -0
  403. package/dist/lifeops/autofill-whitelist.js +59 -0
  404. package/dist/lifeops/autofill-whitelist.js.map +1 -0
  405. package/dist/lifeops/background-planner-dispatch.d.ts +60 -0
  406. package/dist/lifeops/background-planner-dispatch.d.ts.map +1 -0
  407. package/dist/lifeops/background-planner-dispatch.js +113 -0
  408. package/dist/lifeops/background-planner-dispatch.js.map +1 -0
  409. package/dist/lifeops/background-planner.d.ts +140 -0
  410. package/dist/lifeops/background-planner.d.ts.map +1 -0
  411. package/dist/lifeops/background-planner.js +359 -0
  412. package/dist/lifeops/background-planner.js.map +1 -0
  413. package/dist/lifeops/bill-extraction.d.ts +46 -0
  414. package/dist/lifeops/bill-extraction.d.ts.map +1 -0
  415. package/dist/lifeops/bill-extraction.js +325 -0
  416. package/dist/lifeops/bill-extraction.js.map +1 -0
  417. package/dist/lifeops/browser-constants.d.ts +4 -0
  418. package/dist/lifeops/browser-constants.d.ts.map +1 -0
  419. package/dist/lifeops/browser-constants.js +27 -0
  420. package/dist/lifeops/browser-constants.js.map +1 -0
  421. package/dist/lifeops/browser-extension-store.d.ts +61 -0
  422. package/dist/lifeops/browser-extension-store.d.ts.map +1 -0
  423. package/dist/lifeops/browser-extension-store.js +176 -0
  424. package/dist/lifeops/browser-extension-store.js.map +1 -0
  425. package/dist/lifeops/browser-session-lifecycle.d.ts +57 -0
  426. package/dist/lifeops/browser-session-lifecycle.d.ts.map +1 -0
  427. package/dist/lifeops/browser-session-lifecycle.js +308 -0
  428. package/dist/lifeops/browser-session-lifecycle.js.map +1 -0
  429. package/dist/lifeops/bulk-review.d.ts +333 -0
  430. package/dist/lifeops/bulk-review.d.ts.map +1 -0
  431. package/dist/lifeops/bulk-review.js +1120 -0
  432. package/dist/lifeops/bulk-review.js.map +1 -0
  433. package/dist/lifeops/calendar-gate.d.ts +20 -0
  434. package/dist/lifeops/calendar-gate.d.ts.map +1 -0
  435. package/dist/lifeops/calendar-gate.js +30 -0
  436. package/dist/lifeops/calendar-gate.js.map +1 -0
  437. package/dist/lifeops/channels/contract.d.ts +47 -0
  438. package/dist/lifeops/channels/contract.d.ts.map +1 -0
  439. package/dist/lifeops/channels/contract.js +1 -0
  440. package/dist/lifeops/channels/contract.js.map +1 -0
  441. package/dist/lifeops/channels/default-pack.d.ts +26 -0
  442. package/dist/lifeops/channels/default-pack.d.ts.map +1 -0
  443. package/dist/lifeops/channels/default-pack.js +243 -0
  444. package/dist/lifeops/channels/default-pack.js.map +1 -0
  445. package/dist/lifeops/channels/index.d.ts +5 -0
  446. package/dist/lifeops/channels/index.d.ts.map +1 -0
  447. package/dist/lifeops/channels/index.js +23 -0
  448. package/dist/lifeops/channels/index.js.map +1 -0
  449. package/dist/lifeops/channels/priority-posture.d.ts +36 -0
  450. package/dist/lifeops/channels/priority-posture.d.ts.map +1 -0
  451. package/dist/lifeops/channels/priority-posture.js +27 -0
  452. package/dist/lifeops/channels/priority-posture.js.map +1 -0
  453. package/dist/lifeops/channels/registry.d.ts +7 -0
  454. package/dist/lifeops/channels/registry.d.ts.map +1 -0
  455. package/dist/lifeops/channels/registry.js +49 -0
  456. package/dist/lifeops/channels/registry.js.map +1 -0
  457. package/dist/lifeops/checkin/checkin-service.d.ts +66 -0
  458. package/dist/lifeops/checkin/checkin-service.d.ts.map +1 -0
  459. package/dist/lifeops/checkin/checkin-service.js +1084 -0
  460. package/dist/lifeops/checkin/checkin-service.js.map +1 -0
  461. package/dist/lifeops/checkin/schedule-resolver.d.ts +17 -0
  462. package/dist/lifeops/checkin/schedule-resolver.d.ts.map +1 -0
  463. package/dist/lifeops/checkin/schedule-resolver.js +26 -0
  464. package/dist/lifeops/checkin/schedule-resolver.js.map +1 -0
  465. package/dist/lifeops/checkin/types.d.ts +106 -0
  466. package/dist/lifeops/checkin/types.d.ts.map +1 -0
  467. package/dist/lifeops/checkin/types.js +1 -0
  468. package/dist/lifeops/checkin/types.js.map +1 -0
  469. package/dist/lifeops/connectors/_helpers.d.ts +51 -0
  470. package/dist/lifeops/connectors/_helpers.d.ts.map +1 -0
  471. package/dist/lifeops/connectors/_helpers.js +104 -0
  472. package/dist/lifeops/connectors/_helpers.js.map +1 -0
  473. package/dist/lifeops/connectors/calendly.d.ts +11 -0
  474. package/dist/lifeops/connectors/calendly.d.ts.map +1 -0
  475. package/dist/lifeops/connectors/calendly.js +61 -0
  476. package/dist/lifeops/connectors/calendly.js.map +1 -0
  477. package/dist/lifeops/connectors/contract.d.ts +88 -0
  478. package/dist/lifeops/connectors/contract.d.ts.map +1 -0
  479. package/dist/lifeops/connectors/contract.js +1 -0
  480. package/dist/lifeops/connectors/contract.js.map +1 -0
  481. package/dist/lifeops/connectors/default-pack.d.ts +35 -0
  482. package/dist/lifeops/connectors/default-pack.d.ts.map +1 -0
  483. package/dist/lifeops/connectors/default-pack.js +37 -0
  484. package/dist/lifeops/connectors/default-pack.js.map +1 -0
  485. package/dist/lifeops/connectors/discord.d.ts +8 -0
  486. package/dist/lifeops/connectors/discord.d.ts.map +1 -0
  487. package/dist/lifeops/connectors/discord.js +53 -0
  488. package/dist/lifeops/connectors/discord.js.map +1 -0
  489. package/dist/lifeops/connectors/dispatch-policy.d.ts +75 -0
  490. package/dist/lifeops/connectors/dispatch-policy.d.ts.map +1 -0
  491. package/dist/lifeops/connectors/dispatch-policy.js +35 -0
  492. package/dist/lifeops/connectors/dispatch-policy.js.map +1 -0
  493. package/dist/lifeops/connectors/duffel.d.ts +11 -0
  494. package/dist/lifeops/connectors/duffel.d.ts.map +1 -0
  495. package/dist/lifeops/connectors/duffel.js +74 -0
  496. package/dist/lifeops/connectors/duffel.js.map +1 -0
  497. package/dist/lifeops/connectors/google.d.ts +27 -0
  498. package/dist/lifeops/connectors/google.d.ts.map +1 -0
  499. package/dist/lifeops/connectors/google.js +80 -0
  500. package/dist/lifeops/connectors/google.js.map +1 -0
  501. package/dist/lifeops/connectors/imessage.d.ts +11 -0
  502. package/dist/lifeops/connectors/imessage.d.ts.map +1 -0
  503. package/dist/lifeops/connectors/imessage.js +55 -0
  504. package/dist/lifeops/connectors/imessage.js.map +1 -0
  505. package/dist/lifeops/connectors/index.d.ts +5 -0
  506. package/dist/lifeops/connectors/index.d.ts.map +1 -0
  507. package/dist/lifeops/connectors/index.js +23 -0
  508. package/dist/lifeops/connectors/index.js.map +1 -0
  509. package/dist/lifeops/connectors/mockoon-redirect.d.ts +54 -0
  510. package/dist/lifeops/connectors/mockoon-redirect.d.ts.map +1 -0
  511. package/dist/lifeops/connectors/mockoon-redirect.js +71 -0
  512. package/dist/lifeops/connectors/mockoon-redirect.js.map +1 -0
  513. package/dist/lifeops/connectors/registry.d.ts +7 -0
  514. package/dist/lifeops/connectors/registry.d.ts.map +1 -0
  515. package/dist/lifeops/connectors/registry.js +55 -0
  516. package/dist/lifeops/connectors/registry.js.map +1 -0
  517. package/dist/lifeops/connectors/signal.d.ts +8 -0
  518. package/dist/lifeops/connectors/signal.d.ts.map +1 -0
  519. package/dist/lifeops/connectors/signal.js +60 -0
  520. package/dist/lifeops/connectors/signal.js.map +1 -0
  521. package/dist/lifeops/connectors/telegram.d.ts +12 -0
  522. package/dist/lifeops/connectors/telegram.d.ts.map +1 -0
  523. package/dist/lifeops/connectors/telegram.js +65 -0
  524. package/dist/lifeops/connectors/telegram.js.map +1 -0
  525. package/dist/lifeops/connectors/twilio.d.ts +15 -0
  526. package/dist/lifeops/connectors/twilio.d.ts.map +1 -0
  527. package/dist/lifeops/connectors/twilio.js +126 -0
  528. package/dist/lifeops/connectors/twilio.js.map +1 -0
  529. package/dist/lifeops/connectors/whatsapp.d.ts +10 -0
  530. package/dist/lifeops/connectors/whatsapp.d.ts.map +1 -0
  531. package/dist/lifeops/connectors/whatsapp.js +56 -0
  532. package/dist/lifeops/connectors/whatsapp.js.map +1 -0
  533. package/dist/lifeops/connectors/x.d.ts +8 -0
  534. package/dist/lifeops/connectors/x.d.ts.map +1 -0
  535. package/dist/lifeops/connectors/x.js +62 -0
  536. package/dist/lifeops/connectors/x.js.map +1 -0
  537. package/dist/lifeops/contact-route-policy.d.ts +27 -0
  538. package/dist/lifeops/contact-route-policy.d.ts.map +1 -0
  539. package/dist/lifeops/contact-route-policy.js +153 -0
  540. package/dist/lifeops/contact-route-policy.js.map +1 -0
  541. package/dist/lifeops/continuity-probe.d.ts +49 -0
  542. package/dist/lifeops/continuity-probe.d.ts.map +1 -0
  543. package/dist/lifeops/continuity-probe.js +161 -0
  544. package/dist/lifeops/continuity-probe.js.map +1 -0
  545. package/dist/lifeops/cross-channel-search.d.ts +108 -0
  546. package/dist/lifeops/cross-channel-search.d.ts.map +1 -0
  547. package/dist/lifeops/cross-channel-search.js +888 -0
  548. package/dist/lifeops/cross-channel-search.js.map +1 -0
  549. package/dist/lifeops/defaults.d.ts +30 -0
  550. package/dist/lifeops/defaults.d.ts.map +1 -0
  551. package/dist/lifeops/defaults.js +206 -0
  552. package/dist/lifeops/defaults.js.map +1 -0
  553. package/dist/lifeops/device-bus-service.d.ts +16 -0
  554. package/dist/lifeops/device-bus-service.d.ts.map +1 -0
  555. package/dist/lifeops/device-bus-service.js +20 -0
  556. package/dist/lifeops/device-bus-service.js.map +1 -0
  557. package/dist/lifeops/device-identity.d.ts +31 -0
  558. package/dist/lifeops/device-identity.d.ts.map +1 -0
  559. package/dist/lifeops/device-identity.js +94 -0
  560. package/dist/lifeops/device-identity.js.map +1 -0
  561. package/dist/lifeops/document-review.d.ts +264 -0
  562. package/dist/lifeops/document-review.d.ts.map +1 -0
  563. package/dist/lifeops/document-review.js +925 -0
  564. package/dist/lifeops/document-review.js.map +1 -0
  565. package/dist/lifeops/email-classifier.d.ts +9 -0
  566. package/dist/lifeops/email-classifier.d.ts.map +1 -0
  567. package/dist/lifeops/email-classifier.js +15 -0
  568. package/dist/lifeops/email-classifier.js.map +1 -0
  569. package/dist/lifeops/email-curation.d.ts +13 -0
  570. package/dist/lifeops/email-curation.d.ts.map +1 -0
  571. package/dist/lifeops/email-curation.js +2 -0
  572. package/dist/lifeops/email-curation.js.map +1 -0
  573. package/dist/lifeops/email-unsubscribe-types.d.ts +7 -0
  574. package/dist/lifeops/email-unsubscribe-types.d.ts.map +1 -0
  575. package/dist/lifeops/email-unsubscribe-types.js +1 -0
  576. package/dist/lifeops/email-unsubscribe-types.js.map +1 -0
  577. package/dist/lifeops/enforcement-windows.d.ts +34 -0
  578. package/dist/lifeops/enforcement-windows.d.ts.map +1 -0
  579. package/dist/lifeops/enforcement-windows.js +80 -0
  580. package/dist/lifeops/enforcement-windows.js.map +1 -0
  581. package/dist/lifeops/engine.d.ts +8 -0
  582. package/dist/lifeops/engine.d.ts.map +1 -0
  583. package/dist/lifeops/engine.js +540 -0
  584. package/dist/lifeops/engine.js.map +1 -0
  585. package/dist/lifeops/entities/index.d.ts +4 -0
  586. package/dist/lifeops/entities/index.d.ts.map +1 -0
  587. package/dist/lifeops/entities/index.js +29 -0
  588. package/dist/lifeops/entities/index.js.map +1 -0
  589. package/dist/lifeops/entities/merge.d.ts +9 -0
  590. package/dist/lifeops/entities/merge.d.ts.map +1 -0
  591. package/dist/lifeops/entities/merge.js +17 -0
  592. package/dist/lifeops/entities/merge.js.map +1 -0
  593. package/dist/lifeops/entities/store.d.ts +13 -0
  594. package/dist/lifeops/entities/store.d.ts.map +1 -0
  595. package/dist/lifeops/entities/store.js +7 -0
  596. package/dist/lifeops/entities/store.js.map +1 -0
  597. package/dist/lifeops/entities/types.d.ts +9 -0
  598. package/dist/lifeops/entities/types.d.ts.map +1 -0
  599. package/dist/lifeops/entities/types.js +13 -0
  600. package/dist/lifeops/entities/types.js.map +1 -0
  601. package/dist/lifeops/entities/voice-attribution.d.ts +70 -0
  602. package/dist/lifeops/entities/voice-attribution.d.ts.map +1 -0
  603. package/dist/lifeops/entities/voice-attribution.js +121 -0
  604. package/dist/lifeops/entities/voice-attribution.js.map +1 -0
  605. package/dist/lifeops/entities/voice-observer-bridge.d.ts +32 -0
  606. package/dist/lifeops/entities/voice-observer-bridge.d.ts.map +1 -0
  607. package/dist/lifeops/entities/voice-observer-bridge.js +68 -0
  608. package/dist/lifeops/entities/voice-observer-bridge.js.map +1 -0
  609. package/dist/lifeops/entities/voice-observer.d.ts +72 -0
  610. package/dist/lifeops/entities/voice-observer.d.ts.map +1 -0
  611. package/dist/lifeops/entities/voice-observer.js +97 -0
  612. package/dist/lifeops/entities/voice-observer.js.map +1 -0
  613. package/dist/lifeops/escalation-ladders.d.ts +28 -0
  614. package/dist/lifeops/escalation-ladders.d.ts.map +1 -0
  615. package/dist/lifeops/escalation-ladders.js +17 -0
  616. package/dist/lifeops/escalation-ladders.js.map +1 -0
  617. package/dist/lifeops/fda-probe.d.ts +23 -0
  618. package/dist/lifeops/fda-probe.d.ts.map +1 -0
  619. package/dist/lifeops/fda-probe.js +59 -0
  620. package/dist/lifeops/fda-probe.js.map +1 -0
  621. package/dist/lifeops/feature-flags.d.ts +24 -0
  622. package/dist/lifeops/feature-flags.d.ts.map +1 -0
  623. package/dist/lifeops/feature-flags.js +261 -0
  624. package/dist/lifeops/feature-flags.js.map +1 -0
  625. package/dist/lifeops/feature-flags.types.d.ts +156 -0
  626. package/dist/lifeops/feature-flags.types.d.ts.map +1 -0
  627. package/dist/lifeops/feature-flags.types.js +129 -0
  628. package/dist/lifeops/feature-flags.types.js.map +1 -0
  629. package/dist/lifeops/first-run/defaults.d.ts +57 -0
  630. package/dist/lifeops/first-run/defaults.d.ts.map +1 -0
  631. package/dist/lifeops/first-run/defaults.js +159 -0
  632. package/dist/lifeops/first-run/defaults.js.map +1 -0
  633. package/dist/lifeops/first-run/questions.d.ts +74 -0
  634. package/dist/lifeops/first-run/questions.d.ts.map +1 -0
  635. package/dist/lifeops/first-run/questions.js +184 -0
  636. package/dist/lifeops/first-run/questions.js.map +1 -0
  637. package/dist/lifeops/first-run/replay.d.ts +41 -0
  638. package/dist/lifeops/first-run/replay.d.ts.map +1 -0
  639. package/dist/lifeops/first-run/replay.js +34 -0
  640. package/dist/lifeops/first-run/replay.js.map +1 -0
  641. package/dist/lifeops/first-run/service.d.ts +147 -0
  642. package/dist/lifeops/first-run/service.d.ts.map +1 -0
  643. package/dist/lifeops/first-run/service.js +455 -0
  644. package/dist/lifeops/first-run/service.js.map +1 -0
  645. package/dist/lifeops/first-run/state.d.ts +36 -0
  646. package/dist/lifeops/first-run/state.d.ts.map +1 -0
  647. package/dist/lifeops/first-run/state.js +128 -0
  648. package/dist/lifeops/first-run/state.js.map +1 -0
  649. package/dist/lifeops/global-pause/store.d.ts +22 -0
  650. package/dist/lifeops/global-pause/store.d.ts.map +1 -0
  651. package/dist/lifeops/global-pause/store.js +18 -0
  652. package/dist/lifeops/global-pause/store.js.map +1 -0
  653. package/dist/lifeops/goal-grounding.d.ts +9 -0
  654. package/dist/lifeops/goal-grounding.d.ts.map +1 -0
  655. package/dist/lifeops/goal-grounding.js +19 -0
  656. package/dist/lifeops/goal-grounding.js.map +1 -0
  657. package/dist/lifeops/goal-semantic-evaluator.d.ts +8 -0
  658. package/dist/lifeops/goal-semantic-evaluator.d.ts.map +1 -0
  659. package/dist/lifeops/goal-semantic-evaluator.js +7 -0
  660. package/dist/lifeops/goal-semantic-evaluator.js.map +1 -0
  661. package/dist/lifeops/google/format-helpers.d.ts +63 -0
  662. package/dist/lifeops/google/format-helpers.d.ts.map +1 -0
  663. package/dist/lifeops/google/format-helpers.js +597 -0
  664. package/dist/lifeops/google/format-helpers.js.map +1 -0
  665. package/dist/lifeops/google-plugin-delegates.d.ts +59 -0
  666. package/dist/lifeops/google-plugin-delegates.d.ts.map +1 -0
  667. package/dist/lifeops/google-plugin-delegates.js +408 -0
  668. package/dist/lifeops/google-plugin-delegates.js.map +1 -0
  669. package/dist/lifeops/google-scopes.d.ts +15 -0
  670. package/dist/lifeops/google-scopes.d.ts.map +1 -0
  671. package/dist/lifeops/google-scopes.js +118 -0
  672. package/dist/lifeops/google-scopes.js.map +1 -0
  673. package/dist/lifeops/handoff/store.d.ts +23 -0
  674. package/dist/lifeops/handoff/store.d.ts.map +1 -0
  675. package/dist/lifeops/handoff/store.js +20 -0
  676. package/dist/lifeops/handoff/store.js.map +1 -0
  677. package/dist/lifeops/i18n/localized-examples-provider.d.ts +16 -0
  678. package/dist/lifeops/i18n/localized-examples-provider.d.ts.map +1 -0
  679. package/dist/lifeops/i18n/localized-examples-provider.js +33 -0
  680. package/dist/lifeops/i18n/localized-examples-provider.js.map +1 -0
  681. package/dist/lifeops/i18n/localized-examples-resolver.d.ts +32 -0
  682. package/dist/lifeops/i18n/localized-examples-resolver.d.ts.map +1 -0
  683. package/dist/lifeops/i18n/localized-examples-resolver.js +28 -0
  684. package/dist/lifeops/i18n/localized-examples-resolver.js.map +1 -0
  685. package/dist/lifeops/i18n/prompt-registry.d.ts +64 -0
  686. package/dist/lifeops/i18n/prompt-registry.d.ts.map +1 -0
  687. package/dist/lifeops/i18n/prompt-registry.js +283 -0
  688. package/dist/lifeops/i18n/prompt-registry.js.map +1 -0
  689. package/dist/lifeops/imessage-outbound-probe.d.ts +7 -0
  690. package/dist/lifeops/imessage-outbound-probe.d.ts.map +1 -0
  691. package/dist/lifeops/imessage-outbound-probe.js +81 -0
  692. package/dist/lifeops/imessage-outbound-probe.js.map +1 -0
  693. package/dist/lifeops/index.d.ts +24 -0
  694. package/dist/lifeops/index.d.ts.map +1 -0
  695. package/dist/lifeops/index.js +24 -0
  696. package/dist/lifeops/index.js.map +1 -0
  697. package/dist/lifeops/intent-sync.d.ts +64 -0
  698. package/dist/lifeops/intent-sync.d.ts.map +1 -0
  699. package/dist/lifeops/intent-sync.js +321 -0
  700. package/dist/lifeops/intent-sync.js.map +1 -0
  701. package/dist/lifeops/messaging/index.d.ts +2 -0
  702. package/dist/lifeops/messaging/index.d.ts.map +1 -0
  703. package/dist/lifeops/messaging/index.js +5 -0
  704. package/dist/lifeops/messaging/index.js.map +1 -0
  705. package/dist/lifeops/messaging/owner-send-policy.d.ts +3 -0
  706. package/dist/lifeops/messaging/owner-send-policy.d.ts.map +1 -0
  707. package/dist/lifeops/messaging/owner-send-policy.js +83 -0
  708. package/dist/lifeops/messaging/owner-send-policy.js.map +1 -0
  709. package/dist/lifeops/notifications-push.d.ts +37 -0
  710. package/dist/lifeops/notifications-push.d.ts.map +1 -0
  711. package/dist/lifeops/notifications-push.js +95 -0
  712. package/dist/lifeops/notifications-push.js.map +1 -0
  713. package/dist/lifeops/optimized-prompt-instructions.d.ts +5 -0
  714. package/dist/lifeops/optimized-prompt-instructions.d.ts.map +1 -0
  715. package/dist/lifeops/optimized-prompt-instructions.js +48 -0
  716. package/dist/lifeops/optimized-prompt-instructions.js.map +1 -0
  717. package/dist/lifeops/owner/fact-store.d.ts +143 -0
  718. package/dist/lifeops/owner/fact-store.d.ts.map +1 -0
  719. package/dist/lifeops/owner/fact-store.js +446 -0
  720. package/dist/lifeops/owner/fact-store.js.map +1 -0
  721. package/dist/lifeops/owner/profile-extraction-evaluator.d.ts +3 -0
  722. package/dist/lifeops/owner/profile-extraction-evaluator.d.ts.map +1 -0
  723. package/dist/lifeops/owner/profile-extraction-evaluator.js +241 -0
  724. package/dist/lifeops/owner/profile-extraction-evaluator.js.map +1 -0
  725. package/dist/lifeops/owner-profile.d.ts +61 -0
  726. package/dist/lifeops/owner-profile.d.ts.map +1 -0
  727. package/dist/lifeops/owner-profile.js +407 -0
  728. package/dist/lifeops/owner-profile.js.map +1 -0
  729. package/dist/lifeops/pending-prompts/store.d.ts +23 -0
  730. package/dist/lifeops/pending-prompts/store.d.ts.map +1 -0
  731. package/dist/lifeops/pending-prompts/store.js +16 -0
  732. package/dist/lifeops/pending-prompts/store.js.map +1 -0
  733. package/dist/lifeops/policy-memory.d.ts +190 -0
  734. package/dist/lifeops/policy-memory.d.ts.map +1 -0
  735. package/dist/lifeops/policy-memory.js +1026 -0
  736. package/dist/lifeops/policy-memory.js.map +1 -0
  737. package/dist/lifeops/priority-scoring.d.ts +51 -0
  738. package/dist/lifeops/priority-scoring.d.ts.map +1 -0
  739. package/dist/lifeops/priority-scoring.js +305 -0
  740. package/dist/lifeops/priority-scoring.js.map +1 -0
  741. package/dist/lifeops/privacy-egress.d.ts +92 -0
  742. package/dist/lifeops/privacy-egress.d.ts.map +1 -0
  743. package/dist/lifeops/privacy-egress.js +230 -0
  744. package/dist/lifeops/privacy-egress.js.map +1 -0
  745. package/dist/lifeops/privacy.d.ts +49 -0
  746. package/dist/lifeops/privacy.d.ts.map +1 -0
  747. package/dist/lifeops/privacy.js +66 -0
  748. package/dist/lifeops/privacy.js.map +1 -0
  749. package/dist/lifeops/redact-sensitive-data.d.ts +32 -0
  750. package/dist/lifeops/redact-sensitive-data.d.ts.map +1 -0
  751. package/dist/lifeops/redact-sensitive-data.js +98 -0
  752. package/dist/lifeops/redact-sensitive-data.js.map +1 -0
  753. package/dist/lifeops/registries/app-blocker-contribution.d.ts +13 -0
  754. package/dist/lifeops/registries/app-blocker-contribution.d.ts.map +1 -0
  755. package/dist/lifeops/registries/app-blocker-contribution.js +73 -0
  756. package/dist/lifeops/registries/app-blocker-contribution.js.map +1 -0
  757. package/dist/lifeops/registries/blocker-registry.d.ts +76 -0
  758. package/dist/lifeops/registries/blocker-registry.d.ts.map +1 -0
  759. package/dist/lifeops/registries/blocker-registry.js +40 -0
  760. package/dist/lifeops/registries/blocker-registry.js.map +1 -0
  761. package/dist/lifeops/registries/event-kind-registry.d.ts +57 -0
  762. package/dist/lifeops/registries/event-kind-registry.d.ts.map +1 -0
  763. package/dist/lifeops/registries/event-kind-registry.js +82 -0
  764. package/dist/lifeops/registries/event-kind-registry.js.map +1 -0
  765. package/dist/lifeops/registries/family-registry.d.ts +72 -0
  766. package/dist/lifeops/registries/family-registry.d.ts.map +1 -0
  767. package/dist/lifeops/registries/family-registry.js +98 -0
  768. package/dist/lifeops/registries/family-registry.js.map +1 -0
  769. package/dist/lifeops/registries/feature-flag-default-pack.d.ts +32 -0
  770. package/dist/lifeops/registries/feature-flag-default-pack.d.ts.map +1 -0
  771. package/dist/lifeops/registries/feature-flag-default-pack.js +36 -0
  772. package/dist/lifeops/registries/feature-flag-default-pack.js.map +1 -0
  773. package/dist/lifeops/registries/feature-flag-registry.d.ts +76 -0
  774. package/dist/lifeops/registries/feature-flag-registry.d.ts.map +1 -0
  775. package/dist/lifeops/registries/feature-flag-registry.js +68 -0
  776. package/dist/lifeops/registries/feature-flag-registry.js.map +1 -0
  777. package/dist/lifeops/registries/index.d.ts +24 -0
  778. package/dist/lifeops/registries/index.d.ts.map +1 -0
  779. package/dist/lifeops/registries/index.js +115 -0
  780. package/dist/lifeops/registries/index.js.map +1 -0
  781. package/dist/lifeops/registries/website-blocker-contribution.d.ts +21 -0
  782. package/dist/lifeops/registries/website-blocker-contribution.d.ts.map +1 -0
  783. package/dist/lifeops/registries/website-blocker-contribution.js +76 -0
  784. package/dist/lifeops/registries/website-blocker-contribution.js.map +1 -0
  785. package/dist/lifeops/registries/workflow-step-default-pack.d.ts +30 -0
  786. package/dist/lifeops/registries/workflow-step-default-pack.d.ts.map +1 -0
  787. package/dist/lifeops/registries/workflow-step-default-pack.js +315 -0
  788. package/dist/lifeops/registries/workflow-step-default-pack.js.map +1 -0
  789. package/dist/lifeops/registries/workflow-step-registry.d.ts +101 -0
  790. package/dist/lifeops/registries/workflow-step-registry.d.ts.map +1 -0
  791. package/dist/lifeops/registries/workflow-step-registry.js +56 -0
  792. package/dist/lifeops/registries/workflow-step-registry.js.map +1 -0
  793. package/dist/lifeops/relationships/extraction.d.ts +77 -0
  794. package/dist/lifeops/relationships/extraction.d.ts.map +1 -0
  795. package/dist/lifeops/relationships/extraction.js +146 -0
  796. package/dist/lifeops/relationships/extraction.js.map +1 -0
  797. package/dist/lifeops/relationships/index.d.ts +4 -0
  798. package/dist/lifeops/relationships/index.d.ts.map +1 -0
  799. package/dist/lifeops/relationships/index.js +19 -0
  800. package/dist/lifeops/relationships/index.js.map +1 -0
  801. package/dist/lifeops/relationships/mapping.d.ts +34 -0
  802. package/dist/lifeops/relationships/mapping.d.ts.map +1 -0
  803. package/dist/lifeops/relationships/mapping.js +87 -0
  804. package/dist/lifeops/relationships/mapping.js.map +1 -0
  805. package/dist/lifeops/relationships/store.d.ts +12 -0
  806. package/dist/lifeops/relationships/store.d.ts.map +1 -0
  807. package/dist/lifeops/relationships/store.js +5 -0
  808. package/dist/lifeops/relationships/store.js.map +1 -0
  809. package/dist/lifeops/relationships/types.d.ts +9 -0
  810. package/dist/lifeops/relationships/types.d.ts.map +1 -0
  811. package/dist/lifeops/relationships/types.js +11 -0
  812. package/dist/lifeops/relationships/types.js.map +1 -0
  813. package/dist/lifeops/relative-schedule-resolver.d.ts +13 -0
  814. package/dist/lifeops/relative-schedule-resolver.d.ts.map +1 -0
  815. package/dist/lifeops/relative-schedule-resolver.js +107 -0
  816. package/dist/lifeops/relative-schedule-resolver.js.map +1 -0
  817. package/dist/lifeops/relative-time.d.ts +15 -0
  818. package/dist/lifeops/relative-time.d.ts.map +1 -0
  819. package/dist/lifeops/relative-time.js +191 -0
  820. package/dist/lifeops/relative-time.js.map +1 -0
  821. package/dist/lifeops/repository.d.ts +638 -0
  822. package/dist/lifeops/repository.d.ts.map +1 -0
  823. package/dist/lifeops/repository.js +6289 -0
  824. package/dist/lifeops/repository.js.map +1 -0
  825. package/dist/lifeops/runtime-cache.d.ts +4 -0
  826. package/dist/lifeops/runtime-cache.d.ts.map +1 -0
  827. package/dist/lifeops/runtime-cache.js +7 -0
  828. package/dist/lifeops/runtime-cache.js.map +1 -0
  829. package/dist/lifeops/runtime-service-delegates.d.ts +236 -0
  830. package/dist/lifeops/runtime-service-delegates.d.ts.map +1 -0
  831. package/dist/lifeops/runtime-service-delegates.js +839 -0
  832. package/dist/lifeops/runtime-service-delegates.js.map +1 -0
  833. package/dist/lifeops/runtime.d.ts +13 -0
  834. package/dist/lifeops/runtime.d.ts.map +1 -0
  835. package/dist/lifeops/runtime.js +104 -0
  836. package/dist/lifeops/runtime.js.map +1 -0
  837. package/dist/lifeops/schedule-insight.d.ts +133 -0
  838. package/dist/lifeops/schedule-insight.d.ts.map +1 -0
  839. package/dist/lifeops/schedule-insight.js +726 -0
  840. package/dist/lifeops/schedule-insight.js.map +1 -0
  841. package/dist/lifeops/schedule-state.d.ts +39 -0
  842. package/dist/lifeops/schedule-state.d.ts.map +1 -0
  843. package/dist/lifeops/schedule-state.js +671 -0
  844. package/dist/lifeops/schedule-state.js.map +1 -0
  845. package/dist/lifeops/schedule-sync-config.d.ts +3 -0
  846. package/dist/lifeops/schedule-sync-config.d.ts.map +1 -0
  847. package/dist/lifeops/schedule-sync-config.js +23 -0
  848. package/dist/lifeops/schedule-sync-config.js.map +1 -0
  849. package/dist/lifeops/schedule-sync-contracts.d.ts +2 -0
  850. package/dist/lifeops/schedule-sync-contracts.d.ts.map +1 -0
  851. package/dist/lifeops/schedule-sync-contracts.js +2 -0
  852. package/dist/lifeops/schedule-sync-contracts.js.map +1 -0
  853. package/dist/lifeops/scheduled-task/index.d.ts +13 -0
  854. package/dist/lifeops/scheduled-task/index.d.ts.map +1 -0
  855. package/dist/lifeops/scheduled-task/index.js +14 -0
  856. package/dist/lifeops/scheduled-task/index.js.map +1 -0
  857. package/dist/lifeops/scheduled-task/runtime-wiring.d.ts +33 -0
  858. package/dist/lifeops/scheduled-task/runtime-wiring.d.ts.map +1 -0
  859. package/dist/lifeops/scheduled-task/runtime-wiring.js +334 -0
  860. package/dist/lifeops/scheduled-task/runtime-wiring.js.map +1 -0
  861. package/dist/lifeops/scheduled-task/scheduler.d.ts +28 -0
  862. package/dist/lifeops/scheduled-task/scheduler.d.ts.map +1 -0
  863. package/dist/lifeops/scheduled-task/scheduler.js +202 -0
  864. package/dist/lifeops/scheduled-task/scheduler.js.map +1 -0
  865. package/dist/lifeops/scheduled-task/service.d.ts +61 -0
  866. package/dist/lifeops/scheduled-task/service.d.ts.map +1 -0
  867. package/dist/lifeops/scheduled-task/service.js +64 -0
  868. package/dist/lifeops/scheduled-task/service.js.map +1 -0
  869. package/dist/lifeops/scheduler-task.d.ts +19 -0
  870. package/dist/lifeops/scheduler-task.d.ts.map +1 -0
  871. package/dist/lifeops/scheduler-task.js +201 -0
  872. package/dist/lifeops/scheduler-task.js.map +1 -0
  873. package/dist/lifeops/schema.d.ts +28068 -0
  874. package/dist/lifeops/schema.d.ts.map +1 -0
  875. package/dist/lifeops/schema.js +1689 -0
  876. package/dist/lifeops/schema.js.map +1 -0
  877. package/dist/lifeops/screen-context.d.ts +66 -0
  878. package/dist/lifeops/screen-context.d.ts.map +1 -0
  879. package/dist/lifeops/screen-context.js +347 -0
  880. package/dist/lifeops/screen-context.js.map +1 -0
  881. package/dist/lifeops/seed-routine-migration/migrator.d.ts +113 -0
  882. package/dist/lifeops/seed-routine-migration/migrator.d.ts.map +1 -0
  883. package/dist/lifeops/seed-routine-migration/migrator.js +142 -0
  884. package/dist/lifeops/seed-routine-migration/migrator.js.map +1 -0
  885. package/dist/lifeops/seed-routines.d.ts +24 -0
  886. package/dist/lifeops/seed-routines.d.ts.map +1 -0
  887. package/dist/lifeops/seed-routines.js +140 -0
  888. package/dist/lifeops/seed-routines.js.map +1 -0
  889. package/dist/lifeops/send-policy/contract.d.ts +81 -0
  890. package/dist/lifeops/send-policy/contract.d.ts.map +1 -0
  891. package/dist/lifeops/send-policy/contract.js +1 -0
  892. package/dist/lifeops/send-policy/contract.js.map +1 -0
  893. package/dist/lifeops/send-policy/index.d.ts +3 -0
  894. package/dist/lifeops/send-policy/index.d.ts.map +1 -0
  895. package/dist/lifeops/send-policy/index.js +13 -0
  896. package/dist/lifeops/send-policy/index.js.map +1 -0
  897. package/dist/lifeops/send-policy/registry.d.ts +7 -0
  898. package/dist/lifeops/send-policy/registry.d.ts.map +1 -0
  899. package/dist/lifeops/send-policy/registry.js +62 -0
  900. package/dist/lifeops/send-policy/registry.js.map +1 -0
  901. package/dist/lifeops/sensitive-request-delivery.d.ts +46 -0
  902. package/dist/lifeops/sensitive-request-delivery.d.ts.map +1 -0
  903. package/dist/lifeops/sensitive-request-delivery.js +103 -0
  904. package/dist/lifeops/sensitive-request-delivery.js.map +1 -0
  905. package/dist/lifeops/service-constants.d.ts +10 -0
  906. package/dist/lifeops/service-constants.d.ts.map +1 -0
  907. package/dist/lifeops/service-constants.js +129 -0
  908. package/dist/lifeops/service-constants.js.map +1 -0
  909. package/dist/lifeops/service-helpers-browser.d.ts +41 -0
  910. package/dist/lifeops/service-helpers-browser.d.ts.map +1 -0
  911. package/dist/lifeops/service-helpers-browser.js +290 -0
  912. package/dist/lifeops/service-helpers-browser.js.map +1 -0
  913. package/dist/lifeops/service-helpers-misc.d.ts +68 -0
  914. package/dist/lifeops/service-helpers-misc.d.ts.map +1 -0
  915. package/dist/lifeops/service-helpers-misc.js +531 -0
  916. package/dist/lifeops/service-helpers-misc.js.map +1 -0
  917. package/dist/lifeops/service-helpers-occurrence.d.ts +23 -0
  918. package/dist/lifeops/service-helpers-occurrence.d.ts.map +1 -0
  919. package/dist/lifeops/service-helpers-occurrence.js +257 -0
  920. package/dist/lifeops/service-helpers-occurrence.js.map +1 -0
  921. package/dist/lifeops/service-helpers-reminder.d.ts +260 -0
  922. package/dist/lifeops/service-helpers-reminder.d.ts.map +1 -0
  923. package/dist/lifeops/service-helpers-reminder.js +1186 -0
  924. package/dist/lifeops/service-helpers-reminder.js.map +1 -0
  925. package/dist/lifeops/service-mixin-browser.d.ts +31 -0
  926. package/dist/lifeops/service-mixin-browser.d.ts.map +1 -0
  927. package/dist/lifeops/service-mixin-browser.js +975 -0
  928. package/dist/lifeops/service-mixin-browser.js.map +1 -0
  929. package/dist/lifeops/service-mixin-calendar.d.ts +53 -0
  930. package/dist/lifeops/service-mixin-calendar.d.ts.map +1 -0
  931. package/dist/lifeops/service-mixin-calendar.js +68 -0
  932. package/dist/lifeops/service-mixin-calendar.js.map +1 -0
  933. package/dist/lifeops/service-mixin-core.d.ts +51 -0
  934. package/dist/lifeops/service-mixin-core.d.ts.map +1 -0
  935. package/dist/lifeops/service-mixin-core.js +500 -0
  936. package/dist/lifeops/service-mixin-core.js.map +1 -0
  937. package/dist/lifeops/service-mixin-definitions.d.ts +14 -0
  938. package/dist/lifeops/service-mixin-definitions.d.ts.map +1 -0
  939. package/dist/lifeops/service-mixin-definitions.js +470 -0
  940. package/dist/lifeops/service-mixin-definitions.js.map +1 -0
  941. package/dist/lifeops/service-mixin-discord.d.ts +49 -0
  942. package/dist/lifeops/service-mixin-discord.d.ts.map +1 -0
  943. package/dist/lifeops/service-mixin-discord.js +1253 -0
  944. package/dist/lifeops/service-mixin-discord.js.map +1 -0
  945. package/dist/lifeops/service-mixin-drive.d.ts +96 -0
  946. package/dist/lifeops/service-mixin-drive.d.ts.map +1 -0
  947. package/dist/lifeops/service-mixin-drive.js +213 -0
  948. package/dist/lifeops/service-mixin-drive.js.map +1 -0
  949. package/dist/lifeops/service-mixin-email-unsubscribe.d.ts +23 -0
  950. package/dist/lifeops/service-mixin-email-unsubscribe.d.ts.map +1 -0
  951. package/dist/lifeops/service-mixin-email-unsubscribe.js +27 -0
  952. package/dist/lifeops/service-mixin-email-unsubscribe.js.map +1 -0
  953. package/dist/lifeops/service-mixin-gmail.d.ts +43 -0
  954. package/dist/lifeops/service-mixin-gmail.d.ts.map +1 -0
  955. package/dist/lifeops/service-mixin-gmail.js +727 -0
  956. package/dist/lifeops/service-mixin-gmail.js.map +1 -0
  957. package/dist/lifeops/service-mixin-goals.d.ts +22 -0
  958. package/dist/lifeops/service-mixin-goals.d.ts.map +1 -0
  959. package/dist/lifeops/service-mixin-goals.js +884 -0
  960. package/dist/lifeops/service-mixin-goals.js.map +1 -0
  961. package/dist/lifeops/service-mixin-google.d.ts +13 -0
  962. package/dist/lifeops/service-mixin-google.d.ts.map +1 -0
  963. package/dist/lifeops/service-mixin-google.js +398 -0
  964. package/dist/lifeops/service-mixin-google.js.map +1 -0
  965. package/dist/lifeops/service-mixin-health.d.ts +27 -0
  966. package/dist/lifeops/service-mixin-health.d.ts.map +1 -0
  967. package/dist/lifeops/service-mixin-health.js +670 -0
  968. package/dist/lifeops/service-mixin-health.js.map +1 -0
  969. package/dist/lifeops/service-mixin-imessage.d.ts +106 -0
  970. package/dist/lifeops/service-mixin-imessage.d.ts.map +1 -0
  971. package/dist/lifeops/service-mixin-imessage.js +303 -0
  972. package/dist/lifeops/service-mixin-imessage.js.map +1 -0
  973. package/dist/lifeops/service-mixin-inbox.d.ts +55 -0
  974. package/dist/lifeops/service-mixin-inbox.d.ts.map +1 -0
  975. package/dist/lifeops/service-mixin-inbox.js +597 -0
  976. package/dist/lifeops/service-mixin-inbox.js.map +1 -0
  977. package/dist/lifeops/service-mixin-relationships.d.ts +65 -0
  978. package/dist/lifeops/service-mixin-relationships.d.ts.map +1 -0
  979. package/dist/lifeops/service-mixin-relationships.js +150 -0
  980. package/dist/lifeops/service-mixin-relationships.js.map +1 -0
  981. package/dist/lifeops/service-mixin-reminders.d.ts +62 -0
  982. package/dist/lifeops/service-mixin-reminders.d.ts.map +1 -0
  983. package/dist/lifeops/service-mixin-reminders.js +4003 -0
  984. package/dist/lifeops/service-mixin-reminders.js.map +1 -0
  985. package/dist/lifeops/service-mixin-scheduling.d.ts +53 -0
  986. package/dist/lifeops/service-mixin-scheduling.d.ts.map +1 -0
  987. package/dist/lifeops/service-mixin-scheduling.js +405 -0
  988. package/dist/lifeops/service-mixin-scheduling.js.map +1 -0
  989. package/dist/lifeops/service-mixin-screentime.d.ts +71 -0
  990. package/dist/lifeops/service-mixin-screentime.d.ts.map +1 -0
  991. package/dist/lifeops/service-mixin-screentime.js +530 -0
  992. package/dist/lifeops/service-mixin-screentime.js.map +1 -0
  993. package/dist/lifeops/service-mixin-signal.d.ts +74 -0
  994. package/dist/lifeops/service-mixin-signal.d.ts.map +1 -0
  995. package/dist/lifeops/service-mixin-signal.js +214 -0
  996. package/dist/lifeops/service-mixin-signal.js.map +1 -0
  997. package/dist/lifeops/service-mixin-sleep.d.ts +68 -0
  998. package/dist/lifeops/service-mixin-sleep.d.ts.map +1 -0
  999. package/dist/lifeops/service-mixin-sleep.js +43 -0
  1000. package/dist/lifeops/service-mixin-sleep.js.map +1 -0
  1001. package/dist/lifeops/service-mixin-status.d.ts +31 -0
  1002. package/dist/lifeops/service-mixin-status.d.ts.map +1 -0
  1003. package/dist/lifeops/service-mixin-status.js +373 -0
  1004. package/dist/lifeops/service-mixin-status.js.map +1 -0
  1005. package/dist/lifeops/service-mixin-subscriptions.d.ts +101 -0
  1006. package/dist/lifeops/service-mixin-subscriptions.d.ts.map +1 -0
  1007. package/dist/lifeops/service-mixin-subscriptions.js +50 -0
  1008. package/dist/lifeops/service-mixin-subscriptions.js.map +1 -0
  1009. package/dist/lifeops/service-mixin-telegram.d.ts +104 -0
  1010. package/dist/lifeops/service-mixin-telegram.d.ts.map +1 -0
  1011. package/dist/lifeops/service-mixin-telegram.js +280 -0
  1012. package/dist/lifeops/service-mixin-telegram.js.map +1 -0
  1013. package/dist/lifeops/service-mixin-travel.d.ts +66 -0
  1014. package/dist/lifeops/service-mixin-travel.d.ts.map +1 -0
  1015. package/dist/lifeops/service-mixin-travel.js +275 -0
  1016. package/dist/lifeops/service-mixin-travel.js.map +1 -0
  1017. package/dist/lifeops/service-mixin-whatsapp.d.ts +96 -0
  1018. package/dist/lifeops/service-mixin-whatsapp.d.ts.map +1 -0
  1019. package/dist/lifeops/service-mixin-whatsapp.js +186 -0
  1020. package/dist/lifeops/service-mixin-whatsapp.js.map +1 -0
  1021. package/dist/lifeops/service-mixin-workflows.d.ts +15 -0
  1022. package/dist/lifeops/service-mixin-workflows.d.ts.map +1 -0
  1023. package/dist/lifeops/service-mixin-workflows.js +710 -0
  1024. package/dist/lifeops/service-mixin-workflows.js.map +1 -0
  1025. package/dist/lifeops/service-mixin-x-read.d.ts +31 -0
  1026. package/dist/lifeops/service-mixin-x-read.d.ts.map +1 -0
  1027. package/dist/lifeops/service-mixin-x-read.js +267 -0
  1028. package/dist/lifeops/service-mixin-x-read.js.map +1 -0
  1029. package/dist/lifeops/service-mixin-x.d.ts +66 -0
  1030. package/dist/lifeops/service-mixin-x.d.ts.map +1 -0
  1031. package/dist/lifeops/service-mixin-x.js +501 -0
  1032. package/dist/lifeops/service-mixin-x.js.map +1 -0
  1033. package/dist/lifeops/service-normalize-connector.d.ts +19 -0
  1034. package/dist/lifeops/service-normalize-connector.d.ts.map +1 -0
  1035. package/dist/lifeops/service-normalize-connector.js +816 -0
  1036. package/dist/lifeops/service-normalize-connector.js.map +1 -0
  1037. package/dist/lifeops/service-normalize-gmail.d.ts +11 -0
  1038. package/dist/lifeops/service-normalize-gmail.d.ts.map +1 -0
  1039. package/dist/lifeops/service-normalize-gmail.js +85 -0
  1040. package/dist/lifeops/service-normalize-gmail.js.map +1 -0
  1041. package/dist/lifeops/service-normalize-task.d.ts +9 -0
  1042. package/dist/lifeops/service-normalize-task.d.ts.map +1 -0
  1043. package/dist/lifeops/service-normalize-task.js +567 -0
  1044. package/dist/lifeops/service-normalize-task.js.map +1 -0
  1045. package/dist/lifeops/service-normalize.d.ts +9 -0
  1046. package/dist/lifeops/service-normalize.d.ts.map +1 -0
  1047. package/dist/lifeops/service-normalize.js +53 -0
  1048. package/dist/lifeops/service-normalize.js.map +1 -0
  1049. package/dist/lifeops/service-types.d.ts +75 -0
  1050. package/dist/lifeops/service-types.d.ts.map +1 -0
  1051. package/dist/lifeops/service-types.js +5 -0
  1052. package/dist/lifeops/service-types.js.map +1 -0
  1053. package/dist/lifeops/service.d.ts +482 -0
  1054. package/dist/lifeops/service.d.ts.map +1 -0
  1055. package/dist/lifeops/service.js +62 -0
  1056. package/dist/lifeops/service.js.map +1 -0
  1057. package/dist/lifeops/signal-runtime-config.d.ts +13 -0
  1058. package/dist/lifeops/signal-runtime-config.d.ts.map +1 -0
  1059. package/dist/lifeops/signal-runtime-config.js +44 -0
  1060. package/dist/lifeops/signal-runtime-config.js.map +1 -0
  1061. package/dist/lifeops/signals/bus.d.ts +78 -0
  1062. package/dist/lifeops/signals/bus.d.ts.map +1 -0
  1063. package/dist/lifeops/signals/bus.js +117 -0
  1064. package/dist/lifeops/signals/bus.js.map +1 -0
  1065. package/dist/lifeops/sql.d.ts +65 -0
  1066. package/dist/lifeops/sql.d.ts.map +1 -0
  1067. package/dist/lifeops/sql.js +182 -0
  1068. package/dist/lifeops/sql.js.map +1 -0
  1069. package/dist/lifeops/stretch-decider.d.ts +73 -0
  1070. package/dist/lifeops/stretch-decider.d.ts.map +1 -0
  1071. package/dist/lifeops/stretch-decider.js +49 -0
  1072. package/dist/lifeops/stretch-decider.js.map +1 -0
  1073. package/dist/lifeops/telemetry-mapping.d.ts +14 -0
  1074. package/dist/lifeops/telemetry-mapping.d.ts.map +1 -0
  1075. package/dist/lifeops/telemetry-mapping.js +115 -0
  1076. package/dist/lifeops/telemetry-mapping.js.map +1 -0
  1077. package/dist/lifeops/telemetry-retention.d.ts +21 -0
  1078. package/dist/lifeops/telemetry-retention.d.ts.map +1 -0
  1079. package/dist/lifeops/telemetry-retention.js +13 -0
  1080. package/dist/lifeops/telemetry-retention.js.map +1 -0
  1081. package/dist/lifeops/time/timezone.d.ts +4 -0
  1082. package/dist/lifeops/time/timezone.d.ts.map +1 -0
  1083. package/dist/lifeops/time/timezone.js +154 -0
  1084. package/dist/lifeops/time/timezone.js.map +1 -0
  1085. package/dist/lifeops/time-util.d.ts +10 -0
  1086. package/dist/lifeops/time-util.d.ts.map +1 -0
  1087. package/dist/lifeops/time-util.js +14 -0
  1088. package/dist/lifeops/time-util.js.map +1 -0
  1089. package/dist/lifeops/time.d.ts +17 -0
  1090. package/dist/lifeops/time.d.ts.map +1 -0
  1091. package/dist/lifeops/time.js +152 -0
  1092. package/dist/lifeops/time.js.map +1 -0
  1093. package/dist/lifeops/travel-booking.types.d.ts +46 -0
  1094. package/dist/lifeops/travel-booking.types.d.ts.map +1 -0
  1095. package/dist/lifeops/travel-booking.types.js +1 -0
  1096. package/dist/lifeops/travel-booking.types.js.map +1 -0
  1097. package/dist/lifeops/triggers/schedule-once.d.ts +19 -0
  1098. package/dist/lifeops/triggers/schedule-once.d.ts.map +1 -0
  1099. package/dist/lifeops/triggers/schedule-once.js +99 -0
  1100. package/dist/lifeops/triggers/schedule-once.js.map +1 -0
  1101. package/dist/lifeops/validate/coding-task-request.d.ts +18 -0
  1102. package/dist/lifeops/validate/coding-task-request.d.ts.map +1 -0
  1103. package/dist/lifeops/validate/coding-task-request.js +16 -0
  1104. package/dist/lifeops/validate/coding-task-request.js.map +1 -0
  1105. package/dist/lifeops/voice/grounded-reply.d.ts +41 -0
  1106. package/dist/lifeops/voice/grounded-reply.d.ts.map +1 -0
  1107. package/dist/lifeops/voice/grounded-reply.js +24 -0
  1108. package/dist/lifeops/voice/grounded-reply.js.map +1 -0
  1109. package/dist/lifeops/voice-affect.d.ts +79 -0
  1110. package/dist/lifeops/voice-affect.d.ts.map +1 -0
  1111. package/dist/lifeops/voice-affect.js +253 -0
  1112. package/dist/lifeops/voice-affect.js.map +1 -0
  1113. package/dist/lifeops/wave1-types.d.ts +125 -0
  1114. package/dist/lifeops/wave1-types.d.ts.map +1 -0
  1115. package/dist/lifeops/wave1-types.js +1 -0
  1116. package/dist/lifeops/wave1-types.js.map +1 -0
  1117. package/dist/lifeops/work-threads/field-evaluator-thread-ops.d.ts +33 -0
  1118. package/dist/lifeops/work-threads/field-evaluator-thread-ops.d.ts.map +1 -0
  1119. package/dist/lifeops/work-threads/field-evaluator-thread-ops.js +226 -0
  1120. package/dist/lifeops/work-threads/field-evaluator-thread-ops.js.map +1 -0
  1121. package/dist/lifeops/work-threads/index.d.ts +3 -0
  1122. package/dist/lifeops/work-threads/index.d.ts.map +1 -0
  1123. package/dist/lifeops/work-threads/index.js +7 -0
  1124. package/dist/lifeops/work-threads/index.js.map +1 -0
  1125. package/dist/lifeops/work-threads/store.d.ts +91 -0
  1126. package/dist/lifeops/work-threads/store.d.ts.map +1 -0
  1127. package/dist/lifeops/work-threads/store.js +245 -0
  1128. package/dist/lifeops/work-threads/store.js.map +1 -0
  1129. package/dist/lifeops/work-threads/types.d.ts +58 -0
  1130. package/dist/lifeops/work-threads/types.d.ts.map +1 -0
  1131. package/dist/lifeops/work-threads/types.js +1 -0
  1132. package/dist/lifeops/work-threads/types.js.map +1 -0
  1133. package/dist/platform/host.d.ts +16 -0
  1134. package/dist/platform/host.d.ts.map +1 -0
  1135. package/dist/platform/host.js +22 -0
  1136. package/dist/platform/host.js.map +1 -0
  1137. package/dist/platform/index.d.ts +3 -0
  1138. package/dist/platform/index.d.ts.map +1 -0
  1139. package/dist/platform/index.js +3 -0
  1140. package/dist/platform/index.js.map +1 -0
  1141. package/dist/platform/lifeops-github.d.ts +15 -0
  1142. package/dist/platform/lifeops-github.d.ts.map +1 -0
  1143. package/dist/platform/lifeops-github.js +146 -0
  1144. package/dist/platform/lifeops-github.js.map +1 -0
  1145. package/dist/plugin.d.ts +106 -0
  1146. package/dist/plugin.d.ts.map +1 -0
  1147. package/dist/plugin.js +989 -0
  1148. package/dist/plugin.js.map +1 -0
  1149. package/dist/provider.d.ts +4 -0
  1150. package/dist/provider.d.ts.map +1 -0
  1151. package/dist/provider.js +108 -0
  1152. package/dist/provider.js.map +1 -0
  1153. package/dist/providers/activity-profile.d.ts +3 -0
  1154. package/dist/providers/activity-profile.d.ts.map +1 -0
  1155. package/dist/providers/activity-profile.js +140 -0
  1156. package/dist/providers/activity-profile.js.map +1 -0
  1157. package/dist/providers/cross-channel-context.d.ts +29 -0
  1158. package/dist/providers/cross-channel-context.d.ts.map +1 -0
  1159. package/dist/providers/cross-channel-context.js +206 -0
  1160. package/dist/providers/cross-channel-context.js.map +1 -0
  1161. package/dist/providers/first-run.d.ts +22 -0
  1162. package/dist/providers/first-run.d.ts.map +1 -0
  1163. package/dist/providers/first-run.js +93 -0
  1164. package/dist/providers/first-run.js.map +1 -0
  1165. package/dist/providers/health.d.ts +2 -0
  1166. package/dist/providers/health.d.ts.map +1 -0
  1167. package/dist/providers/health.js +14 -0
  1168. package/dist/providers/health.js.map +1 -0
  1169. package/dist/providers/inbox-triage.d.ts +3 -0
  1170. package/dist/providers/inbox-triage.d.ts.map +1 -0
  1171. package/dist/providers/inbox-triage.js +134 -0
  1172. package/dist/providers/inbox-triage.js.map +1 -0
  1173. package/dist/providers/lifeops.d.ts +3 -0
  1174. package/dist/providers/lifeops.d.ts.map +1 -0
  1175. package/dist/providers/lifeops.js +548 -0
  1176. package/dist/providers/lifeops.js.map +1 -0
  1177. package/dist/providers/pending-prompts.d.ts +38 -0
  1178. package/dist/providers/pending-prompts.d.ts.map +1 -0
  1179. package/dist/providers/pending-prompts.js +81 -0
  1180. package/dist/providers/pending-prompts.js.map +1 -0
  1181. package/dist/providers/recent-task-states.d.ts +52 -0
  1182. package/dist/providers/recent-task-states.d.ts.map +1 -0
  1183. package/dist/providers/recent-task-states.js +166 -0
  1184. package/dist/providers/recent-task-states.js.map +1 -0
  1185. package/dist/providers/room-policy.d.ts +16 -0
  1186. package/dist/providers/room-policy.d.ts.map +1 -0
  1187. package/dist/providers/room-policy.js +71 -0
  1188. package/dist/providers/room-policy.js.map +1 -0
  1189. package/dist/providers/work-threads.d.ts +3 -0
  1190. package/dist/providers/work-threads.d.ts.map +1 -0
  1191. package/dist/providers/work-threads.js +97 -0
  1192. package/dist/providers/work-threads.js.map +1 -0
  1193. package/dist/public.d.ts +3 -0
  1194. package/dist/public.d.ts.map +1 -0
  1195. package/dist/public.js +17 -0
  1196. package/dist/public.js.map +1 -0
  1197. package/dist/routes/cloud-features-routes.d.ts +9 -0
  1198. package/dist/routes/cloud-features-routes.d.ts.map +1 -0
  1199. package/dist/routes/cloud-features-routes.js +164 -0
  1200. package/dist/routes/cloud-features-routes.js.map +1 -0
  1201. package/dist/routes/entities.d.ts +14 -0
  1202. package/dist/routes/entities.d.ts.map +1 -0
  1203. package/dist/routes/entities.js +203 -0
  1204. package/dist/routes/entities.js.map +1 -0
  1205. package/dist/routes/lifeops-routes.d.ts +20 -0
  1206. package/dist/routes/lifeops-routes.d.ts.map +1 -0
  1207. package/dist/routes/lifeops-routes.js +2337 -0
  1208. package/dist/routes/lifeops-routes.js.map +1 -0
  1209. package/dist/routes/plugin.d.ts +9 -0
  1210. package/dist/routes/plugin.d.ts.map +1 -0
  1211. package/dist/routes/plugin.js +568 -0
  1212. package/dist/routes/plugin.js.map +1 -0
  1213. package/dist/routes/relationships.d.ts +13 -0
  1214. package/dist/routes/relationships.d.ts.map +1 -0
  1215. package/dist/routes/relationships.js +195 -0
  1216. package/dist/routes/relationships.js.map +1 -0
  1217. package/dist/routes/scheduled-tasks.d.ts +102 -0
  1218. package/dist/routes/scheduled-tasks.d.ts.map +1 -0
  1219. package/dist/routes/scheduled-tasks.js +322 -0
  1220. package/dist/routes/scheduled-tasks.js.map +1 -0
  1221. package/dist/routes/sleep-routes.d.ts +3 -0
  1222. package/dist/routes/sleep-routes.d.ts.map +1 -0
  1223. package/dist/routes/sleep-routes.js +33 -0
  1224. package/dist/routes/sleep-routes.js.map +1 -0
  1225. package/dist/routes/travel-provider-relay-routes.d.ts +2 -0
  1226. package/dist/routes/travel-provider-relay-routes.d.ts.map +1 -0
  1227. package/dist/routes/travel-provider-relay-routes.js +7 -0
  1228. package/dist/routes/travel-provider-relay-routes.js.map +1 -0
  1229. package/dist/routes/website-blocker-routes.d.ts +6 -0
  1230. package/dist/routes/website-blocker-routes.d.ts.map +1 -0
  1231. package/dist/routes/website-blocker-routes.js +218 -0
  1232. package/dist/routes/website-blocker-routes.js.map +1 -0
  1233. package/dist/security/action-confirmation.d.ts +12 -0
  1234. package/dist/security/action-confirmation.d.ts.map +1 -0
  1235. package/dist/security/action-confirmation.js +36 -0
  1236. package/dist/security/action-confirmation.js.map +1 -0
  1237. package/dist/service.d.ts +34 -0
  1238. package/dist/service.d.ts.map +1 -0
  1239. package/dist/service.js +111 -0
  1240. package/dist/service.js.map +1 -0
  1241. package/dist/travel-time/calendar-create.d.ts +17 -0
  1242. package/dist/travel-time/calendar-create.d.ts.map +1 -0
  1243. package/dist/travel-time/calendar-create.js +28 -0
  1244. package/dist/travel-time/calendar-create.js.map +1 -0
  1245. package/dist/travel-time/service.d.ts +114 -0
  1246. package/dist/travel-time/service.d.ts.map +1 -0
  1247. package/dist/travel-time/service.js +209 -0
  1248. package/dist/travel-time/service.js.map +1 -0
  1249. package/dist/types/app-blocker-settings-card.d.ts +2 -0
  1250. package/dist/types/app-blocker-settings-card.d.ts.map +1 -0
  1251. package/dist/types/app-blocker-settings-card.js +1 -0
  1252. package/dist/types/app-blocker-settings-card.js.map +1 -0
  1253. package/dist/types/briefing.d.ts +59 -0
  1254. package/dist/types/briefing.d.ts.map +1 -0
  1255. package/dist/types/briefing.js +1 -0
  1256. package/dist/types/briefing.js.map +1 -0
  1257. package/dist/types/document-request.d.ts +41 -0
  1258. package/dist/types/document-request.d.ts.map +1 -0
  1259. package/dist/types/document-request.js +1 -0
  1260. package/dist/types/document-request.js.map +1 -0
  1261. package/dist/types/index.d.ts +5 -0
  1262. package/dist/types/index.d.ts.map +1 -0
  1263. package/dist/types/index.js +1 -0
  1264. package/dist/types/index.js.map +1 -0
  1265. package/dist/types/website-blocker-settings-card.d.ts +2 -0
  1266. package/dist/types/website-blocker-settings-card.d.ts.map +1 -0
  1267. package/dist/types/website-blocker-settings-card.js +1 -0
  1268. package/dist/types/website-blocker-settings-card.js.map +1 -0
  1269. package/dist/ui.d.ts +13 -0
  1270. package/dist/ui.d.ts.map +1 -0
  1271. package/dist/ui.js +25 -0
  1272. package/dist/ui.js.map +1 -0
  1273. package/dist/utils/format-duration.d.ts +2 -0
  1274. package/dist/utils/format-duration.d.ts.map +1 -0
  1275. package/dist/utils/format-duration.js +13 -0
  1276. package/dist/utils/format-duration.js.map +1 -0
  1277. package/dist/utils/index.d.ts +3 -0
  1278. package/dist/utils/index.d.ts.map +1 -0
  1279. package/dist/utils/index.js +3 -0
  1280. package/dist/utils/index.js.map +1 -0
  1281. package/dist/utils/lifeops-url.d.ts +3 -0
  1282. package/dist/utils/lifeops-url.d.ts.map +1 -0
  1283. package/dist/utils/lifeops-url.js +28 -0
  1284. package/dist/utils/lifeops-url.js.map +1 -0
  1285. package/dist/website-blocker/chat-integration/block-activator.d.ts +32 -0
  1286. package/dist/website-blocker/chat-integration/block-activator.d.ts.map +1 -0
  1287. package/dist/website-blocker/chat-integration/block-activator.js +30 -0
  1288. package/dist/website-blocker/chat-integration/block-activator.js.map +1 -0
  1289. package/dist/website-blocker/chat-integration/block-rule-reconciler.d.ts +7 -0
  1290. package/dist/website-blocker/chat-integration/block-rule-reconciler.d.ts.map +1 -0
  1291. package/dist/website-blocker/chat-integration/block-rule-reconciler.js +115 -0
  1292. package/dist/website-blocker/chat-integration/block-rule-reconciler.js.map +1 -0
  1293. package/dist/website-blocker/chat-integration/block-rule-schema.d.ts +39 -0
  1294. package/dist/website-blocker/chat-integration/block-rule-schema.d.ts.map +1 -0
  1295. package/dist/website-blocker/chat-integration/block-rule-schema.js +133 -0
  1296. package/dist/website-blocker/chat-integration/block-rule-schema.js.map +1 -0
  1297. package/dist/website-blocker/chat-integration/block-rule-service.d.ts +21 -0
  1298. package/dist/website-blocker/chat-integration/block-rule-service.d.ts.map +1 -0
  1299. package/dist/website-blocker/chat-integration/block-rule-service.js +230 -0
  1300. package/dist/website-blocker/chat-integration/block-rule-service.js.map +1 -0
  1301. package/dist/website-blocker/chat-integration/harsh-mode-check.d.ts +13 -0
  1302. package/dist/website-blocker/chat-integration/harsh-mode-check.d.ts.map +1 -0
  1303. package/dist/website-blocker/chat-integration/harsh-mode-check.js +22 -0
  1304. package/dist/website-blocker/chat-integration/harsh-mode-check.js.map +1 -0
  1305. package/dist/website-blocker/chat-integration/index.d.ts +5 -0
  1306. package/dist/website-blocker/chat-integration/index.d.ts.map +1 -0
  1307. package/dist/website-blocker/chat-integration/index.js +26 -0
  1308. package/dist/website-blocker/chat-integration/index.js.map +1 -0
  1309. package/dist/website-blocker/proactive-block-bridge.d.ts +75 -0
  1310. package/dist/website-blocker/proactive-block-bridge.d.ts.map +1 -0
  1311. package/dist/website-blocker/proactive-block-bridge.js +154 -0
  1312. package/dist/website-blocker/proactive-block-bridge.js.map +1 -0
  1313. package/dist/website-blocker/public.d.ts +12 -0
  1314. package/dist/website-blocker/public.d.ts.map +1 -0
  1315. package/dist/website-blocker/public.js +51 -0
  1316. package/dist/website-blocker/public.js.map +1 -0
  1317. package/package.json +28 -28
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/actions/connector.ts"],"sourcesContent":["import { extractActionParamsViaLlm } from \"@elizaos/agent\";\nimport type {\n Action,\n ActionExample,\n ActionResult,\n HandlerOptions,\n IAgentRuntime,\n Memory,\n MessageConnector,\n State,\n} from \"@elizaos/core\";\nimport type { LifeOpsGoogleCapability } from \"../contracts/index.js\";\nimport { hasLifeOpsAccess, INTERNAL_URL } from \"../lifeops/access.js\";\nimport { getConnectorRegistry } from \"../lifeops/connectors/index.js\";\nimport { LifeOpsService, LifeOpsServiceError } from \"../lifeops/service.js\";\nimport { darwinUnavailableActionResult, isDarwin } from \"../platform/host.js\";\n\nconst ACTION_NAME = \"CONNECTOR\";\n\n/**\n * Connector kinds the action's verbose dispatcher table understands.\n *\n * These values are kept narrow so the verbose-result dispatchers (with rich\n * provider-specific verify probes) keep their typed surface; any connector\n * registered via `ConnectorRegistry` but not present here resolves through\n * the generic registry-backed fallback dispatcher.\n */\nconst VERBOSE_DISPATCHER_KINDS = [\n \"google\",\n \"x\",\n \"telegram\",\n \"signal\",\n \"discord\",\n \"imessage\",\n \"whatsapp\",\n \"health\",\n \"browser_bridge\",\n] as const;\n\nconst VALID_SUBACTIONS = [\n \"connect\",\n \"disconnect\",\n \"verify\",\n \"status\",\n \"list\",\n] as const;\n\n// ---------------------------------------------------------------------------\n// Types\n// ---------------------------------------------------------------------------\n\ntype ConnectorKind = string;\ntype VerboseConnectorKind = (typeof VERBOSE_DISPATCHER_KINDS)[number];\ntype ConnectorSubaction = (typeof VALID_SUBACTIONS)[number];\n\ntype ConnectorActionParams = {\n connector?: ConnectorKind;\n action?: ConnectorSubaction;\n subaction?: ConnectorSubaction;\n side?: \"owner\" | \"agent\";\n mode?: \"local\" | \"cloud_managed\" | \"remote\";\n // Connector-specific params (passed through to underlying service methods).\n recentLimit?: number;\n query?: string;\n sendTarget?: string;\n sendMessage?: string;\n browser?: \"chrome\" | \"safari\";\n profileId?: string;\n profileLabel?: string;\n redirectUrl?: string;\n capabilities?: LifeOpsGoogleCapability[];\n};\n\ntype ConnectorDispatchContext = {\n runtime: IAgentRuntime;\n service: LifeOpsService;\n};\n\ntype GmailTriageResult = Awaited<ReturnType<LifeOpsService[\"getGmailTriage\"]>>;\ntype CalendarFeedResult = Awaited<\n ReturnType<LifeOpsService[\"getCalendarFeed\"]>\n>;\ntype RegistrySendVerificationResult = NonNullable<\n Awaited<ReturnType<typeof sendVerificationThroughRegistry>>\n>;\n\ntype GoogleVerifyProbeSkipped = {\n ok: false;\n skipped: true;\n reason: string | undefined;\n};\n\ntype GoogleVerifyRead = {\n gmail:\n | {\n ok: true;\n count: number;\n summary: GmailTriageResult[\"summary\"];\n messages: GmailTriageResult[\"messages\"];\n }\n | GoogleVerifyProbeSkipped;\n calendar:\n | {\n ok: true;\n count: number;\n events: CalendarFeedResult[\"events\"];\n }\n | GoogleVerifyProbeSkipped;\n};\n\ntype ConnectorDispatcher = (\n context: ConnectorDispatchContext,\n subaction: ConnectorSubaction,\n params: ConnectorActionParams,\n) => Promise<ActionResult>;\n\nconst MESSAGE_CONNECTOR_SOURCE_BY_LIFEOPS_CONNECTOR: Record<string, string> = {\n x: \"x\",\n telegram: \"telegram\",\n signal: \"signal\",\n discord: \"discord\",\n imessage: \"imessage\",\n whatsapp: \"whatsapp\",\n};\n\nfunction normalizeConnectorKind(value: unknown): string | null {\n if (typeof value !== \"string\") return null;\n const normalized = value.trim().toLowerCase().replace(/[- ]/g, \"_\");\n return normalized.length > 0 ? normalized : null;\n}\n\nfunction listKnownConnectorKinds(runtime: IAgentRuntime): string[] {\n const registry = getConnectorRegistry(runtime);\n const fromRegistry = registry\n ? registry.list().map((contribution) => contribution.kind)\n : [];\n // Verbose dispatcher kinds are always valid (they cover diagnostic verbs\n // like `health` and `browser_bridge` that aren't connector contributions —\n // those still flow through this action). iMessage is wired through the\n // native macOS bridge; surfacing it on non-darwin would just produce\n // confusing planner suggestions.\n const verboseKinds = isDarwin()\n ? VERBOSE_DISPATCHER_KINDS\n : VERBOSE_DISPATCHER_KINDS.filter((kind) => kind !== \"imessage\");\n return [...new Set([...verboseKinds, ...fromRegistry])];\n}\n\nfunction isValidConnectorKind(runtime: IAgentRuntime, kind: string): boolean {\n return listKnownConnectorKinds(runtime).includes(kind);\n}\n\nfunction normalizeSubaction(value: unknown): ConnectorSubaction | null {\n if (typeof value !== \"string\") return null;\n const normalized = value.trim().toLowerCase();\n return (VALID_SUBACTIONS as readonly string[]).includes(normalized)\n ? (normalized as ConnectorSubaction)\n : null;\n}\n\nfunction normalizeSide(value: unknown): \"owner\" | \"agent\" | undefined {\n if (typeof value !== \"string\") return undefined;\n const normalized = value.trim().toLowerCase();\n return normalized === \"owner\" || normalized === \"agent\"\n ? normalized\n : undefined;\n}\n\nfunction mergeParams(\n message: Memory,\n options?: HandlerOptions,\n): ConnectorActionParams {\n const params = {\n ...(((options as Record<string, unknown> | undefined)?.parameters ??\n {}) as Record<string, unknown>),\n };\n if (message.content && typeof message.content === \"object\") {\n for (const [key, value] of Object.entries(\n message.content as Record<string, unknown>,\n )) {\n if (params[key] === undefined) {\n params[key] = value;\n }\n }\n }\n return params as ConnectorActionParams;\n}\n\nfunction unsupportedOperation(\n connector: string,\n subaction: ConnectorSubaction,\n detail?: string,\n): ActionResult {\n const text =\n `[${ACTION_NAME}] ${connector}/${subaction} is not supported by the current LifeOps connector contract.` +\n (detail ? ` ${detail}` : \"\");\n return {\n success: false,\n text,\n data: {\n actionName: ACTION_NAME,\n connector,\n subaction,\n error: \"UNSUPPORTED_OPERATION\",\n },\n };\n}\n\nfunction getRuntimeMessageConnector(\n runtime: IAgentRuntime,\n connector: string,\n): MessageConnector | null {\n const source = MESSAGE_CONNECTOR_SOURCE_BY_LIFEOPS_CONNECTOR[connector];\n if (!source) {\n return null;\n }\n const runtimeWithConnectors = runtime as IAgentRuntime & {\n getMessageConnectors?: () => MessageConnector[];\n };\n if (typeof runtimeWithConnectors.getMessageConnectors !== \"function\") {\n return null;\n }\n const normalized = source.trim().toLowerCase();\n return (\n runtimeWithConnectors\n .getMessageConnectors()\n .find(\n (registration) =>\n registration.source.trim().toLowerCase() === normalized &&\n (registration.capabilities.length === 0 ||\n registration.capabilities.includes(\"send_message\")),\n ) ?? null\n );\n}\n\nfunction registryStatusResult(\n runtime: IAgentRuntime,\n connector: string,\n subaction: ConnectorSubaction,\n): ActionResult | null {\n const registration = getRuntimeMessageConnector(runtime, connector);\n if (!registration) {\n return null;\n }\n return {\n success: true,\n text: `${registration.label} is registered in the core message connector registry. Detailed chat/user context is exposed by platform providers.`,\n data: {\n actionName: ACTION_NAME,\n connector,\n subaction,\n statusSource: \"core_message_connector_registry\",\n status: {\n provider: connector,\n source: registration.source,\n label: registration.label,\n connected: true,\n registered: true,\n capabilities: registration.capabilities,\n supportedTargetKinds: registration.supportedTargetKinds,\n contexts: registration.contexts,\n description: registration.description,\n metadata: registration.metadata,\n },\n },\n };\n}\n\nasync function sendVerificationThroughRegistry(args: {\n runtime: IAgentRuntime;\n connector: string;\n target: string | undefined;\n text: string;\n}): Promise<\n | {\n ok: true;\n routedBy: \"core_message_connector_registry\";\n source: string;\n target: string;\n }\n | {\n ok: false;\n routedBy: \"core_message_connector_registry\";\n source: string;\n target: string;\n error: string;\n }\n | null\n> {\n const target = args.target?.trim();\n if (!target) {\n return null;\n }\n const registration = getRuntimeMessageConnector(args.runtime, args.connector);\n if (!registration) {\n return null;\n }\n try {\n await args.runtime.sendMessageToTarget(\n {\n source: registration.source,\n channelId: target,\n } as Parameters<typeof args.runtime.sendMessageToTarget>[0],\n {\n text: args.text,\n source: registration.source,\n metadata: {\n actionName: ACTION_NAME,\n verification: true,\n },\n },\n );\n return {\n ok: true,\n routedBy: \"core_message_connector_registry\",\n source: registration.source,\n target,\n };\n } catch (error) {\n return {\n ok: false,\n routedBy: \"core_message_connector_registry\",\n source: registration.source,\n target,\n error: error instanceof Error ? error.message : String(error),\n };\n }\n}\n\n// ---------------------------------------------------------------------------\n// Dispatch\n// ---------------------------------------------------------------------------\n\nasync function dispatchListAll(\n context: ConnectorDispatchContext,\n): Promise<ActionResult> {\n const { runtime, service } = context;\n const registryOrReadStatus = async (\n connector: string,\n readStatus: () => Promise<unknown>,\n ) => {\n const registryStatus = registryStatusResult(runtime, connector, \"list\")\n ?.data as { status?: unknown } | undefined;\n return registryStatus?.status ?? (await readStatus());\n };\n const [\n google,\n x,\n telegram,\n signal,\n discord,\n imessage,\n whatsapp,\n health,\n browserSettings,\n browserCompanions,\n ] = await Promise.all([\n service.getGoogleConnectorStatus(INTERNAL_URL),\n registryOrReadStatus(\"x\", () => service.getXConnectorStatus()),\n registryOrReadStatus(\"telegram\", () =>\n service.getTelegramConnectorStatus(),\n ),\n registryOrReadStatus(\"signal\", () => service.getSignalConnectorStatus()),\n registryOrReadStatus(\"discord\", () => service.getDiscordConnectorStatus()),\n registryOrReadStatus(\"imessage\", () =>\n service.getIMessageConnectorStatus(),\n ),\n registryOrReadStatus(\"whatsapp\", () =>\n service.getWhatsAppConnectorStatus(),\n ),\n service.getHealthDataConnectorStatuses(INTERNAL_URL),\n service.getBrowserSettings(),\n service.listBrowserCompanions(),\n ]);\n const known = listKnownConnectorKinds(runtime);\n return {\n success: true,\n text: `Listed status for ${known.length} LifeOps connectors.`,\n data: {\n actionName: ACTION_NAME,\n connectorKinds: known,\n connectors: {\n google,\n x,\n telegram,\n signal,\n discord,\n imessage,\n whatsapp,\n health,\n browser_bridge: {\n settings: browserSettings,\n companions: browserCompanions,\n },\n },\n },\n };\n}\n\nasync function dispatchGoogle(\n { service }: ConnectorDispatchContext,\n subaction: ConnectorSubaction,\n params: ConnectorActionParams,\n): Promise<ActionResult> {\n const side = normalizeSide(params.side) ?? \"owner\";\n switch (subaction) {\n case \"connect\": {\n const response = await service.startGoogleConnector(\n {\n side,\n mode: params.mode,\n capabilities: params.capabilities,\n redirectUrl: params.redirectUrl,\n },\n INTERNAL_URL,\n );\n return {\n success: true,\n text: response.authUrl\n ? `Open this URL to finish Google connect: ${response.authUrl}`\n : `Google connector started for side=${side}, mode=${response.mode}.`,\n data: {\n actionName: ACTION_NAME,\n connector: \"google\",\n subaction,\n response,\n },\n };\n }\n case \"disconnect\": {\n const status = await service.disconnectGoogleConnector(\n { side, mode: params.mode },\n INTERNAL_URL,\n );\n return {\n success: true,\n text: `Google connector disconnected (side=${side}).`,\n data: {\n actionName: ACTION_NAME,\n connector: \"google\",\n subaction,\n status,\n },\n };\n }\n case \"status\":\n case \"list\": {\n const status = await service.getGoogleConnectorStatus(\n INTERNAL_URL,\n params.mode,\n side,\n );\n return {\n success: true,\n text: `Google connector status retrieved (side=${side}).`,\n data: {\n actionName: ACTION_NAME,\n connector: \"google\",\n subaction,\n status,\n },\n };\n }\n case \"verify\":\n return await dispatchGoogleVerify(service, side, params);\n }\n}\n\nasync function dispatchGoogleVerify(\n service: LifeOpsService,\n side: \"owner\" | \"agent\",\n params: ConnectorActionParams,\n): Promise<ActionResult> {\n const status = await service.getGoogleConnectorStatus(\n INTERNAL_URL,\n params.mode,\n side,\n );\n const capabilities = new Set(status.grantedCapabilities);\n\n let gmailRead: GoogleVerifyRead[\"gmail\"];\n if (status.connected && capabilities.has(\"google.gmail.triage\")) {\n const triage = await service.getGmailTriage(INTERNAL_URL, {\n mode: params.mode,\n side,\n maxResults: params.recentLimit ?? 10,\n forceSync: true,\n });\n gmailRead = {\n ok: true,\n count: triage.messages.length,\n summary: triage.summary,\n messages: triage.messages,\n };\n } else {\n gmailRead = {\n ok: false,\n skipped: true,\n reason: status.connected\n ? \"google.gmail.triage capability not granted\"\n : status.reason,\n };\n }\n\n let calendarRead: GoogleVerifyRead[\"calendar\"];\n if (status.connected && capabilities.has(\"google.calendar.read\")) {\n const now = Date.now();\n const feed = await service.getCalendarFeed(INTERNAL_URL, {\n mode: params.mode,\n side,\n timeMin: new Date(now - 60 * 60 * 1000).toISOString(),\n timeMax: new Date(now + 7 * 24 * 60 * 60 * 1000).toISOString(),\n });\n calendarRead = {\n ok: true,\n count: feed.events.length,\n events: feed.events,\n };\n } else {\n calendarRead = {\n ok: false,\n skipped: true,\n reason: status.connected\n ? \"google.calendar.read capability not granted\"\n : status.reason,\n };\n }\n const read: GoogleVerifyRead = { gmail: gmailRead, calendar: calendarRead };\n\n const send = params.sendTarget\n ? await service.sendGmailMessage(INTERNAL_URL, {\n mode: params.mode,\n side,\n to: [params.sendTarget],\n subject: \"LifeOps Google connector verification\",\n bodyText:\n params.sendMessage ?? \"LifeOps Google connector verification ping.\",\n confirmSend: true,\n })\n : null;\n\n return {\n success: status.connected && (!params.sendTarget || send?.ok === true),\n text: `Google verify: status=${status.connected ? \"connected\" : \"disconnected\"}, gmail=${read.gmail.ok ? \"ok\" : \"skipped\"}, calendar=${read.calendar.ok ? \"ok\" : \"skipped\"}, send=${send ? \"ok\" : \"skipped\"}.`,\n data: {\n actionName: ACTION_NAME,\n connector: \"google\",\n subaction: \"verify\",\n status,\n read,\n send,\n },\n };\n}\n\nasync function dispatchX(\n { runtime, service }: ConnectorDispatchContext,\n subaction: ConnectorSubaction,\n params: ConnectorActionParams,\n): Promise<ActionResult> {\n const side = normalizeSide(params.side) ?? \"owner\";\n switch (subaction) {\n case \"connect\": {\n const status = await service.getXConnectorStatus(params.mode, side);\n return {\n success: status.connected,\n text: status.connected\n ? `X is connected through @elizaos/plugin-x (side=${side}).`\n : `X setup is managed by @elizaos/plugin-x (side=${side}). Configure the X connector plugin, then check status again.`,\n data: { actionName: ACTION_NAME, connector: \"x\", subaction, status },\n };\n }\n case \"disconnect\": {\n const status = await service.getXConnectorStatus(params.mode, side);\n return {\n success: false,\n text: `X disconnect is managed by @elizaos/plugin-x (side=${side}). Use the X connector plugin setup controls, then check status again.`,\n data: { actionName: ACTION_NAME, connector: \"x\", subaction, status },\n };\n }\n case \"status\":\n case \"list\": {\n const registryStatus = registryStatusResult(runtime, \"x\", subaction);\n if (registryStatus) {\n return registryStatus;\n }\n const status = await service.getXConnectorStatus(params.mode, side);\n return {\n success: true,\n text: `X connector status retrieved (side=${side}).`,\n data: { actionName: ACTION_NAME, connector: \"x\", subaction, status },\n };\n }\n case \"verify\":\n return await dispatchXVerify(runtime, service, side, params);\n }\n}\n\nasync function dispatchXVerify(\n runtime: IAgentRuntime,\n service: LifeOpsService,\n side: \"owner\" | \"agent\",\n params: ConnectorActionParams,\n): Promise<ActionResult> {\n const status = await service.getXConnectorStatus(params.mode, side);\n const limit = params.recentLimit ?? 10;\n const query = params.query?.trim();\n const search =\n query && status.feedRead\n ? {\n ok: true,\n query,\n items: await service.searchXPosts(query, { limit }),\n }\n : query\n ? {\n ok: false,\n query,\n skipped: true,\n reason: \"x.read capability not granted\",\n }\n : null;\n const inbound = status.dmInbound\n ? await service.readXInboundDms({ limit })\n : [];\n const sendText =\n params.sendMessage ?? \"LifeOps X connector verification ping.\";\n const send =\n (await sendVerificationThroughRegistry({\n runtime,\n connector: \"x\",\n target: params.sendTarget,\n text: sendText,\n })) ??\n (params.sendTarget\n ? await service.sendXDirectMessage({\n participantId: params.sendTarget,\n text: sendText,\n mode: params.mode,\n side,\n confirmSend: true,\n })\n : null);\n let searchSummary = \"skipped\";\n const searchItems =\n search && \"items\" in search && Array.isArray(search.items)\n ? search.items\n : null;\n if (query && searchItems) {\n const hitCount = searchItems.length;\n searchSummary = `${hitCount} hit${hitCount === 1 ? \"\" : \"s\"}`;\n }\n return {\n success: status.connected && (!params.sendTarget || send?.ok === true),\n text: `X verify: status=${status.connected ? \"connected\" : \"disconnected\"}, read=${inbound.length} inbound DM${inbound.length === 1 ? \"\" : \"s\"}, search=${searchSummary}, send=${send ? \"ok\" : \"skipped\"}.`,\n data: {\n actionName: ACTION_NAME,\n connector: \"x\",\n subaction: \"verify\",\n status,\n read: { ok: status.dmInbound, count: inbound.length, messages: inbound },\n search,\n send,\n },\n };\n}\n\nasync function dispatchHealth(\n { service }: ConnectorDispatchContext,\n subaction: ConnectorSubaction,\n params: ConnectorActionParams,\n): Promise<ActionResult> {\n const side = normalizeSide(params.side) ?? \"owner\";\n switch (subaction) {\n case \"status\":\n case \"list\": {\n const [bridge, connectors] = await Promise.all([\n service.getHealthConnectorStatus(),\n service.getHealthDataConnectorStatuses(INTERNAL_URL, params.mode, side),\n ]);\n const connectedProviderCount = connectors.filter(\n (connector) => connector.connected,\n ).length;\n return {\n success: true,\n text: `Health connector status retrieved (${connectedProviderCount} connected provider${connectedProviderCount === 1 ? \"\" : \"s\"}).`,\n data: {\n actionName: ACTION_NAME,\n connector: \"health\",\n subaction,\n bridge,\n connectors,\n },\n };\n }\n case \"connect\":\n return unsupportedOperation(\n \"health\",\n subaction,\n \"Use LifeOps Settings to choose Strava, Fitbit, Withings, or Oura before starting OAuth.\",\n );\n case \"disconnect\":\n return unsupportedOperation(\n \"health\",\n subaction,\n \"Disconnect a specific Strava, Fitbit, Withings, or Oura provider from LifeOps Settings.\",\n );\n case \"verify\": {\n const [bridge, connectors] = await Promise.all([\n service.getHealthConnectorStatus(),\n service.getHealthDataConnectorStatuses(INTERNAL_URL, params.mode, side),\n ]);\n const connectedProviderCount = connectors.filter(\n (item) => item.connected,\n ).length;\n return {\n success: bridge.available || connectedProviderCount > 0,\n text: `Health verify: bridge=${bridge.available ? \"available\" : \"unavailable\"}, connectedProviders=${connectedProviderCount}.`,\n data: {\n actionName: ACTION_NAME,\n connector: \"health\",\n subaction,\n bridge,\n connectors,\n },\n };\n }\n }\n}\n\nasync function dispatchTelegram(\n { runtime, service }: ConnectorDispatchContext,\n subaction: ConnectorSubaction,\n params: ConnectorActionParams,\n): Promise<ActionResult> {\n const side = normalizeSide(params.side) ?? \"owner\";\n switch (subaction) {\n case \"connect\": {\n const status = await service.getTelegramConnectorStatus(side);\n return {\n success: status.connected,\n text: status.connected\n ? `Telegram is connected through @elizaos/plugin-telegram (side=${side}).`\n : `Telegram connection is managed by @elizaos/plugin-telegram (side=${side}). Configure the Telegram connector plugin, then check status again.`,\n data: {\n actionName: ACTION_NAME,\n connector: \"telegram\",\n subaction,\n status,\n },\n };\n }\n case \"disconnect\": {\n const status = await service.getTelegramConnectorStatus(side);\n return {\n success: false,\n text: `Telegram disconnect is managed by @elizaos/plugin-telegram (side=${side}). Use the Telegram connector plugin setup controls, then check status again.`,\n data: {\n actionName: ACTION_NAME,\n connector: \"telegram\",\n subaction,\n status,\n },\n };\n }\n case \"verify\": {\n const registrySend = await sendVerificationThroughRegistry({\n runtime,\n connector: \"telegram\",\n target: params.sendTarget,\n text:\n params.sendMessage ?? \"LifeOps Telegram connector verification ping.\",\n });\n const response = await service.verifyTelegramConnector({\n side,\n recentLimit: params.recentLimit,\n sendTarget: registrySend ? undefined : params.sendTarget,\n sendMessage: registrySend ? undefined : params.sendMessage,\n });\n const send = registrySend ?? response.send;\n return {\n success: response.read.ok && send.ok,\n text: `Telegram verify: read=${response.read.ok ? \"ok\" : \"fail\"}, send=${send.ok ? \"ok\" : \"fail\"}.`,\n data: {\n actionName: ACTION_NAME,\n connector: \"telegram\",\n subaction,\n response: { ...response, send },\n },\n };\n }\n case \"status\":\n case \"list\": {\n const registryStatus = registryStatusResult(\n runtime,\n \"telegram\",\n subaction,\n );\n if (registryStatus) {\n return registryStatus;\n }\n const status = await service.getTelegramConnectorStatus(side);\n return {\n success: true,\n text: `Telegram connector status retrieved (side=${side}).`,\n data: {\n actionName: ACTION_NAME,\n connector: \"telegram\",\n subaction,\n status,\n },\n };\n }\n }\n}\n\nasync function dispatchSignal(\n { runtime, service }: ConnectorDispatchContext,\n subaction: ConnectorSubaction,\n params: ConnectorActionParams,\n): Promise<ActionResult> {\n const side = normalizeSide(params.side) ?? \"owner\";\n switch (subaction) {\n case \"connect\": {\n const status = await service.getSignalConnectorStatus(side);\n return {\n success: status.connected,\n text: status.connected\n ? `Signal is connected through @elizaos/plugin-signal (side=${side}).`\n : `Signal pairing is managed by @elizaos/plugin-signal (side=${side}). Configure the Signal connector plugin, then check status again.`,\n data: {\n actionName: ACTION_NAME,\n connector: \"signal\",\n subaction,\n status,\n },\n };\n }\n case \"disconnect\": {\n const status = await service.getSignalConnectorStatus(side);\n return {\n success: false,\n text: `Signal disconnect is managed by @elizaos/plugin-signal (side=${side}). Use the Signal connector plugin setup controls, then check status again.`,\n data: {\n actionName: ACTION_NAME,\n connector: \"signal\",\n subaction,\n status,\n },\n };\n }\n case \"status\":\n case \"list\": {\n const registryStatus = registryStatusResult(runtime, \"signal\", subaction);\n if (registryStatus) {\n return registryStatus;\n }\n const status = await service.getSignalConnectorStatus(side);\n return {\n success: true,\n text: `Signal connector status retrieved (side=${side}).`,\n data: {\n actionName: ACTION_NAME,\n connector: \"signal\",\n subaction,\n status,\n },\n };\n }\n case \"verify\":\n return await dispatchSignalVerify(runtime, service, side, params);\n }\n}\n\nasync function dispatchSignalVerify(\n runtime: IAgentRuntime,\n service: LifeOpsService,\n side: \"owner\" | \"agent\",\n params: ConnectorActionParams,\n): Promise<ActionResult> {\n const limit = params.recentLimit ?? 10;\n const status = await service.getSignalConnectorStatus(side);\n let messages: Awaited<ReturnType<LifeOpsService[\"readSignalInbound\"]>> = [];\n let readError: string | null = null;\n if (status.inbound) {\n try {\n messages = await service.readSignalInbound(limit, side);\n } catch (error) {\n readError = error instanceof Error ? error.message : String(error);\n }\n } else {\n readError = \"Signal plugin inbound read is unavailable.\";\n }\n const sendText =\n params.sendMessage ?? \"LifeOps Signal connector verification ping.\";\n let send:\n | Awaited<ReturnType<LifeOpsService[\"sendSignalMessage\"]>>\n | RegistrySendVerificationResult\n | null = null;\n let sendError: string | null = null;\n if (params.sendTarget) {\n try {\n send =\n (await sendVerificationThroughRegistry({\n runtime,\n connector: \"signal\",\n target: params.sendTarget,\n text: sendText,\n })) ??\n (await service.sendSignalMessage({\n side,\n recipient: params.sendTarget,\n text: sendText,\n }));\n } catch (error) {\n sendError = error instanceof Error ? error.message : String(error);\n }\n }\n const readOk = readError === null;\n const sendOk = !params.sendTarget || send?.ok === true;\n return {\n success: status.connected && readOk && sendOk,\n text: `Signal verify: status=${status.connected ? \"connected\" : \"disconnected\"}, read=${readOk ? `${messages.length} message${messages.length === 1 ? \"\" : \"s\"}` : \"failed\"}, send=${params.sendTarget ? (sendOk ? \"ok\" : \"failed\") : \"skipped\"}.`,\n data: {\n actionName: ACTION_NAME,\n connector: \"signal\",\n subaction: \"verify\",\n status,\n read: { ok: readOk, error: readError, count: messages.length, messages },\n send: send\n ? { ...send, error: sendError }\n : { ok: !params.sendTarget, error: sendError },\n },\n };\n}\n\nasync function dispatchDiscord(\n { runtime, service }: ConnectorDispatchContext,\n subaction: ConnectorSubaction,\n params: ConnectorActionParams,\n): Promise<ActionResult> {\n const side = normalizeSide(params.side) ?? \"owner\";\n switch (subaction) {\n case \"connect\": {\n const status = await service.getDiscordConnectorStatus(side);\n return {\n success: status.connected,\n text: status.connected\n ? `Discord is connected through @elizaos/plugin-discord (side=${side}).`\n : `Discord setup is managed by @elizaos/plugin-discord (side=${side}). Configure the Discord connector plugin, then check status again.`,\n data: {\n actionName: ACTION_NAME,\n connector: \"discord\",\n subaction,\n status,\n },\n };\n }\n case \"disconnect\": {\n const status = await service.getDiscordConnectorStatus(side);\n return {\n success: false,\n text: `Discord disconnect is managed by @elizaos/plugin-discord (side=${side}). Use the Discord connector plugin setup controls, then check status again.`,\n data: {\n actionName: ACTION_NAME,\n connector: \"discord\",\n subaction,\n status,\n },\n };\n }\n case \"status\":\n case \"list\": {\n const registryStatus = registryStatusResult(\n runtime,\n \"discord\",\n subaction,\n );\n if (registryStatus) {\n return registryStatus;\n }\n const status = await service.getDiscordConnectorStatus(side);\n return {\n success: true,\n text: `Discord connector status retrieved (side=${side}).`,\n data: {\n actionName: ACTION_NAME,\n connector: \"discord\",\n subaction,\n status,\n },\n };\n }\n case \"verify\":\n return await dispatchDiscordVerify(runtime, service, side, params);\n }\n}\n\nasync function dispatchDiscordVerify(\n runtime: IAgentRuntime,\n service: LifeOpsService,\n side: \"owner\" | \"agent\",\n params: ConnectorActionParams,\n): Promise<ActionResult> {\n const status = await service.getDiscordConnectorStatus(side);\n const query = params.query?.trim();\n const hits = query\n ? await service.searchDiscordMessages({\n side,\n query,\n channelId: params.sendTarget,\n })\n : [];\n const sendText =\n params.sendMessage ?? \"LifeOps Discord connector verification ping.\";\n const send =\n (await sendVerificationThroughRegistry({\n runtime,\n connector: \"discord\",\n target: params.sendTarget,\n text: sendText,\n })) ??\n (params.sendTarget\n ? await service.sendDiscordMessage({\n channelId: params.sendTarget,\n text: sendText,\n })\n : null);\n return {\n success: status.connected && (!params.sendTarget || send?.ok === true),\n text: `Discord verify: status=${status.connected ? \"connected\" : \"disconnected\"}, search=${query ? `${hits.length} hit${hits.length === 1 ? \"\" : \"s\"}` : \"skipped\"}, send=${send ? \"ok\" : \"skipped\"}.`,\n data: {\n actionName: ACTION_NAME,\n connector: \"discord\",\n subaction: \"verify\",\n status,\n search: query ? { ok: true, query, count: hits.length, hits } : null,\n send,\n },\n };\n}\n\nasync function dispatchIMessage(\n { runtime, service }: ConnectorDispatchContext,\n subaction: ConnectorSubaction,\n params: ConnectorActionParams,\n): Promise<ActionResult> {\n if (!isDarwin()) {\n return darwinUnavailableActionResult({\n actionName: ACTION_NAME,\n connector: \"imessage\",\n subaction,\n feature: \"iMessage\",\n });\n }\n switch (subaction) {\n case \"status\":\n case \"list\": {\n const registryStatus = registryStatusResult(\n runtime,\n \"imessage\",\n subaction,\n );\n if (registryStatus) {\n return registryStatus;\n }\n const status = await service.getIMessageConnectorStatus();\n return {\n success: true,\n text: `iMessage connector status retrieved.`,\n data: {\n actionName: ACTION_NAME,\n connector: \"imessage\",\n subaction,\n status,\n },\n };\n }\n case \"connect\":\n return unsupportedOperation(\n \"imessage\",\n subaction,\n \"iMessage uses the native macOS bridge; nothing to connect via the agent action layer. Inspect status to see bridge readiness.\",\n );\n case \"disconnect\":\n return unsupportedOperation(\n \"imessage\",\n subaction,\n \"iMessage disconnect is not exposed by LifeOpsService.\",\n );\n case \"verify\":\n return await dispatchIMessageVerify(runtime, service, params);\n }\n}\n\nasync function dispatchIMessageVerify(\n runtime: IAgentRuntime,\n service: LifeOpsService,\n params: ConnectorActionParams,\n): Promise<ActionResult> {\n const limit = params.recentLimit ?? 10;\n const [status, messages] = await Promise.all([\n service.getIMessageConnectorStatus(),\n service.readIMessages({ limit }),\n ]);\n const sendText =\n params.sendMessage ?? \"LifeOps iMessage connector verification ping.\";\n const send =\n (await sendVerificationThroughRegistry({\n runtime,\n connector: \"imessage\",\n target: params.sendTarget,\n text: sendText,\n })) ??\n (params.sendTarget\n ? await service.sendIMessage({\n to: params.sendTarget,\n text: sendText,\n })\n : null);\n return {\n success: status.connected && (!params.sendTarget || send?.ok === true),\n text: `iMessage verify: status=${status.connected ? \"connected\" : \"disconnected\"}, read=${messages.length} message${messages.length === 1 ? \"\" : \"s\"}, send=${send ? \"ok\" : \"skipped\"}.`,\n data: {\n actionName: ACTION_NAME,\n connector: \"imessage\",\n subaction: \"verify\",\n status,\n read: { ok: true, count: messages.length, messages },\n send,\n },\n };\n}\n\nasync function dispatchWhatsApp(\n { runtime, service }: ConnectorDispatchContext,\n subaction: ConnectorSubaction,\n params: ConnectorActionParams,\n): Promise<ActionResult> {\n switch (subaction) {\n case \"status\":\n case \"list\": {\n const registryStatus = registryStatusResult(\n runtime,\n \"whatsapp\",\n subaction,\n );\n if (registryStatus) {\n return registryStatus;\n }\n const status = await service.getWhatsAppConnectorStatus();\n return {\n success: true,\n text: `WhatsApp connector status retrieved.`,\n data: {\n actionName: ACTION_NAME,\n connector: \"whatsapp\",\n subaction,\n status,\n },\n };\n }\n case \"connect\":\n return unsupportedOperation(\n \"whatsapp\",\n subaction,\n \"WhatsApp connection is managed by @elizaos/plugin-whatsapp. Configure the WhatsApp connector plugin; LifeOps no longer owns local WhatsApp API credentials.\",\n );\n case \"disconnect\":\n return unsupportedOperation(\n \"whatsapp\",\n subaction,\n \"WhatsApp disconnect is not exposed by LifeOpsService.\",\n );\n case \"verify\":\n return await dispatchWhatsAppVerify(runtime, service, params);\n }\n}\n\nasync function dispatchWhatsAppVerify(\n runtime: IAgentRuntime,\n service: LifeOpsService,\n params: ConnectorActionParams,\n): Promise<ActionResult> {\n const limit = params.recentLimit ?? 10;\n const status = await service.getWhatsAppConnectorStatus();\n const recent = await service.pullWhatsAppRecent(limit);\n const sendText =\n params.sendMessage ?? \"LifeOps WhatsApp connector verification ping.\";\n const send =\n (await sendVerificationThroughRegistry({\n runtime,\n connector: \"whatsapp\",\n target: params.sendTarget,\n text: sendText,\n })) ??\n (params.sendTarget\n ? await service.sendWhatsAppMessage({\n to: params.sendTarget,\n text: sendText,\n })\n : null);\n return {\n success: status.connected && (!params.sendTarget || send?.ok === true),\n text: `WhatsApp verify: status=${status.connected ? \"connected\" : \"disconnected\"}, read=${recent.count} message${recent.count === 1 ? \"\" : \"s\"}, send=${send ? \"ok\" : \"skipped\"}.`,\n data: {\n actionName: ACTION_NAME,\n connector: \"whatsapp\",\n subaction: \"verify\",\n status,\n read: { ok: true, count: recent.count, messages: recent.messages },\n send,\n },\n };\n}\n\nasync function dispatchBrowserBridge(\n { service }: ConnectorDispatchContext,\n subaction: ConnectorSubaction,\n _params: ConnectorActionParams,\n): Promise<ActionResult> {\n switch (subaction) {\n case \"connect\": {\n const [settings, companions] = await Promise.all([\n service.getBrowserSettings(),\n service.listBrowserCompanions(),\n ]);\n return {\n success: companions.length > 0,\n text:\n companions.length > 0\n ? `Browser bridge is configured through @elizaos/plugin-browser (${companions.length} companion${companions.length === 1 ? \"\" : \"s\"}).`\n : \"Browser bridge setup is managed by @elizaos/plugin-browser. Configure the browser companion plugin, then check status again.\",\n data: {\n actionName: ACTION_NAME,\n connector: \"browser_bridge\",\n subaction,\n settings,\n companions,\n },\n };\n }\n case \"status\": {\n const [settings, companions] = await Promise.all([\n service.getBrowserSettings(),\n service.listBrowserCompanions(),\n ]);\n return {\n success: true,\n text: `Browser bridge status retrieved (${companions.length} companion${companions.length === 1 ? \"\" : \"s\"}).`,\n data: {\n actionName: ACTION_NAME,\n connector: \"browser_bridge\",\n subaction,\n settings,\n companions,\n },\n };\n }\n case \"list\": {\n const companions = await service.listBrowserCompanions();\n return {\n success: true,\n text: `${companions.length} browser companion${companions.length === 1 ? \"\" : \"s\"} listed.`,\n data: {\n actionName: ACTION_NAME,\n connector: \"browser_bridge\",\n subaction,\n companions,\n },\n };\n }\n case \"disconnect\":\n return unsupportedOperation(\n \"browser_bridge\",\n subaction,\n \"Browser companion disconnect is not exposed by LifeOpsService.\",\n );\n case \"verify\": {\n const [settings, companions] = await Promise.all([\n service.getBrowserSettings(),\n service.listBrowserCompanions(),\n ]);\n const connected = companions.some(\n (companion) => companion.connectionState === \"connected\",\n );\n return {\n success: connected,\n text: `Browser bridge verify: ${connected ? \"connected\" : \"disconnected\"} (${companions.length} companion${companions.length === 1 ? \"\" : \"s\"}).`,\n data: {\n actionName: ACTION_NAME,\n connector: \"browser_bridge\",\n subaction,\n settings,\n companions,\n verification: {\n connected,\n },\n },\n };\n }\n }\n}\n\n/**\n * Verbose dispatchers cover the rich verify probes (gmail+calendar reads,\n * inbound DM checks, browser companion enumeration). Connectors registered\n * via `ConnectorRegistry` that lack a verbose dispatcher fall back to\n * {@link dispatchGenericRegistry} which exercises the registry contract verbs\n * (`start`/`disconnect`/`verify`/`status`/`send`) directly.\n */\nconst VERBOSE_DISPATCHERS: Record<VerboseConnectorKind, ConnectorDispatcher> = {\n google: dispatchGoogle,\n x: dispatchX,\n telegram: dispatchTelegram,\n signal: dispatchSignal,\n discord: dispatchDiscord,\n imessage: dispatchIMessage,\n whatsapp: dispatchWhatsApp,\n health: dispatchHealth,\n browser_bridge: dispatchBrowserBridge,\n};\n\nasync function dispatchGenericRegistry(\n context: ConnectorDispatchContext,\n subaction: ConnectorSubaction,\n params: ConnectorActionParams,\n connectorKind: string,\n): Promise<ActionResult> {\n const registry = getConnectorRegistry(context.runtime);\n const contribution = registry?.get(connectorKind);\n if (!contribution) {\n return {\n success: false,\n text: `[${ACTION_NAME}] no connector contribution registered for \"${connectorKind}\".`,\n data: {\n actionName: ACTION_NAME,\n connector: connectorKind,\n error: \"CONNECTOR_NOT_REGISTERED\",\n },\n };\n }\n switch (subaction) {\n case \"connect\": {\n await contribution.start();\n return {\n success: true,\n text: `${contribution.describe.label} start invoked.`,\n data: {\n actionName: ACTION_NAME,\n connector: connectorKind,\n subaction,\n },\n };\n }\n case \"disconnect\": {\n await contribution.disconnect();\n return {\n success: true,\n text: `${contribution.describe.label} disconnected.`,\n data: {\n actionName: ACTION_NAME,\n connector: connectorKind,\n subaction,\n },\n };\n }\n case \"verify\": {\n const verified = await contribution.verify();\n const sendResult = params.sendTarget\n ? await contribution.send?.({\n target: params.sendTarget,\n message:\n params.sendMessage ??\n `LifeOps ${contribution.describe.label} verification ping.`,\n })\n : null;\n return {\n success: verified && (!params.sendTarget || sendResult?.ok === true),\n text: `${contribution.describe.label} verify: connected=${verified}, send=${sendResult ? (sendResult.ok ? \"ok\" : \"fail\") : \"skipped\"}.`,\n data: {\n actionName: ACTION_NAME,\n connector: connectorKind,\n subaction,\n verified,\n send: sendResult,\n },\n };\n }\n case \"status\":\n case \"list\": {\n const status = await contribution.status();\n return {\n success: true,\n text: `${contribution.describe.label} status: ${status.state}.`,\n data: {\n actionName: ACTION_NAME,\n connector: connectorKind,\n subaction,\n status,\n capabilities: contribution.capabilities,\n modes: contribution.modes,\n requiresApproval: contribution.requiresApproval ?? false,\n },\n };\n }\n }\n}\n\n// ---------------------------------------------------------------------------\n// Action\n// ---------------------------------------------------------------------------\n\nexport const connectorAction: Action & {\n suppressPostActionContinuation?: boolean;\n} = {\n name: ACTION_NAME,\n similes: [\n \"CONNECT_GOOGLE\",\n \"CONNECT_TELEGRAM\",\n \"CONNECT_DISCORD\",\n \"DISCONNECT_SERVICE\",\n \"CHECK_CONNECTION\",\n \"SERVICE_STATUS\",\n // PRD action-catalog alias. NotificationIntent endpoint resolution maps\n // to CONNECTOR.list + CONNECTOR.status (the registered endpoints).\n // See packages/docs/action-prd-map.md.\n \"NOTIFICATION_RESOLVE_ENDPOINTS\",\n ],\n tags: [\n \"domain:meta\",\n \"capability:read\",\n \"capability:write\",\n \"capability:update\",\n \"capability:delete\",\n \"surface:remote-api\",\n \"surface:internal\",\n ],\n description:\n \"Installed connector account state: connect, disconnect, verify, status, list. \" +\n `Actions: ${VALID_SUBACTIONS.join(\", \")}. ` +\n \"External accounts: Google, Telegram, Discord, Slack, etc. \" +\n \"Connector kinds from runtime ConnectorRegistry; verify active upstream API probe. \" +\n \"Plugin install/uninstall/configure -> use PLUGIN.\",\n descriptionCompressed:\n \"CONNECTOR accounts: connect|disconnect|verify|status|list; plugin install/config -> PLUGIN\",\n contexts: [\n \"connectors\",\n \"settings\",\n \"calendar\",\n \"email\",\n \"messaging\",\n \"contacts\",\n \"health\",\n \"browser\",\n ],\n roleGate: { minRole: \"OWNER\" },\n suppressPostActionContinuation: true,\n\n validate: async () => true,\n\n handler: async (\n runtime: IAgentRuntime,\n message: Memory,\n state?: State,\n options?: HandlerOptions,\n ): Promise<ActionResult> => {\n if (!(await hasLifeOpsAccess(runtime, message))) {\n return {\n success: false,\n text: \"Connector account actions are restricted to the owner.\",\n data: { actionName: ACTION_NAME, error: \"PERMISSION_DENIED\" },\n };\n }\n\n const merged = mergeParams(message, options);\n if (merged.action === undefined && merged.subaction !== undefined) {\n merged.action = merged.subaction;\n }\n const params = (await extractActionParamsViaLlm<ConnectorActionParams>({\n runtime,\n message,\n state,\n actionName: ACTION_NAME,\n actionDescription: connectorAction.description,\n paramSchema: connectorAction.parameters ?? [],\n existingParams: merged,\n requiredFields: [\"action\"],\n })) as ConnectorActionParams;\n const subaction = normalizeSubaction(params.action ?? params.subaction);\n if (!subaction) {\n return {\n success: false,\n text: `[${ACTION_NAME}] missing action; choose one of ${VALID_SUBACTIONS.join(\" | \")}.`,\n data: {\n actionName: ACTION_NAME,\n error: \"MISSING_ACTION\",\n validSubactions: [...VALID_SUBACTIONS],\n },\n };\n }\n\n const service = new LifeOpsService(runtime);\n const dispatchContext = { runtime, service };\n\n // `list` with no connector means \"list all connectors\".\n const connector = normalizeConnectorKind(params.connector);\n if (subaction === \"list\" && !connector) {\n try {\n return await dispatchListAll(dispatchContext);\n } catch (error) {\n if (error instanceof LifeOpsServiceError) {\n return {\n success: false,\n text: error.message,\n data: { actionName: ACTION_NAME, status: error.status },\n };\n }\n throw error;\n }\n }\n\n const known = listKnownConnectorKinds(runtime);\n if (!connector) {\n return {\n success: false,\n text: `[${ACTION_NAME}] missing connector; choose one of ${known.join(\" | \")}.`,\n data: {\n actionName: ACTION_NAME,\n error: \"MISSING_CONNECTOR\",\n validConnectors: known,\n },\n };\n }\n\n if (!isValidConnectorKind(runtime, connector)) {\n return {\n success: false,\n text: `[${ACTION_NAME}] unknown connector \"${connector}\"; choose one of ${known.join(\" | \")}.`,\n data: {\n actionName: ACTION_NAME,\n error: \"UNKNOWN_CONNECTOR\",\n connector,\n validConnectors: known,\n },\n };\n }\n\n try {\n const verboseDispatcher = (\n VERBOSE_DISPATCHERS as Record<string, ConnectorDispatcher | undefined>\n )[connector];\n if (verboseDispatcher) {\n return await verboseDispatcher(dispatchContext, subaction, params);\n }\n return await dispatchGenericRegistry(\n dispatchContext,\n subaction,\n params,\n connector,\n );\n } catch (error) {\n if (error instanceof LifeOpsServiceError) {\n return {\n success: false,\n text: error.message,\n data: {\n actionName: ACTION_NAME,\n connector,\n subaction,\n status: error.status,\n },\n };\n }\n throw error;\n }\n },\n\n parameters: [\n {\n name: \"connector\",\n description:\n \"ConnectorRegistry kind: google, x, telegram, signal, discord, imessage, whatsapp, twilio, calendly, duffel, health, browser_bridge. Optional action=list.\",\n required: false,\n schema: { type: \"string\" as const },\n },\n {\n name: \"action\",\n description:\n \"connect auth/pairing; disconnect revoke+clear grant; verify active read/send probe; status/list read-only diagnostics. Omit ok: handler LLM-extracts.\",\n required: false,\n schema: { type: \"string\" as const, enum: [...VALID_SUBACTIONS] },\n },\n {\n name: \"side\",\n description: \"owner | agent. Defaults to owner.\",\n required: false,\n schema: { type: \"string\" as const, enum: [\"owner\", \"agent\"] },\n },\n {\n name: \"mode\",\n description:\n \"local | cloud_managed | remote. Default connector-specific.\",\n required: false,\n schema: {\n type: \"string\" as const,\n enum: [\"local\", \"cloud_managed\", \"remote\"],\n },\n },\n {\n name: \"recentLimit\",\n description: \"verify only: recent messages/dialogs read limit.\",\n required: false,\n schema: { type: \"number\" as const },\n },\n {\n name: \"query\",\n description:\n \"Discord verify only: search text for browser-message reads.\",\n required: false,\n schema: { type: \"string\" as const },\n },\n {\n name: \"sendTarget\",\n description:\n \"verify only: destination chat/recipient/channel for self-test send.\",\n required: false,\n schema: { type: \"string\" as const },\n },\n {\n name: \"sendMessage\",\n description: \"verify only: self-test send body.\",\n required: false,\n schema: { type: \"string\" as const },\n },\n {\n name: \"browser\",\n description: \"browser_bridge connect only: chrome | safari.\",\n required: false,\n schema: {\n type: \"string\" as const,\n enum: [\"chrome\", \"safari\"],\n },\n },\n {\n name: \"profileId\",\n description: \"browser_bridge connect only: profile id.\",\n required: false,\n schema: { type: \"string\" as const },\n },\n {\n name: \"profileLabel\",\n description: \"browser_bridge connect only: profile label.\",\n required: false,\n schema: { type: \"string\" as const },\n },\n {\n name: \"redirectUrl\",\n description: \"google/x connect only: OAuth redirect URL override.\",\n required: false,\n schema: { type: \"string\" as const },\n },\n ],\n\n examples: [\n [\n {\n name: \"{{name1}}\",\n content: { text: \"Show me the status of all my LifeOps connectors.\" },\n },\n {\n name: \"{{agentName}}\",\n content: {\n text: \"I'll list status across Google, X, Telegram, Signal, Discord, iMessage, WhatsApp, and Browser Bridge.\",\n },\n },\n ],\n [\n {\n name: \"{{name1}}\",\n content: { text: \"Connect my Google account.\" },\n },\n {\n name: \"{{agentName}}\",\n content: {\n text: \"I'll start the plugin-google account OAuth flow and return the auth URL.\",\n },\n },\n ],\n [\n {\n name: \"{{name1}}\",\n content: { text: \"Disconnect Telegram.\" },\n },\n {\n name: \"{{agentName}}\",\n content: {\n text: \"I'll disconnect the Telegram grant and clear local session state.\",\n },\n },\n ],\n [\n {\n name: \"{{name1}}\",\n content: {\n text: \"Verify Telegram by sending a self-test to my saved messages.\",\n },\n },\n {\n name: \"{{agentName}}\",\n content: {\n text: \"I'll probe the Telegram connector with a read + send check and report the results.\",\n },\n },\n ],\n ] as ActionExample[][],\n};\n"],"mappings":"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","names":[]}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * CREDENTIALS umbrella — folds browser-extension form fill (AUTOFILL) and
3
+ * password manager CLI clipboard inject (PASSWORD_MANAGER) into a single
4
+ * umbrella keyed only by action name (the verbs are unique across the union).
5
+ *
6
+ * Actions:
7
+ * fill | whitelist_add | whitelist_list -> AUTOFILL backend
8
+ * search | list | inject_username | inject_password -> PASSWORD_MANAGER backend
9
+ */
10
+ import type { Action } from "@elizaos/core";
11
+ export declare const credentialsAction: Action & {
12
+ suppressPostActionContinuation?: boolean;
13
+ };
14
+ //# sourceMappingURL=credentials.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"credentials.d.ts","sourceRoot":"","sources":["../../src/actions/credentials.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,KAAK,EACV,MAAM,EAOP,MAAM,eAAe,CAAC;AA0FvB,eAAO,MAAM,iBAAiB,EAAE,MAAM,GAAG;IACvC,8BAA8B,CAAC,EAAE,OAAO,CAAC;CAuI1C,CAAC"}
@@ -0,0 +1,191 @@
1
+ import { hasLifeOpsAccess } from "../lifeops/access.js";
2
+ import { runAutofillHandler } from "./autofill.js";
3
+ import { runPasswordManagerHandler } from "./password-manager.js";
4
+ const ACTION_NAME = "CREDENTIALS";
5
+ const AUTOFILL_SUBACTIONS = /* @__PURE__ */ new Set([
6
+ "fill",
7
+ "whitelist_add",
8
+ "whitelist_list"
9
+ ]);
10
+ const ALL_SUBACTIONS = [
11
+ "fill",
12
+ "whitelist_add",
13
+ "whitelist_list",
14
+ "search",
15
+ "list",
16
+ "inject_username",
17
+ "inject_password"
18
+ ];
19
+ function readPlannerParams(options) {
20
+ const raw = options?.parameters;
21
+ return raw && typeof raw === "object" ? raw : {};
22
+ }
23
+ const examples = [
24
+ [
25
+ {
26
+ name: "{{name1}}",
27
+ content: { text: "Can you log me into github? I'm on the sign-in page." }
28
+ },
29
+ {
30
+ name: "{{agentName}}",
31
+ content: {
32
+ text: "Requested password autofill on github.com via the browser extension.",
33
+ actions: [ACTION_NAME]
34
+ }
35
+ }
36
+ ],
37
+ [
38
+ {
39
+ name: "{{name1}}",
40
+ content: { text: "Yes, trust notion.so for autofill going forward." }
41
+ },
42
+ {
43
+ name: "{{agentName}}",
44
+ content: {
45
+ text: "Added notion.so to the autofill whitelist.",
46
+ actions: [ACTION_NAME]
47
+ }
48
+ }
49
+ ],
50
+ [
51
+ { name: "{{name1}}", content: { text: "Find my GitHub login" } },
52
+ {
53
+ name: "{{agentName}}",
54
+ content: {
55
+ text: "Searching your password manager for GitHub.",
56
+ actions: [ACTION_NAME]
57
+ }
58
+ }
59
+ ],
60
+ [
61
+ {
62
+ name: "{{name1}}",
63
+ content: { text: "Copy my AWS password to clipboard" }
64
+ },
65
+ {
66
+ name: "{{agentName}}",
67
+ content: {
68
+ text: "Copied the AWS password to your clipboard (clears in 30s).",
69
+ actions: [ACTION_NAME]
70
+ }
71
+ }
72
+ ]
73
+ ];
74
+ const credentialsAction = {
75
+ name: ACTION_NAME,
76
+ similes: [
77
+ // Legacy umbrella names — keep so cached planner outputs and the
78
+ // `lifeops` provider's route hints keep resolving.
79
+ "AUTOFILL",
80
+ "PASSWORD_MANAGER",
81
+ // Legacy similes from the two folded actions.
82
+ "FILL_PASSWORD",
83
+ "TRUST_SITE",
84
+ "SHOW_AUTOFILL_DOMAINS",
85
+ "ONEPASSWORD",
86
+ "PROTONPASS",
87
+ "CREDENTIAL_LOOKUP",
88
+ "COPY_CREDENTIAL",
89
+ "SHOW_LOGINS"
90
+ ],
91
+ tags: [
92
+ "domain:meta",
93
+ "capability:read",
94
+ "capability:write",
95
+ "capability:update",
96
+ "capability:execute",
97
+ "surface:device",
98
+ "surface:internal",
99
+ "risk:irreversible"
100
+ ],
101
+ description: "Owner-only credentials. Browser autofill + OS password manager (1Password/ProtonPass). Actions fill whitelisted one-field; whitelist_add domain confirmed:true; whitelist_list; search query; list bounded; inject_username|inject_password OS clipboard confirmed:true. No plaintext credentials in chat; clipboard only.",
102
+ descriptionCompressed: "CREDENTIALS fill|whitelist_add|list|search|inject_username|inject_password; clipboard-only",
103
+ routingHint: "credentials search/list/copy/inject -> CREDENTIALS action=search|list|inject_*; on-page form fill -> action=fill",
104
+ contexts: ["browser", "secrets", "settings", "automation"],
105
+ roleGate: { minRole: "OWNER" },
106
+ suppressPostActionContinuation: true,
107
+ validate: async () => true,
108
+ parameters: [
109
+ {
110
+ name: "action",
111
+ description: "fill | whitelist_add | whitelist_list | search | list | inject_username | inject_password.",
112
+ required: true,
113
+ schema: { type: "string", enum: [...ALL_SUBACTIONS] }
114
+ },
115
+ // Autofill-side params.
116
+ {
117
+ name: "field",
118
+ description: "(action=fill) email | password | name | phone | custom.",
119
+ required: false,
120
+ schema: { type: "string" }
121
+ },
122
+ {
123
+ name: "domain",
124
+ description: "(action=fill|whitelist_add) Domain. fill fallback when url omitted.",
125
+ required: false,
126
+ schema: { type: "string" }
127
+ },
128
+ {
129
+ name: "url",
130
+ description: "(action=fill) Optional tab URL; whitelist enforcement.",
131
+ required: false,
132
+ schema: { type: "string" }
133
+ },
134
+ // Password-manager-side params.
135
+ {
136
+ name: "intent",
137
+ description: "(action=search) Lookup intent text.",
138
+ required: false,
139
+ schema: { type: "string" }
140
+ },
141
+ {
142
+ name: "query",
143
+ description: "(action=search) Match title, URL, username, tags.",
144
+ required: false,
145
+ schema: { type: "string" }
146
+ },
147
+ {
148
+ name: "itemId",
149
+ description: "(action=inject_username|inject_password) Password manager item id.",
150
+ required: false,
151
+ schema: { type: "string" }
152
+ },
153
+ {
154
+ name: "limit",
155
+ description: "(action=list) Item limit. Default 20.",
156
+ required: false,
157
+ schema: { type: "number" }
158
+ },
159
+ {
160
+ name: "confirmed",
161
+ description: "true required for whitelist_add and inject_*; owner gate.",
162
+ required: false,
163
+ schema: { type: "boolean" }
164
+ }
165
+ ],
166
+ examples,
167
+ handler: async (runtime, message, state, options) => {
168
+ if (!await hasLifeOpsAccess(runtime, message)) {
169
+ return {
170
+ success: false,
171
+ text: "Credentials actions are restricted to the owner.",
172
+ data: { actionName: ACTION_NAME, error: "PERMISSION_DENIED" }
173
+ };
174
+ }
175
+ const params = readPlannerParams(options);
176
+ const subactionRaw = params.action ?? params.subaction;
177
+ const subaction = typeof subactionRaw === "string" ? subactionRaw.trim().toLowerCase() : "";
178
+ const forwardedOptions = {
179
+ ...options ?? {},
180
+ parameters: { ...params, subaction }
181
+ };
182
+ if (AUTOFILL_SUBACTIONS.has(subaction)) {
183
+ return runAutofillHandler(runtime, message, state, forwardedOptions);
184
+ }
185
+ return runPasswordManagerHandler(runtime, message, state, forwardedOptions);
186
+ }
187
+ };
188
+ export {
189
+ credentialsAction
190
+ };
191
+ //# sourceMappingURL=credentials.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/actions/credentials.ts"],"sourcesContent":["/**\n * CREDENTIALS umbrella — folds browser-extension form fill (AUTOFILL) and\n * password manager CLI clipboard inject (PASSWORD_MANAGER) into a single\n * umbrella keyed only by action name (the verbs are unique across the union).\n *\n * Actions:\n * fill | whitelist_add | whitelist_list -> AUTOFILL backend\n * search | list | inject_username | inject_password -> PASSWORD_MANAGER backend\n */\nimport type {\n Action,\n ActionExample,\n ActionResult,\n HandlerOptions,\n IAgentRuntime,\n Memory,\n State,\n} from \"@elizaos/core\";\nimport { hasLifeOpsAccess } from \"../lifeops/access.js\";\nimport { runAutofillHandler } from \"./autofill.js\";\nimport { runPasswordManagerHandler } from \"./password-manager.js\";\n\nconst ACTION_NAME = \"CREDENTIALS\";\n\ntype AutofillSubaction = \"fill\" | \"whitelist_add\" | \"whitelist_list\";\ntype PasswordManagerSubaction =\n | \"search\"\n | \"list\"\n | \"inject_username\"\n | \"inject_password\";\ntype CredentialsSubaction = AutofillSubaction | PasswordManagerSubaction;\n\nconst AUTOFILL_SUBACTIONS: ReadonlySet<string> = new Set([\n \"fill\",\n \"whitelist_add\",\n \"whitelist_list\",\n]);\n\nconst ALL_SUBACTIONS: readonly CredentialsSubaction[] = [\n \"fill\",\n \"whitelist_add\",\n \"whitelist_list\",\n \"search\",\n \"list\",\n \"inject_username\",\n \"inject_password\",\n];\n\nfunction readPlannerParams(\n options: HandlerOptions | undefined,\n): Record<string, unknown> {\n const raw = (options as Record<string, unknown> | undefined)?.parameters;\n return raw && typeof raw === \"object\" ? (raw as Record<string, unknown>) : {};\n}\n\nconst examples: ActionExample[][] = [\n [\n {\n name: \"{{name1}}\",\n content: { text: \"Can you log me into github? I'm on the sign-in page.\" },\n },\n {\n name: \"{{agentName}}\",\n content: {\n text: \"Requested password autofill on github.com via the browser extension.\",\n actions: [ACTION_NAME],\n },\n },\n ],\n [\n {\n name: \"{{name1}}\",\n content: { text: \"Yes, trust notion.so for autofill going forward.\" },\n },\n {\n name: \"{{agentName}}\",\n content: {\n text: \"Added notion.so to the autofill whitelist.\",\n actions: [ACTION_NAME],\n },\n },\n ],\n [\n { name: \"{{name1}}\", content: { text: \"Find my GitHub login\" } },\n {\n name: \"{{agentName}}\",\n content: {\n text: \"Searching your password manager for GitHub.\",\n actions: [ACTION_NAME],\n },\n },\n ],\n [\n {\n name: \"{{name1}}\",\n content: { text: \"Copy my AWS password to clipboard\" },\n },\n {\n name: \"{{agentName}}\",\n content: {\n text: \"Copied the AWS password to your clipboard (clears in 30s).\",\n actions: [ACTION_NAME],\n },\n },\n ],\n];\n\nexport const credentialsAction: Action & {\n suppressPostActionContinuation?: boolean;\n} = {\n name: ACTION_NAME,\n similes: [\n // Legacy umbrella names — keep so cached planner outputs and the\n // `lifeops` provider's route hints keep resolving.\n \"AUTOFILL\",\n \"PASSWORD_MANAGER\",\n // Legacy similes from the two folded actions.\n \"FILL_PASSWORD\",\n \"TRUST_SITE\",\n \"SHOW_AUTOFILL_DOMAINS\",\n \"ONEPASSWORD\",\n \"PROTONPASS\",\n \"CREDENTIAL_LOOKUP\",\n \"COPY_CREDENTIAL\",\n \"SHOW_LOGINS\",\n ],\n tags: [\n \"domain:meta\",\n \"capability:read\",\n \"capability:write\",\n \"capability:update\",\n \"capability:execute\",\n \"surface:device\",\n \"surface:internal\",\n \"risk:irreversible\",\n ],\n description:\n \"Owner-only credentials. Browser autofill + OS password manager (1Password/ProtonPass). \" +\n \"Actions fill whitelisted one-field; whitelist_add domain confirmed:true; whitelist_list; search query; list bounded; inject_username|inject_password OS clipboard confirmed:true. \" +\n \"No plaintext credentials in chat; clipboard only.\",\n descriptionCompressed:\n \"CREDENTIALS fill|whitelist_add|list|search|inject_username|inject_password; clipboard-only\",\n routingHint:\n \"credentials search/list/copy/inject -> CREDENTIALS action=search|list|inject_*; on-page form fill -> action=fill\",\n contexts: [\"browser\", \"secrets\", \"settings\", \"automation\"],\n roleGate: { minRole: \"OWNER\" },\n suppressPostActionContinuation: true,\n\n validate: async () => true,\n\n parameters: [\n {\n name: \"action\",\n description:\n \"fill | whitelist_add | whitelist_list | search | list | inject_username | inject_password.\",\n required: true,\n schema: { type: \"string\" as const, enum: [...ALL_SUBACTIONS] },\n },\n // Autofill-side params.\n {\n name: \"field\",\n description: \"(action=fill) email | password | name | phone | custom.\",\n required: false,\n schema: { type: \"string\" as const },\n },\n {\n name: \"domain\",\n description:\n \"(action=fill|whitelist_add) Domain. fill fallback when url omitted.\",\n required: false,\n schema: { type: \"string\" as const },\n },\n {\n name: \"url\",\n description: \"(action=fill) Optional tab URL; whitelist enforcement.\",\n required: false,\n schema: { type: \"string\" as const },\n },\n // Password-manager-side params.\n {\n name: \"intent\",\n description: \"(action=search) Lookup intent text.\",\n required: false,\n schema: { type: \"string\" as const },\n },\n {\n name: \"query\",\n description: \"(action=search) Match title, URL, username, tags.\",\n required: false,\n schema: { type: \"string\" as const },\n },\n {\n name: \"itemId\",\n description:\n \"(action=inject_username|inject_password) Password manager item id.\",\n required: false,\n schema: { type: \"string\" as const },\n },\n {\n name: \"limit\",\n description: \"(action=list) Item limit. Default 20.\",\n required: false,\n schema: { type: \"number\" as const },\n },\n {\n name: \"confirmed\",\n description: \"true required for whitelist_add and inject_*; owner gate.\",\n required: false,\n schema: { type: \"boolean\" as const },\n },\n ],\n\n examples,\n\n handler: async (\n runtime: IAgentRuntime,\n message: Memory,\n state: State | undefined,\n options: HandlerOptions | undefined,\n ): Promise<ActionResult> => {\n if (!(await hasLifeOpsAccess(runtime, message))) {\n return {\n success: false,\n text: \"Credentials actions are restricted to the owner.\",\n data: { actionName: ACTION_NAME, error: \"PERMISSION_DENIED\" },\n };\n }\n\n const params = readPlannerParams(options);\n const subactionRaw = params.action ?? params.subaction;\n const subaction =\n typeof subactionRaw === \"string\" ? subactionRaw.trim().toLowerCase() : \"\";\n\n const forwardedOptions = {\n ...(options ?? {}),\n parameters: { ...params, subaction },\n } as HandlerOptions;\n\n if (AUTOFILL_SUBACTIONS.has(subaction)) {\n return runAutofillHandler(runtime, message, state, forwardedOptions);\n }\n return runPasswordManagerHandler(runtime, message, state, forwardedOptions);\n },\n};\n"],"mappings":"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","names":[]}
@@ -0,0 +1,36 @@
1
+ /**
2
+ * `OWNER_DOCUMENTS` umbrella action — Docs And Portals domain.
3
+ *
4
+ * PRD: `prd-lifeops-executive-assistant.md` §Docs And Portals. The six
5
+ * PRD-named actions are exposed as similes on a single umbrella that
6
+ * dispatches on `subaction`:
7
+ *
8
+ * - `request_signature` ← `OWNER_DOCUMENTS_REQUEST_SIGNATURE`
9
+ * - `request_approval` ← `OWNER_DOCUMENTS_REQUEST_APPROVAL`
10
+ * - `track_deadline` ← `OWNER_DOCUMENTS_TRACK_DEADLINE`
11
+ * - `upload_asset` ← `OWNER_DOCUMENTS_UPLOAD_ASSET`
12
+ * - `collect_id` ← `OWNER_DOCUMENTS_COLLECT_ID_OR_FORM`
13
+ * - `close_request` ← `OWNER_DOCUMENTS_CLOSE_REQUEST`
14
+ *
15
+ * Each subaction composes existing services (`SCHEDULED_TASK` runner for
16
+ * deadline tracking, `ApprovalQueue` for owner-gated dispatch). The
17
+ * `DocumentRequest` record is held in an in-memory map keyed by runtime.
18
+ *
19
+ * Approval gating:
20
+ * - `request_signature` and `upload_asset` enqueue an `ApprovalRequest`
21
+ * in the `draft` -> `pending` state and wait for owner approval before
22
+ * dispatching the actual signing portal call / browser upload.
23
+ * - `request_approval`, `track_deadline`, `collect_id`, `close_request`
24
+ * are operator-callable without approval gating.
25
+ */
26
+ import type { Action } from "@elizaos/core";
27
+ import type { DocumentRequestKind } from "../types/document-request.js";
28
+ declare const SUBACTIONS: readonly ["request_signature", "request_approval", "track_deadline", "upload_asset", "collect_id", "close_request"];
29
+ type Subaction = (typeof SUBACTIONS)[number];
30
+ export declare const ownerDocumentsAction: Action & {
31
+ suppressPostActionContinuation?: boolean;
32
+ };
33
+ export declare function __resetDocumentStoreForTests(): void;
34
+ export declare function __kindForSubactionForTests(s: Subaction): DocumentRequestKind;
35
+ export {};
36
+ //# sourceMappingURL=document.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"document.d.ts","sourceRoot":"","sources":["../../src/actions/document.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,OAAO,KAAK,EACV,MAAM,EAMP,MAAM,eAAe,CAAC;AASvB,OAAO,KAAK,EAEV,mBAAmB,EAEpB,MAAM,8BAA8B,CAAC;AAItC,QAAA,MAAM,UAAU,qHAON,CAAC;AAEX,KAAK,SAAS,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC;AA+mB7C,eAAO,MAAM,oBAAoB,EAAE,MAAM,GAAG;IAC1C,8BAA8B,CAAC,EAAE,OAAO,CAAC;CAoJ1C,CAAC;AAGF,wBAAgB,4BAA4B,IAAI,IAAI,CAEnD;AAGD,wBAAgB,0BAA0B,CAAC,CAAC,EAAE,SAAS,GAAG,mBAAmB,CAE5E"}