@vm0/cli 9.277.3 → 9.278.1

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 (195) hide show
  1. package/{agent-ZH5AKOA7.js → agent-4F3XAJWN.js} +12 -6
  2. package/agent-4F3XAJWN.js.map +1 -0
  3. package/{banking-BZ77LHW3.js → banking-CWQFQKZB.js} +61 -7
  4. package/banking-CWQFQKZB.js.map +1 -0
  5. package/{browser-AHNWLXVC.js → browser-BI6UFWPH.js} +4 -5
  6. package/browser-BI6UFWPH.js.map +1 -0
  7. package/{chat-RXYX7ONH.js → chat-MKIW4FPP.js} +24 -16
  8. package/chat-MKIW4FPP.js.map +1 -0
  9. package/chunk-2SJTFDC2.js +189 -0
  10. package/chunk-2SJTFDC2.js.map +1 -0
  11. package/chunk-4FTIKZKP.js +64 -0
  12. package/chunk-4FTIKZKP.js.map +1 -0
  13. package/chunk-7UZXNER2.js +568 -0
  14. package/chunk-7UZXNER2.js.map +1 -0
  15. package/chunk-A6ZRMNM3.js +102 -0
  16. package/chunk-A6ZRMNM3.js.map +1 -0
  17. package/{chunk-CNKLF32K.js → chunk-C62A6LD6.js} +2 -2
  18. package/chunk-CCTF3YVW.js +52 -0
  19. package/chunk-CCTF3YVW.js.map +1 -0
  20. package/chunk-CD2BLKGC.js +188 -0
  21. package/chunk-CD2BLKGC.js.map +1 -0
  22. package/chunk-CEJGHPF3.js +55 -0
  23. package/chunk-CEJGHPF3.js.map +1 -0
  24. package/chunk-DUA6CF7E.js +2053 -0
  25. package/chunk-DUA6CF7E.js.map +1 -0
  26. package/chunk-E2TQAKNL.js +1300 -0
  27. package/chunk-E2TQAKNL.js.map +1 -0
  28. package/{chunk-W3Z5TMVI.js → chunk-GHKWW4NC.js} +6 -6
  29. package/chunk-GHKWW4NC.js.map +1 -0
  30. package/chunk-GV3PG6CZ.js +114 -0
  31. package/chunk-GV3PG6CZ.js.map +1 -0
  32. package/chunk-GY7D76EZ.js +81 -0
  33. package/chunk-GY7D76EZ.js.map +1 -0
  34. package/chunk-HHHHZMTA.js +434 -0
  35. package/chunk-HHHHZMTA.js.map +1 -0
  36. package/chunk-HZYOJTEE.js +1275 -0
  37. package/chunk-HZYOJTEE.js.map +1 -0
  38. package/chunk-J3ZRXVI6.js +740 -0
  39. package/chunk-J3ZRXVI6.js.map +1 -0
  40. package/chunk-JJWFO27K.js +31 -0
  41. package/chunk-JJWFO27K.js.map +1 -0
  42. package/chunk-JV6LM2YC.js +39 -0
  43. package/chunk-JV6LM2YC.js.map +1 -0
  44. package/chunk-KER77KJB.js +105 -0
  45. package/chunk-KER77KJB.js.map +1 -0
  46. package/{chunk-FWACFGXV.js → chunk-KKO2XGLQ.js} +1 -7
  47. package/chunk-KKO2XGLQ.js.map +1 -0
  48. package/chunk-LIYPTQAO.js +198 -0
  49. package/chunk-LIYPTQAO.js.map +1 -0
  50. package/chunk-LYLDVUHT.js +131 -0
  51. package/chunk-LYLDVUHT.js.map +1 -0
  52. package/chunk-PFWBO2VK.js +801 -0
  53. package/chunk-PFWBO2VK.js.map +1 -0
  54. package/chunk-RTCRU35A.js +194 -0
  55. package/chunk-RTCRU35A.js.map +1 -0
  56. package/{chunk-AOL57FX7.js → chunk-RTEEWZUT.js} +2 -2
  57. package/{chunk-AOL57FX7.js.map → chunk-RTEEWZUT.js.map} +1 -1
  58. package/{chunk-JCXH3DJW.js → chunk-RUKMHBNQ.js} +2 -2
  59. package/chunk-SA4DYSBR.js +31 -0
  60. package/chunk-SA4DYSBR.js.map +1 -0
  61. package/chunk-SJPOFQJU.js +792 -0
  62. package/chunk-SJPOFQJU.js.map +1 -0
  63. package/{chunk-XUK2BILU.js → chunk-SMPSKBAP.js} +25 -774
  64. package/chunk-SMPSKBAP.js.map +1 -0
  65. package/{chunk-JBQRGOPE.js → chunk-T2X2EGV2.js} +4 -4
  66. package/chunk-T2X2EGV2.js.map +1 -0
  67. package/chunk-U2GQH6AD.js +309 -0
  68. package/chunk-U2GQH6AD.js.map +1 -0
  69. package/chunk-U6A2RPHO.js +66 -0
  70. package/chunk-U6A2RPHO.js.map +1 -0
  71. package/chunk-UIXUGVZB.js +362 -0
  72. package/chunk-UIXUGVZB.js.map +1 -0
  73. package/chunk-XRZKJACM.js +49 -0
  74. package/chunk-XRZKJACM.js.map +1 -0
  75. package/chunk-YDS3X7KB.js +202 -0
  76. package/chunk-YDS3X7KB.js.map +1 -0
  77. package/{chunk-DSILKRQ7.js → chunk-ZKNJW4K6.js} +1412 -334
  78. package/chunk-ZKNJW4K6.js.map +1 -0
  79. package/chunk-ZXSCBS77.js +90 -0
  80. package/chunk-ZXSCBS77.js.map +1 -0
  81. package/{computer-use-MSFO3WPF.js → computer-use-6AEVW47F.js} +9 -7
  82. package/computer-use-6AEVW47F.js.map +1 -0
  83. package/{connector-IIVOX2PE.js → connector-XDQ6JEBU.js} +25 -13
  84. package/connector-XDQ6JEBU.js.map +1 -0
  85. package/{credit-QEW5A5HI.js → credit-JPQA5XPA.js} +8 -10
  86. package/credit-JPQA5XPA.js.map +1 -0
  87. package/{developer-support-YMAFVROQ.js → developer-support-V7NZOU2P.js} +27 -7
  88. package/developer-support-V7NZOU2P.js.map +1 -0
  89. package/{doctor-UCXIPG3N.js → doctor-FJO24TG3.js} +13 -11
  90. package/doctor-FJO24TG3.js.map +1 -0
  91. package/{feishu-C6RFK23B.js → feishu-PNOAM33Q.js} +99 -9
  92. package/feishu-PNOAM33Q.js.map +1 -0
  93. package/{finance-FWHZZDHV.js → finance-55OJ6GYP.js} +49 -9
  94. package/finance-55OJ6GYP.js.map +1 -0
  95. package/{generate-ZPHZEKPA.js → generate-XUKBK523.js} +26 -21
  96. package/generate-XUKBK523.js.map +1 -0
  97. package/{github-HN4GNXAK.js → github-V4MD2PMM.js} +83 -8
  98. package/github-V4MD2PMM.js.map +1 -0
  99. package/{goal-PMOUUCFA.js → goal-FS5FJKVU.js} +69 -13
  100. package/goal-FS5FJKVU.js.map +1 -0
  101. package/{host-MJHIXUAY.js → host-GITTJ6PR.js} +124 -10
  102. package/host-GITTJ6PR.js.map +1 -0
  103. package/{logs-YDYLNB7C.js → logs-EEUIGYUD.js} +51 -11
  104. package/logs-EEUIGYUD.js.map +1 -0
  105. package/{mail-4QK3SBSA.js → mail-G4SAJSBD.js} +39 -8
  106. package/mail-G4SAJSBD.js.map +1 -0
  107. package/{maps-5KEDKI5K.js → maps-7ANNU3BX.js} +65 -11
  108. package/maps-7ANNU3BX.js.map +1 -0
  109. package/{model-6A47KM5J.js → model-DSPDCJLB.js} +6 -6
  110. package/model-DSPDCJLB.js.map +1 -0
  111. package/{model-provider-WII3JIC2.js → model-provider-RZQ45PNG.js} +6 -6
  112. package/model-provider-RZQ45PNG.js.map +1 -0
  113. package/package.json +1 -1
  114. package/{people-search-32IRBQ6M.js → people-search-I7PUMF5M.js} +22 -6
  115. package/people-search-I7PUMF5M.js.map +1 -0
  116. package/{phone-CZZVZNG3.js → phone-SSAPGMTW.js} +90 -9
  117. package/phone-SSAPGMTW.js.map +1 -0
  118. package/{recognize-T2SL5TXQ.js → recognize-D7VORZBN.js} +27 -9
  119. package/recognize-D7VORZBN.js.map +1 -0
  120. package/{resource-ULP6MJD5.js → resource-76IV3TMW.js} +21 -7
  121. package/resource-76IV3TMW.js.map +1 -0
  122. package/{scrape-4NAMXDHI.js → scrape-JBDLNTLB.js} +22 -6
  123. package/scrape-JBDLNTLB.js.map +1 -0
  124. package/{search-6R4Y3ME2.js → search-UNZNUTZX.js} +29 -9
  125. package/search-UNZNUTZX.js.map +1 -0
  126. package/{slack-Y47DQGAJ.js → slack-AAH6GG2W.js} +103 -11
  127. package/slack-AAH6GG2W.js.map +1 -0
  128. package/{teams-TOHTW3CG.js → teams-6OPXE4TX.js} +90 -9
  129. package/teams-6OPXE4TX.js.map +1 -0
  130. package/{telegram-PUREW6O3.js → telegram-RRZG73RT.js} +101 -10
  131. package/telegram-RRZG73RT.js.map +1 -0
  132. package/{upgrade-7XZEYRDY.js → upgrade-I5IL4UQL.js} +3 -4
  133. package/upgrade-I5IL4UQL.js.map +1 -0
  134. package/{video-IGMHZRYE.js → video-HV44W4X7.js} +5 -4
  135. package/video-HV44W4X7.js.map +1 -0
  136. package/{weather-K6ETWEZZ.js → weather-EQ7CSADB.js} +70 -16
  137. package/weather-EQ7CSADB.js.map +1 -0
  138. package/{web-C4FWCJ2V.js → web-6LIMWEOZ.js} +5 -5
  139. package/web-6LIMWEOZ.js.map +1 -0
  140. package/{web-search-UD6ODWOQ.js → web-search-AT7WONZN.js} +22 -6
  141. package/web-search-AT7WONZN.js.map +1 -0
  142. package/{whoami-2GTNF4PK.js → whoami-RKTLLSI4.js} +16 -7
  143. package/whoami-RKTLLSI4.js.map +1 -0
  144. package/{workflow-QFTHJK6H.js → workflow-ZH32P622.js} +135 -39
  145. package/workflow-ZH32P622.js.map +1 -0
  146. package/zero.js +40 -40
  147. package/agent-ZH5AKOA7.js.map +0 -1
  148. package/banking-BZ77LHW3.js.map +0 -1
  149. package/browser-AHNWLXVC.js.map +0 -1
  150. package/chat-RXYX7ONH.js.map +0 -1
  151. package/chunk-2W73DZDW.js +0 -32
  152. package/chunk-2W73DZDW.js.map +0 -1
  153. package/chunk-ANOLYIPL.js +0 -10
  154. package/chunk-ANOLYIPL.js.map +0 -1
  155. package/chunk-DSILKRQ7.js.map +0 -1
  156. package/chunk-FWACFGXV.js.map +0 -1
  157. package/chunk-HOKSKXDR.js +0 -11405
  158. package/chunk-HOKSKXDR.js.map +0 -1
  159. package/chunk-JBQRGOPE.js.map +0 -1
  160. package/chunk-W3Z5TMVI.js.map +0 -1
  161. package/chunk-XUK2BILU.js.map +0 -1
  162. package/computer-use-MSFO3WPF.js.map +0 -1
  163. package/connector-IIVOX2PE.js.map +0 -1
  164. package/credit-QEW5A5HI.js.map +0 -1
  165. package/developer-support-YMAFVROQ.js.map +0 -1
  166. package/doctor-UCXIPG3N.js.map +0 -1
  167. package/feishu-C6RFK23B.js.map +0 -1
  168. package/finance-FWHZZDHV.js.map +0 -1
  169. package/generate-ZPHZEKPA.js.map +0 -1
  170. package/github-HN4GNXAK.js.map +0 -1
  171. package/goal-PMOUUCFA.js.map +0 -1
  172. package/host-MJHIXUAY.js.map +0 -1
  173. package/logs-YDYLNB7C.js.map +0 -1
  174. package/mail-4QK3SBSA.js.map +0 -1
  175. package/maps-5KEDKI5K.js.map +0 -1
  176. package/model-6A47KM5J.js.map +0 -1
  177. package/model-provider-WII3JIC2.js.map +0 -1
  178. package/people-search-32IRBQ6M.js.map +0 -1
  179. package/phone-CZZVZNG3.js.map +0 -1
  180. package/recognize-T2SL5TXQ.js.map +0 -1
  181. package/resource-ULP6MJD5.js.map +0 -1
  182. package/scrape-4NAMXDHI.js.map +0 -1
  183. package/search-6R4Y3ME2.js.map +0 -1
  184. package/slack-Y47DQGAJ.js.map +0 -1
  185. package/teams-TOHTW3CG.js.map +0 -1
  186. package/telegram-PUREW6O3.js.map +0 -1
  187. package/upgrade-7XZEYRDY.js.map +0 -1
  188. package/video-IGMHZRYE.js.map +0 -1
  189. package/weather-K6ETWEZZ.js.map +0 -1
  190. package/web-C4FWCJ2V.js.map +0 -1
  191. package/web-search-UD6ODWOQ.js.map +0 -1
  192. package/whoami-2GTNF4PK.js.map +0 -1
  193. package/workflow-QFTHJK6H.js.map +0 -1
  194. /package/{chunk-CNKLF32K.js.map → chunk-C62A6LD6.js.map} +0 -0
  195. /package/{chunk-JCXH3DJW.js.map → chunk-RUKMHBNQ.js.map} +0 -0
@@ -0,0 +1,801 @@
1
+ #!/usr/bin/env node
2
+ import { createRequire as __createRequire } from "node:module";
3
+ const require = __createRequire(import.meta.url);
4
+ import {
5
+ authHeadersSchema
6
+ } from "./chunk-JV6LM2YC.js";
7
+ import {
8
+ apiErrorSchema,
9
+ external_exports,
10
+ initContract
11
+ } from "./chunk-GHKWW4NC.js";
12
+ import {
13
+ init_esm_shims
14
+ } from "./chunk-AUWSMG4F.js";
15
+
16
+ // ../../packages/api-contracts/src/contracts/integrations.ts
17
+ init_esm_shims();
18
+ var c = initContract();
19
+ var directUploadCapabilityShape = {
20
+ supportsUploadHeaders: external_exports.literal(true).optional()
21
+ };
22
+ var directUploadResponseShape = {
23
+ uploadHeaders: external_exports.record(external_exports.string(), external_exports.string()).optional()
24
+ };
25
+ var sendSlackMessageBodySchema = external_exports.object({
26
+ channel: external_exports.string().min(1, "Channel ID is required").optional(),
27
+ user: external_exports.string().min(1, "User ID is required").optional(),
28
+ text: external_exports.string().optional(),
29
+ threadTs: external_exports.string().optional(),
30
+ blocks: external_exports.array(external_exports.object({ type: external_exports.string() }).passthrough()).optional()
31
+ }).refine(
32
+ (data) => {
33
+ return Boolean(data.channel) !== Boolean(data.user);
34
+ },
35
+ { message: "Exactly one of 'channel' or 'user' must be provided" }
36
+ );
37
+ var sendSlackMessageResponseSchema = external_exports.object({
38
+ ok: external_exports.literal(true),
39
+ ts: external_exports.string().optional(),
40
+ channel: external_exports.string().optional()
41
+ });
42
+ var integrationsSlackMessageContract = c.router({
43
+ sendMessage: {
44
+ method: "POST",
45
+ path: "/api/zero/integrations/slack/message",
46
+ headers: authHeadersSchema,
47
+ body: sendSlackMessageBodySchema,
48
+ responses: {
49
+ 200: sendSlackMessageResponseSchema,
50
+ 400: apiErrorSchema,
51
+ 401: apiErrorSchema,
52
+ 403: apiErrorSchema,
53
+ 404: apiErrorSchema
54
+ },
55
+ summary: "Send a Slack message via org bot token"
56
+ }
57
+ });
58
+ var feishuCardSchema = external_exports.record(external_exports.string(), external_exports.unknown());
59
+ var sendFeishuMessageBodySchema = external_exports.object({
60
+ installationId: external_exports.string().uuid().optional(),
61
+ chat: external_exports.string().min(1, "Chat ID is required").optional(),
62
+ user: external_exports.string().min(1, "Feishu open ID is required").optional(),
63
+ replyToMessageId: external_exports.string().min(1, "Message ID is required").optional(),
64
+ replyInThread: external_exports.boolean().optional(),
65
+ text: external_exports.string().min(1, "Message text is required").optional(),
66
+ card: feishuCardSchema.optional()
67
+ }).refine(
68
+ (body) => {
69
+ return [body.chat, body.user, body.replyToMessageId].filter(Boolean).length === 1;
70
+ },
71
+ {
72
+ message: "Exactly one of chat, user, or replyToMessageId is required",
73
+ path: ["chat"]
74
+ }
75
+ ).refine(
76
+ (body) => {
77
+ return Boolean(body.text) !== Boolean(body.card);
78
+ },
79
+ {
80
+ message: "Exactly one of text or card is required",
81
+ path: ["text"]
82
+ }
83
+ ).refine(
84
+ (body) => {
85
+ return !body.replyInThread || Boolean(body.replyToMessageId);
86
+ },
87
+ {
88
+ message: "replyInThread requires replyToMessageId",
89
+ path: ["replyInThread"]
90
+ }
91
+ );
92
+ var sendFeishuMessageResponseSchema = external_exports.object({
93
+ ok: external_exports.literal(true),
94
+ messageId: external_exports.string(),
95
+ chatId: external_exports.string().nullable()
96
+ });
97
+ var integrationsFeishuMessageContract = c.router({
98
+ sendMessage: {
99
+ method: "POST",
100
+ path: "/api/zero/integrations/feishu/message",
101
+ headers: authHeadersSchema,
102
+ body: sendFeishuMessageBodySchema,
103
+ responses: {
104
+ 200: sendFeishuMessageResponseSchema,
105
+ 400: apiErrorSchema,
106
+ 401: apiErrorSchema,
107
+ 403: apiErrorSchema,
108
+ 404: apiErrorSchema,
109
+ 502: apiErrorSchema
110
+ },
111
+ summary: "Send a Feishu message via an organization custom app"
112
+ }
113
+ });
114
+ var FEISHU_FILE_UPLOAD_MAX_BYTES = 30 * 1024 * 1024;
115
+ var feishuResourceTypeSchema = external_exports.enum(["file", "image"]);
116
+ var integrationsFeishuDownloadFileContract = c.router({
117
+ download: {
118
+ method: "GET",
119
+ path: "/api/zero/integrations/feishu/download-file",
120
+ headers: authHeadersSchema,
121
+ query: external_exports.object({
122
+ installation_id: external_exports.string().uuid().optional(),
123
+ message_id: external_exports.string().min(1, "Message ID is required"),
124
+ file_key: external_exports.string().min(1, "File key is required"),
125
+ type: feishuResourceTypeSchema
126
+ }),
127
+ responses: {
128
+ 200: c.otherResponse({
129
+ contentType: "application/octet-stream",
130
+ body: external_exports.unknown()
131
+ }),
132
+ 400: apiErrorSchema,
133
+ 401: apiErrorSchema,
134
+ 403: apiErrorSchema,
135
+ 404: apiErrorSchema,
136
+ 413: apiErrorSchema,
137
+ 502: apiErrorSchema
138
+ },
139
+ summary: "Download a file from a Feishu message"
140
+ }
141
+ });
142
+ var feishuUploadInitBodySchema = external_exports.object({
143
+ filename: external_exports.string().min(1, "Filename is required").max(255),
144
+ contentType: external_exports.string().min(1, "Content type is required").max(200),
145
+ length: external_exports.number().int().positive("File length must be a positive integer").max(
146
+ FEISHU_FILE_UPLOAD_MAX_BYTES,
147
+ `File must not exceed ${FEISHU_FILE_UPLOAD_MAX_BYTES} bytes`
148
+ ),
149
+ ...directUploadCapabilityShape
150
+ });
151
+ var feishuUploadInitResponseSchema = external_exports.object({
152
+ uploadId: external_exports.string().uuid(),
153
+ uploadUrl: external_exports.string(),
154
+ fileUrl: external_exports.string(),
155
+ filename: external_exports.string(),
156
+ contentType: external_exports.string(),
157
+ size: external_exports.number().int().nonnegative(),
158
+ ...directUploadResponseShape
159
+ });
160
+ var integrationsFeishuUploadInitContract = c.router({
161
+ init: {
162
+ method: "POST",
163
+ path: "/api/zero/integrations/feishu/upload-file/init",
164
+ headers: authHeadersSchema,
165
+ body: feishuUploadInitBodySchema,
166
+ responses: {
167
+ 200: feishuUploadInitResponseSchema,
168
+ 400: apiErrorSchema,
169
+ 401: apiErrorSchema,
170
+ 403: apiErrorSchema
171
+ },
172
+ summary: "Get a pre-signed upload URL for Feishu file delivery"
173
+ }
174
+ });
175
+ var feishuUploadCompleteBodySchema = external_exports.object({
176
+ uploadId: external_exports.string().uuid("Upload ID must be a UUID"),
177
+ installationId: external_exports.string().uuid().optional(),
178
+ chat: external_exports.string().min(1, "Chat ID is required").optional(),
179
+ user: external_exports.string().min(1, "Feishu open ID is required").optional(),
180
+ replyToMessageId: external_exports.string().min(1, "Message ID is required").optional(),
181
+ replyInThread: external_exports.boolean().optional(),
182
+ contentType: external_exports.string().min(1).max(200).optional()
183
+ }).refine(
184
+ (body) => {
185
+ return [body.chat, body.user, body.replyToMessageId].filter(Boolean).length === 1;
186
+ },
187
+ {
188
+ message: "Exactly one of chat, user, or replyToMessageId is required",
189
+ path: ["chat"]
190
+ }
191
+ ).refine(
192
+ (body) => {
193
+ return !body.replyInThread || Boolean(body.replyToMessageId);
194
+ },
195
+ {
196
+ message: "replyInThread requires replyToMessageId",
197
+ path: ["replyInThread"]
198
+ }
199
+ );
200
+ var feishuUploadCompleteResponseSchema = external_exports.object({
201
+ messageId: external_exports.string(),
202
+ chatId: external_exports.string().nullable(),
203
+ fileKey: external_exports.string(),
204
+ filename: external_exports.string(),
205
+ mimetype: external_exports.string(),
206
+ size: external_exports.number().int().nonnegative(),
207
+ url: external_exports.string()
208
+ });
209
+ var integrationsFeishuUploadCompleteContract = c.router({
210
+ complete: {
211
+ method: "POST",
212
+ path: "/api/zero/integrations/feishu/upload-file/complete",
213
+ headers: authHeadersSchema,
214
+ body: feishuUploadCompleteBodySchema,
215
+ responses: {
216
+ 200: feishuUploadCompleteResponseSchema,
217
+ 400: apiErrorSchema,
218
+ 401: apiErrorSchema,
219
+ 403: apiErrorSchema,
220
+ 404: apiErrorSchema,
221
+ 413: apiErrorSchema,
222
+ 502: apiErrorSchema
223
+ },
224
+ summary: "Finalize Feishu file upload and send it to a conversation"
225
+ }
226
+ });
227
+ var sendTelegramMessageBodySchema = external_exports.object({
228
+ botId: external_exports.string().min(1, "Bot ID is required"),
229
+ chatId: external_exports.string().min(1, "Chat ID is required"),
230
+ text: external_exports.string().min(1, "Message text is required"),
231
+ replyToMessageId: external_exports.number().int().positive().optional(),
232
+ messageThreadId: external_exports.number().int().positive().optional()
233
+ });
234
+ var sendTelegramMessageResponseSchema = external_exports.object({
235
+ ok: external_exports.literal(true),
236
+ messageId: external_exports.number().int(),
237
+ chatId: external_exports.string()
238
+ });
239
+ var integrationsTelegramMessageContract = c.router({
240
+ sendMessage: {
241
+ method: "POST",
242
+ path: "/api/zero/integrations/telegram/message",
243
+ headers: authHeadersSchema,
244
+ body: sendTelegramMessageBodySchema,
245
+ responses: {
246
+ 200: sendTelegramMessageResponseSchema,
247
+ 400: apiErrorSchema,
248
+ 401: apiErrorSchema,
249
+ 403: apiErrorSchema,
250
+ 404: apiErrorSchema,
251
+ 502: apiErrorSchema
252
+ },
253
+ summary: "Send a Telegram message via org bot token"
254
+ }
255
+ });
256
+ var teamsAdaptiveCardSchema = external_exports.object({
257
+ type: external_exports.literal("AdaptiveCard"),
258
+ version: external_exports.string().min(1),
259
+ body: external_exports.array(external_exports.record(external_exports.string(), external_exports.unknown())).optional(),
260
+ actions: external_exports.array(external_exports.record(external_exports.string(), external_exports.unknown())).optional()
261
+ }).passthrough();
262
+ var sendTeamsMessageBodySchema = external_exports.object({
263
+ conversationId: external_exports.string().min(1, "Conversation ID is required").optional(),
264
+ user: external_exports.string().min(1, "Teams user ID is required").optional(),
265
+ text: external_exports.string().min(1, "Message text is required").optional(),
266
+ activityId: external_exports.string().min(1, "Activity ID is required").optional(),
267
+ card: teamsAdaptiveCardSchema.optional()
268
+ }).refine(
269
+ (body) => {
270
+ return Boolean(body.conversationId) !== Boolean(body.user);
271
+ },
272
+ {
273
+ message: "Exactly one of conversationId or user is required",
274
+ path: ["conversationId"]
275
+ }
276
+ ).refine(
277
+ (body) => {
278
+ return Boolean(body.text) || Boolean(body.card);
279
+ },
280
+ {
281
+ message: "Message text or card is required",
282
+ path: ["text"]
283
+ }
284
+ ).refine(
285
+ (body) => {
286
+ return !(body.user && body.activityId);
287
+ },
288
+ {
289
+ message: "activityId can only be used with conversationId",
290
+ path: ["activityId"]
291
+ }
292
+ );
293
+ var sendTeamsMessageResponseSchema = external_exports.object({
294
+ ok: external_exports.literal(true),
295
+ activityId: external_exports.string().optional(),
296
+ conversationId: external_exports.string()
297
+ });
298
+ var integrationsTeamsMessageContract = c.router({
299
+ sendMessage: {
300
+ method: "POST",
301
+ path: "/api/zero/integrations/teams/message",
302
+ headers: authHeadersSchema,
303
+ body: sendTeamsMessageBodySchema,
304
+ responses: {
305
+ 200: sendTeamsMessageResponseSchema,
306
+ 400: apiErrorSchema,
307
+ 401: apiErrorSchema,
308
+ 403: apiErrorSchema,
309
+ 404: apiErrorSchema,
310
+ 502: apiErrorSchema
311
+ },
312
+ summary: "Send a Microsoft Teams message via org bot"
313
+ }
314
+ });
315
+ var sendPhoneMessageBodySchema = external_exports.object({
316
+ agentphoneAgentId: external_exports.string().min(1, "AgentPhone agent ID is required").optional(),
317
+ toNumber: external_exports.string().min(1, "Phone number is required"),
318
+ text: external_exports.string().min(1, "Message text is required")
319
+ });
320
+ var sendPhoneMessageResponseSchema = external_exports.object({
321
+ ok: external_exports.literal(true),
322
+ messageId: external_exports.string(),
323
+ channel: external_exports.string().nullable(),
324
+ toNumber: external_exports.string()
325
+ });
326
+ var integrationsPhoneMessageContract = c.router({
327
+ sendMessage: {
328
+ method: "POST",
329
+ path: "/api/zero/integrations/phone/message",
330
+ headers: authHeadersSchema,
331
+ body: sendPhoneMessageBodySchema,
332
+ responses: {
333
+ 200: sendPhoneMessageResponseSchema,
334
+ 400: apiErrorSchema,
335
+ 401: apiErrorSchema,
336
+ 403: apiErrorSchema,
337
+ 404: apiErrorSchema,
338
+ 502: apiErrorSchema
339
+ },
340
+ summary: "Send an AgentPhone message"
341
+ }
342
+ });
343
+ var phoneDownloadFileQuerySchema = external_exports.object({
344
+ file_id: external_exports.string().min(1, "file_id query parameter is required")
345
+ });
346
+ var integrationsPhoneDownloadFileContract = c.router({
347
+ download: {
348
+ method: "GET",
349
+ path: "/api/zero/integrations/phone/download-file",
350
+ headers: authHeadersSchema,
351
+ query: phoneDownloadFileQuerySchema,
352
+ responses: {
353
+ 200: c.type(),
354
+ 400: apiErrorSchema,
355
+ 401: apiErrorSchema,
356
+ 403: apiErrorSchema,
357
+ 404: apiErrorSchema,
358
+ 413: apiErrorSchema,
359
+ 502: apiErrorSchema
360
+ },
361
+ summary: "Download an AgentPhone media attachment"
362
+ }
363
+ });
364
+ var telegramBotTokenStatusSchema = external_exports.enum(["valid", "invalid", "unknown"]);
365
+ var telegramConnectedUserSchema = external_exports.object({
366
+ telegramUserId: external_exports.string(),
367
+ telegramUsername: external_exports.string().nullable(),
368
+ telegramDisplayName: external_exports.string().nullable()
369
+ });
370
+ var telegramBotListItemSchema = external_exports.object({
371
+ id: external_exports.string(),
372
+ kind: external_exports.enum(["custom", "official"]).optional(),
373
+ username: external_exports.string().nullable(),
374
+ agent: external_exports.object({ id: external_exports.string(), name: external_exports.string() }).nullable(),
375
+ isOwner: external_exports.boolean(),
376
+ isConnected: external_exports.boolean(),
377
+ connectedUser: telegramConnectedUserSchema.nullable().optional(),
378
+ tokenStatus: telegramBotTokenStatusSchema,
379
+ official: external_exports.object({
380
+ configured: external_exports.boolean(),
381
+ usesDefaultAgent: external_exports.boolean(),
382
+ linkedTelegramUserId: external_exports.string().nullable()
383
+ }).optional()
384
+ });
385
+ var listTelegramBotsResponseSchema = external_exports.object({
386
+ bots: external_exports.array(telegramBotListItemSchema)
387
+ });
388
+ var integrationsTelegramBotListContract = c.router({
389
+ listBots: {
390
+ method: "GET",
391
+ path: "/api/zero/integrations/telegram/bots",
392
+ headers: authHeadersSchema,
393
+ responses: {
394
+ 200: listTelegramBotsResponseSchema,
395
+ 401: apiErrorSchema,
396
+ 403: apiErrorSchema
397
+ },
398
+ summary: "List Telegram bots available in the authenticated user's org"
399
+ }
400
+ });
401
+ var slackUploadInitBodySchema = external_exports.object({
402
+ filename: external_exports.string().min(1, "Filename is required"),
403
+ length: external_exports.number().int().positive("File length must be a positive integer"),
404
+ ...directUploadCapabilityShape,
405
+ canonical: external_exports.object({
406
+ operationId: external_exports.string().uuid(),
407
+ contentType: external_exports.string().min(1).max(200),
408
+ checksumSha256: external_exports.string().regex(/^[a-f0-9]{64}$/),
409
+ channel: external_exports.string().min(1, "Channel ID is required"),
410
+ threadTs: external_exports.string().optional(),
411
+ title: external_exports.string().optional(),
412
+ initialComment: external_exports.string().optional()
413
+ }).optional()
414
+ });
415
+ var directSlackUploadInitResponseSchema = external_exports.object({
416
+ uploadUrl: external_exports.string(),
417
+ fileId: external_exports.string()
418
+ });
419
+ var canonicalSlackUploadInitResponseSchema = external_exports.object({
420
+ kind: external_exports.literal("canonical"),
421
+ assetId: external_exports.string().uuid(),
422
+ operationId: external_exports.string().uuid(),
423
+ uploadUrl: external_exports.string().url().optional(),
424
+ url: external_exports.string().url(),
425
+ ...directUploadResponseShape
426
+ });
427
+ var slackUploadInitResponseSchema = external_exports.union([
428
+ directSlackUploadInitResponseSchema,
429
+ canonicalSlackUploadInitResponseSchema
430
+ ]);
431
+ var integrationsSlackUploadInitContract = c.router({
432
+ init: {
433
+ method: "POST",
434
+ path: "/api/zero/integrations/slack/upload-file/init",
435
+ headers: authHeadersSchema,
436
+ body: slackUploadInitBodySchema,
437
+ responses: {
438
+ 200: slackUploadInitResponseSchema,
439
+ 400: apiErrorSchema,
440
+ 401: apiErrorSchema,
441
+ 403: apiErrorSchema,
442
+ 404: apiErrorSchema
443
+ },
444
+ summary: "Get a pre-signed Slack upload URL via org bot token"
445
+ }
446
+ });
447
+ var slackUploadMaterializeBodySchema = external_exports.object({
448
+ assetId: external_exports.string().uuid(),
449
+ operationId: external_exports.string().uuid()
450
+ });
451
+ var slackUploadMaterializeResponseSchema = external_exports.object({
452
+ assetId: external_exports.string().uuid(),
453
+ url: external_exports.string().url(),
454
+ delivery: external_exports.discriminatedUnion("status", [
455
+ external_exports.object({
456
+ status: external_exports.literal("pending"),
457
+ uploadUrl: external_exports.string(),
458
+ fileId: external_exports.string()
459
+ }),
460
+ external_exports.object({
461
+ status: external_exports.literal("delivered"),
462
+ fileId: external_exports.string(),
463
+ permalink: external_exports.string()
464
+ }),
465
+ external_exports.object({
466
+ status: external_exports.literal("failed"),
467
+ message: external_exports.string(),
468
+ retryable: external_exports.boolean()
469
+ })
470
+ ])
471
+ });
472
+ var integrationsSlackUploadMaterializeContract = c.router({
473
+ materialize: {
474
+ method: "POST",
475
+ path: "/api/zero/integrations/slack/upload-file/materialize",
476
+ headers: authHeadersSchema,
477
+ body: slackUploadMaterializeBodySchema,
478
+ responses: {
479
+ 200: slackUploadMaterializeResponseSchema,
480
+ 400: apiErrorSchema,
481
+ 401: apiErrorSchema,
482
+ 403: apiErrorSchema,
483
+ 404: apiErrorSchema
484
+ },
485
+ summary: "Materialize a canonical Slack publication before delivery"
486
+ }
487
+ });
488
+ var telegramUploadInitBodySchema = external_exports.object({
489
+ filename: external_exports.string().min(1, "Filename is required").max(255),
490
+ contentType: external_exports.string().min(1, "Content type is required").max(200),
491
+ length: external_exports.number().int().positive("File length must be a positive integer"),
492
+ ...directUploadCapabilityShape
493
+ });
494
+ var telegramUploadInitResponseSchema = external_exports.object({
495
+ uploadId: external_exports.string().uuid(),
496
+ uploadUrl: external_exports.string(),
497
+ fileUrl: external_exports.string(),
498
+ filename: external_exports.string(),
499
+ contentType: external_exports.string(),
500
+ size: external_exports.number().int().nonnegative(),
501
+ ...directUploadResponseShape
502
+ });
503
+ var integrationsTelegramUploadInitContract = c.router({
504
+ init: {
505
+ method: "POST",
506
+ path: "/api/zero/integrations/telegram/upload-file/init",
507
+ headers: authHeadersSchema,
508
+ body: telegramUploadInitBodySchema,
509
+ responses: {
510
+ 200: telegramUploadInitResponseSchema,
511
+ 400: apiErrorSchema,
512
+ 401: apiErrorSchema,
513
+ 403: apiErrorSchema
514
+ },
515
+ summary: "Get a pre-signed upload URL for Telegram file delivery"
516
+ }
517
+ });
518
+ var teamsUploadInitBodySchema = external_exports.object({
519
+ filename: external_exports.string().min(1, "Filename is required").max(255),
520
+ contentType: external_exports.string().min(1, "Content type is required").max(200),
521
+ length: external_exports.number().int().positive("File length must be a positive integer"),
522
+ ...directUploadCapabilityShape
523
+ });
524
+ var teamsUploadInitResponseSchema = external_exports.object({
525
+ uploadId: external_exports.string().uuid(),
526
+ uploadUrl: external_exports.string(),
527
+ fileUrl: external_exports.string(),
528
+ filename: external_exports.string(),
529
+ contentType: external_exports.string(),
530
+ size: external_exports.number().int().nonnegative(),
531
+ ...directUploadResponseShape
532
+ });
533
+ var integrationsTeamsUploadInitContract = c.router({
534
+ init: {
535
+ method: "POST",
536
+ path: "/api/zero/integrations/teams/upload-file/init",
537
+ headers: authHeadersSchema,
538
+ body: teamsUploadInitBodySchema,
539
+ responses: {
540
+ 200: teamsUploadInitResponseSchema,
541
+ 400: apiErrorSchema,
542
+ 401: apiErrorSchema,
543
+ 403: apiErrorSchema
544
+ },
545
+ summary: "Get a pre-signed upload URL for Microsoft Teams file delivery"
546
+ }
547
+ });
548
+ var telegramUploadCompleteBodySchema = external_exports.object({
549
+ uploadId: external_exports.string().uuid("Upload ID must be a UUID"),
550
+ botId: external_exports.string().min(1, "Bot ID is required"),
551
+ chatId: external_exports.string().min(1, "Chat ID is required"),
552
+ contentType: external_exports.string().min(1).max(200).optional(),
553
+ caption: external_exports.string().max(1024).optional(),
554
+ messageThreadId: external_exports.number().int().positive().optional()
555
+ });
556
+ var telegramUploadCompleteResponseSchema = external_exports.object({
557
+ messageId: external_exports.number().int(),
558
+ chatId: external_exports.string(),
559
+ fileId: external_exports.string().optional(),
560
+ filename: external_exports.string(),
561
+ mimetype: external_exports.string(),
562
+ size: external_exports.number().int().nonnegative(),
563
+ url: external_exports.string()
564
+ });
565
+ var integrationsTelegramUploadCompleteContract = c.router({
566
+ complete: {
567
+ method: "POST",
568
+ path: "/api/zero/integrations/telegram/upload-file/complete",
569
+ headers: authHeadersSchema,
570
+ body: telegramUploadCompleteBodySchema,
571
+ responses: {
572
+ 200: telegramUploadCompleteResponseSchema,
573
+ 400: apiErrorSchema,
574
+ 401: apiErrorSchema,
575
+ 403: apiErrorSchema,
576
+ 404: apiErrorSchema,
577
+ 502: apiErrorSchema
578
+ },
579
+ summary: "Finalize Telegram file upload and send it to a chat"
580
+ }
581
+ });
582
+ var teamsUploadCompleteBodySchema = external_exports.object({
583
+ uploadId: external_exports.string().uuid("Upload ID must be a UUID"),
584
+ conversationId: external_exports.string().min(1, "Conversation ID is required"),
585
+ activityId: external_exports.string().min(1, "Activity ID is required").optional(),
586
+ contentType: external_exports.string().min(1).max(200).optional(),
587
+ text: external_exports.string().max(4e3).optional()
588
+ });
589
+ var teamsUploadCompleteResponseSchema = external_exports.object({
590
+ activityId: external_exports.string().optional(),
591
+ conversationId: external_exports.string(),
592
+ filename: external_exports.string(),
593
+ mimetype: external_exports.string(),
594
+ size: external_exports.number().int().nonnegative(),
595
+ url: external_exports.string()
596
+ });
597
+ var integrationsTeamsUploadCompleteContract = c.router({
598
+ complete: {
599
+ method: "POST",
600
+ path: "/api/zero/integrations/teams/upload-file/complete",
601
+ headers: authHeadersSchema,
602
+ body: teamsUploadCompleteBodySchema,
603
+ responses: {
604
+ 200: teamsUploadCompleteResponseSchema,
605
+ 400: apiErrorSchema,
606
+ 401: apiErrorSchema,
607
+ 403: apiErrorSchema,
608
+ 404: apiErrorSchema,
609
+ 502: apiErrorSchema
610
+ },
611
+ summary: "Finalize Microsoft Teams file upload and send it to a conversation"
612
+ }
613
+ });
614
+ var githubUploadInitBodySchema = external_exports.object({
615
+ filename: external_exports.string().min(1, "Filename is required").max(255),
616
+ contentType: external_exports.string().min(1, "Content type is required").max(200),
617
+ length: external_exports.number().int().positive("File length must be a positive integer"),
618
+ ...directUploadCapabilityShape
619
+ });
620
+ var githubUploadInitResponseSchema = external_exports.object({
621
+ uploadId: external_exports.string().uuid(),
622
+ uploadUrl: external_exports.string(),
623
+ fileUrl: external_exports.string(),
624
+ filename: external_exports.string(),
625
+ contentType: external_exports.string(),
626
+ size: external_exports.number().int().nonnegative(),
627
+ ...directUploadResponseShape
628
+ });
629
+ var integrationsGithubUploadInitContract = c.router({
630
+ init: {
631
+ method: "POST",
632
+ path: "/api/zero/integrations/github/upload-file/init",
633
+ headers: authHeadersSchema,
634
+ body: githubUploadInitBodySchema,
635
+ responses: {
636
+ 200: githubUploadInitResponseSchema,
637
+ 400: apiErrorSchema,
638
+ 401: apiErrorSchema,
639
+ 403: apiErrorSchema,
640
+ 404: apiErrorSchema,
641
+ 500: apiErrorSchema,
642
+ 502: apiErrorSchema
643
+ },
644
+ summary: "Get a pre-signed upload URL for GitHub file delivery"
645
+ }
646
+ });
647
+ var githubUploadCompleteBodySchema = external_exports.object({
648
+ uploadId: external_exports.string().uuid("Upload ID must be a UUID"),
649
+ repo: external_exports.string().min(1, "Repository is required").regex(/^[^/\s]+\/[^/\s]+$/, "Repository must be owner/name"),
650
+ issueNumber: external_exports.number().int().positive("Issue or pull request number must be positive"),
651
+ contentType: external_exports.string().min(1).max(200).optional(),
652
+ caption: external_exports.string().max(65536).optional()
653
+ });
654
+ var githubUploadCompleteResponseSchema = external_exports.object({
655
+ commentId: external_exports.string(),
656
+ repo: external_exports.string(),
657
+ issueNumber: external_exports.number().int(),
658
+ filename: external_exports.string(),
659
+ mimetype: external_exports.string(),
660
+ size: external_exports.number().int().nonnegative(),
661
+ url: external_exports.string()
662
+ });
663
+ var integrationsGithubUploadCompleteContract = c.router({
664
+ complete: {
665
+ method: "POST",
666
+ path: "/api/zero/integrations/github/upload-file/complete",
667
+ headers: authHeadersSchema,
668
+ body: githubUploadCompleteBodySchema,
669
+ responses: {
670
+ 200: githubUploadCompleteResponseSchema,
671
+ 400: apiErrorSchema,
672
+ 401: apiErrorSchema,
673
+ 403: apiErrorSchema,
674
+ 404: apiErrorSchema,
675
+ 502: apiErrorSchema,
676
+ 500: apiErrorSchema
677
+ },
678
+ summary: "Finalize GitHub file upload and post it to an issue or PR"
679
+ }
680
+ });
681
+ var phoneUploadInitBodySchema = external_exports.object({
682
+ filename: external_exports.string().min(1, "Filename is required").max(255),
683
+ contentType: external_exports.string().min(1, "Content type is required").max(200),
684
+ length: external_exports.number().int().positive("File length must be a positive integer"),
685
+ ...directUploadCapabilityShape
686
+ });
687
+ var phoneUploadInitResponseSchema = external_exports.object({
688
+ uploadId: external_exports.string().uuid(),
689
+ uploadUrl: external_exports.string(),
690
+ fileUrl: external_exports.string(),
691
+ filename: external_exports.string(),
692
+ contentType: external_exports.string(),
693
+ size: external_exports.number().int().nonnegative(),
694
+ ...directUploadResponseShape
695
+ });
696
+ var integrationsPhoneUploadInitContract = c.router({
697
+ init: {
698
+ method: "POST",
699
+ path: "/api/zero/integrations/phone/upload-file/init",
700
+ headers: authHeadersSchema,
701
+ body: phoneUploadInitBodySchema,
702
+ responses: {
703
+ 200: phoneUploadInitResponseSchema,
704
+ 400: apiErrorSchema,
705
+ 401: apiErrorSchema,
706
+ 403: apiErrorSchema
707
+ },
708
+ summary: "Get a pre-signed upload URL for AgentPhone file delivery"
709
+ }
710
+ });
711
+ var phoneUploadCompleteBodySchema = external_exports.object({
712
+ uploadId: external_exports.string().uuid("Upload ID must be a UUID"),
713
+ agentphoneAgentId: external_exports.string().min(1, "AgentPhone agent ID is required").optional(),
714
+ toNumber: external_exports.string().min(1, "Phone number is required"),
715
+ contentType: external_exports.string().min(1).max(200).optional(),
716
+ caption: external_exports.string().max(1024).optional()
717
+ });
718
+ var phoneUploadCompleteResponseSchema = external_exports.object({
719
+ messageId: external_exports.string(),
720
+ channel: external_exports.string().nullable(),
721
+ toNumber: external_exports.string(),
722
+ filename: external_exports.string(),
723
+ mimetype: external_exports.string(),
724
+ size: external_exports.number().int().nonnegative(),
725
+ url: external_exports.string()
726
+ });
727
+ var integrationsPhoneUploadCompleteContract = c.router({
728
+ complete: {
729
+ method: "POST",
730
+ path: "/api/zero/integrations/phone/upload-file/complete",
731
+ headers: authHeadersSchema,
732
+ body: phoneUploadCompleteBodySchema,
733
+ responses: {
734
+ 200: phoneUploadCompleteResponseSchema,
735
+ 400: apiErrorSchema,
736
+ 401: apiErrorSchema,
737
+ 403: apiErrorSchema,
738
+ 404: apiErrorSchema,
739
+ 502: apiErrorSchema
740
+ },
741
+ summary: "Finalize AgentPhone file upload and send it to a phone handle"
742
+ }
743
+ });
744
+ var slackUploadCompleteBodySchema = external_exports.object({
745
+ fileId: external_exports.string().min(1, "File ID is required"),
746
+ channel: external_exports.string().min(1, "Channel ID is required"),
747
+ threadTs: external_exports.string().optional(),
748
+ title: external_exports.string().optional(),
749
+ initialComment: external_exports.string().optional(),
750
+ canonicalAssetId: external_exports.string().uuid().optional(),
751
+ operationId: external_exports.string().uuid().optional(),
752
+ uploadError: external_exports.string().max(2e3).optional()
753
+ });
754
+ var slackUploadCompleteResponseSchema = external_exports.object({
755
+ fileId: external_exports.string(),
756
+ permalink: external_exports.string(),
757
+ assetId: external_exports.string().uuid().optional(),
758
+ assetUrl: external_exports.string().url().optional(),
759
+ deliveryStatus: external_exports.enum(["delivered", "failed"]).optional(),
760
+ deliveryError: external_exports.string().optional()
761
+ });
762
+ var integrationsSlackUploadCompleteContract = c.router({
763
+ complete: {
764
+ method: "POST",
765
+ path: "/api/zero/integrations/slack/upload-file/complete",
766
+ headers: authHeadersSchema,
767
+ body: slackUploadCompleteBodySchema,
768
+ responses: {
769
+ 200: slackUploadCompleteResponseSchema,
770
+ 400: apiErrorSchema,
771
+ 401: apiErrorSchema,
772
+ 403: apiErrorSchema,
773
+ 404: apiErrorSchema
774
+ },
775
+ summary: "Finalize Slack file upload and share to channel"
776
+ }
777
+ });
778
+
779
+ export {
780
+ integrationsSlackMessageContract,
781
+ integrationsFeishuMessageContract,
782
+ FEISHU_FILE_UPLOAD_MAX_BYTES,
783
+ integrationsFeishuUploadInitContract,
784
+ integrationsFeishuUploadCompleteContract,
785
+ integrationsTelegramMessageContract,
786
+ integrationsTeamsMessageContract,
787
+ integrationsPhoneMessageContract,
788
+ integrationsTelegramBotListContract,
789
+ integrationsSlackUploadInitContract,
790
+ integrationsSlackUploadMaterializeContract,
791
+ integrationsTelegramUploadInitContract,
792
+ integrationsTeamsUploadInitContract,
793
+ integrationsTelegramUploadCompleteContract,
794
+ integrationsTeamsUploadCompleteContract,
795
+ integrationsGithubUploadInitContract,
796
+ integrationsGithubUploadCompleteContract,
797
+ integrationsPhoneUploadInitContract,
798
+ integrationsPhoneUploadCompleteContract,
799
+ integrationsSlackUploadCompleteContract
800
+ };
801
+ //# sourceMappingURL=chunk-PFWBO2VK.js.map