@datasynx/agentic-crm 0.1.0 → 1.0.0

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 (286) hide show
  1. package/README.md +264 -670
  2. package/dist/{approvals-DpjxGHFp.js → approvals-CmDT2eUg.js} +7 -24
  3. package/dist/approvals-CmDT2eUg.js.map +1 -0
  4. package/dist/{ask-CID3jnuL.js → ask-D8iYqDAr.js} +6 -6
  5. package/dist/{ask-CID3jnuL.js.map → ask-D8iYqDAr.js.map} +1 -1
  6. package/dist/atomic-write-8yjqqLtS.js +29 -0
  7. package/dist/atomic-write-8yjqqLtS.js.map +1 -0
  8. package/dist/atomic-write-BYmF-ThH.cjs +37 -0
  9. package/dist/atomic-write-BYmF-ThH.cjs.map +1 -0
  10. package/dist/auth-B5DcjJ_6.js +2 -0
  11. package/dist/{auth-DFWwWcYD.js → auth-DDXZTwS0.js} +4 -13
  12. package/dist/auth-DDXZTwS0.js.map +1 -0
  13. package/dist/{autofill-Di_-SP7t.js → autofill-B9VtlR2j.js} +2 -2
  14. package/dist/{autofill-Di_-SP7t.js.map → autofill-B9VtlR2j.js.map} +1 -1
  15. package/dist/{backup-CeMk9z86.js → backup-CTlIxUdO.js} +5 -7
  16. package/dist/backup-CTlIxUdO.js.map +1 -0
  17. package/dist/backup-LFnC09oV.js +2 -0
  18. package/dist/{churn-C28IgnAj.js → churn-DN9WDGNM.js} +3 -3
  19. package/dist/{churn-C28IgnAj.js.map → churn-DN9WDGNM.js.map} +1 -1
  20. package/dist/cli.js +282 -184
  21. package/dist/cli.js.map +1 -1
  22. package/dist/{compliance-CKSBoQUe.js → compliance-Bc12Hn9a.js} +3 -3
  23. package/dist/{compliance-CKSBoQUe.js.map → compliance-Bc12Hn9a.js.map} +1 -1
  24. package/dist/{compliance-CujOqAKk.js → compliance-TqYQXhBj.js} +1 -1
  25. package/dist/{compliance-B1kk5-YS.js → compliance-kq0xHRw3.js} +3 -3
  26. package/dist/{compliance-B1kk5-YS.js.map → compliance-kq0xHRw3.js.map} +1 -1
  27. package/dist/{compliance-B91zNvCR.cjs → compliance-pAj9FcGI.cjs} +3 -3
  28. package/dist/{compliance-B91zNvCR.cjs.map → compliance-pAj9FcGI.cjs.map} +1 -1
  29. package/dist/{context-builder-BzWAp3Zs.js → context-builder-7Uab5-G4.js} +3 -2
  30. package/dist/context-builder-7Uab5-G4.js.map +1 -0
  31. package/dist/context-builder-hmOPvgso.js +2 -0
  32. package/dist/{custom-fields-CzNeD3_v.js → custom-fields-BMyz5Ruh.js} +1 -1
  33. package/dist/{custom-fields-Pl2t9xzp.js → custom-fields-GzpOHW_2.js} +4 -13
  34. package/dist/custom-fields-GzpOHW_2.js.map +1 -0
  35. package/dist/{custom-objects-CIFrmQ2V.js → custom-objects-BNy-ayR-.js} +1 -1
  36. package/dist/{custom-objects-BHgn1GEX.js → custom-objects-CxW1gHwJ.js} +10 -25
  37. package/dist/custom-objects-CxW1gHwJ.js.map +1 -0
  38. package/dist/{customer-dir-DIylZ8Q6.js → customer-dir-CkMMXhb0.js} +9 -4
  39. package/dist/customer-dir-CkMMXhb0.js.map +1 -0
  40. package/dist/daemon/worker.js +66 -40
  41. package/dist/daemon/worker.js.map +1 -1
  42. package/dist/doctor-C14-vnJ1.js +103 -0
  43. package/dist/doctor-C14-vnJ1.js.map +1 -0
  44. package/dist/{enrichment-3XvgGDfB.js → enrichment-CDFdWmvD.js} +3 -3
  45. package/dist/{enrichment-3XvgGDfB.js.map → enrichment-CDFdWmvD.js.map} +1 -1
  46. package/dist/{file-lock-B_zi7NQl.js → file-lock-CcHotQkZ.js} +3 -4
  47. package/dist/file-lock-CcHotQkZ.js.map +1 -0
  48. package/dist/{gmail-sync-rQaVqKWd.js → gmail-sync-C-NmibzS.js} +13 -9
  49. package/dist/gmail-sync-C-NmibzS.js.map +1 -0
  50. package/dist/{gmail-sync-DIaxInDT.js → gmail-sync-DueE6tl5.js} +14 -10
  51. package/dist/gmail-sync-DueE6tl5.js.map +1 -0
  52. package/dist/{gmail-sync-hHm9gaWd.cjs → gmail-sync-GEy3oVvw.cjs} +13 -9
  53. package/dist/gmail-sync-GEy3oVvw.cjs.map +1 -0
  54. package/dist/{gmail-webhook-handler-DS7OlRPX.js → gmail-webhook-handler-B26COilD.js} +2 -2
  55. package/dist/{gmail-webhook-handler-e5Od25FX.js → gmail-webhook-handler-kGKpbY9h.js} +4 -4
  56. package/dist/{gmail-webhook-handler-e5Od25FX.js.map → gmail-webhook-handler-kGKpbY9h.js.map} +1 -1
  57. package/dist/{goal-engine-KpBftn4V.js → goal-engine-BbroPhqm.js} +10 -11
  58. package/dist/goal-engine-BbroPhqm.js.map +1 -0
  59. package/dist/{goal-engine-CUZSpERI.js → goal-engine-CfDAJTFt.js} +1 -1
  60. package/dist/{google-drive-sync-DEPcqFca.js → google-drive-sync-D1n7WKZn.js} +3 -3
  61. package/dist/{google-drive-sync-DEPcqFca.js.map → google-drive-sync-D1n7WKZn.js.map} +1 -1
  62. package/dist/{hygiene-DZqfYpFf.js → hygiene-DzQPnc6P.js} +3 -3
  63. package/dist/{hygiene-DZqfYpFf.js.map → hygiene-DzQPnc6P.js.map} +1 -1
  64. package/dist/identity-CB7j-Zr1.js +2 -0
  65. package/dist/{identity-CI6olMNm.js → identity-_uZ3Lbr2.js} +2 -2
  66. package/dist/{identity-CI6olMNm.js.map → identity-_uZ3Lbr2.js.map} +1 -1
  67. package/dist/{import-hubspot-BaK71U_K.js → import-hubspot-DB4n89jy.js} +51 -45
  68. package/dist/import-hubspot-DB4n89jy.js.map +1 -0
  69. package/dist/{index-V8BFaH-b.d.ts → index-B0IMMrp_.d.ts} +8 -4
  70. package/dist/{index-V8BFaH-b.d.ts.map → index-B0IMMrp_.d.ts.map} +1 -1
  71. package/dist/{index-YqwMd6aQ.d.cts → index-pY7tYXwH.d.cts} +8 -4
  72. package/dist/{index-YqwMd6aQ.d.cts.map → index-pY7tYXwH.d.cts.map} +1 -1
  73. package/dist/index.cjs +19 -21
  74. package/dist/index.cjs.map +1 -1
  75. package/dist/index.d.cts +8 -4
  76. package/dist/index.d.cts.map +1 -1
  77. package/dist/index.d.ts +8 -4
  78. package/dist/index.d.ts.map +1 -1
  79. package/dist/index.js +19 -21
  80. package/dist/index.js.map +1 -1
  81. package/dist/{interactions-writer-DO3KcSR3.js → interactions-writer-BZzUIgJd.js} +5 -2
  82. package/dist/interactions-writer-BZzUIgJd.js.map +1 -0
  83. package/dist/{interactions-writer-SLHnoEeE.js → interactions-writer-DbSyI2rt.js} +32 -3
  84. package/dist/interactions-writer-DbSyI2rt.js.map +1 -0
  85. package/dist/interactions-writer-RJB8SWf2.js +2 -0
  86. package/dist/{interactions-writer-CrPStUll.cjs → interactions-writer-a2yzBd7T.cjs} +5 -2
  87. package/dist/interactions-writer-a2yzBd7T.cjs.map +1 -0
  88. package/dist/json-store-WWsFzXub.js +43 -0
  89. package/dist/json-store-WWsFzXub.js.map +1 -0
  90. package/dist/{knowledge-base-D0Fh40kc.js → knowledge-base-DHNc4hVj.js} +43 -16
  91. package/dist/knowledge-base-DHNc4hVj.js.map +1 -0
  92. package/dist/{lancedb-CCBbpulq.js → lancedb-CswQEE5K.js} +1 -1
  93. package/dist/{lancedb-rlvWoPwl.js → lancedb-CuHKNsNZ.js} +4 -3
  94. package/dist/lancedb-CuHKNsNZ.js.map +1 -0
  95. package/dist/{lead-model-BCFzyktm.js → lead-model-CEmx7te7.js} +6 -14
  96. package/dist/lead-model-CEmx7te7.js.map +1 -0
  97. package/dist/{llm-Z8RIYkpF.js → llm-BnSUBisu.js} +2 -2
  98. package/dist/{llm-Z8RIYkpF.js.map → llm-BnSUBisu.js.map} +1 -1
  99. package/dist/{llm-iijeXmgq.cjs → llm-CXycmEl9.cjs} +2 -2
  100. package/dist/{llm-iijeXmgq.cjs.map → llm-CXycmEl9.cjs.map} +1 -1
  101. package/dist/{llm-DEjWcqmW.js → llm-DSX1-wFu.js} +1 -1
  102. package/dist/{llm-DvzZqva0.js → llm-PZzgPphl.js} +3 -3
  103. package/dist/{llm-DvzZqva0.js.map → llm-PZzgPphl.js.map} +1 -1
  104. package/dist/logger-BkInaGoV.cjs +167 -0
  105. package/dist/logger-BkInaGoV.cjs.map +1 -0
  106. package/dist/logger-Dyl4VcLO.js +147 -0
  107. package/dist/logger-Dyl4VcLO.js.map +1 -0
  108. package/dist/logger-UaF5p9d1.js +147 -0
  109. package/dist/logger-UaF5p9d1.js.map +1 -0
  110. package/dist/logger-vKQS34w9.js +2 -0
  111. package/dist/mcp-CdTJWTJf.d.cts.map +1 -1
  112. package/dist/mcp-CdTJWTJf.d.ts.map +1 -1
  113. package/dist/mcp.cjs +327 -303
  114. package/dist/mcp.cjs.map +1 -1
  115. package/dist/mcp.d.cts.map +1 -1
  116. package/dist/mcp.d.ts.map +1 -1
  117. package/dist/mcp.js +327 -303
  118. package/dist/mcp.js.map +1 -1
  119. package/dist/{memory-Cy6-Tbyl.js → memory-D8hmgD9d.js} +1 -1
  120. package/dist/{memory-Bb6ky3kb.js → memory-Dzr9dXSM.js} +4 -11
  121. package/dist/memory-Dzr9dXSM.js.map +1 -0
  122. package/dist/{microsoft-calendar-B6MMtUQK.js → microsoft-calendar-jIu9K5zX.js} +4 -4
  123. package/dist/{microsoft-calendar-B6MMtUQK.js.map → microsoft-calendar-jIu9K5zX.js.map} +1 -1
  124. package/dist/{microsoft-sync-CpZVoSuq.js → microsoft-sync-R_r8HL-B.js} +5 -5
  125. package/dist/{microsoft-sync-CpZVoSuq.js.map → microsoft-sync-R_r8HL-B.js.map} +1 -1
  126. package/dist/{nba-3wanmJ0U.js → nba-mTJ4yEqD.js} +3 -3
  127. package/dist/{nba-3wanmJ0U.js.map → nba-mTJ4yEqD.js.map} +1 -1
  128. package/dist/{notification-dispatcher-0vYNngWe.js → notification-dispatcher-inpKyuBz.js} +7 -3
  129. package/dist/notification-dispatcher-inpKyuBz.js.map +1 -0
  130. package/dist/{pipeline-writer-BqBrYrQc.js → pipeline-writer-0LJ6Qkat.js} +1 -1
  131. package/dist/{pipeline-writer-N2omexxp.cjs → pipeline-writer-B1tRAhuD.cjs} +11 -3
  132. package/dist/pipeline-writer-B1tRAhuD.cjs.map +1 -0
  133. package/dist/{pipeline-writer-BvVquKIe.js → pipeline-writer-CIllfnZl.js} +5 -3
  134. package/dist/pipeline-writer-CIllfnZl.js.map +1 -0
  135. package/dist/{pipeline-writer-eufx_0o1.js → pipeline-writer-rDj-ni6q.js} +6 -4
  136. package/dist/pipeline-writer-rDj-ni6q.js.map +1 -0
  137. package/dist/{proactive-agent-BgQXw3ac.js → proactive-agent-B7u3Bj_l.js} +6 -6
  138. package/dist/{proactive-agent-BgQXw3ac.js.map → proactive-agent-B7u3Bj_l.js.map} +1 -1
  139. package/dist/{proactive-worker-BrLHNhjH.js → proactive-worker-1zkm6aJD.js} +7 -8
  140. package/dist/proactive-worker-1zkm6aJD.js.map +1 -0
  141. package/dist/{push-manager-CowY-0IK.js → push-manager-BXM-IHfP.js} +1 -1
  142. package/dist/{push-manager-CdqIIkuh.js → push-manager-C0ECQgva.js} +4 -4
  143. package/dist/push-manager-C0ECQgva.js.map +1 -0
  144. package/dist/{quote-generator-OhSFsi3x.js → quote-generator-ByUyIYtw.js} +1 -1
  145. package/dist/{quote-generator-BfwENXzg.js → quote-generator-CTdR8eEI.js} +5 -5
  146. package/dist/quote-generator-CTdR8eEI.js.map +1 -0
  147. package/dist/rbac-DzbyFhVH.js +2 -0
  148. package/dist/{rbac-CTIktZaC.js → rbac-msmBc_tK.js} +19 -12
  149. package/dist/rbac-msmBc_tK.js.map +1 -0
  150. package/dist/regex-Jt5DatPi.js +13 -0
  151. package/dist/regex-Jt5DatPi.js.map +1 -0
  152. package/dist/{relationship-health-odxEoQdJ.js → relationship-health-ZZNXR1RZ.js} +8 -16
  153. package/dist/relationship-health-ZZNXR1RZ.js.map +1 -0
  154. package/dist/{revenue-simulation-Bqf2DLVB.js → revenue-simulation-D8f_YkUY.js} +9 -19
  155. package/dist/revenue-simulation-D8f_YkUY.js.map +1 -0
  156. package/dist/{revenue-simulation-BJdRTEHc.js → revenue-simulation-njJZlTqm.js} +1 -1
  157. package/dist/safe-path-mpp0dKtO.js +18 -0
  158. package/dist/safe-path-mpp0dKtO.js.map +1 -0
  159. package/dist/{segments-BqcD5HIl.js → segments-DI3LOQNe.js} +5 -14
  160. package/dist/segments-DI3LOQNe.js.map +1 -0
  161. package/dist/sequence-engine-C6nnewHX.js +2 -0
  162. package/dist/{sequence-engine-J1lTW_in.js → sequence-engine-DNTVLq7o.js} +15 -8
  163. package/dist/sequence-engine-DNTVLq7o.js.map +1 -0
  164. package/dist/{sequence-store-DaaWr0Os.js → sequence-store-CmYb6s0g.js} +6 -5
  165. package/dist/sequence-store-CmYb6s0g.js.map +1 -0
  166. package/dist/{server-Dyva03K8.js → server-DqSMYhSA.js} +278 -220
  167. package/dist/server-DqSMYhSA.js.map +1 -0
  168. package/dist/{session-D9ub6Wl1.js → session-B6XaP83h.js} +3 -3
  169. package/dist/session-B6XaP83h.js.map +1 -0
  170. package/dist/{session-B9AilxOE.js → session-BgGDyP2C.js} +3 -3
  171. package/dist/session-BgGDyP2C.js.map +1 -0
  172. package/dist/session-Bp4zTh4l.js +2 -0
  173. package/dist/{session-D0qFkBla.cjs → session-Mm7GQbSH.cjs} +3 -3
  174. package/dist/session-Mm7GQbSH.cjs.map +1 -0
  175. package/dist/{session-store-C8tEvMPw.js → session-store-DWxJ5Pof.js} +79 -17
  176. package/dist/session-store-DWxJ5Pof.js.map +1 -0
  177. package/dist/{session-store-B0QZE8Bx.cjs → session-store-yfwnj0OC.cjs} +126 -16
  178. package/dist/session-store-yfwnj0OC.cjs.map +1 -0
  179. package/dist/{sla-engine-5IhTsBUR.js → sla-engine-CP2KiKDS.js} +1 -1
  180. package/dist/{sla-engine-BqX-7u-7.js → sla-engine-O-A1ntu_.js} +2 -2
  181. package/dist/{sla-engine-BqX-7u-7.js.map → sla-engine-O-A1ntu_.js.map} +1 -1
  182. package/dist/{sop-Vp0UPWFW.js → sop-BV7ICAFR.js} +4 -11
  183. package/dist/sop-BV7ICAFR.js.map +1 -0
  184. package/dist/{sop-DkhVChGy.js → sop-D33qTHUb.js} +1 -1
  185. package/dist/survey-engine-DKctGcLQ.js +2 -0
  186. package/dist/{survey-engine-DBjCYqCv.js → survey-engine-DngXBv47.js} +5 -4
  187. package/dist/survey-engine-DngXBv47.js.map +1 -0
  188. package/dist/{sync-state-CwLSt_1m.js → sync-state-BaA8LbTI.js} +1 -1
  189. package/dist/{sync-state-ChaLbamC.js → sync-state-DMZgzpez.js} +4 -12
  190. package/dist/sync-state-DMZgzpez.js.map +1 -0
  191. package/dist/{ticket-writer-CjqKeIRD.js → ticket-writer-DsfpeLGZ.js} +1 -1
  192. package/dist/{ticket-writer-j2oX_Wal.js → ticket-writer-a9on36Wb.js} +12 -24
  193. package/dist/ticket-writer-a9on36Wb.js.map +1 -0
  194. package/dist/{tone-Bdm5uaht.js → tone-C7bqK69y.js} +5 -12
  195. package/dist/tone-C7bqK69y.js.map +1 -0
  196. package/dist/{tone-DRKlZgPr.cjs → tone-Cmc7O2Fx.cjs} +3 -9
  197. package/dist/tone-Cmc7O2Fx.cjs.map +1 -0
  198. package/dist/{tone-vNb2DAAD.js → tone-mXSftvTn.js} +3 -8
  199. package/dist/tone-mXSftvTn.js.map +1 -0
  200. package/dist/{transcript-watcher-CL2QUygI.js → transcript-watcher-0mh2ZhmH.js} +18 -11
  201. package/dist/transcript-watcher-0mh2ZhmH.js.map +1 -0
  202. package/dist/unmatched-transcripts-C92zAoM4.js +2 -0
  203. package/dist/unmatched-transcripts-DC-VQ9YS.js +16 -0
  204. package/dist/unmatched-transcripts-DC-VQ9YS.js.map +1 -0
  205. package/dist/update-deal-CWy1eLJI.js +2 -0
  206. package/dist/{update-deal-DKC79skb.js → update-deal-DSzr_Aau.js} +3 -3
  207. package/dist/{update-deal-DKC79skb.js.map → update-deal-DSzr_Aau.js.map} +1 -1
  208. package/dist/{usage-D0-TYJkw.js → usage-BVlFlKW_.js} +8 -6
  209. package/dist/usage-BVlFlKW_.js.map +1 -0
  210. package/dist/usage-CClTf5e6.cjs.map +1 -1
  211. package/dist/usage-D0u9a-lV.js.map +1 -1
  212. package/dist/{vault-DXCg29W-.js → vault-CfwZdNzC.js} +3 -4
  213. package/dist/vault-CfwZdNzC.js.map +1 -0
  214. package/dist/{vault-C1D3zScD.js → vault-DxKP4_R2.js} +1 -1
  215. package/dist/{webhooks-Xn6zO6kd.cjs → webhooks-CwW-3kvG.cjs} +5 -19
  216. package/dist/webhooks-CwW-3kvG.cjs.map +1 -0
  217. package/dist/{webhooks-7EpA05Qr.js → webhooks-DXr1IoKn.js} +8 -21
  218. package/dist/webhooks-DXr1IoKn.js.map +1 -0
  219. package/dist/{webhooks-BO2UAnmn.js → webhooks-sWZ8CJtR.js} +5 -18
  220. package/dist/webhooks-sWZ8CJtR.js.map +1 -0
  221. package/package.json +11 -2
  222. package/dist/approvals-DpjxGHFp.js.map +0 -1
  223. package/dist/auth-CyFuu9X_.js +0 -2
  224. package/dist/auth-DFWwWcYD.js.map +0 -1
  225. package/dist/backup-CeMk9z86.js.map +0 -1
  226. package/dist/backup-f_hC7rBV.js +0 -2
  227. package/dist/context-builder-BzWAp3Zs.js.map +0 -1
  228. package/dist/context-builder-DlrRcqmJ.js +0 -2
  229. package/dist/custom-fields-Pl2t9xzp.js.map +0 -1
  230. package/dist/custom-objects-BHgn1GEX.js.map +0 -1
  231. package/dist/customer-dir-DIylZ8Q6.js.map +0 -1
  232. package/dist/file-lock-B_zi7NQl.js.map +0 -1
  233. package/dist/gmail-sync-DIaxInDT.js.map +0 -1
  234. package/dist/gmail-sync-hHm9gaWd.cjs.map +0 -1
  235. package/dist/gmail-sync-rQaVqKWd.js.map +0 -1
  236. package/dist/goal-engine-KpBftn4V.js.map +0 -1
  237. package/dist/identity-gyfWdrcX.js +0 -2
  238. package/dist/import-hubspot-BaK71U_K.js.map +0 -1
  239. package/dist/interactions-writer-CrPStUll.cjs.map +0 -1
  240. package/dist/interactions-writer-DO3KcSR3.js.map +0 -1
  241. package/dist/interactions-writer-SLHnoEeE.js.map +0 -1
  242. package/dist/interactions-writer-dSPy1XfO.js +0 -2
  243. package/dist/knowledge-base-D0Fh40kc.js.map +0 -1
  244. package/dist/lancedb-rlvWoPwl.js.map +0 -1
  245. package/dist/lead-model-BCFzyktm.js.map +0 -1
  246. package/dist/memory-Bb6ky3kb.js.map +0 -1
  247. package/dist/notification-dispatcher-0vYNngWe.js.map +0 -1
  248. package/dist/pipeline-writer-BvVquKIe.js.map +0 -1
  249. package/dist/pipeline-writer-N2omexxp.cjs.map +0 -1
  250. package/dist/pipeline-writer-eufx_0o1.js.map +0 -1
  251. package/dist/proactive-worker-BrLHNhjH.js.map +0 -1
  252. package/dist/push-manager-CdqIIkuh.js.map +0 -1
  253. package/dist/quote-generator-BfwENXzg.js.map +0 -1
  254. package/dist/rbac-C7c8tcES.js +0 -2
  255. package/dist/rbac-CTIktZaC.js.map +0 -1
  256. package/dist/relationship-health-odxEoQdJ.js.map +0 -1
  257. package/dist/revenue-simulation-Bqf2DLVB.js.map +0 -1
  258. package/dist/segments-BqcD5HIl.js.map +0 -1
  259. package/dist/sequence-engine-CCTHEBgi.js +0 -2
  260. package/dist/sequence-engine-J1lTW_in.js.map +0 -1
  261. package/dist/sequence-store-DaaWr0Os.js.map +0 -1
  262. package/dist/server-Dyva03K8.js.map +0 -1
  263. package/dist/session-B9AilxOE.js.map +0 -1
  264. package/dist/session-D0qFkBla.cjs.map +0 -1
  265. package/dist/session-D9ub6Wl1.js.map +0 -1
  266. package/dist/session-mWHA71Lw.js +0 -2
  267. package/dist/session-store-B0QZE8Bx.cjs.map +0 -1
  268. package/dist/session-store-C8tEvMPw.js.map +0 -1
  269. package/dist/sop-Vp0UPWFW.js.map +0 -1
  270. package/dist/survey-engine-C06hcQt3.js +0 -2
  271. package/dist/survey-engine-DBjCYqCv.js.map +0 -1
  272. package/dist/sync-state-ChaLbamC.js.map +0 -1
  273. package/dist/ticket-writer-j2oX_Wal.js.map +0 -1
  274. package/dist/tone-Bdm5uaht.js.map +0 -1
  275. package/dist/tone-DRKlZgPr.cjs.map +0 -1
  276. package/dist/tone-vNb2DAAD.js.map +0 -1
  277. package/dist/transcript-watcher-CL2QUygI.js.map +0 -1
  278. package/dist/unmatched-transcripts-BsH5bhkU.js +0 -26
  279. package/dist/unmatched-transcripts-BsH5bhkU.js.map +0 -1
  280. package/dist/unmatched-transcripts-D0PrJ9iz.js +0 -2
  281. package/dist/update-deal-BNwPGaTV.js +0 -2
  282. package/dist/usage-D0-TYJkw.js.map +0 -1
  283. package/dist/vault-DXCg29W-.js.map +0 -1
  284. package/dist/webhooks-7EpA05Qr.js.map +0 -1
  285. package/dist/webhooks-BO2UAnmn.js.map +0 -1
  286. package/dist/webhooks-Xn6zO6kd.cjs.map +0 -1
@@ -1,5 +1,6 @@
1
- import { i as readMainFacts } from "./customer-dir-DIylZ8Q6.js";
2
- import { t as withJsonFile } from "./file-lock-B_zi7NQl.js";
1
+ import { a as readMainFacts } from "./customer-dir-CkMMXhb0.js";
2
+ import { t as writeFileAtomic } from "./atomic-write-8yjqqLtS.js";
3
+ import { t as withJsonFile } from "./file-lock-CcHotQkZ.js";
3
4
  import path from "path";
4
5
  import fs from "fs";
5
6
  import matter from "gray-matter";
@@ -85,7 +86,7 @@ function writeTemplate(dataDir, tmpl) {
85
86
  ...meta,
86
87
  updatedAt: (/* @__PURE__ */ new Date()).toISOString()
87
88
  });
88
- fs.writeFileSync(path.join(dir, `${tmpl.id}.md`), content, "utf-8");
89
+ writeFileAtomic(path.join(dir, `${tmpl.id}.md`), content);
89
90
  }
90
91
  function deleteTemplate(dataDir, id) {
91
92
  const tmpl = getTemplate(dataDir, id);
@@ -181,7 +182,7 @@ function writeSequence(dataDir, seq) {
181
182
  const dir = sequencesDir(dataDir);
182
183
  fs.mkdirSync(dir, { recursive: true });
183
184
  const content = yaml.dump(seq);
184
- fs.writeFileSync(path.join(dir, `${seq.id}.yaml`), content, "utf-8");
185
+ writeFileAtomic(path.join(dir, `${seq.id}.yaml`), content);
185
186
  }
186
187
  function readEnrollments(dataDir) {
187
188
  const p = enrollmentsPath(dataDir);
@@ -218,4 +219,4 @@ async function updateEnrollment(dataDir, id, updates) {
218
219
  //#endregion
219
220
  export { writeEnrollment as a, extractVariables as c, getTemplate as d, listTemplates as f, updateEnrollment as i, interpolate as l, listSequences as n, writeSequence as o, writeTemplate as p, readEnrollments as r, buildVariablesFromCustomer as s, getSequence as t, deleteTemplate as u };
220
221
 
221
- //# sourceMappingURL=sequence-store-DaaWr0Os.js.map
222
+ //# sourceMappingURL=sequence-store-CmYb6s0g.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sequence-store-CmYb6s0g.js","names":[],"sources":["../src/schemas/email-template.ts","../src/fs/template-store.ts","../src/core/template-engine.ts","../src/schemas/sequence.ts","../src/fs/sequence-store.ts"],"sourcesContent":["import { z } from \"zod\";\n\nexport const EmailTemplateSchema = z.object({\n id: z.string().min(1),\n subject: z.string().min(1),\n category: z.string().default(\"general\"),\n variables: z.array(z.string()).default([]),\n language: z.string().default(\"de\"),\n createdAt: z.string(),\n updatedAt: z.string().optional(),\n});\n\nexport type EmailTemplateMeta = z.infer<typeof EmailTemplateSchema>;\n\nexport interface EmailTemplate extends EmailTemplateMeta {\n body: string;\n}\n","import fs from \"fs\";\nimport path from \"path\";\nimport { writeFileAtomic } from \"./atomic-write.js\";\nimport matter from \"gray-matter\";\nimport { EmailTemplateSchema, type EmailTemplate } from \"../schemas/email-template.js\";\n\nexport function templatesDir(dataDir: string): string {\n return path.join(dataDir, \".agentic\", \"templates\");\n}\n\nfunction parseTemplateFile(filePath: string, id: string): EmailTemplate | null {\n try {\n const raw = matter(fs.readFileSync(filePath, \"utf-8\"));\n const result = EmailTemplateSchema.safeParse({\n id,\n createdAt: new Date().toISOString(),\n ...raw.data,\n });\n if (!result.success) return null;\n return { ...result.data, body: raw.content.trim() };\n } catch {\n return null;\n }\n}\n\nexport function listTemplates(dataDir: string, opts?: { category?: string }): EmailTemplate[] {\n const base = templatesDir(dataDir);\n if (!fs.existsSync(base)) return [];\n const results: EmailTemplate[] = [];\n\n const categories = fs.readdirSync(base).filter((name) => {\n try {\n return fs.statSync(path.join(base, name)).isDirectory();\n } catch {\n return false;\n }\n });\n\n for (const cat of categories) {\n if (opts?.category && cat !== opts.category) continue;\n const catDir = path.join(base, cat);\n const files = fs.readdirSync(catDir).filter((f) => f.endsWith(\".md\"));\n for (const file of files) {\n const id = file.replace(/\\.md$/, \"\");\n const tmpl = parseTemplateFile(path.join(catDir, file), id);\n if (tmpl) results.push(tmpl);\n }\n }\n return results;\n}\n\nexport function getTemplate(dataDir: string, id: string): EmailTemplate | null {\n const base = templatesDir(dataDir);\n if (!fs.existsSync(base)) return null;\n\n // Search all categories\n const categories = fs.existsSync(base)\n ? fs.readdirSync(base).filter((n) => {\n try {\n return fs.statSync(path.join(base, n)).isDirectory();\n } catch {\n return false;\n }\n })\n : [];\n\n for (const cat of categories) {\n const p = path.join(base, cat, `${id}.md`);\n if (fs.existsSync(p)) return parseTemplateFile(p, id);\n }\n return null;\n}\n\nexport function writeTemplate(dataDir: string, tmpl: EmailTemplate): void {\n const { body, ...meta } = tmpl;\n const category = meta.category ?? \"general\";\n const dir = path.join(templatesDir(dataDir), category);\n fs.mkdirSync(dir, { recursive: true });\n const content = matter.stringify(body, { ...meta, updatedAt: new Date().toISOString() });\n writeFileAtomic(path.join(dir, `${tmpl.id}.md`), content);\n}\n\nexport function deleteTemplate(dataDir: string, id: string): boolean {\n const tmpl = getTemplate(dataDir, id);\n if (!tmpl) return false;\n const p = path.join(templatesDir(dataDir), tmpl.category, `${id}.md`);\n if (fs.existsSync(p)) {\n fs.unlinkSync(p);\n return true;\n }\n return false;\n}\n","import { readMainFacts } from \"../fs/customer-dir.js\";\n\nexport type TemplateVariables = Record<string, string | number | undefined>;\n\nconst VARIABLE_REGEX = /\\{\\{([a-zA-Z_][a-zA-Z0-9_]*)\\}\\}/g;\n\nexport function interpolate(template: string, vars: TemplateVariables): string {\n return template.replace(VARIABLE_REGEX, (match, key: string) => {\n const val = vars[key];\n return val !== undefined ? String(val) : match; // keep {{key}} if unresolved\n });\n}\n\nexport function extractVariables(template: string): string[] {\n return [...template.matchAll(new RegExp(VARIABLE_REGEX.source, \"g\"))].map((m) => m[1]!);\n}\n\nexport async function buildVariablesFromCustomer(\n dataDir: string,\n slug: string\n): Promise<TemplateVariables> {\n const facts = await readMainFacts(dataDir, slug).catch(() => null);\n const now = new Date();\n return {\n company: facts?.name ?? slug,\n domain: facts?.domain ?? \"\",\n email: facts?.email ?? \"\",\n stage: facts?.relationship_stage ?? \"\",\n slug,\n date: now.toLocaleDateString(\"de-DE\"),\n year: now.getFullYear(),\n month: now.toLocaleDateString(\"de-DE\", { month: \"long\" }),\n };\n}\n","import { z } from \"zod\";\n\nexport const SequenceStepSchema = z.object({\n day: z.number().int().min(0),\n templateId: z.string().min(1),\n skipIfReplied: z.boolean().default(true),\n});\n\nexport const SequenceSchema = z.object({\n id: z.string().min(1),\n name: z.string().min(1),\n steps: z.array(SequenceStepSchema).min(1),\n createdAt: z.string(),\n});\n\nexport const SequenceEnrollmentSchema = z.object({\n id: z.string(),\n sequenceId: z.string(),\n slug: z.string(),\n contactEmail: z.string().email(),\n enrolledAt: z.string(),\n status: z.enum([\"active\", \"paused\", \"completed\", \"bounced\"]),\n currentStep: z.number().int().min(0),\n stepsCompleted: z.array(z.number()),\n lastSentAt: z.string().optional(),\n lastRepliedAt: z.string().optional(),\n});\n\nexport type SequenceStep = z.infer<typeof SequenceStepSchema>;\nexport type Sequence = z.infer<typeof SequenceSchema>;\nexport type SequenceEnrollment = z.infer<typeof SequenceEnrollmentSchema>;\n","import fs from \"fs\";\nimport path from \"path\";\nimport { writeFileAtomic } from \"./atomic-write.js\";\nimport yaml from \"js-yaml\";\nimport { withJsonFile } from \"../core/file-lock.js\";\nimport {\n SequenceSchema,\n SequenceEnrollmentSchema,\n type Sequence,\n type SequenceEnrollment,\n} from \"../schemas/sequence.js\";\n\nexport function sequencesDir(dataDir: string): string {\n return path.join(dataDir, \".agentic\", \"sequences\");\n}\n\nexport function enrollmentsPath(dataDir: string): string {\n return path.join(dataDir, \".agentic\", \"sequence-enrollments.json\");\n}\n\nexport function listSequences(dataDir: string): Sequence[] {\n const dir = sequencesDir(dataDir);\n if (!fs.existsSync(dir)) return [];\n\n const files = fs.readdirSync(dir).filter((f) => f.endsWith(\".yaml\"));\n const results: Sequence[] = [];\n\n for (const file of files) {\n try {\n const content = fs.readFileSync(path.join(dir, file), \"utf-8\") as string;\n const raw = yaml.load(content);\n const parsed = SequenceSchema.safeParse(raw);\n if (parsed.success) {\n results.push(parsed.data);\n }\n } catch {\n // skip invalid files\n }\n }\n\n return results;\n}\n\nexport function getSequence(dataDir: string, id: string): Sequence | null {\n const sequences = listSequences(dataDir);\n return sequences.find((s) => s.id === id) ?? null;\n}\n\nexport function writeSequence(dataDir: string, seq: Sequence): void {\n const dir = sequencesDir(dataDir);\n fs.mkdirSync(dir, { recursive: true });\n const content = yaml.dump(seq);\n writeFileAtomic(path.join(dir, `${seq.id}.yaml`), content);\n}\n\nexport function readEnrollments(dataDir: string): SequenceEnrollment[] {\n const p = enrollmentsPath(dataDir);\n if (!fs.existsSync(p)) return [];\n try {\n const raw = JSON.parse(fs.readFileSync(p, \"utf-8\") as string) as unknown;\n return Array.isArray(raw) ? (raw as SequenceEnrollment[]) : [];\n } catch {\n return [];\n }\n}\n\nexport async function writeEnrollment(\n dataDir: string,\n enrollment: SequenceEnrollment\n): Promise<void> {\n await withJsonFile<SequenceEnrollment[]>(enrollmentsPath(dataDir), (current) => {\n const existing = Array.isArray(current) ? current : [];\n return [...existing, enrollment];\n });\n}\n\nexport async function updateEnrollment(\n dataDir: string,\n id: string,\n updates: Partial<SequenceEnrollment>\n): Promise<SequenceEnrollment | null> {\n let updated: SequenceEnrollment | null = null;\n\n await withJsonFile<SequenceEnrollment[]>(enrollmentsPath(dataDir), (current) => {\n const existing = Array.isArray(current) ? current : [];\n const idx = existing.findIndex((e) => e.id === id);\n if (idx < 0) return existing;\n\n const merged = SequenceEnrollmentSchema.parse({ ...existing[idx], ...updates });\n updated = merged;\n const next = [...existing];\n next[idx] = merged;\n return next;\n });\n\n return updated;\n}\n"],"mappings":"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"}