@elizaos/core 1.6.5 → 1.7.0-beta.0
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 +121 -121
- package/dist/browser/index.browser.js.map +32 -29
- package/dist/database.d.ts +4 -7
- package/dist/database.d.ts.map +1 -1
- package/dist/elizaos.d.ts +13 -54
- package/dist/elizaos.d.ts.map +1 -1
- package/dist/entities.d.ts +0 -8
- package/dist/entities.d.ts.map +1 -1
- package/dist/index.browser.d.ts +1 -0
- package/dist/index.browser.d.ts.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.node.d.ts +2 -0
- package/dist/index.node.d.ts.map +1 -1
- package/dist/logger.d.ts +26 -0
- package/dist/logger.d.ts.map +1 -1
- package/dist/node/index.node.js +1377 -1116
- package/dist/node/index.node.js.map +34 -31
- package/dist/plugin.d.ts.map +1 -1
- package/dist/roles.d.ts +0 -6
- package/dist/roles.d.ts.map +1 -1
- package/dist/runtime.d.ts +22 -19
- package/dist/runtime.d.ts.map +1 -1
- package/dist/schemas/character.d.ts +2 -2
- package/dist/schemas/character.d.ts.map +1 -1
- package/dist/search.d.ts +8 -8
- package/dist/search.d.ts.map +1 -1
- package/dist/services/default-message-service.d.ts.map +1 -1
- package/dist/services/message-service.d.ts +11 -2
- package/dist/services/message-service.d.ts.map +1 -1
- package/dist/services.d.ts +10 -2
- package/dist/services.d.ts.map +1 -1
- package/dist/settings.d.ts +9 -9
- package/dist/settings.d.ts.map +1 -1
- package/dist/streaming-context.browser.d.ts +27 -0
- package/dist/streaming-context.browser.d.ts.map +1 -0
- package/dist/streaming-context.d.ts +79 -0
- package/dist/streaming-context.d.ts.map +1 -0
- package/dist/streaming-context.node.d.ts +16 -0
- package/dist/streaming-context.node.d.ts.map +1 -0
- package/dist/types/agent.d.ts +1 -1
- package/dist/types/agent.d.ts.map +1 -1
- package/dist/types/components.d.ts +2 -2
- package/dist/types/components.d.ts.map +1 -1
- package/dist/types/database.d.ts +93 -8
- package/dist/types/database.d.ts.map +1 -1
- package/dist/types/elizaos.d.ts +53 -25
- package/dist/types/elizaos.d.ts.map +1 -1
- package/dist/types/events.d.ts +15 -4
- package/dist/types/events.d.ts.map +1 -1
- package/dist/types/index.d.ts +2 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/messaging.d.ts +51 -0
- package/dist/types/messaging.d.ts.map +1 -1
- package/dist/types/model.d.ts +119 -12
- package/dist/types/model.d.ts.map +1 -1
- package/dist/types/plugin.d.ts +35 -7
- package/dist/types/plugin.d.ts.map +1 -1
- package/dist/types/primitives.d.ts +6 -0
- package/dist/types/primitives.d.ts.map +1 -1
- package/dist/types/runtime.d.ts +35 -14
- package/dist/types/runtime.d.ts.map +1 -1
- package/dist/types/service.d.ts +7 -5
- package/dist/types/service.d.ts.map +1 -1
- package/dist/types/settings.d.ts +2 -2
- package/dist/types/settings.d.ts.map +1 -1
- package/dist/types/state.d.ts +42 -7
- package/dist/types/state.d.ts.map +1 -1
- package/dist/types/streaming.d.ts +46 -0
- package/dist/types/streaming.d.ts.map +1 -0
- package/dist/utils/buffer.d.ts +1 -1
- package/dist/utils/buffer.d.ts.map +1 -1
- package/dist/utils/crypto-compat.d.ts.map +1 -1
- package/dist/utils/environment.d.ts.map +1 -1
- package/dist/utils/paths.d.ts.map +1 -1
- package/dist/utils/server-health.d.ts.map +1 -1
- package/dist/utils/streaming.d.ts +116 -0
- package/dist/utils/streaming.d.ts.map +1 -0
- package/dist/utils.d.ts +10 -4
- package/dist/utils.d.ts.map +1 -1
- package/package.json +3 -3
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Streaming type definitions.
|
|
3
|
+
*
|
|
4
|
+
* This module defines the interface contract for stream content extractors.
|
|
5
|
+
* Implementations are in utils/streaming.ts.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Interface for stream content extractors.
|
|
9
|
+
*
|
|
10
|
+
* Implementations decide HOW to filter LLM output for streaming.
|
|
11
|
+
* Could be XML parsing, JSON parsing, plain text passthrough, or custom logic.
|
|
12
|
+
*
|
|
13
|
+
* The framework doesn't care about format - that's implementation choice.
|
|
14
|
+
*
|
|
15
|
+
* Usage: Create a new instance for each stream. Don't reuse instances.
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
* ```ts
|
|
19
|
+
* // Simple passthrough - streams everything as-is
|
|
20
|
+
* const extractor = new PassthroughExtractor();
|
|
21
|
+
*
|
|
22
|
+
* // XML tag extraction - extracts content from <text> tag
|
|
23
|
+
* const extractor = new XmlTagExtractor('text');
|
|
24
|
+
*
|
|
25
|
+
* // Action-aware XML (DefaultMessageService)
|
|
26
|
+
* const extractor = new ResponseStreamExtractor();
|
|
27
|
+
*
|
|
28
|
+
* // Custom implementation
|
|
29
|
+
* class MyExtractor implements IStreamExtractor {
|
|
30
|
+
* private _done = false;
|
|
31
|
+
* get done() { return this._done; }
|
|
32
|
+
* push(chunk: string) { return this.myCustomLogic(chunk); }
|
|
33
|
+
* }
|
|
34
|
+
* ```
|
|
35
|
+
*/
|
|
36
|
+
export interface IStreamExtractor {
|
|
37
|
+
/** Whether extraction is complete (no more content expected from this stream) */
|
|
38
|
+
readonly done: boolean;
|
|
39
|
+
/**
|
|
40
|
+
* Process a chunk from the LLM stream.
|
|
41
|
+
* @param chunk - Raw chunk from LLM
|
|
42
|
+
* @returns Text to stream to client (empty string = nothing to stream yet)
|
|
43
|
+
*/
|
|
44
|
+
push(chunk: string): string;
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=streaming.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"streaming.d.ts","sourceRoot":"","sources":["../../src/types/streaming.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,WAAW,gBAAgB;IAC/B,iFAAiF;IACjF,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IAEvB;;;;OAIG;IACH,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;CAC7B"}
|
package/dist/utils/buffer.d.ts
CHANGED
|
@@ -41,7 +41,7 @@ export declare function toString(buffer: BufferLike, encoding?: 'utf8' | 'utf-8'
|
|
|
41
41
|
* @param obj - The object to check
|
|
42
42
|
* @returns True if the object is buffer-like
|
|
43
43
|
*/
|
|
44
|
-
export declare function isBuffer(obj:
|
|
44
|
+
export declare function isBuffer(obj: unknown): obj is BufferLike;
|
|
45
45
|
/**
|
|
46
46
|
* Create a buffer of a specific size filled with zeros
|
|
47
47
|
* @param size - The size of the buffer
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buffer.d.ts","sourceRoot":"","sources":["../../src/utils/buffer.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"buffer.d.ts","sourceRoot":"","sources":["../../src/utils/buffer.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,UAAU,CAAC;AAiB7C;;;;GAIG;AACH,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,CAiB/C;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CACxB,GAAG,EAAE,MAAM,EACX,QAAQ,GAAE,MAAM,GAAG,OAAO,GAAG,QAAiB,GAC7C,UAAU,CAqBZ;AAED;;;;GAIG;AACH,wBAAgB,KAAK,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,CAchD;AAED;;;;;GAKG;AACH,wBAAgB,QAAQ,CACtB,MAAM,EAAE,UAAU,EAClB,QAAQ,GAAE,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,KAAc,GACrD,MAAM,CA0BR;AAED;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,UAAU,CAkBxD;AAED;;;;GAIG;AACH,wBAAgB,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAM9C;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,UAAU,GAAG,UAAU,CAMlE;AAED;;;;GAIG;AACH,wBAAgB,MAAM,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,UAAU,CAsBxD;AAED;;;;;;GAMG;AACH,wBAAgB,KAAK,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,UAAU,CAOjF;AAED;;;;;GAKG;AACH,wBAAgB,MAAM,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,UAAU,GAAG,OAAO,CAe5D;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,CAErD;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAwBpD;AAGD,eAAO,MAAM,WAAW;;;;;;;;;;;;;CAavB,CAAC;AAGF,YAAY,EAAE,UAAU,IAAI,MAAM,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crypto-compat.d.ts","sourceRoot":"","sources":["../../src/utils/crypto-compat.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;
|
|
1
|
+
{"version":3,"file":"crypto-compat.d.ts","sourceRoot":"","sources":["../../src/utils/crypto-compat.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AA+CH;;;;;;GAMG;AACH,iBAAe,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAuBrF;AAED;;;;;;;GAOG;AACH,iBAAe,gBAAgB,CAC7B,GAAG,EAAE,UAAU,EACf,EAAE,EAAE,UAAU,EACd,IAAI,EAAE,UAAU,GACf,OAAO,CAAC,UAAU,CAAC,CA+BrB;AAED;;;;;;;GAOG;AACH,iBAAe,gBAAgB,CAC7B,GAAG,EAAE,UAAU,EACf,EAAE,EAAE,UAAU,EACd,IAAI,EAAE,UAAU,GACf,OAAO,CAAC,UAAU,CAAC,CA+BrB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG;IAC7C,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC;IACjE,MAAM,IAAI,UAAU,CAAC;CACtB,CAaA;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,eAAe,CACnC,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,GAAG,UAAU,GACxB,OAAO,CAAC,UAAU,CAAC,CAarB;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,cAAc,CAC5B,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,UAAU,EACf,EAAE,EAAE,UAAU,GACb;IACD,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5E,KAAK,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC;CACjC,CA0BA;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,UAAU,EACf,EAAE,EAAE,UAAU,GACb;IACD,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5E,KAAK,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC;CACjC,CA0BA;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,YAAY,CAChC,GAAG,EAAE,UAAU,EACf,EAAE,EAAE,UAAU,EACd,IAAI,EAAE,UAAU,GACf,OAAO,CAAC,UAAU,CAAC,CAgCrB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAsB,YAAY,CAChC,GAAG,EAAE,UAAU,EACf,EAAE,EAAE,UAAU,EACd,IAAI,EAAE,UAAU,GACf,OAAO,CAAC,UAAU,CAAC,CAgCrB;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,SAAS;;;;CAIrB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"environment.d.ts","sourceRoot":"","sources":["../../src/utils/environment.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,CAAC;AAEhE;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,CAAC;CACtD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,kBAAkB,
|
|
1
|
+
{"version":3,"file":"environment.d.ts","sourceRoot":"","sources":["../../src/utils/environment.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,CAAC;AAEhE;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,CAAC;CACtD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,kBAAkB,CAsBtD;AAkDD;;GAEG;AACH,cAAM,WAAW;IACf,OAAO,CAAC,OAAO,CAAqB;IACpC,OAAO,CAAC,YAAY,CAAC,CAA0B;IAC/C,OAAO,CAAC,KAAK,CAA8C;;IAU3D;;OAEG;IACH,UAAU,IAAI,kBAAkB;IAIhC;;OAEG;IACH,MAAM,IAAI,OAAO;IAIjB;;OAEG;IACH,SAAS,IAAI,OAAO;IAIpB;;OAEG;IACH,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAkC3D;;OAEG;IACH,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,IAAI;IAqBxD;;OAEG;IACH,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAKzB;;OAEG;IACH,MAAM,IAAI,iBAAiB;IAkB3B;;OAEG;IACH,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,UAAQ,GAAG,OAAO;IAWtD;;OAEG;IACH,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAWjE;;OAEG;IACH,UAAU,IAAI,IAAI;CAGnB;AAOD;;GAEG;AACH,wBAAgB,cAAc,IAAI,WAAW,CAK5C;AAED;;GAEG;AACH,wBAAgB,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAE7E;AAED;;GAEG;AACH,wBAAgB,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,IAAI,CAE1E;AAED;;GAEG;AACH,wBAAgB,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAE3C;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,UAAQ,GAAG,OAAO,CAExE;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAEnF;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI,CAStE;AAED;;GAEG;AACH,eAAO,MAAM,cAAc,oBAAsB,CAAC;AAElD;;GAEG;AACH,OAAO,EAAE,WAAW,EAAE,CAAC;AAMvB;;;;;;;GAOG;AACH,wBAAgB,WAAW,CACzB,QAAQ,CAAC,EAAE,MAAM,EACjB,SAAS,GAAE,MAAM,EAA2B,GAC3C,MAAM,GAAG,IAAI,CA+Bf;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,WAAW,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CA4BrD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../src/utils/paths.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../src/utils/paths.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAiBH;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAED;;;GAGG;AACH,cAAM,UAAU;IACd,OAAO,CAAC,KAAK,CAAkC;IAE/C;;OAEG;IACH,UAAU,IAAI,MAAM;IAapB;;OAEG;IACH,cAAc,IAAI,MAAM;IAYxB;;OAEG;IACH,gBAAgB,IAAI,MAAM;IAW1B;;OAEG;IACH,eAAe,IAAI,MAAM;IAWzB;;OAEG;IACH,mBAAmB,IAAI,MAAM;IAW7B;;OAEG;IACH,qBAAqB,IAAI,MAAM;IAW/B;;OAEG;IACH,WAAW,IAAI,gBAAgB;IAW/B;;OAEG;IACH,UAAU,IAAI,IAAI;CAGnB;AAOD;;GAEG;AACH,wBAAgB,aAAa,IAAI,UAAU,CAK1C;AAED;;GAEG;AACH,wBAAgB,UAAU,IAAI,MAAM,CAEnC;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI,MAAM,CAEvC;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,MAAM,CAExC;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,CAE5C;AAED;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,CAE9C;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,gBAAgB,CAEnD;AAED;;GAEG;AACH,wBAAgB,UAAU,IAAI,IAAI,CAKjC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server-health.d.ts","sourceRoot":"","sources":["../../src/utils/server-health.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CAC7B;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"server-health.d.ts","sourceRoot":"","sources":["../../src/utils/server-health.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CAC7B;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC,CA4CpF;AAED;;;GAGG;AACH,wBAAsB,UAAU,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,OAAO,CAAC,CA8B/E"}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Streaming utilities for filtering and extracting streamable content.
|
|
3
|
+
*
|
|
4
|
+
* This module provides implementations of {@link IStreamExtractor}:
|
|
5
|
+
* - PassthroughExtractor - Simple passthrough (no filtering)
|
|
6
|
+
* - XmlTagExtractor - Extract content from a specific XML tag
|
|
7
|
+
* - ResponseStreamExtractor - Action-aware XML (for DefaultMessageService)
|
|
8
|
+
* - ActionStreamFilter - Content-type aware filter (for action handlers)
|
|
9
|
+
*
|
|
10
|
+
* For the interface definition, see types/streaming.ts.
|
|
11
|
+
* Implementations can use these or create their own extractors.
|
|
12
|
+
*/
|
|
13
|
+
import type { IStreamExtractor } from '../types/streaming';
|
|
14
|
+
export type { IStreamExtractor } from '../types/streaming';
|
|
15
|
+
/** Error codes for streaming operations */
|
|
16
|
+
export type StreamErrorCode = 'CHUNK_TOO_LARGE' | 'BUFFER_OVERFLOW' | 'PARSE_ERROR' | 'TIMEOUT' | 'ABORTED';
|
|
17
|
+
/**
|
|
18
|
+
* Standardized error class for streaming operations.
|
|
19
|
+
* Provides structured error codes for easier handling.
|
|
20
|
+
*/
|
|
21
|
+
export declare class StreamError extends Error {
|
|
22
|
+
readonly code: StreamErrorCode;
|
|
23
|
+
readonly details?: Record<string, unknown>;
|
|
24
|
+
constructor(code: StreamErrorCode, message: string, details?: Record<string, unknown>);
|
|
25
|
+
/** Check if an error is a StreamError */
|
|
26
|
+
static isStreamError(error: unknown): error is StreamError;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Streams all content as-is without any filtering.
|
|
30
|
+
* Use when LLM output is already in the desired format (e.g., plain text responses).
|
|
31
|
+
*/
|
|
32
|
+
export declare class PassthroughExtractor implements IStreamExtractor {
|
|
33
|
+
get done(): boolean;
|
|
34
|
+
push(chunk: string): string;
|
|
35
|
+
reset(): void;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Extracts content from a specific XML tag, streaming it progressively.
|
|
39
|
+
* Use when you have a simple XML format like `<response><text>content</text></response>`.
|
|
40
|
+
*
|
|
41
|
+
* @example
|
|
42
|
+
* ```ts
|
|
43
|
+
* const extractor = new XmlTagExtractor('text');
|
|
44
|
+
* extractor.push('<response><text>Hello'); // Returns 'Hel' (keeps margin for split tags)
|
|
45
|
+
* extractor.push(' world!</text></response>'); // Returns 'lo world!'
|
|
46
|
+
* ```
|
|
47
|
+
*/
|
|
48
|
+
export declare class XmlTagExtractor implements IStreamExtractor {
|
|
49
|
+
private readonly openTag;
|
|
50
|
+
private readonly closeTag;
|
|
51
|
+
private buffer;
|
|
52
|
+
private insideTag;
|
|
53
|
+
private finished;
|
|
54
|
+
constructor(tagName: string);
|
|
55
|
+
get done(): boolean;
|
|
56
|
+
push(chunk: string): string;
|
|
57
|
+
reset(): void;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Extracts streamable text from XML-structured LLM responses with action-based routing.
|
|
61
|
+
*
|
|
62
|
+
* This is the default implementation used by DefaultMessageService.
|
|
63
|
+
* It understands the `<actions>` tag to determine whether to stream `<text>` content.
|
|
64
|
+
*
|
|
65
|
+
* Strategy:
|
|
66
|
+
* - Parse <actions> to determine if response is direct (REPLY) or delegated (other actions)
|
|
67
|
+
* - If direct: stream <text> content immediately
|
|
68
|
+
* - If delegated: skip <text> (action handler will generate its own response via ActionStreamFilter)
|
|
69
|
+
*
|
|
70
|
+
* For simpler use cases without action routing, use {@link XmlTagExtractor} instead.
|
|
71
|
+
*/
|
|
72
|
+
export declare class ResponseStreamExtractor implements IStreamExtractor {
|
|
73
|
+
private static readonly STREAM_TAGS;
|
|
74
|
+
private buffer;
|
|
75
|
+
private insideTag;
|
|
76
|
+
private currentTag;
|
|
77
|
+
private finished;
|
|
78
|
+
private responseStrategy;
|
|
79
|
+
get done(): boolean;
|
|
80
|
+
reset(): void;
|
|
81
|
+
push(chunk: string): string;
|
|
82
|
+
/** Detect response strategy from <actions> tag using pre-compiled regex */
|
|
83
|
+
private detectResponseStrategy;
|
|
84
|
+
/** Parse comma-separated actions */
|
|
85
|
+
private parseActions;
|
|
86
|
+
/** Check if actions represent a direct reply */
|
|
87
|
+
private isDirectReply;
|
|
88
|
+
/** Determine if a tag should be streamed based on strategy */
|
|
89
|
+
private shouldStreamTag;
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Filters action handler output for streaming.
|
|
93
|
+
* Used by runtime.ts processActions() for each action's useModel calls.
|
|
94
|
+
*
|
|
95
|
+
* Auto-detects content type from first non-whitespace character:
|
|
96
|
+
* - JSON (starts with { or [) → Don't stream (structured data for parsing)
|
|
97
|
+
* - XML (starts with <) → Look for <text> tag and stream its content
|
|
98
|
+
* - Plain text → Stream immediately
|
|
99
|
+
*/
|
|
100
|
+
export declare class ActionStreamFilter implements IStreamExtractor {
|
|
101
|
+
private buffer;
|
|
102
|
+
private decided;
|
|
103
|
+
private contentType;
|
|
104
|
+
private insideTextTag;
|
|
105
|
+
private finished;
|
|
106
|
+
get done(): boolean;
|
|
107
|
+
reset(): void;
|
|
108
|
+
push(chunk: string): string;
|
|
109
|
+
/** Detect content type from first non-whitespace character */
|
|
110
|
+
private detectContentType;
|
|
111
|
+
/** Handle plain text - stream everything */
|
|
112
|
+
private handlePlainText;
|
|
113
|
+
/** Handle XML content - extract and stream <text> tag content */
|
|
114
|
+
private handleXml;
|
|
115
|
+
}
|
|
116
|
+
//# sourceMappingURL=streaming.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"streaming.d.ts","sourceRoot":"","sources":["../../src/utils/streaming.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAG3D,YAAY,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAM3D,2CAA2C;AAC3C,MAAM,MAAM,eAAe,GACvB,iBAAiB,GACjB,iBAAiB,GACjB,aAAa,GACb,SAAS,GACT,SAAS,CAAC;AAEd;;;GAGG;AACH,qBAAa,WAAY,SAAQ,KAAK;IACpC,QAAQ,CAAC,IAAI,EAAE,eAAe,CAAC;IAC/B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBAE/B,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAOrF,yCAAyC;IACzC,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,WAAW;CAG3D;AAiHD;;;GAGG;AACH,qBAAa,oBAAqB,YAAW,gBAAgB;IAC3D,IAAI,IAAI,IAAI,OAAO,CAElB;IAED,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAK3B,KAAK,IAAI,IAAI;CAGd;AAMD;;;;;;;;;;GAUG;AACH,qBAAa,eAAgB,YAAW,gBAAgB;IACtD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAElC,OAAO,CAAC,MAAM,CAAM;IACpB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,QAAQ,CAAS;gBAEb,OAAO,EAAE,MAAM;IAK3B,IAAI,IAAI,IAAI,OAAO,CAElB;IAED,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IA6B3B,KAAK,IAAI,IAAI;CAKd;AASD;;;;;;;;;;;;GAYG;AACH,qBAAa,uBAAwB,YAAW,gBAAgB;IAC9D,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAqB;IAExD,OAAO,CAAC,MAAM,CAAM;IACpB,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,UAAU,CAAuB;IACzC,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,gBAAgB,CAA+B;IAEvD,IAAI,IAAI,IAAI,OAAO,CAElB;IAED,KAAK,IAAI,IAAI;IAQb,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAiE3B,2EAA2E;IAC3E,OAAO,CAAC,sBAAsB;IAQ9B,oCAAoC;IACpC,OAAO,CAAC,YAAY;IAOpB,gDAAgD;IAChD,OAAO,CAAC,aAAa;IAIrB,8DAA8D;IAC9D,OAAO,CAAC,eAAe;CAGxB;AASD;;;;;;;;GAQG;AACH,qBAAa,kBAAmB,YAAW,gBAAgB;IACzD,OAAO,CAAC,MAAM,CAAM;IACpB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,WAAW,CAA4B;IAC/C,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,QAAQ,CAAS;IAEzB,IAAI,IAAI,IAAI,OAAO,CAElB;IAED,KAAK,IAAI,IAAI;IAQb,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IA+B3B,8DAA8D;IAC9D,OAAO,CAAC,iBAAiB;IAUzB,4CAA4C;IAC5C,OAAO,CAAC,eAAe;IAMvB,iEAAiE;IACjE,OAAO,CAAC,SAAS;CAuBlB"}
|
package/dist/utils.d.ts
CHANGED
|
@@ -102,10 +102,16 @@ export declare const formatTimestamp: (messageDate: number) => string;
|
|
|
102
102
|
* Note: This uses regex and is suitable for simple, predictable XML structures.
|
|
103
103
|
* For complex XML, a proper parsing library is recommended.
|
|
104
104
|
*
|
|
105
|
+
* @typeParam T - The expected shape of the parsed result. Defaults to Record<string, unknown>.
|
|
105
106
|
* @param text - The input text containing the XML structure.
|
|
106
|
-
* @returns
|
|
107
|
+
* @returns The parsed object cast to type T, or null if parsing fails.
|
|
108
|
+
*
|
|
109
|
+
* @example
|
|
110
|
+
* interface MyResponse { thought: string; message: string; }
|
|
111
|
+
* const result = parseKeyValueXml<MyResponse>(xmlText);
|
|
112
|
+
* // result is MyResponse | null
|
|
107
113
|
*/
|
|
108
|
-
export declare function parseKeyValueXml(text: string):
|
|
114
|
+
export declare function parseKeyValueXml<T = Record<string, unknown>>(text: string): T | null;
|
|
109
115
|
/**
|
|
110
116
|
* Parses a JSON object from a given text. The function looks for a JSON block wrapped in triple backticks
|
|
111
117
|
* with `json` language identifier, and if not found, it searches for an object pattern within the text.
|
|
@@ -116,7 +122,7 @@ export declare function parseKeyValueXml(text: string): Record<string, any> | nu
|
|
|
116
122
|
* @param text - The input text from which to extract and parse the JSON object.
|
|
117
123
|
* @returns An object parsed from the JSON string if successful; otherwise, null or the result of parsing an array.
|
|
118
124
|
*/
|
|
119
|
-
export declare function parseJSONObjectFromText(text: string): Record<string,
|
|
125
|
+
export declare function parseJSONObjectFromText(text: string): Record<string, unknown> | null;
|
|
120
126
|
/**
|
|
121
127
|
* Normalizes a JSON-like string by correcting formatting issues:
|
|
122
128
|
* - Removes extra spaces after '{' and before '}'.
|
|
@@ -141,7 +147,7 @@ export declare function splitChunks(content: string, chunkSize?: number, bleed?:
|
|
|
141
147
|
* Trims the provided text prompt to a specified token limit using a tokenizer model and type.
|
|
142
148
|
*/
|
|
143
149
|
export declare function trimTokens(prompt: string, maxTokens: number, runtime: IAgentRuntime): Promise<string>;
|
|
144
|
-
export declare function safeReplacer(): (_key: string, value:
|
|
150
|
+
export declare function safeReplacer(): (_key: string, value: unknown) => unknown;
|
|
145
151
|
/**
|
|
146
152
|
* Parses a string to determine its boolean equivalent.
|
|
147
153
|
*
|
package/dist/utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAW,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC3F,OAAO,EAAa,IAAI,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AA8BvD;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH;;;;;;;;;;GAUG;AACH,eAAO,MAAM,aAAa,GAAI,sBAG3B;IACD,KAAK,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IACjC,QAAQ,EAAE,YAAY,CAAC;CACxB,WAKA,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,sBAAsB,GAAI,sBAGpC;IACD,KAAK,EAAE,KAAK,CAAC;IACb,QAAQ,EAAE,YAAY,CAAC;CACxB,WAiBA,CAAC;AAEF;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,SAAS,GAAI,QAAQ,MAAM,EAAE,MAAM,MAAM,WAErD,CAAC;AAkCF,eAAO,MAAM,WAAW,GAAI,6CAIzB;IACD,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B,
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAW,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC3F,OAAO,EAAa,IAAI,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AA8BvD;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH;;;;;;;;;;GAUG;AACH,eAAO,MAAM,aAAa,GAAI,sBAG3B;IACD,KAAK,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IACjC,QAAQ,EAAE,YAAY,CAAC;CACxB,WAKA,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,sBAAsB,GAAI,sBAGpC;IACD,KAAK,EAAE,KAAK,CAAC;IACb,QAAQ,EAAE,YAAY,CAAC;CACxB,WAiBA,CAAC;AAEF;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,SAAS,GAAI,QAAQ,MAAM,EAAE,MAAM,MAAM,WAErD,CAAC;AAkCF,eAAO,MAAM,WAAW,GAAI,6CAIzB;IACD,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B,WAmDA,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,GAAI,yBAG5B;IACD,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB,WA6DA,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,aAAa,MAAM,WAoBlD,CAAC;AAIF;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,GAAG,IAAI,CAgOpF;AAED;;;;;;;;;GASG;AACH,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAuBpF;AAED;;;;;;;;;;;;;GAaG;AAEH,eAAO,MAAM,mBAAmB,GAAI,KAAK,MAAM,WAc9C,CAAC;AAEF;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CA0BlF;AAED,wBAAsB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,SAAM,EAAE,KAAK,SAAK,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAWjG;AAED;;GAEG;AACH,wBAAsB,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,mBA0BzF;AAED,wBAAgB,YAAY,KAET,MAAM,MAAM,EAAE,OAAO,OAAO,aAS9C;AAED;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,OAAO,CAmB9E;AAWD;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,GAAG,IAAI,CAGxD;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CA0B1D;AAED;;;GAGG;AACH,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAUtE;AAsND,eAAO,MAAM,0BAA0B,GAAI,UAAU,MAAM,KAAG,WAAW,GAAG,SAQ3E,CAAC;AAEF,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAGtD"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@elizaos/core",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.7.0-beta.0",
|
|
4
4
|
"description": "",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -60,7 +60,7 @@
|
|
|
60
60
|
"author": "ElizaOS",
|
|
61
61
|
"license": "MIT",
|
|
62
62
|
"devDependencies": {
|
|
63
|
-
"@elizaos/config": "1.
|
|
63
|
+
"@elizaos/config": "1.7.0-beta.0",
|
|
64
64
|
"@types/bun": "^1.3.3",
|
|
65
65
|
"@types/fast-redact": "^3.0.4",
|
|
66
66
|
"@types/node": "^24.10.1",
|
|
@@ -85,5 +85,5 @@
|
|
|
85
85
|
"publishConfig": {
|
|
86
86
|
"access": "public"
|
|
87
87
|
},
|
|
88
|
-
"gitHead": "
|
|
88
|
+
"gitHead": "61d977c5b5e49fbb6784afe3b937fe03f14ec53f"
|
|
89
89
|
}
|