@langslide/sdk 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (184) hide show
  1. package/README.md +708 -0
  2. package/dist/api/auth.d.ts +18 -0
  3. package/dist/api/auth.d.ts.map +1 -0
  4. package/dist/api/auth.js +43 -0
  5. package/dist/api/auth.js.map +1 -0
  6. package/dist/api/integrations.d.ts +27 -0
  7. package/dist/api/integrations.d.ts.map +1 -0
  8. package/dist/api/integrations.js +64 -0
  9. package/dist/api/integrations.js.map +1 -0
  10. package/dist/api/mcp.d.ts +15 -0
  11. package/dist/api/mcp.d.ts.map +1 -0
  12. package/dist/api/mcp.js +24 -0
  13. package/dist/api/mcp.js.map +1 -0
  14. package/dist/api/recipes.d.ts +19 -0
  15. package/dist/api/recipes.d.ts.map +1 -0
  16. package/dist/api/recipes.js +37 -0
  17. package/dist/api/recipes.js.map +1 -0
  18. package/dist/api/users.d.ts +19 -0
  19. package/dist/api/users.d.ts.map +1 -0
  20. package/dist/api/users.js +32 -0
  21. package/dist/api/users.js.map +1 -0
  22. package/dist/api/workflows.d.ts +44 -0
  23. package/dist/api/workflows.d.ts.map +1 -0
  24. package/dist/api/workflows.js +95 -0
  25. package/dist/api/workflows.js.map +1 -0
  26. package/dist/browser.js +2 -0
  27. package/dist/browser.js.map +1 -0
  28. package/dist/client.d.ts +35 -0
  29. package/dist/client.d.ts.map +1 -0
  30. package/dist/client.js +87 -0
  31. package/dist/client.js.map +1 -0
  32. package/dist/config.d.ts +21 -0
  33. package/dist/config.d.ts.map +1 -0
  34. package/dist/config.js +39 -0
  35. package/dist/config.js.map +1 -0
  36. package/dist/errors.d.ts +39 -0
  37. package/dist/errors.d.ts.map +1 -0
  38. package/dist/errors.js +92 -0
  39. package/dist/errors.js.map +1 -0
  40. package/dist/index.d.ts +9 -0
  41. package/dist/index.d.ts.map +1 -0
  42. package/dist/index.js +36 -0
  43. package/dist/index.js.map +1 -0
  44. package/dist/react/LangslideProvider.d.ts +12 -0
  45. package/dist/react/LangslideProvider.d.ts.map +1 -0
  46. package/dist/react/LangslideProvider.js +87 -0
  47. package/dist/react/LangslideProvider.js.map +1 -0
  48. package/dist/react/api/auth.d.ts +18 -0
  49. package/dist/react/api/auth.d.ts.map +1 -0
  50. package/dist/react/api/auth.js +43 -0
  51. package/dist/react/api/auth.js.map +1 -0
  52. package/dist/react/api/integrations.d.ts +27 -0
  53. package/dist/react/api/integrations.d.ts.map +1 -0
  54. package/dist/react/api/integrations.js +64 -0
  55. package/dist/react/api/integrations.js.map +1 -0
  56. package/dist/react/api/mcp.d.ts +15 -0
  57. package/dist/react/api/mcp.d.ts.map +1 -0
  58. package/dist/react/api/mcp.js +24 -0
  59. package/dist/react/api/mcp.js.map +1 -0
  60. package/dist/react/api/recipes.d.ts +19 -0
  61. package/dist/react/api/recipes.d.ts.map +1 -0
  62. package/dist/react/api/recipes.js +37 -0
  63. package/dist/react/api/recipes.js.map +1 -0
  64. package/dist/react/api/users.d.ts +19 -0
  65. package/dist/react/api/users.d.ts.map +1 -0
  66. package/dist/react/api/users.js +32 -0
  67. package/dist/react/api/users.js.map +1 -0
  68. package/dist/react/api/workflows.d.ts +44 -0
  69. package/dist/react/api/workflows.d.ts.map +1 -0
  70. package/dist/react/api/workflows.js +95 -0
  71. package/dist/react/api/workflows.js.map +1 -0
  72. package/dist/react/client.d.ts +35 -0
  73. package/dist/react/client.d.ts.map +1 -0
  74. package/dist/react/client.js +87 -0
  75. package/dist/react/client.js.map +1 -0
  76. package/dist/react/config.d.ts +21 -0
  77. package/dist/react/config.d.ts.map +1 -0
  78. package/dist/react/config.js +39 -0
  79. package/dist/react/config.js.map +1 -0
  80. package/dist/react/errors.d.ts +39 -0
  81. package/dist/react/errors.d.ts.map +1 -0
  82. package/dist/react/errors.js +92 -0
  83. package/dist/react/errors.js.map +1 -0
  84. package/dist/react/index.d.ts +10 -0
  85. package/dist/react/index.d.ts.map +1 -0
  86. package/dist/react/index.js +18 -0
  87. package/dist/react/index.js.map +1 -0
  88. package/dist/react/react/LangslideProvider.d.ts +19 -0
  89. package/dist/react/react/LangslideProvider.d.ts.map +1 -0
  90. package/dist/react/react/LangslideProvider.js +87 -0
  91. package/dist/react/react/LangslideProvider.js.map +1 -0
  92. package/dist/react/react/index.d.ts +10 -0
  93. package/dist/react/react/index.d.ts.map +1 -0
  94. package/dist/react/react/index.js +18 -0
  95. package/dist/react/react/index.js.map +1 -0
  96. package/dist/react/react/useIntegrations.d.ts +13 -0
  97. package/dist/react/react/useIntegrations.d.ts.map +1 -0
  98. package/dist/react/react/useIntegrations.js +70 -0
  99. package/dist/react/react/useIntegrations.js.map +1 -0
  100. package/dist/react/react/useWorkflows.d.ts +14 -0
  101. package/dist/react/react/useWorkflows.d.ts.map +1 -0
  102. package/dist/react/react/useWorkflows.js +108 -0
  103. package/dist/react/react/useWorkflows.js.map +1 -0
  104. package/dist/react/types/common.d.ts +28 -0
  105. package/dist/react/types/common.d.ts.map +1 -0
  106. package/dist/react/types/common.js +6 -0
  107. package/dist/react/types/common.js.map +1 -0
  108. package/dist/react/types/index.d.ts +8 -0
  109. package/dist/react/types/index.d.ts.map +1 -0
  110. package/dist/react/types/index.js +25 -0
  111. package/dist/react/types/index.js.map +1 -0
  112. package/dist/react/types/integration.d.ts +23 -0
  113. package/dist/react/types/integration.d.ts.map +1 -0
  114. package/dist/react/types/integration.js +6 -0
  115. package/dist/react/types/integration.js.map +1 -0
  116. package/dist/react/types/permissions.d.ts +31 -0
  117. package/dist/react/types/permissions.d.ts.map +1 -0
  118. package/dist/react/types/permissions.js +33 -0
  119. package/dist/react/types/permissions.js.map +1 -0
  120. package/dist/react/types/workflow.d.ts +33 -0
  121. package/dist/react/types/workflow.d.ts.map +1 -0
  122. package/dist/react/types/workflow.js +6 -0
  123. package/dist/react/types/workflow.js.map +1 -0
  124. package/dist/react/useIntegrations.d.ts +13 -0
  125. package/dist/react/useIntegrations.d.ts.map +1 -0
  126. package/dist/react/useIntegrations.js +70 -0
  127. package/dist/react/useIntegrations.js.map +1 -0
  128. package/dist/react/useWorkflows.d.ts +14 -0
  129. package/dist/react/useWorkflows.d.ts.map +1 -0
  130. package/dist/react/useWorkflows.js +108 -0
  131. package/dist/react/useWorkflows.js.map +1 -0
  132. package/dist/react/utils/permission-guard.d.ts +13 -0
  133. package/dist/react/utils/permission-guard.d.ts.map +1 -0
  134. package/dist/react/utils/permission-guard.js +28 -0
  135. package/dist/react/utils/permission-guard.js.map +1 -0
  136. package/dist/react/utils/permissions.d.ts +20 -0
  137. package/dist/react/utils/permissions.d.ts.map +1 -0
  138. package/dist/react/utils/permissions.js +48 -0
  139. package/dist/react/utils/permissions.js.map +1 -0
  140. package/dist/react/utils/request.d.ts +7 -0
  141. package/dist/react/utils/request.d.ts.map +1 -0
  142. package/dist/react/utils/request.js +48 -0
  143. package/dist/react/utils/request.js.map +1 -0
  144. package/dist/types/auth.d.ts +5 -0
  145. package/dist/types/auth.d.ts.map +1 -0
  146. package/dist/types/auth.js +7 -0
  147. package/dist/types/auth.js.map +1 -0
  148. package/dist/types/common.d.ts +28 -0
  149. package/dist/types/common.d.ts.map +1 -0
  150. package/dist/types/common.js +6 -0
  151. package/dist/types/common.js.map +1 -0
  152. package/dist/types/index.d.ts +8 -0
  153. package/dist/types/index.d.ts.map +1 -0
  154. package/dist/types/index.js +25 -0
  155. package/dist/types/index.js.map +1 -0
  156. package/dist/types/integration.d.ts +23 -0
  157. package/dist/types/integration.d.ts.map +1 -0
  158. package/dist/types/integration.js +6 -0
  159. package/dist/types/integration.js.map +1 -0
  160. package/dist/types/permissions.d.ts +31 -0
  161. package/dist/types/permissions.d.ts.map +1 -0
  162. package/dist/types/permissions.js +33 -0
  163. package/dist/types/permissions.js.map +1 -0
  164. package/dist/types/workflow.d.ts +33 -0
  165. package/dist/types/workflow.d.ts.map +1 -0
  166. package/dist/types/workflow.js +6 -0
  167. package/dist/types/workflow.js.map +1 -0
  168. package/dist/utils/permission-guard.d.ts +13 -0
  169. package/dist/utils/permission-guard.d.ts.map +1 -0
  170. package/dist/utils/permission-guard.js +28 -0
  171. package/dist/utils/permission-guard.js.map +1 -0
  172. package/dist/utils/permissions.d.ts +20 -0
  173. package/dist/utils/permissions.d.ts.map +1 -0
  174. package/dist/utils/permissions.js +48 -0
  175. package/dist/utils/permissions.js.map +1 -0
  176. package/dist/utils/request.d.ts +7 -0
  177. package/dist/utils/request.d.ts.map +1 -0
  178. package/dist/utils/request.js +48 -0
  179. package/dist/utils/request.js.map +1 -0
  180. package/dist/utils/validation.d.ts +8 -0
  181. package/dist/utils/validation.d.ts.map +1 -0
  182. package/dist/utils/validation.js +37 -0
  183. package/dist/utils/validation.js.map +1 -0
  184. package/package.json +76 -0
@@ -0,0 +1,15 @@
1
+ import { AxiosInstance } from 'axios';
2
+ import { LangslideSDKConfigResolved } from '../config';
3
+ /**
4
+ * MCP (Model Context Protocol) API module
5
+ */
6
+ export declare class MCPAPI {
7
+ private client;
8
+ private config;
9
+ constructor(client: AxiosInstance, config: LangslideSDKConfigResolved);
10
+ /**
11
+ * List MCP resources
12
+ */
13
+ listResources(): Promise<any[]>;
14
+ }
15
+ //# sourceMappingURL=mcp.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../../../src/api/mcp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAEtC,OAAO,EAAE,0BAA0B,EAAE,MAAM,WAAW,CAAC;AAIvD;;GAEG;AACH,qBAAa,MAAM;IAEf,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,MAAM;gBADN,MAAM,EAAE,aAAa,EACrB,MAAM,EAAE,0BAA0B;IAG5C;;OAEG;IACG,aAAa,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;CAKtC"}
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MCPAPI = void 0;
4
+ const permissions_1 = require("../types/permissions");
5
+ const permission_guard_1 = require("../utils/permission-guard");
6
+ /**
7
+ * MCP (Model Context Protocol) API module
8
+ */
9
+ class MCPAPI {
10
+ constructor(client, config) {
11
+ this.client = client;
12
+ this.config = config;
13
+ }
14
+ /**
15
+ * List MCP resources
16
+ */
17
+ async listResources() {
18
+ (0, permission_guard_1.requirePermission)(this.config.permissions, permissions_1.SDK_METHODS.MCP_READ);
19
+ const response = await this.client.get('/mcp/resources');
20
+ return response.data.data || [];
21
+ }
22
+ }
23
+ exports.MCPAPI = MCPAPI;
24
+ //# sourceMappingURL=mcp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../../../src/api/mcp.ts"],"names":[],"mappings":";;;AAGA,sDAAmD;AACnD,gEAA8D;AAE9D;;GAEG;AACH,MAAa,MAAM;IACjB,YACU,MAAqB,EACrB,MAAkC;QADlC,WAAM,GAAN,MAAM,CAAe;QACrB,WAAM,GAAN,MAAM,CAA4B;IACzC,CAAC;IAEJ;;OAEG;IACH,KAAK,CAAC,aAAa;QACjB,IAAA,oCAAiB,EAAC,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,yBAAW,CAAC,QAAQ,CAAC,CAAC;QACjE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAqB,gBAAgB,CAAC,CAAC;QAC7E,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;IAClC,CAAC;CACF;AAdD,wBAcC"}
@@ -0,0 +1,19 @@
1
+ import { AxiosInstance } from 'axios';
2
+ import { LangslideSDKConfigResolved } from '../config';
3
+ /**
4
+ * Recipes API module
5
+ */
6
+ export declare class RecipesAPI {
7
+ private client;
8
+ private config;
9
+ constructor(client: AxiosInstance, config: LangslideSDKConfigResolved);
10
+ /**
11
+ * List all recipes
12
+ */
13
+ list(filterParams?: string, type?: string): Promise<any[]>;
14
+ /**
15
+ * Get a recipe by ID
16
+ */
17
+ get(id: string): Promise<any>;
18
+ }
19
+ //# sourceMappingURL=recipes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recipes.d.ts","sourceRoot":"","sources":["../../../src/api/recipes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAEtC,OAAO,EAAE,0BAA0B,EAAE,MAAM,WAAW,CAAC;AAIvD;;GAEG;AACH,qBAAa,UAAU;IAEnB,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,MAAM;gBADN,MAAM,EAAE,aAAa,EACrB,MAAM,EAAE,0BAA0B;IAG5C;;OAEG;IACG,IAAI,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAUhE;;OAEG;IACG,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;CAKpC"}
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RecipesAPI = void 0;
4
+ const permissions_1 = require("../types/permissions");
5
+ const permission_guard_1 = require("../utils/permission-guard");
6
+ /**
7
+ * Recipes API module
8
+ */
9
+ class RecipesAPI {
10
+ constructor(client, config) {
11
+ this.client = client;
12
+ this.config = config;
13
+ }
14
+ /**
15
+ * List all recipes
16
+ */
17
+ async list(filterParams, type) {
18
+ (0, permission_guard_1.requirePermission)(this.config.permissions, permissions_1.SDK_METHODS.RECIPES_READ);
19
+ const params = {};
20
+ if (filterParams)
21
+ params.filter = filterParams;
22
+ if (type)
23
+ params.type = type;
24
+ const response = await this.client.get('/recipes', { params });
25
+ return response.data.data || [];
26
+ }
27
+ /**
28
+ * Get a recipe by ID
29
+ */
30
+ async get(id) {
31
+ (0, permission_guard_1.requirePermission)(this.config.permissions, permissions_1.SDK_METHODS.RECIPES_READ);
32
+ const response = await this.client.get(`/recipes/${id}`);
33
+ return response.data.data;
34
+ }
35
+ }
36
+ exports.RecipesAPI = RecipesAPI;
37
+ //# sourceMappingURL=recipes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recipes.js","sourceRoot":"","sources":["../../../src/api/recipes.ts"],"names":[],"mappings":";;;AAGA,sDAAmD;AACnD,gEAA8D;AAE9D;;GAEG;AACH,MAAa,UAAU;IACrB,YACU,MAAqB,EACrB,MAAkC;QADlC,WAAM,GAAN,MAAM,CAAe;QACrB,WAAM,GAAN,MAAM,CAA4B;IACzC,CAAC;IAEJ;;OAEG;IACH,KAAK,CAAC,IAAI,CAAC,YAAqB,EAAE,IAAa;QAC7C,IAAA,oCAAiB,EAAC,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,yBAAW,CAAC,YAAY,CAAC,CAAC;QACrE,MAAM,MAAM,GAAwB,EAAE,CAAC;QACvC,IAAI,YAAY;YAAE,MAAM,CAAC,MAAM,GAAG,YAAY,CAAC;QAC/C,IAAI,IAAI;YAAE,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC;QAE7B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAqB,UAAU,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;QACnF,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;IAClC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,GAAG,CAAC,EAAU;QAClB,IAAA,oCAAiB,EAAC,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,yBAAW,CAAC,YAAY,CAAC,CAAC;QACrE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAmB,YAAY,EAAE,EAAE,CAAC,CAAC;QAC3E,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;IAC5B,CAAC;CACF;AA3BD,gCA2BC"}
@@ -0,0 +1,19 @@
1
+ import { AxiosInstance } from 'axios';
2
+ import { LangslideSDKConfigResolved } from '../config';
3
+ /**
4
+ * Users API module
5
+ */
6
+ export declare class UsersAPI {
7
+ private client;
8
+ private config;
9
+ constructor(client: AxiosInstance, config: LangslideSDKConfigResolved);
10
+ /**
11
+ * Get current user details
12
+ */
13
+ getCurrent(): Promise<any>;
14
+ /**
15
+ * Update current user
16
+ */
17
+ update(payload: any): Promise<any>;
18
+ }
19
+ //# sourceMappingURL=users.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"users.d.ts","sourceRoot":"","sources":["../../../src/api/users.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAEtC,OAAO,EAAE,0BAA0B,EAAE,MAAM,WAAW,CAAC;AAIvD;;GAEG;AACH,qBAAa,QAAQ;IAEjB,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,MAAM;gBADN,MAAM,EAAE,aAAa,EACrB,MAAM,EAAE,0BAA0B;IAG5C;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,GAAG,CAAC;IAMhC;;OAEG;IACG,MAAM,CAAC,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;CAKzC"}
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.UsersAPI = void 0;
4
+ const permissions_1 = require("../types/permissions");
5
+ const permission_guard_1 = require("../utils/permission-guard");
6
+ /**
7
+ * Users API module
8
+ */
9
+ class UsersAPI {
10
+ constructor(client, config) {
11
+ this.client = client;
12
+ this.config = config;
13
+ }
14
+ /**
15
+ * Get current user details
16
+ */
17
+ async getCurrent() {
18
+ (0, permission_guard_1.requirePermission)(this.config.permissions, permissions_1.SDK_METHODS.USERS_READ);
19
+ const response = await this.client.get('/user');
20
+ return response.data.data;
21
+ }
22
+ /**
23
+ * Update current user
24
+ */
25
+ async update(payload) {
26
+ (0, permission_guard_1.requirePermission)(this.config.permissions, permissions_1.SDK_METHODS.USERS_WRITE);
27
+ const response = await this.client.patch('/user', payload);
28
+ return response.data.data;
29
+ }
30
+ }
31
+ exports.UsersAPI = UsersAPI;
32
+ //# sourceMappingURL=users.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"users.js","sourceRoot":"","sources":["../../../src/api/users.ts"],"names":[],"mappings":";;;AAGA,sDAAmD;AACnD,gEAA8D;AAE9D;;GAEG;AACH,MAAa,QAAQ;IACnB,YACU,MAAqB,EACrB,MAAkC;QADlC,WAAM,GAAN,MAAM,CAAe;QACrB,WAAM,GAAN,MAAM,CAA4B;IACzC,CAAC;IAEJ;;OAEG;IACH,KAAK,CAAC,UAAU;QACd,IAAA,oCAAiB,EAAC,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,yBAAW,CAAC,UAAU,CAAC,CAAC;QACnE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAmB,OAAO,CAAC,CAAC;QAClE,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CAAC,OAAY;QACvB,IAAA,oCAAiB,EAAC,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,yBAAW,CAAC,WAAW,CAAC,CAAC;QACpE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAmB,OAAO,EAAE,OAAO,CAAC,CAAC;QAC7E,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;IAC5B,CAAC;CACF;AAvBD,4BAuBC"}
@@ -0,0 +1,44 @@
1
+ import { AxiosInstance } from 'axios';
2
+ import { CreateWorkflowPayload, UpdateWorkflowPayload, Workflow, WorkflowUsage, ListOptions, PaginatedResponse, TriggerWorkflowPayload, TriggerWorkflowResponse } from '../types';
3
+ import { LangslideSDKConfigResolved } from '../config';
4
+ /**
5
+ * Workflows API module
6
+ */
7
+ export declare class WorkflowsAPI {
8
+ private client;
9
+ private config;
10
+ constructor(client: AxiosInstance, config: LangslideSDKConfigResolved);
11
+ /**
12
+ * List workflows with pagination and filtering
13
+ * @param options - Search and filter options
14
+ */
15
+ list(options?: ListOptions): Promise<PaginatedResponse<Workflow>>;
16
+ /**
17
+ * Get a workflow by ID
18
+ */
19
+ get(id: string): Promise<Workflow>;
20
+ /**
21
+ * Create a new workflow
22
+ */
23
+ create(payload: CreateWorkflowPayload): Promise<Workflow>;
24
+ /**
25
+ * Update a workflow
26
+ */
27
+ update(id: string, payload: UpdateWorkflowPayload): Promise<Workflow>;
28
+ /**
29
+ * Delete a workflow
30
+ */
31
+ delete(id: string): Promise<void>;
32
+ /**
33
+ * Get workflow usage statistics
34
+ */
35
+ getUsage(): Promise<WorkflowUsage>;
36
+ /**
37
+ * Trigger a workflow execution (async, fire-and-forget)
38
+ * @param workflowId - The ID of the workflow to trigger
39
+ * @param payload - Optional payload to pass to the workflow
40
+ * @returns Success response immediately (workflow executes asynchronously)
41
+ */
42
+ trigger(workflowId: string, payload?: TriggerWorkflowPayload): Promise<TriggerWorkflowResponse>;
43
+ }
44
+ //# sourceMappingURL=workflows.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflows.d.ts","sourceRoot":"","sources":["../../../src/api/workflows.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,EAAe,qBAAqB,EAAE,qBAAqB,EAAE,QAAQ,EAAE,aAAa,EAAE,WAAW,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC;AAC/L,OAAO,EAAE,0BAA0B,EAAE,MAAM,WAAW,CAAC;AAIvD;;GAEG;AACH,qBAAa,YAAY;IAErB,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,MAAM;gBADN,MAAM,EAAE,aAAa,EACrB,MAAM,EAAE,0BAA0B;IAG5C;;;OAGG;IACG,IAAI,CAAC,OAAO,GAAE,WAAgB,GAAG,OAAO,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IAkC3E;;OAEG;IACG,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAMxC;;OAEG;IACG,MAAM,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,QAAQ,CAAC;IAM/D;;OAEG;IACG,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,QAAQ,CAAC;IAM3E;;OAEG;IACG,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKvC;;OAEG;IACG,QAAQ,IAAI,OAAO,CAAC,aAAa,CAAC;IAMxC;;;;;OAKG;IACG,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,sBAAsB,GAAG,OAAO,CAAC,uBAAuB,CAAC;CAQtG"}
@@ -0,0 +1,95 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.WorkflowsAPI = void 0;
4
+ const permissions_1 = require("../types/permissions");
5
+ const permission_guard_1 = require("../utils/permission-guard");
6
+ /**
7
+ * Workflows API module
8
+ */
9
+ class WorkflowsAPI {
10
+ constructor(client, config) {
11
+ this.client = client;
12
+ this.config = config;
13
+ }
14
+ /**
15
+ * List workflows with pagination and filtering
16
+ * @param options - Search and filter options
17
+ */
18
+ async list(options = {}) {
19
+ (0, permission_guard_1.requirePermission)(this.config.permissions, permissions_1.SDK_METHODS.WORKFLOWS_READ);
20
+ const { page = 1, limit = 10, status = 'all', search = '', sortBy, sortOrder, createdAfter, createdBefore, tags, } = options;
21
+ const params = { page, limit, status };
22
+ if (search)
23
+ params.search = search;
24
+ if (sortBy)
25
+ params.sortBy = sortBy;
26
+ if (sortOrder)
27
+ params.sortOrder = sortOrder;
28
+ if (createdAfter) {
29
+ params.createdAfter =
30
+ createdAfter instanceof Date ? createdAfter.toISOString() : createdAfter;
31
+ }
32
+ if (createdBefore) {
33
+ params.createdBefore =
34
+ createdBefore instanceof Date ? createdBefore.toISOString() : createdBefore;
35
+ }
36
+ if (tags && tags.length > 0)
37
+ params.tags = tags.join(',');
38
+ const response = await this.client.get('/workflow', {
39
+ params,
40
+ });
41
+ return response.data.data;
42
+ }
43
+ /**
44
+ * Get a workflow by ID
45
+ */
46
+ async get(id) {
47
+ (0, permission_guard_1.requirePermission)(this.config.permissions, permissions_1.SDK_METHODS.WORKFLOWS_READ);
48
+ const response = await this.client.get(`/workflow/${id}`);
49
+ return response.data.data;
50
+ }
51
+ /**
52
+ * Create a new workflow
53
+ */
54
+ async create(payload) {
55
+ (0, permission_guard_1.requirePermission)(this.config.permissions, permissions_1.SDK_METHODS.WORKFLOWS_WRITE);
56
+ const response = await this.client.post('/workflow', payload);
57
+ return response.data.data;
58
+ }
59
+ /**
60
+ * Update a workflow
61
+ */
62
+ async update(id, payload) {
63
+ (0, permission_guard_1.requirePermission)(this.config.permissions, permissions_1.SDK_METHODS.WORKFLOWS_WRITE);
64
+ const response = await this.client.patch(`/workflow/${id}`, payload);
65
+ return response.data.data;
66
+ }
67
+ /**
68
+ * Delete a workflow
69
+ */
70
+ async delete(id) {
71
+ (0, permission_guard_1.requirePermission)(this.config.permissions, permissions_1.SDK_METHODS.WORKFLOWS_WRITE);
72
+ await this.client.delete(`/workflow/${id}`);
73
+ }
74
+ /**
75
+ * Get workflow usage statistics
76
+ */
77
+ async getUsage() {
78
+ (0, permission_guard_1.requirePermission)(this.config.permissions, permissions_1.SDK_METHODS.WORKFLOWS_READ);
79
+ const response = await this.client.get('/workflow/usage');
80
+ return response.data.data;
81
+ }
82
+ /**
83
+ * Trigger a workflow execution (async, fire-and-forget)
84
+ * @param workflowId - The ID of the workflow to trigger
85
+ * @param payload - Optional payload to pass to the workflow
86
+ * @returns Success response immediately (workflow executes asynchronously)
87
+ */
88
+ async trigger(workflowId, payload) {
89
+ (0, permission_guard_1.requirePermission)(this.config.permissions, permissions_1.SDK_METHODS.WORKFLOWS_WRITE);
90
+ const response = await this.client.post(`/webhook/${workflowId}`, payload || {});
91
+ return response.data.data || response.data;
92
+ }
93
+ }
94
+ exports.WorkflowsAPI = WorkflowsAPI;
95
+ //# sourceMappingURL=workflows.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflows.js","sourceRoot":"","sources":["../../../src/api/workflows.ts"],"names":[],"mappings":";;;AAGA,sDAAmD;AACnD,gEAA8D;AAE9D;;GAEG;AACH,MAAa,YAAY;IACvB,YACU,MAAqB,EACrB,MAAkC;QADlC,WAAM,GAAN,MAAM,CAAe;QACrB,WAAM,GAAN,MAAM,CAA4B;IACzC,CAAC;IAEJ;;;OAGG;IACH,KAAK,CAAC,IAAI,CAAC,UAAuB,EAAE;QAClC,IAAA,oCAAiB,EAAC,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,yBAAW,CAAC,cAAc,CAAC,CAAC;QACvE,MAAM,EACJ,IAAI,GAAG,CAAC,EACR,KAAK,GAAG,EAAE,EACV,MAAM,GAAG,KAAK,EACd,MAAM,GAAG,EAAE,EACX,MAAM,EACN,SAAS,EACT,YAAY,EACZ,aAAa,EACb,IAAI,GACL,GAAG,OAAO,CAAC;QAEZ,MAAM,MAAM,GAAwB,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QAC5D,IAAI,MAAM;YAAE,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC;QACnC,IAAI,MAAM;YAAE,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC;QACnC,IAAI,SAAS;YAAE,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC;QAC5C,IAAI,YAAY,EAAE,CAAC;YACjB,MAAM,CAAC,YAAY;gBACjB,YAAY,YAAY,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC;QAC7E,CAAC;QACD,IAAI,aAAa,EAAE,CAAC;YAClB,MAAM,CAAC,aAAa;gBAClB,aAAa,YAAY,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC;QAChF,CAAC;QACD,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;YAAE,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAE1D,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAA2C,WAAW,EAAE;YAC5F,MAAM;SACP,CAAC,CAAC;QACH,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,GAAG,CAAC,EAAU;QAClB,IAAA,oCAAiB,EAAC,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,yBAAW,CAAC,cAAc,CAAC,CAAC;QACvE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAwB,aAAa,EAAE,EAAE,CAAC,CAAC;QACjF,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CAAC,OAA8B;QACzC,IAAA,oCAAiB,EAAC,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,yBAAW,CAAC,eAAe,CAAC,CAAC;QACxE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAwB,WAAW,EAAE,OAAO,CAAC,CAAC;QACrF,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CAAC,EAAU,EAAE,OAA8B;QACrD,IAAA,oCAAiB,EAAC,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,yBAAW,CAAC,eAAe,CAAC,CAAC;QACxE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAwB,aAAa,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;QAC5F,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CAAC,EAAU;QACrB,IAAA,oCAAiB,EAAC,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,yBAAW,CAAC,eAAe,CAAC,CAAC;QACxE,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;IAC9C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,QAAQ;QACZ,IAAA,oCAAiB,EAAC,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,yBAAW,CAAC,cAAc,CAAC,CAAC;QACvE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAA6B,iBAAiB,CAAC,CAAC;QACtF,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;IAC5B,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,OAAO,CAAC,UAAkB,EAAE,OAAgC;QAChE,IAAA,oCAAiB,EAAC,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,yBAAW,CAAC,eAAe,CAAC,CAAC;QACxE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CACrC,YAAY,UAAU,EAAE,EACxB,OAAO,IAAI,EAAE,CACd,CAAC;QACF,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC;IAC7C,CAAC;CACF;AAtGD,oCAsGC"}
@@ -0,0 +1,35 @@
1
+ import { LangslideSDKConfig, LangslideSDKConfigResolved } from './config';
2
+ import { IAPIKeyPermissions } from './types/permissions';
3
+ import { WorkflowsAPI } from './api/workflows';
4
+ import { IntegrationsAPI } from './api/integrations';
5
+ import { AuthAPI } from './api/auth';
6
+ import { UsersAPI } from './api/users';
7
+ import { MCPAPI } from './api/mcp';
8
+ import { RecipesAPI } from './api/recipes';
9
+ /**
10
+ * Main Langslide SDK client class
11
+ */
12
+ export declare class LangslideSDK {
13
+ private config;
14
+ private client;
15
+ readonly workflows: WorkflowsAPI;
16
+ readonly integrations: IntegrationsAPI;
17
+ readonly auth: AuthAPI;
18
+ readonly users: UsersAPI;
19
+ readonly mcp: MCPAPI;
20
+ readonly recipes: RecipesAPI;
21
+ constructor(config?: LangslideSDKConfig);
22
+ /**
23
+ * Update the API key and validate it to fetch permissions
24
+ */
25
+ setApiKey(apiKey: string): Promise<void>;
26
+ /**
27
+ * Get the current configuration (without sensitive data)
28
+ */
29
+ getConfig(): Omit<LangslideSDKConfigResolved, 'apiKey'>;
30
+ /**
31
+ * Get the current permissions
32
+ */
33
+ getPermissions(): IAPIKeyPermissions | undefined;
34
+ }
35
+ //# sourceMappingURL=client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"AAEA,OAAO,EAAiB,kBAAkB,EAAE,0BAA0B,EAAE,MAAM,UAAU,CAAC;AAEzF,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAEzD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C;;GAEG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAA6B;IAC3C,OAAO,CAAC,MAAM,CAAgB;IAE9B,SAAgB,SAAS,EAAE,YAAY,CAAC;IACxC,SAAgB,YAAY,EAAE,eAAe,CAAC;IAC9C,SAAgB,IAAI,EAAE,OAAO,CAAC;IAC9B,SAAgB,KAAK,EAAE,QAAQ,CAAC;IAChC,SAAgB,GAAG,EAAE,MAAM,CAAC;IAC5B,SAAgB,OAAO,EAAE,UAAU,CAAC;gBAExB,MAAM,GAAE,kBAAuB;IAsB3C;;OAEG;IACU,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAsBrD;;OAEG;IACI,SAAS,IAAI,IAAI,CAAC,0BAA0B,EAAE,QAAQ,CAAC;IAK9D;;OAEG;IACI,cAAc,IAAI,kBAAkB,GAAG,SAAS;CAGxD"}
@@ -0,0 +1,87 @@
1
+ "use strict";
2
+ var __rest = (this && this.__rest) || function (s, e) {
3
+ var t = {};
4
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
5
+ t[p] = s[p];
6
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
7
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
8
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
9
+ t[p[i]] = s[p[i]];
10
+ }
11
+ return t;
12
+ };
13
+ Object.defineProperty(exports, "__esModule", { value: true });
14
+ exports.LangslideSDK = void 0;
15
+ const config_1 = require("./config");
16
+ const errors_1 = require("./errors");
17
+ const request_1 = require("./utils/request");
18
+ const workflows_1 = require("./api/workflows");
19
+ const integrations_1 = require("./api/integrations");
20
+ const auth_1 = require("./api/auth");
21
+ const users_1 = require("./api/users");
22
+ const mcp_1 = require("./api/mcp");
23
+ const recipes_1 = require("./api/recipes");
24
+ /**
25
+ * Main Langslide SDK client class
26
+ */
27
+ class LangslideSDK {
28
+ constructor(config = {}) {
29
+ try {
30
+ this.config = (0, config_1.resolveConfig)(config);
31
+ this.client = (0, request_1.createRequestClient)(this.config);
32
+ // Set API key in headers if provided (validation will happen when setApiKey is called)
33
+ if (this.config.apiKey) {
34
+ this.client.defaults.headers.common['X-API-Key'] = this.config.apiKey;
35
+ }
36
+ // Initialize API modules
37
+ this.workflows = new workflows_1.WorkflowsAPI(this.client, this.config);
38
+ this.integrations = new integrations_1.IntegrationsAPI(this.client, this.config);
39
+ this.auth = new auth_1.AuthAPI(this.client, this.config);
40
+ this.users = new users_1.UsersAPI(this.client, this.config);
41
+ this.mcp = new mcp_1.MCPAPI(this.client, this.config);
42
+ this.recipes = new recipes_1.RecipesAPI(this.client, this.config);
43
+ }
44
+ catch (error) {
45
+ throw new errors_1.LangslideError(`Failed to initialize SDK: ${error.message}`);
46
+ }
47
+ }
48
+ /**
49
+ * Update the API key and validate it to fetch permissions
50
+ */
51
+ async setApiKey(apiKey) {
52
+ if (!apiKey || typeof apiKey !== 'string') {
53
+ throw new errors_1.LangslideError('API key must be a non-empty string');
54
+ }
55
+ this.config.apiKey = apiKey;
56
+ // Update the axios client's default headers
57
+ this.client.defaults.headers.common['X-API-Key'] = apiKey;
58
+ // Validate API key and fetch permissions
59
+ try {
60
+ const permissions = await this.auth.validateAPIKey(apiKey);
61
+ this.config.permissions = permissions;
62
+ }
63
+ catch (error) {
64
+ // If validation fails, clear permissions but don't throw
65
+ // This allows the SDK to be used with JWT auth (no permissions)
66
+ this.config.permissions = undefined;
67
+ if (this.config.enableLogging) {
68
+ console.warn('[LangslideSDK] Failed to validate API key:', error.message);
69
+ }
70
+ }
71
+ }
72
+ /**
73
+ * Get the current configuration (without sensitive data)
74
+ */
75
+ getConfig() {
76
+ const _a = this.config, { apiKey } = _a, publicConfig = __rest(_a, ["apiKey"]);
77
+ return publicConfig;
78
+ }
79
+ /**
80
+ * Get the current permissions
81
+ */
82
+ getPermissions() {
83
+ return this.config.permissions;
84
+ }
85
+ }
86
+ exports.LangslideSDK = LangslideSDK;
87
+ //# sourceMappingURL=client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ export interface LangslideSDKConfig {
2
+ baseUrl?: string;
3
+ apiKey?: string;
4
+ timeout?: number;
5
+ retries?: number;
6
+ enableLogging?: boolean;
7
+ }
8
+ import { IAPIKeyPermissions } from './types/permissions';
9
+ export interface LangslideSDKConfigResolved {
10
+ baseUrl: string;
11
+ apiKey?: string;
12
+ timeout: number;
13
+ retries: number;
14
+ enableLogging: boolean;
15
+ permissions?: IAPIKeyPermissions;
16
+ }
17
+ /**
18
+ * Resolves SDK configuration with defaults and environment variables
19
+ */
20
+ export declare function resolveConfig(config?: LangslideSDKConfig): LangslideSDKConfigResolved;
21
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,kBAAkB;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAEzD,MAAM,WAAW,0BAA0B;IACzC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,OAAO,CAAC;IACvB,WAAW,CAAC,EAAE,kBAAkB,CAAC;CAClC;AAMD;;GAEG;AACH,wBAAgB,aAAa,CAAC,MAAM,GAAE,kBAAuB,GAAG,0BAA0B,CAgCzF"}
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.resolveConfig = resolveConfig;
4
+ const DEFAULT_BASE_URL = 'https://backend-api-306481332586.asia-southeast1.run.app';
5
+ const DEFAULT_TIMEOUT = 30000; // 30 seconds
6
+ const DEFAULT_RETRIES = 3;
7
+ /**
8
+ * Resolves SDK configuration with defaults and environment variables
9
+ */
10
+ function resolveConfig(config = {}) {
11
+ var _a, _b, _c, _d, _e;
12
+ // Get baseUrl from config, environment variable, or default
13
+ const baseUrl = config.baseUrl ||
14
+ (typeof process !== 'undefined' && ((_a = process.env) === null || _a === void 0 ? void 0 : _a.LANGSLIDE_API_URL)) ||
15
+ DEFAULT_BASE_URL;
16
+ // Get apiKey from config or environment variable
17
+ // API key is optional - JWT users may not have one
18
+ const apiKey = config.apiKey ||
19
+ (typeof process !== 'undefined' && ((_b = process.env) === null || _b === void 0 ? void 0 : _b.LANGSLIDE_API_KEY)) ||
20
+ undefined;
21
+ // Validate baseUrl
22
+ if (!baseUrl || typeof baseUrl !== 'string') {
23
+ throw new Error('baseUrl must be a non-empty string');
24
+ }
25
+ try {
26
+ new URL(baseUrl);
27
+ }
28
+ catch (_f) {
29
+ throw new Error(`Invalid baseUrl: ${baseUrl}`);
30
+ }
31
+ return {
32
+ baseUrl: baseUrl.replace(/\/$/, ''), // Remove trailing slash
33
+ apiKey,
34
+ timeout: (_c = config.timeout) !== null && _c !== void 0 ? _c : DEFAULT_TIMEOUT,
35
+ retries: (_d = config.retries) !== null && _d !== void 0 ? _d : DEFAULT_RETRIES,
36
+ enableLogging: (_e = config.enableLogging) !== null && _e !== void 0 ? _e : false,
37
+ };
38
+ }
39
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":";;AA0BA,sCAgCC;AAvCD,MAAM,gBAAgB,GAAG,0DAA0D,CAAC;AACpF,MAAM,eAAe,GAAG,KAAK,CAAC,CAAC,aAAa;AAC5C,MAAM,eAAe,GAAG,CAAC,CAAC;AAE1B;;GAEG;AACH,SAAgB,aAAa,CAAC,SAA6B,EAAE;;IAC3D,4DAA4D;IAC5D,MAAM,OAAO,GACX,MAAM,CAAC,OAAO;QACd,CAAC,OAAO,OAAO,KAAK,WAAW,KAAI,MAAA,OAAO,CAAC,GAAG,0CAAE,iBAAiB,CAAA,CAAC;QAClE,gBAAgB,CAAC;IAEnB,iDAAiD;IACjD,mDAAmD;IACnD,MAAM,MAAM,GACV,MAAM,CAAC,MAAM;QACb,CAAC,OAAO,OAAO,KAAK,WAAW,KAAI,MAAA,OAAO,CAAC,GAAG,0CAAE,iBAAiB,CAAA,CAAC;QAClE,SAAS,CAAC;IAEZ,mBAAmB;IACnB,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAC5C,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;IACxD,CAAC;IAED,IAAI,CAAC;QACH,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;IACnB,CAAC;IAAC,WAAM,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,oBAAoB,OAAO,EAAE,CAAC,CAAC;IACjD,CAAC;IAED,OAAO;QACL,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,wBAAwB;QAC7D,MAAM;QACN,OAAO,EAAE,MAAA,MAAM,CAAC,OAAO,mCAAI,eAAe;QAC1C,OAAO,EAAE,MAAA,MAAM,CAAC,OAAO,mCAAI,eAAe;QAC1C,aAAa,EAAE,MAAA,MAAM,CAAC,aAAa,mCAAI,KAAK;KAC7C,CAAC;AACJ,CAAC"}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * Base error class for all Langslide SDK errors
3
+ */
4
+ export declare class LangslideError extends Error {
5
+ constructor(message: string);
6
+ }
7
+ /**
8
+ * API-specific errors with HTTP status codes
9
+ */
10
+ export declare class LangslideAPIError extends LangslideError {
11
+ statusCode: number;
12
+ response?: any;
13
+ constructor(message: string, statusCode: number, response?: any);
14
+ }
15
+ /**
16
+ * Authentication errors
17
+ */
18
+ export declare class LangslideAuthError extends LangslideError {
19
+ constructor(message?: string);
20
+ }
21
+ /**
22
+ * Validation errors
23
+ */
24
+ export declare class LangslideValidationError extends LangslideError {
25
+ field?: string | undefined;
26
+ constructor(message: string, field?: string | undefined);
27
+ }
28
+ /**
29
+ * Permission errors
30
+ */
31
+ export declare class LangslidePermissionError extends LangslideAuthError {
32
+ requiredPermission?: string;
33
+ constructor(message: string, requiredPermission?: string);
34
+ }
35
+ /**
36
+ * Transforms an axios error or fetch error into an appropriate SDK error
37
+ */
38
+ export declare function transformError(error: any): LangslideError;
39
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,qBAAa,cAAe,SAAQ,KAAK;gBAC3B,OAAO,EAAE,MAAM;CAK5B;AAED;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,cAAc;IAC5C,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,GAAG,CAAC;gBAEV,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,GAAG;CAOhE;AAED;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,cAAc;gBACxC,OAAO,GAAE,MAAgC;CAKtD;AAED;;GAEG;AACH,qBAAa,wBAAyB,SAAQ,cAAc;IACtB,KAAK,CAAC,EAAE,MAAM;gBAAtC,OAAO,EAAE,MAAM,EAAS,KAAK,CAAC,EAAE,MAAM,YAAA;CAKnD;AAED;;GAEG;AACH,qBAAa,wBAAyB,SAAQ,kBAAkB;IACvD,kBAAkB,CAAC,EAAE,MAAM,CAAC;gBAEvB,OAAO,EAAE,MAAM,EAAE,kBAAkB,CAAC,EAAE,MAAM;CAMzD;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,GAAG,GAAG,cAAc,CA6BzD"}