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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1317) hide show
  1. package/dist/actions/app-block.d.ts +15 -0
  2. package/dist/actions/app-block.d.ts.map +1 -0
  3. package/dist/actions/app-block.js +349 -0
  4. package/dist/actions/app-block.js.map +1 -0
  5. package/dist/actions/autofill.d.ts +20 -0
  6. package/dist/actions/autofill.d.ts.map +1 -0
  7. package/dist/actions/autofill.js +370 -0
  8. package/dist/actions/autofill.js.map +1 -0
  9. package/dist/actions/block.d.ts +30 -0
  10. package/dist/actions/block.d.ts.map +1 -0
  11. package/dist/actions/block.js +326 -0
  12. package/dist/actions/block.js.map +1 -0
  13. package/dist/actions/book-travel.d.ts +10 -0
  14. package/dist/actions/book-travel.d.ts.map +1 -0
  15. package/dist/actions/book-travel.js +467 -0
  16. package/dist/actions/book-travel.js.map +1 -0
  17. package/dist/actions/brief.d.ts +60 -0
  18. package/dist/actions/brief.d.ts.map +1 -0
  19. package/dist/actions/brief.js +485 -0
  20. package/dist/actions/brief.js.map +1 -0
  21. package/dist/actions/calendar.d.ts +22 -0
  22. package/dist/actions/calendar.d.ts.map +1 -0
  23. package/dist/actions/calendar.js +832 -0
  24. package/dist/actions/calendar.js.map +1 -0
  25. package/dist/actions/conflict-detect.d.ts +67 -0
  26. package/dist/actions/conflict-detect.d.ts.map +1 -0
  27. package/dist/actions/conflict-detect.js +310 -0
  28. package/dist/actions/conflict-detect.js.map +1 -0
  29. package/dist/actions/connector.d.ts +5 -0
  30. package/dist/actions/connector.d.ts.map +1 -0
  31. package/dist/actions/connector.js +1354 -0
  32. package/dist/actions/connector.js.map +1 -0
  33. package/dist/actions/credentials.d.ts +14 -0
  34. package/dist/actions/credentials.d.ts.map +1 -0
  35. package/dist/actions/credentials.js +191 -0
  36. package/dist/actions/credentials.js.map +1 -0
  37. package/dist/actions/document.d.ts +36 -0
  38. package/dist/actions/document.d.ts.map +1 -0
  39. package/dist/actions/document.js +613 -0
  40. package/dist/actions/document.js.map +1 -0
  41. package/dist/actions/entity.d.ts +20 -0
  42. package/dist/actions/entity.d.ts.map +1 -0
  43. package/dist/actions/entity.js +785 -0
  44. package/dist/actions/entity.js.map +1 -0
  45. package/dist/actions/health.d.ts +4 -0
  46. package/dist/actions/health.d.ts.map +1 -0
  47. package/dist/actions/health.js +37 -0
  48. package/dist/actions/health.js.map +1 -0
  49. package/dist/actions/inbox.d.ts +12 -0
  50. package/dist/actions/inbox.d.ts.map +1 -0
  51. package/dist/actions/inbox.js +13 -0
  52. package/dist/actions/inbox.js.map +1 -0
  53. package/dist/actions/lib/calendly-handler.d.ts +3 -0
  54. package/dist/actions/lib/calendly-handler.d.ts.map +1 -0
  55. package/dist/actions/lib/calendly-handler.js +506 -0
  56. package/dist/actions/lib/calendly-handler.js.map +1 -0
  57. package/dist/actions/lib/extract-goal-plan.d.ts +69 -0
  58. package/dist/actions/lib/extract-goal-plan.d.ts.map +1 -0
  59. package/dist/actions/lib/extract-goal-plan.js +488 -0
  60. package/dist/actions/lib/extract-goal-plan.js.map +1 -0
  61. package/dist/actions/lib/extract-life-operation.d.ts +18 -0
  62. package/dist/actions/lib/extract-life-operation.d.ts.map +1 -0
  63. package/dist/actions/lib/extract-life-operation.js +318 -0
  64. package/dist/actions/lib/extract-life-operation.js.map +1 -0
  65. package/dist/actions/lib/extract-task-plan.d.ts +78 -0
  66. package/dist/actions/lib/extract-task-plan.d.ts.map +1 -0
  67. package/dist/actions/lib/extract-task-plan.js +355 -0
  68. package/dist/actions/lib/extract-task-plan.js.map +1 -0
  69. package/dist/actions/lib/extract-update-fields.d.ts +27 -0
  70. package/dist/actions/lib/extract-update-fields.d.ts.map +1 -0
  71. package/dist/actions/lib/extract-update-fields.js +172 -0
  72. package/dist/actions/lib/extract-update-fields.js.map +1 -0
  73. package/dist/actions/lib/lifeops-deferred-draft.d.ts +68 -0
  74. package/dist/actions/lib/lifeops-deferred-draft.d.ts.map +1 -0
  75. package/dist/actions/lib/lifeops-deferred-draft.js +315 -0
  76. package/dist/actions/lib/lifeops-deferred-draft.js.map +1 -0
  77. package/dist/actions/lib/messaging-helpers.d.ts +20 -0
  78. package/dist/actions/lib/messaging-helpers.d.ts.map +1 -0
  79. package/dist/actions/lib/messaging-helpers.js +103 -0
  80. package/dist/actions/lib/messaging-helpers.js.map +1 -0
  81. package/dist/actions/lib/owner-policy-writes.d.ts +49 -0
  82. package/dist/actions/lib/owner-policy-writes.d.ts.map +1 -0
  83. package/dist/actions/lib/owner-policy-writes.js +157 -0
  84. package/dist/actions/lib/owner-policy-writes.js.map +1 -0
  85. package/dist/actions/lib/prompt-format.d.ts +3 -0
  86. package/dist/actions/lib/prompt-format.d.ts.map +1 -0
  87. package/dist/actions/lib/prompt-format.js +42 -0
  88. package/dist/actions/lib/prompt-format.js.map +1 -0
  89. package/dist/actions/lib/scheduling-handler.d.ts +93 -0
  90. package/dist/actions/lib/scheduling-handler.d.ts.map +1 -0
  91. package/dist/actions/lib/scheduling-handler.js +868 -0
  92. package/dist/actions/lib/scheduling-handler.js.map +1 -0
  93. package/dist/actions/life.d.ts +13 -0
  94. package/dist/actions/life.d.ts.map +1 -0
  95. package/dist/actions/life.js +2524 -0
  96. package/dist/actions/life.js.map +1 -0
  97. package/dist/actions/money.d.ts +24 -0
  98. package/dist/actions/money.d.ts.map +1 -0
  99. package/dist/actions/money.js +41 -0
  100. package/dist/actions/money.js.map +1 -0
  101. package/dist/actions/owner-surfaces.d.ts +11 -0
  102. package/dist/actions/owner-surfaces.d.ts.map +1 -0
  103. package/dist/actions/owner-surfaces.js +493 -0
  104. package/dist/actions/owner-surfaces.js.map +1 -0
  105. package/dist/actions/password-manager.d.ts +10 -0
  106. package/dist/actions/password-manager.d.ts.map +1 -0
  107. package/dist/actions/password-manager.js +195 -0
  108. package/dist/actions/password-manager.js.map +1 -0
  109. package/dist/actions/payments.d.ts +10 -0
  110. package/dist/actions/payments.d.ts.map +1 -0
  111. package/dist/actions/payments.js +5 -0
  112. package/dist/actions/payments.js.map +1 -0
  113. package/dist/actions/prioritize.d.ts +49 -0
  114. package/dist/actions/prioritize.d.ts.map +1 -0
  115. package/dist/actions/prioritize.js +313 -0
  116. package/dist/actions/prioritize.js.map +1 -0
  117. package/dist/actions/remote-desktop.d.ts +13 -0
  118. package/dist/actions/remote-desktop.d.ts.map +1 -0
  119. package/dist/actions/remote-desktop.js +11 -0
  120. package/dist/actions/remote-desktop.js.map +1 -0
  121. package/dist/actions/resolve-request.d.ts +12 -0
  122. package/dist/actions/resolve-request.d.ts.map +1 -0
  123. package/dist/actions/resolve-request.js +427 -0
  124. package/dist/actions/resolve-request.js.map +1 -0
  125. package/dist/actions/schedule.d.ts +10 -0
  126. package/dist/actions/schedule.d.ts.map +1 -0
  127. package/dist/actions/schedule.js +113 -0
  128. package/dist/actions/schedule.js.map +1 -0
  129. package/dist/actions/scheduled-task.d.ts +32 -0
  130. package/dist/actions/scheduled-task.d.ts.map +1 -0
  131. package/dist/actions/scheduled-task.js +661 -0
  132. package/dist/actions/scheduled-task.js.map +1 -0
  133. package/dist/actions/screen-time.d.ts +4 -0
  134. package/dist/actions/screen-time.d.ts.map +1 -0
  135. package/dist/actions/screen-time.js +47 -0
  136. package/dist/actions/screen-time.js.map +1 -0
  137. package/dist/actions/subscriptions.d.ts +8 -0
  138. package/dist/actions/subscriptions.d.ts.map +1 -0
  139. package/dist/actions/subscriptions.js +327 -0
  140. package/dist/actions/subscriptions.js.map +1 -0
  141. package/dist/actions/voice-call.d.ts +16 -0
  142. package/dist/actions/voice-call.d.ts.map +1 -0
  143. package/dist/actions/voice-call.js +756 -0
  144. package/dist/actions/voice-call.js.map +1 -0
  145. package/dist/actions/website-block.d.ts +15 -0
  146. package/dist/actions/website-block.d.ts.map +1 -0
  147. package/dist/actions/website-block.js +719 -0
  148. package/dist/actions/website-block.js.map +1 -0
  149. package/dist/actions/work-thread.d.ts +5 -0
  150. package/dist/actions/work-thread.d.ts.map +1 -0
  151. package/dist/actions/work-thread.js +556 -0
  152. package/dist/actions/work-thread.js.map +1 -0
  153. package/dist/activity-profile/activity-tracker-repo.d.ts +28 -0
  154. package/dist/activity-profile/activity-tracker-repo.d.ts.map +1 -0
  155. package/dist/activity-profile/activity-tracker-repo.js +61 -0
  156. package/dist/activity-profile/activity-tracker-repo.js.map +1 -0
  157. package/dist/activity-profile/activity-tracker-reporting.d.ts +52 -0
  158. package/dist/activity-profile/activity-tracker-reporting.d.ts.map +1 -0
  159. package/dist/activity-profile/activity-tracker-reporting.js +119 -0
  160. package/dist/activity-profile/activity-tracker-reporting.js.map +1 -0
  161. package/dist/activity-profile/activity-tracker-service.d.ts +36 -0
  162. package/dist/activity-profile/activity-tracker-service.d.ts.map +1 -0
  163. package/dist/activity-profile/activity-tracker-service.js +187 -0
  164. package/dist/activity-profile/activity-tracker-service.js.map +1 -0
  165. package/dist/activity-profile/analyzer.d.ts +23 -0
  166. package/dist/activity-profile/analyzer.d.ts.map +1 -0
  167. package/dist/activity-profile/analyzer.js +485 -0
  168. package/dist/activity-profile/analyzer.js.map +1 -0
  169. package/dist/activity-profile/presence-signal-bridge-service.d.ts +14 -0
  170. package/dist/activity-profile/presence-signal-bridge-service.d.ts.map +1 -0
  171. package/dist/activity-profile/presence-signal-bridge-service.js +159 -0
  172. package/dist/activity-profile/presence-signal-bridge-service.js.map +1 -0
  173. package/dist/activity-profile/proactive-inbox-digest.d.ts +3 -0
  174. package/dist/activity-profile/proactive-inbox-digest.d.ts.map +1 -0
  175. package/dist/activity-profile/proactive-inbox-digest.js +21 -0
  176. package/dist/activity-profile/proactive-inbox-digest.js.map +1 -0
  177. package/dist/activity-profile/proactive-planner.d.ts +150 -0
  178. package/dist/activity-profile/proactive-planner.d.ts.map +1 -0
  179. package/dist/activity-profile/proactive-planner.js +529 -0
  180. package/dist/activity-profile/proactive-planner.js.map +1 -0
  181. package/dist/activity-profile/proactive-worker.d.ts +33 -0
  182. package/dist/activity-profile/proactive-worker.d.ts.map +1 -0
  183. package/dist/activity-profile/proactive-worker.js +779 -0
  184. package/dist/activity-profile/proactive-worker.js.map +1 -0
  185. package/dist/activity-profile/profile-metadata.d.ts +10 -0
  186. package/dist/activity-profile/profile-metadata.d.ts.map +1 -0
  187. package/dist/activity-profile/profile-metadata.js +16 -0
  188. package/dist/activity-profile/profile-metadata.js.map +1 -0
  189. package/dist/activity-profile/redactor.d.ts +15 -0
  190. package/dist/activity-profile/redactor.d.ts.map +1 -0
  191. package/dist/activity-profile/redactor.js +22 -0
  192. package/dist/activity-profile/redactor.js.map +1 -0
  193. package/dist/activity-profile/service.d.ts +11 -0
  194. package/dist/activity-profile/service.d.ts.map +1 -0
  195. package/dist/activity-profile/service.js +272 -0
  196. package/dist/activity-profile/service.js.map +1 -0
  197. package/dist/activity-profile/types.d.ts +97 -0
  198. package/dist/activity-profile/types.d.ts.map +1 -0
  199. package/dist/activity-profile/types.js +36 -0
  200. package/dist/activity-profile/types.js.map +1 -0
  201. package/dist/agent-lifeops.d.ts +2 -0
  202. package/dist/agent-lifeops.d.ts.map +1 -0
  203. package/dist/agent-lifeops.js +2 -0
  204. package/dist/agent-lifeops.js.map +1 -0
  205. package/dist/api/client-lifeops.d.ts +319 -0
  206. package/dist/api/client-lifeops.d.ts.map +1 -0
  207. package/dist/api/client-lifeops.js +794 -0
  208. package/dist/api/client-lifeops.js.map +1 -0
  209. package/dist/automation-node-contributor.d.ts +2 -0
  210. package/dist/automation-node-contributor.d.ts.map +1 -0
  211. package/dist/automation-node-contributor.js +184 -0
  212. package/dist/automation-node-contributor.js.map +1 -0
  213. package/dist/client.d.ts +16 -0
  214. package/dist/client.d.ts.map +1 -0
  215. package/dist/client.js +18 -0
  216. package/dist/client.js.map +1 -0
  217. package/dist/components/AppBlockerSettingsCard.d.ts +3 -0
  218. package/dist/components/AppBlockerSettingsCard.d.ts.map +1 -0
  219. package/dist/components/AppBlockerSettingsCard.js +538 -0
  220. package/dist/components/AppBlockerSettingsCard.js.map +1 -0
  221. package/dist/components/WebsiteBlockerSettingsCard.d.ts +3 -0
  222. package/dist/components/WebsiteBlockerSettingsCard.d.ts.map +1 -0
  223. package/dist/components/WebsiteBlockerSettingsCard.js +148 -0
  224. package/dist/components/WebsiteBlockerSettingsCard.js.map +1 -0
  225. package/dist/contracts/index.d.ts +2 -0
  226. package/dist/contracts/index.d.ts.map +1 -0
  227. package/dist/contracts/index.js +2 -0
  228. package/dist/contracts/index.js.map +1 -0
  229. package/dist/contracts/lifeops.d.ts +2 -0
  230. package/dist/contracts/lifeops.d.ts.map +1 -0
  231. package/dist/contracts/lifeops.js +2 -0
  232. package/dist/contracts/lifeops.js.map +1 -0
  233. package/dist/default-packs/autofill-whitelist-pack.d.ts +17 -0
  234. package/dist/default-packs/autofill-whitelist-pack.d.ts.map +1 -0
  235. package/dist/default-packs/autofill-whitelist-pack.js +56 -0
  236. package/dist/default-packs/autofill-whitelist-pack.js.map +1 -0
  237. package/dist/default-packs/consolidation-policies.d.ts +14 -0
  238. package/dist/default-packs/consolidation-policies.d.ts.map +1 -0
  239. package/dist/default-packs/consolidation-policies.js +17 -0
  240. package/dist/default-packs/consolidation-policies.js.map +1 -0
  241. package/dist/default-packs/contract-types.d.ts +200 -0
  242. package/dist/default-packs/contract-types.d.ts.map +1 -0
  243. package/dist/default-packs/contract-types.js +1 -0
  244. package/dist/default-packs/contract-types.js.map +1 -0
  245. package/dist/default-packs/daily-rhythm.d.ts +28 -0
  246. package/dist/default-packs/daily-rhythm.d.ts.map +1 -0
  247. package/dist/default-packs/daily-rhythm.js +136 -0
  248. package/dist/default-packs/daily-rhythm.js.map +1 -0
  249. package/dist/default-packs/escalation-ladders.d.ts +18 -0
  250. package/dist/default-packs/escalation-ladders.d.ts.map +1 -0
  251. package/dist/default-packs/escalation-ladders.js +17 -0
  252. package/dist/default-packs/escalation-ladders.js.map +1 -0
  253. package/dist/default-packs/executive-assistant.d.ts +50 -0
  254. package/dist/default-packs/executive-assistant.d.ts.map +1 -0
  255. package/dist/default-packs/executive-assistant.js +745 -0
  256. package/dist/default-packs/executive-assistant.js.map +1 -0
  257. package/dist/default-packs/followup-starter.d.ts +49 -0
  258. package/dist/default-packs/followup-starter.d.ts.map +1 -0
  259. package/dist/default-packs/followup-starter.js +104 -0
  260. package/dist/default-packs/followup-starter.js.map +1 -0
  261. package/dist/default-packs/habit-starters.d.ts +37 -0
  262. package/dist/default-packs/habit-starters.d.ts.map +1 -0
  263. package/dist/default-packs/habit-starters.js +255 -0
  264. package/dist/default-packs/habit-starters.js.map +1 -0
  265. package/dist/default-packs/inbox-triage-starter.d.ts +23 -0
  266. package/dist/default-packs/inbox-triage-starter.d.ts.map +1 -0
  267. package/dist/default-packs/inbox-triage-starter.js +61 -0
  268. package/dist/default-packs/inbox-triage-starter.js.map +1 -0
  269. package/dist/default-packs/index.d.ts +54 -0
  270. package/dist/default-packs/index.d.ts.map +1 -0
  271. package/dist/default-packs/index.js +150 -0
  272. package/dist/default-packs/index.js.map +1 -0
  273. package/dist/default-packs/lint.d.ts +62 -0
  274. package/dist/default-packs/lint.d.ts.map +1 -0
  275. package/dist/default-packs/lint.js +161 -0
  276. package/dist/default-packs/lint.js.map +1 -0
  277. package/dist/default-packs/morning-brief.d.ts +44 -0
  278. package/dist/default-packs/morning-brief.d.ts.map +1 -0
  279. package/dist/default-packs/morning-brief.js +69 -0
  280. package/dist/default-packs/morning-brief.js.map +1 -0
  281. package/dist/default-packs/quiet-user-watcher.d.ts +49 -0
  282. package/dist/default-packs/quiet-user-watcher.d.ts.map +1 -0
  283. package/dist/default-packs/quiet-user-watcher.js +92 -0
  284. package/dist/default-packs/quiet-user-watcher.js.map +1 -0
  285. package/dist/default-packs/registry-types.d.ts +51 -0
  286. package/dist/default-packs/registry-types.d.ts.map +1 -0
  287. package/dist/default-packs/registry-types.js +1 -0
  288. package/dist/default-packs/registry-types.js.map +1 -0
  289. package/dist/default-packs/task-definitions.d.ts +88 -0
  290. package/dist/default-packs/task-definitions.d.ts.map +1 -0
  291. package/dist/default-packs/task-definitions.js +87 -0
  292. package/dist/default-packs/task-definitions.js.map +1 -0
  293. package/dist/events/index.d.ts +34 -0
  294. package/dist/events/index.d.ts.map +1 -0
  295. package/dist/events/index.js +30 -0
  296. package/dist/events/index.js.map +1 -0
  297. package/dist/followup/actions/listOverdueFollowups.d.ts +3 -0
  298. package/dist/followup/actions/listOverdueFollowups.d.ts.map +1 -0
  299. package/dist/followup/actions/listOverdueFollowups.js +90 -0
  300. package/dist/followup/actions/listOverdueFollowups.js.map +1 -0
  301. package/dist/followup/actions/markFollowupDone.d.ts +3 -0
  302. package/dist/followup/actions/markFollowupDone.d.ts.map +1 -0
  303. package/dist/followup/actions/markFollowupDone.js +171 -0
  304. package/dist/followup/actions/markFollowupDone.js.map +1 -0
  305. package/dist/followup/actions/setFollowupThreshold.d.ts +3 -0
  306. package/dist/followup/actions/setFollowupThreshold.d.ts.map +1 -0
  307. package/dist/followup/actions/setFollowupThreshold.js +171 -0
  308. package/dist/followup/actions/setFollowupThreshold.js.map +1 -0
  309. package/dist/followup/followup-tracker.d.ts +83 -0
  310. package/dist/followup/followup-tracker.d.ts.map +1 -0
  311. package/dist/followup/followup-tracker.js +311 -0
  312. package/dist/followup/followup-tracker.js.map +1 -0
  313. package/dist/followup/index.d.ts +5 -0
  314. package/dist/followup/index.d.ts.map +1 -0
  315. package/dist/followup/index.js +39 -0
  316. package/dist/followup/index.js.map +1 -0
  317. package/dist/hooks/connector-error.d.ts +2 -0
  318. package/dist/hooks/connector-error.d.ts.map +1 -0
  319. package/dist/hooks/connector-error.js +13 -0
  320. package/dist/hooks/connector-error.js.map +1 -0
  321. package/dist/hooks/useDiscordConnector.d.ts +11 -0
  322. package/dist/hooks/useDiscordConnector.d.ts.map +1 -0
  323. package/dist/hooks/useDiscordConnector.js +95 -0
  324. package/dist/hooks/useDiscordConnector.js.map +1 -0
  325. package/dist/hooks/useGoogleLifeOpsConnector.d.ts +23 -0
  326. package/dist/hooks/useGoogleLifeOpsConnector.d.ts.map +1 -0
  327. package/dist/hooks/useGoogleLifeOpsConnector.js +630 -0
  328. package/dist/hooks/useGoogleLifeOpsConnector.js.map +1 -0
  329. package/dist/hooks/useIMessageConnector.d.ts +10 -0
  330. package/dist/hooks/useIMessageConnector.d.ts.map +1 -0
  331. package/dist/hooks/useIMessageConnector.js +57 -0
  332. package/dist/hooks/useIMessageConnector.js.map +1 -0
  333. package/dist/hooks/useInbox.d.ts +36 -0
  334. package/dist/hooks/useInbox.d.ts.map +1 -0
  335. package/dist/hooks/useInbox.js +96 -0
  336. package/dist/hooks/useInbox.js.map +1 -0
  337. package/dist/hooks/useLifeOpsActivitySignals.d.ts +2 -0
  338. package/dist/hooks/useLifeOpsActivitySignals.d.ts.map +1 -0
  339. package/dist/hooks/useLifeOpsActivitySignals.js +358 -0
  340. package/dist/hooks/useLifeOpsActivitySignals.js.map +1 -0
  341. package/dist/hooks/useLifeOpsAppState.d.ts +9 -0
  342. package/dist/hooks/useLifeOpsAppState.d.ts.map +1 -0
  343. package/dist/hooks/useLifeOpsAppState.js +79 -0
  344. package/dist/hooks/useLifeOpsAppState.js.map +1 -0
  345. package/dist/hooks/useLifeOpsCapabilitiesStatus.d.ts +8 -0
  346. package/dist/hooks/useLifeOpsCapabilitiesStatus.d.ts.map +1 -0
  347. package/dist/hooks/useLifeOpsCapabilitiesStatus.js +60 -0
  348. package/dist/hooks/useLifeOpsCapabilitiesStatus.js.map +1 -0
  349. package/dist/hooks/useLifeOpsXConnector.d.ts +11 -0
  350. package/dist/hooks/useLifeOpsXConnector.d.ts.map +1 -0
  351. package/dist/hooks/useLifeOpsXConnector.js +92 -0
  352. package/dist/hooks/useLifeOpsXConnector.js.map +1 -0
  353. package/dist/hooks/useSignalConnector.d.ts +14 -0
  354. package/dist/hooks/useSignalConnector.d.ts.map +1 -0
  355. package/dist/hooks/useSignalConnector.js +89 -0
  356. package/dist/hooks/useSignalConnector.js.map +1 -0
  357. package/dist/hooks/useTelegramConnector.d.ts +14 -0
  358. package/dist/hooks/useTelegramConnector.d.ts.map +1 -0
  359. package/dist/hooks/useTelegramConnector.js +97 -0
  360. package/dist/hooks/useTelegramConnector.js.map +1 -0
  361. package/dist/hooks/useWhatsAppConnector.d.ts +8 -0
  362. package/dist/hooks/useWhatsAppConnector.d.ts.map +1 -0
  363. package/dist/hooks/useWhatsAppConnector.js +62 -0
  364. package/dist/hooks/useWhatsAppConnector.js.map +1 -0
  365. package/dist/inbox/message-fetcher.d.ts +11 -0
  366. package/dist/inbox/message-fetcher.d.ts.map +1 -0
  367. package/dist/inbox/message-fetcher.js +13 -0
  368. package/dist/inbox/message-fetcher.js.map +1 -0
  369. package/dist/inbox/repository.d.ts +11 -0
  370. package/dist/inbox/repository.d.ts.map +1 -0
  371. package/dist/inbox/repository.js +5 -0
  372. package/dist/inbox/repository.js.map +1 -0
  373. package/dist/inbox/types.d.ts +10 -0
  374. package/dist/inbox/types.d.ts.map +1 -0
  375. package/dist/inbox/types.js +2 -0
  376. package/dist/inbox/types.js.map +1 -0
  377. package/dist/index.d.ts +36 -0
  378. package/dist/index.d.ts.map +1 -0
  379. package/dist/index.js +188 -0
  380. package/dist/index.js.map +1 -0
  381. package/dist/lifeops/access.d.ts +29 -0
  382. package/dist/lifeops/access.d.ts.map +1 -0
  383. package/dist/lifeops/access.js +56 -0
  384. package/dist/lifeops/access.js.map +1 -0
  385. package/dist/lifeops/app-state.d.ts +22 -0
  386. package/dist/lifeops/app-state.d.ts.map +1 -0
  387. package/dist/lifeops/app-state.js +67 -0
  388. package/dist/lifeops/app-state.js.map +1 -0
  389. package/dist/lifeops/apple-reminders.d.ts +67 -0
  390. package/dist/lifeops/apple-reminders.d.ts.map +1 -0
  391. package/dist/lifeops/apple-reminders.js +396 -0
  392. package/dist/lifeops/apple-reminders.js.map +1 -0
  393. package/dist/lifeops/approval-queue.d.ts +38 -0
  394. package/dist/lifeops/approval-queue.d.ts.map +1 -0
  395. package/dist/lifeops/approval-queue.js +575 -0
  396. package/dist/lifeops/approval-queue.js.map +1 -0
  397. package/dist/lifeops/approval-queue.types.d.ts +172 -0
  398. package/dist/lifeops/approval-queue.types.d.ts.map +1 -0
  399. package/dist/lifeops/approval-queue.types.js +27 -0
  400. package/dist/lifeops/approval-queue.types.js.map +1 -0
  401. package/dist/lifeops/autofill-whitelist.d.ts +20 -0
  402. package/dist/lifeops/autofill-whitelist.d.ts.map +1 -0
  403. package/dist/lifeops/autofill-whitelist.js +59 -0
  404. package/dist/lifeops/autofill-whitelist.js.map +1 -0
  405. package/dist/lifeops/background-planner-dispatch.d.ts +60 -0
  406. package/dist/lifeops/background-planner-dispatch.d.ts.map +1 -0
  407. package/dist/lifeops/background-planner-dispatch.js +113 -0
  408. package/dist/lifeops/background-planner-dispatch.js.map +1 -0
  409. package/dist/lifeops/background-planner.d.ts +140 -0
  410. package/dist/lifeops/background-planner.d.ts.map +1 -0
  411. package/dist/lifeops/background-planner.js +359 -0
  412. package/dist/lifeops/background-planner.js.map +1 -0
  413. package/dist/lifeops/bill-extraction.d.ts +46 -0
  414. package/dist/lifeops/bill-extraction.d.ts.map +1 -0
  415. package/dist/lifeops/bill-extraction.js +325 -0
  416. package/dist/lifeops/bill-extraction.js.map +1 -0
  417. package/dist/lifeops/browser-constants.d.ts +4 -0
  418. package/dist/lifeops/browser-constants.d.ts.map +1 -0
  419. package/dist/lifeops/browser-constants.js +27 -0
  420. package/dist/lifeops/browser-constants.js.map +1 -0
  421. package/dist/lifeops/browser-extension-store.d.ts +61 -0
  422. package/dist/lifeops/browser-extension-store.d.ts.map +1 -0
  423. package/dist/lifeops/browser-extension-store.js +176 -0
  424. package/dist/lifeops/browser-extension-store.js.map +1 -0
  425. package/dist/lifeops/browser-session-lifecycle.d.ts +57 -0
  426. package/dist/lifeops/browser-session-lifecycle.d.ts.map +1 -0
  427. package/dist/lifeops/browser-session-lifecycle.js +308 -0
  428. package/dist/lifeops/browser-session-lifecycle.js.map +1 -0
  429. package/dist/lifeops/bulk-review.d.ts +333 -0
  430. package/dist/lifeops/bulk-review.d.ts.map +1 -0
  431. package/dist/lifeops/bulk-review.js +1120 -0
  432. package/dist/lifeops/bulk-review.js.map +1 -0
  433. package/dist/lifeops/calendar-gate.d.ts +20 -0
  434. package/dist/lifeops/calendar-gate.d.ts.map +1 -0
  435. package/dist/lifeops/calendar-gate.js +30 -0
  436. package/dist/lifeops/calendar-gate.js.map +1 -0
  437. package/dist/lifeops/channels/contract.d.ts +47 -0
  438. package/dist/lifeops/channels/contract.d.ts.map +1 -0
  439. package/dist/lifeops/channels/contract.js +1 -0
  440. package/dist/lifeops/channels/contract.js.map +1 -0
  441. package/dist/lifeops/channels/default-pack.d.ts +26 -0
  442. package/dist/lifeops/channels/default-pack.d.ts.map +1 -0
  443. package/dist/lifeops/channels/default-pack.js +243 -0
  444. package/dist/lifeops/channels/default-pack.js.map +1 -0
  445. package/dist/lifeops/channels/index.d.ts +5 -0
  446. package/dist/lifeops/channels/index.d.ts.map +1 -0
  447. package/dist/lifeops/channels/index.js +23 -0
  448. package/dist/lifeops/channels/index.js.map +1 -0
  449. package/dist/lifeops/channels/priority-posture.d.ts +36 -0
  450. package/dist/lifeops/channels/priority-posture.d.ts.map +1 -0
  451. package/dist/lifeops/channels/priority-posture.js +27 -0
  452. package/dist/lifeops/channels/priority-posture.js.map +1 -0
  453. package/dist/lifeops/channels/registry.d.ts +7 -0
  454. package/dist/lifeops/channels/registry.d.ts.map +1 -0
  455. package/dist/lifeops/channels/registry.js +49 -0
  456. package/dist/lifeops/channels/registry.js.map +1 -0
  457. package/dist/lifeops/checkin/checkin-service.d.ts +66 -0
  458. package/dist/lifeops/checkin/checkin-service.d.ts.map +1 -0
  459. package/dist/lifeops/checkin/checkin-service.js +1084 -0
  460. package/dist/lifeops/checkin/checkin-service.js.map +1 -0
  461. package/dist/lifeops/checkin/schedule-resolver.d.ts +17 -0
  462. package/dist/lifeops/checkin/schedule-resolver.d.ts.map +1 -0
  463. package/dist/lifeops/checkin/schedule-resolver.js +26 -0
  464. package/dist/lifeops/checkin/schedule-resolver.js.map +1 -0
  465. package/dist/lifeops/checkin/types.d.ts +106 -0
  466. package/dist/lifeops/checkin/types.d.ts.map +1 -0
  467. package/dist/lifeops/checkin/types.js +1 -0
  468. package/dist/lifeops/checkin/types.js.map +1 -0
  469. package/dist/lifeops/connectors/_helpers.d.ts +51 -0
  470. package/dist/lifeops/connectors/_helpers.d.ts.map +1 -0
  471. package/dist/lifeops/connectors/_helpers.js +104 -0
  472. package/dist/lifeops/connectors/_helpers.js.map +1 -0
  473. package/dist/lifeops/connectors/calendly.d.ts +11 -0
  474. package/dist/lifeops/connectors/calendly.d.ts.map +1 -0
  475. package/dist/lifeops/connectors/calendly.js +61 -0
  476. package/dist/lifeops/connectors/calendly.js.map +1 -0
  477. package/dist/lifeops/connectors/contract.d.ts +88 -0
  478. package/dist/lifeops/connectors/contract.d.ts.map +1 -0
  479. package/dist/lifeops/connectors/contract.js +1 -0
  480. package/dist/lifeops/connectors/contract.js.map +1 -0
  481. package/dist/lifeops/connectors/default-pack.d.ts +35 -0
  482. package/dist/lifeops/connectors/default-pack.d.ts.map +1 -0
  483. package/dist/lifeops/connectors/default-pack.js +37 -0
  484. package/dist/lifeops/connectors/default-pack.js.map +1 -0
  485. package/dist/lifeops/connectors/discord.d.ts +8 -0
  486. package/dist/lifeops/connectors/discord.d.ts.map +1 -0
  487. package/dist/lifeops/connectors/discord.js +53 -0
  488. package/dist/lifeops/connectors/discord.js.map +1 -0
  489. package/dist/lifeops/connectors/dispatch-policy.d.ts +75 -0
  490. package/dist/lifeops/connectors/dispatch-policy.d.ts.map +1 -0
  491. package/dist/lifeops/connectors/dispatch-policy.js +35 -0
  492. package/dist/lifeops/connectors/dispatch-policy.js.map +1 -0
  493. package/dist/lifeops/connectors/duffel.d.ts +11 -0
  494. package/dist/lifeops/connectors/duffel.d.ts.map +1 -0
  495. package/dist/lifeops/connectors/duffel.js +74 -0
  496. package/dist/lifeops/connectors/duffel.js.map +1 -0
  497. package/dist/lifeops/connectors/google.d.ts +27 -0
  498. package/dist/lifeops/connectors/google.d.ts.map +1 -0
  499. package/dist/lifeops/connectors/google.js +80 -0
  500. package/dist/lifeops/connectors/google.js.map +1 -0
  501. package/dist/lifeops/connectors/imessage.d.ts +11 -0
  502. package/dist/lifeops/connectors/imessage.d.ts.map +1 -0
  503. package/dist/lifeops/connectors/imessage.js +55 -0
  504. package/dist/lifeops/connectors/imessage.js.map +1 -0
  505. package/dist/lifeops/connectors/index.d.ts +5 -0
  506. package/dist/lifeops/connectors/index.d.ts.map +1 -0
  507. package/dist/lifeops/connectors/index.js +23 -0
  508. package/dist/lifeops/connectors/index.js.map +1 -0
  509. package/dist/lifeops/connectors/mockoon-redirect.d.ts +54 -0
  510. package/dist/lifeops/connectors/mockoon-redirect.d.ts.map +1 -0
  511. package/dist/lifeops/connectors/mockoon-redirect.js +71 -0
  512. package/dist/lifeops/connectors/mockoon-redirect.js.map +1 -0
  513. package/dist/lifeops/connectors/registry.d.ts +7 -0
  514. package/dist/lifeops/connectors/registry.d.ts.map +1 -0
  515. package/dist/lifeops/connectors/registry.js +55 -0
  516. package/dist/lifeops/connectors/registry.js.map +1 -0
  517. package/dist/lifeops/connectors/signal.d.ts +8 -0
  518. package/dist/lifeops/connectors/signal.d.ts.map +1 -0
  519. package/dist/lifeops/connectors/signal.js +60 -0
  520. package/dist/lifeops/connectors/signal.js.map +1 -0
  521. package/dist/lifeops/connectors/telegram.d.ts +12 -0
  522. package/dist/lifeops/connectors/telegram.d.ts.map +1 -0
  523. package/dist/lifeops/connectors/telegram.js +65 -0
  524. package/dist/lifeops/connectors/telegram.js.map +1 -0
  525. package/dist/lifeops/connectors/twilio.d.ts +15 -0
  526. package/dist/lifeops/connectors/twilio.d.ts.map +1 -0
  527. package/dist/lifeops/connectors/twilio.js +126 -0
  528. package/dist/lifeops/connectors/twilio.js.map +1 -0
  529. package/dist/lifeops/connectors/whatsapp.d.ts +10 -0
  530. package/dist/lifeops/connectors/whatsapp.d.ts.map +1 -0
  531. package/dist/lifeops/connectors/whatsapp.js +56 -0
  532. package/dist/lifeops/connectors/whatsapp.js.map +1 -0
  533. package/dist/lifeops/connectors/x.d.ts +8 -0
  534. package/dist/lifeops/connectors/x.d.ts.map +1 -0
  535. package/dist/lifeops/connectors/x.js +62 -0
  536. package/dist/lifeops/connectors/x.js.map +1 -0
  537. package/dist/lifeops/contact-route-policy.d.ts +27 -0
  538. package/dist/lifeops/contact-route-policy.d.ts.map +1 -0
  539. package/dist/lifeops/contact-route-policy.js +153 -0
  540. package/dist/lifeops/contact-route-policy.js.map +1 -0
  541. package/dist/lifeops/continuity-probe.d.ts +49 -0
  542. package/dist/lifeops/continuity-probe.d.ts.map +1 -0
  543. package/dist/lifeops/continuity-probe.js +161 -0
  544. package/dist/lifeops/continuity-probe.js.map +1 -0
  545. package/dist/lifeops/cross-channel-search.d.ts +108 -0
  546. package/dist/lifeops/cross-channel-search.d.ts.map +1 -0
  547. package/dist/lifeops/cross-channel-search.js +888 -0
  548. package/dist/lifeops/cross-channel-search.js.map +1 -0
  549. package/dist/lifeops/defaults.d.ts +30 -0
  550. package/dist/lifeops/defaults.d.ts.map +1 -0
  551. package/dist/lifeops/defaults.js +206 -0
  552. package/dist/lifeops/defaults.js.map +1 -0
  553. package/dist/lifeops/device-bus-service.d.ts +16 -0
  554. package/dist/lifeops/device-bus-service.d.ts.map +1 -0
  555. package/dist/lifeops/device-bus-service.js +20 -0
  556. package/dist/lifeops/device-bus-service.js.map +1 -0
  557. package/dist/lifeops/device-identity.d.ts +31 -0
  558. package/dist/lifeops/device-identity.d.ts.map +1 -0
  559. package/dist/lifeops/device-identity.js +94 -0
  560. package/dist/lifeops/device-identity.js.map +1 -0
  561. package/dist/lifeops/document-review.d.ts +264 -0
  562. package/dist/lifeops/document-review.d.ts.map +1 -0
  563. package/dist/lifeops/document-review.js +925 -0
  564. package/dist/lifeops/document-review.js.map +1 -0
  565. package/dist/lifeops/email-classifier.d.ts +9 -0
  566. package/dist/lifeops/email-classifier.d.ts.map +1 -0
  567. package/dist/lifeops/email-classifier.js +15 -0
  568. package/dist/lifeops/email-classifier.js.map +1 -0
  569. package/dist/lifeops/email-curation.d.ts +13 -0
  570. package/dist/lifeops/email-curation.d.ts.map +1 -0
  571. package/dist/lifeops/email-curation.js +2 -0
  572. package/dist/lifeops/email-curation.js.map +1 -0
  573. package/dist/lifeops/email-unsubscribe-types.d.ts +7 -0
  574. package/dist/lifeops/email-unsubscribe-types.d.ts.map +1 -0
  575. package/dist/lifeops/email-unsubscribe-types.js +1 -0
  576. package/dist/lifeops/email-unsubscribe-types.js.map +1 -0
  577. package/dist/lifeops/enforcement-windows.d.ts +34 -0
  578. package/dist/lifeops/enforcement-windows.d.ts.map +1 -0
  579. package/dist/lifeops/enforcement-windows.js +80 -0
  580. package/dist/lifeops/enforcement-windows.js.map +1 -0
  581. package/dist/lifeops/engine.d.ts +8 -0
  582. package/dist/lifeops/engine.d.ts.map +1 -0
  583. package/dist/lifeops/engine.js +540 -0
  584. package/dist/lifeops/engine.js.map +1 -0
  585. package/dist/lifeops/entities/index.d.ts +4 -0
  586. package/dist/lifeops/entities/index.d.ts.map +1 -0
  587. package/dist/lifeops/entities/index.js +29 -0
  588. package/dist/lifeops/entities/index.js.map +1 -0
  589. package/dist/lifeops/entities/merge.d.ts +9 -0
  590. package/dist/lifeops/entities/merge.d.ts.map +1 -0
  591. package/dist/lifeops/entities/merge.js +17 -0
  592. package/dist/lifeops/entities/merge.js.map +1 -0
  593. package/dist/lifeops/entities/store.d.ts +13 -0
  594. package/dist/lifeops/entities/store.d.ts.map +1 -0
  595. package/dist/lifeops/entities/store.js +7 -0
  596. package/dist/lifeops/entities/store.js.map +1 -0
  597. package/dist/lifeops/entities/types.d.ts +9 -0
  598. package/dist/lifeops/entities/types.d.ts.map +1 -0
  599. package/dist/lifeops/entities/types.js +13 -0
  600. package/dist/lifeops/entities/types.js.map +1 -0
  601. package/dist/lifeops/entities/voice-attribution.d.ts +70 -0
  602. package/dist/lifeops/entities/voice-attribution.d.ts.map +1 -0
  603. package/dist/lifeops/entities/voice-attribution.js +121 -0
  604. package/dist/lifeops/entities/voice-attribution.js.map +1 -0
  605. package/dist/lifeops/entities/voice-observer-bridge.d.ts +32 -0
  606. package/dist/lifeops/entities/voice-observer-bridge.d.ts.map +1 -0
  607. package/dist/lifeops/entities/voice-observer-bridge.js +68 -0
  608. package/dist/lifeops/entities/voice-observer-bridge.js.map +1 -0
  609. package/dist/lifeops/entities/voice-observer.d.ts +72 -0
  610. package/dist/lifeops/entities/voice-observer.d.ts.map +1 -0
  611. package/dist/lifeops/entities/voice-observer.js +97 -0
  612. package/dist/lifeops/entities/voice-observer.js.map +1 -0
  613. package/dist/lifeops/escalation-ladders.d.ts +28 -0
  614. package/dist/lifeops/escalation-ladders.d.ts.map +1 -0
  615. package/dist/lifeops/escalation-ladders.js +17 -0
  616. package/dist/lifeops/escalation-ladders.js.map +1 -0
  617. package/dist/lifeops/fda-probe.d.ts +23 -0
  618. package/dist/lifeops/fda-probe.d.ts.map +1 -0
  619. package/dist/lifeops/fda-probe.js +59 -0
  620. package/dist/lifeops/fda-probe.js.map +1 -0
  621. package/dist/lifeops/feature-flags.d.ts +24 -0
  622. package/dist/lifeops/feature-flags.d.ts.map +1 -0
  623. package/dist/lifeops/feature-flags.js +261 -0
  624. package/dist/lifeops/feature-flags.js.map +1 -0
  625. package/dist/lifeops/feature-flags.types.d.ts +156 -0
  626. package/dist/lifeops/feature-flags.types.d.ts.map +1 -0
  627. package/dist/lifeops/feature-flags.types.js +129 -0
  628. package/dist/lifeops/feature-flags.types.js.map +1 -0
  629. package/dist/lifeops/first-run/defaults.d.ts +57 -0
  630. package/dist/lifeops/first-run/defaults.d.ts.map +1 -0
  631. package/dist/lifeops/first-run/defaults.js +159 -0
  632. package/dist/lifeops/first-run/defaults.js.map +1 -0
  633. package/dist/lifeops/first-run/questions.d.ts +74 -0
  634. package/dist/lifeops/first-run/questions.d.ts.map +1 -0
  635. package/dist/lifeops/first-run/questions.js +184 -0
  636. package/dist/lifeops/first-run/questions.js.map +1 -0
  637. package/dist/lifeops/first-run/replay.d.ts +41 -0
  638. package/dist/lifeops/first-run/replay.d.ts.map +1 -0
  639. package/dist/lifeops/first-run/replay.js +34 -0
  640. package/dist/lifeops/first-run/replay.js.map +1 -0
  641. package/dist/lifeops/first-run/service.d.ts +147 -0
  642. package/dist/lifeops/first-run/service.d.ts.map +1 -0
  643. package/dist/lifeops/first-run/service.js +455 -0
  644. package/dist/lifeops/first-run/service.js.map +1 -0
  645. package/dist/lifeops/first-run/state.d.ts +36 -0
  646. package/dist/lifeops/first-run/state.d.ts.map +1 -0
  647. package/dist/lifeops/first-run/state.js +128 -0
  648. package/dist/lifeops/first-run/state.js.map +1 -0
  649. package/dist/lifeops/global-pause/store.d.ts +22 -0
  650. package/dist/lifeops/global-pause/store.d.ts.map +1 -0
  651. package/dist/lifeops/global-pause/store.js +18 -0
  652. package/dist/lifeops/global-pause/store.js.map +1 -0
  653. package/dist/lifeops/goal-grounding.d.ts +9 -0
  654. package/dist/lifeops/goal-grounding.d.ts.map +1 -0
  655. package/dist/lifeops/goal-grounding.js +19 -0
  656. package/dist/lifeops/goal-grounding.js.map +1 -0
  657. package/dist/lifeops/goal-semantic-evaluator.d.ts +8 -0
  658. package/dist/lifeops/goal-semantic-evaluator.d.ts.map +1 -0
  659. package/dist/lifeops/goal-semantic-evaluator.js +7 -0
  660. package/dist/lifeops/goal-semantic-evaluator.js.map +1 -0
  661. package/dist/lifeops/google/format-helpers.d.ts +63 -0
  662. package/dist/lifeops/google/format-helpers.d.ts.map +1 -0
  663. package/dist/lifeops/google/format-helpers.js +597 -0
  664. package/dist/lifeops/google/format-helpers.js.map +1 -0
  665. package/dist/lifeops/google-plugin-delegates.d.ts +59 -0
  666. package/dist/lifeops/google-plugin-delegates.d.ts.map +1 -0
  667. package/dist/lifeops/google-plugin-delegates.js +408 -0
  668. package/dist/lifeops/google-plugin-delegates.js.map +1 -0
  669. package/dist/lifeops/google-scopes.d.ts +15 -0
  670. package/dist/lifeops/google-scopes.d.ts.map +1 -0
  671. package/dist/lifeops/google-scopes.js +118 -0
  672. package/dist/lifeops/google-scopes.js.map +1 -0
  673. package/dist/lifeops/handoff/store.d.ts +23 -0
  674. package/dist/lifeops/handoff/store.d.ts.map +1 -0
  675. package/dist/lifeops/handoff/store.js +20 -0
  676. package/dist/lifeops/handoff/store.js.map +1 -0
  677. package/dist/lifeops/i18n/localized-examples-provider.d.ts +16 -0
  678. package/dist/lifeops/i18n/localized-examples-provider.d.ts.map +1 -0
  679. package/dist/lifeops/i18n/localized-examples-provider.js +33 -0
  680. package/dist/lifeops/i18n/localized-examples-provider.js.map +1 -0
  681. package/dist/lifeops/i18n/localized-examples-resolver.d.ts +32 -0
  682. package/dist/lifeops/i18n/localized-examples-resolver.d.ts.map +1 -0
  683. package/dist/lifeops/i18n/localized-examples-resolver.js +28 -0
  684. package/dist/lifeops/i18n/localized-examples-resolver.js.map +1 -0
  685. package/dist/lifeops/i18n/prompt-registry.d.ts +64 -0
  686. package/dist/lifeops/i18n/prompt-registry.d.ts.map +1 -0
  687. package/dist/lifeops/i18n/prompt-registry.js +283 -0
  688. package/dist/lifeops/i18n/prompt-registry.js.map +1 -0
  689. package/dist/lifeops/imessage-outbound-probe.d.ts +7 -0
  690. package/dist/lifeops/imessage-outbound-probe.d.ts.map +1 -0
  691. package/dist/lifeops/imessage-outbound-probe.js +81 -0
  692. package/dist/lifeops/imessage-outbound-probe.js.map +1 -0
  693. package/dist/lifeops/index.d.ts +24 -0
  694. package/dist/lifeops/index.d.ts.map +1 -0
  695. package/dist/lifeops/index.js +24 -0
  696. package/dist/lifeops/index.js.map +1 -0
  697. package/dist/lifeops/intent-sync.d.ts +64 -0
  698. package/dist/lifeops/intent-sync.d.ts.map +1 -0
  699. package/dist/lifeops/intent-sync.js +321 -0
  700. package/dist/lifeops/intent-sync.js.map +1 -0
  701. package/dist/lifeops/messaging/index.d.ts +2 -0
  702. package/dist/lifeops/messaging/index.d.ts.map +1 -0
  703. package/dist/lifeops/messaging/index.js +5 -0
  704. package/dist/lifeops/messaging/index.js.map +1 -0
  705. package/dist/lifeops/messaging/owner-send-policy.d.ts +3 -0
  706. package/dist/lifeops/messaging/owner-send-policy.d.ts.map +1 -0
  707. package/dist/lifeops/messaging/owner-send-policy.js +83 -0
  708. package/dist/lifeops/messaging/owner-send-policy.js.map +1 -0
  709. package/dist/lifeops/notifications-push.d.ts +37 -0
  710. package/dist/lifeops/notifications-push.d.ts.map +1 -0
  711. package/dist/lifeops/notifications-push.js +95 -0
  712. package/dist/lifeops/notifications-push.js.map +1 -0
  713. package/dist/lifeops/optimized-prompt-instructions.d.ts +5 -0
  714. package/dist/lifeops/optimized-prompt-instructions.d.ts.map +1 -0
  715. package/dist/lifeops/optimized-prompt-instructions.js +48 -0
  716. package/dist/lifeops/optimized-prompt-instructions.js.map +1 -0
  717. package/dist/lifeops/owner/fact-store.d.ts +143 -0
  718. package/dist/lifeops/owner/fact-store.d.ts.map +1 -0
  719. package/dist/lifeops/owner/fact-store.js +446 -0
  720. package/dist/lifeops/owner/fact-store.js.map +1 -0
  721. package/dist/lifeops/owner/profile-extraction-evaluator.d.ts +3 -0
  722. package/dist/lifeops/owner/profile-extraction-evaluator.d.ts.map +1 -0
  723. package/dist/lifeops/owner/profile-extraction-evaluator.js +241 -0
  724. package/dist/lifeops/owner/profile-extraction-evaluator.js.map +1 -0
  725. package/dist/lifeops/owner-profile.d.ts +61 -0
  726. package/dist/lifeops/owner-profile.d.ts.map +1 -0
  727. package/dist/lifeops/owner-profile.js +407 -0
  728. package/dist/lifeops/owner-profile.js.map +1 -0
  729. package/dist/lifeops/pending-prompts/store.d.ts +23 -0
  730. package/dist/lifeops/pending-prompts/store.d.ts.map +1 -0
  731. package/dist/lifeops/pending-prompts/store.js +16 -0
  732. package/dist/lifeops/pending-prompts/store.js.map +1 -0
  733. package/dist/lifeops/policy-memory.d.ts +190 -0
  734. package/dist/lifeops/policy-memory.d.ts.map +1 -0
  735. package/dist/lifeops/policy-memory.js +1026 -0
  736. package/dist/lifeops/policy-memory.js.map +1 -0
  737. package/dist/lifeops/priority-scoring.d.ts +51 -0
  738. package/dist/lifeops/priority-scoring.d.ts.map +1 -0
  739. package/dist/lifeops/priority-scoring.js +305 -0
  740. package/dist/lifeops/priority-scoring.js.map +1 -0
  741. package/dist/lifeops/privacy-egress.d.ts +92 -0
  742. package/dist/lifeops/privacy-egress.d.ts.map +1 -0
  743. package/dist/lifeops/privacy-egress.js +230 -0
  744. package/dist/lifeops/privacy-egress.js.map +1 -0
  745. package/dist/lifeops/privacy.d.ts +49 -0
  746. package/dist/lifeops/privacy.d.ts.map +1 -0
  747. package/dist/lifeops/privacy.js +66 -0
  748. package/dist/lifeops/privacy.js.map +1 -0
  749. package/dist/lifeops/redact-sensitive-data.d.ts +32 -0
  750. package/dist/lifeops/redact-sensitive-data.d.ts.map +1 -0
  751. package/dist/lifeops/redact-sensitive-data.js +98 -0
  752. package/dist/lifeops/redact-sensitive-data.js.map +1 -0
  753. package/dist/lifeops/registries/app-blocker-contribution.d.ts +13 -0
  754. package/dist/lifeops/registries/app-blocker-contribution.d.ts.map +1 -0
  755. package/dist/lifeops/registries/app-blocker-contribution.js +73 -0
  756. package/dist/lifeops/registries/app-blocker-contribution.js.map +1 -0
  757. package/dist/lifeops/registries/blocker-registry.d.ts +76 -0
  758. package/dist/lifeops/registries/blocker-registry.d.ts.map +1 -0
  759. package/dist/lifeops/registries/blocker-registry.js +40 -0
  760. package/dist/lifeops/registries/blocker-registry.js.map +1 -0
  761. package/dist/lifeops/registries/event-kind-registry.d.ts +57 -0
  762. package/dist/lifeops/registries/event-kind-registry.d.ts.map +1 -0
  763. package/dist/lifeops/registries/event-kind-registry.js +82 -0
  764. package/dist/lifeops/registries/event-kind-registry.js.map +1 -0
  765. package/dist/lifeops/registries/family-registry.d.ts +72 -0
  766. package/dist/lifeops/registries/family-registry.d.ts.map +1 -0
  767. package/dist/lifeops/registries/family-registry.js +98 -0
  768. package/dist/lifeops/registries/family-registry.js.map +1 -0
  769. package/dist/lifeops/registries/feature-flag-default-pack.d.ts +32 -0
  770. package/dist/lifeops/registries/feature-flag-default-pack.d.ts.map +1 -0
  771. package/dist/lifeops/registries/feature-flag-default-pack.js +36 -0
  772. package/dist/lifeops/registries/feature-flag-default-pack.js.map +1 -0
  773. package/dist/lifeops/registries/feature-flag-registry.d.ts +76 -0
  774. package/dist/lifeops/registries/feature-flag-registry.d.ts.map +1 -0
  775. package/dist/lifeops/registries/feature-flag-registry.js +68 -0
  776. package/dist/lifeops/registries/feature-flag-registry.js.map +1 -0
  777. package/dist/lifeops/registries/index.d.ts +24 -0
  778. package/dist/lifeops/registries/index.d.ts.map +1 -0
  779. package/dist/lifeops/registries/index.js +115 -0
  780. package/dist/lifeops/registries/index.js.map +1 -0
  781. package/dist/lifeops/registries/website-blocker-contribution.d.ts +21 -0
  782. package/dist/lifeops/registries/website-blocker-contribution.d.ts.map +1 -0
  783. package/dist/lifeops/registries/website-blocker-contribution.js +76 -0
  784. package/dist/lifeops/registries/website-blocker-contribution.js.map +1 -0
  785. package/dist/lifeops/registries/workflow-step-default-pack.d.ts +30 -0
  786. package/dist/lifeops/registries/workflow-step-default-pack.d.ts.map +1 -0
  787. package/dist/lifeops/registries/workflow-step-default-pack.js +315 -0
  788. package/dist/lifeops/registries/workflow-step-default-pack.js.map +1 -0
  789. package/dist/lifeops/registries/workflow-step-registry.d.ts +101 -0
  790. package/dist/lifeops/registries/workflow-step-registry.d.ts.map +1 -0
  791. package/dist/lifeops/registries/workflow-step-registry.js +56 -0
  792. package/dist/lifeops/registries/workflow-step-registry.js.map +1 -0
  793. package/dist/lifeops/relationships/extraction.d.ts +77 -0
  794. package/dist/lifeops/relationships/extraction.d.ts.map +1 -0
  795. package/dist/lifeops/relationships/extraction.js +146 -0
  796. package/dist/lifeops/relationships/extraction.js.map +1 -0
  797. package/dist/lifeops/relationships/index.d.ts +4 -0
  798. package/dist/lifeops/relationships/index.d.ts.map +1 -0
  799. package/dist/lifeops/relationships/index.js +19 -0
  800. package/dist/lifeops/relationships/index.js.map +1 -0
  801. package/dist/lifeops/relationships/mapping.d.ts +34 -0
  802. package/dist/lifeops/relationships/mapping.d.ts.map +1 -0
  803. package/dist/lifeops/relationships/mapping.js +87 -0
  804. package/dist/lifeops/relationships/mapping.js.map +1 -0
  805. package/dist/lifeops/relationships/store.d.ts +12 -0
  806. package/dist/lifeops/relationships/store.d.ts.map +1 -0
  807. package/dist/lifeops/relationships/store.js +5 -0
  808. package/dist/lifeops/relationships/store.js.map +1 -0
  809. package/dist/lifeops/relationships/types.d.ts +9 -0
  810. package/dist/lifeops/relationships/types.d.ts.map +1 -0
  811. package/dist/lifeops/relationships/types.js +11 -0
  812. package/dist/lifeops/relationships/types.js.map +1 -0
  813. package/dist/lifeops/relative-schedule-resolver.d.ts +13 -0
  814. package/dist/lifeops/relative-schedule-resolver.d.ts.map +1 -0
  815. package/dist/lifeops/relative-schedule-resolver.js +107 -0
  816. package/dist/lifeops/relative-schedule-resolver.js.map +1 -0
  817. package/dist/lifeops/relative-time.d.ts +15 -0
  818. package/dist/lifeops/relative-time.d.ts.map +1 -0
  819. package/dist/lifeops/relative-time.js +191 -0
  820. package/dist/lifeops/relative-time.js.map +1 -0
  821. package/dist/lifeops/repository.d.ts +638 -0
  822. package/dist/lifeops/repository.d.ts.map +1 -0
  823. package/dist/lifeops/repository.js +6289 -0
  824. package/dist/lifeops/repository.js.map +1 -0
  825. package/dist/lifeops/runtime-cache.d.ts +4 -0
  826. package/dist/lifeops/runtime-cache.d.ts.map +1 -0
  827. package/dist/lifeops/runtime-cache.js +7 -0
  828. package/dist/lifeops/runtime-cache.js.map +1 -0
  829. package/dist/lifeops/runtime-service-delegates.d.ts +236 -0
  830. package/dist/lifeops/runtime-service-delegates.d.ts.map +1 -0
  831. package/dist/lifeops/runtime-service-delegates.js +839 -0
  832. package/dist/lifeops/runtime-service-delegates.js.map +1 -0
  833. package/dist/lifeops/runtime.d.ts +13 -0
  834. package/dist/lifeops/runtime.d.ts.map +1 -0
  835. package/dist/lifeops/runtime.js +104 -0
  836. package/dist/lifeops/runtime.js.map +1 -0
  837. package/dist/lifeops/schedule-insight.d.ts +133 -0
  838. package/dist/lifeops/schedule-insight.d.ts.map +1 -0
  839. package/dist/lifeops/schedule-insight.js +726 -0
  840. package/dist/lifeops/schedule-insight.js.map +1 -0
  841. package/dist/lifeops/schedule-state.d.ts +39 -0
  842. package/dist/lifeops/schedule-state.d.ts.map +1 -0
  843. package/dist/lifeops/schedule-state.js +671 -0
  844. package/dist/lifeops/schedule-state.js.map +1 -0
  845. package/dist/lifeops/schedule-sync-config.d.ts +3 -0
  846. package/dist/lifeops/schedule-sync-config.d.ts.map +1 -0
  847. package/dist/lifeops/schedule-sync-config.js +23 -0
  848. package/dist/lifeops/schedule-sync-config.js.map +1 -0
  849. package/dist/lifeops/schedule-sync-contracts.d.ts +2 -0
  850. package/dist/lifeops/schedule-sync-contracts.d.ts.map +1 -0
  851. package/dist/lifeops/schedule-sync-contracts.js +2 -0
  852. package/dist/lifeops/schedule-sync-contracts.js.map +1 -0
  853. package/dist/lifeops/scheduled-task/index.d.ts +13 -0
  854. package/dist/lifeops/scheduled-task/index.d.ts.map +1 -0
  855. package/dist/lifeops/scheduled-task/index.js +14 -0
  856. package/dist/lifeops/scheduled-task/index.js.map +1 -0
  857. package/dist/lifeops/scheduled-task/runtime-wiring.d.ts +33 -0
  858. package/dist/lifeops/scheduled-task/runtime-wiring.d.ts.map +1 -0
  859. package/dist/lifeops/scheduled-task/runtime-wiring.js +334 -0
  860. package/dist/lifeops/scheduled-task/runtime-wiring.js.map +1 -0
  861. package/dist/lifeops/scheduled-task/scheduler.d.ts +28 -0
  862. package/dist/lifeops/scheduled-task/scheduler.d.ts.map +1 -0
  863. package/dist/lifeops/scheduled-task/scheduler.js +202 -0
  864. package/dist/lifeops/scheduled-task/scheduler.js.map +1 -0
  865. package/dist/lifeops/scheduled-task/service.d.ts +61 -0
  866. package/dist/lifeops/scheduled-task/service.d.ts.map +1 -0
  867. package/dist/lifeops/scheduled-task/service.js +64 -0
  868. package/dist/lifeops/scheduled-task/service.js.map +1 -0
  869. package/dist/lifeops/scheduler-task.d.ts +19 -0
  870. package/dist/lifeops/scheduler-task.d.ts.map +1 -0
  871. package/dist/lifeops/scheduler-task.js +201 -0
  872. package/dist/lifeops/scheduler-task.js.map +1 -0
  873. package/dist/lifeops/schema.d.ts +28068 -0
  874. package/dist/lifeops/schema.d.ts.map +1 -0
  875. package/dist/lifeops/schema.js +1689 -0
  876. package/dist/lifeops/schema.js.map +1 -0
  877. package/dist/lifeops/screen-context.d.ts +66 -0
  878. package/dist/lifeops/screen-context.d.ts.map +1 -0
  879. package/dist/lifeops/screen-context.js +347 -0
  880. package/dist/lifeops/screen-context.js.map +1 -0
  881. package/dist/lifeops/seed-routine-migration/migrator.d.ts +113 -0
  882. package/dist/lifeops/seed-routine-migration/migrator.d.ts.map +1 -0
  883. package/dist/lifeops/seed-routine-migration/migrator.js +142 -0
  884. package/dist/lifeops/seed-routine-migration/migrator.js.map +1 -0
  885. package/dist/lifeops/seed-routines.d.ts +24 -0
  886. package/dist/lifeops/seed-routines.d.ts.map +1 -0
  887. package/dist/lifeops/seed-routines.js +140 -0
  888. package/dist/lifeops/seed-routines.js.map +1 -0
  889. package/dist/lifeops/send-policy/contract.d.ts +81 -0
  890. package/dist/lifeops/send-policy/contract.d.ts.map +1 -0
  891. package/dist/lifeops/send-policy/contract.js +1 -0
  892. package/dist/lifeops/send-policy/contract.js.map +1 -0
  893. package/dist/lifeops/send-policy/index.d.ts +3 -0
  894. package/dist/lifeops/send-policy/index.d.ts.map +1 -0
  895. package/dist/lifeops/send-policy/index.js +13 -0
  896. package/dist/lifeops/send-policy/index.js.map +1 -0
  897. package/dist/lifeops/send-policy/registry.d.ts +7 -0
  898. package/dist/lifeops/send-policy/registry.d.ts.map +1 -0
  899. package/dist/lifeops/send-policy/registry.js +62 -0
  900. package/dist/lifeops/send-policy/registry.js.map +1 -0
  901. package/dist/lifeops/sensitive-request-delivery.d.ts +46 -0
  902. package/dist/lifeops/sensitive-request-delivery.d.ts.map +1 -0
  903. package/dist/lifeops/sensitive-request-delivery.js +103 -0
  904. package/dist/lifeops/sensitive-request-delivery.js.map +1 -0
  905. package/dist/lifeops/service-constants.d.ts +10 -0
  906. package/dist/lifeops/service-constants.d.ts.map +1 -0
  907. package/dist/lifeops/service-constants.js +129 -0
  908. package/dist/lifeops/service-constants.js.map +1 -0
  909. package/dist/lifeops/service-helpers-browser.d.ts +41 -0
  910. package/dist/lifeops/service-helpers-browser.d.ts.map +1 -0
  911. package/dist/lifeops/service-helpers-browser.js +290 -0
  912. package/dist/lifeops/service-helpers-browser.js.map +1 -0
  913. package/dist/lifeops/service-helpers-misc.d.ts +68 -0
  914. package/dist/lifeops/service-helpers-misc.d.ts.map +1 -0
  915. package/dist/lifeops/service-helpers-misc.js +531 -0
  916. package/dist/lifeops/service-helpers-misc.js.map +1 -0
  917. package/dist/lifeops/service-helpers-occurrence.d.ts +23 -0
  918. package/dist/lifeops/service-helpers-occurrence.d.ts.map +1 -0
  919. package/dist/lifeops/service-helpers-occurrence.js +257 -0
  920. package/dist/lifeops/service-helpers-occurrence.js.map +1 -0
  921. package/dist/lifeops/service-helpers-reminder.d.ts +260 -0
  922. package/dist/lifeops/service-helpers-reminder.d.ts.map +1 -0
  923. package/dist/lifeops/service-helpers-reminder.js +1186 -0
  924. package/dist/lifeops/service-helpers-reminder.js.map +1 -0
  925. package/dist/lifeops/service-mixin-browser.d.ts +31 -0
  926. package/dist/lifeops/service-mixin-browser.d.ts.map +1 -0
  927. package/dist/lifeops/service-mixin-browser.js +975 -0
  928. package/dist/lifeops/service-mixin-browser.js.map +1 -0
  929. package/dist/lifeops/service-mixin-calendar.d.ts +53 -0
  930. package/dist/lifeops/service-mixin-calendar.d.ts.map +1 -0
  931. package/dist/lifeops/service-mixin-calendar.js +68 -0
  932. package/dist/lifeops/service-mixin-calendar.js.map +1 -0
  933. package/dist/lifeops/service-mixin-core.d.ts +51 -0
  934. package/dist/lifeops/service-mixin-core.d.ts.map +1 -0
  935. package/dist/lifeops/service-mixin-core.js +500 -0
  936. package/dist/lifeops/service-mixin-core.js.map +1 -0
  937. package/dist/lifeops/service-mixin-definitions.d.ts +14 -0
  938. package/dist/lifeops/service-mixin-definitions.d.ts.map +1 -0
  939. package/dist/lifeops/service-mixin-definitions.js +470 -0
  940. package/dist/lifeops/service-mixin-definitions.js.map +1 -0
  941. package/dist/lifeops/service-mixin-discord.d.ts +49 -0
  942. package/dist/lifeops/service-mixin-discord.d.ts.map +1 -0
  943. package/dist/lifeops/service-mixin-discord.js +1253 -0
  944. package/dist/lifeops/service-mixin-discord.js.map +1 -0
  945. package/dist/lifeops/service-mixin-drive.d.ts +96 -0
  946. package/dist/lifeops/service-mixin-drive.d.ts.map +1 -0
  947. package/dist/lifeops/service-mixin-drive.js +213 -0
  948. package/dist/lifeops/service-mixin-drive.js.map +1 -0
  949. package/dist/lifeops/service-mixin-email-unsubscribe.d.ts +23 -0
  950. package/dist/lifeops/service-mixin-email-unsubscribe.d.ts.map +1 -0
  951. package/dist/lifeops/service-mixin-email-unsubscribe.js +27 -0
  952. package/dist/lifeops/service-mixin-email-unsubscribe.js.map +1 -0
  953. package/dist/lifeops/service-mixin-gmail.d.ts +43 -0
  954. package/dist/lifeops/service-mixin-gmail.d.ts.map +1 -0
  955. package/dist/lifeops/service-mixin-gmail.js +727 -0
  956. package/dist/lifeops/service-mixin-gmail.js.map +1 -0
  957. package/dist/lifeops/service-mixin-goals.d.ts +22 -0
  958. package/dist/lifeops/service-mixin-goals.d.ts.map +1 -0
  959. package/dist/lifeops/service-mixin-goals.js +884 -0
  960. package/dist/lifeops/service-mixin-goals.js.map +1 -0
  961. package/dist/lifeops/service-mixin-google.d.ts +13 -0
  962. package/dist/lifeops/service-mixin-google.d.ts.map +1 -0
  963. package/dist/lifeops/service-mixin-google.js +398 -0
  964. package/dist/lifeops/service-mixin-google.js.map +1 -0
  965. package/dist/lifeops/service-mixin-health.d.ts +27 -0
  966. package/dist/lifeops/service-mixin-health.d.ts.map +1 -0
  967. package/dist/lifeops/service-mixin-health.js +670 -0
  968. package/dist/lifeops/service-mixin-health.js.map +1 -0
  969. package/dist/lifeops/service-mixin-imessage.d.ts +106 -0
  970. package/dist/lifeops/service-mixin-imessage.d.ts.map +1 -0
  971. package/dist/lifeops/service-mixin-imessage.js +303 -0
  972. package/dist/lifeops/service-mixin-imessage.js.map +1 -0
  973. package/dist/lifeops/service-mixin-inbox.d.ts +55 -0
  974. package/dist/lifeops/service-mixin-inbox.d.ts.map +1 -0
  975. package/dist/lifeops/service-mixin-inbox.js +597 -0
  976. package/dist/lifeops/service-mixin-inbox.js.map +1 -0
  977. package/dist/lifeops/service-mixin-relationships.d.ts +65 -0
  978. package/dist/lifeops/service-mixin-relationships.d.ts.map +1 -0
  979. package/dist/lifeops/service-mixin-relationships.js +150 -0
  980. package/dist/lifeops/service-mixin-relationships.js.map +1 -0
  981. package/dist/lifeops/service-mixin-reminders.d.ts +62 -0
  982. package/dist/lifeops/service-mixin-reminders.d.ts.map +1 -0
  983. package/dist/lifeops/service-mixin-reminders.js +4003 -0
  984. package/dist/lifeops/service-mixin-reminders.js.map +1 -0
  985. package/dist/lifeops/service-mixin-scheduling.d.ts +53 -0
  986. package/dist/lifeops/service-mixin-scheduling.d.ts.map +1 -0
  987. package/dist/lifeops/service-mixin-scheduling.js +405 -0
  988. package/dist/lifeops/service-mixin-scheduling.js.map +1 -0
  989. package/dist/lifeops/service-mixin-screentime.d.ts +71 -0
  990. package/dist/lifeops/service-mixin-screentime.d.ts.map +1 -0
  991. package/dist/lifeops/service-mixin-screentime.js +530 -0
  992. package/dist/lifeops/service-mixin-screentime.js.map +1 -0
  993. package/dist/lifeops/service-mixin-signal.d.ts +74 -0
  994. package/dist/lifeops/service-mixin-signal.d.ts.map +1 -0
  995. package/dist/lifeops/service-mixin-signal.js +214 -0
  996. package/dist/lifeops/service-mixin-signal.js.map +1 -0
  997. package/dist/lifeops/service-mixin-sleep.d.ts +68 -0
  998. package/dist/lifeops/service-mixin-sleep.d.ts.map +1 -0
  999. package/dist/lifeops/service-mixin-sleep.js +43 -0
  1000. package/dist/lifeops/service-mixin-sleep.js.map +1 -0
  1001. package/dist/lifeops/service-mixin-status.d.ts +31 -0
  1002. package/dist/lifeops/service-mixin-status.d.ts.map +1 -0
  1003. package/dist/lifeops/service-mixin-status.js +373 -0
  1004. package/dist/lifeops/service-mixin-status.js.map +1 -0
  1005. package/dist/lifeops/service-mixin-subscriptions.d.ts +101 -0
  1006. package/dist/lifeops/service-mixin-subscriptions.d.ts.map +1 -0
  1007. package/dist/lifeops/service-mixin-subscriptions.js +50 -0
  1008. package/dist/lifeops/service-mixin-subscriptions.js.map +1 -0
  1009. package/dist/lifeops/service-mixin-telegram.d.ts +104 -0
  1010. package/dist/lifeops/service-mixin-telegram.d.ts.map +1 -0
  1011. package/dist/lifeops/service-mixin-telegram.js +280 -0
  1012. package/dist/lifeops/service-mixin-telegram.js.map +1 -0
  1013. package/dist/lifeops/service-mixin-travel.d.ts +66 -0
  1014. package/dist/lifeops/service-mixin-travel.d.ts.map +1 -0
  1015. package/dist/lifeops/service-mixin-travel.js +275 -0
  1016. package/dist/lifeops/service-mixin-travel.js.map +1 -0
  1017. package/dist/lifeops/service-mixin-whatsapp.d.ts +96 -0
  1018. package/dist/lifeops/service-mixin-whatsapp.d.ts.map +1 -0
  1019. package/dist/lifeops/service-mixin-whatsapp.js +186 -0
  1020. package/dist/lifeops/service-mixin-whatsapp.js.map +1 -0
  1021. package/dist/lifeops/service-mixin-workflows.d.ts +15 -0
  1022. package/dist/lifeops/service-mixin-workflows.d.ts.map +1 -0
  1023. package/dist/lifeops/service-mixin-workflows.js +710 -0
  1024. package/dist/lifeops/service-mixin-workflows.js.map +1 -0
  1025. package/dist/lifeops/service-mixin-x-read.d.ts +31 -0
  1026. package/dist/lifeops/service-mixin-x-read.d.ts.map +1 -0
  1027. package/dist/lifeops/service-mixin-x-read.js +267 -0
  1028. package/dist/lifeops/service-mixin-x-read.js.map +1 -0
  1029. package/dist/lifeops/service-mixin-x.d.ts +66 -0
  1030. package/dist/lifeops/service-mixin-x.d.ts.map +1 -0
  1031. package/dist/lifeops/service-mixin-x.js +501 -0
  1032. package/dist/lifeops/service-mixin-x.js.map +1 -0
  1033. package/dist/lifeops/service-normalize-connector.d.ts +19 -0
  1034. package/dist/lifeops/service-normalize-connector.d.ts.map +1 -0
  1035. package/dist/lifeops/service-normalize-connector.js +816 -0
  1036. package/dist/lifeops/service-normalize-connector.js.map +1 -0
  1037. package/dist/lifeops/service-normalize-gmail.d.ts +11 -0
  1038. package/dist/lifeops/service-normalize-gmail.d.ts.map +1 -0
  1039. package/dist/lifeops/service-normalize-gmail.js +85 -0
  1040. package/dist/lifeops/service-normalize-gmail.js.map +1 -0
  1041. package/dist/lifeops/service-normalize-task.d.ts +9 -0
  1042. package/dist/lifeops/service-normalize-task.d.ts.map +1 -0
  1043. package/dist/lifeops/service-normalize-task.js +567 -0
  1044. package/dist/lifeops/service-normalize-task.js.map +1 -0
  1045. package/dist/lifeops/service-normalize.d.ts +9 -0
  1046. package/dist/lifeops/service-normalize.d.ts.map +1 -0
  1047. package/dist/lifeops/service-normalize.js +53 -0
  1048. package/dist/lifeops/service-normalize.js.map +1 -0
  1049. package/dist/lifeops/service-types.d.ts +75 -0
  1050. package/dist/lifeops/service-types.d.ts.map +1 -0
  1051. package/dist/lifeops/service-types.js +5 -0
  1052. package/dist/lifeops/service-types.js.map +1 -0
  1053. package/dist/lifeops/service.d.ts +482 -0
  1054. package/dist/lifeops/service.d.ts.map +1 -0
  1055. package/dist/lifeops/service.js +62 -0
  1056. package/dist/lifeops/service.js.map +1 -0
  1057. package/dist/lifeops/signal-runtime-config.d.ts +13 -0
  1058. package/dist/lifeops/signal-runtime-config.d.ts.map +1 -0
  1059. package/dist/lifeops/signal-runtime-config.js +44 -0
  1060. package/dist/lifeops/signal-runtime-config.js.map +1 -0
  1061. package/dist/lifeops/signals/bus.d.ts +78 -0
  1062. package/dist/lifeops/signals/bus.d.ts.map +1 -0
  1063. package/dist/lifeops/signals/bus.js +117 -0
  1064. package/dist/lifeops/signals/bus.js.map +1 -0
  1065. package/dist/lifeops/sql.d.ts +65 -0
  1066. package/dist/lifeops/sql.d.ts.map +1 -0
  1067. package/dist/lifeops/sql.js +182 -0
  1068. package/dist/lifeops/sql.js.map +1 -0
  1069. package/dist/lifeops/stretch-decider.d.ts +73 -0
  1070. package/dist/lifeops/stretch-decider.d.ts.map +1 -0
  1071. package/dist/lifeops/stretch-decider.js +49 -0
  1072. package/dist/lifeops/stretch-decider.js.map +1 -0
  1073. package/dist/lifeops/telemetry-mapping.d.ts +14 -0
  1074. package/dist/lifeops/telemetry-mapping.d.ts.map +1 -0
  1075. package/dist/lifeops/telemetry-mapping.js +115 -0
  1076. package/dist/lifeops/telemetry-mapping.js.map +1 -0
  1077. package/dist/lifeops/telemetry-retention.d.ts +21 -0
  1078. package/dist/lifeops/telemetry-retention.d.ts.map +1 -0
  1079. package/dist/lifeops/telemetry-retention.js +13 -0
  1080. package/dist/lifeops/telemetry-retention.js.map +1 -0
  1081. package/dist/lifeops/time/timezone.d.ts +4 -0
  1082. package/dist/lifeops/time/timezone.d.ts.map +1 -0
  1083. package/dist/lifeops/time/timezone.js +154 -0
  1084. package/dist/lifeops/time/timezone.js.map +1 -0
  1085. package/dist/lifeops/time-util.d.ts +10 -0
  1086. package/dist/lifeops/time-util.d.ts.map +1 -0
  1087. package/dist/lifeops/time-util.js +14 -0
  1088. package/dist/lifeops/time-util.js.map +1 -0
  1089. package/dist/lifeops/time.d.ts +17 -0
  1090. package/dist/lifeops/time.d.ts.map +1 -0
  1091. package/dist/lifeops/time.js +152 -0
  1092. package/dist/lifeops/time.js.map +1 -0
  1093. package/dist/lifeops/travel-booking.types.d.ts +46 -0
  1094. package/dist/lifeops/travel-booking.types.d.ts.map +1 -0
  1095. package/dist/lifeops/travel-booking.types.js +1 -0
  1096. package/dist/lifeops/travel-booking.types.js.map +1 -0
  1097. package/dist/lifeops/triggers/schedule-once.d.ts +19 -0
  1098. package/dist/lifeops/triggers/schedule-once.d.ts.map +1 -0
  1099. package/dist/lifeops/triggers/schedule-once.js +99 -0
  1100. package/dist/lifeops/triggers/schedule-once.js.map +1 -0
  1101. package/dist/lifeops/validate/coding-task-request.d.ts +18 -0
  1102. package/dist/lifeops/validate/coding-task-request.d.ts.map +1 -0
  1103. package/dist/lifeops/validate/coding-task-request.js +16 -0
  1104. package/dist/lifeops/validate/coding-task-request.js.map +1 -0
  1105. package/dist/lifeops/voice/grounded-reply.d.ts +41 -0
  1106. package/dist/lifeops/voice/grounded-reply.d.ts.map +1 -0
  1107. package/dist/lifeops/voice/grounded-reply.js +24 -0
  1108. package/dist/lifeops/voice/grounded-reply.js.map +1 -0
  1109. package/dist/lifeops/voice-affect.d.ts +79 -0
  1110. package/dist/lifeops/voice-affect.d.ts.map +1 -0
  1111. package/dist/lifeops/voice-affect.js +253 -0
  1112. package/dist/lifeops/voice-affect.js.map +1 -0
  1113. package/dist/lifeops/wave1-types.d.ts +125 -0
  1114. package/dist/lifeops/wave1-types.d.ts.map +1 -0
  1115. package/dist/lifeops/wave1-types.js +1 -0
  1116. package/dist/lifeops/wave1-types.js.map +1 -0
  1117. package/dist/lifeops/work-threads/field-evaluator-thread-ops.d.ts +33 -0
  1118. package/dist/lifeops/work-threads/field-evaluator-thread-ops.d.ts.map +1 -0
  1119. package/dist/lifeops/work-threads/field-evaluator-thread-ops.js +226 -0
  1120. package/dist/lifeops/work-threads/field-evaluator-thread-ops.js.map +1 -0
  1121. package/dist/lifeops/work-threads/index.d.ts +3 -0
  1122. package/dist/lifeops/work-threads/index.d.ts.map +1 -0
  1123. package/dist/lifeops/work-threads/index.js +7 -0
  1124. package/dist/lifeops/work-threads/index.js.map +1 -0
  1125. package/dist/lifeops/work-threads/store.d.ts +91 -0
  1126. package/dist/lifeops/work-threads/store.d.ts.map +1 -0
  1127. package/dist/lifeops/work-threads/store.js +245 -0
  1128. package/dist/lifeops/work-threads/store.js.map +1 -0
  1129. package/dist/lifeops/work-threads/types.d.ts +58 -0
  1130. package/dist/lifeops/work-threads/types.d.ts.map +1 -0
  1131. package/dist/lifeops/work-threads/types.js +1 -0
  1132. package/dist/lifeops/work-threads/types.js.map +1 -0
  1133. package/dist/platform/host.d.ts +16 -0
  1134. package/dist/platform/host.d.ts.map +1 -0
  1135. package/dist/platform/host.js +22 -0
  1136. package/dist/platform/host.js.map +1 -0
  1137. package/dist/platform/index.d.ts +3 -0
  1138. package/dist/platform/index.d.ts.map +1 -0
  1139. package/dist/platform/index.js +3 -0
  1140. package/dist/platform/index.js.map +1 -0
  1141. package/dist/platform/lifeops-github.d.ts +15 -0
  1142. package/dist/platform/lifeops-github.d.ts.map +1 -0
  1143. package/dist/platform/lifeops-github.js +146 -0
  1144. package/dist/platform/lifeops-github.js.map +1 -0
  1145. package/dist/plugin.d.ts +106 -0
  1146. package/dist/plugin.d.ts.map +1 -0
  1147. package/dist/plugin.js +989 -0
  1148. package/dist/plugin.js.map +1 -0
  1149. package/dist/provider.d.ts +4 -0
  1150. package/dist/provider.d.ts.map +1 -0
  1151. package/dist/provider.js +108 -0
  1152. package/dist/provider.js.map +1 -0
  1153. package/dist/providers/activity-profile.d.ts +3 -0
  1154. package/dist/providers/activity-profile.d.ts.map +1 -0
  1155. package/dist/providers/activity-profile.js +140 -0
  1156. package/dist/providers/activity-profile.js.map +1 -0
  1157. package/dist/providers/cross-channel-context.d.ts +29 -0
  1158. package/dist/providers/cross-channel-context.d.ts.map +1 -0
  1159. package/dist/providers/cross-channel-context.js +206 -0
  1160. package/dist/providers/cross-channel-context.js.map +1 -0
  1161. package/dist/providers/first-run.d.ts +22 -0
  1162. package/dist/providers/first-run.d.ts.map +1 -0
  1163. package/dist/providers/first-run.js +93 -0
  1164. package/dist/providers/first-run.js.map +1 -0
  1165. package/dist/providers/health.d.ts +2 -0
  1166. package/dist/providers/health.d.ts.map +1 -0
  1167. package/dist/providers/health.js +14 -0
  1168. package/dist/providers/health.js.map +1 -0
  1169. package/dist/providers/inbox-triage.d.ts +3 -0
  1170. package/dist/providers/inbox-triage.d.ts.map +1 -0
  1171. package/dist/providers/inbox-triage.js +134 -0
  1172. package/dist/providers/inbox-triage.js.map +1 -0
  1173. package/dist/providers/lifeops.d.ts +3 -0
  1174. package/dist/providers/lifeops.d.ts.map +1 -0
  1175. package/dist/providers/lifeops.js +548 -0
  1176. package/dist/providers/lifeops.js.map +1 -0
  1177. package/dist/providers/pending-prompts.d.ts +38 -0
  1178. package/dist/providers/pending-prompts.d.ts.map +1 -0
  1179. package/dist/providers/pending-prompts.js +81 -0
  1180. package/dist/providers/pending-prompts.js.map +1 -0
  1181. package/dist/providers/recent-task-states.d.ts +52 -0
  1182. package/dist/providers/recent-task-states.d.ts.map +1 -0
  1183. package/dist/providers/recent-task-states.js +166 -0
  1184. package/dist/providers/recent-task-states.js.map +1 -0
  1185. package/dist/providers/room-policy.d.ts +16 -0
  1186. package/dist/providers/room-policy.d.ts.map +1 -0
  1187. package/dist/providers/room-policy.js +71 -0
  1188. package/dist/providers/room-policy.js.map +1 -0
  1189. package/dist/providers/work-threads.d.ts +3 -0
  1190. package/dist/providers/work-threads.d.ts.map +1 -0
  1191. package/dist/providers/work-threads.js +97 -0
  1192. package/dist/providers/work-threads.js.map +1 -0
  1193. package/dist/public.d.ts +3 -0
  1194. package/dist/public.d.ts.map +1 -0
  1195. package/dist/public.js +17 -0
  1196. package/dist/public.js.map +1 -0
  1197. package/dist/routes/cloud-features-routes.d.ts +9 -0
  1198. package/dist/routes/cloud-features-routes.d.ts.map +1 -0
  1199. package/dist/routes/cloud-features-routes.js +164 -0
  1200. package/dist/routes/cloud-features-routes.js.map +1 -0
  1201. package/dist/routes/entities.d.ts +14 -0
  1202. package/dist/routes/entities.d.ts.map +1 -0
  1203. package/dist/routes/entities.js +203 -0
  1204. package/dist/routes/entities.js.map +1 -0
  1205. package/dist/routes/lifeops-routes.d.ts +20 -0
  1206. package/dist/routes/lifeops-routes.d.ts.map +1 -0
  1207. package/dist/routes/lifeops-routes.js +2337 -0
  1208. package/dist/routes/lifeops-routes.js.map +1 -0
  1209. package/dist/routes/plugin.d.ts +9 -0
  1210. package/dist/routes/plugin.d.ts.map +1 -0
  1211. package/dist/routes/plugin.js +568 -0
  1212. package/dist/routes/plugin.js.map +1 -0
  1213. package/dist/routes/relationships.d.ts +13 -0
  1214. package/dist/routes/relationships.d.ts.map +1 -0
  1215. package/dist/routes/relationships.js +195 -0
  1216. package/dist/routes/relationships.js.map +1 -0
  1217. package/dist/routes/scheduled-tasks.d.ts +102 -0
  1218. package/dist/routes/scheduled-tasks.d.ts.map +1 -0
  1219. package/dist/routes/scheduled-tasks.js +322 -0
  1220. package/dist/routes/scheduled-tasks.js.map +1 -0
  1221. package/dist/routes/sleep-routes.d.ts +3 -0
  1222. package/dist/routes/sleep-routes.d.ts.map +1 -0
  1223. package/dist/routes/sleep-routes.js +33 -0
  1224. package/dist/routes/sleep-routes.js.map +1 -0
  1225. package/dist/routes/travel-provider-relay-routes.d.ts +2 -0
  1226. package/dist/routes/travel-provider-relay-routes.d.ts.map +1 -0
  1227. package/dist/routes/travel-provider-relay-routes.js +7 -0
  1228. package/dist/routes/travel-provider-relay-routes.js.map +1 -0
  1229. package/dist/routes/website-blocker-routes.d.ts +6 -0
  1230. package/dist/routes/website-blocker-routes.d.ts.map +1 -0
  1231. package/dist/routes/website-blocker-routes.js +218 -0
  1232. package/dist/routes/website-blocker-routes.js.map +1 -0
  1233. package/dist/security/action-confirmation.d.ts +12 -0
  1234. package/dist/security/action-confirmation.d.ts.map +1 -0
  1235. package/dist/security/action-confirmation.js +36 -0
  1236. package/dist/security/action-confirmation.js.map +1 -0
  1237. package/dist/service.d.ts +34 -0
  1238. package/dist/service.d.ts.map +1 -0
  1239. package/dist/service.js +111 -0
  1240. package/dist/service.js.map +1 -0
  1241. package/dist/travel-time/calendar-create.d.ts +17 -0
  1242. package/dist/travel-time/calendar-create.d.ts.map +1 -0
  1243. package/dist/travel-time/calendar-create.js +28 -0
  1244. package/dist/travel-time/calendar-create.js.map +1 -0
  1245. package/dist/travel-time/service.d.ts +114 -0
  1246. package/dist/travel-time/service.d.ts.map +1 -0
  1247. package/dist/travel-time/service.js +209 -0
  1248. package/dist/travel-time/service.js.map +1 -0
  1249. package/dist/types/app-blocker-settings-card.d.ts +2 -0
  1250. package/dist/types/app-blocker-settings-card.d.ts.map +1 -0
  1251. package/dist/types/app-blocker-settings-card.js +1 -0
  1252. package/dist/types/app-blocker-settings-card.js.map +1 -0
  1253. package/dist/types/briefing.d.ts +59 -0
  1254. package/dist/types/briefing.d.ts.map +1 -0
  1255. package/dist/types/briefing.js +1 -0
  1256. package/dist/types/briefing.js.map +1 -0
  1257. package/dist/types/document-request.d.ts +41 -0
  1258. package/dist/types/document-request.d.ts.map +1 -0
  1259. package/dist/types/document-request.js +1 -0
  1260. package/dist/types/document-request.js.map +1 -0
  1261. package/dist/types/index.d.ts +5 -0
  1262. package/dist/types/index.d.ts.map +1 -0
  1263. package/dist/types/index.js +1 -0
  1264. package/dist/types/index.js.map +1 -0
  1265. package/dist/types/website-blocker-settings-card.d.ts +2 -0
  1266. package/dist/types/website-blocker-settings-card.d.ts.map +1 -0
  1267. package/dist/types/website-blocker-settings-card.js +1 -0
  1268. package/dist/types/website-blocker-settings-card.js.map +1 -0
  1269. package/dist/ui.d.ts +13 -0
  1270. package/dist/ui.d.ts.map +1 -0
  1271. package/dist/ui.js +25 -0
  1272. package/dist/ui.js.map +1 -0
  1273. package/dist/utils/format-duration.d.ts +2 -0
  1274. package/dist/utils/format-duration.d.ts.map +1 -0
  1275. package/dist/utils/format-duration.js +13 -0
  1276. package/dist/utils/format-duration.js.map +1 -0
  1277. package/dist/utils/index.d.ts +3 -0
  1278. package/dist/utils/index.d.ts.map +1 -0
  1279. package/dist/utils/index.js +3 -0
  1280. package/dist/utils/index.js.map +1 -0
  1281. package/dist/utils/lifeops-url.d.ts +3 -0
  1282. package/dist/utils/lifeops-url.d.ts.map +1 -0
  1283. package/dist/utils/lifeops-url.js +28 -0
  1284. package/dist/utils/lifeops-url.js.map +1 -0
  1285. package/dist/website-blocker/chat-integration/block-activator.d.ts +32 -0
  1286. package/dist/website-blocker/chat-integration/block-activator.d.ts.map +1 -0
  1287. package/dist/website-blocker/chat-integration/block-activator.js +30 -0
  1288. package/dist/website-blocker/chat-integration/block-activator.js.map +1 -0
  1289. package/dist/website-blocker/chat-integration/block-rule-reconciler.d.ts +7 -0
  1290. package/dist/website-blocker/chat-integration/block-rule-reconciler.d.ts.map +1 -0
  1291. package/dist/website-blocker/chat-integration/block-rule-reconciler.js +115 -0
  1292. package/dist/website-blocker/chat-integration/block-rule-reconciler.js.map +1 -0
  1293. package/dist/website-blocker/chat-integration/block-rule-schema.d.ts +39 -0
  1294. package/dist/website-blocker/chat-integration/block-rule-schema.d.ts.map +1 -0
  1295. package/dist/website-blocker/chat-integration/block-rule-schema.js +133 -0
  1296. package/dist/website-blocker/chat-integration/block-rule-schema.js.map +1 -0
  1297. package/dist/website-blocker/chat-integration/block-rule-service.d.ts +21 -0
  1298. package/dist/website-blocker/chat-integration/block-rule-service.d.ts.map +1 -0
  1299. package/dist/website-blocker/chat-integration/block-rule-service.js +230 -0
  1300. package/dist/website-blocker/chat-integration/block-rule-service.js.map +1 -0
  1301. package/dist/website-blocker/chat-integration/harsh-mode-check.d.ts +13 -0
  1302. package/dist/website-blocker/chat-integration/harsh-mode-check.d.ts.map +1 -0
  1303. package/dist/website-blocker/chat-integration/harsh-mode-check.js +22 -0
  1304. package/dist/website-blocker/chat-integration/harsh-mode-check.js.map +1 -0
  1305. package/dist/website-blocker/chat-integration/index.d.ts +5 -0
  1306. package/dist/website-blocker/chat-integration/index.d.ts.map +1 -0
  1307. package/dist/website-blocker/chat-integration/index.js +26 -0
  1308. package/dist/website-blocker/chat-integration/index.js.map +1 -0
  1309. package/dist/website-blocker/proactive-block-bridge.d.ts +75 -0
  1310. package/dist/website-blocker/proactive-block-bridge.d.ts.map +1 -0
  1311. package/dist/website-blocker/proactive-block-bridge.js +154 -0
  1312. package/dist/website-blocker/proactive-block-bridge.js.map +1 -0
  1313. package/dist/website-blocker/public.d.ts +12 -0
  1314. package/dist/website-blocker/public.d.ts.map +1 -0
  1315. package/dist/website-blocker/public.js +51 -0
  1316. package/dist/website-blocker/public.js.map +1 -0
  1317. package/package.json +28 -28
@@ -0,0 +1,1186 @@
1
+ import {
2
+ LIFEOPS_ACTIVITY_SIGNAL_SOURCES,
3
+ LIFEOPS_ACTIVITY_SIGNAL_STATES,
4
+ LIFEOPS_REMINDER_CHANNELS,
5
+ LIFEOPS_REMINDER_INTENSITIES
6
+ } from "../contracts/index.js";
7
+ import {
8
+ DEFAULT_MORNING_WINDOW,
9
+ DEFAULT_NIGHT_WINDOW,
10
+ getCurrentEnforcementWindow,
11
+ minutesPastWindowStart
12
+ } from "./enforcement-windows.js";
13
+ import {
14
+ REMINDER_ACTIVITY_GATE_METADATA_KEY,
15
+ REMINDER_ACTIVITY_GATES,
16
+ REMINDER_ESCALATION_DELAYS,
17
+ REMINDER_ESCALATION_PROFILE_METADATA_KEY,
18
+ REMINDER_INTENSITY_CANONICAL_ALIASES,
19
+ REMINDER_INTENSITY_METADATA_KEY,
20
+ REMINDER_INTENSITY_NOTE_METADATA_KEY,
21
+ REMINDER_INTENSITY_UPDATED_AT_METADATA_KEY,
22
+ REMINDER_LIFECYCLE_METADATA_KEY,
23
+ REMINDER_PREFERENCE_SCOPE_METADATA_KEY,
24
+ REMINDER_URGENCY_LEGACY_METADATA_KEY,
25
+ REMINDER_URGENCY_METADATA_KEY
26
+ } from "./service-constants.js";
27
+ import { mergeMetadata, priorityToUrgency } from "./service-helpers-misc.js";
28
+ import {
29
+ fail,
30
+ normalizeOptionalIsoString,
31
+ normalizeOptionalString,
32
+ requireNonEmptyString
33
+ } from "./service-normalize.js";
34
+ function _isReminderIntensity(value) {
35
+ return typeof value === "string" && LIFEOPS_REMINDER_INTENSITIES.includes(value);
36
+ }
37
+ function normalizeReminderIntensityInput(value, field) {
38
+ const intensity = requireNonEmptyString(value, field).toLowerCase();
39
+ const canonical = REMINDER_INTENSITY_CANONICAL_ALIASES[intensity];
40
+ if (!canonical) {
41
+ fail(
42
+ 400,
43
+ `${field} must be one of: ${LIFEOPS_REMINDER_INTENSITIES.join(", ")}`
44
+ );
45
+ }
46
+ return canonical;
47
+ }
48
+ function coerceReminderIntensity(value, field) {
49
+ const intensity = normalizeOptionalString(value);
50
+ return intensity ? normalizeReminderIntensityInput(intensity, field) : null;
51
+ }
52
+ function isReminderChannel(value) {
53
+ return typeof value === "string" && LIFEOPS_REMINDER_CHANNELS.includes(value);
54
+ }
55
+ function isValidIsoString(value) {
56
+ return typeof value === "string" && Number.isFinite(Date.parse(value));
57
+ }
58
+ function readReminderReviewAt(attempt) {
59
+ const reviewAt = attempt.reviewAt ?? null;
60
+ return isValidIsoString(reviewAt) ? reviewAt : null;
61
+ }
62
+ function readReminderReviewStatus(attempt) {
63
+ return attempt.reviewStatus ?? null;
64
+ }
65
+ function isReminderReviewClosed(attempt) {
66
+ const status = readReminderReviewStatus(attempt);
67
+ return status === "resolved" || status === "escalated" || status === "clarification_requested";
68
+ }
69
+ function normalizeActivitySignalSource(value, field) {
70
+ const source = requireNonEmptyString(value, field);
71
+ if (LIFEOPS_ACTIVITY_SIGNAL_SOURCES.includes(
72
+ source
73
+ )) {
74
+ return source;
75
+ }
76
+ if (source === "mobileDevice" || source === "mobile-device" || source === "mobileHealth" || source === "mobile-health") {
77
+ return source.toLowerCase().includes("health") ? "mobile_health" : "mobile_device";
78
+ }
79
+ fail(
80
+ 400,
81
+ `${field} must be one of: ${LIFEOPS_ACTIVITY_SIGNAL_SOURCES.join(", ")}`
82
+ );
83
+ }
84
+ function normalizeActivitySignalState(value, field) {
85
+ const state = requireNonEmptyString(value, field);
86
+ if (LIFEOPS_ACTIVITY_SIGNAL_STATES.includes(
87
+ state
88
+ )) {
89
+ return state;
90
+ }
91
+ if (state === "sleep") {
92
+ return "sleeping";
93
+ }
94
+ fail(
95
+ 400,
96
+ `${field} must be one of: ${LIFEOPS_ACTIVITY_SIGNAL_STATES.join(", ")}`
97
+ );
98
+ }
99
+ function normalizeOptionalIdleState(value, field) {
100
+ const idleState = normalizeOptionalString(value);
101
+ if (!idleState) {
102
+ return null;
103
+ }
104
+ if (idleState === "active" || idleState === "idle" || idleState === "locked" || idleState === "unknown") {
105
+ return idleState;
106
+ }
107
+ fail(400, `${field} must be one of: active, idle, locked, unknown`);
108
+ }
109
+ function mapPlatformToReminderChannel(platform) {
110
+ const normalized = typeof platform === "string" ? platform.trim() : "";
111
+ if (!normalized) {
112
+ return null;
113
+ }
114
+ const lower = normalized.toLowerCase();
115
+ if (lower === "client_chat") {
116
+ return "in_app";
117
+ }
118
+ if (lower === "desktop_app" || lower === "mobile_app" || lower === "web_app") {
119
+ return "in_app";
120
+ }
121
+ if (lower === "telegram-account" || lower === "telegramaccount") {
122
+ return "telegram";
123
+ }
124
+ return isReminderChannel(lower) ? lower : null;
125
+ }
126
+ const DEFAULT_REMINDER_CHANNEL_RANKING_WEIGHTS = {
127
+ inAppAnchor: 450,
128
+ activePlatform: 1200,
129
+ primaryPlatform: 900,
130
+ secondaryPlatform: 650,
131
+ lastSeenPlatform: 300,
132
+ preferredContactChannel: 800,
133
+ lastResponseChannel: 550,
134
+ contactSource: 150,
135
+ ownerContactSource: 100,
136
+ policyChannel: 75,
137
+ recencyMax: 120
138
+ };
139
+ const DEFAULT_REMINDER_ESCALATION_PROFILE = {
140
+ activeWindowOnly: true,
141
+ requireRoutineDefinition: true,
142
+ delayCompression: {
143
+ afterMinutes: 10,
144
+ factor: 0.5,
145
+ minMinutes: 1
146
+ },
147
+ forceChannel: {
148
+ channel: "voice",
149
+ afterMinutes: 20,
150
+ urgencies: ["critical"],
151
+ requireAvailable: true
152
+ }
153
+ };
154
+ function isRecord(value) {
155
+ return Boolean(value) && typeof value === "object" && !Array.isArray(value);
156
+ }
157
+ function readProfileNumber(value, fallback) {
158
+ return typeof value === "number" && Number.isFinite(value) ? value : fallback;
159
+ }
160
+ function readProfileBoolean(value, fallback) {
161
+ return typeof value === "boolean" ? value : fallback;
162
+ }
163
+ function readProfileUrgencies(value, fallback) {
164
+ if (!Array.isArray(value)) {
165
+ return fallback;
166
+ }
167
+ const urgencies = value.filter(
168
+ (entry) => entry === "low" || entry === "medium" || entry === "high" || entry === "critical"
169
+ );
170
+ return urgencies.length > 0 ? urgencies : fallback;
171
+ }
172
+ function readDelayCompressionProfile(value, fallback) {
173
+ if (value === null) {
174
+ return null;
175
+ }
176
+ if (!isRecord(value)) {
177
+ return fallback;
178
+ }
179
+ const base = fallback ?? DEFAULT_REMINDER_ESCALATION_PROFILE.delayCompression;
180
+ if (!base) {
181
+ return null;
182
+ }
183
+ return {
184
+ afterMinutes: Math.max(
185
+ 0,
186
+ Math.floor(readProfileNumber(value.afterMinutes, base.afterMinutes))
187
+ ),
188
+ factor: Math.max(0, readProfileNumber(value.factor, base.factor)),
189
+ minMinutes: Math.max(
190
+ 1,
191
+ Math.floor(readProfileNumber(value.minMinutes, base.minMinutes))
192
+ )
193
+ };
194
+ }
195
+ function readForceChannelProfile(value, fallback) {
196
+ if (value === null) {
197
+ return null;
198
+ }
199
+ if (!isRecord(value)) {
200
+ return fallback;
201
+ }
202
+ const base = fallback ?? DEFAULT_REMINDER_ESCALATION_PROFILE.forceChannel;
203
+ if (!base) {
204
+ return null;
205
+ }
206
+ const channel = isReminderChannel(value.channel) ? value.channel : base.channel;
207
+ return {
208
+ channel,
209
+ afterMinutes: Math.max(
210
+ 0,
211
+ Math.floor(readProfileNumber(value.afterMinutes, base.afterMinutes))
212
+ ),
213
+ urgencies: readProfileUrgencies(value.urgencies, base.urgencies),
214
+ requireAvailable: readProfileBoolean(
215
+ value.requireAvailable,
216
+ base.requireAvailable
217
+ )
218
+ };
219
+ }
220
+ function readReminderEscalationProfile(definition) {
221
+ const raw = definition?.metadata?.[REMINDER_ESCALATION_PROFILE_METADATA_KEY];
222
+ if (!isRecord(raw)) {
223
+ return DEFAULT_REMINDER_ESCALATION_PROFILE;
224
+ }
225
+ return {
226
+ activeWindowOnly: readProfileBoolean(
227
+ raw.activeWindowOnly,
228
+ DEFAULT_REMINDER_ESCALATION_PROFILE.activeWindowOnly
229
+ ),
230
+ requireRoutineDefinition: readProfileBoolean(
231
+ raw.requireRoutineDefinition,
232
+ DEFAULT_REMINDER_ESCALATION_PROFILE.requireRoutineDefinition
233
+ ),
234
+ delayCompression: readDelayCompressionProfile(
235
+ raw.delayCompression,
236
+ DEFAULT_REMINDER_ESCALATION_PROFILE.delayCompression
237
+ ),
238
+ forceChannel: readForceChannelProfile(
239
+ raw.forceChannel,
240
+ DEFAULT_REMINDER_ESCALATION_PROFILE.forceChannel
241
+ )
242
+ };
243
+ }
244
+ function definitionTriggersEnforcement(definition) {
245
+ if (!definition) return false;
246
+ if (definition.kind === "routine" || definition.kind === "morning_routine" || definition.kind === "night_routine") {
247
+ return true;
248
+ }
249
+ return definition.metadata.enforceRoutineWindow === true;
250
+ }
251
+ function buildReminderEnforcementState(now, timezone, definition, channelAvailability = {}, windows) {
252
+ const window = getCurrentEnforcementWindow(
253
+ now,
254
+ timezone,
255
+ windows ?? [DEFAULT_MORNING_WINDOW, DEFAULT_NIGHT_WINDOW]
256
+ );
257
+ return {
258
+ window,
259
+ minutesPastStart: minutesPastWindowStart(now, timezone, window),
260
+ definitionIsRoutine: definitionTriggersEnforcement(definition),
261
+ channelAvailability
262
+ };
263
+ }
264
+ function resolveReminderEscalationProfileDecision(args) {
265
+ const profile = args.profile ?? DEFAULT_REMINDER_ESCALATION_PROFILE;
266
+ let delayMinutes = args.normalDelayMinutes;
267
+ let forceChannel = null;
268
+ const state = args.state;
269
+ if (!state) {
270
+ return { delayMinutes, forceChannel };
271
+ }
272
+ if (profile.activeWindowOnly && state.window.kind === "none") {
273
+ return { delayMinutes, forceChannel };
274
+ }
275
+ if (profile.requireRoutineDefinition && !state.definitionIsRoutine) {
276
+ return { delayMinutes, forceChannel };
277
+ }
278
+ const compression = profile.delayCompression;
279
+ if (delayMinutes !== null && compression && state.minutesPastStart >= compression.afterMinutes) {
280
+ delayMinutes = Math.max(
281
+ compression.minMinutes,
282
+ Math.floor(delayMinutes * compression.factor)
283
+ );
284
+ }
285
+ const forceProfile = profile.forceChannel;
286
+ if (forceProfile && state.minutesPastStart >= forceProfile.afterMinutes && forceProfile.urgencies.includes(args.urgency) && (!forceProfile.requireAvailable || state.channelAvailability[forceProfile.channel] === true)) {
287
+ forceChannel = forceProfile.channel;
288
+ }
289
+ return { delayMinutes, forceChannel };
290
+ }
291
+ function resolveReminderEscalationRoutingPolicy(args) {
292
+ const urgency = args.urgency ?? "medium";
293
+ const screenContextUsable = args.activityProfile?.screenContextAvailable === true && args.activityProfile.screenContextStale !== true && (args.activityProfile.screenContextConfidence ?? 1) >= 0.5;
294
+ const screenBusy = screenContextUsable && args.activityProfile?.screenContextBusy === true;
295
+ const attentionBusy = screenBusy || args.activityProfile?.calendarBusy === true || args.activityProfile?.dndActive === true;
296
+ const ownerActive = args.activityProfile?.isCurrentlyActive === true;
297
+ const activeChannel = mapPlatformToReminderChannel(
298
+ ownerActive ? args.activityProfile?.lastSeenPlatform : null
299
+ );
300
+ const interruptionBudget = urgency === "critical" ? "urgent" : urgency === "high" ? "elevated" : attentionBusy ? "low" : "normal";
301
+ const urgencyWeight = urgency === "critical" ? 350 : urgency === "high" ? 220 : 0;
302
+ const busyInAppBias = attentionBusy && urgency !== "critical" ? 450 : 0;
303
+ const inactiveInAppPenalty = ownerActive ? 0 : -250;
304
+ const activeInAppBias = activeChannel === "in_app" || activeChannel === null ? 250 : 0;
305
+ const weights = {
306
+ ...DEFAULT_REMINDER_CHANNEL_RANKING_WEIGHTS,
307
+ inAppAnchor: Math.max(
308
+ 50,
309
+ DEFAULT_REMINDER_CHANNEL_RANKING_WEIGHTS.inAppAnchor + busyInAppBias + inactiveInAppPenalty + activeInAppBias
310
+ ),
311
+ preferredContactChannel: DEFAULT_REMINDER_CHANNEL_RANKING_WEIGHTS.preferredContactChannel + urgencyWeight,
312
+ lastResponseChannel: DEFAULT_REMINDER_CHANNEL_RANKING_WEIGHTS.lastResponseChannel + Math.round(urgencyWeight * 0.7),
313
+ policyChannel: DEFAULT_REMINDER_CHANNEL_RANKING_WEIGHTS.policyChannel + Math.round(urgencyWeight * 0.4),
314
+ ...args.weights
315
+ };
316
+ return {
317
+ includeInApp: args.includeInApp !== false,
318
+ interruptionBudget,
319
+ weights,
320
+ reason: args.activityProfile?.dndActive === true ? "do_not_disturb" : args.activityProfile?.calendarBusy === true ? "calendar_busy" : screenBusy ? "screen_context_busy" : ownerActive ? "owner_currently_active" : "owner_recent_channel_history"
321
+ };
322
+ }
323
+ function addReminderChannelScore(scores, channel, score, evidenceOrder, evidence, reason) {
324
+ if (!channel) {
325
+ return;
326
+ }
327
+ if (!evidenceOrder.has(channel)) {
328
+ evidenceOrder.set(channel, evidenceOrder.size);
329
+ }
330
+ scores.set(channel, (scores.get(channel) ?? 0) + score);
331
+ if (evidence && reason) {
332
+ const reasons = evidence.get(channel) ?? [];
333
+ reasons.push(reason);
334
+ evidence.set(channel, reasons);
335
+ }
336
+ }
337
+ function lastResponseRecencyScore(value, nowMs, maxScore) {
338
+ if (!value) {
339
+ return 0;
340
+ }
341
+ const parsed = Date.parse(value);
342
+ if (!Number.isFinite(parsed)) {
343
+ return 0;
344
+ }
345
+ const ageHours = Math.max(0, (nowMs - parsed) / 36e5);
346
+ return Math.max(0, maxScore - Math.round(ageHours));
347
+ }
348
+ function rankReminderEscalationChannelCandidates(args) {
349
+ const routingPolicy = args.routingPolicy ?? resolveReminderEscalationRoutingPolicy({
350
+ activityProfile: args.activityProfile,
351
+ urgency: args.urgency,
352
+ includeInApp: args.includeInApp,
353
+ weights: args.weights
354
+ });
355
+ const weights = routingPolicy.weights;
356
+ const nowMs = args.now instanceof Date ? args.now.getTime() : typeof args.now === "number" ? args.now : Date.now();
357
+ const scores = /* @__PURE__ */ new Map();
358
+ const evidenceOrder = /* @__PURE__ */ new Map();
359
+ const evidence = /* @__PURE__ */ new Map();
360
+ if (routingPolicy.includeInApp) {
361
+ addReminderChannelScore(
362
+ scores,
363
+ "in_app",
364
+ weights.inAppAnchor,
365
+ evidenceOrder,
366
+ evidence,
367
+ "default_in_app_surface"
368
+ );
369
+ }
370
+ const activity = args.activityProfile;
371
+ addReminderChannelScore(
372
+ scores,
373
+ mapPlatformToReminderChannel(
374
+ activity?.isCurrentlyActive ? activity.lastSeenPlatform : null
375
+ ),
376
+ weights.activePlatform,
377
+ evidenceOrder,
378
+ evidence,
379
+ "currently_active_platform"
380
+ );
381
+ addReminderChannelScore(
382
+ scores,
383
+ mapPlatformToReminderChannel(activity?.primaryPlatform),
384
+ weights.primaryPlatform,
385
+ evidenceOrder,
386
+ evidence,
387
+ "primary_platform"
388
+ );
389
+ addReminderChannelScore(
390
+ scores,
391
+ mapPlatformToReminderChannel(activity?.secondaryPlatform),
392
+ weights.secondaryPlatform,
393
+ evidenceOrder,
394
+ evidence,
395
+ "secondary_platform"
396
+ );
397
+ addReminderChannelScore(
398
+ scores,
399
+ mapPlatformToReminderChannel(activity?.lastSeenPlatform),
400
+ weights.lastSeenPlatform,
401
+ evidenceOrder,
402
+ evidence,
403
+ "last_seen_platform"
404
+ );
405
+ for (const hint of Object.values(args.ownerContactHints)) {
406
+ addReminderChannelScore(
407
+ scores,
408
+ mapPlatformToReminderChannel(hint.preferredCommunicationChannel),
409
+ weights.preferredContactChannel,
410
+ evidenceOrder,
411
+ evidence,
412
+ `owner_preferred_contact:${hint.source}`
413
+ );
414
+ addReminderChannelScore(
415
+ scores,
416
+ mapPlatformToReminderChannel(hint.lastResponseChannel),
417
+ weights.lastResponseChannel + lastResponseRecencyScore(
418
+ hint.lastResponseAt,
419
+ nowMs,
420
+ weights.recencyMax
421
+ ),
422
+ evidenceOrder,
423
+ evidence,
424
+ `recent_owner_response:${hint.source}`
425
+ );
426
+ addReminderChannelScore(
427
+ scores,
428
+ mapPlatformToReminderChannel(hint.source),
429
+ weights.contactSource,
430
+ evidenceOrder,
431
+ evidence,
432
+ `contact_source:${hint.source}`
433
+ );
434
+ }
435
+ for (const source of args.ownerContactSources) {
436
+ addReminderChannelScore(
437
+ scores,
438
+ mapPlatformToReminderChannel(source),
439
+ weights.ownerContactSource,
440
+ evidenceOrder,
441
+ evidence,
442
+ `configured_owner_contact:${source}`
443
+ );
444
+ }
445
+ for (const channel of args.policyChannels) {
446
+ const reminderChannel = mapPlatformToReminderChannel(channel);
447
+ addReminderChannelScore(
448
+ scores,
449
+ reminderChannel,
450
+ weights.policyChannel + (reminderChannel ? args.policyChannelWeightAdjustments?.[reminderChannel] ?? 0 : 0),
451
+ evidenceOrder,
452
+ evidence,
453
+ `channel_policy:${channel}`
454
+ );
455
+ }
456
+ return [...scores.keys()].filter((channel) => routingPolicy.includeInApp || channel !== "in_app").sort((left, right) => {
457
+ const scoreDelta = (scores.get(right) ?? 0) - (scores.get(left) ?? 0);
458
+ if (scoreDelta !== 0) {
459
+ return scoreDelta;
460
+ }
461
+ const orderDelta = (evidenceOrder.get(left) ?? Number.MAX_SAFE_INTEGER) - (evidenceOrder.get(right) ?? Number.MAX_SAFE_INTEGER);
462
+ return orderDelta !== 0 ? orderDelta : left.localeCompare(right);
463
+ }).map((channel) => ({
464
+ channel,
465
+ score: scores.get(channel) ?? 0,
466
+ evidence: evidence.get(channel) ?? [],
467
+ vetoReasons: [],
468
+ interruptionBudget: routingPolicy.interruptionBudget
469
+ }));
470
+ }
471
+ function rankReminderEscalationChannels(args) {
472
+ return rankReminderEscalationChannelCandidates(args).map(
473
+ (candidate) => candidate.channel
474
+ );
475
+ }
476
+ function readReminderAttemptLifecycle(attempt) {
477
+ return attempt.deliveryMetadata[REMINDER_LIFECYCLE_METADATA_KEY] === "escalation" ? "escalation" : "plan";
478
+ }
479
+ function shouldEscalateImmediately(outcome) {
480
+ return outcome === "blocked_connector" || outcome === "blocked_policy" || outcome === "blocked_urgency";
481
+ }
482
+ function shouldDeliverReminderForIntensity(intensity, urgency) {
483
+ if (intensity === "high_priority_only") {
484
+ return urgency === "high" || urgency === "critical";
485
+ }
486
+ if (intensity === "minimal") {
487
+ return urgency === "critical";
488
+ }
489
+ return true;
490
+ }
491
+ function isComputerPlatform(value) {
492
+ return value === "desktop_app" || value === "web_app";
493
+ }
494
+ function readReminderActivityGate(definition) {
495
+ const value = definition?.metadata?.[REMINDER_ACTIVITY_GATE_METADATA_KEY];
496
+ return REMINDER_ACTIVITY_GATES.includes(value) ? value : null;
497
+ }
498
+ function isActivelyUsingComputer(activityProfile) {
499
+ if (!activityProfile?.isCurrentlyActive) {
500
+ return false;
501
+ }
502
+ if (isComputerPlatform(activityProfile.lastSeenPlatform)) {
503
+ return true;
504
+ }
505
+ if (activityProfile.lastSeenPlatform === "client_chat") {
506
+ return isComputerPlatform(activityProfile.primaryPlatform) || isComputerPlatform(activityProfile.secondaryPlatform);
507
+ }
508
+ return false;
509
+ }
510
+ function shouldDeferReminderUntilComputerActive(args) {
511
+ if (args.channel !== "in_app") {
512
+ return false;
513
+ }
514
+ if (args.urgency === "critical") {
515
+ return false;
516
+ }
517
+ if (readReminderActivityGate(args.definition) !== "active_on_computer") {
518
+ return false;
519
+ }
520
+ return !isActivelyUsingComputer(args.activityProfile);
521
+ }
522
+ function isReminderBusyDay(activityProfile) {
523
+ if (!activityProfile) {
524
+ return false;
525
+ }
526
+ if (activityProfile.screenContextBusy === true) {
527
+ return true;
528
+ }
529
+ if (activityProfile.calendarBusy === true) {
530
+ return true;
531
+ }
532
+ if (typeof activityProfile.avgWeekdayMeetings === "number" && activityProfile.avgWeekdayMeetings >= 4) {
533
+ return true;
534
+ }
535
+ return false;
536
+ }
537
+ function readReminderAttemptDeliveryRoomId(attempt, roomIds) {
538
+ const explicitRoomId = attempt.deliveryMetadata.deliveryRoomId;
539
+ if (typeof explicitRoomId === "string" && roomIds.includes(explicitRoomId)) {
540
+ return explicitRoomId;
541
+ }
542
+ const routeEndpoint = attempt.deliveryMetadata.routeEndpoint;
543
+ return typeof routeEndpoint === "string" && roomIds.includes(routeEndpoint) ? routeEndpoint : null;
544
+ }
545
+ function readReminderAttemptAttemptedMs(attempt) {
546
+ const attemptedAt = attempt.attemptedAt ?? attempt.scheduledFor;
547
+ const attemptedMs = attemptedAt ? Date.parse(attemptedAt) : Number.NaN;
548
+ return Number.isFinite(attemptedMs) ? attemptedMs : null;
549
+ }
550
+ function reminderAttemptMatchesResponseRoom(args) {
551
+ const deliveryRoomId = readReminderAttemptDeliveryRoomId(
552
+ args.attempt,
553
+ args.roomIds
554
+ );
555
+ if (deliveryRoomId) {
556
+ return args.responseRoomId === deliveryRoomId;
557
+ }
558
+ return args.roomIds.length === 1 && args.attempt.channel === "in_app" && args.responseRoomId === args.roomIds[0];
559
+ }
560
+ function buildReminderResponseClaim(args) {
561
+ const deliveryRoomId = readReminderAttemptDeliveryRoomId(
562
+ args.attempt,
563
+ args.roomIds
564
+ );
565
+ const baseClaim = {
566
+ attemptId: args.attempt.id,
567
+ responseText: args.response.text,
568
+ responseCreatedAt: args.response.createdAt,
569
+ responseRoomId: args.response.roomId,
570
+ deliveryRoomId
571
+ };
572
+ if (!reminderAttemptMatchesResponseRoom({
573
+ attempt: args.attempt,
574
+ responseRoomId: args.response.roomId,
575
+ roomIds: args.roomIds
576
+ })) {
577
+ return {
578
+ ...baseClaim,
579
+ binding: "wrong_thread",
580
+ allowStandaloneResolution: false
581
+ };
582
+ }
583
+ const promptWindowMs = 10 * 6e4;
584
+ const candidates = args.competingAttempts.filter(
585
+ (attempt) => ["delivered", "delivered_read", "delivered_unread"].includes(
586
+ attempt.outcome
587
+ )
588
+ ).filter((attempt) => !isReminderReviewClosed(attempt)).filter(
589
+ (attempt) => reminderAttemptMatchesResponseRoom({
590
+ attempt,
591
+ responseRoomId: args.response.roomId,
592
+ roomIds: args.roomIds
593
+ })
594
+ ).map((attempt) => ({
595
+ attempt,
596
+ attemptedMs: readReminderAttemptAttemptedMs(attempt)
597
+ })).filter(
598
+ (candidate) => candidate.attemptedMs !== null && candidate.attemptedMs <= args.response.createdAt && args.response.createdAt - candidate.attemptedMs <= promptWindowMs
599
+ );
600
+ if (candidates.length === 0) {
601
+ return {
602
+ ...baseClaim,
603
+ binding: deliveryRoomId ? "delivery_thread" : "single_in_app_room",
604
+ allowStandaloneResolution: true
605
+ };
606
+ }
607
+ const latestAttemptedMs = Math.max(
608
+ ...candidates.map((candidate) => candidate.attemptedMs)
609
+ );
610
+ const latestCandidates = candidates.filter(
611
+ (candidate) => candidate.attemptedMs === latestAttemptedMs
612
+ );
613
+ const isOnlyLatest = latestCandidates.length === 1 && latestCandidates[0]?.attempt.id === args.attempt.id;
614
+ return {
615
+ ...baseClaim,
616
+ binding: isOnlyLatest ? "latest_prompt_in_thread" : "stale_or_competing_prompt",
617
+ allowStandaloneResolution: isOnlyLatest
618
+ };
619
+ }
620
+ function decideReminderReviewTransition(args) {
621
+ if (args.responseReview.decision === "explicit_resolution" && args.responseReview.resolution !== null) {
622
+ if (args.responseReview.resolution === "snoozed" && (args.ownerType !== "occurrence" || !args.responseReview.snoozeRequest)) {
623
+ const observation2 = {
624
+ decision: "needs_clarification",
625
+ respondedAt: args.responseReview.respondedAt,
626
+ responseText: args.responseReview.responseText,
627
+ reason: "snooze_resolution_requires_occurrence_duration",
628
+ classifierSource: args.responseReview.classifierSource,
629
+ semanticReason: args.responseReview.semanticReason
630
+ };
631
+ return args.reviewDue ? { kind: "clarify", observation: observation2 } : { kind: "escalate", observation: observation2 };
632
+ }
633
+ return {
634
+ kind: "resolve",
635
+ resolution: args.responseReview.resolution,
636
+ responseText: args.responseReview.responseText,
637
+ respondedAt: args.responseReview.respondedAt,
638
+ snoozeRequest: args.responseReview.snoozeRequest,
639
+ confidence: args.responseReview.confidence,
640
+ reason: args.responseReview.reason,
641
+ classifierSource: args.responseReview.classifierSource,
642
+ semanticReason: args.responseReview.semanticReason
643
+ };
644
+ }
645
+ if (!args.reviewDue) {
646
+ return { kind: "wait" };
647
+ }
648
+ const observation = {
649
+ decision: args.responseReview.decision === "needs_clarification" ? "needs_clarification" : args.responseReview.decision === "no_response" ? "no_response" : "unrelated",
650
+ respondedAt: args.responseReview.respondedAt,
651
+ responseText: args.responseReview.responseText,
652
+ reason: args.responseReview.reason,
653
+ classifierSource: args.responseReview.classifierSource,
654
+ semanticReason: args.responseReview.semanticReason
655
+ };
656
+ return args.responseReview.decision === "needs_clarification" ? { kind: "clarify", observation } : { kind: "escalate", observation };
657
+ }
658
+ const SNOOZE_RESPONSE_PATTERNS = [
659
+ /^\s*\d{1,3}\s*(m|min|mins|minute|minutes|h|hr|hrs|hour|hours)\s*$/i,
660
+ /\b(snooze|remind me later|later|not now|in a bit)\b/i,
661
+ /\b(remind me|ping me|nudge me)\s+(in|at|after|tomorrow|tonight)\b/i
662
+ ];
663
+ const SKIP_RESPONSE_PATTERNS = [
664
+ /\b(skip|dismiss|ignore|cancel this|stop this reminder)\b/i
665
+ ];
666
+ const COMPLETE_RESPONSE_PATTERNS = [
667
+ /\b(done|finished|completed|complete|did it|handled|all set)\b/i,
668
+ /\b(i|we)\s+(did|finished|completed|handled)\b/i
669
+ ];
670
+ const ACKNOWLEDGE_RESPONSE_PATTERNS = [
671
+ /\b(ack|acknowledged|got it|roger|copy|seen|ok|okay|yep|yes)\b/i
672
+ ];
673
+ function matchesAnyPattern(value, patterns) {
674
+ return patterns.some((pattern) => pattern.test(value));
675
+ }
676
+ const TITLE_STOP_WORDS = /* @__PURE__ */ new Set([
677
+ "a",
678
+ "an",
679
+ "and",
680
+ "for",
681
+ "me",
682
+ "my",
683
+ "of",
684
+ "the",
685
+ "this",
686
+ "to"
687
+ ]);
688
+ function tokenizeReminderText(value) {
689
+ return value.toLowerCase().split(/[^a-z0-9]+/u).map((token) => token.trim()).filter((token) => token.length > 2 && !TITLE_STOP_WORDS.has(token));
690
+ }
691
+ function responseReferencesReminder(text, context) {
692
+ const lower = text.toLowerCase();
693
+ if (/\b(this|that|the)\s+reminder\b/u.test(lower)) {
694
+ return true;
695
+ }
696
+ if (/\b(reminder|nudge|ping)\b/u.test(lower)) {
697
+ return true;
698
+ }
699
+ const titleTokens = tokenizeReminderText(context?.title ?? "");
700
+ if (titleTokens.length === 0) {
701
+ return false;
702
+ }
703
+ const responseTokens = new Set(tokenizeReminderText(text));
704
+ const matchingTokenCount = titleTokens.filter(
705
+ (token) => responseTokens.has(token)
706
+ ).length;
707
+ if (titleTokens.length === 1) {
708
+ return matchingTokenCount === 1 && titleTokens[0].length >= 4;
709
+ }
710
+ if (titleTokens.length === 2) {
711
+ return matchingTokenCount === 2;
712
+ }
713
+ return matchingTokenCount >= 2;
714
+ }
715
+ function resolveResponseTimestampMs(value) {
716
+ if (value instanceof Date) {
717
+ return value.getTime();
718
+ }
719
+ if (typeof value === "number" && Number.isFinite(value)) {
720
+ return value;
721
+ }
722
+ if (typeof value === "string" && value.trim().length > 0) {
723
+ const parsed = Date.parse(value);
724
+ return Number.isFinite(parsed) ? parsed : null;
725
+ }
726
+ return null;
727
+ }
728
+ function isPromptAdjacentResponse(context) {
729
+ if (!context) {
730
+ return true;
731
+ }
732
+ if (!context.attemptedAt || !context.respondedAt) {
733
+ return false;
734
+ }
735
+ const attemptedMs = Date.parse(context.attemptedAt);
736
+ const respondedMs = resolveResponseTimestampMs(context.respondedAt);
737
+ if (!Number.isFinite(attemptedMs) || respondedMs === null) {
738
+ return false;
739
+ }
740
+ const deltaMs = respondedMs - attemptedMs;
741
+ return deltaMs >= 0 && deltaMs <= 10 * 6e4;
742
+ }
743
+ function normalizeStandaloneResponse(value) {
744
+ return value.trim().toLowerCase().replace(/[.!]+$/u, "").replace(/\s+/gu, " ");
745
+ }
746
+ function isStandaloneResolutionResponse(value) {
747
+ const normalized = normalizeStandaloneResponse(value);
748
+ if (/^\d{1,3}\s*(m|min|mins|minute|minutes|h|hr|hrs|hour|hours)$/iu.test(
749
+ normalized
750
+ )) {
751
+ return true;
752
+ }
753
+ if (/^(remind me|ping me|nudge me)\s+(at|after|tomorrow)\b/iu.test(normalized)) {
754
+ return true;
755
+ }
756
+ return normalized === "done" || normalized === "finished" || normalized === "completed" || normalized === "complete" || normalized === "did it" || normalized === "handled" || normalized === "all set" || normalized === "skip" || normalized === "dismiss" || normalized === "cancel this" || normalized === "ack" || normalized === "acknowledged" || normalized === "got it" || normalized === "roger" || normalized === "copy" || normalized === "seen" || normalized === "ok" || normalized === "okay" || normalized === "yep" || normalized === "yes" || normalized === "snooze" || normalized === "later" || normalized === "not now" || normalized === "in a bit" || normalized === "remind me later";
757
+ }
758
+ function isResponseBoundToReminder(text, context) {
759
+ if (!context) {
760
+ return true;
761
+ }
762
+ if (responseReferencesReminder(text, context)) {
763
+ return true;
764
+ }
765
+ if (context.allowStandaloneResolution === false) {
766
+ return false;
767
+ }
768
+ return isPromptAdjacentResponse(context) && isStandaloneResolutionResponse(text);
769
+ }
770
+ function toSnoozeMinutes(value, unit) {
771
+ const amount = Number.parseInt(value, 10);
772
+ if (!Number.isFinite(amount) || amount <= 0) {
773
+ return null;
774
+ }
775
+ const normalizedUnit = unit.toLowerCase();
776
+ if (normalizedUnit === "h" || normalizedUnit === "hr" || normalizedUnit === "hrs" || normalizedUnit === "hour" || normalizedUnit === "hours") {
777
+ return amount * 60;
778
+ }
779
+ return amount;
780
+ }
781
+ function parseReminderSnoozeRequestFromText(text) {
782
+ const cleaned = text.trim().toLowerCase();
783
+ if (/\btomorrow\s+morning\b/u.test(cleaned)) {
784
+ return {
785
+ request: { preset: "tomorrow_morning" },
786
+ needsClarification: false,
787
+ reason: "snooze_tomorrow_morning"
788
+ };
789
+ }
790
+ if (/\btonight\b/u.test(cleaned)) {
791
+ return {
792
+ request: { preset: "tonight" },
793
+ needsClarification: false,
794
+ reason: "snooze_tonight"
795
+ };
796
+ }
797
+ const durationMatch = cleaned.match(
798
+ /\b(?:in|after|for)?\s*(\d{1,3})\s*(m|min|mins|minute|minutes|h|hr|hrs|hour|hours)\b/u
799
+ );
800
+ if (durationMatch) {
801
+ const minutes = toSnoozeMinutes(
802
+ durationMatch[1] ?? "",
803
+ durationMatch[2] ?? ""
804
+ );
805
+ if (minutes !== null) {
806
+ if (minutes === 15) {
807
+ return {
808
+ request: { preset: "15m" },
809
+ needsClarification: false,
810
+ reason: "snooze_15m"
811
+ };
812
+ }
813
+ if (minutes === 30) {
814
+ return {
815
+ request: { preset: "30m" },
816
+ needsClarification: false,
817
+ reason: "snooze_30m"
818
+ };
819
+ }
820
+ if (minutes === 60) {
821
+ return {
822
+ request: { preset: "1h" },
823
+ needsClarification: false,
824
+ reason: "snooze_1h"
825
+ };
826
+ }
827
+ return {
828
+ request: { minutes },
829
+ needsClarification: false,
830
+ reason: "snooze_duration"
831
+ };
832
+ }
833
+ }
834
+ const vagueSnooze = /\b(snooze|later|not now|in a bit|some other time)\b/u.test(cleaned) || /\b(remind me|ping me|nudge me)\s+(at|after|tomorrow)\b/u.test(cleaned);
835
+ return {
836
+ request: null,
837
+ needsClarification: vagueSnooze,
838
+ reason: vagueSnooze ? "snooze_needs_duration" : "no_snooze_request"
839
+ };
840
+ }
841
+ function classifyReminderOwnerResponseText(text, context) {
842
+ const cleaned = text.trim();
843
+ if (cleaned.length === 0) {
844
+ return {
845
+ decision: "unrelated",
846
+ resolution: null,
847
+ snoozeRequest: null,
848
+ confidence: 0,
849
+ reason: "empty_response"
850
+ };
851
+ }
852
+ if (matchesAnyPattern(cleaned, SNOOZE_RESPONSE_PATTERNS)) {
853
+ if (!isResponseBoundToReminder(cleaned, context)) {
854
+ return {
855
+ decision: "unrelated",
856
+ resolution: null,
857
+ snoozeRequest: null,
858
+ confidence: 0.35,
859
+ reason: "snooze_language_not_bound_to_reminder"
860
+ };
861
+ }
862
+ const snooze = parseReminderSnoozeRequestFromText(cleaned);
863
+ if (snooze.request) {
864
+ return {
865
+ decision: "explicit_resolution",
866
+ resolution: "snoozed",
867
+ snoozeRequest: snooze.request,
868
+ confidence: 0.86,
869
+ reason: snooze.reason
870
+ };
871
+ }
872
+ if (snooze.needsClarification) {
873
+ return {
874
+ decision: "needs_clarification",
875
+ resolution: null,
876
+ snoozeRequest: null,
877
+ confidence: 0.68,
878
+ reason: snooze.reason
879
+ };
880
+ }
881
+ return {
882
+ decision: "needs_clarification",
883
+ resolution: null,
884
+ snoozeRequest: null,
885
+ confidence: 0.62,
886
+ reason: "snooze_needs_duration"
887
+ };
888
+ }
889
+ if (matchesAnyPattern(cleaned, SKIP_RESPONSE_PATTERNS)) {
890
+ if (!isResponseBoundToReminder(cleaned, context)) {
891
+ return {
892
+ decision: "unrelated",
893
+ resolution: null,
894
+ snoozeRequest: null,
895
+ confidence: 0.35,
896
+ reason: "skip_language_not_bound_to_reminder"
897
+ };
898
+ }
899
+ return {
900
+ decision: "explicit_resolution",
901
+ resolution: "skipped",
902
+ snoozeRequest: null,
903
+ confidence: 0.82,
904
+ reason: "skip_language"
905
+ };
906
+ }
907
+ if (matchesAnyPattern(cleaned, COMPLETE_RESPONSE_PATTERNS)) {
908
+ if (!isResponseBoundToReminder(cleaned, context)) {
909
+ return {
910
+ decision: "unrelated",
911
+ resolution: null,
912
+ snoozeRequest: null,
913
+ confidence: 0.35,
914
+ reason: "completion_language_not_bound_to_reminder"
915
+ };
916
+ }
917
+ return {
918
+ decision: "explicit_resolution",
919
+ resolution: "completed",
920
+ snoozeRequest: null,
921
+ confidence: 0.86,
922
+ reason: "completion_language"
923
+ };
924
+ }
925
+ if (matchesAnyPattern(cleaned, ACKNOWLEDGE_RESPONSE_PATTERNS)) {
926
+ if (!isResponseBoundToReminder(cleaned, context)) {
927
+ return {
928
+ decision: "unrelated",
929
+ resolution: null,
930
+ snoozeRequest: null,
931
+ confidence: 0.3,
932
+ reason: "acknowledgement_language_not_bound_to_reminder"
933
+ };
934
+ }
935
+ return {
936
+ decision: "explicit_resolution",
937
+ resolution: "acknowledged",
938
+ snoozeRequest: null,
939
+ confidence: 0.74,
940
+ reason: "acknowledgement_language"
941
+ };
942
+ }
943
+ return {
944
+ decision: "unrelated",
945
+ resolution: null,
946
+ snoozeRequest: null,
947
+ confidence: 0.4,
948
+ reason: "no_explicit_reminder_resolution"
949
+ };
950
+ }
951
+ function normalizeSemanticConfidence(value) {
952
+ return typeof value === "number" && Number.isFinite(value) ? Math.max(0, Math.min(1, value)) : 0.5;
953
+ }
954
+ function normalizeSemanticReason(value) {
955
+ return typeof value === "string" && value.trim().length > 0 ? value.trim().slice(0, 120) : "semantic_classifier";
956
+ }
957
+ function normalizeSemanticResolution(value) {
958
+ return value === "acknowledged" || value === "completed" || value === "skipped" || value === "snoozed" ? value : null;
959
+ }
960
+ function normalizeSemanticDecision(value) {
961
+ return value === "explicit_resolution" || value === "needs_clarification" || value === "unrelated" || value === "abstain" ? value : null;
962
+ }
963
+ function normalizeSemanticSnoozeRequest(value) {
964
+ if (!isRecord(value)) {
965
+ return null;
966
+ }
967
+ const minutes = value.minutes;
968
+ if (typeof minutes === "number" && Number.isFinite(minutes) && minutes > 0) {
969
+ return { minutes: Math.floor(minutes) };
970
+ }
971
+ const preset = value.preset;
972
+ if (preset === "15m" || preset === "30m" || preset === "1h" || preset === "tomorrow_morning" || preset === "tonight") {
973
+ return { preset };
974
+ }
975
+ return null;
976
+ }
977
+ function parseReminderOwnerResponseSemanticClassification(value) {
978
+ if (!isRecord(value)) {
979
+ return null;
980
+ }
981
+ const decision = normalizeSemanticDecision(value.decision);
982
+ if (!decision) {
983
+ return null;
984
+ }
985
+ const confidence = normalizeSemanticConfidence(value.confidence);
986
+ const reason = normalizeSemanticReason(value.reason);
987
+ if (decision === "abstain") {
988
+ return {
989
+ decision,
990
+ resolution: null,
991
+ snoozeRequest: null,
992
+ confidence,
993
+ reason
994
+ };
995
+ }
996
+ const resolution = decision === "explicit_resolution" ? normalizeSemanticResolution(value.resolution) : null;
997
+ if (decision === "explicit_resolution" && !resolution) {
998
+ return null;
999
+ }
1000
+ const snoozeRequest = resolution === "snoozed" ? normalizeSemanticSnoozeRequest(value.snoozeRequest) : null;
1001
+ return {
1002
+ decision,
1003
+ resolution,
1004
+ snoozeRequest,
1005
+ confidence,
1006
+ reason
1007
+ };
1008
+ }
1009
+ async function classifyReminderOwnerResponse(args) {
1010
+ const deterministic = classifyReminderOwnerResponseText(
1011
+ args.text,
1012
+ args.context
1013
+ );
1014
+ if (deterministic.decision !== "unrelated" || !args.semanticClassifier) {
1015
+ return { ...deterministic, classifierSource: "deterministic" };
1016
+ }
1017
+ if (args.semanticClassifier) {
1018
+ try {
1019
+ const semantic = await args.semanticClassifier({
1020
+ text: args.text,
1021
+ context: args.context
1022
+ });
1023
+ if (semantic && semantic.decision !== "abstain") {
1024
+ return {
1025
+ ...semantic,
1026
+ classifierSource: "semantic",
1027
+ semanticReason: semantic.reason
1028
+ };
1029
+ }
1030
+ if (semantic?.decision === "abstain") {
1031
+ return {
1032
+ ...deterministic,
1033
+ classifierSource: "semantic_abstain",
1034
+ semanticReason: semantic.reason
1035
+ };
1036
+ }
1037
+ } catch {
1038
+ return {
1039
+ ...deterministic,
1040
+ classifierSource: "semantic_error",
1041
+ semanticReason: "semantic_classifier_error"
1042
+ };
1043
+ }
1044
+ }
1045
+ return { ...deterministic, classifierSource: "deterministic" };
1046
+ }
1047
+ function normalizeReminderUrgencyValue(value) {
1048
+ if (typeof value !== "string") {
1049
+ return null;
1050
+ }
1051
+ const lower = value.toLowerCase().trim();
1052
+ return lower === "low" || lower === "medium" || lower === "high" || lower === "critical" ? lower : null;
1053
+ }
1054
+ function resolveReminderDeliveryUrgency(args) {
1055
+ const metadataUrgency = normalizeReminderUrgencyValue(
1056
+ args.metadata?.[REMINDER_URGENCY_METADATA_KEY]
1057
+ ) ?? normalizeReminderUrgencyValue(
1058
+ args.metadata?.[REMINDER_URGENCY_LEGACY_METADATA_KEY]
1059
+ );
1060
+ if (metadataUrgency) {
1061
+ return metadataUrgency;
1062
+ }
1063
+ if (typeof args.priority === "number" && Number.isFinite(args.priority)) {
1064
+ return priorityToUrgency(args.priority);
1065
+ }
1066
+ return args.fallback ?? "medium";
1067
+ }
1068
+ function resolveReminderEscalationDelayMinutes(urgency, previousOutcome, repeat) {
1069
+ if (shouldEscalateImmediately(previousOutcome)) {
1070
+ return 0;
1071
+ }
1072
+ const delays = REMINDER_ESCALATION_DELAYS[urgency];
1073
+ const base = repeat ? delays.repeatMinutes : delays.initialMinutes;
1074
+ if (base === null) {
1075
+ return null;
1076
+ }
1077
+ if (previousOutcome === "delivered_read") {
1078
+ return Math.max(1, Math.round(base * 0.6));
1079
+ }
1080
+ return base;
1081
+ }
1082
+ function resolveReminderReviewDelayMinutes(urgency, lifecycle) {
1083
+ const delays = REMINDER_ESCALATION_DELAYS[urgency];
1084
+ return lifecycle === "escalation" ? delays.repeatMinutes : delays.initialMinutes;
1085
+ }
1086
+ function readReminderPreferenceSettingFromMetadata(metadata, source) {
1087
+ if (!metadata) {
1088
+ return null;
1089
+ }
1090
+ const intensity = coerceReminderIntensity(
1091
+ metadata[REMINDER_INTENSITY_METADATA_KEY],
1092
+ REMINDER_INTENSITY_METADATA_KEY
1093
+ );
1094
+ if (!intensity) {
1095
+ return null;
1096
+ }
1097
+ return {
1098
+ intensity,
1099
+ source,
1100
+ updatedAt: normalizeOptionalIsoString(
1101
+ metadata[REMINDER_INTENSITY_UPDATED_AT_METADATA_KEY],
1102
+ REMINDER_INTENSITY_UPDATED_AT_METADATA_KEY
1103
+ ) ?? null,
1104
+ note: normalizeOptionalString(metadata[REMINDER_INTENSITY_NOTE_METADATA_KEY]) ?? null
1105
+ };
1106
+ }
1107
+ function withReminderPreferenceMetadata(current, intensity, updatedAt, note, scope) {
1108
+ return mergeMetadata(current, {
1109
+ [REMINDER_INTENSITY_METADATA_KEY]: intensity,
1110
+ [REMINDER_INTENSITY_UPDATED_AT_METADATA_KEY]: updatedAt,
1111
+ [REMINDER_INTENSITY_NOTE_METADATA_KEY]: note,
1112
+ [REMINDER_PREFERENCE_SCOPE_METADATA_KEY]: scope
1113
+ });
1114
+ }
1115
+ function applyReminderIntensityToPlan(plan, intensity) {
1116
+ const steps = plan.steps.map((step) => ({ ...step }));
1117
+ if (intensity === "minimal") {
1118
+ return {
1119
+ ...plan,
1120
+ steps: steps.slice(0, 1)
1121
+ };
1122
+ }
1123
+ if (intensity === "persistent") {
1124
+ const lastStep = steps[steps.length - 1] ?? {
1125
+ channel: "in_app",
1126
+ offsetMinutes: 0,
1127
+ label: "Reminder"
1128
+ };
1129
+ const extraStepOffset = lastStep.offsetMinutes + 60;
1130
+ if (!steps.some(
1131
+ (step) => step.channel === "in_app" && step.offsetMinutes === extraStepOffset
1132
+ )) {
1133
+ steps.push({
1134
+ channel: "in_app",
1135
+ offsetMinutes: extraStepOffset,
1136
+ label: `${lastStep.label} follow-up`
1137
+ });
1138
+ steps.sort((left, right) => left.offsetMinutes - right.offsetMinutes);
1139
+ }
1140
+ }
1141
+ return {
1142
+ ...plan,
1143
+ steps
1144
+ };
1145
+ }
1146
+ export {
1147
+ DEFAULT_REMINDER_ESCALATION_PROFILE,
1148
+ _isReminderIntensity,
1149
+ applyReminderIntensityToPlan,
1150
+ buildReminderEnforcementState,
1151
+ buildReminderResponseClaim,
1152
+ classifyReminderOwnerResponse,
1153
+ classifyReminderOwnerResponseText,
1154
+ coerceReminderIntensity,
1155
+ decideReminderReviewTransition,
1156
+ definitionTriggersEnforcement,
1157
+ isReminderBusyDay,
1158
+ isReminderChannel,
1159
+ isReminderReviewClosed,
1160
+ mapPlatformToReminderChannel,
1161
+ normalizeActivitySignalSource,
1162
+ normalizeActivitySignalState,
1163
+ normalizeOptionalIdleState,
1164
+ normalizeReminderIntensityInput,
1165
+ normalizeReminderUrgencyValue,
1166
+ parseReminderOwnerResponseSemanticClassification,
1167
+ parseReminderSnoozeRequestFromText,
1168
+ rankReminderEscalationChannelCandidates,
1169
+ rankReminderEscalationChannels,
1170
+ readReminderActivityGate,
1171
+ readReminderAttemptLifecycle,
1172
+ readReminderEscalationProfile,
1173
+ readReminderPreferenceSettingFromMetadata,
1174
+ readReminderReviewAt,
1175
+ readReminderReviewStatus,
1176
+ resolveReminderDeliveryUrgency,
1177
+ resolveReminderEscalationDelayMinutes,
1178
+ resolveReminderEscalationProfileDecision,
1179
+ resolveReminderEscalationRoutingPolicy,
1180
+ resolveReminderReviewDelayMinutes,
1181
+ shouldDeferReminderUntilComputerActive,
1182
+ shouldDeliverReminderForIntensity,
1183
+ shouldEscalateImmediately,
1184
+ withReminderPreferenceMetadata
1185
+ };
1186
+ //# sourceMappingURL=service-helpers-reminder.js.map