@ductape/sdk 0.0.4-v99 → 0.0.5

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 (295) hide show
  1. package/dist/agents/agent-context.d.ts +3 -1
  2. package/dist/agents/agent-context.js +19 -3
  3. package/dist/agents/agent-context.js.map +1 -1
  4. package/dist/agents/agents.service.js +9 -5
  5. package/dist/agents/agents.service.js.map +1 -1
  6. package/dist/agents/types/agents.types.d.ts +14 -1
  7. package/dist/agents/types/agents.types.js.map +1 -1
  8. package/dist/api/services/appApi.service.js +15 -6
  9. package/dist/api/services/appApi.service.js.map +1 -1
  10. package/dist/api/services/logsApi.service.d.ts +51 -0
  11. package/dist/api/services/logsApi.service.js +19 -2
  12. package/dist/api/services/logsApi.service.js.map +1 -1
  13. package/dist/api/services/processorApi.service.d.ts +568 -2
  14. package/dist/api/services/processorApi.service.js +412 -21
  15. package/dist/api/services/processorApi.service.js.map +1 -1
  16. package/dist/api/services/productsApi.service.d.ts +20 -0
  17. package/dist/api/services/productsApi.service.js +44 -15
  18. package/dist/api/services/productsApi.service.js.map +1 -1
  19. package/dist/api/services/secretsApi.service.js +0 -11
  20. package/dist/api/services/secretsApi.service.js.map +1 -1
  21. package/dist/api/services/webhooksApi.service.js +13 -6
  22. package/dist/api/services/webhooksApi.service.js.map +1 -1
  23. package/dist/api/services/workflowApi.service.js +30 -12
  24. package/dist/api/services/workflowApi.service.js.map +1 -1
  25. package/dist/api/urls.d.ts +26 -0
  26. package/dist/api/urls.js +30 -3
  27. package/dist/api/urls.js.map +1 -1
  28. package/dist/apps/validators/joi-validators/update.appAction.validator.js +12 -1
  29. package/dist/apps/validators/joi-validators/update.appAction.validator.js.map +1 -1
  30. package/dist/brokers/brokers.service.d.ts +140 -2
  31. package/dist/brokers/brokers.service.js +444 -36
  32. package/dist/brokers/brokers.service.js.map +1 -1
  33. package/dist/brokers/types/index.d.ts +251 -0
  34. package/dist/brokers/utils/providers/rabbitmq.service.d.ts +14 -4
  35. package/dist/brokers/utils/providers/rabbitmq.service.js +22 -35
  36. package/dist/brokers/utils/providers/rabbitmq.service.js.map +1 -1
  37. package/dist/cache/cache.manager.d.ts +84 -5
  38. package/dist/cache/cache.manager.js +478 -38
  39. package/dist/cache/cache.manager.js.map +1 -1
  40. package/dist/cache/cache.service.d.ts +5 -0
  41. package/dist/cache/cache.service.js +163 -6
  42. package/dist/cache/cache.service.js.map +1 -1
  43. package/dist/cache/index.d.ts +1 -1
  44. package/dist/cache/index.js +3 -1
  45. package/dist/cache/index.js.map +1 -1
  46. package/dist/cache/types/index.d.ts +4 -0
  47. package/dist/database/databases.service.d.ts +70 -2
  48. package/dist/database/databases.service.js +150 -35
  49. package/dist/database/databases.service.js.map +1 -1
  50. package/dist/database/types/dashboard.interface.d.ts +74 -0
  51. package/dist/database/types/dashboard.interface.js +7 -0
  52. package/dist/database/types/dashboard.interface.js.map +1 -0
  53. package/dist/database/types/index.d.ts +1 -0
  54. package/dist/graph/graphs.service.d.ts +50 -12
  55. package/dist/graph/graphs.service.js +689 -203
  56. package/dist/graph/graphs.service.js.map +1 -1
  57. package/dist/graph/types/connection.interface.d.ts +2 -2
  58. package/dist/index.d.ts +286 -4
  59. package/dist/index.js +370 -21
  60. package/dist/index.js.map +1 -1
  61. package/dist/logs/logs.types.d.ts +16 -3
  62. package/dist/logs/logs.types.js +11 -0
  63. package/dist/logs/logs.types.js.map +1 -1
  64. package/dist/notifications/notifications.service.d.ts +3 -0
  65. package/dist/notifications/notifications.service.js +57 -14
  66. package/dist/notifications/notifications.service.js.map +1 -1
  67. package/dist/notifications/types/notifications.types.d.ts +50 -0
  68. package/dist/processor/services/processor.service.d.ts +132 -8
  69. package/dist/processor/services/processor.service.js +1174 -267
  70. package/dist/processor/services/processor.service.js.map +1 -1
  71. package/dist/processor/utils/processor.utils.d.ts +5 -0
  72. package/dist/processor/utils/processor.utils.js +65 -12
  73. package/dist/processor/utils/processor.utils.js.map +1 -1
  74. package/dist/processor/utils/storage.util.js +11 -2
  75. package/dist/processor/utils/storage.util.js.map +1 -1
  76. package/dist/products/services/products.service.d.ts +19 -2
  77. package/dist/products/services/products.service.js +388 -54
  78. package/dist/products/services/products.service.js.map +1 -1
  79. package/dist/products/validators/joi-validators/create.productFeature.validator.js +1 -1
  80. package/dist/products/validators/joi-validators/create.productJob.validator.js +2 -2
  81. package/dist/products/validators/joi-validators/create.productJob.validator.js.map +1 -1
  82. package/dist/products/validators/joi-validators/create.productMessageBrokerTopic.validator.js +1 -0
  83. package/dist/products/validators/joi-validators/create.productMessageBrokerTopic.validator.js.map +1 -1
  84. package/dist/products/validators/joi-validators/create.productNotification.validator.js +23 -12
  85. package/dist/products/validators/joi-validators/create.productNotification.validator.js.map +1 -1
  86. package/dist/resilience/fallback.service.d.ts +1 -0
  87. package/dist/resilience/fallback.service.js +2 -0
  88. package/dist/resilience/fallback.service.js.map +1 -1
  89. package/dist/resilience/quota.service.d.ts +1 -0
  90. package/dist/resilience/quota.service.js +2 -0
  91. package/dist/resilience/quota.service.js.map +1 -1
  92. package/dist/secrets/secrets.resolver.js +4 -1
  93. package/dist/secrets/secrets.resolver.js.map +1 -1
  94. package/dist/secrets/secrets.service.js +0 -12
  95. package/dist/secrets/secrets.service.js.map +1 -1
  96. package/dist/secrets/secrets.types.d.ts +3 -3
  97. package/dist/secrets/secrets.types.js +5 -5
  98. package/dist/secrets/secrets.types.js.map +1 -1
  99. package/dist/sessions/index.d.ts +1 -1
  100. package/dist/sessions/index.js +4 -1
  101. package/dist/sessions/index.js.map +1 -1
  102. package/dist/sessions/sessions.helper.d.ts +23 -3
  103. package/dist/sessions/sessions.helper.js +20 -3
  104. package/dist/sessions/sessions.helper.js.map +1 -1
  105. package/dist/sessions/sessions.resolver.d.ts +31 -0
  106. package/dist/sessions/sessions.resolver.js +230 -1
  107. package/dist/sessions/sessions.resolver.js.map +1 -1
  108. package/dist/sessions/sessions.service.d.ts +18 -2
  109. package/dist/sessions/sessions.service.js +121 -57
  110. package/dist/sessions/sessions.service.js.map +1 -1
  111. package/dist/sessions/types/index.d.ts +65 -21
  112. package/dist/storage/storage.service.d.ts +3 -0
  113. package/dist/storage/storage.service.js +179 -39
  114. package/dist/storage/storage.service.js.map +1 -1
  115. package/dist/types/index.types.d.ts +2 -0
  116. package/dist/types/inputs.types.d.ts +1 -0
  117. package/dist/types/inputs.types.js +3 -2
  118. package/dist/types/inputs.types.js.map +1 -1
  119. package/dist/types/processor.types.d.ts +72 -6
  120. package/dist/types/processor.types.js.map +1 -1
  121. package/dist/types/productsBuilder.types.d.ts +10 -0
  122. package/dist/types/productsBuilder.types.js +4 -0
  123. package/dist/types/productsBuilder.types.js.map +1 -1
  124. package/dist/vector/adapters/weaviate.adapter.js +22 -6
  125. package/dist/vector/adapters/weaviate.adapter.js.map +1 -1
  126. package/dist/vector/vector-database.service.d.ts +4 -2
  127. package/dist/vector/vector-database.service.js +71 -29
  128. package/dist/vector/vector-database.service.js.map +1 -1
  129. package/dist/workflows/types/workflows.types.d.ts +61 -3
  130. package/dist/workflows/types/workflows.types.js.map +1 -1
  131. package/dist/workflows/workflow-builder.js +17 -2
  132. package/dist/workflows/workflow-builder.js.map +1 -1
  133. package/dist/workflows/workflow-executor.d.ts +97 -18
  134. package/dist/workflows/workflow-executor.js +1449 -244
  135. package/dist/workflows/workflow-executor.js.map +1 -1
  136. package/dist/workflows/workflows.service.d.ts +2 -0
  137. package/dist/workflows/workflows.service.js +538 -74
  138. package/dist/workflows/workflows.service.js.map +1 -1
  139. package/package.json +11 -1
  140. package/dist/processor/services/fallback.service.d.ts +0 -5
  141. package/dist/processor/services/fallback.service.js +0 -43
  142. package/dist/processor/services/fallback.service.js.map +0 -1
  143. package/dist/processor/services/messagebrokers/aws-sqs.service.d.ts +0 -15
  144. package/dist/processor/services/messagebrokers/aws-sqs.service.js +0 -77
  145. package/dist/processor/services/messagebrokers/aws-sqs.service.js.map +0 -1
  146. package/dist/processor/services/messagebrokers/google-pubsub.service.d.ts +0 -16
  147. package/dist/processor/services/messagebrokers/google-pubsub.service.js +0 -34
  148. package/dist/processor/services/messagebrokers/google-pubsub.service.js.map +0 -1
  149. package/dist/processor/services/messagebrokers/index.d.ts +0 -3
  150. package/dist/processor/services/messagebrokers/index.js +0 -26
  151. package/dist/processor/services/messagebrokers/index.js.map +0 -1
  152. package/dist/processor/services/messagebrokers/kafka.service.d.ts +0 -14
  153. package/dist/processor/services/messagebrokers/kafka.service.js +0 -45
  154. package/dist/processor/services/messagebrokers/kafka.service.js.map +0 -1
  155. package/dist/processor/services/messagebrokers/messagebrokers.type.d.ts +0 -6
  156. package/dist/processor/services/messagebrokers/messagebrokers.type.js +0 -3
  157. package/dist/processor/services/messagebrokers/messagebrokers.type.js.map +0 -1
  158. package/dist/processor/services/messagebrokers/rabbitmq.service.d.ts +0 -14
  159. package/dist/processor/services/messagebrokers/rabbitmq.service.js +0 -67
  160. package/dist/processor/services/messagebrokers/rabbitmq.service.js.map +0 -1
  161. package/dist/processor/services/messagebrokers/redis.service.d.ts +0 -18
  162. package/dist/processor/services/messagebrokers/redis.service.js +0 -82
  163. package/dist/processor/services/messagebrokers/redis.service.js.map +0 -1
  164. package/dist/processor/services/quota.service.d.ts +0 -15
  165. package/dist/processor/services/quota.service.js +0 -63
  166. package/dist/processor/services/quota.service.js.map +0 -1
  167. package/dist/test/index.d.ts +0 -3
  168. package/dist/test/index.js +0 -11
  169. package/dist/test/index.js.map +0 -1
  170. package/dist/test/test.appBuilder.d.ts +0 -0
  171. package/dist/test/test.appBuilder.js +0 -1
  172. package/dist/test/test.appBuilder.js.map +0 -1
  173. package/dist/test/test.broker.kafka.d.ts +0 -1
  174. package/dist/test/test.broker.kafka.js +0 -172
  175. package/dist/test/test.broker.kafka.js.map +0 -1
  176. package/dist/test/test.broker.nats.d.ts +0 -1
  177. package/dist/test/test.broker.nats.js +0 -193
  178. package/dist/test/test.broker.nats.js.map +0 -1
  179. package/dist/test/test.broker.pubsub.d.ts +0 -1
  180. package/dist/test/test.broker.pubsub.js +0 -171
  181. package/dist/test/test.broker.pubsub.js.map +0 -1
  182. package/dist/test/test.broker.rabbitmq.d.ts +0 -1
  183. package/dist/test/test.broker.rabbitmq.js +0 -164
  184. package/dist/test/test.broker.rabbitmq.js.map +0 -1
  185. package/dist/test/test.broker.redis.d.ts +0 -1
  186. package/dist/test/test.broker.redis.js +0 -168
  187. package/dist/test/test.broker.redis.js.map +0 -1
  188. package/dist/test/test.broker.sqs.d.ts +0 -1
  189. package/dist/test/test.broker.sqs.js +0 -158
  190. package/dist/test/test.broker.sqs.js.map +0 -1
  191. package/dist/test/test.caches.d.ts +0 -1
  192. package/dist/test/test.caches.js +0 -231
  193. package/dist/test/test.caches.js.map +0 -1
  194. package/dist/test/test.database.d.ts +0 -1
  195. package/dist/test/test.database.dynamo.d.ts +0 -1
  196. package/dist/test/test.database.dynamo.js +0 -265
  197. package/dist/test/test.database.dynamo.js.map +0 -1
  198. package/dist/test/test.database.js +0 -140
  199. package/dist/test/test.database.js.map +0 -1
  200. package/dist/test/test.database.mongo.d.ts +0 -1
  201. package/dist/test/test.database.mongo.js +0 -371
  202. package/dist/test/test.database.mongo.js.map +0 -1
  203. package/dist/test/test.database.mysql.d.ts +0 -1
  204. package/dist/test/test.database.mysql.js +0 -415
  205. package/dist/test/test.database.mysql.js.map +0 -1
  206. package/dist/test/test.database.postgres.d.ts +0 -1
  207. package/dist/test/test.database.postgres.js +0 -412
  208. package/dist/test/test.database.postgres.js.map +0 -1
  209. package/dist/test/test.email.brevo.d.ts +0 -1
  210. package/dist/test/test.email.brevo.js +0 -326
  211. package/dist/test/test.email.brevo.js.map +0 -1
  212. package/dist/test/test.email.mailgun.d.ts +0 -1
  213. package/dist/test/test.email.mailgun.js +0 -352
  214. package/dist/test/test.email.mailgun.js.map +0 -1
  215. package/dist/test/test.email.postmark.d.ts +0 -1
  216. package/dist/test/test.email.postmark.js +0 -316
  217. package/dist/test/test.email.postmark.js.map +0 -1
  218. package/dist/test/test.email.sendgrid.d.ts +0 -1
  219. package/dist/test/test.email.sendgrid.js +0 -365
  220. package/dist/test/test.email.sendgrid.js.map +0 -1
  221. package/dist/test/test.email.smtp.d.ts +0 -1
  222. package/dist/test/test.email.smtp.js +0 -323
  223. package/dist/test/test.email.smtp.js.map +0 -1
  224. package/dist/test/test.graph.arangodb.d.ts +0 -1
  225. package/dist/test/test.graph.arangodb.js +0 -358
  226. package/dist/test/test.graph.arangodb.js.map +0 -1
  227. package/dist/test/test.graph.memgraph.d.ts +0 -1
  228. package/dist/test/test.graph.memgraph.js +0 -320
  229. package/dist/test/test.graph.memgraph.js.map +0 -1
  230. package/dist/test/test.graph.neo4j.d.ts +0 -1
  231. package/dist/test/test.graph.neo4j.js +0 -218
  232. package/dist/test/test.graph.neo4j.js.map +0 -1
  233. package/dist/test/test.graph.neptune.d.ts +0 -1
  234. package/dist/test/test.graph.neptune.js +0 -331
  235. package/dist/test/test.graph.neptune.js.map +0 -1
  236. package/dist/test/test.health.d.ts +0 -0
  237. package/dist/test/test.health.js +0 -1
  238. package/dist/test/test.health.js.map +0 -1
  239. package/dist/test/test.import.d.ts +0 -0
  240. package/dist/test/test.import.js +0 -1
  241. package/dist/test/test.import.js.map +0 -1
  242. package/dist/test/test.import.openapi.d.ts +0 -0
  243. package/dist/test/test.import.openapi.js +0 -1
  244. package/dist/test/test.import.openapi.js.map +0 -1
  245. package/dist/test/test.imports.d.ts +0 -1
  246. package/dist/test/test.imports.js +0 -21
  247. package/dist/test/test.imports.js.map +0 -1
  248. package/dist/test/test.logs.d.ts +0 -0
  249. package/dist/test/test.logs.js +0 -1
  250. package/dist/test/test.logs.js.map +0 -1
  251. package/dist/test/test.notifications.d.ts +0 -1
  252. package/dist/test/test.notifications.js +0 -198
  253. package/dist/test/test.notifications.js.map +0 -1
  254. package/dist/test/test.notifiers.d.ts +0 -0
  255. package/dist/test/test.notifiers.js +0 -1
  256. package/dist/test/test.notifiers.js.map +0 -1
  257. package/dist/test/test.processor.d.ts +0 -0
  258. package/dist/test/test.processor.js +0 -1
  259. package/dist/test/test.processor.js.map +0 -1
  260. package/dist/test/test.productBuilder.d.ts +0 -0
  261. package/dist/test/test.productBuilder.js +0 -1
  262. package/dist/test/test.productBuilder.js.map +0 -1
  263. package/dist/test/test.products.d.ts +0 -0
  264. package/dist/test/test.products.js +0 -1
  265. package/dist/test/test.products.js.map +0 -1
  266. package/dist/test/test.push.expo.d.ts +0 -1
  267. package/dist/test/test.push.expo.js +0 -442
  268. package/dist/test/test.push.expo.js.map +0 -1
  269. package/dist/test/test.push.firebase.d.ts +0 -1
  270. package/dist/test/test.push.firebase.js +0 -409
  271. package/dist/test/test.push.firebase.js.map +0 -1
  272. package/dist/test/test.session.d.ts +0 -1
  273. package/dist/test/test.session.js +0 -299
  274. package/dist/test/test.session.js.map +0 -1
  275. package/dist/test/test.sms.nexmo.d.ts +0 -1
  276. package/dist/test/test.sms.nexmo.js +0 -278
  277. package/dist/test/test.sms.nexmo.js.map +0 -1
  278. package/dist/test/test.sms.twilio.d.ts +0 -1
  279. package/dist/test/test.sms.twilio.js +0 -275
  280. package/dist/test/test.sms.twilio.js.map +0 -1
  281. package/dist/test/test.storage.d.ts +0 -1
  282. package/dist/test/test.storage.js +0 -202
  283. package/dist/test/test.storage.js.map +0 -1
  284. package/dist/test/test.triggers.d.ts +0 -1
  285. package/dist/test/test.triggers.js +0 -314
  286. package/dist/test/test.triggers.js.map +0 -1
  287. package/dist/test/test.vector.pinecone.d.ts +0 -1
  288. package/dist/test/test.vector.pinecone.js +0 -238
  289. package/dist/test/test.vector.pinecone.js.map +0 -1
  290. package/dist/test/test.vector.qdrant.d.ts +0 -1
  291. package/dist/test/test.vector.qdrant.js +0 -307
  292. package/dist/test/test.vector.qdrant.js.map +0 -1
  293. package/dist/test/test.vector.weaviate.d.ts +0 -1
  294. package/dist/test/test.vector.weaviate.js +0 -325
  295. package/dist/test/test.vector.weaviate.js.map +0 -1
@@ -1,316 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const index_1 = __importDefault(require("./index"));
7
- /**
8
- * Postmark Email Provider Tests
9
- *
10
- * Comprehensive tests for Postmark email operations:
11
- * - Notification configuration with Postmark
12
- * - Transactional email sending
13
- * - Multi-recipient emails
14
- * - Postmark-specific features (message streams, templates)
15
- */
16
- const { notifications } = index_1.default;
17
- // Start timing
18
- const startTime = performance.now();
19
- console.log(`[${new Date().toISOString()}] Starting Postmark email provider operations...`);
20
- async function runPostmarkTests() {
21
- try {
22
- // ==================== CREATE NOTIFICATION CONFIGURATION ====================
23
- console.log('\n--- Creating Notification Configuration (Postmark) ---');
24
- const createStart = performance.now();
25
- // Create notification with Postmark email configuration
26
- await notifications.create('ductape:rematch', {
27
- name: 'Postmark Email Notifications',
28
- tag: 'postmark-notifications',
29
- description: 'Email notifications via Postmark API',
30
- envs: [
31
- {
32
- slug: 'prd',
33
- emails: {
34
- provider: 'postmark',
35
- postmark: {
36
- serverToken: process.env.POSTMARK_SERVER_TOKEN || 'your-postmark-server-token',
37
- sender_email: process.env.POSTMARK_SENDER || 'noreply@company.com',
38
- },
39
- },
40
- },
41
- {
42
- slug: 'dev',
43
- emails: {
44
- provider: 'postmark',
45
- postmark: {
46
- serverToken: process.env.POSTMARK_DEV_TOKEN || 'your-dev-server-token',
47
- sender_email: process.env.POSTMARK_DEV_SENDER || 'dev@company.com',
48
- },
49
- },
50
- },
51
- ],
52
- });
53
- console.log(`[TIMING] Create notification config: ${(performance.now() - createStart).toFixed(2)}ms`);
54
- console.log('Postmark notification configuration created successfully');
55
- // Create notification message templates
56
- console.log('\n--- Creating Message Templates ---');
57
- const templateStart = performance.now();
58
- await notifications.messages.create('ductape:rematch', {
59
- name: 'Appointment Reminder',
60
- tag: 'postmark-notifications:appointment',
61
- description: 'Appointment reminder email',
62
- email: {
63
- subject: 'Reminder: Appointment on {{appointment_date}}',
64
- template: `
65
- <html>
66
- <body style="font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; margin: 0; padding: 0; background: #f0f4f8;">
67
- <div style="max-width: 600px; margin: 0 auto; padding: 20px;">
68
- <div style="background: white; border-radius: 16px; overflow: hidden; box-shadow: 0 4px 12px rgba(0,0,0,0.1);">
69
- <div style="background: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%); padding: 30px; text-align: center;">
70
- <h1 style="color: white; margin: 0; font-weight: 600;">Appointment Reminder</h1>
71
- </div>
72
-
73
- <div style="padding: 30px;">
74
- <p style="font-size: 16px; color: #374151;">Hi {{patient_name}},</p>
75
- <p style="color: #6b7280;">This is a friendly reminder about your upcoming appointment.</p>
76
-
77
- <div style="background: #f9fafb; border-radius: 12px; padding: 20px; margin: 20px 0;">
78
- <table style="width: 100%;">
79
- <tr>
80
- <td style="padding: 10px 0; color: #6b7280;">
81
- <strong>Date:</strong>
82
- </td>
83
- <td style="padding: 10px 0; color: #111827; text-align: right; font-weight: 500;">
84
- {{appointment_date}}
85
- </td>
86
- </tr>
87
- <tr>
88
- <td style="padding: 10px 0; color: #6b7280;">
89
- <strong>Time:</strong>
90
- </td>
91
- <td style="padding: 10px 0; color: #111827; text-align: right; font-weight: 500;">
92
- {{appointment_time}}
93
- </td>
94
- </tr>
95
- <tr>
96
- <td style="padding: 10px 0; color: #6b7280;">
97
- <strong>Provider:</strong>
98
- </td>
99
- <td style="padding: 10px 0; color: #111827; text-align: right; font-weight: 500;">
100
- Dr. {{doctor_name}}
101
- </td>
102
- </tr>
103
- <tr>
104
- <td style="padding: 10px 0; color: #6b7280;">
105
- <strong>Location:</strong>
106
- </td>
107
- <td style="padding: 10px 0; color: #111827; text-align: right; font-weight: 500;">
108
- {{clinic_address}}
109
- </td>
110
- </tr>
111
- </table>
112
- </div>
113
-
114
- <div style="text-align: center; margin: 25px 0;">
115
- <a href="{{confirm_link}}" style="display: inline-block; background: #10b981; color: white; padding: 14px 32px; text-decoration: none; border-radius: 8px; font-weight: 600; margin: 5px;">
116
- Confirm Appointment
117
- </a>
118
- <a href="{{reschedule_link}}" style="display: inline-block; background: #f59e0b; color: white; padding: 14px 32px; text-decoration: none; border-radius: 8px; font-weight: 600; margin: 5px;">
119
- Reschedule
120
- </a>
121
- </div>
122
-
123
- <p style="color: #9ca3af; font-size: 14px; text-align: center;">
124
- Please arrive 15 minutes early for check-in.
125
- </p>
126
- </div>
127
- </div>
128
- </div>
129
- </body>
130
- </html>
131
- `,
132
- },
133
- });
134
- await notifications.messages.create('ductape:rematch', {
135
- name: 'Subscription Renewal',
136
- tag: 'postmark-notifications:subscription-renewal',
137
- description: 'Subscription renewal notification',
138
- email: {
139
- subject: 'Your {{plan_name}} Subscription Renews Soon',
140
- template: `
141
- <html>
142
- <body style="font-family: Arial, sans-serif; padding: 20px; background: #fafafa;">
143
- <div style="max-width: 600px; margin: 0 auto; background: white; border-radius: 10px; overflow: hidden; box-shadow: 0 2px 8px rgba(0,0,0,0.08);">
144
- <div style="background: #1a1a1a; padding: 30px; text-align: center;">
145
- <h1 style="color: white; margin: 0;">Subscription Renewal</h1>
146
- </div>
147
-
148
- <div style="padding: 30px;">
149
- <p style="font-size: 16px;">Hi {{customer_name}},</p>
150
- <p>Your <strong>{{plan_name}}</strong> subscription is set to renew on <strong>{{renewal_date}}</strong>.</p>
151
-
152
- <div style="background: #f8f8f8; border-radius: 8px; padding: 20px; margin: 20px 0;">
153
- <h3 style="margin-top: 0;">Renewal Summary</h3>
154
- <p><strong>Plan:</strong> {{plan_name}}</p>
155
- <p><strong>Billing Period:</strong> {{billing_period}}</p>
156
- <p><strong>Amount:</strong> {{renewal_amount}}</p>
157
- <p><strong>Payment Method:</strong> Card ending in {{card_last4}}</p>
158
- </div>
159
-
160
- <p>No action is required. Your subscription will automatically renew.</p>
161
-
162
- <div style="text-align: center; margin: 25px 0;">
163
- <a href="{{manage_subscription_link}}" style="display: inline-block; background: #333; color: white; padding: 15px 40px; text-decoration: none; border-radius: 5px;">
164
- Manage Subscription
165
- </a>
166
- </div>
167
-
168
- <p style="color: #666; font-size: 13px;">
169
- If you wish to cancel, please do so before {{cancellation_deadline}}.
170
- </p>
171
- </div>
172
- </div>
173
- </body>
174
- </html>
175
- `,
176
- },
177
- });
178
- await notifications.messages.create('ductape:rematch', {
179
- name: 'Feedback Request',
180
- tag: 'postmark-notifications:feedback',
181
- description: 'Customer feedback request email',
182
- email: {
183
- subject: 'How was your experience, {{customer_name}}?',
184
- template: `
185
- <html>
186
- <body style="font-family: Arial, sans-serif; padding: 20px; background: #f5f5f5;">
187
- <div style="max-width: 600px; margin: 0 auto; background: white; border-radius: 10px; overflow: hidden;">
188
- <div style="padding: 30px; text-align: center;">
189
- <h1 style="color: #333; margin-bottom: 10px;">We'd Love Your Feedback!</h1>
190
- <p style="color: #666;">Your opinion matters to us.</p>
191
- </div>
192
-
193
- <div style="padding: 0 30px 30px;">
194
- <p>Hi {{customer_name}},</p>
195
- <p>Thank you for your recent {{interaction_type}} with us. We'd appreciate it if you could take a moment to share your experience.</p>
196
-
197
- <div style="text-align: center; margin: 30px 0;">
198
- <p style="color: #333; font-weight: bold;">How would you rate your experience?</p>
199
- <div style="margin: 20px 0;">
200
- <a href="{{rating_link_1}}" style="display: inline-block; font-size: 30px; text-decoration: none; margin: 0 5px;">1️⃣</a>
201
- <a href="{{rating_link_2}}" style="display: inline-block; font-size: 30px; text-decoration: none; margin: 0 5px;">2️⃣</a>
202
- <a href="{{rating_link_3}}" style="display: inline-block; font-size: 30px; text-decoration: none; margin: 0 5px;">3️⃣</a>
203
- <a href="{{rating_link_4}}" style="display: inline-block; font-size: 30px; text-decoration: none; margin: 0 5px;">4️⃣</a>
204
- <a href="{{rating_link_5}}" style="display: inline-block; font-size: 30px; text-decoration: none; margin: 0 5px;">5️⃣</a>
205
- </div>
206
- <p style="color: #999; font-size: 12px;">1 = Poor, 5 = Excellent</p>
207
- </div>
208
-
209
- <div style="text-align: center;">
210
- <a href="{{detailed_feedback_link}}" style="display: inline-block; background: #007bff; color: white; padding: 15px 40px; text-decoration: none; border-radius: 5px;">
211
- Leave Detailed Feedback
212
- </a>
213
- </div>
214
- </div>
215
- </div>
216
- </body>
217
- </html>
218
- `,
219
- },
220
- });
221
- console.log(`[TIMING] Create message templates: ${(performance.now() - templateStart).toFixed(2)}ms`);
222
- console.log('Message templates created successfully');
223
- // ==================== SEND EMAILS ====================
224
- console.log('\n--- Sending Appointment Reminder ---');
225
- const appointmentStart = performance.now();
226
- const appointmentResult = await notifications.email({
227
- product: 'ductape:rematch',
228
- env: 'prd',
229
- notification: 'postmark-notifications:appointment',
230
- input: {
231
- recipients: ['patient@example.com'],
232
- subject: {
233
- appointment_date: 'December 22, 2024',
234
- },
235
- template: {
236
- patient_name: 'Emily Wilson',
237
- appointment_date: 'December 22, 2024',
238
- appointment_time: '2:30 PM',
239
- doctor_name: 'Sarah Johnson',
240
- clinic_address: '456 Medical Center Dr, Suite 200',
241
- confirm_link: 'https://clinic.com/confirm?appt=12345',
242
- reschedule_link: 'https://clinic.com/reschedule?appt=12345',
243
- },
244
- },
245
- });
246
- console.log(`[TIMING] Send appointment reminder: ${(performance.now() - appointmentStart).toFixed(2)}ms`);
247
- console.log('Appointment reminder result:', JSON.stringify(appointmentResult, null, 2));
248
- // Send subscription renewal
249
- console.log('\n--- Sending Subscription Renewal ---');
250
- const renewalStart = performance.now();
251
- const renewalResult = await notifications.email({
252
- product: 'ductape:rematch',
253
- env: 'prd',
254
- notification: 'postmark-notifications:subscription-renewal',
255
- input: {
256
- recipients: ['subscriber@example.com'],
257
- subject: {
258
- plan_name: 'Pro Plan',
259
- },
260
- template: {
261
- customer_name: 'David Lee',
262
- plan_name: 'Pro Plan',
263
- renewal_date: 'January 1, 2025',
264
- billing_period: 'Monthly',
265
- renewal_amount: '$29.99',
266
- card_last4: '4242',
267
- manage_subscription_link: 'https://app.com/subscription',
268
- cancellation_deadline: 'December 31, 2024',
269
- },
270
- },
271
- });
272
- console.log(`[TIMING] Send subscription renewal: ${(performance.now() - renewalStart).toFixed(2)}ms`);
273
- console.log('Subscription renewal result:', JSON.stringify(renewalResult, null, 2));
274
- // Send feedback request
275
- console.log('\n--- Sending Feedback Request ---');
276
- const feedbackStart = performance.now();
277
- const feedbackResult = await notifications.email({
278
- product: 'ductape:rematch',
279
- env: 'prd',
280
- notification: 'postmark-notifications:feedback',
281
- input: {
282
- recipients: ['customer@example.com'],
283
- subject: {
284
- customer_name: 'Alex',
285
- },
286
- template: {
287
- customer_name: 'Alex',
288
- interaction_type: 'purchase',
289
- rating_link_1: 'https://feedback.com/rate/1',
290
- rating_link_2: 'https://feedback.com/rate/2',
291
- rating_link_3: 'https://feedback.com/rate/3',
292
- rating_link_4: 'https://feedback.com/rate/4',
293
- rating_link_5: 'https://feedback.com/rate/5',
294
- detailed_feedback_link: 'https://feedback.com/detailed',
295
- },
296
- },
297
- });
298
- console.log(`[TIMING] Send feedback request: ${(performance.now() - feedbackStart).toFixed(2)}ms`);
299
- console.log('Feedback request result:', JSON.stringify(feedbackResult, null, 2));
300
- // ==================== FETCH CONFIGURATIONS ====================
301
- console.log('\n--- Fetching Notification Configuration ---');
302
- const fetchStart = performance.now();
303
- const notificationConfig = await notifications.fetch('ductape:rematch', 'postmark-notifications');
304
- console.log(`[TIMING] Fetch config: ${(performance.now() - fetchStart).toFixed(2)}ms`);
305
- console.log('Postmark config:', JSON.stringify(notificationConfig, null, 2));
306
- // ==================== SUMMARY ====================
307
- const totalTime = performance.now() - startTime;
308
- console.log(`\n[TIMING SUMMARY]`);
309
- console.log(` Total time: ${totalTime.toFixed(2)}ms`);
310
- }
311
- catch (error) {
312
- console.error('Error in Postmark email operations:', error);
313
- }
314
- }
315
- runPostmarkTests();
316
- //# sourceMappingURL=test.email.postmark.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"test.email.postmark.js","sourceRoot":"","sources":["../../src/test/test.email.postmark.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export {};