@noodleseed/one 0.170.0 → 0.171.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 (105) hide show
  1. package/dist/cli.d.ts.map +1 -1
  2. package/dist/cli.js +3 -0
  3. package/dist/cli.js.map +1 -1
  4. package/dist/commands/catalog.d.ts.map +1 -1
  5. package/dist/commands/catalog.js +2 -1
  6. package/dist/commands/catalog.js.map +1 -1
  7. package/dist/commands/whatsapp-ops.d.ts +13 -0
  8. package/dist/commands/whatsapp-ops.d.ts.map +1 -0
  9. package/dist/commands/whatsapp-ops.js +244 -0
  10. package/dist/commands/whatsapp-ops.js.map +1 -0
  11. package/dist/commands/whatsapp-output.d.ts +3 -0
  12. package/dist/commands/whatsapp-output.d.ts.map +1 -0
  13. package/dist/commands/whatsapp-output.js +70 -0
  14. package/dist/commands/whatsapp-output.js.map +1 -0
  15. package/dist/dev.js +2 -0
  16. package/dist/dev.js.map +1 -1
  17. package/dist/index.d.ts +1 -1
  18. package/dist/index.d.ts.map +1 -1
  19. package/dist/index.js +1 -1
  20. package/dist/index.js.map +1 -1
  21. package/dist/plugin-mode/plugin-operation-contract.d.ts +1 -1
  22. package/node_modules/@noodle-borg/agent-kit/dist/curated/command-groups.js +4 -0
  23. package/node_modules/@noodle-borg/agent-kit/dist/curated/error-fixes.js +1 -0
  24. package/node_modules/@noodle-borg/agent-kit/dist/generated/example-files.js +1 -1
  25. package/node_modules/@noodle-borg/agent-kit/dist/generated/surface.js +3 -0
  26. package/node_modules/@noodle-borg/agent-kit/dist/skill-embedded-assistant-ref.js +6 -0
  27. package/node_modules/@noodle-borg/agent-kit/package.json +1 -1
  28. package/node_modules/@noodle-borg/app-audit/dist/audit-embedded-assistant.js +2 -0
  29. package/node_modules/@noodle-borg/assistant-gateway/dist/assistant-configuration.js +2 -1
  30. package/node_modules/@noodle-borg/assistant-gateway/dist/assistant-model-context.js +9 -4
  31. package/node_modules/@noodle-borg/assistant-gateway/dist/assistant-turn-context.d.ts +16 -0
  32. package/node_modules/@noodle-borg/assistant-gateway/dist/assistant-turn-context.js +19 -0
  33. package/node_modules/@noodle-borg/assistant-gateway/dist/channel-coordinator.d.ts +145 -0
  34. package/node_modules/@noodle-borg/assistant-gateway/dist/channel-coordinator.js +378 -0
  35. package/node_modules/@noodle-borg/assistant-gateway/dist/channel-inbox.js +160 -0
  36. package/node_modules/@noodle-borg/assistant-gateway/dist/channel-provider-blocks.d.ts +18 -0
  37. package/node_modules/@noodle-borg/assistant-gateway/dist/channel-provider-blocks.js +69 -0
  38. package/node_modules/@noodle-borg/assistant-gateway/dist/channel-spend.js +82 -0
  39. package/node_modules/@noodle-borg/assistant-gateway/dist/channel-store.d.ts +42 -0
  40. package/node_modules/@noodle-borg/assistant-gateway/dist/channel-store.js +76 -0
  41. package/node_modules/@noodle-borg/assistant-gateway/dist/channel-types.d.ts +134 -0
  42. package/node_modules/@noodle-borg/assistant-gateway/dist/channel-types.js +72 -0
  43. package/node_modules/@noodle-borg/assistant-gateway/dist/channel-work.d.ts +20 -0
  44. package/node_modules/@noodle-borg/assistant-gateway/dist/channel-work.js +221 -0
  45. package/node_modules/@noodle-borg/assistant-gateway/dist/messaging-tool-dispatch.d.ts +15 -0
  46. package/node_modules/@noodle-borg/assistant-gateway/dist/messaging-tool-dispatch.js +34 -0
  47. package/node_modules/@noodle-borg/assistant-gateway/dist/model-request.d.ts +19 -1
  48. package/node_modules/@noodle-borg/assistant-gateway/dist/model-request.js +22 -6
  49. package/node_modules/@noodle-borg/assistant-gateway/dist/portable.d.ts +7 -0
  50. package/node_modules/@noodle-borg/assistant-gateway/dist/portable.js +7 -0
  51. package/node_modules/@noodle-borg/assistant-gateway/dist/postgres-assistant-appearance-store.js +83 -0
  52. package/node_modules/@noodle-borg/assistant-gateway/dist/postgres-assistant-elevation.js +151 -0
  53. package/node_modules/@noodle-borg/assistant-gateway/dist/postgres-assistant-interaction-writes.js +45 -0
  54. package/node_modules/@noodle-borg/assistant-gateway/dist/postgres-assistant-interactions.js +340 -0
  55. package/node_modules/@noodle-borg/assistant-gateway/dist/postgres-assistant.js +439 -0
  56. package/node_modules/@noodle-borg/assistant-gateway/dist/postgres-channel-store.js +102 -0
  57. package/node_modules/@noodle-borg/assistant-gateway/dist/postgres-continuity-store.js +159 -0
  58. package/node_modules/@noodle-borg/assistant-gateway/dist/postgres-elevation-store.js +110 -0
  59. package/node_modules/@noodle-borg/assistant-gateway/dist/postgres-embed-store.js +134 -0
  60. package/node_modules/@noodle-borg/assistant-gateway/dist/postgres.js +11 -0
  61. package/node_modules/@noodle-borg/assistant-gateway/dist/public-surface.d.ts +8 -0
  62. package/node_modules/@noodle-borg/assistant-gateway/dist/public-surface.js +23 -0
  63. package/node_modules/@noodle-borg/authoring/dist/assistant.d.ts +17 -2
  64. package/node_modules/@noodle-borg/authoring/dist/assistant.js +48 -19
  65. package/node_modules/@noodle-borg/authoring/dist/index.d.ts +1 -1
  66. package/node_modules/@noodle-borg/authoring/dist/index.js +1 -1
  67. package/node_modules/@noodle-borg/authoring/dist/load-authored.js +1 -1
  68. package/node_modules/@noodle-borg/cli-catalog/dist/catalog-data-channels.js +121 -0
  69. package/node_modules/@noodle-borg/cli-catalog/dist/index.js +1 -0
  70. package/node_modules/@noodle-borg/compiler/dist/artifact/config.js +1 -1
  71. package/node_modules/@noodle-borg/compiler/dist/errors.d.ts +1 -1
  72. package/node_modules/@noodle-borg/compiler/dist/manifest/schema.d.ts +72 -12
  73. package/node_modules/@noodle-borg/compiler/dist/manifest/schema.js +51 -27
  74. package/node_modules/@noodle-borg/compiler/dist/manifest/website-projection.d.ts +1 -0
  75. package/node_modules/@noodle-borg/compiler/dist/manifest/website-projection.js +19 -0
  76. package/node_modules/@noodle-borg/module-audit/dist/index.js +37 -0
  77. package/node_modules/@noodle-borg/module-audit/dist/postgres-audit.js +126 -0
  78. package/node_modules/@noodle-borg/module-audit/dist/route.js +66 -0
  79. package/node_modules/@noodle-borg/runtime/dist/managed-origins.js +8 -4
  80. package/node_modules/@noodle-borg/runtime/dist/postgres-state-handles.js +311 -0
  81. package/node_modules/@noodle-borg/runtime/dist/postgres.js +4 -0
  82. package/node_modules/@noodle-borg/service/dist/assistant-composition.js +18 -0
  83. package/node_modules/@noodle-borg/service/dist/build-info.js +5 -2
  84. package/node_modules/@noodle-borg/service/dist/business-information/source-ingestion-coordinator.js +7 -0
  85. package/node_modules/@noodle-borg/service/dist/channels/360dialog.js +233 -0
  86. package/node_modules/@noodle-borg/service/dist/channels/cipher.js +37 -0
  87. package/node_modules/@noodle-borg/service/dist/channels/composition.js +37 -0
  88. package/node_modules/@noodle-borg/service/dist/channels/inference-guard.js +53 -0
  89. package/node_modules/@noodle-borg/service/dist/channels/runtime.js +337 -0
  90. package/node_modules/@noodle-borg/service/dist/channels/worker-loop.js +50 -0
  91. package/node_modules/@noodle-borg/service/dist/routes/assistant-agent.js +62 -34
  92. package/node_modules/@noodle-borg/service/dist/routes/assistant-model-binding.js +6 -2
  93. package/node_modules/@noodle-borg/service/dist/routes/business-information-channels.js +14 -1
  94. package/node_modules/@noodle-borg/service/dist/routes/whatsapp.js +238 -0
  95. package/node_modules/@noodle-borg/service/dist/service.js +30 -32
  96. package/node_modules/@noodle-borg/service/package.json +1 -1
  97. package/node_modules/@noodle-borg/wire-contracts/dist/application-channels.d.ts +33 -0
  98. package/node_modules/@noodle-borg/wire-contracts/dist/application-channels.js +9 -0
  99. package/node_modules/@noodle-borg/wire-contracts/dist/index.d.ts +1 -0
  100. package/node_modules/@noodle-borg/wire-contracts/dist/index.js +1 -0
  101. package/node_modules/@noodle-borg/wire-contracts/dist/service-info.d.ts +2 -0
  102. package/node_modules/@noodle-borg/wire-contracts/dist/service-info.js +10 -2
  103. package/node_modules/@noodle-borg/wire-contracts/dist/whatsapp.d.ts +426 -0
  104. package/node_modules/@noodle-borg/wire-contracts/dist/whatsapp.js +213 -0
  105. package/package.json +2 -2
@@ -0,0 +1,426 @@
1
+ import { z } from 'zod';
2
+ export declare const WhatsAppLimitsSchema: z.ZodObject<{
3
+ perMinute: z.ZodNumber;
4
+ perHour: z.ZodNumber;
5
+ perDay: z.ZodNumber;
6
+ channelPerDay: z.ZodNumber;
7
+ newParticipantsPerDay: z.ZodNumber;
8
+ concurrent: z.ZodNumber;
9
+ pendingPerParticipant: z.ZodNumber;
10
+ pending: z.ZodNumber;
11
+ textCharacters: z.ZodNumber;
12
+ dailyMicroUsd: z.ZodNumber;
13
+ }, z.core.$strict>;
14
+ export declare const WhatsAppConfigureRequestSchema: z.ZodObject<{
15
+ expectedRevision: z.ZodNumber;
16
+ phoneNumberId: z.ZodString;
17
+ apiKeySecret: z.ZodString;
18
+ webhookSecret: z.ZodString;
19
+ capabilities: z.ZodArray<z.ZodObject<{
20
+ kind: z.ZodEnum<{
21
+ tool: "tool";
22
+ knowledge: "knowledge";
23
+ }>;
24
+ name: z.ZodString;
25
+ }, z.core.$strict>>;
26
+ supportEmail: z.ZodEmail;
27
+ limits: z.ZodOptional<z.ZodObject<{
28
+ perMinute: z.ZodOptional<z.ZodNumber>;
29
+ perHour: z.ZodOptional<z.ZodNumber>;
30
+ perDay: z.ZodOptional<z.ZodNumber>;
31
+ channelPerDay: z.ZodOptional<z.ZodNumber>;
32
+ newParticipantsPerDay: z.ZodOptional<z.ZodNumber>;
33
+ concurrent: z.ZodOptional<z.ZodNumber>;
34
+ pendingPerParticipant: z.ZodOptional<z.ZodNumber>;
35
+ pending: z.ZodOptional<z.ZodNumber>;
36
+ textCharacters: z.ZodOptional<z.ZodNumber>;
37
+ dailyMicroUsd: z.ZodOptional<z.ZodNumber>;
38
+ }, z.core.$strict>>;
39
+ }, z.core.$strict>;
40
+ export declare const WhatsAppStateRequestSchema: z.ZodObject<{
41
+ expectedRevision: z.ZodNumber;
42
+ state: z.ZodEnum<{
43
+ paused: "paused";
44
+ enabled: "enabled";
45
+ }>;
46
+ }, z.core.$strict>;
47
+ export declare const WhatsAppRevisionRequestSchema: z.ZodObject<{
48
+ expectedRevision: z.ZodNumber;
49
+ }, z.core.$strict>;
50
+ export declare const WhatsAppLimitsRequestSchema: z.ZodObject<{
51
+ expectedRevision: z.ZodNumber;
52
+ limits: z.ZodObject<{
53
+ perMinute: z.ZodOptional<z.ZodNumber>;
54
+ perHour: z.ZodOptional<z.ZodNumber>;
55
+ perDay: z.ZodOptional<z.ZodNumber>;
56
+ channelPerDay: z.ZodOptional<z.ZodNumber>;
57
+ newParticipantsPerDay: z.ZodOptional<z.ZodNumber>;
58
+ concurrent: z.ZodOptional<z.ZodNumber>;
59
+ pendingPerParticipant: z.ZodOptional<z.ZodNumber>;
60
+ pending: z.ZodOptional<z.ZodNumber>;
61
+ textCharacters: z.ZodOptional<z.ZodNumber>;
62
+ dailyMicroUsd: z.ZodOptional<z.ZodNumber>;
63
+ }, z.core.$strict>;
64
+ }, z.core.$strict>;
65
+ export declare const WhatsAppBlockRequestSchema: z.ZodObject<{
66
+ participantId: z.ZodOptional<z.ZodString>;
67
+ phone: z.ZodOptional<z.ZodString>;
68
+ until: z.ZodNullable<z.ZodNumber>;
69
+ scope: z.ZodDefault<z.ZodEnum<{
70
+ local: "local";
71
+ provider: "provider";
72
+ }>>;
73
+ }, z.core.$strict>;
74
+ export declare const WhatsAppUnblockRequestSchema: z.ZodObject<{
75
+ phone: z.ZodOptional<z.ZodString>;
76
+ scope: z.ZodDefault<z.ZodEnum<{
77
+ local: "local";
78
+ provider: "provider";
79
+ }>>;
80
+ }, z.core.$strict>;
81
+ export declare const WhatsAppEmptyRequestSchema: z.ZodObject<{}, z.core.$strict>;
82
+ export declare const WhatsAppBindingSchema: z.ZodObject<{
83
+ id: z.ZodString;
84
+ tenant: z.ZodObject<{
85
+ org: z.ZodString;
86
+ app: z.ZodString;
87
+ env: z.ZodString;
88
+ }, z.core.$strict>;
89
+ provider: z.ZodLiteral<"360dialog">;
90
+ phoneNumberId: z.ZodString;
91
+ apiKeySecret: z.ZodString;
92
+ webhookSecret: z.ZodString;
93
+ deploymentId: z.ZodString;
94
+ capabilities: z.ZodArray<z.ZodObject<{
95
+ kind: z.ZodEnum<{
96
+ tool: "tool";
97
+ knowledge: "knowledge";
98
+ }>;
99
+ name: z.ZodString;
100
+ }, z.core.$strict>>;
101
+ supportEmail: z.ZodEmail;
102
+ revision: z.ZodNumber;
103
+ generation: z.ZodNumber;
104
+ state: z.ZodEnum<{
105
+ paused: "paused";
106
+ enabled: "enabled";
107
+ disconnected: "disconnected";
108
+ }>;
109
+ limits: z.ZodObject<{
110
+ perMinute: z.ZodNumber;
111
+ perHour: z.ZodNumber;
112
+ perDay: z.ZodNumber;
113
+ channelPerDay: z.ZodNumber;
114
+ newParticipantsPerDay: z.ZodNumber;
115
+ concurrent: z.ZodNumber;
116
+ pendingPerParticipant: z.ZodNumber;
117
+ pending: z.ZodNumber;
118
+ textCharacters: z.ZodNumber;
119
+ dailyMicroUsd: z.ZodNumber;
120
+ }, z.core.$strict>;
121
+ createdAt: z.ZodNumber;
122
+ updatedAt: z.ZodNumber;
123
+ actor: z.ZodString;
124
+ readyRevision: z.ZodOptional<z.ZodNumber>;
125
+ readyAt: z.ZodOptional<z.ZodNumber>;
126
+ }, z.core.$strict>;
127
+ export declare const WhatsAppBindingResponseSchema: z.ZodObject<{
128
+ ok: z.ZodLiteral<true>;
129
+ data: z.ZodNullable<z.ZodObject<{
130
+ id: z.ZodString;
131
+ tenant: z.ZodObject<{
132
+ org: z.ZodString;
133
+ app: z.ZodString;
134
+ env: z.ZodString;
135
+ }, z.core.$strict>;
136
+ provider: z.ZodLiteral<"360dialog">;
137
+ phoneNumberId: z.ZodString;
138
+ apiKeySecret: z.ZodString;
139
+ webhookSecret: z.ZodString;
140
+ deploymentId: z.ZodString;
141
+ capabilities: z.ZodArray<z.ZodObject<{
142
+ kind: z.ZodEnum<{
143
+ tool: "tool";
144
+ knowledge: "knowledge";
145
+ }>;
146
+ name: z.ZodString;
147
+ }, z.core.$strict>>;
148
+ supportEmail: z.ZodEmail;
149
+ revision: z.ZodNumber;
150
+ generation: z.ZodNumber;
151
+ state: z.ZodEnum<{
152
+ paused: "paused";
153
+ enabled: "enabled";
154
+ disconnected: "disconnected";
155
+ }>;
156
+ limits: z.ZodObject<{
157
+ perMinute: z.ZodNumber;
158
+ perHour: z.ZodNumber;
159
+ perDay: z.ZodNumber;
160
+ channelPerDay: z.ZodNumber;
161
+ newParticipantsPerDay: z.ZodNumber;
162
+ concurrent: z.ZodNumber;
163
+ pendingPerParticipant: z.ZodNumber;
164
+ pending: z.ZodNumber;
165
+ textCharacters: z.ZodNumber;
166
+ dailyMicroUsd: z.ZodNumber;
167
+ }, z.core.$strict>;
168
+ createdAt: z.ZodNumber;
169
+ updatedAt: z.ZodNumber;
170
+ actor: z.ZodString;
171
+ readyRevision: z.ZodOptional<z.ZodNumber>;
172
+ readyAt: z.ZodOptional<z.ZodNumber>;
173
+ }, z.core.$strict>>;
174
+ }, z.core.$strict>;
175
+ export declare const WhatsAppBindingClientResponseSchema: z.ZodObject<{
176
+ ok: z.ZodLiteral<true>;
177
+ data: z.ZodNullable<z.ZodObject<{
178
+ id: z.ZodString;
179
+ provider: z.ZodLiteral<"360dialog">;
180
+ phoneNumberId: z.ZodString;
181
+ apiKeySecret: z.ZodString;
182
+ webhookSecret: z.ZodString;
183
+ deploymentId: z.ZodString;
184
+ supportEmail: z.ZodEmail;
185
+ revision: z.ZodNumber;
186
+ generation: z.ZodNumber;
187
+ state: z.ZodEnum<{
188
+ paused: "paused";
189
+ enabled: "enabled";
190
+ disconnected: "disconnected";
191
+ }>;
192
+ createdAt: z.ZodNumber;
193
+ updatedAt: z.ZodNumber;
194
+ actor: z.ZodString;
195
+ readyRevision: z.ZodOptional<z.ZodNumber>;
196
+ readyAt: z.ZodOptional<z.ZodNumber>;
197
+ tenant: z.ZodObject<{
198
+ org: z.ZodString;
199
+ app: z.ZodString;
200
+ env: z.ZodString;
201
+ }, z.core.$strip>;
202
+ capabilities: z.ZodArray<z.ZodObject<{
203
+ kind: z.ZodEnum<{
204
+ tool: "tool";
205
+ knowledge: "knowledge";
206
+ }>;
207
+ name: z.ZodString;
208
+ }, z.core.$strip>>;
209
+ limits: z.ZodObject<{
210
+ perMinute: z.ZodNumber;
211
+ perHour: z.ZodNumber;
212
+ perDay: z.ZodNumber;
213
+ channelPerDay: z.ZodNumber;
214
+ newParticipantsPerDay: z.ZodNumber;
215
+ concurrent: z.ZodNumber;
216
+ pendingPerParticipant: z.ZodNumber;
217
+ pending: z.ZodNumber;
218
+ textCharacters: z.ZodNumber;
219
+ dailyMicroUsd: z.ZodNumber;
220
+ }, z.core.$strip>;
221
+ }, z.core.$strip>>;
222
+ }, z.core.$strip>;
223
+ export declare const WhatsAppReadinessResponseSchema: z.ZodObject<{
224
+ ok: z.ZodLiteral<true>;
225
+ data: z.ZodObject<{
226
+ ready: z.ZodBoolean;
227
+ revision: z.ZodNumber;
228
+ checks: z.ZodArray<z.ZodObject<{
229
+ name: z.ZodString;
230
+ status: z.ZodEnum<{
231
+ unavailable: "unavailable";
232
+ ready: "ready";
233
+ }>;
234
+ code: z.ZodOptional<z.ZodString>;
235
+ }, z.core.$strict>>;
236
+ webhookUrl: z.ZodOptional<z.ZodURL>;
237
+ }, z.core.$strict>;
238
+ }, z.core.$strict>;
239
+ export declare const WhatsAppReadinessClientResponseSchema: z.ZodObject<{
240
+ ok: z.ZodLiteral<true>;
241
+ data: z.ZodObject<{
242
+ ready: z.ZodBoolean;
243
+ revision: z.ZodNumber;
244
+ webhookUrl: z.ZodOptional<z.ZodURL>;
245
+ checks: z.ZodArray<z.ZodObject<{
246
+ name: z.ZodString;
247
+ status: z.ZodEnum<{
248
+ unavailable: "unavailable";
249
+ ready: "ready";
250
+ }>;
251
+ code: z.ZodOptional<z.ZodString>;
252
+ }, z.core.$strip>>;
253
+ }, z.core.$strip>;
254
+ }, z.core.$strip>;
255
+ export declare const WhatsAppWebhookResponseSchema: z.ZodObject<{
256
+ ok: z.ZodLiteral<true>;
257
+ data: z.ZodObject<{
258
+ url: z.ZodString;
259
+ matches: z.ZodBoolean;
260
+ authenticated: z.ZodBoolean;
261
+ }, z.core.$strict>;
262
+ }, z.core.$strict>;
263
+ export declare const WhatsAppWebhookClientResponseSchema: z.ZodObject<{
264
+ ok: z.ZodLiteral<true>;
265
+ data: z.ZodObject<{
266
+ url: z.ZodString;
267
+ matches: z.ZodBoolean;
268
+ authenticated: z.ZodBoolean;
269
+ }, z.core.$strip>;
270
+ }, z.core.$strip>;
271
+ export declare const WhatsAppUsageResponseSchema: z.ZodObject<{
272
+ ok: z.ZodLiteral<true>;
273
+ data: z.ZodObject<{
274
+ resetAt: z.ZodNumber;
275
+ admittedToday: z.ZodNumber;
276
+ newParticipantsToday: z.ZodNumber;
277
+ pending: z.ZodNumber;
278
+ oldestPendingAt: z.ZodNullable<z.ZodNumber>;
279
+ unknownSends: z.ZodNumber;
280
+ day: z.ZodString;
281
+ dailyMicroUsd: z.ZodNumber;
282
+ reservedMicroUsd: z.ZodNumber;
283
+ spentMicroUsd: z.ZodNumber;
284
+ }, z.core.$strict>;
285
+ }, z.core.$strict>;
286
+ export declare const WhatsAppUsageClientResponseSchema: z.ZodObject<{
287
+ ok: z.ZodLiteral<true>;
288
+ data: z.ZodObject<{
289
+ resetAt: z.ZodNumber;
290
+ admittedToday: z.ZodNumber;
291
+ newParticipantsToday: z.ZodNumber;
292
+ pending: z.ZodNumber;
293
+ oldestPendingAt: z.ZodNullable<z.ZodNumber>;
294
+ unknownSends: z.ZodNumber;
295
+ day: z.ZodString;
296
+ dailyMicroUsd: z.ZodNumber;
297
+ reservedMicroUsd: z.ZodNumber;
298
+ spentMicroUsd: z.ZodNumber;
299
+ }, z.core.$strip>;
300
+ }, z.core.$strip>;
301
+ export declare const WhatsAppEventsResponseSchema: z.ZodObject<{
302
+ ok: z.ZodLiteral<true>;
303
+ data: z.ZodArray<z.ZodObject<{
304
+ id: z.ZodString;
305
+ participantId: z.ZodString;
306
+ state: z.ZodEnum<{
307
+ unknown: "unknown";
308
+ accepted: "accepted";
309
+ read: "read";
310
+ expired: "expired";
311
+ queued: "queued";
312
+ running: "running";
313
+ failed: "failed";
314
+ delivered: "delivered";
315
+ reply: "reply";
316
+ sending: "sending";
317
+ refused: "refused";
318
+ cancelled: "cancelled";
319
+ }>;
320
+ eventAt: z.ZodNumber;
321
+ receivedAt: z.ZodNumber;
322
+ attempts: z.ZodNumber;
323
+ deploymentId: z.ZodString;
324
+ code: z.ZodOptional<z.ZodString>;
325
+ }, z.core.$strict>>;
326
+ next: z.ZodOptional<z.ZodString>;
327
+ }, z.core.$strict>;
328
+ export declare const WhatsAppEventsClientResponseSchema: z.ZodObject<{
329
+ ok: z.ZodLiteral<true>;
330
+ data: z.ZodArray<z.ZodObject<{
331
+ id: z.ZodString;
332
+ participantId: z.ZodString;
333
+ state: z.ZodEnum<{
334
+ unknown: "unknown";
335
+ accepted: "accepted";
336
+ read: "read";
337
+ expired: "expired";
338
+ queued: "queued";
339
+ running: "running";
340
+ failed: "failed";
341
+ delivered: "delivered";
342
+ reply: "reply";
343
+ sending: "sending";
344
+ refused: "refused";
345
+ cancelled: "cancelled";
346
+ }>;
347
+ eventAt: z.ZodNumber;
348
+ receivedAt: z.ZodNumber;
349
+ attempts: z.ZodNumber;
350
+ deploymentId: z.ZodString;
351
+ code: z.ZodOptional<z.ZodString>;
352
+ }, z.core.$strip>>;
353
+ next: z.ZodOptional<z.ZodString>;
354
+ }, z.core.$strip>;
355
+ export declare const WhatsAppBlocksResponseSchema: z.ZodObject<{
356
+ ok: z.ZodLiteral<true>;
357
+ data: z.ZodArray<z.ZodObject<{
358
+ participantId: z.ZodString;
359
+ actor: z.ZodString;
360
+ reason: z.ZodLiteral<"operator">;
361
+ local: z.ZodBoolean;
362
+ until: z.ZodNullable<z.ZodNumber>;
363
+ provider: z.ZodOptional<z.ZodObject<{
364
+ desired: z.ZodEnum<{
365
+ blocked: "blocked";
366
+ unblocked: "unblocked";
367
+ }>;
368
+ state: z.ZodEnum<{
369
+ error: "error";
370
+ unknown: "unknown";
371
+ confirmed: "confirmed";
372
+ pending: "pending";
373
+ }>;
374
+ updatedAt: z.ZodNumber;
375
+ code: z.ZodOptional<z.ZodString>;
376
+ }, z.core.$strict>>;
377
+ }, z.core.$strict>>;
378
+ next: z.ZodOptional<z.ZodString>;
379
+ }, z.core.$strict>;
380
+ export declare const WhatsAppBlocksClientResponseSchema: z.ZodObject<{
381
+ next: z.ZodOptional<z.ZodString>;
382
+ ok: z.ZodLiteral<true>;
383
+ data: z.ZodArray<z.ZodObject<{
384
+ participantId: z.ZodString;
385
+ actor: z.ZodString;
386
+ reason: z.ZodLiteral<"operator">;
387
+ local: z.ZodBoolean;
388
+ until: z.ZodNullable<z.ZodNumber>;
389
+ provider: z.ZodOptional<z.ZodObject<{
390
+ desired: z.ZodEnum<{
391
+ blocked: "blocked";
392
+ unblocked: "unblocked";
393
+ }>;
394
+ state: z.ZodEnum<{
395
+ error: "error";
396
+ unknown: "unknown";
397
+ confirmed: "confirmed";
398
+ pending: "pending";
399
+ }>;
400
+ updatedAt: z.ZodNumber;
401
+ code: z.ZodOptional<z.ZodString>;
402
+ }, z.core.$strip>>;
403
+ }, z.core.$strip>>;
404
+ }, z.core.$strip>;
405
+ export declare const WhatsAppCooldownResponseSchema: z.ZodObject<{
406
+ ok: z.ZodLiteral<true>;
407
+ data: z.ZodObject<{
408
+ participantId: z.ZodString;
409
+ until: z.ZodNullable<z.ZodNumber>;
410
+ }, z.core.$strict>;
411
+ }, z.core.$strict>;
412
+ export declare const WhatsAppCooldownClientResponseSchema: z.ZodObject<{
413
+ ok: z.ZodLiteral<true>;
414
+ data: z.ZodObject<{
415
+ participantId: z.ZodString;
416
+ until: z.ZodNullable<z.ZodNumber>;
417
+ }, z.core.$strip>;
418
+ }, z.core.$strip>;
419
+ export declare const WhatsAppMutationResponseSchema: z.ZodObject<{
420
+ ok: z.ZodLiteral<true>;
421
+ }, z.core.$strict>;
422
+ export declare const WhatsAppMutationClientResponseSchema: z.ZodObject<{
423
+ ok: z.ZodLiteral<true>;
424
+ }, z.core.$strip>;
425
+ export type WhatsAppConfigureRequest = z.infer<typeof WhatsAppConfigureRequestSchema>;
426
+ //# sourceMappingURL=whatsapp.d.ts.map
@@ -0,0 +1,213 @@
1
+ import { z } from 'zod';
2
+ const id = z.string().min(1).max(256);
3
+ const code = z
4
+ .string()
5
+ .regex(/^[a-z0-9_]+$/)
6
+ .max(100);
7
+ const revision = z.number().int().nonnegative();
8
+ const integer = (max) => z.number().int().min(0).max(max);
9
+ export const WhatsAppLimitsSchema = z.strictObject({
10
+ perMinute: integer(10),
11
+ perHour: integer(60),
12
+ perDay: integer(200),
13
+ channelPerDay: integer(1000),
14
+ newParticipantsPerDay: integer(200),
15
+ concurrent: integer(5),
16
+ pendingPerParticipant: integer(3),
17
+ pending: integer(100),
18
+ textCharacters: integer(4000),
19
+ dailyMicroUsd: integer(20_000_000),
20
+ });
21
+ const capability = z.strictObject({ kind: z.enum(['tool', 'knowledge']), name: id });
22
+ const secretRef = z.string().regex(/^[A-Z][A-Z0-9_]{0,127}$/);
23
+ export const WhatsAppConfigureRequestSchema = z.strictObject({
24
+ expectedRevision: revision,
25
+ phoneNumberId: id,
26
+ apiKeySecret: secretRef,
27
+ webhookSecret: secretRef,
28
+ capabilities: z.array(capability).max(64),
29
+ supportEmail: z.email().max(254),
30
+ limits: WhatsAppLimitsSchema.partial().optional(),
31
+ });
32
+ export const WhatsAppStateRequestSchema = z.strictObject({
33
+ expectedRevision: revision,
34
+ state: z.enum(['enabled', 'paused']),
35
+ });
36
+ export const WhatsAppRevisionRequestSchema = z.strictObject({ expectedRevision: revision });
37
+ export const WhatsAppLimitsRequestSchema = z.strictObject({
38
+ expectedRevision: revision,
39
+ limits: WhatsAppLimitsSchema.partial(),
40
+ });
41
+ export const WhatsAppBlockRequestSchema = z
42
+ .strictObject({
43
+ participantId: z
44
+ .string()
45
+ .regex(/^p_[a-f0-9]{64}$/)
46
+ .optional(),
47
+ phone: z
48
+ .string()
49
+ .regex(/^\+[1-9]\d{5,14}$/)
50
+ .optional(),
51
+ until: z.number().int().positive().nullable(),
52
+ scope: z.enum(['local', 'provider']).default('local'),
53
+ })
54
+ .refine((value) => Boolean(value.participantId) !== Boolean(value.phone), 'Choose one participant identifier');
55
+ export const WhatsAppUnblockRequestSchema = z.strictObject({
56
+ phone: z
57
+ .string()
58
+ .regex(/^\+[1-9]\d{5,14}$/)
59
+ .optional(),
60
+ scope: z.enum(['local', 'provider']).default('local'),
61
+ });
62
+ export const WhatsAppEmptyRequestSchema = z.strictObject({});
63
+ const tenant = z.strictObject({ org: id, app: id, env: id });
64
+ export const WhatsAppBindingSchema = z.strictObject({
65
+ id,
66
+ tenant,
67
+ provider: z.literal('360dialog'),
68
+ phoneNumberId: id,
69
+ apiKeySecret: secretRef,
70
+ webhookSecret: secretRef,
71
+ deploymentId: id,
72
+ capabilities: z.array(capability),
73
+ supportEmail: z.email(),
74
+ revision,
75
+ generation: revision,
76
+ state: z.enum(['paused', 'enabled', 'disconnected']),
77
+ limits: WhatsAppLimitsSchema,
78
+ createdAt: z.number(),
79
+ updatedAt: z.number(),
80
+ actor: id,
81
+ readyRevision: revision.optional(),
82
+ readyAt: z.number().optional(),
83
+ });
84
+ const bindingClient = WhatsAppBindingSchema.extend({
85
+ tenant: tenant.strip(),
86
+ capabilities: z.array(capability.strip()),
87
+ limits: WhatsAppLimitsSchema.strip(),
88
+ }).strip();
89
+ export const WhatsAppBindingResponseSchema = z.strictObject({
90
+ ok: z.literal(true),
91
+ data: WhatsAppBindingSchema.nullable(),
92
+ });
93
+ export const WhatsAppBindingClientResponseSchema = z.object({
94
+ ok: z.literal(true),
95
+ data: bindingClient.nullable(),
96
+ });
97
+ const check = z.strictObject({
98
+ name: id,
99
+ status: z.enum(['ready', 'unavailable']),
100
+ code: code.optional(),
101
+ });
102
+ const readiness = z.strictObject({
103
+ ready: z.boolean(),
104
+ revision,
105
+ checks: z.array(check),
106
+ webhookUrl: z.url().optional(),
107
+ });
108
+ export const WhatsAppReadinessResponseSchema = z.strictObject({
109
+ ok: z.literal(true),
110
+ data: readiness,
111
+ });
112
+ export const WhatsAppReadinessClientResponseSchema = z.object({
113
+ ok: z.literal(true),
114
+ data: readiness.extend({ checks: z.array(check.strip()) }).strip(),
115
+ });
116
+ const webhook = z.strictObject({
117
+ url: z.string().max(2048),
118
+ matches: z.boolean(),
119
+ authenticated: z.boolean(),
120
+ });
121
+ export const WhatsAppWebhookResponseSchema = z.strictObject({ ok: z.literal(true), data: webhook });
122
+ export const WhatsAppWebhookClientResponseSchema = z.object({
123
+ ok: z.literal(true),
124
+ data: webhook.strip(),
125
+ });
126
+ const usage = z.strictObject({
127
+ resetAt: z.number().int(),
128
+ admittedToday: z.number().int().nonnegative(),
129
+ newParticipantsToday: z.number().int().nonnegative(),
130
+ pending: z.number().int().nonnegative(),
131
+ oldestPendingAt: z.number().nullable(),
132
+ unknownSends: z.number().int().nonnegative(),
133
+ day: z.string(),
134
+ dailyMicroUsd: z.number().int().nonnegative(),
135
+ reservedMicroUsd: z.number().int().nonnegative(),
136
+ spentMicroUsd: z.number().int().nonnegative(),
137
+ });
138
+ export const WhatsAppUsageResponseSchema = z.strictObject({ ok: z.literal(true), data: usage });
139
+ export const WhatsAppUsageClientResponseSchema = z.object({
140
+ ok: z.literal(true),
141
+ data: usage.strip(),
142
+ });
143
+ const event = z.strictObject({
144
+ id,
145
+ participantId: id,
146
+ state: z.enum([
147
+ 'queued',
148
+ 'running',
149
+ 'reply',
150
+ 'sending',
151
+ 'accepted',
152
+ 'delivered',
153
+ 'read',
154
+ 'refused',
155
+ 'expired',
156
+ 'failed',
157
+ 'cancelled',
158
+ 'unknown',
159
+ ]),
160
+ eventAt: z.number(),
161
+ receivedAt: z.number(),
162
+ attempts: revision,
163
+ deploymentId: id,
164
+ code: code.optional(),
165
+ });
166
+ export const WhatsAppEventsResponseSchema = z.strictObject({
167
+ ok: z.literal(true),
168
+ data: z.array(event),
169
+ next: id.optional(),
170
+ });
171
+ export const WhatsAppEventsClientResponseSchema = z.object({
172
+ ok: z.literal(true),
173
+ data: z.array(event.strip()),
174
+ next: id.optional(),
175
+ });
176
+ const block = z.strictObject({
177
+ participantId: id,
178
+ actor: id,
179
+ reason: z.literal('operator'),
180
+ local: z.boolean(),
181
+ until: z.number().nullable(),
182
+ provider: z
183
+ .object({
184
+ desired: z.enum(['blocked', 'unblocked']),
185
+ state: z.enum(['pending', 'confirmed', 'error', 'unknown']),
186
+ updatedAt: z.number(),
187
+ code: code.optional(),
188
+ })
189
+ .strict()
190
+ .optional(),
191
+ });
192
+ export const WhatsAppBlocksResponseSchema = z.strictObject({
193
+ ok: z.literal(true),
194
+ data: z.array(block),
195
+ next: id.optional(),
196
+ });
197
+ export const WhatsAppBlocksClientResponseSchema = z.object({
198
+ next: id.optional(),
199
+ ok: z.literal(true),
200
+ data: z.array(block.extend({ provider: block.shape.provider.unwrap().strip().optional() }).strip()),
201
+ });
202
+ const cooldown = z.strictObject({ participantId: id, until: z.number().nullable() });
203
+ export const WhatsAppCooldownResponseSchema = z.strictObject({
204
+ ok: z.literal(true),
205
+ data: cooldown,
206
+ });
207
+ export const WhatsAppCooldownClientResponseSchema = z.object({
208
+ ok: z.literal(true),
209
+ data: cooldown.strip(),
210
+ });
211
+ export const WhatsAppMutationResponseSchema = z.strictObject({ ok: z.literal(true) });
212
+ export const WhatsAppMutationClientResponseSchema = z.object({ ok: z.literal(true) });
213
+ //# sourceMappingURL=whatsapp.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@noodleseed/one",
3
- "version": "0.170.0",
3
+ "version": "0.171.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.105.0",
239
+ "@noodle-borg/agent-kit": "0.106.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",