@tanzerfe/page-use 0.0.11 → 0.0.12

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/flow.d.mts CHANGED
@@ -1,4 +1,4 @@
1
- import { $ as FlowClient, $t as FlowStep, A as FLOW_SEGMENT_MAX_CHARS, At as FlowPresenter, B as validateSceneBindings, Bt as FlowRepositorySnapshot, C as runPageUseFlowTool, Ct as FlowManager, D as PAGE_USE_MANAGER_TAG, Dt as FlowParameter, E as mountPageUseManager, Et as FlowOutputReference, F as parseFlowScene, Ft as FlowRegionFailure, G as FlowApiRequest, Gt as FlowScene, H as FLOW_SCHEMA_VERSION, Ht as FlowRunOptions, I as parseFlowSceneDraft, It as FlowRegionHost, J as FlowBindings, Jt as FlowSegment, K as FlowApiResponse, Kt as FlowSceneRecord, L as sceneKey, Lt as FlowRegionPage, M as parseFlowBundle, Mt as FlowRegionAnchor, N as parseFlowKnowledge, Nt as FlowRegionCandidate, O as PageUseManagerElement, Ot as FlowParameterDefinition, P as parseFlowRegion, Pt as FlowRegionContext, Q as FlowCheckBinding, Qt as FlowStatus, R as scopeKey, Rt as FlowRegionSelector, S as getPageUseFlowCatalog, St as FlowKnowledgeRecord, T as definePageUseManagerElement, Tt as FlowMode, U as FlowAction, Ut as FlowRunResult, V as FLOW_BUNDLE_VERSION, Vt as FlowResolvedTarget, W as FlowActionBinding, Wt as FlowRunner, X as FlowBundle, Xt as FlowSessionContext, Y as FlowBoundCheck, Yt as FlowSegmentLog, Z as FlowCheck, Zt as FlowSnapshot, _t as FlowIdentity, at as FlowCompletionDecision, bt as FlowInputDefinition, ct as FlowContext, dt as FlowError, en as FlowTombstone, et as FlowCloudAdapter, ft as FlowErrorCode, gt as FlowGenerator, ht as FlowExportOptions, in as PageUseFlowOptions, it as FlowCloudState, j as newRevision, jt as FlowRegion, k as PageUseManagerPresentation, kt as FlowPermissions, lt as FlowContextBinding, mt as FlowExecutionPorts, nn as JsonValue, nt as FlowCloudController, o as NormalizedLLMOptions, ot as FlowCompletionEvaluator, pt as FlowEvent, q as FlowApiSyncOptions, qt as FlowScope, rn as PageUseFlowHandle, rt as FlowCloudRelease, st as FlowConfigResponse, tn as JsonObject, tt as FlowCloudCache, ut as FlowDescriptionCheck, vt as FlowImportPreview, w as MountPageUseManagerOptions, wt as FlowManagerState, x as PAGE_USE_FLOW_TOOL, xt as FlowKnowledge, yt as FlowImportStrategy, z as validateFlowInputs, zt as FlowRepository } from "./options-BdQiIL9a.mjs";
1
+ import { $ as FlowClient, $t as FlowStep, A as FLOW_SEGMENT_MAX_CHARS, At as FlowPresenter, B as validateSceneBindings, Bt as FlowRepositorySnapshot, C as runPageUseFlowTool, Ct as FlowManager, D as PAGE_USE_MANAGER_TAG, Dt as FlowParameter, E as mountPageUseManager, Et as FlowOutputReference, F as parseFlowScene, Ft as FlowRegionFailure, G as FlowApiRequest, Gt as FlowScene, H as FLOW_SCHEMA_VERSION, Ht as FlowRunOptions, I as parseFlowSceneDraft, It as FlowRegionHost, J as FlowBindings, Jt as FlowSegment, K as FlowApiResponse, Kt as FlowSceneRecord, L as sceneKey, Lt as FlowRegionPage, M as parseFlowBundle, Mt as FlowRegionAnchor, N as parseFlowKnowledge, Nt as FlowRegionCandidate, O as PageUseManagerElement, Ot as FlowParameterDefinition, P as parseFlowRegion, Pt as FlowRegionContext, Q as FlowCheckBinding, Qt as FlowStatus, R as scopeKey, Rt as FlowRegionSelector, S as getPageUseFlowCatalog, St as FlowKnowledgeRecord, T as definePageUseManagerElement, Tt as FlowMode, U as FlowAction, Ut as FlowRunResult, V as FLOW_BUNDLE_VERSION, Vt as FlowResolvedTarget, W as FlowActionBinding, Wt as FlowRunner, X as FlowBundle, Xt as FlowSessionContext, Y as FlowBoundCheck, Yt as FlowSegmentLog, Z as FlowCheck, Zt as FlowSnapshot, _t as FlowIdentity, at as FlowCompletionDecision, bt as FlowInputDefinition, ct as FlowContext, dt as FlowError, en as FlowTombstone, et as FlowCloudAdapter, ft as FlowErrorCode, gt as FlowGenerator, ht as FlowExportOptions, in as PageUseFlowOptions, it as FlowCloudState, j as newRevision, jt as FlowRegion, k as PageUseManagerPresentation, kt as FlowPermissions, lt as FlowContextBinding, mt as FlowExecutionPorts, nn as JsonValue, nt as FlowCloudController, o as NormalizedLLMOptions, ot as FlowCompletionEvaluator, pt as FlowEvent, q as FlowApiSyncOptions, qt as FlowScope, rn as PageUseFlowHandle, rt as FlowCloudRelease, st as FlowConfigResponse, tn as JsonObject, tt as FlowCloudCache, ut as FlowDescriptionCheck, vt as FlowImportPreview, w as MountPageUseManagerOptions, wt as FlowManagerState, x as PAGE_USE_FLOW_TOOL, xt as FlowKnowledge, yt as FlowImportStrategy, z as validateFlowInputs, zt as FlowRepository } from "./options-BhKU0oJ5.mjs";
2
2
  import { z } from "zod/v4";
3
3
  //#region src/flow/schema.d.ts
4
4
  export declare const FLOW_SCENE_JSON_SCHEMA: z.core.ZodStandardJSONSchemaPayload<z.ZodObject<{
package/dist/flow.mjs CHANGED
@@ -1,4 +1,4 @@
1
- import { A as parseFlowBundle, C as createIndexedDbFlowRepository, D as flowSceneDraftSchema, E as flowBundleSchema, F as sceneKey, I as scopeKey, L as validateFlowInputs, Lt as FLOW_BUNDLE_VERSION, M as parseFlowRegion, N as parseFlowScene, O as flowSceneSchema, P as parseFlowSceneDraft, Rt as FLOW_SCHEMA_VERSION, S as previewFlowImport, _ as createFlowApiAdapter, a as mountPageUseManager, b as exportFlowBundle, c as createFlowRegionPicker, d as evaluateFlowCompletion, g as validateRegionPages, i as definePageUseManagerElement, j as parseFlowKnowledge, k as newRevision, l as createFlowRunner, m as locateFlowRegion, n as getPageUseFlowCatalog, o as PAGE_USE_MANAGER_TAG, r as runPageUseFlowTool, s as PageUseManagerElement, t as PAGE_USE_FLOW_TOOL, u as createCompletionEvaluator, w as FLOW_SEGMENT_MAX_CHARS, x as importFlowBundle, y as createFlowCloud, z as validateSceneBindings, zt as FlowError } from "./tool-CcgpA1W5.mjs";
1
+ import { A as parseFlowBundle, C as createIndexedDbFlowRepository, D as flowSceneDraftSchema, E as flowBundleSchema, F as sceneKey, I as scopeKey, L as validateFlowInputs, Lt as FLOW_BUNDLE_VERSION, M as parseFlowRegion, N as parseFlowScene, O as flowSceneSchema, P as parseFlowSceneDraft, Rt as FLOW_SCHEMA_VERSION, S as previewFlowImport, _ as createFlowApiAdapter, a as mountPageUseManager, b as exportFlowBundle, c as createFlowRegionPicker, d as evaluateFlowCompletion, g as validateRegionPages, i as definePageUseManagerElement, j as parseFlowKnowledge, k as newRevision, l as createFlowRunner, m as locateFlowRegion, n as getPageUseFlowCatalog, o as PAGE_USE_MANAGER_TAG, r as runPageUseFlowTool, s as PageUseManagerElement, t as PAGE_USE_FLOW_TOOL, u as createCompletionEvaluator, w as FLOW_SEGMENT_MAX_CHARS, x as importFlowBundle, y as createFlowCloud, z as validateSceneBindings, zt as FlowError } from "./tool-CvEvIsN9.mjs";
2
2
  import { z } from "zod/v4";
3
3
 
4
4
  //#region src/flow/schema.ts
@@ -1,4 +1,4 @@
1
- import { cn as PageUseProgressEvent, dn as PageUseStepLog, fn as PageUseTaskResult, l as PageUseOptions, ln as PageUseRunOptions, m as PageUseTtsEngine, on as PageUseMenuNode, pn as PageUseTaskSource, rn as PageUseFlowHandle, s as NormalizedPageUseOptions, sn as PageUsePreset, un as PageUseSnapshot } from "./options-BdQiIL9a.mjs";
1
+ import { cn as PageUseProgressEvent, dn as PageUseStepLog, fn as PageUseTaskResult, l as PageUseOptions, ln as PageUseRunOptions, m as PageUseTtsEngine, on as PageUseMenuNode, pn as PageUseTaskSource, rn as PageUseFlowHandle, s as NormalizedPageUseOptions, sn as PageUsePreset, un as PageUseSnapshot } from "./options-BhKU0oJ5.mjs";
2
2
  import { AgentStatus } from "page-agent";
3
3
  import { LitElement, PropertyValues, nothing } from "lit";
4
4
  //#region src/capability/api.d.ts
@@ -83,6 +83,8 @@ declare class PageUseLauncherElement extends LitElement {
83
83
  private flowPresentation;
84
84
  /** 大窗口仅在当前浏览期间移动,不能反推或持久化原面板的入口位置。 */
85
85
  private flowPanelPosition?;
86
+ /** 仅当前场景工作区保留最大化状态;原位置独立保存,供还原时使用。 */
87
+ private flowPanelMaximized;
86
88
  private panelResizeFrom?;
87
89
  private panelResizeAnimation?;
88
90
  private observedFlow?;
@@ -146,6 +148,7 @@ declare class PageUseLauncherElement extends LitElement {
146
148
  /** 生效的面板布局:未声明或取值非法时按桌面端处理,既有接入方的行为不变 */
147
149
  private get isMobileLayout();
148
150
  private get isFlowView();
151
+ private get isFlowPanelMaximized();
149
152
  /**
150
153
  * 下达指令后是否自动收起面板:仅移动端布局生效,默认开启,可在设置页关闭。
151
154
  * 桌面端不提供该行为,也不显示设置项,存储中被改过的值在桌面端不生效。
@@ -216,6 +219,8 @@ declare class PageUseLauncherElement extends LitElement {
216
219
  private onTitleTap;
217
220
  /** 切换面板视图:离开设置页时中止音色试听,离开快捷指令编辑时丢弃未保存的草稿 */
218
221
  private switchView;
222
+ private toggleFlowPanelMaximized;
223
+ private preparePanelResize;
219
224
  private cancelPanelResize;
220
225
  private animatePanelResize;
221
226
  private onPanelPointerDown;
package/dist/index.d.mts CHANGED
@@ -1,3 +1,3 @@
1
- import { $ as FlowClient, $t as FlowStep, At as FlowPresenter, Bt as FlowRepositorySnapshot, C as runPageUseFlowTool, Ct as FlowManager, Dt as FlowParameter, E as mountPageUseManager, Et as FlowOutputReference, F as parseFlowScene, Ft as FlowRegionFailure, G as FlowApiRequest, Gt as FlowScene, H as FLOW_SCHEMA_VERSION, Ht as FlowRunOptions, I as parseFlowSceneDraft, It as FlowRegionHost, J as FlowBindings, Jt as FlowSegment, K as FlowApiResponse, Kt as FlowSceneRecord, L as sceneKey, Lt as FlowRegionPage, Mt as FlowRegionAnchor, N as parseFlowKnowledge, Nt as FlowRegionCandidate, Ot as FlowParameterDefinition, Pt as FlowRegionContext, Q as FlowCheckBinding, Qt as FlowStatus, Rt as FlowRegionSelector, S as getPageUseFlowCatalog, St as FlowKnowledgeRecord, T as definePageUseManagerElement, Tt as FlowMode, U as FlowAction, Ut as FlowRunResult, V as FLOW_BUNDLE_VERSION, Vt as FlowResolvedTarget, W as FlowActionBinding, Wt as FlowRunner, X as FlowBundle, Xt as FlowSessionContext, Y as FlowBoundCheck, Yt as FlowSegmentLog, Z as FlowCheck, Zt as FlowSnapshot, _ as DEFAULT_TOUR_STYLES, _t as FlowIdentity, a as DEFAULT_TOUR_MAX_TAB_SWITCHES, an as PageUseErrorCode, at as FlowCompletionDecision, b as TOUR_STYLE_USER, bt as FlowInputDefinition, c as PageUseLLMOptions, cn as PageUseProgressEvent, ct as FlowContext, d as PageUseTourOptions, dn as PageUseStepLog, dt as FlowError, en as FlowTombstone, et as FlowCloudAdapter, f as normalizeOptions, fn as PageUseTaskResult, ft as FlowErrorCode, g as PageUseTtsVoice, gt as FlowGenerator, h as PageUseTtsSpeakOptions, ht as FlowExportOptions, i as DEFAULT_STORAGE_KEY_PREFIX, in as PageUseFlowOptions, it as FlowCloudState, j as newRevision, jt as FlowRegion, kt as FlowPermissions, l as PageUseOptions, ln as PageUseRunOptions, lt as FlowContextBinding, m as PageUseTtsEngine, mn as PageUseTaskStatus, mt as FlowExecutionPorts, n as DEFAULT_MODEL, nn as JsonValue, nt as FlowCloudController, on as PageUseMenuNode, ot as FlowCompletionEvaluator, p as readLauncherSwitch, pn as PageUseTaskSource, pt as FlowEvent, q as FlowApiSyncOptions, qt as FlowScope, r as DEFAULT_SESSION_HEADER, rn as PageUseFlowHandle, rt as FlowCloudRelease, s as NormalizedPageUseOptions, sn as PageUsePreset, st as FlowConfigResponse, t as DEFAULT_MAX_STEPS, tn as JsonObject, tt as FlowCloudCache, u as PageUseRouterMode, un as PageUseSnapshot, ut as FlowDescriptionCheck, v as PageUseTourStyle, vt as FlowImportPreview, w as MountPageUseManagerOptions, wt as FlowManagerState, x as PAGE_USE_FLOW_TOOL, xt as FlowKnowledge, y as TOUR_STYLE_TRAINER, yt as FlowImportStrategy, zt as FlowRepository } from "./options-BdQiIL9a.mjs";
2
- import { 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 createPageUse, K as PageUseLauncherLayout, L as formatPageUseResultForModel, M as showPageUseLauncher, N as PAGE_USE_COMMAND_TYPE, O as ReadonlyStore, P as PAGE_USE_TOOL, R as isPageUseCommand, S as clearPageUseLog, T as isPageUseConfigured, U as PAGE_USE_LAUNCHER_TAG, V as definePageUseElements, W as PageUseLauncherConfig, X as PageUseCapability, Y as getPageUseFlow, Z as pageUseCapability, _ as pageUseSettings, a as PAGE_USE_ROBOT_ICON_SVG, b as PageUseQuestion, c as PageUseCustomPreset, d as pageUsePresets, f as PageUseHistoryEntry, g as PageUseSettings, h as PageUsePoint, i as PageUseGlowElement, j as hidePageUseLauncher, k as PAGE_USE_GLOBAL_KEY, l as PageUsePresetSaveResult, m as DEFAULT_PAGE_USE_SETTINGS, n as SIMULATOR_MASK_ID, o as PAGE_USE_STATIC_PRESETS, p as pageUseHistory, q as PageUseHandle, r as PAGE_USE_GLOW_TAG, s as buildMenuPresets, t as PAGE_USE_MASK_COLORS, u as PageUsePresetState, v as BROWSER_ENGINE_ID, w as getPageUseConfig, x as PageUseState, y as browserTtsEngine, z as runPageUseTool } from "./index-CbMIEplo.mjs";
1
+ import { $ as FlowClient, $t as FlowStep, At as FlowPresenter, Bt as FlowRepositorySnapshot, C as runPageUseFlowTool, Ct as FlowManager, Dt as FlowParameter, E as mountPageUseManager, Et as FlowOutputReference, F as parseFlowScene, Ft as FlowRegionFailure, G as FlowApiRequest, Gt as FlowScene, H as FLOW_SCHEMA_VERSION, Ht as FlowRunOptions, I as parseFlowSceneDraft, It as FlowRegionHost, J as FlowBindings, Jt as FlowSegment, K as FlowApiResponse, Kt as FlowSceneRecord, L as sceneKey, Lt as FlowRegionPage, Mt as FlowRegionAnchor, N as parseFlowKnowledge, Nt as FlowRegionCandidate, Ot as FlowParameterDefinition, Pt as FlowRegionContext, Q as FlowCheckBinding, Qt as FlowStatus, Rt as FlowRegionSelector, S as getPageUseFlowCatalog, St as FlowKnowledgeRecord, T as definePageUseManagerElement, Tt as FlowMode, U as FlowAction, Ut as FlowRunResult, V as FLOW_BUNDLE_VERSION, Vt as FlowResolvedTarget, W as FlowActionBinding, Wt as FlowRunner, X as FlowBundle, Xt as FlowSessionContext, Y as FlowBoundCheck, Yt as FlowSegmentLog, Z as FlowCheck, Zt as FlowSnapshot, _ as DEFAULT_TOUR_STYLES, _t as FlowIdentity, a as DEFAULT_TOUR_MAX_TAB_SWITCHES, an as PageUseErrorCode, at as FlowCompletionDecision, b as TOUR_STYLE_USER, bt as FlowInputDefinition, c as PageUseLLMOptions, cn as PageUseProgressEvent, ct as FlowContext, d as PageUseTourOptions, dn as PageUseStepLog, dt as FlowError, en as FlowTombstone, et as FlowCloudAdapter, f as normalizeOptions, fn as PageUseTaskResult, ft as FlowErrorCode, g as PageUseTtsVoice, gt as FlowGenerator, h as PageUseTtsSpeakOptions, ht as FlowExportOptions, i as DEFAULT_STORAGE_KEY_PREFIX, in as PageUseFlowOptions, it as FlowCloudState, j as newRevision, jt as FlowRegion, kt as FlowPermissions, l as PageUseOptions, ln as PageUseRunOptions, lt as FlowContextBinding, m as PageUseTtsEngine, mn as PageUseTaskStatus, mt as FlowExecutionPorts, n as DEFAULT_MODEL, nn as JsonValue, nt as FlowCloudController, on as PageUseMenuNode, ot as FlowCompletionEvaluator, p as readLauncherSwitch, pn as PageUseTaskSource, pt as FlowEvent, q as FlowApiSyncOptions, qt as FlowScope, r as DEFAULT_SESSION_HEADER, rn as PageUseFlowHandle, rt as FlowCloudRelease, s as NormalizedPageUseOptions, sn as PageUsePreset, st as FlowConfigResponse, t as DEFAULT_MAX_STEPS, tn as JsonObject, tt as FlowCloudCache, u as PageUseRouterMode, un as PageUseSnapshot, ut as FlowDescriptionCheck, v as PageUseTourStyle, vt as FlowImportPreview, w as MountPageUseManagerOptions, wt as FlowManagerState, x as PAGE_USE_FLOW_TOOL, xt as FlowKnowledge, y as TOUR_STYLE_TRAINER, yt as FlowImportStrategy, zt as FlowRepository } from "./options-BhKU0oJ5.mjs";
2
+ import { 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 createPageUse, K as PageUseLauncherLayout, L as formatPageUseResultForModel, M as showPageUseLauncher, N as PAGE_USE_COMMAND_TYPE, O as ReadonlyStore, P as PAGE_USE_TOOL, R as isPageUseCommand, S as clearPageUseLog, T as isPageUseConfigured, U as PAGE_USE_LAUNCHER_TAG, V as definePageUseElements, W as PageUseLauncherConfig, X as PageUseCapability, Y as getPageUseFlow, Z as pageUseCapability, _ as pageUseSettings, a as PAGE_USE_ROBOT_ICON_SVG, b as PageUseQuestion, c as PageUseCustomPreset, d as pageUsePresets, f as PageUseHistoryEntry, g as PageUseSettings, h as PageUsePoint, i as PageUseGlowElement, j as hidePageUseLauncher, k as PAGE_USE_GLOBAL_KEY, l as PageUsePresetSaveResult, m as DEFAULT_PAGE_USE_SETTINGS, n as SIMULATOR_MASK_ID, o as PAGE_USE_STATIC_PRESETS, p as pageUseHistory, q as PageUseHandle, r as PAGE_USE_GLOW_TAG, s as buildMenuPresets, t as PAGE_USE_MASK_COLORS, u as PageUsePresetState, v as BROWSER_ENGINE_ID, w as getPageUseConfig, x as PageUseState, y as browserTtsEngine, z as runPageUseTool } from "./index-zDjmWzFh.mjs";
3
3
  export { BROWSER_ENGINE_ID, DEFAULT_MAX_STEPS, DEFAULT_MODEL, DEFAULT_PAGE_USE_SETTINGS, DEFAULT_SESSION_HEADER, DEFAULT_STORAGE_KEY_PREFIX, DEFAULT_TOUR_MAX_TAB_SWITCHES, DEFAULT_TOUR_STYLES, FLOW_BUNDLE_VERSION, FLOW_SCHEMA_VERSION, FlowAction, FlowActionBinding, FlowApiRequest, FlowApiResponse, FlowApiSyncOptions, FlowBindings, FlowBoundCheck, FlowBundle, FlowCheck, FlowCheckBinding, FlowClient, FlowCloudAdapter, FlowCloudCache, FlowCloudController, FlowCloudRelease, FlowCloudState, FlowCompletionDecision, FlowCompletionEvaluator, FlowConfigResponse, FlowContext, FlowContextBinding, FlowDescriptionCheck, FlowError, FlowErrorCode, FlowEvent, FlowExecutionPorts, FlowExportOptions, FlowGenerator, FlowIdentity, FlowImportPreview, FlowImportStrategy, FlowInputDefinition, FlowKnowledge, FlowKnowledgeRecord, FlowManager, FlowManagerState, FlowMode, FlowOutputReference, FlowParameter, FlowParameterDefinition, FlowPermissions, FlowPresenter, FlowRegion, FlowRegionAnchor, FlowRegionCandidate, FlowRegionContext, FlowRegionFailure, FlowRegionHost, FlowRegionPage, FlowRegionSelector, FlowRepository, FlowRepositorySnapshot, FlowResolvedTarget, FlowRunOptions, FlowRunResult, FlowRunner, FlowScene, FlowSceneRecord, FlowScope, FlowSegment, FlowSegmentLog, FlowSessionContext, FlowSnapshot, FlowStatus, FlowStep, FlowTombstone, JsonObject, JsonValue, type MountPageUseManagerOptions, type MountPageUseUIOptions, type NormalizedPageUseOptions, PAGE_USE_COMMAND_TYPE, PAGE_USE_FLOW_TOOL, 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, PageUseFlowHandle, PageUseFlowOptions, type PageUseGlobal, PageUseGlowElement, type PageUseHandle, type PageUseHistoryEntry, type PageUseLLMOptions, type PageUseLauncherConfig, PageUseLauncherElement, type PageUseLauncherLayout, 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 PageUseTourOptions, type PageUseTourStyle, type PageUseTtsEngine, type PageUseTtsSpeakOptions, type PageUseTtsVoice, type ReadonlyStore, SIMULATOR_MASK_ID, TOUR_STYLE_TRAINER, TOUR_STYLE_USER, browserTtsEngine, buildMenuPresets, clearPageUseLog, createPageUse, definePageUseElements, definePageUseManagerElement, formatPageUseResultForModel, getElapsedSeconds, getPageUseConfig, getPageUseFlow, getPageUseFlowCatalog, hidePageUseLauncher, isPageUseCommand, isPageUseConfigured, isRunning, mountPageUseManager, mountPageUseUI, newRevision, normalizeOptions, pageUseCapability, pageUseHistory, pageUsePresets, pageUseSettings, pageUseStore, parseFlowKnowledge, parseFlowScene, parseFlowSceneDraft, readLauncherSwitch, runPageUseFlowTool, runPageUseTool, sceneKey, showPageUseLauncher };
package/dist/index.mjs CHANGED
@@ -1,4 +1,4 @@
1
- import { At as browserTtsEngine, Dt as PAGE_USE_MASK_COLORS, F as sceneKey, J as isRunning, Lt as FLOW_BUNDLE_VERSION, Mt as DEFAULT_TOUR_STYLES, N as parseFlowScene, Nt as TOUR_STYLE_TRAINER, Ot as SIMULATOR_MASK_ID, P as parseFlowSceneDraft, Pt as TOUR_STYLE_USER, Rt as FLOW_SCHEMA_VERSION, St as normalizeOptions, U as getElapsedSeconds, V as clearPageUseLog, W as getPageUseConfig, Y as pageUseStore, _t as DEFAULT_MAX_STEPS, a as mountPageUseManager, at as pageUseHistory, bt as DEFAULT_STORAGE_KEY_PREFIX, ht as pageUseSettings, i as definePageUseManagerElement, it as pageUsePresets, j as parseFlowKnowledge, k as newRevision, kt as BROWSER_ENGINE_ID, mt as DEFAULT_PAGE_USE_SETTINGS, n as getPageUseFlowCatalog, q as isPageUseConfigured, r as runPageUseFlowTool, t as PAGE_USE_FLOW_TOOL, vt as DEFAULT_MODEL, wt as readLauncherSwitch, xt as DEFAULT_TOUR_MAX_TAB_SWITCHES, yt as DEFAULT_SESSION_HEADER, zt as FlowError } from "./tool-CcgpA1W5.mjs";
2
- import { _ as isPageUseCommand, a as PAGE_USE_STATIC_PRESETS, b as showPageUseLauncher, c as PAGE_USE_GLOW_TAG, d as getPageUseFlow, f as PAGE_USE_GLOBAL_KEY, g as formatPageUseResultForModel, h as PAGE_USE_TOOL_NAME, i as PageUseLauncherElement, l as PageUseGlowElement, m as PAGE_USE_TOOL, n as mountPageUseUI, o as buildMenuPresets, p as PAGE_USE_COMMAND_TYPE, r as PAGE_USE_LAUNCHER_TAG, s as PAGE_USE_ROBOT_ICON_SVG, t as definePageUseElements, u as createPageUse, v as runPageUseTool, x as pageUseCapability, y as hidePageUseLauncher } from "./src-DWoN4zgw.mjs";
1
+ import { At as browserTtsEngine, Dt as PAGE_USE_MASK_COLORS, F as sceneKey, J as isRunning, Lt as FLOW_BUNDLE_VERSION, Mt as DEFAULT_TOUR_STYLES, N as parseFlowScene, Nt as TOUR_STYLE_TRAINER, Ot as SIMULATOR_MASK_ID, P as parseFlowSceneDraft, Pt as TOUR_STYLE_USER, Rt as FLOW_SCHEMA_VERSION, St as normalizeOptions, U as getElapsedSeconds, V as clearPageUseLog, W as getPageUseConfig, Y as pageUseStore, _t as DEFAULT_MAX_STEPS, a as mountPageUseManager, at as pageUseHistory, bt as DEFAULT_STORAGE_KEY_PREFIX, ht as pageUseSettings, i as definePageUseManagerElement, it as pageUsePresets, j as parseFlowKnowledge, k as newRevision, kt as BROWSER_ENGINE_ID, mt as DEFAULT_PAGE_USE_SETTINGS, n as getPageUseFlowCatalog, q as isPageUseConfigured, r as runPageUseFlowTool, t as PAGE_USE_FLOW_TOOL, vt as DEFAULT_MODEL, wt as readLauncherSwitch, xt as DEFAULT_TOUR_MAX_TAB_SWITCHES, yt as DEFAULT_SESSION_HEADER, zt as FlowError } from "./tool-CvEvIsN9.mjs";
2
+ import { _ as isPageUseCommand, a as PAGE_USE_STATIC_PRESETS, b as showPageUseLauncher, c as PAGE_USE_GLOW_TAG, d as getPageUseFlow, f as PAGE_USE_GLOBAL_KEY, g as formatPageUseResultForModel, h as PAGE_USE_TOOL_NAME, i as PageUseLauncherElement, l as PageUseGlowElement, m as PAGE_USE_TOOL, n as mountPageUseUI, o as buildMenuPresets, p as PAGE_USE_COMMAND_TYPE, r as PAGE_USE_LAUNCHER_TAG, s as PAGE_USE_ROBOT_ICON_SVG, t as definePageUseElements, u as createPageUse, v as runPageUseTool, x as pageUseCapability, y as hidePageUseLauncher } from "./src-DAbH8ij6.mjs";
3
3
 
4
4
  export { BROWSER_ENGINE_ID, DEFAULT_MAX_STEPS, DEFAULT_MODEL, DEFAULT_PAGE_USE_SETTINGS, DEFAULT_SESSION_HEADER, DEFAULT_STORAGE_KEY_PREFIX, DEFAULT_TOUR_MAX_TAB_SWITCHES, DEFAULT_TOUR_STYLES, FLOW_BUNDLE_VERSION, FLOW_SCHEMA_VERSION, FlowError, PAGE_USE_COMMAND_TYPE, PAGE_USE_FLOW_TOOL, 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, TOUR_STYLE_TRAINER, TOUR_STYLE_USER, browserTtsEngine, buildMenuPresets, clearPageUseLog, createPageUse, definePageUseElements, definePageUseManagerElement, formatPageUseResultForModel, getElapsedSeconds, getPageUseConfig, getPageUseFlow, getPageUseFlowCatalog, hidePageUseLauncher, isPageUseCommand, isPageUseConfigured, isRunning, mountPageUseManager, mountPageUseUI, newRevision, normalizeOptions, pageUseCapability, pageUseHistory, pageUsePresets, pageUseSettings, pageUseStore, parseFlowKnowledge, parseFlowScene, parseFlowSceneDraft, readLauncherSwitch, runPageUseFlowTool, runPageUseTool, sceneKey, showPageUseLauncher };
@@ -829,6 +829,8 @@ declare class PageUseManagerElement extends LitElement {
829
829
  private record?;
830
830
  /** -1 表示所有步骤收起,展开状态不写入场景配置。 */
831
831
  private selectedStep;
832
+ /** 折叠仅影响当前表单;按条目对象记录,重排后仍跟随原操作或段落。 */
833
+ private collapsedStepItems;
832
834
  private knowledgeDraft?;
833
835
  private knowledgeRecord?;
834
836
  private dirty;
@@ -914,6 +916,9 @@ declare class PageUseManagerElement extends LitElement {
914
916
  private moveStep;
915
917
  private addAction;
916
918
  private addCheck;
919
+ private addSegment;
920
+ private revealAddedStepItem;
921
+ private toggleStepItem;
917
922
  private renderAction;
918
923
  private renderCheck;
919
924
  private renderParameters;
@@ -1,4 +1,4 @@
1
- import { $ as showFlowMask, B as acquireFlowExecution, C as createIndexedDbFlowRepository, Ct as readLauncherQuery, Et as resolveTtsEngine, F as sceneKey, Ft as cancelRegionPicker, G as getPageUseSnapshot, H as configurePageUse, I as scopeKey, It as hasRegionPicker, J as isRunning, K as hideFlowMask, M as parseFlowRegion, N as parseFlowScene, Ot as SIMULATOR_MASK_ID, P as parseFlowSceneDraft, Q as runTaskForFlow, R as validateRegionPreviewInputs, S as previewFlowImport, St as normalizeOptions, T as cloneJson, Tt as listTtsEngines, U as getElapsedSeconds, V as clearPageUseLog, W as getPageUseConfig, X as registerQuestionUi, Y as pageUseStore, Z as runTask, _ as createFlowApiAdapter, at as pageUseHistory, b as exportFlowBundle, ct as narrate, dt as previewStore, et as stopTask, f as composedParent, ft as startPreview, g as validateRegionPages, gt as createStore, h as regionAbortable, ht as pageUseSettings, i as definePageUseManagerElement, it as pageUsePresets, j as parseFlowKnowledge, jt as isSpeechSupported, k as newRevision, kt as BROWSER_ENGINE_ID, l as createFlowRunner, lt as narrationMute, m as locateFlowRegion, nt as subscribePageUse, ot as hideTourHighlight, p as createRegionSelector, pt as stopPreview, rt as updateFlowExecution, st as showTourHighlight, tt as stopTaskForFlow, u as createCompletionEvaluator, ut as registerNarrationPanelName, v as validateFlowApiOptions, w as FLOW_SEGMENT_MAX_CHARS, x as importFlowBundle, y as createFlowCloud, z as validateSceneBindings, zt as FlowError } from "./tool-CcgpA1W5.mjs";
1
+ import { $ as showFlowMask, B as acquireFlowExecution, C as createIndexedDbFlowRepository, Ct as readLauncherQuery, Et as resolveTtsEngine, F as sceneKey, Ft as cancelRegionPicker, G as getPageUseSnapshot, H as configurePageUse, I as scopeKey, It as hasRegionPicker, J as isRunning, K as hideFlowMask, M as parseFlowRegion, N as parseFlowScene, Ot as SIMULATOR_MASK_ID, P as parseFlowSceneDraft, Q as runTaskForFlow, R as validateRegionPreviewInputs, S as previewFlowImport, St as normalizeOptions, T as cloneJson, Tt as listTtsEngines, U as getElapsedSeconds, V as clearPageUseLog, W as getPageUseConfig, X as registerQuestionUi, Y as pageUseStore, Z as runTask, _ as createFlowApiAdapter, at as pageUseHistory, b as exportFlowBundle, ct as narrate, dt as previewStore, et as stopTask, f as composedParent, ft as startPreview, g as validateRegionPages, gt as createStore, h as regionAbortable, ht as pageUseSettings, i as definePageUseManagerElement, it as pageUsePresets, j as parseFlowKnowledge, jt as isSpeechSupported, k as newRevision, kt as BROWSER_ENGINE_ID, l as createFlowRunner, lt as narrationMute, m as locateFlowRegion, nt as subscribePageUse, ot as hideTourHighlight, p as createRegionSelector, pt as stopPreview, rt as updateFlowExecution, st as showTourHighlight, tt as stopTaskForFlow, u as createCompletionEvaluator, ut as registerNarrationPanelName, v as validateFlowApiOptions, w as FLOW_SEGMENT_MAX_CHARS, x as importFlowBundle, y as createFlowCloud, z as validateSceneBindings, zt as FlowError } from "./tool-CvEvIsN9.mjs";
2
2
  import { LitElement, css, html, nothing, svg } from "lit";
3
3
  import { keyed } from "lit/directives/keyed.js";
4
4
  import { unsafeHTML } from "lit/directives/unsafe-html.js";
@@ -1266,7 +1266,7 @@ var PageUseGlowElement = class extends LitElement {
1266
1266
 
1267
1267
  //#endregion
1268
1268
  //#region package.json
1269
- var version = "0.0.11";
1269
+ var version = "0.0.12";
1270
1270
 
1271
1271
  //#endregion
1272
1272
  //#region src/ui/drag.ts
@@ -1413,7 +1413,7 @@ function formatTokens(n) {
1413
1413
  //#region src/ui/icons.ts
1414
1414
  /**
1415
1415
  * 调试面板标题栏图标:24×24 线条图标,颜色跟随 currentColor,尺寸由 .icon-btn svg 控制。
1416
- * 路径取自 Lucide(ISC 许可):settings、arrow-left、minimize-2、x、volume-2、volume-x;
1416
+ * 路径取自 Lucide(ISC 许可):settings、arrow-left、minimize-2、maximize、copy、x、volume-2、volume-x;
1417
1417
  * robotIcon 为本包自绘的页面智能体形象,其 SVG 字符串以 PAGE_USE_ROBOT_ICON_SVG 对外导出。
1418
1418
  */
1419
1419
  /** 外层 <svg> 须在 html 模板中创建(lit 的 svg 模板只用于 <svg> 内部的片段) */
@@ -1438,6 +1438,15 @@ const backIcon = icon(svg`<path d="M19 12H5" /><path d="m12 19-7-7 7-7" />`);
1438
1438
  const collapseIcon = icon(svg`
1439
1439
  <path d="M4 14h6v6" /><path d="M20 10h-6V4" /><path d="m14 10 7-7" /><path d="m3 21 7-7" />
1440
1440
  `);
1441
+ /** 铺满网页视口 */
1442
+ const maximizeIcon = icon(svg`
1443
+ <path d="M8 3H5a2 2 0 0 0-2 2v3m13-5h3a2 2 0 0 1 2 2v3m0 8v3a2 2 0 0 1-2 2h-3M8 21H5a2 2 0 0 1-2-2v-3" />
1444
+ `);
1445
+ /** 还原为浮动窗口 */
1446
+ const restoreIcon = icon(svg`
1447
+ <rect x="9" y="9" width="13" height="13" rx="2" />
1448
+ <path d="M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1" />
1449
+ `);
1441
1450
  /** 关闭调试入口 */
1442
1451
  const closeIcon = icon(svg`<path d="M18 6 6 18" /><path d="m6 6 12 12" />`);
1443
1452
  /** 播报中(点击静音) */
@@ -1879,6 +1888,15 @@ const launcherStyles = css`
1879
1888
  .head:active {
1880
1889
  cursor: grabbing;
1881
1890
  }
1891
+ /* 视口最大化时贴合四边,标题栏不再作为拖动手柄。 */
1892
+ .panel.maximized,
1893
+ .panel.maximized .head {
1894
+ border-radius: 0;
1895
+ }
1896
+ .panel.maximized .head,
1897
+ .panel.maximized .head:active {
1898
+ cursor: default;
1899
+ }
1882
1900
  .dot {
1883
1901
  flex: none;
1884
1902
  width: 8px;
@@ -2549,7 +2567,7 @@ const PANEL_HEIGHT = 560;
2549
2567
  /** 场景目录和双栏编辑需要更宽的工作区,实际尺寸仍受视口和入口锚点约束。 */
2550
2568
  const FLOW_PANEL_WIDTH = 960;
2551
2569
  const FLOW_PANEL_HEIGHT = 720;
2552
- /** 小面板与场景工作区的尺寸切换时长(ms),不用于拖动跟手。 */
2570
+ /** 面板视图与最大化的尺寸切换时长(ms),不用于拖动跟手。 */
2553
2571
  const PANEL_RESIZE_MS = 220;
2554
2572
  /** 日志区距底部小于该值(px)视为贴底 */
2555
2573
  const STICK_THRESHOLD = 24;
@@ -2646,6 +2664,8 @@ var PageUseLauncherElement = class extends LitElement {
2646
2664
  flowPresentation = "scenarios";
2647
2665
  /** 大窗口仅在当前浏览期间移动,不能反推或持久化原面板的入口位置。 */
2648
2666
  flowPanelPosition;
2667
+ /** 仅当前场景工作区保留最大化状态;原位置独立保存,供还原时使用。 */
2668
+ flowPanelMaximized = false;
2649
2669
  panelResizeFrom;
2650
2670
  panelResizeAnimation;
2651
2671
  observedFlow;
@@ -2725,6 +2745,9 @@ var PageUseLauncherElement = class extends LitElement {
2725
2745
  get isFlowView() {
2726
2746
  return this.view === "flows" || this.view === "manager";
2727
2747
  }
2748
+ get isFlowPanelMaximized() {
2749
+ return !this.isMobileLayout && this.isFlowView && this.flowPanelMaximized;
2750
+ }
2728
2751
  /**
2729
2752
  * 下达指令后是否自动收起面板:仅移动端布局生效,默认开启,可在设置页关闭。
2730
2753
  * 桌面端不提供该行为,也不显示设置项,存储中被改过的值在桌面端不生效。
@@ -2764,7 +2787,7 @@ var PageUseLauncherElement = class extends LitElement {
2764
2787
  onMove: (dx, dy) => this.onSheetDragMove(dx, dy),
2765
2788
  onEnd: ({ cancelled }) => this.onSheetDragEnd(cancelled),
2766
2789
  setPos: ({ x, y }) => {
2767
- if (this.isMobileLayout) return;
2790
+ if (this.isMobileLayout || this.isFlowPanelMaximized) return;
2768
2791
  const el = this.panelEl;
2769
2792
  if (!el) return;
2770
2793
  if (this.isFlowView) {
@@ -2797,6 +2820,7 @@ var PageUseLauncherElement = class extends LitElement {
2797
2820
  if (!flow) {
2798
2821
  if (this.isFlowView) this.view = "main";
2799
2822
  this.flowPanelVisited = false;
2823
+ this.flowPanelMaximized = false;
2800
2824
  }
2801
2825
  this.requestUpdate();
2802
2826
  }),
@@ -3016,6 +3040,12 @@ var PageUseLauncherElement = class extends LitElement {
3016
3040
  if (this.isMobileLayout) return "";
3017
3041
  const rect = this.fabRect(settings);
3018
3042
  const { width: vw, height: vh } = this.viewport;
3043
+ if (this.isFlowPanelMaximized) return toStyle({
3044
+ left: "0px",
3045
+ top: "0px",
3046
+ width: `${vw}px`,
3047
+ height: `${vh}px`
3048
+ });
3019
3049
  const { alignRight, alignBottom } = this.panelAnchor;
3020
3050
  const width = Math.min(this.isFlowView ? FLOW_PANEL_WIDTH : PANEL_WIDTH, Math.max(0, vw - 2 * 8));
3021
3051
  const maxOffsetX = Math.max(8, vw - width - 8);
@@ -3090,6 +3120,8 @@ var PageUseLauncherElement = class extends LitElement {
3090
3120
  stopPreview();
3091
3121
  this.open = false;
3092
3122
  this.view = "main";
3123
+ this.flowPanelMaximized = false;
3124
+ this.flowPanelPosition = void 0;
3093
3125
  this.presetDraft = null;
3094
3126
  hidePageUseLauncher();
3095
3127
  }
@@ -3100,23 +3132,16 @@ var PageUseLauncherElement = class extends LitElement {
3100
3132
  this.titleTaps.push(now);
3101
3133
  if (this.titleTaps.length < META_UNLOCK_CLICKS) return;
3102
3134
  this.titleTaps = [];
3103
- this.view = "meta";
3104
- this.requestUpdate();
3135
+ this.switchView("meta");
3105
3136
  }
3106
3137
  /** 切换面板视图:离开设置页时中止音色试听,离开快捷指令编辑时丢弃未保存的草稿 */
3107
3138
  switchView(next) {
3108
3139
  const nextIsFlow = next === "flows" || next === "manager";
3109
- if (this.open && !this.isMobileLayout && this.isFlowView !== nextIsFlow) {
3110
- const rect = this.panelEl?.getBoundingClientRect();
3111
- this.cancelPanelResize();
3112
- if (rect?.width && rect.height) this.panelResizeFrom = {
3113
- left: rect.left,
3114
- top: rect.top,
3115
- width: rect.width,
3116
- height: rect.height
3117
- };
3140
+ if (this.open && !this.isMobileLayout && this.isFlowView !== nextIsFlow) this.preparePanelResize();
3141
+ if (!nextIsFlow) {
3142
+ this.flowPanelMaximized = false;
3143
+ this.flowPanelPosition = void 0;
3118
3144
  }
3119
- if (this.isFlowView && next !== "flows" && next !== "manager") this.flowPanelPosition = void 0;
3120
3145
  if (this.view === "settings" && next !== "settings") stopPreview();
3121
3146
  if (this.view === "presets" && next !== "presets") this.presetDraft = null;
3122
3147
  if (next === "flows" || next === "manager") {
@@ -3127,6 +3152,22 @@ var PageUseLauncherElement = class extends LitElement {
3127
3152
  this.view = next;
3128
3153
  this.requestUpdate();
3129
3154
  }
3155
+ toggleFlowPanelMaximized() {
3156
+ if (this.isMobileLayout || !this.isFlowView) return;
3157
+ this.preparePanelResize();
3158
+ this.flowPanelMaximized = !this.flowPanelMaximized;
3159
+ this.requestUpdate();
3160
+ }
3161
+ preparePanelResize() {
3162
+ const rect = this.panelEl?.getBoundingClientRect();
3163
+ this.cancelPanelResize();
3164
+ if (rect?.width && rect.height) this.panelResizeFrom = {
3165
+ left: rect.left,
3166
+ top: rect.top,
3167
+ width: rect.width,
3168
+ height: rect.height
3169
+ };
3170
+ }
3130
3171
  cancelPanelResize() {
3131
3172
  this.panelResizeFrom = void 0;
3132
3173
  this.panelResizeAnimation?.cancel();
@@ -3158,6 +3199,7 @@ var PageUseLauncherElement = class extends LitElement {
3158
3199
  }
3159
3200
  onPanelPointerDown = (event) => {
3160
3201
  this.cancelPanelResize();
3202
+ if (this.isFlowPanelMaximized) return;
3161
3203
  this.panelDrag.onPointerDown(event);
3162
3204
  };
3163
3205
  /** 在面板内显示轻提示,TOAST_DURATION_MS 后自动消失;连续触发时以最后一次为准并重新计时 */
@@ -4028,7 +4070,7 @@ var PageUseLauncherElement = class extends LitElement {
4028
4070
  </button>
4029
4071
 
4030
4072
  <section
4031
- class="panel ${running ? "running" : ""} ${this.isMobileLayout ? "mobile" : ""}"
4073
+ class="panel ${running ? "running" : ""} ${this.isMobileLayout ? "mobile" : ""} ${this.isFlowPanelMaximized ? "maximized" : ""}"
4032
4074
  ?hidden=${!this.open}
4033
4075
  style=${this.open ? this.panelStyle(settings) : ""}
4034
4076
  >
@@ -4059,6 +4101,16 @@ var PageUseLauncherElement = class extends LitElement {
4059
4101
  <button type="button" class="icon-btn" title="收起" @click=${() => void this.collapse()}>
4060
4102
  ${collapseIcon}
4061
4103
  </button>
4104
+ ${!this.isMobileLayout && this.isFlowView ? html`
4105
+ <button
4106
+ type="button"
4107
+ class="icon-btn maximize-toggle"
4108
+ title=${this.isFlowPanelMaximized ? "还原" : "最大化"}
4109
+ aria-label=${this.isFlowPanelMaximized ? "还原" : "最大化"}
4110
+ @click=${() => this.toggleFlowPanelMaximized()}
4111
+ >
4112
+ ${this.isFlowPanelMaximized ? restoreIcon : maximizeIcon}
4113
+ </button>` : nothing}
4062
4114
  <button
4063
4115
  type="button"
4064
4116
  class="icon-btn close"
@@ -5875,6 +5875,21 @@ const managerStyles = css`
5875
5875
  .step-row .step-select[aria-current='step'] { border-color: var(--primary-solid); color: var(--primary-solid); background: #edf5ff; }
5876
5876
  .ordered-item { padding: 14px 0; border-bottom: 1px solid var(--border); }
5877
5877
  .ordered-item > * + * { margin-top: 10px; }
5878
+ /* 操作和段落共用边框与标题带,区分条目之间和内部字段的层级。 */
5879
+ .editor-item { padding: 16px; border: 1px solid var(--border); border-radius: 8px; background: #fff; scroll-margin-block: 16px; }
5880
+ .editor-item + .editor-item { margin-top: 20px; }
5881
+ .editor-item > * + * { margin-top: 14px; }
5882
+ .editor-item > .section-head:first-child { margin: -16px -16px 16px; padding: 10px 16px; border-bottom: 1px solid var(--border); border-radius: 7px 7px 0 0; background: var(--soft); }
5883
+ .editor-item-heading { margin: 0; color: var(--primary-solid); font-size: 15px; font-weight: 600; }
5884
+ .editor-item:focus-within { border-color: var(--primary-solid); }
5885
+ .collapsible-item .editor-item-heading { flex: 1; min-width: 0; }
5886
+ .editor-item-toggle { display: flex; align-items: center; justify-content: space-between; gap: 12px; width: 100%; padding: 0; border: 0; background: transparent; color: inherit; font: inherit; text-align: left; }
5887
+ .editor-item-toggle .step-toggle { color: var(--muted); font-weight: 400; }
5888
+ .editor-item > .editor-item-body { margin-top: 0; }
5889
+ .editor-item-body > * + * { margin-top: 14px; }
5890
+ /* 隐藏表单而不卸载输入控件,保留未保存内容及内部选项的展开状态。 */
5891
+ .editor-item-body[hidden] { display: none; }
5892
+ .editor-item.is-collapsed > .section-head:first-child { margin-bottom: -16px; border-bottom: 0; border-radius: 7px; }
5878
5893
  .parameter { display: grid; grid-template-columns: minmax(90px, 1fr) 145px minmax(120px, 2fr); gap: 8px; align-items: start; padding: 8px 0; }
5879
5894
  .parameter-label { padding-top: 7px; overflow-wrap: anywhere; }
5880
5895
  .parameter-value { display: flex; flex-direction: column; gap: 6px; }
@@ -5901,7 +5916,8 @@ const managerStyles = css`
5901
5916
  .module-alert-stack > .notice > p { flex: 1; min-width: 160px; }
5902
5917
  .module-alert-stack > .notice.success { border-bottom-color: #bad8c6; }
5903
5918
  .module-alert-stack .actions { margin-top: 0; }
5904
- .empty { padding: 40px 12px; max-width: 65ch; }
5919
+ /* 空状态使用所在区域的可用宽度,避免中文说明在宽屏下提前换行。 */
5920
+ .empty { padding: 40px 12px; }
5905
5921
  .empty > * + * { margin-top: 10px; }
5906
5922
  .skeleton { height: 48px; margin: 10px 0; border-radius: 5px; background: #eaf0f6; }
5907
5923
  /* 与列表条目的标题、终端和状态三行对齐,复用场景页的侧栏宽度。 */
@@ -5928,6 +5944,14 @@ const managerStyles = css`
5928
5944
  .speech { white-space: pre-wrap; max-width: 75ch; }
5929
5945
  .advanced textarea { font-family: ui-monospace, SFMono-Regular, monospace; font-size: 12px; }
5930
5946
  .advanced summary { cursor: pointer; color: var(--muted); }
5947
+ /* 只缩进展开内容,保留原生折叠箭头与标题的间距。 */
5948
+ .action-options { font-size: 13px; }
5949
+ .action-options-fields { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 24px; padding-top: 12px; padding-inline-start: 18px; }
5950
+ .action-options-fields > .field { flex-direction: row; align-items: center; gap: 8px; max-width: 100%; white-space: nowrap; }
5951
+ .action-options-fields > .field select { width: 160px; }
5952
+ .action-options-fields > .check { min-height: 36px; gap: 8px; line-height: 1.5; }
5953
+ .action-options-fields input[type='checkbox'] { flex: 0 0 16px; height: 16px; padding: 0; margin: 0; }
5954
+ .action-options > .notice { margin-top: 12px; margin-inline-start: 18px; }
5931
5955
  button.json-toggle { color: var(--text); font-weight: 600; }
5932
5956
  .json-toggle::before { content: '▸'; margin-right: 6px; }
5933
5957
  .json-toggle[aria-expanded='true']::before { content: '▾'; }
@@ -5945,6 +5969,7 @@ const managerStyles = css`
5945
5969
  :host([data-layout='mobile']) button, :host([data-layout='mobile']) input, :host([data-layout='mobile']) select { min-height: 44px; }
5946
5970
  :host([data-layout='mobile']) .exchange-skeleton .skeleton-control, :host([data-layout='mobile']) .exchange-skeleton .skeleton-button { height: 44px; }
5947
5971
  :host([data-layout='mobile']) input[type='checkbox'] { min-height: 16px; }
5972
+ :host([data-layout='mobile']) .action-options-fields > .check { min-height: 44px; }
5948
5973
  :host([data-layout='mobile']) .parameter { grid-template-columns: 1fr; gap: 5px; }
5949
5974
  :host([data-layout='mobile']) .parameter-label { padding: 0; }
5950
5975
  @media (max-width: 680px) {
@@ -6629,6 +6654,8 @@ var PageUseManagerElement = class extends LitElement {
6629
6654
  record;
6630
6655
  /** -1 表示所有步骤收起,展开状态不写入场景配置。 */
6631
6656
  selectedStep = 0;
6657
+ /** 折叠仅影响当前表单;按条目对象记录,重排后仍跟随原操作或段落。 */
6658
+ collapsedStepItems = /* @__PURE__ */ new WeakSet();
6632
6659
  knowledgeDraft;
6633
6660
  knowledgeRecord;
6634
6661
  dirty = false;
@@ -7585,11 +7612,7 @@ var PageUseManagerElement = class extends LitElement {
7585
7612
  ${step.actions.map((action, index) => this.renderAction(step, action, index))}
7586
7613
  </section>
7587
7614
  <section class="block"><div class="section-head"><h3>完成检查(可选)</h3><button ?disabled=${this.disabled} @click=${() => this.addCheck(step)}>添加检查</button></div><p class="hint">默认不配置,页面操作成功后开始讲解。需要额外核验时描述只读完成条件;检查不能执行页面操作,所有条件满足后才讲解。</p>${step.ready.map((check, index) => this.renderCheck(step, check, index))}</section>
7588
- <section class="block"><div class="section-head"><h3>讲解段落</h3><button ?disabled=${this.disabled} data-testid="add-segment" @click=${() => this.edit(() => step.segments.push({
7589
- id: id("segment"),
7590
- baseText: "",
7591
- allowPolish: true
7592
- }))}>添加段落</button></div>${step.segments.map((segment, index) => this.renderSegment(step, segment, index))}</section>` : scene.steps.length ? nothing : html`<div class="empty"><p>先添加第一个业务步骤。</p><p class="muted">每一步可以包含页面操作、就绪检查和多段讲解。</p></div>`}</div>`;
7615
+ <section class="block"><div class="section-head"><h3>讲解段落</h3><button ?disabled=${this.disabled} data-testid="add-segment" @click=${() => void this.addSegment(step)}>添加段落</button></div>${step.segments.map((segment, index) => this.renderSegment(step, segment, index))}</section>` : scene.steps.length ? nothing : html`<div class="empty"><p>先添加第一个业务步骤。</p><p class="muted">每一步可以包含页面操作、就绪检查和多段讲解。</p></div>`}</div>`;
7593
7616
  }
7594
7617
  addStep() {
7595
7618
  this.flushTextFields();
@@ -7617,11 +7640,14 @@ var PageUseManagerElement = class extends LitElement {
7617
7640
  });
7618
7641
  }
7619
7642
  addAction(step) {
7643
+ if (this.disabled) return;
7620
7644
  this.flushTextFields();
7621
- this.edit(() => step.actions.push({
7645
+ const action = {
7622
7646
  id: id("action"),
7623
7647
  task: ""
7624
- }));
7648
+ };
7649
+ this.edit(() => step.actions.push(action));
7650
+ this.revealAddedStepItem(step, action, "action");
7625
7651
  }
7626
7652
  addCheck(step) {
7627
7653
  this.flushTextFields();
@@ -7633,15 +7659,48 @@ var PageUseManagerElement = class extends LitElement {
7633
7659
  pollIntervalMs: 200
7634
7660
  }));
7635
7661
  }
7662
+ addSegment(step) {
7663
+ if (this.disabled) return;
7664
+ this.flushTextFields();
7665
+ const segment = {
7666
+ id: id("segment"),
7667
+ baseText: "",
7668
+ allowPolish: true
7669
+ };
7670
+ this.edit(() => step.segments.push(segment));
7671
+ this.revealAddedStepItem(step, segment, "segment");
7672
+ }
7673
+ async revealAddedStepItem(step, item, kind) {
7674
+ await this.updateComplete;
7675
+ const items = kind === "action" ? step.actions : step.segments;
7676
+ if (!this.isConnected || this.presentation !== "manager" || this.page !== "steps" || this.scene?.steps[this.selectedStep] !== step || items.at(-1) !== item) return;
7677
+ const attribute = `data-${kind}-id`;
7678
+ const target = [...this.shadowRoot.querySelectorAll(`[${attribute}]`)].find((element) => element.getAttribute(attribute) === item.id);
7679
+ target?.querySelector(`[data-testid="${kind === "action" ? "action-task" : "segment-text"}"]`)?.focus({ preventScroll: true });
7680
+ target?.scrollIntoView?.({
7681
+ block: "start",
7682
+ inline: "nearest",
7683
+ behavior: window.matchMedia?.("(prefers-reduced-motion: reduce)").matches ? "instant" : "smooth"
7684
+ });
7685
+ }
7686
+ toggleStepItem(item) {
7687
+ this.flushTextFields();
7688
+ if (this.collapsedStepItems.has(item)) this.collapsedStepItems.delete(item);
7689
+ else this.collapsedStepItems.add(item);
7690
+ this.requestUpdate();
7691
+ }
7636
7692
  renderAction(step, action, index) {
7637
7693
  const binding = action.ref ? this.editingBindings?.actions[action.ref] : void 0;
7638
7694
  const effect = action.effect || binding?.effect || "query";
7639
- return html`<div class="ordered-item"><div class="inline"><strong>操作 ${index + 1}</strong><button class="link" ?disabled=${this.disabled || index === 0} @click=${() => {
7695
+ const collapsed = this.collapsedStepItems.has(action);
7696
+ const writeWarning = effect === "write" ? html`<p class="notice warning">此操作会修改业务数据。试讲也会执行操作,运行时须取得宿主允许和使用者确认。</p>` : nothing;
7697
+ return html`<section class="ordered-item editor-item collapsible-item ${collapsed ? "is-collapsed" : ""}" data-action-id=${action.id} aria-label=${`页面操作 ${index + 1}`}><div class="section-head"><h4 class="editor-item-heading"><button type="button" class="editor-item-toggle" aria-expanded=${!collapsed} aria-controls=${`action-body-${action.id}`} @click=${() => this.toggleStepItem(action)}><span>操作 ${index + 1}</span><span class="step-toggle" aria-hidden="true">${collapsed ? "展开" : "收起"}</span></button></h4><div class="actions"><button class="link" ?disabled=${this.disabled || index === 0} @click=${() => {
7640
7698
  this.flushTextFields();
7641
7699
  this.edit(() => {
7642
7700
  step.actions.splice(index - 1, 0, step.actions.splice(index, 1)[0]);
7643
7701
  });
7644
- }}>上移</button><button class="danger link" ?disabled=${this.disabled} @click=${() => this.edit(() => step.actions.splice(index, 1))}>删除</button></div>
7702
+ }}>上移</button><button class="danger link" ?disabled=${this.disabled} @click=${() => this.edit(() => step.actions.splice(index, 1))}>删除</button></div></div>
7703
+ <div class="editor-item-body" id=${`action-body-${action.id}`} ?hidden=${collapsed}>
7645
7704
  ${action.task !== void 0 ? html`
7646
7705
  ${this.field("操作指令", action.task, (value) => action.task = value, {
7647
7706
  multiline: true,
@@ -7650,16 +7709,23 @@ var PageUseManagerElement = class extends LitElement {
7650
7709
  hint: "例如:打开监测事件列表,搜索 {{recordId}},进入对应事件的详情页。"
7651
7710
  })}
7652
7711
  ${Object.keys(this.scene.inputs || {}).length ? html`<p class="hint">可引用参数:${Object.entries(this.scene.inputs || {}).map(([key, input]) => html`<span>${input.label || key} <code>${`{{${key}}}`}</code> </span>`)}</p>` : nothing}
7653
- <details class="advanced"><summary>操作选项</summary><label class="field">操作影响<select .value=${effect} ?disabled=${this.disabled} @change=${(event) => this.edit(() => action.effect = inputValue(event))}>${Object.entries(EFFECT_LABEL).map(([value, label]) => html`<option value=${value}>${label}</option>`)}</select></label><label class="check"><input type="checkbox" .checked=${!!action.repeatable} ?disabled=${this.disabled} @change=${(event) => this.edit(() => action.repeatable = checked(event))}>失败后允许重试此操作</label></details>
7712
+ <details class="advanced action-options"><summary>操作选项</summary>
7713
+ <div class="action-options-fields">
7714
+ <label class="field">操作影响<select .value=${effect} ?disabled=${this.disabled} @change=${(event) => this.edit(() => action.effect = inputValue(event))}>${Object.entries(EFFECT_LABEL).map(([value, label]) => html`<option value=${value}>${label}</option>`)}</select></label>
7715
+ <label class="check"><input type="checkbox" .checked=${!!action.repeatable} ?disabled=${this.disabled} @change=${(event) => this.edit(() => action.repeatable = checked(event))}><span>失败后允许重试此操作</span></label>
7716
+ </div>
7717
+ ${writeWarning}
7718
+ </details>
7654
7719
  ` : html`<p>${binding?.label || action.ref}</p><p class="hint">此操作来自已有场景,可继续使用,或重新填写操作指令。</p><button ?disabled=${this.disabled} @click=${() => this.edit(() => {
7655
7720
  action.task = "";
7656
7721
  action.effect = effect;
7657
7722
  action.repeatable = binding?.repeatable;
7658
7723
  delete action.ref;
7659
7724
  })}>重写操作指令</button>`}
7660
- ${effect === "write" ? html`<p class="notice warning">此操作会修改业务数据。试讲也会执行操作,运行时须取得宿主允许和使用者确认。</p>` : nothing}
7725
+ ${action.task === void 0 ? writeWarning : nothing}
7661
7726
  ${action.params || binding?.params ? this.renderParameters(step, action, binding?.params || {}) : nothing}
7662
- </div>`;
7727
+ </div>
7728
+ </section>`;
7663
7729
  }
7664
7730
  renderCheck(step, check, index) {
7665
7731
  return html`<div class="ordered-item"><div class="section-head"><strong>检查 ${index + 1}</strong><button class="danger link" ?disabled=${this.disabled} @click=${() => this.edit(() => step.ready.splice(index, 1))}>删除</button></div>
@@ -7768,7 +7834,9 @@ var PageUseManagerElement = class extends LitElement {
7768
7834
  }
7769
7835
  renderSegment(step, segment, index) {
7770
7836
  const pickDisabledReason = this.regionPickDisabledReason;
7771
- return html`<div class="ordered-item"><div class="section-head"><strong>讲解 ${index + 1}</strong><div class="actions"><button class="link" ?disabled=${this.disabled || index === 0} @click=${() => this.edit(() => step.segments.splice(index - 1, 0, step.segments.splice(index, 1)[0]))}>上移</button><button class="danger link" ?disabled=${this.disabled} @click=${() => this.edit(() => step.segments.splice(index, 1))}>删除</button></div></div>
7837
+ const collapsed = this.collapsedStepItems.has(segment);
7838
+ return html`<section class="ordered-item editor-item collapsible-item ${collapsed ? "is-collapsed" : ""}" data-segment-id=${segment.id} aria-label=${`讲解段落 ${index + 1}`}><div class="section-head"><h4 class="editor-item-heading"><button type="button" class="editor-item-toggle" aria-expanded=${!collapsed} aria-controls=${`segment-body-${segment.id}`} @click=${() => this.toggleStepItem(segment)}><span>讲解 ${index + 1}</span><span class="step-toggle" aria-hidden="true">${collapsed ? "展开" : "收起"}</span></button></h4><div class="actions"><button class="link" ?disabled=${this.disabled || index === 0} @click=${() => this.edit(() => step.segments.splice(index - 1, 0, step.segments.splice(index, 1)[0]))}>上移</button><button class="danger link" ?disabled=${this.disabled} @click=${() => this.edit(() => step.segments.splice(index, 1))}>删除</button></div></div>
7839
+ <div class="editor-item-body" id=${`segment-body-${segment.id}`} ?hidden=${collapsed}>
7772
7840
  ${this.flow?.client === "desktop" && this.scene?.client === "desktop" ? html`
7773
7841
  <div class="section-head"><strong>展示区域(可选)</strong></div>
7774
7842
  <div class="actions"><button title=${pickDisabledReason || "点击当前页面元素即可选定"} ?disabled=${!!pickDisabledReason} @click=${() => this.pickRegion(segment)}>${segment.region ? "重新点选" : "点选区域"}</button>
@@ -7795,7 +7863,8 @@ var PageUseManagerElement = class extends LitElement {
7795
7863
  segment.knowledgeRefs = [...refs];
7796
7864
  })}>${record.draft.name}<span class="muted">${record.publishedRevision ? "已发布" : "未发布"}</span></label>`) : html`<p class="hint">可在「知识」中维护资料,再关联到当前段。</p>`}
7797
7865
  </div>
7798
- </div>`;
7866
+ </div>
7867
+ </section>`;
7799
7868
  }
7800
7869
  pickRegion(segment) {
7801
7870
  const flow = this.flow;
package/dist/vue.d.mts CHANGED
@@ -1,5 +1,5 @@
1
- import { $ as FlowClient, $t as FlowStep, At as FlowPresenter, Bt as FlowRepositorySnapshot, C as runPageUseFlowTool, Ct as FlowManager, Dt as FlowParameter, E as mountPageUseManager, Et as FlowOutputReference, F as parseFlowScene, Ft as FlowRegionFailure, G as FlowApiRequest, Gt as FlowScene, H as FLOW_SCHEMA_VERSION, Ht as FlowRunOptions, I as parseFlowSceneDraft, It as FlowRegionHost, J as FlowBindings, Jt as FlowSegment, K as FlowApiResponse, Kt as FlowSceneRecord, L as sceneKey, Lt as FlowRegionPage, Mt as FlowRegionAnchor, N as parseFlowKnowledge, Nt as FlowRegionCandidate, Ot as FlowParameterDefinition, Pt as FlowRegionContext, Q as FlowCheckBinding, Qt as FlowStatus, Rt as FlowRegionSelector, S as getPageUseFlowCatalog, St as FlowKnowledgeRecord, T as definePageUseManagerElement, Tt as FlowMode, U as FlowAction, Ut as FlowRunResult, V as FLOW_BUNDLE_VERSION, Vt as FlowResolvedTarget, W as FlowActionBinding, Wt as FlowRunner, X as FlowBundle, Xt as FlowSessionContext, Y as FlowBoundCheck, Yt as FlowSegmentLog, Z as FlowCheck, Zt as FlowSnapshot, _ as DEFAULT_TOUR_STYLES, _t as FlowIdentity, a as DEFAULT_TOUR_MAX_TAB_SWITCHES, an as PageUseErrorCode, at as FlowCompletionDecision, b as TOUR_STYLE_USER, bt as FlowInputDefinition, c as PageUseLLMOptions, cn as PageUseProgressEvent, ct as FlowContext, d as PageUseTourOptions, dn as PageUseStepLog, dt as FlowError, en as FlowTombstone, et as FlowCloudAdapter, f as normalizeOptions, fn as PageUseTaskResult, ft as FlowErrorCode, g as PageUseTtsVoice, gt as FlowGenerator, h as PageUseTtsSpeakOptions, ht as FlowExportOptions, i as DEFAULT_STORAGE_KEY_PREFIX, in as PageUseFlowOptions, it as FlowCloudState, j as newRevision, jt as FlowRegion, kt as FlowPermissions, l as PageUseOptions, ln as PageUseRunOptions, lt as FlowContextBinding, m as PageUseTtsEngine, mn as PageUseTaskStatus, mt as FlowExecutionPorts, n as DEFAULT_MODEL, nn as JsonValue, nt as FlowCloudController, on as PageUseMenuNode, ot as FlowCompletionEvaluator, p as readLauncherSwitch, pn as PageUseTaskSource, pt as FlowEvent, q as FlowApiSyncOptions, qt as FlowScope, r as DEFAULT_SESSION_HEADER, rn as PageUseFlowHandle, rt as FlowCloudRelease, s as NormalizedPageUseOptions, sn as PageUsePreset, st as FlowConfigResponse, t as DEFAULT_MAX_STEPS, tn as JsonObject, tt as FlowCloudCache, u as PageUseRouterMode, un as PageUseSnapshot, ut as FlowDescriptionCheck, v as PageUseTourStyle, vt as FlowImportPreview, w as MountPageUseManagerOptions, wt as FlowManagerState, x as PAGE_USE_FLOW_TOOL, xt as FlowKnowledge, y as TOUR_STYLE_TRAINER, yt as FlowImportStrategy, zt as FlowRepository } from "./options-BdQiIL9a.mjs";
2
- import { 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 createPageUse, K as PageUseLauncherLayout, L as formatPageUseResultForModel, M as showPageUseLauncher, N as PAGE_USE_COMMAND_TYPE, O as ReadonlyStore, P as PAGE_USE_TOOL, R as isPageUseCommand, S as clearPageUseLog, T as isPageUseConfigured, U as PAGE_USE_LAUNCHER_TAG, V as definePageUseElements, W as PageUseLauncherConfig, X as PageUseCapability, Y as getPageUseFlow, Z as pageUseCapability, _ as pageUseSettings, a as PAGE_USE_ROBOT_ICON_SVG, b as PageUseQuestion, c as PageUseCustomPreset, d as pageUsePresets, f as PageUseHistoryEntry, g as PageUseSettings, h as PageUsePoint, i as PageUseGlowElement, j as hidePageUseLauncher, k as PAGE_USE_GLOBAL_KEY, l as PageUsePresetSaveResult, m as DEFAULT_PAGE_USE_SETTINGS, n as SIMULATOR_MASK_ID, o as PAGE_USE_STATIC_PRESETS, p as pageUseHistory, q as PageUseHandle, r as PAGE_USE_GLOW_TAG, s as buildMenuPresets, t as PAGE_USE_MASK_COLORS, u as PageUsePresetState, v as BROWSER_ENGINE_ID, w as getPageUseConfig, x as PageUseState, y as browserTtsEngine, z as runPageUseTool } from "./index-CbMIEplo.mjs";
1
+ import { $ as FlowClient, $t as FlowStep, At as FlowPresenter, Bt as FlowRepositorySnapshot, C as runPageUseFlowTool, Ct as FlowManager, Dt as FlowParameter, E as mountPageUseManager, Et as FlowOutputReference, F as parseFlowScene, Ft as FlowRegionFailure, G as FlowApiRequest, Gt as FlowScene, H as FLOW_SCHEMA_VERSION, Ht as FlowRunOptions, I as parseFlowSceneDraft, It as FlowRegionHost, J as FlowBindings, Jt as FlowSegment, K as FlowApiResponse, Kt as FlowSceneRecord, L as sceneKey, Lt as FlowRegionPage, Mt as FlowRegionAnchor, N as parseFlowKnowledge, Nt as FlowRegionCandidate, Ot as FlowParameterDefinition, Pt as FlowRegionContext, Q as FlowCheckBinding, Qt as FlowStatus, Rt as FlowRegionSelector, S as getPageUseFlowCatalog, St as FlowKnowledgeRecord, T as definePageUseManagerElement, Tt as FlowMode, U as FlowAction, Ut as FlowRunResult, V as FLOW_BUNDLE_VERSION, Vt as FlowResolvedTarget, W as FlowActionBinding, Wt as FlowRunner, X as FlowBundle, Xt as FlowSessionContext, Y as FlowBoundCheck, Yt as FlowSegmentLog, Z as FlowCheck, Zt as FlowSnapshot, _ as DEFAULT_TOUR_STYLES, _t as FlowIdentity, a as DEFAULT_TOUR_MAX_TAB_SWITCHES, an as PageUseErrorCode, at as FlowCompletionDecision, b as TOUR_STYLE_USER, bt as FlowInputDefinition, c as PageUseLLMOptions, cn as PageUseProgressEvent, ct as FlowContext, d as PageUseTourOptions, dn as PageUseStepLog, dt as FlowError, en as FlowTombstone, et as FlowCloudAdapter, f as normalizeOptions, fn as PageUseTaskResult, ft as FlowErrorCode, g as PageUseTtsVoice, gt as FlowGenerator, h as PageUseTtsSpeakOptions, ht as FlowExportOptions, i as DEFAULT_STORAGE_KEY_PREFIX, in as PageUseFlowOptions, it as FlowCloudState, j as newRevision, jt as FlowRegion, kt as FlowPermissions, l as PageUseOptions, ln as PageUseRunOptions, lt as FlowContextBinding, m as PageUseTtsEngine, mn as PageUseTaskStatus, mt as FlowExecutionPorts, n as DEFAULT_MODEL, nn as JsonValue, nt as FlowCloudController, on as PageUseMenuNode, ot as FlowCompletionEvaluator, p as readLauncherSwitch, pn as PageUseTaskSource, pt as FlowEvent, q as FlowApiSyncOptions, qt as FlowScope, r as DEFAULT_SESSION_HEADER, rn as PageUseFlowHandle, rt as FlowCloudRelease, s as NormalizedPageUseOptions, sn as PageUsePreset, st as FlowConfigResponse, t as DEFAULT_MAX_STEPS, tn as JsonObject, tt as FlowCloudCache, u as PageUseRouterMode, un as PageUseSnapshot, ut as FlowDescriptionCheck, v as PageUseTourStyle, vt as FlowImportPreview, w as MountPageUseManagerOptions, wt as FlowManagerState, x as PAGE_USE_FLOW_TOOL, xt as FlowKnowledge, y as TOUR_STYLE_TRAINER, yt as FlowImportStrategy, zt as FlowRepository } from "./options-BhKU0oJ5.mjs";
2
+ import { 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 createPageUse, K as PageUseLauncherLayout, L as formatPageUseResultForModel, M as showPageUseLauncher, N as PAGE_USE_COMMAND_TYPE, O as ReadonlyStore, P as PAGE_USE_TOOL, R as isPageUseCommand, S as clearPageUseLog, T as isPageUseConfigured, U as PAGE_USE_LAUNCHER_TAG, V as definePageUseElements, W as PageUseLauncherConfig, X as PageUseCapability, Y as getPageUseFlow, Z as pageUseCapability, _ as pageUseSettings, a as PAGE_USE_ROBOT_ICON_SVG, b as PageUseQuestion, c as PageUseCustomPreset, d as pageUsePresets, f as PageUseHistoryEntry, g as PageUseSettings, h as PageUsePoint, i as PageUseGlowElement, j as hidePageUseLauncher, k as PAGE_USE_GLOBAL_KEY, l as PageUsePresetSaveResult, m as DEFAULT_PAGE_USE_SETTINGS, n as SIMULATOR_MASK_ID, o as PAGE_USE_STATIC_PRESETS, p as pageUseHistory, q as PageUseHandle, r as PAGE_USE_GLOW_TAG, s as buildMenuPresets, t as PAGE_USE_MASK_COLORS, u as PageUsePresetState, v as BROWSER_ENGINE_ID, w as getPageUseConfig, x as PageUseState, y as browserTtsEngine, z as runPageUseTool } from "./index-zDjmWzFh.mjs";
3
3
  import { PropType, ShallowRef } from "vue";
4
4
  import { Router } from "vue-router";
5
5
  //#region src/vue.d.ts
package/dist/vue.mjs CHANGED
@@ -1,5 +1,5 @@
1
- import { At as browserTtsEngine, Dt as PAGE_USE_MASK_COLORS, F as sceneKey, J as isRunning, Lt as FLOW_BUNDLE_VERSION, Mt as DEFAULT_TOUR_STYLES, N as parseFlowScene, Nt as TOUR_STYLE_TRAINER, Ot as SIMULATOR_MASK_ID, P as parseFlowSceneDraft, Pt as TOUR_STYLE_USER, Rt as FLOW_SCHEMA_VERSION, St as normalizeOptions, U as getElapsedSeconds, V as clearPageUseLog, W as getPageUseConfig, Y as pageUseStore, _t as DEFAULT_MAX_STEPS, a as mountPageUseManager, at as pageUseHistory, bt as DEFAULT_STORAGE_KEY_PREFIX, ht as pageUseSettings, i as definePageUseManagerElement, it as pageUsePresets, j as parseFlowKnowledge, k as newRevision, kt as BROWSER_ENGINE_ID, mt as DEFAULT_PAGE_USE_SETTINGS, n as getPageUseFlowCatalog, q as isPageUseConfigured, r as runPageUseFlowTool, t as PAGE_USE_FLOW_TOOL, vt as DEFAULT_MODEL, wt as readLauncherSwitch, xt as DEFAULT_TOUR_MAX_TAB_SWITCHES, yt as DEFAULT_SESSION_HEADER, zt as FlowError } from "./tool-CcgpA1W5.mjs";
2
- import { _ as isPageUseCommand, a as PAGE_USE_STATIC_PRESETS, b as showPageUseLauncher, c as PAGE_USE_GLOW_TAG, d as getPageUseFlow, f as PAGE_USE_GLOBAL_KEY, g as formatPageUseResultForModel, h as PAGE_USE_TOOL_NAME, i as PageUseLauncherElement, l as PageUseGlowElement, m as PAGE_USE_TOOL, n as mountPageUseUI, o as buildMenuPresets, p as PAGE_USE_COMMAND_TYPE, r as PAGE_USE_LAUNCHER_TAG, s as PAGE_USE_ROBOT_ICON_SVG, t as definePageUseElements, u as createPageUse, v as runPageUseTool, x as pageUseCapability, y as hidePageUseLauncher } from "./src-DWoN4zgw.mjs";
1
+ import { At as browserTtsEngine, Dt as PAGE_USE_MASK_COLORS, F as sceneKey, J as isRunning, Lt as FLOW_BUNDLE_VERSION, Mt as DEFAULT_TOUR_STYLES, N as parseFlowScene, Nt as TOUR_STYLE_TRAINER, Ot as SIMULATOR_MASK_ID, P as parseFlowSceneDraft, Pt as TOUR_STYLE_USER, Rt as FLOW_SCHEMA_VERSION, St as normalizeOptions, U as getElapsedSeconds, V as clearPageUseLog, W as getPageUseConfig, Y as pageUseStore, _t as DEFAULT_MAX_STEPS, a as mountPageUseManager, at as pageUseHistory, bt as DEFAULT_STORAGE_KEY_PREFIX, ht as pageUseSettings, i as definePageUseManagerElement, it as pageUsePresets, j as parseFlowKnowledge, k as newRevision, kt as BROWSER_ENGINE_ID, mt as DEFAULT_PAGE_USE_SETTINGS, n as getPageUseFlowCatalog, q as isPageUseConfigured, r as runPageUseFlowTool, t as PAGE_USE_FLOW_TOOL, vt as DEFAULT_MODEL, wt as readLauncherSwitch, xt as DEFAULT_TOUR_MAX_TAB_SWITCHES, yt as DEFAULT_SESSION_HEADER, zt as FlowError } from "./tool-CvEvIsN9.mjs";
2
+ import { _ as isPageUseCommand, a as PAGE_USE_STATIC_PRESETS, b as showPageUseLauncher, c as PAGE_USE_GLOW_TAG, d as getPageUseFlow, f as PAGE_USE_GLOBAL_KEY, g as formatPageUseResultForModel, h as PAGE_USE_TOOL_NAME, i as PageUseLauncherElement, l as PageUseGlowElement, m as PAGE_USE_TOOL, n as mountPageUseUI, o as buildMenuPresets, p as PAGE_USE_COMMAND_TYPE, r as PAGE_USE_LAUNCHER_TAG, s as PAGE_USE_ROBOT_ICON_SVG, t as definePageUseElements, u as createPageUse, v as runPageUseTool, x as pageUseCapability, y as hidePageUseLauncher } from "./src-DAbH8ij6.mjs";
3
3
  import { defineComponent, inject, onBeforeUnmount, onScopeDispose, shallowRef } from "vue";
4
4
  import { routerKey } from "vue-router";
5
5
 
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@tanzerfe/page-use",
3
3
  "private": false,
4
- "version": "0.0.11",
4
+ "version": "0.0.12",
5
5
  "description": "基于 page-agent 的页面操作智能体:自然语言指令驱动页面点击与输入,框架无关,附 Web Component 调试面板与 Vue 适配层",
6
6
  "type": "module",
7
7
  "main": "./dist/index.mjs",