zudello-chat-sdk 0.1.1

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 (116) hide show
  1. package/README.md +325 -0
  2. package/dist/cjs/client.js +124 -0
  3. package/dist/cjs/client.js.map +1 -0
  4. package/dist/cjs/constants.js +578 -0
  5. package/dist/cjs/constants.js.map +1 -0
  6. package/dist/cjs/errors.js +195 -0
  7. package/dist/cjs/errors.js.map +1 -0
  8. package/dist/cjs/http/client.js +218 -0
  9. package/dist/cjs/http/client.js.map +1 -0
  10. package/dist/cjs/index.js +80 -0
  11. package/dist/cjs/index.js.map +1 -0
  12. package/dist/cjs/modules/approvals.js +90 -0
  13. package/dist/cjs/modules/approvals.js.map +1 -0
  14. package/dist/cjs/modules/automation.js +110 -0
  15. package/dist/cjs/modules/automation.js.map +1 -0
  16. package/dist/cjs/modules/config.js +264 -0
  17. package/dist/cjs/modules/config.js.map +1 -0
  18. package/dist/cjs/modules/datasets.js +103 -0
  19. package/dist/cjs/modules/datasets.js.map +1 -0
  20. package/dist/cjs/modules/exports.js +126 -0
  21. package/dist/cjs/modules/exports.js.map +1 -0
  22. package/dist/cjs/modules/inboxes.js +99 -0
  23. package/dist/cjs/modules/inboxes.js.map +1 -0
  24. package/dist/cjs/modules/models.js +105 -0
  25. package/dist/cjs/modules/models.js.map +1 -0
  26. package/dist/cjs/modules/org.js +335 -0
  27. package/dist/cjs/modules/org.js.map +1 -0
  28. package/dist/cjs/modules/quick-actions.js +71 -0
  29. package/dist/cjs/modules/quick-actions.js.map +1 -0
  30. package/dist/cjs/modules/resources.js +236 -0
  31. package/dist/cjs/modules/resources.js.map +1 -0
  32. package/dist/cjs/modules/search.js +188 -0
  33. package/dist/cjs/modules/search.js.map +1 -0
  34. package/dist/cjs/modules/sentences.js +155 -0
  35. package/dist/cjs/modules/sentences.js.map +1 -0
  36. package/dist/cjs/modules/users.js +120 -0
  37. package/dist/cjs/modules/users.js.map +1 -0
  38. package/dist/cjs/types.js +8 -0
  39. package/dist/cjs/types.js.map +1 -0
  40. package/dist/esm/client.js +120 -0
  41. package/dist/esm/client.js.map +1 -0
  42. package/dist/esm/constants.js +565 -0
  43. package/dist/esm/constants.js.map +1 -0
  44. package/dist/esm/errors.js +183 -0
  45. package/dist/esm/errors.js.map +1 -0
  46. package/dist/esm/http/client.js +214 -0
  47. package/dist/esm/http/client.js.map +1 -0
  48. package/dist/esm/index.js +49 -0
  49. package/dist/esm/index.js.map +1 -0
  50. package/dist/esm/modules/approvals.js +86 -0
  51. package/dist/esm/modules/approvals.js.map +1 -0
  52. package/dist/esm/modules/automation.js +106 -0
  53. package/dist/esm/modules/automation.js.map +1 -0
  54. package/dist/esm/modules/config.js +260 -0
  55. package/dist/esm/modules/config.js.map +1 -0
  56. package/dist/esm/modules/datasets.js +99 -0
  57. package/dist/esm/modules/datasets.js.map +1 -0
  58. package/dist/esm/modules/exports.js +122 -0
  59. package/dist/esm/modules/exports.js.map +1 -0
  60. package/dist/esm/modules/inboxes.js +95 -0
  61. package/dist/esm/modules/inboxes.js.map +1 -0
  62. package/dist/esm/modules/models.js +101 -0
  63. package/dist/esm/modules/models.js.map +1 -0
  64. package/dist/esm/modules/org.js +331 -0
  65. package/dist/esm/modules/org.js.map +1 -0
  66. package/dist/esm/modules/quick-actions.js +67 -0
  67. package/dist/esm/modules/quick-actions.js.map +1 -0
  68. package/dist/esm/modules/resources.js +232 -0
  69. package/dist/esm/modules/resources.js.map +1 -0
  70. package/dist/esm/modules/search.js +184 -0
  71. package/dist/esm/modules/search.js.map +1 -0
  72. package/dist/esm/modules/sentences.js +151 -0
  73. package/dist/esm/modules/sentences.js.map +1 -0
  74. package/dist/esm/modules/users.js +116 -0
  75. package/dist/esm/modules/users.js.map +1 -0
  76. package/dist/esm/types.js +7 -0
  77. package/dist/esm/types.js.map +1 -0
  78. package/dist/types/client.d.ts +105 -0
  79. package/dist/types/client.d.ts.map +1 -0
  80. package/dist/types/constants.d.ts +505 -0
  81. package/dist/types/constants.d.ts.map +1 -0
  82. package/dist/types/errors.d.ts +143 -0
  83. package/dist/types/errors.d.ts.map +1 -0
  84. package/dist/types/http/client.d.ts +42 -0
  85. package/dist/types/http/client.d.ts.map +1 -0
  86. package/dist/types/index.d.ts +37 -0
  87. package/dist/types/index.d.ts.map +1 -0
  88. package/dist/types/modules/approvals.d.ts +62 -0
  89. package/dist/types/modules/approvals.d.ts.map +1 -0
  90. package/dist/types/modules/automation.d.ts +79 -0
  91. package/dist/types/modules/automation.d.ts.map +1 -0
  92. package/dist/types/modules/config.d.ts +173 -0
  93. package/dist/types/modules/config.d.ts.map +1 -0
  94. package/dist/types/modules/datasets.d.ts +55 -0
  95. package/dist/types/modules/datasets.d.ts.map +1 -0
  96. package/dist/types/modules/exports.d.ts +76 -0
  97. package/dist/types/modules/exports.d.ts.map +1 -0
  98. package/dist/types/modules/inboxes.d.ts +91 -0
  99. package/dist/types/modules/inboxes.d.ts.map +1 -0
  100. package/dist/types/modules/models.d.ts +91 -0
  101. package/dist/types/modules/models.d.ts.map +1 -0
  102. package/dist/types/modules/org.d.ts +122 -0
  103. package/dist/types/modules/org.d.ts.map +1 -0
  104. package/dist/types/modules/quick-actions.d.ts +58 -0
  105. package/dist/types/modules/quick-actions.d.ts.map +1 -0
  106. package/dist/types/modules/resources.d.ts +111 -0
  107. package/dist/types/modules/resources.d.ts.map +1 -0
  108. package/dist/types/modules/search.d.ts +72 -0
  109. package/dist/types/modules/search.d.ts.map +1 -0
  110. package/dist/types/modules/sentences.d.ts +105 -0
  111. package/dist/types/modules/sentences.d.ts.map +1 -0
  112. package/dist/types/modules/users.d.ts +65 -0
  113. package/dist/types/modules/users.d.ts.map +1 -0
  114. package/dist/types/types.d.ts +2056 -0
  115. package/dist/types/types.d.ts.map +1 -0
  116. package/package.json +67 -0
@@ -0,0 +1,101 @@
1
+ /**
2
+ * Models Module
3
+ *
4
+ * Methods for introspecting Zudello data models.
5
+ */
6
+ /**
7
+ * Model introspection operations for Zudello.
8
+ */
9
+ export class ModelsModule {
10
+ http;
11
+ constructor(http) {
12
+ this.http = http;
13
+ }
14
+ /**
15
+ * List all available models.
16
+ *
17
+ * @returns Promise resolving to array of model names
18
+ *
19
+ * @example
20
+ * const models = await client.models.list();
21
+ * console.log(models.data); // ['Transaction', 'Supplier', 'Item', ...]
22
+ */
23
+ async list() {
24
+ const response = await this.http.request('GET', '/team-data/v1/resources/models');
25
+ if (response.success === false) {
26
+ return { success: false, error: response.message || response.error || 'Failed to list models' };
27
+ }
28
+ return { success: true, data: response.models ?? [] };
29
+ }
30
+ /**
31
+ * Get metadata for a model (display names, icons, etc.).
32
+ *
33
+ * @param model - The model name
34
+ * @returns Promise resolving to model metadata
35
+ *
36
+ * @example
37
+ * const meta = await client.models.getMetadata('Transaction');
38
+ * console.log(meta.data?.display_name); // 'Transaction'
39
+ */
40
+ async getMetadata(model) {
41
+ const response = await this.http.request('GET', `/team-data/v1/resources/models/${encodeURIComponent(model)}/metadata`);
42
+ if (response.success === false) {
43
+ return { success: false, error: response.message || response.error || 'Failed to get model metadata' };
44
+ }
45
+ return { success: true, data: response };
46
+ }
47
+ /**
48
+ * Get the schema for a model (field definitions and types).
49
+ *
50
+ * @param model - The model name
51
+ * @returns Promise resolving to model schema
52
+ *
53
+ * @example
54
+ * const schema = await client.models.getSchema('Transaction');
55
+ * for (const [field, def] of Object.entries(schema.data?.fields ?? {})) {
56
+ * console.log(`${field}: ${def.type}`);
57
+ * }
58
+ */
59
+ async getSchema(model) {
60
+ const response = await this.http.request('GET', `/team-data/v1/resources/models/${encodeURIComponent(model)}/schema`);
61
+ if (response.success === false) {
62
+ return { success: false, error: response.message || response.error || 'Failed to get model schema' };
63
+ }
64
+ return { success: true, data: response };
65
+ }
66
+ /**
67
+ * Get relationships for a model (foreign keys, many-to-many, etc.).
68
+ *
69
+ * @param model - The model name
70
+ * @returns Promise resolving to model relations
71
+ *
72
+ * @example
73
+ * const relations = await client.models.getRelations('Transaction');
74
+ * console.log(relations.data);
75
+ */
76
+ async getRelations(model) {
77
+ const response = await this.http.request('GET', `/team-data/v1/resources/models/${encodeURIComponent(model)}/relations`);
78
+ if (response.success === false) {
79
+ return { success: false, error: response.message || response.error || 'Failed to get model relations' };
80
+ }
81
+ return { success: true, data: response };
82
+ }
83
+ /**
84
+ * Get metadata for a specific field on a model.
85
+ *
86
+ * @param model - The model name
87
+ * @param field - The field name
88
+ * @returns Promise resolving to field metadata
89
+ *
90
+ * @example
91
+ * const fieldMeta = await client.models.getFieldMetadata('Transaction', 'supplier');
92
+ */
93
+ async getFieldMetadata(model, field) {
94
+ const response = await this.http.request('GET', `/team-data/v1/resources/models/${encodeURIComponent(model)}/fields/${encodeURIComponent(field)}/metadata`);
95
+ if (response.success === false) {
96
+ return { success: false, error: response.message || response.error || 'Failed to get field metadata' };
97
+ }
98
+ return { success: true, data: response };
99
+ }
100
+ }
101
+ //# sourceMappingURL=models.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"models.js","sourceRoot":"","sources":["../../../src/modules/models.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,331 @@
1
+ /**
2
+ * Org Module
3
+ *
4
+ * Methods for organisation-level admin operations.
5
+ * Requires organisation admin privileges.
6
+ */
7
+ /**
8
+ * Organisation-level admin operations.
9
+ *
10
+ * **Requires organisation admin privileges.**
11
+ */
12
+ export class OrgModule {
13
+ http;
14
+ constructor(http) {
15
+ this.http = http;
16
+ }
17
+ // ==========================================================================
18
+ // Teams
19
+ // ==========================================================================
20
+ /**
21
+ * List all teams in the organisation.
22
+ */
23
+ async listTeams(options = {}) {
24
+ const limit = options.limit ?? 100;
25
+ const offset = options.offset ?? 0;
26
+ const body = {
27
+ model: 'Team',
28
+ offset,
29
+ limit,
30
+ select: ['uuid', 'name', 'is_trial', 'image_logo', 'status', 'created_at'],
31
+ order_by: ['name'],
32
+ filter: {},
33
+ };
34
+ const response = await this.http.authRequest('POST', '/authentication/v1/resources/search', body);
35
+ return {
36
+ success: true,
37
+ data: {
38
+ items: response.data ?? [],
39
+ metadata: {
40
+ total: response.count ?? response.total_count ?? 0,
41
+ returned: response.data?.length ?? 0,
42
+ offset,
43
+ limit,
44
+ },
45
+ },
46
+ };
47
+ }
48
+ /**
49
+ * Get a single team by UUID.
50
+ */
51
+ async getTeam(teamUuid) {
52
+ const params = new URLSearchParams({
53
+ model: 'Team',
54
+ uuid: teamUuid,
55
+ fetch_details: 'true',
56
+ simplified: 'true',
57
+ });
58
+ const response = await this.http.authRequest('GET', `/authentication/v1/resources/?${params.toString()}`);
59
+ if (!response.success || !response.data) {
60
+ return { success: false, error: `Team not found: ${teamUuid}` };
61
+ }
62
+ return { success: true, data: response.data };
63
+ }
64
+ /**
65
+ * Update a team.
66
+ */
67
+ async updateTeam(teamUuid, updates) {
68
+ const body = {
69
+ simplified: false,
70
+ clear_nulls: false,
71
+ data: [{
72
+ model: 'Team',
73
+ data: { uuid: teamUuid, ...updates },
74
+ submit: false,
75
+ enrich: false,
76
+ extracted_event: false,
77
+ update_status: false,
78
+ update: true,
79
+ }],
80
+ };
81
+ const response = await this.http.authRequest('POST', '/authentication/v1/resources/update_or_create', body);
82
+ if (response.status !== 'success' || !response.resources?.[0]?.success) {
83
+ return { success: false, error: response.resources?.[0]?.message || 'Failed to update team' };
84
+ }
85
+ return { success: true, data: response.resources[0].data };
86
+ }
87
+ // ==========================================================================
88
+ // Users
89
+ // ==========================================================================
90
+ /**
91
+ * List all users in the organisation.
92
+ */
93
+ async listUsers(options = {}) {
94
+ const limit = options.limit ?? 100;
95
+ const offset = options.offset ?? 0;
96
+ const filter = {};
97
+ if (options.status)
98
+ filter.status = options.status;
99
+ const body = {
100
+ model: 'User',
101
+ offset,
102
+ limit,
103
+ select: ['uuid', 'first_name', 'last_name', 'email', 'status', 'avatar', 'is_machine', 'created_at'],
104
+ order_by: ['first_name', 'last_name'],
105
+ filter,
106
+ ...(options.search && { search: { keywords: [options.search], fields: ['first_name', 'last_name', 'email'] } }),
107
+ };
108
+ const response = await this.http.authRequest('POST', '/authentication/v1/resources/search', body);
109
+ return {
110
+ success: true,
111
+ data: {
112
+ items: response.data ?? [],
113
+ metadata: {
114
+ total: response.count ?? response.total_count ?? 0,
115
+ returned: response.data?.length ?? 0,
116
+ offset,
117
+ limit,
118
+ },
119
+ },
120
+ };
121
+ }
122
+ /**
123
+ * Get a single user by UUID.
124
+ */
125
+ async getUser(userUuid) {
126
+ const params = new URLSearchParams({
127
+ model: 'User',
128
+ uuid: userUuid,
129
+ team_uuid: this.http.config.teamId,
130
+ fetch_details: 'true',
131
+ simplified: 'true',
132
+ });
133
+ const response = await this.http.authRequest('GET', `/authentication/v1/resources/?${params.toString()}`);
134
+ if (!response.success || !response.data) {
135
+ return { success: false, error: `User not found: ${userUuid}` };
136
+ }
137
+ return { success: true, data: response.data };
138
+ }
139
+ /**
140
+ * Get all team assignments for a user.
141
+ */
142
+ async getUserTeamAssignments(userUuid) {
143
+ const body = {
144
+ model: 'TeamUser',
145
+ offset: 0,
146
+ limit: 100,
147
+ select: [
148
+ 'uuid', 'team__uuid', 'team__name', 'user__uuid', 'status', 'is_default',
149
+ 'manager__uuid', 'delegate_all', 'delegate_duties', 'delegate_to__uuid',
150
+ 'delegate_start', 'delegate_end', 'default_subsidiary', 'default_location',
151
+ 'created_at', 'updated_at'
152
+ ],
153
+ order_by: ['team__name'],
154
+ filter: { user__uuid: userUuid },
155
+ };
156
+ const response = await this.http.authRequest('POST', '/authentication/v1/resources/search', body);
157
+ return { success: true, data: response.data ?? [] };
158
+ }
159
+ /**
160
+ * Create a new user in the organisation.
161
+ */
162
+ async createUser(request) {
163
+ const body = {
164
+ simplified: false,
165
+ clear_nulls: false,
166
+ data: [{
167
+ model: 'User',
168
+ data: {
169
+ first_name: request.first_name,
170
+ last_name: request.last_name,
171
+ email: request.email,
172
+ avatar: '',
173
+ status: 'ACTIVE',
174
+ is_machine: false,
175
+ organizations: {
176
+ replace: true,
177
+ items: [{
178
+ fetch: true,
179
+ model: 'Organization',
180
+ data: { uuid: this.http.config.organizationId },
181
+ }],
182
+ },
183
+ teams: [],
184
+ teamuser_set: [],
185
+ organizationuser_set: [],
186
+ primary_organization_id: this.http.config.organizationId,
187
+ },
188
+ submit: false,
189
+ enrich: false,
190
+ extracted_event: false,
191
+ update_status: false,
192
+ create: true,
193
+ extra_data: {
194
+ is_email_verified: request.is_email_verified ?? true,
195
+ ...(request.password && { new_password: request.password }),
196
+ },
197
+ }],
198
+ };
199
+ const response = await this.http.authRequest('POST', '/authentication/v1/resources/update_or_create', body);
200
+ if (response.status !== 'success' || !response.resources?.[0]?.success) {
201
+ return { success: false, error: response.resources?.[0]?.message || 'Failed to create user' };
202
+ }
203
+ return { success: true, data: response.resources[0].data };
204
+ }
205
+ /**
206
+ * Update user profile (name only - email is read-only).
207
+ */
208
+ async updateUser(userUuid, updates) {
209
+ const body = {
210
+ simplified: false,
211
+ clear_nulls: false,
212
+ data: [{
213
+ model: 'User',
214
+ data: { uuid: userUuid, ...updates },
215
+ submit: false,
216
+ enrich: false,
217
+ extracted_event: false,
218
+ update_status: false,
219
+ update: true,
220
+ }],
221
+ };
222
+ const response = await this.http.authRequest('POST', '/authentication/v1/resources/update_or_create', body);
223
+ if (response.status !== 'success' || !response.resources?.[0]?.success) {
224
+ return { success: false, error: response.resources?.[0]?.message || 'Failed to update user' };
225
+ }
226
+ return { success: true, data: response.resources[0].data };
227
+ }
228
+ /**
229
+ * Assign a user to a team with groups and settings.
230
+ */
231
+ async assignUserToTeam(request) {
232
+ const isUpdate = !!request.teamUserUuid;
233
+ const dataPayload = {
234
+ team_id: request.teamId,
235
+ user_id: request.userId,
236
+ organization_id: request.orgId,
237
+ };
238
+ if (request.teamUserUuid)
239
+ dataPayload.uuid = request.teamUserUuid;
240
+ if (request.managerId !== undefined)
241
+ dataPayload.manager_id = request.managerId;
242
+ if (request.isDefault !== undefined)
243
+ dataPayload.is_default = request.isDefault;
244
+ if (request.status)
245
+ dataPayload.status = request.status;
246
+ if (request.defaultSubsidiary !== undefined)
247
+ dataPayload.default_subsidiary = request.defaultSubsidiary;
248
+ if (request.defaultLocation !== undefined)
249
+ dataPayload.default_location = request.defaultLocation;
250
+ if (request.delegateAll !== undefined)
251
+ dataPayload.delegate_all = request.delegateAll;
252
+ if (request.delegateDuties !== undefined)
253
+ dataPayload.delegate_duties = request.delegateDuties;
254
+ if (request.delegateToUserId !== undefined)
255
+ dataPayload.delegate_to_id = request.delegateToUserId;
256
+ if (request.delegateStart !== undefined)
257
+ dataPayload.delegate_start = request.delegateStart;
258
+ if (request.delegateEnd !== undefined)
259
+ dataPayload.delegate_end = request.delegateEnd;
260
+ if (request.groups) {
261
+ dataPayload.groups = {
262
+ replace: true,
263
+ items: request.groups.map(groupUuid => ({
264
+ fetch: true,
265
+ model: 'UserGroup',
266
+ data: { uuid: groupUuid },
267
+ })),
268
+ };
269
+ }
270
+ const body = {
271
+ simplified: false,
272
+ clear_nulls: false,
273
+ data: [{
274
+ model: 'TeamUser',
275
+ data: dataPayload,
276
+ submit: false,
277
+ enrich: false,
278
+ extracted_event: false,
279
+ update_status: false,
280
+ create: !isUpdate,
281
+ update: isUpdate,
282
+ }],
283
+ };
284
+ const response = await this.http.authRequest('POST', '/authentication/v1/resources/update_or_create', body);
285
+ if (response.status !== 'success' || !response.resources?.[0]?.success) {
286
+ return { success: false, error: response.resources?.[0]?.message || 'Failed to assign user to team' };
287
+ }
288
+ return { success: true, data: response.resources[0].data };
289
+ }
290
+ // ==========================================================================
291
+ // User Groups
292
+ // ==========================================================================
293
+ /**
294
+ * List all user groups in the organisation.
295
+ */
296
+ async listUserGroups(options = {}) {
297
+ const limit = options.limit ?? 100;
298
+ const offset = options.offset ?? 0;
299
+ const filter = {};
300
+ if (options.status)
301
+ filter.status = options.status;
302
+ if (options.userGroupType)
303
+ filter.user_group_type = options.userGroupType;
304
+ const select = ['uuid', 'name', 'description', 'can_delegate', 'status', 'user_group_type', 'permissions_count'];
305
+ if (options.includeTeamUsers)
306
+ select.push('team_users__uuid');
307
+ const body = {
308
+ model: 'UserGroup',
309
+ offset,
310
+ limit,
311
+ select,
312
+ order_by: ['name'],
313
+ filter,
314
+ ...(options.search && { search: { keywords: [options.search], fields: ['name', 'description'] } }),
315
+ };
316
+ const response = await this.http.authRequest('POST', '/authentication/v1/resources/search', body);
317
+ return {
318
+ success: true,
319
+ data: {
320
+ items: response.data ?? [],
321
+ metadata: {
322
+ total: response.count ?? response.total_count ?? 0,
323
+ returned: response.data?.length ?? 0,
324
+ offset,
325
+ limit,
326
+ },
327
+ },
328
+ };
329
+ }
330
+ }
331
+ //# sourceMappingURL=org.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"org.js","sourceRoot":"","sources":["../../../src/modules/org.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAiBH;;;;GAIG;AACH,MAAM,OAAO,SAAS;IACS;IAA7B,YAA6B,IAAgB;QAAhB,SAAI,GAAJ,IAAI,CAAY;IAAG,CAAC;IAEjD,6EAA6E;IAC7E,QAAQ;IACR,6EAA6E;IAE7E;;OAEG;IACH,KAAK,CAAC,SAAS,CACb,UAA+B,EAAE;QAMjC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,GAAG,CAAC;QACnC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC;QAEnC,MAAM,IAAI,GAAG;YACX,KAAK,EAAE,MAAM;YACb,MAAM;YACN,KAAK;YACL,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,QAAQ,EAAE,YAAY,CAAC;YAC1E,QAAQ,EAAE,CAAC,MAAM,CAAC;YAClB,MAAM,EAAE,EAAE;SACX,CAAC;QAEF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAM1C,MAAM,EACN,qCAAqC,EACrC,IAAI,CACL,CAAC;QAEF,OAAO;YACL,OAAO,EAAE,IAAI;YACb,IAAI,EAAE;gBACJ,KAAK,EAAE,QAAQ,CAAC,IAAI,IAAI,EAAE;gBAC1B,QAAQ,EAAE;oBACR,KAAK,EAAE,QAAQ,CAAC,KAAK,IAAI,QAAQ,CAAC,WAAW,IAAI,CAAC;oBAClD,QAAQ,EAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,IAAI,CAAC;oBACpC,MAAM;oBACN,KAAK;iBACN;aACF;SACF,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO,CACX,QAAgB;QAEhB,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC;YACjC,KAAK,EAAE,MAAM;YACb,IAAI,EAAE,QAAQ;YACd,aAAa,EAAE,MAAM;YACrB,UAAU,EAAE,MAAM;SACnB,CAAC,CAAC;QAEH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAC1C,KAAK,EACL,iCAAiC,MAAM,CAAC,QAAQ,EAAE,EAAE,CACrD,CAAC;QAEF,IAAI,CAAC,QAAQ,CAAC,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACxC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,mBAAmB,QAAQ,EAAE,EAAE,CAAC;QAClE,CAAC;QACD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC;IAChD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU,CACd,QAAgB,EAChB,OAA6B;QAE7B,MAAM,IAAI,GAAG;YACX,UAAU,EAAE,KAAK;YACjB,WAAW,EAAE,KAAK;YAClB,IAAI,EAAE,CAAC;oBACL,KAAK,EAAE,MAAM;oBACb,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,OAAO,EAAE;oBACpC,MAAM,EAAE,KAAK;oBACb,MAAM,EAAE,KAAK;oBACb,eAAe,EAAE,KAAK;oBACtB,aAAa,EAAE,KAAK;oBACpB,MAAM,EAAE,IAAI;iBACb,CAAC;SACH,CAAC;QAEF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAI1C,MAAM,EACN,+CAA+C,EAC/C,IAAI,CACL,CAAC;QAEF,IAAI,QAAQ,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC;YACvE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,IAAI,uBAAuB,EAAE,CAAC;QAChG,CAAC;QACD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC7D,CAAC;IAED,6EAA6E;IAC7E,QAAQ;IACR,6EAA6E;IAE7E;;OAEG;IACH,KAAK,CAAC,SAAS,CACb,UAA+B,EAAE;QAMjC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,GAAG,CAAC;QACnC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC;QAEnC,MAAM,MAAM,GAA4B,EAAE,CAAC;QAC3C,IAAI,OAAO,CAAC,MAAM;YAAE,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAEnD,MAAM,IAAI,GAAG;YACX,KAAK,EAAE,MAAM;YACb,MAAM;YACN,KAAK;YACL,MAAM,EAAE,CAAC,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,EAAE,YAAY,CAAC;YACpG,QAAQ,EAAE,CAAC,YAAY,EAAE,WAAW,CAAC;YACrC,MAAM;YACN,GAAG,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,YAAY,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,EAAE,CAAC;SAChH,CAAC;QAEF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAM1C,MAAM,EACN,qCAAqC,EACrC,IAAI,CACL,CAAC;QAEF,OAAO;YACL,OAAO,EAAE,IAAI;YACb,IAAI,EAAE;gBACJ,KAAK,EAAE,QAAQ,CAAC,IAAI,IAAI,EAAE;gBAC1B,QAAQ,EAAE;oBACR,KAAK,EAAE,QAAQ,CAAC,KAAK,IAAI,QAAQ,CAAC,WAAW,IAAI,CAAC;oBAClD,QAAQ,EAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,IAAI,CAAC;oBACpC,MAAM;oBACN,KAAK;iBACN;aACF;SACF,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO,CACX,QAAgB;QAEhB,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC;YACjC,KAAK,EAAE,MAAM;YACb,IAAI,EAAE,QAAQ;YACd,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM;YAClC,aAAa,EAAE,MAAM;YACrB,UAAU,EAAE,MAAM;SACnB,CAAC,CAAC;QAEH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAC1C,KAAK,EACL,iCAAiC,MAAM,CAAC,QAAQ,EAAE,EAAE,CACrD,CAAC;QAEF,IAAI,CAAC,QAAQ,CAAC,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACxC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,mBAAmB,QAAQ,EAAE,EAAE,CAAC;QAClE,CAAC;QACD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,CAAC;IAChD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,sBAAsB,CAC1B,QAAgB;QAEhB,MAAM,IAAI,GAAG;YACX,KAAK,EAAE,UAAU;YACjB,MAAM,EAAE,CAAC;YACT,KAAK,EAAE,GAAG;YACV,MAAM,EAAE;gBACN,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,QAAQ,EAAE,YAAY;gBACxE,eAAe,EAAE,cAAc,EAAE,iBAAiB,EAAE,mBAAmB;gBACvE,gBAAgB,EAAE,cAAc,EAAE,oBAAoB,EAAE,kBAAkB;gBAC1E,YAAY,EAAE,YAAY;aAC3B;YACD,QAAQ,EAAE,CAAC,YAAY,CAAC;YACxB,MAAM,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE;SACjC,CAAC;QAEF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAC1C,MAAM,EACN,qCAAqC,EACrC,IAAI,CACL,CAAC;QAEF,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC;IACtD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU,CACd,OAA6B;QAE7B,MAAM,IAAI,GAAG;YACX,UAAU,EAAE,KAAK;YACjB,WAAW,EAAE,KAAK;YAClB,IAAI,EAAE,CAAC;oBACL,KAAK,EAAE,MAAM;oBACb,IAAI,EAAE;wBACJ,UAAU,EAAE,OAAO,CAAC,UAAU;wBAC9B,SAAS,EAAE,OAAO,CAAC,SAAS;wBAC5B,KAAK,EAAE,OAAO,CAAC,KAAK;wBACpB,MAAM,EAAE,EAAE;wBACV,MAAM,EAAE,QAAQ;wBAChB,UAAU,EAAE,KAAK;wBACjB,aAAa,EAAE;4BACb,OAAO,EAAE,IAAI;4BACb,KAAK,EAAE,CAAC;oCACN,KAAK,EAAE,IAAI;oCACX,KAAK,EAAE,cAAc;oCACrB,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE;iCAChD,CAAC;yBACH;wBACD,KAAK,EAAE,EAAE;wBACT,YAAY,EAAE,EAAE;wBAChB,oBAAoB,EAAE,EAAE;wBACxB,uBAAuB,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc;qBACzD;oBACD,MAAM,EAAE,KAAK;oBACb,MAAM,EAAE,KAAK;oBACb,eAAe,EAAE,KAAK;oBACtB,aAAa,EAAE,KAAK;oBACpB,MAAM,EAAE,IAAI;oBACZ,UAAU,EAAE;wBACV,iBAAiB,EAAE,OAAO,CAAC,iBAAiB,IAAI,IAAI;wBACpD,GAAG,CAAC,OAAO,CAAC,QAAQ,IAAI,EAAE,YAAY,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC;qBAC5D;iBACF,CAAC;SACH,CAAC;QAEF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAI1C,MAAM,EACN,+CAA+C,EAC/C,IAAI,CACL,CAAC;QAEF,IAAI,QAAQ,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC;YACvE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,IAAI,uBAAuB,EAAE,CAAC;QAChG,CAAC;QACD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC7D,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU,CACd,QAAgB,EAChB,OAA6B;QAE7B,MAAM,IAAI,GAAG;YACX,UAAU,EAAE,KAAK;YACjB,WAAW,EAAE,KAAK;YAClB,IAAI,EAAE,CAAC;oBACL,KAAK,EAAE,MAAM;oBACb,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,OAAO,EAAE;oBACpC,MAAM,EAAE,KAAK;oBACb,MAAM,EAAE,KAAK;oBACb,eAAe,EAAE,KAAK;oBACtB,aAAa,EAAE,KAAK;oBACpB,MAAM,EAAE,IAAI;iBACb,CAAC;SACH,CAAC;QAEF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAI1C,MAAM,EACN,+CAA+C,EAC/C,IAAI,CACL,CAAC;QAEF,IAAI,QAAQ,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC;YACvE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,IAAI,uBAAuB,EAAE,CAAC;QAChG,CAAC;QACD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC7D,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,gBAAgB,CACpB,OAAgC;QAEhC,MAAM,QAAQ,GAAG,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC;QAExC,MAAM,WAAW,GAA4B;YAC3C,OAAO,EAAE,OAAO,CAAC,MAAM;YACvB,OAAO,EAAE,OAAO,CAAC,MAAM;YACvB,eAAe,EAAE,OAAO,CAAC,KAAK;SAC/B,CAAC;QAEF,IAAI,OAAO,CAAC,YAAY;YAAE,WAAW,CAAC,IAAI,GAAG,OAAO,CAAC,YAAY,CAAC;QAClE,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS;YAAE,WAAW,CAAC,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC;QAChF,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS;YAAE,WAAW,CAAC,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC;QAChF,IAAI,OAAO,CAAC,MAAM;YAAE,WAAW,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QACxD,IAAI,OAAO,CAAC,iBAAiB,KAAK,SAAS;YAAE,WAAW,CAAC,kBAAkB,GAAG,OAAO,CAAC,iBAAiB,CAAC;QACxG,IAAI,OAAO,CAAC,eAAe,KAAK,SAAS;YAAE,WAAW,CAAC,gBAAgB,GAAG,OAAO,CAAC,eAAe,CAAC;QAClG,IAAI,OAAO,CAAC,WAAW,KAAK,SAAS;YAAE,WAAW,CAAC,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC;QACtF,IAAI,OAAO,CAAC,cAAc,KAAK,SAAS;YAAE,WAAW,CAAC,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC;QAC/F,IAAI,OAAO,CAAC,gBAAgB,KAAK,SAAS;YAAE,WAAW,CAAC,cAAc,GAAG,OAAO,CAAC,gBAAgB,CAAC;QAClG,IAAI,OAAO,CAAC,aAAa,KAAK,SAAS;YAAE,WAAW,CAAC,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC;QAC5F,IAAI,OAAO,CAAC,WAAW,KAAK,SAAS;YAAE,WAAW,CAAC,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC;QAEtF,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;YACnB,WAAW,CAAC,MAAM,GAAG;gBACnB,OAAO,EAAE,IAAI;gBACb,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;oBACtC,KAAK,EAAE,IAAI;oBACX,KAAK,EAAE,WAAW;oBAClB,IAAI,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;iBAC1B,CAAC,CAAC;aACJ,CAAC;QACJ,CAAC;QAED,MAAM,IAAI,GAAG;YACX,UAAU,EAAE,KAAK;YACjB,WAAW,EAAE,KAAK;YAClB,IAAI,EAAE,CAAC;oBACL,KAAK,EAAE,UAAU;oBACjB,IAAI,EAAE,WAAW;oBACjB,MAAM,EAAE,KAAK;oBACb,MAAM,EAAE,KAAK;oBACb,eAAe,EAAE,KAAK;oBACtB,aAAa,EAAE,KAAK;oBACpB,MAAM,EAAE,CAAC,QAAQ;oBACjB,MAAM,EAAE,QAAQ;iBACjB,CAAC;SACH,CAAC;QAEF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAI1C,MAAM,EACN,+CAA+C,EAC/C,IAAI,CACL,CAAC;QAEF,IAAI,QAAQ,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC;YACvE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,IAAI,+BAA+B,EAAE,CAAC;QACxG,CAAC;QACD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC7D,CAAC;IAED,6EAA6E;IAC7E,cAAc;IACd,6EAA6E;IAE7E;;OAEG;IACH,KAAK,CAAC,cAAc,CAClB,UAAoC,EAAE;QAMtC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,GAAG,CAAC;QACnC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC;QAEnC,MAAM,MAAM,GAA4B,EAAE,CAAC;QAC3C,IAAI,OAAO,CAAC,MAAM;YAAE,MAAM,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QACnD,IAAI,OAAO,CAAC,aAAa;YAAE,MAAM,CAAC,eAAe,GAAG,OAAO,CAAC,aAAa,CAAC;QAE1E,MAAM,MAAM,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,cAAc,EAAE,QAAQ,EAAE,iBAAiB,EAAE,mBAAmB,CAAC,CAAC;QACjH,IAAI,OAAO,CAAC,gBAAgB;YAAE,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAE9D,MAAM,IAAI,GAAG;YACX,KAAK,EAAE,WAAW;YAClB,MAAM;YACN,KAAK;YACL,MAAM;YACN,QAAQ,EAAE,CAAC,MAAM,CAAC;YAClB,MAAM;YACN,GAAG,CAAC,OAAO,CAAC,MAAM,IAAI,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,MAAM,EAAE,aAAa,CAAC,EAAE,EAAE,CAAC;SACnG,CAAC;QAEF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,WAAW,CAM1C,MAAM,EACN,qCAAqC,EACrC,IAAI,CACL,CAAC;QAEF,OAAO;YACL,OAAO,EAAE,IAAI;YACb,IAAI,EAAE;gBACJ,KAAK,EAAE,QAAQ,CAAC,IAAI,IAAI,EAAE;gBAC1B,QAAQ,EAAE;oBACR,KAAK,EAAE,QAAQ,CAAC,KAAK,IAAI,QAAQ,CAAC,WAAW,IAAI,CAAC;oBAClD,QAAQ,EAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,IAAI,CAAC;oBACpC,MAAM;oBACN,KAAK;iBACN;aACF;SACF,CAAC;IACJ,CAAC;CACF"}
@@ -0,0 +1,67 @@
1
+ /**
2
+ * Quick Actions Module
3
+ *
4
+ * Methods for managing quick actions (buttons that trigger sentences).
5
+ */
6
+ /**
7
+ * Quick action operations for Zudello.
8
+ */
9
+ export class QuickActionsModule {
10
+ http;
11
+ constructor(http) {
12
+ this.http = http;
13
+ }
14
+ /**
15
+ * List all quick actions.
16
+ */
17
+ async list() {
18
+ const params = new URLSearchParams({
19
+ resource_type: 'quick_action',
20
+ global_resource: 'false',
21
+ team_uuid: this.http.config.teamId,
22
+ });
23
+ const response = await this.http.request('GET', `/general-store/api/v1/resources/?${params.toString()}`);
24
+ return { success: true, data: response.data || [] };
25
+ }
26
+ /**
27
+ * Get a single quick action by UUID.
28
+ */
29
+ async get(actionUuid) {
30
+ const params = new URLSearchParams({ resource_type: 'quick_action' });
31
+ const response = await this.http.request('GET', `/general-store/api/v1/resources/${actionUuid}?${params.toString()}`);
32
+ return { success: true, data: response.data };
33
+ }
34
+ /**
35
+ * Create a quick action.
36
+ */
37
+ async create(payload) {
38
+ const params = new URLSearchParams({ resource_type: 'quick_action' });
39
+ const response = await this.http.request('POST', `/general-store/api/v1/resources/?${params.toString()}`, { payload, team_uuid: this.http.config.teamId });
40
+ if (!response.success) {
41
+ return { success: false, error: response.message || 'Failed to create quick action' };
42
+ }
43
+ return { success: true, data: response.data };
44
+ }
45
+ /**
46
+ * Update a quick action.
47
+ */
48
+ async update(actionUuid, payload) {
49
+ const params = new URLSearchParams({ resource_type: 'quick_action' });
50
+ const response = await this.http.request('PUT', `/general-store/api/v1/resources/${actionUuid}?${params.toString()}`, { payload, team_uuid: this.http.config.teamId, uuid: actionUuid });
51
+ if (!response.success) {
52
+ return { success: false, error: response.message || 'Failed to update quick action' };
53
+ }
54
+ return { success: true, data: response.data };
55
+ }
56
+ /**
57
+ * Trigger a quick action on documents.
58
+ *
59
+ * @param actionKey - The quick action key (not UUID)
60
+ * @param documentUuids - Array of document UUIDs to trigger on
61
+ */
62
+ async trigger(actionKey, documentUuids) {
63
+ const response = await this.http.request('POST', '/team-data/v1/quick-actions/trigger', { action_key: actionKey, document_uuids: documentUuids });
64
+ return { success: true, data: response };
65
+ }
66
+ }
67
+ //# sourceMappingURL=quick-actions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"quick-actions.js","sourceRoot":"","sources":["../../../src/modules/quick-actions.ts"],"names":[],"mappings":"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"}