webdaemon 25.9.1 → 26.0.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.
@@ -12,6 +12,7 @@ export * from "./js/Storage.js";
12
12
  /** Backend libs */
13
13
  export * from "./ts/Assertions.ts";
14
14
  export * from "./ts/GenerativeChatAgent.ts";
15
+ export * from "./ts/GenerativeChatEvents.ts";
15
16
  export * from "./ts/HtmlContent.ts";
16
17
  export * from "./ts/Lifecycle.ts";
17
18
  export * from "./ts/McpAgentTools.ts";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../index.ts"],"names":[],"mappings":"AAAA,kBAAkB;AAClB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,+BAA+B,CAAC;AAC9C,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAE9B,mBAAmB;AACnB,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAEhC,mBAAmB;AACnB,cAAc,oBAAoB,CAAC;AACnC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../index.ts"],"names":[],"mappings":"AAAA,kBAAkB;AAClB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,+BAA+B,CAAC;AAC9C,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAE9B,mBAAmB;AACnB,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAEhC,mBAAmB;AACnB,cAAc,oBAAoB,CAAC;AACnC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import { Token } from '../js/Token.js';
2
- import { type ChatToolCall, type JSONRecord, type ToolResult } from './McpAgentTools.ts';
2
+ import { type ChatToolCall } from './McpAgentTools.ts';
3
3
  import { type McpContext } from './McpServer.ts';
4
+ import { type GenerativeChatRenderEvent } from './GenerativeChatEvents.ts';
4
5
  import type { McpCapabilityToken } from './McpToolAuthorization.ts';
5
6
  import type { YamlContent } from './YamlContent.ts';
6
7
  /**
@@ -45,21 +46,6 @@ export interface GenerativeChatAgentOptions {
45
46
  */
46
47
  resolveMemorySelection?: (targetParty: string, forward: ForwardContext) => Promise<string[] | undefined>;
47
48
  }
48
- export interface GenerativeChatMessage {
49
- role?: string;
50
- content?: string;
51
- party?: string;
52
- toolCalls?: ChatToolCall[];
53
- toolResults?: ToolResult[];
54
- reasoning?: ChatReasoning[];
55
- metadata?: JSONRecord;
56
- }
57
- /** Provider-native reasoning attached to an assistant turn (Anthropic `thinking`
58
- * blocks, OpenAI Responses `reasoning` items). Rendered as collapsible thinking. */
59
- export interface ChatReasoning {
60
- text?: string;
61
- redacted?: boolean;
62
- }
63
49
  /**
64
50
  * Identity to forward to the target party so it authorizes tool/memory use as
65
51
  * the connecting counterparty (not the agent). `oauthContext` carries an OAuth
@@ -69,11 +55,7 @@ export interface ChatReasoning {
69
55
  interface ForwardContext {
70
56
  oauthContext: string | null;
71
57
  counterpartyContext: string | null;
72
- }
73
- export interface GenerativeChatRenderEvent {
74
- role: 'user' | 'assistant' | 'tool' | 'tool-result' | 'thinking';
75
- content: string;
76
- error?: boolean;
58
+ continuation: string | null;
77
59
  }
78
60
  export interface GenerativeChatConversationResult {
79
61
  events: GenerativeChatRenderEvent[];
@@ -1 +1 @@
1
- {"version":3,"file":"GenerativeChatAgent.d.ts","sourceRoot":"","sources":["../../../ts/GenerativeChatAgent.ts"],"names":[],"mappings":"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"}
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,EAG/B,MAAM,2BAA2B,CAAA;AAElC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAGnE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAgBnD;;;;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,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;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;;gBAmBlB,OAAO,EAAE,0BAA0B;IA2BzC,OAAO,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC;IA+C5C,SAAS,CACb,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CAo2B/B"}
@@ -0,0 +1,65 @@
1
+ import type { ChatToolCall, ToolResult } from './McpAgentTools.ts';
2
+ /** Provider-native reasoning attached to an assistant turn (Anthropic `thinking`
3
+ * blocks, OpenAI Responses `reasoning` items). Rendered as collapsible thinking. */
4
+ export interface ChatReasoning {
5
+ text?: string;
6
+ redacted?: boolean;
7
+ }
8
+ export interface GenerativeChatMessage {
9
+ role?: string;
10
+ content?: string;
11
+ party?: string;
12
+ toolCalls?: ChatToolCall[];
13
+ toolResults?: ToolResult[];
14
+ reasoning?: ChatReasoning[];
15
+ metadata?: Record<string, unknown>;
16
+ }
17
+ /**
18
+ * A render-ready transcript event. Both the live `/send` conversation result and
19
+ * a reloaded history (via {@link historyToRenderEvents}) produce this same shape,
20
+ * so an app renders both through one loop.
21
+ */
22
+ export interface GenerativeChatRenderEvent {
23
+ role: 'user' | 'assistant' | 'tool' | 'tool-result' | 'thinking';
24
+ content: string;
25
+ error?: boolean;
26
+ }
27
+ /** Options shared by the history converter and the live event builders. */
28
+ export interface RenderEventOptions {
29
+ /** Emit `tool` / `tool-result` events. Mirrors the live `toolDetails` flag. */
30
+ toolDetails?: boolean;
31
+ /** Tool names that run in the browser, used only to label `tool` events. */
32
+ clientToolNames?: Set<string>;
33
+ }
34
+ /**
35
+ * Expand the assistant turn: its native reasoning (as collapsible `thinking`
36
+ * events ahead of the answer) and its text content. Tool-call events are added
37
+ * separately by the caller, since live and history source them differently.
38
+ */
39
+ export declare function appendAssistantEvent(events: GenerativeChatRenderEvent[], message: GenerativeChatMessage): void;
40
+ /**
41
+ * Emit a turn's provider-native reasoning ({@link GenerativeChatMessage.reasoning})
42
+ * as collapsible `thinking` render events. Redacted and empty blocks have no
43
+ * displayable text and are skipped.
44
+ */
45
+ export declare function appendReasoningEvents(events: GenerativeChatRenderEvent[], reasoning: ChatReasoning[] | undefined): void;
46
+ export declare function toolCallMessage(call: ChatToolCall, isClientTool: boolean): string;
47
+ export declare function appendToolResultEvent(events: GenerativeChatRenderEvent[], name: string, content: string, toolDetails: boolean, isError?: boolean): void;
48
+ export declare function toolResultMessage(name: string, content: string, isError?: boolean): string;
49
+ /**
50
+ * Convert a persisted chat history (`GenerativeChatMessage[]`, as returned on a
51
+ * session's `history`) into the same flat {@link GenerativeChatRenderEvent} stream
52
+ * the live `/send` path produces — so a reloaded transcript renders identically to
53
+ * the live one (reasoning as `thinking`, tool calls/results as `tool` /
54
+ * `tool-result`). Reuses the live formatters so the two never drift.
55
+ *
56
+ * - `user` turns become a `user` event (empty-content turns, e.g. the tool-result
57
+ * carrier, are skipped here and surfaced from the following `tool` turn).
58
+ * - `assistant` turns expand to `thinking` + `assistant` + a `tool` event per
59
+ * `toolCalls` entry (tool events gated by `toolDetails`).
60
+ * - `tool` turns expand to a `tool-result` event per `toolResults` entry (gated by
61
+ * `toolDetails`).
62
+ * - `system` and unrecognised turns are skipped — they are not render events.
63
+ */
64
+ export declare function historyToRenderEvents(messages: GenerativeChatMessage[], options?: RenderEventOptions): GenerativeChatRenderEvent[];
65
+ //# sourceMappingURL=GenerativeChatEvents.d.ts.map
@@ -0,0 +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"}
package/package.json CHANGED
@@ -13,7 +13,7 @@
13
13
  "files": [
14
14
  "dist"
15
15
  ],
16
- "version": "25.9.1",
16
+ "version": "26.0.0",
17
17
  "description": "Web Daemon",
18
18
  "module": "./dist/index.js",
19
19
  "keywords": [