@elizaos/plugin-personal-assistant 2.0.3-beta.6 → 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,530 @@
1
+ import crypto from "node:crypto";
2
+ import {
3
+ browserBridgeCompanionIsRecent,
4
+ browserBridgePermissionsReady,
5
+ isBrowserBridgePaused
6
+ } from "@elizaos/plugin-browser";
7
+ import {
8
+ androidUsageRowsFromSignals,
9
+ buildScreenTimeBreakdown,
10
+ buildScreenTimeMetrics,
11
+ buildScreenTimeSummary,
12
+ buildScreenTimeVisibleBuckets,
13
+ buildScreenTimeWeeklyAverageItems,
14
+ computePriorScreenTimeRange,
15
+ computeScreenTimeRange,
16
+ enumerateScreenTimeHistoryDays,
17
+ isSocialCategory,
18
+ isSystemInactivityApp,
19
+ mergeScreenTimeAggregateRows,
20
+ mobileScreenTimeDataSourceFromSignals,
21
+ screenTimeBucketList,
22
+ screenTimeDeviceLabel,
23
+ screenTimeRangeLabel,
24
+ screenTimeSourceLabel
25
+ } from "@elizaos/plugin-health";
26
+ import { getActivityReportBetween } from "../activity-profile/activity-tracker-reporting.js";
27
+ import { fail } from "./service-normalize.js";
28
+ function isoNow() {
29
+ return (/* @__PURE__ */ new Date()).toISOString();
30
+ }
31
+ function computeDurationSeconds(startAt, endAt, provided) {
32
+ if (typeof provided === "number" && Number.isFinite(provided) && provided >= 0) {
33
+ return Math.floor(provided);
34
+ }
35
+ if (!endAt) return 0;
36
+ const startMs = Date.parse(startAt);
37
+ const endMs = Date.parse(endAt);
38
+ if (!Number.isFinite(startMs) || !Number.isFinite(endMs)) return 0;
39
+ const delta = Math.max(0, Math.floor((endMs - startMs) / 1e3));
40
+ return delta;
41
+ }
42
+ function resolveUtcDateWindow(date) {
43
+ const startIso = `${date}T00:00:00.000Z`;
44
+ const endIso = `${date}T23:59:59.999Z`;
45
+ const startMs = Date.parse(startIso);
46
+ const endMs = Date.parse(endIso);
47
+ if (!Number.isFinite(startMs) || !Number.isFinite(endMs) || endMs < startMs) {
48
+ fail(400, "date must be a valid YYYY-MM-DD string");
49
+ }
50
+ return { startIso, endIso, startMs, endMs };
51
+ }
52
+ function buildWindowBounds(since, until) {
53
+ const sinceMs = Date.parse(since);
54
+ const untilMs = Date.parse(until);
55
+ if (!Number.isFinite(sinceMs) || !Number.isFinite(untilMs) || untilMs <= sinceMs) {
56
+ fail(400, "since and until must be valid ISO strings with until > since");
57
+ }
58
+ return { sinceMs, untilMs };
59
+ }
60
+ function normalizeIdentifierFilter(identifier) {
61
+ const normalized = identifier?.trim();
62
+ return normalized && normalized.length > 0 ? normalized : null;
63
+ }
64
+ function filterRowsByIdentifier(rows, identifier) {
65
+ const normalized = normalizeIdentifierFilter(identifier);
66
+ if (!normalized) {
67
+ return rows;
68
+ }
69
+ return rows.filter((row) => row.identifier === normalized);
70
+ }
71
+ function clipSessionDurationSeconds(session, windowStartMs, windowEndMs) {
72
+ const sessionStartMs = Date.parse(session.startAt);
73
+ if (!Number.isFinite(sessionStartMs)) {
74
+ return 0;
75
+ }
76
+ const endBoundMs = Math.min(windowEndMs, Date.now());
77
+ const sessionEndMs = session.endAt && Number.isFinite(Date.parse(session.endAt)) ? Date.parse(session.endAt) : endBoundMs;
78
+ const clippedStart = Math.max(sessionStartMs, windowStartMs);
79
+ const clippedEnd = Math.min(sessionEndMs, endBoundMs);
80
+ if (clippedEnd <= clippedStart) {
81
+ return 0;
82
+ }
83
+ return Math.max(0, Math.floor((clippedEnd - clippedStart) / 1e3));
84
+ }
85
+ function aggregateWebsiteSessions(sessions, windowStartMs, windowEndMs) {
86
+ const groups = /* @__PURE__ */ new Map();
87
+ for (const session of sessions) {
88
+ const clippedSeconds = clipSessionDurationSeconds(
89
+ session,
90
+ windowStartMs,
91
+ windowEndMs
92
+ );
93
+ if (clippedSeconds <= 0) {
94
+ continue;
95
+ }
96
+ const key = `${session.source}::${session.identifier}`;
97
+ const existing = groups.get(key);
98
+ if (existing) {
99
+ existing.totalSeconds += clippedSeconds;
100
+ existing.sessionCount += 1;
101
+ continue;
102
+ }
103
+ groups.set(key, {
104
+ source: session.source,
105
+ identifier: session.identifier,
106
+ displayName: session.displayName || session.identifier,
107
+ totalSeconds: clippedSeconds,
108
+ sessionCount: 1,
109
+ metadata: session.metadata
110
+ });
111
+ }
112
+ return [...groups.values()].sort((left, right) => {
113
+ if (right.totalSeconds !== left.totalSeconds) {
114
+ return right.totalSeconds - left.totalSeconds;
115
+ }
116
+ return left.displayName.localeCompare(right.displayName);
117
+ });
118
+ }
119
+ function isSystemInactivitySession(session) {
120
+ return session.source === "app" && isSystemInactivityApp({
121
+ bundleId: session.identifier,
122
+ appName: session.displayName,
123
+ platform: typeof session.metadata.platform === "string" ? session.metadata.platform : null
124
+ });
125
+ }
126
+ function toDailyRows(agentId, date, rows) {
127
+ const now = isoNow();
128
+ return mergeScreenTimeAggregateRows(rows).map((row) => ({
129
+ id: `screen-time:${agentId}:${date}:${row.source}:${row.identifier}`,
130
+ agentId,
131
+ source: row.source,
132
+ identifier: row.identifier,
133
+ date,
134
+ totalSeconds: row.totalSeconds,
135
+ sessionCount: row.sessionCount,
136
+ metadata: {
137
+ displayName: row.displayName,
138
+ ...row.metadata ?? {}
139
+ },
140
+ createdAt: now,
141
+ updatedAt: now
142
+ }));
143
+ }
144
+ function addBucket(buckets, key, label, totalSeconds) {
145
+ if (!key || totalSeconds <= 0) return;
146
+ const existing = buckets.get(key);
147
+ if (existing) {
148
+ existing.totalSeconds += totalSeconds;
149
+ return;
150
+ }
151
+ buckets.set(key, {
152
+ key,
153
+ label: label || key,
154
+ totalSeconds
155
+ });
156
+ }
157
+ function inWindow(iso, sinceMs, untilMs) {
158
+ if (!iso) return false;
159
+ const parsed = Date.parse(iso);
160
+ return Number.isFinite(parsed) && parsed >= sinceMs && parsed <= untilMs;
161
+ }
162
+ function browserTrackingDataSourceState(settings, companions) {
163
+ if (!settings.enabled || settings.trackingMode === "off") {
164
+ return "unwired";
165
+ }
166
+ if (isBrowserBridgePaused(settings)) {
167
+ return "partial";
168
+ }
169
+ if (companions.length === 0) {
170
+ return "unwired";
171
+ }
172
+ const connectedCompanions = companions.filter(
173
+ (companion) => companion.connectionState === "connected"
174
+ );
175
+ if (connectedCompanions.length === 0) {
176
+ return companions.some(
177
+ (companion) => companion.connectionState === "permission_blocked"
178
+ ) ? "partial" : "unwired";
179
+ }
180
+ const recentConnectedCompanions = connectedCompanions.filter(
181
+ (companion) => browserBridgeCompanionIsRecent(companion)
182
+ );
183
+ if (recentConnectedCompanions.length === 0) {
184
+ return "partial";
185
+ }
186
+ return recentConnectedCompanions.some(
187
+ (companion) => browserBridgePermissionsReady(settings, companion.permissions)
188
+ ) ? "live" : "partial";
189
+ }
190
+ function withScreenTime(Base) {
191
+ const ScreenTimeBase = Base;
192
+ class LifeOpsScreenTimeServiceMixin extends ScreenTimeBase {
193
+ async recordScreenTimeEvent(event) {
194
+ if (event.source !== "app" && event.source !== "website") {
195
+ fail(400, "source must be 'app' or 'website'");
196
+ }
197
+ if (!event.identifier || typeof event.identifier !== "string") {
198
+ fail(400, "identifier is required");
199
+ }
200
+ if (!event.startAt || typeof event.startAt !== "string") {
201
+ fail(400, "startAt is required");
202
+ }
203
+ const now = isoNow();
204
+ const endAt = event.endAt ?? null;
205
+ const isActive = endAt === null;
206
+ const durationSeconds = computeDurationSeconds(
207
+ event.startAt,
208
+ endAt,
209
+ event.durationSeconds
210
+ );
211
+ const session = {
212
+ id: crypto.randomUUID(),
213
+ agentId: this.agentId(),
214
+ source: event.source,
215
+ identifier: event.identifier,
216
+ displayName: event.displayName || event.identifier,
217
+ startAt: event.startAt,
218
+ endAt,
219
+ durationSeconds,
220
+ isActive,
221
+ metadata: event.metadata ?? {},
222
+ createdAt: now,
223
+ updatedAt: now
224
+ };
225
+ await this.repository.upsertScreenTimeSession(session);
226
+ return session;
227
+ }
228
+ async finishActiveScreenTimeSession(id, endAt, durationSeconds) {
229
+ await this.repository.finishScreenTimeSession(
230
+ this.agentId(),
231
+ id,
232
+ endAt,
233
+ Math.max(0, Math.floor(durationSeconds))
234
+ );
235
+ }
236
+ async collectScreenTimeRows(opts) {
237
+ const { sinceMs, untilMs } = buildWindowBounds(opts.since, opts.until);
238
+ const rows = [];
239
+ if (opts.source === "app") {
240
+ const appReport = await getActivityReportBetween(
241
+ this.runtime,
242
+ this.agentId(),
243
+ {
244
+ sinceMs,
245
+ untilMs: Math.min(untilMs, Date.now())
246
+ }
247
+ );
248
+ rows.push(
249
+ ...appReport.apps.map((app) => ({
250
+ source: "app",
251
+ identifier: app.bundleId || app.appName,
252
+ displayName: app.appName || app.bundleId,
253
+ totalSeconds: Math.floor(app.totalMs / 1e3),
254
+ sessionCount: app.sessionCount,
255
+ metadata: {
256
+ sampleWindowTitles: app.sampleWindowTitles
257
+ }
258
+ }))
259
+ );
260
+ const appSessions = await this.repository.listScreenTimeSessionsOverlapping(
261
+ this.agentId(),
262
+ opts.since,
263
+ opts.until,
264
+ { source: "app" }
265
+ );
266
+ rows.push(
267
+ ...aggregateWebsiteSessions(
268
+ appSessions.filter(
269
+ (session) => !isSystemInactivitySession(session)
270
+ ),
271
+ sinceMs,
272
+ untilMs
273
+ )
274
+ );
275
+ const mobileSignals = await this.repository.listActivitySignals(
276
+ this.agentId(),
277
+ {
278
+ sinceAt: opts.since,
279
+ limit: 200
280
+ }
281
+ );
282
+ rows.push(
283
+ ...androidUsageRowsFromSignals(
284
+ mobileSignals.filter(
285
+ (signal) => signal.platform === "android" && inWindow(signal.observedAt, sinceMs, untilMs)
286
+ ),
287
+ sinceMs,
288
+ untilMs
289
+ )
290
+ );
291
+ }
292
+ if (opts.source === "website") {
293
+ const websiteSessions = await this.repository.listScreenTimeSessionsOverlapping(
294
+ this.agentId(),
295
+ opts.since,
296
+ opts.until,
297
+ { source: "website" }
298
+ );
299
+ rows.push(
300
+ ...aggregateWebsiteSessions(websiteSessions, sinceMs, untilMs)
301
+ );
302
+ }
303
+ return filterRowsByIdentifier(rows, opts.identifier);
304
+ }
305
+ async getScreenTimeDaily(opts) {
306
+ const { startIso, endIso } = resolveUtcDateWindow(opts.date);
307
+ const rows = await this.collectScreenTimeRows({
308
+ since: startIso,
309
+ until: endIso,
310
+ source: opts.source,
311
+ identifier: opts.identifier
312
+ });
313
+ const dailyRows = toDailyRows(this.agentId(), opts.date, rows);
314
+ return dailyRows.slice(0, opts.limit ?? dailyRows.length);
315
+ }
316
+ async getScreenTimeSummary(opts) {
317
+ const rows = await this.collectScreenTimeRows(opts);
318
+ return buildScreenTimeSummary(rows, opts.topN);
319
+ }
320
+ async getScreenTimeBreakdown(opts) {
321
+ const rows = await this.collectScreenTimeRows(opts);
322
+ return buildScreenTimeBreakdown(rows, opts.topN);
323
+ }
324
+ async getSocialHabitSummary(opts) {
325
+ const { sinceMs, untilMs } = buildWindowBounds(opts.since, opts.until);
326
+ const fullBreakdown = await this.getScreenTimeBreakdown({
327
+ since: opts.since,
328
+ until: opts.until
329
+ });
330
+ const socialRows = fullBreakdown.items.filter(
331
+ (item) => item.service || isSocialCategory(item.category)
332
+ );
333
+ const deviceBuckets = /* @__PURE__ */ new Map();
334
+ const surfaceBuckets = /* @__PURE__ */ new Map();
335
+ const browserBuckets = /* @__PURE__ */ new Map();
336
+ for (const row of socialRows) {
337
+ addBucket(
338
+ deviceBuckets,
339
+ row.device,
340
+ screenTimeDeviceLabel(row.device),
341
+ row.totalSeconds
342
+ );
343
+ addBucket(
344
+ surfaceBuckets,
345
+ row.source,
346
+ screenTimeSourceLabel(row.source),
347
+ row.totalSeconds
348
+ );
349
+ addBucket(
350
+ browserBuckets,
351
+ row.browser?.toLowerCase(),
352
+ row.browser,
353
+ row.totalSeconds
354
+ );
355
+ }
356
+ const xDms = await this.repository.listXDms(this.agentId(), {
357
+ limit: 500
358
+ });
359
+ const xReceivedWindowDms = xDms.filter(
360
+ (dm) => inWindow(dm.receivedAt, sinceMs, untilMs)
361
+ );
362
+ const xInbound = xReceivedWindowDms.filter((dm) => dm.isInbound).length;
363
+ const xOutbound = xReceivedWindowDms.length - xInbound;
364
+ const xOpened = xDms.filter(
365
+ (dm) => inWindow(dm.readAt, sinceMs, untilMs)
366
+ ).length;
367
+ const xReplied = xDms.filter(
368
+ (dm) => inWindow(dm.repliedAt, sinceMs, untilMs)
369
+ ).length;
370
+ const [browserSettings, browserCompanions, recentMobileSignals] = await Promise.all([
371
+ this.getBrowserSettings(),
372
+ this.listBrowserCompanions(),
373
+ this.repository.listActivitySignals(this.agentId(), {
374
+ sinceAt: new Date(Date.now() - 7 * 24 * 60 * 6e4).toISOString(),
375
+ limit: 100
376
+ })
377
+ ]);
378
+ const messageChannels = [
379
+ {
380
+ channel: "x_dm",
381
+ label: "X DMs",
382
+ inbound: xInbound,
383
+ outbound: xOutbound,
384
+ opened: xOpened,
385
+ replied: xReplied
386
+ }
387
+ ];
388
+ const browserState = browserTrackingDataSourceState(
389
+ browserSettings,
390
+ browserCompanions
391
+ );
392
+ const androidState = mobileScreenTimeDataSourceFromSignals(
393
+ recentMobileSignals,
394
+ "android"
395
+ );
396
+ const iosState = mobileScreenTimeDataSourceFromSignals(
397
+ recentMobileSignals,
398
+ "ios"
399
+ );
400
+ return {
401
+ since: opts.since,
402
+ until: opts.until,
403
+ totalSeconds: socialRows.reduce(
404
+ (sum, row) => sum + row.totalSeconds,
405
+ 0
406
+ ),
407
+ services: fullBreakdown.byService.slice(0, opts.topN ?? 8),
408
+ devices: screenTimeBucketList(deviceBuckets),
409
+ surfaces: screenTimeBucketList(surfaceBuckets),
410
+ browsers: screenTimeBucketList(browserBuckets),
411
+ sessions: socialRows.slice(0, opts.topN ?? 8),
412
+ messages: {
413
+ channels: messageChannels,
414
+ inbound: xInbound,
415
+ outbound: xOutbound,
416
+ opened: xOpened,
417
+ replied: xReplied
418
+ },
419
+ dataSources: [
420
+ {
421
+ id: "macos_activity",
422
+ label: "Mac apps",
423
+ state: "live",
424
+ statusLabel: "Live",
425
+ detail: "macOS app focus events are included in screen-time totals."
426
+ },
427
+ {
428
+ id: "browser_bridge",
429
+ label: "Browser",
430
+ state: browserState,
431
+ statusLabel: browserState === "live" ? "Live" : browserState === "partial" ? "Needs attention" : "Not connected",
432
+ detail: browserState === "live" ? "Browser focus sessions are included in website totals." : browserState === "partial" ? "Browser tracking is enabled but permissions, recency, or pause state need attention." : "Browser tracking is disabled or no companion is connected."
433
+ },
434
+ {
435
+ id: "android_usage_stats",
436
+ label: "Android apps",
437
+ ...androidState
438
+ },
439
+ {
440
+ id: "ios_device_activity",
441
+ label: "iOS apps",
442
+ ...iosState
443
+ }
444
+ ],
445
+ fetchedAt: isoNow()
446
+ };
447
+ }
448
+ async getScreenTimeHistory(opts) {
449
+ const window = computeScreenTimeRange(opts.range);
450
+ const priorWindow = computePriorScreenTimeRange(opts.range, window);
451
+ const [breakdown, social, priorBreakdown, priorSocial] = await Promise.all([
452
+ this.getScreenTimeBreakdown({
453
+ since: window.since,
454
+ until: window.until,
455
+ topN: opts.topN
456
+ }),
457
+ this.getSocialHabitSummary({
458
+ since: window.since,
459
+ until: window.until,
460
+ topN: opts.socialTopN
461
+ }),
462
+ priorWindow ? this.getScreenTimeBreakdown({
463
+ since: priorWindow.since,
464
+ until: priorWindow.until,
465
+ topN: opts.topN
466
+ }) : Promise.resolve(null),
467
+ priorWindow ? this.getSocialHabitSummary({
468
+ since: priorWindow.since,
469
+ until: priorWindow.until,
470
+ topN: opts.socialTopN
471
+ }) : Promise.resolve(null)
472
+ ]);
473
+ const history = opts.range === "today" ? [] : await Promise.all(
474
+ enumerateScreenTimeHistoryDays(window).map(async (day) => {
475
+ const summary = await this.getScreenTimeSummary({
476
+ since: day.since,
477
+ until: day.until
478
+ });
479
+ return {
480
+ ...day,
481
+ totalSeconds: summary.totalSeconds
482
+ };
483
+ })
484
+ );
485
+ return {
486
+ range: opts.range,
487
+ label: screenTimeRangeLabel(opts.range),
488
+ window,
489
+ priorWindow,
490
+ breakdown,
491
+ social,
492
+ history,
493
+ metrics: buildScreenTimeMetrics(
494
+ breakdown,
495
+ social,
496
+ priorBreakdown,
497
+ priorSocial
498
+ ),
499
+ visible: buildScreenTimeVisibleBuckets(breakdown, social),
500
+ fetchedAt: isoNow()
501
+ };
502
+ }
503
+ async getScreenTimeWeeklyAverageByApp(opts) {
504
+ const summary = await this.getScreenTimeSummary({
505
+ since: opts.since,
506
+ until: opts.until,
507
+ source: "app",
508
+ identifier: opts.identifier,
509
+ topN: opts.topN
510
+ });
511
+ const daysInWindow = Math.max(1, Math.floor(opts.daysInWindow));
512
+ return {
513
+ items: buildScreenTimeWeeklyAverageItems(summary.items, daysInWindow),
514
+ totalSeconds: summary.totalSeconds,
515
+ daysInWindow
516
+ };
517
+ }
518
+ async aggregateDailyForDate(date) {
519
+ return this.repository.aggregateScreenTimeDailyForDate(
520
+ this.agentId(),
521
+ date
522
+ );
523
+ }
524
+ }
525
+ return LifeOpsScreenTimeServiceMixin;
526
+ }
527
+ export {
528
+ withScreenTime
529
+ };
530
+ //# sourceMappingURL=service-mixin-screentime.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/lifeops/service-mixin-screentime.ts"],"sourcesContent":["import crypto from \"node:crypto\";\nimport {\n type BrowserBridgeCompanionStatus,\n type BrowserBridgeSettings,\n browserBridgeCompanionIsRecent,\n browserBridgePermissionsReady,\n isBrowserBridgePaused,\n} from \"@elizaos/plugin-browser\";\nimport {\n androidUsageRowsFromSignals,\n buildScreenTimeBreakdown,\n buildScreenTimeMetrics,\n buildScreenTimeSummary,\n buildScreenTimeVisibleBuckets,\n buildScreenTimeWeeklyAverageItems,\n computePriorScreenTimeRange,\n computeScreenTimeRange,\n enumerateScreenTimeHistoryDays,\n isSocialCategory,\n isSystemInactivityApp,\n mergeScreenTimeAggregateRows,\n mobileScreenTimeDataSourceFromSignals,\n type ScreenTimeAggregateRow,\n type ScreenTimeWeeklyAverageItem,\n screenTimeBucketList,\n screenTimeDeviceLabel,\n screenTimeRangeLabel,\n screenTimeSourceLabel,\n} from \"@elizaos/plugin-health\";\nimport type {\n LifeOpsScreenTimeDaily,\n LifeOpsScreenTimeHistoryPoint,\n LifeOpsScreenTimeHistoryResponse,\n LifeOpsScreenTimeRangeKey,\n LifeOpsScreenTimeSession,\n LifeOpsScreenTimeSource,\n LifeOpsScreenTimeSummary,\n LifeOpsScreenTimeBreakdown as ScreenTimeBreakdown,\n LifeOpsScreenTimeBucket as ScreenTimeBucket,\n LifeOpsSocialHabitSummary as SocialHabitSummary,\n} from \"@elizaos/shared\";\nimport { getActivityReportBetween } from \"../activity-profile/activity-tracker-reporting.js\";\nimport type {\n Constructor,\n LifeOpsServiceBase,\n MixinClass,\n} from \"./service-mixin-core.js\";\nimport { fail } from \"./service-normalize.js\";\n\nfunction isoNow(): string {\n return new Date().toISOString();\n}\n\nfunction computeDurationSeconds(\n startAt: string,\n endAt: string | null | undefined,\n provided: number | undefined,\n): number {\n if (\n typeof provided === \"number\" &&\n Number.isFinite(provided) &&\n provided >= 0\n ) {\n return Math.floor(provided);\n }\n if (!endAt) return 0;\n const startMs = Date.parse(startAt);\n const endMs = Date.parse(endAt);\n if (!Number.isFinite(startMs) || !Number.isFinite(endMs)) return 0;\n const delta = Math.max(0, Math.floor((endMs - startMs) / 1000));\n return delta;\n}\n\ntype ScreenTimeEventInput = {\n source: \"app\" | \"website\";\n identifier: string;\n displayName: string;\n startAt: string;\n endAt?: string | null;\n durationSeconds?: number;\n metadata?: Record<string, unknown>;\n};\n\ntype ScreenTimeMixinDependencies = LifeOpsServiceBase & {\n getBrowserSettings(): Promise<BrowserBridgeSettings>;\n listBrowserCompanions(): Promise<BrowserBridgeCompanionStatus[]>;\n};\n\ntype ScreenTimeWeeklyAverageResponse = {\n items: ScreenTimeWeeklyAverageItem[];\n totalSeconds: number;\n daysInWindow: number;\n};\n\nexport interface LifeOpsScreenTimeServicePublic {\n recordScreenTimeEvent(\n event: ScreenTimeEventInput,\n ): Promise<LifeOpsScreenTimeSession>;\n finishActiveScreenTimeSession(\n id: string,\n endAt: string,\n durationSeconds: number,\n ): Promise<void>;\n collectScreenTimeRows(opts: {\n since: string;\n until: string;\n source?: LifeOpsScreenTimeSource;\n identifier?: string;\n }): Promise<ScreenTimeAggregateRow[]>;\n getScreenTimeDaily(opts: {\n date: string;\n source?: LifeOpsScreenTimeSource;\n identifier?: string;\n limit?: number;\n }): Promise<LifeOpsScreenTimeDaily[]>;\n getScreenTimeSummary(opts: {\n since: string;\n until: string;\n source?: LifeOpsScreenTimeSource;\n identifier?: string;\n topN?: number;\n }): Promise<LifeOpsScreenTimeSummary>;\n getScreenTimeBreakdown(opts: {\n since: string;\n until: string;\n source?: LifeOpsScreenTimeSource;\n identifier?: string;\n topN?: number;\n }): Promise<ScreenTimeBreakdown>;\n getSocialHabitSummary(opts: {\n since: string;\n until: string;\n topN?: number;\n }): Promise<SocialHabitSummary>;\n getScreenTimeHistory(opts: {\n range: LifeOpsScreenTimeRangeKey;\n topN?: number;\n socialTopN?: number;\n }): Promise<LifeOpsScreenTimeHistoryResponse>;\n getScreenTimeWeeklyAverageByApp(opts: {\n since: string;\n until: string;\n daysInWindow: number;\n identifier?: string;\n topN?: number;\n }): Promise<ScreenTimeWeeklyAverageResponse>;\n aggregateDailyForDate(date: string): Promise<{ updated: number }>;\n}\n\nfunction resolveUtcDateWindow(date: string): {\n startIso: string;\n endIso: string;\n startMs: number;\n endMs: number;\n} {\n const startIso = `${date}T00:00:00.000Z`;\n const endIso = `${date}T23:59:59.999Z`;\n const startMs = Date.parse(startIso);\n const endMs = Date.parse(endIso);\n if (!Number.isFinite(startMs) || !Number.isFinite(endMs) || endMs < startMs) {\n fail(400, \"date must be a valid YYYY-MM-DD string\");\n }\n return { startIso, endIso, startMs, endMs };\n}\n\nfunction buildWindowBounds(\n since: string,\n until: string,\n): {\n sinceMs: number;\n untilMs: number;\n} {\n const sinceMs = Date.parse(since);\n const untilMs = Date.parse(until);\n if (\n !Number.isFinite(sinceMs) ||\n !Number.isFinite(untilMs) ||\n untilMs <= sinceMs\n ) {\n fail(400, \"since and until must be valid ISO strings with until > since\");\n }\n return { sinceMs, untilMs };\n}\n\nfunction normalizeIdentifierFilter(\n identifier: string | undefined,\n): string | null {\n const normalized = identifier?.trim();\n return normalized && normalized.length > 0 ? normalized : null;\n}\n\nfunction filterRowsByIdentifier(\n rows: ScreenTimeAggregateRow[],\n identifier: string | undefined,\n): ScreenTimeAggregateRow[] {\n const normalized = normalizeIdentifierFilter(identifier);\n if (!normalized) {\n return rows;\n }\n return rows.filter((row) => row.identifier === normalized);\n}\n\nfunction clipSessionDurationSeconds(\n session: LifeOpsScreenTimeSession,\n windowStartMs: number,\n windowEndMs: number,\n): number {\n const sessionStartMs = Date.parse(session.startAt);\n if (!Number.isFinite(sessionStartMs)) {\n return 0;\n }\n const endBoundMs = Math.min(windowEndMs, Date.now());\n const sessionEndMs =\n session.endAt && Number.isFinite(Date.parse(session.endAt))\n ? Date.parse(session.endAt)\n : endBoundMs;\n const clippedStart = Math.max(sessionStartMs, windowStartMs);\n const clippedEnd = Math.min(sessionEndMs, endBoundMs);\n if (clippedEnd <= clippedStart) {\n return 0;\n }\n return Math.max(0, Math.floor((clippedEnd - clippedStart) / 1000));\n}\n\nfunction aggregateWebsiteSessions(\n sessions: LifeOpsScreenTimeSession[],\n windowStartMs: number,\n windowEndMs: number,\n): ScreenTimeAggregateRow[] {\n const groups = new Map<string, ScreenTimeAggregateRow>();\n for (const session of sessions) {\n const clippedSeconds = clipSessionDurationSeconds(\n session,\n windowStartMs,\n windowEndMs,\n );\n if (clippedSeconds <= 0) {\n continue;\n }\n const key = `${session.source}::${session.identifier}`;\n const existing = groups.get(key);\n if (existing) {\n existing.totalSeconds += clippedSeconds;\n existing.sessionCount += 1;\n continue;\n }\n groups.set(key, {\n source: session.source,\n identifier: session.identifier,\n displayName: session.displayName || session.identifier,\n totalSeconds: clippedSeconds,\n sessionCount: 1,\n metadata: session.metadata,\n });\n }\n return [...groups.values()].sort((left, right) => {\n if (right.totalSeconds !== left.totalSeconds) {\n return right.totalSeconds - left.totalSeconds;\n }\n return left.displayName.localeCompare(right.displayName);\n });\n}\n\nfunction isSystemInactivitySession(session: LifeOpsScreenTimeSession): boolean {\n return (\n session.source === \"app\" &&\n isSystemInactivityApp({\n bundleId: session.identifier,\n appName: session.displayName,\n platform:\n typeof session.metadata.platform === \"string\"\n ? session.metadata.platform\n : null,\n })\n );\n}\n\nfunction toDailyRows(\n agentId: string,\n date: string,\n rows: ScreenTimeAggregateRow[],\n): LifeOpsScreenTimeDaily[] {\n const now = isoNow();\n return mergeScreenTimeAggregateRows(rows).map((row) => ({\n id: `screen-time:${agentId}:${date}:${row.source}:${row.identifier}`,\n agentId,\n source: row.source,\n identifier: row.identifier,\n date,\n totalSeconds: row.totalSeconds,\n sessionCount: row.sessionCount,\n metadata: {\n displayName: row.displayName,\n ...(row.metadata ?? {}),\n },\n createdAt: now,\n updatedAt: now,\n }));\n}\n\nfunction addBucket(\n buckets: Map<string, ScreenTimeBucket>,\n key: string | null | undefined,\n label: string | null | undefined,\n totalSeconds: number,\n): void {\n if (!key || totalSeconds <= 0) return;\n const existing = buckets.get(key);\n if (existing) {\n existing.totalSeconds += totalSeconds;\n return;\n }\n buckets.set(key, {\n key,\n label: label || key,\n totalSeconds,\n });\n}\n\nfunction inWindow(\n iso: string | null | undefined,\n sinceMs: number,\n untilMs: number,\n): boolean {\n if (!iso) return false;\n const parsed = Date.parse(iso);\n return Number.isFinite(parsed) && parsed >= sinceMs && parsed <= untilMs;\n}\n\nfunction browserTrackingDataSourceState(\n settings: BrowserBridgeSettings,\n companions: BrowserBridgeCompanionStatus[],\n): \"live\" | \"partial\" | \"unwired\" {\n if (!settings.enabled || settings.trackingMode === \"off\") {\n return \"unwired\";\n }\n if (isBrowserBridgePaused(settings)) {\n return \"partial\";\n }\n if (companions.length === 0) {\n return \"unwired\";\n }\n\n const connectedCompanions = companions.filter(\n (companion) => companion.connectionState === \"connected\",\n );\n if (connectedCompanions.length === 0) {\n return companions.some(\n (companion) => companion.connectionState === \"permission_blocked\",\n )\n ? \"partial\"\n : \"unwired\";\n }\n\n const recentConnectedCompanions = connectedCompanions.filter((companion) =>\n browserBridgeCompanionIsRecent(companion),\n );\n if (recentConnectedCompanions.length === 0) {\n return \"partial\";\n }\n\n return recentConnectedCompanions.some((companion) =>\n browserBridgePermissionsReady(settings, companion.permissions),\n )\n ? \"live\"\n : \"partial\";\n}\n\n/** @internal */\nexport function withScreenTime<TBase extends Constructor<LifeOpsServiceBase>>(\n Base: TBase,\n): MixinClass<TBase, LifeOpsScreenTimeServicePublic> {\n const ScreenTimeBase =\n Base as unknown as Constructor<ScreenTimeMixinDependencies>;\n\n class LifeOpsScreenTimeServiceMixin extends ScreenTimeBase {\n async recordScreenTimeEvent(\n event: ScreenTimeEventInput,\n ): Promise<LifeOpsScreenTimeSession> {\n if (event.source !== \"app\" && event.source !== \"website\") {\n fail(400, \"source must be 'app' or 'website'\");\n }\n if (!event.identifier || typeof event.identifier !== \"string\") {\n fail(400, \"identifier is required\");\n }\n if (!event.startAt || typeof event.startAt !== \"string\") {\n fail(400, \"startAt is required\");\n }\n const now = isoNow();\n const endAt = event.endAt ?? null;\n const isActive = endAt === null;\n const durationSeconds = computeDurationSeconds(\n event.startAt,\n endAt,\n event.durationSeconds,\n );\n const session: LifeOpsScreenTimeSession = {\n id: crypto.randomUUID(),\n agentId: this.agentId(),\n source: event.source,\n identifier: event.identifier,\n displayName: event.displayName || event.identifier,\n startAt: event.startAt,\n endAt,\n durationSeconds,\n isActive,\n metadata: event.metadata ?? {},\n createdAt: now,\n updatedAt: now,\n };\n await this.repository.upsertScreenTimeSession(session);\n return session;\n }\n\n async finishActiveScreenTimeSession(\n id: string,\n endAt: string,\n durationSeconds: number,\n ): Promise<void> {\n await this.repository.finishScreenTimeSession(\n this.agentId(),\n id,\n endAt,\n Math.max(0, Math.floor(durationSeconds)),\n );\n }\n\n async collectScreenTimeRows(opts: {\n since: string;\n until: string;\n source?: LifeOpsScreenTimeSource;\n identifier?: string;\n }): Promise<ScreenTimeAggregateRow[]> {\n const { sinceMs, untilMs } = buildWindowBounds(opts.since, opts.until);\n const rows: ScreenTimeAggregateRow[] = [];\n\n if (opts.source === \"app\") {\n const appReport = await getActivityReportBetween(\n this.runtime,\n this.agentId(),\n {\n sinceMs,\n untilMs: Math.min(untilMs, Date.now()),\n },\n );\n rows.push(\n ...appReport.apps.map((app) => ({\n source: \"app\" as const,\n identifier: app.bundleId || app.appName,\n displayName: app.appName || app.bundleId,\n totalSeconds: Math.floor(app.totalMs / 1000),\n sessionCount: app.sessionCount,\n metadata: {\n sampleWindowTitles: app.sampleWindowTitles,\n },\n })),\n );\n const appSessions =\n await this.repository.listScreenTimeSessionsOverlapping(\n this.agentId(),\n opts.since,\n opts.until,\n { source: \"app\" },\n );\n rows.push(\n ...aggregateWebsiteSessions(\n appSessions.filter(\n (session) => !isSystemInactivitySession(session),\n ),\n sinceMs,\n untilMs,\n ),\n );\n const mobileSignals = await this.repository.listActivitySignals(\n this.agentId(),\n {\n sinceAt: opts.since,\n limit: 200,\n },\n );\n rows.push(\n ...androidUsageRowsFromSignals(\n mobileSignals.filter(\n (signal) =>\n signal.platform === \"android\" &&\n inWindow(signal.observedAt, sinceMs, untilMs),\n ),\n sinceMs,\n untilMs,\n ),\n );\n }\n\n if (opts.source === \"website\") {\n const websiteSessions =\n await this.repository.listScreenTimeSessionsOverlapping(\n this.agentId(),\n opts.since,\n opts.until,\n { source: \"website\" },\n );\n rows.push(\n ...aggregateWebsiteSessions(websiteSessions, sinceMs, untilMs),\n );\n }\n\n return filterRowsByIdentifier(rows, opts.identifier);\n }\n\n async getScreenTimeDaily(opts: {\n date: string;\n source?: LifeOpsScreenTimeSource;\n identifier?: string;\n limit?: number;\n }): Promise<LifeOpsScreenTimeDaily[]> {\n const { startIso, endIso } = resolveUtcDateWindow(opts.date);\n const rows = await this.collectScreenTimeRows({\n since: startIso,\n until: endIso,\n source: opts.source,\n identifier: opts.identifier,\n });\n\n const dailyRows = toDailyRows(this.agentId(), opts.date, rows);\n return dailyRows.slice(0, opts.limit ?? dailyRows.length);\n }\n\n async getScreenTimeSummary(opts: {\n since: string;\n until: string;\n source?: LifeOpsScreenTimeSource;\n identifier?: string;\n topN?: number;\n }): Promise<LifeOpsScreenTimeSummary> {\n const rows = await this.collectScreenTimeRows(opts);\n return buildScreenTimeSummary(rows, opts.topN);\n }\n\n async getScreenTimeBreakdown(opts: {\n since: string;\n until: string;\n source?: LifeOpsScreenTimeSource;\n identifier?: string;\n topN?: number;\n }): Promise<ScreenTimeBreakdown> {\n const rows = await this.collectScreenTimeRows(opts);\n return buildScreenTimeBreakdown(rows, opts.topN);\n }\n\n async getSocialHabitSummary(opts: {\n since: string;\n until: string;\n topN?: number;\n }): Promise<SocialHabitSummary> {\n const { sinceMs, untilMs } = buildWindowBounds(opts.since, opts.until);\n const fullBreakdown = await this.getScreenTimeBreakdown({\n since: opts.since,\n until: opts.until,\n });\n const socialRows = fullBreakdown.items.filter(\n (item) => item.service || isSocialCategory(item.category),\n );\n const deviceBuckets = new Map<string, ScreenTimeBucket>();\n const surfaceBuckets = new Map<string, ScreenTimeBucket>();\n const browserBuckets = new Map<string, ScreenTimeBucket>();\n for (const row of socialRows) {\n addBucket(\n deviceBuckets,\n row.device,\n screenTimeDeviceLabel(row.device),\n row.totalSeconds,\n );\n addBucket(\n surfaceBuckets,\n row.source,\n screenTimeSourceLabel(row.source),\n row.totalSeconds,\n );\n addBucket(\n browserBuckets,\n row.browser?.toLowerCase(),\n row.browser,\n row.totalSeconds,\n );\n }\n\n const xDms = await this.repository.listXDms(this.agentId(), {\n limit: 500,\n });\n const xReceivedWindowDms = xDms.filter((dm) =>\n inWindow(dm.receivedAt, sinceMs, untilMs),\n );\n const xInbound = xReceivedWindowDms.filter((dm) => dm.isInbound).length;\n const xOutbound = xReceivedWindowDms.length - xInbound;\n const xOpened = xDms.filter((dm) =>\n inWindow(dm.readAt, sinceMs, untilMs),\n ).length;\n const xReplied = xDms.filter((dm) =>\n inWindow(dm.repliedAt, sinceMs, untilMs),\n ).length;\n\n const [browserSettings, browserCompanions, recentMobileSignals] =\n await Promise.all([\n this.getBrowserSettings(),\n this.listBrowserCompanions(),\n this.repository.listActivitySignals(this.agentId(), {\n sinceAt: new Date(Date.now() - 7 * 24 * 60 * 60_000).toISOString(),\n limit: 100,\n }),\n ]);\n const messageChannels = [\n {\n channel: \"x_dm\" as const,\n label: \"X DMs\",\n inbound: xInbound,\n outbound: xOutbound,\n opened: xOpened,\n replied: xReplied,\n },\n ];\n const browserState = browserTrackingDataSourceState(\n browserSettings,\n browserCompanions,\n );\n const androidState = mobileScreenTimeDataSourceFromSignals(\n recentMobileSignals,\n \"android\",\n );\n const iosState = mobileScreenTimeDataSourceFromSignals(\n recentMobileSignals,\n \"ios\",\n );\n\n return {\n since: opts.since,\n until: opts.until,\n totalSeconds: socialRows.reduce(\n (sum, row) => sum + row.totalSeconds,\n 0,\n ),\n services: fullBreakdown.byService.slice(0, opts.topN ?? 8),\n devices: screenTimeBucketList(deviceBuckets),\n surfaces: screenTimeBucketList(surfaceBuckets),\n browsers: screenTimeBucketList(browserBuckets),\n sessions: socialRows.slice(0, opts.topN ?? 8),\n messages: {\n channels: messageChannels,\n inbound: xInbound,\n outbound: xOutbound,\n opened: xOpened,\n replied: xReplied,\n },\n dataSources: [\n {\n id: \"macos_activity\",\n label: \"Mac apps\",\n state: \"live\",\n statusLabel: \"Live\",\n detail:\n \"macOS app focus events are included in screen-time totals.\",\n },\n {\n id: \"browser_bridge\",\n label: \"Browser\",\n state: browserState,\n statusLabel:\n browserState === \"live\"\n ? \"Live\"\n : browserState === \"partial\"\n ? \"Needs attention\"\n : \"Not connected\",\n detail:\n browserState === \"live\"\n ? \"Browser focus sessions are included in website totals.\"\n : browserState === \"partial\"\n ? \"Browser tracking is enabled but permissions, recency, or pause state need attention.\"\n : \"Browser tracking is disabled or no companion is connected.\",\n },\n {\n id: \"android_usage_stats\",\n label: \"Android apps\",\n ...androidState,\n },\n {\n id: \"ios_device_activity\",\n label: \"iOS apps\",\n ...iosState,\n },\n ],\n fetchedAt: isoNow(),\n };\n }\n\n async getScreenTimeHistory(opts: {\n range: LifeOpsScreenTimeRangeKey;\n topN?: number;\n socialTopN?: number;\n }): Promise<LifeOpsScreenTimeHistoryResponse> {\n const window = computeScreenTimeRange(opts.range);\n const priorWindow = computePriorScreenTimeRange(opts.range, window);\n const [breakdown, social, priorBreakdown, priorSocial] =\n await Promise.all([\n this.getScreenTimeBreakdown({\n since: window.since,\n until: window.until,\n topN: opts.topN,\n }),\n this.getSocialHabitSummary({\n since: window.since,\n until: window.until,\n topN: opts.socialTopN,\n }),\n priorWindow\n ? this.getScreenTimeBreakdown({\n since: priorWindow.since,\n until: priorWindow.until,\n topN: opts.topN,\n })\n : Promise.resolve(null),\n priorWindow\n ? this.getSocialHabitSummary({\n since: priorWindow.since,\n until: priorWindow.until,\n topN: opts.socialTopN,\n })\n : Promise.resolve(null),\n ]);\n const history: LifeOpsScreenTimeHistoryPoint[] =\n opts.range === \"today\"\n ? []\n : await Promise.all(\n enumerateScreenTimeHistoryDays(window).map(async (day) => {\n const summary = await this.getScreenTimeSummary({\n since: day.since,\n until: day.until,\n });\n return {\n ...day,\n totalSeconds: summary.totalSeconds,\n };\n }),\n );\n\n return {\n range: opts.range,\n label: screenTimeRangeLabel(opts.range),\n window,\n priorWindow,\n breakdown,\n social,\n history,\n metrics: buildScreenTimeMetrics(\n breakdown,\n social,\n priorBreakdown,\n priorSocial,\n ),\n visible: buildScreenTimeVisibleBuckets(breakdown, social),\n fetchedAt: isoNow(),\n };\n }\n\n async getScreenTimeWeeklyAverageByApp(opts: {\n since: string;\n until: string;\n daysInWindow: number;\n identifier?: string;\n topN?: number;\n }): Promise<ScreenTimeWeeklyAverageResponse> {\n const summary = await this.getScreenTimeSummary({\n since: opts.since,\n until: opts.until,\n source: \"app\",\n identifier: opts.identifier,\n topN: opts.topN,\n });\n const daysInWindow = Math.max(1, Math.floor(opts.daysInWindow));\n return {\n items: buildScreenTimeWeeklyAverageItems(summary.items, daysInWindow),\n totalSeconds: summary.totalSeconds,\n daysInWindow,\n };\n }\n\n async aggregateDailyForDate(date: string): Promise<{ updated: number }> {\n return this.repository.aggregateScreenTimeDailyForDate(\n this.agentId(),\n date,\n );\n }\n }\n return LifeOpsScreenTimeServiceMixin as unknown as MixinClass<\n TBase,\n LifeOpsScreenTimeServicePublic\n >;\n}\n"],"mappings":"AAAA,OAAO,YAAY;AACnB;AAAA,EAGE;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAaP,SAAS,gCAAgC;AAMzC,SAAS,YAAY;AAErB,SAAS,SAAiB;AACxB,UAAO,oBAAI,KAAK,GAAE,YAAY;AAChC;AAEA,SAAS,uBACP,SACA,OACA,UACQ;AACR,MACE,OAAO,aAAa,YACpB,OAAO,SAAS,QAAQ,KACxB,YAAY,GACZ;AACA,WAAO,KAAK,MAAM,QAAQ;AAAA,EAC5B;AACA,MAAI,CAAC,MAAO,QAAO;AACnB,QAAM,UAAU,KAAK,MAAM,OAAO;AAClC,QAAM,QAAQ,KAAK,MAAM,KAAK;AAC9B,MAAI,CAAC,OAAO,SAAS,OAAO,KAAK,CAAC,OAAO,SAAS,KAAK,EAAG,QAAO;AACjE,QAAM,QAAQ,KAAK,IAAI,GAAG,KAAK,OAAO,QAAQ,WAAW,GAAI,CAAC;AAC9D,SAAO;AACT;AA8EA,SAAS,qBAAqB,MAK5B;AACA,QAAM,WAAW,GAAG,IAAI;AACxB,QAAM,SAAS,GAAG,IAAI;AACtB,QAAM,UAAU,KAAK,MAAM,QAAQ;AACnC,QAAM,QAAQ,KAAK,MAAM,MAAM;AAC/B,MAAI,CAAC,OAAO,SAAS,OAAO,KAAK,CAAC,OAAO,SAAS,KAAK,KAAK,QAAQ,SAAS;AAC3E,SAAK,KAAK,wCAAwC;AAAA,EACpD;AACA,SAAO,EAAE,UAAU,QAAQ,SAAS,MAAM;AAC5C;AAEA,SAAS,kBACP,OACA,OAIA;AACA,QAAM,UAAU,KAAK,MAAM,KAAK;AAChC,QAAM,UAAU,KAAK,MAAM,KAAK;AAChC,MACE,CAAC,OAAO,SAAS,OAAO,KACxB,CAAC,OAAO,SAAS,OAAO,KACxB,WAAW,SACX;AACA,SAAK,KAAK,8DAA8D;AAAA,EAC1E;AACA,SAAO,EAAE,SAAS,QAAQ;AAC5B;AAEA,SAAS,0BACP,YACe;AACf,QAAM,aAAa,YAAY,KAAK;AACpC,SAAO,cAAc,WAAW,SAAS,IAAI,aAAa;AAC5D;AAEA,SAAS,uBACP,MACA,YAC0B;AAC1B,QAAM,aAAa,0BAA0B,UAAU;AACvD,MAAI,CAAC,YAAY;AACf,WAAO;AAAA,EACT;AACA,SAAO,KAAK,OAAO,CAAC,QAAQ,IAAI,eAAe,UAAU;AAC3D;AAEA,SAAS,2BACP,SACA,eACA,aACQ;AACR,QAAM,iBAAiB,KAAK,MAAM,QAAQ,OAAO;AACjD,MAAI,CAAC,OAAO,SAAS,cAAc,GAAG;AACpC,WAAO;AAAA,EACT;AACA,QAAM,aAAa,KAAK,IAAI,aAAa,KAAK,IAAI,CAAC;AACnD,QAAM,eACJ,QAAQ,SAAS,OAAO,SAAS,KAAK,MAAM,QAAQ,KAAK,CAAC,IACtD,KAAK,MAAM,QAAQ,KAAK,IACxB;AACN,QAAM,eAAe,KAAK,IAAI,gBAAgB,aAAa;AAC3D,QAAM,aAAa,KAAK,IAAI,cAAc,UAAU;AACpD,MAAI,cAAc,cAAc;AAC9B,WAAO;AAAA,EACT;AACA,SAAO,KAAK,IAAI,GAAG,KAAK,OAAO,aAAa,gBAAgB,GAAI,CAAC;AACnE;AAEA,SAAS,yBACP,UACA,eACA,aAC0B;AAC1B,QAAM,SAAS,oBAAI,IAAoC;AACvD,aAAW,WAAW,UAAU;AAC9B,UAAM,iBAAiB;AAAA,MACrB;AAAA,MACA;AAAA,MACA;AAAA,IACF;AACA,QAAI,kBAAkB,GAAG;AACvB;AAAA,IACF;AACA,UAAM,MAAM,GAAG,QAAQ,MAAM,KAAK,QAAQ,UAAU;AACpD,UAAM,WAAW,OAAO,IAAI,GAAG;AAC/B,QAAI,UAAU;AACZ,eAAS,gBAAgB;AACzB,eAAS,gBAAgB;AACzB;AAAA,IACF;AACA,WAAO,IAAI,KAAK;AAAA,MACd,QAAQ,QAAQ;AAAA,MAChB,YAAY,QAAQ;AAAA,MACpB,aAAa,QAAQ,eAAe,QAAQ;AAAA,MAC5C,cAAc;AAAA,MACd,cAAc;AAAA,MACd,UAAU,QAAQ;AAAA,IACpB,CAAC;AAAA,EACH;AACA,SAAO,CAAC,GAAG,OAAO,OAAO,CAAC,EAAE,KAAK,CAAC,MAAM,UAAU;AAChD,QAAI,MAAM,iBAAiB,KAAK,cAAc;AAC5C,aAAO,MAAM,eAAe,KAAK;AAAA,IACnC;AACA,WAAO,KAAK,YAAY,cAAc,MAAM,WAAW;AAAA,EACzD,CAAC;AACH;AAEA,SAAS,0BAA0B,SAA4C;AAC7E,SACE,QAAQ,WAAW,SACnB,sBAAsB;AAAA,IACpB,UAAU,QAAQ;AAAA,IAClB,SAAS,QAAQ;AAAA,IACjB,UACE,OAAO,QAAQ,SAAS,aAAa,WACjC,QAAQ,SAAS,WACjB;AAAA,EACR,CAAC;AAEL;AAEA,SAAS,YACP,SACA,MACA,MAC0B;AAC1B,QAAM,MAAM,OAAO;AACnB,SAAO,6BAA6B,IAAI,EAAE,IAAI,CAAC,SAAS;AAAA,IACtD,IAAI,eAAe,OAAO,IAAI,IAAI,IAAI,IAAI,MAAM,IAAI,IAAI,UAAU;AAAA,IAClE;AAAA,IACA,QAAQ,IAAI;AAAA,IACZ,YAAY,IAAI;AAAA,IAChB;AAAA,IACA,cAAc,IAAI;AAAA,IAClB,cAAc,IAAI;AAAA,IAClB,UAAU;AAAA,MACR,aAAa,IAAI;AAAA,MACjB,GAAI,IAAI,YAAY,CAAC;AAAA,IACvB;AAAA,IACA,WAAW;AAAA,IACX,WAAW;AAAA,EACb,EAAE;AACJ;AAEA,SAAS,UACP,SACA,KACA,OACA,cACM;AACN,MAAI,CAAC,OAAO,gBAAgB,EAAG;AAC/B,QAAM,WAAW,QAAQ,IAAI,GAAG;AAChC,MAAI,UAAU;AACZ,aAAS,gBAAgB;AACzB;AAAA,EACF;AACA,UAAQ,IAAI,KAAK;AAAA,IACf;AAAA,IACA,OAAO,SAAS;AAAA,IAChB;AAAA,EACF,CAAC;AACH;AAEA,SAAS,SACP,KACA,SACA,SACS;AACT,MAAI,CAAC,IAAK,QAAO;AACjB,QAAM,SAAS,KAAK,MAAM,GAAG;AAC7B,SAAO,OAAO,SAAS,MAAM,KAAK,UAAU,WAAW,UAAU;AACnE;AAEA,SAAS,+BACP,UACA,YACgC;AAChC,MAAI,CAAC,SAAS,WAAW,SAAS,iBAAiB,OAAO;AACxD,WAAO;AAAA,EACT;AACA,MAAI,sBAAsB,QAAQ,GAAG;AACnC,WAAO;AAAA,EACT;AACA,MAAI,WAAW,WAAW,GAAG;AAC3B,WAAO;AAAA,EACT;AAEA,QAAM,sBAAsB,WAAW;AAAA,IACrC,CAAC,cAAc,UAAU,oBAAoB;AAAA,EAC/C;AACA,MAAI,oBAAoB,WAAW,GAAG;AACpC,WAAO,WAAW;AAAA,MAChB,CAAC,cAAc,UAAU,oBAAoB;AAAA,IAC/C,IACI,YACA;AAAA,EACN;AAEA,QAAM,4BAA4B,oBAAoB;AAAA,IAAO,CAAC,cAC5D,+BAA+B,SAAS;AAAA,EAC1C;AACA,MAAI,0BAA0B,WAAW,GAAG;AAC1C,WAAO;AAAA,EACT;AAEA,SAAO,0BAA0B;AAAA,IAAK,CAAC,cACrC,8BAA8B,UAAU,UAAU,WAAW;AAAA,EAC/D,IACI,SACA;AACN;AAGO,SAAS,eACd,MACmD;AACnD,QAAM,iBACJ;AAAA,EAEF,MAAM,sCAAsC,eAAe;AAAA,IACzD,MAAM,sBACJ,OACmC;AACnC,UAAI,MAAM,WAAW,SAAS,MAAM,WAAW,WAAW;AACxD,aAAK,KAAK,mCAAmC;AAAA,MAC/C;AACA,UAAI,CAAC,MAAM,cAAc,OAAO,MAAM,eAAe,UAAU;AAC7D,aAAK,KAAK,wBAAwB;AAAA,MACpC;AACA,UAAI,CAAC,MAAM,WAAW,OAAO,MAAM,YAAY,UAAU;AACvD,aAAK,KAAK,qBAAqB;AAAA,MACjC;AACA,YAAM,MAAM,OAAO;AACnB,YAAM,QAAQ,MAAM,SAAS;AAC7B,YAAM,WAAW,UAAU;AAC3B,YAAM,kBAAkB;AAAA,QACtB,MAAM;AAAA,QACN;AAAA,QACA,MAAM;AAAA,MACR;AACA,YAAM,UAAoC;AAAA,QACxC,IAAI,OAAO,WAAW;AAAA,QACtB,SAAS,KAAK,QAAQ;AAAA,QACtB,QAAQ,MAAM;AAAA,QACd,YAAY,MAAM;AAAA,QAClB,aAAa,MAAM,eAAe,MAAM;AAAA,QACxC,SAAS,MAAM;AAAA,QACf;AAAA,QACA;AAAA,QACA;AAAA,QACA,UAAU,MAAM,YAAY,CAAC;AAAA,QAC7B,WAAW;AAAA,QACX,WAAW;AAAA,MACb;AACA,YAAM,KAAK,WAAW,wBAAwB,OAAO;AACrD,aAAO;AAAA,IACT;AAAA,IAEA,MAAM,8BACJ,IACA,OACA,iBACe;AACf,YAAM,KAAK,WAAW;AAAA,QACpB,KAAK,QAAQ;AAAA,QACb;AAAA,QACA;AAAA,QACA,KAAK,IAAI,GAAG,KAAK,MAAM,eAAe,CAAC;AAAA,MACzC;AAAA,IACF;AAAA,IAEA,MAAM,sBAAsB,MAKU;AACpC,YAAM,EAAE,SAAS,QAAQ,IAAI,kBAAkB,KAAK,OAAO,KAAK,KAAK;AACrE,YAAM,OAAiC,CAAC;AAExC,UAAI,KAAK,WAAW,OAAO;AACzB,cAAM,YAAY,MAAM;AAAA,UACtB,KAAK;AAAA,UACL,KAAK,QAAQ;AAAA,UACb;AAAA,YACE;AAAA,YACA,SAAS,KAAK,IAAI,SAAS,KAAK,IAAI,CAAC;AAAA,UACvC;AAAA,QACF;AACA,aAAK;AAAA,UACH,GAAG,UAAU,KAAK,IAAI,CAAC,SAAS;AAAA,YAC9B,QAAQ;AAAA,YACR,YAAY,IAAI,YAAY,IAAI;AAAA,YAChC,aAAa,IAAI,WAAW,IAAI;AAAA,YAChC,cAAc,KAAK,MAAM,IAAI,UAAU,GAAI;AAAA,YAC3C,cAAc,IAAI;AAAA,YAClB,UAAU;AAAA,cACR,oBAAoB,IAAI;AAAA,YAC1B;AAAA,UACF,EAAE;AAAA,QACJ;AACA,cAAM,cACJ,MAAM,KAAK,WAAW;AAAA,UACpB,KAAK,QAAQ;AAAA,UACb,KAAK;AAAA,UACL,KAAK;AAAA,UACL,EAAE,QAAQ,MAAM;AAAA,QAClB;AACF,aAAK;AAAA,UACH,GAAG;AAAA,YACD,YAAY;AAAA,cACV,CAAC,YAAY,CAAC,0BAA0B,OAAO;AAAA,YACjD;AAAA,YACA;AAAA,YACA;AAAA,UACF;AAAA,QACF;AACA,cAAM,gBAAgB,MAAM,KAAK,WAAW;AAAA,UAC1C,KAAK,QAAQ;AAAA,UACb;AAAA,YACE,SAAS,KAAK;AAAA,YACd,OAAO;AAAA,UACT;AAAA,QACF;AACA,aAAK;AAAA,UACH,GAAG;AAAA,YACD,cAAc;AAAA,cACZ,CAAC,WACC,OAAO,aAAa,aACpB,SAAS,OAAO,YAAY,SAAS,OAAO;AAAA,YAChD;AAAA,YACA;AAAA,YACA;AAAA,UACF;AAAA,QACF;AAAA,MACF;AAEA,UAAI,KAAK,WAAW,WAAW;AAC7B,cAAM,kBACJ,MAAM,KAAK,WAAW;AAAA,UACpB,KAAK,QAAQ;AAAA,UACb,KAAK;AAAA,UACL,KAAK;AAAA,UACL,EAAE,QAAQ,UAAU;AAAA,QACtB;AACF,aAAK;AAAA,UACH,GAAG,yBAAyB,iBAAiB,SAAS,OAAO;AAAA,QAC/D;AAAA,MACF;AAEA,aAAO,uBAAuB,MAAM,KAAK,UAAU;AAAA,IACrD;AAAA,IAEA,MAAM,mBAAmB,MAKa;AACpC,YAAM,EAAE,UAAU,OAAO,IAAI,qBAAqB,KAAK,IAAI;AAC3D,YAAM,OAAO,MAAM,KAAK,sBAAsB;AAAA,QAC5C,OAAO;AAAA,QACP,OAAO;AAAA,QACP,QAAQ,KAAK;AAAA,QACb,YAAY,KAAK;AAAA,MACnB,CAAC;AAED,YAAM,YAAY,YAAY,KAAK,QAAQ,GAAG,KAAK,MAAM,IAAI;AAC7D,aAAO,UAAU,MAAM,GAAG,KAAK,SAAS,UAAU,MAAM;AAAA,IAC1D;AAAA,IAEA,MAAM,qBAAqB,MAMW;AACpC,YAAM,OAAO,MAAM,KAAK,sBAAsB,IAAI;AAClD,aAAO,uBAAuB,MAAM,KAAK,IAAI;AAAA,IAC/C;AAAA,IAEA,MAAM,uBAAuB,MAMI;AAC/B,YAAM,OAAO,MAAM,KAAK,sBAAsB,IAAI;AAClD,aAAO,yBAAyB,MAAM,KAAK,IAAI;AAAA,IACjD;AAAA,IAEA,MAAM,sBAAsB,MAII;AAC9B,YAAM,EAAE,SAAS,QAAQ,IAAI,kBAAkB,KAAK,OAAO,KAAK,KAAK;AACrE,YAAM,gBAAgB,MAAM,KAAK,uBAAuB;AAAA,QACtD,OAAO,KAAK;AAAA,QACZ,OAAO,KAAK;AAAA,MACd,CAAC;AACD,YAAM,aAAa,cAAc,MAAM;AAAA,QACrC,CAAC,SAAS,KAAK,WAAW,iBAAiB,KAAK,QAAQ;AAAA,MAC1D;AACA,YAAM,gBAAgB,oBAAI,IAA8B;AACxD,YAAM,iBAAiB,oBAAI,IAA8B;AACzD,YAAM,iBAAiB,oBAAI,IAA8B;AACzD,iBAAW,OAAO,YAAY;AAC5B;AAAA,UACE;AAAA,UACA,IAAI;AAAA,UACJ,sBAAsB,IAAI,MAAM;AAAA,UAChC,IAAI;AAAA,QACN;AACA;AAAA,UACE;AAAA,UACA,IAAI;AAAA,UACJ,sBAAsB,IAAI,MAAM;AAAA,UAChC,IAAI;AAAA,QACN;AACA;AAAA,UACE;AAAA,UACA,IAAI,SAAS,YAAY;AAAA,UACzB,IAAI;AAAA,UACJ,IAAI;AAAA,QACN;AAAA,MACF;AAEA,YAAM,OAAO,MAAM,KAAK,WAAW,SAAS,KAAK,QAAQ,GAAG;AAAA,QAC1D,OAAO;AAAA,MACT,CAAC;AACD,YAAM,qBAAqB,KAAK;AAAA,QAAO,CAAC,OACtC,SAAS,GAAG,YAAY,SAAS,OAAO;AAAA,MAC1C;AACA,YAAM,WAAW,mBAAmB,OAAO,CAAC,OAAO,GAAG,SAAS,EAAE;AACjE,YAAM,YAAY,mBAAmB,SAAS;AAC9C,YAAM,UAAU,KAAK;AAAA,QAAO,CAAC,OAC3B,SAAS,GAAG,QAAQ,SAAS,OAAO;AAAA,MACtC,EAAE;AACF,YAAM,WAAW,KAAK;AAAA,QAAO,CAAC,OAC5B,SAAS,GAAG,WAAW,SAAS,OAAO;AAAA,MACzC,EAAE;AAEF,YAAM,CAAC,iBAAiB,mBAAmB,mBAAmB,IAC5D,MAAM,QAAQ,IAAI;AAAA,QAChB,KAAK,mBAAmB;AAAA,QACxB,KAAK,sBAAsB;AAAA,QAC3B,KAAK,WAAW,oBAAoB,KAAK,QAAQ,GAAG;AAAA,UAClD,SAAS,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,KAAK,KAAK,GAAM,EAAE,YAAY;AAAA,UACjE,OAAO;AAAA,QACT,CAAC;AAAA,MACH,CAAC;AACH,YAAM,kBAAkB;AAAA,QACtB;AAAA,UACE,SAAS;AAAA,UACT,OAAO;AAAA,UACP,SAAS;AAAA,UACT,UAAU;AAAA,UACV,QAAQ;AAAA,UACR,SAAS;AAAA,QACX;AAAA,MACF;AACA,YAAM,eAAe;AAAA,QACnB;AAAA,QACA;AAAA,MACF;AACA,YAAM,eAAe;AAAA,QACnB;AAAA,QACA;AAAA,MACF;AACA,YAAM,WAAW;AAAA,QACf;AAAA,QACA;AAAA,MACF;AAEA,aAAO;AAAA,QACL,OAAO,KAAK;AAAA,QACZ,OAAO,KAAK;AAAA,QACZ,cAAc,WAAW;AAAA,UACvB,CAAC,KAAK,QAAQ,MAAM,IAAI;AAAA,UACxB;AAAA,QACF;AAAA,QACA,UAAU,cAAc,UAAU,MAAM,GAAG,KAAK,QAAQ,CAAC;AAAA,QACzD,SAAS,qBAAqB,aAAa;AAAA,QAC3C,UAAU,qBAAqB,cAAc;AAAA,QAC7C,UAAU,qBAAqB,cAAc;AAAA,QAC7C,UAAU,WAAW,MAAM,GAAG,KAAK,QAAQ,CAAC;AAAA,QAC5C,UAAU;AAAA,UACR,UAAU;AAAA,UACV,SAAS;AAAA,UACT,UAAU;AAAA,UACV,QAAQ;AAAA,UACR,SAAS;AAAA,QACX;AAAA,QACA,aAAa;AAAA,UACX;AAAA,YACE,IAAI;AAAA,YACJ,OAAO;AAAA,YACP,OAAO;AAAA,YACP,aAAa;AAAA,YACb,QACE;AAAA,UACJ;AAAA,UACA;AAAA,YACE,IAAI;AAAA,YACJ,OAAO;AAAA,YACP,OAAO;AAAA,YACP,aACE,iBAAiB,SACb,SACA,iBAAiB,YACf,oBACA;AAAA,YACR,QACE,iBAAiB,SACb,2DACA,iBAAiB,YACf,yFACA;AAAA,UACV;AAAA,UACA;AAAA,YACE,IAAI;AAAA,YACJ,OAAO;AAAA,YACP,GAAG;AAAA,UACL;AAAA,UACA;AAAA,YACE,IAAI;AAAA,YACJ,OAAO;AAAA,YACP,GAAG;AAAA,UACL;AAAA,QACF;AAAA,QACA,WAAW,OAAO;AAAA,MACpB;AAAA,IACF;AAAA,IAEA,MAAM,qBAAqB,MAImB;AAC5C,YAAM,SAAS,uBAAuB,KAAK,KAAK;AAChD,YAAM,cAAc,4BAA4B,KAAK,OAAO,MAAM;AAClE,YAAM,CAAC,WAAW,QAAQ,gBAAgB,WAAW,IACnD,MAAM,QAAQ,IAAI;AAAA,QAChB,KAAK,uBAAuB;AAAA,UAC1B,OAAO,OAAO;AAAA,UACd,OAAO,OAAO;AAAA,UACd,MAAM,KAAK;AAAA,QACb,CAAC;AAAA,QACD,KAAK,sBAAsB;AAAA,UACzB,OAAO,OAAO;AAAA,UACd,OAAO,OAAO;AAAA,UACd,MAAM,KAAK;AAAA,QACb,CAAC;AAAA,QACD,cACI,KAAK,uBAAuB;AAAA,UAC1B,OAAO,YAAY;AAAA,UACnB,OAAO,YAAY;AAAA,UACnB,MAAM,KAAK;AAAA,QACb,CAAC,IACD,QAAQ,QAAQ,IAAI;AAAA,QACxB,cACI,KAAK,sBAAsB;AAAA,UACzB,OAAO,YAAY;AAAA,UACnB,OAAO,YAAY;AAAA,UACnB,MAAM,KAAK;AAAA,QACb,CAAC,IACD,QAAQ,QAAQ,IAAI;AAAA,MAC1B,CAAC;AACH,YAAM,UACJ,KAAK,UAAU,UACX,CAAC,IACD,MAAM,QAAQ;AAAA,QACZ,+BAA+B,MAAM,EAAE,IAAI,OAAO,QAAQ;AACxD,gBAAM,UAAU,MAAM,KAAK,qBAAqB;AAAA,YAC9C,OAAO,IAAI;AAAA,YACX,OAAO,IAAI;AAAA,UACb,CAAC;AACD,iBAAO;AAAA,YACL,GAAG;AAAA,YACH,cAAc,QAAQ;AAAA,UACxB;AAAA,QACF,CAAC;AAAA,MACH;AAEN,aAAO;AAAA,QACL,OAAO,KAAK;AAAA,QACZ,OAAO,qBAAqB,KAAK,KAAK;AAAA,QACtC;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,SAAS;AAAA,UACP;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QACA,SAAS,8BAA8B,WAAW,MAAM;AAAA,QACxD,WAAW,OAAO;AAAA,MACpB;AAAA,IACF;AAAA,IAEA,MAAM,gCAAgC,MAMO;AAC3C,YAAM,UAAU,MAAM,KAAK,qBAAqB;AAAA,QAC9C,OAAO,KAAK;AAAA,QACZ,OAAO,KAAK;AAAA,QACZ,QAAQ;AAAA,QACR,YAAY,KAAK;AAAA,QACjB,MAAM,KAAK;AAAA,MACb,CAAC;AACD,YAAM,eAAe,KAAK,IAAI,GAAG,KAAK,MAAM,KAAK,YAAY,CAAC;AAC9D,aAAO;AAAA,QACL,OAAO,kCAAkC,QAAQ,OAAO,YAAY;AAAA,QACpE,cAAc,QAAQ;AAAA,QACtB;AAAA,MACF;AAAA,IACF;AAAA,IAEA,MAAM,sBAAsB,MAA4C;AACtE,aAAO,KAAK,WAAW;AAAA,QACrB,KAAK,QAAQ;AAAA,QACb;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACA,SAAO;AAIT;","names":[]}