@tanzerfe/page-use 0.0.4 → 0.0.5

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/README.md CHANGED
@@ -29,6 +29,7 @@ const handle = createPageUse({
29
29
  })
30
30
 
31
31
  // 调试面板:URL 参数 ?pageUseDebug=1 / 0 可临时开关,否则使用 fallback
32
+ // 生产环境需由业务系统按需调出时,改为常驻挂载:mountPageUseUI({ launcher: { defaultHidden: true } })
32
33
  const unmount = mountPageUseUI({ launcher: readLauncherSwitch(import.meta.env.DEV) })
33
34
 
34
35
  // 登出 / 卸载时
@@ -80,6 +81,7 @@ const launcher = readLauncherSwitch(import.meta.env.DEV) && { scenarios: [/* ...
80
81
  | `storageKeyPrefix` | `string` | `tz-page-use` | 本地存储键前缀 |
81
82
  | `pageAgentOptions` | `Partial<PageAgentConfig>` | `{}` | 透传给 page-agent |
82
83
  | `exposeGlobal` | `boolean` | `true` | 是否安装 `window.__TZ_PAGE_USE__` |
84
+ | `tts` | `PageUseTtsEngine \| PageUseTtsEngine[]` | — | 演示播报的在线语音合成引擎,见「自定义语音合成引擎」 |
83
85
 
84
86
  ### 调试面板 `PageUseLauncherConfig`
85
87
 
@@ -90,28 +92,123 @@ const launcher = readLauncherSwitch(import.meta.env.DEV) && { scenarios: [/* ...
90
92
  | `scenarios` | 「复杂场景」分组的快捷指令 |
91
93
  | `menuPresetLimit` | 由菜单生成「打开 XX」的数量上限,默认 6 |
92
94
  | `sourceLabels` | 任务来源到展示名的映射,如 `{ assistant: 'AI 助手' }` |
95
+ | `defaultHidden` | 默认隐藏调试入口,由业务系统调用方法或 URL 参数调出;仅在用户从未关闭 / 显示过入口时生效,默认 `false` |
96
+
97
+ **标题栏**:从左到右为状态圆点、标题、执行状态,以及按钮「静音 · 设置(⚙)· 收起(−)· 关闭(×)」。
98
+
99
+ - 执行状态:空闲时不显示(悬停状态圆点可查看,设置页顶部显示「当前状态」);其它状态显示「状态 · N 步 · token · 耗时」,token 数小于 1000 显示原值,否则以 `k` / `M` 为单位并保留 1 位小数(如 `12.3k tok`、`1.5M tok`)。
100
+ - 静音:仅在任务执行中且开启语音播报时显示,见「演示播报」。
101
+ - 收起:面板收起为浮动入口。
102
+ - 关闭:隐藏面板与浮动入口,状态持久化,刷新后仍隐藏;重新打开见「调试入口的显示与隐藏」。
103
+
104
+ **元信息面板**:在任意连续 5 秒内点击面板标题 10 次打开,用于开发排查,展示包版本、LLM 端点完整地址、模型、API Key 是否已配置(只显示「已配置 / 未配置」,不展示明文)、存储键前缀、当前播报引擎与音色、全部可选引擎(id、名称、是否可用)。点击 ⚙ 位置的按钮返回;打开状态不持久化。设置页不再展示端点与模型。
105
+
106
+ #### 快捷指令
107
+
108
+ 快捷指令在空执行记录页与输入框上方的「快捷指令」托盘中展示,分组顺序为:
109
+
110
+ 1. 「我的」:用户在面板中自定义的指令;没有自定义指令时不显示;
111
+ 2. 「常用」:由菜单生成的「打开 XX」(最多 `menuPresetLimit` 条)、库内置通用示例、宿主 `presets`;
112
+ 3. 「复杂场景」:宿主 `scenarios`,为空时不显示。
113
+
114
+ 设置页最底部的「快捷指令设置」进入编辑视图,标题栏返回按钮依次回到设置页、主视图:
115
+
116
+ - 自定义指令:可新增、编辑、删除;名称与指令内容必填,指令内容不能与已有自定义指令重复;新增的指令排在最前。
117
+ - 来源指令(上述菜单、内置、`presets`、`scenarios` 四类):可删除。删除只是在本地隐藏,不修改宿主配置。隐藏记录以指令内容(`task`)为标识,宿主修改某条指令的 `task` 后,该条会重新显示。
118
+ - 菜单生成的指令被隐藏后,由后续菜单补位,数量仍为 `menuPresetLimit`(可见菜单不足时除外)。
119
+ - 「恢复默认指令」:恢复全部已隐藏的来源指令,不影响自定义指令;当前没有被隐藏的来源指令时禁用。
120
+ - 任务执行中也可编辑,只影响之后的展示,不影响正在执行的任务。
121
+
122
+ 自定义指令与隐藏记录保存在 localStorage,键为 `${storageKeyPrefix}-presets`。宿主也可通过导出的 `pageUsePresets` 读取或维护这些数据(`add` / `update` / `remove` / `hide` / `restoreHidden`,订阅使用 `pageUsePresets.store`)。
123
+
124
+ #### 调试入口的显示与隐藏
125
+
126
+ 入口是否显示按以下优先级判定(面板挂载时):
127
+
128
+ 1. URL 参数 `pageUseDebug`:`1` / `true` 显示,`0` / `false` 隐藏,并写入持久化状态;
129
+ 2. 持久化状态(设置 `launcherVisible`,localStorage):用户点击关闭或调用下述方法后写入;
130
+ 3. 宿主配置 `defaultHidden`:前两者都未设置时生效,默认显示。
131
+
132
+ 业务系统可调用以下方法调出或隐藏入口(显示方法同时展开面板),状态均持久化:
133
+
134
+ ```ts
135
+ import { showPageUseLauncher, hidePageUseLauncher } from '@tanzerfe/page-use'
136
+
137
+ showPageUseLauncher()
138
+ hidePageUseLauncher()
139
+
140
+ // 不走模块导入时
141
+ window.__TZ_PAGE_USE__.showLauncher()
142
+ window.__TZ_PAGE_USE__.hideLauncher()
143
+ ```
144
+
145
+ 方法只作用于已挂载的面板:宿主未挂载面板时调用显示方法只保存状态并在控制台警告。若希望生产环境默认不显示、由业务系统按需调出,应常驻挂载面板并设置 `defaultHidden`:
146
+
147
+ ```ts
148
+ mountPageUseUI({ launcher: { defaultHidden: true } })
149
+ // Vue:<PageUseHost :options="options" :launcher="{ defaultHidden: true }" />
150
+ ```
151
+
152
+ 用户关闭入口后,也可在 URL 上加 `?pageUseDebug=1` 重新显示。隐藏入口不会中断正在执行的任务,也不影响运行期光晕;此时可通过模块 API 或全局对象的 `stop()` 终止任务。
93
153
 
94
154
  调试面板设置中不提供「显示 page-agent 自带面板」与「定制光晕与光标配色」:自带面板始终隐藏,蒙层始终使用定制光晕与光标配色,本地存储中的旧值会被忽略。`PageUseSettings` 仍保留 `showBuiltinPanel` / `customMaskEffect` 字段,但修改不生效。
95
155
 
96
156
  ## 演示播报
97
157
 
98
- 演示时可用浏览器语音合成(`speechSynthesis`)同步播报智能体的执行过程,无需宿主额外配置。
158
+ 演示时可用语音同步播报智能体的执行过程。默认使用浏览器语音合成(`speechSynthesis`),无需宿主额外配置;宿主也可注入在线语音合成引擎(见下文「自定义语音合成引擎」)。
99
159
 
100
- - **开关**:调试面板「设置 → 语音播报」,**默认关闭**,状态保存在本地存储(`voiceEnabled`)。开启后可调节语速(`voiceRate`,0.5–2,默认 1.1)并选择中文语音(`voiceName`,默认自动选第一个中文语音)。开关对所有来源的任务生效,包括其它智能体经模块 API、function calling 或全局对象下达的任务。
160
+ - **开关**:调试面板「设置 → 语音播报」,**默认关闭**,状态保存在本地存储(`voiceEnabled`)。关闭时设置中只显示该开关;开启后显示:
161
+ - **播报引擎**(`voiceEngineId`):仅在宿主注入了在线引擎时显示,可在注入引擎与「本地语音(浏览器)」之间切换,切换时立即停止当前播报;
162
+ - **语速**(`voiceRate`,倍率 0.5–2,默认 1.1),所有引擎共用;
163
+ - **音色**(`voiceNames`,按引擎 id 分别保存):当前引擎提供音色列表时显示,「自动」表示由引擎选择(浏览器引擎为第一个中文语音)。
164
+ - **试听**:位于音色下拉框右侧(引擎不提供音色列表时单独一行),用当前引擎、音色与语速播报「您好,我是页面智能体。」;试听中按钮显示「停止」,再次点击、切换引擎或音色、离开设置页、收起或关闭面板时中止。试听与任务播报互斥:任务执行中按钮禁用,任务开始时中止正在进行的试听;当前引擎不可用时同样禁用。试听不受「本次任务静音」影响。**在线引擎每次试听都会发起一次合成请求,消耗一次调用额度。**
165
+
166
+ 开关对所有来源的任务生效,包括其它智能体经模块 API、function calling 或全局对象下达的任务。
167
+ - **设置字段变更(BREAKING)**:`PageUseSettings.voiceName` 已移除,改为 `voiceNames`(`Record<引擎 id, 音色>`)。本地存储中的旧值在读取时自动迁移为 `voiceNames.browser`,用户已选的浏览器语音不会丢失;直接读取 `voiceName` 的宿主代码需改为读取 `voiceNames.browser`。
168
+ - **本次任务静音**:任务执行中且开启语音播报时,面板标题栏显示静音按钮。静音后立即停止当前播报,本次任务剩余的步骤、提问与结论都不播报;再次点击取消静音,只播报之后的内容(不补播)。下一次任务开始时自动恢复。静音状态不持久化,也不修改「语音播报」开关。
101
169
  - **播报内容**:
102
170
  - 执行步骤:模型对每一步的目标描述;滚动、等待、结束、提问、出错、重试步骤不播报;
103
171
  - 提问:模型向用户提出的问题;
104
172
  - 结论:任务结束时的 `summary`(成功、未达成、出错均播报;被终止的任务不播报)。
105
173
  - **不阻塞执行**:智能体不等待语音结束。正在播报时到达的新步骤只保留最新一条待播,中间步骤被丢弃;提问与结论会打断当前播报;新任务开始、终止、销毁或关闭开关时停止播报。
106
174
  - **播报时机**:page-agent 在模型调用内部执行点击等动作,目标描述在动作完成后才可获得,因此播报会略晚于页面变化;模型思考期间没有播报。
107
- - **文本清洗**:播报前去除 Markdown 标记、表格分隔线、链接地址、代码块、emoji 与元素编号(如「索引为 23 的」「[23]」);清洗后超过 120 字时在句子边界截断,并追加「详细内容请查看面板」。清洗只影响播报,`result.summary`、面板展示与返回给调用方的数据保持原样。
175
+ - **文本清洗**:播报前去除 Markdown 标记、表格分隔线、链接地址、代码块、emoji 与元素编号(如「索引为 23 的」「[23]」);清洗后超过 240 字(语速 1 时约 1 分钟)时在句子边界截断,并追加提示语「详细内容请查看「面板标题」」(面板标题即 `PageUseLauncherConfig.title`,如「详细内容请查看「页面智能体」」;未挂载调试面板时为「详细内容请查看面板」)。清洗只影响播报,`result.summary`、面板展示与返回给调用方的数据保持原样。
108
176
  - **提示词**:开启播报后的下一次任务起,系统提示追加一条约束,要求 `next_goal` 写成面向观众的一句中文、不含元素编号;关闭时系统提示不变。执行中切换开关只影响下一次任务的提示词。
109
177
 
110
- 浏览器限制:
178
+ 浏览器语音合成的限制:
111
179
 
112
180
  - 可用语音取决于操作系统与浏览器。Windows 上的 Edge / Chrome 有中文语音;Linux 上的 Chromium 通常没有,此时设置面板会提示并使用默认语音。
113
181
  - 浏览器要求用户与页面交互过才允许发声。从调试面板下达任务、在对话框中输入指令均满足条件;页面加载后未经交互直接调用可能无声。
114
- - `speechSynthesis` 是整个页面共用的队列。提问 / 结论打断时会调用 `speechSynthesis.cancel()`,宿主页面同时在播报的其它语音也会被停止;反之,宿主调用 `cancel()` 也会停止 Page Use 的播报。
182
+ - `speechSynthesis` 是整个页面共用的队列。提问 / 结论打断时会调用 `speechSynthesis.cancel()`,宿主页面同时在播报的其它语音也会被停止;反之,宿主调用 `cancel()` 也会停止 Page Use 的播报。当前引擎不是浏览器引擎时,包内不调用 `speechSynthesis`。
183
+
184
+ ### 自定义语音合成引擎
185
+
186
+ 通过 `createPageUse({ tts })` 注入一个或多个实现 `PageUseTtsEngine` 的对象,即可接入在线 TTS 服务商(如讯飞、阿里云、Azure 等,不限厂商)。注入的引擎与内置浏览器引擎一起出现在调试面板「设置 → 语音播报 → 播报引擎」中供切换。播报内容、待播与抢占规则、文本清洗均由包统一处理,引擎只负责播出一段文本。
187
+
188
+ ```ts
189
+ import type { PageUseTtsEngine } from '@tanzerfe/page-use'
190
+
191
+ const vendorA: PageUseTtsEngine = {
192
+ id: 'vendor-a', // 必填,稳定标识:用于保存所选引擎与该引擎的音色
193
+ label: '在线语音 A', // 显示在设置面板「播报引擎」下拉框
194
+ splitSentences: false, // false:一组句子合并为一次 speak;true:逐句调用
195
+ isAvailable: () => typeof WebSocket !== 'undefined',
196
+ // 可选;不提供或返回空时不显示音色下拉框
197
+ listVoices: () => [{ value: 'voice-1', label: '音色 1' }],
198
+ async speak(text, { rate, voice, signal }) {
199
+ // rate:语速倍率(1 为正常);voice:该引擎在设置中的音色(空串表示自动);
200
+ // signal 触发时立即停止自身的合成与播放并返回
201
+ },
202
+ }
203
+
204
+ createPageUse({ /* ... */, tts: [vendorA, vendorB] }) // 也可传单个对象
205
+ ```
206
+
207
+ - **`id`**:必填且应保持不变,修改后已保存的引擎选择与音色会失效。`'browser'` 保留给内置浏览器引擎(`BROWSER_ENGINE_ID`);注入的引擎 id 重复或为 `'browser'` 时,保留先出现者并在控制台警告。
208
+ - **默认引擎**:浏览器引擎(本地语音)排在「播报引擎」下拉框最前,用户未选择过引擎时使用它,注入的引擎按注入顺序排在其后,需要用户手动切换。已保存的引擎被宿主移除后,播报回退到浏览器引擎,保存的选择不被改写,宿主恢复该引擎后继续生效。
209
+ - `speak()` 在播完、失败或被中止时 resolve,**不应 reject**;失败由引擎自行记录(包仍会兜底捕获并继续播报后续内容)。
210
+ - 抢占、终止、销毁、关闭开关、本次任务静音或切换引擎时,包通过 `signal` 中止当前 `speak()`。停止播报只作用于引擎自身的音频,不会停止宿主页面上其它来源的语音。
211
+ - 引擎的 `isAvailable()` 为 false 时播报静默跳过;设置面板中该引擎不可选并标注「(不可用)」。
115
212
 
116
213
  ## 对接方式
117
214
 
@@ -161,12 +258,15 @@ const { content } = await runPageUseTool(toolCall.function.arguments, { source:
161
258
 
162
259
  ### 4. 全局对象
163
260
 
164
- `window.__TZ_PAGE_USE__` 包含 `pageUseCapability` 的全部方法及 `tool`、`runTool`,可用于控制台调试、E2E 脚本和同源外部脚本:
261
+ `window.__TZ_PAGE_USE__` 包含 `pageUseCapability` 的全部方法及 `tool`、`runTool`,以及调试入口的显示控制 `showLauncher()` / `hideLauncher()`(见「调试入口的显示与隐藏」),可用于控制台调试、E2E 脚本和同源外部脚本:
165
262
 
166
263
  ```js
167
264
  await window.__TZ_PAGE_USE__.run('打开首页')
265
+ window.__TZ_PAGE_USE__.showLauncher()
168
266
  ```
169
267
 
268
+ `showLauncher` / `hideLauncher` 只在全局对象上提供,不属于 `pageUseCapability`(交给其它智能体的执行能力不含 UI 控制)。
269
+
170
270
  ## API Key 安全
171
271
 
172
272
  `llm.apiKey` 会出现在浏览器请求和前端产物中。**生产环境应由网关或代理注入 Key**,前端只传代理地址。
@@ -192,13 +292,35 @@ server: {
192
292
 
193
293
  | 变量 | 默认 | 用途 |
194
294
  |---|---|---|
195
- | `--tz-page-use-primary` | `#0879ff` | 主色:入口、按钮、光晕 |
295
+ | `--tz-page-use-primary` | `#0879ff` | 主色:面板按钮、光晕 |
296
+ | `--tz-page-use-flow-gradient` | 橙-黄-绿-青-紫径向渐变 | 流光渐变:收起时入口按钮的背景与展开面板的 2px 边框(放大到 300% 循环移动,执行中加速);可替换为任意渐变,如 `radial-gradient(#0879ff, #36cfc9, #597ef7)` |
196
297
  | `--tz-page-use-cyan` / `--tz-page-use-indigo` | `#36cfc9` / `#597ef7` | 光晕渐变 |
197
298
  | `--tz-page-use-warning` | `#fa8c16` | 光晕误触警示 |
198
299
  | `--tz-page-use-success` / `--tz-page-use-error` / `--tz-page-use-warning-text` | — | 面板状态色 |
199
300
 
200
301
  模拟光标配色见导出常量 `PAGE_USE_MASK_COLORS`。
201
302
 
303
+ ### 机器人图标
304
+
305
+ 调试面板入口按钮上的机器人图标以 SVG 字符串常量 `PAGE_USE_ROBOT_ICON_SVG` 导出,供宿主在自身界面中复用(如智能体列表卡片)。颜色跟随 `currentColor`,不含 `width` / `height`,尺寸由宿主 CSS 控制;`viewBox` 为 24×24、线宽 2,小尺寸显示时线条偏粗可用 CSS 覆盖 `stroke-width`。
306
+
307
+ ```vue
308
+ <template>
309
+ <span class="agent-icon" v-html="PAGE_USE_ROBOT_ICON_SVG" />
310
+ </template>
311
+
312
+ <script setup lang="ts">
313
+ import { PAGE_USE_ROBOT_ICON_SVG } from '@tanzerfe/page-use/vue'
314
+ </script>
315
+
316
+ <style scoped>
317
+ .agent-icon :deep(svg) {
318
+ width: 18px;
319
+ height: 18px;
320
+ }
321
+ </style>
322
+ ```
323
+
202
324
  ## License
203
325
 
204
326
  MIT
@@ -1,5 +1,5 @@
1
1
  import { AgentStatus, PageAgentConfig } from "page-agent";
2
- import { LitElement, PropertyValues } from "lit";
2
+ import { LitElement, PropertyValues, nothing } from "lit";
3
3
  //#region src/core/types.d.ts
4
4
  /**
5
5
  * Page Use 对外类型:菜单结构、能力 API、进度事件、任务结果。
@@ -139,6 +139,50 @@ interface PageUseCapability {
139
139
  }
140
140
  declare const pageUseCapability: PageUseCapability;
141
141
  //#endregion
142
+ //#region src/voice/engine.d.ts
143
+ /**
144
+ * 演示播报的语音合成引擎接口。
145
+ * 宿主可通过 PageUseOptions.tts 注入一个或多个(如不同厂商的在线 TTS 服务),与内置浏览器引擎一起供设置切换。
146
+ * 播报队列(待播、抢占、清空)由 speaker 统一处理,引擎只负责「把一段文本播出来」。
147
+ */
148
+ interface PageUseTtsVoice {
149
+ /** 写入设置 voiceNames[引擎 id] 的值 */
150
+ value: string;
151
+ /** 下拉框显示名 */
152
+ label: string;
153
+ }
154
+ interface PageUseTtsSpeakOptions {
155
+ /** 语速倍率(设置 voiceRate,1 为正常语速);引擎自行换算为服务参数 */
156
+ rate: number;
157
+ /** 当前引擎在设置 voiceNames 中的音色;空串表示由引擎自动选择 */
158
+ voice: string;
159
+ /** 播报被抢占或清空时触发:引擎应立即停止自身的合成与播放并 resolve */
160
+ signal: AbortSignal;
161
+ }
162
+ interface PageUseTtsEngine {
163
+ /**
164
+ * 稳定标识:作为设置中所选引擎(voiceEngineId)与各引擎音色(voiceNames)的保存键,
165
+ * 修改后已保存的选择会失效。'browser' 保留给内置浏览器引擎,注入同名引擎会被忽略。
166
+ */
167
+ id: string;
168
+ /** 引擎名称,显示在调试面板播报设置中 */
169
+ label: string;
170
+ /**
171
+ * true:一组句子逐句调用 speak(适合本地合成,句间无额外延迟);
172
+ * false:整组句子合并为一次调用(适合在线服务,避免每句建连的停顿与调用次数)。
173
+ */
174
+ splitSentences: boolean;
175
+ /** 当前环境是否可用;不可用时播报静默跳过,设置面板显示提示 */
176
+ isAvailable(): boolean;
177
+ /** 可选音色列表;不提供或返回空时设置面板不显示音色下拉框 */
178
+ listVoices?(): PageUseTtsVoice[];
179
+ /**
180
+ * 播报一段文本,播完、失败或被中止时 resolve。
181
+ * 约定不 reject:失败由引擎自行记录,队列继续推进(speaker 仍会兜底捕获)。
182
+ */
183
+ speak(text: string, options: PageUseTtsSpeakOptions): Promise<void>;
184
+ }
185
+ //#endregion
142
186
  //#region src/core/options.d.ts
143
187
  /** 默认模型,仅为示例取值;接入其它端点时应通过 llm.model 显式指定支持 function calling 的模型 */
144
188
  declare const DEFAULT_MODEL = "deepseek-chat";
@@ -202,6 +246,11 @@ interface PageUseOptions {
202
246
  pageAgentOptions?: Partial<PageAgentConfig>;
203
247
  /** 是否安装 window.__TZ_PAGE_USE__ 全局桥接,默认 true */
204
248
  exposeGlobal?: boolean;
249
+ /**
250
+ * 演示播报的语音合成引擎(如不同厂商的在线 TTS 服务),可传单个或数组。
251
+ * 内置浏览器引擎(本地语音)始终可选且为默认引擎,排在下拉框最前;用户可在调试面板设置中切换到注入的引擎。
252
+ */
253
+ tts?: PageUseTtsEngine | PageUseTtsEngine[];
205
254
  }
206
255
  interface NormalizedLLMOptions {
207
256
  /** 绝对地址;page-agent 内部 `new URL(baseURL)` 解析,相对路径会抛错 */
@@ -228,6 +277,8 @@ interface NormalizedPageUseOptions {
228
277
  storageKeyPrefix: string;
229
278
  pageAgentOptions: Partial<PageAgentConfig>;
230
279
  exposeGlobal: boolean;
280
+ /** 可选引擎:注入引擎(去重)在前,浏览器引擎在最后;至少含浏览器引擎 */
281
+ ttsEngines: PageUseTtsEngine[];
231
282
  }
232
283
  declare function normalizeOptions(options: PageUseOptions): NormalizedPageUseOptions;
233
284
  /**
@@ -261,6 +312,11 @@ interface PageUseLauncherConfig {
261
312
  menuPresetLimit?: number;
262
313
  /** 任务来源 → 展示名;未登记的来源直接显示原值 */
263
314
  sourceLabels?: Record<string, string>;
315
+ /**
316
+ * 默认隐藏调试入口,由业务系统调用 showPageUseLauncher() 或 URL 参数 pageUseDebug=1 调出。
317
+ * 仅在用户从未关闭 / 显示过入口(设置 launcherVisible 为 null)时生效。
318
+ */
319
+ defaultHidden?: boolean;
264
320
  }
265
321
  declare class PageUseLauncherElement extends LitElement {
266
322
  static styles: import("lit").CSSResult;
@@ -268,11 +324,22 @@ declare class PageUseLauncherElement extends LitElement {
268
324
  /** 面板配置;赋值后立即重新渲染 */
269
325
  get config(): PageUseLauncherConfig;
270
326
  set config(value: PageUseLauncherConfig | undefined);
327
+ /** 撤销本面板登记的播报用面板名称 */
328
+ private unregisterPanelName;
329
+ /** 把面板标题登记为播报截断提示中的面板名称(「详细内容请查看「标题」」) */
330
+ private syncPanelName;
271
331
  private open;
272
- private showSettings;
332
+ private view;
333
+ /** 标题点击时间戳(毫秒),用于元信息面板解锁的滑动窗口计数;不持久化 */
334
+ private titleTaps;
273
335
  private task;
274
336
  private answer;
275
337
  private tray;
338
+ /** 快捷指令编辑视图中正在编辑的表单;同一时刻只有一个,离开编辑视图时清空 */
339
+ private presetDraft;
340
+ /** 面板内轻提示文字;空串为不显示 */
341
+ private toastText;
342
+ private toastTimer;
276
343
  /**
277
344
  * 日志区跟随滚动:默认贴底跟随新内容;用户上翻后停止跟随,
278
345
  * 回到底部附近(阈值内)或点击「最新」后恢复。
@@ -295,6 +362,12 @@ declare class PageUseLauncherElement extends LitElement {
295
362
  */
296
363
  private panelAnchor;
297
364
  private wasRunning;
365
+ /** 入口按钮上次渲染时是否为「执行中」文案;文案切换时用于触发宽度过渡 */
366
+ private fabShowsRunning;
367
+ /** 文案切换前的入口宽度(px);null 表示本次更新不需要宽度过渡 */
368
+ private fabFromWidth;
369
+ /** 进行中宽度过渡的结束回调注销函数;过渡中再次切换时先注销,避免旧回调提前清除宽度 */
370
+ private fabWidthCleanup;
298
371
  private cleanups;
299
372
  private get fabEl();
300
373
  private get panelEl();
@@ -305,8 +378,22 @@ declare class PageUseLauncherElement extends LitElement {
305
378
  private panelDrag;
306
379
  connectedCallback(): void;
307
380
  disconnectedCallback(): void;
308
- /** Chrome 的语音列表异步加载,首次读取可能为空:加载完成后刷新语音下拉框 */
381
+ /** 可选播报引擎:宿主注入的引擎 + 浏览器引擎;尚未 createPageUse 时只有浏览器引擎 */
382
+ private ttsEngines;
383
+ /** 当前生效的播报引擎,与 narration 使用同一解析规则 */
384
+ private ttsEngine;
385
+ /**
386
+ * Chrome 的语音列表异步加载,首次读取可能为空:加载完成后刷新语音下拉框。
387
+ * 挂载时宿主可能尚未注入引擎,因此不按引擎判断;注入引擎时该事件只触发一次无害的重绘。
388
+ */
309
389
  private watchVoices;
390
+ /**
391
+ * 入口文案在「执行中」与标题之间切换时宽度会变化;CSS 无法对 width:auto 过渡,
392
+ * 因此在渲染新文案前记录旧宽度,渲染后由 animateFabWidth 从旧宽度过渡到新宽度。
393
+ */
394
+ protected willUpdate(): void;
395
+ /** 从记录的旧宽度过渡到新文案的自然宽度,结束后恢复自动宽度并重新测量入口尺寸 */
396
+ private animateFabWidth;
310
397
  protected firstUpdated(): void;
311
398
  protected updated(_changed: PropertyValues): void;
312
399
  private onStateChange;
@@ -319,6 +406,19 @@ declare class PageUseLauncherElement extends LitElement {
319
406
  private fabStyle;
320
407
  /** 面板位置完全由入口位置推导,展开时与入口重合于同一角 */
321
408
  private panelStyle;
409
+ /** 调试入口是否显示:持久化状态优先,未操作过时跟随宿主 defaultHidden */
410
+ private isVisible;
411
+ /** 展开面板(showPageUseLauncher 调用):等入口按新的显示状态渲染后再测量定位 */
412
+ private expand;
413
+ /** 关闭调试入口:收起面板并持久化隐藏状态,之后需调用显示方法或 URL 参数调出 */
414
+ private close;
415
+ /** 标题点击计数:滑动窗口内达到次数时打开元信息面板并重新计数 */
416
+ private onTitleTap;
417
+ /** 切换面板视图:离开设置页时中止音色试听,离开快捷指令编辑时丢弃未保存的草稿 */
418
+ private switchView;
419
+ /** 在面板内显示轻提示,TOAST_DURATION_MS 后自动消失;连续触发时以最后一次为准并重新计时 */
420
+ private showToast;
421
+ private clearHistory;
322
422
  private collapse;
323
423
  private submit;
324
424
  private applyPreset;
@@ -339,18 +439,35 @@ declare class PageUseLauncherElement extends LitElement {
339
439
  private toggleTray;
340
440
  private onClearLog;
341
441
  private sourceLabel;
342
- private presets;
343
- private endpointLabel;
442
+ /** 快捷指令分组:来源指令排除用户隐藏项,外加用户自定义指令;展示区与编辑视图共用 */
443
+ private presetGroups;
344
444
  private renderChips;
445
+ /** 分组顺序:我的 → 常用 → 复杂场景;空分组不显示,全部为空时提示去设置中维护 */
345
446
  private renderPresetGroups;
346
447
  private renderCheckbox;
347
448
  private renderSettings;
348
- /** 演示播报:开关 + 兼容提示;开启后显示语速与中文语音选择 */
449
+ /** 打开表单:id 为 null 时新增,否则编辑该条;替换当前未保存的草稿 */
450
+ private editPreset;
451
+ private savePreset;
452
+ private renderPresetForm;
453
+ /** 列表项:名称一行,指令内容灰色单行省略(悬停查看全文),右侧为操作按钮 */
454
+ private renderPresetItem;
455
+ /**
456
+ * 快捷指令编辑:我的指令(新增 / 编辑 / 删除)、按来源分组的来源指令(删除即隐藏)、
457
+ * 已隐藏条数与恢复按钮。任务执行中同样可编辑,只影响后续展示。
458
+ */
459
+ private renderPresetEditor;
460
+ /**
461
+ * 演示播报:总开关关闭时只显示开关;开启后依次为引擎下拉(可选引擎多于一个时)、
462
+ * 语速、音色下拉与试听按钮(无音色列表时只有试听按钮)、不可用 / 无中文语音提示。
463
+ */
349
464
  private renderVoiceSettings;
465
+ /** 元信息:与业务无关的配置与运行环境信息,仅供开发排查;API Key 只显示是否已配置 */
466
+ private renderMeta;
350
467
  private renderLog;
351
468
  private renderTray;
352
469
  private renderComposer;
353
- render(): import("lit").TemplateResult<1>;
470
+ render(): typeof nothing | import("lit").TemplateResult<1>;
354
471
  }
355
472
  //#endregion
356
473
  //#region src/ui/mount.d.ts
@@ -409,12 +526,25 @@ interface PageUseCommand {
409
526
  }
410
527
  declare function isPageUseCommand(value: unknown): value is PageUseCommand;
411
528
  //#endregion
529
+ //#region src/ui/launcherControl.d.ts
530
+ /**
531
+ * 显示调试入口并展开面板,状态持久化。
532
+ * 宿主未挂载调试面板时只保存状态并警告,之后挂载的面板按该状态显示。
533
+ */
534
+ declare function showPageUseLauncher(): void;
535
+ /** 隐藏调试入口(面板与浮动入口),状态持久化;效果与面板标题栏的关闭按钮相同 */
536
+ declare function hidePageUseLauncher(): void;
537
+ //#endregion
412
538
  //#region src/capability/bridge.d.ts
413
539
  /** window 上的挂载名 */
414
540
  declare const PAGE_USE_GLOBAL_KEY = "__TZ_PAGE_USE__";
415
541
  interface PageUseGlobal extends PageUseCapability {
416
542
  tool: typeof PAGE_USE_TOOL;
417
543
  runTool: typeof runPageUseTool;
544
+ /** 调出调试面板(显示入口并展开),状态持久化;UI 控制不属于 pageUseCapability */
545
+ showLauncher: typeof showPageUseLauncher;
546
+ /** 隐藏调试入口,状态持久化 */
547
+ hideLauncher: typeof hidePageUseLauncher;
418
548
  }
419
549
  declare global {
420
550
  interface Window {
@@ -477,6 +607,11 @@ declare function getPageUseConfig(): NormalizedPageUseOptions | null;
477
607
  */
478
608
  declare function clearPageUseLog(): void;
479
609
  //#endregion
610
+ //#region src/voice/browserEngine.d.ts
611
+ /** 内置浏览器引擎的保留 id;注入引擎使用该 id 会被忽略 */
612
+ declare const BROWSER_ENGINE_ID = "browser";
613
+ declare const browserTtsEngine: PageUseTtsEngine;
614
+ //#endregion
480
615
  //#region src/core/settings.d.ts
481
616
  interface PageUsePoint {
482
617
  x: number;
@@ -495,12 +630,19 @@ interface PageUseSettings {
495
630
  enableMask: boolean;
496
631
  /** 蒙层使用定制光晕与光标配色(false = page-agent 默认 ai-motion 效果) */
497
632
  customMaskEffect: boolean;
498
- /** 演示播报:用浏览器语音合成播报执行步骤、提问与结论;默认关闭 */
633
+ /** 演示播报总开关:播报执行步骤、提问与结论;默认关闭 */
499
634
  voiceEnabled: boolean;
500
- /** 播报语速(SpeechSynthesisUtterance.rate,1 为正常语速) */
635
+ /** 播报语速倍率(1 为正常语速),所有引擎共用,由引擎自行换算 */
501
636
  voiceRate: number;
502
- /** 播报语音名(SpeechSynthesisVoice.name);空串表示自动选择第一个中文语音 */
503
- voiceName: string;
637
+ /** 所选播报引擎 id;空串表示默认引擎(浏览器引擎,即本地语音) */
638
+ voiceEngineId: string;
639
+ /** 各引擎的音色,键为引擎 id;缺省或空串表示由引擎自动选择(浏览器引擎为第一个中文语音) */
640
+ voiceNames: Record<string, string>;
641
+ /**
642
+ * 调试入口是否显示:true / false 为用户关闭或方法调用后的持久化结果;
643
+ * null 表示从未操作过,跟随宿主 PageUseLauncherConfig.defaultHidden。
644
+ */
645
+ launcherVisible: boolean | null;
504
646
  /** 浮动入口位置(null = 默认右下角);面板展开时以入口为锚点定位,不单独存位置 */
505
647
  fabPos: PageUsePoint | null;
506
648
  }
@@ -539,11 +681,58 @@ declare const pageUseHistory: {
539
681
  clear(): void;
540
682
  };
541
683
  //#endregion
684
+ //#region src/core/presetStore.d.ts
685
+ interface PageUseCustomPreset extends PageUsePreset {
686
+ /** 本地生成的稳定标识,用于编辑定位与列表渲染 key;不参与去重(去重按 task) */
687
+ id: string;
688
+ }
689
+ interface PageUsePresetState {
690
+ custom: PageUseCustomPreset[];
691
+ /** 被隐藏的来源指令 task 文本(已去重) */
692
+ hidden: string[];
693
+ }
694
+ /**
695
+ * 新增 / 编辑的校验结果:
696
+ * - label-empty / task-empty:去除首尾空白后为空
697
+ * - duplicate:task 与另一条自定义指令相同
698
+ * - not-found:编辑的 id 不存在(已被其它入口删除)
699
+ */
700
+ type PageUsePresetSaveResult = {
701
+ ok: true;
702
+ } | {
703
+ ok: false;
704
+ reason: 'label-empty' | 'task-empty' | 'duplicate' | 'not-found';
705
+ };
706
+ declare const pageUsePresets: {
707
+ store: ReadonlyStore<PageUsePresetState>;
708
+ get(): PageUsePresetState;
709
+ /** 新增自定义指令,排在最前;label / task 去除首尾空白后保存 */
710
+ add(preset: PageUsePreset): PageUsePresetSaveResult;
711
+ /** 编辑自定义指令,位置不变 */
712
+ update(id: string, preset: PageUsePreset): PageUsePresetSaveResult;
713
+ remove(id: string): void;
714
+ /** 隐藏一条来源指令(以 task 文本为标识);已隐藏时不重复记录 */
715
+ hide(task: string): void;
716
+ /** 恢复全部被隐藏的来源指令(含已失效的记录);不影响自定义指令 */
717
+ restoreHidden(): void;
718
+ };
719
+ //#endregion
542
720
  //#region src/ui/presets.d.ts
543
721
  /** 通用示例:不依赖具体站点,覆盖详情、标签、返回等典型操作 */
544
722
  declare const PAGE_USE_STATIC_PRESETS: readonly PageUsePreset[];
545
- /** 取前 N 个可见叶子菜单,生成「打开 XX」快捷指令 */
546
- declare function buildMenuPresets(menus: PageUseMenuNode[] | undefined, limit?: number): PageUsePreset[];
723
+ /**
724
+ * 取前 N 个可见叶子菜单,生成「打开 XX」快捷指令。
725
+ * exclude 中的 task 被跳过且不占名额,由后续菜单补位(用户隐藏菜单指令时使用)。
726
+ */
727
+ declare function buildMenuPresets(menus: PageUseMenuNode[] | undefined, limit?: number, exclude?: ReadonlySet<string>): PageUsePreset[];
728
+ //#endregion
729
+ //#region src/ui/icons.d.ts
730
+ /**
731
+ * 页面智能体机器人图标(天线 + 屏幕式头部 + 双眼)的 SVG 字符串,供宿主在自身界面中复用(如智能体列表卡片)。
732
+ * 颜色全部跟随 currentColor,不含 width / height,尺寸由宿主 CSS 控制;viewBox 为 24×24、线宽 2。
733
+ * robot-antenna / robot-eye 类名供面板在执行中做闪烁与眨眼动画,宿主不定义对应样式时无影响。
734
+ */
735
+ declare const PAGE_USE_ROBOT_ICON_SVG = "<svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\">\n <circle class=\"robot-antenna\" cx=\"12\" cy=\"3\" r=\"1.5\" fill=\"currentColor\" stroke=\"none\" />\n <path d=\"M12 4.5V7\" />\n <rect x=\"4\" y=\"7\" width=\"16\" height=\"12.5\" rx=\"4\" />\n <path d=\"M2 12v3.5\" /><path d=\"M22 12v3.5\" />\n <circle class=\"robot-eye\" cx=\"9\" cy=\"12.5\" r=\"1.6\" fill=\"currentColor\" stroke=\"none\" />\n <circle class=\"robot-eye\" cx=\"15\" cy=\"12.5\" r=\"1.6\" fill=\"currentColor\" stroke=\"none\" />\n <path d=\"M9.5 16.3h5\" />\n</svg>";
547
736
  //#endregion
548
737
  //#region src/ui/glow.d.ts
549
738
  declare const PAGE_USE_GLOW_TAG = "tz-page-use-glow";
@@ -591,4 +780,4 @@ declare const PAGE_USE_MASK_COLORS: {
591
780
  readonly warning: "#fa8c16";
592
781
  };
593
782
  //#endregion
594
- export { PageUsePreset as $, runPageUseTool as A, DEFAULT_MODEL as B, PageUseGlobal as C, PageUseCommand as D, PAGE_USE_TOOL_NAME as E, PageUseLauncherConfig as F, PageUseOptions as G, DEFAULT_STORAGE_KEY_PREFIX as H, PageUseLauncherElement as I, readLauncherSwitch as J, PageUseRouterMode as K, PageUseHandle as L, definePageUseElements as M, mountPageUseUI as N, formatPageUseResultForModel as O, PAGE_USE_LAUNCHER_TAG as P, PageUseMenuNode as Q, createPageUse as R, PAGE_USE_GLOBAL_KEY as S, PAGE_USE_TOOL as T, NormalizedPageUseOptions as U, DEFAULT_SESSION_HEADER as V, PageUseLLMOptions as W, pageUseCapability as X, PageUseCapability as Y, PageUseErrorCode as Z, getPageUseConfig as _, PAGE_USE_STATIC_PRESETS as a, PageUseTaskSource as at, pageUseStore as b, pageUseHistory as c, PageUseSettings as d, PageUseProgressEvent as et, pageUseSettings as f, getElapsedSeconds as g, clearPageUseLog as h, PageUseGlowElement as i, PageUseTaskResult as it, MountPageUseUIOptions as j, isPageUseCommand as k, DEFAULT_PAGE_USE_SETTINGS as l, PageUseState as m, SIMULATOR_MASK_ID as n, PageUseSnapshot as nt, buildMenuPresets as o, PageUseTaskStatus as ot, PageUseQuestion as p, normalizeOptions as q, PAGE_USE_GLOW_TAG as r, PageUseStepLog as rt, PageUseHistoryEntry as s, PAGE_USE_MASK_COLORS as t, PageUseRunOptions as tt, PageUsePoint as u, isPageUseConfigured as v, PAGE_USE_COMMAND_TYPE as w, ReadonlyStore as x, isRunning as y, DEFAULT_MAX_STEPS as z };
783
+ export { PageUseLLMOptions as $, PageUseGlobal as A, MountPageUseUIOptions as B, getElapsedSeconds as C, pageUseStore as D, isRunning as E, PAGE_USE_TOOL_NAME as F, PageUseLauncherElement as G, mountPageUseUI as H, PageUseCommand as I, DEFAULT_MAX_STEPS as J, PageUseHandle as K, formatPageUseResultForModel as L, showPageUseLauncher as M, PAGE_USE_COMMAND_TYPE as N, ReadonlyStore as O, PAGE_USE_TOOL as P, NormalizedPageUseOptions as Q, isPageUseCommand as R, clearPageUseLog as S, isPageUseConfigured as T, PAGE_USE_LAUNCHER_TAG as U, definePageUseElements as V, PageUseLauncherConfig as W, DEFAULT_SESSION_HEADER as X, DEFAULT_MODEL as Y, DEFAULT_STORAGE_KEY_PREFIX as Z, pageUseSettings as _, PageUseTaskSource as _t, PAGE_USE_ROBOT_ICON_SVG as a, PageUseTtsSpeakOptions as at, PageUseQuestion as b, PageUseCustomPreset as c, pageUseCapability as ct, pageUsePresets as d, PageUsePreset as dt, PageUseOptions as et, PageUseHistoryEntry as f, PageUseProgressEvent as ft, PageUseSettings as g, PageUseTaskResult as gt, PageUsePoint as h, PageUseStepLog as ht, PageUseGlowElement as i, PageUseTtsEngine as it, hidePageUseLauncher as j, PAGE_USE_GLOBAL_KEY as k, PageUsePresetSaveResult as l, PageUseErrorCode as lt, DEFAULT_PAGE_USE_SETTINGS as m, PageUseSnapshot as mt, SIMULATOR_MASK_ID as n, normalizeOptions as nt, PAGE_USE_STATIC_PRESETS as o, PageUseTtsVoice as ot, pageUseHistory as p, PageUseRunOptions as pt, createPageUse as q, PAGE_USE_GLOW_TAG as r, readLauncherSwitch as rt, buildMenuPresets as s, PageUseCapability as st, PAGE_USE_MASK_COLORS as t, PageUseRouterMode as tt, PageUsePresetState as u, PageUseMenuNode as ut, BROWSER_ENGINE_ID as v, PageUseTaskStatus as vt, getPageUseConfig as w, PageUseState as x, browserTtsEngine as y, runPageUseTool as z };
package/dist/index.d.mts CHANGED
@@ -1,2 +1,2 @@
1
- import { $ as PageUsePreset, A as runPageUseTool, B as DEFAULT_MODEL, C as PageUseGlobal, D as PageUseCommand, E as PAGE_USE_TOOL_NAME, F as PageUseLauncherConfig, G as PageUseOptions, H as DEFAULT_STORAGE_KEY_PREFIX, I as PageUseLauncherElement, J as readLauncherSwitch, K as PageUseRouterMode, L as PageUseHandle, M as definePageUseElements, N as mountPageUseUI, O as formatPageUseResultForModel, P as PAGE_USE_LAUNCHER_TAG, Q as PageUseMenuNode, R as createPageUse, S as PAGE_USE_GLOBAL_KEY, T as PAGE_USE_TOOL, U as NormalizedPageUseOptions, V as DEFAULT_SESSION_HEADER, W as PageUseLLMOptions, X as pageUseCapability, Y as PageUseCapability, Z as PageUseErrorCode, _ as getPageUseConfig, a as PAGE_USE_STATIC_PRESETS, at as PageUseTaskSource, b as pageUseStore, c as pageUseHistory, d as PageUseSettings, et as PageUseProgressEvent, f as pageUseSettings, g as getElapsedSeconds, h as clearPageUseLog, i as PageUseGlowElement, it as PageUseTaskResult, j as MountPageUseUIOptions, k as isPageUseCommand, l as DEFAULT_PAGE_USE_SETTINGS, m as PageUseState, n as SIMULATOR_MASK_ID, nt as PageUseSnapshot, o as buildMenuPresets, ot as PageUseTaskStatus, p as PageUseQuestion, q as normalizeOptions, r as PAGE_USE_GLOW_TAG, rt as PageUseStepLog, s as PageUseHistoryEntry, t as PAGE_USE_MASK_COLORS, tt as PageUseRunOptions, u as PageUsePoint, v as isPageUseConfigured, w as PAGE_USE_COMMAND_TYPE, x as ReadonlyStore, y as isRunning, z as DEFAULT_MAX_STEPS } from "./index-CD2K3C_Q.mjs";
2
- export { DEFAULT_MAX_STEPS, DEFAULT_MODEL, DEFAULT_PAGE_USE_SETTINGS, DEFAULT_SESSION_HEADER, DEFAULT_STORAGE_KEY_PREFIX, type MountPageUseUIOptions, type NormalizedPageUseOptions, PAGE_USE_COMMAND_TYPE, PAGE_USE_GLOBAL_KEY, PAGE_USE_GLOW_TAG, PAGE_USE_LAUNCHER_TAG, PAGE_USE_MASK_COLORS, PAGE_USE_STATIC_PRESETS, PAGE_USE_TOOL, PAGE_USE_TOOL_NAME, type PageUseCapability, type PageUseCommand, type PageUseErrorCode, type PageUseGlobal, PageUseGlowElement, type PageUseHandle, type PageUseHistoryEntry, type PageUseLLMOptions, type PageUseLauncherConfig, PageUseLauncherElement, type PageUseMenuNode, type PageUseOptions, type PageUsePoint, type PageUsePreset, type PageUseProgressEvent, type PageUseQuestion, type PageUseRouterMode, type PageUseRunOptions, type PageUseSettings, type PageUseSnapshot, type PageUseState, type PageUseStepLog, type PageUseTaskResult, type PageUseTaskSource, type PageUseTaskStatus, type ReadonlyStore, SIMULATOR_MASK_ID, buildMenuPresets, clearPageUseLog, createPageUse, definePageUseElements, formatPageUseResultForModel, getElapsedSeconds, getPageUseConfig, isPageUseCommand, isPageUseConfigured, isRunning, mountPageUseUI, normalizeOptions, pageUseCapability, pageUseHistory, pageUseSettings, pageUseStore, readLauncherSwitch, runPageUseTool };
1
+ import { $ as PageUseLLMOptions, A as PageUseGlobal, B as MountPageUseUIOptions, C as getElapsedSeconds, D as pageUseStore, E as isRunning, F as PAGE_USE_TOOL_NAME, G as PageUseLauncherElement, H as mountPageUseUI, I as PageUseCommand, J as DEFAULT_MAX_STEPS, K as PageUseHandle, L as formatPageUseResultForModel, M as showPageUseLauncher, N as PAGE_USE_COMMAND_TYPE, O as ReadonlyStore, P as PAGE_USE_TOOL, Q as NormalizedPageUseOptions, R as isPageUseCommand, S as clearPageUseLog, T as isPageUseConfigured, U as PAGE_USE_LAUNCHER_TAG, V as definePageUseElements, W as PageUseLauncherConfig, X as DEFAULT_SESSION_HEADER, Y as DEFAULT_MODEL, Z as DEFAULT_STORAGE_KEY_PREFIX, _ as pageUseSettings, _t as PageUseTaskSource, a as PAGE_USE_ROBOT_ICON_SVG, at as PageUseTtsSpeakOptions, b as PageUseQuestion, c as PageUseCustomPreset, ct as pageUseCapability, d as pageUsePresets, dt as PageUsePreset, et as PageUseOptions, f as PageUseHistoryEntry, ft as PageUseProgressEvent, g as PageUseSettings, gt as PageUseTaskResult, h as PageUsePoint, ht as PageUseStepLog, i as PageUseGlowElement, it as PageUseTtsEngine, j as hidePageUseLauncher, k as PAGE_USE_GLOBAL_KEY, l as PageUsePresetSaveResult, lt as PageUseErrorCode, m as DEFAULT_PAGE_USE_SETTINGS, mt as PageUseSnapshot, n as SIMULATOR_MASK_ID, nt as normalizeOptions, o as PAGE_USE_STATIC_PRESETS, ot as PageUseTtsVoice, p as pageUseHistory, pt as PageUseRunOptions, q as createPageUse, r as PAGE_USE_GLOW_TAG, rt as readLauncherSwitch, s as buildMenuPresets, st as PageUseCapability, t as PAGE_USE_MASK_COLORS, tt as PageUseRouterMode, u as PageUsePresetState, ut as PageUseMenuNode, v as BROWSER_ENGINE_ID, vt as PageUseTaskStatus, w as getPageUseConfig, x as PageUseState, y as browserTtsEngine, z as runPageUseTool } from "./index-D4_hId31.mjs";
2
+ export { BROWSER_ENGINE_ID, DEFAULT_MAX_STEPS, DEFAULT_MODEL, DEFAULT_PAGE_USE_SETTINGS, DEFAULT_SESSION_HEADER, DEFAULT_STORAGE_KEY_PREFIX, type MountPageUseUIOptions, type NormalizedPageUseOptions, PAGE_USE_COMMAND_TYPE, PAGE_USE_GLOBAL_KEY, PAGE_USE_GLOW_TAG, PAGE_USE_LAUNCHER_TAG, PAGE_USE_MASK_COLORS, PAGE_USE_ROBOT_ICON_SVG, PAGE_USE_STATIC_PRESETS, PAGE_USE_TOOL, PAGE_USE_TOOL_NAME, type PageUseCapability, type PageUseCommand, type PageUseCustomPreset, type PageUseErrorCode, type PageUseGlobal, PageUseGlowElement, type PageUseHandle, type PageUseHistoryEntry, type PageUseLLMOptions, type PageUseLauncherConfig, PageUseLauncherElement, type PageUseMenuNode, type PageUseOptions, type PageUsePoint, type PageUsePreset, type PageUsePresetSaveResult, type PageUsePresetState, type PageUseProgressEvent, type PageUseQuestion, type PageUseRouterMode, type PageUseRunOptions, type PageUseSettings, type PageUseSnapshot, type PageUseState, type PageUseStepLog, type PageUseTaskResult, type PageUseTaskSource, type PageUseTaskStatus, type PageUseTtsEngine, type PageUseTtsSpeakOptions, type PageUseTtsVoice, type ReadonlyStore, SIMULATOR_MASK_ID, browserTtsEngine, buildMenuPresets, clearPageUseLog, createPageUse, definePageUseElements, formatPageUseResultForModel, getElapsedSeconds, getPageUseConfig, hidePageUseLauncher, isPageUseCommand, isPageUseConfigured, isRunning, mountPageUseUI, normalizeOptions, pageUseCapability, pageUseHistory, pageUsePresets, pageUseSettings, pageUseStore, readLauncherSwitch, runPageUseTool, showPageUseLauncher };
package/dist/index.mjs CHANGED
@@ -1,3 +1,3 @@
1
- import { A as DEFAULT_STORAGE_KEY_PREFIX, C as pageUseStore, D as DEFAULT_MAX_STEPS, E as pageUseSettings, M as readLauncherSwitch, N as PAGE_USE_MASK_COLORS, O as DEFAULT_MODEL, P as SIMULATOR_MASK_ID, S as isRunning, T as DEFAULT_PAGE_USE_SETTINGS, _ as pageUseCapability, a as PAGE_USE_STATIC_PRESETS, b as getPageUseConfig, c as PageUseGlowElement, d as PAGE_USE_COMMAND_TYPE, f as PAGE_USE_TOOL, g as runPageUseTool, h as isPageUseCommand, i as PageUseLauncherElement, j as normalizeOptions, k as DEFAULT_SESSION_HEADER, l as createPageUse, m as formatPageUseResultForModel, n as mountPageUseUI, o as buildMenuPresets, p as PAGE_USE_TOOL_NAME, r as PAGE_USE_LAUNCHER_TAG, s as PAGE_USE_GLOW_TAG, t as definePageUseElements, u as PAGE_USE_GLOBAL_KEY, v as clearPageUseLog, w as pageUseHistory, x as isPageUseConfigured, y as getElapsedSeconds } from "./src-B9wNTD0L.mjs";
1
+ import { A as pageUseSettings, B as browserTtsEngine, C as getPageUseConfig, D as pageUsePresets, E as pageUseStore, F as normalizeOptions, I as readLauncherSwitch, L as PAGE_USE_MASK_COLORS, M as DEFAULT_MODEL, N as DEFAULT_SESSION_HEADER, O as pageUseHistory, P as DEFAULT_STORAGE_KEY_PREFIX, R as SIMULATOR_MASK_ID, S as getElapsedSeconds, T as isRunning, _ as runPageUseTool, a as PAGE_USE_STATIC_PRESETS, b as pageUseCapability, c as PAGE_USE_GLOW_TAG, d as PAGE_USE_GLOBAL_KEY, f as PAGE_USE_COMMAND_TYPE, g as isPageUseCommand, h as formatPageUseResultForModel, i as PageUseLauncherElement, j as DEFAULT_MAX_STEPS, k as DEFAULT_PAGE_USE_SETTINGS, l as PageUseGlowElement, m as PAGE_USE_TOOL_NAME, n as mountPageUseUI, o as buildMenuPresets, p as PAGE_USE_TOOL, r as PAGE_USE_LAUNCHER_TAG, s as PAGE_USE_ROBOT_ICON_SVG, t as definePageUseElements, u as createPageUse, v as hidePageUseLauncher, w as isPageUseConfigured, x as clearPageUseLog, y as showPageUseLauncher, z as BROWSER_ENGINE_ID } from "./src-tOb9oqjb.mjs";
2
2
 
3
- export { DEFAULT_MAX_STEPS, DEFAULT_MODEL, DEFAULT_PAGE_USE_SETTINGS, DEFAULT_SESSION_HEADER, DEFAULT_STORAGE_KEY_PREFIX, PAGE_USE_COMMAND_TYPE, PAGE_USE_GLOBAL_KEY, PAGE_USE_GLOW_TAG, PAGE_USE_LAUNCHER_TAG, PAGE_USE_MASK_COLORS, PAGE_USE_STATIC_PRESETS, PAGE_USE_TOOL, PAGE_USE_TOOL_NAME, PageUseGlowElement, PageUseLauncherElement, SIMULATOR_MASK_ID, buildMenuPresets, clearPageUseLog, createPageUse, definePageUseElements, formatPageUseResultForModel, getElapsedSeconds, getPageUseConfig, isPageUseCommand, isPageUseConfigured, isRunning, mountPageUseUI, normalizeOptions, pageUseCapability, pageUseHistory, pageUseSettings, pageUseStore, readLauncherSwitch, runPageUseTool };
3
+ export { BROWSER_ENGINE_ID, DEFAULT_MAX_STEPS, DEFAULT_MODEL, DEFAULT_PAGE_USE_SETTINGS, DEFAULT_SESSION_HEADER, DEFAULT_STORAGE_KEY_PREFIX, PAGE_USE_COMMAND_TYPE, PAGE_USE_GLOBAL_KEY, PAGE_USE_GLOW_TAG, PAGE_USE_LAUNCHER_TAG, PAGE_USE_MASK_COLORS, PAGE_USE_ROBOT_ICON_SVG, PAGE_USE_STATIC_PRESETS, PAGE_USE_TOOL, PAGE_USE_TOOL_NAME, PageUseGlowElement, PageUseLauncherElement, SIMULATOR_MASK_ID, browserTtsEngine, buildMenuPresets, clearPageUseLog, createPageUse, definePageUseElements, formatPageUseResultForModel, getElapsedSeconds, getPageUseConfig, hidePageUseLauncher, isPageUseCommand, isPageUseConfigured, isRunning, mountPageUseUI, normalizeOptions, pageUseCapability, pageUseHistory, pageUsePresets, pageUseSettings, pageUseStore, readLauncherSwitch, runPageUseTool, showPageUseLauncher };