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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1317) hide show
  1. package/dist/actions/app-block.d.ts +15 -0
  2. package/dist/actions/app-block.d.ts.map +1 -0
  3. package/dist/actions/app-block.js +349 -0
  4. package/dist/actions/app-block.js.map +1 -0
  5. package/dist/actions/autofill.d.ts +20 -0
  6. package/dist/actions/autofill.d.ts.map +1 -0
  7. package/dist/actions/autofill.js +370 -0
  8. package/dist/actions/autofill.js.map +1 -0
  9. package/dist/actions/block.d.ts +30 -0
  10. package/dist/actions/block.d.ts.map +1 -0
  11. package/dist/actions/block.js +326 -0
  12. package/dist/actions/block.js.map +1 -0
  13. package/dist/actions/book-travel.d.ts +10 -0
  14. package/dist/actions/book-travel.d.ts.map +1 -0
  15. package/dist/actions/book-travel.js +467 -0
  16. package/dist/actions/book-travel.js.map +1 -0
  17. package/dist/actions/brief.d.ts +60 -0
  18. package/dist/actions/brief.d.ts.map +1 -0
  19. package/dist/actions/brief.js +485 -0
  20. package/dist/actions/brief.js.map +1 -0
  21. package/dist/actions/calendar.d.ts +22 -0
  22. package/dist/actions/calendar.d.ts.map +1 -0
  23. package/dist/actions/calendar.js +832 -0
  24. package/dist/actions/calendar.js.map +1 -0
  25. package/dist/actions/conflict-detect.d.ts +67 -0
  26. package/dist/actions/conflict-detect.d.ts.map +1 -0
  27. package/dist/actions/conflict-detect.js +310 -0
  28. package/dist/actions/conflict-detect.js.map +1 -0
  29. package/dist/actions/connector.d.ts +5 -0
  30. package/dist/actions/connector.d.ts.map +1 -0
  31. package/dist/actions/connector.js +1354 -0
  32. package/dist/actions/connector.js.map +1 -0
  33. package/dist/actions/credentials.d.ts +14 -0
  34. package/dist/actions/credentials.d.ts.map +1 -0
  35. package/dist/actions/credentials.js +191 -0
  36. package/dist/actions/credentials.js.map +1 -0
  37. package/dist/actions/document.d.ts +36 -0
  38. package/dist/actions/document.d.ts.map +1 -0
  39. package/dist/actions/document.js +613 -0
  40. package/dist/actions/document.js.map +1 -0
  41. package/dist/actions/entity.d.ts +20 -0
  42. package/dist/actions/entity.d.ts.map +1 -0
  43. package/dist/actions/entity.js +785 -0
  44. package/dist/actions/entity.js.map +1 -0
  45. package/dist/actions/health.d.ts +4 -0
  46. package/dist/actions/health.d.ts.map +1 -0
  47. package/dist/actions/health.js +37 -0
  48. package/dist/actions/health.js.map +1 -0
  49. package/dist/actions/inbox.d.ts +12 -0
  50. package/dist/actions/inbox.d.ts.map +1 -0
  51. package/dist/actions/inbox.js +13 -0
  52. package/dist/actions/inbox.js.map +1 -0
  53. package/dist/actions/lib/calendly-handler.d.ts +3 -0
  54. package/dist/actions/lib/calendly-handler.d.ts.map +1 -0
  55. package/dist/actions/lib/calendly-handler.js +506 -0
  56. package/dist/actions/lib/calendly-handler.js.map +1 -0
  57. package/dist/actions/lib/extract-goal-plan.d.ts +69 -0
  58. package/dist/actions/lib/extract-goal-plan.d.ts.map +1 -0
  59. package/dist/actions/lib/extract-goal-plan.js +488 -0
  60. package/dist/actions/lib/extract-goal-plan.js.map +1 -0
  61. package/dist/actions/lib/extract-life-operation.d.ts +18 -0
  62. package/dist/actions/lib/extract-life-operation.d.ts.map +1 -0
  63. package/dist/actions/lib/extract-life-operation.js +318 -0
  64. package/dist/actions/lib/extract-life-operation.js.map +1 -0
  65. package/dist/actions/lib/extract-task-plan.d.ts +78 -0
  66. package/dist/actions/lib/extract-task-plan.d.ts.map +1 -0
  67. package/dist/actions/lib/extract-task-plan.js +355 -0
  68. package/dist/actions/lib/extract-task-plan.js.map +1 -0
  69. package/dist/actions/lib/extract-update-fields.d.ts +27 -0
  70. package/dist/actions/lib/extract-update-fields.d.ts.map +1 -0
  71. package/dist/actions/lib/extract-update-fields.js +172 -0
  72. package/dist/actions/lib/extract-update-fields.js.map +1 -0
  73. package/dist/actions/lib/lifeops-deferred-draft.d.ts +68 -0
  74. package/dist/actions/lib/lifeops-deferred-draft.d.ts.map +1 -0
  75. package/dist/actions/lib/lifeops-deferred-draft.js +315 -0
  76. package/dist/actions/lib/lifeops-deferred-draft.js.map +1 -0
  77. package/dist/actions/lib/messaging-helpers.d.ts +20 -0
  78. package/dist/actions/lib/messaging-helpers.d.ts.map +1 -0
  79. package/dist/actions/lib/messaging-helpers.js +103 -0
  80. package/dist/actions/lib/messaging-helpers.js.map +1 -0
  81. package/dist/actions/lib/owner-policy-writes.d.ts +49 -0
  82. package/dist/actions/lib/owner-policy-writes.d.ts.map +1 -0
  83. package/dist/actions/lib/owner-policy-writes.js +157 -0
  84. package/dist/actions/lib/owner-policy-writes.js.map +1 -0
  85. package/dist/actions/lib/prompt-format.d.ts +3 -0
  86. package/dist/actions/lib/prompt-format.d.ts.map +1 -0
  87. package/dist/actions/lib/prompt-format.js +42 -0
  88. package/dist/actions/lib/prompt-format.js.map +1 -0
  89. package/dist/actions/lib/scheduling-handler.d.ts +93 -0
  90. package/dist/actions/lib/scheduling-handler.d.ts.map +1 -0
  91. package/dist/actions/lib/scheduling-handler.js +868 -0
  92. package/dist/actions/lib/scheduling-handler.js.map +1 -0
  93. package/dist/actions/life.d.ts +13 -0
  94. package/dist/actions/life.d.ts.map +1 -0
  95. package/dist/actions/life.js +2524 -0
  96. package/dist/actions/life.js.map +1 -0
  97. package/dist/actions/money.d.ts +24 -0
  98. package/dist/actions/money.d.ts.map +1 -0
  99. package/dist/actions/money.js +41 -0
  100. package/dist/actions/money.js.map +1 -0
  101. package/dist/actions/owner-surfaces.d.ts +11 -0
  102. package/dist/actions/owner-surfaces.d.ts.map +1 -0
  103. package/dist/actions/owner-surfaces.js +493 -0
  104. package/dist/actions/owner-surfaces.js.map +1 -0
  105. package/dist/actions/password-manager.d.ts +10 -0
  106. package/dist/actions/password-manager.d.ts.map +1 -0
  107. package/dist/actions/password-manager.js +195 -0
  108. package/dist/actions/password-manager.js.map +1 -0
  109. package/dist/actions/payments.d.ts +10 -0
  110. package/dist/actions/payments.d.ts.map +1 -0
  111. package/dist/actions/payments.js +5 -0
  112. package/dist/actions/payments.js.map +1 -0
  113. package/dist/actions/prioritize.d.ts +49 -0
  114. package/dist/actions/prioritize.d.ts.map +1 -0
  115. package/dist/actions/prioritize.js +313 -0
  116. package/dist/actions/prioritize.js.map +1 -0
  117. package/dist/actions/remote-desktop.d.ts +13 -0
  118. package/dist/actions/remote-desktop.d.ts.map +1 -0
  119. package/dist/actions/remote-desktop.js +11 -0
  120. package/dist/actions/remote-desktop.js.map +1 -0
  121. package/dist/actions/resolve-request.d.ts +12 -0
  122. package/dist/actions/resolve-request.d.ts.map +1 -0
  123. package/dist/actions/resolve-request.js +427 -0
  124. package/dist/actions/resolve-request.js.map +1 -0
  125. package/dist/actions/schedule.d.ts +10 -0
  126. package/dist/actions/schedule.d.ts.map +1 -0
  127. package/dist/actions/schedule.js +113 -0
  128. package/dist/actions/schedule.js.map +1 -0
  129. package/dist/actions/scheduled-task.d.ts +32 -0
  130. package/dist/actions/scheduled-task.d.ts.map +1 -0
  131. package/dist/actions/scheduled-task.js +661 -0
  132. package/dist/actions/scheduled-task.js.map +1 -0
  133. package/dist/actions/screen-time.d.ts +4 -0
  134. package/dist/actions/screen-time.d.ts.map +1 -0
  135. package/dist/actions/screen-time.js +47 -0
  136. package/dist/actions/screen-time.js.map +1 -0
  137. package/dist/actions/subscriptions.d.ts +8 -0
  138. package/dist/actions/subscriptions.d.ts.map +1 -0
  139. package/dist/actions/subscriptions.js +327 -0
  140. package/dist/actions/subscriptions.js.map +1 -0
  141. package/dist/actions/voice-call.d.ts +16 -0
  142. package/dist/actions/voice-call.d.ts.map +1 -0
  143. package/dist/actions/voice-call.js +756 -0
  144. package/dist/actions/voice-call.js.map +1 -0
  145. package/dist/actions/website-block.d.ts +15 -0
  146. package/dist/actions/website-block.d.ts.map +1 -0
  147. package/dist/actions/website-block.js +719 -0
  148. package/dist/actions/website-block.js.map +1 -0
  149. package/dist/actions/work-thread.d.ts +5 -0
  150. package/dist/actions/work-thread.d.ts.map +1 -0
  151. package/dist/actions/work-thread.js +556 -0
  152. package/dist/actions/work-thread.js.map +1 -0
  153. package/dist/activity-profile/activity-tracker-repo.d.ts +28 -0
  154. package/dist/activity-profile/activity-tracker-repo.d.ts.map +1 -0
  155. package/dist/activity-profile/activity-tracker-repo.js +61 -0
  156. package/dist/activity-profile/activity-tracker-repo.js.map +1 -0
  157. package/dist/activity-profile/activity-tracker-reporting.d.ts +52 -0
  158. package/dist/activity-profile/activity-tracker-reporting.d.ts.map +1 -0
  159. package/dist/activity-profile/activity-tracker-reporting.js +119 -0
  160. package/dist/activity-profile/activity-tracker-reporting.js.map +1 -0
  161. package/dist/activity-profile/activity-tracker-service.d.ts +36 -0
  162. package/dist/activity-profile/activity-tracker-service.d.ts.map +1 -0
  163. package/dist/activity-profile/activity-tracker-service.js +187 -0
  164. package/dist/activity-profile/activity-tracker-service.js.map +1 -0
  165. package/dist/activity-profile/analyzer.d.ts +23 -0
  166. package/dist/activity-profile/analyzer.d.ts.map +1 -0
  167. package/dist/activity-profile/analyzer.js +485 -0
  168. package/dist/activity-profile/analyzer.js.map +1 -0
  169. package/dist/activity-profile/presence-signal-bridge-service.d.ts +14 -0
  170. package/dist/activity-profile/presence-signal-bridge-service.d.ts.map +1 -0
  171. package/dist/activity-profile/presence-signal-bridge-service.js +159 -0
  172. package/dist/activity-profile/presence-signal-bridge-service.js.map +1 -0
  173. package/dist/activity-profile/proactive-inbox-digest.d.ts +3 -0
  174. package/dist/activity-profile/proactive-inbox-digest.d.ts.map +1 -0
  175. package/dist/activity-profile/proactive-inbox-digest.js +21 -0
  176. package/dist/activity-profile/proactive-inbox-digest.js.map +1 -0
  177. package/dist/activity-profile/proactive-planner.d.ts +150 -0
  178. package/dist/activity-profile/proactive-planner.d.ts.map +1 -0
  179. package/dist/activity-profile/proactive-planner.js +529 -0
  180. package/dist/activity-profile/proactive-planner.js.map +1 -0
  181. package/dist/activity-profile/proactive-worker.d.ts +33 -0
  182. package/dist/activity-profile/proactive-worker.d.ts.map +1 -0
  183. package/dist/activity-profile/proactive-worker.js +779 -0
  184. package/dist/activity-profile/proactive-worker.js.map +1 -0
  185. package/dist/activity-profile/profile-metadata.d.ts +10 -0
  186. package/dist/activity-profile/profile-metadata.d.ts.map +1 -0
  187. package/dist/activity-profile/profile-metadata.js +16 -0
  188. package/dist/activity-profile/profile-metadata.js.map +1 -0
  189. package/dist/activity-profile/redactor.d.ts +15 -0
  190. package/dist/activity-profile/redactor.d.ts.map +1 -0
  191. package/dist/activity-profile/redactor.js +22 -0
  192. package/dist/activity-profile/redactor.js.map +1 -0
  193. package/dist/activity-profile/service.d.ts +11 -0
  194. package/dist/activity-profile/service.d.ts.map +1 -0
  195. package/dist/activity-profile/service.js +272 -0
  196. package/dist/activity-profile/service.js.map +1 -0
  197. package/dist/activity-profile/types.d.ts +97 -0
  198. package/dist/activity-profile/types.d.ts.map +1 -0
  199. package/dist/activity-profile/types.js +36 -0
  200. package/dist/activity-profile/types.js.map +1 -0
  201. package/dist/agent-lifeops.d.ts +2 -0
  202. package/dist/agent-lifeops.d.ts.map +1 -0
  203. package/dist/agent-lifeops.js +2 -0
  204. package/dist/agent-lifeops.js.map +1 -0
  205. package/dist/api/client-lifeops.d.ts +319 -0
  206. package/dist/api/client-lifeops.d.ts.map +1 -0
  207. package/dist/api/client-lifeops.js +794 -0
  208. package/dist/api/client-lifeops.js.map +1 -0
  209. package/dist/automation-node-contributor.d.ts +2 -0
  210. package/dist/automation-node-contributor.d.ts.map +1 -0
  211. package/dist/automation-node-contributor.js +184 -0
  212. package/dist/automation-node-contributor.js.map +1 -0
  213. package/dist/client.d.ts +16 -0
  214. package/dist/client.d.ts.map +1 -0
  215. package/dist/client.js +18 -0
  216. package/dist/client.js.map +1 -0
  217. package/dist/components/AppBlockerSettingsCard.d.ts +3 -0
  218. package/dist/components/AppBlockerSettingsCard.d.ts.map +1 -0
  219. package/dist/components/AppBlockerSettingsCard.js +538 -0
  220. package/dist/components/AppBlockerSettingsCard.js.map +1 -0
  221. package/dist/components/WebsiteBlockerSettingsCard.d.ts +3 -0
  222. package/dist/components/WebsiteBlockerSettingsCard.d.ts.map +1 -0
  223. package/dist/components/WebsiteBlockerSettingsCard.js +148 -0
  224. package/dist/components/WebsiteBlockerSettingsCard.js.map +1 -0
  225. package/dist/contracts/index.d.ts +2 -0
  226. package/dist/contracts/index.d.ts.map +1 -0
  227. package/dist/contracts/index.js +2 -0
  228. package/dist/contracts/index.js.map +1 -0
  229. package/dist/contracts/lifeops.d.ts +2 -0
  230. package/dist/contracts/lifeops.d.ts.map +1 -0
  231. package/dist/contracts/lifeops.js +2 -0
  232. package/dist/contracts/lifeops.js.map +1 -0
  233. package/dist/default-packs/autofill-whitelist-pack.d.ts +17 -0
  234. package/dist/default-packs/autofill-whitelist-pack.d.ts.map +1 -0
  235. package/dist/default-packs/autofill-whitelist-pack.js +56 -0
  236. package/dist/default-packs/autofill-whitelist-pack.js.map +1 -0
  237. package/dist/default-packs/consolidation-policies.d.ts +14 -0
  238. package/dist/default-packs/consolidation-policies.d.ts.map +1 -0
  239. package/dist/default-packs/consolidation-policies.js +17 -0
  240. package/dist/default-packs/consolidation-policies.js.map +1 -0
  241. package/dist/default-packs/contract-types.d.ts +200 -0
  242. package/dist/default-packs/contract-types.d.ts.map +1 -0
  243. package/dist/default-packs/contract-types.js +1 -0
  244. package/dist/default-packs/contract-types.js.map +1 -0
  245. package/dist/default-packs/daily-rhythm.d.ts +28 -0
  246. package/dist/default-packs/daily-rhythm.d.ts.map +1 -0
  247. package/dist/default-packs/daily-rhythm.js +136 -0
  248. package/dist/default-packs/daily-rhythm.js.map +1 -0
  249. package/dist/default-packs/escalation-ladders.d.ts +18 -0
  250. package/dist/default-packs/escalation-ladders.d.ts.map +1 -0
  251. package/dist/default-packs/escalation-ladders.js +17 -0
  252. package/dist/default-packs/escalation-ladders.js.map +1 -0
  253. package/dist/default-packs/executive-assistant.d.ts +50 -0
  254. package/dist/default-packs/executive-assistant.d.ts.map +1 -0
  255. package/dist/default-packs/executive-assistant.js +745 -0
  256. package/dist/default-packs/executive-assistant.js.map +1 -0
  257. package/dist/default-packs/followup-starter.d.ts +49 -0
  258. package/dist/default-packs/followup-starter.d.ts.map +1 -0
  259. package/dist/default-packs/followup-starter.js +104 -0
  260. package/dist/default-packs/followup-starter.js.map +1 -0
  261. package/dist/default-packs/habit-starters.d.ts +37 -0
  262. package/dist/default-packs/habit-starters.d.ts.map +1 -0
  263. package/dist/default-packs/habit-starters.js +255 -0
  264. package/dist/default-packs/habit-starters.js.map +1 -0
  265. package/dist/default-packs/inbox-triage-starter.d.ts +23 -0
  266. package/dist/default-packs/inbox-triage-starter.d.ts.map +1 -0
  267. package/dist/default-packs/inbox-triage-starter.js +61 -0
  268. package/dist/default-packs/inbox-triage-starter.js.map +1 -0
  269. package/dist/default-packs/index.d.ts +54 -0
  270. package/dist/default-packs/index.d.ts.map +1 -0
  271. package/dist/default-packs/index.js +150 -0
  272. package/dist/default-packs/index.js.map +1 -0
  273. package/dist/default-packs/lint.d.ts +62 -0
  274. package/dist/default-packs/lint.d.ts.map +1 -0
  275. package/dist/default-packs/lint.js +161 -0
  276. package/dist/default-packs/lint.js.map +1 -0
  277. package/dist/default-packs/morning-brief.d.ts +44 -0
  278. package/dist/default-packs/morning-brief.d.ts.map +1 -0
  279. package/dist/default-packs/morning-brief.js +69 -0
  280. package/dist/default-packs/morning-brief.js.map +1 -0
  281. package/dist/default-packs/quiet-user-watcher.d.ts +49 -0
  282. package/dist/default-packs/quiet-user-watcher.d.ts.map +1 -0
  283. package/dist/default-packs/quiet-user-watcher.js +92 -0
  284. package/dist/default-packs/quiet-user-watcher.js.map +1 -0
  285. package/dist/default-packs/registry-types.d.ts +51 -0
  286. package/dist/default-packs/registry-types.d.ts.map +1 -0
  287. package/dist/default-packs/registry-types.js +1 -0
  288. package/dist/default-packs/registry-types.js.map +1 -0
  289. package/dist/default-packs/task-definitions.d.ts +88 -0
  290. package/dist/default-packs/task-definitions.d.ts.map +1 -0
  291. package/dist/default-packs/task-definitions.js +87 -0
  292. package/dist/default-packs/task-definitions.js.map +1 -0
  293. package/dist/events/index.d.ts +34 -0
  294. package/dist/events/index.d.ts.map +1 -0
  295. package/dist/events/index.js +30 -0
  296. package/dist/events/index.js.map +1 -0
  297. package/dist/followup/actions/listOverdueFollowups.d.ts +3 -0
  298. package/dist/followup/actions/listOverdueFollowups.d.ts.map +1 -0
  299. package/dist/followup/actions/listOverdueFollowups.js +90 -0
  300. package/dist/followup/actions/listOverdueFollowups.js.map +1 -0
  301. package/dist/followup/actions/markFollowupDone.d.ts +3 -0
  302. package/dist/followup/actions/markFollowupDone.d.ts.map +1 -0
  303. package/dist/followup/actions/markFollowupDone.js +171 -0
  304. package/dist/followup/actions/markFollowupDone.js.map +1 -0
  305. package/dist/followup/actions/setFollowupThreshold.d.ts +3 -0
  306. package/dist/followup/actions/setFollowupThreshold.d.ts.map +1 -0
  307. package/dist/followup/actions/setFollowupThreshold.js +171 -0
  308. package/dist/followup/actions/setFollowupThreshold.js.map +1 -0
  309. package/dist/followup/followup-tracker.d.ts +83 -0
  310. package/dist/followup/followup-tracker.d.ts.map +1 -0
  311. package/dist/followup/followup-tracker.js +311 -0
  312. package/dist/followup/followup-tracker.js.map +1 -0
  313. package/dist/followup/index.d.ts +5 -0
  314. package/dist/followup/index.d.ts.map +1 -0
  315. package/dist/followup/index.js +39 -0
  316. package/dist/followup/index.js.map +1 -0
  317. package/dist/hooks/connector-error.d.ts +2 -0
  318. package/dist/hooks/connector-error.d.ts.map +1 -0
  319. package/dist/hooks/connector-error.js +13 -0
  320. package/dist/hooks/connector-error.js.map +1 -0
  321. package/dist/hooks/useDiscordConnector.d.ts +11 -0
  322. package/dist/hooks/useDiscordConnector.d.ts.map +1 -0
  323. package/dist/hooks/useDiscordConnector.js +95 -0
  324. package/dist/hooks/useDiscordConnector.js.map +1 -0
  325. package/dist/hooks/useGoogleLifeOpsConnector.d.ts +23 -0
  326. package/dist/hooks/useGoogleLifeOpsConnector.d.ts.map +1 -0
  327. package/dist/hooks/useGoogleLifeOpsConnector.js +630 -0
  328. package/dist/hooks/useGoogleLifeOpsConnector.js.map +1 -0
  329. package/dist/hooks/useIMessageConnector.d.ts +10 -0
  330. package/dist/hooks/useIMessageConnector.d.ts.map +1 -0
  331. package/dist/hooks/useIMessageConnector.js +57 -0
  332. package/dist/hooks/useIMessageConnector.js.map +1 -0
  333. package/dist/hooks/useInbox.d.ts +36 -0
  334. package/dist/hooks/useInbox.d.ts.map +1 -0
  335. package/dist/hooks/useInbox.js +96 -0
  336. package/dist/hooks/useInbox.js.map +1 -0
  337. package/dist/hooks/useLifeOpsActivitySignals.d.ts +2 -0
  338. package/dist/hooks/useLifeOpsActivitySignals.d.ts.map +1 -0
  339. package/dist/hooks/useLifeOpsActivitySignals.js +358 -0
  340. package/dist/hooks/useLifeOpsActivitySignals.js.map +1 -0
  341. package/dist/hooks/useLifeOpsAppState.d.ts +9 -0
  342. package/dist/hooks/useLifeOpsAppState.d.ts.map +1 -0
  343. package/dist/hooks/useLifeOpsAppState.js +79 -0
  344. package/dist/hooks/useLifeOpsAppState.js.map +1 -0
  345. package/dist/hooks/useLifeOpsCapabilitiesStatus.d.ts +8 -0
  346. package/dist/hooks/useLifeOpsCapabilitiesStatus.d.ts.map +1 -0
  347. package/dist/hooks/useLifeOpsCapabilitiesStatus.js +60 -0
  348. package/dist/hooks/useLifeOpsCapabilitiesStatus.js.map +1 -0
  349. package/dist/hooks/useLifeOpsXConnector.d.ts +11 -0
  350. package/dist/hooks/useLifeOpsXConnector.d.ts.map +1 -0
  351. package/dist/hooks/useLifeOpsXConnector.js +92 -0
  352. package/dist/hooks/useLifeOpsXConnector.js.map +1 -0
  353. package/dist/hooks/useSignalConnector.d.ts +14 -0
  354. package/dist/hooks/useSignalConnector.d.ts.map +1 -0
  355. package/dist/hooks/useSignalConnector.js +89 -0
  356. package/dist/hooks/useSignalConnector.js.map +1 -0
  357. package/dist/hooks/useTelegramConnector.d.ts +14 -0
  358. package/dist/hooks/useTelegramConnector.d.ts.map +1 -0
  359. package/dist/hooks/useTelegramConnector.js +97 -0
  360. package/dist/hooks/useTelegramConnector.js.map +1 -0
  361. package/dist/hooks/useWhatsAppConnector.d.ts +8 -0
  362. package/dist/hooks/useWhatsAppConnector.d.ts.map +1 -0
  363. package/dist/hooks/useWhatsAppConnector.js +62 -0
  364. package/dist/hooks/useWhatsAppConnector.js.map +1 -0
  365. package/dist/inbox/message-fetcher.d.ts +11 -0
  366. package/dist/inbox/message-fetcher.d.ts.map +1 -0
  367. package/dist/inbox/message-fetcher.js +13 -0
  368. package/dist/inbox/message-fetcher.js.map +1 -0
  369. package/dist/inbox/repository.d.ts +11 -0
  370. package/dist/inbox/repository.d.ts.map +1 -0
  371. package/dist/inbox/repository.js +5 -0
  372. package/dist/inbox/repository.js.map +1 -0
  373. package/dist/inbox/types.d.ts +10 -0
  374. package/dist/inbox/types.d.ts.map +1 -0
  375. package/dist/inbox/types.js +2 -0
  376. package/dist/inbox/types.js.map +1 -0
  377. package/dist/index.d.ts +36 -0
  378. package/dist/index.d.ts.map +1 -0
  379. package/dist/index.js +188 -0
  380. package/dist/index.js.map +1 -0
  381. package/dist/lifeops/access.d.ts +29 -0
  382. package/dist/lifeops/access.d.ts.map +1 -0
  383. package/dist/lifeops/access.js +56 -0
  384. package/dist/lifeops/access.js.map +1 -0
  385. package/dist/lifeops/app-state.d.ts +22 -0
  386. package/dist/lifeops/app-state.d.ts.map +1 -0
  387. package/dist/lifeops/app-state.js +67 -0
  388. package/dist/lifeops/app-state.js.map +1 -0
  389. package/dist/lifeops/apple-reminders.d.ts +67 -0
  390. package/dist/lifeops/apple-reminders.d.ts.map +1 -0
  391. package/dist/lifeops/apple-reminders.js +396 -0
  392. package/dist/lifeops/apple-reminders.js.map +1 -0
  393. package/dist/lifeops/approval-queue.d.ts +38 -0
  394. package/dist/lifeops/approval-queue.d.ts.map +1 -0
  395. package/dist/lifeops/approval-queue.js +575 -0
  396. package/dist/lifeops/approval-queue.js.map +1 -0
  397. package/dist/lifeops/approval-queue.types.d.ts +172 -0
  398. package/dist/lifeops/approval-queue.types.d.ts.map +1 -0
  399. package/dist/lifeops/approval-queue.types.js +27 -0
  400. package/dist/lifeops/approval-queue.types.js.map +1 -0
  401. package/dist/lifeops/autofill-whitelist.d.ts +20 -0
  402. package/dist/lifeops/autofill-whitelist.d.ts.map +1 -0
  403. package/dist/lifeops/autofill-whitelist.js +59 -0
  404. package/dist/lifeops/autofill-whitelist.js.map +1 -0
  405. package/dist/lifeops/background-planner-dispatch.d.ts +60 -0
  406. package/dist/lifeops/background-planner-dispatch.d.ts.map +1 -0
  407. package/dist/lifeops/background-planner-dispatch.js +113 -0
  408. package/dist/lifeops/background-planner-dispatch.js.map +1 -0
  409. package/dist/lifeops/background-planner.d.ts +140 -0
  410. package/dist/lifeops/background-planner.d.ts.map +1 -0
  411. package/dist/lifeops/background-planner.js +359 -0
  412. package/dist/lifeops/background-planner.js.map +1 -0
  413. package/dist/lifeops/bill-extraction.d.ts +46 -0
  414. package/dist/lifeops/bill-extraction.d.ts.map +1 -0
  415. package/dist/lifeops/bill-extraction.js +325 -0
  416. package/dist/lifeops/bill-extraction.js.map +1 -0
  417. package/dist/lifeops/browser-constants.d.ts +4 -0
  418. package/dist/lifeops/browser-constants.d.ts.map +1 -0
  419. package/dist/lifeops/browser-constants.js +27 -0
  420. package/dist/lifeops/browser-constants.js.map +1 -0
  421. package/dist/lifeops/browser-extension-store.d.ts +61 -0
  422. package/dist/lifeops/browser-extension-store.d.ts.map +1 -0
  423. package/dist/lifeops/browser-extension-store.js +176 -0
  424. package/dist/lifeops/browser-extension-store.js.map +1 -0
  425. package/dist/lifeops/browser-session-lifecycle.d.ts +57 -0
  426. package/dist/lifeops/browser-session-lifecycle.d.ts.map +1 -0
  427. package/dist/lifeops/browser-session-lifecycle.js +308 -0
  428. package/dist/lifeops/browser-session-lifecycle.js.map +1 -0
  429. package/dist/lifeops/bulk-review.d.ts +333 -0
  430. package/dist/lifeops/bulk-review.d.ts.map +1 -0
  431. package/dist/lifeops/bulk-review.js +1120 -0
  432. package/dist/lifeops/bulk-review.js.map +1 -0
  433. package/dist/lifeops/calendar-gate.d.ts +20 -0
  434. package/dist/lifeops/calendar-gate.d.ts.map +1 -0
  435. package/dist/lifeops/calendar-gate.js +30 -0
  436. package/dist/lifeops/calendar-gate.js.map +1 -0
  437. package/dist/lifeops/channels/contract.d.ts +47 -0
  438. package/dist/lifeops/channels/contract.d.ts.map +1 -0
  439. package/dist/lifeops/channels/contract.js +1 -0
  440. package/dist/lifeops/channels/contract.js.map +1 -0
  441. package/dist/lifeops/channels/default-pack.d.ts +26 -0
  442. package/dist/lifeops/channels/default-pack.d.ts.map +1 -0
  443. package/dist/lifeops/channels/default-pack.js +243 -0
  444. package/dist/lifeops/channels/default-pack.js.map +1 -0
  445. package/dist/lifeops/channels/index.d.ts +5 -0
  446. package/dist/lifeops/channels/index.d.ts.map +1 -0
  447. package/dist/lifeops/channels/index.js +23 -0
  448. package/dist/lifeops/channels/index.js.map +1 -0
  449. package/dist/lifeops/channels/priority-posture.d.ts +36 -0
  450. package/dist/lifeops/channels/priority-posture.d.ts.map +1 -0
  451. package/dist/lifeops/channels/priority-posture.js +27 -0
  452. package/dist/lifeops/channels/priority-posture.js.map +1 -0
  453. package/dist/lifeops/channels/registry.d.ts +7 -0
  454. package/dist/lifeops/channels/registry.d.ts.map +1 -0
  455. package/dist/lifeops/channels/registry.js +49 -0
  456. package/dist/lifeops/channels/registry.js.map +1 -0
  457. package/dist/lifeops/checkin/checkin-service.d.ts +66 -0
  458. package/dist/lifeops/checkin/checkin-service.d.ts.map +1 -0
  459. package/dist/lifeops/checkin/checkin-service.js +1084 -0
  460. package/dist/lifeops/checkin/checkin-service.js.map +1 -0
  461. package/dist/lifeops/checkin/schedule-resolver.d.ts +17 -0
  462. package/dist/lifeops/checkin/schedule-resolver.d.ts.map +1 -0
  463. package/dist/lifeops/checkin/schedule-resolver.js +26 -0
  464. package/dist/lifeops/checkin/schedule-resolver.js.map +1 -0
  465. package/dist/lifeops/checkin/types.d.ts +106 -0
  466. package/dist/lifeops/checkin/types.d.ts.map +1 -0
  467. package/dist/lifeops/checkin/types.js +1 -0
  468. package/dist/lifeops/checkin/types.js.map +1 -0
  469. package/dist/lifeops/connectors/_helpers.d.ts +51 -0
  470. package/dist/lifeops/connectors/_helpers.d.ts.map +1 -0
  471. package/dist/lifeops/connectors/_helpers.js +104 -0
  472. package/dist/lifeops/connectors/_helpers.js.map +1 -0
  473. package/dist/lifeops/connectors/calendly.d.ts +11 -0
  474. package/dist/lifeops/connectors/calendly.d.ts.map +1 -0
  475. package/dist/lifeops/connectors/calendly.js +61 -0
  476. package/dist/lifeops/connectors/calendly.js.map +1 -0
  477. package/dist/lifeops/connectors/contract.d.ts +88 -0
  478. package/dist/lifeops/connectors/contract.d.ts.map +1 -0
  479. package/dist/lifeops/connectors/contract.js +1 -0
  480. package/dist/lifeops/connectors/contract.js.map +1 -0
  481. package/dist/lifeops/connectors/default-pack.d.ts +35 -0
  482. package/dist/lifeops/connectors/default-pack.d.ts.map +1 -0
  483. package/dist/lifeops/connectors/default-pack.js +37 -0
  484. package/dist/lifeops/connectors/default-pack.js.map +1 -0
  485. package/dist/lifeops/connectors/discord.d.ts +8 -0
  486. package/dist/lifeops/connectors/discord.d.ts.map +1 -0
  487. package/dist/lifeops/connectors/discord.js +53 -0
  488. package/dist/lifeops/connectors/discord.js.map +1 -0
  489. package/dist/lifeops/connectors/dispatch-policy.d.ts +75 -0
  490. package/dist/lifeops/connectors/dispatch-policy.d.ts.map +1 -0
  491. package/dist/lifeops/connectors/dispatch-policy.js +35 -0
  492. package/dist/lifeops/connectors/dispatch-policy.js.map +1 -0
  493. package/dist/lifeops/connectors/duffel.d.ts +11 -0
  494. package/dist/lifeops/connectors/duffel.d.ts.map +1 -0
  495. package/dist/lifeops/connectors/duffel.js +74 -0
  496. package/dist/lifeops/connectors/duffel.js.map +1 -0
  497. package/dist/lifeops/connectors/google.d.ts +27 -0
  498. package/dist/lifeops/connectors/google.d.ts.map +1 -0
  499. package/dist/lifeops/connectors/google.js +80 -0
  500. package/dist/lifeops/connectors/google.js.map +1 -0
  501. package/dist/lifeops/connectors/imessage.d.ts +11 -0
  502. package/dist/lifeops/connectors/imessage.d.ts.map +1 -0
  503. package/dist/lifeops/connectors/imessage.js +55 -0
  504. package/dist/lifeops/connectors/imessage.js.map +1 -0
  505. package/dist/lifeops/connectors/index.d.ts +5 -0
  506. package/dist/lifeops/connectors/index.d.ts.map +1 -0
  507. package/dist/lifeops/connectors/index.js +23 -0
  508. package/dist/lifeops/connectors/index.js.map +1 -0
  509. package/dist/lifeops/connectors/mockoon-redirect.d.ts +54 -0
  510. package/dist/lifeops/connectors/mockoon-redirect.d.ts.map +1 -0
  511. package/dist/lifeops/connectors/mockoon-redirect.js +71 -0
  512. package/dist/lifeops/connectors/mockoon-redirect.js.map +1 -0
  513. package/dist/lifeops/connectors/registry.d.ts +7 -0
  514. package/dist/lifeops/connectors/registry.d.ts.map +1 -0
  515. package/dist/lifeops/connectors/registry.js +55 -0
  516. package/dist/lifeops/connectors/registry.js.map +1 -0
  517. package/dist/lifeops/connectors/signal.d.ts +8 -0
  518. package/dist/lifeops/connectors/signal.d.ts.map +1 -0
  519. package/dist/lifeops/connectors/signal.js +60 -0
  520. package/dist/lifeops/connectors/signal.js.map +1 -0
  521. package/dist/lifeops/connectors/telegram.d.ts +12 -0
  522. package/dist/lifeops/connectors/telegram.d.ts.map +1 -0
  523. package/dist/lifeops/connectors/telegram.js +65 -0
  524. package/dist/lifeops/connectors/telegram.js.map +1 -0
  525. package/dist/lifeops/connectors/twilio.d.ts +15 -0
  526. package/dist/lifeops/connectors/twilio.d.ts.map +1 -0
  527. package/dist/lifeops/connectors/twilio.js +126 -0
  528. package/dist/lifeops/connectors/twilio.js.map +1 -0
  529. package/dist/lifeops/connectors/whatsapp.d.ts +10 -0
  530. package/dist/lifeops/connectors/whatsapp.d.ts.map +1 -0
  531. package/dist/lifeops/connectors/whatsapp.js +56 -0
  532. package/dist/lifeops/connectors/whatsapp.js.map +1 -0
  533. package/dist/lifeops/connectors/x.d.ts +8 -0
  534. package/dist/lifeops/connectors/x.d.ts.map +1 -0
  535. package/dist/lifeops/connectors/x.js +62 -0
  536. package/dist/lifeops/connectors/x.js.map +1 -0
  537. package/dist/lifeops/contact-route-policy.d.ts +27 -0
  538. package/dist/lifeops/contact-route-policy.d.ts.map +1 -0
  539. package/dist/lifeops/contact-route-policy.js +153 -0
  540. package/dist/lifeops/contact-route-policy.js.map +1 -0
  541. package/dist/lifeops/continuity-probe.d.ts +49 -0
  542. package/dist/lifeops/continuity-probe.d.ts.map +1 -0
  543. package/dist/lifeops/continuity-probe.js +161 -0
  544. package/dist/lifeops/continuity-probe.js.map +1 -0
  545. package/dist/lifeops/cross-channel-search.d.ts +108 -0
  546. package/dist/lifeops/cross-channel-search.d.ts.map +1 -0
  547. package/dist/lifeops/cross-channel-search.js +888 -0
  548. package/dist/lifeops/cross-channel-search.js.map +1 -0
  549. package/dist/lifeops/defaults.d.ts +30 -0
  550. package/dist/lifeops/defaults.d.ts.map +1 -0
  551. package/dist/lifeops/defaults.js +206 -0
  552. package/dist/lifeops/defaults.js.map +1 -0
  553. package/dist/lifeops/device-bus-service.d.ts +16 -0
  554. package/dist/lifeops/device-bus-service.d.ts.map +1 -0
  555. package/dist/lifeops/device-bus-service.js +20 -0
  556. package/dist/lifeops/device-bus-service.js.map +1 -0
  557. package/dist/lifeops/device-identity.d.ts +31 -0
  558. package/dist/lifeops/device-identity.d.ts.map +1 -0
  559. package/dist/lifeops/device-identity.js +94 -0
  560. package/dist/lifeops/device-identity.js.map +1 -0
  561. package/dist/lifeops/document-review.d.ts +264 -0
  562. package/dist/lifeops/document-review.d.ts.map +1 -0
  563. package/dist/lifeops/document-review.js +925 -0
  564. package/dist/lifeops/document-review.js.map +1 -0
  565. package/dist/lifeops/email-classifier.d.ts +9 -0
  566. package/dist/lifeops/email-classifier.d.ts.map +1 -0
  567. package/dist/lifeops/email-classifier.js +15 -0
  568. package/dist/lifeops/email-classifier.js.map +1 -0
  569. package/dist/lifeops/email-curation.d.ts +13 -0
  570. package/dist/lifeops/email-curation.d.ts.map +1 -0
  571. package/dist/lifeops/email-curation.js +2 -0
  572. package/dist/lifeops/email-curation.js.map +1 -0
  573. package/dist/lifeops/email-unsubscribe-types.d.ts +7 -0
  574. package/dist/lifeops/email-unsubscribe-types.d.ts.map +1 -0
  575. package/dist/lifeops/email-unsubscribe-types.js +1 -0
  576. package/dist/lifeops/email-unsubscribe-types.js.map +1 -0
  577. package/dist/lifeops/enforcement-windows.d.ts +34 -0
  578. package/dist/lifeops/enforcement-windows.d.ts.map +1 -0
  579. package/dist/lifeops/enforcement-windows.js +80 -0
  580. package/dist/lifeops/enforcement-windows.js.map +1 -0
  581. package/dist/lifeops/engine.d.ts +8 -0
  582. package/dist/lifeops/engine.d.ts.map +1 -0
  583. package/dist/lifeops/engine.js +540 -0
  584. package/dist/lifeops/engine.js.map +1 -0
  585. package/dist/lifeops/entities/index.d.ts +4 -0
  586. package/dist/lifeops/entities/index.d.ts.map +1 -0
  587. package/dist/lifeops/entities/index.js +29 -0
  588. package/dist/lifeops/entities/index.js.map +1 -0
  589. package/dist/lifeops/entities/merge.d.ts +9 -0
  590. package/dist/lifeops/entities/merge.d.ts.map +1 -0
  591. package/dist/lifeops/entities/merge.js +17 -0
  592. package/dist/lifeops/entities/merge.js.map +1 -0
  593. package/dist/lifeops/entities/store.d.ts +13 -0
  594. package/dist/lifeops/entities/store.d.ts.map +1 -0
  595. package/dist/lifeops/entities/store.js +7 -0
  596. package/dist/lifeops/entities/store.js.map +1 -0
  597. package/dist/lifeops/entities/types.d.ts +9 -0
  598. package/dist/lifeops/entities/types.d.ts.map +1 -0
  599. package/dist/lifeops/entities/types.js +13 -0
  600. package/dist/lifeops/entities/types.js.map +1 -0
  601. package/dist/lifeops/entities/voice-attribution.d.ts +70 -0
  602. package/dist/lifeops/entities/voice-attribution.d.ts.map +1 -0
  603. package/dist/lifeops/entities/voice-attribution.js +121 -0
  604. package/dist/lifeops/entities/voice-attribution.js.map +1 -0
  605. package/dist/lifeops/entities/voice-observer-bridge.d.ts +32 -0
  606. package/dist/lifeops/entities/voice-observer-bridge.d.ts.map +1 -0
  607. package/dist/lifeops/entities/voice-observer-bridge.js +68 -0
  608. package/dist/lifeops/entities/voice-observer-bridge.js.map +1 -0
  609. package/dist/lifeops/entities/voice-observer.d.ts +72 -0
  610. package/dist/lifeops/entities/voice-observer.d.ts.map +1 -0
  611. package/dist/lifeops/entities/voice-observer.js +97 -0
  612. package/dist/lifeops/entities/voice-observer.js.map +1 -0
  613. package/dist/lifeops/escalation-ladders.d.ts +28 -0
  614. package/dist/lifeops/escalation-ladders.d.ts.map +1 -0
  615. package/dist/lifeops/escalation-ladders.js +17 -0
  616. package/dist/lifeops/escalation-ladders.js.map +1 -0
  617. package/dist/lifeops/fda-probe.d.ts +23 -0
  618. package/dist/lifeops/fda-probe.d.ts.map +1 -0
  619. package/dist/lifeops/fda-probe.js +59 -0
  620. package/dist/lifeops/fda-probe.js.map +1 -0
  621. package/dist/lifeops/feature-flags.d.ts +24 -0
  622. package/dist/lifeops/feature-flags.d.ts.map +1 -0
  623. package/dist/lifeops/feature-flags.js +261 -0
  624. package/dist/lifeops/feature-flags.js.map +1 -0
  625. package/dist/lifeops/feature-flags.types.d.ts +156 -0
  626. package/dist/lifeops/feature-flags.types.d.ts.map +1 -0
  627. package/dist/lifeops/feature-flags.types.js +129 -0
  628. package/dist/lifeops/feature-flags.types.js.map +1 -0
  629. package/dist/lifeops/first-run/defaults.d.ts +57 -0
  630. package/dist/lifeops/first-run/defaults.d.ts.map +1 -0
  631. package/dist/lifeops/first-run/defaults.js +159 -0
  632. package/dist/lifeops/first-run/defaults.js.map +1 -0
  633. package/dist/lifeops/first-run/questions.d.ts +74 -0
  634. package/dist/lifeops/first-run/questions.d.ts.map +1 -0
  635. package/dist/lifeops/first-run/questions.js +184 -0
  636. package/dist/lifeops/first-run/questions.js.map +1 -0
  637. package/dist/lifeops/first-run/replay.d.ts +41 -0
  638. package/dist/lifeops/first-run/replay.d.ts.map +1 -0
  639. package/dist/lifeops/first-run/replay.js +34 -0
  640. package/dist/lifeops/first-run/replay.js.map +1 -0
  641. package/dist/lifeops/first-run/service.d.ts +147 -0
  642. package/dist/lifeops/first-run/service.d.ts.map +1 -0
  643. package/dist/lifeops/first-run/service.js +455 -0
  644. package/dist/lifeops/first-run/service.js.map +1 -0
  645. package/dist/lifeops/first-run/state.d.ts +36 -0
  646. package/dist/lifeops/first-run/state.d.ts.map +1 -0
  647. package/dist/lifeops/first-run/state.js +128 -0
  648. package/dist/lifeops/first-run/state.js.map +1 -0
  649. package/dist/lifeops/global-pause/store.d.ts +22 -0
  650. package/dist/lifeops/global-pause/store.d.ts.map +1 -0
  651. package/dist/lifeops/global-pause/store.js +18 -0
  652. package/dist/lifeops/global-pause/store.js.map +1 -0
  653. package/dist/lifeops/goal-grounding.d.ts +9 -0
  654. package/dist/lifeops/goal-grounding.d.ts.map +1 -0
  655. package/dist/lifeops/goal-grounding.js +19 -0
  656. package/dist/lifeops/goal-grounding.js.map +1 -0
  657. package/dist/lifeops/goal-semantic-evaluator.d.ts +8 -0
  658. package/dist/lifeops/goal-semantic-evaluator.d.ts.map +1 -0
  659. package/dist/lifeops/goal-semantic-evaluator.js +7 -0
  660. package/dist/lifeops/goal-semantic-evaluator.js.map +1 -0
  661. package/dist/lifeops/google/format-helpers.d.ts +63 -0
  662. package/dist/lifeops/google/format-helpers.d.ts.map +1 -0
  663. package/dist/lifeops/google/format-helpers.js +597 -0
  664. package/dist/lifeops/google/format-helpers.js.map +1 -0
  665. package/dist/lifeops/google-plugin-delegates.d.ts +59 -0
  666. package/dist/lifeops/google-plugin-delegates.d.ts.map +1 -0
  667. package/dist/lifeops/google-plugin-delegates.js +408 -0
  668. package/dist/lifeops/google-plugin-delegates.js.map +1 -0
  669. package/dist/lifeops/google-scopes.d.ts +15 -0
  670. package/dist/lifeops/google-scopes.d.ts.map +1 -0
  671. package/dist/lifeops/google-scopes.js +118 -0
  672. package/dist/lifeops/google-scopes.js.map +1 -0
  673. package/dist/lifeops/handoff/store.d.ts +23 -0
  674. package/dist/lifeops/handoff/store.d.ts.map +1 -0
  675. package/dist/lifeops/handoff/store.js +20 -0
  676. package/dist/lifeops/handoff/store.js.map +1 -0
  677. package/dist/lifeops/i18n/localized-examples-provider.d.ts +16 -0
  678. package/dist/lifeops/i18n/localized-examples-provider.d.ts.map +1 -0
  679. package/dist/lifeops/i18n/localized-examples-provider.js +33 -0
  680. package/dist/lifeops/i18n/localized-examples-provider.js.map +1 -0
  681. package/dist/lifeops/i18n/localized-examples-resolver.d.ts +32 -0
  682. package/dist/lifeops/i18n/localized-examples-resolver.d.ts.map +1 -0
  683. package/dist/lifeops/i18n/localized-examples-resolver.js +28 -0
  684. package/dist/lifeops/i18n/localized-examples-resolver.js.map +1 -0
  685. package/dist/lifeops/i18n/prompt-registry.d.ts +64 -0
  686. package/dist/lifeops/i18n/prompt-registry.d.ts.map +1 -0
  687. package/dist/lifeops/i18n/prompt-registry.js +283 -0
  688. package/dist/lifeops/i18n/prompt-registry.js.map +1 -0
  689. package/dist/lifeops/imessage-outbound-probe.d.ts +7 -0
  690. package/dist/lifeops/imessage-outbound-probe.d.ts.map +1 -0
  691. package/dist/lifeops/imessage-outbound-probe.js +81 -0
  692. package/dist/lifeops/imessage-outbound-probe.js.map +1 -0
  693. package/dist/lifeops/index.d.ts +24 -0
  694. package/dist/lifeops/index.d.ts.map +1 -0
  695. package/dist/lifeops/index.js +24 -0
  696. package/dist/lifeops/index.js.map +1 -0
  697. package/dist/lifeops/intent-sync.d.ts +64 -0
  698. package/dist/lifeops/intent-sync.d.ts.map +1 -0
  699. package/dist/lifeops/intent-sync.js +321 -0
  700. package/dist/lifeops/intent-sync.js.map +1 -0
  701. package/dist/lifeops/messaging/index.d.ts +2 -0
  702. package/dist/lifeops/messaging/index.d.ts.map +1 -0
  703. package/dist/lifeops/messaging/index.js +5 -0
  704. package/dist/lifeops/messaging/index.js.map +1 -0
  705. package/dist/lifeops/messaging/owner-send-policy.d.ts +3 -0
  706. package/dist/lifeops/messaging/owner-send-policy.d.ts.map +1 -0
  707. package/dist/lifeops/messaging/owner-send-policy.js +83 -0
  708. package/dist/lifeops/messaging/owner-send-policy.js.map +1 -0
  709. package/dist/lifeops/notifications-push.d.ts +37 -0
  710. package/dist/lifeops/notifications-push.d.ts.map +1 -0
  711. package/dist/lifeops/notifications-push.js +95 -0
  712. package/dist/lifeops/notifications-push.js.map +1 -0
  713. package/dist/lifeops/optimized-prompt-instructions.d.ts +5 -0
  714. package/dist/lifeops/optimized-prompt-instructions.d.ts.map +1 -0
  715. package/dist/lifeops/optimized-prompt-instructions.js +48 -0
  716. package/dist/lifeops/optimized-prompt-instructions.js.map +1 -0
  717. package/dist/lifeops/owner/fact-store.d.ts +143 -0
  718. package/dist/lifeops/owner/fact-store.d.ts.map +1 -0
  719. package/dist/lifeops/owner/fact-store.js +446 -0
  720. package/dist/lifeops/owner/fact-store.js.map +1 -0
  721. package/dist/lifeops/owner/profile-extraction-evaluator.d.ts +3 -0
  722. package/dist/lifeops/owner/profile-extraction-evaluator.d.ts.map +1 -0
  723. package/dist/lifeops/owner/profile-extraction-evaluator.js +241 -0
  724. package/dist/lifeops/owner/profile-extraction-evaluator.js.map +1 -0
  725. package/dist/lifeops/owner-profile.d.ts +61 -0
  726. package/dist/lifeops/owner-profile.d.ts.map +1 -0
  727. package/dist/lifeops/owner-profile.js +407 -0
  728. package/dist/lifeops/owner-profile.js.map +1 -0
  729. package/dist/lifeops/pending-prompts/store.d.ts +23 -0
  730. package/dist/lifeops/pending-prompts/store.d.ts.map +1 -0
  731. package/dist/lifeops/pending-prompts/store.js +16 -0
  732. package/dist/lifeops/pending-prompts/store.js.map +1 -0
  733. package/dist/lifeops/policy-memory.d.ts +190 -0
  734. package/dist/lifeops/policy-memory.d.ts.map +1 -0
  735. package/dist/lifeops/policy-memory.js +1026 -0
  736. package/dist/lifeops/policy-memory.js.map +1 -0
  737. package/dist/lifeops/priority-scoring.d.ts +51 -0
  738. package/dist/lifeops/priority-scoring.d.ts.map +1 -0
  739. package/dist/lifeops/priority-scoring.js +305 -0
  740. package/dist/lifeops/priority-scoring.js.map +1 -0
  741. package/dist/lifeops/privacy-egress.d.ts +92 -0
  742. package/dist/lifeops/privacy-egress.d.ts.map +1 -0
  743. package/dist/lifeops/privacy-egress.js +230 -0
  744. package/dist/lifeops/privacy-egress.js.map +1 -0
  745. package/dist/lifeops/privacy.d.ts +49 -0
  746. package/dist/lifeops/privacy.d.ts.map +1 -0
  747. package/dist/lifeops/privacy.js +66 -0
  748. package/dist/lifeops/privacy.js.map +1 -0
  749. package/dist/lifeops/redact-sensitive-data.d.ts +32 -0
  750. package/dist/lifeops/redact-sensitive-data.d.ts.map +1 -0
  751. package/dist/lifeops/redact-sensitive-data.js +98 -0
  752. package/dist/lifeops/redact-sensitive-data.js.map +1 -0
  753. package/dist/lifeops/registries/app-blocker-contribution.d.ts +13 -0
  754. package/dist/lifeops/registries/app-blocker-contribution.d.ts.map +1 -0
  755. package/dist/lifeops/registries/app-blocker-contribution.js +73 -0
  756. package/dist/lifeops/registries/app-blocker-contribution.js.map +1 -0
  757. package/dist/lifeops/registries/blocker-registry.d.ts +76 -0
  758. package/dist/lifeops/registries/blocker-registry.d.ts.map +1 -0
  759. package/dist/lifeops/registries/blocker-registry.js +40 -0
  760. package/dist/lifeops/registries/blocker-registry.js.map +1 -0
  761. package/dist/lifeops/registries/event-kind-registry.d.ts +57 -0
  762. package/dist/lifeops/registries/event-kind-registry.d.ts.map +1 -0
  763. package/dist/lifeops/registries/event-kind-registry.js +82 -0
  764. package/dist/lifeops/registries/event-kind-registry.js.map +1 -0
  765. package/dist/lifeops/registries/family-registry.d.ts +72 -0
  766. package/dist/lifeops/registries/family-registry.d.ts.map +1 -0
  767. package/dist/lifeops/registries/family-registry.js +98 -0
  768. package/dist/lifeops/registries/family-registry.js.map +1 -0
  769. package/dist/lifeops/registries/feature-flag-default-pack.d.ts +32 -0
  770. package/dist/lifeops/registries/feature-flag-default-pack.d.ts.map +1 -0
  771. package/dist/lifeops/registries/feature-flag-default-pack.js +36 -0
  772. package/dist/lifeops/registries/feature-flag-default-pack.js.map +1 -0
  773. package/dist/lifeops/registries/feature-flag-registry.d.ts +76 -0
  774. package/dist/lifeops/registries/feature-flag-registry.d.ts.map +1 -0
  775. package/dist/lifeops/registries/feature-flag-registry.js +68 -0
  776. package/dist/lifeops/registries/feature-flag-registry.js.map +1 -0
  777. package/dist/lifeops/registries/index.d.ts +24 -0
  778. package/dist/lifeops/registries/index.d.ts.map +1 -0
  779. package/dist/lifeops/registries/index.js +115 -0
  780. package/dist/lifeops/registries/index.js.map +1 -0
  781. package/dist/lifeops/registries/website-blocker-contribution.d.ts +21 -0
  782. package/dist/lifeops/registries/website-blocker-contribution.d.ts.map +1 -0
  783. package/dist/lifeops/registries/website-blocker-contribution.js +76 -0
  784. package/dist/lifeops/registries/website-blocker-contribution.js.map +1 -0
  785. package/dist/lifeops/registries/workflow-step-default-pack.d.ts +30 -0
  786. package/dist/lifeops/registries/workflow-step-default-pack.d.ts.map +1 -0
  787. package/dist/lifeops/registries/workflow-step-default-pack.js +315 -0
  788. package/dist/lifeops/registries/workflow-step-default-pack.js.map +1 -0
  789. package/dist/lifeops/registries/workflow-step-registry.d.ts +101 -0
  790. package/dist/lifeops/registries/workflow-step-registry.d.ts.map +1 -0
  791. package/dist/lifeops/registries/workflow-step-registry.js +56 -0
  792. package/dist/lifeops/registries/workflow-step-registry.js.map +1 -0
  793. package/dist/lifeops/relationships/extraction.d.ts +77 -0
  794. package/dist/lifeops/relationships/extraction.d.ts.map +1 -0
  795. package/dist/lifeops/relationships/extraction.js +146 -0
  796. package/dist/lifeops/relationships/extraction.js.map +1 -0
  797. package/dist/lifeops/relationships/index.d.ts +4 -0
  798. package/dist/lifeops/relationships/index.d.ts.map +1 -0
  799. package/dist/lifeops/relationships/index.js +19 -0
  800. package/dist/lifeops/relationships/index.js.map +1 -0
  801. package/dist/lifeops/relationships/mapping.d.ts +34 -0
  802. package/dist/lifeops/relationships/mapping.d.ts.map +1 -0
  803. package/dist/lifeops/relationships/mapping.js +87 -0
  804. package/dist/lifeops/relationships/mapping.js.map +1 -0
  805. package/dist/lifeops/relationships/store.d.ts +12 -0
  806. package/dist/lifeops/relationships/store.d.ts.map +1 -0
  807. package/dist/lifeops/relationships/store.js +5 -0
  808. package/dist/lifeops/relationships/store.js.map +1 -0
  809. package/dist/lifeops/relationships/types.d.ts +9 -0
  810. package/dist/lifeops/relationships/types.d.ts.map +1 -0
  811. package/dist/lifeops/relationships/types.js +11 -0
  812. package/dist/lifeops/relationships/types.js.map +1 -0
  813. package/dist/lifeops/relative-schedule-resolver.d.ts +13 -0
  814. package/dist/lifeops/relative-schedule-resolver.d.ts.map +1 -0
  815. package/dist/lifeops/relative-schedule-resolver.js +107 -0
  816. package/dist/lifeops/relative-schedule-resolver.js.map +1 -0
  817. package/dist/lifeops/relative-time.d.ts +15 -0
  818. package/dist/lifeops/relative-time.d.ts.map +1 -0
  819. package/dist/lifeops/relative-time.js +191 -0
  820. package/dist/lifeops/relative-time.js.map +1 -0
  821. package/dist/lifeops/repository.d.ts +638 -0
  822. package/dist/lifeops/repository.d.ts.map +1 -0
  823. package/dist/lifeops/repository.js +6289 -0
  824. package/dist/lifeops/repository.js.map +1 -0
  825. package/dist/lifeops/runtime-cache.d.ts +4 -0
  826. package/dist/lifeops/runtime-cache.d.ts.map +1 -0
  827. package/dist/lifeops/runtime-cache.js +7 -0
  828. package/dist/lifeops/runtime-cache.js.map +1 -0
  829. package/dist/lifeops/runtime-service-delegates.d.ts +236 -0
  830. package/dist/lifeops/runtime-service-delegates.d.ts.map +1 -0
  831. package/dist/lifeops/runtime-service-delegates.js +839 -0
  832. package/dist/lifeops/runtime-service-delegates.js.map +1 -0
  833. package/dist/lifeops/runtime.d.ts +13 -0
  834. package/dist/lifeops/runtime.d.ts.map +1 -0
  835. package/dist/lifeops/runtime.js +104 -0
  836. package/dist/lifeops/runtime.js.map +1 -0
  837. package/dist/lifeops/schedule-insight.d.ts +133 -0
  838. package/dist/lifeops/schedule-insight.d.ts.map +1 -0
  839. package/dist/lifeops/schedule-insight.js +726 -0
  840. package/dist/lifeops/schedule-insight.js.map +1 -0
  841. package/dist/lifeops/schedule-state.d.ts +39 -0
  842. package/dist/lifeops/schedule-state.d.ts.map +1 -0
  843. package/dist/lifeops/schedule-state.js +671 -0
  844. package/dist/lifeops/schedule-state.js.map +1 -0
  845. package/dist/lifeops/schedule-sync-config.d.ts +3 -0
  846. package/dist/lifeops/schedule-sync-config.d.ts.map +1 -0
  847. package/dist/lifeops/schedule-sync-config.js +23 -0
  848. package/dist/lifeops/schedule-sync-config.js.map +1 -0
  849. package/dist/lifeops/schedule-sync-contracts.d.ts +2 -0
  850. package/dist/lifeops/schedule-sync-contracts.d.ts.map +1 -0
  851. package/dist/lifeops/schedule-sync-contracts.js +2 -0
  852. package/dist/lifeops/schedule-sync-contracts.js.map +1 -0
  853. package/dist/lifeops/scheduled-task/index.d.ts +13 -0
  854. package/dist/lifeops/scheduled-task/index.d.ts.map +1 -0
  855. package/dist/lifeops/scheduled-task/index.js +14 -0
  856. package/dist/lifeops/scheduled-task/index.js.map +1 -0
  857. package/dist/lifeops/scheduled-task/runtime-wiring.d.ts +33 -0
  858. package/dist/lifeops/scheduled-task/runtime-wiring.d.ts.map +1 -0
  859. package/dist/lifeops/scheduled-task/runtime-wiring.js +334 -0
  860. package/dist/lifeops/scheduled-task/runtime-wiring.js.map +1 -0
  861. package/dist/lifeops/scheduled-task/scheduler.d.ts +28 -0
  862. package/dist/lifeops/scheduled-task/scheduler.d.ts.map +1 -0
  863. package/dist/lifeops/scheduled-task/scheduler.js +202 -0
  864. package/dist/lifeops/scheduled-task/scheduler.js.map +1 -0
  865. package/dist/lifeops/scheduled-task/service.d.ts +61 -0
  866. package/dist/lifeops/scheduled-task/service.d.ts.map +1 -0
  867. package/dist/lifeops/scheduled-task/service.js +64 -0
  868. package/dist/lifeops/scheduled-task/service.js.map +1 -0
  869. package/dist/lifeops/scheduler-task.d.ts +19 -0
  870. package/dist/lifeops/scheduler-task.d.ts.map +1 -0
  871. package/dist/lifeops/scheduler-task.js +201 -0
  872. package/dist/lifeops/scheduler-task.js.map +1 -0
  873. package/dist/lifeops/schema.d.ts +28068 -0
  874. package/dist/lifeops/schema.d.ts.map +1 -0
  875. package/dist/lifeops/schema.js +1689 -0
  876. package/dist/lifeops/schema.js.map +1 -0
  877. package/dist/lifeops/screen-context.d.ts +66 -0
  878. package/dist/lifeops/screen-context.d.ts.map +1 -0
  879. package/dist/lifeops/screen-context.js +347 -0
  880. package/dist/lifeops/screen-context.js.map +1 -0
  881. package/dist/lifeops/seed-routine-migration/migrator.d.ts +113 -0
  882. package/dist/lifeops/seed-routine-migration/migrator.d.ts.map +1 -0
  883. package/dist/lifeops/seed-routine-migration/migrator.js +142 -0
  884. package/dist/lifeops/seed-routine-migration/migrator.js.map +1 -0
  885. package/dist/lifeops/seed-routines.d.ts +24 -0
  886. package/dist/lifeops/seed-routines.d.ts.map +1 -0
  887. package/dist/lifeops/seed-routines.js +140 -0
  888. package/dist/lifeops/seed-routines.js.map +1 -0
  889. package/dist/lifeops/send-policy/contract.d.ts +81 -0
  890. package/dist/lifeops/send-policy/contract.d.ts.map +1 -0
  891. package/dist/lifeops/send-policy/contract.js +1 -0
  892. package/dist/lifeops/send-policy/contract.js.map +1 -0
  893. package/dist/lifeops/send-policy/index.d.ts +3 -0
  894. package/dist/lifeops/send-policy/index.d.ts.map +1 -0
  895. package/dist/lifeops/send-policy/index.js +13 -0
  896. package/dist/lifeops/send-policy/index.js.map +1 -0
  897. package/dist/lifeops/send-policy/registry.d.ts +7 -0
  898. package/dist/lifeops/send-policy/registry.d.ts.map +1 -0
  899. package/dist/lifeops/send-policy/registry.js +62 -0
  900. package/dist/lifeops/send-policy/registry.js.map +1 -0
  901. package/dist/lifeops/sensitive-request-delivery.d.ts +46 -0
  902. package/dist/lifeops/sensitive-request-delivery.d.ts.map +1 -0
  903. package/dist/lifeops/sensitive-request-delivery.js +103 -0
  904. package/dist/lifeops/sensitive-request-delivery.js.map +1 -0
  905. package/dist/lifeops/service-constants.d.ts +10 -0
  906. package/dist/lifeops/service-constants.d.ts.map +1 -0
  907. package/dist/lifeops/service-constants.js +129 -0
  908. package/dist/lifeops/service-constants.js.map +1 -0
  909. package/dist/lifeops/service-helpers-browser.d.ts +41 -0
  910. package/dist/lifeops/service-helpers-browser.d.ts.map +1 -0
  911. package/dist/lifeops/service-helpers-browser.js +290 -0
  912. package/dist/lifeops/service-helpers-browser.js.map +1 -0
  913. package/dist/lifeops/service-helpers-misc.d.ts +68 -0
  914. package/dist/lifeops/service-helpers-misc.d.ts.map +1 -0
  915. package/dist/lifeops/service-helpers-misc.js +531 -0
  916. package/dist/lifeops/service-helpers-misc.js.map +1 -0
  917. package/dist/lifeops/service-helpers-occurrence.d.ts +23 -0
  918. package/dist/lifeops/service-helpers-occurrence.d.ts.map +1 -0
  919. package/dist/lifeops/service-helpers-occurrence.js +257 -0
  920. package/dist/lifeops/service-helpers-occurrence.js.map +1 -0
  921. package/dist/lifeops/service-helpers-reminder.d.ts +260 -0
  922. package/dist/lifeops/service-helpers-reminder.d.ts.map +1 -0
  923. package/dist/lifeops/service-helpers-reminder.js +1186 -0
  924. package/dist/lifeops/service-helpers-reminder.js.map +1 -0
  925. package/dist/lifeops/service-mixin-browser.d.ts +31 -0
  926. package/dist/lifeops/service-mixin-browser.d.ts.map +1 -0
  927. package/dist/lifeops/service-mixin-browser.js +975 -0
  928. package/dist/lifeops/service-mixin-browser.js.map +1 -0
  929. package/dist/lifeops/service-mixin-calendar.d.ts +53 -0
  930. package/dist/lifeops/service-mixin-calendar.d.ts.map +1 -0
  931. package/dist/lifeops/service-mixin-calendar.js +68 -0
  932. package/dist/lifeops/service-mixin-calendar.js.map +1 -0
  933. package/dist/lifeops/service-mixin-core.d.ts +51 -0
  934. package/dist/lifeops/service-mixin-core.d.ts.map +1 -0
  935. package/dist/lifeops/service-mixin-core.js +500 -0
  936. package/dist/lifeops/service-mixin-core.js.map +1 -0
  937. package/dist/lifeops/service-mixin-definitions.d.ts +14 -0
  938. package/dist/lifeops/service-mixin-definitions.d.ts.map +1 -0
  939. package/dist/lifeops/service-mixin-definitions.js +470 -0
  940. package/dist/lifeops/service-mixin-definitions.js.map +1 -0
  941. package/dist/lifeops/service-mixin-discord.d.ts +49 -0
  942. package/dist/lifeops/service-mixin-discord.d.ts.map +1 -0
  943. package/dist/lifeops/service-mixin-discord.js +1253 -0
  944. package/dist/lifeops/service-mixin-discord.js.map +1 -0
  945. package/dist/lifeops/service-mixin-drive.d.ts +96 -0
  946. package/dist/lifeops/service-mixin-drive.d.ts.map +1 -0
  947. package/dist/lifeops/service-mixin-drive.js +213 -0
  948. package/dist/lifeops/service-mixin-drive.js.map +1 -0
  949. package/dist/lifeops/service-mixin-email-unsubscribe.d.ts +23 -0
  950. package/dist/lifeops/service-mixin-email-unsubscribe.d.ts.map +1 -0
  951. package/dist/lifeops/service-mixin-email-unsubscribe.js +27 -0
  952. package/dist/lifeops/service-mixin-email-unsubscribe.js.map +1 -0
  953. package/dist/lifeops/service-mixin-gmail.d.ts +43 -0
  954. package/dist/lifeops/service-mixin-gmail.d.ts.map +1 -0
  955. package/dist/lifeops/service-mixin-gmail.js +727 -0
  956. package/dist/lifeops/service-mixin-gmail.js.map +1 -0
  957. package/dist/lifeops/service-mixin-goals.d.ts +22 -0
  958. package/dist/lifeops/service-mixin-goals.d.ts.map +1 -0
  959. package/dist/lifeops/service-mixin-goals.js +884 -0
  960. package/dist/lifeops/service-mixin-goals.js.map +1 -0
  961. package/dist/lifeops/service-mixin-google.d.ts +13 -0
  962. package/dist/lifeops/service-mixin-google.d.ts.map +1 -0
  963. package/dist/lifeops/service-mixin-google.js +398 -0
  964. package/dist/lifeops/service-mixin-google.js.map +1 -0
  965. package/dist/lifeops/service-mixin-health.d.ts +27 -0
  966. package/dist/lifeops/service-mixin-health.d.ts.map +1 -0
  967. package/dist/lifeops/service-mixin-health.js +670 -0
  968. package/dist/lifeops/service-mixin-health.js.map +1 -0
  969. package/dist/lifeops/service-mixin-imessage.d.ts +106 -0
  970. package/dist/lifeops/service-mixin-imessage.d.ts.map +1 -0
  971. package/dist/lifeops/service-mixin-imessage.js +303 -0
  972. package/dist/lifeops/service-mixin-imessage.js.map +1 -0
  973. package/dist/lifeops/service-mixin-inbox.d.ts +55 -0
  974. package/dist/lifeops/service-mixin-inbox.d.ts.map +1 -0
  975. package/dist/lifeops/service-mixin-inbox.js +597 -0
  976. package/dist/lifeops/service-mixin-inbox.js.map +1 -0
  977. package/dist/lifeops/service-mixin-relationships.d.ts +65 -0
  978. package/dist/lifeops/service-mixin-relationships.d.ts.map +1 -0
  979. package/dist/lifeops/service-mixin-relationships.js +150 -0
  980. package/dist/lifeops/service-mixin-relationships.js.map +1 -0
  981. package/dist/lifeops/service-mixin-reminders.d.ts +62 -0
  982. package/dist/lifeops/service-mixin-reminders.d.ts.map +1 -0
  983. package/dist/lifeops/service-mixin-reminders.js +4003 -0
  984. package/dist/lifeops/service-mixin-reminders.js.map +1 -0
  985. package/dist/lifeops/service-mixin-scheduling.d.ts +53 -0
  986. package/dist/lifeops/service-mixin-scheduling.d.ts.map +1 -0
  987. package/dist/lifeops/service-mixin-scheduling.js +405 -0
  988. package/dist/lifeops/service-mixin-scheduling.js.map +1 -0
  989. package/dist/lifeops/service-mixin-screentime.d.ts +71 -0
  990. package/dist/lifeops/service-mixin-screentime.d.ts.map +1 -0
  991. package/dist/lifeops/service-mixin-screentime.js +530 -0
  992. package/dist/lifeops/service-mixin-screentime.js.map +1 -0
  993. package/dist/lifeops/service-mixin-signal.d.ts +74 -0
  994. package/dist/lifeops/service-mixin-signal.d.ts.map +1 -0
  995. package/dist/lifeops/service-mixin-signal.js +214 -0
  996. package/dist/lifeops/service-mixin-signal.js.map +1 -0
  997. package/dist/lifeops/service-mixin-sleep.d.ts +68 -0
  998. package/dist/lifeops/service-mixin-sleep.d.ts.map +1 -0
  999. package/dist/lifeops/service-mixin-sleep.js +43 -0
  1000. package/dist/lifeops/service-mixin-sleep.js.map +1 -0
  1001. package/dist/lifeops/service-mixin-status.d.ts +31 -0
  1002. package/dist/lifeops/service-mixin-status.d.ts.map +1 -0
  1003. package/dist/lifeops/service-mixin-status.js +373 -0
  1004. package/dist/lifeops/service-mixin-status.js.map +1 -0
  1005. package/dist/lifeops/service-mixin-subscriptions.d.ts +101 -0
  1006. package/dist/lifeops/service-mixin-subscriptions.d.ts.map +1 -0
  1007. package/dist/lifeops/service-mixin-subscriptions.js +50 -0
  1008. package/dist/lifeops/service-mixin-subscriptions.js.map +1 -0
  1009. package/dist/lifeops/service-mixin-telegram.d.ts +104 -0
  1010. package/dist/lifeops/service-mixin-telegram.d.ts.map +1 -0
  1011. package/dist/lifeops/service-mixin-telegram.js +280 -0
  1012. package/dist/lifeops/service-mixin-telegram.js.map +1 -0
  1013. package/dist/lifeops/service-mixin-travel.d.ts +66 -0
  1014. package/dist/lifeops/service-mixin-travel.d.ts.map +1 -0
  1015. package/dist/lifeops/service-mixin-travel.js +275 -0
  1016. package/dist/lifeops/service-mixin-travel.js.map +1 -0
  1017. package/dist/lifeops/service-mixin-whatsapp.d.ts +96 -0
  1018. package/dist/lifeops/service-mixin-whatsapp.d.ts.map +1 -0
  1019. package/dist/lifeops/service-mixin-whatsapp.js +186 -0
  1020. package/dist/lifeops/service-mixin-whatsapp.js.map +1 -0
  1021. package/dist/lifeops/service-mixin-workflows.d.ts +15 -0
  1022. package/dist/lifeops/service-mixin-workflows.d.ts.map +1 -0
  1023. package/dist/lifeops/service-mixin-workflows.js +710 -0
  1024. package/dist/lifeops/service-mixin-workflows.js.map +1 -0
  1025. package/dist/lifeops/service-mixin-x-read.d.ts +31 -0
  1026. package/dist/lifeops/service-mixin-x-read.d.ts.map +1 -0
  1027. package/dist/lifeops/service-mixin-x-read.js +267 -0
  1028. package/dist/lifeops/service-mixin-x-read.js.map +1 -0
  1029. package/dist/lifeops/service-mixin-x.d.ts +66 -0
  1030. package/dist/lifeops/service-mixin-x.d.ts.map +1 -0
  1031. package/dist/lifeops/service-mixin-x.js +501 -0
  1032. package/dist/lifeops/service-mixin-x.js.map +1 -0
  1033. package/dist/lifeops/service-normalize-connector.d.ts +19 -0
  1034. package/dist/lifeops/service-normalize-connector.d.ts.map +1 -0
  1035. package/dist/lifeops/service-normalize-connector.js +816 -0
  1036. package/dist/lifeops/service-normalize-connector.js.map +1 -0
  1037. package/dist/lifeops/service-normalize-gmail.d.ts +11 -0
  1038. package/dist/lifeops/service-normalize-gmail.d.ts.map +1 -0
  1039. package/dist/lifeops/service-normalize-gmail.js +85 -0
  1040. package/dist/lifeops/service-normalize-gmail.js.map +1 -0
  1041. package/dist/lifeops/service-normalize-task.d.ts +9 -0
  1042. package/dist/lifeops/service-normalize-task.d.ts.map +1 -0
  1043. package/dist/lifeops/service-normalize-task.js +567 -0
  1044. package/dist/lifeops/service-normalize-task.js.map +1 -0
  1045. package/dist/lifeops/service-normalize.d.ts +9 -0
  1046. package/dist/lifeops/service-normalize.d.ts.map +1 -0
  1047. package/dist/lifeops/service-normalize.js +53 -0
  1048. package/dist/lifeops/service-normalize.js.map +1 -0
  1049. package/dist/lifeops/service-types.d.ts +75 -0
  1050. package/dist/lifeops/service-types.d.ts.map +1 -0
  1051. package/dist/lifeops/service-types.js +5 -0
  1052. package/dist/lifeops/service-types.js.map +1 -0
  1053. package/dist/lifeops/service.d.ts +482 -0
  1054. package/dist/lifeops/service.d.ts.map +1 -0
  1055. package/dist/lifeops/service.js +62 -0
  1056. package/dist/lifeops/service.js.map +1 -0
  1057. package/dist/lifeops/signal-runtime-config.d.ts +13 -0
  1058. package/dist/lifeops/signal-runtime-config.d.ts.map +1 -0
  1059. package/dist/lifeops/signal-runtime-config.js +44 -0
  1060. package/dist/lifeops/signal-runtime-config.js.map +1 -0
  1061. package/dist/lifeops/signals/bus.d.ts +78 -0
  1062. package/dist/lifeops/signals/bus.d.ts.map +1 -0
  1063. package/dist/lifeops/signals/bus.js +117 -0
  1064. package/dist/lifeops/signals/bus.js.map +1 -0
  1065. package/dist/lifeops/sql.d.ts +65 -0
  1066. package/dist/lifeops/sql.d.ts.map +1 -0
  1067. package/dist/lifeops/sql.js +182 -0
  1068. package/dist/lifeops/sql.js.map +1 -0
  1069. package/dist/lifeops/stretch-decider.d.ts +73 -0
  1070. package/dist/lifeops/stretch-decider.d.ts.map +1 -0
  1071. package/dist/lifeops/stretch-decider.js +49 -0
  1072. package/dist/lifeops/stretch-decider.js.map +1 -0
  1073. package/dist/lifeops/telemetry-mapping.d.ts +14 -0
  1074. package/dist/lifeops/telemetry-mapping.d.ts.map +1 -0
  1075. package/dist/lifeops/telemetry-mapping.js +115 -0
  1076. package/dist/lifeops/telemetry-mapping.js.map +1 -0
  1077. package/dist/lifeops/telemetry-retention.d.ts +21 -0
  1078. package/dist/lifeops/telemetry-retention.d.ts.map +1 -0
  1079. package/dist/lifeops/telemetry-retention.js +13 -0
  1080. package/dist/lifeops/telemetry-retention.js.map +1 -0
  1081. package/dist/lifeops/time/timezone.d.ts +4 -0
  1082. package/dist/lifeops/time/timezone.d.ts.map +1 -0
  1083. package/dist/lifeops/time/timezone.js +154 -0
  1084. package/dist/lifeops/time/timezone.js.map +1 -0
  1085. package/dist/lifeops/time-util.d.ts +10 -0
  1086. package/dist/lifeops/time-util.d.ts.map +1 -0
  1087. package/dist/lifeops/time-util.js +14 -0
  1088. package/dist/lifeops/time-util.js.map +1 -0
  1089. package/dist/lifeops/time.d.ts +17 -0
  1090. package/dist/lifeops/time.d.ts.map +1 -0
  1091. package/dist/lifeops/time.js +152 -0
  1092. package/dist/lifeops/time.js.map +1 -0
  1093. package/dist/lifeops/travel-booking.types.d.ts +46 -0
  1094. package/dist/lifeops/travel-booking.types.d.ts.map +1 -0
  1095. package/dist/lifeops/travel-booking.types.js +1 -0
  1096. package/dist/lifeops/travel-booking.types.js.map +1 -0
  1097. package/dist/lifeops/triggers/schedule-once.d.ts +19 -0
  1098. package/dist/lifeops/triggers/schedule-once.d.ts.map +1 -0
  1099. package/dist/lifeops/triggers/schedule-once.js +99 -0
  1100. package/dist/lifeops/triggers/schedule-once.js.map +1 -0
  1101. package/dist/lifeops/validate/coding-task-request.d.ts +18 -0
  1102. package/dist/lifeops/validate/coding-task-request.d.ts.map +1 -0
  1103. package/dist/lifeops/validate/coding-task-request.js +16 -0
  1104. package/dist/lifeops/validate/coding-task-request.js.map +1 -0
  1105. package/dist/lifeops/voice/grounded-reply.d.ts +41 -0
  1106. package/dist/lifeops/voice/grounded-reply.d.ts.map +1 -0
  1107. package/dist/lifeops/voice/grounded-reply.js +24 -0
  1108. package/dist/lifeops/voice/grounded-reply.js.map +1 -0
  1109. package/dist/lifeops/voice-affect.d.ts +79 -0
  1110. package/dist/lifeops/voice-affect.d.ts.map +1 -0
  1111. package/dist/lifeops/voice-affect.js +253 -0
  1112. package/dist/lifeops/voice-affect.js.map +1 -0
  1113. package/dist/lifeops/wave1-types.d.ts +125 -0
  1114. package/dist/lifeops/wave1-types.d.ts.map +1 -0
  1115. package/dist/lifeops/wave1-types.js +1 -0
  1116. package/dist/lifeops/wave1-types.js.map +1 -0
  1117. package/dist/lifeops/work-threads/field-evaluator-thread-ops.d.ts +33 -0
  1118. package/dist/lifeops/work-threads/field-evaluator-thread-ops.d.ts.map +1 -0
  1119. package/dist/lifeops/work-threads/field-evaluator-thread-ops.js +226 -0
  1120. package/dist/lifeops/work-threads/field-evaluator-thread-ops.js.map +1 -0
  1121. package/dist/lifeops/work-threads/index.d.ts +3 -0
  1122. package/dist/lifeops/work-threads/index.d.ts.map +1 -0
  1123. package/dist/lifeops/work-threads/index.js +7 -0
  1124. package/dist/lifeops/work-threads/index.js.map +1 -0
  1125. package/dist/lifeops/work-threads/store.d.ts +91 -0
  1126. package/dist/lifeops/work-threads/store.d.ts.map +1 -0
  1127. package/dist/lifeops/work-threads/store.js +245 -0
  1128. package/dist/lifeops/work-threads/store.js.map +1 -0
  1129. package/dist/lifeops/work-threads/types.d.ts +58 -0
  1130. package/dist/lifeops/work-threads/types.d.ts.map +1 -0
  1131. package/dist/lifeops/work-threads/types.js +1 -0
  1132. package/dist/lifeops/work-threads/types.js.map +1 -0
  1133. package/dist/platform/host.d.ts +16 -0
  1134. package/dist/platform/host.d.ts.map +1 -0
  1135. package/dist/platform/host.js +22 -0
  1136. package/dist/platform/host.js.map +1 -0
  1137. package/dist/platform/index.d.ts +3 -0
  1138. package/dist/platform/index.d.ts.map +1 -0
  1139. package/dist/platform/index.js +3 -0
  1140. package/dist/platform/index.js.map +1 -0
  1141. package/dist/platform/lifeops-github.d.ts +15 -0
  1142. package/dist/platform/lifeops-github.d.ts.map +1 -0
  1143. package/dist/platform/lifeops-github.js +146 -0
  1144. package/dist/platform/lifeops-github.js.map +1 -0
  1145. package/dist/plugin.d.ts +106 -0
  1146. package/dist/plugin.d.ts.map +1 -0
  1147. package/dist/plugin.js +989 -0
  1148. package/dist/plugin.js.map +1 -0
  1149. package/dist/provider.d.ts +4 -0
  1150. package/dist/provider.d.ts.map +1 -0
  1151. package/dist/provider.js +108 -0
  1152. package/dist/provider.js.map +1 -0
  1153. package/dist/providers/activity-profile.d.ts +3 -0
  1154. package/dist/providers/activity-profile.d.ts.map +1 -0
  1155. package/dist/providers/activity-profile.js +140 -0
  1156. package/dist/providers/activity-profile.js.map +1 -0
  1157. package/dist/providers/cross-channel-context.d.ts +29 -0
  1158. package/dist/providers/cross-channel-context.d.ts.map +1 -0
  1159. package/dist/providers/cross-channel-context.js +206 -0
  1160. package/dist/providers/cross-channel-context.js.map +1 -0
  1161. package/dist/providers/first-run.d.ts +22 -0
  1162. package/dist/providers/first-run.d.ts.map +1 -0
  1163. package/dist/providers/first-run.js +93 -0
  1164. package/dist/providers/first-run.js.map +1 -0
  1165. package/dist/providers/health.d.ts +2 -0
  1166. package/dist/providers/health.d.ts.map +1 -0
  1167. package/dist/providers/health.js +14 -0
  1168. package/dist/providers/health.js.map +1 -0
  1169. package/dist/providers/inbox-triage.d.ts +3 -0
  1170. package/dist/providers/inbox-triage.d.ts.map +1 -0
  1171. package/dist/providers/inbox-triage.js +134 -0
  1172. package/dist/providers/inbox-triage.js.map +1 -0
  1173. package/dist/providers/lifeops.d.ts +3 -0
  1174. package/dist/providers/lifeops.d.ts.map +1 -0
  1175. package/dist/providers/lifeops.js +548 -0
  1176. package/dist/providers/lifeops.js.map +1 -0
  1177. package/dist/providers/pending-prompts.d.ts +38 -0
  1178. package/dist/providers/pending-prompts.d.ts.map +1 -0
  1179. package/dist/providers/pending-prompts.js +81 -0
  1180. package/dist/providers/pending-prompts.js.map +1 -0
  1181. package/dist/providers/recent-task-states.d.ts +52 -0
  1182. package/dist/providers/recent-task-states.d.ts.map +1 -0
  1183. package/dist/providers/recent-task-states.js +166 -0
  1184. package/dist/providers/recent-task-states.js.map +1 -0
  1185. package/dist/providers/room-policy.d.ts +16 -0
  1186. package/dist/providers/room-policy.d.ts.map +1 -0
  1187. package/dist/providers/room-policy.js +71 -0
  1188. package/dist/providers/room-policy.js.map +1 -0
  1189. package/dist/providers/work-threads.d.ts +3 -0
  1190. package/dist/providers/work-threads.d.ts.map +1 -0
  1191. package/dist/providers/work-threads.js +97 -0
  1192. package/dist/providers/work-threads.js.map +1 -0
  1193. package/dist/public.d.ts +3 -0
  1194. package/dist/public.d.ts.map +1 -0
  1195. package/dist/public.js +17 -0
  1196. package/dist/public.js.map +1 -0
  1197. package/dist/routes/cloud-features-routes.d.ts +9 -0
  1198. package/dist/routes/cloud-features-routes.d.ts.map +1 -0
  1199. package/dist/routes/cloud-features-routes.js +164 -0
  1200. package/dist/routes/cloud-features-routes.js.map +1 -0
  1201. package/dist/routes/entities.d.ts +14 -0
  1202. package/dist/routes/entities.d.ts.map +1 -0
  1203. package/dist/routes/entities.js +203 -0
  1204. package/dist/routes/entities.js.map +1 -0
  1205. package/dist/routes/lifeops-routes.d.ts +20 -0
  1206. package/dist/routes/lifeops-routes.d.ts.map +1 -0
  1207. package/dist/routes/lifeops-routes.js +2337 -0
  1208. package/dist/routes/lifeops-routes.js.map +1 -0
  1209. package/dist/routes/plugin.d.ts +9 -0
  1210. package/dist/routes/plugin.d.ts.map +1 -0
  1211. package/dist/routes/plugin.js +568 -0
  1212. package/dist/routes/plugin.js.map +1 -0
  1213. package/dist/routes/relationships.d.ts +13 -0
  1214. package/dist/routes/relationships.d.ts.map +1 -0
  1215. package/dist/routes/relationships.js +195 -0
  1216. package/dist/routes/relationships.js.map +1 -0
  1217. package/dist/routes/scheduled-tasks.d.ts +102 -0
  1218. package/dist/routes/scheduled-tasks.d.ts.map +1 -0
  1219. package/dist/routes/scheduled-tasks.js +322 -0
  1220. package/dist/routes/scheduled-tasks.js.map +1 -0
  1221. package/dist/routes/sleep-routes.d.ts +3 -0
  1222. package/dist/routes/sleep-routes.d.ts.map +1 -0
  1223. package/dist/routes/sleep-routes.js +33 -0
  1224. package/dist/routes/sleep-routes.js.map +1 -0
  1225. package/dist/routes/travel-provider-relay-routes.d.ts +2 -0
  1226. package/dist/routes/travel-provider-relay-routes.d.ts.map +1 -0
  1227. package/dist/routes/travel-provider-relay-routes.js +7 -0
  1228. package/dist/routes/travel-provider-relay-routes.js.map +1 -0
  1229. package/dist/routes/website-blocker-routes.d.ts +6 -0
  1230. package/dist/routes/website-blocker-routes.d.ts.map +1 -0
  1231. package/dist/routes/website-blocker-routes.js +218 -0
  1232. package/dist/routes/website-blocker-routes.js.map +1 -0
  1233. package/dist/security/action-confirmation.d.ts +12 -0
  1234. package/dist/security/action-confirmation.d.ts.map +1 -0
  1235. package/dist/security/action-confirmation.js +36 -0
  1236. package/dist/security/action-confirmation.js.map +1 -0
  1237. package/dist/service.d.ts +34 -0
  1238. package/dist/service.d.ts.map +1 -0
  1239. package/dist/service.js +111 -0
  1240. package/dist/service.js.map +1 -0
  1241. package/dist/travel-time/calendar-create.d.ts +17 -0
  1242. package/dist/travel-time/calendar-create.d.ts.map +1 -0
  1243. package/dist/travel-time/calendar-create.js +28 -0
  1244. package/dist/travel-time/calendar-create.js.map +1 -0
  1245. package/dist/travel-time/service.d.ts +114 -0
  1246. package/dist/travel-time/service.d.ts.map +1 -0
  1247. package/dist/travel-time/service.js +209 -0
  1248. package/dist/travel-time/service.js.map +1 -0
  1249. package/dist/types/app-blocker-settings-card.d.ts +2 -0
  1250. package/dist/types/app-blocker-settings-card.d.ts.map +1 -0
  1251. package/dist/types/app-blocker-settings-card.js +1 -0
  1252. package/dist/types/app-blocker-settings-card.js.map +1 -0
  1253. package/dist/types/briefing.d.ts +59 -0
  1254. package/dist/types/briefing.d.ts.map +1 -0
  1255. package/dist/types/briefing.js +1 -0
  1256. package/dist/types/briefing.js.map +1 -0
  1257. package/dist/types/document-request.d.ts +41 -0
  1258. package/dist/types/document-request.d.ts.map +1 -0
  1259. package/dist/types/document-request.js +1 -0
  1260. package/dist/types/document-request.js.map +1 -0
  1261. package/dist/types/index.d.ts +5 -0
  1262. package/dist/types/index.d.ts.map +1 -0
  1263. package/dist/types/index.js +1 -0
  1264. package/dist/types/index.js.map +1 -0
  1265. package/dist/types/website-blocker-settings-card.d.ts +2 -0
  1266. package/dist/types/website-blocker-settings-card.d.ts.map +1 -0
  1267. package/dist/types/website-blocker-settings-card.js +1 -0
  1268. package/dist/types/website-blocker-settings-card.js.map +1 -0
  1269. package/dist/ui.d.ts +13 -0
  1270. package/dist/ui.d.ts.map +1 -0
  1271. package/dist/ui.js +25 -0
  1272. package/dist/ui.js.map +1 -0
  1273. package/dist/utils/format-duration.d.ts +2 -0
  1274. package/dist/utils/format-duration.d.ts.map +1 -0
  1275. package/dist/utils/format-duration.js +13 -0
  1276. package/dist/utils/format-duration.js.map +1 -0
  1277. package/dist/utils/index.d.ts +3 -0
  1278. package/dist/utils/index.d.ts.map +1 -0
  1279. package/dist/utils/index.js +3 -0
  1280. package/dist/utils/index.js.map +1 -0
  1281. package/dist/utils/lifeops-url.d.ts +3 -0
  1282. package/dist/utils/lifeops-url.d.ts.map +1 -0
  1283. package/dist/utils/lifeops-url.js +28 -0
  1284. package/dist/utils/lifeops-url.js.map +1 -0
  1285. package/dist/website-blocker/chat-integration/block-activator.d.ts +32 -0
  1286. package/dist/website-blocker/chat-integration/block-activator.d.ts.map +1 -0
  1287. package/dist/website-blocker/chat-integration/block-activator.js +30 -0
  1288. package/dist/website-blocker/chat-integration/block-activator.js.map +1 -0
  1289. package/dist/website-blocker/chat-integration/block-rule-reconciler.d.ts +7 -0
  1290. package/dist/website-blocker/chat-integration/block-rule-reconciler.d.ts.map +1 -0
  1291. package/dist/website-blocker/chat-integration/block-rule-reconciler.js +115 -0
  1292. package/dist/website-blocker/chat-integration/block-rule-reconciler.js.map +1 -0
  1293. package/dist/website-blocker/chat-integration/block-rule-schema.d.ts +39 -0
  1294. package/dist/website-blocker/chat-integration/block-rule-schema.d.ts.map +1 -0
  1295. package/dist/website-blocker/chat-integration/block-rule-schema.js +133 -0
  1296. package/dist/website-blocker/chat-integration/block-rule-schema.js.map +1 -0
  1297. package/dist/website-blocker/chat-integration/block-rule-service.d.ts +21 -0
  1298. package/dist/website-blocker/chat-integration/block-rule-service.d.ts.map +1 -0
  1299. package/dist/website-blocker/chat-integration/block-rule-service.js +230 -0
  1300. package/dist/website-blocker/chat-integration/block-rule-service.js.map +1 -0
  1301. package/dist/website-blocker/chat-integration/harsh-mode-check.d.ts +13 -0
  1302. package/dist/website-blocker/chat-integration/harsh-mode-check.d.ts.map +1 -0
  1303. package/dist/website-blocker/chat-integration/harsh-mode-check.js +22 -0
  1304. package/dist/website-blocker/chat-integration/harsh-mode-check.js.map +1 -0
  1305. package/dist/website-blocker/chat-integration/index.d.ts +5 -0
  1306. package/dist/website-blocker/chat-integration/index.d.ts.map +1 -0
  1307. package/dist/website-blocker/chat-integration/index.js +26 -0
  1308. package/dist/website-blocker/chat-integration/index.js.map +1 -0
  1309. package/dist/website-blocker/proactive-block-bridge.d.ts +75 -0
  1310. package/dist/website-blocker/proactive-block-bridge.d.ts.map +1 -0
  1311. package/dist/website-blocker/proactive-block-bridge.js +154 -0
  1312. package/dist/website-blocker/proactive-block-bridge.js.map +1 -0
  1313. package/dist/website-blocker/public.d.ts +12 -0
  1314. package/dist/website-blocker/public.d.ts.map +1 -0
  1315. package/dist/website-blocker/public.js +51 -0
  1316. package/dist/website-blocker/public.js.map +1 -0
  1317. package/package.json +28 -28
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/default-packs/executive-assistant.ts"],"sourcesContent":["/**\n * Default pack: `executive-assistant`.\n *\n * Opt-in scenario expansion for LifeOps as a personal / executive assistant.\n * The records stay LifeOps-owned: calendar, inbox, decisions, delegation,\n * travel, money admin, relationship cadence, and owner-facing planning. Health\n * and screen-time scenarios remain in `@elizaos/plugin-health`.\n */\n\nimport { MEETING_PREP_INSTRUCTIONS } from \"../lifeops/optimized-prompt-instructions.js\";\nimport type { DefaultPack } from \"./registry-types.js\";\nimport {\n type CheckInTaskDefinition,\n compileTaskDefinitions,\n type RecapTaskDefinition,\n type ReminderTaskDefinition,\n type TaskDefinition,\n type WatcherTaskDefinition,\n} from \"./task-definitions.js\";\n\nexport { MEETING_PREP_INSTRUCTIONS } from \"../lifeops/optimized-prompt-instructions.js\";\n\nexport const EXECUTIVE_ASSISTANT_PACK_KEY = \"executive-assistant\";\n\nexport const EXECUTIVE_ASSISTANT_RECORD_IDS = {\n dailyCommandBrief: \"default-pack:executive-assistant:daily-command-brief\",\n meetingPrep: \"default-pack:executive-assistant:meeting-prep\",\n calendarConflictSweep:\n \"default-pack:executive-assistant:calendar-conflict-sweep\",\n inboxDecisions: \"default-pack:executive-assistant:inbox-decisions\",\n waitingOnWatcher: \"default-pack:executive-assistant:waiting-on-watcher\",\n delegationReview: \"default-pack:executive-assistant:delegation-review\",\n decisionLogCapture: \"default-pack:executive-assistant:decision-log-capture\",\n travelReadiness: \"default-pack:executive-assistant:travel-readiness\",\n expenseSweep: \"default-pack:executive-assistant:expense-sweep\",\n renewalSweep: \"default-pack:executive-assistant:renewal-sweep\",\n peopleCadencePrep: \"default-pack:executive-assistant:people-cadence-prep\",\n documentSignatureSweep:\n \"default-pack:executive-assistant:document-signature-sweep\",\n endOfDayCloseout: \"default-pack:executive-assistant:end-of-day-closeout\",\n approvalBatchReview: \"default-pack:executive-assistant:approval-batch-review\",\n privacyRedactionSweep:\n \"default-pack:executive-assistant:privacy-redaction-sweep\",\n interruptionFirebreak:\n \"default-pack:executive-assistant:interruption-firebreak\",\n statusCompression: \"default-pack:executive-assistant:status-compression\",\n vipEscalationSweep: \"default-pack:executive-assistant:vip-escalation-sweep\",\n delegationMapReview: \"default-pack:executive-assistant:delegation-map-review\",\n remoteAgentRecovery: \"default-pack:executive-assistant:remote-agent-recovery\",\n familyLogisticsPrep: \"default-pack:executive-assistant:family-logistics-prep\",\n outageRecoverySweep: \"default-pack:executive-assistant:outage-recovery-sweep\",\n weeklyOperatingReview:\n \"default-pack:executive-assistant:weekly-operating-review\",\n boardPackPrep: \"default-pack:executive-assistant:board-pack-prep\",\n chiefOfStaffHandoff:\n \"default-pack:executive-assistant:chief-of-staff-handoff\",\n eventPlanning: \"default-pack:executive-assistant:event-planning\",\n financeDisputeSweep: \"default-pack:executive-assistant:finance-dispute-sweep\",\n giftMilestonePrep: \"default-pack:executive-assistant:gift-milestone-prep\",\n hiringLoopCoordination:\n \"default-pack:executive-assistant:hiring-loop-coordination\",\n introRoutingSweep: \"default-pack:executive-assistant:intro-routing-sweep\",\n legalDeadlineSweep: \"default-pack:executive-assistant:legal-deadline-sweep\",\n travelDisruptionRecovery:\n \"default-pack:executive-assistant:travel-disruption-recovery\",\n vendorNegotiationPrep:\n \"default-pack:executive-assistant:vendor-negotiation-prep\",\n monthlyAdminReview: \"default-pack:executive-assistant:monthly-admin-review\",\n homeOpsSweep: \"default-pack:executive-assistant:home-ops-sweep\",\n} as const;\n\nconst base = {\n respectsGlobalPause: true,\n source: \"default_pack\" as const,\n createdBy: EXECUTIVE_ASSISTANT_PACK_KEY,\n ownerVisible: true,\n};\n\nconst dailyCommandBrief: RecapTaskDefinition = {\n ...base,\n definitionKind: \"recap\",\n promptInstructions:\n \"Assemble a command brief from calendar, inbox, pending prompts, overdue tasks, relationship follow-ups, documents awaiting action, travel holds, and money admin. Use icons or compact labels in the owner surface. Keep prose minimal and ask for one decision at a time.\",\n contextRequest: {\n includeOwnerFacts: [\"preferredName\", \"timezone\", \"morningWindow\"],\n includeRecentTaskStates: {},\n },\n trigger: {\n kind: \"relative_to_anchor\",\n anchorKey: \"wake.confirmed\",\n offsetMinutes: 10,\n },\n priority: \"high\",\n idempotencyKey: EXECUTIVE_ASSISTANT_RECORD_IDS.dailyCommandBrief,\n metadata: {\n packKey: EXECUTIVE_ASSISTANT_PACK_KEY,\n recordKey: \"daily-command-brief\",\n scenario: \"assistant.command_brief\",\n },\n};\n\nconst meetingPrep: ReminderTaskDefinition = {\n ...base,\n definitionKind: \"reminder\",\n promptInstructions: MEETING_PREP_INSTRUCTIONS,\n contextRequest: {\n includeOwnerFacts: [\"preferredName\", \"timezone\"],\n includeRecentTaskStates: {},\n },\n trigger: { kind: \"cron\", expression: \"*/30 7-19 * * 1-5\", tz: \"owner_local\" },\n priority: \"medium\",\n idempotencyKey: EXECUTIVE_ASSISTANT_RECORD_IDS.meetingPrep,\n metadata: {\n packKey: EXECUTIVE_ASSISTANT_PACK_KEY,\n recordKey: \"meeting-prep\",\n scenario: \"assistant.meeting_prep\",\n },\n};\n\nconst calendarConflictSweep: WatcherTaskDefinition = {\n ...base,\n definitionKind: \"watcher\",\n promptInstructions:\n \"Scan calendar for overlaps, missing travel buffers, missing locations, no-agenda meetings, and unaccepted priority events. Create owner-visible approval or reminder tasks for conflicts that need a decision. Do not message external people directly.\",\n contextRequest: {\n includeOwnerFacts: [\"timezone\"],\n },\n trigger: { kind: \"cron\", expression: \"0 6,12,17 * * 1-5\", tz: \"owner_local\" },\n priority: \"medium\",\n ownerVisible: false,\n idempotencyKey: EXECUTIVE_ASSISTANT_RECORD_IDS.calendarConflictSweep,\n metadata: {\n packKey: EXECUTIVE_ASSISTANT_PACK_KEY,\n recordKey: \"calendar-conflict-sweep\",\n scenario: \"assistant.calendar_conflicts\",\n },\n};\n\nconst inboxDecisions: RecapTaskDefinition = {\n ...base,\n definitionKind: \"recap\",\n promptInstructions:\n \"Find inbox items that require a decision, approval, scheduling answer, payment answer, or delegated reply. Group by required action, not by sender. Present only the smallest useful batch and create pending prompts for unresolved decisions.\",\n contextRequest: {\n includeOwnerFacts: [\"preferredName\", \"timezone\"],\n includeRecentTaskStates: {},\n },\n trigger: { kind: \"cron\", expression: \"0 10,15 * * 1-5\", tz: \"owner_local\" },\n priority: \"high\",\n idempotencyKey: EXECUTIVE_ASSISTANT_RECORD_IDS.inboxDecisions,\n metadata: {\n packKey: EXECUTIVE_ASSISTANT_PACK_KEY,\n recordKey: \"inbox-decisions\",\n scenario: \"assistant.inbox_decisions\",\n },\n};\n\nconst waitingOnWatcher: WatcherTaskDefinition = {\n ...base,\n definitionKind: \"watcher\",\n promptInstructions:\n \"Scan delegated items, sent questions, shared docs, and open approvals for waiting-on states. Create follow-up tasks with subject.kind='thread' or subject.kind='relationship' using stable IDs from context. Avoid duplicate nudges already represented by an active task.\",\n contextRequest: {\n includeOwnerFacts: [\"timezone\"],\n includeRecentTaskStates: {},\n },\n trigger: { kind: \"cron\", expression: \"0 11 * * 1-5\", tz: \"owner_local\" },\n priority: \"medium\",\n ownerVisible: false,\n idempotencyKey: EXECUTIVE_ASSISTANT_RECORD_IDS.waitingOnWatcher,\n metadata: {\n packKey: EXECUTIVE_ASSISTANT_PACK_KEY,\n recordKey: \"waiting-on-watcher\",\n scenario: \"assistant.waiting_on\",\n },\n};\n\nconst delegationReview: CheckInTaskDefinition = {\n ...base,\n definitionKind: \"checkin\",\n promptInstructions:\n \"Ask for a fast delegation pass over active projects and open loops. Convert owner replies into assignments, follow-ups, or reminders through ScheduledTask records. Keep the prompt short and focused on one unresolved owner decision.\",\n contextRequest: {\n includeOwnerFacts: [\"preferredName\", \"timezone\"],\n includeRecentTaskStates: {},\n },\n trigger: { kind: \"cron\", expression: \"0 16 * * 1-5\", tz: \"owner_local\" },\n priority: \"medium\",\n completionCheck: {\n kind: \"user_replied_within\",\n params: { minutes: 240 },\n followupAfterMinutes: 240,\n },\n idempotencyKey: EXECUTIVE_ASSISTANT_RECORD_IDS.delegationReview,\n metadata: {\n packKey: EXECUTIVE_ASSISTANT_PACK_KEY,\n recordKey: \"delegation-review\",\n scenario: \"assistant.delegation\",\n },\n};\n\nconst decisionLogCapture: RecapTaskDefinition = {\n ...base,\n definitionKind: \"recap\",\n promptInstructions:\n \"Capture decisions from recent chats, approvals, meetings, and documents. Store concise decision records with owner, date, source thread or document, rationale, and follow-up task references. Surface only ambiguous decisions needing confirmation.\",\n contextRequest: {\n includeOwnerFacts: [\"preferredName\", \"timezone\"],\n includeRecentTaskStates: {},\n },\n trigger: { kind: \"cron\", expression: \"30 17 * * 1-5\", tz: \"owner_local\" },\n priority: \"medium\",\n idempotencyKey: EXECUTIVE_ASSISTANT_RECORD_IDS.decisionLogCapture,\n metadata: {\n packKey: EXECUTIVE_ASSISTANT_PACK_KEY,\n recordKey: \"decision-log-capture\",\n scenario: \"assistant.decision_log\",\n },\n};\n\nconst travelReadiness: WatcherTaskDefinition = {\n ...base,\n definitionKind: \"watcher\",\n promptInstructions:\n \"Scan upcoming travel for booking holds, confirmation numbers, passport or ID notes, calendar gaps, airport transfer gaps, lodging gaps, weather-sensitive reminders, and expense capture. Create reminders or approval tasks for missing items.\",\n contextRequest: {\n includeOwnerFacts: [\"timezone\"],\n includeRecentTaskStates: {},\n },\n trigger: { kind: \"cron\", expression: \"0 13 * * *\", tz: \"owner_local\" },\n priority: \"medium\",\n ownerVisible: false,\n idempotencyKey: EXECUTIVE_ASSISTANT_RECORD_IDS.travelReadiness,\n metadata: {\n packKey: EXECUTIVE_ASSISTANT_PACK_KEY,\n recordKey: \"travel-readiness\",\n scenario: \"assistant.travel_readiness\",\n },\n};\n\nconst expenseSweep: RecapTaskDefinition = {\n ...base,\n definitionKind: \"recap\",\n promptInstructions:\n \"Collect likely reimbursable expenses from receipts, payments, calendar travel, and inbox confirmations. Group by trip or project and request only missing classification details. Keep the owner surface visual and terse.\",\n contextRequest: {\n includeOwnerFacts: [\"timezone\"],\n includeRecentTaskStates: {},\n },\n trigger: { kind: \"cron\", expression: \"0 18 * * 5\", tz: \"owner_local\" },\n priority: \"low\",\n idempotencyKey: EXECUTIVE_ASSISTANT_RECORD_IDS.expenseSweep,\n metadata: {\n packKey: EXECUTIVE_ASSISTANT_PACK_KEY,\n recordKey: \"expense-sweep\",\n scenario: \"assistant.expenses\",\n },\n};\n\nconst renewalSweep: ReminderTaskDefinition = {\n ...base,\n definitionKind: \"reminder\",\n promptInstructions:\n \"Review subscriptions, trials, renewals, warranties, insurance dates, and recurring charges. Surface near-term actions with amount, renewal date, owner decision needed, and cancel or keep options. Avoid low-confidence guesses.\",\n contextRequest: {\n includeOwnerFacts: [\"timezone\"],\n includeRecentTaskStates: {},\n },\n trigger: { kind: \"cron\", expression: \"0 9 * * 1\", tz: \"owner_local\" },\n priority: \"medium\",\n idempotencyKey: EXECUTIVE_ASSISTANT_RECORD_IDS.renewalSweep,\n metadata: {\n packKey: EXECUTIVE_ASSISTANT_PACK_KEY,\n recordKey: \"renewal-sweep\",\n scenario: \"assistant.renewals\",\n },\n};\n\nconst peopleCadencePrep: RecapTaskDefinition = {\n ...base,\n definitionKind: \"recap\",\n promptInstructions:\n \"Prepare relationship touchpoints from overdue cadence edges, upcoming birthdays or milestones, recent promises, shared threads, and open asks. Use EntityStore names and relationship context only. Keep suggestions brief and action-oriented.\",\n contextRequest: {\n includeOwnerFacts: [\"timezone\"],\n includeRecentTaskStates: {},\n },\n trigger: { kind: \"cron\", expression: \"0 8 * * 1\", tz: \"owner_local\" },\n priority: \"medium\",\n idempotencyKey: EXECUTIVE_ASSISTANT_RECORD_IDS.peopleCadencePrep,\n metadata: {\n packKey: EXECUTIVE_ASSISTANT_PACK_KEY,\n recordKey: \"people-cadence-prep\",\n scenario: \"assistant.people_cadence\",\n },\n};\n\nconst documentSignatureSweep: WatcherTaskDefinition = {\n ...base,\n definitionKind: \"watcher\",\n promptInstructions:\n \"Scan documents, approval requests, and inbox attachments for signature, review, redline, notarization, or upload tasks. Create owner-visible approval tasks for items that need explicit approval before sending.\",\n contextRequest: {\n includeOwnerFacts: [\"timezone\"],\n includeRecentTaskStates: {},\n },\n trigger: { kind: \"cron\", expression: \"0 14 * * 1-5\", tz: \"owner_local\" },\n priority: \"medium\",\n ownerVisible: false,\n idempotencyKey: EXECUTIVE_ASSISTANT_RECORD_IDS.documentSignatureSweep,\n metadata: {\n packKey: EXECUTIVE_ASSISTANT_PACK_KEY,\n recordKey: \"document-signature-sweep\",\n scenario: \"assistant.document_signatures\",\n },\n};\n\nconst endOfDayCloseout: CheckInTaskDefinition = {\n ...base,\n definitionKind: \"checkin\",\n promptInstructions:\n \"Run a closeout: show unresolved decisions, tomorrow risks, waiting-on items, promises made today, and tasks worth moving. Ask for one compact confirmation batch and write updates into ScheduledTask records.\",\n contextRequest: {\n includeOwnerFacts: [\"preferredName\", \"timezone\", \"eveningWindow\"],\n includeRecentTaskStates: {},\n },\n trigger: { kind: \"cron\", expression: \"0 18 * * 1-5\", tz: \"owner_local\" },\n priority: \"high\",\n completionCheck: {\n kind: \"user_replied_within\",\n params: { minutes: 180 },\n followupAfterMinutes: 180,\n },\n idempotencyKey: EXECUTIVE_ASSISTANT_RECORD_IDS.endOfDayCloseout,\n metadata: {\n packKey: EXECUTIVE_ASSISTANT_PACK_KEY,\n recordKey: \"end-of-day-closeout\",\n scenario: \"assistant.closeout\",\n },\n};\n\nconst approvalBatchReview: RecapTaskDefinition = {\n ...base,\n definitionKind: \"recap\",\n promptInstructions:\n \"Batch pending approvals into safe actions. Separate reversible drafts from irreversible actions, note risk and downstream effects, and ask for the smallest approval set.\",\n contextRequest: {\n includeOwnerFacts: [\"preferredName\", \"timezone\"],\n includeRecentTaskStates: {},\n },\n trigger: { kind: \"cron\", expression: \"30 14 * * 1-5\", tz: \"owner_local\" },\n priority: \"high\",\n idempotencyKey: EXECUTIVE_ASSISTANT_RECORD_IDS.approvalBatchReview,\n metadata: {\n packKey: EXECUTIVE_ASSISTANT_PACK_KEY,\n recordKey: \"approval-batch-review\",\n scenario: \"assistant.approval_batch\",\n },\n};\n\nconst privacyRedactionSweep: WatcherTaskDefinition = {\n ...base,\n definitionKind: \"watcher\",\n promptInstructions:\n \"Inspect outgoing summaries, delegated drafts, and briefing packets for credentials, financial account data, addresses, and sensitive personal context. Create approval tasks for unsafe shares.\",\n contextRequest: {\n includeOwnerFacts: [\"timezone\"],\n includeRecentTaskStates: {},\n },\n trigger: { kind: \"cron\", expression: \"0 12,17 * * 1-5\", tz: \"owner_local\" },\n priority: \"high\",\n ownerVisible: false,\n idempotencyKey: EXECUTIVE_ASSISTANT_RECORD_IDS.privacyRedactionSweep,\n metadata: {\n packKey: EXECUTIVE_ASSISTANT_PACK_KEY,\n recordKey: \"privacy-redaction-sweep\",\n scenario: \"assistant.privacy_redaction\",\n },\n};\n\nconst interruptionFirebreak: CheckInTaskDefinition = {\n ...base,\n definitionKind: \"checkin\",\n promptInstructions:\n \"Protect the next focus block by triaging incoming items into wait, draft, delegate, or interrupt. Escalate only items that truly require owner attention now.\",\n contextRequest: {\n includeOwnerFacts: [\"preferredName\", \"timezone\"],\n includeRecentTaskStates: {},\n },\n trigger: { kind: \"cron\", expression: \"0 9,13 * * 1-5\", tz: \"owner_local\" },\n priority: \"medium\",\n completionCheck: {\n kind: \"user_replied_within\",\n params: { minutes: 120 },\n followupAfterMinutes: 120,\n },\n idempotencyKey: EXECUTIVE_ASSISTANT_RECORD_IDS.interruptionFirebreak,\n metadata: {\n packKey: EXECUTIVE_ASSISTANT_PACK_KEY,\n recordKey: \"interruption-firebreak\",\n scenario: \"assistant.interruption_firebreak\",\n },\n};\n\nconst statusCompression: RecapTaskDefinition = {\n ...base,\n definitionKind: \"recap\",\n promptInstructions:\n \"Compress active project and assistant work into green, yellow, red, owner, next move, blocker, and decision needed. Use compact status indicators and avoid narrative unless asked.\",\n contextRequest: {\n includeOwnerFacts: [\"preferredName\", \"timezone\"],\n includeRecentTaskStates: {},\n },\n trigger: { kind: \"cron\", expression: \"30 16 * * 1-5\", tz: \"owner_local\" },\n priority: \"medium\",\n idempotencyKey: EXECUTIVE_ASSISTANT_RECORD_IDS.statusCompression,\n metadata: {\n packKey: EXECUTIVE_ASSISTANT_PACK_KEY,\n recordKey: \"status-compression\",\n scenario: \"assistant.status_compression\",\n },\n};\n\nconst vipEscalationSweep: WatcherTaskDefinition = {\n ...base,\n definitionKind: \"watcher\",\n promptInstructions:\n \"Scan VIP and high-trust relationship threads for decisions that may need a different channel. Choose DM, email, SMS, voice call, or wait based on urgency without reflexively interrupting.\",\n contextRequest: {\n includeOwnerFacts: [\"timezone\"],\n includeRecentTaskStates: {},\n },\n trigger: { kind: \"cron\", expression: \"0 9-18 * * 1-5\", tz: \"owner_local\" },\n priority: \"medium\",\n ownerVisible: false,\n idempotencyKey: EXECUTIVE_ASSISTANT_RECORD_IDS.vipEscalationSweep,\n metadata: {\n packKey: EXECUTIVE_ASSISTANT_PACK_KEY,\n recordKey: \"vip-escalation-sweep\",\n scenario: \"assistant.vip_escalation\",\n },\n};\n\nconst delegationMapReview: RecapTaskDefinition = {\n ...base,\n definitionKind: \"recap\",\n promptInstructions:\n \"Map delegated work by owner, deadline, dependency, next check-in, and risk. Find unclear ownership and propose follow-ups without duplicating active tasks.\",\n contextRequest: {\n includeOwnerFacts: [\"preferredName\", \"timezone\"],\n includeRecentTaskStates: {},\n },\n trigger: { kind: \"cron\", expression: \"0 15 * * 1,4\", tz: \"owner_local\" },\n priority: \"medium\",\n idempotencyKey: EXECUTIVE_ASSISTANT_RECORD_IDS.delegationMapReview,\n metadata: {\n packKey: EXECUTIVE_ASSISTANT_PACK_KEY,\n recordKey: \"delegation-map-review\",\n scenario: \"assistant.delegation_map\",\n },\n};\n\nconst remoteAgentRecovery: WatcherTaskDefinition = {\n ...base,\n definitionKind: \"watcher\",\n promptInstructions:\n \"Review remote agent and assistant tasks for stuck states, missing inputs, failed handoffs, or stale status. Create the next safe recovery action with owner approval when needed.\",\n contextRequest: {\n includeOwnerFacts: [\"timezone\"],\n includeRecentTaskStates: {},\n },\n trigger: {\n kind: \"cron\",\n expression: \"0 10,14,18 * * 1-5\",\n tz: \"owner_local\",\n },\n priority: \"medium\",\n ownerVisible: false,\n idempotencyKey: EXECUTIVE_ASSISTANT_RECORD_IDS.remoteAgentRecovery,\n metadata: {\n packKey: EXECUTIVE_ASSISTANT_PACK_KEY,\n recordKey: \"remote-agent-recovery\",\n scenario: \"assistant.remote_agent_stuck\",\n },\n};\n\nconst familyLogisticsPrep: ReminderTaskDefinition = {\n ...base,\n definitionKind: \"reminder\",\n promptInstructions:\n \"Coordinate family logistics from schedules, pickups, appointments, errands, shared promises, and reminders. Ask only for owner decisions that unblock the plan.\",\n contextRequest: {\n includeOwnerFacts: [\"preferredName\", \"timezone\"],\n includeRecentTaskStates: {},\n },\n trigger: { kind: \"cron\", expression: \"0 7 * * *\", tz: \"owner_local\" },\n priority: \"low\",\n idempotencyKey: EXECUTIVE_ASSISTANT_RECORD_IDS.familyLogisticsPrep,\n metadata: {\n packKey: EXECUTIVE_ASSISTANT_PACK_KEY,\n recordKey: \"family-logistics-prep\",\n scenario: \"assistant.family_logistics\",\n },\n};\n\nconst outageRecoverySweep: WatcherTaskDefinition = {\n ...base,\n definitionKind: \"watcher\",\n promptInstructions:\n \"After connector, service, or workflow outages, identify impacted commitments, missed messages, failed automations, stale approvals, and the repair order.\",\n contextRequest: {\n includeOwnerFacts: [\"timezone\"],\n includeRecentTaskStates: {},\n },\n trigger: { kind: \"cron\", expression: \"0 12 * * 1-5\", tz: \"owner_local\" },\n priority: \"medium\",\n ownerVisible: false,\n idempotencyKey: EXECUTIVE_ASSISTANT_RECORD_IDS.outageRecoverySweep,\n metadata: {\n packKey: EXECUTIVE_ASSISTANT_PACK_KEY,\n recordKey: \"outage-recovery-sweep\",\n scenario: \"assistant.outage_recovery\",\n },\n};\n\nconst weeklyOperatingReview: RecapTaskDefinition = {\n ...base,\n definitionKind: \"recap\",\n promptInstructions:\n \"Assemble a weekly operating review across goals, projects, calendar load, delegated work, inbox debt, money admin, travel, relationships, and pending approvals. Use compact status indicators and convert each owner decision into a task.\",\n contextRequest: {\n includeOwnerFacts: [\"preferredName\", \"timezone\"],\n includeRecentTaskStates: {},\n },\n trigger: { kind: \"cron\", expression: \"0 15 * * 5\", tz: \"owner_local\" },\n priority: \"high\",\n idempotencyKey: EXECUTIVE_ASSISTANT_RECORD_IDS.weeklyOperatingReview,\n metadata: {\n packKey: EXECUTIVE_ASSISTANT_PACK_KEY,\n recordKey: \"weekly-operating-review\",\n scenario: \"assistant.weekly_review\",\n },\n};\n\nconst boardPackPrep: WatcherTaskDefinition = {\n ...base,\n definitionKind: \"watcher\",\n promptInstructions:\n \"Prepare board pack gaps from documents, open approvals, missing metrics, calendar deadlines, and unresolved risks. Surface only missing inputs and owner decisions.\",\n contextRequest: {\n includeOwnerFacts: [\"preferredName\", \"timezone\"],\n includeRecentTaskStates: {},\n },\n trigger: { kind: \"cron\", expression: \"0 11 * * 1,3\", tz: \"owner_local\" },\n priority: \"high\",\n ownerVisible: false,\n idempotencyKey: EXECUTIVE_ASSISTANT_RECORD_IDS.boardPackPrep,\n metadata: {\n packKey: EXECUTIVE_ASSISTANT_PACK_KEY,\n recordKey: \"board-pack-prep\",\n scenario: \"assistant.board_pack_prep\",\n },\n};\n\nconst chiefOfStaffHandoff: RecapTaskDefinition = {\n ...base,\n definitionKind: \"recap\",\n promptInstructions:\n \"Build a chief-of-staff handoff with weekly priorities, delegated owners, blocked decisions, relationship follow-ups, and status risks. Keep it terse and owner-actionable.\",\n contextRequest: {\n includeOwnerFacts: [\"preferredName\", \"timezone\"],\n includeRecentTaskStates: {},\n },\n trigger: { kind: \"cron\", expression: \"0 16 * * 4\", tz: \"owner_local\" },\n priority: \"medium\",\n idempotencyKey: EXECUTIVE_ASSISTANT_RECORD_IDS.chiefOfStaffHandoff,\n metadata: {\n packKey: EXECUTIVE_ASSISTANT_PACK_KEY,\n recordKey: \"chief-of-staff-handoff\",\n scenario: \"assistant.chief_of_staff_handoff\",\n },\n};\n\nconst eventPlanning: WatcherTaskDefinition = {\n ...base,\n definitionKind: \"watcher\",\n promptInstructions:\n \"Coordinate event planning gaps across calendar holds, invite list, venue confirmation, menu or prep documents, travel buffers, and delegated follow-ups.\",\n contextRequest: {\n includeOwnerFacts: [\"timezone\"],\n includeRecentTaskStates: {},\n },\n trigger: { kind: \"cron\", expression: \"0 10 * * 2,5\", tz: \"owner_local\" },\n priority: \"medium\",\n ownerVisible: false,\n idempotencyKey: EXECUTIVE_ASSISTANT_RECORD_IDS.eventPlanning,\n metadata: {\n packKey: EXECUTIVE_ASSISTANT_PACK_KEY,\n recordKey: \"event-planning\",\n scenario: \"assistant.event_planning\",\n },\n};\n\nconst financeDisputeSweep: CheckInTaskDefinition = {\n ...base,\n definitionKind: \"checkin\",\n promptInstructions:\n \"Find finance disputes that need evidence or owner approval. Collect receipts, payment records, related messages, approval owner, and a safe next-action draft.\",\n contextRequest: {\n includeOwnerFacts: [\"preferredName\", \"timezone\"],\n includeRecentTaskStates: {},\n },\n trigger: { kind: \"cron\", expression: \"30 11 * * 1-5\", tz: \"owner_local\" },\n priority: \"medium\",\n completionCheck: {\n kind: \"user_replied_within\",\n params: { minutes: 240 },\n followupAfterMinutes: 240,\n },\n idempotencyKey: EXECUTIVE_ASSISTANT_RECORD_IDS.financeDisputeSweep,\n metadata: {\n packKey: EXECUTIVE_ASSISTANT_PACK_KEY,\n recordKey: \"finance-dispute-sweep\",\n scenario: \"assistant.finance_dispute\",\n },\n};\n\nconst giftMilestonePrep: ReminderTaskDefinition = {\n ...base,\n definitionKind: \"reminder\",\n promptInstructions:\n \"Prepare relationship milestone gifts from calendar dates, preferences in messages, budget notes, delivery deadlines, and explicit owner approval before purchase.\",\n contextRequest: {\n includeOwnerFacts: [\"preferredName\", \"timezone\"],\n includeRecentTaskStates: {},\n },\n trigger: { kind: \"cron\", expression: \"0 8 * * 2\", tz: \"owner_local\" },\n priority: \"low\",\n idempotencyKey: EXECUTIVE_ASSISTANT_RECORD_IDS.giftMilestonePrep,\n metadata: {\n packKey: EXECUTIVE_ASSISTANT_PACK_KEY,\n recordKey: \"gift-milestone-prep\",\n scenario: \"assistant.gift_milestone\",\n },\n};\n\nconst hiringLoopCoordination: WatcherTaskDefinition = {\n ...base,\n definitionKind: \"watcher\",\n promptInstructions:\n \"Coordinate hiring loop gaps: interview calendar, candidate documents, panel owner reminders, scorecard deadline, and follow-up messages.\",\n contextRequest: {\n includeOwnerFacts: [\"timezone\"],\n includeRecentTaskStates: {},\n },\n trigger: { kind: \"cron\", expression: \"0 12 * * 1-5\", tz: \"owner_local\" },\n priority: \"medium\",\n ownerVisible: false,\n idempotencyKey: EXECUTIVE_ASSISTANT_RECORD_IDS.hiringLoopCoordination,\n metadata: {\n packKey: EXECUTIVE_ASSISTANT_PACK_KEY,\n recordKey: \"hiring-loop-coordination\",\n scenario: \"assistant.hiring_loop\",\n },\n};\n\nconst introRoutingSweep: RecapTaskDefinition = {\n ...base,\n definitionKind: \"recap\",\n promptInstructions:\n \"Triage inbound intro requests into accept, delegate, decline, or schedule. Use relationship context and create approval-ready reply drafts.\",\n contextRequest: {\n includeOwnerFacts: [\"preferredName\", \"timezone\"],\n includeRecentTaskStates: {},\n },\n trigger: { kind: \"cron\", expression: \"30 10,15 * * 1-5\", tz: \"owner_local\" },\n priority: \"medium\",\n idempotencyKey: EXECUTIVE_ASSISTANT_RECORD_IDS.introRoutingSweep,\n metadata: {\n packKey: EXECUTIVE_ASSISTANT_PACK_KEY,\n recordKey: \"intro-routing-sweep\",\n scenario: \"assistant.intro_routing\",\n },\n};\n\nconst legalDeadlineSweep: WatcherTaskDefinition = {\n ...base,\n definitionKind: \"watcher\",\n promptInstructions:\n \"Track legal document deadlines across signature documents, counsel messages, calendar cutoff, missing approvals, and safe follow-up drafts.\",\n contextRequest: {\n includeOwnerFacts: [\"timezone\"],\n includeRecentTaskStates: {},\n },\n trigger: { kind: \"cron\", expression: \"0 9 * * 1-5\", tz: \"owner_local\" },\n priority: \"high\",\n ownerVisible: false,\n idempotencyKey: EXECUTIVE_ASSISTANT_RECORD_IDS.legalDeadlineSweep,\n metadata: {\n packKey: EXECUTIVE_ASSISTANT_PACK_KEY,\n recordKey: \"legal-deadline-sweep\",\n scenario: \"assistant.legal_deadline\",\n },\n};\n\nconst travelDisruptionRecovery: WatcherTaskDefinition = {\n ...base,\n definitionKind: \"watcher\",\n promptInstructions:\n \"Recover from travel disruptions by reworking itinerary, calendar conflicts, hotel and ground transport, people notifications, receipts, and approval decisions.\",\n contextRequest: {\n includeOwnerFacts: [\"timezone\"],\n includeRecentTaskStates: {},\n },\n trigger: { kind: \"cron\", expression: \"0 7-21 * * *\", tz: \"owner_local\" },\n priority: \"high\",\n ownerVisible: false,\n idempotencyKey: EXECUTIVE_ASSISTANT_RECORD_IDS.travelDisruptionRecovery,\n metadata: {\n packKey: EXECUTIVE_ASSISTANT_PACK_KEY,\n recordKey: \"travel-disruption-recovery\",\n scenario: \"assistant.travel_disruption\",\n },\n};\n\nconst vendorNegotiationPrep: CheckInTaskDefinition = {\n ...base,\n definitionKind: \"checkin\",\n promptInstructions:\n \"Prepare vendor renewal negotiation context: contract documents, current spend, cancellation deadline, prior messages, approval owner, and concise reply draft.\",\n contextRequest: {\n includeOwnerFacts: [\"preferredName\", \"timezone\"],\n includeRecentTaskStates: {},\n },\n trigger: { kind: \"cron\", expression: \"0 13 * * 2\", tz: \"owner_local\" },\n priority: \"medium\",\n completionCheck: {\n kind: \"user_replied_within\",\n params: { minutes: 240 },\n followupAfterMinutes: 240,\n },\n idempotencyKey: EXECUTIVE_ASSISTANT_RECORD_IDS.vendorNegotiationPrep,\n metadata: {\n packKey: EXECUTIVE_ASSISTANT_PACK_KEY,\n recordKey: \"vendor-negotiation-prep\",\n scenario: \"assistant.vendor_negotiation\",\n },\n};\n\nconst monthlyAdminReview: RecapTaskDefinition = {\n ...base,\n definitionKind: \"recap\",\n promptInstructions:\n \"Prepare a monthly admin review: recurring charges, documents, renewals, taxes, warranties, household tasks, insurance, travel credits, and stale approvals. Surface the smallest set of decisions that unlocks progress.\",\n contextRequest: {\n includeOwnerFacts: [\"preferredName\", \"timezone\"],\n includeRecentTaskStates: {},\n },\n trigger: { kind: \"cron\", expression: \"0 10 1 * *\", tz: \"owner_local\" },\n priority: \"medium\",\n idempotencyKey: EXECUTIVE_ASSISTANT_RECORD_IDS.monthlyAdminReview,\n metadata: {\n packKey: EXECUTIVE_ASSISTANT_PACK_KEY,\n recordKey: \"monthly-admin-review\",\n scenario: \"assistant.monthly_admin\",\n },\n};\n\nconst homeOpsSweep: ReminderTaskDefinition = {\n ...base,\n definitionKind: \"reminder\",\n promptInstructions:\n \"Review household and personal operations: deliveries, maintenance, errands, appointments, documents, reservations, gifts, and support tickets. Create reminders or pending prompts for owner decisions only.\",\n contextRequest: {\n includeOwnerFacts: [\"preferredName\", \"timezone\"],\n includeRecentTaskStates: {},\n },\n trigger: { kind: \"cron\", expression: \"0 9 * * 6\", tz: \"owner_local\" },\n priority: \"low\",\n idempotencyKey: EXECUTIVE_ASSISTANT_RECORD_IDS.homeOpsSweep,\n metadata: {\n packKey: EXECUTIVE_ASSISTANT_PACK_KEY,\n recordKey: \"home-ops-sweep\",\n scenario: \"assistant.home_ops\",\n },\n};\n\nconst definitions: ReadonlyArray<TaskDefinition> = [\n dailyCommandBrief,\n meetingPrep,\n calendarConflictSweep,\n inboxDecisions,\n waitingOnWatcher,\n delegationReview,\n decisionLogCapture,\n travelReadiness,\n expenseSweep,\n renewalSweep,\n peopleCadencePrep,\n documentSignatureSweep,\n endOfDayCloseout,\n approvalBatchReview,\n privacyRedactionSweep,\n interruptionFirebreak,\n statusCompression,\n vipEscalationSweep,\n delegationMapReview,\n remoteAgentRecovery,\n familyLogisticsPrep,\n outageRecoverySweep,\n weeklyOperatingReview,\n boardPackPrep,\n chiefOfStaffHandoff,\n eventPlanning,\n financeDisputeSweep,\n giftMilestonePrep,\n hiringLoopCoordination,\n introRoutingSweep,\n legalDeadlineSweep,\n travelDisruptionRecovery,\n vendorNegotiationPrep,\n monthlyAdminReview,\n homeOpsSweep,\n];\n\nexport const executiveAssistantPack: DefaultPack = {\n key: EXECUTIVE_ASSISTANT_PACK_KEY,\n label: \"Executive assistant\",\n description:\n \"Opt-in personal assistant scenario pack for command briefs, meeting prep, calendar conflicts, inbox decisions, waiting-on loops, delegation, decision logs, approvals, privacy checks, focus protection, status compression, VIP escalation, travel readiness, disruptions, expenses, disputes, renewals, people cadence, intro routing, event planning, board packs, legal deadlines, vendor negotiation, hiring loops, gifts, document signatures, closeout, weekly operating review, chief-of-staff handoff, remote recovery, family logistics, monthly admin, and home operations.\",\n defaultEnabled: false,\n requiredCapabilities: [],\n records: compileTaskDefinitions(definitions),\n uiHints: {\n summaryOnDayOne:\n \"Adds a broad assistant operating loop. Best after calendar, inbox, documents, and payment connectors are configured.\",\n expectedFireCountPerDay: 12,\n },\n};\n"],"mappings":"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","names":["MEETING_PREP_INSTRUCTIONS"]}
@@ -0,0 +1,49 @@
1
+ /**
2
+ * Default pack: `followup-starter` — cadence watcher.
3
+ *
4
+ * Ships a single `kind: "watcher"` `ScheduledTask` whose prompt scans
5
+ * `RelationshipStore.list({ cadenceOverdueAsOf: now })` and creates child
6
+ * `ScheduledTask` records with:
7
+ * - `kind: "followup"`
8
+ * - `subject: { kind: "relationship", id: <relationshipId> }`
9
+ * - `completionCheck.kind: "subject_updated"` so any new interaction on
10
+ * the edge resolves the followup.
11
+ *
12
+ * Cadence lives on the relationship edge, not the entity.
13
+ */
14
+ import type { RelationshipStoreContract } from "./contract-types.js";
15
+ import type { DefaultPack } from "./registry-types.js";
16
+ import { type CompiledTaskDefinition } from "./task-definitions.js";
17
+ export declare const FOLLOWUP_STARTER_PACK_KEY = "followup-starter";
18
+ export declare const FOLLOWUP_STARTER_RECORD_IDS: {
19
+ readonly watcher: "default-pack:followup-starter:cadence-watcher";
20
+ };
21
+ /**
22
+ * Fallback cadence used by the RelationshipStore overdue resolver when an
23
+ * edge does not carry its own `metadata.cadenceDays`. 14 days keeps
24
+ * "stay-in-touch" cadence loose enough for the long tail of relationships
25
+ * while leaving room for tighter overrides on closer edges (e.g. `colleague_of`
26
+ * may carry `cadenceDays: 7`). The watcher fires daily but emits zero children
27
+ * when no edge is overdue.
28
+ */
29
+ export declare const DEFAULT_FOLLOWUP_CADENCE_DAYS = 14;
30
+ /**
31
+ * Template for the child followup task created per overdue relationship.
32
+ * Returned by the watcher's helper (see `buildFollowupTaskForRelationship`)
33
+ * so the runner can persist it.
34
+ */
35
+ export declare function buildFollowupTaskForRelationship(args: {
36
+ relationshipId: string;
37
+ fromEntityId: string;
38
+ toEntityId: string;
39
+ cadenceDays: number;
40
+ }): CompiledTaskDefinition;
41
+ export declare const followupStarterPack: DefaultPack;
42
+ /**
43
+ * Helper for the watcher: read the overdue edges and emit child task seeds.
44
+ * The runner calls this and persists the returned records.
45
+ */
46
+ export declare function deriveOverdueFollowupTasks(store: RelationshipStoreContract, options?: {
47
+ now?: Date;
48
+ }): Promise<CompiledTaskDefinition[]>;
49
+ //# sourceMappingURL=followup-starter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"followup-starter.d.ts","sourceRoot":"","sources":["../../src/default-packs/followup-starter.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AACrE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EACL,KAAK,sBAAsB,EAI5B,MAAM,uBAAuB,CAAC;AAE/B,eAAO,MAAM,yBAAyB,qBAAqB,CAAC;AAE5D,eAAO,MAAM,2BAA2B;;CAE9B,CAAC;AAEX;;;;;;;GAOG;AACH,eAAO,MAAM,6BAA6B,KAAK,CAAC;AA8BhD;;;;GAIG;AACH,wBAAgB,gCAAgC,CAAC,IAAI,EAAE;IACrD,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;CACrB,GAAG,sBAAsB,CAoCzB;AAED,eAAO,MAAM,mBAAmB,EAAE,WAajC,CAAC;AAEF;;;GAGG;AACH,wBAAsB,0BAA0B,CAC9C,KAAK,EAAE,yBAAyB,EAChC,OAAO,GAAE;IAAE,GAAG,CAAC,EAAE,IAAI,CAAA;CAAO,GAC3B,OAAO,CAAC,sBAAsB,EAAE,CAAC,CAgBnC"}
@@ -0,0 +1,104 @@
1
+ import {
2
+ compileTaskDefinition
3
+ } from "./task-definitions.js";
4
+ const FOLLOWUP_STARTER_PACK_KEY = "followup-starter";
5
+ const FOLLOWUP_STARTER_RECORD_IDS = {
6
+ watcher: "default-pack:followup-starter:cadence-watcher"
7
+ };
8
+ const DEFAULT_FOLLOWUP_CADENCE_DAYS = 14;
9
+ const watcherDefinition = {
10
+ definitionKind: "watcher",
11
+ promptInstructions: "Scan RelationshipStore for cadence-overdue edges (relationships whose last interaction is older than the edge's metadata.cadenceDays). For each overdue edge, create a child followup ScheduledTask with subject={kind:'relationship',id} and completionCheck.kind='subject_updated' so any new interaction on the edge resolves it. Do not surface anything to the owner directly \u2014 the morning brief consolidation will fold the new followup tasks in.",
12
+ contextRequest: {
13
+ includeOwnerFacts: ["preferredName", "timezone"]
14
+ },
15
+ // Daily fire on the morning anchor so the followup tasks are ready before
16
+ // the morning brief assembles.
17
+ trigger: {
18
+ kind: "relative_to_anchor",
19
+ anchorKey: "wake.confirmed",
20
+ offsetMinutes: 0
21
+ },
22
+ priority: "low",
23
+ respectsGlobalPause: true,
24
+ source: "default_pack",
25
+ createdBy: FOLLOWUP_STARTER_PACK_KEY,
26
+ ownerVisible: false,
27
+ idempotencyKey: FOLLOWUP_STARTER_RECORD_IDS.watcher,
28
+ metadata: {
29
+ packKey: FOLLOWUP_STARTER_PACK_KEY,
30
+ recordKey: "cadence-watcher"
31
+ }
32
+ };
33
+ const watcherRecord = compileTaskDefinition(watcherDefinition);
34
+ function buildFollowupTaskForRelationship(args) {
35
+ const definition = {
36
+ definitionKind: "followup",
37
+ promptInstructions: "Surface a gentle follow-up nudge for an overdue relationship cadence. Reference the person by their preferred name from EntityStore; do not invent context. One sentence; the owner can dismiss or act.",
38
+ contextRequest: {
39
+ includeRelationships: { relationshipIds: [args.relationshipId] },
40
+ includeEntities: {
41
+ entityIds: [args.fromEntityId, args.toEntityId],
42
+ fields: ["preferredName", "type", "state.lastInteractionPlatform"]
43
+ }
44
+ },
45
+ trigger: { kind: "manual" },
46
+ priority: "low",
47
+ completionCheck: {
48
+ kind: "subject_updated",
49
+ // The runner watches RelationshipStore for any new interaction on the
50
+ // subject relationship; that observation fires `complete`.
51
+ params: { subjectKind: "relationship", id: args.relationshipId }
52
+ },
53
+ subject: {
54
+ kind: "relationship",
55
+ id: args.relationshipId
56
+ },
57
+ respectsGlobalPause: true,
58
+ source: "default_pack",
59
+ createdBy: FOLLOWUP_STARTER_PACK_KEY,
60
+ ownerVisible: true,
61
+ idempotencyKey: `default-pack:followup-starter:${args.relationshipId}`,
62
+ metadata: {
63
+ packKey: FOLLOWUP_STARTER_PACK_KEY,
64
+ recordKey: "followup-child",
65
+ cadenceDays: args.cadenceDays
66
+ }
67
+ };
68
+ return compileTaskDefinition(definition);
69
+ }
70
+ const followupStarterPack = {
71
+ key: FOLLOWUP_STARTER_PACK_KEY,
72
+ label: "Cadence follow-ups",
73
+ description: "Daily watcher reads RelationshipStore for overdue cadence edges and emits a follow-up task per overdue edge. Default cadence is 14 days; per-edge overrides via Relationship.metadata.cadenceDays let closer relationships carry tighter cadences. The morning brief folds emissions in. Resolves automatically when any new interaction is observed on the edge.",
74
+ defaultEnabled: true,
75
+ requiredCapabilities: [],
76
+ records: [watcherRecord],
77
+ uiHints: {
78
+ summaryOnDayOne: "Silent until a tracked relationship goes past its cadence window \u2014 then surfaces in the morning brief.",
79
+ expectedFireCountPerDay: 0
80
+ }
81
+ };
82
+ async function deriveOverdueFollowupTasks(store, options = {}) {
83
+ const now = options.now ?? /* @__PURE__ */ new Date();
84
+ const overdue = await store.list({ cadenceOverdueAsOf: now.toISOString() });
85
+ return overdue.map((edge) => {
86
+ const cadenceDaysRaw = edge.metadata?.cadenceDays;
87
+ const cadenceDays = typeof cadenceDaysRaw === "number" && Number.isFinite(cadenceDaysRaw) ? cadenceDaysRaw : 0;
88
+ return buildFollowupTaskForRelationship({
89
+ relationshipId: edge.relationshipId,
90
+ fromEntityId: edge.fromEntityId,
91
+ toEntityId: edge.toEntityId,
92
+ cadenceDays
93
+ });
94
+ });
95
+ }
96
+ export {
97
+ DEFAULT_FOLLOWUP_CADENCE_DAYS,
98
+ FOLLOWUP_STARTER_PACK_KEY,
99
+ FOLLOWUP_STARTER_RECORD_IDS,
100
+ buildFollowupTaskForRelationship,
101
+ deriveOverdueFollowupTasks,
102
+ followupStarterPack
103
+ };
104
+ //# sourceMappingURL=followup-starter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/default-packs/followup-starter.ts"],"sourcesContent":["/**\n * Default pack: `followup-starter` — cadence watcher.\n *\n * Ships a single `kind: \"watcher\"` `ScheduledTask` whose prompt scans\n * `RelationshipStore.list({ cadenceOverdueAsOf: now })` and creates child\n * `ScheduledTask` records with:\n * - `kind: \"followup\"`\n * - `subject: { kind: \"relationship\", id: <relationshipId> }`\n * - `completionCheck.kind: \"subject_updated\"` so any new interaction on\n * the edge resolves the followup.\n *\n * Cadence lives on the relationship edge, not the entity.\n */\n\nimport type { RelationshipStoreContract } from \"./contract-types.js\";\nimport type { DefaultPack } from \"./registry-types.js\";\nimport {\n type CompiledTaskDefinition,\n compileTaskDefinition,\n type FollowUpTaskDefinition,\n type WatcherTaskDefinition,\n} from \"./task-definitions.js\";\n\nexport const FOLLOWUP_STARTER_PACK_KEY = \"followup-starter\";\n\nexport const FOLLOWUP_STARTER_RECORD_IDS = {\n watcher: \"default-pack:followup-starter:cadence-watcher\",\n} as const;\n\n/**\n * Fallback cadence used by the RelationshipStore overdue resolver when an\n * edge does not carry its own `metadata.cadenceDays`. 14 days keeps\n * \"stay-in-touch\" cadence loose enough for the long tail of relationships\n * while leaving room for tighter overrides on closer edges (e.g. `colleague_of`\n * may carry `cadenceDays: 7`). The watcher fires daily but emits zero children\n * when no edge is overdue.\n */\nexport const DEFAULT_FOLLOWUP_CADENCE_DAYS = 14;\n\nconst watcherDefinition: WatcherTaskDefinition = {\n definitionKind: \"watcher\",\n promptInstructions:\n \"Scan RelationshipStore for cadence-overdue edges (relationships whose last interaction is older than the edge's metadata.cadenceDays). For each overdue edge, create a child followup ScheduledTask with subject={kind:'relationship',id} and completionCheck.kind='subject_updated' so any new interaction on the edge resolves it. Do not surface anything to the owner directly — the morning brief consolidation will fold the new followup tasks in.\",\n contextRequest: {\n includeOwnerFacts: [\"preferredName\", \"timezone\"],\n },\n // Daily fire on the morning anchor so the followup tasks are ready before\n // the morning brief assembles.\n trigger: {\n kind: \"relative_to_anchor\",\n anchorKey: \"wake.confirmed\",\n offsetMinutes: 0,\n },\n priority: \"low\",\n respectsGlobalPause: true,\n source: \"default_pack\",\n createdBy: FOLLOWUP_STARTER_PACK_KEY,\n ownerVisible: false,\n idempotencyKey: FOLLOWUP_STARTER_RECORD_IDS.watcher,\n metadata: {\n packKey: FOLLOWUP_STARTER_PACK_KEY,\n recordKey: \"cadence-watcher\",\n },\n};\n\nconst watcherRecord = compileTaskDefinition(watcherDefinition);\n\n/**\n * Template for the child followup task created per overdue relationship.\n * Returned by the watcher's helper (see `buildFollowupTaskForRelationship`)\n * so the runner can persist it.\n */\nexport function buildFollowupTaskForRelationship(args: {\n relationshipId: string;\n fromEntityId: string;\n toEntityId: string;\n cadenceDays: number;\n}): CompiledTaskDefinition {\n const definition: FollowUpTaskDefinition = {\n definitionKind: \"followup\",\n promptInstructions:\n \"Surface a gentle follow-up nudge for an overdue relationship cadence. Reference the person by their preferred name from EntityStore; do not invent context. One sentence; the owner can dismiss or act.\",\n contextRequest: {\n includeRelationships: { relationshipIds: [args.relationshipId] },\n includeEntities: {\n entityIds: [args.fromEntityId, args.toEntityId],\n fields: [\"preferredName\", \"type\", \"state.lastInteractionPlatform\"],\n },\n },\n trigger: { kind: \"manual\" },\n priority: \"low\",\n completionCheck: {\n kind: \"subject_updated\",\n // The runner watches RelationshipStore for any new interaction on the\n // subject relationship; that observation fires `complete`.\n params: { subjectKind: \"relationship\", id: args.relationshipId },\n },\n subject: {\n kind: \"relationship\",\n id: args.relationshipId,\n },\n respectsGlobalPause: true,\n source: \"default_pack\",\n createdBy: FOLLOWUP_STARTER_PACK_KEY,\n ownerVisible: true,\n idempotencyKey: `default-pack:followup-starter:${args.relationshipId}`,\n metadata: {\n packKey: FOLLOWUP_STARTER_PACK_KEY,\n recordKey: \"followup-child\",\n cadenceDays: args.cadenceDays,\n },\n };\n return compileTaskDefinition(definition);\n}\n\nexport const followupStarterPack: DefaultPack = {\n key: FOLLOWUP_STARTER_PACK_KEY,\n label: \"Cadence follow-ups\",\n description:\n \"Daily watcher reads RelationshipStore for overdue cadence edges and emits a follow-up task per overdue edge. Default cadence is 14 days; per-edge overrides via Relationship.metadata.cadenceDays let closer relationships carry tighter cadences. The morning brief folds emissions in. Resolves automatically when any new interaction is observed on the edge.\",\n defaultEnabled: true,\n requiredCapabilities: [],\n records: [watcherRecord],\n uiHints: {\n summaryOnDayOne:\n \"Silent until a tracked relationship goes past its cadence window — then surfaces in the morning brief.\",\n expectedFireCountPerDay: 0,\n },\n};\n\n/**\n * Helper for the watcher: read the overdue edges and emit child task seeds.\n * The runner calls this and persists the returned records.\n */\nexport async function deriveOverdueFollowupTasks(\n store: RelationshipStoreContract,\n options: { now?: Date } = {},\n): Promise<CompiledTaskDefinition[]> {\n const now = options.now ?? new Date();\n const overdue = await store.list({ cadenceOverdueAsOf: now.toISOString() });\n return overdue.map((edge) => {\n const cadenceDaysRaw = edge.metadata?.cadenceDays;\n const cadenceDays =\n typeof cadenceDaysRaw === \"number\" && Number.isFinite(cadenceDaysRaw)\n ? cadenceDaysRaw\n : 0;\n return buildFollowupTaskForRelationship({\n relationshipId: edge.relationshipId,\n fromEntityId: edge.fromEntityId,\n toEntityId: edge.toEntityId,\n cadenceDays,\n });\n });\n}\n"],"mappings":"AAgBA;AAAA,EAEE;AAAA,OAGK;AAEA,MAAM,4BAA4B;AAElC,MAAM,8BAA8B;AAAA,EACzC,SAAS;AACX;AAUO,MAAM,gCAAgC;AAE7C,MAAM,oBAA2C;AAAA,EAC/C,gBAAgB;AAAA,EAChB,oBACE;AAAA,EACF,gBAAgB;AAAA,IACd,mBAAmB,CAAC,iBAAiB,UAAU;AAAA,EACjD;AAAA;AAAA;AAAA,EAGA,SAAS;AAAA,IACP,MAAM;AAAA,IACN,WAAW;AAAA,IACX,eAAe;AAAA,EACjB;AAAA,EACA,UAAU;AAAA,EACV,qBAAqB;AAAA,EACrB,QAAQ;AAAA,EACR,WAAW;AAAA,EACX,cAAc;AAAA,EACd,gBAAgB,4BAA4B;AAAA,EAC5C,UAAU;AAAA,IACR,SAAS;AAAA,IACT,WAAW;AAAA,EACb;AACF;AAEA,MAAM,gBAAgB,sBAAsB,iBAAiB;AAOtD,SAAS,iCAAiC,MAKtB;AACzB,QAAM,aAAqC;AAAA,IACzC,gBAAgB;AAAA,IAChB,oBACE;AAAA,IACF,gBAAgB;AAAA,MACd,sBAAsB,EAAE,iBAAiB,CAAC,KAAK,cAAc,EAAE;AAAA,MAC/D,iBAAiB;AAAA,QACf,WAAW,CAAC,KAAK,cAAc,KAAK,UAAU;AAAA,QAC9C,QAAQ,CAAC,iBAAiB,QAAQ,+BAA+B;AAAA,MACnE;AAAA,IACF;AAAA,IACA,SAAS,EAAE,MAAM,SAAS;AAAA,IAC1B,UAAU;AAAA,IACV,iBAAiB;AAAA,MACf,MAAM;AAAA;AAAA;AAAA,MAGN,QAAQ,EAAE,aAAa,gBAAgB,IAAI,KAAK,eAAe;AAAA,IACjE;AAAA,IACA,SAAS;AAAA,MACP,MAAM;AAAA,MACN,IAAI,KAAK;AAAA,IACX;AAAA,IACA,qBAAqB;AAAA,IACrB,QAAQ;AAAA,IACR,WAAW;AAAA,IACX,cAAc;AAAA,IACd,gBAAgB,iCAAiC,KAAK,cAAc;AAAA,IACpE,UAAU;AAAA,MACR,SAAS;AAAA,MACT,WAAW;AAAA,MACX,aAAa,KAAK;AAAA,IACpB;AAAA,EACF;AACA,SAAO,sBAAsB,UAAU;AACzC;AAEO,MAAM,sBAAmC;AAAA,EAC9C,KAAK;AAAA,EACL,OAAO;AAAA,EACP,aACE;AAAA,EACF,gBAAgB;AAAA,EAChB,sBAAsB,CAAC;AAAA,EACvB,SAAS,CAAC,aAAa;AAAA,EACvB,SAAS;AAAA,IACP,iBACE;AAAA,IACF,yBAAyB;AAAA,EAC3B;AACF;AAMA,eAAsB,2BACpB,OACA,UAA0B,CAAC,GACQ;AACnC,QAAM,MAAM,QAAQ,OAAO,oBAAI,KAAK;AACpC,QAAM,UAAU,MAAM,MAAM,KAAK,EAAE,oBAAoB,IAAI,YAAY,EAAE,CAAC;AAC1E,SAAO,QAAQ,IAAI,CAAC,SAAS;AAC3B,UAAM,iBAAiB,KAAK,UAAU;AACtC,UAAM,cACJ,OAAO,mBAAmB,YAAY,OAAO,SAAS,cAAc,IAChE,iBACA;AACN,WAAO,iCAAiC;AAAA,MACtC,gBAAgB,KAAK;AAAA,MACrB,cAAc,KAAK;AAAA,MACnB,YAAY,KAAK;AAAA,MACjB;AAAA,IACF,CAAC;AAAA,EACH,CAAC;AACH;","names":[]}
@@ -0,0 +1,37 @@
1
+ /**
2
+ * Default pack: `habit-starters` — 8 habits, **offered** at first-run
3
+ * customize, not auto-seeded.
4
+ *
5
+ * Habits:
6
+ * 1. brush teeth — twice daily
7
+ * 2. shower — 3×/week
8
+ * 3. invisalign — lunchtime weekday
9
+ * 4. drink water — interval
10
+ * 5. stretch — interval + multi-gate
11
+ * 6. vitamins — with-meal trigger
12
+ * 7. workout — afternoon
13
+ * 8. shave — weekly
14
+ *
15
+ * `defaultEnabled: false` — first-run customize asks; defaults path skips.
16
+ */
17
+ import type { DefaultPack } from "./registry-types.js";
18
+ export declare const HABIT_STARTERS_PACK_KEY = "habit-starters";
19
+ export declare const HABIT_STARTER_KEYS: {
20
+ readonly brushTeeth: "brush_teeth";
21
+ readonly shower: "shower";
22
+ readonly invisalign: "invisalign";
23
+ readonly drinkWater: "drink_water";
24
+ readonly stretch: "stretch";
25
+ readonly vitamins: "vitamins";
26
+ readonly workout: "workout";
27
+ readonly shave: "shave";
28
+ };
29
+ export declare const HABIT_STARTER_RECORDS: import("./contract-types.js").ScheduledTaskSeed[];
30
+ export declare const habitStartersPack: DefaultPack;
31
+ /**
32
+ * Generates the seeding offer message at runtime from the pack metadata —
33
+ * removes the previous hardcoded SEEDING_MESSAGE in
34
+ * `proactive-worker.ts:581-585` (per IMPL §3.4 owned-files-modified note).
35
+ */
36
+ export declare function buildSeedingOfferMessage(): string;
37
+ //# sourceMappingURL=habit-starters.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"habit-starters.d.ts","sourceRoot":"","sources":["../../src/default-packs/habit-starters.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAMvD,eAAO,MAAM,uBAAuB,mBAAmB,CAAC;AAExD,eAAO,MAAM,kBAAkB;;;;;;;;;CASrB,CAAC;AA6NX,eAAO,MAAM,qBAAqB,mDAShC,CAAC;AAEH,eAAO,MAAM,iBAAiB,EAAE,WAa/B,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,wBAAwB,IAAI,MAAM,CAsBjD"}
@@ -0,0 +1,255 @@
1
+ import {
2
+ compileTaskDefinitions
3
+ } from "./task-definitions.js";
4
+ const HABIT_STARTERS_PACK_KEY = "habit-starters";
5
+ const HABIT_STARTER_KEYS = {
6
+ brushTeeth: "brush_teeth",
7
+ shower: "shower",
8
+ invisalign: "invisalign",
9
+ drinkWater: "drink_water",
10
+ stretch: "stretch",
11
+ vitamins: "vitamins",
12
+ workout: "workout",
13
+ shave: "shave"
14
+ };
15
+ const recordIdFor = (key) => `default-pack:habit-starters:${key}`;
16
+ const brushTeethDefinition = {
17
+ definitionKind: "reminder",
18
+ promptInstructions: "Send a short brush-teeth reminder. Acknowledge the time-of-day (morning vs night) without restating it as a fact.",
19
+ contextRequest: { includeOwnerFacts: ["preferredName"] },
20
+ trigger: { kind: "during_window", windowKey: "morning_or_night" },
21
+ priority: "medium",
22
+ shouldFire: { gates: [] },
23
+ respectsGlobalPause: true,
24
+ source: "default_pack",
25
+ createdBy: HABIT_STARTERS_PACK_KEY,
26
+ ownerVisible: true,
27
+ idempotencyKey: recordIdFor(HABIT_STARTER_KEYS.brushTeeth),
28
+ metadata: {
29
+ packKey: HABIT_STARTERS_PACK_KEY,
30
+ recordKey: HABIT_STARTER_KEYS.brushTeeth,
31
+ cadence: "daily_twice",
32
+ legacyCategory: "hygiene"
33
+ }
34
+ };
35
+ const showerDefinition = {
36
+ definitionKind: "reminder",
37
+ promptInstructions: "Send a short shower reminder for the user's scheduled shower day. No medical framing; matter-of-fact.",
38
+ contextRequest: { includeOwnerFacts: ["preferredName"] },
39
+ trigger: { kind: "during_window", windowKey: "morning" },
40
+ priority: "low",
41
+ shouldFire: {
42
+ gates: [{ kind: "weekday_only", params: { weekdays: [1, 3, 5] } }]
43
+ },
44
+ respectsGlobalPause: true,
45
+ source: "default_pack",
46
+ createdBy: HABIT_STARTERS_PACK_KEY,
47
+ ownerVisible: true,
48
+ idempotencyKey: recordIdFor(HABIT_STARTER_KEYS.shower),
49
+ metadata: {
50
+ packKey: HABIT_STARTERS_PACK_KEY,
51
+ recordKey: HABIT_STARTER_KEYS.shower,
52
+ cadence: "weekly_three_times",
53
+ legacyCategory: "hygiene"
54
+ }
55
+ };
56
+ const invisalignDefinition = {
57
+ definitionKind: "reminder",
58
+ promptInstructions: "Send a short Invisalign tray-check reminder after lunch on a weekday. Tone: routine, not nagging.",
59
+ contextRequest: { includeOwnerFacts: ["preferredName"] },
60
+ trigger: { kind: "during_window", windowKey: "afternoon" },
61
+ priority: "medium",
62
+ shouldFire: {
63
+ gates: [{ kind: "weekday_only", params: { weekdays: [1, 2, 3, 4, 5] } }]
64
+ },
65
+ respectsGlobalPause: true,
66
+ source: "default_pack",
67
+ createdBy: HABIT_STARTERS_PACK_KEY,
68
+ ownerVisible: true,
69
+ idempotencyKey: recordIdFor(HABIT_STARTER_KEYS.invisalign),
70
+ metadata: {
71
+ packKey: HABIT_STARTERS_PACK_KEY,
72
+ recordKey: HABIT_STARTER_KEYS.invisalign,
73
+ cadence: "weekday_lunch",
74
+ legacyCategory: "health"
75
+ }
76
+ };
77
+ const drinkWaterDefinition = {
78
+ definitionKind: "reminder",
79
+ promptInstructions: "Send a short hydration reminder. Vary phrasing across the day. No alarm; light touch.",
80
+ contextRequest: { includeOwnerFacts: ["preferredName"] },
81
+ trigger: { kind: "interval", everyMinutes: 120 },
82
+ priority: "low",
83
+ shouldFire: {
84
+ gates: [
85
+ {
86
+ kind: "during_window",
87
+ params: { windows: ["morning", "afternoon", "evening"] }
88
+ }
89
+ ]
90
+ },
91
+ respectsGlobalPause: true,
92
+ source: "default_pack",
93
+ createdBy: HABIT_STARTERS_PACK_KEY,
94
+ ownerVisible: true,
95
+ idempotencyKey: recordIdFor(HABIT_STARTER_KEYS.drinkWater),
96
+ metadata: {
97
+ packKey: HABIT_STARTERS_PACK_KEY,
98
+ recordKey: HABIT_STARTER_KEYS.drinkWater,
99
+ cadence: "interval_120m",
100
+ maxOccurrencesPerDay: 4,
101
+ legacyCategory: "health"
102
+ }
103
+ };
104
+ const stretchDefinition = {
105
+ definitionKind: "reminder",
106
+ promptInstructions: "Send a soft stretch nudge for the user. One sentence; no sets, no counts. Pure invitation.",
107
+ contextRequest: { includeOwnerFacts: ["preferredName"] },
108
+ trigger: { kind: "interval", everyMinutes: 360 },
109
+ priority: "low",
110
+ shouldFire: {
111
+ compose: "first_deny",
112
+ gates: [
113
+ { kind: "weekend_skip" },
114
+ { kind: "late_evening_skip" },
115
+ { kind: "stretch.walk_out_reset" }
116
+ ]
117
+ },
118
+ respectsGlobalPause: true,
119
+ source: "default_pack",
120
+ createdBy: HABIT_STARTERS_PACK_KEY,
121
+ ownerVisible: true,
122
+ idempotencyKey: recordIdFor(HABIT_STARTER_KEYS.stretch),
123
+ metadata: {
124
+ packKey: HABIT_STARTERS_PACK_KEY,
125
+ recordKey: HABIT_STARTER_KEYS.stretch,
126
+ cadence: "interval_360m",
127
+ maxOccurrencesPerDay: 2,
128
+ legacyCategory: "health",
129
+ activityGate: "active_on_computer"
130
+ }
131
+ };
132
+ const vitaminsDefinition = {
133
+ definitionKind: "reminder",
134
+ promptInstructions: "Send a short vitamins reminder near a meal window. No medical framing.",
135
+ contextRequest: { includeOwnerFacts: ["preferredName"] },
136
+ trigger: { kind: "during_window", windowKey: "morning_or_evening" },
137
+ priority: "medium",
138
+ shouldFire: { gates: [] },
139
+ respectsGlobalPause: true,
140
+ source: "default_pack",
141
+ createdBy: HABIT_STARTERS_PACK_KEY,
142
+ ownerVisible: true,
143
+ idempotencyKey: recordIdFor(HABIT_STARTER_KEYS.vitamins),
144
+ metadata: {
145
+ packKey: HABIT_STARTERS_PACK_KEY,
146
+ recordKey: HABIT_STARTER_KEYS.vitamins,
147
+ cadence: "with_meals",
148
+ legacyCategory: "nutrition"
149
+ }
150
+ };
151
+ const workoutDefinition = {
152
+ definitionKind: "reminder",
153
+ promptInstructions: "Send a workout reminder for the afternoon. Direct, not pleading; one short sentence. Recent reminder outcomes are in context \u2014 let them shape tone (e.g. softer after a skip streak) without restating the streak as a fact.",
154
+ contextRequest: {
155
+ includeOwnerFacts: ["preferredName"],
156
+ includeRecentTaskStates: {
157
+ kind: "reminder",
158
+ lookbackHours: 24 * 7
159
+ }
160
+ },
161
+ trigger: { kind: "during_window", windowKey: "afternoon" },
162
+ priority: "high",
163
+ shouldFire: { gates: [] },
164
+ respectsGlobalPause: true,
165
+ source: "default_pack",
166
+ createdBy: HABIT_STARTERS_PACK_KEY,
167
+ ownerVisible: true,
168
+ idempotencyKey: recordIdFor(HABIT_STARTER_KEYS.workout),
169
+ pipeline: {
170
+ // BlockerRegistry contributions can register a "release on completion"
171
+ // child here without requiring a schema change.
172
+ onComplete: []
173
+ },
174
+ metadata: {
175
+ packKey: HABIT_STARTERS_PACK_KEY,
176
+ recordKey: HABIT_STARTER_KEYS.workout,
177
+ cadence: "daily_afternoon",
178
+ legacyCategory: "fitness",
179
+ workoutBlockerPlaceholder: true
180
+ }
181
+ };
182
+ const shaveDefinition = {
183
+ definitionKind: "reminder",
184
+ promptInstructions: "Send a short shave reminder on a scheduled morning. Tone: routine.",
185
+ contextRequest: { includeOwnerFacts: ["preferredName"] },
186
+ trigger: { kind: "during_window", windowKey: "morning" },
187
+ priority: "low",
188
+ shouldFire: {
189
+ gates: [{ kind: "weekday_only", params: { weekdays: [2, 5] } }]
190
+ },
191
+ respectsGlobalPause: true,
192
+ source: "default_pack",
193
+ createdBy: HABIT_STARTERS_PACK_KEY,
194
+ ownerVisible: true,
195
+ idempotencyKey: recordIdFor(HABIT_STARTER_KEYS.shave),
196
+ metadata: {
197
+ packKey: HABIT_STARTERS_PACK_KEY,
198
+ recordKey: HABIT_STARTER_KEYS.shave,
199
+ cadence: "weekly_twice",
200
+ legacyCategory: "hygiene"
201
+ }
202
+ };
203
+ const HABIT_STARTER_RECORDS = compileTaskDefinitions([
204
+ brushTeethDefinition,
205
+ showerDefinition,
206
+ invisalignDefinition,
207
+ drinkWaterDefinition,
208
+ stretchDefinition,
209
+ vitaminsDefinition,
210
+ workoutDefinition,
211
+ shaveDefinition
212
+ ]);
213
+ const habitStartersPack = {
214
+ key: HABIT_STARTERS_PACK_KEY,
215
+ label: "Habit starters",
216
+ description: "Eight starter habits offered at first-run customize: brush teeth, shower, invisalign, drink water, stretch, vitamins, workout, shave. Not auto-seeded \u2014 the user picks which to enable.",
217
+ defaultEnabled: false,
218
+ requiredCapabilities: [],
219
+ records: [...HABIT_STARTER_RECORDS],
220
+ uiHints: {
221
+ summaryOnDayOne: "Eight habit options offered at customize; nothing seeded automatically.",
222
+ expectedFireCountPerDay: 0
223
+ }
224
+ };
225
+ function buildSeedingOfferMessage() {
226
+ const titleByKey = {
227
+ [HABIT_STARTER_KEYS.brushTeeth]: "brush teeth",
228
+ [HABIT_STARTER_KEYS.shower]: "shower",
229
+ [HABIT_STARTER_KEYS.invisalign]: "invisalign",
230
+ [HABIT_STARTER_KEYS.drinkWater]: "drink water",
231
+ [HABIT_STARTER_KEYS.stretch]: "stretch breaks",
232
+ [HABIT_STARTER_KEYS.vitamins]: "vitamins",
233
+ [HABIT_STARTER_KEYS.workout]: "workout",
234
+ [HABIT_STARTER_KEYS.shave]: "shave"
235
+ };
236
+ const labels = HABIT_STARTER_RECORDS.map((record) => {
237
+ const recordKey = record.metadata?.recordKey ?? "";
238
+ return titleByKey[recordKey] ?? recordKey;
239
+ }).filter(Boolean);
240
+ const list = labels.join(", ");
241
+ return [
242
+ "I notice you haven't set up any routines yet.",
243
+ "Want me to set up some foundational habits?",
244
+ `I can add: ${list} reminders.`,
245
+ "Say 'set up my routines' or pick and choose."
246
+ ].join(" ");
247
+ }
248
+ export {
249
+ HABIT_STARTERS_PACK_KEY,
250
+ HABIT_STARTER_KEYS,
251
+ HABIT_STARTER_RECORDS,
252
+ buildSeedingOfferMessage,
253
+ habitStartersPack
254
+ };
255
+ //# sourceMappingURL=habit-starters.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/default-packs/habit-starters.ts"],"sourcesContent":["/**\n * Default pack: `habit-starters` — 8 habits, **offered** at first-run\n * customize, not auto-seeded.\n *\n * Habits:\n * 1. brush teeth — twice daily\n * 2. shower — 3×/week\n * 3. invisalign — lunchtime weekday\n * 4. drink water — interval\n * 5. stretch — interval + multi-gate\n * 6. vitamins — with-meal trigger\n * 7. workout — afternoon\n * 8. shave — weekly\n *\n * `defaultEnabled: false` — first-run customize asks; defaults path skips.\n */\n\nimport type { DefaultPack } from \"./registry-types.js\";\nimport {\n compileTaskDefinitions,\n type ReminderTaskDefinition,\n} from \"./task-definitions.js\";\n\nexport const HABIT_STARTERS_PACK_KEY = \"habit-starters\";\n\nexport const HABIT_STARTER_KEYS = {\n brushTeeth: \"brush_teeth\",\n shower: \"shower\",\n invisalign: \"invisalign\",\n drinkWater: \"drink_water\",\n stretch: \"stretch\",\n vitamins: \"vitamins\",\n workout: \"workout\",\n shave: \"shave\",\n} as const;\n\nconst recordIdFor = (key: string) => `default-pack:habit-starters:${key}`;\n\n/** Brush teeth — twice daily, morning + night windows. */\nconst brushTeethDefinition: ReminderTaskDefinition = {\n definitionKind: \"reminder\",\n promptInstructions:\n \"Send a short brush-teeth reminder. Acknowledge the time-of-day (morning vs night) without restating it as a fact.\",\n contextRequest: { includeOwnerFacts: [\"preferredName\"] },\n trigger: { kind: \"during_window\", windowKey: \"morning_or_night\" },\n priority: \"medium\",\n shouldFire: { gates: [] },\n respectsGlobalPause: true,\n source: \"default_pack\",\n createdBy: HABIT_STARTERS_PACK_KEY,\n ownerVisible: true,\n idempotencyKey: recordIdFor(HABIT_STARTER_KEYS.brushTeeth),\n metadata: {\n packKey: HABIT_STARTERS_PACK_KEY,\n recordKey: HABIT_STARTER_KEYS.brushTeeth,\n cadence: \"daily_twice\",\n legacyCategory: \"hygiene\",\n },\n};\n\n/** Shower — 3×/week (Mon/Wed/Fri morning). */\nconst showerDefinition: ReminderTaskDefinition = {\n definitionKind: \"reminder\",\n promptInstructions:\n \"Send a short shower reminder for the user's scheduled shower day. No medical framing; matter-of-fact.\",\n contextRequest: { includeOwnerFacts: [\"preferredName\"] },\n trigger: { kind: \"during_window\", windowKey: \"morning\" },\n priority: \"low\",\n shouldFire: {\n gates: [{ kind: \"weekday_only\", params: { weekdays: [1, 3, 5] } }],\n },\n respectsGlobalPause: true,\n source: \"default_pack\",\n createdBy: HABIT_STARTERS_PACK_KEY,\n ownerVisible: true,\n idempotencyKey: recordIdFor(HABIT_STARTER_KEYS.shower),\n metadata: {\n packKey: HABIT_STARTERS_PACK_KEY,\n recordKey: HABIT_STARTER_KEYS.shower,\n cadence: \"weekly_three_times\",\n legacyCategory: \"hygiene\",\n },\n};\n\n/** Invisalign — weekday after lunch. */\nconst invisalignDefinition: ReminderTaskDefinition = {\n definitionKind: \"reminder\",\n promptInstructions:\n \"Send a short Invisalign tray-check reminder after lunch on a weekday. Tone: routine, not nagging.\",\n contextRequest: { includeOwnerFacts: [\"preferredName\"] },\n trigger: { kind: \"during_window\", windowKey: \"afternoon\" },\n priority: \"medium\",\n shouldFire: {\n gates: [{ kind: \"weekday_only\", params: { weekdays: [1, 2, 3, 4, 5] } }],\n },\n respectsGlobalPause: true,\n source: \"default_pack\",\n createdBy: HABIT_STARTERS_PACK_KEY,\n ownerVisible: true,\n idempotencyKey: recordIdFor(HABIT_STARTER_KEYS.invisalign),\n metadata: {\n packKey: HABIT_STARTERS_PACK_KEY,\n recordKey: HABIT_STARTER_KEYS.invisalign,\n cadence: \"weekday_lunch\",\n legacyCategory: \"health\",\n },\n};\n\n/** Drink water — interval, morning/afternoon/evening windows, max 4/day. */\nconst drinkWaterDefinition: ReminderTaskDefinition = {\n definitionKind: \"reminder\",\n promptInstructions:\n \"Send a short hydration reminder. Vary phrasing across the day. No alarm; light touch.\",\n contextRequest: { includeOwnerFacts: [\"preferredName\"] },\n trigger: { kind: \"interval\", everyMinutes: 120 },\n priority: \"low\",\n shouldFire: {\n gates: [\n {\n kind: \"during_window\",\n params: { windows: [\"morning\", \"afternoon\", \"evening\"] },\n },\n ],\n },\n respectsGlobalPause: true,\n source: \"default_pack\",\n createdBy: HABIT_STARTERS_PACK_KEY,\n ownerVisible: true,\n idempotencyKey: recordIdFor(HABIT_STARTER_KEYS.drinkWater),\n metadata: {\n packKey: HABIT_STARTERS_PACK_KEY,\n recordKey: HABIT_STARTER_KEYS.drinkWater,\n cadence: \"interval_120m\",\n maxOccurrencesPerDay: 4,\n legacyCategory: \"health\",\n },\n};\n\n/**\n * Stretch — interval + multi-gate composition (per IMPL §3.4):\n * `first_deny`: [weekend_skip, late_evening_skip, stretch.walk_out_reset]\n *\n * `first_deny` short-circuits on the first denying gate. The `stretch.walk_out_reset`\n * gate is registered by the scheduled-task runner's gate-registry.\n */\nconst stretchDefinition: ReminderTaskDefinition = {\n definitionKind: \"reminder\",\n promptInstructions:\n \"Send a soft stretch nudge for the user. One sentence; no sets, no counts. Pure invitation.\",\n contextRequest: { includeOwnerFacts: [\"preferredName\"] },\n trigger: { kind: \"interval\", everyMinutes: 360 },\n priority: \"low\",\n shouldFire: {\n compose: \"first_deny\",\n gates: [\n { kind: \"weekend_skip\" },\n { kind: \"late_evening_skip\" },\n { kind: \"stretch.walk_out_reset\" },\n ],\n },\n respectsGlobalPause: true,\n source: \"default_pack\",\n createdBy: HABIT_STARTERS_PACK_KEY,\n ownerVisible: true,\n idempotencyKey: recordIdFor(HABIT_STARTER_KEYS.stretch),\n metadata: {\n packKey: HABIT_STARTERS_PACK_KEY,\n recordKey: HABIT_STARTER_KEYS.stretch,\n cadence: \"interval_360m\",\n maxOccurrencesPerDay: 2,\n legacyCategory: \"health\",\n activityGate: \"active_on_computer\",\n },\n};\n\n/** Vitamins — with-meal trigger (morning + evening windows). */\nconst vitaminsDefinition: ReminderTaskDefinition = {\n definitionKind: \"reminder\",\n promptInstructions:\n \"Send a short vitamins reminder near a meal window. No medical framing.\",\n contextRequest: { includeOwnerFacts: [\"preferredName\"] },\n trigger: { kind: \"during_window\", windowKey: \"morning_or_evening\" },\n priority: \"medium\",\n shouldFire: { gates: [] },\n respectsGlobalPause: true,\n source: \"default_pack\",\n createdBy: HABIT_STARTERS_PACK_KEY,\n ownerVisible: true,\n idempotencyKey: recordIdFor(HABIT_STARTER_KEYS.vitamins),\n metadata: {\n packKey: HABIT_STARTERS_PACK_KEY,\n recordKey: HABIT_STARTER_KEYS.vitamins,\n cadence: \"with_meals\",\n legacyCategory: \"nutrition\",\n },\n};\n\n/** Workout — afternoon. Pipeline child for blocker-release can be added via BlockerRegistry. */\nconst workoutDefinition: ReminderTaskDefinition = {\n definitionKind: \"reminder\",\n promptInstructions:\n \"Send a workout reminder for the afternoon. Direct, not pleading; one short sentence. Recent reminder outcomes are in context — let them shape tone (e.g. softer after a skip streak) without restating the streak as a fact.\",\n contextRequest: {\n includeOwnerFacts: [\"preferredName\"],\n includeRecentTaskStates: {\n kind: \"reminder\",\n lookbackHours: 24 * 7,\n },\n },\n trigger: { kind: \"during_window\", windowKey: \"afternoon\" },\n priority: \"high\",\n shouldFire: { gates: [] },\n respectsGlobalPause: true,\n source: \"default_pack\",\n createdBy: HABIT_STARTERS_PACK_KEY,\n ownerVisible: true,\n idempotencyKey: recordIdFor(HABIT_STARTER_KEYS.workout),\n pipeline: {\n // BlockerRegistry contributions can register a \"release on completion\"\n // child here without requiring a schema change.\n onComplete: [],\n },\n metadata: {\n packKey: HABIT_STARTERS_PACK_KEY,\n recordKey: HABIT_STARTER_KEYS.workout,\n cadence: \"daily_afternoon\",\n legacyCategory: \"fitness\",\n workoutBlockerPlaceholder: true,\n },\n};\n\n/** Shave — weekly (Tue/Fri morning). */\nconst shaveDefinition: ReminderTaskDefinition = {\n definitionKind: \"reminder\",\n promptInstructions:\n \"Send a short shave reminder on a scheduled morning. Tone: routine.\",\n contextRequest: { includeOwnerFacts: [\"preferredName\"] },\n trigger: { kind: \"during_window\", windowKey: \"morning\" },\n priority: \"low\",\n shouldFire: {\n gates: [{ kind: \"weekday_only\", params: { weekdays: [2, 5] } }],\n },\n respectsGlobalPause: true,\n source: \"default_pack\",\n createdBy: HABIT_STARTERS_PACK_KEY,\n ownerVisible: true,\n idempotencyKey: recordIdFor(HABIT_STARTER_KEYS.shave),\n metadata: {\n packKey: HABIT_STARTERS_PACK_KEY,\n recordKey: HABIT_STARTER_KEYS.shave,\n cadence: \"weekly_twice\",\n legacyCategory: \"hygiene\",\n },\n};\n\nexport const HABIT_STARTER_RECORDS = compileTaskDefinitions([\n brushTeethDefinition,\n showerDefinition,\n invisalignDefinition,\n drinkWaterDefinition,\n stretchDefinition,\n vitaminsDefinition,\n workoutDefinition,\n shaveDefinition,\n]);\n\nexport const habitStartersPack: DefaultPack = {\n key: HABIT_STARTERS_PACK_KEY,\n label: \"Habit starters\",\n description:\n \"Eight starter habits offered at first-run customize: brush teeth, shower, invisalign, drink water, stretch, vitamins, workout, shave. Not auto-seeded — the user picks which to enable.\",\n defaultEnabled: false,\n requiredCapabilities: [],\n records: [...HABIT_STARTER_RECORDS],\n uiHints: {\n summaryOnDayOne:\n \"Eight habit options offered at customize; nothing seeded automatically.\",\n expectedFireCountPerDay: 0,\n },\n};\n\n/**\n * Generates the seeding offer message at runtime from the pack metadata —\n * removes the previous hardcoded SEEDING_MESSAGE in\n * `proactive-worker.ts:581-585` (per IMPL §3.4 owned-files-modified note).\n */\nexport function buildSeedingOfferMessage(): string {\n const titleByKey: Record<string, string> = {\n [HABIT_STARTER_KEYS.brushTeeth]: \"brush teeth\",\n [HABIT_STARTER_KEYS.shower]: \"shower\",\n [HABIT_STARTER_KEYS.invisalign]: \"invisalign\",\n [HABIT_STARTER_KEYS.drinkWater]: \"drink water\",\n [HABIT_STARTER_KEYS.stretch]: \"stretch breaks\",\n [HABIT_STARTER_KEYS.vitamins]: \"vitamins\",\n [HABIT_STARTER_KEYS.workout]: \"workout\",\n [HABIT_STARTER_KEYS.shave]: \"shave\",\n };\n const labels = HABIT_STARTER_RECORDS.map((record) => {\n const recordKey = (record.metadata?.recordKey as string | undefined) ?? \"\";\n return titleByKey[recordKey] ?? recordKey;\n }).filter(Boolean);\n const list = labels.join(\", \");\n return [\n \"I notice you haven't set up any routines yet.\",\n \"Want me to set up some foundational habits?\",\n `I can add: ${list} reminders.`,\n \"Say 'set up my routines' or pick and choose.\",\n ].join(\" \");\n}\n"],"mappings":"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","names":[]}