webdaemon 26.2.0 → 26.3.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/index.js +17 -15
- package/dist/index.js.map +3 -3
- package/dist/types/js/GenerativeChatBrowser.d.ts +17 -0
- package/dist/types/js/GenerativeChatBrowser.d.ts.map +1 -1
- package/dist/types/ts/GenerativeChatAgent.d.ts.map +1 -1
- package/dist/types/ts/GenerativeChatEvents.d.ts +35 -0
- package/dist/types/ts/GenerativeChatEvents.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -127,6 +127,7 @@ export class GenerativeChatClient {
|
|
|
127
127
|
* toolDetails?: boolean,
|
|
128
128
|
* onConversationResult?: Function,
|
|
129
129
|
* onClientToolCalls?: Function,
|
|
130
|
+
* onEvent?: Function,
|
|
130
131
|
* }} options
|
|
131
132
|
* @return {Promise<object>}
|
|
132
133
|
*/
|
|
@@ -139,6 +140,7 @@ export class GenerativeChatClient {
|
|
|
139
140
|
toolDetails?: boolean;
|
|
140
141
|
onConversationResult?: Function;
|
|
141
142
|
onClientToolCalls?: Function;
|
|
143
|
+
onEvent?: Function;
|
|
142
144
|
}): Promise<object>;
|
|
143
145
|
/**
|
|
144
146
|
* @param {{
|
|
@@ -148,6 +150,7 @@ export class GenerativeChatClient {
|
|
|
148
150
|
* temperature?: number,
|
|
149
151
|
* toolsEnabled?: boolean,
|
|
150
152
|
* toolDetails?: boolean,
|
|
153
|
+
* onEvent?: Function,
|
|
151
154
|
* }} options
|
|
152
155
|
* @return {Promise<object>}
|
|
153
156
|
*/
|
|
@@ -158,6 +161,7 @@ export class GenerativeChatClient {
|
|
|
158
161
|
temperature?: number;
|
|
159
162
|
toolsEnabled?: boolean;
|
|
160
163
|
toolDetails?: boolean;
|
|
164
|
+
onEvent?: Function;
|
|
161
165
|
}): Promise<object>;
|
|
162
166
|
/**
|
|
163
167
|
* @param {{ targetParty: string, chatId: string }} options
|
|
@@ -181,6 +185,19 @@ export class GenerativeChatClient {
|
|
|
181
185
|
* @return {Promise<object>}
|
|
182
186
|
*/
|
|
183
187
|
postAgent(path: string, body: object): Promise<object>;
|
|
188
|
+
/**
|
|
189
|
+
* POSTs like {@link postAgent} but consumes the NDJSON streaming response the
|
|
190
|
+
* agent sends when `Accept: application/x-ndjson` is set: each `event` frame is
|
|
191
|
+
* delivered to `onEvent` the moment it arrives. Accumulates the events and the
|
|
192
|
+
* terminal frame's `clientToolCalls` into the same `ConversationRound` shape
|
|
193
|
+
* `postAgent` returns, so callers stay uniform. An `error` frame throws to match
|
|
194
|
+
* `postAgent`'s error contract.
|
|
195
|
+
* @param {string} path
|
|
196
|
+
* @param {object} body
|
|
197
|
+
* @param {Function} [onEvent]
|
|
198
|
+
* @return {Promise<ConversationRound>}
|
|
199
|
+
*/
|
|
200
|
+
postAgentStream(path: string, body: object, onEvent?: Function): Promise<ConversationRound>;
|
|
184
201
|
/**
|
|
185
202
|
* @param {unknown} value
|
|
186
203
|
* @return {string}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GenerativeChatBrowser.d.ts","sourceRoot":"","sources":["../../../js/GenerativeChatBrowser.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"GenerativeChatBrowser.d.ts","sourceRoot":"","sources":["../../../js/GenerativeChatBrowser.js"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GenerativeChatAgent.d.ts","sourceRoot":"","sources":["../../../ts/GenerativeChatAgent.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAA;AACtC,OAAO,EAGL,KAAK,YAAY,EAMlB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EAGL,KAAK,UAAU,EAIhB,MAAM,gBAAgB,CAAA;AACvB,OAAO,EAIL,KAAK,yBAAyB,
|
|
1
|
+
{"version":3,"file":"GenerativeChatAgent.d.ts","sourceRoot":"","sources":["../../../ts/GenerativeChatAgent.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAA;AACtC,OAAO,EAGL,KAAK,YAAY,EAMlB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EAGL,KAAK,UAAU,EAIhB,MAAM,gBAAgB,CAAA;AACvB,OAAO,EAIL,KAAK,yBAAyB,EAM/B,MAAM,2BAA2B,CAAA;AAElC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAQnE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AASnD;;;;GAIG;AACH,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;IAChB;;;;;OAKG;IACH,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,0BAA0B;IACzC,WAAW,EAAE,MAAM,CAAA;IACnB,mBAAmB,EAAE,MAAM,CAAA;IAC3B,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,0EAA0E;IAC1E,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB;;;;;OAKG;IACH,oBAAoB,CAAC,EAAE,CACrB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,cAAc,KACpB,OAAO,CAAC,gBAAgB,EAAE,GAAG,SAAS,CAAC,CAAA;IAC5C;;;;;;;;OAQG;IACH,sBAAsB,CAAC,EAAE,CACvB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,cAAc,KACpB,OAAO,CAAC,MAAM,EAAE,GAAG,SAAS,CAAC,CAAA;IAClC;;;;;OAKG;IACH,gCAAgC,CAAC,EAAE,CACjC,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,cAAc,KACpB,OAAO,CAAC,MAAM,EAAE,GAAG,SAAS,CAAC,CAAA;CACnC;AAED;;;;;GAKG;AACH,UAAU,cAAc;IACtB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAA;IAKlC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;CAC5B;AA6BD,MAAM,WAAW,gCAAgC;IAC/C,MAAM,EAAE,yBAAyB,EAAE,CAAA;IACnC,eAAe,CAAC,EAAE,YAAY,EAAE,CAAA;CACjC;AAED,MAAM,WAAW,wBAAyB,SAAQ,UAAU;IAC1D,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,MAAM,CAAA;IACpB,IAAI,CAAC,EAAE,WAAW,CAAA;IAClB,KAAK,EAAE,KAAK,GAAG,kBAAkB,GAAG,IAAI,CAAA;IACxC,OAAO,EAAE,OAAO,CAAA;CACjB;AAED,qBAAa,mBAAmB;;gBAqBlB,OAAO,EAAE,0BAA0B;IA6BzC,OAAO,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC;IAwG5C,SAAS,CACb,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CAy8B/B"}
|
|
@@ -24,6 +24,41 @@ export interface GenerativeChatRenderEvent {
|
|
|
24
24
|
content: string;
|
|
25
25
|
error?: boolean;
|
|
26
26
|
}
|
|
27
|
+
/**
|
|
28
|
+
* NDJSON frame streamed from `/send` and `/client-tool-results` when the caller
|
|
29
|
+
* opts into streaming (one JSON object per line):
|
|
30
|
+
* - `event`: one render event, emitted the moment the agent produces it.
|
|
31
|
+
* - `done`: terminal frame, carrying any `clientToolCalls` the round left pending
|
|
32
|
+
* (the `events` are already on the wire, so they are not repeated here).
|
|
33
|
+
* - `error`: the conversation threw mid-stream; the partial trail already streamed.
|
|
34
|
+
*/
|
|
35
|
+
export type GenerativeChatStreamFrame = {
|
|
36
|
+
type: 'event';
|
|
37
|
+
event: GenerativeChatRenderEvent;
|
|
38
|
+
} | {
|
|
39
|
+
type: 'done';
|
|
40
|
+
clientToolCalls?: ChatToolCall[];
|
|
41
|
+
} | {
|
|
42
|
+
type: 'error';
|
|
43
|
+
message: string;
|
|
44
|
+
};
|
|
45
|
+
/** Content type for the NDJSON streaming responses, and the `Accept` value a
|
|
46
|
+
* client sends to opt in. */
|
|
47
|
+
export declare const RENDER_STREAM_CONTENT_TYPE = "application/x-ndjson";
|
|
48
|
+
/**
|
|
49
|
+
* A render-event array that also notifies a listener on every `push`. The
|
|
50
|
+
* conversation loop mutates one `GenerativeChatRenderEvent[]` in place via the
|
|
51
|
+
* event builders ({@link appendAssistantEvent} et al.) and direct `push`es;
|
|
52
|
+
* substituting this subclass makes each of those emit to the stream as a side
|
|
53
|
+
* effect, with zero changes to the loop. The array still accumulates, so the
|
|
54
|
+
* terminal frame and the non-streaming fallback keep the full list.
|
|
55
|
+
*/
|
|
56
|
+
export declare class RenderEventStream extends Array<GenerativeChatRenderEvent> {
|
|
57
|
+
#private;
|
|
58
|
+
constructor(onEvent?: (event: GenerativeChatRenderEvent) => void);
|
|
59
|
+
static get [Symbol.species](): ArrayConstructor;
|
|
60
|
+
push(...events: GenerativeChatRenderEvent[]): number;
|
|
61
|
+
}
|
|
27
62
|
/** Options shared by the history converter and the live event builders. */
|
|
28
63
|
export interface RenderEventOptions {
|
|
29
64
|
/** Emit `tool` / `tool-result` events. Mirrors the live `toolDetails` flag. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GenerativeChatEvents.d.ts","sourceRoot":"","sources":["../../../ts/GenerativeChatEvents.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAElE;oFACoF;AACpF,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,MAAM,CAAA;IAGhB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,YAAY,EAAE,CAAA;IAC1B,WAAW,CAAC,EAAE,UAAU,EAAE,CAAA;IAC1B,SAAS,CAAC,EAAE,aAAa,EAAE,CAAA;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACnC;AAED;;;;GAIG;AACH,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,MAAM,GAAG,aAAa,GAAG,UAAU,CAAA;IAChE,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB;AAED,2EAA2E;AAC3E,MAAM,WAAW,kBAAkB;IACjC,+EAA+E;IAC/E,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,4EAA4E;IAC5E,eAAe,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;CAC9B;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,yBAAyB,EAAE,EACnC,OAAO,EAAE,qBAAqB,GAC7B,IAAI,CAQN;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,yBAAyB,EAAE,EACnC,SAAS,EAAE,aAAa,EAAE,GAAG,SAAS,GACrC,IAAI,CAKN;AAED,wBAAgB,eAAe,CAC7B,IAAI,EAAE,YAAY,EAClB,YAAY,EAAE,OAAO,GACpB,MAAM,CAGR;AAED,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,yBAAyB,EAAE,EACnC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,OAAO,EACpB,OAAO,UAAQ,GACd,IAAI,CAON;AAED,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,OAAO,UAAQ,GACd,MAAM,CAGR;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,qBAAqB,EAAE,EACjC,OAAO,GAAE,kBAAuB,GAC/B,yBAAyB,EAAE,CAsC7B"}
|
|
1
|
+
{"version":3,"file":"GenerativeChatEvents.d.ts","sourceRoot":"","sources":["../../../ts/GenerativeChatEvents.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAElE;oFACoF;AACpF,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,MAAM,CAAA;IAGhB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,YAAY,EAAE,CAAA;IAC1B,WAAW,CAAC,EAAE,UAAU,EAAE,CAAA;IAC1B,SAAS,CAAC,EAAE,aAAa,EAAE,CAAA;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CACnC;AAED;;;;GAIG;AACH,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,MAAM,GAAG,aAAa,GAAG,UAAU,CAAA;IAChE,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB;AAED;;;;;;;GAOG;AACH,MAAM,MAAM,yBAAyB,GACjC;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,yBAAyB,CAAA;CAAE,GACnD;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,eAAe,CAAC,EAAE,YAAY,EAAE,CAAA;CAAE,GAClD;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAA;AAEtC;6BAC6B;AAC7B,eAAO,MAAM,0BAA0B,yBAAyB,CAAA;AAEhE;;;;;;;GAOG;AACH,qBAAa,iBAAkB,SAAQ,KAAK,CAAC,yBAAyB,CAAC;;gBAGzD,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,yBAAyB,KAAK,IAAI;IAOhE,WAAoB,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,gBAAgB,CAEvD;IAEQ,IAAI,CAAC,GAAG,MAAM,EAAE,yBAAyB,EAAE,GAAG,MAAM;CAI9D;AAED,2EAA2E;AAC3E,MAAM,WAAW,kBAAkB;IACjC,+EAA+E;IAC/E,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,4EAA4E;IAC5E,eAAe,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;CAC9B;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,yBAAyB,EAAE,EACnC,OAAO,EAAE,qBAAqB,GAC7B,IAAI,CAQN;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,yBAAyB,EAAE,EACnC,SAAS,EAAE,aAAa,EAAE,GAAG,SAAS,GACrC,IAAI,CAKN;AAED,wBAAgB,eAAe,CAC7B,IAAI,EAAE,YAAY,EAClB,YAAY,EAAE,OAAO,GACpB,MAAM,CAGR;AAED,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,yBAAyB,EAAE,EACnC,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,OAAO,EACpB,OAAO,UAAQ,GACd,IAAI,CAON;AAED,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,OAAO,UAAQ,GACd,MAAM,CAGR;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,qBAAqB,EAAE,EACjC,OAAO,GAAE,kBAAuB,GAC/B,yBAAyB,EAAE,CAsC7B"}
|