@noodleseed/one 0.187.0 → 0.188.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. package/dist/commands/solutions-conversations.js +1 -1
  2. package/dist/commands/solutions-conversations.js.map +1 -1
  3. package/dist/commands/solutions-history.d.ts.map +1 -1
  4. package/dist/commands/solutions-history.js +5 -2
  5. package/dist/commands/solutions-history.js.map +1 -1
  6. package/dist/commands/whatsapp-ops.d.ts +1 -1
  7. package/dist/commands/whatsapp-ops.d.ts.map +1 -1
  8. package/dist/commands/whatsapp-ops.js +31 -9
  9. package/dist/commands/whatsapp-ops.js.map +1 -1
  10. package/dist/commands/whatsapp-output.d.ts +1 -1
  11. package/dist/commands/whatsapp-output.d.ts.map +1 -1
  12. package/dist/commands/whatsapp-output.js +8 -6
  13. package/dist/commands/whatsapp-output.js.map +1 -1
  14. package/node_modules/@noodle-borg/agent-kit/dist/generated/example-files.js +1 -1
  15. package/node_modules/@noodle-borg/agent-kit/dist/skill-embedded-assistant-ref.js +3 -1
  16. package/node_modules/@noodle-borg/agent-kit/package.json +1 -1
  17. package/node_modules/@noodle-borg/assistant-gateway/dist/assistant-model-context.js +1 -0
  18. package/node_modules/@noodle-borg/assistant-gateway/dist/channel-coordinator.d.ts +89 -0
  19. package/node_modules/@noodle-borg/assistant-gateway/dist/channel-coordinator.js +20 -1
  20. package/node_modules/@noodle-borg/assistant-gateway/dist/channel-inbox.js +16 -1
  21. package/node_modules/@noodle-borg/assistant-gateway/dist/channel-store.d.ts +1 -1
  22. package/node_modules/@noodle-borg/assistant-gateway/dist/channel-types.d.ts +34 -3
  23. package/node_modules/@noodle-borg/assistant-gateway/dist/channel-types.js +10 -4
  24. package/node_modules/@noodle-borg/authoring/dist/assistant.d.ts +1 -1
  25. package/node_modules/@noodle-borg/authoring/dist/assistant.js +1 -1
  26. package/node_modules/@noodle-borg/cli-catalog/dist/catalog-data-channels.js +26 -0
  27. package/node_modules/@noodle-borg/cli-catalog/dist/catalog-data-solution-conversations.js +1 -1
  28. package/node_modules/@noodle-borg/cli-catalog/dist/catalog-data-solution-history.js +1 -0
  29. package/node_modules/@noodle-borg/compiler/dist/manifest/schema.d.ts +4 -0
  30. package/node_modules/@noodle-borg/compiler/dist/manifest/schema.js +1 -1
  31. package/node_modules/@noodle-borg/compiler/dist/manifest/website-projection.d.ts +1 -0
  32. package/node_modules/@noodle-borg/compiler/dist/manifest/website-projection.js +11 -2
  33. package/node_modules/@noodle-borg/runtime/dist/connector/types.d.ts +1 -1
  34. package/node_modules/@noodle-borg/service/dist/application-history-settings.js +2 -0
  35. package/node_modules/@noodle-borg/service/dist/build-info.js +1 -0
  36. package/node_modules/@noodle-borg/service/dist/channels/composition.js +3 -2
  37. package/node_modules/@noodle-borg/service/dist/channels/messaging-eligibility.js +6 -1
  38. package/node_modules/@noodle-borg/service/dist/channels/reply-bound.js +4 -0
  39. package/node_modules/@noodle-borg/service/dist/channels/runtime.js +38 -10
  40. package/node_modules/@noodle-borg/service/dist/channels/twilio-sms.js +188 -0
  41. package/node_modules/@noodle-borg/service/dist/channels/twilio-webhook.js +16 -0
  42. package/node_modules/@noodle-borg/service/dist/conversation-history/contracts.js +1 -0
  43. package/node_modules/@noodle-borg/service/dist/routes/business-information-channels.js +3 -1
  44. package/node_modules/@noodle-borg/service/dist/routes/service-probes.js +1 -0
  45. package/node_modules/@noodle-borg/service/dist/routes/sms-twilio.js +66 -0
  46. package/node_modules/@noodle-borg/service/dist/routes/whatsapp.js +31 -21
  47. package/node_modules/@noodle-borg/service/dist/service.js +2 -2
  48. package/node_modules/@noodle-borg/service/package.json +1 -1
  49. package/node_modules/@noodle-borg/wire-contracts/dist/application-channels.d.ts +33 -0
  50. package/node_modules/@noodle-borg/wire-contracts/dist/application-channels.js +3 -1
  51. package/node_modules/@noodle-borg/wire-contracts/dist/application-history-settings.d.ts +7 -0
  52. package/node_modules/@noodle-borg/wire-contracts/dist/application-history-settings.js +2 -1
  53. package/node_modules/@noodle-borg/wire-contracts/dist/conversation-history.d.ts +12 -0
  54. package/node_modules/@noodle-borg/wire-contracts/dist/conversation-history.js +1 -1
  55. package/node_modules/@noodle-borg/wire-contracts/dist/index.d.ts +1 -0
  56. package/node_modules/@noodle-borg/wire-contracts/dist/index.js +1 -0
  57. package/node_modules/@noodle-borg/wire-contracts/dist/service-info.d.ts +2 -0
  58. package/node_modules/@noodle-borg/wire-contracts/dist/service-info.js +2 -0
  59. package/node_modules/@noodle-borg/wire-contracts/dist/sms.d.ts +176 -0
  60. package/node_modules/@noodle-borg/wire-contracts/dist/sms.js +41 -0
  61. package/node_modules/@noodle-borg/wire-contracts/dist/whatsapp.d.ts +10 -2
  62. package/node_modules/@noodle-borg/wire-contracts/dist/whatsapp.js +2 -1
  63. package/package.json +2 -2
@@ -4,6 +4,7 @@ export declare const HistorySourcesSchema: z.ZodObject<{
4
4
  signedInCustomers: z.ZodBoolean;
5
5
  whatsapp: z.ZodBoolean;
6
6
  instagram: z.ZodBoolean;
7
+ sms: z.ZodBoolean;
7
8
  }, z.core.$strict>;
8
9
  /** A surface the application declared `history: false` on, named by its authoring constructor. */
9
10
  export declare const ApplicationHistoryDisabledSurfaceSchema: z.ZodEnum<{
@@ -30,6 +31,7 @@ export declare const ApplicationHistorySettingsSchema: z.ZodObject<{
30
31
  signedInCustomers: z.ZodBoolean;
31
32
  whatsapp: z.ZodBoolean;
32
33
  instagram: z.ZodBoolean;
34
+ sms: z.ZodBoolean;
33
35
  }, z.core.$strict>;
34
36
  disabledByApplication: z.ZodOptional<z.ZodArray<z.ZodEnum<{
35
37
  publicWebsite: "publicWebsite";
@@ -59,6 +61,7 @@ export declare const ApplicationHistorySettingsResponseSchema: z.ZodObject<{
59
61
  signedInCustomers: z.ZodBoolean;
60
62
  whatsapp: z.ZodBoolean;
61
63
  instagram: z.ZodBoolean;
64
+ sms: z.ZodBoolean;
62
65
  }, z.core.$strict>;
63
66
  disabledByApplication: z.ZodOptional<z.ZodArray<z.ZodEnum<{
64
67
  publicWebsite: "publicWebsite";
@@ -80,6 +83,7 @@ export declare const ApplicationHistorySettingsSaveRequestSchema: z.ZodObject<{
80
83
  signedInCustomers: z.ZodOptional<z.ZodBoolean>;
81
84
  whatsapp: z.ZodOptional<z.ZodBoolean>;
82
85
  instagram: z.ZodOptional<z.ZodBoolean>;
86
+ sms: z.ZodOptional<z.ZodBoolean>;
83
87
  }, z.core.$strict>>;
84
88
  dryRun: z.ZodOptional<z.ZodBoolean>;
85
89
  }, z.core.$strict>;
@@ -111,6 +115,7 @@ export declare const ApplicationHistorySettingsSaveResponseSchema: z.ZodObject<{
111
115
  signedInCustomers: z.ZodBoolean;
112
116
  whatsapp: z.ZodBoolean;
113
117
  instagram: z.ZodBoolean;
118
+ sms: z.ZodBoolean;
114
119
  }, z.core.$strict>;
115
120
  disabledByApplication: z.ZodOptional<z.ZodArray<z.ZodEnum<{
116
121
  publicWebsite: "publicWebsite";
@@ -131,6 +136,7 @@ export declare const ApplicationHistorySettingsClientResponseSchema: z.ZodObject
131
136
  }, z.core.$strip>;
132
137
  conversations: z.ZodObject<{
133
138
  sources: z.ZodObject<{
139
+ sms: z.ZodOptional<z.ZodBoolean>;
134
140
  websiteVisitors: z.ZodBoolean;
135
141
  signedInCustomers: z.ZodBoolean;
136
142
  whatsapp: z.ZodBoolean;
@@ -166,6 +172,7 @@ export declare const ApplicationHistorySettingsSaveClientResponseSchema: z.ZodOb
166
172
  }, z.core.$strip>;
167
173
  conversations: z.ZodObject<{
168
174
  sources: z.ZodObject<{
175
+ sms: z.ZodOptional<z.ZodBoolean>;
169
176
  websiteVisitors: z.ZodBoolean;
170
177
  signedInCustomers: z.ZodBoolean;
171
178
  whatsapp: z.ZodBoolean;
@@ -12,6 +12,7 @@ export const HistorySourcesSchema = z.strictObject({
12
12
  signedInCustomers: z.boolean(),
13
13
  whatsapp: z.boolean(),
14
14
  instagram: z.boolean(),
15
+ sms: z.boolean(),
15
16
  });
16
17
  /** A surface the application declared `history: false` on, named by its authoring constructor. */
17
18
  export const ApplicationHistoryDisabledSurfaceSchema = z.enum([
@@ -78,7 +79,7 @@ const ClientSettingsSchema = z.object({
78
79
  activity: z.object(ApplicationHistorySettingsSchema.shape.activity.shape),
79
80
  conversations: z.object({
80
81
  ...ApplicationHistorySettingsSchema.shape.conversations.shape,
81
- sources: z.object(HistorySourcesSchema.shape),
82
+ sources: z.object({ ...HistorySourcesSchema.shape, sms: z.boolean().optional() }),
82
83
  }),
83
84
  });
84
85
  export const ApplicationHistorySettingsClientResponseSchema = z.object({
@@ -7,6 +7,7 @@ export declare const ConversationIdSchema: z.ZodString;
7
7
  export declare const ConversationChannelSchema: z.ZodEnum<{
8
8
  whatsapp: "whatsapp";
9
9
  instagram: "instagram";
10
+ sms: "sms";
10
11
  website: "website";
11
12
  }>;
12
13
  /** Staff review state; a failed tool outcome sets `needs_attention` automatically. */
@@ -21,6 +22,7 @@ export declare const ConversationSummarySchema: z.ZodObject<{
21
22
  channel: z.ZodEnum<{
22
23
  whatsapp: "whatsapp";
23
24
  instagram: "instagram";
25
+ sms: "sms";
24
26
  website: "website";
25
27
  }>;
26
28
  subject: z.ZodDiscriminatedUnion<[z.ZodObject<{
@@ -87,6 +89,7 @@ export declare const ConversationDetailSchema: z.ZodObject<{
87
89
  channel: z.ZodEnum<{
88
90
  whatsapp: "whatsapp";
89
91
  instagram: "instagram";
92
+ sms: "sms";
90
93
  website: "website";
91
94
  }>;
92
95
  subject: z.ZodDiscriminatedUnion<[z.ZodObject<{
@@ -145,6 +148,7 @@ export declare const ConversationShowSchema: z.ZodObject<{
145
148
  channel: z.ZodEnum<{
146
149
  whatsapp: "whatsapp";
147
150
  instagram: "instagram";
151
+ sms: "sms";
148
152
  website: "website";
149
153
  }>;
150
154
  subject: z.ZodDiscriminatedUnion<[z.ZodObject<{
@@ -173,6 +177,7 @@ export declare const ConversationListResponseSchema: z.ZodObject<{
173
177
  channel: z.ZodEnum<{
174
178
  whatsapp: "whatsapp";
175
179
  instagram: "instagram";
180
+ sms: "sms";
176
181
  website: "website";
177
182
  }>;
178
183
  subject: z.ZodDiscriminatedUnion<[z.ZodObject<{
@@ -234,6 +239,7 @@ export declare const ConversationShowResponseSchema: z.ZodObject<{
234
239
  channel: z.ZodEnum<{
235
240
  whatsapp: "whatsapp";
236
241
  instagram: "instagram";
242
+ sms: "sms";
237
243
  website: "website";
238
244
  }>;
239
245
  subject: z.ZodDiscriminatedUnion<[z.ZodObject<{
@@ -295,6 +301,7 @@ export declare const ConversationExportResponseSchema: z.ZodObject<{
295
301
  channel: z.ZodEnum<{
296
302
  whatsapp: "whatsapp";
297
303
  instagram: "instagram";
304
+ sms: "sms";
298
305
  website: "website";
299
306
  }>;
300
307
  subject: z.ZodDiscriminatedUnion<[z.ZodObject<{
@@ -356,6 +363,7 @@ export declare const ConversationListClientResponseSchema: z.ZodObject<{
356
363
  channel: z.ZodEnum<{
357
364
  whatsapp: "whatsapp";
358
365
  instagram: "instagram";
366
+ sms: "sms";
359
367
  website: "website";
360
368
  }>;
361
369
  startedAt: z.ZodISODateTime;
@@ -416,6 +424,7 @@ export declare const ConversationShowClientResponseSchema: z.ZodObject<{
416
424
  channel: z.ZodEnum<{
417
425
  whatsapp: "whatsapp";
418
426
  instagram: "instagram";
427
+ sms: "sms";
419
428
  website: "website";
420
429
  }>;
421
430
  startedAt: z.ZodISODateTime;
@@ -467,6 +476,7 @@ export declare const ConversationExportClientResponseSchema: z.ZodObject<{
467
476
  channel: z.ZodEnum<{
468
477
  whatsapp: "whatsapp";
469
478
  instagram: "instagram";
479
+ sms: "sms";
470
480
  website: "website";
471
481
  }>;
472
482
  startedAt: z.ZodISODateTime;
@@ -512,6 +522,7 @@ export declare const AssistantConversationListResponseSchema: z.ZodObject<{
512
522
  channel: z.ZodEnum<{
513
523
  whatsapp: "whatsapp";
514
524
  instagram: "instagram";
525
+ sms: "sms";
515
526
  website: "website";
516
527
  }>;
517
528
  startedAt: z.ZodISODateTime;
@@ -529,6 +540,7 @@ export declare const AssistantConversationListClientResponseSchema: z.ZodObject<
529
540
  channel: z.ZodEnum<{
530
541
  whatsapp: "whatsapp";
531
542
  instagram: "instagram";
543
+ sms: "sms";
532
544
  website: "website";
533
545
  }>;
534
546
  startedAt: z.ZodISODateTime;
@@ -4,7 +4,7 @@ import { z } from 'zod';
4
4
  * `*ClientResponseSchema` variants let older clients ignore additive fields.
5
5
  */
6
6
  export const ConversationIdSchema = z.string().regex(/^cv_[A-Za-z0-9_-]{8,64}$/);
7
- export const ConversationChannelSchema = z.enum(['website', 'whatsapp', 'instagram']);
7
+ export const ConversationChannelSchema = z.enum(['website', 'whatsapp', 'instagram', 'sms']);
8
8
  /** Staff review state; a failed tool outcome sets `needs_attention` automatically. */
9
9
  export const ConversationReviewStatusSchema = z.enum(['new', 'needs_attention', 'reviewed']);
10
10
  const SubjectRefSchema = z.string().min(1).max(256);
@@ -401,5 +401,6 @@ export * from './instagram.js';
401
401
  export * from './native-record-lifecycle.js';
402
402
  export * from './operation-coordination.js';
403
403
  export { MIXED_CUSTOMER_AUTH_FEATURE_VERSION, type ServiceInfoClientResponse, type ServiceInfoResponse, serviceInfoClientResponseSchema, serviceInfoResponseSchema, } from './service-info.js';
404
+ export * from './sms.js';
404
405
  export * from './whatsapp.js';
405
406
  //# sourceMappingURL=index.d.ts.map
@@ -240,5 +240,6 @@ export * from './instagram.js';
240
240
  export * from './native-record-lifecycle.js';
241
241
  export * from './operation-coordination.js';
242
242
  export { MIXED_CUSTOMER_AUTH_FEATURE_VERSION, serviceInfoClientResponseSchema, serviceInfoResponseSchema, } from './service-info.js';
243
+ export * from './sms.js';
243
244
  export * from './whatsapp.js';
244
245
  //# sourceMappingURL=index.js.map
@@ -9,6 +9,7 @@ export declare const serviceInfoResponseSchema: z.ZodObject<{
9
9
  mixedCustomerAuth: z.ZodLiteral<1>;
10
10
  whatsapp: z.ZodOptional<z.ZodLiteral<1>>;
11
11
  instagram: z.ZodOptional<z.ZodLiteral<1>>;
12
+ sms: z.ZodOptional<z.ZodLiteral<1>>;
12
13
  }, z.core.$strict>;
13
14
  ok: z.ZodLiteral<true>;
14
15
  status: z.ZodLiteral<"ok">;
@@ -29,6 +30,7 @@ export declare const serviceInfoClientResponseSchema: z.ZodObject<{
29
30
  mixedCustomerAuth: z.ZodOptional<z.ZodNumber>;
30
31
  whatsapp: z.ZodOptional<z.ZodNumber>;
31
32
  instagram: z.ZodOptional<z.ZodNumber>;
33
+ sms: z.ZodOptional<z.ZodNumber>;
32
34
  }, z.core.$strip>>;
33
35
  ok: z.ZodLiteral<true>;
34
36
  status: z.ZodLiteral<"ok">;
@@ -20,6 +20,7 @@ export const serviceInfoResponseSchema = z.strictObject({
20
20
  whatsapp: z.literal(1).optional(),
21
21
  /** Instagram DMs need the channel runtime and Noodle Seed's Meta app. */
22
22
  instagram: z.literal(1).optional(),
23
+ sms: z.literal(1).optional(),
23
24
  }),
24
25
  });
25
26
  /** Older services may omit features; future fields are stripped at each structured metadata layer. */
@@ -31,6 +32,7 @@ export const serviceInfoClientResponseSchema = z.object({
31
32
  mixedCustomerAuth: z.number().int().positive().optional(),
32
33
  whatsapp: z.number().int().positive().optional(),
33
34
  instagram: z.number().int().positive().optional(),
35
+ sms: z.number().int().positive().optional(),
34
36
  })
35
37
  .optional(),
36
38
  });
@@ -0,0 +1,176 @@
1
+ import { z } from 'zod';
2
+ export declare const SmsConfigureRequestSchema: z.ZodObject<{
3
+ apiKeySecret: z.ZodString;
4
+ capabilities: z.ZodArray<z.ZodObject<{
5
+ kind: z.ZodEnum<{
6
+ tool: "tool";
7
+ knowledge: "knowledge";
8
+ }>;
9
+ name: z.ZodString;
10
+ }, z.core.$strict>>;
11
+ supportEmail: z.ZodEmail;
12
+ limits: z.ZodOptional<z.ZodObject<{
13
+ perMinute: z.ZodOptional<z.ZodNumber>;
14
+ perHour: z.ZodOptional<z.ZodNumber>;
15
+ perDay: z.ZodOptional<z.ZodNumber>;
16
+ channelPerDay: z.ZodOptional<z.ZodNumber>;
17
+ newParticipantsPerDay: z.ZodOptional<z.ZodNumber>;
18
+ concurrent: z.ZodOptional<z.ZodNumber>;
19
+ pendingPerParticipant: z.ZodOptional<z.ZodNumber>;
20
+ pending: z.ZodOptional<z.ZodNumber>;
21
+ textCharacters: z.ZodOptional<z.ZodNumber>;
22
+ dailyMicroUsd: z.ZodOptional<z.ZodNumber>;
23
+ }, z.core.$strict>>;
24
+ accountSid: z.ZodString;
25
+ phoneNumberSid: z.ZodString;
26
+ phoneNumber: z.ZodString;
27
+ expectedRevision: z.ZodNumber;
28
+ }, z.core.$strict>;
29
+ export declare const SmsBindingSchema: z.ZodObject<{
30
+ createdAt: z.ZodNumber;
31
+ id: z.ZodString;
32
+ state: z.ZodEnum<{
33
+ paused: "paused";
34
+ enabled: "enabled";
35
+ disconnected: "disconnected";
36
+ }>;
37
+ revision: z.ZodNumber;
38
+ capabilities: z.ZodArray<z.ZodObject<{
39
+ kind: z.ZodEnum<{
40
+ tool: "tool";
41
+ knowledge: "knowledge";
42
+ }>;
43
+ name: z.ZodString;
44
+ }, z.core.$strict>>;
45
+ deploymentId: z.ZodString;
46
+ updatedAt: z.ZodNumber;
47
+ generation: z.ZodNumber;
48
+ limits: z.ZodObject<{
49
+ perMinute: z.ZodNumber;
50
+ perHour: z.ZodNumber;
51
+ perDay: z.ZodNumber;
52
+ channelPerDay: z.ZodNumber;
53
+ newParticipantsPerDay: z.ZodNumber;
54
+ concurrent: z.ZodNumber;
55
+ pendingPerParticipant: z.ZodNumber;
56
+ pending: z.ZodNumber;
57
+ textCharacters: z.ZodNumber;
58
+ dailyMicroUsd: z.ZodNumber;
59
+ }, z.core.$strict>;
60
+ apiKeySecret: z.ZodString;
61
+ supportEmail: z.ZodEmail;
62
+ tenant: z.ZodObject<{
63
+ org: z.ZodString;
64
+ app: z.ZodString;
65
+ env: z.ZodString;
66
+ }, z.core.$strict>;
67
+ actor: z.ZodString;
68
+ readyRevision: z.ZodOptional<z.ZodNumber>;
69
+ readyAt: z.ZodOptional<z.ZodNumber>;
70
+ accountSid: z.ZodString;
71
+ phoneNumberSid: z.ZodString;
72
+ phoneNumber: z.ZodString;
73
+ channel: z.ZodLiteral<"sms">;
74
+ provider: z.ZodLiteral<"twilio">;
75
+ }, z.core.$strict>;
76
+ export declare const SmsBindingResponseSchema: z.ZodObject<{
77
+ ok: z.ZodLiteral<true>;
78
+ data: z.ZodNullable<z.ZodObject<{
79
+ createdAt: z.ZodNumber;
80
+ id: z.ZodString;
81
+ state: z.ZodEnum<{
82
+ paused: "paused";
83
+ enabled: "enabled";
84
+ disconnected: "disconnected";
85
+ }>;
86
+ revision: z.ZodNumber;
87
+ capabilities: z.ZodArray<z.ZodObject<{
88
+ kind: z.ZodEnum<{
89
+ tool: "tool";
90
+ knowledge: "knowledge";
91
+ }>;
92
+ name: z.ZodString;
93
+ }, z.core.$strict>>;
94
+ deploymentId: z.ZodString;
95
+ updatedAt: z.ZodNumber;
96
+ generation: z.ZodNumber;
97
+ limits: z.ZodObject<{
98
+ perMinute: z.ZodNumber;
99
+ perHour: z.ZodNumber;
100
+ perDay: z.ZodNumber;
101
+ channelPerDay: z.ZodNumber;
102
+ newParticipantsPerDay: z.ZodNumber;
103
+ concurrent: z.ZodNumber;
104
+ pendingPerParticipant: z.ZodNumber;
105
+ pending: z.ZodNumber;
106
+ textCharacters: z.ZodNumber;
107
+ dailyMicroUsd: z.ZodNumber;
108
+ }, z.core.$strict>;
109
+ apiKeySecret: z.ZodString;
110
+ supportEmail: z.ZodEmail;
111
+ tenant: z.ZodObject<{
112
+ org: z.ZodString;
113
+ app: z.ZodString;
114
+ env: z.ZodString;
115
+ }, z.core.$strict>;
116
+ actor: z.ZodString;
117
+ readyRevision: z.ZodOptional<z.ZodNumber>;
118
+ readyAt: z.ZodOptional<z.ZodNumber>;
119
+ accountSid: z.ZodString;
120
+ phoneNumberSid: z.ZodString;
121
+ phoneNumber: z.ZodString;
122
+ channel: z.ZodLiteral<"sms">;
123
+ provider: z.ZodLiteral<"twilio">;
124
+ }, z.core.$strict>>;
125
+ }, z.core.$strict>;
126
+ export declare const SmsBindingClientResponseSchema: z.ZodObject<{
127
+ ok: z.ZodLiteral<true>;
128
+ data: z.ZodNullable<z.ZodObject<{
129
+ createdAt: z.ZodNumber;
130
+ id: z.ZodString;
131
+ state: z.ZodEnum<{
132
+ paused: "paused";
133
+ enabled: "enabled";
134
+ disconnected: "disconnected";
135
+ }>;
136
+ revision: z.ZodNumber;
137
+ deploymentId: z.ZodString;
138
+ updatedAt: z.ZodNumber;
139
+ generation: z.ZodNumber;
140
+ apiKeySecret: z.ZodString;
141
+ supportEmail: z.ZodEmail;
142
+ actor: z.ZodString;
143
+ readyRevision: z.ZodOptional<z.ZodNumber>;
144
+ readyAt: z.ZodOptional<z.ZodNumber>;
145
+ accountSid: z.ZodString;
146
+ phoneNumberSid: z.ZodString;
147
+ phoneNumber: z.ZodString;
148
+ channel: z.ZodLiteral<"sms">;
149
+ provider: z.ZodLiteral<"twilio">;
150
+ tenant: z.ZodObject<{
151
+ org: z.ZodString;
152
+ app: z.ZodString;
153
+ env: z.ZodString;
154
+ }, z.core.$strip>;
155
+ capabilities: z.ZodArray<z.ZodObject<{
156
+ kind: z.ZodEnum<{
157
+ tool: "tool";
158
+ knowledge: "knowledge";
159
+ }>;
160
+ name: z.ZodString;
161
+ }, z.core.$strip>>;
162
+ limits: z.ZodObject<{
163
+ perMinute: z.ZodNumber;
164
+ perHour: z.ZodNumber;
165
+ perDay: z.ZodNumber;
166
+ channelPerDay: z.ZodNumber;
167
+ newParticipantsPerDay: z.ZodNumber;
168
+ concurrent: z.ZodNumber;
169
+ pendingPerParticipant: z.ZodNumber;
170
+ pending: z.ZodNumber;
171
+ textCharacters: z.ZodNumber;
172
+ dailyMicroUsd: z.ZodNumber;
173
+ }, z.core.$strip>;
174
+ }, z.core.$strip>>;
175
+ }, z.core.$strip>;
176
+ //# sourceMappingURL=sms.d.ts.map
@@ -0,0 +1,41 @@
1
+ import { z } from 'zod';
2
+ import { WhatsAppBindingSchema, WhatsAppLimitsSchema } from './whatsapp.js';
3
+ const shape = WhatsAppBindingSchema.shape;
4
+ const asset = {
5
+ accountSid: z.string().regex(/^AC[a-fA-F0-9]{32}$/),
6
+ phoneNumberSid: z.string().regex(/^PN[a-fA-F0-9]{32}$/),
7
+ phoneNumber: z.string().regex(/^\+[1-9]\d{1,14}$/),
8
+ };
9
+ export const SmsConfigureRequestSchema = z.strictObject({
10
+ expectedRevision: shape.revision,
11
+ ...asset,
12
+ apiKeySecret: shape.apiKeySecret,
13
+ capabilities: shape.capabilities.max(64),
14
+ supportEmail: z.email().max(254),
15
+ limits: WhatsAppLimitsSchema.partial().optional(),
16
+ });
17
+ export const SmsBindingSchema = WhatsAppBindingSchema.omit({
18
+ provider: true,
19
+ phoneNumberId: true,
20
+ wabaId: true,
21
+ webhookSecret: true,
22
+ }).extend({
23
+ channel: z.literal('sms'),
24
+ provider: z.literal('twilio'),
25
+ ...asset,
26
+ });
27
+ export const SmsBindingResponseSchema = z.strictObject({
28
+ ok: z.literal(true),
29
+ data: SmsBindingSchema.nullable(),
30
+ });
31
+ export const SmsBindingClientResponseSchema = z.object({
32
+ ok: z.literal(true),
33
+ data: SmsBindingSchema.extend({
34
+ tenant: shape.tenant.strip(),
35
+ capabilities: z.array(shape.capabilities.element.strip()),
36
+ limits: WhatsAppLimitsSchema.strip(),
37
+ })
38
+ .strip()
39
+ .nullable(),
40
+ });
41
+ //# sourceMappingURL=sms.js.map
@@ -405,7 +405,11 @@ export declare const WhatsAppBlocksResponseSchema: z.ZodObject<{
405
405
  data: z.ZodArray<z.ZodObject<{
406
406
  participantId: z.ZodString;
407
407
  actor: z.ZodString;
408
- reason: z.ZodLiteral<"operator">;
408
+ reason: z.ZodEnum<{
409
+ operator: "operator";
410
+ recipient_opt_out: "recipient_opt_out";
411
+ }>;
412
+ optedOut: z.ZodOptional<z.ZodBoolean>;
409
413
  local: z.ZodBoolean;
410
414
  until: z.ZodNullable<z.ZodNumber>;
411
415
  provider: z.ZodOptional<z.ZodObject<{
@@ -431,7 +435,11 @@ export declare const WhatsAppBlocksClientResponseSchema: z.ZodObject<{
431
435
  data: z.ZodArray<z.ZodObject<{
432
436
  participantId: z.ZodString;
433
437
  actor: z.ZodString;
434
- reason: z.ZodLiteral<"operator">;
438
+ reason: z.ZodEnum<{
439
+ operator: "operator";
440
+ recipient_opt_out: "recipient_opt_out";
441
+ }>;
442
+ optedOut: z.ZodOptional<z.ZodBoolean>;
435
443
  local: z.ZodBoolean;
436
444
  until: z.ZodNullable<z.ZodNumber>;
437
445
  provider: z.ZodOptional<z.ZodObject<{
@@ -222,7 +222,8 @@ export const WhatsAppEventsClientResponseSchema = z.object({
222
222
  const block = z.strictObject({
223
223
  participantId: id,
224
224
  actor: id,
225
- reason: z.literal('operator'),
225
+ reason: z.enum(['operator', 'recipient_opt_out']),
226
+ optedOut: z.boolean().optional(),
226
227
  local: z.boolean(),
227
228
  until: z.number().nullable(),
228
229
  provider: z
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@noodleseed/one",
3
- "version": "0.187.0",
3
+ "version": "0.188.0",
4
4
  "private": false,
5
5
  "description": "Noodle CLI by Noodle Seed — author, run, and deploy declarative MCP servers. Embedding the assistant in your own web app is @noodleseed/assistant.",
6
6
  "license": "Apache-2.0",
@@ -236,7 +236,7 @@
236
236
  "@modelcontextprotocol/client": "2.0.0",
237
237
  "@modelcontextprotocol/server": "2.0.0",
238
238
  "@noodle-borg/admission-limits": "0.0.0",
239
- "@noodle-borg/agent-kit": "0.111.0",
239
+ "@noodle-borg/agent-kit": "0.112.0",
240
240
  "@noodle-borg/app-audit": "0.0.0",
241
241
  "@noodle-borg/app-package": "0.0.0",
242
242
  "@noodle-borg/assistant-gateway": "0.0.0",