@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.
Files changed (88) hide show
  1. package/dist/browser/index.browser.js +120 -120
  2. package/dist/browser/index.browser.js.map +5 -21
  3. package/dist/browser/index.d.ts +3 -1
  4. package/dist/index.d.ts +2 -3
  5. package/dist/index.js +1 -5
  6. package/dist/node/index.d.ts +3 -1
  7. package/package.json +10 -4
  8. package/src/__tests__/action-chaining-simple.test.ts +203 -0
  9. package/src/__tests__/actions.test.ts +218 -0
  10. package/src/__tests__/buffer.test.ts +337 -0
  11. package/src/__tests__/character-validation.test.ts +309 -0
  12. package/src/__tests__/database.test.ts +750 -0
  13. package/src/__tests__/entities.test.ts +727 -0
  14. package/src/__tests__/env.test.ts +23 -0
  15. package/src/__tests__/environment.test.ts +285 -0
  16. package/src/__tests__/logger-browser-node.test.ts +716 -0
  17. package/src/__tests__/logger.test.ts +403 -0
  18. package/src/__tests__/messages.test.ts +196 -0
  19. package/src/__tests__/mockCharacter.ts +544 -0
  20. package/src/__tests__/parsing.test.ts +58 -0
  21. package/src/__tests__/prompts.test.ts +159 -0
  22. package/src/__tests__/roles.test.ts +331 -0
  23. package/src/__tests__/runtime-embedding.test.ts +343 -0
  24. package/src/__tests__/runtime.test.ts +978 -0
  25. package/src/__tests__/search.test.ts +15 -0
  26. package/src/__tests__/services-by-type.test.ts +204 -0
  27. package/src/__tests__/services.test.ts +136 -0
  28. package/src/__tests__/settings.test.ts +810 -0
  29. package/src/__tests__/utils.test.ts +1105 -0
  30. package/src/__tests__/uuid.test.ts +94 -0
  31. package/src/actions.ts +122 -0
  32. package/src/database.ts +579 -0
  33. package/src/entities.ts +406 -0
  34. package/src/index.browser.ts +48 -0
  35. package/src/index.node.ts +39 -0
  36. package/src/index.ts +50 -0
  37. package/src/logger.ts +527 -0
  38. package/src/prompts.ts +243 -0
  39. package/src/roles.ts +85 -0
  40. package/src/runtime.ts +2514 -0
  41. package/src/schemas/character.ts +149 -0
  42. package/src/search.ts +1543 -0
  43. package/src/sentry/instrument.browser.ts +65 -0
  44. package/src/sentry/instrument.node.ts +57 -0
  45. package/src/sentry/instrument.ts +82 -0
  46. package/src/services.ts +105 -0
  47. package/src/settings.ts +409 -0
  48. package/src/test_resources/constants.ts +12 -0
  49. package/src/test_resources/testSetup.ts +21 -0
  50. package/src/test_resources/types.ts +22 -0
  51. package/src/types/agent.ts +112 -0
  52. package/src/types/browser.ts +145 -0
  53. package/src/types/components.ts +184 -0
  54. package/src/types/database.ts +348 -0
  55. package/src/types/email.ts +162 -0
  56. package/src/types/environment.ts +129 -0
  57. package/src/types/events.ts +249 -0
  58. package/src/types/index.ts +29 -0
  59. package/src/types/knowledge.ts +65 -0
  60. package/src/types/lp.ts +124 -0
  61. package/src/types/memory.ts +228 -0
  62. package/src/types/message.ts +233 -0
  63. package/src/types/messaging.ts +57 -0
  64. package/src/types/model.ts +359 -0
  65. package/src/types/pdf.ts +77 -0
  66. package/src/types/plugin.ts +78 -0
  67. package/src/types/post.ts +271 -0
  68. package/src/types/primitives.ts +97 -0
  69. package/src/types/runtime.ts +190 -0
  70. package/src/types/service.ts +198 -0
  71. package/src/types/settings.ts +30 -0
  72. package/src/types/state.ts +60 -0
  73. package/src/types/task.ts +72 -0
  74. package/src/types/tee.ts +107 -0
  75. package/src/types/testing.ts +30 -0
  76. package/src/types/token.ts +96 -0
  77. package/src/types/transcription.ts +133 -0
  78. package/src/types/video.ts +108 -0
  79. package/src/types/wallet.ts +56 -0
  80. package/src/types/web-search.ts +146 -0
  81. package/src/utils/__tests__/buffer.test.ts +80 -0
  82. package/src/utils/__tests__/environment.test.ts +58 -0
  83. package/src/utils/__tests__/stringToUuid.test.ts +88 -0
  84. package/src/utils/buffer.ts +312 -0
  85. package/src/utils/environment.ts +316 -0
  86. package/src/utils/server-health.ts +117 -0
  87. package/src/utils.ts +1076 -0
  88. 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
+ }