@syntrologie/adapt-chatbot 2.27.0 → 2.29.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/AdaptiveChatBar.composer.test.d.ts +2 -0
- package/dist/AdaptiveChatBar.composer.test.d.ts.map +1 -0
- package/dist/AdaptiveChatBar.d.ts +212 -0
- package/dist/AdaptiveChatBar.d.ts.map +1 -0
- package/dist/AdaptiveChatBar.js +11 -0
- package/dist/AdaptiveChatBar.js.map +7 -0
- package/dist/AdaptiveChatBarMountable.d.ts +82 -0
- package/dist/AdaptiveChatBarMountable.d.ts.map +1 -0
- package/dist/AdaptiveChatTrail.anchor-scroll.test.d.ts +2 -0
- package/dist/AdaptiveChatTrail.anchor-scroll.test.d.ts.map +1 -0
- package/dist/AdaptiveChatTrail.d.ts +469 -0
- package/dist/AdaptiveChatTrail.d.ts.map +1 -0
- package/dist/AdaptiveChatTrail.js +11 -0
- package/dist/AdaptiveChatTrail.js.map +7 -0
- package/dist/AdaptiveChatTrail.test.d.ts +2 -0
- package/dist/AdaptiveChatTrail.test.d.ts.map +1 -0
- package/dist/AdaptiveChipsStrip.d.ts +1156 -0
- package/dist/AdaptiveChipsStrip.d.ts.map +1 -0
- package/dist/AdaptiveChipsStrip.js +11 -0
- package/dist/AdaptiveChipsStrip.js.map +7 -0
- package/dist/AdaptiveChipsStripMountable.d.ts +24 -0
- package/dist/AdaptiveChipsStripMountable.d.ts.map +1 -0
- package/dist/ChatAssistantLit.d.ts +22 -50
- package/dist/ChatAssistantLit.d.ts.map +1 -1
- package/dist/ChatAssistantLit.js +6 -3
- package/dist/ChatSession.d.ts +239 -0
- package/dist/ChatSession.d.ts.map +1 -0
- package/dist/ChatTransport.d.ts +390 -0
- package/dist/ChatTransport.d.ts.map +1 -0
- package/dist/InlineRegistryWidgetMount.test.d.ts +2 -0
- package/dist/InlineRegistryWidgetMount.test.d.ts.map +1 -0
- package/dist/InlineWidgetLiveMount.test.d.ts +2 -0
- package/dist/InlineWidgetLiveMount.test.d.ts.map +1 -0
- package/dist/NavLinkMountable.d.ts +25 -0
- package/dist/NavLinkMountable.d.ts.map +1 -0
- package/dist/NavLinkMountable.test.d.ts +2 -0
- package/dist/NavLinkMountable.test.d.ts.map +1 -0
- package/dist/TextAnswerMountable.d.ts +17 -0
- package/dist/TextAnswerMountable.d.ts.map +1 -0
- package/dist/TextAnswerMountable.test.d.ts +2 -0
- package/dist/TextAnswerMountable.test.d.ts.map +1 -0
- package/dist/Turnstile.d.ts +83 -0
- package/dist/Turnstile.d.ts.map +1 -0
- package/dist/chunk-A7RBZLIX.js +1678 -0
- package/dist/chunk-A7RBZLIX.js.map +7 -0
- package/dist/chunk-EACGDSJI.js +237 -0
- package/dist/chunk-EACGDSJI.js.map +7 -0
- package/dist/chunk-EWPPVPJ4.js +14 -0
- package/dist/chunk-EWPPVPJ4.js.map +7 -0
- package/dist/chunk-FXHYE6FY.js +632 -0
- package/dist/chunk-FXHYE6FY.js.map +7 -0
- package/dist/chunk-OIGVZGSX.js +641 -0
- package/dist/chunk-OIGVZGSX.js.map +7 -0
- package/dist/chunk-VZIUXXAM.js +4015 -0
- package/dist/chunk-VZIUXXAM.js.map +7 -0
- package/dist/{chunk-W457NMGD.js → chunk-ZXV4GXMO.js} +2149 -4254
- package/dist/chunk-ZXV4GXMO.js.map +7 -0
- package/dist/elements/ActionHandler.d.ts +34 -0
- package/dist/elements/ActionHandler.d.ts.map +1 -0
- package/dist/elements/ElementInstanceStore.d.ts +217 -0
- package/dist/elements/ElementInstanceStore.d.ts.map +1 -0
- package/dist/elements/ElementInstanceStore.test.d.ts +2 -0
- package/dist/elements/ElementInstanceStore.test.d.ts.map +1 -0
- package/dist/elements/ElementTypeHandler.d.ts +77 -0
- package/dist/elements/ElementTypeHandler.d.ts.map +1 -0
- package/dist/elements/ItemHandler.d.ts +60 -0
- package/dist/elements/ItemHandler.d.ts.map +1 -0
- package/dist/elements/ItemHandler.test.d.ts +2 -0
- package/dist/elements/ItemHandler.test.d.ts.map +1 -0
- package/dist/elements/TileHandler.d.ts +52 -0
- package/dist/elements/TileHandler.d.ts.map +1 -0
- package/dist/elements/TileHandler.test.d.ts +2 -0
- package/dist/elements/TileHandler.test.d.ts.map +1 -0
- package/dist/elements/__tests__/ElementInstanceStore.recall.test.d.ts +2 -0
- package/dist/elements/__tests__/ElementInstanceStore.recall.test.d.ts.map +1 -0
- package/dist/elements/blockRenderer.d.ts +46 -0
- package/dist/elements/blockRenderer.d.ts.map +1 -0
- package/dist/elements/blockRenderer.test.d.ts +13 -0
- package/dist/elements/blockRenderer.test.d.ts.map +1 -0
- package/dist/elements/blocks.d.ts +58 -0
- package/dist/elements/blocks.d.ts.map +1 -0
- package/dist/elements/envelope.d.ts +24 -0
- package/dist/elements/envelope.d.ts.map +1 -0
- package/dist/elements/fetcher.d.ts +40 -0
- package/dist/elements/fetcher.d.ts.map +1 -0
- package/dist/elements/index.d.ts +33 -0
- package/dist/elements/index.d.ts.map +1 -0
- package/dist/elements/store-singleton.d.ts +4 -0
- package/dist/elements/store-singleton.d.ts.map +1 -0
- package/dist/elements/types.d.ts +110 -0
- package/dist/elements/types.d.ts.map +1 -0
- package/dist/observer/__tests__/allowlist.test.d.ts +9 -0
- package/dist/observer/__tests__/allowlist.test.d.ts.map +1 -0
- package/dist/observer/__tests__/bus-translate.test.d.ts +16 -0
- package/dist/observer/__tests__/bus-translate.test.d.ts.map +1 -0
- package/dist/observer/__tests__/lifecycle.test.d.ts +2 -0
- package/dist/observer/__tests__/lifecycle.test.d.ts.map +1 -0
- package/dist/observer/__tests__/observer-enrich.test.d.ts +10 -0
- package/dist/observer/__tests__/observer-enrich.test.d.ts.map +1 -0
- package/dist/observer/__tests__/observer-isolation.test.d.ts +13 -0
- package/dist/observer/__tests__/observer-isolation.test.d.ts.map +1 -0
- package/dist/observer/__tests__/queue.test.d.ts +2 -0
- package/dist/observer/__tests__/queue.test.d.ts.map +1 -0
- package/dist/observer/__tests__/transport.test.d.ts +2 -0
- package/dist/observer/__tests__/transport.test.d.ts.map +1 -0
- package/dist/observer/allowlist.d.ts +30 -0
- package/dist/observer/allowlist.d.ts.map +1 -0
- package/dist/observer/bus-translate.d.ts +33 -0
- package/dist/observer/bus-translate.d.ts.map +1 -0
- package/dist/observer/index.d.ts +44 -0
- package/dist/observer/index.d.ts.map +1 -0
- package/dist/observer/queue.d.ts +63 -0
- package/dist/observer/queue.d.ts.map +1 -0
- package/dist/observer/transport.d.ts +27 -0
- package/dist/observer/transport.d.ts.map +1 -0
- package/dist/personas.d.ts +30 -0
- package/dist/personas.d.ts.map +1 -0
- package/dist/runtime.d.ts +9 -0
- package/dist/runtime.d.ts.map +1 -1
- package/dist/runtime.js +2345 -3
- package/dist/runtime.js.map +4 -4
- package/dist/schema.d.ts +3426 -17
- package/dist/schema.d.ts.map +1 -1
- package/dist/schema.js +213 -0
- package/dist/schema.js.map +2 -2
- package/dist/test/setup.d.ts +1 -0
- package/dist/test/setup.d.ts.map +1 -0
- package/dist/types.d.ts +46 -2
- package/dist/types.d.ts.map +1 -1
- package/package.json +17 -1
- package/dist/chunk-W457NMGD.js.map +0 -7
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AdaptiveChipsStrip.d.ts","sourceRoot":"","sources":["../src/AdaptiveChipsStrip.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import {
|
|
2
|
+
AdaptiveChipsStrip,
|
|
3
|
+
SuggestionChipSchema
|
|
4
|
+
} from "./chunk-OIGVZGSX.js";
|
|
5
|
+
import "./chunk-EACGDSJI.js";
|
|
6
|
+
import "./chunk-UVKRO5ER.js";
|
|
7
|
+
export {
|
|
8
|
+
AdaptiveChipsStrip,
|
|
9
|
+
SuggestionChipSchema
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=AdaptiveChipsStrip.js.map
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AdaptiveChipsStripMountable — `MountableWidget` adapter for
|
|
3
|
+
* `<adaptive-chips-strip>`. Registered as widget id
|
|
4
|
+
* `adaptive-chatbot:chips-strip`.
|
|
5
|
+
*
|
|
6
|
+
* Mirrors `AdaptiveChatBarMountable`: creates the Lit element, forwards
|
|
7
|
+
* props, bridges DOM events → prop callbacks, cleans up on unmount.
|
|
8
|
+
*
|
|
9
|
+
* Props (passed via mountConfig):
|
|
10
|
+
* - `chips: SuggestionChip[]` — the strip's contents (required)
|
|
11
|
+
* - `onChipRevealed?: ({id, payload}) => void` — fires when a chip
|
|
12
|
+
* is opened
|
|
13
|
+
* - `onChipDismissed?: ({id}) => void` — fires when × is clicked
|
|
14
|
+
*
|
|
15
|
+
* The runtime registry injects `runtime` into mountConfig (see
|
|
16
|
+
* `WidgetRegistry.mount`). We forward it as `runtimeRef` on the strip
|
|
17
|
+
* so it can mount chip payload widgets through the same registry.
|
|
18
|
+
*/
|
|
19
|
+
import './AdaptiveChipsStrip';
|
|
20
|
+
export declare const AdaptiveChipsStripMountable: {
|
|
21
|
+
mount(container: HTMLElement, mountConfig?: Record<string, unknown>): () => void;
|
|
22
|
+
update(container: HTMLElement, mountConfig?: Record<string, unknown>): void;
|
|
23
|
+
};
|
|
24
|
+
//# sourceMappingURL=AdaptiveChipsStripMountable.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AdaptiveChipsStripMountable.d.ts","sourceRoot":"","sources":["../src/AdaptiveChipsStripMountable.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,sBAAsB,CAAC;AA0C9B,eAAO,MAAM,2BAA2B;qBACrB,WAAW,gBAAgB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,IAAI;sBAqC9D,WAAW,gBAAgB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;CAqB5E,CAAC"}
|
|
@@ -11,20 +11,22 @@
|
|
|
11
11
|
* `window.__SYNTRO_CONFIG__.token` (set by runtime-config.js) — we read
|
|
12
12
|
* it at mount time and forward it via `Authorization: Bearer` header.
|
|
13
13
|
*
|
|
14
|
-
* 2. Cloudflare Turnstile bot-check token
|
|
15
|
-
* `
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
*
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
*
|
|
27
|
-
*
|
|
14
|
+
* 2. Cloudflare Turnstile bot-check token. When `TURNSTILE_SITEKEY` is
|
|
15
|
+
* set, render a single `size: 'flexible'` widget with
|
|
16
|
+
* `appearance: 'interaction-only'` against a `managed`-mode sitekey:
|
|
17
|
+
* • Clean traffic: CF passive-grades silently, token resolves in
|
|
18
|
+
* ~100ms, no UI is ever shown.
|
|
19
|
+
* • Flagged traffic (datacenter IP, automation, strict-privacy):
|
|
20
|
+
* CF renders an "I am human" checkbox inside the in-chat verify
|
|
21
|
+
* panel; on solve, swap to the chat UI.
|
|
22
|
+
* • Total failure (CSP blocks CF, network error, user dismisses):
|
|
23
|
+
* fall through with no token; backend enforcement 403s and the
|
|
24
|
+
* existing fallback card renders.
|
|
25
|
+
* The widget mode MUST be `managed` on the CF side — see
|
|
26
|
+
* cloudflare/turnstile/main.tf in syntro-infra. (`mode = 'invisible'`
|
|
27
|
+
* rejects any `size` other than `invisible`, and `size: 'invisible'`
|
|
28
|
+
* against `mode = 'managed'` fails with a synchronous TurnstileError —
|
|
29
|
+
* don't mix.)
|
|
28
30
|
* If sitekey is empty, this step is skipped entirely.
|
|
29
31
|
*
|
|
30
32
|
* 3. Fallback card. If the first agent run fails (Cloudflare Turnstile
|
|
@@ -39,49 +41,19 @@
|
|
|
39
41
|
* inside the chat surface.
|
|
40
42
|
*/
|
|
41
43
|
import '@syntrologie/chat';
|
|
42
|
-
import type { ChatbotConfig, ChatbotWidgetRuntime } from './types.js';
|
|
44
|
+
import type { ChatbotConfig, ChatbotFallback, ChatbotWidgetRuntime } from './types.js';
|
|
43
45
|
export interface ChatAssistantLitProps {
|
|
44
46
|
config: ChatbotConfig;
|
|
45
47
|
runtime: ChatbotWidgetRuntime;
|
|
46
48
|
tileId?: string;
|
|
47
49
|
}
|
|
48
|
-
export interface AcquireTurnstileOptions {
|
|
49
|
-
/**
|
|
50
|
-
* Widget size. `invisible` for the silent first attempt; `flexible`
|
|
51
|
-
* (or `normal`) for the visible managed checkbox after silent failure.
|
|
52
|
-
*/
|
|
53
|
-
size: 'invisible' | 'flexible' | 'normal' | 'compact';
|
|
54
|
-
/**
|
|
55
|
-
* Where to mount the widget. For `invisible` this is an off-screen
|
|
56
|
-
* host; for the visible sizes it must be a container that's actually
|
|
57
|
-
* in the layout so CF can render the challenge UI. When omitted, an
|
|
58
|
-
* off-screen div is created and removed automatically (suitable for
|
|
59
|
-
* `invisible` only — visible sizes need a real host).
|
|
60
|
-
*/
|
|
61
|
-
host?: HTMLElement;
|
|
62
|
-
/**
|
|
63
|
-
* Cancels an in-flight acquisition. On abort, the promise resolves to
|
|
64
|
-
* `null`, the CF widget is removed from the registry, and any owned
|
|
65
|
-
* host is torn down. Required for cleanup-during-challenge — without
|
|
66
|
-
* it, a user dismissing the tile mid-checkbox leaks the widget.
|
|
67
|
-
*/
|
|
68
|
-
signal?: AbortSignal;
|
|
69
|
-
}
|
|
70
50
|
/**
|
|
71
|
-
*
|
|
72
|
-
*
|
|
73
|
-
*
|
|
74
|
-
*
|
|
75
|
-
* • Cloudflare returns an error-callback (e.g., rate-limited, bad sitekey)
|
|
76
|
-
*
|
|
77
|
-
* Calls `turnstile.remove(widgetId)` on settle so CF's internal widget
|
|
78
|
-
* registry doesn't leak across re-mounts (CF will otherwise log
|
|
79
|
-
* `Cannot find Widget ...` when subsequent renders look up the old
|
|
80
|
-
* widget by id and find the host gone).
|
|
81
|
-
*
|
|
82
|
-
* Exported for tests; the production code path goes through `mount()`.
|
|
51
|
+
* Build the inline HTML for the fallback card. Customer-supplied copy wins;
|
|
52
|
+
* everything else falls back to generic copy. The card avoids any reference
|
|
53
|
+
* to Cloudflare or Turnstile so the end-user is never confronted with our
|
|
54
|
+
* implementation details.
|
|
83
55
|
*/
|
|
84
|
-
export declare function
|
|
56
|
+
export declare function renderFallbackHtml(fallback: ChatbotFallback | undefined): string;
|
|
85
57
|
export declare const ChatAssistantLitMountable: {
|
|
86
58
|
mount(container: HTMLElement, mountConfig?: Record<string, unknown>): () => void;
|
|
87
59
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChatAssistantLit.d.ts","sourceRoot":"","sources":["../src/ChatAssistantLit.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"ChatAssistantLit.d.ts","sourceRoot":"","sources":["../src/ChatAssistantLit.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AAGH,OAAO,mBAAmB,CAAC;AAa3B,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAEvF,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,aAAa,CAAC;IACtB,OAAO,EAAE,oBAAoB,CAAC;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AA8CD;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,eAAe,GAAG,SAAS,GAAG,MAAM,CAiEhF;AAED,eAAO,MAAM,yBAAyB;qBACnB,WAAW,gBAAgB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAqdpE,CAAC"}
|
package/dist/ChatAssistantLit.js
CHANGED
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
import {
|
|
2
2
|
ChatAssistantLitMountable,
|
|
3
|
-
|
|
4
|
-
} from "./chunk-
|
|
3
|
+
renderFallbackHtml
|
|
4
|
+
} from "./chunk-ZXV4GXMO.js";
|
|
5
|
+
import "./chunk-EWPPVPJ4.js";
|
|
6
|
+
import "./chunk-VZIUXXAM.js";
|
|
7
|
+
import "./chunk-EACGDSJI.js";
|
|
5
8
|
import "./chunk-UVKRO5ER.js";
|
|
6
9
|
export {
|
|
7
10
|
ChatAssistantLitMountable,
|
|
8
|
-
|
|
11
|
+
renderFallbackHtml
|
|
9
12
|
};
|
|
10
13
|
//# sourceMappingURL=ChatAssistantLit.js.map
|
|
@@ -0,0 +1,239 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* ChatSession — singleton holder of the chat conversation state.
|
|
3
|
+
*
|
|
4
|
+
* The chat is conceptually one thing. Whether it's rendered in the
|
|
5
|
+
* mini-canvas's lid, the drawer's lid, or as a tile inside any slot,
|
|
6
|
+
* they're all VIEWS of the same conversation. This module owns that
|
|
7
|
+
* shared state.
|
|
8
|
+
*
|
|
9
|
+
* Why a module-level singleton (not on `runtime`):
|
|
10
|
+
* - Per-page scope is the right granularity for a chat (one user,
|
|
11
|
+
* one conversation, however many canvas instances on the page).
|
|
12
|
+
* - Avoids a new SmartCanvasRuntime API surface for now. Easy to
|
|
13
|
+
* promote to `runtime.chat` later without breaking the widget API.
|
|
14
|
+
* - Module identity is stable per page; multiple imports return the
|
|
15
|
+
* same instance.
|
|
16
|
+
*
|
|
17
|
+
* Separation of concerns:
|
|
18
|
+
* - `ChatSession` owns state: messages, inFlight.
|
|
19
|
+
* - Views (AdaptiveChatBar via AdaptiveChatBarMountable) subscribe
|
|
20
|
+
* to state changes and dispatch user actions back via send() /
|
|
21
|
+
* interrupt().
|
|
22
|
+
* - Transports (the LLM call, SSE pipeline, stub timers) listen
|
|
23
|
+
* for "send" / "interrupt" events and eventually call receive()
|
|
24
|
+
* with the assistant's reply. Transports are NOT owned by this
|
|
25
|
+
* module — adapters live separately.
|
|
26
|
+
*
|
|
27
|
+
* No persistence in this slice. Future: snapshot to runtime.state
|
|
28
|
+
* for cross-session continuity.
|
|
29
|
+
*/
|
|
30
|
+
import type { TrailMessage, TrailToolCall } from './AdaptiveChatTrail';
|
|
31
|
+
export interface ChatSessionState {
|
|
32
|
+
readonly messages: readonly TrailMessage[];
|
|
33
|
+
readonly inFlight: boolean;
|
|
34
|
+
/**
|
|
35
|
+
* Latest reasoning narration from the model, streamed via the
|
|
36
|
+
* AG-UI `THINKING_TEXT_MESSAGE_CONTENT` channel. Empty string when
|
|
37
|
+
* no thinking turn is active. Consumers render this in place of
|
|
38
|
+
* the silent loading dots while the model decides what to do
|
|
39
|
+
* between tool calls. Cleared the moment a real text or tool-call
|
|
40
|
+
* event lands — at that point the model has switched to producing
|
|
41
|
+
* visible output and the narration is over.
|
|
42
|
+
*/
|
|
43
|
+
readonly thinkingText: string;
|
|
44
|
+
}
|
|
45
|
+
export interface ToolResultEvent {
|
|
46
|
+
toolCallId: string;
|
|
47
|
+
result: unknown;
|
|
48
|
+
approved: boolean;
|
|
49
|
+
}
|
|
50
|
+
export type ChatSessionSubscriber = (state: ChatSessionState) => void;
|
|
51
|
+
export type SendListener = (event: {
|
|
52
|
+
text: string;
|
|
53
|
+
id: string;
|
|
54
|
+
activeLidSlot?: string;
|
|
55
|
+
forwardedProps?: Record<string, unknown>;
|
|
56
|
+
}) => void;
|
|
57
|
+
export type InterruptListener = () => void;
|
|
58
|
+
export type ToolResultListener = (event: ToolResultEvent) => void;
|
|
59
|
+
/** Optional per-send envelope. */
|
|
60
|
+
export interface SendOptions {
|
|
61
|
+
/**
|
|
62
|
+
* The slot the calling chat-bar lives in (e.g. ``"drawer"``,
|
|
63
|
+
* ``"adaptive-chat"``). Forwarded to transport listeners so the
|
|
64
|
+
* outbound request can tag the correct ``X-Active-Lid-Slot`` regardless
|
|
65
|
+
* of which bar most recently configured the singleton transport.
|
|
66
|
+
* Without per-send threading, two coexisting chat-bars race over the
|
|
67
|
+
* transport's cached ``activeLidSlot`` and the user-facing routing
|
|
68
|
+
* silently follows whichever bar configured last.
|
|
69
|
+
*/
|
|
70
|
+
activeLidSlot?: string;
|
|
71
|
+
/**
|
|
72
|
+
* Merged into THIS request's forwardedProps only — never sticky. The
|
|
73
|
+
* transport spreads it over the config-level forwardedProps for the one
|
|
74
|
+
* AG-UI request this send produces (see ChatTransport). Used for turn
|
|
75
|
+
* provenance (`{ origin: TurnOrigin }`): a later typed message must not
|
|
76
|
+
* inherit it, or every message would look synthetic.
|
|
77
|
+
*/
|
|
78
|
+
forwardedProps?: Record<string, unknown>;
|
|
79
|
+
}
|
|
80
|
+
export type Unsubscribe = () => void;
|
|
81
|
+
export declare class ChatSession {
|
|
82
|
+
private _messages;
|
|
83
|
+
private _inFlight;
|
|
84
|
+
private _runActive;
|
|
85
|
+
private _thinkingText;
|
|
86
|
+
private _nextId;
|
|
87
|
+
private subscribers;
|
|
88
|
+
private sendListeners;
|
|
89
|
+
private interruptListeners;
|
|
90
|
+
private toolResultListeners;
|
|
91
|
+
/** Snapshot the current state. Always returns a fresh immutable view. */
|
|
92
|
+
getState(): ChatSessionState;
|
|
93
|
+
/**
|
|
94
|
+
* Append a delta to the active thinking turn's narration buffer.
|
|
95
|
+
* Forwarded from the AG-UI THINKING_TEXT_MESSAGE_CONTENT event so
|
|
96
|
+
* the chat trail can render the model's own reasoning instead of
|
|
97
|
+
* silent loading dots between turns.
|
|
98
|
+
*/
|
|
99
|
+
appendThinkingDelta(delta: string): void;
|
|
100
|
+
/**
|
|
101
|
+
* Replace the active thinking narration outright (vs. appendThinkingDelta's
|
|
102
|
+
* streaming accumulation). Used to surface tool-call progress — e.g.
|
|
103
|
+
* "Searching…" while the agent works a tool — so a long tool phase shows
|
|
104
|
+
* what's happening instead of silent dots. No-op if unchanged.
|
|
105
|
+
*/
|
|
106
|
+
setThinkingText(text: string): void;
|
|
107
|
+
/**
|
|
108
|
+
* End the active thinking turn — drop any narration so the trail
|
|
109
|
+
* stops showing it. Fires on real text-message-start and on
|
|
110
|
+
* tool-call-start, the moment the model switches from reasoning
|
|
111
|
+
* to visible output.
|
|
112
|
+
*/
|
|
113
|
+
clearThinking(): void;
|
|
114
|
+
setRunActive(active: boolean): void;
|
|
115
|
+
/**
|
|
116
|
+
* Subscribe to state changes. Called immediately with the current
|
|
117
|
+
* state, then again on every change. Returns an unsubscribe function.
|
|
118
|
+
*/
|
|
119
|
+
subscribe(cb: ChatSessionSubscriber): Unsubscribe;
|
|
120
|
+
/**
|
|
121
|
+
* User submitted a message. Appends a user-role message, sets
|
|
122
|
+
* inFlight=true, notifies state subscribers, and fires a "send"
|
|
123
|
+
* event so transports can pick it up. Empty/whitespace text is a
|
|
124
|
+
* no-op (matches the chat bar's local guard).
|
|
125
|
+
*/
|
|
126
|
+
send(text: string, opts?: SendOptions): void;
|
|
127
|
+
/**
|
|
128
|
+
* Single-shot assistant reply (no streaming). Equivalent to
|
|
129
|
+
* receiveStart + receiveDelta + receiveEnd in one call. Useful for
|
|
130
|
+
* stub transports and tests that don't model streaming.
|
|
131
|
+
*/
|
|
132
|
+
receive(text: string): void;
|
|
133
|
+
/**
|
|
134
|
+
* Begin a streaming assistant message. Appends an empty assistant
|
|
135
|
+
* message with status='streaming'. Caller (transport adapter) feeds
|
|
136
|
+
* deltas via receiveDelta(id, text) and signals completion via
|
|
137
|
+
* receiveEnd(id). `inFlight` stays true through the stream.
|
|
138
|
+
*/
|
|
139
|
+
receiveStart(id: string): void;
|
|
140
|
+
/**
|
|
141
|
+
* Append a delta to a streaming message. No-op when the id is
|
|
142
|
+
* unknown (race between transport events and reset, etc.) — never
|
|
143
|
+
* throws so transports can fire-and-forget.
|
|
144
|
+
*/
|
|
145
|
+
receiveDelta(id: string, delta: string): void;
|
|
146
|
+
/**
|
|
147
|
+
* Mark a streaming message complete and clear inFlight. No-op when
|
|
148
|
+
* the id is unknown (defensive against transport double-fires).
|
|
149
|
+
*/
|
|
150
|
+
receiveEnd(id: string): void;
|
|
151
|
+
/**
|
|
152
|
+
* Transport reports a fatal error. Marks any in-flight streaming
|
|
153
|
+
* message as 'error' (so the trail can render a styled error chip
|
|
154
|
+
* instead of pretending the partial text was a complete answer),
|
|
155
|
+
* appends a system-role message with the error text for visibility,
|
|
156
|
+
* and clears inFlight. Also drops any pending thinking narration
|
|
157
|
+
* — leaving stale "Let me check…" alongside an error chip reads
|
|
158
|
+
* as if the assistant is still working when it isn't.
|
|
159
|
+
*/
|
|
160
|
+
error(message: string): void;
|
|
161
|
+
/**
|
|
162
|
+
* User clicked the in-flight stop button. Clears inFlight and
|
|
163
|
+
* fires an "interrupt" event so transports can cancel their
|
|
164
|
+
* in-flight request. No-op if not in-flight (idempotent). Drops
|
|
165
|
+
* any pending thinking narration for the same reason as error():
|
|
166
|
+
* the visitor explicitly asked the assistant to stop, so it
|
|
167
|
+
* shouldn't keep narrating in the trail.
|
|
168
|
+
*/
|
|
169
|
+
interrupt(): void;
|
|
170
|
+
/**
|
|
171
|
+
* Wipe state. Used by the canvas-close path (start a fresh
|
|
172
|
+
* conversation next time) and by tests.
|
|
173
|
+
*/
|
|
174
|
+
reset(): void;
|
|
175
|
+
/** Register a transport's send listener. Returns unsubscribe. */
|
|
176
|
+
onSend(listener: SendListener): Unsubscribe;
|
|
177
|
+
/**
|
|
178
|
+
* True when at least one transport has wired itself to the session's
|
|
179
|
+
* send pipeline. Views can use this to surface "no chat backend
|
|
180
|
+
* connected" affordances instead of hanging in `inFlight` after a
|
|
181
|
+
* send fires into the void.
|
|
182
|
+
*/
|
|
183
|
+
hasTransport(): boolean;
|
|
184
|
+
/** Register a transport's interrupt listener. Returns unsubscribe. */
|
|
185
|
+
onInterrupt(listener: InterruptListener): Unsubscribe;
|
|
186
|
+
/**
|
|
187
|
+
* Register a transport's tool-result listener. The transport
|
|
188
|
+
* forwards `tool-result` actions back to the agent after the user
|
|
189
|
+
* approves or rejects a client-tool call. Returns unsubscribe.
|
|
190
|
+
*/
|
|
191
|
+
onToolResult(listener: ToolResultListener): Unsubscribe;
|
|
192
|
+
/**
|
|
193
|
+
* Attach a tool call to a streaming assistant message. No-op when
|
|
194
|
+
* the message id is unknown (race between transport events and
|
|
195
|
+
* reset / late mount).
|
|
196
|
+
*/
|
|
197
|
+
addToolCall(messageId: string | number, toolCall: TrailToolCall): void;
|
|
198
|
+
/**
|
|
199
|
+
* Partially update a tool call by id. Used by the transport to
|
|
200
|
+
* advance status (args-streaming → running → done) as AG-UI events
|
|
201
|
+
* arrive. No-op when the id is unknown.
|
|
202
|
+
*/
|
|
203
|
+
updateToolCall(toolCallId: string, patch: Partial<TrailToolCall>): void;
|
|
204
|
+
/**
|
|
205
|
+
* Resolve a (client-) tool call. Marks the call done, persists, and
|
|
206
|
+
* fires onToolResult so the transport can forward the result + the
|
|
207
|
+
* user's approve/reject decision back to the agent. No-op when the
|
|
208
|
+
* id is unknown.
|
|
209
|
+
*/
|
|
210
|
+
resolveToolCall(toolCallId: string, result: unknown, approved: boolean): void;
|
|
211
|
+
/**
|
|
212
|
+
* Hydrate from the server transcript (the /session SSE's
|
|
213
|
+
* messages-snapshot) — the server is the transcript of record
|
|
214
|
+
* (FEAT-1783701440). Snapshot order is truth: shared ids keep the
|
|
215
|
+
* LOCAL object (it may carry richer live tool-call state) but take the
|
|
216
|
+
* snapshot's position; snapshot-only messages (history on reload, a
|
|
217
|
+
* nudge missed during an SSE gap) are inserted; local-only messages
|
|
218
|
+
* (an in-flight turn, the greeting) float after in local order.
|
|
219
|
+
*
|
|
220
|
+
* Deploy-boundary guard: a user message persisted under a pre-Phase-2
|
|
221
|
+
* transport id (before ids were threaded) would arrive as
|
|
222
|
+
* "snapshot-only" next to its local twin — skip snapshot USER messages
|
|
223
|
+
* whose exact text already exists locally under a different id.
|
|
224
|
+
*/
|
|
225
|
+
hydrate(snapshotMessages: TrailMessage[]): void;
|
|
226
|
+
private notify;
|
|
227
|
+
}
|
|
228
|
+
/**
|
|
229
|
+
* The module-level singleton. Every `<adaptive-chat-bar>` (regardless
|
|
230
|
+
* of which slot it lives in) reads from and writes to this instance.
|
|
231
|
+
* Multiple imports of this module return the same object.
|
|
232
|
+
*
|
|
233
|
+
* Scope: per-page. Correct for the canonical case (one user, one
|
|
234
|
+
* conversation, however many canvas views surface it). Multiple
|
|
235
|
+
* `<smart-canvas>` instances on the same page will share state —
|
|
236
|
+
* tracked in project_future_work.md for per-runtime scoping.
|
|
237
|
+
*/
|
|
238
|
+
export declare const chatSession: ChatSession;
|
|
239
|
+
//# sourceMappingURL=ChatSession.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ChatSession.d.ts","sourceRoot":"","sources":["../src/ChatSession.ts"],"names":[],"mappings":"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"}
|