@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.
- package/README.md +708 -0
- package/dist/api/auth.d.ts +18 -0
- package/dist/api/auth.d.ts.map +1 -0
- package/dist/api/auth.js +43 -0
- package/dist/api/auth.js.map +1 -0
- package/dist/api/integrations.d.ts +27 -0
- package/dist/api/integrations.d.ts.map +1 -0
- package/dist/api/integrations.js +64 -0
- package/dist/api/integrations.js.map +1 -0
- package/dist/api/mcp.d.ts +15 -0
- package/dist/api/mcp.d.ts.map +1 -0
- package/dist/api/mcp.js +24 -0
- package/dist/api/mcp.js.map +1 -0
- package/dist/api/recipes.d.ts +19 -0
- package/dist/api/recipes.d.ts.map +1 -0
- package/dist/api/recipes.js +37 -0
- package/dist/api/recipes.js.map +1 -0
- package/dist/api/users.d.ts +19 -0
- package/dist/api/users.d.ts.map +1 -0
- package/dist/api/users.js +32 -0
- package/dist/api/users.js.map +1 -0
- package/dist/api/workflows.d.ts +44 -0
- package/dist/api/workflows.d.ts.map +1 -0
- package/dist/api/workflows.js +95 -0
- package/dist/api/workflows.js.map +1 -0
- package/dist/browser.js +2 -0
- package/dist/browser.js.map +1 -0
- package/dist/client.d.ts +35 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +87 -0
- package/dist/client.js.map +1 -0
- package/dist/config.d.ts +21 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +39 -0
- package/dist/config.js.map +1 -0
- package/dist/errors.d.ts +39 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +92 -0
- package/dist/errors.js.map +1 -0
- package/dist/index.d.ts +9 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +36 -0
- package/dist/index.js.map +1 -0
- package/dist/react/LangslideProvider.d.ts +12 -0
- package/dist/react/LangslideProvider.d.ts.map +1 -0
- package/dist/react/LangslideProvider.js +87 -0
- package/dist/react/LangslideProvider.js.map +1 -0
- package/dist/react/api/auth.d.ts +18 -0
- package/dist/react/api/auth.d.ts.map +1 -0
- package/dist/react/api/auth.js +43 -0
- package/dist/react/api/auth.js.map +1 -0
- package/dist/react/api/integrations.d.ts +27 -0
- package/dist/react/api/integrations.d.ts.map +1 -0
- package/dist/react/api/integrations.js +64 -0
- package/dist/react/api/integrations.js.map +1 -0
- package/dist/react/api/mcp.d.ts +15 -0
- package/dist/react/api/mcp.d.ts.map +1 -0
- package/dist/react/api/mcp.js +24 -0
- package/dist/react/api/mcp.js.map +1 -0
- package/dist/react/api/recipes.d.ts +19 -0
- package/dist/react/api/recipes.d.ts.map +1 -0
- package/dist/react/api/recipes.js +37 -0
- package/dist/react/api/recipes.js.map +1 -0
- package/dist/react/api/users.d.ts +19 -0
- package/dist/react/api/users.d.ts.map +1 -0
- package/dist/react/api/users.js +32 -0
- package/dist/react/api/users.js.map +1 -0
- package/dist/react/api/workflows.d.ts +44 -0
- package/dist/react/api/workflows.d.ts.map +1 -0
- package/dist/react/api/workflows.js +95 -0
- package/dist/react/api/workflows.js.map +1 -0
- package/dist/react/client.d.ts +35 -0
- package/dist/react/client.d.ts.map +1 -0
- package/dist/react/client.js +87 -0
- package/dist/react/client.js.map +1 -0
- package/dist/react/config.d.ts +21 -0
- package/dist/react/config.d.ts.map +1 -0
- package/dist/react/config.js +39 -0
- package/dist/react/config.js.map +1 -0
- package/dist/react/errors.d.ts +39 -0
- package/dist/react/errors.d.ts.map +1 -0
- package/dist/react/errors.js +92 -0
- package/dist/react/errors.js.map +1 -0
- package/dist/react/index.d.ts +10 -0
- package/dist/react/index.d.ts.map +1 -0
- package/dist/react/index.js +18 -0
- package/dist/react/index.js.map +1 -0
- package/dist/react/react/LangslideProvider.d.ts +19 -0
- package/dist/react/react/LangslideProvider.d.ts.map +1 -0
- package/dist/react/react/LangslideProvider.js +87 -0
- package/dist/react/react/LangslideProvider.js.map +1 -0
- package/dist/react/react/index.d.ts +10 -0
- package/dist/react/react/index.d.ts.map +1 -0
- package/dist/react/react/index.js +18 -0
- package/dist/react/react/index.js.map +1 -0
- package/dist/react/react/useIntegrations.d.ts +13 -0
- package/dist/react/react/useIntegrations.d.ts.map +1 -0
- package/dist/react/react/useIntegrations.js +70 -0
- package/dist/react/react/useIntegrations.js.map +1 -0
- package/dist/react/react/useWorkflows.d.ts +14 -0
- package/dist/react/react/useWorkflows.d.ts.map +1 -0
- package/dist/react/react/useWorkflows.js +108 -0
- package/dist/react/react/useWorkflows.js.map +1 -0
- package/dist/react/types/common.d.ts +28 -0
- package/dist/react/types/common.d.ts.map +1 -0
- package/dist/react/types/common.js +6 -0
- package/dist/react/types/common.js.map +1 -0
- package/dist/react/types/index.d.ts +8 -0
- package/dist/react/types/index.d.ts.map +1 -0
- package/dist/react/types/index.js +25 -0
- package/dist/react/types/index.js.map +1 -0
- package/dist/react/types/integration.d.ts +23 -0
- package/dist/react/types/integration.d.ts.map +1 -0
- package/dist/react/types/integration.js +6 -0
- package/dist/react/types/integration.js.map +1 -0
- package/dist/react/types/permissions.d.ts +31 -0
- package/dist/react/types/permissions.d.ts.map +1 -0
- package/dist/react/types/permissions.js +33 -0
- package/dist/react/types/permissions.js.map +1 -0
- package/dist/react/types/workflow.d.ts +33 -0
- package/dist/react/types/workflow.d.ts.map +1 -0
- package/dist/react/types/workflow.js +6 -0
- package/dist/react/types/workflow.js.map +1 -0
- package/dist/react/useIntegrations.d.ts +13 -0
- package/dist/react/useIntegrations.d.ts.map +1 -0
- package/dist/react/useIntegrations.js +70 -0
- package/dist/react/useIntegrations.js.map +1 -0
- package/dist/react/useWorkflows.d.ts +14 -0
- package/dist/react/useWorkflows.d.ts.map +1 -0
- package/dist/react/useWorkflows.js +108 -0
- package/dist/react/useWorkflows.js.map +1 -0
- package/dist/react/utils/permission-guard.d.ts +13 -0
- package/dist/react/utils/permission-guard.d.ts.map +1 -0
- package/dist/react/utils/permission-guard.js +28 -0
- package/dist/react/utils/permission-guard.js.map +1 -0
- package/dist/react/utils/permissions.d.ts +20 -0
- package/dist/react/utils/permissions.d.ts.map +1 -0
- package/dist/react/utils/permissions.js +48 -0
- package/dist/react/utils/permissions.js.map +1 -0
- package/dist/react/utils/request.d.ts +7 -0
- package/dist/react/utils/request.d.ts.map +1 -0
- package/dist/react/utils/request.js +48 -0
- package/dist/react/utils/request.js.map +1 -0
- package/dist/types/auth.d.ts +5 -0
- package/dist/types/auth.d.ts.map +1 -0
- package/dist/types/auth.js +7 -0
- package/dist/types/auth.js.map +1 -0
- package/dist/types/common.d.ts +28 -0
- package/dist/types/common.d.ts.map +1 -0
- package/dist/types/common.js +6 -0
- package/dist/types/common.js.map +1 -0
- package/dist/types/index.d.ts +8 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +25 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/integration.d.ts +23 -0
- package/dist/types/integration.d.ts.map +1 -0
- package/dist/types/integration.js +6 -0
- package/dist/types/integration.js.map +1 -0
- package/dist/types/permissions.d.ts +31 -0
- package/dist/types/permissions.d.ts.map +1 -0
- package/dist/types/permissions.js +33 -0
- package/dist/types/permissions.js.map +1 -0
- package/dist/types/workflow.d.ts +33 -0
- package/dist/types/workflow.d.ts.map +1 -0
- package/dist/types/workflow.js +6 -0
- package/dist/types/workflow.js.map +1 -0
- package/dist/utils/permission-guard.d.ts +13 -0
- package/dist/utils/permission-guard.d.ts.map +1 -0
- package/dist/utils/permission-guard.js +28 -0
- package/dist/utils/permission-guard.js.map +1 -0
- package/dist/utils/permissions.d.ts +20 -0
- package/dist/utils/permissions.d.ts.map +1 -0
- package/dist/utils/permissions.js +48 -0
- package/dist/utils/permissions.js.map +1 -0
- package/dist/utils/request.d.ts +7 -0
- package/dist/utils/request.d.ts.map +1 -0
- package/dist/utils/request.js +48 -0
- package/dist/utils/request.js.map +1 -0
- package/dist/utils/validation.d.ts +8 -0
- package/dist/utils/validation.d.ts.map +1 -0
- package/dist/utils/validation.js +37 -0
- package/dist/utils/validation.js.map +1 -0
- 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":"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"}
|
|
@@ -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"}
|