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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1317) hide show
  1. package/dist/actions/app-block.d.ts +15 -0
  2. package/dist/actions/app-block.d.ts.map +1 -0
  3. package/dist/actions/app-block.js +349 -0
  4. package/dist/actions/app-block.js.map +1 -0
  5. package/dist/actions/autofill.d.ts +20 -0
  6. package/dist/actions/autofill.d.ts.map +1 -0
  7. package/dist/actions/autofill.js +370 -0
  8. package/dist/actions/autofill.js.map +1 -0
  9. package/dist/actions/block.d.ts +30 -0
  10. package/dist/actions/block.d.ts.map +1 -0
  11. package/dist/actions/block.js +326 -0
  12. package/dist/actions/block.js.map +1 -0
  13. package/dist/actions/book-travel.d.ts +10 -0
  14. package/dist/actions/book-travel.d.ts.map +1 -0
  15. package/dist/actions/book-travel.js +467 -0
  16. package/dist/actions/book-travel.js.map +1 -0
  17. package/dist/actions/brief.d.ts +60 -0
  18. package/dist/actions/brief.d.ts.map +1 -0
  19. package/dist/actions/brief.js +485 -0
  20. package/dist/actions/brief.js.map +1 -0
  21. package/dist/actions/calendar.d.ts +22 -0
  22. package/dist/actions/calendar.d.ts.map +1 -0
  23. package/dist/actions/calendar.js +832 -0
  24. package/dist/actions/calendar.js.map +1 -0
  25. package/dist/actions/conflict-detect.d.ts +67 -0
  26. package/dist/actions/conflict-detect.d.ts.map +1 -0
  27. package/dist/actions/conflict-detect.js +310 -0
  28. package/dist/actions/conflict-detect.js.map +1 -0
  29. package/dist/actions/connector.d.ts +5 -0
  30. package/dist/actions/connector.d.ts.map +1 -0
  31. package/dist/actions/connector.js +1354 -0
  32. package/dist/actions/connector.js.map +1 -0
  33. package/dist/actions/credentials.d.ts +14 -0
  34. package/dist/actions/credentials.d.ts.map +1 -0
  35. package/dist/actions/credentials.js +191 -0
  36. package/dist/actions/credentials.js.map +1 -0
  37. package/dist/actions/document.d.ts +36 -0
  38. package/dist/actions/document.d.ts.map +1 -0
  39. package/dist/actions/document.js +613 -0
  40. package/dist/actions/document.js.map +1 -0
  41. package/dist/actions/entity.d.ts +20 -0
  42. package/dist/actions/entity.d.ts.map +1 -0
  43. package/dist/actions/entity.js +785 -0
  44. package/dist/actions/entity.js.map +1 -0
  45. package/dist/actions/health.d.ts +4 -0
  46. package/dist/actions/health.d.ts.map +1 -0
  47. package/dist/actions/health.js +37 -0
  48. package/dist/actions/health.js.map +1 -0
  49. package/dist/actions/inbox.d.ts +12 -0
  50. package/dist/actions/inbox.d.ts.map +1 -0
  51. package/dist/actions/inbox.js +13 -0
  52. package/dist/actions/inbox.js.map +1 -0
  53. package/dist/actions/lib/calendly-handler.d.ts +3 -0
  54. package/dist/actions/lib/calendly-handler.d.ts.map +1 -0
  55. package/dist/actions/lib/calendly-handler.js +506 -0
  56. package/dist/actions/lib/calendly-handler.js.map +1 -0
  57. package/dist/actions/lib/extract-goal-plan.d.ts +69 -0
  58. package/dist/actions/lib/extract-goal-plan.d.ts.map +1 -0
  59. package/dist/actions/lib/extract-goal-plan.js +488 -0
  60. package/dist/actions/lib/extract-goal-plan.js.map +1 -0
  61. package/dist/actions/lib/extract-life-operation.d.ts +18 -0
  62. package/dist/actions/lib/extract-life-operation.d.ts.map +1 -0
  63. package/dist/actions/lib/extract-life-operation.js +318 -0
  64. package/dist/actions/lib/extract-life-operation.js.map +1 -0
  65. package/dist/actions/lib/extract-task-plan.d.ts +78 -0
  66. package/dist/actions/lib/extract-task-plan.d.ts.map +1 -0
  67. package/dist/actions/lib/extract-task-plan.js +355 -0
  68. package/dist/actions/lib/extract-task-plan.js.map +1 -0
  69. package/dist/actions/lib/extract-update-fields.d.ts +27 -0
  70. package/dist/actions/lib/extract-update-fields.d.ts.map +1 -0
  71. package/dist/actions/lib/extract-update-fields.js +172 -0
  72. package/dist/actions/lib/extract-update-fields.js.map +1 -0
  73. package/dist/actions/lib/lifeops-deferred-draft.d.ts +68 -0
  74. package/dist/actions/lib/lifeops-deferred-draft.d.ts.map +1 -0
  75. package/dist/actions/lib/lifeops-deferred-draft.js +315 -0
  76. package/dist/actions/lib/lifeops-deferred-draft.js.map +1 -0
  77. package/dist/actions/lib/messaging-helpers.d.ts +20 -0
  78. package/dist/actions/lib/messaging-helpers.d.ts.map +1 -0
  79. package/dist/actions/lib/messaging-helpers.js +103 -0
  80. package/dist/actions/lib/messaging-helpers.js.map +1 -0
  81. package/dist/actions/lib/owner-policy-writes.d.ts +49 -0
  82. package/dist/actions/lib/owner-policy-writes.d.ts.map +1 -0
  83. package/dist/actions/lib/owner-policy-writes.js +157 -0
  84. package/dist/actions/lib/owner-policy-writes.js.map +1 -0
  85. package/dist/actions/lib/prompt-format.d.ts +3 -0
  86. package/dist/actions/lib/prompt-format.d.ts.map +1 -0
  87. package/dist/actions/lib/prompt-format.js +42 -0
  88. package/dist/actions/lib/prompt-format.js.map +1 -0
  89. package/dist/actions/lib/scheduling-handler.d.ts +93 -0
  90. package/dist/actions/lib/scheduling-handler.d.ts.map +1 -0
  91. package/dist/actions/lib/scheduling-handler.js +868 -0
  92. package/dist/actions/lib/scheduling-handler.js.map +1 -0
  93. package/dist/actions/life.d.ts +13 -0
  94. package/dist/actions/life.d.ts.map +1 -0
  95. package/dist/actions/life.js +2524 -0
  96. package/dist/actions/life.js.map +1 -0
  97. package/dist/actions/money.d.ts +24 -0
  98. package/dist/actions/money.d.ts.map +1 -0
  99. package/dist/actions/money.js +41 -0
  100. package/dist/actions/money.js.map +1 -0
  101. package/dist/actions/owner-surfaces.d.ts +11 -0
  102. package/dist/actions/owner-surfaces.d.ts.map +1 -0
  103. package/dist/actions/owner-surfaces.js +493 -0
  104. package/dist/actions/owner-surfaces.js.map +1 -0
  105. package/dist/actions/password-manager.d.ts +10 -0
  106. package/dist/actions/password-manager.d.ts.map +1 -0
  107. package/dist/actions/password-manager.js +195 -0
  108. package/dist/actions/password-manager.js.map +1 -0
  109. package/dist/actions/payments.d.ts +10 -0
  110. package/dist/actions/payments.d.ts.map +1 -0
  111. package/dist/actions/payments.js +5 -0
  112. package/dist/actions/payments.js.map +1 -0
  113. package/dist/actions/prioritize.d.ts +49 -0
  114. package/dist/actions/prioritize.d.ts.map +1 -0
  115. package/dist/actions/prioritize.js +313 -0
  116. package/dist/actions/prioritize.js.map +1 -0
  117. package/dist/actions/remote-desktop.d.ts +13 -0
  118. package/dist/actions/remote-desktop.d.ts.map +1 -0
  119. package/dist/actions/remote-desktop.js +11 -0
  120. package/dist/actions/remote-desktop.js.map +1 -0
  121. package/dist/actions/resolve-request.d.ts +12 -0
  122. package/dist/actions/resolve-request.d.ts.map +1 -0
  123. package/dist/actions/resolve-request.js +427 -0
  124. package/dist/actions/resolve-request.js.map +1 -0
  125. package/dist/actions/schedule.d.ts +10 -0
  126. package/dist/actions/schedule.d.ts.map +1 -0
  127. package/dist/actions/schedule.js +113 -0
  128. package/dist/actions/schedule.js.map +1 -0
  129. package/dist/actions/scheduled-task.d.ts +32 -0
  130. package/dist/actions/scheduled-task.d.ts.map +1 -0
  131. package/dist/actions/scheduled-task.js +661 -0
  132. package/dist/actions/scheduled-task.js.map +1 -0
  133. package/dist/actions/screen-time.d.ts +4 -0
  134. package/dist/actions/screen-time.d.ts.map +1 -0
  135. package/dist/actions/screen-time.js +47 -0
  136. package/dist/actions/screen-time.js.map +1 -0
  137. package/dist/actions/subscriptions.d.ts +8 -0
  138. package/dist/actions/subscriptions.d.ts.map +1 -0
  139. package/dist/actions/subscriptions.js +327 -0
  140. package/dist/actions/subscriptions.js.map +1 -0
  141. package/dist/actions/voice-call.d.ts +16 -0
  142. package/dist/actions/voice-call.d.ts.map +1 -0
  143. package/dist/actions/voice-call.js +756 -0
  144. package/dist/actions/voice-call.js.map +1 -0
  145. package/dist/actions/website-block.d.ts +15 -0
  146. package/dist/actions/website-block.d.ts.map +1 -0
  147. package/dist/actions/website-block.js +719 -0
  148. package/dist/actions/website-block.js.map +1 -0
  149. package/dist/actions/work-thread.d.ts +5 -0
  150. package/dist/actions/work-thread.d.ts.map +1 -0
  151. package/dist/actions/work-thread.js +556 -0
  152. package/dist/actions/work-thread.js.map +1 -0
  153. package/dist/activity-profile/activity-tracker-repo.d.ts +28 -0
  154. package/dist/activity-profile/activity-tracker-repo.d.ts.map +1 -0
  155. package/dist/activity-profile/activity-tracker-repo.js +61 -0
  156. package/dist/activity-profile/activity-tracker-repo.js.map +1 -0
  157. package/dist/activity-profile/activity-tracker-reporting.d.ts +52 -0
  158. package/dist/activity-profile/activity-tracker-reporting.d.ts.map +1 -0
  159. package/dist/activity-profile/activity-tracker-reporting.js +119 -0
  160. package/dist/activity-profile/activity-tracker-reporting.js.map +1 -0
  161. package/dist/activity-profile/activity-tracker-service.d.ts +36 -0
  162. package/dist/activity-profile/activity-tracker-service.d.ts.map +1 -0
  163. package/dist/activity-profile/activity-tracker-service.js +187 -0
  164. package/dist/activity-profile/activity-tracker-service.js.map +1 -0
  165. package/dist/activity-profile/analyzer.d.ts +23 -0
  166. package/dist/activity-profile/analyzer.d.ts.map +1 -0
  167. package/dist/activity-profile/analyzer.js +485 -0
  168. package/dist/activity-profile/analyzer.js.map +1 -0
  169. package/dist/activity-profile/presence-signal-bridge-service.d.ts +14 -0
  170. package/dist/activity-profile/presence-signal-bridge-service.d.ts.map +1 -0
  171. package/dist/activity-profile/presence-signal-bridge-service.js +159 -0
  172. package/dist/activity-profile/presence-signal-bridge-service.js.map +1 -0
  173. package/dist/activity-profile/proactive-inbox-digest.d.ts +3 -0
  174. package/dist/activity-profile/proactive-inbox-digest.d.ts.map +1 -0
  175. package/dist/activity-profile/proactive-inbox-digest.js +21 -0
  176. package/dist/activity-profile/proactive-inbox-digest.js.map +1 -0
  177. package/dist/activity-profile/proactive-planner.d.ts +150 -0
  178. package/dist/activity-profile/proactive-planner.d.ts.map +1 -0
  179. package/dist/activity-profile/proactive-planner.js +529 -0
  180. package/dist/activity-profile/proactive-planner.js.map +1 -0
  181. package/dist/activity-profile/proactive-worker.d.ts +33 -0
  182. package/dist/activity-profile/proactive-worker.d.ts.map +1 -0
  183. package/dist/activity-profile/proactive-worker.js +779 -0
  184. package/dist/activity-profile/proactive-worker.js.map +1 -0
  185. package/dist/activity-profile/profile-metadata.d.ts +10 -0
  186. package/dist/activity-profile/profile-metadata.d.ts.map +1 -0
  187. package/dist/activity-profile/profile-metadata.js +16 -0
  188. package/dist/activity-profile/profile-metadata.js.map +1 -0
  189. package/dist/activity-profile/redactor.d.ts +15 -0
  190. package/dist/activity-profile/redactor.d.ts.map +1 -0
  191. package/dist/activity-profile/redactor.js +22 -0
  192. package/dist/activity-profile/redactor.js.map +1 -0
  193. package/dist/activity-profile/service.d.ts +11 -0
  194. package/dist/activity-profile/service.d.ts.map +1 -0
  195. package/dist/activity-profile/service.js +272 -0
  196. package/dist/activity-profile/service.js.map +1 -0
  197. package/dist/activity-profile/types.d.ts +97 -0
  198. package/dist/activity-profile/types.d.ts.map +1 -0
  199. package/dist/activity-profile/types.js +36 -0
  200. package/dist/activity-profile/types.js.map +1 -0
  201. package/dist/agent-lifeops.d.ts +2 -0
  202. package/dist/agent-lifeops.d.ts.map +1 -0
  203. package/dist/agent-lifeops.js +2 -0
  204. package/dist/agent-lifeops.js.map +1 -0
  205. package/dist/api/client-lifeops.d.ts +319 -0
  206. package/dist/api/client-lifeops.d.ts.map +1 -0
  207. package/dist/api/client-lifeops.js +794 -0
  208. package/dist/api/client-lifeops.js.map +1 -0
  209. package/dist/automation-node-contributor.d.ts +2 -0
  210. package/dist/automation-node-contributor.d.ts.map +1 -0
  211. package/dist/automation-node-contributor.js +184 -0
  212. package/dist/automation-node-contributor.js.map +1 -0
  213. package/dist/client.d.ts +16 -0
  214. package/dist/client.d.ts.map +1 -0
  215. package/dist/client.js +18 -0
  216. package/dist/client.js.map +1 -0
  217. package/dist/components/AppBlockerSettingsCard.d.ts +3 -0
  218. package/dist/components/AppBlockerSettingsCard.d.ts.map +1 -0
  219. package/dist/components/AppBlockerSettingsCard.js +538 -0
  220. package/dist/components/AppBlockerSettingsCard.js.map +1 -0
  221. package/dist/components/WebsiteBlockerSettingsCard.d.ts +3 -0
  222. package/dist/components/WebsiteBlockerSettingsCard.d.ts.map +1 -0
  223. package/dist/components/WebsiteBlockerSettingsCard.js +148 -0
  224. package/dist/components/WebsiteBlockerSettingsCard.js.map +1 -0
  225. package/dist/contracts/index.d.ts +2 -0
  226. package/dist/contracts/index.d.ts.map +1 -0
  227. package/dist/contracts/index.js +2 -0
  228. package/dist/contracts/index.js.map +1 -0
  229. package/dist/contracts/lifeops.d.ts +2 -0
  230. package/dist/contracts/lifeops.d.ts.map +1 -0
  231. package/dist/contracts/lifeops.js +2 -0
  232. package/dist/contracts/lifeops.js.map +1 -0
  233. package/dist/default-packs/autofill-whitelist-pack.d.ts +17 -0
  234. package/dist/default-packs/autofill-whitelist-pack.d.ts.map +1 -0
  235. package/dist/default-packs/autofill-whitelist-pack.js +56 -0
  236. package/dist/default-packs/autofill-whitelist-pack.js.map +1 -0
  237. package/dist/default-packs/consolidation-policies.d.ts +14 -0
  238. package/dist/default-packs/consolidation-policies.d.ts.map +1 -0
  239. package/dist/default-packs/consolidation-policies.js +17 -0
  240. package/dist/default-packs/consolidation-policies.js.map +1 -0
  241. package/dist/default-packs/contract-types.d.ts +200 -0
  242. package/dist/default-packs/contract-types.d.ts.map +1 -0
  243. package/dist/default-packs/contract-types.js +1 -0
  244. package/dist/default-packs/contract-types.js.map +1 -0
  245. package/dist/default-packs/daily-rhythm.d.ts +28 -0
  246. package/dist/default-packs/daily-rhythm.d.ts.map +1 -0
  247. package/dist/default-packs/daily-rhythm.js +136 -0
  248. package/dist/default-packs/daily-rhythm.js.map +1 -0
  249. package/dist/default-packs/escalation-ladders.d.ts +18 -0
  250. package/dist/default-packs/escalation-ladders.d.ts.map +1 -0
  251. package/dist/default-packs/escalation-ladders.js +17 -0
  252. package/dist/default-packs/escalation-ladders.js.map +1 -0
  253. package/dist/default-packs/executive-assistant.d.ts +50 -0
  254. package/dist/default-packs/executive-assistant.d.ts.map +1 -0
  255. package/dist/default-packs/executive-assistant.js +745 -0
  256. package/dist/default-packs/executive-assistant.js.map +1 -0
  257. package/dist/default-packs/followup-starter.d.ts +49 -0
  258. package/dist/default-packs/followup-starter.d.ts.map +1 -0
  259. package/dist/default-packs/followup-starter.js +104 -0
  260. package/dist/default-packs/followup-starter.js.map +1 -0
  261. package/dist/default-packs/habit-starters.d.ts +37 -0
  262. package/dist/default-packs/habit-starters.d.ts.map +1 -0
  263. package/dist/default-packs/habit-starters.js +255 -0
  264. package/dist/default-packs/habit-starters.js.map +1 -0
  265. package/dist/default-packs/inbox-triage-starter.d.ts +23 -0
  266. package/dist/default-packs/inbox-triage-starter.d.ts.map +1 -0
  267. package/dist/default-packs/inbox-triage-starter.js +61 -0
  268. package/dist/default-packs/inbox-triage-starter.js.map +1 -0
  269. package/dist/default-packs/index.d.ts +54 -0
  270. package/dist/default-packs/index.d.ts.map +1 -0
  271. package/dist/default-packs/index.js +150 -0
  272. package/dist/default-packs/index.js.map +1 -0
  273. package/dist/default-packs/lint.d.ts +62 -0
  274. package/dist/default-packs/lint.d.ts.map +1 -0
  275. package/dist/default-packs/lint.js +161 -0
  276. package/dist/default-packs/lint.js.map +1 -0
  277. package/dist/default-packs/morning-brief.d.ts +44 -0
  278. package/dist/default-packs/morning-brief.d.ts.map +1 -0
  279. package/dist/default-packs/morning-brief.js +69 -0
  280. package/dist/default-packs/morning-brief.js.map +1 -0
  281. package/dist/default-packs/quiet-user-watcher.d.ts +49 -0
  282. package/dist/default-packs/quiet-user-watcher.d.ts.map +1 -0
  283. package/dist/default-packs/quiet-user-watcher.js +92 -0
  284. package/dist/default-packs/quiet-user-watcher.js.map +1 -0
  285. package/dist/default-packs/registry-types.d.ts +51 -0
  286. package/dist/default-packs/registry-types.d.ts.map +1 -0
  287. package/dist/default-packs/registry-types.js +1 -0
  288. package/dist/default-packs/registry-types.js.map +1 -0
  289. package/dist/default-packs/task-definitions.d.ts +88 -0
  290. package/dist/default-packs/task-definitions.d.ts.map +1 -0
  291. package/dist/default-packs/task-definitions.js +87 -0
  292. package/dist/default-packs/task-definitions.js.map +1 -0
  293. package/dist/events/index.d.ts +34 -0
  294. package/dist/events/index.d.ts.map +1 -0
  295. package/dist/events/index.js +30 -0
  296. package/dist/events/index.js.map +1 -0
  297. package/dist/followup/actions/listOverdueFollowups.d.ts +3 -0
  298. package/dist/followup/actions/listOverdueFollowups.d.ts.map +1 -0
  299. package/dist/followup/actions/listOverdueFollowups.js +90 -0
  300. package/dist/followup/actions/listOverdueFollowups.js.map +1 -0
  301. package/dist/followup/actions/markFollowupDone.d.ts +3 -0
  302. package/dist/followup/actions/markFollowupDone.d.ts.map +1 -0
  303. package/dist/followup/actions/markFollowupDone.js +171 -0
  304. package/dist/followup/actions/markFollowupDone.js.map +1 -0
  305. package/dist/followup/actions/setFollowupThreshold.d.ts +3 -0
  306. package/dist/followup/actions/setFollowupThreshold.d.ts.map +1 -0
  307. package/dist/followup/actions/setFollowupThreshold.js +171 -0
  308. package/dist/followup/actions/setFollowupThreshold.js.map +1 -0
  309. package/dist/followup/followup-tracker.d.ts +83 -0
  310. package/dist/followup/followup-tracker.d.ts.map +1 -0
  311. package/dist/followup/followup-tracker.js +311 -0
  312. package/dist/followup/followup-tracker.js.map +1 -0
  313. package/dist/followup/index.d.ts +5 -0
  314. package/dist/followup/index.d.ts.map +1 -0
  315. package/dist/followup/index.js +39 -0
  316. package/dist/followup/index.js.map +1 -0
  317. package/dist/hooks/connector-error.d.ts +2 -0
  318. package/dist/hooks/connector-error.d.ts.map +1 -0
  319. package/dist/hooks/connector-error.js +13 -0
  320. package/dist/hooks/connector-error.js.map +1 -0
  321. package/dist/hooks/useDiscordConnector.d.ts +11 -0
  322. package/dist/hooks/useDiscordConnector.d.ts.map +1 -0
  323. package/dist/hooks/useDiscordConnector.js +95 -0
  324. package/dist/hooks/useDiscordConnector.js.map +1 -0
  325. package/dist/hooks/useGoogleLifeOpsConnector.d.ts +23 -0
  326. package/dist/hooks/useGoogleLifeOpsConnector.d.ts.map +1 -0
  327. package/dist/hooks/useGoogleLifeOpsConnector.js +630 -0
  328. package/dist/hooks/useGoogleLifeOpsConnector.js.map +1 -0
  329. package/dist/hooks/useIMessageConnector.d.ts +10 -0
  330. package/dist/hooks/useIMessageConnector.d.ts.map +1 -0
  331. package/dist/hooks/useIMessageConnector.js +57 -0
  332. package/dist/hooks/useIMessageConnector.js.map +1 -0
  333. package/dist/hooks/useInbox.d.ts +36 -0
  334. package/dist/hooks/useInbox.d.ts.map +1 -0
  335. package/dist/hooks/useInbox.js +96 -0
  336. package/dist/hooks/useInbox.js.map +1 -0
  337. package/dist/hooks/useLifeOpsActivitySignals.d.ts +2 -0
  338. package/dist/hooks/useLifeOpsActivitySignals.d.ts.map +1 -0
  339. package/dist/hooks/useLifeOpsActivitySignals.js +358 -0
  340. package/dist/hooks/useLifeOpsActivitySignals.js.map +1 -0
  341. package/dist/hooks/useLifeOpsAppState.d.ts +9 -0
  342. package/dist/hooks/useLifeOpsAppState.d.ts.map +1 -0
  343. package/dist/hooks/useLifeOpsAppState.js +79 -0
  344. package/dist/hooks/useLifeOpsAppState.js.map +1 -0
  345. package/dist/hooks/useLifeOpsCapabilitiesStatus.d.ts +8 -0
  346. package/dist/hooks/useLifeOpsCapabilitiesStatus.d.ts.map +1 -0
  347. package/dist/hooks/useLifeOpsCapabilitiesStatus.js +60 -0
  348. package/dist/hooks/useLifeOpsCapabilitiesStatus.js.map +1 -0
  349. package/dist/hooks/useLifeOpsXConnector.d.ts +11 -0
  350. package/dist/hooks/useLifeOpsXConnector.d.ts.map +1 -0
  351. package/dist/hooks/useLifeOpsXConnector.js +92 -0
  352. package/dist/hooks/useLifeOpsXConnector.js.map +1 -0
  353. package/dist/hooks/useSignalConnector.d.ts +14 -0
  354. package/dist/hooks/useSignalConnector.d.ts.map +1 -0
  355. package/dist/hooks/useSignalConnector.js +89 -0
  356. package/dist/hooks/useSignalConnector.js.map +1 -0
  357. package/dist/hooks/useTelegramConnector.d.ts +14 -0
  358. package/dist/hooks/useTelegramConnector.d.ts.map +1 -0
  359. package/dist/hooks/useTelegramConnector.js +97 -0
  360. package/dist/hooks/useTelegramConnector.js.map +1 -0
  361. package/dist/hooks/useWhatsAppConnector.d.ts +8 -0
  362. package/dist/hooks/useWhatsAppConnector.d.ts.map +1 -0
  363. package/dist/hooks/useWhatsAppConnector.js +62 -0
  364. package/dist/hooks/useWhatsAppConnector.js.map +1 -0
  365. package/dist/inbox/message-fetcher.d.ts +11 -0
  366. package/dist/inbox/message-fetcher.d.ts.map +1 -0
  367. package/dist/inbox/message-fetcher.js +13 -0
  368. package/dist/inbox/message-fetcher.js.map +1 -0
  369. package/dist/inbox/repository.d.ts +11 -0
  370. package/dist/inbox/repository.d.ts.map +1 -0
  371. package/dist/inbox/repository.js +5 -0
  372. package/dist/inbox/repository.js.map +1 -0
  373. package/dist/inbox/types.d.ts +10 -0
  374. package/dist/inbox/types.d.ts.map +1 -0
  375. package/dist/inbox/types.js +2 -0
  376. package/dist/inbox/types.js.map +1 -0
  377. package/dist/index.d.ts +36 -0
  378. package/dist/index.d.ts.map +1 -0
  379. package/dist/index.js +188 -0
  380. package/dist/index.js.map +1 -0
  381. package/dist/lifeops/access.d.ts +29 -0
  382. package/dist/lifeops/access.d.ts.map +1 -0
  383. package/dist/lifeops/access.js +56 -0
  384. package/dist/lifeops/access.js.map +1 -0
  385. package/dist/lifeops/app-state.d.ts +22 -0
  386. package/dist/lifeops/app-state.d.ts.map +1 -0
  387. package/dist/lifeops/app-state.js +67 -0
  388. package/dist/lifeops/app-state.js.map +1 -0
  389. package/dist/lifeops/apple-reminders.d.ts +67 -0
  390. package/dist/lifeops/apple-reminders.d.ts.map +1 -0
  391. package/dist/lifeops/apple-reminders.js +396 -0
  392. package/dist/lifeops/apple-reminders.js.map +1 -0
  393. package/dist/lifeops/approval-queue.d.ts +38 -0
  394. package/dist/lifeops/approval-queue.d.ts.map +1 -0
  395. package/dist/lifeops/approval-queue.js +575 -0
  396. package/dist/lifeops/approval-queue.js.map +1 -0
  397. package/dist/lifeops/approval-queue.types.d.ts +172 -0
  398. package/dist/lifeops/approval-queue.types.d.ts.map +1 -0
  399. package/dist/lifeops/approval-queue.types.js +27 -0
  400. package/dist/lifeops/approval-queue.types.js.map +1 -0
  401. package/dist/lifeops/autofill-whitelist.d.ts +20 -0
  402. package/dist/lifeops/autofill-whitelist.d.ts.map +1 -0
  403. package/dist/lifeops/autofill-whitelist.js +59 -0
  404. package/dist/lifeops/autofill-whitelist.js.map +1 -0
  405. package/dist/lifeops/background-planner-dispatch.d.ts +60 -0
  406. package/dist/lifeops/background-planner-dispatch.d.ts.map +1 -0
  407. package/dist/lifeops/background-planner-dispatch.js +113 -0
  408. package/dist/lifeops/background-planner-dispatch.js.map +1 -0
  409. package/dist/lifeops/background-planner.d.ts +140 -0
  410. package/dist/lifeops/background-planner.d.ts.map +1 -0
  411. package/dist/lifeops/background-planner.js +359 -0
  412. package/dist/lifeops/background-planner.js.map +1 -0
  413. package/dist/lifeops/bill-extraction.d.ts +46 -0
  414. package/dist/lifeops/bill-extraction.d.ts.map +1 -0
  415. package/dist/lifeops/bill-extraction.js +325 -0
  416. package/dist/lifeops/bill-extraction.js.map +1 -0
  417. package/dist/lifeops/browser-constants.d.ts +4 -0
  418. package/dist/lifeops/browser-constants.d.ts.map +1 -0
  419. package/dist/lifeops/browser-constants.js +27 -0
  420. package/dist/lifeops/browser-constants.js.map +1 -0
  421. package/dist/lifeops/browser-extension-store.d.ts +61 -0
  422. package/dist/lifeops/browser-extension-store.d.ts.map +1 -0
  423. package/dist/lifeops/browser-extension-store.js +176 -0
  424. package/dist/lifeops/browser-extension-store.js.map +1 -0
  425. package/dist/lifeops/browser-session-lifecycle.d.ts +57 -0
  426. package/dist/lifeops/browser-session-lifecycle.d.ts.map +1 -0
  427. package/dist/lifeops/browser-session-lifecycle.js +308 -0
  428. package/dist/lifeops/browser-session-lifecycle.js.map +1 -0
  429. package/dist/lifeops/bulk-review.d.ts +333 -0
  430. package/dist/lifeops/bulk-review.d.ts.map +1 -0
  431. package/dist/lifeops/bulk-review.js +1120 -0
  432. package/dist/lifeops/bulk-review.js.map +1 -0
  433. package/dist/lifeops/calendar-gate.d.ts +20 -0
  434. package/dist/lifeops/calendar-gate.d.ts.map +1 -0
  435. package/dist/lifeops/calendar-gate.js +30 -0
  436. package/dist/lifeops/calendar-gate.js.map +1 -0
  437. package/dist/lifeops/channels/contract.d.ts +47 -0
  438. package/dist/lifeops/channels/contract.d.ts.map +1 -0
  439. package/dist/lifeops/channels/contract.js +1 -0
  440. package/dist/lifeops/channels/contract.js.map +1 -0
  441. package/dist/lifeops/channels/default-pack.d.ts +26 -0
  442. package/dist/lifeops/channels/default-pack.d.ts.map +1 -0
  443. package/dist/lifeops/channels/default-pack.js +243 -0
  444. package/dist/lifeops/channels/default-pack.js.map +1 -0
  445. package/dist/lifeops/channels/index.d.ts +5 -0
  446. package/dist/lifeops/channels/index.d.ts.map +1 -0
  447. package/dist/lifeops/channels/index.js +23 -0
  448. package/dist/lifeops/channels/index.js.map +1 -0
  449. package/dist/lifeops/channels/priority-posture.d.ts +36 -0
  450. package/dist/lifeops/channels/priority-posture.d.ts.map +1 -0
  451. package/dist/lifeops/channels/priority-posture.js +27 -0
  452. package/dist/lifeops/channels/priority-posture.js.map +1 -0
  453. package/dist/lifeops/channels/registry.d.ts +7 -0
  454. package/dist/lifeops/channels/registry.d.ts.map +1 -0
  455. package/dist/lifeops/channels/registry.js +49 -0
  456. package/dist/lifeops/channels/registry.js.map +1 -0
  457. package/dist/lifeops/checkin/checkin-service.d.ts +66 -0
  458. package/dist/lifeops/checkin/checkin-service.d.ts.map +1 -0
  459. package/dist/lifeops/checkin/checkin-service.js +1084 -0
  460. package/dist/lifeops/checkin/checkin-service.js.map +1 -0
  461. package/dist/lifeops/checkin/schedule-resolver.d.ts +17 -0
  462. package/dist/lifeops/checkin/schedule-resolver.d.ts.map +1 -0
  463. package/dist/lifeops/checkin/schedule-resolver.js +26 -0
  464. package/dist/lifeops/checkin/schedule-resolver.js.map +1 -0
  465. package/dist/lifeops/checkin/types.d.ts +106 -0
  466. package/dist/lifeops/checkin/types.d.ts.map +1 -0
  467. package/dist/lifeops/checkin/types.js +1 -0
  468. package/dist/lifeops/checkin/types.js.map +1 -0
  469. package/dist/lifeops/connectors/_helpers.d.ts +51 -0
  470. package/dist/lifeops/connectors/_helpers.d.ts.map +1 -0
  471. package/dist/lifeops/connectors/_helpers.js +104 -0
  472. package/dist/lifeops/connectors/_helpers.js.map +1 -0
  473. package/dist/lifeops/connectors/calendly.d.ts +11 -0
  474. package/dist/lifeops/connectors/calendly.d.ts.map +1 -0
  475. package/dist/lifeops/connectors/calendly.js +61 -0
  476. package/dist/lifeops/connectors/calendly.js.map +1 -0
  477. package/dist/lifeops/connectors/contract.d.ts +88 -0
  478. package/dist/lifeops/connectors/contract.d.ts.map +1 -0
  479. package/dist/lifeops/connectors/contract.js +1 -0
  480. package/dist/lifeops/connectors/contract.js.map +1 -0
  481. package/dist/lifeops/connectors/default-pack.d.ts +35 -0
  482. package/dist/lifeops/connectors/default-pack.d.ts.map +1 -0
  483. package/dist/lifeops/connectors/default-pack.js +37 -0
  484. package/dist/lifeops/connectors/default-pack.js.map +1 -0
  485. package/dist/lifeops/connectors/discord.d.ts +8 -0
  486. package/dist/lifeops/connectors/discord.d.ts.map +1 -0
  487. package/dist/lifeops/connectors/discord.js +53 -0
  488. package/dist/lifeops/connectors/discord.js.map +1 -0
  489. package/dist/lifeops/connectors/dispatch-policy.d.ts +75 -0
  490. package/dist/lifeops/connectors/dispatch-policy.d.ts.map +1 -0
  491. package/dist/lifeops/connectors/dispatch-policy.js +35 -0
  492. package/dist/lifeops/connectors/dispatch-policy.js.map +1 -0
  493. package/dist/lifeops/connectors/duffel.d.ts +11 -0
  494. package/dist/lifeops/connectors/duffel.d.ts.map +1 -0
  495. package/dist/lifeops/connectors/duffel.js +74 -0
  496. package/dist/lifeops/connectors/duffel.js.map +1 -0
  497. package/dist/lifeops/connectors/google.d.ts +27 -0
  498. package/dist/lifeops/connectors/google.d.ts.map +1 -0
  499. package/dist/lifeops/connectors/google.js +80 -0
  500. package/dist/lifeops/connectors/google.js.map +1 -0
  501. package/dist/lifeops/connectors/imessage.d.ts +11 -0
  502. package/dist/lifeops/connectors/imessage.d.ts.map +1 -0
  503. package/dist/lifeops/connectors/imessage.js +55 -0
  504. package/dist/lifeops/connectors/imessage.js.map +1 -0
  505. package/dist/lifeops/connectors/index.d.ts +5 -0
  506. package/dist/lifeops/connectors/index.d.ts.map +1 -0
  507. package/dist/lifeops/connectors/index.js +23 -0
  508. package/dist/lifeops/connectors/index.js.map +1 -0
  509. package/dist/lifeops/connectors/mockoon-redirect.d.ts +54 -0
  510. package/dist/lifeops/connectors/mockoon-redirect.d.ts.map +1 -0
  511. package/dist/lifeops/connectors/mockoon-redirect.js +71 -0
  512. package/dist/lifeops/connectors/mockoon-redirect.js.map +1 -0
  513. package/dist/lifeops/connectors/registry.d.ts +7 -0
  514. package/dist/lifeops/connectors/registry.d.ts.map +1 -0
  515. package/dist/lifeops/connectors/registry.js +55 -0
  516. package/dist/lifeops/connectors/registry.js.map +1 -0
  517. package/dist/lifeops/connectors/signal.d.ts +8 -0
  518. package/dist/lifeops/connectors/signal.d.ts.map +1 -0
  519. package/dist/lifeops/connectors/signal.js +60 -0
  520. package/dist/lifeops/connectors/signal.js.map +1 -0
  521. package/dist/lifeops/connectors/telegram.d.ts +12 -0
  522. package/dist/lifeops/connectors/telegram.d.ts.map +1 -0
  523. package/dist/lifeops/connectors/telegram.js +65 -0
  524. package/dist/lifeops/connectors/telegram.js.map +1 -0
  525. package/dist/lifeops/connectors/twilio.d.ts +15 -0
  526. package/dist/lifeops/connectors/twilio.d.ts.map +1 -0
  527. package/dist/lifeops/connectors/twilio.js +126 -0
  528. package/dist/lifeops/connectors/twilio.js.map +1 -0
  529. package/dist/lifeops/connectors/whatsapp.d.ts +10 -0
  530. package/dist/lifeops/connectors/whatsapp.d.ts.map +1 -0
  531. package/dist/lifeops/connectors/whatsapp.js +56 -0
  532. package/dist/lifeops/connectors/whatsapp.js.map +1 -0
  533. package/dist/lifeops/connectors/x.d.ts +8 -0
  534. package/dist/lifeops/connectors/x.d.ts.map +1 -0
  535. package/dist/lifeops/connectors/x.js +62 -0
  536. package/dist/lifeops/connectors/x.js.map +1 -0
  537. package/dist/lifeops/contact-route-policy.d.ts +27 -0
  538. package/dist/lifeops/contact-route-policy.d.ts.map +1 -0
  539. package/dist/lifeops/contact-route-policy.js +153 -0
  540. package/dist/lifeops/contact-route-policy.js.map +1 -0
  541. package/dist/lifeops/continuity-probe.d.ts +49 -0
  542. package/dist/lifeops/continuity-probe.d.ts.map +1 -0
  543. package/dist/lifeops/continuity-probe.js +161 -0
  544. package/dist/lifeops/continuity-probe.js.map +1 -0
  545. package/dist/lifeops/cross-channel-search.d.ts +108 -0
  546. package/dist/lifeops/cross-channel-search.d.ts.map +1 -0
  547. package/dist/lifeops/cross-channel-search.js +888 -0
  548. package/dist/lifeops/cross-channel-search.js.map +1 -0
  549. package/dist/lifeops/defaults.d.ts +30 -0
  550. package/dist/lifeops/defaults.d.ts.map +1 -0
  551. package/dist/lifeops/defaults.js +206 -0
  552. package/dist/lifeops/defaults.js.map +1 -0
  553. package/dist/lifeops/device-bus-service.d.ts +16 -0
  554. package/dist/lifeops/device-bus-service.d.ts.map +1 -0
  555. package/dist/lifeops/device-bus-service.js +20 -0
  556. package/dist/lifeops/device-bus-service.js.map +1 -0
  557. package/dist/lifeops/device-identity.d.ts +31 -0
  558. package/dist/lifeops/device-identity.d.ts.map +1 -0
  559. package/dist/lifeops/device-identity.js +94 -0
  560. package/dist/lifeops/device-identity.js.map +1 -0
  561. package/dist/lifeops/document-review.d.ts +264 -0
  562. package/dist/lifeops/document-review.d.ts.map +1 -0
  563. package/dist/lifeops/document-review.js +925 -0
  564. package/dist/lifeops/document-review.js.map +1 -0
  565. package/dist/lifeops/email-classifier.d.ts +9 -0
  566. package/dist/lifeops/email-classifier.d.ts.map +1 -0
  567. package/dist/lifeops/email-classifier.js +15 -0
  568. package/dist/lifeops/email-classifier.js.map +1 -0
  569. package/dist/lifeops/email-curation.d.ts +13 -0
  570. package/dist/lifeops/email-curation.d.ts.map +1 -0
  571. package/dist/lifeops/email-curation.js +2 -0
  572. package/dist/lifeops/email-curation.js.map +1 -0
  573. package/dist/lifeops/email-unsubscribe-types.d.ts +7 -0
  574. package/dist/lifeops/email-unsubscribe-types.d.ts.map +1 -0
  575. package/dist/lifeops/email-unsubscribe-types.js +1 -0
  576. package/dist/lifeops/email-unsubscribe-types.js.map +1 -0
  577. package/dist/lifeops/enforcement-windows.d.ts +34 -0
  578. package/dist/lifeops/enforcement-windows.d.ts.map +1 -0
  579. package/dist/lifeops/enforcement-windows.js +80 -0
  580. package/dist/lifeops/enforcement-windows.js.map +1 -0
  581. package/dist/lifeops/engine.d.ts +8 -0
  582. package/dist/lifeops/engine.d.ts.map +1 -0
  583. package/dist/lifeops/engine.js +540 -0
  584. package/dist/lifeops/engine.js.map +1 -0
  585. package/dist/lifeops/entities/index.d.ts +4 -0
  586. package/dist/lifeops/entities/index.d.ts.map +1 -0
  587. package/dist/lifeops/entities/index.js +29 -0
  588. package/dist/lifeops/entities/index.js.map +1 -0
  589. package/dist/lifeops/entities/merge.d.ts +9 -0
  590. package/dist/lifeops/entities/merge.d.ts.map +1 -0
  591. package/dist/lifeops/entities/merge.js +17 -0
  592. package/dist/lifeops/entities/merge.js.map +1 -0
  593. package/dist/lifeops/entities/store.d.ts +13 -0
  594. package/dist/lifeops/entities/store.d.ts.map +1 -0
  595. package/dist/lifeops/entities/store.js +7 -0
  596. package/dist/lifeops/entities/store.js.map +1 -0
  597. package/dist/lifeops/entities/types.d.ts +9 -0
  598. package/dist/lifeops/entities/types.d.ts.map +1 -0
  599. package/dist/lifeops/entities/types.js +13 -0
  600. package/dist/lifeops/entities/types.js.map +1 -0
  601. package/dist/lifeops/entities/voice-attribution.d.ts +70 -0
  602. package/dist/lifeops/entities/voice-attribution.d.ts.map +1 -0
  603. package/dist/lifeops/entities/voice-attribution.js +121 -0
  604. package/dist/lifeops/entities/voice-attribution.js.map +1 -0
  605. package/dist/lifeops/entities/voice-observer-bridge.d.ts +32 -0
  606. package/dist/lifeops/entities/voice-observer-bridge.d.ts.map +1 -0
  607. package/dist/lifeops/entities/voice-observer-bridge.js +68 -0
  608. package/dist/lifeops/entities/voice-observer-bridge.js.map +1 -0
  609. package/dist/lifeops/entities/voice-observer.d.ts +72 -0
  610. package/dist/lifeops/entities/voice-observer.d.ts.map +1 -0
  611. package/dist/lifeops/entities/voice-observer.js +97 -0
  612. package/dist/lifeops/entities/voice-observer.js.map +1 -0
  613. package/dist/lifeops/escalation-ladders.d.ts +28 -0
  614. package/dist/lifeops/escalation-ladders.d.ts.map +1 -0
  615. package/dist/lifeops/escalation-ladders.js +17 -0
  616. package/dist/lifeops/escalation-ladders.js.map +1 -0
  617. package/dist/lifeops/fda-probe.d.ts +23 -0
  618. package/dist/lifeops/fda-probe.d.ts.map +1 -0
  619. package/dist/lifeops/fda-probe.js +59 -0
  620. package/dist/lifeops/fda-probe.js.map +1 -0
  621. package/dist/lifeops/feature-flags.d.ts +24 -0
  622. package/dist/lifeops/feature-flags.d.ts.map +1 -0
  623. package/dist/lifeops/feature-flags.js +261 -0
  624. package/dist/lifeops/feature-flags.js.map +1 -0
  625. package/dist/lifeops/feature-flags.types.d.ts +156 -0
  626. package/dist/lifeops/feature-flags.types.d.ts.map +1 -0
  627. package/dist/lifeops/feature-flags.types.js +129 -0
  628. package/dist/lifeops/feature-flags.types.js.map +1 -0
  629. package/dist/lifeops/first-run/defaults.d.ts +57 -0
  630. package/dist/lifeops/first-run/defaults.d.ts.map +1 -0
  631. package/dist/lifeops/first-run/defaults.js +159 -0
  632. package/dist/lifeops/first-run/defaults.js.map +1 -0
  633. package/dist/lifeops/first-run/questions.d.ts +74 -0
  634. package/dist/lifeops/first-run/questions.d.ts.map +1 -0
  635. package/dist/lifeops/first-run/questions.js +184 -0
  636. package/dist/lifeops/first-run/questions.js.map +1 -0
  637. package/dist/lifeops/first-run/replay.d.ts +41 -0
  638. package/dist/lifeops/first-run/replay.d.ts.map +1 -0
  639. package/dist/lifeops/first-run/replay.js +34 -0
  640. package/dist/lifeops/first-run/replay.js.map +1 -0
  641. package/dist/lifeops/first-run/service.d.ts +147 -0
  642. package/dist/lifeops/first-run/service.d.ts.map +1 -0
  643. package/dist/lifeops/first-run/service.js +455 -0
  644. package/dist/lifeops/first-run/service.js.map +1 -0
  645. package/dist/lifeops/first-run/state.d.ts +36 -0
  646. package/dist/lifeops/first-run/state.d.ts.map +1 -0
  647. package/dist/lifeops/first-run/state.js +128 -0
  648. package/dist/lifeops/first-run/state.js.map +1 -0
  649. package/dist/lifeops/global-pause/store.d.ts +22 -0
  650. package/dist/lifeops/global-pause/store.d.ts.map +1 -0
  651. package/dist/lifeops/global-pause/store.js +18 -0
  652. package/dist/lifeops/global-pause/store.js.map +1 -0
  653. package/dist/lifeops/goal-grounding.d.ts +9 -0
  654. package/dist/lifeops/goal-grounding.d.ts.map +1 -0
  655. package/dist/lifeops/goal-grounding.js +19 -0
  656. package/dist/lifeops/goal-grounding.js.map +1 -0
  657. package/dist/lifeops/goal-semantic-evaluator.d.ts +8 -0
  658. package/dist/lifeops/goal-semantic-evaluator.d.ts.map +1 -0
  659. package/dist/lifeops/goal-semantic-evaluator.js +7 -0
  660. package/dist/lifeops/goal-semantic-evaluator.js.map +1 -0
  661. package/dist/lifeops/google/format-helpers.d.ts +63 -0
  662. package/dist/lifeops/google/format-helpers.d.ts.map +1 -0
  663. package/dist/lifeops/google/format-helpers.js +597 -0
  664. package/dist/lifeops/google/format-helpers.js.map +1 -0
  665. package/dist/lifeops/google-plugin-delegates.d.ts +59 -0
  666. package/dist/lifeops/google-plugin-delegates.d.ts.map +1 -0
  667. package/dist/lifeops/google-plugin-delegates.js +408 -0
  668. package/dist/lifeops/google-plugin-delegates.js.map +1 -0
  669. package/dist/lifeops/google-scopes.d.ts +15 -0
  670. package/dist/lifeops/google-scopes.d.ts.map +1 -0
  671. package/dist/lifeops/google-scopes.js +118 -0
  672. package/dist/lifeops/google-scopes.js.map +1 -0
  673. package/dist/lifeops/handoff/store.d.ts +23 -0
  674. package/dist/lifeops/handoff/store.d.ts.map +1 -0
  675. package/dist/lifeops/handoff/store.js +20 -0
  676. package/dist/lifeops/handoff/store.js.map +1 -0
  677. package/dist/lifeops/i18n/localized-examples-provider.d.ts +16 -0
  678. package/dist/lifeops/i18n/localized-examples-provider.d.ts.map +1 -0
  679. package/dist/lifeops/i18n/localized-examples-provider.js +33 -0
  680. package/dist/lifeops/i18n/localized-examples-provider.js.map +1 -0
  681. package/dist/lifeops/i18n/localized-examples-resolver.d.ts +32 -0
  682. package/dist/lifeops/i18n/localized-examples-resolver.d.ts.map +1 -0
  683. package/dist/lifeops/i18n/localized-examples-resolver.js +28 -0
  684. package/dist/lifeops/i18n/localized-examples-resolver.js.map +1 -0
  685. package/dist/lifeops/i18n/prompt-registry.d.ts +64 -0
  686. package/dist/lifeops/i18n/prompt-registry.d.ts.map +1 -0
  687. package/dist/lifeops/i18n/prompt-registry.js +283 -0
  688. package/dist/lifeops/i18n/prompt-registry.js.map +1 -0
  689. package/dist/lifeops/imessage-outbound-probe.d.ts +7 -0
  690. package/dist/lifeops/imessage-outbound-probe.d.ts.map +1 -0
  691. package/dist/lifeops/imessage-outbound-probe.js +81 -0
  692. package/dist/lifeops/imessage-outbound-probe.js.map +1 -0
  693. package/dist/lifeops/index.d.ts +24 -0
  694. package/dist/lifeops/index.d.ts.map +1 -0
  695. package/dist/lifeops/index.js +24 -0
  696. package/dist/lifeops/index.js.map +1 -0
  697. package/dist/lifeops/intent-sync.d.ts +64 -0
  698. package/dist/lifeops/intent-sync.d.ts.map +1 -0
  699. package/dist/lifeops/intent-sync.js +321 -0
  700. package/dist/lifeops/intent-sync.js.map +1 -0
  701. package/dist/lifeops/messaging/index.d.ts +2 -0
  702. package/dist/lifeops/messaging/index.d.ts.map +1 -0
  703. package/dist/lifeops/messaging/index.js +5 -0
  704. package/dist/lifeops/messaging/index.js.map +1 -0
  705. package/dist/lifeops/messaging/owner-send-policy.d.ts +3 -0
  706. package/dist/lifeops/messaging/owner-send-policy.d.ts.map +1 -0
  707. package/dist/lifeops/messaging/owner-send-policy.js +83 -0
  708. package/dist/lifeops/messaging/owner-send-policy.js.map +1 -0
  709. package/dist/lifeops/notifications-push.d.ts +37 -0
  710. package/dist/lifeops/notifications-push.d.ts.map +1 -0
  711. package/dist/lifeops/notifications-push.js +95 -0
  712. package/dist/lifeops/notifications-push.js.map +1 -0
  713. package/dist/lifeops/optimized-prompt-instructions.d.ts +5 -0
  714. package/dist/lifeops/optimized-prompt-instructions.d.ts.map +1 -0
  715. package/dist/lifeops/optimized-prompt-instructions.js +48 -0
  716. package/dist/lifeops/optimized-prompt-instructions.js.map +1 -0
  717. package/dist/lifeops/owner/fact-store.d.ts +143 -0
  718. package/dist/lifeops/owner/fact-store.d.ts.map +1 -0
  719. package/dist/lifeops/owner/fact-store.js +446 -0
  720. package/dist/lifeops/owner/fact-store.js.map +1 -0
  721. package/dist/lifeops/owner/profile-extraction-evaluator.d.ts +3 -0
  722. package/dist/lifeops/owner/profile-extraction-evaluator.d.ts.map +1 -0
  723. package/dist/lifeops/owner/profile-extraction-evaluator.js +241 -0
  724. package/dist/lifeops/owner/profile-extraction-evaluator.js.map +1 -0
  725. package/dist/lifeops/owner-profile.d.ts +61 -0
  726. package/dist/lifeops/owner-profile.d.ts.map +1 -0
  727. package/dist/lifeops/owner-profile.js +407 -0
  728. package/dist/lifeops/owner-profile.js.map +1 -0
  729. package/dist/lifeops/pending-prompts/store.d.ts +23 -0
  730. package/dist/lifeops/pending-prompts/store.d.ts.map +1 -0
  731. package/dist/lifeops/pending-prompts/store.js +16 -0
  732. package/dist/lifeops/pending-prompts/store.js.map +1 -0
  733. package/dist/lifeops/policy-memory.d.ts +190 -0
  734. package/dist/lifeops/policy-memory.d.ts.map +1 -0
  735. package/dist/lifeops/policy-memory.js +1026 -0
  736. package/dist/lifeops/policy-memory.js.map +1 -0
  737. package/dist/lifeops/priority-scoring.d.ts +51 -0
  738. package/dist/lifeops/priority-scoring.d.ts.map +1 -0
  739. package/dist/lifeops/priority-scoring.js +305 -0
  740. package/dist/lifeops/priority-scoring.js.map +1 -0
  741. package/dist/lifeops/privacy-egress.d.ts +92 -0
  742. package/dist/lifeops/privacy-egress.d.ts.map +1 -0
  743. package/dist/lifeops/privacy-egress.js +230 -0
  744. package/dist/lifeops/privacy-egress.js.map +1 -0
  745. package/dist/lifeops/privacy.d.ts +49 -0
  746. package/dist/lifeops/privacy.d.ts.map +1 -0
  747. package/dist/lifeops/privacy.js +66 -0
  748. package/dist/lifeops/privacy.js.map +1 -0
  749. package/dist/lifeops/redact-sensitive-data.d.ts +32 -0
  750. package/dist/lifeops/redact-sensitive-data.d.ts.map +1 -0
  751. package/dist/lifeops/redact-sensitive-data.js +98 -0
  752. package/dist/lifeops/redact-sensitive-data.js.map +1 -0
  753. package/dist/lifeops/registries/app-blocker-contribution.d.ts +13 -0
  754. package/dist/lifeops/registries/app-blocker-contribution.d.ts.map +1 -0
  755. package/dist/lifeops/registries/app-blocker-contribution.js +73 -0
  756. package/dist/lifeops/registries/app-blocker-contribution.js.map +1 -0
  757. package/dist/lifeops/registries/blocker-registry.d.ts +76 -0
  758. package/dist/lifeops/registries/blocker-registry.d.ts.map +1 -0
  759. package/dist/lifeops/registries/blocker-registry.js +40 -0
  760. package/dist/lifeops/registries/blocker-registry.js.map +1 -0
  761. package/dist/lifeops/registries/event-kind-registry.d.ts +57 -0
  762. package/dist/lifeops/registries/event-kind-registry.d.ts.map +1 -0
  763. package/dist/lifeops/registries/event-kind-registry.js +82 -0
  764. package/dist/lifeops/registries/event-kind-registry.js.map +1 -0
  765. package/dist/lifeops/registries/family-registry.d.ts +72 -0
  766. package/dist/lifeops/registries/family-registry.d.ts.map +1 -0
  767. package/dist/lifeops/registries/family-registry.js +98 -0
  768. package/dist/lifeops/registries/family-registry.js.map +1 -0
  769. package/dist/lifeops/registries/feature-flag-default-pack.d.ts +32 -0
  770. package/dist/lifeops/registries/feature-flag-default-pack.d.ts.map +1 -0
  771. package/dist/lifeops/registries/feature-flag-default-pack.js +36 -0
  772. package/dist/lifeops/registries/feature-flag-default-pack.js.map +1 -0
  773. package/dist/lifeops/registries/feature-flag-registry.d.ts +76 -0
  774. package/dist/lifeops/registries/feature-flag-registry.d.ts.map +1 -0
  775. package/dist/lifeops/registries/feature-flag-registry.js +68 -0
  776. package/dist/lifeops/registries/feature-flag-registry.js.map +1 -0
  777. package/dist/lifeops/registries/index.d.ts +24 -0
  778. package/dist/lifeops/registries/index.d.ts.map +1 -0
  779. package/dist/lifeops/registries/index.js +115 -0
  780. package/dist/lifeops/registries/index.js.map +1 -0
  781. package/dist/lifeops/registries/website-blocker-contribution.d.ts +21 -0
  782. package/dist/lifeops/registries/website-blocker-contribution.d.ts.map +1 -0
  783. package/dist/lifeops/registries/website-blocker-contribution.js +76 -0
  784. package/dist/lifeops/registries/website-blocker-contribution.js.map +1 -0
  785. package/dist/lifeops/registries/workflow-step-default-pack.d.ts +30 -0
  786. package/dist/lifeops/registries/workflow-step-default-pack.d.ts.map +1 -0
  787. package/dist/lifeops/registries/workflow-step-default-pack.js +315 -0
  788. package/dist/lifeops/registries/workflow-step-default-pack.js.map +1 -0
  789. package/dist/lifeops/registries/workflow-step-registry.d.ts +101 -0
  790. package/dist/lifeops/registries/workflow-step-registry.d.ts.map +1 -0
  791. package/dist/lifeops/registries/workflow-step-registry.js +56 -0
  792. package/dist/lifeops/registries/workflow-step-registry.js.map +1 -0
  793. package/dist/lifeops/relationships/extraction.d.ts +77 -0
  794. package/dist/lifeops/relationships/extraction.d.ts.map +1 -0
  795. package/dist/lifeops/relationships/extraction.js +146 -0
  796. package/dist/lifeops/relationships/extraction.js.map +1 -0
  797. package/dist/lifeops/relationships/index.d.ts +4 -0
  798. package/dist/lifeops/relationships/index.d.ts.map +1 -0
  799. package/dist/lifeops/relationships/index.js +19 -0
  800. package/dist/lifeops/relationships/index.js.map +1 -0
  801. package/dist/lifeops/relationships/mapping.d.ts +34 -0
  802. package/dist/lifeops/relationships/mapping.d.ts.map +1 -0
  803. package/dist/lifeops/relationships/mapping.js +87 -0
  804. package/dist/lifeops/relationships/mapping.js.map +1 -0
  805. package/dist/lifeops/relationships/store.d.ts +12 -0
  806. package/dist/lifeops/relationships/store.d.ts.map +1 -0
  807. package/dist/lifeops/relationships/store.js +5 -0
  808. package/dist/lifeops/relationships/store.js.map +1 -0
  809. package/dist/lifeops/relationships/types.d.ts +9 -0
  810. package/dist/lifeops/relationships/types.d.ts.map +1 -0
  811. package/dist/lifeops/relationships/types.js +11 -0
  812. package/dist/lifeops/relationships/types.js.map +1 -0
  813. package/dist/lifeops/relative-schedule-resolver.d.ts +13 -0
  814. package/dist/lifeops/relative-schedule-resolver.d.ts.map +1 -0
  815. package/dist/lifeops/relative-schedule-resolver.js +107 -0
  816. package/dist/lifeops/relative-schedule-resolver.js.map +1 -0
  817. package/dist/lifeops/relative-time.d.ts +15 -0
  818. package/dist/lifeops/relative-time.d.ts.map +1 -0
  819. package/dist/lifeops/relative-time.js +191 -0
  820. package/dist/lifeops/relative-time.js.map +1 -0
  821. package/dist/lifeops/repository.d.ts +638 -0
  822. package/dist/lifeops/repository.d.ts.map +1 -0
  823. package/dist/lifeops/repository.js +6289 -0
  824. package/dist/lifeops/repository.js.map +1 -0
  825. package/dist/lifeops/runtime-cache.d.ts +4 -0
  826. package/dist/lifeops/runtime-cache.d.ts.map +1 -0
  827. package/dist/lifeops/runtime-cache.js +7 -0
  828. package/dist/lifeops/runtime-cache.js.map +1 -0
  829. package/dist/lifeops/runtime-service-delegates.d.ts +236 -0
  830. package/dist/lifeops/runtime-service-delegates.d.ts.map +1 -0
  831. package/dist/lifeops/runtime-service-delegates.js +839 -0
  832. package/dist/lifeops/runtime-service-delegates.js.map +1 -0
  833. package/dist/lifeops/runtime.d.ts +13 -0
  834. package/dist/lifeops/runtime.d.ts.map +1 -0
  835. package/dist/lifeops/runtime.js +104 -0
  836. package/dist/lifeops/runtime.js.map +1 -0
  837. package/dist/lifeops/schedule-insight.d.ts +133 -0
  838. package/dist/lifeops/schedule-insight.d.ts.map +1 -0
  839. package/dist/lifeops/schedule-insight.js +726 -0
  840. package/dist/lifeops/schedule-insight.js.map +1 -0
  841. package/dist/lifeops/schedule-state.d.ts +39 -0
  842. package/dist/lifeops/schedule-state.d.ts.map +1 -0
  843. package/dist/lifeops/schedule-state.js +671 -0
  844. package/dist/lifeops/schedule-state.js.map +1 -0
  845. package/dist/lifeops/schedule-sync-config.d.ts +3 -0
  846. package/dist/lifeops/schedule-sync-config.d.ts.map +1 -0
  847. package/dist/lifeops/schedule-sync-config.js +23 -0
  848. package/dist/lifeops/schedule-sync-config.js.map +1 -0
  849. package/dist/lifeops/schedule-sync-contracts.d.ts +2 -0
  850. package/dist/lifeops/schedule-sync-contracts.d.ts.map +1 -0
  851. package/dist/lifeops/schedule-sync-contracts.js +2 -0
  852. package/dist/lifeops/schedule-sync-contracts.js.map +1 -0
  853. package/dist/lifeops/scheduled-task/index.d.ts +13 -0
  854. package/dist/lifeops/scheduled-task/index.d.ts.map +1 -0
  855. package/dist/lifeops/scheduled-task/index.js +14 -0
  856. package/dist/lifeops/scheduled-task/index.js.map +1 -0
  857. package/dist/lifeops/scheduled-task/runtime-wiring.d.ts +33 -0
  858. package/dist/lifeops/scheduled-task/runtime-wiring.d.ts.map +1 -0
  859. package/dist/lifeops/scheduled-task/runtime-wiring.js +334 -0
  860. package/dist/lifeops/scheduled-task/runtime-wiring.js.map +1 -0
  861. package/dist/lifeops/scheduled-task/scheduler.d.ts +28 -0
  862. package/dist/lifeops/scheduled-task/scheduler.d.ts.map +1 -0
  863. package/dist/lifeops/scheduled-task/scheduler.js +202 -0
  864. package/dist/lifeops/scheduled-task/scheduler.js.map +1 -0
  865. package/dist/lifeops/scheduled-task/service.d.ts +61 -0
  866. package/dist/lifeops/scheduled-task/service.d.ts.map +1 -0
  867. package/dist/lifeops/scheduled-task/service.js +64 -0
  868. package/dist/lifeops/scheduled-task/service.js.map +1 -0
  869. package/dist/lifeops/scheduler-task.d.ts +19 -0
  870. package/dist/lifeops/scheduler-task.d.ts.map +1 -0
  871. package/dist/lifeops/scheduler-task.js +201 -0
  872. package/dist/lifeops/scheduler-task.js.map +1 -0
  873. package/dist/lifeops/schema.d.ts +28068 -0
  874. package/dist/lifeops/schema.d.ts.map +1 -0
  875. package/dist/lifeops/schema.js +1689 -0
  876. package/dist/lifeops/schema.js.map +1 -0
  877. package/dist/lifeops/screen-context.d.ts +66 -0
  878. package/dist/lifeops/screen-context.d.ts.map +1 -0
  879. package/dist/lifeops/screen-context.js +347 -0
  880. package/dist/lifeops/screen-context.js.map +1 -0
  881. package/dist/lifeops/seed-routine-migration/migrator.d.ts +113 -0
  882. package/dist/lifeops/seed-routine-migration/migrator.d.ts.map +1 -0
  883. package/dist/lifeops/seed-routine-migration/migrator.js +142 -0
  884. package/dist/lifeops/seed-routine-migration/migrator.js.map +1 -0
  885. package/dist/lifeops/seed-routines.d.ts +24 -0
  886. package/dist/lifeops/seed-routines.d.ts.map +1 -0
  887. package/dist/lifeops/seed-routines.js +140 -0
  888. package/dist/lifeops/seed-routines.js.map +1 -0
  889. package/dist/lifeops/send-policy/contract.d.ts +81 -0
  890. package/dist/lifeops/send-policy/contract.d.ts.map +1 -0
  891. package/dist/lifeops/send-policy/contract.js +1 -0
  892. package/dist/lifeops/send-policy/contract.js.map +1 -0
  893. package/dist/lifeops/send-policy/index.d.ts +3 -0
  894. package/dist/lifeops/send-policy/index.d.ts.map +1 -0
  895. package/dist/lifeops/send-policy/index.js +13 -0
  896. package/dist/lifeops/send-policy/index.js.map +1 -0
  897. package/dist/lifeops/send-policy/registry.d.ts +7 -0
  898. package/dist/lifeops/send-policy/registry.d.ts.map +1 -0
  899. package/dist/lifeops/send-policy/registry.js +62 -0
  900. package/dist/lifeops/send-policy/registry.js.map +1 -0
  901. package/dist/lifeops/sensitive-request-delivery.d.ts +46 -0
  902. package/dist/lifeops/sensitive-request-delivery.d.ts.map +1 -0
  903. package/dist/lifeops/sensitive-request-delivery.js +103 -0
  904. package/dist/lifeops/sensitive-request-delivery.js.map +1 -0
  905. package/dist/lifeops/service-constants.d.ts +10 -0
  906. package/dist/lifeops/service-constants.d.ts.map +1 -0
  907. package/dist/lifeops/service-constants.js +129 -0
  908. package/dist/lifeops/service-constants.js.map +1 -0
  909. package/dist/lifeops/service-helpers-browser.d.ts +41 -0
  910. package/dist/lifeops/service-helpers-browser.d.ts.map +1 -0
  911. package/dist/lifeops/service-helpers-browser.js +290 -0
  912. package/dist/lifeops/service-helpers-browser.js.map +1 -0
  913. package/dist/lifeops/service-helpers-misc.d.ts +68 -0
  914. package/dist/lifeops/service-helpers-misc.d.ts.map +1 -0
  915. package/dist/lifeops/service-helpers-misc.js +531 -0
  916. package/dist/lifeops/service-helpers-misc.js.map +1 -0
  917. package/dist/lifeops/service-helpers-occurrence.d.ts +23 -0
  918. package/dist/lifeops/service-helpers-occurrence.d.ts.map +1 -0
  919. package/dist/lifeops/service-helpers-occurrence.js +257 -0
  920. package/dist/lifeops/service-helpers-occurrence.js.map +1 -0
  921. package/dist/lifeops/service-helpers-reminder.d.ts +260 -0
  922. package/dist/lifeops/service-helpers-reminder.d.ts.map +1 -0
  923. package/dist/lifeops/service-helpers-reminder.js +1186 -0
  924. package/dist/lifeops/service-helpers-reminder.js.map +1 -0
  925. package/dist/lifeops/service-mixin-browser.d.ts +31 -0
  926. package/dist/lifeops/service-mixin-browser.d.ts.map +1 -0
  927. package/dist/lifeops/service-mixin-browser.js +975 -0
  928. package/dist/lifeops/service-mixin-browser.js.map +1 -0
  929. package/dist/lifeops/service-mixin-calendar.d.ts +53 -0
  930. package/dist/lifeops/service-mixin-calendar.d.ts.map +1 -0
  931. package/dist/lifeops/service-mixin-calendar.js +68 -0
  932. package/dist/lifeops/service-mixin-calendar.js.map +1 -0
  933. package/dist/lifeops/service-mixin-core.d.ts +51 -0
  934. package/dist/lifeops/service-mixin-core.d.ts.map +1 -0
  935. package/dist/lifeops/service-mixin-core.js +500 -0
  936. package/dist/lifeops/service-mixin-core.js.map +1 -0
  937. package/dist/lifeops/service-mixin-definitions.d.ts +14 -0
  938. package/dist/lifeops/service-mixin-definitions.d.ts.map +1 -0
  939. package/dist/lifeops/service-mixin-definitions.js +470 -0
  940. package/dist/lifeops/service-mixin-definitions.js.map +1 -0
  941. package/dist/lifeops/service-mixin-discord.d.ts +49 -0
  942. package/dist/lifeops/service-mixin-discord.d.ts.map +1 -0
  943. package/dist/lifeops/service-mixin-discord.js +1253 -0
  944. package/dist/lifeops/service-mixin-discord.js.map +1 -0
  945. package/dist/lifeops/service-mixin-drive.d.ts +96 -0
  946. package/dist/lifeops/service-mixin-drive.d.ts.map +1 -0
  947. package/dist/lifeops/service-mixin-drive.js +213 -0
  948. package/dist/lifeops/service-mixin-drive.js.map +1 -0
  949. package/dist/lifeops/service-mixin-email-unsubscribe.d.ts +23 -0
  950. package/dist/lifeops/service-mixin-email-unsubscribe.d.ts.map +1 -0
  951. package/dist/lifeops/service-mixin-email-unsubscribe.js +27 -0
  952. package/dist/lifeops/service-mixin-email-unsubscribe.js.map +1 -0
  953. package/dist/lifeops/service-mixin-gmail.d.ts +43 -0
  954. package/dist/lifeops/service-mixin-gmail.d.ts.map +1 -0
  955. package/dist/lifeops/service-mixin-gmail.js +727 -0
  956. package/dist/lifeops/service-mixin-gmail.js.map +1 -0
  957. package/dist/lifeops/service-mixin-goals.d.ts +22 -0
  958. package/dist/lifeops/service-mixin-goals.d.ts.map +1 -0
  959. package/dist/lifeops/service-mixin-goals.js +884 -0
  960. package/dist/lifeops/service-mixin-goals.js.map +1 -0
  961. package/dist/lifeops/service-mixin-google.d.ts +13 -0
  962. package/dist/lifeops/service-mixin-google.d.ts.map +1 -0
  963. package/dist/lifeops/service-mixin-google.js +398 -0
  964. package/dist/lifeops/service-mixin-google.js.map +1 -0
  965. package/dist/lifeops/service-mixin-health.d.ts +27 -0
  966. package/dist/lifeops/service-mixin-health.d.ts.map +1 -0
  967. package/dist/lifeops/service-mixin-health.js +670 -0
  968. package/dist/lifeops/service-mixin-health.js.map +1 -0
  969. package/dist/lifeops/service-mixin-imessage.d.ts +106 -0
  970. package/dist/lifeops/service-mixin-imessage.d.ts.map +1 -0
  971. package/dist/lifeops/service-mixin-imessage.js +303 -0
  972. package/dist/lifeops/service-mixin-imessage.js.map +1 -0
  973. package/dist/lifeops/service-mixin-inbox.d.ts +55 -0
  974. package/dist/lifeops/service-mixin-inbox.d.ts.map +1 -0
  975. package/dist/lifeops/service-mixin-inbox.js +597 -0
  976. package/dist/lifeops/service-mixin-inbox.js.map +1 -0
  977. package/dist/lifeops/service-mixin-relationships.d.ts +65 -0
  978. package/dist/lifeops/service-mixin-relationships.d.ts.map +1 -0
  979. package/dist/lifeops/service-mixin-relationships.js +150 -0
  980. package/dist/lifeops/service-mixin-relationships.js.map +1 -0
  981. package/dist/lifeops/service-mixin-reminders.d.ts +62 -0
  982. package/dist/lifeops/service-mixin-reminders.d.ts.map +1 -0
  983. package/dist/lifeops/service-mixin-reminders.js +4003 -0
  984. package/dist/lifeops/service-mixin-reminders.js.map +1 -0
  985. package/dist/lifeops/service-mixin-scheduling.d.ts +53 -0
  986. package/dist/lifeops/service-mixin-scheduling.d.ts.map +1 -0
  987. package/dist/lifeops/service-mixin-scheduling.js +405 -0
  988. package/dist/lifeops/service-mixin-scheduling.js.map +1 -0
  989. package/dist/lifeops/service-mixin-screentime.d.ts +71 -0
  990. package/dist/lifeops/service-mixin-screentime.d.ts.map +1 -0
  991. package/dist/lifeops/service-mixin-screentime.js +530 -0
  992. package/dist/lifeops/service-mixin-screentime.js.map +1 -0
  993. package/dist/lifeops/service-mixin-signal.d.ts +74 -0
  994. package/dist/lifeops/service-mixin-signal.d.ts.map +1 -0
  995. package/dist/lifeops/service-mixin-signal.js +214 -0
  996. package/dist/lifeops/service-mixin-signal.js.map +1 -0
  997. package/dist/lifeops/service-mixin-sleep.d.ts +68 -0
  998. package/dist/lifeops/service-mixin-sleep.d.ts.map +1 -0
  999. package/dist/lifeops/service-mixin-sleep.js +43 -0
  1000. package/dist/lifeops/service-mixin-sleep.js.map +1 -0
  1001. package/dist/lifeops/service-mixin-status.d.ts +31 -0
  1002. package/dist/lifeops/service-mixin-status.d.ts.map +1 -0
  1003. package/dist/lifeops/service-mixin-status.js +373 -0
  1004. package/dist/lifeops/service-mixin-status.js.map +1 -0
  1005. package/dist/lifeops/service-mixin-subscriptions.d.ts +101 -0
  1006. package/dist/lifeops/service-mixin-subscriptions.d.ts.map +1 -0
  1007. package/dist/lifeops/service-mixin-subscriptions.js +50 -0
  1008. package/dist/lifeops/service-mixin-subscriptions.js.map +1 -0
  1009. package/dist/lifeops/service-mixin-telegram.d.ts +104 -0
  1010. package/dist/lifeops/service-mixin-telegram.d.ts.map +1 -0
  1011. package/dist/lifeops/service-mixin-telegram.js +280 -0
  1012. package/dist/lifeops/service-mixin-telegram.js.map +1 -0
  1013. package/dist/lifeops/service-mixin-travel.d.ts +66 -0
  1014. package/dist/lifeops/service-mixin-travel.d.ts.map +1 -0
  1015. package/dist/lifeops/service-mixin-travel.js +275 -0
  1016. package/dist/lifeops/service-mixin-travel.js.map +1 -0
  1017. package/dist/lifeops/service-mixin-whatsapp.d.ts +96 -0
  1018. package/dist/lifeops/service-mixin-whatsapp.d.ts.map +1 -0
  1019. package/dist/lifeops/service-mixin-whatsapp.js +186 -0
  1020. package/dist/lifeops/service-mixin-whatsapp.js.map +1 -0
  1021. package/dist/lifeops/service-mixin-workflows.d.ts +15 -0
  1022. package/dist/lifeops/service-mixin-workflows.d.ts.map +1 -0
  1023. package/dist/lifeops/service-mixin-workflows.js +710 -0
  1024. package/dist/lifeops/service-mixin-workflows.js.map +1 -0
  1025. package/dist/lifeops/service-mixin-x-read.d.ts +31 -0
  1026. package/dist/lifeops/service-mixin-x-read.d.ts.map +1 -0
  1027. package/dist/lifeops/service-mixin-x-read.js +267 -0
  1028. package/dist/lifeops/service-mixin-x-read.js.map +1 -0
  1029. package/dist/lifeops/service-mixin-x.d.ts +66 -0
  1030. package/dist/lifeops/service-mixin-x.d.ts.map +1 -0
  1031. package/dist/lifeops/service-mixin-x.js +501 -0
  1032. package/dist/lifeops/service-mixin-x.js.map +1 -0
  1033. package/dist/lifeops/service-normalize-connector.d.ts +19 -0
  1034. package/dist/lifeops/service-normalize-connector.d.ts.map +1 -0
  1035. package/dist/lifeops/service-normalize-connector.js +816 -0
  1036. package/dist/lifeops/service-normalize-connector.js.map +1 -0
  1037. package/dist/lifeops/service-normalize-gmail.d.ts +11 -0
  1038. package/dist/lifeops/service-normalize-gmail.d.ts.map +1 -0
  1039. package/dist/lifeops/service-normalize-gmail.js +85 -0
  1040. package/dist/lifeops/service-normalize-gmail.js.map +1 -0
  1041. package/dist/lifeops/service-normalize-task.d.ts +9 -0
  1042. package/dist/lifeops/service-normalize-task.d.ts.map +1 -0
  1043. package/dist/lifeops/service-normalize-task.js +567 -0
  1044. package/dist/lifeops/service-normalize-task.js.map +1 -0
  1045. package/dist/lifeops/service-normalize.d.ts +9 -0
  1046. package/dist/lifeops/service-normalize.d.ts.map +1 -0
  1047. package/dist/lifeops/service-normalize.js +53 -0
  1048. package/dist/lifeops/service-normalize.js.map +1 -0
  1049. package/dist/lifeops/service-types.d.ts +75 -0
  1050. package/dist/lifeops/service-types.d.ts.map +1 -0
  1051. package/dist/lifeops/service-types.js +5 -0
  1052. package/dist/lifeops/service-types.js.map +1 -0
  1053. package/dist/lifeops/service.d.ts +482 -0
  1054. package/dist/lifeops/service.d.ts.map +1 -0
  1055. package/dist/lifeops/service.js +62 -0
  1056. package/dist/lifeops/service.js.map +1 -0
  1057. package/dist/lifeops/signal-runtime-config.d.ts +13 -0
  1058. package/dist/lifeops/signal-runtime-config.d.ts.map +1 -0
  1059. package/dist/lifeops/signal-runtime-config.js +44 -0
  1060. package/dist/lifeops/signal-runtime-config.js.map +1 -0
  1061. package/dist/lifeops/signals/bus.d.ts +78 -0
  1062. package/dist/lifeops/signals/bus.d.ts.map +1 -0
  1063. package/dist/lifeops/signals/bus.js +117 -0
  1064. package/dist/lifeops/signals/bus.js.map +1 -0
  1065. package/dist/lifeops/sql.d.ts +65 -0
  1066. package/dist/lifeops/sql.d.ts.map +1 -0
  1067. package/dist/lifeops/sql.js +182 -0
  1068. package/dist/lifeops/sql.js.map +1 -0
  1069. package/dist/lifeops/stretch-decider.d.ts +73 -0
  1070. package/dist/lifeops/stretch-decider.d.ts.map +1 -0
  1071. package/dist/lifeops/stretch-decider.js +49 -0
  1072. package/dist/lifeops/stretch-decider.js.map +1 -0
  1073. package/dist/lifeops/telemetry-mapping.d.ts +14 -0
  1074. package/dist/lifeops/telemetry-mapping.d.ts.map +1 -0
  1075. package/dist/lifeops/telemetry-mapping.js +115 -0
  1076. package/dist/lifeops/telemetry-mapping.js.map +1 -0
  1077. package/dist/lifeops/telemetry-retention.d.ts +21 -0
  1078. package/dist/lifeops/telemetry-retention.d.ts.map +1 -0
  1079. package/dist/lifeops/telemetry-retention.js +13 -0
  1080. package/dist/lifeops/telemetry-retention.js.map +1 -0
  1081. package/dist/lifeops/time/timezone.d.ts +4 -0
  1082. package/dist/lifeops/time/timezone.d.ts.map +1 -0
  1083. package/dist/lifeops/time/timezone.js +154 -0
  1084. package/dist/lifeops/time/timezone.js.map +1 -0
  1085. package/dist/lifeops/time-util.d.ts +10 -0
  1086. package/dist/lifeops/time-util.d.ts.map +1 -0
  1087. package/dist/lifeops/time-util.js +14 -0
  1088. package/dist/lifeops/time-util.js.map +1 -0
  1089. package/dist/lifeops/time.d.ts +17 -0
  1090. package/dist/lifeops/time.d.ts.map +1 -0
  1091. package/dist/lifeops/time.js +152 -0
  1092. package/dist/lifeops/time.js.map +1 -0
  1093. package/dist/lifeops/travel-booking.types.d.ts +46 -0
  1094. package/dist/lifeops/travel-booking.types.d.ts.map +1 -0
  1095. package/dist/lifeops/travel-booking.types.js +1 -0
  1096. package/dist/lifeops/travel-booking.types.js.map +1 -0
  1097. package/dist/lifeops/triggers/schedule-once.d.ts +19 -0
  1098. package/dist/lifeops/triggers/schedule-once.d.ts.map +1 -0
  1099. package/dist/lifeops/triggers/schedule-once.js +99 -0
  1100. package/dist/lifeops/triggers/schedule-once.js.map +1 -0
  1101. package/dist/lifeops/validate/coding-task-request.d.ts +18 -0
  1102. package/dist/lifeops/validate/coding-task-request.d.ts.map +1 -0
  1103. package/dist/lifeops/validate/coding-task-request.js +16 -0
  1104. package/dist/lifeops/validate/coding-task-request.js.map +1 -0
  1105. package/dist/lifeops/voice/grounded-reply.d.ts +41 -0
  1106. package/dist/lifeops/voice/grounded-reply.d.ts.map +1 -0
  1107. package/dist/lifeops/voice/grounded-reply.js +24 -0
  1108. package/dist/lifeops/voice/grounded-reply.js.map +1 -0
  1109. package/dist/lifeops/voice-affect.d.ts +79 -0
  1110. package/dist/lifeops/voice-affect.d.ts.map +1 -0
  1111. package/dist/lifeops/voice-affect.js +253 -0
  1112. package/dist/lifeops/voice-affect.js.map +1 -0
  1113. package/dist/lifeops/wave1-types.d.ts +125 -0
  1114. package/dist/lifeops/wave1-types.d.ts.map +1 -0
  1115. package/dist/lifeops/wave1-types.js +1 -0
  1116. package/dist/lifeops/wave1-types.js.map +1 -0
  1117. package/dist/lifeops/work-threads/field-evaluator-thread-ops.d.ts +33 -0
  1118. package/dist/lifeops/work-threads/field-evaluator-thread-ops.d.ts.map +1 -0
  1119. package/dist/lifeops/work-threads/field-evaluator-thread-ops.js +226 -0
  1120. package/dist/lifeops/work-threads/field-evaluator-thread-ops.js.map +1 -0
  1121. package/dist/lifeops/work-threads/index.d.ts +3 -0
  1122. package/dist/lifeops/work-threads/index.d.ts.map +1 -0
  1123. package/dist/lifeops/work-threads/index.js +7 -0
  1124. package/dist/lifeops/work-threads/index.js.map +1 -0
  1125. package/dist/lifeops/work-threads/store.d.ts +91 -0
  1126. package/dist/lifeops/work-threads/store.d.ts.map +1 -0
  1127. package/dist/lifeops/work-threads/store.js +245 -0
  1128. package/dist/lifeops/work-threads/store.js.map +1 -0
  1129. package/dist/lifeops/work-threads/types.d.ts +58 -0
  1130. package/dist/lifeops/work-threads/types.d.ts.map +1 -0
  1131. package/dist/lifeops/work-threads/types.js +1 -0
  1132. package/dist/lifeops/work-threads/types.js.map +1 -0
  1133. package/dist/platform/host.d.ts +16 -0
  1134. package/dist/platform/host.d.ts.map +1 -0
  1135. package/dist/platform/host.js +22 -0
  1136. package/dist/platform/host.js.map +1 -0
  1137. package/dist/platform/index.d.ts +3 -0
  1138. package/dist/platform/index.d.ts.map +1 -0
  1139. package/dist/platform/index.js +3 -0
  1140. package/dist/platform/index.js.map +1 -0
  1141. package/dist/platform/lifeops-github.d.ts +15 -0
  1142. package/dist/platform/lifeops-github.d.ts.map +1 -0
  1143. package/dist/platform/lifeops-github.js +146 -0
  1144. package/dist/platform/lifeops-github.js.map +1 -0
  1145. package/dist/plugin.d.ts +106 -0
  1146. package/dist/plugin.d.ts.map +1 -0
  1147. package/dist/plugin.js +989 -0
  1148. package/dist/plugin.js.map +1 -0
  1149. package/dist/provider.d.ts +4 -0
  1150. package/dist/provider.d.ts.map +1 -0
  1151. package/dist/provider.js +108 -0
  1152. package/dist/provider.js.map +1 -0
  1153. package/dist/providers/activity-profile.d.ts +3 -0
  1154. package/dist/providers/activity-profile.d.ts.map +1 -0
  1155. package/dist/providers/activity-profile.js +140 -0
  1156. package/dist/providers/activity-profile.js.map +1 -0
  1157. package/dist/providers/cross-channel-context.d.ts +29 -0
  1158. package/dist/providers/cross-channel-context.d.ts.map +1 -0
  1159. package/dist/providers/cross-channel-context.js +206 -0
  1160. package/dist/providers/cross-channel-context.js.map +1 -0
  1161. package/dist/providers/first-run.d.ts +22 -0
  1162. package/dist/providers/first-run.d.ts.map +1 -0
  1163. package/dist/providers/first-run.js +93 -0
  1164. package/dist/providers/first-run.js.map +1 -0
  1165. package/dist/providers/health.d.ts +2 -0
  1166. package/dist/providers/health.d.ts.map +1 -0
  1167. package/dist/providers/health.js +14 -0
  1168. package/dist/providers/health.js.map +1 -0
  1169. package/dist/providers/inbox-triage.d.ts +3 -0
  1170. package/dist/providers/inbox-triage.d.ts.map +1 -0
  1171. package/dist/providers/inbox-triage.js +134 -0
  1172. package/dist/providers/inbox-triage.js.map +1 -0
  1173. package/dist/providers/lifeops.d.ts +3 -0
  1174. package/dist/providers/lifeops.d.ts.map +1 -0
  1175. package/dist/providers/lifeops.js +548 -0
  1176. package/dist/providers/lifeops.js.map +1 -0
  1177. package/dist/providers/pending-prompts.d.ts +38 -0
  1178. package/dist/providers/pending-prompts.d.ts.map +1 -0
  1179. package/dist/providers/pending-prompts.js +81 -0
  1180. package/dist/providers/pending-prompts.js.map +1 -0
  1181. package/dist/providers/recent-task-states.d.ts +52 -0
  1182. package/dist/providers/recent-task-states.d.ts.map +1 -0
  1183. package/dist/providers/recent-task-states.js +166 -0
  1184. package/dist/providers/recent-task-states.js.map +1 -0
  1185. package/dist/providers/room-policy.d.ts +16 -0
  1186. package/dist/providers/room-policy.d.ts.map +1 -0
  1187. package/dist/providers/room-policy.js +71 -0
  1188. package/dist/providers/room-policy.js.map +1 -0
  1189. package/dist/providers/work-threads.d.ts +3 -0
  1190. package/dist/providers/work-threads.d.ts.map +1 -0
  1191. package/dist/providers/work-threads.js +97 -0
  1192. package/dist/providers/work-threads.js.map +1 -0
  1193. package/dist/public.d.ts +3 -0
  1194. package/dist/public.d.ts.map +1 -0
  1195. package/dist/public.js +17 -0
  1196. package/dist/public.js.map +1 -0
  1197. package/dist/routes/cloud-features-routes.d.ts +9 -0
  1198. package/dist/routes/cloud-features-routes.d.ts.map +1 -0
  1199. package/dist/routes/cloud-features-routes.js +164 -0
  1200. package/dist/routes/cloud-features-routes.js.map +1 -0
  1201. package/dist/routes/entities.d.ts +14 -0
  1202. package/dist/routes/entities.d.ts.map +1 -0
  1203. package/dist/routes/entities.js +203 -0
  1204. package/dist/routes/entities.js.map +1 -0
  1205. package/dist/routes/lifeops-routes.d.ts +20 -0
  1206. package/dist/routes/lifeops-routes.d.ts.map +1 -0
  1207. package/dist/routes/lifeops-routes.js +2337 -0
  1208. package/dist/routes/lifeops-routes.js.map +1 -0
  1209. package/dist/routes/plugin.d.ts +9 -0
  1210. package/dist/routes/plugin.d.ts.map +1 -0
  1211. package/dist/routes/plugin.js +568 -0
  1212. package/dist/routes/plugin.js.map +1 -0
  1213. package/dist/routes/relationships.d.ts +13 -0
  1214. package/dist/routes/relationships.d.ts.map +1 -0
  1215. package/dist/routes/relationships.js +195 -0
  1216. package/dist/routes/relationships.js.map +1 -0
  1217. package/dist/routes/scheduled-tasks.d.ts +102 -0
  1218. package/dist/routes/scheduled-tasks.d.ts.map +1 -0
  1219. package/dist/routes/scheduled-tasks.js +322 -0
  1220. package/dist/routes/scheduled-tasks.js.map +1 -0
  1221. package/dist/routes/sleep-routes.d.ts +3 -0
  1222. package/dist/routes/sleep-routes.d.ts.map +1 -0
  1223. package/dist/routes/sleep-routes.js +33 -0
  1224. package/dist/routes/sleep-routes.js.map +1 -0
  1225. package/dist/routes/travel-provider-relay-routes.d.ts +2 -0
  1226. package/dist/routes/travel-provider-relay-routes.d.ts.map +1 -0
  1227. package/dist/routes/travel-provider-relay-routes.js +7 -0
  1228. package/dist/routes/travel-provider-relay-routes.js.map +1 -0
  1229. package/dist/routes/website-blocker-routes.d.ts +6 -0
  1230. package/dist/routes/website-blocker-routes.d.ts.map +1 -0
  1231. package/dist/routes/website-blocker-routes.js +218 -0
  1232. package/dist/routes/website-blocker-routes.js.map +1 -0
  1233. package/dist/security/action-confirmation.d.ts +12 -0
  1234. package/dist/security/action-confirmation.d.ts.map +1 -0
  1235. package/dist/security/action-confirmation.js +36 -0
  1236. package/dist/security/action-confirmation.js.map +1 -0
  1237. package/dist/service.d.ts +34 -0
  1238. package/dist/service.d.ts.map +1 -0
  1239. package/dist/service.js +111 -0
  1240. package/dist/service.js.map +1 -0
  1241. package/dist/travel-time/calendar-create.d.ts +17 -0
  1242. package/dist/travel-time/calendar-create.d.ts.map +1 -0
  1243. package/dist/travel-time/calendar-create.js +28 -0
  1244. package/dist/travel-time/calendar-create.js.map +1 -0
  1245. package/dist/travel-time/service.d.ts +114 -0
  1246. package/dist/travel-time/service.d.ts.map +1 -0
  1247. package/dist/travel-time/service.js +209 -0
  1248. package/dist/travel-time/service.js.map +1 -0
  1249. package/dist/types/app-blocker-settings-card.d.ts +2 -0
  1250. package/dist/types/app-blocker-settings-card.d.ts.map +1 -0
  1251. package/dist/types/app-blocker-settings-card.js +1 -0
  1252. package/dist/types/app-blocker-settings-card.js.map +1 -0
  1253. package/dist/types/briefing.d.ts +59 -0
  1254. package/dist/types/briefing.d.ts.map +1 -0
  1255. package/dist/types/briefing.js +1 -0
  1256. package/dist/types/briefing.js.map +1 -0
  1257. package/dist/types/document-request.d.ts +41 -0
  1258. package/dist/types/document-request.d.ts.map +1 -0
  1259. package/dist/types/document-request.js +1 -0
  1260. package/dist/types/document-request.js.map +1 -0
  1261. package/dist/types/index.d.ts +5 -0
  1262. package/dist/types/index.d.ts.map +1 -0
  1263. package/dist/types/index.js +1 -0
  1264. package/dist/types/index.js.map +1 -0
  1265. package/dist/types/website-blocker-settings-card.d.ts +2 -0
  1266. package/dist/types/website-blocker-settings-card.d.ts.map +1 -0
  1267. package/dist/types/website-blocker-settings-card.js +1 -0
  1268. package/dist/types/website-blocker-settings-card.js.map +1 -0
  1269. package/dist/ui.d.ts +13 -0
  1270. package/dist/ui.d.ts.map +1 -0
  1271. package/dist/ui.js +25 -0
  1272. package/dist/ui.js.map +1 -0
  1273. package/dist/utils/format-duration.d.ts +2 -0
  1274. package/dist/utils/format-duration.d.ts.map +1 -0
  1275. package/dist/utils/format-duration.js +13 -0
  1276. package/dist/utils/format-duration.js.map +1 -0
  1277. package/dist/utils/index.d.ts +3 -0
  1278. package/dist/utils/index.d.ts.map +1 -0
  1279. package/dist/utils/index.js +3 -0
  1280. package/dist/utils/index.js.map +1 -0
  1281. package/dist/utils/lifeops-url.d.ts +3 -0
  1282. package/dist/utils/lifeops-url.d.ts.map +1 -0
  1283. package/dist/utils/lifeops-url.js +28 -0
  1284. package/dist/utils/lifeops-url.js.map +1 -0
  1285. package/dist/website-blocker/chat-integration/block-activator.d.ts +32 -0
  1286. package/dist/website-blocker/chat-integration/block-activator.d.ts.map +1 -0
  1287. package/dist/website-blocker/chat-integration/block-activator.js +30 -0
  1288. package/dist/website-blocker/chat-integration/block-activator.js.map +1 -0
  1289. package/dist/website-blocker/chat-integration/block-rule-reconciler.d.ts +7 -0
  1290. package/dist/website-blocker/chat-integration/block-rule-reconciler.d.ts.map +1 -0
  1291. package/dist/website-blocker/chat-integration/block-rule-reconciler.js +115 -0
  1292. package/dist/website-blocker/chat-integration/block-rule-reconciler.js.map +1 -0
  1293. package/dist/website-blocker/chat-integration/block-rule-schema.d.ts +39 -0
  1294. package/dist/website-blocker/chat-integration/block-rule-schema.d.ts.map +1 -0
  1295. package/dist/website-blocker/chat-integration/block-rule-schema.js +133 -0
  1296. package/dist/website-blocker/chat-integration/block-rule-schema.js.map +1 -0
  1297. package/dist/website-blocker/chat-integration/block-rule-service.d.ts +21 -0
  1298. package/dist/website-blocker/chat-integration/block-rule-service.d.ts.map +1 -0
  1299. package/dist/website-blocker/chat-integration/block-rule-service.js +230 -0
  1300. package/dist/website-blocker/chat-integration/block-rule-service.js.map +1 -0
  1301. package/dist/website-blocker/chat-integration/harsh-mode-check.d.ts +13 -0
  1302. package/dist/website-blocker/chat-integration/harsh-mode-check.d.ts.map +1 -0
  1303. package/dist/website-blocker/chat-integration/harsh-mode-check.js +22 -0
  1304. package/dist/website-blocker/chat-integration/harsh-mode-check.js.map +1 -0
  1305. package/dist/website-blocker/chat-integration/index.d.ts +5 -0
  1306. package/dist/website-blocker/chat-integration/index.d.ts.map +1 -0
  1307. package/dist/website-blocker/chat-integration/index.js +26 -0
  1308. package/dist/website-blocker/chat-integration/index.js.map +1 -0
  1309. package/dist/website-blocker/proactive-block-bridge.d.ts +75 -0
  1310. package/dist/website-blocker/proactive-block-bridge.d.ts.map +1 -0
  1311. package/dist/website-blocker/proactive-block-bridge.js +154 -0
  1312. package/dist/website-blocker/proactive-block-bridge.js.map +1 -0
  1313. package/dist/website-blocker/public.d.ts +12 -0
  1314. package/dist/website-blocker/public.d.ts.map +1 -0
  1315. package/dist/website-blocker/public.js +51 -0
  1316. package/dist/website-blocker/public.js.map +1 -0
  1317. package/package.json +28 -28
@@ -0,0 +1,1084 @@
1
+ import { resolveKnowledgeGraphService } from "@elizaos/agent";
2
+ import { logger, ModelType, runWithTrajectoryContext } from "@elizaos/core";
3
+ import {
4
+ LIFEOPS_OCCURRENCE_STATES
5
+ } from "@elizaos/shared";
6
+ import { computeOverdueFollowups } from "../../followup/followup-tracker.js";
7
+ import {
8
+ computeMissedOccurrenceStreak,
9
+ computeOccurrenceStreaks
10
+ } from "../service-helpers-occurrence.js";
11
+ import { executeRawSql, parseJsonRecord, sqlQuote, toText } from "../sql.js";
12
+ import { buildUtcDateFromLocalParts, getZonedDateParts } from "../time.js";
13
+ const CHECKIN_REPORTS_TABLE = "app_lifeops.life_checkin_reports";
14
+ const ACK_WINDOW_MS = 72 * 60 * 60 * 1e3;
15
+ const DEFAULT_SECTION_LIMIT = 8;
16
+ const INTERNAL_URL = new URL("http://127.0.0.1/");
17
+ const ACTION_TEXT_RE = /\b(urgent|asap|blocked|deadline|today|tonight|tomorrow|confirm|review|send|reply|respond|need|please|important|agreement|agreed|promise|promised|follow up|circle back)\b/i;
18
+ const loggedMissingSources = /* @__PURE__ */ new Set();
19
+ function logMissingOnce(key, message) {
20
+ if (loggedMissingSources.has(key)) return;
21
+ loggedMissingSources.add(key);
22
+ logger.info(`[CheckinService] ${message}`);
23
+ }
24
+ function formatBedtimeHour(hour) {
25
+ if (hour === null || !Number.isFinite(hour)) {
26
+ return null;
27
+ }
28
+ const wrapped = (hour % 24 + 24) % 24;
29
+ const hh = Math.floor(wrapped);
30
+ const mm = Math.round((wrapped - hh) * 60);
31
+ const normHh = mm === 60 ? (hh + 1) % 24 : hh;
32
+ const normMm = mm === 60 ? 0 : mm;
33
+ return `${String(normHh).padStart(2, "0")}:${String(normMm).padStart(2, "0")}`;
34
+ }
35
+ function formatDurationMinutes(durationMin) {
36
+ if (durationMin === null || !Number.isFinite(durationMin) || durationMin <= 0) {
37
+ return null;
38
+ }
39
+ const hours = Math.floor(durationMin / 60);
40
+ const minutes = Math.round(durationMin - hours * 60);
41
+ if (hours === 0) return `${minutes}m`;
42
+ if (minutes === 0) return `${hours}h`;
43
+ return `${hours}h${minutes}m`;
44
+ }
45
+ function formatPromptScalar(value) {
46
+ if (value === null || value === void 0) {
47
+ return "null";
48
+ }
49
+ if (typeof value === "number" || typeof value === "boolean") {
50
+ return String(value);
51
+ }
52
+ const text = value instanceof Date ? value.toISOString() : String(value).trim();
53
+ return text.replace(/\s+/g, " ").trim();
54
+ }
55
+ function formatCheckinReportForPrompt(report) {
56
+ return JSON.stringify(report, (_key, value) => {
57
+ if (value instanceof Date) {
58
+ return value.toISOString();
59
+ }
60
+ if (typeof value === "string") {
61
+ return formatPromptScalar(value);
62
+ }
63
+ return value;
64
+ });
65
+ }
66
+ function buildCheckinSummaryPrompt(report) {
67
+ const lines = [
68
+ report.kind === "morning" ? "Write the owner's morning personal-assistant intro summary." : "Write the owner's night personal-assistant closeout summary.",
69
+ "This is generated from LifeOps source data. Do not invent facts.",
70
+ "Rank for genuinely interesting, important, reply-needed, or schedule-changing items.",
71
+ "Include X/socials (timeline, mentions, DMs), inboxes/messages/Discord, Gmail, GitHub, calendar changes, completed work, contacts, promises, agreements, and follow-ups when present.",
72
+ "When a source is unavailable, say that source is unavailable in one compact clause instead of pretending it was empty.",
73
+ report.kind === "morning" ? "Tone: concise start-of-day briefing, with what matters now and first next steps." : "Tone: concise evening recap sent before the owner's predicted bedtime, with what happened, loose ends, and tomorrow carry-forward.",
74
+ "Use short sections or tight bullets. No markdown table. No emojis."
75
+ ];
76
+ if (report.kind === "night" && report.sleepRecap) {
77
+ const recap = report.sleepRecap;
78
+ const bedtime = formatBedtimeHour(recap.medianBedtimeLocalHour);
79
+ const duration = formatDurationMinutes(recap.medianSleepDurationMin);
80
+ const recapBullets = [];
81
+ if (bedtime !== null) {
82
+ recapBullets.push(`- typical bedtime: ${bedtime} local`);
83
+ }
84
+ if (duration !== null) {
85
+ recapBullets.push(`- typical sleep duration: ${duration}`);
86
+ }
87
+ recapBullets.push(`- sleep regularity index (SRI): ${recap.sri}/100`);
88
+ recapBullets.push(`- regularity class: ${recap.regularityClass}`);
89
+ lines.push(
90
+ "",
91
+ "Sleep recap (use these facts only \u2014 do not invent sleep numbers):",
92
+ ...recapBullets,
93
+ 'Include a short "Sleep recap" section in the summary using these numbers when present. If `regularityClass` is `irregular` or `very_irregular`, suggest one concrete step toward consistency. If it is `insufficient_data`, say so plainly and skip recommendations.'
94
+ );
95
+ }
96
+ lines.push(
97
+ "",
98
+ "Report JSON:",
99
+ formatCheckinReportForPrompt(report),
100
+ "",
101
+ "Summary:"
102
+ );
103
+ return lines.join("\n");
104
+ }
105
+ function __resetCheckinMissingSourceLog() {
106
+ loggedMissingSources.clear();
107
+ }
108
+ function newReportId() {
109
+ const maybeCrypto = globalThis.crypto;
110
+ if (maybeCrypto?.randomUUID) return maybeCrypto.randomUUID();
111
+ return `checkin-${Date.now()}-${Math.random().toString(36).slice(2, 10)}`;
112
+ }
113
+ function clip(text, maxLength = 220) {
114
+ const trimmed = text.replace(/\s+/g, " ").trim();
115
+ if (trimmed.length <= maxLength) {
116
+ return trimmed;
117
+ }
118
+ return `${trimmed.slice(0, maxLength - 3).trimEnd()}...`;
119
+ }
120
+ function parseMs(value) {
121
+ if (!value) {
122
+ return null;
123
+ }
124
+ const ms = Date.parse(value);
125
+ return Number.isFinite(ms) ? ms : null;
126
+ }
127
+ function toBoolean(value) {
128
+ if (typeof value === "boolean") {
129
+ return value;
130
+ }
131
+ if (typeof value === "number") {
132
+ return value !== 0;
133
+ }
134
+ const text = toText(value).toLowerCase();
135
+ return text === "true" || text === "1" || text === "yes";
136
+ }
137
+ function summarizeCount(count, singular, plural = `${singular}s`) {
138
+ return `${count} ${count === 1 ? singular : plural}`;
139
+ }
140
+ function localDayWindow(date, timezone) {
141
+ const parts = getZonedDateParts(date, timezone);
142
+ const start = buildUtcDateFromLocalParts(timezone, {
143
+ year: parts.year,
144
+ month: parts.month,
145
+ day: parts.day,
146
+ hour: 0,
147
+ minute: 0,
148
+ second: 0
149
+ });
150
+ const end = buildUtcDateFromLocalParts(timezone, {
151
+ year: parts.year,
152
+ month: parts.month,
153
+ day: parts.day + 1,
154
+ hour: 0,
155
+ minute: 0,
156
+ second: 0
157
+ });
158
+ return {
159
+ start,
160
+ end,
161
+ key: `${parts.year}-${String(parts.month).padStart(2, "0")}-${String(parts.day).padStart(2, "0")}`
162
+ };
163
+ }
164
+ function rankTextSignal(args) {
165
+ const reasons = [];
166
+ let score = 0;
167
+ if (args.inbound) {
168
+ score += 20;
169
+ reasons.push("incoming");
170
+ }
171
+ if (args.unread) {
172
+ score += 15;
173
+ reasons.push("unread");
174
+ }
175
+ if (args.replyNeeded) {
176
+ score += 25;
177
+ reasons.push("needs reply");
178
+ }
179
+ if (args.important) {
180
+ score += 20;
181
+ reasons.push("important");
182
+ }
183
+ if (args.text.includes("?")) {
184
+ score += 10;
185
+ reasons.push("question");
186
+ }
187
+ if (ACTION_TEXT_RE.test(args.text)) {
188
+ score += 20;
189
+ reasons.push("action language");
190
+ }
191
+ const occurredAtMs = parseMs(args.occurredAt);
192
+ if (occurredAtMs !== null && Date.now() - occurredAtMs <= 24 * 60 * 60 * 1e3) {
193
+ score += 10;
194
+ reasons.push("recent");
195
+ }
196
+ return {
197
+ score,
198
+ reason: reasons.length > 0 ? reasons.join(", ") : null
199
+ };
200
+ }
201
+ function sortBriefingItems(entries) {
202
+ return entries.sort((left, right) => {
203
+ if (right.score !== left.score) {
204
+ return right.score - left.score;
205
+ }
206
+ return (parseMs(right.occurredAt) ?? 0) - (parseMs(left.occurredAt) ?? 0);
207
+ }).slice(0, DEFAULT_SECTION_LIMIT).map(({ score: _score, ...item }) => item);
208
+ }
209
+ function unavailableSection(key, title, message) {
210
+ return {
211
+ key,
212
+ title,
213
+ summary: `${title} unavailable.`,
214
+ items: [],
215
+ error: message
216
+ };
217
+ }
218
+ const LIFEOPS_OCCURRENCE_STATE_SET = new Set(
219
+ LIFEOPS_OCCURRENCE_STATES
220
+ );
221
+ function parseHabitOccurrenceState(value) {
222
+ const state = toText(value);
223
+ return LIFEOPS_OCCURRENCE_STATE_SET.has(state) ? state : null;
224
+ }
225
+ function asFiniteMs(value) {
226
+ if (typeof value !== "string") {
227
+ return null;
228
+ }
229
+ const parsed = Date.parse(value);
230
+ return Number.isFinite(parsed) ? parsed : null;
231
+ }
232
+ function resolvePausedUntil(metadata, now) {
233
+ const rawPauseUntil = metadata.pauseUntil;
234
+ if (typeof rawPauseUntil !== "string") {
235
+ return null;
236
+ }
237
+ const pauseUntil = rawPauseUntil.trim();
238
+ if (!pauseUntil) {
239
+ return null;
240
+ }
241
+ const pauseUntilMs = Date.parse(pauseUntil);
242
+ if (!Number.isFinite(pauseUntilMs) || pauseUntilMs <= now.getTime()) {
243
+ return null;
244
+ }
245
+ return new Date(pauseUntilMs).toISOString();
246
+ }
247
+ function buildHabitSummary(args) {
248
+ const pauseUntil = resolvePausedUntil(args.metadata, args.now);
249
+ const dueOccurrences = args.occurrences.filter((occurrence) => occurrence.dueAtMs <= args.now.getTime()).sort((left, right) => {
250
+ if (left.dueAtMs !== right.dueAtMs) {
251
+ return left.dueAtMs - right.dueAtMs;
252
+ }
253
+ return left.updatedAtMs - right.updatedAtMs;
254
+ });
255
+ const streakInput = dueOccurrences.map((occurrence) => ({
256
+ state: occurrence.state
257
+ }));
258
+ const completedStreak = computeOccurrenceStreaks(streakInput);
259
+ const missedStreak = computeMissedOccurrenceStreak(streakInput);
260
+ return {
261
+ definitionId: args.definitionId,
262
+ title: args.title,
263
+ kind: args.kind,
264
+ currentOccurrenceStreak: pauseUntil ? 0 : completedStreak.current,
265
+ bestOccurrenceStreak: completedStreak.best,
266
+ missedOccurrenceStreak: pauseUntil ? 0 : missedStreak.current,
267
+ pauseUntil,
268
+ isPaused: pauseUntil !== null
269
+ };
270
+ }
271
+ async function collectHabitSummaries(runtime, now) {
272
+ const agentId = String(runtime.agentId);
273
+ try {
274
+ const definitionRows = await executeRawSql(
275
+ runtime,
276
+ `SELECT id AS definition_id,
277
+ title AS definition_title,
278
+ kind AS definition_kind,
279
+ metadata_json AS definition_metadata_json
280
+ FROM app_lifeops.life_task_definitions
281
+ WHERE agent_id = ${sqlQuote(agentId)}
282
+ AND kind IN ('habit', 'routine')
283
+ AND status IN ('active', 'paused')
284
+ ORDER BY title ASC`
285
+ );
286
+ if (definitionRows.length === 0) {
287
+ return { rows: [], error: null, pausedDefinitionIds: /* @__PURE__ */ new Set() };
288
+ }
289
+ const occurrencesRows = await executeRawSql(
290
+ runtime,
291
+ `SELECT definition_id,
292
+ state AS occurrence_state,
293
+ due_at AS occurrence_due_at,
294
+ updated_at AS occurrence_updated_at
295
+ FROM app_lifeops.life_task_occurrences
296
+ WHERE agent_id = ${sqlQuote(agentId)}
297
+ AND definition_id IN (${definitionRows.map((row) => sqlQuote(toText(row.definition_id))).join(", ")})
298
+ ORDER BY definition_id ASC, due_at ASC, updated_at ASC`
299
+ );
300
+ const occurrencesByDefinitionId = /* @__PURE__ */ new Map();
301
+ for (const row of occurrencesRows) {
302
+ const definitionId = toText(row.definition_id);
303
+ const dueAtMs = asFiniteMs(toText(row.occurrence_due_at));
304
+ const updatedAtMs = asFiniteMs(toText(row.occurrence_updated_at));
305
+ const state = parseHabitOccurrenceState(row.occurrence_state);
306
+ if (!definitionId || dueAtMs === null || updatedAtMs === null || state === null) {
307
+ continue;
308
+ }
309
+ const current = occurrencesByDefinitionId.get(definitionId);
310
+ const nextOccurrence = {
311
+ state,
312
+ dueAtMs,
313
+ updatedAtMs
314
+ };
315
+ if (current) {
316
+ current.push(nextOccurrence);
317
+ } else {
318
+ occurrencesByDefinitionId.set(definitionId, [nextOccurrence]);
319
+ }
320
+ }
321
+ const summaries = [];
322
+ const pausedDefinitionIds = /* @__PURE__ */ new Set();
323
+ for (const row of definitionRows) {
324
+ const definitionId = toText(row.definition_id);
325
+ const title = toText(row.definition_title);
326
+ const kind = toText(row.definition_kind);
327
+ const metadata = parseJsonRecord(row.definition_metadata_json);
328
+ if (!definitionId || !title || kind !== "habit" && kind !== "routine") {
329
+ continue;
330
+ }
331
+ const summary = buildHabitSummary({
332
+ definitionId,
333
+ title,
334
+ kind,
335
+ metadata,
336
+ occurrences: occurrencesByDefinitionId.get(definitionId) ?? [],
337
+ now
338
+ });
339
+ if (summary.isPaused) {
340
+ pausedDefinitionIds.add(definitionId);
341
+ }
342
+ summaries.push(summary);
343
+ }
344
+ return { rows: summaries, error: null, pausedDefinitionIds };
345
+ } catch (error) {
346
+ const message = error instanceof Error ? error.message : String(error);
347
+ logMissingOnce(
348
+ "habit-summaries",
349
+ `habit summaries collector unavailable: ${message}`
350
+ );
351
+ return { rows: [], error: message, pausedDefinitionIds: /* @__PURE__ */ new Set() };
352
+ }
353
+ }
354
+ async function collectOverdueTodos(runtime, now, pausedDefinitionIds) {
355
+ const agentId = String(runtime.agentId);
356
+ const nowIso = now.toISOString();
357
+ try {
358
+ const rows = await executeRawSql(
359
+ runtime,
360
+ `SELECT occ.id AS id,
361
+ occ.definition_id AS definition_id,
362
+ COALESCE(def.title, '') AS title,
363
+ occ.due_at AS due_at
364
+ FROM app_lifeops.life_task_occurrences occ
365
+ LEFT JOIN app_lifeops.life_task_definitions def ON def.id = occ.definition_id
366
+ WHERE occ.agent_id = ${sqlQuote(agentId)}
367
+ AND occ.state IN ('pending', 'active', 'in_progress')
368
+ AND occ.due_at IS NOT NULL
369
+ AND occ.due_at < ${sqlQuote(nowIso)}
370
+ ORDER BY occ.due_at ASC
371
+ LIMIT 50`
372
+ );
373
+ return {
374
+ rows: rows.flatMap((row) => {
375
+ const definitionId = toText(row.definition_id);
376
+ if (definitionId && pausedDefinitionIds.has(definitionId)) {
377
+ return [];
378
+ }
379
+ return [
380
+ {
381
+ id: toText(row.id),
382
+ title: toText(row.title) || "(untitled)",
383
+ dueAt: row.due_at == null ? null : toText(row.due_at)
384
+ }
385
+ ];
386
+ }),
387
+ error: null
388
+ };
389
+ } catch (error) {
390
+ const message = error instanceof Error ? error.message : String(error);
391
+ logMissingOnce(
392
+ "overdue-todos",
393
+ `overdue-todos collector unavailable (app_lifeops.life_task_occurrences not ready): ${message}`
394
+ );
395
+ return { rows: [], error: message };
396
+ }
397
+ }
398
+ async function collectTodaysMeetings(runtime, now, timezone) {
399
+ const agentId = String(runtime.agentId);
400
+ const day = localDayWindow(now, timezone);
401
+ try {
402
+ const rows = await executeRawSql(
403
+ runtime,
404
+ `SELECT id, title, start_at, end_at
405
+ FROM app_calendar.life_calendar_events
406
+ WHERE agent_id = ${sqlQuote(agentId)}
407
+ AND start_at >= ${sqlQuote(day.start.toISOString())}
408
+ AND start_at < ${sqlQuote(day.end.toISOString())}
409
+ ORDER BY start_at ASC
410
+ LIMIT 50`
411
+ );
412
+ return {
413
+ rows: rows.map((row) => ({
414
+ id: toText(row.id),
415
+ title: toText(row.title) || "(untitled)",
416
+ startAt: toText(row.start_at),
417
+ endAt: toText(row.end_at)
418
+ })),
419
+ error: null
420
+ };
421
+ } catch (error) {
422
+ const message = error instanceof Error ? error.message : String(error);
423
+ logMissingOnce(
424
+ "todays-meetings",
425
+ `meetings collector unavailable (app_calendar.life_calendar_events not ready): ${message}`
426
+ );
427
+ return { rows: [], error: message };
428
+ }
429
+ }
430
+ async function collectCompletedWins(runtime, kind, now, timezone) {
431
+ const agentId = String(runtime.agentId);
432
+ const day = kind === "morning" ? localDayWindow(new Date(now.getTime() - 24 * 60 * 60 * 1e3), timezone) : localDayWindow(now, timezone);
433
+ const start = day.start;
434
+ const end = kind === "morning" ? day.end : now;
435
+ try {
436
+ const rows = await executeRawSql(
437
+ runtime,
438
+ `SELECT occ.id AS id,
439
+ COALESCE(def.title, '') AS title,
440
+ occ.updated_at AS completed_at
441
+ FROM app_lifeops.life_task_occurrences occ
442
+ LEFT JOIN app_lifeops.life_task_definitions def ON def.id = occ.definition_id
443
+ WHERE occ.agent_id = ${sqlQuote(agentId)}
444
+ AND occ.state = 'completed'
445
+ AND occ.updated_at >= ${sqlQuote(start.toISOString())}
446
+ AND occ.updated_at <= ${sqlQuote(end.toISOString())}
447
+ ORDER BY occ.updated_at DESC
448
+ LIMIT 50`
449
+ );
450
+ return {
451
+ rows: rows.map((row) => ({
452
+ id: toText(row.id),
453
+ title: toText(row.title) || "(untitled)",
454
+ completedAt: row.completed_at == null ? null : toText(row.completed_at)
455
+ })),
456
+ error: null
457
+ };
458
+ } catch (error) {
459
+ const message = error instanceof Error ? error.message : String(error);
460
+ logMissingOnce(
461
+ "yesterdays-wins",
462
+ `completed-wins collector unavailable: ${message}`
463
+ );
464
+ return { rows: [], error: message };
465
+ }
466
+ }
467
+ function clampEscalation(count) {
468
+ if (count <= 0) return 0;
469
+ if (count === 1) return 1;
470
+ if (count === 2) return 2;
471
+ return 3;
472
+ }
473
+ function resolveHabitEscalationLevel(summaries) {
474
+ const maxMissedStreak = summaries.reduce(
475
+ (max, summary) => Math.max(max, summary.missedOccurrenceStreak),
476
+ 0
477
+ );
478
+ return clampEscalation(maxMissedStreak);
479
+ }
480
+ async function collectXDmSection(source) {
481
+ if (!source?.syncXDms || !source.getXDms) {
482
+ return unavailableSection(
483
+ "x_dms",
484
+ "X DMs",
485
+ "X DM reader is not registered on this runtime."
486
+ );
487
+ }
488
+ try {
489
+ await source.syncXDms({ limit: 30 });
490
+ const dms = await source.getXDms({ limit: 30 });
491
+ const items = sortBriefingItems(
492
+ dms.map((dm) => {
493
+ const ranked = rankTextSignal({
494
+ text: dm.text,
495
+ occurredAt: dm.receivedAt,
496
+ inbound: dm.isInbound,
497
+ unread: dm.readAt === null,
498
+ replyNeeded: dm.isInbound && dm.repliedAt === null
499
+ });
500
+ return {
501
+ title: dm.senderHandle ? `@${dm.senderHandle}` : dm.senderId,
502
+ detail: clip(dm.text),
503
+ occurredAt: dm.receivedAt,
504
+ href: null,
505
+ reason: ranked.reason,
506
+ score: ranked.score
507
+ };
508
+ })
509
+ );
510
+ const actionNeeded = items.filter(
511
+ (item) => item.reason?.includes("needs reply")
512
+ ).length;
513
+ return {
514
+ key: "x_dms",
515
+ title: "X DMs",
516
+ summary: dms.length === 0 ? "No recent X DMs found." : `${summarizeCount(dms.length, "recent X DM")} checked; ${summarizeCount(actionNeeded, "looks reply-needed", "look reply-needed")}.`,
517
+ items,
518
+ error: null
519
+ };
520
+ } catch (error) {
521
+ const message = error instanceof Error ? error.message : String(error);
522
+ return unavailableSection("x_dms", "X DMs", message);
523
+ }
524
+ }
525
+ async function collectXFeedSection(source, key, feedType, title) {
526
+ if (!source?.syncXFeed || !source.getXFeedItems) {
527
+ return unavailableSection(
528
+ key,
529
+ title,
530
+ "X feed reader is not registered on this runtime."
531
+ );
532
+ }
533
+ try {
534
+ await source.syncXFeed(feedType, { limit: 30 });
535
+ const feedItems = await source.getXFeedItems(feedType, { limit: 30 });
536
+ const items = sortBriefingItems(
537
+ feedItems.map((feedItem) => {
538
+ const raw = feedItem.metadata.raw ?? {};
539
+ const referenceTypes = (raw.referenced_tweets ?? []).map((reference) => reference.type).filter((type) => typeof type === "string");
540
+ const isReply = referenceTypes.includes("replied_to");
541
+ const metrics = raw.public_metrics ?? {};
542
+ const engagement = metrics.like_count + metrics.reply_count * 3 + metrics.retweet_count * 2 + metrics.quote_count * 2;
543
+ const ranked = rankTextSignal({
544
+ text: feedItem.text,
545
+ occurredAt: feedItem.createdAtSource,
546
+ replyNeeded: isReply,
547
+ important: engagement >= 25
548
+ });
549
+ return {
550
+ title: feedItem.authorHandle ? `@${feedItem.authorHandle}` : feedItem.authorId,
551
+ detail: clip(feedItem.text),
552
+ occurredAt: feedItem.createdAtSource,
553
+ href: `https://x.com/i/web/status/${feedItem.externalTweetId}`,
554
+ reason: ranked.reason,
555
+ score: ranked.score + Math.min(30, engagement)
556
+ };
557
+ })
558
+ );
559
+ return {
560
+ key,
561
+ title,
562
+ summary: feedItems.length === 0 ? `No recent ${title.toLowerCase()} items found.` : `${summarizeCount(feedItems.length, "item")} scanned from ${title.toLowerCase()}.`,
563
+ items,
564
+ error: null
565
+ };
566
+ } catch (error) {
567
+ const message = error instanceof Error ? error.message : String(error);
568
+ return unavailableSection(key, title, message);
569
+ }
570
+ }
571
+ async function collectInboxSection(source) {
572
+ if (!source?.getInbox) {
573
+ return unavailableSection(
574
+ "inbox",
575
+ "Inbox",
576
+ "Inbox reader is not registered on this runtime."
577
+ );
578
+ }
579
+ try {
580
+ const inbox = await source.getInbox({ limit: 50 });
581
+ const counts = Object.entries(inbox.channelCounts).filter(([, count]) => count.total > 0).map(
582
+ ([channel, count]) => `${channel}: ${count.total}${count.unread > 0 ? `/${count.unread} unread` : ""}`
583
+ );
584
+ const items = sortBriefingItems(
585
+ inbox.messages.map((message) => {
586
+ const text = `${message.subject ?? ""} ${message.snippet}`;
587
+ const ranked = rankTextSignal({
588
+ text,
589
+ occurredAt: message.receivedAt,
590
+ unread: message.unread,
591
+ inbound: true
592
+ });
593
+ return {
594
+ title: `${message.channel}: ${message.sender.displayName}`,
595
+ detail: clip(
596
+ message.subject ? `${message.subject}: ${message.snippet}` : message.snippet
597
+ ),
598
+ occurredAt: message.receivedAt,
599
+ href: message.deepLink,
600
+ reason: ranked.reason,
601
+ score: ranked.score
602
+ };
603
+ })
604
+ );
605
+ return {
606
+ key: "inbox",
607
+ title: "Inbox",
608
+ summary: counts.length === 0 ? "No inbox items found across connected channels." : `Inbox channels scanned: ${counts.join(", ")}.`,
609
+ items,
610
+ error: null
611
+ };
612
+ } catch (error) {
613
+ const message = error instanceof Error ? error.message : String(error);
614
+ return unavailableSection("inbox", "Inbox", message);
615
+ }
616
+ }
617
+ async function collectGmailSection(source, now) {
618
+ if (!source?.getGmailTriage) {
619
+ return unavailableSection(
620
+ "gmail",
621
+ "Gmail",
622
+ "Gmail triage reader is not registered on this runtime."
623
+ );
624
+ }
625
+ try {
626
+ const feed = await source.getGmailTriage(
627
+ INTERNAL_URL,
628
+ { maxResults: 25 },
629
+ now
630
+ );
631
+ const items = sortBriefingItems(
632
+ feed.messages.map((message) => {
633
+ const text = `${message.subject} ${message.snippet}`;
634
+ const ranked = rankTextSignal({
635
+ text,
636
+ occurredAt: message.receivedAt,
637
+ unread: message.isUnread,
638
+ inbound: true,
639
+ replyNeeded: message.likelyReplyNeeded,
640
+ important: message.isImportant
641
+ });
642
+ return {
643
+ title: `${message.from || "Unknown"}${message.subject ? `: ${message.subject}` : ""}`,
644
+ detail: clip(message.snippet || message.triageReason),
645
+ occurredAt: message.receivedAt,
646
+ href: message.htmlLink,
647
+ reason: ranked.reason ?? (message.triageReason || null),
648
+ score: ranked.score + message.triageScore
649
+ };
650
+ })
651
+ );
652
+ return {
653
+ key: "gmail",
654
+ title: "Gmail",
655
+ summary: `${feed.summary.unreadCount} unread, ${feed.summary.importantNewCount} important, ${feed.summary.likelyReplyNeededCount} likely needing reply.`,
656
+ items,
657
+ error: null
658
+ };
659
+ } catch (error) {
660
+ const message = error instanceof Error ? error.message : String(error);
661
+ return unavailableSection("gmail", "Gmail", message);
662
+ }
663
+ }
664
+ async function collectCalendarChangeSection(runtime, now, timezone) {
665
+ const agentId = String(runtime.agentId);
666
+ const day = localDayWindow(now, timezone);
667
+ const sinceIso = new Date(now.getTime() - 24 * 60 * 60 * 1e3).toISOString();
668
+ try {
669
+ const rows = await executeRawSql(
670
+ runtime,
671
+ `SELECT title, start_at, end_at, status, html_link, updated_at
672
+ FROM app_calendar.life_calendar_events
673
+ WHERE agent_id = ${sqlQuote(agentId)}
674
+ AND side = 'owner'
675
+ AND (
676
+ (start_at >= ${sqlQuote(day.start.toISOString())}
677
+ AND start_at < ${sqlQuote(day.end.toISOString())})
678
+ OR updated_at >= ${sqlQuote(sinceIso)}
679
+ )
680
+ ORDER BY
681
+ CASE WHEN updated_at >= ${sqlQuote(sinceIso)} THEN 0 ELSE 1 END,
682
+ start_at ASC
683
+ LIMIT 40`
684
+ );
685
+ const todayCount = rows.filter((row) => {
686
+ const startMs = parseMs(toText(row.start_at));
687
+ return startMs !== null && startMs >= day.start.getTime() && startMs < day.end.getTime();
688
+ }).length;
689
+ const changedCount = rows.filter(
690
+ (row) => (parseMs(toText(row.updated_at)) ?? 0) >= Date.parse(sinceIso)
691
+ ).length;
692
+ const items = sortBriefingItems(
693
+ rows.map((row) => {
694
+ const status = toText(row.status);
695
+ const title = toText(row.title) || "(untitled event)";
696
+ const updatedAt = toText(row.updated_at) || null;
697
+ const isChanged = (parseMs(updatedAt) ?? 0) >= Date.parse(sinceIso);
698
+ const reason = status.toLowerCase() === "cancelled" ? "removed/cancelled" : isChanged ? "added or updated" : "on schedule";
699
+ return {
700
+ title,
701
+ detail: `${toText(row.start_at)} - ${toText(row.end_at)}${status ? ` (${status})` : ""}`,
702
+ occurredAt: updatedAt ?? toText(row.start_at),
703
+ href: toText(row.html_link) || null,
704
+ reason,
705
+ score: (isChanged ? 30 : 10) + (status === "cancelled" ? 30 : 0)
706
+ };
707
+ })
708
+ );
709
+ return {
710
+ key: "calendar_changes",
711
+ title: "Calendar and schedule changes",
712
+ summary: `${summarizeCount(todayCount, "event")} on today's calendar; ${summarizeCount(changedCount, "calendar item")} added or updated in the last 24h.`,
713
+ items,
714
+ error: null
715
+ };
716
+ } catch (error) {
717
+ const message = error instanceof Error ? error.message : String(error);
718
+ return unavailableSection(
719
+ "calendar_changes",
720
+ "Calendar and schedule changes",
721
+ message
722
+ );
723
+ }
724
+ }
725
+ async function collectGitHubSection(runtime, now, timezone) {
726
+ const agentId = String(runtime.agentId);
727
+ const day = localDayWindow(now, timezone);
728
+ const sinceIso = new Date(now.getTime() - 24 * 60 * 60 * 1e3).toISOString();
729
+ try {
730
+ const [mailRows, screenRows] = await Promise.all([
731
+ executeRawSql(
732
+ runtime,
733
+ `SELECT subject, from_display, snippet, received_at, html_link,
734
+ is_unread, is_important, likely_reply_needed, triage_score
735
+ FROM app_lifeops.life_gmail_messages
736
+ WHERE agent_id = ${sqlQuote(agentId)}
737
+ AND side = 'owner'
738
+ AND received_at >= ${sqlQuote(sinceIso)}
739
+ AND LOWER(COALESCE(subject, '') || ' ' || COALESCE(from_display, '') || ' ' || COALESCE(snippet, '')) LIKE '%github%'
740
+ ORDER BY received_at DESC
741
+ LIMIT 12`
742
+ ),
743
+ executeRawSql(
744
+ runtime,
745
+ `SELECT identifier, display_name, start_at, duration_seconds
746
+ FROM app_lifeops.life_screen_time_sessions
747
+ WHERE agent_id = ${sqlQuote(agentId)}
748
+ AND start_at >= ${sqlQuote(day.start.toISOString())}
749
+ AND start_at < ${sqlQuote(day.end.toISOString())}
750
+ AND LOWER(identifier || ' ' || display_name) LIKE '%github%'
751
+ ORDER BY start_at DESC
752
+ LIMIT 12`
753
+ )
754
+ ]);
755
+ const mailItems = mailRows.map((row) => {
756
+ const text = `${toText(row.subject)} ${toText(row.snippet)}`;
757
+ const ranked = rankTextSignal({
758
+ text,
759
+ occurredAt: toText(row.received_at),
760
+ unread: toBoolean(row.is_unread),
761
+ important: toBoolean(row.is_important),
762
+ replyNeeded: toBoolean(row.likely_reply_needed),
763
+ inbound: true
764
+ });
765
+ return {
766
+ title: `GitHub email: ${toText(row.subject) || "(no subject)"}`,
767
+ detail: clip(toText(row.snippet) || toText(row.from_display)),
768
+ occurredAt: toText(row.received_at) || null,
769
+ href: toText(row.html_link) || null,
770
+ reason: ranked.reason,
771
+ score: ranked.score + Number(row.triage_score ?? 0)
772
+ };
773
+ });
774
+ const screenItems = screenRows.map((row) => {
775
+ const minutes = Math.round(Number(row.duration_seconds ?? 0) / 60);
776
+ return {
777
+ title: `GitHub activity: ${toText(row.display_name) || toText(row.identifier)}`,
778
+ detail: `${minutes}m active`,
779
+ occurredAt: toText(row.start_at) || null,
780
+ href: null,
781
+ reason: "workspace activity",
782
+ score: 10 + Math.min(30, minutes)
783
+ };
784
+ });
785
+ const items = sortBriefingItems([...mailItems, ...screenItems]);
786
+ return {
787
+ key: "github",
788
+ title: "GitHub",
789
+ summary: items.length === 0 ? "No GitHub-specific email or activity signals found in the last day." : `${summarizeCount(mailRows.length, "GitHub email")} and ${summarizeCount(screenRows.length, "GitHub activity session")} found.`,
790
+ items,
791
+ error: null
792
+ };
793
+ } catch (error) {
794
+ const message = error instanceof Error ? error.message : String(error);
795
+ return unavailableSection("github", "GitHub", message);
796
+ }
797
+ }
798
+ async function collectContactSection(runtime, now, timezone) {
799
+ const agentId = String(runtime.agentId);
800
+ const day = localDayWindow(now, timezone);
801
+ try {
802
+ const rows = await executeRawSql(
803
+ runtime,
804
+ `SELECT relationship_id,
805
+ channel,
806
+ direction,
807
+ summary,
808
+ occurred_at
809
+ FROM app_lifeops.life_relationship_interactions
810
+ WHERE agent_id = ${sqlQuote(agentId)}
811
+ AND occurred_at >= ${sqlQuote(day.start.toISOString())}
812
+ AND occurred_at < ${sqlQuote(day.end.toISOString())}
813
+ ORDER BY occurred_at DESC
814
+ LIMIT 30`
815
+ );
816
+ const entityStore = resolveKnowledgeGraphService(runtime)?.getEntityStore(
817
+ runtime.agentId
818
+ );
819
+ const nameByEntityId = /* @__PURE__ */ new Map();
820
+ if (entityStore) {
821
+ const entityIds = new Set(
822
+ rows.map((row) => toText(row.relationship_id)).filter(Boolean)
823
+ );
824
+ for (const entityId of entityIds) {
825
+ const entity = await entityStore.get(entityId);
826
+ if (entity) {
827
+ nameByEntityId.set(entityId, entity.preferredName);
828
+ }
829
+ }
830
+ }
831
+ const nameFor = (row) => {
832
+ const entityId = toText(row.relationship_id);
833
+ return nameByEntityId.get(entityId) || entityId;
834
+ };
835
+ const uniqueNames = new Set(rows.map(nameFor).filter(Boolean));
836
+ const items = sortBriefingItems(
837
+ rows.map((row) => ({
838
+ title: `${nameFor(row) || "Unknown"} (${toText(row.channel) || "unknown"})`,
839
+ detail: clip(toText(row.summary) || toText(row.direction)),
840
+ occurredAt: toText(row.occurred_at) || null,
841
+ href: null,
842
+ reason: toText(row.direction) || null,
843
+ score: 20
844
+ }))
845
+ );
846
+ return {
847
+ key: "contacts",
848
+ title: "Contacts and conversations",
849
+ summary: rows.length === 0 ? "No relationship interactions logged today." : `${summarizeCount(uniqueNames.size, "person", "people")} contacted across ${summarizeCount(rows.length, "logged interaction")}.`,
850
+ items,
851
+ error: null
852
+ };
853
+ } catch (error) {
854
+ const message = error instanceof Error ? error.message : String(error);
855
+ return unavailableSection(
856
+ "contacts",
857
+ "Contacts and conversations",
858
+ message
859
+ );
860
+ }
861
+ }
862
+ async function collectPromiseSection(runtime, now) {
863
+ try {
864
+ const digest = await computeOverdueFollowups(runtime, now.getTime());
865
+ const items = sortBriefingItems(
866
+ digest.overdue.map((entry) => ({
867
+ title: `${entry.displayName}: ${entry.daysOverdue}d overdue`,
868
+ detail: clip(
869
+ `Last contacted ${entry.lastContactedAt} (cadence ${entry.thresholdDays}d)`
870
+ ),
871
+ occurredAt: entry.lastContactedAt,
872
+ href: null,
873
+ reason: "overdue follow-up",
874
+ score: 40 + Math.min(20, entry.daysOverdue)
875
+ }))
876
+ );
877
+ return {
878
+ key: "promises",
879
+ title: "Promises, agreements, and follow-ups",
880
+ summary: digest.overdue.length === 0 ? "No overdue follow-ups." : `${summarizeCount(digest.overdue.length, "overdue follow-up")} to reconnect.`,
881
+ items,
882
+ error: null
883
+ };
884
+ } catch (error) {
885
+ const message = error instanceof Error ? error.message : String(error);
886
+ return unavailableSection(
887
+ "promises",
888
+ "Promises, agreements, and follow-ups",
889
+ message
890
+ );
891
+ }
892
+ }
893
+ async function collectBriefingSections(args) {
894
+ return Promise.all([
895
+ collectXDmSection(args.source),
896
+ collectXFeedSection(
897
+ args.source,
898
+ "x_timeline",
899
+ "home_timeline",
900
+ "X timeline"
901
+ ),
902
+ collectXFeedSection(args.source, "x_mentions", "mentions", "X mentions"),
903
+ collectInboxSection(args.source),
904
+ collectGmailSection(args.source, args.now),
905
+ collectGitHubSection(args.runtime, args.now, args.timezone),
906
+ collectCalendarChangeSection(args.runtime, args.now, args.timezone),
907
+ collectContactSection(args.runtime, args.now, args.timezone),
908
+ collectPromiseSection(args.runtime, args.now)
909
+ ]);
910
+ }
911
+ class CheckinService {
912
+ constructor(runtime, options = {}) {
913
+ this.runtime = runtime;
914
+ this.options = options;
915
+ }
916
+ runtime;
917
+ options;
918
+ async runMorningCheckin(request = {}) {
919
+ return this.runCheckin("morning", request);
920
+ }
921
+ async runNightCheckin(request = {}) {
922
+ return this.runCheckin("night", request);
923
+ }
924
+ async getEscalationLevel(now = /* @__PURE__ */ new Date()) {
925
+ const agentId = String(this.runtime.agentId);
926
+ const windowStartMs = now.getTime() - ACK_WINDOW_MS;
927
+ const rows = await executeRawSql(
928
+ this.runtime,
929
+ `SELECT COUNT(*) AS unack_count
930
+ FROM ${CHECKIN_REPORTS_TABLE}
931
+ WHERE agent_id = ${sqlQuote(agentId)}
932
+ AND generated_at_ms >= ${windowStartMs}
933
+ AND acknowledged_at IS NULL`
934
+ );
935
+ const countRaw = rows[0]?.unack_count;
936
+ const count = typeof countRaw === "number" ? countRaw : Number.parseInt(toText(countRaw), 10);
937
+ return clampEscalation(Number.isFinite(count) ? count : 0);
938
+ }
939
+ async hasCheckinForLocalDay(args) {
940
+ const agentId = String(this.runtime.agentId);
941
+ const day = localDayWindow(args.now, args.timezone);
942
+ const rows = await executeRawSql(
943
+ this.runtime,
944
+ `SELECT id
945
+ FROM ${CHECKIN_REPORTS_TABLE}
946
+ WHERE agent_id = ${sqlQuote(agentId)}
947
+ AND kind = ${sqlQuote(args.kind)}
948
+ AND generated_at_ms >= ${day.start.getTime()}
949
+ AND generated_at_ms < ${day.end.getTime()}
950
+ LIMIT 1`
951
+ );
952
+ return rows.length > 0;
953
+ }
954
+ async recordCheckinAcknowledgement(request) {
955
+ const reportId = request.reportId.trim();
956
+ if (!reportId) {
957
+ throw new Error(
958
+ "[CheckinService] recordCheckinAcknowledgement: reportId is required"
959
+ );
960
+ }
961
+ const agentId = String(this.runtime.agentId);
962
+ await executeRawSql(
963
+ this.runtime,
964
+ `UPDATE ${CHECKIN_REPORTS_TABLE}
965
+ SET acknowledged_at = ${sqlQuote((/* @__PURE__ */ new Date()).toISOString())}
966
+ WHERE id = ${sqlQuote(reportId)}
967
+ AND agent_id = ${sqlQuote(agentId)}`
968
+ );
969
+ }
970
+ async runCheckin(kind, request) {
971
+ const now = request.now ?? /* @__PURE__ */ new Date();
972
+ const timezone = request.timezone ?? Intl.DateTimeFormat().resolvedOptions().timeZone;
973
+ const habitCollector = await collectHabitSummaries(this.runtime, now);
974
+ const [overdueTodos, todaysMeetings, completedWins, briefingSections] = await Promise.all([
975
+ collectOverdueTodos(
976
+ this.runtime,
977
+ now,
978
+ habitCollector.pausedDefinitionIds
979
+ ),
980
+ collectTodaysMeetings(this.runtime, now, timezone),
981
+ collectCompletedWins(this.runtime, kind, now, timezone),
982
+ collectBriefingSections({
983
+ runtime: this.runtime,
984
+ source: this.options.sources,
985
+ now,
986
+ timezone
987
+ })
988
+ ]);
989
+ const escalationLevel = await this.getEscalationLevel(now);
990
+ const habitEscalationLevel = resolveHabitEscalationLevel(
991
+ habitCollector.rows
992
+ );
993
+ const sleepRecap = kind === "night" ? request.sleepRecap ?? null : null;
994
+ const reportWithoutSummary = {
995
+ reportId: newReportId(),
996
+ kind,
997
+ generatedAt: now.toISOString(),
998
+ escalationLevel,
999
+ overdueTodos: overdueTodos.rows,
1000
+ todaysMeetings: todaysMeetings.rows,
1001
+ yesterdaysWins: completedWins.rows,
1002
+ habitSummaries: habitCollector.rows,
1003
+ habitEscalationLevel,
1004
+ briefingSections,
1005
+ sleepRecap,
1006
+ collectorErrors: {
1007
+ overdueTodos: overdueTodos.error,
1008
+ todaysMeetings: todaysMeetings.error,
1009
+ yesterdaysWins: completedWins.error
1010
+ }
1011
+ };
1012
+ const report = {
1013
+ ...reportWithoutSummary,
1014
+ summaryText: await this.renderSummary(reportWithoutSummary)
1015
+ };
1016
+ await this.persistReport(report, now);
1017
+ return report;
1018
+ }
1019
+ fallbackSummary(report) {
1020
+ const prefix = report.kind === "morning" ? "Morning check-in" : "Night check-in";
1021
+ const winsLabel = report.kind === "morning" ? "yesterday's wins" : "wins today";
1022
+ const sourceLine = report.briefingSections.map(
1023
+ (section) => section.error ? `${section.title}: unavailable` : `${section.title}: ${section.summary}`
1024
+ ).join(" ");
1025
+ return `${prefix}: ${summarizeCount(report.overdueTodos.length, "overdue todo")}, ${summarizeCount(report.todaysMeetings.length, "meeting")} today, ${summarizeCount(report.yesterdaysWins.length, winsLabel, winsLabel)}, and ${summarizeCount(report.habitSummaries.length, "tracked habit")}. ${sourceLine}`.trim();
1026
+ }
1027
+ async renderSummary(report) {
1028
+ const fallback = this.fallbackSummary(report);
1029
+ if (typeof this.runtime.useModel !== "function") {
1030
+ return fallback;
1031
+ }
1032
+ const prompt = buildCheckinSummaryPrompt(report);
1033
+ try {
1034
+ const response = await runWithTrajectoryContext(
1035
+ { purpose: "lifeops-checkin-summary" },
1036
+ () => this.runtime.useModel(ModelType.TEXT_LARGE, {
1037
+ prompt
1038
+ })
1039
+ );
1040
+ const text = typeof response === "string" ? response.trim() : "";
1041
+ return text.length > 0 ? text : fallback;
1042
+ } catch (error) {
1043
+ logMissingOnce(
1044
+ "checkin-summary-model",
1045
+ `summary model unavailable: ${error instanceof Error ? error.message : String(error)}`
1046
+ );
1047
+ return fallback;
1048
+ }
1049
+ }
1050
+ async persistReport(report, now) {
1051
+ const agentId = String(this.runtime.agentId);
1052
+ const payload = JSON.stringify({
1053
+ overdueTodos: report.overdueTodos,
1054
+ todaysMeetings: report.todaysMeetings,
1055
+ yesterdaysWins: report.yesterdaysWins,
1056
+ habitSummaries: report.habitSummaries,
1057
+ habitEscalationLevel: report.habitEscalationLevel,
1058
+ briefingSections: report.briefingSections,
1059
+ summaryText: report.summaryText
1060
+ }).replace(/'/g, "''");
1061
+ await executeRawSql(
1062
+ this.runtime,
1063
+ `INSERT INTO ${CHECKIN_REPORTS_TABLE}
1064
+ (id, agent_id, kind, generated_at, generated_at_ms, escalation_level, payload_json, acknowledged_at)
1065
+ VALUES (
1066
+ ${sqlQuote(report.reportId)},
1067
+ ${sqlQuote(agentId)},
1068
+ ${sqlQuote(report.kind)},
1069
+ ${sqlQuote(report.generatedAt)},
1070
+ ${now.getTime()},
1071
+ ${report.escalationLevel},
1072
+ '${payload}',
1073
+ NULL
1074
+ )`
1075
+ );
1076
+ }
1077
+ }
1078
+ export {
1079
+ CHECKIN_REPORTS_TABLE,
1080
+ CheckinService,
1081
+ __resetCheckinMissingSourceLog,
1082
+ buildCheckinSummaryPrompt
1083
+ };
1084
+ //# sourceMappingURL=checkin-service.js.map