@elizaos/api-client 1.6.5 → 1.7.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/api-client/src/lib/base-client.d.ts +5 -5
- package/dist/api-client/src/lib/base-client.d.ts.map +1 -1
- package/dist/api-client/src/services/agents.d.ts.map +1 -1
- package/dist/api-client/src/services/audio.d.ts.map +1 -1
- package/dist/api-client/src/services/jobs.d.ts.map +1 -1
- package/dist/api-client/src/services/media.d.ts.map +1 -1
- package/dist/api-client/src/services/memory.d.ts +2 -2
- package/dist/api-client/src/services/memory.d.ts.map +1 -1
- package/dist/api-client/src/services/messaging.d.ts.map +1 -1
- package/dist/api-client/src/services/sessions.d.ts +23 -2
- package/dist/api-client/src/services/sessions.d.ts.map +1 -1
- package/dist/api-client/src/services/system.d.ts +3 -5
- package/dist/api-client/src/services/system.d.ts.map +1 -1
- package/dist/api-client/src/types/agents.d.ts +10 -19
- package/dist/api-client/src/types/agents.d.ts.map +1 -1
- package/dist/api-client/src/types/jobs.d.ts.map +1 -1
- package/dist/api-client/src/types/memory.d.ts +6 -6
- package/dist/api-client/src/types/memory.d.ts.map +1 -1
- package/dist/api-client/src/types/server.d.ts +2 -2
- package/dist/api-client/src/types/server.d.ts.map +1 -1
- package/dist/api-client/src/types/sessions.d.ts +53 -0
- package/dist/api-client/src/types/sessions.d.ts.map +1 -1
- package/dist/api-client/src/types/system.d.ts +18 -1
- package/dist/api-client/src/types/system.d.ts.map +1 -1
- package/dist/core/src/database.d.ts +4 -7
- package/dist/core/src/database.d.ts.map +1 -1
- package/dist/core/src/elizaos.d.ts +13 -54
- package/dist/core/src/elizaos.d.ts.map +1 -1
- package/dist/core/src/entities.d.ts +0 -8
- package/dist/core/src/entities.d.ts.map +1 -1
- package/dist/core/src/index.d.ts +2 -0
- package/dist/core/src/index.d.ts.map +1 -1
- package/dist/core/src/logger.d.ts +26 -0
- package/dist/core/src/logger.d.ts.map +1 -1
- package/dist/core/src/plugin.d.ts.map +1 -1
- package/dist/core/src/roles.d.ts +0 -6
- package/dist/core/src/roles.d.ts.map +1 -1
- package/dist/core/src/runtime.d.ts +22 -19
- package/dist/core/src/runtime.d.ts.map +1 -1
- package/dist/core/src/schemas/character.d.ts +2 -2
- package/dist/core/src/schemas/character.d.ts.map +1 -1
- package/dist/core/src/search.d.ts +8 -8
- package/dist/core/src/search.d.ts.map +1 -1
- package/dist/core/src/services/default-message-service.d.ts.map +1 -1
- package/dist/core/src/services/message-service.d.ts +11 -2
- package/dist/core/src/services/message-service.d.ts.map +1 -1
- package/dist/core/src/services.d.ts +10 -2
- package/dist/core/src/services.d.ts.map +1 -1
- package/dist/core/src/settings.d.ts +9 -9
- package/dist/core/src/settings.d.ts.map +1 -1
- package/dist/core/src/streaming-context.d.ts +79 -0
- package/dist/core/src/streaming-context.d.ts.map +1 -0
- package/dist/core/src/types/agent.d.ts +1 -1
- package/dist/core/src/types/agent.d.ts.map +1 -1
- package/dist/core/src/types/components.d.ts +2 -2
- package/dist/core/src/types/components.d.ts.map +1 -1
- package/dist/core/src/types/database.d.ts +93 -8
- package/dist/core/src/types/database.d.ts.map +1 -1
- package/dist/core/src/types/elizaos.d.ts +53 -25
- package/dist/core/src/types/elizaos.d.ts.map +1 -1
- package/dist/core/src/types/events.d.ts +15 -4
- package/dist/core/src/types/events.d.ts.map +1 -1
- package/dist/core/src/types/index.d.ts +2 -1
- package/dist/core/src/types/index.d.ts.map +1 -1
- package/dist/core/src/types/messaging.d.ts +51 -0
- package/dist/core/src/types/messaging.d.ts.map +1 -1
- package/dist/core/src/types/model.d.ts +119 -12
- package/dist/core/src/types/model.d.ts.map +1 -1
- package/dist/core/src/types/plugin.d.ts +35 -7
- package/dist/core/src/types/plugin.d.ts.map +1 -1
- package/dist/core/src/types/primitives.d.ts +6 -0
- package/dist/core/src/types/primitives.d.ts.map +1 -1
- package/dist/core/src/types/runtime.d.ts +35 -14
- package/dist/core/src/types/runtime.d.ts.map +1 -1
- package/dist/core/src/types/service.d.ts +7 -5
- package/dist/core/src/types/service.d.ts.map +1 -1
- package/dist/core/src/types/settings.d.ts +2 -2
- package/dist/core/src/types/settings.d.ts.map +1 -1
- package/dist/core/src/types/state.d.ts +42 -7
- package/dist/core/src/types/state.d.ts.map +1 -1
- package/dist/core/src/types/streaming.d.ts +46 -0
- package/dist/core/src/types/streaming.d.ts.map +1 -0
- package/dist/core/src/utils/buffer.d.ts +1 -1
- package/dist/core/src/utils/buffer.d.ts.map +1 -1
- package/dist/core/src/utils/crypto-compat.d.ts.map +1 -1
- package/dist/core/src/utils/environment.d.ts.map +1 -1
- package/dist/core/src/utils/paths.d.ts.map +1 -1
- package/dist/core/src/utils/server-health.d.ts.map +1 -1
- package/dist/core/src/utils/streaming.d.ts +116 -0
- package/dist/core/src/utils/streaming.d.ts.map +1 -0
- package/dist/core/src/utils.d.ts +10 -4
- package/dist/core/src/utils.d.ts.map +1 -1
- package/dist/index.js +51 -32
- package/dist/index.js.map +12 -12
- package/package.json +4 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../../../core/src/types/service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE/C;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,mBAAmB;IAClC,aAAa,EAAE,eAAe,CAAC;IAC/B,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,EAAE,SAAS,CAAC;IACnB,GAAG,EAAE,KAAK,CAAC;IACX,YAAY,EAAE,QAAQ,CAAC;IACvB,UAAU,EAAE,YAAY,CAAC;IACzB,KAAK,EAAE,OAAO,CAAC;IACf,GAAG,EAAE,KAAK,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,QAAQ,CAAC;IACjB,OAAO,EAAE,SAAS,CAAC;IACnB,UAAU,EAAE,YAAY,CAAC;IACzB,eAAe,EAAE,iBAAiB,CAAC;IACnC,OAAO,EAAE,SAAS,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,SAAS,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,mBAAmB,CAAC,MAAM,mBAAmB,CAAC,CAAC;AAE7E;;GAEG;AACH,MAAM,MAAM,gBAAgB,CAAC,CAAC,SAAS,MAAM,mBAAmB,IAAI,mBAAmB,CAAC,CAAC,CAAC,CAAC;AAE3F;;GAEG;AACH,MAAM,MAAM,kBAAkB,CAAC,CAAC,SAAS,MAAM,IAAI,CAAC,SAAS,eAAe,GAAG,IAAI,GAAG,KAAK,CAAC;AAE5F;;GAEG;AACH,MAAM,MAAM,iBAAiB,CAAC,CAAC,SAAS,eAAe,IAAI;IACzD,KAAK,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC;IACvC,WAAW,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACjD,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,eAAe;CAE/B;AAED;;GAEG;AACH,MAAM,MAAM,eAAe,CAAC,CAAC,SAAS,eAAe,IAAI,CAAC,SAAS,MAAM,eAAe,GACpF,YAAY,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,GAChC,OAAO,CAAC;AAEZ;;GAEG;AACH,MAAM,MAAM,eAAe,CAAC,CAAC,SAAS,eAAe,GAAG,eAAe,IAAI,GAAG,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;AAE3F;;;;;;;GAOG;AACH,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;CAiBgB,CAAC;AAEzC;;GAEG;AACH,8BAAsB,OAAO;IAC3B,uBAAuB;IACvB,SAAS,CAAC,OAAO,EAAG,aAAa,CAAC;gBAEtB,OAAO,CAAC,EAAE,aAAa;IAMnC,QAAQ,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAE9B,mBAAmB;IACnB,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC;IAE3B,mBAAmB;IACnB,QAAQ,CAAC,qBAAqB,EAAE,MAAM,CAAC;IAEvC,4BAA4B;IAC5B,MAAM,CAAC,EAAE,QAAQ,CAAC;IAElB,+BAA+B;WAClB,KAAK,CAAC,QAAQ,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC;IAI7D,8BAA8B;WACjB,IAAI,CAAC,QAAQ,EAAE,aAAa,GAAG,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../../../core/src/types/service.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,9 +12,9 @@ export interface Setting {
|
|
|
12
12
|
required: boolean;
|
|
13
13
|
public?: boolean;
|
|
14
14
|
secret?: boolean;
|
|
15
|
-
validation?: (value:
|
|
15
|
+
validation?: (value: string | boolean | null) => boolean;
|
|
16
16
|
dependsOn?: string[];
|
|
17
|
-
onSetAction?: (value:
|
|
17
|
+
onSetAction?: (value: string | boolean | null) => string;
|
|
18
18
|
visibleIf?: (settings: {
|
|
19
19
|
[key: string]: Setting;
|
|
20
20
|
}) => boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../../../../core/src/types/settings.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;CACnC;AAED,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,MAAM,CAAC;IACzB,KAAK,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;IAC/B,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../../../../core/src/types/settings.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;CACnC;AAED,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,MAAM,CAAC;IACzB,KAAK,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;IAC/B,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI,KAAK,OAAO,CAAC;IACzD,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI,KAAK,MAAM,CAAC;IACzD,SAAS,CAAC,EAAE,CAAC,QAAQ,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,KAAK,OAAO,CAAC;CAC/D;AAED,MAAM,WAAW,aAAa;IAC5B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE;QACR,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;KACvC,CAAC;CACH"}
|
|
@@ -1,22 +1,57 @@
|
|
|
1
|
+
import type { ActionResult } from './components';
|
|
2
|
+
import type { Entity, Room, World } from './environment';
|
|
3
|
+
/** Single step in an action plan */
|
|
4
|
+
export interface ActionPlanStep {
|
|
5
|
+
action: string;
|
|
6
|
+
status: 'pending' | 'completed' | 'failed';
|
|
7
|
+
error?: string;
|
|
8
|
+
result?: ActionResult;
|
|
9
|
+
}
|
|
10
|
+
/** Multi-step action plan */
|
|
11
|
+
export interface ActionPlan {
|
|
12
|
+
thought: string;
|
|
13
|
+
totalSteps: number;
|
|
14
|
+
currentStep: number;
|
|
15
|
+
steps: ActionPlanStep[];
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Structured data cached in state by providers and actions.
|
|
19
|
+
* Common properties are typed for better DX while allowing dynamic extension.
|
|
20
|
+
*/
|
|
21
|
+
export interface StateData {
|
|
22
|
+
/** Cached room data from providers */
|
|
23
|
+
room?: Room;
|
|
24
|
+
/** Cached world data from providers */
|
|
25
|
+
world?: World;
|
|
26
|
+
/** Cached entity data from providers */
|
|
27
|
+
entity?: Entity;
|
|
28
|
+
/** Provider results cache keyed by provider name */
|
|
29
|
+
providers?: Record<string, Record<string, unknown>>;
|
|
30
|
+
/** Current action plan for multi-step actions */
|
|
31
|
+
actionPlan?: ActionPlan;
|
|
32
|
+
/** Results from previous action executions */
|
|
33
|
+
actionResults?: ActionResult[];
|
|
34
|
+
/** Allow additional dynamic properties */
|
|
35
|
+
[key: string]: unknown;
|
|
36
|
+
}
|
|
1
37
|
/**
|
|
2
38
|
* Represents the current state or context of a conversation or agent interaction.
|
|
3
39
|
* This interface is a flexible container for various pieces of information that define the agent's
|
|
4
40
|
* understanding at a point in time. It includes:
|
|
5
41
|
* - `values`: A key-value store for general state variables, often populated by providers.
|
|
6
|
-
* - `data`:
|
|
42
|
+
* - `data`: Structured data cache with typed common properties for room, world, entity, etc.
|
|
7
43
|
* - `text`: A string representation of the current context, often a summary or concatenated history.
|
|
8
|
-
* The `[key: string]:
|
|
44
|
+
* The `[key: string]: unknown;` allows for dynamic properties to be added as needed.
|
|
9
45
|
* This state object is passed to handlers for actions, evaluators, and providers.
|
|
10
46
|
*/
|
|
11
47
|
export interface State {
|
|
12
48
|
/** Additional dynamic properties */
|
|
13
|
-
[key: string]:
|
|
49
|
+
[key: string]: unknown;
|
|
14
50
|
values: {
|
|
15
|
-
[key: string]:
|
|
16
|
-
};
|
|
17
|
-
data: {
|
|
18
|
-
[key: string]: any;
|
|
51
|
+
[key: string]: unknown;
|
|
19
52
|
};
|
|
53
|
+
/** Structured data cache with typed properties */
|
|
54
|
+
data: StateData;
|
|
20
55
|
text: string;
|
|
21
56
|
}
|
|
22
57
|
//# sourceMappingURL=state.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../../../../core/src/types/state.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../../../../core/src/types/state.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAEzD,oCAAoC;AACpC,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,SAAS,GAAG,WAAW,GAAG,QAAQ,CAAC;IAC3C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,YAAY,CAAC;CACvB;AAED,6BAA6B;AAC7B,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,cAAc,EAAE,CAAC;CACzB;AAED;;;GAGG;AACH,MAAM,WAAW,SAAS;IACxB,sCAAsC;IACtC,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,uCAAuC;IACvC,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,wCAAwC;IACxC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,oDAAoD;IACpD,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACpD,iDAAiD;IACjD,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,8CAA8C;IAC9C,aAAa,CAAC,EAAE,YAAY,EAAE,CAAC;IAC/B,0CAA0C;IAC1C,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,KAAK;IACpB,oCAAoC;IACpC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IACvB,MAAM,EAAE;QACN,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KACxB,CAAC;IACF,kDAAkD;IAClD,IAAI,EAAE,SAAS,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CACd"}
|
|
@@ -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":["../../../../../core/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"}
|
|
@@ -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":["../../../../../core/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":["../../../../../core/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":["../../../../../core/src/utils/crypto-compat.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;
|
|
1
|
+
{"version":3,"file":"crypto-compat.d.ts","sourceRoot":"","sources":["../../../../../core/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":["../../../../../core/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":["../../../../../core/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":["../../../../../core/src/utils/paths.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../../../../core/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":["../../../../../core/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":["../../../../../core/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":["../../../../../core/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/core/src/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
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../core/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":["../../../../core/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/dist/index.js
CHANGED
|
@@ -72,7 +72,7 @@ class BaseApiClient {
|
|
|
72
72
|
let jsonData;
|
|
73
73
|
try {
|
|
74
74
|
jsonData = await response.json();
|
|
75
|
-
} catch (
|
|
75
|
+
} catch (_error) {
|
|
76
76
|
if (response.ok) {
|
|
77
77
|
return this.createNoContentResponse();
|
|
78
78
|
} else {
|
|
@@ -80,11 +80,13 @@ class BaseApiClient {
|
|
|
80
80
|
}
|
|
81
81
|
}
|
|
82
82
|
if (!response.ok) {
|
|
83
|
-
const
|
|
83
|
+
const errorData = jsonData;
|
|
84
|
+
const error = errorData?.error || {
|
|
84
85
|
code: "HTTP_ERROR",
|
|
85
86
|
message: `HTTP ${response.status}: ${response.statusText}`
|
|
86
87
|
};
|
|
87
|
-
|
|
88
|
+
const details = typeof error.details === "string" ? error.details : undefined;
|
|
89
|
+
throw new ApiError(error.code || "HTTP_ERROR", error.message || "Unknown error", details, response.status);
|
|
88
90
|
}
|
|
89
91
|
if (jsonData && typeof jsonData === "object" && "success" in jsonData) {
|
|
90
92
|
const apiResponse = jsonData;
|
|
@@ -276,7 +278,9 @@ class MessagingService extends BaseApiClient {
|
|
|
276
278
|
});
|
|
277
279
|
}
|
|
278
280
|
async getChannelMessages(channelId, params) {
|
|
279
|
-
return this.get(`/api/messaging/channels/${channelId}/messages`, {
|
|
281
|
+
return this.get(`/api/messaging/channels/${channelId}/messages`, {
|
|
282
|
+
params
|
|
283
|
+
});
|
|
280
284
|
}
|
|
281
285
|
async getMessage(messageId) {
|
|
282
286
|
return this.get(`/api/messaging/messages/${messageId}`);
|
|
@@ -312,7 +316,9 @@ class MessagingService extends BaseApiClient {
|
|
|
312
316
|
return this.patch(`/api/messaging/channels/${channelId}`, params);
|
|
313
317
|
}
|
|
314
318
|
async generateChannelTitle(channelId, agentId) {
|
|
315
|
-
return this.post(`/api/messaging/channels/${channelId}/generate-title`, {
|
|
319
|
+
return this.post(`/api/messaging/channels/${channelId}/generate-title`, {
|
|
320
|
+
agentId
|
|
321
|
+
});
|
|
316
322
|
}
|
|
317
323
|
async addUserToChannel(channelId, userId) {
|
|
318
324
|
const channel = await this.getChannelDetails(channelId);
|
|
@@ -486,7 +492,7 @@ class AudioService extends BaseApiClient {
|
|
|
486
492
|
bytes[i] = binaryString.charCodeAt(i);
|
|
487
493
|
}
|
|
488
494
|
return new Blob([bytes], { type: "audio/wav" });
|
|
489
|
-
} catch (
|
|
495
|
+
} catch (_error) {
|
|
490
496
|
return audio;
|
|
491
497
|
}
|
|
492
498
|
}
|
|
@@ -495,12 +501,11 @@ class AudioService extends BaseApiClient {
|
|
|
495
501
|
if (this.isBuffer(audio)) {
|
|
496
502
|
return new Blob([new Uint8Array(audio)], { type: "audio/wav" });
|
|
497
503
|
}
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
return new Blob([audioAsAny], { type: "audio/wav" });
|
|
504
|
+
if (audio instanceof ArrayBuffer) {
|
|
505
|
+
return new Blob([audio], { type: "audio/wav" });
|
|
501
506
|
}
|
|
502
|
-
if (
|
|
503
|
-
return new Blob([
|
|
507
|
+
if (audio && typeof audio === "object" && "buffer" in audio && audio.buffer instanceof ArrayBuffer && "BYTES_PER_ELEMENT" in audio.constructor) {
|
|
508
|
+
return new Blob([audio.buffer], { type: "audio/wav" });
|
|
504
509
|
}
|
|
505
510
|
throw new Error(`Unsupported audio input type: ${typeof audio}. Expected Blob, Buffer, ArrayBuffer, or string.`);
|
|
506
511
|
}
|
|
@@ -512,7 +517,11 @@ class AudioService extends BaseApiClient {
|
|
|
512
517
|
return base64Pattern.test(str);
|
|
513
518
|
}
|
|
514
519
|
isBuffer(obj) {
|
|
515
|
-
|
|
520
|
+
if (obj === null || obj === undefined || typeof obj !== "object") {
|
|
521
|
+
return false;
|
|
522
|
+
}
|
|
523
|
+
const o = obj;
|
|
524
|
+
return typeof o.constructor === "function" && o.constructor.name === "Buffer" && typeof o.readUInt8 === "function";
|
|
516
525
|
}
|
|
517
526
|
async speechConversation(agentId, params) {
|
|
518
527
|
const formData = new FormData;
|
|
@@ -522,12 +531,15 @@ class AudioService extends BaseApiClient {
|
|
|
522
531
|
} else {
|
|
523
532
|
formData.append("file", processedAudio);
|
|
524
533
|
}
|
|
525
|
-
if (params.format)
|
|
534
|
+
if (params.format) {
|
|
526
535
|
formData.append("format", params.format);
|
|
527
|
-
|
|
536
|
+
}
|
|
537
|
+
if (params.language) {
|
|
528
538
|
formData.append("language", params.language);
|
|
529
|
-
|
|
539
|
+
}
|
|
540
|
+
if (params.metadata) {
|
|
530
541
|
formData.append("metadata", JSON.stringify(params.metadata));
|
|
542
|
+
}
|
|
531
543
|
return this.request("POST", `/api/audio/${agentId}/speech/conversation`, {
|
|
532
544
|
body: formData
|
|
533
545
|
});
|
|
@@ -559,10 +571,12 @@ class AudioService extends BaseApiClient {
|
|
|
559
571
|
} else {
|
|
560
572
|
formData.append("file", processedAudio);
|
|
561
573
|
}
|
|
562
|
-
if (params.format)
|
|
574
|
+
if (params.format) {
|
|
563
575
|
formData.append("format", params.format);
|
|
564
|
-
|
|
576
|
+
}
|
|
577
|
+
if (params.language) {
|
|
565
578
|
formData.append("language", params.language);
|
|
579
|
+
}
|
|
566
580
|
return this.request("POST", `/api/audio/${agentId}/transcriptions`, {
|
|
567
581
|
body: formData
|
|
568
582
|
});
|
|
@@ -575,8 +589,9 @@ class AudioService extends BaseApiClient {
|
|
|
575
589
|
} else {
|
|
576
590
|
formData.append("file", processedAudio);
|
|
577
591
|
}
|
|
578
|
-
if (metadata)
|
|
592
|
+
if (metadata) {
|
|
579
593
|
formData.append("metadata", JSON.stringify(metadata));
|
|
594
|
+
}
|
|
580
595
|
return this.request("POST", `/api/audio/${agentId}/speech`, {
|
|
581
596
|
body: formData
|
|
582
597
|
});
|
|
@@ -588,10 +603,12 @@ class MediaService extends BaseApiClient {
|
|
|
588
603
|
async uploadAgentMedia(agentId, params) {
|
|
589
604
|
const formData = new FormData;
|
|
590
605
|
formData.append("file", params.file, params.filename);
|
|
591
|
-
if (params.contentType)
|
|
606
|
+
if (params.contentType) {
|
|
592
607
|
formData.append("contentType", params.contentType);
|
|
593
|
-
|
|
608
|
+
}
|
|
609
|
+
if (params.metadata) {
|
|
594
610
|
formData.append("metadata", JSON.stringify(params.metadata));
|
|
611
|
+
}
|
|
595
612
|
return this.request("POST", `/api/media/agents/${agentId}/upload-media`, {
|
|
596
613
|
body: formData
|
|
597
614
|
});
|
|
@@ -644,11 +661,14 @@ class SystemService extends BaseApiClient {
|
|
|
644
661
|
}
|
|
645
662
|
let body;
|
|
646
663
|
if ("variables" in params) {
|
|
647
|
-
|
|
664
|
+
const localParams = params;
|
|
665
|
+
body = { content: localParams.variables };
|
|
648
666
|
} else if ("content" in params) {
|
|
649
|
-
|
|
667
|
+
const contentParams = params;
|
|
668
|
+
body = { content: contentParams.content };
|
|
650
669
|
} else {
|
|
651
|
-
|
|
670
|
+
const recordParams = params;
|
|
671
|
+
body = { content: recordParams };
|
|
652
672
|
}
|
|
653
673
|
return this.post("/api/system/env/local", body);
|
|
654
674
|
}
|
|
@@ -688,15 +708,16 @@ class SystemService extends BaseApiClient {
|
|
|
688
708
|
async deleteGlobalLogs() {
|
|
689
709
|
return this.delete("/api/server/logs");
|
|
690
710
|
}
|
|
691
|
-
async deleteLog(
|
|
711
|
+
async deleteLog(_logId) {
|
|
692
712
|
throw new Error("Individual log deletion is not supported. Use deleteGlobalLogs() to clear all logs.");
|
|
693
713
|
}
|
|
694
714
|
}
|
|
695
715
|
|
|
696
716
|
// src/services/sessions.ts
|
|
697
717
|
function toTimestampString(value, paramName) {
|
|
698
|
-
if (!value)
|
|
718
|
+
if (!value) {
|
|
699
719
|
return;
|
|
720
|
+
}
|
|
700
721
|
let timestamp;
|
|
701
722
|
if (value instanceof Date) {
|
|
702
723
|
timestamp = value.getTime();
|
|
@@ -737,6 +758,9 @@ class SessionsService extends BaseApiClient {
|
|
|
737
758
|
validateRequiredParam(params?.content, "content");
|
|
738
759
|
return this.post(`/api/messaging/sessions/${sessionId}/messages`, params);
|
|
739
760
|
}
|
|
761
|
+
async sendMessageSync(sessionId, params) {
|
|
762
|
+
return this.sendMessage(sessionId, { ...params, mode: "sync" });
|
|
763
|
+
}
|
|
740
764
|
async getMessages(sessionId, params) {
|
|
741
765
|
validateRequiredParam(sessionId, "sessionId");
|
|
742
766
|
const queryParams = {};
|
|
@@ -808,12 +832,7 @@ class JobsService extends BaseApiClient {
|
|
|
808
832
|
return this.get("/api/messaging/jobs/health");
|
|
809
833
|
}
|
|
810
834
|
async poll(jobId, options = {}) {
|
|
811
|
-
const {
|
|
812
|
-
interval = 1000,
|
|
813
|
-
maxAttempts = 30,
|
|
814
|
-
timeout,
|
|
815
|
-
onProgress
|
|
816
|
-
} = options;
|
|
835
|
+
const { interval = 1000, maxAttempts = 30, timeout, onProgress } = options;
|
|
817
836
|
const startTime = Date.now();
|
|
818
837
|
let attempts = 0;
|
|
819
838
|
const effectiveMaxAttempts = timeout ? Math.ceil(timeout / interval) : maxAttempts;
|
|
@@ -981,5 +1000,5 @@ export {
|
|
|
981
1000
|
AgentsService
|
|
982
1001
|
};
|
|
983
1002
|
|
|
984
|
-
//# debugId=
|
|
1003
|
+
//# debugId=6D6C010739DB5FA164756E2164756E21
|
|
985
1004
|
//# sourceMappingURL=index.js.map
|