@elizaos/api-client 1.6.4-alpha.6 → 1.6.4-alpha.7
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 +54 -0
- package/dist/api-client/src/client.d.ts +2 -0
- package/dist/api-client/src/client.d.ts.map +1 -1
- package/dist/api-client/src/index.d.ts +2 -0
- package/dist/api-client/src/index.d.ts.map +1 -1
- package/dist/api-client/src/services/jobs.d.ts +221 -0
- package/dist/api-client/src/services/jobs.d.ts.map +1 -0
- package/dist/api-client/src/types/jobs.d.ts +155 -0
- package/dist/api-client/src/types/jobs.d.ts.map +1 -0
- package/dist/index.js +165 -1
- package/dist/index.js.map +6 -4
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -48,6 +48,10 @@ const upload = await client.media.uploadAgentMedia(agentId, {
|
|
|
48
48
|
file: myFile,
|
|
49
49
|
filename: 'image.png',
|
|
50
50
|
});
|
|
51
|
+
|
|
52
|
+
// Quick one-off message with automatic polling (Jobs API)
|
|
53
|
+
const response = await client.jobs.ask('user-123', 'What is Bitcoin?');
|
|
54
|
+
console.log('Agent response:', response);
|
|
51
55
|
```
|
|
52
56
|
|
|
53
57
|
## API Domains
|
|
@@ -73,6 +77,56 @@ const upload = await client.media.uploadAgentMedia(agentId, {
|
|
|
73
77
|
- Session metadata and lifecycle management
|
|
74
78
|
- Automatic cleanup of inactive sessions
|
|
75
79
|
|
|
80
|
+
### Jobs
|
|
81
|
+
|
|
82
|
+
- One-off messaging with automatic response handling
|
|
83
|
+
- Simple request/response pattern for agent interactions
|
|
84
|
+
- Automatic polling with customizable strategies
|
|
85
|
+
- Job status tracking and health metrics
|
|
86
|
+
|
|
87
|
+
Example:
|
|
88
|
+
```typescript
|
|
89
|
+
// Simple ask pattern - returns the response directly
|
|
90
|
+
const response = await client.jobs.ask('user-id', 'What is Bitcoin?');
|
|
91
|
+
|
|
92
|
+
// Create and poll manually for more control
|
|
93
|
+
const result = await client.jobs.createAndPoll({
|
|
94
|
+
userId: 'user-id',
|
|
95
|
+
content: 'Complex analysis query',
|
|
96
|
+
agentId: 'specific-agent-id', // Optional
|
|
97
|
+
timeoutMs: 60000, // Optional
|
|
98
|
+
});
|
|
99
|
+
|
|
100
|
+
if (result.success) {
|
|
101
|
+
console.log('Response:', result.job.result?.message.content);
|
|
102
|
+
console.log('Processing time:', result.job.result?.processingTimeMs, 'ms');
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
// Poll with exponential backoff for long-running queries
|
|
106
|
+
const backoffResult = await client.jobs.createAndPollWithBackoff({
|
|
107
|
+
userId: 'user-id',
|
|
108
|
+
content: 'Long running task',
|
|
109
|
+
}, {
|
|
110
|
+
initialInterval: 500,
|
|
111
|
+
maxInterval: 5000,
|
|
112
|
+
multiplier: 1.5,
|
|
113
|
+
});
|
|
114
|
+
|
|
115
|
+
// Get job status manually
|
|
116
|
+
const job = await client.jobs.getJob('job-id');
|
|
117
|
+
console.log('Status:', job.status);
|
|
118
|
+
|
|
119
|
+
// List all jobs
|
|
120
|
+
const { jobs } = await client.jobs.list({
|
|
121
|
+
status: JobStatus.COMPLETED,
|
|
122
|
+
limit: 10
|
|
123
|
+
});
|
|
124
|
+
|
|
125
|
+
// Check health metrics
|
|
126
|
+
const health = await client.jobs.health();
|
|
127
|
+
console.log('Success rate:', health.metrics.successRate);
|
|
128
|
+
```
|
|
129
|
+
|
|
76
130
|
### Memory
|
|
77
131
|
|
|
78
132
|
- Agent memory management
|
|
@@ -8,6 +8,7 @@ import { ServerService } from './services/server';
|
|
|
8
8
|
import { SystemService } from './services/system';
|
|
9
9
|
import { SessionsService } from './services/sessions';
|
|
10
10
|
import { RunsService } from './services/runs';
|
|
11
|
+
import { JobsService } from './services/jobs';
|
|
11
12
|
export declare class ElizaClient {
|
|
12
13
|
readonly agents: AgentsService;
|
|
13
14
|
readonly messaging: MessagingService;
|
|
@@ -18,6 +19,7 @@ export declare class ElizaClient {
|
|
|
18
19
|
readonly system: SystemService;
|
|
19
20
|
readonly sessions: SessionsService;
|
|
20
21
|
readonly runs: RunsService;
|
|
22
|
+
readonly jobs: JobsService;
|
|
21
23
|
constructor(config: ApiClientConfig);
|
|
22
24
|
/**
|
|
23
25
|
* Create a new ElizaClient instance
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C,qBAAa,WAAW;IACtB,SAAgB,MAAM,EAAE,aAAa,CAAC;IACtC,SAAgB,SAAS,EAAE,gBAAgB,CAAC;IAC5C,SAAgB,MAAM,EAAE,aAAa,CAAC;IACtC,SAAgB,KAAK,EAAE,YAAY,CAAC;IACpC,SAAgB,KAAK,EAAE,YAAY,CAAC;IACpC,SAAgB,MAAM,EAAE,aAAa,CAAC;IACtC,SAAgB,MAAM,EAAE,aAAa,CAAC;IACtC,SAAgB,QAAQ,EAAE,eAAe,CAAC;IAC1C,SAAgB,IAAI,EAAE,WAAW,CAAC;gBAEtB,MAAM,EAAE,eAAe;
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C,qBAAa,WAAW;IACtB,SAAgB,MAAM,EAAE,aAAa,CAAC;IACtC,SAAgB,SAAS,EAAE,gBAAgB,CAAC;IAC5C,SAAgB,MAAM,EAAE,aAAa,CAAC;IACtC,SAAgB,KAAK,EAAE,YAAY,CAAC;IACpC,SAAgB,KAAK,EAAE,YAAY,CAAC;IACpC,SAAgB,MAAM,EAAE,aAAa,CAAC;IACtC,SAAgB,MAAM,EAAE,aAAa,CAAC;IACtC,SAAgB,QAAQ,EAAE,eAAe,CAAC;IAC1C,SAAgB,IAAI,EAAE,WAAW,CAAC;IAClC,SAAgB,IAAI,EAAE,WAAW,CAAC;gBAEtB,MAAM,EAAE,eAAe;IAcnC;;OAEG;IACH,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,eAAe,GAAG,WAAW;CAGpD"}
|
|
@@ -9,6 +9,7 @@ export * from './types/server';
|
|
|
9
9
|
export * from './types/system';
|
|
10
10
|
export * from './types/sessions';
|
|
11
11
|
export * from './types/runs';
|
|
12
|
+
export * from './types/jobs';
|
|
12
13
|
export { AgentsService } from './services/agents';
|
|
13
14
|
export { MessagingService } from './services/messaging';
|
|
14
15
|
export { MemoryService } from './services/memory';
|
|
@@ -18,5 +19,6 @@ export { ServerService } from './services/server';
|
|
|
18
19
|
export { SystemService } from './services/system';
|
|
19
20
|
export { SessionsService } from './services/sessions';
|
|
20
21
|
export { RunsService } from './services/runs';
|
|
22
|
+
export { JobsService } from './services/jobs';
|
|
21
23
|
export { BaseApiClient, ApiError } from './lib/base-client';
|
|
22
24
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAGvC,cAAc,cAAc,CAAC;AAG7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAG7B,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAG9C,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAGvC,cAAc,cAAc,CAAC;AAG7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAG7B,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAG9C,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,221 @@
|
|
|
1
|
+
import { UUID } from '@elizaos/core';
|
|
2
|
+
import { BaseApiClient } from '../lib/base-client';
|
|
3
|
+
import { CreateJobRequest, CreateJobResponse, JobDetailsResponse, JobHealthResponse, JobListResponse, ListJobsParams, PollOptions, PollResult } from '../types/jobs';
|
|
4
|
+
/**
|
|
5
|
+
* Jobs API Service - One-off messaging with automatic polling support
|
|
6
|
+
*
|
|
7
|
+
* The Jobs API provides a simplified interface for one-off messages to agents
|
|
8
|
+
* with automatic response handling and polling capabilities.
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* ```typescript
|
|
12
|
+
* const client = new ElizaClient({ baseUrl: 'http://localhost:3000' });
|
|
13
|
+
*
|
|
14
|
+
* // Create a job and poll for completion
|
|
15
|
+
* const result = await client.jobs.createAndPoll({
|
|
16
|
+
* userId: 'user-uuid',
|
|
17
|
+
* content: 'What is the weather today?'
|
|
18
|
+
* });
|
|
19
|
+
*
|
|
20
|
+
* console.log('Agent response:', result.job.result?.message.content);
|
|
21
|
+
* ```
|
|
22
|
+
*/
|
|
23
|
+
export declare class JobsService extends BaseApiClient {
|
|
24
|
+
/**
|
|
25
|
+
* Create a new job (one-off message to agent)
|
|
26
|
+
*
|
|
27
|
+
* @param params - Job creation parameters
|
|
28
|
+
* @returns Job creation response with jobId and initial status
|
|
29
|
+
*
|
|
30
|
+
* @example
|
|
31
|
+
* ```typescript
|
|
32
|
+
* const job = await client.jobs.create({
|
|
33
|
+
* userId: 'user-uuid',
|
|
34
|
+
* content: 'What is Bitcoin price?',
|
|
35
|
+
* agentId: 'agent-uuid', // Optional - uses first available if not provided
|
|
36
|
+
* timeoutMs: 60000, // Optional - default 30 seconds
|
|
37
|
+
* metadata: { source: 'mobile-app' } // Optional
|
|
38
|
+
* });
|
|
39
|
+
*
|
|
40
|
+
* console.log('Job created:', job.jobId);
|
|
41
|
+
* ```
|
|
42
|
+
*/
|
|
43
|
+
create(params: CreateJobRequest): Promise<CreateJobResponse>;
|
|
44
|
+
/**
|
|
45
|
+
* Get job status and details
|
|
46
|
+
*
|
|
47
|
+
* @param jobId - The job ID to retrieve
|
|
48
|
+
* @returns Current job status and details
|
|
49
|
+
*
|
|
50
|
+
* @example
|
|
51
|
+
* ```typescript
|
|
52
|
+
* const job = await client.jobs.getJob('job-id-123');
|
|
53
|
+
*
|
|
54
|
+
* if (job.status === JobStatus.COMPLETED) {
|
|
55
|
+
* console.log('Response:', job.result?.message.content);
|
|
56
|
+
* } else if (job.status === JobStatus.FAILED) {
|
|
57
|
+
* console.error('Error:', job.error);
|
|
58
|
+
* }
|
|
59
|
+
* ```
|
|
60
|
+
*/
|
|
61
|
+
getJob(jobId: string): Promise<JobDetailsResponse>;
|
|
62
|
+
/**
|
|
63
|
+
* List jobs with optional filtering
|
|
64
|
+
*
|
|
65
|
+
* @param params - Optional filtering and pagination parameters
|
|
66
|
+
* @returns List of jobs matching the criteria
|
|
67
|
+
*
|
|
68
|
+
* @example
|
|
69
|
+
* ```typescript
|
|
70
|
+
* // Get all completed jobs
|
|
71
|
+
* const completedJobs = await client.jobs.list({
|
|
72
|
+
* status: JobStatus.COMPLETED,
|
|
73
|
+
* limit: 10
|
|
74
|
+
* });
|
|
75
|
+
*
|
|
76
|
+
* // Get all jobs (default limit: 50)
|
|
77
|
+
* const allJobs = await client.jobs.list();
|
|
78
|
+
* ```
|
|
79
|
+
*/
|
|
80
|
+
list(params?: ListJobsParams): Promise<JobListResponse>;
|
|
81
|
+
/**
|
|
82
|
+
* Get jobs API health status and metrics
|
|
83
|
+
*
|
|
84
|
+
* @returns Health status with metrics
|
|
85
|
+
*
|
|
86
|
+
* @example
|
|
87
|
+
* ```typescript
|
|
88
|
+
* const health = await client.jobs.health();
|
|
89
|
+
* console.log('Success rate:', health.metrics.successRate);
|
|
90
|
+
* console.log('Active jobs:', health.statusCounts.processing);
|
|
91
|
+
* ```
|
|
92
|
+
*/
|
|
93
|
+
health(): Promise<JobHealthResponse>;
|
|
94
|
+
/**
|
|
95
|
+
* Poll a job until completion, failure, or timeout
|
|
96
|
+
*
|
|
97
|
+
* This is a convenience method that handles polling logic automatically.
|
|
98
|
+
* It will continue polling until the job reaches a terminal state (completed, failed, or timeout).
|
|
99
|
+
*
|
|
100
|
+
* @param jobId - The job ID to poll
|
|
101
|
+
* @param options - Polling configuration options
|
|
102
|
+
* @returns Poll result with final job status
|
|
103
|
+
*
|
|
104
|
+
* @example
|
|
105
|
+
* ```typescript
|
|
106
|
+
* const result = await client.jobs.poll('job-id-123', {
|
|
107
|
+
* interval: 1000, // Poll every second
|
|
108
|
+
* maxAttempts: 30, // Give up after 30 attempts
|
|
109
|
+
* onProgress: (job, attempt) => {
|
|
110
|
+
* console.log(`Attempt ${attempt}: ${job.status}`);
|
|
111
|
+
* }
|
|
112
|
+
* });
|
|
113
|
+
*
|
|
114
|
+
* if (result.success) {
|
|
115
|
+
* console.log('Response:', result.job.result?.message.content);
|
|
116
|
+
* } else {
|
|
117
|
+
* console.error('Failed:', result.job.error);
|
|
118
|
+
* }
|
|
119
|
+
* ```
|
|
120
|
+
*/
|
|
121
|
+
poll(jobId: string, options?: PollOptions): Promise<PollResult>;
|
|
122
|
+
/**
|
|
123
|
+
* Create a job and automatically poll until completion
|
|
124
|
+
*
|
|
125
|
+
* This is the most convenient method for simple use cases where you want to
|
|
126
|
+
* send a message and wait for the response in one call.
|
|
127
|
+
*
|
|
128
|
+
* @param params - Job creation parameters
|
|
129
|
+
* @param pollOptions - Optional polling configuration
|
|
130
|
+
* @returns Poll result with final job status
|
|
131
|
+
*
|
|
132
|
+
* @example
|
|
133
|
+
* ```typescript
|
|
134
|
+
* // Simple usage
|
|
135
|
+
* const result = await client.jobs.createAndPoll({
|
|
136
|
+
* userId: 'user-uuid',
|
|
137
|
+
* content: 'What is the weather today?'
|
|
138
|
+
* });
|
|
139
|
+
*
|
|
140
|
+
* if (result.success) {
|
|
141
|
+
* console.log('Agent:', result.job.result?.message.content);
|
|
142
|
+
* }
|
|
143
|
+
*
|
|
144
|
+
* // With custom polling options
|
|
145
|
+
* const result = await client.jobs.createAndPoll(
|
|
146
|
+
* {
|
|
147
|
+
* userId: 'user-uuid',
|
|
148
|
+
* content: 'Complex analysis query',
|
|
149
|
+
* timeoutMs: 120000
|
|
150
|
+
* },
|
|
151
|
+
* {
|
|
152
|
+
* interval: 2000,
|
|
153
|
+
* timeout: 120000,
|
|
154
|
+
* onProgress: (job, attempt) => {
|
|
155
|
+
* console.log(`Waiting... (${attempt})`);
|
|
156
|
+
* }
|
|
157
|
+
* }
|
|
158
|
+
* );
|
|
159
|
+
* ```
|
|
160
|
+
*/
|
|
161
|
+
createAndPoll(params: CreateJobRequest, pollOptions?: PollOptions): Promise<PollResult>;
|
|
162
|
+
/**
|
|
163
|
+
* Create a job and wait for completion with exponential backoff
|
|
164
|
+
*
|
|
165
|
+
* Similar to createAndPoll but uses exponential backoff for polling,
|
|
166
|
+
* which can be more efficient for longer-running jobs.
|
|
167
|
+
*
|
|
168
|
+
* @param params - Job creation parameters
|
|
169
|
+
* @param options - Backoff configuration
|
|
170
|
+
* @returns Poll result with final job status
|
|
171
|
+
*
|
|
172
|
+
* @example
|
|
173
|
+
* ```typescript
|
|
174
|
+
* const result = await client.jobs.createAndPollWithBackoff({
|
|
175
|
+
* userId: 'user-uuid',
|
|
176
|
+
* content: 'Analyze this complex data set'
|
|
177
|
+
* }, {
|
|
178
|
+
* initialInterval: 500,
|
|
179
|
+
* maxInterval: 5000,
|
|
180
|
+
* multiplier: 1.5,
|
|
181
|
+
* maxAttempts: 40
|
|
182
|
+
* });
|
|
183
|
+
* ```
|
|
184
|
+
*/
|
|
185
|
+
createAndPollWithBackoff(params: CreateJobRequest, options?: {
|
|
186
|
+
initialInterval?: number;
|
|
187
|
+
maxInterval?: number;
|
|
188
|
+
multiplier?: number;
|
|
189
|
+
maxAttempts?: number;
|
|
190
|
+
timeout?: number;
|
|
191
|
+
onProgress?: (status: JobDetailsResponse, attempt: number) => void;
|
|
192
|
+
}): Promise<PollResult>;
|
|
193
|
+
/**
|
|
194
|
+
* Convenience method to ask a question and get the response
|
|
195
|
+
*
|
|
196
|
+
* This is a simplified interface that abstracts away the job ID and returns
|
|
197
|
+
* the agent's response content directly. Throws an error if the job fails.
|
|
198
|
+
*
|
|
199
|
+
* @param userId - User ID sending the message
|
|
200
|
+
* @param content - Message content/question
|
|
201
|
+
* @param agentId - Optional agent ID to target
|
|
202
|
+
* @param pollOptions - Optional polling configuration
|
|
203
|
+
* @returns The agent's response content
|
|
204
|
+
* @throws Error if the job fails or times out
|
|
205
|
+
*
|
|
206
|
+
* @example
|
|
207
|
+
* ```typescript
|
|
208
|
+
* try {
|
|
209
|
+
* const response = await client.jobs.ask(
|
|
210
|
+
* 'user-uuid',
|
|
211
|
+
* 'What is the price of Bitcoin?'
|
|
212
|
+
* );
|
|
213
|
+
* console.log('Agent says:', response);
|
|
214
|
+
* } catch (error) {
|
|
215
|
+
* console.error('Failed to get response:', error.message);
|
|
216
|
+
* }
|
|
217
|
+
* ```
|
|
218
|
+
*/
|
|
219
|
+
ask(userId: UUID, content: string, agentId?: UUID, pollOptions?: PollOptions): Promise<string>;
|
|
220
|
+
}
|
|
221
|
+
//# sourceMappingURL=jobs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jobs.d.ts","sourceRoot":"","sources":["../../../../src/services/jobs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EACH,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,eAAe,EACf,cAAc,EAEd,WAAW,EACX,UAAU,EACb,MAAM,eAAe,CAAC;AAEvB;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,WAAY,SAAQ,aAAa;IAC1C;;;;;;;;;;;;;;;;;;OAkBG;IACG,MAAM,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAIlE;;;;;;;;;;;;;;;;OAgBG;IACG,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAIxD;;;;;;;;;;;;;;;;;OAiBG;IACG,IAAI,CAAC,MAAM,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,eAAe,CAAC;IAI7D;;;;;;;;;;;OAWG;IACG,MAAM,IAAI,OAAO,CAAC,iBAAiB,CAAC;IAI1C;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACG,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE,WAAgB,GAAG,OAAO,CAAC,UAAU,CAAC;IAyEzE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAsCG;IACG,aAAa,CACf,MAAM,EAAE,gBAAgB,EACxB,WAAW,CAAC,EAAE,WAAW,GAC1B,OAAO,CAAC,UAAU,CAAC;IAKtB;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACG,wBAAwB,CAC1B,MAAM,EAAE,gBAAgB,EACxB,OAAO,GAAE;QACL,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,kBAAkB,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;KACjE,GACP,OAAO,CAAC,UAAU,CAAC;IA4EtB;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACG,GAAG,CACL,MAAM,EAAE,IAAI,EACZ,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,IAAI,EACd,WAAW,CAAC,EAAE,WAAW,GAC1B,OAAO,CAAC,MAAM,CAAC;CAkBrB"}
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
import { UUID } from '@elizaos/core';
|
|
2
|
+
/**
|
|
3
|
+
* Job status enumeration
|
|
4
|
+
*/
|
|
5
|
+
export declare enum JobStatus {
|
|
6
|
+
PENDING = "pending",
|
|
7
|
+
PROCESSING = "processing",
|
|
8
|
+
COMPLETED = "completed",
|
|
9
|
+
FAILED = "failed",
|
|
10
|
+
TIMEOUT = "timeout"
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Validation constants for job requests
|
|
14
|
+
*/
|
|
15
|
+
export declare const JobValidation: {
|
|
16
|
+
readonly MAX_CONTENT_LENGTH: 50000;
|
|
17
|
+
readonly MAX_METADATA_SIZE: 10000;
|
|
18
|
+
readonly DEFAULT_TIMEOUT_MS: 30000;
|
|
19
|
+
readonly MAX_TIMEOUT_MS: 300000;
|
|
20
|
+
readonly MIN_TIMEOUT_MS: 1000;
|
|
21
|
+
};
|
|
22
|
+
/**
|
|
23
|
+
* Request to create a new job
|
|
24
|
+
*/
|
|
25
|
+
export interface CreateJobRequest {
|
|
26
|
+
/** Agent ID to send the message to (optional - uses first available agent if not provided) */
|
|
27
|
+
agentId?: UUID;
|
|
28
|
+
/** User ID sending the message */
|
|
29
|
+
userId: UUID;
|
|
30
|
+
/** Message content/prompt */
|
|
31
|
+
content: string;
|
|
32
|
+
/** Optional metadata */
|
|
33
|
+
metadata?: Record<string, unknown>;
|
|
34
|
+
/** Optional timeout in milliseconds (default: 30000ms, max: 300000ms) */
|
|
35
|
+
timeoutMs?: number;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Response when creating a job
|
|
39
|
+
*/
|
|
40
|
+
export interface CreateJobResponse {
|
|
41
|
+
/** Unique job identifier */
|
|
42
|
+
jobId: string;
|
|
43
|
+
/** Status of the job */
|
|
44
|
+
status: JobStatus;
|
|
45
|
+
/** Timestamp when job was created */
|
|
46
|
+
createdAt: number;
|
|
47
|
+
/** Estimated timeout time */
|
|
48
|
+
expiresAt: number;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Job result structure
|
|
52
|
+
*/
|
|
53
|
+
export interface JobResult {
|
|
54
|
+
/** Agent's response message */
|
|
55
|
+
message: {
|
|
56
|
+
id: UUID;
|
|
57
|
+
content: string;
|
|
58
|
+
authorId: UUID;
|
|
59
|
+
createdAt: number;
|
|
60
|
+
metadata?: Record<string, unknown>;
|
|
61
|
+
};
|
|
62
|
+
/** Processing time in milliseconds */
|
|
63
|
+
processingTimeMs: number;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Job details response
|
|
67
|
+
*/
|
|
68
|
+
export interface JobDetailsResponse {
|
|
69
|
+
/** Unique job identifier */
|
|
70
|
+
jobId: string;
|
|
71
|
+
/** Current status */
|
|
72
|
+
status: JobStatus;
|
|
73
|
+
/** Agent ID */
|
|
74
|
+
agentId: UUID;
|
|
75
|
+
/** User ID */
|
|
76
|
+
userId: UUID;
|
|
77
|
+
/** Original prompt/content */
|
|
78
|
+
prompt: string;
|
|
79
|
+
/** Timestamp when job was created */
|
|
80
|
+
createdAt: number;
|
|
81
|
+
/** Timestamp when job will expire */
|
|
82
|
+
expiresAt: number;
|
|
83
|
+
/** Result (only available when status is COMPLETED) */
|
|
84
|
+
result?: JobResult;
|
|
85
|
+
/** Error message (only available when status is FAILED) */
|
|
86
|
+
error?: string;
|
|
87
|
+
/** Metadata */
|
|
88
|
+
metadata?: Record<string, unknown>;
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Poll options for checking job status
|
|
92
|
+
*/
|
|
93
|
+
export interface PollOptions {
|
|
94
|
+
/** Polling interval in milliseconds (default: 1000ms) */
|
|
95
|
+
interval?: number;
|
|
96
|
+
/** Maximum number of poll attempts (default: 30) */
|
|
97
|
+
maxAttempts?: number;
|
|
98
|
+
/** Total timeout in milliseconds (overrides maxAttempts if provided) */
|
|
99
|
+
timeout?: number;
|
|
100
|
+
/** Callback function called on each poll attempt */
|
|
101
|
+
onProgress?: (status: JobDetailsResponse, attempt: number) => void;
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Health check response with metrics
|
|
105
|
+
*/
|
|
106
|
+
export interface JobHealthResponse {
|
|
107
|
+
healthy: boolean;
|
|
108
|
+
timestamp: number;
|
|
109
|
+
totalJobs: number;
|
|
110
|
+
statusCounts: {
|
|
111
|
+
pending: number;
|
|
112
|
+
processing: number;
|
|
113
|
+
completed: number;
|
|
114
|
+
failed: number;
|
|
115
|
+
timeout: number;
|
|
116
|
+
};
|
|
117
|
+
metrics: {
|
|
118
|
+
averageProcessingTimeMs: number;
|
|
119
|
+
successRate: number;
|
|
120
|
+
failureRate: number;
|
|
121
|
+
timeoutRate: number;
|
|
122
|
+
};
|
|
123
|
+
maxJobs: number;
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Job list response
|
|
127
|
+
*/
|
|
128
|
+
export interface JobListResponse {
|
|
129
|
+
jobs: JobDetailsResponse[];
|
|
130
|
+
total: number;
|
|
131
|
+
filtered: number;
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* Parameters for listing jobs
|
|
135
|
+
*/
|
|
136
|
+
export interface ListJobsParams {
|
|
137
|
+
/** Maximum number of jobs to return */
|
|
138
|
+
limit?: number;
|
|
139
|
+
/** Filter by job status */
|
|
140
|
+
status?: JobStatus;
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* Poll result wrapper
|
|
144
|
+
*/
|
|
145
|
+
export interface PollResult {
|
|
146
|
+
/** Whether the job completed successfully */
|
|
147
|
+
success: boolean;
|
|
148
|
+
/** The final job response */
|
|
149
|
+
job: JobDetailsResponse;
|
|
150
|
+
/** Number of poll attempts made */
|
|
151
|
+
attempts: number;
|
|
152
|
+
/** Total time spent polling in milliseconds */
|
|
153
|
+
timeMs: number;
|
|
154
|
+
}
|
|
155
|
+
//# sourceMappingURL=jobs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jobs.d.ts","sourceRoot":"","sources":["../../../../src/types/jobs.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -773,6 +773,165 @@ class RunsService extends BaseApiClient {
|
|
|
773
773
|
}
|
|
774
774
|
}
|
|
775
775
|
|
|
776
|
+
// src/types/jobs.ts
|
|
777
|
+
var JobStatus;
|
|
778
|
+
((JobStatus2) => {
|
|
779
|
+
JobStatus2["PENDING"] = "pending";
|
|
780
|
+
JobStatus2["PROCESSING"] = "processing";
|
|
781
|
+
JobStatus2["COMPLETED"] = "completed";
|
|
782
|
+
JobStatus2["FAILED"] = "failed";
|
|
783
|
+
JobStatus2["TIMEOUT"] = "timeout";
|
|
784
|
+
})(JobStatus ||= {});
|
|
785
|
+
var JobValidation = {
|
|
786
|
+
MAX_CONTENT_LENGTH: 50000,
|
|
787
|
+
MAX_METADATA_SIZE: 1e4,
|
|
788
|
+
DEFAULT_TIMEOUT_MS: 30000,
|
|
789
|
+
MAX_TIMEOUT_MS: 300000,
|
|
790
|
+
MIN_TIMEOUT_MS: 1000
|
|
791
|
+
};
|
|
792
|
+
|
|
793
|
+
// src/services/jobs.ts
|
|
794
|
+
class JobsService extends BaseApiClient {
|
|
795
|
+
async create(params) {
|
|
796
|
+
return this.post("/api/messaging/jobs", params);
|
|
797
|
+
}
|
|
798
|
+
async getJob(jobId) {
|
|
799
|
+
return this.get(`/api/messaging/jobs/${jobId}`);
|
|
800
|
+
}
|
|
801
|
+
async list(params) {
|
|
802
|
+
return this.get("/api/messaging/jobs", { params });
|
|
803
|
+
}
|
|
804
|
+
async health() {
|
|
805
|
+
return this.get("/api/messaging/jobs/health");
|
|
806
|
+
}
|
|
807
|
+
async poll(jobId, options = {}) {
|
|
808
|
+
const {
|
|
809
|
+
interval = 1000,
|
|
810
|
+
maxAttempts = 30,
|
|
811
|
+
timeout,
|
|
812
|
+
onProgress
|
|
813
|
+
} = options;
|
|
814
|
+
const startTime = Date.now();
|
|
815
|
+
let attempts = 0;
|
|
816
|
+
const effectiveMaxAttempts = timeout ? Math.ceil(timeout / interval) : maxAttempts;
|
|
817
|
+
while (attempts < effectiveMaxAttempts) {
|
|
818
|
+
if (timeout && Date.now() - startTime > timeout) {
|
|
819
|
+
const job3 = await this.getJob(jobId);
|
|
820
|
+
return {
|
|
821
|
+
success: false,
|
|
822
|
+
job: job3,
|
|
823
|
+
attempts,
|
|
824
|
+
timeMs: Date.now() - startTime
|
|
825
|
+
};
|
|
826
|
+
}
|
|
827
|
+
if (attempts > 0) {
|
|
828
|
+
await new Promise((resolve) => setTimeout(resolve, interval));
|
|
829
|
+
}
|
|
830
|
+
attempts++;
|
|
831
|
+
const job2 = await this.getJob(jobId);
|
|
832
|
+
if (onProgress) {
|
|
833
|
+
onProgress(job2, attempts);
|
|
834
|
+
}
|
|
835
|
+
if (job2.status === "completed" /* COMPLETED */) {
|
|
836
|
+
return {
|
|
837
|
+
success: true,
|
|
838
|
+
job: job2,
|
|
839
|
+
attempts,
|
|
840
|
+
timeMs: Date.now() - startTime
|
|
841
|
+
};
|
|
842
|
+
}
|
|
843
|
+
if (job2.status === "failed" /* FAILED */ || job2.status === "timeout" /* TIMEOUT */) {
|
|
844
|
+
return {
|
|
845
|
+
success: false,
|
|
846
|
+
job: job2,
|
|
847
|
+
attempts,
|
|
848
|
+
timeMs: Date.now() - startTime
|
|
849
|
+
};
|
|
850
|
+
}
|
|
851
|
+
}
|
|
852
|
+
const job = await this.getJob(jobId);
|
|
853
|
+
return {
|
|
854
|
+
success: false,
|
|
855
|
+
job,
|
|
856
|
+
attempts,
|
|
857
|
+
timeMs: Date.now() - startTime
|
|
858
|
+
};
|
|
859
|
+
}
|
|
860
|
+
async createAndPoll(params, pollOptions) {
|
|
861
|
+
const createResponse = await this.create(params);
|
|
862
|
+
return this.poll(createResponse.jobId, pollOptions);
|
|
863
|
+
}
|
|
864
|
+
async createAndPollWithBackoff(params, options = {}) {
|
|
865
|
+
const {
|
|
866
|
+
initialInterval = 500,
|
|
867
|
+
maxInterval = 5000,
|
|
868
|
+
multiplier = 1.5,
|
|
869
|
+
maxAttempts = 40,
|
|
870
|
+
timeout,
|
|
871
|
+
onProgress
|
|
872
|
+
} = options;
|
|
873
|
+
const createResponse = await this.create(params);
|
|
874
|
+
const jobId = createResponse.jobId;
|
|
875
|
+
const startTime = Date.now();
|
|
876
|
+
let attempts = 0;
|
|
877
|
+
let currentInterval = initialInterval;
|
|
878
|
+
while (attempts < maxAttempts) {
|
|
879
|
+
if (timeout && Date.now() - startTime > timeout) {
|
|
880
|
+
const job3 = await this.getJob(jobId);
|
|
881
|
+
return {
|
|
882
|
+
success: false,
|
|
883
|
+
job: job3,
|
|
884
|
+
attempts,
|
|
885
|
+
timeMs: Date.now() - startTime
|
|
886
|
+
};
|
|
887
|
+
}
|
|
888
|
+
if (attempts > 0) {
|
|
889
|
+
await new Promise((resolve) => setTimeout(resolve, currentInterval));
|
|
890
|
+
currentInterval = Math.min(currentInterval * multiplier, maxInterval);
|
|
891
|
+
}
|
|
892
|
+
attempts++;
|
|
893
|
+
const job2 = await this.getJob(jobId);
|
|
894
|
+
if (onProgress) {
|
|
895
|
+
onProgress(job2, attempts);
|
|
896
|
+
}
|
|
897
|
+
if (job2.status === "completed" /* COMPLETED */) {
|
|
898
|
+
return {
|
|
899
|
+
success: true,
|
|
900
|
+
job: job2,
|
|
901
|
+
attempts,
|
|
902
|
+
timeMs: Date.now() - startTime
|
|
903
|
+
};
|
|
904
|
+
}
|
|
905
|
+
if (job2.status === "failed" /* FAILED */ || job2.status === "timeout" /* TIMEOUT */) {
|
|
906
|
+
return {
|
|
907
|
+
success: false,
|
|
908
|
+
job: job2,
|
|
909
|
+
attempts,
|
|
910
|
+
timeMs: Date.now() - startTime
|
|
911
|
+
};
|
|
912
|
+
}
|
|
913
|
+
}
|
|
914
|
+
const job = await this.getJob(jobId);
|
|
915
|
+
return {
|
|
916
|
+
success: false,
|
|
917
|
+
job,
|
|
918
|
+
attempts,
|
|
919
|
+
timeMs: Date.now() - startTime
|
|
920
|
+
};
|
|
921
|
+
}
|
|
922
|
+
async ask(userId, content, agentId, pollOptions) {
|
|
923
|
+
const result = await this.createAndPoll({
|
|
924
|
+
userId,
|
|
925
|
+
content,
|
|
926
|
+
...agentId && { agentId }
|
|
927
|
+
}, pollOptions);
|
|
928
|
+
if (!result.success || !result.job.result) {
|
|
929
|
+
throw new Error(result.job.error || "Job failed or timed out without a response");
|
|
930
|
+
}
|
|
931
|
+
return result.job.result.message.content;
|
|
932
|
+
}
|
|
933
|
+
}
|
|
934
|
+
|
|
776
935
|
// src/client.ts
|
|
777
936
|
class ElizaClient {
|
|
778
937
|
agents;
|
|
@@ -784,6 +943,7 @@ class ElizaClient {
|
|
|
784
943
|
system;
|
|
785
944
|
sessions;
|
|
786
945
|
runs;
|
|
946
|
+
jobs;
|
|
787
947
|
constructor(config) {
|
|
788
948
|
this.agents = new AgentsService(config);
|
|
789
949
|
this.messaging = new MessagingService(config);
|
|
@@ -794,6 +954,7 @@ class ElizaClient {
|
|
|
794
954
|
this.system = new SystemService(config);
|
|
795
955
|
this.sessions = new SessionsService(config);
|
|
796
956
|
this.runs = new RunsService(config);
|
|
957
|
+
this.jobs = new JobsService(config);
|
|
797
958
|
}
|
|
798
959
|
static create(config) {
|
|
799
960
|
return new ElizaClient(config);
|
|
@@ -807,6 +968,9 @@ export {
|
|
|
807
968
|
MessagingService,
|
|
808
969
|
MemoryService,
|
|
809
970
|
MediaService,
|
|
971
|
+
JobsService,
|
|
972
|
+
JobValidation,
|
|
973
|
+
JobStatus,
|
|
810
974
|
ElizaClient,
|
|
811
975
|
BaseApiClient,
|
|
812
976
|
AudioService,
|
|
@@ -814,5 +978,5 @@ export {
|
|
|
814
978
|
AgentsService
|
|
815
979
|
};
|
|
816
980
|
|
|
817
|
-
//# debugId=
|
|
981
|
+
//# debugId=3A0EC8AE9EE602D164756E2164756E21
|
|
818
982
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../src/lib/base-client.ts", "../src/services/agents.ts", "../src/services/messaging.ts", "../src/services/memory.ts", "../src/services/audio.ts", "../src/services/media.ts", "../src/services/server.ts", "../src/services/system.ts", "../src/services/sessions.ts", "../src/services/runs.ts", "../src/client.ts"],
|
|
3
|
+
"sources": ["../src/lib/base-client.ts", "../src/services/agents.ts", "../src/services/messaging.ts", "../src/services/memory.ts", "../src/services/audio.ts", "../src/services/media.ts", "../src/services/server.ts", "../src/services/system.ts", "../src/services/sessions.ts", "../src/services/runs.ts", "../src/types/jobs.ts", "../src/services/jobs.ts", "../src/client.ts"],
|
|
4
4
|
"sourcesContent": [
|
|
5
5
|
"import { ApiResponse, ApiClientConfig, RequestConfig } from '../types/base';\n\ndeclare const window: any;\n\nexport class ApiError extends Error {\n constructor(\n public code: string,\n message: string,\n public details?: string,\n public status?: number\n ) {\n super(message);\n this.name = 'ApiError';\n }\n}\n\nexport abstract class BaseApiClient {\n protected baseUrl: string;\n protected apiKey?: string;\n protected timeout: number;\n protected defaultHeaders: Record<string, string>;\n\n constructor(config: ApiClientConfig) {\n this.baseUrl = config.baseUrl.replace(/\\/$/, ''); // Remove trailing slash\n this.apiKey = config.apiKey;\n this.timeout = config.timeout || 30000; // 30 seconds default\n this.defaultHeaders = {\n 'Content-Type': 'application/json',\n ...config.headers,\n };\n\n if (this.apiKey) {\n // Server expects X-API-KEY header; keep backward compatibility\n this.defaultHeaders['X-API-KEY'] = this.apiKey;\n }\n }\n\n /**\n * Creates a safe response for no-content scenarios (204 responses)\n * Returns a sensible default based on common API patterns\n */\n private createNoContentResponse<T>(): T {\n // For most delete/update operations, return a success indicator\n // This handles the common case of { success: boolean } return types\n return { success: true } as T;\n }\n\n protected async request<T>(\n method: string,\n path: string,\n options?: {\n body?: any;\n params?: Record<string, any>;\n headers?: Record<string, string>;\n config?: RequestConfig;\n }\n ): Promise<T> {\n // Handle empty baseUrl for relative URLs\n let url: URL;\n if (this.baseUrl) {\n url = new URL(`${this.baseUrl}${path}`);\n } else if (typeof window !== 'undefined' && window.location) {\n url = new URL(path, window.location.origin);\n } else {\n // Fallback for non-browser environments\n url = new URL(path, 'http://localhost:3000');\n }\n\n // Add query parameters\n if (options?.params) {\n Object.entries(options.params).forEach(([key, value]) => {\n if (value !== undefined && value !== null) {\n url.searchParams.append(key, String(value));\n }\n });\n }\n\n const controller = new AbortController();\n const timeoutId = setTimeout(() => controller.abort(), this.timeout);\n\n try {\n const headers = {\n ...this.defaultHeaders,\n ...options?.config?.headers,\n ...options?.headers,\n };\n\n // Remove Content-Type header if body is FormData\n if (options?.body instanceof FormData) {\n delete headers['Content-Type'];\n }\n\n const response = await fetch(url.toString(), {\n method,\n headers,\n body:\n options?.body instanceof FormData\n ? options.body\n : options?.body\n ? JSON.stringify(options.body)\n : undefined,\n signal: controller.signal,\n });\n\n clearTimeout(timeoutId);\n\n // Handle empty responses (204 No Content)\n if (response.status === 204 || response.headers.get('content-length') === '0') {\n // For 204 No Content, create a synthetic success response\n return this.createNoContentResponse<T>();\n }\n\n // Parse JSON response\n let jsonData: any;\n try {\n jsonData = await response.json();\n } catch (error) {\n // If JSON parsing fails, treat as success for 2xx responses\n if (response.ok) {\n return this.createNoContentResponse<T>();\n } else {\n throw new ApiError(\n 'PARSE_ERROR',\n 'Failed to parse response as JSON',\n undefined,\n response.status\n );\n }\n }\n\n // Handle error responses\n if (!response.ok) {\n // Try to extract error information from response\n const error = jsonData?.error || {\n code: 'HTTP_ERROR',\n message: `HTTP ${response.status}: ${response.statusText}`,\n };\n throw new ApiError(error.code, error.message, error.details, response.status);\n }\n\n // Handle successful responses\n // Check if response is wrapped in { success: true, data: ... } format\n if (jsonData && typeof jsonData === 'object' && 'success' in jsonData) {\n const apiResponse = jsonData as ApiResponse<T>;\n if (!apiResponse.success) {\n const error =\n 'error' in apiResponse\n ? apiResponse.error\n : {\n code: 'UNKNOWN_ERROR',\n message: 'An unknown error occurred',\n };\n throw new ApiError(error.code, error.message, error.details, response.status);\n }\n return apiResponse.data;\n } else {\n // Response is not wrapped - return the data directly\n // This handles server endpoints like /health, /ping, /status\n return jsonData as T;\n }\n } catch (error) {\n clearTimeout(timeoutId);\n\n if (error instanceof ApiError) {\n throw error;\n }\n\n if (error instanceof Error) {\n if (error.name === 'AbortError') {\n throw new ApiError('TIMEOUT', 'Request timed out');\n }\n throw new ApiError('NETWORK_ERROR', error.message);\n }\n\n throw new ApiError('UNKNOWN_ERROR', 'An unknown error occurred');\n }\n }\n\n protected async get<T>(\n path: string,\n options?: Omit<Parameters<typeof this.request>[2], 'body'>\n ): Promise<T> {\n return this.request<T>('GET', path, options);\n }\n\n protected async post<T>(\n path: string,\n body?: any,\n options?: Parameters<typeof this.request>[2]\n ): Promise<T> {\n return this.request<T>('POST', path, { ...options, body });\n }\n\n protected async put<T>(\n path: string,\n body?: any,\n options?: Parameters<typeof this.request>[2]\n ): Promise<T> {\n return this.request<T>('PUT', path, { ...options, body });\n }\n\n protected async patch<T>(\n path: string,\n body?: any,\n options?: Parameters<typeof this.request>[2]\n ): Promise<T> {\n return this.request<T>('PATCH', path, { ...options, body });\n }\n\n protected async delete<T>(\n path: string,\n options?: Omit<Parameters<typeof this.request>[2], 'body'>\n ): Promise<T> {\n return this.request<T>('DELETE', path, options);\n }\n}\n",
|
|
6
6
|
"import { UUID } from '@elizaos/core';\nimport { BaseApiClient } from '../lib/base-client';\nimport {\n Agent,\n AgentCreateParams,\n AgentLog,\n AgentLogsParams,\n AgentPanel,\n AgentUpdateParams,\n AgentWorld,\n AgentWorldSettings,\n} from '../types/agents';\n\nexport class AgentsService extends BaseApiClient {\n /**\n * List all agents with minimal details\n */\n async listAgents(): Promise<{ agents: Agent[] }> {\n return this.get<{ agents: Agent[] }>('/api/agents');\n }\n\n /**\n * Get specific agent details\n */\n async getAgent(agentId: UUID): Promise<Agent> {\n return this.get<Agent>(`/api/agents/${agentId}`);\n }\n\n /**\n * Create a new agent\n */\n async createAgent(params: AgentCreateParams): Promise<Agent> {\n return this.post<Agent>('/api/agents', params);\n }\n\n /**\n * Update an existing agent\n */\n async updateAgent(agentId: UUID, params: AgentUpdateParams): Promise<Agent> {\n return this.patch<Agent>(`/api/agents/${agentId}`, params);\n }\n\n /**\n * Delete an agent\n */\n async deleteAgent(agentId: UUID): Promise<{ success: boolean }> {\n return this.delete<{ success: boolean }>(`/api/agents/${agentId}`);\n }\n\n /**\n * Start an existing agent\n */\n async startAgent(agentId: UUID): Promise<{ status: string }> {\n return this.post<{ status: string }>(`/api/agents/${agentId}/start`);\n }\n\n /**\n * Stop a running agent\n */\n async stopAgent(agentId: UUID): Promise<{ status: string }> {\n return this.post<{ status: string }>(`/api/agents/${agentId}/stop`);\n }\n\n /**\n * Get all available worlds\n */\n async getWorlds(): Promise<{ worlds: AgentWorld[] }> {\n return this.get<{ worlds: AgentWorld[] }>('/api/agents/worlds');\n }\n\n /**\n * Add agent to a world\n */\n async addAgentToWorld(agentId: UUID, worldId: UUID): Promise<{ success: boolean }> {\n return this.post<{ success: boolean }>(`/api/agents/${agentId}/worlds`, { worldId });\n }\n\n /**\n * Update agent's world settings\n */\n async updateAgentWorldSettings(\n agentId: UUID,\n worldId: UUID,\n settings: Record<string, any>\n ): Promise<AgentWorldSettings> {\n return this.patch<AgentWorldSettings>(`/api/agents/${agentId}/worlds/${worldId}`, { settings });\n }\n\n /**\n * Get agent's plugin panels\n */\n async getAgentPanels(agentId: UUID): Promise<{ panels: AgentPanel[] }> {\n const response = await this.get<Array<{ name: string; path: string }>>(\n `/api/agents/${agentId}/panels`\n );\n\n const panels: AgentPanel[] = (Array.isArray(response) ? response : []).map((panel, index) => ({\n id: `${panel.name}-${index}`, // Generate an ID since server doesn't send one\n name: panel.name,\n url: panel.path,\n type: 'plugin',\n }));\n\n return { panels };\n }\n\n /**\n * Get agent logs\n */\n async getAgentLogs(agentId: UUID, params?: AgentLogsParams): Promise<AgentLog[]> {\n return this.get<AgentLog[]>(`/api/agents/${agentId}/logs`, { params });\n }\n\n /**\n * Delete a specific log entry\n */\n async deleteAgentLog(agentId: UUID, logId: UUID): Promise<{ success: boolean }> {\n return this.delete<{ success: boolean }>(`/api/agents/${agentId}/logs/${logId}`);\n }\n\n /**\n * Get agents associated with a server\n */\n async getAgentsForServer(\n serverId: UUID\n ): Promise<{ success: boolean; data: { serverId: UUID; agents: UUID[] } }> {\n return this.get<{ success: boolean; data: { serverId: UUID; agents: UUID[] } }>(\n `/api/messaging/servers/${serverId}/agents`\n );\n }\n\n async addAgentToServer(\n serverId: UUID,\n agentId: UUID\n ): Promise<{ success: boolean; data: { serverId: UUID; agentId: UUID; message: string } }> {\n return this.post<{\n success: boolean;\n data: { serverId: UUID; agentId: UUID; message: string };\n }>(`/api/messaging/servers/${serverId}/agents`, { agentId });\n }\n\n async removeAgentFromServer(\n serverId: UUID,\n agentId: UUID\n ): Promise<{ success: boolean; data: { serverId: UUID; agentId: UUID; message: string } }> {\n return this.delete<{\n success: boolean;\n data: { serverId: UUID; agentId: UUID; message: string };\n }>(`/api/messaging/servers/${serverId}/agents/${agentId}`);\n }\n\n async getServersForAgent(\n agentId: UUID\n ): Promise<{ success: boolean; data: { agentId: UUID; servers: UUID[] } }> {\n return this.get<{ success: boolean; data: { agentId: UUID; servers: UUID[] } }>(\n `/api/messaging/agents/${agentId}/servers`\n );\n }\n}\n",
|
|
@@ -12,9 +12,11 @@
|
|
|
12
12
|
"import { BaseApiClient } from '../lib/base-client';\nimport { LocalEnvironmentUpdateParams } from '../types/system';\n\nexport class SystemService extends BaseApiClient {\n /**\n * Retrieve the local environment variables from the ElizaOS server.\n *\n * Server route (packages/server/src/api/system):\n * GET /api/system/env/local -> { success: true, data: Record<string,string> }\n */\n async getEnvironment(): Promise<Record<string, string>> {\n return this.get<Record<string, string>>('/api/system/env/local');\n }\n\n /**\n * Update (overwrite or merge) the local .env file on the ElizaOS server.\n *\n * Server route (packages/server/src/api/system):\n * POST /api/system/env/local -> { success: true, message: string }\n * Body: { content: Record<string,string> }\n *\n * For developer-ergonomics we accept several shapes:\n * 1. { variables: Record<string,string>; merge?: boolean }\n * 2. { content: Record<string,string> } (server-native)\n * 3. Record<string,string> (shorthand)\n */\n async updateLocalEnvironment(\n params:\n | LocalEnvironmentUpdateParams\n | { content: Record<string, string> }\n | Record<string, string>\n ): Promise<{ success: boolean; message: string }> {\n if (!params || typeof params !== 'object') {\n throw new Error('updateLocalEnvironment requires a configuration object');\n }\n\n let body: { content: Record<string, string> };\n\n if ('variables' in params) {\n body = { content: (params as LocalEnvironmentUpdateParams).variables };\n } else if ('content' in params) {\n // eslint-disable-next-line @typescript-eslint/consistent-type-assertions\n body = { content: (params as { content: Record<string, string> }).content };\n } else {\n // Treat params itself as record of env vars\n body = { content: params as unknown as Record<string, string> };\n }\n\n return this.post<{ success: boolean; message: string }>('/api/system/env/local', body);\n }\n\n /**\n * Global logs functionality - implementing via system endpoints\n */\n async getGlobalLogs(params?: { level?: string; agentName?: string; agentId?: string }): Promise<{\n logs: Array<{\n level: number;\n time: number;\n msg: string;\n [key: string]: string | number | boolean | null | undefined;\n }>;\n count: number;\n total: number;\n level: string;\n levels: string[];\n }> {\n // Special handling for logs endpoint that returns data directly without wrapper\n const response = await fetch(this.buildUrl('/api/server/logs', { params }), {\n method: 'GET',\n headers: this.getHeaders(),\n });\n\n if (!response.ok) {\n throw new Error(`HTTP ${response.status}: ${response.statusText}`);\n }\n\n const data = (await response.json()) as {\n logs?: Array<{\n level: number;\n time: number;\n msg: string;\n [key: string]: string | number | boolean | null | undefined;\n }>;\n count?: number;\n total?: number;\n requestedLevel?: string;\n level?: string;\n levels?: string[];\n };\n\n // The logs endpoint returns data directly, not wrapped in { success, data }\n // Map the response to expected format\n return {\n logs: data.logs || [],\n count: data.count || 0,\n total: data.total || 0,\n level: data.requestedLevel || data.level || 'all',\n levels: data.levels || [],\n };\n }\n\n private buildUrl(path: string, options?: { params?: Record<string, any> }): string {\n const url = new URL(`${this.baseUrl}${path}`);\n if (options?.params) {\n Object.entries(options.params).forEach(([key, value]) => {\n if (value !== undefined && value !== null) {\n url.searchParams.append(key, String(value));\n }\n });\n }\n return url.toString();\n }\n\n private getHeaders(): Record<string, string> {\n return {\n ...this.defaultHeaders,\n };\n }\n\n async deleteGlobalLogs(): Promise<{ status: string; message: string }> {\n return this.delete<{ status: string; message: string }>('/api/server/logs');\n }\n\n async deleteLog(logId: string): Promise<void> {\n // Note: Individual log deletion is not supported by the server\n // The server only supports bulk deletion via deleteGlobalLogs()\n throw new Error(\n 'Individual log deletion is not supported. Use deleteGlobalLogs() to clear all logs.'\n );\n }\n}\n",
|
|
13
13
|
"import { BaseApiClient } from '../lib/base-client';\nimport type {\n CreateSessionParams,\n CreateSessionResponse,\n SendMessageParams,\n GetMessagesParams,\n GetMessagesResponse,\n SessionInfoResponse,\n SessionsHealthResponse,\n ListSessionsResponse,\n MessageResponse,\n} from '../types/sessions';\n\n/**\n * Query parameters for session messages API\n */\ninterface SessionMessageQueryParams {\n limit?: string;\n before?: string;\n after?: string;\n}\n\n/**\n * Validates and converts a date parameter to timestamp string\n * @param value Date, string, or number to convert\n * @param paramName Name of the parameter for error messages\n * @returns Timestamp string or undefined if value is invalid\n */\nfunction toTimestampString(\n value: Date | string | number | undefined,\n paramName: string\n): string | undefined {\n if (!value) return undefined;\n\n let timestamp: number;\n\n if (value instanceof Date) {\n timestamp = value.getTime();\n } else if (typeof value === 'string') {\n const date = new Date(value);\n timestamp = date.getTime();\n\n // Check for invalid date\n if (isNaN(timestamp)) {\n console.warn(`Invalid date string for ${paramName}: ${value}`);\n return undefined;\n }\n } else if (typeof value === 'number') {\n timestamp = value;\n } else {\n console.warn(`Invalid type for ${paramName}: ${typeof value}`);\n return undefined;\n }\n\n return timestamp.toString();\n}\n\n/**\n * Validates required parameters\n * @param value Parameter value to validate\n * @param paramName Name of the parameter for error messages\n * @throws Error if the parameter is invalid\n */\nfunction validateRequiredParam(\n value: string | undefined | null,\n paramName: string\n): asserts value is string {\n if (!value || value.trim() === '') {\n throw new Error(`${paramName} is required and cannot be empty`);\n }\n}\n\n/**\n * Service for managing messaging sessions between users and agents\n */\nexport class SessionsService extends BaseApiClient {\n /**\n * Get health status of the sessions service\n * @returns Health check response\n */\n async checkHealth(): Promise<SessionsHealthResponse> {\n return this.get<SessionsHealthResponse>('/api/messaging/sessions/health');\n }\n\n /**\n * Create a new messaging session\n * @param params Session creation parameters\n * @returns Created session response\n */\n async createSession(params: CreateSessionParams): Promise<CreateSessionResponse> {\n return this.post<CreateSessionResponse>('/api/messaging/sessions', params);\n }\n\n /**\n * Get session details\n * @param sessionId Session ID\n * @returns Session information\n */\n async getSession(sessionId: string): Promise<SessionInfoResponse> {\n validateRequiredParam(sessionId, 'sessionId');\n return this.get<SessionInfoResponse>(`/api/messaging/sessions/${sessionId}`);\n }\n\n /**\n * Send a message in a session\n * @param sessionId Session ID\n * @param params Message parameters\n * @returns Message response\n */\n async sendMessage(sessionId: string, params: SendMessageParams): Promise<MessageResponse> {\n validateRequiredParam(sessionId, 'sessionId');\n validateRequiredParam(params?.content, 'content');\n return this.post<MessageResponse>(`/api/messaging/sessions/${sessionId}/messages`, params);\n }\n\n /**\n * Get messages from a session\n * @param sessionId Session ID\n * @param params Query parameters for pagination and filtering\n * @returns Messages response\n */\n async getMessages(sessionId: string, params?: GetMessagesParams): Promise<GetMessagesResponse> {\n validateRequiredParam(sessionId, 'sessionId');\n\n const queryParams: SessionMessageQueryParams = {};\n\n if (params?.limit) {\n queryParams.limit = params.limit.toString();\n }\n\n // Convert date parameters with validation\n const beforeTimestamp = toTimestampString(params?.before, 'before');\n if (beforeTimestamp) {\n queryParams.before = beforeTimestamp;\n }\n\n const afterTimestamp = toTimestampString(params?.after, 'after');\n if (afterTimestamp) {\n queryParams.after = afterTimestamp;\n }\n\n return this.get<GetMessagesResponse>(`/api/messaging/sessions/${sessionId}/messages`, {\n params: queryParams,\n });\n }\n\n /**\n * Delete a session\n * @param sessionId Session ID\n * @returns Success response\n */\n async deleteSession(sessionId: string): Promise<{ success: boolean }> {\n validateRequiredParam(sessionId, 'sessionId');\n return this.delete<{ success: boolean }>(`/api/messaging/sessions/${sessionId}`);\n }\n\n /**\n * List all active sessions (admin endpoint)\n * @returns List of active sessions\n */\n async listSessions(): Promise<ListSessionsResponse> {\n return this.get<ListSessionsResponse>('/api/messaging/sessions');\n }\n}\n",
|
|
14
14
|
"import { UUID } from '@elizaos/core';\nimport { BaseApiClient } from '../lib/base-client';\nimport { ListRunsParams, RunDetail, RunSummary } from '../types/runs';\n\nexport class RunsService extends BaseApiClient {\n async listRuns(\n agentId: UUID,\n params?: ListRunsParams\n ): Promise<{ runs: RunSummary[]; total: number; hasMore: boolean }> {\n return this.get<{ runs: RunSummary[]; total: number; hasMore: boolean }>(\n `/api/agents/${agentId}/runs`,\n { params }\n );\n }\n\n async getRun(agentId: UUID, runId: UUID, roomId?: UUID): Promise<RunDetail> {\n return this.get<RunDetail>(`/api/agents/${agentId}/runs/${runId}`, {\n params: roomId ? { roomId } : undefined,\n });\n }\n}\n",
|
|
15
|
-
"import {
|
|
15
|
+
"import { UUID } from '@elizaos/core';\n\n/**\n * Job status enumeration\n */\nexport enum JobStatus {\n PENDING = 'pending',\n PROCESSING = 'processing',\n COMPLETED = 'completed',\n FAILED = 'failed',\n TIMEOUT = 'timeout',\n}\n\n/**\n * Validation constants for job requests\n */\nexport const JobValidation = {\n MAX_CONTENT_LENGTH: 50000, // 50KB max content\n MAX_METADATA_SIZE: 10000, // 10KB max metadata JSON\n DEFAULT_TIMEOUT_MS: 30000, // 30 seconds\n MAX_TIMEOUT_MS: 300000, // 5 minutes\n MIN_TIMEOUT_MS: 1000, // 1 second\n} as const;\n\n/**\n * Request to create a new job\n */\nexport interface CreateJobRequest {\n /** Agent ID to send the message to (optional - uses first available agent if not provided) */\n agentId?: UUID;\n /** User ID sending the message */\n userId: UUID;\n /** Message content/prompt */\n content: string;\n /** Optional metadata */\n metadata?: Record<string, unknown>;\n /** Optional timeout in milliseconds (default: 30000ms, max: 300000ms) */\n timeoutMs?: number;\n}\n\n/**\n * Response when creating a job\n */\nexport interface CreateJobResponse {\n /** Unique job identifier */\n jobId: string;\n /** Status of the job */\n status: JobStatus;\n /** Timestamp when job was created */\n createdAt: number;\n /** Estimated timeout time */\n expiresAt: number;\n}\n\n/**\n * Job result structure\n */\nexport interface JobResult {\n /** Agent's response message */\n message: {\n id: UUID;\n content: string;\n authorId: UUID;\n createdAt: number;\n metadata?: Record<string, unknown>;\n };\n /** Processing time in milliseconds */\n processingTimeMs: number;\n}\n\n/**\n * Job details response\n */\nexport interface JobDetailsResponse {\n /** Unique job identifier */\n jobId: string;\n /** Current status */\n status: JobStatus;\n /** Agent ID */\n agentId: UUID;\n /** User ID */\n userId: UUID;\n /** Original prompt/content */\n prompt: string;\n /** Timestamp when job was created */\n createdAt: number;\n /** Timestamp when job will expire */\n expiresAt: number;\n /** Result (only available when status is COMPLETED) */\n result?: JobResult;\n /** Error message (only available when status is FAILED) */\n error?: string;\n /** Metadata */\n metadata?: Record<string, unknown>;\n}\n\n/**\n * Poll options for checking job status\n */\nexport interface PollOptions {\n /** Polling interval in milliseconds (default: 1000ms) */\n interval?: number;\n /** Maximum number of poll attempts (default: 30) */\n maxAttempts?: number;\n /** Total timeout in milliseconds (overrides maxAttempts if provided) */\n timeout?: number;\n /** Callback function called on each poll attempt */\n onProgress?: (status: JobDetailsResponse, attempt: number) => void;\n}\n\n/**\n * Health check response with metrics\n */\nexport interface JobHealthResponse {\n healthy: boolean;\n timestamp: number;\n totalJobs: number;\n statusCounts: {\n pending: number;\n processing: number;\n completed: number;\n failed: number;\n timeout: number;\n };\n metrics: {\n averageProcessingTimeMs: number;\n successRate: number;\n failureRate: number;\n timeoutRate: number;\n };\n maxJobs: number;\n}\n\n/**\n * Job list response\n */\nexport interface JobListResponse {\n jobs: JobDetailsResponse[];\n total: number;\n filtered: number;\n}\n\n/**\n * Parameters for listing jobs\n */\nexport interface ListJobsParams {\n /** Maximum number of jobs to return */\n limit?: number;\n /** Filter by job status */\n status?: JobStatus;\n}\n\n/**\n * Poll result wrapper\n */\nexport interface PollResult {\n /** Whether the job completed successfully */\n success: boolean;\n /** The final job response */\n job: JobDetailsResponse;\n /** Number of poll attempts made */\n attempts: number;\n /** Total time spent polling in milliseconds */\n timeMs: number;\n}\n\n\n",
|
|
16
|
+
"import { UUID } from '@elizaos/core';\nimport { BaseApiClient } from '../lib/base-client';\nimport {\n CreateJobRequest,\n CreateJobResponse,\n JobDetailsResponse,\n JobHealthResponse,\n JobListResponse,\n ListJobsParams,\n JobStatus,\n PollOptions,\n PollResult,\n} from '../types/jobs';\n\n/**\n * Jobs API Service - One-off messaging with automatic polling support\n *\n * The Jobs API provides a simplified interface for one-off messages to agents\n * with automatic response handling and polling capabilities.\n *\n * @example\n * ```typescript\n * const client = new ElizaClient({ baseUrl: 'http://localhost:3000' });\n *\n * // Create a job and poll for completion\n * const result = await client.jobs.createAndPoll({\n * userId: 'user-uuid',\n * content: 'What is the weather today?'\n * });\n *\n * console.log('Agent response:', result.job.result?.message.content);\n * ```\n */\nexport class JobsService extends BaseApiClient {\n /**\n * Create a new job (one-off message to agent)\n *\n * @param params - Job creation parameters\n * @returns Job creation response with jobId and initial status\n *\n * @example\n * ```typescript\n * const job = await client.jobs.create({\n * userId: 'user-uuid',\n * content: 'What is Bitcoin price?',\n * agentId: 'agent-uuid', // Optional - uses first available if not provided\n * timeoutMs: 60000, // Optional - default 30 seconds\n * metadata: { source: 'mobile-app' } // Optional\n * });\n *\n * console.log('Job created:', job.jobId);\n * ```\n */\n async create(params: CreateJobRequest): Promise<CreateJobResponse> {\n return this.post<CreateJobResponse>('/api/messaging/jobs', params);\n }\n\n /**\n * Get job status and details\n *\n * @param jobId - The job ID to retrieve\n * @returns Current job status and details\n *\n * @example\n * ```typescript\n * const job = await client.jobs.getJob('job-id-123');\n *\n * if (job.status === JobStatus.COMPLETED) {\n * console.log('Response:', job.result?.message.content);\n * } else if (job.status === JobStatus.FAILED) {\n * console.error('Error:', job.error);\n * }\n * ```\n */\n async getJob(jobId: string): Promise<JobDetailsResponse> {\n return this.get<JobDetailsResponse>(`/api/messaging/jobs/${jobId}`);\n }\n\n /**\n * List jobs with optional filtering\n *\n * @param params - Optional filtering and pagination parameters\n * @returns List of jobs matching the criteria\n *\n * @example\n * ```typescript\n * // Get all completed jobs\n * const completedJobs = await client.jobs.list({\n * status: JobStatus.COMPLETED,\n * limit: 10\n * });\n *\n * // Get all jobs (default limit: 50)\n * const allJobs = await client.jobs.list();\n * ```\n */\n async list(params?: ListJobsParams): Promise<JobListResponse> {\n return this.get<JobListResponse>('/api/messaging/jobs', { params });\n }\n\n /**\n * Get jobs API health status and metrics\n *\n * @returns Health status with metrics\n *\n * @example\n * ```typescript\n * const health = await client.jobs.health();\n * console.log('Success rate:', health.metrics.successRate);\n * console.log('Active jobs:', health.statusCounts.processing);\n * ```\n */\n async health(): Promise<JobHealthResponse> {\n return this.get<JobHealthResponse>('/api/messaging/jobs/health');\n }\n\n /**\n * Poll a job until completion, failure, or timeout\n *\n * This is a convenience method that handles polling logic automatically.\n * It will continue polling until the job reaches a terminal state (completed, failed, or timeout).\n *\n * @param jobId - The job ID to poll\n * @param options - Polling configuration options\n * @returns Poll result with final job status\n *\n * @example\n * ```typescript\n * const result = await client.jobs.poll('job-id-123', {\n * interval: 1000, // Poll every second\n * maxAttempts: 30, // Give up after 30 attempts\n * onProgress: (job, attempt) => {\n * console.log(`Attempt ${attempt}: ${job.status}`);\n * }\n * });\n *\n * if (result.success) {\n * console.log('Response:', result.job.result?.message.content);\n * } else {\n * console.error('Failed:', result.job.error);\n * }\n * ```\n */\n async poll(jobId: string, options: PollOptions = {}): Promise<PollResult> {\n const {\n interval = 1000,\n maxAttempts = 30,\n timeout,\n onProgress,\n } = options;\n\n const startTime = Date.now();\n let attempts = 0;\n\n // Calculate effective max attempts from timeout if provided\n const effectiveMaxAttempts = timeout\n ? Math.ceil(timeout / interval)\n : maxAttempts;\n\n while (attempts < effectiveMaxAttempts) {\n // Check timeout if provided\n if (timeout && Date.now() - startTime > timeout) {\n const job = await this.getJob(jobId);\n return {\n success: false,\n job,\n attempts,\n timeMs: Date.now() - startTime,\n };\n }\n\n // Wait before polling (except first attempt)\n if (attempts > 0) {\n await new Promise((resolve) => setTimeout(resolve, interval));\n }\n\n attempts++;\n\n // Get current job status\n const job = await this.getJob(jobId);\n\n // Call progress callback if provided\n if (onProgress) {\n onProgress(job, attempts);\n }\n\n // Check if job reached terminal state\n if (job.status === JobStatus.COMPLETED) {\n return {\n success: true,\n job,\n attempts,\n timeMs: Date.now() - startTime,\n };\n }\n\n if (job.status === JobStatus.FAILED || job.status === JobStatus.TIMEOUT) {\n return {\n success: false,\n job,\n attempts,\n timeMs: Date.now() - startTime,\n };\n }\n }\n\n // Max attempts reached\n const job = await this.getJob(jobId);\n return {\n success: false,\n job,\n attempts,\n timeMs: Date.now() - startTime,\n };\n }\n\n /**\n * Create a job and automatically poll until completion\n *\n * This is the most convenient method for simple use cases where you want to\n * send a message and wait for the response in one call.\n *\n * @param params - Job creation parameters\n * @param pollOptions - Optional polling configuration\n * @returns Poll result with final job status\n *\n * @example\n * ```typescript\n * // Simple usage\n * const result = await client.jobs.createAndPoll({\n * userId: 'user-uuid',\n * content: 'What is the weather today?'\n * });\n *\n * if (result.success) {\n * console.log('Agent:', result.job.result?.message.content);\n * }\n *\n * // With custom polling options\n * const result = await client.jobs.createAndPoll(\n * {\n * userId: 'user-uuid',\n * content: 'Complex analysis query',\n * timeoutMs: 120000\n * },\n * {\n * interval: 2000,\n * timeout: 120000,\n * onProgress: (job, attempt) => {\n * console.log(`Waiting... (${attempt})`);\n * }\n * }\n * );\n * ```\n */\n async createAndPoll(\n params: CreateJobRequest,\n pollOptions?: PollOptions\n ): Promise<PollResult> {\n const createResponse = await this.create(params);\n return this.poll(createResponse.jobId, pollOptions);\n }\n\n /**\n * Create a job and wait for completion with exponential backoff\n *\n * Similar to createAndPoll but uses exponential backoff for polling,\n * which can be more efficient for longer-running jobs.\n *\n * @param params - Job creation parameters\n * @param options - Backoff configuration\n * @returns Poll result with final job status\n *\n * @example\n * ```typescript\n * const result = await client.jobs.createAndPollWithBackoff({\n * userId: 'user-uuid',\n * content: 'Analyze this complex data set'\n * }, {\n * initialInterval: 500,\n * maxInterval: 5000,\n * multiplier: 1.5,\n * maxAttempts: 40\n * });\n * ```\n */\n async createAndPollWithBackoff(\n params: CreateJobRequest,\n options: {\n initialInterval?: number;\n maxInterval?: number;\n multiplier?: number;\n maxAttempts?: number;\n timeout?: number;\n onProgress?: (status: JobDetailsResponse, attempt: number) => void;\n } = {}\n ): Promise<PollResult> {\n const {\n initialInterval = 500,\n maxInterval = 5000,\n multiplier = 1.5,\n maxAttempts = 40,\n timeout,\n onProgress,\n } = options;\n\n const createResponse = await this.create(params);\n const jobId = createResponse.jobId;\n\n const startTime = Date.now();\n let attempts = 0;\n let currentInterval = initialInterval;\n\n while (attempts < maxAttempts) {\n // Check timeout if provided\n if (timeout && Date.now() - startTime > timeout) {\n const job = await this.getJob(jobId);\n return {\n success: false,\n job,\n attempts,\n timeMs: Date.now() - startTime,\n };\n }\n\n // Wait before polling (except first attempt)\n if (attempts > 0) {\n await new Promise((resolve) => setTimeout(resolve, currentInterval));\n // Increase interval with exponential backoff\n currentInterval = Math.min(currentInterval * multiplier, maxInterval);\n }\n\n attempts++;\n\n // Get current job status\n const job = await this.getJob(jobId);\n\n // Call progress callback if provided\n if (onProgress) {\n onProgress(job, attempts);\n }\n\n // Check if job reached terminal state\n if (job.status === JobStatus.COMPLETED) {\n return {\n success: true,\n job,\n attempts,\n timeMs: Date.now() - startTime,\n };\n }\n\n if (job.status === JobStatus.FAILED || job.status === JobStatus.TIMEOUT) {\n return {\n success: false,\n job,\n attempts,\n timeMs: Date.now() - startTime,\n };\n }\n }\n\n // Max attempts reached\n const job = await this.getJob(jobId);\n return {\n success: false,\n job,\n attempts,\n timeMs: Date.now() - startTime,\n };\n }\n\n /**\n * Convenience method to ask a question and get the response\n *\n * This is a simplified interface that abstracts away the job ID and returns\n * the agent's response content directly. Throws an error if the job fails.\n *\n * @param userId - User ID sending the message\n * @param content - Message content/question\n * @param agentId - Optional agent ID to target\n * @param pollOptions - Optional polling configuration\n * @returns The agent's response content\n * @throws Error if the job fails or times out\n *\n * @example\n * ```typescript\n * try {\n * const response = await client.jobs.ask(\n * 'user-uuid',\n * 'What is the price of Bitcoin?'\n * );\n * console.log('Agent says:', response);\n * } catch (error) {\n * console.error('Failed to get response:', error.message);\n * }\n * ```\n */\n async ask(\n userId: UUID,\n content: string,\n agentId?: UUID,\n pollOptions?: PollOptions\n ): Promise<string> {\n const result = await this.createAndPoll(\n {\n userId,\n content,\n ...(agentId && { agentId }),\n },\n pollOptions\n );\n\n if (!result.success || !result.job.result) {\n throw new Error(\n result.job.error || 'Job failed or timed out without a response'\n );\n }\n\n return result.job.result.message.content;\n }\n}\n\n",
|
|
17
|
+
"import { ApiClientConfig } from './types/base';\nimport { AgentsService } from './services/agents';\nimport { MessagingService } from './services/messaging';\nimport { MemoryService } from './services/memory';\nimport { AudioService } from './services/audio';\nimport { MediaService } from './services/media';\nimport { ServerService } from './services/server';\nimport { SystemService } from './services/system';\nimport { SessionsService } from './services/sessions';\nimport { RunsService } from './services/runs';\nimport { JobsService } from './services/jobs';\n\nexport class ElizaClient {\n public readonly agents: AgentsService;\n public readonly messaging: MessagingService;\n public readonly memory: MemoryService;\n public readonly audio: AudioService;\n public readonly media: MediaService;\n public readonly server: ServerService;\n public readonly system: SystemService;\n public readonly sessions: SessionsService;\n public readonly runs: RunsService;\n public readonly jobs: JobsService;\n\n constructor(config: ApiClientConfig) {\n // Initialize all services with the same config\n this.agents = new AgentsService(config);\n this.messaging = new MessagingService(config);\n this.memory = new MemoryService(config);\n this.audio = new AudioService(config);\n this.media = new MediaService(config);\n this.server = new ServerService(config);\n this.system = new SystemService(config);\n this.sessions = new SessionsService(config);\n this.runs = new RunsService(config);\n this.jobs = new JobsService(config);\n }\n\n /**\n * Create a new ElizaClient instance\n */\n static create(config: ApiClientConfig): ElizaClient {\n return new ElizaClient(config);\n }\n}\n"
|
|
16
18
|
],
|
|
17
|
-
"mappings": "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",
|
|
18
|
-
"debugId": "
|
|
19
|
+
"mappings": "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",
|
|
20
|
+
"debugId": "3A0EC8AE9EE602D164756E2164756E21",
|
|
19
21
|
"names": []
|
|
20
22
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@elizaos/api-client",
|
|
3
|
-
"version": "1.6.4-alpha.
|
|
3
|
+
"version": "1.6.4-alpha.7",
|
|
4
4
|
"main": "dist/index.js",
|
|
5
5
|
"types": "dist/index.d.ts",
|
|
6
6
|
"module": "dist/index.js",
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
"typecheck": "tsc --noEmit"
|
|
16
16
|
},
|
|
17
17
|
"dependencies": {
|
|
18
|
-
"@elizaos/core": "1.6.4-alpha.
|
|
18
|
+
"@elizaos/core": "1.6.4-alpha.7"
|
|
19
19
|
},
|
|
20
20
|
"devDependencies": {
|
|
21
21
|
"@types/bun": "^1.2.21",
|
|
@@ -29,5 +29,5 @@
|
|
|
29
29
|
"publishConfig": {
|
|
30
30
|
"access": "public"
|
|
31
31
|
},
|
|
32
|
-
"gitHead": "
|
|
32
|
+
"gitHead": "1f0ea70997ea388b0599c4678a37561ac7cbd4af"
|
|
33
33
|
}
|