@elizaos/core 1.5.1 → 1.5.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/dist/browser/index.browser.js +120 -120
- package/dist/browser/index.browser.js.map +5 -21
- package/dist/browser/index.d.ts +3 -1
- package/dist/index.d.ts +2 -3
- package/dist/index.js +1 -5
- package/dist/node/index.d.ts +3 -1
- package/package.json +10 -4
- package/src/__tests__/action-chaining-simple.test.ts +203 -0
- package/src/__tests__/actions.test.ts +218 -0
- package/src/__tests__/buffer.test.ts +337 -0
- package/src/__tests__/character-validation.test.ts +309 -0
- package/src/__tests__/database.test.ts +750 -0
- package/src/__tests__/entities.test.ts +727 -0
- package/src/__tests__/env.test.ts +23 -0
- package/src/__tests__/environment.test.ts +285 -0
- package/src/__tests__/logger-browser-node.test.ts +716 -0
- package/src/__tests__/logger.test.ts +403 -0
- package/src/__tests__/messages.test.ts +196 -0
- package/src/__tests__/mockCharacter.ts +544 -0
- package/src/__tests__/parsing.test.ts +58 -0
- package/src/__tests__/prompts.test.ts +159 -0
- package/src/__tests__/roles.test.ts +331 -0
- package/src/__tests__/runtime-embedding.test.ts +343 -0
- package/src/__tests__/runtime.test.ts +978 -0
- package/src/__tests__/search.test.ts +15 -0
- package/src/__tests__/services-by-type.test.ts +204 -0
- package/src/__tests__/services.test.ts +136 -0
- package/src/__tests__/settings.test.ts +810 -0
- package/src/__tests__/utils.test.ts +1105 -0
- package/src/__tests__/uuid.test.ts +94 -0
- package/src/actions.ts +122 -0
- package/src/database.ts +579 -0
- package/src/entities.ts +406 -0
- package/src/index.browser.ts +48 -0
- package/src/index.node.ts +39 -0
- package/src/index.ts +50 -0
- package/src/logger.ts +527 -0
- package/src/prompts.ts +243 -0
- package/src/roles.ts +85 -0
- package/src/runtime.ts +2514 -0
- package/src/schemas/character.ts +149 -0
- package/src/search.ts +1543 -0
- package/src/sentry/instrument.browser.ts +65 -0
- package/src/sentry/instrument.node.ts +57 -0
- package/src/sentry/instrument.ts +82 -0
- package/src/services.ts +105 -0
- package/src/settings.ts +409 -0
- package/src/test_resources/constants.ts +12 -0
- package/src/test_resources/testSetup.ts +21 -0
- package/src/test_resources/types.ts +22 -0
- package/src/types/agent.ts +112 -0
- package/src/types/browser.ts +145 -0
- package/src/types/components.ts +184 -0
- package/src/types/database.ts +348 -0
- package/src/types/email.ts +162 -0
- package/src/types/environment.ts +129 -0
- package/src/types/events.ts +249 -0
- package/src/types/index.ts +29 -0
- package/src/types/knowledge.ts +65 -0
- package/src/types/lp.ts +124 -0
- package/src/types/memory.ts +228 -0
- package/src/types/message.ts +233 -0
- package/src/types/messaging.ts +57 -0
- package/src/types/model.ts +359 -0
- package/src/types/pdf.ts +77 -0
- package/src/types/plugin.ts +78 -0
- package/src/types/post.ts +271 -0
- package/src/types/primitives.ts +97 -0
- package/src/types/runtime.ts +190 -0
- package/src/types/service.ts +198 -0
- package/src/types/settings.ts +30 -0
- package/src/types/state.ts +60 -0
- package/src/types/task.ts +72 -0
- package/src/types/tee.ts +107 -0
- package/src/types/testing.ts +30 -0
- package/src/types/token.ts +96 -0
- package/src/types/transcription.ts +133 -0
- package/src/types/video.ts +108 -0
- package/src/types/wallet.ts +56 -0
- package/src/types/web-search.ts +146 -0
- package/src/utils/__tests__/buffer.test.ts +80 -0
- package/src/utils/__tests__/environment.test.ts +58 -0
- package/src/utils/__tests__/stringToUuid.test.ts +88 -0
- package/src/utils/buffer.ts +312 -0
- package/src/utils/environment.ts +316 -0
- package/src/utils/server-health.ts +117 -0
- package/src/utils.ts +1076 -0
- package/dist/tsconfig.build.tsbuildinfo +0 -1
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Server health check utilities for waiting for servers to be ready
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
export interface ServerHealthOptions {
|
|
6
|
+
port: number;
|
|
7
|
+
endpoint?: string;
|
|
8
|
+
maxWaitTime?: number;
|
|
9
|
+
pollInterval?: number;
|
|
10
|
+
requestTimeout?: number;
|
|
11
|
+
host?: string;
|
|
12
|
+
protocol?: 'http' | 'https';
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* Wait for server to be ready by polling health endpoint
|
|
17
|
+
* @param options - Configuration options for server health check
|
|
18
|
+
*/
|
|
19
|
+
export async function waitForServerReady(options: ServerHealthOptions): Promise<void> {
|
|
20
|
+
const {
|
|
21
|
+
port,
|
|
22
|
+
endpoint = '/api/agents',
|
|
23
|
+
maxWaitTime = 30000, // 30 seconds default
|
|
24
|
+
pollInterval = 1000, // 1 second
|
|
25
|
+
requestTimeout = 2000, // 2 seconds
|
|
26
|
+
host = 'localhost',
|
|
27
|
+
protocol = 'http',
|
|
28
|
+
} = options;
|
|
29
|
+
|
|
30
|
+
const url = `${protocol}://${host}:${port}${endpoint}`;
|
|
31
|
+
const startTime = Date.now();
|
|
32
|
+
|
|
33
|
+
while (Date.now() - startTime < maxWaitTime) {
|
|
34
|
+
let controller: AbortController | undefined;
|
|
35
|
+
let timeoutId: NodeJS.Timeout | undefined;
|
|
36
|
+
|
|
37
|
+
try {
|
|
38
|
+
controller = new AbortController();
|
|
39
|
+
timeoutId = setTimeout(() => {
|
|
40
|
+
if (controller) {
|
|
41
|
+
controller.abort();
|
|
42
|
+
}
|
|
43
|
+
}, requestTimeout);
|
|
44
|
+
|
|
45
|
+
const response = await fetch(url, {
|
|
46
|
+
signal: controller.signal,
|
|
47
|
+
});
|
|
48
|
+
|
|
49
|
+
if (timeoutId) {
|
|
50
|
+
clearTimeout(timeoutId);
|
|
51
|
+
timeoutId = undefined;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
if (response.ok) {
|
|
55
|
+
// Server is ready, give it one more second to stabilize
|
|
56
|
+
await new Promise((resolve) => setTimeout(resolve, 1000));
|
|
57
|
+
return;
|
|
58
|
+
}
|
|
59
|
+
} catch (error) {
|
|
60
|
+
// Server not ready yet, continue polling
|
|
61
|
+
} finally {
|
|
62
|
+
// Ensure cleanup happens even if there's an exception
|
|
63
|
+
if (timeoutId) {
|
|
64
|
+
clearTimeout(timeoutId);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
await new Promise((resolve) => setTimeout(resolve, pollInterval));
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
throw new Error(`Server failed to become ready at ${url} within ${maxWaitTime}ms`);
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
/**
|
|
75
|
+
* Simple ping check for server availability (no stabilization wait)
|
|
76
|
+
* @param options - Configuration options for server ping
|
|
77
|
+
*/
|
|
78
|
+
export async function pingServer(options: ServerHealthOptions): Promise<boolean> {
|
|
79
|
+
const {
|
|
80
|
+
port,
|
|
81
|
+
endpoint = '/api/agents',
|
|
82
|
+
requestTimeout = 2000,
|
|
83
|
+
host = 'localhost',
|
|
84
|
+
protocol = 'http',
|
|
85
|
+
} = options;
|
|
86
|
+
|
|
87
|
+
const url = `${protocol}://${host}:${port}${endpoint}`;
|
|
88
|
+
let controller: AbortController | undefined;
|
|
89
|
+
let timeoutId: NodeJS.Timeout | undefined;
|
|
90
|
+
|
|
91
|
+
try {
|
|
92
|
+
controller = new AbortController();
|
|
93
|
+
timeoutId = setTimeout(() => {
|
|
94
|
+
if (controller) {
|
|
95
|
+
controller.abort();
|
|
96
|
+
}
|
|
97
|
+
}, requestTimeout);
|
|
98
|
+
|
|
99
|
+
const response = await fetch(url, {
|
|
100
|
+
signal: controller.signal,
|
|
101
|
+
});
|
|
102
|
+
|
|
103
|
+
if (timeoutId) {
|
|
104
|
+
clearTimeout(timeoutId);
|
|
105
|
+
timeoutId = undefined;
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
return response.ok;
|
|
109
|
+
} catch (error) {
|
|
110
|
+
return false;
|
|
111
|
+
} finally {
|
|
112
|
+
// Ensure cleanup happens even if there's an exception
|
|
113
|
+
if (timeoutId) {
|
|
114
|
+
clearTimeout(timeoutId);
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
}
|