@tickernelz/paperclip-pro-shared 2026.1002.8 → 2026.1004.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 (84) hide show
  1. package/dist/.paperclip-build-complete +1 -1
  2. package/dist/app-definitions/openwa.json +70 -0
  3. package/dist/app-definitions-url.test.js +5 -0
  4. package/dist/app-definitions-url.test.js.map +1 -1
  5. package/dist/app-definitions.d.ts.map +1 -1
  6. package/dist/app-definitions.generated.d.ts.map +1 -1
  7. package/dist/app-definitions.generated.js +68 -67
  8. package/dist/app-definitions.generated.js.map +1 -1
  9. package/dist/app-definitions.js +13 -1
  10. package/dist/app-definitions.js.map +1 -1
  11. package/dist/app-definitions.test.js +1 -1
  12. package/dist/constants.d.ts +5 -2
  13. package/dist/constants.d.ts.map +1 -1
  14. package/dist/constants.js +6 -2
  15. package/dist/constants.js.map +1 -1
  16. package/dist/index.d.ts +5 -4
  17. package/dist/index.d.ts.map +1 -1
  18. package/dist/index.js +4 -3
  19. package/dist/index.js.map +1 -1
  20. package/dist/issue-thread-interactions.test.js +8 -0
  21. package/dist/issue-thread-interactions.test.js.map +1 -1
  22. package/dist/openwa-operations.d.ts +51 -0
  23. package/dist/openwa-operations.d.ts.map +1 -0
  24. package/dist/openwa-operations.js +9749 -0
  25. package/dist/openwa-operations.js.map +1 -0
  26. package/dist/openwa-operations.test.d.ts +2 -0
  27. package/dist/openwa-operations.test.d.ts.map +1 -0
  28. package/dist/openwa-operations.test.js +60 -0
  29. package/dist/openwa-operations.test.js.map +1 -0
  30. package/dist/openwa-tools.d.ts +269 -0
  31. package/dist/openwa-tools.d.ts.map +1 -0
  32. package/dist/openwa-tools.js +147 -0
  33. package/dist/openwa-tools.js.map +1 -0
  34. package/dist/openwa-tools.test.d.ts +2 -0
  35. package/dist/openwa-tools.test.d.ts.map +1 -0
  36. package/dist/openwa-tools.test.js +82 -0
  37. package/dist/openwa-tools.test.js.map +1 -0
  38. package/dist/settings-visibility.d.ts +1 -1
  39. package/dist/settings-visibility.d.ts.map +1 -1
  40. package/dist/settings-visibility.js +1 -0
  41. package/dist/settings-visibility.js.map +1 -1
  42. package/dist/types/app-definition.d.ts +1 -1
  43. package/dist/types/app-definition.d.ts.map +1 -1
  44. package/dist/types/chat-channels.d.ts +263 -1
  45. package/dist/types/chat-channels.d.ts.map +1 -1
  46. package/dist/types/chat-channels.js +47 -0
  47. package/dist/types/chat-channels.js.map +1 -1
  48. package/dist/types/index.d.ts +2 -2
  49. package/dist/types/index.d.ts.map +1 -1
  50. package/dist/types/index.js +1 -1
  51. package/dist/types/index.js.map +1 -1
  52. package/dist/types/instance.d.ts +11 -0
  53. package/dist/types/instance.d.ts.map +1 -1
  54. package/dist/types/instance.js +8 -0
  55. package/dist/types/instance.js.map +1 -1
  56. package/dist/types/issue.d.ts +1 -0
  57. package/dist/types/issue.d.ts.map +1 -1
  58. package/dist/types/tool-access.d.ts +1 -1
  59. package/dist/types/tool-access.d.ts.map +1 -1
  60. package/dist/validators/app-definition.d.ts +3 -0
  61. package/dist/validators/app-definition.d.ts.map +1 -1
  62. package/dist/validators/app-definition.js +1 -1
  63. package/dist/validators/app-definition.js.map +1 -1
  64. package/dist/validators/chat-channels-openwa.test.d.ts +2 -0
  65. package/dist/validators/chat-channels-openwa.test.d.ts.map +1 -0
  66. package/dist/validators/chat-channels-openwa.test.js +155 -0
  67. package/dist/validators/chat-channels-openwa.test.js.map +1 -0
  68. package/dist/validators/chat-channels.d.ts +279 -0
  69. package/dist/validators/chat-channels.d.ts.map +1 -1
  70. package/dist/validators/chat-channels.js +197 -2
  71. package/dist/validators/chat-channels.js.map +1 -1
  72. package/dist/validators/index.d.ts +1 -1
  73. package/dist/validators/index.d.ts.map +1 -1
  74. package/dist/validators/index.js +1 -1
  75. package/dist/validators/index.js.map +1 -1
  76. package/dist/validators/instance.d.ts +24 -0
  77. package/dist/validators/instance.d.ts.map +1 -1
  78. package/dist/validators/instance.js +45 -1
  79. package/dist/validators/instance.js.map +1 -1
  80. package/dist/validators/issue.d.ts +3 -0
  81. package/dist/validators/issue.d.ts.map +1 -1
  82. package/dist/validators/issue.js +2 -1
  83. package/dist/validators/issue.js.map +1 -1
  84. package/package.json +1 -1
@@ -0,0 +1,155 @@
1
+ import { describe, expect, it } from "vitest";
2
+ import { chatInflightModeSchema, openwaChatSettingsSchema, openwaEndpointPolicySchema, } from "./chat-channels.js";
3
+ const sharedDefaults = {
4
+ senderPolicyMode: "allowlist",
5
+ replyPolicy: "allowed",
6
+ absenceSeconds: 120,
7
+ approvals: {
8
+ createTask: true,
9
+ externalTools: true,
10
+ crossChatSend: true,
11
+ waAdmin: true,
12
+ gatewayAdmin: true,
13
+ reminderMinutes: 30,
14
+ maxReminders: 3,
15
+ grantTtlHours: 24,
16
+ },
17
+ rotateAfterIdleHours: 24,
18
+ progressNudgeSeconds: 60,
19
+ typingIndicator: true,
20
+ ownerNumberPrefix: { enabled: true, text: "\u{1F916} *Assistant:*" },
21
+ gatewayAdminTools: "off",
22
+ customInstructions: "",
23
+ auditContentRetentionDays: 90,
24
+ attestations: { pacing: false, soleClient: false },
25
+ };
26
+ describe("OpenWA endpoint policy", () => {
27
+ it("fills every agent_number default from an empty stored policy", () => {
28
+ expect(openwaEndpointPolicySchema.parse({})).toEqual({
29
+ ...sharedDefaults,
30
+ numberMode: "agent_number",
31
+ triggers: {
32
+ directMessage: true,
33
+ agentMentioned: true,
34
+ replyToAgent: true,
35
+ commandPrefix: { enabled: false, prefix: "/ai" },
36
+ selfChat: false,
37
+ ownerMentionedAbsent: true,
38
+ keywords: [],
39
+ allMessages: false,
40
+ },
41
+ });
42
+ });
43
+ it("derives owner_number trigger defaults from the number mode", () => {
44
+ expect(openwaEndpointPolicySchema.parse({ numberMode: "owner_number" })).toEqual({
45
+ ...sharedDefaults,
46
+ numberMode: "owner_number",
47
+ triggers: {
48
+ directMessage: false,
49
+ agentMentioned: false,
50
+ replyToAgent: true,
51
+ commandPrefix: { enabled: true, prefix: "/ai" },
52
+ selfChat: true,
53
+ ownerMentionedAbsent: true,
54
+ keywords: [],
55
+ allMessages: false,
56
+ },
57
+ });
58
+ });
59
+ it("keeps explicit trigger values over the mode defaults", () => {
60
+ const policy = openwaEndpointPolicySchema.parse({
61
+ numberMode: "owner_number",
62
+ triggers: {
63
+ directMessage: true,
64
+ commandPrefix: { prefix: "!bot" },
65
+ keywords: ["deploy"],
66
+ },
67
+ });
68
+ expect(policy.triggers).toEqual({
69
+ directMessage: true,
70
+ agentMentioned: false,
71
+ replyToAgent: true,
72
+ commandPrefix: { enabled: true, prefix: "!bot" },
73
+ selfChat: true,
74
+ ownerMentionedAbsent: true,
75
+ keywords: ["deploy"],
76
+ allMessages: false,
77
+ });
78
+ });
79
+ it("is idempotent over its own output", () => {
80
+ const once = openwaEndpointPolicySchema.parse({ numberMode: "owner_number", approvals: { waAdmin: false } });
81
+ expect(openwaEndpointPolicySchema.parse(once)).toEqual(once);
82
+ });
83
+ it.each([
84
+ [{ absenceSeconds: 9 }],
85
+ [{ absenceSeconds: 86_401 }],
86
+ [{ absenceSeconds: 120.5 }],
87
+ [{ approvals: { reminderMinutes: 0 } }],
88
+ [{ approvals: { maxReminders: 11 } }],
89
+ [{ approvals: { grantTtlHours: 0 } }],
90
+ [{ rotateAfterIdleHours: 0 }],
91
+ [{ progressNudgeSeconds: -1 }],
92
+ [{ auditContentRetentionDays: 0 }],
93
+ [{ customInstructions: "x".repeat(8001) }],
94
+ [{ ownerNumberPrefix: { text: "" } }],
95
+ [{ triggers: { commandPrefix: { prefix: "two words" } } }],
96
+ [{ triggers: { keywords: [""] } }],
97
+ [{ numberMode: "shared_number" }],
98
+ [{ gatewayAdminTools: "admin" }],
99
+ ])("rejects out-of-range value %j", (input) => {
100
+ expect(openwaEndpointPolicySchema.safeParse(input).success).toBe(false);
101
+ });
102
+ it("accepts the boundary values", () => {
103
+ const policy = openwaEndpointPolicySchema.parse({
104
+ absenceSeconds: 10,
105
+ progressNudgeSeconds: 0,
106
+ customInstructions: "x".repeat(8000),
107
+ approvals: { maxReminders: 0 },
108
+ });
109
+ expect(policy.absenceSeconds).toBe(10);
110
+ expect(policy.progressNudgeSeconds).toBe(0);
111
+ expect(policy.customInstructions).toHaveLength(8000);
112
+ expect(policy.approvals.maxReminders).toBe(0);
113
+ });
114
+ it.each([
115
+ [{ unknown: true }],
116
+ [{ triggers: { mentionAll: true } }],
117
+ [{ triggers: { commandPrefix: { enabled: true, caseSensitive: true } } }],
118
+ [{ approvals: { deleteChat: true } }],
119
+ [{ ownerNumberPrefix: { emoji: "x" } }],
120
+ [{ attestations: { pacing: true, other: true } }],
121
+ ])("rejects unknown key in %j", (input) => {
122
+ expect(openwaEndpointPolicySchema.safeParse(input).success).toBe(false);
123
+ });
124
+ });
125
+ describe("OpenWA per-chat settings", () => {
126
+ it("defaults activation to auto and leaves overrides absent", () => {
127
+ expect(openwaChatSettingsSchema.parse({})).toEqual({ activation: "auto" });
128
+ });
129
+ it("accepts overrides within bounds", () => {
130
+ expect(openwaChatSettingsSchema.parse({
131
+ activation: "on",
132
+ triggers: { allMessages: true },
133
+ absenceSeconds: 300,
134
+ replyPolicy: "owner_absent_only",
135
+ note: "n".repeat(2000),
136
+ })).toMatchObject({ activation: "on", absenceSeconds: 300, replyPolicy: "owner_absent_only" });
137
+ });
138
+ it.each([
139
+ [{ activation: "maybe" }],
140
+ [{ note: "n".repeat(2001) }],
141
+ [{ absenceSeconds: 5 }],
142
+ [{ replyPolicy: "never" }],
143
+ [{ triggers: { unknown: true } }],
144
+ [{ extra: 1 }],
145
+ ])("rejects %j", (input) => {
146
+ expect(openwaChatSettingsSchema.safeParse(input).success).toBe(false);
147
+ });
148
+ });
149
+ describe("chat in-flight mode", () => {
150
+ it("accepts only steer and queue", () => {
151
+ expect(chatInflightModeSchema.options).toEqual(["steer", "queue"]);
152
+ expect(chatInflightModeSchema.safeParse("drop").success).toBe(false);
153
+ });
154
+ });
155
+ //# sourceMappingURL=chat-channels-openwa.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chat-channels-openwa.test.js","sourceRoot":"","sources":["../../src/validators/chat-channels-openwa.test.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,12 @@
1
1
  import { z } from "zod";
2
+ import { type OpenwaEndpointPolicy, type OpenwaNumberMode, type OpenwaTriggerRules } from "../types/chat-channels.js";
2
3
  export declare const chatProviderSchema: z.ZodEnum<{
3
4
  agentmail: "agentmail";
4
5
  discord: "discord";
5
6
  github: "github";
6
7
  "imessage-photon": "imessage-photon";
7
8
  "microsoft-teams": "microsoft-teams";
9
+ openwa: "openwa";
8
10
  slack: "slack";
9
11
  telegram: "telegram";
10
12
  }>;
@@ -91,6 +93,7 @@ export declare const createChatEndpointSchema: z.ZodObject<{
91
93
  github: "github";
92
94
  "imessage-photon": "imessage-photon";
93
95
  "microsoft-teams": "microsoft-teams";
96
+ openwa: "openwa";
94
97
  slack: "slack";
95
98
  telegram: "telegram";
96
99
  }>;
@@ -128,6 +131,27 @@ export declare const inspectPhotonProjectSchema: z.ZodObject<{
128
131
  projectId: z.ZodString;
129
132
  projectSecret: z.ZodString;
130
133
  }, z.core.$strict>;
134
+ export declare const openwaBaseUrlSchema: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
135
+ export declare const openwaSessionIdSchema: z.ZodString;
136
+ export declare const inspectOpenwaGatewaySchema: z.ZodObject<{
137
+ baseUrl: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
138
+ apiKey: z.ZodString;
139
+ adminApiKey: z.ZodOptional<z.ZodString>;
140
+ }, z.core.$strict>;
141
+ export declare const openwaChannelConfigurationSchema: z.ZodObject<{
142
+ baseUrl: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
143
+ sessionId: z.ZodString;
144
+ numberMode: z.ZodDefault<z.ZodEnum<{
145
+ agent_number: "agent_number";
146
+ owner_number: "owner_number";
147
+ }>>;
148
+ attestations: z.ZodObject<{
149
+ pacing: z.ZodBoolean;
150
+ soleClient: z.ZodBoolean;
151
+ }, z.core.$strict>;
152
+ }, z.core.$strict>;
153
+ /** Masks an E.164 digit string as +62xxx...1234 for display. */
154
+ export declare function maskOpenwaPhoneNumber(digits: string): string;
131
155
  export declare const configureChatEndpointSchema: z.ZodObject<{
132
156
  action: z.ZodEnum<{
133
157
  configure: "configure";
@@ -148,6 +172,18 @@ export declare const configureChatEndpointSchema: z.ZodObject<{
148
172
  allocation: z.ZodLiteral<"shared">;
149
173
  projectId: z.ZodString;
150
174
  }, z.core.$strict>]>>;
175
+ openwa: z.ZodOptional<z.ZodObject<{
176
+ baseUrl: z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>;
177
+ sessionId: z.ZodString;
178
+ numberMode: z.ZodDefault<z.ZodEnum<{
179
+ agent_number: "agent_number";
180
+ owner_number: "owner_number";
181
+ }>>;
182
+ attestations: z.ZodObject<{
183
+ pacing: z.ZodBoolean;
184
+ soleClient: z.ZodBoolean;
185
+ }, z.core.$strict>;
186
+ }, z.core.$strict>>;
151
187
  }, z.core.$strict>;
152
188
  export declare const replaceChatEndpointResourcesSchema: z.ZodObject<{
153
189
  resources: z.ZodArray<z.ZodObject<{
@@ -211,5 +247,248 @@ export declare const confirmChatIdentityLinkSchema: z.ZodObject<{
211
247
  token: z.ZodString;
212
248
  }, z.core.$strict>;
213
249
  export declare const replayChatDeliverySchema: z.ZodObject<{}, z.core.$strict>;
250
+ export declare const chatInflightModeSchema: z.ZodEnum<{
251
+ queue: "queue";
252
+ steer: "steer";
253
+ }>;
254
+ export declare const openwaNumberModeSchema: z.ZodEnum<{
255
+ agent_number: "agent_number";
256
+ owner_number: "owner_number";
257
+ }>;
258
+ export declare const openwaSenderPolicyModeSchema: z.ZodEnum<{
259
+ all: "all";
260
+ allowlist: "allowlist";
261
+ denylist: "denylist";
262
+ }>;
263
+ export declare const openwaReplyPolicySchema: z.ZodEnum<{
264
+ allowed: "allowed";
265
+ ask_owner: "ask_owner";
266
+ owner_absent_only: "owner_absent_only";
267
+ }>;
268
+ export declare const openwaChatActivationSchema: z.ZodEnum<{
269
+ auto: "auto";
270
+ off: "off";
271
+ on: "on";
272
+ }>;
273
+ export declare const openwaGatewayAdminToolLevelSchema: z.ZodEnum<{
274
+ full: "full";
275
+ off: "off";
276
+ read: "read";
277
+ }>;
278
+ export declare const OPENWA_DEFAULT_COMMAND_PREFIX = "/ai";
279
+ export declare const OPENWA_DEFAULT_OWNER_NUMBER_PREFIX = "\uD83E\uDD16 *Assistant:*";
280
+ export declare const OPENWA_CUSTOM_INSTRUCTIONS_MAX_LENGTH = 8000;
281
+ export declare const OPENWA_CHAT_NOTE_MAX_LENGTH = 2000;
282
+ export declare function openwaDefaultTriggerRules(numberMode: OpenwaNumberMode): OpenwaTriggerRules;
283
+ export declare const openwaEndpointPolicySchema: z.ZodPipe<z.ZodObject<{
284
+ numberMode: z.ZodDefault<z.ZodEnum<{
285
+ agent_number: "agent_number";
286
+ owner_number: "owner_number";
287
+ }>>;
288
+ senderPolicyMode: z.ZodDefault<z.ZodEnum<{
289
+ all: "all";
290
+ allowlist: "allowlist";
291
+ denylist: "denylist";
292
+ }>>;
293
+ replyPolicy: z.ZodDefault<z.ZodEnum<{
294
+ allowed: "allowed";
295
+ ask_owner: "ask_owner";
296
+ owner_absent_only: "owner_absent_only";
297
+ }>>;
298
+ triggers: z.ZodOptional<z.ZodObject<{
299
+ directMessage: z.ZodOptional<z.ZodBoolean>;
300
+ agentMentioned: z.ZodOptional<z.ZodBoolean>;
301
+ replyToAgent: z.ZodOptional<z.ZodBoolean>;
302
+ commandPrefix: z.ZodOptional<z.ZodObject<{
303
+ enabled: z.ZodOptional<z.ZodBoolean>;
304
+ prefix: z.ZodOptional<z.ZodString>;
305
+ }, z.core.$strict>>;
306
+ selfChat: z.ZodOptional<z.ZodBoolean>;
307
+ ownerMentionedAbsent: z.ZodOptional<z.ZodBoolean>;
308
+ keywords: z.ZodOptional<z.ZodArray<z.ZodString>>;
309
+ allMessages: z.ZodOptional<z.ZodBoolean>;
310
+ }, z.core.$strict>>;
311
+ absenceSeconds: z.ZodDefault<z.ZodNumber>;
312
+ approvals: z.ZodPrefault<z.ZodObject<{
313
+ createTask: z.ZodDefault<z.ZodBoolean>;
314
+ externalTools: z.ZodDefault<z.ZodBoolean>;
315
+ crossChatSend: z.ZodDefault<z.ZodBoolean>;
316
+ waAdmin: z.ZodDefault<z.ZodBoolean>;
317
+ gatewayAdmin: z.ZodDefault<z.ZodBoolean>;
318
+ reminderMinutes: z.ZodDefault<z.ZodNumber>;
319
+ maxReminders: z.ZodDefault<z.ZodNumber>;
320
+ grantTtlHours: z.ZodDefault<z.ZodNumber>;
321
+ }, z.core.$strict>>;
322
+ rotateAfterIdleHours: z.ZodDefault<z.ZodNumber>;
323
+ progressNudgeSeconds: z.ZodDefault<z.ZodNumber>;
324
+ typingIndicator: z.ZodDefault<z.ZodBoolean>;
325
+ ownerNumberPrefix: z.ZodPrefault<z.ZodObject<{
326
+ enabled: z.ZodDefault<z.ZodBoolean>;
327
+ text: z.ZodDefault<z.ZodString>;
328
+ }, z.core.$strict>>;
329
+ gatewayAdminTools: z.ZodDefault<z.ZodEnum<{
330
+ full: "full";
331
+ off: "off";
332
+ read: "read";
333
+ }>>;
334
+ customInstructions: z.ZodDefault<z.ZodPipe<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>, z.ZodString>>;
335
+ auditContentRetentionDays: z.ZodDefault<z.ZodNumber>;
336
+ attestations: z.ZodPrefault<z.ZodObject<{
337
+ pacing: z.ZodDefault<z.ZodBoolean>;
338
+ soleClient: z.ZodDefault<z.ZodBoolean>;
339
+ }, z.core.$strict>>;
340
+ }, z.core.$strict>, z.ZodTransform<OpenwaEndpointPolicy, {
341
+ numberMode: "agent_number" | "owner_number";
342
+ senderPolicyMode: "all" | "allowlist" | "denylist";
343
+ replyPolicy: "allowed" | "ask_owner" | "owner_absent_only";
344
+ triggers?: {
345
+ directMessage?: boolean | undefined;
346
+ agentMentioned?: boolean | undefined;
347
+ replyToAgent?: boolean | undefined;
348
+ commandPrefix?: {
349
+ enabled?: boolean | undefined;
350
+ prefix?: string | undefined;
351
+ } | undefined;
352
+ selfChat?: boolean | undefined;
353
+ ownerMentionedAbsent?: boolean | undefined;
354
+ keywords?: string[] | undefined;
355
+ allMessages?: boolean | undefined;
356
+ } | undefined;
357
+ absenceSeconds: number;
358
+ approvals: {
359
+ createTask: boolean;
360
+ externalTools: boolean;
361
+ crossChatSend: boolean;
362
+ waAdmin: boolean;
363
+ gatewayAdmin: boolean;
364
+ reminderMinutes: number;
365
+ maxReminders: number;
366
+ grantTtlHours: number;
367
+ };
368
+ rotateAfterIdleHours: number;
369
+ progressNudgeSeconds: number;
370
+ typingIndicator: boolean;
371
+ ownerNumberPrefix: {
372
+ enabled: boolean;
373
+ text: string;
374
+ };
375
+ gatewayAdminTools: "full" | "off" | "read";
376
+ customInstructions: string;
377
+ auditContentRetentionDays: number;
378
+ attestations: {
379
+ pacing: boolean;
380
+ soleClient: boolean;
381
+ };
382
+ }>>;
383
+ export declare const openwaTriggerOverridesSchema: z.ZodObject<{
384
+ directMessage: z.ZodOptional<z.ZodBoolean>;
385
+ agentMentioned: z.ZodOptional<z.ZodBoolean>;
386
+ replyToAgent: z.ZodOptional<z.ZodBoolean>;
387
+ commandPrefix: z.ZodOptional<z.ZodObject<{
388
+ enabled: z.ZodOptional<z.ZodBoolean>;
389
+ prefix: z.ZodOptional<z.ZodString>;
390
+ }, z.core.$strict>>;
391
+ selfChat: z.ZodOptional<z.ZodBoolean>;
392
+ ownerMentionedAbsent: z.ZodOptional<z.ZodBoolean>;
393
+ keywords: z.ZodOptional<z.ZodArray<z.ZodString>>;
394
+ allMessages: z.ZodOptional<z.ZodBoolean>;
395
+ }, z.core.$strict>;
396
+ export declare const openwaChatSettingsSchema: z.ZodObject<{
397
+ activation: z.ZodDefault<z.ZodEnum<{
398
+ auto: "auto";
399
+ off: "off";
400
+ on: "on";
401
+ }>>;
402
+ triggers: z.ZodOptional<z.ZodObject<{
403
+ directMessage: z.ZodOptional<z.ZodBoolean>;
404
+ agentMentioned: z.ZodOptional<z.ZodBoolean>;
405
+ replyToAgent: z.ZodOptional<z.ZodBoolean>;
406
+ commandPrefix: z.ZodOptional<z.ZodObject<{
407
+ enabled: z.ZodOptional<z.ZodBoolean>;
408
+ prefix: z.ZodOptional<z.ZodString>;
409
+ }, z.core.$strict>>;
410
+ selfChat: z.ZodOptional<z.ZodBoolean>;
411
+ ownerMentionedAbsent: z.ZodOptional<z.ZodBoolean>;
412
+ keywords: z.ZodOptional<z.ZodArray<z.ZodString>>;
413
+ allMessages: z.ZodOptional<z.ZodBoolean>;
414
+ }, z.core.$strict>>;
415
+ absenceSeconds: z.ZodOptional<z.ZodNumber>;
416
+ replyPolicy: z.ZodOptional<z.ZodEnum<{
417
+ allowed: "allowed";
418
+ ask_owner: "ask_owner";
419
+ owner_absent_only: "owner_absent_only";
420
+ }>>;
421
+ note: z.ZodOptional<z.ZodPipe<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>, z.ZodString>>;
422
+ }, z.core.$strict>;
423
+ export declare const openwaE164Schema: z.ZodString;
424
+ export declare const addOpenwaOwnerSchema: z.ZodObject<{
425
+ e164: z.ZodString;
426
+ expiresInSeconds: z.ZodDefault<z.ZodNumber>;
427
+ }, z.core.$strict>;
428
+ export declare const createOpenwaSenderRuleSchema: z.ZodObject<{
429
+ list: z.ZodEnum<{
430
+ allow: "allow";
431
+ deny: "deny";
432
+ }>;
433
+ e164: z.ZodString;
434
+ label: z.ZodOptional<z.ZodString>;
435
+ }, z.core.$strict>;
436
+ export declare const updateOpenwaChatSettingsSchema: z.ZodObject<{
437
+ chatId: z.ZodString;
438
+ label: z.ZodOptional<z.ZodString>;
439
+ settings: z.ZodObject<{
440
+ activation: z.ZodDefault<z.ZodEnum<{
441
+ auto: "auto";
442
+ off: "off";
443
+ on: "on";
444
+ }>>;
445
+ triggers: z.ZodOptional<z.ZodObject<{
446
+ directMessage: z.ZodOptional<z.ZodBoolean>;
447
+ agentMentioned: z.ZodOptional<z.ZodBoolean>;
448
+ replyToAgent: z.ZodOptional<z.ZodBoolean>;
449
+ commandPrefix: z.ZodOptional<z.ZodObject<{
450
+ enabled: z.ZodOptional<z.ZodBoolean>;
451
+ prefix: z.ZodOptional<z.ZodString>;
452
+ }, z.core.$strict>>;
453
+ selfChat: z.ZodOptional<z.ZodBoolean>;
454
+ ownerMentionedAbsent: z.ZodOptional<z.ZodBoolean>;
455
+ keywords: z.ZodOptional<z.ZodArray<z.ZodString>>;
456
+ allMessages: z.ZodOptional<z.ZodBoolean>;
457
+ }, z.core.$strict>>;
458
+ absenceSeconds: z.ZodOptional<z.ZodNumber>;
459
+ replyPolicy: z.ZodOptional<z.ZodEnum<{
460
+ allowed: "allowed";
461
+ ask_owner: "ask_owner";
462
+ owner_absent_only: "owner_absent_only";
463
+ }>>;
464
+ note: z.ZodOptional<z.ZodPipe<z.ZodPipe<z.ZodString, z.ZodTransform<string, string>>, z.ZodString>>;
465
+ }, z.core.$strict>;
466
+ }, z.core.$strict>;
467
+ export declare const updateOpenwaEndpointPolicySchema: z.ZodObject<{
468
+ inflightMode: z.ZodOptional<z.ZodEnum<{
469
+ queue: "queue";
470
+ steer: "steer";
471
+ }>>;
472
+ }, z.core.$loose>;
473
+ export declare const resolveOpenwaApprovalSchema: z.ZodObject<{
474
+ decision: z.ZodEnum<{
475
+ approve: "approve";
476
+ reject: "reject";
477
+ }>;
478
+ reason: z.ZodOptional<z.ZodString>;
479
+ }, z.core.$strict>;
480
+ export declare const listOpenwaApprovalsQuerySchema: z.ZodObject<{
481
+ status: z.ZodOptional<z.ZodEnum<{
482
+ approved: "approved";
483
+ cancelled: "cancelled";
484
+ pending: "pending";
485
+ rejected: "rejected";
486
+ }>>;
487
+ }, z.core.$strict>;
488
+ export type OpenwaEndpointPolicyInput = z.input<typeof openwaEndpointPolicySchema>;
489
+ export type UpdateOpenwaEndpointPolicyInput = OpenwaEndpointPolicyInput & {
490
+ inflightMode?: z.infer<typeof chatInflightModeSchema>;
491
+ };
492
+ export type OpenwaChatSettingsInput = z.input<typeof openwaChatSettingsSchema>;
214
493
  export declare const chatPublicEndpointIdSchema: z.ZodString;
215
494
  //# sourceMappingURL=chat-channels.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"chat-channels.d.ts","sourceRoot":"","sources":["../../src/validators/chat-channels.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAexB,eAAO,MAAM,kBAAkB;;;;;;;;EAAyB,CAAC;AACzD,eAAO,MAAM,wBAAwB;;;;;;;;EAAiC,CAAC;AACvE,eAAO,MAAM,2BAA2B;;;;;;EAAoC,CAAC;AAC7E,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;EAA2B,CAAC;AAC5D,eAAO,MAAM,uBAAuB;;;;;;;EAA+B,CAAC;AACpE,eAAO,MAAM,0BAA0B;;;;;;;;;EAAkC,CAAC;AAC1E,eAAO,MAAM,uBAAuB;;;;;EAA+B,CAAC;AACpE,eAAO,MAAM,4BAA4B;;;;;EAAsC,CAAC;AAChF,eAAO,MAAM,8BAA8B;;;;EAE1C,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,gCAAgC,wDAOD,CAAC;AA4B7C,eAAO,MAAM,wBAAwB;;;;;;;;;;;;kBAO1B,CAAC;AAEZ,eAAO,MAAM,2BAA2B;;;;kBAI7B,CAAC;AAEZ,eAAO,MAAM,wBAAwB;;;;;;;;;;kBAWjC,CAAC;AAEL,eAAO,MAAM,qBAAqB,aAA8D,CAAC;AACjG,eAAO,MAAM,kBAAkB,aAAuF,CAAC;AACvH,eAAO,MAAM,gCAAgC;;;;;;;oBAG3C,CAAC;AACH,eAAO,MAAM,0BAA0B;;;kBAG5B,CAAC;AAEZ,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;kBA0BpC,CAAC;AAEL,eAAO,MAAM,kCAAkC;;;;;kBAapC,CAAC;AAEZ,eAAO,MAAM,wBAAwB;;kBAI1B,CAAC;AAEZ,eAAO,MAAM,6BAA6B;;;;kBAY/B,CAAC;AAEZ,eAAO,MAAM,4BAA4B;;;;;;oBAGvC,CAAC;AAEH,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;kBAW9B,CAAC;AAEZ,eAAO,MAAM,uBAAuB;;;;;;kBAIzB,CAAC;AAEZ,eAAO,MAAM,kCAAkC;;mBAKR,CAAC;AAExC,eAAO,MAAM,6BAA6B;;kBAI/B,CAAC;AAEZ,eAAO,MAAM,wBAAwB,iCAAwB,CAAC;AAE9D,eAAO,MAAM,0BAA0B,aAEJ,CAAC"}
1
+ {"version":3,"file":"chat-channels.d.ts","sourceRoot":"","sources":["../../src/validators/chat-channels.ts"],"names":[],"mappings":"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"}