@novu/framework 2.10.1-alpha.3 → 2.10.1-alpha.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 (40) hide show
  1. package/dist/cjs/{index-C5CigDlK.d.cts → index-ZVAtl8F3.d.cts} +18 -12
  2. package/dist/cjs/index.cjs +29 -29
  3. package/dist/cjs/index.d.cts +1 -1
  4. package/dist/cjs/servers/express.cjs +29 -29
  5. package/dist/cjs/servers/express.d.cts +2 -2
  6. package/dist/cjs/servers/h3.cjs +29 -29
  7. package/dist/cjs/servers/h3.d.cts +2 -2
  8. package/dist/cjs/servers/lambda.cjs +29 -29
  9. package/dist/cjs/servers/lambda.d.cts +2 -2
  10. package/dist/cjs/servers/nest.cjs +29 -29
  11. package/dist/cjs/servers/nest.d.cts +2 -2
  12. package/dist/cjs/servers/next.cjs +29 -29
  13. package/dist/cjs/servers/next.d.cts +2 -2
  14. package/dist/cjs/servers/nuxt.cjs +29 -29
  15. package/dist/cjs/servers/nuxt.d.cts +2 -2
  16. package/dist/cjs/servers/remix.cjs +29 -29
  17. package/dist/cjs/servers/remix.d.cts +2 -2
  18. package/dist/cjs/servers/sveltekit.cjs +29 -29
  19. package/dist/cjs/servers/sveltekit.d.cts +2 -2
  20. package/dist/esm/{chunk-CBVFNQC3.js → chunk-FI2YN7IA.js} +30 -30
  21. package/dist/esm/{index-DCSlowxV.d.ts → index-D0d-O6LJ.d.ts} +18 -12
  22. package/dist/esm/index.d.ts +1 -1
  23. package/dist/esm/index.js +1 -1
  24. package/dist/esm/servers/express.d.ts +2 -2
  25. package/dist/esm/servers/express.js +1 -1
  26. package/dist/esm/servers/h3.d.ts +2 -2
  27. package/dist/esm/servers/h3.js +1 -1
  28. package/dist/esm/servers/lambda.d.ts +2 -2
  29. package/dist/esm/servers/lambda.js +1 -1
  30. package/dist/esm/servers/nest.d.ts +2 -2
  31. package/dist/esm/servers/nest.js +1 -1
  32. package/dist/esm/servers/next.d.ts +2 -2
  33. package/dist/esm/servers/next.js +1 -1
  34. package/dist/esm/servers/nuxt.d.ts +2 -2
  35. package/dist/esm/servers/nuxt.js +1 -1
  36. package/dist/esm/servers/remix.d.ts +2 -2
  37. package/dist/esm/servers/remix.js +1 -1
  38. package/dist/esm/servers/sveltekit.d.ts +2 -2
  39. package/dist/esm/servers/sveltekit.js +1 -1
  40. package/package.json +1 -1
@@ -77,14 +77,11 @@ interface FileRef {
77
77
  * Content accepted by ctx.reply() and handle.edit().
78
78
  *
79
79
  * - `string` — plain text or markdown; converted to platform format by the chat SDK
80
- * - `{ markdown, files? }` — markdown with optional file attachments
81
80
  * - `ChatElement` — interactive card built with Card(), Button(), etc.
82
- * (must be a CardElement at runtime; validated by serializeContent)
81
+ *
82
+ * For file attachments, pass a `files` array as the second argument to reply()/edit().
83
83
  */
84
- type MessageContent = string | {
85
- markdown: string;
86
- files?: FileRef[];
87
- } | ChatElement;
84
+ type MessageContent = string | ChatElement;
88
85
  /** Normalized content shape sent over HTTP to the reply endpoint. */
89
86
  interface ReplyContent {
90
87
  markdown?: string;
@@ -114,7 +111,9 @@ interface ReplyHandle {
114
111
  /** Platform-native thread id this message lives in. */
115
112
  readonly platformThreadId: string;
116
113
  /** Edit this message in place with new content. Returns the same handle for chaining. */
117
- edit(content: MessageContent): Promise<ReplyHandle>;
114
+ edit(content: MessageContent, options?: {
115
+ files?: FileRef[];
116
+ }): Promise<ReplyHandle>;
118
117
  }
119
118
  interface AgentContext {
120
119
  readonly event: string;
@@ -132,10 +131,16 @@ interface AgentContext {
132
131
  *
133
132
  * @example
134
133
  * const msg = await ctx.reply('Thinking…');
135
- * // ... do work ...
136
134
  * await msg.edit('Here is the answer');
135
+ *
136
+ * @example with file attachment
137
+ * await ctx.reply('Here is your report', {
138
+ * files: [{ filename: 'report.pdf', url: 'https://...' }],
139
+ * });
137
140
  */
138
- reply(content: MessageContent): Promise<ReplyHandle>;
141
+ reply(content: MessageContent, options?: {
142
+ files?: FileRef[];
143
+ }): Promise<ReplyHandle>;
139
144
  resolve(summary?: string): void;
140
145
  metadata: {
141
146
  set(key: string, value: unknown): void;
@@ -259,7 +264,8 @@ interface SentMessageInfo {
259
264
  * fails — e.g. the configured email provider returns 401, Slack rejects the token,
260
265
  * or Teams rejects the request.
261
266
  *
262
- * The `message` property contains the original provider error text
267
+ * `message` is always a short, human-readable summary.
268
+ * `responseBody` preserves the raw upstream body for debugging.
263
269
  *
264
270
  * @example
265
271
  * ```ts
@@ -269,7 +275,6 @@ interface SentMessageInfo {
269
275
  * await ctx.reply('Hello!');
270
276
  * } catch (err) {
271
277
  * if (err instanceof AgentDeliveryError) {
272
- * // Delivery failed (misconfigured provider, rate limit, etc.)
273
278
  * console.error('Delivery failed:', err.message);
274
279
  * return;
275
280
  * }
@@ -279,7 +284,8 @@ interface SentMessageInfo {
279
284
  */
280
285
  declare class AgentDeliveryError extends Error {
281
286
  readonly statusCode: number;
282
- constructor(statusCode: number, message: string);
287
+ readonly responseBody: string;
288
+ constructor(statusCode: number, responseBody: string);
283
289
  }
284
290
 
285
291
  /**