oblien 1.1.0 → 1.1.2
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 +377 -495
- package/agents.js +14 -0
- package/icons.js +11 -0
- package/index.d.ts +12 -3
- package/index.js +16 -0
- package/package.json +9 -2
- package/sandbox.js +12 -0
- package/search.js +11 -0
- package/src/agents/agent.js +229 -0
- package/src/agents/index.js +212 -0
- package/src/agents/settings.js +100 -0
- package/src/agents/tools.js +155 -0
- package/src/chat/index.js +9 -1
- package/src/chat/session.js +3 -0
- package/src/client.js +8 -10
- package/src/icons/index.js +185 -0
- package/src/sandbox/index.js +185 -0
- package/src/sandbox/sandbox.js +124 -0
- package/src/search/index.js +191 -0
package/agents.js
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Agents Module Entry Point
|
|
3
|
+
* Import this for AI agents management only
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
export { OblienAgents, Agent, AgentSettings, Tools } from './src/agents/index.js';
|
|
7
|
+
|
|
8
|
+
export default {
|
|
9
|
+
OblienAgents,
|
|
10
|
+
Agent,
|
|
11
|
+
AgentSettings,
|
|
12
|
+
Tools
|
|
13
|
+
};
|
|
14
|
+
|
package/icons.js
ADDED
package/index.d.ts
CHANGED
|
@@ -5,10 +5,9 @@
|
|
|
5
5
|
// ============ Client Types ============
|
|
6
6
|
|
|
7
7
|
export interface OblienConfig {
|
|
8
|
-
|
|
9
|
-
|
|
8
|
+
clientId: string;
|
|
9
|
+
clientSecret: string;
|
|
10
10
|
baseURL?: string;
|
|
11
|
-
version?: string;
|
|
12
11
|
}
|
|
13
12
|
|
|
14
13
|
export class OblienClient {
|
|
@@ -101,6 +100,10 @@ export interface SessionOptions {
|
|
|
101
100
|
isGuest?: boolean;
|
|
102
101
|
namespace?: string;
|
|
103
102
|
workspace?: Record<string, any>;
|
|
103
|
+
ipAddress?: string;
|
|
104
|
+
userAgent?: string;
|
|
105
|
+
fingerprint?: string;
|
|
106
|
+
endUserId?: string;
|
|
104
107
|
}
|
|
105
108
|
|
|
106
109
|
export interface SessionData {
|
|
@@ -136,6 +139,11 @@ export interface CreateSessionOptions {
|
|
|
136
139
|
workflowId?: string;
|
|
137
140
|
namespace?: string; // For authenticated users, typically user_id
|
|
138
141
|
workspace?: Record<string, any>;
|
|
142
|
+
endUserId?: string;
|
|
143
|
+
isGuest?: boolean;
|
|
144
|
+
ipAddress?: string;
|
|
145
|
+
userAgent?: string;
|
|
146
|
+
fingerprint?: string;
|
|
139
147
|
}
|
|
140
148
|
|
|
141
149
|
export interface CreateGuestSessionOptions {
|
|
@@ -145,6 +153,7 @@ export interface CreateGuestSessionOptions {
|
|
|
145
153
|
workflowId?: string;
|
|
146
154
|
metadata?: Record<string, any>;
|
|
147
155
|
workspace?: Record<string, any>;
|
|
156
|
+
endUserId?: string;
|
|
148
157
|
}
|
|
149
158
|
|
|
150
159
|
export interface GuestSessionData extends SessionData {
|
package/index.js
CHANGED
|
@@ -5,6 +5,10 @@
|
|
|
5
5
|
|
|
6
6
|
import { OblienClient } from './src/client.js';
|
|
7
7
|
import { OblienChat, ChatSession } from './src/chat/index.js';
|
|
8
|
+
import { OblienAgents, Agent, Tools, AgentSettings } from './src/agents/index.js';
|
|
9
|
+
import { OblienSandboxes, Sandbox } from './src/sandbox/index.js';
|
|
10
|
+
import { OblienSearch } from './src/search/index.js';
|
|
11
|
+
import { OblienIcons } from './src/icons/index.js';
|
|
8
12
|
import { OblienNamespaces, Namespace } from './src/namespaces/index.js';
|
|
9
13
|
import { OblienCredits } from './src/credits/index.js';
|
|
10
14
|
import {
|
|
@@ -17,6 +21,10 @@ import {
|
|
|
17
21
|
// Re-export as named exports
|
|
18
22
|
export { OblienClient };
|
|
19
23
|
export { OblienChat, ChatSession };
|
|
24
|
+
export { OblienAgents, Agent, Tools, AgentSettings };
|
|
25
|
+
export { OblienSandboxes, Sandbox };
|
|
26
|
+
export { OblienSearch };
|
|
27
|
+
export { OblienIcons };
|
|
20
28
|
export { OblienNamespaces, Namespace };
|
|
21
29
|
export { OblienCredits };
|
|
22
30
|
export {
|
|
@@ -31,6 +39,14 @@ export default {
|
|
|
31
39
|
OblienClient,
|
|
32
40
|
OblienChat,
|
|
33
41
|
ChatSession,
|
|
42
|
+
OblienAgents,
|
|
43
|
+
Agent,
|
|
44
|
+
Tools,
|
|
45
|
+
AgentSettings,
|
|
46
|
+
OblienSandboxes,
|
|
47
|
+
Sandbox,
|
|
48
|
+
OblienSearch,
|
|
49
|
+
OblienIcons,
|
|
34
50
|
OblienNamespaces,
|
|
35
51
|
Namespace,
|
|
36
52
|
OblienCredits,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "oblien",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.2",
|
|
4
4
|
"description": "Server-side SDK for Oblien AI Platform - Build AI-powered applications with chat, agents, and workflows",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"type": "module",
|
|
@@ -9,7 +9,11 @@
|
|
|
9
9
|
".": "./index.js",
|
|
10
10
|
"./chat": "./chat.js",
|
|
11
11
|
"./namespaces": "./namespaces.js",
|
|
12
|
-
"./credits": "./credits.js"
|
|
12
|
+
"./credits": "./credits.js",
|
|
13
|
+
"./agents": "./agents.js",
|
|
14
|
+
"./sandbox": "./sandbox.js",
|
|
15
|
+
"./search": "./search.js",
|
|
16
|
+
"./icons": "./icons.js"
|
|
13
17
|
},
|
|
14
18
|
"scripts": {
|
|
15
19
|
"test": "node --test tests/**/*.test.js"
|
|
@@ -61,6 +65,9 @@
|
|
|
61
65
|
"namespaces.js",
|
|
62
66
|
"credits.js",
|
|
63
67
|
"agents.js",
|
|
68
|
+
"sandbox.js",
|
|
69
|
+
"search.js",
|
|
70
|
+
"icons.js",
|
|
64
71
|
"workflows.js",
|
|
65
72
|
"README.md",
|
|
66
73
|
"LICENSE"
|
package/sandbox.js
ADDED
package/search.js
ADDED
|
@@ -0,0 +1,229 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Agent Class
|
|
3
|
+
* Represents a single agent with methods for operations
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
import { AgentSettings } from './settings.js';
|
|
7
|
+
|
|
8
|
+
export class Agent {
|
|
9
|
+
/**
|
|
10
|
+
* @param {Object} options
|
|
11
|
+
* @param {import('../client.js').OblienClient} options.client - Oblien client instance
|
|
12
|
+
* @param {string} [options.agentId] - Agent ID
|
|
13
|
+
*/
|
|
14
|
+
constructor({ client, agentId = null }) {
|
|
15
|
+
if (!client) {
|
|
16
|
+
throw new Error('Oblien client is required');
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
this.client = client;
|
|
20
|
+
this.agentId = agentId;
|
|
21
|
+
this._settings = null;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* Get settings manager for this agent
|
|
26
|
+
* @returns {AgentSettings} Settings manager instance
|
|
27
|
+
*/
|
|
28
|
+
get settings() {
|
|
29
|
+
if (!this.agentId) {
|
|
30
|
+
throw new Error('Agent ID is required for settings operations');
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
if (!this._settings) {
|
|
34
|
+
this._settings = new AgentSettings({
|
|
35
|
+
client: this.client,
|
|
36
|
+
agentId: this.agentId
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
return this._settings;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
* Create a new agent
|
|
45
|
+
* @param {Object} options - Agent options
|
|
46
|
+
* @param {string} options.name - Agent name (required)
|
|
47
|
+
* @param {Object} options.prompts - Agent prompts/configuration (required)
|
|
48
|
+
* @param {string} [options.description] - Agent description
|
|
49
|
+
* @param {string} [options.namespace] - Namespace for organization
|
|
50
|
+
* @param {Array<string>} [options.collectionIds] - Collection IDs
|
|
51
|
+
* @param {Object} [options.settings] - Agent settings
|
|
52
|
+
* @returns {Promise<Object>} Created agent data
|
|
53
|
+
*/
|
|
54
|
+
async create(options) {
|
|
55
|
+
const { name, prompts, description, namespace, collectionIds, settings } = options;
|
|
56
|
+
|
|
57
|
+
if (!name) {
|
|
58
|
+
throw new Error('Agent name is required');
|
|
59
|
+
}
|
|
60
|
+
if (!prompts) {
|
|
61
|
+
throw new Error('Agent prompts are required');
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
const response = await this.client.post('ai/agents/create', {
|
|
65
|
+
name,
|
|
66
|
+
prompts,
|
|
67
|
+
description,
|
|
68
|
+
namespace,
|
|
69
|
+
collectionIds,
|
|
70
|
+
settings
|
|
71
|
+
});
|
|
72
|
+
|
|
73
|
+
if (response.agentId || response.id) {
|
|
74
|
+
this.agentId = response.agentId || response.id;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
return response;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
/**
|
|
81
|
+
* Get agent details
|
|
82
|
+
* @param {string} [section] - Optional section to retrieve
|
|
83
|
+
* @returns {Promise<Object>} Agent data
|
|
84
|
+
*/
|
|
85
|
+
async get(section = null) {
|
|
86
|
+
if (!this.agentId) {
|
|
87
|
+
throw new Error('Agent ID is required');
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
const path = section
|
|
91
|
+
? `ai/agents/${this.agentId}/${section}`
|
|
92
|
+
: `ai/agents/${this.agentId}`;
|
|
93
|
+
|
|
94
|
+
return await this.client.get(path);
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
/**
|
|
98
|
+
* Update agent
|
|
99
|
+
* @param {Object} updates - Fields to update
|
|
100
|
+
* @param {string} [updates.name] - Agent name
|
|
101
|
+
* @param {string} [updates.description] - Description
|
|
102
|
+
* @param {Object} [updates.prompts] - Prompts
|
|
103
|
+
* @param {Object} [updates.settings] - Settings
|
|
104
|
+
* @param {string} [updates.namespace] - Namespace (for validation)
|
|
105
|
+
* @returns {Promise<Object>} Update result
|
|
106
|
+
*/
|
|
107
|
+
async update(updates) {
|
|
108
|
+
if (!this.agentId) {
|
|
109
|
+
throw new Error('Agent ID is required');
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
return await this.client.put(`ai/agents/${this.agentId}`, updates);
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
/**
|
|
116
|
+
* Delete agent
|
|
117
|
+
* @param {Object} [options] - Delete options
|
|
118
|
+
* @param {string} [options.namespace] - Namespace for validation
|
|
119
|
+
* @returns {Promise<Object>} Delete result
|
|
120
|
+
*/
|
|
121
|
+
async delete(options = {}) {
|
|
122
|
+
if (!this.agentId) {
|
|
123
|
+
throw new Error('Agent ID is required');
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
// Use POST with body for DELETE with namespace validation
|
|
127
|
+
const response = await fetch(this.client._buildURL(`ai/agents/${this.agentId}`), {
|
|
128
|
+
method: 'DELETE',
|
|
129
|
+
headers: this.client.getAuthHeaders(),
|
|
130
|
+
body: JSON.stringify(options)
|
|
131
|
+
});
|
|
132
|
+
|
|
133
|
+
return this.client._handleResponse(response);
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
/**
|
|
137
|
+
* Get agent overview/analytics
|
|
138
|
+
* @param {Object} [options] - Query options
|
|
139
|
+
* @param {number} [options.days=7] - Number of days for activity data
|
|
140
|
+
* @returns {Promise<Object>} Analytics data
|
|
141
|
+
*/
|
|
142
|
+
async getOverview(options = {}) {
|
|
143
|
+
if (!this.agentId) {
|
|
144
|
+
throw new Error('Agent ID is required');
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
return await this.client.get(`ai/agents/${this.agentId}/overview`, options);
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
/**
|
|
151
|
+
* Get agent sessions
|
|
152
|
+
* @param {Object} [options] - Query options
|
|
153
|
+
* @param {number} [options.limit] - Max results
|
|
154
|
+
* @param {number} [options.offset] - Offset for pagination
|
|
155
|
+
* @param {string} [options.search] - Search term
|
|
156
|
+
* @param {string} [options.sortBy] - Sort by field
|
|
157
|
+
* @param {string} [options.sortOrder] - Sort order (asc/desc)
|
|
158
|
+
* @returns {Promise<Object>} Sessions data
|
|
159
|
+
*/
|
|
160
|
+
async getSessions(options = {}) {
|
|
161
|
+
if (!this.agentId) {
|
|
162
|
+
throw new Error('Agent ID is required');
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
return await this.client.get(`ai/agents/${this.agentId}/sessions`, options);
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
/**
|
|
169
|
+
* Get agent bans
|
|
170
|
+
* @param {Object} [options] - Query options
|
|
171
|
+
* @returns {Promise<Array>} Bans data
|
|
172
|
+
*/
|
|
173
|
+
async getBans(options = {}) {
|
|
174
|
+
if (!this.agentId) {
|
|
175
|
+
throw new Error('Agent ID is required');
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
return await this.client.get(`ai/agents/${this.agentId}/bans`, options);
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
|
|
182
|
+
/**
|
|
183
|
+
* Get agent users
|
|
184
|
+
* @param {Object} [options] - Query options
|
|
185
|
+
* @returns {Promise<Array>} Agent users data
|
|
186
|
+
*/
|
|
187
|
+
async getUsers(options = {}) {
|
|
188
|
+
if (!this.agentId) {
|
|
189
|
+
throw new Error('Agent ID is required');
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
return await this.client.get(`ai/agents/${this.agentId}/users`, options);
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
/**
|
|
196
|
+
* Get specific agent user
|
|
197
|
+
* @param {string} userId - User ID
|
|
198
|
+
* @returns {Promise<Object>} User data
|
|
199
|
+
*/
|
|
200
|
+
async getUser(userId) {
|
|
201
|
+
if (!this.agentId) {
|
|
202
|
+
throw new Error('Agent ID is required');
|
|
203
|
+
}
|
|
204
|
+
if (!userId) {
|
|
205
|
+
throw new Error('User ID is required');
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
return await this.client.get(`ai/agents/${this.agentId}/users/${userId}`);
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
/**
|
|
212
|
+
* Reset user limits
|
|
213
|
+
* @param {string} userId - User ID
|
|
214
|
+
* @returns {Promise<Object>} Reset result
|
|
215
|
+
*/
|
|
216
|
+
async resetUserLimits(userId) {
|
|
217
|
+
if (!this.agentId) {
|
|
218
|
+
throw new Error('Agent ID is required');
|
|
219
|
+
}
|
|
220
|
+
if (!userId) {
|
|
221
|
+
throw new Error('User ID is required');
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
return await this.client.post(`ai/agents/${this.agentId}/users/${userId}/reset-limits`);
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
|
|
228
|
+
export default Agent;
|
|
229
|
+
|
|
@@ -0,0 +1,212 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Agents Module
|
|
3
|
+
* Manages AI agents, their settings, and operations
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
import { Agent } from './agent.js';
|
|
7
|
+
import { Tools } from './tools.js';
|
|
8
|
+
|
|
9
|
+
export class OblienAgents {
|
|
10
|
+
/**
|
|
11
|
+
* @param {import('../client.js').OblienClient} client - Oblien client instance
|
|
12
|
+
*/
|
|
13
|
+
constructor(client) {
|
|
14
|
+
if (!client) {
|
|
15
|
+
throw new Error('Oblien client is required');
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
this.client = client;
|
|
19
|
+
this._tools = null;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* Get tools manager
|
|
24
|
+
* @returns {Tools} Tools manager instance
|
|
25
|
+
*/
|
|
26
|
+
get tools() {
|
|
27
|
+
if (!this._tools) {
|
|
28
|
+
this._tools = new Tools(this.client);
|
|
29
|
+
}
|
|
30
|
+
return this._tools;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* Create a new agent
|
|
35
|
+
* @param {Object} options - Agent options
|
|
36
|
+
* @param {string} options.name - Agent name (required)
|
|
37
|
+
* @param {Object} options.prompts - Agent prompts/configuration (required)
|
|
38
|
+
* @param {string} [options.description] - Agent description
|
|
39
|
+
* @param {string} [options.namespace] - Namespace for organization
|
|
40
|
+
* @param {Array<string>} [options.collectionIds] - Collection IDs
|
|
41
|
+
* @param {Object} [options.settings] - Agent settings
|
|
42
|
+
* @returns {Promise<Object>} Created agent data
|
|
43
|
+
*/
|
|
44
|
+
async create(options) {
|
|
45
|
+
const agent = new Agent({ client: this.client });
|
|
46
|
+
return await agent.create(options);
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
/**
|
|
50
|
+
* Get agent by ID
|
|
51
|
+
* @param {string} agentId - Agent ID
|
|
52
|
+
* @param {string} [section] - Optional section to retrieve
|
|
53
|
+
* @returns {Promise<Object>} Agent data
|
|
54
|
+
*/
|
|
55
|
+
async get(agentId, section = null) {
|
|
56
|
+
const agent = new Agent({ client: this.client, agentId });
|
|
57
|
+
return await agent.get(section);
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
/**
|
|
61
|
+
* List all agents with filtering and pagination
|
|
62
|
+
* @param {Object} [options] - Query options
|
|
63
|
+
* @param {number} [options.limit] - Max results (default: 50, max: 100)
|
|
64
|
+
* @param {number} [options.offset] - Offset for pagination
|
|
65
|
+
* @param {string} [options.namespace] - Filter by namespace
|
|
66
|
+
* @returns {Promise<Object>} Agents data with pagination info
|
|
67
|
+
*/
|
|
68
|
+
async list(options = {}) {
|
|
69
|
+
const response = await this.client.get('ai/agents/list', options);
|
|
70
|
+
return response;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
/**
|
|
74
|
+
* Search agents
|
|
75
|
+
* @param {string} query - Search query
|
|
76
|
+
* @param {Object} [options] - Query options
|
|
77
|
+
* @param {number} [options.limit] - Max results (default: 20)
|
|
78
|
+
* @param {string} [options.namespace] - Filter by namespace
|
|
79
|
+
* @returns {Promise<Object>} Search results
|
|
80
|
+
*/
|
|
81
|
+
async search(query, options = {}) {
|
|
82
|
+
const response = await this.client.get('ai/agents/search', {
|
|
83
|
+
q: query,
|
|
84
|
+
...options
|
|
85
|
+
});
|
|
86
|
+
return response;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
/**
|
|
90
|
+
* Update agent
|
|
91
|
+
* @param {string} agentId - Agent ID
|
|
92
|
+
* @param {Object} updates - Fields to update
|
|
93
|
+
* @param {string} [updates.name] - Agent name
|
|
94
|
+
* @param {string} [updates.description] - Description
|
|
95
|
+
* @param {Object} [updates.prompts] - Prompts
|
|
96
|
+
* @param {Object} [updates.settings] - Settings
|
|
97
|
+
* @param {string} [updates.namespace] - Namespace (for validation)
|
|
98
|
+
* @returns {Promise<Object>} Update result
|
|
99
|
+
*/
|
|
100
|
+
async update(agentId, updates) {
|
|
101
|
+
const agent = new Agent({ client: this.client, agentId });
|
|
102
|
+
return await agent.update(updates);
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
/**
|
|
106
|
+
* Delete agent
|
|
107
|
+
* @param {string} agentId - Agent ID
|
|
108
|
+
* @param {Object} [options] - Delete options
|
|
109
|
+
* @param {string} [options.namespace] - Namespace for validation
|
|
110
|
+
* @returns {Promise<Object>} Delete result
|
|
111
|
+
*/
|
|
112
|
+
async delete(agentId, options = {}) {
|
|
113
|
+
const agent = new Agent({ client: this.client, agentId });
|
|
114
|
+
return await agent.delete(options);
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
/**
|
|
118
|
+
* Get agent overview/analytics
|
|
119
|
+
* @param {string} agentId - Agent ID
|
|
120
|
+
* @param {Object} [options] - Query options
|
|
121
|
+
* @param {number} [options.days=7] - Number of days for activity data
|
|
122
|
+
* @returns {Promise<Object>} Analytics data
|
|
123
|
+
*/
|
|
124
|
+
async getOverview(agentId, options = {}) {
|
|
125
|
+
const agent = new Agent({ client: this.client, agentId });
|
|
126
|
+
return await agent.getOverview(options);
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
/**
|
|
130
|
+
* Get agent sessions
|
|
131
|
+
* @param {string} agentId - Agent ID
|
|
132
|
+
* @param {Object} [options] - Query options
|
|
133
|
+
* @param {number} [options.limit] - Max results
|
|
134
|
+
* @param {number} [options.offset] - Offset for pagination
|
|
135
|
+
* @param {string} [options.search] - Search term
|
|
136
|
+
* @param {string} [options.sortBy] - Sort by field
|
|
137
|
+
* @param {string} [options.sortOrder] - Sort order (asc/desc)
|
|
138
|
+
* @returns {Promise<Object>} Sessions data
|
|
139
|
+
*/
|
|
140
|
+
async getSessions(agentId, options = {}) {
|
|
141
|
+
const agent = new Agent({ client: this.client, agentId });
|
|
142
|
+
return await agent.getSessions(options);
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
/**
|
|
146
|
+
* Get agent bans
|
|
147
|
+
* @param {string} agentId - Agent ID
|
|
148
|
+
* @param {Object} [options] - Query options
|
|
149
|
+
* @returns {Promise<Array>} Bans data
|
|
150
|
+
*/
|
|
151
|
+
async getBans(agentId, options = {}) {
|
|
152
|
+
const agent = new Agent({ client: this.client, agentId });
|
|
153
|
+
return await agent.getBans(options);
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
/**
|
|
157
|
+
* Get platform stats
|
|
158
|
+
* @returns {Promise<Object>} Platform statistics
|
|
159
|
+
*/
|
|
160
|
+
async getStats() {
|
|
161
|
+
return await this.client.get('ai/agents/stats');
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
|
|
165
|
+
/**
|
|
166
|
+
* Get agent users
|
|
167
|
+
* @param {string} agentId - Agent ID
|
|
168
|
+
* @param {Object} [options] - Query options
|
|
169
|
+
* @returns {Promise<Array>} Agent users data
|
|
170
|
+
*/
|
|
171
|
+
async getUsers(agentId, options = {}) {
|
|
172
|
+
const agent = new Agent({ client: this.client, agentId });
|
|
173
|
+
return await agent.getUsers(options);
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
/**
|
|
177
|
+
* Get specific agent user
|
|
178
|
+
* @param {string} agentId - Agent ID
|
|
179
|
+
* @param {string} userId - User ID
|
|
180
|
+
* @returns {Promise<Object>} User data
|
|
181
|
+
*/
|
|
182
|
+
async getUser(agentId, userId) {
|
|
183
|
+
const agent = new Agent({ client: this.client, agentId });
|
|
184
|
+
return await agent.getUser(userId);
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
/**
|
|
188
|
+
* Reset user limits
|
|
189
|
+
* @param {string} agentId - Agent ID
|
|
190
|
+
* @param {string} userId - User ID
|
|
191
|
+
* @returns {Promise<Object>} Reset result
|
|
192
|
+
*/
|
|
193
|
+
async resetUserLimits(agentId, userId) {
|
|
194
|
+
const agent = new Agent({ client: this.client, agentId });
|
|
195
|
+
return await agent.resetUserLimits(userId);
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
/**
|
|
199
|
+
* Create an Agent instance for chaining operations
|
|
200
|
+
* @param {string} [agentId] - Agent ID
|
|
201
|
+
* @returns {Agent} Agent instance
|
|
202
|
+
*/
|
|
203
|
+
agent(agentId) {
|
|
204
|
+
return new Agent({ client: this.client, agentId });
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
export { Agent };
|
|
209
|
+
export { Tools } from './tools.js';
|
|
210
|
+
export { AgentSettings } from './settings.js';
|
|
211
|
+
export default OblienAgents;
|
|
212
|
+
|