@webskill/chatbot 0.4.0 → 0.6.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.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { AgentLoopConfig, ApprovalScope, BridgeCapabilities, ExternalSkillProvider, ExternalToolSource, FileSystemProvider, HookRunner, InteractionRequest, InteractionResponse, LifecycleEventInit, LlmClient, NetworkPolicy, Page, PageQuery, RenderBlock, RenderResultRequest, RunSnapshot, RunSnapshotListEntry, RuntimePhase, ScriptExecutor, SessionStore, SkillCandidateMarker, SkillCatalogEntry, SkillIntegrityGuard, SkillOutcomeReporter, SkillStateGuard, UiBridge, UiSpecDrafts, UiSpecEvent, UiSpecSnapshot, UiSurfaceActionRequest, UiSurfaceActionResponse, UserProfile, UserProfileEntry, UserProfileExport, WebSkillErrorCode, diffUserProfile } from "@webskill/sdk";
1
+ import { AgentLoopConfig, ApprovalScope, BridgeCapabilities, ExternalSkillProvider, ExternalToolSource, FileSystemProvider, HookRunner, InteractionRequest, InteractionResponse, LifecycleEventInit, LlmClient, NetworkPolicy, Page, PageQuery, RenderBlock, RenderResultRequest, RunSnapshot, RunSnapshotListEntry, RuntimePhase, RuntimeRun, ScriptExecutor, SessionStore, SkillCandidateMarker, SkillCatalogEntry, SkillIntegrityGuard, SkillOutcomeReporter, SkillStateGuard, UiBridge, UiSpecDrafts, UiSpecEvent, UiSpecSnapshot, UiSurfaceActionRequest, UiSurfaceActionResponse, UserProfile, UserProfileExport, WebSkillErrorCode, diffUserProfile } from "@webskill/sdk";
2
2
  import { SandboxMode, TypeScriptSupportOptions } from "@webskill/sdk/browser";
3
3
  import { CustomSurfaceActionEvent, ReactBridgeState, SpecInteractionChannel, SurfaceRegistry, UiSurfaceActionEvent } from "@webskill/sdk/ui-react";
4
4
  import { PageActionPolicy, PagePerceptionPolicy, PerceptionRecord, SkillCandidateSink, TodoItem } from "@webskill/sdk/agent";
@@ -290,6 +290,18 @@ interface ChatbotGovernancePorts {
290
290
  skillOutcomeReporter?: SkillOutcomeReporter;
291
291
  /** `SkillStatePolicy.catalogFilter()`:非 active 技能不进路由候选集 */
292
292
  catalogFilter?: (entries: SkillCatalogEntry[]) => SkillCatalogEntry[] | Promise<SkillCatalogEntry[]>;
293
+ /**
294
+ * run 未激活任何技能时的钩子(如 `createMissHook`)。
295
+ *
296
+ * 开关存在 `GovernanceFacade.missHook`(属 console),chatbot 读不到也不该依赖它;
297
+ * 所以读开关是**宿主**的责任。宿主应传一个**每次触发时才读开关**的闭包,
298
+ * 而不是装配时把布尔值算好——`#assemble()` 不是每次 run 都跑,
299
+ * 算好了会导致「开着启动 → 中途关闭」不生效(AC-17.11)。
300
+ */
301
+ onSkillMiss?: (input: {
302
+ prompt: string;
303
+ run: RuntimeRun;
304
+ }) => Promise<void>;
293
305
  }
294
306
  /** 分配式交叉:直接写 `信封 & LifecycleEventInit` 会把联合压成一个对象,`phase` 的判别性就没了 */
295
307
  type WithChatMeta<T> = T extends unknown ? {
@@ -622,6 +634,20 @@ interface SandboxExecutorDeps {
622
634
  /** 缺省时 `.ts` 脚本按 `TOOL_UNSUPPORTED` 拒绝 */
623
635
  typescript?: TypeScriptSupportOptions;
624
636
  }
637
+ /**
638
+ * 装配时(而非执行时)把 `sandbox.typescript` 转成执行器参数,让配置错误早暴露。
639
+ * 只对绝对 URL 走 `RemoteUrlPolicy`:同源相对路径与打包器 specifier 不是出站请求。
640
+ */
641
+ /**
642
+ * 由 `RuntimeConfig` 装出沙箱执行器依赖。
643
+ *
644
+ * 主链路与**评估链路**共用这一处(T-17-H):此前评估侧只传 `fs`,
645
+ * 于是评估里跑的技能不受沙箱、网络策略、能力与授权范围约束——
646
+ * 那比「.ts 跑不了」严重得多(设计 17 §1.1a)。
647
+ *
648
+ * @experimental
649
+ */
650
+ declare function sandboxExecutorDeps(fs: FileSystemProvider, rc?: RuntimeConfig, uiBridge?: SandboxExecutorDeps['uiBridge']): SandboxExecutorDeps;
625
651
  /** @stable */
626
652
  interface ChatEngineOptions {
627
653
  llm?: LlmClient;
@@ -934,6 +960,8 @@ declare const chatbotDictionary: {
934
960
  'message.copied': string;
935
961
  'message.retry': string;
936
962
  'message.delete': string;
963
+ 'message.deleted.title': string;
964
+ 'message.deleted.description': string;
937
965
  'message.viewTrace': string;
938
966
  'message.skillsUsed': string;
939
967
  'message.edit': string;
@@ -1020,6 +1048,10 @@ declare const chatbotDictionary: {
1020
1048
  'interaction.allow': string;
1021
1049
  'interaction.deny': string;
1022
1050
  'interaction.required': string;
1051
+ 'surface.addItem': string;
1052
+ 'surface.removeItem': string;
1053
+ 'surface.arrayFirstItemOnly': string;
1054
+ 'surface.readOnlySnapshot': string;
1023
1055
  'interaction.wait': string;
1024
1056
  'interaction.wait.inPanel': string;
1025
1057
  'interaction.wait.fallback': string;
@@ -1027,6 +1059,7 @@ declare const chatbotDictionary: {
1027
1059
  'result.artifacts': string;
1028
1060
  'result.download': string;
1029
1061
  'result.file': string;
1062
+ 'result.block.unknown': string;
1030
1063
  'status.aria': string;
1031
1064
  'status.route': string;
1032
1065
  'status.activate': string;
@@ -1051,7 +1084,7 @@ declare const chatbotDictionary: {
1051
1084
  'composer.attachment.compressed': string;
1052
1085
  'composer.model': string;
1053
1086
  'composer.model.demo': string;
1054
- 'composer.menu': string;
1087
+ 'capability.group': string;
1055
1088
  'composer.pageCapture': string;
1056
1089
  'composer.pageCapture.disabled.setting': string;
1057
1090
  'composer.pageCapture.disabled.model': string;
@@ -1184,6 +1217,7 @@ declare const chatbotDictionary: {
1184
1217
  'vercel.preview.badge': string;
1185
1218
  'vercel.preview.description': string;
1186
1219
  'surface.legacy.placeholder': string;
1220
+ 'a11y.messageActions': string;
1187
1221
  'error.title': string;
1188
1222
  'error.suggestion': string;
1189
1223
  'error.suggestion.LLM_UNAVAILABLE': string;
@@ -1194,6 +1228,7 @@ declare const chatbotDictionary: {
1194
1228
  'error.suggestion.TOOL_RESOLUTION_EXHAUSTED': string;
1195
1229
  'error.limit.totalTimeoutMs': string;
1196
1230
  'error.limit.maxTurns': string;
1231
+ 'error.message.RUN_CANCELLED': string;
1197
1232
  'error.openSettings': string;
1198
1233
  'error.dismiss': string;
1199
1234
  };
@@ -1249,6 +1284,8 @@ declare const chatbotDictionary: {
1249
1284
  'message.editCancel': string;
1250
1285
  'message.retry': string;
1251
1286
  'message.delete': string;
1287
+ 'message.deleted.title': string;
1288
+ 'message.deleted.description': string;
1252
1289
  'message.viewTrace': string;
1253
1290
  'message.skillsUsed': string;
1254
1291
  'capability.tools.on': string;
@@ -1332,6 +1369,10 @@ declare const chatbotDictionary: {
1332
1369
  'interaction.allow': string;
1333
1370
  'interaction.deny': string;
1334
1371
  'interaction.required': string;
1372
+ 'surface.addItem': string;
1373
+ 'surface.removeItem': string;
1374
+ 'surface.arrayFirstItemOnly': string;
1375
+ 'surface.readOnlySnapshot': string;
1335
1376
  'interaction.wait': string;
1336
1377
  'interaction.wait.inPanel': string;
1337
1378
  'interaction.wait.fallback': string;
@@ -1339,6 +1380,7 @@ declare const chatbotDictionary: {
1339
1380
  'result.artifacts': string;
1340
1381
  'result.download': string;
1341
1382
  'result.file': string;
1383
+ 'result.block.unknown': string;
1342
1384
  'status.aria': string;
1343
1385
  'status.route': string;
1344
1386
  'status.activate': string;
@@ -1363,7 +1405,7 @@ declare const chatbotDictionary: {
1363
1405
  'composer.attachment.compressed': string;
1364
1406
  'composer.model': string;
1365
1407
  'composer.model.demo': string;
1366
- 'composer.menu': string;
1408
+ 'capability.group': string;
1367
1409
  'composer.pageCapture': string;
1368
1410
  'composer.pageCapture.disabled.setting': string;
1369
1411
  'composer.pageCapture.disabled.model': string;
@@ -1496,6 +1538,7 @@ declare const chatbotDictionary: {
1496
1538
  'vercel.preview.badge': string;
1497
1539
  'vercel.preview.description': string;
1498
1540
  'surface.legacy.placeholder': string;
1541
+ 'a11y.messageActions': string;
1499
1542
  'error.title': string;
1500
1543
  'error.suggestion': string;
1501
1544
  'error.suggestion.LLM_UNAVAILABLE': string;
@@ -1506,6 +1549,7 @@ declare const chatbotDictionary: {
1506
1549
  'error.suggestion.TOOL_RESOLUTION_EXHAUSTED': string;
1507
1550
  'error.limit.totalTimeoutMs': string;
1508
1551
  'error.limit.maxTurns': string;
1552
+ 'error.message.RUN_CANCELLED': string;
1509
1553
  'error.openSettings': string;
1510
1554
  'error.dismiss': string;
1511
1555
  };
@@ -1561,6 +1605,8 @@ declare const useT: () => TranslateFn<{
1561
1605
  'message.copied': string;
1562
1606
  'message.retry': string;
1563
1607
  'message.delete': string;
1608
+ 'message.deleted.title': string;
1609
+ 'message.deleted.description': string;
1564
1610
  'message.viewTrace': string;
1565
1611
  'message.skillsUsed': string;
1566
1612
  'message.edit': string;
@@ -1647,6 +1693,10 @@ declare const useT: () => TranslateFn<{
1647
1693
  'interaction.allow': string;
1648
1694
  'interaction.deny': string;
1649
1695
  'interaction.required': string;
1696
+ 'surface.addItem': string;
1697
+ 'surface.removeItem': string;
1698
+ 'surface.arrayFirstItemOnly': string;
1699
+ 'surface.readOnlySnapshot': string;
1650
1700
  'interaction.wait': string;
1651
1701
  'interaction.wait.inPanel': string;
1652
1702
  'interaction.wait.fallback': string;
@@ -1654,6 +1704,7 @@ declare const useT: () => TranslateFn<{
1654
1704
  'result.artifacts': string;
1655
1705
  'result.download': string;
1656
1706
  'result.file': string;
1707
+ 'result.block.unknown': string;
1657
1708
  'status.aria': string;
1658
1709
  'status.route': string;
1659
1710
  'status.activate': string;
@@ -1678,7 +1729,7 @@ declare const useT: () => TranslateFn<{
1678
1729
  'composer.attachment.compressed': string;
1679
1730
  'composer.model': string;
1680
1731
  'composer.model.demo': string;
1681
- 'composer.menu': string;
1732
+ 'capability.group': string;
1682
1733
  'composer.pageCapture': string;
1683
1734
  'composer.pageCapture.disabled.setting': string;
1684
1735
  'composer.pageCapture.disabled.model': string;
@@ -1811,6 +1862,7 @@ declare const useT: () => TranslateFn<{
1811
1862
  'vercel.preview.badge': string;
1812
1863
  'vercel.preview.description': string;
1813
1864
  'surface.legacy.placeholder': string;
1865
+ 'a11y.messageActions': string;
1814
1866
  'error.title': string;
1815
1867
  'error.suggestion': string;
1816
1868
  'error.suggestion.LLM_UNAVAILABLE': string;
@@ -1821,6 +1873,7 @@ declare const useT: () => TranslateFn<{
1821
1873
  'error.suggestion.TOOL_RESOLUTION_EXHAUSTED': string;
1822
1874
  'error.limit.totalTimeoutMs': string;
1823
1875
  'error.limit.maxTurns': string;
1876
+ 'error.message.RUN_CANCELLED': string;
1824
1877
  'error.openSettings': string;
1825
1878
  'error.dismiss': string;
1826
1879
  };
@@ -1876,6 +1929,8 @@ declare const useT: () => TranslateFn<{
1876
1929
  'message.editCancel': string;
1877
1930
  'message.retry': string;
1878
1931
  'message.delete': string;
1932
+ 'message.deleted.title': string;
1933
+ 'message.deleted.description': string;
1879
1934
  'message.viewTrace': string;
1880
1935
  'message.skillsUsed': string;
1881
1936
  'capability.tools.on': string;
@@ -1959,6 +2014,10 @@ declare const useT: () => TranslateFn<{
1959
2014
  'interaction.allow': string;
1960
2015
  'interaction.deny': string;
1961
2016
  'interaction.required': string;
2017
+ 'surface.addItem': string;
2018
+ 'surface.removeItem': string;
2019
+ 'surface.arrayFirstItemOnly': string;
2020
+ 'surface.readOnlySnapshot': string;
1962
2021
  'interaction.wait': string;
1963
2022
  'interaction.wait.inPanel': string;
1964
2023
  'interaction.wait.fallback': string;
@@ -1966,6 +2025,7 @@ declare const useT: () => TranslateFn<{
1966
2025
  'result.artifacts': string;
1967
2026
  'result.download': string;
1968
2027
  'result.file': string;
2028
+ 'result.block.unknown': string;
1969
2029
  'status.aria': string;
1970
2030
  'status.route': string;
1971
2031
  'status.activate': string;
@@ -1990,7 +2050,7 @@ declare const useT: () => TranslateFn<{
1990
2050
  'composer.attachment.compressed': string;
1991
2051
  'composer.model': string;
1992
2052
  'composer.model.demo': string;
1993
- 'composer.menu': string;
2053
+ 'capability.group': string;
1994
2054
  'composer.pageCapture': string;
1995
2055
  'composer.pageCapture.disabled.setting': string;
1996
2056
  'composer.pageCapture.disabled.model': string;
@@ -2123,6 +2183,7 @@ declare const useT: () => TranslateFn<{
2123
2183
  'vercel.preview.badge': string;
2124
2184
  'vercel.preview.description': string;
2125
2185
  'surface.legacy.placeholder': string;
2186
+ 'a11y.messageActions': string;
2126
2187
  'error.title': string;
2127
2188
  'error.suggestion': string;
2128
2189
  'error.suggestion.LLM_UNAVAILABLE': string;
@@ -2133,6 +2194,7 @@ declare const useT: () => TranslateFn<{
2133
2194
  'error.suggestion.TOOL_RESOLUTION_EXHAUSTED': string;
2134
2195
  'error.limit.totalTimeoutMs': string;
2135
2196
  'error.limit.maxTurns': string;
2197
+ 'error.message.RUN_CANCELLED': string;
2136
2198
  'error.openSettings': string;
2137
2199
  'error.dismiss': string;
2138
2200
  };
@@ -2154,6 +2216,20 @@ interface AppearanceChange {
2154
2216
  dictationLang?: string;
2155
2217
  }
2156
2218
  //#endregion
2219
+ //#region src/react/settingsSection.d.ts
2220
+ /**
2221
+ * chatbot 里各处「打开设置」出口指向的分区(FR-20.3)。
2222
+ *
2223
+ * 取值就是 console 的路由 leaf id,因此不需要维护第二套映射表;
2224
+ * 但这**不构成对 `@webskill/console` 的依赖**——它只是一组字符串字面量。
2225
+ * 宿主不用 console 时,这些字符串就是它自定义路由的键名,语义自定。
2226
+ *
2227
+ * 只覆盖**配置类** leaf:`skills.editor`、`governance.review` 这些与配置无关的页
2228
+ * 不在其中(AC-20.7 按「无未覆盖的配置类 leaf」执行,见偏差 D-15)。
2229
+ * @experimental
2230
+ */
2231
+ type SettingsSectionId = 'settings.runtime' | 'settings.sandbox' | 'settings.genui' | 'settings.trust' | 'settings.privacy' | 'settings.appearance' | 'connections.models' | 'connections.page' | 'connections.mcp';
2232
+ //#endregion
2157
2233
  //#region src/react/useChatLayout.d.ts
2158
2234
  /** 宿主可指定的布局档;auto 按容器尺寸判定 @stable */
2159
2235
  type ChatLayout = 'auto' | 'fullscreen' | 'embedded';
@@ -2181,6 +2257,12 @@ interface ChatbotProps {
2181
2257
  /** 布局档(默认 'auto':按容器尺寸在 fullscreen / embedded / mobile 之间判定) */
2182
2258
  layout?: ChatLayout;
2183
2259
  onAppearanceChange?(next: AppearanceChange): void;
2260
+ /**
2261
+ * 打开配置面(FR-20.4)。配置面本身已迁到 console,chatbot 只负责发出这个请求;
2262
+ * 宿主不接就不渲染任何「打开设置」出口——给一个点了没反应的按钮更糟。
2263
+ * `section` 可选(FR-16.5):齿轮不带分区(→ Overview),带诉求的入口(错误卡等)才传分区。
2264
+ */
2265
+ onOpenSettings?(section?: SettingsSectionId): void;
2184
2266
  /**
2185
2267
  * 装配完成后把引擎交给宿主,用于接线跨界面动作(例如 console 的快照恢复入口
2186
2268
  * 需要调 `engine.resume(runId)`)。每次重新装配都会再调一次。
@@ -2192,7 +2274,7 @@ interface ChatbotProps {
2192
2274
  * presentation shell and accessible thread primitives.
2193
2275
  * @stable
2194
2276
  */
2195
- declare function Chatbot({ adapter, config, locale: localeProp, theme: themeProp, renderer: rendererProp, dictationLang: dictationLangProp, surfaceRegistry, layout, onAppearanceChange, onEngineReady }: ChatbotProps): import("react").JSX.Element;
2277
+ declare function Chatbot({ adapter, config, locale: localeProp, theme: themeProp, renderer: rendererProp, dictationLang: dictationLangProp, surfaceRegistry, layout, onAppearanceChange, onOpenSettings, onEngineReady }: ChatbotProps): import("react").JSX.Element;
2196
2278
  //#endregion
2197
2279
  //#region src/react/A2uiSurfaceHost.d.ts
2198
2280
  /** @experimental */
@@ -2348,66 +2430,6 @@ interface InterruptedBannerProps {
2348
2430
  */
2349
2431
  declare function InterruptedBanner({ engine, sessionId }: InterruptedBannerProps): import("react").JSX.Element | null;
2350
2432
  //#endregion
2351
- //#region src/react/SettingsDrawer.d.ts
2352
- /** @stable */
2353
- interface SettingsDrawerProps {
2354
- open: boolean;
2355
- /**
2356
- * 运行环境配置存储:模型列表、流式、temperature、Agent 能力全部读写这里。
2357
- * 缺省时模型区只读展示(宿主没接配置源,谈不上持久化)。
2358
- */
2359
- runtimeConfig?: RuntimeConfigStore;
2360
- /**
2361
- * 语音识别语言(BCP-47);空串即跟随界面语言(FR-7.7)。
2362
- * @experimental
2363
- */
2364
- dictationLang?: string;
2365
- /** 语音语言切换时回调(写回同一份外观配置) */
2366
- onAppearanceChange?(next: AppearanceChange): void;
2367
- /**
2368
- * 当前选中的模型条目 id(FR-14.4):它不支持工具时,Agent 能力开关置灰。
2369
- * @experimental
2370
- */
2371
- selectedModelId?: string;
2372
- /** 保存/清除成功后回调(Chatbot 借此触发 engine.reloadConfig) */
2373
- onSaved(): void;
2374
- /**
2375
- * 用户画像的读写入口(需求 19)。不注入即整段画像 UI 不渲染(R11)——
2376
- * 没有数据源时展示一个空列表比不展示更容易让人以为「记录丢了」。
2377
- * @experimental
2378
- */
2379
- userProfileApi?: UserProfileApi;
2380
- /**
2381
- * 打开时定位到哪个分区(缺省 `'general'`)。触顶报错的「打开设置」按此直达 Agent 区,
2382
- * 让用户少找一步(FR-21.2)。传了不存在的 id 则回落到 `'general'`。
2383
- * @experimental
2384
- */
2385
- initialSectionId?: string;
2386
- onClose(): void;
2387
- }
2388
- /** 设置面板对画像数据的最小依赖面;实现由 Chatbot 用 ChatEngine 装配 @experimental */
2389
- interface UserProfileApi {
2390
- read(): Promise<UserProfile>;
2391
- refine(): Promise<UserProfile>;
2392
- deleteEntry(id: string): Promise<UserProfile>;
2393
- clearRecords(): Promise<void>;
2394
- clearProfile(): Promise<void>;
2395
- /** 记录与画像一并清除(关闭总开关时的追问) */
2396
- clearAll(): Promise<void>;
2397
- /** `excludeIds` 来自导出前的逐条审阅 */
2398
- export(excludeIds: readonly string[]): Promise<UserProfileExport>;
2399
- diffImport(incoming: UserProfileExport): Promise<UserProfileImportDiff>;
2400
- applyImport(incoming: UserProfileExport): Promise<UserProfile>;
2401
- }
2402
- /** @experimental */
2403
- interface UserProfileImportDiff {
2404
- added: readonly UserProfileEntry[];
2405
- updated: readonly UserProfileEntry[];
2406
- origin: string;
2407
- }
2408
- /** 设置抽屉:模型列表(增删改 / 设默认 / 逐条探测)+ 流式与 temperature + Agent 能力 + 语音语言 @stable */
2409
- declare function SettingsDrawer({ open, runtimeConfig, dictationLang, selectedModelId, onAppearanceChange, onSaved, userProfileApi: profileApi, initialSectionId, onClose }: SettingsDrawerProps): import("react").JSX.Element;
2410
- //#endregion
2411
2433
  //#region src/react/ErrorCard.d.ts
2412
2434
  /** @stable */
2413
2435
  interface ErrorCardProps {
@@ -2430,4 +2452,12 @@ interface ErrorCardProps {
2430
2452
  /** 结构化错误卡:错误码徽章 + 描述 + 建议(engine error 事件 / 失败 run) @stable */
2431
2453
  declare function ErrorCard({ code, message, loopLimits, onOpenSettings, onDismiss }: ErrorCardProps): import("react").JSX.Element;
2432
2454
  //#endregion
2433
- export { A2uiSurfaceHost, type A2uiSurfaceHostProps, A2uiSurfaceSnapshotHost, type A2uiSurfaceSnapshotHostProps, type AppearanceChange, type ChatAttachmentInput, type ChatAttachmentMeta, ChatEngine, type ChatEngineOptions, type ChatEvent, type ChatInteractionRecord, type ChatLayout, type ChatMessage, type ChatRunPhase, type ChatSessionListResult, type ChatSessionMeta, type ChatTheme, type ChatToolCall, Chatbot, type ChatbotConfig, type ChatbotGovernancePorts, type ChatbotHostAdapter, type ChatbotProps, CompositeUiBridge, type CompositeUiBridgeDeps, DEFAULT_RENDERER_CAPABILITIES, DEFAULT_RUNTIME_CONFIG_STORAGE_KEY, type DownloadableFile, ErrorCard, type ErrorCardProps, InteractionCard, type InteractionCardProps, InterruptedBanner, type InterruptedBannerProps, type Locale, OpenUiSurfaceHost, type OpenUiSurfaceHostProps, OpenUiSurfaceSnapshotHost, type OpenUiSurfaceSnapshotHostProps, type RendererCapability, type RendererKind, type ResolvedChatLayout, ResultBlockList, type ResultBlockListProps, ResultBlocksPro, type ResultBlocksProProps, type RunSnapshot, type RuntimeAppearanceConfig, type RuntimeConfig, type RuntimeConfigStore, type RuntimeRendererId, type SandboxExecutorDeps, SettingsDrawer, type SettingsDrawerProps, SkillBadges, SpecInteraction, type SpecInteractionProps, type UserProfileApi, type UserProfileImportDiff, VercelPayloadPreview, type VercelPayloadPreviewProps, VercelSurfaceHost, type VercelSurfaceHostProps, VercelSurfaceSnapshotHost, type VercelSurfaceSnapshotHostProps, chatbotDictionary, configureA2uiMarkdown, createLocalStorageRuntimeConfigStore, createMemoryRuntimeConfigStore, probeA2uiAvailability, probeOpenUiAvailability, useT };
2455
+ //#region src/version.d.ts
2456
+ /** Generated by scripts/syncVersionConstant.mjs from packages/chatbot/package.json. Do not edit by hand. */
2457
+ /**
2458
+ * Version of the published `@webskill/chatbot` package, injected at build time.
2459
+ * @stable
2460
+ */
2461
+ declare const CHATBOT_VERSION = "0.6.0";
2462
+ //#endregion
2463
+ export { A2uiSurfaceHost, type A2uiSurfaceHostProps, A2uiSurfaceSnapshotHost, type A2uiSurfaceSnapshotHostProps, type AppearanceChange, CHATBOT_VERSION, type ChatAttachmentInput, type ChatAttachmentMeta, ChatEngine, type ChatEngineOptions, type ChatEvent, type ChatInteractionRecord, type ChatLayout, type ChatMessage, type ChatRunPhase, type ChatSessionListResult, type ChatSessionMeta, type ChatTheme, type ChatToolCall, Chatbot, type ChatbotConfig, type ChatbotGovernancePorts, type ChatbotHostAdapter, type ChatbotProps, CompositeUiBridge, type CompositeUiBridgeDeps, DEFAULT_RENDERER_CAPABILITIES, DEFAULT_RUNTIME_CONFIG_STORAGE_KEY, type DownloadableFile, ErrorCard, type ErrorCardProps, InteractionCard, type InteractionCardProps, InterruptedBanner, type InterruptedBannerProps, type Locale, OpenUiSurfaceHost, type OpenUiSurfaceHostProps, OpenUiSurfaceSnapshotHost, type OpenUiSurfaceSnapshotHostProps, type RendererCapability, type RendererKind, type ResolvedChatLayout, ResultBlockList, type ResultBlockListProps, ResultBlocksPro, type ResultBlocksProProps, type RunSnapshot, type RuntimeAppearanceConfig, type RuntimeConfig, type RuntimeConfigStore, type RuntimeRendererId, type SandboxExecutorDeps, type SettingsSectionId, SkillBadges, SpecInteraction, type SpecInteractionProps, VercelPayloadPreview, type VercelPayloadPreviewProps, VercelSurfaceHost, type VercelSurfaceHostProps, VercelSurfaceSnapshotHost, type VercelSurfaceSnapshotHostProps, chatbotDictionary, configureA2uiMarkdown, createLocalStorageRuntimeConfigStore, createMemoryRuntimeConfigStore, probeA2uiAvailability, probeOpenUiAvailability, sandboxExecutorDeps, useT };