@inboxychat/sdk 0.1.0 → 0.2.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.
- package/README.md +92 -3
- package/dist/api-route-inventory.generated.d.ts +2215 -0
- package/dist/api-route-inventory.generated.d.ts.map +1 -0
- package/dist/api-route-inventory.generated.js +2769 -0
- package/dist/api-route-inventory.generated.js.map +1 -0
- package/dist/client.d.ts +6 -1
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +27 -4
- package/dist/client.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/operations.d.ts +45 -0
- package/dist/operations.d.ts.map +1 -0
- package/dist/operations.js +467 -0
- package/dist/operations.js.map +1 -0
- package/package.json +6 -3
|
@@ -0,0 +1,467 @@
|
|
|
1
|
+
/** Audited dashboard operations. Discovery never enables an arbitrary HTTP proxy. */
|
|
2
|
+
import { createHash } from 'node:crypto';
|
|
3
|
+
import { z } from 'zod/v4';
|
|
4
|
+
import { InboxyError } from './errors.js';
|
|
5
|
+
const id = z.string().regex(/^[A-Za-z0-9_-]{1,64}$/);
|
|
6
|
+
const name = z.string().trim().min(1).max(300);
|
|
7
|
+
const priority = z.enum(['LOW', 'NORMAL', 'HIGH', 'URGENT']);
|
|
8
|
+
const empty = z.strictObject({});
|
|
9
|
+
const paging = z.strictObject({
|
|
10
|
+
search: z.string().max(200).optional(),
|
|
11
|
+
limit: z.number().int().min(1).max(100).optional(),
|
|
12
|
+
offset: z.number().int().min(0).max(1000000).optional(),
|
|
13
|
+
});
|
|
14
|
+
const customFields = z
|
|
15
|
+
.record(z
|
|
16
|
+
.string()
|
|
17
|
+
.min(1)
|
|
18
|
+
.max(100)
|
|
19
|
+
.refine((key) => !['__proto__', 'prototype', 'constructor'].includes(key)), z.union([z.string().max(2000), z.number().finite(), z.boolean(), z.null()]))
|
|
20
|
+
.refine((fields) => Object.keys(fields).length <= 100, 'At most 100 custom fields');
|
|
21
|
+
const tagFields = z.strictObject({
|
|
22
|
+
name: z
|
|
23
|
+
.string()
|
|
24
|
+
.trim()
|
|
25
|
+
.min(1)
|
|
26
|
+
.max(100)
|
|
27
|
+
.regex(/^[\p{L}\p{N}\p{Zs}\-_.,&()#]+$/u),
|
|
28
|
+
color: z
|
|
29
|
+
.string()
|
|
30
|
+
.regex(/^#[0-9a-fA-F]{6}$/)
|
|
31
|
+
.optional(),
|
|
32
|
+
});
|
|
33
|
+
const contact = {
|
|
34
|
+
customFields: customFields.optional(),
|
|
35
|
+
name: z.string().trim().min(1).max(200),
|
|
36
|
+
firstName: z.string().max(100).optional(),
|
|
37
|
+
lastName: z.string().max(100).optional(),
|
|
38
|
+
phone: z.string().max(32).optional(),
|
|
39
|
+
email: z.email().max(254).optional(),
|
|
40
|
+
tagIds: z.array(id).max(50).optional(),
|
|
41
|
+
};
|
|
42
|
+
const task = {
|
|
43
|
+
title: name,
|
|
44
|
+
description: z.string().max(10000).nullable().optional(),
|
|
45
|
+
priority: priority.optional(),
|
|
46
|
+
contactId: id.nullable().optional(),
|
|
47
|
+
conversationId: id.nullable().optional(),
|
|
48
|
+
assignedToId: id.nullable().optional(),
|
|
49
|
+
ticketId: id.nullable().optional(),
|
|
50
|
+
dueDate: z.iso.datetime({ offset: true }).nullable().optional(),
|
|
51
|
+
};
|
|
52
|
+
const ticket = {
|
|
53
|
+
subject: name,
|
|
54
|
+
description: z.string().max(10000).optional(),
|
|
55
|
+
contactId: id,
|
|
56
|
+
priority: priority.optional(),
|
|
57
|
+
assignedToId: id.optional(),
|
|
58
|
+
conversationId: id.optional(),
|
|
59
|
+
category: z.string().max(60).nullable().optional(),
|
|
60
|
+
};
|
|
61
|
+
const agentSettings = z
|
|
62
|
+
.strictObject({
|
|
63
|
+
name: z.string().min(1).max(50).optional(),
|
|
64
|
+
mission: z.string().min(1).max(500).optional(),
|
|
65
|
+
instructions: z.string().max(2000).nullable().optional(),
|
|
66
|
+
primaryLanguage: z.string().max(30).optional(),
|
|
67
|
+
responseStyle: z.enum(['CONCISE', 'BALANCED', 'DETAILED', 'FRIENDLY', 'FORMAL']).optional(),
|
|
68
|
+
})
|
|
69
|
+
.refine((v) => Object.keys(v).length > 0, 'Provide a change');
|
|
70
|
+
const readInput = z.strictObject({ query: paging.optional() });
|
|
71
|
+
const getInput = z.strictObject({ id });
|
|
72
|
+
const write = (body) => z.strictObject({ body });
|
|
73
|
+
const update = (body) => z.strictObject({ id, body });
|
|
74
|
+
const conversationInput = z.strictObject({ conversationId: id });
|
|
75
|
+
const conversationWrite = (body) => z.strictObject({ conversationId: id, body });
|
|
76
|
+
const agentInput = z.strictObject({ agentId: id });
|
|
77
|
+
const agentWrite = (body) => z.strictObject({ agentId: id, body });
|
|
78
|
+
const knowledge = z.strictObject({
|
|
79
|
+
title: z.string().trim().min(1).max(200),
|
|
80
|
+
content: z.string().min(1).max(50000),
|
|
81
|
+
contentType: z.enum(['TEXT', 'FAQ', 'PRODUCT', 'POLICY']).default('TEXT'),
|
|
82
|
+
category: z.string().max(100).optional(),
|
|
83
|
+
tags: z.array(z.string().max(50)).max(50).optional(),
|
|
84
|
+
});
|
|
85
|
+
const money = z.number().finite().min(0).max(1000000000);
|
|
86
|
+
const currency = z.string().regex(/^[A-Z]{3}$/);
|
|
87
|
+
const product = z.strictObject({
|
|
88
|
+
name: name,
|
|
89
|
+
price: money,
|
|
90
|
+
description: z.string().max(10000).optional(),
|
|
91
|
+
sku: z.string().max(100).optional(),
|
|
92
|
+
currency: currency.optional(),
|
|
93
|
+
isActive: z.boolean().optional(),
|
|
94
|
+
stockQuantity: z.number().int().min(0).max(1000000000).nullable().optional(),
|
|
95
|
+
categoryId: id.optional(),
|
|
96
|
+
});
|
|
97
|
+
const category = z.strictObject({
|
|
98
|
+
name,
|
|
99
|
+
description: z.string().max(2000).optional(),
|
|
100
|
+
sortOrder: z.number().int().min(0).max(1000000).optional(),
|
|
101
|
+
});
|
|
102
|
+
const pageQuery = z.strictObject({
|
|
103
|
+
query: z
|
|
104
|
+
.strictObject({
|
|
105
|
+
search: z.string().max(200).optional(),
|
|
106
|
+
page: z.number().int().min(1).max(10000).optional(),
|
|
107
|
+
limit: z.number().int().min(1).max(100).optional(),
|
|
108
|
+
})
|
|
109
|
+
.optional(),
|
|
110
|
+
});
|
|
111
|
+
const orderNotes = z
|
|
112
|
+
.strictObject({
|
|
113
|
+
customerNote: z.string().max(10000).optional(),
|
|
114
|
+
internalNote: z.string().max(10000).optional(),
|
|
115
|
+
})
|
|
116
|
+
.refine((v) => Object.keys(v).length > 0);
|
|
117
|
+
const sendTarget = z.strictObject({
|
|
118
|
+
contactId: id,
|
|
119
|
+
channelId: id,
|
|
120
|
+
channelType: z.enum(['WHATSAPP', 'MESSENGER', 'INSTAGRAM', 'TELEGRAM', 'WEB']),
|
|
121
|
+
});
|
|
122
|
+
const campaignApproval = z.strictObject({
|
|
123
|
+
schemaVersion: z.literal(1),
|
|
124
|
+
campaignId: id,
|
|
125
|
+
companyId: id,
|
|
126
|
+
action: z.enum(['send', 'schedule', 'resume']),
|
|
127
|
+
status: z.string().max(40),
|
|
128
|
+
updatedAt: z.iso.datetime({ offset: true }),
|
|
129
|
+
scheduledAt: z.iso.datetime({ offset: true }).nullable(),
|
|
130
|
+
content: z.record(z.string(), z.unknown()),
|
|
131
|
+
identity: z.record(z.string(), z.unknown()),
|
|
132
|
+
audience: z.array(z.record(z.string(), z.unknown())),
|
|
133
|
+
effect: z.string().max(2000),
|
|
134
|
+
fingerprint: z.string().regex(/^[a-f0-9]{64}$/),
|
|
135
|
+
});
|
|
136
|
+
const campaignActionInput = (action) => z
|
|
137
|
+
.strictObject({
|
|
138
|
+
id,
|
|
139
|
+
body: z.strictObject({ approval: campaignApproval.extend({ action: z.literal(action) }) }),
|
|
140
|
+
})
|
|
141
|
+
.refine((value) => value.id === value.body.approval.campaignId, 'Approval must match campaign target')
|
|
142
|
+
.refine((value) => action !== 'schedule' || value.body.approval.scheduledAt !== null, 'Scheduling requires an exact instant');
|
|
143
|
+
const op = (id, method, path, scope, summary, effect, input, warning) => ({
|
|
144
|
+
id,
|
|
145
|
+
method,
|
|
146
|
+
path: `/api/v1${path}`,
|
|
147
|
+
scope,
|
|
148
|
+
summary,
|
|
149
|
+
effect,
|
|
150
|
+
input,
|
|
151
|
+
...(warning ? { warning } : {}),
|
|
152
|
+
});
|
|
153
|
+
export const DEVELOPER_OPERATIONS = [
|
|
154
|
+
op('contacts.create', 'POST', '/contacts', 'contacts:write', 'Create a contact', 'record', write(z.strictObject(contact)), 'Custom fields are a complete replacement map, not a merge; retain existing values you need.'),
|
|
155
|
+
op('contacts.update', 'PUT', '/contacts/:id', 'contacts:write', 'Update contact identity, tags and custom fields', 'update', update(z
|
|
156
|
+
.strictObject(contact)
|
|
157
|
+
.partial()
|
|
158
|
+
.refine((v) => Object.keys(v).length > 0)), 'Custom fields replace the entire map and tagIds replace tag assignments. Retain existing values you need.'),
|
|
159
|
+
op('contacts.status', 'PATCH', '/contacts/:id/status', 'contacts:write', 'Change contact status', 'update', update(z.strictObject({ status: z.enum(['ACTIVE', 'INACTIVE', 'ARCHIVED']) }))),
|
|
160
|
+
op('contacts.stage', 'PATCH', '/contacts/:id/stage', 'contacts:write', 'Change contact lifecycle stage', 'update', update(z.strictObject({
|
|
161
|
+
lifecycleStage: z.enum([
|
|
162
|
+
'LEAD',
|
|
163
|
+
'SUBSCRIBER',
|
|
164
|
+
'OPPORTUNITY',
|
|
165
|
+
'CUSTOMER',
|
|
166
|
+
'REPEAT_CUSTOMER',
|
|
167
|
+
'EVANGELIST',
|
|
168
|
+
]),
|
|
169
|
+
}))),
|
|
170
|
+
op('contacts.assign', 'PATCH', '/contacts/:id/assign', 'contacts:write', 'Assign or unassign a contact', 'update', update(z.strictObject({ agentId: id.nullable() }))),
|
|
171
|
+
op('contacts.note', 'POST', '/contacts/:id/note', 'contacts:write', 'Append an internal contact note', 'record', update(z.strictObject({ note: z.string().trim().min(1).max(10000) }))),
|
|
172
|
+
op('contacts.custom-fields.keys', 'GET', '/contacts/custom-field-keys', 'contacts:read', 'Discover existing custom field names', 'read', empty),
|
|
173
|
+
op('contacts.tags.list', 'GET', '/contacts/tags/all', 'contacts:read', 'List contact tags', 'read', empty),
|
|
174
|
+
op('contacts.tags.create', 'POST', '/contacts/tags', 'contacts:write', 'Create a contact tag', 'record', write(tagFields)),
|
|
175
|
+
op('contacts.tags.update', 'PUT', '/contacts/tags/:tagId', 'contacts:write', 'Rename or recolor a contact tag', 'update', z.strictObject({
|
|
176
|
+
tagId: id,
|
|
177
|
+
body: tagFields.partial().refine((v) => Object.keys(v).length > 0),
|
|
178
|
+
})),
|
|
179
|
+
op('contacts.tags.attach', 'POST', '/contacts/:id/tags/:tagId', 'contacts:write', 'Attach a tag to one contact', 'update', z.strictObject({ id, tagId: id }), 'May trigger configured tag automation, including customer messages, and synchronize Messenger labels.'),
|
|
180
|
+
op('contacts.tags.detach', 'DELETE', '/contacts/:id/tags/:tagId', 'contacts:write', 'Detach a tag from one contact', 'update', z.strictObject({ id, tagId: id }), 'May trigger configured tag automation and synchronize Messenger labels. Does not delete the tag or contact.'),
|
|
181
|
+
op('automations.list', 'GET', '/automations-v2', 'automations:read', 'List automation workflows', 'read', readInput),
|
|
182
|
+
op('automations.get', 'GET', '/automations-v2/:workflowId', 'automations:read', 'Read workflow state and version', 'read', z.strictObject({ workflowId: id })),
|
|
183
|
+
op('automations.graph', 'GET', '/automations-v2/:workflowId/graph', 'automations:read', 'Read the workflow graph', 'read', z.strictObject({ workflowId: id })),
|
|
184
|
+
op('automations.runs', 'GET', '/automations-v2/:workflowId/runs', 'automations:read', 'Read workflow execution history', 'read', z.strictObject({ workflowId: id })),
|
|
185
|
+
op('automations.run.get', 'GET', '/automations-v2/:workflowId/runs/:runId', 'automations:read', 'Read an execution outcome', 'read', z.strictObject({ workflowId: id, runId: id })),
|
|
186
|
+
op('automations.draft.create', 'POST', '/automations-v2', 'automations:write', 'Create an inactive empty workflow draft', 'draft', write(z.strictObject({
|
|
187
|
+
name,
|
|
188
|
+
description: z.string().max(2000).optional(),
|
|
189
|
+
channelType: z
|
|
190
|
+
.enum(['WHATSAPP', 'INSTAGRAM', 'MESSENGER', 'TELEGRAM', 'WEB', 'SMS', 'TIKTOK'])
|
|
191
|
+
.optional(),
|
|
192
|
+
})), 'Creates an inactive draft. Graph editing, testing, publishing and activation are not supported by this adapter.'),
|
|
193
|
+
op('automations.activation.preview', 'GET', '/automations-v2/:workflowId/activation-preview', 'automations:read', 'Read the exact published workflow and live effects for approval', 'read', z.strictObject({ workflowId: id })),
|
|
194
|
+
op('automations.activate', 'POST', '/automations-v2/:workflowId/activate', 'automations:write', 'Activate the exact approved published workflow', 'activate', z.strictObject({
|
|
195
|
+
workflowId: id,
|
|
196
|
+
body: z.strictObject({
|
|
197
|
+
approval: z.strictObject({
|
|
198
|
+
workflowId: id,
|
|
199
|
+
name: z.string().max(1000),
|
|
200
|
+
status: z.enum(['DRAFT', 'ACTIVE', 'PAUSED', 'ARCHIVED']),
|
|
201
|
+
channelType: z.string().nullable(),
|
|
202
|
+
currentVersionId: id,
|
|
203
|
+
definitionHash: z.string().min(1).max(200),
|
|
204
|
+
updatedAt: z.iso.datetime({ offset: true }),
|
|
205
|
+
graph: z.record(z.string(), z.unknown()),
|
|
206
|
+
effect: z.string().max(1000),
|
|
207
|
+
fingerprint: z.string().regex(/^[a-f0-9]{64}$/),
|
|
208
|
+
}),
|
|
209
|
+
}),
|
|
210
|
+
}), 'Starts matching future events; may send customer messages, modify records or consume credits. Approve the full activation preview. Server rejects changed graphs, versions or workflow settings.'),
|
|
211
|
+
op('automations.simulate', 'POST', '/automations-v2/:workflowId/test-run', 'automations:write', 'Simulate a workflow with dry services', 'test', z.strictObject({
|
|
212
|
+
workflowId: id,
|
|
213
|
+
body: z.strictObject({
|
|
214
|
+
conversationId: id.optional(),
|
|
215
|
+
sampleMessage: z.string().max(10000).optional(),
|
|
216
|
+
skipDelays: z.boolean().optional(),
|
|
217
|
+
}),
|
|
218
|
+
}), 'Dry services skip external side effects. Simulation can read tenant fixture data; inspect execution results before considering activation.'),
|
|
219
|
+
op('automations.pause', 'PATCH', '/automations-v2/:workflowId/status', 'automations:write', 'Pause a workflow and cancel waiting runs', 'update', z.strictObject({ workflowId: id, body: z.strictObject({ status: z.literal('PAUSED') }) }), 'Stops future executions and cancels waiting runs. In-flight actions may already have completed.'),
|
|
220
|
+
op('campaigns.preview', 'POST', '/whatsapp/campaigns/preview', 'campaigns:read', 'Estimate an explicit-contact campaign audience', 'read', write(z.strictObject({
|
|
221
|
+
templateId: id,
|
|
222
|
+
audience: z.strictObject({
|
|
223
|
+
type: z.literal('CONTACTS'),
|
|
224
|
+
contactIds: z.array(id).min(1).max(1000),
|
|
225
|
+
}),
|
|
226
|
+
scheduledAt: z.iso.datetime({ offset: true }).optional(),
|
|
227
|
+
})), 'Estimates only; this is not authorization to send or schedule. Eligibility and prices can change.'),
|
|
228
|
+
op('campaigns.pause', 'POST', '/whatsapp/campaigns/:id/pause', 'campaigns:write', 'Pause campaign delivery', 'update', getInput, 'Stops further dispatch; already submitted messages cannot be recalled.'),
|
|
229
|
+
op('campaigns.cancel', 'POST', '/whatsapp/campaigns/:id/cancel', 'campaigns:write', 'Cancel remaining campaign delivery', 'update', getInput, 'Cancels remaining delivery; already submitted messages cannot be recalled.'),
|
|
230
|
+
op('tasks.list', 'GET', '/tasks', 'tasks:read', 'List tasks', 'read', readInput),
|
|
231
|
+
op('tasks.get', 'GET', '/tasks/:id', 'tasks:read', 'Read a task', 'read', getInput),
|
|
232
|
+
op('tasks.create', 'POST', '/tasks', 'tasks:write', 'Create an internal task', 'record', write(z.strictObject(task))),
|
|
233
|
+
op('tasks.update', 'PUT', '/tasks/:id', 'tasks:write', 'Update task details', 'update', update(z
|
|
234
|
+
.strictObject(task)
|
|
235
|
+
.partial()
|
|
236
|
+
.refine((v) => Object.keys(v).length > 0))),
|
|
237
|
+
op('tasks.assign', 'POST', '/tasks/:id/assign', 'tasks:write', 'Assign or unassign a task', 'update', update(z.strictObject({ assignedToId: id.nullable() }))),
|
|
238
|
+
op('tasks.complete', 'POST', '/tasks/:id/complete', 'tasks:write', 'Complete a task', 'update', getInput),
|
|
239
|
+
op('tickets.list', 'GET', '/tickets', 'tickets:read', 'List tickets', 'read', readInput),
|
|
240
|
+
op('tickets.get', 'GET', '/tickets/:id', 'tickets:read', 'Read a ticket', 'read', getInput),
|
|
241
|
+
op('tickets.create', 'POST', '/tickets', 'tickets:write', 'Create an internal customer ticket', 'record', write(z.strictObject(ticket))),
|
|
242
|
+
op('tickets.update', 'PUT', '/tickets/:id', 'tickets:write', 'Update ticket details', 'update', update(z
|
|
243
|
+
.strictObject(ticket)
|
|
244
|
+
.partial()
|
|
245
|
+
.refine((v) => Object.keys(v).length > 0))),
|
|
246
|
+
op('tickets.assign', 'POST', '/tickets/:id/assign', 'tickets:write', 'Assign or unassign a ticket', 'update', update(z.strictObject({ assignedToId: id.nullable() }))),
|
|
247
|
+
op('tickets.close', 'POST', '/tickets/:id/close', 'tickets:write', 'Close a ticket with an internal resolution', 'update', update(z.strictObject({
|
|
248
|
+
reason: z.enum(['RESOLVED', 'NO_REPLY', 'DUPLICATE', 'NOT_AN_ISSUE', 'OTHER']),
|
|
249
|
+
resolutionNote: z.string().max(5000).optional(),
|
|
250
|
+
}))),
|
|
251
|
+
op('tickets.note', 'POST', '/tickets/:id/comments', 'tickets:write', 'Add an internal ticket note', 'record', update(z.strictObject({
|
|
252
|
+
content: z.string().min(1).max(10000),
|
|
253
|
+
isInternal: z.literal(true).default(true),
|
|
254
|
+
}))),
|
|
255
|
+
op('ai.list', 'GET', '/ai-agents', 'ai:read', 'List AI employees', 'read', empty),
|
|
256
|
+
op('ai.get', 'GET', '/ai-agents/:agentId', 'ai:read', 'Read AI employee configuration', 'read', z.strictObject({ agentId: id })),
|
|
257
|
+
op('ai.draft.create', 'POST', '/ai-agents/drafts', 'ai:write', 'Create or resume an inactive employee draft', 'draft', write(z.strictObject({
|
|
258
|
+
name: z.string().trim().min(1).max(30),
|
|
259
|
+
gender: z.enum(['MALE', 'FEMALE']),
|
|
260
|
+
role: z.enum(['sales', 'after', 'book', 'front']),
|
|
261
|
+
mission: z.string().max(200).optional(),
|
|
262
|
+
setupKey: z.string().regex(/^[A-Za-z0-9_-]{8,64}$/),
|
|
263
|
+
}))),
|
|
264
|
+
op('ai.configure', 'PUT', '/ai-agents/:agentId', 'ai:write', 'Update employee instructions and reply style', 'update', z.strictObject({ agentId: id, body: agentSettings }), 'Changes affect future replies if this employee is live.'),
|
|
265
|
+
op('ai.test', 'POST', '/ai-agents/:agentId/test', 'ai:write', 'Test an employee without customer-side effects', 'test', z.strictObject({
|
|
266
|
+
agentId: id,
|
|
267
|
+
body: z.strictObject({
|
|
268
|
+
messages: z
|
|
269
|
+
.array(z.strictObject({ role: z.enum(['user', 'assistant']), content: z.string().max(2000) }))
|
|
270
|
+
.max(30),
|
|
271
|
+
newMessage: z.string().min(1).max(2000),
|
|
272
|
+
}),
|
|
273
|
+
}), 'Consumes AI test allowance/credits. No customer message is sent.'),
|
|
274
|
+
op('ai.readiness', 'POST', '/ai-agents/:agentId/setup-test', 'ai:write', 'Run the employee readiness check', 'test', z.strictObject({ agentId: id }), 'Runs the existing readiness check; does not activate the employee.'),
|
|
275
|
+
op('ai.publish', 'POST', '/ai-agents/:agentId/publish', 'ai:write', 'Activate an employee on selected channels', 'activate', z.strictObject({
|
|
276
|
+
agentId: id,
|
|
277
|
+
body: z.strictObject({ channelIds: z.array(id).min(1).max(50) }),
|
|
278
|
+
}), 'Enables automatic customer replies on these channels and may replace their current employee. Requires a successful current readiness check.'),
|
|
279
|
+
op('campaigns.list', 'GET', '/whatsapp/campaigns', 'campaigns:read', 'List WhatsApp campaigns', 'read', empty),
|
|
280
|
+
op('campaigns.get', 'GET', '/whatsapp/campaigns/:id', 'campaigns:read', 'Read a campaign', 'read', getInput),
|
|
281
|
+
op('campaigns.approval', 'GET', '/whatsapp/campaigns/:id/action-preview', 'campaigns:read', 'Resolve the exact audience, content, sender and timing for approval', 'read', z.strictObject({
|
|
282
|
+
id,
|
|
283
|
+
query: z
|
|
284
|
+
.strictObject({
|
|
285
|
+
action: z.enum(['send', 'schedule', 'resume']),
|
|
286
|
+
scheduledAt: z.iso.datetime({ offset: true }).optional(),
|
|
287
|
+
})
|
|
288
|
+
.refine((query) => query.action !== 'schedule' || Boolean(query.scheduledAt), 'Scheduling requires an exact time'),
|
|
289
|
+
})),
|
|
290
|
+
op('campaigns.send', 'POST', '/whatsapp/campaigns/:id/approved-send', 'campaigns:write', 'Send the exact approved campaign audience and content', 'send', campaignActionInput('send'), 'Sends real WhatsApp messages and consumes messaging budget. Show and approve every recipient, template/content, sender and rate before execution. Server freezes the approved snapshot and refuses stale changes.'),
|
|
291
|
+
op('campaigns.resume', 'POST', '/whatsapp/campaigns/:id/approved-resume', 'campaigns:write', 'Resume delivery to the explicitly approved remaining audience', 'send', campaignActionInput('resume'), 'Resumes real WhatsApp delivery and may consume messaging budget. Approve remaining recipients, template/content, sender, rate and any future schedule.'),
|
|
292
|
+
op('campaigns.schedule', 'POST', '/whatsapp/campaigns/:id/approved-schedule', 'campaigns:write', 'Schedule the exact approved campaign snapshot', 'schedule', campaignActionInput('schedule'), 'Authorizes future real delivery at approval.scheduledAt. Approve the time zone/instant, exact audience, sender, content and messaging budget. Stored approval is rechecked before dispatch.'),
|
|
293
|
+
op('campaigns.draft.create', 'POST', '/whatsapp/campaigns', 'campaigns:write', 'Create an unscheduled campaign draft for selected contacts', 'draft', write(z.strictObject({
|
|
294
|
+
name: z.string().trim().min(1).max(80),
|
|
295
|
+
templateId: id,
|
|
296
|
+
audience: z.strictObject({
|
|
297
|
+
type: z.literal('CONTACTS'),
|
|
298
|
+
contactIds: z.array(id).min(1).max(1000),
|
|
299
|
+
}),
|
|
300
|
+
})), 'Saves a draft only. Sending, scheduling and audience imports are not supported by this operation.'),
|
|
301
|
+
op('inbox.get', 'GET', '/inbox/conversations/:conversationId', 'conversations:read', 'Read recipient and channel before any action', 'read', conversationInput),
|
|
302
|
+
op('inbox.window', 'GET', '/inbox/conversations/:conversationId/window', 'conversations:read', 'Inspect the messaging window', 'read', conversationInput),
|
|
303
|
+
op('inbox.assign', 'PATCH', '/inbox/conversations/:conversationId/assign', 'conversations:write', 'Assign or unassign an inbox conversation', 'update', conversationWrite(z.strictObject({ assignedToId: id.nullable() }))),
|
|
304
|
+
op('inbox.status', 'PATCH', '/inbox/conversations/:conversationId/status', 'conversations:write', 'Change inbox status', 'update', conversationWrite(z.strictObject({ status: z.enum(['OPEN', 'PENDING', 'RESOLVED', 'CLOSED']) }))),
|
|
305
|
+
op('inbox.labels', 'PATCH', '/inbox/conversations/:conversationId/labels', 'conversations:write', 'Add or remove inbox labels', 'update', conversationWrite(z
|
|
306
|
+
.strictObject({
|
|
307
|
+
add: z.array(z.string().trim().min(1).max(50)).max(20).default([]),
|
|
308
|
+
remove: z.array(z.string().trim().min(1).max(50)).max(20).default([]),
|
|
309
|
+
})
|
|
310
|
+
.refine((v) => v.add.length + v.remove.length > 0))),
|
|
311
|
+
op('inbox.notes.list', 'GET', '/inbox/conversations/:conversationId/notes/list', 'conversations:read', 'Read internal notes', 'read', conversationInput),
|
|
312
|
+
op('inbox.note.create', 'POST', '/inbox/conversations/:conversationId/notes/list', 'conversations:write', 'Add an internal note, never a customer reply', 'record', conversationWrite(z.strictObject({ content: z.string().trim().min(1).max(10000), messageId: id.optional() }))),
|
|
313
|
+
op('inbox.message.send', 'POST', '/inbox/conversations/:conversationId/messages', 'messages:send', 'Send one text message to the approved conversation recipient', 'send', z.strictObject({
|
|
314
|
+
conversationId: id,
|
|
315
|
+
target: sendTarget,
|
|
316
|
+
body: z.strictObject({
|
|
317
|
+
type: z.literal('text').default('text'),
|
|
318
|
+
content: z.string().trim().min(1).max(4000),
|
|
319
|
+
replyToMessageId: id.optional(),
|
|
320
|
+
}),
|
|
321
|
+
}), 'SENDS A REAL CUSTOMER MESSAGE. Approve the exact recipient contactId, channelId/channelType, conversation and full content. Check the messaging window first. No media, templates, bulk send or automatic retry.'),
|
|
322
|
+
op('ai.channels.list', 'GET', '/ai-agents/channels', 'ai:read', 'List assignable channels', 'read', empty),
|
|
323
|
+
op('ai.channels.configure', 'PUT', '/ai-agents/:agentId/channels', 'ai:write', 'Replace employee channel assignments', 'activate', agentWrite(z.strictObject({ channelIds: z.array(id).max(50) })), 'Changes live reply routing if the employee is active; can replace another employee. Empty selection removes assignments.'),
|
|
324
|
+
op('ai.knowledge.list', 'GET', '/ai-agents/:agentId/knowledge', 'ai:read', 'Read employee knowledge entries', 'read', agentInput),
|
|
325
|
+
op('ai.knowledge.get', 'GET', '/ai-agents/:agentId/knowledge/:knowledgeId', 'ai:read', 'Read one employee knowledge entry', 'read', z.strictObject({ agentId: id, knowledgeId: id })),
|
|
326
|
+
op('ai.knowledge.create', 'POST', '/ai-agents/:agentId/knowledge', 'ai:write', 'Add reviewed text knowledge to an employee', 'record', agentWrite(knowledge), 'May consume embedding credits and affect live answers. Invalidates readiness; test again before publishing. No URL fetch or upload.'),
|
|
327
|
+
op('ai.knowledge.update', 'PUT', '/ai-agents/:agentId/knowledge/:knowledgeId', 'ai:write', 'Update reviewed employee knowledge', 'update', z.strictObject({
|
|
328
|
+
agentId: id,
|
|
329
|
+
knowledgeId: id,
|
|
330
|
+
body: knowledge
|
|
331
|
+
.partial()
|
|
332
|
+
.extend({ isActive: z.boolean().optional() })
|
|
333
|
+
.refine((v) => Object.keys(v).length > 0),
|
|
334
|
+
}), 'May consume embedding credits and affect live answers; rerun readiness.'),
|
|
335
|
+
op('orders.list', 'GET', '/orders', 'orders:read', 'List dashboard orders', 'read', pageQuery),
|
|
336
|
+
op('orders.get', 'GET', '/orders/:id', 'orders:read', 'Read dashboard order details', 'read', getInput),
|
|
337
|
+
op('orders.create', 'POST', '/orders', 'orders:write', 'Create a manual unpaid order', 'record', write(z.strictObject({
|
|
338
|
+
contactId: id,
|
|
339
|
+
externalSource: z.literal('MANUAL').default('MANUAL'),
|
|
340
|
+
orderNumber: z.string().min(1).max(100),
|
|
341
|
+
subtotal: money,
|
|
342
|
+
total: money,
|
|
343
|
+
tax: money.optional(),
|
|
344
|
+
shipping: money.optional(),
|
|
345
|
+
discount: money.optional(),
|
|
346
|
+
currency: currency.optional(),
|
|
347
|
+
internalNote: z.string().max(10000).optional(),
|
|
348
|
+
items: z
|
|
349
|
+
.array(z.strictObject({
|
|
350
|
+
productId: id.optional(),
|
|
351
|
+
name,
|
|
352
|
+
quantity: z.number().int().min(1).max(100000),
|
|
353
|
+
unitPrice: money,
|
|
354
|
+
totalPrice: money,
|
|
355
|
+
sku: z.string().max(100).optional(),
|
|
356
|
+
}))
|
|
357
|
+
.min(1)
|
|
358
|
+
.max(100),
|
|
359
|
+
})), 'Creates a business record and may trigger configured order automation. Does not collect payment.'),
|
|
360
|
+
op('orders.notes.update', 'PUT', '/orders/:id', 'orders:write', 'Update order customer/internal notes', 'update', update(orderNotes)),
|
|
361
|
+
op('orders.status', 'PATCH', '/orders/:id/status', 'orders:write', 'Change order status without cancellation or refund', 'update', update(z.strictObject({ status: z.enum(['PENDING', 'CONFIRMED', 'PROCESSING', 'COMPLETED']) })), 'Changes business state and may trigger configured order automation. Cancellation and refunds are excluded.'),
|
|
362
|
+
op('orders.payment', 'PATCH', '/orders/:id/payment', 'orders:write', 'Record order payment state without issuing refunds', 'update', update(z.strictObject({
|
|
363
|
+
paymentStatus: z.enum(['UNPAID', 'PARTIALLY_PAID', 'PAID']),
|
|
364
|
+
paymentMethod: z.string().max(100).optional(),
|
|
365
|
+
})), 'Changes the accounting record; does not charge or refund a payment provider. Verify real payment evidence before marking paid.'),
|
|
366
|
+
op('orders.fulfillment', 'PATCH', '/orders/:id/fulfillment', 'orders:write', 'Record fulfillment and tracking state', 'update', update(z.strictObject({
|
|
367
|
+
fulfillmentStatus: z.enum([
|
|
368
|
+
'UNFULFILLED',
|
|
369
|
+
'PARTIALLY_FULFILLED',
|
|
370
|
+
'SHIPPED',
|
|
371
|
+
'DELIVERED',
|
|
372
|
+
'FULFILLED',
|
|
373
|
+
'RETURNED',
|
|
374
|
+
]),
|
|
375
|
+
trackingNumber: z.string().min(6).max(200).optional(),
|
|
376
|
+
trackingCarrier: z.string().max(100).optional(),
|
|
377
|
+
trackingUrl: z
|
|
378
|
+
.url({ protocol: /^https$/ })
|
|
379
|
+
.max(2000)
|
|
380
|
+
.optional(),
|
|
381
|
+
})), 'Updates fulfillment records and may trigger configured automation. Does not buy shipping or dispatch a parcel.'),
|
|
382
|
+
op('products.list', 'GET', '/products', 'products:read', 'List catalog products', 'read', pageQuery),
|
|
383
|
+
op('products.get', 'GET', '/products/:id', 'products:read', 'Read a catalog product', 'read', getInput),
|
|
384
|
+
op('products.create', 'POST', '/products', 'products:write', 'Create a catalog product', 'record', write(product), 'Catalog changes can affect storefronts and AI product answers.'),
|
|
385
|
+
op('products.update', 'PUT', '/products/:id', 'products:write', 'Update catalog price, availability or stock', 'update', update(product
|
|
386
|
+
.partial()
|
|
387
|
+
.extend({ categoryId: id.nullable().optional() })
|
|
388
|
+
.refine((v) => Object.keys(v).length > 0)), 'Changes visible prices, availability or stock. Inspect the existing product before approving.'),
|
|
389
|
+
op('products.categories.list', 'GET', '/products/categories', 'products:read', 'List catalog categories', 'read', empty),
|
|
390
|
+
op('products.category.create', 'POST', '/products/categories', 'products:write', 'Create a catalog category', 'record', write(category)),
|
|
391
|
+
op('products.category.update', 'PUT', '/products/categories/:id', 'products:write', 'Update a catalog category', 'update', update(category.partial().refine((v) => Object.keys(v).length > 0))),
|
|
392
|
+
];
|
|
393
|
+
export function operationFor(id) {
|
|
394
|
+
return DEVELOPER_OPERATIONS.find((op) => op.id === id);
|
|
395
|
+
}
|
|
396
|
+
export function describeOperations() {
|
|
397
|
+
return DEVELOPER_OPERATIONS.map(({ input, ...op }) => ({
|
|
398
|
+
...op,
|
|
399
|
+
inputSchema: z.toJSONSchema(input),
|
|
400
|
+
confirmationRequired: op.effect !== 'read',
|
|
401
|
+
idempotency: op.effect === 'read' ? 'not-required' : 'Idempotency-Key; retain the same key for retries',
|
|
402
|
+
retries: 'never automatic',
|
|
403
|
+
}));
|
|
404
|
+
}
|
|
405
|
+
function stable(value) {
|
|
406
|
+
if (Array.isArray(value))
|
|
407
|
+
return `[${value.map(stable).join(',')}]`;
|
|
408
|
+
if (value !== null && typeof value === 'object')
|
|
409
|
+
return `{${Object.keys(value)
|
|
410
|
+
.sort()
|
|
411
|
+
.map((k) => `${JSON.stringify(k)}:${stable(value[k])}`)
|
|
412
|
+
.join(',')}}`;
|
|
413
|
+
return JSON.stringify(value);
|
|
414
|
+
}
|
|
415
|
+
export function prepareOperation(operation, input = {}, idempotencyKey) {
|
|
416
|
+
const op = operationFor(operation);
|
|
417
|
+
if (!op)
|
|
418
|
+
throw new InboxyError({
|
|
419
|
+
kind: 'invalid_request',
|
|
420
|
+
code: 'UNKNOWN_OPERATION',
|
|
421
|
+
message: 'Unknown operation. Inspect the operation catalog first.',
|
|
422
|
+
});
|
|
423
|
+
const parsed = op.input.safeParse(input);
|
|
424
|
+
if (!parsed.success)
|
|
425
|
+
throw new InboxyError({
|
|
426
|
+
kind: 'invalid_request',
|
|
427
|
+
code: 'INVALID_OPERATION_INPUT',
|
|
428
|
+
message: 'Invalid operation input.',
|
|
429
|
+
details: {
|
|
430
|
+
issues: parsed.error.issues.map((i) => ({ path: i.path.join('.'), message: i.message })),
|
|
431
|
+
},
|
|
432
|
+
});
|
|
433
|
+
if (op.effect !== 'read' && !/^[A-Za-z0-9_.:-]{8,128}$/.test(idempotencyKey ?? ''))
|
|
434
|
+
throw new InboxyError({
|
|
435
|
+
kind: 'invalid_request',
|
|
436
|
+
code: 'IDEMPOTENCY_KEY_REQUIRED',
|
|
437
|
+
message: 'Supply a unique 8–128 character idempotencyKey and retain it for retries.',
|
|
438
|
+
});
|
|
439
|
+
const args = parsed.data;
|
|
440
|
+
const path = op.path.replace(/:([A-Za-z]+)/g, (_match, param) => encodeURIComponent(String(args[param])));
|
|
441
|
+
const request = {
|
|
442
|
+
operation,
|
|
443
|
+
method: op.method,
|
|
444
|
+
path,
|
|
445
|
+
scope: op.scope,
|
|
446
|
+
effect: op.effect,
|
|
447
|
+
body: op.id === 'inbox.message.send'
|
|
448
|
+
? {
|
|
449
|
+
...args.body,
|
|
450
|
+
clientMessageId: 'sdk_' + createHash('sha256').update(idempotencyKey).digest('hex').slice(0, 56),
|
|
451
|
+
}
|
|
452
|
+
: (args.body ?? (op.method === 'GET' ? undefined : {})),
|
|
453
|
+
...(op.id === 'inbox.message.send'
|
|
454
|
+
? { target: args.target }
|
|
455
|
+
: {}),
|
|
456
|
+
query: args.query,
|
|
457
|
+
...(idempotencyKey ? { idempotencyKey } : {}),
|
|
458
|
+
};
|
|
459
|
+
const confirmation = createHash('sha256').update(stable(request)).digest('hex');
|
|
460
|
+
return {
|
|
461
|
+
...request,
|
|
462
|
+
...(op.warning ? { warning: op.warning } : {}),
|
|
463
|
+
confirmation,
|
|
464
|
+
confirmationRequired: op.effect !== 'read',
|
|
465
|
+
};
|
|
466
|
+
}
|
|
467
|
+
//# sourceMappingURL=operations.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"operations.js","sourceRoot":"","sources":["../src/operations.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@inboxychat/sdk",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "Typed
|
|
3
|
+
"version": "0.2.0",
|
|
4
|
+
"description": "Typed Inboxy API client with read methods, schema-validated confirmed operations and shared local credentials.",
|
|
5
5
|
"license": "UNLICENSED",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"main": "./dist/index.js",
|
|
@@ -25,10 +25,13 @@
|
|
|
25
25
|
"typescript": "^5.3.0",
|
|
26
26
|
"vitest": "^4.0.16"
|
|
27
27
|
},
|
|
28
|
-
"homepage": "https://inboxy.chat",
|
|
28
|
+
"homepage": "https://inboxy.chat/developers/sdk",
|
|
29
29
|
"publishConfig": {
|
|
30
30
|
"access": "public"
|
|
31
31
|
},
|
|
32
|
+
"dependencies": {
|
|
33
|
+
"zod": "3.25.76"
|
|
34
|
+
},
|
|
32
35
|
"scripts": {
|
|
33
36
|
"build": "tsc -p tsconfig.build.json",
|
|
34
37
|
"type-check": "tsc -p tsconfig.json --noEmit",
|