@zmeel/server 0.3.2 → 0.3.4

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 (171) hide show
  1. package/dist/adapters/registry.d.ts.map +1 -1
  2. package/dist/adapters/registry.js +11 -0
  3. package/dist/adapters/registry.js.map +1 -1
  4. package/dist/app.d.ts +1 -0
  5. package/dist/app.d.ts.map +1 -1
  6. package/dist/app.js +10 -1
  7. package/dist/app.js.map +1 -1
  8. package/dist/auth/better-auth.d.ts +1 -1
  9. package/dist/auth/better-auth.d.ts.map +1 -1
  10. package/dist/auth/better-auth.js +13 -1
  11. package/dist/auth/better-auth.js.map +1 -1
  12. package/dist/config.d.ts +1 -0
  13. package/dist/config.d.ts.map +1 -1
  14. package/dist/config.js +6 -2
  15. package/dist/config.js.map +1 -1
  16. package/dist/index.d.ts.map +1 -1
  17. package/dist/index.js +2 -1
  18. package/dist/index.js.map +1 -1
  19. package/dist/routes/agents.d.ts.map +1 -1
  20. package/dist/routes/agents.js +83 -0
  21. package/dist/routes/agents.js.map +1 -1
  22. package/dist/routes/billing.d.ts +3 -0
  23. package/dist/routes/billing.d.ts.map +1 -0
  24. package/dist/routes/billing.js +69 -0
  25. package/dist/routes/billing.js.map +1 -0
  26. package/dist/routes/companies.d.ts +3 -1
  27. package/dist/routes/companies.d.ts.map +1 -1
  28. package/dist/routes/companies.js +8 -3
  29. package/dist/routes/companies.js.map +1 -1
  30. package/dist/routes/employee-files.d.ts +3 -0
  31. package/dist/routes/employee-files.d.ts.map +1 -0
  32. package/dist/routes/employee-files.js +49 -0
  33. package/dist/routes/employee-files.js.map +1 -0
  34. package/dist/routes/health.d.ts +1 -0
  35. package/dist/routes/health.d.ts.map +1 -1
  36. package/dist/routes/health.js +7 -1
  37. package/dist/routes/health.js.map +1 -1
  38. package/dist/routes/index.d.ts +1 -0
  39. package/dist/routes/index.d.ts.map +1 -1
  40. package/dist/routes/index.js +1 -0
  41. package/dist/routes/index.js.map +1 -1
  42. package/dist/routes/role-templates.d.ts +2 -0
  43. package/dist/routes/role-templates.d.ts.map +1 -0
  44. package/dist/routes/role-templates.js +18 -0
  45. package/dist/routes/role-templates.js.map +1 -0
  46. package/dist/routes/tool-connections.d.ts +3 -0
  47. package/dist/routes/tool-connections.d.ts.map +1 -0
  48. package/dist/routes/tool-connections.js +117 -0
  49. package/dist/routes/tool-connections.js.map +1 -0
  50. package/dist/services/activity.d.ts +3 -3
  51. package/dist/services/agents.d.ts +3 -3
  52. package/dist/services/approvals.d.ts +2 -2
  53. package/dist/services/billing.d.ts +35 -0
  54. package/dist/services/billing.d.ts.map +1 -0
  55. package/dist/services/billing.js +62 -0
  56. package/dist/services/billing.js.map +1 -0
  57. package/dist/services/composio.d.ts +40 -0
  58. package/dist/services/composio.d.ts.map +1 -0
  59. package/dist/services/composio.js +241 -0
  60. package/dist/services/composio.js.map +1 -0
  61. package/dist/services/costs.d.ts +2 -2
  62. package/dist/services/employee-files.d.ts +31 -0
  63. package/dist/services/employee-files.d.ts.map +1 -0
  64. package/dist/services/employee-files.js +69 -0
  65. package/dist/services/employee-files.js.map +1 -0
  66. package/dist/services/feedback.d.ts +2 -2
  67. package/dist/services/finance.d.ts +2 -2
  68. package/dist/services/goals.d.ts +6 -6
  69. package/dist/services/heartbeat.d.ts +17 -17
  70. package/dist/services/heartbeat.d.ts.map +1 -1
  71. package/dist/services/heartbeat.js +39 -1
  72. package/dist/services/heartbeat.js.map +1 -1
  73. package/dist/services/index.d.ts +1 -0
  74. package/dist/services/index.d.ts.map +1 -1
  75. package/dist/services/index.js +1 -0
  76. package/dist/services/index.js.map +1 -1
  77. package/dist/services/issues.d.ts +3 -3
  78. package/dist/services/managed-api-keys.d.ts +18 -0
  79. package/dist/services/managed-api-keys.d.ts.map +1 -0
  80. package/dist/services/managed-api-keys.js +51 -0
  81. package/dist/services/managed-api-keys.js.map +1 -0
  82. package/dist/services/plugin-registry.d.ts +73 -73
  83. package/dist/services/role-templates.d.ts +24 -0
  84. package/dist/services/role-templates.d.ts.map +1 -0
  85. package/dist/services/role-templates.js +969 -0
  86. package/dist/services/role-templates.js.map +1 -0
  87. package/dist/services/routines.d.ts +15 -15
  88. package/dist/services/saas-provisioning.d.ts +16 -0
  89. package/dist/services/saas-provisioning.d.ts.map +1 -0
  90. package/dist/services/saas-provisioning.js +21 -0
  91. package/dist/services/saas-provisioning.js.map +1 -0
  92. package/dist/services/workspace-runtime.d.ts +2 -2
  93. package/package.json +42 -33
  94. package/ui-dist/assets/{_basePickBy-D2fZf0o0.js → _basePickBy-CMk22i5t.js} +1 -1
  95. package/ui-dist/assets/{_baseUniq-CWLG_Xqf.js → _baseUniq-BRF60Jak.js} +1 -1
  96. package/ui-dist/assets/{arc-DeECLtLk.js → arc-BzLMeDv5.js} +1 -1
  97. package/ui-dist/assets/{architectureDiagram-VXUJARFQ-a4Gzo-8u.js → architectureDiagram-VXUJARFQ-DInJrxvO.js} +1 -1
  98. package/ui-dist/assets/{blockDiagram-VD42YOAC-tsACr-ke.js → blockDiagram-VD42YOAC-vXi5zaBG.js} +1 -1
  99. package/ui-dist/assets/{c4Diagram-YG6GDRKO-CxIEiGp0.js → c4Diagram-YG6GDRKO-BJG8J9ib.js} +1 -1
  100. package/ui-dist/assets/channel-DrNAM91H.js +1 -0
  101. package/ui-dist/assets/{chunk-4BX2VUAB-DXyq1OVE.js → chunk-4BX2VUAB-CVqGTOhG.js} +1 -1
  102. package/ui-dist/assets/{chunk-55IACEB6-DE0IJwCp.js → chunk-55IACEB6-DdPau3JC.js} +1 -1
  103. package/ui-dist/assets/{chunk-B4BG7PRW-C4VgkuRm.js → chunk-B4BG7PRW-9mSiYUJq.js} +1 -1
  104. package/ui-dist/assets/{chunk-DI55MBZ5-DUnVODLP.js → chunk-DI55MBZ5-D-JZMTva.js} +1 -1
  105. package/ui-dist/assets/{chunk-FMBD7UC4-D14U1wU8.js → chunk-FMBD7UC4-CebhDcDU.js} +1 -1
  106. package/ui-dist/assets/{chunk-QN33PNHL--9Fa_-d7.js → chunk-QN33PNHL-C-TCIW_q.js} +1 -1
  107. package/ui-dist/assets/{chunk-QZHKN3VN-6vF9hrbB.js → chunk-QZHKN3VN-pYW0vu4N.js} +1 -1
  108. package/ui-dist/assets/{chunk-TZMSLE5B-BOKdVMfQ.js → chunk-TZMSLE5B-CJuXCdVr.js} +1 -1
  109. package/ui-dist/assets/classDiagram-2ON5EDUG-Bv0OJ-at.js +1 -0
  110. package/ui-dist/assets/classDiagram-v2-WZHVMYZB-Bv0OJ-at.js +1 -0
  111. package/ui-dist/assets/clone-zJKi4Z7Y.js +1 -0
  112. package/ui-dist/assets/{cose-bilkent-S5V4N54A-BSFYrItZ.js → cose-bilkent-S5V4N54A-CjBOmbda.js} +1 -1
  113. package/ui-dist/assets/{dagre-6UL2VRFP-D8xEb_jz.js → dagre-6UL2VRFP-Dnp0GsR_.js} +1 -1
  114. package/ui-dist/assets/{diagram-PSM6KHXK-kkdfif_P.js → diagram-PSM6KHXK-BXZZpwx8.js} +1 -1
  115. package/ui-dist/assets/{diagram-QEK2KX5R-BOA1wTkn.js → diagram-QEK2KX5R-qRdZZtvc.js} +1 -1
  116. package/ui-dist/assets/{diagram-S2PKOQOG-BMxIrdD_.js → diagram-S2PKOQOG-D_09g7dR.js} +1 -1
  117. package/ui-dist/assets/{erDiagram-Q2GNP2WA-O1OwJuJt.js → erDiagram-Q2GNP2WA-Ko72NRnY.js} +1 -1
  118. package/ui-dist/assets/{flowDiagram-NV44I4VS-Ca9TsVEe.js → flowDiagram-NV44I4VS-0djOGxYO.js} +1 -1
  119. package/ui-dist/assets/{ganttDiagram-JELNMOA3-CZ3k4lR4.js → ganttDiagram-JELNMOA3-DGShyPo5.js} +1 -1
  120. package/ui-dist/assets/{gitGraphDiagram-V2S2FVAM-CYXpu5VF.js → gitGraphDiagram-V2S2FVAM-o1Ofh8BV.js} +1 -1
  121. package/ui-dist/assets/{graph-Ct1Mwc2w.js → graph-SsVnC_wA.js} +1 -1
  122. package/ui-dist/assets/{index-2BV3lexL.js → index-B8jvXnJM.js} +1 -1
  123. package/ui-dist/assets/index-B8oh85kW.js +1262 -0
  124. package/ui-dist/assets/{index-B3cKIXfV.js → index-BKh69TGx.js} +1 -1
  125. package/ui-dist/assets/{index-ChGANpP5.js → index-BVJCR9-5.js} +1 -1
  126. package/ui-dist/assets/{index-b-wjeoWr.js → index-BZO7ebib.js} +1 -1
  127. package/ui-dist/assets/{index-CU0xjnJx.js → index-BgpO4lCF.js} +1 -1
  128. package/ui-dist/assets/{index-DZ5z-1W5.js → index-BkhtXozO.js} +1 -1
  129. package/ui-dist/assets/{index-zAFj8SiW.js → index-CAwQRx1H.js} +1 -1
  130. package/ui-dist/assets/{index-Cyi4EPvJ.js → index-CGzKzWEI.js} +1 -1
  131. package/ui-dist/assets/{index-DYf-Vmt-.js → index-CH6qpD_O.js} +1 -1
  132. package/ui-dist/assets/{index-BKVrlVnm.js → index-CKRSx4E0.js} +1 -1
  133. package/ui-dist/assets/{index-DcJU9_Xw.js → index-Ce3cNGGf.js} +1 -1
  134. package/ui-dist/assets/{index-DzvAUKSy.js → index-CfTkAwgM.js} +1 -1
  135. package/ui-dist/assets/{index-BoQp7qpa.js → index-CgYMoxFD.js} +1 -1
  136. package/ui-dist/assets/{index-1-xGTyG8.js → index-CmzUmqke.js} +1 -1
  137. package/ui-dist/assets/{index-Dbx0Jq5s.js → index-Cw_pE1Cj.js} +1 -1
  138. package/ui-dist/assets/{index-C016T1QA.js → index-Cyp3WxFA.js} +1 -1
  139. package/ui-dist/assets/{index-CKShy7qg.js → index-D9oAsAw_.js} +1 -1
  140. package/ui-dist/assets/{index-Bso7Ph2z.js → index-DFAXMkw_.js} +1 -1
  141. package/ui-dist/assets/index-DRwR8MX2.css +1 -0
  142. package/ui-dist/assets/{index-CTeTAOP4.js → index-DfZDOeuL.js} +1 -1
  143. package/ui-dist/assets/{index-DAhE9Tae.js → index-KUPFoIYr.js} +1 -1
  144. package/ui-dist/assets/{index-CX3xG_nU.js → index-x9SZ5O1I.js} +1 -1
  145. package/ui-dist/assets/{index-D4ERoZ49.js → index-yp89SiAI.js} +1 -1
  146. package/ui-dist/assets/{infoDiagram-HS3SLOUP-BBoge3td.js → infoDiagram-HS3SLOUP-BvBgHbDr.js} +1 -1
  147. package/ui-dist/assets/{journeyDiagram-XKPGCS4Q-D6qBxJvS.js → journeyDiagram-XKPGCS4Q-CqqEPjJY.js} +1 -1
  148. package/ui-dist/assets/{kanban-definition-3W4ZIXB7-BKw70hff.js → kanban-definition-3W4ZIXB7-CXcCv_Ip.js} +1 -1
  149. package/ui-dist/assets/{layout-C-MelZ5a.js → layout-BSP84oTG.js} +1 -1
  150. package/ui-dist/assets/{linear-BDJBF_lN.js → linear-BXMkYkHB.js} +1 -1
  151. package/ui-dist/assets/{mermaid.core-C_LSSro9.js → mermaid.core-gUe3q3NG.js} +4 -4
  152. package/ui-dist/assets/{mindmap-definition-VGOIOE7T-DKTz8YjL.js → mindmap-definition-VGOIOE7T-BkVsCY6g.js} +1 -1
  153. package/ui-dist/assets/{pieDiagram-ADFJNKIX-COzMH2F2.js → pieDiagram-ADFJNKIX-DbyIYf3g.js} +1 -1
  154. package/ui-dist/assets/{quadrantDiagram-AYHSOK5B-I8FRTFaI.js → quadrantDiagram-AYHSOK5B-D8PrHyHa.js} +1 -1
  155. package/ui-dist/assets/{requirementDiagram-UZGBJVZJ-DI3nQy2l.js → requirementDiagram-UZGBJVZJ-CqHxrd_k.js} +1 -1
  156. package/ui-dist/assets/{sankeyDiagram-TZEHDZUN-Pf_PmYIt.js → sankeyDiagram-TZEHDZUN-YmSuzjgS.js} +1 -1
  157. package/ui-dist/assets/{sequenceDiagram-WL72ISMW-DLgaS7kB.js → sequenceDiagram-WL72ISMW-B-_tiWIt.js} +1 -1
  158. package/ui-dist/assets/{stateDiagram-FKZM4ZOC-BvMa1uU-.js → stateDiagram-FKZM4ZOC-lSSuHsyv.js} +1 -1
  159. package/ui-dist/assets/stateDiagram-v2-4FDKWEC3-DolpXHAz.js +1 -0
  160. package/ui-dist/assets/{timeline-definition-IT6M3QCI-JQUCAkOQ.js → timeline-definition-IT6M3QCI-BOWlxdTv.js} +1 -1
  161. package/ui-dist/assets/{treemap-GDKQZRPO-BK87qA0V.js → treemap-GDKQZRPO-Bf4ApA1I.js} +1 -1
  162. package/ui-dist/assets/{xychartDiagram-PRI3JC2R-UI3XP-6x.js → xychartDiagram-PRI3JC2R-CB-X3oO_.js} +1 -1
  163. package/ui-dist/index.html +2 -2
  164. package/LICENSE +0 -21
  165. package/ui-dist/assets/channel-B8aOlvkH.js +0 -1
  166. package/ui-dist/assets/classDiagram-2ON5EDUG-CNtVQyHf.js +0 -1
  167. package/ui-dist/assets/classDiagram-v2-WZHVMYZB-CNtVQyHf.js +0 -1
  168. package/ui-dist/assets/clone-DbnZAhBs.js +0 -1
  169. package/ui-dist/assets/index-7nZVjhgZ.js +0 -1227
  170. package/ui-dist/assets/index-Ip5TfL79.css +0 -1
  171. package/ui-dist/assets/stateDiagram-v2-4FDKWEC3-BKAZNp5l.js +0 -1
@@ -0,0 +1,241 @@
1
+ import { Composio } from "composio-core";
2
+ let _client = null;
3
+ function getClient() {
4
+ if (_client)
5
+ return _client;
6
+ const apiKey = process.env.COMPOSIO_API_KEY;
7
+ if (!apiKey) {
8
+ return null;
9
+ }
10
+ _client = new Composio({ apiKey });
11
+ return _client;
12
+ }
13
+ /**
14
+ * Create a Composio entity for a given user. In Composio's model, an "entity"
15
+ * represents an end-user who can connect apps and execute actions.
16
+ */
17
+ export function getComposioSession(userId) {
18
+ const client = getClient();
19
+ if (!client)
20
+ return null;
21
+ return client.getEntity(userId);
22
+ }
23
+ /**
24
+ * Get tool/action definitions for a set of apps, scoped to a user entity.
25
+ * `apps` is a comma-separated string of app keys (e.g. "github,slack").
26
+ */
27
+ export async function getToolsForApps(userId, apps) {
28
+ const client = getClient();
29
+ if (!client)
30
+ return [];
31
+ try {
32
+ const actions = await client.actions.list({
33
+ apps: apps.join(","),
34
+ });
35
+ return actions?.items ?? (Array.isArray(actions) ? actions : []);
36
+ }
37
+ catch (err) {
38
+ console.error("[composio] getToolsForApps failed:", err);
39
+ return [];
40
+ }
41
+ }
42
+ /**
43
+ * Initiate an OAuth connection for a user with a specific app.
44
+ * Returns a ConnectionRequest with a redirectUrl the user should visit.
45
+ */
46
+ export async function initiateConnection(userId, appName, redirectUrl) {
47
+ const client = getClient();
48
+ if (!client)
49
+ return null;
50
+ try {
51
+ const connectionRequest = await client.connectedAccounts.initiate({
52
+ appName,
53
+ entityId: userId,
54
+ redirectUri: redirectUrl,
55
+ });
56
+ return {
57
+ redirectUrl: connectionRequest.redirectUrl,
58
+ connectedAccountId: connectionRequest.connectedAccountId,
59
+ };
60
+ }
61
+ catch (err) {
62
+ console.error("[composio] initiateConnection failed:", err);
63
+ return null;
64
+ }
65
+ }
66
+ /**
67
+ * List all connected accounts for a given user entity.
68
+ */
69
+ export async function getConnectedApps(userId) {
70
+ const client = getClient();
71
+ if (!client)
72
+ return [];
73
+ try {
74
+ const entity = client.getEntity(userId);
75
+ const connections = await entity.getConnections();
76
+ return connections ?? [];
77
+ }
78
+ catch (err) {
79
+ console.error("[composio] getConnectedApps failed:", err);
80
+ return [];
81
+ }
82
+ }
83
+ /**
84
+ * Execute a tool call (action) on behalf of a user.
85
+ */
86
+ export async function executeToolCall(userId, toolName, toolInput) {
87
+ const client = getClient();
88
+ if (!client)
89
+ return { error: "Composio not configured" };
90
+ try {
91
+ const entity = client.getEntity(userId);
92
+ const result = await entity.execute({
93
+ actionName: toolName,
94
+ params: toolInput,
95
+ });
96
+ return result;
97
+ }
98
+ catch (err) {
99
+ console.error("[composio] executeToolCall failed:", err);
100
+ return { error: String(err) };
101
+ }
102
+ }
103
+ /** Well-known logo URLs for popular tools (fallback when Composio doesn't provide one) */
104
+ const TOOL_LOGOS = {
105
+ gmail: "https://cdn.simpleicons.org/gmail",
106
+ slack: "https://cdn.simpleicons.org/slack",
107
+ github: "https://cdn.simpleicons.org/github/white",
108
+ notion: "https://cdn.simpleicons.org/notion/white",
109
+ google_calendar: "https://cdn.simpleicons.org/googlecalendar",
110
+ google_drive: "https://cdn.simpleicons.org/googledrive",
111
+ google_sheets: "https://cdn.simpleicons.org/googlesheets",
112
+ google_docs: "https://cdn.simpleicons.org/googledocs",
113
+ hubspot: "https://cdn.simpleicons.org/hubspot",
114
+ salesforce: "https://cdn.simpleicons.org/salesforce",
115
+ jira: "https://cdn.simpleicons.org/jira",
116
+ linear: "https://cdn.simpleicons.org/linear/white",
117
+ trello: "https://cdn.simpleicons.org/trello",
118
+ asana: "https://cdn.simpleicons.org/asana",
119
+ discord: "https://cdn.simpleicons.org/discord",
120
+ microsoft_teams: "https://cdn.simpleicons.org/microsoftteams",
121
+ outlook: "https://cdn.simpleicons.org/microsoftoutlook",
122
+ dropbox: "https://cdn.simpleicons.org/dropbox",
123
+ airtable: "https://cdn.simpleicons.org/airtable",
124
+ figma: "https://cdn.simpleicons.org/figma",
125
+ zoom: "https://cdn.simpleicons.org/zoom",
126
+ stripe: "https://cdn.simpleicons.org/stripe",
127
+ shopify: "https://cdn.simpleicons.org/shopify",
128
+ twilio: "https://cdn.simpleicons.org/twilio",
129
+ sendgrid: "https://cdn.simpleicons.org/sendgrid",
130
+ mailchimp: "https://cdn.simpleicons.org/mailchimp",
131
+ intercom: "https://cdn.simpleicons.org/intercom",
132
+ zendesk: "https://cdn.simpleicons.org/zendesk",
133
+ supabase: "https://cdn.simpleicons.org/supabase",
134
+ vercel: "https://cdn.simpleicons.org/vercel/white",
135
+ gitlab: "https://cdn.simpleicons.org/gitlab",
136
+ bitbucket: "https://cdn.simpleicons.org/bitbucket",
137
+ confluence: "https://cdn.simpleicons.org/confluence",
138
+ monday: "https://cdn.simpleicons.org/mondaydotcom",
139
+ clickup: "https://cdn.simpleicons.org/clickup",
140
+ todoist: "https://cdn.simpleicons.org/todoist",
141
+ calendly: "https://cdn.simpleicons.org/calendly",
142
+ typeform: "https://cdn.simpleicons.org/typeform",
143
+ linkedin: "https://cdn.simpleicons.org/linkedin",
144
+ twitter: "https://cdn.simpleicons.org/x/white",
145
+ facebook: "https://cdn.simpleicons.org/facebook",
146
+ instagram: "https://cdn.simpleicons.org/instagram",
147
+ youtube: "https://cdn.simpleicons.org/youtube",
148
+ whatsapp: "https://cdn.simpleicons.org/whatsapp",
149
+ telegram: "https://cdn.simpleicons.org/telegram",
150
+ composio: "https://cdn.simpleicons.org/composio",
151
+ };
152
+ /** Human-friendly display names for tools with non-obvious keys */
153
+ const TOOL_DISPLAY_NAMES = {
154
+ gmail: "Gmail",
155
+ github: "GitHub",
156
+ slack: "Slack",
157
+ notion: "Notion",
158
+ google_calendar: "Google Calendar",
159
+ googlecalendar: "Google Calendar",
160
+ google_drive: "Google Drive",
161
+ googledrive: "Google Drive",
162
+ google_sheets: "Google Sheets",
163
+ googlesheets: "Google Sheets",
164
+ google_docs: "Google Docs",
165
+ googledocs: "Google Docs",
166
+ hubspot: "HubSpot",
167
+ salesforce: "Salesforce",
168
+ jira: "Jira",
169
+ linear: "Linear",
170
+ trello: "Trello",
171
+ asana: "Asana",
172
+ discord: "Discord",
173
+ microsoft_teams: "Microsoft Teams",
174
+ outlook: "Outlook",
175
+ dropbox: "Dropbox",
176
+ airtable: "Airtable",
177
+ figma: "Figma",
178
+ zoom: "Zoom",
179
+ stripe: "Stripe",
180
+ shopify: "Shopify",
181
+ twilio: "Twilio",
182
+ sendgrid: "SendGrid",
183
+ mailchimp: "Mailchimp",
184
+ intercom: "Intercom",
185
+ zendesk: "Zendesk",
186
+ supabase: "Supabase",
187
+ vercel: "Vercel",
188
+ gitlab: "GitLab",
189
+ bitbucket: "Bitbucket",
190
+ confluence: "Confluence",
191
+ monday: "Monday.com",
192
+ clickup: "ClickUp",
193
+ todoist: "Todoist",
194
+ calendly: "Calendly",
195
+ typeform: "Typeform",
196
+ linkedin: "LinkedIn",
197
+ twitter: "Twitter / X",
198
+ facebook: "Facebook",
199
+ instagram: "Instagram",
200
+ youtube: "YouTube",
201
+ whatsapp: "WhatsApp",
202
+ telegram: "Telegram",
203
+ composio: "Composio",
204
+ };
205
+ /** Capitalize a tool name: "google_calendar" → "Google Calendar" */
206
+ function capitalizeToolName(key) {
207
+ if (TOOL_DISPLAY_NAMES[key])
208
+ return TOOL_DISPLAY_NAMES[key];
209
+ return key
210
+ .split(/[_-]/)
211
+ .map((word) => word.charAt(0).toUpperCase() + word.slice(1))
212
+ .join(" ");
213
+ }
214
+ /**
215
+ * List all available apps from the Composio platform (250+ integrations).
216
+ * Normalizes the response to a consistent shape with logo URLs.
217
+ */
218
+ export async function listAvailableApps() {
219
+ const client = getClient();
220
+ if (!client)
221
+ return [];
222
+ try {
223
+ const raw = await client.apps.list();
224
+ const apps = raw?.items ?? (Array.isArray(raw) ? raw : []);
225
+ return apps.map((app) => {
226
+ const key = (app.key ?? app.name ?? app.appId ?? "").toLowerCase();
227
+ return {
228
+ appName: key,
229
+ displayName: capitalizeToolName(key),
230
+ description: app.description ?? "",
231
+ logoUrl: app.logo ?? app.logoUrl ?? app.meta?.logo ?? TOOL_LOGOS[key] ?? null,
232
+ categories: app.categories ?? app.tags ?? [],
233
+ };
234
+ });
235
+ }
236
+ catch (err) {
237
+ console.error("[composio] listAvailableApps failed:", err);
238
+ return [];
239
+ }
240
+ }
241
+ //# sourceMappingURL=composio.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"composio.js","sourceRoot":"","sources":["../../src/services/composio.ts"],"names":[],"mappings":"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"}
@@ -14,8 +14,8 @@ export declare function costService(db: Db, budgetHooks?: BudgetServiceHooks): {
14
14
  agentId: string;
15
15
  goalId: string | null;
16
16
  projectId: string | null;
17
- billingCode: string | null;
18
17
  heartbeatRunId: string | null;
18
+ billingCode: string | null;
19
19
  issueId: string | null;
20
20
  biller: string;
21
21
  billingType: string;
@@ -84,7 +84,7 @@ export declare function costService(db: Db, budgetHooks?: BudgetServiceHooks): {
84
84
  provider: string;
85
85
  biller: string;
86
86
  window: string;
87
- windowHours: 5 | 24 | 168;
87
+ windowHours: 24 | 5 | 168;
88
88
  costCents: number;
89
89
  inputTokens: number;
90
90
  cachedInputTokens: number;
@@ -0,0 +1,31 @@
1
+ import type { Db } from "@zmeel/db";
2
+ declare const FILE_TYPES: readonly ["soul", "procedures", "heartbeat", "memory", "tools", "learning"];
3
+ type FileType = typeof FILE_TYPES[number];
4
+ export declare function employeeFileService(db: Db): {
5
+ getFile(agentId: string, fileType: FileType): Promise<{
6
+ version: number;
7
+ id: string;
8
+ updatedAt: Date;
9
+ companyId: string;
10
+ agentId: string;
11
+ fileType: string;
12
+ content: string;
13
+ updatedBy: string;
14
+ }>;
15
+ updateFile(agentId: string, fileType: FileType, content: string, updatedBy?: string): Promise<void>;
16
+ appendToFile(agentId: string, fileType: FileType, appendContent: string, updatedBy?: string): Promise<void>;
17
+ initializeFiles(agentId: string, companyId: string, defaults: Record<FileType, string>): Promise<void>;
18
+ getFullContext(agentId: string): Promise<string>;
19
+ getAllFiles(agentId: string): Promise<{
20
+ version: number;
21
+ id: string;
22
+ updatedAt: Date;
23
+ companyId: string;
24
+ agentId: string;
25
+ fileType: string;
26
+ content: string;
27
+ updatedBy: string;
28
+ }[]>;
29
+ };
30
+ export {};
31
+ //# sourceMappingURL=employee-files.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"employee-files.d.ts","sourceRoot":"","sources":["../../src/services/employee-files.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,WAAW,CAAC;AAIpC,QAAA,MAAM,UAAU,6EAA8E,CAAC;AAC/F,KAAK,QAAQ,GAAG,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC;AAE1C,wBAAgB,mBAAmB,CAAC,EAAE,EAAE,EAAE;qBAEf,MAAM,YAAY,QAAQ;;;;;;;;;;wBAMvB,MAAM,YAAY,QAAQ,WAAW,MAAM,cAAa,MAAM;0BAkB5D,MAAM,YAAY,QAAQ,iBAAiB,MAAM,cAAa,MAAM;6BAOjE,MAAM,aAAa,MAAM,YAAY,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC;4BAY9D,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;yBAqB3B,MAAM;;;;;;;;;;EAKpC"}
@@ -0,0 +1,69 @@
1
+ import { employeeFiles } from "@zmeel/db";
2
+ import { eq, and } from "drizzle-orm";
3
+ const FILE_TYPES = ["soul", "procedures", "heartbeat", "memory", "tools", "learning"];
4
+ export function employeeFileService(db) {
5
+ return {
6
+ async getFile(agentId, fileType) {
7
+ const rows = await db.select().from(employeeFiles)
8
+ .where(and(eq(employeeFiles.agentId, agentId), eq(employeeFiles.fileType, fileType)));
9
+ return rows[0] ?? null;
10
+ },
11
+ async updateFile(agentId, fileType, content, updatedBy = "system") {
12
+ const existing = await this.getFile(agentId, fileType);
13
+ if (existing) {
14
+ await db.update(employeeFiles)
15
+ .set({ content, version: existing.version + 1, updatedAt: new Date(), updatedBy })
16
+ .where(eq(employeeFiles.id, existing.id));
17
+ }
18
+ else {
19
+ // shouldn't happen if initialized, but handle gracefully
20
+ const file = await this.getFile(agentId, fileType);
21
+ if (!file) {
22
+ // Get companyId from the first file or default
23
+ await db.insert(employeeFiles).values({
24
+ agentId, companyId: "", fileType, content, updatedBy
25
+ });
26
+ }
27
+ }
28
+ },
29
+ async appendToFile(agentId, fileType, appendContent, updatedBy = "agent") {
30
+ const existing = await this.getFile(agentId, fileType);
31
+ const currentContent = existing?.content ?? "";
32
+ const newContent = currentContent + "\n" + appendContent;
33
+ await this.updateFile(agentId, fileType, newContent, updatedBy);
34
+ },
35
+ async initializeFiles(agentId, companyId, defaults) {
36
+ for (const fileType of FILE_TYPES) {
37
+ await db.insert(employeeFiles).values({
38
+ agentId,
39
+ companyId,
40
+ fileType,
41
+ content: defaults[fileType] ?? "",
42
+ updatedBy: "system",
43
+ }).onConflictDoNothing();
44
+ }
45
+ },
46
+ async getFullContext(agentId) {
47
+ const files = await db.select().from(employeeFiles)
48
+ .where(eq(employeeFiles.agentId, agentId));
49
+ const fileMap = {};
50
+ for (const f of files) {
51
+ fileMap[f.fileType] = f.content;
52
+ }
53
+ const sections = [
54
+ fileMap.soul ? `# SOUL\n${fileMap.soul}` : "",
55
+ fileMap.procedures ? `# PROCEDURES\n${fileMap.procedures}` : "",
56
+ fileMap.heartbeat ? `# SCHEDULED TASKS\n${fileMap.heartbeat}` : "",
57
+ fileMap.tools ? `# CONNECTED TOOLS\n${fileMap.tools}` : "",
58
+ fileMap.memory ? `# MEMORY\n${fileMap.memory}` : "",
59
+ fileMap.learning ? `# LEARNING\n${fileMap.learning}` : "",
60
+ ].filter(Boolean);
61
+ return sections.join("\n\n---\n\n");
62
+ },
63
+ async getAllFiles(agentId) {
64
+ return db.select().from(employeeFiles)
65
+ .where(eq(employeeFiles.agentId, agentId));
66
+ },
67
+ };
68
+ }
69
+ //# sourceMappingURL=employee-files.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"employee-files.js","sourceRoot":"","sources":["../../src/services/employee-files.ts"],"names":[],"mappings":"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"}
@@ -16,10 +16,10 @@ export declare function feedbackService(db: Db, options?: FeedbackServiceOptions
16
16
  companyId: string;
17
17
  reason: string | null;
18
18
  issueId: string;
19
+ authorUserId: string;
19
20
  targetType: string;
20
21
  targetId: string;
21
22
  vote: string;
22
- authorUserId: string;
23
23
  sharedWithLabs: boolean;
24
24
  sharedAt: Date | null;
25
25
  consentVersion: string | null;
@@ -74,10 +74,10 @@ export declare function feedbackService(db: Db, options?: FeedbackServiceOptions
74
74
  companyId: string;
75
75
  reason: string | null;
76
76
  issueId: string;
77
+ authorUserId: string;
77
78
  targetType: string;
78
79
  targetId: string;
79
80
  vote: string;
80
- authorUserId: string;
81
81
  sharedWithLabs: boolean;
82
82
  sharedAt: Date | null;
83
83
  consentVersion: string | null;
@@ -14,8 +14,8 @@ export declare function financeService(db: Db): {
14
14
  agentId: string | null;
15
15
  goalId: string | null;
16
16
  projectId: string | null;
17
- billingCode: string | null;
18
17
  heartbeatRunId: string | null;
18
+ billingCode: string | null;
19
19
  issueId: string | null;
20
20
  biller: string;
21
21
  model: string | null;
@@ -69,8 +69,8 @@ export declare function financeService(db: Db): {
69
69
  agentId: string | null;
70
70
  goalId: string | null;
71
71
  projectId: string | null;
72
- billingCode: string | null;
73
72
  heartbeatRunId: string | null;
73
+ billingCode: string | null;
74
74
  issueId: string | null;
75
75
  biller: string;
76
76
  model: string | null;
@@ -2,6 +2,7 @@ import type { Db } from "@zmeel/db";
2
2
  import { goals } from "@zmeel/db";
3
3
  type GoalReader = Pick<Db, "select">;
4
4
  export declare function getDefaultCompanyGoal(db: GoalReader, companyId: string): Promise<{
5
+ level: string;
5
6
  id: string;
6
7
  description: string | null;
7
8
  status: string;
@@ -9,7 +10,6 @@ export declare function getDefaultCompanyGoal(db: GoalReader, companyId: string)
9
10
  updatedAt: Date;
10
11
  companyId: string;
11
12
  title: string;
12
- level: string;
13
13
  parentId: string | null;
14
14
  ownerAgentId: string | null;
15
15
  }>;
@@ -186,6 +186,7 @@ export declare function goalService(db: Db): {
186
186
  generated: undefined;
187
187
  }, {}, {}>;
188
188
  }, "single", Record<"goals", "not-null">, false, "where", {
189
+ level: string;
189
190
  id: string;
190
191
  description: string | null;
191
192
  status: string;
@@ -193,7 +194,6 @@ export declare function goalService(db: Db): {
193
194
  updatedAt: Date;
194
195
  companyId: string;
195
196
  title: string;
196
- level: string;
197
197
  parentId: string | null;
198
198
  ownerAgentId: string | null;
199
199
  }[], {
@@ -369,6 +369,7 @@ export declare function goalService(db: Db): {
369
369
  }, {}, {}>;
370
370
  }>, "where">;
371
371
  getById: (id: string) => Promise<{
372
+ level: string;
372
373
  id: string;
373
374
  description: string | null;
374
375
  status: string;
@@ -376,11 +377,11 @@ export declare function goalService(db: Db): {
376
377
  updatedAt: Date;
377
378
  companyId: string;
378
379
  title: string;
379
- level: string;
380
380
  parentId: string | null;
381
381
  ownerAgentId: string | null;
382
382
  }>;
383
383
  getDefaultCompanyGoal: (companyId: string) => Promise<{
384
+ level: string;
384
385
  id: string;
385
386
  description: string | null;
386
387
  status: string;
@@ -388,11 +389,11 @@ export declare function goalService(db: Db): {
388
389
  updatedAt: Date;
389
390
  companyId: string;
390
391
  title: string;
391
- level: string;
392
392
  parentId: string | null;
393
393
  ownerAgentId: string | null;
394
394
  }>;
395
395
  create: (companyId: string, data: Omit<typeof goals.$inferInsert, "companyId">) => Promise<{
396
+ level: string;
396
397
  id: string;
397
398
  description: string | null;
398
399
  status: string;
@@ -400,7 +401,6 @@ export declare function goalService(db: Db): {
400
401
  updatedAt: Date;
401
402
  companyId: string;
402
403
  title: string;
403
- level: string;
404
404
  parentId: string | null;
405
405
  ownerAgentId: string | null;
406
406
  }>;
@@ -417,6 +417,7 @@ export declare function goalService(db: Db): {
417
417
  updatedAt: Date;
418
418
  }>;
419
419
  remove: (id: string) => Promise<{
420
+ level: string;
420
421
  id: string;
421
422
  description: string | null;
422
423
  status: string;
@@ -424,7 +425,6 @@ export declare function goalService(db: Db): {
424
425
  updatedAt: Date;
425
426
  companyId: string;
426
427
  title: string;
427
- level: string;
428
428
  parentId: string | null;
429
429
  ownerAgentId: string | null;
430
430
  }>;
@@ -124,17 +124,17 @@ export declare function heartbeatService(db: Db): {
124
124
  updatedAt: Date;
125
125
  }[]>;
126
126
  getRun: (runId: string) => Promise<{
127
+ error: string | null;
127
128
  id: string;
128
129
  status: string;
129
130
  createdAt: Date;
130
131
  updatedAt: Date;
131
132
  companyId: string;
132
133
  agentId: string;
133
- triggerDetail: string | null;
134
- finishedAt: Date | null;
135
- error: string | null;
136
134
  invocationSource: string;
135
+ triggerDetail: string | null;
137
136
  startedAt: Date | null;
137
+ finishedAt: Date | null;
138
138
  wakeupRequestId: string | null;
139
139
  exitCode: number | null;
140
140
  signal: string | null;
@@ -417,18 +417,18 @@ export declare function heartbeatService(db: Db): {
417
417
  generated: undefined;
418
418
  }, {}, {}>;
419
419
  }, "single", Record<"heartbeat_run_events", "not-null">, false, "where" | "orderBy" | "limit", {
420
+ level: string | null;
420
421
  id: number;
421
422
  createdAt: Date;
422
423
  companyId: string;
423
424
  payload: Record<string, unknown> | null;
424
425
  agentId: string;
425
426
  runId: string;
426
- level: string | null;
427
427
  color: string | null;
428
- message: string | null;
429
428
  seq: number;
430
429
  eventType: string;
431
430
  stream: string | null;
431
+ message: string | null;
432
432
  }[], {
433
433
  id: import("drizzle-orm/pg-core").PgColumn<{
434
434
  name: "id";
@@ -651,17 +651,17 @@ export declare function heartbeatService(db: Db): {
651
651
  actorType?: "user" | "agent" | "system";
652
652
  actorId?: string | null;
653
653
  }) => Promise<{
654
+ error: string | null;
654
655
  id: string;
655
656
  status: string;
656
657
  createdAt: Date;
657
658
  updatedAt: Date;
658
659
  companyId: string;
659
660
  agentId: string;
660
- triggerDetail: string | null;
661
- finishedAt: Date | null;
662
- error: string | null;
663
661
  invocationSource: string;
662
+ triggerDetail: string | null;
664
663
  startedAt: Date | null;
664
+ finishedAt: Date | null;
665
665
  wakeupRequestId: string | null;
666
666
  exitCode: number | null;
667
667
  signal: string | null;
@@ -685,17 +685,17 @@ export declare function heartbeatService(db: Db): {
685
685
  contextSnapshot: Record<string, unknown> | null;
686
686
  } | null>;
687
687
  wakeup: (agentId: string, opts?: WakeupOptions) => Promise<{
688
+ error: string | null;
688
689
  id: string;
689
690
  status: string;
690
691
  createdAt: Date;
691
692
  updatedAt: Date;
692
693
  companyId: string;
693
694
  agentId: string;
694
- triggerDetail: string | null;
695
- finishedAt: Date | null;
696
- error: string | null;
697
695
  invocationSource: string;
696
+ triggerDetail: string | null;
698
697
  startedAt: Date | null;
698
+ finishedAt: Date | null;
699
699
  wakeupRequestId: string | null;
700
700
  exitCode: number | null;
701
701
  signal: string | null;
@@ -765,17 +765,17 @@ export declare function heartbeatService(db: Db): {
765
765
  skipped: number;
766
766
  }>;
767
767
  cancelRun: (runId: string) => Promise<{
768
+ error: string | null;
768
769
  id: string;
769
770
  status: string;
770
771
  createdAt: Date;
771
772
  updatedAt: Date;
772
773
  companyId: string;
773
774
  agentId: string;
774
- triggerDetail: string | null;
775
- finishedAt: Date | null;
776
- error: string | null;
777
775
  invocationSource: string;
776
+ triggerDetail: string | null;
778
777
  startedAt: Date | null;
778
+ finishedAt: Date | null;
779
779
  wakeupRequestId: string | null;
780
780
  exitCode: number | null;
781
781
  signal: string | null;
@@ -801,17 +801,17 @@ export declare function heartbeatService(db: Db): {
801
801
  cancelActiveForAgent: (agentId: string) => Promise<number>;
802
802
  cancelBudgetScopeWork: (scope: BudgetEnforcementScope) => Promise<void>;
803
803
  getActiveRunForAgent: (agentId: string) => Promise<{
804
+ error: string | null;
804
805
  id: string;
805
806
  status: string;
806
807
  createdAt: Date;
807
808
  updatedAt: Date;
808
809
  companyId: string;
809
810
  agentId: string;
810
- triggerDetail: string | null;
811
- finishedAt: Date | null;
812
- error: string | null;
813
811
  invocationSource: string;
812
+ triggerDetail: string | null;
814
813
  startedAt: Date | null;
814
+ finishedAt: Date | null;
815
815
  wakeupRequestId: string | null;
816
816
  exitCode: number | null;
817
817
  signal: string | null;
@@ -1 +1 @@
1
- {"version":3,"file":"heartbeat.d.ts","sourceRoot":"","sources":["../../src/services/heartbeat.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,EAAe,kBAAkB,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AAC/F,OAAO,EACL,MAAM,EASP,MAAM,WAAW,CAAC;AAMnB,OAAO,KAAK,EAAiD,mBAAmB,EAAgB,MAAM,sBAAsB,CAAC;AAO7H,OAAO,EAAiB,KAAK,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAI1E,OAAO,EAOL,KAAK,uBAAuB,EAC5B,KAAK,0BAA0B,EAEhC,MAAM,wBAAwB,CAAC;AAIhC,OAAO,EAML,6BAA6B,EAC9B,MAAM,iCAAiC,CAAC;AAGzC,OAAO,EAGL,KAAK,uBAAuB,EAC7B,MAAM,sBAAsB,CAAC;AAoB9B,wBAAgB,sCAAsC,CAAC,KAAK,EAAE;IAC5D,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,eAAe,EAAE,wBAAwB,GAAG,IAAI,CAAC;IACjD,IAAI,EAAE,UAAU,CAAC,OAAO,6BAA6B,CAAC,CAAC;CACxD;;EAqBA;AAED,wBAAgB,2CAA2C,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;EAI1F;AAED,wBAAgB,4CAA4C,CAAC,KAAK,EAAE;IAClE,IAAI,EAAE,uBAAuB,CAAC;IAC9B,SAAS,EAAE,kBAAkB,CAAC;CAC/B,GAAG,0BAA0B,GAAG,IAAI,CAqBpC;AAsJD,UAAU,aAAa;IACrB,MAAM,CAAC,EAAE,OAAO,GAAG,YAAY,GAAG,WAAW,GAAG,YAAY,CAAC;IAC7D,aAAa,CAAC,EAAE,QAAQ,GAAG,MAAM,GAAG,UAAU,GAAG,QAAQ,CAAC;IAC1D,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IACzC,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,oBAAoB,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC;IACnD,kBAAkB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC3C;AAoBD,MAAM,MAAM,uBAAuB,GAAG;IACpC,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,iBAAiB,GAAG,cAAc,GAAG,YAAY,CAAC;IAC1D,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,cAAc,EAAE,KAAK,CAAC;QACpB,WAAW,EAAE,MAAM,CAAC;QACpB,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;QACnB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;QACvB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;KACxB,CAAC,CAAC;IACH,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB,CAAC;AAEF,KAAK,yBAAyB,GAAG;IAC/B,EAAE,EAAE,MAAM,CAAC;CACZ,CAAC;AAEF,wBAAgB,0CAA0C,CAAC,CAAC,SAAS,yBAAyB,EAC5F,IAAI,EAAE,CAAC,EAAE,EACT,oBAAoB,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAC9C,CAAC,EAAE,CAKL;AAmED,KAAK,gBAAgB,GAAG;IACtB,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAClD,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B,CAAC;AAEF,wBAAgB,kCAAkC,CAAC,KAAK,EAAE;IACxD,eAAe,EAAE,MAAM,CAAC;IACxB,wBAAwB,EAAE,MAAM,GAAG,IAAI,CAAC;IACxC,uBAAuB,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,WAAW,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACrC,YAAY,EAAE,mBAAmB,CAAC;CACnC;;;SA+BA;AAiED,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,OAAO,MAAM,CAAC,YAAY,GAAG,uBAAuB,CAEvG;AAED,wBAAgB,uCAAuC,CAAC,KAAK,EAAE;IAC7D,OAAO,EAAE,MAAM,CAAC;IAChB,qBAAqB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IACtD,iBAAiB,EAAE,uBAAuB,CAAC;CAC5C;;aAOsB,MAAM,GAAG,IAAI;EAuDnC;AA2CD;;;;;;;;GAQG;AACH,wBAAgB,kCAAkC,CAChD,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,GAAG,SAAS,EAC3D,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,GAAG,SAAS,iBASpD;AAED,wBAAgB,6BAA6B,CAC3C,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,GAAG,SAAS,WAO5D;AAED,wBAAgB,gCAAgC,CAAC,OAAO,EAAE,MAAM;;;EAK/D;AAmND,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,EAAE;sBAw3FX,MAAM,YAAY,MAAM,UAAU,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oBA91FrC,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+BAk3FA,MAAM;;;;;;;;;;;;;;;;;;gCAmBL,MAAM;;;;;;;;;;;;;mCAWH,MAAM,SAAS;QAAE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE;;;;;;;;;;;;;;;;;;;wBAmC3D,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBAQH,MAAM,SAAS;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE;;;;;;;sBAuBnE,MAAM,WACP,OAAO,GAAG,YAAY,GAAG,WAAW,GAAG,YAAY,oBAC1C,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,kBACzB,QAAQ,GAAG,MAAM,GAAG,UAAU,GAAG,QAAQ,UAChD;QAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;sBA/yB1C,MAAM,SAAQ,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+BAn/CnB,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BA6Pb;QAAE,gBAAgB,CAAC,EAAE,MAAM,CAAA;KAAE;;;;;;;;;;uBA0lE/C,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oCAEO,MAAM;mCA5MI,sBAAsB;oCAgN1B,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAe/C"}
1
+ {"version":3,"file":"heartbeat.d.ts","sourceRoot":"","sources":["../../src/services/heartbeat.ts"],"names":[],"mappings":"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"}