@toothfairyai/sdk 0.1.0-beta.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/LICENSE +21 -0
- package/README.md +395 -0
- package/dist/chat/ChatManager.d.ts +22 -0
- package/dist/chat/ChatManager.d.ts.map +1 -0
- package/dist/chat/ChatManager.js +89 -0
- package/dist/chat/ChatManager.js.map +1 -0
- package/dist/client.d.ts +38 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +126 -0
- package/dist/client.js.map +1 -0
- package/dist/documents/DocumentManager.d.ts +34 -0
- package/dist/documents/DocumentManager.d.ts.map +1 -0
- package/dist/documents/DocumentManager.js +268 -0
- package/dist/documents/DocumentManager.js.map +1 -0
- package/dist/entities/EntityManager.d.ts +24 -0
- package/dist/entities/EntityManager.d.ts.map +1 -0
- package/dist/entities/EntityManager.js +56 -0
- package/dist/entities/EntityManager.js.map +1 -0
- package/dist/folders/FolderManager.d.ts +30 -0
- package/dist/folders/FolderManager.d.ts.map +1 -0
- package/dist/folders/FolderManager.js +86 -0
- package/dist/folders/FolderManager.js.map +1 -0
- package/dist/index.d.ts +13 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +42 -0
- package/dist/index.js.map +1 -0
- package/dist/prompts/PromptManager.d.ts +23 -0
- package/dist/prompts/PromptManager.d.ts.map +1 -0
- package/dist/prompts/PromptManager.js +83 -0
- package/dist/prompts/PromptManager.js.map +1 -0
- package/dist/streaming/StreamingManager.d.ts +53 -0
- package/dist/streaming/StreamingManager.d.ts.map +1 -0
- package/dist/streaming/StreamingManager.js +217 -0
- package/dist/streaming/StreamingManager.js.map +1 -0
- package/dist/types/index.d.ts +273 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +17 -0
- package/dist/types/index.js.map +1 -0
- package/package.json +76 -0
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.FolderManager = void 0;
|
|
4
|
+
class FolderManager {
|
|
5
|
+
constructor(client) {
|
|
6
|
+
this.client = client;
|
|
7
|
+
}
|
|
8
|
+
async create(userId, name, options = {}) {
|
|
9
|
+
const folderData = {
|
|
10
|
+
workspaceID: this.client.getWorkspaceId(),
|
|
11
|
+
createdBy: userId,
|
|
12
|
+
name,
|
|
13
|
+
...options
|
|
14
|
+
};
|
|
15
|
+
return this.client.request('POST', 'folder/create', folderData);
|
|
16
|
+
}
|
|
17
|
+
async update(folderId, fields) {
|
|
18
|
+
const updateData = {
|
|
19
|
+
id: folderId,
|
|
20
|
+
...fields
|
|
21
|
+
};
|
|
22
|
+
return this.client.request('POST', 'folder/update', updateData);
|
|
23
|
+
}
|
|
24
|
+
async get(folderId) {
|
|
25
|
+
return this.client.request('GET', `folder/get/${folderId}`);
|
|
26
|
+
}
|
|
27
|
+
async delete(folderId) {
|
|
28
|
+
return this.client.request('DELETE', `folder/delete/${folderId}`);
|
|
29
|
+
}
|
|
30
|
+
async list(options = {}) {
|
|
31
|
+
const { status, limit, offset } = options;
|
|
32
|
+
const params = { workspaceID: this.client.getWorkspaceId() };
|
|
33
|
+
if (status)
|
|
34
|
+
params.status = status;
|
|
35
|
+
if (limit)
|
|
36
|
+
params.limit = limit;
|
|
37
|
+
if (offset)
|
|
38
|
+
params.offset = offset;
|
|
39
|
+
const response = await this.client.request('GET', 'folder/list', null, { params });
|
|
40
|
+
return {
|
|
41
|
+
items: Array.isArray(response) ? response : [],
|
|
42
|
+
total: Array.isArray(response) ? response.length : 0,
|
|
43
|
+
limit,
|
|
44
|
+
offset
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
async getRootFolders() {
|
|
48
|
+
const result = await this.list();
|
|
49
|
+
return result.items.filter(folder => !folder.parent);
|
|
50
|
+
}
|
|
51
|
+
async getSubfolders(parentId) {
|
|
52
|
+
const result = await this.list();
|
|
53
|
+
return result.items.filter(folder => folder.parent === parentId);
|
|
54
|
+
}
|
|
55
|
+
async getTree() {
|
|
56
|
+
const result = await this.list();
|
|
57
|
+
const folders = result.items;
|
|
58
|
+
const folderMap = new Map();
|
|
59
|
+
const rootFolders = [];
|
|
60
|
+
folders.forEach(folder => {
|
|
61
|
+
folderMap.set(folder.id, {
|
|
62
|
+
...folder,
|
|
63
|
+
children: []
|
|
64
|
+
});
|
|
65
|
+
});
|
|
66
|
+
folders.forEach(folder => {
|
|
67
|
+
const node = folderMap.get(folder.id);
|
|
68
|
+
if (folder.parent) {
|
|
69
|
+
const parent = folderMap.get(folder.parent);
|
|
70
|
+
if (parent) {
|
|
71
|
+
parent.children.push(node);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
else {
|
|
75
|
+
rootFolders.push(node);
|
|
76
|
+
}
|
|
77
|
+
});
|
|
78
|
+
return rootFolders;
|
|
79
|
+
}
|
|
80
|
+
async search(searchTerm) {
|
|
81
|
+
const result = await this.list();
|
|
82
|
+
return result.items.filter(folder => folder.name.toLowerCase().includes(searchTerm.toLowerCase()));
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
exports.FolderManager = FolderManager;
|
|
86
|
+
//# sourceMappingURL=FolderManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FolderManager.js","sourceRoot":"","sources":["../../src/folders/FolderManager.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export { ToothFairyClient } from './client';
|
|
2
|
+
export { ChatManager } from './chat/ChatManager';
|
|
3
|
+
export { DocumentManager } from './documents/DocumentManager';
|
|
4
|
+
export { EntityManager } from './entities/EntityManager';
|
|
5
|
+
export { FolderManager, FolderTreeNode } from './folders/FolderManager';
|
|
6
|
+
export { PromptManager } from './prompts/PromptManager';
|
|
7
|
+
export { StreamingManager, StreamingSession } from './streaming/StreamingManager';
|
|
8
|
+
export * from './types';
|
|
9
|
+
export declare const VERSION = "0.1.0-beta.1";
|
|
10
|
+
export declare function createClient(config: import('./types').ToothFairyClientConfig): any;
|
|
11
|
+
import { ToothFairyClient } from './client';
|
|
12
|
+
export default ToothFairyClient;
|
|
13
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AA+BA,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAG5C,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACxE,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAGlF,cAAc,SAAS,CAAC;AAGxB,eAAO,MAAM,OAAO,iBAAiB,CAAC;AAQtC,wBAAgB,YAAY,CAAC,MAAM,EAAE,OAAO,SAAS,EAAE,sBAAsB,OAG5E;AAGD,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAC5C,eAAe,gBAAgB,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.createClient = exports.VERSION = exports.StreamingSession = exports.StreamingManager = exports.PromptManager = exports.FolderManager = exports.EntityManager = exports.DocumentManager = exports.ChatManager = exports.ToothFairyClient = void 0;
|
|
18
|
+
var client_1 = require("./client");
|
|
19
|
+
Object.defineProperty(exports, "ToothFairyClient", { enumerable: true, get: function () { return client_1.ToothFairyClient; } });
|
|
20
|
+
var ChatManager_1 = require("./chat/ChatManager");
|
|
21
|
+
Object.defineProperty(exports, "ChatManager", { enumerable: true, get: function () { return ChatManager_1.ChatManager; } });
|
|
22
|
+
var DocumentManager_1 = require("./documents/DocumentManager");
|
|
23
|
+
Object.defineProperty(exports, "DocumentManager", { enumerable: true, get: function () { return DocumentManager_1.DocumentManager; } });
|
|
24
|
+
var EntityManager_1 = require("./entities/EntityManager");
|
|
25
|
+
Object.defineProperty(exports, "EntityManager", { enumerable: true, get: function () { return EntityManager_1.EntityManager; } });
|
|
26
|
+
var FolderManager_1 = require("./folders/FolderManager");
|
|
27
|
+
Object.defineProperty(exports, "FolderManager", { enumerable: true, get: function () { return FolderManager_1.FolderManager; } });
|
|
28
|
+
var PromptManager_1 = require("./prompts/PromptManager");
|
|
29
|
+
Object.defineProperty(exports, "PromptManager", { enumerable: true, get: function () { return PromptManager_1.PromptManager; } });
|
|
30
|
+
var StreamingManager_1 = require("./streaming/StreamingManager");
|
|
31
|
+
Object.defineProperty(exports, "StreamingManager", { enumerable: true, get: function () { return StreamingManager_1.StreamingManager; } });
|
|
32
|
+
Object.defineProperty(exports, "StreamingSession", { enumerable: true, get: function () { return StreamingManager_1.StreamingSession; } });
|
|
33
|
+
__exportStar(require("./types"), exports);
|
|
34
|
+
exports.VERSION = '0.1.0-beta.1';
|
|
35
|
+
function createClient(config) {
|
|
36
|
+
const { ToothFairyClient } = require('./client');
|
|
37
|
+
return new ToothFairyClient(config);
|
|
38
|
+
}
|
|
39
|
+
exports.createClient = createClient;
|
|
40
|
+
const client_2 = require("./client");
|
|
41
|
+
exports.default = client_2.ToothFairyClient;
|
|
42
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AA+BA,mCAA4C;AAAnC,0GAAA,gBAAgB,OAAA;AAGzB,kDAAiD;AAAxC,0GAAA,WAAW,OAAA;AACpB,+DAA8D;AAArD,kHAAA,eAAe,OAAA;AACxB,0DAAyD;AAAhD,8GAAA,aAAa,OAAA;AACtB,yDAAwE;AAA/D,8GAAA,aAAa,OAAA;AACtB,yDAAwD;AAA/C,8GAAA,aAAa,OAAA;AACtB,iEAAkF;AAAzE,oHAAA,gBAAgB,OAAA;AAAE,oHAAA,gBAAgB,OAAA;AAG3C,0CAAwB;AAGX,QAAA,OAAO,GAAG,cAAc,CAAC;AAQtC,SAAgB,YAAY,CAAC,MAAgD;IAC3E,MAAM,EAAE,gBAAgB,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IACjD,OAAO,IAAI,gBAAgB,CAAC,MAAM,CAAC,CAAC;AACtC,CAAC;AAHD,oCAGC;AAGD,qCAA4C;AAC5C,kBAAe,yBAAgB,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { Prompt, PromptCreateData, PromptUpdateData, ListResponse } from '../types';
|
|
2
|
+
import { IToothFairyClient } from '../client';
|
|
3
|
+
export declare class PromptManager {
|
|
4
|
+
private client;
|
|
5
|
+
constructor(client: IToothFairyClient);
|
|
6
|
+
create(userId: string, promptData: PromptCreateData): Promise<Prompt>;
|
|
7
|
+
update(promptId: string, fields: PromptUpdateData): Promise<Prompt>;
|
|
8
|
+
get(promptId: string): Promise<Prompt>;
|
|
9
|
+
delete(promptId: string): Promise<{
|
|
10
|
+
success: boolean;
|
|
11
|
+
}>;
|
|
12
|
+
list(options?: {
|
|
13
|
+
type?: string;
|
|
14
|
+
limit?: number;
|
|
15
|
+
offset?: number;
|
|
16
|
+
}): Promise<ListResponse<Prompt>>;
|
|
17
|
+
getByType(type: string, limit?: number): Promise<Prompt[]>;
|
|
18
|
+
getByAgent(agentId: string): Promise<Prompt[]>;
|
|
19
|
+
search(searchTerm: string, type?: string): Promise<Prompt[]>;
|
|
20
|
+
getByScope(scope: string): Promise<Prompt[]>;
|
|
21
|
+
clone(promptId: string, userId: string, modifications?: Partial<PromptCreateData>): Promise<Prompt>;
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=PromptManager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PromptManager.d.ts","sourceRoot":"","sources":["../../src/prompts/PromptManager.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EACN,gBAAgB,EAChB,gBAAgB,EAChB,YAAY,EACb,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAyB9C,qBAAa,aAAa;IACZ,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,iBAAiB;IASvC,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC;IAiBrE,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC;IAenE,GAAG,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAUtC,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;IAUvD,IAAI,CAAC,OAAO,GAAE;QAClB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;KACZ,GAAG,OAAO,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IAyBhC,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAW1D,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAe9C,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAgB5D,UAAU,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAa5C,KAAK,CACT,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,aAAa,GAAE,OAAO,CAAC,gBAAgB,CAAM,GAC5C,OAAO,CAAC,MAAM,CAAC;CAkBnB"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PromptManager = void 0;
|
|
4
|
+
class PromptManager {
|
|
5
|
+
constructor(client) {
|
|
6
|
+
this.client = client;
|
|
7
|
+
}
|
|
8
|
+
async create(userId, promptData) {
|
|
9
|
+
const data = {
|
|
10
|
+
workspaceID: this.client.getWorkspaceId(),
|
|
11
|
+
createdBy: userId,
|
|
12
|
+
...promptData
|
|
13
|
+
};
|
|
14
|
+
return this.client.request('POST', 'prompt/create', data);
|
|
15
|
+
}
|
|
16
|
+
async update(promptId, fields) {
|
|
17
|
+
const updateData = {
|
|
18
|
+
id: promptId,
|
|
19
|
+
...fields
|
|
20
|
+
};
|
|
21
|
+
return this.client.request('POST', 'prompt/update', updateData);
|
|
22
|
+
}
|
|
23
|
+
async get(promptId) {
|
|
24
|
+
return this.client.request('GET', `prompt/get/${promptId}`);
|
|
25
|
+
}
|
|
26
|
+
async delete(promptId) {
|
|
27
|
+
return this.client.request('DELETE', `prompt/delete/${promptId}`);
|
|
28
|
+
}
|
|
29
|
+
async list(options = {}) {
|
|
30
|
+
const { type, limit, offset } = options;
|
|
31
|
+
const params = { workspaceID: this.client.getWorkspaceId() };
|
|
32
|
+
if (type)
|
|
33
|
+
params.type = type;
|
|
34
|
+
if (limit)
|
|
35
|
+
params.limit = limit;
|
|
36
|
+
if (offset)
|
|
37
|
+
params.offset = offset;
|
|
38
|
+
const response = await this.client.request('GET', 'prompt/list', null, { params });
|
|
39
|
+
return {
|
|
40
|
+
items: Array.isArray(response) ? response : [],
|
|
41
|
+
total: Array.isArray(response) ? response.length : 0,
|
|
42
|
+
limit,
|
|
43
|
+
offset
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
async getByType(type, limit) {
|
|
47
|
+
const result = await this.list({ type, limit });
|
|
48
|
+
return result.items;
|
|
49
|
+
}
|
|
50
|
+
async getByAgent(agentId) {
|
|
51
|
+
const result = await this.list();
|
|
52
|
+
return result.items.filter(prompt => !prompt.availableToAgents ||
|
|
53
|
+
prompt.availableToAgents.includes(agentId));
|
|
54
|
+
}
|
|
55
|
+
async search(searchTerm, type) {
|
|
56
|
+
const result = await this.list({ type });
|
|
57
|
+
const lowerSearchTerm = searchTerm.toLowerCase();
|
|
58
|
+
return result.items.filter(prompt => prompt.label.toLowerCase().includes(lowerSearchTerm) ||
|
|
59
|
+
prompt.interpolationString.toLowerCase().includes(lowerSearchTerm));
|
|
60
|
+
}
|
|
61
|
+
async getByScope(scope) {
|
|
62
|
+
const result = await this.list();
|
|
63
|
+
return result.items.filter(prompt => prompt.scope === scope);
|
|
64
|
+
}
|
|
65
|
+
async clone(promptId, userId, modifications = {}) {
|
|
66
|
+
const sourcePrompt = await this.get(promptId);
|
|
67
|
+
const clonedData = {
|
|
68
|
+
type: sourcePrompt.type,
|
|
69
|
+
label: `${sourcePrompt.label} (Copy)`,
|
|
70
|
+
promptLength: sourcePrompt.promptLength,
|
|
71
|
+
interpolationString: sourcePrompt.interpolationString,
|
|
72
|
+
scope: sourcePrompt.scope,
|
|
73
|
+
style: sourcePrompt.style,
|
|
74
|
+
domain: sourcePrompt.domain,
|
|
75
|
+
promptPlaceholder: sourcePrompt.promptPlaceholder,
|
|
76
|
+
availableToAgents: sourcePrompt.availableToAgents,
|
|
77
|
+
...modifications
|
|
78
|
+
};
|
|
79
|
+
return this.create(userId, clonedData);
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
exports.PromptManager = PromptManager;
|
|
83
|
+
//# sourceMappingURL=PromptManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PromptManager.js","sourceRoot":"","sources":["../../src/prompts/PromptManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import { EventEmitter } from 'events';
|
|
3
|
+
import { StreamEventCallback } from '../types';
|
|
4
|
+
import { IToothFairyClient } from '../client';
|
|
5
|
+
export declare class StreamingSession extends EventEmitter {
|
|
6
|
+
readonly chatId: string;
|
|
7
|
+
readonly messageId: string;
|
|
8
|
+
private completed;
|
|
9
|
+
constructor(chatId: string, messageId: string);
|
|
10
|
+
isCompleted(): boolean;
|
|
11
|
+
_setCompleted(): void;
|
|
12
|
+
emit(event: 'status', data: any): boolean;
|
|
13
|
+
emit(event: 'progress', data: any): boolean;
|
|
14
|
+
emit(event: 'data', data: any): boolean;
|
|
15
|
+
emit(event: 'complete', data: any): boolean;
|
|
16
|
+
emit(event: 'metadata', data: any): boolean;
|
|
17
|
+
emit(event: 'callback', data: any): boolean;
|
|
18
|
+
emit(event: 'error', data: any): boolean;
|
|
19
|
+
emit(event: 'unknown', data: any): boolean;
|
|
20
|
+
emit(event: 'end'): boolean;
|
|
21
|
+
on(event: 'status', listener: (data: any) => void): this;
|
|
22
|
+
on(event: 'progress', listener: (data: any) => void): this;
|
|
23
|
+
on(event: 'data', listener: (data: any) => void): this;
|
|
24
|
+
on(event: 'complete', listener: (data: any) => void): this;
|
|
25
|
+
on(event: 'metadata', listener: (data: any) => void): this;
|
|
26
|
+
on(event: 'callback', listener: (data: any) => void): this;
|
|
27
|
+
on(event: 'error', listener: (data: any) => void): this;
|
|
28
|
+
on(event: 'unknown', listener: (data: any) => void): this;
|
|
29
|
+
on(event: 'end', listener: () => void): this;
|
|
30
|
+
}
|
|
31
|
+
export declare class StreamingManager {
|
|
32
|
+
private client;
|
|
33
|
+
constructor(client: IToothFairyClient);
|
|
34
|
+
sendToAgent(message: string, agentId: string, options?: {
|
|
35
|
+
phoneNumber?: string;
|
|
36
|
+
customerId?: string;
|
|
37
|
+
providerId?: string;
|
|
38
|
+
customerInfo?: Record<string, any>;
|
|
39
|
+
}): Promise<StreamingSession>;
|
|
40
|
+
private startStreaming;
|
|
41
|
+
private processStreamEvent;
|
|
42
|
+
sendToAgentWithCallback(message: string, agentId: string, onEvent: StreamEventCallback, options?: {
|
|
43
|
+
phoneNumber?: string;
|
|
44
|
+
customerId?: string;
|
|
45
|
+
providerId?: string;
|
|
46
|
+
customerInfo?: Record<string, any>;
|
|
47
|
+
}): Promise<{
|
|
48
|
+
chatId: string;
|
|
49
|
+
messageId: string;
|
|
50
|
+
}>;
|
|
51
|
+
private generateCustomerId;
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=StreamingManager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StreamingManager.d.ts","sourceRoot":"","sources":["../../src/streaming/StreamingManager.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAEtC,OAAO,EAEL,mBAAmB,EAIpB,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAK9C,qBAAa,gBAAiB,SAAQ,YAAY;IAChD,SAAgB,MAAM,EAAE,MAAM,CAAC;IAC/B,SAAgB,SAAS,EAAE,MAAM,CAAC;IAClC,OAAO,CAAC,SAAS,CAAS;gBAEd,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM;IAStC,WAAW,IAAI,OAAO;IAOtB,aAAa,IAAI,IAAI;IAKrB,IAAI,CAAC,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,GAAG,OAAO;IACzC,IAAI,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,GAAG,OAAO;IAC3C,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,OAAO;IACvC,IAAI,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,GAAG,OAAO;IAC3C,IAAI,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,GAAG,OAAO;IAC3C,IAAI,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,GAAG,OAAO;IAC3C,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,GAAG,OAAO;IACxC,IAAI,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,GAAG,OAAO;IAC1C,IAAI,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO;IAK3B,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,GAAG,IAAI;IACxD,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,GAAG,IAAI;IAC1D,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,GAAG,IAAI;IACtD,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,GAAG,IAAI;IAC1D,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,GAAG,IAAI;IAC1D,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,GAAG,IAAI;IAC1D,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,GAAG,IAAI;IACvD,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,GAAG,IAAI;IACzD,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI;CAIpD;AA+BD,qBAAa,gBAAgB;IACf,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,iBAAiB;IAUvC,WAAW,CACf,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,OAAO,GAAE;QACP,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;KAC/B,GACL,OAAO,CAAC,gBAAgB,CAAC;YAiDd,cAAc;IAyF5B,OAAO,CAAC,kBAAkB;IAyDpB,uBAAuB,CAC3B,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,mBAAmB,EAC5B,OAAO,GAAE;QACP,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;KAC/B,GACL,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAAC;IAsCjD,OAAO,CAAC,kBAAkB;CAU3B"}
|
|
@@ -0,0 +1,217 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.StreamingManager = exports.StreamingSession = void 0;
|
|
7
|
+
const events_1 = require("events");
|
|
8
|
+
const axios_1 = __importDefault(require("axios"));
|
|
9
|
+
class StreamingSession extends events_1.EventEmitter {
|
|
10
|
+
constructor(chatId, messageId) {
|
|
11
|
+
super();
|
|
12
|
+
this.completed = false;
|
|
13
|
+
this.chatId = chatId;
|
|
14
|
+
this.messageId = messageId;
|
|
15
|
+
}
|
|
16
|
+
isCompleted() {
|
|
17
|
+
return this.completed;
|
|
18
|
+
}
|
|
19
|
+
_setCompleted() {
|
|
20
|
+
this.completed = true;
|
|
21
|
+
}
|
|
22
|
+
emit(event, ...args) {
|
|
23
|
+
return super.emit(event, ...args);
|
|
24
|
+
}
|
|
25
|
+
on(event, listener) {
|
|
26
|
+
return super.on(event, listener);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
exports.StreamingSession = StreamingSession;
|
|
30
|
+
class StreamingManager {
|
|
31
|
+
constructor(client) {
|
|
32
|
+
this.client = client;
|
|
33
|
+
}
|
|
34
|
+
async sendToAgent(message, agentId, options = {}) {
|
|
35
|
+
const { phoneNumber = '+1234567890', customerId = this.generateCustomerId(message), providerId = 'default-sms-provider', customerInfo = {} } = options;
|
|
36
|
+
const chatData = {
|
|
37
|
+
name: customerId,
|
|
38
|
+
primaryRole: agentId,
|
|
39
|
+
externalParticipantId: phoneNumber,
|
|
40
|
+
channelSettings: {
|
|
41
|
+
sms: {
|
|
42
|
+
isEnabled: true,
|
|
43
|
+
recipient: phoneNumber,
|
|
44
|
+
providerID: providerId,
|
|
45
|
+
},
|
|
46
|
+
},
|
|
47
|
+
customerId,
|
|
48
|
+
customerInfo,
|
|
49
|
+
isAIReplying: true,
|
|
50
|
+
};
|
|
51
|
+
const createdChat = await this.client.chat.create(chatData);
|
|
52
|
+
const messageData = {
|
|
53
|
+
chatID: createdChat.id,
|
|
54
|
+
text: message,
|
|
55
|
+
role: 'user',
|
|
56
|
+
userID: 'SDK',
|
|
57
|
+
};
|
|
58
|
+
const createdMessage = await this.client.chat.createMessage(messageData);
|
|
59
|
+
const session = new StreamingSession(createdChat.id, createdMessage.id);
|
|
60
|
+
this.startStreaming(session, createdChat.id, createdMessage, agentId);
|
|
61
|
+
return session;
|
|
62
|
+
}
|
|
63
|
+
async startStreaming(session, chatId, message, agentId) {
|
|
64
|
+
try {
|
|
65
|
+
const agentData = {
|
|
66
|
+
chatid: chatId,
|
|
67
|
+
messages: [
|
|
68
|
+
{
|
|
69
|
+
text: message.text,
|
|
70
|
+
role: message.role,
|
|
71
|
+
userID: message.userID || 'System User',
|
|
72
|
+
},
|
|
73
|
+
],
|
|
74
|
+
agentid: agentId,
|
|
75
|
+
};
|
|
76
|
+
const streamUrl = this.client.getStreamingUrl('agent');
|
|
77
|
+
const config = this.client.getConfig();
|
|
78
|
+
const axiosConfig = {
|
|
79
|
+
method: 'POST',
|
|
80
|
+
url: streamUrl,
|
|
81
|
+
headers: {
|
|
82
|
+
'Content-Type': 'application/json',
|
|
83
|
+
'x-api-key': config.apiKey,
|
|
84
|
+
'Accept': 'text/event-stream',
|
|
85
|
+
'Cache-Control': 'no-cache',
|
|
86
|
+
},
|
|
87
|
+
data: { workspaceid: config.workspaceId, ...agentData },
|
|
88
|
+
responseType: 'stream',
|
|
89
|
+
timeout: 300000,
|
|
90
|
+
};
|
|
91
|
+
const response = await (0, axios_1.default)(axiosConfig);
|
|
92
|
+
let buffer = '';
|
|
93
|
+
response.data.on('data', (chunk) => {
|
|
94
|
+
buffer += chunk.toString();
|
|
95
|
+
const lines = buffer.split('\\n');
|
|
96
|
+
buffer = lines.pop() || '';
|
|
97
|
+
for (const line of lines) {
|
|
98
|
+
if (line.trim() === '')
|
|
99
|
+
continue;
|
|
100
|
+
if (line.startsWith('data: ')) {
|
|
101
|
+
const dataStr = line.slice(6);
|
|
102
|
+
try {
|
|
103
|
+
const eventData = JSON.parse(dataStr);
|
|
104
|
+
this.processStreamEvent(session, eventData);
|
|
105
|
+
}
|
|
106
|
+
catch (e) {
|
|
107
|
+
session.emit('error', {
|
|
108
|
+
error: 'json_decode_error',
|
|
109
|
+
raw_data: dataStr,
|
|
110
|
+
message: e.message,
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
});
|
|
116
|
+
response.data.on('end', () => {
|
|
117
|
+
session._setCompleted();
|
|
118
|
+
session.emit('end');
|
|
119
|
+
});
|
|
120
|
+
response.data.on('error', (error) => {
|
|
121
|
+
session.emit('error', {
|
|
122
|
+
error: 'stream_error',
|
|
123
|
+
message: error.message,
|
|
124
|
+
});
|
|
125
|
+
});
|
|
126
|
+
}
|
|
127
|
+
catch (error) {
|
|
128
|
+
session.emit('error', {
|
|
129
|
+
error: 'request_error',
|
|
130
|
+
message: error.message,
|
|
131
|
+
});
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
processStreamEvent(session, eventData) {
|
|
135
|
+
if (eventData.status) {
|
|
136
|
+
if (eventData.status === 'connected') {
|
|
137
|
+
session.emit('status', eventData);
|
|
138
|
+
}
|
|
139
|
+
else if (eventData.status === 'complete') {
|
|
140
|
+
session.emit('status', eventData);
|
|
141
|
+
}
|
|
142
|
+
else if (eventData.status === 'inProgress') {
|
|
143
|
+
let metadata = {};
|
|
144
|
+
if (eventData.metadata) {
|
|
145
|
+
try {
|
|
146
|
+
metadata = JSON.parse(eventData.metadata);
|
|
147
|
+
}
|
|
148
|
+
catch (e) {
|
|
149
|
+
metadata = { raw_metadata: eventData.metadata };
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
const progressData = {
|
|
153
|
+
...eventData,
|
|
154
|
+
metadata_parsed: metadata,
|
|
155
|
+
};
|
|
156
|
+
if (metadata && metadata.agent_processing_status) {
|
|
157
|
+
progressData.processing_status = metadata.agent_processing_status;
|
|
158
|
+
}
|
|
159
|
+
session.emit('progress', progressData);
|
|
160
|
+
}
|
|
161
|
+
else if (eventData.status === 'fulfilled') {
|
|
162
|
+
session.emit('complete', eventData);
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
else if (eventData.text && eventData.type === 'message') {
|
|
166
|
+
session.emit('data', eventData);
|
|
167
|
+
}
|
|
168
|
+
else if (eventData.type === 'message' && eventData.images !== undefined) {
|
|
169
|
+
session.emit('metadata', eventData);
|
|
170
|
+
}
|
|
171
|
+
else if (eventData.type === 'message' && eventData.callbackMetadata) {
|
|
172
|
+
session.emit('callback', eventData);
|
|
173
|
+
}
|
|
174
|
+
else {
|
|
175
|
+
session.emit('unknown', eventData);
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
async sendToAgentWithCallback(message, agentId, onEvent, options = {}) {
|
|
179
|
+
const session = await this.sendToAgent(message, agentId, options);
|
|
180
|
+
return new Promise((resolve, reject) => {
|
|
181
|
+
session.on('status', (data) => onEvent('status', data));
|
|
182
|
+
session.on('progress', (data) => onEvent('progress', data));
|
|
183
|
+
session.on('data', (data) => onEvent('data', data));
|
|
184
|
+
session.on('complete', (data) => onEvent('complete', data));
|
|
185
|
+
session.on('metadata', (data) => onEvent('metadata', data));
|
|
186
|
+
session.on('callback', (data) => onEvent('callback', data));
|
|
187
|
+
session.on('error', (data) => onEvent('error', data));
|
|
188
|
+
session.on('unknown', (data) => onEvent('unknown', data));
|
|
189
|
+
session.on('complete', () => {
|
|
190
|
+
resolve({
|
|
191
|
+
chatId: session.chatId,
|
|
192
|
+
messageId: session.messageId
|
|
193
|
+
});
|
|
194
|
+
});
|
|
195
|
+
session.on('error', (error) => {
|
|
196
|
+
reject(error);
|
|
197
|
+
});
|
|
198
|
+
session.on('end', () => {
|
|
199
|
+
if (!session.isCompleted()) {
|
|
200
|
+
resolve({
|
|
201
|
+
chatId: session.chatId,
|
|
202
|
+
messageId: session.messageId
|
|
203
|
+
});
|
|
204
|
+
}
|
|
205
|
+
});
|
|
206
|
+
});
|
|
207
|
+
}
|
|
208
|
+
generateCustomerId(message) {
|
|
209
|
+
const hash = Math.abs(message.split('').reduce((a, b) => {
|
|
210
|
+
a = (a << 5) - a + b.charCodeAt(0);
|
|
211
|
+
return a & a;
|
|
212
|
+
}, 0)) % 10000;
|
|
213
|
+
return `sdk-user-${hash}`;
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
exports.StreamingManager = StreamingManager;
|
|
217
|
+
//# sourceMappingURL=StreamingManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StreamingManager.js","sourceRoot":"","sources":["../../src/streaming/StreamingManager.ts"],"names":[],"mappings":"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"}
|