@chanl/sdk 2.0.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.
- package/README.md +59 -0
- package/dist/adapters/openai.d.ts +106 -0
- package/dist/adapters/openai.d.ts.map +1 -0
- package/dist/adapters/openai.js +185 -0
- package/dist/adapters/openai.js.map +1 -0
- package/dist/client.d.ts +74 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +293 -0
- package/dist/client.js.map +1 -0
- package/dist/errors/index.d.ts +179 -0
- package/dist/errors/index.d.ts.map +1 -0
- package/dist/errors/index.js +319 -0
- package/dist/errors/index.js.map +1 -0
- package/dist/index.d.ts +38 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +76 -0
- package/dist/index.js.map +1 -0
- package/dist/live/index.d.ts +9 -0
- package/dist/live/index.d.ts.map +1 -0
- package/dist/live/index.js +16 -0
- package/dist/live/index.js.map +1 -0
- package/dist/live/live-call.d.ts +48 -0
- package/dist/live/live-call.d.ts.map +1 -0
- package/dist/live/live-call.js +148 -0
- package/dist/live/live-call.js.map +1 -0
- package/dist/live/live-chat.d.ts +71 -0
- package/dist/live/live-chat.d.ts.map +1 -0
- package/dist/live/live-chat.js +95 -0
- package/dist/live/live-chat.js.map +1 -0
- package/dist/live/live-execution.d.ts +55 -0
- package/dist/live/live-execution.d.ts.map +1 -0
- package/dist/live/live-execution.js +170 -0
- package/dist/live/live-execution.js.map +1 -0
- package/dist/live/typed-emitter.d.ts +15 -0
- package/dist/live/typed-emitter.d.ts.map +1 -0
- package/dist/live/typed-emitter.js +40 -0
- package/dist/live/typed-emitter.js.map +1 -0
- package/dist/live/types.d.ts +24 -0
- package/dist/live/types.d.ts.map +1 -0
- package/dist/live/types.js +6 -0
- package/dist/live/types.js.map +1 -0
- package/dist/modules/agents.d.ts +378 -0
- package/dist/modules/agents.d.ts.map +1 -0
- package/dist/modules/agents.js +259 -0
- package/dist/modules/agents.js.map +1 -0
- package/dist/modules/alerts.d.ts +43 -0
- package/dist/modules/alerts.d.ts.map +1 -0
- package/dist/modules/alerts.js +56 -0
- package/dist/modules/alerts.js.map +1 -0
- package/dist/modules/audio.d.ts +47 -0
- package/dist/modules/audio.d.ts.map +1 -0
- package/dist/modules/audio.js +75 -0
- package/dist/modules/audio.js.map +1 -0
- package/dist/modules/auth.d.ts +76 -0
- package/dist/modules/auth.d.ts.map +1 -0
- package/dist/modules/auth.js +59 -0
- package/dist/modules/auth.js.map +1 -0
- package/dist/modules/calls.d.ts +825 -0
- package/dist/modules/calls.d.ts.map +1 -0
- package/dist/modules/calls.js +398 -0
- package/dist/modules/calls.js.map +1 -0
- package/dist/modules/chat.d.ts +165 -0
- package/dist/modules/chat.d.ts.map +1 -0
- package/dist/modules/chat.js +169 -0
- package/dist/modules/chat.js.map +1 -0
- package/dist/modules/health.d.ts +45 -0
- package/dist/modules/health.d.ts.map +1 -0
- package/dist/modules/health.js +22 -0
- package/dist/modules/health.js.map +1 -0
- package/dist/modules/knowledge.d.ts +202 -0
- package/dist/modules/knowledge.d.ts.map +1 -0
- package/dist/modules/knowledge.js +147 -0
- package/dist/modules/knowledge.js.map +1 -0
- package/dist/modules/mcp.d.ts +140 -0
- package/dist/modules/mcp.d.ts.map +1 -0
- package/dist/modules/mcp.js +110 -0
- package/dist/modules/mcp.js.map +1 -0
- package/dist/modules/memory.d.ts +163 -0
- package/dist/modules/memory.d.ts.map +1 -0
- package/dist/modules/memory.js +208 -0
- package/dist/modules/memory.js.map +1 -0
- package/dist/modules/personas.d.ts +168 -0
- package/dist/modules/personas.d.ts.map +1 -0
- package/dist/modules/personas.js +106 -0
- package/dist/modules/personas.js.map +1 -0
- package/dist/modules/prompts.d.ts +128 -0
- package/dist/modules/prompts.d.ts.map +1 -0
- package/dist/modules/prompts.js +93 -0
- package/dist/modules/prompts.js.map +1 -0
- package/dist/modules/scenarios.d.ts +294 -0
- package/dist/modules/scenarios.d.ts.map +1 -0
- package/dist/modules/scenarios.js +349 -0
- package/dist/modules/scenarios.js.map +1 -0
- package/dist/modules/scorecard.d.ts +642 -0
- package/dist/modules/scorecard.d.ts.map +1 -0
- package/dist/modules/scorecard.js +327 -0
- package/dist/modules/scorecard.js.map +1 -0
- package/dist/modules/tools.d.ts +222 -0
- package/dist/modules/tools.d.ts.map +1 -0
- package/dist/modules/tools.js +302 -0
- package/dist/modules/tools.js.map +1 -0
- package/dist/modules/toolsets.d.ts +173 -0
- package/dist/modules/toolsets.d.ts.map +1 -0
- package/dist/modules/toolsets.js +216 -0
- package/dist/modules/toolsets.js.map +1 -0
- package/dist/modules/transcript.d.ts +60 -0
- package/dist/modules/transcript.d.ts.map +1 -0
- package/dist/modules/transcript.js +69 -0
- package/dist/modules/transcript.js.map +1 -0
- package/dist/modules/workspace.d.ts +48 -0
- package/dist/modules/workspace.d.ts.map +1 -0
- package/dist/modules/workspace.js +49 -0
- package/dist/modules/workspace.js.map +1 -0
- package/dist/types/api.d.ts +8 -0
- package/dist/types/api.d.ts.map +1 -0
- package/dist/types/api.js +25 -0
- package/dist/types/api.js.map +1 -0
- package/dist/types/config.d.ts +70 -0
- package/dist/types/config.d.ts.map +1 -0
- package/dist/types/config.js +3 -0
- package/dist/types/config.js.map +1 -0
- package/dist/types/memory.d.ts +243 -0
- package/dist/types/memory.d.ts.map +1 -0
- package/dist/types/memory.js +9 -0
- package/dist/types/memory.js.map +1 -0
- package/dist/types/tool-calls.d.ts +61 -0
- package/dist/types/tool-calls.d.ts.map +1 -0
- package/dist/types/tool-calls.js +9 -0
- package/dist/types/tool-calls.js.map +1 -0
- package/dist/types/tools.d.ts +321 -0
- package/dist/types/tools.d.ts.map +1 -0
- package/dist/types/tools.js +9 -0
- package/dist/types/tools.js.map +1 -0
- package/dist/types/toolsets.d.ts +149 -0
- package/dist/types/toolsets.d.ts.map +1 -0
- package/dist/types/toolsets.js +8 -0
- package/dist/types/toolsets.js.map +1 -0
- package/package.json +60 -0
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { ChanlSDK } from "../client";
|
|
2
|
+
import { ApiResponse } from "../types/config";
|
|
3
|
+
export type AlertMetadata = Record<string, unknown>;
|
|
4
|
+
export interface Alert {
|
|
5
|
+
id: string;
|
|
6
|
+
type: string;
|
|
7
|
+
message: string;
|
|
8
|
+
severity: "info" | "warning" | "error";
|
|
9
|
+
workspaceId: string;
|
|
10
|
+
metadata?: AlertMetadata;
|
|
11
|
+
read: boolean;
|
|
12
|
+
createdAt: string;
|
|
13
|
+
updatedAt: string;
|
|
14
|
+
}
|
|
15
|
+
export declare class AlertModule {
|
|
16
|
+
private sdk;
|
|
17
|
+
constructor(sdk: ChanlSDK);
|
|
18
|
+
/**
|
|
19
|
+
* Get all alerts
|
|
20
|
+
*/
|
|
21
|
+
getAll(params?: {
|
|
22
|
+
workspaceId?: string;
|
|
23
|
+
severity?: string;
|
|
24
|
+
read?: boolean;
|
|
25
|
+
page?: number;
|
|
26
|
+
limit?: number;
|
|
27
|
+
}): Promise<ApiResponse<Alert[]>>;
|
|
28
|
+
/**
|
|
29
|
+
* Mark alert as read
|
|
30
|
+
*/
|
|
31
|
+
markAsRead(id: string): Promise<ApiResponse<void>>;
|
|
32
|
+
/**
|
|
33
|
+
* Mark all alerts as read
|
|
34
|
+
*/
|
|
35
|
+
markAllAsRead(params?: {
|
|
36
|
+
workspaceId?: string;
|
|
37
|
+
}): Promise<ApiResponse<void>>;
|
|
38
|
+
/**
|
|
39
|
+
* Delete alert
|
|
40
|
+
*/
|
|
41
|
+
delete(id: string): Promise<ApiResponse<void>>;
|
|
42
|
+
}
|
|
43
|
+
//# sourceMappingURL=alerts.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"alerts.d.ts","sourceRoot":"","sources":["../../src/modules/alerts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEpD,MAAM,WAAW,KAAK;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC;IACvC,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB,IAAI,EAAE,OAAO,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,qBAAa,WAAW;IACV,OAAO,CAAC,GAAG;gBAAH,GAAG,EAAE,QAAQ;IAEjC;;OAEG;IACG,MAAM,CAAC,MAAM,CAAC,EAAE;QACpB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,IAAI,CAAC,EAAE,OAAO,CAAC;QACf,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,GAAG,OAAO,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC,CAAC;IAuBjC;;OAEG;IACG,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAIxD;;OAEG;IACG,aAAa,CAAC,MAAM,CAAC,EAAE;QAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,GAAG,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAW9B;;OAEG;IACG,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;CAGrD"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AlertModule = void 0;
|
|
4
|
+
class AlertModule {
|
|
5
|
+
constructor(sdk) {
|
|
6
|
+
this.sdk = sdk;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Get all alerts
|
|
10
|
+
*/
|
|
11
|
+
async getAll(params) {
|
|
12
|
+
const queryParams = new URLSearchParams();
|
|
13
|
+
if (params?.workspaceId) {
|
|
14
|
+
queryParams.append("workspaceId", params.workspaceId);
|
|
15
|
+
}
|
|
16
|
+
if (params?.severity) {
|
|
17
|
+
queryParams.append("severity", params.severity);
|
|
18
|
+
}
|
|
19
|
+
if (params?.read !== undefined) {
|
|
20
|
+
queryParams.append("read", params.read.toString());
|
|
21
|
+
}
|
|
22
|
+
if (params?.page) {
|
|
23
|
+
queryParams.append("page", params.page.toString());
|
|
24
|
+
}
|
|
25
|
+
if (params?.limit) {
|
|
26
|
+
queryParams.append("limit", params.limit.toString());
|
|
27
|
+
}
|
|
28
|
+
const url = `/v1/alerts${queryParams.toString() ? `?${queryParams.toString()}` : ""}`;
|
|
29
|
+
return this.sdk.request("GET", url);
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Mark alert as read
|
|
33
|
+
*/
|
|
34
|
+
async markAsRead(id) {
|
|
35
|
+
return this.sdk.request("PUT", `/v1/alerts/${id}/read`);
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Mark all alerts as read
|
|
39
|
+
*/
|
|
40
|
+
async markAllAsRead(params) {
|
|
41
|
+
const queryParams = new URLSearchParams();
|
|
42
|
+
if (params?.workspaceId) {
|
|
43
|
+
queryParams.append("workspaceId", params.workspaceId);
|
|
44
|
+
}
|
|
45
|
+
const url = `/v1/alerts/read-all${queryParams.toString() ? `?${queryParams.toString()}` : ""}`;
|
|
46
|
+
return this.sdk.request("PUT", url);
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Delete alert
|
|
50
|
+
*/
|
|
51
|
+
async delete(id) {
|
|
52
|
+
return this.sdk.request("DELETE", `/v1/alerts/${id}`);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
exports.AlertModule = AlertModule;
|
|
56
|
+
//# sourceMappingURL=alerts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"alerts.js","sourceRoot":"","sources":["../../src/modules/alerts.ts"],"names":[],"mappings":";;;AAiBA,MAAa,WAAW;IACtB,YAAoB,GAAa;QAAb,QAAG,GAAH,GAAG,CAAU;IAAG,CAAC;IAErC;;OAEG;IACH,KAAK,CAAC,MAAM,CAAC,MAMZ;QACC,MAAM,WAAW,GAAG,IAAI,eAAe,EAAE,CAAC;QAE1C,IAAI,MAAM,EAAE,WAAW,EAAE,CAAC;YACxB,WAAW,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;QACxD,CAAC;QACD,IAAI,MAAM,EAAE,QAAQ,EAAE,CAAC;YACrB,WAAW,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;QAClD,CAAC;QACD,IAAI,MAAM,EAAE,IAAI,KAAK,SAAS,EAAE,CAAC;YAC/B,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QACrD,CAAC;QACD,IAAI,MAAM,EAAE,IAAI,EAAE,CAAC;YACjB,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QACrD,CAAC;QACD,IAAI,MAAM,EAAE,KAAK,EAAE,CAAC;YAClB,WAAW,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;QACvD,CAAC;QAED,MAAM,GAAG,GAAG,aAAa,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,WAAW,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QACtF,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACtC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU,CAAC,EAAU;QACzB,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC;IAC1D,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,aAAa,CAAC,MAEnB;QACC,MAAM,WAAW,GAAG,IAAI,eAAe,EAAE,CAAC;QAE1C,IAAI,MAAM,EAAE,WAAW,EAAE,CAAC;YACxB,WAAW,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;QACxD,CAAC;QAED,MAAM,GAAG,GAAG,sBAAsB,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,WAAW,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QAC/F,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACtC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CAAC,EAAU;QACrB,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,cAAc,EAAE,EAAE,CAAC,CAAC;IACxD,CAAC;CACF;AAhED,kCAgEC"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { ChanlSDK } from "../client";
|
|
2
|
+
import { ApiResponse } from "../types/config";
|
|
3
|
+
export interface AudioUploadOptions {
|
|
4
|
+
metadata?: Record<string, unknown>;
|
|
5
|
+
filename?: string;
|
|
6
|
+
mimetype?: string;
|
|
7
|
+
}
|
|
8
|
+
export interface Audio {
|
|
9
|
+
id: string;
|
|
10
|
+
filename: string;
|
|
11
|
+
originalName: string;
|
|
12
|
+
mimetype: string;
|
|
13
|
+
size: number;
|
|
14
|
+
duration?: number;
|
|
15
|
+
workspaceId: string;
|
|
16
|
+
url?: string;
|
|
17
|
+
createdAt: string;
|
|
18
|
+
updatedAt: string;
|
|
19
|
+
}
|
|
20
|
+
export declare class AudioModule {
|
|
21
|
+
private sdk;
|
|
22
|
+
constructor(sdk: ChanlSDK);
|
|
23
|
+
/**
|
|
24
|
+
* Get the workspaceId from SDK config, throwing if not set.
|
|
25
|
+
*/
|
|
26
|
+
private getWsId;
|
|
27
|
+
/**
|
|
28
|
+
* Upload an audio file
|
|
29
|
+
*/
|
|
30
|
+
upload(file: Buffer | File, options?: AudioUploadOptions): Promise<ApiResponse<Audio>>;
|
|
31
|
+
/**
|
|
32
|
+
* Get audio by ID
|
|
33
|
+
*/
|
|
34
|
+
getById(id: string): Promise<ApiResponse<Audio>>;
|
|
35
|
+
/**
|
|
36
|
+
* Get all audio files with optional filtering
|
|
37
|
+
*/
|
|
38
|
+
getAll(params?: {
|
|
39
|
+
page?: number;
|
|
40
|
+
limit?: number;
|
|
41
|
+
}): Promise<ApiResponse<Audio[]>>;
|
|
42
|
+
/**
|
|
43
|
+
* Delete audio file
|
|
44
|
+
*/
|
|
45
|
+
delete(id: string): Promise<ApiResponse<void>>;
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=audio.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"audio.d.ts","sourceRoot":"","sources":["../../src/modules/audio.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,KAAK;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,qBAAa,WAAW;IACV,OAAO,CAAC,GAAG;gBAAH,GAAG,EAAE,QAAQ;IAEjC;;OAEG;IACH,OAAO,CAAC,OAAO;IAMf;;OAEG;IACG,MAAM,CACV,IAAI,EAAE,MAAM,GAAG,IAAI,EACnB,OAAO,CAAC,EAAE,kBAAkB,GAC3B,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAgC9B;;OAEG;IACG,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAQtD;;OAEG;IACG,MAAM,CACV,MAAM,CAAC,EAAE;QACP,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,GACA,OAAO,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC,CAAC;IAehC;;OAEG;IACG,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;CAOrD"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AudioModule = void 0;
|
|
4
|
+
class AudioModule {
|
|
5
|
+
constructor(sdk) {
|
|
6
|
+
this.sdk = sdk;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Get the workspaceId from SDK config, throwing if not set.
|
|
10
|
+
*/
|
|
11
|
+
getWsId() {
|
|
12
|
+
const wsId = this.sdk.getConfig().workspaceId;
|
|
13
|
+
if (!wsId)
|
|
14
|
+
throw new Error('workspaceId required for audio operations. Set it in ChanlSDK config.');
|
|
15
|
+
return wsId;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Upload an audio file
|
|
19
|
+
*/
|
|
20
|
+
async upload(file, options) {
|
|
21
|
+
const wsId = this.getWsId();
|
|
22
|
+
const formData = new FormData();
|
|
23
|
+
if (file instanceof Buffer) {
|
|
24
|
+
// Determine filename from options or use default based on mimetype
|
|
25
|
+
let filename = options?.filename || "audio.unknown";
|
|
26
|
+
if (!options?.filename && options?.mimetype) {
|
|
27
|
+
const extension = options.mimetype.split("/")[1] || "unknown";
|
|
28
|
+
filename = `audio.${extension}`;
|
|
29
|
+
}
|
|
30
|
+
formData.append("audio", new Blob([file]), filename);
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
formData.append("audio", file);
|
|
34
|
+
}
|
|
35
|
+
if (options?.metadata) {
|
|
36
|
+
formData.append("metadata", JSON.stringify(options.metadata));
|
|
37
|
+
}
|
|
38
|
+
return this.sdk.request("POST", `/api/v1/workspace/${wsId}/calls/upload`, formData, {
|
|
39
|
+
headers: {
|
|
40
|
+
"Content-Type": "multipart/form-data",
|
|
41
|
+
},
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Get audio by ID
|
|
46
|
+
*/
|
|
47
|
+
async getById(id) {
|
|
48
|
+
const wsId = this.getWsId();
|
|
49
|
+
return this.sdk.request("GET", `/api/v1/workspace/${wsId}/calls/${id}`);
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Get all audio files with optional filtering
|
|
53
|
+
*/
|
|
54
|
+
async getAll(params) {
|
|
55
|
+
const wsId = this.getWsId();
|
|
56
|
+
const queryParams = new URLSearchParams();
|
|
57
|
+
if (params?.page) {
|
|
58
|
+
queryParams.append("page", params.page.toString());
|
|
59
|
+
}
|
|
60
|
+
if (params?.limit) {
|
|
61
|
+
queryParams.append("limit", params.limit.toString());
|
|
62
|
+
}
|
|
63
|
+
const url = `/api/v1/workspace/${wsId}/calls${queryParams.toString() ? `?${queryParams.toString()}` : ""}`;
|
|
64
|
+
return this.sdk.request("GET", url);
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Delete audio file
|
|
68
|
+
*/
|
|
69
|
+
async delete(id) {
|
|
70
|
+
const wsId = this.getWsId();
|
|
71
|
+
return this.sdk.request("DELETE", `/api/v1/workspace/${wsId}/calls/${id}`);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
exports.AudioModule = AudioModule;
|
|
75
|
+
//# sourceMappingURL=audio.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"audio.js","sourceRoot":"","sources":["../../src/modules/audio.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { ChanlSDK } from '../client';
|
|
2
|
+
import { ApiResponse } from '../types/config';
|
|
3
|
+
export interface ApiKey {
|
|
4
|
+
id: string;
|
|
5
|
+
name: string;
|
|
6
|
+
key: string;
|
|
7
|
+
workspaceId: string;
|
|
8
|
+
userId: string;
|
|
9
|
+
permissions: string[];
|
|
10
|
+
createdAt: string;
|
|
11
|
+
lastUsed?: string;
|
|
12
|
+
}
|
|
13
|
+
export interface CreateApiKeyRequest {
|
|
14
|
+
name: string;
|
|
15
|
+
workspaceId: string;
|
|
16
|
+
userId: string;
|
|
17
|
+
permissions?: string[];
|
|
18
|
+
}
|
|
19
|
+
export interface AuthTokenResponse {
|
|
20
|
+
accessToken: string;
|
|
21
|
+
refreshToken: string;
|
|
22
|
+
expiresIn: number;
|
|
23
|
+
user: {
|
|
24
|
+
id: string;
|
|
25
|
+
email: string;
|
|
26
|
+
displayName?: string;
|
|
27
|
+
};
|
|
28
|
+
defaultWorkspaceId?: string;
|
|
29
|
+
workspaces?: Array<{
|
|
30
|
+
workspaceId: string;
|
|
31
|
+
name?: string;
|
|
32
|
+
role: string;
|
|
33
|
+
}>;
|
|
34
|
+
}
|
|
35
|
+
export declare class AuthModule {
|
|
36
|
+
private sdk;
|
|
37
|
+
constructor(sdk: ChanlSDK);
|
|
38
|
+
/**
|
|
39
|
+
* Exchange a Firebase ID token for platform JWT tokens.
|
|
40
|
+
* Used by CLI browser login flow.
|
|
41
|
+
*/
|
|
42
|
+
exchangeFirebaseToken(firebaseToken: string): Promise<ApiResponse<AuthTokenResponse>>;
|
|
43
|
+
/**
|
|
44
|
+
* Refresh an access token using a refresh token.
|
|
45
|
+
*/
|
|
46
|
+
refreshToken(refreshToken: string): Promise<ApiResponse<{
|
|
47
|
+
accessToken: string;
|
|
48
|
+
refreshToken: string;
|
|
49
|
+
expiresIn: number;
|
|
50
|
+
}>>;
|
|
51
|
+
/**
|
|
52
|
+
* Create a new API key
|
|
53
|
+
*/
|
|
54
|
+
createApiKey(data: CreateApiKeyRequest): Promise<ApiResponse<ApiKey>>;
|
|
55
|
+
/**
|
|
56
|
+
* Get all API keys
|
|
57
|
+
*/
|
|
58
|
+
getApiKeys(params?: {
|
|
59
|
+
workspaceId?: string;
|
|
60
|
+
userId?: string;
|
|
61
|
+
}): Promise<ApiResponse<ApiKey[]>>;
|
|
62
|
+
/**
|
|
63
|
+
* Revoke API key
|
|
64
|
+
*/
|
|
65
|
+
revokeApiKey(keyId: string): Promise<ApiResponse<void>>;
|
|
66
|
+
/**
|
|
67
|
+
* Validate API key
|
|
68
|
+
*/
|
|
69
|
+
validateApiKey(apiKey: string): Promise<ApiResponse<{
|
|
70
|
+
valid: boolean;
|
|
71
|
+
workspaceId?: string;
|
|
72
|
+
userId?: string;
|
|
73
|
+
permissions?: string[];
|
|
74
|
+
}>>;
|
|
75
|
+
}
|
|
76
|
+
//# sourceMappingURL=auth.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/modules/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C,MAAM,WAAW,MAAM;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,iBAAiB;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE;QACJ,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,UAAU,CAAC,EAAE,KAAK,CAAC;QACjB,WAAW,EAAE,MAAM,CAAC;QACpB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;KACd,CAAC,CAAC;CACJ;AAED,qBAAa,UAAU;IACT,OAAO,CAAC,GAAG;gBAAH,GAAG,EAAE,QAAQ;IAEjC;;;OAGG;IACG,qBAAqB,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC;IAM3F;;OAEG;IACG,YAAY,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;QAC5D,WAAW,EAAE,MAAM,CAAC;QACpB,YAAY,EAAE,MAAM,CAAC;QACrB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC,CAAC;IAMH;;OAEG;IACG,YAAY,CAAC,IAAI,EAAE,mBAAmB,GAAG,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAI3E;;OAEG;IACG,UAAU,CAAC,MAAM,CAAC,EAAE;QACxB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,GAAG,OAAO,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC;IAclC;;OAEG;IACG,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAI7D;;OAEG;IACG,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;QACxD,KAAK,EAAE,OAAO,CAAC;QACf,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;KACxB,CAAC,CAAC;CAGJ"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AuthModule = void 0;
|
|
4
|
+
class AuthModule {
|
|
5
|
+
constructor(sdk) {
|
|
6
|
+
this.sdk = sdk;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Exchange a Firebase ID token for platform JWT tokens.
|
|
10
|
+
* Used by CLI browser login flow.
|
|
11
|
+
*/
|
|
12
|
+
async exchangeFirebaseToken(firebaseToken) {
|
|
13
|
+
return this.sdk.request('POST', '/api/v1/auth/firebase/exchange', {
|
|
14
|
+
firebaseToken,
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Refresh an access token using a refresh token.
|
|
19
|
+
*/
|
|
20
|
+
async refreshToken(refreshToken) {
|
|
21
|
+
return this.sdk.request('POST', '/api/v1/auth/token/refresh', {
|
|
22
|
+
refreshToken,
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Create a new API key
|
|
27
|
+
*/
|
|
28
|
+
async createApiKey(data) {
|
|
29
|
+
return this.sdk.request('POST', '/api/v1/auth/api-keys', data);
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Get all API keys
|
|
33
|
+
*/
|
|
34
|
+
async getApiKeys(params) {
|
|
35
|
+
const queryParams = new URLSearchParams();
|
|
36
|
+
if (params?.workspaceId) {
|
|
37
|
+
queryParams.append('workspaceId', params.workspaceId);
|
|
38
|
+
}
|
|
39
|
+
if (params?.userId) {
|
|
40
|
+
queryParams.append('userId', params.userId);
|
|
41
|
+
}
|
|
42
|
+
const url = `/api/v1/auth/api-keys${queryParams.toString() ? `?${queryParams.toString()}` : ''}`;
|
|
43
|
+
return this.sdk.request('GET', url);
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Revoke API key
|
|
47
|
+
*/
|
|
48
|
+
async revokeApiKey(keyId) {
|
|
49
|
+
return this.sdk.request('DELETE', `/api/v1/auth/api-keys/${keyId}`);
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Validate API key
|
|
53
|
+
*/
|
|
54
|
+
async validateApiKey(apiKey) {
|
|
55
|
+
return this.sdk.request('POST', '/api/v1/auth/validate', { apiKey });
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
exports.AuthModule = AuthModule;
|
|
59
|
+
//# sourceMappingURL=auth.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/modules/auth.ts"],"names":[],"mappings":";;;AAsCA,MAAa,UAAU;IACrB,YAAoB,GAAa;QAAb,QAAG,GAAH,GAAG,CAAU;IAAG,CAAC;IAErC;;;OAGG;IACH,KAAK,CAAC,qBAAqB,CAAC,aAAqB;QAC/C,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,gCAAgC,EAAE;YAChE,aAAa;SACd,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY,CAAC,YAAoB;QAKrC,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,4BAA4B,EAAE;YAC5D,YAAY;SACb,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY,CAAC,IAAyB;QAC1C,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,uBAAuB,EAAE,IAAI,CAAC,CAAC;IACjE,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU,CAAC,MAGhB;QACC,MAAM,WAAW,GAAG,IAAI,eAAe,EAAE,CAAC;QAE1C,IAAI,MAAM,EAAE,WAAW,EAAE,CAAC;YACxB,WAAW,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;QACxD,CAAC;QACD,IAAI,MAAM,EAAE,MAAM,EAAE,CAAC;YACnB,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;QAC9C,CAAC;QAED,MAAM,GAAG,GAAG,wBAAwB,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,WAAW,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QACjG,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACtC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY,CAAC,KAAa;QAC9B,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,yBAAyB,KAAK,EAAE,CAAC,CAAC;IACtE,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc,CAAC,MAAc;QAMjC,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,uBAAuB,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IACvE,CAAC;CACF;AAvED,gCAuEC"}
|