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,565 @@
1
+ /**
2
+ * Zudello SDK Constants
3
+ *
4
+ * Type-safe constants for models, modules, submodules, and status keys.
5
+ * Includes Zod schemas for runtime validation.
6
+ *
7
+ * @example
8
+ * import { MODELS, MODULES, SUBMODULES, zudelloModelSchema } from 'zudello-chat-sdk';
9
+ *
10
+ * // Type-safe constants
11
+ * const invoices = await client.search.query({
12
+ * model: MODELS.Transaction,
13
+ * module: MODULES.PURCHASING,
14
+ * submodule: SUBMODULES.INVOICE,
15
+ * filter: { status: 'REVIEW' }
16
+ * });
17
+ *
18
+ * // Runtime validation with Zod
19
+ * const validModel = zudelloModelSchema.parse('Transaction');
20
+ */
21
+ import { z } from 'zod';
22
+ // ============================================================================
23
+ // Core Constants (as arrays for Zod enum compatibility)
24
+ // ============================================================================
25
+ /**
26
+ * Valid Zudello models as array.
27
+ */
28
+ export const ZUDELLO_MODELS = [
29
+ // Budgets
30
+ 'Budget',
31
+ // Contracts
32
+ 'Contract',
33
+ // Dimensional data
34
+ 'Account',
35
+ 'AccountCategory',
36
+ 'AccountGroup',
37
+ 'AccountingPeriod',
38
+ 'AmortizationSchedule',
39
+ 'Batch',
40
+ 'Bin',
41
+ 'ContractCategory',
42
+ 'ContractGroup',
43
+ 'CostCentre',
44
+ 'CostType',
45
+ 'Currency',
46
+ 'CustomerCategory',
47
+ 'CustomerGroup',
48
+ 'Department',
49
+ 'ExpenseCategory',
50
+ 'FixedAsset',
51
+ 'ItemCategory',
52
+ 'ItemGroup',
53
+ 'Location',
54
+ 'MileageRate',
55
+ 'PaymentMethod',
56
+ 'PaymentTerm',
57
+ 'Project',
58
+ 'ProjectGroup',
59
+ 'ProjectTask',
60
+ 'ProjectType',
61
+ 'Subsidiary',
62
+ 'SupplierCategory',
63
+ 'SupplierGroup',
64
+ 'TaxRate',
65
+ 'TaxSolution',
66
+ 'TeamAddress',
67
+ 'UnitOfMeasure',
68
+ 'Warehouse',
69
+ 'Zone',
70
+ // Transactions (multi-module)
71
+ 'Transaction',
72
+ // Items
73
+ 'Item',
74
+ // Relationships
75
+ 'Customer',
76
+ 'Employee',
77
+ 'Supplier',
78
+ ];
79
+ /**
80
+ * Valid Zudello modules as array.
81
+ */
82
+ export const ZUDELLO_MODULES = [
83
+ 'BUDGETS',
84
+ 'CONTRACTS',
85
+ 'DIMENSIONS',
86
+ 'EXPENSES',
87
+ 'INVENTORY',
88
+ 'PURCHASING',
89
+ 'RELATIONSHIPS',
90
+ 'SALES',
91
+ ];
92
+ /**
93
+ * Valid Zudello submodules as array.
94
+ */
95
+ export const ZUDELLO_SUBMODULES = [
96
+ // Budget submodules
97
+ 'BUDGET',
98
+ // Contract submodules
99
+ 'CONTRACT',
100
+ // Dimension submodules
101
+ 'ACCOUNT',
102
+ 'ACCOUNT_CATEGORY',
103
+ 'ACCOUNT_GROUP',
104
+ 'ACCOUNTING_PERIOD',
105
+ 'AMORTIZATION_SCHEDULE',
106
+ 'BATCH',
107
+ 'BIN',
108
+ 'CONTRACT_CATEGORY',
109
+ 'CONTRACT_GROUP',
110
+ 'COST_CENTRE',
111
+ 'COST_TYPE',
112
+ 'CURRENCY',
113
+ 'CUSTOMER_CATEGORY',
114
+ 'CUSTOMER_GROUP',
115
+ 'DEPARTMENT',
116
+ 'EXPENSE_CATEGORY',
117
+ 'FIXED_ASSET',
118
+ 'ITEM_CATEGORY',
119
+ 'ITEM_GROUP',
120
+ 'LOCATION',
121
+ 'MILEAGE_RATE',
122
+ 'PAYMENT_METHOD',
123
+ 'PAYMENT_TERM',
124
+ 'PROJECT',
125
+ 'PROJECT_GROUP',
126
+ 'PROJECT_TASK',
127
+ 'PROJECT_TYPE',
128
+ 'SUBSIDIARY',
129
+ 'SUPPLIER_CATEGORY',
130
+ 'SUPPLIER_GROUP',
131
+ 'TAX_RATE',
132
+ 'TAX_SOLUTION',
133
+ 'TEAM_ADDRESS',
134
+ 'UNIT_OF_MEASURE',
135
+ 'WAREHOUSE',
136
+ 'ZONE',
137
+ // Expense submodules
138
+ 'CLAIM',
139
+ 'EXPENSE',
140
+ 'MILEAGE',
141
+ 'PAYMENT',
142
+ 'REFUND',
143
+ // Inventory submodules
144
+ 'CATALOGUE',
145
+ 'RECEIPT',
146
+ // Purchasing submodules
147
+ 'CREDIT',
148
+ 'INVOICE',
149
+ 'ORDER',
150
+ 'QUOTE',
151
+ 'REQUISITION',
152
+ 'RETURN',
153
+ 'STATEMENT',
154
+ // Relationship submodules
155
+ 'CUSTOMER',
156
+ 'EMPLOYEE',
157
+ 'SUPPLIER',
158
+ // Sales submodules
159
+ 'REMITTANCE',
160
+ ];
161
+ /**
162
+ * All unique status keys used across Zudello modules.
163
+ * IMPORTANT: Statuses are user-configurable per organization.
164
+ */
165
+ export const ZUDELLO_STATUS_KEYS = [
166
+ // Common statuses
167
+ 'DRAFT',
168
+ 'ACTIVE',
169
+ 'INACTIVE',
170
+ 'DELETED',
171
+ 'ARCHIVED',
172
+ 'PROCESSING',
173
+ // Approval workflow statuses
174
+ 'APPROVAL',
175
+ 'REJECT',
176
+ 'REJECTED',
177
+ 'UNABLE',
178
+ // Document workflow statuses
179
+ 'SCANNING',
180
+ 'REVIEW',
181
+ 'READY',
182
+ 'COMPLETE',
183
+ 'CLOSED',
184
+ 'DUPLICATE',
185
+ // Purchasing-specific statuses
186
+ 'NEW_VENDOR',
187
+ 'PO_MISSING',
188
+ 'PO_VARIANCE',
189
+ 'GR_PENDING',
190
+ 'PENDING',
191
+ 'PLACED',
192
+ 'PARTIALLY_RECEIVED',
193
+ 'RECEIVED',
194
+ 'PARTIALLY_INVOICED',
195
+ 'INVOICED_NOT_RECEIVED',
196
+ // Statement-specific statuses
197
+ 'READY_TO_RECONCILE',
198
+ 'RECONCILE',
199
+ 'REQUESTED',
200
+ // Sales-specific statuses
201
+ 'CUSTOMER_CHECK',
202
+ 'ITEM_CHECK',
203
+ 'PRICE_CHECK',
204
+ 'STOCK_CHECK',
205
+ 'UNSUPPORTED',
206
+ ];
207
+ // ============================================================================
208
+ // Legacy Object Constants (for backward compatibility)
209
+ // ============================================================================
210
+ /**
211
+ * Valid Zudello models as object.
212
+ * @deprecated Use ZUDELLO_MODELS array for Zod compatibility
213
+ */
214
+ export const MODELS = {
215
+ Budget: 'Budget',
216
+ Contract: 'Contract',
217
+ Account: 'Account',
218
+ AccountCategory: 'AccountCategory',
219
+ AccountGroup: 'AccountGroup',
220
+ AccountingPeriod: 'AccountingPeriod',
221
+ AmortizationSchedule: 'AmortizationSchedule',
222
+ Batch: 'Batch',
223
+ Bin: 'Bin',
224
+ ContractCategory: 'ContractCategory',
225
+ ContractGroup: 'ContractGroup',
226
+ CostCentre: 'CostCentre',
227
+ CostType: 'CostType',
228
+ Currency: 'Currency',
229
+ CustomerCategory: 'CustomerCategory',
230
+ CustomerGroup: 'CustomerGroup',
231
+ Department: 'Department',
232
+ ExpenseCategory: 'ExpenseCategory',
233
+ FixedAsset: 'FixedAsset',
234
+ ItemCategory: 'ItemCategory',
235
+ ItemGroup: 'ItemGroup',
236
+ Location: 'Location',
237
+ MileageRate: 'MileageRate',
238
+ PaymentMethod: 'PaymentMethod',
239
+ PaymentTerm: 'PaymentTerm',
240
+ Project: 'Project',
241
+ ProjectGroup: 'ProjectGroup',
242
+ ProjectTask: 'ProjectTask',
243
+ ProjectType: 'ProjectType',
244
+ Subsidiary: 'Subsidiary',
245
+ SupplierCategory: 'SupplierCategory',
246
+ SupplierGroup: 'SupplierGroup',
247
+ TaxRate: 'TaxRate',
248
+ TaxSolution: 'TaxSolution',
249
+ TeamAddress: 'TeamAddress',
250
+ UnitOfMeasure: 'UnitOfMeasure',
251
+ Warehouse: 'Warehouse',
252
+ Zone: 'Zone',
253
+ Transaction: 'Transaction',
254
+ Item: 'Item',
255
+ Customer: 'Customer',
256
+ Employee: 'Employee',
257
+ Supplier: 'Supplier',
258
+ };
259
+ /**
260
+ * Valid Zudello modules as object.
261
+ * @deprecated Use ZUDELLO_MODULES array for Zod compatibility
262
+ */
263
+ export const MODULES = {
264
+ BUDGETS: 'BUDGETS',
265
+ CONTRACTS: 'CONTRACTS',
266
+ DIMENSIONS: 'DIMENSIONS',
267
+ EXPENSES: 'EXPENSES',
268
+ INVENTORY: 'INVENTORY',
269
+ PURCHASING: 'PURCHASING',
270
+ RELATIONSHIPS: 'RELATIONSHIPS',
271
+ SALES: 'SALES',
272
+ };
273
+ /**
274
+ * Valid Zudello submodules as object.
275
+ * @deprecated Use ZUDELLO_SUBMODULES array for Zod compatibility
276
+ */
277
+ export const SUBMODULES = {
278
+ BUDGET: 'BUDGET',
279
+ CONTRACT: 'CONTRACT',
280
+ ACCOUNT: 'ACCOUNT',
281
+ ACCOUNT_CATEGORY: 'ACCOUNT_CATEGORY',
282
+ ACCOUNT_GROUP: 'ACCOUNT_GROUP',
283
+ ACCOUNTING_PERIOD: 'ACCOUNTING_PERIOD',
284
+ AMORTIZATION_SCHEDULE: 'AMORTIZATION_SCHEDULE',
285
+ BATCH: 'BATCH',
286
+ BIN: 'BIN',
287
+ CONTRACT_CATEGORY: 'CONTRACT_CATEGORY',
288
+ CONTRACT_GROUP: 'CONTRACT_GROUP',
289
+ COST_CENTRE: 'COST_CENTRE',
290
+ COST_TYPE: 'COST_TYPE',
291
+ CURRENCY: 'CURRENCY',
292
+ CUSTOMER_CATEGORY: 'CUSTOMER_CATEGORY',
293
+ CUSTOMER_GROUP: 'CUSTOMER_GROUP',
294
+ DEPARTMENT: 'DEPARTMENT',
295
+ EXPENSE_CATEGORY: 'EXPENSE_CATEGORY',
296
+ FIXED_ASSET: 'FIXED_ASSET',
297
+ ITEM_CATEGORY: 'ITEM_CATEGORY',
298
+ ITEM_GROUP: 'ITEM_GROUP',
299
+ LOCATION: 'LOCATION',
300
+ MILEAGE_RATE: 'MILEAGE_RATE',
301
+ PAYMENT_METHOD: 'PAYMENT_METHOD',
302
+ PAYMENT_TERM: 'PAYMENT_TERM',
303
+ PROJECT: 'PROJECT',
304
+ PROJECT_GROUP: 'PROJECT_GROUP',
305
+ PROJECT_TASK: 'PROJECT_TASK',
306
+ PROJECT_TYPE: 'PROJECT_TYPE',
307
+ SUBSIDIARY: 'SUBSIDIARY',
308
+ SUPPLIER_CATEGORY: 'SUPPLIER_CATEGORY',
309
+ SUPPLIER_GROUP: 'SUPPLIER_GROUP',
310
+ TAX_RATE: 'TAX_RATE',
311
+ TAX_SOLUTION: 'TAX_SOLUTION',
312
+ TEAM_ADDRESS: 'TEAM_ADDRESS',
313
+ UNIT_OF_MEASURE: 'UNIT_OF_MEASURE',
314
+ WAREHOUSE: 'WAREHOUSE',
315
+ ZONE: 'ZONE',
316
+ CLAIM: 'CLAIM',
317
+ EXPENSE: 'EXPENSE',
318
+ MILEAGE: 'MILEAGE',
319
+ PAYMENT: 'PAYMENT',
320
+ REFUND: 'REFUND',
321
+ CATALOGUE: 'CATALOGUE',
322
+ RECEIPT: 'RECEIPT',
323
+ CREDIT: 'CREDIT',
324
+ INVOICE: 'INVOICE',
325
+ ORDER: 'ORDER',
326
+ QUOTE: 'QUOTE',
327
+ REQUISITION: 'REQUISITION',
328
+ RETURN: 'RETURN',
329
+ STATEMENT: 'STATEMENT',
330
+ CUSTOMER: 'CUSTOMER',
331
+ EMPLOYEE: 'EMPLOYEE',
332
+ SUPPLIER: 'SUPPLIER',
333
+ REMITTANCE: 'REMITTANCE',
334
+ };
335
+ /**
336
+ * Common status keys as object.
337
+ * @deprecated Use ZUDELLO_STATUS_KEYS array for Zod compatibility
338
+ */
339
+ export const STATUS_KEYS = {
340
+ DRAFT: 'DRAFT',
341
+ ACTIVE: 'ACTIVE',
342
+ INACTIVE: 'INACTIVE',
343
+ DELETED: 'DELETED',
344
+ ARCHIVED: 'ARCHIVED',
345
+ PROCESSING: 'PROCESSING',
346
+ APPROVAL: 'APPROVAL',
347
+ REJECT: 'REJECT',
348
+ REJECTED: 'REJECTED',
349
+ UNABLE: 'UNABLE',
350
+ SCANNING: 'SCANNING',
351
+ REVIEW: 'REVIEW',
352
+ READY: 'READY',
353
+ COMPLETE: 'COMPLETE',
354
+ CLOSED: 'CLOSED',
355
+ DUPLICATE: 'DUPLICATE',
356
+ NEW_VENDOR: 'NEW_VENDOR',
357
+ PO_MISSING: 'PO_MISSING',
358
+ PO_VARIANCE: 'PO_VARIANCE',
359
+ GR_PENDING: 'GR_PENDING',
360
+ PENDING: 'PENDING',
361
+ PLACED: 'PLACED',
362
+ PARTIALLY_RECEIVED: 'PARTIALLY_RECEIVED',
363
+ RECEIVED: 'RECEIVED',
364
+ PARTIALLY_INVOICED: 'PARTIALLY_INVOICED',
365
+ };
366
+ // ============================================================================
367
+ // Model/Module/Submodule Combinations
368
+ // ============================================================================
369
+ /**
370
+ * Valid combinations of model, module, and submodule.
371
+ * Based on the official Zudello API specification.
372
+ */
373
+ export const ZUDELLO_MODEL_COMBINATIONS = [
374
+ // Budgets
375
+ { model: 'Budget', module: 'BUDGETS', submodule: 'BUDGET' },
376
+ // Contracts
377
+ { model: 'Contract', module: 'CONTRACTS', submodule: 'CONTRACT' },
378
+ // Dimensions
379
+ { model: 'Account', module: 'DIMENSIONS', submodule: 'ACCOUNT' },
380
+ { model: 'AccountCategory', module: 'DIMENSIONS', submodule: 'ACCOUNT_CATEGORY' },
381
+ { model: 'AccountGroup', module: 'DIMENSIONS', submodule: 'ACCOUNT_GROUP' },
382
+ { model: 'AccountingPeriod', module: 'DIMENSIONS', submodule: 'ACCOUNTING_PERIOD' },
383
+ { model: 'AmortizationSchedule', module: 'DIMENSIONS', submodule: 'AMORTIZATION_SCHEDULE' },
384
+ { model: 'Batch', module: 'DIMENSIONS', submodule: 'BATCH' },
385
+ { model: 'Bin', module: 'DIMENSIONS', submodule: 'BIN' },
386
+ { model: 'ContractCategory', module: 'DIMENSIONS', submodule: 'CONTRACT_CATEGORY' },
387
+ { model: 'ContractGroup', module: 'DIMENSIONS', submodule: 'CONTRACT_GROUP' },
388
+ { model: 'CostCentre', module: 'DIMENSIONS', submodule: 'COST_CENTRE' },
389
+ { model: 'CostType', module: 'DIMENSIONS', submodule: 'COST_TYPE' },
390
+ { model: 'Currency', module: 'DIMENSIONS', submodule: 'CURRENCY' },
391
+ { model: 'CustomerCategory', module: 'DIMENSIONS', submodule: 'CUSTOMER_CATEGORY' },
392
+ { model: 'CustomerGroup', module: 'DIMENSIONS', submodule: 'CUSTOMER_GROUP' },
393
+ { model: 'Department', module: 'DIMENSIONS', submodule: 'DEPARTMENT' },
394
+ { model: 'ExpenseCategory', module: 'DIMENSIONS', submodule: 'EXPENSE_CATEGORY' },
395
+ { model: 'FixedAsset', module: 'DIMENSIONS', submodule: 'FIXED_ASSET' },
396
+ { model: 'ItemCategory', module: 'DIMENSIONS', submodule: 'ITEM_CATEGORY' },
397
+ { model: 'ItemGroup', module: 'DIMENSIONS', submodule: 'ITEM_GROUP' },
398
+ { model: 'Location', module: 'DIMENSIONS', submodule: 'LOCATION' },
399
+ { model: 'MileageRate', module: 'DIMENSIONS', submodule: 'MILEAGE_RATE' },
400
+ { model: 'PaymentMethod', module: 'DIMENSIONS', submodule: 'PAYMENT_METHOD' },
401
+ { model: 'PaymentTerm', module: 'DIMENSIONS', submodule: 'PAYMENT_TERM' },
402
+ { model: 'Project', module: 'DIMENSIONS', submodule: 'PROJECT' },
403
+ { model: 'ProjectGroup', module: 'DIMENSIONS', submodule: 'PROJECT_GROUP' },
404
+ { model: 'ProjectTask', module: 'DIMENSIONS', submodule: 'PROJECT_TASK' },
405
+ { model: 'ProjectType', module: 'DIMENSIONS', submodule: 'PROJECT_TYPE' },
406
+ { model: 'Subsidiary', module: 'DIMENSIONS', submodule: 'SUBSIDIARY' },
407
+ { model: 'SupplierCategory', module: 'DIMENSIONS', submodule: 'SUPPLIER_CATEGORY' },
408
+ { model: 'SupplierGroup', module: 'DIMENSIONS', submodule: 'SUPPLIER_GROUP' },
409
+ { model: 'TaxRate', module: 'DIMENSIONS', submodule: 'TAX_RATE' },
410
+ { model: 'TaxSolution', module: 'DIMENSIONS', submodule: 'TAX_SOLUTION' },
411
+ { model: 'TeamAddress', module: 'DIMENSIONS', submodule: 'TEAM_ADDRESS' },
412
+ { model: 'UnitOfMeasure', module: 'DIMENSIONS', submodule: 'UNIT_OF_MEASURE' },
413
+ { model: 'Warehouse', module: 'DIMENSIONS', submodule: 'WAREHOUSE' },
414
+ { model: 'Zone', module: 'DIMENSIONS', submodule: 'ZONE' },
415
+ // Expenses - Transaction model with multiple submodules
416
+ { model: 'Transaction', module: 'EXPENSES', submodule: 'CLAIM' },
417
+ { model: 'Transaction', module: 'EXPENSES', submodule: 'EXPENSE' },
418
+ { model: 'Transaction', module: 'EXPENSES', submodule: 'MILEAGE' },
419
+ { model: 'Transaction', module: 'EXPENSES', submodule: 'PAYMENT' },
420
+ { model: 'Transaction', module: 'EXPENSES', submodule: 'REFUND' },
421
+ // Inventory
422
+ { model: 'Item', module: 'INVENTORY', submodule: 'CATALOGUE' },
423
+ { model: 'Transaction', module: 'INVENTORY', submodule: 'RECEIPT' },
424
+ // Purchasing - Transaction model with multiple submodules
425
+ { model: 'Transaction', module: 'PURCHASING', submodule: 'CREDIT' },
426
+ { model: 'Transaction', module: 'PURCHASING', submodule: 'INVOICE' },
427
+ { model: 'Transaction', module: 'PURCHASING', submodule: 'ORDER' },
428
+ { model: 'Transaction', module: 'PURCHASING', submodule: 'QUOTE' },
429
+ { model: 'Transaction', module: 'PURCHASING', submodule: 'REQUISITION' },
430
+ { model: 'Transaction', module: 'PURCHASING', submodule: 'RETURN' },
431
+ { model: 'Transaction', module: 'PURCHASING', submodule: 'STATEMENT' },
432
+ // Relationships
433
+ { model: 'Customer', module: 'RELATIONSHIPS', submodule: 'CUSTOMER' },
434
+ { model: 'Employee', module: 'RELATIONSHIPS', submodule: 'EMPLOYEE' },
435
+ { model: 'Supplier', module: 'RELATIONSHIPS', submodule: 'SUPPLIER' },
436
+ // Sales - Transaction model with multiple submodules
437
+ { model: 'Transaction', module: 'SALES', submodule: 'CREDIT' },
438
+ { model: 'Transaction', module: 'SALES', submodule: 'INVOICE' },
439
+ { model: 'Transaction', module: 'SALES', submodule: 'ORDER' },
440
+ { model: 'Transaction', module: 'SALES', submodule: 'QUOTE' },
441
+ { model: 'Transaction', module: 'SALES', submodule: 'REMITTANCE' },
442
+ ];
443
+ // ============================================================================
444
+ // Zod Validation Schemas
445
+ // ============================================================================
446
+ /**
447
+ * Zod schema for Zudello models.
448
+ * Use for runtime validation of model inputs.
449
+ */
450
+ export const zudelloModelSchema = z.enum(ZUDELLO_MODELS).describe('Valid Zudello model. Common models: Transaction (invoices, orders, receipts), Item (products, inventory), ' +
451
+ 'Supplier/Customer/Employee (business entities), Budget/Contract (financial documents), ' +
452
+ 'Account/Department/Location (dimensional data).');
453
+ /**
454
+ * Zod schema for Zudello modules.
455
+ * Use for runtime validation of module inputs.
456
+ */
457
+ export const zudelloModuleSchema = z.enum(ZUDELLO_MODULES).describe('Zudello module. Functional areas: BUDGETS (budget planning), CONTRACTS (contract management), ' +
458
+ 'DIMENSIONS (reference data), EXPENSES (expense tracking), INVENTORY (stock management), ' +
459
+ 'PURCHASING (procurement), RELATIONSHIPS (entities), SALES (revenue tracking).');
460
+ /**
461
+ * Zod schema for Zudello submodules.
462
+ * Use for runtime validation of submodule inputs.
463
+ */
464
+ export const zudelloSubmoduleSchema = z.enum(ZUDELLO_SUBMODULES).describe('Zudello submodule. Specific contexts within modules, e.g., INVOICE/ORDER/QUOTE for transactions, ' +
465
+ 'CATALOGUE for items, CUSTOMER/SUPPLIER/EMPLOYEE for relationships.');
466
+ /**
467
+ * Zod schema for Zudello status keys.
468
+ * IMPORTANT: Statuses are user-configurable. These are default values.
469
+ */
470
+ export const zudelloStatusKeySchema = z.enum(ZUDELLO_STATUS_KEYS).describe('Status key for filtering documents. Common values: DRAFT, REVIEW, APPROVAL, READY, COMPLETE, ACTIVE, INACTIVE. ' +
471
+ 'IMPORTANT: Statuses are user-configurable per organization.');
472
+ // ============================================================================
473
+ // Validation Functions
474
+ // ============================================================================
475
+ /**
476
+ * Check if a string is a valid Zudello model
477
+ */
478
+ export function isValidModel(model) {
479
+ return ZUDELLO_MODELS.includes(model);
480
+ }
481
+ /**
482
+ * Check if a string is a valid Zudello module
483
+ */
484
+ export function isValidModule(module) {
485
+ return ZUDELLO_MODULES.includes(module);
486
+ }
487
+ /**
488
+ * Check if a string is a valid Zudello submodule
489
+ */
490
+ export function isValidSubmodule(submodule) {
491
+ return ZUDELLO_SUBMODULES.includes(submodule);
492
+ }
493
+ /**
494
+ * Check if a string is a valid Zudello status key
495
+ */
496
+ export function isValidStatusKey(statusKey) {
497
+ return ZUDELLO_STATUS_KEYS.includes(statusKey);
498
+ }
499
+ /**
500
+ * Check if a model/module/submodule combination is valid
501
+ */
502
+ export function isValidCombination(model, module, submodule) {
503
+ // If only model is provided, check if it's a valid model
504
+ if (!module && !submodule) {
505
+ return isValidModel(model);
506
+ }
507
+ // If module/submodule are provided, check the exact combination
508
+ return ZUDELLO_MODEL_COMBINATIONS.some(combo => {
509
+ const modelMatch = combo.model === model;
510
+ const moduleMatch = !module || combo.module === module;
511
+ const submoduleMatch = !submodule || combo.submodule === submodule;
512
+ return modelMatch && moduleMatch && submoduleMatch;
513
+ });
514
+ }
515
+ /**
516
+ * Get valid modules for a given model
517
+ */
518
+ export function getValidModulesForModel(model) {
519
+ return [...new Set(ZUDELLO_MODEL_COMBINATIONS
520
+ .filter(combo => combo.model === model)
521
+ .map(combo => combo.module))];
522
+ }
523
+ /**
524
+ * Get valid submodules for a given model and optional module
525
+ */
526
+ export function getValidSubmodulesForModel(model, module) {
527
+ return [...new Set(ZUDELLO_MODEL_COMBINATIONS
528
+ .filter(combo => {
529
+ const modelMatch = combo.model === model;
530
+ const moduleMatch = !module || combo.module === module;
531
+ return modelMatch && moduleMatch;
532
+ })
533
+ .map(combo => combo.submodule))];
534
+ }
535
+ /**
536
+ * Get models available in a specific module
537
+ */
538
+ export function getModelsForModule(module) {
539
+ return [...new Set(ZUDELLO_MODEL_COMBINATIONS
540
+ .filter(combo => combo.module === module)
541
+ .map(combo => combo.model))];
542
+ }
543
+ /**
544
+ * Get all valid combinations for a specific model
545
+ */
546
+ export function getCombinationsForModel(model) {
547
+ return ZUDELLO_MODEL_COMBINATIONS.filter(combo => combo.model === model);
548
+ }
549
+ /**
550
+ * Create a Zod schema that validates model/module/submodule combinations
551
+ */
552
+ export function createValidatedModelSchema(moduleParam, submoduleParam) {
553
+ return z.string().refine((model) => {
554
+ if (!isValidModel(model)) {
555
+ return false;
556
+ }
557
+ if (moduleParam || submoduleParam) {
558
+ return isValidCombination(model, moduleParam, submoduleParam);
559
+ }
560
+ return true;
561
+ }, {
562
+ message: 'Invalid model or model/module/submodule combination.',
563
+ });
564
+ }
565
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"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"}