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,236 @@
1
+ "use strict";
2
+ /**
3
+ * Resources Module
4
+ *
5
+ * Methods for creating, updating, and managing Zudello resources.
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.ResourcesModule = void 0;
9
+ /**
10
+ * Resource mutation operations for Zudello.
11
+ */
12
+ class ResourcesModule {
13
+ http;
14
+ constructor(http) {
15
+ this.http = http;
16
+ }
17
+ /**
18
+ * Create a new resource.
19
+ *
20
+ * @param model - The model name (e.g., 'Transaction', 'Supplier')
21
+ * @param options - Creation options including data
22
+ * @returns Promise resolving to the created resource
23
+ *
24
+ * @example
25
+ * const supplier = await client.resources.create('Supplier', {
26
+ * data: {
27
+ * trading_name: 'ACME Corp',
28
+ * code: 'SUP-001',
29
+ * external_id: 'ERP-SUP-001'
30
+ * }
31
+ * });
32
+ */
33
+ async create(model, options) {
34
+ const requestBody = {
35
+ simplified: false,
36
+ clear_nulls: false,
37
+ data: [{
38
+ model,
39
+ data: options.data,
40
+ fetch: options.fetch ?? false,
41
+ create: true,
42
+ update: false,
43
+ replace: false,
44
+ submit: options.submit ?? false,
45
+ enrich: options.enrich ?? false,
46
+ extracted_event: false,
47
+ update_status: false,
48
+ ...(options.dryRun && { dry_run: true }),
49
+ }],
50
+ };
51
+ const response = await this.http.request('POST', '/team-data/v1/resources/update_or_create', requestBody);
52
+ const result = response.resources?.[0];
53
+ if (!result?.success) {
54
+ return {
55
+ success: false,
56
+ model,
57
+ error: result?.message || 'Create failed',
58
+ };
59
+ }
60
+ return {
61
+ success: true,
62
+ model: result.model || model,
63
+ data: result.data,
64
+ };
65
+ }
66
+ /**
67
+ * Update an existing resource.
68
+ *
69
+ * @param model - The model name (e.g., 'Transaction', 'Supplier')
70
+ * @param identifier - Either { uuid: string } or { externalId: string }
71
+ * @param options - Update options including data
72
+ * @returns Promise resolving to the updated resource
73
+ *
74
+ * @example
75
+ * const updated = await client.resources.update(
76
+ * 'Supplier',
77
+ * { uuid: 'supplier-uuid' },
78
+ * { data: { trading_name: 'ACME Corporation' } }
79
+ * );
80
+ */
81
+ async update(model, identifier, options) {
82
+ const data = { ...options.data };
83
+ if ('uuid' in identifier) {
84
+ data.uuid = identifier.uuid;
85
+ }
86
+ else {
87
+ data.external_id = identifier.externalId;
88
+ }
89
+ const requestBody = {
90
+ simplified: false,
91
+ clear_nulls: false,
92
+ data: [{
93
+ model,
94
+ data,
95
+ fetch: options.fetch ?? false,
96
+ create: false,
97
+ update: true,
98
+ replace: options.replace ?? false,
99
+ submit: options.submit ?? false,
100
+ enrich: false,
101
+ extracted_event: false,
102
+ update_status: options.updateStatus ?? false,
103
+ ...(options.dryRun && { dry_run: true }),
104
+ }],
105
+ };
106
+ const response = await this.http.request('POST', '/team-data/v1/resources/update_or_create', requestBody);
107
+ const result = response.resources?.[0];
108
+ if (!result?.success) {
109
+ return {
110
+ success: false,
111
+ model,
112
+ error: result?.message || 'Update failed',
113
+ };
114
+ }
115
+ return {
116
+ success: true,
117
+ model: result.model || model,
118
+ data: result.data,
119
+ };
120
+ }
121
+ /**
122
+ * Fetch multiple resources in a single batch request.
123
+ *
124
+ * @param requests - Array of resource fetch requests
125
+ * @param options - Optional batch options
126
+ * @returns Promise resolving to batch fetch results
127
+ *
128
+ * @example
129
+ * const results = await client.resources.getMany([
130
+ * { model: 'Supplier', uuid: 'sup-uuid-1' },
131
+ * { model: 'Supplier', uuid: 'sup-uuid-2' },
132
+ * { model: 'Item', external_id: 'ITEM-001' }
133
+ * ]);
134
+ */
135
+ async getMany(requests, options = {}) {
136
+ const params = new URLSearchParams();
137
+ if (options.simplified)
138
+ params.set('simplified', 'true');
139
+ if (options.activeOnly !== false)
140
+ params.set('active_only', 'true');
141
+ if (options.includeNulls !== false)
142
+ params.set('include_nulls', 'true');
143
+ const requestBody = {
144
+ data: requests.map(req => ({
145
+ model: req.model,
146
+ ...(req.uuid && { uuid: req.uuid }),
147
+ ...(req.external_id && { external_id: req.external_id }),
148
+ fetch_details: req.fetch_details ?? true,
149
+ ...(req.include_models && { include_models: req.include_models }),
150
+ ...(req.exclude_models && { exclude_models: req.exclude_models }),
151
+ })),
152
+ };
153
+ const response = await this.http.request('POST', `/team-data/v1/resources/get?${params.toString()}`, requestBody);
154
+ return {
155
+ success: response.status === 'success',
156
+ results: response.resources ?? [],
157
+ };
158
+ }
159
+ /**
160
+ * Update or create multiple resources in a single batch request.
161
+ *
162
+ * @param requests - Array of update/create requests
163
+ * @param options - Optional batch options
164
+ * @returns Promise resolving to batch operation results
165
+ *
166
+ * @example
167
+ * const results = await client.resources.upsertMany([
168
+ * { model: 'Supplier', data: { external_id: 'SUP-001', trading_name: 'ACME' } },
169
+ * { model: 'Supplier', data: { external_id: 'SUP-002', trading_name: 'Widget Co' } }
170
+ * ]);
171
+ */
172
+ async upsertMany(requests, options = {}) {
173
+ const params = new URLSearchParams();
174
+ if (options.batch)
175
+ params.set('batch', 'true');
176
+ if (options.simplified)
177
+ params.set('simplified', 'true');
178
+ if (options.dryRun)
179
+ params.set('dry_run', 'true');
180
+ if (options.includeNulls !== false)
181
+ params.set('include_nulls', 'true');
182
+ if (options.clearNulls)
183
+ params.set('clear_nulls', 'true');
184
+ if (options.migration)
185
+ params.set('migration', 'true');
186
+ const requestBody = {
187
+ simplified: options.simplified ?? false,
188
+ clear_nulls: options.clearNulls ?? false,
189
+ data: requests.map(req => ({
190
+ model: req.model,
191
+ data: req.data,
192
+ fetch: req.fetch ?? false,
193
+ create: req.create ?? true,
194
+ update: req.update ?? true,
195
+ replace: req.replace ?? false,
196
+ submit: req.submit ?? false,
197
+ enrich: req.enrich ?? false,
198
+ extracted_event: false,
199
+ update_status: false,
200
+ ...(req.dry_run && { dry_run: true }),
201
+ })),
202
+ };
203
+ const response = await this.http.request('POST', `/team-data/v1/resources/update_or_create?${params.toString()}`, requestBody);
204
+ // Batch mode returns task_id
205
+ if (options.batch && response.task_id) {
206
+ return {
207
+ success: true,
208
+ results: [],
209
+ taskId: response.task_id,
210
+ };
211
+ }
212
+ return {
213
+ success: response.status === 'success',
214
+ results: response.resources ?? [],
215
+ };
216
+ }
217
+ /**
218
+ * Get audit history for a resource.
219
+ *
220
+ * @param model - The model name (e.g., 'Transaction')
221
+ * @param uuid - The resource UUID
222
+ * @returns Promise resolving to array of audit events
223
+ *
224
+ * @example
225
+ * const history = await client.resources.getHistory('Transaction', 'invoice-uuid');
226
+ * for (const event of history.data ?? []) {
227
+ * console.log(`${event.event_type} at ${event.timestamp} by ${event.user?.name}`);
228
+ * }
229
+ */
230
+ async getHistory(model, uuid) {
231
+ const response = await this.http.request('GET', `/audit/v1/audit/history/${encodeURIComponent(model)}/${encodeURIComponent(uuid)}`);
232
+ return { success: true, data: response.events ?? [] };
233
+ }
234
+ }
235
+ exports.ResourcesModule = ResourcesModule;
236
+ //# sourceMappingURL=resources.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resources.js","sourceRoot":"","sources":["../../../src/modules/resources.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,188 @@
1
+ "use strict";
2
+ /**
3
+ * Search Module
4
+ *
5
+ * Methods for searching, listing, and fetching Zudello resources.
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.SearchModule = void 0;
9
+ /**
10
+ * Search and retrieval operations for Zudello resources.
11
+ */
12
+ class SearchModule {
13
+ http;
14
+ constructor(http) {
15
+ this.http = http;
16
+ }
17
+ /**
18
+ * Search for resources matching the given criteria.
19
+ *
20
+ * @param options - Search options including model, filters, and pagination
21
+ * @returns Promise resolving to search results
22
+ *
23
+ * @example
24
+ * // Find all pending invoices over $1000
25
+ * const invoices = await client.search.query({
26
+ * model: 'Transaction',
27
+ * module: 'PURCHASING',
28
+ * submodule: 'INVOICE',
29
+ * filter: { status__in: ['REVIEW', 'APPROVAL'], total__gt: 1000 },
30
+ * select: ['uuid', 'document_number', 'total', 'date_due'],
31
+ * order_by: ['-total']
32
+ * });
33
+ */
34
+ async query(options) {
35
+ // Build filter with module/submodule if provided
36
+ const filter = { ...options.filter };
37
+ if (options.module) {
38
+ filter.module = options.module;
39
+ }
40
+ if (options.submodule) {
41
+ filter.submodule = options.submodule;
42
+ }
43
+ const requestBody = {
44
+ model: options.model,
45
+ offset: options.offset ?? 0,
46
+ limit: options.limit ?? 100,
47
+ select: options.select ?? ['uuid', 'status', 'module', 'submodule', 'created_at', 'updated_at'],
48
+ order_by: options.order_by ?? ['-created_at'],
49
+ distinct: options.distinct ?? [],
50
+ filter,
51
+ exclude: options.exclude ?? {},
52
+ annotate: options.annotate ?? {},
53
+ ...(options.search && { search: options.search }),
54
+ ...(options.aggregate && { aggregate: options.aggregate }),
55
+ };
56
+ const queryParams = new URLSearchParams();
57
+ if (options.activeOnly !== false) {
58
+ queryParams.set('active_only', 'true');
59
+ }
60
+ queryParams.set('paginate', 'true');
61
+ const endpoint = `/team-data/v1/resources/search?${queryParams.toString()}`;
62
+ const response = await this.http.request('POST', endpoint, requestBody);
63
+ // Handle API error response
64
+ if (response.success === false) {
65
+ return {
66
+ success: false,
67
+ model: options.model,
68
+ error: response.message || response.error || 'Search failed',
69
+ };
70
+ }
71
+ return {
72
+ success: true,
73
+ model: response.model || options.model,
74
+ data: response.data,
75
+ metadata: {
76
+ count: response.count ?? response.total_count,
77
+ offset: response.offset,
78
+ limit: response.limit,
79
+ has_more: response.has_more,
80
+ },
81
+ };
82
+ }
83
+ /**
84
+ * Iterate over all resources matching the given criteria using async iteration.
85
+ * Automatically handles pagination.
86
+ *
87
+ * @param options - List options including model, filters, and page size
88
+ * @yields Each resource matching the criteria
89
+ *
90
+ * @example
91
+ * // Process all invoices
92
+ * for await (const invoice of client.search.list({ model: 'Transaction', module: 'PURCHASING' })) {
93
+ * console.log(invoice.document_number);
94
+ * }
95
+ */
96
+ async *list(options) {
97
+ const pageSize = options.pageSize ?? options.limit ?? 100;
98
+ let offset = options.offset ?? 0;
99
+ let hasMore = true;
100
+ while (hasMore) {
101
+ const result = await this.query({
102
+ ...options,
103
+ offset,
104
+ limit: pageSize,
105
+ });
106
+ if (!result.success || !result.data) {
107
+ return;
108
+ }
109
+ for (const item of result.data) {
110
+ yield item;
111
+ }
112
+ // Check if there are more pages
113
+ if (result.data.length < pageSize) {
114
+ hasMore = false;
115
+ }
116
+ else {
117
+ offset += pageSize;
118
+ hasMore = result.metadata?.has_more !== false;
119
+ }
120
+ }
121
+ }
122
+ /**
123
+ * Fetch a single resource by UUID or external ID.
124
+ *
125
+ * @param model - The model name (e.g., 'Transaction', 'Supplier')
126
+ * @param identifier - Either { uuid: string } or { externalId: string }
127
+ * @param options - Additional fetch options
128
+ * @returns Promise resolving to the fetched resource
129
+ *
130
+ * @example
131
+ * // Fetch by UUID
132
+ * const invoice = await client.search.fetch('Transaction', { uuid: 'invoice-uuid' });
133
+ *
134
+ * @example
135
+ * // Fetch by external ID with related data
136
+ * const supplier = await client.search.fetch(
137
+ * 'Supplier',
138
+ * { externalId: 'SUP-001' },
139
+ * { includeModels: 'BankAccount,Contact' }
140
+ * );
141
+ */
142
+ async fetch(model, identifier, options = {}) {
143
+ const params = new URLSearchParams({ model });
144
+ // Identifier
145
+ if ('uuid' in identifier) {
146
+ params.set('uuid', identifier.uuid);
147
+ }
148
+ else {
149
+ params.set('external_id', identifier.externalId);
150
+ }
151
+ // Fetch options
152
+ if (options.fetchDetails !== false) {
153
+ params.set('fetch_details', 'true');
154
+ }
155
+ if (options.activeOnly !== false) {
156
+ params.set('active_only', 'true');
157
+ }
158
+ // Include/exclude models (already strings)
159
+ if (options.includeModels) {
160
+ params.set('include_models', options.includeModels);
161
+ }
162
+ if (options.excludeModels) {
163
+ params.set('exclude_models', options.excludeModels);
164
+ }
165
+ if (options.includePaths) {
166
+ params.set('include_paths', options.includePaths);
167
+ }
168
+ if (options.excludePaths) {
169
+ params.set('exclude_paths', options.excludePaths);
170
+ }
171
+ const endpoint = `/team-data/v1/resources/?${params.toString()}`;
172
+ const response = await this.http.request('GET', endpoint);
173
+ if (response.success === false || !response.data) {
174
+ return {
175
+ success: false,
176
+ model,
177
+ error: response.message || response.error || 'Resource not found',
178
+ };
179
+ }
180
+ return {
181
+ success: true,
182
+ model: response.model || model,
183
+ data: response.data,
184
+ };
185
+ }
186
+ }
187
+ exports.SearchModule = SearchModule;
188
+ //# sourceMappingURL=search.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search.js","sourceRoot":"","sources":["../../../src/modules/search.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,155 @@
1
+ "use strict";
2
+ /**
3
+ * Sentences Module
4
+ *
5
+ * Methods for managing Zudello sentences (automation/business rules).
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.SentencesModule = void 0;
9
+ /**
10
+ * Sentence (automation rule) operations for Zudello.
11
+ */
12
+ class SentencesModule {
13
+ http;
14
+ constructor(http) {
15
+ this.http = http;
16
+ }
17
+ /**
18
+ * Get a specific sentence by UUID.
19
+ */
20
+ async get(uuid, returnDeleted = false) {
21
+ const params = new URLSearchParams({ return_deleted: String(returnDeleted) });
22
+ const response = await this.http.request('GET', `/general-store/api/v1/sentences/${uuid}?${params.toString()}`);
23
+ if (response.success === false) {
24
+ return { success: false, error: response.message || 'Failed to get sentence' };
25
+ }
26
+ return { success: true, data: response.data };
27
+ }
28
+ /**
29
+ * Get a specific sentence template by UUID.
30
+ */
31
+ async getTemplate(uuid, returnDeleted = false) {
32
+ const params = new URLSearchParams({ return_deleted: String(returnDeleted) });
33
+ const response = await this.http.request('GET', `/general-store/api/v1/sentence-templates/${uuid}?${params.toString()}`);
34
+ if (response.success === false) {
35
+ return { success: false, error: response.message || 'Failed to get sentence template' };
36
+ }
37
+ return { success: true, data: response.data };
38
+ }
39
+ /**
40
+ * List sentences for a module.
41
+ *
42
+ * @example
43
+ * const sentences = await client.sentences.list('PURCHASING', {
44
+ * submodule: 'INVOICE',
45
+ * enabled: true
46
+ * });
47
+ */
48
+ async list(module, options = {}) {
49
+ const params = new URLSearchParams({ module });
50
+ if (options.submodule)
51
+ params.set('submodule', options.submodule);
52
+ if (options.isTemplate !== undefined)
53
+ params.set('isTemplate', String(options.isTemplate));
54
+ if (options.enabled !== undefined)
55
+ params.set('enabled', String(options.enabled));
56
+ if (options.page !== undefined)
57
+ params.set('page', String(options.page));
58
+ if (options.perPage !== undefined)
59
+ params.set('per_page', String(options.perPage));
60
+ options.triggers?.forEach(t => params.append('triggers[]', t));
61
+ options.fields?.forEach(f => params.append('fields[]', f));
62
+ options.actions?.forEach(a => params.append('actions[]', a));
63
+ const response = await this.http.request('GET', `/general-store/api/v1/sentences/?${params.toString()}`);
64
+ if (response.success === false) {
65
+ return { success: false, error: response.message || 'Failed to list sentences' };
66
+ }
67
+ const data = Array.isArray(response.data) ? response.data : (response.data ? [response.data] : []);
68
+ return { success: true, data };
69
+ }
70
+ /**
71
+ * List sentence templates for a module.
72
+ */
73
+ async listTemplates(module, submodule) {
74
+ const params = new URLSearchParams({ module });
75
+ if (submodule)
76
+ params.set('submodule', submodule);
77
+ const response = await this.http.request('GET', `/general-store/api/v1/sentence-templates/?${params.toString()}`);
78
+ if (response.success === false) {
79
+ return { success: false, error: response.message || 'Failed to list sentence templates' };
80
+ }
81
+ const data = Array.isArray(response.data) ? response.data : (response.data ? [response.data] : []);
82
+ return { success: true, data };
83
+ }
84
+ /**
85
+ * List sentence resources (action or condition templates).
86
+ *
87
+ * @param resourceType - Either 'ACTION_TEMPLATE' or 'CONDITION_TEMPLATE'
88
+ * @param module - The module context
89
+ */
90
+ async listResources(resourceType, module) {
91
+ const params = new URLSearchParams({ resource_type: resourceType, module });
92
+ const response = await this.http.request('GET', `/general-store/api/v1/sentences/resource?${params.toString()}`);
93
+ if (response.success === false) {
94
+ return { success: false, error: response.message || 'Failed to list sentence resources' };
95
+ }
96
+ return { success: true, data: response.data ?? [] };
97
+ }
98
+ /**
99
+ * Create a new sentence.
100
+ *
101
+ * @example
102
+ * const sentence = await client.sentences.create('PURCHASING', {
103
+ * categories: ['Workflow'],
104
+ * evalOrder: 10,
105
+ * enabled: true,
106
+ * recipe: {
107
+ * name: 'Auto-approve small invoices',
108
+ * event_type: ['TRANSACTION_CREATED'],
109
+ * blocks: [{
110
+ * conditions: [{ type: 'CUSTOM_CONDITION', field: { value: 'total' }, operator: { value: '<' }, value: 100 }],
111
+ * actions: [{ type: 'SET_STATUS', params: { status: 'APPROVED' } }]
112
+ * }]
113
+ * }
114
+ * });
115
+ */
116
+ async create(module, payload, user, sendToLpm = true) {
117
+ const params = new URLSearchParams({
118
+ module,
119
+ send_to_lpm: String(sendToLpm),
120
+ });
121
+ if (user)
122
+ params.set('user', user);
123
+ const response = await this.http.request('POST', `/general-store/api/v1/sentences/?${params.toString()}`, payload);
124
+ if (!response.success) {
125
+ return { success: false, error: response.message || 'Failed to create sentence' };
126
+ }
127
+ return { success: true, data: response.data };
128
+ }
129
+ /**
130
+ * Update an existing sentence.
131
+ */
132
+ async update(uuid, module, payload, user, sendToLpm = true) {
133
+ const params = new URLSearchParams({
134
+ module,
135
+ send_to_lpm: String(sendToLpm),
136
+ });
137
+ if (user)
138
+ params.set('user', user);
139
+ const response = await this.http.request('PUT', `/general-store/api/v1/sentences/${uuid}?${params.toString()}`, payload);
140
+ if (!response.success) {
141
+ return { success: false, error: response.message || 'Failed to update sentence' };
142
+ }
143
+ return { success: true, data: response.data };
144
+ }
145
+ /**
146
+ * Update the order of sentences.
147
+ */
148
+ async updateOrder(module, sentenceOrders) {
149
+ const params = new URLSearchParams({ module });
150
+ await this.http.request('PUT', `/general-store/api/v1/sentences/order?${params.toString()}`, sentenceOrders);
151
+ return { success: true };
152
+ }
153
+ }
154
+ exports.SentencesModule = SentencesModule;
155
+ //# sourceMappingURL=sentences.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sentences.js","sourceRoot":"","sources":["../../../src/modules/sentences.ts"],"names":[],"mappings":"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"}