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,120 @@
1
+ "use strict";
2
+ /**
3
+ * Users Module
4
+ *
5
+ * Methods for managing team users, notifications, and language settings.
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.UsersModule = void 0;
9
+ /**
10
+ * Team user operations for Zudello.
11
+ */
12
+ class UsersModule {
13
+ http;
14
+ constructor(http) {
15
+ this.http = http;
16
+ }
17
+ /**
18
+ * Get users for the team.
19
+ *
20
+ * @example
21
+ * const users = await client.users.list({ status: 'ACTIVE' });
22
+ */
23
+ async list(options = {}) {
24
+ const params = new URLSearchParams();
25
+ if (options.status)
26
+ params.set('status', options.status);
27
+ if (options.search)
28
+ params.set('search', options.search);
29
+ if (options.namePattern)
30
+ params.set('name_pattern', options.namePattern);
31
+ if (options.emailDomain)
32
+ params.set('email_domain', options.emailDomain);
33
+ if (options.limit)
34
+ params.set('limit', String(options.limit));
35
+ if (options.offset)
36
+ params.set('offset', String(options.offset));
37
+ const response = await this.http.request('GET', `/team-data/v1/users/?${params.toString()}`);
38
+ if (response.success === false) {
39
+ return { success: false, error: response.message || response.error || 'Failed to list users' };
40
+ }
41
+ return { success: true, data: response.data ?? [] };
42
+ }
43
+ /**
44
+ * Get available notification types.
45
+ */
46
+ async getNotificationTypes() {
47
+ const response = await this.http.request('GET', '/team-data/v1/notification/user/notification_types');
48
+ if (response.success === false) {
49
+ return { success: false, error: response.message || response.error || 'Failed to get notification types' };
50
+ }
51
+ return { success: true, data: response.data ?? [] };
52
+ }
53
+ /**
54
+ * Get notification preferences for a user.
55
+ */
56
+ async getNotificationPreferences(userUuid) {
57
+ const response = await this.http.request('GET', `/team-data/v1/notification/user/preferences?user_uuid=${encodeURIComponent(userUuid)}`);
58
+ if (response.success === false) {
59
+ return { success: false, error: response.message || response.error || 'Failed to get notification preferences' };
60
+ }
61
+ return { success: true, data: response.data ?? [] };
62
+ }
63
+ /**
64
+ * Update notification preferences.
65
+ */
66
+ async updateNotificationPreferences(preferences) {
67
+ const response = await this.http.request('POST', '/team-data/v1/notification/user/preferences', preferences);
68
+ if (response.success === false) {
69
+ return { success: false, error: response.message || response.error || 'Failed to update notification preferences' };
70
+ }
71
+ return { success: true, data: response.data ?? [] };
72
+ }
73
+ /**
74
+ * Get language placeholders.
75
+ */
76
+ async getLanguagePlaceholders() {
77
+ const params = new URLSearchParams({
78
+ resource_type: 'language_placeholders',
79
+ team_uuid: this.http.config.teamId,
80
+ });
81
+ const response = await this.http.request('GET', `/general-store/api/v1/resources/?${params.toString()}`);
82
+ if (response.success === false) {
83
+ return { success: false, error: response.message || response.error || 'Failed to get language placeholders' };
84
+ }
85
+ const resource = response.data?.[0];
86
+ return { success: true, data: resource?.payload?.lang ?? {} };
87
+ }
88
+ /**
89
+ * Update language placeholders.
90
+ */
91
+ async updateLanguagePlaceholders(placeholders) {
92
+ // First get the existing resource to get its UUID
93
+ const params = new URLSearchParams({
94
+ resource_type: 'language_placeholders',
95
+ team_uuid: this.http.config.teamId,
96
+ });
97
+ const existing = await this.http.request('GET', `/general-store/api/v1/resources/?${params.toString()}`);
98
+ if (existing.success === false) {
99
+ return { success: false, error: existing.message || existing.error || 'Failed to get existing language placeholders' };
100
+ }
101
+ const resource = existing.data?.[0];
102
+ if (resource?.uuid) {
103
+ // Update existing
104
+ const updateResponse = await this.http.request('PUT', `/general-store/api/v1/resources/${resource.uuid}?resource_type=language_placeholders`, { payload: { lang: placeholders }, team_uuid: this.http.config.teamId, uuid: resource.uuid });
105
+ if (updateResponse.success === false) {
106
+ return { success: false, error: updateResponse.message || updateResponse.error || 'Failed to update language placeholders' };
107
+ }
108
+ }
109
+ else {
110
+ // Create new
111
+ const createResponse = await this.http.request('POST', `/general-store/api/v1/resources/?resource_type=language_placeholders`, { payload: { lang: placeholders }, team_uuid: this.http.config.teamId });
112
+ if (createResponse.success === false) {
113
+ return { success: false, error: createResponse.message || createResponse.error || 'Failed to create language placeholders' };
114
+ }
115
+ }
116
+ return { success: true };
117
+ }
118
+ }
119
+ exports.UsersModule = UsersModule;
120
+ //# sourceMappingURL=users.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"users.js","sourceRoot":"","sources":["../../../src/modules/users.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAYH;;GAEG;AACH,MAAa,WAAW;IACO;IAA7B,YAA6B,IAAgB;QAAhB,SAAI,GAAJ,IAAI,CAAY;IAAG,CAAC;IAEjD;;;;;OAKG;IACH,KAAK,CAAC,IAAI,CACR,UAA2B,EAAE;QAE7B,MAAM,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;QACrC,IAAI,OAAO,CAAC,MAAM;YAAE,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QACzD,IAAI,OAAO,CAAC,MAAM;YAAE,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QACzD,IAAI,OAAO,CAAC,WAAW;YAAE,MAAM,CAAC,GAAG,CAAC,cAAc,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;QACzE,IAAI,OAAO,CAAC,WAAW;YAAE,MAAM,CAAC,GAAG,CAAC,cAAc,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;QACzE,IAAI,OAAO,CAAC,KAAK;YAAE,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;QAC9D,IAAI,OAAO,CAAC,MAAM;YAAE,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;QAEjE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CACtC,KAAK,EACL,wBAAwB,MAAM,CAAC,QAAQ,EAAE,EAAE,CAC5C,CAAC;QACF,IAAI,QAAQ,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;YAC/B,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,OAAO,IAAI,QAAQ,CAAC,KAAK,IAAI,sBAAsB,EAAE,CAAC;QACjG,CAAC;QACD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC;IACtD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,oBAAoB;QACxB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CACtC,KAAK,EACL,oDAAoD,CACrD,CAAC;QACF,IAAI,QAAQ,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;YAC/B,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,OAAO,IAAI,QAAQ,CAAC,KAAK,IAAI,kCAAkC,EAAE,CAAC;QAC7G,CAAC;QACD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC;IACtD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,0BAA0B,CAC9B,QAAgB;QAEhB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CACtC,KAAK,EACL,yDAAyD,kBAAkB,CAAC,QAAQ,CAAC,EAAE,CACxF,CAAC;QACF,IAAI,QAAQ,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;YAC/B,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,OAAO,IAAI,QAAQ,CAAC,KAAK,IAAI,wCAAwC,EAAE,CAAC;QACnH,CAAC;QACD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC;IACtD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,6BAA6B,CACjC,WAAqC;QAErC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CACtC,MAAM,EACN,6CAA6C,EAC7C,WAAW,CACZ,CAAC;QACF,IAAI,QAAQ,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;YAC/B,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,OAAO,IAAI,QAAQ,CAAC,KAAK,IAAI,2CAA2C,EAAE,CAAC;QACtH,CAAC;QACD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC;IACtD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,uBAAuB;QAC3B,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC;YACjC,aAAa,EAAE,uBAAuB;YACtC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM;SACnC,CAAC,CAAC;QAEH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CACtC,KAAK,EACL,oCAAoC,MAAM,CAAC,QAAQ,EAAE,EAAE,CACxD,CAAC;QACF,IAAI,QAAQ,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;YAC/B,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,OAAO,IAAI,QAAQ,CAAC,KAAK,IAAI,qCAAqC,EAAE,CAAC;QAChH,CAAC;QAED,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QACpC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,IAAI,EAAE,EAAE,CAAC;IAChE,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,0BAA0B,CAC9B,YAAsD;QAEtD,kDAAkD;QAClD,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC;YACjC,aAAa,EAAE,uBAAuB;YACtC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM;SACnC,CAAC,CAAC;QAEH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CACtC,KAAK,EACL,oCAAoC,MAAM,CAAC,QAAQ,EAAE,EAAE,CACxD,CAAC;QACF,IAAI,QAAQ,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;YAC/B,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,OAAO,IAAI,QAAQ,CAAC,KAAK,IAAI,8CAA8C,EAAE,CAAC;QACzH,CAAC;QAED,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QACpC,IAAI,QAAQ,EAAE,IAAI,EAAE,CAAC;YACnB,kBAAkB;YAClB,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAC5C,KAAK,EACL,mCAAmC,QAAQ,CAAC,IAAI,sCAAsC,EACtF,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,CAC7F,CAAC;YACF,IAAI,cAAc,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;gBACrC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,cAAc,CAAC,OAAO,IAAI,cAAc,CAAC,KAAK,IAAI,wCAAwC,EAAE,CAAC;YAC/H,CAAC;QACH,CAAC;aAAM,CAAC;YACN,aAAa;YACb,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAC5C,MAAM,EACN,sEAAsE,EACtE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CACxE,CAAC;YACF,IAAI,cAAc,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;gBACrC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,cAAc,CAAC,OAAO,IAAI,cAAc,CAAC,KAAK,IAAI,wCAAwC,EAAE,CAAC;YAC/H,CAAC;QACH,CAAC;QAED,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC3B,CAAC;CACF;AA/ID,kCA+IC"}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ /**
3
+ * Zudello SDK Types
4
+ *
5
+ * TypeScript interfaces for all SDK operations.
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":";AAAA;;;;GAIG"}
@@ -0,0 +1,120 @@
1
+ /**
2
+ * Zudello SDK Client
3
+ *
4
+ * Main client class for interacting with the Zudello API.
5
+ * Designed for use in E2B sandboxes with environment variable configuration.
6
+ *
7
+ * @example
8
+ * import { ZudelloClient } from 'zudello-chat-sdk';
9
+ *
10
+ * // Zero-config: reads from environment variables
11
+ * const client = new ZudelloClient();
12
+ *
13
+ * // Search for pending invoices
14
+ * const invoices = await client.search.query({
15
+ * model: 'Transaction',
16
+ * module: 'PURCHASING',
17
+ * submodule: 'INVOICE',
18
+ * filter: { status: 'REVIEW' }
19
+ * });
20
+ *
21
+ * // Auto-pagination with async iterators
22
+ * for await (const invoice of client.search.list({ model: 'Transaction', module: 'PURCHASING' })) {
23
+ * console.log(invoice.document_number);
24
+ * }
25
+ *
26
+ * // Create resources
27
+ * await client.resources.create({
28
+ * model: 'Supplier',
29
+ * data: { trading_name: 'ACME Corp', code: 'SUP-001' }
30
+ * });
31
+ *
32
+ * // Organisation-level admin (requires privileges)
33
+ * const users = await client.org.listUsers();
34
+ */
35
+ import { HttpClient } from './http/client';
36
+ import { SearchModule } from './modules/search';
37
+ import { ResourcesModule } from './modules/resources';
38
+ import { ModelsModule } from './modules/models';
39
+ import { ConfigModule } from './modules/config';
40
+ import { SentencesModule } from './modules/sentences';
41
+ import { AutomationModule } from './modules/automation';
42
+ import { ApprovalsModule } from './modules/approvals';
43
+ import { UsersModule } from './modules/users';
44
+ import { OrgModule } from './modules/org';
45
+ import { DatasetsModule } from './modules/datasets';
46
+ import { ExportsModule } from './modules/exports';
47
+ import { QuickActionsModule } from './modules/quick-actions';
48
+ import { InboxesModule } from './modules/inboxes';
49
+ /**
50
+ * Main client for the Zudello API.
51
+ *
52
+ * Configuration is read from environment variables by default:
53
+ * - `ZUDELLO_TOKEN`: Authentication token (required)
54
+ * - `ZUDELLO_ORG_ID`: Organization UUID (required)
55
+ * - `ZUDELLO_TEAM_ID`: Team UUID (required)
56
+ * - `ZUDELLO_CLUSTER_URL`: API cluster URL (required)
57
+ * - `ZUDELLO_AUTH_API_BASE`: Auth API base URL (required)
58
+ * - `ZUDELLO_USER_ID`: User UUID (optional)
59
+ * - `ZUDELLO_USER_EMAIL`: User email (optional)
60
+ *
61
+ * @throws {ZudelloConfigurationError} If required configuration is missing
62
+ *
63
+ * @example
64
+ * // Auto-configured from environment
65
+ * const client = new ZudelloClient();
66
+ *
67
+ * // Or explicit configuration
68
+ * const client = new ZudelloClient({
69
+ * token: 'your-token',
70
+ * organizationId: 'org-uuid',
71
+ * teamId: 'team-uuid',
72
+ * clusterUrl: 'api.1.global.zudello.io',
73
+ * authApiBase: 'https://auth.zudello.io'
74
+ * });
75
+ */
76
+ export class ZudelloClient {
77
+ /** Search and fetch operations */
78
+ search;
79
+ /** Resource CRUD and batch operations */
80
+ resources;
81
+ /** Model introspection */
82
+ models;
83
+ /** Configuration, field settings, statuses, document types */
84
+ config;
85
+ /** Sentences (automation rules) */
86
+ sentences;
87
+ /** Scripts, triggers, and execution logs */
88
+ automation;
89
+ /** Approval workflows and bulk operations */
90
+ approvals;
91
+ /** Team users, notifications, language settings */
92
+ users;
93
+ /** Organisation-level admin (requires privileges) */
94
+ org;
95
+ /** Datasets (lookup tables, DOAs) */
96
+ datasets;
97
+ /** Export templates and data exports */
98
+ exports;
99
+ /** Quick actions */
100
+ quickActions;
101
+ /** Inboxes, budgets, contracts, messages */
102
+ inboxes;
103
+ constructor(config) {
104
+ const http = new HttpClient(config);
105
+ this.search = new SearchModule(http);
106
+ this.resources = new ResourcesModule(http);
107
+ this.models = new ModelsModule(http);
108
+ this.config = new ConfigModule(http);
109
+ this.sentences = new SentencesModule(http);
110
+ this.automation = new AutomationModule(http);
111
+ this.approvals = new ApprovalsModule(http);
112
+ this.users = new UsersModule(http);
113
+ this.org = new OrgModule(http);
114
+ this.datasets = new DatasetsModule(http);
115
+ this.exports = new ExportsModule(http);
116
+ this.quickActions = new QuickActionsModule(http);
117
+ this.inboxes = new InboxesModule(http);
118
+ }
119
+ }
120
+ //# sourceMappingURL=client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAIlD;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,OAAO,aAAa;IACxB,kCAAkC;IACzB,MAAM,CAAe;IAE9B,yCAAyC;IAChC,SAAS,CAAkB;IAEpC,0BAA0B;IACjB,MAAM,CAAe;IAE9B,8DAA8D;IACrD,MAAM,CAAe;IAE9B,mCAAmC;IAC1B,SAAS,CAAkB;IAEpC,4CAA4C;IACnC,UAAU,CAAmB;IAEtC,6CAA6C;IACpC,SAAS,CAAkB;IAEpC,mDAAmD;IAC1C,KAAK,CAAc;IAE5B,qDAAqD;IAC5C,GAAG,CAAY;IAExB,qCAAqC;IAC5B,QAAQ,CAAiB;IAElC,wCAAwC;IAC/B,OAAO,CAAgB;IAEhC,oBAAoB;IACX,YAAY,CAAqB;IAE1C,4CAA4C;IACnC,OAAO,CAAgB;IAEhC,YAAY,MAA4B;QACtC,MAAM,IAAI,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC;QAEpC,IAAI,CAAC,MAAM,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,CAAC,SAAS,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC;QAC3C,IAAI,CAAC,MAAM,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,CAAC,MAAM,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,CAAC,SAAS,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC;QAC3C,IAAI,CAAC,UAAU,GAAG,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAC7C,IAAI,CAAC,SAAS,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC;QAC3C,IAAI,CAAC,KAAK,GAAG,IAAI,WAAW,CAAC,IAAI,CAAC,CAAC;QACnC,IAAI,CAAC,GAAG,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,CAAC,QAAQ,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,CAAC,OAAO,GAAG,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,CAAC,YAAY,GAAG,IAAI,kBAAkB,CAAC,IAAI,CAAC,CAAC;QACjD,IAAI,CAAC,OAAO,GAAG,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC;CACF"}